History log of /src/sys/arch/sun3/include/vmparam.h |
Revision | | Date | Author | Comments |
1.38 |
| 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.37 |
| 07-Jan-2013 |
chs | branches: 1.37.38; 1.37.42; 1.37.44; switch to __USE_TOPDOWN_VM.
|
1.36 |
| 06-Nov-2010 |
uebayasi | branches: 1.36.8; 1.36.18; Remove incomplete, never worked dynamic run-time memory registration (uvm_page_physload(9)). This functionality will be re-added later.
|
1.35 |
| 15-Oct-2010 |
tsutsui | Make common kernel module binaries work on both sun3 and sun3x. Tested on 3/160 (on TME) and (real) 3/80.
XXX: module files can be loaded only on single user?
|
1.34 |
| 30-Apr-2010 |
pooka | Raise the blade, make the change, don't quite rearrange to where it's sane. But improves the non-monolithic kernel case anyway.
|
1.33 |
| 28-Apr-2008 |
martin | branches: 1.33.20; 1.33.22; Remove clause 3 and 4 from TNF licenses
|
1.32 |
| 02-Apr-2003 |
thorpej | branches: 1.32.104; 1.32.106; 1.32.108; Use PAGE_SIZE rather than NBPG.
|
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 |
| 03-Jul-2001 |
chs | branches: 1.30.2; 1.30.8; move parts that are the same from vmparam3{,x}.h to vmparam.h.
|
1.29 |
| 01-May-2001 |
thorpej | 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 |
| 04-Feb-2001 |
jmc | branches: 1.27.2; In the LKM section add some things the LKM's need (since they aren't defining _SUN3_ or _SUN3X_ generally to pickup the full vmparam.h
Added MAXDSIZ (set to sun3's limit) and VM_NFREELIST
|
1.26 |
| 14-Nov-2000 |
thorpej | Sun3 and Sun3x both use 8K pages. Make PAGE_* and friends into compile-time constants.
|
1.25 |
| 26-Jan-2000 |
tsutsui | Remove obsoleted macros.
|
1.24 |
| 04-Dec-1999 |
ragge | CL* discarding.
|
1.23 |
| 10-Apr-1999 |
gwr | branches: 1.23.2; 1.23.8; 1.23.14; Fix compile error in: sys/lkm/vfs/miscfs/procfs
|
1.22 |
| 05-Apr-1999 |
gwr | Move VM_PHYSSEG_MAX to the common vmparam.h (needed by LKMs).
|
1.21 |
| 18-Feb-1999 |
gwr | It appears that pmap_physseg is now required in userland. Too bad.
|
1.20 |
| 05-Feb-1998 |
gwr | Merge arch/sun3x into arch/sun3
|
1.19 |
| 12-Jul-1997 |
perry | branches: 1.19.8; update comment from 1981 on memory and disk prices -- pr-2754 from Curt Sampson
|
1.18 |
| 12-Jun-1997 |
mrg | bring mrg-vm-swap2 onto mainilne.
|
1.17 |
| 29-May-1997 |
gwr | Increase the default datasize limit to 16MB (enough to build libc).
|
1.16 |
| 27-Feb-1997 |
gwr | branches: 1.16.2; Define VM_MAX_KERNEL_ADDRESS using KERN_END instead of a constant.
|
1.15 |
| 18-Jan-1997 |
gwr | branches: 1.15.2; 1.15.4; Define MACHINE_NONCONTIG here instead of in conf/std.sun3.
|
1.14 |
| 26-Sep-1995 |
gwr | New DVMA interface, and various cleanup.
|
1.13 |
| 08-Aug-1995 |
gwr | Add default value for SHMMAXPGS (from Jason Thorpe - fixes PR#1220)
|
1.12 |
| 24-May-1995 |
gwr | Update cpu_fork() to eliminate double mapping of kernel stacks.
|
1.11 |
| 13-Feb-1995 |
gwr | DVMA slave mapping support.
|
1.10 |
| 21-Nov-1994 |
gwr | Lots of changes. Fairly stable now.
|
1.9 |
| 26-Oct-1994 |
cgd | new RCS ID format.
|
1.8 |
| 12-Dec-1993 |
glass | snapshot of my private sources
|
1.7 |
| 28-Aug-1993 |
glass | last snapshot before uploading. we still have serious clock problems
|
1.6 |
| 21-Aug-1993 |
glass | snapshot. for uploading. gets lost in swtch after enablertclock()
|
1.5 |
| 15-Aug-1993 |
glass | runs up to and including configure(). todo: exceptions, interrupt support, make isrs affect vector table kernel/user stacks
|
1.4 |
| 13-Aug-1993 |
glass | snapshot. ready to call configure(), partial integration of torek's config stuff, i.e it looks to do the right thing but we haven't written any code yet :)
|
1.3 |
| 02-Aug-1993 |
glass | stupid cleanup; fixes to mon.h; rewrote asm.h based on old asm.h and the i386 one from jolitz cleaned up ending of virtaul addr space.
|
1.2 |
| 27-Jul-1993 |
glass | new pmap module
|
1.1 |
| 25-Jun-1993 |
glass | adding include files...not much of this works
|
1.15.4.1 |
| 12-Mar-1997 |
is | Merge in changes from The Trunk
|
1.15.2.1 |
| 12-Feb-1997 |
mrg | initial work for dynamic swap additions.
|
1.16.2.2 |
| 01-Jun-1997 |
mrg | update to trunk.
|
1.16.2.1 |
| 04-May-1997 |
mrg | re-merge mrg-vm-swap into -current, and call it mrg-vm-swap2.
|
1.19.8.3 |
| 05-Feb-1998 |
gwr | OK, move some stuff back to the kernel-only part.
|
1.19.8.2 |
| 04-Feb-1998 |
gwr | Move a few things to the common file: USRTEXT, MAXSLP, SAFERSS, VM_*
|
1.19.8.1 |
| 27-Jan-1998 |
gwr | Conditionally include *3.h or *3x.h as appropriate.
|
1.23.14.1 |
| 27-Dec-1999 |
wrstuden | Pull up to last week's -current.
|
1.23.8.3 |
| 11-Feb-2001 |
bouyer | Sync with HEAD.
|
1.23.8.2 |
| 22-Nov-2000 |
bouyer | Sync with HEAD.
|
1.23.8.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.23.2.2 |
| 10-Apr-1999 |
gwr | Fix compile error in: sys/lkm/vfs/miscfs/procfs
|
1.23.2.1 |
| 10-Apr-1999 |
gwr | file vmparam.h was added on branch netbsd-1-4 on 1999-04-10 02:15:47 +0000
|
1.27.2.1 |
| 21-Jun-2001 |
nathanw | Catch up to -current.
|
1.30.8.2 |
| 08-Jan-2002 |
nathanw | Catch up to -current.
|
1.30.8.1 |
| 03-Jul-2001 |
nathanw | file vmparam.h was added on branch nathanw_sa on 2002-01-08 00:28:19 +0000
|
1.30.2.1 |
| 10-Jan-2002 |
thorpej | Sync kqueue branch with -current.
|
1.32.108.2 |
| 11-Aug-2010 |
yamt | sync with head.
|
1.32.108.1 |
| 16-May-2008 |
yamt | sync with head.
|
1.32.106.1 |
| 18-May-2008 |
yamt | sync with head.
|
1.32.104.1 |
| 02-Jun-2008 |
mjf | Sync with HEAD.
|
1.33.22.2 |
| 05-Mar-2011 |
rmind | sync with head
|
1.33.22.1 |
| 30-May-2010 |
rmind | sync with head
|
1.33.20.3 |
| 22-Oct-2010 |
uebayasi | Sync with HEAD (-D20101022).
|
1.33.20.2 |
| 17-Aug-2010 |
uebayasi | Sync with HEAD.
|
1.33.20.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.36.18.1 |
| 25-Feb-2013 |
tls | resync with head
|
1.36.8.1 |
| 23-Jan-2013 |
yamt | sync with head
|
1.37.44.1 |
| 29-Feb-2020 |
ad | Sync with head.
|
1.37.42.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.
|
1.37.38.1 |
| 08-Apr-2020 |
martin | Merge changes from current as of 20200406
|