Home | History | Annotate | only in /src/sys/arch/sgimips/include
History log of /src/sys/arch/sgimips/include
RevisionDateAuthorComments
 1.26 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.25 12-Jul-2018  maxv branches: 1.25.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.24 21-Dec-2015  christos branches: 1.24.16; 1.24.18;
Add mips fenv.h (From FreeBSD)
 1.23 23-Jul-2014  alnsn branches: 1.23.4;
Rename sljitarch.h to sljit_machdep.h.
 1.22 25-Nov-2012  alnsn branches: 1.22.10;
Add sljitarch.h to all mips machines.
 1.21 17-Jul-2011  joerg branches: 1.21.2; 1.21.12;
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.20 12-Aug-2009  matt Nuke a.out support for MIPS.
 1.19 25-Nov-2008  he Don't be lazy and let one directory's Makefile install an include
file from another directory, as that only causes problems with
mtree later on when encountering the /.. path component. Instead,
descend into dev/ and use the Makefile there to install dev/crmfbreg.h
in the appropriate directory.
 1.18 06-Nov-2008  macallan install crmfbreg.h
 1.17 18-Feb-2007  ad branches: 1.17.42; 1.17.46; 1.17.52; 1.17.54; 1.17.56;
+ mutex.h, rwlock.h
 1.16 26-Jul-2006  drochner branches: 1.16.10;
don't install <machine/db_machdep.h>, this is kernel only
 1.15 11-Dec-2005  christos branches: 1.15.4; 1.15.8;
merge ktrace-lwp.
 1.14 08-May-2004  kleink branches: 1.14.12;
Factor out W{CHAR,INT}_{MAX,MIN} into their own header file.
 1.13 18-Jan-2003  thorpej branches: 1.13.2;
Merge the nathanw_sa branch.
 1.12 26-Nov-2002  lukem Remove KDIR=, since SYS_INCLUDE=symlinks and KDIR are not supported any more.
 1.11 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.10 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.9 28-Nov-2001  manu branches: 1.9.8;
Back out the copy of theses files to userland
 1.8 28-Nov-2001  manu We need to copy new SVR4 header files to /usr/include/sys...
 1.7 08-Jul-2001  thorpej branches: 1.7.2; 1.7.8;
Use sys/dev/arcbios.
 1.6 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.5 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.4 14-Apr-2001  kleink Add definitions of C99 integer constant macros.
Tidy Makefiles up a little.
 1.3 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.2 26-Jun-2000  kleink branches: 1.2.2; 1.2.4;
Add <machine/int_types.h>, which provides namespace-pure definitions
of exact-width integer types.
 1.1 14-Jun-2000  soren branches: 1.1.4;
Initial commit.
 1.1.4.2 22-Jun-2000  minoura Sync w/ netbsd-1-5-base.
 1.1.4.1 14-Jun-2000  minoura file Makefile was added on branch minoura-xpg4dl on 2000-06-22 17:03:09 +0000
 1.2.4.1 21-Jun-2001  nathanw Catch up to -current.
 1.2.2.3 21-Apr-2001  bouyer Sync with HEAD
 1.2.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.2.2.1 26-Jun-2000  bouyer file Makefile was added on branch thorpej_scsipi on 2000-11-20 20:23:43 +0000
 1.7.8.6 11-Dec-2002  thorpej Sync with HEAD.
 1.7.8.5 17-Sep-2002  nathanw Catch up to -current.
 1.7.8.4 13-Aug-2002  nathanw Catch up to -current.
 1.7.8.3 08-Jan-2002  nathanw Catch up to -current.
 1.7.8.2 17-Nov-2001  wdk mcontext support for MIPS based ports.
 1.7.8.1 08-Jul-2001  wdk file Makefile was added on branch nathanw_sa on 2001-11-17 23:12:13 +0000
 1.7.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.7.2.2 06-Sep-2002  jdolecek sync kqueue branch with HEAD
 1.7.2.1 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.9.8.2 31-Aug-2002  gehenna catch up with -current.
 1.9.8.1 19-May-2002  gehenna Remove port-dependent conf.h.
 1.13.2.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.13.2.2 18-Sep-2004  skrll Sync with HEAD.
 1.13.2.1 03-Aug-2004  skrll Sync with HEAD
 1.14.12.2 26-Feb-2007  yamt sync with head.
 1.14.12.1 30-Dec-2006  yamt sync with head.
 1.15.8.1 11-Aug-2006  yamt sync with head
 1.15.4.1 09-Sep-2006  rpaulo sync with head
 1.16.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.17.56.2 26-Feb-2009  snj Pull up following revision(s) (requested by macallan in ticket #523):
sys/arch/sgimips/Makefile: revision 1.7
sys/arch/sgimips/dev/Makefile: revision 1.1
sys/arch/sgimips/include/Makefile: revision 1.19
Don't be lazy and let one directory's Makefile install an include
file from another directory, as that only causes problems with
mtree later on when encountering the /.. path component. Instead,
descend into dev/ and use the Makefile there to install dev/crmfbreg.h
in the appropriate directory.
 1.17.56.1 25-Feb-2009  snj Pull up following revision(s) (requested by macallan in ticket #510):
sys/arch/sgimips/include/Makefile: revision 1.18
install crmfbreg.h
 1.17.54.1 19-Jan-2009  skrll Sync with HEAD.
 1.17.52.1 13-Dec-2008  haad Update haad-dm branch to haad-dm-base2.
 1.17.46.2 19-Aug-2009  yamt sync with head.
 1.17.46.1 04-May-2009  yamt sync with head.
 1.17.42.1 17-Jan-2009  mjf Sync with HEAD.
 1.21.12.3 03-Dec-2017  jdolecek update from HEAD
 1.21.12.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.21.12.1 25-Feb-2013  tls resync with head
 1.21.2.1 16-Jan-2013  yamt sync with (a bit old) head
 1.22.10.1 10-Aug-2014  tls Rebase.
 1.23.4.1 27-Dec-2015  skrll Sync with HEAD (as of 26th Dec)
 1.24.18.1 10-Jun-2019  christos Sync with HEAD
 1.24.16.1 28-Jul-2018  pgoyette Sync with HEAD
 1.25.36.1 02-Aug-2025  perseant Sync with HEAD
 1.1 14-Jun-2000  soren branches: 1.1.4; 1.1.6;
Initial commit.
 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 14-Jun-2000  bouyer file ansi.h was added on branch thorpej_scsipi on 2000-11-20 20:23:43 +0000
 1.1.4.2 22-Jun-2000  minoura Sync w/ netbsd-1-5-base.
 1.1.4.1 14-Jun-2000  minoura file ansi.h was added on branch minoura-xpg4dl on 2000-06-22 17:03:10 +0000
 1.2 12-Aug-2009  matt Nuke a.out support for MIPS.
 1.1 14-Jun-2000  soren branches: 1.1.4; 1.1.6; 1.1.136; 1.1.150;
Initial commit.
 1.1.150.1 24-Oct-2010  jym Sync with HEAD
 1.1.136.1 19-Aug-2009  yamt sync with 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 14-Jun-2000  bouyer file aout_machdep.h was added on branch thorpej_scsipi on 2000-11-20 20:23:43 +0000
 1.1.4.2 22-Jun-2000  minoura Sync w/ netbsd-1-5-base.
 1.1.4.1 14-Jun-2000  minoura file aout_machdep.h was added on branch minoura-xpg4dl on 2000-06-22 17:03:10 +0000
 1.2 08-Jul-2001  thorpej Use sys/dev/arcbios.
 1.1 14-Jun-2000  soren branches: 1.1.4; 1.1.6;
Initial commit.
 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 14-Jun-2000  bouyer file arcs.h was added on branch thorpej_scsipi on 2000-11-20 20:23:43 +0000
 1.1.4.2 22-Jun-2000  minoura Sync w/ netbsd-1-5-base.
 1.1.4.1 14-Jun-2000  minoura file arcs.h was added on branch minoura-xpg4dl on 2000-06-22 17:03:11 +0000
 1.1 14-Jun-2000  soren branches: 1.1.4; 1.1.6;
Initial commit.
 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 14-Jun-2000  bouyer file asm.h was added on branch thorpej_scsipi on 2000-11-20 20:23:43 +0000
 1.1.4.2 22-Jun-2000  minoura Sync w/ netbsd-1-5-base.
 1.1.4.1 14-Jun-2000  minoura file asm.h was added on branch minoura-xpg4dl on 2000-06-22 17:03:11 +0000
 1.11 01-Jul-2011  dyoung #include <sys/bus.h> instead of <machine/bus.h>.
 1.10 17-Oct-2007  garbled 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.9 11-May-2007  rumble branches: 1.9.10;
Update a prototype corresponding to rev. 1.36 of sgimips/autoconf.c.
 1.8 11-Dec-2005  christos branches: 1.8.26; 1.8.30; 1.8.32; 1.8.38;
merge ktrace-lwp.
 1.7 28-Feb-2005  sekiya branches: 1.7.4;
De-__P()
 1.6 17-Nov-2003  keihan branches: 1.6.8; 1.6.10;
www.netbsd.org -> www.NetBSD.org
 1.5 13-Mar-2002  simonb branches: 1.5.12;
Replace lots of 8x<space> with <tabs> and other miscellaneous indentation
fixes.
Wrap a couple of long lines.
Use <return-type>\n<function name> as per KNF in a few places.
 1.4 18-Oct-2001  mhitch branches: 1.4.4;
Initial boot device determination code: makebootdev() to parse boot command
line parameters, and device_register() to try to match the boot device. Works
on a Challenge S (and similar machines), but will need more work for other
SCSI adapters.
 1.3 09-Jul-2001  thorpej branches: 1.3.2;
Count and display the number of CPUs present on the system.
 1.2 08-Jul-2001  thorpej - Use the identifier strings that are fetched by the MI ARC BIOS
code.
- Garbage-collect some non-useful stuff from the mainbus_attach_args.
 1.1 14-Jun-2000  soren branches: 1.1.4; 1.1.6;
Initial commit.
 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 14-Jun-2000  bouyer file autoconf.h was added on branch thorpej_scsipi on 2000-11-20 20:23:44 +0000
 1.1.4.2 22-Jun-2000  minoura Sync w/ netbsd-1-5-base.
 1.1.4.1 14-Jun-2000  minoura file autoconf.h was added on branch minoura-xpg4dl on 2000-06-22 17:03:12 +0000
 1.3.2.2 16-Mar-2002  jdolecek Catch up with -current.
 1.3.2.1 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.4.4.2 01-Apr-2002  nathanw Catch up to -current.
(CVS: It's not just a program. It's an adventure!)
 1.4.4.1 18-Oct-2001  nathanw file autoconf.h was added on branch nathanw_sa on 2002-04-01 07:42:25 +0000
 1.5.12.4 04-Mar-2005  skrll Sync with HEAD.

Hi Perry!
 1.5.12.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.5.12.2 18-Sep-2004  skrll Sync with HEAD.
 1.5.12.1 03-Aug-2004  skrll Sync with HEAD
 1.6.10.1 19-Mar-2005  yamt sync with head. xen and whitespace. xen part is not finished.
 1.6.8.1 29-Apr-2005  kent sync with -current
 1.7.4.1 03-Sep-2007  yamt sync with head.
 1.8.38.1 22-May-2007  matt Update to HEAD.
 1.8.32.1 11-Jul-2007  mjf Sync with head.
 1.8.30.1 27-May-2007  ad Sync with head.
 1.8.26.1 17-May-2007  yamt sync with head.
 1.9.10.1 06-Nov-2007  matt sync with HEAD
 1.6 08-Aug-2008  tsutsui Bump BOOTINFO_MAGIC to prevent old kernels (including netbsd-4) crashing
when bootinfo data is passed from newer bootloaders.

Note old bootloaders can still load newer kernels.
 1.5 26-Jan-2008  tsutsui branches: 1.5.6; 1.5.10; 1.5.12; 1.5.16;
Replace bootinfo stuff on sgimips (which has been disabled in bootloader)
with ones used on arc (which has been working for a year) and
enable it in bootloader. Tested on IP32.
 1.4 11-Dec-2005  christos branches: 1.4.50; 1.4.56;
merge ktrace-lwp.
 1.3 24-Mar-2004  drochner branches: 1.3.16;
remove license clauses 3 and 4 from my cpoyright notices
 1.2 21-Nov-2001  thorpej branches: 1.2.2; 1.2.4; 1.2.20;
Change symtab info to unsigned longs.
 1.1 21-Nov-2001  thorpej Add bootinfo stuff for NetBSD/sgimips. Changes to kernel and bootloader
forthcoming.
 1.2.20.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.2.20.2 18-Sep-2004  skrll Sync with HEAD.
 1.2.20.1 03-Aug-2004  skrll Sync with HEAD
 1.2.4.2 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.2.4.1 21-Nov-2001  thorpej file bootinfo.h was added on branch kqueue on 2002-01-10 19:48:28 +0000
 1.2.2.2 08-Jan-2002  nathanw Catch up to -current.
 1.2.2.1 21-Nov-2001  nathanw file bootinfo.h was added on branch nathanw_sa on 2002-01-08 00:27:30 +0000
 1.3.16.1 04-Feb-2008  yamt sync with head.
 1.4.56.1 18-Feb-2008  mjf Sync with HEAD.
 1.4.50.1 23-Mar-2008  matt sync with HEAD
 1.5.16.1 19-Oct-2008  haad Sync with HEAD.
 1.5.12.1 18-Sep-2008  wrstuden Sync with wrstuden-revivesa-base-2.
 1.5.10.1 04-May-2009  yamt sync with head.
 1.5.6.1 28-Sep-2008  mjf Sync with HEAD.
 1.2 12-Aug-2009  matt Nuke a.out support for MIPS.
 1.1 14-Jun-2000  soren branches: 1.1.4; 1.1.6; 1.1.136; 1.1.150;
Initial commit.
 1.1.150.1 24-Oct-2010  jym Sync with HEAD
 1.1.136.1 19-Aug-2009  yamt sync with 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 14-Jun-2000  bouyer file bsd-aout.h was added on branch thorpej_scsipi on 2000-11-20 20:23:44 +0000
 1.1.4.2 22-Jun-2000  minoura Sync w/ netbsd-1-5-base.
 1.1.4.1 14-Jun-2000  minoura file bsd-aout.h was added on branch minoura-xpg4dl on 2000-06-22 17:03:12 +0000
 1.1 14-Jun-2000  soren branches: 1.1.4; 1.1.6;
Initial commit.
 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 14-Jun-2000  bouyer file bswap.h was added on branch thorpej_scsipi on 2000-11-20 20:23:44 +0000
 1.1.4.2 22-Jun-2000  minoura Sync w/ netbsd-1-5-base.
 1.1.4.1 14-Jun-2000  minoura file bswap.h was added on branch minoura-xpg4dl on 2000-06-22 17:03:13 +0000
 1.29 17-Jul-2011  dyoung Switch MIPS and MIPS-ish architectures to new-style <sys/bus.h>. This
involves moving some inline bus_space(9) implementation into .c files.
 1.28 10-Feb-2009  rumble Ready these for IP6.
 1.27 28-Apr-2008  martin branches: 1.27.8; 1.27.14;
Remove clause 3 and 4 from TNF licenses
 1.26 13-Feb-2008  macallan branches: 1.26.6; 1.26.8; 1.26.10;
add bus_space_mmap()
 1.25 17-Oct-2007  garbled branches: 1.25.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.24 17-Jul-2007  macallan branches: 1.24.10;
use 64bit paddr_t and bus_addr_t so we can mmap DMA buffers uncached
 1.23 04-Mar-2007  christos branches: 1.23.2; 1.23.10;
Kill caddr_t; there will be some MI fallout, but it will be fixed shortly.
 1.22 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.21 08-Jun-2006  martin branches: 1.21.12;
Implement bus_space_*_stream_* methods for sgimips - so that we can use the
atheros wlan driver. Thanks to Izumi Tsutsui for lots of input. All errors,
as usualy, are mine though.
 1.20 26-May-2006  tsutsui Tweak bus_space_barrier(9) macro to appease
"left-hand operand of comma expression has no effect"
warnings by gcc4.
 1.19 16-Apr-2006  tsutsui branches: 1.19.2;
_ds_vaddr member in struct sgimips_bus_dma_segment is a virtual address,
so it should be vaddr_t rather than bus_addr_t.
 1.18 01-Mar-2006  yamt branches: 1.18.2; 1.18.4; 1.18.6;
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.17 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.16 24-Dec-2005  perry branches: 1.16.2; 1.16.4; 1.16.6;
Remove leading __ from __(const|inline|signed|volatile) -- it is obsolete.
 1.15 11-Dec-2005  christos merge ktrace-lwp.
 1.14 09-Mar-2005  matt branches: 1.14.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.13 13-Jan-2004  sekiya branches: 1.13.8; 1.13.10;
Call sgimips_bus_dma_init() in mach_init to set up the proper MIPS1/MIPS3
bus_dma_sync() routine.
 1.12 13-Jan-2004  sekiya Implement bus routines for MIPS1 processors. Originally from Steve Rumble,
massaged by pooka@.
 1.11 12-Jan-2004  sekiya CRIME revision 1.1 has a bug that affects PIO operations to/from the MACE.
The recommended workaround is a 5-10ms delay before and after accesses.
Therefore, move the affected bus_space_* operations from bus.h to bus.c
and special-case MACE accesses.

CRIME accesses are not affected, so introduce SGIMIPS_BUS_SPACE_CRIME and
use it as the CRIME tag.

My ip32 seems a little bit happier with this change, and my ip22 didn't
notice the change.
 1.10 07-Oct-2003  tsutsui Use proper mips_dcache_{wb,inv,wbinv}_range() ops in dmamap sync function
if possible. Tested on my O2 (with r5ksc patch).

XXX should we apply similar changes to mips/bus_dma.c and use it?
 1.9 05-Oct-2003  tsutsui Apply a bunch of patches written by Christopher SEKIYA
(with several cosmetic changes by me) which fixes O2 (IP32) support.

Now my R5000 O2 works fine in multiuser with on-board AIC7880 SCSIs
and several PCI network cards (but only on serial console yet).
L2 cache on R5000/Rm5200 is still disabled for now, but it will be
fixed later, hopefully.

See recent discussion on port-sgimips for details.
 1.8 15-Jun-2003  fvdl branches: 1.8.2;
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.7 28-Jan-2003  kent Introduce BUS_DMA_NOCACHE, and bus_dmamem_map() of i386 supports it.
 1.6 23-Dec-2002  pooka add bus_space_vaddr()

from rafal
 1.5 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.4 19-Jul-2001  thorpej branches: 1.4.6;
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.3 07-Mar-2001  thorpej branches: 1.3.2;
Add the BUS_DMA_STREAMING flag.
 1.2 26-Jun-2000  simonb branches: 1.2.2; 1.2.4;
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.1 14-Jun-2000  soren branches: 1.1.2; 1.1.4;
Initial commit.
 1.1.4.2 22-Jun-2000  minoura Sync w/ netbsd-1-5-base.
 1.1.4.1 14-Jun-2000  minoura file bus.h was added on branch minoura-xpg4dl on 2000-06-22 17:03:13 +0000
 1.1.2.1 30-Jun-2000  simonb Pull up mmap paddr_t/off_t changes from trunk.
 1.2.4.1 09-Apr-2001  nathanw Catch up with -current.
 1.2.2.3 12-Mar-2001  bouyer Sync with HEAD.
 1.2.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.2.2.1 26-Jun-2000  bouyer file bus.h was added on branch thorpej_scsipi on 2000-11-20 20:23:44 +0000
 1.3.2.2 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.3.2.1 03-Aug-2001  lukem update to -current
 1.4.6.3 29-Dec-2002  thorpej Sync with HEAD.
 1.4.6.2 01-Apr-2002  nathanw Catch up to -current.
(CVS: It's not just a program. It's an adventure!)
 1.4.6.1 19-Jul-2001  nathanw file bus.h was added on branch nathanw_sa on 2002-04-01 07:42:25 +0000
 1.8.2.4 01-Apr-2005  skrll Sync with HEAD.
 1.8.2.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.8.2.2 18-Sep-2004  skrll Sync with HEAD.
 1.8.2.1 03-Aug-2004  skrll Sync with HEAD
 1.13.10.1 19-Mar-2005  yamt sync with head. xen and whitespace. xen part is not finished.
 1.13.8.1 29-Apr-2005  kent sync with -current
 1.14.4.4 27-Feb-2008  yamt sync with head.
 1.14.4.3 03-Sep-2007  yamt sync with head.
 1.14.4.2 26-Feb-2007  yamt sync with head.
 1.14.4.1 21-Jun-2006  yamt sync with head.
 1.16.6.2 01-Jun-2006  kardel Sync with head.
 1.16.6.1 22-Apr-2006  simonb Sync with head.
 1.16.4.1 09-Sep-2006  rpaulo sync with head
 1.16.2.2 18-Feb-2006  yamt keep vmspace rather than proc in sgimips_bus_dmamap.
 1.16.2.1 18-Feb-2006  yamt sync with head.
 1.18.6.1 24-May-2006  tron Merge 2006-05-24 NetBSD-current into the "peter-altq" branch.
 1.18.4.1 19-Apr-2006  elad sync with head - hopefully this will work
 1.18.2.2 26-Jun-2006  yamt sync with head.
 1.18.2.1 24-May-2006  yamt sync with head.
 1.19.2.1 19-Jun-2006  chap Sync with head.
 1.21.12.2 12-Mar-2007  rmind Sync with HEAD.
 1.21.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.23.10.1 03-Oct-2007  garbled Sync with HEAD
 1.23.2.1 20-Aug-2007  ad Sync with HEAD.
 1.24.10.2 23-Mar-2008  matt sync with HEAD
 1.24.10.1 06-Nov-2007  matt sync with HEAD
 1.25.2.1 18-Feb-2008  mjf Sync with HEAD.
 1.26.10.2 04-May-2009  yamt sync with head.
 1.26.10.1 16-May-2008  yamt sync with head.
 1.26.8.1 18-May-2008  yamt sync with head.
 1.26.6.1 02-Jun-2008  mjf Sync with HEAD.
 1.27.14.1 13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.27.8.1 03-Mar-2009  skrll Sync with HEAD.
 1.3 16-Apr-2022  andvar fix various typos in comments and log messages.
 1.2 18-Feb-2015  macallan switch sgimips to common bus_dma and bus_space in arch/mips/
Tested on O2 and Indy.
Things that are compile-tested only for lack of hardware:
- GIO ethernet cards with PCI bridges
- IP2x hardware not found on Indy
- IP1x
 1.1 01-Jul-2011  dyoung branches: 1.1.12; 1.1.30;
Per discussion at
<http://mail-index.netbsd.org/tech-kern/2010/04/02/msg007941.html>,
divide each machine's bus.h into bus_defs.h (constants & data types)
and bus_funcs.h (macro implementations of bus_space(9) routines and MD
prototypes).

Note that some bus_space(9) routines' implementation will move to .c
files from inline subroutines or macros in .h files.

I've only made the split for machine architectures where there is PCI.
All of the non-PCI-having architectures will require a similar split.

These #include files are not referenced by any (committed) Makefiles or
header files, yet. Changes to Makefiles, to <sys/bus.h>, and to some
more machine-dependent files will dribble in before I throw the switch.
 1.1.30.1 06-Apr-2015  skrll Sync with HEAD
 1.1.12.1 03-Dec-2017  jdolecek update from HEAD
 1.2 18-Feb-2015  macallan switch sgimips to common bus_dma and bus_space in arch/mips/
Tested on O2 and Indy.
Things that are compile-tested only for lack of hardware:
- GIO ethernet cards with PCI bridges
- IP2x hardware not found on Indy
- IP1x
 1.1 01-Jul-2011  dyoung branches: 1.1.12; 1.1.30;
Per discussion at
<http://mail-index.netbsd.org/tech-kern/2010/04/02/msg007941.html>,
divide each machine's bus.h into bus_defs.h (constants & data types)
and bus_funcs.h (macro implementations of bus_space(9) routines and MD
prototypes).

Note that some bus_space(9) routines' implementation will move to .c
files from inline subroutines or macros in .h files.

I've only made the split for machine architectures where there is PCI.
All of the non-PCI-having architectures will require a similar split.

These #include files are not referenced by any (committed) Makefiles or
header files, yet. Changes to Makefiles, to <sys/bus.h>, and to some
more machine-dependent files will dribble in before I throw the switch.
 1.1.30.1 06-Apr-2015  skrll Sync with HEAD
 1.1.12.1 03-Dec-2017  jdolecek update from HEAD
 1.1 14-Jun-2000  soren branches: 1.1.4; 1.1.6;
Initial commit.
 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 14-Jun-2000  bouyer file cdefs.h was added on branch thorpej_scsipi on 2000-11-20 20:23:44 +0000
 1.1.4.2 22-Jun-2000  minoura Sync w/ netbsd-1-5-base.
 1.1.4.1 14-Jun-2000  minoura file cdefs.h was added on branch minoura-xpg4dl on 2000-06-22 17:03:13 +0000
 1.4 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.3 27-Feb-2002  christos branches: 1.3.8;
- define other DEV_ constants that the local port uses.
- delete cdev_decl(mm) since <sys/conf.h> does it.
 1.2 08-Jul-2001  thorpej branches: 1.2.2; 1.2.8;
Use sys/dev/arcbios.
 1.1 14-Jun-2000  soren branches: 1.1.4; 1.1.6;
Initial commit.
 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 14-Jun-2000  bouyer file conf.h was added on branch thorpej_scsipi on 2000-11-20 20:23:44 +0000
 1.1.4.2 22-Jun-2000  minoura Sync w/ netbsd-1-5-base.
 1.1.4.1 14-Jun-2000  minoura file conf.h was added on branch minoura-xpg4dl on 2000-06-22 17:03:13 +0000
 1.2.8.3 17-Sep-2002  nathanw Catch up to -current.
 1.2.8.2 28-Feb-2002  nathanw Catch up to -current.
 1.2.8.1 08-Jul-2001  nathanw file conf.h was added on branch nathanw_sa on 2002-02-28 04:11:36 +0000
 1.2.2.2 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.2.2.1 16-Mar-2002  jdolecek Catch up with -current.
 1.3.8.1 19-May-2002  gehenna Remove port-dependent conf.h.
 1.4 04-Sep-2001  simonb branches: 1.4.6;
May as well include <mips/cpuregs.h> in <mips/cpu.h> once rather than
in every MIPS port's <machine/cpu.h>.
 1.3 04-Sep-2001  simonb Centralise struct cpu_info declaration and related info to <mips/cpu.h>.
 1.2 30-May-2001  mrg branches: 1.2.2;
use _KERNEL_OPT
 1.1 14-Jun-2000  soren branches: 1.1.4; 1.1.6; 1.1.8;
Initial commit.
 1.1.8.1 21-Jun-2001  nathanw Catch up to -current.
 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 14-Jun-2000  bouyer file cpu.h was added on branch thorpej_scsipi on 2000-11-20 20:23:44 +0000
 1.1.4.2 22-Jun-2000  minoura Sync w/ netbsd-1-5-base.
 1.1.4.1 14-Jun-2000  minoura file cpu.h was added on branch minoura-xpg4dl on 2000-06-22 17:03:14 +0000
 1.2.2.1 13-Sep-2001  thorpej Update the kqueue branch to HEAD.
 1.4.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.4.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.3 09-Jul-2011  matt Default to DB_ELF_SYMBOLS and DB_ELFSIZE 32
 1.2 04-Sep-2001  simonb branches: 1.2.6;
Standardise the format of MIPS' <machine/db_machdep.h>.
 1.1 14-Jun-2000  soren branches: 1.1.4; 1.1.6; 1.1.10;
Initial commit.
 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 14-Jun-2000  bouyer file db_machdep.h was added on branch thorpej_scsipi on 2000-11-20 20:23:44 +0000
 1.1.4.2 22-Jun-2000  minoura Sync w/ netbsd-1-5-base.
 1.1.4.1 14-Jun-2000  minoura file db_machdep.h was added on branch minoura-xpg4dl on 2000-06-22 17:03:15 +0000
 1.2.6.2 04-Sep-2001  simonb Standardise the format of MIPS' <machine/db_machdep.h>.
 1.2.6.1 04-Sep-2001  simonb file db_machdep.h was added on branch nathanw_sa on 2001-09-04 07:43:32 +0000
 1.10 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.9 11-Dec-2005  christos merge ktrace-lwp.
 1.8 12-Jun-2005  dyoung Make disklabel(8) and fdisk(8) into "host tools " last step: build
and install ${TOOLDIR}/bin/${MACHINE_GNU_PLATFORM}-disklabel,
${TOOLDIR}/bin/${MACHINE_GNU_PLATFORM}-fdisk by "reaching over" to
the sources in ${NETBSDSRCDIR}/sbin/{disklabel fdisk}/.

To avoid clashes with a build-host's header files, especially on
*BSD, the host-tools versions of fdisk and disklabel search for
#includes such as disklabel.h, disklabel_acorn.h, disklabel_gpt.h,
and bootinfo.h in a new #includes namespace, nbinclude/. That is,
they #include <nbinclude/sys/disklabel.h>, <nbinclude/machine/disklabel.h>,
<nbinclude/sparc64/disklabel.h>, instead of <sys/disklabel.h> and
such. I have also updated the system headers to #include from
nbinclude/-space when HAVE_NBTOOL_CONFIG_H is #defined.
 1.7 24-Nov-2004  jmc Pull host/arch native label information into bootblock.h. Therefore pieces of
this are accessible from host tools.
 1.6 17-Nov-2003  keihan branches: 1.6.4;
www.netbsd.org -> www.NetBSD.org
 1.5 13-Mar-2002  simonb branches: 1.5.12;
Replace lots of 8x<space> with <tabs> and other miscellaneous indentation
fixes.
Wrap a couple of long lines.
Use <return-type>\n<function name> as per KNF in a few places.
 1.4 28-Jan-2002  lukem cosmetic reorder of #defines to match other ports
 1.3 19-Nov-2001  soren Remove obsolete comment.
 1.2 10-Nov-2001  wdk branches: 1.2.2;
NetBSD Disklabel and SGI Volume header support. Based on NetBSD/mipsco
due to its similarities.

Patch has been tested by many people on the sgimips list for some time with
no complaints.

Contributed by: Christopher SEKIYA <wileyc@rezrov.net>
 1.1 14-Jun-2000  soren branches: 1.1.4; 1.1.6; 1.1.10; 1.1.12;
Initial commit.
 1.1.12.1 12-Nov-2001  thorpej Sync the thorpej-mips-cache branch with -current.
 1.1.10.3 16-Mar-2002  jdolecek Catch up with -current.
 1.1.10.2 11-Feb-2002  jdolecek Sync w/ -current.
 1.1.10.1 10-Jan-2002  thorpej Sync kqueue branch with -current.
 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 14-Jun-2000  bouyer file disklabel.h was added on branch thorpej_scsipi on 2000-11-20 20:23:44 +0000
 1.1.4.2 22-Jun-2000  minoura Sync w/ netbsd-1-5-base.
 1.1.4.1 14-Jun-2000  minoura file disklabel.h was added on branch minoura-xpg4dl on 2000-06-22 17:03:15 +0000
 1.2.2.4 01-Apr-2002  nathanw Catch up to -current.
(CVS: It's not just a program. It's an adventure!)
 1.2.2.3 28-Feb-2002  nathanw Catch up to -current.
 1.2.2.2 08-Jan-2002  nathanw Catch up to -current.
 1.2.2.1 10-Nov-2001  nathanw file disklabel.h was added on branch nathanw_sa on 2002-01-08 00:27:30 +0000
 1.5.12.5 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.5.12.4 29-Nov-2004  skrll Sync with HEAD.
 1.5.12.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.5.12.2 18-Sep-2004  skrll Sync with HEAD.
 1.5.12.1 03-Aug-2004  skrll Sync with HEAD
 1.6.4.1 06-Apr-2005  tron Pull up revision 1.7 (requested by jmc in ticket #1028):
Pull host/arch native label information into bootblock.h. Therefore pieces of
this are accessible from host tools.
 1.1 14-Jun-2000  soren branches: 1.1.4; 1.1.6;
Initial commit.
 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 14-Jun-2000  bouyer file ecoff_machdep.h was added on branch thorpej_scsipi on 2000-11-20 20:23:44 +0000
 1.1.4.2 22-Jun-2000  minoura Sync w/ netbsd-1-5-base.
 1.1.4.1 14-Jun-2000  minoura file ecoff_machdep.h was added on branch minoura-xpg4dl on 2000-06-22 17:03:15 +0000
 1.3 29-Mar-2014  christos make pci_intr_string and eisa_intr_string take a buffer and a length
instead of relying in local static storage.
 1.2 27-Oct-2012  chs branches: 1.2.2;
split device_t/softc for all remaining drivers.
replace "struct device *" with "device_t".
use device_xname(), device_unit(), etc.
 1.1 11-May-2001  thorpej branches: 1.1.2; 1.1.10; 1.1.166; 1.1.176;
Basic EISA support for the Indigo2. From Rafal K. Boni.
 1.1.176.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.176.1 20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.1.166.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1.166.1 30-Oct-2012  yamt sync with head
 1.1.10.2 11-May-2001  thorpej Basic EISA support for the Indigo2. From Rafal K. Boni.
 1.1.10.1 11-May-2001  thorpej file eisa_machdep.h was added on branch nathanw_sa on 2001-05-11 04:36:16 +0000
 1.1.2.1 21-Jun-2001  nathanw Catch up to -current.
 1.2.2.1 18-May-2014  rmind sync with head
 1.2 14-Dec-2009  matt Merge from matt-nb5-mips64
Merge mips-specific arch files.
 1.1 14-Jun-2000  soren branches: 1.1.4; 1.1.6; 1.1.136; 1.1.154;
Initial commit.
 1.1.154.1 22-Aug-2009  matt Move ELF{32,64}_MACHDEP_ENDIANNESS to <mips/elf_machdep.h>
 1.1.136.1 11-Mar-2010  yamt sync with 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 14-Jun-2000  bouyer file elf_machdep.h was added on branch thorpej_scsipi on 2000-11-20 20:23:44 +0000
 1.1.4.2 22-Jun-2000  minoura Sync w/ netbsd-1-5-base.
 1.1.4.1 14-Jun-2000  minoura file elf_machdep.h was added on branch minoura-xpg4dl on 2000-06-22 17:03:16 +0000
 1.1 14-Jun-2000  soren branches: 1.1.4; 1.1.6;
Initial commit.
 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 14-Jun-2000  bouyer file endian.h was added on branch thorpej_scsipi on 2000-11-20 20:23:44 +0000
 1.1.4.2 22-Jun-2000  minoura Sync w/ netbsd-1-5-base.
 1.1.4.1 14-Jun-2000  minoura file endian.h was added on branch minoura-xpg4dl on 2000-06-22 17:03:16 +0000
 1.1 14-Jun-2000  soren branches: 1.1.4; 1.1.6;
Initial commit.
 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 14-Jun-2000  bouyer file endian_machdep.h was added on branch thorpej_scsipi on 2000-11-20 20:23:44 +0000
 1.1.4.2 22-Jun-2000  minoura Sync w/ netbsd-1-5-base.
 1.1.4.1 14-Jun-2000  minoura file endian_machdep.h was added on branch minoura-xpg4dl on 2000-06-22 17:03:16 +0000
 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:41 +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:42 +0000
 1.1 14-Jun-2000  soren branches: 1.1.4; 1.1.6;
Initial commit.
 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 14-Jun-2000  bouyer file float.h was added on branch thorpej_scsipi on 2000-11-20 20:23:45 +0000
 1.1.4.2 22-Jun-2000  minoura Sync w/ netbsd-1-5-base.
 1.1.4.1 14-Jun-2000  minoura file float.h was added on branch minoura-xpg4dl on 2000-06-22 17:03:16 +0000
 1.1 14-Jun-2000  soren branches: 1.1.4; 1.1.6;
Initial commit.
 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 14-Jun-2000  bouyer file ieee.h was added on branch thorpej_scsipi on 2000-11-20 20:23:45 +0000
 1.1.4.2 22-Jun-2000  minoura Sync w/ netbsd-1-5-base.
 1.1.4.1 14-Jun-2000  minoura file ieee.h was added on branch minoura-xpg4dl on 2000-06-22 17:03:17 +0000
 1.1 14-Jun-2000  soren branches: 1.1.4; 1.1.6;
Initial commit.
 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 14-Jun-2000  bouyer file ieeefp.h was added on branch thorpej_scsipi on 2000-11-20 20:23:45 +0000
 1.1.4.2 22-Jun-2000  minoura Sync w/ netbsd-1-5-base.
 1.1.4.1 14-Jun-2000  minoura file ieeefp.h was added on branch minoura-xpg4dl on 2000-06-22 17:03:17 +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:43 +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:36 +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:18 +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:36 +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:12 +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:36 +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:02 +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:36 +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:23:45 +0000
 1.29 27-Sep-2018  macallan add event counters for int0 at mainbus
 1.28 26-Jun-2015  matt branches: 1.28.16; 1.28.18;
Cleanup includes
 1.27 20-Feb-2011  matt branches: 1.27.14; 1.27.32;
Merge forward matt-nb5-mips64
Adapt to new interrupt/spl framework
Deal with arcbios calls being O32 and kernels being N32/N64.
Need to save/restore T8 across arcbios calls.
 1.26 03-Apr-2009  uebayasi branches: 1.26.4; 1.26.6; 1.26.8;
Include sys/evcnt.h for struct evcnt, not sys/device.h.
 1.25 03-Dec-2007  ad branches: 1.25.18; 1.25.26; 1.25.32; 1.25.36;
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.24 17-Oct-2007  garbled branches: 1.24.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.23 26-Jun-2007  tsutsui branches: 1.23.8; 1.23.10;
Fix swapped SI_QUEUENAMES to match SI_SOFT* numbers.
 1.22 17-Jun-2007  tsutsui Move declaretions of _spl*() and _{clr,set}softintr() functions
(which are in mips/locore.S) into <mips/locore.h>
from various MD files.
 1.21 16-Feb-2007  ad branches: 1.21.6; 1.21.8; 1.21.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.20 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.19 11-Dec-2005  christos branches: 1.19.20; 1.19.22;
merge ktrace-lwp.
 1.18 03-Jun-2005  martin branches: 1.18.2;
Avoid a global name "netmask" - it causes lots of shadow warnings all over
the place. Collect all interrupt masks into a single array instead.
Constify a bit and fix a bogus argument to config_rootfound().
 1.17 07-Jul-2004  sekiya Add ih_next to the data structure. Part of Steve Rumble's interrupt-sharing
scheme.
 1.16 08-Feb-2004  sekiya de-__P.
 1.15 17-Nov-2003  keihan www.netbsd.org -> www.NetBSD.org
 1.14 15-Sep-2003  simonb Use common mips generic software interrupt routines.

Changes from Izumi Tsutsui, tested by Havard Eidnes.
 1.13 03-May-2002  rafal branches: 1.13.10;
Cosmetic change.
 1.12 13-Mar-2002  simonb Replace lots of 8x<space> with <tabs> and other miscellaneous indentation
fixes.
Wrap a couple of long lines.
Use <return-type>\n<function name> as per KNF in a few places.
 1.11 14-Jan-2002  soren Remove __HAVE_GENERIC_SOFT_INTERRUPTS #ifdef.
 1.10 19-Nov-2001  soren s/sgi/sgimips/
Remove __NO_SOFT_SERIAL_INTERRUPT.
 1.9 08-Jun-2001  rafal branches: 1.9.2; 1.9.8;
All soft interrupts are currently handled by soft interrupt 1, so make
all splsoftxxx() calls block soft interrupt 1 and make spllowersoftclock()
re-enable soft interrupt 1.

XXX: This needs to be reworked so that spllowersoftclock() only turns on
softclock interrupts, not all soft interrupt. That change is coming soon.
 1.8 14-May-2001  matt Define splserial to be the same as spltty().
 1.7 11-May-2001  thorpej Generic software interrupt implementation, derived from mipsco
implementation.

From Rafal K. Boni.
 1.6 13-Apr-2001  thorpej 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.5 14-Jan-2001  thorpej branches: 1.5.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.4 22-Aug-2000  thorpej branches: 1.4.2;
Add spllock(). See spl(9) for details.
 1.3 21-Aug-2000  thorpej Make sure we provide splsched() as described in spl(9).
 1.2 29-Jun-2000  soren Add spllpt. More interrupt changes needed..
 1.1 14-Jun-2000  soren branches: 1.1.4;
Initial commit.
 1.1.4.2 22-Jun-2000  minoura Sync w/ netbsd-1-5-base.
 1.1.4.1 14-Jun-2000  minoura file intr.h was added on branch minoura-xpg4dl on 2000-06-22 17:03:18 +0000
 1.4.2.4 21-Apr-2001  bouyer Sync with HEAD
 1.4.2.3 18-Jan-2001  bouyer Sync with head (for UBC+NFS fixes, mostly).
 1.4.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.4.2.1 22-Aug-2000  bouyer file intr.h was added on branch thorpej_scsipi on 2000-11-20 20:23:45 +0000
 1.5.2.1 21-Jun-2001  nathanw Catch up to -current.
 1.9.8.5 20-Jun-2002  nathanw Catch up to -current.
 1.9.8.4 01-Apr-2002  nathanw Catch up to -current.
(CVS: It's not just a program. It's an adventure!)
 1.9.8.3 28-Feb-2002  nathanw Catch up to -current.
 1.9.8.2 08-Jan-2002  nathanw Catch up to -current.
 1.9.8.1 08-Jun-2001  nathanw file intr.h was added on branch nathanw_sa on 2002-01-08 00:27:30 +0000
 1.9.2.4 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.9.2.3 16-Mar-2002  jdolecek Catch up with -current.
 1.9.2.2 11-Feb-2002  jdolecek Sync w/ -current.
 1.9.2.1 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.13.10.4 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.13.10.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.13.10.2 18-Sep-2004  skrll Sync with HEAD.
 1.13.10.1 03-Aug-2004  skrll Sync with HEAD
 1.18.2.4 07-Dec-2007  yamt sync with head
 1.18.2.3 03-Sep-2007  yamt sync with head.
 1.18.2.2 26-Feb-2007  yamt sync with head.
 1.18.2.1 30-Dec-2006  yamt sync with head.
 1.19.22.2 23-Oct-2006  yamt add splsoftserial.
 1.19.22.1 09-Oct-2006  yamt implement splraiseipl/makeiplcookie for sgimips.
 1.19.20.1 12-Jan-2007  ad Sync with head.
 1.21.14.1 26-Jun-2007  garbled Sync with HEAD.
 1.21.8.1 11-Jul-2007  mjf Sync with head.
 1.21.6.2 03-Dec-2007  ad Sync with HEAD.
 1.21.6.1 15-Jul-2007  ad Sync with head.
 1.23.10.2 09-Jan-2008  matt sync with HEAD
 1.23.10.1 06-Nov-2007  matt sync with HEAD
 1.23.8.1 09-Dec-2007  jmcneill Sync with HEAD.
 1.24.2.1 08-Dec-2007  mjf Sync with HEAD.
 1.25.36.2 29-Dec-2010  matt Adapt sgimips to the interrupt framework.
 1.25.36.1 06-Feb-2010  matt <mips/softintr.h> is no longer needed.
 1.25.32.1 13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.25.26.1 28-Apr-2009  skrll Sync with HEAD.
 1.25.18.1 04-May-2009  yamt sync with head.
 1.26.8.1 05-Mar-2011  bouyer Sync with HEAD
 1.26.6.1 06-Jun-2011  jruoho Sync with HEAD.
 1.26.4.1 05-Mar-2011  rmind sync with head
 1.27.32.1 22-Sep-2015  skrll Sync with HEAD
 1.27.14.1 03-Dec-2017  jdolecek update from HEAD
 1.28.18.1 10-Jun-2019  christos Sync with HEAD
 1.28.16.1 30-Sep-2018  pgoyette Ssync with HEAD
 1.2 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.1 22-May-2002  manu branches: 1.1.2; 1.1.4; 1.1.6;
Added an irix_machdep.h (in the future, COMPAT_IRIX will be available on
several MIPS architectures)
 1.1.6.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.1.6.2 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.1.6.1 22-May-2002  jdolecek file irix_machdep.h was added on branch kqueue on 2002-06-23 17:40:30 +0000
 1.1.4.3 17-Sep-2002  nathanw Catch up to -current.
 1.1.4.2 20-Jun-2002  nathanw Catch up to -current.
 1.1.4.1 22-May-2002  nathanw file irix_machdep.h was added on branch nathanw_sa on 2002-06-20 03:40:49 +0000
 1.1.2.3 31-May-2002  gehenna Remove hard-coded major.
 1.1.2.2 30-May-2002  gehenna Catch up with -current.
 1.1.2.1 22-May-2002  gehenna file irix_machdep.h was added on branch gehenna-devsw on 2002-05-30 15:35:41 +0000
 1.1 14-Jun-2000  soren branches: 1.1.4; 1.1.6;
Initial commit.
 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 14-Jun-2000  bouyer file kcore.h was added on branch thorpej_scsipi on 2000-11-20 20:23:45 +0000
 1.1.4.2 22-Jun-2000  minoura Sync w/ netbsd-1-5-base.
 1.1.4.1 14-Jun-2000  minoura file kcore.h was added on branch minoura-xpg4dl on 2000-06-22 17:03:18 +0000
 1.1 14-Jun-2000  soren branches: 1.1.4; 1.1.6;
Initial commit.
 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 14-Jun-2000  bouyer file kdbparam.h was added on branch thorpej_scsipi on 2000-11-20 20:23:45 +0000
 1.1.4.2 22-Jun-2000  minoura Sync w/ netbsd-1-5-base.
 1.1.4.1 14-Jun-2000  minoura file kdbparam.h was added on branch minoura-xpg4dl on 2000-06-22 17:03:19 +0000
 1.1 14-Jun-2000  soren branches: 1.1.4; 1.1.6;
Initial commit.
 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 14-Jun-2000  bouyer file limits.h was added on branch thorpej_scsipi on 2000-11-20 20:23:45 +0000
 1.1.4.2 22-Jun-2000  minoura Sync w/ netbsd-1-5-base.
 1.1.4.1 14-Jun-2000  minoura file limits.h was added on branch minoura-xpg4dl on 2000-06-22 17:03:20 +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 23-Aug-2009  he Remove BOOT_AOUT here as well, mips no longer deals with a.out.
 1.6 28-Apr-2008  martin branches: 1.6.18;
Remove clause 3 and 4 from TNF licenses
 1.5 17-Oct-2007  garbled branches: 1.5.16; 1.5.18; 1.5.20;
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.4 23-Jul-2007  macallan branches: 1.4.6;
sprinkle (vaddr_t) to deal with sizeof(paddr_t) != sizeof(void *)
Now the loader should build again.
 1.3 25-Jan-2006  christos branches: 1.3.28; 1.3.36; 1.3.40; 1.3.42;
free -> dealloc
unsigned -> size_t for alloc/dealloc
 1.2 31-Oct-2001  thorpej branches: 1.2.2; 1.2.4; 1.2.36; 1.2.48;
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.1 15-Oct-2001  mhitch branches: 1.1.2;
Machine-dependent loadfile() support for booting.
 1.1.2.1 12-Nov-2001  thorpej Sync the thorpej-mips-cache branch with -current.
 1.2.48.1 01-Feb-2006  yamt sync with head.
 1.2.36.2 03-Sep-2007  yamt sync with head.
 1.2.36.1 21-Jun-2006  yamt sync with head.
 1.2.4.2 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.2.4.1 31-Oct-2001  thorpej file loadfile_machdep.h was added on branch kqueue on 2002-01-10 19:48:29 +0000
 1.2.2.2 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.2.1 31-Oct-2001  thorpej file loadfile_machdep.h was added on branch nathanw_sa on 2001-10-31 17:20:50 +0000
 1.3.42.1 15-Aug-2007  skrll Sync with HEAD.
 1.3.40.1 07-Aug-2007  matt Sync with HEAD.
 1.3.36.1 03-Oct-2007  garbled Sync with HEAD
 1.3.28.1 20-Aug-2007  ad Sync with HEAD.
 1.4.6.1 06-Nov-2007  matt sync with HEAD
 1.5.20.3 11-Mar-2010  yamt sync with head
 1.5.20.2 16-Sep-2009  yamt sync with head
 1.5.20.1 16-May-2008  yamt sync with head.
 1.5.18.1 18-May-2008  yamt sync with head.
 1.5.16.1 02-Jun-2008  mjf Sync with HEAD.
 1.6.18.1 10-Sep-2009  matt Add preliminary LP64 support for sgimips
 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 14-Jun-2000  soren branches: 1.1.4; 1.1.6; 1.1.10;
Initial commit.
 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 14-Jun-2000  bouyer file lock.h was added on branch thorpej_scsipi on 2000-11-20 20:23:45 +0000
 1.1.4.2 22-Jun-2000  minoura Sync w/ netbsd-1-5-base.
 1.1.4.1 14-Jun-2000  minoura file lock.h was added on branch minoura-xpg4dl on 2000-06-22 17:03:21 +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:25 +0000
 1.2 05-Jun-2002  simonb Simplify include files that just include <mips/locore.h>.
 1.1 14-Jun-2000  soren branches: 1.1.4; 1.1.6; 1.1.10; 1.1.14; 1.1.22;
Initial commit.
 1.1.22.1 15-Jul-2002  gehenna catch up with -current.
 1.1.14.1 20-Jun-2002  nathanw Catch up to -current.
 1.1.10.1 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 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 14-Jun-2000  bouyer file locore.h was added on branch thorpej_scsipi on 2000-11-20 20:23:45 +0000
 1.1.4.2 22-Jun-2000  minoura Sync w/ netbsd-1-5-base.
 1.1.4.1 14-Jun-2000  minoura file locore.h was added on branch minoura-xpg4dl on 2000-06-22 17:03:21 +0000
 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:07 +0000
 1.7 10-Feb-2009  rumble Ready these for IP6.
 1.6 22-Dec-2006  rumble branches: 1.6.48; 1.6.56; 1.6.62;
Guiness -> Guinness.
 1.5 11-Dec-2005  christos branches: 1.5.20;
merge ktrace-lwp.
 1.4 13-Jan-2004  sekiya branches: 1.4.16;
Add IP12 subtypes. From Steve Rumble.
 1.3 13-Mar-2002  simonb branches: 1.3.12;
Replace lots of 8x<space> with <tabs> and other miscellaneous indentation
fixes.
Wrap a couple of long lines.
Use <return-type>\n<function name> as per KNF in a few places.
 1.2 14-Jun-2001  rafal branches: 1.2.2; 1.2.4; 1.2.10;
Add externs for struct platform and the machine type definitions (mach_type,
mach_subtype, mach_boardrev).
 1.1 11-May-2001  thorpej SGI machine types and subtypes. From Rafal K. Boni.
 1.2.10.2 01-Apr-2002  nathanw Catch up to -current.
(CVS: It's not just a program. It's an adventure!)
 1.2.10.1 14-Jun-2001  nathanw file machtype.h was added on branch nathanw_sa on 2002-04-01 07:42:26 +0000
 1.2.4.1 16-Mar-2002  jdolecek Catch up with -current.
 1.2.2.1 21-Jun-2001  nathanw Catch up to -current.
 1.3.12.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.3.12.2 18-Sep-2004  skrll Sync with HEAD.
 1.3.12.1 03-Aug-2004  skrll Sync with HEAD
 1.4.16.1 30-Dec-2006  yamt sync with head.
 1.5.20.1 12-Jan-2007  ad Sync with head.
 1.6.62.1 13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.6.56.1 03-Mar-2009  skrll Sync with HEAD.
 1.6.48.1 04-May-2009  yamt sync with head.
 1.1 14-Jun-2000  soren branches: 1.1.4; 1.1.6;
Initial commit.
 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 14-Jun-2000  bouyer file math.h was added on branch thorpej_scsipi on 2000-11-20 20:23:45 +0000
 1.1.4.2 22-Jun-2000  minoura Sync w/ netbsd-1-5-base.
 1.1.4.1 14-Jun-2000  minoura file math.h was added on branch minoura-xpg4dl on 2000-06-22 17:03:22 +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.1 14-Jun-2000  soren branches: 1.1.4; 1.1.6;
Initial commit.
 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 14-Jun-2000  bouyer file mips_opcode.h was added on branch thorpej_scsipi on 2000-11-20 20:23:45 +0000
 1.1.4.2 22-Jun-2000  minoura Sync w/ netbsd-1-5-base.
 1.1.4.1 14-Jun-2000  minoura file mips_opcode.h was added on branch minoura-xpg4dl on 2000-06-22 17:03:22 +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 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:08:04 +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:54 +0000
 1.18 31-May-2021  simonb Include "opt_param.h" (ifdef _KERNEL_OPT) everywhere that MSGBUFSIZE is
referenced since some sources include <machine/param.h>.
 1.17 07-Jan-2019  jdolecek branches: 1.17.16;
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.16 04-Jul-2011  mrg branches: 1.16.52; 1.16.54;
don't mark delay as extern inline. it's defined normally in machdep.c.
 1.15 18-Mar-2011  tsutsui Include <mips/mips_param.h> after MACHINE is defined.
 1.14 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.13 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.12 14-Dec-2009  matt branches: 1.12.4; 1.12.6; 1.12.8;
Merge from matt-nb5-mips64
Merge mips-specific arch files.
 1.11 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.10 21-Feb-2008  sekiya branches: 1.10.10; 1.10.28;
Increase MSGBUFSIZE so that we don't truncate dmesg before syslog
starts.
 1.9 26-Sep-2006  tsutsui branches: 1.9.28;
Protect from multiple inclusion.
 1.8 16-Feb-2006  perry branches: 1.8.14; 1.8.16;
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.7 24-Dec-2005  perry branches: 1.7.2; 1.7.4; 1.7.6;
Remove leading __ from __(const|inline|signed|volatile) -- it is obsolete.
 1.6 11-Dec-2005  christos merge ktrace-lwp.
 1.5 07-Aug-2003  agc branches: 1.5.16;
Move UCB-licensed code from 4-clause to 3-clause licence.

Patches provided by Joel Baker in PR 22364, verified by myself.
 1.4 26-Feb-2002  simonb branches: 1.4.16;
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.3 30-May-2001  mrg branches: 1.3.2; 1.3.8;
use _KERNEL_OPT
 1.2 30-Jun-2000  itojun branches: 1.2.2; 1.2.4;
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 14-Jun-2000  soren branches: 1.1.2; 1.1.4;
Initial commit.
 1.1.4.2 22-Jun-2000  minoura Sync w/ netbsd-1-5-base.
 1.1.4.1 14-Jun-2000  minoura file param.h was added on branch minoura-xpg4dl on 2000-06-22 17:03:22 +0000
 1.1.2.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.2.4.1 21-Jun-2001  nathanw Catch up to -current.
 1.2.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.2.2.1 30-Jun-2000  bouyer file param.h was added on branch thorpej_scsipi on 2000-11-20 20:23:45 +0000
 1.3.8.2 28-Feb-2002  nathanw Catch up to -current.
 1.3.8.1 30-May-2001  nathanw file param.h was added on branch nathanw_sa on 2002-02-28 04:11:36 +0000
 1.3.2.1 16-Mar-2002  jdolecek Catch up with -current.
 1.4.16.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.4.16.2 18-Sep-2004  skrll Sync with HEAD.
 1.4.16.1 03-Aug-2004  skrll Sync with HEAD
 1.5.16.2 27-Feb-2008  yamt sync with head.
 1.5.16.1 30-Dec-2006  yamt sync with head.
 1.7.6.1 22-Apr-2006  simonb Sync with head.
 1.7.4.1 09-Sep-2006  rpaulo sync with head
 1.7.2.1 18-Feb-2006  yamt sync with head.
 1.8.16.1 22-Oct-2006  yamt sync with head
 1.8.14.1 18-Nov-2006  ad Sync with head.
 1.9.28.1 23-Mar-2008  matt sync with HEAD
 1.10.28.1 22-Aug-2009  matt Move MACHINE_ARCH definition to <mips/mips_param.h>
Move mbuf related defines to <mips/mips_param.h>
 1.10.10.2 11-Mar-2010  yamt sync with head
 1.10.10.1 19-Aug-2009  yamt sync with head.
 1.12.8.1 17-Feb-2011  bouyer Sync with HEAD
 1.12.6.1 06-Jun-2011  jruoho Sync with HEAD.
 1.12.4.2 21-Apr-2011  rmind sync with head
 1.12.4.1 05-Mar-2011  rmind sync with head
 1.16.54.1 10-Jun-2019  christos Sync with HEAD
 1.16.52.1 18-Jan-2019  pgoyette Synch with HEAD
 1.17.16.1 17-Jun-2021  thorpej Sync w/ HEAD.
 1.1 14-Jun-2000  soren branches: 1.1.4; 1.1.6;
Initial commit.
 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 14-Jun-2000  bouyer file pcb.h was added on branch thorpej_scsipi on 2000-11-20 20:23:46 +0000
 1.1.4.2 22-Jun-2000  minoura Sync w/ netbsd-1-5-base.
 1.1.4.1 14-Jun-2000  minoura file pcb.h was added on branch minoura-xpg4dl on 2000-06-22 17:03:23 +0000
 1.15 07-Jul-2020  thorpej Overhaul the interface to pci_configure_bus():
- Don't expose how PCI bus configuration resource management is implemented.
Provide a new resource provider API:

==> pciconf_resource_init() -- Initialize a PCI configuration resources
container.
==> pciconf_resource_add() -- Add a PCI configuration resource to the
container (I/O, MEM, or prefetchable MEM). Multiple resources of
each type may be added.
==> pciconf_resource_fini() -- Tear down the PCI configurtation resources
container once the bus has been configured.

This is much easier to use than the previous method of providing an
extent map for each kind of resource, and works better for e.g. ACPI
platforms that provide potentially multiple PCI resources in tables
provided by firmware.

- Re-implement PCI configuration resource management using vmem arenas,
rather than extent maps.
 1.14 18-Feb-2015  macallan switch sgimips to common bus_dma and bus_space in arch/mips/
Tested on O2 and Indy.
Things that are compile-tested only for lack of hardware:
- GIO ethernet cards with PCI bridges
- IP2x hardware not found on Indy
- IP1x
 1.13 01-Apr-2014  ozaki-r branches: 1.13.6;
Add a missing comma
 1.12 29-Mar-2014  christos make pci_intr_string and eisa_intr_string take a buffer and a length
instead of relying in local static storage.
 1.11 27-Oct-2012  chs branches: 1.11.2;
split device_t/softc for all remaining drivers.
replace "struct device *" with "device_t".
use device_xname(), device_unit(), etc.
 1.10 11-May-2011  dyoung branches: 1.10.4; 1.10.14;
Now that GENERIC32_IPX3x builds again, fix some pci_attach_args
constification that I'd missed.
 1.9 30-Aug-2006  rumble branches: 1.9.82; 1.9.88;
Generalise pci/pci_machdep.c further and move all mace-specific code into
mace/pci_mace.c in preparation for pci devices on the gio(4) bus.
 1.8 17-Apr-2006  tsutsui branches: 1.8.6;
Switch macepci to use MI pci_configure_bus(9) rather than its own fixup code.
Tested on my O2 with several devices, and ok'ed by sekiya.
 1.7 11-Dec-2005  christos branches: 1.7.4; 1.7.6; 1.7.8; 1.7.10; 1.7.12;
merge ktrace-lwp.
 1.6 06-Sep-2004  sekiya branches: 1.6.12;
Use the mace interrupt handler for PCI interrupts.

From KIYOHARA Takashi
 1.5 29-Jul-2004  drochner remove now unnecessary "pci_enumerate_bus" definitions
 1.4 05-Oct-2003  tsutsui Apply a bunch of patches written by Christopher SEKIYA
(with several cosmetic changes by me) which fixes O2 (IP32) support.

Now my R5000 O2 works fine in multiuser with on-board AIC7880 SCSIs
and several PCI network cards (but only on serial console yet).
L2 cache on R5000/Rm5200 is still disabled for now, but it will be
fixed later, hopefully.

See recent discussion on port-sgimips for details.
 1.3 15-May-2002  thorpej branches: 1.3.10;
Let machine-dependent code specify how to enumerate the bus.
Currently, everyone uses pci_enumerate_bus_generic().
 1.2 28-Dec-2000  sommerfeld branches: 1.2.4; 1.2.8;
Change pci_intr_map to get interrupt source information from a "struct
pci_attach_args *" instead of from four separate parameters which in
all cases were extracted from the same "struct pci_attach_args".

This both simplifies the driver api, and allows for alternate PCI
interrupt mapping schemes, such as one using the tables described in
the Intel Multiprocessor Spec which describe interrupt wirings for
devices behind pci-pci bridges based on the device's location rather
the bridge's location.

Tested on alpha and i386; welcome to 1.5Q
 1.1 14-Jun-2000  soren branches: 1.1.4; 1.1.6;
Initial commit.
 1.1.6.3 05-Jan-2001  bouyer Sync with 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 14-Jun-2000  bouyer file pci_machdep.h was added on branch thorpej_scsipi on 2000-11-20 20:23:46 +0000
 1.1.4.2 22-Jun-2000  minoura Sync w/ netbsd-1-5-base.
 1.1.4.1 14-Jun-2000  minoura file pci_machdep.h was added on branch minoura-xpg4dl on 2000-06-22 17:03:23 +0000
 1.2.8.1 20-Jun-2002  nathanw Catch up to -current.
 1.2.4.1 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.3.10.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.3.10.2 18-Sep-2004  skrll Sync with HEAD.
 1.3.10.1 03-Aug-2004  skrll Sync with HEAD
 1.6.12.2 30-Dec-2006  yamt sync with head.
 1.6.12.1 21-Jun-2006  yamt sync with head.
 1.7.12.1 24-May-2006  tron Merge 2006-05-24 NetBSD-current into the "peter-altq" branch.
 1.7.10.1 19-Apr-2006  elad sync with head - hopefully this will work
 1.7.8.2 03-Sep-2006  yamt sync with head.
 1.7.8.1 24-May-2006  yamt sync with head.
 1.7.6.1 22-Apr-2006  simonb Sync with head.
 1.7.4.1 09-Sep-2006  rpaulo sync with head
 1.8.6.1 10-Sep-2006  tron Pull up following revision(s) (requested by rumble in ticket #137):
sys/arch/sgimips/include/pci_machdep.h: revision 1.9
sys/arch/sgimips/pci/pci_machdep.c: revision 1.19
sys/arch/sgimips/mace/pci_mace.c: revision 1.8
Generalise pci/pci_machdep.c further and move all mace-specific code into
mace/pci_mace.c in preparation for pci devices on the gio(4) bus.
 1.9.88.1 06-Jun-2011  jruoho Sync with HEAD.
 1.9.82.1 31-May-2011  rmind sync with head
 1.10.14.3 03-Dec-2017  jdolecek update from HEAD
 1.10.14.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.10.14.1 20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.10.4.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.10.4.1 30-Oct-2012  yamt sync with head
 1.11.2.1 18-May-2014  rmind sync with head
 1.13.6.1 06-Apr-2015  skrll Sync with HEAD
 1.1 14-Jun-2000  soren branches: 1.1.4; 1.1.6;
Initial commit.
 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 14-Jun-2000  bouyer file pmap.h was added on branch thorpej_scsipi on 2000-11-20 20:23:46 +0000
 1.1.4.2 22-Jun-2000  minoura Sync w/ netbsd-1-5-base.
 1.1.4.1 14-Jun-2000  minoura file pmap.h was added on branch minoura-xpg4dl on 2000-06-22 17:03:24 +0000
 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:39:44 +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:52 +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:49 +0000
 1.1 14-Jun-2000  soren branches: 1.1.4; 1.1.6;
Initial commit.
 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 14-Jun-2000  bouyer file proc.h was added on branch thorpej_scsipi on 2000-11-20 20:23:46 +0000
 1.1.4.2 22-Jun-2000  minoura Sync w/ netbsd-1-5-base.
 1.1.4.1 14-Jun-2000  minoura file proc.h was added on branch minoura-xpg4dl on 2000-06-22 17:03:24 +0000
 1.1 14-Jun-2000  soren branches: 1.1.4; 1.1.6;
Initial commit.
 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 14-Jun-2000  bouyer file profile.h was added on branch thorpej_scsipi on 2000-11-20 20:23:46 +0000
 1.1.4.2 22-Jun-2000  minoura Sync w/ netbsd-1-5-base.
 1.1.4.1 14-Jun-2000  minoura file profile.h was added on branch minoura-xpg4dl on 2000-06-22 17:03:25 +0000
 1.1 14-Jun-2000  soren branches: 1.1.4; 1.1.6;
Initial commit.
 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 14-Jun-2000  bouyer file psl.h was added on branch thorpej_scsipi on 2000-11-20 20:23:46 +0000
 1.1.4.2 22-Jun-2000  minoura Sync w/ netbsd-1-5-base.
 1.1.4.1 14-Jun-2000  minoura file psl.h was added on branch minoura-xpg4dl on 2000-06-22 17:03:25 +0000
 1.1 14-Jun-2000  soren branches: 1.1.4; 1.1.6;
Initial commit.
 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 14-Jun-2000  bouyer file pte.h was added on branch thorpej_scsipi on 2000-11-20 20:23:46 +0000
 1.1.4.2 22-Jun-2000  minoura Sync w/ netbsd-1-5-base.
 1.1.4.1 14-Jun-2000  minoura file pte.h was added on branch minoura-xpg4dl on 2000-06-22 17:03:25 +0000
 1.1 14-Jun-2000  soren branches: 1.1.4; 1.1.6;
Initial commit.
 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 14-Jun-2000  bouyer file ptrace.h was added on branch thorpej_scsipi on 2000-11-20 20:23:46 +0000
 1.1.4.2 22-Jun-2000  minoura Sync w/ netbsd-1-5-base.
 1.1.4.1 14-Jun-2000  minoura file ptrace.h was added on branch minoura-xpg4dl on 2000-06-22 17:03:26 +0000
 1.1 14-Jun-2000  soren branches: 1.1.4; 1.1.6;
Initial commit.
 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 14-Jun-2000  bouyer file reg.h was added on branch thorpej_scsipi on 2000-11-20 20:23:46 +0000
 1.1.4.2 22-Jun-2000  minoura Sync w/ netbsd-1-5-base.
 1.1.4.1 14-Jun-2000  minoura file reg.h was added on branch minoura-xpg4dl on 2000-06-22 17:03:27 +0000
 1.1 14-Jun-2000  soren branches: 1.1.4; 1.1.6;
Initial commit.
 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 14-Jun-2000  bouyer file regdef.h was added on branch thorpej_scsipi on 2000-11-20 20:23:46 +0000
 1.1.4.2 22-Jun-2000  minoura Sync w/ netbsd-1-5-base.
 1.1.4.1 14-Jun-2000  minoura file regdef.h was added on branch minoura-xpg4dl on 2000-06-22 17:03:27 +0000
 1.1 14-Jun-2000  soren branches: 1.1.4; 1.1.6;
Initial commit.
 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 14-Jun-2000  bouyer file regnum.h was added on branch thorpej_scsipi on 2000-11-20 20:23:46 +0000
 1.1.4.2 22-Jun-2000  minoura Sync w/ netbsd-1-5-base.
 1.1.4.1 14-Jun-2000  minoura file regnum.h was added on branch minoura-xpg4dl on 2000-06-22 17:03:28 +0000
 1.2 09-Sep-2001  simonb branches: 1.2.4;
Clean up and standardise across MIPS ports.
 1.1 14-Jun-2000  soren branches: 1.1.4; 1.1.6; 1.1.8; 1.1.10;
Initial commit.
 1.1.10.1 13-Sep-2001  thorpej Update the kqueue branch to HEAD.
 1.1.8.1 01-Oct-2001  fvdl Catch up with -current.
 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 14-Jun-2000  bouyer file reloc.h was added on branch thorpej_scsipi on 2000-11-20 20:23:46 +0000
 1.1.4.2 22-Jun-2000  minoura Sync w/ netbsd-1-5-base.
 1.1.4.1 14-Jun-2000  minoura file reloc.h was added on branch minoura-xpg4dl on 2000-06-22 17:03:28 +0000
 1.2.4.2 09-Sep-2001  simonb Clean up and standardise across MIPS ports.
 1.2.4.1 09-Sep-2001  simonb file reloc.h was added on branch nathanw_sa on 2001-09-09 04:20:31 +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 14-Jun-2000  soren branches: 1.1.4; 1.1.6;
Initial commit.
 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 14-Jun-2000  bouyer file rnd.h was added on branch thorpej_scsipi on 2000-11-20 20:23:46 +0000
 1.1.4.2 22-Jun-2000  minoura Sync w/ netbsd-1-5-base.
 1.1.4.1 14-Jun-2000  minoura file rnd.h was added on branch minoura-xpg4dl on 2000-06-22 17:03:28 +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:08:04 +0000
 1.1 14-Jun-2000  soren branches: 1.1.4; 1.1.6;
Initial commit.
 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 14-Jun-2000  bouyer file setjmp.h was added on branch thorpej_scsipi on 2000-11-20 20:23:47 +0000
 1.1.4.2 22-Jun-2000  minoura Sync w/ netbsd-1-5-base.
 1.1.4.1 14-Jun-2000  minoura file setjmp.h was added on branch minoura-xpg4dl on 2000-06-22 17:03:28 +0000
 1.1 14-Jun-2000  soren branches: 1.1.4; 1.1.6;
Initial commit.
 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 14-Jun-2000  bouyer file signal.h was added on branch thorpej_scsipi on 2000-11-20 20:23:47 +0000
 1.1.4.2 22-Jun-2000  minoura Sync w/ netbsd-1-5-base.
 1.1.4.1 14-Jun-2000  minoura file signal.h was added on branch minoura-xpg4dl on 2000-06-22 17:03:28 +0000
 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:22 +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:07 +0000
 1.2 23-Jul-2014  alnsn Rename sljitarch.h to sljit_machdep.h.
 1.1 25-Nov-2012  alnsn branches: 1.1.2; 1.1.6; 1.1.14;
Add sljitarch.h to all mips machines.
 1.1.14.1 10-Aug-2014  tls Rebase.
 1.1.6.3 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.2 25-Feb-2013  tls resync with head
 1.1.6.1 25-Nov-2012  tls file sljitarch.h was added on branch tls-maxphys on 2013-02-25 00:28:56 +0000
 1.1.2.2 16-Jan-2013  yamt sync with (a bit old) head
 1.1.2.1 25-Nov-2012  yamt file sljitarch.h was added on branch yamt-pagecache on 2013-01-16 05:33:03 +0000
 1.2 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.1 14-Jun-2000  soren branches: 1.1.4; 1.1.6;
Initial commit.
 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 14-Jun-2000  bouyer file stdarg.h was added on branch thorpej_scsipi on 2000-11-20 20:23:47 +0000
 1.1.4.2 22-Jun-2000  minoura Sync w/ netbsd-1-5-base.
 1.1.4.1 14-Jun-2000  minoura file stdarg.h was added on branch minoura-xpg4dl on 2000-06-22 17:03:30 +0000
 1.3 19-Dec-2018  maxv Remove compat_svr4 and compat_svr4_32, as discussed on tech-kern@ recently,
but also as discussed several times in the past.
 1.2 13-Mar-2002  simonb branches: 1.2.202; 1.2.204;
Replace lots of 8x<space> with <tabs> and other miscellaneous indentation
fixes.
Wrap a couple of long lines.
Use <return-type>\n<function name> as per KNF in a few places.
 1.1 28-Nov-2001  manu branches: 1.1.2; 1.1.4;
Add support for COMPAT_IRIX
 1.1.4.3 16-Mar-2002  jdolecek Catch up with -current.
 1.1.4.2 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.1.4.1 28-Nov-2001  thorpej file svr4_machdep.h was added on branch kqueue on 2002-01-10 19:48:29 +0000
 1.1.2.3 01-Apr-2002  nathanw Catch up to -current.
(CVS: It's not just a program. It's an adventure!)
 1.1.2.2 08-Jan-2002  nathanw Catch up to -current.
 1.1.2.1 28-Nov-2001  nathanw file svr4_machdep.h was added on branch nathanw_sa on 2002-01-08 00:27:31 +0000
 1.2.204.1 10-Jun-2019  christos Sync with HEAD
 1.2.202.1 26-Dec-2018  pgoyette Sync with HEAD, resolve a few conflicts
 1.8 20-Feb-2011  matt Merge forward matt-nb5-mips64
Adapt to new interrupt/spl framework
Deal with arcbios calls being O32 and kernels being N32/N64.
Need to save/restore T8 across arcbios calls.
 1.7 29-Dec-2006  rumble branches: 1.7.66; 1.7.70; 1.7.76; 1.7.78;
IP12 (and perhaps other systems) appear to be buggy and incapable of
reliably supporting badaddr(). False negatives appear to occur
approximately 1.8 percent of the time, although neither false positives
nor consecutive false negatives occur. We take advantage of the latter
property and always use a wrapper that makes multiple checks.

My IP12 no longer sees occasional ghost devices and related panics during
boot.
 1.6 11-Dec-2005  christos branches: 1.6.20;
merge ktrace-lwp.
 1.5 18-Jan-2004  sekiya branches: 1.5.16;
Add more platform hooks in platform struct.
 1.4 13-Jan-2004  sekiya The watchdog timer is a function of the memory controller on all SGI platforms.
Add to the machine struct.
 1.3 11-Nov-2001  rafal branches: 1.3.2; 1.3.18;
Make microtime(9) do interpolation to get better-than-hz resolution, if
the platform supplies a clkread function that does something other than
return 0 (which is the default unless overridden by the platorm code).
Supply such a function for the IP22; even if it isn't perfect, it goes
a long way to making ntp usable.

While I'm at it, move the ticks-per-hz variable out of the struct platform
since it's really private to the per-platform interrupt/clock code.

XXX: No clkread function supplied for IP32, since it has other problems --
like a hardcoded ticks-per-hz, but the same code as on the IP22 could be
used.
 1.2 14-Jun-2001  rafal branches: 1.2.2; 1.2.4; 1.2.8;
Add externs for struct platform and the machine type definitions (mach_type,
mach_subtype, mach_boardrev).
 1.1 11-May-2001  thorpej Dynamic system configuration support, derived from pmax port.

From Rafal K. Boni.
 1.2.8.1 12-Nov-2001  thorpej Sync the thorpej-mips-cache branch with -current.
 1.2.4.1 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.2.2.1 21-Jun-2001  nathanw Catch up to -current.
 1.3.18.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.3.18.2 18-Sep-2004  skrll Sync with HEAD.
 1.3.18.1 03-Aug-2004  skrll Sync with HEAD
 1.3.2.2 11-Nov-2001  rafal Make microtime(9) do interpolation to get better-than-hz resolution, if
the platform supplies a clkread function that does something other than
return 0 (which is the default unless overridden by the platorm code).
Supply such a function for the IP22; even if it isn't perfect, it goes
a long way to making ntp usable.

While I'm at it, move the ticks-per-hz variable out of the struct platform
since it's really private to the per-platform interrupt/clock code.

XXX: No clkread function supplied for IP32, since it has other problems --
like a hardcoded ticks-per-hz, but the same code as on the IP22 could be
used.
 1.3.2.1 11-Nov-2001  rafal file sysconf.h was added on branch nathanw_sa on 2001-11-11 17:21:41 +0000
 1.5.16.1 30-Dec-2006  yamt sync with head.
 1.6.20.1 12-Jan-2007  ad Sync with head.
 1.7.78.1 05-Mar-2011  bouyer Sync with HEAD
 1.7.76.1 06-Jun-2011  jruoho Sync with HEAD.
 1.7.70.1 05-Mar-2011  rmind sync with head
 1.7.66.1 29-Dec-2010  matt Adapt sgimips to the interrupt framework.
 1.1 14-Jun-2000  soren branches: 1.1.4; 1.1.6;
Initial commit.
 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 14-Jun-2000  bouyer file trap.h was added on branch thorpej_scsipi on 2000-11-20 20:23:47 +0000
 1.1.4.2 22-Jun-2000  minoura Sync w/ netbsd-1-5-base.
 1.1.4.1 14-Jun-2000  minoura file trap.h was added on branch minoura-xpg4dl on 2000-06-22 17:03:31 +0000
 1.18 01-Apr-2021  simonb Whitespace: #define<tab>
 1.17 26-Jan-2017  christos branches: 1.17.26; 1.17.28;
provide __HAVE_COMPAT_NETBSD32 and fix multiple include protection consistently.
 1.16 17-Jul-2011  dyoung branches: 1.16.12; 1.16.30; 1.16.34; 1.16.38;
Switch MIPS and MIPS-ish architectures to new-style <sys/bus.h>. This
involves moving some inline bus_space(9) implementation into .c files.
 1.15 20-Jan-2008  joerg Now that __HAVE_TIMECOUNTER and __HAVE_GENERIC_TODR are invariants,
remove the conditionals and the code associated with the undef case.
 1.14 17-Oct-2007  garbled branches: 1.14.2; 1.14.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.13 17-Jul-2007  macallan branches: 1.13.10;
use 64bit paddr_t and bus_addr_t so we can mmap DMA buffers uncached
 1.12 14-Jul-2007  ad Generic soft interrupts are mandatory.
 1.11 16-Sep-2006  gdamore branches: 1.11.10; 1.11.18;
sgimips converted to timecounters. Systems that can do them get mips_cp0
based logic. We also use the common mips3_clock functions for those systems,
removing some port-specific code.

Tested by martin@.
 1.10 05-Sep-2006  rumble branches: 1.10.2;
Switch sgimips to MI todr.
 1.9 03-Sep-2006  bjh21 Nothing in the kernel now tests __HAVE_NWSCONS, so stop defining it everywhere.
 1.8 11-Dec-2005  christos branches: 1.8.4; 1.8.8;
merge ktrace-lwp.
 1.7 10-Dec-2003  lonewolf branches: 1.7.16;
sgimips lives in the new-style wscons land.
 1.6 03-Jan-2003  rafal branches: 1.6.2;
Cosmetic fix -- move __HAVE_MIPS_MACHDEP_CACHE_CONFIG to "MIPS specific
options" section.
 1.5 03-Jan-2003  rafal Checkpoint of O2 work by Chris Sekiya and myself. This is the sgimips bit;
still needs some arch/mips support code before it will fully work.
 1.4 05-Aug-2002  simonb Use a __HAVE_BOOTINFO_H define to check for bootinfo support instead of
speading port names in arch-dependant code.
 1.3 18-Oct-2001  mhitch branches: 1.3.4; 1.3.12;
We have device_register().
 1.2 11-May-2001  thorpej branches: 1.2.2;
We now have generic soft interrupts.
 1.1 14-Jun-2000  soren branches: 1.1.4; 1.1.6; 1.1.8;
Initial commit.
 1.1.8.1 21-Jun-2001  nathanw Catch up to -current.
 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 14-Jun-2000  bouyer file types.h was added on branch thorpej_scsipi on 2000-11-20 20:23:47 +0000
 1.1.4.2 22-Jun-2000  minoura Sync w/ netbsd-1-5-base.
 1.1.4.1 14-Jun-2000  minoura file types.h was added on branch minoura-xpg4dl on 2000-06-22 17:03:31 +0000
 1.2.2.2 06-Sep-2002  jdolecek sync kqueue branch with HEAD
 1.2.2.1 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.3.12.1 31-Aug-2002  gehenna catch up with -current.
 1.3.4.3 07-Jan-2003  thorpej Sync with HEAD.
 1.3.4.2 13-Aug-2002  nathanw Catch up to -current.
 1.3.4.1 18-Oct-2001  nathanw file types.h was added on branch nathanw_sa on 2002-08-13 02:18:49 +0000
 1.6.2.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.6.2.2 18-Sep-2004  skrll Sync with HEAD.
 1.6.2.1 03-Aug-2004  skrll Sync with HEAD
 1.7.16.3 21-Jan-2008  yamt sync with head
 1.7.16.2 03-Sep-2007  yamt sync with head.
 1.7.16.1 30-Dec-2006  yamt sync with head.
 1.8.8.1 14-Sep-2006  yamt sync with head.
 1.8.4.1 09-Sep-2006  rpaulo sync with head
 1.10.2.1 18-Nov-2006  ad Sync with head.
 1.11.18.1 03-Oct-2007  garbled Sync with HEAD
 1.11.10.2 20-Aug-2007  ad Sync with HEAD.
 1.11.10.1 15-Jul-2007  ad Sync with head.
 1.13.10.2 23-Mar-2008  matt sync with HEAD
 1.13.10.1 06-Nov-2007  matt sync with HEAD
 1.14.8.1 23-Jan-2008  bouyer Sync with HEAD.
 1.14.2.1 18-Feb-2008  mjf Sync with HEAD.
 1.16.38.1 21-Apr-2017  bouyer Sync with HEAD
 1.16.34.1 20-Mar-2017  pgoyette Sync with HEAD
 1.16.30.1 05-Feb-2017  skrll Sync with HEAD
 1.16.12.1 03-Dec-2017  jdolecek update from HEAD
 1.17.28.1 03-Apr-2021  thorpej Sync with HEAD.
 1.17.26.1 03-Apr-2021  thorpej Sync with HEAD.
 1.2 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.1 14-Jun-2000  soren branches: 1.1.4; 1.1.6;
Initial commit.
 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 14-Jun-2000  bouyer file varargs.h was added on branch thorpej_scsipi on 2000-11-20 20:23:47 +0000
 1.1.4.2 22-Jun-2000  minoura Sync w/ netbsd-1-5-base.
 1.1.4.1 14-Jun-2000  minoura file varargs.h was added on branch minoura-xpg4dl on 2000-06-22 17:03:31 +0000
 1.2 14-Dec-2009  matt Merge from matt-nb5-mips64
Merge mips-specific arch files.
 1.1 14-Jun-2000  soren branches: 1.1.4; 1.1.6; 1.1.136; 1.1.154;
Initial commit.
 1.1.154.1 11-Dec-2009  matt Use the default set of VM_FREELISTs in <mips/vmparam.h> but allow them to
be overridden (for pmax).
 1.1.136.1 11-Mar-2010  yamt sync with 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 14-Jun-2000  bouyer file vmparam.h was added on branch thorpej_scsipi on 2000-11-20 20:23:47 +0000
 1.1.4.2 22-Jun-2000  minoura Sync w/ netbsd-1-5-base.
 1.1.4.1 14-Jun-2000  minoura file vmparam.h was added on branch minoura-xpg4dl on 2000-06-22 17:03:32 +0000
 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:40:07 +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:37 +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:55:30 +0000
 1.10 01-Jul-2011  dyoung #include <sys/bus.h> instead of <machine/bus.h>.
 1.9 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.8 07-Nov-2007  ad branches: 1.8.14;
Merge tty changes from the vmlocking branch.
 1.7 11-Dec-2005  christos branches: 1.7.30; 1.7.48; 1.7.50; 1.7.54; 1.7.56;
merge ktrace-lwp.
 1.6 08-Feb-2004  sekiya branches: 1.6.16;
de-__P.
 1.5 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.4 17-Apr-2002  rafal branches: 1.4.10;
Add event counter for zs interrupts and attach and use it; also, get the
zs major number out of the cdevsw table rather than hardcoding it in zs.c.
 1.3 13-Mar-2002  simonb Replace lots of 8x<space> with <tabs> and other miscellaneous indentation
fixes.
Wrap a couple of long lines.
Use <return-type>\n<function name> as per KNF in a few places.
 1.2 11-May-2001  thorpej branches: 1.2.2; 1.2.8;
New data structures for the new SCC driver.

From Rafal K. Boni.
 1.1 14-Jun-2000  soren branches: 1.1.4; 1.1.6; 1.1.8;
Initial commit.
 1.1.8.1 21-Jun-2001  nathanw Catch up to -current.
 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 14-Jun-2000  bouyer file z8530var.h was added on branch thorpej_scsipi on 2000-11-20 20:23:47 +0000
 1.1.4.2 22-Jun-2000  minoura Sync w/ netbsd-1-5-base.
 1.1.4.1 14-Jun-2000  minoura file z8530var.h was added on branch minoura-xpg4dl on 2000-06-22 17:03:32 +0000
 1.2.8.3 20-Jun-2002  nathanw Catch up to -current.
 1.2.8.2 01-Apr-2002  nathanw Catch up to -current.
(CVS: It's not just a program. It's an adventure!)
 1.2.8.1 11-May-2001  nathanw file z8530var.h was added on branch nathanw_sa on 2002-04-01 07:42:26 +0000
 1.2.2.2 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.2.2.1 16-Mar-2002  jdolecek Catch up with -current.
 1.4.10.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.4.10.2 18-Sep-2004  skrll Sync with HEAD.
 1.4.10.1 03-Aug-2004  skrll Sync with HEAD
 1.6.16.1 15-Nov-2007  yamt sync with head.
 1.7.56.1 19-Nov-2007  mjf Sync with HEAD.
 1.7.54.1 13-Nov-2007  bouyer Sync with HEAD
 1.7.50.1 08-Nov-2007  matt sync with -HEAD
 1.7.48.1 11-Nov-2007  joerg Sync with HEAD.
 1.7.30.1 03-Dec-2007  ad Sync with HEAD.
 1.8.14.1 03-Apr-2008  mjf Sync with HEAD.

RSS XML Feed