History log of /src/sys/arch/mac68k/include/vmparam.h |
Revision | | Date | Author | Comments |
1.46 |
| 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.45 |
| 28-Jun-2019 |
tsutsui | branches: 1.45.2; 1.45.4; Fix lingering page size comments.
Pointed out by christos@ on port-m68k@: http://mail-index.netbsd.org/port-m68k/2019/06/06/msg000726.html
XXX: we also need MAX_PAGE_SIZE in somewhere for newer jemalloc?
|
1.44 |
| 02-Feb-2017 |
rin | branches: 1.44.14; 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.43 |
| 02-Feb-2017 |
rin | PR port-mac68k/51923 Remove unused SYSPTSIZE and USRPTSIZE from m68k ports. Ok jklos
|
1.42 |
| 08-Feb-2011 |
rmind | branches: 1.42.14; 1.42.32; 1.42.36; 1.42.40; 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 |
| 06-Nov-2010 |
uebayasi | branches: 1.41.2; 1.41.4; Remove incomplete, never worked dynamic run-time memory registration (uvm_page_physload(9)). This functionality will be re-added later.
|
1.40 |
| 08-Dec-2009 |
tsutsui | branches: 1.40.2; 1.40.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.39 |
| 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.38 |
| 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.37 |
| 10-Jan-2009 |
tsutsui | branches: 1.37.2; Remove unnecessary "last kernel PT page" mapping. The lkptpa was required for hp300 (where PA != VA) to prepare a page PA == VA to turn on the MMU, and it is not needed for mac68k which has PA == VA mappings even in kernel text/data/bss. Tested on LC630.
|
1.36 |
| 11-Dec-2005 |
christos | branches: 1.36.74; 1.36.78; 1.36.86; merge ktrace-lwp.
|
1.35 |
| 01-Apr-2005 |
yamt | merge yamt-km branch. - don't use managed mappings/backing objects for wired memory allocations. save some resources like pv_entry. also fix (most of) PR/27030. - simplify kernel memory management API. - simplify pmap bootstrap of some ports. - some related cleanups.
|
1.34 |
| 07-Aug-2003 |
agc | branches: 1.34.8; 1.34.10; Move UCB-licensed code from 4-clause to 3-clause licence.
Patches provided by Joel Baker in PR 22364, verified by myself.
|
1.33 |
| 02-Apr-2003 |
thorpej | branches: 1.33.2; Use PAGE_SIZE rather than NBPG.
|
1.32 |
| 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.31 |
| 15-Nov-2001 |
soren | MAXSLP is defined to be a machine-independent scheduling parameter, so move it into sys/param.h.
|
1.30 |
| 01-May-2001 |
thorpej | branches: 1.30.2; 1.30.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.29 |
| 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.28 |
| 01-Dec-2000 |
tsutsui | branches: 1.28.2; Remove unused pcbb() macro.
|
1.27 |
| 14-Nov-2000 |
thorpej | We use 4K pages on the mac68k. Make PAGE_SIZE and friends into compile-time constants.
|
1.26 |
| 11-Feb-2000 |
thorpej | Update for the NKMEMPAGES changes.
|
1.25 |
| 27-Jan-2000 |
tsutsui | Revert (accidentally removed) MAXSLP macro.
|
1.24 |
| 26-Jan-2000 |
tsutsui | Remove obsoleted macros.
|
1.23 |
| 04-Dec-1999 |
ragge | CL* discarding.
|
1.22 |
| 26-Apr-1999 |
thorpej | branches: 1.22.2; 1.22.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.21 |
| 07-Apr-1999 |
scottr | vm_size_t -> vsize_t
|
1.20 |
| 31-Mar-1999 |
scottr | branches: 1.20.4; The last change wasn't quite enough to build libc during a 'make build'. Bump DFLDSIZ, too.
|
1.19 |
| 31-Mar-1999 |
scottr | Bump DFLSSIZ so that we can build libc.so.*, and limit MAXSSIZ independently of MAXDSIZ.
|
1.18 |
| 16-Jan-1999 |
chuck | branches: 1.18.2; MNN is no longer an option
|
1.17 |
| 22-Dec-1998 |
scottr | vm_offset_t -> {paddr_t, vaddr_t}
|
1.16 |
| 08-Jul-1998 |
thorpej | Define one page free list, and put all pages on it.
|
1.15 |
| 26-Apr-1998 |
scottr | GC the old MACHINE_NONCONTIG code.
|
1.14 |
| 26-Apr-1998 |
scottr | Use VM_PSTRAT_BIGFIRST, and add a comment explaining the decision.
|
1.13 |
| 25-Apr-1998 |
scottr | Missed removal of MACHINE_NONCONTIG. Pointed out by Allen.
|
1.12 |
| 24-Apr-1998 |
scottr | Checkpoint of UVM work to date. This includes a fully-functioning MACHINE_NEW_NONCONTIG interface implementation, which is now enabled on all systems. Thanks to Jason Thorpe for his work on the hp300 port, from which most of the code used here was derived.
XXX In spite of the fact that it works on the hp300, UVM does not (yet) work well under load on mac68k.
|
1.11 |
| 23-Jul-1997 |
scottr | GC unused MMSEG definition, from Erik Bertelsen <erik@erik-be.uni-c.dk>. Closes PR 3898.
|
1.10 |
| 12-Jul-1997 |
perry | update comment from 1981 on memory and disk prices -- pr-2754 from Curt Sampson
|
1.9 |
| 12-Jun-1997 |
mrg | bring mrg-vm-swap2 onto mainilne.
|
1.8 |
| 15-Nov-1996 |
briggs | branches: 1.8.4; 1.8.8; Include MACHINE_NONCONTIG here. It isn't needed on all macs, but it has been used for all macs for quite some time.
|
1.7 |
| 21-Jun-1995 |
briggs | Raise MAXTSIZ, double DFLDSIZ and quadruple MAXDSIZ. Lower USRPTSIZE. Remove unused mapin() macro. Update VM_MAX* macros to look like the amiga's (easier to read than hp300's).
|
1.6 |
| 26-Oct-1994 |
cgd | new RCS ID format.
|
1.5 |
| 26-Jun-1994 |
briggs | Cleanup some. Deprecate a few defines that are no longer needed.
|
1.4 |
| 15-Dec-1993 |
briggs | Change constants and comments to reflect the current MACHINE value. Define T_BRKPT and T_WATCHPOINT.
|
1.3 |
| 04-Dec-1993 |
briggs | Change USRTEXT to 8192 in vmparam.h. Add MACHINE_ARCH (m68k) to param.h.
|
1.2 |
| 29-Nov-1993 |
briggs | Added signal.h for -current. The rest is formatting changes.
|
1.1 |
| 29-Sep-1993 |
briggs | branches: 1.1.1; Initial revision
|
1.1.1.1 |
| 29-Sep-1993 |
briggs | The current MacBSD architecture sub-directory for NetBSD-0.9--more or less. It needs some help to get to be -current. Support for minimal hardware on the SE/30, II, IIx, and IIcx exists.
|
1.8.8.1 |
| 04-May-1997 |
mrg | re-merge mrg-vm-swap into -current, and call it mrg-vm-swap2.
|
1.8.4.1 |
| 12-Feb-1997 |
mrg | initial work for dynamic swap additions.
|
1.18.2.3 |
| 13-Feb-2000 |
scottr | Sync with main branch.
|
1.18.2.2 |
| 12-Dec-1999 |
scottr | Sync with main branch.
|
1.18.2.1 |
| 16-May-1999 |
scottr | Sync with main branch.
|
1.20.4.2 |
| 06-Aug-1999 |
chs | take an initial guess at UBC parameters.
|
1.20.4.1 |
| 21-Jun-1999 |
thorpej | Sync w/ -current.
|
1.22.8.1 |
| 27-Dec-1999 |
wrstuden | Pull up to last week's -current.
|
1.22.2.3 |
| 08-Dec-2000 |
bouyer | Sync with HEAD.
|
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.
|
1.28.2.1 |
| 21-Jun-2001 |
nathanw | Catch up to -current.
|
1.30.8.3 |
| 11-Dec-2002 |
thorpej | Sync with HEAD.
|
1.30.8.2 |
| 08-Jan-2002 |
nathanw | Catch up to -current.
|
1.30.8.1 |
| 01-May-2001 |
nathanw | file vmparam.h was added on branch nathanw_sa on 2002-01-08 00:26:02 +0000
|
1.30.2.1 |
| 10-Jan-2002 |
thorpej | Sync kqueue branch with -current.
|
1.33.2.4 |
| 01-Apr-2005 |
skrll | Sync with HEAD.
|
1.33.2.3 |
| 21-Sep-2004 |
skrll | Fix the sync with head I botched.
|
1.33.2.2 |
| 18-Sep-2004 |
skrll | Sync with HEAD.
|
1.33.2.1 |
| 03-Aug-2004 |
skrll | Sync with HEAD
|
1.34.10.1 |
| 23-Feb-2005 |
yamt | change mac68k's kernel address space layout in order to simplify interaction between upper layer of the vm during bootstrap. - move Sysmap to the end of address space. - move IOBase etc immediately after proc0 uarea. - tweak virtual_avail/end accordingly.
tested by Chuck Silvers, on his quadra 950. XXX this breaks other m68k platforms. i'll fix them later.
|
1.34.8.1 |
| 29-Apr-2005 |
kent | sync with -current
|
1.36.86.2 |
| 28-Apr-2009 |
skrll | Sync with HEAD.
|
1.36.86.1 |
| 19-Jan-2009 |
skrll | Sync with HEAD.
|
1.36.78.3 |
| 11-Mar-2010 |
yamt | sync with head
|
1.36.78.2 |
| 16-Sep-2009 |
yamt | sync with head
|
1.36.78.1 |
| 04-May-2009 |
yamt | sync with head.
|
1.36.74.1 |
| 17-Jan-2009 |
mjf | Sync with HEAD.
|
1.37.2.1 |
| 13-May-2009 |
jym | Sync with HEAD.
Commit is split, to avoid a "too many arguments" protocol error.
|
1.40.4.1 |
| 05-Mar-2011 |
rmind | sync with head
|
1.40.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.40.1 |
| 21-Apr-2017 |
bouyer | Sync with HEAD
|
1.42.36.1 |
| 20-Mar-2017 |
pgoyette | Sync with HEAD
|
1.42.32.1 |
| 05-Feb-2017 |
skrll | Sync with HEAD
|
1.42.14.1 |
| 03-Dec-2017 |
jdolecek | update from HEAD
|
1.44.14.1 |
| 13-Apr-2020 |
martin | Mostly merge changes from HEAD upto 20200411
|
1.45.4.1 |
| 29-Feb-2020 |
ad | Sync with head.
|
1.45.2.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.
|