History log of /src/sys/arch/amiga/include/vmparam.h |
Revision | | Date | Author | Comments |
1.48 |
| 01-Feb-2020 |
tsutsui | Add MAX/MIN PAGE_SIZE and PAGE_SHIFT definitions of m68k for jemalloc(3).
Background: - All m68k ports have fixed PAGE_SIZE value in their kernels, but each port uses different PAGE_SIZE value (4096 or 8192) due to historical reasons. - Currently module(7) binaries are built per each port so all m68k kernel sources don't support run-time variable PAGE_SIZE. - MI <uvm/uvm_param.h> assumes that the port supports a variable PAGE_SIZE on module(7) builds if both MAX_PAGE_SIZE and MIN_PAGE_SIZE are defined and they have different values. - On the other hand, jemalloc(3) checks MAX_PAGE_SHIFT in src/external/bsd/jemalloc/include/jemalloc/internal/jemalloc_internal_defs.h for internal optimization. - m68k ports share userland binaries (especially pkgsrc binaries) among all ports, so we need to define MAX_PAGE_SHIFT as 13 to support m68k ports where PAGE_SIZE==8192. (though this would affect only if static binaries built on 4k page hosts are executed on 8k page hosts)
To solve these inconsistency on PAGE_SIZE definitions, we should have an independent PAGE_SIZE related definitions for userland, but it requires major reorganization. For now (especially for netbsd-9) we define MAX/MIN PAGE_SIZE and PAGE_SHIFT values in <m68k/vmparam.h> only in !defined(_KERNEL) case.
Discussed on source-changes-d@ and tech-kern@ with christos@ and thorpej@: https://mail-index.netbsd.org/source-changes-d/2020/01/thread1.html#012035 https://mail-index.netbsd.org/tech-kern/2020/01/thread1.html#025954
Should be pulled up to netbsd-9.
|
1.47 |
| 27-Mar-2019 |
christos | branches: 1.47.4; 1.47.6; - expose vmparams to userland on arm, like other archs do. - remove unneeded includes
|
1.46 |
| 30-Sep-2015 |
phx | branches: 1.46.18; Reduce MAXDSIZ from 416MB back to 224MB. Due to limitations by the current pmap implementation our virtual address space is limited to 512MB. A MAXDSIZ of 416MB would leave only a little bit more than 30MB for shared objects and heap allocations, so 224MB seems like a good compromise.
|
1.45 |
| 19-Jun-2015 |
mlelstv | remove obsolete comments
|
1.44 |
| 13-Jun-2015 |
phx | Use all the changes from http://ftp.netbsd.org/pub/NetBSD/misc/mlelstv/vmparam.diff after a discussion on port-m68k. I tested them on several Amiga models and they seem to work fine. This gives us the maximum virtual memory space for a process under the current 512MB pmap limitation. Also bump VM_KERNEL_PT_PAGES to allow up to 2 GB RAM.
|
1.43 |
| 01-Jun-2015 |
phx | Remove unused KUSER_AREA, SYSPTSIZE, USRPTSIZE. Bump MAXTSIZ and MAXDSIZ to the same values atari is using. This makes gcc 4.8 (/usr/libexec/cc1) load and execute.
|
1.42 |
| 08-Feb-2011 |
rmind | branches: 1.42.14; 1.42.30; 1.42.32; Remove clause 3 (UCB advertising clause) from the University of Utah copyright. Confirmed by Mike Hibler, mike at cs.utah.edu - thanks! Also, merge UCB and Utah copyright texts back into one, as they originally were.
Extra verification by snj@.
|
1.41 |
| 28-Dec-2010 |
mhitch | branches: 1.41.2; 1.41.4; Raise address of user stack to the highest safe (for 68040 mmu) address, which increases available user address space by 256MB. One file in pkgsrc/lang/php53 was too large for the amiga. Also remove an old presumably outdated comment.
|
1.40 |
| 06-Nov-2010 |
uebayasi | Remove incomplete, never worked dynamic run-time memory registration (uvm_page_physload(9)). This functionality will be re-added later.
|
1.39 |
| 08-Dec-2009 |
tsutsui | branches: 1.39.2; 1.39.4; Use PGSHIFT from <machine/param.h> for PAGE_SHIFT. We can assume PGSHIFT is always constant on current m68k pmap_motorola implementation. Also fix some leftover HP300 comments on some ports.
|
1.38 |
| 26-Aug-2009 |
thorpej | Minor tweak to the pv_table management in the Hibler-derived m68k pmaps: The head of the list is now a pv_header, which contains the first pv_entry as well as a 16-bit attributes field (replaces the pmap_attributes array plus the pv_entry::pv_flags field) as a 16-bit count of caller-specified cache-inhibited mappings.
Tested on hp300 (shared pmap_motorola.c), changes to atari and amiga copies are purely mechanical.
|
1.37 |
| 06-Mar-2009 |
joerg | Remove SHMMAXPGS from all kernel configs. Dynamically compute the initial limit as 1/4 of the physical memory. Ensure the limit is at least 1024 pages, the old default on most platforms.
|
1.36 |
| 17-Oct-2007 |
garbled | branches: 1.36.20; 1.36.28; 1.36.30; 1.36.34; Merge the ppcoea-renovation branch to HEAD.
This branch was a major cleanup and rototill of many of the various OEA cpu based PPC ports that focused on sharing as much code as possible between the various ports to eliminate near-identical copies of files in every tree. Additionally there is a new PIC system that unifies the interface to interrupt code for all different OEA ppc arches. The work for this branch was done by a variety of people, too long to list here.
TODO: bebox still needs work to complete the transition to -renovation. ofppc still needs a bunch of work, which I will be looking at. ev64260 still needs to be renovated amigappc was not attempted.
NOTES: pmppc was removed as an arch, and moved to a evbppc target.
|
1.35 |
| 12-May-2007 |
mhitch | branches: 1.35.10; Final changes to amiga kernel address space layout to match almost all the other m68k ports (initially from the yamt-km branch a long time ago).
- move Sysmap to the end of address space. - move Amiga hardware mapping to immediately after Sysptmap. - tweak virtual_avail/end accordingly.
A DEBUG kernel should now boot without panicing. Also, kernel address space layout is now compatible with m68k/m68k/pmap_motorola.c.
|
1.34 |
| 11-Dec-2005 |
christos | branches: 1.34.24; 1.34.26; 1.34.30; 1.34.32; 1.34.38; 1.34.40; merge ktrace-lwp.
|
1.33 |
| 07-Aug-2003 |
agc | branches: 1.33.16; Move UCB-licensed code from 4-clause to 3-clause licence.
Patches provided by Joel Baker in PR 22364, verified by myself.
|
1.32 |
| 02-Apr-2003 |
thorpej | branches: 1.32.2; Use PAGE_SIZE rather than NBPG.
|
1.31 |
| 10-Dec-2002 |
thorpej | Use __LDPGSZ (which must be == USRTEXT) as the text address for a.out executables, and eliminate the USRTEXT constant, which was only used by the a.out exec code.
|
1.30 |
| 15-Nov-2001 |
soren | MAXSLP is defined to be a machine-independent scheduling parameter, so move it into sys/param.h.
|
1.29 |
| 01-May-2001 |
thorpej | branches: 1.29.2; 1.29.8; Per discussion w/ chuck and chuck, restructure the md page stuff to use a structure called "vm_page_md", and use __HAVE_VM_PAGE_MD and __HAVE_PMAP_PHYSSEG.
|
1.28 |
| 29-Apr-2001 |
thorpej | Add a VM_MDPAGE_MEMBERS macro that defines pmap-specific data for each vm_page structure. Add a VM_MDPAGE_INIT() macro to init this data when pages are initialized by UVM. These macros are mandatory, but ports may #define them to nothing if they are not needed/used.
This deprecates struct pmap_physseg. As a transitional measure, allow a port to #define PMAP_PHYSSEG so that it can continue to use it until its pmap is converted to use VM_MDPAGE_MEMBERS.
Use all this stuff to eliminate a lot of extra work in the Alpha pmap module (it's smaller and faster now). Changes to other pmap modules will follow.
|
1.27 |
| 14-Nov-2000 |
thorpej | branches: 1.27.2; We use 8K pages on the Amiga. Make PAGE_SIZE and friends into compile-time constants.
|
1.26 |
| 14-Feb-2000 |
is | enlarge the initial kernel page table - needed for some 128 MB machine
|
1.25 |
| 11-Feb-2000 |
thorpej | Update for the NKMEMPAGES changes.
|
1.24 |
| 26-Jan-2000 |
tsutsui | Remove obsoleted macros.
|
1.23 |
| 04-Dec-1999 |
ragge | CL* discarding.
|
1.22 |
| 25-Sep-1999 |
is | branches: 1.22.2; 1.22.8; vm_offset_t -> vaddr_t/paddr_t
|
1.21 |
| 26-Apr-1999 |
thorpej | Garbage-collect the VM_MBUF_SIZE constant. Instead, use the size (nmbclusters * mclbytes), so that the right amount of KVA space is allocated if those variables are patched.
|
1.20 |
| 02-Oct-1998 |
is | branches: 1.20.6; 1.20.8; Yet another workaround for pmap bugs. Several reports on the port-amiga list claim this helps with some big-machine situations.
|
1.19 |
| 10-Jul-1998 |
mhitch | Support two free memory lists; second list will be 16-bit Zorro II memory.
|
1.18 |
| 22-Mar-1998 |
is | MACHINE_NEW_NONCONTIG for NetBSD/Amiga. The older contiguous and MACHINE_NONCONTIG stuff isn't supported anymore.
|
1.17 |
| 11-Sep-1997 |
chopps | branches: 1.17.2; VM_MAX_ADDRESS is the user max address -- adjust
|
1.16 |
| 12-Jul-1997 |
perry | branches: 1.16.2; update comment from 1981 on memory and disk prices -- pr-2754 from Curt Sampson
|
1.15 |
| 12-Jun-1997 |
mrg | bring mrg-vm-swap2 onto mainilne.
|
1.14 |
| 21-Apr-1996 |
veego | branches: 1.14.6; 1.14.10; - Cleanup for -Wall and -Wstrict-prototypes
|
1.13 |
| 26-Oct-1994 |
cgd | new RCS ID format.
|
1.12 |
| 02-Jul-1994 |
chopps | increase SYSPTSIZE to 2 to accommodate zthreebus devices.
|
1.11 |
| 13-Jun-1994 |
chopps | some cleanup and various fixes for new fs code. plus some general fixes from from osymh@gemini.oscs.montana.edu (Michael L. Hitch)
|
1.10 |
| 04-Jun-1994 |
chopps | fix long standing "bug" with pmap. Basically logic/misunderstanding error commited when it was ported from hp300 (mach?). All 8M + amigas now gain ~1M of physical ram (4M hack removed). Some minor cleanup. HAVEVAC code removed as it is for the hp300.
|
1.9 |
| 10-Apr-1994 |
chopps | also conform to standard style
|
1.8 |
| 10-Apr-1994 |
chopps | protect against multiple inclusion (and be consitent)
|
1.7 |
| 23-Feb-1994 |
chopps | added KUSER_AREA for gdb like things. removed HIGHPAGES
|
1.6 |
| 17-Feb-1994 |
chopps | amiga now has USRSTACK at 0x0e000000 for further sun compat.
|
1.5 |
| 11-Feb-1994 |
chopps | Add missing Id's
|
1.4 |
| 26-Jan-1994 |
mw | Updated headers from current amiga branch.
|
1.3 |
| 30-Oct-1993 |
mw | new tree for amiga, replacing the bogous previous one. SunOS support works for a lot of executables now (static and dynamic).
|
1.2 |
| 01-Aug-1993 |
mycroft | Add RCS identifiers (this time on the correct side of the branch), and incorporate recent changes in netbsd-0-9 branch.
|
1.1 |
| 05-Jul-1993 |
mw | branches: 1.1.1; Initial revision
|
1.1.1.1 |
| 05-Jul-1993 |
mw | sys/arch/amiga tree. This is the machdep part required to get the kernel up on an A3000. There are still (very) few changes required outside the arch/amiga tree, so you can't recompile the kernel yet. Support for third party SCSI controllers for the A2000 is on its way. The kernel is fully functional (except for a missing ethernet-driver ...). This tree is based on my version #390.
|
1.14.10.1 |
| 04-May-1997 |
mrg | re-merge mrg-vm-swap into -current, and call it mrg-vm-swap2.
|
1.14.6.1 |
| 12-Feb-1997 |
mrg | initial work for dynamic swap additions.
|
1.16.2.1 |
| 16-Sep-1997 |
thorpej | Update marc-pcmcia branch from trunk.
|
1.17.2.1 |
| 03-Oct-1998 |
cgd | pull up rev 1.20 from trunk (is)
|
1.20.8.2 |
| 06-Aug-1999 |
chs | take an initial guess at UBC parameters.
|
1.20.8.1 |
| 21-Jun-1999 |
thorpej | Sync w/ -current.
|
1.20.6.1 |
| 15-Feb-2000 |
he | Pull up revision 1.26 (requested by is): Enlarge initial kernel page table. needed to boot some 128 MB machines.
|
1.22.8.1 |
| 27-Dec-1999 |
wrstuden | Pull up to last week's -current.
|
1.22.2.2 |
| 22-Nov-2000 |
bouyer | Sync with HEAD.
|
1.22.2.1 |
| 20-Nov-2000 |
bouyer | Update thorpej_scsipi to -current as of a month ago A i386 GENERIC kernel compiles without the siop, ahc and bha drivers (will be updated later). i386 IDE/ATAPI and ncr work, as well as sparc/esp_sbus. alpha should work as well (untested yet). siop, ahc and bha will be updated once I've updated the branch to current -current, as well as machine-dependant code.
I updated the amiga SCSI drivers, but completely untested yet (may not even compile)
|
1.27.2.1 |
| 21-Jun-2001 |
nathanw | Catch up to -current.
|
1.29.8.3 |
| 11-Dec-2002 |
thorpej | Sync with HEAD.
|
1.29.8.2 |
| 08-Jan-2002 |
nathanw | Catch up to -current.
|
1.29.8.1 |
| 01-May-2001 |
nathanw | file vmparam.h was added on branch nathanw_sa on 2002-01-08 00:22:59 +0000
|
1.29.2.1 |
| 10-Jan-2002 |
thorpej | Sync kqueue branch with -current.
|
1.32.2.3 |
| 21-Sep-2004 |
skrll | Fix the sync with head I botched.
|
1.32.2.2 |
| 18-Sep-2004 |
skrll | Sync with HEAD.
|
1.32.2.1 |
| 03-Aug-2004 |
skrll | Sync with HEAD
|
1.33.16.1 |
| 03-Sep-2007 |
yamt | sync with head.
|
1.34.40.1 |
| 04-Jun-2007 |
wrstuden | Update to today's netbsd-4.
|
1.34.38.1 |
| 22-May-2007 |
matt | Update to HEAD.
|
1.34.32.1 |
| 11-Jul-2007 |
mjf | Sync with head.
|
1.34.30.1 |
| 27-May-2007 |
ad | Sync with head.
|
1.34.26.1 |
| 17-May-2007 |
yamt | sync with head.
|
1.34.24.2 |
| 16-Jan-2011 |
bouyer | Pull up following revision(s) (requested by mhitch in ticket #1416): sys/arch/amiga/include/vmparam.h: revision 1.41 Raise address of user stack to the highest safe (for 68040 mmu) address, which increases available user address space by 256MB. One file in pkgsrc/lang/php53 was too large for the amiga. Also remove an old presumably outdated comment.
|
1.34.24.1 |
| 23-May-2007 |
riz | Pull up following revision(s) (requested by mhitch in ticket #659): sys/arch/amiga/amiga/amiga_init.c: revision 1.95 sys/arch/amiga/include/vmparam.h: revision 1.35 sys/arch/amiga/amiga/pmap.c: revision 1.123 Final changes to amiga kernel address space layout to match almost all the other m68k ports (initially from the yamt-km branch a long time ago). - move Sysmap to the end of address space. - move Amiga hardware mapping to immediately after Sysptmap. - tweak virtual_avail/end accordingly. A DEBUG kernel should now boot without panicing. Also, kernel address space layout is now compatible with m68k/m68k/pmap_motorola.c.
|
1.35.10.1 |
| 06-Nov-2007 |
matt | sync with HEAD
|
1.36.34.1 |
| 13-May-2009 |
jym | Sync with HEAD.
Commit is split, to avoid a "too many arguments" protocol error.
|
1.36.30.1 |
| 16-Jan-2011 |
bouyer | Pull up following revision(s) (requested by mhitch in ticket #1518): sys/arch/amiga/include/vmparam.h: revision 1.41 Raise address of user stack to the highest safe (for 68040 mmu) address, which increases available user address space by 256MB. One file in pkgsrc/lang/php53 was too large for the amiga. Also remove an old presumably outdated comment.
|
1.36.28.1 |
| 28-Apr-2009 |
skrll | Sync with HEAD.
|
1.36.20.3 |
| 11-Mar-2010 |
yamt | sync with head
|
1.36.20.2 |
| 16-Sep-2009 |
yamt | sync with head
|
1.36.20.1 |
| 04-May-2009 |
yamt | sync with head.
|
1.39.4.1 |
| 05-Mar-2011 |
rmind | sync with head
|
1.39.2.1 |
| 26-Apr-2010 |
uebayasi | Remove the unfinished code to add a memory segment after uvm_page_init(). It doesn't even compile.
(In the future, we should allocate struct vm_page [] on the added memory segment for NUMA's sake.)
|
1.41.4.1 |
| 17-Feb-2011 |
bouyer | Sync with HEAD
|
1.41.2.1 |
| 06-Jun-2011 |
jruoho | Sync with HEAD.
|
1.42.32.3 |
| 27-Dec-2015 |
skrll | Sync with HEAD (as of 26th Dec)
|
1.42.32.2 |
| 22-Sep-2015 |
skrll | Sync with HEAD
|
1.42.32.1 |
| 06-Jun-2015 |
skrll | Sync with HEAD
|
1.42.30.3 |
| 06-Nov-2015 |
riz | Pull up following revision(s) (requested by phx in ticket #989): sys/arch/amiga/include/vmparam.h: revision 1.46 Reduce MAXDSIZ from 416MB back to 224MB. Due to limitations by the current pmap implementation our virtual address space is limited to 512MB. A MAXDSIZ of 416MB would leave only a little bit more than 30MB for shared objects and heap allocations, so 224MB seems like a good compromise.
|
1.42.30.2 |
| 06-Nov-2015 |
riz | Pull up following revision(s) (requested by phx in ticket #986): sys/arch/amiga/include/vmparam.h: revision 1.44 Use all the changes from http://ftp.netbsd.org/pub/NetBSD/misc/mlelstv/vmparam.diff after a discussion on port-m68k. I tested them on several Amiga models and they seem to work fine. This gives us the maximum virtual memory space for a process under the current 512MB pmap limitation. Also bump VM_KERNEL_PT_PAGES to allow up to 2 GB RAM.
|
1.42.30.1 |
| 29-Jun-2015 |
snj | Pull up following revision(s) (requested by phx in ticket #841): sys/arch/amiga/include/vmparam.h: revision 1.43 Remove unused KUSER_AREA, SYSPTSIZE, USRPTSIZE. Bump MAXTSIZ and MAXDSIZ to the same values atari is using. This makes gcc 4.8 (/usr/libexec/cc1) load and execute.
|
1.42.14.1 |
| 03-Dec-2017 |
jdolecek | update from HEAD
|
1.46.18.2 |
| 08-Apr-2020 |
martin | Merge changes from current as of 20200406
|
1.46.18.1 |
| 10-Jun-2019 |
christos | Sync with HEAD
|
1.47.6.1 |
| 29-Feb-2020 |
ad | Sync with head.
|
1.47.4.1 |
| 10-Feb-2020 |
martin | Pull up following revision(s) (requested by tsutsui in ticket #682):
sys/arch/next68k/include/vmparam.h: revision 1.27 sys/arch/mac68k/include/vmparam.h: revision 1.46 sys/arch/sun3/include/vmparam.h: revision 1.38 sys/arch/m68k/include/vmparam.h: revision 1.1 sys/arch/hp300/include/vmparam.h: revision 1.41 sys/arch/m68k/include/Makefile: revision 1.32 sys/arch/amiga/include/vmparam.h: revision 1.48 distrib/sets/lists/comp/ad.m68k: revision 1.63 sys/arch/x68k/include/vmparam.h: revision 1.40 sys/arch/mvme68k/include/vmparam.h: revision 1.38 sys/arch/luna68k/include/vmparam.h: revision 1.23 sys/arch/news68k/include/vmparam.h: revision 1.23 sys/arch/atari/include/vmparam.h: revision 1.34 sys/arch/cesfic/include/vmparam.h: revision 1.19
Add MAX/MIN PAGE_SIZE and PAGE_SHIFT definitions of m68k for jemalloc(3).
Background: - All m68k ports have fixed PAGE_SIZE value in their kernels, but each port uses different PAGE_SIZE value (4096 or 8192) due to historical reasons. - Currently module(7) binaries are built per each port so all m68k kernel sources don't support run-time variable PAGE_SIZE. - MI <uvm/uvm_param.h> assumes that the port supports a variable PAGE_SIZE on module(7) builds if both MAX_PAGE_SIZE and MIN_PAGE_SIZE are defined and they have different values. - On the other hand, jemalloc(3) checks MAX_PAGE_SHIFT in src/external/bsd/jemalloc/include/jemalloc/internal/jemalloc_internal_defs.h for internal optimization. - m68k ports share userland binaries (especially pkgsrc binaries) among all ports, so we need to define MAX_PAGE_SHIFT as 13 to support m68k ports where PAGE_SIZE==8192. (though this would affect only if static binaries built on 4k page hosts are executed on 8k page hosts)
To solve these inconsistency on PAGE_SIZE definitions, we should have an independent PAGE_SIZE related definitions for userland, but it requires major reorganization.
For now (especially for netbsd-9) we define MAX/MIN PAGE_SIZE and PAGE_SHIFT values in <m68k/vmparam.h> only in !defined(_KERNEL) case.
Discussed on source-changes-d@ and tech-kern@ with christos@ and thorpej@: https://mail-index.netbsd.org/source-changes-d/2020/01/thread1.html#012035 https://mail-index.netbsd.org/tech-kern/2020/01/thread1.html#025954
Should be pulled up to netbsd-9.
|