Home | History | Annotate | only in /src/sys/arch/pmax/include
History log of /src/sys/arch/pmax/include
RevisionDateAuthorComments
 1.40 30-Nov-2024  christos Create a new header lwp_private.h to contain _lwp_getprivate_fast,
_lwp_gettcb_fast, _lwp_settcb and remove them from mcontext.h, so that:
1. we don't need special hacks to hide them
2. we can include <lwp.h> where needed to get the necessary prototypes
without redefining them locally.
 1.39 12-Jul-2018  maxv branches: 1.39.36;
Remove the kernel PMC code. Sent yesterday on tech-kern@.

This change:

* Removes "options PERFCTRS", the associated includes, and the associated
ifdefs. In doing so, it removes several XXXSMPs in the MI code, which is
good.

* Removes the PMC code of ARM XSCALE.

* Removes all the pmc.h files. They were all empty, except for ARM XSCALE.

* Reorders the x86 PMC code not to rely on the legacy pmc.h file. The
definitions are put in sysarch.h.

* Removes the kern/sys_pmc.c file, and along with it, the sys_pmc_control
and sys_pmc_get_info syscalls. They are marked as OBSOL in kern,
netbsd32 and rump.

* Removes the pmc_evid_t and pmc_ctr_t types.

* Removes all the associated man pages. The sets are marked as obsolete.
 1.38 21-Dec-2015  christos branches: 1.38.16; 1.38.18;
Add mips fenv.h (From FreeBSD)
 1.37 23-Jul-2014  alnsn branches: 1.37.4;
Rename sljitarch.h to sljit_machdep.h.
 1.36 22-Jul-2014  alnsn Add sljitarch.h to cobalt and pmax.
 1.35 17-Jul-2011  joerg branches: 1.35.12; 1.35.26;
Retire varargs.h support. Move machine/stdarg.h logic into MI
sys/stdarg.h and expect compiler to provide proper builtins, defaulting
to the GCC interface. lint still has a special fallback.
Reduce abuse of _BSD_VA_LIST_ by defining __va_list by default and
derive va_list as required by standards.
 1.34 12-Aug-2009  matt Nuke a.out support for MIPS.
 1.33 18-Feb-2007  ad branches: 1.33.46;
+ mutex.h, rwlock.h
 1.32 29-Jul-2006  ad branches: 1.32.10;
Remove RASTERCONSOLE support from the pmax port.
 1.31 26-Jul-2006  drochner don't install <machine/db_machdep.h>, this is kernel only
 1.30 11-Dec-2005  christos branches: 1.30.4; 1.30.8;
merge ktrace-lwp.
 1.29 08-May-2004  kleink branches: 1.29.12;
Factor out W{CHAR,INT}_{MAX,MIN} into their own header file.
 1.28 18-Jan-2003  thorpej branches: 1.28.2;
Merge the nathanw_sa branch.
 1.27 26-Nov-2002  lukem Remove KDIR=, since SYS_INCLUDE=symlinks and KDIR are not supported any more.
 1.26 06-Sep-2002  gehenna Merge the gehenna-devsw branch into the trunk.

This merge changes the device switch tables from static array to
dynamically generated by config(8).

- All device switches is defined as a constant structure in device drivers.

- The new grammer ``device-major'' is introduced to ``files''.

device-major <prefix> char <num> [block <num>] [<rules>]

- All device major numbers must be listed up in port dependent majors.<arch>
by using this grammer.

- Added the new naming convention.
The name of the device switch must be <prefix>_[bc]devsw for auto-generation
of device switch tables.

- The backward compatibility of loading block/character device
switch by LKM framework is broken. This is necessary to convert
from block/character device major to device name in runtime and vice versa.

- The restriction to assign device major by LKM is completely removed.
We don't need to reserve LKM entries for dynamic loading of device switch.

- In compile time, device major numbers list is packed into the kernel and
the LKM framework will refer it to assign device major number dynamically.
 1.25 07-Aug-2002  briggs Implement pmc(9) -- An interface to hardware performance monitoring
counters. These counters do not exist on all CPUs, but where they
do exist, can be used for counting events such as dcache misses that
would otherwise be difficult or impossible to instrument by code
inspection or hardware simulation.

pmc(9) is meant to be a general interface. Initially, the Intel XScale
counters are the only ones supported.
 1.24 30-Nov-2001  gmcgarry branches: 1.24.10;
Remove clock_machdep.h.
 1.23 19-Sep-2001  thorpej branches: 1.23.4;
Remove pmax-specific fbio.h -- everything uses <dev/sun/fbio.h> now.
 1.22 15-Apr-2001  kleink branches: 1.22.2; 1.22.4;
Add definitions of C99 integer format conversion macros.
XXX Fastest minimum-width integer types haven't been decided upon yet.
 1.21 15-Apr-2001  kleink Add definitions of C99 specified-width integer type limits.
XXX Fastest minimum-width integer types haven't been decided upon yet.
 1.20 14-Apr-2001  kleink Add definitions of C99 integer constant macros.
Tidy Makefiles up a little.
 1.19 14-Apr-2001  kleink Add definitions of C99 minimum-width and greatest-width integer types.
XXX Fastest minimum-width integer types haven't been decided upon yet.
 1.18 26-Jun-2000  kleink branches: 1.18.2;
Add <machine/int_types.h>, which provides namespace-pure definitions
of exact-width integer types.
 1.17 29-Apr-2000  thorpej Require that each each MACHINE/MACHINE_ARCH supply a lock.h. This file
contains the values __SIMPLELOCK_LOCKED and __SIMPLELOCK_UNLOCKED, which
replace the old SIMPLELOCK_LOCKED and SIMPLELOCK_UNLOCKED. These files
are also required to supply inline functions __cpu_simple_lock(),
__cpu_simple_lock_try(), and __cpu_simple_unlock() if locking is to be
supported on that platform (i.e. if MULTIPROCESSOR is defined in the
_KERNEL case). Change these functions to take an int * (&alp->lock_data)
rather than the struct simplelock * itself.

These changes make it possible for userland to use the locking primitives
by including <machine/lock.h>.
 1.16 30-Mar-2000  soren Add asm.h like other ports.
 1.15 17-Mar-2000  tron Install "machineendian_machdep.h".
 1.14 23-Dec-1999  kleink C99: Define a NAN macro in <math.h> which evaulates to a constant expression of
a single-precision quiet NaN; only to be defined on platforms that do support
this value.
 1.13 09-Nov-1999  kleink Per discussion on tech-toolchain, remove MIPS-specific <machine/elf.h> header;
all the information is available from <sys/exec_elf.h>.
 1.12 25-Oct-1999  simonb Don't let loadfile_machdep.h make it to /usr/include - the pmax
stand Makefiles already set up the compile environment so that
machine/loadfile_machdep.h can be found.

XXX: Not done for i386, mmeye or sparc - I can't test these at the
moment. It should be as simple as making a machine symlink
pointing to .<some number of ../'s>./include in the objdir...
 1.11 30-Aug-1999  mrg branches: 1.11.2; 1.11.4; 1.11.6;
install ieee.h
 1.10 19-Jul-1999  simonb Put tc_machdep.h back - the X server needs it to build.
 1.9 28-Apr-1999  christos Add loadfile_machdep.h
 1.8 30-Mar-1999  soda branches: 1.8.2; 1.8.4; 1.8.6;
regdef.h is back
 1.7 30-Mar-1999  simonb Don't install sysconf.h - nothing is exported to userland in this file.
 1.6 13-Mar-1999  drochner regdef.h is gone
 1.5 12-Mar-1999  nisimura - Exclude 'tc_machdep.h' from installed in /usr/include/machine/ directory.
 1.4 31-Jan-1999  castor Remove genpubasym.cf stuff
 1.3 15-Jan-1999  bouyer Move the bswap functions from libutil to libc (this bups the
minor of libc and the major of libutil). For little-endian architectures
merge the bnswap() assembly versions with nto* and hton* using symbols
aliasing. Use symbol renaming for the bswap function in this case to avoid
namespace pollution.
Declare bswap* in machine/bswap.h, not machine/endian.h. For little-endian
machines, common code for inline macros go in machine/byte_swap.h
Sync libkern with libc.
Adjust #include in kernel sources for machine/bswap.h.
 1.2 15-Jan-1999  castor allow generated kernel includes and support mips pubassym.cf mechanism
 1.1 12-Jun-1998  cgd branches: 1.1.4;
Rework the way kernel include files are installed. In the new method,
as with user-land programs, include files are installed by each directory
in the tree that has includes to install. (This allows more flexibility
as to what gets installed, makes 'partial installs' easier, and gives us
more options as to which machines' includes get installed at any given
time.) The old SYS_INCLUDES={symlinks,copies} behaviours are _both_
still supported, though at least one bug in the 'symlinks' case is
fixed by this change. Include files can't be build before installation,
so directories that have includes as targets (e.g. dev/pci) have to move
those targets into a different Makefile.
 1.1.4.5 14-Mar-2000  nisimura Synchronize with the recent progress in main trunk. Main trunk is
close enough with this.
 1.1.4.4 03-Feb-2000  nisimura Catch up to recent changes in main trunk.
 1.1.4.3 15-Mar-1999  nisimura - Adjustment for 'machine/conf.h' removal.
- A bit cleanup of handcrafted TC device config.
 1.1.4.2 24-Feb-1999  drochner there is no regdef.h
 1.1.4.1 24-Feb-1999  nisimura - Synchronize with recent changes in main trunk.
 1.8.6.1 30-Nov-1999  itojun bring in latest KAME (as of 19991130, KAME/NetBSD141) into kame branch
just for reference purposes.
This commit includes 1.4 -> 1.4.1 sync for kame branch.

The branch does not compile at all (due to the lack of ALTQ and some other
source code). Please do not try to modify the branch, this is just for
referenre purposes.

synchronization to latest KAME will take place on HEAD branch soon.
 1.8.4.2 02-Aug-1999  thorpej Update from trunk.
 1.8.4.1 21-Jun-1999  thorpej Sync w/ -current.
 1.8.2.1 09-Aug-1999  cgd pull up contents of rev 1.10 (via patch). (simonb)
 1.11.6.1 27-Dec-1999  wrstuden Pull up to last week's -current.
 1.11.4.1 15-Nov-1999  fvdl Sync with -current
 1.11.2.2 21-Apr-2001  bouyer Sync with HEAD
 1.11.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.18.2.1 21-Jun-2001  nathanw Catch up to -current.
 1.22.4.1 01-Oct-2001  fvdl Catch up with -current.
 1.22.2.3 10-Oct-2002  jdolecek sync kqueue with -current; this includes merge of gehenna-devsw branch,
merge of i386 MP branch, and part of autoconf rototil work
 1.22.2.2 06-Sep-2002  jdolecek sync kqueue branch with HEAD
 1.22.2.1 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.23.4.6 11-Dec-2002  thorpej Sync with HEAD.
 1.23.4.5 17-Sep-2002  nathanw Catch up to -current.
 1.23.4.4 13-Aug-2002  nathanw Catch up to -current.
 1.23.4.3 08-Jan-2002  nathanw Catch up to -current.
 1.23.4.2 17-Nov-2001  wdk mcontext support for MIPS based ports.
 1.23.4.1 19-Sep-2001  wdk file Makefile was added on branch nathanw_sa on 2001-11-17 23:12:11 +0000
 1.24.10.2 31-Aug-2002  gehenna catch up with -current.
 1.24.10.1 19-May-2002  gehenna Remove port-dependent conf.h.
 1.28.2.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.28.2.2 18-Sep-2004  skrll Sync with HEAD.
 1.28.2.1 03-Aug-2004  skrll Sync with HEAD
 1.29.12.2 26-Feb-2007  yamt sync with head.
 1.29.12.1 30-Dec-2006  yamt sync with head.
 1.30.8.1 11-Aug-2006  yamt sync with head
 1.30.4.1 09-Sep-2006  rpaulo sync with head
 1.32.10.1 27-Feb-2007  yamt - sync with head.
- move sched_changepri back to kern_synch.c as it doesn't know PPQ anymore.
 1.33.46.1 19-Aug-2009  yamt sync with head.
 1.35.26.1 10-Aug-2014  tls Rebase.
 1.35.12.2 03-Dec-2017  jdolecek update from HEAD
 1.35.12.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.37.4.1 27-Dec-2015  skrll Sync with HEAD (as of 26th Dec)
 1.38.18.1 10-Jun-2019  christos Sync with HEAD
 1.38.16.1 28-Jul-2018  pgoyette Sync with HEAD
 1.39.36.1 02-Aug-2025  perseant Sync with HEAD
 1.7 19-Mar-1996  jonathan Replace ansi.h with a version that just does #include <mips/ansi.h>.
 1.6 16-Mar-1996  jtc Add _BSD_WINT_T_ definition so we can handle wint_t type added in NA1.
 1.5 26-Oct-1994  cgd new RCS ID format.
 1.4 27-May-1994  glass bsd 4.4-lite pmax port as ported to NetBSD
 1.3 27-May-1994  glass upgrade to bsd 4.4-lite code base. only mod is rcsids
 1.2 15-Oct-1993  deraadt update from rick, tarfile of Oct 11 10:46
 1.1 12-Oct-1993  deraadt branches: 1.1.1;
Initial revision
 1.1.1.1 12-Oct-1993  deraadt pmax code from <ralphc@pyramid.com> & <rick@snowhite.cis.uoguelph.ca>
 1.8 12-Aug-2009  matt Nuke a.out support for MIPS.
 1.7 08-Oct-1996  cgd branches: 1.7.172; 1.7.186;
repoint at shared aout_machdep.h, not exec.h
 1.6 19-Mar-1996  jonathan Replace the following header files from src/sys/arch/pmax/include/
with versions that include equivalent files from <mips/include>.
(cvs magic copied the previous revisions, with history, to
src/sys/arch/mips/include).

bsd-aout.h elf.h endian.h exec.h float.h ieeefp.h limit.h pcb.h proc.h
profile.h reg.h regdef.h setjmp.h stdarg.h vmparam.h
 1.5 26-Oct-1994  cgd new RCS ID format.
 1.4 27-May-1994  glass bsd 4.4-lite pmax port as ported to NetBSD
 1.3 27-May-1994  glass upgrade to bsd 4.4-lite code base. only mod is rcsids
 1.2 14-Jan-1994  deraadt some pmax updating (Terry Friedrichsen is helping on this now).
 1.1 12-Oct-1993  deraadt branches: 1.1.1;
Initial revision
 1.1.1.1 12-Oct-1993  deraadt pmax code from <ralphc@pyramid.com> & <rick@snowhite.cis.uoguelph.ca>
 1.7.186.1 24-Oct-2010  jym Sync with HEAD
 1.7.172.1 19-Aug-2009  yamt sync with head.
 1.1 30-Mar-2000  soren branches: 1.1.6;
Add asm.h like other ports.
 1.1.6.2 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.1.6.1 30-Mar-2000  bouyer file asm.h was added on branch thorpej_scsipi on 2000-11-20 20:20:24 +0000
 1.19 14-Mar-2009  dsl Remove all the __P() from sys (excluding sys/dist)
Diff checked with grep and MK1 eyeball.
i386 and amd64 GENERIC and sys still build.
 1.18 22-Mar-2003  simonb branches: 1.18.108; 1.18.116; 1.18.122; 1.18.126;
Fix a grammatical nit.
 1.17 09-Jan-2000  ad - Fix RCS Ids.
- Spacing.
- Protect from multiple inclusion in a consistant way (except on headers
that do nothing except function as mips header wrappers).
 1.16 09-Jan-2000  simonb Use the badaddr() prototype in mips/include/cpu.h by including
<machine/cpu.h> in mips/include/mips_param.h. Remove duplicate
badaddr() prototypes from some pmax header files.
 1.15 08-Jan-2000  simonb Function prototype cleanup.
 1.14 15-Nov-1999  nisimura Very large scale change to sweep obstracles to remove 3MAX IOASIC disguise.
- Rework ibus device configuration and interrupt handler assignment.
- Remove TC device exposure in 'mainbus.c'
- Squash 'ibus_{3100,5100}.c' into a file; it can not cope with 3max.
- 'struct confargs' -> 'struct mainbus_attach_args'
Now about to remove tc_slot_info[] and tc_enable_interrupt inherited from
4.4BSD.
 1.13 26-May-1999  nisimura branches: 1.13.2; 1.13.8;
- Continue on branch merge, incrementally.
- Catch up filename changes escaped to be fixed.
 1.12 24-Apr-1999  simonb Nuke register and remove trailling white space.
 1.11 16-Mar-1999  nisimura branches: 1.11.4;
- Final cut of TC decoulping.
 1.10 12-Mar-1999  nisimura - Nuke old leftover bogocities, round one; externs for non-existent
functions, less-intuitive #define's in inappropriate header files.
 1.9 06-Oct-1998  thorpej branches: 1.9.2;
configure() prototype is in <sys/device.h>
 1.8 25-May-1997  jonathan Lint: machdep.c calls configure() and makebootdev().
Move their declaratinos to pmax/autoconf.h.
 1.7 29-May-1996  mhitch Fix autoconfig stuff to match the alpha. The DS3100 will now
configure properly.
 1.6 14-Apr-1996  jonathan branches: 1.6.4;
Add a prototype for generic_intr_establish(), the bus-independent
pmax interrupt-establish function.
 1.5 18-Mar-1996  jonathan Change kn01 (pmax,3100) interrupt-enable signature to match
the NetBSD-1.1 convention. Change the mainbus `struct confargs'
and the "generic" interrupt-establish method, used by devices that
appear on both a kn01 and TC decstations, to match.

Change the macros in autconf.h accordingly.
 1.4 29-Jan-1996  jonathan Re-write Decstation turbochannel autoconfiguration code to use the machine-
independent TC support in sys/dev/tc/tc.c and sys/dev/tc/tcvar.h:
* Change the tc autoconfiguration tables to use a struct tc_attach_args
instead of the ad-hoc structure.
* Change all pmax device drivers to use a `struct confargs' that's
assignment-compatible with sys/dev/tc/tcvar.h `struct tcdev_attach_args'.
Devices that can be present on a TC or as ioctl asic/mainbus builtins
use the same `struct confargs'.
* Eliminate the `BUS_CVTADDR()' macros which the pmax port inherited from
an old, now-obsolete sys/arch/alpha snapshot.

* Update the comments and debugging code in interrupt handlers to
be consistent with the machine-independent TC support.

Other commits that overlap the same source files include: re-enabling
clock-tick interrupts earlier, and counting hardclock ticks for vmstat -i.
 1.3 11-Jan-1996  jonathan Change the order of members of struct confargs, to be closer to
the sys/dev/tcvar.h TurboChannel configuration structures. (the initializers
in sys/arch/pmax/tc were already changed; the structure definition wasn't,
which broke autoconfiguration.)
 1.2 20-Sep-1995  jonathan Change the signature of interrupt-handlers to take a void *
(a pointer to the softc) and return an int (indicating spurious
interrupts or other conditions.)
 1.1 04-Aug-1995  jonathan Declarations for new-config autoconfigure, based on NetBSD/Alpha.
 1.6.4.1 30-May-1996  mhitch Pulled autoconfig fixes up from the trunk
 1.9.2.6 03-Feb-2000  nisimura Catch up to recent changes in main trunk.
 1.9.2.5 11-Jun-1999  nisimura - Track main trunk changes and cleanup accumulated bozos I made so far.
 1.9.2.4 15-Mar-1999  nisimura - Adjustment for 'machine/conf.h' removal.
- A bit cleanup of handcrafted TC device config.
 1.9.2.3 15-Mar-1999  nisimura - Decouple "ibus" from TURBOchannel implementation.
- Sync. with main trunk.
 1.9.2.2 20-Oct-1998  nisimura - Add cleaner supports for model specific sub-milliseconds high resolution
timer circuit. 3MAX+ has IOASIC bus cycle counter and MAXINE has its own
circuit. R4000 3MIN ultilizes onchip counter (but I'm not sure how
acculately current codes measure on runtime).
- Add write buffer flush routines for each model. Most DECstations have
their own logics for write buffer flushing different from each other.
It's not good to assume R3000 computers have write buffer drain logic
tied with processor's CU0 bits. Some of modern R3000 CPUs have write
buffer 4 deep FIFO circuit builtin.
- A bit cleanup in conf/files.pmax.
- Add missing kn02ba_memerr() call in pmax/dec_3min.c
- Nuke old remainings in include/autoconf.h
 1.9.2.1 15-Oct-1998  nisimura - Reflect new internals.
 1.11.4.1 21-Jun-1999  thorpej Sync w/ -current.
 1.13.8.1 27-Dec-1999  wrstuden Pull up to last week's -current.
 1.13.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.18.126.1 24-Dec-2010  matt Adapt to the new spl/interrupt framework.
Include <mips/locore.h> when needed.
 1.18.122.1 13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.18.116.1 28-Apr-2009  skrll Sync with HEAD.
 1.18.108.1 04-May-2009  yamt sync with head.
 1.8 14-Mar-2009  dsl Remove all the __P() from sys (excluding sys/dist)
Diff checked with grep and MK1 eyeball.
i386 and amd64 GENERIC and sys still build.
 1.7 11-Dec-2005  christos branches: 1.7.78; 1.7.86; 1.7.92; 1.7.96;
merge ktrace-lwp.
 1.6 24-Mar-2004  drochner remove license clauses 3 and 4 from my cpoyright notices
 1.5 09-Jan-2000  ad branches: 1.5.30;
- Fix RCS Ids.
- Spacing.
- Protect from multiple inclusion in a consistant way (except on headers
that do nothing except function as mips header wrappers).
 1.4 08-Jan-2000  simonb Function prototype cleanup.
 1.3 24-Apr-1999  simonb branches: 1.3.2;
Nuke register and remove trailling white space.
 1.2 22-Apr-1999  simonb Move BOOTINFO_ADDR up to 0x8001fc00, and reduce the maximum size of a
bootinfo record to 1kB (we are using less than 200 bytes now) so that it
doesn't run into addition PROM memory.

At 0x8001f00 the bootinfo record was stomping on some memory used by the
SFB cards for font information.
 1.1 23-Mar-1999  simonb branches: 1.1.2; 1.1.4;
Define a bootinfo record and initial structures that the pmax will use.
Modeled on i386 and bebox bootinfo.h.
 1.1.4.1 22-Apr-1999  perry branches: 1.1.4.1.2;
pullup 1.1->1.2 (simonb)
 1.1.4.1.2.1 21-Jun-1999  thorpej Sync w/ -current.
 1.1.2.3 12-Nov-1999  nisimura Sync. w/ main trunk changes.
 1.1.2.2 29-Mar-1999  drochner pull up to branch (new file)
 1.1.2.1 23-Mar-1999  drochner file bootinfo.h was added on branch nisimura-pmax-wscons on 1999-03-29 18:11:39 +0000
 1.3.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.5.30.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.5.30.2 18-Sep-2004  skrll Sync with HEAD.
 1.5.30.1 03-Aug-2004  skrll Sync with HEAD
 1.7.96.1 24-Dec-2010  matt Adapt to the new spl/interrupt framework.
Include <mips/locore.h> when needed.
 1.7.92.1 13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.7.86.1 28-Apr-2009  skrll Sync with HEAD.
 1.7.78.1 04-May-2009  yamt sync with head.
 1.5 12-Aug-2009  matt Nuke a.out support for MIPS.
 1.4 09-Jan-2000  ad branches: 1.4.136; 1.4.150;
This is just a wrapper, nuke comment so it's like the others.
 1.3 19-Mar-1996  jonathan branches: 1.3.32;
Replace the following header files from src/sys/arch/pmax/include/
with versions that include equivalent files from <mips/include>.
(cvs magic copied the previous revisions, with history, to
src/sys/arch/mips/include).

bsd-aout.h elf.h endian.h exec.h float.h ieeefp.h limit.h pcb.h proc.h
profile.h reg.h regdef.h setjmp.h stdarg.h vmparam.h
 1.2 28-Mar-1995  jtc KERNEL -> _KERNEL
 1.1 18-Jan-1995  mellon 4.4BSD binary format
 1.3.32.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.4.150.1 24-Oct-2010  jym Sync with HEAD
 1.4.136.1 19-Aug-2009  yamt sync with head.
 1.2 09-Jan-2000  ad - Fix RCS Ids.
- Spacing.
- Protect from multiple inclusion in a consistant way (except on headers
that do nothing except function as mips header wrappers).
 1.1 15-Jan-1999  bouyer branches: 1.1.2; 1.1.10;
Move the bswap functions from libutil to libc (this bups the
minor of libc and the major of libutil). For little-endian architectures
merge the bnswap() assembly versions with nto* and hton* using symbols
aliasing. Use symbol renaming for the bswap function in this case to avoid
namespace pollution.
Declare bswap* in machine/bswap.h, not machine/endian.h. For little-endian
machines, common code for inline macros go in machine/byte_swap.h
Sync libkern with libc.
Adjust #include in kernel sources for machine/bswap.h.
 1.1.10.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.1.2.2 22-Jan-1999  nisimura - Sync with various changes recently done in main trunk.
 1.1.2.1 15-Jan-1999  nisimura file bswap.h was added on branch nisimura-pmax-wscons on 1999-01-22 04:13:50 +0000
 1.31 16-Nov-2016  macallan branches: 1.31.8;
switch to common MIPS bus_space and bus_dma
tested by flxd@
 1.30 20-Feb-2011  matt branches: 1.30.14; 1.30.32; 1.30.36;
Merge forward from matt-nb5-mips64.
New interrupt code.
mips64 support for DS5000/260.
 1.29 14-Mar-2009  dsl branches: 1.29.4; 1.29.6; 1.29.8;
Remove all the __P() from sys (excluding sys/dist)
Diff checked with grep and MK1 eyeball.
i386 and amd64 GENERIC and sys still build.
 1.28 28-Apr-2008  martin branches: 1.28.8; 1.28.14; 1.28.18;
Remove clause 3 and 4 from TNF licenses
 1.27 04-Mar-2007  christos branches: 1.27.40; 1.27.42; 1.27.44;
Kill caddr_t; there will be some MI fallout, but it will be fixed shortly.
 1.26 21-Feb-2007  mrg add a pair of new bus_dma(9) functions:
int _bus_dmatag_subregion(bus_dma_tag_t tag,
bus_addr_t min_addr,
bus_addr_t max_addr,
bus_dma_tag_t *newtag,
int flags)
void _bus_dmatag_destroy(bus_dma_tag_t tag)

that allow a (normally broken/limited) device to restrict the bus address
range it can talk to. this is used by bce(4) to limit DMA addresses to
1GB range, the maximum the chip can address.

all this is from Yorick Hardy <yhardy@uj.ac.za> with input from several
people on tech-kern.

XXX: bus_dma(9) needs an update still.
 1.25 26-May-2006  tsutsui branches: 1.25.12;
Tweak bus_space_barrier(9) macro to appease
"left-hand operand of comma expression has no effect"
warnings by gcc4.
 1.24 01-Mar-2006  yamt branches: 1.24.2; 1.24.8;
merge yamt-uio_vmspace branch.

- use vmspace rather than proc or lwp where appropriate.
the latter is more natural to specify an address space.
(and less likely to be abused for random purposes.)
- fix a swdmover race.
 1.23 16-Feb-2006  perry Change "inline" back to "__inline" in .h files -- C99 is still too
new, and some apps compile things in C89 mode. C89 keywords stay.

As per core@.
 1.22 24-Dec-2005  perry branches: 1.22.2; 1.22.4; 1.22.6;
Remove leading __ from __(const|inline|signed|volatile) -- it is obsolete.
 1.21 11-Dec-2005  christos merge ktrace-lwp.
 1.20 09-Mar-2005  matt branches: 1.20.4;
Add a dm_maxsegsz public member to bus_dmamap_t. This allows a user of the API
to select the maximum segment size for each bus_dmamap_load (up to the maxsegsz
supplied to bus_dmamap_create). dm_maxsegsz is reset to the value supplied to
bus_dmamap_create when the dmamap is unloaded.
 1.19 15-Jun-2003  fvdl branches: 1.19.2; 1.19.10; 1.19.12;
Handle 64bit DMA addresses on PCI for platforms that can (currently only
enabled on amd64). Add a dmat64 field to various PCI attach structures,
and pass it down where needed. Implement a simple new function called
pci_dma64_available(pa) to test if 64bit DMA addresses may be used.
This returns 1 iff _PCI_HAVE_DMA64 is defined in <machine/pci_machdep.h>,
and there is more than 4G of memory.
 1.18 28-Jan-2003  kent Introduce BUS_DMA_NOCACHE, and bus_dmamem_map() of i386 supports it.
 1.17 17-Mar-2002  simonb Make sure that private DMA flags don't overlap with standard DMA flags;
start these at 0x10000 to leave room for an increase in the latter.
 1.16 14-Nov-2001  thorpej branches: 1.16.2;
Merge the thorpej-mips-cache branch onto the trunk. This is an
overhaul of how caches are handled for NetBSD's MIPS ports.
 1.15 19-Jul-2001  thorpej branches: 1.15.4;
Add BUS_DMA_READ and BUS_DMA_WRITE flags, that hint the back-end
at dmamap load time that the mapping will be used for a unidirectional
transfer of the specified direction.
 1.14 07-Mar-2001  thorpej branches: 1.14.2;
Add the BUS_DMA_STREAMING flag.
 1.13 26-Jun-2000  simonb branches: 1.13.2;
Change the kernel mmap interface so that the offset to map is an
"off_t" and the return value is a "paddr_t" to allow mappings
at offsets past 2^31 bytes. Somewhat inspired by FreeBSD, which
only changed the offset to a "vm_offset_t".

Includes updates for the i386, pc532 and sh3 mmmmap from Jason Thorpe.
 1.12 17-Apr-2000  drochner branches: 1.12.4;
implement bus_space_vaddr()
 1.11 25-Jan-2000  drochner define a "BUS_SPACE_MAP_PREFETCHABLE" flag which basically means that
device accesses are idempotent (but should not be cached by the CPU)
 1.10 09-Jan-2000  ad - Fix RCS Ids.
- Spacing.
- Protect from multiple inclusion in a consistant way (except on headers
that do nothing except function as mips header wrappers).
 1.9 08-Apr-1999  nisimura branches: 1.9.2;
- MIPS processors do not require to have memory barrier prior to read ops.
 1.8 23-Mar-1999  drochner branches: 1.8.4;
Add a macro to check for sufficient pointer alignment in bus.h context,
"BUS_SPACE_ALIGNED_POINTER()".
Equal to the param.h "ALIGNED_POINTER()" normally, but obeys additional
requirements of the bus_space_xxx_n() macros. (BUS_SPACE_DEBUG)
 1.7 06-Jan-1999  nisimura - Complete vm_offset_t purge for DECstation.
 1.6 03-Jun-1998  thorpej branches: 1.6.4;
Add a "virtual address" private member to the pmax bus_dma_segment_t, for
use in R4000 cache flush operations in bus_dmamap_sync().
 1.5 22-May-1998  thorpej Complete from-scratch rewrite of the DECstation bus.h, brining it
up-to-date with the current API, and implementing preliminary
support for bus_dma.
 1.4 28-Nov-1997  jonathan Fix typo in bus_space_barrier definition. See PR 4488.
 1.3 30-Aug-1997  jonathan branches: 1.3.4;
Replace copyright notice.
 1.2 16-Jun-1997  jonathan branches: 1.2.4;
Commit addition of `#include <mips/locore.h>' to pmax/include.bus.h.
 1.1 08-Jun-1997  jonathan A pre-busdma pmax <bus.h> skeleton.
 1.2.4.1 01-Sep-1997  thorpej Update marc-pcmcia branch from trunk.
 1.3.4.1 28-Nov-1997  mellon Pull rev 1.4 up from trunk (jonathan)
 1.6.4.3 08-Apr-1999  nisimura - Synchronize a change in main trunk.
 1.6.4.2 23-Mar-1999  drochner Add a macro to check for sufficient pointer alignment in bus.h context,
"BUS_SPACE_ALIGNED_POINTER()".
Equal to the param.h "ALIGNED_POINTER()" normally, but obeys additional
requirements of the bus_space_xxx_n() macros. (BUS_SPACE_DEBUG)
 1.6.4.1 22-Jan-1999  nisimura - Sync with various changes recently done in main trunk.
 1.8.4.1 21-Jun-1999  thorpej Sync w/ -current.
 1.9.2.2 12-Mar-2001  bouyer Sync with HEAD.
 1.9.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.12.4.1 30-Jun-2000  simonb Pull up mmap paddr_t/off_t changes from trunk.
 1.13.2.1 09-Apr-2001  nathanw Catch up with -current.
 1.14.2.3 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.14.2.2 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.14.2.1 03-Aug-2001  lukem update to -current
 1.15.4.1 24-Oct-2001  thorpej Update for the new cache code. There are now two optimized
bus_dmamap_sync routines: one for a physically-indexed write-through
cache, and one for a virtually-indexed write-back cache.
 1.16.2.2 01-Apr-2002  nathanw Catch up to -current.
(CVS: It's not just a program. It's an adventure!)
 1.16.2.1 14-Nov-2001  nathanw file bus.h was added on branch nathanw_sa on 2002-04-01 07:41:56 +0000
 1.19.12.1 19-Mar-2005  yamt sync with head. xen and whitespace. xen part is not finished.
 1.19.10.1 29-Apr-2005  kent sync with -current
 1.19.2.1 01-Apr-2005  skrll Sync with HEAD.
 1.20.4.3 03-Sep-2007  yamt sync with head.
 1.20.4.2 26-Feb-2007  yamt sync with head.
 1.20.4.1 21-Jun-2006  yamt sync with head.
 1.22.6.2 01-Jun-2006  kardel Sync with head.
 1.22.6.1 22-Apr-2006  simonb Sync with head.
 1.22.4.1 09-Sep-2006  rpaulo sync with head
 1.22.2.2 18-Feb-2006  yamt sync with head.
 1.22.2.1 18-Feb-2006  yamt adapt the rest of MD code.
 1.24.8.1 19-Jun-2006  chap Sync with head.
 1.24.2.1 26-Jun-2006  yamt sync with head.
 1.25.12.2 12-Mar-2007  rmind Sync with HEAD.
 1.25.12.1 27-Feb-2007  yamt - sync with head.
- move sched_changepri back to kern_synch.c as it doesn't know PPQ anymore.
 1.27.44.2 04-May-2009  yamt sync with head.
 1.27.44.1 16-May-2008  yamt sync with head.
 1.27.42.1 18-May-2008  yamt sync with head.
 1.27.40.1 02-Jun-2008  mjf Sync with HEAD.
 1.28.18.1 24-Dec-2010  matt Adapt to the new spl/interrupt framework.
Include <mips/locore.h> when needed.
 1.28.14.1 13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.28.8.1 28-Apr-2009  skrll Sync with HEAD.
 1.29.8.1 05-Mar-2011  bouyer Sync with HEAD
 1.29.6.1 06-Jun-2011  jruoho Sync with HEAD.
 1.29.4.1 05-Mar-2011  rmind sync with head
 1.30.36.1 07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.30.32.1 05-Dec-2016  skrll Sync with HEAD
 1.30.14.1 03-Dec-2017  jdolecek update from HEAD
 1.31.8.1 25-Jul-2017  snj Apply patch (requested by flxd in ticket #154):
Revert pmax switch to common MIPS bus_space and bus_dma.
 1.5 19-Mar-1996  jonathan Replace the following additional header files from src/sys/arch/pmax/include/
with versions that include equivalent files from <mips/include>,
after merging changes from the pmax and pica ports into the
src/sys/arch/mips/include tree.

ptrace.h cdefs.h pmap.h signal.h kdbparam.h
 1.4 15-Dec-1995  jonathan Change mips __warn_references() macro to use the ELF warning features
in binutils 2.6 and (patched) gcc 2.7.2. Only works with gcc in ANSI C
mode, for now.
 1.3 03-May-1995  mellon Use Alpha cdefs.h
 1.2 23-Mar-1995  jtc Changed name of __weak_reference() to __indr_reference(). They really
are indirect references, and I want to add a real __weak_reference()
macro to <machine/cdefs.h> soon.
 1.1 19-Jan-1995  jtc This file, which will be included by <sys/cdefs.h>, will contain macros
such as __warn_references() and __weak_reference() which are actually
machine dependant. This will make it easier for ports that are being
bootstraped with ELF and ECOFF based toolchains.

This change also introduces a new macro, _C_LABEL(x). _C_LABEL expands
its argument, an identifier, to a character string of the identifier
name as it is represented in an object file.

For most ports, _C_LABEL(x) will expand to "_x", for ELF based ports
_C_LABEL(x) will expand to "x".
 1.6 23-Nov-2001  simonb Remove hardcoded values for HZ (under different names!) from mcclock.c
and clock_machdep.h, so that now HZ can be any supported frequency of
the mc146818a/ds1287a RTCs.
Tested at 256Hz and 2048Hz.
 1.5 09-Jan-2000  ad branches: 1.5.8; 1.5.12;
- Fix RCS Ids.
- Spacing.
- Protect from multiple inclusion in a consistant way (except on headers
that do nothing except function as mips header wrappers).
 1.4 25-Aug-1999  simonb branches: 1.4.2;
Fix some small tyops.
 1.3 26-Sep-1998  drochner branches: 1.3.2;
Use the RTC chip as time-of-year clock, as the PROM console and Ultrix do.
 1.2 22-Jun-1997  jonathan branches: 1.2.8;
Copyright to NetBSD foundation.
 1.1 22-Jun-1997  jonathan Import mcclock from NetBSD/Alpha, mostly replacing the Sprite clock code.
interface. From Toru Nishimura <nisimura@itc.aist-nara.ac.jp>.

Partly merged back with Alpha code by Jonathan Stone. Needs more merging.
 1.2.8.1 23-Nov-1998  cgd Patch to it fixes a offset between the base year which the PROM
keeps the clock in (1972 or 1973) and the current year. Not
applicable to -current; done differently. (jonathan)
 1.3.2.2 12-Nov-1999  nisimura Sync. w/ main trunk changes.
 1.3.2.1 15-Oct-1998  nisimura - Reflect new internals.
 1.4.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.5.12.1 28-Feb-2002  nathanw Catch up to -current.
 1.5.8.1 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.8 06-Sep-2002  gehenna Merge the gehenna-devsw branch into the trunk.

This merge changes the device switch tables from static array to
dynamically generated by config(8).

- All device switches is defined as a constant structure in device drivers.

- The new grammer ``device-major'' is introduced to ``files''.

device-major <prefix> char <num> [block <num>] [<rules>]

- All device major numbers must be listed up in port dependent majors.<arch>
by using this grammer.

- Added the new naming convention.
The name of the device switch must be <prefix>_[bc]devsw for auto-generation
of device switch tables.

- The backward compatibility of loading block/character device
switch by LKM framework is broken. This is necessary to convert
from block/character device major to device name in runtime and vice versa.

- The restriction to assign device major by LKM is completely removed.
We don't need to reserve LKM entries for dynamic loading of device switch.

- In compile time, device major numbers list is packed into the kernel and
the LKM framework will refer it to assign device major number dynamically.
 1.7 28-Feb-2002  simonb branches: 1.7.6; 1.7.10;
Use "#define<tab>".
 1.6 27-Feb-2002  christos - define other DEV_ constants that the local port uses.
- delete cdev_decl(mm) since <sys/conf.h> does it.
 1.5 26-Aug-2001  simonb branches: 1.5.6;
Switch to MI SCSI and drop old pmax MD SCSI support completely.
 1.4 09-Jan-2000  ad branches: 1.4.8;
- Fix RCS Ids.
- Spacing.
- Protect from multiple inclusion in a consistant way (except on headers
that do nothing except function as mips header wrappers).
 1.3 09-Jan-2000  simonb The clean-up continues:
- Make local-only function and variables static.
- Move function prototypes and extern variable declarations to
header files.
- Delete unused variables.
There's still a handful of extern declaraions that should be fixed up.
 1.2 14-Apr-1996  jonathan branches: 1.2.20; 1.2.32;
Add cdev_decl() declarations for the "dtop", "fb" , and "rcons" drivers.
 1.1 10-Apr-1996  jonathan Create pmax-specific <machine/conf.h>, with prototyped declarations
for the cdevsw and bdevsw entries into pmax device drivers.
 1.2.32.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.2.20.1 15-Mar-1999  nisimura - Adjustment for 'machine/conf.h' removal.
- A bit cleanup of handcrafted TC device config.
 1.4.8.3 10-Oct-2002  jdolecek sync kqueue with -current; this includes merge of gehenna-devsw branch,
merge of i386 MP branch, and part of autoconf rototil work
 1.4.8.2 16-Mar-2002  jdolecek Catch up with -current.
 1.4.8.1 13-Sep-2001  thorpej Update the kqueue branch to HEAD.
 1.5.6.4 17-Sep-2002  nathanw Catch up to -current.
 1.5.6.3 01-Apr-2002  nathanw Catch up to -current.
(CVS: It's not just a program. It's an adventure!)
 1.5.6.2 28-Feb-2002  nathanw Catch up to -current.
 1.5.6.1 26-Aug-2001  nathanw file conf.h was added on branch nathanw_sa on 2002-02-28 04:11:22 +0000
 1.7.10.1 19-May-2002  gehenna Remove port-dependent conf.h.
 1.7.6.1 15-Mar-2002  ad Changes necessary for wscons on NetBSD/pmax. All device support is here,
just needs further testing.
 1.27 04-Sep-2001  simonb branches: 1.27.6;
May as well include <mips/cpuregs.h> in <mips/cpu.h> once rather than
in every MIPS port's <machine/cpu.h>.
 1.26 04-Sep-2001  simonb Centralise struct cpu_info declaration and related info to <mips/cpu.h>.
 1.25 30-May-2001  mrg branches: 1.25.2;
use _KERNEL_OPT
 1.24 26-May-2000  thorpej branches: 1.24.6;
First sweep at scheduler state cleanup. Collect MI scheduler
state into global and per-CPU scheduler state:

- Global state: sched_qs (run queues), sched_whichqs (bitmap
of non-empty run queues), sched_slpque (sleep queues).
NOTE: These may collectively move into a struct schedstate
at some point in the future.

- Per-CPU state, struct schedstate_percpu: spc_runtime
(time process on this CPU started running), spc_flags
(replaces struct proc's p_schedflags), and
spc_curpriority (usrpri of processes on this CPU).

- Every platform must now supply a struct cpu_info and
a curcpu() macro. Simplify existing cpu_info declarations
where appropriate.

- All references to per-CPU scheduler state now made through
curcpu(). NOTE: this will likely be adjusted in the future
after further changes to struct proc are made.

Tested on i386 and Alpha. Changes are mostly mechanical, but apologies
in advance if it doesn't compile on a particular platform.
 1.23 11-Apr-2000  nisimura Change to have cpu_intr() peculiar to DECstations; have ssir global
variable and cpu_intr() body in machdep.c. Reorder and rename
model specific interrupt handler arguments. Fixup machine/intr.h and
machine/cpu.h appropriately.
 1.22 24-Mar-2000  soren Revert previous.
 1.21 24-Mar-2000  soren Move sysctl definitions from arch/mips to arch/foo.
 1.20 09-Jan-2000  ad - Fix RCS Ids.
- Spacing.
- Protect from multiple inclusion in a consistant way (except on headers
that do nothing except function as mips header wrappers).
 1.19 16-Jan-1999  nisimura branches: 1.19.8;
- Fixup for recent change in arch/mips.
 1.18 25-Mar-1998  jonathan branches: 1.18.4;
Use an MD name for the FPU-interrupt mask, as in PR # 4399.
mips-based Sony news wire the FPU to hard-interrupt 3, rather than 5
as recommended in Kane.
 1.17 16-Jun-1997  jonathan Yet more merging:
* Move declaration of locore communcation variables (CPU family,
cache sizes, etc) to mips/include/locore.h. Delete from
pmax/include/cpu.h and older versions from pica/include/cpu.h.

* Move definitions of CLKF_BASEPRI, CLKF_USERMODE to mips/include/cpu.
* Delete duplicate definitions in pica/include/cpu.h, pmax/include/cpu.h.
 1.16 15-Jun-1997  mhitch More merged MIPS1/MIPS3 support for DECstations.
 1.15 19-May-1996  jonathan Add declarations for the locore variables cpu_id and fpu_id, compatible
with the Pica r4000 locore. These variables are now used
by the cpu-identification routines in mips/mips/mips_machdep.c.
 1.14 24-Mar-1996  jonathan Replace pica and pmax include/cpu.h with versions that #include <mips/cpu.h>,
and add port-specific and r3k vs. r4k definitions.
 1.13 19-Mar-1996  jonathan Add additional mips CPU and FPU ids from Pica port:
IDT r3081 family, r4600, MIPS-IV architecture, others.
 1.12 28-Jun-1995  cgd remove unused cpu_exec() definitions. moved "broken swap" markers, for
ports that still need it, to types.h.
 1.11 05-May-1995  cgd define BROKEN_SWAP and/or cpu_swapout as appropriate.
 1.10 22-Apr-1995  christos - added sunos_machdep.c for sun3, atari, amiga and mac68k.
- changed machdep.c and trap.c to use struct emul.
- remove ep_setup references.
- added struct emul to all emulations.
 1.9 28-Mar-1995  jtc KERNEL -> _KERNEL
 1.8 26-Oct-1994  cgd new RCS ID format.
 1.7 02-Jun-1994  glass fix a few integration bugs, add vmfault debugging, more ultrix stuff
 1.6 27-May-1994  glass bsd 4.4-lite pmax port as ported to NetBSD
 1.5 27-May-1994  glass upgrade to bsd 4.4-lite code base. only mod is rcsids
 1.4 15-Jan-1994  deraadt intrframe -> clockframe
 1.3 14-Jan-1994  deraadt some pmax updating (Terry Friedrichsen is helping on this now).
 1.2 15-Oct-1993  deraadt update from rick, tarfile of Oct 11 10:46
 1.1 12-Oct-1993  deraadt branches: 1.1.1;
Initial revision
 1.1.1.1 12-Oct-1993  deraadt pmax code from <ralphc@pyramid.com> & <rick@snowhite.cis.uoguelph.ca>
 1.18.4.2 22-Jan-1999  nisimura - Sync with various changes recently done in main trunk.
 1.18.4.1 15-Oct-1998  nisimura - Reflect new internals.
 1.19.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.24.6.1 21-Jun-2001  nathanw Catch up to -current.
 1.25.2.1 13-Sep-2001  thorpej Update the kqueue branch to HEAD.
 1.27.6.2 04-Sep-2001  simonb May as well include <mips/cpuregs.h> in <mips/cpu.h> once rather than
in every MIPS port's <machine/cpu.h>.
 1.27.6.1 04-Sep-2001  simonb file cpu.h was added on branch nathanw_sa on 2001-09-04 06:23:18 +0000
 1.1 05-Feb-2003  nakayama Replace machine/rnd.h with more appropriate name to share it
with cycle counter based microtime in kern/kern_microtime.c.
 1.5 06-Nov-2017  christos Cleanup and clarify the ELFSIZE mess:

We now have 2 variables automatically set in elf_machdep.h:

ARCH_ELFSIZE: the size for userland binaries
KERN_ELFSIZE: the size for the kernel binaries

DB_ELFSIZE has been deleted and KERN_ELFSIZE should have always the
same values DB_ELFSIZE used to have.

In sys/exec_elf.h, if ELFSIZE is not set, it is set to KERN_ELFSIZE
for the kernel and ARCH_ELFSIZE for userland. These defaults should
eliminate the need for most manual ELFSIZE setting.
 1.4 11-Apr-2011  mrg branches: 1.4.14;
obsolete DB_AOUT_SYMBOLS. however, we need to leave most of the code
in db_sym.[ch] as it is used by the elf version of crash(8).

i will be cleaning up the db_sym.c code in a follow up commit to avoid
having dead code compiled.
 1.3 09-Jan-2000  ad branches: 1.3.158; 1.3.164;
- Fix RCS Ids.
- Spacing.
- Protect from multiple inclusion in a consistant way (except on headers
that do nothing except function as mips header wrappers).
 1.2 23-Mar-1999  simonb branches: 1.2.8;
Move DB_{AOUT,ELF}_SYMBOLS (and DB_ELFSIZE) definition to port-specific
db_machdep.h file.
 1.1 07-Jul-1997  jonathan branches: 1.1.10;
DDB for mips.
Add DDB interface to /sys/arch/mips/mips..
Rework heuristic stack traceback to work with DDB.
Add hooks to print exception log from DDB.
Add hooks from pmax console drivers: call Debugger()
after break from serial console, or 'DO' key from LK-xxx.
 1.1.10.1 29-Mar-1999  nisimura - Catch up to recent changes in main trunk.
- Reorganize various #include's.
- Yield memcpy to Mach derivated one.
- pm_cnattach() now checks the existense of framebuffer card.
 1.2.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.3.164.1 06-Jun-2011  jruoho Sync with HEAD.
 1.3.158.1 21-Apr-2011  rmind sync with head
 1.4.14.1 03-Dec-2017  jdolecek update from HEAD
 1.9 29-Jul-2006  ad Remove RASTERCONSOLE support from the pmax port.
 1.8 11-Dec-2005  christos branches: 1.8.4; 1.8.8;
merge ktrace-lwp.
 1.7 07-Aug-2003  agc branches: 1.7.16;
Move UCB-licensed code from 4-clause to 3-clause licence.

Patches provided by Joel Baker in PR 22364, verified by myself.
 1.6 09-Jan-2000  ad branches: 1.6.28;
- Fix RCS Ids.
- Spacing.
- Protect from multiple inclusion in a consistant way (except on headers
that do nothing except function as mips header wrappers).
 1.5 24-Apr-1999  simonb branches: 1.5.2;
Nuke register and remove trailling white space.
 1.4 26-Oct-1994  cgd branches: 1.4.22; 1.4.30;
new RCS ID format.
 1.3 27-May-1994  glass bsd 4.4-lite pmax port as ported to NetBSD
 1.2 27-May-1994  glass upgrade to bsd 4.4-lite code base. only mod is rcsids
 1.1 12-Oct-1993  deraadt branches: 1.1.1;
Initial revision
 1.1.1.1 12-Oct-1993  deraadt pmax code from <ralphc@pyramid.com> & <rick@snowhite.cis.uoguelph.ca>
 1.4.30.1 21-Jun-1999  thorpej Sync w/ -current.
 1.4.22.1 15-Oct-1998  nisimura - Reflect new internals.
 1.5.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.6.28.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.6.28.2 18-Sep-2004  skrll Sync with HEAD.
 1.6.28.1 03-Aug-2004  skrll Sync with HEAD
 1.7.16.1 30-Dec-2006  yamt sync with head.
 1.8.8.1 11-Aug-2006  yamt sync with head
 1.8.4.1 09-Sep-2006  rpaulo sync with head
 1.11 16-Jun-2000  matt This file now lives is sys/dev/dec.
 1.10 11-Jun-2000  matt Make this compilable on other than pmax.
 1.9 09-Jan-2000  ad branches: 1.9.2;
- Fix RCS Ids.
- Spacing.
- Protect from multiple inclusion in a consistant way (except on headers
that do nothing except function as mips header wrappers).
 1.8 27-Nov-1999  simonb Use explicitly sized types for entities that exist on disk.
Use alpha-like defines for boot block offset on disk and boot block size.
 1.7 29-Oct-1999  drochner correct last change: mkboot depends on (sizeof(struct boot_block)==512)
 1.6 25-Oct-1999  simonb Begone with some garish Mach_StructureNames.
Add a comment about the bootblock structure.
 1.5 24-Apr-1999  simonb branches: 1.5.2; 1.5.4; 1.5.6;
Nuke register and remove trailling white space.
 1.4 26-Oct-1994  cgd branches: 1.4.2; 1.4.6;
new RCS ID format.
 1.3 27-May-1994  glass bsd 4.4-lite pmax port as ported to NetBSD
 1.2 27-May-1994  glass upgrade to bsd 4.4-lite code base. only mod is rcsids
 1.1 12-Oct-1993  deraadt branches: 1.1.1;
Initial revision
 1.1.1.1 12-Oct-1993  deraadt pmax code from <ralphc@pyramid.com> & <rick@snowhite.cis.uoguelph.ca>
 1.4.6.1 21-Jun-1999  thorpej Sync w/ -current.
 1.4.2.3 06-Dec-1999  nisimura Sync w/ recent changes in main trunk.
 1.4.2.2 12-Nov-1999  nisimura Sync. w/ main trunk changes.
 1.4.2.1 24-Feb-1999  nisimura - Synchronize with recent changes in main trunk.
 1.5.6.1 27-Dec-1999  wrstuden Pull up to last week's -current.
 1.5.4.1 15-Nov-1999  fvdl Sync with -current
 1.5.2.1 20-Nov-2000  bouyer Remove files that are no longer on the trunck
 1.9.2.1 22-Jun-2000  minoura Sync w/ netbsd-1-5-base.
 1.8 11-Dec-2005  christos merge ktrace-lwp.
 1.7 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.6 09-Jan-2000  ad branches: 1.6.30;
- Fix RCS Ids.
- Spacing.
- Protect from multiple inclusion in a consistant way (except on headers
that do nothing except function as mips header wrappers).
 1.5 24-Apr-1999  simonb branches: 1.5.2;
Nuke register and remove trailling white space.
 1.4 26-Oct-1994  cgd branches: 1.4.2; 1.4.6;
new RCS ID format.
 1.3 27-May-1994  glass bsd 4.4-lite pmax port as ported to NetBSD
 1.2 27-May-1994  glass upgrade to bsd 4.4-lite code base. only mod is rcsids
 1.1 12-Oct-1993  deraadt branches: 1.1.1;
Initial revision
 1.1.1.1 12-Oct-1993  deraadt pmax code from <ralphc@pyramid.com> & <rick@snowhite.cis.uoguelph.ca>
 1.4.6.1 21-Jun-1999  thorpej Sync w/ -current.
 1.4.2.2 06-Dec-1999  nisimura Sync w/ recent changes in main trunk.
 1.4.2.1 24-Feb-1999  nisimura - Synchronize with recent changes in main trunk.
 1.5.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.6.30.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.6.30.2 18-Sep-2004  skrll Sync with HEAD.
 1.6.30.1 03-Aug-2004  skrll Sync with HEAD
 1.24 11-Jun-2016  dholland gets -> unsafe_gets; nothing uses this but let's not start by accident.
(related to PR 51200)
 1.23 20-Feb-2011  matt branches: 1.23.14; 1.23.32;
Merge forward from matt-nb5-mips64.
New interrupt code.
mips64 support for DS5000/260.
 1.22 14-Dec-2009  matt branches: 1.22.4; 1.22.6; 1.22.8;
Merge from matt-nb5-mips64
Merge mips-specific arch files.
 1.21 14-Mar-2009  dsl Remove all the __P() from sys (excluding sys/dist)
Diff checked with grep and MK1 eyeball.
i386 and amd64 GENERIC and sys still build.
 1.20 11-Dec-2005  christos branches: 1.20.78; 1.20.86; 1.20.92; 1.20.96;
merge ktrace-lwp.
 1.19 01-Jun-2005  drochner make the argument to prom getenv() cnd the printf() format const
remove variable names from prototypes
 1.18 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.17 24-Aug-2001  mhitch branches: 1.17.6; 1.17.24;
Use the PROM bitmap, if available, to determine available memory. Also
add support of multiple memory segments so machines that allow mixed
memory sizes can utilize all available memory.
 1.16 30-Jul-2001  mhitch The memmap structure contains the memory bitmap returned by the PROM
getbitmap() call.
 1.15 09-Jan-2000  ad branches: 1.15.8;
- Fix RCS Ids.
- Spacing.
- Protect from multiple inclusion in a consistant way (except on headers
that do nothing except function as mips header wrappers).
 1.14 01-Mar-1999  simonb branches: 1.14.8;
Fix prototype for clear_cache (takes an address and length, not void).
 1.13 01-Feb-1999  simonb branches: 1.13.2;
Add a comment that the bcopy #define that uses the PROM's memset don't
handle overlapping copies. From Jonathan Stone.
 1.12 31-Jan-1999  simonb Add bzero/bcopy defines to use PROM memset/memcpy.

Change test to include defines from
#ifndef _KERNEL
to
#if defined(_STANDALONE) && !defined(_NO_PROM_DEFINES)
 1.11 30-Jan-1999  simonb Add REX magic number
 1.10 29-Jan-1999  simonb Add some more PROM entry points
 1.9 21-Sep-1996  jonathan Add fake, bogus prototype for gettcinfo(), with "void" arglist.
(Not having a prototype breaks -Wstrict-prototypes, this callback
isn't used, and we don't know what the prototype should be.)
 1.8 08-Apr-1996  jonathan Fix hanging open comment.
 1.7 01-Feb-1996  mycroft LOCORE -> _LOCORE
 1.6 28-Mar-1995  jtc KERNEL -> _KERNEL
 1.5 18-Jan-1995  mellon Many changes from Jonathan Stone and a few from me to make small boot blocks and handle NetBSD a.out
 1.4 26-Oct-1994  cgd new RCS ID format.
 1.3 27-May-1994  glass bsd 4.4-lite pmax port as ported to NetBSD
 1.2 27-May-1994  glass upgrade to bsd 4.4-lite code base. only mod is rcsids
 1.1 12-Oct-1993  deraadt branches: 1.1.1;
Initial revision
 1.1.1.1 12-Oct-1993  deraadt pmax code from <ralphc@pyramid.com> & <rick@snowhite.cis.uoguelph.ca>
 1.13.2.3 11-Jun-1999  nisimura - Track main trunk changes and cleanup accumulated bozos I made so far.
 1.13.2.2 24-Feb-1999  nisimura - Synchronize with recent changes in main trunk.
 1.13.2.1 01-Feb-1999  nisimura file dec_prom.h was added on branch nisimura-pmax-wscons on 1999-02-24 02:11:10 +0000
 1.14.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.15.8.2 25-Aug-2001  thorpej Merge Aug 24 -current into the kqueue branch.
 1.15.8.1 03-Aug-2001  lukem update to -current
 1.17.24.4 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.17.24.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.17.24.2 18-Sep-2004  skrll Sync with HEAD.
 1.17.24.1 03-Aug-2004  skrll Sync with HEAD
 1.17.6.2 24-Aug-2001  mhitch Use the PROM bitmap, if available, to determine available memory. Also
add support of multiple memory segments so machines that allow mixed
memory sizes can utilize all available memory.
 1.17.6.1 24-Aug-2001  mhitch file dec_prom.h was added on branch nathanw_sa on 2001-08-24 15:33:18 +0000
 1.20.96.2 29-Dec-2010  matt Use a promcall wrapper function to call the prom. For non O32 systems
this will save and restore the callee saved registers since the 32-bit
prom probably won't be saving all 64bits.
 1.20.96.1 16-Sep-2009  matt Deal with some LP64 issues with only O32 console.
Make bootloader invoke kernel compatible with both O32 and N32
 1.20.92.1 13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.20.86.1 28-Apr-2009  skrll Sync with HEAD.
 1.20.78.2 11-Mar-2010  yamt sync with head
 1.20.78.1 04-May-2009  yamt sync with head.
 1.22.8.1 05-Mar-2011  bouyer Sync with HEAD
 1.22.6.1 06-Jun-2011  jruoho Sync with HEAD.
 1.22.4.1 05-Mar-2011  rmind sync with head
 1.23.32.1 09-Jul-2016  skrll Sync with HEAD
 1.23.14.1 03-Dec-2017  jdolecek update from HEAD
 1.5 30-Aug-2011  bouyer Add getlabelusesmbr(), as proposed in
http://mail-index.netbsd.org/tech-userlevel/2011/08/25/msg005404.html
This is used by disk tools such as disklabel(8) to dynamically decide is
the undelyling platform uses a disklabel-in-mbr-partition or not
(instead of using a compile-time list of ports).
getlabelusesmbr() reads the sysctl kern.labelusesmbr, takes its value from the
machdep #define LABELUSESMBR.
For evbmips, make LABELUSESMBR 1 if the platform uses pmon
as bootloader, and 0 (the previous value) otherwise.
 1.4 09-Jan-2000  ad - Fix RCS Ids.
- Spacing.
- Protect from multiple inclusion in a consistant way (except on headers
that do nothing except function as mips header wrappers).
 1.3 27-Nov-1999  simonb Remove NUMBOOT define - disklabel doesn't install bootblocks anymore.
 1.2 18-Jan-1995  mellon branches: 1.2.22; 1.2.34; 1.2.40;
Add NUMBOOT for benefit of disklabel program
 1.1 14-Oct-1994  cgd move arch dependence to archs. clean up a bit. deal with weird MAXPARTITONS.
 1.2.40.1 27-Dec-1999  wrstuden Pull up to last week's -current.
 1.2.34.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.2.22.1 06-Dec-1999  nisimura Sync w/ recent changes in main trunk.
 1.6 26-Sep-1996  cgd rename <machine/ecoff.h> to <machine/ecoff_machdep.h> for clarity and
consistency with the way machdep headers for other things are done.
(the creation of the ecoff_machdep.h files was done on the CVS server, to
keep the RCS logs intact.)
 1.5 19-Mar-1996  jonathan Replace the following header files from src/sys/arch/pmax/include/
with versions that include equivalent files from <mips/include>.
(cvs magic copied the previous revisions, with history, to
src/sys/arch/mips/include).

[bsd-aout.h elf.h endian.h exec.h float.h ieeefp.h limit.h pcb.h proc.h]
[profile.h reg.h regdef.h setjmp.h stdarg.h vmparam.h]

plus (missed one:)
ecoff.h
 1.4 16-Jun-1995  mellon Put parentheses around macro arguments
 1.3 26-Oct-1994  cgd new RCS ID format.
 1.2 28-May-1994  glass more likely to work now, probably less knf...thats the next project
 1.1 27-May-1994  glass bsd 4.4-lite pmax port as ported to NetBSD
 1.6 26-Sep-1996  cgd since these just included mips/ecoff.h, they need to be changed to include
mips/ecoff_machdep.h.
 1.5 19-Mar-1996  jonathan Replace the following header files from src/sys/arch/pmax/include/
with versions that include equivalent files from <mips/include>.
(cvs magic copied the previous revisions, with history, to
src/sys/arch/mips/include).

[bsd-aout.h elf.h endian.h exec.h float.h ieeefp.h limit.h pcb.h proc.h]
[profile.h reg.h regdef.h setjmp.h stdarg.h vmparam.h]

plus (missed one:)
ecoff.h
 1.4 16-Jun-1995  mellon Put parentheses around macro arguments
 1.3 26-Oct-1994  cgd new RCS ID format.
 1.2 28-May-1994  glass more likely to work now, probably less knf...thats the next project
 1.1 27-May-1994  glass bsd 4.4-lite pmax port as ported to NetBSD
 1.4 09-Nov-1999  kleink Per discussion on tech-toolchain, remove MIPS-specific <machine/elf.h> header;
all the information is available from <sys/exec_elf.h>.
 1.3 19-Mar-1996  jonathan branches: 1.3.20; 1.3.32; 1.3.34; 1.3.38;
Replace the following header files from src/sys/arch/pmax/include/
with versions that include equivalent files from <mips/include>.
(cvs magic copied the previous revisions, with history, to
src/sys/arch/mips/include).

bsd-aout.h elf.h endian.h exec.h float.h ieeefp.h limit.h pcb.h proc.h
profile.h reg.h regdef.h setjmp.h stdarg.h vmparam.h
 1.2 28-Mar-1995  jtc KERNEL -> _KERNEL
 1.1 18-Jan-1995  mellon ELF format (to be combined with elf header in sys/compat later)
 1.3.38.1 27-Dec-1999  wrstuden Pull up to last week's -current.
 1.3.34.1 15-Nov-1999  fvdl Sync with -current
 1.3.32.1 20-Nov-2000  bouyer Remove files that are no longer on the trunck
 1.3.20.1 12-Nov-1999  nisimura This file was removed in main trunk.
 1.5 14-Dec-2009  matt Merge from matt-nb5-mips64
Merge mips-specific arch files.
 1.4 09-Jan-2000  ad branches: 1.4.136; 1.4.154;
- Fix RCS Ids.
- Spacing.
- Protect from multiple inclusion in a consistant way (except on headers
that do nothing except function as mips header wrappers).
 1.3 25-Oct-1999  kleink Update to match new SVR4-style definition names in <sys/exec_elf.h>.
 1.2 17-Dec-1996  jonathan branches: 1.2.18; 1.2.30; 1.2.32; 1.2.34;
Configure pmax elf_machdep.h as little-endian elf.
 1.1 26-Sep-1996  cgd add and use a machine-dependent header, which currently defines some
macros to use to remove #ifdefs from the machine ID case check.
Eventually, these headers will contain other information, e.g.
machine-dependent relocation information, etc.
 1.2.34.1 27-Dec-1999  wrstuden Pull up to last week's -current.
 1.2.32.1 15-Nov-1999  fvdl Sync with -current
 1.2.30.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.2.18.1 12-Nov-1999  nisimura Sync. w/ main trunk changes.
 1.4.154.1 22-Aug-2009  matt Move ELF{32,64}_MACHDEP_ENDIANNESS to <mips/elf_machdep.h>
 1.4.136.1 11-Mar-2010  yamt sync with head
 1.11 17-Mar-2000  mycroft In the `MY THAT'S GROSS' department...
Eliminate the recursive include of machine/endian.h from sys/endian.h.
 1.10 16-Mar-2000  mycroft Foolish consistency. Mainly, always use underscores and sys/endian.h.
 1.9 09-Jan-2000  ad - Fix RCS Ids.
- Spacing.
- Protect from multiple inclusion in a consistant way (except on headers
that do nothing except function as mips header wrappers).
 1.8 24-Jan-1999  mycroft branches: 1.8.8;
Format consistency.
 1.7 20-Oct-1997  jonathan branches: 1.7.6;
* Use ANSI-clean names for host-specific byte-order definition
(_BYTE_ORDER, _BIG_ENDIAN, _LITTLE_ENDIAN).
Define old names from the ANSI ones if not _POSIX_SOURCE.
* Define _QUAD_HIGHWORD and _QUAD_LOWWORD properly when
_BYTE_ORDER == _BIG_ENDIAN.
 1.6 17-Oct-1997  jonathan Add bi-endian support to mips locore, <mips/endian.h>, and mips_opcode.h.
Derived from a change request (PR port-mips/4277) from
Tsubai Masanari, (tsubai@iri.co.jp).
 1.5 19-Mar-1996  jonathan Replace the following header files from src/sys/arch/pmax/include/
with versions that include equivalent files from <mips/include>.
(cvs magic copied the previous revisions, with history, to
src/sys/arch/mips/include).

bsd-aout.h elf.h endian.h exec.h float.h ieeefp.h limit.h pcb.h proc.h
profile.h reg.h regdef.h setjmp.h stdarg.h vmparam.h
 1.4 26-Oct-1994  cgd new RCS ID format.
 1.3 27-May-1994  glass bsd 4.4-lite pmax port as ported to NetBSD
 1.2 27-May-1994  glass upgrade to bsd 4.4-lite code base. only mod is rcsids
 1.1 12-Oct-1993  deraadt branches: 1.1.1;
Initial revision
 1.1.1.1 12-Oct-1993  deraadt pmax code from <ralphc@pyramid.com> & <rick@snowhite.cis.uoguelph.ca>
 1.7.6.1 06-Dec-1999  nisimura Sync w/ recent changes in main trunk.
 1.8.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.1 17-Mar-2000  mycroft branches: 1.1.6;
In the `MY THAT'S GROSS' department...
Eliminate the recursive include of machine/endian.h from sys/endian.h.
 1.1.6.2 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.1.6.1 17-Mar-2000  bouyer file endian_machdep.h was added on branch thorpej_scsipi on 2000-11-20 20:20:27 +0000
 1.7 08-Oct-1996  cgd moved to aout_machdep.h (via repository copy)
 1.6 19-Mar-1996  jonathan Replace the following header files from src/sys/arch/pmax/include/
with versions that include equivalent files from <mips/include>.
(cvs magic copied the previous revisions, with history, to
src/sys/arch/mips/include).

bsd-aout.h elf.h endian.h exec.h float.h ieeefp.h limit.h pcb.h proc.h
profile.h reg.h regdef.h setjmp.h stdarg.h vmparam.h
 1.5 26-Oct-1994  cgd new RCS ID format.
 1.4 27-May-1994  glass bsd 4.4-lite pmax port as ported to NetBSD
 1.3 27-May-1994  glass upgrade to bsd 4.4-lite code base. only mod is rcsids
 1.2 14-Jan-1994  deraadt some pmax updating (Terry Friedrichsen is helping on this now).
 1.1 12-Oct-1993  deraadt branches: 1.1.1;
Initial revision
 1.1.1.1 12-Oct-1993  deraadt pmax code from <ralphc@pyramid.com> & <rick@snowhite.cis.uoguelph.ca>
 1.5 19-Sep-2001  thorpej Remove pmax-specific fbio.h -- everything uses <dev/sun/fbio.h> now.
 1.4 09-Jan-2000  ad branches: 1.4.6; 1.4.8;
- Fix RCS Ids.
- Spacing.
- Protect from multiple inclusion in a consistant way (except on headers
that do nothing except function as mips header wrappers).
 1.3 24-Apr-1999  simonb branches: 1.3.2;
Nuke register and remove trailling white space.
 1.2 13-Apr-1999  ad Define PMAX_FBTYPE_PX. Changes to allow fbvar.h to be included with
dev/rcons/rcons.h.
 1.1 11-Sep-1995  jonathan branches: 1.1.22; 1.1.30;
Framebuffer ioctls for Ted Lemon's pmax generic framebuffer fb
pseudo-device.
 1.1.30.1 21-Jun-1999  thorpej Sync w/ -current.
 1.1.22.1 15-Oct-1998  nisimura - Reflect new internals.
 1.3.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.4.8.1 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.4.6.1 01-Oct-2001  fvdl Catch up with -current.
 1.15 29-Jul-2006  ad Remove RASTERCONSOLE support from the pmax port.
 1.14 11-Dec-2005  christos branches: 1.14.4; 1.14.8;
merge ktrace-lwp.
 1.13 17-Mar-2005  kleink branches: 1.13.2;
A couple of <sys/select.h>-related changes:
* Factor out struct selinfo and its header dependencies into its own header,
<sys/selinfo.h>, to avoid namespace pollution.
* Include <sys/selinfo.h> in user-visible headers where necessary.
 1.12 07-Aug-2003  agc branches: 1.12.8; 1.12.10;
Move UCB-licensed code from 4-clause to 3-clause licence.

Patches provided by Joel Baker in PR 22364, verified by myself.
 1.11 03-Feb-2000  nisimura branches: 1.11.28;
- Massive change of console initialization. Have each model its own
consinit().
- Fix fbconnect() and relatives; 'struct fbinfo' is initialized only once,
making sure no extraneous console resolution message is emitted.
 1.10 09-Jan-2000  ad - Fix RCS Ids.
- Spacing.
- Protect from multiple inclusion in a consistant way (except on headers
that do nothing except function as mips header wrappers).
 1.9 09-Jan-2000  simonb The clean-up continues:
- Make local-only function and variables static.
- Move function prototypes and extern variable declarations to
header files.
- Delete unused variables.
There's still a handful of extern declaraions that should be fixed up.
 1.8 08-Jan-2000  simonb Function prototype cleanup.
 1.7 09-Dec-1999  simonb Use "u_char *" instead of "caddr_t" for all colormap references. In line
with recent MI rasops changes, and fixes compile problems with -current.
 1.6 08-Dec-1999  simonb Add newline to last line of file.
 1.5 25-Jul-1999  ad branches: 1.5.2; 1.5.8;
Change the way fb devices are configured and attached:
- 'struct fbsoftc' created, which points to a 'struct fbinfo'
- 'struct fbinfo' for each device is allocated with fballoc()

This means:
- Console device doesn't get different 'struct fbinfo' at attach
- Console device doesn't get initialized twice
- Color rcons now works
- The current Xserver MUST BE REBUILT.
 1.4 21-Jun-1999  ad Clear out 'struct fbdevice' cruft; it represents bitrot on pmax. Add
#ifdef'ed out definition for 'struct fbsoftc', the way forward until
[nisimura-pmax-wscons] is merged.
 1.3 13-Apr-1999  ad Define PMAX_FBTYPE_PX. Changes to allow fbvar.h to be included with
dev/rcons/rcons.h.
 1.2 24-May-1997  jonathan branches: 1.2.12; 1.2.20;
#ifdef notyet out the as-yet-Undefined bold mode, instead of commenting it out.
 1.1 11-Sep-1995  jonathan Framebuffer state variable for Ted Lemon's generic-framebuffer "fb"
pseudo-device, with support for the qvss/pm - compatible interface
used by X11R5 servers on DEC framebuffers.
 1.2.20.3 02-Aug-1999  thorpej Update from trunk.
 1.2.20.2 01-Jul-1999  thorpej Sync w/ -current.
 1.2.20.1 21-Jun-1999  thorpej Sync w/ -current.
 1.2.12.1 15-Oct-1998  nisimura - Reflect new internals.
 1.5.8.1 27-Dec-1999  wrstuden Pull up to last week's -current.
 1.5.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.11.28.4 01-Apr-2005  skrll Sync with HEAD.
 1.11.28.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.11.28.2 18-Sep-2004  skrll Sync with HEAD.
 1.11.28.1 03-Aug-2004  skrll Sync with HEAD
 1.12.10.1 19-Mar-2005  yamt sync with head. xen and whitespace. xen part is not finished.
 1.12.8.1 29-Apr-2005  kent sync with -current
 1.13.2.1 30-Dec-2006  yamt sync with head.
 1.14.8.1 11-Aug-2006  yamt sync with head
 1.14.4.1 09-Sep-2006  rpaulo sync with head
 1.1 21-Dec-2015  christos branches: 1.1.2; 1.1.18;
Add mips fenv.h (From FreeBSD)
 1.1.18.2 03-Dec-2017  jdolecek update from HEAD
 1.1.18.1 21-Dec-2015  jdolecek file fenv.h was added on branch tls-maxphys on 2017-12-03 11:36:35 +0000
 1.1.2.2 27-Dec-2015  skrll Sync with HEAD (as of 26th Dec)
 1.1.2.1 21-Dec-2015  skrll file fenv.h was added on branch nick-nhusb on 2015-12-27 12:09:40 +0000
 1.10 19-Apr-2018  christos s/static inline/static __inline/g for consistency.
 1.9 19-Mar-1996  jonathan branches: 1.9.80;
Replace the following header files from src/sys/arch/pmax/include/
with versions that include equivalent files from <mips/include>.
(cvs magic copied the previous revisions, with history, to
src/sys/arch/mips/include).

bsd-aout.h elf.h endian.h exec.h float.h ieeefp.h limit.h pcb.h proc.h
profile.h reg.h regdef.h setjmp.h stdarg.h vmparam.h
 1.8 18-Mar-1996  jonathan NetBSD's ieee FP definitions for the pmax are valid for other mips cpus;
change preprocessor XXX_PMAX_YYY #defines to XXX_MIPS_YYY.
 1.7 20-Jun-1995  jtc Wrap with #ifndef _XXX_FLOAT_H_/#define _XXX_FLOAT_H_/ ... /#endif.
 1.6 20-Jun-1995  jtc #include <sys/cdefs.h>.
Wrap __flt_rounds() declaration with __BEGIN_DECLS/__END_DECLS.
 1.5 11-Apr-1995  jtc Changed FLT_ROUNDS from constant to a call to __flt_rounds(), so that the
current rounding mode is accurately reported.
 1.4 26-Oct-1994  cgd new RCS ID format.
 1.3 27-May-1994  glass bsd 4.4-lite pmax port as ported to NetBSD
 1.2 27-May-1994  glass upgrade to bsd 4.4-lite code base. only mod is rcsids
 1.1 12-Oct-1993  deraadt branches: 1.1.1;
Initial revision
 1.1.1.1 12-Oct-1993  deraadt pmax code from <ralphc@pyramid.com> & <rick@snowhite.cis.uoguelph.ca>
 1.9.80.1 22-Apr-2018  pgoyette Sync with HEAD
 1.2 30-Aug-1999  mycroft branches: 1.2.10;
A foolish consistency.
 1.1 29-Aug-1999  mycroft Add ieee.h.
 1.2.10.2 14-Mar-2000  nisimura Synchronize with the recent progress in main trunk. Main trunk is
close enough with this.
 1.2.10.1 30-Aug-1999  nisimura file ieee.h was added on branch nisimura-pmax-wscons on 2000-03-14 09:45:54 +0000
 1.6 04-Sep-2001  simonb branches: 1.6.6;
Clean up.
 1.5 24-Apr-1999  simonb branches: 1.5.16;
Nuke register and remove trailling white space.
 1.4 05-Jan-1998  perry branches: 1.4.12;
RCSID Police.
 1.3 19-Mar-1996  jonathan Replace the following header files from src/sys/arch/pmax/include/
with versions that include equivalent files from <mips/include>.
(cvs magic copied the previous revisions, with history, to
src/sys/arch/mips/include).

bsd-aout.h elf.h endian.h exec.h float.h ieeefp.h limit.h pcb.h proc.h
profile.h reg.h regdef.h setjmp.h stdarg.h vmparam.h
 1.2 18-Mar-1996  jonathan NetBSD's ieee FP definitions for the pmax are valid for other mips cpus;
change preprocessor XXX_PMAX_YYY #defines to XXX_MIPS_YYY.
 1.1 11-Apr-1995  jtc Mips specific portions of ieeefp.h (fp_rnd, fp_except, constants, etc.).
 1.4.12.1 21-Jun-1999  thorpej Sync w/ -current.
 1.5.16.1 13-Sep-2001  thorpej Update the kqueue branch to HEAD.
 1.6.6.2 04-Sep-2001  simonb Clean up.
 1.6.6.1 04-Sep-2001  simonb file ieeefp.h was added on branch nathanw_sa on 2001-09-04 06:26:20 +0000
 1.1 14-Apr-2001  kleink branches: 1.1.2; 1.1.4; 1.1.12;
Add definitions of C99 integer constant macros.
 1.1.12.2 14-Apr-2001  kleink Add definitions of C99 integer constant macros.
 1.1.12.1 14-Apr-2001  kleink file int_const.h was added on branch nathanw_sa on 2001-04-14 22:38:42 +0000
 1.1.4.1 21-Jun-2001  nathanw Catch up to -current.
 1.1.2.2 21-Apr-2001  bouyer Sync with HEAD
 1.1.2.1 14-Apr-2001  bouyer file int_const.h was added on branch thorpej_scsipi on 2001-04-21 17:54:28 +0000
 1.1 15-Apr-2001  kleink branches: 1.1.2; 1.1.4; 1.1.12;
Add definitions of C99 integer format conversion macros.
XXX Fastest minimum-width integer types haven't been decided upon yet.
 1.1.12.2 15-Apr-2001  kleink Add definitions of C99 integer format conversion macros.
XXX Fastest minimum-width integer types haven't been decided upon yet.
 1.1.12.1 15-Apr-2001  kleink file int_fmtio.h was added on branch nathanw_sa on 2001-04-15 17:13:16 +0000
 1.1.4.1 21-Jun-2001  nathanw Catch up to -current.
 1.1.2.2 21-Apr-2001  bouyer Sync with HEAD
 1.1.2.1 15-Apr-2001  bouyer file int_fmtio.h was added on branch thorpej_scsipi on 2001-04-21 17:54:29 +0000
 1.1 15-Apr-2001  kleink branches: 1.1.2; 1.1.4; 1.1.12;
Add definitions of C99 specified-width integer type limits.
XXX Fastest minimum-width integer types haven't been decided upon yet.
 1.1.12.2 15-Apr-2001  kleink Add definitions of C99 specified-width integer type limits.
XXX Fastest minimum-width integer types haven't been decided upon yet.
 1.1.12.1 15-Apr-2001  kleink file int_limits.h was added on branch nathanw_sa on 2001-04-15 15:29:11 +0000
 1.1.4.1 21-Jun-2001  nathanw Catch up to -current.
 1.1.2.2 21-Apr-2001  bouyer Sync with HEAD
 1.1.2.1 15-Apr-2001  bouyer file int_limits.h was added on branch thorpej_scsipi on 2001-04-21 17:54:29 +0000
 1.1 14-Apr-2001  kleink branches: 1.1.2; 1.1.4; 1.1.12;
Add definitions of C99 minimum-width and greatest-width integer types.
XXX Fastest minimum-width integer types haven't been decided upon yet.
 1.1.12.2 14-Apr-2001  kleink Add definitions of C99 minimum-width and greatest-width integer types.
XXX Fastest minimum-width integer types haven't been decided upon yet.
 1.1.12.1 14-Apr-2001  kleink file int_mwgwtypes.h was added on branch nathanw_sa on 2001-04-14 12:20:00 +0000
 1.1.4.1 21-Jun-2001  nathanw Catch up to -current.
 1.1.2.2 21-Apr-2001  bouyer Sync with HEAD
 1.1.2.1 14-Apr-2001  bouyer file int_mwgwtypes.h was added on branch thorpej_scsipi on 2001-04-21 17:54:29 +0000
 1.1 26-Jun-2000  kleink branches: 1.1.2;
Add <machine/int_types.h>, which provides namespace-pure definitions
of exact-width integer types.
 1.1.2.2 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.1.2.1 26-Jun-2000  bouyer file int_types.h was added on branch thorpej_scsipi on 2000-11-20 20:20:30 +0000
 1.34 20-Feb-2011  matt Merge forward from matt-nb5-mips64.
New interrupt code.
mips64 support for DS5000/260.
 1.33 14-Mar-2009  dsl branches: 1.33.4; 1.33.6; 1.33.8;
Remove all the __P() from sys (excluding sys/dist)
Diff checked with grep and MK1 eyeball.
i386 and amd64 GENERIC and sys still build.
 1.32 04-Jan-2008  ad branches: 1.32.10; 1.32.18; 1.32.24; 1.32.28;
Don't pull in unrelated headers.
 1.31 03-Dec-2007  ad branches: 1.31.6;
Interrupt handling changes, in discussion since February:

- Reduce available SPL levels for hardware devices to none, vm, sched, high.
- Acquire kernel_lock only for interrupts at IPL_VM.
- Implement threaded soft interrupts.
 1.30 17-Oct-2007  garbled branches: 1.30.2;
Merge the ppcoea-renovation branch to HEAD.

This branch was a major cleanup and rototill of many of the various OEA
cpu based PPC ports that focused on sharing as much code as possible
between the various ports to eliminate near-identical copies of files in
every tree. Additionally there is a new PIC system that unifies the
interface to interrupt code for all different OEA ppc arches. The work
for this branch was done by a variety of people, too long to list here.

TODO:
bebox still needs work to complete the transition to -renovation.
ofppc still needs a bunch of work, which I will be looking at.
ev64260 still needs to be renovated
amigappc was not attempted.

NOTES:
pmppc was removed as an arch, and moved to a evbppc target.
 1.29 17-Jun-2007  tsutsui branches: 1.29.8; 1.29.10;
Move declaretions of _spl*() and _{clr,set}softintr() functions
(which are in mips/locore.S) into <mips/locore.h>
from various MD files.
 1.28 16-Feb-2007  ad branches: 1.28.6; 1.28.8; 1.28.14;
Remove spllowersoftclock() and CLKF_BASEPRI(), and always dispatch callouts
via a soft interrupt. In the near future, softclock will be run from process
context.
 1.27 21-Dec-2006  yamt merge yamt-splraiseipl branch.

- finish implementing splraiseipl (and makeiplcookie).
http://mail-index.NetBSD.org/tech-kern/2006/07/01/0000.html
- complete workqueue(9) and fix its ipl problem, which is reported
to cause audio skipping.
- fix netbt (at least compilation problems) for some ports.
- fix PR/33218.
 1.26 11-Dec-2005  christos branches: 1.26.20; 1.26.22;
merge ktrace-lwp.
 1.25 11-Jan-2005  simonb branches: 1.25.10;
Switch from intrcnt interrupt account to event counters.
 1.24 25-May-2003  tsutsui branches: 1.24.2;
Switch to use mips/softintr.c for softintr(9).
 1.23 27-Aug-2001  nisimura branches: 1.23.6;
Count and record memory error interrupts with evcnt(9).
 1.22 22-Aug-2001  nisimura Forgot to commit changes of intrcnt[] array and its indices.
 1.21 22-Aug-2001  nisimura NetBSD/pmax now has GENERIC_SOFT_INTERRUPTS.
 1.20 13-Apr-2001  thorpej branches: 1.20.2;
Remove the use of splimp() from the NetBSD kernel. splnet()
and only splnet() is allowed for the protection of data structures
used by network devices.
 1.19 12-Apr-2001  thorpej splvec.splimp -> splvec.splvm
 1.18 14-Jan-2001  thorpej branches: 1.18.2;
Make sure everybody has an splvm() and equate it with splimp() (splimp()
is the historical name for this interrupt level, and the historical name
is going to go away in the near future).
 1.17 22-Aug-2000  thorpej Add spllock(). See spl(9) for details.
 1.16 21-Aug-2000  thorpej Make sure we provide splsched() as described in spl(9).
 1.15 11-Apr-2000  nisimura Change to have cpu_intr() peculiar to DECstations; have ssir global
variable and cpu_intr() body in machdep.c. Reorder and rename
model specific interrupt handler arguments. Fixup machine/intr.h and
machine/cpu.h appropriately.
 1.14 03-Apr-2000  soda splsoftnet() should block softclock() too.
 1.13 10-Mar-2000  nisimura Arrange 'vmstat -i' to show 'optslotN'; for interrupt counts of TC slot N
as well as DECsystem 5100 optional serial card slot N.
 1.12 29-Feb-2000  nisimura - Have SYS_DEV_xxx device cookie symbols to select and install proper
interrupt handlers into intrtab[] array, rather than the idea of devices
in 'psuedo' TURBOchannel slots.
- Nuke symbols for psuedo TC slots.
- Abandon never/unlikely used intr_disestablish()s.
 1.11 14-Jan-2000  simonb Redo interrupt establishment, based in part on work on the
[nisimura-pmax-wscons] branch and suggestions from Toru Nisimura:
- Remove bogus tc_slot_info[] name for interrupt handling array
and replace with simplified struct intrhand intrtab[] array.
- Add intr_establish() and intr_disestablish() function pointers
to struct platform and initialise this in each model-specific
initialisation, and remove global tc_enable_interrupt function
pointer.
- Remove model-specific function declarations from ibus/ibusvar.h.
This is functionally identical to the current scheme, and doesn't
yet try to commonise interrupt establishment by bus type as the
[nisimura-pmax-wscons] branch does.

Also, move cpuspeed variable from autoconf.c to machdep.c
 1.10 09-Jan-2000  ad - Fix RCS Ids.
- Spacing.
- Protect from multiple inclusion in a consistant way (except on headers
that do nothing except function as mips header wrappers).
 1.9 08-Jan-2000  simonb Function prototype cleanup.
 1.8 05-Aug-1999  thorpej branches: 1.8.2;
Change the semantics of splsoftclock() to be like other spl*() functions,
that is priority is rasied. Add a new spllowersoftclock() to provide the
atomic drop-to-softclock semantics that the old splsoftclock() provided,
and update calls accordingly.

This fixes a problem with using the "rnd" pseudo-device from within
interrupt context to extract random data (e.g. from within the softnet
interrupt) where doing so would incorrectly unblock interrupts (causing
all sorts of lossage).

XXX 4 platforms do not have priority-raising capability: newsmips, sparc,
XXX sparc64, and VAX. This platforms still have this bug until their
XXX spl*() functions are fixed.
 1.7 31-May-1999  nisimura - Call _splnone() explicitely after auto config. was well done to make
sure SOFT_INTs cleared before interrupt processing is started.
 1.6 25-May-1999  nisimura - Rework spl(9) implementation. Use _spl*() processor mask manipulating
routines now reside in locore.S. No functional difference is expected.
- Replace abused splx() abuse with _splset() to change MIPS processor
interrupt mask bit. 'mips/trap.c' side will be fixed soon.
 1.5 25-Aug-1998  nisimura branches: 1.5.2; 1.5.10;
Make spl(9) rountines target port dependent. delay() is also port
dependent anticipating a target with high resolution timer available
for on-the-fly re-programming. Enum decstation_t was removed from MI
trap.c.
 1.4 30-Mar-1998  jonathan Define IPL_ constants for pmax.
 1.3 25-Mar-1998  jonathan Split sys/arch/pmaxpmax/{machdep.c,trap.c} as suggested by Jason Thorpe:
* add "Platform" support inpmax/pmax/sysconf.c and pmax/include/sysconf.h
(based on Alpha cpuconf.[ch], with a namechange to avoid clashes with
support for models of MIPS cpus. They differ more than Alphas).

* For each supported model of DECstation, create a separate file
with the support for that model. Use model codenames, since
support is really baseboard-specific and CPU daugherboards can change.
Move code from machdep.c and pmax_trap.c,
Add sysconf (nee "cpuconf") support.

* Rename model-specific functions to match sysconf names.

* Clean up autoconf.c. Use platform callbacks.

* Retire pmax_trap.c.

Leaves I/O bus configuration and console configuration untouched.
 1.2 05-Jan-1998  perry RCSID Police.
 1.1 26-Oct-1997  jonathan branches: 1.1.2;
<machine/intr.h> is required. Supply an empty one.
VS: ----------------------------------------------------------------------
 1.1.2.2 26-Oct-1997  jonathan <machine/intr.h> is required. Supply an empty one.
VS: ----------------------------------------------------------------------
 1.1.2.1 26-Oct-1997  jonathan file intr.h was added on branch netbsd-1-3 on 1997-10-26 10:41:33 +0000
 1.5.10.1 21-Jun-1999  thorpej Sync w/ -current.
 1.5.2.5 12-Nov-1999  nisimura Sync. w/ main trunk changes.
 1.5.2.4 06-Aug-1999  nisimura - Define spllowersoftclock() as _spllower() and change splsoftclock()
definition to have _splraise(). This cured of severe clock slip
observed for months.
 1.5.2.3 11-Jun-1999  nisimura - Track main trunk changes and cleanup accumulated bozos I made so far.
 1.5.2.2 22-Jan-1999  nisimura - Sync with various changes recently done in main trunk.
 1.5.2.1 15-Oct-1998  nisimura - Reflect new internals.
 1.8.2.3 21-Apr-2001  bouyer Sync with HEAD
 1.8.2.2 18-Jan-2001  bouyer Sync with head (for UBC+NFS fixes, mostly).
 1.8.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.18.2.1 21-Jun-2001  nathanw Catch up to -current.
 1.20.2.2 13-Sep-2001  thorpej Update the kqueue branch to HEAD.
 1.20.2.1 25-Aug-2001  thorpej Merge Aug 24 -current into the kqueue branch.
 1.23.6.2 27-Aug-2001  nisimura Count and record memory error interrupts with evcnt(9).
 1.23.6.1 27-Aug-2001  nisimura file intr.h was added on branch nathanw_sa on 2001-08-27 02:00:17 +0000
 1.24.2.1 17-Jan-2005  skrll Sync with HEAD.
 1.25.10.5 21-Jan-2008  yamt sync with head
 1.25.10.4 07-Dec-2007  yamt sync with head
 1.25.10.3 03-Sep-2007  yamt sync with head.
 1.25.10.2 26-Feb-2007  yamt sync with head.
 1.25.10.1 30-Dec-2006  yamt sync with head.
 1.26.22.4 23-Oct-2006  yamt define splserial()
 1.26.22.3 24-Sep-2006  yamt add IPL_STATCLOCK.
 1.26.22.2 24-Sep-2006  yamt add missing IPL_ definitions.
 1.26.22.1 23-Sep-2006  yamt implement splraiseipl for pmax.
 1.26.20.1 12-Jan-2007  ad Sync with head.
 1.28.14.1 26-Jun-2007  garbled Sync with HEAD.
 1.28.8.1 11-Jul-2007  mjf Sync with head.
 1.28.6.4 03-Dec-2007  ad Sync with HEAD.
 1.28.6.3 03-Dec-2007  ad Sync with HEAD.
 1.28.6.2 15-Jul-2007  ad Get pmax working.
 1.28.6.1 15-Jul-2007  ad Sync with head.
 1.29.10.2 09-Jan-2008  matt sync with HEAD
 1.29.10.1 06-Nov-2007  matt sync with HEAD
 1.29.8.1 09-Dec-2007  jmcneill Sync with HEAD.
 1.30.2.2 18-Feb-2008  mjf Sync with HEAD.
 1.30.2.1 08-Dec-2007  mjf Sync with HEAD.
 1.31.6.1 08-Jan-2008  bouyer Sync with HEAD
 1.32.28.3 29-Dec-2010  matt Use MIPS_SOFT_INT_MASK instead of MIPS_SOFT_INT_MASK_0 | MIPS_SOFT_INT_MASK_1
 1.32.28.2 24-Dec-2010  matt Adapt to the new spl/interrupt framework.
Include <mips/locore.h> when needed.
 1.32.28.1 06-Feb-2010  matt <mips/softintr.h> is no longer needed.
 1.32.24.1 13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.32.18.1 28-Apr-2009  skrll Sync with HEAD.
 1.32.10.1 04-May-2009  yamt sync with head.
 1.33.8.1 05-Mar-2011  bouyer Sync with HEAD
 1.33.6.1 06-Jun-2011  jruoho Sync with HEAD.
 1.33.4.1 05-Mar-2011  rmind sync with head
 1.1 19-Feb-1998  thorpej Use the generic NetBSD/mips crash dump code.
 1.5 19-Mar-1996  jonathan Replace the following additional header files from src/sys/arch/pmax/include/
with versions that include equivalent files from <mips/include>,
after merging changes from the pmax and pica ports into the
src/sys/arch/mips/include tree.

ptrace.h cdefs.h pmap.h signal.h kdbparam.h
 1.4 26-Oct-1994  cgd new RCS ID format.
 1.3 27-May-1994  glass bsd 4.4-lite pmax port as ported to NetBSD
 1.2 27-May-1994  glass upgrade to bsd 4.4-lite code base. only mod is rcsids
 1.1 12-Oct-1993  deraadt branches: 1.1.1;
Initial revision
 1.1.1.1 12-Oct-1993  deraadt pmax code from <ralphc@pyramid.com> & <rick@snowhite.cis.uoguelph.ca>
 1.13 31-Aug-2001  simonb branches: 1.13.6;
G/C the unused kernel-only CLK_TCK #define.

XXX: does include/time.h still need <machine/limits.h>?
 1.12 09-Jan-2000  ad branches: 1.12.8;
- Fix RCS Ids.
- Spacing.
- Protect from multiple inclusion in a consistant way (except on headers
that do nothing except function as mips header wrappers).
 1.11 09-Jan-1998  perry branches: 1.11.16;
multiple include protect machine/limits.h, fixes pr 4473 (from Mika Nystrom)
 1.10 19-Mar-1996  jonathan Replace the following header files from src/sys/arch/pmax/include/
with versions that include equivalent files from <mips/include>.
(cvs magic copied the previous revisions, with history, to
src/sys/arch/mips/include).

bsd-aout.h elf.h endian.h exec.h float.h ieeefp.h limit.h pcb.h proc.h
profile.h reg.h regdef.h setjmp.h stdarg.h vmparam.h
 1.9 19-Mar-1996  jonathan Remove pmax-specific CLK_TICK to prepare for moving to sys/arch/mips.
 1.8 28-Mar-1995  jtc KERNEL -> _KERNEL
 1.7 15-Nov-1994  dean put #ifdef KERNEL around CLK_TCK define
 1.6 26-Oct-1994  cgd new RCS ID format.
 1.5 05-Oct-1994  jtc Add constants required by XPG3
 1.4 27-May-1994  glass bsd 4.4-lite pmax port as ported to NetBSD
 1.3 27-May-1994  glass upgrade to bsd 4.4-lite code base. only mod is rcsids
 1.2 14-Jan-1994  deraadt some pmax updating (Terry Friedrichsen is helping on this now).
 1.1 12-Oct-1993  deraadt branches: 1.1.1;
Initial revision
 1.1.1.1 12-Oct-1993  deraadt pmax code from <ralphc@pyramid.com> & <rick@snowhite.cis.uoguelph.ca>
 1.11.16.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.12.8.1 13-Sep-2001  thorpej Update the kqueue branch to HEAD.
 1.13.6.2 31-Aug-2001  simonb G/C the unused kernel-only CLK_TCK #define.

XXX: does include/time.h still need <machine/limits.h>?
 1.13.6.1 31-Aug-2001  simonb file limits.h was added on branch nathanw_sa on 2001-08-31 03:46:04 +0000
 1.9 06-Aug-2014  joerg Consistently define WARN in a way that passes format string checks, i.e.
always uses the same number of arguments as given in the format string.
 1.8 14-Dec-2009  matt branches: 1.8.22; 1.8.36;
Merge from matt-nb5-mips64
Merge mips-specific arch files.
 1.7 22-Aug-2009  he Remove BOOT_AOUT, since our mips ports no longer deal with a.out.
 1.6 28-Apr-2008  martin branches: 1.6.18;
Remove clause 3 and 4 from TNF licenses
 1.5 25-Jan-2006  christos branches: 1.5.72; 1.5.74; 1.5.76;
free -> dealloc
unsigned -> size_t for alloc/dealloc
 1.4 14-Nov-2001  thorpej branches: 1.4.2; 1.4.36; 1.4.48;
Merge the thorpej-mips-cache branch onto the trunk. This is an
overhaul of how caches are handled for NetBSD's MIPS ports.
 1.3 31-Oct-2001  thorpej Split elf32 vs. elf64 handling in loadfile(), including support for
each separately and explicitly. BOOT_ELF is now BOOT_ELF32 and
BOOT_ELF64, and ELFSIZE should no longer be defined in loadfile_machdep.h.
 1.2 09-Jan-2000  ad branches: 1.2.2; 1.2.10; 1.2.12;
- Fix RCS Ids.
- Spacing.
- Protect from multiple inclusion in a consistant way (except on headers
that do nothing except function as mips header wrappers).
 1.1 28-Apr-1999  christos branches: 1.1.2; 1.1.4;
Add loadfile_machdep.h
 1.1.4.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.1.2.1 21-Jun-1999  thorpej Sync w/ -current.
 1.2.12.1 12-Nov-2001  thorpej Sync the thorpej-mips-cache branch with -current.
 1.2.10.1 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.2.2.2 14-Mar-2000  nisimura Synchronize with the recent progress in main trunk. Main trunk is
close enough with this.
 1.2.2.1 09-Jan-2000  nisimura file loadfile_machdep.h was added on branch nisimura-pmax-wscons on 2000-03-14 09:45:54 +0000
 1.4.48.1 01-Feb-2006  yamt sync with head.
 1.4.36.1 21-Jun-2006  yamt sync with head.
 1.4.2.2 14-Nov-2001  thorpej Merge the thorpej-mips-cache branch onto the trunk. This is an
overhaul of how caches are handled for NetBSD's MIPS ports.
 1.4.2.1 14-Nov-2001  thorpej file loadfile_machdep.h was added on branch nathanw_sa on 2001-11-14 18:15:34 +0000
 1.5.76.3 11-Mar-2010  yamt sync with head
 1.5.76.2 16-Sep-2009  yamt sync with head
 1.5.76.1 16-May-2008  yamt sync with head.
 1.5.74.1 18-May-2008  yamt sync with head.
 1.5.72.1 02-Jun-2008  mjf Sync with HEAD.
 1.6.18.1 08-Sep-2009  matt Enable building LP64 kernels for 3min, maxine, and 3maxplus.
Fix various LP64 bugs.
XXX still invoked via O32 call args
 1.8.36.1 10-Aug-2014  tls Rebase.
 1.8.22.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.2 31-Aug-2001  simonb branches: 1.2.6;
Remove an unneeded comment; ``sync'' with other "just include <mips/foo.h>"
files.
 1.1 29-Apr-2000  thorpej branches: 1.1.6; 1.1.10;
Require that each each MACHINE/MACHINE_ARCH supply a lock.h. This file
contains the values __SIMPLELOCK_LOCKED and __SIMPLELOCK_UNLOCKED, which
replace the old SIMPLELOCK_LOCKED and SIMPLELOCK_UNLOCKED. These files
are also required to supply inline functions __cpu_simple_lock(),
__cpu_simple_lock_try(), and __cpu_simple_unlock() if locking is to be
supported on that platform (i.e. if MULTIPROCESSOR is defined in the
_KERNEL case). Change these functions to take an int * (&alp->lock_data)
rather than the struct simplelock * itself.

These changes make it possible for userland to use the locking primitives
by including <machine/lock.h>.
 1.1.10.1 13-Sep-2001  thorpej Update the kqueue branch to HEAD.
 1.1.6.2 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.1.6.1 29-Apr-2000  bouyer file lock.h was added on branch thorpej_scsipi on 2000-11-20 20:20:30 +0000
 1.2.6.2 31-Aug-2001  simonb Remove an unneeded comment; ``sync'' with other "just include <mips/foo.h>"
files.
 1.2.6.1 31-Aug-2001  simonb file lock.h was added on branch nathanw_sa on 2001-08-31 03:53:24 +0000
 1.6 09-Jul-2011  matt Cleanu <machine/*> includes
 1.5 05-Jun-2002  simonb ANSIfy.
 1.4 09-Jan-2000  ad branches: 1.4.8; 1.4.12; 1.4.22;
- Fix RCS Ids.
- Spacing.
- Protect from multiple inclusion in a consistant way (except on headers
that do nothing except function as mips header wrappers).
 1.3 09-Jan-2000  simonb The clean-up continues:
- Make local-only function and variables static.
- Move function prototypes and extern variable declarations to
header files.
- Delete unused variables.
There's still a handful of extern declaraions that should be fixed up.
 1.2 20-May-1996  jonathan branches: 1.2.32;
* Move the declarations of mips locore functions from the pmax tree
to the mips tree.
* Just include the mips locore.h into the pmax one.
 1.1 19-May-1996  jonathan Define the conventional pmax locore entry-point names to be calls through
an vector (struct) of function pointers. Add prototype declarations for
each vector entry.
Add declarations for the r2000 (MIPS-I) and r4000 (MIPS-III) locore
versions of the relevant functions.
 1.2.32.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.4.22.1 15-Jul-2002  gehenna catch up with -current.
 1.4.12.1 20-Jun-2002  nathanw Catch up to -current.
 1.4.8.1 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.1 30-Nov-2024  christos branches: 1.1.4;
Create a new header lwp_private.h to contain _lwp_getprivate_fast,
_lwp_gettcb_fast, _lwp_settcb and remove them from mcontext.h, so that:
1. we don't need special hacks to hide them
2. we can include <lwp.h> where needed to get the necessary prototypes
without redefining them locally.
 1.1.4.2 02-Aug-2025  perseant Sync with HEAD
 1.1.4.1 30-Nov-2024  perseant file lwp_private.h was added on branch perseant-exfatfs on 2025-08-02 05:56:00 +0000
 1.9 16-Jun-1997  jonathan Remove all references to <machine/machAsmDefs.h>.
Use #include <mips/asm.h> instead.
 1.8 25-Mar-1996  jonathan Rename the original pmax/include/machAsmDefs.h file, with CVS history,
to mips/include/asm.h.

Until all references to <machine/machAsmDefs.h> in the pmax and
pica tree are changed to use <mips/asm.h> directly, just do
#include <mips/asm.h>, for compatibility.
 1.7 18-Jan-1995  mellon Support for alternate compilers and file formats
 1.6 15-Dec-1994  mycroft Make a new macro _C_LABEL(), which prepends an underscore to the argument unless
NO_UNDERSCORES is defined. Use it in the *LEAF() and END() macros.
 1.5 14-Nov-1994  dean Prepended underscores
 1.4 26-Oct-1994  cgd new RCS ID format.
 1.3 27-May-1994  glass bsd 4.4-lite pmax port as ported to NetBSD
 1.2 27-May-1994  glass upgrade to bsd 4.4-lite code base. only mod is rcsids
 1.1 12-Oct-1993  deraadt branches: 1.1.1;
Initial revision
 1.1.1.1 12-Oct-1993  deraadt pmax code from <ralphc@pyramid.com> & <rick@snowhite.cis.uoguelph.ca>
 1.7 16-Jun-1997  jonathan Remove the machConst.h (wrapper for Sprite-derived source), and all
#includes <machine/machConst.h> uses.
Other header files now include <mips/cpuregs.h> where necessary.
 1.6 30-Sep-1996  jonathan Just include <mips/cpuregs.h>, which has the same contents this
file used to.
 1.5 28-Mar-1996  jonathan Resolve all differences between the Pica and pmax versions of machConst.h:
* add "MIPS_3k_" for the MIPS-I r[23]000-specific register definitions.
* add "MIPS_4k_" for the MIPS-II/III r4000-specific register definitions.
* add #defines that provide the old values for locore and user
code, so the existing code continues to compile.

Regression-tested against the old headers by grepping for #define's,
editing out the defined symbols, and preprocessing with both the previous
machConst.h headers and this version.

Some unused symbols (CPU and FPU must-be-zero constants) are no longer defined.
Pica interrupt masks are now constant expressions instead of constant
values.

TODO:
* factor out the common #defines into src/sys/arch/mips.
* Get rid of the Sprite coding-style names (MACH_xxx).
* Separate out the r3k/r4k differences from the Pica/pmax differences.
* Figure out how to have a run-time choice of r3k vs. r4k support,
instead of a compile-time choice.
 1.4 26-Oct-1994  cgd new RCS ID format.
 1.3 27-May-1994  glass bsd 4.4-lite pmax port as ported to NetBSD
 1.2 27-May-1994  glass upgrade to bsd 4.4-lite code base. only mod is rcsids
 1.1 12-Oct-1993  deraadt branches: 1.1.1;
Initial revision
 1.1.1.1 12-Oct-1993  deraadt pmax code from <ralphc@pyramid.com> & <rick@snowhite.cis.uoguelph.ca>
 1.1 23-Dec-1999  kleink branches: 1.1.6;
C99: Define a NAN macro in <math.h> which evaulates to a constant expression of
a single-precision quiet NaN; only to be defined on platforms that do support
this value.
 1.1.6.2 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.1.6.1 23-Dec-1999  bouyer file math.h was added on branch thorpej_scsipi on 2000-11-20 20:20:31 +0000
 1.2 18-Jan-2003  thorpej Merge the nathanw_sa branch.
 1.1 17-Nov-2001  wdk branches: 1.1.2;
file mcontext.h was initially added on branch nathanw_sa.
 1.1.2.1 17-Nov-2001  wdk mcontext support for MIPS based ports.
 1.7 09-Jan-2000  ad - Fix RCS Ids.
- Spacing.
- Protect from multiple inclusion in a consistant way (except on headers
that do nothing except function as mips header wrappers).
 1.6 23-Mar-1996  jonathan branches: 1.6.32;
Just include the merged pica/pmax r2000/r4000 mips_opcode.h from
mips/include/mips_opcode.h.
 1.5 23-Mar-1996  jonathan Merge in additions of missing MIPS-I opcodes, and r4000-in-32-bit mode
opcodes from the Pica port. Per Fogelstrom claims the latter are all
supposedly MIPS-II (r6000) instructions, rather than MIPS-III (R4000),
but we haven't checked to be sure. Are LL/SC really in MIPS-II?
CVS:: ----------------------------------------------------------------------
 1.4 26-Oct-1994  cgd new RCS ID format.
 1.3 27-May-1994  glass bsd 4.4-lite pmax port as ported to NetBSD
 1.2 27-May-1994  glass upgrade to bsd 4.4-lite code base. only mod is rcsids
 1.1 12-Oct-1993  deraadt branches: 1.1.1;
Initial revision
 1.1.1.1 12-Oct-1993  deraadt pmax code from <ralphc@pyramid.com> & <rick@snowhite.cis.uoguelph.ca>
 1.6.32.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.2 09-Feb-2007  ad branches: 1.2.4;
Merge newlock2 to head.
 1.1 22-Dec-2006  ad branches: 1.1.2;
file mutex.h was initially added on branch newlock2.
 1.1.2.1 22-Dec-2006  ad Pull in CPU specific stubs.
 1.2.4.2 26-Feb-2007  yamt sync with head.
 1.2.4.1 09-Feb-2007  yamt file mutex.h was added on branch yamt-lazymbuf on 2007-02-26 09:07:49 +0000
 1.2 14-Dec-2009  matt branches: 1.2.4;
Merge from matt-nb5-mips64
Merge mips-specific arch files.
 1.1 12-Sep-2009  matt branches: 1.1.2;
file netbsd32_machdep.h was initially added on branch matt-nb5-mips64.
 1.1.2.1 12-Sep-2009  matt Add COMPAT_NETBSD32 support.
 1.2.4.2 11-Mar-2010  yamt sync with head
 1.2.4.1 14-Dec-2009  yamt file netbsd32_machdep.h was added on branch yamt-nfs-mp on 2010-03-11 15:02:49 +0000
 1.46 07-Jan-2019  jdolecek move DEV_BSIZE, DEV_BSHIFT out of MD param.h, they are same on all ports

also move BLKDEV_IOSIZE, MAXPHYS, but allow override since some ports
have different value (powerpc uses NBPG for BLKDEV_IOSIZE, sun2/sun3
have lower MAXPHYS)
 1.45 18-Mar-2011  tsutsui branches: 1.45.54; 1.45.56;
- include <mips/mips_param.h> after MACHINE is defined
- remove redundant comment
 1.44 06-Mar-2011  he Now that MACHINE is defined in user-land in either
mips/include/mips_param.h or powerpc/include/param.h, stop
trying to re-define it in the port-specific param.h files
when _KERNEL isn't defined.
 1.43 20-Feb-2011  matt Merge forward from matt-nb5-mips64.
New interrupt code.
mips64 support for DS5000/260.
 1.42 08-Feb-2011  rmind 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 14-Dec-2009  matt branches: 1.41.4; 1.41.6; 1.41.8;
Merge from matt-nb5-mips64
Merge mips-specific arch files.
 1.40 13-Aug-2009  matt Move MID_MACHINE to <mips/mips_param.h> and use local values so we don't
need to include exec_aout.h
 1.39 14-Mar-2009  dsl Remove all the __P() from sys (excluding sys/dist)
Diff checked with grep and MK1 eyeball.
i386 and amd64 GENERIC and sys still build.
 1.38 10-Sep-2006  tsutsui branches: 1.38.58; 1.38.66; 1.38.72; 1.38.76;
Change dumb DELAY(9) macro into inline version with asm like
other mips ports for gcc4's aggressive optimization.
 1.37 11-Dec-2005  christos branches: 1.37.8; 1.37.20;
merge ktrace-lwp.
 1.36 07-Aug-2003  agc branches: 1.36.16;
Move UCB-licensed code from 4-clause to 3-clause licence.

Patches provided by Joel Baker in PR 22364, verified by myself.
 1.35 26-Feb-2002  simonb branches: 1.35.18;
Purge CLSIZE, CLSIZELOG2 and MCLOFSET.
Be consistant in the way that MSIZE, MCLSHIFT, MCLBYTES and NMBCLUSTERS
are defined.
Remove old VM constants from cesfic port.
Bump MSIZE to 256 on mipsco (the only one that wasn't already 256).
 1.34 30-May-2001  mrg branches: 1.34.2; 1.34.8;
use _KERNEL_OPT
 1.33 30-Jun-2000  itojun branches: 1.33.2;
raise MSIZE from 128 to 256.
- for sizeof(void *) == 8 arch, this is mandatory. MHLEN is too small
already (less than 80) and there are chances for unwanted packet loss due
to m_pullup restriction.
- for other cases, the change should avoid allocating clusters in most cases
(even when you have IPv4 IPsec tunnel, or IPv6 with moderate amount of
extension header)

portmasters: if your arch chokes with the change (high memory usage or
whatever), please backout the change for your arch.
 1.32 06-May-2000  nisimura branches: 1.32.4;
- Remove three unused contants; KERNBASE, KERNTEXTOFF and BTOPKERNBASE.
- Protect #include <machine/intr.h> inclusion with #ifdef _KERNEL.
- Correct the case when "opt_gateway.h" is refered.
 1.31 30-Mar-2000  simonb Nuke register.
 1.30 09-Jan-2000  ad - Fix RCS Ids.
- Spacing.
- Protect from multiple inclusion in a consistant way (except on headers
that do nothing except function as mips header wrappers).
 1.29 08-Jan-2000  simonb Function prototype cleanup.
 1.28 04-Dec-1999  ragge CL* discarding.
 1.27 09-Feb-1999  tv branches: 1.27.8; 1.27.14;
Split the "mips" MACHINE_ARCH for 1.4. newsmips is "mipseb"; pmax is
"mipsel".
 1.26 25-Aug-1998  nisimura branches: 1.26.2;
Make spl(9) rountines target port dependent. delay() is also port
dependent anticipating a target with high resolution timer available
for on-the-fly re-programming. Enum decstation_t was removed from MI
trap.c.
 1.25 29-Apr-1998  thorpej Pull in opt_gateway.h as appropriate.
 1.24 20-Sep-1997  leo Move the definition of MSGBUFSIZE up to the machine-arch level if
possible. Pointed out by Bernd Ernesti.
 1.23 19-Sep-1997  leo Implement the kernel part of pr-1891. This allows for a more flexible sized
msgbuf. Note that old 'dmesg' and 'syslogd' binaries will continue running,
though old 'dmesg' binaries will output a few bytes of junk at the start of
the buffer, and will miss a few bytes at the end of the buffer.
 1.22 20-Aug-1997  jonathan Move SSIZE and DELAY() definitions to sys/arch/mips/include/mips_param.h.
Update comment in pmax/include/param.h (pr 3988).
 1.21 07-Jul-1997  jonathan branches: 1.21.2;
DDB for mips.
Add DDB interface to /sys/arch/mips/mips..
Rework heuristic stack traceback to work with DDB.
Add hooks to print exception log from DDB.
Add hooks from pmax console drivers: call Debugger()
after break from serial console, or 'DO' key from LK-xxx.
 1.20 15-Jun-1997  mhitch More merged MIPS1/MIPS3 support for DECstations.
 1.19 08-Jun-1997  jonathan Move MACHINE_ARCH and _MACHINE_ARCH from pmax/include/param.h to
mips/include/mips_param.h. (They should be common to all mips ports.)
 1.18 26-Feb-1997  jonathan Protect MCLSHIFT definition so users can customize MCLBYTES.
Also define MCLBYTES from MCLSHIFT.
 1.17 20-May-1996  jonathan branches: 1.17.8;
Fix typo in NMBCLUSTERS definition.
 1.16 19-May-1996  jonathan Remove common-across-all-MIPS-cpu definitions (e.g., user-level-visible
page/segment size definitions and macros) and move them to
mips/include/mips_param.h.
 1.15 04-Mar-1996  cgd add _MACHINE and _MACHINE_ARCH, which are like MACHINE and MACHINE_ARCH,
execpt without quotes. meant to be __CONCAT()ted for easy #includes
of machine-dependent headers for MI code (e.g. for the MI ISA/EISA/PCI/TC
bus code).
 1.14 01-Mar-1996  cgd Clean up tabbing/spacing in defns of MACHINE, MACHINE_ARCH, and MID_MACHINE.
 1.13 01-Feb-1996  mycroft LOCORE -> _LOCORE
 1.12 23-Jul-1995  jonathan Add argument prototypes - __P((void)) - to the declarations of Mach_spl*() functions.
 1.11 28-Jun-1995  cgd kill user-land DELAY macro, as suggested by gwr.
 1.10 26-Jun-1995  cgd clean up definitions of ctod(), dtoc(), ctob(), btoc(), btodb(), and
dbtob(). remove unused definitions of ctos(), stoc(), and dtob().
 1.9 28-Mar-1995  jtc KERNEL -> _KERNEL
 1.8 18-Mar-1995  cgd don't be so quick to cast macro arguments to unsigned; if the
arguments are really off_t's (e.g. to btodb), then you can lose
information. This was the "> 4G file systems don't work" bug; physio
uses btodb, which was broken.
 1.7 28-Nov-1994  dean fix from Jonathan Stone
 1.6 26-Oct-1994  cgd new RCS ID format.
 1.5 23-Aug-1994  glass add USPACE
 1.4 27-May-1994  glass bsd 4.4-lite pmax port as ported to NetBSD
 1.3 27-May-1994  glass upgrade to bsd 4.4-lite code base. only mod is rcsids
 1.2 14-Jan-1994  deraadt some pmax updating (Terry Friedrichsen is helping on this now).
 1.1 12-Oct-1993  deraadt branches: 1.1.1;
Initial revision
 1.1.1.1 12-Oct-1993  deraadt pmax code from <ralphc@pyramid.com> & <rick@snowhite.cis.uoguelph.ca>
 1.17.8.1 12-Mar-1997  is Merge in changes from Trunk
 1.21.2.2 22-Sep-1997  thorpej Update marc-pcmcia branch from trunk.
 1.21.2.1 23-Aug-1997  thorpej Update marc-pcmcia branch from trunk.
 1.26.2.3 11-Jun-1999  nisimura - Track main trunk changes and cleanup accumulated bozos I made so far.
 1.26.2.2 24-Feb-1999  drochner #define MACHINE_ARCH "mipsel"
 1.26.2.1 15-Oct-1998  nisimura - Reflect new internals.
 1.27.14.2 27-Dec-1999  wrstuden Pull up to last week's -current.
 1.27.14.1 21-Dec-1999  wrstuden Initial commit of recent changes to make DEV_BSIZE go away.

Runs on i386, needs work on other arch's. Main kernel routines should be
fine, but a number of the stand programs need help.

cd, fd, ccd, wd, and sd have been updated. sd has been tested with non-512
byte block devices. vnd, raidframe, and lfs need work.

Non 2**n block support is automatic for LKM's and conditional for kernels
on "options NON_PO2_BLOCKS".
 1.27.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.32.4.1 23-Jul-2000  itojun pullup from main trunc (approved by releng-1-5)

raise MSIZE from 128 to 256.
- for sizeof(void *) == 8 arch, this is mandatory. MHLEN is too small
already (less than 80) and there are chances for unwanted packet loss due
to m_pullup restriction.
- for other cases, the change should avoid allocating clusters in most cases
(even when you have IPv4 IPsec tunnel, or IPv6 with moderate amount of
extension header)

portmasters: if your arch chokes with the change (high memory usage or
whatever), please backout the change for your arch.

1.1 -> 1.2 syssrc/sys/arch/amigappc/include/param.h
1.13 -> 1.14 syssrc/sys/arch/arc/include/param.h
1.1 -> 1.2 syssrc/sys/arch/arm26/include/param.h
1.17 -> 1.18 syssrc/sys/arch/arm32/include/param.h
1.6 -> 1.7 syssrc/sys/arch/bebox/include/param.h
1.4 -> 1.5 syssrc/sys/arch/cobalt/include/param.h
1.4 -> 1.5 syssrc/sys/arch/evbsh3/include/param.h
1.2 -> 1.3 syssrc/sys/arch/hpcmips/include/param.h
1.40 -> 1.41 syssrc/sys/arch/i386/include/param.h
1.7 -> 1.8 syssrc/sys/arch/m68k/include/param.h
1.9 -> 1.10 syssrc/sys/arch/macppc/include/param.h
1.4 -> 1.5 syssrc/sys/arch/mmeye/include/param.h
1.6 -> 1.7 syssrc/sys/arch/newsmips/include/param.h
1.7 -> 1.8 syssrc/sys/arch/ofppc/include/param.h
1.23 -> 1.24 syssrc/sys/arch/pc532/include/param.h
1.32 -> 1.33 syssrc/sys/arch/pmax/include/param.h
1.7 -> 1.8 syssrc/sys/arch/powerpc/include/param.h
1.1 -> 1.2 syssrc/sys/arch/prep/include/param.h
1.1 -> 1.2 syssrc/sys/arch/sgimips/include/param.h
1.3 -> 1.4 syssrc/sys/arch/sh3/include/param.h
1.44 -> 1.45 syssrc/sys/arch/sparc/include/param.h
1.21 -> 1.22 syssrc/sys/arch/sparc64/include/param.h
1.43 -> 1.44 syssrc/sys/arch/vax/include/param.h
 1.33.2.1 21-Jun-2001  nathanw Catch up to -current.
 1.34.8.2 28-Feb-2002  nathanw Catch up to -current.
 1.34.8.1 30-May-2001  nathanw file param.h was added on branch nathanw_sa on 2002-02-28 04:11:22 +0000
 1.34.2.1 16-Mar-2002  jdolecek Catch up with -current.
 1.35.18.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.35.18.2 18-Sep-2004  skrll Sync with HEAD.
 1.35.18.1 03-Aug-2004  skrll Sync with HEAD
 1.36.16.1 30-Dec-2006  yamt sync with head.
 1.37.20.1 18-Nov-2006  ad Sync with head.
 1.37.8.1 14-Sep-2006  yamt sync with head.
 1.38.76.2 24-Dec-2010  matt Adapt to the new spl/interrupt framework.
Include <mips/locore.h> when needed.
 1.38.76.1 22-Aug-2009  matt Move MACHINE_ARCH definition to <mips/mips_param.h>
Move mbuf related defines to <mips/mips_param.h>
 1.38.72.1 13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.38.66.1 28-Apr-2009  skrll Sync with HEAD.
 1.38.58.3 11-Mar-2010  yamt sync with head
 1.38.58.2 19-Aug-2009  yamt sync with head.
 1.38.58.1 04-May-2009  yamt sync with head.
 1.41.8.2 05-Mar-2011  bouyer Sync with HEAD
 1.41.8.1 17-Feb-2011  bouyer Sync with HEAD
 1.41.6.1 06-Jun-2011  jruoho Sync with HEAD.
 1.41.4.2 21-Apr-2011  rmind sync with head
 1.41.4.1 05-Mar-2011  rmind sync with head
 1.45.56.1 10-Jun-2019  christos Sync with HEAD
 1.45.54.1 18-Jan-2019  pgoyette Synch with HEAD
 1.1 12-Oct-1993  deraadt branches: 1.1.1;
Initial revision
 1.1.1.2 14-Jan-1994  mycroft Clean up deleted files.
 1.1.1.1 12-Oct-1993  deraadt pmax code from <ralphc@pyramid.com> & <rick@snowhite.cis.uoguelph.ca>
 1.8 19-Apr-2018  christos s/static inline/static __inline/g for consistency.
 1.7 19-Mar-1996  jonathan branches: 1.7.80;
Replace the following header files from src/sys/arch/pmax/include/
with versions that include equivalent files from <mips/include>.
(cvs magic copied the previous revisions, with history, to
src/sys/arch/mips/include).

bsd-aout.h elf.h endian.h exec.h float.h ieeefp.h limit.h pcb.h proc.h
profile.h reg.h regdef.h setjmp.h stdarg.h vmparam.h
 1.6 19-Mar-1996  jonathan Change "pmax" -> "mips" before moving to sys/arch/mips/include.
 1.5 18-Jan-1995  mellon Make pcb_regs structure compatible with Ultrix
 1.4 26-Oct-1994  cgd new RCS ID format.
 1.3 27-May-1994  glass bsd 4.4-lite pmax port as ported to NetBSD
 1.2 27-May-1994  glass upgrade to bsd 4.4-lite code base. only mod is rcsids
 1.1 12-Oct-1993  deraadt branches: 1.1.1;
Initial revision
 1.1.1.1 12-Oct-1993  deraadt pmax code from <ralphc@pyramid.com> & <rick@snowhite.cis.uoguelph.ca>
 1.7.80.1 22-Apr-2018  pgoyette Sync with HEAD
 1.15 13-Sep-2000  nisimura Nuke unused obscure #define's.
 1.14 09-Jan-2000  ad - Fix RCS Ids.
- Spacing.
- Protect from multiple inclusion in a consistant way (except on headers
that do nothing except function as mips header wrappers).
 1.13 16-Jun-1997  jonathan branches: 1.13.24;
Yet more mips1/mips3 merging:

Move mips-specific pmap definitions (PMAP_PREFER for mips3, declaratin
of pmap_bootstrap() for the system-specific machdep.c) from
arch/pmax/include/pmap.h to arch/mips/include/pmap.h.
 1.12 15-Jun-1997  mhitch More merged MIPS1/MIPS3 support for DECstations.
 1.11 25-May-1997  jonathan Prototype for pmap_bootstrap().
 1.10 19-Mar-1996  jonathan Replace the following additional header files from src/sys/arch/pmax/include/
with versions that include equivalent files from <mips/include>,
after merging changes from the pmax and pica ports into the
src/sys/arch/mips/include tree.

ptrace.h cdefs.h pmap.h signal.h kdbparam.h
 1.9 19-Mar-1996  jonathan Change "pmax_xxx" macros to "mips_xxx" macros, in preparation
for moving to src/sys/arch/mips/include/pmap.h.
 1.8 12-Apr-1995  mellon Use _KERNEL, not KERNEL
 1.7 10-Apr-1995  mycroft Bring back pmap_kernel(), for now always inlined as a pointer to
kernel_pmap_store.
 1.6 28-Mar-1995  jtc KERNEL -> _KERNEL
 1.5 26-Oct-1994  cgd new RCS ID format.
 1.4 27-May-1994  glass bsd 4.4-lite pmax port as ported to NetBSD
 1.3 27-May-1994  glass upgrade to bsd 4.4-lite code base. only mod is rcsids
 1.2 15-Oct-1993  deraadt update from rick, tarfile of Oct 11 10:46
 1.1 12-Oct-1993  deraadt branches: 1.1.1;
Initial revision
 1.1.1.1 12-Oct-1993  deraadt pmax code from <ralphc@pyramid.com> & <rick@snowhite.cis.uoguelph.ca>
 1.13.24.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.2 12-Jul-2018  maxv Remove the kernel PMC code. Sent yesterday on tech-kern@.

This change:

* Removes "options PERFCTRS", the associated includes, and the associated
ifdefs. In doing so, it removes several XXXSMPs in the MI code, which is
good.

* Removes the PMC code of ARM XSCALE.

* Removes all the pmc.h files. They were all empty, except for ARM XSCALE.

* Reorders the x86 PMC code not to rely on the legacy pmc.h file. The
definitions are put in sysarch.h.

* Removes the kern/sys_pmc.c file, and along with it, the sys_pmc_control
and sys_pmc_get_info syscalls. They are marked as OBSOL in kern,
netbsd32 and rump.

* Removes the pmc_evid_t and pmc_ctr_t types.

* Removes all the associated man pages. The sets are marked as obsolete.
 1.1 07-Aug-2002  briggs branches: 1.1.2; 1.1.4; 1.1.6; 1.1.202; 1.1.204;
Implement pmc(9) -- An interface to hardware performance monitoring
counters. These counters do not exist on all CPUs, but where they
do exist, can be used for counting events such as dcache misses that
would otherwise be difficult or impossible to instrument by code
inspection or hardware simulation.

pmc(9) is meant to be a general interface. Initially, the Intel XScale
counters are the only ones supported.
 1.1.204.1 10-Jun-2019  christos Sync with HEAD
 1.1.202.1 28-Jul-2018  pgoyette Sync with HEAD
 1.1.6.2 06-Sep-2002  jdolecek sync kqueue branch with HEAD
 1.1.6.1 07-Aug-2002  jdolecek file pmc.h was added on branch kqueue on 2002-09-06 08:38:51 +0000
 1.1.4.2 31-Aug-2002  gehenna catch up with -current.
 1.1.4.1 07-Aug-2002  gehenna file pmc.h was added on branch gehenna-devsw on 2002-08-31 13:45:39 +0000
 1.1.2.2 13-Aug-2002  nathanw Catch up to -current.
 1.1.2.1 07-Aug-2002  nathanw file pmc.h was added on branch nathanw_sa on 2002-08-13 02:18:40 +0000
 1.9 29-Jul-2006  ad Remove RASTERCONSOLE support from the pmax port.
 1.8 11-Dec-2005  christos branches: 1.8.4; 1.8.8;
merge ktrace-lwp.
 1.7 07-Aug-2003  agc branches: 1.7.16;
Move UCB-licensed code from 4-clause to 3-clause licence.

Patches provided by Joel Baker in PR 22364, verified by myself.
 1.6 09-Jan-2000  ad branches: 1.6.28;
- Fix RCS Ids.
- Spacing.
- Protect from multiple inclusion in a consistant way (except on headers
that do nothing except function as mips header wrappers).
 1.5 24-Apr-1999  simonb branches: 1.5.2;
Nuke register and remove trailling white space.
 1.4 26-Oct-1994  cgd branches: 1.4.22; 1.4.30;
new RCS ID format.
 1.3 27-May-1994  glass bsd 4.4-lite pmax port as ported to NetBSD
 1.2 27-May-1994  glass upgrade to bsd 4.4-lite code base. only mod is rcsids
 1.1 12-Oct-1993  deraadt branches: 1.1.1;
Initial revision
 1.1.1.1 12-Oct-1993  deraadt pmax code from <ralphc@pyramid.com> & <rick@snowhite.cis.uoguelph.ca>
 1.4.30.1 21-Jun-1999  thorpej Sync w/ -current.
 1.4.22.1 15-Oct-1998  nisimura - Reflect new internals.
 1.5.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.6.28.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.6.28.2 18-Sep-2004  skrll Sync with HEAD.
 1.6.28.1 03-Aug-2004  skrll Sync with HEAD
 1.7.16.1 30-Dec-2006  yamt sync with head.
 1.8.8.1 11-Aug-2006  yamt sync with head
 1.8.4.1 09-Sep-2006  rpaulo sync with head
 1.6 19-Apr-2018  christos s/static inline/static __inline/g for consistency.
 1.5 19-Mar-1996  jonathan branches: 1.5.80;
Replace the following header files from src/sys/arch/pmax/include/
with versions that include equivalent files from <mips/include>.
(cvs magic copied the previous revisions, with history, to
src/sys/arch/mips/include).

bsd-aout.h elf.h endian.h exec.h float.h ieeefp.h limit.h pcb.h proc.h
profile.h reg.h regdef.h setjmp.h stdarg.h vmparam.h
 1.4 26-Oct-1994  cgd new RCS ID format.
 1.3 27-May-1994  glass bsd 4.4-lite pmax port as ported to NetBSD
 1.2 27-May-1994  glass upgrade to bsd 4.4-lite code base. only mod is rcsids
 1.1 12-Oct-1993  deraadt branches: 1.1.1;
Initial revision
 1.1.1.1 12-Oct-1993  deraadt pmax code from <ralphc@pyramid.com> & <rick@snowhite.cis.uoguelph.ca>
 1.5.80.1 22-Apr-2018  pgoyette Sync with HEAD
 1.8 19-Apr-2018  christos s/static inline/static __inline/g for consistency.
 1.7 19-Mar-1996  jonathan branches: 1.7.80;
Replace the following header files from src/sys/arch/pmax/include/
with versions that include equivalent files from <mips/include>.
(cvs magic copied the previous revisions, with history, to
src/sys/arch/mips/include).

bsd-aout.h elf.h endian.h exec.h float.h ieeefp.h limit.h pcb.h proc.h
profile.h reg.h regdef.h setjmp.h stdarg.h vmparam.h
 1.6 31-May-1995  jonathan Change reference in asm code from ``__mcount'' to ``___mcount'', to be
consistent with the (default) prepending of underscores to identifiers.

Because this reference is inside an ASM string it's too hairy to
conditionalize to support different toolchains that don't prepend underscores.
(Just don't do profiling with such toolchains.)
 1.5 28-Mar-1995  jtc KERNEL -> _KERNEL
 1.4 26-Oct-1994  cgd new RCS ID format.
 1.3 27-May-1994  glass bsd 4.4-lite pmax port as ported to NetBSD
 1.2 27-May-1994  glass upgrade to bsd 4.4-lite code base. only mod is rcsids
 1.1 12-Oct-1993  deraadt branches: 1.1.1;
Initial revision
 1.1.1.1 12-Oct-1993  deraadt pmax code from <ralphc@pyramid.com> & <rick@snowhite.cis.uoguelph.ca>
 1.7.80.1 22-Apr-2018  pgoyette Sync with HEAD
 1.6 16-Jun-1997  jonathan Move merged pmax psl.h with mips1/mips3 support to mips/include/psl.h.
Change pmax/include/psl.h to just do #include <mips/psl.h>.

pmax/include/psl.h would go away completely if it wasn't stil required
by compat/common/kern_exit_43.c.
 1.5 15-Jun-1997  mhitch More merged MIPS1/MIPS3 support for DECstations.
 1.4 26-Oct-1994  cgd new RCS ID format.
 1.3 27-May-1994  glass bsd 4.4-lite pmax port as ported to NetBSD
 1.2 27-May-1994  glass upgrade to bsd 4.4-lite code base. only mod is rcsids
 1.1 12-Oct-1993  deraadt branches: 1.1.1;
Initial revision
 1.1.1.1 12-Oct-1993  deraadt pmax code from <ralphc@pyramid.com> & <rick@snowhite.cis.uoguelph.ca>
 1.7 13-Oct-1996  jonathan Merge mips1 and mips3 pte/pmap code, pass 0;
* Move mips-I pte (TLBlo) definitions from pmax/include/pte.h
to mips/include/mips1_pte.h

* Move mips-III pte (TLBlo) definitions from pica/include/pte.h
to mips/include/mips3_pte.h

* Add new mips/include/pte.h, which includes exactly one of
mips1_pte.h or mips3_pte.h (which still have namespace collisions),
depending on "options MIPS1" or "options MIPS3". (hack).
Move soft kvtopte(), ptetovk() definitions to mips/include/pte.h

* Add macro PTE_TO_PADDR() to hide the different hardware TLB formats
when mapping from pte to physical address.

* Add macro PTE_READONLY() to hide lack of SW read-only bit in mips-III
tlb. (mips1 pmap uses a sw bit in the PTE, mips3 looks up RO bit in
the kernel pmap.)

* Use macros (not direct TLB frobbing) in mips/trap.c, to make it
mips-1/mips-III indepenndet.

* Change {pmax,pica}/include/pte.h to just do #include <mips/pte.h>.
 1.6 01-Feb-1996  mycroft LOCORE -> _LOCORE
 1.5 28-Mar-1995  jtc KERNEL -> _KERNEL
 1.4 26-Oct-1994  cgd new RCS ID format.
 1.3 27-May-1994  glass bsd 4.4-lite pmax port as ported to NetBSD
 1.2 27-May-1994  glass upgrade to bsd 4.4-lite code base. only mod is rcsids
 1.1 12-Oct-1993  deraadt branches: 1.1.1;
Initial revision
 1.1.1.1 12-Oct-1993  deraadt pmax code from <ralphc@pyramid.com> & <rick@snowhite.cis.uoguelph.ca>
 1.7 19-Mar-1996  jonathan Replace the following additional header files from src/sys/arch/pmax/include/
with versions that include equivalent files from <mips/include>,
after merging changes from the pmax and pica ports into the
src/sys/arch/mips/include tree.

ptrace.h cdefs.h pmap.h signal.h kdbparam.h
 1.6 21-Dec-1995  jonathan Reserve a number in the machine-dependent range for PT_STEP, in
case the kernel-debugger implementation of single-stepping ever works
with user code.
 1.5 20-Dec-1995  jonathan Add support for ptrace PT_GETREGS and PT_SETREGS for NetBSD/pmax:
* define PT_GETREGS and PT_SETREGS in pmax/include/ptrace.h
* Flesh out the stubs in pmax/pmax/process_machdep.c to handle
those requests.
* Now that "struct reg" is actually used, remove the bogus
#ifdef LANGUAGE_C around its definition, and redo pmax/include/reg.h
so that the definitions needed by locore.S are in a separate file,
pmax/include/regnum.h.
* update locore.S to match.
 1.4 26-Oct-1994  cgd new RCS ID format.
 1.3 27-May-1994  glass bsd 4.4-lite pmax port as ported to NetBSD
 1.2 27-May-1994  glass upgrade to bsd 4.4-lite code base. only mod is rcsids
 1.1 12-Oct-1993  deraadt branches: 1.1.1;
Initial revision
 1.1.1.1 12-Oct-1993  deraadt pmax code from <ralphc@pyramid.com> & <rick@snowhite.cis.uoguelph.ca>
 1.8 19-Apr-2018  christos s/static inline/static __inline/g for consistency.
 1.7 19-Mar-1996  jonathan branches: 1.7.80;
Replace the following header files from src/sys/arch/pmax/include/
with versions that include equivalent files from <mips/include>.
(cvs magic copied the previous revisions, with history, to
src/sys/arch/mips/include).

bsd-aout.h elf.h endian.h exec.h float.h ieeefp.h limit.h pcb.h proc.h
profile.h reg.h regdef.h setjmp.h stdarg.h vmparam.h
 1.6 20-Dec-1995  jonathan Add support for ptrace PT_GETREGS and PT_SETREGS for NetBSD/pmax:
* define PT_GETREGS and PT_SETREGS in pmax/include/ptrace.h
* Flesh out the stubs in pmax/pmax/process_machdep.c to handle
those requests.
* Now that "struct reg" is actually used, remove the bogus
#ifdef LANGUAGE_C around its definition, and redo pmax/include/reg.h
so that the definitions needed by locore.S are in a separate file,
pmax/include/regnum.h.
* update locore.S to match.
 1.5 18-Jan-1995  mellon Make register definitions compatible with Ultrix
 1.4 26-Oct-1994  cgd new RCS ID format.
 1.3 27-May-1994  glass bsd 4.4-lite pmax port as ported to NetBSD
 1.2 27-May-1994  glass upgrade to bsd 4.4-lite code base. only mod is rcsids
 1.1 12-Oct-1993  deraadt branches: 1.1.1;
Initial revision
 1.1.1.1 12-Oct-1993  deraadt pmax code from <ralphc@pyramid.com> & <rick@snowhite.cis.uoguelph.ca>
 1.7.80.1 22-Apr-2018  pgoyette Sync with HEAD
 1.7 30-Mar-1999  soda regdef.h is back
 1.6 13-Mar-1999  drochner This file is unneeded since <mips/regdef.h> went into <mips/asm.h>.
 1.5 19-Mar-1996  jonathan branches: 1.5.20;
Replace the following header files from src/sys/arch/pmax/include/
with versions that include equivalent files from <mips/include>.
(cvs magic copied the previous revisions, with history, to
src/sys/arch/mips/include).

bsd-aout.h elf.h endian.h exec.h float.h ieeefp.h limit.h pcb.h proc.h
profile.h reg.h regdef.h setjmp.h stdarg.h vmparam.h
 1.4 26-Oct-1994  cgd new RCS ID format.
 1.3 27-May-1994  glass bsd 4.4-lite pmax port as ported to NetBSD
 1.2 27-May-1994  glass upgrade to bsd 4.4-lite code base. only mod is rcsids
 1.1 12-Oct-1993  deraadt branches: 1.1.1;
Initial revision
 1.1.1.1 12-Oct-1993  deraadt pmax code from <ralphc@pyramid.com> & <rick@snowhite.cis.uoguelph.ca>
 1.5.20.1 15-Oct-1998  nisimura - Reflect new internals.
 1.3 20-Mar-1996  jonathan Merge more header files with arch/mips/include, by replacing
with versions that #inlude the <mips/XXX.h> file:
reloc.h regnum.h varargs.h
 1.2 19-Mar-1996  jonathan Remove #ifdef LANGUAGE_C - protected definition of "struct reg".
(It was a duplicate of the real definition reg.h and was never used.)
 1.1 20-Dec-1995  jonathan Add support for ptrace PT_GETREGS and PT_SETREGS for NetBSD/pmax:
* define PT_GETREGS and PT_SETREGS in pmax/include/ptrace.h
* Flesh out the stubs in pmax/pmax/process_machdep.c to handle
those requests.
* Now that "struct reg" is actually used, remove the bogus
#ifdef LANGUAGE_C around its definition, and redo pmax/include/reg.h
so that the definitions needed by locore.S are in a separate file,
pmax/include/regnum.h.
* update locore.S to match.
 1.8 09-Sep-2001  simonb branches: 1.8.4;
Clean up and standardise across MIPS ports.
 1.7 09-Jan-2000  ad branches: 1.7.6; 1.7.8;
- Fix RCS Ids.
- Spacing.
- Protect from multiple inclusion in a consistant way (except on headers
that do nothing except function as mips header wrappers).
 1.6 20-Mar-1996  jonathan branches: 1.6.32;
Merge more header files with arch/mips/include, by replacing
with versions that #inlude the <mips/XXX.h> file:
reloc.h regnum.h varargs.h
 1.5 19-Mar-1996  jonathan Change "XXX_pmax" to "XXX_mips" in preparation for merging with
Pica reloc.h.
 1.4 26-Oct-1994  cgd new RCS ID format.
 1.3 27-May-1994  glass bsd 4.4-lite pmax port as ported to NetBSD
 1.2 27-May-1994  glass upgrade to bsd 4.4-lite code base. only mod is rcsids
 1.1 12-Oct-1993  deraadt branches: 1.1.1;
Initial revision
 1.1.1.1 12-Oct-1993  deraadt pmax code from <ralphc@pyramid.com> & <rick@snowhite.cis.uoguelph.ca>
 1.6.32.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.7.8.1 13-Sep-2001  thorpej Update the kqueue branch to HEAD.
 1.7.6.1 01-Oct-2001  fvdl Catch up with -current.
 1.8.4.2 09-Sep-2001  simonb Clean up and standardise across MIPS ports.
 1.8.4.1 09-Sep-2001  simonb file reloc.h was added on branch nathanw_sa on 2001-09-09 04:20:30 +0000
 1.2 05-Feb-2003  nakayama Replace machine/rnd.h with more appropriate name to share it
with cycle counter based microtime in kern/kern_microtime.c.
 1.1 06-Jun-2000  soren branches: 1.1.4; 1.1.6;
Add rnd(4) glue for the MIPS3 cycle counter.
 1.1.6.2 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.1.6.1 06-Jun-2000  bouyer file rnd.h was added on branch thorpej_scsipi on 2000-11-20 20:20:32 +0000
 1.1.4.2 22-Jun-2000  minoura Sync w/ netbsd-1-5-base.
 1.1.4.1 06-Jun-2000  minoura file rnd.h was added on branch minoura-xpg4dl on 2000-06-22 17:02:25 +0000
 1.2 09-Feb-2007  ad branches: 1.2.4;
Merge newlock2 to head.
 1.1 22-Dec-2006  ad branches: 1.1.2;
file rwlock.h was initially added on branch newlock2.
 1.1.2.1 22-Dec-2006  ad Pull in CPU specific stubs.
 1.2.4.2 26-Feb-2007  yamt sync with head.
 1.2.4.1 09-Feb-2007  yamt file rwlock.h was added on branch yamt-lazymbuf on 2007-02-26 09:07:49 +0000
 1.3 19-Apr-2018  christos s/static inline/static __inline/g for consistency.
 1.2 19-Mar-1996  jonathan branches: 1.2.80;
Replace the following header files from src/sys/arch/pmax/include/
with versions that include equivalent files from <mips/include>.
(cvs magic copied the previous revisions, with history, to
src/sys/arch/mips/include).

bsd-aout.h elf.h endian.h exec.h float.h ieeefp.h limit.h pcb.h proc.h
profile.h reg.h regdef.h setjmp.h stdarg.h vmparam.h
 1.1 20-Dec-1994  cgd make the definition of _JBLEN mach. dep. header-dependent.
 1.2.80.1 22-Apr-2018  pgoyette Sync with HEAD
 1.8 19-Mar-1996  jonathan Replace the following additional header files from src/sys/arch/pmax/include/
with versions that include equivalent files from <mips/include>,
after merging changes from the pmax and pica ports into the
src/sys/arch/mips/include tree.

ptrace.h cdefs.h pmap.h signal.h kdbparam.h
 1.7 19-Mar-1996  jonathan Add eight 32-bit (XXX) words of reserved space to struct sigcontext,
for binary compatibilty with the pica port.
 1.6 18-Jan-1995  mellon break mullo and mulhi out of gp regs in sigcontext
 1.5 10-Jan-1995  jtc Only define sig_atomic_t when _ANSI_SOURCE is defined.
 1.4 26-Oct-1994  cgd new RCS ID format.
 1.3 27-May-1994  glass bsd 4.4-lite pmax port as ported to NetBSD
 1.2 27-May-1994  glass upgrade to bsd 4.4-lite code base. only mod is rcsids
 1.1 12-Oct-1993  deraadt branches: 1.1.1;
Initial revision
 1.1.1.1 12-Oct-1993  deraadt pmax code from <ralphc@pyramid.com> & <rick@snowhite.cis.uoguelph.ca>
 1.1 23-Jul-2014  alnsn branches: 1.1.2; 1.1.6;
Rename sljitarch.h to sljit_machdep.h.
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 23-Jul-2014  tls file sljit_machdep.h was added on branch tls-maxphys on 2014-08-20 00:03:18 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 23-Jul-2014  tls file sljit_machdep.h was added on branch tls-earlyentropy on 2014-08-10 06:54:05 +0000
 1.2 23-Jul-2014  alnsn Rename sljitarch.h to sljit_machdep.h.
 1.1 22-Jul-2014  alnsn Add sljitarch.h to cobalt and pmax.
 1.13 17-Jul-2011  joerg Retire varargs.h support. Move machine/stdarg.h logic into MI
sys/stdarg.h and expect compiler to provide proper builtins, defaulting
to the GCC interface. lint still has a special fallback.
Reduce abuse of _BSD_VA_LIST_ by defining __va_list by default and
derive va_list as required by standards.
 1.12 19-Mar-1996  jonathan Replace the following header files from src/sys/arch/pmax/include/
with versions that include equivalent files from <mips/include>.
(cvs magic copied the previous revisions, with history, to
src/sys/arch/mips/include).

bsd-aout.h elf.h endian.h exec.h float.h ieeefp.h limit.h pcb.h proc.h
profile.h reg.h regdef.h setjmp.h stdarg.h vmparam.h
 1.11 26-Feb-1996  jonathan Revert pmax stdarg.h and varargs.h to versions from 1995-11-13. Those
versions work correctly; at some point between then and the immediately
preceding revisions, the "stylistic" changes to one (or both) stdarg.h
and varargs.h broke passing doubles to printf().
 1.10 25-Dec-1995  mycroft Stylistic changes.
 1.9 25-Dec-1995  mycroft Stylistic changes.
 1.8 25-Dec-1995  mycroft Update for GCC 2.7, and fix bugs.
 1.7 28-Mar-1995  jtc KERNEL -> _KERNEL
 1.6 28-Jan-1995  jtc ANSI says that <stdarg.h>'s va_end macro must expand to a void expression.
For consistancy, I'm changing <varargs.h> too.
 1.5 26-Oct-1994  cgd new RCS ID format.
 1.4 15-Oct-1994  cgd make <stdarg.h> a symlink, and clean up ports' stdarg.h and varargs.h files.
 1.3 27-May-1994  glass bsd 4.4-lite pmax port as ported to NetBSD
 1.2 27-May-1994  glass upgrade to bsd 4.4-lite code base. only mod is rcsids
 1.1 12-Oct-1993  deraadt branches: 1.1.1;
Initial revision
 1.1.1.1 12-Oct-1993  deraadt pmax code from <ralphc@pyramid.com> & <rick@snowhite.cis.uoguelph.ca>
 1.14 20-Feb-2011  matt Merge forward from matt-nb5-mips64.
New interrupt code.
mips64 support for DS5000/260.
 1.13 14-Mar-2009  dsl branches: 1.13.4; 1.13.6; 1.13.8;
Remove all the __P() from sys (excluding sys/dist)
Diff checked with grep and MK1 eyeball.
i386 and amd64 GENERIC and sys still build.
 1.12 03-Jan-2008  joerg branches: 1.12.10; 1.12.18; 1.12.24; 1.12.28;
Timecounter and generic todr support for pmax. From Garret D'Amore.
 1.11 04-Mar-2007  christos branches: 1.11.20; 1.11.26; 1.11.32;
Kill caddr_t; there will be some MI fallout, but it will be fixed shortly.
 1.10 06-Jun-2000  nisimura branches: 1.10.44; 1.10.82;
Make sure model specific cpu_intr() routines call _splset() as the last
action.
 1.9 06-Mar-2000  mhitch branches: 1.9.2;
A common device_register() is used instead of a separate version for each
of the different DECstation models.
 1.8 29-Feb-2000  nisimura - Have SYS_DEV_xxx device cookie symbols to select and install proper
interrupt handlers into intrtab[] array, rather than the idea of devices
in 'psuedo' TURBOchannel slots.
- Nuke symbols for psuedo TC slots.
- Abandon never/unlikely used intr_disestablish()s.
 1.7 14-Jan-2000  simonb Redo interrupt establishment, based in part on work on the
[nisimura-pmax-wscons] branch and suggestions from Toru Nisimura:
- Remove bogus tc_slot_info[] name for interrupt handling array
and replace with simplified struct intrhand intrtab[] array.
- Add intr_establish() and intr_disestablish() function pointers
to struct platform and initialise this in each model-specific
initialisation, and remove global tc_enable_interrupt function
pointer.
- Remove model-specific function declarations from ibus/ibusvar.h.
This is functionally identical to the current scheme, and doesn't
yet try to commonise interrupt establishment by bus type as the
[nisimura-pmax-wscons] branch does.

Also, move cpuspeed variable from autoconf.c to machdep.c
 1.6 09-Jan-2000  ad - Fix RCS Ids.
- Spacing.
- Protect from multiple inclusion in a consistant way (except on headers
that do nothing except function as mips header wrappers).
 1.5 25-Nov-1999  simonb Move memory sizing to a new function memsize_scan(), and add an empty
stub for memsize_bitmap() to use the PROM bitmap for memory information.
Add a memsize function pointer to the platform structure, and make all
existing DECstation models use memsize_scan() for now.

Interestingly, from the Ultrix cpuconf.{c,h} only the 3100 and 5400 use
a memory scan to determine available memory - all other models use the
PROM bitmap...
 1.4 12-Nov-1999  nisimura - Arrange 'platform' struct to have clkread entry, which can interporate
HZ using high resolution timer circuit if available. Merge os_init
into the primary hardware initialization in sysinit[].init.
- Nuke an irrelevant attempt to disable RTC under splhigh condition.
- Make sure IOASIC DECstations accumulate device interrupt mask bits into
certain global variables.
- Have witchcrafts to issue ACK to RTC interrupt.
- Add a missing \n and a minor rearrangement in cpu.c
 1.3 24-Apr-1999  simonb branches: 1.3.2; 1.3.4; 1.3.8;
Nuke register and remove trailling white space.
 1.2 26-Mar-1998  thorpej branches: 1.2.4; 1.2.12;
The line between "family" and "model" are ... very fuzzy on the DECstation.
So, don't bother.
 1.1 25-Mar-1998  jonathan Split sys/arch/pmaxpmax/{machdep.c,trap.c} as suggested by Jason Thorpe:
* add "Platform" support inpmax/pmax/sysconf.c and pmax/include/sysconf.h
(based on Alpha cpuconf.[ch], with a namechange to avoid clashes with
support for models of MIPS cpus. They differ more than Alphas).

* For each supported model of DECstation, create a separate file
with the support for that model. Use model codenames, since
support is really baseboard-specific and CPU daugherboards can change.
Move code from machdep.c and pmax_trap.c,
Add sysconf (nee "cpuconf") support.

* Rename model-specific functions to match sysconf names.

* Clean up autoconf.c. Use platform callbacks.

* Retire pmax_trap.c.

Leaves I/O bus configuration and console configuration untouched.
 1.2.12.1 21-Jun-1999  thorpej Sync w/ -current.
 1.2.4.7 14-Mar-2000  nisimura Synchronize with the recent progress in main trunk. Main trunk is
close enough with this.
 1.2.4.6 06-Dec-1999  nisimura Sync w/ recent changes in main trunk.
 1.2.4.5 12-Nov-1999  nisimura Sync. w/ main trunk changes.
 1.2.4.4 12-Nov-1999  nisimura Synchronize various changes made in main trunk.
 1.2.4.3 26-May-1999  nisimura - Track changes in main trunk.
 1.2.4.2 12-May-1999  nisimura - Nuke unused 'umimpl_platform' extern declaration. 'os_init' call is not
used anymore.
- Fix careless mistakes.
 1.2.4.1 29-Mar-1999  nisimura - Catch up to recent changes in main trunk.
- Reorganize various #include's.
- Yield memcpy to Mach derivated one.
- pm_cnattach() now checks the existense of framebuffer card.
 1.3.8.1 27-Dec-1999  wrstuden Pull up to last week's -current.
 1.3.4.1 15-Nov-1999  fvdl Sync with -current
 1.3.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.9.2.1 22-Jun-2000  minoura Sync w/ netbsd-1-5-base.
 1.10.82.1 12-Mar-2007  rmind Sync with HEAD.
 1.10.44.2 21-Jan-2008  yamt sync with head
 1.10.44.1 03-Sep-2007  yamt sync with head.
 1.11.32.1 08-Jan-2008  bouyer Sync with HEAD
 1.11.26.1 18-Feb-2008  mjf Sync with HEAD.
 1.11.20.1 09-Jan-2008  matt sync with HEAD
 1.12.28.1 24-Dec-2010  matt Adapt to the new spl/interrupt framework.
Include <mips/locore.h> when needed.
 1.12.24.1 13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.12.18.1 28-Apr-2009  skrll Sync with HEAD.
 1.12.10.1 04-May-2009  yamt sync with head.
 1.13.8.1 05-Mar-2011  bouyer Sync with HEAD
 1.13.6.1 06-Jun-2011  jruoho Sync with HEAD.
 1.13.4.1 05-Mar-2011  rmind sync with head
 1.18 14-Dec-2009  matt Merge from matt-nb5-mips64
Merge mips-specific arch files.
 1.17 29-Feb-2000  nisimura branches: 1.17.136; 1.17.154;
- Have SYS_DEV_xxx device cookie symbols to select and install proper
interrupt handlers into intrtab[] array, rather than the idea of devices
in 'psuedo' TURBOchannel slots.
- Nuke symbols for psuedo TC slots.
- Abandon never/unlikely used intr_disestablish()s.
 1.16 09-Jan-2000  ad - Fix RCS Ids.
- Spacing.
- Protect from multiple inclusion in a consistant way (except on headers
that do nothing except function as mips header wrappers).
 1.15 09-Jan-2000  simonb Use the badaddr() prototype in mips/include/cpu.h by including
<machine/cpu.h> in mips/include/mips_param.h. Remove duplicate
badaddr() prototypes from some pmax header files.
 1.14 08-Jan-2000  simonb Function prototype cleanup.
 1.13 16-Nov-1999  nisimura Back out a part of change in the previous commit; old driver uses it.
 1.12 16-Nov-1999  nisimura Remove now defunct definitions and declaratins.
 1.11 24-Apr-1999  simonb branches: 1.11.2; 1.11.8;
Nuke register and remove trailling white space.
 1.10 16-Mar-1999  nisimura branches: 1.10.4;
- Final cut of TC decoulping.
 1.9 12-Mar-1999  nisimura - Nuke old leftover bogocities, round one; externs for non-existent
functions, less-intuitive #define's in inappropriate header files.
 1.8 19-Apr-1998  jonathan branches: 1.8.4;
Define TC_KV(), TC_C() here for benefit of model-specific TCbus initializers.
 1.7 22-Jun-1997  jonathan * Change Sprite MACH_xxx prefix to MIPS_xxx.

* Use standard mips terminology (xxx_KSEG0, xxx_KSEG1) instead of the
(more meaningful) Sprite names (xxx_CACHED, xxx_UNCACHED).
 1.6 25-May-1997  jonathan Lint: add prototype for badaddr() (the expansion of tc_badaddr).
 1.5 06-Oct-1996  jonathan Update pmax drivers to use "const" on 2nd arg to cfprint_t:
turbocnhannel: include/tc_machdep.h, tc/tc_subr.c, tc/asic.c
kn01 baseboard: pmax/mainbus.c
 1.4 29-May-1996  mhitch Fix autoconfig stuff to match the alpha. The DS3100 will now
configure properly.
 1.3 14-Apr-1996  jonathan branches: 1.3.4;
Fix the definition of TC_PHYS_TO_UNCACHED(addr): make it change a mips
kernel addressed to uncached space.

Add prototypes for pmax-specific TC functions used in probing for
a framebuffer console.
 1.2 29-Jan-1996  jonathan Re-write Decstation turbochannel autoconfiguration code to use the machine-
independent TC support in sys/dev/tc/tc.c and sys/dev/tc/tcvar.h:
* Change the tc autoconfiguration tables to use a struct tc_attach_args
instead of the ad-hoc structure.
* Change all pmax device drivers to use a `struct confargs' that's
assignment-compatible with sys/dev/tc/tcvar.h `struct tcdev_attach_args'.
Devices that can be present on a TC or as ioctl asic/mainbus builtins
use the same `struct confargs'.
* Eliminate the `BUS_CVTADDR()' macros which the pmax port inherited from
an old, now-obsolete sys/arch/alpha snapshot.

* Update the comments and debugging code in interrupt handlers to
be consistent with the machine-independent TC support.

Other commits that overlap the same source files include: re-enabling
clock-tick interrupts earlier, and counting hardclock ticks for vmstat -i.
 1.1 28-Dec-1995  jonathan Use machine-independent TurboChannel include files from dev/tc.
Add machine-dependent TC definitions in pmax/include/tc_machdep.h.
 1.3.4.1 30-May-1996  mhitch Pulled autoconfig fixes up from the trunk
 1.8.4.5 14-Mar-2000  nisimura Synchronize with the recent progress in main trunk. Main trunk is
close enough with this.
 1.8.4.4 03-Feb-2000  nisimura Catch up to recent changes in main trunk.
 1.8.4.3 15-Mar-1999  nisimura - Adjustment for 'machine/conf.h' removal.
- A bit cleanup of handcrafted TC device config.
 1.8.4.2 22-Jan-1999  nisimura - Sync with various changes recently done in main trunk.
 1.8.4.1 15-Oct-1998  nisimura - Reflect new internals.
 1.10.4.1 21-Jun-1999  thorpej Sync w/ -current.
 1.11.8.1 27-Dec-1999  wrstuden Pull up to last week's -current.
 1.11.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.17.154.1 08-Sep-2009  matt Enable building LP64 kernels for 3min, maxine, and 3maxplus.
Fix various LP64 bugs.
XXX still invoked via O32 call args
 1.17.136.1 11-Mar-2010  yamt sync with head
 1.7 24-Mar-1996  jonathan Replace pica and pmax include/trap.h with versions that #include <mips/cpu.h>,
after merging the definition of T_USER in the pmax port, and moving
the result to mips/cpu.h.
 1.6 24-Mar-1996  jonathan Change pmax T_USER bit (software only) to be 0x20, the same as the
Pica port. (The r4000 CPU used in the pica has more hardware execption types.)
 1.5 19-Mar-1996  jonathan Add trap definitions added for the r4000 port.
Note: T_USER is different in the pmax and pica ports!
 1.4 26-Oct-1994  cgd new RCS ID format.
 1.3 27-May-1994  glass bsd 4.4-lite pmax port as ported to NetBSD
 1.2 27-May-1994  glass upgrade to bsd 4.4-lite code base. only mod is rcsids
 1.1 12-Oct-1993  deraadt branches: 1.1.1;
Initial revision
 1.1.1.1 12-Oct-1993  deraadt pmax code from <ralphc@pyramid.com> & <rick@snowhite.cis.uoguelph.ca>
 1.26 26-Jan-2017  christos provide __HAVE_COMPAT_NETBSD32 and fix multiple include protection consistently.
 1.25 20-Jan-2008  joerg branches: 1.25.54; 1.25.74; 1.25.78; 1.25.82;
Now that __HAVE_TIMECOUNTER and __HAVE_GENERIC_TODR are invariants,
remove the conditionals and the code associated with the undef case.
 1.24 03-Jan-2008  joerg Timecounter and generic todr support for pmax. From Garret D'Amore.
 1.23 17-Oct-2007  garbled branches: 1.23.2; 1.23.8;
Merge the ppcoea-renovation branch to HEAD.

This branch was a major cleanup and rototill of many of the various OEA
cpu based PPC ports that focused on sharing as much code as possible
between the various ports to eliminate near-identical copies of files in
every tree. Additionally there is a new PIC system that unifies the
interface to interrupt code for all different OEA ppc arches. The work
for this branch was done by a variety of people, too long to list here.

TODO:
bebox still needs work to complete the transition to -renovation.
ofppc still needs a bunch of work, which I will be looking at.
ev64260 still needs to be renovated
amigappc was not attempted.

NOTES:
pmppc was removed as an arch, and moved to a evbppc target.
 1.22 14-Jul-2007  ad branches: 1.22.10;
Generic soft interrupts are mandatory.
 1.21 05-Aug-2002  simonb branches: 1.21.22; 1.21.64; 1.21.72;
Use a __HAVE_BOOTINFO_H define to check for bootinfo support instead of
speading port names in arch-dependant code.
 1.20 05-Mar-2002  simonb branches: 1.20.8;
Provide a L2 cache configuration function.
 1.19 28-Feb-2002  simonb Use "#define<tab>".
 1.18 22-Aug-2001  nisimura branches: 1.18.6;
NetBSD/pmax now has GENERIC_SOFT_INTERRUPTS.
 1.17 03-Dec-2000  simonb branches: 1.17.4;
Remove __BROKEN_CONFIG_UNIT_USAGE, not needed on pmax.
 1.16 06-Mar-2000  mhitch Define __HAVE_DEVICE_REGISTER, since pmax now has device_register().
 1.15 05-Feb-2000  cgd add __BROKEN_CONFIG_UNIT_USAGE #define, becuase these ports do very
wrong things with device configuration data "cf_unit" information.
 1.14 21-Jul-1997  jonathan branches: 1.14.22;
Kill __BROKEN_INDIRECT_CONFIG on pmax.
Based on a patch from Chris G. Demetriou, December 1996.
 1.13 05-Dec-1996  cgd First step inn removing config_scan() and the hacks that gave devices
on indirect-config busses a (permanent) softc that they could share
between 'match' and 'attach' routines:

Define __BROKEN_INDIRECT_CONFIG so that old autoconfiguration
interfaces are used, until drivers are converted to use the new
interfaces (actually, converted back to use the _older_ interfaces)
which prohibit indirect configuration devices from receiving a softc
in their match routine that they can share with their attach routine.
 1.12 19-Mar-1996  jonathan more merged pmax/mips header files: types.h

Replace header files from src/sys/arch/pmax/include/ with versions that
include equivalent files from <mips/include>.
(cvs magic copied the previous revisions, with history, to
src/sys/arch/mips/include).
 1.11 09-Dec-1995  mycroft Define __FORK_BRAINDAMAGE.
 1.10 06-Jul-1995  cgd add <sys/cdefs.h> inclusions. namsspace-protect physadr, label_t
def'ns against _POSIX_SOURCE and _ANSI_SOURCE.
 1.9 28-Jun-1995  cgd remove unused cpu_exec() definitions. moved "broken swap" markers, for
ports that still need it, to types.h.
 1.8 26-Jun-1995  cgd define __BDEVSW_DUMP_OLD_TYPE for ports where it's true. clean up
some m68k ports inclusion of common header.
 1.7 26-Oct-1994  cgd new RCS ID format.
 1.6 20-Oct-1994  cgd update for new syscall args description mechanism
 1.5 20-Jul-1994  cgd define __BIT_TYPES_DEFINED__ for compatibility with things like BIND and nvi
 1.4 27-May-1994  glass branches: 1.4.2;
bsd 4.4-lite pmax port as ported to NetBSD
 1.3 27-May-1994  glass upgrade to bsd 4.4-lite code base. only mod is rcsids
 1.2 14-Mar-1994  cgd add basic integral types (a la sparc port) that new nvi wants.
mark old 'basic integral types' as XXX -- they should be squished
when whoever gets this port working.
 1.1 12-Oct-1993  deraadt branches: 1.1.1;
Initial revision
 1.1.1.1 12-Oct-1993  deraadt pmax code from <ralphc@pyramid.com> & <rick@snowhite.cis.uoguelph.ca>
 1.4.2.1 20-Jul-1994  cgd update from trunk.
 1.14.22.2 08-Dec-2000  bouyer Sync with HEAD.
 1.14.22.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.17.4.3 06-Sep-2002  jdolecek sync kqueue branch with HEAD
 1.17.4.2 16-Mar-2002  jdolecek Catch up with -current.
 1.17.4.1 25-Aug-2001  thorpej Merge Aug 24 -current into the kqueue branch.
 1.18.6.3 13-Aug-2002  nathanw Catch up to -current.
 1.18.6.2 01-Apr-2002  nathanw Catch up to -current.
(CVS: It's not just a program. It's an adventure!)
 1.18.6.1 22-Aug-2001  nathanw file types.h was added on branch nathanw_sa on 2002-04-01 07:41:57 +0000
 1.20.8.1 31-Aug-2002  gehenna catch up with -current.
 1.21.72.1 03-Oct-2007  garbled Sync with HEAD
 1.21.64.1 20-Aug-2007  ad Sync with HEAD.
 1.21.22.1 03-Sep-2007  yamt sync with head.
 1.22.10.3 23-Mar-2008  matt sync with HEAD
 1.22.10.2 09-Jan-2008  matt sync with HEAD
 1.22.10.1 06-Nov-2007  matt sync with HEAD
 1.23.8.2 23-Jan-2008  bouyer Sync with HEAD.
 1.23.8.1 08-Jan-2008  bouyer Sync with HEAD
 1.23.2.1 18-Feb-2008  mjf Sync with HEAD.
 1.25.82.1 21-Apr-2017  bouyer Sync with HEAD
 1.25.78.1 20-Mar-2017  pgoyette Sync with HEAD
 1.25.74.1 05-Feb-2017  skrll Sync with HEAD
 1.25.54.1 03-Dec-2017  jdolecek update from HEAD
 1.15 17-Jul-2011  joerg Retire varargs.h support. Move machine/stdarg.h logic into MI
sys/stdarg.h and expect compiler to provide proper builtins, defaulting
to the GCC interface. lint still has a special fallback.
Reduce abuse of _BSD_VA_LIST_ by defining __va_list by default and
derive va_list as required by standards.
 1.14 20-Mar-1996  jonathan Merge more header files with arch/mips/include, by replacing
with versions that #inlude the <mips/XXX.h> file:
reloc.h regnum.h varargs.h
 1.13 26-Feb-1996  jonathan Revert pmax stdarg.h and varargs.h to versions from 1995-11-13. Those
versions work correctly; at some point between then and the immediately
preceding revisions, the "stylistic" changes to one (or both) stdarg.h
and varargs.h broke passing doubles to printf().
 1.12 26-Dec-1995  mycroft Make the type of __builtin_va_list a long.
 1.11 26-Dec-1995  mycroft Use __builtin_va_alist.
 1.10 25-Dec-1995  mycroft Stylistic changes.
 1.9 25-Dec-1995  mycroft Update for GCC 2.7, and fix bugs.
 1.8 28-Mar-1995  jtc KERNEL -> _KERNEL
 1.7 28-Jan-1995  jtc ANSI says that <stdarg.h>'s va_end macro must expand to a void expression.
For consistancy, I'm changing <varargs.h> too.
 1.6 26-Oct-1994  cgd new RCS ID format.
 1.5 15-Oct-1994  cgd make <stdarg.h> a symlink, and clean up ports' stdarg.h and varargs.h files.
 1.4 29-Jun-1994  deraadt _MACHINE_VARGS_H_
 1.3 27-May-1994  glass bsd 4.4-lite pmax port as ported to NetBSD
 1.2 27-May-1994  glass upgrade to bsd 4.4-lite code base. only mod is rcsids
 1.1 12-Oct-1993  deraadt branches: 1.1.1;
Initial revision
 1.1.1.1 12-Oct-1993  deraadt pmax code from <ralphc@pyramid.com> & <rick@snowhite.cis.uoguelph.ca>
 1.16 20-Feb-2011  matt Merge forward from matt-nb5-mips64.
New interrupt code.
mips64 support for DS5000/260.
 1.15 14-Dec-2009  matt branches: 1.15.4; 1.15.6; 1.15.8;
Merge from matt-nb5-mips64
Merge mips-specific arch files.
 1.14 24-Aug-2001  mhitch branches: 1.14.6; 1.14.130; 1.14.148;
Use the PROM bitmap, if available, to determine available memory. Also
add support of multiple memory segments so machines that allow mixed
memory sizes can utilize all available memory.
 1.13 11-Jan-2000  ad branches: 1.13.8;
Fix thinko in comment.
 1.12 09-Jan-2000  simonb Remove defines for VM_PHYSSEG_STRAT and VM_PHYSSEG_NOADD - these are
already in mips/include/vmparam.h. Now things work again (yo Andy!).
 1.11 09-Jan-2000  ad - Fix RCS Ids.
- Spacing.
- Protect from multiple inclusion in a consistant way (except on headers
that do nothing except function as mips header wrappers).
 1.10 09-Jan-2000  ad - Protect from multiple includes.
- Fix and beef up comments.
- G/C unused def.
 1.9 07-May-1999  thorpej branches: 1.9.2;
Add a second memory free list, which holds the first 8M of RAM. This is
so that devices which must allocate DMA memory in this range (e.g.
PixelStamp graphics boards) have a better chance of doing so, without
an awful hack.
 1.8 08-Jul-1998  thorpej branches: 1.8.4; 1.8.12;
Define one page free list, and put all pages on it.
 1.7 25-Feb-1998  thorpej DECstations have one physical memory segment.
 1.6 19-Mar-1996  jonathan Replace the following header files from src/sys/arch/pmax/include/
with versions that include equivalent files from <mips/include>.
(cvs magic copied the previous revisions, with history, to
src/sys/arch/mips/include).

bsd-aout.h elf.h endian.h exec.h float.h ieeefp.h limit.h pcb.h proc.h
profile.h reg.h regdef.h setjmp.h stdarg.h vmparam.h
 1.5 26-Oct-1994  cgd new RCS ID format.
 1.4 01-Jun-1994  glass VM_MIN_ADDR -> 0
 1.3 27-May-1994  glass bsd 4.4-lite pmax port as ported to NetBSD
 1.2 27-May-1994  glass upgrade to bsd 4.4-lite code base. only mod is rcsids
 1.1 12-Oct-1993  deraadt branches: 1.1.1;
Initial revision
 1.1.1.1 12-Oct-1993  deraadt pmax code from <ralphc@pyramid.com> & <rick@snowhite.cis.uoguelph.ca>
 1.8.12.2 06-Aug-1999  chs take an initial guess at UBC parameters.
 1.8.12.1 21-Jun-1999  thorpej Sync w/ -current.
 1.8.4.1 11-May-1999  nisimura - Catch up to recent main trunk changes.
- Make target platform files to have TURBOchannel slot definitions and
nuke tc_machdep.c.
- MIPS processor needs not to have tc_mb() before ZS register read ops.
 1.9.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.13.8.1 25-Aug-2001  thorpej Merge Aug 24 -current into the kqueue branch.
 1.14.148.1 31-Dec-2009  matt Use mips_page_physload and mips_init_lwp0_uarea.
 1.14.130.1 11-Mar-2010  yamt sync with head
 1.14.6.2 24-Aug-2001  mhitch Use the PROM bitmap, if available, to determine available memory. Also
add support of multiple memory segments so machines that allow mixed
memory sizes can utilize all available memory.
 1.14.6.1 24-Aug-2001  mhitch file vmparam.h was added on branch nathanw_sa on 2001-08-24 15:33:18 +0000
 1.15.8.1 05-Mar-2011  bouyer Sync with HEAD
 1.15.6.1 06-Jun-2011  jruoho Sync with HEAD.
 1.15.4.1 05-Mar-2011  rmind sync with head
 1.2 11-Dec-2005  christos merge ktrace-lwp.
 1.1 08-May-2004  kleink branches: 1.1.2;
Factor out W{CHAR,INT}_{MAX,MIN} into their own header file.
 1.1.2.4 21-Sep-2004  skrll Fix the sync with head I botched.
 1.1.2.3 18-Sep-2004  skrll Sync with HEAD.
 1.1.2.2 03-Aug-2004  skrll Sync with HEAD
 1.1.2.1 08-May-2004  skrll file wchar_limits.h was added on branch ktrace-lwp on 2004-08-03 10:39:13 +0000
 1.2 11-Dec-2005  christos branches: 1.2.18;
merge ktrace-lwp.
 1.1 05-Nov-2005  tsutsui branches: 1.1.2;
Add empty <machine/wired_map.h> for the MI mips/wired_map.c.
 1.1.2.2 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.1.2.1 05-Nov-2005  skrll file wired_map.h was added on branch ktrace-lwp on 2005-11-10 13:58:15 +0000
 1.2.18.2 21-Jun-2006  yamt sync with head.
 1.2.18.1 11-Dec-2005  yamt file wired_map.h was added on branch yamt-lazymbuf on 2006-06-21 14:54:48 +0000
 1.5 29-Mar-2008  tsutsui Split softc and device_t for zsc(4) and its children.

XXX we should restructure MI APIs and make it really machine independent.
 1.4 07-Nov-2007  ad branches: 1.4.14;
Merge tty changes from the vmlocking branch.
 1.3 11-Dec-2005  christos branches: 1.3.30; 1.3.48; 1.3.50; 1.3.54; 1.3.56;
merge ktrace-lwp.
 1.2 13-Dec-2003  ad branches: 1.2.16;
Add drivers for the desktop bus, DC-7085 and pm display. Make it possible to
select between rcons or wscons at compile time. Ok'ed by simonb.
 1.1 15-Oct-1998  nisimura branches: 1.1.2; 1.1.16; 1.1.26;
file z8530var.h was initially added on branch nisimura-pmax-wscons.
 1.1.26.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.1.26.2 18-Sep-2004  skrll Sync with HEAD.
 1.1.26.1 03-Aug-2004  skrll Sync with HEAD
 1.1.16.1 15-Mar-2002  ad Changes necessary for wscons on NetBSD/pmax. All device support is here,
just needs further testing.
 1.1.2.3 03-Feb-2000  nisimura Manipulate ZS csr/data registers in short quantity as ULTRIX does.
 1.1.2.2 19-Oct-1998  drochner slight cleanup, add support for keyboard attachment
 1.1.2.1 15-Oct-1998  nisimura - Reflect new internals.
 1.2.16.1 15-Nov-2007  yamt sync with head.
 1.3.56.1 19-Nov-2007  mjf Sync with HEAD.
 1.3.54.1 13-Nov-2007  bouyer Sync with HEAD
 1.3.50.1 08-Nov-2007  matt sync with -HEAD
 1.3.48.1 11-Nov-2007  joerg Sync with HEAD.
 1.3.30.3 03-Dec-2007  ad Sync with HEAD.
 1.3.30.2 03-Dec-2007  ad Sync with HEAD.
 1.3.30.1 15-Jul-2007  ad Get pmax working.
 1.4.14.1 03-Apr-2008  mjf Sync with HEAD.

RSS XML Feed