Module Name:    src
Committed By:   martin
Date:           Sun Feb 12 11:48:56 UTC 2023

Modified Files:
        src/sys/arch/next68k/include [netbsd-10]: param.h vmparam.h
        src/sys/arch/next68k/next68k [netbsd-10]: locore.s machdep.c
            pmap_bootstrap.c

Log Message:
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.


To generate a diff of this commit:
cvs rdiff -u -r1.12 -r1.12.78.1 src/sys/arch/next68k/include/param.h
cvs rdiff -u -r1.28 -r1.28.4.1 src/sys/arch/next68k/include/vmparam.h
cvs rdiff -u -r1.68 -r1.68.4.1 src/sys/arch/next68k/next68k/locore.s
cvs rdiff -u -r1.116.4.1 -r1.116.4.2 src/sys/arch/next68k/next68k/machdep.c
cvs rdiff -u -r1.44 -r1.44.46.1 src/sys/arch/next68k/next68k/pmap_bootstrap.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Reply via email to