History log of /src/sys/arch/atari/include/vmparam.h |
Revision | | Date | Author | Comments |
1.35 |
| 06-Jan-2023 |
tsutsui | TAB/spaces/indents cleanup.
|
1.34 |
| 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.33 |
| 27-Mar-2019 |
christos | branches: 1.33.4; 1.33.6; - expose vmparams to userland on arm, like other archs do. - remove unneeded includes
|
1.32 |
| 26-Feb-2018 |
tsutsui | branches: 1.32.4; Add dumb memory probe routines for Milan to use all available memory.
Tested on Milan with 32Mx1, 32Mx4, 128MBx1, and 128MBx3. (bootloader ROM fails to load TOS with 128MBx4)
No particular comment on port-atari@: http://mail-index.netbsd.org/port-atari/2018/02/09/msg000580.html
|
1.31 |
| 02-Feb-2017 |
rin | branches: 1.31.6; PR port-mac68k/51923 Bump default MAXTSIZ to 32MB for m68k ports, which allos us to use GCC 5.4 on GENERIC kernels. Ok jklos
|
1.30 |
| 02-Feb-2017 |
rin | PR port-mac68k/51923 Remove unused SYSPTSIZE and USRPTSIZE from m68k ports. Ok jklos
|
1.29 |
| 26-Jul-2014 |
tsutsui | branches: 1.29.4; 1.29.8; 1.29.12; Reorganize and bump VM related constants.
- sync VM_MAXUSER_ADDRESS and VM_MAX_ADDRESS with other hp300 derived ports and use same definitions for USRSTACK as other m68k ports (no worth to have sun3/sunos compat in these days) - remove unused KUSER_AREA - bump MAXTSIZ, MAXDSIZ, and MAXSSIZ
These changes allow my 64MB TT030 build pkgsrc/textproc/icu which seems to require >200MB VA space. (note our current 040/060 pmap implementation can't handle >224MB VA size)
|
1.28 |
| 08-Feb-2011 |
rmind | branches: 1.28.14; 1.28.28; 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.27 |
| 06-Nov-2010 |
uebayasi | branches: 1.27.2; 1.27.4; Remove incomplete, never worked dynamic run-time memory registration (uvm_page_physload(9)). This functionality will be re-added later.
|
1.26 |
| 08-Dec-2009 |
tsutsui | branches: 1.26.2; 1.26.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.25 |
| 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.24 |
| 13-Mar-2009 |
abs | Use separate free lists for TT and ST ram, and give TT a lower id so all TT ram will be used before any ST ram. (free_list param to uvm_page_physload()) Tested on a TT with and without TT ram.
|
1.23 |
| 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.22 |
| 01-Jan-2009 |
tsutsui | branches: 1.22.2; Pull the following amiga's pmap changes to atari: arch/amiga/amiga/amiga_init.c 1.95-1.97, 1.100-1.102 arch/amiga/amiga/pmap.c 1.123, 1.126-1.131, 1.142, 1.145 arch/amiga/amiga/pmap_bootstrap.c 1.1, 1.2, 1.3, 1.4 arch/amiga/conf/files.amiga 1.137 arch/amiga/include/pcb.h 1.16 arch/amiga/include/pmap.h 1.44 arch/amiga/include/pte.h 1.19 arch/amiga/include/vmparam.h 1.35
- change kernel address space layout (i.e. move Sysmap to the end of KVA) to match other m68k ports, which should be done on yamt-km merge - rework pmap_zero_page(), pmap_copy_page() and some more other functions to make them compatible with m68k/pmap_motorola.c - move pmap_bootstrap() into a separate file to allow using either the atari pmap.c or the m68k common pmap_motorola.c - use common m68k include files, pcb.h, pmap_motorola.h, and pte_motorola.h - misc style and cosmetic changes
Most merge work is done by Tuomo Makinen, and miscellaneous fixes and cleanups are done by me.
Tested on Falcon with both 68030 and 68060 by Tuomo, and also tested on TT030 by David Ross on port-atari.
Should be pulled up to netbsd-4 (it requires at least Sysmap changes) and netbsd-5.
|
1.21 |
| 11-Dec-2005 |
christos | branches: 1.21.24; 1.21.74; 1.21.78; 1.21.86; 1.21.88; merge ktrace-lwp.
|
1.20 |
| 07-Aug-2003 |
agc | Move UCB-licensed code from 4-clause to 3-clause licence.
Patches provided by Joel Baker in PR 22364, verified by myself.
|
1.19 |
| 02-Apr-2003 |
thorpej | branches: 1.19.2; Use PAGE_SIZE rather than NBPG.
|
1.18 |
| 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.17 |
| 15-Nov-2001 |
soren | MAXSLP is defined to be a machine-independent scheduling parameter, so move it into sys/param.h.
|
1.16 |
| 01-May-2001 |
thorpej | branches: 1.16.2; 1.16.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.15 |
| 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.14 |
| 14-Nov-2000 |
thorpej | branches: 1.14.2; We use 8K pages on the Atari. Make PAGE_SIZE and friends into compile-time constants.
|
1.13 |
| 11-Feb-2000 |
thorpej | Update for the NKMEMPAGES changes.
|
1.12 |
| 26-Jan-2000 |
tsutsui | Remove obsoleted macros.
|
1.11 |
| 04-Dec-1999 |
ragge | CL* discarding.
|
1.10 |
| 26-Apr-1999 |
thorpej | branches: 1.10.2; 1.10.8; 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.9 |
| 03-Mar-1999 |
leo | branches: 1.9.4; Dump max. datasize (MAXDSIZ) to 64MB and decouple the maximum stack size (MAXSSIZ) from the MAXDSIZ.
|
1.8 |
| 20-Nov-1998 |
leo | Follow the amiga vmparam.h, from Ignatios: Yet another workaround for pmap bugs. Several reports on the port-amiga list claim this helps with some big-machine situations.
|
1.7 |
| 02-Sep-1998 |
leo | Get rid of vm_offset_t/vm_size_t
|
1.6 |
| 08-Jul-1998 |
thorpej | Define one page free list, and put all pages on it.
|
1.5 |
| 07-May-1998 |
leo | Implement MACHINE_NEW_NONCONTIG. Implementation is based on Ignatios' amiga implementation and Chuck's conversion description.
|
1.4 |
| 10-Oct-1997 |
leo | VM_MAX_ADDRESS is the user max address -- adjust (From Chris Hopps).
|
1.3 |
| 12-Jul-1997 |
perry | branches: 1.3.2; update comment from 1981 on memory and disk prices -- pr-2754 from Curt Sampson
|
1.2 |
| 12-Jun-1997 |
mrg | bring mrg-vm-swap2 onto mainilne.
|
1.1 |
| 26-Mar-1995 |
leo | branches: 1.1.1; Initial revision
|
1.1.1.1 |
| 26-Mar-1995 |
leo | branches: 1.1.1.1.8; 1.1.1.1.12; NetBSD/Atari, port by Leo Weppelman.
|
1.1.1.1.12.1 |
| 04-May-1997 |
mrg | re-merge mrg-vm-swap into -current, and call it mrg-vm-swap2.
|
1.1.1.1.8.1 |
| 12-Feb-1997 |
mrg | initial work for dynamic swap additions.
|
1.3.2.1 |
| 14-Oct-1997 |
thorpej | Update marc-pcmcia branch from trunk.
|
1.9.4.2 |
| 06-Aug-1999 |
chs | take an initial guess at UBC parameters.
|
1.9.4.1 |
| 21-Jun-1999 |
thorpej | Sync w/ -current.
|
1.10.8.1 |
| 27-Dec-1999 |
wrstuden | Pull up to last week's -current.
|
1.10.2.2 |
| 22-Nov-2000 |
bouyer | Sync with HEAD.
|
1.10.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.
|
1.14.2.1 |
| 21-Jun-2001 |
nathanw | Catch up to -current.
|
1.16.8.3 |
| 11-Dec-2002 |
thorpej | Sync with HEAD.
|
1.16.8.2 |
| 08-Jan-2002 |
nathanw | Catch up to -current.
|
1.16.8.1 |
| 01-May-2001 |
nathanw | file vmparam.h was added on branch nathanw_sa on 2002-01-08 00:23:37 +0000
|
1.16.2.1 |
| 10-Jan-2002 |
thorpej | Sync kqueue branch with -current.
|
1.19.2.3 |
| 21-Sep-2004 |
skrll | Fix the sync with head I botched.
|
1.19.2.2 |
| 18-Sep-2004 |
skrll | Sync with HEAD.
|
1.19.2.1 |
| 03-Aug-2004 |
skrll | Sync with HEAD
|
1.21.88.2 |
| 26-Mar-2009 |
snj | Pull up following revision(s) (requested by abs in ticket #612): sys/arch/atari/atari/pmap_bootstrap.c: revision 1.3 sys/arch/atari/atari/atari_init.c: revision 1.76 sys/arch/atari/include/pmap.h: revision 1.40 sys/arch/atari/include/vmparam.h: revision 1.24 Use separate free lists for TT and ST ram, and give TT a lower id so all TT ram will be used before any ST ram. (free_list param to uvm_page_physload()) Tested on a TT with and without TT ram.
|
1.21.88.1 |
| 08-Jan-2009 |
snj | Pull up following revision(s) (requested by tsutsui in ticket #230): sys/arch/atari/atari/atari_init.c: revision 1.69 sys/arch/atari/atari/pmap.c: revision 1.111 via patch sys/arch/atari/atari/pmap_bootstrap.c: revision 1.1 sys/arch/atari/conf/files.atari: revision 1.113 sys/arch/atari/include/pcb.h: revision 1.9 sys/arch/atari/include/pmap.h: revision 1.39 via patch sys/arch/atari/include/pte.h: revision 1.8 sys/arch/atari/include/vmparam.h: revision 1.22 Pull the following amiga's pmap changes to atari: arch/amiga/amiga/amiga_init.c 1.95-1.97, 1.100-1.102 arch/amiga/amiga/pmap.c 1.123, 1.126-1.131, 1.142, 1.145 arch/amiga/amiga/pmap_bootstrap.c 1.1, 1.2, 1.3, 1.4 arch/amiga/conf/files.amiga 1.137 arch/amiga/include/pcb.h 1.16 arch/amiga/include/pmap.h 1.44 arch/amiga/include/pte.h 1.19 arch/amiga/include/vmparam.h 1.35 - change kernel address space layout (i.e. move Sysmap to the end of KVA) to match other m68k ports, which should be done on yamt-km merge - rework pmap_zero_page(), pmap_copy_page() and some more other functions to make them compatible with m68k/pmap_motorola.c - move pmap_bootstrap() into a separate file to allow using either the atari pmap.c or the m68k common pmap_motorola.c - use common m68k include files, pcb.h, pmap_motorola.h, and pte_motorola.h - misc style and cosmetic changes Most merge work is done by Tuomo Makinen, and miscellaneous fixes and cleanups are done by me. Tested on Falcon with both 68030 and 68060 by Tuomo, and also tested on TT030 by David Ross on port-atari. Should be pulled up to netbsd-4 (it requires at least Sysmap changes) and netbsd-5.
|
1.21.86.2 |
| 28-Apr-2009 |
skrll | Sync with HEAD.
|
1.21.86.1 |
| 19-Jan-2009 |
skrll | Sync with HEAD.
|
1.21.78.3 |
| 11-Mar-2010 |
yamt | sync with head
|
1.21.78.2 |
| 16-Sep-2009 |
yamt | sync with head
|
1.21.78.1 |
| 04-May-2009 |
yamt | sync with head.
|
1.21.74.1 |
| 17-Jan-2009 |
mjf | Sync with HEAD.
|
1.21.24.1 |
| 15-Jan-2009 |
bouyer | Pull up following revision(s) (requested by tsutsui in ticket #1258): sys/arch/atari/atari/atari_init.c: revision 1.68, 1.69, 1.70 sys/arch/atari/atari/pmap_bootstrap.c: revision 1.1 sys/arch/atari/include/pte.h: revision 1.8 sys/arch/atari/include/vmparam.h: revision 1.22 sys/arch/atari/include/pmap.h: revision 1.35, 1.37, 1.39 (via patch) sys/arch/atari/atari/pmap.c: revision 1.106, 1.111 (via patch) sys/arch/atari/atari/genassym.cf: revision 1.28 sys/arch/atari/conf/files.atari: revision 1.113 sys/arch/atari/include/pcb.h: revision 1.7, 1.8, 1.9 Replace the Mach-derived boolean_t type with the C99 bool type. A future commit will replace use of TRUE and FALSE with true and false. Kill caddr_t; there will be some MI fallout, but it will be fixed shortly. Remove bogus DEBUG uvm_map() calls - (sync with amiga pmap). From Tuomo Remove quite obsolete pcb_cmap2. Pull the following amiga's pmap changes to atari: arch/amiga/amiga/amiga_init.c 1.95-1.97, 1.100-1.102 arch/amiga/amiga/pmap.c 1.123, 1.126-1.131, 1.142, 1.145 arch/amiga/amiga/pmap_bootstrap.c 1.1, 1.2, 1.3, 1.4 arch/amiga/conf/files.amiga 1.137 arch/amiga/include/pcb.h 1.16 arch/amiga/include/pmap.h 1.44 arch/amiga/include/pte.h 1.19 arch/amiga/include/vmparam.h 1.35 - change kernel address space layout (i.e. move Sysmap to the end of KVA) to match other m68k ports, which should be done on yamt-km merge - rework pmap_zero_page(), pmap_copy_page() and some more other functions to make them compatible with m68k/pmap_motorola.c - move pmap_bootstrap() into a separate file to allow using either the atari pmap.c or the m68k common pmap_motorola.c - use common m68k include files, pcb.h, pmap_motorola.h, and pte_motorola.h - misc style and cosmetic changes Most merge work is done by Tuomo Makinen, and miscellaneous fixes and cleanups are done by me. Tested on Falcon with both 68030 and 68060 by Tuomo, and also tested on TT030 by David Ross on port-atari. Should be pulled up to netbsd-4 (it requires at least Sysmap changes) and netbsd-5. Update one more comment which was missed in previous.
|
1.22.2.1 |
| 13-May-2009 |
jym | Sync with HEAD.
Commit is split, to avoid a "too many arguments" protocol error.
|
1.26.4.1 |
| 05-Mar-2011 |
rmind | sync with head
|
1.26.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.27.4.1 |
| 17-Feb-2011 |
bouyer | Sync with HEAD
|
1.27.2.1 |
| 06-Jun-2011 |
jruoho | Sync with HEAD.
|
1.28.28.1 |
| 10-Aug-2014 |
tls | Rebase.
|
1.28.14.2 |
| 03-Dec-2017 |
jdolecek | update from HEAD
|
1.28.14.1 |
| 20-Aug-2014 |
tls | Rebase to HEAD as of a few days ago.
|
1.29.12.1 |
| 21-Apr-2017 |
bouyer | Sync with HEAD
|
1.29.8.1 |
| 20-Mar-2017 |
pgoyette | Sync with HEAD
|
1.29.4.1 |
| 05-Feb-2017 |
skrll | Sync with HEAD
|
1.31.6.1 |
| 13-Mar-2018 |
martin | Pull up following revision(s) (requested by tsutsui in ticket #624): sys/arch/atari/stand/xxboot/sdboot/milan/Makefile: revision 1.4 sys/arch/atari/dev/nvram.c: revision 1.21 sys/arch/atari/conf/MILAN.in: revision 1.28 sys/arch/atari/atari/pmap_bootstrap.c: revision 1.9 sys/dev/isa/fd.c: revision 1.111 sys/arch/atari/atari/bus.c: revision 1.60 sys/arch/atari/stand/xxboot/ahdi-xxboot/milan/Makefile: revision 1.4 sys/arch/atari/atari/locore.s: revision 1.111 sys/arch/atari/isa/isa_machdep.c: revision 1.41 distrib/sets/lists/base/md.atari: revision 1.55 sys/arch/atari/pci/pci_machdep.c: revision 1.55 sys/arch/atari/pci/pci_machdep.c: revision 1.56 sys/arch/atari/include/vmparam.h: revision 1.32 sys/arch/atari/isa/isa_milan.c: revision 1.15 sys/arch/atari/isa/isa_milan.c: revision 1.16 sys/arch/atari/atari/bus.c: revision 1.59 sys/arch/atari/atari/atari_init.c: revision 1.101 sys/arch/atari/pci/pci_milan.c: revision 1.15 Fix I/O access failures for regions allocated by bus_space_map(9) on Milan.
Passing to PMAP_WIRED against I/O spaces seems problematic, probably after yamt-km branch merge, which was committed between NetBSD 3.0 and NetBSD 4.0. (i.e. ISA and PCI devices on Milan didn't work after 4.0 release)
XXX: According to pmap(9) man page, the "flags" arg for pmap_enter(9) doesn't take VM_PROT_READ and VM_PROT_WRITE, but pmap_enter() implementation in sys/arch/m68k/m68k/pmap_motolora.c historically checks them.
Fix silent hang during config_console() (before consinit()) on Milan. config_console() was a dirty hack used by ancient m68k ports to probe and initialize console devices before "real" configure(9), using subset of configure(9) functions.
In that case, most device specific data (except I/O access method) are not initialized so we must not access device specific device_t and softc structures in config_console() cases.
Fix silent hang after isa_intr_establish() on Milan. The problems (wrong macro replacements) were slipped in rev 1.107: http://cvsweb.netbsd.org/bsdweb.cgi/src/sys/arch/atari/atari/locore.s#rev1.107 Handle yet another atari specific quirk in the MI ISA fdc(4)/fd(4) driver. This makes fd(4) drive(s) (which is necessary for installation) properly attached on Milan. atari uses "fdcisa" and "fdisa" for ISA fdc to co-exist other fd(4) drivers, on-board (atari/dev/fd.c) one and Hades (atari/dev/hdfd.c) one.
Use a proper PSL value to be passed to splx(9) functions. This should have been changed on yamt-splraiseipl branch merge back in 2006, which made MI IPL_xxx values independent from m68k MD PSL values for the %sr register.
Restore piixide(4) for Milan and disable other pciide devices. piixide was removed in rev 1.18 and the log message said "because Intel IDE disk controllers only exist as part of Intel chipsets for x86 systems" but the Milan actually has the Intel 82371FB southbridge on its board. Other pciide devices are unlikely necessary for the default kernel for such a rare machine. Also fix pasto in comment.
Skip NVRAM checksum check and re-initialization on Milan. Milan's firmware seems to use different check method.
Ack EOI for IRQ_SLAVE of the master PIC after ack for IRQ of the slave PIC. I'm not sure if there are possible races in the original code, but this is what i8259_asm_ack2() in sys/arch/x86/include/i8259.h does and it looks this change makes a Milan kernel a bit stable. Replace CRTC register values with ones taken from sys/dev/ic/vga_subr.c. This fixes noise around column 3 and 4 and makes screen output clearer on Milan with S3 Trio64V.
Explicitly setup the secondary IDE interrupt of PIIX on Milan. The secondary IDE interrupt is connected to MBIRQ0 on PIIX, but the Milan's ROM bootloader (at least version 0.99.7) doesn't seem to setup the MBIRQ0 register to route it to IRQ15.
On Milan, also explicitly disable MBIRQ1 on PIIX. Milan's ROM bootloader v1.2 and v1.4 incorrectly set MBIRQ0 connected to the secondary IDE to IRQ14 (not 15) and unused MBIRQ1 to IRQ15, so both IDE channels don't work properly.
Add dumb memory probe routines for Milan to use all available memory. Tested on Milan with 32Mx1, 32Mx4, 128MBx1, and 128MBx3. (bootloader ROM fails to load TOS with 128MBx4) No particular comment on port-atari@: http://mail-index.netbsd.org/port-atari/2018/02/09/msg000580.html
Provide wdboot as a copy of sdboot for Milan. It looks Milan's bootloader ROM emulates IDE disks as SCSI disks so sdboot works for them, but atari's installboot checks a specified device name and requires wdboot for wd(4) devices.
Fix another possible out of bounds.
Replace bus_dmamap_sync(9) op with a newer one taken from m68k/bus_dma.c. This could fix memory corruption issue caused by PREREAD ops with regions whose boundaries are not aligned at cacheline size.
|
1.32.4.2 |
| 08-Apr-2020 |
martin | Merge changes from current as of 20200406
|
1.32.4.1 |
| 10-Jun-2019 |
christos | Sync with HEAD
|
1.33.6.1 |
| 29-Feb-2020 |
ad | Sync with head.
|
1.33.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.
|