Home | History | Annotate | only in /src/sys/arch/playstation2
History log of /src/sys/arch/playstation2
RevisionDateAuthorComments
 1.4 31-Mar-2014  martin branches: 1.4.6;
Bring back the playstation2 port - now that a toolchain for it is
available again.
 1.3 05-Dec-2009  pooka branches: 1.3.10; 1.3.16;
Remove support for NetBSD/playstation2.
 1.2 06-Jan-2003  lukem branches: 1.2.108; 1.2.122;
Rework how KERNOBJDIR functions; now it's always determined with
cd ${KERNSRCDIR}/${KERNARCHDIR}/compile && ${PRINTOBJDIR}
This is far simpler than the previous system, and more robust with
objdirs built via BSDOBJDIR.

The previous method of finding KERNOBJDIR when using BSDOBJDIR by
referencing _SRC_TOP_OBJ_ from another directory was extremely
fragile due to the depth first tree walk by <bsd.subdir.mk>, and
the caching of _SRC_TOP_OBJ_ (with MAKEOVERRIDES) which would be
empty on the *first* pass to create fresh objdirs.

This change requires adding sys/arch/*/compile/Makefile to create
the objdir in that directory, and descending into arch/*/compile
from arch/*/Makefile. Remove the now-unnecessary .keep_me files
whilst here.

Per lengthy discussion with Andrew Brown.
 1.1 16-Oct-2001  uch branches: 1.1.4; 1.1.6;
playstation2 port
 1.1.6.2 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.1.6.1 16-Oct-2001  thorpej file Makefile was added on branch kqueue on 2002-01-10 19:47:24 +0000
 1.1.4.2 07-Jan-2003  thorpej Sync with HEAD.
 1.1.4.1 16-Oct-2001  thorpej file Makefile was added on branch nathanw_sa on 2003-01-07 21:12:28 +0000
 1.2.122.1 24-Oct-2010  jym Sync with HEAD
 1.2.108.1 11-Mar-2010  yamt sync with head
 1.3.16.1 18-May-2014  rmind sync with head
 1.3.10.1 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.4.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.4.6.1 31-Mar-2014  tls file Makefile was added on branch tls-maxphys on 2014-08-20 00:03:17 +0000
 1.2 06-Jan-2003  lukem Rework how KERNOBJDIR functions; now it's always determined with
cd ${KERNSRCDIR}/${KERNARCHDIR}/compile && ${PRINTOBJDIR}
This is far simpler than the previous system, and more robust with
objdirs built via BSDOBJDIR.

The previous method of finding KERNOBJDIR when using BSDOBJDIR by
referencing _SRC_TOP_OBJ_ from another directory was extremely
fragile due to the depth first tree walk by <bsd.subdir.mk>, and
the caching of _SRC_TOP_OBJ_ (with MAKEOVERRIDES) which would be
empty on the *first* pass to create fresh objdirs.

This change requires adding sys/arch/*/compile/Makefile to create
the objdir in that directory, and descending into arch/*/compile
from arch/*/Makefile. Remove the now-unnecessary .keep_me files
whilst here.

Per lengthy discussion with Andrew Brown.
 1.1 16-Oct-2001  uch branches: 1.1.4; 1.1.6;
playstation2 port
 1.1.6.2 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.1.6.1 16-Oct-2001  thorpej file .keep_me was added on branch kqueue on 2002-01-10 19:47:25 +0000
 1.1.4.2 07-Jan-2003  thorpej Sync with HEAD.
 1.1.4.1 16-Oct-2001  thorpej file .keep_me was added on branch nathanw_sa on 2003-01-07 21:12:29 +0000
 1.3 31-Mar-2014  martin branches: 1.3.6;
Bring back the playstation2 port - now that a toolchain for it is
available again.
 1.2 05-Dec-2009  pooka branches: 1.2.10; 1.2.16;
Remove support for NetBSD/playstation2.
 1.1 06-Jan-2003  lukem branches: 1.1.2; 1.1.110; 1.1.124;
Rework how KERNOBJDIR functions; now it's always determined with
cd ${KERNSRCDIR}/${KERNARCHDIR}/compile && ${PRINTOBJDIR}
This is far simpler than the previous system, and more robust with
objdirs built via BSDOBJDIR.

The previous method of finding KERNOBJDIR when using BSDOBJDIR by
referencing _SRC_TOP_OBJ_ from another directory was extremely
fragile due to the depth first tree walk by <bsd.subdir.mk>, and
the caching of _SRC_TOP_OBJ_ (with MAKEOVERRIDES) which would be
empty on the *first* pass to create fresh objdirs.

This change requires adding sys/arch/*/compile/Makefile to create
the objdir in that directory, and descending into arch/*/compile
from arch/*/Makefile. Remove the now-unnecessary .keep_me files
whilst here.

Per lengthy discussion with Andrew Brown.
 1.1.124.1 24-Oct-2010  jym Sync with HEAD
 1.1.110.1 11-Mar-2010  yamt sync with head
 1.1.2.2 07-Jan-2003  thorpej Sync with HEAD.
 1.1.2.1 06-Jan-2003  thorpej file Makefile was added on branch nathanw_sa on 2003-01-07 21:12:29 +0000
 1.2.16.1 18-May-2014  rmind sync with head
 1.2.10.1 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.3.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.3.6.1 31-Mar-2014  tls file Makefile was added on branch tls-maxphys on 2014-08-20 00:03:17 +0000
 1.14 07-Nov-2023  andvar Remove ksyms from AGATE/DEBUG configs, it is defined in included default config.
Remove unneeded "channel ?" for atapibus* in DEBUG config.
Add "midi* at midibus?" needed for umidi to compile in DEBUG config.
Change SOFTFLOAT to FPEMUL in std.playstation2 (property was renamed).

playstation2 code was likely never fully restored/fixed and doesn't build, but
these changes would be needed in case someone will.
 1.13 21-Aug-2015  uebayasi Add `pseudo-device ksyms' where `options DDB' is used, because
config(1)/config(5) can't handle module dependency correctly at this
moment.

(This is another proof that shared file definition (`file xxx.c a|b')
is a bad idea.)
 1.12 31-Mar-2014  martin branches: 1.12.6; 1.12.8;
Bring back the playstation2 port - now that a toolchain for it is
available again.
 1.11 05-Dec-2009  pooka branches: 1.11.10; 1.11.16;
Remove support for NetBSD/playstation2.
 1.10 05-Feb-2006  cube branches: 1.10.72; 1.10.86;
Remove 'count' argument for pseudo-devices that ignore it
(vnd, bpfilter, ppp, gif, gre, tun, sl, strip, faith, stf).
 1.9 11-Dec-2005  christos branches: 1.9.2; 1.9.4; 1.9.6;
merge ktrace-lwp.
 1.8 15-Jul-2004  atatat branches: 1.8.12;
Add "options SYSCTL_INCLUDE_DESCR" to a lot of configs, but commented
out in most of them.
 1.7 07-Jul-2004  he If a playstation2 kernel config does "options KLOADER_KERNEL_PATH",
it now also needs to do "options KLOADER", ref. the new playstation2
machdep.c, so fix these kernel configs accordingly.
 1.6 04-Dec-2003  keihan branches: 1.6.2;
netbsd.org -> NetBSD.org

All "netbsd.org" is now gone from src/sys/arch.
 1.5 08-May-2003  shin branches: 1.5.2;
fix linkage error.
 1.4 25-Apr-2002  atatat Add the INCLUDE_CONFIG_FILE option to all config files. In config
files that are generic (ie, GENERIC, GENERICSBC, GENERIC32, ALL, or
ALPHA), it is uncommented.
 1.3 23-Nov-2001  uch branches: 1.3.2;
integrate BUILTIN_KERNEL_LOADER and KERNE_PATH into KLOADER_KERNEL_PATH.
 1.2 20-Nov-2001  lukem cleanup:
options SPACE TAB
makeoptions TAB
psuedo-device TAB
remove trailing whitespace
replace multiple spaces -> tabs
options "FOO" -> options FOO
options "FOO=bar" -> options FOO=bar
options "FOO=\"bar\"" -> options FOO="\"bar\""
 1.1 16-Oct-2001  uch branches: 1.1.4;
playstation2 port
 1.1.4.3 20-Jun-2002  nathanw Catch up to -current.
 1.1.4.2 08-Jan-2002  nathanw Catch up to -current.
 1.1.4.1 16-Oct-2001  nathanw file AGATE was added on branch nathanw_sa on 2002-01-08 00:27:01 +0000
 1.3.2.3 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.3.2.2 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.3.2.1 23-Nov-2001  thorpej file AGATE was added on branch kqueue on 2002-01-10 19:47:25 +0000
 1.5.2.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.5.2.2 18-Sep-2004  skrll Sync with HEAD.
 1.5.2.1 03-Aug-2004  skrll Sync with HEAD
 1.6.2.1 15-Jul-2004  he Pull up revision 1.8 (requested by atatat in ticket #663):
Add "options SYSCTL_INCLUDE_DESCR" to a lot of configurations,
but commented out in most of them.
 1.8.12.1 21-Jun-2006  yamt sync with head.
 1.9.6.1 22-Apr-2006  simonb Sync with head.
 1.9.4.1 09-Sep-2006  rpaulo sync with head
 1.9.2.1 18-Feb-2006  yamt sync with head.
 1.10.86.1 24-Oct-2010  jym Sync with HEAD
 1.10.72.1 11-Mar-2010  yamt sync with head
 1.11.16.1 18-May-2014  rmind sync with head
 1.11.10.1 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.12.8.1 22-Sep-2015  skrll Sync with HEAD
 1.12.6.3 03-Dec-2017  jdolecek update from HEAD
 1.12.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.12.6.1 31-Mar-2014  tls file AGATE was added on branch tls-maxphys on 2014-08-20 00:03:17 +0000
 1.29 07-Nov-2023  andvar Remove ksyms from AGATE/DEBUG configs, it is defined in included default config.
Remove unneeded "channel ?" for atapibus* in DEBUG config.
Add "midi* at midibus?" needed for umidi to compile in DEBUG config.
Change SOFTFLOAT to FPEMUL in std.playstation2 (property was renamed).

playstation2 code was likely never fully restored/fixed and doesn't build, but
these changes would be needed in case someone will.
 1.28 29-Jun-2021  nia Remove uscanner(4) driver

This exists for compatibility with a Linux interface which was apparently
deprecated in Linux 2.6. There are various mailing list threads going
back to 2004 where the usefulness of this driver is discussed, but
the conclusion is that scanner software has all moved to using ugen(4)
instead, and enabling this driver will not help you scan things.
 1.27 16-May-2020  maya branches: 1.27.6;
Remove uyap, USB YAP phone firmware loader.

And the associated ezload EZ-USB code, which is only used by uyap.
It could theoretically be used by other drivers, but none of them are
in tree.

I suspect that this device isn't in use, as phone technology has improved
a lot since 2001 when uyap(4) was added to the tree.

Proposed with no objections on netbsd-users on 13 April 2020
 1.26 29-Jan-2020  maya remove urio(4), a driver for the Rio500 MP3 player.

At this point it is highly unlikely this 1999 device still has users,
but it still comes up in the context of maxv's USB-fuzzing (and any device
could pretend to be a urio(4)), so it's best to get rid of it.

Renamed all major entries to obsolete, as was done in previous removals.

This still requires an update to sanitizers, but they're located in
"external", perhaps it should be first committed upstream?

Proposed on tech-kern a month ago.
 1.25 06-Feb-2019  rin branches: 1.25.6;
Add ure(4) to kernel config files. Also add PHY drivers where necessary.
 1.24 25-Aug-2018  rin Add (commented out) mue(4) to where appropriate.
Also add MII/PHY drivers for USB NICs if missing.
 1.23 13-Dec-2016  christos branches: 1.23.14; 1.23.16;
wildcard speaker attachments, now that we can handle many of them.
 1.22 10-Dec-2016  christos remove VAUDIOSPEAKER for now, will be done differently.
 1.21 08-Dec-2016  nat Add a synthesized pc beeper and keyboard bell for platforms with an audio
device.
 1.20 21-Aug-2015  uebayasi branches: 1.20.2;
Add `pseudo-device ksyms' where `options DDB' is used, because
config(1)/config(5) can't handle module dependency correctly at this
moment.

(This is another proof that shared file definition (`file xxx.c a|b')
is a bad idea.)
 1.19 07-Aug-2015  maxv Remove the KMEMSTATS option. It no longer exists.
 1.18 31-Mar-2014  martin branches: 1.18.6; 1.18.8;
Bring back the playstation2 port - now that a toolchain for it is
available again.
 1.17 05-Dec-2009  pooka branches: 1.17.10; 1.17.16;
Remove support for NetBSD/playstation2.
 1.16 22-Feb-2006  hira branches: 1.16.72; 1.16.86;
Fix typo (Prolofic -> Prolific).
 1.15 05-Feb-2006  cube Remove 'count' argument for pseudo-devices that ignore it
(vnd, bpfilter, ppp, gif, gre, tun, sl, strip, faith, stf).
 1.14 11-Dec-2005  christos branches: 1.14.2; 1.14.4; 1.14.6;
merge ktrace-lwp.
 1.13 15-Apr-2005  itohy branches: 1.13.2;
Add ukyopon(4).
 1.12 23-Oct-2004  augustss branches: 1.12.4; 1.12.10;
s/uax/axe/
 1.11 15-Jul-2004  atatat Add "options SYSCTL_INCLUDE_DESCR" to a lot of configs, but commented
out in most of them.
 1.10 07-Jul-2004  he If a playstation2 kernel config does "options KLOADER_KERNEL_PATH",
it now also needs to do "options KLOADER", ref. the new playstation2
machdep.c, so fix these kernel configs accordingly.
 1.9 16-Feb-2003  augustss branches: 1.9.2; 1.9.4;
Add uax(4) (and url(4) in some cases).
 1.8 18-Sep-2002  lukem enable USERCONF by default; it's small and extremely useful to have available.
 1.7 25-Apr-2002  atatat branches: 1.7.4;
Add the INCLUDE_CONFIG_FILE option to all config files. In config
files that are generic (ie, GENERIC, GENERICSBC, GENERIC32, ALL, or
ALPHA), it is uncommented.
 1.6 12-Apr-2002  gmcgarry Add commented-out USERCONF option. Mainly useful for install media
and can be optionally enabled based on miniroot and ramdisk size
requirements.
 1.5 27-Jan-2002  jdolecek add options PIPE_SOCKETPAIR to individual kernel configs
the option is commented out on everything but kernels I was able
to recognize as INSTALL-like or ones for small memory machines
 1.4 02-Jan-2002  uch branches: 1.4.2;
sync with uhidev change.
 1.3 23-Nov-2001  uch integrate BUILTIN_KERNEL_LOADER and KERNE_PATH into KLOADER_KERNEL_PATH.
 1.2 20-Nov-2001  lukem cleanup:
options SPACE TAB
makeoptions TAB
psuedo-device TAB
remove trailing whitespace
replace multiple spaces -> tabs
options "FOO" -> options FOO
options "FOO=bar" -> options FOO=bar
options "FOO=\"bar\"" -> options FOO="\"bar\""
 1.1 16-Oct-2001  uch branches: 1.1.4;
playstation2 port
 1.1.4.7 18-Oct-2002  nathanw Catch up to -current.
 1.1.4.6 20-Jun-2002  nathanw Catch up to -current.
 1.1.4.5 17-Apr-2002  nathanw Catch up to -current.
 1.1.4.4 28-Feb-2002  nathanw Catch up to -current.
 1.1.4.3 11-Jan-2002  nathanw More catchup.
 1.1.4.2 08-Jan-2002  nathanw Catch up to -current.
 1.1.4.1 16-Oct-2001  nathanw file DEBUG was added on branch nathanw_sa on 2002-01-08 00:27:01 +0000
 1.4.2.5 10-Oct-2002  jdolecek sync kqueue with -current; this includes merge of gehenna-devsw branch,
merge of i386 MP branch, and part of autoconf rototil work
 1.4.2.4 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.4.2.3 11-Feb-2002  jdolecek Sync w/ -current.
 1.4.2.2 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.4.2.1 02-Jan-2002  thorpej file DEBUG was added on branch kqueue on 2002-01-10 19:47:25 +0000
 1.7.4.1 26-Oct-2005  jmc Pullup (via patch) requested in ticket #5754 by itohy

Provide a backport for ukyopon(4) and pullup umodem(4) updates.
 1.9.4.1 15-Jul-2004  he branches: 1.9.4.1.2;
Pull up revision 1.11 (requested by atatat in ticket #663):
Add "options SYSCTL_INCLUDE_DESCR" to a lot of configurations,
but commented out in most of them.
 1.9.4.1.2.1 21-Jul-2005  riz Pull up revision 1.13 (requested by itohy in ticket #1430):
Add ukyopon(4).
 1.9.2.5 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.9.2.4 02-Nov-2004  skrll Sync with HEAD.
 1.9.2.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.9.2.2 18-Sep-2004  skrll Sync with HEAD.
 1.9.2.1 03-Aug-2004  skrll Sync with HEAD
 1.12.10.1 17-Apr-2005  tron Pull up revision 1.13 (requested by itohy in ticket #160):
Add ukyopon(4).
 1.12.4.1 29-Apr-2005  kent sync with -current
 1.13.2.1 21-Jun-2006  yamt sync with head.
 1.14.6.1 22-Apr-2006  simonb Sync with head.
 1.14.4.1 09-Sep-2006  rpaulo sync with head
 1.14.2.2 01-Mar-2006  yamt sync with head.
 1.14.2.1 18-Feb-2006  yamt sync with head.
 1.16.86.1 24-Oct-2010  jym Sync with HEAD
 1.16.72.1 11-Mar-2010  yamt sync with head
 1.17.16.1 18-May-2014  rmind sync with head
 1.17.10.1 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.18.8.2 05-Feb-2017  skrll Sync with HEAD
 1.18.8.1 22-Sep-2015  skrll Sync with HEAD
 1.18.6.3 03-Dec-2017  jdolecek update from HEAD
 1.18.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.18.6.1 31-Mar-2014  tls file DEBUG was added on branch tls-maxphys on 2014-08-20 00:03:17 +0000
 1.20.2.1 07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.23.16.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.23.16.1 10-Jun-2019  christos Sync with HEAD
 1.23.14.1 06-Sep-2018  pgoyette Sync with HEAD

Resolve a couple of conflicts (result of the uimin/uimax changes)
 1.25.6.1 29-Feb-2020  ad Sync with head.
 1.27.6.1 01-Aug-2021  thorpej Sync with HEAD.
 1.14 12-Feb-2023  abs Add optoion GENERIC.local include to the end of ~all GENERIC configs

This excludes atari, sgimips, evbmips, evbppc, evbsh3, and hpcarm
all of which have somewhat specific kernel config file layouts
 1.13 26-Apr-2019  sevan Use veriexec.config to reduce duplication
 1.12 16-Apr-2019  sevan Bogus number police
 1.11 13-Sep-2017  sevan branches: 1.11.4;
Remove support for VERIFIED_EXEC_FP_RMD160, VERIFIED_EXEC_FP_SHA1, and VERIFIED_EXEC_FP_MD5 options.
These algorithms are either broken or on their way to being broken.

Discussed on tech-security
http://mail-index.netbsd.org/tech-security/2017/08/21/msg000936.html

ok riastradh
 1.10 31-Mar-2014  martin branches: 1.10.6;
Bring back the playstation2 port - now that a toolchain for it is
available again.
 1.9 05-Dec-2009  pooka branches: 1.9.10; 1.9.16;
Remove support for NetBSD/playstation2.
 1.8 26-Aug-2006  tsutsui branches: 1.8.60; 1.8.74;
Remove obsolete #options VERIFIED_EXEC, found by grep(1).
 1.7 09-Dec-2005  elad branches: 1.7.4; 1.7.8; 1.7.18;
Add (commented out) Veriexec options and pseudo-device to GENERIC kernels,
and remove the i386 GENERIC_VERIEXEC config.
 1.6 15-Jul-2004  atatat branches: 1.6.12;
Add "options SYSCTL_INCLUDE_DESCR" to a lot of configs, but commented
out in most of them.
 1.5 26-Jun-2004  abs Add (commented out) ALTQ options to all GENERIC-like files
 1.4 08-May-2003  shin branches: 1.4.2; 1.4.4;
fix linkage error.
 1.3 25-Apr-2002  atatat Add the INCLUDE_CONFIG_FILE option to all config files. In config
files that are generic (ie, GENERIC, GENERICSBC, GENERIC32, ALL, or
ALPHA), it is uncommented.
 1.2 14-Dec-2001  gmcgarry branches: 1.2.2;
Add a blurb to the top of all GENERIC files. This serves three purposes:
- to clarify some terminology
- to clarify the intention of the GENERIC file
- to cross-reference some useful man pages
 1.1 16-Oct-2001  uch branches: 1.1.4;
playstation2 port
 1.1.4.3 20-Jun-2002  nathanw Catch up to -current.
 1.1.4.2 08-Jan-2002  nathanw Catch up to -current.
 1.1.4.1 16-Oct-2001  nathanw file GENERIC was added on branch nathanw_sa on 2002-01-08 00:27:01 +0000
 1.2.2.3 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.2.2.2 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.2.2.1 14-Dec-2001  thorpej file GENERIC was added on branch kqueue on 2002-01-10 19:47:25 +0000
 1.4.4.2 15-Jul-2004  he Pull up revision 1.6 (requested by atatat in ticket #663):
Add "options SYSCTL_INCLUDE_DESCR" to a lot of configurations,
but commented out in most of them.
 1.4.4.1 30-Jun-2004  jdc Pull up revision 1.5 (requested by abs in ticket #567).

Add (commented out) ALTQ options to all GENERIC-like files
 1.4.2.4 11-Dec-2005  christos Sync with head.
 1.4.2.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.4.2.2 18-Sep-2004  skrll Sync with HEAD.
 1.4.2.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.18.1 22-Sep-2006  riz Pull up following revision(s) (requested by tsutsui in ticket #170):
sys/arch/sparc64/conf/GENERIC: revision 1.63
sys/arch/sgimips/conf/GENERIC32_IP3x: revision 1.55
sys/arch/sgimips/conf/GENERIC32_IP2x: revision 1.54
sys/arch/next68k/conf/GENERIC: revision 1.105
sys/arch/ews4800mips/conf/GENERIC: revision 1.12
sys/arch/arc/conf/GENERIC: revision 1.142
sys/arch/sun3/conf/GENERIC3X: revision 1.91
sys/arch/amd64/conf/GENERIC: revision 1.105
sys/arch/sun2/conf/GENERIC: revision 1.58
sys/arch/amiga/conf/GENERIC.in: revision 1.55
sys/arch/mac68k/conf/GENERIC: revision 1.175
sys/arch/acorn26/conf/GENERIC: revision 1.46
sys/arch/shark/conf/GENERIC: revision 1.65
sys/arch/cesfic/conf/GENERIC: revision 1.45
sys/arch/sandpoint/conf/GENERIC: revision 1.36
sys/arch/iyonix/conf/GENERIC: revision 1.32
sys/arch/mvme68k/conf/GENERIC: revision 1.69
sys/arch/evbarm/conf/ARMADILLO210: revision 1.3
sys/arch/vax/conf/GENERIC: revision 1.154
sys/arch/mipsco/conf/GENERIC: revision 1.61
sys/arch/evbarm/conf/ARMADILLO9: revision 1.14
sys/arch/cobalt/conf/GENERIC: revision 1.103
sys/arch/ofppc/conf/GENERIC: revision 1.94
sys/arch/hp700/conf/GENERIC: revision 1.69
sys/arch/playstation2/conf/GENERIC: revision 1.8
sys/arch/dreamcast/conf/GENERIC: revision 1.73
sys/arch/news68k/conf/GENERIC: revision 1.81
sys/arch/macppc/conf/GENERIC: revision 1.234
sys/arch/hp300/conf/GENERIC: revision 1.134
sys/arch/mmeye/conf/GENERIC: revision 1.83
sys/arch/ibmnws/conf/GENERIC: revision 1.26
sys/arch/cats/conf/GENERIC: revision 1.109
sys/arch/sparc/conf/GENERIC: revision 1.191
sys/arch/pdp10/conf/GENERIC: revision 1.27
sys/arch/acorn32/conf/GENERIC: revision 1.75
sys/arch/luna68k/conf/GENERIC: revision 1.74
sys/arch/bebox/conf/GENERIC: revision 1.101
sys/arch/pmax/conf/GENERIC: revision 1.148
sys/arch/x68k/conf/GENERIC: revision 1.130
sys/arch/sun3/conf/GENERIC: revision 1.134
sys/arch/prep/conf/GENERIC: revision 1.126
sys/arch/alpha/conf/GENERIC: revision 1.293
sys/arch/newsmips/conf/GENERIC: revision 1.94
sys/arch/netwinder/conf/GENERIC: revision 1.83
sys/arch/hpcsh/conf/GENERIC: revision 1.69
sys/arch/sbmips/conf/GENERIC: revision 1.55
sys/arch/pc532/conf/GENERIC: revision 1.65
sys/arch/hpcmips/conf/GENERIC: revision 1.192
Remove obsolete #options VERIFIED_EXEC, found by grep(1).
 1.7.8.1 03-Sep-2006  yamt sync with head.
 1.7.4.1 09-Sep-2006  rpaulo sync with head
 1.8.74.1 24-Oct-2010  jym Sync with HEAD
 1.8.60.1 11-Mar-2010  yamt sync with head
 1.9.16.1 18-May-2014  rmind sync with head
 1.9.10.1 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.6.3 03-Dec-2017  jdolecek update from HEAD
 1.10.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.10.6.1 31-Mar-2014  tls file GENERIC was added on branch tls-maxphys on 2014-08-20 00:03:17 +0000
 1.11.4.1 10-Jun-2019  christos Sync with HEAD
 1.10 28-Mar-2016  martin Simplify now that we have an internal toolchain
 1.9 06-Apr-2015  martin Force gcc to pass -msoft-float to the assembler (to make newer binutils
happy)
 1.8 02-Jul-2014  martin branches: 1.8.4; 1.8.6;
Add -msoft-float to AFLAGS as well
 1.7 02-Jul-2014  martin The correct toolchain tuple is mipsel--netbsd (not netbsdelf)
 1.6 05-Apr-2014  martin branches: 1.6.2;
Try with EXTERNAL_TOOLCHAIN instead of MISSING_TOOLCHAIN.
Still fails the same.
 1.5 31-Mar-2014  martin Adapt to current (and new pkgsrc toolchain)
 1.4 31-Mar-2014  martin Bring back the playstation2 port - now that a toolchain for it is
available again.
 1.3 05-Dec-2009  pooka branches: 1.3.10; 1.3.16;
Remove support for NetBSD/playstation2.
 1.2 02-Jan-2002  uch branches: 1.2.2; 1.2.24; 1.2.122; 1.2.136;
s/TOOLDIR/EETOOLDIR/
 1.1 16-Oct-2001  uch branches: 1.1.4;
playstation2 port
 1.1.4.3 28-Feb-2002  nathanw Catch up to -current.
 1.1.4.2 11-Jan-2002  nathanw More catchup.
 1.1.4.1 16-Oct-2001  nathanw file Makefile.playstation2.inc was added on branch nathanw_sa on 2002-01-11 23:38:40 +0000
 1.2.136.1 24-Oct-2010  jym Sync with HEAD
 1.2.122.1 11-Mar-2010  yamt sync with head
 1.2.24.1 06-Feb-2005  jmc Pull up patch (requested by martti in ticket #1086)
Move ipf to sys/dist/ipf and sync w. trunk
 1.2.2.2 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.2.2.1 02-Jan-2002  thorpej file Makefile.playstation2.inc was added on branch kqueue on 2002-01-10 19:47:26 +0000
 1.3.16.1 18-May-2014  rmind sync with head
 1.3.10.1 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.6.2.1 10-Aug-2014  tls Rebase.
 1.8.6.2 22-Apr-2016  skrll Sync with HEAD
 1.8.6.1 06-Apr-2015  skrll Sync with HEAD
 1.8.4.3 03-Dec-2017  jdolecek update from HEAD
 1.8.4.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.8.4.1 02-Jul-2014  tls file Makefile.playstation2.inc was added on branch tls-maxphys on 2014-08-20 00:03:17 +0000
 1.13 31-Mar-2014  martin branches: 1.13.6;
Bring back the playstation2 port - now that a toolchain for it is
available again.
 1.12 05-Dec-2009  pooka branches: 1.12.10; 1.12.16;
Remove support for NetBSD/playstation2.
 1.11 06-Feb-2009  jym branches: 1.11.2;
Changes to MEMORY_RBFLAGS option:
- renamed to MEMORY_DISK_RBFLAGS to better fit the rest of the
MEMORY_DISK options(4)
- change default value to RB_AUTOBOOT instead of RB_SINGLE, and adapt
the config(5) files accordingly
- document this option inside options(4)

See also http://mail-index.netbsd.org/tech-kern/2008/12/25/msg003924.html

Reviewed by abs@ in private mail.
 1.10 11-Dec-2005  christos branches: 1.10.78; 1.10.86;
merge ktrace-lwp.
 1.9 15-Jul-2004  atatat Add "options SYSCTL_INCLUDE_DESCR" to a lot of configs, but commented
out in most of them.
 1.8 07-Jul-2004  he If a playstation2 kernel config does "options KLOADER_KERNEL_PATH",
it now also needs to do "options KLOADER", ref. the new playstation2
machdep.c, so fix these kernel configs accordingly.
 1.7 08-May-2003  shin branches: 1.7.2; 1.7.4;
fix linkage error.
 1.6 25-Apr-2002  atatat Add the INCLUDE_CONFIG_FILE option to all config files. In config
files that are generic (ie, GENERIC, GENERICSBC, GENERIC32, ALL, or
ALPHA), it is uncommented.
 1.5 02-Apr-2002  lukem Rename MEMORY_DISK_SIZE (formerly MINIROOTSIZE) to MEMORY_DISK_ROOT_SIZE,
which was suggested by Izumi Tsutsui <tsutsui@ceres.dti.ne.jp> as
being more consistent with what it's controlling...
 1.4 10-Mar-2002  lukem * rename MINIROOTSIZE to MEMORY_DISK_SIZE, so that all md(4) options
are now consistently named
* fold opt_mdsize.h into opt_md.h
 1.3 23-Nov-2001  uch branches: 1.3.2;
integrate BUILTIN_KERNEL_LOADER and KERNE_PATH into KLOADER_KERNEL_PATH.
 1.2 20-Nov-2001  lukem cleanup:
options SPACE TAB
makeoptions TAB
psuedo-device TAB
remove trailing whitespace
replace multiple spaces -> tabs
options "FOO" -> options FOO
options "FOO=bar" -> options FOO=bar
options "FOO=\"bar\"" -> options FOO="\"bar\""
 1.1 16-Oct-2001  uch branches: 1.1.4;
playstation2 port
 1.1.4.5 20-Jun-2002  nathanw Catch up to -current.
 1.1.4.4 17-Apr-2002  nathanw Catch up to -current.
 1.1.4.3 01-Apr-2002  nathanw Catch up to -current.
(CVS: It's not just a program. It's an adventure!)
 1.1.4.2 08-Jan-2002  nathanw Catch up to -current.
 1.1.4.1 16-Oct-2001  nathanw file RAMDISK was added on branch nathanw_sa on 2002-01-08 00:27:01 +0000
 1.3.2.4 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.3.2.3 16-Mar-2002  jdolecek Catch up with -current.
 1.3.2.2 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.3.2.1 23-Nov-2001  thorpej file RAMDISK was added on branch kqueue on 2002-01-10 19:47:26 +0000
 1.7.4.1 15-Jul-2004  he Pull up revision 1.9 (requested by atatat in ticket #663):
Add "options SYSCTL_INCLUDE_DESCR" to a lot of configurations,
but commented out in most of them.
 1.7.2.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.7.2.2 18-Sep-2004  skrll Sync with HEAD.
 1.7.2.1 03-Aug-2004  skrll Sync with HEAD
 1.10.86.1 03-Mar-2009  skrll Sync with HEAD.
 1.10.78.2 11-Mar-2010  yamt sync with head
 1.10.78.1 04-May-2009  yamt sync with head.
 1.11.2.1 24-Oct-2010  jym Sync with HEAD
 1.12.16.1 18-May-2014  rmind sync with head
 1.12.10.1 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.13.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.13.6.1 31-Mar-2014  tls file RAMDISK was added on branch tls-maxphys on 2014-08-20 00:03:17 +0000
 1.8 04-Jul-2014  martin branches: 1.8.4;
Add missing OBJCOPY
 1.7 02-Jul-2014  martin The correct toolchain tuple is mipsel--netbsd (not netbsdelf)
 1.6 05-Apr-2014  martin branches: 1.6.2;
Try with EXTERNAL_TOOLCHAIN instead of MISSING_TOOLCHAIN.
Still fails the same.
 1.5 31-Mar-2014  martin Adapt to current (and new pkgsrc toolchain)
 1.4 31-Mar-2014  martin Bring back the playstation2 port - now that a toolchain for it is
available again.
 1.3 05-Dec-2009  pooka branches: 1.3.10; 1.3.16;
Remove support for NetBSD/playstation2.
 1.2 17-Oct-2001  shin branches: 1.2.4; 1.2.6; 1.2.128; 1.2.142;
set & export MACHINE_CPU.
 1.1 16-Oct-2001  uch playstation2 port
 1.2.142.1 24-Oct-2010  jym Sync with HEAD
 1.2.128.1 11-Mar-2010  yamt sync with head
 1.2.6.2 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.2.6.1 17-Oct-2001  thorpej file build.playstation2.sh was added on branch kqueue on 2002-01-10 19:47:26 +0000
 1.2.4.2 17-Oct-2001  shin set & export MACHINE_CPU.
 1.2.4.1 17-Oct-2001  shin file build.playstation2.sh was added on branch nathanw_sa on 2001-10-17 01:33:48 +0000
 1.3.16.1 18-May-2014  rmind sync with head
 1.3.10.1 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.6.2.1 10-Aug-2014  tls Rebase.
 1.8.4.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.8.4.1 04-Jul-2014  tls file build.playstation2.sh was added on branch tls-maxphys on 2014-08-20 00:03:17 +0000
 1.29 07-Sep-2025  andvar Fix various typos, mainly in comments.
 1.28 29-Sep-2022  riastradh swwdog(4): Add to GENERIC kernels.

Plus a handful of others that I'm familiar with. Lots of special-
purpose kernels should probably have this too but I'm not going
through all the arm, mips, and ppc evaluation board kernels to see
which ones are relevant.

Omitted from systems I know to be very small:
- sun2/GENERIC
- dreamcast/GENERIC
Feel free to remove it from others that need to be kept smaller.

Compile-tested a few of these just in case:
- alpha/GENERIC
- amd64/GENERIC
- evbmips/OCTEON
- i386/GENERIC
- riscv/GENERIC

PR kern/29702
 1.27 07-Aug-2022  simonb UFS/LFS dirhash:
- Enable UFS_DIRHASH if the architecture or kernel model specific config
file can use 128MB of RAM or more.
- Remove experimental tag from UFS_DIRHASH; it's been with RUMP kernel
and by a number of NetBSD developers for years.
- Add LFS_DIRHASH if LFS was enabled.
- Be somewhat consistent with FS options order.
 1.26 01-Aug-2018  maxv Unreference IPF/PF from all the config files, and enable NPF instead when
wanted. This also fixes some inconsistencies I saw in several files (eg
IPF options while IPF was not compiled, IPF+PF enabled by default, etc).
 1.25 31-Mar-2014  martin branches: 1.25.6; 1.25.30; 1.25.32;
Adapt to current (and new pkgsrc toolchain)
 1.24 31-Mar-2014  martin Bring back the playstation2 port - now that a toolchain for it is
available again.
 1.23 05-Dec-2009  pooka branches: 1.23.10; 1.23.16;
Remove support for NetBSD/playstation2.
 1.22 24-Nov-2008  ad branches: 1.22.4;
Remove softdep, pass 1. We are focused on improving journalling.

Proposed on tech-kern@.
 1.21 31-Jul-2008  simonb branches: 1.21.2;
Add "options WAPBL" to standard GENERIC/INSTALL type configs.
 1.20 14-Mar-2007  drochner branches: 1.20.36; 1.20.40; 1.20.42; 1.20.46;
It doesn't make sense to specify "configuration" and "interface"
locators for uhub because a hub can't have sub-devices.
This might be sanity-checked eventually.
Same for ubt now after the change to device attachment.
 1.19 28-Mar-2006  pavel branches: 1.19.14; 1.19.18; 1.19.20;
Add stf to all kernel configs which have INET6 and gif, except the INSTALL
ones and those for specific machines of developers. PR 32304.

OK'ed by rpaulo.

N.B. stf is a cloning device, so it still must be enabled by
"ifconfig stf0 create".
 1.18 05-Feb-2006  cube branches: 1.18.2; 1.18.4; 1.18.6;
Remove 'count' argument for pseudo-devices that ignore it
(vnd, bpfilter, ppp, gif, gre, tun, sl, strip, faith, stf).
 1.17 04-Feb-2006  rpaulo bpfilter doesn't accept count anymore.
 1.16 07-Dec-2005  tsutsui branches: 1.16.2; 1.16.4; 1.16.6;
Remove obsolete options VNODE_OP_NOINLINE.
 1.15 07-Dec-2005  tsutsui Adjust comments for options FFS_NO_SNAPSHOT.

XXX: This option should be mentioned in options(4).
 1.14 19-Aug-2005  christos Enable ptyfs by default on the non-install and non small/tiny/ramdisk kernels
 1.13 31-Jul-2005  yamt revert "defflag VMSWAP" changes for now.
there seems to be far more people who don't want to edit
their kernel config files than i thought.
 1.12 30-Jul-2005  yamt add "options VMSWAP" to non INSTALL kernels.
 1.11 18-Feb-2005  dsl branches: 1.11.6;
Add FFS_NO_SNAPSHOT - commented out in XEN
 1.10 18-Oct-2003  lukem branches: 1.10.8; 1.10.10;
Use one 'atabus* at ata?' instead of multiple 'atabus* at FOOide? channel ?'
Use 'atapibus* at atapi?' instead of 'atapibus* at atabus?'
 1.9 08-Oct-2003  bouyer Add adabus.
 1.8 26-Apr-2003  ragge branches: 1.8.2;
Add pseudo-device ksyms.
 1.7 17-Jun-2002  lukem Enable "pseudo-device clockctl" in all kernels, except
installation related kernels (INSTALL* and RAMDISK*).
This enables rc.conf(5) $ntpd_chroot to be used "out of the box"
 1.6 28-Dec-2001  augustss branches: 1.6.2; 1.6.10; 1.6.12;
Update for new uhidev device attachment.
 1.5 20-Nov-2001  lukem cleanup:
options SPACE TAB
makeoptions TAB
psuedo-device TAB
remove trailing whitespace
replace multiple spaces -> tabs
options "FOO" -> options FOO
options "FOO=bar" -> options FOO=bar
options "FOO=\"bar\"" -> options FOO="\"bar\""
 1.4 13-Nov-2001  augustss branches: 1.4.2;
The wsmux pseudo device does not need a count anymore.
 1.3 19-Oct-2001  uch increase maxusers (8->16)
 1.2 17-Oct-2001  shin add wsmux to build kernel.
 1.1 16-Oct-2001  uch playstation2 port
 1.4.2.3 20-Jun-2002  nathanw Catch up to -current.
 1.4.2.2 08-Jan-2002  nathanw Catch up to -current.
 1.4.2.1 13-Nov-2001  nathanw file config.playstation2 was added on branch nathanw_sa on 2002-01-08 00:27:02 +0000
 1.6.12.1 01-Aug-2002  lukem Pull up revision 1.7 (requested by lukem in ticket #312):
Enable "pseudo-device clockctl" in all kernels, except
installation related kernels (INSTALL* and RAMDISK*).
This enables rc.conf(5) $ntpd_chroot to be used "out of the box"
 1.6.10.1 15-Jul-2002  gehenna catch up with -current.
 1.6.2.3 06-Sep-2002  jdolecek sync kqueue branch with HEAD
 1.6.2.2 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.6.2.1 28-Dec-2001  thorpej file config.playstation2 was added on branch kqueue on 2002-01-10 19:47:26 +0000
 1.8.2.6 11-Dec-2005  christos Sync with head.
 1.8.2.5 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.8.2.4 04-Mar-2005  skrll Sync with HEAD.

Hi Perry!
 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.10.10.1 19-Mar-2005  yamt sync with head. xen and whitespace. xen part is not finished.
 1.10.8.1 29-Apr-2005  kent sync with -current
 1.11.6.2 03-Sep-2007  yamt sync with head.
 1.11.6.1 21-Jun-2006  yamt 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.1 18-Feb-2006  yamt sync with head.
 1.18.6.1 31-Mar-2006  tron Merge 2006-03-31 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.1 01-Apr-2006  yamt sync with head.
 1.19.20.1 11-Jul-2007  mjf Sync with head.
 1.19.18.1 10-Apr-2007  ad Sync with head.
 1.19.14.1 24-Mar-2007  yamt sync with head.
 1.20.46.2 13-Dec-2008  haad Update haad-dm branch to haad-dm-base2.
 1.20.46.1 19-Oct-2008  haad Sync with HEAD.
 1.20.42.1 18-Sep-2008  wrstuden Sync with wrstuden-revivesa-base-2.
 1.20.40.2 11-Mar-2010  yamt sync with head
 1.20.40.1 04-May-2009  yamt sync with head.
 1.20.36.2 17-Jan-2009  mjf Sync with HEAD.
 1.20.36.1 28-Sep-2008  mjf Sync with HEAD.
 1.21.2.1 19-Jan-2009  skrll Sync with HEAD.
 1.22.4.1 24-Oct-2010  jym Sync with HEAD
 1.23.16.1 18-May-2014  rmind sync with head
 1.23.10.1 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.25.32.1 10-Jun-2019  christos Sync with HEAD
 1.25.30.1 06-Sep-2018  pgoyette Sync with HEAD

Resolve a couple of conflicts (result of the uimin/uimax changes)
 1.25.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.25.6.1 31-Mar-2014  tls file config.playstation2 was added on branch tls-maxphys on 2014-08-20 00:03:17 +0000
 1.21 31-Mar-2014  martin branches: 1.21.6;
Adapt to current (and new pkgsrc toolchain)
 1.20 31-Mar-2014  martin Bring back the playstation2 port - now that a toolchain for it is
available again.
 1.19 05-Dec-2009  pooka branches: 1.19.10; 1.19.16;
Remove support for NetBSD/playstation2.
 1.18 21-Aug-2009  thorpej Use bus_dmamem_common.
 1.17 20-Feb-2008  drochner branches: 1.17.10; 1.17.24;
Since files.wscons et al. are included by ~all ports anyway, include
them in the mi "files" file, and remove include statements from md files.
These shouldn't pull in additional kernel code when not in use, so it
shouldn't do any harm except a risk of namespace collisions which
should be easy to fix.
 1.16 14-Sep-2006  gdamore branches: 1.16.30;
Convert playstation2 to todr and tc. This is not compile tested, as the
current tree isn't buildable even by the cross tools (which I lack), due
to C99. Approved in principle by martin@, simon@
 1.15 11-Dec-2005  christos branches: 1.15.20;
merge ktrace-lwp.
 1.14 06-Jul-2004  uch branches: 1.14.12;
MI part of kloader moved to dev/kloader.c from arch/hpc/hpc/
dreamcast and playstation2 port are changed to use this.
 1.13 25-Mar-2004  wiz Backout previous -- this is not enough, config needs to be taught
how to reach partitions above h. Noted by Simon Burge, related to
PR 24905.
 1.12 25-Mar-2004  wiz Define maxpartitions to the same value as MAXPARTITIONS in disklabel.h.
Addresses PR 24905 by Simon Burge.
 1.11 27-Jul-2003  thorpej Since everyone uses clock_subr.c (or should, if they don't currently),
list it in conf/files instead of in every port's files.*.
 1.10 26-Oct-2002  jdolecek branches: 1.10.6;
now that mem_no is emitted by config(8), there is no reason to keep
copy of more or less identical iskmemdev() for every arch; move the function
to spec_vnop.c, and g/c machine-dependant copies
 1.9 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.8 16-Apr-2002  thorpej branches: 1.8.2;
* Move the mii_bitbang attribute into dev/mii/files.mii
* Pull in dev/mii/files.mii from conf/files, rather than playing
the magic "files include order" dance in N machine-dependent
configuration definitions.
 1.7 13-Mar-2002  simonb All the mips ports had an identical procfs_machdep.c, so use a common
file under arch/mips/mips.
 1.6 05-Mar-2002  simonb mips/mips/fp.S is in mips/conf/files.mips now.
 1.5 28-Nov-2001  lukem branches: 1.5.2;
- convert usage of "defopt" to "defflag" where the relevant option does
not support a value (e.g., it's to be used as "options FOO" instead of
"options FOO=xxx"). options that take a value were converted to
defparam recently.
- minor whitespace & formatting cleanups
 1.4 23-Nov-2001  uch integrate BUILTIN_KERNEL_LOADER and KERNE_PATH into KLOADER_KERNEL_PATH.
 1.3 20-Nov-2001  lukem - replace "defopt" with "defparam" for options which must take a value,
as config(8) will warn for value-less defparam options
- minor whitespace/formatting cleanup
- consolidate opt_tcp_recvspace.h and opt_tcp_sendspace.h into opt_tcp_space.h
 1.2 19-Oct-2001  shin branches: 1.2.4;
cosmetic change.
 1.1 16-Oct-2001  uch playstation2 port
 1.2.4.6 11-Nov-2002  nathanw Catch up to -current
 1.2.4.5 17-Sep-2002  nathanw Catch up to -current.
 1.2.4.4 20-Jun-2002  nathanw Catch up to -current.
 1.2.4.3 01-Apr-2002  nathanw Catch up to -current.
(CVS: It's not just a program. It's an adventure!)
 1.2.4.2 08-Jan-2002  nathanw Catch up to -current.
 1.2.4.1 19-Oct-2001  nathanw file files.playstation2 was added on branch nathanw_sa on 2002-01-08 00:27:02 +0000
 1.5.2.5 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.5.2.4 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.5.2.3 16-Mar-2002  jdolecek Catch up with -current.
 1.5.2.2 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.5.2.1 28-Nov-2001  thorpej file files.playstation2 was added on branch kqueue on 2002-01-10 19:47:26 +0000
 1.8.2.2 17-May-2002  gehenna Remove old block majors list.
 1.8.2.1 16-May-2002  gehenna Include the list of block/character major numbers.
 1.10.6.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.10.6.2 18-Sep-2004  skrll Sync with HEAD.
 1.10.6.1 03-Aug-2004  skrll Sync with HEAD
 1.14.12.2 27-Feb-2008  yamt sync with head.
 1.14.12.1 30-Dec-2006  yamt sync with head.
 1.15.20.1 18-Nov-2006  ad Sync with head.
 1.16.30.1 23-Mar-2008  matt sync with HEAD
 1.17.24.1 24-Oct-2010  jym Sync with HEAD
 1.17.10.2 11-Mar-2010  yamt sync with head
 1.17.10.1 16-Sep-2009  yamt sync with head
 1.19.16.1 18-May-2014  rmind sync with head
 1.19.10.1 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.21.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.21.6.1 31-Mar-2014  tls file files.playstation2 was added on branch tls-maxphys on 2014-08-20 00:03:17 +0000
 1.26 29-Jun-2021  nia Remove uscanner(4) driver

This exists for compatibility with a Linux interface which was apparently
deprecated in Linux 2.6. There are various mailing list threads going
back to 2004 where the usefulness of this driver is discussed, but
the conclusion is that scanner software has all moved to using ugen(4)
instead, and enabling this driver will not help you scan things.
 1.25 04-Apr-2020  jdolecek branches: 1.25.8;
mark nsmb major obsolete
 1.24 29-Jan-2020  maya remove urio(4), a driver for the Rio500 MP3 player.

At this point it is highly unlikely this 1999 device still has users,
but it still comes up in the context of maxv's USB-fuzzing (and any device
could pretend to be a urio(4)), so it's best to get rid of it.

Renamed all major entries to obsolete, as was done in previous removals.

This still requires an update to sanitizers, but they're located in
"external", perhaps it should be first committed upstream?

Proposed on tech-kern a month ago.
 1.23 28-Jan-2019  dholland branches: 1.23.6;
Systematize handling of removed drivers.

- Every driver that was removed and whose number hasn't already been
reused is now listed with a commented-out "obsolete" line.
- The format of these has been systematized. Future format changes can
probably be safely done with a script.
- This does not include a few cases of assignments that only lasted a
couple days, or stuff from before major reorgs. Some of these may
be included nonetheless, because there was a lot of ground to cover
and therefore not a lot of time to dig into history in detail.

Note that the obsolete listings do not mean the major numbers can
never be reused; that's up to portmasters and/or core. It does mean
that they won't be reused by accident, however, which in some cases
(depending on the driver, how widely used it was, its family of device
nodes, their default permissions, etc.) can be quite dangerous.

Note that some of the things now explicitly listed as obsolete are
really ancient history. My scan went back as far as when the majors
files were added. (But not before that.)
 1.22 31-Mar-2014  martin branches: 1.22.6; 1.22.32;
Bring back the playstation2 port - now that a toolchain for it is
available again.
 1.21 05-Dec-2009  pooka branches: 1.21.10; 1.21.16;
Remove support for NetBSD/playstation2.
 1.20 12-Nov-2008  ad branches: 1.20.4;
Remove LKMs and switch to the module framework, pass 1.

Proposed on tech-kern@.
 1.19 31-Dec-2007  ad branches: 1.19.6; 1.19.10; 1.19.16; 1.19.18;
Remove systrace. Ok core@.
 1.18 24-Nov-2006  wiz branches: 1.18.28; 1.18.34; 1.18.42;
s/independant/independent/, from Zafer.
 1.17 11-Dec-2005  christos branches: 1.17.20; 1.17.22;
merge ktrace-lwp.
 1.16 17-Sep-2005  yamt make VMSWAP optional again.
 1.15 31-Jul-2005  yamt revert "defflag VMSWAP" changes for now.
there seems to be far more people who don't want to edit
their kernel config files than i thought.
 1.14 30-Jul-2005  yamt defflag VMSWAP.
 1.13 10-May-2005  jdolecek branches: 1.13.2;
assign major for nsmb(4)
 1.12 10-Dec-2003  jmc Change reference at bottom from sys/dev/majors to sys/conf/majors to match
reality
 1.11 22-Oct-2003  jdolecek add wsfont major to archs which have the other wscons devices
 1.10 15-Oct-2003  jdolecek add majors for ipfilter, lkm, vnd, tun, raid, cgd, ccd, and md
where missing
 1.9 10-Oct-2003  jdolecek reassing majors for crypto and pf to use the newly defined MI major
range
 1.8 10-Oct-2003  jdolecek update the comment - the space for machine-dependant majors
is reduced to 0-143
follows discussion on tech-kern
 1.7 05-Oct-2003  jdolecek Add some framework for MI assignment of device majors - add sys/dev/majors
which is automatically included during kernel config, and add comments
to individual machine-dependant majors.* files to assign new MI majors
in MI file.

Range 0-191 is reserved for machine-specific assignments, range
192+ are MI assignments.

Follows recent discussion on tech-kern@
 1.6 22-Aug-2003  itojun create /dev/crypto
 1.5 27-Jul-2003  itojun reserve cdev major # for PF. ok'ed by technical-exec
 1.4 25-Apr-2003  ragge branches: 1.4.2;
Add ksyms device major.
 1.3 04-Oct-2002  elric branches: 1.3.2;
assign majors for raw and cooked cgd's.
 1.2 06-Sep-2002  gehenna branches: 1.2.2;
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 16-May-2002  gehenna branches: 1.1.2;
file majors.playstation2 was initially added on branch gehenna-devsw.
 1.1.2.3 15-Jul-2002  gehenna catch up with -current.
 1.1.2.2 30-May-2002  gehenna Add $NetBSD$
 1.1.2.1 16-May-2002  gehenna Add the list of block/character majors.
 1.2.2.3 18-Oct-2002  nathanw Catch up to -current.
 1.2.2.2 17-Sep-2002  nathanw Catch up to -current.
 1.2.2.1 06-Sep-2002  nathanw file majors.playstation2 was added on branch nathanw_sa on 2002-09-17 21:16:52 +0000
 1.3.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.3.2.1 04-Oct-2002  jdolecek file majors.playstation2 was added on branch kqueue on 2002-10-10 18:34:59 +0000
 1.4.2.4 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.4.2.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.4.2.2 18-Sep-2004  skrll Sync with HEAD.
 1.4.2.1 03-Aug-2004  skrll Sync with HEAD
 1.13.2.3 21-Jan-2008  yamt sync with head
 1.13.2.2 30-Dec-2006  yamt sync with head.
 1.13.2.1 21-Jun-2006  yamt sync with head.
 1.17.22.1 10-Dec-2006  yamt sync with head.
 1.17.20.1 12-Jan-2007  ad Sync with head.
 1.18.42.1 02-Jan-2008  bouyer Sync with HEAD
 1.18.34.1 18-Feb-2008  mjf Sync with HEAD.
 1.18.28.1 09-Jan-2008  matt sync with HEAD
 1.19.18.1 19-Jan-2009  skrll Sync with HEAD.
 1.19.16.1 13-Dec-2008  haad Update haad-dm branch to haad-dm-base2.
 1.19.10.2 11-Mar-2010  yamt sync with head
 1.19.10.1 04-May-2009  yamt sync with head.
 1.19.6.1 17-Jan-2009  mjf Sync with HEAD.
 1.20.4.1 24-Oct-2010  jym Sync with HEAD
 1.21.16.1 18-May-2014  rmind sync with head
 1.21.10.1 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.22.32.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.22.32.1 10-Jun-2019  christos Sync with HEAD
 1.22.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.22.6.1 31-Mar-2014  tls file majors.playstation2 was added on branch tls-maxphys on 2014-08-20 00:03:17 +0000
 1.23.6.1 29-Feb-2020  ad Sync with head.
 1.25.8.1 01-Aug-2021  thorpej Sync with HEAD.
 1.13 07-Nov-2023  andvar Remove ksyms from AGATE/DEBUG configs, it is defined in included default config.
Remove unneeded "channel ?" for atapibus* in DEBUG config.
Add "midi* at midibus?" needed for umidi to compile in DEBUG config.
Change SOFTFLOAT to FPEMUL in std.playstation2 (property was renamed).

playstation2 code was likely never fully restored/fixed and doesn't build, but
these changes would be needed in case someone will.
 1.12 04-Jun-2021  martin Sprinkle a few VMSWAP_DEFAULT_PLAINTEXT for architectures where we do not
have any spare cpu cycles to waste (encrypted swap still could be
enabled by the admin in /etc/sysctl.conf).
 1.11 31-Mar-2014  martin branches: 1.11.6; 1.11.48; 1.11.52;
Adapt to current (and new pkgsrc toolchain)
 1.10 31-Mar-2014  martin Bring back the playstation2 port - now that a toolchain for it is
available again.
 1.9 05-Dec-2009  pooka branches: 1.9.10; 1.9.16;
Remove support for NetBSD/playstation2.
 1.8 11-Dec-2005  christos branches: 1.8.78; 1.8.92;
merge ktrace-lwp.
 1.7 17-Sep-2005  yamt include "conf/std".
 1.6 30-Aug-2003  chs branches: 1.6.16;
add "makeoptions MACHINE_ARCH=..." in std.* for mips ports
where it is constant (to ease cross-building).
 1.5 09-Dec-2002  simonb branches: 1.5.6;
Remove the explicit `makeoptions MACHINE_ARCH="mipse{b,l}"' for kernel
builds and use the endianness of the toolchain being used to determine
the endianness of the kernel.
 1.4 26-Mar-2002  uch remove MIPS3_L2CACHE_ABSENT option, since R5900 D-cache is 8KB
2-way. no need to worry about virtual aliasing.
 1.3 20-Nov-2001  lukem branches: 1.3.2;
cleanup:
options SPACE TAB
makeoptions TAB
psuedo-device TAB
remove trailing whitespace
replace multiple spaces -> tabs
options "FOO" -> options FOO
options "FOO=bar" -> options FOO=bar
options "FOO=\"bar\"" -> options FOO="\"bar\""
 1.2 23-Oct-2001  thorpej branches: 1.2.4;
For MIPS kernel Makefiles, don't set ENDIAN in std.${MACHINE}. Instead,
explicitly set MACHINE_ARCH to the appropriate thing. Makefile.mips will
then set all of the internal variables it needs to accordingly.
 1.1 16-Oct-2001  uch playstation2 port
 1.2.4.4 11-Dec-2002  thorpej Sync with HEAD.
 1.2.4.3 01-Apr-2002  nathanw Catch up to -current.
(CVS: It's not just a program. It's an adventure!)
 1.2.4.2 08-Jan-2002  nathanw Catch up to -current.
 1.2.4.1 23-Oct-2001  nathanw file std.playstation2 was added on branch nathanw_sa on 2002-01-08 00:27:02 +0000
 1.3.2.3 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.3.2.2 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.3.2.1 20-Nov-2001  thorpej file std.playstation2 was added on branch kqueue on 2002-01-10 19:47:27 +0000
 1.5.6.4 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.5.6.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.5.6.2 18-Sep-2004  skrll Sync with HEAD.
 1.5.6.1 03-Aug-2004  skrll Sync with HEAD
 1.6.16.1 21-Jun-2006  yamt sync with head.
 1.8.92.1 24-Oct-2010  jym Sync with HEAD
 1.8.78.1 11-Mar-2010  yamt sync with head
 1.9.16.1 18-May-2014  rmind sync with head
 1.9.10.1 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.11.52.1 06-Jun-2021  cjep sync with head
 1.11.48.1 17-Jun-2021  thorpej Sync w/ HEAD.
 1.11.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.11.6.1 31-Mar-2014  tls file std.playstation2 was added on branch tls-maxphys on 2014-08-20 00:03:17 +0000
 1.16 24-May-2024  andvar s/boradcast/broadcast/ in comment.
 1.15 11-Feb-2022  riastradh playstation2: Somewhat belated device_t/softc split.
 1.14 28-May-2019  msaitoh Use ETHER_LOCK()/ETHER_UNLOCK() for all ethernet drivers to protect ec_multi*.
 1.13 22-Jan-2019  msaitoh Change MII PHY read/write API from:

int (*mii_readreg_t)(device_t, int, int);
void (*mii_writereg_t)(device_t, int, int, int);
to:

int (*mii_readreg_t)(device_t, int, int, uint16_t *);
int (*mii_writereg_t)(device_t, int, int, uint16_t);

Now we can test if a read/write operation failed or not by the return value.

In 802.3 spec says that the PHY shall not respond to read/write transaction
to the unimplemented register(22.2.4.3). Detecting timeout can be used to
check whether a register is implemented or not (if the register conforms to
the spec). ukphy(4) can be used this for MII_MMDACR and MII_MMDAADR.

Note that I noticed that the following code do infinite loop in the
read/wirte function. If it accesses unimplemented PHY register, it will hang.
It should be fixed:

arm/at91/at91emac.c
arm/ep93xx/epe.c
arm/omap/omapl1x_emac.c
mips/ralink/ralink_eth.c
arch/powerpc/booke/dev/pq3etsec.c(read)
dev/cadence/if_cemac.c <- hkenken
dev/ic/lan9118.c


Tested with the following device:

axe+ukphy
axe+rgephy
axen+rgephy (tested by Andrius V)
wm+atphy
wm+ukphy
wm+igphy
wm+ihphy
wm+makphy
sk+makphy
sk+brgphy
sk+gentbi
msk+makphy
sip+icsphy
sip+ukphy
re+rgephy
bge+brgphy
bnx+brgphy
gsip+gphyter
rtk+rlphy
fxp+inphy (tested by Andrius V)
tlp+acphy
ex+exphy
epic+qsphy
vge+ciphy (tested by Andrius V)
vr+ukphy (tested by Andrius V)
vte+ukphy (tested by Andrius V)

Not tested (MAC):
arm:at91emac
arm:cemac
arm:epe
arm:geminigmac
arm:enet
arm:cpsw
arm:emac(omac)
arm:emac(sunxi)
arm:npe
evbppc:temac
macppc:bm
macppc:gm
mips:aumac
mips:ae
mips:cnmac
mips:reth
mips:sbmac
playstation2:smap
powerpc:tsec
powerpc:emac(ibm4xx)
sgimips:mec
sparc:be
sf
ne(ax88190, dl10019)
awge
ep
gem
hme
smsh
mtd
sm
age
alc
ale
bce
cas
et
jme
lii
nfe
pcn
ste
stge
tl
xi
aue
mue
smsc
udav
url

Not tested (PHY):
amhphy
bmtphy
dmphy
etphy
glxtphy
ikphy
iophy
lxtphy
nsphyter
pnaphy
rdcphy
sqphy
tlphy
tqphy
urlphy
 1.12 11-Jan-2019  msaitoh Add missing semicolon.
 1.11 03-Apr-2016  martin branches: 1.11.16; 1.11.18;
Adopt to device_t/struct ifnet* changes
 1.10 07-Jul-2014  martin branches: 1.10.4; 1.10.6;
Add missing includes, use new style function declarations.
 1.9 31-Mar-2014  martin branches: 1.9.2;
Bring back the playstation2 port - now that a toolchain for it is
available again.
 1.8 05-Dec-2009  pooka branches: 1.8.10; 1.8.16;
Remove support for NetBSD/playstation2.
 1.7 28-Apr-2008  martin branches: 1.7.14;
Remove clause 3 and 4 from TNF licenses
 1.6 19-Jan-2008  dyoung branches: 1.6.6; 1.6.8; 1.6.10;
Make many ethernet drivers share the common code for MII media
handling, ether_mediastatus() and ether_mediachange(). Check for
a non-ENXIO error return from mii_mediachg(). (ENXIO indicates
that a PHY is suspended.)

This patch shrinks the source code size by 979 lines. There was
a 5100-byte savings on the NetBSD/i386 kernel configuration, ALL.

I have made a few miscellaneous changes, too:

gem(4): use LIST_EMPTY(), LIST_FOREACH().
mtd(4): handle media ioctls, for a change!
axe(4): do not track link status in sc->axe_link any longer
nfe(4), aue(4), axe(4), udav(4), url(4): do not reset all PHYs
on a change of media

Except for the change to mtd(4), no functional changes are intended.

XXX This patch affects more architectures than I can feasibly
XXX compile and run. I have compiled macppc, sparc64, i386. I
XXX have run the patches on i386 boxen with bnx(4) and sip(4).
XXX Compiling and running on evbmips (MERAKI, ADM5120) is in
XXX progress.
 1.5 15-Dec-2007  perry __FUNCTION__ -> __func__
 1.4 24-Dec-2005  perry branches: 1.4.50; 1.4.56; 1.4.60; 1.4.64;
__asm__ -> __asm
__const__ -> const
__inline__ -> inline
__volatile__ -> volatile
 1.3 11-Dec-2005  christos merge ktrace-lwp.
 1.2 15-Jul-2003  lukem branches: 1.2.16;
__KERNEL_RCSID()
 1.1 16-Oct-2001  uch branches: 1.1.4; 1.1.6; 1.1.22;
playstation2 port
 1.1.22.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.1.22.2 18-Sep-2004  skrll Sync with HEAD.
 1.1.22.1 03-Aug-2004  skrll Sync with HEAD
 1.1.6.2 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.1.6.1 16-Oct-2001  thorpej file emac3.c was added on branch kqueue on 2002-01-10 19:47:27 +0000
 1.1.4.2 16-Oct-2001  uch playstation2 port
 1.1.4.1 16-Oct-2001  uch file emac3.c was added on branch nathanw_sa on 2001-10-16 15:38:34 +0000
 1.2.16.2 21-Jan-2008  yamt sync with head
 1.2.16.1 21-Jun-2006  yamt sync with head.
 1.4.64.2 20-Jan-2008  bouyer Sync with HEAD
 1.4.64.1 02-Jan-2008  bouyer Sync with HEAD
 1.4.60.1 26-Dec-2007  ad Sync with head.
 1.4.56.1 18-Feb-2008  mjf Sync with HEAD.
 1.4.50.2 23-Mar-2008  matt sync with HEAD
 1.4.50.1 09-Jan-2008  matt sync with HEAD
 1.6.10.2 11-Mar-2010  yamt sync with head
 1.6.10.1 16-May-2008  yamt sync with head.
 1.6.8.1 18-May-2008  yamt sync with head.
 1.6.6.1 02-Jun-2008  mjf Sync with HEAD.
 1.7.14.1 24-Oct-2010  jym Sync with HEAD
 1.8.16.1 18-May-2014  rmind sync with head
 1.8.10.1 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.9.2.1 10-Aug-2014  tls Rebase.
 1.10.6.1 22-Apr-2016  skrll Sync with HEAD
 1.10.4.3 03-Dec-2017  jdolecek update from HEAD
 1.10.4.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.10.4.1 07-Jul-2014  tls file emac3.c was added on branch tls-maxphys on 2014-08-20 00:03:17 +0000
 1.11.18.1 10-Jun-2019  christos Sync with HEAD
 1.11.16.2 26-Jan-2019  pgoyette Sync with HEAD
 1.11.16.1 18-Jan-2019  pgoyette Synch with HEAD
 1.3 31-Mar-2014  martin branches: 1.3.6;
Bring back the playstation2 port - now that a toolchain for it is
available again.
 1.2 05-Dec-2009  pooka branches: 1.2.10; 1.2.16;
Remove support for NetBSD/playstation2.
 1.1 16-Oct-2001  uch branches: 1.1.4; 1.1.6; 1.1.128; 1.1.142;
playstation2 port
 1.1.142.1 24-Oct-2010  jym Sync with HEAD
 1.1.128.1 11-Mar-2010  yamt sync with head
 1.1.6.2 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.1.6.1 16-Oct-2001  thorpej file emac3reg.h was added on branch kqueue on 2002-01-10 19:47:27 +0000
 1.1.4.2 16-Oct-2001  uch playstation2 port
 1.1.4.1 16-Oct-2001  uch file emac3reg.h was added on branch nathanw_sa on 2001-10-16 15:38:34 +0000
 1.2.16.1 18-May-2014  rmind sync with head
 1.2.10.1 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.3.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.3.6.1 31-Mar-2014  tls file emac3reg.h was added on branch tls-maxphys on 2014-08-20 00:03:17 +0000
 1.8 11-Feb-2022  riastradh playstation2: Somewhat belated device_t/softc split.
 1.7 22-Jan-2019  msaitoh Change MII PHY read/write API from:

int (*mii_readreg_t)(device_t, int, int);
void (*mii_writereg_t)(device_t, int, int, int);
to:

int (*mii_readreg_t)(device_t, int, int, uint16_t *);
int (*mii_writereg_t)(device_t, int, int, uint16_t);

Now we can test if a read/write operation failed or not by the return value.

In 802.3 spec says that the PHY shall not respond to read/write transaction
to the unimplemented register(22.2.4.3). Detecting timeout can be used to
check whether a register is implemented or not (if the register conforms to
the spec). ukphy(4) can be used this for MII_MMDACR and MII_MMDAADR.

Note that I noticed that the following code do infinite loop in the
read/wirte function. If it accesses unimplemented PHY register, it will hang.
It should be fixed:

arm/at91/at91emac.c
arm/ep93xx/epe.c
arm/omap/omapl1x_emac.c
mips/ralink/ralink_eth.c
arch/powerpc/booke/dev/pq3etsec.c(read)
dev/cadence/if_cemac.c <- hkenken
dev/ic/lan9118.c


Tested with the following device:

axe+ukphy
axe+rgephy
axen+rgephy (tested by Andrius V)
wm+atphy
wm+ukphy
wm+igphy
wm+ihphy
wm+makphy
sk+makphy
sk+brgphy
sk+gentbi
msk+makphy
sip+icsphy
sip+ukphy
re+rgephy
bge+brgphy
bnx+brgphy
gsip+gphyter
rtk+rlphy
fxp+inphy (tested by Andrius V)
tlp+acphy
ex+exphy
epic+qsphy
vge+ciphy (tested by Andrius V)
vr+ukphy (tested by Andrius V)
vte+ukphy (tested by Andrius V)

Not tested (MAC):
arm:at91emac
arm:cemac
arm:epe
arm:geminigmac
arm:enet
arm:cpsw
arm:emac(omac)
arm:emac(sunxi)
arm:npe
evbppc:temac
macppc:bm
macppc:gm
mips:aumac
mips:ae
mips:cnmac
mips:reth
mips:sbmac
playstation2:smap
powerpc:tsec
powerpc:emac(ibm4xx)
sgimips:mec
sparc:be
sf
ne(ax88190, dl10019)
awge
ep
gem
hme
smsh
mtd
sm
age
alc
ale
bce
cas
et
jme
lii
nfe
pcn
ste
stge
tl
xi
aue
mue
smsc
udav
url

Not tested (PHY):
amhphy
bmtphy
dmphy
etphy
glxtphy
ikphy
iophy
lxtphy
nsphyter
pnaphy
rdcphy
sqphy
tlphy
tqphy
urlphy
 1.6 03-Apr-2016  martin branches: 1.6.16; 1.6.18;
Use device_t/struct ifnet* for phy callbacks
 1.5 31-Mar-2014  martin branches: 1.5.6; 1.5.8;
Bring back the playstation2 port - now that a toolchain for it is
available again.
 1.4 05-Dec-2009  pooka branches: 1.4.10; 1.4.16;
Remove support for NetBSD/playstation2.
 1.3 28-Apr-2008  martin branches: 1.3.14;
Remove clause 3 and 4 from TNF licenses
 1.2 19-Jan-2008  dyoung branches: 1.2.6; 1.2.8; 1.2.10;
Make many ethernet drivers share the common code for MII media
handling, ether_mediastatus() and ether_mediachange(). Check for
a non-ENXIO error return from mii_mediachg(). (ENXIO indicates
that a PHY is suspended.)

This patch shrinks the source code size by 979 lines. There was
a 5100-byte savings on the NetBSD/i386 kernel configuration, ALL.

I have made a few miscellaneous changes, too:

gem(4): use LIST_EMPTY(), LIST_FOREACH().
mtd(4): handle media ioctls, for a change!
axe(4): do not track link status in sc->axe_link any longer
nfe(4), aue(4), axe(4), udav(4), url(4): do not reset all PHYs
on a change of media

Except for the change to mtd(4), no functional changes are intended.

XXX This patch affects more architectures than I can feasibly
XXX compile and run. I have compiled macppc, sparc64, i386. I
XXX have run the patches on i386 boxen with bnx(4) and sip(4).
XXX Compiling and running on evbmips (MERAKI, ADM5120) is in
XXX progress.
 1.1 16-Oct-2001  uch branches: 1.1.4; 1.1.6; 1.1.38; 1.1.100; 1.1.106; 1.1.114;
playstation2 port
 1.1.114.1 20-Jan-2008  bouyer Sync with HEAD
 1.1.106.1 18-Feb-2008  mjf Sync with HEAD.
 1.1.100.1 23-Mar-2008  matt sync with HEAD
 1.1.38.1 21-Jan-2008  yamt sync with head
 1.1.6.2 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.1.6.1 16-Oct-2001  thorpej file emac3var.h was added on branch kqueue on 2002-01-10 19:47:27 +0000
 1.1.4.2 16-Oct-2001  uch playstation2 port
 1.1.4.1 16-Oct-2001  uch file emac3var.h was added on branch nathanw_sa on 2001-10-16 15:38:34 +0000
 1.2.10.2 11-Mar-2010  yamt sync with head
 1.2.10.1 16-May-2008  yamt sync with head.
 1.2.8.1 18-May-2008  yamt sync with head.
 1.2.6.1 02-Jun-2008  mjf Sync with HEAD.
 1.3.14.1 24-Oct-2010  jym Sync with HEAD
 1.4.16.1 18-May-2014  rmind sync with head
 1.4.10.1 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.5.8.1 22-Apr-2016  skrll Sync with HEAD
 1.5.6.3 03-Dec-2017  jdolecek update from HEAD
 1.5.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.5.6.1 31-Mar-2014  tls file emac3var.h was added on branch tls-maxphys on 2014-08-20 00:03:17 +0000
 1.6.18.1 10-Jun-2019  christos Sync with HEAD
 1.6.16.1 26-Jan-2019  pgoyette Sync with HEAD
 1.36 05-Nov-2023  andvar Use DPRINTF instead of __gsfb_print() to print smap status.

__gsfb_printf() is defined only with the GSFB_DEBUG_MONITOR option.
 1.35 18-Sep-2022  thorpej Eliminate use of IFF_OACTIVE.
 1.34 11-Feb-2022  riastradh playstation2: Somewhat belated device_t/softc split.
 1.33 21-Nov-2020  thorpej malloc(9) -> kmem(9)

XXX Audit use of KM_NOSLEEP here.
 1.32 29-Jan-2020  thorpej branches: 1.32.6;
Adopt <net/if_stats.h>.
 1.31 10-Nov-2019  chs branches: 1.31.2;
in many device attach paths, allocate memory with M_WAITOK instead of M_NOWAIT
and remove code to handle failures that can no longer happen.
 1.30 29-May-2019  msaitoh KNF. No functional change.
 1.29 29-May-2019  msaitoh Whitespace fix. No functional change.
 1.28 05-Feb-2019  msaitoh Remove very old IFF_NOTRAILERS flag.
 1.27 26-Jun-2018  msaitoh branches: 1.27.2;
Implement the BPF direction filter (BIOC[GS]DIRECTION). It provides backward
compatibility with BIOC[GS]SEESENT ioctl. The userland interface is the same
as FreeBSD.

This change also fixes a bug that the direction is misunderstand on some
environment by passing the direction to bpf_mtap*() instead of checking
m->m_pkthdr.rcvif.
 1.26 22-Jun-2018  msaitoh Simplify like other drivers. NULL check of ifp->if_bpf is done in
bpf_mtap(), so it's not required to do it here.
 1.25 22-Jun-2018  msaitoh It's not required to include net/bpfdesc.h. Remove it.
 1.24 08-Feb-2018  dholland branches: 1.24.2;
Typos.
 1.23 15-Dec-2016  ozaki-r branches: 1.23.8;
Move bpf_mtap and if_ipackets++ on Rx of each driver to percpuq if_input

The benefits of the change are:
- We can reduce codes
- We can provide the same behavior between drivers
- Where/When if_ipackets is counted up
- Note that some drivers still update packet statistics in their own
way (periodical update)
- Moved bpf_mtap run in softint
- This makes it easy to MP-ify bpf

Proposed on tech-kern and tech-net
 1.22 08-Dec-2016  ozaki-r Apply deferred if_start framework

if_schedule_deferred_start checks if the if_snd queue contains packets,
so drivers don't need to check it by themselves.
 1.21 10-Jun-2016  ozaki-r branches: 1.21.2;
Introduce m_set_rcvif and m_reset_rcvif

The API is used to set (or reset) a received interface of a mbuf.
They are counterpart of m_get_rcvif, which will come in another
commit, hide internal of rcvif operation, and reduce the diff of
the upcoming change.

No functional change.
 1.20 03-Apr-2016  martin Fix bpf_mtap argument
 1.19 09-Feb-2016  ozaki-r Introduce softint-based if_input

This change intends to run the whole network stack in softint context
(or normal LWP), not hardware interrupt context. Note that the work is
still incomplete by this change; to that end, we also have to softint-ify
if_link_state_change (and bpf) which can still run in hardware interrupt.

This change softint-ifies at ifp->if_input that is called from
each device driver (and ieee80211_input) to ensure Layer 2 runs
in softint (e.g., ether_input and bridge_input). To this end,
we provide a framework (called percpuq) that utlizes softint(9)
and percpu ifqueues. With this patch, rxintr of most drivers just
queues received packets and schedules a softint, and the softint
dequeues packets and does rest packet processing.

To minimize changes to each driver, percpuq is allocated in struct
ifnet for now and that is initialized by default (in if_attach).
We probably have to move percpuq to softc of each driver, but it's
future work. At this point, only wm(4) has percpuq in its softc
as a reference implementation.

Additional information including performance numbers can be found
in the thread at tech-kern@ and tech-net@:
http://mail-index.netbsd.org/tech-kern/2016/01/14/msg019997.html

Acknowledgment: riastradh@ greatly helped this work.
Thank you very much!
 1.18 13-Apr-2015  riastradh MD rnd.h cleanups. Please let me know if I broke anything!
 1.17 10-Aug-2014  tls branches: 1.17.4; 1.17.6;
Merge tls-earlyentropy branch into HEAD.
 1.16 29-Jun-2014  mrg NBPFILTER is no more.
 1.15 31-Mar-2014  martin branches: 1.15.2;
Bring back the playstation2 port - now that a toolchain for it is
available again.
 1.14 05-Dec-2009  pooka branches: 1.14.10; 1.14.16;
Remove support for NetBSD/playstation2.
 1.13 28-Apr-2008  martin branches: 1.13.14;
Remove clause 3 and 4 from TNF licenses
 1.12 12-Mar-2008  dyoung branches: 1.12.2; 1.12.4;
In smap_stop(), clear IFF_RUNNING before disabling the device.
 1.11 19-Jan-2008  dyoung branches: 1.11.2; 1.11.6;
Make many ethernet drivers share the common code for MII media
handling, ether_mediastatus() and ether_mediachange(). Check for
a non-ENXIO error return from mii_mediachg(). (ENXIO indicates
that a PHY is suspended.)

This patch shrinks the source code size by 979 lines. There was
a 5100-byte savings on the NetBSD/i386 kernel configuration, ALL.

I have made a few miscellaneous changes, too:

gem(4): use LIST_EMPTY(), LIST_FOREACH().
mtd(4): handle media ioctls, for a change!
axe(4): do not track link status in sc->axe_link any longer
nfe(4), aue(4), axe(4), udav(4), url(4): do not reset all PHYs
on a change of media

Except for the change to mtd(4), no functional changes are intended.

XXX This patch affects more architectures than I can feasibly
XXX compile and run. I have compiled macppc, sparc64, i386. I
XXX have run the patches on i386 boxen with bnx(4) and sip(4).
XXX Compiling and running on evbmips (MERAKI, ADM5120) is in
XXX progress.
 1.10 15-Dec-2007  perry __FUNCTION__ -> __func__
 1.9 04-Mar-2007  christos branches: 1.9.20; 1.9.26; 1.9.28; 1.9.32;
Kill caddr_t; there will be some MI fallout, but it will be fixed shortly.
 1.8 24-Dec-2005  perry branches: 1.8.26;
__asm__ -> __asm
__const__ -> const
__inline__ -> inline
__volatile__ -> volatile
 1.7 11-Dec-2005  christos merge ktrace-lwp.
 1.6 30-Oct-2004  thorpej branches: 1.6.12;
When adding/deleting multicast addresses, only whack the address
filter if the interface is marked RUNNING.

Fixes kern/27678.
 1.5 15-Jul-2003  lukem __KERNEL_RCSID()
 1.4 06-Jan-2003  wiz branches: 1.4.2;
transmission, not transmition.
 1.3 02-Oct-2002  thorpej Use CFATTACH_DECL().
 1.2 27-Sep-2002  thorpej Declare all cfattach structures const.
 1.1 16-Oct-2001  uch branches: 1.1.4; 1.1.6;
playstation2 port
 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 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.1.6.1 16-Oct-2001  thorpej file if_smap.c was added on branch kqueue on 2002-01-10 19:47:28 +0000
 1.1.4.3 07-Jan-2003  thorpej Sync with HEAD.
 1.1.4.2 18-Oct-2002  nathanw Catch up to -current.
 1.1.4.1 16-Oct-2001  nathanw file if_smap.c was added on branch nathanw_sa on 2002-10-18 02:39:23 +0000
 1.4.2.4 02-Nov-2004  skrll Sync with HEAD.
 1.4.2.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.4.2.2 18-Sep-2004  skrll Sync with HEAD.
 1.4.2.1 03-Aug-2004  skrll Sync with HEAD
 1.6.12.4 17-Mar-2008  yamt sync with head.
 1.6.12.3 21-Jan-2008  yamt sync with head
 1.6.12.2 03-Sep-2007  yamt sync with head.
 1.6.12.1 21-Jun-2006  yamt sync with head.
 1.8.26.1 12-Mar-2007  rmind Sync with HEAD.
 1.9.32.2 20-Jan-2008  bouyer Sync with HEAD
 1.9.32.1 02-Jan-2008  bouyer Sync with HEAD
 1.9.28.1 26-Dec-2007  ad Sync with head.
 1.9.26.1 18-Feb-2008  mjf Sync with HEAD.
 1.9.20.2 23-Mar-2008  matt sync with HEAD
 1.9.20.1 09-Jan-2008  matt sync with HEAD
 1.11.6.2 02-Jun-2008  mjf Sync with HEAD.
 1.11.6.1 03-Apr-2008  mjf Sync with HEAD.
 1.11.2.1 24-Mar-2008  keiichi sync with head.
 1.12.4.2 11-Mar-2010  yamt sync with head
 1.12.4.1 16-May-2008  yamt sync with head.
 1.12.2.1 18-May-2008  yamt sync with head.
 1.13.14.1 24-Oct-2010  jym Sync with HEAD
 1.14.16.1 18-May-2014  rmind sync with head
 1.14.10.1 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.15.2.2 10-Aug-2014  tls Rebase.
 1.15.2.1 07-Apr-2014  tls Be a little more clear and consistent about harvesting entropy from devices:

1) deprecate RND_FLAG_NO_ESTIMATE

2) define RND_FLAG_COLLECT_TIME, RND_FLAG_COLLECT_VALUE

3) define RND_FLAG_ESTIMATE_TIME, RND_FLAG_ESTIMATE_VALUE

4) define RND_FLAG_DEFAULT: RND_FLAG_COLLECT_TIME|
RND_FLAG_COLLECT_VALUE|RND_FLAG_ESTIMATE_TIME

5) Make entropy harvesting from environmental sensors a little more generic
and remove it from individual sensor drivers.

6) Remove individual open-coded delta-estimators for values from a few
places in the tree (uvm, environmental drivers).

7) 0 -> RND_FLAG_DEFAULT, actually gather entropy from various drivers
that had stubbed out code, other minor cleanups.
 1.17.6.5 05-Feb-2017  skrll Sync with HEAD
 1.17.6.4 09-Jul-2016  skrll Sync with HEAD
 1.17.6.3 22-Apr-2016  skrll Sync with HEAD
 1.17.6.2 19-Mar-2016  skrll Sync with HEAD
 1.17.6.1 06-Jun-2015  skrll Sync with HEAD
 1.17.4.3 03-Dec-2017  jdolecek update from HEAD
 1.17.4.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.17.4.1 10-Aug-2014  tls file if_smap.c was added on branch tls-maxphys on 2014-08-20 00:03:17 +0000
 1.21.2.1 07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.23.8.1 26-Jul-2018  snj Pull up following revision(s) (requested by msaitoh in ticket #938):
sys/arch/acorn32/podulebus/if_ie.c: revision 1.41
sys/arch/amiga/dev/if_es.c: revision 1.58
sys/arch/amiga/dev/if_qn.c: revision 1.45
sys/arch/arm/at91/at91emac.c: revision 1.20
sys/arch/arm/ep93xx/epe.c: revision 1.37
sys/arch/emips/ebus/if_le_ebus.c: revision 1.14
sys/arch/emips/ebus/if_le_ebus.c: revision 1.15
sys/arch/mac68k/dev/if_mc.c: revision 1.46
sys/arch/macppc/dev/am79c950.c: revision 1.39
sys/arch/newsmips/apbus/if_sn.c: revision 1.40
sys/arch/next68k/dev/mb8795.c: revision 1.59
sys/arch/playstation2/dev/if_smap.c: revision 1.25
sys/arch/playstation2/dev/if_smap.c: revision 1.26
sys/arch/sun2/dev/if_ec.c: revision 1.28
sys/arch/sun3/dev/if_ie.c: revision 1.63
sys/arch/x68k/dev/if_ne_intio.c: revision 1.19
sys/arch/xen/xen/if_xennet_xenbus.c: revision 1.75
sys/arch/xen/xen/xennetback_xenbus.c: revision 1.63
sys/dev/bi/if_ni.c: revision 1.45
sys/dev/cadence/if_cemac.c: revision 1.12
sys/dev/ic/am7990.c: revision 1.78
sys/dev/ic/am79900.c: revision 1.27
sys/dev/ic/an.c: revision 1.67
sys/dev/ic/cs89x0.c: revision 1.40
sys/dev/ic/dm9000.c: revision 1.13
sys/dev/ic/dm9000.c: revision 1.14
sys/dev/ic/dp8390.c: revision 1.88
sys/dev/ic/elink3.c: revision 1.141
sys/dev/ic/elinkxl.c: revision 1.122
sys/dev/ic/hme.c: revision 1.98
sys/dev/ic/i82586.c: revision 1.77
sys/dev/ic/lance.c: revision 1.53
sys/dev/ic/mb86950.c: revision 1.27
sys/dev/ic/mb86960.c: revision 1.86
sys/dev/ic/mtd803.c: revision 1.34
sys/dev/ic/pdq_ifsubr.c: revision 1.59
sys/dev/ic/rrunner.c: revision 1.86
sys/dev/ic/seeq8005.c: revision 1.58
sys/dev/ic/sgec.c: revision 1.47
sys/dev/ic/smc90cx6.c: revision 1.72
sys/dev/ic/smc91cxx.c: revision 1.96
sys/dev/ic/tropic.c: revision 1.49
sys/dev/ic/wi.c: revision 1.245
sys/dev/isa/if_eg.c: revision 1.93
sys/dev/isa/if_el.c: revision 1.95
sys/dev/isa/if_iy.c: revision 1.101
sys/dev/ofw/ofnet.c: revision 1.58
sys/dev/pci/if_alc.c: revision 1.27
sys/dev/pci/if_de.c: revision 1.152
sys/dev/pci/if_fpa.c: revision 1.61
sys/dev/pci/if_jme.c: revision 1.34
sys/dev/pci/if_tl.c: revision 1.108
sys/dev/pci/if_vte.c: revision 1.19
sys/dev/pci/ixgbe/ixgbe.h: revision 1.50
sys/dev/pcmcia/if_cnw.c: revision 1.62
sys/dev/pcmcia/if_malo_pcmcia.c: revision 1.17
sys/dev/pcmcia/if_ray.c: revision 1.89
sys/dev/pcmcia/if_xi.c: revision 1.81
sys/dev/pcmcia/mhzc.c: revision 1.51
sys/dev/pcmcia/xirc.c: revision 1.34
sys/dev/qbus/if_de.c: revision 1.33
sys/dev/qbus/if_qe.c: revision 1.78
sys/dev/qbus/if_qt.c: revision 1.22
sys/dev/sbus/be.c: revision 1.87
sys/dev/sbus/qe.c: revision 1.68
sys/dev/scsipi/if_se.c: revision 1.96
sys/dev/usb/if_atu.c: revision 1.59
sys/net/if_l2tp.c: revision 1.28 via patch
sys/net/if_ppp.c: revision 1.160
It's not required to include net/bpfdesc.h. Remove it.
--
Simplify like other drivers. NULL check of ifp->if_bpf is done in
bpf_mtap(), so it's not required to do it here.
--
Remove duplicated inclusion of net/bpf.h.
--
Remove duplicated inclusion of net/bpf.h.
--
Simplify bpf_mtap() call. No functional change.
 1.24.2.2 28-Jul-2018  pgoyette Sync with HEAD
 1.24.2.1 25-Jun-2018  pgoyette Sync with HEAD
 1.27.2.3 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.27.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.27.2.1 10-Jun-2019  christos Sync with HEAD
 1.31.2.1 29-Feb-2020  ad Sync with head.
 1.32.6.1 14-Dec-2020  thorpej Sync w/ HEAD.
 1.4 31-Mar-2014  martin branches: 1.4.6;
Bring back the playstation2 port - now that a toolchain for it is
available again.
 1.3 05-Dec-2009  pooka branches: 1.3.10; 1.3.16;
Remove support for NetBSD/playstation2.
 1.2 28-Apr-2008  martin branches: 1.2.14;
Remove clause 3 and 4 from TNF licenses
 1.1 16-Oct-2001  uch branches: 1.1.4; 1.1.6; 1.1.124; 1.1.126; 1.1.128;
playstation2 port
 1.1.128.2 11-Mar-2010  yamt sync with head
 1.1.128.1 16-May-2008  yamt sync with head.
 1.1.126.1 18-May-2008  yamt sync with head.
 1.1.124.1 02-Jun-2008  mjf Sync with HEAD.
 1.1.6.2 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.1.6.1 16-Oct-2001  thorpej file if_smapreg.h was added on branch kqueue on 2002-01-10 19:47:28 +0000
 1.1.4.2 16-Oct-2001  uch playstation2 port
 1.1.4.1 16-Oct-2001  uch file if_smapreg.h was added on branch nathanw_sa on 2001-10-16 15:38:35 +0000
 1.2.14.1 24-Oct-2010  jym Sync with HEAD
 1.3.16.1 18-May-2014  rmind sync with head
 1.3.10.1 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.4.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.4.6.1 31-Mar-2014  tls file if_smapreg.h was added on branch tls-maxphys on 2014-08-20 00:03:17 +0000
 1.16 07-Aug-2021  thorpej Merge thorpej-cfargs2.
 1.15 24-Apr-2021  thorpej branches: 1.15.8;
Merge thorpej-cfargs branch:

Simplify and make extensible the config_search() / config_found() /
config_attach() interfaces: rather than having different variants for
which arguments you want pass along, just have a single call that
takes a variadic list of tag-value arguments.

Adjust all call sites:
- Simplify wherever possible; don't pass along arguments that aren't
actually needed.
- Don't be explicit about what interface attribute is attaching if
the device only has one. (More simplification.)
- Add a config_probe() function to be used in indirect configuiration
situations, making is visibly easier to see when indirect config is
in play, and allowing for future change in semantics. (As of now,
this is just a wrapper around config_match(), but that is an
implementation detail.)

Remove unnecessary or redundant interface attributes where they're not
needed.

There are currently 5 "cfargs" defined:
- CFARG_SUBMATCH (submatch function for direct config)
- CFARG_SEARCH (search function for indirect config)
- CFARG_IATTR (interface attribte)
- CFARG_LOCATORS (locators array)
- CFARG_DEVHANDLE (devhandle_t - wraps OFW, ACPI, etc. handles)

...and a sentinel value CFARG_EOL.

Add some extra sanity checking to ensure that interface attributes
aren't ambiguous.

Use CFARG_DEVHANDLE in MI FDT, OFW, and ACPI code, and macppc and shark
ports to associate those device handles with device_t instance. This
will trickle trough to more places over time (need back-end for pre-OFW
Sun OBP; any others?).
 1.14 21-Nov-2020  thorpej branches: 1.14.2;
malloc(9) -> kmem(9)

XXX Audit use of KM_NOSLEEP here.
 1.13 18-Jul-2016  maya branches: 1.13.28;
Include mips/cpuregs.h for MIPS_PHYS_TO_KSEG1
 1.12 23-Apr-2016  skrll branches: 1.12.2;
Merge nick-nhusb

- API / infrastructure changes to support memory management changes.
- Memory management improvements and bug fixes.
- HCDs should now be MP safe
- conversion to KERNHIST based debug
- FS/LS isoc support on ehci(4).
- conversion to kmem(9)
- Some USB 3 support - mostly from Takahiro HAYASHI (t-hash).
- interrupt transfers now get proper DMA operations
- general bug fixes
- kern/48308
- uhub status notification improvements
- umass(4) probe fix (applied to HEAD already)
- ohci(4) short transfer fix
 1.11 31-Mar-2014  martin branches: 1.11.4; 1.11.6; 1.11.8; 1.11.12;
Bring back the playstation2 port - now that a toolchain for it is
available again.
 1.10 05-Dec-2009  pooka branches: 1.10.10; 1.10.16;
Remove support for NetBSD/playstation2.
 1.9 28-Apr-2008  martin branches: 1.9.14;
Remove clause 3 and 4 from TNF licenses
 1.8 26-Apr-2008  drochner branches: 1.8.2;
try to update for OHCI device/softc split, untested
(I've asked for testing on Apr 3, w/o success.)
 1.7 04-Mar-2007  christos branches: 1.7.40; 1.7.42;
Kill caddr_t; there will be some MI fallout, but it will be fixed shortly.
 1.6 11-Dec-2005  christos branches: 1.6.26;
merge ktrace-lwp.
 1.5 31-Dec-2004  he branches: 1.5.10;
Make this compile again after the introduction of usb_dma_reserve;
need to include <dev/usb/usb_mem.h> now to pick up it's definition.
 1.4 15-Jul-2003  lukem __KERNEL_RCSID()
 1.3 02-Oct-2002  thorpej branches: 1.3.6;
Use CFATTACH_DECL().
 1.2 27-Sep-2002  thorpej Declare all cfattach structures const.
 1.1 16-Oct-2001  uch branches: 1.1.4; 1.1.6;
playstation2 port
 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 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.1.6.1 16-Oct-2001  thorpej file ohci_sbus.c was added on branch kqueue on 2002-01-10 19:47:28 +0000
 1.1.4.2 18-Oct-2002  nathanw Catch up to -current.
 1.1.4.1 16-Oct-2001  nathanw file ohci_sbus.c was added on branch nathanw_sa on 2002-10-18 02:39:23 +0000
 1.3.6.4 17-Jan-2005  skrll Sync with HEAD.
 1.3.6.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.3.6.2 18-Sep-2004  skrll Sync with HEAD.
 1.3.6.1 03-Aug-2004  skrll Sync with HEAD
 1.5.10.1 03-Sep-2007  yamt sync with head.
 1.6.26.1 12-Mar-2007  rmind Sync with HEAD.
 1.7.42.1 18-May-2008  yamt sync with head.
 1.7.40.1 02-Jun-2008  mjf Sync with HEAD.
 1.8.2.2 11-Mar-2010  yamt sync with head
 1.8.2.1 16-May-2008  yamt sync with head.
 1.9.14.1 24-Oct-2010  jym Sync with HEAD
 1.10.16.1 18-May-2014  rmind sync with head
 1.10.10.1 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.11.12.1 06-Sep-2016  skrll First pass at netbsd-7 updated with USB code from HEAD
 1.11.8.5 05-Oct-2016  skrll Sync with HEAD
 1.11.8.4 05-Dec-2014  skrll Use int for return type for [eou]chi_init and motg_init.
 1.11.8.3 05-Dec-2014  skrll KNF. Remove ( ) from return statements.
 1.11.8.2 03-Dec-2014  skrll The grand renaming of structure members.

No functional change.
 1.11.8.1 03-Dec-2014  skrll Trailing whitespace.
 1.11.6.3 03-Dec-2017  jdolecek update from HEAD
 1.11.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.11.6.1 31-Mar-2014  tls file ohci_sbus.c was added on branch tls-maxphys on 2014-08-20 00:03:17 +0000
 1.11.4.1 05-Apr-2017  snj Pull up following revision(s) (requested by skrll in ticket #1395):
share/man/man4/axe.4: netbsd-7-nhusb
share/man/man4/axen.4: netbsd-7-nhusb
share/man/man4/cdce.4: netbsd-7-nhusb
share/man/man4/uaudio.4: netbsd-7-nhusb
share/man/man4/ucom.4: netbsd-7-nhusb
share/man/man4/uep.4: netbsd-7-nhusb
share/man/man4/urtw.4: netbsd-7-nhusb
share/man/man4/usb.4: netbsd-7-nhusb
share/man/man4/uyap.4: netbsd-7-nhusb
share/man/man4/xhci.4: netbsd-7-nhusb
share/man/man9/usbdi.9: netbsd-7-nhusb
sys/arch/amd64/conf/ALL: netbsd-7-nhusb
sys/arch/amd64/conf/GENERIC: netbsd-7-nhusb
sys/arch/amiga/dev/slhci_zbus.c: netbsd-7-nhusb
sys/arch/arm/allwinner/awin_otg.c: netbsd-7-nhusb
sys/arch/arm/allwinner/awin_usb.c: netbsd-7-nhusb
sys/arch/arm/amlogic/amlogic_dwctwo.c: netbsd-7-nhusb
sys/arch/arm/at91/at91ohci.c: netbsd-7-nhusb
sys/arch/arm/broadcom/bcm2835_dwctwo.c: netbsd-7-nhusb
sys/arch/arm/broadcom/bcm53xx_usb.c: netbsd-7-nhusb
sys/arch/arm/ep93xx/epohci.c: netbsd-7-nhusb
sys/arch/arm/gemini/obio_ehci.c: netbsd-7-nhusb
sys/arch/arm/imx/files.imx23: netbsd-7-nhusb
sys/arch/arm/imx/imxusb.c: netbsd-7-nhusb
sys/arch/arm/imx/imxusbreg.h: netbsd-7-nhusb
sys/arch/arm/omap/obio_ohci.c: netbsd-7-nhusb
sys/arch/arm/omap/omap3_ehci.c: netbsd-7-nhusb
sys/arch/arm/omap/omapl1x_ohci.c: netbsd-7-nhusb
sys/arch/arm/omap/tiotg.c: netbsd-7-nhusb
sys/arch/arm/s3c2xx0/ohci_s3c24x0.c: netbsd-7-nhusb
sys/arch/arm/samsung/exynos_usb.c: netbsd-7-nhusb
sys/arch/arm/xscale/pxa2x0_ohci.c: netbsd-7-nhusb
sys/arch/arm/zynq/zynq_usb.c: netbsd-7-nhusb
sys/arch/hpcarm/dev/nbp_slhci.c: netbsd-7-nhusb
sys/arch/hpcmips/dev/plumohci.c: netbsd-7-nhusb
sys/arch/i386/conf/ALL: netbsd-7-nhusb
sys/arch/i386/conf/GENERIC: netbsd-7-nhusb
sys/arch/i386/pci/gcscehci.c: netbsd-7-nhusb
sys/arch/luna68k/conf/GENERIC: netbsd-7-nhusb
sys/arch/mips/adm5120/dev/ahci.c: netbsd-7-nhusb
sys/arch/mips/adm5120/dev/ahcivar.h: netbsd-7-nhusb
sys/arch/mips/alchemy/dev/ohci_aubus.c: netbsd-7-nhusb
sys/arch/mips/atheros/dev/ehci_arbus.c: netbsd-7-nhusb
sys/arch/mips/atheros/dev/ohci_arbus.c: netbsd-7-nhusb
sys/arch/mips/conf/files.adm5120: netbsd-7-nhusb
sys/arch/mips/ralink/ralink_ehci.c: netbsd-7-nhusb
sys/arch/mips/ralink/ralink_ohci.c: netbsd-7-nhusb
sys/arch/mips/rmi/rmixl_ehci.c: netbsd-7-nhusb
sys/arch/mips/rmi/rmixl_ohci.c: netbsd-7-nhusb
sys/arch/playstation2/dev/ohci_sbus.c: netbsd-7-nhusb
sys/arch/powerpc/booke/dev/pq3ehci.c: netbsd-7-nhusb
sys/arch/powerpc/ibm4xx/dev/dwctwo_plb.c: netbsd-7-nhusb
sys/arch/x68k/dev/slhci_intio.c: netbsd-7-nhusb
sys/conf/files: netbsd-7-nhusb
sys/dev/cardbus/ehci_cardbus.c: netbsd-7-nhusb
sys/dev/cardbus/ohci_cardbus.c: netbsd-7-nhusb
sys/dev/cardbus/uhci_cardbus.c: netbsd-7-nhusb
sys/dev/ic/sl811hs.c: netbsd-7-nhusb
sys/dev/ic/sl811hsvar.h: netbsd-7-nhusb
sys/dev/isa/slhci_isa.c: netbsd-7-nhusb
sys/dev/marvell/ehci_mv.c: netbsd-7-nhusb
sys/dev/pci/ehci_pci.c: netbsd-7-nhusb
sys/dev/pci/ohci_pci.c: netbsd-7-nhusb
sys/dev/pci/uhci_pci.c: netbsd-7-nhusb
sys/dev/pci/xhci_pci.c: netbsd-7-nhusb
sys/dev/pcmcia/slhci_pcmcia.c: netbsd-7-nhusb
sys/dev/usb/Makefile.usbdevs: netbsd-7-nhusb
sys/dev/usb/TODO: netbsd-7-nhusb
sys/dev/usb/TODO.usbmp: netbsd-7-nhusb
sys/dev/usb/aubtfwl.c: netbsd-7-nhusb
sys/dev/usb/auvitek.c: netbsd-7-nhusb
sys/dev/usb/auvitek_audio.c: netbsd-7-nhusb
sys/dev/usb/auvitek_dtv.c: netbsd-7-nhusb
sys/dev/usb/auvitek_i2c.c: netbsd-7-nhusb
sys/dev/usb/auvitek_video.c: netbsd-7-nhusb
sys/dev/usb/auvitekvar.h: netbsd-7-nhusb
sys/dev/usb/ehci.c: netbsd-7-nhusb
sys/dev/usb/ehcireg.h: netbsd-7-nhusb
sys/dev/usb/ehcivar.h: netbsd-7-nhusb
sys/dev/usb/emdtv.c: netbsd-7-nhusb
sys/dev/usb/emdtv_dtv.c: netbsd-7-nhusb
sys/dev/usb/emdtv_ir.c: netbsd-7-nhusb
sys/dev/usb/emdtvvar.h: netbsd-7-nhusb
sys/dev/usb/ezload.c: netbsd-7-nhusb
sys/dev/usb/ezload.h: netbsd-7-nhusb
sys/dev/usb/files.usb: netbsd-7-nhusb
sys/dev/usb/hid.c: netbsd-7-nhusb
sys/dev/usb/hid.h: netbsd-7-nhusb
sys/dev/usb/if_athn_usb.c: netbsd-7-nhusb
sys/dev/usb/if_athn_usb.h: netbsd-7-nhusb
sys/dev/usb/if_atu.c: netbsd-7-nhusb
sys/dev/usb/if_atureg.h: netbsd-7-nhusb
sys/dev/usb/if_aue.c: netbsd-7-nhusb
sys/dev/usb/if_auereg.h: netbsd-7-nhusb
sys/dev/usb/if_axe.c: netbsd-7-nhusb
sys/dev/usb/if_axen.c: netbsd-7-nhusb
sys/dev/usb/if_axenreg.h: netbsd-7-nhusb
sys/dev/usb/if_axereg.h: netbsd-7-nhusb
sys/dev/usb/if_cdce.c: netbsd-7-nhusb
sys/dev/usb/if_cdcereg.h: netbsd-7-nhusb
sys/dev/usb/if_cue.c: netbsd-7-nhusb
sys/dev/usb/if_cuereg.h: netbsd-7-nhusb
sys/dev/usb/if_kue.c: netbsd-7-nhusb
sys/dev/usb/if_kuereg.h: netbsd-7-nhusb
sys/dev/usb/if_otus.c: netbsd-7-nhusb
sys/dev/usb/if_otusvar.h: netbsd-7-nhusb
sys/dev/usb/if_rum.c: netbsd-7-nhusb
sys/dev/usb/if_rumreg.h: netbsd-7-nhusb
sys/dev/usb/if_rumvar.h: netbsd-7-nhusb
sys/dev/usb/if_run.c: netbsd-7-nhusb
sys/dev/usb/if_runvar.h: netbsd-7-nhusb
sys/dev/usb/if_smsc.c: netbsd-7-nhusb
sys/dev/usb/if_smscreg.h: netbsd-7-nhusb
sys/dev/usb/if_smscvar.h: netbsd-7-nhusb
sys/dev/usb/if_udav.c: netbsd-7-nhusb
sys/dev/usb/if_udavreg.h: netbsd-7-nhusb
sys/dev/usb/if_upgt.c: netbsd-7-nhusb
sys/dev/usb/if_upgtvar.h: netbsd-7-nhusb
sys/dev/usb/if_upl.c: netbsd-7-nhusb
sys/dev/usb/if_ural.c: netbsd-7-nhusb
sys/dev/usb/if_uralreg.h: netbsd-7-nhusb
sys/dev/usb/if_uralvar.h: netbsd-7-nhusb
sys/dev/usb/if_url.c: netbsd-7-nhusb
sys/dev/usb/if_urlreg.h: netbsd-7-nhusb
sys/dev/usb/if_urndis.c: netbsd-7-nhusb
sys/dev/usb/if_urndisreg.h: netbsd-7-nhusb
sys/dev/usb/if_urtw.c: netbsd-7-nhusb
sys/dev/usb/if_urtwn.c: netbsd-7-nhusb
sys/dev/usb/if_urtwn_data.h: netbsd-7-nhusb
sys/dev/usb/if_urtwnreg.h: netbsd-7-nhusb
sys/dev/usb/if_urtwnvar.h: netbsd-7-nhusb
sys/dev/usb/if_urtwreg.h: netbsd-7-nhusb
sys/dev/usb/if_zyd.c: netbsd-7-nhusb
sys/dev/usb/if_zydreg.h: netbsd-7-nhusb
sys/dev/usb/irmce.c: netbsd-7-nhusb
sys/dev/usb/moscom.c: netbsd-7-nhusb
sys/dev/usb/motg.c: netbsd-7-nhusb
sys/dev/usb/motgvar.h: netbsd-7-nhusb
sys/dev/usb/ohci.c: netbsd-7-nhusb
sys/dev/usb/ohcireg.h: netbsd-7-nhusb
sys/dev/usb/ohcivar.h: netbsd-7-nhusb
sys/dev/usb/pseye.c: netbsd-7-nhusb
sys/dev/usb/slurm.c: netbsd-7-nhusb
sys/dev/usb/stuirda.c: netbsd-7-nhusb
sys/dev/usb/u3g.c: netbsd-7-nhusb
sys/dev/usb/uark.c: netbsd-7-nhusb
sys/dev/usb/uatp.c: netbsd-7-nhusb
sys/dev/usb/uaudio.c: netbsd-7-nhusb
sys/dev/usb/uberry.c: netbsd-7-nhusb
sys/dev/usb/ubsa.c: netbsd-7-nhusb
sys/dev/usb/ubsa_common.c: netbsd-7-nhusb
sys/dev/usb/ubsavar.h: netbsd-7-nhusb
sys/dev/usb/ubt.c: netbsd-7-nhusb
sys/dev/usb/uchcom.c: netbsd-7-nhusb
sys/dev/usb/ucom.c: netbsd-7-nhusb
sys/dev/usb/ucomvar.h: netbsd-7-nhusb
sys/dev/usb/ucycom.c: netbsd-7-nhusb
sys/dev/usb/udl.c: netbsd-7-nhusb
sys/dev/usb/udl.h: netbsd-7-nhusb
sys/dev/usb/udsbr.c: netbsd-7-nhusb
sys/dev/usb/udsir.c: netbsd-7-nhusb
sys/dev/usb/uep.c: netbsd-7-nhusb
sys/dev/usb/uftdi.c: netbsd-7-nhusb
sys/dev/usb/uftdireg.h: netbsd-7-nhusb
sys/dev/usb/ugen.c: netbsd-7-nhusb
sys/dev/usb/ugensa.c: netbsd-7-nhusb
sys/dev/usb/uhci.c: netbsd-7-nhusb
sys/dev/usb/uhcireg.h: netbsd-7-nhusb
sys/dev/usb/uhcivar.h: netbsd-7-nhusb
sys/dev/usb/uhid.c: netbsd-7-nhusb
sys/dev/usb/uhidev.c: netbsd-7-nhusb
sys/dev/usb/uhidev.h: netbsd-7-nhusb
sys/dev/usb/uhmodem.c: netbsd-7-nhusb
sys/dev/usb/uhso.c: netbsd-7-nhusb
sys/dev/usb/uhub.c: netbsd-7-nhusb
sys/dev/usb/uipad.c: netbsd-7-nhusb
sys/dev/usb/uipaq.c: netbsd-7-nhusb
sys/dev/usb/uirda.c: netbsd-7-nhusb
sys/dev/usb/uirdavar.h: netbsd-7-nhusb
sys/dev/usb/ukbd.c: netbsd-7-nhusb
sys/dev/usb/ukbdmap.c: netbsd-7-nhusb
sys/dev/usb/ukyopon.c: netbsd-7-nhusb
sys/dev/usb/ukyopon.h: netbsd-7-nhusb
sys/dev/usb/ulpt.c: netbsd-7-nhusb
sys/dev/usb/umass.c: netbsd-7-nhusb
sys/dev/usb/umass_isdata.c: netbsd-7-nhusb
sys/dev/usb/umass_isdata.h: netbsd-7-nhusb
sys/dev/usb/umass_quirks.c: netbsd-7-nhusb
sys/dev/usb/umass_quirks.h: netbsd-7-nhusb
sys/dev/usb/umass_scsipi.c: netbsd-7-nhusb
sys/dev/usb/umass_scsipi.h: netbsd-7-nhusb
sys/dev/usb/umassvar.h: netbsd-7-nhusb
sys/dev/usb/umcs.c: netbsd-7-nhusb
sys/dev/usb/umct.c: netbsd-7-nhusb
sys/dev/usb/umidi.c: netbsd-7-nhusb
sys/dev/usb/umidi_quirks.c: netbsd-7-nhusb
sys/dev/usb/umidi_quirks.h: netbsd-7-nhusb
sys/dev/usb/umodem.c: netbsd-7-nhusb
sys/dev/usb/umodem_common.c: netbsd-7-nhusb
sys/dev/usb/umodemvar.h: netbsd-7-nhusb
sys/dev/usb/ums.c: netbsd-7-nhusb
sys/dev/usb/uplcom.c: netbsd-7-nhusb
sys/dev/usb/urio.c: netbsd-7-nhusb
sys/dev/usb/urio.h: netbsd-7-nhusb
sys/dev/usb/usb.c: netbsd-7-nhusb
sys/dev/usb/usb.h: netbsd-7-nhusb
sys/dev/usb/usb_mem.c: netbsd-7-nhusb
sys/dev/usb/usb_mem.h: netbsd-7-nhusb
sys/dev/usb/usb_quirks.c: netbsd-7-nhusb
sys/dev/usb/usb_quirks.h: netbsd-7-nhusb
sys/dev/usb/usb_subr.c: netbsd-7-nhusb
sys/dev/usb/usbdevices.config: netbsd-7-nhusb
sys/dev/usb/usbdevs: netbsd-7-nhusb
sys/dev/usb/usbdevs.h: netbsd-7-nhusb
sys/dev/usb/usbdevs_data.h: netbsd-7-nhusb
sys/dev/usb/usbdi.c: netbsd-7-nhusb
sys/dev/usb/usbdi.h: netbsd-7-nhusb
sys/dev/usb/usbdi_util.c: netbsd-7-nhusb
sys/dev/usb/usbdi_util.h: netbsd-7-nhusb
sys/dev/usb/usbdivar.h: netbsd-7-nhusb
sys/dev/usb/usbhid.h: netbsd-7-nhusb
sys/dev/usb/usbhist.h: netbsd-7-nhusb
sys/dev/usb/usbroothub.c: netbsd-7-nhusb
sys/dev/usb/usbroothub.h: netbsd-7-nhusb
sys/dev/usb/usbroothub_subr.c: delete
sys/dev/usb/usbroothub_subr.h: delete
sys/dev/usb/uscanner.c: netbsd-7-nhusb
sys/dev/usb/uslsa.c: netbsd-7-nhusb
sys/dev/usb/usscanner.c: netbsd-7-nhusb
sys/dev/usb/ustir.c: netbsd-7-nhusb
sys/dev/usb/uthum.c: netbsd-7-nhusb
sys/dev/usb/utoppy.c: netbsd-7-nhusb
sys/dev/usb/uts.c: netbsd-7-nhusb
sys/dev/usb/uvideo.c: netbsd-7-nhusb
sys/dev/usb/uvisor.c: netbsd-7-nhusb
sys/dev/usb/uvscom.c: netbsd-7-nhusb
sys/dev/usb/uyap.c: netbsd-7-nhusb
sys/dev/usb/uyap_firmware.h: netbsd-7-nhusb
sys/dev/usb/uyurex.c: netbsd-7-nhusb
sys/dev/usb/x1input_rdesc.h: netbsd-7-nhusb
sys/dev/usb/xhci.c: netbsd-7-nhusb
sys/dev/usb/xhcireg.h: netbsd-7-nhusb
sys/dev/usb/xhcivar.h: netbsd-7-nhusb
sys/dev/usb/xinput_rdesc.h: netbsd-7-nhusb
sys/external/bsd/common/conf/files.linux: netbsd-7-nhusb
sys/external/bsd/common/include/linux/err.h: netbsd-7-nhusb
sys/external/bsd/common/include/linux/kernel.h: netbsd-7-nhusb
sys/external/bsd/common/include/linux/workqueue.h: netbsd-7-nhusb
sys/external/bsd/common/linux/linux_work.c: netbsd-7-nhusb
sys/external/bsd/drm2/dist/drm/radeon/atombios_encoders.c: netbsd-7-nhusb
sys/external/bsd/drm2/dist/drm/radeon/radeon_legacy_encoders.c: netbsd-7-nhusb
sys/external/bsd/drm2/drm/files.drmkms: netbsd-7-nhusb
sys/external/bsd/drm2/i915drm/files.i915drmkms: netbsd-7-nhusb
sys/external/bsd/drm2/include/linux/err.h: delete
sys/external/bsd/drm2/include/linux/workqueue.h: delete
sys/external/bsd/drm2/linux/files.drmkms_linux: netbsd-7-nhusb
sys/external/bsd/drm2/linux/linux_work.c: delete
sys/external/bsd/dwc2/dwc2.c: netbsd-7-nhusb
sys/external/bsd/dwc2/dwc2.h: netbsd-7-nhusb
sys/external/bsd/dwc2/dwc2var.h: netbsd-7-nhusb
sys/external/bsd/dwc2/dwctwo2netbsd: netbsd-7-nhusb
sys/external/bsd/dwc2/conf/files.dwc2: netbsd-7-nhusb
sys/external/bsd/dwc2/dist/dwc2_core.c: netbsd-7-nhusb
sys/external/bsd/dwc2/dist/dwc2_core.h: netbsd-7-nhusb
sys/external/bsd/dwc2/dist/dwc2_coreintr.c: netbsd-7-nhusb
sys/external/bsd/dwc2/dist/dwc2_hcd.c: netbsd-7-nhusb
sys/external/bsd/dwc2/dist/dwc2_hcd.h: netbsd-7-nhusb
sys/external/bsd/dwc2/dist/dwc2_hcdddma.c: netbsd-7-nhusb
sys/external/bsd/dwc2/dist/dwc2_hcdintr.c: netbsd-7-nhusb
sys/external/bsd/dwc2/dist/dwc2_hcdqueue.c: netbsd-7-nhusb
sys/external/bsd/dwc2/dist/dwc2_hw.h: netbsd-7-nhusb
sys/modules/drmkms_linux/Makefile: netbsd-7-nhusb
sys/modules/i915drmkms/Makefile: netbsd-7-nhusb
sys/rump/dev/lib/libugenhc/ugenhc.c: netbsd-7-nhusb
sys/rump/dev/lib/libusb/Makefile: netbsd-7-nhusb
sys/rump/dev/lib/libusb/USB.ioconf: netbsd-7-nhusb
sys/rump/dev/lib/libusb/usb_at_ugenhc.c: delete
sys/rump/dev/lib/libusb/opt/opt_usb.h: delete
sys/rump/dev/lib/libusb/opt/opt_usbverbose.h: delete
sys/sys/mbuf.h: netbsd-7-nhusb
usr.sbin/usbdevs/usbdevs.8: netbsd-7-nhusb
usr.sbin/usbdevs/usbdevs.c: netbsd-7-nhusb
Merge netbsd-7-nhusb:
- API / infrastructure changes to support memory management changes.
- Memory management improvements and bug fixes.
- HCDs should now be MP safe
- conversion to KERNHIST based debug
- FS/LS isoc support on ehci(4).
- conversion to kmem(9)
- Some USB 3 support - mostly from Takahiro HAYASHI (t-hash).
- interrupt transfers now get proper DMA operations
- general bug fixes
- kern/48308
- uhub status notification improvements
- umass(4) probe fix (applied to HEAD already)
- ohci(4) short transfer fix
- Change the SOFTINT level from NET to SERIAL for the USB softint handler.
This gives the callback a chance of running when another softint handler
at SOFTINT_NET has blocked holding a lock, e.g. softnet_lock and most of
the network stack.
- kern/49065 - ifconfig tun0 ... sequence locks up system / lockup:
softnet_lock held across usb xfr
- kern/50491 - unkillable wait in usbd_transfer while using usmsc0
on raspberry pi 2
- kern/51395 - USB Ethernet makes xhci hang
- Various improvements to slhci(4)
- Various improvements to dwc2(4)
 1.12.2.1 26-Jul-2016  pgoyette Sync with HEAD
 1.13.28.1 14-Dec-2020  thorpej Sync w/ HEAD.
 1.14.2.1 21-Mar-2021  thorpej Give config_found() the same variadic arguments treatment as
config_search(). This commit only adds the CFARG_EOL sentinel
to the existing config_found() calls. Conversion of config_found_sm_loc()
and config_found_ia() call sites will be in subsequent commits.
 1.15.8.1 04-Aug-2021  thorpej Adapt to CFARGS().
 1.20 11-Feb-2022  riastradh playstation2: Fix some pre-device_t/softc-split device private sizes.

Nothing appears to use device_private here, so let's not allocate
anything or ask for sizeof(struct device).
 1.19 07-Aug-2021  thorpej Merge thorpej-cfargs2.
 1.18 24-Apr-2021  thorpej branches: 1.18.8;
Merge thorpej-cfargs branch:

Simplify and make extensible the config_search() / config_found() /
config_attach() interfaces: rather than having different variants for
which arguments you want pass along, just have a single call that
takes a variadic list of tag-value arguments.

Adjust all call sites:
- Simplify wherever possible; don't pass along arguments that aren't
actually needed.
- Don't be explicit about what interface attribute is attaching if
the device only has one. (More simplification.)
- Add a config_probe() function to be used in indirect configuiration
situations, making is visibly easier to see when indirect config is
in play, and allowing for future change in semantics. (As of now,
this is just a wrapper around config_match(), but that is an
implementation detail.)

Remove unnecessary or redundant interface attributes where they're not
needed.

There are currently 5 "cfargs" defined:
- CFARG_SUBMATCH (submatch function for direct config)
- CFARG_SEARCH (search function for indirect config)
- CFARG_IATTR (interface attribte)
- CFARG_LOCATORS (locators array)
- CFARG_DEVHANDLE (devhandle_t - wraps OFW, ACPI, etc. handles)

...and a sentinel value CFARG_EOL.

Add some extra sanity checking to ensure that interface attributes
aren't ambiguous.

Use CFARG_DEVHANDLE in MI FDT, OFW, and ACPI code, and macppc and shark
ports to associate those device handles with device_t instance. This
will trickle trough to more places over time (need back-end for pre-OFW
Sun OBP; any others?).
 1.17 19-Jul-2016  maya branches: 1.17.30;
CFATTACH_DECL -> CFATTACH_DECL_NEW
struct device * -> device_t
 1.16 19-Jul-2016  maya We need to include param.h before device.h, as it uses uint64_t
 1.15 18-Jul-2016  maya Don't use old-style definitions.
Appeases GCC.
 1.14 18-Jul-2016  maya Include sys/device.h for cfdata_t
 1.13 18-Jul-2016  maya Adapt to change: struct cfdata * -> cfdata_t
 1.12 31-Mar-2014  martin branches: 1.12.6; 1.12.8; 1.12.12;
Bring back the playstation2 port - now that a toolchain for it is
available again.
 1.11 05-Dec-2009  pooka branches: 1.11.10; 1.11.16;
Remove support for NetBSD/playstation2.
 1.10 28-Apr-2008  martin branches: 1.10.14;
Remove clause 3 and 4 from TNF licenses
 1.9 11-Dec-2005  christos branches: 1.9.74; 1.9.76; 1.9.78;
merge ktrace-lwp.
 1.8 26-Aug-2005  drochner s/locdesc_t/int/g
 1.7 30-Jun-2005  drochner branches: 1.7.2;
adaptions to config_search() change, and minor autoconf fixes, mostly from Havard Eidnes
 1.6 15-Jul-2003  lukem __KERNEL_RCSID()
 1.5 02-Oct-2002  thorpej branches: 1.5.6;
Use CFATTACH_DECL().
 1.4 27-Sep-2002  thorpej Declare all cfattach structures const.
 1.3 27-Sep-2002  provos remove trailing \n in panic(). approved perry.
 1.2 27-Sep-2002  thorpej Introduce a new routine, config_match(), which invokes the
cfattach->ca_match function in behalf of the caller. Use it
rather than invoking cfattach->ca_match directly.
 1.1 16-Oct-2001  uch branches: 1.1.4; 1.1.6;
playstation2 port
 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 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.1.6.1 16-Oct-2001  thorpej file sbus.c was added on branch kqueue on 2002-01-10 19:47:29 +0000
 1.1.4.2 18-Oct-2002  nathanw Catch up to -current.
 1.1.4.1 16-Oct-2001  nathanw file sbus.c was added on branch nathanw_sa on 2002-10-18 02:39:23 +0000
 1.5.6.4 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.5.6.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.5.6.2 18-Sep-2004  skrll Sync with HEAD.
 1.5.6.1 03-Aug-2004  skrll Sync with HEAD
 1.7.2.1 21-Jun-2006  yamt sync with head.
 1.9.78.2 11-Mar-2010  yamt sync with head
 1.9.78.1 16-May-2008  yamt sync with head.
 1.9.76.1 18-May-2008  yamt sync with head.
 1.9.74.1 02-Jun-2008  mjf Sync with HEAD.
 1.10.14.1 24-Oct-2010  jym Sync with HEAD
 1.11.16.1 18-May-2014  rmind sync with head
 1.11.10.1 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.12.12.1 26-Jul-2016  pgoyette Sync with HEAD
 1.12.8.1 05-Oct-2016  skrll Sync with HEAD
 1.12.6.3 03-Dec-2017  jdolecek update from HEAD
 1.12.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.12.6.1 31-Mar-2014  tls file sbus.c was added on branch tls-maxphys on 2014-08-20 00:03:17 +0000
 1.17.30.5 05-Apr-2021  thorpej config_match() -> config_probe() for the straight-forward indirect config
cases. There are still a few odd balls using config_match() which should
be sorted out later.
 1.17.30.4 04-Apr-2021  thorpej CFARG_SUBMATCH -> CFARG_SEARCH for the indirect configuration uses.
 1.17.30.3 03-Apr-2021  thorpej Give config_attach() the tagged variadic argument treatment and
mechanically convert all call sites.
 1.17.30.2 21-Mar-2021  thorpej CFARG_IATTR usage audit:

If a device carries only one interface attribute, there is no need
to specify it when calling config_search(); that specification is
meant only to disambiguate which interface attribute (which is a
proxy for "what kind of attach args are being used") is having
children attached. cfparent_match() will take care of ensuring that
any potential children can attach to one of the parent's iterface
attributes, and if the parent only carries one, no disambiguation is
necessary.
 1.17.30.1 20-Mar-2021  thorpej The proliferation if config_search_*() and config_found_*() combinations
is a little absurd, so begin to tidy this up:

- Introduce a new cfarg_t enumerated type, that defines the types of
tag-value variadic arguments that can be passed to the various
config_*() functions (CFARG_SUBMATCH, CFARG_IATTR, and CFARG_LOCATORS,
for now, plus a CFARG_EOL sentinel).
- Collapse config_search_*() into config_search() that takes these
variadic arguments.
- Convert all call sites of config_search_*() to the new signature.
Noticed several incorrect usages along the way, which will be
audited in a future commit.
 1.18.8.1 04-Aug-2021  thorpej Adapt to CFARGS().
 1.4 31-Mar-2014  martin branches: 1.4.6;
Bring back the playstation2 port - now that a toolchain for it is
available again.
 1.3 05-Dec-2009  pooka branches: 1.3.10; 1.3.16;
Remove support for NetBSD/playstation2.
 1.2 28-Apr-2008  martin branches: 1.2.14;
Remove clause 3 and 4 from TNF licenses
 1.1 16-Oct-2001  uch branches: 1.1.4; 1.1.6; 1.1.124; 1.1.126; 1.1.128;
playstation2 port
 1.1.128.2 11-Mar-2010  yamt sync with head
 1.1.128.1 16-May-2008  yamt sync with head.
 1.1.126.1 18-May-2008  yamt sync with head.
 1.1.124.1 02-Jun-2008  mjf Sync with HEAD.
 1.1.6.2 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.1.6.1 16-Oct-2001  thorpej file sbusreg.h was added on branch kqueue on 2002-01-10 19:47:29 +0000
 1.1.4.2 16-Oct-2001  uch playstation2 port
 1.1.4.1 16-Oct-2001  uch file sbusreg.h was added on branch nathanw_sa on 2001-10-16 15:38:35 +0000
 1.2.14.1 24-Oct-2010  jym Sync with HEAD
 1.3.16.1 18-May-2014  rmind sync with head
 1.3.10.1 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.4.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.4.6.1 31-Mar-2014  tls file sbusreg.h was added on branch tls-maxphys on 2014-08-20 00:03:17 +0000
 1.4 31-Mar-2014  martin branches: 1.4.6;
Bring back the playstation2 port - now that a toolchain for it is
available again.
 1.3 05-Dec-2009  pooka branches: 1.3.10; 1.3.16;
Remove support for NetBSD/playstation2.
 1.2 28-Apr-2008  martin branches: 1.2.14;
Remove clause 3 and 4 from TNF licenses
 1.1 16-Oct-2001  uch branches: 1.1.4; 1.1.6; 1.1.124; 1.1.126; 1.1.128;
playstation2 port
 1.1.128.2 11-Mar-2010  yamt sync with head
 1.1.128.1 16-May-2008  yamt sync with head.
 1.1.126.1 18-May-2008  yamt sync with head.
 1.1.124.1 02-Jun-2008  mjf Sync with HEAD.
 1.1.6.2 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.1.6.1 16-Oct-2001  thorpej file sbusvar.h was added on branch kqueue on 2002-01-10 19:47:29 +0000
 1.1.4.2 16-Oct-2001  uch playstation2 port
 1.1.4.1 16-Oct-2001  uch file sbusvar.h was added on branch nathanw_sa on 2001-10-16 15:38:36 +0000
 1.2.14.1 24-Oct-2010  jym Sync with HEAD
 1.3.16.1 18-May-2014  rmind sync with head
 1.3.10.1 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.4.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.4.6.1 31-Mar-2014  tls file sbusvar.h was added on branch tls-maxphys on 2014-08-20 00:03:17 +0000
 1.16 11-Feb-2022  riastradh playstation2: Fix some pre-device_t/softc-split device private sizes.

Nothing appears to use device_private here, so let's not allocate
anything or ask for sizeof(struct device).
 1.15 07-Aug-2021  thorpej Merge thorpej-cfargs2.
 1.14 24-Apr-2021  thorpej branches: 1.14.8;
Merge thorpej-cfargs branch:

Simplify and make extensible the config_search() / config_found() /
config_attach() interfaces: rather than having different variants for
which arguments you want pass along, just have a single call that
takes a variadic list of tag-value arguments.

Adjust all call sites:
- Simplify wherever possible; don't pass along arguments that aren't
actually needed.
- Don't be explicit about what interface attribute is attaching if
the device only has one. (More simplification.)
- Add a config_probe() function to be used in indirect configuiration
situations, making is visibly easier to see when indirect config is
in play, and allowing for future change in semantics. (As of now,
this is just a wrapper around config_match(), but that is an
implementation detail.)

Remove unnecessary or redundant interface attributes where they're not
needed.

There are currently 5 "cfargs" defined:
- CFARG_SUBMATCH (submatch function for direct config)
- CFARG_SEARCH (search function for indirect config)
- CFARG_IATTR (interface attribte)
- CFARG_LOCATORS (locators array)
- CFARG_DEVHANDLE (devhandle_t - wraps OFW, ACPI, etc. handles)

...and a sentinel value CFARG_EOL.

Add some extra sanity checking to ensure that interface attributes
aren't ambiguous.

Use CFARG_DEVHANDLE in MI FDT, OFW, and ACPI code, and macppc and shark
ports to associate those device handles with device_t instance. This
will trickle trough to more places over time (need back-end for pre-OFW
Sun OBP; any others?).
 1.13 19-Jul-2016  maya branches: 1.13.30;
CFATTACH_DECL -> CFATTACH_DECL_NEW
struct device * -> device_t
 1.12 19-Jul-2016  maya We need to include param.h before device.h, as it uses uint64_t
 1.11 18-Jul-2016  maya Include sys/device.h for cfdata_t
 1.10 18-Jul-2016  maya Adapt to change: struct cfdata * -> cfdata_t
 1.9 31-Mar-2014  martin branches: 1.9.6; 1.9.8; 1.9.12;
Bring back the playstation2 port - now that a toolchain for it is
available again.
 1.8 05-Dec-2009  pooka branches: 1.8.10; 1.8.16;
Remove support for NetBSD/playstation2.
 1.7 28-Apr-2008  martin branches: 1.7.14;
Remove clause 3 and 4 from TNF licenses
 1.6 11-Dec-2005  christos branches: 1.6.74; 1.6.76; 1.6.78;
merge ktrace-lwp.
 1.5 15-Jul-2003  lukem __KERNEL_RCSID()
 1.4 01-Jan-2003  thorpej branches: 1.4.2;
Use aprint_normal() for cfprint routines.
 1.3 02-Oct-2002  thorpej Use CFATTACH_DECL().
 1.2 27-Sep-2002  thorpej Declare all cfattach structures const.
 1.1 16-Oct-2001  uch branches: 1.1.4; 1.1.6;
playstation2 port
 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 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.1.6.1 16-Oct-2001  thorpej file spd.c was added on branch kqueue on 2002-01-10 19:47:29 +0000
 1.1.4.3 03-Jan-2003  thorpej Sync with HEAD.
 1.1.4.2 18-Oct-2002  nathanw Catch up to -current.
 1.1.4.1 16-Oct-2001  nathanw file spd.c was added on branch nathanw_sa on 2002-10-18 02:39:23 +0000
 1.4.2.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.4.2.2 18-Sep-2004  skrll Sync with HEAD.
 1.4.2.1 03-Aug-2004  skrll Sync with HEAD
 1.6.78.2 11-Mar-2010  yamt sync with head
 1.6.78.1 16-May-2008  yamt sync with head.
 1.6.76.1 18-May-2008  yamt sync with head.
 1.6.74.1 02-Jun-2008  mjf Sync with HEAD.
 1.7.14.1 24-Oct-2010  jym Sync with HEAD
 1.8.16.1 18-May-2014  rmind sync with head
 1.8.10.1 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.9.12.1 26-Jul-2016  pgoyette Sync with HEAD
 1.9.8.1 05-Oct-2016  skrll Sync with HEAD
 1.9.6.3 03-Dec-2017  jdolecek update from HEAD
 1.9.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.9.6.1 31-Mar-2014  tls file spd.c was added on branch tls-maxphys on 2014-08-20 00:03:17 +0000
 1.13.30.1 21-Mar-2021  thorpej Give config_found() the same variadic arguments treatment as
config_search(). This commit only adds the CFARG_EOL sentinel
to the existing config_found() calls. Conversion of config_found_sm_loc()
and config_found_ia() call sites will be in subsequent commits.
 1.14.8.1 04-Aug-2021  thorpej Adapt to CFARGS().
 1.4 31-Mar-2014  martin branches: 1.4.6;
Bring back the playstation2 port - now that a toolchain for it is
available again.
 1.3 05-Dec-2009  pooka branches: 1.3.10; 1.3.16;
Remove support for NetBSD/playstation2.
 1.2 28-Apr-2008  martin branches: 1.2.14;
Remove clause 3 and 4 from TNF licenses
 1.1 16-Oct-2001  uch branches: 1.1.4; 1.1.6; 1.1.124; 1.1.126; 1.1.128;
playstation2 port
 1.1.128.2 11-Mar-2010  yamt sync with head
 1.1.128.1 16-May-2008  yamt sync with head.
 1.1.126.1 18-May-2008  yamt sync with head.
 1.1.124.1 02-Jun-2008  mjf Sync with HEAD.
 1.1.6.2 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.1.6.1 16-Oct-2001  thorpej file spdreg.h was added on branch kqueue on 2002-01-10 19:47:30 +0000
 1.1.4.2 16-Oct-2001  uch playstation2 port
 1.1.4.1 16-Oct-2001  uch file spdreg.h was added on branch nathanw_sa on 2001-10-16 15:38:36 +0000
 1.2.14.1 24-Oct-2010  jym Sync with HEAD
 1.3.16.1 18-May-2014  rmind sync with head
 1.3.10.1 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.4.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.4.6.1 31-Mar-2014  tls file spdreg.h was added on branch tls-maxphys on 2014-08-20 00:03:17 +0000
 1.5 31-Mar-2014  martin branches: 1.5.6;
Bring back the playstation2 port - now that a toolchain for it is
available again.
 1.4 05-Dec-2009  pooka branches: 1.4.10; 1.4.16;
Remove support for NetBSD/playstation2.
 1.3 28-Apr-2008  martin branches: 1.3.14;
Remove clause 3 and 4 from TNF licenses
 1.2 24-Dec-2005  perry branches: 1.2.74; 1.2.76; 1.2.78;
__asm__ -> __asm
__const__ -> const
__inline__ -> inline
__volatile__ -> volatile
 1.1 16-Oct-2001  uch branches: 1.1.4; 1.1.6; 1.1.38;
playstation2 port
 1.1.38.1 21-Jun-2006  yamt sync with head.
 1.1.6.2 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.1.6.1 16-Oct-2001  thorpej file spdvar.h was added on branch kqueue on 2002-01-10 19:47:30 +0000
 1.1.4.2 16-Oct-2001  uch playstation2 port
 1.1.4.1 16-Oct-2001  uch file spdvar.h was added on branch nathanw_sa on 2001-10-16 15:38:36 +0000
 1.2.78.2 11-Mar-2010  yamt sync with head
 1.2.78.1 16-May-2008  yamt sync with head.
 1.2.76.1 18-May-2008  yamt sync with head.
 1.2.74.1 02-Jun-2008  mjf Sync with HEAD.
 1.3.14.1 24-Oct-2010  jym Sync with HEAD
 1.4.16.1 18-May-2014  rmind sync with head
 1.4.10.1 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.5.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.5.6.1 31-Mar-2014  tls file spdvar.h was added on branch tls-maxphys on 2014-08-20 00:03:17 +0000
 1.30 20-Dec-2023  thorpej Remove unnecessary <sys/malloc.h>.
 1.29 20-Oct-2017  jdolecek move ata_queue_alloc(1) and ata_queue_free() calls to ata_channel_init()
and ata_channel_destroy() respectively, to make attachment code simpler,
and to make it easier to spot special queue manipulation like cmdide(4)

on topic of PR kern/52606
 1.28 07-Oct-2017  jdolecek Merge support for SATA NCQ (Native Command Queueing) from jdolecek-ncq branch

ATA subsystem was changed to support several outstanding commands, and use
NCQ xfers if supported by both the controller and the disk, including NCQ
error recovery. Set NCQ high priority for BPRIO_TIMECRITICAL xfers
if supported. Added FUA support.

Done some work towards MP-safe, all ATA code tsleep()/wakeup() replaced
by condvars, and switched most code from spl* to mutexes (separate
wd(4) and ata channel lock).

Introduced new option WD_CHAOS_MONKEY to facilitate testing of error
handling, fixed several uncovered issues. Also fixed several problems
with kernel dump to wd(4) disk.

Tested with ahcisata(4), mvsata(4), siisata(4), piixide(4) on amd64,
with and without port multiplier, both disk and ATAPI devices; other
drivers and archs mechanically adjusted and compile-tested. NCQ is
supported for ahcisata(4) and siisata(4) for any controller, for
mvsata(4) only Gen IIe ones for now. Also enabled ATAPI support in
mvsata(4).

Thanks to Matt Thomas for initial ATA infrastructure patch, and
Jonathan A.Kollasch for siisata(4) NCQ changes and general testing.

Also fixes PR kern/43169 (wd(4)); and PR kern/11811, PR kern/47041,
PR kern/51979 (kernel dump)
 1.27 31-Mar-2014  martin branches: 1.27.6; 1.27.20;
Bring back the playstation2 port - now that a toolchain for it is
available again.
 1.26 05-Dec-2009  pooka branches: 1.26.10; 1.26.16;
Remove support for NetBSD/playstation2.
 1.25 18-Mar-2009  cegger Ansify function definitions w/o arguments. Generated with sed.
 1.24 28-Apr-2008  martin branches: 1.24.8; 1.24.14;
Remove clause 3 and 4 from TNF licenses
 1.23 18-Mar-2008  cube branches: 1.23.2; 1.23.4;
Split device_t and softc for ATA devices, as well as wd(4). Other
cosmetic changes where appropriate.
 1.22 16-Jan-2006  bouyer branches: 1.22.48; 1.22.68; 1.22.72;
properly use ata_channel->ch_ndrive:
- initialize it properly in the bus front-ends (all 2, exept in wdc_pcmcia.c
for the "Sandisk CompactFlash Card" where it's set to 1)
- remplace hardcoded '2' by ata_channel->ch_ndrive in MI IDE drivers.

From Christos Zoulas in kern/32501.
 1.21 24-Dec-2005  perry branches: 1.21.2;
__asm__ -> __asm
__const__ -> const
__inline__ -> inline
__volatile__ -> volatile
 1.20 11-Dec-2005  christos merge ktrace-lwp.
 1.19 26-Jun-2005  he branches: 1.19.2;
Rename macro-local variables so that __read_1() and __write_1() does
not use the same variable name. Fixes -Wshadow warning.
 1.18 25-Aug-2004  he It's atac_pio_cap, not atac_PIO_cap. I wonder how I could get this
to compile earlier...
 1.17 21-Aug-2004  he Make this compile again by removing a now-unused local variable
and picking up cmd_iot from the new register struct instead of the
channel struct.
 1.16 20-Aug-2004  thorpej Move most of wdc_softc into a new atac_softc structure that contains
info common to all types of ATA controllers.
 1.15 14-Aug-2004  thorpej - Split the register handles out of struct wdc_channel into a separate
wdc_regs structure, and array of which (indexed per channel) is pointed
to by struct wdc_softc.
- Move the resulting wdc_channel structure to atavar.h and rename it to
ata_channel. Rename the corresponding flags.
- Add a "ch_ndrive" member to struct ata_channel, which indicates the
maximum number of drives that can be present on the channel. For now,
this is always 2. Add an ATA_MAXDRIVES constant that places an upper
limit on this value, also currently 2.
 1.14 25-May-2004  thorpej Add the notion of "shadow registers" to the wdc driver. These shadow
registers are registers that overlap with others on many controllers, but
which may actually be distinct on some controllers. Right now, the two
shadows are:

- wd_status (usually overlaps wd_command)
- wd_features (usually overlaps wd_error)

Add a new helper function, wdc_init_shadow_regs(), used to initialize
the shadow register handles on controllers where they do actually overlap.

Partially from Jordan Rhody @ Wasabi Systems, Inc.
 1.13 06-Jan-2004  he Make these compile again after the latest adjustments.
 1.12 03-Jan-2004  thorpej More wdc_channel structure member namespace cleanup:
- channel -> ch_channel
- wdc -> ch_wdc
 1.11 03-Jan-2004  thorpej Rename "struct channel_softc" to "struct wdc_channel".
 1.10 01-Jan-2004  thorpej Rename:
- wdc_xfer to ata_xfer
- channel_queue to ata_queue
and move them to <dev/ata/atavar.h> so they can be used by non-wdc ATA
controllers. Clean up the member names of these structures while at it.
 1.9 31-Dec-2003  thorpej Simplify allocation of the channel queue.
 1.8 11-Dec-2003  uch Update for new world of indirect wdc registers.
 1.7 08-Oct-2003  bouyer Add adabus.
 1.6 25-Sep-2003  mycroft Hide the use of config_interrupts() in one place.
 1.5 19-Sep-2003  mycroft 1) Use config_interrupts() to attach IDE and ATAPI drives. This eliminates
most polling.
2) Clean up some goofiness in pciide -- get rid of the whole "candisable" path
(it's gratuitous) and simplify the code by calling pciide_map_compat_intr(),
*_set_modes() and wdc_print_modes() from central locations.
3) Add a register writability and register ghost test to eliminate phantom
drives more quickly.
 1.4 15-Jul-2003  lukem __KERNEL_RCSID()
 1.3 02-Oct-2002  thorpej branches: 1.3.6;
Use CFATTACH_DECL().
 1.2 27-Sep-2002  thorpej Declare all cfattach structures const.
 1.1 16-Oct-2001  uch branches: 1.1.4; 1.1.6;
playstation2 port
 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 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.1.6.1 16-Oct-2001  thorpej file wdc_spd.c was added on branch kqueue on 2002-01-10 19:47:31 +0000
 1.1.4.2 18-Oct-2002  nathanw Catch up to -current.
 1.1.4.1 16-Oct-2001  nathanw file wdc_spd.c was added on branch nathanw_sa on 2002-10-18 02:39:23 +0000
 1.3.6.6 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.3.6.5 21-Sep-2004  skrll Fix the sync with head I botched.
 1.3.6.4 18-Sep-2004  skrll Sync with HEAD.
 1.3.6.3 03-Sep-2004  skrll Sync with HEAD
 1.3.6.2 25-Aug-2004  skrll Sync with HEAD.
 1.3.6.1 03-Aug-2004  skrll Sync with HEAD
 1.19.2.2 24-Mar-2008  yamt sync with head.
 1.19.2.1 21-Jun-2006  yamt sync with head.
 1.21.2.1 01-Feb-2006  yamt sync with head.
 1.22.72.2 02-Jun-2008  mjf Sync with HEAD.
 1.22.72.1 03-Apr-2008  mjf Sync with HEAD.
 1.22.68.1 24-Mar-2008  keiichi sync with head.
 1.22.48.1 23-Mar-2008  matt sync with HEAD
 1.23.4.3 11-Mar-2010  yamt sync with head
 1.23.4.2 04-May-2009  yamt sync with head.
 1.23.4.1 16-May-2008  yamt sync with head.
 1.23.2.1 18-May-2008  yamt sync with head.
 1.24.14.2 24-Oct-2010  jym Sync with HEAD
 1.24.14.1 13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.24.8.1 28-Apr-2009  skrll Sync with HEAD.
 1.26.16.1 18-May-2014  rmind sync with head
 1.26.10.1 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.27.20.2 27-Sep-2017  jdolecek change wdc_init_shadow_regs() to accept only struct wdc_regs, it doesn't
touch anything else

factor out the probe-only struct ata_channel initialization to wdcprobe(), to
reduce duplication of logic in individual drivers, and to actually work now
that more init is needed beyond the memset()
 1.27.20.1 24-Apr-2017  jdolecek use ata_queue_alloc() to dynamically allocate ata_queue for ata channel
 1.27.6.3 03-Dec-2017  jdolecek update from HEAD
 1.27.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.27.6.1 31-Mar-2014  tls file wdc_spd.c was added on branch tls-maxphys on 2014-08-20 00:03:17 +0000
 1.12 31-Mar-2014  martin branches: 1.12.6;
Bring back the playstation2 port - now that a toolchain for it is
available again.
 1.11 05-Dec-2009  pooka branches: 1.11.10; 1.11.16;
Remove support for NetBSD/playstation2.
 1.10 18-Mar-2009  cegger Ansify function definitions w/o arguments. Generated with sed.
 1.9 28-Apr-2008  martin branches: 1.9.8; 1.9.14;
Remove clause 3 and 4 from TNF licenses
 1.8 15-Dec-2007  perry branches: 1.8.6; 1.8.8; 1.8.10;
__FUNCTION__ -> __func__
 1.7 17-Mar-2007  msaitoh branches: 1.7.14; 1.7.22; 1.7.26;
s/intialized/initialized/
 1.6 24-Dec-2005  perry branches: 1.6.26; 1.6.30; 1.6.32; 1.6.34;
__asm__ -> __asm
__const__ -> const
__inline__ -> inline
__volatile__ -> volatile
 1.5 24-Dec-2005  perry Remove leading __ from __(const|inline|signed|volatile) -- it is obsolete.
 1.4 11-Dec-2005  christos merge ktrace-lwp.
 1.3 15-Jul-2003  lukem branches: 1.3.16;
__KERNEL_RCSID()
 1.2 14-Nov-2001  thorpej branches: 1.2.2; 1.2.4; 1.2.20;
Merge the thorpej-mips-cache branch onto the trunk. This is an
overhaul of how caches are handled for NetBSD's MIPS ports.
 1.1 16-Oct-2001  uch branches: 1.1.2;
playstation2 port
 1.1.2.1 10-Nov-2001  uch new cache code for R5900 and playstation2
 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 14-Nov-2001  thorpej file dmac.c was added on branch kqueue on 2002-01-10 19:47:31 +0000
 1.2.2.2 14-Nov-2001  thorpej Merge the thorpej-mips-cache branch onto the trunk. This is an
overhaul of how caches are handled for NetBSD's MIPS ports.
 1.2.2.1 14-Nov-2001  thorpej file dmac.c was added on branch nathanw_sa on 2001-11-14 18:15:32 +0000
 1.3.16.3 21-Jan-2008  yamt sync with head
 1.3.16.2 03-Sep-2007  yamt sync with head.
 1.3.16.1 21-Jun-2006  yamt sync with head.
 1.6.34.1 18-Mar-2007  reinoud First attempt to bring branch in sync with HEAD
 1.6.32.1 11-Jul-2007  mjf Sync with head.
 1.6.30.1 10-Apr-2007  ad Sync with head.
 1.6.26.1 24-Mar-2007  yamt sync with head.
 1.7.26.1 02-Jan-2008  bouyer Sync with HEAD
 1.7.22.1 26-Dec-2007  ad Sync with head.
 1.7.14.1 09-Jan-2008  matt sync with HEAD
 1.8.10.3 11-Mar-2010  yamt sync with head
 1.8.10.2 04-May-2009  yamt sync with head.
 1.8.10.1 16-May-2008  yamt sync with head.
 1.8.8.1 18-May-2008  yamt sync with head.
 1.8.6.1 02-Jun-2008  mjf Sync with HEAD.
 1.9.14.2 24-Oct-2010  jym Sync with HEAD
 1.9.14.1 13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.9.8.1 28-Apr-2009  skrll Sync with HEAD.
 1.11.16.1 18-May-2014  rmind sync with head
 1.11.10.1 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.12.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.12.6.1 31-Mar-2014  tls file dmac.c was added on branch tls-maxphys on 2014-08-20 00:03:17 +0000
 1.6 19-Jun-2025  andvar s/D-cash/D-cache/ in comment.
 1.5 03-Apr-2016  martin branches: 1.5.54;
Add missing includes
 1.4 31-Mar-2014  martin branches: 1.4.6; 1.4.8;
Bring back the playstation2 port - now that a toolchain for it is
available again.
 1.3 05-Dec-2009  pooka branches: 1.3.10; 1.3.16;
Remove support for NetBSD/playstation2.
 1.2 28-Apr-2008  martin branches: 1.2.14;
Remove clause 3 and 4 from TNF licenses
 1.1 16-Oct-2001  uch branches: 1.1.4; 1.1.6; 1.1.124; 1.1.126; 1.1.128;
playstation2 port
 1.1.128.2 11-Mar-2010  yamt sync with head
 1.1.128.1 16-May-2008  yamt sync with head.
 1.1.126.1 18-May-2008  yamt sync with head.
 1.1.124.1 02-Jun-2008  mjf Sync with HEAD.
 1.1.6.2 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.1.6.1 16-Oct-2001  thorpej file dmacreg.h was added on branch kqueue on 2002-01-10 19:47:32 +0000
 1.1.4.2 16-Oct-2001  uch playstation2 port
 1.1.4.1 16-Oct-2001  uch file dmacreg.h was added on branch nathanw_sa on 2001-10-16 15:38:37 +0000
 1.2.14.1 24-Oct-2010  jym Sync with HEAD
 1.3.16.1 18-May-2014  rmind sync with head
 1.3.10.1 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.4.8.1 22-Apr-2016  skrll Sync with HEAD
 1.4.6.3 03-Dec-2017  jdolecek update from HEAD
 1.4.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.4.6.1 31-Mar-2014  tls file dmacreg.h was added on branch tls-maxphys on 2014-08-20 00:03:18 +0000
 1.5.54.1 02-Aug-2025  perseant Sync with HEAD
 1.4 31-Mar-2014  martin branches: 1.4.6;
Bring back the playstation2 port - now that a toolchain for it is
available again.
 1.3 05-Dec-2009  pooka branches: 1.3.10; 1.3.16;
Remove support for NetBSD/playstation2.
 1.2 28-Apr-2008  martin branches: 1.2.14;
Remove clause 3 and 4 from TNF licenses
 1.1 16-Oct-2001  uch branches: 1.1.4; 1.1.6; 1.1.124; 1.1.126; 1.1.128;
playstation2 port
 1.1.128.2 11-Mar-2010  yamt sync with head
 1.1.128.1 16-May-2008  yamt sync with head.
 1.1.126.1 18-May-2008  yamt sync with head.
 1.1.124.1 02-Jun-2008  mjf Sync with HEAD.
 1.1.6.2 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.1.6.1 16-Oct-2001  thorpej file dmacvar.h was added on branch kqueue on 2002-01-10 19:47:32 +0000
 1.1.4.2 16-Oct-2001  uch playstation2 port
 1.1.4.1 16-Oct-2001  uch file dmacvar.h was added on branch nathanw_sa on 2001-10-16 15:38:37 +0000
 1.2.14.1 24-Oct-2010  jym Sync with HEAD
 1.3.16.1 18-May-2014  rmind sync with head
 1.3.10.1 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.4.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.4.6.1 31-Mar-2014  tls file dmacvar.h was added on branch tls-maxphys on 2014-08-20 00:03:18 +0000
 1.6 06-Oct-2021  andvar s/embeded/embedded/ in comments and messages.
 1.5 03-Apr-2016  martin Add missing includes
 1.4 31-Mar-2014  martin branches: 1.4.6; 1.4.8;
Bring back the playstation2 port - now that a toolchain for it is
available again.
 1.3 05-Dec-2009  pooka branches: 1.3.10; 1.3.16;
Remove support for NetBSD/playstation2.
 1.2 28-Apr-2008  martin branches: 1.2.14;
Remove clause 3 and 4 from TNF licenses
 1.1 16-Oct-2001  uch branches: 1.1.4; 1.1.6; 1.1.124; 1.1.126; 1.1.128;
playstation2 port
 1.1.128.2 11-Mar-2010  yamt sync with head
 1.1.128.1 16-May-2008  yamt sync with head.
 1.1.126.1 18-May-2008  yamt sync with head.
 1.1.124.1 02-Jun-2008  mjf Sync with HEAD.
 1.1.6.2 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.1.6.1 16-Oct-2001  thorpej file eevar.h was added on branch kqueue on 2002-01-10 19:47:32 +0000
 1.1.4.2 16-Oct-2001  uch playstation2 port
 1.1.4.1 16-Oct-2001  uch file eevar.h was added on branch nathanw_sa on 2001-10-16 15:38:38 +0000
 1.2.14.1 24-Oct-2010  jym Sync with HEAD
 1.3.16.1 18-May-2014  rmind sync with head
 1.3.10.1 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.4.8.1 22-Apr-2016  skrll Sync with HEAD
 1.4.6.3 03-Dec-2017  jdolecek update from HEAD
 1.4.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.4.6.1 31-Mar-2014  tls file eevar.h was added on branch tls-maxphys on 2014-08-20 00:03:18 +0000
 1.6 31-Mar-2014  martin branches: 1.6.6;
Bring back the playstation2 port - now that a toolchain for it is
available again.
 1.5 05-Dec-2009  pooka branches: 1.5.10; 1.5.16;
Remove support for NetBSD/playstation2.
 1.4 28-Apr-2008  martin branches: 1.4.14;
Remove clause 3 and 4 from TNF licenses
 1.3 11-Dec-2005  christos branches: 1.3.74; 1.3.76; 1.3.78;
merge ktrace-lwp.
 1.2 04-Dec-2003  keihan netbsd.org -> NetBSD.org

All "netbsd.org" is now gone from src/sys/arch.
 1.1 16-Oct-2001  uch branches: 1.1.4; 1.1.6; 1.1.22;
playstation2 port
 1.1.22.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.1.22.2 18-Sep-2004  skrll Sync with HEAD.
 1.1.22.1 03-Aug-2004  skrll Sync with HEAD
 1.1.6.2 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.1.6.1 16-Oct-2001  thorpej file gifreg.h was added on branch kqueue on 2002-01-10 19:47:32 +0000
 1.1.4.2 16-Oct-2001  uch playstation2 port
 1.1.4.1 16-Oct-2001  uch file gifreg.h was added on branch nathanw_sa on 2001-10-16 15:38:38 +0000
 1.3.78.2 11-Mar-2010  yamt sync with head
 1.3.78.1 16-May-2008  yamt sync with head.
 1.3.76.1 18-May-2008  yamt sync with head.
 1.3.74.1 02-Jun-2008  mjf Sync with HEAD.
 1.4.14.1 24-Oct-2010  jym Sync with HEAD
 1.5.16.1 18-May-2014  rmind sync with head
 1.5.10.1 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.6.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.6.6.1 31-Mar-2014  tls file gifreg.h was added on branch tls-maxphys on 2014-08-20 00:03:18 +0000
 1.6 31-Mar-2014  martin branches: 1.6.6;
Bring back the playstation2 port - now that a toolchain for it is
available again.
 1.5 05-Dec-2009  pooka branches: 1.5.10; 1.5.16;
Remove support for NetBSD/playstation2.
 1.4 28-Apr-2008  martin branches: 1.4.14;
Remove clause 3 and 4 from TNF licenses
 1.3 11-Dec-2005  christos branches: 1.3.74; 1.3.76; 1.3.78;
merge ktrace-lwp.
 1.2 15-Jul-2003  lukem __KERNEL_RCSID()
 1.1 16-Oct-2001  uch branches: 1.1.4; 1.1.6; 1.1.22;
playstation2 port
 1.1.22.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.1.22.2 18-Sep-2004  skrll Sync with HEAD.
 1.1.22.1 03-Aug-2004  skrll Sync with HEAD
 1.1.6.2 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.1.6.1 16-Oct-2001  thorpej file gs.c was added on branch kqueue on 2002-01-10 19:47:33 +0000
 1.1.4.2 16-Oct-2001  uch playstation2 port
 1.1.4.1 16-Oct-2001  uch file gs.c was added on branch nathanw_sa on 2001-10-16 15:38:38 +0000
 1.3.78.2 11-Mar-2010  yamt sync with head
 1.3.78.1 16-May-2008  yamt sync with head.
 1.3.76.1 18-May-2008  yamt sync with head.
 1.3.74.1 02-Jun-2008  mjf Sync with HEAD.
 1.4.14.1 24-Oct-2010  jym Sync with HEAD
 1.5.16.1 18-May-2014  rmind sync with head
 1.5.10.1 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.6.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.6.6.1 31-Mar-2014  tls file gs.c was added on branch tls-maxphys on 2014-08-20 00:03:18 +0000
 1.24 07-Aug-2021  thorpej Merge thorpej-cfargs2.
 1.23 24-Apr-2021  thorpej branches: 1.23.8;
Merge thorpej-cfargs branch:

Simplify and make extensible the config_search() / config_found() /
config_attach() interfaces: rather than having different variants for
which arguments you want pass along, just have a single call that
takes a variadic list of tag-value arguments.

Adjust all call sites:
- Simplify wherever possible; don't pass along arguments that aren't
actually needed.
- Don't be explicit about what interface attribute is attaching if
the device only has one. (More simplification.)
- Add a config_probe() function to be used in indirect configuiration
situations, making is visibly easier to see when indirect config is
in play, and allowing for future change in semantics. (As of now,
this is just a wrapper around config_match(), but that is an
implementation detail.)

Remove unnecessary or redundant interface attributes where they're not
needed.

There are currently 5 "cfargs" defined:
- CFARG_SUBMATCH (submatch function for direct config)
- CFARG_SEARCH (search function for indirect config)
- CFARG_IATTR (interface attribte)
- CFARG_LOCATORS (locators array)
- CFARG_DEVHANDLE (devhandle_t - wraps OFW, ACPI, etc. handles)

...and a sentinel value CFARG_EOL.

Add some extra sanity checking to ensure that interface attributes
aren't ambiguous.

Use CFARG_DEVHANDLE in MI FDT, OFW, and ACPI code, and macppc and shark
ports to associate those device handles with device_t instance. This
will trickle trough to more places over time (need back-end for pre-OFW
Sun OBP; any others?).
 1.22 08-Jul-2014  martin branches: 1.22.4; 1.22.44;
Split softc, fix wsfont_find call.
 1.21 31-Mar-2014  martin branches: 1.21.2;
Bring back the playstation2 port - now that a toolchain for it is
available again.
 1.20 05-Dec-2009  pooka branches: 1.20.10; 1.20.16;
Remove support for NetBSD/playstation2.
 1.19 18-Mar-2009  cegger Ansify function definitions w/o arguments. Generated with sed.
 1.18 28-Apr-2008  martin branches: 1.18.8; 1.18.14;
Remove clause 3 and 4 from TNF licenses
 1.17 04-Mar-2007  christos branches: 1.17.40; 1.17.42; 1.17.44;
Kill caddr_t; there will be some MI fallout, but it will be fixed shortly.
 1.16 12-Apr-2006  jmmv branches: 1.16.14;
Add an extra cookie to the ioctl and mmap wsdisplay accessops that points
to the screen on which they are being called. The driver cannot guess
this by itself but it is needed to implement, at least, the getwschar and
putwschar functions in the correct place. There are no functional changes
yet.

Tested on i386 (vga, vga_raster, machfb, vesafb), macppc and sparc64.
Suggested and reviewed by macallan@.
 1.15 04-Feb-2006  christos branches: 1.15.2; 1.15.4; 1.15.6;
PR/32730: Ed Shouten: setting WS_DEFAULT_[FB]G does not change colors entirely
 1.14 04-Feb-2006  martin Fix cursor size. From Ed Schouten in PR port-playstation2/32728.
 1.13 24-Dec-2005  perry branches: 1.13.2; 1.13.4; 1.13.6;
__asm__ -> __asm
__const__ -> const
__inline__ -> inline
__volatile__ -> volatile
 1.12 17-Dec-2005  he Actually adapt to ktrace-lwp by converting the last arg to the ioctl()
function from a "struct proc *" to a "struct lwp *". Makes this build
again.
 1.11 11-Dec-2005  christos merge ktrace-lwp.
 1.10 10-Jul-2004  uch branches: 1.10.12;
gs_init(VESA_1A) hang up on SCPH-50000.
use bootloader's setting instead. (enable PCRTC only.)
 1.9 02-Nov-2003  shin fix return value of _gsfb_mmap().
 1.8 22-Oct-2003  he Fix two more instances of paddr_t vs. NULL (use 0 instead).
 1.7 15-Jul-2003  lukem __KERNEL_RCSID()
 1.6 02-Oct-2002  thorpej branches: 1.6.6;
Use CFATTACH_DECL().
 1.5 27-Sep-2002  thorpej Declare all cfattach structures const.
 1.4 04-Jul-2002  junyoung alloc_attr -> allocattr

Approved by Matthias Drochner.
 1.3 17-Mar-2002  atatat branches: 1.3.4;
Convert ioctl code to use EPASSTHROUGH instead of -1 or ENOTTY for
indicating an unhandled "command". ERESTART is -1, which can lead to
confusion. ERESTART has been moved to -3 and EPASSTHROUGH has been
placed at -4. No ioctl code should now return -1 anywhere. The
ioctl() system call is now properly restartable.
 1.2 13-Mar-2002  ad Reorganise the wsfont stuff slightly so that multiple display adapters
with different bit/byte order requirements can co-exist happily.
 1.1 16-Oct-2001  uch branches: 1.1.4; 1.1.6;
playstation2 port
 1.1.6.6 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.5 06-Sep-2002  jdolecek sync kqueue branch with HEAD
 1.1.6.4 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.1.6.3 16-Mar-2002  jdolecek Catch up with -current.
 1.1.6.2 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.1.6.1 16-Oct-2001  thorpej file gsfb.c was added on branch kqueue on 2002-01-10 19:47:33 +0000
 1.1.4.4 18-Oct-2002  nathanw Catch up to -current.
 1.1.4.3 01-Aug-2002  nathanw Catch up to -current.
 1.1.4.2 01-Apr-2002  nathanw Catch up to -current.
(CVS: It's not just a program. It's an adventure!)
 1.1.4.1 16-Oct-2001  nathanw file gsfb.c was added on branch nathanw_sa on 2002-04-01 07:41:51 +0000
 1.3.4.1 16-Jul-2002  gehenna catch up with -current.
 1.6.6.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.6.6.2 18-Sep-2004  skrll Sync with HEAD.
 1.6.6.1 03-Aug-2004  skrll Sync with HEAD
 1.10.12.2 03-Sep-2007  yamt sync with head.
 1.10.12.1 21-Jun-2006  yamt sync with head.
 1.13.6.1 22-Apr-2006  simonb Sync with head.
 1.13.4.1 09-Sep-2006  rpaulo sync with head
 1.13.2.1 18-Feb-2006  yamt sync with head.
 1.15.6.1 24-May-2006  tron Merge 2006-05-24 NetBSD-current into the "peter-altq" branch.
 1.15.4.1 19-Apr-2006  elad sync with head - hopefully this will work
 1.15.2.1 24-May-2006  yamt sync with head.
 1.16.14.1 12-Mar-2007  rmind Sync with HEAD.
 1.17.44.3 11-Mar-2010  yamt sync with head
 1.17.44.2 04-May-2009  yamt sync with head.
 1.17.44.1 16-May-2008  yamt sync with head.
 1.17.42.1 18-May-2008  yamt sync with head.
 1.17.40.1 02-Jun-2008  mjf Sync with HEAD.
 1.18.14.2 24-Oct-2010  jym Sync with HEAD
 1.18.14.1 13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.18.8.1 28-Apr-2009  skrll Sync with HEAD.
 1.20.16.1 18-May-2014  rmind sync with head
 1.20.10.1 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.21.2.1 10-Aug-2014  tls Rebase.
 1.22.44.1 21-Mar-2021  thorpej Give config_found() the same variadic arguments treatment as
config_search(). This commit only adds the CFARG_EOL sentinel
to the existing config_found() calls. Conversion of config_found_sm_loc()
and config_found_ia() call sites will be in subsequent commits.
 1.22.4.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.22.4.1 08-Jul-2014  tls file gsfb.c was added on branch tls-maxphys on 2014-08-20 00:03:18 +0000
 1.23.8.1 04-Aug-2021  thorpej Adapt to CFARGS().
 1.4 31-Mar-2014  martin branches: 1.4.6;
Bring back the playstation2 port - now that a toolchain for it is
available again.
 1.3 05-Dec-2009  pooka branches: 1.3.10; 1.3.16;
Remove support for NetBSD/playstation2.
 1.2 28-Apr-2008  martin branches: 1.2.14;
Remove clause 3 and 4 from TNF licenses
 1.1 16-Oct-2001  uch branches: 1.1.4; 1.1.6; 1.1.124; 1.1.126; 1.1.128;
playstation2 port
 1.1.128.2 11-Mar-2010  yamt sync with head
 1.1.128.1 16-May-2008  yamt sync with head.
 1.1.126.1 18-May-2008  yamt sync with head.
 1.1.124.1 02-Jun-2008  mjf Sync with HEAD.
 1.1.6.2 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.1.6.1 16-Oct-2001  thorpej file gsreg.h was added on branch kqueue on 2002-01-10 19:47:33 +0000
 1.1.4.2 16-Oct-2001  uch playstation2 port
 1.1.4.1 16-Oct-2001  uch file gsreg.h was added on branch nathanw_sa on 2001-10-16 15:38:39 +0000
 1.2.14.1 24-Oct-2010  jym Sync with HEAD
 1.3.16.1 18-May-2014  rmind sync with head
 1.3.10.1 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.4.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.4.6.1 31-Mar-2014  tls file gsreg.h was added on branch tls-maxphys on 2014-08-20 00:03:18 +0000
 1.4 31-Mar-2014  martin branches: 1.4.6;
Bring back the playstation2 port - now that a toolchain for it is
available again.
 1.3 05-Dec-2009  pooka branches: 1.3.10; 1.3.16;
Remove support for NetBSD/playstation2.
 1.2 28-Apr-2008  martin branches: 1.2.14;
Remove clause 3 and 4 from TNF licenses
 1.1 16-Oct-2001  uch branches: 1.1.4; 1.1.6; 1.1.124; 1.1.126; 1.1.128;
playstation2 port
 1.1.128.2 11-Mar-2010  yamt sync with head
 1.1.128.1 16-May-2008  yamt sync with head.
 1.1.126.1 18-May-2008  yamt sync with head.
 1.1.124.1 02-Jun-2008  mjf Sync with HEAD.
 1.1.6.2 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.1.6.1 16-Oct-2001  thorpej file gsvar.h was added on branch kqueue on 2002-01-10 19:47:33 +0000
 1.1.4.2 16-Oct-2001  uch playstation2 port
 1.1.4.1 16-Oct-2001  uch file gsvar.h was added on branch nathanw_sa on 2001-10-16 15:38:39 +0000
 1.2.14.1 24-Oct-2010  jym Sync with HEAD
 1.3.16.1 18-May-2014  rmind sync with head
 1.3.10.1 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.4.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.4.6.1 31-Mar-2014  tls file gsvar.h was added on branch tls-maxphys on 2014-08-20 00:03:18 +0000
 1.8 31-Mar-2014  martin branches: 1.8.6;
Bring back the playstation2 port - now that a toolchain for it is
available again.
 1.7 05-Dec-2009  pooka branches: 1.7.10; 1.7.16;
Remove support for NetBSD/playstation2.
 1.6 18-Mar-2009  cegger Ansify function definitions w/o arguments. Generated with sed.
 1.5 28-Apr-2008  martin branches: 1.5.8; 1.5.14;
Remove clause 3 and 4 from TNF licenses
 1.4 15-Dec-2007  perry branches: 1.4.6; 1.4.8; 1.4.10;
__FUNCTION__ -> __func__
 1.3 11-Dec-2005  christos branches: 1.3.50; 1.3.60; 1.3.64;
merge ktrace-lwp.
 1.2 15-Jul-2003  lukem branches: 1.2.16;
__KERNEL_RCSID()
 1.1 16-Oct-2001  uch branches: 1.1.4; 1.1.6; 1.1.22;
playstation2 port
 1.1.22.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.1.22.2 18-Sep-2004  skrll Sync with HEAD.
 1.1.22.1 03-Aug-2004  skrll Sync with HEAD
 1.1.6.2 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.1.6.1 16-Oct-2001  thorpej file intc.c was added on branch kqueue on 2002-01-10 19:47:34 +0000
 1.1.4.2 16-Oct-2001  uch playstation2 port
 1.1.4.1 16-Oct-2001  uch file intc.c was added on branch nathanw_sa on 2001-10-16 15:38:39 +0000
 1.2.16.1 21-Jan-2008  yamt sync with head
 1.3.64.1 02-Jan-2008  bouyer Sync with HEAD
 1.3.60.1 26-Dec-2007  ad Sync with head.
 1.3.50.1 09-Jan-2008  matt sync with HEAD
 1.4.10.3 11-Mar-2010  yamt sync with head
 1.4.10.2 04-May-2009  yamt sync with head.
 1.4.10.1 16-May-2008  yamt sync with head.
 1.4.8.1 18-May-2008  yamt sync with head.
 1.4.6.1 02-Jun-2008  mjf Sync with HEAD.
 1.5.14.2 24-Oct-2010  jym Sync with HEAD
 1.5.14.1 13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.5.8.1 28-Apr-2009  skrll Sync with HEAD.
 1.7.16.1 18-May-2014  rmind sync with head
 1.7.10.1 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.8.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.8.6.1 31-Mar-2014  tls file intc.c was added on branch tls-maxphys on 2014-08-20 00:03:18 +0000
 1.4 31-Mar-2014  martin branches: 1.4.6;
Bring back the playstation2 port - now that a toolchain for it is
available again.
 1.3 05-Dec-2009  pooka branches: 1.3.10; 1.3.16;
Remove support for NetBSD/playstation2.
 1.2 28-Apr-2008  martin branches: 1.2.14;
Remove clause 3 and 4 from TNF licenses
 1.1 16-Oct-2001  uch branches: 1.1.4; 1.1.6; 1.1.124; 1.1.126; 1.1.128;
playstation2 port
 1.1.128.2 11-Mar-2010  yamt sync with head
 1.1.128.1 16-May-2008  yamt sync with head.
 1.1.126.1 18-May-2008  yamt sync with head.
 1.1.124.1 02-Jun-2008  mjf Sync with HEAD.
 1.1.6.2 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.1.6.1 16-Oct-2001  thorpej file intcreg.h was added on branch kqueue on 2002-01-10 19:47:34 +0000
 1.1.4.2 16-Oct-2001  uch playstation2 port
 1.1.4.1 16-Oct-2001  uch file intcreg.h was added on branch nathanw_sa on 2001-10-16 15:38:39 +0000
 1.2.14.1 24-Oct-2010  jym Sync with HEAD
 1.3.16.1 18-May-2014  rmind sync with head
 1.3.10.1 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.4.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.4.6.1 31-Mar-2014  tls file intcreg.h was added on branch tls-maxphys on 2014-08-20 00:03:18 +0000
 1.4 31-Mar-2014  martin branches: 1.4.6;
Bring back the playstation2 port - now that a toolchain for it is
available again.
 1.3 05-Dec-2009  pooka branches: 1.3.10; 1.3.16;
Remove support for NetBSD/playstation2.
 1.2 28-Apr-2008  martin branches: 1.2.14;
Remove clause 3 and 4 from TNF licenses
 1.1 16-Oct-2001  uch branches: 1.1.4; 1.1.6; 1.1.124; 1.1.126; 1.1.128;
playstation2 port
 1.1.128.2 11-Mar-2010  yamt sync with head
 1.1.128.1 16-May-2008  yamt sync with head.
 1.1.126.1 18-May-2008  yamt sync with head.
 1.1.124.1 02-Jun-2008  mjf Sync with HEAD.
 1.1.6.2 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.1.6.1 16-Oct-2001  thorpej file intcvar.h was added on branch kqueue on 2002-01-10 19:47:34 +0000
 1.1.4.2 16-Oct-2001  uch playstation2 port
 1.1.4.1 16-Oct-2001  uch file intcvar.h was added on branch nathanw_sa on 2001-10-16 15:38:40 +0000
 1.2.14.1 24-Oct-2010  jym Sync with HEAD
 1.3.16.1 18-May-2014  rmind sync with head
 1.3.10.1 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.4.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.4.6.1 31-Mar-2014  tls file intcvar.h was added on branch tls-maxphys on 2014-08-20 00:03:18 +0000
 1.13 05-Nov-2023  andvar Fix format specifiers for debug code.
 1.12 16-Apr-2022  andvar s/setted/set/
 1.11 18-Jul-2016  maya ret is only used in debug cases, mark as __unused.
 1.10 31-Mar-2014  martin branches: 1.10.6; 1.10.8; 1.10.12;
Bring back the playstation2 port - now that a toolchain for it is
available again.
 1.9 05-Dec-2009  pooka branches: 1.9.10; 1.9.16;
Remove support for NetBSD/playstation2.
 1.8 18-Mar-2009  cegger Ansify function definitions w/o arguments. Generated with sed.
 1.7 28-Apr-2008  martin branches: 1.7.8; 1.7.14;
Remove clause 3 and 4 from TNF licenses
 1.6 15-Dec-2007  perry branches: 1.6.6; 1.6.8; 1.6.10;
__FUNCTION__ -> __func__
 1.5 11-Dec-2005  christos branches: 1.5.50; 1.5.60; 1.5.64;
merge ktrace-lwp.
 1.4 26-Jun-2005  he branches: 1.4.2;
Placate -Wshadow by renaming a local variable.
 1.3 22-Oct-2003  he Fix two more instances of paddr_t vs. NULL (use 0 instead).
 1.2 15-Jul-2003  lukem __KERNEL_RCSID()
 1.1 16-Oct-2001  uch branches: 1.1.4; 1.1.6; 1.1.22;
playstation2 port
 1.1.22.4 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.1.22.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.1.22.2 18-Sep-2004  skrll Sync with HEAD.
 1.1.22.1 03-Aug-2004  skrll Sync with HEAD
 1.1.6.2 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.1.6.1 16-Oct-2001  thorpej file sif.c was added on branch kqueue on 2002-01-10 19:47:34 +0000
 1.1.4.2 16-Oct-2001  uch playstation2 port
 1.1.4.1 16-Oct-2001  uch file sif.c was added on branch nathanw_sa on 2001-10-16 15:38:40 +0000
 1.4.2.1 21-Jan-2008  yamt sync with head
 1.5.64.1 02-Jan-2008  bouyer Sync with HEAD
 1.5.60.1 26-Dec-2007  ad Sync with head.
 1.5.50.1 09-Jan-2008  matt sync with HEAD
 1.6.10.3 11-Mar-2010  yamt sync with head
 1.6.10.2 04-May-2009  yamt sync with head.
 1.6.10.1 16-May-2008  yamt sync with head.
 1.6.8.1 18-May-2008  yamt sync with head.
 1.6.6.1 02-Jun-2008  mjf Sync with HEAD.
 1.7.14.2 24-Oct-2010  jym Sync with HEAD
 1.7.14.1 13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.7.8.1 28-Apr-2009  skrll Sync with HEAD.
 1.9.16.1 18-May-2014  rmind sync with head
 1.9.10.1 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.12.1 26-Jul-2016  pgoyette Sync with HEAD
 1.10.8.1 05-Oct-2016  skrll Sync with HEAD
 1.10.6.3 03-Dec-2017  jdolecek update from HEAD
 1.10.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.10.6.1 31-Mar-2014  tls file sif.c was added on branch tls-maxphys on 2014-08-20 00:03:18 +0000
 1.4 31-Mar-2014  martin branches: 1.4.6;
Bring back the playstation2 port - now that a toolchain for it is
available again.
 1.3 05-Dec-2009  pooka branches: 1.3.10; 1.3.16;
Remove support for NetBSD/playstation2.
 1.2 28-Apr-2008  martin branches: 1.2.14;
Remove clause 3 and 4 from TNF licenses
 1.1 16-Oct-2001  uch branches: 1.1.4; 1.1.6; 1.1.124; 1.1.126; 1.1.128;
playstation2 port
 1.1.128.2 11-Mar-2010  yamt sync with head
 1.1.128.1 16-May-2008  yamt sync with head.
 1.1.126.1 18-May-2008  yamt sync with head.
 1.1.124.1 02-Jun-2008  mjf Sync with HEAD.
 1.1.6.2 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.1.6.1 16-Oct-2001  thorpej file sifvar.h was added on branch kqueue on 2002-01-10 19:47:34 +0000
 1.1.4.2 16-Oct-2001  uch playstation2 port
 1.1.4.1 16-Oct-2001  uch file sifvar.h was added on branch nathanw_sa on 2001-10-16 15:38:40 +0000
 1.2.14.1 24-Oct-2010  jym Sync with HEAD
 1.3.16.1 18-May-2014  rmind sync with head
 1.3.10.1 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.4.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.4.6.1 31-Mar-2014  tls file sifvar.h was added on branch tls-maxphys on 2014-08-20 00:03:18 +0000
 1.10 23-Nov-2023  andvar Few more changes for playstation2 specific code to adapt to interface or method
declaration changes. Still long way before port code can be built though...

reviewed by martin.
 1.9 05-Jun-2021  christos Make this compile again; there is no SPL_SOFT, so use SPL_SOFTBIO. This
does not matter since we don't do __HAVE_FAST_SOFTINTS...
 1.8 31-Mar-2014  martin branches: 1.8.6; 1.8.48; 1.8.52;
Bring back the playstation2 port - now that a toolchain for it is
available again.
 1.7 05-Dec-2009  pooka branches: 1.7.10; 1.7.16;
Remove support for NetBSD/playstation2.
 1.6 18-Mar-2009  cegger Ansify function definitions w/o arguments. Generated with sed.
 1.5 28-Apr-2008  martin branches: 1.5.8; 1.5.14;
Remove clause 3 and 4 from TNF licenses
 1.4 03-Dec-2007  ad branches: 1.4.14; 1.4.16; 1.4.18;
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.3 11-Dec-2005  christos branches: 1.3.30; 1.3.48; 1.3.50; 1.3.56;
merge ktrace-lwp.
 1.2 15-Jul-2003  lukem branches: 1.2.16;
__KERNEL_RCSID()
 1.1 16-Oct-2001  uch branches: 1.1.4; 1.1.6; 1.1.22;
playstation2 port
 1.1.22.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.1.22.2 18-Sep-2004  skrll Sync with HEAD.
 1.1.22.1 03-Aug-2004  skrll Sync with HEAD
 1.1.6.2 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.1.6.1 16-Oct-2001  thorpej file timer.c was added on branch kqueue on 2002-01-10 19:47:34 +0000
 1.1.4.2 16-Oct-2001  uch playstation2 port
 1.1.4.1 16-Oct-2001  uch file timer.c was added on branch nathanw_sa on 2001-10-16 15:38:40 +0000
 1.2.16.1 07-Dec-2007  yamt sync with head
 1.3.56.1 08-Dec-2007  mjf Sync with HEAD.
 1.3.50.1 09-Jan-2008  matt sync with HEAD
 1.3.48.1 09-Dec-2007  jmcneill Sync with HEAD.
 1.3.30.1 03-Dec-2007  ad Sync with HEAD.
 1.4.18.3 11-Mar-2010  yamt sync with head
 1.4.18.2 04-May-2009  yamt sync with head.
 1.4.18.1 16-May-2008  yamt sync with head.
 1.4.16.1 18-May-2008  yamt sync with head.
 1.4.14.1 02-Jun-2008  mjf Sync with HEAD.
 1.5.14.2 24-Oct-2010  jym Sync with HEAD
 1.5.14.1 13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.5.8.1 28-Apr-2009  skrll Sync with HEAD.
 1.7.16.1 18-May-2014  rmind sync with head
 1.7.10.1 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.8.52.1 06-Jun-2021  cjep sync with head
 1.8.48.1 17-Jun-2021  thorpej Sync w/ HEAD.
 1.8.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.8.6.1 31-Mar-2014  tls file timer.c was added on branch tls-maxphys on 2014-08-20 00:03:18 +0000
 1.8 31-Mar-2014  martin branches: 1.8.6;
Bring back the playstation2 port - now that a toolchain for it is
available again.
 1.7 05-Dec-2009  pooka branches: 1.7.10; 1.7.16;
Remove support for NetBSD/playstation2.
 1.6 28-Apr-2008  martin branches: 1.6.14;
Remove clause 3 and 4 from TNF licenses
 1.5 08-Mar-2006  lukem branches: 1.5.64; 1.5.66; 1.5.68;
Use the SI capitalization for "Hz", "kHz", and "MHz" in comments and strings.
Add a space between numbers and Hz unit.
 1.4 11-Dec-2005  christos branches: 1.4.4; 1.4.6; 1.4.8; 1.4.10;
merge ktrace-lwp.
 1.3 24-Feb-2004  wiz branches: 1.3.16;
occured -> occurred. From Peter Postma.
 1.2 08-May-2003  shin branches: 1.2.2;
resolve name conflict.
s/TIMER_MAX/EE_TIMER_MAX/
 1.1 16-Oct-2001  uch branches: 1.1.4; 1.1.6;
playstation2 port
 1.1.6.2 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.1.6.1 16-Oct-2001  thorpej file timerreg.h was added on branch kqueue on 2002-01-10 19:47:34 +0000
 1.1.4.2 16-Oct-2001  uch playstation2 port
 1.1.4.1 16-Oct-2001  uch file timerreg.h was added on branch nathanw_sa on 2001-10-16 15:38:41 +0000
 1.2.2.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.2.2.2 18-Sep-2004  skrll Sync with HEAD.
 1.2.2.1 03-Aug-2004  skrll Sync with HEAD
 1.3.16.1 21-Jun-2006  yamt sync with head.
 1.4.10.1 19-Apr-2006  elad sync with head - hopefully this will work
 1.4.8.1 13-Mar-2006  yamt sync with head.
 1.4.6.1 22-Apr-2006  simonb Sync with head.
 1.4.4.1 09-Sep-2006  rpaulo sync with head
 1.5.68.2 11-Mar-2010  yamt sync with head
 1.5.68.1 16-May-2008  yamt sync with head.
 1.5.66.1 18-May-2008  yamt sync with head.
 1.5.64.1 02-Jun-2008  mjf Sync with HEAD.
 1.6.14.1 24-Oct-2010  jym Sync with HEAD
 1.7.16.1 18-May-2014  rmind sync with head
 1.7.10.1 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.8.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.8.6.1 31-Mar-2014  tls file timerreg.h was added on branch tls-maxphys on 2014-08-20 00:03:18 +0000
 1.4 31-Mar-2014  martin branches: 1.4.6;
Bring back the playstation2 port - now that a toolchain for it is
available again.
 1.3 05-Dec-2009  pooka branches: 1.3.10; 1.3.16;
Remove support for NetBSD/playstation2.
 1.2 28-Apr-2008  martin branches: 1.2.14;
Remove clause 3 and 4 from TNF licenses
 1.1 16-Oct-2001  uch branches: 1.1.4; 1.1.6; 1.1.124; 1.1.126; 1.1.128;
playstation2 port
 1.1.128.2 11-Mar-2010  yamt sync with head
 1.1.128.1 16-May-2008  yamt sync with head.
 1.1.126.1 18-May-2008  yamt sync with head.
 1.1.124.1 02-Jun-2008  mjf Sync with HEAD.
 1.1.6.2 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.1.6.1 16-Oct-2001  thorpej file timervar.h was added on branch kqueue on 2002-01-10 19:47:34 +0000
 1.1.4.2 16-Oct-2001  uch playstation2 port
 1.1.4.1 16-Oct-2001  uch file timervar.h was added on branch nathanw_sa on 2001-10-16 15:38:41 +0000
 1.2.14.1 24-Oct-2010  jym Sync with HEAD
 1.3.16.1 18-May-2014  rmind sync with head
 1.3.10.1 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.4.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.4.6.1 31-Mar-2014  tls file timervar.h was added on branch tls-maxphys on 2014-08-20 00:03:18 +0000
 1.14 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.13 12-Jul-2018  maxv branches: 1.13.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.12 21-Dec-2015  christos branches: 1.12.16; 1.12.18;
Add mips fenv.h (From FreeBSD)
 1.11 31-Mar-2014  martin branches: 1.11.6; 1.11.8;
Bring back the playstation2 port - now that a toolchain for it is
available again.
 1.10 05-Dec-2009  pooka branches: 1.10.10; 1.10.16;
Remove support for NetBSD/playstation2.
 1.9 09-Feb-2007  ad branches: 1.9.48; 1.9.62;
Merge newlock2 to head.
 1.8 26-Jul-2006  drochner branches: 1.8.4;
don't install <machine/db_machdep.h>, this is kernel only
 1.7 11-Dec-2005  christos branches: 1.7.4; 1.7.8;
merge ktrace-lwp.
 1.6 08-May-2004  kleink branches: 1.6.12;
Factor out W{CHAR,INT}_{MAX,MIN} into their own header file.
 1.5 18-Jan-2003  thorpej branches: 1.5.2;
Merge the nathanw_sa branch.
 1.4 26-Nov-2002  lukem Remove KDIR=, since SYS_INCLUDE=symlinks and KDIR are not supported any more.
 1.3 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.2 18-Oct-2001  uch branches: 1.2.4; 1.2.6; 1.2.14;
remove conf.h from install header list.
 1.1 16-Oct-2001  uch playstation2 port
 1.2.14.1 31-Aug-2002  gehenna catch up with -current.
 1.2.6.3 06-Sep-2002  jdolecek sync kqueue branch with HEAD
 1.2.6.2 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.2.6.1 18-Oct-2001  thorpej file Makefile was added on branch kqueue on 2002-01-10 19:47:35 +0000
 1.2.4.4 11-Dec-2002  thorpej Sync with HEAD.
 1.2.4.3 13-Aug-2002  nathanw Catch up to -current.
 1.2.4.2 17-Nov-2001  wdk mcontext support for MIPS based ports.
 1.2.4.1 18-Oct-2001  wdk file Makefile was added on branch nathanw_sa on 2001-11-17 23:12:12 +0000
 1.5.2.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.5.2.2 18-Sep-2004  skrll Sync with HEAD.
 1.5.2.1 03-Aug-2004  skrll Sync with HEAD
 1.6.12.2 26-Feb-2007  yamt sync with head.
 1.6.12.1 30-Dec-2006  yamt sync with head.
 1.7.8.1 11-Aug-2006  yamt sync with head
 1.7.4.1 09-Sep-2006  rpaulo sync with head
 1.8.4.1 01-Feb-2007  ad Header file cleanup.
 1.9.62.1 24-Oct-2010  jym Sync with HEAD
 1.9.48.1 11-Mar-2010  yamt sync with head
 1.10.16.1 18-May-2014  rmind sync with head
 1.10.10.1 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.11.8.1 27-Dec-2015  skrll Sync with HEAD (as of 26th Dec)
 1.11.6.3 03-Dec-2017  jdolecek update from HEAD
 1.11.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.11.6.1 31-Mar-2014  tls file Makefile was added on branch tls-maxphys on 2014-08-20 00:03:18 +0000
 1.12.18.1 10-Jun-2019  christos Sync with HEAD
 1.12.16.1 28-Jul-2018  pgoyette Sync with HEAD
 1.13.36.1 02-Aug-2025  perseant Sync with HEAD
 1.3 31-Mar-2014  martin branches: 1.3.6;
Bring back the playstation2 port - now that a toolchain for it is
available again.
 1.2 05-Dec-2009  pooka branches: 1.2.10; 1.2.16;
Remove support for NetBSD/playstation2.
 1.1 16-Oct-2001  uch branches: 1.1.4; 1.1.6; 1.1.128; 1.1.142;
playstation2 port
 1.1.142.1 24-Oct-2010  jym Sync with HEAD
 1.1.128.1 11-Mar-2010  yamt sync with head
 1.1.6.2 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.1.6.1 16-Oct-2001  thorpej file ansi.h was added on branch kqueue on 2002-01-10 19:47:35 +0000
 1.1.4.2 16-Oct-2001  uch playstation2 port
 1.1.4.1 16-Oct-2001  uch file ansi.h was added on branch nathanw_sa on 2001-10-16 15:38:42 +0000
 1.2.16.1 18-May-2014  rmind sync with head
 1.2.10.1 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.3.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.3.6.1 31-Mar-2014  tls file ansi.h was added on branch tls-maxphys on 2014-08-20 00:03:18 +0000
 1.3 31-Mar-2014  martin branches: 1.3.6;
Bring back the playstation2 port - now that a toolchain for it is
available again.
 1.2 05-Dec-2009  pooka branches: 1.2.10; 1.2.16;
Remove support for NetBSD/playstation2.
 1.1 16-Oct-2001  uch branches: 1.1.4; 1.1.6; 1.1.128; 1.1.142;
playstation2 port
 1.1.142.1 24-Oct-2010  jym Sync with HEAD
 1.1.128.1 11-Mar-2010  yamt sync with head
 1.1.6.2 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.1.6.1 16-Oct-2001  thorpej file aout_machdep.h was added on branch kqueue on 2002-01-10 19:47:35 +0000
 1.1.4.2 16-Oct-2001  uch playstation2 port
 1.1.4.1 16-Oct-2001  uch file aout_machdep.h was added on branch nathanw_sa on 2001-10-16 15:38:42 +0000
 1.2.16.1 18-May-2014  rmind sync with head
 1.2.10.1 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.3.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.3.6.1 31-Mar-2014  tls file aout_machdep.h was added on branch tls-maxphys on 2014-08-20 00:03:18 +0000
 1.3 31-Mar-2014  martin branches: 1.3.6;
Bring back the playstation2 port - now that a toolchain for it is
available again.
 1.2 05-Dec-2009  pooka branches: 1.2.10; 1.2.16;
Remove support for NetBSD/playstation2.
 1.1 16-Oct-2001  uch branches: 1.1.4; 1.1.6; 1.1.128; 1.1.142;
playstation2 port
 1.1.142.1 24-Oct-2010  jym Sync with HEAD
 1.1.128.1 11-Mar-2010  yamt sync with head
 1.1.6.2 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.1.6.1 16-Oct-2001  thorpej file asm.h was added on branch kqueue on 2002-01-10 19:47:35 +0000
 1.1.4.2 16-Oct-2001  uch playstation2 port
 1.1.4.1 16-Oct-2001  uch file asm.h was added on branch nathanw_sa on 2001-10-16 15:38:42 +0000
 1.2.16.1 18-May-2014  rmind sync with head
 1.2.10.1 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.3.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.3.6.1 31-Mar-2014  tls file asm.h was added on branch tls-maxphys on 2014-08-20 00:03:18 +0000
 1.4 31-Mar-2014  martin branches: 1.4.6;
Bring back the playstation2 port - now that a toolchain for it is
available again.
 1.3 05-Dec-2009  pooka branches: 1.3.10; 1.3.16;
Remove support for NetBSD/playstation2.
 1.2 28-Apr-2008  martin branches: 1.2.14;
Remove clause 3 and 4 from TNF licenses
 1.1 16-Oct-2001  uch branches: 1.1.4; 1.1.6; 1.1.124; 1.1.126; 1.1.128;
playstation2 port
 1.1.128.2 11-Mar-2010  yamt sync with head
 1.1.128.1 16-May-2008  yamt sync with head.
 1.1.126.1 18-May-2008  yamt sync with head.
 1.1.124.1 02-Jun-2008  mjf Sync with HEAD.
 1.1.6.2 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.1.6.1 16-Oct-2001  thorpej file autoconf.h was added on branch kqueue on 2002-01-10 19:47:35 +0000
 1.1.4.2 16-Oct-2001  uch playstation2 port
 1.1.4.1 16-Oct-2001  uch file autoconf.h was added on branch nathanw_sa on 2001-10-16 15:38:43 +0000
 1.2.14.1 24-Oct-2010  jym Sync with HEAD
 1.3.16.1 18-May-2014  rmind sync with head
 1.3.10.1 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.4.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.4.6.1 31-Mar-2014  tls file autoconf.h was added on branch tls-maxphys on 2014-08-20 00:03:18 +0000
 1.5 31-Mar-2014  martin branches: 1.5.6;
Bring back the playstation2 port - now that a toolchain for it is
available again.
 1.4 05-Dec-2009  pooka branches: 1.4.10; 1.4.16;
Remove support for NetBSD/playstation2.
 1.3 28-Apr-2008  martin branches: 1.3.14;
Remove clause 3 and 4 from TNF licenses
 1.2 24-Dec-2005  perry branches: 1.2.74; 1.2.76; 1.2.78;
__asm__ -> __asm
__const__ -> const
__inline__ -> inline
__volatile__ -> volatile
 1.1 16-Oct-2001  uch branches: 1.1.4; 1.1.6; 1.1.38;
playstation2 port
 1.1.38.1 21-Jun-2006  yamt sync with head.
 1.1.6.2 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.1.6.1 16-Oct-2001  thorpej file bootinfo.h was added on branch kqueue on 2002-01-10 19:47:35 +0000
 1.1.4.2 16-Oct-2001  uch playstation2 port
 1.1.4.1 16-Oct-2001  uch file bootinfo.h was added on branch nathanw_sa on 2001-10-16 15:38:43 +0000
 1.2.78.2 11-Mar-2010  yamt sync with head
 1.2.78.1 16-May-2008  yamt sync with head.
 1.2.76.1 18-May-2008  yamt sync with head.
 1.2.74.1 02-Jun-2008  mjf Sync with HEAD.
 1.3.14.1 24-Oct-2010  jym Sync with HEAD
 1.4.16.1 18-May-2014  rmind sync with head
 1.4.10.1 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.5.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.5.6.1 31-Mar-2014  tls file bootinfo.h was added on branch tls-maxphys on 2014-08-20 00:03:18 +0000
 1.3 31-Mar-2014  martin branches: 1.3.6;
Bring back the playstation2 port - now that a toolchain for it is
available again.
 1.2 05-Dec-2009  pooka branches: 1.2.10; 1.2.16;
Remove support for NetBSD/playstation2.
 1.1 16-Oct-2001  uch branches: 1.1.4; 1.1.6; 1.1.128; 1.1.142;
playstation2 port
 1.1.142.1 24-Oct-2010  jym Sync with HEAD
 1.1.128.1 11-Mar-2010  yamt sync with head
 1.1.6.2 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.1.6.1 16-Oct-2001  thorpej file bswap.h was added on branch kqueue on 2002-01-10 19:47:36 +0000
 1.1.4.2 16-Oct-2001  uch playstation2 port
 1.1.4.1 16-Oct-2001  uch file bswap.h was added on branch nathanw_sa on 2001-10-16 15:38:43 +0000
 1.2.16.1 18-May-2014  rmind sync with head
 1.2.10.1 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.3.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.3.6.1 31-Mar-2014  tls file bswap.h was added on branch tls-maxphys on 2014-08-20 00:03:18 +0000
 1.16 23-Sep-2019  skrll Provide PRIxBUSADDR, PRIxBUSSIZE, PRIuBUSSIZE, and PRIxBSH for all arches
to follow arm and (generic) mips.

Reviewed by christos.
 1.15 04-Jul-2014  martin branches: 1.15.4; 1.15.30;
Use .set arch=r5900 to enable r5900 specific instructions
 1.14 31-Mar-2014  martin branches: 1.14.2;
Bring back the playstation2 port - now that a toolchain for it is
available again.
 1.13 05-Dec-2009  pooka branches: 1.13.10; 1.13.16;
Remove support for NetBSD/playstation2.
 1.12 28-Apr-2008  martin branches: 1.12.14;
Remove clause 3 and 4 from TNF licenses
 1.11 04-Mar-2007  christos branches: 1.11.40; 1.11.42; 1.11.44;
Kill caddr_t; there will be some MI fallout, but it will be fixed shortly.
 1.10 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.9 16-Feb-2006  perry branches: 1.9.20;
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.8 24-Dec-2005  perry branches: 1.8.2; 1.8.4; 1.8.6;
__asm__ -> __asm
__const__ -> const
__inline__ -> inline
__volatile__ -> volatile
 1.7 11-Dec-2005  christos merge ktrace-lwp.
 1.6 09-Mar-2005  matt branches: 1.6.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.5 15-Jun-2003  fvdl branches: 1.5.2; 1.5.10; 1.5.12;
Handle 64bit DMA addresses on PCI for platforms that can (currently only
enabled on amd64). Add a dmat64 field to various PCI attach structures,
and pass it down where needed. Implement a simple new function called
pci_dma64_available(pa) to test if 64bit DMA addresses may be used.
This returns 1 iff _PCI_HAVE_DMA64 is defined in <machine/pci_machdep.h>,
and there is more than 4G of memory.
 1.4 28-Jan-2003  kent Introduce BUS_DMA_NOCACHE, and bus_dmamem_map() of i386 supports it.
 1.3 14-Aug-2002  kent Fix incorrect ## usage.
 1.2 17-Mar-2002  simonb branches: 1.2.4;
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.1 16-Oct-2001  uch branches: 1.1.4; 1.1.6;
playstation2 port
 1.1.6.4 06-Sep-2002  jdolecek sync kqueue branch with HEAD
 1.1.6.3 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.1.6.2 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.1.6.1 16-Oct-2001  thorpej file bus.h was added on branch kqueue on 2002-01-10 19:47:36 +0000
 1.1.4.3 27-Aug-2002  nathanw Catch up to -current.
 1.1.4.2 01-Apr-2002  nathanw Catch up to -current.
(CVS: It's not just a program. It's an adventure!)
 1.1.4.1 16-Oct-2001  nathanw file bus.h was added on branch nathanw_sa on 2002-04-01 07:41:51 +0000
 1.2.4.1 31-Aug-2002  gehenna catch up with -current.
 1.5.12.1 19-Mar-2005  yamt sync with head. xen and whitespace. xen part is not finished.
 1.5.10.1 29-Apr-2005  kent sync with -current
 1.5.2.1 01-Apr-2005  skrll Sync with HEAD.
 1.6.4.3 03-Sep-2007  yamt sync with head.
 1.6.4.2 26-Feb-2007  yamt sync with head.
 1.6.4.1 21-Jun-2006  yamt sync with head.
 1.8.6.1 22-Apr-2006  simonb Sync with head.
 1.8.4.1 09-Sep-2006  rpaulo sync with head
 1.8.2.1 18-Feb-2006  yamt sync with head.
 1.9.20.2 12-Mar-2007  rmind Sync with HEAD.
 1.9.20.1 27-Feb-2007  yamt - sync with head.
- move sched_changepri back to kern_synch.c as it doesn't know PPQ anymore.
 1.11.44.2 11-Mar-2010  yamt sync with head
 1.11.44.1 16-May-2008  yamt sync with head.
 1.11.42.1 18-May-2008  yamt sync with head.
 1.11.40.1 02-Jun-2008  mjf Sync with HEAD.
 1.12.14.1 24-Oct-2010  jym Sync with HEAD
 1.13.16.1 18-May-2014  rmind sync with head
 1.13.10.1 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.14.2.1 10-Aug-2014  tls Rebase.
 1.15.30.1 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.15.4.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.15.4.1 04-Jul-2014  tls file bus.h was added on branch tls-maxphys on 2014-08-20 00:03:18 +0000
 1.3 31-Mar-2014  martin branches: 1.3.6;
Bring back the playstation2 port - now that a toolchain for it is
available again.
 1.2 05-Dec-2009  pooka branches: 1.2.10; 1.2.16;
Remove support for NetBSD/playstation2.
 1.1 16-Oct-2001  uch branches: 1.1.4; 1.1.6; 1.1.128; 1.1.142;
playstation2 port
 1.1.142.1 24-Oct-2010  jym Sync with HEAD
 1.1.128.1 11-Mar-2010  yamt sync with head
 1.1.6.2 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.1.6.1 16-Oct-2001  thorpej file cdefs.h was added on branch kqueue on 2002-01-10 19:47:36 +0000
 1.1.4.2 16-Oct-2001  uch playstation2 port
 1.1.4.1 16-Oct-2001  uch file cdefs.h was added on branch nathanw_sa on 2001-10-16 15:38:43 +0000
 1.2.16.1 18-May-2014  rmind sync with head
 1.2.10.1 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.3.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.3.6.1 31-Mar-2014  tls file cdefs.h was added on branch tls-maxphys on 2014-08-20 00:03:18 +0000
 1.3 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.2 27-Feb-2002  christos branches: 1.2.8;
- define other DEV_ constants that the local port uses.
- delete cdev_decl(mm) since <sys/conf.h> does it.
 1.1 16-Oct-2001  uch branches: 1.1.4; 1.1.6;
playstation2 port
 1.1.6.4 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.3 16-Mar-2002  jdolecek Catch up with -current.
 1.1.6.2 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.1.6.1 16-Oct-2001  thorpej file conf.h was added on branch kqueue on 2002-01-10 19:47:36 +0000
 1.1.4.3 17-Sep-2002  nathanw Catch up to -current.
 1.1.4.2 28-Feb-2002  nathanw Catch up to -current.
 1.1.4.1 16-Oct-2001  nathanw file conf.h was added on branch nathanw_sa on 2002-02-28 04:11:20 +0000
 1.2.8.1 19-May-2002  gehenna Remove port-dependent conf.h.
 1.3 31-Mar-2014  martin branches: 1.3.6;
Bring back the playstation2 port - now that a toolchain for it is
available again.
 1.2 05-Dec-2009  pooka branches: 1.2.10; 1.2.16;
Remove support for NetBSD/playstation2.
 1.1 16-Oct-2001  uch branches: 1.1.4; 1.1.6; 1.1.128; 1.1.142;
playstation2 port
 1.1.142.1 24-Oct-2010  jym Sync with HEAD
 1.1.128.1 11-Mar-2010  yamt sync with head
 1.1.6.2 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.1.6.1 16-Oct-2001  thorpej file cpu.h was added on branch kqueue on 2002-01-10 19:47:36 +0000
 1.1.4.2 16-Oct-2001  uch playstation2 port
 1.1.4.1 16-Oct-2001  uch file cpu.h was added on branch nathanw_sa on 2001-10-16 15:38:44 +0000
 1.2.16.1 18-May-2014  rmind sync with head
 1.2.10.1 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.3.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.3.6.1 31-Mar-2014  tls file cpu.h was added on branch tls-maxphys on 2014-08-20 00:03:18 +0000
 1.3 31-Mar-2014  martin branches: 1.3.6;
Bring back the playstation2 port - now that a toolchain for it is
available again.
 1.2 05-Dec-2009  pooka branches: 1.2.10; 1.2.16;
Remove support for NetBSD/playstation2.
 1.1 05-Feb-2003  nakayama branches: 1.1.108; 1.1.122;
Replace machine/rnd.h with more appropriate name to share it
with cycle counter based microtime in kern/kern_microtime.c.
 1.1.122.1 24-Oct-2010  jym Sync with HEAD
 1.1.108.1 11-Mar-2010  yamt sync with head
 1.2.16.1 18-May-2014  rmind sync with head
 1.2.10.1 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.3.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.3.6.1 31-Mar-2014  tls file cpu_counter.h was added on branch tls-maxphys on 2014-08-20 00:03:18 +0000
 1.4 06-Nov-2017  christos Cleanup and clarify the ELFSIZE mess:

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

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

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

In sys/exec_elf.h, if ELFSIZE is not set, it is set to KERN_ELFSIZE
for the kernel and ARCH_ELFSIZE for userland. These defaults should
eliminate the need for most manual ELFSIZE setting.
 1.3 31-Mar-2014  martin branches: 1.3.6;
Bring back the playstation2 port - now that a toolchain for it is
available again.
 1.2 05-Dec-2009  pooka branches: 1.2.10; 1.2.16;
Remove support for NetBSD/playstation2.
 1.1 16-Oct-2001  uch branches: 1.1.4; 1.1.6; 1.1.128; 1.1.142;
playstation2 port
 1.1.142.1 24-Oct-2010  jym Sync with HEAD
 1.1.128.1 11-Mar-2010  yamt sync with head
 1.1.6.2 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.1.6.1 16-Oct-2001  thorpej file db_machdep.h was added on branch kqueue on 2002-01-10 19:47:36 +0000
 1.1.4.2 16-Oct-2001  uch playstation2 port
 1.1.4.1 16-Oct-2001  uch file db_machdep.h was added on branch nathanw_sa on 2001-10-16 15:38:44 +0000
 1.2.16.1 18-May-2014  rmind sync with head
 1.2.10.1 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.3.6.3 03-Dec-2017  jdolecek update from HEAD
 1.3.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.3.6.1 31-Mar-2014  tls file db_machdep.h was added on branch tls-maxphys on 2014-08-20 00:03:18 +0000
 1.10 01-Apr-2014  martin branches: 1.10.6;
Seems we use MBR labels
 1.9 31-Mar-2014  martin Bring back the playstation2 port - now that a toolchain for it is
available again.
 1.8 05-Dec-2009  pooka branches: 1.8.10; 1.8.16;
Remove support for NetBSD/playstation2.
 1.7 23-Nov-2009  pooka If cpu_disklabel includes struct dkbad, define __HAVE_DISKLABEL_DKBAD.
This allows use of subr_disk_mbr on all archs. Default to it for
the rump disk component. No functional change for regular kernels.
(The other option would've been to include dkbad in disklabels
everywhere, but arguably this approach has less possible side-effects,
especially given that wedges and related magic will take over the
world any second now).
 1.6 11-Dec-2005  christos branches: 1.6.78; 1.6.92;
merge ktrace-lwp.
 1.5 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.4 08-Oct-2003  lukem Overhaul MBR handling (part 1):

<sys/bootblock.h>:
* Added definitions for the Master Boot Record (MBR) used by
a variety of systems (primarily i386), including the format
of the BIOS Parameter Block (BPB).
This information was cribbed from a variety of sources
including <sys/disklabel_mbr.h> which this is a superset of.

As part of this, some data structure elements and #defines
were renamed to be more "namespace friendly" and consistent
with other bootblocks and MBR documentation.
Update all uses of the old names to the new names.

<sys/disklabel_mbr.h>:
* Deprecated in favor of <sys/bootblock.h> (the latter is more
"host tool" friendly).

amd64 & i386:
* Renamed /usr/mdec/bootxx_dosfs to /usr/mdec/bootxx_msdos, to
be consistent with the naming convention of the msdosfs tools.

* Removed /usr/mdec/bootxx_ufs, as it's equivalent to bootxx_ffsv1
and it's confusing to have two functionally equivalent bootblocks,
especially given that "ufs" has multiple meanings (it could be
a synonym for "ffs", or the group of ffs/lfs/ext2fs file systems).

* Rework pbr.S (the first sector of bootxx_*):
+ Ensure that BPB (bytes 11..89) and the partition table
(bytes 446..509) do not contain code.
+ Add support for booting from FAT partitions if BOOT_FROM_FAT
is defined. (Only set for bootxx_msdos).
+ Remove "dummy" partition 3; if people want to installboot(8)
these to the start of the disk they can use fdisk(8) to
create a real MBR partition table...
+ Compile with TERSE_ERROR so it fits because of the above.
Whilst this is less user friendly, I feel it's important
to have a valid partition table and BPB in the MBR/PBR.

* Renamed /usr/mdec/biosboot to /usr/mdec/boot, to be consistent
with other platforms.

* Enable SUPPORT_DOSFS in /usr/mdec/boot (stage2), so that
we can boot off FAT partitions.

* Crank version of /usr/mdec/boot to 3.1, and fix some of the other
entries in the version file.

installboot(8) (i386):
* Read the existing MBR of the filesystem and retain the BIOS
Parameter Block (BPB) in bytes 11..89 and the MBR partition
table in bytes 446..509. (Previously installboot(8) would
trash those two sections of the MBR.)

mbrlabel(8):
* Use sys/lib/libkern/xlat_mbr_fstype.c instead of homegrown code
to map the MBR partition type to the NetBSD disklabel type.


Test built "make release" for i386, and new bootblocks verified to work
(even off FAT!).
 1.3 18-May-2002  uch branches: 1.3.8;
BSD raw partition is obsolete. raw partition is changed to C.
 1.2 26-Mar-2002  uch branches: 1.2.2;
change MAXPARTITIONS to 16.
 1.1 16-Oct-2001  uch branches: 1.1.4; 1.1.6;
playstation2 port
 1.1.6.3 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.1.6.2 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.1.6.1 16-Oct-2001  thorpej file disklabel.h was added on branch kqueue on 2002-01-10 19:47:36 +0000
 1.1.4.3 20-Jun-2002  nathanw Catch up to -current.
 1.1.4.2 01-Apr-2002  nathanw Catch up to -current.
(CVS: It's not just a program. It's an adventure!)
 1.1.4.1 16-Oct-2001  nathanw file disklabel.h was added on branch nathanw_sa on 2002-04-01 07:41:52 +0000
 1.2.2.1 30-May-2002  gehenna Catch up with -current.
 1.3.8.4 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.3.8.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.3.8.2 18-Sep-2004  skrll Sync with HEAD.
 1.3.8.1 03-Aug-2004  skrll Sync with HEAD
 1.6.92.1 24-Oct-2010  jym Sync with HEAD
 1.6.78.1 11-Mar-2010  yamt sync with head
 1.8.16.1 18-May-2014  rmind sync with head
 1.8.10.1 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.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.10.6.1 01-Apr-2014  tls file disklabel.h was added on branch tls-maxphys on 2014-08-20 00:03:18 +0000
 1.3 31-Mar-2014  martin branches: 1.3.6;
Bring back the playstation2 port - now that a toolchain for it is
available again.
 1.2 05-Dec-2009  pooka branches: 1.2.10; 1.2.16;
Remove support for NetBSD/playstation2.
 1.1 16-Oct-2001  uch branches: 1.1.4; 1.1.6; 1.1.128; 1.1.142;
playstation2 port
 1.1.142.1 24-Oct-2010  jym Sync with HEAD
 1.1.128.1 11-Mar-2010  yamt sync with head
 1.1.6.2 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.1.6.1 16-Oct-2001  thorpej file ecoff_machdep.h was added on branch kqueue on 2002-01-10 19:47:37 +0000
 1.1.4.2 16-Oct-2001  uch playstation2 port
 1.1.4.1 16-Oct-2001  uch file ecoff_machdep.h was added on branch nathanw_sa on 2001-10-16 15:38:44 +0000
 1.2.16.1 18-May-2014  rmind sync with head
 1.2.10.1 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.3.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.3.6.1 31-Mar-2014  tls file ecoff_machdep.h was added on branch tls-maxphys on 2014-08-20 00:03:18 +0000
 1.3 31-Mar-2014  martin branches: 1.3.6;
Bring back the playstation2 port - now that a toolchain for it is
available again.
 1.2 05-Dec-2009  pooka branches: 1.2.10; 1.2.16;
Remove support for NetBSD/playstation2.
 1.1 16-Oct-2001  uch branches: 1.1.4; 1.1.6; 1.1.128; 1.1.142; 1.1.146;
playstation2 port
 1.1.146.1 22-Aug-2009  matt Move ELF{32,64}_MACHDEP_ENDIANNESS to <mips/elf_machdep.h>
 1.1.142.1 24-Oct-2010  jym Sync with HEAD
 1.1.128.1 11-Mar-2010  yamt sync with head
 1.1.6.2 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.1.6.1 16-Oct-2001  thorpej file elf_machdep.h was added on branch kqueue on 2002-01-10 19:47:37 +0000
 1.1.4.2 16-Oct-2001  uch playstation2 port
 1.1.4.1 16-Oct-2001  uch file elf_machdep.h was added on branch nathanw_sa on 2001-10-16 15:38:44 +0000
 1.2.16.1 18-May-2014  rmind sync with head
 1.2.10.1 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.3.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.3.6.1 31-Mar-2014  tls file elf_machdep.h was added on branch tls-maxphys on 2014-08-20 00:03:18 +0000
 1.3 31-Mar-2014  martin branches: 1.3.6;
Bring back the playstation2 port - now that a toolchain for it is
available again.
 1.2 05-Dec-2009  pooka branches: 1.2.10; 1.2.16;
Remove support for NetBSD/playstation2.
 1.1 16-Oct-2001  uch branches: 1.1.4; 1.1.6; 1.1.128; 1.1.142;
playstation2 port
 1.1.142.1 24-Oct-2010  jym Sync with HEAD
 1.1.128.1 11-Mar-2010  yamt sync with head
 1.1.6.2 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.1.6.1 16-Oct-2001  thorpej file endian.h was added on branch kqueue on 2002-01-10 19:47:37 +0000
 1.1.4.2 16-Oct-2001  uch playstation2 port
 1.1.4.1 16-Oct-2001  uch file endian.h was added on branch nathanw_sa on 2001-10-16 15:38:45 +0000
 1.2.16.1 18-May-2014  rmind sync with head
 1.2.10.1 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.3.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.3.6.1 31-Mar-2014  tls file endian.h was added on branch tls-maxphys on 2014-08-20 00:03:18 +0000
 1.3 31-Mar-2014  martin branches: 1.3.6;
Bring back the playstation2 port - now that a toolchain for it is
available again.
 1.2 05-Dec-2009  pooka branches: 1.2.10; 1.2.16;
Remove support for NetBSD/playstation2.
 1.1 16-Oct-2001  uch branches: 1.1.4; 1.1.6; 1.1.128; 1.1.142;
playstation2 port
 1.1.142.1 24-Oct-2010  jym Sync with HEAD
 1.1.128.1 11-Mar-2010  yamt sync with head
 1.1.6.2 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.1.6.1 16-Oct-2001  thorpej file endian_machdep.h was added on branch kqueue on 2002-01-10 19:47:37 +0000
 1.1.4.2 16-Oct-2001  uch playstation2 port
 1.1.4.1 16-Oct-2001  uch file endian_machdep.h was added on branch nathanw_sa on 2001-10-16 15:38:45 +0000
 1.2.16.1 18-May-2014  rmind sync with head
 1.2.10.1 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.3.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.3.6.1 31-Mar-2014  tls file endian_machdep.h was added on branch tls-maxphys on 2014-08-20 00:03:18 +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:35 +0000
 1.1.2.2 27-Dec-2015  skrll Sync with HEAD (as of 26th Dec)
 1.1.2.1 21-Dec-2015  skrll file fenv.h was added on branch nick-nhusb on 2015-12-27 12:09:40 +0000
 1.3 31-Mar-2014  martin branches: 1.3.6;
Bring back the playstation2 port - now that a toolchain for it is
available again.
 1.2 05-Dec-2009  pooka branches: 1.2.10; 1.2.16;
Remove support for NetBSD/playstation2.
 1.1 16-Oct-2001  uch branches: 1.1.4; 1.1.6; 1.1.128; 1.1.142;
playstation2 port
 1.1.142.1 24-Oct-2010  jym Sync with HEAD
 1.1.128.1 11-Mar-2010  yamt sync with head
 1.1.6.2 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.1.6.1 16-Oct-2001  thorpej file float.h was added on branch kqueue on 2002-01-10 19:47:38 +0000
 1.1.4.2 16-Oct-2001  uch playstation2 port
 1.1.4.1 16-Oct-2001  uch file float.h was added on branch nathanw_sa on 2001-10-16 15:38:45 +0000
 1.2.16.1 18-May-2014  rmind sync with head
 1.2.10.1 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.3.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.3.6.1 31-Mar-2014  tls file float.h was added on branch tls-maxphys on 2014-08-20 00:03:18 +0000
 1.3 31-Mar-2014  martin branches: 1.3.6;
Bring back the playstation2 port - now that a toolchain for it is
available again.
 1.2 05-Dec-2009  pooka branches: 1.2.10; 1.2.16;
Remove support for NetBSD/playstation2.
 1.1 16-Oct-2001  uch branches: 1.1.4; 1.1.6; 1.1.128; 1.1.142;
playstation2 port
 1.1.142.1 24-Oct-2010  jym Sync with HEAD
 1.1.128.1 11-Mar-2010  yamt sync with head
 1.1.6.2 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.1.6.1 16-Oct-2001  thorpej file ieee.h was added on branch kqueue on 2002-01-10 19:47:38 +0000
 1.1.4.2 16-Oct-2001  uch playstation2 port
 1.1.4.1 16-Oct-2001  uch file ieee.h was added on branch nathanw_sa on 2001-10-16 15:38:45 +0000
 1.2.16.1 18-May-2014  rmind sync with head
 1.2.10.1 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.3.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.3.6.1 31-Mar-2014  tls file ieee.h was added on branch tls-maxphys on 2014-08-20 00:03:18 +0000
 1.3 31-Mar-2014  martin branches: 1.3.6;
Bring back the playstation2 port - now that a toolchain for it is
available again.
 1.2 05-Dec-2009  pooka branches: 1.2.10; 1.2.16;
Remove support for NetBSD/playstation2.
 1.1 16-Oct-2001  uch branches: 1.1.4; 1.1.6; 1.1.128; 1.1.142;
playstation2 port
 1.1.142.1 24-Oct-2010  jym Sync with HEAD
 1.1.128.1 11-Mar-2010  yamt sync with head
 1.1.6.2 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.1.6.1 16-Oct-2001  thorpej file ieeefp.h was added on branch kqueue on 2002-01-10 19:47:38 +0000
 1.1.4.2 16-Oct-2001  uch playstation2 port
 1.1.4.1 16-Oct-2001  uch file ieeefp.h was added on branch nathanw_sa on 2001-10-16 15:38:45 +0000
 1.2.16.1 18-May-2014  rmind sync with head
 1.2.10.1 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.3.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.3.6.1 31-Mar-2014  tls file ieeefp.h was added on branch tls-maxphys on 2014-08-20 00:03:18 +0000
 1.3 31-Mar-2014  martin branches: 1.3.6;
Bring back the playstation2 port - now that a toolchain for it is
available again.
 1.2 05-Dec-2009  pooka branches: 1.2.10; 1.2.16;
Remove support for NetBSD/playstation2.
 1.1 16-Oct-2001  uch branches: 1.1.4; 1.1.6; 1.1.128; 1.1.142;
playstation2 port
 1.1.142.1 24-Oct-2010  jym Sync with HEAD
 1.1.128.1 11-Mar-2010  yamt sync with head
 1.1.6.2 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.1.6.1 16-Oct-2001  thorpej file int_const.h was added on branch kqueue on 2002-01-10 19:47:38 +0000
 1.1.4.2 16-Oct-2001  uch playstation2 port
 1.1.4.1 16-Oct-2001  uch file int_const.h was added on branch nathanw_sa on 2001-10-16 15:38:46 +0000
 1.2.16.1 18-May-2014  rmind sync with head
 1.2.10.1 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.3.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.3.6.1 31-Mar-2014  tls file int_const.h was added on branch tls-maxphys on 2014-08-20 00:03:18 +0000
 1.3 31-Mar-2014  martin branches: 1.3.6;
Bring back the playstation2 port - now that a toolchain for it is
available again.
 1.2 05-Dec-2009  pooka branches: 1.2.10; 1.2.16;
Remove support for NetBSD/playstation2.
 1.1 16-Oct-2001  uch branches: 1.1.4; 1.1.6; 1.1.128; 1.1.142;
playstation2 port
 1.1.142.1 24-Oct-2010  jym Sync with HEAD
 1.1.128.1 11-Mar-2010  yamt sync with head
 1.1.6.2 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.1.6.1 16-Oct-2001  thorpej file int_fmtio.h was added on branch kqueue on 2002-01-10 19:47:38 +0000
 1.1.4.2 16-Oct-2001  uch playstation2 port
 1.1.4.1 16-Oct-2001  uch file int_fmtio.h was added on branch nathanw_sa on 2001-10-16 15:38:46 +0000
 1.2.16.1 18-May-2014  rmind sync with head
 1.2.10.1 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.3.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.3.6.1 31-Mar-2014  tls file int_fmtio.h was added on branch tls-maxphys on 2014-08-20 00:03:18 +0000
 1.3 31-Mar-2014  martin branches: 1.3.6;
Bring back the playstation2 port - now that a toolchain for it is
available again.
 1.2 05-Dec-2009  pooka branches: 1.2.10; 1.2.16;
Remove support for NetBSD/playstation2.
 1.1 16-Oct-2001  uch branches: 1.1.4; 1.1.6; 1.1.128; 1.1.142;
playstation2 port
 1.1.142.1 24-Oct-2010  jym Sync with HEAD
 1.1.128.1 11-Mar-2010  yamt sync with head
 1.1.6.2 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.1.6.1 16-Oct-2001  thorpej file int_limits.h was added on branch kqueue on 2002-01-10 19:47:38 +0000
 1.1.4.2 16-Oct-2001  uch playstation2 port
 1.1.4.1 16-Oct-2001  uch file int_limits.h was added on branch nathanw_sa on 2001-10-16 15:38:46 +0000
 1.2.16.1 18-May-2014  rmind sync with head
 1.2.10.1 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.3.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.3.6.1 31-Mar-2014  tls file int_limits.h was added on branch tls-maxphys on 2014-08-20 00:03:18 +0000
 1.3 31-Mar-2014  martin branches: 1.3.6;
Bring back the playstation2 port - now that a toolchain for it is
available again.
 1.2 05-Dec-2009  pooka branches: 1.2.10; 1.2.16;
Remove support for NetBSD/playstation2.
 1.1 16-Oct-2001  uch branches: 1.1.4; 1.1.6; 1.1.128; 1.1.142;
playstation2 port
 1.1.142.1 24-Oct-2010  jym Sync with HEAD
 1.1.128.1 11-Mar-2010  yamt sync with head
 1.1.6.2 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.1.6.1 16-Oct-2001  thorpej file int_mwgwtypes.h was added on branch kqueue on 2002-01-10 19:47:39 +0000
 1.1.4.2 16-Oct-2001  uch playstation2 port
 1.1.4.1 16-Oct-2001  uch file int_mwgwtypes.h was added on branch nathanw_sa on 2001-10-16 15:38:46 +0000
 1.2.16.1 18-May-2014  rmind sync with head
 1.2.10.1 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.3.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.3.6.1 31-Mar-2014  tls file int_mwgwtypes.h was added on branch tls-maxphys on 2014-08-20 00:03:18 +0000
 1.3 31-Mar-2014  martin branches: 1.3.6;
Bring back the playstation2 port - now that a toolchain for it is
available again.
 1.2 05-Dec-2009  pooka branches: 1.2.10; 1.2.16;
Remove support for NetBSD/playstation2.
 1.1 16-Oct-2001  uch branches: 1.1.4; 1.1.6; 1.1.128; 1.1.142;
playstation2 port
 1.1.142.1 24-Oct-2010  jym Sync with HEAD
 1.1.128.1 11-Mar-2010  yamt sync with head
 1.1.6.2 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.1.6.1 16-Oct-2001  thorpej file int_types.h was added on branch kqueue on 2002-01-10 19:47:39 +0000
 1.1.4.2 16-Oct-2001  uch playstation2 port
 1.1.4.1 16-Oct-2001  uch file int_types.h was added on branch nathanw_sa on 2001-10-16 15:38:46 +0000
 1.2.16.1 18-May-2014  rmind sync with head
 1.2.10.1 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.3.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.3.6.1 31-Mar-2014  tls file int_types.h was added on branch tls-maxphys on 2014-08-20 00:03:18 +0000
 1.12 31-Mar-2014  martin branches: 1.12.6;
Adapt to -current
 1.11 31-Mar-2014  martin Bring back the playstation2 port - now that a toolchain for it is
available again.
 1.10 05-Dec-2009  pooka branches: 1.10.10; 1.10.16;
Remove support for NetBSD/playstation2.
 1.9 28-Apr-2008  martin branches: 1.9.14;
Remove clause 3 and 4 from TNF licenses
 1.8 04-Jan-2008  ad branches: 1.8.6; 1.8.8; 1.8.10;
Don't pull in unrelated gunk.
 1.7 03-Dec-2007  ad branches: 1.7.6;
Interrupt handling changes, in discussion since February:

- Reduce available SPL levels for hardware devices to none, vm, sched, high.
- Acquire kernel_lock only for interrupts at IPL_VM.
- Implement threaded soft interrupts.
 1.6 17-Oct-2007  garbled branches: 1.6.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.5 17-Jun-2007  tsutsui branches: 1.5.8; 1.5.10;
Move declaretions of _spl*() and _{clr,set}softintr() functions
(which are in mips/locore.S) into <mips/locore.h>
from various MD files.
 1.4 16-Feb-2007  ad branches: 1.4.6; 1.4.8; 1.4.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.3 02-Jan-2002  uch branches: 1.3.2; 1.3.34;
_intr_suspend and _intr_resume declarations are moved to intr.h.
 1.2 14-Nov-2001  thorpej branches: 1.2.2;
Merge the thorpej-mips-cache branch onto the trunk. This is an
overhaul of how caches are handled for NetBSD's MIPS ports.
 1.1 16-Oct-2001  uch branches: 1.1.2;
playstation2 port
 1.1.2.1 10-Nov-2001  uch new cache code for R5900 and playstation2
 1.2.2.3 28-Feb-2002  nathanw Catch up to -current.
 1.2.2.2 11-Jan-2002  nathanw More catchup.
 1.2.2.1 14-Nov-2001  nathanw file intr.h was added on branch nathanw_sa on 2002-01-11 23:38:41 +0000
 1.3.34.4 21-Jan-2008  yamt sync with head
 1.3.34.3 07-Dec-2007  yamt sync with head
 1.3.34.2 03-Sep-2007  yamt sync with head.
 1.3.34.1 26-Feb-2007  yamt sync with head.
 1.3.2.2 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.3.2.1 02-Jan-2002  thorpej file intr.h was added on branch kqueue on 2002-01-10 19:47:39 +0000
 1.4.14.1 26-Jun-2007  garbled Sync with HEAD.
 1.4.8.1 11-Jul-2007  mjf Sync with head.
 1.4.6.2 03-Dec-2007  ad Sync with HEAD.
 1.4.6.1 15-Jul-2007  ad Sync with head.
 1.5.10.2 09-Jan-2008  matt sync with HEAD
 1.5.10.1 06-Nov-2007  matt sync with HEAD
 1.5.8.1 09-Dec-2007  jmcneill Sync with HEAD.
 1.6.2.2 18-Feb-2008  mjf Sync with HEAD.
 1.6.2.1 08-Dec-2007  mjf Sync with HEAD.
 1.7.6.1 08-Jan-2008  bouyer Sync with HEAD
 1.8.10.2 11-Mar-2010  yamt sync with head
 1.8.10.1 16-May-2008  yamt sync with head.
 1.8.8.1 18-May-2008  yamt sync with head.
 1.8.6.1 02-Jun-2008  mjf Sync with HEAD.
 1.9.14.1 24-Oct-2010  jym Sync with HEAD
 1.10.16.1 18-May-2014  rmind sync with head
 1.10.10.1 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.12.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.12.6.1 31-Mar-2014  tls file intr.h was added on branch tls-maxphys on 2014-08-20 00:03:18 +0000
 1.3 31-Mar-2014  martin branches: 1.3.6;
Bring back the playstation2 port - now that a toolchain for it is
available again.
 1.2 05-Dec-2009  pooka branches: 1.2.10; 1.2.16;
Remove support for NetBSD/playstation2.
 1.1 16-Oct-2001  uch branches: 1.1.4; 1.1.6; 1.1.128; 1.1.142;
playstation2 port
 1.1.142.1 24-Oct-2010  jym Sync with HEAD
 1.1.128.1 11-Mar-2010  yamt sync with head
 1.1.6.2 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.1.6.1 16-Oct-2001  thorpej file kcore.h was added on branch kqueue on 2002-01-10 19:47:39 +0000
 1.1.4.2 16-Oct-2001  uch playstation2 port
 1.1.4.1 16-Oct-2001  uch file kcore.h was added on branch nathanw_sa on 2001-10-16 15:38:47 +0000
 1.2.16.1 18-May-2014  rmind sync with head
 1.2.10.1 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.3.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.3.6.1 31-Mar-2014  tls file kcore.h was added on branch tls-maxphys on 2014-08-20 00:03:18 +0000
 1.3 31-Mar-2014  martin branches: 1.3.6;
Bring back the playstation2 port - now that a toolchain for it is
available again.
 1.2 05-Dec-2009  pooka branches: 1.2.10; 1.2.16;
Remove support for NetBSD/playstation2.
 1.1 16-Oct-2001  uch branches: 1.1.4; 1.1.6; 1.1.128; 1.1.142;
playstation2 port
 1.1.142.1 24-Oct-2010  jym Sync with HEAD
 1.1.128.1 11-Mar-2010  yamt sync with head
 1.1.6.2 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.1.6.1 16-Oct-2001  thorpej file kdbparam.h was added on branch kqueue on 2002-01-10 19:47:39 +0000
 1.1.4.2 16-Oct-2001  uch playstation2 port
 1.1.4.1 16-Oct-2001  uch file kdbparam.h was added on branch nathanw_sa on 2001-10-16 15:38:47 +0000
 1.2.16.1 18-May-2014  rmind sync with head
 1.2.10.1 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.3.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.3.6.1 31-Mar-2014  tls file kdbparam.h was added on branch tls-maxphys on 2014-08-20 00:03:18 +0000
 1.8 26-Mar-2023  andvar fix various typos in documentation, comments and sysctl device description.
mainly aion -> ation and inlude -> include.
 1.7 06-Sep-2020  riastradh Fix some more uvm header fallout. Add include guards while here.
 1.6 11-Jun-2015  matt Declare or #define avail_start and avail_end as appropriate
 1.5 31-Mar-2014  martin branches: 1.5.6; 1.5.8;
Bring back the playstation2 port - now that a toolchain for it is
available again.
 1.4 05-Dec-2009  pooka branches: 1.4.10; 1.4.16;
Remove support for NetBSD/playstation2.
 1.3 28-Apr-2008  martin branches: 1.3.14;
Remove clause 3 and 4 from TNF licenses
 1.2 11-Dec-2005  christos branches: 1.2.74; 1.2.76; 1.2.78;
merge ktrace-lwp.
 1.1 06-Jul-2004  uch branches: 1.1.2;
MI part of kloader moved to dev/kloader.c from arch/hpc/hpc/
dreamcast and playstation2 port are changed to use this.
 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 06-Jul-2004  skrll file kloader.h was added on branch ktrace-lwp on 2004-08-03 10:39:06 +0000
 1.2.78.2 11-Mar-2010  yamt sync with head
 1.2.78.1 16-May-2008  yamt sync with head.
 1.2.76.1 18-May-2008  yamt sync with head.
 1.2.74.1 02-Jun-2008  mjf Sync with HEAD.
 1.3.14.1 24-Oct-2010  jym Sync with HEAD
 1.4.16.1 18-May-2014  rmind sync with head
 1.4.10.1 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.5.8.1 22-Sep-2015  skrll Sync with HEAD
 1.5.6.3 03-Dec-2017  jdolecek update from HEAD
 1.5.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.5.6.1 31-Mar-2014  tls file kloader.h was added on branch tls-maxphys on 2014-08-20 00:03:18 +0000
 1.3 31-Mar-2014  martin branches: 1.3.6;
Bring back the playstation2 port - now that a toolchain for it is
available again.
 1.2 05-Dec-2009  pooka branches: 1.2.10; 1.2.16;
Remove support for NetBSD/playstation2.
 1.1 16-Oct-2001  uch branches: 1.1.4; 1.1.6; 1.1.128; 1.1.142;
playstation2 port
 1.1.142.1 24-Oct-2010  jym Sync with HEAD
 1.1.128.1 11-Mar-2010  yamt sync with head
 1.1.6.2 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.1.6.1 16-Oct-2001  thorpej file limits.h was added on branch kqueue on 2002-01-10 19:47:39 +0000
 1.1.4.2 16-Oct-2001  uch playstation2 port
 1.1.4.1 16-Oct-2001  uch file limits.h was added on branch nathanw_sa on 2001-10-16 15:38:47 +0000
 1.2.16.1 18-May-2014  rmind sync with head
 1.2.10.1 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.3.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.3.6.1 31-Mar-2014  tls file limits.h was added on branch tls-maxphys on 2014-08-20 00:03:18 +0000
 1.3 31-Mar-2014  martin branches: 1.3.6;
Bring back the playstation2 port - now that a toolchain for it is
available again.
 1.2 05-Dec-2009  pooka branches: 1.2.10; 1.2.16;
Remove support for NetBSD/playstation2.
 1.1 16-Oct-2001  uch branches: 1.1.4; 1.1.6; 1.1.128; 1.1.142;
playstation2 port
 1.1.142.1 24-Oct-2010  jym Sync with HEAD
 1.1.128.1 11-Mar-2010  yamt sync with head
 1.1.6.2 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.1.6.1 16-Oct-2001  thorpej file lock.h was added on branch kqueue on 2002-01-10 19:47:39 +0000
 1.1.4.2 16-Oct-2001  uch playstation2 port
 1.1.4.1 16-Oct-2001  uch file lock.h was added on branch nathanw_sa on 2001-10-16 15:38:48 +0000
 1.2.16.1 18-May-2014  rmind sync with head
 1.2.10.1 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.3.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.3.6.1 31-Mar-2014  tls file lock.h was added on branch tls-maxphys on 2014-08-20 00:03:18 +0000
 1.4 31-Mar-2014  martin branches: 1.4.6;
Bring back the playstation2 port - now that a toolchain for it is
available again.
 1.3 05-Dec-2009  pooka branches: 1.3.10; 1.3.16;
Remove support for NetBSD/playstation2.
 1.2 05-Jun-2002  simonb branches: 1.2.112; 1.2.126;
Simplify include files that just include <mips/locore.h>.
 1.1 16-Oct-2001  uch branches: 1.1.4; 1.1.6; 1.1.14;
playstation2 port
 1.1.14.1 15-Jul-2002  gehenna catch up with -current.
 1.1.6.3 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.1.6.2 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.1.6.1 16-Oct-2001  thorpej file locore.h was added on branch kqueue on 2002-01-10 19:47:40 +0000
 1.1.4.2 20-Jun-2002  nathanw Catch up to -current.
 1.1.4.1 16-Oct-2001  nathanw file locore.h was added on branch nathanw_sa on 2002-06-20 03:40:27 +0000
 1.2.126.1 24-Oct-2010  jym Sync with HEAD
 1.2.112.1 11-Mar-2010  yamt sync with head
 1.3.16.1 18-May-2014  rmind sync with head
 1.3.10.1 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.4.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.4.6.1 31-Mar-2014  tls file locore.h was added on branch tls-maxphys on 2014-08-20 00:03:18 +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:55:59 +0000
 1.3 31-Mar-2014  martin branches: 1.3.6;
Bring back the playstation2 port - now that a toolchain for it is
available again.
 1.2 05-Dec-2009  pooka branches: 1.2.10; 1.2.16;
Remove support for NetBSD/playstation2.
 1.1 16-Oct-2001  uch branches: 1.1.4; 1.1.6; 1.1.128; 1.1.142;
playstation2 port
 1.1.142.1 24-Oct-2010  jym Sync with HEAD
 1.1.128.1 11-Mar-2010  yamt sync with head
 1.1.6.2 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.1.6.1 16-Oct-2001  thorpej file math.h was added on branch kqueue on 2002-01-10 19:47:40 +0000
 1.1.4.2 16-Oct-2001  uch playstation2 port
 1.1.4.1 16-Oct-2001  uch file math.h was added on branch nathanw_sa on 2001-10-16 15:38:48 +0000
 1.2.16.1 18-May-2014  rmind sync with head
 1.2.10.1 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.3.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.3.6.1 31-Mar-2014  tls file math.h was added on branch tls-maxphys on 2014-08-20 00:03:18 +0000
 1.4 31-Mar-2014  martin branches: 1.4.6;
Bring back the playstation2 port - now that a toolchain for it is
available again.
 1.3 05-Dec-2009  pooka branches: 1.3.10; 1.3.16;
Remove support for NetBSD/playstation2.
 1.2 18-Jan-2003  thorpej branches: 1.2.108; 1.2.122;
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.2.122.1 24-Oct-2010  jym Sync with HEAD
 1.2.108.1 11-Mar-2010  yamt sync with head
 1.3.16.1 18-May-2014  rmind sync with head
 1.3.10.1 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.4.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.4.6.1 31-Mar-2014  tls file mcontext.h was added on branch tls-maxphys on 2014-08-20 00:03:18 +0000
 1.3 31-Mar-2014  martin branches: 1.3.6;
Bring back the playstation2 port - now that a toolchain for it is
available again.
 1.2 05-Dec-2009  pooka branches: 1.2.10; 1.2.16;
Remove support for NetBSD/playstation2.
 1.1 16-Oct-2001  uch branches: 1.1.4; 1.1.6; 1.1.128; 1.1.142;
playstation2 port
 1.1.142.1 24-Oct-2010  jym Sync with HEAD
 1.1.128.1 11-Mar-2010  yamt sync with head
 1.1.6.2 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.1.6.1 16-Oct-2001  thorpej file mips_opcode.h was added on branch kqueue on 2002-01-10 19:47:40 +0000
 1.1.4.2 16-Oct-2001  uch playstation2 port
 1.1.4.1 16-Oct-2001  uch file mips_opcode.h was added on branch nathanw_sa on 2001-10-16 15:38:48 +0000
 1.2.16.1 18-May-2014  rmind sync with head
 1.2.10.1 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.3.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.3.6.1 31-Mar-2014  tls file mips_opcode.h was added on branch tls-maxphys on 2014-08-20 00:03:18 +0000
 1.4 31-Mar-2014  martin branches: 1.4.6;
Bring back the playstation2 port - now that a toolchain for it is
available again.
 1.3 05-Dec-2009  pooka branches: 1.3.10; 1.3.16;
Remove support for NetBSD/playstation2.
 1.2 09-Feb-2007  ad branches: 1.2.4; 1.2.50; 1.2.64;
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.64.1 24-Oct-2010  jym Sync with HEAD
 1.2.50.1 11-Mar-2010  yamt sync with head
 1.2.4.2 26-Feb-2007  yamt sync with head.
 1.2.4.1 09-Feb-2007  yamt file mutex.h was added on branch yamt-lazymbuf on 2007-02-26 09:07:49 +0000
 1.3.16.1 18-May-2014  rmind sync with head
 1.3.10.1 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.4.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.4.6.1 31-Mar-2014  tls file mutex.h was added on branch tls-maxphys on 2014-08-20 00:03:18 +0000
 1.11 07-Jan-2019  jdolecek move DEV_BSIZE, DEV_BSHIFT out of MD param.h, they are same on all ports

also move BLKDEV_IOSIZE, MAXPHYS, but allow override since some ports
have different value (powerpc uses NBPG for BLKDEV_IOSIZE, sun2/sun3
have lower MAXPHYS)
 1.10 01-Apr-2014  martin branches: 1.10.6; 1.10.30; 1.10.32;
Rearrange order of includes
 1.9 31-Mar-2014  martin Adapt to -current
 1.8 31-Mar-2014  martin Bring back the playstation2 port - now that a toolchain for it is
available again.
 1.7 05-Dec-2009  pooka branches: 1.7.10; 1.7.16;
Remove support for NetBSD/playstation2.
 1.6 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.5 26-Sep-2006  tsutsui branches: 1.5.56; 1.5.70; 1.5.74;
Protect from multiple inclusion.
 1.4 11-Dec-2005  christos branches: 1.4.20; 1.4.22;
merge ktrace-lwp.
 1.3 07-Aug-2003  agc branches: 1.3.16;
Move UCB-licensed code from 4-clause to 3-clause licence.

Patches provided by Joel Baker in PR 22364, verified by myself.
 1.2 26-Feb-2002  simonb branches: 1.2.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.1 16-Oct-2001  uch branches: 1.1.4; 1.1.6;
playstation2 port
 1.1.6.3 16-Mar-2002  jdolecek Catch up with -current.
 1.1.6.2 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.1.6.1 16-Oct-2001  thorpej file param.h was added on branch kqueue on 2002-01-10 19:47:40 +0000
 1.1.4.2 28-Feb-2002  nathanw Catch up to -current.
 1.1.4.1 16-Oct-2001  nathanw file param.h was added on branch nathanw_sa on 2002-02-28 04:11:20 +0000
 1.2.16.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.2.16.2 18-Sep-2004  skrll Sync with HEAD.
 1.2.16.1 03-Aug-2004  skrll Sync with HEAD
 1.3.16.1 30-Dec-2006  yamt sync with head.
 1.4.22.1 22-Oct-2006  yamt sync with head
 1.4.20.1 18-Nov-2006  ad Sync with head.
 1.5.74.1 22-Aug-2009  matt Move MACHINE_ARCH definition to <mips/mips_param.h>
Move mbuf related defines to <mips/mips_param.h>
 1.5.70.1 24-Oct-2010  jym Sync with HEAD
 1.5.56.2 11-Mar-2010  yamt sync with head
 1.5.56.1 19-Aug-2009  yamt sync with head.
 1.7.16.1 18-May-2014  rmind sync with head
 1.7.10.1 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.32.1 10-Jun-2019  christos Sync with HEAD
 1.10.30.1 18-Jan-2019  pgoyette Synch with HEAD
 1.10.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.10.6.1 01-Apr-2014  tls file param.h was added on branch tls-maxphys on 2014-08-20 00:03:18 +0000
 1.3 31-Mar-2014  martin branches: 1.3.6;
Bring back the playstation2 port - now that a toolchain for it is
available again.
 1.2 05-Dec-2009  pooka branches: 1.2.10; 1.2.16;
Remove support for NetBSD/playstation2.
 1.1 16-Oct-2001  uch branches: 1.1.4; 1.1.6; 1.1.128; 1.1.142;
playstation2 port
 1.1.142.1 24-Oct-2010  jym Sync with HEAD
 1.1.128.1 11-Mar-2010  yamt sync with head
 1.1.6.2 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.1.6.1 16-Oct-2001  thorpej file pcb.h was added on branch kqueue on 2002-01-10 19:47:40 +0000
 1.1.4.2 16-Oct-2001  uch playstation2 port
 1.1.4.1 16-Oct-2001  uch file pcb.h was added on branch nathanw_sa on 2001-10-16 15:38:49 +0000
 1.2.16.1 18-May-2014  rmind sync with head
 1.2.10.1 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.3.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.3.6.1 31-Mar-2014  tls file pcb.h was added on branch tls-maxphys on 2014-08-20 00:03:18 +0000
 1.3 31-Mar-2014  martin branches: 1.3.6;
Bring back the playstation2 port - now that a toolchain for it is
available again.
 1.2 05-Dec-2009  pooka branches: 1.2.10; 1.2.16;
Remove support for NetBSD/playstation2.
 1.1 16-Oct-2001  uch branches: 1.1.4; 1.1.6; 1.1.128; 1.1.142;
playstation2 port
 1.1.142.1 24-Oct-2010  jym Sync with HEAD
 1.1.128.1 11-Mar-2010  yamt sync with head
 1.1.6.2 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.1.6.1 16-Oct-2001  thorpej file pmap.h was added on branch kqueue on 2002-01-10 19:47:40 +0000
 1.1.4.2 16-Oct-2001  uch playstation2 port
 1.1.4.1 16-Oct-2001  uch file pmap.h was added on branch nathanw_sa on 2001-10-16 15:38:49 +0000
 1.2.16.1 18-May-2014  rmind sync with head
 1.2.10.1 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.3.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.3.6.1 31-Mar-2014  tls file pmap.h was added on branch tls-maxphys on 2014-08-20 00:03:18 +0000
 1.4 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.3 31-Mar-2014  martin branches: 1.3.6; 1.3.30; 1.3.32;
Bring back the playstation2 port - now that a toolchain for it is
available again.
 1.2 05-Dec-2009  pooka branches: 1.2.10; 1.2.16;
Remove support for NetBSD/playstation2.
 1.1 07-Aug-2002  briggs branches: 1.1.2; 1.1.4; 1.1.6; 1.1.118; 1.1.132;
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.132.1 24-Oct-2010  jym Sync with HEAD
 1.1.118.1 11-Mar-2010  yamt sync with head
 1.1.6.2 06-Sep-2002  jdolecek sync kqueue branch with HEAD
 1.1.6.1 07-Aug-2002  jdolecek file pmc.h was added on branch kqueue on 2002-09-06 08:38:47 +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:36 +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:39 +0000
 1.2.16.1 18-May-2014  rmind sync with head
 1.2.10.1 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.3.32.1 10-Jun-2019  christos Sync with HEAD
 1.3.30.1 28-Jul-2018  pgoyette Sync with HEAD
 1.3.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.3.6.1 31-Mar-2014  tls file pmc.h was added on branch tls-maxphys on 2014-08-20 00:03:18 +0000
 1.3 31-Mar-2014  martin branches: 1.3.6;
Bring back the playstation2 port - now that a toolchain for it is
available again.
 1.2 05-Dec-2009  pooka branches: 1.2.10; 1.2.16;
Remove support for NetBSD/playstation2.
 1.1 16-Oct-2001  uch branches: 1.1.4; 1.1.6; 1.1.128; 1.1.142;
playstation2 port
 1.1.142.1 24-Oct-2010  jym Sync with HEAD
 1.1.128.1 11-Mar-2010  yamt sync with head
 1.1.6.2 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.1.6.1 16-Oct-2001  thorpej file proc.h was added on branch kqueue on 2002-01-10 19:47:41 +0000
 1.1.4.2 16-Oct-2001  uch playstation2 port
 1.1.4.1 16-Oct-2001  uch file proc.h was added on branch nathanw_sa on 2001-10-16 15:38:49 +0000
 1.2.16.1 18-May-2014  rmind sync with head
 1.2.10.1 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.3.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.3.6.1 31-Mar-2014  tls file proc.h was added on branch tls-maxphys on 2014-08-20 00:03:18 +0000
 1.3 31-Mar-2014  martin branches: 1.3.6;
Bring back the playstation2 port - now that a toolchain for it is
available again.
 1.2 05-Dec-2009  pooka branches: 1.2.10; 1.2.16;
Remove support for NetBSD/playstation2.
 1.1 16-Oct-2001  uch branches: 1.1.4; 1.1.6; 1.1.128; 1.1.142;
playstation2 port
 1.1.142.1 24-Oct-2010  jym Sync with HEAD
 1.1.128.1 11-Mar-2010  yamt sync with head
 1.1.6.2 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.1.6.1 16-Oct-2001  thorpej file profile.h was added on branch kqueue on 2002-01-10 19:47:41 +0000
 1.1.4.2 16-Oct-2001  uch playstation2 port
 1.1.4.1 16-Oct-2001  uch file profile.h was added on branch nathanw_sa on 2001-10-16 15:38:50 +0000
 1.2.16.1 18-May-2014  rmind sync with head
 1.2.10.1 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.3.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.3.6.1 31-Mar-2014  tls file profile.h was added on branch tls-maxphys on 2014-08-20 00:03:18 +0000
 1.3 31-Mar-2014  martin branches: 1.3.6;
Bring back the playstation2 port - now that a toolchain for it is
available again.
 1.2 05-Dec-2009  pooka branches: 1.2.10; 1.2.16;
Remove support for NetBSD/playstation2.
 1.1 16-Oct-2001  uch branches: 1.1.4; 1.1.6; 1.1.128; 1.1.142;
playstation2 port
 1.1.142.1 24-Oct-2010  jym Sync with HEAD
 1.1.128.1 11-Mar-2010  yamt sync with head
 1.1.6.2 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.1.6.1 16-Oct-2001  thorpej file psl.h was added on branch kqueue on 2002-01-10 19:47:41 +0000
 1.1.4.2 16-Oct-2001  uch playstation2 port
 1.1.4.1 16-Oct-2001  uch file psl.h was added on branch nathanw_sa on 2001-10-16 15:38:50 +0000
 1.2.16.1 18-May-2014  rmind sync with head
 1.2.10.1 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.3.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.3.6.1 31-Mar-2014  tls file psl.h was added on branch tls-maxphys on 2014-08-20 00:03:18 +0000
 1.3 31-Mar-2014  martin branches: 1.3.6;
Bring back the playstation2 port - now that a toolchain for it is
available again.
 1.2 05-Dec-2009  pooka branches: 1.2.10; 1.2.16;
Remove support for NetBSD/playstation2.
 1.1 16-Oct-2001  uch branches: 1.1.4; 1.1.6; 1.1.128; 1.1.142;
playstation2 port
 1.1.142.1 24-Oct-2010  jym Sync with HEAD
 1.1.128.1 11-Mar-2010  yamt sync with head
 1.1.6.2 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.1.6.1 16-Oct-2001  thorpej file pte.h was added on branch kqueue on 2002-01-10 19:47:41 +0000
 1.1.4.2 16-Oct-2001  uch playstation2 port
 1.1.4.1 16-Oct-2001  uch file pte.h was added on branch nathanw_sa on 2001-10-16 15:38:50 +0000
 1.2.16.1 18-May-2014  rmind sync with head
 1.2.10.1 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.3.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.3.6.1 31-Mar-2014  tls file pte.h was added on branch tls-maxphys on 2014-08-20 00:03:18 +0000
 1.3 31-Mar-2014  martin branches: 1.3.6;
Bring back the playstation2 port - now that a toolchain for it is
available again.
 1.2 05-Dec-2009  pooka branches: 1.2.10; 1.2.16;
Remove support for NetBSD/playstation2.
 1.1 16-Oct-2001  uch branches: 1.1.4; 1.1.6; 1.1.128; 1.1.142;
playstation2 port
 1.1.142.1 24-Oct-2010  jym Sync with HEAD
 1.1.128.1 11-Mar-2010  yamt sync with head
 1.1.6.2 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.1.6.1 16-Oct-2001  thorpej file ptrace.h was added on branch kqueue on 2002-01-10 19:47:41 +0000
 1.1.4.2 16-Oct-2001  uch playstation2 port
 1.1.4.1 16-Oct-2001  uch file ptrace.h was added on branch nathanw_sa on 2001-10-16 15:38:50 +0000
 1.2.16.1 18-May-2014  rmind sync with head
 1.2.10.1 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.3.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.3.6.1 31-Mar-2014  tls file ptrace.h was added on branch tls-maxphys on 2014-08-20 00:03:18 +0000
 1.3 31-Mar-2014  martin branches: 1.3.6;
Bring back the playstation2 port - now that a toolchain for it is
available again.
 1.2 05-Dec-2009  pooka branches: 1.2.10; 1.2.16;
Remove support for NetBSD/playstation2.
 1.1 16-Oct-2001  uch branches: 1.1.4; 1.1.6; 1.1.128; 1.1.142;
playstation2 port
 1.1.142.1 24-Oct-2010  jym Sync with HEAD
 1.1.128.1 11-Mar-2010  yamt sync with head
 1.1.6.2 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.1.6.1 16-Oct-2001  thorpej file reg.h was added on branch kqueue on 2002-01-10 19:47:41 +0000
 1.1.4.2 16-Oct-2001  uch playstation2 port
 1.1.4.1 16-Oct-2001  uch file reg.h was added on branch nathanw_sa on 2001-10-16 15:38:51 +0000
 1.2.16.1 18-May-2014  rmind sync with head
 1.2.10.1 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.3.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.3.6.1 31-Mar-2014  tls file reg.h was added on branch tls-maxphys on 2014-08-20 00:03:18 +0000
 1.3 31-Mar-2014  martin branches: 1.3.6;
Bring back the playstation2 port - now that a toolchain for it is
available again.
 1.2 05-Dec-2009  pooka branches: 1.2.10; 1.2.16;
Remove support for NetBSD/playstation2.
 1.1 16-Oct-2001  uch branches: 1.1.4; 1.1.6; 1.1.128; 1.1.142;
playstation2 port
 1.1.142.1 24-Oct-2010  jym Sync with HEAD
 1.1.128.1 11-Mar-2010  yamt sync with head
 1.1.6.2 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.1.6.1 16-Oct-2001  thorpej file regdef.h was added on branch kqueue on 2002-01-10 19:47:42 +0000
 1.1.4.2 16-Oct-2001  uch playstation2 port
 1.1.4.1 16-Oct-2001  uch file regdef.h was added on branch nathanw_sa on 2001-10-16 15:38:51 +0000
 1.2.16.1 18-May-2014  rmind sync with head
 1.2.10.1 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.3.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.3.6.1 31-Mar-2014  tls file regdef.h was added on branch tls-maxphys on 2014-08-20 00:03:18 +0000
 1.3 31-Mar-2014  martin branches: 1.3.6;
Bring back the playstation2 port - now that a toolchain for it is
available again.
 1.2 05-Dec-2009  pooka branches: 1.2.10; 1.2.16;
Remove support for NetBSD/playstation2.
 1.1 16-Oct-2001  uch branches: 1.1.4; 1.1.6; 1.1.128; 1.1.142;
playstation2 port
 1.1.142.1 24-Oct-2010  jym Sync with HEAD
 1.1.128.1 11-Mar-2010  yamt sync with head
 1.1.6.2 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.1.6.1 16-Oct-2001  thorpej file regnum.h was added on branch kqueue on 2002-01-10 19:47:42 +0000
 1.1.4.2 16-Oct-2001  uch playstation2 port
 1.1.4.1 16-Oct-2001  uch file regnum.h was added on branch nathanw_sa on 2001-10-16 15:38:51 +0000
 1.2.16.1 18-May-2014  rmind sync with head
 1.2.10.1 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.3.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.3.6.1 31-Mar-2014  tls file regnum.h was added on branch tls-maxphys on 2014-08-20 00:03:18 +0000
 1.3 31-Mar-2014  martin branches: 1.3.6;
Bring back the playstation2 port - now that a toolchain for it is
available again.
 1.2 05-Dec-2009  pooka branches: 1.2.10; 1.2.16;
Remove support for NetBSD/playstation2.
 1.1 16-Oct-2001  uch branches: 1.1.4; 1.1.6; 1.1.128; 1.1.142;
playstation2 port
 1.1.142.1 24-Oct-2010  jym Sync with HEAD
 1.1.128.1 11-Mar-2010  yamt sync with head
 1.1.6.2 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.1.6.1 16-Oct-2001  thorpej file reloc.h was added on branch kqueue on 2002-01-10 19:47:42 +0000
 1.1.4.2 16-Oct-2001  uch playstation2 port
 1.1.4.1 16-Oct-2001  uch file reloc.h was added on branch nathanw_sa on 2001-10-16 15:38:51 +0000
 1.2.16.1 18-May-2014  rmind sync with head
 1.2.10.1 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.3.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.3.6.1 31-Mar-2014  tls file reloc.h was added on branch tls-maxphys on 2014-08-20 00:03:18 +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 16-Oct-2001  uch branches: 1.1.4; 1.1.6;
playstation2 port
 1.1.6.2 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.1.6.1 16-Oct-2001  thorpej file rnd.h was added on branch kqueue on 2002-01-10 19:47:42 +0000
 1.1.4.2 16-Oct-2001  uch playstation2 port
 1.1.4.1 16-Oct-2001  uch file rnd.h was added on branch nathanw_sa on 2001-10-16 15:38:51 +0000
 1.4 31-Mar-2014  martin branches: 1.4.6;
Bring back the playstation2 port - now that a toolchain for it is
available again.
 1.3 05-Dec-2009  pooka branches: 1.3.10; 1.3.16;
Remove support for NetBSD/playstation2.
 1.2 09-Feb-2007  ad branches: 1.2.4; 1.2.50; 1.2.64;
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.64.1 24-Oct-2010  jym Sync with HEAD
 1.2.50.1 11-Mar-2010  yamt sync with head
 1.2.4.2 26-Feb-2007  yamt sync with head.
 1.2.4.1 09-Feb-2007  yamt file rwlock.h was added on branch yamt-lazymbuf on 2007-02-26 09:07:49 +0000
 1.3.16.1 18-May-2014  rmind sync with head
 1.3.10.1 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.4.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.4.6.1 31-Mar-2014  tls file rwlock.h was added on branch tls-maxphys on 2014-08-20 00:03:18 +0000
 1.3 31-Mar-2014  martin branches: 1.3.6;
Bring back the playstation2 port - now that a toolchain for it is
available again.
 1.2 05-Dec-2009  pooka branches: 1.2.10; 1.2.16;
Remove support for NetBSD/playstation2.
 1.1 16-Oct-2001  uch branches: 1.1.4; 1.1.6; 1.1.128; 1.1.142;
playstation2 port
 1.1.142.1 24-Oct-2010  jym Sync with HEAD
 1.1.128.1 11-Mar-2010  yamt sync with head
 1.1.6.2 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.1.6.1 16-Oct-2001  thorpej file setjmp.h was added on branch kqueue on 2002-01-10 19:47:42 +0000
 1.1.4.2 16-Oct-2001  uch playstation2 port
 1.1.4.1 16-Oct-2001  uch file setjmp.h was added on branch nathanw_sa on 2001-10-16 15:38:52 +0000
 1.2.16.1 18-May-2014  rmind sync with head
 1.2.10.1 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.3.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.3.6.1 31-Mar-2014  tls file setjmp.h was added on branch tls-maxphys on 2014-08-20 00:03:18 +0000
 1.3 31-Mar-2014  martin branches: 1.3.6;
Bring back the playstation2 port - now that a toolchain for it is
available again.
 1.2 05-Dec-2009  pooka branches: 1.2.10; 1.2.16;
Remove support for NetBSD/playstation2.
 1.1 16-Oct-2001  uch branches: 1.1.4; 1.1.6; 1.1.128; 1.1.142;
playstation2 port
 1.1.142.1 24-Oct-2010  jym Sync with HEAD
 1.1.128.1 11-Mar-2010  yamt sync with head
 1.1.6.2 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.1.6.1 16-Oct-2001  thorpej file signal.h was added on branch kqueue on 2002-01-10 19:47:42 +0000
 1.1.4.2 16-Oct-2001  uch playstation2 port
 1.1.4.1 16-Oct-2001  uch file signal.h was added on branch nathanw_sa on 2001-10-16 15:38:52 +0000
 1.2.16.1 18-May-2014  rmind sync with head
 1.2.10.1 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.3.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.3.6.1 31-Mar-2014  tls file signal.h was added on branch tls-maxphys on 2014-08-20 00:03:18 +0000
 1.3 31-Mar-2014  martin branches: 1.3.6;
Bring back the playstation2 port - now that a toolchain for it is
available again.
 1.2 05-Dec-2009  pooka branches: 1.2.10; 1.2.16;
Remove support for NetBSD/playstation2.
 1.1 16-Oct-2001  uch branches: 1.1.4; 1.1.6; 1.1.128; 1.1.142;
playstation2 port
 1.1.142.1 24-Oct-2010  jym Sync with HEAD
 1.1.128.1 11-Mar-2010  yamt sync with head
 1.1.6.2 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.1.6.1 16-Oct-2001  thorpej file stdarg.h was added on branch kqueue on 2002-01-10 19:47:42 +0000
 1.1.4.2 16-Oct-2001  uch playstation2 port
 1.1.4.1 16-Oct-2001  uch file stdarg.h was added on branch nathanw_sa on 2001-10-16 15:38:52 +0000
 1.2.16.1 18-May-2014  rmind sync with head
 1.2.10.1 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.3.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.3.6.1 31-Mar-2014  tls file stdarg.h was added on branch tls-maxphys on 2014-08-20 00:03:18 +0000
 1.3 31-Mar-2014  martin branches: 1.3.6;
Bring back the playstation2 port - now that a toolchain for it is
available again.
 1.2 05-Dec-2009  pooka branches: 1.2.10; 1.2.16;
Remove support for NetBSD/playstation2.
 1.1 16-Oct-2001  uch branches: 1.1.4; 1.1.6; 1.1.128; 1.1.142;
playstation2 port
 1.1.142.1 24-Oct-2010  jym Sync with HEAD
 1.1.128.1 11-Mar-2010  yamt sync with head
 1.1.6.2 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.1.6.1 16-Oct-2001  thorpej file trap.h was added on branch kqueue on 2002-01-10 19:47:43 +0000
 1.1.4.2 16-Oct-2001  uch playstation2 port
 1.1.4.1 16-Oct-2001  uch file trap.h was added on branch nathanw_sa on 2001-10-16 15:38:52 +0000
 1.2.16.1 18-May-2014  rmind sync with head
 1.2.10.1 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.3.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.3.6.1 31-Mar-2014  tls file trap.h was added on branch tls-maxphys on 2014-08-20 00:03:18 +0000
 1.8 31-Mar-2014  martin branches: 1.8.6;
Bring back the playstation2 port - now that a toolchain for it is
available again.
 1.7 05-Dec-2009  pooka branches: 1.7.10; 1.7.16;
Remove support for NetBSD/playstation2.
 1.6 20-Jan-2008  joerg branches: 1.6.10; 1.6.24;
Now that __HAVE_TIMECOUNTER and __HAVE_GENERIC_TODR are invariants,
remove the conditionals and the code associated with the undef case.
 1.5 17-Oct-2007  garbled branches: 1.5.2; 1.5.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.4 14-Jul-2007  ad branches: 1.4.10;
Generic soft interrupts are mandatory.
 1.3 14-Sep-2006  gdamore branches: 1.3.10; 1.3.18;
Convert playstation2 to todr and tc. This is not compile tested, as the
current tree isn't buildable even by the cross tools (which I lack), due
to C99. Approved in principle by martin@, simon@
 1.2 02-Jan-2002  uch branches: 1.2.2; 1.2.34; 1.2.64;
int128_t and u_int128_t are wrapped in defined(_KERNEL) && defined(MIPS3_5900)
 1.1 16-Oct-2001  uch branches: 1.1.4;
playstation2 port
 1.1.4.3 28-Feb-2002  nathanw Catch up to -current.
 1.1.4.2 11-Jan-2002  nathanw More catchup.
 1.1.4.1 16-Oct-2001  nathanw file types.h was added on branch nathanw_sa on 2002-01-11 23:38:41 +0000
 1.2.64.1 18-Nov-2006  ad Sync with head.
 1.2.34.3 21-Jan-2008  yamt sync with head
 1.2.34.2 03-Sep-2007  yamt sync with head.
 1.2.34.1 30-Dec-2006  yamt sync with head.
 1.2.2.2 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.2.2.1 02-Jan-2002  thorpej file types.h was added on branch kqueue on 2002-01-10 19:47:43 +0000
 1.3.18.1 03-Oct-2007  garbled Sync with HEAD
 1.3.10.1 15-Jul-2007  ad Sync with head.
 1.4.10.2 23-Mar-2008  matt sync with HEAD
 1.4.10.1 06-Nov-2007  matt sync with HEAD
 1.5.8.1 23-Jan-2008  bouyer Sync with HEAD.
 1.5.2.1 18-Feb-2008  mjf Sync with HEAD.
 1.6.24.1 24-Oct-2010  jym Sync with HEAD
 1.6.10.1 11-Mar-2010  yamt sync with head
 1.7.16.1 18-May-2014  rmind sync with head
 1.7.10.1 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.8.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.8.6.1 31-Mar-2014  tls file types.h was added on branch tls-maxphys on 2014-08-20 00:03:18 +0000
 1.3 31-Mar-2014  martin branches: 1.3.6;
Bring back the playstation2 port - now that a toolchain for it is
available again.
 1.2 05-Dec-2009  pooka branches: 1.2.10; 1.2.16;
Remove support for NetBSD/playstation2.
 1.1 16-Oct-2001  uch branches: 1.1.4; 1.1.6; 1.1.128; 1.1.142;
playstation2 port
 1.1.142.1 24-Oct-2010  jym Sync with HEAD
 1.1.128.1 11-Mar-2010  yamt sync with head
 1.1.6.2 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.1.6.1 16-Oct-2001  thorpej file varargs.h was added on branch kqueue on 2002-01-10 19:47:43 +0000
 1.1.4.2 16-Oct-2001  uch playstation2 port
 1.1.4.1 16-Oct-2001  uch file varargs.h was added on branch nathanw_sa on 2001-10-16 15:38:53 +0000
 1.2.16.1 18-May-2014  rmind sync with head
 1.2.10.1 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.3.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.3.6.1 31-Mar-2014  tls file varargs.h was added on branch tls-maxphys on 2014-08-20 00:03:18 +0000
 1.5 31-Mar-2014  martin branches: 1.5.6;
Adapt to -current
 1.4 31-Mar-2014  martin Bring back the playstation2 port - now that a toolchain for it is
available again.
 1.3 05-Dec-2009  pooka branches: 1.3.10; 1.3.16;
Remove support for NetBSD/playstation2.
 1.2 19-Oct-2001  shin branches: 1.2.4; 1.2.6; 1.2.128; 1.2.142;
cosmetic change.
 1.1 16-Oct-2001  uch playstation2 port
 1.2.142.1 24-Oct-2010  jym Sync with HEAD
 1.2.128.1 11-Mar-2010  yamt sync with head
 1.2.6.2 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.2.6.1 19-Oct-2001  thorpej file vmparam.h was added on branch kqueue on 2002-01-10 19:47:43 +0000
 1.2.4.2 19-Oct-2001  shin cosmetic change.
 1.2.4.1 19-Oct-2001  shin file vmparam.h was added on branch nathanw_sa on 2001-10-19 05:47:41 +0000
 1.3.16.1 18-May-2014  rmind sync with head
 1.3.10.1 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.5.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.5.6.1 31-Mar-2014  tls file vmparam.h was added on branch tls-maxphys on 2014-08-20 00:03:18 +0000
 1.4 31-Mar-2014  martin branches: 1.4.6;
Bring back the playstation2 port - now that a toolchain for it is
available again.
 1.3 05-Dec-2009  pooka branches: 1.3.10; 1.3.16;
Remove support for NetBSD/playstation2.
 1.2 11-Dec-2005  christos branches: 1.2.78; 1.2.92;
merge ktrace-lwp.
 1.1 08-May-2004  kleink branches: 1.1.2;
Factor out W{CHAR,INT}_{MAX,MIN} into their own header file.
 1.1.2.4 21-Sep-2004  skrll Fix the sync with head I botched.
 1.1.2.3 18-Sep-2004  skrll Sync with HEAD.
 1.1.2.2 03-Aug-2004  skrll Sync with HEAD
 1.1.2.1 08-May-2004  skrll file wchar_limits.h was added on branch ktrace-lwp on 2004-08-03 10:39:06 +0000
 1.2.92.1 24-Oct-2010  jym Sync with HEAD
 1.2.78.1 11-Mar-2010  yamt sync with head
 1.3.16.1 18-May-2014  rmind sync with head
 1.3.10.1 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.4.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.4.6.1 31-Mar-2014  tls file wchar_limits.h was added on branch tls-maxphys on 2014-08-20 00:03:18 +0000
 1.4 31-Mar-2014  martin branches: 1.4.6;
Bring back the playstation2 port - now that a toolchain for it is
available again.
 1.3 05-Dec-2009  pooka branches: 1.3.10; 1.3.16;
Remove support for NetBSD/playstation2.
 1.2 11-Dec-2005  christos branches: 1.2.18; 1.2.80; 1.2.94;
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:14 +0000
 1.2.94.1 24-Oct-2010  jym Sync with HEAD
 1.2.80.1 11-Mar-2010  yamt sync with head
 1.2.18.2 21-Jun-2006  yamt sync with head.
 1.2.18.1 11-Dec-2005  yamt file wired_map.h was added on branch yamt-lazymbuf on 2006-06-21 14:54:42 +0000
 1.3.16.1 18-May-2014  rmind sync with head
 1.3.10.1 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.4.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.4.6.1 31-Mar-2014  tls file wired_map.h was added on branch tls-maxphys on 2014-08-20 00:03:18 +0000
 1.9 04-Jul-2014  martin branches: 1.9.4;
Add missing <sys/device.h> include
 1.8 31-Mar-2014  martin branches: 1.8.2;
Bring back the playstation2 port - now that a toolchain for it is
available again.
 1.7 05-Dec-2009  pooka branches: 1.7.10; 1.7.16;
Remove support for NetBSD/playstation2.
 1.6 18-Mar-2009  cegger Ansify function definitions w/o arguments. Generated with sed.
 1.5 28-Apr-2008  martin branches: 1.5.8; 1.5.14;
Remove clause 3 and 4 from TNF licenses
 1.4 11-Dec-2005  christos branches: 1.4.74; 1.4.76; 1.4.78;
merge ktrace-lwp.
 1.3 26-Jun-2005  he Pass NULL as second argument to config_rootfound() instead of a string.
 1.2 15-Jul-2003  lukem __KERNEL_RCSID()
 1.1 16-Oct-2001  uch branches: 1.1.4; 1.1.6; 1.1.22;
playstation2 port
 1.1.22.4 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.1.22.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.1.22.2 18-Sep-2004  skrll Sync with HEAD.
 1.1.22.1 03-Aug-2004  skrll Sync with HEAD
 1.1.6.2 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.1.6.1 16-Oct-2001  thorpej file autoconf.c was added on branch kqueue on 2002-01-10 19:47:43 +0000
 1.1.4.2 16-Oct-2001  uch playstation2 port
 1.1.4.1 16-Oct-2001  uch file autoconf.c was added on branch nathanw_sa on 2001-10-16 15:38:53 +0000
 1.4.78.3 11-Mar-2010  yamt sync with head
 1.4.78.2 04-May-2009  yamt sync with head.
 1.4.78.1 16-May-2008  yamt sync with head.
 1.4.76.1 18-May-2008  yamt sync with head.
 1.4.74.1 02-Jun-2008  mjf Sync with HEAD.
 1.5.14.2 24-Oct-2010  jym Sync with HEAD
 1.5.14.1 13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.5.8.1 28-Apr-2009  skrll Sync with HEAD.
 1.7.16.1 18-May-2014  rmind sync with head
 1.7.10.1 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.8.2.1 10-Aug-2014  tls Rebase.
 1.9.4.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.9.4.1 04-Jul-2014  tls file autoconf.c was added on branch tls-maxphys on 2014-08-20 00:03:18 +0000
 1.27 23-Nov-2023  andvar Few more changes for playstation2 specific code to adapt to interface or method
declaration changes. Still long way before port code can be built though...

reviewed by martin.
 1.26 26-Jul-2022  andvar s/functin/function/ in copy pasted comment.
 1.25 22-Jan-2022  skrll Ensure bus_dmatag_subregion is called with an inclusive max_addr
everywhere.
 1.24 22-Jan-2022  skrll Trailing whitespace
 1.23 21-Nov-2020  thorpej malloc(9) -> kmem(9)

XXX Audit use of KM_NOSLEEP here.
 1.22 31-Mar-2014  martin branches: 1.22.6; 1.22.44;
Adapt to current directory layout
 1.21 31-Mar-2014  martin Bring back the playstation2 port - now that a toolchain for it is
available again.
 1.20 05-Dec-2009  pooka branches: 1.20.10; 1.20.16;
Remove support for NetBSD/playstation2.
 1.19 21-Aug-2009  thorpej Use bus_dmamem_common.
 1.18 04-Jun-2008  ad branches: 1.18.12;
vm_page: put TAILQ_ENTRY into a union with LIST_ENTRY, so we can use both.
 1.17 28-Apr-2008  martin branches: 1.17.2;
Remove clause 3 and 4 from TNF licenses
 1.16 04-Mar-2007  christos branches: 1.16.40; 1.16.42; 1.16.44;
Kill caddr_t; there will be some MI fallout, but it will be fixed shortly.
 1.15 16-Apr-2006  tsutsui branches: 1.15.14;
Mising -> Mixing
 1.14 01-Mar-2006  yamt branches: 1.14.2; 1.14.4; 1.14.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.13 11-Dec-2005  christos branches: 1.13.2; 1.13.4; 1.13.6;
merge ktrace-lwp.
 1.12 24-Nov-2005  yamt bus_dmamem_map: honour BUS_DMA_NOWAIT. noted by Manuel Bouyer.
bus_space_map: always do NOWAIT allocation as it used to be before yamt-km.

we have too many copies!
 1.11 01-Apr-2005  yamt branches: 1.11.2; 1.11.8;
merge yamt-km branch.
- don't use managed mappings/backing objects for wired memory allocations.
save some resources like pv_entry. also fix (most of) PR/27030.
- simplify kernel memory management API.
- simplify pmap bootstrap of some ports.
- some related cleanups.
 1.10 09-Mar-2005  matt 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.9 28-Nov-2004  thorpej branches: 1.9.4; 1.9.6;
bus_dmamap_load_mbuf(): Skip zero-length mbufs.
kern/24811
 1.8 16-Sep-2004  rumble Correct a few comment typos that have propagated through the
tree.
 1.7 15-Jul-2003  lukem __KERNEL_RCSID()
 1.6 29-Jun-2003  fvdl branches: 1.6.2;
Back out the lwp/ktrace changes. They contained a lot of colateral damage,
and need to be examined and discussed more.
 1.5 28-Jun-2003  darrenr Pass lwp pointers throughtout the kernel, as required, so that the lwpid can
be inserted into ktrace records. The general change has been to replace
"struct proc *" with "struct lwp *" in various function prototypes, pass
the lwp through and use l_proc to get the process pointer when needed.

Bump the kernel rev up to 1.6V
 1.4 02-Apr-2003  thorpej Use PAGE_SIZE rather than NBPG.
 1.3 02-Jun-2002  drochner move initialization of the "struct pglist" returned by uvm_pglistalloc()
from the calling code into uvm_pglistalloc() itself for consistency
and easier error handling
 1.2 14-Nov-2001  thorpej branches: 1.2.2; 1.2.4; 1.2.12;
Merge the thorpej-mips-cache branch onto the trunk. This is an
overhaul of how caches are handled for NetBSD's MIPS ports.
 1.1 16-Oct-2001  uch branches: 1.1.2;
playstation2 port
 1.1.2.1 10-Nov-2001  uch new cache code for R5900 and playstation2
 1.2.12.1 15-Jul-2002  gehenna catch up with -current.
 1.2.4.3 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.2.4.2 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.2.4.1 14-Nov-2001  thorpej file bus_dma.c was added on branch kqueue on 2002-01-10 19:47:44 +0000
 1.2.2.2 20-Jun-2002  nathanw Catch up to -current.
 1.2.2.1 14-Nov-2001  nathanw file bus_dma.c was added on branch nathanw_sa on 2002-06-20 03:40:28 +0000
 1.6.2.8 11-Dec-2005  christos Sync with head.
 1.6.2.7 01-Apr-2005  skrll Sync with HEAD.
 1.6.2.6 19-Feb-2005  skrll Don't deref a NULL struct lwp *. This shouldn't happen, but...
 1.6.2.5 18-Dec-2004  skrll Sync with HEAD.
 1.6.2.4 21-Sep-2004  skrll Fix the sync with head I botched.
 1.6.2.3 18-Sep-2004  skrll Sync with HEAD.
 1.6.2.2 03-Aug-2004  skrll Sync with HEAD
 1.6.2.1 02-Jul-2003  darrenr Apply the aborted ktrace-lwp changes to a specific branch. This is just for
others to review, I'm concerned that patch fuziness may have resulted in some
errant code being generated but I'll look at that later by comparing the diff
from the base to the branch with the file I attempt to apply to it. This will,
at the very least, put the changes in a better context for others to review
them and attempt to tinker with removing passing of 'struct lwp' through
the kernel.
 1.9.6.2 19-Mar-2005  yamt sync with head. xen and whitespace. xen part is not finished.
 1.9.6.1 31-Jan-2005  yamt convert arch/playstation2 to new apis.
 1.9.4.1 29-Apr-2005  kent sync with -current
 1.11.8.1 29-Nov-2005  yamt sync with head.
 1.11.2.2 03-Sep-2007  yamt sync with head.
 1.11.2.1 21-Jun-2006  yamt sync with head.
 1.13.6.1 22-Apr-2006  simonb Sync with head.
 1.13.4.1 09-Sep-2006  rpaulo sync with head
 1.13.2.2 26-Feb-2006  yamt fix compilation.
 1.13.2.1 18-Feb-2006  yamt adapt bus_dma implementations.
 1.14.6.1 24-May-2006  tron Merge 2006-05-24 NetBSD-current into the "peter-altq" branch.
 1.14.4.1 19-Apr-2006  elad sync with head - hopefully this will work
 1.14.2.1 24-May-2006  yamt sync with head.
 1.15.14.1 12-Mar-2007  rmind Sync with HEAD.
 1.16.44.4 11-Mar-2010  yamt sync with head
 1.16.44.3 16-Sep-2009  yamt sync with head
 1.16.44.2 04-May-2009  yamt sync with head.
 1.16.44.1 16-May-2008  yamt sync with head.
 1.16.42.2 17-Jun-2008  yamt sync with head.
 1.16.42.1 18-May-2008  yamt sync with head.
 1.16.40.2 05-Jun-2008  mjf Sync with HEAD.

Also fix build.
 1.16.40.1 02-Jun-2008  mjf Sync with HEAD.
 1.17.2.1 23-Jun-2008  wrstuden Sync w/ -current. 34 merge conflicts to follow.
 1.18.12.1 24-Oct-2010  jym Sync with HEAD
 1.20.16.1 18-May-2014  rmind sync with head
 1.20.10.1 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.22.44.1 14-Dec-2020  thorpej Sync w/ HEAD.
 1.22.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.22.6.1 31-Mar-2014  tls file bus_dma.c was added on branch tls-maxphys on 2014-08-20 00:03:18 +0000
 1.11 21-Nov-2020  thorpej malloc(9) -> kmem(9)

XXX Audit use of KM_NOSLEEP here.
 1.10 04-Jul-2014  martin branches: 1.10.4; 1.10.42;
Fix extent_create() call
 1.9 31-Mar-2014  martin branches: 1.9.2;
Bring back the playstation2 port - now that a toolchain for it is
available again.
 1.8 05-Dec-2009  pooka branches: 1.8.10; 1.8.16;
Remove support for NetBSD/playstation2.
 1.7 28-Apr-2008  martin branches: 1.7.14;
Remove clause 3 and 4 from TNF licenses
 1.6 15-Dec-2007  perry branches: 1.6.6; 1.6.8; 1.6.10;
__FUNCTION__ -> __func__
 1.5 11-Dec-2005  christos branches: 1.5.50; 1.5.60; 1.5.64;
merge ktrace-lwp.
 1.4 26-Jun-2005  he branches: 1.4.2;
Fix -Wcast-qual warnings by adding two __UNCONST() uses and removing
two /* discard const */ comments.
 1.3 15-Jul-2003  lukem __KERNEL_RCSID()
 1.2 27-Sep-2002  provos branches: 1.2.6;
remove trailing \n in panic(). approved perry.
 1.1 16-Oct-2001  uch branches: 1.1.4; 1.1.6;
playstation2 port
 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 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.1.6.1 16-Oct-2001  thorpej file bus_space.c was added on branch kqueue on 2002-01-10 19:47:44 +0000
 1.1.4.2 18-Oct-2002  nathanw Catch up to -current.
 1.1.4.1 16-Oct-2001  nathanw file bus_space.c was added on branch nathanw_sa on 2002-10-18 02:39:23 +0000
 1.2.6.4 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.2.6.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.2.6.2 18-Sep-2004  skrll Sync with HEAD.
 1.2.6.1 03-Aug-2004  skrll Sync with HEAD
 1.4.2.1 21-Jan-2008  yamt sync with head
 1.5.64.1 02-Jan-2008  bouyer Sync with HEAD
 1.5.60.1 26-Dec-2007  ad Sync with head.
 1.5.50.1 09-Jan-2008  matt sync with HEAD
 1.6.10.2 11-Mar-2010  yamt sync with head
 1.6.10.1 16-May-2008  yamt sync with head.
 1.6.8.1 18-May-2008  yamt sync with head.
 1.6.6.1 02-Jun-2008  mjf Sync with HEAD.
 1.7.14.1 24-Oct-2010  jym Sync with HEAD
 1.8.16.1 18-May-2014  rmind sync with head
 1.8.10.1 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.9.2.1 10-Aug-2014  tls Rebase.
 1.10.42.1 14-Dec-2020  thorpej Sync w/ HEAD.
 1.10.4.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.10.4.1 04-Jul-2014  tls file bus_space.c was added on branch tls-maxphys on 2014-08-20 00:03:18 +0000
 1.12 05-Nov-2023  andvar Fix format specifiers for debug code.
 1.11 20-Nov-2014  christos use the inline bcdtobin and bintobcd directly instead through a macro.
 1.10 04-Jul-2014  martin branches: 1.10.4;
Add missing includes, fix C99 struct initialization
 1.9 31-Mar-2014  martin branches: 1.9.2;
Bring back the playstation2 port - now that a toolchain for it is
available again.
 1.8 05-Dec-2009  pooka branches: 1.8.10; 1.8.16;
Remove support for NetBSD/playstation2.
 1.7 18-Mar-2009  cegger Ansify function definitions w/o arguments. Generated with sed.
 1.6 28-Apr-2008  martin branches: 1.6.8; 1.6.14;
Remove clause 3 and 4 from TNF licenses
 1.5 14-Sep-2006  gdamore branches: 1.5.54; 1.5.56; 1.5.58;
Convert playstation2 to todr and tc. This is not compile tested, as the
current tree isn't buildable even by the cross tools (which I lack), due
to C99. Approved in principle by martin@, simon@
 1.4 08-Mar-2006  lukem branches: 1.4.10;
Use the SI capitalization for "Hz", "kHz", and "MHz" in comments and strings.
Add a space between numbers and Hz unit.
 1.3 11-Dec-2005  christos branches: 1.3.4; 1.3.6; 1.3.8; 1.3.10;
merge ktrace-lwp.
 1.2 15-Jul-2003  lukem branches: 1.2.16;
__KERNEL_RCSID()
 1.1 16-Oct-2001  uch branches: 1.1.4; 1.1.6; 1.1.22;
playstation2 port
 1.1.22.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.1.22.2 18-Sep-2004  skrll Sync with HEAD.
 1.1.22.1 03-Aug-2004  skrll Sync with HEAD
 1.1.6.2 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.1.6.1 16-Oct-2001  thorpej file clock.c was added on branch kqueue on 2002-01-10 19:47:44 +0000
 1.1.4.2 16-Oct-2001  uch playstation2 port
 1.1.4.1 16-Oct-2001  uch file clock.c was added on branch nathanw_sa on 2001-10-16 15:38:54 +0000
 1.2.16.2 30-Dec-2006  yamt sync with head.
 1.2.16.1 21-Jun-2006  yamt sync with head.
 1.3.10.1 19-Apr-2006  elad sync with head - hopefully this will work
 1.3.8.1 13-Mar-2006  yamt sync with head.
 1.3.6.1 22-Apr-2006  simonb Sync with head.
 1.3.4.1 09-Sep-2006  rpaulo sync with head
 1.4.10.1 18-Nov-2006  ad Sync with head.
 1.5.58.3 11-Mar-2010  yamt sync with head
 1.5.58.2 04-May-2009  yamt sync with head.
 1.5.58.1 16-May-2008  yamt sync with head.
 1.5.56.1 18-May-2008  yamt sync with head.
 1.5.54.1 02-Jun-2008  mjf Sync with HEAD.
 1.6.14.2 24-Oct-2010  jym Sync with HEAD
 1.6.14.1 13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.6.8.1 28-Apr-2009  skrll Sync with HEAD.
 1.8.16.1 18-May-2014  rmind sync with head
 1.8.10.1 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.9.2.1 10-Aug-2014  tls Rebase.
 1.10.4.3 03-Dec-2017  jdolecek update from HEAD
 1.10.4.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.10.4.1 04-Jul-2014  tls file clock.c was added on branch tls-maxphys on 2014-08-20 00:03:18 +0000
 1.6 26-Oct-2002  jdolecek now that mem_no is emitted by config(8), there is no reason to keep
copy of more or less identical iskmemdev() for every arch; move the function
to spec_vnop.c, and g/c machine-dependant copies
 1.5 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.4 19-Jul-2002  thorpej Rename cdev_systrace_init() to cdev_clonemisc_init(), so it can
be properly used by any misc. cloning device. While here, correct
a comment to indicate that "open" is the only entry point and that
everything else is handled with fileops.
 1.3 17-Jun-2002  christos MD systrace gluons.
 1.2 12-Jan-2002  manu branches: 1.2.8;
Added clockctl
 1.1 16-Oct-2001  uch branches: 1.1.4; 1.1.6;
playstation2 port
 1.1.6.5 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.4 06-Sep-2002  jdolecek sync kqueue branch with HEAD
 1.1.6.3 11-Feb-2002  jdolecek Sync w/ -current.
 1.1.6.2 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.1.6.1 16-Oct-2001  thorpej file conf.c was added on branch kqueue on 2002-01-10 19:47:44 +0000
 1.1.4.6 11-Nov-2002  nathanw Catch up to -current
 1.1.4.5 17-Sep-2002  nathanw Catch up to -current.
 1.1.4.4 01-Aug-2002  nathanw Catch up to -current.
 1.1.4.3 20-Jun-2002  nathanw Catch up to -current.
 1.1.4.2 28-Feb-2002  nathanw Catch up to -current.
 1.1.4.1 16-Oct-2001  nathanw file conf.c was added on branch nathanw_sa on 2002-02-28 04:11:20 +0000
 1.2.8.3 21-Jul-2002  gehenna catch up with -current.
 1.2.8.2 15-Jul-2002  gehenna catch up with -current.
 1.2.8.1 16-May-2002  gehenna Bye block/character device swicth tables.
 1.7 31-Mar-2014  martin branches: 1.7.6;
Bring back the playstation2 port - now that a toolchain for it is
available again.
 1.6 05-Dec-2009  pooka branches: 1.6.10; 1.6.16;
Remove support for NetBSD/playstation2.
 1.5 18-Mar-2009  cegger Ansify function definitions w/o arguments. Generated with sed.
 1.4 28-Apr-2008  martin branches: 1.4.8; 1.4.14;
Remove clause 3 and 4 from TNF licenses
 1.3 11-Dec-2005  christos branches: 1.3.74; 1.3.76; 1.3.78;
merge ktrace-lwp.
 1.2 15-Jul-2003  lukem __KERNEL_RCSID()
 1.1 16-Oct-2001  uch branches: 1.1.4; 1.1.6; 1.1.22;
playstation2 port
 1.1.22.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.1.22.2 18-Sep-2004  skrll Sync with HEAD.
 1.1.22.1 03-Aug-2004  skrll Sync with HEAD
 1.1.6.2 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.1.6.1 16-Oct-2001  thorpej file console.c was added on branch kqueue on 2002-01-10 19:47:44 +0000
 1.1.4.2 16-Oct-2001  uch playstation2 port
 1.1.4.1 16-Oct-2001  uch file console.c was added on branch nathanw_sa on 2001-10-16 15:38:55 +0000
 1.3.78.3 11-Mar-2010  yamt sync with head
 1.3.78.2 04-May-2009  yamt sync with head.
 1.3.78.1 16-May-2008  yamt sync with head.
 1.3.76.1 18-May-2008  yamt sync with head.
 1.3.74.1 02-Jun-2008  mjf Sync with HEAD.
 1.4.14.2 24-Oct-2010  jym Sync with HEAD
 1.4.14.1 13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.4.8.1 28-Apr-2009  skrll Sync with HEAD.
 1.6.16.1 18-May-2014  rmind sync with head
 1.6.10.1 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.7.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.7.6.1 31-Mar-2014  tls file console.c was added on branch tls-maxphys on 2014-08-20 00:03:18 +0000
 1.11 18-Jul-2016  maya Adapt to recent MIPS changes

need mips/locore.h for cpu_identify
 1.10 28-Mar-2016  martin branches: 1.10.2;
Add missing include
 1.9 04-Jul-2014  martin branches: 1.9.4; 1.9.6;
Adapt to new attach world order
 1.8 31-Mar-2014  martin branches: 1.8.2;
Bring back the playstation2 port - now that a toolchain for it is
available again.
 1.7 05-Dec-2009  pooka branches: 1.7.10; 1.7.16;
Remove support for NetBSD/playstation2.
 1.6 11-Dec-2005  christos branches: 1.6.78; 1.6.92;
merge ktrace-lwp.
 1.5 15-Jul-2003  lukem __KERNEL_RCSID()
 1.4 02-Oct-2002  thorpej branches: 1.4.6;
Use CFATTACH_DECL().
 1.3 27-Sep-2002  thorpej Declare all cfattach structures const.
 1.2 19-Oct-2001  shin branches: 1.2.4; 1.2.6;
cosmetic change.
 1.1 16-Oct-2001  uch playstation2 port
 1.2.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.2.6.2 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.2.6.1 19-Oct-2001  thorpej file cpu.c was added on branch kqueue on 2002-01-10 19:47:44 +0000
 1.2.4.2 18-Oct-2002  nathanw Catch up to -current.
 1.2.4.1 19-Oct-2001  nathanw file cpu.c was added on branch nathanw_sa on 2002-10-18 02:39:24 +0000
 1.4.6.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.4.6.2 18-Sep-2004  skrll Sync with HEAD.
 1.4.6.1 03-Aug-2004  skrll Sync with HEAD
 1.6.92.1 24-Oct-2010  jym Sync with HEAD
 1.6.78.1 11-Mar-2010  yamt sync with head
 1.7.16.1 18-May-2014  rmind sync with head
 1.7.10.1 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.8.2.1 10-Aug-2014  tls Rebase.
 1.9.6.2 05-Oct-2016  skrll Sync with HEAD
 1.9.6.1 22-Apr-2016  skrll Sync with HEAD
 1.9.4.3 03-Dec-2017  jdolecek update from HEAD
 1.9.4.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.9.4.1 04-Jul-2014  tls file cpu.c was added on branch tls-maxphys on 2014-08-20 00:03:18 +0000
 1.10.2.1 26-Jul-2016  pgoyette Sync with HEAD
 1.21 10-Feb-2024  andvar Fix various typos in comments, log messages and documentation.
 1.20 03-Apr-2019  christos centralize setdisklabel(9)
 1.19 04-Jul-2014  martin branches: 1.19.4; 1.19.30;
Adapt to struct buf changes
 1.18 31-Mar-2014  martin branches: 1.18.2;
Bring back the playstation2 port - now that a toolchain for it is
available again.
 1.17 05-Dec-2009  pooka branches: 1.17.10; 1.17.16;
Remove support for NetBSD/playstation2.
 1.16 02-Jan-2008  ad branches: 1.16.10; 1.16.24;
Merge vmlocking2 to head.
 1.15 17-Oct-2007  garbled branches: 1.15.2; 1.15.4; 1.15.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.14 08-Oct-2007  ad Merge brelse() changes from the vmlocking branch.
 1.13 29-Jul-2007  ad branches: 1.13.4; 1.13.6; 1.13.8;
It's not a good idea for device drivers to modify b_flags, as they don't
need to understand the locking around that field. Instead of setting
B_ERROR, set b_error instead. b_error is 'owned' by whoever completes
the I/O request.
 1.12 25-Nov-2006  scw branches: 1.12.8; 1.12.16; 1.12.20; 1.12.22;
Replace the myriad copies of bounds_check_with_label() with a single MI
version.

Add disk_blocksize(9) so that disk drivers can record the physical
block size of a disk if it is different to DEV_BSIZE. Right now this
simply initialises dk_blkshift and dk_byteshift according to the
supplied block size. This information is used in the MI version of
bounds_check_with_label().
 1.11 11-Dec-2005  christos branches: 1.11.20; 1.11.22;
merge ktrace-lwp.
 1.10 26-Jun-2005  he branches: 1.10.2;
Adapt to compiling with -Wcast-qual by adding a const and a couple
of __volatile__ uses.
 1.9 08-Oct-2003  lukem Overhaul MBR handling (part 1):

<sys/bootblock.h>:
* Added definitions for the Master Boot Record (MBR) used by
a variety of systems (primarily i386), including the format
of the BIOS Parameter Block (BPB).
This information was cribbed from a variety of sources
including <sys/disklabel_mbr.h> which this is a superset of.

As part of this, some data structure elements and #defines
were renamed to be more "namespace friendly" and consistent
with other bootblocks and MBR documentation.
Update all uses of the old names to the new names.

<sys/disklabel_mbr.h>:
* Deprecated in favor of <sys/bootblock.h> (the latter is more
"host tool" friendly).

amd64 & i386:
* Renamed /usr/mdec/bootxx_dosfs to /usr/mdec/bootxx_msdos, to
be consistent with the naming convention of the msdosfs tools.

* Removed /usr/mdec/bootxx_ufs, as it's equivalent to bootxx_ffsv1
and it's confusing to have two functionally equivalent bootblocks,
especially given that "ufs" has multiple meanings (it could be
a synonym for "ffs", or the group of ffs/lfs/ext2fs file systems).

* Rework pbr.S (the first sector of bootxx_*):
+ Ensure that BPB (bytes 11..89) and the partition table
(bytes 446..509) do not contain code.
+ Add support for booting from FAT partitions if BOOT_FROM_FAT
is defined. (Only set for bootxx_msdos).
+ Remove "dummy" partition 3; if people want to installboot(8)
these to the start of the disk they can use fdisk(8) to
create a real MBR partition table...
+ Compile with TERSE_ERROR so it fits because of the above.
Whilst this is less user friendly, I feel it's important
to have a valid partition table and BPB in the MBR/PBR.

* Renamed /usr/mdec/biosboot to /usr/mdec/boot, to be consistent
with other platforms.

* Enable SUPPORT_DOSFS in /usr/mdec/boot (stage2), so that
we can boot off FAT partitions.

* Crank version of /usr/mdec/boot to 3.1, and fix some of the other
entries in the version file.

installboot(8) (i386):
* Read the existing MBR of the filesystem and retain the BIOS
Parameter Block (BPB) in bytes 11..89 and the MBR partition
table in bytes 446..509. (Previously installboot(8) would
trash those two sections of the MBR.)

mbrlabel(8):
* Use sys/lib/libkern/xlat_mbr_fstype.c instead of homegrown code
to map the MBR partition type to the NetBSD disklabel type.


Test built "make release" for i386, and new bootblocks verified to work
(even off FAT!).
 1.8 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.7 15-Jul-2003  lukem __KERNEL_RCSID()
 1.6 12-May-2003  shin branches: 1.6.2;
we need <sys/disk.h> for struct disk.
 1.5 10-May-2003  thorpej Change bounds_check_with_label() to take a pointer to the disk structure,
rather than the label itself. This paves the way for some future changes.
 1.4 02-May-2003  dsl Change return type of readdisklabel() to const char *
I hope I've found all the correct places!
 1.3 16-Apr-2003  bouyer Nake return values from bounds_check_with_label() conform to the man
page: -1 for error, 0 for EOF, 1 otherwise. Inspired by an OpenBSD commit
message, pointed out by Miod Vallat in private mail.
vax/mba/hp.c: check return value <= 0, not < 0 to be concistent with how
other places handle return values from bounds_check_with_label().
 1.2 19-Feb-2002  wiz strategy should have an 'r'. Inspired by similar change in OpenBSD.
 1.1 16-Oct-2001  uch branches: 1.1.4; 1.1.6;
playstation2 port
 1.1.6.3 16-Mar-2002  jdolecek Catch up with -current.
 1.1.6.2 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.1.6.1 16-Oct-2001  thorpej file disksubr.c was added on branch kqueue on 2002-01-10 19:47:45 +0000
 1.1.4.2 28-Feb-2002  nathanw Catch up to -current.
 1.1.4.1 16-Oct-2001  nathanw file disksubr.c was added on branch nathanw_sa on 2002-02-28 04:11:20 +0000
 1.6.2.4 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 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.10.2.4 21-Jan-2008  yamt sync with head
 1.10.2.3 27-Oct-2007  yamt sync with head.
 1.10.2.2 03-Sep-2007  yamt sync with head.
 1.10.2.1 30-Dec-2006  yamt sync with head.
 1.11.22.1 10-Dec-2006  yamt sync with head.
 1.11.20.1 12-Jan-2007  ad Sync with head.
 1.12.22.1 15-Aug-2007  skrll Sync with HEAD.
 1.12.20.1 07-Aug-2007  matt Sync with HEAD.
 1.12.16.2 16-Oct-2007  garbled Sync with HEAD
 1.12.16.1 03-Oct-2007  garbled Sync with HEAD
 1.12.8.2 09-Oct-2007  ad Sync with head.
 1.12.8.1 19-Aug-2007  ad - Back out the biodone() changes.
- Eliminate B_ERROR (from HEAD).
 1.13.8.1 14-Oct-2007  yamt sync with head.
 1.13.6.2 09-Jan-2008  matt sync with HEAD
 1.13.6.1 06-Nov-2007  matt sync with HEAD
 1.13.4.1 26-Oct-2007  joerg Sync with HEAD.

Follow the merge of pmap.c on i386 and amd64 and move
pmap_init_tmp_pgtbl into arch/x86/x86/pmap.c. Modify the ACPI wakeup
code to restore CR4 before jumping back into kernel space as the large
page option might cover that.
 1.15.8.1 02-Jan-2008  bouyer Sync with HEAD
 1.15.4.1 31-Dec-2007  ad Make compile with new buffer cache locking scheme.

XXX This should be largely MI, please do not make another clone of disksubr.c.
 1.15.2.1 18-Feb-2008  mjf Sync with HEAD.
 1.16.24.1 24-Oct-2010  jym Sync with HEAD
 1.16.10.1 11-Mar-2010  yamt sync with head
 1.17.16.1 18-May-2014  rmind sync with head
 1.17.10.1 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.18.2.1 10-Aug-2014  tls Rebase.
 1.19.30.1 10-Jun-2019  christos Sync with HEAD
 1.19.4.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.19.4.1 04-Jul-2014  tls file disksubr.c was added on branch tls-maxphys on 2014-08-20 00:03:18 +0000
 1.20 20-Dec-2023  thorpej Remove unnecessary <sys/malloc.h>.
 1.19 05-Nov-2023  andvar Return missing debug message text and remove obsolete sched_whichqs param.

Allows INTR_DEBUG code to compile.
 1.18 06-Oct-2021  andvar s/embeded/embedded/ in comments and messages.
 1.17 05-Jun-2021  christos Make this compile again; there is no SPL_SOFT, so use SPL_SOFTBIO. This
does not matter since we don't do __HAVE_FAST_SOFTINTS...
 1.16 08-Feb-2018  dholland branches: 1.16.20; 1.16.24;
Typos.
 1.15 19-Jul-2016  maya Remove unused bits
(mostly because _IPL_NSOFT is not defined)
 1.14 19-Jul-2016  maya Change cpu_intr prototype to new one, to avoid conflicts.
Make the function resemble typical cpu_intr code.
 1.13 19-Jul-2016  maya Don't use old style definition
 1.12 18-Jul-2016  maya Remove unused variables
 1.11 31-Mar-2014  martin branches: 1.11.6; 1.11.8; 1.11.12;
Bring back the playstation2 port - now that a toolchain for it is
available again.
 1.10 05-Dec-2009  pooka branches: 1.10.10; 1.10.16;
Remove support for NetBSD/playstation2.
 1.9 18-Mar-2009  cegger Ansify function definitions w/o arguments. Generated with sed.
 1.8 28-Apr-2008  martin branches: 1.8.8; 1.8.14;
Remove clause 3 and 4 from TNF licenses
 1.7 15-Dec-2007  perry branches: 1.7.6; 1.7.8; 1.7.10;
__FUNCTION__ -> __func__
 1.6 03-Dec-2007  ad branches: 1.6.2; 1.6.6;
Interrupt handling changes, in discussion since February:

- Reduce available SPL levels for hardware devices to none, vm, sched, high.
- Acquire kernel_lock only for interrupts at IPL_VM.
- Implement threaded soft interrupts.
 1.5 17-Oct-2007  garbled branches: 1.5.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.4 17-Jun-2007  tsutsui branches: 1.4.8; 1.4.10;
Move declaretions of _spl*() and _{clr,set}softintr() functions
(which are in mips/locore.S) into <mips/locore.h>
from various MD files.
 1.3 11-Dec-2005  christos branches: 1.3.30; 1.3.32; 1.3.38;
merge ktrace-lwp.
 1.2 15-Jul-2003  lukem branches: 1.2.16;
__KERNEL_RCSID()
 1.1 16-Oct-2001  uch branches: 1.1.4; 1.1.6; 1.1.22;
playstation2 port
 1.1.22.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.1.22.2 18-Sep-2004  skrll Sync with HEAD.
 1.1.22.1 03-Aug-2004  skrll Sync with HEAD
 1.1.6.2 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.1.6.1 16-Oct-2001  thorpej file interrupt.c was added on branch kqueue on 2002-01-10 19:47:45 +0000
 1.1.4.2 16-Oct-2001  uch playstation2 port
 1.1.4.1 16-Oct-2001  uch file interrupt.c was added on branch nathanw_sa on 2001-10-16 15:38:55 +0000
 1.2.16.3 21-Jan-2008  yamt sync with head
 1.2.16.2 07-Dec-2007  yamt sync with head
 1.2.16.1 03-Sep-2007  yamt sync with head.
 1.3.38.1 26-Jun-2007  garbled Sync with HEAD.
 1.3.32.1 11-Jul-2007  mjf Sync with head.
 1.3.30.2 03-Dec-2007  ad Sync with HEAD.
 1.3.30.1 15-Jul-2007  ad Sync with head.
 1.4.10.2 09-Jan-2008  matt sync with HEAD
 1.4.10.1 06-Nov-2007  matt sync with HEAD
 1.4.8.1 09-Dec-2007  jmcneill Sync with HEAD.
 1.5.2.2 27-Dec-2007  mjf Sync with HEAD.
 1.5.2.1 08-Dec-2007  mjf Sync with HEAD.
 1.6.6.1 02-Jan-2008  bouyer Sync with HEAD
 1.6.2.1 26-Dec-2007  ad Sync with head.
 1.7.10.3 11-Mar-2010  yamt sync with head
 1.7.10.2 04-May-2009  yamt sync with head.
 1.7.10.1 16-May-2008  yamt sync with head.
 1.7.8.1 18-May-2008  yamt sync with head.
 1.7.6.1 02-Jun-2008  mjf Sync with HEAD.
 1.8.14.2 24-Oct-2010  jym Sync with HEAD
 1.8.14.1 13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.8.8.1 28-Apr-2009  skrll Sync with HEAD.
 1.10.16.1 18-May-2014  rmind sync with head
 1.10.10.1 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.11.12.1 26-Jul-2016  pgoyette Sync with HEAD
 1.11.8.1 05-Oct-2016  skrll Sync with HEAD
 1.11.6.3 03-Dec-2017  jdolecek update from HEAD
 1.11.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.11.6.1 31-Mar-2014  tls file interrupt.c was added on branch tls-maxphys on 2014-08-20 00:03:18 +0000
 1.16.24.1 06-Jun-2021  cjep sync with head
 1.16.20.1 17-Jun-2021  thorpej Sync w/ HEAD.
 1.7 03-Apr-2016  martin Add missing includes
 1.6 04-Jul-2014  martin branches: 1.6.4; 1.6.6;
md_imask_update is not an inline function, fix declaration.
 1.5 31-Mar-2014  martin branches: 1.5.2;
Bring back the playstation2 port - now that a toolchain for it is
available again.
 1.4 05-Dec-2009  pooka branches: 1.4.10; 1.4.16;
Remove support for NetBSD/playstation2.
 1.3 28-Apr-2008  martin branches: 1.3.14;
Remove clause 3 and 4 from TNF licenses
 1.2 24-Dec-2005  perry branches: 1.2.74; 1.2.76; 1.2.78;
__asm__ -> __asm
__const__ -> const
__inline__ -> inline
__volatile__ -> volatile
 1.1 16-Oct-2001  uch branches: 1.1.4; 1.1.6; 1.1.38;
playstation2 port
 1.1.38.1 21-Jun-2006  yamt sync with head.
 1.1.6.2 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.1.6.1 16-Oct-2001  thorpej file interrupt.h was added on branch kqueue on 2002-01-10 19:47:45 +0000
 1.1.4.2 16-Oct-2001  uch playstation2 port
 1.1.4.1 16-Oct-2001  uch file interrupt.h was added on branch nathanw_sa on 2001-10-16 15:38:55 +0000
 1.2.78.2 11-Mar-2010  yamt sync with head
 1.2.78.1 16-May-2008  yamt sync with head.
 1.2.76.1 18-May-2008  yamt sync with head.
 1.2.74.1 02-Jun-2008  mjf Sync with HEAD.
 1.3.14.1 24-Oct-2010  jym Sync with HEAD
 1.4.16.1 18-May-2014  rmind sync with head
 1.4.10.1 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.5.2.1 10-Aug-2014  tls Rebase.
 1.6.6.1 22-Apr-2016  skrll Sync with HEAD
 1.6.4.3 03-Dec-2017  jdolecek update from HEAD
 1.6.4.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.6.4.1 04-Jul-2014  tls file interrupt.h was added on branch tls-maxphys on 2014-08-20 00:03:18 +0000
 1.9 06-Jul-2004  uch MI part of kloader moved to dev/kloader.c from arch/hpc/hpc/
dreamcast and playstation2 port are changed to use this.
 1.8 15-Jul-2003  lukem __KERNEL_RCSID()
 1.7 29-Jun-2003  fvdl branches: 1.7.2;
Back out the lwp/ktrace changes. They contained a lot of colateral damage,
and need to be examined and discussed more.
 1.6 28-Jun-2003  darrenr Pass lwp pointers throughtout the kernel, as required, so that the lwpid can
be inserted into ktrace records. The general change has been to replace
"struct proc *" with "struct lwp *" in various function prototypes, pass
the lwp through and use l_proc to get the process pointer when needed.

Bump the kernel rev up to 1.6V
 1.5 08-May-2003  shin compilation fix.
 1.4 18-Jan-2003  thorpej Merge the nathanw_sa branch.
 1.3 02-Jun-2002  drochner move initialization of the "struct pglist" returned by uvm_pglistalloc()
from the calling code into uvm_pglistalloc() itself for consistency
and easier error handling
 1.2 23-Nov-2001  uch branches: 1.2.2; 1.2.10;
Update for the new cache code.
 1.1 16-Oct-2001  uch branches: 1.1.4;
playstation2 port
 1.1.4.4 24-Jun-2002  nathanw Curproc->curlwp renaming.

Change uses of "curproc->l_proc" back to "curproc", which is more like the
original use. Bare uses of "curproc" are now "curlwp".

"curproc" is now #defined in proc.h as ((curlwp) ? (curlwp)->l_proc) : NULL)
so that it is always safe to reference curproc (*de*referencing curproc
is another story, but that's always been true).
 1.1.4.3 20-Jun-2002  nathanw Catch up to -current.
 1.1.4.2 08-Jan-2002  nathanw Catch up to -current.
 1.1.4.1 16-Oct-2001  nathanw file kloader.c was added on branch nathanw_sa on 2002-01-08 00:27:02 +0000
 1.2.10.1 15-Jul-2002  gehenna catch up with -current.
 1.2.2.3 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.2.2.2 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.2.2.1 23-Nov-2001  thorpej file kloader.c was added on branch kqueue on 2002-01-10 19:47:45 +0000
 1.7.2.2 03-Aug-2004  skrll Sync with HEAD
 1.7.2.1 02-Jul-2003  darrenr Apply the aborted ktrace-lwp changes to a specific branch. This is just for
others to review, I'm concerned that patch fuziness may have resulted in some
errant code being generated but I'll look at that later by comparing the diff
from the base to the branch with the file I attempt to apply to it. This will,
at the very least, put the changes in a better context for others to review
them and attempt to tinker with removing passing of 'struct lwp' through
the kernel.
 1.2 06-Jul-2004  uch MI part of kloader moved to dev/kloader.c from arch/hpc/hpc/
dreamcast and playstation2 port are changed to use this.
 1.1 16-Oct-2001  uch branches: 1.1.4; 1.1.6; 1.1.22;
playstation2 port
 1.1.22.1 03-Aug-2004  skrll Sync with HEAD
 1.1.6.2 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.1.6.1 16-Oct-2001  thorpej file kloader.h was added on branch kqueue on 2002-01-10 19:47:45 +0000
 1.1.4.2 16-Oct-2001  uch playstation2 port
 1.1.4.1 16-Oct-2001  uch file kloader.h was added on branch nathanw_sa on 2001-10-16 15:38:56 +0000
 1.6 07-Nov-2023  andvar add explicit void in function declaration to fix old-style function declaration.
 1.5 31-Mar-2014  martin branches: 1.5.6;
Bring back the playstation2 port - now that a toolchain for it is
available again.
 1.4 05-Dec-2009  pooka branches: 1.4.10; 1.4.16;
Remove support for NetBSD/playstation2.
 1.3 28-Apr-2008  martin branches: 1.3.14;
Remove clause 3 and 4 from TNF licenses
 1.2 11-Dec-2005  christos branches: 1.2.74; 1.2.76; 1.2.78;
merge ktrace-lwp.
 1.1 06-Jul-2004  uch branches: 1.1.2;
MI part of kloader moved to dev/kloader.c from arch/hpc/hpc/
dreamcast and playstation2 port are changed to use this.
 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 06-Jul-2004  skrll file kloader_machdep.c was added on branch ktrace-lwp on 2004-08-03 10:39:06 +0000
 1.2.78.2 11-Mar-2010  yamt sync with head
 1.2.78.1 16-May-2008  yamt sync with head.
 1.2.76.1 18-May-2008  yamt sync with head.
 1.2.74.1 02-Jun-2008  mjf Sync with HEAD.
 1.3.14.1 24-Oct-2010  jym Sync with HEAD
 1.4.16.1 18-May-2014  rmind sync with head
 1.4.10.1 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.5.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.5.6.1 31-Mar-2014  tls file kloader_machdep.c was added on branch tls-maxphys on 2014-08-20 00:03:18 +0000
 1.13 03-Apr-2016  martin Convert # line comments to // line to avoid preprocessor confusion
 1.12 22-Mar-2015  martin Use ta0 instead of t4 (so at least it compiles for all ABIs)
 1.11 31-Mar-2014  martin branches: 1.11.6; 1.11.8;
Bring back the playstation2 port - now that a toolchain for it is
available again.
 1.10 05-Dec-2009  pooka branches: 1.10.10; 1.10.16;
Remove support for NetBSD/playstation2.
 1.9 28-Apr-2008  martin branches: 1.9.14;
Remove clause 3 and 4 from TNF licenses
 1.8 11-Dec-2005  christos branches: 1.8.74; 1.8.76; 1.8.78;
merge ktrace-lwp.
 1.7 31-May-2005  chs remove vestigal {,e}intr{names,cnt} symbols now that vmstat doesn't need them.
 1.6 09-Jul-2004  uch set BEV bit before coping kernel.
set next kernel stack pointer.
 1.5 09-Jul-2004  uch fix I-cache flush loop counter bug.
 1.4 06-Jul-2004  uch MI part of kloader moved to dev/kloader.c from arch/hpc/hpc/
dreamcast and playstation2 port are changed to use this.
 1.3 23-Nov-2001  uch branches: 1.3.2; 1.3.18;
Update for the new cache code.
 1.2 14-Nov-2001  thorpej branches: 1.2.2;
Merge the thorpej-mips-cache branch onto the trunk. This is an
overhaul of how caches are handled for NetBSD's MIPS ports.
 1.1 16-Oct-2001  uch branches: 1.1.2;
playstation2 port
 1.1.2.1 10-Nov-2001  uch new cache code for R5900 and playstation2
 1.2.2.2 08-Jan-2002  nathanw Catch up to -current.
 1.2.2.1 14-Nov-2001  nathanw file locore_machdep.S was added on branch nathanw_sa on 2002-01-08 00:27:02 +0000
 1.3.18.4 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 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 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.3.2.1 23-Nov-2001  thorpej file locore_machdep.S was added on branch kqueue on 2002-01-10 19:47:45 +0000
 1.8.78.2 11-Mar-2010  yamt sync with head
 1.8.78.1 16-May-2008  yamt sync with head.
 1.8.76.1 18-May-2008  yamt sync with head.
 1.8.74.1 02-Jun-2008  mjf Sync with HEAD.
 1.9.14.1 24-Oct-2010  jym Sync with HEAD
 1.10.16.1 18-May-2014  rmind sync with head
 1.10.10.1 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.11.8.2 22-Apr-2016  skrll Sync with HEAD
 1.11.8.1 06-Apr-2015  skrll Sync with HEAD
 1.11.6.3 03-Dec-2017  jdolecek update from HEAD
 1.11.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.11.6.1 31-Mar-2014  tls file locore_machdep.S was added on branch tls-maxphys on 2014-08-20 00:03:18 +0000
 1.36 05-Mar-2024  thorpej Move the at-shutdown call to resettodr() from cpu_reboot() to kern_reboot().

It's a small step, but it's a step.
 1.35 23-Nov-2023  andvar Few more changes for playstation2 specific code to adapt to interface or method
declaration changes. Still long way before port code can be built though...

reviewed by martin.
 1.34 16-Nov-2021  msaitoh Remove mb_map.
 1.33 06-Nov-2017  christos Cleanup and clarify the ELFSIZE mess:

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

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

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

In sys/exec_elf.h, if ELFSIZE is not set, it is set to KERN_ELFSIZE
for the kernel and ARCH_ELFSIZE for userland. These defaults should
eliminate the need for most manual ELFSIZE setting.
 1.32 22-Dec-2016  cherry switch all ports to use uvm_init.c:uvm_md_init()

uvm_setpagesize() is now subsumed within this funciton.
 1.31 30-Jun-2015  matt branches: 1.31.2;
Use cpu_startup_common()
 1.30 31-Mar-2014  martin branches: 1.30.6; 1.30.8;
Bring back the playstation2 port - now that a toolchain for it is
available again.
 1.29 05-Dec-2009  pooka branches: 1.29.10; 1.29.16;
Remove support for NetBSD/playstation2.
 1.28 27-Nov-2009  rmind - Use uvm_lwp_setuarea() instead of directly setting address to lwp_t::l_addr.
- Replace most remaining uses of l_addr with uvm_lwp_getuarea() or lwp_getpcb().
- Amend assembly in ports where it accesses PCB via struct user.
- Rename L_ADDR to L_PCB in few places. Reduce sys/user.h inclusions.
 1.27 26-Nov-2009  matt Kill proc0paddr. Use lwp0.l_addr instead.
 1.26 11-Aug-2009  matt Remove all declarations of physmem from sys/arch. Add an include of
<sys/systm.h> to the one file that did not already contain it.
This now means that physmem can be changed by updating systm.h and uvm_page.c
(excluding fixing printfs)
 1.25 18-Mar-2009  cegger Ansify function definitions w/o arguments. Generated with sed.
 1.24 11-Nov-2008  dyoung branches: 1.24.4;
It is not appropriate to call pmf_system_shutdown(9) from
doshutdownhooks(9): shutdown hooks registered by shutdownhook_establish(9)
expect to be called with interrupts disabled, but shutdown hooks
registered with pmf_device_register1(9) expect to be called with
interrupts enabled. So I have made two changes:

1 Do not call pmf_system_shutdown() from doshutdownhooks(). Instead,
change every call to doshutdownhooks() to a call to doshutdownhooks()
followed by a call to pmf_system_shutdown(). No functional change
is intended by this change.

2 Make i386 re-enable interrupts briefly while it calls
pmf_system_shutdown(). I leave it to others either to fix the
other ports, or to factor out some MI shutdown code, as joerg@
suggests, and fix that. Note that a functional change *is* intended
by this change.

I hope that this patch will stop us from flip-flopping between
calling doshutdownhooks() and pmf_system_shutdown() sometimes with
and sometimes without interrupts enabled.
 1.23 02-Jul-2008  ad branches: 1.23.2; 1.23.4; 1.23.10;
Replce exec_map with a pool. Proposed on tech-kern@, reviewed by chs@.
 1.22 28-Apr-2008  martin branches: 1.22.2; 1.22.4;
Remove clause 3 and 4 from TNF licenses
 1.21 17-Oct-2007  garbled branches: 1.21.16; 1.21.18; 1.21.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.20 17-May-2007  yamt branches: 1.20.10;
merge yamt-idlelwp branch. asked by core@. some ports still needs work.

from doc/BRANCHES:

idle lwp, and some changes depending on it.

1. separate context switching and thread scheduling.
(cf. gmcgarry_ctxsw)
2. implement idle lwp.
3. clean up related MD/MI interfaces.
4. make scheduler(s) modular.
 1.19 05-Mar-2007  dogcow branches: 1.19.2; 1.19.4; 1.19.10;
semimechanically convert 'void foo' -> 'void *foo', as part of the continuing
caddr_t fallout.
 1.18 04-Mar-2007  christos Kill caddr_t; there will be some MI fallout, but it will be fixed shortly.
 1.17 22-Feb-2007  thorpej TRUE -> true, FALSE -> false
 1.16 09-Apr-2006  tsutsui branches: 1.16.14;
Remove declarations for cpu_model[] since it's in <sys/systm.h>.
 1.15 11-Dec-2005  christos branches: 1.15.4; 1.15.6; 1.15.8; 1.15.10; 1.15.12;
merge ktrace-lwp.
 1.14 25-Apr-2005  lukem branches: 1.14.2;
Move the MI printing of `copyright' to the MD cpu_startup() code
where the printing of `version' is already performed.
This has the benefit of allowing the copyright to be available
via dmesg(8) on platforms which need the `msgbuf' to be setup
in cpu_startup() before printed output is remembered.
 1.13 06-Jul-2004  uch branches: 1.13.4;
MI part of kloader moved to dev/kloader.c from arch/hpc/hpc/
dreamcast and playstation2 port are changed to use this.
 1.12 03-Apr-2004  simonb Copy Izumi Tsutsui's total/avail memory message tidy up.
sgimips is a little different, that is left as is.
 1.11 30-Dec-2003  pk Replace the traditional buffer memory management -- based on fixed per buffer
virtual memory reservation and a private pool of memory pages -- by a scheme
based on memory pools.

This allows better utilization of memory because buffers can now be allocated
with a granularity finer than the system's native page size (useful for
filesystems with e.g. 1k or 2k fragment sizes). It also avoids fragmentation
of virtual to physical memory mappings (due to the former fixed virtual
address reservation) resulting in better utilization of MMU resources on some
platforms. Finally, the scheme is more flexible by allowing run-time decisions
on the amount of memory to be used for buffers.

On the other hand, the effectiveness of the LRU queue for buffer recycling
may be somewhat reduced compared to the traditional method since, due to the
nature of the pool based memory allocation, the actual least recently used
buffer may release its memory to a pool different from the one needed by a
newly allocated buffer. However, this effect will kick in only if the
system is under memory pressure.
 1.10 15-Jul-2003  lukem __KERNEL_RCSID()
 1.9 08-May-2003  shin branches: 1.9.2;
compilation fix.
 1.8 02-Apr-2003  thorpej Use PAGE_SIZE rather than NBPG.
 1.7 18-Jan-2003  thorpej Merge the nathanw_sa branch.
 1.6 25-Aug-2002  thorpej Make nbuf, nswbuf, and bufpages unsigned. Make all operations on these
variables unsigned, and update places where their values are printed.
 1.5 06-Aug-2002  shin compilation fix.
 1.4 04-Aug-2002  gmcgarry Merge cpu_sysctl() for all mips ports, based on powerpc and m68k precedent.

For now, only pmax implements CPU_BOOTED_KERNEL. Need to revisit.
 1.3 31-Jan-2002  uch branches: 1.3.8;
if RB_HALT is setted, don't load kernel.
 1.2 23-Nov-2001  uch branches: 1.2.2;
integrate BUILTIN_KERNEL_LOADER and KERNE_PATH into KLOADER_KERNEL_PATH.
 1.1 16-Oct-2001  uch branches: 1.1.4;
playstation2 port
 1.1.4.6 27-Aug-2002  nathanw Catch up to -current.
 1.1.4.5 13-Aug-2002  nathanw Catch up to -current.
 1.1.4.4 24-Jun-2002  nathanw Curproc->curlwp renaming.

Change uses of "curproc->l_proc" back to "curproc", which is more like the
original use. Bare uses of "curproc" are now "curlwp".

"curproc" is now #defined in proc.h as ((curlwp) ? (curlwp)->l_proc) : NULL)
so that it is always safe to reference curproc (*de*referencing curproc
is another story, but that's always been true).
 1.1.4.3 28-Feb-2002  nathanw Catch up to -current.
 1.1.4.2 08-Jan-2002  nathanw Catch up to -current.
 1.1.4.1 16-Oct-2001  nathanw file machdep.c was added on branch nathanw_sa on 2002-01-08 00:27:03 +0000
 1.2.2.4 06-Sep-2002  jdolecek sync kqueue branch with HEAD
 1.2.2.3 11-Feb-2002  jdolecek Sync w/ -current.
 1.2.2.2 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.2.2.1 23-Nov-2001  thorpej file machdep.c was added on branch kqueue on 2002-01-10 19:47:45 +0000
 1.3.8.1 31-Aug-2002  gehenna catch up with -current.
 1.9.2.4 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.9.2.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.9.2.2 18-Sep-2004  skrll Sync with HEAD.
 1.9.2.1 03-Aug-2004  skrll Sync with HEAD
 1.13.4.1 29-Apr-2005  kent sync with -current
 1.14.2.3 03-Sep-2007  yamt sync with head.
 1.14.2.2 26-Feb-2007  yamt sync with head.
 1.14.2.1 21-Jun-2006  yamt sync with head.
 1.15.12.1 24-May-2006  tron Merge 2006-05-24 NetBSD-current into the "peter-altq" branch.
 1.15.10.1 19-Apr-2006  elad sync with head - hopefully this will work
 1.15.8.1 11-Apr-2006  yamt sync with head
 1.15.6.1 22-Apr-2006  simonb Sync with head.
 1.15.4.1 09-Sep-2006  rpaulo sync with head
 1.16.14.3 18-Apr-2007  ad - Further adaptations to MIPS for the yamt-idlelwp branch.
- Make curlwp a register variable on MIPS.
 1.16.14.2 12-Mar-2007  rmind Sync with HEAD.
 1.16.14.1 27-Feb-2007  yamt - sync with head.
- move sched_changepri back to kern_synch.c as it doesn't know PPQ anymore.
 1.19.10.1 22-May-2007  matt Update to HEAD.
 1.19.4.1 11-Jul-2007  mjf Sync with head.
 1.19.2.1 27-May-2007  ad Sync with head.
 1.20.10.1 06-Nov-2007  matt sync with HEAD
 1.21.20.4 11-Mar-2010  yamt sync with head
 1.21.20.3 19-Aug-2009  yamt sync with head.
 1.21.20.2 04-May-2009  yamt sync with head.
 1.21.20.1 16-May-2008  yamt sync with head.
 1.21.18.1 18-May-2008  yamt sync with head.
 1.21.16.3 17-Jan-2009  mjf Sync with HEAD.
 1.21.16.2 02-Jul-2008  mjf Sync with HEAD.
 1.21.16.1 02-Jun-2008  mjf Sync with HEAD.
 1.22.4.1 03-Jul-2008  simonb Sync with head.
 1.22.2.1 18-Sep-2008  wrstuden Sync with wrstuden-revivesa-base-2.
 1.23.10.3 14-Feb-2012  matt mem_cluster_cnt on mips is now a u_int.
 1.23.10.2 21-Mar-2010  cliff mips_vector_init now takes an argument to specify splsw.
NULL specifies use the default 'std_splsw'
 1.23.10.1 07-Sep-2009  matt Deal with pcb_context being a label_t
 1.23.4.2 28-Apr-2009  skrll Sync with HEAD.
 1.23.4.1 19-Jan-2009  skrll Sync with HEAD.
 1.23.2.1 13-Dec-2008  haad Update haad-dm branch to haad-dm-base2.
 1.24.4.2 24-Oct-2010  jym Sync with HEAD
 1.24.4.1 13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.29.16.1 18-May-2014  rmind sync with head
 1.29.10.1 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.30.8.2 05-Feb-2017  skrll Sync with HEAD
 1.30.8.1 22-Sep-2015  skrll Sync with HEAD
 1.30.6.3 03-Dec-2017  jdolecek update from HEAD
 1.30.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.30.6.1 31-Mar-2014  tls file machdep.c was added on branch tls-maxphys on 2014-08-20 00:03:18 +0000
 1.31.2.1 07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.19 11-Feb-2022  riastradh playstation2: Fix some pre-device_t/softc-split device private sizes.

Nothing appears to use device_private here, so let's not allocate
anything or ask for sizeof(struct device).
 1.18 07-Aug-2021  thorpej Merge thorpej-cfargs2.
 1.17 24-Apr-2021  thorpej branches: 1.17.8;
Merge thorpej-cfargs branch:

Simplify and make extensible the config_search() / config_found() /
config_attach() interfaces: rather than having different variants for
which arguments you want pass along, just have a single call that
takes a variadic list of tag-value arguments.

Adjust all call sites:
- Simplify wherever possible; don't pass along arguments that aren't
actually needed.
- Don't be explicit about what interface attribute is attaching if
the device only has one. (More simplification.)
- Add a config_probe() function to be used in indirect configuiration
situations, making is visibly easier to see when indirect config is
in play, and allowing for future change in semantics. (As of now,
this is just a wrapper around config_match(), but that is an
implementation detail.)

Remove unnecessary or redundant interface attributes where they're not
needed.

There are currently 5 "cfargs" defined:
- CFARG_SUBMATCH (submatch function for direct config)
- CFARG_SEARCH (search function for indirect config)
- CFARG_IATTR (interface attribte)
- CFARG_LOCATORS (locators array)
- CFARG_DEVHANDLE (devhandle_t - wraps OFW, ACPI, etc. handles)

...and a sentinel value CFARG_EOL.

Add some extra sanity checking to ensure that interface attributes
aren't ambiguous.

Use CFARG_DEVHANDLE in MI FDT, OFW, and ACPI code, and macppc and shark
ports to associate those device handles with device_t instance. This
will trickle trough to more places over time (need back-end for pre-OFW
Sun OBP; any others?).
 1.16 19-Jul-2016  maya branches: 1.16.30;
CFATTACH_DECL -> CFATTACH_DECL_NEW
struct device * -> device_t
 1.15 19-Jul-2016  maya We need to include param.h before device.h, as it uses uint64_t
 1.14 18-Jul-2016  maya Include sys/device.h for cfdata_t
 1.13 18-Jul-2016  maya Adapt to change: struct cfdata * -> cfdata_t
 1.12 31-Mar-2014  martin branches: 1.12.6; 1.12.8; 1.12.12;
Bring back the playstation2 port - now that a toolchain for it is
available again.
 1.11 05-Dec-2009  pooka branches: 1.11.10; 1.11.16;
Remove support for NetBSD/playstation2.
 1.10 28-Apr-2008  martin branches: 1.10.14;
Remove clause 3 and 4 from TNF licenses
 1.9 11-Dec-2005  christos branches: 1.9.74; 1.9.76; 1.9.78;
merge ktrace-lwp.
 1.8 26-Aug-2005  drochner s/locdesc_t/int/g
 1.7 30-Jun-2005  drochner branches: 1.7.2;
adaptions to config_search() change, and minor autoconf fixes, mostly from Havard Eidnes
 1.6 15-Jul-2003  lukem __KERNEL_RCSID()
 1.5 02-Oct-2002  thorpej branches: 1.5.6;
Use CFATTACH_DECL().
 1.4 27-Sep-2002  thorpej Declare all cfattach structures const.
 1.3 27-Sep-2002  thorpej Introduce a new routine, config_match(), which invokes the
cfattach->ca_match function in behalf of the caller. Use it
rather than invoking cfattach->ca_match directly.
 1.2 27-Sep-2002  thorpej Rather than referencing the cfdriver directly in the cfdata entries,
instead use a string naming the driver. The cfdriver is then looked
up in a list which is built at run-time.
 1.1 16-Oct-2001  uch branches: 1.1.4; 1.1.6;
playstation2 port
 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 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.1.6.1 16-Oct-2001  thorpej file mainbus.c was added on branch kqueue on 2002-01-10 19:47:45 +0000
 1.1.4.2 18-Oct-2002  nathanw Catch up to -current.
 1.1.4.1 16-Oct-2001  nathanw file mainbus.c was added on branch nathanw_sa on 2002-10-18 02:39:24 +0000
 1.5.6.4 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.5.6.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.5.6.2 18-Sep-2004  skrll Sync with HEAD.
 1.5.6.1 03-Aug-2004  skrll Sync with HEAD
 1.7.2.1 21-Jun-2006  yamt sync with head.
 1.9.78.2 11-Mar-2010  yamt sync with head
 1.9.78.1 16-May-2008  yamt sync with head.
 1.9.76.1 18-May-2008  yamt sync with head.
 1.9.74.1 02-Jun-2008  mjf Sync with HEAD.
 1.10.14.1 24-Oct-2010  jym Sync with HEAD
 1.11.16.1 18-May-2014  rmind sync with head
 1.11.10.1 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.12.12.1 26-Jul-2016  pgoyette Sync with HEAD
 1.12.8.1 05-Oct-2016  skrll Sync with HEAD
 1.12.6.3 03-Dec-2017  jdolecek update from HEAD
 1.12.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.12.6.1 31-Mar-2014  tls file mainbus.c was added on branch tls-maxphys on 2014-08-20 00:03:18 +0000
 1.16.30.6 05-Apr-2021  thorpej config_match() -> config_probe() for the straight-forward indirect config
cases. There are still a few odd balls using config_match() which should
be sorted out later.
 1.16.30.5 04-Apr-2021  thorpej CFARG_SUBMATCH -> CFARG_SEARCH for the indirect configuration uses.
 1.16.30.4 03-Apr-2021  thorpej Give config_attach() the tagged variadic argument treatment and
mechanically convert all call sites.
 1.16.30.3 21-Mar-2021  thorpej Give config_found() the same variadic arguments treatment as
config_search(). This commit only adds the CFARG_EOL sentinel
to the existing config_found() calls. Conversion of config_found_sm_loc()
and config_found_ia() call sites will be in subsequent commits.
 1.16.30.2 21-Mar-2021  thorpej CFARG_IATTR usage audit:

If a device carries only one interface attribute, there is no need
to specify it when calling config_search(); that specification is
meant only to disambiguate which interface attribute (which is a
proxy for "what kind of attach args are being used") is having
children attached. cfparent_match() will take care of ensuring that
any potential children can attach to one of the parent's iterface
attributes, and if the parent only carries one, no disambiguation is
necessary.
 1.16.30.1 20-Mar-2021  thorpej The proliferation if config_search_*() and config_found_*() combinations
is a little absurd, so begin to tidy this up:

- Introduce a new cfarg_t enumerated type, that defines the types of
tag-value variadic arguments that can be passed to the various
config_*() functions (CFARG_SUBMATCH, CFARG_IATTR, and CFARG_LOCATORS,
for now, plus a CFARG_EOL sentinel).
- Collapse config_search_*() into config_search() that takes these
variadic arguments.
- Convert all call sites of config_search_*() to the new signature.
Noticed several incorrect usages along the way, which will be
audited in a future commit.
 1.17.8.1 04-Aug-2021  thorpej Adapt to CFARGS().
 1.2 13-Mar-2002  simonb All the mips ports had an identical procfs_machdep.c, so use a common
file under arch/mips/mips.
 1.1 16-Oct-2001  uch branches: 1.1.4; 1.1.6;
playstation2 port
 1.1.6.3 16-Mar-2002  jdolecek Catch up with -current.
 1.1.6.2 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.1.6.1 16-Oct-2001  thorpej file procfs_machdep.c was added on branch kqueue on 2002-01-10 19:47:45 +0000
 1.1.4.2 01-Apr-2002  nathanw Catch up to -current.
(CVS: It's not just a program. It's an adventure!)
 1.1.4.1 16-Oct-2001  nathanw file procfs_machdep.c was added on branch nathanw_sa on 2002-04-01 07:41:52 +0000
 1.11 31-Mar-2014  martin branches: 1.11.6;
Bring back the playstation2 port - now that a toolchain for it is
available again.
 1.10 05-Dec-2009  pooka branches: 1.10.10; 1.10.16;
Remove support for NetBSD/playstation2.
 1.9 18-Mar-2009  cegger Ansify function definitions w/o arguments. Generated with sed.
 1.8 28-Apr-2008  martin branches: 1.8.8; 1.8.14;
Remove clause 3 and 4 from TNF licenses
 1.7 24-Dec-2005  perry branches: 1.7.74; 1.7.76; 1.7.78;
__asm__ -> __asm
__const__ -> const
__inline__ -> inline
__volatile__ -> volatile
 1.6 11-Dec-2005  christos merge ktrace-lwp.
 1.5 26-Jun-2005  he branches: 1.5.2;
Adapt to compiling with -Wcast-qual by adding a const and a couple
of __volatile__ uses.
 1.4 22-Oct-2003  he Bring this back to a compileable state; fallout from NULL type change,
so just use 0 before casting to paddr_t.
 1.3 15-Jul-2003  lukem __KERNEL_RCSID()
 1.2 19-Oct-2001  shin branches: 1.2.4; 1.2.6; 1.2.22;
cosmetic change.
 1.1 16-Oct-2001  uch playstation2 port
 1.2.22.4 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.2.22.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.2.22.2 18-Sep-2004  skrll Sync with HEAD.
 1.2.22.1 03-Aug-2004  skrll Sync with HEAD
 1.2.6.2 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.2.6.1 19-Oct-2001  thorpej file sifbios.c was added on branch kqueue on 2002-01-10 19:47:46 +0000
 1.2.4.2 19-Oct-2001  shin cosmetic change.
 1.2.4.1 19-Oct-2001  shin file sifbios.c was added on branch nathanw_sa on 2001-10-19 05:47:42 +0000
 1.5.2.1 21-Jun-2006  yamt sync with head.
 1.7.78.3 11-Mar-2010  yamt sync with head
 1.7.78.2 04-May-2009  yamt sync with head.
 1.7.78.1 16-May-2008  yamt sync with head.
 1.7.76.1 18-May-2008  yamt sync with head.
 1.7.74.1 02-Jun-2008  mjf Sync with HEAD.
 1.8.14.2 24-Oct-2010  jym Sync with HEAD
 1.8.14.1 13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.8.8.1 28-Apr-2009  skrll Sync with HEAD.
 1.10.16.1 18-May-2014  rmind sync with head
 1.10.10.1 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.11.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.11.6.1 31-Mar-2014  tls file sifbios.c was added on branch tls-maxphys on 2014-08-20 00:03:18 +0000
 1.6 18-Jul-2016  maya Include mips/cpuregs.h for MIPS_PHYS_TO_KSEG1
 1.5 31-Mar-2014  martin branches: 1.5.6; 1.5.8; 1.5.12;
Bring back the playstation2 port - now that a toolchain for it is
available again.
 1.4 05-Dec-2009  pooka branches: 1.4.10; 1.4.16;
Remove support for NetBSD/playstation2.
 1.3 28-Apr-2008  martin branches: 1.3.14;
Remove clause 3 and 4 from TNF licenses
 1.2 19-Oct-2001  shin branches: 1.2.4; 1.2.6; 1.2.124; 1.2.126; 1.2.128;
cosmetic change.
 1.1 16-Oct-2001  uch playstation2 port
 1.2.128.2 11-Mar-2010  yamt sync with head
 1.2.128.1 16-May-2008  yamt sync with head.
 1.2.126.1 18-May-2008  yamt sync with head.
 1.2.124.1 02-Jun-2008  mjf Sync with HEAD.
 1.2.6.2 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.2.6.1 19-Oct-2001  thorpej file sifbios.h was added on branch kqueue on 2002-01-10 19:47:46 +0000
 1.2.4.2 19-Oct-2001  shin cosmetic change.
 1.2.4.1 19-Oct-2001  shin file sifbios.h was added on branch nathanw_sa on 2001-10-19 05:47:42 +0000
 1.3.14.1 24-Oct-2010  jym Sync with HEAD
 1.4.16.1 18-May-2014  rmind sync with head
 1.4.10.1 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.5.12.1 26-Jul-2016  pgoyette Sync with HEAD
 1.5.8.1 05-Oct-2016  skrll Sync with HEAD
 1.5.6.3 03-Dec-2017  jdolecek update from HEAD
 1.5.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.5.6.1 31-Mar-2014  tls file sifbios.h was added on branch tls-maxphys on 2014-08-20 00:03:18 +0000

RSS XML Feed