Home | History | Annotate | Download | only in include
History log of /src/sys/arch/next68k/include/param.h
RevisionDateAuthorComments
 1.13  04-Feb-2023  tsutsui Remove leftover "last kernel PT page" settings derived from hp300.

Whilehere, also remove VM definitions for obsolete COMPAT_HPUX stuff.

All hp300 machines has RAMs at a region from the highest address
i.e. 0xFFFFFFFF to smaller address (as HP claims "it's the MSB first"),
so kernels have to prepare PA==KVA mappings as the "last PT page" to
guarantee the running kernel works both before and after the MMU is
turned on. For such a special mapping, we have to set up necessary
segment table and page table during early startup, in pmap_bootstrap()
invoked from locore.s.

On the other hand, NeXT machines have RAMs at a region from 0x40000000
to below (i.e. to larger address) so we still need a PA==KVA mapping.
However currently NetBSD/next68k just uses the transparent translation
registers to achieve the PA==KVA mapping, so unlike hp300 we don't have
to prepare special segment table and page table for it.

Note many other m68k ports (like luna68k, news68k, x68k etc.) have
RAMs at a region from 0x00000000 so usually we can assume PA==KVA
and don't have to bother to prepare such speicial mappings.

No user visible changes (except now freed wasted pages for the tables).
Tested on my NeXTstation slab.
 1.12  10-Feb-2012  para branches: 1.12.52; 1.12.78;
proper sizing of kmem_arena on different ports

PR port-i386/45946: Kernel locks up in VMEM system
 1.11  08-Feb-2011  rmind branches: 1.11.4; 1.11.8;
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.10  11-Dec-2009  tsutsui branches: 1.10.4; 1.10.6; 1.10.8;
Refactoring MD segment related definitions on m68k ports:
- move macro SEGSHIFT, NBSEG, and SEGOFSET from <machine/param.h>
to <m68k/pmap_motorola.h> where they should belong
- also simplify NBSEG macro for both 020/030 and 040/060 cases
- also move m68k_trunc_seg(), m68k_round_seg(), and m68k_seg_offset()
(that use SEGOFSET) from <m68k/param.h> to <m68k/pmap_motorola.h>
- add comments about each segment size value used on pmap_motorola
implementation
- add TIA_SIZE, TIA_SHIFT, TIB_SIZE, and TIB_SHIFT macro which can be
used for ste/pte index sizes
- use proper vaddr_t cast instead of unsigned for SEGOFSET/PGOFSET macro

Tested on atari, hp300, and news68k.
 1.9  09-Dec-2009  tsutsui Fix wrong NBSEG values for all hp300 pmap derived m68k ports.
They were incorrect since 1997 on amiga and atari, and since 2002
on other ports, but fortunately they don't look so fatal.

Anyway, these values will be moved into <m68k/pmap_motorola.h> soon
since they are quite pmap implementation dependent.
 1.8  11-Dec-2005  christos branches: 1.8.78;
merge ktrace-lwp.
 1.7  07-Sep-2005  drochner include machine/intr.h only in the _KERNEL case, as
most other ports do.
(In the -KERNEL case, it is needed because the spl*()
stuff ought to be pulled in by <sys/param.h> per the
manpages.)
This saves some namespace headaches.
 1.6  19-Jan-2005  chs branches: 1.6.8;
de-__P, remove register, ansify.
 1.5  07-Aug-2003  agc branches: 1.5.8;
Move UCB-licensed code from 4-clause to 3-clause licence.

Patches provided by Joel Baker in PR 22364, verified by myself.
 1.4  03-Nov-2002  chs branches: 1.4.6;
merge pmap.h for all 4k-page motorola-MMU (or compatible) m68k platforms.
 1.3  11-Feb-2000  thorpej branches: 1.3.12;
Update for the NKMEMPAGES changes.
 1.2  04-Dec-1999  ragge CL* discarding.
 1.1  09-Jun-1998  dbj branches: 1.1.1;
Initial revision
 1.1.1.1  09-Jun-1998  dbj branches: 1.1.1.1.14; 1.1.1.1.20;
Initial import of NetBSD/next68k.
 1.1.1.1.20.1  27-Dec-1999  wrstuden Pull up to last week's -current.
 1.1.1.1.14.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.3.12.1  11-Nov-2002  nathanw Catch up to -current
 1.4.6.5  10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.4.6.4  24-Jan-2005  skrll Sync with HEAD.
 1.4.6.3  21-Sep-2004  skrll Fix the sync with head I botched.
 1.4.6.2  18-Sep-2004  skrll Sync with HEAD.
 1.4.6.1  03-Aug-2004  skrll Sync with HEAD
 1.5.8.1  29-Apr-2005  kent sync with -current
 1.6.8.1  21-Jun-2006  yamt sync with head.
 1.8.78.1  11-Mar-2010  yamt sync with head
 1.10.8.1  17-Feb-2011  bouyer Sync with HEAD
 1.10.6.1  06-Jun-2011  jruoho Sync with HEAD.
 1.10.4.1  05-Mar-2011  rmind sync with head
 1.11.8.1  18-Feb-2012  mrg merge to -current.
 1.11.4.1  17-Apr-2012  yamt sync with head
 1.12.78.1  12-Feb-2023  martin Pull up following revision(s) (requested by tsutsui in ticket #77):

sys/arch/next68k/include/vmparam.h: revision 1.29
sys/arch/next68k/next68k/machdep.c: revision 1.118
sys/arch/next68k/include/param.h: revision 1.13
sys/arch/next68k/next68k/pmap_bootstrap.c: revision 1.45
sys/arch/next68k/next68k/locore.s: revision 1.70
sys/arch/next68k/next68k/locore.s: revision 1.71

Use explicit CPU strings and remove hp300 derived stuff.

Remove #ifdef'ed out hp300 specific stuff.

Remove leftover "last kernel PT page" settings derived from hp300.

Whilehere, also remove VM definitions for obsolete COMPAT_HPUX stuff.

All hp300 machines has RAMs at a region from the highest address
i.e. 0xFFFFFFFF to smaller address (as HP claims "it's the MSB first"),
so kernels have to prepare PA==KVA mappings as the "last PT page" to
guarantee the running kernel works both before and after the MMU is
turned on. For such a special mapping, we have to set up necessary
segment table and page table during early startup, in pmap_bootstrap()
invoked from locore.s.

On the other hand, NeXT machines have RAMs at a region from 0x40000000
to below (i.e. to larger address) so we still need a PA==KVA mapping.
However currently NetBSD/next68k just uses the transparent translation
registers to achieve the PA==KVA mapping, so unlike hp300 we don't have
to prepare special segment table and page table for it.

Note many other m68k ports (like luna68k, news68k, x68k etc.) have
RAMs at a region from 0x00000000 so usually we can assume PA==KVA
and don't have to bother to prepare such speicial mappings.

No user visible changes (except now freed wasted pages for the tables).

Tested on my NeXTstation slab.
 1.12.52.1  12-Feb-2023  martin Pull up following revision(s) (requested by tsutsui in ticket #1590):

sys/arch/next68k/include/vmparam.h: revision 1.29
sys/arch/next68k/next68k/machdep.c: revision 1.118
sys/arch/next68k/include/param.h: revision 1.13
sys/arch/next68k/next68k/pmap_bootstrap.c: revision 1.45
sys/arch/next68k/next68k/locore.s: revision 1.70
sys/arch/next68k/next68k/locore.s: revision 1.71

Use explicit CPU strings and remove hp300 derived stuff.

Remove #ifdef'ed out hp300 specific stuff.

Remove leftover "last kernel PT page" settings derived from hp300.

Whilehere, also remove VM definitions for obsolete COMPAT_HPUX stuff.

All hp300 machines has RAMs at a region from the highest address
i.e. 0xFFFFFFFF to smaller address (as HP claims "it's the MSB first"),
so kernels have to prepare PA==KVA mappings as the "last PT page" to
guarantee the running kernel works both before and after the MMU is
turned on. For such a special mapping, we have to set up necessary
segment table and page table during early startup, in pmap_bootstrap()
invoked from locore.s.

On the other hand, NeXT machines have RAMs at a region from 0x40000000
to below (i.e. to larger address) so we still need a PA==KVA mapping.
However currently NetBSD/next68k just uses the transparent translation
registers to achieve the PA==KVA mapping, so unlike hp300 we don't have
to prepare special segment table and page table for it.

Note many other m68k ports (like luna68k, news68k, x68k etc.) have
RAMs at a region from 0x00000000 so usually we can assume PA==KVA
and don't have to bother to prepare such speicial mappings.

No user visible changes (except now freed wasted pages for the tables).

Tested on my NeXTstation slab.

RSS XML Feed