Home | History | Annotate | only in /src/sys/arch/arc
History log of /src/sys/arch/arc
RevisionDateAuthorComments
 1.12 03-Apr-2011  dyoung Fix 'tags' target.
 1.11 25-Oct-2008  apb branches: 1.11.16; 1.11.22;
Use ${TOOL_SED} instead if plain sed in Makefiles.
 1.10 11-Dec-2005  christos branches: 1.10.74; 1.10.78; 1.10.84;
merge ktrace-lwp.
 1.9 18-Apr-2005  tsutsui arc/algor dir was removed long ago.
BTW, is "make tags" still maintained?
 1.8 06-Jan-2003  lukem branches: 1.8.2; 1.8.10;
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.7 24-Dec-2000  ur branches: 1.7.8;
Switch pica to jazzio.
Split shared MD portion between algor and jazzio.
 1.6 23-Jan-2000  soda branches: 1.6.6;
merge to NetBSD-current (DeskStation and Algor support is currently broken)
 1.5 23-Jan-2000  soda Moved from /cvsroot/syssrc/sys/arch/pica/Makefile,v
 1.4 12-Jun-1998  cgd Rework the way kernel include files are installed. In the new method,
as with user-land programs, include files are installed by each directory
in the tree that has includes to install. (This allows more flexibility
as to what gets installed, makes 'partial installs' easier, and gives us
more options as to which machines' includes get installed at any given
time.) The old SYS_INCLUDES={symlinks,copies} behaviours are _both_
still supported, though at least one bug in the 'symlinks' case is
fixed by this change. Include files can't be build before installation,
so directories that have includes as targets (e.g. dev/pci) have to move
those targets into a different Makefile.
 1.3 11-Oct-1997  mycroft Make these closer to working.
 1.2 16-Jul-1996  thorpej branches: 1.2.10;
RCS id police.
 1.1 13-Mar-1996  jonathan branches: 1.1.1;
Initial revision
 1.1.1.2 23-Jan-2000  soda OpenBSD-2.1/arc
 1.1.1.1 13-Mar-1996  jonathan First commit of Per Fogelstrom's port to the Acer pica r4400/isa machine.
 1.2.10.1 14-Oct-1997  thorpej Update marc-pcmcia branch from trunk.
 1.6.6.3 05-Jan-2001  bouyer Sync with HEAD
 1.6.6.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.6.6.1 23-Jan-2000  bouyer file Makefile was added on branch thorpej_scsipi on 2000-11-20 20:00:15 +0000
 1.7.8.1 07-Jan-2003  thorpej Sync with HEAD.
 1.8.10.1 29-Apr-2005  kent sync with -current
 1.8.2.1 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.10.84.1 13-Dec-2008  haad Update haad-dm branch to haad-dm-base2.
 1.10.78.1 04-May-2009  yamt sync with head.
 1.10.74.1 17-Jan-2009  mjf Sync with HEAD.
 1.11.22.1 06-Jun-2011  jruoho Sync with HEAD.
 1.11.16.1 21-Apr-2011  rmind sync with head
 1.31 07-Apr-2019  rin UADDR was removed.
 1.30 20-Jun-2014  joerg branches: 1.30.28;
evcnt is done.
 1.29 08-Jan-2011  tsutsui branches: 1.29.18; 1.29.32;
Update some items to reflect reality.
 1.28 21-Oct-2009  rmind branches: 1.28.4;
Remove uarea swap-out functionality:

- Addresses the issue described in PR/38828.
- Some simplification in threading and sleepq subsystems.
- Eliminates pmap_collect() and, as a side note, allows pmap optimisations.
- Eliminates XS_CTL_DATA_ONSTACK in scsipi code.
- Avoids few scans on LWP list and thus potentially long holds of proc_lock.
- Cuts ~1.5k lines of code. Reduces amd64 kernel size by ~4k.
- Removes __SWAP_BROKEN cases.

Tested on x86, mips, acorn32 (thanks <mpumford>) and partly tested on
acorn26 (thanks to <bjh21>).

Discussed on <tech-kern>, reviewed by <ad>.
 1.27 02-Feb-2008  tsutsui branches: 1.27.10;
Update some entries to sync with reality.
 1.26 02-Feb-2008  tsutsui sysinst is done.
 1.25 04-Mar-2007  tsutsui branches: 1.25.20; 1.25.26;
Remove items about now obsolete spllowersoftclock() and CLKF_BASEPRI().
 1.24 16-Nov-2005  tsutsui branches: 1.24.26;
Remove the following item:
> - if (ipending & INT_MASK_REAL_DEV) == 0,
> softnet() and softclock() are handled with all interrupt disabled.
> -> overblocking, possibly causes missing hardclock()

XXX: It seems some other mips ports (algor, evbmips, pmax, sgimips)
XXX: also have the similar problem.
 1.23 15-Nov-2005  tsutsui Reflect MIPS_INT_MASK_CLOCK and INT_MASK_REAL_DEV removal.
 1.22 15-Nov-2005  tsutsui Remove netisr handling from the list since arc has switched to
MI mips softintr.c (though it still uses splhigh()/splx() pair
and maybe it's better to use atomic insns).
 1.21 30-Oct-2005  tsutsui branches: 1.21.2;
DELAY() is done (though the implementation is MIPS3 dependent).
 1.20 19-Apr-2005  tsutsui branches: 1.20.2; 1.20.4;
standalone boot is done.
 1.19 25-May-2003  tsutsui branches: 1.19.2; 1.19.10;
- Remove softintr(9) stuff.
- Fix a typo.
 1.18 22-May-2003  tsutsui Remove MI ncr53c9x SCSI from TODO list.
 1.17 06-Apr-2003  tsutsui - update TODO list to reflect current status
- sort entries in some particular order
 1.16 28-Aug-2001  tsutsui branches: 1.16.6;
Remove descriotion about homegrown sonic driver from TODO list
since it has been replaced with the MI driver.
 1.15 13-Jun-2001  soda branches: 1.15.2;
remove resolved TODOs, reorder some entries, and some formating fixes.
 1.14 08-Aug-2000  soda branches: 1.14.2; 1.14.4;
note "vm_page_zero_enable = FALSE"
 1.13 17-Jun-2000  soda branches: 1.13.2;
reflect reality
 1.12 17-Jun-2000  soda mention recent (but before _MIPS_PADDR_T_64BIT and MIPS3_TLB_WIRED_UPAGES
changes) instability on PICA and NEC Image RISCstation.
 1.11 09-Jun-2000  soda update
 1.10 09-May-2000  soda branches: 1.10.2;
mention MIPS_INT_MASK_CLOCK and INT_MASK_REAL_DEV
 1.9 15-Apr-2000  soda add some TODOs.
overblocking and related problems are currently common to all mips ports.
 1.8 04-Mar-2000  nisimura Mention a bit about possible HZ interporation improvement in microtime().
 1.7 04-Mar-2000  nisimura Mention a bit about various issues NetBSD/arc must solve.
 1.6 03-Mar-2000  soda update
 1.5 22-Feb-2000  soda merge changes between OpenBSD-2.1 and OpenBSD-2.6
 1.4 23-Jan-2000  soda merge to NetBSD-current (DeskStation and Algor support is currently broken)
 1.3 23-Jan-2000  soda Moved from /cvsroot/syssrc/sys/arch/pica/TODO,v
 1.2 16-Jul-1996  thorpej RCS id police.
 1.1 13-Mar-1996  jonathan branches: 1.1.1;
Initial revision
 1.1.1.3 22-Feb-2000  soda OpenBSD-2.6/arc
 1.1.1.2 23-Jan-2000  soda OpenBSD-2.1/arc
 1.1.1.1 13-Mar-1996  jonathan First commit of Per Fogelstrom's port to the Acer pica r4400/isa machine.
 1.10.2.1 22-Jun-2000  minoura Sync w/ netbsd-1-5-base.
 1.13.2.1 10-Aug-2000  soda Pull up to netbsd-1-5 branch
Approved by: thorpej

disable page zero in the idle loop on untested machines and pica.
this kluge fixes a problem that commands dump core on NEC Image RISCstation
which seems to be OEM of pica.

Revisions pulled up:
> cvs rdiff -r1.42 -r1.43 syssrc/sys/arch/arc/arc/machdep.c
> cvs rdiff -r1.13 -r1.14 syssrc/sys/arch/arc/TODO
 1.14.4.1 21-Jun-2001  nathanw Catch up to -current.
 1.14.2.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.14.2.1 08-Aug-2000  bouyer file TODO was added on branch thorpej_scsipi on 2000-11-20 20:00:15 +0000
 1.15.2.1 13-Sep-2001  thorpej Update the kqueue branch to HEAD.
 1.16.6.2 28-Aug-2001  tsutsui Remove descriotion about homegrown sonic driver from TODO list
since it has been replaced with the MI driver.
 1.16.6.1 28-Aug-2001  tsutsui file TODO was added on branch nathanw_sa on 2001-08-28 15:17:48 +0000
 1.19.10.1 29-Apr-2005  kent sync with -current
 1.19.2.2 11-Dec-2005  christos Sync with head.
 1.19.2.1 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.20.4.1 02-Nov-2005  yamt sync with head.
 1.20.2.3 04-Feb-2008  yamt sync with head.
 1.20.2.2 03-Sep-2007  yamt sync with head.
 1.20.2.1 21-Jun-2006  yamt sync with head.
 1.21.2.1 22-Nov-2005  yamt sync with head.
 1.24.26.1 12-Mar-2007  rmind Sync with HEAD.
 1.25.26.1 18-Feb-2008  mjf Sync with HEAD.
 1.25.20.1 23-Mar-2008  matt sync with HEAD
 1.27.10.1 11-Mar-2010  yamt sync with head
 1.28.4.1 05-Mar-2011  rmind sync with head
 1.29.32.1 10-Aug-2014  tls Rebase.
 1.29.18.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.30.28.1 10-Jun-2019  christos Sync with HEAD
 1.35 25-Jun-2006  tsutsui Rename arc_trap.c to interrupt.c, which derived from ancient pica_trap.c
but currently contains only interrupt stuff. Ok'ed by soda.
 1.34 24-Jun-2006  tsutsui Implement separate statclock(9) handler which uses the MIPS3 CPU INT5
internal timer compare register. Based on hp300 and arm implementation.

This is enabled by options ENABLE_INT5_STATCLOCK, but disabled by default.
 1.33 24-Jun-2006  tsutsui Misc minor cleanup for arc interrupt handlers:
- always enable options MIPS3_ENABLE_CLOCK_INTR and just clear the compare
register in cpu_intr() to make CLKF_BASE() works
properly
- prepare only possible number of cpu_inttab
- use macro for interrupt priority number passed to arc_set_intr()
to avoid confusion
- merge arc_hardware_intr() into cpu_intr()
- check independent timer interrupt first in cpu_intr()
- tweak MIPS_SR_INT_IE before calling hardclock timer handlers so that
spllowersoftclock(9) will be invoked properly in hardclock(9)
- reenable interrupt for timer in cpu_intr() rather than each timer handlers

okay'ed by soda.

Note the real fix is to make CLKF_BASE() check all independent
interrupt sources including jazz and isa devices.
 1.32 17-Jun-2006  tsutsui Fix typo and a function name in panic message.
 1.31 15-Nov-2005  tsutsui branches: 1.31.4; 1.31.8; 1.31.14; 1.31.16;
Explicitly enable interrupts before softintr is handled as noted
in the TODO file. At least this fixes "sn0: receive buffers exhausted"
messages on my NEC-JC94.

XXX: does anyone know what "Dont reenable" comment means, which was
XXX: there since initial import of pica (not arc).
 1.30 15-Nov-2005  tsutsui Remove MIPS_INT_MASK_CLOCK and INT_MASK_REAL_DEV macro and
use MIPS_INT_MASK_5 and MIPS3_HARD_INT_MASK directly.
They were not used since interrupt service function was
moved from MI mips/trap.c to MD part long ago.
 1.29 22-Jan-2005  tsutsui branches: 1.29.8; 1.29.14;
Make all intr_mask value types uint32_t rather than int, u_int,
or unsigned etc.
 1.28 22-Jan-2005  tsutsui - remove __P()
- use ANSI function decls
- u_intNN_t -> uintNN_t
- some KNF
 1.27 07-Aug-2003  agc branches: 1.27.8;
Move UCB-licensed code from 4-clause to 3-clause licence.

Patches provided by Joel Baker in PR 22364, verified by myself.
 1.26 15-Jul-2003  lukem __KERNEL_RCSID()
 1.25 25-May-2003  tsutsui branches: 1.25.2;
Add generic software interrupt support with mips/softintr.c.
 1.24 27-Apr-2003  tsutsui KNF and cosmetics.
 1.23 27-Apr-2003  tsutsui Remove register declarations.
 1.22 17-Jan-2003  thorpej Merge the nathanw_sa branch.
 1.21 07-Jul-2002  gmcgarry Don't invoke MachFPInterrupt() if we're using SOFTFLOAT.
 1.20 13-Jun-2001  soda branches: 1.20.2; 1.20.8; 1.20.16;
introduce "struct platform", and remove "cputype" variable.

this change also includes a patch to obtain secondary cache size
from ARC firmware by Bob Meader, which was posted on port-arc on 18 Aug 2000.
this should make NEC Express RISCserver work.

this change obtains ID of display controller from ARC firmware, too.
 1.19 17-Feb-2001  tsutsui branches: 1.19.2;
Add new arctype for NEC Express5800/230A.

XXX: we should have "sysconf" structures like pmax.
 1.18 15-Jan-2001  thorpej Make softclock a generic soft interrupt of the API is available,
adding the requisite void * argument to softclock().
 1.17 24-Dec-2000  ur Switch pica to jazzio.
Split shared MD portion between algor and jazzio.
 1.16 05-Oct-2000  cgd branches: 1.16.2;
clean up and consistency for CP0 Count, Compare, Wired, and Config
access function names and prototypes.
 1.15 02-Aug-2000  soda Use cpu_intr() definition from mips/cpu.h instead of local one
like other mips ports.
 1.14 29-Jun-2000  mrg remove include of <vm/vm.h>. <vm/vm.h> -> <uvm/uvm_extern.h>
 1.13 09-Jun-2000  soda branches: 1.13.2;
- NEC RISCstation 2250 (RD-94) PCI bus support,
contributed by Shuichiro URATA <ur@a-r.org>.
- Experimental coding for NEC RISCserver 2200 and RISCstation 2200.
(doesn't really work)
 1.12 15-Apr-2000  soda branches: 1.12.2;
adapt interrupt() -> cpu_intr() change
 1.11 04-Mar-2000  nisimura Remove never used memory error address register manipulation
inherited from DECstation 3100 and other debris floating around.
This file will go away naturally when interrupt establish procedure
and dispatcher are well coordinated in sane way of encapulating
target implementation differences.
 1.10 03-Mar-2000  soda NEC RISCstation 2250 (NEC-RD94) support.
contributed by Shuichiro URATA <ur@a-r.org>.
 1.9 22-Feb-2000  soda merge changes between OpenBSD-2.1 and OpenBSD-2.6
 1.8 23-Jan-2000  soda merge to NetBSD-current (DeskStation and Algor support is currently broken)
 1.7 23-Jan-2000  soda Moved from /cvsroot/syssrc/sys/arch/pica/pica/pica_trap.c,v
 1.6 25-Jun-1998  thorpej defopt KTRACE
 1.5 23-Jun-1997  jonathan Apply sys/arch/mips changes (MACH_ -> MIPS_ or MIPS3_) changes to Pica port.
PICA Kernel compiles with warnings and links, otherwise untested.
 1.4 13-Oct-1996  christos backout previous kprintf change
 1.3 10-Oct-1996  christos printf -> kprintf, sprintf -> ksprintf
 1.2 28-Mar-1996  jonathan Split Per Fogelstrom's Pica trap handler into two parts:
arch/pica/pica/trap.c, a generic mips trap handler
arch/pica/pica/pica_trap.c, a handler for Pica interrupts.

so that the common pmax and pica trap handling can eventually be
merged and moved to arch/mips/mips/trap.c
 1.1 13-Mar-1996  jonathan branches: 1.1.1;
Initial revision
 1.1.1.1 13-Mar-1996  jonathan First commit of Per Fogelstrom's port to the Acer pica r4400/isa machine.
 1.12.2.1 22-Jun-2000  minoura Sync w/ netbsd-1-5-base.
 1.13.2.1 10-Aug-2000  soda Pull up to netbsd-1-5 branch
Approved by: thorpej

Use cpu_intr() definition from mips/cpu.h instead of local one
like other mips ports.

Revision pulled up:
> cvs rdiff -r1.14 -r1.15 syssrc/sys/arch/arc/arc/arc_trap.c
 1.16.2.5 12-Mar-2001  bouyer Sync with HEAD.
 1.16.2.4 18-Jan-2001  bouyer Sync with head (for UBC+NFS fixes, mostly).
 1.16.2.3 05-Jan-2001  bouyer Sync with HEAD
 1.16.2.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.16.2.1 05-Oct-2000  bouyer file arc_trap.c was added on branch thorpej_scsipi on 2000-11-20 20:00:17 +0000
 1.19.2.1 21-Jun-2001  nathanw Catch up to -current.
 1.20.16.1 16-Jul-2002  gehenna catch up with -current.
 1.20.8.3 01-Aug-2002  nathanw Catch up to -current.
 1.20.8.2 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.20.8.1 13-Jun-2001  nathanw file arc_trap.c was added on branch nathanw_sa on 2002-06-24 22:03:38 +0000
 1.20.2.1 06-Sep-2002  jdolecek sync kqueue branch with HEAD
 1.25.2.5 11-Dec-2005  christos Sync with head.
 1.25.2.4 24-Jan-2005  skrll Sync with HEAD.
 1.25.2.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.25.2.2 18-Sep-2004  skrll Sync with HEAD.
 1.25.2.1 03-Aug-2004  skrll Sync with HEAD
 1.27.8.1 29-Apr-2005  kent sync with -current
 1.29.14.1 22-Nov-2005  yamt sync with head.
 1.29.8.2 30-Dec-2006  yamt sync with head.
 1.29.8.1 21-Jun-2006  yamt sync with head.
 1.31.16.1 13-Jul-2006  gdamore Merge from HEAD.
 1.31.14.1 19-Jun-2006  chap Sync with head.
 1.31.8.1 26-Jun-2006  yamt sync with head.
 1.31.4.1 09-Sep-2006  rpaulo sync with head
 1.19 14-Aug-2020  skrll Fix build by splitting large amount of inline assembling into a seperate
.S file. Same stub (/trampoline) code before and after this change.
 1.18 29-May-2020  tsutsui Make sure to preserve MIPS_CURLWP (t8) register from ARC BIOS calls.

Fixes silent hangup right after starting a kernel on my
Express5800/230 R4400 PCI (finally I've repaired its PSU and RTC).
Reviewed by soda@. Maybe other ARC machines are also affected.

Note GXemul was not affected by this problem because it doesn't
have actual ARC BIOS ROM and emulates ARC functions internally.

Should be pulled up to at least netbsd-9.
 1.17 27-Nov-2009  rmind branches: 1.17.68;
- 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.16 24-Dec-2005  perry branches: 1.16.78;
__asm__ -> __asm
__const__ -> const
__inline__ -> inline
__volatile__ -> volatile
 1.15 11-Dec-2005  christos merge ktrace-lwp.
 1.14 03-Jun-2005  tsutsui branches: 1.14.2;
Fix for gcc -Wshadow.
 1.13 22-Jan-2005  tsutsui - remove __P()
- use ANSI function decls
- u_intNN_t -> uintNN_t
- some KNF
 1.12 15-Jul-2003  lukem branches: 1.12.8;
__KERNEL_RCSID()
 1.11 21-Mar-2003  tsutsui branches: 1.11.2;
Yet another leftover of struct consdev changes..
 1.10 22-Nov-2001  tsutsui Fix some debug code in bios_configure_memory().
 1.9 13-Jun-2001  soda branches: 1.9.2; 1.9.8;
introduce "struct platform", and remove "cputype" variable.

this change also includes a patch to obtain secondary cache size
from ARC firmware by Bob Meader, which was posted on port-arc on 18 Aug 2000.
this should make NEC Express RISCserver work.

this change obtains ID of display controller from ARC firmware, too.
 1.8 17-Feb-2001  tsutsui branches: 1.8.2;
Add new arctype for NEC Express5800/230A.

XXX: we should have "sysconf" structures like pmax.
 1.7 29-Jun-2000  mrg branches: 1.7.2;
remove include of <vm/vm.h>. <vm/vm.h> -> <uvm/uvm_extern.h>
 1.6 09-Jun-2000  soda - NEC RISCstation 2250 (RD-94) PCI bus support,
contributed by Shuichiro URATA <ur@a-r.org>.
- Experimental coding for NEC RISCserver 2200 and RISCstation 2200.
(doesn't really work)
 1.5 06-Mar-2000  thorpej branches: 1.5.2;
- Implement cnbell() -- ring the console bell. The cn_bell entrypoint
is optional.
- Add cn_bell to statically allocated consdevs as appropriate.
 1.4 03-Mar-2000  soda NEC RISCstation 2250 (NEC-RD94) support.
contributed by Shuichiro URATA <ur@a-r.org>.
 1.3 22-Feb-2000  soda merge changes between OpenBSD-2.1 and OpenBSD-2.6
 1.2 23-Jan-2000  soda merge to NetBSD-current (DeskStation and Algor support is currently broken)
 1.1 23-Jan-2000  soda branches: 1.1.1;
Initial revision
 1.1.1.1 23-Jan-2000  soda OpenBSD-2.1/arc
 1.5.2.1 22-Jun-2000  minoura Sync w/ netbsd-1-5-base.
 1.7.2.3 12-Mar-2001  bouyer Sync with HEAD.
 1.7.2.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.7.2.1 29-Jun-2000  bouyer file arcbios.c was added on branch thorpej_scsipi on 2000-11-20 20:00:18 +0000
 1.8.2.1 21-Jun-2001  nathanw Catch up to -current.
 1.9.8.2 08-Jan-2002  nathanw Catch up to -current.
 1.9.8.1 13-Jun-2001  nathanw file arcbios.c was added on branch nathanw_sa on 2002-01-08 00:23:03 +0000
 1.9.2.1 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.11.2.5 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.11.2.4 24-Jan-2005  skrll Sync with HEAD.
 1.11.2.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.11.2.2 18-Sep-2004  skrll Sync with HEAD.
 1.11.2.1 03-Aug-2004  skrll Sync with HEAD
 1.12.8.1 29-Apr-2005  kent sync with -current
 1.14.2.1 21-Jun-2006  yamt sync with head.
 1.16.78.1 11-Mar-2010  yamt sync with head
 1.17.68.1 07-Jun-2020  martin Pull up following revision(s) (requested by tsutsui in ticket #939):

distrib/arc/ramdisk/Makefile: revision 1.29
sys/arch/arc/arc/arcbios.c: revision 1.18
distrib/arc/ramdisk/list: revision 1.24
sys/arch/arc/conf/GENERIC: revision 1.198
sys/arch/arc/conf/RAMDISK: revision 1.83
distrib/arc/ramdisk/Makefile: revision 1.28

bump ramdisk size to 3200k for gcc 8. yay!

-

Make sure to preserve MIPS_CURLWP (t8) register from ARC BIOS calls.

Fixes silent hangup right after starting a kernel on my
Express5800/230 R4400 PCI (finally I've repaired its PSU and RTC).
Reviewed by soda@. Maybe other ARC machines are also affected.

Note GXemul was not affected by this problem because it doesn't
have actual ARC BIOS ROM and emulates ARC functions internally.

Should be pulled up to at least netbsd-9.

-

Shrink ramdisk to make RAMDISK kernel smaller for ARC BIOS restriction.

Try to shrink kernels to smaller than ~6MB due to ARC BIOS restriction.

Currently NetBSD/arc kernels are loaded at 0x80200000
(on some machines ARC BIOS uses regions before it) and
ARC BIOS also uses around 0x807f0000, so bootloader fails
on loading >6MB kernels.

Note GXemul doesn't have this restriction because it loads
a kernel directly via a command line argument.

Tested by installing using sysinst on RAMDISK kernel on netbsd-9.
Should be pulled up to netbsd-9.
 1.11 22-Jun-2017  flxd spelling (DEC called it "TURBOchannel")
 1.10 04-Mar-2007  christos branches: 1.10.88; 1.10.108;
Kill caddr_t; there will be some MI fallout, but it will be fixed shortly.
 1.9 31-Aug-2006  tsutsui branches: 1.9.8;
volatile void func(decl) -> void func(decl) __attribute__((__noreturn__))
 1.8 11-Dec-2005  christos branches: 1.8.4; 1.8.8;
merge ktrace-lwp.
 1.7 09-Jun-2005  he branches: 1.7.2;
Appease -Wcast-qual by adding consts in appropriate places.
 1.6 22-Jan-2005  tsutsui - remove __P()
- use ANSI function decls
- u_intNN_t -> uintNN_t
- some KNF
 1.5 19-Jan-2003  tsutsui branches: 1.5.2; 1.5.10;
TAB/space cleanup.
 1.4 13-Jun-2001  soda branches: 1.4.8;
introduce "struct platform", and remove "cputype" variable.

this change also includes a patch to obtain secondary cache size
from ARC firmware by Bob Meader, which was posted on port-arc on 18 Aug 2000.
this should make NEC Express RISCserver work.

this change obtains ID of display controller from ARC firmware, too.
 1.3 22-Feb-2000  soda branches: 1.3.6; 1.3.8;
merge changes between OpenBSD-2.1 and OpenBSD-2.6
 1.2 23-Jan-2000  soda merge to NetBSD-current (DeskStation and Algor support is currently broken)
 1.1 23-Jan-2000  soda branches: 1.1.1;
Initial revision
 1.1.1.1 23-Jan-2000  soda OpenBSD-2.1/arc
 1.3.8.1 21-Jun-2001  nathanw Catch up to -current.
 1.3.6.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.3.6.1 22-Feb-2000  bouyer file arcbios.h was added on branch thorpej_scsipi on 2000-11-20 20:00:18 +0000
 1.4.8.2 13-Jun-2001  soda introduce "struct platform", and remove "cputype" variable.

this change also includes a patch to obtain secondary cache size
from ARC firmware by Bob Meader, which was posted on port-arc on 18 Aug 2000.
this should make NEC Express RISCserver work.

this change obtains ID of display controller from ARC firmware, too.
 1.4.8.1 13-Jun-2001  soda file arcbios.h was added on branch nathanw_sa on 2001-06-13 15:08:06 +0000
 1.5.10.1 29-Apr-2005  kent sync with -current
 1.5.2.2 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.5.2.1 24-Jan-2005  skrll Sync with HEAD.
 1.7.2.2 03-Sep-2007  yamt sync with head.
 1.7.2.1 30-Dec-2006  yamt sync with head.
 1.8.8.1 03-Sep-2006  yamt sync with head.
 1.8.4.1 09-Sep-2006  rpaulo sync with head
 1.9.8.1 12-Mar-2007  rmind Sync with HEAD.
 1.10.108.1 28-Aug-2017  skrll Sync with HEAD
 1.10.88.1 03-Dec-2017  jdolecek update from HEAD
 1.1 14-Aug-2020  skrll Fix build by splitting large amount of inline assembling into a seperate
.S file. Same stub (/trampoline) code before and after this change.
 1.9 13-Jun-2001  soda introduce "struct platform", and remove "cputype" variable.

this change also includes a patch to obtain secondary cache size
from ARC firmware by Bob Meader, which was posted on port-arc on 18 Aug 2000.
this should make NEC Express RISCserver work.

this change obtains ID of display controller from ARC firmware, too.
 1.8 17-Feb-2001  tsutsui Add new arctype for NEC Express5800/230A.

XXX: we should have "sysconf" structures like pmax.
 1.7 09-Jun-2000  soda branches: 1.7.4;
- NEC RISCstation 2250 (RD-94) PCI bus support,
contributed by Shuichiro URATA <ur@a-r.org>.
- Experimental coding for NEC RISCserver 2200 and RISCstation 2200.
(doesn't really work)
 1.6 03-Mar-2000  soda branches: 1.6.2;
NEC RISCstation 2250 (NEC-RD94) support.
contributed by Shuichiro URATA <ur@a-r.org>.
 1.5 22-Feb-2000  soda merge changes between OpenBSD-2.1 and OpenBSD-2.6
 1.4 23-Jan-2000  soda merge to NetBSD-current (DeskStation and Algor support is currently broken)
 1.3 23-Jan-2000  soda Moved from /cvsroot/syssrc/sys/arch/pica/pica/picatype.h,v
 1.2 16-Jul-1996  thorpej RCS id police.
 1.1 13-Mar-1996  jonathan branches: 1.1.1;
Initial revision
 1.1.1.2 23-Jan-2000  soda OpenBSD-2.1/arc
 1.1.1.1 13-Mar-1996  jonathan First commit of Per Fogelstrom's port to the Acer pica r4400/isa machine.
 1.6.2.1 22-Jun-2000  minoura Sync w/ netbsd-1-5-base.
 1.7.4.3 12-Mar-2001  bouyer Sync with HEAD.
 1.7.4.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.7.4.1 09-Jun-2000  bouyer file arctype.h was added on branch thorpej_scsipi on 2000-11-20 20:00:18 +0000
 1.36 30-Aug-2023  tsutsui Remove ENABLE_INT5_STATCLOCK broken since matt-nb5-mips64 merge.

Noticed by andvar@.
 1.35 27-Oct-2012  chs split device_t/softc for all remaining drivers.
replace "struct device *" with "device_t".
use device_xname(), device_unit(), etc.
 1.34 29-Jul-2012  mlelstv branches: 1.34.2;
Do not call setroot() from MD code and from MI code, which has
unwanted sideeffects in the RB_ASKNAME case. This fixes PR/46732.

No longer wrap MD cpu_rootconf(), as hp300 port stores reboot information
as a side effect. Instead call MI rootconf() from MD code which makes
rootconf() now a wrapper to setroot().

Adjust several MD routines to set the global booted_device,booted_partition
variables instead of passing partial information to setroot().

Make cpu_rootconf(9) describe the calling order.
 1.33 20-Feb-2011  matt branches: 1.33.4; 1.33.10;
Merge forward from matt-nb5-mips64.
Adapt to new interrupt/spl framework.
Add LP64 support.
 1.32 03-Dec-2007  ad branches: 1.32.36; 1.32.40; 1.32.46; 1.32.48;
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.31 25-Jun-2006  tsutsui branches: 1.31.14; 1.31.32; 1.31.34; 1.31.40;
Make some local functions static.
 1.30 24-Jun-2006  tsutsui Implement separate statclock(9) handler which uses the MIPS3 CPU INT5
internal timer compare register. Based on hp300 and arm implementation.

This is enabled by options ENABLE_INT5_STATCLOCK, but disabled by default.
 1.29 26-Mar-2006  thorpej branches: 1.29.4;
Use device_unit().
 1.28 25-Feb-2006  thorpej branches: 1.28.2; 1.28.4; 1.28.6;
Use device_is_a().
 1.27 23-Feb-2006  thorpej Use device_parent().
 1.26 11-Dec-2005  christos branches: 1.26.2; 1.26.4; 1.26.6;
merge ktrace-lwp.
 1.25 09-Jun-2005  he branches: 1.25.2;
Appease -Wcast-qual by adding consts in appropriate places.
 1.24 03-Jun-2005  tsutsui - add const
- fix the second arg of config_rootfound()
 1.23 22-Jan-2005  tsutsui - remove __P()
- use ANSI function decls
- u_intNN_t -> uintNN_t
- some KNF
 1.22 23-Oct-2004  thorpej branches: 1.22.4;
Centralize the declaration of booted_device and booted_partition.
 1.21 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.20 15-Jul-2003  lukem __KERNEL_RCSID()
 1.19 25-May-2003  tsutsui branches: 1.19.2;
Add generic software interrupt support with mips/softintr.c.
 1.18 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.17 26-Sep-2002  thorpej Get the pointer to the driver name early, rather than constantly
deferencing the cfdriver pointer.
 1.16 13-Jun-2001  soda branches: 1.16.2; 1.16.8;
enable device_register(9) on arc port to parse boot device name
passed by ARC firmware correctly.
 1.15 01-Jun-2000  matt branches: 1.15.4; 1.15.6;
Don't pass booted_* to findroot/getdevice, access them via the globals.
Also, make findroot static. This eliminates unneeded clearing of them
and make their use consistent among the ports.
 1.14 01-Jun-2000  matt Make booted_device global (and booted_parition for consitency).
Eliminate it from header files and other extern definitions.
 1.13 23-Jan-2000  soda branches: 1.13.2;
merge to NetBSD-current (DeskStation and Algor support is currently broken)
 1.12 23-Jan-2000  soda Moved from /cvsroot/syssrc/sys/arch/pica/pica/autoconf.c,v
 1.11 17-Sep-1999  thorpej Centralize the declaration and clearing of `cold'.
 1.10 15-Sep-1999  thorpej Rename the machine-dependent autoconfiguration entry point `cpu_configure()',
and rename config_init() to configure() and call cpu_configure() from there.
 1.9 07-Jun-1999  thorpej Don't pass a nam2blk around at all; just have setroot() and friends reference
dev_name2blk[] directly. Addresses PR #7622 (ITOH Yasufumi), although
in a different way.
 1.8 16-Jun-1997  jonathan branches: 1.8.18;
Rescuscitate after bitrot:
* rewrite findroot() based on NetBSD 1.2F i386 findoot().
* Rewrite makebootdev() to use struct devnametodevmaj pica_nam2blk[].
Previous changes changed the `devname' char array and findroot()
bot not makebootdev().
* Add prototypes, delint for gcc -Wall.
 1.7 26-Mar-1997  gwr Move findroot/setroot stuff from configure() to cpu_rootconf().
 1.6 31-Jan-1997  thorpej branches: 1.6.2;
Use new machine-independent setroot().
 1.5 13-Oct-1996  christos branches: 1.5.2;
backout previous kprintf change
 1.4 10-Oct-1996  christos printf -> kprintf, sprintf -> ksprintf
 1.3 16-Jul-1996  thorpej RCS id police.
 1.2 04-Apr-1996  cgd update for the fact that config_found() and config_rootfound() now
return pointers. (Check vs. NULL, rather than just boolean tests.)
 1.1 13-Mar-1996  jonathan branches: 1.1.1;
Initial revision
 1.1.1.2 23-Jan-2000  soda OpenBSD-2.1/arc
 1.1.1.1 13-Mar-1996  jonathan First commit of Per Fogelstrom's port to the Acer pica r4400/isa machine.
 1.5.2.1 14-Jan-1997  thorpej Snapshot of work-in-progress, committed to private branch.

These changes implement machine-independent root device and file system
selection. Notable features:

- All ports behave in a consistent manner regarding root
device selection.
- No more "options GENERIC"; all kernels have the ability
to boot with RB_ASKNAME to select root device and file system
type.
- Root file system type can be wildcarded; a machine-independent
function will try all possible file systems for the selected
root device until one succeeds.
- If the root file system fails to mount, the operator will
be given the chance to select a new root device and file
system type, rather than having the machine simply panic.
- nfs_mountroot() no longer panics if any part of the NFS
mount process fails; it now returns an error, giving the
operator a chance to recover.
- New, more consistent, config(8) grammar. The constructs:

config netbsd swap generic
config netbsd root on nfs

have been replaced with:

config netbsd root on ? type ?
config netbsd root on ? type nfs

Additionally, the operator may select or wildcard root file
system type in the kernel configuration file:

config netbsd root on cd0a type cd9660

config(8) now requires that a "root" specification be
made. "root" may be wired down or wildcarded. "swap" and
"dump" specifications are optional, and follow previous
semantics.

- config(8) has a new "file-system" keyword, used to configure
file systems into the kernel. Eventually, this will be used
to generate the default vfssw[].

- "options NFSCLIENT" is obsolete, and is replaced by
"file-system NFS". "options NFSSERVER" still exists, since
NFS server support is independent of the NFS file system
client.

- sys/arch/<foo>/<foo>/swapgeneric.c is no longer used, and
will be removed; all information is now generated by config(8).

As of this commit, all ports except arm32 have been updated to use
the new setroot(). Only SPARC, i386, and Alpha ports have been
tested at this time. Port masters should test these changes on their
ports, and report any problems back to me.

More changes are on their way, including RB_ASKNAME support in
nfs_mountroot() (to prompt for server address and path) and, potentially,
the ability to select rarp/bootparam or bootp in nfs_mountroot().
 1.6.2.1 02-Mar-1997  mrg swapconf() is no more.
 1.8.18.1 21-Jun-1999  thorpej Sync w/ -current.
 1.13.2.1 22-Jun-2000  minoura Sync w/ netbsd-1-5-base.
 1.15.6.1 21-Jun-2001  nathanw Catch up to -current.
 1.15.4.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.15.4.1 01-Jun-2000  bouyer file autoconf.c was added on branch thorpej_scsipi on 2000-11-20 20:00:19 +0000
 1.16.8.2 18-Oct-2002  nathanw Catch up to -current.
 1.16.8.1 13-Jun-2001  nathanw file autoconf.c was added on branch nathanw_sa on 2002-10-18 02:35:07 +0000
 1.16.2.1 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.19.2.6 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.19.2.5 24-Jan-2005  skrll Sync with HEAD.
 1.19.2.4 02-Nov-2004  skrll Sync with HEAD.
 1.19.2.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.19.2.2 18-Sep-2004  skrll Sync with HEAD.
 1.19.2.1 03-Aug-2004  skrll Sync with HEAD
 1.22.4.1 29-Apr-2005  kent sync with -current
 1.25.2.3 07-Dec-2007  yamt sync with head
 1.25.2.2 30-Dec-2006  yamt sync with head.
 1.25.2.1 21-Jun-2006  yamt sync with head.
 1.26.6.1 22-Apr-2006  simonb Sync with head.
 1.26.4.1 09-Sep-2006  rpaulo sync with head
 1.26.2.1 01-Mar-2006  yamt sync with head.
 1.28.6.1 28-Mar-2006  tron Merge 2006-03-28 NetBSD-current into the "peter-altq" branch.
 1.28.4.1 19-Apr-2006  elad sync with head - hopefully this will work
 1.28.2.2 26-Jun-2006  yamt sync with head.
 1.28.2.1 01-Apr-2006  yamt sync with head.
 1.29.4.1 13-Jul-2006  gdamore Merge from HEAD.
 1.31.40.1 08-Dec-2007  mjf Sync with HEAD.
 1.31.34.1 09-Jan-2008  matt sync with HEAD
 1.31.32.1 09-Dec-2007  jmcneill Sync with HEAD.
 1.31.14.1 03-Dec-2007  ad Sync with HEAD.
 1.32.48.1 05-Mar-2011  bouyer Sync with HEAD
 1.32.46.1 06-Jun-2011  jruoho Sync with HEAD.
 1.32.40.1 05-Mar-2011  rmind sync with head
 1.32.36.1 29-Dec-2010  matt Adapt to the new interrupt structure.
 1.33.10.1 08-Aug-2012  martin Pull up following revision(s) (requested by mlelstv in ticket #466):
sys/arch/amiga/amiga/autoconf.c: revision 1.113
sys/arch/rs6000/rs6000/autoconf.c: revision 1.4
sys/arch/emips/emips/autoconf.c: revision 1.6
sys/arch/sandpoint/sandpoint/autoconf.c: revision 1.27
sys/arch/evbmips/alchemy/autoconf.c: revision 1.18
sys/arch/sgimips/sgimips/autoconf.c: revision 1.43
sys/arch/atari/atari/autoconf.c: revision 1.63
sys/arch/powerpc/oea/ofw_autoconf.c: revision 1.17
sys/arch/mmeye/mmeye/autoconf.c: revision 1.9
distrib/sets/lists/comp/mi: revision 1.1771
sys/arch/mipsco/mipsco/autoconf.c: revision 1.25
sys/arch/iyonix/iyonix/autoconf.c: revision 1.14
sys/arch/hp300/hp300/autoconf.c: revision 1.100
sys/kern/init_main.c: revision 1.445
sys/arch/pmax/pmax/autoconf.c: revision 1.79
sys/arch/netwinder/netwinder/autoconf.c: revision 1.11
sys/arch/dreamcast/dreamcast/autoconf.c: revision 1.10
sys/arch/ibmnws/ibmnws/autoconf.c: revision 1.12
sys/arch/evbppc/ev64260/autoconf.c: revision 1.17
sys/arch/evbmips/gdium/autoconf.c: revision 1.5
sys/arch/algor/algor/autoconf.c: revision 1.21
share/man/man9/Makefile: revision 1.367
sys/arch/ews4800mips/ews4800mips/autoconf.c: revision 1.9
sys/arch/amigappc/amigappc/autoconf.c: revision 1.5
sys/arch/x86/x86/x86_autoconf.c: revision 1.65
sys/arch/acorn26/acorn26/autoconf.c: revision 1.9
sys/arch/mvmeppc/mvmeppc/autoconf.c: revision 1.13
sys/arch/vax/vax/autoconf.c: revision 1.94
sys/arch/usermode/dev/cpu.c: revision 1.72
sys/arch/evbppc/virtex/autoconf.c: revision 1.5
sys/arch/next68k/next68k/autoconf.c: revision 1.26
sys/arch/mac68k/mac68k/autoconf.c: revision 1.73
sys/arch/ia64/ia64/autoconf.c: revision 1.6
sys/arch/evbppc/obs405/obs405_autoconf.c: revision 1.6
share/man/man9/cpu_rootconf.9: revision 1.7
sys/arch/landisk/landisk/autoconf.c: revision 1.6
sys/arch/evbmips/malta/autoconf.c: revision 1.16
sys/arch/sun3/sun3/autoconf.c: revision 1.76
sys/arch/evbppc/explora/autoconf.c: revision 1.13
sys/arch/sun3/sun3/autoconf.c: revision 1.77
sys/arch/evbmips/loongson/autoconf.c: revision 1.3
sys/arch/evbmips/atheros/autoconf.c: revision 1.11
sys/arch/sparc64/sparc64/autoconf.c: revision 1.188
sys/arch/acorn32/acorn32/autoconf.c: revision 1.18
sys/arch/evbarm/evbarm/autoconf.c: revision 1.13
sys/arch/cobalt/cobalt/autoconf.c: revision 1.30
sys/arch/mvme68k/mvme68k/autoconf.c: revision 1.46
sys/arch/hp700/hp700/autoconf.c: revision 1.48
sys/arch/evbmips/adm5120/autoconf.c: revision 1.5
sys/arch/hpcmips/hpcmips/autoconf.c: revision 1.25
sys/arch/alpha/alpha/autoconf.c: revision 1.52
sys/arch/sparc/sparc/autoconf.c: revision 1.244
sys/arch/evbppc/pmppc/autoconf.c: revision 1.7
sys/arch/bebox/bebox/autoconf.c: revision 1.25
sys/arch/luna68k/luna68k/autoconf.c: revision 1.13
sys/arch/hpcarm/hpcarm/autoconf.c: revision 1.20
sys/arch/evbppc/walnut/autoconf.c: revision 1.21
sys/arch/cesfic/cesfic/autoconf.c: revision 1.26
sys/arch/cats/cats/autoconf.c: revision 1.17
sys/arch/x68k/x68k/autoconf.c: revision 1.67
sys/arch/news68k/news68k/autoconf.c: revision 1.21
sys/arch/arc/arc/autoconf.c: revision 1.34
sys/arch/evbsh3/evbsh3/autoconf.c: revision 1.11
sys/sys/conf.h: revision 1.143
sys/arch/evbmips/rasoc/autoconf.c: revision 1.3
sys/arch/hpcsh/hpcsh/autoconf.c: revision 1.26
sys/arch/sun68k/sun68k/autoconf.c: revision 1.29
sys/arch/evbmips/rmixl/autoconf.c: revision 1.6
sys/arch/zaurus/zaurus/autoconf.c: revision 1.12
sys/arch/xen/x86/autoconf.c: revision 1.15
sys/arch/evbppc/mpc85xx/autoconf.c: revision 1.6
sys/arch/shark/shark/autoconf.c: revision 1.18
sys/arch/prep/prep/autoconf.c: revision 1.25
sys/arch/newsmips/newsmips/autoconf.c: revision 1.36
sys/arch/sbmips/sbmips/autoconf.c: revision 1.8
Do not call setroot() from MD code and from MI code, which has
unwanted sideeffects in the RB_ASKNAME case. This fixes PR/46732.
No longer wrap MD cpu_rootconf(), as hp300 port stores reboot information
as a side effect. Instead call MI rootconf() from MD code which makes
rootconf() now a wrapper to setroot().
Adjust several MD routines to set the global booted_device,booted_partition
variables instead of passing partial information to setroot().
Make cpu_rootconf(9) describe the calling order.
add rootconf(9) as a link to cpu_rootconf(9)
make this compile again
 1.33.4.1 30-Oct-2012  yamt sync with head
 1.34.2.1 20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.36 26-Jul-2022  andvar s/functin/function/ in copy pasted comment.
 1.35 18-Nov-2020  thorpej malloc(9) -> kmem(9)
 1.34 11-Jun-2015  matt branches: 1.34.30;
Add struct pmap_limits and pm_{min,max}addr from uvm/pmap/map.h and use it to
store avail_start, avail_end, virtual_start, and virtual_end.
Remove iospace and let emips just bump pmap_limits.virtual_start to get the
VA space it needs.
pmap_segtab.c is almost identical to uvm/pmap/pmap_segtab.c now. It won't
be long until we switch to the uvm/pmap one.
 1.33 01-Jul-2011  dyoung branches: 1.33.12; 1.33.30;
#include <sys/bus.h> instead of <machine/bus.h>.
 1.32 20-Feb-2011  matt Merge forward from matt-nb5-mips64.
Adapt to new interrupt/spl framework.
Add LP64 support.
 1.31 12-Nov-2010  uebayasi branches: 1.31.2; 1.31.4;
Pull in uvm/uvm.h where UVM's page level interface is used.
 1.30 04-Jun-2008  ad branches: 1.30.16; 1.30.20;
vm_page: put TAILQ_ENTRY into a union with LIST_ENTRY, so we can use both.
 1.29 28-Apr-2008  martin branches: 1.29.2;
Remove clause 3 and 4 from TNF licenses
 1.28 04-Mar-2007  christos branches: 1.28.40; 1.28.42; 1.28.44;
Kill caddr_t; there will be some MI fallout, but it will be fixed shortly.
 1.27 01-Mar-2006  yamt branches: 1.27.20;
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.26 11-Dec-2005  christos branches: 1.26.2; 1.26.4; 1.26.6;
merge ktrace-lwp.
 1.25 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.24 01-Apr-2005  yamt branches: 1.24.2; 1.24.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.23 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.22 22-Jan-2005  tsutsui branches: 1.22.2;
Use TAILQ_* macro.
 1.21 22-Jan-2005  tsutsui Use M_ZERO flag for malloc(9) and remove bzero(9).
 1.20 22-Jan-2005  tsutsui - remove __P()
- use ANSI function decls
- u_intNN_t -> uintNN_t
- some KNF
 1.19 28-Nov-2004  thorpej branches: 1.19.4;
bus_dmamap_load_mbuf(): Skip zero-length mbufs.
kern/24811
 1.18 08-Oct-2003  tsutsui Use mips_dcache_inv_range() for BUS_DMASYNC_PREREAD if possible.
Tested on NEC-JC94 (R4400 with 1MB L2 cache).
 1.17 15-Jul-2003  lukem __KERNEL_RCSID()
 1.16 29-Jun-2003  fvdl branches: 1.16.2;
Back out the lwp/ktrace changes. They contained a lot of colateral damage,
and need to be examined and discussed more.
 1.15 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.14 01-Apr-2003  thorpej Use PAGE_SIZE rather than NBPG.
 1.13 19-Jan-2003  tsutsui TAB/space cleanup.
 1.12 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.11 14-Nov-2001  thorpej branches: 1.11.2; 1.11.10;
Merge the thorpej-mips-cache branch onto the trunk. This is an
overhaul of how caches are handled for NetBSD's MIPS ports.
 1.10 28-Sep-2001  chs branches: 1.10.2;
don't depend on other headers to include sys/proc.h for us.
 1.9 10-Sep-2001  chris Update pmap_update to now take the updated pmap as an argument.
This will allow improvements to the pmaps so that they can more easily defer expensive operations, eg tlb/cache flush, til the last possible moment.

Currently this is a no-op on most platforms, so they should see no difference.

Reviewed by Jason.
 1.8 05-Jul-2001  soda branches: 1.8.2; 1.8.4;
a typo in comment.
 1.7 26-May-2001  chs replace vm_page_t with struct vm_page *.
 1.6 24-Apr-2001  thorpej Sprinkle pmap_update() calls after calls to:
- pmap_enter()
- pmap_remove()
- pmap_protect()
- pmap_kenter_pa()
- pmap_kremove()
as described in pmap(9).

These calls are relatively conservative. It may be possible to
optimize these a little more.
 1.5 29-Jun-2000  mrg branches: 1.5.2; 1.5.4;
remove include of <vm/vm.h>. <vm/vm.h> -> <uvm/uvm_extern.h>
 1.4 26-Jun-2000  mrg remove/move more mach vm header files:

<vm/pglist.h> -> <uvm/uvm_pglist.h>
<vm/vm_inherit.h> -> <uvm/uvm_inherit.h>
<vm/vm_kern.h> -> into <uvm/uvm_extern.h>
<vm/vm_object.h> -> nothing
<vm/vm_pager.h> -> into <uvm/uvm_pager.h>

also includes a bunch of <vm/vm_page.h> include removals (due to redudancy
with <vm/vm.h>), and a scattering of other similar headers.
 1.3 26-Jun-2000  simonb Change the kernel mmap interface so that the offset to map is an
"off_t" and the return value is a "paddr_t" to allow mappings
at offsets past 2^31 bytes. Somewhat inspired by FreeBSD, which
only changed the offset to a "vm_offset_t".

Includes updates for the i386, pc532 and sh3 mmmmap from Jason Thorpe.
 1.2 20-Jun-2000  soda branches: 1.2.2; 1.2.4;
for DeskStation RPC44
 1.1 09-Jun-2000  soda bus_space/bus_dma implementation for arc port, based on i386 port, pmax port,
hpcmips port, and the version contributed by Shuichiro URATA <ur@a-r.org>.
 1.2.4.2 22-Jun-2000  minoura Sync w/ netbsd-1-5-base.
 1.2.4.1 20-Jun-2000  minoura file bus_dma.c was added on branch minoura-xpg4dl on 2000-06-22 16:59:05 +0000
 1.2.2.2 30-Jun-2000  simonb Pull up mmap paddr_t/off_t changes from trunk.
 1.2.2.1 20-Jun-2000  simonb file bus_dma.c was added on branch netbsd-1-5 on 2000-06-30 16:27:15 +0000
 1.5.4.1 21-Jun-2001  nathanw Catch up to -current.
 1.5.2.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.5.2.1 29-Jun-2000  bouyer file bus_dma.c was added on branch thorpej_scsipi on 2000-11-20 20:00:19 +0000
 1.8.4.1 01-Oct-2001  fvdl Catch up with -current.
 1.8.2.3 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.8.2.2 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.8.2.1 13-Sep-2001  thorpej Update the kqueue branch to HEAD.
 1.10.2.2 13-Nov-2001  thorpej For the virtually-indexed write-back cache dmamap_sync:

Note that we can only use Inv on PREREAD if the buffer
start/end are cacheline-aligned. If they're not, we
need to use WB_Inv, otherwise we can end up trashing
someone else's data.

XXX For now, simply use WB_Inv for the PREREAD case
always. I will make some other changes later that
will enable the dmamap_sync routine to easily determine
if it's safe to use Inv.

Many thanks to Michael Hitch for tracking this down.
 1.10.2.1 24-Oct-2001  thorpej Update for the new cache code. bus_dmamap_sync is now optimized
for a virtually-indexed, write-back cache.
 1.11.10.1 14-Jul-2002  gehenna catch up with -current.
 1.11.2.4 02-Jul-2002  nathanw curlwp back to curproc; curproc is the correct type here.
 1.11.2.3 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.11.2.2 20-Jun-2002  nathanw Catch up to -current.
 1.11.2.1 14-Nov-2001  nathanw file bus_dma.c was added on branch nathanw_sa on 2002-06-20 03:37:57 +0000
 1.16.2.9 11-Dec-2005  christos Sync with head.
 1.16.2.8 01-Apr-2005  skrll Sync with HEAD.
 1.16.2.7 19-Feb-2005  skrll Don't deref a NULL struct lwp *. This shouldn't happen, but...
 1.16.2.6 24-Jan-2005  skrll Sync with HEAD.
 1.16.2.5 18-Dec-2004  skrll Sync with HEAD.
 1.16.2.4 21-Sep-2004  skrll Fix the sync with head I botched.
 1.16.2.3 18-Sep-2004  skrll Sync with HEAD.
 1.16.2.2 03-Aug-2004  skrll Sync with HEAD
 1.16.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.19.4.1 29-Apr-2005  kent sync with -current
 1.22.2.2 19-Mar-2005  yamt sync with head. xen and whitespace. xen part is not finished.
 1.22.2.1 31-Jan-2005  yamt convert arch/arc to new apis.
 1.24.8.1 29-Nov-2005  yamt sync with head.
 1.24.2.2 03-Sep-2007  yamt sync with head.
 1.24.2.1 21-Jun-2006  yamt sync with head.
 1.26.6.1 22-Apr-2006  simonb Sync with head.
 1.26.4.1 09-Sep-2006  rpaulo sync with head
 1.26.2.4 18-Feb-2006  yamt fix a typo.
 1.26.2.3 18-Feb-2006  yamt keep vmspace rather than proc in arc_bus_dmamap.
 1.26.2.2 18-Feb-2006  yamt fix paren mismatch.
 1.26.2.1 18-Feb-2006  yamt adapt bus_dma implementations.
 1.27.20.1 12-Mar-2007  rmind Sync with HEAD.
 1.28.44.2 04-May-2009  yamt sync with head.
 1.28.44.1 16-May-2008  yamt sync with head.
 1.28.42.2 17-Jun-2008  yamt sync with head.
 1.28.42.1 18-May-2008  yamt sync with head.
 1.28.40.2 05-Jun-2008  mjf Sync with HEAD.

Also fix build.
 1.28.40.1 02-Jun-2008  mjf Sync with HEAD.
 1.29.2.1 23-Jun-2008  wrstuden Sync w/ -current. 34 merge conflicts to follow.
 1.30.20.1 05-Mar-2011  rmind sync with head
 1.30.16.2 20-Jan-2010  matt Adjust things to the new world order.
 1.30.16.1 14-Jan-2010  matt Deal with various changes with avail_end and avail_start, etc.
 1.31.4.1 05-Mar-2011  bouyer Sync with HEAD
 1.31.2.1 06-Jun-2011  jruoho Sync with HEAD.
 1.33.30.1 22-Sep-2015  skrll Sync with HEAD
 1.33.12.1 03-Dec-2017  jdolecek update from HEAD
 1.34.30.1 14-Dec-2020  thorpej Sync w/ HEAD.
 1.14 20-Dec-2023  thorpej Remove unnecessary <sys/malloc.h>.
 1.13 07-Dec-2023  thorpej extent(9) -> vmem(9)
 1.12 27-Jan-2012  para converting extent(9) from malloc(9) to kmem(9)
preceding kmem-vmem-pool-uvm patch

releng@ acknowledged
 1.11 17-Jul-2011  dyoung branches: 1.11.2; 1.11.6;
Switch MIPS and MIPS-ish architectures to new-style <sys/bus.h>. This
involves moving some inline bus_space(9) implementation into .c files.
 1.10 28-Apr-2008  martin Remove clause 3 and 4 from TNF licenses
 1.9 04-Mar-2007  christos branches: 1.9.40; 1.9.42; 1.9.44;
Kill caddr_t; there will be some MI fallout, but it will be fixed shortly.
 1.8 11-Dec-2005  christos branches: 1.8.26;
merge ktrace-lwp.
 1.7 22-Jan-2005  tsutsui branches: 1.7.8;
- remove __P()
- use ANSI function decls
- u_intNN_t -> uintNN_t
- some KNF
 1.6 15-Jul-2003  lukem branches: 1.6.8;
__KERNEL_RCSID()
 1.5 27-Sep-2002  provos branches: 1.5.6;
remove trailing \n in panic(). approved perry.
 1.4 04-Sep-2001  thorpej branches: 1.4.6;
Implement bus_space_mmap().
 1.3 09-Nov-2000  thorpej branches: 1.3.2; 1.3.6;
Use 64-bit printf formats for paddr_t's.
 1.2 29-Jun-2000  mrg remove include of <vm/vm.h>. <vm/vm.h> -> <uvm/uvm_extern.h>
 1.1 09-Jun-2000  soda branches: 1.1.4;
bus_space/bus_dma implementation for arc port, based on i386 port, pmax port,
hpcmips port, and the version contributed by Shuichiro URATA <ur@a-r.org>.
 1.1.4.2 22-Jun-2000  minoura Sync w/ netbsd-1-5-base.
 1.1.4.1 09-Jun-2000  minoura file bus_space.c was added on branch minoura-xpg4dl on 2000-06-22 16:59:05 +0000
 1.3.6.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.6.1 13-Sep-2001  thorpej Update the kqueue branch to HEAD.
 1.3.2.3 22-Nov-2000  bouyer Sync with HEAD.
 1.3.2.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.3.2.1 09-Nov-2000  bouyer file bus_space.c was added on branch thorpej_scsipi on 2000-11-20 20:00:19 +0000
 1.4.6.2 18-Oct-2002  nathanw Catch up to -current.
 1.4.6.1 04-Sep-2001  nathanw file bus_space.c was added on branch nathanw_sa on 2002-10-18 02:35:08 +0000
 1.5.6.4 24-Jan-2005  skrll Sync with HEAD.
 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.8.1 29-Apr-2005  kent sync with -current
 1.7.8.1 03-Sep-2007  yamt sync with head.
 1.8.26.1 12-Mar-2007  rmind Sync with HEAD.
 1.9.44.1 16-May-2008  yamt sync with head.
 1.9.42.1 18-May-2008  yamt sync with head.
 1.9.40.1 02-Jun-2008  mjf Sync with HEAD.
 1.11.6.1 18-Feb-2012  mrg merge to -current.
 1.11.2.1 17-Apr-2012  yamt sync with head
 1.9 20-Dec-2023  thorpej Remove unnecessary <sys/malloc.h>.
 1.8 01-Jul-2011  dyoung #include <sys/bus.h> instead of <machine/bus.h>.
 1.7 28-Apr-2008  martin 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 05-Nov-2005  tsutsui Adapt arc port to the new MI mips3 wired map functions.
Tested on NEC-RD94 with several PCI and jazzio devices.
 1.4 22-Jan-2005  tsutsui branches: 1.4.8;
- remove __P()
- use ANSI function decls
- u_intNN_t -> uintNN_t
- some KNF
 1.3 15-Jul-2003  lukem branches: 1.3.8;
__KERNEL_RCSID()
 1.2 29-Jun-2000  mrg branches: 1.2.2; 1.2.26;
remove include of <vm/vm.h>. <vm/vm.h> -> <uvm/uvm_extern.h>
 1.1 09-Jun-2000  soda branches: 1.1.4;
bus_space/bus_dma implementation for arc port, based on i386 port, pmax port,
hpcmips port, and the version contributed by Shuichiro URATA <ur@a-r.org>.
 1.1.4.2 22-Jun-2000  minoura Sync w/ netbsd-1-5-base.
 1.1.4.1 09-Jun-2000  minoura file bus_space_large.c was added on branch minoura-xpg4dl on 2000-06-22 16:59:05 +0000
 1.2.26.5 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.2.26.4 24-Jan-2005  skrll Sync with HEAD.
 1.2.26.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.2.26.2 18-Sep-2004  skrll Sync with HEAD.
 1.2.26.1 03-Aug-2004  skrll Sync with HEAD
 1.2.2.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.2.2.1 29-Jun-2000  bouyer file bus_space_large.c was added on branch thorpej_scsipi on 2000-11-20 20:00:19 +0000
 1.3.8.1 29-Apr-2005  kent sync with -current
 1.4.8.1 21-Jun-2006  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.21 20-Dec-2023  thorpej Remove unnecessary <sys/malloc.h>.
 1.20 12-Jul-2016  matt Put back cacheable
 1.19 11-Jul-2016  matt Use pmap_kenter flags to create cached/uncached entries.
#include <mips/locore.h> when appropriate
 1.18 01-Jul-2011  dyoung branches: 1.18.12; 1.18.30;
#include <sys/bus.h> instead of <machine/bus.h>.
 1.17 20-Feb-2011  matt Merge forward from matt-nb5-mips64.
Adapt to new interrupt/spl framework.
Add LP64 support.
 1.16 07-Nov-2009  cegger branches: 1.16.4; 1.16.6; 1.16.8;
Add a flags argument to pmap_kenter_pa(9).
Patch showed on tech-kern@ http://mail-index.netbsd.org/tech-kern/2009/11/04/msg006434.html
No objections.
 1.15 28-Apr-2008  martin branches: 1.15.18;
Remove clause 3 and 4 from TNF licenses
 1.14 25-Jun-2006  tsutsui branches: 1.14.58; 1.14.60; 1.14.62;
Make some local functions static.
 1.13 24-Nov-2005  yamt branches: 1.13.4; 1.13.8; 1.13.16;
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.12 01-Apr-2005  yamt branches: 1.12.2; 1.12.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.11 22-Jan-2005  tsutsui branches: 1.11.2;
- remove __P()
- use ANSI function decls
- u_intNN_t -> uintNN_t
- some KNF
 1.10 21-Oct-2003  tsutsui branches: 1.10.8;
vaddr_t is not pointer, so don't compare it against NULL.
 1.9 15-Jul-2003  lukem __KERNEL_RCSID()
 1.8 01-Apr-2003  thorpej branches: 1.8.2;
Use PAGE_SIZE rather than NBPG.
 1.7 19-Jan-2003  tsutsui TAB/space cleanup.
 1.6 10-Sep-2001  chris branches: 1.6.4;
Update pmap_update to now take the updated pmap as an argument.
This will allow improvements to the pmaps so that they can more easily defer expensive operations, eg tlb/cache flush, til the last possible moment.

Currently this is a no-op on most platforms, so they should see no difference.

Reviewed by Jason.
 1.5 13-Aug-2001  soda branches: 1.5.2;
correct function name in panic message which is referred by Izumi Tsutsui
on port-arc mailing list.
 1.4 24-Apr-2001  thorpej branches: 1.4.2;
Sprinkle pmap_update() calls after calls to:
- pmap_enter()
- pmap_remove()
- pmap_protect()
- pmap_kenter_pa()
- pmap_kremove()
as described in pmap(9).

These calls are relatively conservative. It may be possible to
optimize these a little more.
 1.3 29-Jun-2000  mrg branches: 1.3.2; 1.3.4;
remove include of <vm/vm.h>. <vm/vm.h> -> <uvm/uvm_extern.h>
 1.2 26-Jun-2000  mrg remove/move more mach vm header files:

<vm/pglist.h> -> <uvm/uvm_pglist.h>
<vm/vm_inherit.h> -> <uvm/uvm_inherit.h>
<vm/vm_kern.h> -> into <uvm/uvm_extern.h>
<vm/vm_object.h> -> nothing
<vm/vm_pager.h> -> into <uvm/uvm_pager.h>

also includes a bunch of <vm/vm_page.h> include removals (due to redudancy
with <vm/vm.h>), and a scattering of other similar headers.
 1.1 09-Jun-2000  soda branches: 1.1.4;
bus_space/bus_dma implementation for arc port, based on i386 port, pmax port,
hpcmips port, and the version contributed by Shuichiro URATA <ur@a-r.org>.
 1.1.4.2 22-Jun-2000  minoura Sync w/ netbsd-1-5-base.
 1.1.4.1 09-Jun-2000  minoura file bus_space_sparse.c was added on branch minoura-xpg4dl on 2000-06-22 16:59:06 +0000
 1.3.4.1 21-Jun-2001  nathanw Catch up to -current.
 1.3.2.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.3.2.1 29-Jun-2000  bouyer file bus_space_sparse.c was added on branch thorpej_scsipi on 2000-11-20 20:00:19 +0000
 1.4.2.2 13-Sep-2001  thorpej Update the kqueue branch to HEAD.
 1.4.2.1 25-Aug-2001  thorpej Merge Aug 24 -current into the kqueue branch.
 1.5.2.1 01-Oct-2001  fvdl Catch up with -current.
 1.6.4.2 10-Sep-2001  chris Update pmap_update to now take the updated pmap as an argument.
This will allow improvements to the pmaps so that they can more easily defer expensive operations, eg tlb/cache flush, til the last possible moment.

Currently this is a no-op on most platforms, so they should see no difference.

Reviewed by Jason.
 1.6.4.1 10-Sep-2001  chris file bus_space_sparse.c was added on branch nathanw_sa on 2001-09-10 21:19:32 +0000
 1.8.2.6 11-Dec-2005  christos Sync with head.
 1.8.2.5 01-Apr-2005  skrll Sync with HEAD.
 1.8.2.4 24-Jan-2005  skrll Sync with HEAD.
 1.8.2.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.8.2.2 18-Sep-2004  skrll Sync with HEAD.
 1.8.2.1 03-Aug-2004  skrll Sync with HEAD
 1.10.8.1 29-Apr-2005  kent sync with -current
 1.11.2.1 31-Jan-2005  yamt convert arch/arc to new apis.
 1.12.8.1 29-Nov-2005  yamt sync with head.
 1.12.2.2 30-Dec-2006  yamt sync with head.
 1.12.2.1 21-Jun-2006  yamt sync with head.
 1.13.16.1 13-Jul-2006  gdamore Merge from HEAD.
 1.13.8.1 26-Jun-2006  yamt sync with head.
 1.13.4.1 09-Sep-2006  rpaulo sync with head
 1.14.62.2 11-Mar-2010  yamt sync with head
 1.14.62.1 16-May-2008  yamt sync with head.
 1.14.60.1 18-May-2008  yamt sync with head.
 1.14.58.1 02-Jun-2008  mjf Sync with HEAD.
 1.15.18.1 15-Jan-2010  matt Get rid of most of the studly caps.
First to MULTIPROCESSOR support for pmap: move some pmap globals to cpu_info.
Define per-cpu ASID number spaces.
Remove some mips1/!mips1 difference in db_interface.c
Add mips32/64 knowledge to stacktrace.
 1.16.8.1 05-Mar-2011  bouyer Sync with HEAD
 1.16.6.1 06-Jun-2011  jruoho Sync with HEAD.
 1.16.4.1 05-Mar-2011  rmind sync with head
 1.18.30.1 05-Oct-2016  skrll Sync with HEAD
 1.18.12.1 03-Dec-2017  jdolecek update from HEAD
 1.11 13-Oct-2012  jdc Adapt to the changed signature of pckbc_cnattach().
 1.10 06-Mar-2011  tsutsui branches: 1.10.4; 1.10.14;
Remove trailing spaces.
 1.9 20-Nov-2005  tsutsui branches: 1.9.100; 1.9.106;
Include <dev/ic/i8042reg.h> for MI pckbc rather than <machine/kbdreg.h>.
 1.8 22-Jan-2005  tsutsui branches: 1.8.8; 1.8.14;
- remove __P()
- use ANSI function decls
- u_intNN_t -> uintNN_t
- some KNF
 1.7 07-Aug-2003  agc branches: 1.7.8;
Move UCB-licensed code from 4-clause to 3-clause licence.

Patches provided by Joel Baker in PR 22364, verified by myself.
 1.6 15-Jul-2003  lukem __KERNEL_RCSID()
 1.5 14-Jun-2003  tsutsui branches: 1.5.2;
Fix a bug in isabr_dti_intr_status(), as per "re-look this" comment.

Now Tyne boots into single user (though it's still unstable). Woohoo!
 1.4 14-Jun-2003  thorpej Also pass a type argument to comcnattach() and com_kgdb_attach().
comspeed() (and thus cominit()) may need this information.
 1.3 19-Jan-2003  tsutsui TAB/space cleanup.
 1.2 04-Dec-2002  imp Include machine/kbdreg.h when NPCKBC > 0. This is necessary to pick up
the KBDCMDP definition.
 1.1 13-Jun-2001  soda branches: 1.1.2; 1.1.10;
latform description for DESKTECH Tyne and rPC44.
not tested.
 1.1.10.2 11-Dec-2002  thorpej Sync with HEAD.
 1.1.10.1 13-Jun-2001  thorpej file c_isa.c was added on branch nathanw_sa on 2002-12-11 05:52:04 +0000
 1.1.2.1 21-Jun-2001  nathanw Catch up to -current.
 1.5.2.5 11-Dec-2005  christos Sync with head.
 1.5.2.4 24-Jan-2005  skrll Sync with HEAD.
 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.7.8.1 29-Apr-2005  kent sync with -current
 1.8.14.1 22-Nov-2005  yamt sync with head.
 1.8.8.1 21-Jun-2006  yamt sync with head.
 1.9.106.1 06-Jun-2011  jruoho Sync with HEAD.
 1.9.100.1 21-Apr-2011  rmind sync with head
 1.10.14.1 20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.10.4.1 30-Oct-2012  yamt sync with head
 1.14 13-Oct-2012  jdc Adapt to the changed signature of pckbc_cnattach().
 1.13 01-Jul-2011  dyoung branches: 1.13.2; 1.13.12;
#include <sys/bus.h> instead of <machine/bus.h>.
 1.12 11-Dec-2005  christos merge ktrace-lwp.
 1.11 03-Jun-2005  tsutsui Add const.
 1.10 22-Jan-2005  tsutsui More ansify and KNF.
 1.9 22-Jan-2005  tsutsui - remove __P()
- use ANSI function decls
- u_intNN_t -> uintNN_t
- some KNF
 1.8 29-Oct-2003  tsutsui branches: 1.8.8;
Switch arc to use MI mc146818 tod driver.
 1.7 15-Jul-2003  lukem __KERNEL_RCSID()
 1.6 14-Jun-2003  thorpej branches: 1.6.2;
Also pass a type argument to comcnattach() and com_kgdb_attach().
comspeed() (and thus cominit()) may need this information.
 1.5 04-May-2003  tsutsui Check arc_displayc_id before calling vga_isa_cnattach().
 1.4 31-Jan-2003  tsutsui Call vga_isa_cnattach() in c_jazz_eisa_cons_init() if NVGA_ISA > 0.
 1.3 27-Jan-2003  tsutsui Remove trailing whitespace.
 1.2 09-Dec-2002  tsutsui As per discussion with soda, all EISA based Jazz machines seem to require
the same method to access TOD clock, so move chipset-dependent mcclock
routines to appropriate files.

This should also fix Express RISCserver and RISCserver2200 (aka R96) support
which has been broken since "struct platform" was introduced.
 1.1 13-Jun-2001  soda branches: 1.1.2; 1.1.10;
common description for platforms which have Jazz and EISA
but doesn't have PCI, like magnum based platforms and
NEC EISA generation platforms
 1.1.10.2 11-Dec-2002  thorpej Sync with HEAD.
 1.1.10.1 13-Jun-2001  thorpej file c_jazz_eisa.c was added on branch nathanw_sa on 2002-12-11 05:52:04 +0000
 1.1.2.1 21-Jun-2001  nathanw Catch up to -current.
 1.6.2.5 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.6.2.4 24-Jan-2005  skrll Sync with HEAD.
 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.8.8.1 29-Apr-2005  kent sync with -current
 1.13.12.1 20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.13.2.1 30-Oct-2012  yamt sync with head
 1.23 16-Dec-2013  mrg - remove unused variables
- use (void) when we don't care about the return value
- move variables inside their usage #if
 1.22 01-Jul-2011  dyoung branches: 1.22.2; 1.22.12; 1.22.16;
#include <sys/bus.h> instead of <machine/bus.h>.
 1.21 20-Feb-2011  matt Merge forward from matt-nb5-mips64.
Adapt to new interrupt/spl framework.
Add LP64 support.
 1.20 08-Feb-2011  rmind Remove clause 3 (UCB advertising clause) from the University of Utah
copyright. Confirmed by Mike Hibler, mike at cs.utah.edu - thanks!
Also, merge UCB and Utah copyright texts back into one, as they
originally were.

Extra verification by snj@.
 1.19 14-Mar-2008  tsutsui branches: 1.19.22; 1.19.26; 1.19.32; 1.19.34;
Fix spl(9) botch in cpu_intr() on arc:
Don't enable unhandled interrupts before all interrupts are processed,
and also change all interrupt handlers to return processed MIPS_INT_MASK
values, rather than masked values of them.
 1.18 03-Dec-2007  ad branches: 1.18.10; 1.18.14;
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.17 17-Oct-2007  garbled branches: 1.17.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.16 08-Aug-2007  tsutsui branches: 1.16.2;
Defer arc_init_wired_map() call after MD ipl_sr_bits[] is initilized
in platform dependent init functions.

arc_init_wired_map() refers ipl_sr_bits[] via
extent_create(9) -> mutex_init(9) -> makeiplcookie(9)
since the partial merge of vmlocking.
 1.15 26-Jun-2007  tsutsui branches: 1.15.4; 1.15.8;
Use C99 initializers.
 1.14 24-Jun-2006  tsutsui branches: 1.14.14; 1.14.16; 1.14.22;
Misc minor cleanup for arc interrupt handlers:
- always enable options MIPS3_ENABLE_CLOCK_INTR and just clear the compare
register in cpu_intr() to make CLKF_BASE() works
properly
- prepare only possible number of cpu_inttab
- use macro for interrupt priority number passed to arc_set_intr()
to avoid confusion
- merge arc_hardware_intr() into cpu_intr()
- check independent timer interrupt first in cpu_intr()
- tweak MIPS_SR_INT_IE before calling hardclock timer handlers so that
spllowersoftclock(9) will be invoked properly in hardclock(9)
- reenable interrupt for timer in cpu_intr() rather than each timer handlers

okay'ed by soda.

Note the real fix is to make CLKF_BASE() check all independent
interrupt sources including jazz and isa devices.
 1.13 11-Dec-2005  christos branches: 1.13.4; 1.13.8; 1.13.16;
merge ktrace-lwp.
 1.12 05-Nov-2005  tsutsui Adapt arc port to the new MI mips3 wired map functions.
Tested on NEC-RD94 with several PCI and jazzio devices.
 1.11 30-Oct-2005  tsutsui Use mips3_cp0_count_read() for precise microtime(9).

XXX microtime(9) function should be moved from machdep.c to timer.c?
 1.10 20-Aug-2005  tsutsui branches: 1.10.2;
Count jazzio timer interrupts by evcnt(9).
 1.9 22-Jan-2005  tsutsui branches: 1.9.8;
Make all intr_mask value types uint32_t rather than int, u_int,
or unsigned etc.
 1.8 22-Jan-2005  tsutsui More ansify and KNF.
 1.7 22-Jan-2005  tsutsui - remove __P()
- use ANSI function decls
- u_intNN_t -> uintNN_t
- some KNF
 1.6 07-Aug-2003  agc branches: 1.6.8;
Move UCB-licensed code from 4-clause to 3-clause licence.

Patches provided by Joel Baker in PR 22364, verified by myself.
 1.5 15-Jul-2003  lukem __KERNEL_RCSID()
 1.4 25-May-2003  tsutsui branches: 1.4.2;
Add generic software interrupt support with mips/softintr.c.
 1.3 27-Apr-2003  tsutsui Fix pasto.
 1.2 09-Dec-2002  tsutsui As per discussion with soda, all EISA based Jazz machines seem to require
the same method to access TOD clock, so move chipset-dependent mcclock
routines to appropriate files.

This should also fix Express RISCserver and RISCserver2200 (aka R96) support
which has been broken since "struct platform" was introduced.
 1.1 13-Jun-2001  soda branches: 1.1.2; 1.1.10;
common chipset description for magnum based platforms like
Microsoft-Jazz and PICA-61
 1.1.10.2 11-Dec-2002  thorpej Sync with HEAD.
 1.1.10.1 13-Jun-2001  thorpej file c_magnum.c was added on branch nathanw_sa on 2002-12-11 05:52:04 +0000
 1.1.2.1 21-Jun-2001  nathanw Catch up to -current.
 1.4.2.5 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.4.2.4 24-Jan-2005  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.8.1 29-Apr-2005  kent sync with -current
 1.9.8.5 17-Mar-2008  yamt sync with head.
 1.9.8.4 07-Dec-2007  yamt sync with head
 1.9.8.3 03-Sep-2007  yamt sync with head.
 1.9.8.2 30-Dec-2006  yamt sync with head.
 1.9.8.1 21-Jun-2006  yamt sync with head.
 1.10.2.1 02-Nov-2005  yamt sync with head.
 1.13.16.1 13-Jul-2006  gdamore Merge from HEAD.
 1.13.8.1 26-Jun-2006  yamt sync with head.
 1.13.4.1 09-Sep-2006  rpaulo sync with head
 1.14.22.2 03-Oct-2007  garbled Sync with HEAD
 1.14.22.1 26-Jun-2007  garbled Sync with HEAD.
 1.14.16.1 11-Jul-2007  mjf Sync with head.
 1.14.14.3 03-Dec-2007  ad Sync with HEAD.
 1.14.14.2 20-Aug-2007  ad Sync with HEAD.
 1.14.14.1 15-Jul-2007  ad Sync with head.
 1.15.8.2 09-Dec-2007  jmcneill Sync with HEAD.
 1.15.8.1 09-Aug-2007  jmcneill Sync with HEAD.
 1.15.4.1 15-Aug-2007  skrll Sync with HEAD.
 1.16.2.3 23-Mar-2008  matt sync with HEAD
 1.16.2.2 09-Jan-2008  matt sync with HEAD
 1.16.2.1 06-Nov-2007  matt sync with HEAD
 1.17.2.1 08-Dec-2007  mjf Sync with HEAD.
 1.18.14.1 03-Apr-2008  mjf Sync with HEAD.
 1.18.10.1 24-Mar-2008  keiichi sync with head.
 1.19.34.2 05-Mar-2011  bouyer Sync with HEAD
 1.19.34.1 17-Feb-2011  bouyer Sync with HEAD
 1.19.32.1 06-Jun-2011  jruoho Sync with HEAD.
 1.19.26.1 05-Mar-2011  rmind sync with head
 1.19.22.1 29-Dec-2010  matt Adapt to the new interrupt structure.
 1.22.16.1 18-May-2014  rmind sync with head
 1.22.12.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.22.2.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 08-Feb-2018  dholland Typos.
 1.17 11-Jul-2016  matt Use pmap_kenter flags to create cached/uncached entries.
#include <mips/locore.h> when appropriate
 1.16 20-Feb-2011  matt branches: 1.16.14; 1.16.32;
Merge forward from matt-nb5-mips64.
Adapt to new interrupt/spl framework.
Add LP64 support.
 1.15 14-May-2008  tsutsui branches: 1.15.16; 1.15.20; 1.15.26; 1.15.28;
Normalize my licenses.
 1.14 03-Dec-2007  ad branches: 1.14.14; 1.14.16; 1.14.18; 1.14.20;
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.13 17-Oct-2007  garbled branches: 1.13.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.12 08-Aug-2007  tsutsui branches: 1.12.2;
Defer arc_init_wired_map() call after MD ipl_sr_bits[] is initilized
in platform dependent init functions.

arc_init_wired_map() refers ipl_sr_bits[] via
extent_create(9) -> mutex_init(9) -> makeiplcookie(9)
since the partial merge of vmlocking.
 1.11 26-Jun-2007  tsutsui branches: 1.11.4; 1.11.8;
Use C99 initializers.
 1.10 20-Nov-2005  tsutsui branches: 1.10.30; 1.10.32; 1.10.38;
Fix page size values passed to arc_wired_enter_page() for NEC-R96 and Tyne.
Detected by gxemul. (Wow, gxemul is also trying to emulate these machines!)
 1.9 05-Nov-2005  tsutsui branches: 1.9.2;
Adapt arc port to the new MI mips3 wired map functions.
Tested on NEC-RD94 with several PCI and jazzio devices.
 1.8 22-Jan-2005  tsutsui branches: 1.8.8;
- remove __P()
- use ANSI function decls
- u_intNN_t -> uintNN_t
- some KNF
 1.7 15-Jul-2003  lukem branches: 1.7.8;
__KERNEL_RCSID()
 1.6 25-May-2003  tsutsui branches: 1.6.2;
Add generic software interrupt support with mips/softintr.c.
 1.5 31-Jan-2003  tsutsui Add c_nec_eisa_cons_init() for NEC-J96A and NEC-R96 which have
Cirrus Logic GD5428 ISA VGA console to initialize its registers properly
for generic vga(4) driver(s).
 1.4 09-Dec-2002  tsutsui cosmetics.
 1.3 07-Dec-2002  tsutsui - Add definitions RD_94_[PVS]_EISA_{IO,MEM} in rd94.h.
- J96A (Express5800/240 R4400 EISA) requires different method to access
todclock from other NEC machines (it's similar with magnum),
so handle it in p_nec_j96a.c.

Now my NEC Express5800/240 works. (and now I can test 53c700 SCSI.)
 1.2 13-Aug-2001  soda branches: 1.2.6;
fix duplicate wired TLB allocation, this is now done in {vga,pccons}_jazzio.c.
 1.1 13-Jun-2001  soda branches: 1.1.2; 1.1.4;
common chipset description for NEC EISA generation platforms
 1.1.4.1 25-Aug-2001  thorpej Merge Aug 24 -current into the kqueue branch.
 1.1.2.1 21-Jun-2001  nathanw Catch up to -current.
 1.2.6.2 11-Dec-2002  thorpej Sync with HEAD.
 1.2.6.1 13-Aug-2001  thorpej file c_nec_eisa.c was added on branch nathanw_sa on 2002-12-11 05:52:05 +0000
 1.6.2.6 11-Dec-2005  christos Sync with head.
 1.6.2.5 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.6.2.4 24-Jan-2005  skrll Sync with HEAD.
 1.6.2.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.6.2.2 18-Sep-2004  skrll Sync with HEAD.
 1.6.2.1 03-Aug-2004  skrll Sync with HEAD
 1.7.8.1 29-Apr-2005  kent sync with -current
 1.8.8.3 07-Dec-2007  yamt sync with head
 1.8.8.2 03-Sep-2007  yamt sync with head.
 1.8.8.1 21-Jun-2006  yamt sync with head.
 1.9.2.1 22-Nov-2005  yamt sync with head.
 1.10.38.2 03-Oct-2007  garbled Sync with HEAD
 1.10.38.1 26-Jun-2007  garbled Sync with HEAD.
 1.10.32.1 11-Jul-2007  mjf Sync with head.
 1.10.30.3 03-Dec-2007  ad Sync with HEAD.
 1.10.30.2 20-Aug-2007  ad Sync with HEAD.
 1.10.30.1 15-Jul-2007  ad Sync with head.
 1.11.8.2 09-Dec-2007  jmcneill Sync with HEAD.
 1.11.8.1 09-Aug-2007  jmcneill Sync with HEAD.
 1.11.4.1 15-Aug-2007  skrll Sync with HEAD.
 1.12.2.2 09-Jan-2008  matt sync with HEAD
 1.12.2.1 06-Nov-2007  matt sync with HEAD
 1.13.2.1 08-Dec-2007  mjf Sync with HEAD.
 1.14.20.1 23-Jun-2008  wrstuden Sync w/ -current. 34 merge conflicts to follow.
 1.14.18.1 16-May-2008  yamt sync with head.
 1.14.16.1 18-May-2008  yamt sync with head.
 1.14.14.1 02-Jun-2008  mjf Sync with HEAD.
 1.15.28.1 05-Mar-2011  bouyer Sync with HEAD
 1.15.26.1 06-Jun-2011  jruoho Sync with HEAD.
 1.15.20.1 05-Mar-2011  rmind sync with head
 1.15.16.1 29-Dec-2010  matt Adapt to the new interrupt structure.
 1.16.32.1 05-Oct-2016  skrll Sync with HEAD
 1.16.14.1 03-Dec-2017  jdolecek update from HEAD
 1.14 16-Dec-2013  mrg - remove unused variables
- use (void) when we don't care about the return value
- move variables inside their usage #if
 1.13 14-Mar-2008  tsutsui branches: 1.13.38; 1.13.48; 1.13.54;
Fix spl(9) botch in cpu_intr() on arc:
Don't enable unhandled interrupts before all interrupts are processed,
and also change all interrupt handlers to return processed MIPS_INT_MASK
values, rather than masked values of them.
 1.12 24-Jun-2006  tsutsui branches: 1.12.34; 1.12.54; 1.12.58;
Misc minor cleanup for arc interrupt handlers:
- always enable options MIPS3_ENABLE_CLOCK_INTR and just clear the compare
register in cpu_intr() to make CLKF_BASE() works
properly
- prepare only possible number of cpu_inttab
- use macro for interrupt priority number passed to arc_set_intr()
to avoid confusion
- merge arc_hardware_intr() into cpu_intr()
- check independent timer interrupt first in cpu_intr()
- tweak MIPS_SR_INT_IE before calling hardclock timer handlers so that
spllowersoftclock(9) will be invoked properly in hardclock(9)
- reenable interrupt for timer in cpu_intr() rather than each timer handlers

okay'ed by soda.

Note the real fix is to make CLKF_BASE() check all independent
interrupt sources including jazz and isa devices.
 1.11 11-Dec-2005  christos branches: 1.11.4; 1.11.8; 1.11.16;
merge ktrace-lwp.
 1.10 30-Oct-2005  tsutsui Use mips3_cp0_count_read() for precise microtime(9).

XXX microtime(9) function should be moved from machdep.c to timer.c?
 1.9 20-Aug-2005  tsutsui branches: 1.9.2;
Count jazzio timer interrupts by evcnt(9).
 1.8 22-Jan-2005  tsutsui branches: 1.8.8;
Make all intr_mask value types uint32_t rather than int, u_int,
or unsigned etc.
 1.7 22-Jan-2005  tsutsui - remove __P()
- use ANSI function decls
- u_intNN_t -> uintNN_t
- some KNF
 1.6 01-Jan-2005  tsutsui branches: 1.6.2;
Remove (void *) casts added to NULL.
 1.5 15-Jul-2003  lukem __KERNEL_RCSID()
 1.4 28-Dec-2002  tsutsui branches: 1.4.2;
Oops, fix typo in the previous.
 1.3 28-Dec-2002  tsutsui Change device names in struct pica_dev to match ones used by ARC BIOS.
All of these parameters should be obtained from ARC BIOS, and we will
switch to the way in future. As per discussion with soda.
 1.2 09-Dec-2002  tsutsui As per discussion with soda, all EISA based Jazz machines seem to require
the same method to access TOD clock, so move chipset-dependent mcclock
routines to appropriate files.

This should also fix Express RISCserver and RISCserver2200 (aka R96) support
which has been broken since "struct platform" was introduced.
 1.1 13-Jun-2001  soda branches: 1.1.2; 1.1.10;
common chipset description for NEC EISA and PCI generation platforms
 1.1.10.3 29-Dec-2002  thorpej Sync with HEAD.
 1.1.10.2 11-Dec-2002  thorpej Sync with HEAD.
 1.1.10.1 13-Jun-2001  thorpej file c_nec_jazz.c was added on branch nathanw_sa on 2002-12-11 05:52:05 +0000
 1.1.2.1 21-Jun-2001  nathanw Catch up to -current.
 1.4.2.6 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.4.2.5 24-Jan-2005  skrll Sync with HEAD.
 1.4.2.4 17-Jan-2005  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.2.1 29-Apr-2005  kent sync with -current
 1.8.8.3 17-Mar-2008  yamt sync with head.
 1.8.8.2 30-Dec-2006  yamt sync with head.
 1.8.8.1 21-Jun-2006  yamt sync with head.
 1.9.2.1 02-Nov-2005  yamt sync with head.
 1.11.16.1 13-Jul-2006  gdamore Merge from HEAD.
 1.11.8.1 26-Jun-2006  yamt sync with head.
 1.11.4.1 09-Sep-2006  rpaulo sync with head
 1.12.58.1 03-Apr-2008  mjf Sync with HEAD.
 1.12.54.1 24-Mar-2008  keiichi sync with head.
 1.12.34.1 23-Mar-2008  matt sync with HEAD
 1.13.54.1 18-May-2014  rmind sync with head
 1.13.48.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.13.38.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 19-Sep-2021  andvar fix various typos in comments, messages and documentation.
 1.20 13-Oct-2012  jdc Adapt to the changed signature of pckbc_cnattach().
 1.19 01-Jul-2011  dyoung branches: 1.19.2; 1.19.12;
#include <sys/bus.h> instead of <machine/bus.h>.
 1.18 20-Feb-2011  matt Merge forward from matt-nb5-mips64.
Adapt to new interrupt/spl framework.
Add LP64 support.
 1.17 03-Dec-2007  ad branches: 1.17.36; 1.17.40; 1.17.46; 1.17.48;
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.16 17-Oct-2007  garbled branches: 1.16.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.15 08-Aug-2007  tsutsui branches: 1.15.2;
Defer arc_init_wired_map() call after MD ipl_sr_bits[] is initilized
in platform dependent init functions.

arc_init_wired_map() refers ipl_sr_bits[] via
extent_create(9) -> mutex_init(9) -> makeiplcookie(9)
since the partial merge of vmlocking.
 1.14 26-Jun-2007  tsutsui branches: 1.14.4; 1.14.8;
Use C99 initializers.
 1.13 11-Dec-2005  christos branches: 1.13.30; 1.13.32; 1.13.38;
merge ktrace-lwp.
 1.12 05-Nov-2005  tsutsui Adapt arc port to the new MI mips3 wired map functions.
Tested on NEC-RD94 with several PCI and jazzio devices.
 1.11 03-Jun-2005  tsutsui branches: 1.11.2;
Add const.
 1.10 22-Jan-2005  tsutsui - remove __P()
- use ANSI function decls
- u_intNN_t -> uintNN_t
- some KNF
 1.9 04-Dec-2003  keihan branches: 1.9.8;
netbsd.org -> NetBSD.org

All "netbsd.org" is now gone from src/sys/arch.
 1.8 29-Oct-2003  tsutsui Switch arc to use MI mc146818 tod driver.
 1.7 15-Jul-2003  lukem __KERNEL_RCSID()
 1.6 14-Jun-2003  thorpej branches: 1.6.2;
Also pass a type argument to comcnattach() and com_kgdb_attach().
comspeed() (and thus cominit()) may need this information.
 1.5 25-May-2003  tsutsui Add generic software interrupt support with mips/softintr.c.
 1.4 19-Jan-2003  tsutsui TAB/space cleanup.
 1.3 28-Dec-2002  tsutsui Fix typo in comment.
 1.2 09-Dec-2002  tsutsui As per discussion with soda, all EISA based Jazz machines seem to require
the same method to access TOD clock, so move chipset-dependent mcclock
routines to appropriate files.

This should also fix Express RISCserver and RISCserver2200 (aka R96) support
which has been broken since "struct platform" was introduced.
 1.1 13-Jun-2001  soda branches: 1.1.2; 1.1.10;
common chipset description for NEC PCI generation platforms
 1.1.10.3 29-Dec-2002  thorpej Sync with HEAD.
 1.1.10.2 11-Dec-2002  thorpej Sync with HEAD.
 1.1.10.1 13-Jun-2001  thorpej file c_nec_pci.c was added on branch nathanw_sa on 2002-12-11 05:52:05 +0000
 1.1.2.1 21-Jun-2001  nathanw Catch up to -current.
 1.6.2.5 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.6.2.4 24-Jan-2005  skrll Sync with HEAD.
 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.9.8.1 29-Apr-2005  kent sync with -current
 1.11.2.3 07-Dec-2007  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.38.2 03-Oct-2007  garbled Sync with HEAD
 1.13.38.1 26-Jun-2007  garbled Sync with HEAD.
 1.13.32.1 11-Jul-2007  mjf Sync with head.
 1.13.30.3 03-Dec-2007  ad Sync with HEAD.
 1.13.30.2 20-Aug-2007  ad Sync with HEAD.
 1.13.30.1 15-Jul-2007  ad Sync with head.
 1.14.8.2 09-Dec-2007  jmcneill Sync with HEAD.
 1.14.8.1 09-Aug-2007  jmcneill Sync with HEAD.
 1.14.4.1 15-Aug-2007  skrll Sync with HEAD.
 1.15.2.2 09-Jan-2008  matt sync with HEAD
 1.15.2.1 06-Nov-2007  matt sync with HEAD
 1.16.2.1 08-Dec-2007  mjf Sync with HEAD.
 1.17.48.1 05-Mar-2011  bouyer Sync with HEAD
 1.17.46.1 06-Jun-2011  jruoho Sync with HEAD.
 1.17.40.1 05-Mar-2011  rmind sync with head
 1.17.36.1 29-Dec-2010  matt Adapt to the new interrupt structure.
 1.19.12.1 20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.19.2.1 30-Oct-2012  yamt sync with head
 1.14 13-Jun-2001  soda split clock.c into interval timer part ("timer" for cpu_initclock) and
real time clock part ("todclock" for inittodr, resettodr)
 1.13 24-Dec-2000  ur Switch pica to jazzio.
Split shared MD portion between algor and jazzio.
 1.12 09-Jun-2000  soda branches: 1.12.4;
- NEC RISCstation 2250 (RD-94) PCI bus support,
contributed by Shuichiro URATA <ur@a-r.org>.
- Experimental coding for NEC RISCserver 2200 and RISCstation 2200.
(doesn't really work)
 1.11 03-Mar-2000  soda branches: 1.11.2;
NEC RISCstation 2250 (NEC-RD94) support.
contributed by Shuichiro URATA <ur@a-r.org>.
 1.10 22-Feb-2000  soda merge changes between OpenBSD-2.1 and OpenBSD-2.6
 1.9 23-Jan-2000  soda merge to NetBSD-current (DeskStation and Algor support is currently broken)
 1.8 23-Jan-2000  soda Moved from /cvsroot/syssrc/sys/arch/pica/pica/clock.c,v
 1.7 12-Jan-1998  thorpej Update for changes to config.
 1.6 13-Oct-1996  christos backout previous kprintf change
 1.5 10-Oct-1996  christos printf -> kprintf, sprintf -> ksprintf
 1.4 11-Aug-1996  jonathan Fix old lint and changes not pulled back from pmax, pass1:
* include <mips/locore.h> where callbacks into locore are made, to get
prototypes in scope. Cast calls appropriately.
* include <mips/cpuregs.h>, not the old Sprite-derived <machine/machConst.h>.
machConst.h is deprecated.
* dk_establish() must return void, not int.
 1.3 28-Mar-1996  jonathan Remove lint from pica kernel to compile with -Werror:
* Add cast to hardclock when it's used directly as an interrupt handler.
* Add a null-interrupt-establish function, to avoid int vs void lint
in pica/dev/dma.c.
* fix include in pica/include/pccons.h to work with "standard"
kernel-compile include path.
 1.2 17-Mar-1996  thorpej New device attachment scheme:

- split softc size and match/attach out from cfdriver into
a new struct cfattach.

- new "attach" directive for files.*. May specify the name of
the cfattach structure, so that devices may be easily attached
to parents with different autoconfiguration semantics.
 1.1 13-Mar-1996  jonathan branches: 1.1.1;
Initial revision
 1.1.1.2 23-Jan-2000  soda OpenBSD-2.1/arc
 1.1.1.1 13-Mar-1996  jonathan First commit of Per Fogelstrom's port to the Acer pica r4400/isa machine.
 1.11.2.1 22-Jun-2000  minoura Sync w/ netbsd-1-5-base.
 1.12.4.3 05-Jan-2001  bouyer Sync with HEAD
 1.12.4.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.12.4.1 09-Jun-2000  bouyer file clock.c was added on branch thorpej_scsipi on 2000-11-20 20:00:20 +0000
 1.13 13-Jun-2001  soda split clock_mc.c into interval timer driver (timer) and
real time clock driver (mcclock)
 1.12 09-May-2001  tsutsui Tidy up some debug messages.
 1.11 17-Feb-2001  tsutsui Add new arctype for NEC Express5800/230A.

XXX: we should have "sysconf" structures like pmax.
 1.10 24-Dec-2000  ur Switch pica to jazzio.
Split shared MD portion between algor and jazzio.
 1.9 03-Aug-2000  soda branches: 1.9.2;
NEC RISCserver 2200 support by bob meader <bob@cci.net>.
Now NetBSD works with RISCserver 2200.
 1.8 09-Jun-2000  soda branches: 1.8.2;
- NEC RISCstation 2250 (RD-94) PCI bus support,
contributed by Shuichiro URATA <ur@a-r.org>.
- Experimental coding for NEC RISCserver 2200 and RISCstation 2200.
(doesn't really work)
 1.7 03-Mar-2000  soda branches: 1.7.2;
NEC RISCstation 2250 (NEC-RD94) support.
contributed by Shuichiro URATA <ur@a-r.org>.
 1.6 22-Feb-2000  soda merge changes between OpenBSD-2.1 and OpenBSD-2.6
 1.5 23-Jan-2000  soda merge to NetBSD-current (DeskStation and Algor support is currently broken)
 1.4 23-Jan-2000  soda Moved from /cvsroot/syssrc/sys/arch/pica/pica/clock_mc.c,v
 1.3 13-Oct-1996  christos backout previous kprintf change
 1.2 10-Oct-1996  christos printf -> kprintf, sprintf -> ksprintf
 1.1 13-Mar-1996  jonathan branches: 1.1.1;
Initial revision
 1.1.1.3 22-Feb-2000  soda OpenBSD-2.6/arc
 1.1.1.2 23-Jan-2000  soda OpenBSD-2.1/arc
 1.1.1.1 13-Mar-1996  jonathan First commit of Per Fogelstrom's port to the Acer pica r4400/isa machine.
 1.7.2.1 22-Jun-2000  minoura Sync w/ netbsd-1-5-base.
 1.8.2.1 10-Aug-2000  soda Pull up to netbsd-1-5 branch
Approved by: thorpej

NEC RISCserver 2200 support by bob meader <bob@cci.net>.
This makes NetBSD work with RISCserver 2200.

Revision pulled up:
> cvs rdiff -r1.8 -r1.9 syssrc/sys/arch/arc/arc/clock_mc.c
 1.9.2.4 12-Mar-2001  bouyer Sync with HEAD.
 1.9.2.3 05-Jan-2001  bouyer Sync with HEAD
 1.9.2.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.9.2.1 03-Aug-2000  bouyer file clock_mc.c was added on branch thorpej_scsipi on 2000-11-20 20:00:20 +0000
 1.4 13-Jun-2001  soda split clock.c into interval timer part ("timer" for cpu_initclock) and
real time clock part ("todclock" for inittodr, resettodr)
 1.3 22-Feb-2000  soda branches: 1.3.6;
merge changes between OpenBSD-2.1 and OpenBSD-2.6
 1.2 23-Jan-2000  soda merge to NetBSD-current (DeskStation and Algor support is currently broken)
 1.1 13-Mar-1996  jonathan branches: 1.1.1;
Initial revision
 1.1.1.3 23-Jan-2000  soda OpenBSD-2.1/arc
 1.1.1.2 23-Jan-2000  soda Moved from /cvsroot/syssrc/sys/arch/pica/pica/clockvar.h,v
 1.1.1.1 13-Mar-1996  jonathan First commit of Per Fogelstrom's port to the Acer pica r4400/isa machine.
 1.3.6.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.3.6.1 22-Feb-2000  bouyer file clockvar.h was added on branch thorpej_scsipi on 2000-11-20 20:00:20 +0000
 1.27 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.26 06-Sep-2002  gehenna Merge the gehenna-devsw branch into the trunk.

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

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

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

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

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

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

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

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

- In compile time, device major numbers list is packed into the kernel and
the LKM framework will refer it to assign device major number dynamically.
 1.25 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.24 17-Jun-2002  christos MD systrace gluons.
 1.23 16-Mar-2002  martin branches: 1.23.4;
Rename ISDN devices, per discussion on tech-kern. The network devices
become ippp (ISDN ppp) and irip (ISDN raw IP). The character device now
are called: /dev/isdn (isdnd <-> kernel communication), /dev/isdnctl (dialing
and other control), /dev/isdntrc* (tracing), /dev/isdnbchan* (raw B channel
access, i.e. for user land PPP) and /dev/isdntel* (telephone devices, i.e.
for answering machines).
 1.22 12-Jan-2002  manu Added clockctl
 1.21 21-Mar-2001  lukem branches: 1.21.2; 1.21.8;
move duplicate definitions for:
pc, lpt, joy, ocis, apm, satlink, i4bctl, i4brbch, i4btel, i4btrc, i4b
from the port-specific arch/*/*/conf.c files into sys/conf.h
 1.20 14-Jan-2001  martin branches: 1.20.2;
The i4b raw b-channel devices actually do have an ioctl routine,
so better add this to the cdevsw entry.
Noted by Bruno Achauer.
 1.19 08-Jan-2001  martin Add isdn devices to all archs that seem to support at least one of the
necessary busses. Sync comments with reality for archs that already had
the devices.
 1.18 17-Jun-2000  soda branches: 1.18.4;
vga/pckbc attachment for jazz internal bus of Magnum derived machines
(including Pica, NEC RISCstation/RISCserver).
 1.17 03-Mar-2000  soda branches: 1.17.2;
add some MI devices, including raidframe, tun, ...
 1.16 22-Feb-2000  soda merge changes between OpenBSD-2.1 and OpenBSD-2.6
 1.15 01-Feb-2000  nisimura Fix chrtoblktbl[] array to reflect reality.
 1.14 23-Jan-2000  soda merge to NetBSD-current (DeskStation and Algor support is currently broken)
 1.13 23-Jan-2000  soda Moved from /cvsroot/syssrc/sys/arch/pica/pica/conf.c,v
 1.12 10-Oct-1998  thorpej Add scsibus entry points to the cdevsw[].
 1.11 16-Oct-1997  christos fix chrtoblk declaration
 1.10 15-Oct-1997  thorpej Pulldown from marc-pcmcia branch: minimal changes to avoid namespace
collision between Pica port "com" (now "pcom") driver and more heavily-used
"com" driver.
 1.9 13-Oct-1997  explorer o Make usage of /dev/random dependant on
pseudo-device rnd # /dev/random and in-kernel generator
in config files.

o Add declaration to all architectures.

o Clean up copyright message in rnd.c, rnd.h, and rndpool.c to include
that this code is derived in part from Ted Tyso's linux code.
 1.8 18-Jun-1997  jonathan branches: 1.8.4;
Add explicit function-return types.
 1.7 07-Jan-1997  mrg use pseudo-device ipfilter, not ipl.
 1.6 07-Sep-1996  mycroft Implement poll(2).
 1.5 05-Sep-1996  mycroft Remove duplicate declarations of LKM functions and macros.
 1.4 16-Jul-1996  thorpej RCS id police.
 1.3 17-Mar-1996  thorpej New device attachment scheme:

- split softc size and match/attach out from cfdriver into
a new struct cfattach.

- new "attach" directive for files.*. May specify the name of
the cfattach structure, so that devices may be easily attached
to parents with different autoconfiguration semantics.
 1.2 14-Mar-1996  christos fdopen -> filedescopen
 1.1 13-Mar-1996  jonathan branches: 1.1.1;
Initial revision
 1.1.1.3 22-Feb-2000  soda OpenBSD-2.6/arc
 1.1.1.2 23-Jan-2000  soda OpenBSD-2.1/arc
 1.1.1.1 13-Mar-1996  jonathan First commit of Per Fogelstrom's port to the Acer pica r4400/isa machine.
 1.8.4.2 15-Oct-1997  thorpej Minimal changes to rename the Pica port's "com" driver to "pcom", to
avoid a namespace collision with the more heavily-used "com" driver,
which needs to be declared in sys/conf/files.
 1.8.4.1 14-Oct-1997  thorpej Update marc-pcmcia branch from trunk.
 1.17.2.1 22-Jun-2000  minoura Sync w/ netbsd-1-5-base.
 1.18.4.4 27-Mar-2001  bouyer Sync with HEAD.
 1.18.4.3 18-Jan-2001  bouyer Sync with head (for UBC+NFS fixes, mostly).
 1.18.4.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.18.4.1 17-Jun-2000  bouyer file conf.c was added on branch thorpej_scsipi on 2000-11-20 20:00:20 +0000
 1.20.2.1 09-Apr-2001  nathanw Catch up with -current.
 1.21.8.7 11-Nov-2002  nathanw Catch up to -current
 1.21.8.6 17-Sep-2002  nathanw Catch up to -current.
 1.21.8.5 01-Aug-2002  nathanw Catch up to -current.
 1.21.8.4 20-Jun-2002  nathanw Catch up to -current.
 1.21.8.3 01-Apr-2002  nathanw Catch up to -current.
(CVS: It's not just a program. It's an adventure!)
 1.21.8.2 28-Feb-2002  nathanw Catch up to -current.
 1.21.8.1 21-Mar-2001  nathanw file conf.c was added on branch nathanw_sa on 2002-02-28 04:07:10 +0000
 1.21.2.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.21.2.3 06-Sep-2002  jdolecek sync kqueue branch with HEAD
 1.21.2.2 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.21.2.1 11-Feb-2002  jdolecek Sync w/ -current.
 1.23.4.3 21-Jul-2002  gehenna catch up with -current.
 1.23.4.2 14-Jul-2002  gehenna catch up with -current.
 1.23.4.1 16-May-2002  gehenna Bye block/character device swicth tables.
 1.21 03-Mar-2022  riastradh arc: Use device_set_private for cpuN.
 1.20 24-Jun-2015  matt Fix includes
 1.19 06-Mar-2011  tsutsui branches: 1.19.14; 1.19.32;
Remove trailing spaces.
 1.18 20-Feb-2011  matt Merge forward from matt-nb5-mips64.
Adapt to new interrupt/spl framework.
Add LP64 support.
 1.17 27-Nov-2009  rmind branches: 1.17.4; 1.17.6; 1.17.8;
- 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.16 05-Jul-2008  tsutsui branches: 1.16.14;
Split device_t/softc with misc related changes.
 1.15 15-Apr-2006  tsutsui branches: 1.15.62; 1.15.66; 1.15.68; 1.15.70;
Include "ioconf.h" rather than declare struct cfdriver foo_cd in each file.
 1.14 11-Dec-2005  christos branches: 1.14.4; 1.14.6; 1.14.8; 1.14.10; 1.14.12;
merge ktrace-lwp.
 1.13 22-Jan-2005  tsutsui branches: 1.13.8;
- remove __P()
- use ANSI function decls
- u_intNN_t -> uintNN_t
- some KNF
 1.12 15-Jul-2003  lukem branches: 1.12.8;
__KERNEL_RCSID()
 1.11 02-Oct-2002  thorpej branches: 1.11.6;
Use CFATTACH_DECL().
 1.10 27-Sep-2002  thorpej Declare all cfattach structures const.
 1.9 29-Jun-2000  mrg branches: 1.9.2; 1.9.6; 1.9.10;
remove include of <vm/vm.h>. <vm/vm.h> -> <uvm/uvm_extern.h>
 1.8 23-Jan-2000  soda merge to NetBSD-current (DeskStation and Algor support is currently broken)
 1.7 23-Jan-2000  soda Moved from /cvsroot/syssrc/sys/arch/pica/pica/cpu.c,v
 1.6 12-Jan-1998  thorpej Update for changes to config.
 1.5 23-Jun-1997  jonathan Apply sys/arch/mips changes (MACH_ -> MIPS_ or MIPS3_) changes to Pica port.
PICA Kernel compiles with warnings and links, otherwise untested.
 1.4 13-Oct-1996  christos backout previous kprintf change
 1.3 10-Oct-1996  christos printf -> kprintf, sprintf -> ksprintf
 1.2 17-Mar-1996  thorpej New device attachment scheme:

- split softc size and match/attach out from cfdriver into
a new struct cfattach.

- new "attach" directive for files.*. May specify the name of
the cfattach structure, so that devices may be easily attached
to parents with different autoconfiguration semantics.
 1.1 13-Mar-1996  jonathan branches: 1.1.1;
Initial revision
 1.1.1.2 23-Jan-2000  soda OpenBSD-2.1/arc
 1.1.1.1 13-Mar-1996  jonathan First commit of Per Fogelstrom's port to the Acer pica r4400/isa machine.
 1.9.10.1 18-Oct-2002  nathanw Catch up to -current.
 1.9.6.1 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.9.2.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.9.2.1 29-Jun-2000  bouyer file cpu.c was added on branch thorpej_scsipi on 2000-11-20 20:00:20 +0000
 1.11.6.4 24-Jan-2005  skrll Sync with HEAD.
 1.11.6.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.11.6.2 18-Sep-2004  skrll Sync with HEAD.
 1.11.6.1 03-Aug-2004  skrll Sync with HEAD
 1.12.8.1 29-Apr-2005  kent sync with -current
 1.13.8.1 21-Jun-2006  yamt sync with head.
 1.14.12.1 24-May-2006  tron Merge 2006-05-24 NetBSD-current into the "peter-altq" branch.
 1.14.10.1 19-Apr-2006  elad sync with head - hopefully this will work
 1.14.8.1 24-May-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.15.70.1 18-Jul-2008  simonb Sync with head.
 1.15.68.1 18-Sep-2008  wrstuden Sync with wrstuden-revivesa-base-2.
 1.15.66.2 11-Mar-2010  yamt sync with head
 1.15.66.1 04-May-2009  yamt sync with head.
 1.15.62.1 28-Sep-2008  mjf Sync with HEAD.
 1.16.14.2 23-Dec-2011  matt Change usage to cpu_identify(self, NULL);
 1.16.14.1 13-Jan-2010  matt Deal with new cpu_identity()
 1.17.8.1 05-Mar-2011  bouyer Sync with HEAD
 1.17.6.1 06-Jun-2011  jruoho Sync with HEAD.
 1.17.4.2 21-Apr-2011  rmind sync with head
 1.17.4.1 05-Mar-2011  rmind sync with head
 1.19.32.1 22-Sep-2015  skrll Sync with HEAD
 1.19.14.1 03-Dec-2017  jdolecek update from HEAD
 1.2 23-Jan-2000  soda merge to NetBSD-current (DeskStation and Algor support is currently broken)
 1.1 23-Jan-2000  soda branches: 1.1.1;
Initial revision
 1.1.1.1 23-Jan-2000  soda OpenBSD-2.1/arc
 1.31 15-Jun-2020  tsutsui Drop compat support for OpenBSD/arc disks.

Note OpenBSD/arc was discontinued after 1998.
Tested on GXemul and ok'ed by soda@.
 1.30 03-Apr-2019  christos centralize setdisklabel(9)
 1.29 16-May-2013  christos branches: 1.29.34;
Complete the dosparts -> mbrparts conversion. Only x86k new uses dosparts
because it also uses struct dos_partition.
 1.28 02-Jan-2008  ad branches: 1.28.44; 1.28.54;
Merge vmlocking2 to head.
 1.27 17-Oct-2007  garbled branches: 1.27.2; 1.27.4; 1.27.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.26 08-Oct-2007  ad Merge brelse() changes from the vmlocking branch.
 1.25 29-Jul-2007  ad branches: 1.25.4; 1.25.6; 1.25.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.24 06-Mar-2007  he branches: 1.24.2; 1.24.10; 1.24.12; 1.24.14;
More fixes after the caddr_t removal.
Mostly cast to char* for pointer arithmetic,
but also one missing indirection, and one "void *v, x;" fix.
 1.23 25-Nov-2006  scw branches: 1.23.4;
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.22 11-Dec-2005  christos branches: 1.22.20; 1.22.22;
merge ktrace-lwp.
 1.21 03-Jun-2005  tsutsui branches: 1.21.2;
Add const.
 1.20 22-Jan-2005  tsutsui - remove __P()
- use ANSI function decls
- u_intNN_t -> uintNN_t
- some KNF
 1.19 08-Oct-2003  lukem branches: 1.19.8;
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.18 07-Aug-2003  agc Move UCB-licensed code from 4-clause to 3-clause licence.

Patches provided by Joel Baker in PR 22364, verified by myself.
 1.17 15-Jul-2003  lukem __KERNEL_RCSID()
 1.16 10-May-2003  thorpej branches: 1.16.2;
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.15 02-May-2003  dsl Change return type of readdisklabel() to const char *
I hope I've found all the correct places!
 1.14 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.13 19-Jan-2003  tsutsui TAB/space cleanup.
 1.12 19-Feb-2002  wiz strategy should have an 'r'. Inspired by similar change in OpenBSD.
 1.11 20-Nov-2000  chs branches: 1.11.2; 1.11.4; 1.11.6; 1.11.10;
rationalize the use of b_flags for geteblk() buffers.
rather than assigning to the whole field, set or clear individual flags,
which implies that the B_BUSY and B_INVAL flags will remain set.
this allows us to make the assertion in brelse() that B_BUSY is set,
which is the purpose of all this.
 1.10 16-May-2000  thorpej Nuke dk_establish() from orbit except from those ports which still use
it to determine the boot device: mvme68k, pc532, macppc, ofppc. Those
platforms should be changed to use device_register(). In the mean time,
those ports defined __BROKEN_DK_ESTABLISH.
 1.9 27-Mar-2000  soda -Wmissing-prototypes cleanup
 1.8 21-Mar-2000  soda if there is MBR, but there isn't BSD MBR partition entry,
writedisklabel(9) paniced.
pointed out and fixed by Shuichiro URATA <ur@a-r.org>, thanks.
 1.7 23-Jan-2000  soda merge to NetBSD-current (DeskStation and Algor support is currently broken)
 1.6 23-Jan-2000  soda Moved from /cvsroot/syssrc/sys/arch/pica/pica/disksubr.c,v
 1.5 27-Aug-1997  bouyer branches: 1.5.24;
Merge scsipi branch in the mainline. This add support for ATAPI devices
(currently only CD-ROM drives on i386). The sys/dev/scsipi system provides 2
busses to which devices can attach (scsibus and atapibus). This needed to
change some include files and structure names in the low level scsi drivers.
 1.4 13-Oct-1996  christos branches: 1.4.8; 1.4.10;
backout previous kprintf change
 1.3 10-Oct-1996  christos printf -> kprintf, sprintf -> ksprintf
 1.2 11-Aug-1996  jonathan Fix old lint and changes not pulled back from pmax, pass1:
* include <mips/locore.h> where callbacks into locore are made, to get
prototypes in scope. Cast calls appropriately.
* include <mips/cpuregs.h>, not the old Sprite-derived <machine/machConst.h>.
machConst.h is deprecated.
* dk_establish() must return void, not int.
 1.1 13-Mar-1996  jonathan branches: 1.1.1;
Initial revision
 1.1.1.2 23-Jan-2000  soda OpenBSD-2.1/arc
 1.1.1.1 13-Mar-1996  jonathan First commit of Per Fogelstrom's port to the Acer pica r4400/isa machine.
 1.4.10.1 27-Aug-1997  thorpej Update marc-pcmcia branch from trunk.
 1.4.8.1 01-Jul-1997  bouyer Updates for new scsipi subsystem. Actally known to work on i386 and sparc.
 1.5.24.1 21-Dec-1999  wrstuden Initial commit of recent changes to make DEV_BSIZE go away.

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

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

Non 2**n block support is automatic for LKM's and conditional for kernels
on "options NON_PO2_BLOCKS".
 1.11.10.1 28-Feb-2002  nathanw Catch up to -current.
 1.11.6.1 16-Mar-2002  jdolecek Catch up with -current.
 1.11.4.1 10-Oct-2001  fvdl Convert all remaining devices.
 1.11.2.3 22-Nov-2000  bouyer Sync with HEAD.
 1.11.2.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.11.2.1 20-Nov-2000  bouyer file disksubr.c was added on branch thorpej_scsipi on 2000-11-20 20:00:21 +0000
 1.16.2.5 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.16.2.4 24-Jan-2005  skrll Sync with HEAD.
 1.16.2.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.16.2.2 18-Sep-2004  skrll Sync with HEAD.
 1.16.2.1 03-Aug-2004  skrll Sync with HEAD
 1.19.8.1 29-Apr-2005  kent sync with -current
 1.21.2.4 21-Jan-2008  yamt sync with head
 1.21.2.3 27-Oct-2007  yamt sync with head.
 1.21.2.2 03-Sep-2007  yamt sync with head.
 1.21.2.1 30-Dec-2006  yamt sync with head.
 1.22.22.1 10-Dec-2006  yamt sync with head.
 1.22.20.1 12-Jan-2007  ad Sync with head.
 1.23.4.1 12-Mar-2007  rmind Sync with HEAD.
 1.24.14.1 15-Aug-2007  skrll Sync with HEAD.
 1.24.12.1 07-Aug-2007  matt Sync with HEAD.
 1.24.10.2 16-Oct-2007  garbled Sync with HEAD
 1.24.10.1 03-Oct-2007  garbled Sync with HEAD
 1.24.2.2 09-Oct-2007  ad Sync with head.
 1.24.2.1 19-Aug-2007  ad - Back out the biodone() changes.
- Eliminate B_ERROR (from HEAD).
 1.25.8.1 14-Oct-2007  yamt sync with head.
 1.25.6.2 09-Jan-2008  matt sync with HEAD
 1.25.6.1 06-Nov-2007  matt sync with HEAD
 1.25.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.27.8.1 02-Jan-2008  bouyer Sync with HEAD
 1.27.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.27.2.1 18-Feb-2008  mjf Sync with HEAD.
 1.28.54.1 23-Jun-2013  tls resync from head
 1.28.44.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.29.34.1 10-Jun-2019  christos Sync with HEAD
 1.2 23-Jan-2000  soda merge to NetBSD-current (DeskStation and Algor support is currently broken)
 1.1 23-Jan-2000  soda branches: 1.1.1;
Initial revision
 1.1.1.1 23-Jan-2000  soda OpenBSD-2.1/arc
 1.2 23-Jan-2000  soda merge to NetBSD-current (DeskStation and Algor support is currently broken)
 1.1 23-Jan-2000  soda branches: 1.1.1;
Initial revision
 1.1.1.2 22-Feb-2000  soda OpenBSD-2.6/arc
 1.1.1.1 23-Jan-2000  soda OpenBSD-2.1/arc
 1.10 30-Aug-2023  tsutsui Remove ENABLE_INT5_STATCLOCK broken since matt-nb5-mips64 merge.

Noticed by andvar@.
 1.9 02-Mar-2011  tsutsui Fix misplaced #endif. PR port-arc/44664

XXX: I'll also remove ENABLE_INT5_STATCLOCK soon since no visible improvements.
 1.8 20-Feb-2011  matt Merge forward from matt-nb5-mips64.
Adapt to new interrupt/spl framework.
Add LP64 support.
 1.7 08-Feb-2011  rmind Remove clause 3 (UCB advertising clause) from the University of Utah
copyright. Confirmed by Mike Hibler, mike at cs.utah.edu - thanks!
Also, merge UCB and Utah copyright texts back into one, as they
originally were.

Extra verification by snj@.
 1.6 20-Dec-2010  matt branches: 1.6.2; 1.6.4;
Move counting of faults, traps, intrs, soft[intr]s, syscalls, and nswtch
from uvmexp to per-cpu cpu_data and move them to 64bits. Remove unneeded
includes of <uvm/uvm_extern.h> and/or <uvm/uvm.h>.
 1.5 14-Dec-2009  matt branches: 1.5.4;
Merge from matt-nb5-mips64
Merge mips-specific arch files.
 1.4 14-Mar-2008  tsutsui branches: 1.4.4; 1.4.22;
Fix spl(9) botch in cpu_intr() on arc:
Don't enable unhandled interrupts before all interrupts are processed,
and also change all interrupt handlers to return processed MIPS_INT_MASK
values, rather than masked values of them.
 1.3 03-Dec-2007  ad branches: 1.3.10; 1.3.14;
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.2 16-Feb-2007  tsutsui branches: 1.2.6; 1.2.22; 1.2.24; 1.2.30;
Remove hacks for now removed spllowersoftclock(9).
 1.1 25-Jun-2006  tsutsui branches: 1.1.2; 1.1.4; 1.1.10; 1.1.16;
Rename arc_trap.c to interrupt.c, which derived from ancient pica_trap.c
but currently contains only interrupt stuff. Ok'ed by soda.
 1.1.16.5 17-Mar-2008  yamt sync with head.
 1.1.16.4 07-Dec-2007  yamt sync with head
 1.1.16.3 26-Feb-2007  yamt sync with head.
 1.1.16.2 30-Dec-2006  yamt sync with head.
 1.1.16.1 25-Jun-2006  yamt file interrupt.c was added on branch yamt-lazymbuf on 2006-12-30 20:45:29 +0000
 1.1.10.2 09-Sep-2006  rpaulo sync with head
 1.1.10.1 25-Jun-2006  rpaulo file interrupt.c was added on branch rpaulo-netinet-merge-pcb on 2006-09-09 02:37:42 +0000
 1.1.4.2 13-Jul-2006  gdamore Merge from HEAD.
 1.1.4.1 25-Jun-2006  gdamore file interrupt.c was added on branch gdamore-uart on 2006-07-13 17:48:44 +0000
 1.1.2.2 26-Jun-2006  yamt sync with head.
 1.1.2.1 25-Jun-2006  yamt file interrupt.c was added on branch yamt-pdpolicy on 2006-06-26 12:44:22 +0000
 1.2.30.1 08-Dec-2007  mjf Sync with HEAD.
 1.2.24.2 23-Mar-2008  matt sync with HEAD
 1.2.24.1 09-Jan-2008  matt sync with HEAD
 1.2.22.1 09-Dec-2007  jmcneill Sync with HEAD.
 1.2.6.1 03-Dec-2007  ad Sync with HEAD.
 1.3.14.1 03-Apr-2008  mjf Sync with HEAD.
 1.3.10.1 24-Mar-2008  keiichi sync with head.
 1.4.22.2 29-Dec-2010  matt Adapt to the new interrupt structure.
 1.4.22.1 05-Feb-2010  matt Change to deal with new method of invoking softints. Remove mips/softintr.c
from config files. Fix SYMTAB_SPACE for WGT62V43
 1.4.4.1 11-Mar-2010  yamt sync with head
 1.5.4.1 05-Mar-2011  rmind sync with head
 1.6.4.2 05-Mar-2011  bouyer Sync with HEAD
 1.6.4.1 17-Feb-2011  bouyer Sync with HEAD
 1.6.2.1 06-Jun-2011  jruoho Sync with HEAD.
 1.10 23-Jan-2000  soda merge to NetBSD-current (DeskStation and Algor support is currently broken)
 1.9 23-Jan-2000  soda Moved from /cvsroot/syssrc/sys/arch/pica/pica/locore.S,v
 1.8 05-Feb-1998  jonathan Add kernel_text symbol to old Pica locore for final removal of KERNBASE.
 1.7 23-Jun-1997  jonathan Apply MACH_ -> MIPS_ changes from sys/arch/mips.
 1.6 06-Nov-1996  cgd Fix an inconsistency that came in with Lite: setrq() was renamed to
setrunqueue(), but remrq() was never renamed. Rename remrq() to
remrunqueue().
 1.5 13-Oct-1996  christos backout previous kprintf change
 1.4 10-Oct-1996  christos printf -> kprintf, sprintf -> ksprintf
 1.3 31-Mar-1996  jonathan merge mips and pica locore.S, pass 0:
* cut-and-paste all the code for both r2000 (MIPS-I) and r4000 (MIPS-III)
into both the pica and pmax locore.S.

* Change the names of the small segments of vector code that are
bcopied to the machine vector locations, to avoid clashing.
Get rid of the Sprite MachXXX names for the vector code, and
use use mips_r2000_xxx and mips_r4000_xxx instead.

Update the names used in the vector-copying code and trap handlers
to match.

* Most of the rest of the pica locore.S was copied from the pmax
locore.S, and then edited to work on an r4000. The names of
functions and of manifest constants stayed the same, although
both assmbler code and constant values changed.
cut-and-paste such code into contiguous blocks protected by
#if / #endif. Much of the cache and trap-handling code
needs r3000-only register fields, on the r3000, and r4000-only
insns and registers on the r4000.

* change the pmax r2000 exception-handling code to extract a trap
code with the user/kernel bit at 0x20 rather than 0x10.
(r2000s have 4-bit execption codes, r4000s have 5-bit.)
Use the a 16 from-user-space + 16-from-kernel space jump table,
just like on the r4000 pica port.

* add NOPs to the common code where required by the r4000 pipeline
constraints.
* add _C_LABEL() macros to the r4000 locore.

Comitted to provide a snapshot for others to test, and work on a cleaner merge.
 1.2 28-Mar-1996  jonathan Update Pica machdep.c and locore.S to work with new, "merged" machdep.h:

* Add a MIPS-I (r3000) exception handler to the Pica locore.S.
Change the names of the masks used to extract the exception code
to the new MIPS_xxx names.
* Rename the vector code from MachException() to
mips_r4000_exception, in both locore and in the init_main()
code that copies it from locore to the exception vector locations.

* Change the locore and C code to use the new MIPS_SR_INT_IE
name for the Status register master interrupt-enable bit.

Similar changes to the pmax equivalents are in progress.
 1.1 13-Mar-1996  jonathan branches: 1.1.1;
Initial revision
 1.1.1.3 22-Feb-2000  soda OpenBSD-2.6/arc
 1.1.1.2 23-Jan-2000  soda OpenBSD-2.1/arc
 1.1.1.1 13-Mar-1996  jonathan First commit of Per Fogelstrom's port to the Acer pica r4400/isa machine.
 1.17 07-Apr-2019  rin Remove dead codes, that are #if 0'd for more than 19 years!
 1.16 27-Nov-2009  rmind branches: 1.16.64;
- 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.15 11-Dec-2005  christos branches: 1.15.78;
merge ktrace-lwp.
 1.14 05-Nov-2005  tsutsui Adapt arc port to the new MI mips3 wired map functions.
Tested on NEC-RD94 with several PCI and jazzio devices.
 1.13 01-Oct-2005  tsutsui - Use mtc0/mfc0 rather than dmtc0/dmtc0 for the PageMask register.
- Tidy up some comments.
 1.12 31-May-2005  chs branches: 1.12.2;
remove vestigal {,e}intr{names,cnt} symbols now that vmstat doesn't need them.
 1.11 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.10 09-Jun-2003  simonb branches: 1.10.2;
Remove definitions and usage of MIPS_COP_0_STATUS_REG and
MIPS_COP_0_CAUSE_REG - use MIPS_COP_0_STATUS and MIPS_COP_0_CAUSE
instead.
 1.9 25-May-2003  tsutsui Add generic software interrupt support with mips/softintr.c.
 1.8 09-Jun-2000  soda branches: 1.8.4;
save/restore MIPS_COP_0_TLB_PG_MASK.
 1.7 03-Mar-2000  soda branches: 1.7.2;
typo in comment
 1.6 01-Feb-2000  nisimura Have .set mips3 directive to make it consistent with other *.S files.
 1.5 23-Jan-2000  soda merge to NetBSD-current (DeskStation and Algor support is currently broken)
 1.4 23-Jan-2000  soda Moved from /cvsroot/syssrc/sys/arch/pica/pica/locore_machdep.S,v
 1.3 18-Jun-1997  jonathan Add fillw() from old Pica locore.
 1.2 30-Sep-1996  jonathan Include <mips/asm.h>, not the Sprite header names.
 1.1 30-Sep-1996  jonathan * Move Decstation-specific locore code (sii DMA copy, vmstat -i counters)
from arch/mips/mips/locore.S to arch/pmax/pmax/locore_machdep.S.
* Move ARC-specific locore code (vmstat -i counters) to
arch/pica/pica/locore_machdep.S.
* When the mips3 locore support is known to work, both ports can now use
arch/mips/mips/locore.S.
 1.7.2.1 22-Jun-2000  minoura Sync w/ netbsd-1-5-base.
 1.8.4.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.8.4.1 09-Jun-2000  bouyer file locore_machdep.S was added on branch thorpej_scsipi on 2000-11-20 20:00:21 +0000
 1.10.2.4 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.10.2.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.10.2.2 18-Sep-2004  skrll Sync with HEAD.
 1.10.2.1 03-Aug-2004  skrll Sync with HEAD
 1.12.2.1 21-Jun-2006  yamt sync with head.
 1.15.78.1 11-Mar-2010  yamt sync with head
 1.16.64.1 10-Jun-2019  christos Sync with HEAD
 1.134 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.133 20-Dec-2023  thorpej Remove unnecessary <sys/malloc.h>.
 1.132 07-Dec-2023  thorpej extent(9) -> vmem(9)
 1.131 29-Aug-2023  andvar fix typo NKSYM -> NKSYMS in one of #if directive conditions.
It may cause build failure, e.g. with DDB option disabled.
 1.130 22-Dec-2016  cherry switch all ports to use uvm_init.c:uvm_md_init()

uvm_setpagesize() is now subsumed within this funciton.
 1.129 30-Jun-2015  matt branches: 1.129.2;
Use cpu_startup_common()
 1.128 24-Mar-2014  christos branches: 1.128.6;
use cpu_{g,s}etmodel
 1.127 16-Dec-2013  mrg - remove unused variables
- use (void) when we don't care about the return value
- move variables inside their usage #if
 1.126 28-Jul-2012  matt branches: 1.126.2; 1.126.4;
Fix -fno-common fallout.
 1.125 28-Jul-2012  matt Remove declartions of physmem
 1.124 01-Jul-2011  dyoung branches: 1.124.2;
#include <sys/bus.h> instead of <machine/bus.h>.
 1.123 20-Feb-2011  matt Merge forward from matt-nb5-mips64.
Adapt to new interrupt/spl framework.
Add LP64 support.
 1.122 08-Feb-2011  rmind Remove clause 3 (UCB advertising clause) from the University of Utah
copyright. Confirmed by Mike Hibler, mike at cs.utah.edu - thanks!
Also, merge UCB and Utah copyright texts back into one, as they
originally were.

Extra verification by snj@.
 1.121 02-Mar-2010  pooka branches: 1.121.2; 1.121.4; 1.121.6;
Remove fs_mfs.h from users because it is now unnecessary and don't
generate fs_mfs.h anymore.
 1.120 08-Feb-2010  joerg Remove separate mb_map. The nmbclusters is computed at boot time based
on the amount of physical memory and limited by NMBCLUSTERS if present.
Architectures without direct mapping also limit it based on the kmem_map
size, which is used as backing store. On i386 and ARM, the maximum KVA
used for mbuf clusters is limited to 64MB by default.

The old default limits and limits based on GATEWAY have been removed.
key_registered_sb_max is hard-wired to a value derived from 2048
clusters.
 1.119 16-Dec-2009  matt branches: 1.119.2;
Fix various build with the 32bit mips ports after the mips64 merge.
 1.118 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.117 26-Nov-2009  matt Kill proc0paddr. Use lwp0.l_addr instead.
 1.116 13-Feb-2009  apb Use "defopt MODULAR" in sys/conf/files, and #include "opt_modular.h"
in all kernel sources that use the MODULAR option.
Proposed in tech-kern on 18 Jan 2009.
 1.115 30-Nov-2008  martin branches: 1.115.4;
As discussed on tech-kern: mutex_init is too heavyweight for early bootstrap
phases, so move the initialization of the ksyms mutex back into main via
a function called ksyms_init. Rename the existing (but quite different)
ksyms_init* variations into ksyms_addsyms_elf() and ksyms_addsyms_explicit()
and adapt machdep code accordingly.
 1.114 12-Nov-2008  ad Remove LKMs and switch to the module framework, pass 1.

Proposed on tech-kern@.
 1.113 11-Nov-2008  dyoung 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.112 02-Jul-2008  ad branches: 1.112.2; 1.112.4; 1.112.10;
Replce exec_map with a pool. Proposed on tech-kern@, reviewed by chs@.
 1.111 26-May-2008  tsutsui branches: 1.111.2;
Remove all initialization of obsolete ci_divisor_recip in
mips struct cpu_info and related macroes.
The member was prepared for a hack in MD microtime(9) implementation
but it has been superseded by MI timecounter(9).
 1.110 09-Jan-2008  wiz branches: 1.110.6; 1.110.8; 1.110.10; 1.110.12;
Fix typo in macro name and comments.
 1.109 03-Dec-2007  ad branches: 1.109.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.108 17-Oct-2007  garbled branches: 1.108.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.107 08-Aug-2007  tsutsui branches: 1.107.2;
Defer arc_init_wired_map() call after MD ipl_sr_bits[] is initilized
in platform dependent init functions.

arc_init_wired_map() refers ipl_sr_bits[] via
extent_create(9) -> mutex_init(9) -> makeiplcookie(9)
since the partial merge of vmlocking.
 1.106 17-May-2007  yamt branches: 1.106.4; 1.106.8;
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.105 08-Mar-2007  matt branches: 1.105.2; 1.105.4; 1.105.10;
More caddr_t -> void * fallout.
 1.104 05-Mar-2007  dogcow semimechanically convert 'void foo' -> 'void *foo', as part of the continuing
caddr_t fallout.
 1.103 04-Mar-2007  christos Kill caddr_t; there will be some MI fallout, but it will be fixed shortly.
 1.102 22-Feb-2007  thorpej TRUE -> true, FALSE -> false
 1.101 15-Feb-2007  ad branches: 1.101.2;
Count the number of CPUs at boot and stash in 'ncpu'. Eventually should
have each CPU register at attach, so we can figure out the topology for
the scheduler.
 1.100 09-Feb-2007  ad Merge newlock2 to head.
 1.99 21-Dec-2006  yamt merge yamt-splraiseipl branch.

- finish implementing splraiseipl (and makeiplcookie).
http://mail-index.NetBSD.org/tech-kern/2006/07/01/0000.html
- complete workqueue(9) and fix its ipl problem, which is reported
to cause audio skipping.
- fix netbt (at least compilation problems) for some ports.
- fix PR/33218.
 1.98 09-Sep-2006  gdamore branches: 1.98.2;
Convert arc to timecounters, using common mips3 timecounters. We have not
converted the platform to use the MIPS3 cp0 for the hardclock interrupt yet,
but that should be done as well. In the meantime, there are no functional
changes.
 1.97 22-Jul-2006  tsutsui branches: 1.97.4;
- reorganize bootinfo structures and fix bootinfo handling in bootloader
(mostly based on pmax)
- pass symbol info from bootloader to kernel via bootinfo
(currently bootinfo is allocated in the bootloader and
copied by kernel later; maybe we should rethink about this)
- use passed bootinfo to initialize ksyms(4) in kernel
- remove options SYMTAB_SPACE from kernel config files
- bump bootloader version
 1.96 25-Jun-2006  tsutsui - make a local variable static
- remove struct user dumppcb, which is declared in mips_machdep.c
 1.95 09-Apr-2006  tsutsui branches: 1.95.4;
Remove declarations for cpu_model[] since it's in <sys/systm.h>.
 1.94 24-Dec-2005  perry branches: 1.94.4; 1.94.6; 1.94.8; 1.94.10; 1.94.12;
__asm__ -> __asm
__const__ -> const
__inline__ -> inline
__volatile__ -> volatile
 1.93 06-Dec-2005  tsutsui Call arc_bus_space_malloc_set_safe() explicitly after VM initialization
is complete.
 1.92 05-Nov-2005  tsutsui Adapt arc port to the new MI mips3 wired map functions.
Tested on NEC-RD94 with several PCI and jazzio devices.
 1.91 30-Oct-2005  tsutsui Use mips3_cp0_count_read() for precise microtime(9).

XXX microtime(9) function should be moved from machdep.c to timer.c?
 1.90 30-Oct-2005  tsutsui Set up ci_cpu_freq, ci_cycles_per_hz and ci_divisor_delay in curcpu()
from platform->clock.
 1.89 29-Sep-2005  tsutsui branches: 1.89.2;
- Remove duplicated #include.
- kseg2iobufsize should be vsize_t, not vaddr_t.
 1.88 09-Jun-2005  he branches: 1.88.2;
Appease -Wcast-qual by adding consts in appropriate places.
 1.87 03-Jun-2005  tsutsui Add const.
 1.86 25-Apr-2005  lukem 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.85 22-Jan-2005  tsutsui bzero -> memset
 1.84 22-Jan-2005  tsutsui - remove __P()
- use ANSI function decls
- u_intNN_t -> uintNN_t
- some KNF
 1.83 13-Feb-2004  wiz branches: 1.83.8;
Uppercase CPU, plural is CPUs.
 1.82 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.81 26-Sep-2003  simonb Cast through (void *) to appease gcc3.
XXX1 - why does this "type-punned pointer" warning only affect little-
endian MIPS and not big-endian MIPS?!
XXX2 - too much duplicated code.
 1.80 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.79 15-Jul-2003  lukem __KERNEL_RCSID()
 1.78 25-May-2003  tsutsui branches: 1.78.2;
Add generic software interrupt support with mips/softintr.c.
 1.77 27-Apr-2003  tsutsui Remove register declarations.
 1.76 26-Apr-2003  ragge Call ksyms_init() instead of ddb_init() in case of
NKSYMS || defined(DDB) || defined(LKM)
 1.75 01-Apr-2003  thorpej Use PAGE_SIZE rather than NBPG.
 1.74 19-Jan-2003  tsutsui TAB/space cleanup.
 1.73 17-Jan-2003  thorpej Merge the nathanw_sa branch.
 1.72 07-Dec-2002  tsutsui Call ddb_init() unconditionally if SYMTAB_SPACE is defined.
 1.71 30-Nov-2002  tsutsui Remove extern from mach_init() prototype declaration.
 1.70 25-Sep-2002  thorpej Don't include <sys/map.h>.
 1.69 30-Aug-2002  tsutsui Adapt arc to recent cpu_sysctl() changes on mips ports:

> 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.68 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.67 17-Mar-2002  tsutsui branches: 1.67.4;
Use #ifdef MEMORY_DISK_IS_ROOT rather than MEMORY_DISK_HOOKS
to disable RB_ASKNAME.
 1.66 17-Mar-2002  tsutsui Include opt_md.h for MEMORY_DISK_HOOKS.
 1.65 05-Mar-2002  simonb Provide a L2 cache configuration function.
 1.64 14-Nov-2001  thorpej branches: 1.64.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.63 10-Sep-2001  chris branches: 1.63.2;
Update pmap_update to now take the updated pmap as an argument.
This will allow improvements to the pmaps so that they can more easily defer expensive operations, eg tlb/cache flush, til the last possible moment.

Currently this is a no-op on most platforms, so they should see no difference.

Reviewed by Jason.
 1.62 13-Jun-2001  soda branches: 1.62.2; 1.62.4;
introduce "struct platform", and remove "cputype" variable.
 1.61 02-Jun-2001  chs replace vm_map{,_entry}_t with struct vm_map{,_entry} *.
 1.60 17-May-2001  tsutsui Call doshutdownhooks() in cpu_reboot().

It was not called when I committed the osiop, and I didn't notice
osiop caused problem when I fixed cpu_reboot()...
 1.59 11-May-2001  tsutsui - Declare pccnattach() in <machine/pccons.h>
- Make cpu_reboot() reset machines properly without pccons
 1.58 11-May-2001  tsutsui Clean up redundant declarations.
 1.57 24-Apr-2001  thorpej Do the first allocsys() pass (the pass that computes sizes) before
calling pmap_bootstrap(); pmap_bootstrap() needs some of the size
information computed by allocsys().
 1.56 24-Apr-2001  thorpej Sprinkle pmap_update() calls after calls to:
- pmap_enter()
- pmap_remove()
- pmap_protect()
- pmap_kenter_pa()
- pmap_kremove()
as described in pmap(9).

These calls are relatively conservative. It may be possible to
optimize these a little more.
 1.55 23-Apr-2001  thorpej Call pmap_bootstrap() before calling uvm_pageboot_alloc(), so that
the kernel virtual address space bounds will be set up.
 1.54 22-Apr-2001  thorpej Use uvm_pageboot_alloc() for early memory allocation, rather than
calling pmap_steal_memory() directly. On these platforms, since
uvm_pageboot_alloc() is a wrapper around pmap_steal_memory(), there
is no functional change. This is merely for API consistency.
 1.53 12-Apr-2001  thorpej splvec.splimp -> splvec.splvm
 1.52 30-Mar-2001  tsutsui Make this compile without com.
 1.51 30-Mar-2001  ur Don't reference nonexistent register on R96. (and maybe R94 too)
 1.50 15-Mar-2001  chs eliminate the KERN_* error codes in favor of the traditional E* codes.
the mapping is:

KERN_SUCCESS 0
KERN_INVALID_ADDRESS EFAULT
KERN_PROTECTION_FAILURE EACCES
KERN_NO_SPACE ENOMEM
KERN_INVALID_ARGUMENT EINVAL
KERN_FAILURE various, mostly turn into KASSERTs
KERN_RESOURCE_SHORTAGE ENOMEM
KERN_NOT_RECEIVER <unused>
KERN_NO_ACCESS <unused>
KERN_PAGES_LOCKED <unused>
 1.49 17-Feb-2001  tsutsui branches: 1.49.2;
Add new arctype for NEC Express5800/230A.

XXX: we should have "sysconf" structures like pmax.
 1.48 05-Feb-2001  tsutsui Remove db_machine_init(), which was removed from mips/db_interface.c.
 1.47 24-Dec-2000  ur Switch pica to jazzio.
Split shared MD portion between algor and jazzio.
 1.46 27-Nov-2000  soren Consistently use pmap_steal_memory() to allocate USPACE.
 1.45 24-Sep-2000  jdolecek branches: 1.45.2;
add new macro BOOT_FLAG() (defined in <sys/boot_flag.h>) - this
maps standard boot flags to corresponding RB_* values
use BOOT_FLAG() in port's MD code as appropriate

as discussed on tech-kern, add new boot flags -v, -q for booting
verbosely or quietly, and corresponding AB_VERBOSE/AB_QUIET
boot flags; also add FreeBSD-compatible bootverbose macro and
NetBSD-specific bootquiet macro

for hpcmips, use new bootverbose instead of it's own hpcmips_verbose

Tested on i386, and to limited extend (compile of affected files) also for
mvme68k, hp300, luna68k, sun3.
 1.44 13-Sep-2000  thorpej Add an align argument to uvm_map() and some callers of that
routine. Works similarly fto pmap_prefer(), but allows callers
to specify a minimum power-of-two alignment of the region.
How we ever got along without this for so long is beyond me.
 1.43 08-Aug-2000  soda disable page zero in the idle loop on untested machines and pica for now.
this kluge fixes a problem that commands dump core on NEC Image RISCstation
which seems to be OEM of pica.
 1.42 29-Jul-2000  jdolecek g/c RB_DFLTROOT

I've tried hard to find also various usage() messages and remove the
appropriate flag from there as well, hopefully all occurences are covered.
 1.41 29-Jun-2000  mrg remove include of <vm/vm.h>. <vm/vm.h> -> <uvm/uvm_extern.h>
 1.40 26-Jun-2000  mrg remove/move more mach vm header files:

<vm/pglist.h> -> <uvm/uvm_pglist.h>
<vm/vm_inherit.h> -> <uvm/uvm_inherit.h>
<vm/vm_kern.h> -> into <uvm/uvm_extern.h>
<vm/vm_object.h> -> nothing
<vm/vm_pager.h> -> into <uvm/uvm_pager.h>

also includes a bunch of <vm/vm_page.h> include removals (due to redudancy
with <vm/vm.h>), and a scattering of other similar headers.
 1.39 17-Jun-2000  soda branches: 1.39.2;
- vga/pckbc attachment for jazz internal bus of Magnum derived machines
(including Pica, NEC RISCstation/RISCserver).
- TGA console initialization for NEC RISCstation 2250,
contributed by Shuichiro URATA <ur@a-r.org>
 1.38 09-Jun-2000  soda Decrease MIPS3_TLB_WIRED_ENTRIES from 8 to 2,
and rename it to MIPS3_TLB_WIRED_UPAGES.
The value of wired register becomes variable on arc port,
and arc is the only mips3 port which uses the wired TLB entries 2..7.
 1.37 09-Jun-2000  soda - NEC RISCstation 2250 (RD-94) PCI bus support,
contributed by Shuichiro URATA <ur@a-r.org>.
- Experimental coding for NEC RISCserver 2200 and RISCstation 2200.
(doesn't really work)
 1.36 26-May-2000  thorpej branches: 1.36.2;
First sweep at scheduler state cleanup. Collect MI scheduler
state into global and per-CPU scheduler state:

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

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

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

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

Tested on i386 and Alpha. Changes are mostly mechanical, but apologies
in advance if it doesn't compile on a particular platform.
 1.35 29-Apr-2000  soren exec_ecoff.h is not used here.
 1.34 15-Apr-2000  soda remove following symbols which became unnecessary in recent cpu_intr() change:
mips_hardware_intr
MIPS3_INTERNAL_TIMER_INTERRUPT
mips3_intr_cycle_count
mips3_timer_delta
 1.33 03-Apr-2000  soda splsoftnet() should block softclock() too.
 1.32 25-Mar-2000  nisimura Make sure proc0 PCB has spl0 condition in CP0 status register field.

cpu_fork() mistakenly created processes forked by proc0, including
kthreads, in splhigh condition, because [1] proc0's PCB was zero
cleared during initialization, and [2] value 0 in status register
field made processes to have splhigh condition when CPU tick was
assigned for them. This mostly doesn't matter as forked processes
dive immediately into user mode through proc_trampoline code path,
however, kthreads never do that and remain in splhigh.

Reported by Ethan Solomita <ethan@geocast.com>.
 1.31 03-Mar-2000  soda NEC RISCstation 2250 (NEC-RD94) support.
contributed by Shuichiro URATA <ur@a-r.org>.
 1.30 03-Mar-2000  nisimura Make clearer a bit how proc0's USPACE is intialized.
 1.29 22-Feb-2000  soda merge changes between OpenBSD-2.1 and OpenBSD-2.6
 1.28 23-Jan-2000  soda merge to NetBSD-current (DeskStation and Algor support is currently broken)
 1.27 23-Jan-2000  soda Moved from /cvsroot/syssrc/sys/arch/pica/pica/machdep.c,v
 1.26 19-Jan-2000  thorpej Move callout initialization to a single location; no need to duplicate
that code all over the place.
 1.25 19-Jan-2000  msaitoh check whether tv_usec >= 1000000
 1.24 04-Dec-1999  ragge CL* discarding.
 1.23 20-May-1999  lukem branches: 1.23.8;
* convert to using MI allocsys(). most ports were using an MD allocsys(),
although a couple still used the old pre-4.4-lite (?) mechanism.
* use format_bytes() to format the various printf()s that print out memory sizes
 1.22 01-Apr-1999  thorpej branches: 1.22.4;
Don't call configure() from cpu_startup().
 1.21 09-Jan-1999  thorpej Garbage-collect `mbutl'.
 1.20 25-Feb-1998  thorpej Use allocsys(), mips_init_msgbuf(), and mips_init_proc0(), plus small
changes for MACHINE_NEW_NONCONTIG.
 1.19 23-Feb-1998  thorpej Set the VM page size after clearing the BSS segment.
 1.18 19-Feb-1998  thorpej Use the generic NetBSD/mips crash dump code.
 1.17 19-Feb-1998  thorpej Include the MFS option header.
 1.16 24-Jan-1998  mycroft When dumping, print out the device number as major,minor.
 1.15 19-Sep-1997  leo Implement the kernel part of pr-1891. This allows for a more flexible sized
msgbuf. Note that old 'dmesg' and 'syslogd' binaries will continue running,
though old 'dmesg' binaries will output a few bytes of junk at the start of
the buffer, and will miss a few bytes at the end of the buffer.
 1.14 01-Jul-1997  jonathan branches: 1.14.2;
Move generic mips functions setregs(), sendsig(), sys_signal()
to sys/arch/mips/mips/mips_machdep.c. Delete from pica, pmax machdep.c.

Delint pica machdep.c.
 1.13 23-Jun-1997  jonathan Apply sys/arch/mips changes (MACH_ -> MIPS_ or MIPS3_) changes to Pica port.
PICA Kernel compiles with warnings and links, otherwise untested.
 1.12 12-Jun-1997  mrg bring mrg-vm-swap2 onto mainilne.
 1.11 08-Jun-1997  veego Initialize machine from MACHINE.
 1.10 27-Mar-1997  thorpej branches: 1.10.2;
Don't allocate mclrefcnt[]; it's dead and gone.
 1.9 26-Mar-1997  gwr Renames: /dumpconf/cpu_dumpconf/, /boot/cpu_reboot/
 1.8 04-Feb-1997  perry branches: 1.8.2;
Nuke some options GENERIC residue.
 1.7 13-Oct-1996  christos backout previous kprintf change
 1.6 10-Oct-1996  christos printf -> kprintf, sprintf -> ksprintf
 1.5 09-Aug-1996  mrg Change reboot(2) to take two arguments: bootopt like normal and also
a boot string for firmware that can do this, such as the SPARC and
the sun3 models. It is currently silently ignored on all other
hardware now, however. The MD function "boot()" has been changed to
also take a char *.
 1.4 16-Jul-1996  thorpej RCS id police.
 1.3 31-Mar-1996  jonathan merge mips and pica locore.S, pass 0:
* cut-and-paste all the code for both r2000 (MIPS-I) and r4000 (MIPS-III)
into both the pica and pmax locore.S.

* Change the names of the small segments of vector code that are
bcopied to the machine vector locations, to avoid clashing.
Get rid of the Sprite MachXXX names for the vector code, and
use use mips_r2000_xxx and mips_r4000_xxx instead.

Update the names used in the vector-copying code and trap handlers
to match.

* Most of the rest of the pica locore.S was copied from the pmax
locore.S, and then edited to work on an r4000. The names of
functions and of manifest constants stayed the same, although
both assmbler code and constant values changed.
cut-and-paste such code into contiguous blocks protected by
#if / #endif. Much of the cache and trap-handling code
needs r3000-only register fields, on the r3000, and r4000-only
insns and registers on the r4000.

* change the pmax r2000 exception-handling code to extract a trap
code with the user/kernel bit at 0x20 rather than 0x10.
(r2000s have 4-bit execption codes, r4000s have 5-bit.)
Use the a 16 from-user-space + 16-from-kernel space jump table,
just like on the r4000 pica port.

* add NOPs to the common code where required by the r4000 pipeline
constraints.
* add _C_LABEL() macros to the r4000 locore.

Comitted to provide a snapshot for others to test, and work on a cleaner merge.
 1.2 28-Mar-1996  jonathan Update Pica machdep.c and locore.S to work with new, "merged" machdep.h:

* Add a MIPS-I (r3000) exception handler to the Pica locore.S.
Change the names of the masks used to extract the exception code
to the new MIPS_xxx names.
* Rename the vector code from MachException() to
mips_r4000_exception, in both locore and in the init_main()
code that copies it from locore to the exception vector locations.

* Change the locore and C code to use the new MIPS_SR_INT_IE
name for the Status register master interrupt-enable bit.

Similar changes to the pmax equivalents are in progress.
 1.1 13-Mar-1996  jonathan branches: 1.1.1;
Initial revision
 1.1.1.3 22-Feb-2000  soda OpenBSD-2.6/arc
 1.1.1.2 23-Jan-2000  soda OpenBSD-2.1/arc
 1.1.1.1 13-Mar-1996  jonathan First commit of Per Fogelstrom's port to the Acer pica r4400/isa machine.
 1.8.2.1 12-Feb-1997  mrg don't allocate swap map in allocsys.
 1.10.2.1 04-May-1997  mrg re-merge mrg-vm-swap into -current, and call it mrg-vm-swap2.
 1.14.2.1 22-Sep-1997  thorpej Update marc-pcmcia branch from trunk.
 1.22.4.1 21-Jun-1999  thorpej Sync w/ -current.
 1.23.8.1 27-Dec-1999  wrstuden Pull up to last week's -current.
 1.36.2.1 22-Jun-2000  minoura Sync w/ netbsd-1-5-base.
 1.39.2.3 22-Sep-2000  oster Add a:

#include <uvm/uvm_page.h>

to let this build again. Fixed differently in -current (where the above
is included in <uvm/uvm_extern.h>). Approved by thorpej.
 1.39.2.2 13-Aug-2000  jdolecek pullup from trunk (approved by thorpej):
retire RB_DFLTROOT, it's no longer used

revisions pulled up:
arch/i386/stand/lib/netbsd_opts.c 1.3
arch/i386/stand/biosboot/main.c 1.23
arch/i386/stand/dosboot/main.c 1.15
arch/i386/stand/netboot/main.c 1.6
arch/arc/arc/machdep.c 1.42
arch/bebox/stand/boot/boot.c 1.11
arch/hpcmips/hpcmips/machdep.c 1.32
arch/newsmips/newsmips/machdep.c 1.45
arch/pc532/stand/boot/boot.c 1.2
arch/pmax/pmax/machdep.c 1.178
arch/prep/stand/boot/boot.c 1.2
arch/sparc/sparc/autoconf.c 1.141
arch/sparc64/sparc64/autoconf.c 1.38
arch/x68k/stand/loadbsd/loadbsd.c 1.5
arch/mvme68k/stand/libsa/parse_args.c 1.6
compat/osf1/osf1_cvt.c 1.9
sys/reboot.h 1.17
 1.39.2.1 10-Aug-2000  soda Pull up to netbsd-1-5 branch
Approved by: thorpej

disable page zero in the idle loop on untested machines and pica.
this kluge fixes a problem that commands dump core on NEC Image RISCstation
which seems to be OEM of pica.

Revisions pulled up:
> cvs rdiff -r1.42 -r1.43 syssrc/sys/arch/arc/arc/machdep.c
> cvs rdiff -r1.13 -r1.14 syssrc/sys/arch/arc/TODO
 1.45.2.9 23-Apr-2001  bouyer Sync with HEAD.
 1.45.2.8 21-Apr-2001  bouyer Sync with HEAD
 1.45.2.7 27-Mar-2001  bouyer Sync with HEAD.
 1.45.2.6 12-Mar-2001  bouyer Sync with HEAD.
 1.45.2.5 11-Feb-2001  bouyer Sync with HEAD.
 1.45.2.4 05-Jan-2001  bouyer Sync with HEAD
 1.45.2.3 08-Dec-2000  bouyer Sync with HEAD.
 1.45.2.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.45.2.1 24-Sep-2000  bouyer file machdep.c was added on branch thorpej_scsipi on 2000-11-20 20:00:21 +0000
 1.49.2.2 21-Jun-2001  nathanw Catch up to -current.
 1.49.2.1 09-Apr-2001  nathanw Catch up with -current.
 1.62.4.1 01-Oct-2001  fvdl Catch up with -current.
 1.62.2.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.62.2.5 06-Sep-2002  jdolecek sync kqueue branch with HEAD
 1.62.2.4 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.62.2.3 16-Mar-2002  jdolecek Catch up with -current.
 1.62.2.2 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.62.2.1 13-Sep-2001  thorpej Update the kqueue branch to HEAD.
 1.63.2.1 12-Nov-2001  shin compilation fix.
s/mips_L2CacheSize/mips_sdcache_size/
 1.64.2.9 11-Dec-2002  thorpej Sync with HEAD.
 1.64.2.8 18-Oct-2002  nathanw Catch up to -current.
 1.64.2.7 05-Oct-2002  gmcgarry LWPify
 1.64.2.6 17-Sep-2002  nathanw Catch up to -current.
 1.64.2.5 27-Aug-2002  nathanw Catch up to -current.
 1.64.2.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.64.2.3 29-May-2002  nathanw #include <sys/sa.h> before <sys/syscallargs.h>, to provide sa_upcall_t
now that <sys/param.h> doesn't include <sys/sa.h>.

(Behold the Power of Ed)
 1.64.2.2 01-Apr-2002  nathanw Catch up to -current.
(CVS: It's not just a program. It's an adventure!)
 1.64.2.1 14-Nov-2001  nathanw file machdep.c was added on branch nathanw_sa on 2002-04-01 07:39:02 +0000
 1.67.4.2 31-Aug-2002  gehenna catch up with -current.
 1.67.4.1 30-Aug-2002  gehenna catch up with -current.
 1.78.2.6 11-Dec-2005  christos Sync with head.
 1.78.2.5 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.78.2.4 24-Jan-2005  skrll Sync with HEAD.
 1.78.2.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.78.2.2 18-Sep-2004  skrll Sync with HEAD.
 1.78.2.1 03-Aug-2004  skrll Sync with HEAD
 1.83.8.1 29-Apr-2005  kent sync with -current
 1.88.2.6 21-Jan-2008  yamt sync with head
 1.88.2.5 07-Dec-2007  yamt sync with head
 1.88.2.4 03-Sep-2007  yamt sync with head.
 1.88.2.3 26-Feb-2007  yamt sync with head.
 1.88.2.2 30-Dec-2006  yamt sync with head.
 1.88.2.1 21-Jun-2006  yamt sync with head.
 1.89.2.1 02-Nov-2005  yamt sync with head.
 1.94.12.1 24-May-2006  tron Merge 2006-05-24 NetBSD-current into the "peter-altq" branch.
 1.94.10.1 19-Apr-2006  elad sync with head - hopefully this will work
 1.94.8.4 14-Sep-2006  yamt sync with head.
 1.94.8.3 11-Aug-2006  yamt sync with head
 1.94.8.2 26-Jun-2006  yamt sync with head.
 1.94.8.1 11-Apr-2006  yamt sync with head
 1.94.6.1 22-Apr-2006  simonb Sync with head.
 1.94.4.1 09-Sep-2006  rpaulo sync with head
 1.95.4.1 13-Jul-2006  gdamore Merge from HEAD.
 1.97.4.3 30-Jan-2007  ad Remove support for SA. Ok core@.
 1.97.4.2 12-Jan-2007  ad Sync with head.
 1.97.4.1 18-Nov-2006  ad Sync with head.
 1.98.2.1 22-Sep-2006  yamt fix softintr for following ports. (hopefully)
hpcmips
evbmips
algor
arc
ews4800mips
newsmips
 1.101.2.3 18-Apr-2007  ad - Further adaptations to MIPS for the yamt-idlelwp branch.
- Make curlwp a register variable on MIPS.
 1.101.2.2 12-Mar-2007  rmind Sync with HEAD.
 1.101.2.1 27-Feb-2007  yamt - sync with head.
- move sched_changepri back to kern_synch.c as it doesn't know PPQ anymore.
 1.105.10.2 03-Oct-2007  garbled Sync with HEAD
 1.105.10.1 22-May-2007  matt Update to HEAD.
 1.105.4.1 11-Jul-2007  mjf Sync with head.
 1.105.2.3 03-Dec-2007  ad Sync with HEAD.
 1.105.2.2 20-Aug-2007  ad Sync with HEAD.
 1.105.2.1 27-May-2007  ad Sync with head.
 1.106.8.2 09-Dec-2007  jmcneill Sync with HEAD.
 1.106.8.1 09-Aug-2007  jmcneill Sync with HEAD.
 1.106.4.1 15-Aug-2007  skrll Sync with HEAD.
 1.107.2.3 23-Mar-2008  matt sync with HEAD
 1.107.2.2 09-Jan-2008  matt sync with HEAD
 1.107.2.1 06-Nov-2007  matt sync with HEAD
 1.108.2.2 18-Feb-2008  mjf Sync with HEAD.
 1.108.2.1 08-Dec-2007  mjf Sync with HEAD.
 1.109.6.1 10-Jan-2008  bouyer Sync with HEAD
 1.110.12.4 18-Sep-2008  wrstuden Sync with wrstuden-revivesa-base-2.
 1.110.12.3 23-Jun-2008  wrstuden Sync w/ -current. 34 merge conflicts to follow.
 1.110.12.2 14-May-2008  wrstuden Per discussion with ad, remove most of the #include <sys/sa.h> lines
as they were including sa.h just for the type(s) needed for syscallargs.h.

Instead, create a new file, sys/satypes.h, which contains just the
types needed for syscallargs.h. Yes, there's only one now, but that
may change and it's probably more likely to change if it'd be difficult
to handle. :-)

Per discussion with matt at n dot o, add an include of satypes.h to
sigtypes.h. Upcall handlers are kinda signal handlers, and signalling
is the header file that's already included for syscallargs.h that
closest matches SA.

This shaves about 3000 lines off of the diff of the branch relative
to the base. That also represents about 18% of the total before this
checkin.

I think this reduction is very good thing.
 1.110.12.1 10-May-2008  wrstuden Initial checkin of re-adding SA. Everything except kern_sa.c
compiles in GENERIC for i386. This is still a work-in-progress, but
this checkin covers most of the mechanical work (changing signalling
to be able to accomidate SA's process-wide signalling and re-adding
includes of sys/sa.h and savar.h). Subsequent changes will be much
more interesting.

Also, kern_sa.c has received partial cleanup. There's still more
to do, though.
 1.110.10.2 11-Mar-2010  yamt sync with head
 1.110.10.1 04-May-2009  yamt sync with head.
 1.110.8.1 04-Jun-2008  yamt sync with head
 1.110.6.3 17-Jan-2009  mjf Sync with HEAD.
 1.110.6.2 02-Jul-2008  mjf Sync with HEAD.
 1.110.6.1 02-Jun-2008  mjf Sync with HEAD.
 1.111.2.1 03-Jul-2008  simonb Sync with head.
 1.112.10.5 14-Feb-2012  matt mem_cluster_cnt on mips is now a u_int.
 1.112.10.4 21-Mar-2010  cliff mips_vector_init now takes an argument to specify splsw.
NULL specifies use the default 'std_splsw'
 1.112.10.3 01-Feb-2010  matt fix fallout from frame/trapframe merger.
 1.112.10.2 20-Jan-2010  matt Adjust things to the new world order.
 1.112.10.1 07-Sep-2009  matt Deal with pcb_context being a label_t
 1.112.4.2 03-Mar-2009  skrll Sync with HEAD.
 1.112.4.1 19-Jan-2009  skrll Sync with HEAD.
 1.112.2.1 13-Dec-2008  haad Update haad-dm branch to haad-dm-base2.
 1.115.4.1 13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.119.2.1 30-Apr-2010  uebayasi Sync with HEAD.
 1.121.6.2 05-Mar-2011  bouyer Sync with HEAD
 1.121.6.1 17-Feb-2011  bouyer Sync with HEAD
 1.121.4.1 06-Jun-2011  jruoho Sync with HEAD.
 1.121.2.1 05-Mar-2011  rmind sync with head
 1.124.2.2 22-May-2014  yamt sync with head.

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

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.124.2.1 30-Oct-2012  yamt sync with head
 1.126.4.1 18-May-2014  rmind sync with head
 1.126.2.2 03-Dec-2017  jdolecek update from HEAD
 1.126.2.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.128.6.2 05-Feb-2017  skrll Sync with HEAD
 1.128.6.1 22-Sep-2015  skrll Sync with HEAD
 1.129.2.1 07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.25 07-Aug-2021  thorpej Merge thorpej-cfargs2.
 1.24 24-Apr-2021  thorpej branches: 1.24.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.23 06-Mar-2011  tsutsui branches: 1.23.70;
Remove trailing spaces.
 1.22 05-Jul-2008  tsutsui branches: 1.22.18; 1.22.24;
Split device_t/softc with misc related changes.
 1.21 25-Jun-2006  tsutsui branches: 1.21.58; 1.21.62; 1.21.64; 1.21.66;
Remove unused struct abus stuff.
 1.20 11-Dec-2005  christos branches: 1.20.4; 1.20.8; 1.20.16;
merge ktrace-lwp.
 1.19 22-Jan-2005  tsutsui branches: 1.19.8;
- remove __P()
- use ANSI function decls
- u_intNN_t -> uintNN_t
- some KNF
 1.18 15-Jul-2003  lukem branches: 1.18.8;
__KERNEL_RCSID()
 1.17 02-Oct-2002  thorpej branches: 1.17.6;
Use CFATTACH_DECL().
 1.16 27-Sep-2002  thorpej Declare all cfattach structures const.
 1.15 13-Jun-2001  soda branches: 1.15.2; 1.15.8;
introduce "struct platform", and remove "cputype" variable.

this change also includes a patch to obtain secondary cache size
from ARC firmware by Bob Meader, which was posted on port-arc on 18 Aug 2000.
this should make NEC Express RISCserver work.

this change obtains ID of display controller from ARC firmware, too.
 1.14 17-Feb-2001  tsutsui branches: 1.14.2;
Add new arctype for NEC Express5800/230A.

XXX: we should have "sysconf" structures like pmax.
 1.13 24-Dec-2000  ur Switch pica to jazzio.
Split shared MD portion between algor and jazzio.
 1.12 09-Jun-2000  soda branches: 1.12.4;
- NEC RISCstation 2250 (RD-94) PCI bus support,
contributed by Shuichiro URATA <ur@a-r.org>.
- Experimental coding for NEC RISCserver 2200 and RISCstation 2200.
(doesn't really work)
 1.11 04-Mar-2000  nisimura branches: 1.11.2;
Have a local variable to match/attach mainbus insteading using ->cf_unit.
 1.10 03-Mar-2000  soda NEC RISCstation 2250 (NEC-RD94) support.
contributed by Shuichiro URATA <ur@a-r.org>.
 1.9 22-Feb-2000  soda merge changes between OpenBSD-2.1 and OpenBSD-2.6
 1.8 23-Jan-2000  soda merge to NetBSD-current (DeskStation and Algor support is currently broken)
 1.7 23-Jan-2000  soda Moved from /cvsroot/syssrc/sys/arch/pica/pica/mainbus.c,v
 1.6 12-Jan-1998  thorpej Update for changes to config.
 1.5 13-Oct-1996  christos backout previous kprintf change
 1.4 10-Oct-1996  christos printf -> kprintf, sprintf -> ksprintf
 1.3 27-Aug-1996  cgd change cfprint_t type definition to take a const char *, rather than
a char *, because that's what was really intended, and because
if the print function modifies the string, various things could become
unhappy (so the string should _not_ be modified).
 1.2 17-Mar-1996  thorpej New device attachment scheme:

- split softc size and match/attach out from cfdriver into
a new struct cfattach.

- new "attach" directive for files.*. May specify the name of
the cfattach structure, so that devices may be easily attached
to parents with different autoconfiguration semantics.
 1.1 13-Mar-1996  jonathan branches: 1.1.1;
Initial revision
 1.1.1.2 23-Jan-2000  soda OpenBSD-2.1/arc
 1.1.1.1 13-Mar-1996  jonathan First commit of Per Fogelstrom's port to the Acer pica r4400/isa machine.
 1.11.2.1 22-Jun-2000  minoura Sync w/ netbsd-1-5-base.
 1.12.4.4 12-Mar-2001  bouyer Sync with HEAD.
 1.12.4.3 05-Jan-2001  bouyer Sync with HEAD
 1.12.4.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.12.4.1 09-Jun-2000  bouyer file mainbus.c was added on branch thorpej_scsipi on 2000-11-20 20:00:22 +0000
 1.14.2.1 21-Jun-2001  nathanw Catch up to -current.
 1.15.8.2 18-Oct-2002  nathanw Catch up to -current.
 1.15.8.1 13-Jun-2001  nathanw file mainbus.c was added on branch nathanw_sa on 2002-10-18 02:35:09 +0000
 1.15.2.1 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.17.6.4 24-Jan-2005  skrll Sync with HEAD.
 1.17.6.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.17.6.2 18-Sep-2004  skrll Sync with HEAD.
 1.17.6.1 03-Aug-2004  skrll Sync with HEAD
 1.18.8.1 29-Apr-2005  kent sync with -current
 1.19.8.1 30-Dec-2006  yamt sync with head.
 1.20.16.1 13-Jul-2006  gdamore Merge from HEAD.
 1.20.8.1 26-Jun-2006  yamt sync with head.
 1.20.4.1 09-Sep-2006  rpaulo sync with head
 1.21.66.1 18-Jul-2008  simonb Sync with head.
 1.21.64.1 18-Sep-2008  wrstuden Sync with wrstuden-revivesa-base-2.
 1.21.62.1 04-May-2009  yamt sync with head.
 1.21.58.1 28-Sep-2008  mjf Sync with HEAD.
 1.22.24.1 06-Jun-2011  jruoho Sync with HEAD.
 1.22.18.1 21-Apr-2011  rmind sync with head
 1.23.70.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.24.8.1 03-Aug-2021  thorpej Adapt to CFARGS().
 1.2 23-Jan-2000  soda merge to NetBSD-current (DeskStation and Algor support is currently broken)
 1.1 23-Jan-2000  soda branches: 1.1.1;
Initial revision
 1.1.1.1 23-Jan-2000  soda OpenBSD-2.1/arc
 1.21 18-Aug-2011  matt Change bcond/BCOND to regimm/REGIMM to better match the MIPS nomenclature.
 1.20 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.19 14-Mar-2009  dsl ANSIfy another 1261 function definitions.
The only ones left in sys are beyond by sed script!
(or in sys/dist or sys/external)
Mostly they have function pointer parameters.
 1.18 22-Feb-2007  thorpej branches: 1.18.46; 1.18.54; 1.18.60;
TRUE -> true, FALSE -> false
 1.17 11-Dec-2005  christos branches: 1.17.26;
merge ktrace-lwp.
 1.16 22-Jan-2005  tsutsui branches: 1.16.8;
- remove __P()
- use ANSI function decls
- u_intNN_t -> uintNN_t
- some KNF
 1.15 07-Aug-2003  agc branches: 1.15.8;
Move UCB-licensed code from 4-clause to 3-clause licence.

Patches provided by Joel Baker in PR 22364, verified by myself.
 1.14 15-Jul-2003  lukem __KERNEL_RCSID()
 1.13 27-Apr-2003  tsutsui branches: 1.13.2;
Remove register declarations.
 1.12 20-Jan-2003  simonb The Double-Semi-Colon Police.
 1.11 19-Jan-2003  tsutsui TAB/space cleanup.
 1.10 29-Jun-2000  mrg branches: 1.10.2;
remove include of <vm/vm.h>. <vm/vm.h> -> <uvm/uvm_extern.h>
 1.9 09-Jun-2000  soda rename
vad_to_pfn() -> mips_paddr_to_tlbpfn()
pfn_to_vad() -> mips_tlbpfn_to_paddr()
as suggested by thorpej on port-mips Mar 27.
 1.8 22-Feb-2000  soda branches: 1.8.2;
merge changes between OpenBSD-2.1 and OpenBSD-2.6
 1.7 23-Jan-2000  soda merge to NetBSD-current (DeskStation and Algor support is currently broken)
 1.6 23-Jan-2000  soda Moved from /cvsroot/syssrc/sys/arch/pica/pica/minidebug.c,v
 1.5 23-Jun-1997  jonathan Apply sys/arch/mips changes (MACH_ -> MIPS_ or MIPS3_) changes to Pica port.
PICA Kernel compiles with warnings and links, otherwise untested.
 1.4 13-Oct-1996  christos backout previous kprintf change
 1.3 10-Oct-1996  christos printf -> kprintf, sprintf -> ksprintf
 1.2 16-Jul-1996  thorpej RCS id police.
 1.1 13-Mar-1996  jonathan branches: 1.1.1;
Initial revision
 1.1.1.2 23-Jan-2000  soda OpenBSD-2.1/arc
 1.1.1.1 13-Mar-1996  jonathan First commit of Per Fogelstrom's port to the Acer pica r4400/isa machine.
 1.8.2.1 22-Jun-2000  minoura Sync w/ netbsd-1-5-base.
 1.10.2.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.10.2.1 29-Jun-2000  bouyer file minidebug.c was added on branch thorpej_scsipi on 2000-11-20 20:00:22 +0000
 1.13.2.4 24-Jan-2005  skrll Sync with HEAD.
 1.13.2.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.13.2.2 18-Sep-2004  skrll Sync with HEAD.
 1.13.2.1 03-Aug-2004  skrll Sync with HEAD
 1.15.8.1 29-Apr-2005  kent sync with -current
 1.16.8.1 26-Feb-2007  yamt sync with head.
 1.17.26.1 27-Feb-2007  yamt - sync with head.
- move sched_changepri back to kern_synch.c as it doesn't know PPQ anymore.
 1.18.60.1 13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.18.54.1 28-Apr-2009  skrll Sync with HEAD.
 1.18.46.2 11-Mar-2010  yamt sync with head
 1.18.46.1 04-May-2009  yamt sync with head.
 1.13 13-Jun-2020  ad g/c vm_page_zero_enable
 1.12 06-Mar-2011  tsutsui Remove trailing spaces.
 1.11 12-Nov-2010  uebayasi branches: 1.11.2;
Pull in uvm/uvm.h for vm_page_zero_enable.
 1.10 22-Feb-2007  thorpej branches: 1.10.68;
TRUE -> true, FALSE -> false
 1.9 11-Dec-2005  christos branches: 1.9.26;
merge ktrace-lwp.
 1.8 22-Jan-2005  tsutsui branches: 1.8.8;
- remove __P()
- use ANSI function decls
- u_intNN_t -> uintNN_t
- some KNF
 1.7 01-Jan-2005  tsutsui branches: 1.7.2;
Remove (void *) casts added to NULL.
 1.6 15-Jul-2003  lukem __KERNEL_RCSID()
 1.5 22-May-2003  tsutsui branches: 1.5.2;
Uppercase PICA.

"PICA" stands for "Performance-enhanced I/O and CPU Architecture."
 1.4 04-May-2003  tsutsui Rewrite jazzio asc SCSI driver to use MI ncr53c9x and bus_dma(9) with
BUS_DMA_ALLOCNOW flag for jazzio bus DMAC.

Tested on Soda's NEC Image RISCstation (which is an OEM of Acer PICA),
and should fix port-arc/13388.
 1.3 28-Dec-2002  tsutsui Oops, fix typo in the previous.
 1.2 28-Dec-2002  tsutsui Change device names in struct pica_dev to match ones used by ARC BIOS.
All of these parameters should be obtained from ARC BIOS, and we will
switch to the way in future. As per discussion with soda.
 1.1 13-Jun-2001  soda branches: 1.1.2; 1.1.10;
platform description for Acer PICA-61 and its OEM.
tested by myself on NEC Image RISCstation.
 1.1.10.2 29-Dec-2002  thorpej Sync with HEAD.
 1.1.10.1 13-Jun-2001  thorpej file p_acer_pica_61.c was added on branch nathanw_sa on 2002-12-29 19:18:52 +0000
 1.1.2.1 21-Jun-2001  nathanw Catch up to -current.
 1.5.2.5 24-Jan-2005  skrll Sync with HEAD.
 1.5.2.4 17-Jan-2005  skrll Sync with HEAD.
 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.7.2.1 29-Apr-2005  kent sync with -current
 1.8.8.1 26-Feb-2007  yamt sync with head.
 1.9.26.1 27-Feb-2007  yamt - sync with head.
- move sched_changepri back to kern_synch.c as it doesn't know PPQ anymore.
 1.10.68.2 21-Apr-2011  rmind sync with head
 1.10.68.1 05-Mar-2011  rmind sync with head
 1.11.2.1 06-Jun-2011  jruoho Sync with HEAD.
 1.20 18-Nov-2020  thorpej malloc(9) -> kmem(9)
 1.19 13-Jun-2020  ad branches: 1.19.2;
g/c vm_page_zero_enable
 1.18 10-Nov-2019  chs 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.17 01-Jul-2011  dyoung branches: 1.17.54;
#include <sys/bus.h> instead of <machine/bus.h>.
 1.16 20-Feb-2011  matt Merge forward from matt-nb5-mips64.
Adapt to new interrupt/spl framework.
Add LP64 support.
 1.15 08-Feb-2011  rmind Remove clause 3 (UCB advertising clause) from the University of Utah
copyright. Confirmed by Mike Hibler, mike at cs.utah.edu - thanks!
Also, merge UCB and Utah copyright texts back into one, as they
originally were.

Extra verification by snj@.
 1.14 12-Nov-2010  uebayasi branches: 1.14.2; 1.14.4;
Pull in uvm/uvm.h for vm_page_zero_enable.
 1.13 03-Dec-2007  ad branches: 1.13.36; 1.13.40;
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.12 17-Oct-2007  garbled branches: 1.12.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.11 08-Aug-2007  tsutsui branches: 1.11.2;
Defer arc_init_wired_map() call after MD ipl_sr_bits[] is initilized
in platform dependent init functions.

arc_init_wired_map() refers ipl_sr_bits[] via
extent_create(9) -> mutex_init(9) -> makeiplcookie(9)
since the partial merge of vmlocking.
 1.10 26-Jun-2007  tsutsui branches: 1.10.4; 1.10.8;
Use C99 initializers.
 1.9 22-Feb-2007  thorpej branches: 1.9.4; 1.9.6; 1.9.12;
TRUE -> true, FALSE -> false
 1.8 11-Dec-2005  christos branches: 1.8.26;
merge ktrace-lwp.
 1.7 03-Jun-2005  tsutsui branches: 1.7.2;
Add const.
 1.6 22-Jan-2005  tsutsui - remove __P()
- use ANSI function decls
- u_intNN_t -> uintNN_t
- some KNF
 1.5 07-Aug-2003  agc branches: 1.5.8;
Move UCB-licensed code from 4-clause to 3-clause licence.

Patches provided by Joel Baker in PR 22364, verified by myself.
 1.4 15-Jul-2003  lukem __KERNEL_RCSID()
 1.3 14-Jun-2003  tsutsui branches: 1.3.2;
Change DESKstation -> DeskStation, as per spelling on the Tyne board.
 1.2 25-May-2003  tsutsui Add generic software interrupt support with mips/softintr.c.
 1.1 13-Jun-2001  soda branches: 1.1.2; 1.1.10;
latform description for DESKTECH Tyne and rPC44.
not tested.
 1.1.10.2 13-Jun-2001  soda latform description for DESKTECH Tyne and rPC44.
not tested.
 1.1.10.1 13-Jun-2001  soda file p_dti_arcstation.c was added on branch nathanw_sa on 2001-06-13 15:27:18 +0000
 1.1.2.1 21-Jun-2001  nathanw Catch up to -current.
 1.3.2.5 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.3.2.4 24-Jan-2005  skrll Sync with HEAD.
 1.3.2.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.3.2.2 18-Sep-2004  skrll Sync with HEAD.
 1.3.2.1 03-Aug-2004  skrll Sync with HEAD
 1.5.8.1 29-Apr-2005  kent sync with -current
 1.7.2.3 07-Dec-2007  yamt sync with head
 1.7.2.2 03-Sep-2007  yamt sync with head.
 1.7.2.1 26-Feb-2007  yamt sync with head.
 1.8.26.1 27-Feb-2007  yamt - sync with head.
- move sched_changepri back to kern_synch.c as it doesn't know PPQ anymore.
 1.9.12.2 03-Oct-2007  garbled Sync with HEAD
 1.9.12.1 26-Jun-2007  garbled Sync with HEAD.
 1.9.6.1 11-Jul-2007  mjf Sync with head.
 1.9.4.3 03-Dec-2007  ad Sync with HEAD.
 1.9.4.2 20-Aug-2007  ad Sync with HEAD.
 1.9.4.1 15-Jul-2007  ad Sync with head.
 1.10.8.2 09-Dec-2007  jmcneill Sync with HEAD.
 1.10.8.1 09-Aug-2007  jmcneill Sync with HEAD.
 1.10.4.1 15-Aug-2007  skrll Sync with HEAD.
 1.11.2.2 09-Jan-2008  matt sync with HEAD
 1.11.2.1 06-Nov-2007  matt sync with HEAD
 1.12.2.1 08-Dec-2007  mjf Sync with HEAD.
 1.13.40.1 05-Mar-2011  rmind sync with head
 1.13.36.1 29-Dec-2010  matt Adapt to the new interrupt structure.
 1.14.4.2 05-Mar-2011  bouyer Sync with HEAD
 1.14.4.1 17-Feb-2011  bouyer Sync with HEAD
 1.14.2.1 06-Jun-2011  jruoho Sync with HEAD.
 1.17.54.1 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.19.2.1 14-Dec-2020  thorpej Sync w/ HEAD.
 1.20 13-Jun-2020  ad g/c vm_page_zero_enable
 1.19 20-Feb-2011  matt Merge forward from matt-nb5-mips64.
Adapt to new interrupt/spl framework.
Add LP64 support.
 1.18 08-Feb-2011  rmind Remove clause 3 (UCB advertising clause) from the University of Utah
copyright. Confirmed by Mike Hibler, mike at cs.utah.edu - thanks!
Also, merge UCB and Utah copyright texts back into one, as they
originally were.

Extra verification by snj@.
 1.17 12-Nov-2010  uebayasi branches: 1.17.2; 1.17.4;
Pull in uvm/uvm.h for vm_page_zero_enable.
 1.16 03-Dec-2007  ad branches: 1.16.36; 1.16.40;
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.15 17-Oct-2007  garbled branches: 1.15.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.14 08-Aug-2007  tsutsui branches: 1.14.2;
Defer arc_init_wired_map() call after MD ipl_sr_bits[] is initilized
in platform dependent init functions.

arc_init_wired_map() refers ipl_sr_bits[] via
extent_create(9) -> mutex_init(9) -> makeiplcookie(9)
since the partial merge of vmlocking.
 1.13 26-Jun-2007  tsutsui branches: 1.13.4; 1.13.8;
Use C99 initializers.
 1.12 22-Feb-2007  thorpej branches: 1.12.4; 1.12.6; 1.12.12;
TRUE -> true, FALSE -> false
 1.11 20-Nov-2005  tsutsui branches: 1.11.26;
Fix page size values passed to arc_wired_enter_page() for NEC-R96 and Tyne.
Detected by gxemul. (Wow, gxemul is also trying to emulate these machines!)
 1.10 05-Nov-2005  tsutsui branches: 1.10.2;
Adapt arc port to the new MI mips3 wired map functions.
Tested on NEC-RD94 with several PCI and jazzio devices.
 1.9 03-Jun-2005  tsutsui branches: 1.9.2;
Add const.
 1.8 22-Jan-2005  tsutsui - remove __P()
- use ANSI function decls
- u_intNN_t -> uintNN_t
- some KNF
 1.7 15-Jan-2005  skrll branches: 1.7.2;
Make this compile
 1.6 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.5 15-Jul-2003  lukem __KERNEL_RCSID()
 1.4 14-Jun-2003  tsutsui branches: 1.4.2;
Fix CPU clock for Tyne. It has 133MHz R4600.
 1.3 14-Jun-2003  tsutsui Change DESKstation -> DeskStation, as per spelling on the Tyne board.
 1.2 25-May-2003  tsutsui Add generic software interrupt support with mips/softintr.c.
 1.1 13-Jun-2001  soda branches: 1.1.2; 1.1.10;
latform description for DESKTECH Tyne and rPC44.
not tested.
 1.1.10.2 13-Jun-2001  soda latform description for DESKTECH Tyne and rPC44.
not tested.
 1.1.10.1 13-Jun-2001  soda file p_dti_tyne.c was added on branch nathanw_sa on 2001-06-13 15:27:19 +0000
 1.1.2.1 21-Jun-2001  nathanw Catch up to -current.
 1.4.2.7 11-Dec-2005  christos Sync with head.
 1.4.2.6 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.4.2.5 24-Jan-2005  skrll Sync with HEAD.
 1.4.2.4 17-Jan-2005  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.7.2.1 29-Apr-2005  kent sync with -current
 1.9.2.4 07-Dec-2007  yamt sync with head
 1.9.2.3 03-Sep-2007  yamt sync with head.
 1.9.2.2 26-Feb-2007  yamt sync with head.
 1.9.2.1 21-Jun-2006  yamt sync with head.
 1.10.2.1 22-Nov-2005  yamt sync with head.
 1.11.26.1 27-Feb-2007  yamt - sync with head.
- move sched_changepri back to kern_synch.c as it doesn't know PPQ anymore.
 1.12.12.2 03-Oct-2007  garbled Sync with HEAD
 1.12.12.1 26-Jun-2007  garbled Sync with HEAD.
 1.12.6.1 11-Jul-2007  mjf Sync with head.
 1.12.4.3 03-Dec-2007  ad Sync with HEAD.
 1.12.4.2 20-Aug-2007  ad Sync with HEAD.
 1.12.4.1 15-Jul-2007  ad Sync with head.
 1.13.8.2 09-Dec-2007  jmcneill Sync with HEAD.
 1.13.8.1 09-Aug-2007  jmcneill Sync with HEAD.
 1.13.4.1 15-Aug-2007  skrll Sync with HEAD.
 1.14.2.2 09-Jan-2008  matt sync with HEAD
 1.14.2.1 06-Nov-2007  matt sync with HEAD
 1.15.2.1 08-Dec-2007  mjf Sync with HEAD.
 1.16.40.1 05-Mar-2011  rmind sync with head
 1.16.36.1 29-Dec-2010  matt Adapt to the new interrupt structure.
 1.17.4.2 05-Mar-2011  bouyer Sync with HEAD
 1.17.4.1 17-Feb-2011  bouyer Sync with HEAD
 1.17.2.1 06-Jun-2011  jruoho Sync with HEAD.
 1.9 06-Mar-2011  tsutsui Remove trailing spaces.
 1.8 11-Dec-2005  christos branches: 1.8.100; 1.8.106;
merge ktrace-lwp.
 1.7 22-Jan-2005  tsutsui - remove __P()
- use ANSI function decls
- u_intNN_t -> uintNN_t
- some KNF
 1.6 01-Jan-2005  tsutsui branches: 1.6.2;
Remove (void *) casts added to NULL.
 1.5 15-Jul-2003  lukem __KERNEL_RCSID()
 1.4 04-May-2003  tsutsui branches: 1.4.2;
Rewrite jazzio asc SCSI driver to use MI ncr53c9x and bus_dma(9) with
BUS_DMA_ALLOCNOW flag for jazzio bus DMAC.

Tested on Soda's NEC Image RISCstation (which is an OEM of Acer PICA),
and should fix port-arc/13388.
 1.3 28-Dec-2002  tsutsui Oops, fix typo in the previous.
 1.2 28-Dec-2002  tsutsui Change device names in struct pica_dev to match ones used by ARC BIOS.
All of these parameters should be obtained from ARC BIOS, and we will
switch to the way in future. As per discussion with soda.
 1.1 13-Jun-2001  soda branches: 1.1.2; 1.1.10;
platform description for MIPS Magnum (Microsoft-Jazz).
tested by myself on a NEC Magnum derived machine.
 1.1.10.2 29-Dec-2002  thorpej Sync with HEAD.
 1.1.10.1 13-Jun-2001  thorpej file p_ms_jazz.c was added on branch nathanw_sa on 2002-12-29 19:18:53 +0000
 1.1.2.1 21-Jun-2001  nathanw Catch up to -current.
 1.4.2.5 24-Jan-2005  skrll Sync with HEAD.
 1.4.2.4 17-Jan-2005  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.2.1 29-Apr-2005  kent sync with -current
 1.8.106.1 06-Jun-2011  jruoho Sync with HEAD.
 1.8.100.1 21-Apr-2011  rmind sync with head
 1.7 14-May-2008  tsutsui Normalize my licenses.
 1.6 11-Dec-2005  christos branches: 1.6.74; 1.6.76; 1.6.78; 1.6.80;
merge ktrace-lwp.
 1.5 15-Jul-2003  lukem __KERNEL_RCSID()
 1.4 31-Jan-2003  tsutsui branches: 1.4.2;
Add c_nec_eisa_cons_init() for NEC-J96A and NEC-R96 which have
Cirrus Logic GD5428 ISA VGA console to initialize its registers properly
for generic vga(4) driver(s).
 1.3 09-Dec-2002  tsutsui branches: 1.3.2;
As per discussion with soda, all EISA based Jazz machines seem to require
the same method to access TOD clock, so move chipset-dependent mcclock
routines to appropriate files.

This should also fix Express RISCserver and RISCserver2200 (aka R96) support
which has been broken since "struct platform" was introduced.
 1.2 07-Dec-2002  tsutsui - Add definitions RD_94_[PVS]_EISA_{IO,MEM} in rd94.h.
- J96A (Express5800/240 R4400 EISA) requires different method to access
todclock from other NEC machines (it's similar with magnum),
so handle it in p_nec_j96a.c.

Now my NEC Express5800/240 works. (and now I can test 53c700 SCSI.)
 1.1 30-Nov-2002  tsutsui Add a configuration of struct platform for NEC-J96A,
NEC Express5800/240 with R4400 and EISA.

XXX not functionally working yet. (hangs after mountroot via NFS)
 1.3.2.2 11-Dec-2002  thorpej Sync with HEAD.
 1.3.2.1 09-Dec-2002  thorpej file p_nec_j96a.c was added on branch nathanw_sa on 2002-12-11 05:52:06 +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.80.1 23-Jun-2008  wrstuden Sync w/ -current. 34 merge conflicts to follow.
 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.8 14-May-2008  tsutsui Normalize my licenses.
 1.7 11-Dec-2005  christos branches: 1.7.74; 1.7.76; 1.7.78; 1.7.80;
merge ktrace-lwp.
 1.6 30-Oct-2005  tsutsui According to the new mips3_cp0_count_read() based delay(9),
NEC-JC94 seems to have 200MHz clock, not 150MHz.
 1.5 22-Jan-2005  tsutsui branches: 1.5.8; 1.5.10;
- remove __P()
- use ANSI function decls
- u_intNN_t -> uintNN_t
- some KNF
 1.4 01-Jan-2005  tsutsui branches: 1.4.2;
Remove (void *) casts added to NULL.
 1.3 15-Jul-2003  lukem __KERNEL_RCSID()
 1.2 28-Dec-2002  tsutsui branches: 1.2.2;
Change device names in struct pica_dev to match ones used by ARC BIOS.
All of these parameters should be obtained from ARC BIOS, and we will
switch to the way in future. As per discussion with soda.
 1.1 13-Jun-2001  soda branches: 1.1.2; 1.1.10;
platform description for NEC Express 5800/230, R4400 & PCI variant.
tested by Izumi TSUTSUI.
 1.1.10.2 29-Dec-2002  thorpej Sync with HEAD.
 1.1.10.1 13-Jun-2001  thorpej file p_nec_jc94.c was added on branch nathanw_sa on 2002-12-29 19:18:53 +0000
 1.1.2.1 21-Jun-2001  nathanw Catch up to -current.
 1.2.2.6 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.2.2.5 24-Jan-2005  skrll Sync with HEAD.
 1.2.2.4 17-Jan-2005  skrll Sync with HEAD.
 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.4.2.1 29-Apr-2005  kent sync with -current
 1.5.10.1 02-Nov-2005  yamt sync with head.
 1.5.8.1 21-Jun-2006  yamt sync with head.
 1.7.80.1 23-Jun-2008  wrstuden Sync w/ -current. 34 merge conflicts to follow.
 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.7 11-Dec-2005  christos merge ktrace-lwp.
 1.6 22-Jan-2005  tsutsui - remove __P()
- use ANSI function decls
- u_intNN_t -> uintNN_t
- some KNF
 1.5 01-Jan-2005  tsutsui branches: 1.5.2;
Remove (void *) casts added to NULL.
 1.4 15-Jul-2003  lukem __KERNEL_RCSID()
 1.3 13-Mar-2003  tsutsui branches: 1.3.2;
NEC RISCstation 2200 (NEC-R94) doesn't have the secondary SCSI,
so prepare struct pica_dev for R94 in p_nec_r94.c to handle its quirk.
The problem was reported by David Hopper on port-arc.

XXX We should use ARC BIOS to get info of these devices.
 1.2 30-Nov-2002  tsutsui Fix swapped model name and vendor name in struct platform.
 1.1 13-Jun-2001  soda branches: 1.1.2; 1.1.10;
platform description for NEC RISCstation 2200 variants.
not tested.
 1.1.10.2 11-Dec-2002  thorpej Sync with HEAD.
 1.1.10.1 13-Jun-2001  thorpej file p_nec_r94.c was added on branch nathanw_sa on 2002-12-11 05:52:06 +0000
 1.1.2.1 21-Jun-2001  nathanw Catch up to -current.
 1.3.2.5 24-Jan-2005  skrll Sync with HEAD.
 1.3.2.4 17-Jan-2005  skrll Sync with HEAD.
 1.3.2.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.3.2.2 18-Sep-2004  skrll Sync with HEAD.
 1.3.2.1 03-Aug-2004  skrll Sync with HEAD
 1.5.2.1 29-Apr-2005  kent sync with -current
 1.6 11-Dec-2005  christos merge ktrace-lwp.
 1.5 22-Jan-2005  tsutsui - remove __P()
- use ANSI function decls
- u_intNN_t -> uintNN_t
- some KNF
 1.4 15-Jul-2003  lukem branches: 1.4.8;
__KERNEL_RCSID()
 1.3 19-Jun-2003  tsutsui branches: 1.3.2;
Make sure to call c_nec_eisa_cons_init() also on RISCserver 2200
so that its Cirrus VGA console is properly initialized.
Fixes problem reported by Bob Meader.
 1.2 31-Jan-2003  tsutsui Add c_nec_eisa_cons_init() for NEC-J96A and NEC-R96 which have
Cirrus Logic GD5428 ISA VGA console to initialize its registers properly
for generic vga(4) driver(s).
 1.1 13-Jun-2001  soda branches: 1.1.2; 1.1.10;
platfrom description for NEC Express RISCserver and NEC RISCserver 2200.
tested by Bob Meader on NEC RISCserver 2200, and
Chuck Silvers on NeTpower S1030 (likely compatible with Express RISCserver),
until it asks for boot device.
 1.1.10.2 13-Jun-2001  soda platfrom description for NEC Express RISCserver and NEC RISCserver 2200.
tested by Bob Meader on NEC RISCserver 2200, and
Chuck Silvers on NeTpower S1030 (likely compatible with Express RISCserver),
until it asks for boot device.
 1.1.10.1 13-Jun-2001  soda file p_nec_r96.c was added on branch nathanw_sa on 2001-06-13 15:35:05 +0000
 1.1.2.1 21-Jun-2001  nathanw Catch up to -current.
 1.3.2.4 24-Jan-2005  skrll Sync with HEAD.
 1.3.2.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.3.2.2 18-Sep-2004  skrll Sync with HEAD.
 1.3.2.1 03-Aug-2004  skrll Sync with HEAD
 1.4.8.1 29-Apr-2005  kent sync with -current
 1.3 11-Dec-2005  christos merge ktrace-lwp.
 1.2 15-Jul-2003  lukem __KERNEL_RCSID()
 1.1 13-Jun-2001  soda branches: 1.1.2; 1.1.10; 1.1.26;
platform description for NEC RISCstation 2200 variants.
not tested.
 1.1.26.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.1.26.2 18-Sep-2004  skrll Sync with HEAD.
 1.1.26.1 03-Aug-2004  skrll Sync with HEAD
 1.1.10.2 13-Jun-2001  soda platform description for NEC RISCstation 2200 variants.
not tested.
 1.1.10.1 13-Jun-2001  soda file p_nec_rax94.c was added on branch nathanw_sa on 2001-06-13 15:36:05 +0000
 1.1.2.1 21-Jun-2001  nathanw Catch up to -current.
 1.3 11-Dec-2005  christos merge ktrace-lwp.
 1.2 15-Jul-2003  lukem __KERNEL_RCSID()
 1.1 13-Jun-2001  soda branches: 1.1.2; 1.1.10; 1.1.26;
platform description for NEC RISCstation 2250.
test by Shuichiro URATA (until it asks for boot device)
 1.1.26.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.1.26.2 18-Sep-2004  skrll Sync with HEAD.
 1.1.26.1 03-Aug-2004  skrll Sync with HEAD
 1.1.10.2 13-Jun-2001  soda platform description for NEC RISCstation 2250.
test by Shuichiro URATA (until it asks for boot device)
 1.1.10.1 13-Jun-2001  soda file p_nec_rd94.c was added on branch nathanw_sa on 2001-06-13 15:33:28 +0000
 1.1.2.1 21-Jun-2001  nathanw Catch up to -current.
 1.16 13-Jun-2020  ad g/c vm_page_zero_enable
 1.15 20-Feb-2011  matt Merge forward from matt-nb5-mips64.
Adapt to new interrupt/spl framework.
Add LP64 support.
 1.14 08-Feb-2011  rmind Remove clause 3 (UCB advertising clause) from the University of Utah
copyright. Confirmed by Mike Hibler, mike at cs.utah.edu - thanks!
Also, merge UCB and Utah copyright texts back into one, as they
originally were.

Extra verification by snj@.
 1.13 12-Nov-2010  uebayasi branches: 1.13.2; 1.13.4;
Pull in uvm/uvm.h for vm_page_zero_enable.
 1.12 03-Dec-2007  ad branches: 1.12.36; 1.12.40;
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.11 17-Oct-2007  garbled branches: 1.11.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.10 08-Aug-2007  tsutsui branches: 1.10.2;
Defer arc_init_wired_map() call after MD ipl_sr_bits[] is initilized
in platform dependent init functions.

arc_init_wired_map() refers ipl_sr_bits[] via
extent_create(9) -> mutex_init(9) -> makeiplcookie(9)
since the partial merge of vmlocking.
 1.9 26-Jun-2007  tsutsui branches: 1.9.4; 1.9.8;
Use C99 initializers.
 1.8 22-Feb-2007  thorpej branches: 1.8.4; 1.8.6; 1.8.12;
TRUE -> true, FALSE -> false
 1.7 11-Dec-2005  christos branches: 1.7.26;
merge ktrace-lwp.
 1.6 22-Jan-2005  tsutsui branches: 1.6.8;
- remove __P()
- use ANSI function decls
- u_intNN_t -> uintNN_t
- some KNF
 1.5 07-Aug-2003  agc branches: 1.5.8;
Move UCB-licensed code from 4-clause to 3-clause licence.

Patches provided by Joel Baker in PR 22364, verified by myself.
 1.4 15-Jul-2003  lukem __KERNEL_RCSID()
 1.3 14-Jun-2003  thorpej branches: 1.3.2;
Also pass a type argument to comcnattach() and com_kgdb_attach().
comspeed() (and thus cominit()) may need this information.
 1.2 25-May-2003  tsutsui Add generic software interrupt support with mips/softintr.c.
 1.1 13-Jun-2001  soda branches: 1.1.2; 1.1.10;
incomplete platfrom description for SNI RM200.
 1.1.10.2 13-Jun-2001  soda incomplete platfrom description for SNI RM200.
 1.1.10.1 13-Jun-2001  soda file p_sni_rm200pci.c was added on branch nathanw_sa on 2001-06-13 15:36:45 +0000
 1.1.2.1 21-Jun-2001  nathanw Catch up to -current.
 1.3.2.4 24-Jan-2005  skrll Sync with HEAD.
 1.3.2.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.3.2.2 18-Sep-2004  skrll Sync with HEAD.
 1.3.2.1 03-Aug-2004  skrll Sync with HEAD
 1.5.8.1 29-Apr-2005  kent sync with -current
 1.6.8.3 07-Dec-2007  yamt sync with head
 1.6.8.2 03-Sep-2007  yamt sync with head.
 1.6.8.1 26-Feb-2007  yamt sync with head.
 1.7.26.1 27-Feb-2007  yamt - sync with head.
- move sched_changepri back to kern_synch.c as it doesn't know PPQ anymore.
 1.8.12.2 03-Oct-2007  garbled Sync with HEAD
 1.8.12.1 26-Jun-2007  garbled Sync with HEAD.
 1.8.6.1 11-Jul-2007  mjf Sync with head.
 1.8.4.3 03-Dec-2007  ad Sync with HEAD.
 1.8.4.2 20-Aug-2007  ad Sync with HEAD.
 1.8.4.1 15-Jul-2007  ad Sync with head.
 1.9.8.2 09-Dec-2007  jmcneill Sync with HEAD.
 1.9.8.1 09-Aug-2007  jmcneill Sync with HEAD.
 1.9.4.1 15-Aug-2007  skrll Sync with HEAD.
 1.10.2.2 09-Jan-2008  matt sync with HEAD
 1.10.2.1 06-Nov-2007  matt sync with HEAD
 1.11.2.1 08-Dec-2007  mjf Sync with HEAD.
 1.12.40.1 05-Mar-2011  rmind sync with head
 1.12.36.1 29-Dec-2010  matt Adapt to the new interrupt structure.
 1.13.4.2 05-Mar-2011  bouyer Sync with HEAD
 1.13.4.1 17-Feb-2011  bouyer Sync with HEAD
 1.13.2.1 06-Jun-2011  jruoho Sync with HEAD.
 1.5 28-Apr-2008  martin 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 15-Jul-2003  lukem __KERNEL_RCSID()
 1.2 30-Nov-2002  tsutsui branches: 1.2.6;
Add a configuration of struct platform for NEC-J96A,
NEC Express5800/240 with R4400 and EISA.

XXX not functionally working yet. (hangs after mountroot via NFS)
 1.1 13-Jun-2001  soda branches: 1.1.2; 1.1.10;
introduce "struct platform", and remove "cputype" variable.

this change also includes a patch to obtain secondary cache size
from ARC firmware by Bob Meader, which was posted on port-arc on 18 Aug 2000.
this should make NEC Express RISCserver work.

this change obtains ID of display controller from ARC firmware, too.
 1.1.10.2 11-Dec-2002  thorpej Sync with HEAD.
 1.1.10.1 13-Jun-2001  thorpej file platconf.c was added on branch nathanw_sa on 2002-12-11 05:52:06 +0000
 1.1.2.1 21-Jun-2001  nathanw Catch up to -current.
 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.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.7 24-May-2022  andvar fix various typos in comments, docs and log messages.
 1.6 28-Apr-2008  martin Remove clause 3 and 4 from TNF licenses
 1.5 25-Jun-2006  tsutsui branches: 1.5.58; 1.5.60; 1.5.62;
Make some local functions static.
 1.4 11-Dec-2005  christos branches: 1.4.4; 1.4.8; 1.4.16;
merge ktrace-lwp.
 1.3 22-Jan-2005  tsutsui branches: 1.3.8;
- remove __P()
- use ANSI function decls
- u_intNN_t -> uintNN_t
- some KNF
 1.2 15-Jul-2003  lukem branches: 1.2.8;
__KERNEL_RCSID()
 1.1 13-Jun-2001  soda branches: 1.1.2; 1.1.10; 1.1.26;
introduce "struct platform", and remove "cputype" variable.

this change also includes a patch to obtain secondary cache size
from ARC firmware by Bob Meader, which was posted on port-arc on 18 Aug 2000.
this should make NEC Express RISCserver work.

this change obtains ID of display controller from ARC firmware, too.
 1.1.26.4 24-Jan-2005  skrll Sync with HEAD.
 1.1.26.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.1.26.2 18-Sep-2004  skrll Sync with HEAD.
 1.1.26.1 03-Aug-2004  skrll Sync with HEAD
 1.1.10.2 13-Jun-2001  soda introduce "struct platform", and remove "cputype" variable.

this change also includes a patch to obtain secondary cache size
from ARC firmware by Bob Meader, which was posted on port-arc on 18 Aug 2000.
this should make NEC Express RISCserver work.

this change obtains ID of display controller from ARC firmware, too.
 1.1.10.1 13-Jun-2001  soda file platform.c was added on branch nathanw_sa on 2001-06-13 15:08:06 +0000
 1.1.2.1 21-Jun-2001  nathanw Catch up to -current.
 1.2.8.1 29-Apr-2005  kent sync with -current
 1.3.8.1 30-Dec-2006  yamt sync with head.
 1.4.16.1 13-Jul-2006  gdamore Merge from HEAD.
 1.4.8.1 26-Jun-2006  yamt sync with head.
 1.4.4.1 09-Sep-2006  rpaulo sync with head
 1.5.62.1 16-May-2008  yamt sync with head.
 1.5.60.1 18-May-2008  yamt sync with head.
 1.5.58.1 02-Jun-2008  mjf Sync with HEAD.
 1.12 23-Jan-2000  soda merge to NetBSD-current (DeskStation and Algor support is currently broken)
 1.11 23-Jan-2000  soda Moved from /cvsroot/syssrc/sys/arch/pica/pica/pmap.c,v
 1.10 17-Jun-1999  thorpej pmap_change_wiring() -> pmap_unwire().
 1.9 17-Jun-1999  thorpej Remove pmap_pageable(); no pmap implements it, and it is not really useful,
because pmap_enter()/pmap_change_wiring() (soon to be pmap_unwire())
communicate the information in greater detail.
 1.8 26-Mar-1999  mycroft branches: 1.8.4;
Changes for modified pmap_enter() API:
* Map the message buffer with access_type = VM_PROT_READ|VM_PROT_WRITE `just
because'.
* Map the file system buffers with access_type = VM_PROT_READ|VM_PROT_WRITE to
avoid possible problems with pagemove().
* Do not use VM_PROT_EXEC with either of the above.
* Map pages for /dev/mem with access_type = prot. Also, DO NOT use
pmap_kenter() for this, as we DO NOT want to lose modification information.
* Map pages in dumpsys() with VM_PROT_READ.
* Map pages in m68k mappedcopyin()/mappedcopyout() and writeback() with
access_type = prot.
* For now, bus_dma*(), pmap_map(), vmapbuf(), and similar functions still use
access_type = 0. This should probably be revisited.
 1.7 19-Oct-1998  tron Defopt SYSVMSG, SYSVSEM and SYSVSHM.
 1.6 19-May-1998  thorpej It is no longer necessary for pmap_pinit() and pmap_release() to be
pmap interface functions, as NetBSD no longer uses statically allocated
pmaps (except for the kernel pmap, which is special-cased anyhow).
 1.5 13-Oct-1996  jonathan Commit arch/pica/pica/pmap.c changes from August 1996:
* use mips_round_page,mips_trunc_seg() instead of
pica_round_page(),pica_trunc_page().
* discard (unused) return value from TLBUpdate(), and delete
(unused) temporary variable used to hold it.
 1.4 13-Oct-1996  christos backout previous kprintf change
 1.3 10-Oct-1996  christos printf -> kprintf, sprintf -> ksprintf
 1.2 16-Jul-1996  thorpej RCS id police.
 1.1 13-Mar-1996  jonathan branches: 1.1.1;
Initial revision
 1.1.1.3 22-Feb-2000  soda OpenBSD-2.6/arc
 1.1.1.2 23-Jan-2000  soda OpenBSD-2.1/arc
 1.1.1.1 13-Mar-1996  jonathan First commit of Per Fogelstrom's port to the Acer pica r4400/isa machine.
 1.8.4.1 21-Jun-1999  thorpej Sync w/ -current.
 1.2 23-Jan-2000  soda merge to NetBSD-current (DeskStation and Algor support is currently broken)
 1.1 23-Jan-2000  soda branches: 1.1.1;
Initial revision
 1.1.1.1 23-Jan-2000  soda OpenBSD-2.1/arc
 1.3 13-Mar-2002  simonb All the mips ports had an identical procfs_machdep.c, so use a common
file under arch/mips/mips.
 1.2 18-Jan-2001  tv branches: 1.2.4; 1.2.8;
No-op commit to force update to a non-"-kk" revision.
 1.1 17-Jan-2001  fvdl branches: 1.1.2;
Add machdep file for procfs. Currently only used for linux-style
/proc/cpuinfo (only active when procfs is mounted with -o linux).
For ports other than the i386 this currently produces an empty
string.
 1.1.2.2 18-Jan-2001  bouyer Sync with head (for UBC+NFS fixes, mostly).
 1.1.2.1 17-Jan-2001  bouyer file procfs_machdep.c was added on branch thorpej_scsipi on 2001-01-18 09:22:12 +0000
 1.2.8.1 01-Apr-2002  nathanw Catch up to -current.
(CVS: It's not just a program. It's an adventure!)
 1.2.4.1 16-Mar-2002  jdolecek Catch up with -current.
 1.2 23-Jan-2000  soda merge to NetBSD-current (DeskStation and Algor support is currently broken)
 1.1 23-Jan-2000  soda branches: 1.1.1;
Initial revision
 1.1.1.1 23-Jan-2000  soda OpenBSD-2.1/arc
 1.5 23-Jan-2000  soda merge to NetBSD-current (DeskStation and Algor support is currently broken)
 1.4 23-Jan-2000  soda Moved from /cvsroot/syssrc/sys/arch/pica/pica/sys_machdep.c,v
 1.3 19-Jan-1999  thorpej No need for <sys/mtio.h>
 1.2 25-Feb-1998  perry note second parm of sysarch() is now void *, + trivial KNF, etc.
 1.1 13-Mar-1996  jonathan branches: 1.1.1;
Initial revision
 1.1.1.2 23-Jan-2000  soda OpenBSD-2.1/arc
 1.1.1.1 13-Mar-1996  jonathan First commit of Per Fogelstrom's port to the Acer pica r4400/isa machine.
 1.12 30-Aug-2023  tsutsui Remove ENABLE_INT5_STATCLOCK broken since matt-nb5-mips64 merge.

Noticed by andvar@.
 1.11 27-Oct-2012  chs split device_t/softc for all remaining drivers.
replace "struct device *" with "device_t".
use device_xname(), device_unit(), etc.
 1.10 08-Feb-2011  rmind branches: 1.10.4; 1.10.14;
Remove clause 3 (UCB advertising clause) from the University of Utah
copyright. Confirmed by Mike Hibler, mike at cs.utah.edu - thanks!
Also, merge UCB and Utah copyright texts back into one, as they
originally were.

Extra verification by snj@.
 1.9 24-Sep-2006  tsutsui branches: 1.9.78; 1.9.84; 1.9.86;
Call mips3_init_tc() in cpu_initclocks(9) so that arc port can actually use
timecounter with mips3_cp0_counter.
 1.8 09-Sep-2006  gdamore branches: 1.8.2;
Convert arc to timecounters, using common mips3 timecounters. We have not
converted the platform to use the MIPS3 cp0 for the hardclock interrupt yet,
but that should be done as well. In the meantime, there are no functional
changes.
 1.7 24-Jun-2006  tsutsui branches: 1.7.4;
Implement separate statclock(9) handler which uses the MIPS3 CPU INT5
internal timer compare register. Based on hp300 and arm implementation.

This is enabled by options ENABLE_INT5_STATCLOCK, but disabled by default.
 1.6 11-Dec-2005  christos branches: 1.6.4; 1.6.8; 1.6.16;
merge ktrace-lwp.
 1.5 30-Oct-2005  tsutsui Use mips3_cp0_count_read() for precise microtime(9).

XXX microtime(9) function should be moved from machdep.c to timer.c?
 1.4 30-Oct-2005  tsutsui - use mips3_cp0_count_read() for delay(9).
- delay(9) should take unsigned int, not int.
 1.3 22-Jan-2005  tsutsui branches: 1.3.8; 1.3.10;
- remove __P()
- use ANSI function decls
- u_intNN_t -> uintNN_t
- some KNF
 1.2 07-Aug-2003  agc branches: 1.2.8;
Move UCB-licensed code from 4-clause to 3-clause licence.

Patches provided by Joel Baker in PR 22364, verified by myself.
 1.1 13-Jun-2001  soda branches: 1.1.2; 1.1.10; 1.1.26;
split clock.c into interval timer part ("timer" for cpu_initclock) and
real time clock part ("todclock" for inittodr, resettodr)
 1.1.26.5 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.1.26.4 24-Jan-2005  skrll Sync with HEAD.
 1.1.26.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.1.26.2 18-Sep-2004  skrll Sync with HEAD.
 1.1.26.1 03-Aug-2004  skrll Sync with HEAD
 1.1.10.2 13-Jun-2001  soda split clock.c into interval timer part ("timer" for cpu_initclock) and
real time clock part ("todclock" for inittodr, resettodr)
 1.1.10.1 13-Jun-2001  soda file timer.c was added on branch nathanw_sa on 2001-06-13 15:00:27 +0000
 1.1.2.1 21-Jun-2001  nathanw Catch up to -current.
 1.2.8.1 29-Apr-2005  kent sync with -current
 1.3.10.1 02-Nov-2005  yamt sync with head.
 1.3.8.2 30-Dec-2006  yamt sync with head.
 1.3.8.1 21-Jun-2006  yamt sync with head.
 1.6.16.1 13-Jul-2006  gdamore Merge from HEAD.
 1.6.8.2 14-Sep-2006  yamt sync with head.
 1.6.8.1 26-Jun-2006  yamt sync with head.
 1.6.4.1 09-Sep-2006  rpaulo sync with head
 1.7.4.1 18-Nov-2006  ad Sync with head.
 1.8.2.1 22-Oct-2006  yamt sync with head
 1.9.86.1 17-Feb-2011  bouyer Sync with HEAD
 1.9.84.1 06-Jun-2011  jruoho Sync with HEAD.
 1.9.78.1 05-Mar-2011  rmind sync with head
 1.10.14.1 20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.10.4.1 30-Oct-2012  yamt sync with head
 1.8 30-Aug-2023  tsutsui Remove ENABLE_INT5_STATCLOCK broken since matt-nb5-mips64 merge.

Noticed by andvar@.
 1.7 27-Oct-2012  chs split device_t/softc for all remaining drivers.
replace "struct device *" with "device_t".
use device_xname(), device_unit(), etc.
 1.6 06-Mar-2011  tsutsui branches: 1.6.4; 1.6.14;
Remove trailing spaces.
 1.5 24-Jun-2006  tsutsui branches: 1.5.84; 1.5.90;
Implement separate statclock(9) handler which uses the MIPS3 CPU INT5
internal timer compare register. Based on hp300 and arm implementation.

This is enabled by options ENABLE_INT5_STATCLOCK, but disabled by default.
 1.4 11-Dec-2005  christos branches: 1.4.4; 1.4.8; 1.4.16;
merge ktrace-lwp.
 1.3 30-Oct-2005  tsutsui Use mips3_cp0_count_read() for precise microtime(9).

XXX microtime(9) function should be moved from machdep.c to timer.c?
 1.2 22-Jan-2005  tsutsui branches: 1.2.8; 1.2.10;
- remove __P()
- use ANSI function decls
- u_intNN_t -> uintNN_t
- some KNF
 1.1 13-Jun-2001  soda branches: 1.1.2; 1.1.10; 1.1.26; 1.1.34;
split clock.c into interval timer part ("timer" for cpu_initclock) and
real time clock part ("todclock" for inittodr, resettodr)
 1.1.34.1 29-Apr-2005  kent sync with -current
 1.1.26.2 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.1.26.1 24-Jan-2005  skrll Sync with HEAD.
 1.1.10.2 13-Jun-2001  soda split clock.c into interval timer part ("timer" for cpu_initclock) and
real time clock part ("todclock" for inittodr, resettodr)
 1.1.10.1 13-Jun-2001  soda file timervar.h was added on branch nathanw_sa on 2001-06-13 15:00:27 +0000
 1.1.2.1 21-Jun-2001  nathanw Catch up to -current.
 1.2.10.1 02-Nov-2005  yamt sync with head.
 1.2.8.2 30-Dec-2006  yamt sync with head.
 1.2.8.1 21-Jun-2006  yamt sync with head.
 1.4.16.1 13-Jul-2006  gdamore Merge from HEAD.
 1.4.8.1 26-Jun-2006  yamt sync with head.
 1.4.4.1 09-Sep-2006  rpaulo sync with head
 1.5.90.1 06-Jun-2011  jruoho Sync with HEAD.
 1.5.84.1 21-Apr-2011  rmind sync with head
 1.6.14.1 20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.6.4.1 30-Oct-2012  yamt sync with head
 1.10 03-Sep-2006  gdamore Convert to MI todr framework.
 1.9 11-Dec-2005  christos branches: 1.9.4; 1.9.8;
merge ktrace-lwp.
 1.8 04-Jun-2005  he branches: 1.8.2;
Fix the various todr_gettime() and todr_settime() fallouts from
-Wcast-qual differently, by instead changing the signatore of those
"functions" to take a "volatile struct timeval*" instead of a
"struct timeval*". Many places, these functions are called with
&time, and time is declared as volatile in <sys/kernel.h>. This
way we can get rid of all the ugly casts which now also triggered
warnings, and caused more code to be added to work around the
problem.

Reviewed by thorpej.
 1.7 03-Jun-2005  tsutsui workaround for volatile struct timeval time vs todr_*() arg mismatch.
 1.6 22-Jan-2005  tsutsui - remove __P()
- use ANSI function decls
- u_intNN_t -> uintNN_t
- some KNF
 1.5 29-Oct-2003  tsutsui branches: 1.5.8;
Switch arc to use MI mc146818 tod driver.
 1.4 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.3 06-Dec-2002  tsutsui branches: 1.3.6;
Some cosmetics.
 1.2 04-Nov-2001  tsutsui branches: 1.2.2;
Fix printf format in #ifdef DEBUG part.
 1.1 13-Jun-2001  soda branches: 1.1.2; 1.1.4; 1.1.8;
split clock.c into interval timer part ("timer" for cpu_initclock) and
real time clock part ("todclock" for inittodr, resettodr)
 1.1.8.1 12-Nov-2001  thorpej Sync the thorpej-mips-cache branch with -current.
 1.1.4.1 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.1.2.1 21-Jun-2001  nathanw Catch up to -current.
 1.2.2.2 11-Dec-2002  thorpej Sync with HEAD.
 1.2.2.1 04-Nov-2001  thorpej file todclock.c was added on branch nathanw_sa on 2002-12-11 05:52:06 +0000
 1.3.6.5 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.3.6.4 24-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.8.1 29-Apr-2005  kent sync with -current
 1.8.2.1 30-Dec-2006  yamt sync with head.
 1.9.8.1 14-Sep-2006  yamt sync with head.
 1.9.4.1 09-Sep-2006  rpaulo sync with head
 1.2 29-Oct-2003  tsutsui Switch arc to use MI mc146818 tod driver.
 1.1 13-Jun-2001  soda branches: 1.1.2; 1.1.10; 1.1.26;
split clock.c into interval timer part ("timer" for cpu_initclock) and
real time clock part ("todclock" for inittodr, resettodr)
 1.1.26.1 03-Aug-2004  skrll Sync with HEAD
 1.1.10.2 13-Jun-2001  soda split clock.c into interval timer part ("timer" for cpu_initclock) and
real time clock part ("todclock" for inittodr, resettodr)
 1.1.10.1 13-Jun-2001  soda file todclockvar.h was added on branch nathanw_sa on 2001-06-13 15:00:28 +0000
 1.1.2.1 21-Jun-2001  nathanw Catch up to -current.
 1.19 23-Jan-2000  soda merge to NetBSD-current (DeskStation and Algor support is currently broken)
 1.18 23-Jan-2000  soda Moved from /cvsroot/syssrc/sys/arch/pica/pica/trap.c,v
 1.17 05-Dec-1999  ragge clrnd()/clbase() discarding.
 1.16 28-Jun-1999  itojun branches: 1.16.8;
- Call ip6intr if INET6 is defined.
- remove "need-flag" for mac68k esp driver, as it is not used in anywhere
and conflicts with IPsec ESP header.

This should be the only MD change in IPv6 support, except kernel config file.
Very sorry if you have any compilation problem with it (I believe it is okay).
If your favorite arch is not included in here, please add a
call to ip6intr() from softintr handle.
 1.15 18-Mar-1999  chs branches: 1.15.4; 1.15.6;
if uvm_fault() fails with KERN_RESOURCE_SHORTAGE, send a SIGKILL
and print a message about it. this will be used to recover from
out-of-swap conditions.
 1.14 05-Jul-1998  jonathan defopt NS, NSIP.
 1.13 05-Jul-1998  jonathan defopt ISO TPIP.
 1.12 25-Jun-1998  thorpej defopt KTRACE
 1.11 13-Nov-1997  veego Add a missing #if NARP > 0 around arpintr(); and add a #include "arp.h"
for NARP. This is for the 'new' arp system.
 1.10 23-Jun-1997  jonathan branches: 1.10.8;
Apply sys/arch/mips changes (MACH_ -> MIPS_ or MIPS3_) changes to Pica port.
PICA Kernel compiles with warnings and links, otherwise untested.
 1.9 03-Apr-1997  christos Add netatalk netisr
 1.8 15-Mar-1997  is New ARP system, supports IPv4 over any hardware link.

Some of the stuff (e.g., rarpd, bootpd, dhcpd etc., libsa) still will
only support Ethernet. Tcpdump itself should be ok, but libpcap needs
lot of work.

For the detailed change history, look at the commit log entries for
the is-newarp branch.
 1.7 13-Oct-1996  jonathan branches: 1.7.6;
Commit (very old) partly-merged ARC Pica mips3 trap handler code:
* fold in netBSD style changes:
``if (foo = bar)'' -> ``if ((foo = bar) != 0)''
* add mips1 vector as well as mips3 vector
* change vector names to make mips1 and mips3 locore entrpoints distinct
* add pmax additions (e.g., old fixes to ktrace code, kernel-TLB_miss
instrumentation)
* update stack traceback code to a newer version of the pmax code.
 1.6 13-Oct-1996  christos backout previous kprintf change
 1.5 10-Oct-1996  christos printf -> kprintf, sprintf -> ksprintf
 1.4 31-Mar-1996  jonathan merge mips and pica locore.S, pass 0:
* cut-and-paste all the code for both r2000 (MIPS-I) and r4000 (MIPS-III)
into both the pica and pmax locore.S.

* Change the names of the small segments of vector code that are
bcopied to the machine vector locations, to avoid clashing.
Get rid of the Sprite MachXXX names for the vector code, and
use use mips_r2000_xxx and mips_r4000_xxx instead.

Update the names used in the vector-copying code and trap handlers
to match.

* Most of the rest of the pica locore.S was copied from the pmax
locore.S, and then edited to work on an r4000. The names of
functions and of manifest constants stayed the same, although
both assmbler code and constant values changed.
cut-and-paste such code into contiguous blocks protected by
#if / #endif. Much of the cache and trap-handling code
needs r3000-only register fields, on the r3000, and r4000-only
insns and registers on the r4000.

* change the pmax r2000 exception-handling code to extract a trap
code with the user/kernel bit at 0x20 rather than 0x10.
(r2000s have 4-bit execption codes, r4000s have 5-bit.)
Use the a 16 from-user-space + 16-from-kernel space jump table,
just like on the r4000 pica port.

* add NOPs to the common code where required by the r4000 pipeline
constraints.
* add _C_LABEL() macros to the r4000 locore.

Comitted to provide a snapshot for others to test, and work on a cleaner merge.
 1.3 28-Mar-1996  jonathan Update Pica machdep.c and locore.S to work with new, "merged" machdep.h:

* Add a MIPS-I (r3000) exception handler to the Pica locore.S.
Change the names of the masks used to extract the exception code
to the new MIPS_xxx names.
* Rename the vector code from MachException() to
mips_r4000_exception, in both locore and in the init_main()
code that copies it from locore to the exception vector locations.

* Change the locore and C code to use the new MIPS_SR_INT_IE
name for the Status register master interrupt-enable bit.

Similar changes to the pmax equivalents are in progress.
 1.2 28-Mar-1996  jonathan Split Per Fogelstrom's Pica trap handler into two parts:
arch/pica/pica/trap.c, a generic mips trap handler
arch/pica/pica/pica_trap.c, a handler for Pica interrupts.

so that the common pmax and pica trap handling can eventually be
merged and moved to arch/mips/mips/trap.c
 1.1 13-Mar-1996  jonathan branches: 1.1.1;
Initial revision
 1.1.1.3 22-Feb-2000  soda OpenBSD-2.6/arc
 1.1.1.2 23-Jan-2000  soda OpenBSD-2.1/arc
 1.1.1.1 13-Mar-1996  jonathan First commit of Per Fogelstrom's port to the Acer pica r4400/isa machine.
 1.7.6.1 10-Mar-1997  is netinet/if_ether.h => netinet/if_inarp.h
 1.10.8.1 15-Nov-1997  mellon Pull rev 1.11 up from trunk (veego)
 1.15.6.2 30-Nov-1999  itojun bring in latest KAME (as of 19991130, KAME/NetBSD141) into kame branch
just for reference purposes.
This commit includes 1.4 -> 1.4.1 sync for kame branch.

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

synchronization to latest KAME will take place on HEAD branch soon.
 1.15.6.1 06-Jul-1999  itojun KAME/NetBSD 1.4, SNAP kit 1999/07/05.
NOTE: this branch is just for reference purposes (i.e. for taking cvs diff).
do not touch anything on the branch. actual work must be done on HEAD branch.
 1.15.4.1 01-Jul-1999  thorpej Sync w/ -current.
 1.16.8.1 27-Dec-1999  wrstuden Pull up to last week's -current.
 1.10 23-Jan-2000  soda merge to NetBSD-current (DeskStation and Algor support is currently broken)
 1.9 23-Jan-2000  soda Moved from /cvsroot/syssrc/sys/arch/pica/pica/vm_machdep.c,v
 1.8 04-Dec-1999  ragge CL* discarding.
 1.7 26-May-1999  thorpej branches: 1.7.8;
Generally update the comment above vunmapbuf().
 1.6 26-May-1999  thorpej Generally update the comment above the vmapbuf() implementations.
 1.5 26-Mar-1999  mycroft branches: 1.5.4;
Changes for modified pmap_enter() API:
* Map the message buffer with access_type = VM_PROT_READ|VM_PROT_WRITE `just
because'.
* Map the file system buffers with access_type = VM_PROT_READ|VM_PROT_WRITE to
avoid possible problems with pagemove().
* Do not use VM_PROT_EXEC with either of the above.
* Map pages for /dev/mem with access_type = prot. Also, DO NOT use
pmap_kenter() for this, as we DO NOT want to lose modification information.
* Map pages in dumpsys() with VM_PROT_READ.
* Map pages in m68k mappedcopyin()/mappedcopyout() and writeback() with
access_type = prot.
* For now, bus_dma*(), pmap_map(), vmapbuf(), and similar functions still use
access_type = 0. This should probably be revisited.
 1.4 11-Nov-1998  thorpej Changes to support fork_kthread():
- cpu_set_kpc() now takes void *arg third argument, passed to the
entry point.
- cpu_fork() allows parent to be non-curproc iff parent is proc0.
When forking non-curproc, assume its state has already been saved.
- Adjust various pieces of machine-dependent code to account of all of this.
 1.3 28-Jul-1998  thorpej Don't cast the null residual pointer passed to vn_rdwr().
 1.2 16-Jul-1996  thorpej RCS id police.
 1.1 13-Mar-1996  jonathan branches: 1.1.1;
Initial revision
 1.1.1.2 23-Jan-2000  soda OpenBSD-2.1/arc
 1.1.1.1 13-Mar-1996  jonathan First commit of Per Fogelstrom's port to the Acer pica r4400/isa machine.
 1.5.4.1 21-Jun-1999  thorpej Sync w/ -current.
 1.7.8.1 27-Dec-1999  wrstuden Pull up to last week's -current.
 1.10 05-Nov-2005  tsutsui Adapt arc port to the new MI mips3 wired map functions.
Tested on NEC-RD94 with several PCI and jazzio devices.
 1.9 10-Oct-2005  tsutsui Define MIPS3_PG_SIZE_MASK_TO_SIZE() macro in the MI mips header.
 1.8 22-Jan-2005  tsutsui branches: 1.8.8;
- remove __P()
- use ANSI function decls
- u_intNN_t -> uintNN_t
- some KNF
 1.7 15-Jul-2003  lukem branches: 1.7.8;
__KERNEL_RCSID()
 1.6 05-Mar-2002  simonb branches: 1.6.14;
Use new cache coherency attribute macro.
 1.5 05-Oct-2000  cgd branches: 1.5.2; 1.5.6; 1.5.10;
clean up and consistency for CP0 Count, Compare, Wired, and Config
access function names and prototypes.
 1.4 29-Jun-2000  mrg remove include of <vm/vm.h>. <vm/vm.h> -> <uvm/uvm_extern.h>
 1.3 09-Jun-2000  soda branches: 1.3.4;
Decrease MIPS3_TLB_WIRED_ENTRIES from 8 to 2,
and rename it to MIPS3_TLB_WIRED_UPAGES.
The value of wired register becomes variable on arc port,
and arc is the only mips3 port which uses the wired TLB entries 2..7.
 1.2 09-Jun-2000  soda rename
vad_to_pfn() -> mips_paddr_to_tlbpfn()
pfn_to_vad() -> mips_tlbpfn_to_paddr()
as suggested by thorpej on port-mips Mar 27.
 1.1 09-Jun-2000  soda wired TLB manager, contributed by Shuichiro URATA <ur@a-r.org>.
 1.3.4.2 22-Jun-2000  minoura Sync w/ netbsd-1-5-base.
 1.3.4.1 09-Jun-2000  minoura file wired_map.c was added on branch minoura-xpg4dl on 2000-06-22 16:59:07 +0000
 1.5.10.1 01-Apr-2002  nathanw Catch up to -current.
(CVS: It's not just a program. It's an adventure!)
 1.5.6.1 16-Mar-2002  jdolecek Catch up with -current.
 1.5.2.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.5.2.1 05-Oct-2000  bouyer file wired_map.c was added on branch thorpej_scsipi on 2000-11-20 20:00:23 +0000
 1.6.14.6 11-Dec-2005  christos Sync with head.
 1.6.14.5 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.6.14.4 24-Jan-2005  skrll Sync with HEAD.
 1.6.14.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.6.14.2 18-Sep-2004  skrll Sync with HEAD.
 1.6.14.1 03-Aug-2004  skrll Sync with HEAD
 1.7.8.1 29-Apr-2005  kent sync with -current
 1.8.8.1 21-Jun-2006  yamt sync with head.
 1.3 05-Nov-2005  tsutsui Adapt arc port to the new MI mips3 wired map functions.
Tested on NEC-RD94 with several PCI and jazzio devices.
 1.2 22-Jan-2005  tsutsui branches: 1.2.8;
- remove __P()
- use ANSI function decls
- u_intNN_t -> uintNN_t
- some KNF
 1.1 09-Jun-2000  soda branches: 1.1.4; 1.1.6; 1.1.30; 1.1.38;
wired TLB manager, contributed by Shuichiro URATA <ur@a-r.org>.
 1.1.38.1 29-Apr-2005  kent sync with -current
 1.1.30.2 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.1.30.1 24-Jan-2005  skrll Sync with HEAD.
 1.1.6.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.1.6.1 09-Jun-2000  bouyer file wired_map.h was added on branch thorpej_scsipi on 2000-11-20 20:00:23 +0000
 1.1.4.2 22-Jun-2000  minoura Sync w/ netbsd-1-5-base.
 1.1.4.1 09-Jun-2000  minoura file wired_map.h was added on branch minoura-xpg4dl on 2000-06-22 16:59:08 +0000
 1.2.8.1 21-Jun-2006  yamt sync with head.
 1.9 20-Dec-2023  thorpej Remove unnecessary <sys/malloc.h>.
 1.8 07-Dec-2023  thorpej extent(9) -> vmem(9)
 1.7 27-Jan-2012  para converting extent(9) from malloc(9) to kmem(9)
preceding kmem-vmem-pool-uvm patch

releng@ acknowledged
 1.6 16-Dec-2009  matt branches: 1.6.12; 1.6.16;
Fix various build with the 32bit mips ports after the mips64 merge.
 1.5 22-Feb-2007  thorpej branches: 1.5.46; 1.5.64;
TRUE -> true, FALSE -> false
 1.4 21-Feb-2007  thorpej Replace the Mach-derived boolean_t type with the C99 bool type. A
future commit will replace use of TRUE and FALSE with true and false.
 1.3 25-Jun-2006  tsutsui branches: 1.3.10;
Make some local functions static.
 1.2 11-Dec-2005  christos branches: 1.2.4; 1.2.8; 1.2.16; 1.2.18;
merge ktrace-lwp.
 1.1 05-Nov-2005  tsutsui branches: 1.1.2;
Adapt arc port to the new MI mips3 wired map functions.
Tested on NEC-RD94 with several PCI and jazzio devices.
 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_machdep.c was added on branch ktrace-lwp on 2005-11-10 13:55:00 +0000
 1.2.18.4 26-Feb-2007  yamt sync with head.
 1.2.18.3 30-Dec-2006  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_machdep.c was added on branch yamt-lazymbuf on 2006-06-21 14:48:54 +0000
 1.2.16.1 13-Jul-2006  gdamore Merge from HEAD.
 1.2.8.1 26-Jun-2006  yamt sync with head.
 1.2.4.1 09-Sep-2006  rpaulo sync with head
 1.3.10.1 27-Feb-2007  yamt - sync with head.
- move sched_changepri back to kern_synch.c as it doesn't know PPQ anymore.
 1.5.64.1 26-Aug-2009  matt Fixup (all but mipsco) to deal the new realities in mipsland.
 1.5.46.1 11-Mar-2010  yamt sync with head
 1.6.16.1 18-Feb-2012  mrg merge to -current.
 1.6.12.1 17-Apr-2012  yamt sync with head
 1.2 23-Jan-2000  soda merge to NetBSD-current (DeskStation and Algor support is currently broken)
 1.1 23-Jan-2000  soda branches: 1.1.1;
Initial revision
 1.1.1.2 22-Feb-2000  soda OpenBSD-2.6/arc
 1.1.1.1 23-Jan-2000  soda OpenBSD-2.1/arc
 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 13-Mar-1996  jonathan branches: 1.1.1;
Initial revision
 1.1.1.2 23-Jan-2000  soda branches: 1.1.1.2.6; 1.1.1.2.14;
Moved from /cvsroot/syssrc/sys/arch/pica/compile/.keep_me,v
 1.1.1.1 13-Mar-1996  jonathan First commit of Per Fogelstrom's port to the Acer pica r4400/isa machine.
 1.1.1.2.14.1 07-Jan-2003  thorpej Sync with HEAD.
 1.1.1.2.6.2 23-Jan-2000  soda Moved from /cvsroot/syssrc/sys/arch/pica/compile/.keep_me,v
 1.1.1.2.6.1 23-Jan-2000  soda file .keep_me was added on branch thorpej_scsipi on 2000-01-23 20:08:02 +0000
 1.1 06-Jan-2003  lukem branches: 1.1.2;
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.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 20:57:09 +0000
 1.74 29-Jan-2024  christos PR/57889: Ricardo Branco: ext2fs does not have user immutable and append
file flags, only system ones. Restrict those to the superuser. Before
the behavior was controlled by EXT2FS_SYSTEM_FLAGS. Make that behavior the
default.
 1.73 19-Jan-2020  thorpej Remove the strip(4) - Starmode Radio IP - pseudo-device driver. It is
long since obsolete.
 1.72 01-Aug-2018  maxv branches: 1.72.6;
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.71 14-Sep-2017  mrg branches: 1.71.2; 1.71.4;
clean up COMPAT_* options for native netbsd code:
- new series of files that are useful for saying "i want everything
since netbsd 1.4", etc.
- use the fact COMPAT_* options have future dependancies to remove
many redundant options.

removes about 3000 lines total across kernel configuration files.
tested about 30 random kernels in the changed list.
 1.70 29-Jul-2017  maxv Remove TCP_COMPAT_42 from the config files. Pass 3.
 1.69 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.68 12-Aug-2015  maxv Remove KMEMSTATS.
 1.67 23-Aug-2014  dholland branches: 1.67.2;
Systematize (and in many cases, fix) the comments on options COMPAT_NN.

There are quite a few configs that are missing some COMPAT_NN options
in ways that don't make sense; this should probably get cleaned up
too, but for the time being I've not added or removed anything.
 1.66 20-Jul-2014  alnsn Add commented out bpfjit options to mips kernels.
While here, add 2 missing RCS ids.
 1.65 30-Jun-2013  rmind branches: 1.65.4;
G/C PFIL_HOOKS from the kernel configs.
 1.64 05-Jun-2013  christos branches: 1.64.2;
remove obsolete networking options
 1.63 27-Apr-2013  christos more bogus number removal
 1.62 27-Apr-2013  christos the bogus number police
 1.61 27-Apr-2013  christos remove confusing numeric locators where they are unused.
 1.60 02-Mar-2013  christos Under FAST_IPSEC, IPSEC_ESP is mandatory; GC it.
 1.59 01-Mar-2013  joerg Retire OSI network stack. OK core@
 1.58 17-Aug-2012  abs branches: 1.58.2;
Update all kernel configs mentioning WSEMUL_* but not already including
WSDISPLAY_COMPAT_USL using the following rules:
- If WSEMUL_ is commented out, add commented out out WSDISPLAY_COMPAT_USL
- If INSTALL or obviously memory constrained, add WSDISPLAY_DEFAULTSCREENS=1
and commented out WSDISPLAY_COMPAT_USL
- Otherwise add WSDISPLAY_COMPAT_USL

Some of the INSTALL configs for larger memory machines are probably suitable
for adding WSDISPLAY_COMPAT_USL.

Now wsconscfg(8) should be able to switch VTs when expected.

Implemented after no objection from tech-kern to the following:

On 5 June 2012 09:47, David Brownlee <abs@absd.org> wrote:
> wsconscfg(8) requires WSDISPLAY_COMPAT_USL in order to switch virtual
> terminals.
>
> Except when in an exceptionally memory or space constrained
> environment (INSTALL being the obvious case), is there any reason why
> all GENERIC and GENERIC-like kernels which have wscons enabled
> shouldn't also have WSDISPLAY_COMPAT_USL?
 1.57 22-Nov-2011  tls The rnd pseudo-device is not really optional, because it is in the same
source file as the entropy-pool code itself. Move it to std. This
will be cleaned up more when I split the sources up as they should be.

This fixes build breaks on several ports. Thanks to Havard Eidnes for
pointing them out.
 1.56 06-Mar-2011  bouyer branches: 1.56.4;
merge the bouyer-quota2 branch. This adds a new on-disk format
to store disk quota usage and limits, integrated with ffs
metadata. Usage is checked by fsck_ffs (no more quotacheck)
and is covered by the WAPBL journal. Enabled with kernel
option QUOTA2 (added where QUOTA was enabled in kernel config files),
turned on with tunefs(8) on a per-filesystem
basis. mount_mfs(8) can also turn quotas on.

See http://mail-index.netbsd.org/tech-kern/2011/02/19/msg010025.html
for details.
 1.55 23-Nov-2010  hannken branches: 1.55.2; 1.55.4;
Remove unused count from pseudo-device md.
 1.54 08-May-2010  mrg enable IPFILTER_COMPAT in all kernels that have ipfilter already.
canonicalise several of the ipf option segments in various files
(this mostly means adding commented out IPFILTER_DEFAULT_BLOCK,
or adding commented or uncommented IPFILTER_LOG or IPFILTER_LOOKUP
option statements.)

i built about 20 of these kernels to check, but not all of them.
 1.53 16-Apr-2010  pooka Remove unused count (invariably "4") from pseudo-device fss.
 1.52 05-Dec-2009  pooka branches: 1.52.2; 1.52.4;
Remove the portalfs kernel file system driver. Replace mount_portal(8)
with a version based on puffs. User functionality remains the same.
 1.51 06-Mar-2009  joerg Remove SHMMAXPGS from all kernel configs. Dynamically compute the
initial limit as 1/4 of the physical memory. Ensure the limit is at
least 1024 pages, the old default on most platforms.
 1.50 24-Nov-2008  ad branches: 1.50.4;
Remove softdep, pass 1. We are focused on improving journalling.

Proposed on tech-kern@.
 1.49 12-Nov-2008  ad Remove LKMs and switch to the module framework, pass 1.

Proposed on tech-kern@.
 1.48 17-Oct-2007  garbled branches: 1.48.16; 1.48.20; 1.48.26; 1.48.28;
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.47 26-Jun-2007  tsutsui branches: 1.47.10;
Add options COMPAT_40.
 1.46 27-Sep-2006  manu branches: 1.46.8; 1.46.10; 1.46.16;
- Document COMPAT_15 as doing nothing
- Add COMPAT_15 to all the kernel that had COMPAT_14, for the sake of coherency
- Remove the only occurences of #ifdef COMPAT_15 in the tree: for the ARM
ports, COMPAT_15 was always used in conjunction with EXEC_AOUT. Only EXEC_AOUT
matters here.

This address kern/18407
 1.45 26-Aug-2006  christos branches: 1.45.2; 1.45.4;
PR/34283: Gene ENonymous: Add IPFILTER_LOOKUP to the default kernel options
Also remove CCITT,NS,NIP
 1.44 28-Mar-2006  pavel 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.43 05-Feb-2006  cube branches: 1.43.2; 1.43.4; 1.43.6;
Remove 'count' argument for pseudo-devices that ignore it
(vnd, bpfilter, ppp, gif, gre, tun, sl, strip, faith, stf).
 1.42 04-Feb-2006  rpaulo bpfilter doesn't accept count anymore.
 1.41 20-Dec-2005  thorpej branches: 1.41.2; 1.41.4; 1.41.6;
Remove the tablet line discipline.
 1.40 07-Dec-2005  tsutsui Adjust comments for options FFS_NO_SNAPSHOT.

XXX: This option should be mentioned in options(4).
 1.39 28-Aug-2005  tsutsui options<space><tab>
 1.38 19-Aug-2005  christos Enable ptyfs by default on the non-install and non small/tiny/ramdisk kernels
 1.37 19-Aug-2005  christos 64 bit inode changes.
 1.36 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.35 30-Jul-2005  yamt add "options VMSWAP" to non INSTALL kernels.
 1.34 07-Jul-2005  tron Add (commented out) IPSEC_NAT_T option.
 1.33 18-Feb-2005  dsl branches: 1.33.4; 1.33.6;
Invert FFS_SNAPSHOT to FFS_NO_SNAPSHOT
 1.32 11-Feb-2005  dsl Add 'option FFS_SNAPSHOT' to most of the config files.
Commented out for kernels that appear to hace space constraints.
 1.31 31-Jan-2005  hannken Add file system snapshots to kernel configs.

- Ffs internal snapshots get compiled in unconditionally.

- File system snapshot device fss(4) added to all kernel configs that
have a disk. Device is commented out on all non-GENERIC kernels.

Reviewed by: Jason Thorpe <thorpej@netbsd.org>
 1.30 21-Jan-2005  tsutsui branches: 1.30.2;
Add options COMPAT_20.
 1.29 10-Nov-2004  christos branches: 1.29.4;
Add COMPAT_BSDPTY to the rest of the config files.
 1.28 04-Sep-2004  manu IPv4 PIM support, based on a submission from Pavlin Radoslavov posted on
tech-net@
 1.27 15-Jul-2004  atatat Add "options SYSCTL_INCLUDE_DESCR" to a lot of configs, but commented
out in most of them.
 1.26 21-Oct-2003  tsutsui branches: 1.26.2;
- Use scsibus* at scsi?
- Use atabus* at ata?
- Use atapibus* atapi?
- Sort ATA/ATAPI device entries.
- Comment out aceride, piixide, siside, and viaide.
 1.25 08-Oct-2003  bouyer Add atabus.
 1.24 27-Sep-2003  tsutsui Add options COMPAT_16.
 1.23 15-Jun-2003  tsutsui branches: 1.23.2;
Remove nonexistent we* at isapnp.
 1.22 14-Jun-2003  tsutsui Change DESKstation -> DeskStation, as per spelling on the Tyne board.
 1.21 18-Sep-2002  lukem enable USERCONF by default; it's small and extremely useful to have available.
 1.20 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.19 25-Apr-2002  atatat branches: 1.19.2; 1.19.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.18 15-Apr-2002  tsutsui Remove (commented-out) pmsi entries.
 1.17 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.16 04-Mar-2002  sommerfeld The "gif*" tunnelling interface does everything ipip does.
Move usage example from ipip.4 to gif.4
Excise ipip and stitch up the scars.
 1.15 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.14 20-Nov-2001  lukem - pull in opt_kgdb.h where necessary
- replace opt_kgdb_machdep.h with opt_kgdb.h
- defparam opt_kgdb.h:
KGDB_DEV KGDB_DEVNAME KGDB_DEVADDR KGDB_DEVRATE KGDB_DEVMODE
- move from opt_ddbparam.h to opt_ddb.h:
DDB_FROMCONSOLE DDB_ONPANIC DDB_HISTORY_SIZE DDB_BREAK_CHAR SYMTAB_SPACE
- replace KGDBDEV with KGDB_DEV
- replace KGDBADDR with KGDB_DEVADDR
- replace KGDBMODE with KGDB_DEVMODE
- replace KGDBRATE with KGDB_DEVRATE
- use `9600' instead of `0x2580' for 9600 baud rate
- use correct quotes for options KGDB_DEVNAME="\"com\""
- use correct quotes for options KGDB_DEV="17*256+0"
- remove unnecessary dependancy on Makefile for kgdb_stub.o
- minor whitespace cleanup
 1.13 13-Nov-2001  augustss branches: 1.13.2;
The wsmux pseudo device does not need a count anymore.
 1.12 08-Jul-2001  abs branches: 1.12.2;
Standardise TCP_COMPAT_42 as commented out, grouped with other COMPAT options,
and with the comment '4.2BSD TCP/IP bug compat. Not recommended'
Add commented out 'TCP_DEBUG # Record last TCP_NDEBUG packets with SO_DEBUG'
(All hail amiga and atari which make some attempt to automate the
multiplicity of config files...)
 1.11 13-Jun-2001  soda update configurations for "struct platform" and related changes
 1.10 21-May-2001  soda sync with GENERIC: enable SOFTDEP, add vlan, etc.
 1.9 24-Sep-2000  jdolecek branches: 1.9.2; 1.9.4;
don't specify number of ptys if >= 16 (current default initial number)
pty comments: normalize and g/c what is no longer relevant
 1.8 23-Jul-2000  ur Add WSEMUL_VT100 to configuration files using wsdisplay.
And update my current configuration. (MIMORI)
 1.7 17-Jun-2000  soda branches: 1.7.2;
- vga/pckbc attachment for jazz internal bus of Magnum derived machines
(including Pica, NEC RISCstation/RISCserver).
- TGA console initialization for NEC RISCstation 2250,
contributed by Shuichiro URATA <ur@a-r.org>
 1.6 14-Jun-2000  veego Remove the obsolete config fragments for kernel crypto, because the IPsec
crypto code is now in the kernel source tree.
 1.5 22-Mar-2000  cgd branches: 1.5.2;
add commented out option PCI_CONFIG_DUMP whever there's a PCIVERBOSE.
 1.4 22-Feb-2000  soda merge changes between OpenBSD-2.1 and OpenBSD-2.6
 1.3 26-Jan-2000  soda options<SPACE><TAB> and options "<foo>=<bar>" clean up
pointed point by enami@netbsd.org
 1.2 23-Jan-2000  soda merge to NetBSD-current (DeskStation and Algor support is currently broken)
 1.1 23-Jan-2000  soda branches: 1.1.1;
Initial revision
 1.1.1.2 22-Feb-2000  soda OpenBSD-2.6/arc
 1.1.1.1 23-Jan-2000  soda OpenBSD-2.1/arc
 1.5.2.1 22-Jun-2000  minoura Sync w/ netbsd-1-5-base.
 1.7.2.1 10-Aug-2000  soda Pull up to netbsd-1-5 branch.
Approved by: thorpej

- Add WSEMUL_VT100 to configuration files using wsdisplay.
- Update MIMORI configuration.

Revisions pulled up:
> cvs rdiff -r1.7 -r1.8 syssrc/sys/arch/arc/conf/ARCTIC
> cvs rdiff -r1.36 -r1.37 syssrc/sys/arch/arc/conf/GENERIC
> cvs rdiff -r1.8 -r1.9 syssrc/sys/arch/arc/conf/M403
> cvs rdiff -r1.1 -r1.2 syssrc/sys/arch/arc/conf/MIMORI
> cvs rdiff -r1.2 -r1.3 syssrc/sys/arch/arc/conf/PCCONS
> cvs rdiff -r1.21 -r1.22 syssrc/sys/arch/arc/conf/PICA
> cvs rdiff -r1.9 -r1.10 syssrc/sys/arch/arc/conf/RAMDISK
 1.9.4.1 21-Jun-2001  nathanw Catch up to -current.
 1.9.2.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.9.2.1 24-Sep-2000  bouyer file ARCTIC was added on branch thorpej_scsipi on 2000-11-20 20:00:23 +0000
 1.12.2.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.12.2.5 06-Sep-2002  jdolecek sync kqueue branch with HEAD
 1.12.2.4 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.12.2.3 16-Mar-2002  jdolecek Catch up with -current.
 1.12.2.2 11-Feb-2002  jdolecek Sync w/ -current.
 1.12.2.1 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.13.2.7 18-Oct-2002  nathanw Catch up to -current.
 1.13.2.6 20-Jun-2002  nathanw Catch up to -current.
 1.13.2.5 17-Apr-2002  nathanw Catch up to -current.
 1.13.2.4 01-Apr-2002  nathanw Catch up to -current.
(CVS: It's not just a program. It's an adventure!)
 1.13.2.3 28-Feb-2002  nathanw Catch up to -current.
 1.13.2.2 08-Jan-2002  nathanw Catch up to -current.
 1.13.2.1 13-Nov-2001  nathanw file ARCTIC was added on branch nathanw_sa on 2002-01-08 00:23:04 +0000
 1.19.4.1 01-Aug-2002  lukem Pull up revision 1.20 (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.19.2.1 14-Jul-2002  gehenna catch up with -current.
 1.23.2.10 11-Dec-2005  christos Sync with head.
 1.23.2.9 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.23.2.8 04-Mar-2005  skrll Sync with HEAD.

Hi Perry!
 1.23.2.7 15-Feb-2005  skrll Sync with HEAD.
 1.23.2.6 04-Feb-2005  skrll Sync with HEAD.
 1.23.2.5 24-Jan-2005  skrll Sync with HEAD.
 1.23.2.4 14-Nov-2004  skrll Sync with HEAD.
 1.23.2.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.23.2.2 18-Sep-2004  skrll Sync with HEAD.
 1.23.2.1 03-Aug-2004  skrll Sync with HEAD
 1.26.2.1 15-Jul-2004  he Pull up revision 1.27 (requested by atatat in ticket #663):
Add "options SYSCTL_INCLUDE_DESCR" to a lot of configurations,
but commented out in most of them.
 1.29.4.1 29-Apr-2005  kent sync with -current
 1.30.2.2 19-Mar-2005  yamt sync with head. xen and whitespace. xen part is not finished.
 1.30.2.1 12-Feb-2005  yamt sync with head.
 1.33.6.3 03-Sep-2007  yamt sync with head.
 1.33.6.2 30-Dec-2006  yamt sync with head.
 1.33.6.1 21-Jun-2006  yamt sync with head.
 1.33.4.1 18-Jul-2005  riz Pull up revision 1.34 (requested by tron in ticket #566):
Add (commented out) IPSEC_NAT_T option.
 1.41.6.1 22-Apr-2006  simonb Sync with head.
 1.41.4.1 09-Sep-2006  rpaulo sync with head
 1.41.2.1 18-Feb-2006  yamt sync with head.
 1.43.6.1 31-Mar-2006  tron Merge 2006-03-31 NetBSD-current into the "peter-altq" branch.
 1.43.4.1 19-Apr-2006  elad sync with head - hopefully this will work
 1.43.2.2 03-Sep-2006  yamt sync with head.
 1.43.2.1 01-Apr-2006  yamt sync with head.
 1.45.4.1 22-Oct-2006  yamt sync with head
 1.45.2.1 18-Nov-2006  ad Sync with head.
 1.46.16.1 26-Jun-2007  garbled Sync with HEAD.
 1.46.10.1 11-Jul-2007  mjf Sync with head.
 1.46.8.1 15-Jul-2007  ad Sync with head.
 1.47.10.1 06-Nov-2007  matt sync with HEAD
 1.48.28.2 28-Apr-2009  skrll Sync with HEAD.
 1.48.28.1 19-Jan-2009  skrll Sync with HEAD.
 1.48.26.1 13-Dec-2008  haad Update haad-dm branch to haad-dm-base2.
 1.48.20.3 11-Aug-2010  yamt sync with head.
 1.48.20.2 11-Mar-2010  yamt sync with head
 1.48.20.1 04-May-2009  yamt sync with head.
 1.48.16.1 17-Jan-2009  mjf Sync with HEAD.
 1.50.4.1 13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.52.4.3 21-Apr-2011  rmind sync with head
 1.52.4.2 05-Mar-2011  rmind sync with head
 1.52.4.1 30-May-2010  rmind sync with head
 1.52.2.2 17-Aug-2010  uebayasi Sync with HEAD.
 1.52.2.1 30-Apr-2010  uebayasi Sync with HEAD.
 1.55.4.1 08-Feb-2011  bouyer Add QUOTA2 where QUOTA is enabled (and QUOTA2 commented out where QUOTA
is commented out)
 1.55.2.1 06-Jun-2011  jruoho Sync with HEAD.
 1.56.4.3 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.56.4.2 30-Oct-2012  yamt sync with head
 1.56.4.1 17-Apr-2012  yamt sync with head
 1.58.2.3 03-Dec-2017  jdolecek update from HEAD
 1.58.2.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.58.2.1 23-Jun-2013  tls resync from head
 1.64.2.1 28-Aug-2013  rmind sync with head
 1.65.4.1 10-Aug-2014  tls Rebase.
 1.67.2.2 28-Aug-2017  skrll Sync with HEAD
 1.67.2.1 22-Sep-2015  skrll Sync with HEAD
 1.71.4.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.71.4.1 10-Jun-2019  christos Sync with HEAD
 1.71.2.1 06-Sep-2018  pgoyette Sync with HEAD

Resolve a couple of conflicts (result of the uimin/uimax changes)
 1.72.6.1 25-Jan-2020  ad Sync with head.
 1.204 29-Jan-2024  christos PR/57889: Ricardo Branco: ext2fs does not have user immutable and append
file flags, only system ones. Restrict those to the superuser. Before
the behavior was controlled by EXT2FS_SYSTEM_FLAGS. Make that behavior the
default.
 1.203 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.202 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.201 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.200 27-Sep-2020  roy vether: Add to kernel configurations

It's only enabled if the kernel enabled bridge AND tap.
Otherwise it's commented out.
 1.199 01-Aug-2020  maxv Remove references to BRIDGE_IPF, it is now compiled in by default.
 1.198 29-May-2020  tsutsui Try to shrink kernels to smaller than ~6MB due to ARC BIOS restriction.

Currently NetBSD/arc kernels are loaded at 0x80200000
(on some machines ARC BIOS uses regions before it) and
ARC BIOS also uses around 0x807f0000, so bootloader fails
on loading >6MB kernels.

Note GXemul doesn't have this restriction because it loads
a kernel directly via a command line argument.

Tested by installing using sysinst on RAMDISK kernel on netbsd-9.

Should be pulled up to netbsd-9.
 1.197 25-Jan-2020  thorpej Retire "le* at pci?" from the shipped kernel configs:
- If the config had both an le@pci and a pcn, simply remove le@pci
(pcn would match at a higher priority anyway).
- If the config had le@pci enabled, but no pcn, change le@pci to pcn.
- If the config had le@pci commented out, but no pcn, change le@pci
to pcn and leave it commented out.

The pcn driver supports more chips than le@pci and does DMA directly
to/from mbufs rather than memory copies.
 1.196 20-Jan-2020  thorpej Remove FDDI support.
 1.195 19-Jan-2020  thorpej Remove HIPPI support and the esh(4) driver that uses it. There have not
been any users of HIPPI for some time, and it is unlikely to be resurrected.
 1.194 19-Jan-2020  thorpej Remove the strip(4) - Starmode Radio IP - pseudo-device driver. It is
long since obsolete.
 1.193 26-Apr-2019  sevan branches: 1.193.2; 1.193.4;
Enable BUFQ_PRIOCSCAN, CARP, Veriexec by default in GENERIC kernel configs.
On ports without a GENERIC kernel config enable in individul files, e.g evbmips.
Omit on:
atari, dreamcast, emips, epoc32, evbppc/VIRTEX*, ia64, luna68x, mvme68k,
mvmeppc, playstation2, riscv, sun2, sun3, x68k, zaurus due to resource
constraints or port infancy.
 1.192 12-Dec-2018  maxv Remove references to "lmc" in the kernel configurations.
 1.191 06-Sep-2018  maxv Retire the 'midway' driver. Discussed on tech-net@ recently and also three
years ago, part of removing the network ATM code.
 1.190 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.189 23-Jan-2018  sevan branches: 1.189.2; 1.189.4;
Alternate buffer queue strategies no longer considered experimental, update
description.

Discussed on tech-kern
http://mail-index.netbsd.org/tech-kern/2018/01/21/msg023002.html
 1.188 14-Sep-2017  mrg clean up COMPAT_* options for native netbsd code:
- new series of files that are useful for saying "i want everything
since netbsd 1.4", etc.
- use the fact COMPAT_* options have future dependancies to remove
many redundant options.

removes about 3000 lines total across kernel configuration files.
tested about 30 random kernels in the changed list.
 1.187 13-Sep-2017  sevan 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.186 29-Jul-2017  maxv Remove TCP_COMPAT_42 from the config files. Pass 3.
 1.185 08-Aug-2015  maxv branches: 1.185.10;
Remove KMEMSTATS.
 1.184 16-Nov-2014  manu branches: 1.184.2;
Remove unused extended attributes kernel options

As Masao Uebayashi pointed to me, UFS_EXTATTR_AUTOSTART, LFS_EXTATTR_AUTOSTART
and UFS_EXTATTR_AUTOCREATE are not used anywhere in the code. Remove them
as they have been obsolete for a long time:
UFS_EXTATTR_AUTOSTART was replaced by mount -o extattr
LFS_EXTATTR_AUTOSTART was created to match obsolete UFS_EXTATTR_AUTOSTART
UFS_EXTATTR_AUTOCREATE was replaced by sysctl vfs.ffs.extattr_autocreate
 1.183 12-Nov-2014  manu Support for UFS1 extended attributes in GENERIC and GENERIC-like kernels

This change just brings UFS1 extended attribute *support* in the kernel,
extended attributes are not enabled unless three conditions are met:
1) filesystem is UFS1 (newfs -O1)
2) .attribute/system and .attribute/user directories are created at fs root
3) filesystem is mounted with -o extattr

Some GENERIC kernels are obviously memory constrained, the extended
attributes options were not enabled for them, but just added commented out.
(kernel were considered memory constrained if QUOTA option was disabled)
 1.182 23-Aug-2014  dholland Systematize (and in many cases, fix) the comments on options COMPAT_NN.

There are quite a few configs that are missing some COMPAT_NN options
in ways that don't make sense; this should probably get cleaned up
too, but for the time being I've not added or removed anything.
 1.181 16-Aug-2014  apb Add "options COMPAT_70" to all kernel configuration files that
already had "options COMPAT_60".
 1.180 20-Jul-2014  alnsn branches: 1.180.2;
Add commented out bpfjit options to mips kernels.
While here, add 2 missing RCS ids.
 1.179 30-Jun-2013  rmind branches: 1.179.4;
G/C PFIL_HOOKS from the kernel configs.
 1.178 05-Jun-2013  christos branches: 1.178.2;
remove obsolete networking options
 1.177 27-Apr-2013  christos more bogus number removal
 1.176 27-Apr-2013  christos the bogus number police
 1.175 27-Apr-2013  christos remove confusing numeric locators where they are unused.
 1.174 02-Mar-2013  christos Under FAST_IPSEC, IPSEC_ESP is mandatory; GC it.
 1.173 01-Mar-2013  joerg Retire OSI network stack. OK core@
 1.172 17-Oct-2012  apb Add "options COMPAT_60" to all kernel configuration files
that already had "options COMPAT_50".
 1.171 17-Aug-2012  abs branches: 1.171.2;
Update all kernel configs mentioning WSEMUL_* but not already including
WSDISPLAY_COMPAT_USL using the following rules:
- If WSEMUL_ is commented out, add commented out out WSDISPLAY_COMPAT_USL
- If INSTALL or obviously memory constrained, add WSDISPLAY_DEFAULTSCREENS=1
and commented out WSDISPLAY_COMPAT_USL
- Otherwise add WSDISPLAY_COMPAT_USL

Some of the INSTALL configs for larger memory machines are probably suitable
for adding WSDISPLAY_COMPAT_USL.

Now wsconscfg(8) should be able to switch VTs when expected.

Implemented after no objection from tech-kern to the following:

On 5 June 2012 09:47, David Brownlee <abs@absd.org> wrote:
> wsconscfg(8) requires WSDISPLAY_COMPAT_USL in order to switch virtual
> terminals.
>
> Except when in an exceptionally memory or space constrained
> environment (INSTALL being the obvious case), is there any reason why
> all GENERIC and GENERIC-like kernels which have wscons enabled
> shouldn't also have WSDISPLAY_COMPAT_USL?
 1.170 10-Mar-2012  joerg P1003_1B_SEMAPHORE is no longer optional.
 1.169 18-Dec-2011  dholland WABPL is no longer considered experimental (has not been for some time)
so update its comment in config files.
 1.168 22-Nov-2011  tls branches: 1.168.2;

The rnd pseudo-device is not really optional, because it is in the same
source file as the entropy-pool code itself. Move it to std. This
will be cleaned up more when I split the sources up as they should be.

This fixes build breaks on several ports. Thanks to Havard Eidnes for
pointing them out.
 1.167 06-Mar-2011  bouyer branches: 1.167.4;
merge the bouyer-quota2 branch. This adds a new on-disk format
to store disk quota usage and limits, integrated with ffs
metadata. Usage is checked by fsck_ffs (no more quotacheck)
and is covered by the WAPBL journal. Enabled with kernel
option QUOTA2 (added where QUOTA was enabled in kernel config files),
turned on with tunefs(8) on a per-filesystem
basis. mount_mfs(8) can also turn quotas on.

See http://mail-index.netbsd.org/tech-kern/2011/02/19/msg010025.html
for details.
 1.166 06-Mar-2011  tsutsui Remove trailing spaces.
 1.165 23-Nov-2010  hannken branches: 1.165.2; 1.165.4;
Remove unused count from pseudo-device md.
 1.164 08-May-2010  mrg enable IPFILTER_COMPAT in all kernels that have ipfilter already.
canonicalise several of the ipf option segments in various files
(this mostly means adding commented out IPFILTER_DEFAULT_BLOCK,
or adding commented or uncommented IPFILTER_LOG or IPFILTER_LOOKUP
option statements.)

i built about 20 of these kernels to check, but not all of them.
 1.163 16-Apr-2010  pooka Remove unused count (invariably "4") from pseudo-device fss.
 1.162 05-Dec-2009  pooka branches: 1.162.2; 1.162.4;
Remove the portalfs kernel file system driver. Replace mount_portal(8)
with a version based on puffs. User functionality remains the same.
 1.161 24-Jan-2009  mrg add COMPAT_50 to all the configs with COMPAT_40.
 1.160 24-Nov-2008  ad Remove softdep, pass 1. We are focused on improving journalling.

Proposed on tech-kern@.
 1.159 20-Nov-2008  tsutsui It looks the ARC BIOS has another limit which prevents loading
a kernel larger than 8MB (it is not emulated by gxemul BTW),
so disable several devices in GENERIC and shrink RAMDISK kernel again
by sprinkled "no" keywords etc.
 1.158 12-Nov-2008  ad Remove LKMs and switch to the module framework, pass 1.

Proposed on tech-kern@.
 1.157 15-Sep-2008  tsutsui branches: 1.157.2; 1.157.4;
Enable more PCI devices.
 1.156 15-Sep-2008  tsutsui Enable options TMPFS.
 1.155 30-Aug-2008  tsutsui Add CPUFLAGS to optimize for mips3 since no mips1 machines on this port.
 1.154 10-Aug-2008  tls Add accept filters to GENERIC kernels where they exist.
 1.153 31-Jul-2008  simonb Add "options WAPBL" to standard GENERIC/INSTALL type configs.
 1.152 31-Dec-2007  ad branches: 1.152.6; 1.152.10; 1.152.12; 1.152.16;
Remove systrace. Ok core@.
 1.151 04-Nov-2007  xtraeme branches: 1.151.2; 1.151.8;
Remove System V semaphores and share memory options to set the limits:
SEMMNI, SEMMNS, SEMUME and SHMMAXPGS.

They can be tweaked via sysctl now. Ports that were setting values on
them weren't touched, I only removed the ones that were commented out.
 1.150 17-Oct-2007  garbled Merge the ppcoea-renovation branch to HEAD.

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

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

NOTES:
pmppc was removed as an arch, and moved to a evbppc target.
 1.149 22-Aug-2007  tsutsui branches: 1.149.2; 1.149.6;
Add (commented out) options RAID_AUTOCONFIG.
 1.148 06-Aug-2007  adrianp Remove iso(4) from GENERIC kernels, as discussed on tech-net@
Ok'ed by core@
 1.147 26-Jun-2007  tsutsui branches: 1.147.2; 1.147.4; 1.147.8;
Add options COMPAT_40.
 1.146 04-Jun-2007  martin Add pseudo-device agr to all GENERIC kernels where it might make sense
(commented out in some).
 1.145 11-Nov-2006  jmmv branches: 1.145.2; 1.145.8; 1.145.10; 1.145.16; 1.145.18;
Remove tmpfs's experimental status. OK'ed by core@.
 1.144 27-Sep-2006  manu - Document COMPAT_15 as doing nothing
- Add COMPAT_15 to all the kernel that had COMPAT_14, for the sake of coherency
- Remove the only occurences of #ifdef COMPAT_15 in the tree: for the ARM
ports, COMPAT_15 was always used in conjunction with EXEC_AOUT. Only EXEC_AOUT
matters here.

This address kern/18407
 1.143 26-Aug-2006  christos branches: 1.143.2; 1.143.4;
PR/34283: Gene ENonymous: Add IPFILTER_LOOKUP to the default kernel options
Also remove CCITT,NS,NIP
 1.142 26-Aug-2006  tsutsui Remove obsolete #options VERIFIED_EXEC, found by grep(1).
 1.141 12-Aug-2006  christos Disable SYSTRACE by default on all kernels (discussed with core)
 1.140 22-Jul-2006  tsutsui branches: 1.140.2;
- reorganize bootinfo structures and fix bootinfo handling in bootloader
(mostly based on pmax)
- pass symbol info from bootloader to kernel via bootinfo
(currently bootinfo is allocated in the bootloader and
copied by kernel later; maybe we should rethink about this)
- use passed bootinfo to initialize ksyms(4) in kernel
- remove options SYMTAB_SPACE from kernel config files
- bump bootloader version
 1.139 09-Jul-2006  he Add 8k more SYMTAB_SPACE so that it fits again.
 1.138 28-Jun-2006  liamjfoy Add CARP to GENERIC kernel configs. CARP is not enabled by default.

ok: christos
 1.137 15-Apr-2006  tsutsui branches: 1.137.4;
Add bmtphy at mii, found on 3Com 3C982-TXM:
> bmtphy0 at ex0 phy 24: Broadcom 3c905C internal PHY, rev. 7
 1.136 15-Apr-2006  tsutsui Add support for pci_configure_bus(9) (a.k.a. options PCI_NETBSD_CONFIGURE)
so that PCI devices over ppb(4) work properly on PCI based NEC machines.

Tested on my NEC JC94 (Express5800/230) and 3Com 3C982-TXM,
which has a DEC/Intel 21154 PCI-PCI bridge and two 3C920 Ethernet chips.
 1.135 28-Mar-2006  pavel 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.134 05-Feb-2006  cube branches: 1.134.2; 1.134.4; 1.134.6;
Remove 'count' argument for pseudo-devices that ignore it
(vnd, bpfilter, ppp, gif, gre, tun, sl, strip, faith, stf).
 1.133 04-Feb-2006  rpaulo bpfilter doesn't accept count anymore.
 1.132 02-Feb-2006  reinoud branches: 1.132.2;
Add commented out UDF file-system entry in all GENERIC configurations.
 1.131 20-Dec-2005  thorpej branches: 1.131.2; 1.131.4;
Remove the tablet line discipline.
 1.130 09-Dec-2005  elad Add (commented out) Veriexec options and pseudo-device to GENERIC kernels,
and remove the i386 GENERIC_VERIEXEC config.
 1.129 07-Dec-2005  tsutsui Adjust comments for options FFS_NO_SNAPSHOT.

XXX: This option should be mentioned in options(4).
 1.128 25-Nov-2005  thorpej swcr -> swcrypto
 1.127 25-Nov-2005  thorpej "pseudo-device crypto" really refers to the /dev/crypto API to the
opencrypto framework, not the framework itself. Update the comment
accordingly.
 1.126 25-Nov-2005  thorpej Add "pseudo-device swcr" (commented out if "pseudo-device crypto" is also
commented out).
 1.125 03-Nov-2005  chs branches: 1.125.2;
turn off DEBUG and DIAGNOSTIC in GENERIC kernels so that they
are compatible with the LKMs that are part of the release.
 1.124 10-Sep-2005  jmmv Initial addition of tmpfs, an efficient memory file-system. This project
was developed as part of Google's Summer of Code 2005 program. This
change adds the kernel code, the mount_tmpfs utility, a regression test
suite and does all other related changes to integrate these.

The file-system is still *experimental*. Therefore, it is disabled by
default in all kernels. However, as typically done, a commented-out
entry is added in them to ease its setup.

Note that I haven't commited the required mountd(8) changes to be able
to export tmpfs file-systems because NFS support is still very unstable
and because, before enabling it, I'd like to do some other changes.

OK'ed by my project mentor, William Studenmund (wrstuden@).
 1.123 28-Aug-2005  tsutsui options<space><tab>
 1.122 19-Aug-2005  christos Enable ptyfs by default on the non-install and non small/tiny/ramdisk kernels
 1.121 19-Aug-2005  christos 64 bit inode changes.
 1.120 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.119 30-Jul-2005  yamt add "options VMSWAP" to non INSTALL kernels.
 1.118 17-Jul-2005  hubertf Add support for reading cloop2 compressed filesystem image,
enable by putting VND_COMPRESSION into kernel config file.
Written by Cliff Wright, polished up slightly by me.
 1.117 07-Jul-2005  tron Add (commented out) IPSEC_NAT_T option.
 1.116 25-Jun-2005  rpaulo branches: 1.116.2;
Add file-system PTYFS (commented out) so that people know its existence.

Ok'ed by Christos Zoulas and Hubert Feyrer.
 1.115 09-Jun-2005  tsutsui - Rename options NEW_BUFQ_STRATEGY -> options BUFQ_READPRIO.
(still commented out)
- Add (also commented out) options BUFQ_PRIOCSCAN.

Suggested by perry and soda on tech-kern.
Please refer options(4) for details for these options.
 1.114 31-May-2005  tron Remove attachment for the piixide(4) driver from all non-x86 kernel
configurations because Intel IDE disk controllers only exist as part
of Intel chipsets for x86 systems.
 1.113 18-Feb-2005  dsl branches: 1.113.4;
Invert FFS_SNAPSHOT to FFS_NO_SNAPSHOT
 1.112 11-Feb-2005  dsl Add 'option FFS_SNAPSHOT' to most of the config files.
Commented out for kernels that appear to hace space constraints.
 1.111 31-Jan-2005  hannken Add file system snapshots to kernel configs.

- Ffs internal snapshots get compiled in unconditionally.

- File system snapshot device fss(4) added to all kernel configs that
have a disk. Device is commented out on all non-GENERIC kernels.

Reviewed by: Jason Thorpe <thorpej@netbsd.org>
 1.110 28-Jan-2005  rumble Sprinkle options UFS_DIRHASH on GENERIC kernels. It's presently
commented out and labeled experimental pending further review and
testing.
 1.109 21-Jan-2005  tsutsui branches: 1.109.2;
Add options COMPAT_20.
 1.108 17-Jan-2005  cube Add tap(4) support to a random^Wcarefully chosen set of kernel configs.
All those kernels have a line for both tun and bridge, and if either is
commented out, tap is commented out also. With the exception of i386's
GENERIC_TINY.

XXX: we _need_ some way of making this more simple.
 1.107 24-Nov-2004  bouyer branches: 1.107.4;
pdcsata(4), a driver for the Promise SATA150 (aka PDC203xx) serie of
controllers. Tested with a PDC20375 (2 SATA, one PATA) controller on sparc64.
Added to all kernel config file which had pdcide(4).
 1.106 10-Nov-2004  christos Add COMPAT_BSDPTY to the rest of the config files.
 1.105 04-Sep-2004  manu IPv4 PIM support, based on a submission from Pavlin Radoslavov posted on
tech-net@
 1.104 15-Jul-2004  atatat Add "options SYSCTL_INCLUDE_DESCR" to a lot of configs, but commented
out in most of them.
 1.103 28-Jun-2004  bouyer Add options P1003_1B_SEMAPHORE
to all GENERIC-like kernel config files where SYSV* options were already
present (commented out if the SYSV* options are commented out).
Fix lib/25897 and lib/25898.
 1.102 26-Jun-2004  abs Add (commented out) ALTQ options to all GENERIC-like files
 1.101 22-Jun-2004  itojun have pf and pflog pseudo-device (commented out).
reviewed by matt, perry, christos
 1.100 18-Jun-2004  christos ptm is now mandatory, depends on pty, and can be disabled with -DNO_DEV_PTM
 1.99 16-Jun-2004  christos Add pseudo-device ptm on all the generic flavored kernels.
 1.98 14-Jan-2004  jonathan branches: 1.98.2;
Add support for opencrypto, PCI accelerators to sys/arch/*/conf/GENERIC
files for machines I know to have genuine PCI slots. As sent to tech-kern
for feedback in December 2003. Based on feedback, opencrypto is commented
out in the macppc GENERIC (due to absense of GENERIC_SOFTINT support),
and added to the sparc64 config (sys/arch/sparc64/conf/GENERIC32).
 1.97 14-Dec-2003  thorpej Split the Intel i31244 SATA controller ("Artisea") driver out of piixide
into its own driver (artsata).
 1.96 13-Dec-2003  thorpej Split out the Silicon Image SATALink support into its own driver,
"satalink".
 1.95 21-Oct-2003  tsutsui - Use scsibus* at scsi?
- Use atabus* at ata?
- Use atapibus* atapi?
- Sort ATA/ATAPI device entries.
- Comment out aceride, piixide, siside, and viaide.
 1.94 08-Oct-2003  bouyer Add new per-chip pciide drivers.
 1.93 08-Oct-2003  bouyer Add atabus.
 1.92 27-Sep-2003  tsutsui Add options COMPAT_16.
 1.91 06-Aug-2003  bouyer Add esiop at pci to GENERIC which already have siop at pci.
esiop has been tested enouth now.
esiop not added to INSTALL kernels because of possible space constraint.
siop should be able to drive all adapters supported by esiop.
 1.90 15-Jun-2003  tsutsui branches: 1.90.2;
Add isapnp0 at isa and enable working isa/isapnp devices.
 1.89 15-Jun-2003  tsutsui Remove nonexistent we* at isapnp.
 1.88 15-Jun-2003  tsutsui Don't enable both pc0 and vga0 at isa.
 1.87 14-Jun-2003  tsutsui Change DESKstation -> DeskStation, as per spelling on the Tyne board.
 1.86 22-May-2003  tsutsui Uppercase PICA.

"PICA" stands for "Performance-enhanced I/O and CPU Architecture."
 1.85 04-May-2003  tsutsui Rewrite jazzio asc SCSI driver to use MI ncr53c9x and bus_dma(9) with
BUS_DMA_ALLOCNOW flag for jazzio bus DMAC.

Tested on Soda's NEC Image RISCstation (which is an OEM of Acer PICA),
and should fix port-arc/13388.
 1.84 26-Apr-2003  ragge Add pseudo-device ksyms.
 1.83 06-Apr-2003  tsutsui Enable oosiop at jazzio.
While I'm here, use wildcard for osiop unit.
 1.82 27-Feb-2003  perseant Make BRIDGE_IPF an option, and document it. Add it (commented) to GENERIC.
Let brconfig tell whether the bridge is using the ipfilter hook, or not.
 1.81 11-Feb-2003  tsutsui - Enable options SYMTAB_SPACE by default.
- Use options<space><tab> .
 1.80 31-Jan-2003  tsutsui Enable vga0 at isa?, and add options VGA_RESET and
(commented out) options VGA_RASTERCONSOLE for NEC-J96A and NEC-R96.
 1.79 04-Jan-2003  tsutsui Add options MIIVERBOSE.
 1.78 07-Dec-2002  tsutsui Add (commented out) options SYMTAB_SPACE.
 1.77 30-Nov-2002  tsutsui Add a configuration of struct platform for NEC-J96A,
NEC Express5800/240 with R4400 and EISA.

XXX not functionally working yet. (hangs after mountroot via NFS)
 1.76 22-Nov-2002  wiz Fix typo (responsiness -> responsiveness).
 1.75 18-Oct-2002  junyoung Add NEW_BUFQ_STRATEGY (disabled by default).
 1.74 14-Oct-2002  elric Added commented out cgd(4)s to GENERIC configs.
 1.73 06-Oct-2002  provos add SYSTRACE; approved perry.
 1.72 25-Sep-2002  martti Add one space between "#option" and "<tab>IPFILTER_DEFAULT_BLOCK"
 1.71 20-Sep-2002  martti Added (commented out) IPFILTER_DEFAULT_BLOCK.
 1.70 18-Sep-2002  lukem enable USERCONF by default; it's small and extremely useful to have available.
 1.69 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.68 25-Apr-2002  atatat branches: 1.68.2; 1.68.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.67 17-Apr-2002  mycroft Switch from de to tlp by default.
 1.66 15-Apr-2002  tsutsui Remove (commented-out) pmsi entries.
 1.65 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.64 17-Mar-2002  tsutsui Fix typo.
 1.63 04-Mar-2002  sommerfeld The "gif*" tunnelling interface does everything ipip does.
Move usage example from ipip.4 to gif.4
Excise ipip and stitch up the scars.
 1.62 10-Feb-2002  wiz Update description for icsphy.
 1.61 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.60 19-Jan-2002  oster Add new RF_* options for RAIDframe bits that are no longer built by default.

While we're here, enable RAIDframe (and RAID_AUTOCONFIG) by default for
architectures that I'm comfortable can deal with it being on by default.

Also: bump the number of 'raid' devices from 4 to 8, since 4 seems to
be insufficient in practise.
 1.59 28-Dec-2001  martin Add PPPoE to all generic kernels that should be able to use it.
XXX TODO: do this for INSTALL kernels too, add sysinst support and make the
XXX needed binaries available on the ramdisk root fs.
 1.58 14-Dec-2001  gmcgarry 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.57 23-Nov-2001  atatat The bridge(4) pseudo-device no longer requires the port to
__HAVE_GENERIC_SOFT_INTERRUPTS, so add it back to all GENERIC configs.
 1.56 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.55 20-Nov-2001  lukem - pull in opt_kgdb.h where necessary
- replace opt_kgdb_machdep.h with opt_kgdb.h
- defparam opt_kgdb.h:
KGDB_DEV KGDB_DEVNAME KGDB_DEVADDR KGDB_DEVRATE KGDB_DEVMODE
- move from opt_ddbparam.h to opt_ddb.h:
DDB_FROMCONSOLE DDB_ONPANIC DDB_HISTORY_SIZE DDB_BREAK_CHAR SYMTAB_SPACE
- replace KGDBDEV with KGDB_DEV
- replace KGDBADDR with KGDB_DEVADDR
- replace KGDBMODE with KGDB_DEVMODE
- replace KGDBRATE with KGDB_DEVRATE
- use `9600' instead of `0x2580' for 9600 baud rate
- use correct quotes for options KGDB_DEVNAME="\"com\""
- use correct quotes for options KGDB_DEV="17*256+0"
- remove unnecessary dependancy on Makefile for kgdb_stub.o
- minor whitespace cleanup
 1.54 13-Nov-2001  augustss branches: 1.54.2;
The wsmux pseudo device does not need a count anymore.
 1.53 05-Nov-2001  tsutsui Add trm at pci.
 1.52 03-Sep-2001  tsutsui branches: 1.52.4;
Add more working PCI devices on arc:
pcscp* at pci?
epic* at pci?
pcn* at pci?
rtk* at pci?
sip* at pci?
and remove le at pci, which is superseded by pcn.
 1.51 02-Sep-2001  tsutsui Enable siop at pci.
 1.50 01-Sep-2001  atatat Comment out bridge pseudo devices from ports that don't
__HAVE_GENERIC_SOFT_INTERRUPTS. bridge(4) doesn't compile there.
 1.49 01-Sep-2001  atatat Add bridge pseudo devices to GENERIC configs
 1.48 22-Aug-2001  hubertf More comment changes: 90x[B] -> 90x[BC]
 1.47 08-Jul-2001  abs branches: 1.47.2;
Standardise TCP_COMPAT_42 as commented out, grouped with other COMPAT options,
and with the comment '4.2BSD TCP/IP bug compat. Not recommended'
Add commented out 'TCP_DEBUG # Record last TCP_NDEBUG packets with SO_DEBUG'
(All hail amiga and atari which make some attempt to automate the
multiplicity of config files...)
 1.46 30-Jun-2001  darcy Add System V semaphore resource limits to each GENERIC file that has an
option for System V semaphores. It appears that there are no overrides
in the code and each file has the following added.

options SYSVSEM # System V semaphores
+#options SEMMNI=10 # number of semaphore identifiers
+#options SEMMNS=60 # number of semaphores in system
+#options SEMUME=10 # max number of undo entries per process
+#options SEMMNU=30 # number of undo structures in system
options SYSVSHM # System V shared memory

If anyone thinks that this is incorrect for any of these files, please
correct it.

Note - the i386 port was not forgotten. It was done separately.
 1.45 13-Jun-2001  soda update configurations for "struct platform" and related changes
 1.44 03-Jun-2001  tsutsui Add iha at pci .
 1.43 03-Jun-2001  tsutsui Sort some entries.
 1.42 30-Apr-2001  tsutsui Add MD attachments for the Symbios/NCR 53c710 SCSI controller,
found on the NEC Express5800/230A.
 1.41 24-Dec-2000  ur branches: 1.41.2;
Switch pica to jazzio.
Split shared MD portion between algor and jazzio.
 1.40 19-Dec-2000  bouyer Add pseudo-device vlan
 1.39 24-Sep-2000  jdolecek branches: 1.39.2;
don't specify number of ptys if >= 16 (current default initial number)
pty comments: normalize and g/c what is no longer relevant
 1.38 13-Aug-2000  itojun move "options PULLDOWN_TEST" into sys/sys/mbuf.h (in #ifdef _KERNEL),
as it is no wthe default setting for everyone.

the reason we still use the name "PULLDOWN_TEST" while it is now default:
kame code sharing.
 1.37 23-Jul-2000  ur Add WSEMUL_VT100 to configuration files using wsdisplay.
And update my current configuration. (MIMORI)
 1.36 05-Jul-2000  sommerfeld Comment out EON ISO-over-ip tunneling pseudo-driver, and document as
broken/fragile. Unlikely to be of much use, and confuses new users
when their system crashes when they, or their dhclient stumble over
it. See kern/10500, kern/8994 for the gory details.
 1.35 30-Jun-2000  itojun add PULLDOWN_TEST for all the platforms.
XXX should be moved to somewhere else when stabilized
 1.34 22-Jun-2000  fvdl Remove prefix construction for softdeps. Add SOFTDEP option to GENERIC.
 1.33 17-Jun-2000  soda branches: 1.33.2;
- vga/pckbc attachment for jazz internal bus of Magnum derived machines
(including Pica, NEC RISCstation/RISCserver).
- TGA console initialization for NEC RISCstation 2250,
contributed by Shuichiro URATA <ur@a-r.org>
 1.32 14-Jun-2000  veego Remove the obsolete config fragments for kernel crypto, because the IPsec
crypto code is now in the kernel source tree.
 1.31 09-Jun-2000  soda NEC RISCstation 2250 (RD-94) PCI bus support,
contributed by Shuichiro URATA <ur@a-r.org>
 1.30 27-May-2000  soren branches: 1.30.2;
ncr(4) wouldn't work, so s/ncr/siop/.
 1.29 19-Apr-2000  itojun add stf pseudo interface (commented out due to possible security risks)
 1.28 22-Mar-2000  cgd add commented out option PCI_CONFIG_DUMP whever there's a PCIVERBOSE.
 1.27 22-Feb-2000  soda merge changes between OpenBSD-2.1 and OpenBSD-2.6
 1.26 12-Feb-2000  thorpej Nuke NKMEMCLUSTERS.
 1.25 26-Jan-2000  soda options<SPACE><TAB> and options "<foo>=<bar>" clean up
pointed point by enami@netbsd.org
 1.24 24-Jan-2000  soda Add commented out "ident"-command
from hubertf's changes to (removed) pica/conf/GENERIC
 1.23 23-Jan-2000  soda merge to NetBSD-current (DeskStation and Algor support is currently broken)
 1.22 23-Jan-2000  soda Moved from /cvsroot/syssrc/sys/arch/pica/conf/GENERIC,v
 1.21 20-Jan-2000  wrstuden Add overlay to kernel configs.
 1.20 21-Nov-1999  itojun bring in content of GENERIC.v6 into GENERIC.
remove GENERIC.v6 file (as it is part of GENERIC now).

"faith" interface is commented out by default as it is not really for
general use.
IPsec items are commented out as well, though we can enable "options IPSEC"
without export-related issue ("options IPSEC" will enable authentication
portion only). We may need to think about it again.

if you have problem compiling with INET6 on archs I do not have access to,
please contact me.

XXX what to do with arch/arm32/SHARK{,.v6}?
 1.19 15-Nov-1999  fvdl Add commented out option SOFTDEP to all GENERIC kernels.
 1.18 29-Jul-1999  augustss branches: 1.18.8;
It's time to be COMPAT_14.
 1.17 25-Nov-1998  hwr branches: 1.17.6;
Add (commented out) 'gre' pseudo device line. Feedback is welcome.
Inspired by Klaus Klein.
 1.16 16-Nov-1998  oster Added a (commented out) configuration line for the RAIDframe device driver.
 1.15 26-Jun-1998  lukem remove options FIFO; it's now the default
 1.14 18-Mar-1998  bouyer Add commented out "options FFS_EI"
 1.13 25-Feb-1998  thorpej Fix a few screwups that made it impossible to config these kernels.
 1.12 01-Dec-1997  kleink Add COMPAT_13.
 1.11 20-Nov-1997  fair add pseudo-device rnd, commented out
 1.10 17-Nov-1997  lukem * add commented out DDB_HISTORY_SIZE=100 if DDB exists in config file
* fix up use of 'options<SPACE><TAB>'
 1.9 15-Oct-1997  thorpej Pulldown from marc-pcmcia branch: minimal changes to avoid namespace
collision between Pica port "com" (now "pcom") driver and more heavily-used
"com" driver.
 1.8 23-Aug-1997  mjacob add a before tab to SCSIVERBOSE
 1.7 20-Aug-1997  mjacob add commented out reference SCSIVERBOSE option
 1.6 31-Jan-1997  thorpej branches: 1.6.8;
Adopt for new file system and root spec grammar.
 1.5 15-Jan-1997  perry Eliminate obsolete TIMEZONE and DST options.
Eliminate obsolete global kernel variable "struct timezone tz"
Add RTC_OFFSET option
Add global kernel variable rtc_offset, which is initialized by
RTC_OFFSET at kernel compile time.
on i386, x68k, mac68k, pc532 and arm32, RTC_OFFSET indicates how many
minutes west (east) of GMT the hardware RTC runs. Defaults to 0.
Places where tz variable was used to indicate this in the past have
been replaced with rtc_offset.
Add sysctl interface to rtc_offset.
Kill obsolete DST_* macros in sys/time.h
gettimeofday now always returns zeroed timezone if zone is requested.
settimeofday now ignores and logs attempts to set non-existant kernel
timezone.
 1.4 11-Jan-1997  mikel branches: 1.4.2;
add 'pseudo-device ccd' where necessary; PR kern/1830.
 1.3 26-Aug-1996  mrg add COMPAT_12.
 1.2 16-Jul-1996  thorpej RCS id police.
 1.1 13-Mar-1996  jonathan branches: 1.1.1;
Initial revision
 1.1.1.3 22-Feb-2000  soda OpenBSD-2.6/arc
 1.1.1.2 23-Jan-2000  soda OpenBSD-2.1/arc
 1.1.1.1 13-Mar-1996  jonathan First commit of Per Fogelstrom's port to the Acer pica r4400/isa machine.
 1.4.2.2 18-Jan-1997  thorpej Update from trunk.
 1.4.2.1 14-Jan-1997  thorpej Snapshot of work-in-progress, committed to private branch.

These changes implement machine-independent root device and file system
selection. Notable features:

- All ports behave in a consistent manner regarding root
device selection.
- No more "options GENERIC"; all kernels have the ability
to boot with RB_ASKNAME to select root device and file system
type.
- Root file system type can be wildcarded; a machine-independent
function will try all possible file systems for the selected
root device until one succeeds.
- If the root file system fails to mount, the operator will
be given the chance to select a new root device and file
system type, rather than having the machine simply panic.
- nfs_mountroot() no longer panics if any part of the NFS
mount process fails; it now returns an error, giving the
operator a chance to recover.
- New, more consistent, config(8) grammar. The constructs:

config netbsd swap generic
config netbsd root on nfs

have been replaced with:

config netbsd root on ? type ?
config netbsd root on ? type nfs

Additionally, the operator may select or wildcard root file
system type in the kernel configuration file:

config netbsd root on cd0a type cd9660

config(8) now requires that a "root" specification be
made. "root" may be wired down or wildcarded. "swap" and
"dump" specifications are optional, and follow previous
semantics.

- config(8) has a new "file-system" keyword, used to configure
file systems into the kernel. Eventually, this will be used
to generate the default vfssw[].

- "options NFSCLIENT" is obsolete, and is replaced by
"file-system NFS". "options NFSSERVER" still exists, since
NFS server support is independent of the NFS file system
client.

- sys/arch/<foo>/<foo>/swapgeneric.c is no longer used, and
will be removed; all information is now generated by config(8).

As of this commit, all ports except arm32 have been updated to use
the new setroot(). Only SPARC, i386, and Alpha ports have been
tested at this time. Port masters should test these changes on their
ports, and report any problems back to me.

More changes are on their way, including RB_ASKNAME support in
nfs_mountroot() (to prompt for server address and path) and, potentially,
the ability to select rarp/bootparam or bootp in nfs_mountroot().
 1.6.8.3 15-Oct-1997  thorpej Minimal changes to rename the Pica port's "com" driver to "pcom", to
avoid a namespace collision with the more heavily-used "com" driver,
which needs to be declared in sys/conf/files.
 1.6.8.2 27-Aug-1997  thorpej Update marc-pcmcia branch from trunk.
 1.6.8.1 23-Aug-1997  thorpej Update marc-pcmcia branch from trunk.
 1.17.6.1 02-Aug-1999  thorpej Update from trunk.
 1.18.8.2 27-Dec-1999  wrstuden Pull up to last week's -current.
 1.18.8.1 21-Dec-1999  wrstuden Initial commit of recent changes to make DEV_BSIZE go away.

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

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

Non 2**n block support is automatic for LKM's and conditional for kernels
on "options NON_PO2_BLOCKS".
 1.30.2.1 22-Jun-2000  minoura Sync w/ netbsd-1-5-base.
 1.33.2.4 01-May-2001  he Pull up revision 1.40 (requested by he):
Add pseudo-device vlan.
Make sure "rnd is EXPERIMENTAL" comment is removed.
 1.33.2.3 10-Aug-2000  soda Pull up to netbsd-1-5 branch.
Approved by: thorpej

- Add WSEMUL_VT100 to configuration files using wsdisplay.
- Update MIMORI configuration.

Revisions pulled up:
> cvs rdiff -r1.7 -r1.8 syssrc/sys/arch/arc/conf/ARCTIC
> cvs rdiff -r1.36 -r1.37 syssrc/sys/arch/arc/conf/GENERIC
> cvs rdiff -r1.8 -r1.9 syssrc/sys/arch/arc/conf/M403
> cvs rdiff -r1.1 -r1.2 syssrc/sys/arch/arc/conf/MIMORI
> cvs rdiff -r1.2 -r1.3 syssrc/sys/arch/arc/conf/PCCONS
> cvs rdiff -r1.21 -r1.22 syssrc/sys/arch/arc/conf/PICA
> cvs rdiff -r1.9 -r1.10 syssrc/sys/arch/arc/conf/RAMDISK
 1.33.2.2 06-Jul-2000  sommerfeld Comment out EON ISO-over-ip tunneling pseudo-driver, and document as
broken/fragile. Unlikely to be of much use, and confuses new users
when their system crashes when they, or their dhclient stumble over
it. See kern/10500, kern/8994 for the gory details.
[pull up approved by thorpej]
 1.33.2.1 23-Jun-2000  fvdl As on the trunk, update these for the move of ffs_softdep.c into the
kernel source itself. Remove prefix construction, and add the SOFTDEP
option to GENERIC kernels.
 1.39.2.5 02-Apr-2001  bouyer ahc compiles now, and it works on sparc64 so I can't see why it wouldn't
work on something else :)
 1.39.2.4 28-Mar-2001  bouyer ahc not ready yet.
 1.39.2.3 05-Jan-2001  bouyer Sync with HEAD
 1.39.2.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.39.2.1 24-Sep-2000  bouyer file GENERIC was added on branch thorpej_scsipi on 2000-11-20 20:00:24 +0000
 1.41.2.1 21-Jun-2001  nathanw Catch up to -current.
 1.47.2.8 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.47.2.7 06-Sep-2002  jdolecek sync kqueue branch with HEAD
 1.47.2.6 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.47.2.5 16-Mar-2002  jdolecek Catch up with -current.
 1.47.2.4 11-Feb-2002  jdolecek Sync w/ -current.
 1.47.2.3 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.47.2.2 13-Sep-2001  thorpej Update the kqueue branch to HEAD.
 1.47.2.1 25-Aug-2001  thorpej Merge Aug 24 -current into the kqueue branch.
 1.52.4.1 12-Nov-2001  thorpej Sync the thorpej-mips-cache branch with -current.
 1.54.2.10 07-Jan-2003  thorpej Sync with HEAD.
 1.54.2.9 11-Dec-2002  thorpej Sync with HEAD.
 1.54.2.8 11-Nov-2002  nathanw Catch up to -current
 1.54.2.7 18-Oct-2002  nathanw Catch up to -current.
 1.54.2.6 20-Jun-2002  nathanw Catch up to -current.
 1.54.2.5 17-Apr-2002  nathanw Catch up to -current.
 1.54.2.4 01-Apr-2002  nathanw Catch up to -current.
(CVS: It's not just a program. It's an adventure!)
 1.54.2.3 28-Feb-2002  nathanw Catch up to -current.
 1.54.2.2 08-Jan-2002  nathanw Catch up to -current.
 1.54.2.1 13-Nov-2001  nathanw file GENERIC was added on branch nathanw_sa on 2002-01-08 00:23:04 +0000
 1.68.4.2 24-Oct-2002  lukem Pull up upgrade to IPfilter 3.4.29 (requested by martti in ticket #905).
Affected files & revisions:

dist/ipf/HISTORY 1.14
dist/ipf/fils.c 1.17-1.21
dist/ipf/ipf.c 1.11-1.13
dist/ipf/ipfs.c 1.8-1.10
dist/ipf/ipft_ef.c 1.6-1.7
dist/ipf/ipft_td.c 1.6-1.7
dist/ipf/ipft_tx.c 1.7-1.8
dist/ipf/ipmon.c 1.12-1.17
dist/ipf/ipnat.c 1.11-1.12
dist/ipf/ipsend/ip_var.h 1.2
dist/ipf/ipsend/ipsend.c 1.8
dist/ipf/ipsend/iptests.c 1.5
dist/ipf/ipt.c 1.8-1.10
dist/ipf/kmem.c 1.8-1.10
dist/ipf/man/ipf.4 1.10
dist/ipf/man/ipf.5 1.8
dist/ipf/man/ipftest.1 1.3
dist/ipf/man/ipmon.8 1.10
dist/ipf/man/ipnat.5 1.9-1.10
dist/ipf/man/ipnat.8 1.4
dist/ipf/misc.c 1.7
dist/ipf/natparse.c 1.10
dist/ipf/parse.c 1.13
dist/ipf/printnat.c 1.8-1.10
dist/ipf/relay.c 1.5-1.6
dist/ipf/rules/example.9 1.2
etc/rc.d/ipnat 1.8
regress/sys/kern/ipf/Makefile 1.3-1.4
regress/sys/kern/ipf/dotest6 1.2
regress/sys/kern/ipf/expected/f13 1.1.1.2
regress/sys/kern/ipf/expected/i12 1.1.1.1
regress/sys/kern/ipf/expected/ni3 1.1.1.1
regress/sys/kern/ipf/expected/ni5 1.2
regress/sys/kern/ipf/input/f13 1.1.1.2
regress/sys/kern/ipf/input/ipv6.1 1.1.1.1
regress/sys/kern/ipf/input/ni3 1.1.1.1
regress/sys/kern/ipf/regress/i12 1.1.1.1
regress/sys/kern/ipf/regress/ipv6.1 1.1.1.1
regress/sys/kern/ipf/regress/ni3.ipf 1.1.1.1
regress/sys/kern/ipf/regress/ni3.nat 1.1.1.1
sys/arch/alpha/conf/ALPHA 1.169,1.171
sys/arch/amiga/conf/GENERIC 1.185-1.186
sys/arch/arc/conf/GENERIC 1.71-1.72
sys/arch/atari/conf/GENERIC.in 1.24-1.25
sys/arch/cats/conf/GENERIC 1.31-1.32
sys/arch/cobalt/conf/GENERIC 1.34-1.35
sys/arch/hp300/conf/GENERIC 1.83-1.84
sys/arch/i386/conf/CARDBUS 1.66-1.67
sys/arch/i386/conf/GENERIC 1.510,1.512
sys/arch/i386/conf/GENERIC_LAPTOP 1.58-1.59
sys/arch/i386/conf/GENERIC_PS2TINY 1.19-1.20
sys/arch/i386/conf/GENERIC_TINY 1.47-1.48
sys/arch/luna68k/conf/GENERIC 1.33-1.33
sys/arch/mac68k/conf/GENERIC 1.130-1.131
sys/arch/mac68k/conf/GENERICSBC 1.21-1.22
sys/arch/mac68k/conf/SMALLRAM 1.4-1.5
sys/arch/macppc/conf/GENERIC 1.142-1.143
sys/arch/mipsco/conf/GENERIC 1.21-1.22
sys/arch/mmeye/conf/GENERIC 1.44-1.45
sys/arch/news68k/conf/GENERIC 1.36-1.37
sys/arch/news68k/conf/GENERIC_TINY 1.18-1.19
sys/arch/newsmips/conf/GENERIC 1.50-1.51
sys/arch/ofppc/conf/GENERIC 1.56-1.57
sys/arch/pmax/conf/GENERIC 1.103-1.104
sys/arch/prep/conf/GENERIC 1.55-1.56
sys/arch/sbmips/conf/GENERIC 1.11-1.12
sys/arch/sgimips/conf/GENERIC 1.7-1.8
sys/arch/sparc/conf/GENERIC 1.138-1.139
sys/arch/sparc64/conf/GENERIC32 1.46-1.47
sys/arch/vax/conf/GENERIC 1.102-1.103
sys/arch/x68k/conf/ALL 1.55-1.56
sys/arch/x68k/conf/GENERIC 1.80-1.81
sys/lkm/netinet/if_ipl/mln_ipl.c 1.29
sys/netinet/fil.c 1.57-1.58
sys/netinet/ip_auth.c 1.29-1.30
sys/netinet/ip_compat.h 1.30-1.31
sys/netinet/ip_fil.c 1.81-1.86
sys/netinet/ip_fil.h 1.46-1.49
sys/netinet/ip_frag.c 1.33-1.34
sys/netinet/ip_frag.h 1.18
sys/netinet/ip_ftp_pxy.c 1.25-1.26
sys/netinet/ip_h323_pxy.c 1.5-1.6
sys/netinet/ip_log.c 1.22-1.23
sys/netinet/ip_nat.c 1.51-1.53
sys/netinet/ip_nat.h 1.27
sys/netinet/ip_netbios_pxy.c 1.4
sys/netinet/ip_proxy.c 1.35-1.36
sys/netinet/ip_proxy.h 1.18
sys/netinet/ip_state.c 1.41-1.42
sys/netinet/ip_state.h 1.23
sys/netinet/ipl.h 1.14
 1.68.4.1 01-Aug-2002  lukem Pull up revision 1.69 (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.68.2.1 14-Jul-2002  gehenna catch up with -current.
 1.90.2.11 11-Dec-2005  christos Sync with head.
 1.90.2.10 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.90.2.9 04-Mar-2005  skrll Sync with HEAD.

Hi Perry!
 1.90.2.8 15-Feb-2005  skrll Sync with HEAD.
 1.90.2.7 04-Feb-2005  skrll Sync with HEAD.
 1.90.2.6 24-Jan-2005  skrll Sync with HEAD.
 1.90.2.5 29-Nov-2004  skrll Sync with HEAD.
 1.90.2.4 14-Nov-2004  skrll Sync with HEAD.
 1.90.2.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.90.2.2 18-Sep-2004  skrll Sync with HEAD.
 1.90.2.1 03-Aug-2004  skrll Sync with HEAD
 1.98.2.4 11-Aug-2007  bouyer Pull up following revision(s) (requested by adrianp in ticket #11356):
sys/arch/acorn32/conf/GENERIC 1.80 via patch
sys/arch/amd64/conf/GENERIC 1.154 via patch
sys/arch/amiga/conf/GENERIC.in 1.61 via patch
sys/arch/arc/conf/GENERIC 1.148 via patch
sys/arch/atari/conf/GENERIC.in 1.68 via patch
sys/arch/cats/conf/GENERIC 1.116 via patch
sys/arch/hp300/conf/GENERIC 1.141 via patch
sys/arch/hp700/conf/GENERIC patch
sys/arch/i386/conf/GENERIC 1.840 via patch
sys/arch/i386/conf/GENERIC_LAPTOP 1.239 via patch
sys/arch/i386/conf/GENERIC.MPACPI patch
sys/arch/mac68k/conf/GENERIC 1.182 via patch
sys/arch/sgimips/conf/GENERIC32_IP2x 1.68 via patch
sys/arch/sgimips/conf/GENERIC32_IP3x 1.66 via patch
sys/arch/sparc/conf/GENERIC 1.200 via patch
sys/arch/sparc64/conf/GENERIC32 patch
sys/arch/xen/conf/GENERIC patch
Remove iso(4) from GENERIC kernels, as discussed on tech-net@
Ok'ed by core@
 1.98.2.3 15-Jul-2004  he branches: 1.98.2.3.2;
Pull up revision 1.104 (requested by atatat in ticket #663):
Add "options SYSCTL_INCLUDE_DESCR" to a lot of configurations,
but commented out in most of them.
 1.98.2.2 02-Jul-2004  he Pull up revision 1.103 (requested by bouyer in ticket #573):
Add options P1003_1B_SEMAPHORE to all GENERIC-like kernel
config files where SYSV* options were already present
(commented out if the SYSV* options are commented out).
Fixes PR#25897 and PR#25898.
 1.98.2.1 30-Jun-2004  jdc Pull up revision 1.102 (requested by abs in ticket #567).

Add (commented out) ALTQ options to all GENERIC-like files
 1.98.2.3.2.2 11-Aug-2007  bouyer Pull up following revision(s) (requested by adrianp in ticket #11356):
sys/arch/acorn32/conf/GENERIC 1.80 via patch
sys/arch/amd64/conf/GENERIC 1.154 via patch
sys/arch/amiga/conf/GENERIC.in 1.61 via patch
sys/arch/arc/conf/GENERIC 1.148 via patch
sys/arch/atari/conf/GENERIC.in 1.68 via patch
sys/arch/cats/conf/GENERIC 1.116 via patch
sys/arch/hp300/conf/GENERIC 1.141 via patch
sys/arch/hp700/conf/GENERIC patch
sys/arch/i386/conf/GENERIC 1.840 via patch
sys/arch/i386/conf/GENERIC_LAPTOP 1.239 via patch
sys/arch/i386/conf/GENERIC.MPACPI patch
sys/arch/mac68k/conf/GENERIC 1.182 via patch
sys/arch/sgimips/conf/GENERIC32_IP2x 1.68 via patch
sys/arch/sgimips/conf/GENERIC32_IP3x 1.66 via patch
sys/arch/sparc/conf/GENERIC 1.200 via patch
sys/arch/sparc64/conf/GENERIC32 patch
sys/arch/xen/conf/GENERIC patch
Remove iso(4) from GENERIC kernels, as discussed on tech-net@
Ok'ed by core@
 1.98.2.3.2.1 02-Apr-2005  he branches: 1.98.2.3.2.1.2;
Pull up revision 1.107 (requested by bouyer in ticket #1019):
Add pdcsata(4), a driver for the Promise SATA150 (aka PDC203xx) series of
controllers.
 1.98.2.3.2.1.2.1 11-Aug-2007  bouyer Pull up following revision(s) (requested by adrianp in ticket #11356):
sys/arch/acorn32/conf/GENERIC 1.80 via patch
sys/arch/amd64/conf/GENERIC 1.154 via patch
sys/arch/amiga/conf/GENERIC.in 1.61 via patch
sys/arch/arc/conf/GENERIC 1.148 via patch
sys/arch/atari/conf/GENERIC.in 1.68 via patch
sys/arch/cats/conf/GENERIC 1.116 via patch
sys/arch/hp300/conf/GENERIC 1.141 via patch
sys/arch/hp700/conf/GENERIC patch
sys/arch/i386/conf/GENERIC 1.840 via patch
sys/arch/i386/conf/GENERIC_LAPTOP 1.239 via patch
sys/arch/i386/conf/GENERIC.MPACPI patch
sys/arch/mac68k/conf/GENERIC 1.182 via patch
sys/arch/sgimips/conf/GENERIC32_IP2x 1.68 via patch
sys/arch/sgimips/conf/GENERIC32_IP3x 1.66 via patch
sys/arch/sparc/conf/GENERIC 1.200 via patch
sys/arch/sparc64/conf/GENERIC32 patch
sys/arch/xen/conf/GENERIC patch
Remove iso(4) from GENERIC kernels, as discussed on tech-net@
Ok'ed by core@
 1.107.4.1 29-Apr-2005  kent sync with -current
 1.109.2.2 19-Mar-2005  yamt sync with head. xen and whitespace. xen part is not finished.
 1.109.2.1 12-Feb-2005  yamt sync with head.
 1.113.4.5 28-Aug-2007  ghen Pull up following revision(s) (requested by adrianp in ticket #1826):
sys/arch/hp300/conf/GENERIC: revision 1.141 via patch
sys/arch/amd64/conf/GENERIC: revision 1.154 via patch
sys/arch/cats/conf/GENERIC: revision 1.116 via patch
sys/arch/arc/conf/GENERIC: revision 1.148 via patch
sys/arch/acorn32/conf/GENERIC: revision 1.80 via patch
sys/arch/sparc/conf/GENERIC: revision 1.200 via patch
sys/arch/sparc64/conf/GENERIC: revision 1.88 via patch
sys/arch/atari/conf/GENERIC.in: revision 1.68 via patch
sys/arch/amiga/conf/GENERIC: revision 1.248 via patch
sys/arch/i386/conf/GENERIC.MPACPI: patch
sys/arch/i386/conf/GENERIC_LAPTOP: revision 1.239 via patch
sys/arch/sgimips/conf/GENERIC32_IP3x: revision 1.66 via patch
sys/arch/i386/conf/GENERIC: revision 1.840 via patch
sys/arch/amiga/conf/GENERIC.in: revision 1.61 via patch
sys/arch/sgimips/conf/GENERIC32_IP2x: revision 1.68 via patch
sys/arch/mac68k/conf/GENERIC: revision 1.182 via patch
Remove iso(4) from GENERIC kernels, as discussed on tech-net&#64;
Ok'ed by core&#64;
 1.113.4.4 05-Nov-2005  tron branches: 1.113.4.4.2; 1.113.4.4.4;
Pull up following revision(s) (requested by chs in ticket #929):
sys/arch/hp300/conf/GENERIC: revision 1.124
sys/arch/acorn32/conf/GENERIC: revision 1.62
sys/arch/pdp10/conf/GENERIC: revision 1.19
sys/arch/mvme68k/conf/GENERIC: revision 1.61
sys/arch/netwinder/conf/GENERIC: revision 1.70
sys/arch/sbmips/conf/GENERIC: revision 1.46
sys/arch/macppc/conf/GENERIC: revision 1.214
sys/arch/bebox/conf/GENERIC: revision 1.89
sys/arch/cobalt/conf/GENERIC: revision 1.83
sys/arch/cats/conf/GENERIC: revision 1.92
sys/arch/shark/conf/GENERIC: revision 1.53
sys/arch/amiga/conf/GENERIC.in: revision 1.45
sys/arch/acorn26/conf/GENERIC: revision 1.37
sys/arch/cesfic/conf/GENERIC: revision 1.38
sys/arch/iyonix/conf/GENERIC: revision 1.21
sys/arch/alpha/conf/GENERIC: revision 1.277
sys/arch/vax/conf/GENERIC: revision 1.143
sys/arch/atari/conf/GENERIC.in: revision 1.56
sys/arch/mipsco/conf/GENERIC: revision 1.53
sys/arch/ofppc/conf/GENERIC: revision 1.85
sys/arch/next68k/conf/GENERIC: revision 1.96
sys/arch/arc/conf/GENERIC: revision 1.125
sys/arch/dreamcast/conf/GENERIC: revision 1.62
turn off DEBUG and DIAGNOSTIC in GENERIC kernels so that they
are compatible with the LKMs that are part of the release.
 1.113.4.3 14-Aug-2005  riz Pull up revision 1.118 (requested by hubertf in ticket #625):
Add support for reading cloop2 compressed filesystem images,
enable by putting VND_COMPRESSION into kernel config file.
Written by Cliff Wright, polished up slightly by me.
 1.113.4.2 18-Jul-2005  riz Pull up revision 1.117 (requested by tron in ticket #566):
Add (commented out) IPSEC_NAT_T option.
 1.113.4.1 01-Jun-2005  riz Pull up revision 1.114 (requested by tron in ticket #362):
Remove attachment for the piixide(4) driver from all non-x86 kernel
configurations because Intel IDE disk controllers only exist as part
of Intel chipsets for x86 systems.
 1.113.4.4.4.1 28-Aug-2007  ghen Pull up following revision(s) (requested by adrianp in ticket #1826):
sys/arch/hp300/conf/GENERIC: revision 1.141 via patch
sys/arch/amd64/conf/GENERIC: revision 1.154 via patch
sys/arch/cats/conf/GENERIC: revision 1.116 via patch
sys/arch/arc/conf/GENERIC: revision 1.148 via patch
sys/arch/acorn32/conf/GENERIC: revision 1.80 via patch
sys/arch/sparc/conf/GENERIC: revision 1.200 via patch
sys/arch/sparc64/conf/GENERIC: revision 1.88 via patch
sys/arch/atari/conf/GENERIC.in: revision 1.68 via patch
sys/arch/amiga/conf/GENERIC: revision 1.248 via patch
sys/arch/i386/conf/GENERIC.MPACPI: patch
sys/arch/i386/conf/GENERIC_LAPTOP: revision 1.239 via patch
sys/arch/sgimips/conf/GENERIC32_IP3x: revision 1.66 via patch
sys/arch/i386/conf/GENERIC: revision 1.840 via patch
sys/arch/amiga/conf/GENERIC.in: revision 1.61 via patch
sys/arch/sgimips/conf/GENERIC32_IP2x: revision 1.68 via patch
sys/arch/mac68k/conf/GENERIC: revision 1.182 via patch
Remove iso(4) from GENERIC kernels, as discussed on tech-net@
Ok'ed by core@
 1.113.4.4.2.1 28-Aug-2007  ghen Pull up following revision(s) (requested by adrianp in ticket #1826):
sys/arch/hp300/conf/GENERIC: revision 1.141 via patch
sys/arch/amd64/conf/GENERIC: revision 1.154 via patch
sys/arch/cats/conf/GENERIC: revision 1.116 via patch
sys/arch/arc/conf/GENERIC: revision 1.148 via patch
sys/arch/acorn32/conf/GENERIC: revision 1.80 via patch
sys/arch/sparc/conf/GENERIC: revision 1.200 via patch
sys/arch/sparc64/conf/GENERIC: revision 1.88 via patch
sys/arch/atari/conf/GENERIC.in: revision 1.68 via patch
sys/arch/amiga/conf/GENERIC: revision 1.248 via patch
sys/arch/i386/conf/GENERIC.MPACPI: patch
sys/arch/i386/conf/GENERIC_LAPTOP: revision 1.239 via patch
sys/arch/sgimips/conf/GENERIC32_IP3x: revision 1.66 via patch
sys/arch/i386/conf/GENERIC: revision 1.840 via patch
sys/arch/amiga/conf/GENERIC.in: revision 1.61 via patch
sys/arch/sgimips/conf/GENERIC32_IP2x: revision 1.68 via patch
sys/arch/mac68k/conf/GENERIC: revision 1.182 via patch
Remove iso(4) from GENERIC kernels, as discussed on tech-net@
Ok'ed by core@
 1.116.2.5 21-Jan-2008  yamt sync with head
 1.116.2.4 15-Nov-2007  yamt sync with head.
 1.116.2.3 03-Sep-2007  yamt sync with head.
 1.116.2.2 30-Dec-2006  yamt sync with head.
 1.116.2.1 21-Jun-2006  yamt sync with head.
 1.125.2.1 29-Nov-2005  yamt sync with head.
 1.131.4.1 09-Sep-2006  rpaulo sync with head
 1.131.2.1 18-Feb-2006  yamt sync with head.
 1.132.2.1 22-Apr-2006  simonb Sync with head.
 1.134.6.2 24-May-2006  tron Merge 2006-05-24 NetBSD-current into the "peter-altq" branch.
 1.134.6.1 31-Mar-2006  tron Merge 2006-03-31 NetBSD-current into the "peter-altq" branch.
 1.134.4.1 19-Apr-2006  elad sync with head - hopefully this will work
 1.134.2.4 03-Sep-2006  yamt sync with head.
 1.134.2.3 11-Aug-2006  yamt sync with head
 1.134.2.2 24-May-2006  yamt sync with head.
 1.134.2.1 01-Apr-2006  yamt sync with head.
 1.137.4.1 13-Jul-2006  gdamore Merge from HEAD.
 1.140.2.2 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.140.2.1 14-Aug-2006  tron Pull up following revision(s) (requested by elad in ticket #17):
sys/arch/sparc/conf/KRUPS: revision 1.38
sys/arch/i386/conf/XEN2_DOMU: revision 1.2
sys/arch/i386/conf/GENERIC_LAPTOP: revision 1.197
sys/arch/sgimips/conf/GENERIC32_IP2x: revision 1.53
sys/arch/evbsh5/conf/SIMULATOR: revision 1.12
sys/arch/sparc/conf/MRCOFFEE: revision 1.17
sys/arch/next68k/conf/GENERIC: revision 1.104
sys/arch/i386/conf/VIRTUALPC: revision 1.44
sys/arch/ews4800mips/conf/GENERIC: revision 1.11
sys/arch/evbsh5/conf/CAYMAN: revision 1.23
sys/arch/arc/conf/GENERIC: revision 1.141
sys/arch/amd64/conf/GENERIC: revision 1.103
sys/arch/sun3/conf/GENERIC3X: revision 1.90
sys/arch/evbarm/conf/HDL_G: revision 1.3
sys/arch/sun2/conf/GENERIC: revision 1.57
sys/arch/news68k/conf/GENERIC_TINY: revision 1.51
sys/arch/evbppc/conf/EXPLORA451: revision 1.27
sys/arch/amiga/conf/GENERIC.in: revision 1.54
sys/arch/mac68k/conf/GENERIC: revision 1.174
sys/arch/acorn26/conf/GENERIC: revision 1.45
sys/arch/shark/conf/GENERIC: revision 1.64
sys/arch/cesfic/conf/GENERIC: revision 1.44
sys/arch/mvme68k/conf/GENERIC: revision 1.68
sys/arch/i386/conf/XEN2_DOM0: revision 1.4
sys/arch/atari/conf/GENERIC.in: revision 1.63
sys/arch/amiga/conf/GENERIC: revision 1.240
sys/arch/i386/conf/LAMB: revision 1.65
sys/arch/i386/conf/GENERIC: revision 1.773
sys/arch/acorn32/conf/EB7500ATX: revision 1.26
sys/arch/x68k/conf/GENERIC: revision 1.128
sys/arch/vax/conf/GENERIC: revision 1.153
sys/arch/atari/conf/ATARITT: revision 1.81
sys/arch/mipsco/conf/GENERIC: revision 1.60
sys/arch/cobalt/conf/GENERIC: revision 1.101
sys/arch/evbarm/conf/ARMADILLO9: revision 1.13
sys/arch/ofppc/conf/GENERIC: revision 1.93
sys/arch/atari/conf/MILAN-PCIIDE: revision 1.51
sys/arch/arc/conf/RPC44: revision 1.26
sys/arch/sparc64/conf/GENERIC: revision 1.59
sys/arch/i386/conf/XEN3_DOMU: revision 1.2
sys/arch/hp700/conf/GENERIC: revision 1.68
sys/arch/atari/conf/MILAN-ISAIDE: revision 1.47
sys/arch/macppc/conf/GENERIC: revision 1.231
sys/arch/dreamcast/conf/GENERIC: revision 1.72
sys/arch/news68k/conf/GENERIC: revision 1.80
sys/arch/hp300/conf/GENERIC: revision 1.133
sys/arch/mmeye/conf/GENERIC: revision 1.82
sys/arch/macppc/conf/MAMBO: revision 1.2
sys/arch/cats/conf/GENERIC: revision 1.107
sys/arch/atari/conf/FALCON: revision 1.79
sys/arch/acorn32/conf/GENERIC: revision 1.71
sys/arch/sparc/conf/GENERIC: revision 1.190
sys/arch/news68k/conf/LIBERO: revision 1.40
sys/arch/amiga/conf/DRACO: revision 1.114
sys/arch/cobalt/conf/INSTALL: revision 1.23
sys/arch/luna68k/conf/GENERIC: revision 1.73
sys/arch/bebox/conf/GENERIC: revision 1.100
sys/arch/pmax/conf/GENERIC: revision 1.147
sys/arch/amiga/conf/WSCONS: revision 1.52
sys/arch/macppc/conf/POWERMAC_G5: revision 1.2
sys/arch/alpha/conf/ALPHA: revision 1.218
sys/arch/sun3/conf/GENERIC: revision 1.133
sys/arch/prep/conf/GENERIC: revision 1.124
sys/arch/alpha/conf/GENERIC: revision 1.291
sys/arch/atari/conf/HADES: revision 1.71
sys/arch/newsmips/conf/GENERIC: revision 1.93
sys/arch/netwinder/conf/GENERIC: revision 1.82
sys/arch/hpcmips/conf/GENERIC: revision 1.190
sys/arch/amiga/conf/AMIGA: revision 1.98
sys/arch/sbmips/conf/GENERIC: revision 1.54
sys/arch/pc532/conf/GENERIC: revision 1.64
sys/arch/sgimips/conf/GENERIC32_IP3x: revision 1.53
Disable SYSTRACE by default on all kernels (discussed with core)
 1.143.4.2 10-Dec-2006  yamt sync with head.
 1.143.4.1 22-Oct-2006  yamt sync with head
 1.143.2.1 18-Nov-2006  ad Sync with head.
 1.145.18.1 03-Sep-2007  wrstuden Sync w/ NetBSD-4-RC_1
 1.145.16.2 03-Oct-2007  garbled Sync with HEAD
 1.145.16.1 26-Jun-2007  garbled Sync with HEAD.
 1.145.10.1 11-Jul-2007  mjf Sync with head.
 1.145.8.5 03-Dec-2007  ad Sync with HEAD.
 1.145.8.4 09-Oct-2007  ad Sync with head.
 1.145.8.3 20-Aug-2007  ad Sync with HEAD.
 1.145.8.2 15-Jul-2007  ad Sync with head.
 1.145.8.1 09-Jun-2007  ad Sync with head.
 1.145.2.2 25-Aug-2007  liamjfoy Pull up following revision(s) (requested by adrianp in ticket #820):
sys/arch/hp300/conf/GENERIC: revision 1.141
sys/arch/alpha/conf/GENERIC: revision 1.315
sys/arch/amd64/conf/GENERIC: revision 1.154
sys/arch/cats/conf/GENERIC: revision 1.116
sys/arch/arc/conf/GENERIC: revision 1.148
sys/arch/acorn32/conf/GENERIC: revision 1.80
sys/arch/sparc/conf/GENERIC: revision 1.200
sys/arch/sparc64/conf/GENERIC: revision 1.88
sys/arch/atari/conf/GENERIC.in: revision 1.68
sys/arch/amiga/conf/GENERIC: revision 1.248
sys/arch/i386/conf/GENERIC_LAPTOP: revision 1.239
sys/arch/sgimips/conf/GENERIC32_IP3x: revision 1.66
sys/arch/i386/conf/GENERIC: revision 1.840
sys/arch/amiga/conf/GENERIC.in: revision 1.61
sys/arch/sgimips/conf/GENERIC32_IP2x: revision 1.68
sys/arch/mac68k/conf/GENERIC: revision 1.182
Remove iso(4) from GENERIC kernels, as discussed on tech-net@
Ok'ed by core@
 1.145.2.1 05-Jun-2007  bouyer Pull up following revision(s) (requested by martin in ticket #699):
sys/arch/hpcmips/conf/GENERIC: revision 1.196
sys/arch/hp700/conf/GENERIC: revision 1.74
sys/arch/i386/conf/GENERIC: revision 1.831
sys/arch/next68k/conf/GENERIC: revision 1.108
sys/arch/alpha/conf/GENERIC: revision 1.313
sys/arch/arc/conf/GENERIC: revision 1.146
sys/arch/cats/conf/GENERIC: revision 1.115
sys/arch/ews4800mips/conf/GENERIC: revision 1.18
sys/arch/landisk/conf/GENERIC: revision 1.8 via patch
sys/arch/sparc64/conf/GENERIC: revision 1.85
sys/arch/pmax/conf/GENERIC: revision 1.152
sys/arch/iyonix/conf/GENERIC: revision 1.38 via patch
sys/arch/amiga/conf/GENERIC: revision 1.245
sys/arch/vax/conf/GENERIC: revision 1.157
sys/arch/prep/conf/GENERIC: revision 1.135
sys/arch/pc532/conf/GENERIC: revision 1.70
sys/arch/sbmips/conf/GENERIC: revision 1.61
sys/arch/mipsco/conf/GENERIC: revision 1.65
sys/arch/cobalt/conf/GENERIC: revision 1.108
sys/arch/ofppc/conf/GENERIC: revision 1.98
sys/arch/amd64/conf/GENERIC: revision 1.148
sys/arch/acorn26/conf/GENERIC: revision 1.50
sys/arch/dreamcast/conf/GENERIC: revision 1.78
sys/arch/mac68k/conf/GENERIC: revision 1.181
sys/arch/hp300/conf/GENERIC: revision 1.139
sys/arch/mmeye/conf/GENERIC: revision 1.88
sys/arch/news68k/conf/GENERIC: revision 1.88
sys/arch/mvme68k/conf/GENERIC: revision 1.71
sys/arch/acorn32/conf/GENERIC: revision 1.79
sys/arch/sparc/conf/GENERIC: revision 1.199
sys/arch/luna68k/conf/GENERIC: revision 1.78
sys/arch/bebox/conf/GENERIC: revision 1.105
sys/arch/macppc/conf/GENERIC: revision 1.256 via patch
sys/arch/x68k/conf/GENERIC: revision 1.134
sys/arch/sun3/conf/GENERIC: revision 1.138
sys/arch/newsmips/conf/GENERIC: revision 1.98
Add pseudo-device agr to all GENERIC kernels where it might make sense
(commented out in some).
 1.147.8.3 04-Nov-2007  jmcneill Sync with HEAD.
 1.147.8.2 03-Sep-2007  jmcneill Sync with HEAD.
 1.147.8.1 09-Aug-2007  jmcneill Sync with HEAD.
 1.147.4.2 03-Sep-2007  skrll Sync with HEAD.
 1.147.4.1 15-Aug-2007  skrll Sync with HEAD.
 1.147.2.1 07-Aug-2007  matt Sync with HEAD.
 1.149.6.1 13-Nov-2007  bouyer Sync with HEAD
 1.149.2.2 09-Jan-2008  matt sync with HEAD
 1.149.2.1 06-Nov-2007  matt sync with HEAD
 1.151.8.1 02-Jan-2008  bouyer Sync with HEAD
 1.151.2.1 18-Feb-2008  mjf Sync with HEAD.
 1.152.16.2 13-Dec-2008  haad Update haad-dm branch to haad-dm-base2.
 1.152.16.1 19-Oct-2008  haad Sync with HEAD.
 1.152.12.2 24-Sep-2008  wrstuden Merge in changes between wrstuden-revivesa-base-2 and
wrstuden-revivesa-base-3.
 1.152.12.1 18-Sep-2008  wrstuden Sync with wrstuden-revivesa-base-2.
 1.152.10.3 11-Aug-2010  yamt sync with head.
 1.152.10.2 11-Mar-2010  yamt sync with head
 1.152.10.1 04-May-2009  yamt sync with head.
 1.152.6.2 17-Jan-2009  mjf Sync with HEAD.
 1.152.6.1 28-Sep-2008  mjf Sync with HEAD.
 1.157.4.1 23-Nov-2008  riz Pull up following revision(s) (requested by tsutsui in ticket #109):
distrib/arc/instkernel/Makefile: revision 1.11
sys/arch/arc/conf/RAMDISK: revision 1.76
sys/arch/arc/conf/GENERIC: revision 1.159
distrib/arc/ramdisk/dot.profile: revision 1.4
Use vt100 rather than wsvt25 for TERM since the latter makes
both FG/BG colors white during sysinst on Express5800/230 with tga(4).
It looks the ARC BIOS has another limit which prevents loading
a kernel larger than 8MB (it is not emulated by gxemul BTW),
so disable several devices in GENERIC and shrink RAMDISK kernel again
by sprinkled "no" keywords etc.
 1.157.2.2 03-Mar-2009  skrll Sync with HEAD.
 1.157.2.1 19-Jan-2009  skrll Sync with HEAD.
 1.162.4.3 21-Apr-2011  rmind sync with head
 1.162.4.2 05-Mar-2011  rmind sync with head
 1.162.4.1 30-May-2010  rmind sync with head
 1.162.2.2 17-Aug-2010  uebayasi Sync with HEAD.
 1.162.2.1 30-Apr-2010  uebayasi Sync with HEAD.
 1.165.4.1 08-Feb-2011  bouyer Add QUOTA2 where QUOTA is enabled (and QUOTA2 commented out where QUOTA
is commented out)
 1.165.2.1 06-Jun-2011  jruoho Sync with HEAD.
 1.167.4.3 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.167.4.2 30-Oct-2012  yamt sync with head
 1.167.4.1 17-Apr-2012  yamt sync with head
 1.168.2.2 11-Mar-2012  mrg sync to latest -current
 1.168.2.1 18-Feb-2012  mrg merge to -current.
 1.171.2.4 03-Dec-2017  jdolecek update from HEAD
 1.171.2.3 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.171.2.2 23-Jun-2013  tls resync from head
 1.171.2.1 20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.178.2.1 28-Aug-2013  rmind sync with head
 1.179.4.1 10-Aug-2014  tls Rebase.
 1.180.2.2 18-Nov-2014  snj Pull up following revision(s) (requested by manu in ticket #251):
sys/arch/acorn26/conf/GENERIC: revision 1.81
sys/arch/acorn32/conf/GENERIC: revision 1.116
sys/arch/alpha/conf/GENERIC: revision 1.362
sys/arch/amd64/conf/ALL: revision 1.23
sys/arch/amd64/conf/GENERIC: revision 1.404
sys/arch/amd64/conf/XEN3_DOM0: revision 1.112
sys/arch/amd64/conf/XEN3_DOMU: revision 1.60
sys/arch/amiga/conf/GENERIC.in: revision 1.129
sys/arch/amiga/conf/GENERIC: revision 1.311
sys/arch/amigappc/conf/GENERIC: revision 1.24
sys/arch/arc/conf/GENERIC: revision 1.184
sys/arch/bebox/conf/GENERIC: revision 1.145
sys/arch/cats/conf/GENERIC: revision 1.155
sys/arch/cesfic/conf/GENERIC: revision 1.65
sys/arch/cobalt/conf/GENERIC: revision 1.147
sys/arch/dreamcast/conf/GENERIC: revision 1.121
sys/arch/emips/conf/GENERIC: revision 1.15
sys/arch/epoc32/conf/GENERIC: revision 1.8
sys/arch/ews4800mips/conf/GENERIC: revision 1.51
sys/arch/hp300/conf/GENERIC: revision 1.190
sys/arch/hpcmips/conf/GENERIC: revision 1.229
sys/arch/hpcsh/conf/GENERIC: revision 1.106
sys/arch/hppa/conf/GENERIC: revision 1.6
sys/arch/i386/conf/ALL: revision 1.389
sys/arch/i386/conf/GENERIC: revision 1.1118
sys/arch/i386/conf/XEN3_DOM0: revision 1.93
sys/arch/i386/conf/XEN3_DOMU: revision 1.65
sys/arch/ibmnws/conf/GENERIC: revision 1.46
sys/arch/iyonix/conf/GENERIC: revision 1.88
sys/arch/landisk/conf/GENERIC: revision 1.45
sys/arch/luna68k/conf/GENERIC: revision 1.119
sys/arch/mac68k/conf/GENERIC: revision 1.220
sys/arch/macppc/conf/GENERIC: revision 1.320
sys/arch/macppc/conf/MAMBO: revision 1.24
sys/arch/macppc/conf/POWERMAC_G5: revision 1.25
sys/arch/mipsco/conf/GENERIC: revision 1.88
sys/arch/mmeye/conf/GENERIC: revision 1.120
sys/arch/mvme68k/conf/GENERIC: revision 1.94
sys/arch/mvmeppc/conf/GENERIC: revision 1.24
sys/arch/netwinder/conf/GENERIC: revision 1.126
sys/arch/news68k/conf/GENERIC: revision 1.125
sys/arch/newsmips/conf/GENERIC: revision 1.129
sys/arch/next68k/conf/GENERIC: revision 1.139
sys/arch/ofppc/conf/GENERIC: revision 1.157
sys/arch/pmax/conf/GENERIC64: revision 1.21
sys/arch/pmax/conf/GENERIC: revision 1.185
sys/arch/prep/conf/GENERIC: revision 1.174
sys/arch/rs6000/conf/GENERIC: revision 1.33
sys/arch/sandpoint/conf/GENERIC: revision 1.88
sys/arch/sbmips/conf/GENERIC: revision 1.101
sys/arch/sgimips/conf/GENERIC32_IP12: revision 1.28
sys/arch/sgimips/conf/GENERIC32_IP2x: revision 1.104
sys/arch/sgimips/conf/GENERIC32_IP3x: revision 1.106
sys/arch/shark/conf/GENERIC: revision 1.121
sys/arch/sparc/conf/GENERIC: revision 1.248
sys/arch/sparc/conf/TADPOLE3GX: revision 1.65
sys/arch/sparc64/conf/GENERIC: revision 1.177
sys/arch/sparc64/conf/NONPLUS64: revision 1.44
sys/arch/sun2/conf/GENERIC: revision 1.94
sys/arch/sun3/conf/GENERIC: revision 1.171
sys/arch/vax/conf/GENERIC: revision 1.193
sys/arch/vax/conf/VAX780: revision 1.19
sys/arch/x68k/conf/GENERIC: revision 1.179
sys/arch/zaurus/conf/GENERIC: revision 1.65
sys/ufs/files.ufs: revision 1.38
Remove unused extended attributes kernel options

As Masao Uebayashi pointed to me, UFS_EXTATTR_AUTOSTART, LFS_EXTATTR_AUTOSTART
and UFS_EXTATTR_AUTOCREATE are not used anywhere in the code. Remove them
as they have been obsolete for a long time:
UFS_EXTATTR_AUTOSTART was replaced by mount -o extattr
LFS_EXTATTR_AUTOSTART was created to match obsolete UFS_EXTATTR_AUTOSTART
UFS_EXTATTR_AUTOCREATE was replaced by sysctl vfs.ffs.extattr_autocreate
 1.180.2.1 14-Nov-2014  martin Pull up following revision(s) (requested by manu in ticket #232):
sys/arch/next68k/conf/GENERIC: revision 1.138
sys/arch/cobalt/conf/GENERIC: revision 1.146
sys/arch/mvme68k/conf/GENERIC: revision 1.93
sys/arch/vax/conf/VAX780: revision 1.18
sys/arch/newsmips/conf/GENERIC: revision 1.128
sys/arch/luna68k/conf/GENERIC: revision 1.118
sys/arch/sbmips/conf/GENERIC: revision 1.100
sys/arch/pmax/conf/GENERIC: revision 1.184
sys/arch/alpha/conf/GENERIC: revision 1.361
sys/arch/sparc64/conf/GENERIC: revision 1.176
sys/arch/sun3/conf/GENERIC: revision 1.170
sys/arch/shark/conf/GENERIC: revision 1.120
sys/arch/landisk/conf/GENERIC: revision 1.44
sys/arch/bebox/conf/GENERIC: revision 1.144
sys/arch/sparc64/conf/NONPLUS64: revision 1.43
sys/arch/sandpoint/conf/GENERIC: revision 1.87
sys/arch/emips/conf/GENERIC: revision 1.14
sys/arch/amd64/conf/XEN3_DOM0: revision 1.111
sys/arch/dreamcast/conf/GENERIC: revision 1.120
sys/arch/cesfic/conf/GENERIC: revision 1.64
sys/arch/mmeye/conf/GENERIC: revision 1.119
sys/arch/epoc32/conf/GENERIC: revision 1.7
sys/arch/x68k/conf/GENERIC: revision 1.178
sys/arch/iyonix/conf/GENERIC: revision 1.87
sys/arch/sun2/conf/GENERIC: revision 1.93
sys/arch/ews4800mips/conf/GENERIC: revision 1.50
sys/arch/amd64/conf/XEN3_DOMU: revision 1.59
sys/arch/acorn26/conf/GENERIC: revision 1.80
sys/arch/acorn32/conf/GENERIC: revision 1.115
sys/arch/macppc/conf/POWERMAC_G5: revision 1.24
sys/arch/i386/conf/GENERIC: revision 1.1117
sys/arch/arc/conf/GENERIC: revision 1.183
sys/arch/cats/conf/GENERIC: revision 1.154
sys/arch/amiga/conf/GENERIC.in: revision 1.128
sys/arch/zaurus/conf/GENERIC: revision 1.64
sys/arch/netwinder/conf/GENERIC: revision 1.125
sys/arch/hppa/conf/GENERIC: revision 1.5
sys/arch/mvmeppc/conf/GENERIC: revision 1.23
sys/arch/macppc/conf/GENERIC: revision 1.319
sys/arch/amiga/conf/GENERIC: revision 1.310
sys/arch/pmax/conf/GENERIC64: revision 1.20
sys/arch/macppc/conf/MAMBO: revision 1.23
sys/arch/sgimips/conf/GENERIC32_IP12: revision 1.27
sys/arch/amigappc/conf/GENERIC: revision 1.23
sys/arch/amd64/conf/GENERIC: revision 1.403
sys/arch/ofppc/conf/GENERIC: revision 1.156
sys/arch/mac68k/conf/GENERIC: revision 1.219
sys/arch/i386/conf/XEN3_DOMU: revision 1.64
sys/arch/mipsco/conf/GENERIC: revision 1.87
sys/arch/hp300/conf/GENERIC: revision 1.189
sys/arch/vax/conf/GENERIC: revision 1.192
sys/arch/news68k/conf/GENERIC: revision 1.124
sys/arch/ibmnws/conf/GENERIC: revision 1.45
sys/arch/hpcsh/conf/GENERIC: revision 1.105
sys/arch/sparc/conf/TADPOLE3GX: revision 1.64
sys/arch/i386/conf/XEN3_DOM0: revision 1.92
sys/arch/sparc/conf/GENERIC: revision 1.247
sys/arch/sgimips/conf/GENERIC32_IP3x: revision 1.105
sys/arch/prep/conf/GENERIC: revision 1.173
sys/arch/sgimips/conf/GENERIC32_IP2x: revision 1.103
sys/arch/rs6000/conf/GENERIC: revision 1.32
sys/arch/hpcmips/conf/GENERIC: revision 1.228
Support for UFS1 extended attributes in GENERIC and GENERIC-like kernels
This change just brings UFS1 extended attribute *support* in the kernel,
extended attributes are not enabled unless three conditions are met:
1) filesystem is UFS1 (newfs -O1)
2) .attribute/system and .attribute/user directories are created at fs root
3) filesystem is mounted with -o extattr
Some GENERIC kernels are obviously memory constrained, the extended
attributes options were not enabled for them, but just added commented out.
(kernel were considered memory constrained if QUOTA option was disabled)
 1.184.2.2 28-Aug-2017  skrll Sync with HEAD
 1.184.2.1 22-Sep-2015  skrll Sync with HEAD
 1.185.10.1 26-Jan-2018  martin Pull up following revision(s) (requested by sevan in ticket #510):
sys/arch/sun3/conf/GENERIC3X: revision 1.130
sys/arch/sparc64/conf/GENERIC: revision 1.203
sys/arch/news68k/conf/LIBERO: revision 1.66
sys/arch/amiga/conf/DRACO: revision 1.185
sys/arch/evbarm/conf/MV2120: revision 1.35
sys/arch/x68k/conf/GENERIC: revision 1.187
sys/arch/rs6000/conf/GENERIC: revision 1.39
sys/arch/news68k/conf/GENERIC_TINY: revision 1.86
sys/arch/i386/conf/XEN3_DOMU: revision 1.88
sys/arch/iyonix/conf/GENERIC: revision 1.97
sys/arch/evbarm64/conf/A64EMUL: revision 1.11
sys/arch/mvme68k/conf/GENERIC: revision 1.98
sys/arch/acorn32/conf/GENERIC: revision 1.124
sys/arch/i386/conf/XEN3_DOM0: revision 1.125
sys/arch/cobalt/conf/INSTALL: revision 1.65
sys/arch/macppc/conf/GENERIC_601: revision 1.16
sys/arch/hppa/conf/GENERIC: revision 1.17
sys/arch/amiga/conf/GENERIC.in: revision 1.137
sys/arch/sgimips/conf/GENERIC32_IP12: revision 1.33
sys/arch/netwinder/conf/GENERIC: revision 1.134
sys/arch/amd64/conf/XEN3_DOMU: revision 1.83
sys/arch/mac68k/conf/GENERIC: revision 1.225
sys/arch/arc/conf/RPC44: revision 1.54
sys/arch/mipsco/conf/GENERIC: revision 1.92
sys/arch/cats/conf/GENERIC: revision 1.166
sys/arch/amd64/conf/XEN3_DOM0: revision 1.145
sys/arch/amigappc/conf/GENERIC: revision 1.33
sys/arch/sun3/conf/GENERIC: revision 1.176
sys/arch/news68k/conf/GENERIC: revision 1.130
sys/arch/hpcsh/conf/GENERIC: revision 1.110
sys/arch/hp300/conf/GENERIC: revision 1.198
sys/arch/atari/conf/GENERIC.in: revision 1.115
sys/arch/sparc/conf/MRCOFFEE: revision 1.54
sys/arch/evbppc/conf/EXPLORA451: revision 1.62
sys/arch/cesfic/conf/GENERIC: revision 1.69
sys/arch/vax/conf/GENERIC: revision 1.204
sys/arch/sgimips/conf/GENERIC32_IP3x: revision 1.115
sys/arch/sgimips/conf/GENERIC32_IP2x: revision 1.112
sys/arch/sparc/conf/GENERIC: revision 1.258
sys/arch/next68k/conf/GENERIC: revision 1.145
sys/arch/evbarm/conf/MMNET_GENERIC: revision 1.34
sys/arch/prep/conf/GENERIC: revision 1.185
sys/arch/amiga/conf/INSTALL: revision 1.129
sys/arch/newsmips/conf/GENERIC: revision 1.133
sys/arch/cobalt/conf/GENERIC: revision 1.156
sys/arch/sun2/conf/GENERIC: revision 1.99
sys/arch/luna68k/conf/INSTALL: revision 1.25
sys/arch/amigappc/conf/NULL: revision 1.53
sys/arch/acorn26/conf/GENERIC: revision 1.85
sys/arch/vax/conf/VAX780: revision 1.25
sys/arch/luna68k/conf/GENERIC: revision 1.125
sys/arch/ews4800mips/conf/GENERIC: revision 1.56
sys/arch/macppc/conf/POWERMAC_G5: revision 1.29
sys/arch/arc/conf/GENERIC: revision 1.189
sys/arch/macppc/conf/MAMBO: revision 1.27
sys/arch/acorn32/conf/EB7500ATX: revision 1.64
sys/arch/pmax/conf/GENERIC: revision 1.196
sys/arch/pmax/conf/GENERIC64: revision 1.28
sys/arch/amiga/conf/GENERIC: revision 1.319
sys/arch/evbarm/conf/MPCSA_GENERIC: revision 1.55
sys/arch/macppc/conf/GENERIC: revision 1.339
sys/arch/emips/conf/GENERIC: revision 1.21
sys/arch/sandpoint/conf/GENERIC: revision 1.97
sys/arch/landisk/conf/GENERIC: revision 1.58
sys/arch/bebox/conf/GENERIC: revision 1.157
sys/arch/alpha/conf/GENERIC: revision 1.379
Alternate buffer queue strategies no longer considered experimental, update
description.
Discussed on tech-kern
http://mail-index.netbsd.org/tech-kern/2018/01/21/msg023002.html
 1.189.4.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.189.4.1 10-Jun-2019  christos Sync with HEAD
 1.189.2.3 26-Dec-2018  pgoyette Sync with HEAD, resolve a few conflicts
 1.189.2.2 30-Sep-2018  pgoyette Ssync with HEAD
 1.189.2.1 06-Sep-2018  pgoyette Sync with HEAD

Resolve a couple of conflicts (result of the uimin/uimax changes)
 1.193.4.1 25-Jan-2020  ad Sync with head.
 1.193.2.1 07-Jun-2020  martin Pull up following revision(s) (requested by tsutsui in ticket #939):

distrib/arc/ramdisk/Makefile: revision 1.29
sys/arch/arc/arc/arcbios.c: revision 1.18
distrib/arc/ramdisk/list: revision 1.24
sys/arch/arc/conf/GENERIC: revision 1.198
sys/arch/arc/conf/RAMDISK: revision 1.83
distrib/arc/ramdisk/Makefile: revision 1.28

bump ramdisk size to 3200k for gcc 8. yay!

-

Make sure to preserve MIPS_CURLWP (t8) register from ARC BIOS calls.

Fixes silent hangup right after starting a kernel on my
Express5800/230 R4400 PCI (finally I've repaired its PSU and RTC).
Reviewed by soda@. Maybe other ARC machines are also affected.

Note GXemul was not affected by this problem because it doesn't
have actual ARC BIOS ROM and emulates ARC functions internally.

Should be pulled up to at least netbsd-9.

-

Shrink ramdisk to make RAMDISK kernel smaller for ARC BIOS restriction.

Try to shrink kernels to smaller than ~6MB due to ARC BIOS restriction.

Currently NetBSD/arc kernels are loaded at 0x80200000
(on some machines ARC BIOS uses regions before it) and
ARC BIOS also uses around 0x807f0000, so bootloader fails
on loading >6MB kernels.

Note GXemul doesn't have this restriction because it loads
a kernel directly via a command line argument.

Tested by installing using sysinst on RAMDISK kernel on netbsd-9.
Should be pulled up to netbsd-9.
 1.2 22-Feb-2000  soda merge changes between OpenBSD-2.1 and OpenBSD-2.6
 1.1 22-Feb-2000  soda branches: 1.1.1;
Initial revision
 1.1.1.1 22-Feb-2000  soda OpenBSD-2.6/arc
 1.70 29-Jan-2024  christos PR/57889: Ricardo Branco: ext2fs does not have user immutable and append
file flags, only system ones. Restrict those to the superuser. Before
the behavior was controlled by EXT2FS_SYSTEM_FLAGS. Make that behavior the
default.
 1.69 19-Jan-2020  thorpej Remove the strip(4) - Starmode Radio IP - pseudo-device driver. It is
long since obsolete.
 1.68 01-Aug-2018  maxv branches: 1.68.6;
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.67 14-Sep-2017  mrg branches: 1.67.2; 1.67.4;
clean up COMPAT_* options for native netbsd code:
- new series of files that are useful for saying "i want everything
since netbsd 1.4", etc.
- use the fact COMPAT_* options have future dependancies to remove
many redundant options.

removes about 3000 lines total across kernel configuration files.
tested about 30 random kernels in the changed list.
 1.66 29-Jul-2017  maxv Remove TCP_COMPAT_42 from the config files. Pass 3.
 1.65 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.64 07-Aug-2015  maxv Remove KMEMSTATS.
 1.63 23-Aug-2014  dholland branches: 1.63.2;
Systematize (and in many cases, fix) the comments on options COMPAT_NN.

There are quite a few configs that are missing some COMPAT_NN options
in ways that don't make sense; this should probably get cleaned up
too, but for the time being I've not added or removed anything.
 1.62 20-Jul-2014  alnsn Add commented out bpfjit options to mips kernels.
While here, add 2 missing RCS ids.
 1.61 30-Jun-2013  rmind branches: 1.61.4;
G/C PFIL_HOOKS from the kernel configs.
 1.60 05-Jun-2013  christos branches: 1.60.2;
remove obsolete networking options
 1.59 27-Apr-2013  christos more bogus number removal
 1.58 27-Apr-2013  christos the bogus number police
 1.57 27-Apr-2013  christos remove confusing numeric locators where they are unused.
 1.56 02-Mar-2013  christos Under FAST_IPSEC, IPSEC_ESP is mandatory; GC it.
 1.55 01-Mar-2013  joerg Retire OSI network stack. OK core@
 1.54 17-Aug-2012  abs branches: 1.54.2;
Update all kernel configs mentioning WSEMUL_* but not already including
WSDISPLAY_COMPAT_USL using the following rules:
- If WSEMUL_ is commented out, add commented out out WSDISPLAY_COMPAT_USL
- If INSTALL or obviously memory constrained, add WSDISPLAY_DEFAULTSCREENS=1
and commented out WSDISPLAY_COMPAT_USL
- Otherwise add WSDISPLAY_COMPAT_USL

Some of the INSTALL configs for larger memory machines are probably suitable
for adding WSDISPLAY_COMPAT_USL.

Now wsconscfg(8) should be able to switch VTs when expected.

Implemented after no objection from tech-kern to the following:

On 5 June 2012 09:47, David Brownlee <abs@absd.org> wrote:
> wsconscfg(8) requires WSDISPLAY_COMPAT_USL in order to switch virtual
> terminals.
>
> Except when in an exceptionally memory or space constrained
> environment (INSTALL being the obvious case), is there any reason why
> all GENERIC and GENERIC-like kernels which have wscons enabled
> shouldn't also have WSDISPLAY_COMPAT_USL?
 1.53 22-Nov-2011  tls The rnd pseudo-device is not really optional, because it is in the same
source file as the entropy-pool code itself. Move it to std. This
will be cleaned up more when I split the sources up as they should be.

This fixes build breaks on several ports. Thanks to Havard Eidnes for
pointing them out.
 1.52 06-Mar-2011  bouyer branches: 1.52.4;
merge the bouyer-quota2 branch. This adds a new on-disk format
to store disk quota usage and limits, integrated with ffs
metadata. Usage is checked by fsck_ffs (no more quotacheck)
and is covered by the WAPBL journal. Enabled with kernel
option QUOTA2 (added where QUOTA was enabled in kernel config files),
turned on with tunefs(8) on a per-filesystem
basis. mount_mfs(8) can also turn quotas on.

See http://mail-index.netbsd.org/tech-kern/2011/02/19/msg010025.html
for details.
 1.51 23-Nov-2010  hannken branches: 1.51.2; 1.51.4;
Remove unused count from pseudo-device md.
 1.50 16-Apr-2010  pooka Remove unused count (invariably "4") from pseudo-device fss.
 1.49 05-Dec-2009  pooka branches: 1.49.2; 1.49.4;
Remove the portalfs kernel file system driver. Replace mount_portal(8)
with a version based on puffs. User functionality remains the same.
 1.48 06-Mar-2009  joerg Remove SHMMAXPGS from all kernel configs. Dynamically compute the
initial limit as 1/4 of the physical memory. Ensure the limit is at
least 1024 pages, the old default on most platforms.
 1.47 24-Nov-2008  ad branches: 1.47.4;
Remove softdep, pass 1. We are focused on improving journalling.

Proposed on tech-kern@.
 1.46 12-Nov-2008  ad Remove LKMs and switch to the module framework, pass 1.

Proposed on tech-kern@.
 1.45 17-Oct-2007  garbled branches: 1.45.16; 1.45.20; 1.45.26; 1.45.28;
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.44 26-Jun-2007  tsutsui branches: 1.44.10;
Add options COMPAT_40.
 1.43 27-Sep-2006  manu branches: 1.43.8; 1.43.10; 1.43.16;
- Document COMPAT_15 as doing nothing
- Add COMPAT_15 to all the kernel that had COMPAT_14, for the sake of coherency
- Remove the only occurences of #ifdef COMPAT_15 in the tree: for the ARM
ports, COMPAT_15 was always used in conjunction with EXEC_AOUT. Only EXEC_AOUT
matters here.

This address kern/18407
 1.42 26-Aug-2006  christos branches: 1.42.2; 1.42.4;
PR/34283: Gene ENonymous: Add IPFILTER_LOOKUP to the default kernel options
Also remove CCITT,NS,NIP
 1.41 28-Mar-2006  pavel 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.40 05-Feb-2006  cube branches: 1.40.2; 1.40.4; 1.40.6;
Remove 'count' argument for pseudo-devices that ignore it
(vnd, bpfilter, ppp, gif, gre, tun, sl, strip, faith, stf).
 1.39 04-Feb-2006  rpaulo bpfilter doesn't accept count anymore.
 1.38 20-Dec-2005  thorpej branches: 1.38.2; 1.38.4; 1.38.6;
Remove the tablet line discipline.
 1.37 07-Dec-2005  tsutsui Adjust comments for options FFS_NO_SNAPSHOT.

XXX: This option should be mentioned in options(4).
 1.36 28-Aug-2005  tsutsui options<space><tab>
 1.35 19-Aug-2005  christos Enable ptyfs by default on the non-install and non small/tiny/ramdisk kernels
 1.34 19-Aug-2005  christos 64 bit inode changes.
 1.33 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.32 30-Jul-2005  yamt add "options VMSWAP" to non INSTALL kernels.
 1.31 07-Jul-2005  tron Add (commented out) IPSEC_NAT_T option.
 1.30 18-Feb-2005  dsl branches: 1.30.4; 1.30.6;
Invert FFS_SNAPSHOT to FFS_NO_SNAPSHOT
 1.29 31-Jan-2005  hannken Add file system snapshots to kernel configs.

- Ffs internal snapshots get compiled in unconditionally.

- File system snapshot device fss(4) added to all kernel configs that
have a disk. Device is commented out on all non-GENERIC kernels.

Reviewed by: Jason Thorpe <thorpej@netbsd.org>
 1.28 21-Jan-2005  tsutsui branches: 1.28.2;
Add options COMPAT_20.
 1.27 10-Nov-2004  christos branches: 1.27.4;
Add COMPAT_BSDPTY to the rest of the config files.
 1.26 04-Sep-2004  manu IPv4 PIM support, based on a submission from Pavlin Radoslavov posted on
tech-net@
 1.25 15-Jul-2004  atatat Add "options SYSCTL_INCLUDE_DESCR" to a lot of configs, but commented
out in most of them.
 1.24 21-Oct-2003  tsutsui branches: 1.24.2;
- Use scsibus* at scsi?
- Use atabus* at ata?
- Use atapibus* atapi?
- Sort ATA/ATAPI device entries.
- Comment out aceride, piixide, siside, and viaide.
 1.23 27-Sep-2003  tsutsui Add options COMPAT_16.
 1.22 17-Jun-2002  lukem branches: 1.22.6;
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.21 25-Apr-2002  atatat branches: 1.21.2; 1.21.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.20 15-Apr-2002  tsutsui Remove (commented-out) pmsi entries.
 1.19 04-Mar-2002  sommerfeld The "gif*" tunnelling interface does everything ipip does.
Move usage example from ipip.4 to gif.4
Excise ipip and stitch up the scars.
 1.18 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.17 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.16 20-Nov-2001  lukem - pull in opt_kgdb.h where necessary
- replace opt_kgdb_machdep.h with opt_kgdb.h
- defparam opt_kgdb.h:
KGDB_DEV KGDB_DEVNAME KGDB_DEVADDR KGDB_DEVRATE KGDB_DEVMODE
- move from opt_ddbparam.h to opt_ddb.h:
DDB_FROMCONSOLE DDB_ONPANIC DDB_HISTORY_SIZE DDB_BREAK_CHAR SYMTAB_SPACE
- replace KGDBDEV with KGDB_DEV
- replace KGDBADDR with KGDB_DEVADDR
- replace KGDBMODE with KGDB_DEVMODE
- replace KGDBRATE with KGDB_DEVRATE
- use `9600' instead of `0x2580' for 9600 baud rate
- use correct quotes for options KGDB_DEVNAME="\"com\""
- use correct quotes for options KGDB_DEV="17*256+0"
- remove unnecessary dependancy on Makefile for kgdb_stub.o
- minor whitespace cleanup
 1.15 13-Nov-2001  augustss branches: 1.15.2;
The wsmux pseudo device does not need a count anymore.
 1.14 08-Jul-2001  abs branches: 1.14.2;
Standardise TCP_COMPAT_42 as commented out, grouped with other COMPAT options,
and with the comment '4.2BSD TCP/IP bug compat. Not recommended'
Add commented out 'TCP_DEBUG # Record last TCP_NDEBUG packets with SO_DEBUG'
(All hail amiga and atari which make some attempt to automate the
multiplicity of config files...)
 1.13 13-Jun-2001  soda update configurations for "struct platform" and related changes
 1.12 21-May-2001  soda sync with GENERIC: enable SOFTDEP, add vlan, etc.
 1.11 24-Dec-2000  ur branches: 1.11.2;
Switch pica to jazzio.
Split shared MD portion between algor and jazzio.
 1.10 24-Sep-2000  jdolecek branches: 1.10.2;
don't specify number of ptys if >= 16 (current default initial number)
pty comments: normalize and g/c what is no longer relevant
 1.9 23-Jul-2000  ur Add WSEMUL_VT100 to configuration files using wsdisplay.
And update my current configuration. (MIMORI)
 1.8 17-Jun-2000  soda branches: 1.8.2;
- vga/pckbc attachment for jazz internal bus of Magnum derived machines
(including Pica, NEC RISCstation/RISCserver).
- TGA console initialization for NEC RISCstation 2250,
contributed by Shuichiro URATA <ur@a-r.org>
 1.7 14-Jun-2000  veego Remove the obsolete config fragments for kernel crypto, because the IPsec
crypto code is now in the kernel source tree.
 1.6 09-Jun-2000  soda NEC RISCstation 2250 (RD-94) PCI bus support,
contributed by Shuichiro URATA <ur@a-r.org>
 1.5 22-Mar-2000  cgd branches: 1.5.2;
add commented out option PCI_CONFIG_DUMP whever there's a PCIVERBOSE.
 1.4 22-Feb-2000  soda merge changes between OpenBSD-2.1 and OpenBSD-2.6
 1.3 12-Feb-2000  thorpej Nuke NKMEMCLUSTERS.
 1.2 26-Jan-2000  soda options<SPACE><TAB> and options "<foo>=<bar>" clean up
pointed point by enami@netbsd.org
 1.1 23-Jan-2000  soda merge to NetBSD-current (DeskStation and Algor support is currently broken)
 1.5.2.1 22-Jun-2000  minoura Sync w/ netbsd-1-5-base.
 1.8.2.1 10-Aug-2000  soda Pull up to netbsd-1-5 branch.
Approved by: thorpej

- Add WSEMUL_VT100 to configuration files using wsdisplay.
- Update MIMORI configuration.

Revisions pulled up:
> cvs rdiff -r1.7 -r1.8 syssrc/sys/arch/arc/conf/ARCTIC
> cvs rdiff -r1.36 -r1.37 syssrc/sys/arch/arc/conf/GENERIC
> cvs rdiff -r1.8 -r1.9 syssrc/sys/arch/arc/conf/M403
> cvs rdiff -r1.1 -r1.2 syssrc/sys/arch/arc/conf/MIMORI
> cvs rdiff -r1.2 -r1.3 syssrc/sys/arch/arc/conf/PCCONS
> cvs rdiff -r1.21 -r1.22 syssrc/sys/arch/arc/conf/PICA
> cvs rdiff -r1.9 -r1.10 syssrc/sys/arch/arc/conf/RAMDISK
 1.10.2.3 05-Jan-2001  bouyer Sync with HEAD
 1.10.2.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.10.2.1 24-Sep-2000  bouyer file M403 was added on branch thorpej_scsipi on 2000-11-20 20:00:24 +0000
 1.11.2.1 21-Jun-2001  nathanw Catch up to -current.
 1.14.2.5 06-Sep-2002  jdolecek sync kqueue branch with HEAD
 1.14.2.4 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.14.2.3 16-Mar-2002  jdolecek Catch up with -current.
 1.14.2.2 11-Feb-2002  jdolecek Sync w/ -current.
 1.14.2.1 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.15.2.6 20-Jun-2002  nathanw Catch up to -current.
 1.15.2.5 17-Apr-2002  nathanw Catch up to -current.
 1.15.2.4 01-Apr-2002  nathanw Catch up to -current.
(CVS: It's not just a program. It's an adventure!)
 1.15.2.3 28-Feb-2002  nathanw Catch up to -current.
 1.15.2.2 08-Jan-2002  nathanw Catch up to -current.
 1.15.2.1 13-Nov-2001  nathanw file M403 was added on branch nathanw_sa on 2002-01-08 00:23:04 +0000
 1.21.4.1 01-Aug-2002  lukem Pull up revision 1.22 (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.21.2.1 14-Jul-2002  gehenna catch up with -current.
 1.22.6.9 11-Dec-2005  christos Sync with head.
 1.22.6.8 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.22.6.7 04-Mar-2005  skrll Sync with HEAD.

Hi Perry!
 1.22.6.6 04-Feb-2005  skrll Sync with HEAD.
 1.22.6.5 24-Jan-2005  skrll Sync with HEAD.
 1.22.6.4 14-Nov-2004  skrll Sync with HEAD.
 1.22.6.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.22.6.2 18-Sep-2004  skrll Sync with HEAD.
 1.22.6.1 03-Aug-2004  skrll Sync with HEAD
 1.24.2.1 15-Jul-2004  he Pull up revision 1.25 (requested by atatat in ticket #663):
Add "options SYSCTL_INCLUDE_DESCR" to a lot of configurations,
but commented out in most of them.
 1.27.4.1 29-Apr-2005  kent sync with -current
 1.28.2.2 19-Mar-2005  yamt sync with head. xen and whitespace. xen part is not finished.
 1.28.2.1 12-Feb-2005  yamt sync with head.
 1.30.6.3 03-Sep-2007  yamt sync with head.
 1.30.6.2 30-Dec-2006  yamt sync with head.
 1.30.6.1 21-Jun-2006  yamt sync with head.
 1.30.4.1 18-Jul-2005  riz Pull up revision 1.31 (requested by tron in ticket #566):
Add (commented out) IPSEC_NAT_T option.
 1.38.6.1 22-Apr-2006  simonb Sync with head.
 1.38.4.1 09-Sep-2006  rpaulo sync with head
 1.38.2.1 18-Feb-2006  yamt sync with head.
 1.40.6.1 31-Mar-2006  tron Merge 2006-03-31 NetBSD-current into the "peter-altq" branch.
 1.40.4.1 19-Apr-2006  elad sync with head - hopefully this will work
 1.40.2.2 03-Sep-2006  yamt sync with head.
 1.40.2.1 01-Apr-2006  yamt sync with head.
 1.42.4.1 22-Oct-2006  yamt sync with head
 1.42.2.1 18-Nov-2006  ad Sync with head.
 1.43.16.1 26-Jun-2007  garbled Sync with HEAD.
 1.43.10.1 11-Jul-2007  mjf Sync with head.
 1.43.8.1 15-Jul-2007  ad Sync with head.
 1.44.10.1 06-Nov-2007  matt sync with HEAD
 1.45.28.2 28-Apr-2009  skrll Sync with HEAD.
 1.45.28.1 19-Jan-2009  skrll Sync with HEAD.
 1.45.26.1 13-Dec-2008  haad Update haad-dm branch to haad-dm-base2.
 1.45.20.3 11-Aug-2010  yamt sync with head.
 1.45.20.2 11-Mar-2010  yamt sync with head
 1.45.20.1 04-May-2009  yamt sync with head.
 1.45.16.1 17-Jan-2009  mjf Sync with HEAD.
 1.47.4.1 13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.49.4.3 21-Apr-2011  rmind sync with head
 1.49.4.2 05-Mar-2011  rmind sync with head
 1.49.4.1 30-May-2010  rmind sync with head
 1.49.2.1 30-Apr-2010  uebayasi Sync with HEAD.
 1.51.4.1 08-Feb-2011  bouyer Add QUOTA2 where QUOTA is enabled (and QUOTA2 commented out where QUOTA
is commented out)
 1.51.2.1 06-Jun-2011  jruoho Sync with HEAD.
 1.52.4.3 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.52.4.2 30-Oct-2012  yamt sync with head
 1.52.4.1 17-Apr-2012  yamt sync with head
 1.54.2.3 03-Dec-2017  jdolecek update from HEAD
 1.54.2.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.54.2.1 23-Jun-2013  tls resync from head
 1.60.2.1 28-Aug-2013  rmind sync with head
 1.61.4.1 10-Aug-2014  tls Rebase.
 1.63.2.2 28-Aug-2017  skrll Sync with HEAD
 1.63.2.1 22-Sep-2015  skrll Sync with HEAD
 1.67.4.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.67.4.1 10-Jun-2019  christos Sync with HEAD
 1.67.2.1 06-Sep-2018  pgoyette Sync with HEAD

Resolve a couple of conflicts (result of the uimin/uimax changes)
 1.68.6.1 25-Jan-2020  ad Sync with head.
 1.77 29-Jan-2024  christos PR/57889: Ricardo Branco: ext2fs does not have user immutable and append
file flags, only system ones. Restrict those to the superuser. Before
the behavior was controlled by EXT2FS_SYSTEM_FLAGS. Make that behavior the
default.
 1.76 02-Nov-2022  andvar fix various typos in comments and messages.
 1.75 25-Jan-2020  thorpej Retire "le* at pci?" from the shipped kernel configs:
- If the config had both an le@pci and a pcn, simply remove le@pci
(pcn would match at a higher priority anyway).
- If the config had le@pci enabled, but no pcn, change le@pci to pcn.
- If the config had le@pci commented out, but no pcn, change le@pci
to pcn and leave it commented out.

The pcn driver supports more chips than le@pci and does DMA directly
to/from mbufs rather than memory copies.
 1.74 19-Jan-2020  thorpej Remove the strip(4) - Starmode Radio IP - pseudo-device driver. It is
long since obsolete.
 1.73 01-Aug-2018  maxv branches: 1.73.6;
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.72 14-Sep-2017  mrg branches: 1.72.2; 1.72.4;
clean up COMPAT_* options for native netbsd code:
- new series of files that are useful for saying "i want everything
since netbsd 1.4", etc.
- use the fact COMPAT_* options have future dependancies to remove
many redundant options.

removes about 3000 lines total across kernel configuration files.
tested about 30 random kernels in the changed list.
 1.71 29-Jul-2017  maxv Remove TCP_COMPAT_42 from the config files. Pass 3.
 1.70 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.69 12-Aug-2015  maxv Remove KMEMSTATS.
 1.68 23-Aug-2014  dholland branches: 1.68.2;
Systematize (and in many cases, fix) the comments on options COMPAT_NN.

There are quite a few configs that are missing some COMPAT_NN options
in ways that don't make sense; this should probably get cleaned up
too, but for the time being I've not added or removed anything.
 1.67 20-Jul-2014  alnsn Add commented out bpfjit options to mips kernels.
While here, add 2 missing RCS ids.
 1.66 30-Jun-2013  rmind branches: 1.66.4;
G/C PFIL_HOOKS from the kernel configs.
 1.65 05-Jun-2013  christos branches: 1.65.2;
remove obsolete networking options
 1.64 27-Apr-2013  christos more bogus number removal
 1.63 27-Apr-2013  christos the bogus number police
 1.62 27-Apr-2013  christos remove confusing numeric locators where they are unused.
 1.61 02-Mar-2013  christos Under FAST_IPSEC, IPSEC_ESP is mandatory; GC it.
 1.60 01-Mar-2013  joerg Retire OSI network stack. OK core@
 1.59 17-Aug-2012  abs branches: 1.59.2;
Update all kernel configs mentioning WSEMUL_* but not already including
WSDISPLAY_COMPAT_USL using the following rules:
- If WSEMUL_ is commented out, add commented out out WSDISPLAY_COMPAT_USL
- If INSTALL or obviously memory constrained, add WSDISPLAY_DEFAULTSCREENS=1
and commented out WSDISPLAY_COMPAT_USL
- Otherwise add WSDISPLAY_COMPAT_USL

Some of the INSTALL configs for larger memory machines are probably suitable
for adding WSDISPLAY_COMPAT_USL.

Now wsconscfg(8) should be able to switch VTs when expected.

Implemented after no objection from tech-kern to the following:

On 5 June 2012 09:47, David Brownlee <abs@absd.org> wrote:
> wsconscfg(8) requires WSDISPLAY_COMPAT_USL in order to switch virtual
> terminals.
>
> Except when in an exceptionally memory or space constrained
> environment (INSTALL being the obvious case), is there any reason why
> all GENERIC and GENERIC-like kernels which have wscons enabled
> shouldn't also have WSDISPLAY_COMPAT_USL?
 1.58 22-Nov-2011  tls The rnd pseudo-device is not really optional, because it is in the same
source file as the entropy-pool code itself. Move it to std. This
will be cleaned up more when I split the sources up as they should be.

This fixes build breaks on several ports. Thanks to Havard Eidnes for
pointing them out.
 1.57 06-Mar-2011  bouyer branches: 1.57.4;
merge the bouyer-quota2 branch. This adds a new on-disk format
to store disk quota usage and limits, integrated with ffs
metadata. Usage is checked by fsck_ffs (no more quotacheck)
and is covered by the WAPBL journal. Enabled with kernel
option QUOTA2 (added where QUOTA was enabled in kernel config files),
turned on with tunefs(8) on a per-filesystem
basis. mount_mfs(8) can also turn quotas on.

See http://mail-index.netbsd.org/tech-kern/2011/02/19/msg010025.html
for details.
 1.56 23-Nov-2010  hannken branches: 1.56.2; 1.56.4;
Remove unused count from pseudo-device md.
 1.55 08-May-2010  mrg enable IPFILTER_COMPAT in all kernels that have ipfilter already.
canonicalise several of the ipf option segments in various files
(this mostly means adding commented out IPFILTER_DEFAULT_BLOCK,
or adding commented or uncommented IPFILTER_LOG or IPFILTER_LOOKUP
option statements.)

i built about 20 of these kernels to check, but not all of them.
 1.54 16-Apr-2010  pooka Remove unused count (invariably "4") from pseudo-device fss.
 1.53 05-Dec-2009  pooka branches: 1.53.2; 1.53.4;
Remove the portalfs kernel file system driver. Replace mount_portal(8)
with a version based on puffs. User functionality remains the same.
 1.52 06-Mar-2009  joerg Remove SHMMAXPGS from all kernel configs. Dynamically compute the
initial limit as 1/4 of the physical memory. Ensure the limit is at
least 1024 pages, the old default on most platforms.
 1.51 24-Nov-2008  ad branches: 1.51.4;
Remove softdep, pass 1. We are focused on improving journalling.

Proposed on tech-kern@.
 1.50 12-Nov-2008  ad Remove LKMs and switch to the module framework, pass 1.

Proposed on tech-kern@.
 1.49 17-Oct-2007  garbled branches: 1.49.16; 1.49.20; 1.49.26; 1.49.28;
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.48 26-Jun-2007  tsutsui branches: 1.48.10;
Add options COMPAT_40.
 1.47 27-Sep-2006  manu branches: 1.47.8; 1.47.10; 1.47.16;
- Document COMPAT_15 as doing nothing
- Add COMPAT_15 to all the kernel that had COMPAT_14, for the sake of coherency
- Remove the only occurences of #ifdef COMPAT_15 in the tree: for the ARM
ports, COMPAT_15 was always used in conjunction with EXEC_AOUT. Only EXEC_AOUT
matters here.

This address kern/18407
 1.46 26-Aug-2006  christos branches: 1.46.2; 1.46.4;
PR/34283: Gene ENonymous: Add IPFILTER_LOOKUP to the default kernel options
Also remove CCITT,NS,NIP
 1.45 05-Feb-2006  cube branches: 1.45.2;
Remove 'count' argument for pseudo-devices that ignore it
(vnd, bpfilter, ppp, gif, gre, tun, sl, strip, faith, stf).
 1.44 04-Feb-2006  rpaulo bpfilter doesn't accept count anymore.
 1.43 20-Dec-2005  thorpej branches: 1.43.2; 1.43.4; 1.43.6;
Remove the tablet line discipline.
 1.42 07-Dec-2005  tsutsui Adjust comments for options FFS_NO_SNAPSHOT.

XXX: This option should be mentioned in options(4).
 1.41 28-Aug-2005  tsutsui options<space><tab>
 1.40 19-Aug-2005  christos Enable ptyfs by default on the non-install and non small/tiny/ramdisk kernels
 1.39 19-Aug-2005  christos 64 bit inode changes.
 1.38 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.37 30-Jul-2005  yamt add "options VMSWAP" to non INSTALL kernels.
 1.36 07-Jul-2005  tron Add (commented out) IPSEC_NAT_T option.
 1.35 31-May-2005  tron branches: 1.35.2;
Remove attachment for the piixide(4) driver from all non-x86 kernel
configurations because Intel IDE disk controllers only exist as part
of Intel chipsets for x86 systems.
 1.34 18-Feb-2005  dsl branches: 1.34.4;
Invert FFS_SNAPSHOT to FFS_NO_SNAPSHOT
 1.33 11-Feb-2005  dsl Add 'option FFS_SNAPSHOT' to most of the config files.
Commented out for kernels that appear to hace space constraints.
 1.32 31-Jan-2005  hannken Add file system snapshots to kernel configs.

- Ffs internal snapshots get compiled in unconditionally.

- File system snapshot device fss(4) added to all kernel configs that
have a disk. Device is commented out on all non-GENERIC kernels.

Reviewed by: Jason Thorpe <thorpej@netbsd.org>
 1.31 21-Jan-2005  tsutsui branches: 1.31.2;
Add options COMPAT_20.
 1.30 24-Nov-2004  bouyer branches: 1.30.4;
pdcsata(4), a driver for the Promise SATA150 (aka PDC203xx) serie of
controllers. Tested with a PDC20375 (2 SATA, one PATA) controller on sparc64.
Added to all kernel config file which had pdcide(4).
 1.29 10-Nov-2004  christos Add COMPAT_BSDPTY to the rest of the config files.
 1.28 04-Sep-2004  manu IPv4 PIM support, based on a submission from Pavlin Radoslavov posted on
tech-net@
 1.27 15-Jul-2004  atatat Add "options SYSCTL_INCLUDE_DESCR" to a lot of configs, but commented
out in most of them.
 1.26 14-Dec-2003  thorpej branches: 1.26.2;
Split the Intel i31244 SATA controller ("Artisea") driver out of piixide
into its own driver (artsata).
 1.25 13-Dec-2003  thorpej Split out the Silicon Image SATALink support into its own driver,
"satalink".
 1.24 21-Oct-2003  tsutsui - Use scsibus* at scsi?
- Use atabus* at ata?
- Use atapibus* atapi?
- Sort ATA/ATAPI device entries.
- Comment out aceride, piixide, siside, and viaide.
 1.23 08-Oct-2003  bouyer Add new per-chip pciide drivers.
 1.22 08-Oct-2003  bouyer Add atabus.
 1.21 27-Sep-2003  tsutsui Add options COMPAT_16.
 1.20 06-Apr-2003  tsutsui branches: 1.20.2;
Enable oosiop at jazzio.
While I'm here, use wildcard for osiop unit.
 1.19 18-Sep-2002  lukem enable USERCONF by default; it's small and extremely useful to have available.
 1.18 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.17 25-Apr-2002  atatat branches: 1.17.2; 1.17.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.16 17-Apr-2002  mycroft Switch from de to tlp by default.
 1.15 15-Apr-2002  tsutsui Remove (commented-out) pmsi entries.
 1.14 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.13 04-Mar-2002  sommerfeld The "gif*" tunnelling interface does everything ipip does.
Move usage example from ipip.4 to gif.4
Excise ipip and stitch up the scars.
 1.12 10-Feb-2002  wiz Update description for icsphy.
 1.11 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.10 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.9 20-Nov-2001  lukem - pull in opt_kgdb.h where necessary
- replace opt_kgdb_machdep.h with opt_kgdb.h
- defparam opt_kgdb.h:
KGDB_DEV KGDB_DEVNAME KGDB_DEVADDR KGDB_DEVRATE KGDB_DEVMODE
- move from opt_ddbparam.h to opt_ddb.h:
DDB_FROMCONSOLE DDB_ONPANIC DDB_HISTORY_SIZE DDB_BREAK_CHAR SYMTAB_SPACE
- replace KGDBDEV with KGDB_DEV
- replace KGDBADDR with KGDB_DEVADDR
- replace KGDBMODE with KGDB_DEVMODE
- replace KGDBRATE with KGDB_DEVRATE
- use `9600' instead of `0x2580' for 9600 baud rate
- use correct quotes for options KGDB_DEVNAME="\"com\""
- use correct quotes for options KGDB_DEV="17*256+0"
- remove unnecessary dependancy on Makefile for kgdb_stub.o
- minor whitespace cleanup
 1.8 13-Nov-2001  augustss branches: 1.8.2;
The wsmux pseudo device does not need a count anymore.
 1.7 22-Aug-2001  hubertf More comment changes: 90x[B] -> 90x[BC]
 1.6 08-Jul-2001  abs branches: 1.6.2;
Standardise TCP_COMPAT_42 as commented out, grouped with other COMPAT options,
and with the comment '4.2BSD TCP/IP bug compat. Not recommended'
Add commented out 'TCP_DEBUG # Record last TCP_NDEBUG packets with SO_DEBUG'
(All hail amiga and atari which make some attempt to automate the
multiplicity of config files...)
 1.5 13-Jun-2001  soda update configurations for "struct platform" and related changes
 1.4 24-Dec-2000  ur branches: 1.4.2;
Switch pica to jazzio.
Split shared MD portion between algor and jazzio.
 1.3 24-Sep-2000  jdolecek branches: 1.3.2;
don't specify number of ptys if >= 16 (current default initial number)
pty comments: normalize and g/c what is no longer relevant
 1.2 23-Jul-2000  ur Add WSEMUL_VT100 to configuration files using wsdisplay.
And update my current configuration. (MIMORI)
 1.1 17-Jun-2000  soda branches: 1.1.2; 1.1.4;
- vga/pckbc attachment for jazz internal bus of Magnum derived machines
(including Pica, NEC RISCstation/RISCserver).
- TGA console initialization for NEC RISCstation 2250,
contributed by Shuichiro URATA <ur@a-r.org>
 1.1.4.2 22-Jun-2000  minoura Sync w/ netbsd-1-5-base.
 1.1.4.1 17-Jun-2000  minoura file MIMORI was added on branch minoura-xpg4dl on 2000-06-22 16:59:09 +0000
 1.1.2.1 10-Aug-2000  soda Pull up to netbsd-1-5 branch.
Approved by: thorpej

- Add WSEMUL_VT100 to configuration files using wsdisplay.
- Update MIMORI configuration.

Revisions pulled up:
> cvs rdiff -r1.7 -r1.8 syssrc/sys/arch/arc/conf/ARCTIC
> cvs rdiff -r1.36 -r1.37 syssrc/sys/arch/arc/conf/GENERIC
> cvs rdiff -r1.8 -r1.9 syssrc/sys/arch/arc/conf/M403
> cvs rdiff -r1.1 -r1.2 syssrc/sys/arch/arc/conf/MIMORI
> cvs rdiff -r1.2 -r1.3 syssrc/sys/arch/arc/conf/PCCONS
> cvs rdiff -r1.21 -r1.22 syssrc/sys/arch/arc/conf/PICA
> cvs rdiff -r1.9 -r1.10 syssrc/sys/arch/arc/conf/RAMDISK
 1.3.2.3 05-Jan-2001  bouyer Sync with HEAD
 1.3.2.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.3.2.1 24-Sep-2000  bouyer file MIMORI was added on branch thorpej_scsipi on 2000-11-20 20:00:24 +0000
 1.4.2.1 21-Jun-2001  nathanw Catch up to -current.
 1.6.2.7 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.6.2.6 06-Sep-2002  jdolecek sync kqueue branch with HEAD
 1.6.2.5 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.6.2.4 16-Mar-2002  jdolecek Catch up with -current.
 1.6.2.3 11-Feb-2002  jdolecek Sync w/ -current.
 1.6.2.2 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.6.2.1 25-Aug-2001  thorpej Merge Aug 24 -current into the kqueue branch.
 1.8.2.7 18-Oct-2002  nathanw Catch up to -current.
 1.8.2.6 20-Jun-2002  nathanw Catch up to -current.
 1.8.2.5 17-Apr-2002  nathanw Catch up to -current.
 1.8.2.4 01-Apr-2002  nathanw Catch up to -current.
(CVS: It's not just a program. It's an adventure!)
 1.8.2.3 28-Feb-2002  nathanw Catch up to -current.
 1.8.2.2 08-Jan-2002  nathanw Catch up to -current.
 1.8.2.1 13-Nov-2001  nathanw file MIMORI was added on branch nathanw_sa on 2002-01-08 00:23:04 +0000
 1.17.4.1 01-Aug-2002  lukem Pull up revision 1.18 (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.17.2.1 14-Jul-2002  gehenna catch up with -current.
 1.20.2.11 11-Dec-2005  christos Sync with head.
 1.20.2.10 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.20.2.9 04-Mar-2005  skrll Sync with HEAD.

Hi Perry!
 1.20.2.8 15-Feb-2005  skrll Sync with HEAD.
 1.20.2.7 04-Feb-2005  skrll Sync with HEAD.
 1.20.2.6 24-Jan-2005  skrll Sync with HEAD.
 1.20.2.5 29-Nov-2004  skrll Sync with HEAD.
 1.20.2.4 14-Nov-2004  skrll Sync with HEAD.
 1.20.2.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.20.2.2 18-Sep-2004  skrll Sync with HEAD.
 1.20.2.1 03-Aug-2004  skrll Sync with HEAD
 1.26.2.1 15-Jul-2004  he branches: 1.26.2.1.2;
Pull up revision 1.27 (requested by atatat in ticket #663):
Add "options SYSCTL_INCLUDE_DESCR" to a lot of configurations,
but commented out in most of them.
 1.26.2.1.2.1 02-Apr-2005  he Pull up revision 1.30 (requested by bouyer in ticket #1019):
Add pdcsata(4), a driver for the Promise SATA150 (aka PDC203xx) series of
controllers.
 1.30.4.1 29-Apr-2005  kent sync with -current
 1.31.2.2 19-Mar-2005  yamt sync with head. xen and whitespace. xen part is not finished.
 1.31.2.1 12-Feb-2005  yamt sync with head.
 1.34.4.2 18-Jul-2005  riz Pull up revision 1.36 (requested by tron in ticket #566):
Add (commented out) IPSEC_NAT_T option.
 1.34.4.1 01-Jun-2005  riz Pull up revision 1.35 (requested by tron in ticket #362):
Remove attachment for the piixide(4) driver from all non-x86 kernel
configurations because Intel IDE disk controllers only exist as part
of Intel chipsets for x86 systems.
 1.35.2.3 03-Sep-2007  yamt sync with head.
 1.35.2.2 30-Dec-2006  yamt sync with head.
 1.35.2.1 21-Jun-2006  yamt sync with head.
 1.43.6.1 22-Apr-2006  simonb Sync with head.
 1.43.4.1 09-Sep-2006  rpaulo sync with head
 1.43.2.1 18-Feb-2006  yamt sync with head.
 1.45.2.1 03-Sep-2006  yamt sync with head.
 1.46.4.1 22-Oct-2006  yamt sync with head
 1.46.2.1 18-Nov-2006  ad Sync with head.
 1.47.16.1 26-Jun-2007  garbled Sync with HEAD.
 1.47.10.1 11-Jul-2007  mjf Sync with head.
 1.47.8.1 15-Jul-2007  ad Sync with head.
 1.48.10.1 06-Nov-2007  matt sync with HEAD
 1.49.28.2 28-Apr-2009  skrll Sync with HEAD.
 1.49.28.1 19-Jan-2009  skrll Sync with HEAD.
 1.49.26.1 13-Dec-2008  haad Update haad-dm branch to haad-dm-base2.
 1.49.20.3 11-Aug-2010  yamt sync with head.
 1.49.20.2 11-Mar-2010  yamt sync with head
 1.49.20.1 04-May-2009  yamt sync with head.
 1.49.16.1 17-Jan-2009  mjf Sync with HEAD.
 1.51.4.1 13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.53.4.3 21-Apr-2011  rmind sync with head
 1.53.4.2 05-Mar-2011  rmind sync with head
 1.53.4.1 30-May-2010  rmind sync with head
 1.53.2.2 17-Aug-2010  uebayasi Sync with HEAD.
 1.53.2.1 30-Apr-2010  uebayasi Sync with HEAD.
 1.56.4.1 08-Feb-2011  bouyer Add QUOTA2 where QUOTA is enabled (and QUOTA2 commented out where QUOTA
is commented out)
 1.56.2.1 06-Jun-2011  jruoho Sync with HEAD.
 1.57.4.3 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.57.4.2 30-Oct-2012  yamt sync with head
 1.57.4.1 17-Apr-2012  yamt sync with head
 1.59.2.3 03-Dec-2017  jdolecek update from HEAD
 1.59.2.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.59.2.1 23-Jun-2013  tls resync from head
 1.65.2.1 28-Aug-2013  rmind sync with head
 1.66.4.1 10-Aug-2014  tls Rebase.
 1.68.2.2 28-Aug-2017  skrll Sync with HEAD
 1.68.2.1 22-Sep-2015  skrll Sync with HEAD
 1.72.4.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.72.4.1 10-Jun-2019  christos Sync with HEAD
 1.72.2.1 06-Sep-2018  pgoyette Sync with HEAD

Resolve a couple of conflicts (result of the uimin/uimax changes)
 1.73.6.1 25-Jan-2020  ad Sync with head.
 1.40 03-Dec-2000  matt Use shared Makefile.mips
 1.39 10-Jun-2000  soda branches: 1.39.4;
move address to resolve conflict with firmware working memory
of NEC RISCstation 2250, from Shuichiro URATA <ur@a-r.org>.
 1.38 21-May-2000  soren branches: 1.38.2;
Also share BE ldscripts.
 1.37 09-May-2000  hubertf Add "install" target, so "make install" after building the kernel
does something useful. The target can be redefined by putting a
install-kernel-${MACHINE_NAME} target that fits your needs into
/etc/mk.conf.
 1.36 09-May-2000  thorpej HAVE_GCC28 -> HAVE_EGCS, and make it match gcc 2.9 as well. Also,
make the use of -Wno-uninitialized explicit, don't rely on a compiler
hack to do it for us.
 1.35 25-Feb-2000  soda some clean up, especially,
- use "objcopy -O ecoff-littlemips" instead of elf2ecoff to make cross
compilation easy. this also workarounds a problem that -current
elf2ecoff doesn't work with ARC BIOS.
- use -mips2 for ld, since mixing -mips3 and -mips2 doesn't work with
-current ld.
mostly from Izumi Tsutsui <tsutsui@netbsd.org>
 1.34 22-Feb-2000  soda merge changes between OpenBSD-2.1 and OpenBSD-2.6
 1.33 01-Feb-2000  tsutsui Revert STRIPPROG -> STRIP
 1.32 26-Jan-2000  soda options<SPACE><TAB> and options "<foo>=<bar>" clean up
pointed point by enami@netbsd.org
 1.31 24-Jan-2000  tron Add "dependall" target for comfort.
 1.30 23-Jan-2000  soda merge to NetBSD-current (DeskStation and Algor support is currently broken)
 1.29 23-Jan-2000  soda Moved from /cvsroot/syssrc/sys/arch/pica/conf/Makefile.pica,v
 1.28 19-Jan-2000  tsutsui STRIP -> STRIPPROG
 1.27 26-Jul-1999  cgd be more efficient when doing the SYSTEM_LD_TAIL for -g kernels: don't
copy them just to strip them, use strip -o.
 1.26 09-Jul-1999  mrg clean up a bit after jason :)

- fix emitrules() like emitfiles() to deal with the prefix (otherwise it
would attempt to find the file in the normal base for the NORMAL_C rule).
- add emitincludes() which adds include directives for each prefix to the
$INCLUDES variable in the makefile.
- add %INCLUDES to each Makefile.arch to deal with the above.

this makes "prefix" actually work in a usable manner, and now i can move
on to fixing compiler warnings (errors) in the ESP code. :)
 1.25 15-Jan-1999  thorpej branches: 1.25.4;
Some minor, mostly costmetic, changes to CPPFLAGS/CFLAGS.
 1.24 08-Jan-1999  augustss Add -Wpointer-arith warning since `void *' arithmetic is not ANSI C.
 1.23 15-Oct-1998  drochner change handling of libkern:
-sys/lib/libkern builds as library per default (as it was documented all
the time)
-ports able to LKM set "KERN_AS=obj" explicitely in their Makefiles
(for now; should depend on actual "option LKM" or -better- functions
included for LKM use should be pulled in by a stub)
-always link libcompat before libkern - libkern stuff can be referred to
by libcompat, but not the other way
 1.22 05-Sep-1998  lukem distclean is a synonym for cleandir
 1.21 31-May-1998  thorpej Specify a non-profiling C rule.
 1.20 12-Apr-1998  tv Add -Wno-main conditional on compiler being gcc 2.8 or egcs. (This adds
a HAVE_GCC28 check-variable that can now be used to add other gcc-2.8
flags in cases where they may be useful, or to remove gcc 2.7.2 "bug
workaround" flags.)
 1.19 03-Mar-1998  thorpej Make this work with DEBUG="-g"
 1.18 12-Nov-1997  thorpej Make sure CPP, AR, AS, and RANLIB are defined.
 1.17 12-Nov-1997  thorpej Define LORDER, NM, and TSORT here, like we do the rest of the tools.
 1.16 30-Sep-1997  christos branches: 1.16.2;
PR/4162: Chris Jones: make cleandir does not work properly; it does not
remove the object files and the .depend file in the kernel build directory.
 1.15 12-Jul-1997  leo branches: 1.15.2;
Generate assym.h dependencies when making 'depend'.
 1.14 23-Jun-1997  jonathan Apply sys/arch/mips changes (MACH_ -> MIPS_ or MIPS3_) changes to Pica port.
PICA Kernel compiles with warnings and links, otherwise untested.
 1.13 14-Mar-1997  mycroft Define the `cleankernel' target consistently with other ports.
 1.12 04-Feb-1997  perry Nuke some options GENERIC residue.
 1.11 04-Feb-1997  perry Nuke some GENERIC residue.
 1.10 01-Dec-1996  jonathan * Replace explicit -O2 in CFLAGS with COPTS macro. Default COPTS?= -O2.
Lets users over-ride with makeoptions COPTS="..." in kernel config files.

Leave `mandatory' flags (like -msoft-float which on m68k enforces no
FP in kernel) in CFLAGS.
 1.9 09-Sep-1996  mycroft Move strip(1) flags into a separate variable, so that $STRIP can
be passed to subordinate make(1)s. Remove $TOUCH. Add HOSTED_CC,
HOSTED_CPPFLAGS, and HOSTED_CFLAGS, and use them when depending genassym.
 1.8 31-Aug-1996  mycroft Wrap the default definition of `S' in `.ifndef'.
 1.7 12-Aug-1996  mycroft Put into . Remove hooks for `config-dependent' and
`device-driver' flags.
 1.6 10-Aug-1996  mycroft * Add a HOSTED_C_C variable, which strips `-p', `-pg', and
`-nostdinc', and use it when building genassym.
* Use `-nostdinc' just to be sure we're self-contained.
 1.5 10-Aug-1996  mycroft * Define CWARNFLAGS and MKDEP in some moderately consistent fashion.
* Make S expand to an absolute path at compile time.
* Use `-S' rather than `-x' to remove debugging symbols.
* Garbage collect unused variables.
* Reverse a handful of port-specific changes that do not correspond to
the common build model and are not needed.
 1.4 11-May-1996  mycroft Make `make depend' work for libraries.
 1.3 31-Mar-1996  jonathan Fix make depend target, and add -Werror to CFLAGS.
 1.2 27-Mar-1996  jonathan Update Pica kernel makefile template (Makefile.pica) to NetBSD 1.1A
conventions, so that Pica kernel can build libkern and libcompat.
Based on the changes to pmax/conf/Makefile.pmax.
 1.1 13-Mar-1996  jonathan branches: 1.1.1;
Initial revision
 1.1.1.3 22-Feb-2000  soda OpenBSD-2.6/arc
 1.1.1.2 23-Jan-2000  soda OpenBSD-2.1/arc
 1.1.1.1 13-Mar-1996  jonathan First commit of Per Fogelstrom's port to the Acer pica r4400/isa machine.
 1.15.2.1 14-Oct-1997  thorpej Update marc-pcmcia branch from trunk.
 1.16.2.1 12-Nov-1997  thorpej Pull up "make sure tools are defined" changes from trunk.
 1.25.4.1 02-Aug-1999  thorpej Update from trunk.
 1.38.2.1 22-Jun-2000  minoura Sync w/ netbsd-1-5-base.
 1.39.4.3 08-Dec-2000  bouyer Sync with HEAD.
 1.39.4.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.39.4.1 10-Jun-2000  bouyer file Makefile.arc was added on branch thorpej_scsipi on 2000-11-20 20:00:24 +0000
 1.15 11-Jun-2006  tsutsui - use CPUFLAGS rather than CFLAGS/AFLAGS
- specify "-march=r4000 -mabi=32" rather than -mips2
 1.14 24-Nov-2005  dbj branches: 1.14.4; 1.14.8; 1.14.14;
. Have dbsym explicitly suggest increasing SYMTAB_SPACE when
an overflow occurs.
. Make this error a fatal build time error
. Move the support for dbsym into the MI Makefile.kern.inc,
conditional upon the SYMTAB_SPACE option being defined in
the kernel config file.
 1.13 07-May-2005  tsutsui branches: 1.13.2; 1.13.8;
Ecoff kernels are no longer needed.
 1.12 30-Aug-2004  tsutsui Remove .mdebug.abi32 and .comment sections created by binutils-2.14
on converting kernels into ECOFF.
ARC BIOS may be confused by these sections without valid address.
 1.11 26-Oct-2003  tsutsui branches: 1.11.2;
Remove -mcpu=r4000 from CFLAGS. It's no longer available on gcc3.
 1.10 14-Jun-2003  tsutsui branches: 1.10.2;
Set LINKFORMAT=-N.
ARCBIOS on Tyne can recognize only ECOFF with OMAGIC header.

XXX The real fix is implementing native bootloader.
 1.9 08-Mar-2003  tsutsui Remove .pdr section which is created by binutils-2.13.2.1
on objcopy call to make ECOFF kernels.
 1.8 07-Dec-2002  tsutsui Call ${DBSYM} in SYSTEM_LD_TAIL_EXTRA.
 1.7 19-Mar-2002  atatat Put the extra kernel names in EXTRA_KERNELS
 1.6 12-Jan-2002  tsutsui Remove .mdebug and .ident sections from ECOFF kernels so that
the ARC BIOS can load ECOFF kernels built with new-toolchain properly.
 1.5 09-Dec-2001  atatat Roll the rest of the ports over to the new MI kernel build machinery.
Any problems reported by testers have been fixed, and massive
cross-compiling of kernels has shown that any problems that remain
with actually building kernels are not related to this.
 1.4 14-Nov-2001  thorpej branches: 1.4.2;
Slight cleanup.
 1.3 21-May-2001  soda branches: 1.3.2;
abstract "${OBJCOPY} --output-target=ecoff-littlemips"
 1.2 28-Mar-2001  tsutsui objcopy -> ${OBJCOPY}
 1.1 03-Dec-2000  matt branches: 1.1.2; 1.1.4;
Use shared Makefile.mips
 1.1.4.2 21-Jun-2001  nathanw Catch up to -current.
 1.1.4.1 09-Apr-2001  nathanw Catch up with -current.
 1.1.2.3 21-Apr-2001  bouyer Sync with HEAD
 1.1.2.2 08-Dec-2000  bouyer Sync with HEAD.
 1.1.2.1 03-Dec-2000  bouyer file Makefile.arc.inc was added on branch thorpej_scsipi on 2000-12-08 09:26:21 +0000
 1.3.2.3 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.3.2.2 11-Feb-2002  jdolecek Sync w/ -current.
 1.3.2.1 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.4.2.5 11-Dec-2002  thorpej Sync with HEAD.
 1.4.2.4 01-Apr-2002  nathanw Catch up to -current.
(CVS: It's not just a program. It's an adventure!)
 1.4.2.3 28-Feb-2002  nathanw Catch up to -current.
 1.4.2.2 08-Jan-2002  nathanw Catch up to -current.
 1.4.2.1 14-Nov-2001  nathanw file Makefile.arc.inc was added on branch nathanw_sa on 2002-01-08 00:23:04 +0000
 1.10.2.6 11-Dec-2005  christos Sync with head.
 1.10.2.5 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.10.2.4 21-Sep-2004  skrll Fix the sync with head I botched.
 1.10.2.3 18-Sep-2004  skrll Sync with HEAD.
 1.10.2.2 03-Sep-2004  skrll Sync with HEAD
 1.10.2.1 03-Aug-2004  skrll Sync with HEAD
 1.11.2.1 01-Sep-2004  tron branches: 1.11.2.1.2;
Pull up revision 1.12 (requested by tsutsui in ticket #809):
Remove .mdebug.abi32 and .comment sections created by binutils-2.14
on converting kernels into ECOFF.
ARC BIOS may be confused by these sections without valid address.
 1.11.2.1.2.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.13.8.1 29-Nov-2005  yamt sync with head.
 1.13.2.1 21-Jun-2006  yamt sync with head.
 1.14.14.1 19-Jun-2006  chap Sync with head.
 1.14.8.1 26-Jun-2006  yamt sync with head.
 1.14.4.1 09-Sep-2006  rpaulo sync with head
 1.2 22-Feb-2000  soda merge changes between OpenBSD-2.1 and OpenBSD-2.6
 1.1 22-Feb-2000  soda branches: 1.1.1;
Initial revision
 1.1.1.1 22-Feb-2000  soda OpenBSD-2.6/arc
 1.11 13-Jun-2001  soda remove algor related codes, because there is independent (and working!)
algor port now.
 1.10 21-May-2001  soda sync with GENERIC: enable SOFTDEP, add vlan, etc.
 1.9 24-Sep-2000  jdolecek branches: 1.9.2;
don't specify number of ptys if >= 16 (current default initial number)
pty comments: normalize and g/c what is no longer relevant
 1.8 17-Jun-2000  soda - vga/pckbc attachment for jazz internal bus of Magnum derived machines
(including Pica, NEC RISCstation/RISCserver).
- TGA console initialization for NEC RISCstation 2250,
contributed by Shuichiro URATA <ur@a-r.org>
 1.7 14-Jun-2000  veego Remove the obsolete config fragments for kernel crypto, because the IPsec
crypto code is now in the kernel source tree.
 1.6 27-May-2000  soren branches: 1.6.2;
ncr(4) wouldn't work, so s/ncr/siop/.
 1.5 22-Mar-2000  cgd add commented out option PCI_CONFIG_DUMP whever there's a PCIVERBOSE.
 1.4 22-Feb-2000  soda merge changes between OpenBSD-2.1 and OpenBSD-2.6
 1.3 26-Jan-2000  soda options<SPACE><TAB> and options "<foo>=<bar>" clean up
pointed point by enami@netbsd.org
 1.2 23-Jan-2000  soda merge to NetBSD-current (DeskStation and Algor support is currently broken)
 1.1 23-Jan-2000  soda branches: 1.1.1;
Initial revision
 1.1.1.2 22-Feb-2000  soda OpenBSD-2.6/arc
 1.1.1.1 23-Jan-2000  soda OpenBSD-2.1/arc
 1.6.2.1 22-Jun-2000  minoura Sync w/ netbsd-1-5-base.
 1.9.2.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.9.2.1 24-Sep-2000  bouyer file P4032 was added on branch thorpej_scsipi on 2000-11-20 20:00:25 +0000
 1.56 17-Aug-2012  abs Update all kernel configs mentioning WSEMUL_* but not already including
WSDISPLAY_COMPAT_USL using the following rules:
- If WSEMUL_ is commented out, add commented out out WSDISPLAY_COMPAT_USL
- If INSTALL or obviously memory constrained, add WSDISPLAY_DEFAULTSCREENS=1
and commented out WSDISPLAY_COMPAT_USL
- Otherwise add WSDISPLAY_COMPAT_USL

Some of the INSTALL configs for larger memory machines are probably suitable
for adding WSDISPLAY_COMPAT_USL.

Now wsconscfg(8) should be able to switch VTs when expected.

Implemented after no objection from tech-kern to the following:

On 5 June 2012 09:47, David Brownlee <abs@absd.org> wrote:
> wsconscfg(8) requires WSDISPLAY_COMPAT_USL in order to switch virtual
> terminals.
>
> Except when in an exceptionally memory or space constrained
> environment (INSTALL being the obvious case), is there any reason why
> all GENERIC and GENERIC-like kernels which have wscons enabled
> shouldn't also have WSDISPLAY_COMPAT_USL?
 1.55 15-Apr-2006  tsutsui branches: 1.55.100;
This file is mostly identical with GENERIC except pccons/wscons,
so just include GENERIC and use "no" keyword of options(4).

XXX arc/dev/pccons.c needs cleanup for -Wshadow and -Wcast-qual.
 1.54 28-Mar-2006  pavel 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.53 05-Feb-2006  cube branches: 1.53.2; 1.53.4; 1.53.6;
Remove 'count' argument for pseudo-devices that ignore it
(vnd, bpfilter, ppp, gif, gre, tun, sl, strip, faith, stf).
 1.52 04-Feb-2006  rpaulo bpfilter doesn't accept count anymore.
 1.51 20-Dec-2005  thorpej branches: 1.51.2; 1.51.4; 1.51.6;
Remove the tablet line discipline.
 1.50 07-Dec-2005  tsutsui Adjust comments for options FFS_NO_SNAPSHOT.

XXX: This option should be mentioned in options(4).
 1.49 28-Aug-2005  tsutsui options<space><tab>
 1.48 19-Aug-2005  christos Enable ptyfs by default on the non-install and non small/tiny/ramdisk kernels
 1.47 19-Aug-2005  christos 64 bit inode changes.
 1.46 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.45 30-Jul-2005  yamt add "options VMSWAP" to non INSTALL kernels.
 1.44 07-Jul-2005  tron Add (commented out) IPSEC_NAT_T option.
 1.43 31-May-2005  tron branches: 1.43.2;
Remove attachment for the piixide(4) driver from all non-x86 kernel
configurations because Intel IDE disk controllers only exist as part
of Intel chipsets for x86 systems.
 1.42 18-Feb-2005  dsl branches: 1.42.4;
Invert FFS_SNAPSHOT to FFS_NO_SNAPSHOT
 1.41 11-Feb-2005  dsl Add 'option FFS_SNAPSHOT' to most of the config files.
Commented out for kernels that appear to hace space constraints.
 1.40 31-Jan-2005  hannken Add file system snapshots to kernel configs.

- Ffs internal snapshots get compiled in unconditionally.

- File system snapshot device fss(4) added to all kernel configs that
have a disk. Device is commented out on all non-GENERIC kernels.

Reviewed by: Jason Thorpe <thorpej@netbsd.org>
 1.39 21-Jan-2005  tsutsui branches: 1.39.2;
Add options COMPAT_20.
 1.38 24-Nov-2004  bouyer branches: 1.38.4;
pdcsata(4), a driver for the Promise SATA150 (aka PDC203xx) serie of
controllers. Tested with a PDC20375 (2 SATA, one PATA) controller on sparc64.
Added to all kernel config file which had pdcide(4).
 1.37 10-Nov-2004  christos Add COMPAT_BSDPTY to the rest of the config files.
 1.36 04-Sep-2004  manu IPv4 PIM support, based on a submission from Pavlin Radoslavov posted on
tech-net@
 1.35 15-Jul-2004  atatat Add "options SYSCTL_INCLUDE_DESCR" to a lot of configs, but commented
out in most of them.
 1.34 14-Dec-2003  thorpej branches: 1.34.2;
Split the Intel i31244 SATA controller ("Artisea") driver out of piixide
into its own driver (artsata).
 1.33 13-Dec-2003  thorpej Split out the Silicon Image SATALink support into its own driver,
"satalink".
 1.32 21-Oct-2003  tsutsui - Use scsibus* at scsi?
- Use atabus* at ata?
- Use atapibus* atapi?
- Sort ATA/ATAPI device entries.
- Comment out aceride, piixide, siside, and viaide.
 1.31 08-Oct-2003  bouyer Add new per-chip pciide drivers.
 1.30 08-Oct-2003  bouyer Add atabus.
 1.29 27-Sep-2003  tsutsui Add options COMPAT_16.
 1.28 15-Jun-2003  tsutsui branches: 1.28.2;
Add isapnp0 at isa and enable working isa/isapnp devices.
 1.27 15-Jun-2003  tsutsui Remove nonexistent we* at isapnp.
 1.26 14-Jun-2003  tsutsui Change DESKstation -> DeskStation, as per spelling on the Tyne board.
 1.25 22-May-2003  tsutsui Uppercase PICA.

"PICA" stands for "Performance-enhanced I/O and CPU Architecture."
 1.24 06-Apr-2003  tsutsui Enable oosiop at jazzio.
While I'm here, use wildcard for osiop unit.
 1.23 18-Sep-2002  lukem enable USERCONF by default; it's small and extremely useful to have available.
 1.22 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.21 25-Apr-2002  atatat branches: 1.21.2; 1.21.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.20 17-Apr-2002  mycroft Switch from de to tlp by default.
 1.19 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.18 04-Mar-2002  sommerfeld The "gif*" tunnelling interface does everything ipip does.
Move usage example from ipip.4 to gif.4
Excise ipip and stitch up the scars.
 1.17 10-Feb-2002  wiz Update description for icsphy.
 1.16 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.15 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.14 20-Nov-2001  lukem - pull in opt_kgdb.h where necessary
- replace opt_kgdb_machdep.h with opt_kgdb.h
- defparam opt_kgdb.h:
KGDB_DEV KGDB_DEVNAME KGDB_DEVADDR KGDB_DEVRATE KGDB_DEVMODE
- move from opt_ddbparam.h to opt_ddb.h:
DDB_FROMCONSOLE DDB_ONPANIC DDB_HISTORY_SIZE DDB_BREAK_CHAR SYMTAB_SPACE
- replace KGDBDEV with KGDB_DEV
- replace KGDBADDR with KGDB_DEVADDR
- replace KGDBMODE with KGDB_DEVMODE
- replace KGDBRATE with KGDB_DEVRATE
- use `9600' instead of `0x2580' for 9600 baud rate
- use correct quotes for options KGDB_DEVNAME="\"com\""
- use correct quotes for options KGDB_DEV="17*256+0"
- remove unnecessary dependancy on Makefile for kgdb_stub.o
- minor whitespace cleanup
 1.13 13-Nov-2001  augustss branches: 1.13.2;
The wsmux pseudo device does not need a count anymore.
 1.12 05-Nov-2001  tsutsui Add trm at pci.
 1.11 03-Sep-2001  tsutsui branches: 1.11.4;
Add more working PCI devices on arc:
pcscp* at pci?
epic* at pci?
pcn* at pci?
rtk* at pci?
sip* at pci?
and remove le at pci, which is superseded by pcn.
 1.10 02-Sep-2001  tsutsui Enable siop at pci.
 1.9 22-Aug-2001  hubertf More comment changes: 90x[B] -> 90x[BC]
 1.8 08-Jul-2001  abs branches: 1.8.2;
Standardise TCP_COMPAT_42 as commented out, grouped with other COMPAT options,
and with the comment '4.2BSD TCP/IP bug compat. Not recommended'
Add commented out 'TCP_DEBUG # Record last TCP_NDEBUG packets with SO_DEBUG'
(All hail amiga and atari which make some attempt to automate the
multiplicity of config files...)
 1.7 13-Jun-2001  soda update configurations for "struct platform" and related changes
 1.6 21-May-2001  soda sync with GENERIC: enable SOFTDEP, add vlan, etc.
 1.5 24-Dec-2000  ur branches: 1.5.2;
Switch pica to jazzio.
Split shared MD portion between algor and jazzio.
 1.4 24-Sep-2000  jdolecek branches: 1.4.2;
don't specify number of ptys if >= 16 (current default initial number)
pty comments: normalize and g/c what is no longer relevant
 1.3 23-Jul-2000  ur Add WSEMUL_VT100 to configuration files using wsdisplay.
And update my current configuration. (MIMORI)
 1.2 05-Jul-2000  sommerfeld Comment out EON ISO-over-ip tunneling pseudo-driver, and document as
broken/fragile. Unlikely to be of much use, and confuses new users
when their system crashes when they, or their dhclient stumble over
it. See kern/10500, kern/8994 for the gory details.
 1.1 17-Jun-2000  soda branches: 1.1.2; 1.1.4;
- vga/pckbc attachment for jazz internal bus of Magnum derived machines
(including Pica, NEC RISCstation/RISCserver).
- TGA console initialization for NEC RISCstation 2250,
contributed by Shuichiro URATA <ur@a-r.org>
 1.1.4.2 22-Jun-2000  minoura Sync w/ netbsd-1-5-base.
 1.1.4.1 17-Jun-2000  minoura file PCCONS was added on branch minoura-xpg4dl on 2000-06-22 16:59:10 +0000
 1.1.2.2 10-Aug-2000  soda Pull up to netbsd-1-5 branch.
Approved by: thorpej

- Add WSEMUL_VT100 to configuration files using wsdisplay.
- Update MIMORI configuration.

Revisions pulled up:
> cvs rdiff -r1.7 -r1.8 syssrc/sys/arch/arc/conf/ARCTIC
> cvs rdiff -r1.36 -r1.37 syssrc/sys/arch/arc/conf/GENERIC
> cvs rdiff -r1.8 -r1.9 syssrc/sys/arch/arc/conf/M403
> cvs rdiff -r1.1 -r1.2 syssrc/sys/arch/arc/conf/MIMORI
> cvs rdiff -r1.2 -r1.3 syssrc/sys/arch/arc/conf/PCCONS
> cvs rdiff -r1.21 -r1.22 syssrc/sys/arch/arc/conf/PICA
> cvs rdiff -r1.9 -r1.10 syssrc/sys/arch/arc/conf/RAMDISK
 1.1.2.1 06-Jul-2000  sommerfeld Comment out EON ISO-over-ip tunneling pseudo-driver, and document as
broken/fragile. Unlikely to be of much use, and confuses new users
when their system crashes when they, or their dhclient stumble over
it. See kern/10500, kern/8994 for the gory details.
[pull up approved by thorpej]
 1.4.2.3 05-Jan-2001  bouyer Sync with HEAD
 1.4.2.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.4.2.1 24-Sep-2000  bouyer file PCCONS was added on branch thorpej_scsipi on 2000-11-20 20:00:25 +0000
 1.5.2.1 21-Jun-2001  nathanw Catch up to -current.
 1.8.2.8 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.8.2.7 06-Sep-2002  jdolecek sync kqueue branch with HEAD
 1.8.2.6 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.8.2.5 16-Mar-2002  jdolecek Catch up with -current.
 1.8.2.4 11-Feb-2002  jdolecek Sync w/ -current.
 1.8.2.3 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.8.2.2 13-Sep-2001  thorpej Update the kqueue branch to HEAD.
 1.8.2.1 25-Aug-2001  thorpej Merge Aug 24 -current into the kqueue branch.
 1.11.4.1 12-Nov-2001  thorpej Sync the thorpej-mips-cache branch with -current.
 1.13.2.7 18-Oct-2002  nathanw Catch up to -current.
 1.13.2.6 20-Jun-2002  nathanw Catch up to -current.
 1.13.2.5 17-Apr-2002  nathanw Catch up to -current.
 1.13.2.4 01-Apr-2002  nathanw Catch up to -current.
(CVS: It's not just a program. It's an adventure!)
 1.13.2.3 28-Feb-2002  nathanw Catch up to -current.
 1.13.2.2 08-Jan-2002  nathanw Catch up to -current.
 1.13.2.1 13-Nov-2001  nathanw file PCCONS was added on branch nathanw_sa on 2002-01-08 00:23:04 +0000
 1.21.4.1 01-Aug-2002  lukem Pull up revision 1.22 (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.21.2.1 14-Jul-2002  gehenna catch up with -current.
 1.28.2.11 11-Dec-2005  christos Sync with head.
 1.28.2.10 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.28.2.9 04-Mar-2005  skrll Sync with HEAD.

Hi Perry!
 1.28.2.8 15-Feb-2005  skrll Sync with HEAD.
 1.28.2.7 04-Feb-2005  skrll Sync with HEAD.
 1.28.2.6 24-Jan-2005  skrll Sync with HEAD.
 1.28.2.5 29-Nov-2004  skrll Sync with HEAD.
 1.28.2.4 14-Nov-2004  skrll Sync with HEAD.
 1.28.2.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.28.2.2 18-Sep-2004  skrll Sync with HEAD.
 1.28.2.1 03-Aug-2004  skrll Sync with HEAD
 1.34.2.1 15-Jul-2004  he branches: 1.34.2.1.2;
Pull up revision 1.35 (requested by atatat in ticket #663):
Add "options SYSCTL_INCLUDE_DESCR" to a lot of configurations,
but commented out in most of them.
 1.34.2.1.2.1 02-Apr-2005  he Pull up revision 1.38 (requested by bouyer in ticket #1019):
Add pdcsata(4), a driver for the Promise SATA150 (aka PDC203xx) series of
controllers.
 1.38.4.1 29-Apr-2005  kent sync with -current
 1.39.2.2 19-Mar-2005  yamt sync with head. xen and whitespace. xen part is not finished.
 1.39.2.1 12-Feb-2005  yamt sync with head.
 1.42.4.2 18-Jul-2005  riz Pull up revision 1.44 (requested by tron in ticket #566):
Add (commented out) IPSEC_NAT_T option.
 1.42.4.1 01-Jun-2005  riz Pull up revision 1.43 (requested by tron in ticket #362):
Remove attachment for the piixide(4) driver from all non-x86 kernel
configurations because Intel IDE disk controllers only exist as part
of Intel chipsets for x86 systems.
 1.43.2.1 21-Jun-2006  yamt sync with head.
 1.51.6.1 22-Apr-2006  simonb Sync with head.
 1.51.4.1 09-Sep-2006  rpaulo sync with head
 1.51.2.1 18-Feb-2006  yamt sync with head.
 1.53.6.2 24-May-2006  tron Merge 2006-05-24 NetBSD-current into the "peter-altq" branch.
 1.53.6.1 31-Mar-2006  tron Merge 2006-03-31 NetBSD-current into the "peter-altq" branch.
 1.53.4.1 19-Apr-2006  elad sync with head - hopefully this will work
 1.53.2.2 24-May-2006  yamt sync with head.
 1.53.2.1 01-Apr-2006  yamt sync with head.
 1.55.100.1 30-Oct-2012  yamt sync with head
 1.87 29-Jan-2024  christos PR/57889: Ricardo Branco: ext2fs does not have user immutable and append
file flags, only system ones. Restrict those to the superuser. Before
the behavior was controlled by EXT2FS_SYSTEM_FLAGS. Make that behavior the
default.
 1.86 19-Jan-2020  thorpej Remove the strip(4) - Starmode Radio IP - pseudo-device driver. It is
long since obsolete.
 1.85 01-Aug-2018  maxv branches: 1.85.6;
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.84 14-Sep-2017  mrg branches: 1.84.2; 1.84.4;
clean up COMPAT_* options for native netbsd code:
- new series of files that are useful for saying "i want everything
since netbsd 1.4", etc.
- use the fact COMPAT_* options have future dependancies to remove
many redundant options.

removes about 3000 lines total across kernel configuration files.
tested about 30 random kernels in the changed list.
 1.83 29-Jul-2017  maxv Remove TCP_COMPAT_42 from the config files. Pass 3.
 1.82 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.81 07-Aug-2015  maxv Remove KMEMSTATS.
 1.80 23-Aug-2014  dholland branches: 1.80.2;
Systematize (and in many cases, fix) the comments on options COMPAT_NN.

There are quite a few configs that are missing some COMPAT_NN options
in ways that don't make sense; this should probably get cleaned up
too, but for the time being I've not added or removed anything.
 1.79 20-Jul-2014  alnsn Add commented out bpfjit options to mips kernels.
While here, add 2 missing RCS ids.
 1.78 30-Jun-2013  rmind branches: 1.78.4;
G/C PFIL_HOOKS from the kernel configs.
 1.77 05-Jun-2013  christos branches: 1.77.2;
remove obsolete networking options
 1.76 27-Apr-2013  christos more bogus number removal
 1.75 27-Apr-2013  christos the bogus number police
 1.74 27-Apr-2013  christos remove confusing numeric locators where they are unused.
 1.73 02-Mar-2013  christos Under FAST_IPSEC, IPSEC_ESP is mandatory; GC it.
 1.72 01-Mar-2013  joerg Retire OSI network stack. OK core@
 1.71 17-Aug-2012  abs branches: 1.71.2;
Update all kernel configs mentioning WSEMUL_* but not already including
WSDISPLAY_COMPAT_USL using the following rules:
- If WSEMUL_ is commented out, add commented out out WSDISPLAY_COMPAT_USL
- If INSTALL or obviously memory constrained, add WSDISPLAY_DEFAULTSCREENS=1
and commented out WSDISPLAY_COMPAT_USL
- Otherwise add WSDISPLAY_COMPAT_USL

Some of the INSTALL configs for larger memory machines are probably suitable
for adding WSDISPLAY_COMPAT_USL.

Now wsconscfg(8) should be able to switch VTs when expected.

Implemented after no objection from tech-kern to the following:

On 5 June 2012 09:47, David Brownlee <abs@absd.org> wrote:
> wsconscfg(8) requires WSDISPLAY_COMPAT_USL in order to switch virtual
> terminals.
>
> Except when in an exceptionally memory or space constrained
> environment (INSTALL being the obvious case), is there any reason why
> all GENERIC and GENERIC-like kernels which have wscons enabled
> shouldn't also have WSDISPLAY_COMPAT_USL?
 1.70 22-Nov-2011  tls The rnd pseudo-device is not really optional, because it is in the same
source file as the entropy-pool code itself. Move it to std. This
will be cleaned up more when I split the sources up as they should be.

This fixes build breaks on several ports. Thanks to Havard Eidnes for
pointing them out.
 1.69 06-Mar-2011  bouyer branches: 1.69.4;
merge the bouyer-quota2 branch. This adds a new on-disk format
to store disk quota usage and limits, integrated with ffs
metadata. Usage is checked by fsck_ffs (no more quotacheck)
and is covered by the WAPBL journal. Enabled with kernel
option QUOTA2 (added where QUOTA was enabled in kernel config files),
turned on with tunefs(8) on a per-filesystem
basis. mount_mfs(8) can also turn quotas on.

See http://mail-index.netbsd.org/tech-kern/2011/02/19/msg010025.html
for details.
 1.68 23-Nov-2010  hannken branches: 1.68.2; 1.68.4;
Remove unused count from pseudo-device md.
 1.67 08-May-2010  mrg enable IPFILTER_COMPAT in all kernels that have ipfilter already.
canonicalise several of the ipf option segments in various files
(this mostly means adding commented out IPFILTER_DEFAULT_BLOCK,
or adding commented or uncommented IPFILTER_LOG or IPFILTER_LOOKUP
option statements.)

i built about 20 of these kernels to check, but not all of them.
 1.66 16-Apr-2010  pooka Remove unused count (invariably "4") from pseudo-device fss.
 1.65 05-Dec-2009  pooka branches: 1.65.2; 1.65.4;
Remove the portalfs kernel file system driver. Replace mount_portal(8)
with a version based on puffs. User functionality remains the same.
 1.64 06-Mar-2009  joerg Remove SHMMAXPGS from all kernel configs. Dynamically compute the
initial limit as 1/4 of the physical memory. Ensure the limit is at
least 1024 pages, the old default on most platforms.
 1.63 24-Nov-2008  ad branches: 1.63.4;
Remove softdep, pass 1. We are focused on improving journalling.

Proposed on tech-kern@.
 1.62 12-Nov-2008  ad Remove LKMs and switch to the module framework, pass 1.

Proposed on tech-kern@.
 1.61 17-Oct-2007  garbled branches: 1.61.16; 1.61.20; 1.61.26; 1.61.28;
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.60 26-Jun-2007  tsutsui branches: 1.60.10;
Add options COMPAT_40.
 1.59 27-Sep-2006  manu branches: 1.59.8; 1.59.10; 1.59.16;
- Document COMPAT_15 as doing nothing
- Add COMPAT_15 to all the kernel that had COMPAT_14, for the sake of coherency
- Remove the only occurences of #ifdef COMPAT_15 in the tree: for the ARM
ports, COMPAT_15 was always used in conjunction with EXEC_AOUT. Only EXEC_AOUT
matters here.

This address kern/18407
 1.58 26-Aug-2006  christos branches: 1.58.2; 1.58.4;
PR/34283: Gene ENonymous: Add IPFILTER_LOOKUP to the default kernel options
Also remove CCITT,NS,NIP
 1.57 28-Mar-2006  pavel 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.56 05-Feb-2006  cube branches: 1.56.2; 1.56.4; 1.56.6;
Remove 'count' argument for pseudo-devices that ignore it
(vnd, bpfilter, ppp, gif, gre, tun, sl, strip, faith, stf).
 1.55 04-Feb-2006  rpaulo bpfilter doesn't accept count anymore.
 1.54 20-Dec-2005  thorpej branches: 1.54.2; 1.54.4; 1.54.6;
Remove the tablet line discipline.
 1.53 07-Dec-2005  tsutsui Adjust comments for options FFS_NO_SNAPSHOT.

XXX: This option should be mentioned in options(4).
 1.52 28-Aug-2005  tsutsui options<space><tab>
 1.51 19-Aug-2005  christos Enable ptyfs by default on the non-install and non small/tiny/ramdisk kernels
 1.50 19-Aug-2005  christos 64 bit inode changes.
 1.49 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.48 30-Jul-2005  yamt add "options VMSWAP" to non INSTALL kernels.
 1.47 07-Jul-2005  tron Add (commented out) IPSEC_NAT_T option.
 1.46 18-Feb-2005  dsl branches: 1.46.4; 1.46.6;
Invert FFS_SNAPSHOT to FFS_NO_SNAPSHOT
 1.45 11-Feb-2005  dsl Add 'option FFS_SNAPSHOT' to most of the config files.
Commented out for kernels that appear to hace space constraints.
 1.44 31-Jan-2005  hannken Add file system snapshots to kernel configs.

- Ffs internal snapshots get compiled in unconditionally.

- File system snapshot device fss(4) added to all kernel configs that
have a disk. Device is commented out on all non-GENERIC kernels.

Reviewed by: Jason Thorpe <thorpej@netbsd.org>
 1.43 21-Jan-2005  tsutsui branches: 1.43.2;
Add options COMPAT_20.
 1.42 10-Nov-2004  christos branches: 1.42.4;
Add COMPAT_BSDPTY to the rest of the config files.
 1.41 04-Sep-2004  manu IPv4 PIM support, based on a submission from Pavlin Radoslavov posted on
tech-net@
 1.40 15-Jul-2004  atatat Add "options SYSCTL_INCLUDE_DESCR" to a lot of configs, but commented
out in most of them.
 1.39 21-Oct-2003  tsutsui branches: 1.39.2;
- Use scsibus* at scsi?
- Use atabus* at ata?
- Use atapibus* atapi?
- Sort ATA/ATAPI device entries.
- Comment out aceride, piixide, siside, and viaide.
 1.38 27-Sep-2003  tsutsui Add options COMPAT_16.
 1.37 22-May-2003  tsutsui branches: 1.37.2;
Uppercase PICA.

"PICA" stands for "Performance-enhanced I/O and CPU Architecture."
 1.36 18-Sep-2002  lukem enable USERCONF by default; it's small and extremely useful to have available.
 1.35 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.34 25-Apr-2002  atatat branches: 1.34.2; 1.34.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.33 15-Apr-2002  tsutsui Remove (commented-out) pmsi entries.
 1.32 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.31 04-Mar-2002  sommerfeld The "gif*" tunnelling interface does everything ipip does.
Move usage example from ipip.4 to gif.4
Excise ipip and stitch up the scars.
 1.30 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.29 20-Nov-2001  lukem - pull in opt_kgdb.h where necessary
- replace opt_kgdb_machdep.h with opt_kgdb.h
- defparam opt_kgdb.h:
KGDB_DEV KGDB_DEVNAME KGDB_DEVADDR KGDB_DEVRATE KGDB_DEVMODE
- move from opt_ddbparam.h to opt_ddb.h:
DDB_FROMCONSOLE DDB_ONPANIC DDB_HISTORY_SIZE DDB_BREAK_CHAR SYMTAB_SPACE
- replace KGDBDEV with KGDB_DEV
- replace KGDBADDR with KGDB_DEVADDR
- replace KGDBMODE with KGDB_DEVMODE
- replace KGDBRATE with KGDB_DEVRATE
- use `9600' instead of `0x2580' for 9600 baud rate
- use correct quotes for options KGDB_DEVNAME="\"com\""
- use correct quotes for options KGDB_DEV="17*256+0"
- remove unnecessary dependancy on Makefile for kgdb_stub.o
- minor whitespace cleanup
 1.28 13-Nov-2001  augustss branches: 1.28.2;
The wsmux pseudo device does not need a count anymore.
 1.27 08-Jul-2001  abs branches: 1.27.2;
Standardise TCP_COMPAT_42 as commented out, grouped with other COMPAT options,
and with the comment '4.2BSD TCP/IP bug compat. Not recommended'
Add commented out 'TCP_DEBUG # Record last TCP_NDEBUG packets with SO_DEBUG'
(All hail amiga and atari which make some attempt to automate the
multiplicity of config files...)
 1.26 13-Jun-2001  soda update configurations for "struct platform" and related changes
 1.25 21-May-2001  soda sync with GENERIC: enable SOFTDEP, add vlan, etc.
 1.24 24-Dec-2000  ur branches: 1.24.2;
Switch pica to jazzio.
Split shared MD portion between algor and jazzio.
 1.23 24-Sep-2000  jdolecek branches: 1.23.2;
don't specify number of ptys if >= 16 (current default initial number)
pty comments: normalize and g/c what is no longer relevant
 1.22 23-Jul-2000  ur Add WSEMUL_VT100 to configuration files using wsdisplay.
And update my current configuration. (MIMORI)
 1.21 17-Jun-2000  soda branches: 1.21.2;
- vga/pckbc attachment for jazz internal bus of Magnum derived machines
(including Pica, NEC RISCstation/RISCserver).
- TGA console initialization for NEC RISCstation 2250,
contributed by Shuichiro URATA <ur@a-r.org>
 1.20 14-Jun-2000  veego Remove the obsolete config fragments for kernel crypto, because the IPsec
crypto code is now in the kernel source tree.
 1.19 22-Mar-2000  cgd branches: 1.19.2;
add commented out option PCI_CONFIG_DUMP whever there's a PCIVERBOSE.
 1.18 22-Feb-2000  soda merge changes between OpenBSD-2.1 and OpenBSD-2.6
 1.17 12-Feb-2000  thorpej Nuke NKMEMCLUSTERS.
 1.16 26-Jan-2000  soda options<SPACE><TAB> and options "<foo>=<bar>" clean up
pointed point by enami@netbsd.org
 1.15 23-Jan-2000  soda merge to NetBSD-current (DeskStation and Algor support is currently broken)
 1.14 23-Jan-2000  soda Moved from /cvsroot/syssrc/sys/arch/pica/conf/PICA,v
 1.13 26-Jun-1998  lukem remove options FIFO; it's now the default
 1.12 17-Nov-1997  lukem * add commented out DDB_HISTORY_SIZE=100 if DDB exists in config file
* fix up use of 'options<SPACE><TAB>'
 1.11 15-Oct-1997  thorpej Pulldown from marc-pcmcia branch: minimal changes to avoid namespace
collision between Pica port "com" (now "pcom") driver and more heavily-used
"com" driver.
 1.10 23-Jun-1997  jonathan branches: 1.10.4;
Apply sys/arch/mips changes (MACH_ -> MIPS_ or MIPS3_) changes to Pica port.
PICA Kernel compiles with warnings and links, otherwise untested.
 1.9 12-Jun-1997  mrg remove now obsolete "swap on..." lines.
 1.8 04-Feb-1997  perry Nuke some GENERIC residue.
 1.7 31-Jan-1997  thorpej Adopt for new file system and root spec grammar.
 1.6 15-Jan-1997  perry Eliminate obsolete TIMEZONE and DST options.
Eliminate obsolete global kernel variable "struct timezone tz"
Add RTC_OFFSET option
Add global kernel variable rtc_offset, which is initialized by
RTC_OFFSET at kernel compile time.
on i386, x68k, mac68k, pc532 and arm32, RTC_OFFSET indicates how many
minutes west (east) of GMT the hardware RTC runs. Defaults to 0.
Places where tz variable was used to indicate this in the past have
been replaced with rtc_offset.
Add sysctl interface to rtc_offset.
Kill obsolete DST_* macros in sys/time.h
gettimeofday now always returns zeroed timezone if zone is requested.
settimeofday now ignores and logs attempts to set non-existant kernel
timezone.
 1.5 21-Nov-1996  jonathan branches: 1.5.2;
* Add /sys-relative paths for NetBSD-1.2b config.
* Add standard mips EXEC packages to std.pica
* Move non-optional options to std.pica
 1.4 26-Aug-1996  mrg add COMPAT_12.
 1.3 16-Jul-1996  thorpej RCS id police.
 1.2 27-Mar-1996  jonathan Update Pica kernel configuration (files.pica, std.pica) and the default
template to use the merged mips code in sys/arch/mips/{conf,mips}.
 1.1 13-Mar-1996  jonathan branches: 1.1.1;
Initial revision
 1.1.1.3 22-Feb-2000  soda OpenBSD-2.6/arc
 1.1.1.2 23-Jan-2000  soda OpenBSD-2.1/arc
 1.1.1.1 13-Mar-1996  jonathan First commit of Per Fogelstrom's port to the Acer pica r4400/isa machine.
 1.5.2.2 18-Jan-1997  thorpej Update from trunk.
 1.5.2.1 14-Jan-1997  thorpej Snapshot of work-in-progress, committed to private branch.

These changes implement machine-independent root device and file system
selection. Notable features:

- All ports behave in a consistent manner regarding root
device selection.
- No more "options GENERIC"; all kernels have the ability
to boot with RB_ASKNAME to select root device and file system
type.
- Root file system type can be wildcarded; a machine-independent
function will try all possible file systems for the selected
root device until one succeeds.
- If the root file system fails to mount, the operator will
be given the chance to select a new root device and file
system type, rather than having the machine simply panic.
- nfs_mountroot() no longer panics if any part of the NFS
mount process fails; it now returns an error, giving the
operator a chance to recover.
- New, more consistent, config(8) grammar. The constructs:

config netbsd swap generic
config netbsd root on nfs

have been replaced with:

config netbsd root on ? type ?
config netbsd root on ? type nfs

Additionally, the operator may select or wildcard root file
system type in the kernel configuration file:

config netbsd root on cd0a type cd9660

config(8) now requires that a "root" specification be
made. "root" may be wired down or wildcarded. "swap" and
"dump" specifications are optional, and follow previous
semantics.

- config(8) has a new "file-system" keyword, used to configure
file systems into the kernel. Eventually, this will be used
to generate the default vfssw[].

- "options NFSCLIENT" is obsolete, and is replaced by
"file-system NFS". "options NFSSERVER" still exists, since
NFS server support is independent of the NFS file system
client.

- sys/arch/<foo>/<foo>/swapgeneric.c is no longer used, and
will be removed; all information is now generated by config(8).

As of this commit, all ports except arm32 have been updated to use
the new setroot(). Only SPARC, i386, and Alpha ports have been
tested at this time. Port masters should test these changes on their
ports, and report any problems back to me.

More changes are on their way, including RB_ASKNAME support in
nfs_mountroot() (to prompt for server address and path) and, potentially,
the ability to select rarp/bootparam or bootp in nfs_mountroot().
 1.10.4.1 15-Oct-1997  thorpej Minimal changes to rename the Pica port's "com" driver to "pcom", to
avoid a namespace collision with the more heavily-used "com" driver,
which needs to be declared in sys/conf/files.
 1.19.2.1 22-Jun-2000  minoura Sync w/ netbsd-1-5-base.
 1.21.2.1 10-Aug-2000  soda Pull up to netbsd-1-5 branch.
Approved by: thorpej

- Add WSEMUL_VT100 to configuration files using wsdisplay.
- Update MIMORI configuration.

Revisions pulled up:
> cvs rdiff -r1.7 -r1.8 syssrc/sys/arch/arc/conf/ARCTIC
> cvs rdiff -r1.36 -r1.37 syssrc/sys/arch/arc/conf/GENERIC
> cvs rdiff -r1.8 -r1.9 syssrc/sys/arch/arc/conf/M403
> cvs rdiff -r1.1 -r1.2 syssrc/sys/arch/arc/conf/MIMORI
> cvs rdiff -r1.2 -r1.3 syssrc/sys/arch/arc/conf/PCCONS
> cvs rdiff -r1.21 -r1.22 syssrc/sys/arch/arc/conf/PICA
> cvs rdiff -r1.9 -r1.10 syssrc/sys/arch/arc/conf/RAMDISK
 1.23.2.3 05-Jan-2001  bouyer Sync with HEAD
 1.23.2.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.23.2.1 24-Sep-2000  bouyer file PICA was added on branch thorpej_scsipi on 2000-11-20 20:00:25 +0000
 1.24.2.1 21-Jun-2001  nathanw Catch up to -current.
 1.27.2.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.27.2.5 06-Sep-2002  jdolecek sync kqueue branch with HEAD
 1.27.2.4 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.27.2.3 16-Mar-2002  jdolecek Catch up with -current.
 1.27.2.2 11-Feb-2002  jdolecek Sync w/ -current.
 1.27.2.1 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.28.2.7 18-Oct-2002  nathanw Catch up to -current.
 1.28.2.6 20-Jun-2002  nathanw Catch up to -current.
 1.28.2.5 17-Apr-2002  nathanw Catch up to -current.
 1.28.2.4 01-Apr-2002  nathanw Catch up to -current.
(CVS: It's not just a program. It's an adventure!)
 1.28.2.3 28-Feb-2002  nathanw Catch up to -current.
 1.28.2.2 08-Jan-2002  nathanw Catch up to -current.
 1.28.2.1 13-Nov-2001  nathanw file PICA was added on branch nathanw_sa on 2002-01-08 00:23:04 +0000
 1.34.4.1 01-Aug-2002  lukem Pull up revision 1.35 (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.34.2.1 14-Jul-2002  gehenna catch up with -current.
 1.37.2.10 11-Dec-2005  christos Sync with head.
 1.37.2.9 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.37.2.8 04-Mar-2005  skrll Sync with HEAD.

Hi Perry!
 1.37.2.7 15-Feb-2005  skrll Sync with HEAD.
 1.37.2.6 04-Feb-2005  skrll Sync with HEAD.
 1.37.2.5 24-Jan-2005  skrll Sync with HEAD.
 1.37.2.4 14-Nov-2004  skrll Sync with HEAD.
 1.37.2.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.37.2.2 18-Sep-2004  skrll Sync with HEAD.
 1.37.2.1 03-Aug-2004  skrll Sync with HEAD
 1.39.2.1 15-Jul-2004  he Pull up revision 1.40 (requested by atatat in ticket #663):
Add "options SYSCTL_INCLUDE_DESCR" to a lot of configurations,
but commented out in most of them.
 1.42.4.1 29-Apr-2005  kent sync with -current
 1.43.2.2 19-Mar-2005  yamt sync with head. xen and whitespace. xen part is not finished.
 1.43.2.1 12-Feb-2005  yamt sync with head.
 1.46.6.3 03-Sep-2007  yamt sync with head.
 1.46.6.2 30-Dec-2006  yamt sync with head.
 1.46.6.1 21-Jun-2006  yamt sync with head.
 1.46.4.1 18-Jul-2005  riz Pull up revision 1.47 (requested by tron in ticket #566):
Add (commented out) IPSEC_NAT_T option.
 1.54.6.1 22-Apr-2006  simonb Sync with head.
 1.54.4.1 09-Sep-2006  rpaulo sync with head
 1.54.2.1 18-Feb-2006  yamt sync with head.
 1.56.6.1 31-Mar-2006  tron Merge 2006-03-31 NetBSD-current into the "peter-altq" branch.
 1.56.4.1 19-Apr-2006  elad sync with head - hopefully this will work
 1.56.2.2 03-Sep-2006  yamt sync with head.
 1.56.2.1 01-Apr-2006  yamt sync with head.
 1.58.4.1 22-Oct-2006  yamt sync with head
 1.58.2.1 18-Nov-2006  ad Sync with head.
 1.59.16.1 26-Jun-2007  garbled Sync with HEAD.
 1.59.10.1 11-Jul-2007  mjf Sync with head.
 1.59.8.1 15-Jul-2007  ad Sync with head.
 1.60.10.1 06-Nov-2007  matt sync with HEAD
 1.61.28.2 28-Apr-2009  skrll Sync with HEAD.
 1.61.28.1 19-Jan-2009  skrll Sync with HEAD.
 1.61.26.1 13-Dec-2008  haad Update haad-dm branch to haad-dm-base2.
 1.61.20.3 11-Aug-2010  yamt sync with head.
 1.61.20.2 11-Mar-2010  yamt sync with head
 1.61.20.1 04-May-2009  yamt sync with head.
 1.61.16.1 17-Jan-2009  mjf Sync with HEAD.
 1.63.4.1 13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.65.4.3 21-Apr-2011  rmind sync with head
 1.65.4.2 05-Mar-2011  rmind sync with head
 1.65.4.1 30-May-2010  rmind sync with head
 1.65.2.2 17-Aug-2010  uebayasi Sync with HEAD.
 1.65.2.1 30-Apr-2010  uebayasi Sync with HEAD.
 1.68.4.1 08-Feb-2011  bouyer Add QUOTA2 where QUOTA is enabled (and QUOTA2 commented out where QUOTA
is commented out)
 1.68.2.1 06-Jun-2011  jruoho Sync with HEAD.
 1.69.4.3 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.69.4.2 30-Oct-2012  yamt sync with head
 1.69.4.1 17-Apr-2012  yamt sync with head
 1.71.2.3 03-Dec-2017  jdolecek update from HEAD
 1.71.2.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.71.2.1 23-Jun-2013  tls resync from head
 1.77.2.1 28-Aug-2013  rmind sync with head
 1.78.4.1 10-Aug-2014  tls Rebase.
 1.80.2.2 28-Aug-2017  skrll Sync with HEAD
 1.80.2.1 22-Sep-2015  skrll Sync with HEAD
 1.84.4.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.84.4.1 10-Jun-2019  christos Sync with HEAD
 1.84.2.1 06-Sep-2018  pgoyette Sync with HEAD

Resolve a couple of conflicts (result of the uimin/uimax changes)
 1.85.6.1 25-Jan-2020  ad Sync with head.
 1.84 27-Sep-2020  roy vether: Add to kernel configurations

It's only enabled if the kernel enabled bridge AND tap.
Otherwise it's commented out.
 1.83 29-May-2020  tsutsui Try to shrink kernels to smaller than ~6MB due to ARC BIOS restriction.

Currently NetBSD/arc kernels are loaded at 0x80200000
(on some machines ARC BIOS uses regions before it) and
ARC BIOS also uses around 0x807f0000, so bootloader fails
on loading >6MB kernels.

Note GXemul doesn't have this restriction because it loads
a kernel directly via a command line argument.

Tested by installing using sysinst on RAMDISK kernel on netbsd-9.

Should be pulled up to netbsd-9.
 1.82 02-May-2015  christos branches: 1.82.22;
grow it a bit.
 1.81 08-Aug-2013  he branches: 1.81.6;
Bump RAMDISK size so that the contents fits again.
 1.80 10-Mar-2012  joerg branches: 1.80.2; 1.80.4;
P1003_1B_SEMAPHORE is no longer optional.
 1.79 06-Mar-2011  bouyer branches: 1.79.4; 1.79.8;
merge the bouyer-quota2 branch. This adds a new on-disk format
to store disk quota usage and limits, integrated with ffs
metadata. Usage is checked by fsck_ffs (no more quotacheck)
and is covered by the WAPBL journal. Enabled with kernel
option QUOTA2 (added where QUOTA was enabled in kernel config files),
turned on with tunefs(8) on a per-filesystem
basis. mount_mfs(8) can also turn quotas on.

See http://mail-index.netbsd.org/tech-kern/2011/02/19/msg010025.html
for details.
 1.78 07-Dec-2009  he branches: 1.78.4; 1.78.6; 1.78.8;
Can't negate a now non-existent file system (PORTALFS was removed).
 1.77 06-Feb-2009  jym 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.76 20-Nov-2008  tsutsui It looks the ARC BIOS has another limit which prevents loading
a kernel larger than 8MB (it is not emulated by gxemul BTW),
so disable several devices in GENERIC and shrink RAMDISK kernel again
by sprinkled "no" keywords etc.
 1.75 02-Feb-2008  tsutsui branches: 1.75.6; 1.75.10; 1.75.16; 1.75.18; 1.75.20;
Make RAMDISK config to just include GENERIC and have md_root stuff again.
We have had the native bootloader and we no longer have size restriction.
 1.74 31-Dec-2007  ad Remove systrace. Ok core@.
 1.73 27-Sep-2006  manu branches: 1.73.28; 1.73.34; 1.73.42;
- Document COMPAT_15 as doing nothing
- Add COMPAT_15 to all the kernel that had COMPAT_14, for the sake of coherency
- Remove the only occurences of #ifdef COMPAT_15 in the tree: for the ARM
ports, COMPAT_15 was always used in conjunction with EXEC_AOUT. Only EXEC_AOUT
matters here.

This address kern/18407
 1.72 26-Aug-2006  christos branches: 1.72.2; 1.72.4;
PR/34283: Gene ENonymous: Add IPFILTER_LOOKUP to the default kernel options
Also remove CCITT,NS,NIP
 1.71 22-Jul-2006  tsutsui - reorganize bootinfo structures and fix bootinfo handling in bootloader
(mostly based on pmax)
- pass symbol info from bootloader to kernel via bootinfo
(currently bootinfo is allocated in the bootloader and
copied by kernel later; maybe we should rethink about this)
- use passed bootinfo to initialize ksyms(4) in kernel
- remove options SYMTAB_SPACE from kernel config files
- bump bootloader version
 1.70 15-Apr-2006  tsutsui Add bmtphy at mii, found on 3Com 3C982-TXM:
> bmtphy0 at ex0 phy 24: Broadcom 3c905C internal PHY, rev. 7
 1.69 15-Apr-2006  tsutsui Add support for pci_configure_bus(9) (a.k.a. options PCI_NETBSD_CONFIGURE)
so that PCI devices over ppb(4) work properly on PCI based NEC machines.

Tested on my NEC JC94 (Express5800/230) and 3Com 3C982-TXM,
which has a DEC/Intel 21154 PCI-PCI bridge and two 3C920 Ethernet chips.
 1.68 05-Feb-2006  cube branches: 1.68.2; 1.68.4; 1.68.6;
Remove 'count' argument for pseudo-devices that ignore it
(vnd, bpfilter, ppp, gif, gre, tun, sl, strip, faith, stf).
 1.67 04-Feb-2006  rpaulo bpfilter doesn't accept count anymore.
 1.66 20-Dec-2005  thorpej branches: 1.66.2; 1.66.4; 1.66.6;
Remove the tablet line discipline.
 1.65 07-Dec-2005  tsutsui Adjust comments for options FFS_NO_SNAPSHOT.

XXX: This option should be mentioned in options(4).
 1.64 28-Aug-2005  tsutsui options<space><tab>
 1.63 19-Aug-2005  christos Enable ptyfs by default on the non-install and non small/tiny/ramdisk kernels
 1.62 19-Aug-2005  christos 64 bit inode changes.
 1.61 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.60 30-Jul-2005  yamt add "options VMSWAP" to non INSTALL kernels.
 1.59 07-Jul-2005  tron Add (commented out) IPSEC_NAT_T option.
 1.58 09-Jun-2005  tsutsui branches: 1.58.2;
- Rename options NEW_BUFQ_STRATEGY -> options BUFQ_READPRIO.
(still commented out)
- Add (also commented out) options BUFQ_PRIOCSCAN.

Suggested by perry and soda on tech-kern.
Please refer options(4) for details for these options.
 1.57 31-May-2005  tron Remove attachment for the piixide(4) driver from all non-x86 kernel
configurations because Intel IDE disk controllers only exist as part
of Intel chipsets for x86 systems.
 1.56 18-Feb-2005  dsl branches: 1.56.4;
Invert FFS_SNAPSHOT to FFS_NO_SNAPSHOT
 1.55 11-Feb-2005  dsl Add 'option FFS_SNAPSHOT' to most of the config files.
Commented out for kernels that appear to hace space constraints.
 1.54 31-Jan-2005  hannken Add file system snapshots to kernel configs.

- Ffs internal snapshots get compiled in unconditionally.

- File system snapshot device fss(4) added to all kernel configs that
have a disk. Device is commented out on all non-GENERIC kernels.

Reviewed by: Jason Thorpe <thorpej@netbsd.org>
 1.53 21-Jan-2005  tsutsui branches: 1.53.2;
Add options COMPAT_20.
 1.52 17-Jan-2005  cube Add tap(4) support to a random^Wcarefully chosen set of kernel configs.
All those kernels have a line for both tun and bridge, and if either is
commented out, tap is commented out also. With the exception of i386's
GENERIC_TINY.

XXX: we _need_ some way of making this more simple.
 1.51 24-Nov-2004  bouyer branches: 1.51.4;
pdcsata(4), a driver for the Promise SATA150 (aka PDC203xx) serie of
controllers. Tested with a PDC20375 (2 SATA, one PATA) controller on sparc64.
Added to all kernel config file which had pdcide(4).
 1.50 10-Nov-2004  christos Add COMPAT_BSDPTY to the rest of the config files.
 1.49 04-Sep-2004  manu IPv4 PIM support, based on a submission from Pavlin Radoslavov posted on
tech-net@
 1.48 15-Jul-2004  atatat Add "options SYSCTL_INCLUDE_DESCR" to a lot of configs, but commented
out in most of them.
 1.47 14-Dec-2003  thorpej branches: 1.47.2;
Split the Intel i31244 SATA controller ("Artisea") driver out of piixide
into its own driver (artsata).
 1.46 13-Dec-2003  thorpej Split out the Silicon Image SATALink support into its own driver,
"satalink".
 1.45 21-Oct-2003  tsutsui - Use scsibus* at scsi?
- Use atabus* at ata?
- Use atapibus* atapi?
- Sort ATA/ATAPI device entries.
- Comment out aceride, piixide, siside, and viaide.
 1.44 18-Oct-2003  lukem Use one 'atabus* at ata?' instead of multiple 'atabus* at FOOide? channel ?'
Use 'atapibus* at atapi?' instead of 'atapibus* at atabus?'
 1.43 08-Oct-2003  bouyer Add new per-chip pciide drivers.
 1.42 08-Oct-2003  bouyer Add atabus.
 1.41 27-Sep-2003  tsutsui Add options COMPAT_16.
 1.40 15-Jun-2003  tsutsui branches: 1.40.2;
Add isapnp0 at isa and enable working isa/isapnp devices.
 1.39 15-Jun-2003  tsutsui Remove nonexistent we* at isapnp.
 1.38 14-Jun-2003  tsutsui Change DESKstation -> DeskStation, as per spelling on the Tyne board.
 1.37 14-Jun-2003  tsutsui Don't enable both pc0 and vga0 at isa.
 1.36 22-May-2003  tsutsui Uppercase PICA.

"PICA" stands for "Performance-enhanced I/O and CPU Architecture."
 1.35 04-May-2003  tsutsui Rewrite jazzio asc SCSI driver to use MI ncr53c9x and bus_dma(9) with
BUS_DMA_ALLOCNOW flag for jazzio bus DMAC.

Tested on Soda's NEC Image RISCstation (which is an OEM of Acer PICA),
and should fix port-arc/13388.
 1.34 06-Apr-2003  tsutsui Enable oosiop at jazzio.
While I'm here, use wildcard for osiop unit.
 1.33 11-Feb-2003  tsutsui It seems the ARC BIOS can't load too large kernel,
so prepare a shrinked config for RAMDISK kernel.
 1.32 10-Feb-2003  tsutsui Bump md_root size to 2.5Mbytes.
 1.31 22-Jan-2003  jdolecek bump ramdisk image to 2330k
 1.30 26-May-2002  jdolecek bump ramdisk size, 2M isn't enough
 1.29 14-Apr-2002  tsutsui branches: 1.29.2; 1.29.4;
Set COPTS="-Os -mmemcpy"
 1.28 06-Apr-2002  tsutsui Change RAMDISK to define only MEMORY_DISK stuff and just include GENERIC.
 1.27 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.26 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.25 04-Mar-2002  sommerfeld The "gif*" tunnelling interface does everything ipip does.
Move usage example from ipip.4 to gif.4
Excise ipip and stitch up the scars.
 1.24 10-Feb-2002  wiz Update description for icsphy.
 1.23 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.22 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.21 20-Nov-2001  lukem - pull in opt_kgdb.h where necessary
- replace opt_kgdb_machdep.h with opt_kgdb.h
- defparam opt_kgdb.h:
KGDB_DEV KGDB_DEVNAME KGDB_DEVADDR KGDB_DEVRATE KGDB_DEVMODE
- move from opt_ddbparam.h to opt_ddb.h:
DDB_FROMCONSOLE DDB_ONPANIC DDB_HISTORY_SIZE DDB_BREAK_CHAR SYMTAB_SPACE
- replace KGDBDEV with KGDB_DEV
- replace KGDBADDR with KGDB_DEVADDR
- replace KGDBMODE with KGDB_DEVMODE
- replace KGDBRATE with KGDB_DEVRATE
- use `9600' instead of `0x2580' for 9600 baud rate
- use correct quotes for options KGDB_DEVNAME="\"com\""
- use correct quotes for options KGDB_DEV="17*256+0"
- remove unnecessary dependancy on Makefile for kgdb_stub.o
- minor whitespace cleanup
 1.20 13-Nov-2001  augustss branches: 1.20.2;
The wsmux pseudo device does not need a count anymore.
 1.19 05-Nov-2001  tsutsui Add trm at pci.
 1.18 03-Sep-2001  tsutsui branches: 1.18.4;
Add more working PCI devices on arc:
pcscp* at pci?
epic* at pci?
pcn* at pci?
rtk* at pci?
sip* at pci?
and remove le at pci, which is superseded by pcn.
 1.17 02-Sep-2001  tsutsui Enable siop at pci.
 1.16 22-Aug-2001  hubertf More comment changes: 90x[B] -> 90x[BC]
 1.15 08-Jul-2001  abs branches: 1.15.2;
Standardise TCP_COMPAT_42 as commented out, grouped with other COMPAT options,
and with the comment '4.2BSD TCP/IP bug compat. Not recommended'
Add commented out 'TCP_DEBUG # Record last TCP_NDEBUG packets with SO_DEBUG'
(All hail amiga and atari which make some attempt to automate the
multiplicity of config files...)
 1.14 13-Jun-2001  soda update configurations for "struct platform" and related changes
 1.13 21-May-2001  soda sync with GENERIC: enable SOFTDEP, add vlan, etc.
 1.12 24-Dec-2000  ur branches: 1.12.2;
Switch pica to jazzio.
Split shared MD portion between algor and jazzio.
 1.11 24-Sep-2000  jdolecek branches: 1.11.2;
don't specify number of ptys if >= 16 (current default initial number)
pty comments: normalize and g/c what is no longer relevant
 1.10 23-Jul-2000  ur Add WSEMUL_VT100 to configuration files using wsdisplay.
And update my current configuration. (MIMORI)
 1.9 17-Jun-2000  soda branches: 1.9.2;
- vga/pckbc attachment for jazz internal bus of Magnum derived machines
(including Pica, NEC RISCstation/RISCserver).
- TGA console initialization for NEC RISCstation 2250,
contributed by Shuichiro URATA <ur@a-r.org>
 1.8 14-Jun-2000  veego Remove the obsolete config fragments for kernel crypto, because the IPsec
crypto code is now in the kernel source tree.
 1.7 27-May-2000  soren branches: 1.7.2;
ncr(4) wouldn't work, so s/ncr/siop/.
 1.6 22-Mar-2000  cgd add commented out option PCI_CONFIG_DUMP whever there's a PCIVERBOSE.
 1.5 22-Feb-2000  soda remove commented out ``ident "GENERIC-..."'', since this file is not GENERIC.
 1.4 22-Feb-2000  soda merge changes between OpenBSD-2.1 and OpenBSD-2.6
 1.3 26-Jan-2000  soda options<SPACE><TAB> and options "<foo>=<bar>" clean up
pointed point by enami@netbsd.org
 1.2 23-Jan-2000  soda merge to NetBSD-current (DeskStation and Algor support is currently broken)
 1.1 23-Jan-2000  soda branches: 1.1.1;
Initial revision
 1.1.1.2 22-Feb-2000  soda OpenBSD-2.6/arc
 1.1.1.1 23-Jan-2000  soda OpenBSD-2.1/arc
 1.7.2.1 22-Jun-2000  minoura Sync w/ netbsd-1-5-base.
 1.9.2.1 10-Aug-2000  soda Pull up to netbsd-1-5 branch.
Approved by: thorpej

- Add WSEMUL_VT100 to configuration files using wsdisplay.
- Update MIMORI configuration.

Revisions pulled up:
> cvs rdiff -r1.7 -r1.8 syssrc/sys/arch/arc/conf/ARCTIC
> cvs rdiff -r1.36 -r1.37 syssrc/sys/arch/arc/conf/GENERIC
> cvs rdiff -r1.8 -r1.9 syssrc/sys/arch/arc/conf/M403
> cvs rdiff -r1.1 -r1.2 syssrc/sys/arch/arc/conf/MIMORI
> cvs rdiff -r1.2 -r1.3 syssrc/sys/arch/arc/conf/PCCONS
> cvs rdiff -r1.21 -r1.22 syssrc/sys/arch/arc/conf/PICA
> cvs rdiff -r1.9 -r1.10 syssrc/sys/arch/arc/conf/RAMDISK
 1.11.2.3 05-Jan-2001  bouyer Sync with HEAD
 1.11.2.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.11.2.1 24-Sep-2000  bouyer file RAMDISK was added on branch thorpej_scsipi on 2000-11-20 20:00:25 +0000
 1.12.2.1 21-Jun-2001  nathanw Catch up to -current.
 1.15.2.6 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.15.2.5 16-Mar-2002  jdolecek Catch up with -current.
 1.15.2.4 11-Feb-2002  jdolecek Sync w/ -current.
 1.15.2.3 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.15.2.2 13-Sep-2001  thorpej Update the kqueue branch to HEAD.
 1.15.2.1 25-Aug-2001  thorpej Merge Aug 24 -current into the kqueue branch.
 1.18.4.1 12-Nov-2001  thorpej Sync the thorpej-mips-cache branch with -current.
 1.20.2.6 20-Jun-2002  nathanw Catch up to -current.
 1.20.2.5 17-Apr-2002  nathanw Catch up to -current.
 1.20.2.4 01-Apr-2002  nathanw Catch up to -current.
(CVS: It's not just a program. It's an adventure!)
 1.20.2.3 28-Feb-2002  nathanw Catch up to -current.
 1.20.2.2 08-Jan-2002  nathanw Catch up to -current.
 1.20.2.1 13-Nov-2001  nathanw file RAMDISK was added on branch nathanw_sa on 2002-01-08 00:23:04 +0000
 1.29.4.1 28-May-2002  lukem pull up rev 1.30 (requested by jdolocek):
bump ramdisk size, 2M isn't enough
 1.29.2.1 30-May-2002  gehenna Catch up with -current.
 1.40.2.11 11-Dec-2005  christos Sync with head.
 1.40.2.10 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.40.2.9 04-Mar-2005  skrll Sync with HEAD.

Hi Perry!
 1.40.2.8 15-Feb-2005  skrll Sync with HEAD.
 1.40.2.7 04-Feb-2005  skrll Sync with HEAD.
 1.40.2.6 24-Jan-2005  skrll Sync with HEAD.
 1.40.2.5 29-Nov-2004  skrll Sync with HEAD.
 1.40.2.4 14-Nov-2004  skrll Sync with HEAD.
 1.40.2.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.40.2.2 18-Sep-2004  skrll Sync with HEAD.
 1.40.2.1 03-Aug-2004  skrll Sync with HEAD
 1.47.2.1 15-Jul-2004  he branches: 1.47.2.1.2;
Pull up revision 1.48 (requested by atatat in ticket #663):
Add "options SYSCTL_INCLUDE_DESCR" to a lot of configurations,
but commented out in most of them.
 1.47.2.1.2.1 02-Apr-2005  he Pull up revision 1.51 (requested by bouyer in ticket #1019):
Add pdcsata(4), a driver for the Promise SATA150 (aka PDC203xx) series of
controllers.
 1.51.4.1 29-Apr-2005  kent sync with -current
 1.53.2.2 19-Mar-2005  yamt sync with head. xen and whitespace. xen part is not finished.
 1.53.2.1 12-Feb-2005  yamt sync with head.
 1.56.4.2 18-Jul-2005  riz Pull up revision 1.59 (requested by tron in ticket #566):
Add (commented out) IPSEC_NAT_T option.
 1.56.4.1 01-Jun-2005  riz Pull up revision 1.57 (requested by tron in ticket #362):
Remove attachment for the piixide(4) driver from all non-x86 kernel
configurations because Intel IDE disk controllers only exist as part
of Intel chipsets for x86 systems.
 1.58.2.4 04-Feb-2008  yamt sync with head.
 1.58.2.3 21-Jan-2008  yamt sync with head
 1.58.2.2 30-Dec-2006  yamt sync with head.
 1.58.2.1 21-Jun-2006  yamt sync with head.
 1.66.6.1 22-Apr-2006  simonb Sync with head.
 1.66.4.1 09-Sep-2006  rpaulo sync with head
 1.66.2.1 18-Feb-2006  yamt sync with head.
 1.68.6.1 24-May-2006  tron Merge 2006-05-24 NetBSD-current into the "peter-altq" branch.
 1.68.4.1 19-Apr-2006  elad sync with head - hopefully this will work
 1.68.2.3 03-Sep-2006  yamt sync with head.
 1.68.2.2 11-Aug-2006  yamt sync with head
 1.68.2.1 24-May-2006  yamt sync with head.
 1.72.4.1 22-Oct-2006  yamt sync with head
 1.72.2.1 18-Nov-2006  ad Sync with head.
 1.73.42.1 02-Jan-2008  bouyer Sync with HEAD
 1.73.34.1 18-Feb-2008  mjf Sync with HEAD.
 1.73.28.2 23-Mar-2008  matt sync with HEAD
 1.73.28.1 09-Jan-2008  matt sync with HEAD
 1.75.20.1 23-Nov-2008  riz Pull up following revision(s) (requested by tsutsui in ticket #109):
distrib/arc/instkernel/Makefile: revision 1.11
sys/arch/arc/conf/RAMDISK: revision 1.76
sys/arch/arc/conf/GENERIC: revision 1.159
distrib/arc/ramdisk/dot.profile: revision 1.4
Use vt100 rather than wsvt25 for TERM since the latter makes
both FG/BG colors white during sysinst on Express5800/230 with tga(4).
It looks the ARC BIOS has another limit which prevents loading
a kernel larger than 8MB (it is not emulated by gxemul BTW),
so disable several devices in GENERIC and shrink RAMDISK kernel again
by sprinkled "no" keywords etc.
 1.75.18.2 03-Mar-2009  skrll Sync with HEAD.
 1.75.18.1 19-Jan-2009  skrll Sync with HEAD.
 1.75.16.1 13-Dec-2008  haad Update haad-dm branch to haad-dm-base2.
 1.75.10.2 11-Mar-2010  yamt sync with head
 1.75.10.1 04-May-2009  yamt sync with head.
 1.75.6.1 17-Jan-2009  mjf Sync with HEAD.
 1.78.8.1 08-Feb-2011  bouyer Add QUOTA2 where QUOTA is enabled (and QUOTA2 commented out where QUOTA
is commented out)
 1.78.6.1 06-Jun-2011  jruoho Sync with HEAD.
 1.78.4.1 21-Apr-2011  rmind sync with head
 1.79.8.1 11-Mar-2012  mrg sync to latest -current
 1.79.4.2 22-May-2014  yamt sync with head.

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

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.79.4.1 17-Apr-2012  yamt sync with head
 1.80.4.1 28-Aug-2013  rmind sync with head
 1.80.2.2 03-Dec-2017  jdolecek update from HEAD
 1.80.2.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.81.6.1 06-Jun-2015  skrll Sync with HEAD
 1.82.22.1 07-Jun-2020  martin Pull up following revision(s) (requested by tsutsui in ticket #939):

distrib/arc/ramdisk/Makefile: revision 1.29
sys/arch/arc/arc/arcbios.c: revision 1.18
distrib/arc/ramdisk/list: revision 1.24
sys/arch/arc/conf/GENERIC: revision 1.198
sys/arch/arc/conf/RAMDISK: revision 1.83
distrib/arc/ramdisk/Makefile: revision 1.28

bump ramdisk size to 3200k for gcc 8. yay!

-

Make sure to preserve MIPS_CURLWP (t8) register from ARC BIOS calls.

Fixes silent hangup right after starting a kernel on my
Express5800/230 R4400 PCI (finally I've repaired its PSU and RTC).
Reviewed by soda@. Maybe other ARC machines are also affected.

Note GXemul was not affected by this problem because it doesn't
have actual ARC BIOS ROM and emulates ARC functions internally.

Should be pulled up to at least netbsd-9.

-

Shrink ramdisk to make RAMDISK kernel smaller for ARC BIOS restriction.

Try to shrink kernels to smaller than ~6MB due to ARC BIOS restriction.

Currently NetBSD/arc kernels are loaded at 0x80200000
(on some machines ARC BIOS uses regions before it) and
ARC BIOS also uses around 0x807f0000, so bootloader fails
on loading >6MB kernels.

Note GXemul doesn't have this restriction because it loads
a kernel directly via a command line argument.

Tested by installing using sysinst on RAMDISK kernel on netbsd-9.
Should be pulled up to netbsd-9.
 1.58 29-Jan-2024  christos PR/57889: Ricardo Branco: ext2fs does not have user immutable and append
file flags, only system ones. Restrict those to the superuser. Before
the behavior was controlled by EXT2FS_SYSTEM_FLAGS. Make that behavior the
default.
 1.57 27-Sep-2020  roy vether: Add to kernel configurations

It's only enabled if the kernel enabled bridge AND tap.
Otherwise it's commented out.
 1.56 19-Jan-2020  thorpej Remove the strip(4) - Starmode Radio IP - pseudo-device driver. It is
long since obsolete.
 1.55 01-Aug-2018  maxv branches: 1.55.6;
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.54 23-Jan-2018  sevan branches: 1.54.2; 1.54.4;
Alternate buffer queue strategies no longer considered experimental, update
description.

Discussed on tech-kern
http://mail-index.netbsd.org/tech-kern/2018/01/21/msg023002.html
 1.53 14-Sep-2017  mrg clean up COMPAT_* options for native netbsd code:
- new series of files that are useful for saying "i want everything
since netbsd 1.4", etc.
- use the fact COMPAT_* options have future dependancies to remove
many redundant options.

removes about 3000 lines total across kernel configuration files.
tested about 30 random kernels in the changed list.
 1.52 29-Jul-2017  maxv Remove TCP_COMPAT_42 from the config files. Pass 3.
 1.51 21-Aug-2015  uebayasi branches: 1.51.10;
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.50 12-Aug-2015  maxv Remove KMEMSTATS.
 1.49 20-Jul-2014  alnsn branches: 1.49.4;
Add commented out bpfjit options to mips kernels.
While here, add 2 missing RCS ids.
 1.48 30-Jun-2013  rmind branches: 1.48.4;
G/C PFIL_HOOKS from the kernel configs.
 1.47 05-Jun-2013  christos branches: 1.47.2;
remove obsolete networking options
 1.46 27-Apr-2013  christos more bogus number removal
 1.45 27-Apr-2013  christos the bogus number police
 1.44 27-Apr-2013  christos remove confusing numeric locators where they are unused.
 1.43 02-Mar-2013  christos Under FAST_IPSEC, IPSEC_ESP is mandatory; GC it.
 1.42 01-Mar-2013  joerg Retire OSI network stack. OK core@
 1.41 17-Aug-2012  abs branches: 1.41.2;
Update all kernel configs mentioning WSEMUL_* but not already including
WSDISPLAY_COMPAT_USL using the following rules:
- If WSEMUL_ is commented out, add commented out out WSDISPLAY_COMPAT_USL
- If INSTALL or obviously memory constrained, add WSDISPLAY_DEFAULTSCREENS=1
and commented out WSDISPLAY_COMPAT_USL
- Otherwise add WSDISPLAY_COMPAT_USL

Some of the INSTALL configs for larger memory machines are probably suitable
for adding WSDISPLAY_COMPAT_USL.

Now wsconscfg(8) should be able to switch VTs when expected.

Implemented after no objection from tech-kern to the following:

On 5 June 2012 09:47, David Brownlee <abs@absd.org> wrote:
> wsconscfg(8) requires WSDISPLAY_COMPAT_USL in order to switch virtual
> terminals.
>
> Except when in an exceptionally memory or space constrained
> environment (INSTALL being the obvious case), is there any reason why
> all GENERIC and GENERIC-like kernels which have wscons enabled
> shouldn't also have WSDISPLAY_COMPAT_USL?
 1.40 22-Nov-2011  tls The rnd pseudo-device is not really optional, because it is in the same
source file as the entropy-pool code itself. Move it to std. This
will be cleaned up more when I split the sources up as they should be.

This fixes build breaks on several ports. Thanks to Havard Eidnes for
pointing them out.
 1.39 06-Mar-2011  bouyer branches: 1.39.4;
merge the bouyer-quota2 branch. This adds a new on-disk format
to store disk quota usage and limits, integrated with ffs
metadata. Usage is checked by fsck_ffs (no more quotacheck)
and is covered by the WAPBL journal. Enabled with kernel
option QUOTA2 (added where QUOTA was enabled in kernel config files),
turned on with tunefs(8) on a per-filesystem
basis. mount_mfs(8) can also turn quotas on.

See http://mail-index.netbsd.org/tech-kern/2011/02/19/msg010025.html
for details.
 1.38 06-Mar-2011  tsutsui Remove trailing spaces.
 1.37 23-Nov-2010  hannken branches: 1.37.2; 1.37.4;
Remove unused count from pseudo-device md.
 1.36 16-Apr-2010  pooka Remove unused count (invariably "4") from pseudo-device fss.
 1.35 05-Dec-2009  pooka branches: 1.35.2; 1.35.4;
Remove the portalfs kernel file system driver. Replace mount_portal(8)
with a version based on puffs. User functionality remains the same.
 1.34 06-Mar-2009  joerg Remove SHMMAXPGS from all kernel configs. Dynamically compute the
initial limit as 1/4 of the physical memory. Ensure the limit is at
least 1024 pages, the old default on most platforms.
 1.33 24-Nov-2008  ad branches: 1.33.4;
Remove softdep, pass 1. We are focused on improving journalling.

Proposed on tech-kern@.
 1.32 12-Nov-2008  ad Remove LKMs and switch to the module framework, pass 1.

Proposed on tech-kern@.
 1.31 31-Dec-2007  ad branches: 1.31.6; 1.31.10; 1.31.16; 1.31.18;
Remove systrace. Ok core@.
 1.30 17-Oct-2007  garbled branches: 1.30.2; 1.30.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.29 26-Jun-2007  tsutsui branches: 1.29.10;
Add options COMPAT_40.
 1.28 27-Sep-2006  manu branches: 1.28.8; 1.28.10; 1.28.16;
- Document COMPAT_15 as doing nothing
- Add COMPAT_15 to all the kernel that had COMPAT_14, for the sake of coherency
- Remove the only occurences of #ifdef COMPAT_15 in the tree: for the ARM
ports, COMPAT_15 was always used in conjunction with EXEC_AOUT. Only EXEC_AOUT
matters here.

This address kern/18407
 1.27 26-Aug-2006  christos branches: 1.27.2; 1.27.4;
PR/34283: Gene ENonymous: Add IPFILTER_LOOKUP to the default kernel options
Also remove CCITT,NS,NIP
 1.26 12-Aug-2006  christos Disable SYSTRACE by default on all kernels (discussed with core)
 1.25 05-Feb-2006  cube branches: 1.25.2; 1.25.12;
Remove 'count' argument for pseudo-devices that ignore it
(vnd, bpfilter, ppp, gif, gre, tun, sl, strip, faith, stf).
 1.24 04-Feb-2006  rpaulo bpfilter doesn't accept count anymore.
 1.23 20-Dec-2005  thorpej branches: 1.23.2; 1.23.4; 1.23.6;
Remove the tablet line discipline.
 1.22 07-Dec-2005  tsutsui Adjust comments for options FFS_NO_SNAPSHOT.

XXX: This option should be mentioned in options(4).
 1.21 28-Aug-2005  tsutsui options<space><tab>
 1.20 19-Aug-2005  christos Enable ptyfs by default on the non-install and non small/tiny/ramdisk kernels
 1.19 19-Aug-2005  christos 64 bit inode changes.
 1.18 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.17 30-Jul-2005  yamt add "options VMSWAP" to non INSTALL kernels.
 1.16 07-Jul-2005  tron Add (commented out) IPSEC_NAT_T option.
 1.15 09-Jun-2005  tsutsui branches: 1.15.2;
- Rename options NEW_BUFQ_STRATEGY -> options BUFQ_READPRIO.
(still commented out)
- Add (also commented out) options BUFQ_PRIOCSCAN.

Suggested by perry and soda on tech-kern.
Please refer options(4) for details for these options.
 1.14 18-Feb-2005  dsl branches: 1.14.4;
Invert FFS_SNAPSHOT to FFS_NO_SNAPSHOT
 1.13 11-Feb-2005  dsl Add 'option FFS_SNAPSHOT' to most of the config files.
Commented out for kernels that appear to hace space constraints.
 1.12 31-Jan-2005  hannken Add file system snapshots to kernel configs.

- Ffs internal snapshots get compiled in unconditionally.

- File system snapshot device fss(4) added to all kernel configs that
have a disk. Device is commented out on all non-GENERIC kernels.

Reviewed by: Jason Thorpe <thorpej@netbsd.org>
 1.11 21-Jan-2005  tsutsui branches: 1.11.2;
Add options COMPAT_20.
 1.10 17-Jan-2005  cube Add tap(4) support to a random^Wcarefully chosen set of kernel configs.
All those kernels have a line for both tun and bridge, and if either is
commented out, tap is commented out also. With the exception of i386's
GENERIC_TINY.

XXX: we _need_ some way of making this more simple.
 1.9 10-Nov-2004  christos branches: 1.9.4;
Add COMPAT_BSDPTY to the rest of the config files.
 1.8 04-Sep-2004  manu IPv4 PIM support, based on a submission from Pavlin Radoslavov posted on
tech-net@
 1.7 15-Jul-2004  atatat Add "options SYSCTL_INCLUDE_DESCR" to a lot of configs, but commented
out in most of them.
 1.6 21-Oct-2003  tsutsui branches: 1.6.2;
- Use scsibus* at scsi?
- Use atabus* at ata?
- Use atapibus* atapi?
- Sort ATA/ATAPI device entries.
- Comment out aceride, piixide, siside, and viaide.
 1.5 08-Oct-2003  bouyer Add atabus.
 1.4 27-Sep-2003  tsutsui Add options COMPAT_16.
 1.3 15-Jun-2003  tsutsui branches: 1.3.2;
Remove nonexistent we* at isapnp.
 1.2 14-Jun-2003  tsutsui Change DESKstation -> DeskStation, as per spelling on the Tyne board.
 1.1 04-Dec-2002  imp branches: 1.1.2;
Custom config file the the Deskstation rPC44 (aka ARCSTATION I and EPC44).
Untested on target hardware, but compiles and links.
 1.1.2.2 11-Dec-2002  thorpej Sync with HEAD.
 1.1.2.1 04-Dec-2002  thorpej file RPC44 was added on branch nathanw_sa on 2002-12-11 05:52:08 +0000
 1.3.2.10 11-Dec-2005  christos Sync with head.
 1.3.2.9 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.3.2.8 04-Mar-2005  skrll Sync with HEAD.

Hi Perry!
 1.3.2.7 15-Feb-2005  skrll Sync with HEAD.
 1.3.2.6 04-Feb-2005  skrll Sync with HEAD.
 1.3.2.5 24-Jan-2005  skrll Sync with HEAD.
 1.3.2.4 14-Nov-2004  skrll Sync with HEAD.
 1.3.2.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.3.2.2 18-Sep-2004  skrll Sync with HEAD.
 1.3.2.1 03-Aug-2004  skrll Sync with HEAD
 1.6.2.1 15-Jul-2004  he Pull up revision 1.7 (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 29-Apr-2005  kent sync with -current
 1.11.2.2 19-Mar-2005  yamt sync with head. xen and whitespace. xen part is not finished.
 1.11.2.1 12-Feb-2005  yamt sync with head.
 1.14.4.1 18-Jul-2005  riz Pull up revision 1.16 (requested by tron in ticket #566):
Add (commented out) IPSEC_NAT_T option.
 1.15.2.4 21-Jan-2008  yamt sync with head
 1.15.2.3 03-Sep-2007  yamt sync with head.
 1.15.2.2 30-Dec-2006  yamt sync with head.
 1.15.2.1 21-Jun-2006  yamt sync with head.
 1.23.6.1 22-Apr-2006  simonb Sync with head.
 1.23.4.1 09-Sep-2006  rpaulo sync with head
 1.23.2.1 18-Feb-2006  yamt sync with head.
 1.25.12.1 14-Aug-2006  tron Pull up following revision(s) (requested by elad in ticket #17):
sys/arch/sparc/conf/KRUPS: revision 1.38
sys/arch/i386/conf/XEN2_DOMU: revision 1.2
sys/arch/i386/conf/GENERIC_LAPTOP: revision 1.197
sys/arch/sgimips/conf/GENERIC32_IP2x: revision 1.53
sys/arch/evbsh5/conf/SIMULATOR: revision 1.12
sys/arch/sparc/conf/MRCOFFEE: revision 1.17
sys/arch/next68k/conf/GENERIC: revision 1.104
sys/arch/i386/conf/VIRTUALPC: revision 1.44
sys/arch/ews4800mips/conf/GENERIC: revision 1.11
sys/arch/evbsh5/conf/CAYMAN: revision 1.23
sys/arch/arc/conf/GENERIC: revision 1.141
sys/arch/amd64/conf/GENERIC: revision 1.103
sys/arch/sun3/conf/GENERIC3X: revision 1.90
sys/arch/evbarm/conf/HDL_G: revision 1.3
sys/arch/sun2/conf/GENERIC: revision 1.57
sys/arch/news68k/conf/GENERIC_TINY: revision 1.51
sys/arch/evbppc/conf/EXPLORA451: revision 1.27
sys/arch/amiga/conf/GENERIC.in: revision 1.54
sys/arch/mac68k/conf/GENERIC: revision 1.174
sys/arch/acorn26/conf/GENERIC: revision 1.45
sys/arch/shark/conf/GENERIC: revision 1.64
sys/arch/cesfic/conf/GENERIC: revision 1.44
sys/arch/mvme68k/conf/GENERIC: revision 1.68
sys/arch/i386/conf/XEN2_DOM0: revision 1.4
sys/arch/atari/conf/GENERIC.in: revision 1.63
sys/arch/amiga/conf/GENERIC: revision 1.240
sys/arch/i386/conf/LAMB: revision 1.65
sys/arch/i386/conf/GENERIC: revision 1.773
sys/arch/acorn32/conf/EB7500ATX: revision 1.26
sys/arch/x68k/conf/GENERIC: revision 1.128
sys/arch/vax/conf/GENERIC: revision 1.153
sys/arch/atari/conf/ATARITT: revision 1.81
sys/arch/mipsco/conf/GENERIC: revision 1.60
sys/arch/cobalt/conf/GENERIC: revision 1.101
sys/arch/evbarm/conf/ARMADILLO9: revision 1.13
sys/arch/ofppc/conf/GENERIC: revision 1.93
sys/arch/atari/conf/MILAN-PCIIDE: revision 1.51
sys/arch/arc/conf/RPC44: revision 1.26
sys/arch/sparc64/conf/GENERIC: revision 1.59
sys/arch/i386/conf/XEN3_DOMU: revision 1.2
sys/arch/hp700/conf/GENERIC: revision 1.68
sys/arch/atari/conf/MILAN-ISAIDE: revision 1.47
sys/arch/macppc/conf/GENERIC: revision 1.231
sys/arch/dreamcast/conf/GENERIC: revision 1.72
sys/arch/news68k/conf/GENERIC: revision 1.80
sys/arch/hp300/conf/GENERIC: revision 1.133
sys/arch/mmeye/conf/GENERIC: revision 1.82
sys/arch/macppc/conf/MAMBO: revision 1.2
sys/arch/cats/conf/GENERIC: revision 1.107
sys/arch/atari/conf/FALCON: revision 1.79
sys/arch/acorn32/conf/GENERIC: revision 1.71
sys/arch/sparc/conf/GENERIC: revision 1.190
sys/arch/news68k/conf/LIBERO: revision 1.40
sys/arch/amiga/conf/DRACO: revision 1.114
sys/arch/cobalt/conf/INSTALL: revision 1.23
sys/arch/luna68k/conf/GENERIC: revision 1.73
sys/arch/bebox/conf/GENERIC: revision 1.100
sys/arch/pmax/conf/GENERIC: revision 1.147
sys/arch/amiga/conf/WSCONS: revision 1.52
sys/arch/macppc/conf/POWERMAC_G5: revision 1.2
sys/arch/alpha/conf/ALPHA: revision 1.218
sys/arch/sun3/conf/GENERIC: revision 1.133
sys/arch/prep/conf/GENERIC: revision 1.124
sys/arch/alpha/conf/GENERIC: revision 1.291
sys/arch/atari/conf/HADES: revision 1.71
sys/arch/newsmips/conf/GENERIC: revision 1.93
sys/arch/netwinder/conf/GENERIC: revision 1.82
sys/arch/hpcmips/conf/GENERIC: revision 1.190
sys/arch/amiga/conf/AMIGA: revision 1.98
sys/arch/sbmips/conf/GENERIC: revision 1.54
sys/arch/pc532/conf/GENERIC: revision 1.64
sys/arch/sgimips/conf/GENERIC32_IP3x: revision 1.53
Disable SYSTRACE by default on all kernels (discussed with core)
 1.25.2.1 03-Sep-2006  yamt sync with head.
 1.27.4.1 22-Oct-2006  yamt sync with head
 1.27.2.1 18-Nov-2006  ad Sync with head.
 1.28.16.1 26-Jun-2007  garbled Sync with HEAD.
 1.28.10.1 11-Jul-2007  mjf Sync with head.
 1.28.8.1 15-Jul-2007  ad Sync with head.
 1.29.10.2 09-Jan-2008  matt sync with HEAD
 1.29.10.1 06-Nov-2007  matt sync with HEAD
 1.30.8.1 02-Jan-2008  bouyer Sync with HEAD
 1.30.2.1 18-Feb-2008  mjf Sync with HEAD.
 1.31.18.2 28-Apr-2009  skrll Sync with HEAD.
 1.31.18.1 19-Jan-2009  skrll Sync with HEAD.
 1.31.16.1 13-Dec-2008  haad Update haad-dm branch to haad-dm-base2.
 1.31.10.3 11-Aug-2010  yamt sync with head.
 1.31.10.2 11-Mar-2010  yamt sync with head
 1.31.10.1 04-May-2009  yamt sync with head.
 1.31.6.1 17-Jan-2009  mjf Sync with HEAD.
 1.33.4.1 13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.35.4.3 21-Apr-2011  rmind sync with head
 1.35.4.2 05-Mar-2011  rmind sync with head
 1.35.4.1 30-May-2010  rmind sync with head
 1.35.2.1 30-Apr-2010  uebayasi Sync with HEAD.
 1.37.4.1 08-Feb-2011  bouyer Add QUOTA2 where QUOTA is enabled (and QUOTA2 commented out where QUOTA
is commented out)
 1.37.2.1 06-Jun-2011  jruoho Sync with HEAD.
 1.39.4.3 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.39.4.2 30-Oct-2012  yamt sync with head
 1.39.4.1 17-Apr-2012  yamt sync with head
 1.41.2.3 03-Dec-2017  jdolecek update from HEAD
 1.41.2.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.41.2.1 23-Jun-2013  tls resync from head
 1.47.2.1 28-Aug-2013  rmind sync with head
 1.48.4.1 10-Aug-2014  tls Rebase.
 1.49.4.2 28-Aug-2017  skrll Sync with HEAD
 1.49.4.1 22-Sep-2015  skrll Sync with HEAD
 1.51.10.1 26-Jan-2018  martin Pull up following revision(s) (requested by sevan in ticket #510):
sys/arch/sun3/conf/GENERIC3X: revision 1.130
sys/arch/sparc64/conf/GENERIC: revision 1.203
sys/arch/news68k/conf/LIBERO: revision 1.66
sys/arch/amiga/conf/DRACO: revision 1.185
sys/arch/evbarm/conf/MV2120: revision 1.35
sys/arch/x68k/conf/GENERIC: revision 1.187
sys/arch/rs6000/conf/GENERIC: revision 1.39
sys/arch/news68k/conf/GENERIC_TINY: revision 1.86
sys/arch/i386/conf/XEN3_DOMU: revision 1.88
sys/arch/iyonix/conf/GENERIC: revision 1.97
sys/arch/evbarm64/conf/A64EMUL: revision 1.11
sys/arch/mvme68k/conf/GENERIC: revision 1.98
sys/arch/acorn32/conf/GENERIC: revision 1.124
sys/arch/i386/conf/XEN3_DOM0: revision 1.125
sys/arch/cobalt/conf/INSTALL: revision 1.65
sys/arch/macppc/conf/GENERIC_601: revision 1.16
sys/arch/hppa/conf/GENERIC: revision 1.17
sys/arch/amiga/conf/GENERIC.in: revision 1.137
sys/arch/sgimips/conf/GENERIC32_IP12: revision 1.33
sys/arch/netwinder/conf/GENERIC: revision 1.134
sys/arch/amd64/conf/XEN3_DOMU: revision 1.83
sys/arch/mac68k/conf/GENERIC: revision 1.225
sys/arch/arc/conf/RPC44: revision 1.54
sys/arch/mipsco/conf/GENERIC: revision 1.92
sys/arch/cats/conf/GENERIC: revision 1.166
sys/arch/amd64/conf/XEN3_DOM0: revision 1.145
sys/arch/amigappc/conf/GENERIC: revision 1.33
sys/arch/sun3/conf/GENERIC: revision 1.176
sys/arch/news68k/conf/GENERIC: revision 1.130
sys/arch/hpcsh/conf/GENERIC: revision 1.110
sys/arch/hp300/conf/GENERIC: revision 1.198
sys/arch/atari/conf/GENERIC.in: revision 1.115
sys/arch/sparc/conf/MRCOFFEE: revision 1.54
sys/arch/evbppc/conf/EXPLORA451: revision 1.62
sys/arch/cesfic/conf/GENERIC: revision 1.69
sys/arch/vax/conf/GENERIC: revision 1.204
sys/arch/sgimips/conf/GENERIC32_IP3x: revision 1.115
sys/arch/sgimips/conf/GENERIC32_IP2x: revision 1.112
sys/arch/sparc/conf/GENERIC: revision 1.258
sys/arch/next68k/conf/GENERIC: revision 1.145
sys/arch/evbarm/conf/MMNET_GENERIC: revision 1.34
sys/arch/prep/conf/GENERIC: revision 1.185
sys/arch/amiga/conf/INSTALL: revision 1.129
sys/arch/newsmips/conf/GENERIC: revision 1.133
sys/arch/cobalt/conf/GENERIC: revision 1.156
sys/arch/sun2/conf/GENERIC: revision 1.99
sys/arch/luna68k/conf/INSTALL: revision 1.25
sys/arch/amigappc/conf/NULL: revision 1.53
sys/arch/acorn26/conf/GENERIC: revision 1.85
sys/arch/vax/conf/VAX780: revision 1.25
sys/arch/luna68k/conf/GENERIC: revision 1.125
sys/arch/ews4800mips/conf/GENERIC: revision 1.56
sys/arch/macppc/conf/POWERMAC_G5: revision 1.29
sys/arch/arc/conf/GENERIC: revision 1.189
sys/arch/macppc/conf/MAMBO: revision 1.27
sys/arch/acorn32/conf/EB7500ATX: revision 1.64
sys/arch/pmax/conf/GENERIC: revision 1.196
sys/arch/pmax/conf/GENERIC64: revision 1.28
sys/arch/amiga/conf/GENERIC: revision 1.319
sys/arch/evbarm/conf/MPCSA_GENERIC: revision 1.55
sys/arch/macppc/conf/GENERIC: revision 1.339
sys/arch/emips/conf/GENERIC: revision 1.21
sys/arch/sandpoint/conf/GENERIC: revision 1.97
sys/arch/landisk/conf/GENERIC: revision 1.58
sys/arch/bebox/conf/GENERIC: revision 1.157
sys/arch/alpha/conf/GENERIC: revision 1.379
Alternate buffer queue strategies no longer considered experimental, update
description.
Discussed on tech-kern
http://mail-index.netbsd.org/tech-kern/2018/01/21/msg023002.html
 1.54.4.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.54.4.1 10-Jun-2019  christos Sync with HEAD
 1.54.2.1 06-Sep-2018  pgoyette Sync with HEAD

Resolve a couple of conflicts (result of the uimin/uimax changes)
 1.55.6.1 25-Jan-2020  ad Sync with head.
 1.67 14-Aug-2020  skrll Fix build by splitting large amount of inline assembling into a seperate
.S file. Same stub (/trampoline) code before and after this change.
 1.66 15-Jun-2020  tsutsui Drop compat support for OpenBSD/arc disks.

Note OpenBSD/arc was discontinued after 1998.
Tested on GXemul and ok'ed by soda@.
 1.65 20-Jul-2014  alnsn Include sljit files.
 1.64 20-Feb-2011  matt branches: 1.64.14; 1.64.28;
Merge forward from matt-nb5-mips64.
Adapt to new interrupt/spl framework.
Add LP64 support.
 1.63 02-Nov-2010  tsutsui branches: 1.63.2; 1.63.4;
Include files.ieee1394.
 1.62 20-Feb-2008  drochner branches: 1.62.28; 1.62.30; 1.62.32;
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.61 25-Jan-2008  joerg Refactor in_cksum/in4_cksum/in6_cksum implementations:
- All three functions are included in the kernel by default.
They call a backend function cpu_in_cksum after possibly
computing the checksum of the pseudo header.
- cpu_in_cksum is the core to implement the one-complement sum.
The default implementation is moderate fast on most platforms
and provides a 32bit accumulator with 16bit addends for L32 platforms
and a 64bit accumulator with 32bit addends for L64 platforms.
It handles edge cases like very large mbuf chains (could happen with
native IPv6 in the future) and provides a good base for new native
implementations.
- Modify i386 and amd64 assembly to use the new interface.

This disables the MD implementations on !x86 until the conversion is
done. For Alpha, the portable version is faster.
 1.60 17-Oct-2007  garbled branches: 1.60.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.59 07-Jul-2007  tsutsui branches: 1.59.10;
Remove leftover netns stuff.
 1.58 10-Apr-2007  macallan branches: 1.58.4;
include files.wsfb
 1.57 09-Sep-2006  gdamore branches: 1.57.6; 1.57.10; 1.57.12;
Convert arc to timecounters, using common mips3 timecounters. We have not
converted the platform to use the MIPS3 cp0 for the hardclock interrupt yet,
but that should be done as well. In the meantime, there are no functional
changes.
 1.56 03-Sep-2006  gdamore branches: 1.56.2;
Convert to MI todr framework.
 1.55 25-Jun-2006  tsutsui Rename arc_trap.c to interrupt.c, which derived from ancient pica_trap.c
but currently contains only interrupt stuff. Ok'ed by soda.
 1.54 12-Jun-2006  tsutsui branches: 1.54.2;
Move arcsisabr.c from arc/isa to arc/dti because it's DescStation specific.
 1.53 11-Dec-2005  christos branches: 1.53.4; 1.53.8; 1.53.14;
merge ktrace-lwp.
 1.52 05-Nov-2005  tsutsui Adapt arc port to the new MI mips3 wired map functions.
Tested on NEC-RD94 with several PCI and jazzio devices.
 1.51 08-Jul-2004  drochner branches: 1.51.12;
don't need md timing functions for joystick anymore
 1.50 13-Mar-2004  bjh21 Abstract the interface between pckbc(4), and the pckbd(4) and pms(4)
drivers that attach to it. This allows for other host interface chips
that use the same keyboards and mice, such as the ones in the ARM
IOMD20, ARM7500, and SA-1111. The PC-compatible driver is still
called pckbc(4), and the new abstraction layer is "pckbport", so the
child devices have moved from sys/dev/pckbc to sys/dev/pckbport, which
also contains some code shared between all host controllers. To avoid
incompatibility, pckbdreg.h is still installed in
/usr/include/dev/pckbc.

In theory, this shouldn't cause any behavioural changes in the drivers
concerned. Thy just use rather more function pointers than before. Tested
on i386 and (with a new host driver) acorn32. Compiled on several other
affected architectures.
 1.49 17-Nov-2003  tsutsui Remove commented out lines for quite obsolete dev/isa/if_ed.c.
 1.48 29-Oct-2003  tsutsui Switch arc to use MI mc146818 tod driver.
 1.47 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.46 14-Jun-2003  tsutsui branches: 1.46.2;
Add a file definition for isapnp.
 1.45 25-May-2003  tsutsui Add generic software interrupt support with mips/softintr.c.
 1.44 04-May-2003  tsutsui Remove (deprecated) DMA functions in jazz/dma.c which are no longer used.
jazz/dma.h now only contains DMAC register definitions.
 1.43 04-May-2003  tsutsui Rewrite jazzio asc SCSI driver to use MI ncr53c9x and bus_dma(9) with
BUS_DMA_ALLOCNOW flag for jazzio bus DMAC.

Tested on Soda's NEC Image RISCstation (which is an OEM of Acer PICA),
and should fix port-arc/13388.
 1.42 06-Apr-2003  tsutsui Add MD attachment of the 53c700 SCSI controller on arc jazzio.
 1.41 30-Nov-2002  tsutsui Add a configuration of struct platform for NEC-J96A,
NEC Express5800/240 with R4400 and EISA.

XXX not functionally working yet. (hangs after mountroot via NFS)
 1.40 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.39 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.38 16-Apr-2002  thorpej branches: 1.38.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.37 13-Mar-2002  simonb All the mips ports had an identical procfs_machdep.c, so use a common
file under arch/mips/mips.
 1.36 02-Feb-2002  jdolecek Reduce the massive code duplication regarding joy(4). Split it into
MI and MD parts, and make ISA/ISAPNP/PCI joy(4) attachments MI.
 1.35 28-Nov-2001  lukem - 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.34 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.33 23-Jul-2001  tsutsui branches: 1.33.6;
Switch to the MI SONIC driver.

XXX Device declaration for the MI SONIC should be moved into sys/conf/files
XXX after all other ports switch to it from their own drivers.
 1.32 13-Jun-2001  soda branches: 1.32.2;
update configurations for "struct platform" and related changes
 1.31 08-Jun-2001  simonb For ports that wire up pciide in compatibility mode, have
them define __HAVE_PCIIDE_MACHDEP_COMPAT_INTR_ESTABLISH
in pci_machdep.h and pciide_map_compat_intr() only calls
pciide_machdep_compat_intr_establish() if that preprocessor
define exists.

Ports that don't need to do this no longer need to supply a
dummy function.
 1.30 22-May-2001  soda bus_space'fied fd driver by TSUTSUI Izumi,
works with PICA-61 and Microsoft-Jazz,
but still doesn't work with his NEC-JC94 (NEC Express 5800/230)
due to data overrun.
 1.29 30-Apr-2001  tsutsui Add MD attachments for the Symbios/NCR 53c710 SCSI controller,
found on the NEC Express5800/230A.
 1.28 17-Feb-2001  tsutsui branches: 1.28.2;
Include files.usb
 1.27 17-Jan-2001  fvdl Add machdep file for procfs. Currently only used for linux-style
/proc/cpuinfo (only active when procfs is mounted with -o linux).
For ports other than the i386 this currently produces an empty
string.
 1.26 24-Dec-2000  ur Use MI md_root.c
 1.25 24-Dec-2000  ur Switch pica to jazzio.
Split shared MD portion between algor and jazzio.
 1.24 08-Nov-2000  ad branches: 1.24.2;
Pull in dev/i2o/files.i2o.
 1.23 20-Jun-2000  soda branches: 1.23.2;
for DeskStation RPC44
 1.22 17-Jun-2000  soda vga/pckbc attachment for Jazz-Internal Bus of Magnum derived machines
(including Pica, NEC RISCstation/RISCserver).
 1.21 09-Jun-2000  soda NEC RISCstation 2250 (RD-94) PCI bus support,
contributed by Shuichiro URATA <ur@a-r.org>
 1.20 29-May-2000  soda COMPAT_ULTRIX was moved from files.${MACHINE} to files.mips,
from Izumi Tsutsui.
 1.19 15-Mar-2000  soren branches: 1.19.2;
s/md/raid/ for RAIDframe major name.
 1.18 15-Mar-2000  oster Add the RAIDframe device major to the machine-dependent config files
so that the right entries get added to dev_name2blk[]. Needed for / on RAID.
(Missed these yesterday.. Thanks to Izumi Tsutsui for noticing, and for
letting me know :) )
 1.17 03-Mar-2000  soda prepare for wscons
 1.16 22-Feb-2000  soda merge changes between OpenBSD-2.1 and OpenBSD-2.6
 1.15 26-Jan-2000  soda options<SPACE><TAB> and options "<foo>=<bar>" clean up
pointed point by enami@netbsd.org
 1.14 23-Jan-2000  soda merge to NetBSD-current (DeskStation and Algor support is currently broken)
 1.13 23-Jan-2000  soda Moved from /cvsroot/syssrc/sys/arch/pica/conf/files.pica,v
 1.12 09-Jul-1999  thorpej Normalize include paths.
 1.11 16-Feb-1998  thorpej branches: 1.11.10;
Remove "class" declarations, and add "devclass" declarations where
appropriate. Fix several inconsistencies between device class and
attributes. Mostly from Chris Demetriou.
 1.10 12-Jan-1998  thorpej Update for changes to config.
 1.9 15-Oct-1997  thorpej Pulldown from marc-pcmcia branch: minimal changes to avoid namespace
collision between Pica port "com" (now "pcom") driver and more heavily-used
"com" driver.
 1.8 27-Aug-1997  bouyer Merge scsipi branch in the mainline. This add support for ATAPI devices
(currently only CD-ROM drives on i386). The sys/dev/scsipi system provides 2
busses to which devices can attach (scsibus and atapibus). This needed to
change some include files and structure names in the low level scsi drivers.
 1.7 20-Jul-1997  jonathan branches: 1.7.2;
mips-tuned bcopy from Jon Kay (UCSD) released under BSD copyright,
with standard BSD in_cksum() interface by Jonathan Stone.
 1.6 23-Jun-1997  jonathan branches: 1.6.2;
Apply sys/arch/mips changes (MACH_ -> MIPS_ or MIPS3_) changes to Pica port.
PICA Kernel compiles with warnings and links, otherwise untested.
 1.5 15-Mar-1997  is New ARP system, supports IPv4 over any hardware link.

Some of the stuff (e.g., rarpd, bootpd, dhcpd etc., libsa) still will
only support Ethernet. Tcpdump itself should be ok, but libpcap needs
lot of work.

For the detailed change history, look at the commit log entries for
the is-newarp branch.
 1.4 27-Mar-1996  jonathan branches: 1.4.8;
Update Pica kernel configuration (files.pica, std.pica) and the default
template to use the merged mips code in sys/arch/mips/{conf,mips}.
 1.3 17-Mar-1996  cgd adjust to deal with expression support for optional file specs
 1.2 17-Mar-1996  thorpej New device attachment scheme:

- split softc size and match/attach out from cfdriver into
a new struct cfattach.

- new "attach" directive for files.*. May specify the name of
the cfattach structure, so that devices may be easily attached
to parents with different autoconfiguration semantics.
 1.1 13-Mar-1996  jonathan branches: 1.1.1;
Initial revision
 1.1.1.3 22-Feb-2000  soda OpenBSD-2.6/arc
 1.1.1.2 23-Jan-2000  soda OpenBSD-2.1/arc
 1.1.1.1 13-Mar-1996  jonathan First commit of Per Fogelstrom's port to the Acer pica r4400/isa machine.
 1.4.8.1 12-Mar-1997  is Merge in changes from Trunk
 1.6.2.3 30-Jul-1997  bouyer Sync with trunk.
 1.6.2.2 22-Jul-1997  bouyer Sync with trunk.
 1.6.2.1 01-Jul-1997  bouyer Updates for new scsipi subsystem. Actally known to work on i386 and sparc.
 1.7.2.2 15-Oct-1997  thorpej Minimal changes to rename the Pica port's "com" driver to "pcom", to
avoid a namespace collision with the more heavily-used "com" driver,
which needs to be declared in sys/conf/files.
 1.7.2.1 27-Aug-1997  thorpej Update marc-pcmcia branch from trunk.
 1.11.10.1 02-Aug-1999  thorpej Update from trunk.
 1.19.2.1 22-Jun-2000  minoura Sync w/ netbsd-1-5-base.
 1.23.2.2 25-Oct-2001  he Pull up revision 1.24 (requested by ad):
Add Mylex DACC960, CAC-EISA, and I2O block/SCSI drivers.
 1.23.2.1 20-Jun-2000  he file files.arc was added on branch netbsd-1-5 on 2001-10-25 17:54:16 +0000
 1.24.2.6 12-Mar-2001  bouyer Sync with HEAD.
 1.24.2.5 18-Jan-2001  bouyer Sync with head (for UBC+NFS fixes, mostly).
 1.24.2.4 05-Jan-2001  bouyer Sync with HEAD
 1.24.2.3 22-Nov-2000  bouyer Sync with HEAD.
 1.24.2.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.24.2.1 08-Nov-2000  bouyer file files.arc was added on branch thorpej_scsipi on 2000-11-20 20:00:26 +0000
 1.28.2.1 21-Jun-2001  nathanw Catch up to -current.
 1.32.2.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.32.2.5 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.32.2.4 16-Mar-2002  jdolecek Catch up with -current.
 1.32.2.3 11-Feb-2002  jdolecek Sync w/ -current.
 1.32.2.2 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.32.2.1 03-Aug-2001  lukem update to -current
 1.33.6.8 11-Dec-2002  thorpej Sync with HEAD.
 1.33.6.7 11-Nov-2002  nathanw Catch up to -current
 1.33.6.6 17-Sep-2002  nathanw Catch up to -current.
 1.33.6.5 20-Jun-2002  nathanw Catch up to -current.
 1.33.6.4 01-Apr-2002  nathanw Catch up to -current.
(CVS: It's not just a program. It's an adventure!)
 1.33.6.3 28-Feb-2002  nathanw Catch up to -current.
 1.33.6.2 08-Jan-2002  nathanw Catch up to -current.
 1.33.6.1 23-Jul-2001  nathanw file files.arc was added on branch nathanw_sa on 2002-01-08 00:23:05 +0000
 1.38.2.2 17-May-2002  gehenna Remove old block majors list.
 1.38.2.1 16-May-2002  gehenna Include the list of block/character major numbers.
 1.46.2.4 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.46.2.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.46.2.2 18-Sep-2004  skrll Sync with HEAD.
 1.46.2.1 03-Aug-2004  skrll Sync with HEAD
 1.51.12.5 27-Feb-2008  yamt sync with head.
 1.51.12.4 04-Feb-2008  yamt sync with head.
 1.51.12.3 03-Sep-2007  yamt sync with head.
 1.51.12.2 30-Dec-2006  yamt sync with head.
 1.51.12.1 21-Jun-2006  yamt sync with head.
 1.53.14.1 19-Jun-2006  chap Sync with head.
 1.53.8.2 14-Sep-2006  yamt sync with head.
 1.53.8.1 26-Jun-2006  yamt sync with head.
 1.53.4.1 09-Sep-2006  rpaulo sync with head
 1.54.2.1 13-Jul-2006  gdamore Merge from HEAD.
 1.56.2.1 18-Nov-2006  ad Sync with head.
 1.57.12.1 11-Jul-2007  mjf Sync with head.
 1.57.10.2 15-Jul-2007  ad Sync with head.
 1.57.10.1 10-Apr-2007  ad Sync with head.
 1.57.6.1 15-Apr-2007  yamt sync with head.
 1.58.4.1 03-Oct-2007  garbled Sync with HEAD
 1.59.10.2 23-Mar-2008  matt sync with HEAD
 1.59.10.1 06-Nov-2007  matt sync with HEAD
 1.60.2.1 18-Feb-2008  mjf Sync with HEAD.
 1.62.32.1 05-Mar-2011  rmind sync with head
 1.62.30.1 06-Nov-2010  uebayasi Sync with HEAD.
 1.62.28.1 05-Feb-2010  matt Change to deal with new method of invoking softints. Remove mips/softintr.c
from config files. Fix SYMTAB_SPACE for WGT62V43
 1.63.4.1 05-Mar-2011  bouyer Sync with HEAD
 1.63.2.1 06-Jun-2011  jruoho Sync with HEAD.
 1.64.28.1 10-Aug-2014  tls Rebase.
 1.64.14.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.2 23-Jan-2000  soda merge to NetBSD-current (DeskStation and Algor support is currently broken)
 1.1 23-Jan-2000  soda branches: 1.1.1;
Initial revision
 1.1.1.1 23-Jan-2000  soda OpenBSD-2.1/arc
 1.27 04-Apr-2020  jdolecek mark nsmb major obsolete
 1.26 28-Jan-2019  dholland 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.25 23-Sep-2018  maxv Remove ISDN from the kernel. It has remained unmaintained for a long time,
is of poor quality, and is now an obstacle to MP-ification. It was removed
ten years ago from FreeBSD for the same reason.

This retires a big user of the mbuf API, and will ease maintenance of the
kernel.
 1.24 30-Jun-2011  wiz branches: 1.24.52; 1.24.54;
dependant -> dependent
 1.23 06-Mar-2011  tsutsui Remove trailing spaces.
 1.22 12-Nov-2008  ad branches: 1.22.8; 1.22.10;
Remove LKMs and switch to the module framework, pass 1.

Proposed on tech-kern@.
 1.21 31-Dec-2007  ad branches: 1.21.6; 1.21.10; 1.21.16; 1.21.18;
Remove systrace. Ok core@.
 1.20 04-Mar-2007  tsutsui branches: 1.20.20; 1.20.26; 1.20.32;
Add ld(4) and some RAID devices (to debug EISA stuff with mlx(4)).
 1.19 24-Nov-2006  wiz branches: 1.19.4;
s/independant/independent/, from Zafer.
 1.18 11-Dec-2005  christos branches: 1.18.20; 1.18.22;
merge ktrace-lwp.
 1.17 17-Sep-2005  yamt make VMSWAP optional again.
 1.16 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.15 30-Jul-2005  yamt defflag VMSWAP.
 1.14 10-May-2005  jdolecek branches: 1.14.2;
assign major for nsmb(4)
 1.13 10-Dec-2003  jmc Change reference at bottom from sys/dev/majors to sys/conf/majors to match
reality
 1.12 24-Oct-2003  jdolecek add major for 'ses' for archs which have the other scsi devices
 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.arc was initially added on branch gehenna-devsw.
 1.1.2.3 14-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.arc was added on branch nathanw_sa on 2002-09-17 21:13:14 +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.arc was added on branch kqueue on 2002-10-10 18:31:38 +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.14.2.4 21-Jan-2008  yamt sync with head
 1.14.2.3 03-Sep-2007  yamt sync with head.
 1.14.2.2 30-Dec-2006  yamt sync with head.
 1.14.2.1 21-Jun-2006  yamt sync with head.
 1.18.22.1 10-Dec-2006  yamt sync with head.
 1.18.20.1 12-Jan-2007  ad Sync with head.
 1.19.4.1 12-Mar-2007  rmind Sync with HEAD.
 1.20.32.1 02-Jan-2008  bouyer Sync with HEAD
 1.20.26.1 18-Feb-2008  mjf Sync with HEAD.
 1.20.20.1 09-Jan-2008  matt sync with HEAD
 1.21.18.1 19-Jan-2009  skrll Sync with HEAD.
 1.21.16.1 13-Dec-2008  haad Update haad-dm branch to haad-dm-base2.
 1.21.10.1 04-May-2009  yamt sync with head.
 1.21.6.1 17-Jan-2009  mjf Sync with HEAD.
 1.22.10.1 06-Jun-2011  jruoho Sync with HEAD.
 1.22.8.1 21-Apr-2011  rmind sync with head
 1.24.54.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.24.54.1 10-Jun-2019  christos Sync with HEAD
 1.24.52.1 30-Sep-2018  pgoyette Ssync with HEAD
 1.21 24-Jun-2006  tsutsui Misc minor cleanup for arc interrupt handlers:
- always enable options MIPS3_ENABLE_CLOCK_INTR and just clear the compare
register in cpu_intr() to make CLKF_BASE() works
properly
- prepare only possible number of cpu_inttab
- use macro for interrupt priority number passed to arc_set_intr()
to avoid confusion
- merge arc_hardware_intr() into cpu_intr()
- check independent timer interrupt first in cpu_intr()
- tweak MIPS_SR_INT_IE before calling hardclock timer handlers so that
spllowersoftclock(9) will be invoked properly in hardclock(9)
- reenable interrupt for timer in cpu_intr() rather than each timer handlers

okay'ed by soda.

Note the real fix is to make CLKF_BASE() check all independent
interrupt sources including jazz and isa devices.
 1.20 11-Dec-2005  christos branches: 1.20.4; 1.20.8; 1.20.16;
merge ktrace-lwp.
 1.19 05-Nov-2005  tsutsui Adapt arc port to the new MI mips3 wired map functions.
Tested on NEC-RD94 with several PCI and jazzio devices.
 1.18 17-Sep-2005  yamt include "conf/std".
 1.17 13-Dec-2003  sekiya branches: 1.17.16;
Remove MIPS3_L2CACHE_ABSENT.
 1.16 30-Aug-2003  chs add "makeoptions MACHINE_ARCH=..." in std.* for mips ports
where it is constant (to ease cross-building).
 1.15 25-May-2003  tsutsui branches: 1.15.2;
Add generic software interrupt support with mips/softintr.c.
 1.14 28-Apr-2003  tsutsui options MIPS3_L2CACHE_PRESENT was gone long ago.
 1.13 09-Dec-2002  simonb 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.12 23-Oct-2001  thorpej branches: 1.12.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.11 03-Dec-2000  matt branches: 1.11.4;
Revert back to a machinearch (really cputype) of mips. Put ENDIAN back.
 1.10 22-Jun-2000  fvdl branches: 1.10.2;
Remove prefix construction for softdeps. Add SOFTDEP option to GENERIC.
 1.9 25-Jan-2000  enami branches: 1.9.4;
- Kill the very last reference to VNODEPAGER, SWAPPAGER and DEVPAGER.
- Remove empty lines at the end of file.
- The traditional hack, options<SPC><TAB>.
 1.8 23-Jan-2000  soda merge to NetBSD-current (DeskStation and Algor support is currently broken)
 1.7 23-Jan-2000  soda Moved from /cvsroot/syssrc/sys/arch/pica/conf/std.pica,v
 1.6 15-Nov-1999  fvdl Add

prefix ../gnu/sys
cinclude "conf/files.softdep"
prefix

to all std.* files, so that soft dependencies can be activated using
"options SOFTDEP".
 1.5 25-Feb-1998  thorpej branches: 1.5.20;
Fix a few screwups that made it impossible to config these kernels.
 1.4 17-Nov-1997  lukem * add commented out DDB_HISTORY_SIZE=100 if DDB exists in config file
* fix up use of 'options<SPACE><TAB>'
 1.3 21-Nov-1996  jonathan * Add /sys-relative paths for NetBSD-1.2b config.
* Add standard mips EXEC packages to std.pica
* Move non-optional options to std.pica
 1.2 27-Mar-1996  jonathan Update Pica kernel configuration (files.pica, std.pica) and the default
template to use the merged mips code in sys/arch/mips/{conf,mips}.
 1.1 13-Mar-1996  jonathan branches: 1.1.1;
Initial revision
 1.1.1.1 13-Mar-1996  jonathan First commit of Per Fogelstrom's port to the Acer pica r4400/isa machine.
 1.5.20.1 27-Dec-1999  wrstuden Pull up to last week's -current.
 1.9.4.1 23-Jun-2000  fvdl As on the trunk, update these for the move of ffs_softdep.c into the
kernel source itself. Remove prefix construction, and add the SOFTDEP
option to GENERIC kernels.
 1.10.2.3 08-Dec-2000  bouyer Sync with HEAD.
 1.10.2.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.10.2.1 22-Jun-2000  bouyer file std.arc was added on branch thorpej_scsipi on 2000-11-20 20:00:26 +0000
 1.11.4.1 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.12.4.2 11-Dec-2002  thorpej Sync with HEAD.
 1.12.4.1 23-Oct-2001  thorpej file std.arc was added on branch nathanw_sa on 2002-12-11 05:52:09 +0000
 1.15.2.4 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.15.2.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.15.2.2 18-Sep-2004  skrll Sync with HEAD.
 1.15.2.1 03-Aug-2004  skrll Sync with HEAD
 1.17.16.2 30-Dec-2006  yamt sync with head.
 1.17.16.1 21-Jun-2006  yamt sync with head.
 1.20.16.1 13-Jul-2006  gdamore Merge from HEAD.
 1.20.8.1 26-Jun-2006  yamt sync with head.
 1.20.4.1 09-Sep-2006  rpaulo sync with head
 1.24 24-Dec-2000  ur Switch pica to jazzio.
Split shared MD portion between algor and jazzio.
 1.23 29-Jun-2000  mrg branches: 1.23.2;
remove include of <vm/vm.h>. <vm/vm.h> -> <uvm/uvm_extern.h>
 1.22 09-Jun-2000  soda bus_dma implementation for jazz dma tlb,
contributed by Shuichiro URATA <ur@a-r.org>
 1.21 22-Feb-2000  soda branches: 1.21.2;
merge changes between OpenBSD-2.1 and OpenBSD-2.6
 1.20 23-Jan-2000  soda merge to NetBSD-current (DeskStation and Algor support is currently broken)
 1.19 23-Jan-2000  soda Moved from /cvsroot/syssrc/sys/arch/pica/dev/asc.c,v
 1.18 12-Apr-1999  pk Quote "AS IS" as in the majority of Carnegy Mellon notices.
 1.17 06-Apr-1999  pk Fix a pasto in copyright text which has been procreating like rabbits..
 1.16 05-Dec-1998  mjacob branches: 1.16.4;
Update HBAs to incorporate the new max_lun property.
 1.15 19-Nov-1998  thorpej Adapt to the new scsipi_adapter interface.
 1.14 10-Oct-1998  thorpej Garbage-collect the open_target_lu and close_target_lu entry points from
struct scsipi_adapter; they were not used.

Add a scsipi_ioctl entry point to struct scsipi_adapter. This will be
used to issue ioctl commands to the host adapters.

Inspired by PR #6090, from Matt Jacob.
 1.13 12-Jan-1998  thorpej Update for changes to config.
 1.12 27-Aug-1997  bouyer Merge scsipi branch in the mainline. This add support for ATAPI devices
(currently only CD-ROM drives on i386). The sys/dev/scsipi system provides 2
busses to which devices can attach (scsibus and atapibus). This needed to
change some include files and structure names in the low level scsi drivers.
 1.11 23-Jun-1997  jonathan branches: 1.11.2; 1.11.4;
Apply sys/arch/mips changes (MACH_ -> MIPS_ or MIPS3_) changes to Pica port.
PICA Kernel compiles with warnings and links, otherwise untested.
 1.10 16-Jun-1997  jonathan First delint pass of old NetBSD/pica device drivers:
* add prototypes to <dma.h> for the per-device dma-setup functions.
* MachEmptyWriteBuffer() -> wbflush(). Also #include <bus.h>,
so that wbflush() expants to the locore callback vector entrypoint.
 1.9 26-Mar-1997  gwr Renames: /dumpconf/cpu_dumpconf/, /boot/cpu_reboot/
 1.8 10-Dec-1996  thorpej Fill in sc_link.max_target
 1.7 13-Oct-1996  christos backout previous kprintf change
 1.6 10-Oct-1996  christos printf -> kprintf, sprintf -> ksprintf
 1.5 28-Aug-1996  cgd (1) set scsi_link channel to either the appropriate channel (if a
multi-channel driver), or to SCSI_CHANNEL_ONLY_ONE if a
single-channel driver.
(2) use scsiprint() rather than a locally-defined autoconfig print
function, and kill any locally-defined print function.
 1.4 27-Aug-1996  cgd change cfprint_t type definition to take a const char *, rather than
a char *, because that's what was really intended, and because
if the print function modifies the string, various things could become
unhappy (so the string should _not_ be modified).
 1.3 09-Aug-1996  mrg Change reboot(2) to take two arguments: bootopt like normal and also
a boot string for firmware that can do this, such as the SPARC and
the sun3 models. It is currently silently ignored on all other
hardware now, however. The MD function "boot()" has been changed to
also take a char *.
 1.2 17-Mar-1996  thorpej New device attachment scheme:

- split softc size and match/attach out from cfdriver into
a new struct cfattach.

- new "attach" directive for files.*. May specify the name of
the cfattach structure, so that devices may be easily attached
to parents with different autoconfiguration semantics.
 1.1 13-Mar-1996  jonathan branches: 1.1.1;
Initial revision
 1.1.1.3 22-Feb-2000  soda OpenBSD-2.6/arc
 1.1.1.2 23-Jan-2000  soda OpenBSD-2.1/arc
 1.1.1.1 13-Mar-1996  jonathan First commit of Per Fogelstrom's port to the Acer pica r4400/isa machine.
 1.11.4.1 27-Aug-1997  thorpej Update marc-pcmcia branch from trunk.
 1.11.2.1 01-Jul-1997  bouyer Updates for new scsipi subsystem. Actally known to work on i386 and sparc.
 1.16.4.2 12-Apr-1999  pk branches: 1.16.4.2.2;
Pullup copyright text corrections.
 1.16.4.1 07-Apr-1999  pk Pull up from trunk: copyright text warts.
 1.16.4.2.2.1 21-Jun-1999  thorpej Sync w/ -current.
 1.21.2.1 22-Jun-2000  minoura Sync w/ netbsd-1-5-base.
 1.23.2.3 05-Jan-2001  bouyer Sync with HEAD
 1.23.2.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.23.2.1 29-Jun-2000  bouyer file asc.c was added on branch thorpej_scsipi on 2000-11-20 20:00:27 +0000
 1.7 24-Dec-2000  ur Switch pica to jazzio.
Split shared MD portion between algor and jazzio.
 1.6 23-Jan-2000  soda branches: 1.6.6;
merge to NetBSD-current (DeskStation and Algor support is currently broken)
 1.5 23-Jan-2000  soda Moved from /cvsroot/syssrc/sys/arch/pica/dev/ascreg.h,v
 1.4 12-Apr-1999  pk Quote "AS IS" as in the majority of Carnegy Mellon notices.
 1.3 06-Apr-1999  pk Fix a pasto in copyright text which has been procreating like rabbits..
 1.2 16-Jul-1996  thorpej branches: 1.2.22;
RCS id police.
 1.1 13-Mar-1996  jonathan branches: 1.1.1;
Initial revision
 1.1.1.2 23-Jan-2000  soda OpenBSD-2.1/arc
 1.1.1.1 13-Mar-1996  jonathan First commit of Per Fogelstrom's port to the Acer pica r4400/isa machine.
 1.2.22.2 12-Apr-1999  pk branches: 1.2.22.2.2;
Pullup copyright text corrections.
 1.2.22.1 07-Apr-1999  pk Pull up from trunk: copyright text warts.
 1.2.22.2.2.1 21-Jun-1999  thorpej Sync w/ -current.
 1.6.6.3 05-Jan-2001  bouyer Sync with HEAD
 1.6.6.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.6.6.1 23-Jan-2000  bouyer file ascreg.h was added on branch thorpej_scsipi on 2000-11-20 20:00:27 +0000
 1.11 24-Dec-2000  ur Switch pica to jazzio.
Split shared MD portion between algor and jazzio.
 1.10 22-Feb-2000  soda branches: 1.10.6;
merge changes between OpenBSD-2.1 and OpenBSD-2.6
 1.9 23-Jan-2000  soda merge to NetBSD-current (DeskStation and Algor support is currently broken)
 1.8 23-Jan-2000  soda Moved from /cvsroot/syssrc/sys/arch/pica/dev/com.c,v
 1.7 15-Aug-1998  mycroft Assign my copyrights to TNF.
 1.6 12-Jan-1998  thorpej Update for changes to config.
 1.5 15-Oct-1997  thorpej Pulldown from marc-pcmcia branch: minimal changes to avoid namespace
collision between Pica port "com" (now "pcom") driver and more heavily-used
"com" driver.
 1.4 13-Oct-1996  christos branches: 1.4.10;
backout previous kprintf change
 1.3 10-Oct-1996  christos printf -> kprintf, sprintf -> ksprintf
 1.2 17-Mar-1996  thorpej New device attachment scheme:

- split softc size and match/attach out from cfdriver into
a new struct cfattach.

- new "attach" directive for files.*. May specify the name of
the cfattach structure, so that devices may be easily attached
to parents with different autoconfiguration semantics.
 1.1 13-Mar-1996  jonathan branches: 1.1.1;
Initial revision
 1.1.1.3 22-Feb-2000  soda OpenBSD-2.6/arc
 1.1.1.2 23-Jan-2000  soda OpenBSD-2.1/arc
 1.1.1.1 13-Mar-1996  jonathan First commit of Per Fogelstrom's port to the Acer pica r4400/isa machine.
 1.4.10.1 15-Oct-1997  thorpej Minimal changes to rename the Pica port's "com" driver to "pcom", to
avoid a namespace collision with the more heavily-used "com" driver,
which needs to be declared in sys/conf/files.
 1.10.6.3 05-Jan-2001  bouyer Sync with HEAD
 1.10.6.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.10.6.1 22-Feb-2000  bouyer file com_lbus.c was added on branch thorpej_scsipi on 2000-11-20 20:00:27 +0000
 1.18 24-Dec-2000  ur Switch pica to jazzio.
Split shared MD portion between algor and jazzio.
 1.17 29-Jun-2000  mrg branches: 1.17.2;
remove include of <vm/vm.h>. <vm/vm.h> -> <uvm/uvm_extern.h>
 1.16 26-Jun-2000  mrg remove/move more mach vm header files:

<vm/pglist.h> -> <uvm/uvm_pglist.h>
<vm/vm_inherit.h> -> <uvm/uvm_inherit.h>
<vm/vm_kern.h> -> into <uvm/uvm_extern.h>
<vm/vm_object.h> -> nothing
<vm/vm_pager.h> -> into <uvm/uvm_pager.h>

also includes a bunch of <vm/vm_page.h> include removals (due to redudancy
with <vm/vm.h>), and a scattering of other similar headers.
 1.15 09-Jun-2000  soda bus_dma implementation for jazz dma tlb,
contributed by Shuichiro URATA <ur@a-r.org>
 1.14 30-Mar-2000  soren branches: 1.14.2;
machine/cpu.h includes mips/cpuregs.h.
 1.13 03-Mar-2000  soda NEC RISCstation 2250 (NEC-RD94) support.
contributed by Shuichiro URATA <ur@a-r.org>.
 1.12 22-Feb-2000  soda merge changes between OpenBSD-2.1 and OpenBSD-2.6
 1.11 23-Jan-2000  soda merge to NetBSD-current (DeskStation and Algor support is currently broken)
 1.10 23-Jan-2000  soda Moved from /cvsroot/syssrc/sys/arch/pica/dev/dma.c,v
 1.9 27-Aug-1997  bouyer Merge scsipi branch in the mainline. This add support for ATAPI devices
(currently only CD-ROM drives on i386). The sys/dev/scsipi system provides 2
busses to which devices can attach (scsibus and atapibus). This needed to
change some include files and structure names in the low level scsi drivers.
 1.8 23-Jun-1997  jonathan branches: 1.8.2; 1.8.4;
Apply sys/arch/mips changes (MACH_ -> MIPS_ or MIPS3_) changes to Pica port.
PICA Kernel compiles with warnings and links, otherwise untested.
 1.7 16-Jun-1997  jonathan First delint pass of old NetBSD/pica device drivers:
* add prototypes to <dma.h> for the per-device dma-setup functions.
* MachEmptyWriteBuffer() -> wbflush(). Also #include <bus.h>,
so that wbflush() expants to the locore callback vector entrypoint.
 1.6 13-Oct-1996  christos backout previous kprintf change
 1.5 10-Oct-1996  christos printf -> kprintf, sprintf -> ksprintf
 1.4 11-Aug-1996  jonathan Fix old lint and changes not pulled back from pmax, pass1:
* include <mips/locore.h> where callbacks into locore are made, to get
prototypes in scope. Cast calls appropriately.
* include <mips/cpuregs.h>, not the old Sprite-derived <machine/machConst.h>.
machConst.h is deprecated.
* dk_establish() must return void, not int.
 1.3 31-Mar-1996  jonathan Replace open-comment accidentally removed from copyright notice
whilst adding new-style NetBSD cvs id.
 1.2 28-Mar-1996  jonathan Remove lint from pica kernel to compile with -Werror:
* Add cast to hardclock when it's used directly as an interrupt handler.
* Add a null-interrupt-establish function, to avoid int vs void lint
in pica/dev/dma.c.
* fix include in pica/include/pccons.h to work with "standard"
kernel-compile include path.
 1.1 13-Mar-1996  jonathan branches: 1.1.1;
Initial revision
 1.1.1.3 22-Feb-2000  soda OpenBSD-2.6/arc
 1.1.1.2 23-Jan-2000  soda OpenBSD-2.1/arc
 1.1.1.1 13-Mar-1996  jonathan First commit of Per Fogelstrom's port to the Acer pica r4400/isa machine.
 1.8.4.1 27-Aug-1997  thorpej Update marc-pcmcia branch from trunk.
 1.8.2.1 01-Jul-1997  bouyer Updates for new scsipi subsystem. Actally known to work on i386 and sparc.
 1.14.2.1 22-Jun-2000  minoura Sync w/ netbsd-1-5-base.
 1.17.2.3 05-Jan-2001  bouyer Sync with HEAD
 1.17.2.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.17.2.1 29-Jun-2000  bouyer file dma.c was added on branch thorpej_scsipi on 2000-11-20 20:00:27 +0000
 1.8 24-Dec-2000  ur Switch pica to jazzio.
Split shared MD portion between algor and jazzio.
 1.7 09-Jun-2000  soda branches: 1.7.4;
bus_dma implementation for jazz dma tlb,
contributed by Shuichiro URATA <ur@a-r.org>
 1.6 22-Feb-2000  soda branches: 1.6.2;
merge changes between OpenBSD-2.1 and OpenBSD-2.6
 1.5 23-Jan-2000  soda merge to NetBSD-current (DeskStation and Algor support is currently broken)
 1.4 23-Jan-2000  soda Moved from /cvsroot/syssrc/sys/arch/pica/dev/dma.h,v
 1.3 16-Jun-1997  jonathan First delint pass of old NetBSD/pica device drivers:
* add prototypes to <dma.h> for the per-device dma-setup functions.
* MachEmptyWriteBuffer() -> wbflush(). Also #include <bus.h>,
so that wbflush() expants to the locore callback vector entrypoint.
 1.2 16-Jul-1996  thorpej RCS id police.
 1.1 13-Mar-1996  jonathan branches: 1.1.1;
Initial revision
 1.1.1.2 23-Jan-2000  soda OpenBSD-2.1/arc
 1.1.1.1 13-Mar-1996  jonathan First commit of Per Fogelstrom's port to the Acer pica r4400/isa machine.
 1.6.2.1 22-Jun-2000  minoura Sync w/ netbsd-1-5-base.
 1.7.4.3 05-Jan-2001  bouyer Sync with HEAD
 1.7.4.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.7.4.1 09-Jun-2000  bouyer file dma.h was added on branch thorpej_scsipi on 2000-11-20 20:00:30 +0000
 1.24 24-Dec-2000  ur Switch pica to jazzio.
Split shared MD portion between algor and jazzio.
 1.23 29-Jun-2000  mrg branches: 1.23.2;
remove include of <vm/vm.h>. <vm/vm.h> -> <uvm/uvm_extern.h>
 1.22 09-Jun-2000  soda bus_dma implementation for jazz dma tlb,
contributed by Shuichiro URATA <ur@a-r.org>
 1.21 16-May-2000  thorpej branches: 1.21.2;
Nuke dk_establish() from orbit except from those ports which still use
it to determine the boot device: mvme68k, pc532, macppc, ofppc. Those
platforms should be changed to use device_register(). In the mean time,
those ports defined __BROKEN_DK_ESTABLISH.
 1.20 07-Apr-2000  thorpej Use separate callouts for motor-on and motor-off. Fixes a condition
where the floppy driver would wedge because a motor-on timeout would
be cancelled by another I/O operation cancelling a motor-off timeout.

From enami tsugutomo <enami@sm.sony.co.jp>.
 1.19 27-Mar-2000  soda fix typo in timeout -> callout transition.
 1.18 23-Mar-2000  thorpej New callout mechanism with two major improvements over the old
timeout()/untimeout() API:
- Clients supply callout handle storage, thus eliminating problems of
resource allocation.
- Insertion and removal of callouts is constant time, important as
this facility is used quite a lot in the kernel.

The old timeout()/untimeout() API has been removed from the kernel.
 1.17 22-Feb-2000  soda merge changes between OpenBSD-2.1 and OpenBSD-2.6
 1.16 07-Feb-2000  thorpej Fix a bug in disksort_*() which caused non-optimal ordering when multiple
active partitions were on a single spindle. Add a b_rawblkno member to
struct buf which contains the non-partition-relative block number to sort
by.
 1.15 23-Jan-2000  soda merge to NetBSD-current (DeskStation and Algor support is currently broken)
 1.14 23-Jan-2000  soda Moved from /cvsroot/syssrc/sys/arch/pica/dev/fd.c,v
 1.13 21-Jan-2000  thorpej Update for sys/buf.h/disksort_*() changes.
 1.12 15-Aug-1998  mycroft branches: 1.12.18;
Assign copyrights to TNF.
 1.11 15-Aug-1998  mycroft Make copyright notices with my name consistent.
 1.10 12-Jan-1998  thorpej Update for changes to config.
 1.9 17-Jul-1997  jtk use locator defines in "locators.h" to index cf_loc[]
 1.8 15-Nov-1996  thorpej Use bitmask_snprintf().
 1.7 13-Oct-1996  christos backout previous kprintf change
 1.6 10-Oct-1996  christos printf -> kprintf, sprintf -> ksprintf
 1.5 27-Aug-1996  cgd change cfprint_t type definition to take a const char *, rather than
a char *, because that's what was really intended, and because
if the print function modifies the string, various things could become
unhappy (so the string should _not_ be modified).
 1.4 11-Aug-1996  jonathan Fix old lint and changes not pulled back from pmax, pass1:
* include <mips/locore.h> where callbacks into locore are made, to get
prototypes in scope. Cast calls appropriately.
* include <mips/cpuregs.h>, not the old Sprite-derived <machine/machConst.h>.
machConst.h is deprecated.
* dk_establish() must return void, not int.
 1.3 27-Mar-1996  jonathan Fixup after "New device attachment scheme": Fix cfattach typos.
"struct cfattch pms_ca" (should be "cfattach"), and
"struct cfattach fd_cd" ("should be fd_ca").
 1.2 17-Mar-1996  thorpej New device attachment scheme:

- split softc size and match/attach out from cfdriver into
a new struct cfattach.

- new "attach" directive for files.*. May specify the name of
the cfattach structure, so that devices may be easily attached
to parents with different autoconfiguration semantics.
 1.1 13-Mar-1996  jonathan branches: 1.1.1;
Initial revision
 1.1.1.3 22-Feb-2000  soda OpenBSD-2.6/arc
 1.1.1.2 23-Jan-2000  soda OpenBSD-2.1/arc
 1.1.1.1 13-Mar-1996  jonathan First commit of Per Fogelstrom's port to the Acer pica r4400/isa machine.
 1.12.18.1 21-Dec-1999  wrstuden Initial commit of recent changes to make DEV_BSIZE go away.

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

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

Non 2**n block support is automatic for LKM's and conditional for kernels
on "options NON_PO2_BLOCKS".
 1.21.2.1 22-Jun-2000  minoura Sync w/ netbsd-1-5-base.
 1.23.2.3 05-Jan-2001  bouyer Sync with HEAD
 1.23.2.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.23.2.1 29-Jun-2000  bouyer file fd.c was added on branch thorpej_scsipi on 2000-11-20 20:00:31 +0000
 1.3 24-Dec-2000  ur Switch pica to jazzio.
Split shared MD portion between algor and jazzio.
 1.2 23-Jan-2000  soda branches: 1.2.6;
merge to NetBSD-current (DeskStation and Algor support is currently broken)
 1.1 13-Mar-1996  jonathan branches: 1.1.1;
Initial revision
 1.1.1.3 23-Jan-2000  soda OpenBSD-2.1/arc
 1.1.1.2 23-Jan-2000  soda Moved from /cvsroot/syssrc/sys/arch/pica/dev/fdreg.h,v
 1.1.1.1 13-Mar-1996  jonathan First commit of Per Fogelstrom's port to the Acer pica r4400/isa machine.
 1.2.6.3 05-Jan-2001  bouyer Sync with HEAD
 1.2.6.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.2.6.1 23-Jan-2000  bouyer file fdreg.h was added on branch thorpej_scsipi on 2000-11-20 20:00:31 +0000
 1.23 24-Dec-2000  ur Switch pica to jazzio.
Split shared MD portion between algor and jazzio.
 1.22 15-Nov-2000  thorpej branches: 1.22.2;
Move bpfattach()/bpfdetach() calls into ether_ifattach()/ether_ifdetach().
 1.21 01-Oct-2000  thorpej Move the check for "promisc + unicast + not for us" into ether_input(),
and change Ethernet drivers to always pass all received frames to
ether_input() (with a few exceptions, which are documented in the
code).
 1.20 29-Jun-2000  mrg remove include of <vm/vm.h>. <vm/vm.h> -> <uvm/uvm_extern.h>
 1.19 10-Jun-2000  soda move address to resolve conflict with firmware working memory
of NEC RISCstation 2250, from Shuichiro URATA <ur@a-r.org>.
 1.18 09-Jun-2000  soda bus_dma implementation for jazz dma tlb,
contributed by Shuichiro URATA <ur@a-r.org>
 1.17 25-Feb-2000  soda branches: 1.17.2;
Do not hardcode ethernet address.
This haven't tested with original Acer Pica 61, but it appeared that
NEC Image RISCstation is almost fully compatible with Pica 61, and
doesn't have problem with using product id as ethernet address.
(Although it is better to use SONIC device configuration data from ARC BIOS,
rather than product id. Autoconfiguration stuff for jazz derived systems
really should be revisited.)
 1.16 22-Feb-2000  soda merge changes between OpenBSD-2.1 and OpenBSD-2.6
 1.15 23-Jan-2000  soda merge to NetBSD-current (DeskStation and Algor support is currently broken)
 1.14 23-Jan-2000  soda Moved from /cvsroot/syssrc/sys/arch/pica/dev/if_sn.c,v
 1.13 05-Jul-1998  jonathan branches: 1.13.6;
defopt NS, NSIP.
 1.12 12-Jan-1998  thorpej Update for changes to config.
 1.11 23-Jun-1997  jonathan Apply sys/arch/mips changes (MACH_ -> MIPS_ or MIPS3_) changes to Pica port.
PICA Kernel compiles with warnings and links, otherwise untested.
 1.10 16-Jun-1997  jonathan Delint pica Sonic driver, pass 0:
* Finish new ARP (struct ethercom) changes.
Some references to sc_ac were left danglnig.
* Include if_dl.h and if_media.h.
* Delint printf() messages: int vs. long , int vs. pointer.
* Delete unused variables.
 1.9 15-Mar-1997  is New ARP system, supports IPv4 over any hardware link.

Some of the stuff (e.g., rarpd, bootpd, dhcpd etc., libsa) still will
only support Ethernet. Tcpdump itself should be ok, but libpcap needs
lot of work.

For the detailed change history, look at the commit log entries for
the is-newarp branch.
 1.8 13-Oct-1996  christos branches: 1.8.6;
backout previous kprintf change
 1.7 10-Oct-1996  christos printf -> kprintf, sprintf -> ksprintf
 1.6 11-Aug-1996  jonathan Fix old lint and changes not pulled back from pmax, pass1:
* include <mips/locore.h> where callbacks into locore are made, to get
prototypes in scope. Cast calls appropriately.
* include <mips/cpuregs.h>, not the old Sprite-derived <machine/machConst.h>.
machConst.h is deprecated.
* dk_establish() must return void, not int.
 1.5 16-Jul-1996  thorpej RCS id police.
 1.4 08-May-1996  thorpej Fix typo.
 1.3 07-May-1996  thorpej Changed struct ifnet to have a pointer to the softc of the underlying
device and a printable "external name" (name + unit number), thus eliminating
if_name and if_unit. Updated interface to (*if_watchdog)() and (*if_start)()
to take a struct ifnet *, rather than a unit number.
 1.2 17-Mar-1996  thorpej New device attachment scheme:

- split softc size and match/attach out from cfdriver into
a new struct cfattach.

- new "attach" directive for files.*. May specify the name of
the cfattach structure, so that devices may be easily attached
to parents with different autoconfiguration semantics.
 1.1 13-Mar-1996  jonathan branches: 1.1.1;
Initial revision
 1.1.1.3 22-Feb-2000  soda OpenBSD-2.6/arc
 1.1.1.2 23-Jan-2000  soda OpenBSD-2.1/arc
 1.1.1.1 13-Mar-1996  jonathan First commit of Per Fogelstrom's port to the Acer pica r4400/isa machine.
 1.8.6.2 10-Mar-1997  is netinet/if_ether.h => netinet/if_inarp.h
 1.8.6.1 04-Mar-1997  is Convert to the new ARP.
 1.13.6.1 11-Dec-1998  kenh The beginnings of interface detach support. Still some bugs, but mostly
works for me.

This work was originally by Bill Studenmund, and cleaned up by me.
 1.17.2.1 22-Jun-2000  minoura Sync w/ netbsd-1-5-base.
 1.22.2.4 05-Jan-2001  bouyer Sync with HEAD
 1.22.2.3 22-Nov-2000  bouyer Sync with HEAD.
 1.22.2.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.22.2.1 15-Nov-2000  bouyer file if_sn.c was added on branch thorpej_scsipi on 2000-11-20 20:00:31 +0000
 1.4 23-Jan-2000  soda Moved to /cvsroot/syssrc/sys/arch/arc/dev/if_snreg.h,v
 1.3 23-Jan-2000  soda Moved from /cvsroot/syssrc/sys/arch/pica/dev/if_sn.h,v
 1.2 16-Jul-1996  thorpej RCS id police.
 1.1 13-Mar-1996  jonathan branches: 1.1.1;
Initial revision
 1.1.1.2 23-Jan-2000  soda OpenBSD-2.1/arc
 1.1.1.1 13-Mar-1996  jonathan First commit of Per Fogelstrom's port to the Acer pica r4400/isa machine.
 1.6 24-Dec-2000  ur Switch pica to jazzio.
Split shared MD portion between algor and jazzio.
 1.5 23-Jan-2000  soda branches: 1.5.6;
merge to NetBSD-current (DeskStation and Algor support is currently broken)
 1.4 23-Jan-2000  soda Moved from /cvsroot/syssrc/sys/arch/arc/dev/if_sn.h,v
 1.3 23-Jan-2000  soda Moved from /cvsroot/syssrc/sys/arch/pica/dev/if_sn.h,v
 1.2 16-Jul-1996  thorpej RCS id police.
 1.1 13-Mar-1996  jonathan branches: 1.1.1;
Initial revision
 1.1.1.2 23-Jan-2000  soda OpenBSD-2.1/arc
 1.1.1.1 13-Mar-1996  jonathan First commit of Per Fogelstrom's port to the Acer pica r4400/isa machine.
 1.5.6.3 05-Jan-2001  bouyer Sync with HEAD
 1.5.6.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.5.6.1 23-Jan-2000  bouyer file if_snreg.h was added on branch thorpej_scsipi on 2000-11-20 20:00:32 +0000
 1.11 24-Dec-2000  ur Switch pica to jazzio.
Split shared MD portion between algor and jazzio.
 1.10 09-Jun-2000  soda branches: 1.10.4;
- NEC RISCstation 2250 (RD-94) PCI bus support,
contributed by Shuichiro URATA <ur@a-r.org>.
- Experimental coding for NEC RISCserver 2200 and RISCstation 2200.
(doesn't really work)
 1.9 22-Feb-2000  soda branches: 1.9.2;
merge changes between OpenBSD-2.1 and OpenBSD-2.6
 1.8 23-Jan-2000  soda merge to NetBSD-current (DeskStation and Algor support is currently broken)
 1.7 23-Jan-2000  soda Moved from /cvsroot/syssrc/sys/arch/pica/dev/lpt.c,v
 1.6 15-Aug-1998  mycroft branches: 1.6.18;
Make copyright notices with my name consistent.
 1.5 12-Jan-1998  thorpej Update for changes to config.
 1.4 13-Oct-1996  christos backout previous kprintf change
 1.3 10-Oct-1996  christos printf -> kprintf, sprintf -> ksprintf
 1.2 17-Mar-1996  thorpej New device attachment scheme:

- split softc size and match/attach out from cfdriver into
a new struct cfattach.

- new "attach" directive for files.*. May specify the name of
the cfattach structure, so that devices may be easily attached
to parents with different autoconfiguration semantics.
 1.1 13-Mar-1996  jonathan branches: 1.1.1;
Initial revision
 1.1.1.2 23-Jan-2000  soda OpenBSD-2.1/arc
 1.1.1.1 13-Mar-1996  jonathan First commit of Per Fogelstrom's port to the Acer pica r4400/isa machine.
 1.6.18.1 21-Dec-1999  wrstuden Initial commit of recent changes to make DEV_BSIZE go away.

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

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

Non 2**n block support is automatic for LKM's and conditional for kernels
on "options NON_PO2_BLOCKS".
 1.9.2.1 22-Jun-2000  minoura Sync w/ netbsd-1-5-base.
 1.10.4.3 05-Jan-2001  bouyer Sync with HEAD
 1.10.4.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.10.4.1 09-Jun-2000  bouyer file lpt_lbus.c was added on branch thorpej_scsipi on 2000-11-20 20:00:32 +0000
 1.2 29-Oct-2003  tsutsui Switch arc to use MI mc146818 tod driver.
 1.1 13-Jun-2001  soda branches: 1.1.2; 1.1.10; 1.1.26;
split clock_mc.c into interval timer driver (timer) and
real time clock driver (mcclock)
 1.1.26.1 03-Aug-2004  skrll Sync with HEAD
 1.1.10.2 13-Jun-2001  soda split clock_mc.c into interval timer driver (timer) and
real time clock driver (mcclock)
 1.1.10.1 13-Jun-2001  soda file mcclock.c was added on branch nathanw_sa on 2001-06-13 15:02:13 +0000
 1.1.2.1 21-Jun-2001  nathanw Catch up to -current.
 1.3 29-Oct-2003  tsutsui Switch arc to use MI mc146818 tod driver.
 1.2 23-Oct-2003  simonb De-__P(), remove double RCS/CVS id.
 1.1 13-Jun-2001  soda branches: 1.1.2; 1.1.10; 1.1.26;
split clock_mc.c into interval timer driver (timer) and
real time clock driver (mcclock)
 1.1.26.1 03-Aug-2004  skrll Sync with HEAD
 1.1.10.2 13-Jun-2001  soda split clock_mc.c into interval timer driver (timer) and
real time clock driver (mcclock)
 1.1.10.1 13-Jun-2001  soda file mcclockvar.h was added on branch nathanw_sa on 2001-06-13 15:02:14 +0000
 1.1.2.1 21-Jun-2001  nathanw Catch up to -current.
 1.2 24-Dec-2000  ur Use MI md_root.c
 1.1 22-Feb-2000  soda branches: 1.1.6;
rd -> md
 1.1.6.3 05-Jan-2001  bouyer Sync with HEAD
 1.1.6.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.1.6.1 22-Feb-2000  bouyer file md_root.c was added on branch thorpej_scsipi on 2000-11-20 20:00:32 +0000
 1.26 26-Sep-2021  thorpej Driver "kqfilter" entry points return an error code, so if an invalid
filter is requested, return EINVAL rather than 1.
 1.25 26-Sep-2021  thorpej Change the kqueue filterops::f_isfd field to filterops::f_flags, and
define a flag FILTEROP_ISFD that has the meaning of the prior f_isfd.
Field and flag name aligned with OpenBSD.

This does not constitute a functional or ABI change, as the field location
and size, and the value placed in that field, are the same as the previous
code, but we're bumping __NetBSD_Version__ so 3rd-party module source code
can adapt, as needed.

NetBSD 9.99.89
 1.24 19-Dec-2020  thorpej Use sel{record,remove}_knote().
 1.23 03-Sep-2018  riastradh branches: 1.23.12;
Rename min/max -> uimin/uimax for better honesty.

These functions are defined on unsigned int. The generic name
min/max should not silently truncate to 32 bits on 64-bit systems.
This is purely a name change -- no functional change intended.

HOWEVER! Some subsystems have

#define min(a, b) ((a) < (b) ? (a) : (b))
#define max(a, b) ((a) > (b) ? (a) : (b))

even though our standard name for that is MIN/MAX. Although these
may invite multiple evaluation bugs, these do _not_ cause integer
truncation.

To avoid `fixing' these cases, I first changed the name in libkern,
and then compile-tested every file where min/max occurred in order to
confirm that it failed -- and thus confirm that nothing shadowed
min/max -- before changing it.

I have left a handful of bootloaders that are too annoying to
compile-test, and some dead code:

cobalt ews4800mips hp300 hppa ia64 luna68k vax
acorn32/if_ie.c (not included in any kernels)
macppc/if_gm.c (superseded by gem(4))

It should be easy to fix the fallout once identified -- this way of
doing things fails safe, and the goal here, after all, is to _avoid_
silent integer truncations, not introduce them.

Maybe one day we can reintroduce min/max as type-generic things that
never silently truncate. But we should avoid doing that for a while,
so that existing code has a chance to be detected by the compiler for
conversion to uimin/uimax without changing the semantics until we can
properly audit it all. (Who knows, maybe in some cases integer
truncation is actually intended!)
 1.22 25-Oct-2017  maya branches: 1.22.2; 1.22.4;
Use C99 initializer for filterops

Mostly done with spatch with touchups for indentation

@@
expression a;
identifier b,c,d;
identifier p;
@@
const struct filterops p =
- { a, b, c, d
+ {
+ .f_isfd = a,
+ .f_attach = b,
+ .f_detach = c,
+ .f_event = d,
};
 1.21 25-Jul-2014  dholland branches: 1.21.8; 1.21.18;
Add d_discard to all struct cdevsw instances I could find.

All have been set to "nodiscard"; some should get a real implementation.
 1.20 16-Mar-2014  dholland branches: 1.20.2;
Change (mostly mechanically) every cdevsw/bdevsw I can find to use
designated initializers.

I have not built every extant kernel so I have probably broken at
least one build; however I've also found and fixed some wrong
cdevsw/bdevsw entries so even if so I think we come out ahead.
 1.19 01-Jul-2011  dyoung branches: 1.19.2; 1.19.12; 1.19.16;
#include <sys/bus.h> instead of <machine/bus.h>.
 1.18 13-Jun-2008  cegger use device_lookup_private to get softc
 1.17 01-Mar-2008  rmind branches: 1.17.2; 1.17.4; 1.17.6; 1.17.8;
Welcome to 4.99.55:

- Add a lot of missing selinit() and seldestroy() calls.

- Merge selwakeup() and selnotify() calls into a single selnotify().

- Add an additional 'events' argument to selnotify() call. It will
indicate which event (POLL_IN, POLL_OUT, etc) happen. If unknown,
zero may be used.

Note: please pass appropriate value of 'events' where possible.
Proposed on: <tech-kern>
 1.16 04-Mar-2007  christos branches: 1.16.20; 1.16.36; 1.16.40;
Kill caddr_t; there will be some MI fallout, but it will be fixed shortly.
 1.15 15-Apr-2006  tsutsui branches: 1.15.14;
Include "ioconf.h" rather than declare struct cfdriver foo_cd in each file.
 1.14 24-Dec-2005  perry branches: 1.14.4; 1.14.6; 1.14.8; 1.14.10; 1.14.12;
Remove leading __ from __(const|inline|signed|volatile) -- it is obsolete.
 1.13 11-Dec-2005  christos merge ktrace-lwp.
 1.12 11-Mar-2005  matt branches: 1.12.4;
Fix typo.
 1.11 22-Jan-2005  tsutsui branches: 1.11.2;
- remove __P()
- use ANSI function decls
- u_intNN_t -> uintNN_t
- some KNF
 1.10 07-Aug-2003  agc branches: 1.10.8;
Move UCB-licensed code from 4-clause to 3-clause licence.

Patches provided by Joel Baker in PR 22364, verified by myself.
 1.9 15-Jul-2003  lukem __KERNEL_RCSID()
 1.8 19-Jan-2003  tsutsui branches: 1.8.2;
TAB/space cleanup.
 1.7 26-Nov-2002  christos si_ -> sel_
 1.6 25-Oct-2002  jdolecek add a missing opmskqfilter() prototype
 1.5 23-Oct-2002  jdolecek merge kqueue branch into -current

kqueue provides a stateful and efficient event notification framework
currently supported events include socket, file, directory, fifo,
pipe, tty and device changes, and monitoring of processes and signals

kqueue is supported by all writable filesystems in NetBSD tree
(with exception of Coda) and all device drivers supporting poll(2)

based on work done by Jonathan Lemon for FreeBSD
initial NetBSD port done by Luke Mewburn and Jason Thorpe
 1.4 06-Sep-2002  gehenna Merge the gehenna-devsw branch into the trunk.

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

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

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

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

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

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

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

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

- In compile time, device major numbers list is packed into the kernel and
the LKM framework will refer it to assign device major number dynamically.
 1.3 28-Sep-2001  chs branches: 1.3.4; 1.3.12;
don't depend on other headers to include sys/proc.h for us.
 1.2 16-Sep-2001  wiz Spell 'occurred' with two 'r's.
 1.1 13-Jun-2001  soda branches: 1.1.2; 1.1.4; 1.1.6;
split pccons driver into "pccons" and "opms",
also split into bus-dependent frontend and bus-independent backend.
 1.1.6.1 01-Oct-2001  fvdl Catch up with -current.
 1.1.4.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.4.4 02-Oct-2002  jdolecek do not need the (void *) cast for kn_hook anymore
 1.1.4.3 16-Jun-2002  jdolecek make compile
 1.1.4.2 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.1.4.1 09-Sep-2001  thorpej Add kqueue support (not compiled yet).
 1.1.2.1 21-Jun-2001  nathanw Catch up to -current.
 1.3.12.1 17-May-2002  gehenna Add device switch.
 1.3.4.4 11-Dec-2002  thorpej Sync with HEAD.
 1.3.4.3 11-Nov-2002  nathanw Catch up to -current
 1.3.4.2 17-Sep-2002  nathanw Catch up to -current.
 1.3.4.1 28-Sep-2001  nathanw file opms.c was added on branch nathanw_sa on 2002-09-17 21:13:15 +0000
 1.8.2.6 01-Apr-2005  skrll Sync with HEAD.
 1.8.2.5 24-Jan-2005  skrll Sync with HEAD.
 1.8.2.4 28-Nov-2004  skrll Adapt to branch
 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.8.1 29-Apr-2005  kent sync with -current
 1.11.2.1 19-Mar-2005  yamt sync with head. xen and whitespace. xen part is not finished.
 1.12.4.3 17-Mar-2008  yamt sync with head.
 1.12.4.2 03-Sep-2007  yamt sync with head.
 1.12.4.1 21-Jun-2006  yamt sync with head.
 1.14.12.1 24-May-2006  tron Merge 2006-05-24 NetBSD-current into the "peter-altq" branch.
 1.14.10.1 19-Apr-2006  elad sync with head - hopefully this will work
 1.14.8.1 24-May-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.15.14.1 12-Mar-2007  rmind Sync with HEAD.
 1.16.40.2 29-Jun-2008  mjf Sync with HEAD.
 1.16.40.1 03-Apr-2008  mjf Sync with HEAD.
 1.16.36.1 24-Mar-2008  keiichi sync with head.
 1.16.20.1 23-Mar-2008  matt sync with HEAD
 1.17.8.1 18-Jun-2008  simonb Sync with head.
 1.17.6.1 23-Jun-2008  wrstuden Sync w/ -current. 34 merge conflicts to follow.
 1.17.4.1 04-May-2009  yamt sync with head.
 1.17.2.1 17-Jun-2008  yamt sync with head.
 1.19.16.1 18-May-2014  rmind sync with head
 1.19.12.2 03-Dec-2017  jdolecek update from HEAD
 1.19.12.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.19.2.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.20.2.1 10-Aug-2014  tls Rebase.
 1.21.18.1 27-Apr-2017  pgoyette Restore all work from the former pgoyette-localcount branch (which is
now abandoned doe to cvs merge botch).

The branch now builds, and installs via anita. There are still some
problems (cgd is non-functional and all atf tests time-out) but they
will get resolved soon.
 1.21.8.1 19-Jul-2016  pgoyette Instead of repeatedly typing the conditional initialization of the
.d_localcount members in the various {b,c}devsw, define an initializer
macro and use it. This also removes the need for defining new symbols
for each 'struct localcount'.

As suggested by riastradh@
 1.22.4.1 10-Jun-2019  christos Sync with HEAD
 1.22.2.1 06-Sep-2018  pgoyette Sync with HEAD

Resolve a couple of conflicts (result of the uimin/uimax changes)
 1.23.12.1 03-Jan-2021  thorpej Sync w/ HEAD.
 1.5 13-Sep-2008  tsutsui Fix botches on device_t/softc split.
 1.4 11-Dec-2005  christos branches: 1.4.74; 1.4.78; 1.4.80; 1.4.84;
merge ktrace-lwp.
 1.3 22-Jan-2005  tsutsui - remove __P()
- use ANSI function decls
- u_intNN_t -> uintNN_t
- some KNF
 1.2 07-Aug-2003  agc branches: 1.2.8;
Move UCB-licensed code from 4-clause to 3-clause licence.

Patches provided by Joel Baker in PR 22364, verified by myself.
 1.1 13-Jun-2001  soda branches: 1.1.2; 1.1.10; 1.1.26;
split pccons driver into "pccons" and "opms",
also split into bus-dependent frontend and bus-independent backend.
 1.1.26.4 24-Jan-2005  skrll Sync with HEAD.
 1.1.26.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.1.26.2 18-Sep-2004  skrll Sync with HEAD.
 1.1.26.1 03-Aug-2004  skrll Sync with HEAD
 1.1.10.2 13-Jun-2001  soda split pccons driver into "pccons" and "opms",
also split into bus-dependent frontend and bus-independent backend.
 1.1.10.1 13-Jun-2001  soda file opmsvar.h was added on branch nathanw_sa on 2001-06-13 15:05:45 +0000
 1.1.2.1 21-Jun-2001  nathanw Catch up to -current.
 1.2.8.1 29-Apr-2005  kent sync with -current
 1.4.84.1 19-Oct-2008  haad Sync with HEAD.
 1.4.80.1 24-Sep-2008  wrstuden Merge in changes between wrstuden-revivesa-base-2 and
wrstuden-revivesa-base-3.
 1.4.78.1 04-May-2009  yamt sync with head.
 1.4.74.1 28-Sep-2008  mjf Sync with HEAD.
 1.63 24-May-2022  andvar fix various typos in comment, documentation and log messages.
 1.62 18-Oct-2014  snj branches: 1.62.4; 1.62.10;
src is too big these days to tolerate superfluous apostrophes. It's
"its", people!
 1.61 25-Jul-2014  dholland Add d_discard to all struct cdevsw instances I could find.

All have been set to "nodiscard"; some should get a real implementation.
 1.60 16-Mar-2014  dholland branches: 1.60.2;
Change (mostly mechanically) every cdevsw/bdevsw I can find to use
designated initializers.

I have not built every extant kernel so I have probably broken at
least one build; however I've also found and fixed some wrong
cdevsw/bdevsw entries so even if so I think we come out ahead.
 1.59 01-Jul-2011  dyoung branches: 1.59.2; 1.59.12; 1.59.16;
#include <sys/bus.h> instead of <machine/bus.h>.
 1.58 24-Apr-2011  rmind Rename ttymalloc() to tty_alloc(), and ttyfree() to tty_free() for
consistency. Remove some unnecessary malloc.h inclusions as well.
 1.57 14-Mar-2009  dsl branches: 1.57.4; 1.57.6;
ANSIfy another 1261 function definitions.
The only ones left in sys are beyond by sed script!
(or in sys/dist or sys/external)
Mostly they have function pointer parameters.
 1.56 13-Sep-2008  tsutsui branches: 1.56.2; 1.56.8;
- use memmove(9) for possible overlapped screen copies, per PR port-arc/36703
- replace bcopy(9) with memcpy(9) where no overlap
- fix a typo in comment
Tested by using sysinst with pccons(4) on gxemul.
 1.55 13-Sep-2008  tsutsui Make this compile (restore some lines removed in rev 1.53).
 1.54 13-Jun-2008  cegger branches: 1.54.2;
use device_lookup_private to get softc
 1.53 19-Nov-2007  ad branches: 1.53.14; 1.53.16; 1.53.18; 1.53.20; 1.53.22;
- Factor out too many copies of the same bit of tty code.
- Fix another tty signalling/wakeup problem.
 1.52 18-Oct-2007  joerg branches: 1.52.2;
Initialise the callbacks for tty.t_rstrt_ch in ttymalloc
as all drivers but Sun/SPARC's kd.c use the same arguments.
Separate callout_reset into callout_schedule and the initial
callout_setfunc using that.
 1.51 17-Oct-2007  garbled Merge the ppcoea-renovation branch to HEAD.

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

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

NOTES:
pmppc was removed as an arch, and moved to a evbppc target.
 1.50 09-Jul-2007  ad branches: 1.50.8; 1.50.10; 1.50.14;
Merge some of the less invasive changes from the vmlocking branch:

- kthread, callout, devsw API changes
- select()/poll() improvements
- miscellaneous MT safety improvements
 1.49 04-Mar-2007  christos branches: 1.49.2; 1.49.4; 1.49.10;
Kill caddr_t; there will be some MI fallout, but it will be fixed shortly.
 1.48 01-Oct-2006  elad branches: 1.48.4;
Adapt MD code to KAUTH_DEVICE_TTY_OPEN. Patch from Matt Fleming, thanks!
 1.47 01-Sep-2006  matt branches: 1.47.2; 1.47.4;
Make this compile again. -Wshadow and other gcc4 stuff.
 1.46 23-Jul-2006  ad Use the LWP cached credentials where sane.
 1.45 01-Jul-2006  tsutsui Use MI <dev/ic/pcdisplay.h> rather than MD <machine/display.h>.
 1.44 14-May-2006  elad branches: 1.44.4;
integrate kauth.
 1.43 15-Apr-2006  tsutsui Include "ioconf.h" rather than declare struct cfdriver foo_cd in each file.
 1.42 24-Dec-2005  perry branches: 1.42.4; 1.42.6; 1.42.8; 1.42.10; 1.42.12;
Remove leading __ from __(const|inline|signed|volatile) -- it is obsolete.
 1.41 11-Dec-2005  christos merge ktrace-lwp.
 1.40 06-Sep-2005  kleink Change the driver open function's conditional for overriding exclusive tty
use from checking the proc's uid to suser(9), and account for the use of
privileges. Noted by David Holland in PR kern/31126.
 1.39 22-Jan-2005  tsutsui branches: 1.39.8;
- remove __P()
- use ANSI function decls
- u_intNN_t -> uintNN_t
- some KNF
 1.38 13-Feb-2004  wiz branches: 1.38.8;
Uppercase CPU, plural is CPUs.
 1.37 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.36 15-Jul-2003  lukem __KERNEL_RCSID()
 1.35 27-Apr-2003  tsutsui branches: 1.35.2;
Remove register declarations.
 1.34 21-Mar-2003  tsutsui Yet another leftover of struct consdev changes..
 1.33 20-Jan-2003  simonb The Double-Semi-Colon Police.
 1.32 19-Jan-2003  tsutsui TAB/space cleanup.
 1.31 23-Oct-2002  jdolecek merge kqueue branch into -current

kqueue provides a stateful and efficient event notification framework
currently supported events include socket, file, directory, fifo,
pipe, tty and device changes, and monitoring of processes and signals

kqueue is supported by all writable filesystems in NetBSD tree
(with exception of Coda) and all device drivers supporting poll(2)

based on work done by Jonathan Lemon for FreeBSD
initial NetBSD port done by Luke Mewburn and Jason Thorpe
 1.30 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.29 17-Mar-2002  atatat branches: 1.29.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.28 28-Sep-2001  chs branches: 1.28.4;
don't depend on other headers to include sys/proc.h for us.
 1.27 13-Jun-2001  soda branches: 1.27.2; 1.27.4;
split pccons driver into "pccons" and "opms",
also split into bus-dependent frontend and bus-independent backend.
 1.26 11-May-2001  tsutsui - Declare pccnattach() in <machine/pccons.h>
- Make cpu_reboot() reset machines properly without pccons
 1.25 02-May-2001  scw Add `l_poll' to `struct linesw' and provide an xxxpoll() entry point
in each tty driver to indirect through it.

This allows tty line-disciplines to handle poll(2) system calls.
 1.24 17-Feb-2001  tsutsui branches: 1.24.2;
Add new arctype for NEC Express5800/230A.

XXX: we should have "sysconf" structures like pmax.
 1.23 24-Dec-2000  ur Switch pica to jazzio.
Split shared MD portion between algor and jazzio.
 1.22 02-Nov-2000  eeh branches: 1.22.2;
Adapt to new line discipline scheme.
 1.21 26-Jun-2000  simonb Change the kernel mmap interface so that the offset to map is an
"off_t" and the return value is a "paddr_t" to allow mappings
at offsets past 2^31 bytes. Somewhat inspired by FreeBSD, which
only changed the offset to a "vm_offset_t".

Includes updates for the i386, pc532 and sh3 mmmmap from Jason Thorpe.
 1.20 17-Jun-2000  soda branches: 1.20.2;
vga/pckbc attachment for jazz internal bus of Magnum derived machines
(including Pica, NEC RISCstation/RISCserver).
 1.19 12-Jun-2000  soda shut up gcc warning: suggest explicit braces to avoid ambiguous `else'
from Izumi TSUTSUI <tsutsui@netbsd.org> and Shuichiro URATA <ur@a-r.org>.
 1.18 09-Jun-2000  soda - NEC RISCstation 2250 (RD-94) PCI bus support,
contributed by Shuichiro URATA <ur@a-r.org>.
- Experimental coding for NEC RISCserver 2200 and RISCstation 2200.
(doesn't really work)
 1.17 23-Mar-2000  thorpej branches: 1.17.2;
New callout mechanism with two major improvements over the old
timeout()/untimeout() API:
- Clients supply callout handle storage, thus eliminating problems of
resource allocation.
- Insertion and removal of callouts is constant time, important as
this facility is used quite a lot in the kernel.

The old timeout()/untimeout() API has been removed from the kernel.
 1.16 06-Mar-2000  thorpej - Implement cnbell() -- ring the console bell. The cn_bell entrypoint
is optional.
- Add cn_bell to statically allocated consdevs as appropriate.
 1.15 03-Mar-2000  soda cosmetic change.
 1.14 22-Feb-2000  soda merge changes between OpenBSD-2.1 and OpenBSD-2.6
 1.13 23-Jan-2000  soda merge to NetBSD-current (DeskStation and Algor support is currently broken)
 1.12 23-Jan-2000  soda Moved from /cvsroot/syssrc/sys/arch/pica/dev/pccons.c,v
 1.11 15-Aug-1998  mycroft Make copyright notices with my name consistent.
 1.10 21-Mar-1998  mycroft Eliminate uses of TS_WOPEN in hard-wired devices.
 1.9 12-Jan-1998  thorpej Update for changes to config.
 1.8 16-Jun-1997  jonathan Drop in pmspoll() from NetBSD-current/i386 pms.c.
 1.7 16-Jun-1997  jonathan First delint pass of old NetBSD/pica device drivers:
* add prototypes to <dma.h> for the per-device dma-setup functions.
* MachEmptyWriteBuffer() -> wbflush(). Also #include <bus.h>,
so that wbflush() expants to the locore callback vector entrypoint.
 1.6 13-Oct-1996  christos backout previous kprintf change
 1.5 10-Oct-1996  christos printf -> kprintf, sprintf -> ksprintf
 1.4 11-Aug-1996  jonathan Fix old lint and changes not pulled back from pmax, pass1:
* include <mips/locore.h> where callbacks into locore are made, to get
prototypes in scope. Cast calls appropriately.
* include <mips/cpuregs.h>, not the old Sprite-derived <machine/machConst.h>.
machConst.h is deprecated.
* dk_establish() must return void, not int.
 1.3 27-Mar-1996  jonathan Fixup after "New device attachment scheme": Fix cfattach typos.
"struct cfattch pms_ca" (should be "cfattach"), and
"struct cfattach fd_cd" ("should be fd_ca").
 1.2 17-Mar-1996  thorpej New device attachment scheme:

- split softc size and match/attach out from cfdriver into
a new struct cfattach.

- new "attach" directive for files.*. May specify the name of
the cfattach structure, so that devices may be easily attached
to parents with different autoconfiguration semantics.
 1.1 13-Mar-1996  jonathan branches: 1.1.1;
Initial revision
 1.1.1.3 22-Feb-2000  soda OpenBSD-2.6/arc
 1.1.1.2 23-Jan-2000  soda OpenBSD-2.1/arc
 1.1.1.1 13-Mar-1996  jonathan First commit of Per Fogelstrom's port to the Acer pica r4400/isa machine.
 1.17.2.1 22-Jun-2000  minoura Sync w/ netbsd-1-5-base.
 1.20.2.1 30-Jun-2000  simonb Pull up mmap paddr_t/off_t changes from trunk.
 1.22.2.5 12-Mar-2001  bouyer Sync with HEAD.
 1.22.2.4 05-Jan-2001  bouyer Sync with HEAD
 1.22.2.3 22-Nov-2000  bouyer Sync with HEAD.
 1.22.2.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.22.2.1 02-Nov-2000  bouyer file pccons.c was added on branch thorpej_scsipi on 2000-11-20 20:00:32 +0000
 1.24.2.1 21-Jun-2001  nathanw Catch up to -current.
 1.27.4.3 13-Oct-2001  fvdl Revert the t_dev -> t_devvp change in struct tty. The way that tty
structs are currently used (especially by console ttys) aren't
ready for it, and this will require quite a few changes.
 1.27.4.2 10-Oct-2001  fvdl Convert all remaining devices.
 1.27.4.1 01-Oct-2001  fvdl Catch up with -current.
 1.27.2.3 10-Oct-2002  jdolecek sync kqueue with -current; this includes merge of gehenna-devsw branch,
merge of i386 MP branch, and part of autoconf rototil work
 1.27.2.2 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.27.2.1 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.28.4.4 11-Nov-2002  nathanw Catch up to -current
 1.28.4.3 17-Sep-2002  nathanw Catch up to -current.
 1.28.4.2 01-Apr-2002  nathanw Catch up to -current.
(CVS: It's not just a program. It's an adventure!)
 1.28.4.1 28-Sep-2001  nathanw file pccons.c was added on branch nathanw_sa on 2002-04-01 07:39:04 +0000
 1.29.4.1 17-May-2002  gehenna Add device switch.
 1.35.2.6 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.35.2.5 24-Jan-2005  skrll Sync with HEAD.
 1.35.2.4 28-Nov-2004  skrll Adapt to branch
 1.35.2.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.35.2.2 18-Sep-2004  skrll Sync with HEAD.
 1.35.2.1 03-Aug-2004  skrll Sync with HEAD
 1.38.8.1 29-Apr-2005  kent sync with -current
 1.39.8.5 07-Dec-2007  yamt sync with head
 1.39.8.4 27-Oct-2007  yamt sync with head.
 1.39.8.3 03-Sep-2007  yamt sync with head.
 1.39.8.2 30-Dec-2006  yamt sync with head.
 1.39.8.1 21-Jun-2006  yamt sync with head.
 1.42.12.1 24-May-2006  tron Merge 2006-05-24 NetBSD-current into the "peter-altq" branch.
 1.42.10.4 13-May-2006  elad sprinkle some #include <sys/kauth.h> in files that use kauth kpi but
don't include it yet. hopefully this will prevent some fallout.
 1.42.10.3 19-Apr-2006  elad sync with head - hopefully this will work
 1.42.10.2 10-Mar-2006  elad generic_authorize() -> kauth_authorize_generic().
 1.42.10.1 08-Mar-2006  elad Adapt to kernel authorization KPI.

I expect *some* lossage here...
 1.42.8.3 03-Sep-2006  yamt sync with head.
 1.42.8.2 11-Aug-2006  yamt sync with head
 1.42.8.1 24-May-2006  yamt sync with head.
 1.42.6.2 01-Jun-2006  kardel Sync with head.
 1.42.6.1 22-Apr-2006  simonb Sync with head.
 1.42.4.1 09-Sep-2006  rpaulo sync with head
 1.44.4.1 13-Jul-2006  gdamore Merge from HEAD.
 1.47.4.1 22-Oct-2006  yamt sync with head
 1.47.2.1 18-Nov-2006  ad Sync with head.
 1.48.4.1 12-Mar-2007  rmind Sync with HEAD.
 1.49.10.1 03-Oct-2007  garbled Sync with HEAD
 1.49.4.1 11-Jul-2007  mjf Sync with head.
 1.49.2.3 03-Dec-2007  ad Sync with HEAD.
 1.49.2.2 23-Oct-2007  ad Sync with head.
 1.49.2.1 15-Jul-2007  ad Sync with head.
 1.50.14.2 21-Nov-2007  bouyer Sync with HEAD
 1.50.14.1 25-Oct-2007  bouyer Sync with HEAD.
 1.50.10.2 09-Jan-2008  matt sync with HEAD
 1.50.10.1 06-Nov-2007  matt sync with HEAD
 1.50.8.2 21-Nov-2007  joerg Sync with HEAD.
 1.50.8.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.52.2.1 08-Dec-2007  mjf Sync with HEAD.
 1.53.22.1 18-Jun-2008  simonb Sync with head.
 1.53.20.2 24-Sep-2008  wrstuden Merge in changes between wrstuden-revivesa-base-2 and
wrstuden-revivesa-base-3.
 1.53.20.1 23-Jun-2008  wrstuden Sync w/ -current. 34 merge conflicts to follow.
 1.53.18.1 04-May-2009  yamt sync with head.
 1.53.16.1 17-Jun-2008  yamt sync with head.
 1.53.14.2 28-Sep-2008  mjf Sync with HEAD.
 1.53.14.1 29-Jun-2008  mjf Sync with HEAD.
 1.54.2.1 19-Oct-2008  haad Sync with HEAD.
 1.56.8.1 13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.56.2.1 28-Apr-2009  skrll Sync with HEAD.
 1.57.6.1 06-Jun-2011  jruoho Sync with HEAD.
 1.57.4.1 31-May-2011  rmind sync with head
 1.59.16.1 18-May-2014  rmind sync with head
 1.59.12.2 03-Dec-2017  jdolecek update from HEAD
 1.59.12.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.59.2.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.60.2.1 10-Aug-2014  tls Rebase.
 1.62.10.1 27-Apr-2017  pgoyette Restore all work from the former pgoyette-localcount branch (which is
now abandoned doe to cvs merge botch).

The branch now builds, and installs via anita. There are still some
problems (cgd is non-functional and all atf tests time-out) but they
will get resolved soon.
 1.62.4.1 19-Jul-2016  pgoyette Instead of repeatedly typing the conditional initialization of the
.d_localcount members in the various {b,c}devsw, define an initializer
macro and use it. This also removes the need for defining new symbols
for each 'struct localcount'.

As suggested by riastradh@
 1.5 13-Sep-2008  tsutsui Fix botches on device_t/softc split.
 1.4 11-Dec-2005  christos branches: 1.4.74; 1.4.78; 1.4.80; 1.4.84;
merge ktrace-lwp.
 1.3 22-Jan-2005  tsutsui - remove __P()
- use ANSI function decls
- u_intNN_t -> uintNN_t
- some KNF
 1.2 07-Aug-2003  agc branches: 1.2.8;
Move UCB-licensed code from 4-clause to 3-clause licence.

Patches provided by Joel Baker in PR 22364, verified by myself.
 1.1 13-Jun-2001  soda branches: 1.1.2; 1.1.10; 1.1.26;
split pccons driver into "pccons" and "opms",
also split into bus-dependent frontend and bus-independent backend.
 1.1.26.4 24-Jan-2005  skrll Sync with HEAD.
 1.1.26.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.1.26.2 18-Sep-2004  skrll Sync with HEAD.
 1.1.26.1 03-Aug-2004  skrll Sync with HEAD
 1.1.10.2 13-Jun-2001  soda split pccons driver into "pccons" and "opms",
also split into bus-dependent frontend and bus-independent backend.
 1.1.10.1 13-Jun-2001  soda file pcconsvar.h was added on branch nathanw_sa on 2001-06-13 15:05:44 +0000
 1.1.2.1 21-Jun-2001  nathanw Catch up to -current.
 1.2.8.1 29-Apr-2005  kent sync with -current
 1.4.84.1 19-Oct-2008  haad Sync with HEAD.
 1.4.80.1 24-Sep-2008  wrstuden Merge in changes between wrstuden-revivesa-base-2 and
wrstuden-revivesa-base-3.
 1.4.78.1 04-May-2009  yamt sync with head.
 1.4.74.1 28-Sep-2008  mjf Sync with HEAD.
 1.3 22-Feb-2000  soda rd -> md
 1.2 23-Jan-2000  soda merge to NetBSD-current (DeskStation and Algor support is currently broken)
 1.1 23-Jan-2000  soda branches: 1.1.1;
Initial revision
 1.1.1.2 22-Feb-2000  soda OpenBSD-2.6/arc
 1.1.1.1 23-Jan-2000  soda OpenBSD-2.1/arc
 1.5 24-Dec-2000  ur Switch pica to jazzio.
Split shared MD portion between algor and jazzio.
 1.4 23-Jan-2000  soda branches: 1.4.6;
merge to NetBSD-current (DeskStation and Algor support is currently broken)
 1.3 23-Jan-2000  soda Moved from /cvsroot/syssrc/sys/arch/pica/dev/scsi.h,v
 1.2 16-Jul-1996  thorpej RCS id police.
 1.1 13-Mar-1996  jonathan branches: 1.1.1;
Initial revision
 1.1.1.2 23-Jan-2000  soda OpenBSD-2.1/arc
 1.1.1.1 13-Mar-1996  jonathan First commit of Per Fogelstrom's port to the Acer pica r4400/isa machine.
 1.4.6.3 05-Jan-2001  bouyer Sync with HEAD
 1.4.6.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.4.6.1 23-Jan-2000  bouyer file scsi.h was added on branch thorpej_scsipi on 2000-11-20 20:00:33 +0000
 1.5 01-Jul-2011  dyoung #include <sys/bus.h> instead of <machine/bus.h>.
 1.4 05-Jul-2008  tsutsui Split device_t/softc with misc related changes.
 1.3 24-Jun-2006  tsutsui branches: 1.3.2; 1.3.8; 1.3.62; 1.3.66; 1.3.68; 1.3.70;
Misc minor cleanup for arc interrupt handlers:
- always enable options MIPS3_ENABLE_CLOCK_INTR and just clear the compare
register in cpu_intr() to make CLKF_BASE() works
properly
- prepare only possible number of cpu_inttab
- use macro for interrupt priority number passed to arc_set_intr()
to avoid confusion
- merge arc_hardware_intr() into cpu_intr()
- check independent timer interrupt first in cpu_intr()
- tweak MIPS_SR_INT_IE before calling hardclock timer handlers so that
spllowersoftclock(9) will be invoked properly in hardclock(9)
- reenable interrupt for timer in cpu_intr() rather than each timer handlers

okay'ed by soda.

Note the real fix is to make CLKF_BASE() check all independent
interrupt sources including jazz and isa devices.
 1.2 12-Jun-2006  tsutsui branches: 1.2.2; 1.2.4; 1.2.6;
Remove a declaration of nonexistent function.
 1.1 12-Jun-2006  tsutsui Move arcsisabr.c from arc/isa to arc/dti because it's DescStation specific.
 1.2.6.3 30-Dec-2006  yamt sync with head.
 1.2.6.2 21-Jun-2006  yamt sync with head.
 1.2.6.1 12-Jun-2006  yamt file arcsisabr.c was added on branch yamt-lazymbuf on 2006-06-21 14:49:07 +0000
 1.2.4.2 19-Jun-2006  chap Sync with head.
 1.2.4.1 12-Jun-2006  chap file arcsisabr.c was added on branch chap-midi on 2006-06-19 03:44:01 +0000
 1.2.2.1 13-Jul-2006  gdamore Merge from HEAD.
 1.3.70.1 18-Jul-2008  simonb Sync with head.
 1.3.68.1 18-Sep-2008  wrstuden Sync with wrstuden-revivesa-base-2.
 1.3.66.1 04-May-2009  yamt sync with head.
 1.3.62.1 28-Sep-2008  mjf Sync with HEAD.
 1.3.8.2 09-Sep-2006  rpaulo sync with head
 1.3.8.1 24-Jun-2006  rpaulo file arcsisabr.c was added on branch rpaulo-netinet-merge-pcb on 2006-09-09 02:37:52 +0000
 1.3.2.2 26-Jun-2006  yamt sync with head.
 1.3.2.1 24-Jun-2006  yamt file arcsisabr.c was added on branch yamt-pdpolicy on 2006-06-26 12:44:22 +0000
 1.31 20-Dec-2023  thorpej Remove unnecessary <sys/malloc.h>.
 1.30 07-Aug-2021  thorpej Merge thorpej-cfargs2.
 1.29 24-Apr-2021  thorpej branches: 1.29.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.28 03-Sep-2018  riastradh branches: 1.28.14;
Rename min/max -> uimin/uimax for better honesty.

These functions are defined on unsigned int. The generic name
min/max should not silently truncate to 32 bits on 64-bit systems.
This is purely a name change -- no functional change intended.

HOWEVER! Some subsystems have

#define min(a, b) ((a) < (b) ? (a) : (b))
#define max(a, b) ((a) > (b) ? (a) : (b))

even though our standard name for that is MIN/MAX. Although these
may invite multiple evaluation bugs, these do _not_ cause integer
truncation.

To avoid `fixing' these cases, I first changed the name in libkern,
and then compile-tested every file where min/max occurred in order to
confirm that it failed -- and thus confirm that nothing shadowed
min/max -- before changing it.

I have left a handful of bootloaders that are too annoying to
compile-test, and some dead code:

cobalt ews4800mips hp300 hppa ia64 luna68k vax
acorn32/if_ie.c (not included in any kernels)
macppc/if_gm.c (superseded by gem(4))

It should be easy to fix the fallout once identified -- this way of
doing things fails safe, and the goal here, after all, is to _avoid_
silent integer truncations, not introduce them.

Maybe one day we can reintroduce min/max as type-generic things that
never silently truncate. But we should avoid doing that for a while,
so that existing code has a chance to be detected by the compiler for
conversion to uimin/uimax without changing the semantics until we can
properly audit it all. (Who knows, maybe in some cases integer
truncation is actually intended!)
 1.27 12-Dec-2016  maya branches: 1.27.14; 1.27.16;
acknowleg -> acknowledg, proceedure -> procedure.
only comments were changed.

from miod
 1.26 18-Oct-2014  snj branches: 1.26.2; 1.26.4;
src is too big these days to tolerate superfluous apostrophes. It's
"its", people!
 1.25 27-Oct-2012  chs split device_t/softc for all remaining drivers.
replace "struct device *" with "device_t".
use device_xname(), device_unit(), etc.
 1.24 27-Dec-2009  tsutsui branches: 1.24.12; 1.24.22;
Fix typo on ANSIfy in 2005. PR port-arc/42523
 1.23 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.22 26-Oct-2009  cegger kill extra whitespaces
reviewed by tsutsui@
 1.21 18-Mar-2009  cegger bcopy -> memcpy
 1.20 05-Jul-2008  tsutsui branches: 1.20.4; 1.20.10;
Split device_t/softc with misc related changes.
 1.19 11-Dec-2005  christos branches: 1.19.74; 1.19.78; 1.19.80; 1.19.82;
merge ktrace-lwp.
 1.18 21-Feb-2005  thorpej Part 1 of a cleanup pass over the SCSI subsystem. The aim is to name
everything "scsi_*", since we really are talking about the SCSI command
set, ATAPI transport not withstanding. Improve the names of many structures,
and prepend "SCSI_" onto all SCSI command opcodes. Place items described
by the SCSI Primary Commands document into scsi_spc.h.
 1.17 22-Jan-2005  tsutsui branches: 1.17.2;
bzero -> memset
 1.16 22-Jan-2005  tsutsui - remove __P()
- use ANSI function decls
- u_intNN_t -> uintNN_t
- some KNF
 1.15 07-Dec-2004  thorpej branches: 1.15.2;
Don't use "struct scsi_generic" in a hardware-defined structure. Instead,
use an array of 12 bytes. Check the incoming CDB to see that it will fit,
and print and error and fail the command if it won't.
 1.14 15-Jul-2003  lukem branches: 1.14.6;
__KERNEL_RCSID()
 1.13 03-May-2003  wiz branches: 1.13.2;
DMA, not dma nor Dma.
 1.12 27-Apr-2003  tsutsui Remove register declarations.
 1.11 19-Jan-2003  tsutsui TAB/space cleanup.
 1.10 02-Oct-2002  thorpej Use CFATTACH_DECL().
 1.9 27-Sep-2002  thorpej Declare all cfattach structures const.
 1.8 05-Apr-2002  bouyer Implement mstohz() as discussed on tech-kern, and use it in SCSI drivers
to convert xs->timeout to callout() parameter.
 1.7 20-Aug-2001  wiz branches: 1.7.6;
precede, not preceed.
 1.6 13-Jun-2001  soda branches: 1.6.2;
remove "cputype", introduce "struct btl_config *btl_conf;"
to describe platform-dependent variants.
 1.5 09-Jun-2000  soda branches: 1.5.4; 1.5.6;
add NetBSD Id of original bt driver
 1.4 23-Mar-2000  thorpej branches: 1.4.2;
New callout mechanism with two major improvements over the old
timeout()/untimeout() API:
- Clients supply callout handle storage, thus eliminating problems of
resource allocation.
- Insertion and removal of callouts is constant time, important as
this facility is used quite a lot in the kernel.

The old timeout()/untimeout() API has been removed from the kernel.
 1.3 22-Feb-2000  soda merge changes between OpenBSD-2.1 and OpenBSD-2.6
 1.2 23-Jan-2000  soda merge to NetBSD-current (DeskStation and Algor support is currently broken)
 1.1 23-Jan-2000  soda branches: 1.1.1;
Initial revision
 1.1.1.2 22-Feb-2000  soda OpenBSD-2.6/arc
 1.1.1.1 23-Jan-2000  soda OpenBSD-2.1/arc
 1.4.2.1 22-Jun-2000  minoura Sync w/ netbsd-1-5-base.
 1.5.6.1 21-Jun-2001  nathanw Catch up to -current.
 1.5.4.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.5.4.1 09-Jun-2000  bouyer file btl.c was added on branch thorpej_scsipi on 2000-11-20 20:00:33 +0000
 1.6.2.3 10-Oct-2002  jdolecek sync kqueue with -current; this includes merge of gehenna-devsw branch,
merge of i386 MP branch, and part of autoconf rototil work
 1.6.2.2 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.6.2.1 25-Aug-2001  thorpej Merge Aug 24 -current into the kqueue branch.
 1.7.6.3 18-Oct-2002  nathanw Catch up to -current.
 1.7.6.2 17-Apr-2002  nathanw Catch up to -current.
 1.7.6.1 20-Aug-2001  nathanw file btl.c was added on branch nathanw_sa on 2002-04-17 00:02:21 +0000
 1.13.2.6 04-Mar-2005  skrll Sync with HEAD.

Hi Perry!
 1.13.2.5 24-Jan-2005  skrll Sync with HEAD.
 1.13.2.4 18-Dec-2004  skrll Sync with HEAD.
 1.13.2.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.13.2.2 18-Sep-2004  skrll Sync with HEAD.
 1.13.2.1 03-Aug-2004  skrll Sync with HEAD
 1.14.6.1 02-Apr-2005  he Pull up revision 1.15 (requested by thorpej in ticket #1022):
Don't use "struct scsi_generic" in a hardware-defined structure.
Instead, use an array of 12 bytes. Check the incoming CDB to see
that it will fit, and print and error and fail the command if it
won't.
 1.15.2.1 29-Apr-2005  kent sync with -current
 1.17.2.1 19-Mar-2005  yamt sync with head. xen and whitespace. xen part is not finished.
 1.19.82.1 18-Jul-2008  simonb Sync with head.
 1.19.80.1 18-Sep-2008  wrstuden Sync with wrstuden-revivesa-base-2.
 1.19.78.2 11-Mar-2010  yamt sync with head
 1.19.78.1 04-May-2009  yamt sync with head.
 1.19.74.1 28-Sep-2008  mjf Sync with HEAD.
 1.20.10.1 13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.20.4.1 28-Apr-2009  skrll Sync with HEAD.
 1.24.22.2 03-Dec-2017  jdolecek update from HEAD
 1.24.22.1 20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.24.12.1 30-Oct-2012  yamt sync with head
 1.26.4.1 07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.26.2.1 05-Feb-2017  skrll Sync with HEAD
 1.27.16.1 10-Jun-2019  christos Sync with HEAD
 1.27.14.1 06-Sep-2018  pgoyette Sync with HEAD

Resolve a couple of conflicts (result of the uimin/uimax changes)
 1.28.14.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.29.8.1 03-Aug-2021  thorpej Adapt to CFARGS().
 1.9 02-Jun-2024  andvar Fix various typos, mainly triple letters.
 1.8 11-Dec-2005  christos merge ktrace-lwp.
 1.7 21-Feb-2005  thorpej Part 1 of a cleanup pass over the SCSI subsystem. The aim is to name
everything "scsi_*", since we really are talking about the SCSI command
set, ATAPI transport not withstanding. Improve the names of many structures,
and prepend "SCSI_" onto all SCSI command opcodes. Place items described
by the SCSI Primary Commands document into scsi_spc.h.
 1.6 22-Jan-2005  tsutsui branches: 1.6.2;
- remove __P()
- use ANSI function decls
- u_intNN_t -> uintNN_t
- some KNF
 1.5 07-Dec-2004  thorpej branches: 1.5.2;
Don't use "struct scsi_generic" in a hardware-defined structure. Instead,
use an array of 12 bytes. Check the incoming CDB to see that it will fit,
and print and error and fail the command if it won't.
 1.4 09-Apr-2003  thorpej branches: 1.4.2; 1.4.8;
Use PAGE_SIZE rather than NBPG.
 1.3 22-Feb-2000  soda branches: 1.3.6;
merge changes between OpenBSD-2.1 and OpenBSD-2.6
 1.2 23-Jan-2000  soda merge to NetBSD-current (DeskStation and Algor support is currently broken)
 1.1 23-Jan-2000  soda branches: 1.1.1;
Initial revision
 1.1.1.1 23-Jan-2000  soda OpenBSD-2.1/arc
 1.3.6.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.3.6.1 22-Feb-2000  bouyer file btlreg.h was added on branch thorpej_scsipi on 2000-11-20 20:00:33 +0000
 1.4.8.1 02-Apr-2005  he Pull up revision 1.5 (requested by thorpej in ticket #1022):
Don't use "struct scsi_generic" in a hardware-defined structure.
Instead, use an array of 12 bytes. Check the incoming CDB to see
that it will fit, and print and error and fail the command if it
won't.
 1.4.2.3 04-Mar-2005  skrll Sync with HEAD.

Hi Perry!
 1.4.2.2 24-Jan-2005  skrll Sync with HEAD.
 1.4.2.1 18-Dec-2004  skrll Sync with HEAD.
 1.5.2.1 29-Apr-2005  kent sync with -current
 1.6.2.1 19-Mar-2005  yamt sync with head. xen and whitespace. xen part is not finished.
 1.5 28-Apr-2008  martin 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 22-Jan-2005  tsutsui - remove __P()
- use ANSI function decls
- u_intNN_t -> uintNN_t
- some KNF
 1.2 15-Jan-2005  skrll branches: 1.2.2;
s/u_int_t/u_int/ in structure member declaration.
 1.1 13-Jun-2001  soda branches: 1.1.2; 1.1.10; 1.1.26;
remove "cputype", introduce "struct btl_config *btl_conf;"
to describe platform-dependent variants.
 1.1.26.2 24-Jan-2005  skrll Sync with HEAD.
 1.1.26.1 17-Jan-2005  skrll Sync with HEAD.
 1.1.10.2 13-Jun-2001  soda remove "cputype", introduce "struct btl_config *btl_conf;"
to describe platform-dependent variants.
 1.1.10.1 13-Jun-2001  soda file btlvar.h was added on branch nathanw_sa on 2001-06-13 15:09:33 +0000
 1.1.2.1 21-Jun-2001  nathanw Catch up to -current.
 1.2.2.1 29-Apr-2005  kent sync with -current
 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 06-Mar-2011  tsutsui Remove trailing spaces.
 1.4 03-May-2003  wiz branches: 1.4.130; 1.4.136;
DMA, not dma nor Dma.
 1.3 22-Feb-2000  soda branches: 1.3.6;
merge changes between OpenBSD-2.1 and OpenBSD-2.6
 1.2 23-Jan-2000  soda merge to NetBSD-current (DeskStation and Algor support is currently broken)
 1.1 23-Jan-2000  soda branches: 1.1.1;
Initial revision
 1.1.1.2 22-Feb-2000  soda OpenBSD-2.6/arc
 1.1.1.1 23-Jan-2000  soda OpenBSD-2.1/arc
 1.3.6.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.3.6.1 22-Feb-2000  bouyer file desktech.h was added on branch thorpej_scsipi on 2000-11-20 20:00:33 +0000
 1.4.136.1 06-Jun-2011  jruoho Sync with HEAD.
 1.4.130.1 21-Apr-2011  rmind sync with head
 1.12 01-Jul-2011  dyoung #include <sys/bus.h> instead of <machine/bus.h>.
 1.11 05-Jul-2008  tsutsui Split device_t/softc with misc related changes.
 1.10 24-Jun-2006  tsutsui branches: 1.10.58; 1.10.62; 1.10.64; 1.10.66;
Misc minor cleanup for arc interrupt handlers:
- always enable options MIPS3_ENABLE_CLOCK_INTR and just clear the compare
register in cpu_intr() to make CLKF_BASE() works
properly
- prepare only possible number of cpu_inttab
- use macro for interrupt priority number passed to arc_set_intr()
to avoid confusion
- merge arc_hardware_intr() into cpu_intr()
- check independent timer interrupt first in cpu_intr()
- tweak MIPS_SR_INT_IE before calling hardclock timer handlers so that
spllowersoftclock(9) will be invoked properly in hardclock(9)
- reenable interrupt for timer in cpu_intr() rather than each timer handlers

okay'ed by soda.

Note the real fix is to make CLKF_BASE() check all independent
interrupt sources including jazz and isa devices.
 1.9 15-Apr-2006  tsutsui branches: 1.9.4;
Include "ioconf.h" rather than declare struct cfdriver foo_cd in each file.
 1.8 11-Dec-2005  christos branches: 1.8.4; 1.8.6; 1.8.8; 1.8.10; 1.8.12;
merge ktrace-lwp.
 1.7 22-Jan-2005  tsutsui branches: 1.7.8;
Make all intr_mask value types uint32_t rather than int, u_int,
or unsigned etc.
 1.6 22-Jan-2005  tsutsui - remove __P()
- use ANSI function decls
- u_intNN_t -> uintNN_t
- some KNF
 1.5 07-Aug-2003  agc branches: 1.5.8;
Move UCB-licensed code from 4-clause to 3-clause licence.

Patches provided by Joel Baker in PR 22364, verified by myself.
 1.4 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 13-Jun-2001  soda branches: 1.1.2; 1.1.4; 1.1.10;
split ISA bridge code into bus dependent frontends to remove "cputype"
variable.
 1.1.10.2 18-Oct-2002  nathanw Catch up to -current.
 1.1.10.1 13-Jun-2001  nathanw file tyneisabr.c was added on branch nathanw_sa on 2002-10-18 02:35:11 +0000
 1.1.4.1 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.2.1 21-Jun-2001  nathanw Catch up to -current.
 1.3.6.4 24-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.8.1 29-Apr-2005  kent sync with -current
 1.7.8.2 30-Dec-2006  yamt sync with head.
 1.7.8.1 21-Jun-2006  yamt sync with head.
 1.8.12.1 24-May-2006  tron Merge 2006-05-24 NetBSD-current into the "peter-altq" branch.
 1.8.10.1 19-Apr-2006  elad sync with head - hopefully this will work
 1.8.8.2 26-Jun-2006  yamt sync with head.
 1.8.8.1 24-May-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.9.4.1 13-Jul-2006  gdamore Merge from HEAD.
 1.10.66.1 18-Jul-2008  simonb Sync with head.
 1.10.64.1 18-Sep-2008  wrstuden Sync with wrstuden-revivesa-base-2.
 1.10.62.1 04-May-2009  yamt sync with head.
 1.10.58.1 28-Sep-2008  mjf Sync with HEAD.
 1.34 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.33 12-Jul-2018  maxv branches: 1.33.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.32 21-Dec-2015  christos branches: 1.32.16; 1.32.18;
Add mips fenv.h (From FreeBSD)
 1.31 17-Jul-2011  joerg branches: 1.31.12; 1.31.30;
Retire varargs.h support. Move machine/stdarg.h logic into MI
sys/stdarg.h and expect compiler to provide proper builtins, defaulting
to the GCC interface. lint still has a special fallback.
Reduce abuse of _BSD_VA_LIST_ by defining __va_list by default and
derive va_list as required by standards.
 1.30 12-Aug-2009  matt Nuke a.out support for MIPS.
 1.29 09-Feb-2007  ad branches: 1.29.48;
Merge newlock2 to head.
 1.28 01-Jul-2006  tsutsui branches: 1.28.4;
No need to export autoconf.h to userland.
 1.27 01-Jul-2006  tsutsui Remove obsolete display.h.
 1.26 11-Dec-2005  christos branches: 1.26.4; 1.26.8; 1.26.16;
merge ktrace-lwp.
 1.25 08-May-2004  kleink branches: 1.25.12;
Factor out W{CHAR,INT}_{MAX,MIN} into their own header file.
 1.24 17-Jan-2003  thorpej branches: 1.24.2;
Merge the nathanw_sa branch.
 1.23 26-Nov-2002  lukem Remove KDIR=, since SYS_INCLUDE=symlinks and KDIR are not supported any more.
 1.22 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.21 15-Apr-2001  kleink branches: 1.21.2; 1.21.8; 1.21.16;
Add definitions of C99 integer format conversion macros.
XXX Fastest minimum-width integer types haven't been decided upon yet.
 1.20 15-Apr-2001  kleink Add definitions of C99 specified-width integer type limits.
XXX Fastest minimum-width integer types haven't been decided upon yet.
 1.19 14-Apr-2001  kleink Add definitions of C99 integer constant macros.
Tidy Makefiles up a little.
 1.18 14-Apr-2001  kleink Add definitions of C99 minimum-width and greatest-width integer types.
XXX Fastest minimum-width integer types haven't been decided upon yet.
 1.17 26-Jun-2000  kleink branches: 1.17.2; 1.17.4;
Add <machine/int_types.h>, which provides namespace-pure definitions
of exact-width integer types.
 1.16 12-Jun-2000  soda <machine/cpuregs.h> was removed on March 30,
from Shuichiro URATA <ur@a-r.org>.
 1.15 29-Apr-2000  thorpej branches: 1.15.2;
Require that each each MACHINE/MACHINE_ARCH supply a lock.h. This file
contains the values __SIMPLELOCK_LOCKED and __SIMPLELOCK_UNLOCKED, which
replace the old SIMPLELOCK_LOCKED and SIMPLELOCK_UNLOCKED. These files
are also required to supply inline functions __cpu_simple_lock(),
__cpu_simple_lock_try(), and __cpu_simple_unlock() if locking is to be
supported on that platform (i.e. if MULTIPROCESSOR is defined in the
_KERNEL case). Change these functions to take an int * (&alp->lock_data)
rather than the struct simplelock * itself.

These changes make it possible for userland to use the locking primitives
by including <machine/lock.h>.
 1.14 31-Mar-2000  soda cancel previous change, and add a comment about it.

$INCS variable is introduced by cgd to export kernel headers which
are needed from userland. In other words, $INC should only have
headers for kernel <-> userland programming interface.
Headers for kernel internal implementation should not be exported
to userland.
 1.13 30-Mar-2000  soren Match contents.
 1.12 17-Mar-2000  tron Install "machineendian_machdep.h".
 1.11 03-Mar-2000  soda do not install bus.h, kbdreg.h and pio.h..
since currently these are not useful/needed from userland.
 1.10 27-Jan-2000  soda make "make includes" work
 1.9 23-Jan-2000  soda merge to NetBSD-current (DeskStation and Algor support is currently broken)
 1.8 23-Jan-2000  soda Moved from /cvsroot/syssrc/sys/arch/pica/include/Makefile,v
 1.7 23-Dec-1999  kleink C99: Define a NAN macro in <math.h> which evaulates to a constant expression of
a single-precision quiet NaN; only to be defined on platforms that do support
this value.
 1.6 09-Nov-1999  kleink Per discussion on tech-toolchain, remove MIPS-specific <machine/elf.h> header;
all the information is available from <sys/exec_elf.h>.
 1.5 30-Aug-1999  mrg branches: 1.5.4; 1.5.8;
install ieee.h
 1.4 30-Mar-1999  soda regdef.h is back
 1.3 13-Mar-1999  drochner g/c regdef.h
 1.2 15-Jan-1999  bouyer Move the bswap functions from libutil to libc (this bups the
minor of libc and the major of libutil). For little-endian architectures
merge the bnswap() assembly versions with nto* and hton* using symbols
aliasing. Use symbol renaming for the bswap function in this case to avoid
namespace pollution.
Declare bswap* in machine/bswap.h, not machine/endian.h. For little-endian
machines, common code for inline macros go in machine/byte_swap.h
Sync libkern with libc.
Adjust #include in kernel sources for machine/bswap.h.
 1.1 12-Jun-1998  cgd Rework the way kernel include files are installed. In the new method,
as with user-land programs, include files are installed by each directory
in the tree that has includes to install. (This allows more flexibility
as to what gets installed, makes 'partial installs' easier, and gives us
more options as to which machines' includes get installed at any given
time.) The old SYS_INCLUDES={symlinks,copies} behaviours are _both_
still supported, though at least one bug in the 'symlinks' case is
fixed by this change. Include files can't be build before installation,
so directories that have includes as targets (e.g. dev/pci) have to move
those targets into a different Makefile.
 1.5.8.1 27-Dec-1999  wrstuden Pull up to last week's -current.
 1.5.4.1 15-Nov-1999  fvdl Sync with -current
 1.15.2.1 22-Jun-2000  minoura Sync w/ netbsd-1-5-base.
 1.17.4.1 21-Jun-2001  nathanw Catch up to -current.
 1.17.2.3 21-Apr-2001  bouyer Sync with HEAD
 1.17.2.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.17.2.1 26-Jun-2000  bouyer file Makefile was added on branch thorpej_scsipi on 2000-11-20 20:00:34 +0000
 1.21.16.1 30-Aug-2002  gehenna catch up with -current.
 1.21.8.4 11-Dec-2002  thorpej Sync with HEAD.
 1.21.8.3 13-Aug-2002  nathanw Catch up to -current.
 1.21.8.2 17-Nov-2001  wdk mcontext support for MIPS based ports.
 1.21.8.1 15-Apr-2001  wdk file Makefile was added on branch nathanw_sa on 2001-11-17 23:12:06 +0000
 1.21.2.1 06-Sep-2002  jdolecek sync kqueue branch with HEAD
 1.24.2.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.24.2.2 18-Sep-2004  skrll Sync with HEAD.
 1.24.2.1 03-Aug-2004  skrll Sync with HEAD
 1.25.12.2 26-Feb-2007  yamt sync with head.
 1.25.12.1 30-Dec-2006  yamt sync with head.
 1.26.16.1 13-Jul-2006  gdamore Merge from HEAD.
 1.26.8.1 11-Aug-2006  yamt sync with head
 1.26.4.1 09-Sep-2006  rpaulo sync with head
 1.28.4.1 01-Feb-2007  ad Header file cleanup.
 1.29.48.1 19-Aug-2009  yamt sync with head.
 1.31.30.1 27-Dec-2015  skrll Sync with HEAD (as of 26th Dec)
 1.31.12.1 03-Dec-2017  jdolecek update from HEAD
 1.32.18.1 10-Jun-2019  christos Sync with HEAD
 1.32.16.1 28-Jul-2018  pgoyette Sync with HEAD
 1.33.36.1 02-Aug-2025  perseant Sync with HEAD
 1.7 04-Sep-2001  simonb branches: 1.7.6;
Remove some more useless RCS ids.
 1.6 22-Feb-2000  soda branches: 1.6.6; 1.6.10;
merge changes between OpenBSD-2.1 and OpenBSD-2.6
 1.5 23-Jan-2000  soda merge to NetBSD-current (DeskStation and Algor support is currently broken)
 1.4 23-Jan-2000  soda Moved from /cvsroot/syssrc/sys/arch/pica/include/ansi.h,v
 1.3 23-Mar-1996  jonathan Replace the following header files from src/sys/arch/pica/include/
with versions that include equivalent files from <mips/include>.
(cvs magic copied the previous revisions, with history, to
src/sys/arch/mips/include).

ansi.h bsd-aout.h cdefs.h ecoff.h elf.h endian.h exec.h float.h ieeefp.h
kdbparam.h limits.h pcb.h pmap.h proc.h profile.h ptrace.h reg.h regdef.h
regnum.h reloc.h setjmp.h signal.h stdarg.h types.h varargs.h vmparam.h

NB: Some files (e.g., limits.h reloc.h pmap.h) add pica-specific #defines
to the generic mips support.
 1.2 16-Mar-1996  jtc Add _BSD_WINT_T_ definition so we can handle wint_t type added in NA1.
 1.1 13-Mar-1996  jonathan branches: 1.1.1;
Initial revision
 1.1.1.3 22-Feb-2000  soda OpenBSD-2.6/arc
 1.1.1.2 23-Jan-2000  soda OpenBSD-2.1/arc
 1.1.1.1 13-Mar-1996  jonathan First commit of Per Fogelstrom's port to the Acer pica r4400/isa machine.
 1.6.10.1 13-Sep-2001  thorpej Update the kqueue branch to HEAD.
 1.6.6.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.6.6.1 22-Feb-2000  bouyer file ansi.h was added on branch thorpej_scsipi on 2000-11-20 20:00:34 +0000
 1.7.6.2 04-Sep-2001  simonb Remove some more useless RCS ids.
 1.7.6.1 04-Sep-2001  simonb file ansi.h was added on branch nathanw_sa on 2001-09-04 07:12:29 +0000
 1.6 12-Aug-2009  matt Nuke a.out support for MIPS.
 1.5 23-Jan-2000  soda branches: 1.5.6; 1.5.136; 1.5.150;
merge to NetBSD-current (DeskStation and Algor support is currently broken)
 1.4 23-Jan-2000  soda Moved from /cvsroot/syssrc/sys/arch/pica/include/aout_machdep.h,v
 1.3 08-Oct-1996  cgd repoint at shared aout_machdep.h, not exec.h
 1.2 23-Mar-1996  jonathan Replace the following header files from src/sys/arch/pica/include/
with versions that include equivalent files from <mips/include>.
(cvs magic copied the previous revisions, with history, to
src/sys/arch/mips/include).

ansi.h bsd-aout.h cdefs.h ecoff.h elf.h endian.h exec.h float.h ieeefp.h
kdbparam.h limits.h pcb.h pmap.h proc.h profile.h ptrace.h reg.h regdef.h
regnum.h reloc.h setjmp.h signal.h stdarg.h types.h varargs.h vmparam.h

NB: Some files (e.g., limits.h reloc.h pmap.h) add pica-specific #defines
to the generic mips support.
 1.1 13-Mar-1996  jonathan branches: 1.1.1;
Initial revision
 1.1.1.1 13-Mar-1996  jonathan First commit of Per Fogelstrom's port to the Acer pica r4400/isa machine.
 1.5.150.1 24-Oct-2010  jym Sync with HEAD
 1.5.136.1 19-Aug-2009  yamt sync with head.
 1.5.6.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.5.6.1 23-Jan-2000  bouyer file aout_machdep.h was added on branch thorpej_scsipi on 2000-11-20 20:00:34 +0000
 1.8 23-Jan-2000  soda branches: 1.8.6;
merge to NetBSD-current (DeskStation and Algor support is currently broken)
 1.7 23-Jan-2000  soda Moved from /cvsroot/syssrc/sys/arch/pica/include/asm.h,v
 1.6 23-Jun-1997  jonathan Delete entire contents, just #include <mips/asm.h>
 1.5 30-Nov-1996  jtc PROF -> GPROF
 1.4 13-Oct-1996  christos backout previous kprintf change
 1.3 10-Oct-1996  christos printf -> kprintf, sprintf -> ksprintf
 1.2 16-Jul-1996  thorpej RCS id police.
 1.1 13-Mar-1996  jonathan branches: 1.1.1;
Initial revision
 1.1.1.3 22-Feb-2000  soda OpenBSD-2.6/arc
 1.1.1.2 23-Jan-2000  soda OpenBSD-2.1/arc
 1.1.1.1 13-Mar-1996  jonathan First commit of Per Fogelstrom's port to the Acer pica r4400/isa machine.
 1.8.6.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.8.6.1 23-Jan-2000  bouyer file asm.h was added on branch thorpej_scsipi on 2000-11-20 20:00:34 +0000
 1.14 06-Mar-2011  tsutsui Remove trailing spaces.
 1.13 25-Jun-2006  tsutsui branches: 1.13.84; 1.13.90;
Remove unused struct abus stuff.
 1.12 11-Dec-2005  christos branches: 1.12.4; 1.12.8; 1.12.16;
merge ktrace-lwp.
 1.11 09-Jun-2005  he branches: 1.11.2;
Appease -Wcast-qual by adding consts in appropriate places.
 1.10 03-Jun-2005  tsutsui Add a const.
 1.9 22-Jan-2005  tsutsui - remove __P()
- use ANSI function decls
- u_intNN_t -> uintNN_t
- some KNF
 1.8 22-Mar-2003  simonb branches: 1.8.2; 1.8.10;
Fix a grammatical nit.
 1.7 13-Jun-2001  soda branches: 1.7.8;
remove algor related codes, because there is independent (and working!)
algor port now.
 1.6 23-Jan-2000  soda branches: 1.6.6; 1.6.8;
merge to NetBSD-current (DeskStation and Algor support is currently broken)
 1.5 23-Jan-2000  soda Moved from /cvsroot/syssrc/sys/arch/pica/include/autoconf.h,v
 1.4 06-Oct-1998  thorpej configure() prototype is in <sys/device.h>
 1.3 23-Jun-1997  jonathan Apply sys/arch/mips changes (MACH_ -> MIPS_ or MIPS3_) changes to Pica port.
PICA Kernel compiles with warnings and links, otherwise untested.
 1.2 22-Jun-1997  jonathan Protoypes for configure(), initcpu().
 1.1 13-Mar-1996  jonathan branches: 1.1.1;
Initial revision
 1.1.1.2 23-Jan-2000  soda OpenBSD-2.1/arc
 1.1.1.1 13-Mar-1996  jonathan First commit of Per Fogelstrom's port to the Acer pica r4400/isa machine.
 1.6.8.1 21-Jun-2001  nathanw Catch up to -current.
 1.6.6.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.6.6.1 23-Jan-2000  bouyer file autoconf.h was added on branch thorpej_scsipi on 2000-11-20 20:00:34 +0000
 1.7.8.2 13-Jun-2001  soda remove algor related codes, because there is independent (and working!)
algor port now.
 1.7.8.1 13-Jun-2001  soda file autoconf.h was added on branch nathanw_sa on 2001-06-13 14:58:44 +0000
 1.8.10.1 29-Apr-2005  kent sync with -current
 1.8.2.2 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.8.2.1 24-Jan-2005  skrll Sync with HEAD.
 1.11.2.1 30-Dec-2006  yamt sync with head.
 1.12.16.1 13-Jul-2006  gdamore Merge from HEAD.
 1.12.8.1 26-Jun-2006  yamt sync with head.
 1.12.4.1 09-Sep-2006  rpaulo sync with head
 1.13.90.1 06-Jun-2011  jruoho Sync with HEAD.
 1.13.84.1 21-Apr-2011  rmind sync with head
 1.3 22-Jul-2006  tsutsui - reorganize bootinfo structures and fix bootinfo handling in bootloader
(mostly based on pmax)
- pass symbol info from bootloader to kernel via bootinfo
(currently bootinfo is allocated in the bootloader and
copied by kernel later; maybe we should rethink about this)
- use passed bootinfo to initialize ksyms(4) in kernel
- remove options SYMTAB_SPACE from kernel config files
- bump bootloader version
 1.2 11-Dec-2005  christos branches: 1.2.4; 1.2.8;
merge ktrace-lwp.
 1.1 18-Apr-2005  tsutsui branches: 1.1.2; 1.1.4; 1.1.10;
Add a long-awaited standalone boot program for arc port to load
ELF kernels instead of booting ECOFF kernels directly by ARCBIOS.
Tested on my NEC-J96A and NEC-JC94, and ok'ed by soda.

XXX: Maybe we should share some of these sources with sgimips
XXX: (in sys/dev/arcbios/stand?)
 1.1.10.2 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.1.10.1 18-Apr-2005  skrll file bootinfo.h was added on branch ktrace-lwp on 2005-11-10 13:55:09 +0000
 1.1.4.1 30-Dec-2006  yamt sync with head.
 1.1.2.2 29-Apr-2005  kent sync with -current
 1.1.2.1 18-Apr-2005  kent file bootinfo.h was added on branch kent-audio2 on 2005-04-29 11:28:01 +0000
 1.2.8.1 11-Aug-2006  yamt sync with head
 1.2.4.1 09-Sep-2006  rpaulo sync with head
 1.6 12-Aug-2009  matt Nuke a.out support for MIPS.
 1.5 04-Sep-2001  simonb branches: 1.5.6; 1.5.128; 1.5.142;
Remove comment duplicated in <mips/bsd-aout.h>.
 1.4 23-Jan-2000  soda branches: 1.4.6; 1.4.10;
merge to NetBSD-current (DeskStation and Algor support is currently broken)
 1.3 23-Jan-2000  soda Moved from /cvsroot/syssrc/sys/arch/pica/include/bsd-aout.h,v
 1.2 23-Mar-1996  jonathan Replace the following header files from src/sys/arch/pica/include/
with versions that include equivalent files from <mips/include>.
(cvs magic copied the previous revisions, with history, to
src/sys/arch/mips/include).

ansi.h bsd-aout.h cdefs.h ecoff.h elf.h endian.h exec.h float.h ieeefp.h
kdbparam.h limits.h pcb.h pmap.h proc.h profile.h ptrace.h reg.h regdef.h
regnum.h reloc.h setjmp.h signal.h stdarg.h types.h varargs.h vmparam.h

NB: Some files (e.g., limits.h reloc.h pmap.h) add pica-specific #defines
to the generic mips support.
 1.1 13-Mar-1996  jonathan branches: 1.1.1;
Initial revision
 1.1.1.1 13-Mar-1996  jonathan First commit of Per Fogelstrom's port to the Acer pica r4400/isa machine.
 1.4.10.1 13-Sep-2001  thorpej Update the kqueue branch to HEAD.
 1.4.6.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.4.6.1 23-Jan-2000  bouyer file bsd-aout.h was added on branch thorpej_scsipi on 2000-11-20 20:00:34 +0000
 1.5.142.1 24-Oct-2010  jym Sync with HEAD
 1.5.128.1 19-Aug-2009  yamt sync with head.
 1.5.6.2 04-Sep-2001  simonb Remove comment duplicated in <mips/bsd-aout.h>.
 1.5.6.1 04-Sep-2001  simonb file bsd-aout.h was added on branch nathanw_sa on 2001-09-04 07:36:12 +0000
 1.3 23-Jan-2000  soda branches: 1.3.6;
merge to NetBSD-current (DeskStation and Algor support is currently broken)
 1.2 23-Jan-2000  soda Moved from /cvsroot/syssrc/sys/arch/pica/include/bswap.h,v
 1.1 15-Jan-1999  bouyer Move the bswap functions from libutil to libc (this bups the
minor of libc and the major of libutil). For little-endian architectures
merge the bnswap() assembly versions with nto* and hton* using symbols
aliasing. Use symbol renaming for the bswap function in this case to avoid
namespace pollution.
Declare bswap* in machine/bswap.h, not machine/endian.h. For little-endian
machines, common code for inline macros go in machine/byte_swap.h
Sync libkern with libc.
Adjust #include in kernel sources for machine/bswap.h.
 1.3.6.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.3.6.1 23-Jan-2000  bouyer file bswap.h was added on branch thorpej_scsipi on 2000-11-20 20:00:34 +0000
 1.27 17-Jul-2011  dyoung Switch MIPS and MIPS-ish architectures to new-style <sys/bus.h>. This
involves moving some inline bus_space(9) implementation into .c files.
 1.26 28-Apr-2008  martin Remove clause 3 and 4 from TNF licenses
 1.25 04-Mar-2007  christos branches: 1.25.40; 1.25.42; 1.25.44;
Kill caddr_t; there will be some MI fallout, but it will be fixed shortly.
 1.24 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.23 26-May-2006  tsutsui branches: 1.23.12;
Tweak bus_space_barrier(9) macro to appease
"left-hand operand of comma expression has no effect"
warnings by gcc4.
 1.22 01-Mar-2006  yamt branches: 1.22.2; 1.22.8;
merge yamt-uio_vmspace branch.

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

As per core@.
 1.20 24-Dec-2005  perry branches: 1.20.2; 1.20.4; 1.20.6;
Remove leading __ from __(const|inline|signed|volatile) -- it is obsolete.
 1.19 11-Dec-2005  christos merge ktrace-lwp.
 1.18 09-Mar-2005  matt branches: 1.18.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.17 22-Jan-2005  tsutsui branches: 1.17.2;
- remove __P()
- use ANSI function decls
- u_intNN_t -> uintNN_t
- some KNF
 1.16 15-Jun-2003  fvdl branches: 1.16.2; 1.16.10;
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.15 28-Jan-2003  kent Introduce BUS_DMA_NOCACHE, and bus_dmamem_map() of i386 supports it.
 1.14 17-Mar-2002  simonb Make sure that private DMA flags don't overlap with standard DMA flags;
start these at 0x10000 to leave room for an increase in the latter.
 1.13 14-Nov-2001  thorpej branches: 1.13.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.12 04-Sep-2001  thorpej branches: 1.12.4;
Implement bus_space_mmap().
 1.11 19-Jul-2001  thorpej Add BUS_DMA_READ and BUS_DMA_WRITE flags, that hint the back-end
at dmamap load time that the mapping will be used for a unidirectional
transfer of the specified direction.
 1.10 07-Mar-2001  thorpej branches: 1.10.2;
Add the BUS_DMA_STREAMING flag.
 1.9 26-Jun-2000  simonb branches: 1.9.2; 1.9.4;
Change the kernel mmap interface so that the offset to map is an
"off_t" and the return value is a "paddr_t" to allow mappings
at offsets past 2^31 bytes. Somewhat inspired by FreeBSD, which
only changed the offset to a "vm_offset_t".

Includes updates for the i386, pc532 and sh3 mmmmap from Jason Thorpe.
 1.8 20-Jun-2000  soda branches: 1.8.2;
for DeskStation RPC44
 1.7 09-Jun-2000  soda bus_space/bus_dma implementation for arc port, based on i386 port, pmax port,
hpcmips port, and the version contributed by Shuichiro URATA <ur@a-r.org>.
 1.6 22-Feb-2000  soda branches: 1.6.2;
merge changes between OpenBSD-2.1 and OpenBSD-2.6
 1.5 23-Jan-2000  soda merge to NetBSD-current (DeskStation and Algor support is currently broken)
 1.4 23-Jan-2000  soda Moved from /cvsroot/syssrc/sys/arch/pica/include/bus.h,v
 1.3 23-Jun-1997  jonathan *** empty log message ***
 1.2 23-Jun-1997  jonathan Copyright police.
 1.1 27-Mar-1996  jonathan branches: 1.1.1;
minial subset of bus.h, from CGD's description:

bus memory and I/O space access functions/macros, to be used by
machine-independent code for more sane access to bus resources.
New functions will be added to this set, in the future, as appropriate,
but this is a good starting set. Defines:
bus_{io,mem}_{map,unmap}
bus_{io,mem}_{read,write}_{1,2,4,8}
functions, and several types to go with them.
 1.1.1.2 22-Feb-2000  soda OpenBSD-2.6/arc
 1.1.1.1 23-Jan-2000  soda OpenBSD-2.1/arc
 1.6.2.1 22-Jun-2000  minoura Sync w/ netbsd-1-5-base.
 1.8.2.2 30-Jun-2000  simonb Pull up mmap paddr_t/off_t changes from trunk.
 1.8.2.1 20-Jun-2000  simonb file bus.h was added on branch netbsd-1-5 on 2000-06-30 16:27:16 +0000
 1.9.4.1 09-Apr-2001  nathanw Catch up with -current.
 1.9.2.3 12-Mar-2001  bouyer Sync with HEAD.
 1.9.2.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.9.2.1 26-Jun-2000  bouyer file bus.h was added on branch thorpej_scsipi on 2000-11-20 20:00:34 +0000
 1.10.2.4 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.10.2.3 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.10.2.2 13-Sep-2001  thorpej Update the kqueue branch to HEAD.
 1.10.2.1 03-Aug-2001  lukem update to -current
 1.12.4.1 24-Oct-2001  thorpej Update for the new cache code. bus_dmamap_sync is now optimized
for a virtually-indexed, write-back cache.
 1.13.2.2 01-Apr-2002  nathanw Catch up to -current.
(CVS: It's not just a program. It's an adventure!)
 1.13.2.1 14-Nov-2001  nathanw file bus.h was added on branch nathanw_sa on 2002-04-01 07:39:05 +0000
 1.16.10.1 29-Apr-2005  kent sync with -current
 1.16.2.2 01-Apr-2005  skrll Sync with HEAD.
 1.16.2.1 24-Jan-2005  skrll Sync with HEAD.
 1.17.2.1 19-Mar-2005  yamt sync with head. xen and whitespace. xen part is not finished.
 1.18.4.3 03-Sep-2007  yamt sync with head.
 1.18.4.2 26-Feb-2007  yamt sync with head.
 1.18.4.1 21-Jun-2006  yamt sync with head.
 1.20.6.2 01-Jun-2006  kardel Sync with head.
 1.20.6.1 22-Apr-2006  simonb Sync with head.
 1.20.4.1 09-Sep-2006  rpaulo sync with head
 1.20.2.2 18-Feb-2006  yamt sync with head.
 1.20.2.1 18-Feb-2006  yamt keep vmspace rather than proc in arc_bus_dmamap.
 1.22.8.1 19-Jun-2006  chap Sync with head.
 1.22.2.1 26-Jun-2006  yamt sync with head.
 1.23.12.2 12-Mar-2007  rmind Sync with HEAD.
 1.23.12.1 27-Feb-2007  yamt - sync with head.
- move sched_changepri back to kern_synch.c as it doesn't know PPQ anymore.
 1.25.44.1 16-May-2008  yamt sync with head.
 1.25.42.1 18-May-2008  yamt sync with head.
 1.25.40.1 02-Jun-2008  mjf Sync with HEAD.
 1.3 07-Dec-2023  thorpej extent(9) -> vmem(9)
 1.2 23-Sep-2019  skrll Provide PRIxBUSADDR, PRIxBUSSIZE, PRIuBUSSIZE, and PRIxBSH for all arches
to follow arm and (generic) mips.

Reviewed by christos.
 1.1 01-Jul-2011  dyoung branches: 1.1.54;
Per discussion at
<http://mail-index.netbsd.org/tech-kern/2010/04/02/msg007941.html>,
divide each machine's bus.h into bus_defs.h (constants & data types)
and bus_funcs.h (macro implementations of bus_space(9) routines and MD
prototypes).

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

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

These #include files are not referenced by any (committed) Makefiles or
header files, yet. Changes to Makefiles, to <sys/bus.h>, and to some
more machine-dependent files will dribble in before I throw the switch.
 1.1.54.1 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.3 07-Dec-2023  thorpej extent(9) -> vmem(9)
 1.2 23-Apr-2021  skrll Use sys/cdefs.h __CONCAT3
 1.1 01-Jul-2011  dyoung Per discussion at
<http://mail-index.netbsd.org/tech-kern/2010/04/02/msg007941.html>,
divide each machine's bus.h into bus_defs.h (constants & data types)
and bus_funcs.h (macro implementations of bus_space(9) routines and MD
prototypes).

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

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

These #include files are not referenced by any (committed) Makefiles or
header files, yet. Changes to Makefiles, to <sys/bus.h>, and to some
more machine-dependent files will dribble in before I throw the switch.
 1.6 04-Sep-2001  simonb branches: 1.6.6;
Remove some more useless RCS ids.
 1.5 22-Feb-2000  soda branches: 1.5.6; 1.5.10;
merge changes between OpenBSD-2.1 and OpenBSD-2.6
 1.4 23-Jan-2000  soda merge to NetBSD-current (DeskStation and Algor support is currently broken)
 1.3 23-Jan-2000  soda Moved from /cvsroot/syssrc/sys/arch/pica/include/cdefs.h,v
 1.2 23-Mar-1996  jonathan Replace the following header files from src/sys/arch/pica/include/
with versions that include equivalent files from <mips/include>.
(cvs magic copied the previous revisions, with history, to
src/sys/arch/mips/include).

ansi.h bsd-aout.h cdefs.h ecoff.h elf.h endian.h exec.h float.h ieeefp.h
kdbparam.h limits.h pcb.h pmap.h proc.h profile.h ptrace.h reg.h regdef.h
regnum.h reloc.h setjmp.h signal.h stdarg.h types.h varargs.h vmparam.h

NB: Some files (e.g., limits.h reloc.h pmap.h) add pica-specific #defines
to the generic mips support.
 1.1 13-Mar-1996  jonathan branches: 1.1.1;
Initial revision
 1.1.1.3 22-Feb-2000  soda OpenBSD-2.6/arc
 1.1.1.2 23-Jan-2000  soda OpenBSD-2.1/arc
 1.1.1.1 13-Mar-1996  jonathan First commit of Per Fogelstrom's port to the Acer pica r4400/isa machine.
 1.5.10.1 13-Sep-2001  thorpej Update the kqueue branch to HEAD.
 1.5.6.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.5.6.1 22-Feb-2000  bouyer file cdefs.h was added on branch thorpej_scsipi on 2000-11-20 20:00:35 +0000
 1.6.6.2 04-Sep-2001  simonb Remove some more useless RCS ids.
 1.6.6.1 04-Sep-2001  simonb file cdefs.h was added on branch nathanw_sa on 2001-09-04 07:12:29 +0000
 1.21 15-Nov-2005  tsutsui Remove MIPS_INT_MASK_CLOCK and INT_MASK_REAL_DEV macro and
use MIPS_INT_MASK_5 and MIPS3_HARD_INT_MASK directly.
They were not used since interrupt service function was
moved from MI mips/trap.c to MD part long ago.
 1.20 15-Nov-2005  tsutsui Remove COPY_SIGCODE definition, which is not used anywhere.
 1.19 05-Nov-2005  tsutsui branches: 1.19.2;
Adapt arc port to the new MI mips3 wired map functions.
Tested on NEC-RD94 with several PCI and jazzio devices.
 1.18 22-Jan-2005  tsutsui branches: 1.18.8;
- remove __P()
- use ANSI function decls
- u_intNN_t -> uintNN_t
- some KNF
 1.17 04-Sep-2001  simonb branches: 1.17.6; 1.17.22; 1.17.30;
Centralise struct cpu_info declaration and related info to <mips/cpu.h>.
 1.16 30-May-2001  mrg branches: 1.16.2;
use _KERNEL_OPT
 1.15 26-May-2000  thorpej branches: 1.15.6; 1.15.8;
First sweep at scheduler state cleanup. Collect MI scheduler
state into global and per-CPU scheduler state:

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

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

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

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

Tested on i386 and Alpha. Changes are mostly mechanical, but apologies
in advance if it doesn't compile on a particular platform.
 1.14 09-May-2000  soda back out previous changes as stopgap.
arc port still relies on MIPS_INT_MASK_CLOCK and INT_MASK_REAL_DEV.
(cpu_intr() of arc port should be rewritten completely, but not yet.)
 1.13 05-May-2000  soren MIPS_INT_MASK_CLOCK and INT_MASK_REAL_DEV are deprecated.
 1.12 15-Apr-2000  soda remove following symbols which became unnecessary in recent cpu_intr() change:
mips_hardware_intr
MIPS3_INTERNAL_TIMER_INTERRUPT
mips3_intr_cycle_count
mips3_timer_delta
 1.11 30-Mar-2000  soren machine/cpu.h includes mips/cpuregs.h.
 1.10 24-Mar-2000  soren Revert previous.
 1.9 24-Mar-2000  soren Move sysctl definitions from arch/mips to arch/foo.
 1.8 22-Feb-2000  soda merge changes between OpenBSD-2.1 and OpenBSD-2.6
 1.7 23-Jan-2000  soda merge to NetBSD-current (DeskStation and Algor support is currently broken)
 1.6 23-Jan-2000  soda Moved from /cvsroot/syssrc/sys/arch/pica/include/cpu.h,v
 1.5 16-Jun-1997  jonathan Yet more merging:
* Move declaration of locore communcation variables (CPU family,
cache sizes, etc) to mips/include/locore.h. Delete from
pmax/include/cpu.h and older versions from pica/include/cpu.h.

* Move definitions of CLKF_BASEPRI, CLKF_USERMODE to mips/include/cpu.
* Delete duplicate definitions in pica/include/cpu.h, pmax/include/cpu.h.
 1.4 11-Aug-1996  jonathan * Apply LOCORE -> _LOCORE change so locore.S doesn't #include struct
definitions.

* Include <mips/cpuregs.h> in <cpu.h> so kern_clock.c has user/kernel
status bits in scope. Still needs work; r2k/r4k previous-mode bits
are different.

* Include <mips/mips_param.h> in pica/include/param.h, for locore declarations,
and definitions of vm and other constants that should be shared across
NetBSD/mips systems to esnsure user-level binary compatibility.
 1.3 31-Mar-1996  jonathan fix "#define #define CLKF_USERMODE" typo.
 1.2 24-Mar-1996  jonathan Replace pica and pmax include/cpu.h with versions that #include <mips/cpu.h>,
and add port-specific and r3k vs. r4k definitions.
 1.1 13-Mar-1996  jonathan branches: 1.1.1;
Initial revision
 1.1.1.3 22-Feb-2000  soda OpenBSD-2.6/arc
 1.1.1.2 23-Jan-2000  soda OpenBSD-2.1/arc
 1.1.1.1 13-Mar-1996  jonathan First commit of Per Fogelstrom's port to the Acer pica r4400/isa machine.
 1.15.8.1 21-Jun-2001  nathanw Catch up to -current.
 1.15.6.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.15.6.1 26-May-2000  bouyer file cpu.h was added on branch thorpej_scsipi on 2000-11-20 20:00:35 +0000
 1.16.2.1 13-Sep-2001  thorpej Update the kqueue branch to HEAD.
 1.17.30.1 29-Apr-2005  kent sync with -current
 1.17.22.3 11-Dec-2005  christos Sync with head.
 1.17.22.2 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.17.22.1 24-Jan-2005  skrll Sync with HEAD.
 1.17.6.2 04-Sep-2001  simonb Centralise struct cpu_info declaration and related info to <mips/cpu.h>.
 1.17.6.1 04-Sep-2001  simonb file cpu.h was added on branch nathanw_sa on 2001-09-04 06:19:23 +0000
 1.18.8.1 21-Jun-2006  yamt sync with head.
 1.19.2.1 22-Nov-2005  yamt sync with head.
 1.1 05-Feb-2003  nakayama Replace machine/rnd.h with more appropriate name to share it
with cycle counter based microtime in kern/kern_microtime.c.
 1.2 30-Mar-2000  soren machine/cpu.h includes mips/cpuregs.h.
 1.1 23-Jan-2000  soda merge to NetBSD-current (DeskStation and Algor support is currently broken)
 1.5 09-Jul-2011  matt Default to DB_ELF_SYMBOLS and DB_ELFSIZE 32
 1.4 04-Sep-2001  simonb branches: 1.4.6;
Standardise the format of MIPS' <machine/db_machdep.h>.
 1.3 04-Sep-2001  simonb Remove some more useless RCS ids.
 1.2 22-Feb-2000  soda branches: 1.2.6; 1.2.10;
merge changes between OpenBSD-2.1 and OpenBSD-2.6
 1.1 22-Feb-2000  soda branches: 1.1.1;
Initial revision
 1.1.1.1 22-Feb-2000  soda OpenBSD-2.6/arc
 1.2.10.1 13-Sep-2001  thorpej Update the kqueue branch to HEAD.
 1.2.6.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.2.6.1 22-Feb-2000  bouyer file db_machdep.h was added on branch thorpej_scsipi on 2000-11-20 20:00:35 +0000
 1.4.6.2 04-Sep-2001  simonb Standardise the format of MIPS' <machine/db_machdep.h>.
 1.4.6.1 04-Sep-2001  simonb file db_machdep.h was added on branch nathanw_sa on 2001-09-04 07:43:30 +0000
 1.13 15-Jun-2020  tsutsui Drop compat support for OpenBSD/arc disks.

Note OpenBSD/arc was discontinued after 1998.
Tested on GXemul and ok'ed by soda@.
 1.12 16-May-2013  christos Complete the dosparts -> mbrparts conversion. Only x86k new uses dosparts
because it also uses struct dos_partition.
 1.11 30-Aug-2011  bouyer branches: 1.11.2; 1.11.12;
Add getlabelusesmbr(), as proposed in
http://mail-index.netbsd.org/tech-userlevel/2011/08/25/msg005404.html
This is used by disk tools such as disklabel(8) to dynamically decide is
the undelyling platform uses a disklabel-in-mbr-partition or not
(instead of using a compile-time list of ports).
getlabelusesmbr() reads the sysctl kern.labelusesmbr, takes its value from the
machdep #define LABELUSESMBR.
For evbmips, make LABELUSESMBR 1 if the platform uses pmon
as bootloader, and 0 (the previous value) otherwise.
 1.10 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.9 11-Dec-2005  christos branches: 1.9.78;
merge ktrace-lwp.
 1.8 12-Jun-2005  dyoung Make disklabel(8) and fdisk(8) into "host tools " last step: build
and install ${TOOLDIR}/bin/${MACHINE_GNU_PLATFORM}-disklabel,
${TOOLDIR}/bin/${MACHINE_GNU_PLATFORM}-fdisk by "reaching over" to
the sources in ${NETBSDSRCDIR}/sbin/{disklabel fdisk}/.

To avoid clashes with a build-host's header files, especially on
*BSD, the host-tools versions of fdisk and disklabel search for
#includes such as disklabel.h, disklabel_acorn.h, disklabel_gpt.h,
and bootinfo.h in a new #includes namespace, nbinclude/. That is,
they #include <nbinclude/sys/disklabel.h>, <nbinclude/machine/disklabel.h>,
<nbinclude/sparc64/disklabel.h>, instead of <sys/disklabel.h> and
such. I have also updated the system headers to #include from
nbinclude/-space when HAVE_NBTOOL_CONFIG_H is #defined.
 1.7 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.6 10-May-2003  thorpej branches: 1.6.2;
Remove redundant bounds_check_with_label() prototype.
 1.5 22-Feb-2000  soda branches: 1.5.6;
merge changes between OpenBSD-2.1 and OpenBSD-2.6
 1.4 23-Jan-2000  soda merge to NetBSD-current (DeskStation and Algor support is currently broken)
 1.3 23-Jan-2000  soda Moved from /cvsroot/syssrc/sys/arch/pica/include/disklabel.h,v
 1.2 07-Jul-1998  thorpej Use fixed-size types.
 1.1 13-Mar-1996  jonathan branches: 1.1.1;
Initial revision
 1.1.1.3 22-Feb-2000  soda OpenBSD-2.6/arc
 1.1.1.2 23-Jan-2000  soda OpenBSD-2.1/arc
 1.1.1.1 13-Mar-1996  jonathan First commit of Per Fogelstrom's port to the Acer pica r4400/isa machine.
 1.5.6.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.5.6.1 22-Feb-2000  bouyer file disklabel.h was added on branch thorpej_scsipi on 2000-11-20 20:00:35 +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.9.78.1 11-Mar-2010  yamt sync with head
 1.11.12.1 23-Jun-2013  tls resync from head
 1.11.2.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 01-Jul-2006  tsutsui Remove obsolete display.h.
 1.4 23-Jan-2000  soda branches: 1.4.6; 1.4.46; 1.4.60; 1.4.64; 1.4.72;
merge to NetBSD-current (DeskStation and Algor support is currently broken)
 1.3 23-Jan-2000  soda Moved from /cvsroot/syssrc/sys/arch/pica/include/display.h,v
 1.2 16-Jul-1996  thorpej RCS id police.
 1.1 13-Mar-1996  jonathan branches: 1.1.1;
Initial revision
 1.1.1.2 23-Jan-2000  soda OpenBSD-2.1/arc
 1.1.1.1 13-Mar-1996  jonathan First commit of Per Fogelstrom's port to the Acer pica r4400/isa machine.
 1.4.72.1 13-Jul-2006  gdamore Merge from HEAD.
 1.4.64.1 11-Aug-2006  yamt sync with head
 1.4.60.1 09-Sep-2006  rpaulo sync with head
 1.4.46.1 30-Dec-2006  yamt sync with head.
 1.4.6.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.4.6.1 23-Jan-2000  bouyer file display.h was added on branch thorpej_scsipi on 2000-11-20 20:00:35 +0000
 1.2 23-Jan-2000  soda merge to NetBSD-current (DeskStation and Algor support is currently broken)
 1.1 23-Jan-2000  soda branches: 1.1.1;
Initial revision
 1.1.1.2 22-Feb-2000  soda OpenBSD-2.6/arc
 1.1.1.1 23-Jan-2000  soda OpenBSD-2.1/arc
 1.2 23-Jan-2000  soda merge to NetBSD-current (DeskStation and Algor support is currently broken)
 1.1 23-Jan-2000  soda branches: 1.1.1;
Initial revision
 1.1.1.2 22-Feb-2000  soda OpenBSD-2.6/arc
 1.1.1.1 23-Jan-2000  soda OpenBSD-2.1/arc
 1.6 04-Sep-2001  simonb branches: 1.6.6;
Remove unneeded RCS header.
 1.5 23-Jan-2000  soda branches: 1.5.6; 1.5.10;
merge to NetBSD-current (DeskStation and Algor support is currently broken)
 1.4 23-Jan-2000  soda Moved from /cvsroot/syssrc/sys/arch/pica/include/ecoff_machdep.h,v
 1.3 26-Sep-1996  cgd since these just included mips/ecoff.h, they need to be changed to include
mips/ecoff_machdep.h.
 1.2 23-Mar-1996  jonathan Replace the following header files from src/sys/arch/pica/include/
with versions that include equivalent files from <mips/include>.
(cvs magic copied the previous revisions, with history, to
src/sys/arch/mips/include).

ansi.h bsd-aout.h cdefs.h ecoff.h elf.h endian.h exec.h float.h ieeefp.h
kdbparam.h limits.h pcb.h pmap.h proc.h profile.h ptrace.h reg.h regdef.h
regnum.h reloc.h setjmp.h signal.h stdarg.h types.h varargs.h vmparam.h

NB: Some files (e.g., limits.h reloc.h pmap.h) add pica-specific #defines
to the generic mips support.
 1.1 13-Mar-1996  jonathan branches: 1.1.1;
Initial revision
 1.1.1.1 13-Mar-1996  jonathan First commit of Per Fogelstrom's port to the Acer pica r4400/isa machine.
 1.5.10.1 13-Sep-2001  thorpej Update the kqueue branch to HEAD.
 1.5.6.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.5.6.1 23-Jan-2000  bouyer file ecoff_machdep.h was added on branch thorpej_scsipi on 2000-11-20 20:00:35 +0000
 1.6.6.2 04-Sep-2001  simonb Remove unneeded RCS header.
 1.6.6.1 04-Sep-2001  simonb file ecoff_machdep.h was added on branch nathanw_sa on 2001-09-04 06:24:55 +0000
 1.2 23-Jan-2000  soda merge to NetBSD-current (DeskStation and Algor support is currently broken)
 1.1 23-Jan-2000  soda branches: 1.1.1;
Initial revision
 1.1.1.2 22-Feb-2000  soda OpenBSD-2.6/arc
 1.1.1.1 23-Jan-2000  soda OpenBSD-2.1/arc
 1.5 16-Dec-2009  matt Fix various build with the 32bit mips ports after the mips64 merge.
 1.4 31-Jan-2000  soda branches: 1.4.6; 1.4.136; 1.4.154;
ELF*_MACHDEP_ENDIANNESS was undefined.
 1.3 23-Jan-2000  soda merge to NetBSD-current (DeskStation and Algor support is currently broken)
 1.2 23-Jan-2000  soda Moved from /cvsroot/syssrc/sys/arch/pica/include/elf_machdep.h,v
 1.1 26-Sep-1996  cgd add and use a machine-dependent header, which currently defines some
macros to use to remove #ifdefs from the machine ID case check.
Eventually, these headers will contain other information, e.g.
machine-dependent relocation information, etc.
 1.4.154.1 22-Aug-2009  matt Move ELF{32,64}_MACHDEP_ENDIANNESS to <mips/elf_machdep.h>
 1.4.136.1 11-Mar-2010  yamt sync with head
 1.4.6.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.4.6.1 31-Jan-2000  bouyer file elf_machdep.h was added on branch thorpej_scsipi on 2000-11-20 20:00:35 +0000
 1.9 17-Mar-2000  mycroft branches: 1.9.6;
In the `MY THAT'S GROSS' department...
Eliminate the recursive include of machine/endian.h from sys/endian.h.
 1.8 16-Mar-2000  mycroft Foolish consistency. Mainly, always use underscores and sys/endian.h.
 1.7 23-Jan-2000  soda merge to NetBSD-current (DeskStation and Algor support is currently broken)
 1.6 23-Jan-2000  soda Moved from /cvsroot/syssrc/sys/arch/pica/include/endian.h,v
 1.5 24-Jan-1999  mycroft Format consistency.
 1.4 20-Oct-1997  jonathan * Use ANSI-clean names for host-specific byte-order definition
(_BYTE_ORDER, _BIG_ENDIAN, _LITTLE_ENDIAN).
Define old names from the ANSI ones if not _POSIX_SOURCE.
* Define _QUAD_HIGHWORD and _QUAD_LOWWORD properly when
_BYTE_ORDER == _BIG_ENDIAN.
 1.3 17-Oct-1997  jonathan Add bi-endian support to mips locore, <mips/endian.h>, and mips_opcode.h.
Derived from a change request (PR port-mips/4277) from
Tsubai Masanari, (tsubai@iri.co.jp).
 1.2 23-Mar-1996  jonathan Replace the following header files from src/sys/arch/pica/include/
with versions that include equivalent files from <mips/include>.
(cvs magic copied the previous revisions, with history, to
src/sys/arch/mips/include).

ansi.h bsd-aout.h cdefs.h ecoff.h elf.h endian.h exec.h float.h ieeefp.h
kdbparam.h limits.h pcb.h pmap.h proc.h profile.h ptrace.h reg.h regdef.h
regnum.h reloc.h setjmp.h signal.h stdarg.h types.h varargs.h vmparam.h

NB: Some files (e.g., limits.h reloc.h pmap.h) add pica-specific #defines
to the generic mips support.
 1.1 13-Mar-1996  jonathan branches: 1.1.1;
Initial revision
 1.1.1.3 22-Feb-2000  soda OpenBSD-2.6/arc
 1.1.1.2 23-Jan-2000  soda OpenBSD-2.1/arc
 1.1.1.1 13-Mar-1996  jonathan First commit of Per Fogelstrom's port to the Acer pica r4400/isa machine.
 1.9.6.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.9.6.1 17-Mar-2000  bouyer file endian.h was added on branch thorpej_scsipi on 2000-11-20 20:00:35 +0000
 1.1 17-Mar-2000  mycroft branches: 1.1.6;
In the `MY THAT'S GROSS' department...
Eliminate the recursive include of machine/endian.h from sys/endian.h.
 1.1.6.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.1.6.1 17-Mar-2000  bouyer file endian_machdep.h was added on branch thorpej_scsipi on 2000-11-20 20:00:35 +0000
 1.2 23-Jan-2000  soda merge to NetBSD-current (DeskStation and Algor support is currently broken)
 1.1 23-Jan-2000  soda branches: 1.1.1;
Initial revision
 1.1.1.1 23-Jan-2000  soda OpenBSD-2.1/arc
 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:35:50 +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:29 +0000
 1.5 04-Sep-2001  simonb branches: 1.5.6;
Remove some more useless RCS ids.
 1.4 23-Jan-2000  soda branches: 1.4.6; 1.4.10;
merge to NetBSD-current (DeskStation and Algor support is currently broken)
 1.3 23-Jan-2000  soda Moved from /cvsroot/syssrc/sys/arch/pica/include/float.h,v
 1.2 23-Mar-1996  jonathan Replace the following header files from src/sys/arch/pica/include/
with versions that include equivalent files from <mips/include>.
(cvs magic copied the previous revisions, with history, to
src/sys/arch/mips/include).

ansi.h bsd-aout.h cdefs.h ecoff.h elf.h endian.h exec.h float.h ieeefp.h
kdbparam.h limits.h pcb.h pmap.h proc.h profile.h ptrace.h reg.h regdef.h
regnum.h reloc.h setjmp.h signal.h stdarg.h types.h varargs.h vmparam.h

NB: Some files (e.g., limits.h reloc.h pmap.h) add pica-specific #defines
to the generic mips support.
 1.1 13-Mar-1996  jonathan branches: 1.1.1;
Initial revision
 1.1.1.3 22-Feb-2000  soda OpenBSD-2.6/arc
 1.1.1.2 23-Jan-2000  soda OpenBSD-2.1/arc
 1.1.1.1 13-Mar-1996  jonathan First commit of Per Fogelstrom's port to the Acer pica r4400/isa machine.
 1.4.10.1 13-Sep-2001  thorpej Update the kqueue branch to HEAD.
 1.4.6.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.4.6.1 23-Jan-2000  bouyer file float.h was added on branch thorpej_scsipi on 2000-11-20 20:00:35 +0000
 1.5.6.2 04-Sep-2001  simonb Remove some more useless RCS ids.
 1.5.6.1 04-Sep-2001  simonb file float.h was added on branch nathanw_sa on 2001-09-04 07:12:29 +0000
 1.2 23-Jan-2000  soda merge to NetBSD-current (DeskStation and Algor support is currently broken)
 1.1 23-Jan-2000  soda branches: 1.1.1;
Initial revision
 1.1.1.2 22-Feb-2000  soda OpenBSD-2.6/arc
 1.1.1.1 23-Jan-2000  soda OpenBSD-2.1/arc
 1.3 23-Jan-2000  soda branches: 1.3.6;
Moved from /cvsroot/syssrc/sys/arch/pica/include/ieee.h,v
 1.2 30-Aug-1999  mycroft A foolish consistency.
 1.1 29-Aug-1999  mycroft Add ieee.h.
 1.3.6.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.3.6.1 23-Jan-2000  bouyer file ieee.h was added on branch thorpej_scsipi on 2000-11-20 20:00:35 +0000
 1.6 04-Sep-2001  simonb branches: 1.6.6;
Clean up.
 1.5 23-Jan-2000  soda branches: 1.5.6; 1.5.10;
merge to NetBSD-current (DeskStation and Algor support is currently broken)
 1.4 23-Jan-2000  soda Moved from /cvsroot/syssrc/sys/arch/pica/include/ieeefp.h,v
 1.3 05-Jan-1998  perry RCSID Police.
 1.2 23-Mar-1996  jonathan Replace the following header files from src/sys/arch/pica/include/
with versions that include equivalent files from <mips/include>.
(cvs magic copied the previous revisions, with history, to
src/sys/arch/mips/include).

ansi.h bsd-aout.h cdefs.h ecoff.h elf.h endian.h exec.h float.h ieeefp.h
kdbparam.h limits.h pcb.h pmap.h proc.h profile.h ptrace.h reg.h regdef.h
regnum.h reloc.h setjmp.h signal.h stdarg.h types.h varargs.h vmparam.h

NB: Some files (e.g., limits.h reloc.h pmap.h) add pica-specific #defines
to the generic mips support.
 1.1 13-Mar-1996  jonathan branches: 1.1.1;
Initial revision
 1.1.1.3 22-Feb-2000  soda OpenBSD-2.6/arc
 1.1.1.2 23-Jan-2000  soda OpenBSD-2.1/arc
 1.1.1.1 13-Mar-1996  jonathan First commit of Per Fogelstrom's port to the Acer pica r4400/isa machine.
 1.5.10.1 13-Sep-2001  thorpej Update the kqueue branch to HEAD.
 1.5.6.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.5.6.1 23-Jan-2000  bouyer file ieeefp.h was added on branch thorpej_scsipi on 2000-11-20 20:00:35 +0000
 1.6.6.2 04-Sep-2001  simonb Clean up.
 1.6.6.1 04-Sep-2001  simonb file ieeefp.h was added on branch nathanw_sa on 2001-09-04 06:26:19 +0000
 1.1 14-Apr-2001  kleink branches: 1.1.2; 1.1.4; 1.1.12;
Add definitions of C99 integer constant macros.
 1.1.12.2 14-Apr-2001  kleink Add definitions of C99 integer constant macros.
 1.1.12.1 14-Apr-2001  kleink file int_const.h was added on branch nathanw_sa on 2001-04-14 22:38:35 +0000
 1.1.4.1 21-Jun-2001  nathanw Catch up to -current.
 1.1.2.2 21-Apr-2001  bouyer Sync with HEAD
 1.1.2.1 14-Apr-2001  bouyer file int_const.h was added on branch thorpej_scsipi on 2001-04-21 17:53:08 +0000
 1.1 15-Apr-2001  kleink branches: 1.1.2; 1.1.4; 1.1.12;
Add definitions of C99 integer format conversion macros.
XXX Fastest minimum-width integer types haven't been decided upon yet.
 1.1.12.2 15-Apr-2001  kleink Add definitions of C99 integer format conversion macros.
XXX Fastest minimum-width integer types haven't been decided upon yet.
 1.1.12.1 15-Apr-2001  kleink file int_fmtio.h was added on branch nathanw_sa on 2001-04-15 17:13:07 +0000
 1.1.4.1 21-Jun-2001  nathanw Catch up to -current.
 1.1.2.2 21-Apr-2001  bouyer Sync with HEAD
 1.1.2.1 15-Apr-2001  bouyer file int_fmtio.h was added on branch thorpej_scsipi on 2001-04-21 17:53:09 +0000
 1.1 15-Apr-2001  kleink branches: 1.1.2; 1.1.4; 1.1.12;
Add definitions of C99 specified-width integer type limits.
XXX Fastest minimum-width integer types haven't been decided upon yet.
 1.1.12.2 15-Apr-2001  kleink Add definitions of C99 specified-width integer type limits.
XXX Fastest minimum-width integer types haven't been decided upon yet.
 1.1.12.1 15-Apr-2001  kleink file int_limits.h was added on branch nathanw_sa on 2001-04-15 15:29:04 +0000
 1.1.4.1 21-Jun-2001  nathanw Catch up to -current.
 1.1.2.2 21-Apr-2001  bouyer Sync with HEAD
 1.1.2.1 15-Apr-2001  bouyer file int_limits.h was added on branch thorpej_scsipi on 2001-04-21 17:53:09 +0000
 1.1 14-Apr-2001  kleink branches: 1.1.2; 1.1.4; 1.1.12;
Add definitions of C99 minimum-width and greatest-width integer types.
XXX Fastest minimum-width integer types haven't been decided upon yet.
 1.1.12.2 14-Apr-2001  kleink Add definitions of C99 minimum-width and greatest-width integer types.
XXX Fastest minimum-width integer types haven't been decided upon yet.
 1.1.12.1 14-Apr-2001  kleink file int_mwgwtypes.h was added on branch nathanw_sa on 2001-04-14 12:19:51 +0000
 1.1.4.1 21-Jun-2001  nathanw Catch up to -current.
 1.1.2.2 21-Apr-2001  bouyer Sync with HEAD
 1.1.2.1 14-Apr-2001  bouyer file int_mwgwtypes.h was added on branch thorpej_scsipi on 2001-04-21 17:53:09 +0000
 1.1 26-Jun-2000  kleink branches: 1.1.2;
Add <machine/int_types.h>, which provides namespace-pure definitions
of exact-width integer types.
 1.1.2.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.1.2.1 26-Jun-2000  bouyer file int_types.h was added on branch thorpej_scsipi on 2000-11-20 20:00:36 +0000
 1.24 16-Nov-2011  he Make sure "struct clockframe" is declared before declaring a
parameter as a pointer to that struct; fixes build problem for
getfstypename.c as part of libkern.
 1.23 20-Feb-2011  matt branches: 1.23.4;
Merge forward from matt-nb5-mips64.
Adapt to new interrupt/spl framework.
Add LP64 support.
 1.22 28-Apr-2008  martin branches: 1.22.18; 1.22.22; 1.22.28; 1.22.30;
Remove clause 3 and 4 from TNF licenses
 1.21 03-Dec-2007  ad branches: 1.21.14; 1.21.16; 1.21.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.20 17-Oct-2007  garbled branches: 1.20.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.19 17-Jun-2007  tsutsui branches: 1.19.8; 1.19.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.18 16-Feb-2007  ad branches: 1.18.6; 1.18.8; 1.18.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.17 21-Dec-2006  yamt merge yamt-splraiseipl branch.

- finish implementing splraiseipl (and makeiplcookie).
http://mail-index.NetBSD.org/tech-kern/2006/07/01/0000.html
- complete workqueue(9) and fix its ipl problem, which is reported
to cause audio skipping.
- fix netbt (at least compilation problems) for some ports.
- fix PR/33218.
 1.16 24-Jun-2006  tsutsui branches: 1.16.4; 1.16.6;
Misc minor cleanup for arc interrupt handlers:
- always enable options MIPS3_ENABLE_CLOCK_INTR and just clear the compare
register in cpu_intr() to make CLKF_BASE() works
properly
- prepare only possible number of cpu_inttab
- use macro for interrupt priority number passed to arc_set_intr()
to avoid confusion
- merge arc_hardware_intr() into cpu_intr()
- check independent timer interrupt first in cpu_intr()
- tweak MIPS_SR_INT_IE before calling hardclock timer handlers so that
spllowersoftclock(9) will be invoked properly in hardclock(9)
- reenable interrupt for timer in cpu_intr() rather than each timer handlers

okay'ed by soda.

Note the real fix is to make CLKF_BASE() check all independent
interrupt sources including jazz and isa devices.
 1.15 17-Jun-2006  tsutsui Remove extern from function declarations.
 1.14 11-Dec-2005  christos branches: 1.14.4; 1.14.8; 1.14.14; 1.14.16;
merge ktrace-lwp.
 1.13 22-Jan-2005  tsutsui branches: 1.13.8;
Make all intr_mask value types uint32_t rather than int, u_int,
or unsigned etc.
 1.12 22-Jan-2005  tsutsui - remove __P()
- use ANSI function decls
- u_intNN_t -> uintNN_t
- some KNF
 1.11 25-May-2003  tsutsui branches: 1.11.2; 1.11.10;
Add generic software interrupt support with mips/softintr.c.
 1.10 13-Jun-2001  soda branches: 1.10.8; 1.10.12;
introduce "struct platform", and remove "cputype" variable.

this change also includes a patch to obtain secondary cache size
from ARC firmware by Bob Meader, which was posted on port-arc on 18 Aug 2000.
this should make NEC Express RISCserver work.

this change obtains ID of display controller from ARC firmware, too.
 1.9 13-Apr-2001  thorpej Remove the use of splimp() from the NetBSD kernel. splnet()
and only splnet() is allowed for the protection of data structures
used by network devices.
 1.8 12-Apr-2001  thorpej splvec.splimp -> splvec.splvm
 1.7 14-Jan-2001  thorpej branches: 1.7.2;
Make sure everybody has an splvm() and equate it with splimp() (splimp()
is the historical name for this interrupt level, and the historical name
is going to go away in the near future).
 1.6 22-Aug-2000  thorpej branches: 1.6.2;
Add spllock(). See spl(9) for details.
 1.5 21-Aug-2000  thorpej Make sure we provide splsched() as described in spl(9).
 1.4 15-Apr-2000  soda remove following symbols which became unnecessary in recent cpu_intr() change:
mips_hardware_intr
MIPS3_INTERNAL_TIMER_INTERRUPT
mips3_intr_cycle_count
mips3_timer_delta
 1.3 03-Apr-2000  soda splsoftnet() should block softclock() too.
 1.2 23-Jan-2000  soda merge to NetBSD-current (DeskStation and Algor support is currently broken)
 1.1 23-Jan-2000  soda branches: 1.1.1;
Initial revision
 1.1.1.2 22-Feb-2000  soda OpenBSD-2.6/arc
 1.1.1.1 23-Jan-2000  soda OpenBSD-2.1/arc
 1.6.2.4 21-Apr-2001  bouyer Sync with HEAD
 1.6.2.3 18-Jan-2001  bouyer Sync with head (for UBC+NFS fixes, mostly).
 1.6.2.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.6.2.1 22-Aug-2000  bouyer file intr.h was added on branch thorpej_scsipi on 2000-11-20 20:00:36 +0000
 1.7.2.1 21-Jun-2001  nathanw Catch up to -current.
 1.10.12.1 17-Mar-2002  thorpej IPL_IMP -> IPL_VM
 1.10.8.2 13-Jun-2001  soda introduce "struct platform", and remove "cputype" variable.

this change also includes a patch to obtain secondary cache size
from ARC firmware by Bob Meader, which was posted on port-arc on 18 Aug 2000.
this should make NEC Express RISCserver work.

this change obtains ID of display controller from ARC firmware, too.
 1.10.8.1 13-Jun-2001  soda file intr.h was added on branch nathanw_sa on 2001-06-13 15:08:07 +0000
 1.11.10.1 29-Apr-2005  kent sync with -current
 1.11.2.1 24-Jan-2005  skrll Sync with HEAD.
 1.13.8.5 07-Dec-2007  yamt sync with head
 1.13.8.4 03-Sep-2007  yamt sync with head.
 1.13.8.3 26-Feb-2007  yamt sync with head.
 1.13.8.2 30-Dec-2006  yamt sync with head.
 1.13.8.1 21-Jun-2006  yamt sync with head.
 1.14.16.1 13-Jul-2006  gdamore Merge from HEAD.
 1.14.14.1 19-Jun-2006  chap Sync with head.
 1.14.8.1 26-Jun-2006  yamt sync with head.
 1.14.4.1 09-Sep-2006  rpaulo sync with head
 1.16.6.3 22-Sep-2006  yamt add SI_QUEUENAMES missed in the previous.
 1.16.6.2 22-Sep-2006  yamt fix softintr for following ports. (hopefully)
hpcmips
evbmips
algor
arc
ews4800mips
newsmips
 1.16.6.1 21-Sep-2006  yamt - implement splraiseipl for algor, arc, ews4800mips, hpcmips, and newsmips.
- tweak evbmips version to match with others.
XXX i think these ought to be merged.
 1.16.4.1 12-Jan-2007  ad Sync with head.
 1.18.14.1 26-Jun-2007  garbled Sync with HEAD.
 1.18.8.1 11-Jul-2007  mjf Sync with head.
 1.18.6.2 03-Dec-2007  ad Sync with HEAD.
 1.18.6.1 15-Jul-2007  ad Sync with head.
 1.19.10.2 09-Jan-2008  matt sync with HEAD
 1.19.10.1 06-Nov-2007  matt sync with HEAD
 1.19.8.1 09-Dec-2007  jmcneill Sync with HEAD.
 1.20.2.1 08-Dec-2007  mjf Sync with HEAD.
 1.21.18.1 16-May-2008  yamt sync with head.
 1.21.16.1 18-May-2008  yamt sync with head.
 1.21.14.1 02-Jun-2008  mjf Sync with HEAD.
 1.22.30.1 05-Mar-2011  bouyer Sync with HEAD
 1.22.28.1 06-Jun-2011  jruoho Sync with HEAD.
 1.22.22.1 05-Mar-2011  rmind sync with head
 1.22.18.2 29-Dec-2010  matt Adapt to the new interrupt structure.
 1.22.18.1 06-Feb-2010  matt <mips/softintr.h> is no longer needed.
 1.23.4.1 17-Apr-2012  yamt sync with head
 1.18 03-May-2022  andvar fix various typos, mainly s/trasfering/transferring/ and s/theese/these/.
 1.17 18-Oct-2016  jdolecek add isa_intr_establish_xname() to MD isa headers so that it can be used
by MI drivers
 1.16 27-Oct-2012  chs branches: 1.16.14; 1.16.18;
split device_t/softc for all remaining drivers.
replace "struct device *" with "device_t".
use device_xname(), device_unit(), etc.
 1.15 06-Mar-2011  tsutsui branches: 1.15.4; 1.15.14;
Remove trailing spaces.
 1.14 19-Aug-2009  dyoung branches: 1.14.4; 1.14.6;
(Re-)define isa_detach_hook(), and define isa_dmadestroy(). Update
some isa_chipset_tag_t->ic_detach_hook() definitions.
 1.13 12-Jun-2006  tsutsui branches: 1.13.64;
Account ISA interrupts by evcnt(9)
 1.12 12-Jun-2006  tsutsui - rename struct intrhand -> struct isa_intrhand
- remove unused ih_what member
 1.11 11-Dec-2005  christos branches: 1.11.4; 1.11.8; 1.11.14;
merge ktrace-lwp.
 1.10 03-Jun-2005  tsutsui branches: 1.10.2;
Add const.
 1.9 13-Feb-2004  wiz Uppercase CPU, plural is CPUs.
 1.8 14-Jun-2003  tsutsui branches: 1.8.2;
Add isa_intr_alloc() for isapnp support.
 1.7 09-May-2003  fvdl A few ISA sound drivers like to share dma channels, and hence deferred
isa_dmamap_create() calls to their open/close entrypoints. This worked
with some luck, but broke on i386 when _bus_dmamap_create started
to allocate bounce buffers upfront, since memory below 16M may well
not be available when the sound devices is opened for the Nth time.

To fix this, create a new simple interface, isa_drq_alloc/isa_drq_free,
wrappers around already existing bitmask macros. These are expected
to be used before an isa_dmamap_create call, and after an
isa_dmamap_destroy call, respectively. For the sb and ad1848 drivers,
they're deferred until open/close.

All isa_dmamap_create calls can now use BUS_DMA_ALLOCNOW and be done
at attach time.
 1.6 20-Jun-2000  soda branches: 1.6.2; 1.6.4;
for DeskStation RPC44
 1.5 09-Jun-2000  soda - NEC RISCstation 2250 (RD-94) PCI bus support,
contributed by Shuichiro URATA <ur@a-r.org>.
- Experimental coding for NEC RISCserver 2200 and RISCstation 2200.
(doesn't really work)
 1.4 04-Jun-2000  cgd Implement the more flexiable `evcnt' interface as discussed (briefly) on
tech-kern and now documented in evcnt(9).
 1.3 01-Jun-2000  cgd kill __P in these files. (I had to look at them anyway with an eye for
adding some protos... and adding them with __P seems wrong, but mixing
__P and not __P in the same file seems wrong too, so...)
 1.2 23-Jan-2000  soda branches: 1.2.2;
merge to NetBSD-current (DeskStation and Algor support is currently broken)
 1.1 23-Jan-2000  soda branches: 1.1.1;
Initial revision
 1.1.1.2 23-Jan-2000  soda Moved from /cvsroot/syssrc/sys/arch/arc/isa/isa_machdep.h,v
 1.1.1.1 23-Jan-2000  soda OpenBSD-2.1/arc
 1.2.2.1 22-Jun-2000  minoura Sync w/ netbsd-1-5-base.
 1.6.4.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.6.4.1 20-Jun-2000  bouyer file isa_machdep.h was added on branch thorpej_scsipi on 2000-11-20 20:00:36 +0000
 1.6.2.2 20-Jun-2000  soda for DeskStation RPC44
 1.6.2.1 20-Jun-2000  soda file isa_machdep.h was added on branch netbsd-1-5 on 2000-06-20 08:26:55 +0000
 1.8.2.4 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 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.2.1 21-Jun-2006  yamt sync with head.
 1.11.14.1 19-Jun-2006  chap Sync with head.
 1.11.8.1 26-Jun-2006  yamt sync with head.
 1.11.4.1 09-Sep-2006  rpaulo sync with head
 1.13.64.1 19-Aug-2009  yamt sync with head.
 1.14.6.1 06-Jun-2011  jruoho Sync with HEAD.
 1.14.4.1 21-Apr-2011  rmind sync with head
 1.15.14.2 03-Dec-2017  jdolecek update from HEAD
 1.15.14.1 20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.15.4.1 30-Oct-2012  yamt sync with head
 1.16.18.1 04-Nov-2016  pgoyette Sync with HEAD
 1.16.14.1 05-Dec-2016  skrll Sync with HEAD
 1.3 28-Apr-2008  martin Remove clause 3 and 4 from TNF licenses
 1.2 01-Jun-2000  cgd branches: 1.2.4; 1.2.130; 1.2.132; 1.2.134;
kill __P in these files. (I had to look at them anyway with an eye for
adding some protos... and adding them with __P seems wrong, but mixing
__P and not __P in the same file seems wrong too, so...)
 1.1 23-Jan-2000  soda branches: 1.1.2;
merge to NetBSD-current (DeskStation and Algor support is currently broken)
 1.1.2.1 22-Jun-2000  minoura Sync w/ netbsd-1-5-base.
 1.2.134.1 16-May-2008  yamt sync with head.
 1.2.132.1 18-May-2008  yamt sync with head.
 1.2.130.1 02-Jun-2008  mjf Sync with HEAD.
 1.2.4.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.2.4.1 01-Jun-2000  bouyer file isapnp_machdep.h was added on branch thorpej_scsipi on 2000-11-20 20:00:36 +0000
 1.4 11-Dec-2005  christos merge ktrace-lwp.
 1.3 02-Jul-2004  drochner just include <sys/joystick.h>
 1.2 22-Feb-2000  soda branches: 1.2.6; 1.2.30;
merge changes between OpenBSD-2.1 and OpenBSD-2.6
 1.1 22-Feb-2000  soda branches: 1.1.1;
Initial revision
 1.1.1.1 22-Feb-2000  soda OpenBSD-2.6/arc
 1.2.30.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.2.30.2 18-Sep-2004  skrll Sync with HEAD.
 1.2.30.1 03-Aug-2004  skrll Sync with HEAD
 1.2.6.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.2.6.1 22-Feb-2000  bouyer file joystick.h was added on branch thorpej_scsipi on 2000-11-20 20:00:36 +0000
 1.5 01-Jan-2022  andvar fix typos in word "diagnostic".
 1.4 23-Jan-2000  soda branches: 1.4.6;
merge to NetBSD-current (DeskStation and Algor support is currently broken)
 1.3 23-Jan-2000  soda Moved from /cvsroot/syssrc/sys/arch/pica/include/kbdreg.h,v
 1.2 16-Jul-1996  thorpej RCS id police.
 1.1 13-Mar-1996  jonathan branches: 1.1.1;
Initial revision
 1.1.1.2 23-Jan-2000  soda OpenBSD-2.1/arc
 1.1.1.1 13-Mar-1996  jonathan First commit of Per Fogelstrom's port to the Acer pica r4400/isa machine.
 1.4.6.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.4.6.1 23-Jan-2000  bouyer file kbdreg.h was added on branch thorpej_scsipi on 2000-11-20 20:00:36 +0000
 1.3 23-Jan-2000  soda branches: 1.3.6;
merge to NetBSD-current (DeskStation and Algor support is currently broken)
 1.2 23-Jan-2000  soda Moved from /cvsroot/syssrc/sys/arch/pica/include/kcore.h,v
 1.1 19-Feb-1998  thorpej branches: 1.1.1;
Use the generic NetBSD/mips crash dump code.
 1.1.1.2 22-Feb-2000  soda OpenBSD-2.6/arc
 1.1.1.1 23-Jan-2000  soda OpenBSD-2.1/arc
 1.3.6.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.3.6.1 23-Jan-2000  bouyer file kcore.h was added on branch thorpej_scsipi on 2000-11-20 20:00:36 +0000
 1.5 04-Sep-2001  simonb branches: 1.5.6;
More RCS ID cleanup.
 1.4 23-Jan-2000  soda branches: 1.4.6; 1.4.10;
merge to NetBSD-current (DeskStation and Algor support is currently broken)
 1.3 23-Jan-2000  soda Moved from /cvsroot/syssrc/sys/arch/pica/include/kdbparam.h,v
 1.2 23-Mar-1996  jonathan Replace the following header files from src/sys/arch/pica/include/
with versions that include equivalent files from <mips/include>.
(cvs magic copied the previous revisions, with history, to
src/sys/arch/mips/include).

ansi.h bsd-aout.h cdefs.h ecoff.h elf.h endian.h exec.h float.h ieeefp.h
kdbparam.h limits.h pcb.h pmap.h proc.h profile.h ptrace.h reg.h regdef.h
regnum.h reloc.h setjmp.h signal.h stdarg.h types.h varargs.h vmparam.h

NB: Some files (e.g., limits.h reloc.h pmap.h) add pica-specific #defines
to the generic mips support.
 1.1 13-Mar-1996  jonathan branches: 1.1.1;
Initial revision
 1.1.1.3 22-Feb-2000  soda OpenBSD-2.6/arc
 1.1.1.2 23-Jan-2000  soda OpenBSD-2.1/arc
 1.1.1.1 13-Mar-1996  jonathan First commit of Per Fogelstrom's port to the Acer pica r4400/isa machine.
 1.4.10.1 13-Sep-2001  thorpej Update the kqueue branch to HEAD.
 1.4.6.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.4.6.1 23-Jan-2000  bouyer file kdbparam.h was added on branch thorpej_scsipi on 2000-11-20 20:00:36 +0000
 1.5.6.2 04-Sep-2001  simonb More RCS ID cleanup.
 1.5.6.1 04-Sep-2001  simonb file kdbparam.h was added on branch nathanw_sa on 2001-09-04 07:22:04 +0000
 1.6 31-Aug-2001  simonb branches: 1.6.6;
G/C the unused kernel-only CLK_TCK #define.

XXX: does include/time.h still need <machine/limits.h>?
 1.5 23-Jan-2000  soda branches: 1.5.6; 1.5.10;
merge to NetBSD-current (DeskStation and Algor support is currently broken)
 1.4 23-Jan-2000  soda Moved from /cvsroot/syssrc/sys/arch/pica/include/limits.h,v
 1.3 09-Jan-1998  perry multiple include protect machine/limits.h, fixes pr 4473 (from Mika Nystrom)
 1.2 23-Mar-1996  jonathan Replace the following header files from src/sys/arch/pica/include/
with versions that include equivalent files from <mips/include>.
(cvs magic copied the previous revisions, with history, to
src/sys/arch/mips/include).

ansi.h bsd-aout.h cdefs.h ecoff.h elf.h endian.h exec.h float.h ieeefp.h
kdbparam.h limits.h pcb.h pmap.h proc.h profile.h ptrace.h reg.h regdef.h
regnum.h reloc.h setjmp.h signal.h stdarg.h types.h varargs.h vmparam.h

NB: Some files (e.g., limits.h reloc.h pmap.h) add pica-specific #defines
to the generic mips support.
 1.1 13-Mar-1996  jonathan branches: 1.1.1;
Initial revision
 1.1.1.3 22-Feb-2000  soda OpenBSD-2.6/arc
 1.1.1.2 23-Jan-2000  soda OpenBSD-2.1/arc
 1.1.1.1 13-Mar-1996  jonathan First commit of Per Fogelstrom's port to the Acer pica r4400/isa machine.
 1.5.10.1 13-Sep-2001  thorpej Update the kqueue branch to HEAD.
 1.5.6.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.5.6.1 23-Jan-2000  bouyer file limits.h was added on branch thorpej_scsipi on 2000-11-20 20:00:36 +0000
 1.6.6.2 31-Aug-2001  simonb G/C the unused kernel-only CLK_TCK #define.

XXX: does include/time.h still need <machine/limits.h>?
 1.6.6.1 31-Aug-2001  simonb file limits.h was added on branch nathanw_sa on 2001-08-31 03:46:04 +0000
 1.2 23-Jan-2000  soda merge to NetBSD-current (DeskStation and Algor support is currently broken)
 1.1 23-Jan-2000  soda branches: 1.1.1;
Initial revision
 1.1.1.2 22-Feb-2000  soda OpenBSD-2.6/arc
 1.1.1.1 23-Jan-2000  soda OpenBSD-2.1/arc
 1.5 06-Aug-2014  joerg Consistently define WARN in a way that passes format string checks, i.e.
always uses the same number of arguments as given in the format string.
 1.4 28-Apr-2008  martin branches: 1.4.44; 1.4.60;
Remove clause 3 and 4 from TNF licenses
 1.3 25-Jan-2006  christos branches: 1.3.72; 1.3.74; 1.3.76;
free -> dealloc
unsigned -> size_t for alloc/dealloc
 1.2 11-Dec-2005  christos branches: 1.2.2;
merge ktrace-lwp.
 1.1 18-Apr-2005  tsutsui branches: 1.1.2; 1.1.4; 1.1.10;
Add a long-awaited standalone boot program for arc port to load
ELF kernels instead of booting ECOFF kernels directly by ARCBIOS.
Tested on my NEC-J96A and NEC-JC94, and ok'ed by soda.

XXX: Maybe we should share some of these sources with sgimips
XXX: (in sys/dev/arcbios/stand?)
 1.1.10.2 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.1.10.1 18-Apr-2005  skrll file loadfile_machdep.h was added on branch ktrace-lwp on 2005-11-10 13:55:09 +0000
 1.1.4.1 21-Jun-2006  yamt sync with head.
 1.1.2.2 29-Apr-2005  kent sync with -current
 1.1.2.1 18-Apr-2005  kent file loadfile_machdep.h was added on branch kent-audio2 on 2005-04-29 11:28:01 +0000
 1.2.2.1 01-Feb-2006  yamt sync with head.
 1.3.76.1 16-May-2008  yamt sync with head.
 1.3.74.1 18-May-2008  yamt sync with head.
 1.3.72.1 02-Jun-2008  mjf Sync with HEAD.
 1.4.60.1 10-Aug-2014  tls Rebase.
 1.4.44.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.2 31-Aug-2001  simonb branches: 1.2.6;
Remove an unneeded comment; ``sync'' with other "just include <mips/foo.h>"
files.
 1.1 29-Apr-2000  thorpej branches: 1.1.6; 1.1.10;
Require that each each MACHINE/MACHINE_ARCH supply a lock.h. This file
contains the values __SIMPLELOCK_LOCKED and __SIMPLELOCK_UNLOCKED, which
replace the old SIMPLELOCK_LOCKED and SIMPLELOCK_UNLOCKED. These files
are also required to supply inline functions __cpu_simple_lock(),
__cpu_simple_lock_try(), and __cpu_simple_unlock() if locking is to be
supported on that platform (i.e. if MULTIPROCESSOR is defined in the
_KERNEL case). Change these functions to take an int * (&alp->lock_data)
rather than the struct simplelock * itself.

These changes make it possible for userland to use the locking primitives
by including <machine/lock.h>.
 1.1.10.1 13-Sep-2001  thorpej Update the kqueue branch to HEAD.
 1.1.6.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.1.6.1 29-Apr-2000  bouyer file lock.h was added on branch thorpej_scsipi on 2000-11-20 20:00:36 +0000
 1.2.6.2 31-Aug-2001  simonb Remove an unneeded comment; ``sync'' with other "just include <mips/foo.h>"
files.
 1.2.6.1 31-Aug-2001  simonb file lock.h was added on branch nathanw_sa on 2001-08-31 03:53:23 +0000
 1.1 09-Sep-2006  gdamore branches: 1.1.2; 1.1.6; 1.1.10;
Add <machine/locore.h>, used by some other common MIPS code.
 1.1.10.2 30-Dec-2006  yamt sync with head.
 1.1.10.1 09-Sep-2006  yamt file locore.h was added on branch yamt-lazymbuf on 2006-12-30 20:45:29 +0000
 1.1.6.1 18-Nov-2006  ad Sync with head.
 1.1.2.2 14-Sep-2006  yamt sync with head.
 1.1.2.1 09-Sep-2006  yamt file locore.h was added on branch yamt-pdpolicy on 2006-09-14 12:31:07 +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:25 +0000
 1.1 26-Jan-2000  kleink branches: 1.1.6;
Add missing wrapper header.
 1.1.6.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.1.6.1 26-Jan-2000  bouyer file math.h was added on branch thorpej_scsipi on 2000-11-20 20:00:36 +0000
 1.2 17-Jan-2003  thorpej Merge the nathanw_sa branch.
 1.1 17-Nov-2001  wdk branches: 1.1.2;
file mcontext.h was initially added on branch nathanw_sa.
 1.1.2.1 17-Nov-2001  wdk mcontext support for MIPS based ports.
 1.2 23-Jan-2000  soda merge to NetBSD-current (DeskStation and Algor support is currently broken)
 1.1 23-Jan-2000  soda branches: 1.1.1;
Initial revision
 1.1.1.2 22-Feb-2000  soda OpenBSD-2.6/arc
 1.1.1.1 23-Jan-2000  soda OpenBSD-2.1/arc
 1.6 04-Sep-2001  simonb branches: 1.6.6;
Remove some more useless RCS ids.
 1.5 17-Feb-2001  tsutsui branches: 1.5.4;
Fix include path.
(mips/include/mips_opcode.h -> mips/mips_opcode.h)
 1.4 23-Jan-2000  soda branches: 1.4.6;
merge to NetBSD-current (DeskStation and Algor support is currently broken)
 1.3 23-Jan-2000  soda Moved from /cvsroot/syssrc/sys/arch/pica/include/mips_opcode.h,v
 1.2 16-Jul-1996  thorpej RCS id police.
 1.1 13-Mar-1996  jonathan branches: 1.1.1;
Initial revision
 1.1.1.3 22-Feb-2000  soda OpenBSD-2.6/arc
 1.1.1.2 23-Jan-2000  soda OpenBSD-2.1/arc
 1.1.1.1 13-Mar-1996  jonathan First commit of Per Fogelstrom's port to the Acer pica r4400/isa machine.
 1.4.6.3 12-Mar-2001  bouyer Sync with HEAD.
 1.4.6.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.4.6.1 23-Jan-2000  bouyer file mips_opcode.h was added on branch thorpej_scsipi on 2000-11-20 20:00:36 +0000
 1.5.4.1 13-Sep-2001  thorpej Update the kqueue branch to HEAD.
 1.6.6.2 04-Sep-2001  simonb Remove some more useless RCS ids.
 1.6.6.1 04-Sep-2001  simonb file mips_opcode.h was added on branch nathanw_sa on 2001-09-04 07:12:29 +0000
 1.2 23-Jan-2000  soda branches: 1.2.6;
merge to NetBSD-current (DeskStation and Algor support is currently broken)
 1.1 13-Mar-1996  jonathan branches: 1.1.1;
Initial revision
 1.1.1.3 23-Jan-2000  soda OpenBSD-2.1/arc
 1.1.1.2 23-Jan-2000  soda Moved from /cvsroot/syssrc/sys/arch/pica/include/mouse.h,v
 1.1.1.1 13-Mar-1996  jonathan First commit of Per Fogelstrom's port to the Acer pica r4400/isa machine.
 1.2.6.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.2.6.1 23-Jan-2000  bouyer file mouse.h was added on branch thorpej_scsipi on 2000-11-20 20:00:36 +0000
 1.2 09-Feb-2007  ad branches: 1.2.4;
Merge newlock2 to head.
 1.1 22-Dec-2006  ad branches: 1.1.2;
file mutex.h was initially added on branch newlock2.
 1.1.2.1 22-Dec-2006  ad Pull in CPU specific stubs.
 1.2.4.2 26-Feb-2007  yamt sync with head.
 1.2.4.1 09-Feb-2007  yamt file mutex.h was added on branch yamt-lazymbuf on 2007-02-26 09:05:51 +0000
 1.2 20-Feb-2011  matt Merge forward from matt-nb5-mips64.
Adapt to new interrupt/spl framework.
Add LP64 support.
 1.1 28-Feb-2010  matt branches: 1.1.2; 1.1.4; 1.1.6; 1.1.8;
file netbsd32_machdep.h was initially added on branch matt-nb5-mips64.
 1.1.8.1 05-Mar-2011  bouyer Sync with HEAD
 1.1.6.1 06-Jun-2011  jruoho Sync with HEAD.
 1.1.4.1 05-Mar-2011  rmind sync with head
 1.1.2.1 28-Feb-2010  matt arc64 needs a <machine/netbsd32_machdep.h>
 1.33 07-Apr-2019  thorpej G/C some obsolete definitions (we haven't had a fixed u. for quite
some time).
 1.32 07-Feb-2019  mrg remove stuff provided by generic mips headers
 1.31 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.30 13-Jul-2016  maya branches: 1.30.16; 1.30.18;
Avoid redefining UPAGES
(now defined in mips/mips_param.h)

Fixes build
 1.29 18-Mar-2011  tsutsui branches: 1.29.14; 1.29.32;
- no need to define MACHINE_ARCH in MD header
- include <mips/mips_param.h> after MACHINE is defined
 1.28 06-Mar-2011  he Now that MACHINE is defined in user-land in either
mips/include/mips_param.h or powerpc/include/param.h, stop
trying to re-define it in the port-specific param.h files
when _KERNEL isn't defined.
 1.27 08-Feb-2011  rmind Remove clause 3 (UCB advertising clause) from the University of Utah
copyright. Confirmed by Mike Hibler, mike at cs.utah.edu - thanks!
Also, merge UCB and Utah copyright texts back into one, as they
originally were.

Extra verification by snj@.
 1.26 08-Feb-2010  joerg branches: 1.26.2; 1.26.4; 1.26.6;
Remove separate mb_map. The nmbclusters is computed at boot time based
on the amount of physical memory and limited by NMBCLUSTERS if present.
Architectures without direct mapping also limit it based on the kmem_map
size, which is used as backing store. On i386 and ARM, the maximum KVA
used for mbuf clusters is limited to 64MB by default.

The old default limits and limits based on GATEWAY have been removed.
key_registered_sb_max is hard-wired to a value derived from 2048
clusters.
 1.25 13-Aug-2009  matt branches: 1.25.2;
Move MID_MACHINE to <mips/mips_param.h> and use local values so we don't
need to include exec_aout.h
 1.24 11-Dec-2005  christos branches: 1.24.78; 1.24.96;
merge ktrace-lwp.
 1.23 06-Nov-2005  tsutsui Bump MAXPHYS from 32K to 64K.
asc.c has now its own asc_minphys(), and both osiop and oosiop at jazzio
work fine with 64K MAXPHYS.
 1.22 30-Oct-2005  tsutsui Use new delay(9) for DELAY(9).
 1.21 30-Oct-2005  tsutsui - use mips3_cp0_count_read() for delay(9).
- delay(9) should take unsigned int, not int.
 1.20 22-Jan-2005  tsutsui branches: 1.20.8; 1.20.10;
- remove __P()
- use ANSI function decls
- u_intNN_t -> uintNN_t
- some KNF
 1.19 07-Aug-2003  agc branches: 1.19.8;
Move UCB-licensed code from 4-clause to 3-clause licence.

Patches provided by Joel Baker in PR 22364, verified by myself.
 1.18 27-Apr-2003  tsutsui branches: 1.18.2;
Remove register declarations.
 1.17 29-Dec-2002  tsutsui Wrap DELAY() macro with do { } while (/*CONSTCOND*/ 0).
 1.16 26-Feb-2002  simonb 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.15 30-May-2001  mrg branches: 1.15.2; 1.15.8;
use _KERNEL_OPT
 1.14 30-Jun-2000  itojun branches: 1.14.2; 1.14.4;
raise MSIZE from 128 to 256.
- for sizeof(void *) == 8 arch, this is mandatory. MHLEN is too small
already (less than 80) and there are chances for unwanted packet loss due
to m_pullup restriction.
- for other cases, the change should avoid allocating clusters in most cases
(even when you have IPv4 IPsec tunnel, or IPv6 with moderate amount of
extension header)

portmasters: if your arch chokes with the change (high memory usage or
whatever), please backout the change for your arch.
 1.13 11-Feb-2000  thorpej branches: 1.13.4;
Update for the NKMEMPAGES changes.
 1.12 27-Jan-2000  soda - _MACHINE_ARCH was undefined, MACHINE_ARCH was wrong.
- make "make includes" work
 1.11 23-Jan-2000  soda merge to NetBSD-current (DeskStation and Algor support is currently broken)
 1.10 23-Jan-2000  soda Moved from /cvsroot/syssrc/sys/arch/pica/include/param.h,v
 1.9 04-Dec-1999  ragge CL* discarding.
 1.8 29-Apr-1998  thorpej branches: 1.8.20;
Pull in opt_gateway.h as appropriate.
 1.7 20-Sep-1997  leo Move the definition of MSGBUFSIZE up to the machine-arch level if
possible. Pointed out by Bernd Ernesti.
 1.6 19-Sep-1997  leo Implement the kernel part of pr-1891. This allows for a more flexible sized
msgbuf. Note that old 'dmesg' and 'syslogd' binaries will continue running,
though old 'dmesg' binaries will output a few bytes of junk at the start of
the buffer, and will miss a few bytes at the end of the buffer.
 1.5 23-Jun-1997  jonathan branches: 1.5.4;
Apply sys/arch/mips changes (MACH_ -> MIPS_ or MIPS3_) changes to Pica port.
PICA Kernel compiles with warnings and links, otherwise untested.
 1.4 24-Feb-1997  fvdl Define ALIGNED_POINTER
 1.3 11-Aug-1996  jonathan branches: 1.3.6;
* Apply LOCORE -> _LOCORE change so locore.S doesn't #include struct
definitions.

* Include <mips/cpuregs.h> in <cpu.h> so kern_clock.c has user/kernel
status bits in scope. Still needs work; r2k/r4k previous-mode bits
are different.

* Include <mips/mips_param.h> in pica/include/param.h, for locore declarations,
and definitions of vm and other constants that should be shared across
NetBSD/mips systems to esnsure user-level binary compatibility.
 1.2 16-Jul-1996  thorpej RCS id police.
 1.1 13-Mar-1996  jonathan branches: 1.1.1;
Initial revision
 1.1.1.3 22-Feb-2000  soda OpenBSD-2.6/arc
 1.1.1.2 23-Jan-2000  soda OpenBSD-2.1/arc
 1.1.1.1 13-Mar-1996  jonathan First commit of Per Fogelstrom's port to the Acer pica r4400/isa machine.
 1.3.6.1 12-Mar-1997  is Merge in changes from Trunk
 1.5.4.1 22-Sep-1997  thorpej Update marc-pcmcia branch from trunk.
 1.8.20.2 27-Dec-1999  wrstuden Pull up to last week's -current.
 1.8.20.1 21-Dec-1999  wrstuden Initial commit of recent changes to make DEV_BSIZE go away.

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

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

Non 2**n block support is automatic for LKM's and conditional for kernels
on "options NON_PO2_BLOCKS".
 1.13.4.1 23-Jul-2000  itojun pullup from main trunc (approved by releng-1-5)

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

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

1.1 -> 1.2 syssrc/sys/arch/amigappc/include/param.h
1.13 -> 1.14 syssrc/sys/arch/arc/include/param.h
1.1 -> 1.2 syssrc/sys/arch/arm26/include/param.h
1.17 -> 1.18 syssrc/sys/arch/arm32/include/param.h
1.6 -> 1.7 syssrc/sys/arch/bebox/include/param.h
1.4 -> 1.5 syssrc/sys/arch/cobalt/include/param.h
1.4 -> 1.5 syssrc/sys/arch/evbsh3/include/param.h
1.2 -> 1.3 syssrc/sys/arch/hpcmips/include/param.h
1.40 -> 1.41 syssrc/sys/arch/i386/include/param.h
1.7 -> 1.8 syssrc/sys/arch/m68k/include/param.h
1.9 -> 1.10 syssrc/sys/arch/macppc/include/param.h
1.4 -> 1.5 syssrc/sys/arch/mmeye/include/param.h
1.6 -> 1.7 syssrc/sys/arch/newsmips/include/param.h
1.7 -> 1.8 syssrc/sys/arch/ofppc/include/param.h
1.23 -> 1.24 syssrc/sys/arch/pc532/include/param.h
1.32 -> 1.33 syssrc/sys/arch/pmax/include/param.h
1.7 -> 1.8 syssrc/sys/arch/powerpc/include/param.h
1.1 -> 1.2 syssrc/sys/arch/prep/include/param.h
1.1 -> 1.2 syssrc/sys/arch/sgimips/include/param.h
1.3 -> 1.4 syssrc/sys/arch/sh3/include/param.h
1.44 -> 1.45 syssrc/sys/arch/sparc/include/param.h
1.21 -> 1.22 syssrc/sys/arch/sparc64/include/param.h
1.43 -> 1.44 syssrc/sys/arch/vax/include/param.h
 1.14.4.1 21-Jun-2001  nathanw Catch up to -current.
 1.14.2.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.14.2.1 30-Jun-2000  bouyer file param.h was added on branch thorpej_scsipi on 2000-11-20 20:00:37 +0000
 1.15.8.3 29-Dec-2002  thorpej Sync with HEAD.
 1.15.8.2 28-Feb-2002  nathanw Catch up to -current.
 1.15.8.1 30-May-2001  nathanw file param.h was added on branch nathanw_sa on 2002-02-28 04:07:14 +0000
 1.15.2.1 16-Mar-2002  jdolecek Catch up with -current.
 1.18.2.5 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.18.2.4 24-Jan-2005  skrll Sync with HEAD.
 1.18.2.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.18.2.2 18-Sep-2004  skrll Sync with HEAD.
 1.18.2.1 03-Aug-2004  skrll Sync with HEAD
 1.19.8.1 29-Apr-2005  kent sync with -current
 1.20.10.1 02-Nov-2005  yamt sync with head.
 1.20.8.1 21-Jun-2006  yamt sync with head.
 1.24.96.1 22-Aug-2009  matt Move MACHINE_ARCH definition to <mips/mips_param.h>
Move mbuf related defines to <mips/mips_param.h>
 1.24.78.2 11-Mar-2010  yamt sync with head
 1.24.78.1 19-Aug-2009  yamt sync with head.
 1.25.2.1 30-Apr-2010  uebayasi Sync with HEAD.
 1.26.6.1 17-Feb-2011  bouyer Sync with HEAD
 1.26.4.1 06-Jun-2011  jruoho Sync with HEAD.
 1.26.2.2 21-Apr-2011  rmind sync with head
 1.26.2.1 05-Mar-2011  rmind sync with head
 1.29.32.1 05-Oct-2016  skrll Sync with HEAD
 1.29.14.1 03-Dec-2017  jdolecek update from HEAD
 1.30.18.1 10-Jun-2019  christos Sync with HEAD
 1.30.16.1 18-Jan-2019  pgoyette Synch with HEAD
 1.5 04-Sep-2001  simonb branches: 1.5.6;
Remove some more useless RCS ids.
 1.4 23-Jan-2000  soda branches: 1.4.6; 1.4.10;
merge to NetBSD-current (DeskStation and Algor support is currently broken)
 1.3 23-Jan-2000  soda Moved from /cvsroot/syssrc/sys/arch/pica/include/pcb.h,v
 1.2 23-Mar-1996  jonathan Replace the following header files from src/sys/arch/pica/include/
with versions that include equivalent files from <mips/include>.
(cvs magic copied the previous revisions, with history, to
src/sys/arch/mips/include).

ansi.h bsd-aout.h cdefs.h ecoff.h elf.h endian.h exec.h float.h ieeefp.h
kdbparam.h limits.h pcb.h pmap.h proc.h profile.h ptrace.h reg.h regdef.h
regnum.h reloc.h setjmp.h signal.h stdarg.h types.h varargs.h vmparam.h

NB: Some files (e.g., limits.h reloc.h pmap.h) add pica-specific #defines
to the generic mips support.
 1.1 13-Mar-1996  jonathan branches: 1.1.1;
Initial revision
 1.1.1.3 22-Feb-2000  soda OpenBSD-2.6/arc
 1.1.1.2 23-Jan-2000  soda OpenBSD-2.1/arc
 1.1.1.1 13-Mar-1996  jonathan First commit of Per Fogelstrom's port to the Acer pica r4400/isa machine.
 1.4.10.1 13-Sep-2001  thorpej Update the kqueue branch to HEAD.
 1.4.6.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.4.6.1 23-Jan-2000  bouyer file pcb.h was added on branch thorpej_scsipi on 2000-11-20 20:00:37 +0000
 1.5.6.2 04-Sep-2001  simonb Remove some more useless RCS ids.
 1.5.6.1 04-Sep-2001  simonb file pcb.h was added on branch nathanw_sa on 2001-09-04 07:12:29 +0000
 1.7 26-Feb-2019  msaitoh Whitespace change.
 1.6 13-Jun-2001  soda branches: 1.6.8; 1.6.214;
split pccons driver into "pccons" and "opms",
also split into bus-dependent frontend and bus-independent backend.
 1.5 11-May-2001  tsutsui - Declare pccnattach() in <machine/pccons.h>
- Make cpu_reboot() reset machines properly without pccons
 1.4 23-Jan-2000  soda branches: 1.4.6; 1.4.8;
merge to NetBSD-current (DeskStation and Algor support is currently broken)
 1.3 23-Jan-2000  soda Moved from /cvsroot/syssrc/sys/arch/pica/include/pccons.h,v
 1.2 28-Mar-1996  jonathan Remove lint from pica kernel to compile with -Werror:
* Add cast to hardclock when it's used directly as an interrupt handler.
* Add a null-interrupt-establish function, to avoid int vs void lint
in pica/dev/dma.c.
* fix include in pica/include/pccons.h to work with "standard"
kernel-compile include path.
 1.1 13-Mar-1996  jonathan branches: 1.1.1;
Initial revision
 1.1.1.2 23-Jan-2000  soda OpenBSD-2.1/arc
 1.1.1.1 13-Mar-1996  jonathan First commit of Per Fogelstrom's port to the Acer pica r4400/isa machine.
 1.4.8.1 21-Jun-2001  nathanw Catch up to -current.
 1.4.6.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.4.6.1 23-Jan-2000  bouyer file pccons.h was added on branch thorpej_scsipi on 2000-11-20 20:00:37 +0000
 1.6.214.1 10-Jun-2019  christos Sync with HEAD
 1.6.8.2 13-Jun-2001  soda split pccons driver into "pccons" and "opms",
also split into bus-dependent frontend and bus-independent backend.
 1.6.8.1 13-Jun-2001  soda file pccons.h was added on branch nathanw_sa on 2001-06-13 15:05:48 +0000
 1.15 16-Aug-2022  skrll PRovide pci_intr_setattr
 1.14 16-Aug-2022  skrll Multiple inclusion protection.
 1.13 16-Aug-2022  skrll Whitespace
 1.12 07-Jul-2020  thorpej Overhaul the interface to pci_configure_bus():
- Don't expose how PCI bus configuration resource management is implemented.
Provide a new resource provider API:

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

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

- Re-implement PCI configuration resource management using vmem arenas,
rather than extent maps.
 1.11 29-Mar-2014  christos make pci_intr_string and eisa_intr_string take a buffer and a length
instead of relying in local static storage.
 1.10 27-Oct-2012  chs branches: 1.10.2;
split device_t/softc for all remaining drivers.
replace "struct device *" with "device_t".
use device_xname(), device_unit(), etc.
 1.9 04-Apr-2011  dyoung branches: 1.9.4; 1.9.10; 1.9.14;
Neither pci_dma64_available(), pci_probe_device(), pci_mapreg_map(9),
pci_find_rom(), pci_intr_map(9), pci_enumerate_bus(), nor the match
predicate passed to pciide_compat_intr_establish() should ever modify
their pci_attach_args argument, so make their pci_attach_args arguments
const and deal with the fallout throughout the kernel.

For the most part, these changes add a 'const' where there was no
'const' before, however, some drivers and MD code used to modify
pci_attach_args. Now those drivers either copy their pci_attach_args
and modify the copy, or refrain from modifying pci_attach_args:

Xen: according to Manuel Bouyer, writing to pci_attach_args in
pci_intr_map() was a leftover from Xen 2. Probably a bug. I
stopped writing it. I have not tested this change.

siside(4): sis_hostbr_match() needlessly wrote to pci_attach_args.
Probably a bug. I use a temporary variable. I have not tested this
change.

slide(4): sl82c105_chip_map() overwrote the caller's pci_attach_args.
Probably a bug. Use a local pci_attach_args. I have not tested
this change.

viaide(4): via_sata_chip_map() and via_sata_chip_map_new() overwrote the
caller's pci_attach_args. Probably a bug. Make a local copy of the
caller's pci_attach_args and modify the copy. I have not tested
this change.

While I'm here, make pci_mapreg_submap() static.

With these changes in place, I have tested the compilation of these
kernels:

alpha GENERIC
amd64 GENERIC XEN3_DOM0
arc GENERIC
atari HADES MILAN-PCIIDE
bebox GENERIC
cats GENERIC
cobalt GENERIC
evbarm-eb NSLU2
evbarm-el ADI_BRH ARMADILLO9 CP3100 GEMINI GEMINI_MASTER GEMINI_SLAVE GUMSTIX
HDL_G IMX31LITE INTEGRATOR IQ31244 IQ80310 IQ80321 IXDP425 IXM1200
KUROBOX_PRO LUBBOCK MARVELL_NAS NAPPI SHEEVAPLUG SMDK2800 TEAMASA_NPWR
TEAMASA_NPWR_FC TS7200 TWINTAIL ZAO425
evbmips-el AP30 DBAU1500 DBAU1550 MALTA MERAKI MTX-1 OMSAL400 RB153 WGT624V3
evbmips64-el XLSATX
evbppc EV64260 MPC8536DS MPC8548CDS OPENBLOCKS200 OPENBLOCKS266
OPENBLOCKS266_OPT P2020RDB PMPPC RB800 WALNUT
hp700 GENERIC
i386 ALL XEN3_DOM0 XEN3_DOMU
ibmnws GENERIC
macppc GENERIC
mvmeppc GENERIC
netwinder GENERIC
ofppc GENERIC
prep GENERIC
sandpoint GENERIC
sgimips GENERIC32_IP2x
sparc GENERIC_SUN4U KRUPS
sparc64 GENERIC

As of Sun Apr 3 15:26:26 CDT 2011, I could not compile these kernels
with or without my patches in place:

### evbmips-el GDIUM

nbmake: nbmake: don't know how to make /home/dyoung/pristine-nbsd/src/sys/arch/mips/mips/softintr.c. Stop

### evbarm-el MPCSA_GENERIC
src/sys/arch/evbarm/conf/MPCSA_GENERIC:318: ds1672rtc*: unknown device `ds1672rtc'

### ia64 GENERIC

/tmp/genassym.28085/assym.c: In function 'f111':
/tmp/genassym.28085/assym.c:67: error: invalid application of 'sizeof' to incomplete type 'struct pcb'
/tmp/genassym.28085/assym.c:76: error: dereferencing pointer to incomplete type

### sgimips GENERIC32_IP3x

crmfb.o: In function `crmfb_attach':
crmfb.c:(.text+0x2304): undefined reference to `ddc_read_edid'
crmfb.c:(.text+0x2304): relocation truncated to fit: R_MIPS_26 against `ddc_read_edid'
crmfb.c:(.text+0x234c): undefined reference to `edid_parse'
crmfb.c:(.text+0x234c): relocation truncated to fit: R_MIPS_26 against `edid_parse'
crmfb.c:(.text+0x2354): undefined reference to `edid_print'
crmfb.c:(.text+0x2354): relocation truncated to fit: R_MIPS_26 against `edid_print'
 1.8 15-Apr-2006  tsutsui branches: 1.8.88; 1.8.94;
Add support for pci_configure_bus(9) (a.k.a. options PCI_NETBSD_CONFIGURE)
so that PCI devices over ppb(4) work properly on PCI based NEC machines.

Tested on my NEC JC94 (Express5800/230) and 3Com 3C982-TXM,
which has a DEC/Intel 21154 PCI-PCI bridge and two 3C920 Ethernet chips.
 1.7 11-Dec-2005  christos branches: 1.7.4; 1.7.6; 1.7.8; 1.7.10; 1.7.12;
merge ktrace-lwp.
 1.6 22-Jan-2005  tsutsui branches: 1.6.8;
- remove __P()
- use ANSI function decls
- u_intNN_t -> uintNN_t
- some KNF
 1.5 29-Jul-2004  drochner branches: 1.5.4;
remove now unnecessary "pci_enumerate_bus" definitions
 1.4 15-May-2002  thorpej branches: 1.4.10;
Let machine-dependent code specify how to enumerate the bus.
Currently, everyone uses pci_enumerate_bus_generic().
 1.3 15-May-2002  thorpej Implement pci_decompose_tag().
 1.2 13-Jan-2001  ur branches: 1.2.4; 1.2.8;
Adapt to pci_intr_map change.
 1.1 09-Jun-2000  soda branches: 1.1.4; 1.1.6;
NEC RISCstation 2250 (RD-94) PCI bus support,
contributed by Shuichiro URATA <ur@a-r.org>
 1.1.6.3 18-Jan-2001  bouyer Sync with head (for UBC+NFS fixes, mostly).
 1.1.6.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.1.6.1 09-Jun-2000  bouyer file pci_machdep.h was added on branch thorpej_scsipi on 2000-11-20 20:00:37 +0000
 1.1.4.2 22-Jun-2000  minoura Sync w/ netbsd-1-5-base.
 1.1.4.1 09-Jun-2000  minoura file pci_machdep.h was added on branch minoura-xpg4dl on 2000-06-22 16:59:14 +0000
 1.2.8.1 20-Jun-2002  nathanw Catch up to -current.
 1.2.4.1 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.4.10.4 24-Jan-2005  skrll Sync with HEAD.
 1.4.10.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.4.10.2 18-Sep-2004  skrll Sync with HEAD.
 1.4.10.1 03-Aug-2004  skrll Sync with HEAD
 1.5.4.1 29-Apr-2005  kent sync with -current
 1.6.8.1 21-Jun-2006  yamt sync with head.
 1.7.12.1 24-May-2006  tron Merge 2006-05-24 NetBSD-current into the "peter-altq" branch.
 1.7.10.1 19-Apr-2006  elad sync with head - hopefully this will work
 1.7.8.1 24-May-2006  yamt sync with head.
 1.7.6.1 22-Apr-2006  simonb Sync with head.
 1.7.4.1 09-Sep-2006  rpaulo sync with head
 1.8.94.1 06-Jun-2011  jruoho Sync with HEAD.
 1.8.88.1 21-Apr-2011  rmind sync with head
 1.9.14.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.9.14.1 20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.9.10.3 16-Aug-2022  skrll Remove commits to wrong branch.
 1.9.10.2 16-Aug-2022  skrll Multiple inclusion protection.
 1.9.10.1 16-Aug-2022  skrll Whitespace
 1.9.4.2 22-May-2014  yamt sync with head.

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

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.9.4.1 30-Oct-2012  yamt sync with head
 1.10.2.1 18-May-2014  rmind sync with head
 1.5 11-Dec-2005  christos merge ktrace-lwp.
 1.4 22-Jan-2005  tsutsui - remove __P()
- use ANSI function decls
- u_intNN_t -> uintNN_t
- some KNF
 1.3 09-Jun-2000  soda branches: 1.3.4; 1.3.28; 1.3.36;
- NEC RISCstation 2250 (RD-94) PCI bus support,
contributed by Shuichiro URATA <ur@a-r.org>.
- Experimental coding for NEC RISCserver 2200 and RISCstation 2200.
(doesn't really work)
 1.2 23-Jan-2000  soda branches: 1.2.2;
merge to NetBSD-current (DeskStation and Algor support is currently broken)
 1.1 13-Mar-1996  jonathan branches: 1.1.1;
Initial revision
 1.1.1.4 22-Feb-2000  soda OpenBSD-2.6/arc
 1.1.1.3 23-Jan-2000  soda OpenBSD-2.1/arc
 1.1.1.2 23-Jan-2000  soda Moved from /cvsroot/syssrc/sys/arch/pica/include/pio.h,v
 1.1.1.1 13-Mar-1996  jonathan First commit of Per Fogelstrom's port to the Acer pica r4400/isa machine.
 1.2.2.1 22-Jun-2000  minoura Sync w/ netbsd-1-5-base.
 1.3.36.1 29-Apr-2005  kent sync with -current
 1.3.28.1 24-Jan-2005  skrll Sync with HEAD.
 1.3.4.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.3.4.1 09-Jun-2000  bouyer file pio.h was added on branch thorpej_scsipi on 2000-11-20 20:00:37 +0000
 1.8 11-Dec-2005  christos merge ktrace-lwp.
 1.7 03-Jun-2005  tsutsui Add const.
 1.6 03-Jun-2005  tsutsui Add const.
 1.5 22-Jan-2005  tsutsui Make all intr_mask value types uint32_t rather than int, u_int,
or unsigned etc.
 1.4 22-Jan-2005  tsutsui - remove __P()
- use ANSI function decls
- u_intNN_t -> uintNN_t
- some KNF
 1.3 31-Jan-2003  tsutsui branches: 1.3.2; 1.3.10;
Add c_nec_eisa_cons_init() for NEC-J96A and NEC-R96 which have
Cirrus Logic GD5428 ISA VGA console to initialize its registers properly
for generic vga(4) driver(s).
 1.2 30-Nov-2002  tsutsui Add a configuration of struct platform for NEC-J96A,
NEC Express5800/240 with R4400 and EISA.

XXX not functionally working yet. (hangs after mountroot via NFS)
 1.1 13-Jun-2001  soda branches: 1.1.2; 1.1.10;
introduce "struct platform", and remove "cputype" variable.

this change also includes a patch to obtain secondary cache size
from ARC firmware by Bob Meader, which was posted on port-arc on 18 Aug 2000.
this should make NEC Express RISCserver work.

this change obtains ID of display controller from ARC firmware, too.
 1.1.10.2 11-Dec-2002  thorpej Sync with HEAD.
 1.1.10.1 13-Jun-2001  thorpej file platform.h was added on branch nathanw_sa on 2002-12-11 05:52:10 +0000
 1.1.2.1 21-Jun-2001  nathanw Catch up to -current.
 1.3.10.1 29-Apr-2005  kent sync with -current
 1.3.2.2 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.3.2.1 24-Jan-2005  skrll Sync with HEAD.
 1.7 04-Sep-2001  simonb branches: 1.7.6;
Remove some more useless RCS ids.
 1.6 25-Apr-2001  thorpej branches: 1.6.2;
Remove some redundant definitions (they're already in <mips/pmap.h>).
 1.5 27-Jan-2000  soda branches: 1.5.6; 1.5.8;
make "make includes" work
 1.4 23-Jan-2000  soda merge to NetBSD-current (DeskStation and Algor support is currently broken)
 1.3 23-Jan-2000  soda Moved from /cvsroot/syssrc/sys/arch/pica/include/pmap.h,v
 1.2 23-Mar-1996  jonathan Replace the following header files from src/sys/arch/pica/include/
with versions that include equivalent files from <mips/include>.
(cvs magic copied the previous revisions, with history, to
src/sys/arch/mips/include).

ansi.h bsd-aout.h cdefs.h ecoff.h elf.h endian.h exec.h float.h ieeefp.h
kdbparam.h limits.h pcb.h pmap.h proc.h profile.h ptrace.h reg.h regdef.h
regnum.h reloc.h setjmp.h signal.h stdarg.h types.h varargs.h vmparam.h

NB: Some files (e.g., limits.h reloc.h pmap.h) add pica-specific #defines
to the generic mips support.
 1.1 13-Mar-1996  jonathan branches: 1.1.1;
Initial revision
 1.1.1.3 22-Feb-2000  soda OpenBSD-2.6/arc
 1.1.1.2 23-Jan-2000  soda OpenBSD-2.1/arc
 1.1.1.1 13-Mar-1996  jonathan First commit of Per Fogelstrom's port to the Acer pica r4400/isa machine.
 1.5.8.1 21-Jun-2001  nathanw Catch up to -current.
 1.5.6.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.5.6.1 27-Jan-2000  bouyer file pmap.h was added on branch thorpej_scsipi on 2000-11-20 20:00:37 +0000
 1.6.2.1 13-Sep-2001  thorpej Update the kqueue branch to HEAD.
 1.7.6.2 04-Sep-2001  simonb Remove some more useless RCS ids.
 1.7.6.1 04-Sep-2001  simonb file pmap.h was added on branch nathanw_sa on 2001-09-04 07:12:29 +0000
 1.2 12-Jul-2018  maxv Remove the kernel PMC code. Sent yesterday on tech-kern@.

This change:

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

* Removes the PMC code of ARM XSCALE.

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

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

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

* Removes the pmc_evid_t and pmc_ctr_t types.

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

pmc(9) is meant to be a general interface. Initially, the Intel XScale
counters are the only ones supported.
 1.1.204.1 10-Jun-2019  christos Sync with HEAD
 1.1.202.1 28-Jul-2018  pgoyette Sync with HEAD
 1.1.6.2 06-Sep-2002  jdolecek sync kqueue branch with HEAD
 1.1.6.1 07-Aug-2002  jdolecek file pmc.h was added on branch kqueue on 2002-09-06 08:32:08 +0000
 1.1.4.2 30-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-30 00:19:00 +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:17:47 +0000
 1.5 04-Sep-2001  simonb branches: 1.5.6;
Remove some more useless RCS ids.
 1.4 23-Jan-2000  soda branches: 1.4.6; 1.4.10;
merge to NetBSD-current (DeskStation and Algor support is currently broken)
 1.3 23-Jan-2000  soda Moved from /cvsroot/syssrc/sys/arch/pica/include/proc.h,v
 1.2 23-Mar-1996  jonathan Replace the following header files from src/sys/arch/pica/include/
with versions that include equivalent files from <mips/include>.
(cvs magic copied the previous revisions, with history, to
src/sys/arch/mips/include).

ansi.h bsd-aout.h cdefs.h ecoff.h elf.h endian.h exec.h float.h ieeefp.h
kdbparam.h limits.h pcb.h pmap.h proc.h profile.h ptrace.h reg.h regdef.h
regnum.h reloc.h setjmp.h signal.h stdarg.h types.h varargs.h vmparam.h

NB: Some files (e.g., limits.h reloc.h pmap.h) add pica-specific #defines
to the generic mips support.
 1.1 13-Mar-1996  jonathan branches: 1.1.1;
Initial revision
 1.1.1.3 22-Feb-2000  soda OpenBSD-2.6/arc
 1.1.1.2 23-Jan-2000  soda OpenBSD-2.1/arc
 1.1.1.1 13-Mar-1996  jonathan First commit of Per Fogelstrom's port to the Acer pica r4400/isa machine.
 1.4.10.1 13-Sep-2001  thorpej Update the kqueue branch to HEAD.
 1.4.6.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.4.6.1 23-Jan-2000  bouyer file proc.h was added on branch thorpej_scsipi on 2000-11-20 20:00:37 +0000
 1.5.6.2 04-Sep-2001  simonb Remove some more useless RCS ids.
 1.5.6.1 04-Sep-2001  simonb file proc.h was added on branch nathanw_sa on 2001-09-04 07:12:29 +0000
 1.5 04-Sep-2001  simonb branches: 1.5.6;
Remove some more useless RCS ids.
 1.4 23-Jan-2000  soda branches: 1.4.6; 1.4.10;
merge to NetBSD-current (DeskStation and Algor support is currently broken)
 1.3 23-Jan-2000  soda Moved from /cvsroot/syssrc/sys/arch/pica/include/profile.h,v
 1.2 23-Mar-1996  jonathan Replace the following header files from src/sys/arch/pica/include/
with versions that include equivalent files from <mips/include>.
(cvs magic copied the previous revisions, with history, to
src/sys/arch/mips/include).

ansi.h bsd-aout.h cdefs.h ecoff.h elf.h endian.h exec.h float.h ieeefp.h
kdbparam.h limits.h pcb.h pmap.h proc.h profile.h ptrace.h reg.h regdef.h
regnum.h reloc.h setjmp.h signal.h stdarg.h types.h varargs.h vmparam.h

NB: Some files (e.g., limits.h reloc.h pmap.h) add pica-specific #defines
to the generic mips support.
 1.1 13-Mar-1996  jonathan branches: 1.1.1;
Initial revision
 1.1.1.3 22-Feb-2000  soda OpenBSD-2.6/arc
 1.1.1.2 23-Jan-2000  soda OpenBSD-2.1/arc
 1.1.1.1 13-Mar-1996  jonathan First commit of Per Fogelstrom's port to the Acer pica r4400/isa machine.
 1.4.10.1 13-Sep-2001  thorpej Update the kqueue branch to HEAD.
 1.4.6.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.4.6.1 23-Jan-2000  bouyer file profile.h was added on branch thorpej_scsipi on 2000-11-20 20:00:37 +0000
 1.5.6.2 04-Sep-2001  simonb Remove some more useless RCS ids.
 1.5.6.1 04-Sep-2001  simonb file profile.h was added on branch nathanw_sa on 2001-09-04 07:12:29 +0000
 1.5 23-Jan-2000  soda branches: 1.5.6;
merge to NetBSD-current (DeskStation and Algor support is currently broken)
 1.4 23-Jan-2000  soda Moved from /cvsroot/syssrc/sys/arch/pica/include/psl.h,v
 1.3 23-Jun-1997  jonathan Delete entire contents. Just #include <mips/psl.h> until
all uses are changed.
 1.2 16-Jul-1996  thorpej RCS id police.
 1.1 13-Mar-1996  jonathan branches: 1.1.1;
Initial revision
 1.1.1.3 22-Feb-2000  soda OpenBSD-2.6/arc
 1.1.1.2 23-Jan-2000  soda OpenBSD-2.1/arc
 1.1.1.1 13-Mar-1996  jonathan First commit of Per Fogelstrom's port to the Acer pica r4400/isa machine.
 1.5.6.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.5.6.1 23-Jan-2000  bouyer file psl.h was added on branch thorpej_scsipi on 2000-11-20 20:00:37 +0000
 1.7 04-Sep-2001  simonb branches: 1.7.6;
Remove some more useless RCS ids.
 1.6 23-Jan-2000  soda branches: 1.6.6; 1.6.10;
merge to NetBSD-current (DeskStation and Algor support is currently broken)
 1.5 23-Jan-2000  soda Moved from /cvsroot/syssrc/sys/arch/pica/include/pte.h,v
 1.4 13-Oct-1996  jonathan Merge mips1 and mips3 pte/pmap code, pass 0;
* Move mips-I pte (TLBlo) definitions from pmax/include/pte.h
to mips/include/mips1_pte.h

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

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

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

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

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

* Change {pmax,pica}/include/pte.h to just do #include <mips/pte.h>.
 1.3 11-Aug-1996  jonathan * Apply LOCORE -> _LOCORE change so locore.S doesn't #include struct
definitions.

* Include <mips/cpuregs.h> in <cpu.h> so kern_clock.c has user/kernel
status bits in scope. Still needs work; r2k/r4k previous-mode bits
are different.

* Include <mips/mips_param.h> in pica/include/param.h, for locore declarations,
and definitions of vm and other constants that should be shared across
NetBSD/mips systems to esnsure user-level binary compatibility.
 1.2 16-Jul-1996  thorpej RCS id police.
 1.1 13-Mar-1996  jonathan branches: 1.1.1;
Initial revision
 1.1.1.3 22-Feb-2000  soda OpenBSD-2.6/arc
 1.1.1.2 23-Jan-2000  soda OpenBSD-2.1/arc
 1.1.1.1 13-Mar-1996  jonathan First commit of Per Fogelstrom's port to the Acer pica r4400/isa machine.
 1.6.10.1 13-Sep-2001  thorpej Update the kqueue branch to HEAD.
 1.6.6.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.6.6.1 23-Jan-2000  bouyer file pte.h was added on branch thorpej_scsipi on 2000-11-20 20:00:37 +0000
 1.7.6.2 04-Sep-2001  simonb Remove some more useless RCS ids.
 1.7.6.1 04-Sep-2001  simonb file pte.h was added on branch nathanw_sa on 2001-09-04 07:12:29 +0000
 1.5 08-Apr-2017  kamil Add new ptrace(2) API: PT_SETSTEP & PT_CLEARSTEP

These operations allow to mark thread as a single-stepping one.

This allows to i.a.:
- single step and emit a signal (PT_SETSTEP & PT_CONTINUE)
- single step and trace syscall entry and exit (PT_SETSTEP & PT_SYSCALL)

The former is useful for debuggers like GDB or LLDB. The latter can be used
to singlestep a usermode kernel. These examples don't limit use-cases of
this interface.

Define PT_*STEP only for platforms defining PT_STEP.

Add new ATF tests setstep[1234].

These ptrace(2) operations first appeared in FreeBSD.

Sponsored by <The NetBSD Foundation>
 1.4 23-Jan-2000  soda branches: 1.4.6; 1.4.180; 1.4.200; 1.4.204; 1.4.208;
merge to NetBSD-current (DeskStation and Algor support is currently broken)
 1.3 23-Jan-2000  soda Moved from /cvsroot/syssrc/sys/arch/pica/include/ptrace.h,v
 1.2 23-Mar-1996  jonathan Replace the following header files from src/sys/arch/pica/include/
with versions that include equivalent files from <mips/include>.
(cvs magic copied the previous revisions, with history, to
src/sys/arch/mips/include).

ansi.h bsd-aout.h cdefs.h ecoff.h elf.h endian.h exec.h float.h ieeefp.h
kdbparam.h limits.h pcb.h pmap.h proc.h profile.h ptrace.h reg.h regdef.h
regnum.h reloc.h setjmp.h signal.h stdarg.h types.h varargs.h vmparam.h

NB: Some files (e.g., limits.h reloc.h pmap.h) add pica-specific #defines
to the generic mips support.
 1.1 13-Mar-1996  jonathan branches: 1.1.1;
Initial revision
 1.1.1.3 22-Feb-2000  soda OpenBSD-2.6/arc
 1.1.1.2 23-Jan-2000  soda OpenBSD-2.1/arc
 1.1.1.1 13-Mar-1996  jonathan First commit of Per Fogelstrom's port to the Acer pica r4400/isa machine.
 1.4.208.1 21-Apr-2017  bouyer Sync with HEAD
 1.4.204.1 26-Apr-2017  pgoyette Sync with HEAD
 1.4.200.1 28-Aug-2017  skrll Sync with HEAD
 1.4.180.1 03-Dec-2017  jdolecek update from HEAD
 1.4.6.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.4.6.1 23-Jan-2000  bouyer file ptrace.h was added on branch thorpej_scsipi on 2000-11-20 20:00:37 +0000
 1.5 04-Sep-2001  simonb branches: 1.5.6;
Remove some more useless RCS ids.
 1.4 23-Jan-2000  soda branches: 1.4.6; 1.4.10;
merge to NetBSD-current (DeskStation and Algor support is currently broken)
 1.3 23-Jan-2000  soda Moved from /cvsroot/syssrc/sys/arch/pica/include/reg.h,v
 1.2 23-Mar-1996  jonathan Replace the following header files from src/sys/arch/pica/include/
with versions that include equivalent files from <mips/include>.
(cvs magic copied the previous revisions, with history, to
src/sys/arch/mips/include).

ansi.h bsd-aout.h cdefs.h ecoff.h elf.h endian.h exec.h float.h ieeefp.h
kdbparam.h limits.h pcb.h pmap.h proc.h profile.h ptrace.h reg.h regdef.h
regnum.h reloc.h setjmp.h signal.h stdarg.h types.h varargs.h vmparam.h

NB: Some files (e.g., limits.h reloc.h pmap.h) add pica-specific #defines
to the generic mips support.
 1.1 13-Mar-1996  jonathan branches: 1.1.1;
Initial revision
 1.1.1.3 22-Feb-2000  soda OpenBSD-2.6/arc
 1.1.1.2 23-Jan-2000  soda OpenBSD-2.1/arc
 1.1.1.1 13-Mar-1996  jonathan First commit of Per Fogelstrom's port to the Acer pica r4400/isa machine.
 1.4.10.1 13-Sep-2001  thorpej Update the kqueue branch to HEAD.
 1.4.6.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.4.6.1 23-Jan-2000  bouyer file reg.h was added on branch thorpej_scsipi on 2000-11-20 20:00:37 +0000
 1.5.6.2 04-Sep-2001  simonb Remove some more useless RCS ids.
 1.5.6.1 04-Sep-2001  simonb file reg.h was added on branch nathanw_sa on 2001-09-04 07:12:29 +0000
 1.7 04-Sep-2001  simonb branches: 1.7.6;
Remove some more useless RCS ids.
 1.6 23-Jan-2000  soda branches: 1.6.6; 1.6.10;
merge to NetBSD-current (DeskStation and Algor support is currently broken)
 1.5 23-Jan-2000  soda Moved from /cvsroot/syssrc/sys/arch/pica/include/regdef.h,v
 1.4 30-Mar-1999  soda regdef.h is back
 1.3 13-Mar-1999  drochner g/c regdef.h
 1.2 23-Mar-1996  jonathan Replace the following header files from src/sys/arch/pica/include/
with versions that include equivalent files from <mips/include>.
(cvs magic copied the previous revisions, with history, to
src/sys/arch/mips/include).

ansi.h bsd-aout.h cdefs.h ecoff.h elf.h endian.h exec.h float.h ieeefp.h
kdbparam.h limits.h pcb.h pmap.h proc.h profile.h ptrace.h reg.h regdef.h
regnum.h reloc.h setjmp.h signal.h stdarg.h types.h varargs.h vmparam.h

NB: Some files (e.g., limits.h reloc.h pmap.h) add pica-specific #defines
to the generic mips support.
 1.1 13-Mar-1996  jonathan branches: 1.1.1;
Initial revision
 1.1.1.3 22-Feb-2000  soda OpenBSD-2.6/arc
 1.1.1.2 23-Jan-2000  soda OpenBSD-2.1/arc
 1.1.1.1 13-Mar-1996  jonathan First commit of Per Fogelstrom's port to the Acer pica r4400/isa machine.
 1.6.10.1 13-Sep-2001  thorpej Update the kqueue branch to HEAD.
 1.6.6.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.6.6.1 23-Jan-2000  bouyer file regdef.h was added on branch thorpej_scsipi on 2000-11-20 20:00:38 +0000
 1.7.6.2 04-Sep-2001  simonb Remove some more useless RCS ids.
 1.7.6.1 04-Sep-2001  simonb file regdef.h was added on branch nathanw_sa on 2001-09-04 07:12:29 +0000
 1.5 04-Sep-2001  simonb branches: 1.5.6;
Remove some more useless RCS ids.
 1.4 23-Jan-2000  soda branches: 1.4.6; 1.4.10;
merge to NetBSD-current (DeskStation and Algor support is currently broken)
 1.3 23-Jan-2000  soda Moved from /cvsroot/syssrc/sys/arch/pica/include/regnum.h,v
 1.2 23-Mar-1996  jonathan Replace the following header files from src/sys/arch/pica/include/
with versions that include equivalent files from <mips/include>.
(cvs magic copied the previous revisions, with history, to
src/sys/arch/mips/include).

ansi.h bsd-aout.h cdefs.h ecoff.h elf.h endian.h exec.h float.h ieeefp.h
kdbparam.h limits.h pcb.h pmap.h proc.h profile.h ptrace.h reg.h regdef.h
regnum.h reloc.h setjmp.h signal.h stdarg.h types.h varargs.h vmparam.h

NB: Some files (e.g., limits.h reloc.h pmap.h) add pica-specific #defines
to the generic mips support.
 1.1 13-Mar-1996  jonathan branches: 1.1.1;
Initial revision
 1.1.1.3 22-Feb-2000  soda OpenBSD-2.6/arc
 1.1.1.2 23-Jan-2000  soda OpenBSD-2.1/arc
 1.1.1.1 13-Mar-1996  jonathan First commit of Per Fogelstrom's port to the Acer pica r4400/isa machine.
 1.4.10.1 13-Sep-2001  thorpej Update the kqueue branch to HEAD.
 1.4.6.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.4.6.1 23-Jan-2000  bouyer file regnum.h was added on branch thorpej_scsipi on 2000-11-20 20:00:38 +0000
 1.5.6.2 04-Sep-2001  simonb Remove some more useless RCS ids.
 1.5.6.1 04-Sep-2001  simonb file regnum.h was added on branch nathanw_sa on 2001-09-04 07:12:29 +0000
 1.5 09-Sep-2001  simonb branches: 1.5.4;
Clean up and standardise across MIPS ports.
 1.4 23-Jan-2000  soda branches: 1.4.6; 1.4.8; 1.4.10;
merge to NetBSD-current (DeskStation and Algor support is currently broken)
 1.3 23-Jan-2000  soda Moved from /cvsroot/syssrc/sys/arch/pica/include/reloc.h,v
 1.2 23-Mar-1996  jonathan Replace the following header files from src/sys/arch/pica/include/
with versions that include equivalent files from <mips/include>.
(cvs magic copied the previous revisions, with history, to
src/sys/arch/mips/include).

ansi.h bsd-aout.h cdefs.h ecoff.h elf.h endian.h exec.h float.h ieeefp.h
kdbparam.h limits.h pcb.h pmap.h proc.h profile.h ptrace.h reg.h regdef.h
regnum.h reloc.h setjmp.h signal.h stdarg.h types.h varargs.h vmparam.h

NB: Some files (e.g., limits.h reloc.h pmap.h) add pica-specific #defines
to the generic mips support.
 1.1 13-Mar-1996  jonathan branches: 1.1.1;
Initial revision
 1.1.1.3 22-Feb-2000  soda OpenBSD-2.6/arc
 1.1.1.2 23-Jan-2000  soda OpenBSD-2.1/arc
 1.1.1.1 13-Mar-1996  jonathan First commit of Per Fogelstrom's port to the Acer pica r4400/isa machine.
 1.4.10.1 13-Sep-2001  thorpej Update the kqueue branch to HEAD.
 1.4.8.1 01-Oct-2001  fvdl Catch up with -current.
 1.4.6.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.4.6.1 23-Jan-2000  bouyer file reloc.h was added on branch thorpej_scsipi on 2000-11-20 20:00:38 +0000
 1.5.4.2 09-Sep-2001  simonb Clean up and standardise across MIPS ports.
 1.5.4.1 09-Sep-2001  simonb file reloc.h was added on branch nathanw_sa on 2001-09-09 04:20:27 +0000
 1.2 05-Feb-2003  nakayama Replace machine/rnd.h with more appropriate name to share it
with cycle counter based microtime in kern/kern_microtime.c.
 1.1 06-Jun-2000  soren branches: 1.1.4; 1.1.6;
Add rnd(4) glue for the MIPS3 cycle counter.
 1.1.6.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.1.6.1 06-Jun-2000  bouyer file rnd.h was added on branch thorpej_scsipi on 2000-11-20 20:00:38 +0000
 1.1.4.2 22-Jun-2000  minoura Sync w/ netbsd-1-5-base.
 1.1.4.1 06-Jun-2000  minoura file rnd.h was added on branch minoura-xpg4dl on 2000-06-22 16:59:15 +0000
 1.2 09-Feb-2007  ad branches: 1.2.4;
Merge newlock2 to head.
 1.1 22-Dec-2006  ad branches: 1.1.2;
file rwlock.h was initially added on branch newlock2.
 1.1.2.1 22-Dec-2006  ad Pull in CPU specific stubs.
 1.2.4.2 26-Feb-2007  yamt sync with head.
 1.2.4.1 09-Feb-2007  yamt file rwlock.h was added on branch yamt-lazymbuf on 2007-02-26 09:05:51 +0000
 1.5 04-Sep-2001  simonb branches: 1.5.6;
Remove some more useless RCS ids.
 1.4 23-Jan-2000  soda branches: 1.4.6; 1.4.10;
merge to NetBSD-current (DeskStation and Algor support is currently broken)
 1.3 23-Jan-2000  soda Moved from /cvsroot/syssrc/sys/arch/pica/include/setjmp.h,v
 1.2 23-Mar-1996  jonathan Replace the following header files from src/sys/arch/pica/include/
with versions that include equivalent files from <mips/include>.
(cvs magic copied the previous revisions, with history, to
src/sys/arch/mips/include).

ansi.h bsd-aout.h cdefs.h ecoff.h elf.h endian.h exec.h float.h ieeefp.h
kdbparam.h limits.h pcb.h pmap.h proc.h profile.h ptrace.h reg.h regdef.h
regnum.h reloc.h setjmp.h signal.h stdarg.h types.h varargs.h vmparam.h

NB: Some files (e.g., limits.h reloc.h pmap.h) add pica-specific #defines
to the generic mips support.
 1.1 13-Mar-1996  jonathan branches: 1.1.1;
Initial revision
 1.1.1.3 22-Feb-2000  soda OpenBSD-2.6/arc
 1.1.1.2 23-Jan-2000  soda OpenBSD-2.1/arc
 1.1.1.1 13-Mar-1996  jonathan First commit of Per Fogelstrom's port to the Acer pica r4400/isa machine.
 1.4.10.1 13-Sep-2001  thorpej Update the kqueue branch to HEAD.
 1.4.6.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.4.6.1 23-Jan-2000  bouyer file setjmp.h was added on branch thorpej_scsipi on 2000-11-20 20:00:38 +0000
 1.5.6.2 04-Sep-2001  simonb Remove some more useless RCS ids.
 1.5.6.1 04-Sep-2001  simonb file setjmp.h was added on branch nathanw_sa on 2001-09-04 07:12:29 +0000
 1.5 04-Sep-2001  simonb branches: 1.5.6;
Remove some more useless RCS ids.
 1.4 23-Jan-2000  soda branches: 1.4.6; 1.4.10;
merge to NetBSD-current (DeskStation and Algor support is currently broken)
 1.3 23-Jan-2000  soda Moved from /cvsroot/syssrc/sys/arch/pica/include/signal.h,v
 1.2 23-Mar-1996  jonathan Replace the following header files from src/sys/arch/pica/include/
with versions that include equivalent files from <mips/include>.
(cvs magic copied the previous revisions, with history, to
src/sys/arch/mips/include).

ansi.h bsd-aout.h cdefs.h ecoff.h elf.h endian.h exec.h float.h ieeefp.h
kdbparam.h limits.h pcb.h pmap.h proc.h profile.h ptrace.h reg.h regdef.h
regnum.h reloc.h setjmp.h signal.h stdarg.h types.h varargs.h vmparam.h

NB: Some files (e.g., limits.h reloc.h pmap.h) add pica-specific #defines
to the generic mips support.
 1.1 13-Mar-1996  jonathan branches: 1.1.1;
Initial revision
 1.1.1.3 22-Feb-2000  soda OpenBSD-2.6/arc
 1.1.1.2 23-Jan-2000  soda OpenBSD-2.1/arc
 1.1.1.1 13-Mar-1996  jonathan First commit of Per Fogelstrom's port to the Acer pica r4400/isa machine.
 1.4.10.1 13-Sep-2001  thorpej Update the kqueue branch to HEAD.
 1.4.6.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.4.6.1 23-Jan-2000  bouyer file signal.h was added on branch thorpej_scsipi on 2000-11-20 20:00:38 +0000
 1.5.6.2 04-Sep-2001  simonb Remove some more useless RCS ids.
 1.5.6.1 04-Sep-2001  simonb file signal.h was added on branch nathanw_sa on 2001-09-04 07:12:29 +0000
 1.2 22-Feb-2000  soda merge changes between OpenBSD-2.1 and OpenBSD-2.6
 1.1 22-Feb-2000  soda branches: 1.1.1;
Initial revision
 1.1.1.1 22-Feb-2000  soda OpenBSD-2.6/arc
 1.6 17-Jul-2011  joerg Retire varargs.h support. Move machine/stdarg.h logic into MI
sys/stdarg.h and expect compiler to provide proper builtins, defaulting
to the GCC interface. lint still has a special fallback.
Reduce abuse of _BSD_VA_LIST_ by defining __va_list by default and
derive va_list as required by standards.
 1.5 04-Sep-2001  simonb branches: 1.5.6;
Remove some more useless RCS ids.
 1.4 23-Jan-2000  soda branches: 1.4.6; 1.4.10;
merge to NetBSD-current (DeskStation and Algor support is currently broken)
 1.3 23-Jan-2000  soda Moved from /cvsroot/syssrc/sys/arch/pica/include/stdarg.h,v
 1.2 23-Mar-1996  jonathan Replace the following header files from src/sys/arch/pica/include/
with versions that include equivalent files from <mips/include>.
(cvs magic copied the previous revisions, with history, to
src/sys/arch/mips/include).

ansi.h bsd-aout.h cdefs.h ecoff.h elf.h endian.h exec.h float.h ieeefp.h
kdbparam.h limits.h pcb.h pmap.h proc.h profile.h ptrace.h reg.h regdef.h
regnum.h reloc.h setjmp.h signal.h stdarg.h types.h varargs.h vmparam.h

NB: Some files (e.g., limits.h reloc.h pmap.h) add pica-specific #defines
to the generic mips support.
 1.1 13-Mar-1996  jonathan branches: 1.1.1;
Initial revision
 1.1.1.3 22-Feb-2000  soda OpenBSD-2.6/arc
 1.1.1.2 23-Jan-2000  soda OpenBSD-2.1/arc
 1.1.1.1 13-Mar-1996  jonathan First commit of Per Fogelstrom's port to the Acer pica r4400/isa machine.
 1.4.10.1 13-Sep-2001  thorpej Update the kqueue branch to HEAD.
 1.4.6.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.4.6.1 23-Jan-2000  bouyer file stdarg.h was added on branch thorpej_scsipi on 2000-11-20 20:00:38 +0000
 1.5.6.2 04-Sep-2001  simonb Remove some more useless RCS ids.
 1.5.6.1 04-Sep-2001  simonb file stdarg.h was added on branch nathanw_sa on 2001-09-04 07:12:29 +0000
 1.6 11-Dec-2005  christos merge ktrace-lwp.
 1.5 22-Jan-2005  tsutsui - remove __P()
- use ANSI function decls
- u_intNN_t -> uintNN_t
- some KNF
 1.4 23-Jan-2000  soda branches: 1.4.6; 1.4.30; 1.4.38;
merge to NetBSD-current (DeskStation and Algor support is currently broken)
 1.3 23-Jan-2000  soda Moved from /cvsroot/syssrc/sys/arch/pica/include/trap.h,v
 1.2 24-Mar-1996  jonathan Replace pica and pmax include/trap.h with versions that #include <mips/cpu.h>,
after merging the definition of T_USER in the pmax port, and moving
the result to mips/cpu.h.
 1.1 13-Mar-1996  jonathan branches: 1.1.1;
Initial revision
 1.1.1.3 22-Feb-2000  soda OpenBSD-2.6/arc
 1.1.1.2 23-Jan-2000  soda OpenBSD-2.1/arc
 1.1.1.1 13-Mar-1996  jonathan First commit of Per Fogelstrom's port to the Acer pica r4400/isa machine.
 1.4.38.1 29-Apr-2005  kent sync with -current
 1.4.30.1 24-Jan-2005  skrll Sync with HEAD.
 1.4.6.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.4.6.1 23-Jan-2000  bouyer file trap.h was added on branch thorpej_scsipi on 2000-11-20 20:00:38 +0000
 1.24 26-Jan-2017  christos provide __HAVE_COMPAT_NETBSD32 and fix multiple include protection consistently.
 1.23 17-Jul-2011  dyoung branches: 1.23.12; 1.23.30; 1.23.34; 1.23.38;
Switch MIPS and MIPS-ish architectures to new-style <sys/bus.h>. This
involves moving some inline bus_space(9) implementation into .c files.
 1.22 20-Jan-2008  joerg Now that __HAVE_TIMECOUNTER and __HAVE_GENERIC_TODR are invariants,
remove the conditionals and the code associated with the undef case.
 1.21 17-Oct-2007  garbled branches: 1.21.2; 1.21.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.20 14-Jul-2007  ad branches: 1.20.10;
Generic soft interrupts are mandatory.
 1.19 09-Sep-2006  gdamore branches: 1.19.10; 1.19.18;
Convert arc to timecounters, using common mips3 timecounters. We have not
converted the platform to use the MIPS3 cp0 for the hardclock interrupt yet,
but that should be done as well. In the meantime, there are no functional
changes.
 1.18 03-Sep-2006  gdamore branches: 1.18.2;
Convert to MI todr framework.
 1.17 03-Sep-2006  bjh21 Nothing in the kernel now tests __HAVE_NWSCONS, so stop defining it everywhere.
 1.16 11-Dec-2005  christos branches: 1.16.4; 1.16.8;
merge ktrace-lwp.
 1.15 23-Oct-2003  simonb branches: 1.15.16;
Remove OpenBSD and old NetBSD cvs id's; this file now looks nothing like
the original version.
 1.14 25-May-2003  tsutsui branches: 1.14.2;
Add generic software interrupt support with mips/softintr.c.
 1.13 05-Mar-2002  simonb Provide a L2 cache configuration function.
 1.12 28-Feb-2002  simonb Use "#define<tab>".
 1.11 13-Jun-2001  soda branches: 1.11.2; 1.11.8;
remove __BROKEN_CONFIG_UNIT_USAGE, finally (sorry to be late, cgd).
 1.10 13-Jun-2001  soda enable device_register(9) on arc port to parse boot device name
passed by ARC firmware correctly.
 1.9 17-Jun-2000  soda branches: 1.9.4; 1.9.6;
vga/pckbc attachment for jazz internal bus of Magnum derived machines
(including Pica, NEC RISCstation/RISCserver).
 1.8 09-Jun-2000  soda make paddr_t 64bit on arc port by introducing _MIPS_PADDR_T_64BIT.
 1.7 05-Feb-2000  cgd branches: 1.7.2;
add __BROKEN_CONFIG_UNIT_USAGE #define, becuase these ports do very
wrong things with device configuration data "cf_unit" information.
 1.6 23-Jan-2000  soda merge to NetBSD-current (DeskStation and Algor support is currently broken)
 1.5 23-Jan-2000  soda Moved from /cvsroot/syssrc/sys/arch/pica/include/types.h,v
 1.4 31-Aug-1998  cgd kill the last remnants of __BROKEN_INDIRECT_CONFIG. (only the pica port
used it, and it's non-working and apparently slated for replacement.)
 1.3 05-Dec-1996  cgd First step inn removing config_scan() and the hacks that gave devices
on indirect-config busses a (permanent) softc that they could share
between 'match' and 'attach' routines:

Define __BROKEN_INDIRECT_CONFIG so that old autoconfiguration
interfaces are used, until drivers are converted to use the new
interfaces (actually, converted back to use the _older_ interfaces)
which prohibit indirect configuration devices from receiving a softc
in their match routine that they can share with their attach routine.
 1.2 23-Mar-1996  jonathan Replace the following header files from src/sys/arch/pica/include/
with versions that include equivalent files from <mips/include>.
(cvs magic copied the previous revisions, with history, to
src/sys/arch/mips/include).

ansi.h bsd-aout.h cdefs.h ecoff.h elf.h endian.h exec.h float.h ieeefp.h
kdbparam.h limits.h pcb.h pmap.h proc.h profile.h ptrace.h reg.h regdef.h
regnum.h reloc.h setjmp.h signal.h stdarg.h types.h varargs.h vmparam.h

NB: Some files (e.g., limits.h reloc.h pmap.h) add pica-specific #defines
to the generic mips support.
 1.1 13-Mar-1996  jonathan branches: 1.1.1;
Initial revision
 1.1.1.3 22-Feb-2000  soda OpenBSD-2.6/arc
 1.1.1.2 23-Jan-2000  soda OpenBSD-2.1/arc
 1.1.1.1 13-Mar-1996  jonathan First commit of Per Fogelstrom's port to the Acer pica r4400/isa machine.
 1.7.2.1 22-Jun-2000  minoura Sync w/ netbsd-1-5-base.
 1.9.6.1 21-Jun-2001  nathanw Catch up to -current.
 1.9.4.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.9.4.1 17-Jun-2000  bouyer file types.h was added on branch thorpej_scsipi on 2000-11-20 20:00:38 +0000
 1.11.8.2 01-Apr-2002  nathanw Catch up to -current.
(CVS: It's not just a program. It's an adventure!)
 1.11.8.1 13-Jun-2001  nathanw file types.h was added on branch nathanw_sa on 2002-04-01 07:39:05 +0000
 1.11.2.1 16-Mar-2002  jdolecek Catch up with -current.
 1.14.2.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.14.2.2 18-Sep-2004  skrll Sync with HEAD.
 1.14.2.1 03-Aug-2004  skrll Sync with HEAD
 1.15.16.3 21-Jan-2008  yamt sync with head
 1.15.16.2 03-Sep-2007  yamt sync with head.
 1.15.16.1 30-Dec-2006  yamt sync with head.
 1.16.8.1 14-Sep-2006  yamt sync with head.
 1.16.4.1 09-Sep-2006  rpaulo sync with head
 1.18.2.1 18-Nov-2006  ad Sync with head.
 1.19.18.1 03-Oct-2007  garbled Sync with HEAD
 1.19.10.1 15-Jul-2007  ad Sync with head.
 1.20.10.2 23-Mar-2008  matt sync with HEAD
 1.20.10.1 06-Nov-2007  matt sync with HEAD
 1.21.8.1 23-Jan-2008  bouyer Sync with HEAD.
 1.21.2.1 18-Feb-2008  mjf Sync with HEAD.
 1.23.38.1 21-Apr-2017  bouyer Sync with HEAD
 1.23.34.1 20-Mar-2017  pgoyette Sync with HEAD
 1.23.30.1 05-Feb-2017  skrll Sync with HEAD
 1.23.12.1 03-Dec-2017  jdolecek update from HEAD
 1.6 17-Jul-2011  joerg Retire varargs.h support. Move machine/stdarg.h logic into MI
sys/stdarg.h and expect compiler to provide proper builtins, defaulting
to the GCC interface. lint still has a special fallback.
Reduce abuse of _BSD_VA_LIST_ by defining __va_list by default and
derive va_list as required by standards.
 1.5 04-Sep-2001  simonb branches: 1.5.6;
Remove some more useless RCS ids.
 1.4 23-Jan-2000  soda branches: 1.4.6; 1.4.10;
merge to NetBSD-current (DeskStation and Algor support is currently broken)
 1.3 23-Jan-2000  soda Moved from /cvsroot/syssrc/sys/arch/pica/include/varargs.h,v
 1.2 23-Mar-1996  jonathan Replace the following header files from src/sys/arch/pica/include/
with versions that include equivalent files from <mips/include>.
(cvs magic copied the previous revisions, with history, to
src/sys/arch/mips/include).

ansi.h bsd-aout.h cdefs.h ecoff.h elf.h endian.h exec.h float.h ieeefp.h
kdbparam.h limits.h pcb.h pmap.h proc.h profile.h ptrace.h reg.h regdef.h
regnum.h reloc.h setjmp.h signal.h stdarg.h types.h varargs.h vmparam.h

NB: Some files (e.g., limits.h reloc.h pmap.h) add pica-specific #defines
to the generic mips support.
 1.1 13-Mar-1996  jonathan branches: 1.1.1;
Initial revision
 1.1.1.3 22-Feb-2000  soda OpenBSD-2.6/arc
 1.1.1.2 23-Jan-2000  soda OpenBSD-2.1/arc
 1.1.1.1 13-Mar-1996  jonathan First commit of Per Fogelstrom's port to the Acer pica r4400/isa machine.
 1.4.10.1 13-Sep-2001  thorpej Update the kqueue branch to HEAD.
 1.4.6.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.4.6.1 23-Jan-2000  bouyer file varargs.h was added on branch thorpej_scsipi on 2000-11-20 20:00:38 +0000
 1.5.6.2 04-Sep-2001  simonb Remove some more useless RCS ids.
 1.5.6.1 04-Sep-2001  simonb file varargs.h was added on branch nathanw_sa on 2001-09-04 07:12:29 +0000
 1.12 14-May-2024  andvar fix recently committed typos by msaitoh in few more places, as well as few more.
mainly s/contigous/contiguous/ and s/miliseconds/milliseconds/ in comments.
 1.11 28-Mar-2019  christos Expose kernel variables only to kernel.
XXX: move this variable somewhere better?
 1.10 16-Dec-2009  matt branches: 1.10.64;
Fix various build with the 32bit mips ports after the mips64 merge.
 1.9 11-Dec-2005  christos branches: 1.9.78; 1.9.96;
merge ktrace-lwp.
 1.8 05-Nov-2005  tsutsui Adapt arc port to the new MI mips3 wired map functions.
Tested on NEC-RD94 with several PCI and jazzio devices.
 1.7 10-Dec-2002  thorpej branches: 1.7.6; 1.7.22;
Use __LDPGSZ (which must be == USRTEXT) as the text address for a.out
executables, and eliminate the USRTEXT constant, which was only used
by the a.out exec code.
 1.6 09-Jun-2000  soda branches: 1.6.4; 1.6.12;
NEC RISCstation 2250 (RD-94) PCI bus support,
contributed by Shuichiro URATA <ur@a-r.org>
 1.5 23-Jan-2000  soda branches: 1.5.2;
merge to NetBSD-current (DeskStation and Algor support is currently broken)
 1.4 23-Jan-2000  soda Moved from /cvsroot/syssrc/sys/arch/pica/include/vmparam.h,v
 1.3 25-Feb-1998  thorpej branches: 1.3.10;
PICA has one physical memory segment.
 1.2 23-Mar-1996  jonathan Replace the following header files from src/sys/arch/pica/include/
with versions that include equivalent files from <mips/include>.
(cvs magic copied the previous revisions, with history, to
src/sys/arch/mips/include).

ansi.h bsd-aout.h cdefs.h ecoff.h elf.h endian.h exec.h float.h ieeefp.h
kdbparam.h limits.h pcb.h pmap.h proc.h profile.h ptrace.h reg.h regdef.h
regnum.h reloc.h setjmp.h signal.h stdarg.h types.h varargs.h vmparam.h

NB: Some files (e.g., limits.h reloc.h pmap.h) add pica-specific #defines
to the generic mips support.
 1.1 13-Mar-1996  jonathan branches: 1.1.1;
Initial revision
 1.1.1.3 22-Feb-2000  soda OpenBSD-2.6/arc
 1.1.1.2 23-Jan-2000  soda OpenBSD-2.1/arc
 1.1.1.1 13-Mar-1996  jonathan First commit of Per Fogelstrom's port to the Acer pica r4400/isa machine.
 1.3.10.1 06-Aug-1999  chs take an initial guess at UBC parameters.
 1.5.2.1 22-Jun-2000  minoura Sync w/ netbsd-1-5-base.
 1.6.12.1 11-Dec-2002  thorpej Sync with HEAD.
 1.6.4.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.6.4.1 09-Jun-2000  bouyer file vmparam.h was added on branch thorpej_scsipi on 2000-11-20 20:00:38 +0000
 1.7.22.1 21-Jun-2006  yamt sync with head.
 1.7.6.1 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.9.96.1 31-Dec-2009  matt Use mips_page_physload and mips_init_lwp0_uarea.
 1.9.78.1 11-Mar-2010  yamt sync with head
 1.10.64.1 10-Jun-2019  christos Sync with HEAD
 1.2 11-Dec-2005  christos merge ktrace-lwp.
 1.1 08-May-2004  kleink branches: 1.1.2;
Factor out W{CHAR,INT}_{MAX,MIN} into their own header file.
 1.1.2.4 21-Sep-2004  skrll Fix the sync with head I botched.
 1.1.2.3 18-Sep-2004  skrll Sync with HEAD.
 1.1.2.2 03-Aug-2004  skrll Sync with HEAD
 1.1.2.1 08-May-2004  skrll file wchar_limits.h was added on branch ktrace-lwp on 2004-08-03 10:32:21 +0000
 1.3 21-Feb-2007  thorpej Replace the Mach-derived boolean_t type with the C99 bool type. A
future commit will replace use of TRUE and FALSE with true and false.
 1.2 11-Dec-2005  christos branches: 1.2.18; 1.2.28;
merge ktrace-lwp.
 1.1 05-Nov-2005  tsutsui branches: 1.1.2;
Adapt arc port to the new MI mips3 wired map functions.
Tested on NEC-RD94 with several PCI and jazzio devices.
 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:55:09 +0000
 1.2.28.1 27-Feb-2007  yamt - sync with head.
- move sched_changepri back to kern_synch.c as it doesn't know PPQ anymore.
 1.2.18.3 26-Feb-2007  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:49:07 +0000
 1.10 12-Jun-2006  tsutsui Move arcsisabr.c from arc/isa to arc/dti because it's DescStation specific.
 1.9 15-Apr-2006  tsutsui branches: 1.9.2;
Include "ioconf.h" rather than declare struct cfdriver foo_cd in each file.
 1.8 11-Dec-2005  christos branches: 1.8.4; 1.8.6; 1.8.8; 1.8.10; 1.8.12;
merge ktrace-lwp.
 1.7 22-Jan-2005  tsutsui branches: 1.7.8;
Make all intr_mask value types uint32_t rather than int, u_int,
or unsigned etc.
 1.6 22-Jan-2005  tsutsui - remove __P()
- use ANSI function decls
- u_intNN_t -> uintNN_t
- some KNF
 1.5 07-Aug-2003  agc branches: 1.5.8;
Move UCB-licensed code from 4-clause to 3-clause licence.

Patches provided by Joel Baker in PR 22364, verified by myself.
 1.4 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 13-Jun-2001  soda branches: 1.1.2; 1.1.4; 1.1.10;
split ISA bridge code into bus dependent frontends to remove "cputype"
variable.
 1.1.10.2 18-Oct-2002  nathanw Catch up to -current.
 1.1.10.1 13-Jun-2001  nathanw file arcsisabr.c was added on branch nathanw_sa on 2002-10-18 02:35:12 +0000
 1.1.4.1 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.2.1 21-Jun-2001  nathanw Catch up to -current.
 1.3.6.4 24-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.8.1 29-Apr-2005  kent sync with -current
 1.7.8.1 21-Jun-2006  yamt sync with head.
 1.8.12.1 24-May-2006  tron Merge 2006-05-24 NetBSD-current into the "peter-altq" branch.
 1.8.10.1 19-Apr-2006  elad sync with head - hopefully this will work
 1.8.8.2 26-Jun-2006  yamt sync with head.
 1.8.8.1 24-May-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.9.2.1 19-Jun-2006  chap Sync with head.
 1.2 23-Jan-2000  soda Moved to /cvsroot/syssrc/sys/arch/arc/include/isa_machdep.h,v
 1.1 23-Jan-2000  soda branches: 1.1.1;
Initial revision
 1.1.1.2 22-Feb-2000  soda OpenBSD-2.6/arc
 1.1.1.1 23-Jan-2000  soda OpenBSD-2.1/arc
 1.6 05-Jul-2008  tsutsui Split device_t/softc with misc related changes.
 1.5 25-Jun-2006  tsutsui branches: 1.5.58; 1.5.62; 1.5.64; 1.5.66;
Remove unused struct abus stuff.
 1.4 11-Dec-2005  christos branches: 1.4.4; 1.4.8; 1.4.16;
merge ktrace-lwp.
 1.3 22-Jan-2005  tsutsui branches: 1.3.8;
Make all intr_mask value types uint32_t rather than int, u_int,
or unsigned etc.
 1.2 07-Aug-2003  agc branches: 1.2.8;
Move UCB-licensed code from 4-clause to 3-clause licence.

Patches provided by Joel Baker in PR 22364, verified by myself.
 1.1 13-Jun-2001  soda branches: 1.1.2; 1.1.10; 1.1.26;
split ISA bridge code into bus dependent frontends to remove "cputype"
variable.
 1.1.26.4 24-Jan-2005  skrll Sync with HEAD.
 1.1.26.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.1.26.2 18-Sep-2004  skrll Sync with HEAD.
 1.1.26.1 03-Aug-2004  skrll Sync with HEAD
 1.1.10.2 13-Jun-2001  soda split ISA bridge code into bus dependent frontends to remove "cputype"
variable.
 1.1.10.1 13-Jun-2001  soda file isabrvar.h was added on branch nathanw_sa on 2001-06-13 15:03:26 +0000
 1.1.2.1 21-Jun-2001  nathanw Catch up to -current.
 1.2.8.1 29-Apr-2005  kent sync with -current
 1.3.8.1 30-Dec-2006  yamt sync with head.
 1.4.16.1 13-Jul-2006  gdamore Merge from HEAD.
 1.4.8.1 26-Jun-2006  yamt sync with head.
 1.4.4.1 09-Sep-2006  rpaulo sync with head
 1.5.66.1 18-Jul-2008  simonb Sync with head.
 1.5.64.1 18-Sep-2008  wrstuden Sync with wrstuden-revivesa-base-2.
 1.5.62.1 04-May-2009  yamt sync with head.
 1.5.58.1 28-Sep-2008  mjf Sync with HEAD.
 1.54 07-Dec-2023  thorpej extent(9) -> vmem(9)
 1.53 07-Aug-2021  thorpej Merge thorpej-cfargs2.
 1.52 24-Apr-2021  thorpej branches: 1.52.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.51 18-Nov-2020  thorpej branches: 1.51.2;
malloc(9) -> kmem(9)
 1.50 10-Nov-2019  chs branches: 1.50.8;
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.49 27-Oct-2012  chs branches: 1.49.38;
split device_t/softc for all remaining drivers.
replace "struct device *" with "device_t".
use device_xname(), device_unit(), etc.
 1.48 06-Mar-2011  tsutsui branches: 1.48.4; 1.48.14;
Remove trailing spaces.
 1.47 16-Dec-2009  matt branches: 1.47.4; 1.47.6;
Fix various build with the 32bit mips ports after the mips64 merge.
 1.46 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.45 19-Aug-2009  dyoung Define, and hook into the isa_chipset_tag_t, isabr_detach_hook().
 1.44 05-Jul-2008  tsutsui branches: 1.44.14;
Split device_t/softc with misc related changes.
 1.43 09-Apr-2008  tsutsui branches: 1.43.4; 1.43.6; 1.43.8;
Return a proper value from isabr_iointr() even in error path.
 1.42 14-Mar-2008  tsutsui Fix spl(9) botch in cpu_intr() on arc:
Don't enable unhandled interrupts before all interrupts are processed,
and also change all interrupt handlers to return processed MIPS_INT_MASK
values, rather than masked values of them.
 1.41 03-Dec-2007  ad branches: 1.41.10; 1.41.14;
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.40 17-Oct-2007  garbled branches: 1.40.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.39 11-Jul-2007  he branches: 1.39.8; 1.39.10;
Adapt to the new signature of callout_init().
 1.38 09-Jul-2007  ad Merge some of the less invasive changes from the vmlocking branch:

- kthread, callout, devsw API changes
- select()/poll() improvements
- miscellaneous MT safety improvements
 1.37 04-Mar-2007  christos branches: 1.37.2; 1.37.4; 1.37.10;
Kill caddr_t; there will be some MI fallout, but it will be fixed shortly.
 1.36 02-Jul-2006  tsutsui branches: 1.36.10;
Use register macro defined in <dev/ic/i8259reg.h>.
 1.35 25-Jun-2006  tsutsui Remove unused struct abus stuff.
 1.34 13-Jun-2006  tsutsui branches: 1.34.2;
Before calling the handler of timer at isa for hardclock(9),
clear MIPS_SR_INT_IE in struct clockframe status to prevent
unintentional spllowersoftclock(9) in hardclock(9).
This may be required because current CLKF_BASEPRI() implementation
of NetBSD/arc doesn't check ICU_MASK and all ISA devices share
the same MIPS CPU INT2 interrupt.

BTW, has anyone tried IPL_ICU_MASK on any mips ports?
 1.33 12-Jun-2006  tsutsui Account ISA interrupts by evcnt(9)
 1.32 12-Jun-2006  tsutsui - rename struct intrhand -> struct isa_intrhand
- remove unused ih_what member
 1.31 11-Jun-2006  tsutsui Check whether the specified interrupt handler is valid before referring it.
 1.30 15-Nov-2005  tsutsui branches: 1.30.4; 1.30.8; 1.30.14;
Explicitly enable interrupts before softintr is handled as noted
in the TODO file. At least this fixes "sn0: receive buffers exhausted"
messages on my NEC-JC94.

XXX: does anyone know what "Dont reenable" comment means, which was
XXX: there since initial import of pica (not arc).
 1.29 30-Oct-2005  tsutsui branches: 1.29.2;
Use mips3_cp0_count_read() for precise microtime(9).

XXX microtime(9) function should be moved from machdep.c to timer.c?
 1.28 22-Jan-2005  tsutsui branches: 1.28.8; 1.28.10;
Make all intr_mask value types uint32_t rather than int, u_int,
or unsigned etc.
 1.27 22-Jan-2005  tsutsui - remove __P()
- use ANSI function decls
- u_intNN_t -> uintNN_t
- some KNF
 1.26 30-Aug-2004  drochner branches: 1.26.4;
Phase out the use of a string as first "attach args" member to control
which bustype should be attached with a specific call to config_found()
(from a "mainbus" or a bus bridge).
Do it for isa/eisa/mca and pci/agp for now. These buses all attach to
an mi interface attribute "isabus", "eisabus" etc., and the autoconf
framework now allows to specify an interface attribute on config_found()
and config_search(), which limits the search of matching config data
to these which attach to that specific attribute.
So we basically have to call config_found_ia(..., "foobus", ...) where
such a bus is attached.
As a consequence, where a "mainbus" or alike also attaches other
devices (eg CPUs) which do not attach to a specific attribute yet,
we need at least pass an attribute name (different from "foobus") so
that the foo bus is not found at these places. This made some minor
changes necessary which are not obviously related to the mentioned buses.
 1.25 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.24 15-Jul-2003  lukem __KERNEL_RCSID()
 1.23 15-Jun-2003  tsutsui branches: 1.23.2;
Initialize and use extent maps for ISA bus space allocation.
Now isapnp on Tyne works properly.
 1.22 14-Jun-2003  tsutsui Set intrtype[] properly.

XXX ISA interrupts on Tyne does not work yet.
 1.21 14-Jun-2003  tsutsui Add isa_intr_alloc() for isapnp support.
 1.20 25-May-2003  tsutsui Add generic software interrupt support with mips/softintr.c.
 1.19 27-Apr-2003  tsutsui Remove register declarations.
 1.18 19-Jan-2003  tsutsui TAB/space cleanup.
 1.17 01-Jan-2003  thorpej Use aprint_normal for cfprint routines.
 1.16 04-Mar-2002  simonb branches: 1.16.2;
Don't "extern int cold;" - this is in <sys/kernel.h>.
 1.15 13-Jun-2001  soda branches: 1.15.2; 1.15.8;
split ISA bridge code into bus dependent frontends to remove "cputype"
variable.
 1.14 24-Dec-2000  ur branches: 1.14.2;
Switch pica to jazzio.
Split shared MD portion between algor and jazzio.
 1.13 29-Jun-2000  mrg branches: 1.13.2;
remove include of <vm/vm.h>. <vm/vm.h> -> <uvm/uvm_extern.h>
 1.12 20-Jun-2000  soda branches: 1.12.2;
for DeskStation RPC44
 1.11 17-Jun-2000  soda fix serious inconsistency against -current isa.
 1.10 09-Jun-2000  soda - NEC RISCstation 2250 (RD-94) PCI bus support,
contributed by Shuichiro URATA <ur@a-r.org>.
- Experimental coding for NEC RISCserver 2200 and RISCstation 2200.
(doesn't really work)
 1.9 04-Jun-2000  cgd Implement the more flexiable `evcnt' interface as discussed (briefly) on
tech-kern and now documented in evcnt(9).
 1.8 23-Mar-2000  thorpej branches: 1.8.2;
New callout mechanism with two major improvements over the old
timeout()/untimeout() API:
- Clients supply callout handle storage, thus eliminating problems of
resource allocation.
- Insertion and removal of callouts is constant time, important as
this facility is used quite a lot in the kernel.

The old timeout()/untimeout() API has been removed from the kernel.
 1.7 03-Mar-2000  soda NEC RISCstation 2250 (NEC-RD94) support.
contributed by Shuichiro URATA <ur@a-r.org>.
 1.6 22-Feb-2000  soda merge changes between OpenBSD-2.1 and OpenBSD-2.6
 1.5 23-Jan-2000  soda merge to NetBSD-current (DeskStation and Algor support is currently broken)
 1.4 23-Jan-2000  soda Moved from /cvsroot/syssrc/sys/arch/pica/isa/isa.c,v
 1.3 15-Aug-1998  mycroft Make copyright notices with my name consistent.
 1.2 11-Aug-1996  jonathan Fix old lint and changes not pulled back from pmax, pass1:
* include <mips/locore.h> where callbacks into locore are made, to get
prototypes in scope. Cast calls appropriately.
* include <mips/cpuregs.h>, not the old Sprite-derived <machine/machConst.h>.
machConst.h is deprecated.
* dk_establish() must return void, not int.
 1.1 13-Mar-1996  jonathan branches: 1.1.1;
Initial revision
 1.1.1.3 22-Feb-2000  soda OpenBSD-2.6/arc
 1.1.1.2 23-Jan-2000  soda OpenBSD-2.1/arc
 1.1.1.1 13-Mar-1996  jonathan First commit of Per Fogelstrom's port to the Acer pica r4400/isa machine.
 1.8.2.1 22-Jun-2000  minoura Sync w/ netbsd-1-5-base.
 1.12.2.2 20-Jun-2000  soda for DeskStation RPC44
 1.12.2.1 20-Jun-2000  soda file isabus.c was added on branch netbsd-1-5 on 2000-06-20 08:26:56 +0000
 1.13.2.3 05-Jan-2001  bouyer Sync with HEAD
 1.13.2.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.13.2.1 29-Jun-2000  bouyer file isabus.c was added on branch thorpej_scsipi on 2000-11-20 20:00:39 +0000
 1.14.2.1 21-Jun-2001  nathanw Catch up to -current.
 1.15.8.3 03-Jan-2003  thorpej Sync with HEAD.
 1.15.8.2 01-Apr-2002  nathanw Catch up to -current.
(CVS: It's not just a program. It's an adventure!)
 1.15.8.1 13-Jun-2001  nathanw file isabus.c was added on branch nathanw_sa on 2002-04-01 07:39:05 +0000
 1.15.2.1 16-Mar-2002  jdolecek Catch up with -current.
 1.16.2.1 17-Mar-2002  thorpej IPL_IMP -> IPL_VM
 1.23.2.7 11-Dec-2005  christos Sync with head.
 1.23.2.6 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.23.2.5 24-Jan-2005  skrll Sync with HEAD.
 1.23.2.4 21-Sep-2004  skrll Fix the sync with head I botched.
 1.23.2.3 18-Sep-2004  skrll Sync with HEAD.
 1.23.2.2 03-Sep-2004  skrll Sync with HEAD
 1.23.2.1 03-Aug-2004  skrll Sync with HEAD
 1.26.4.1 29-Apr-2005  kent sync with -current
 1.28.10.1 02-Nov-2005  yamt sync with head.
 1.28.8.5 17-Mar-2008  yamt sync with head.
 1.28.8.4 07-Dec-2007  yamt sync with head
 1.28.8.3 03-Sep-2007  yamt sync with head.
 1.28.8.2 30-Dec-2006  yamt sync with head.
 1.28.8.1 21-Jun-2006  yamt sync with head.
 1.29.2.1 22-Nov-2005  yamt sync with head.
 1.30.14.1 19-Jun-2006  chap Sync with head.
 1.30.8.2 11-Aug-2006  yamt sync with head
 1.30.8.1 26-Jun-2006  yamt sync with head.
 1.30.4.1 09-Sep-2006  rpaulo sync with head
 1.34.2.1 13-Jul-2006  gdamore Merge from HEAD.
 1.36.10.1 12-Mar-2007  rmind Sync with HEAD.
 1.37.10.1 03-Oct-2007  garbled Sync with HEAD
 1.37.4.1 11-Jul-2007  mjf Sync with head.
 1.37.2.2 03-Dec-2007  ad Sync with HEAD.
 1.37.2.1 15-Jul-2007  ad Sync with head.
 1.39.10.3 23-Mar-2008  matt sync with HEAD
 1.39.10.2 09-Jan-2008  matt sync with HEAD
 1.39.10.1 06-Nov-2007  matt sync with HEAD
 1.39.8.1 09-Dec-2007  jmcneill Sync with HEAD.
 1.40.2.1 08-Dec-2007  mjf Sync with HEAD.
 1.41.14.3 28-Sep-2008  mjf Sync with HEAD.
 1.41.14.2 02-Jun-2008  mjf Sync with HEAD.
 1.41.14.1 03-Apr-2008  mjf Sync with HEAD.
 1.41.10.1 24-Mar-2008  keiichi sync with head.
 1.43.8.1 18-Jul-2008  simonb Sync with head.
 1.43.6.1 18-Sep-2008  wrstuden Sync with wrstuden-revivesa-base-2.
 1.43.4.3 11-Mar-2010  yamt sync with head
 1.43.4.2 19-Aug-2009  yamt sync with head.
 1.43.4.1 04-May-2009  yamt sync with head.
 1.44.14.1 26-Aug-2009  matt Fixup (all but mipsco) to deal the new realities in mipsland.
 1.47.6.1 06-Jun-2011  jruoho Sync with HEAD.
 1.47.4.1 21-Apr-2011  rmind sync with head
 1.48.14.1 20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.48.4.1 30-Oct-2012  yamt sync with head
 1.49.38.1 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.50.8.1 14-Dec-2020  thorpej Sync w/ HEAD.
 1.51.2.1 02-Apr-2021  thorpej config_found_ia() -> config_found() w/ CFARG_IATTR.
 1.52.8.1 03-Aug-2021  thorpej Adapt to CFARGS().
 1.13 20-Dec-2023  thorpej Remove unnecessary <sys/malloc.h>.
 1.12 06-Mar-2011  tsutsui Remove trailing spaces.
 1.11 05-Jul-2008  tsutsui branches: 1.11.18; 1.11.24;
Split device_t/softc with misc related changes.
 1.10 04-Mar-2007  christos branches: 1.10.40; 1.10.44; 1.10.46; 1.10.48;
Kill caddr_t; there will be some MI fallout, but it will be fixed shortly.
 1.9 11-Dec-2005  christos branches: 1.9.26;
merge ktrace-lwp.
 1.8 22-Jan-2005  tsutsui branches: 1.8.8;
- remove __P()
- use ANSI function decls
- u_intNN_t -> uintNN_t
- some KNF
 1.7 15-Jul-2003  lukem branches: 1.7.8;
__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 29-Jun-2000  mrg branches: 1.4.2; 1.4.6; 1.4.10;
remove include of <vm/vm.h>. <vm/vm.h> -> <uvm/uvm_extern.h>
 1.3 22-Feb-2000  soda merge changes between OpenBSD-2.1 and OpenBSD-2.6
 1.2 23-Jan-2000  soda merge to NetBSD-current (DeskStation and Algor support is currently broken)
 1.1 23-Jan-2000  soda branches: 1.1.1;
Initial revision
 1.1.1.1 23-Jan-2000  soda OpenBSD-2.1/arc
 1.4.10.1 18-Oct-2002  nathanw Catch up to -current.
 1.4.6.1 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.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.4.2.1 29-Jun-2000  bouyer file isadma.c was added on branch thorpej_scsipi on 2000-11-20 20:00:39 +0000
 1.6.6.4 24-Jan-2005  skrll Sync with HEAD.
 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.7.8.1 29-Apr-2005  kent sync with -current
 1.8.8.1 03-Sep-2007  yamt sync with head.
 1.9.26.1 12-Mar-2007  rmind Sync with HEAD.
 1.10.48.1 18-Jul-2008  simonb Sync with head.
 1.10.46.1 18-Sep-2008  wrstuden Sync with wrstuden-revivesa-base-2.
 1.10.44.1 04-May-2009  yamt sync with head.
 1.10.40.1 28-Sep-2008  mjf Sync with HEAD.
 1.11.24.1 06-Jun-2011  jruoho Sync with HEAD.
 1.11.18.1 21-Apr-2011  rmind sync with head
 1.19 22-Jan-2022  skrll Ensure bus_dmatag_subregion is called with an inclusive max_addr
everywhere.
 1.18 17-Dec-2021  skrll Correct copypaste comment grammar.
 1.17 17-Dec-2021  skrll Trailing whitespace
 1.16 18-Nov-2020  thorpej malloc(9) -> kmem(9)
 1.15 26-Feb-2016  christos branches: 1.15.30;
PR/50855: David Binderman: Remove redundant code.
 1.14 11-Jun-2015  matt Add struct pmap_limits and pm_{min,max}addr from uvm/pmap/map.h and use it to
store avail_start, avail_end, virtual_start, and virtual_end.
Remove iospace and let emips just bump pmap_limits.virtual_start to get the
VA space it needs.
pmap_segtab.c is almost identical to uvm/pmap/pmap_segtab.c now. It won't
be long until we switch to the uvm/pmap one.
 1.13 01-Jul-2011  dyoung branches: 1.13.12; 1.13.30;
#include <sys/bus.h> instead of <machine/bus.h>.
 1.12 20-Feb-2011  matt Merge forward from matt-nb5-mips64.
Adapt to new interrupt/spl framework.
Add LP64 support.
 1.11 28-Apr-2008  martin branches: 1.11.18; 1.11.22; 1.11.28; 1.11.30;
Remove clause 3 and 4 from TNF licenses
 1.10 06-Mar-2007  he branches: 1.10.40; 1.10.42; 1.10.44;
More fixes after the caddr_t removal.
Mostly cast to char* for pointer arithmetic,
but also one missing indirection, and one "void *v, x;" fix.
 1.9 04-Mar-2007  christos Kill caddr_t; there will be some MI fallout, but it will be fixed shortly.
 1.8 11-Dec-2005  christos branches: 1.8.26;
merge ktrace-lwp.
 1.7 22-Jan-2005  tsutsui branches: 1.7.8;
- remove __P()
- use ANSI function decls
- u_intNN_t -> uintNN_t
- some KNF
 1.6 05-May-2003  fvdl branches: 1.6.2; 1.6.10;
Move definition of ISA_DMA_BOUNCE_THRESHOLD to dev/isa/isareg.h.
 1.5 19-Jan-2003  tsutsui TAB/space cleanup.
 1.4 14-Nov-2001  thorpej branches: 1.4.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.3 29-Jun-2000  mrg branches: 1.3.2; 1.3.6; 1.3.8;
remove include of <vm/vm.h>. <vm/vm.h> -> <uvm/uvm_extern.h>
 1.2 20-Jun-2000  soda branches: 1.2.2; 1.2.4;
for DeskStation RPC44
 1.1 20-Jun-2000  soda sys/arch/alpha/isa/isadma_bounce.c, for reference.
 1.2.4.2 22-Jun-2000  minoura Sync w/ netbsd-1-5-base.
 1.2.4.1 20-Jun-2000  minoura file isadma_bounce.c was added on branch minoura-xpg4dl on 2000-06-22 16:59:16 +0000
 1.2.2.2 20-Jun-2000  soda for DeskStation RPC44
 1.2.2.1 20-Jun-2000  soda file isadma_bounce.c was added on branch netbsd-1-5 on 2000-06-20 08:26:56 +0000
 1.3.8.1 24-Oct-2001  thorpej Update for the new cache code. bus_dmamap_sync is now optimized
for a virtually-indexed, write-back cache.
 1.3.6.1 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.3.2.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.3.2.1 29-Jun-2000  bouyer file isadma_bounce.c was added on branch thorpej_scsipi on 2000-11-20 20:00:39 +0000
 1.4.2.2 14-Nov-2001  thorpej Merge the thorpej-mips-cache branch onto the trunk. This is an
overhaul of how caches are handled for NetBSD's MIPS ports.
 1.4.2.1 14-Nov-2001  thorpej file isadma_bounce.c was added on branch nathanw_sa on 2001-11-14 18:15:15 +0000
 1.6.10.1 29-Apr-2005  kent sync with -current
 1.6.2.1 24-Jan-2005  skrll Sync with HEAD.
 1.7.8.1 03-Sep-2007  yamt sync with head.
 1.8.26.1 12-Mar-2007  rmind Sync with HEAD.
 1.10.44.1 16-May-2008  yamt sync with head.
 1.10.42.1 18-May-2008  yamt sync with head.
 1.10.40.1 02-Jun-2008  mjf Sync with HEAD.
 1.11.30.1 05-Mar-2011  bouyer Sync with HEAD
 1.11.28.1 06-Jun-2011  jruoho Sync with HEAD.
 1.11.22.1 05-Mar-2011  rmind sync with head
 1.11.18.1 14-Jan-2010  matt Deal with various changes with avail_end and avail_start, etc.
 1.13.30.2 19-Mar-2016  skrll Sync with HEAD
 1.13.30.1 22-Sep-2015  skrll Sync with HEAD
 1.13.12.1 03-Dec-2017  jdolecek update from HEAD
 1.15.30.1 14-Dec-2020  thorpej Sync w/ HEAD.
 1.2 23-Jan-2000  soda branches: 1.2.6;
merge to NetBSD-current (DeskStation and Algor support is currently broken)
 1.1 23-Jan-2000  soda branches: 1.1.1;
Initial revision
 1.1.1.1 23-Jan-2000  soda OpenBSD-2.1/arc
 1.2.6.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.2.6.1 23-Jan-2000  bouyer file isadmareg.h was added on branch thorpej_scsipi on 2000-11-20 20:00:39 +0000
 1.10 20-Dec-2023  thorpej Remove unnecessary <sys/malloc.h>.
 1.9 01-Jul-2011  dyoung #include <sys/bus.h> instead of <machine/bus.h>.
 1.8 28-Apr-2008  martin Remove clause 3 and 4 from TNF licenses
 1.7 11-Dec-2005  christos branches: 1.7.74; 1.7.76; 1.7.78;
merge ktrace-lwp.
 1.6 22-Jan-2005  tsutsui - remove __P()
- use ANSI function decls
- u_intNN_t -> uintNN_t
- some KNF
 1.5 14-Jun-2003  tsutsui branches: 1.5.2; 1.5.10;
Rewrite arc/isa/isapnp_machdep.c (based on i386).
It seems no one tried the previous code.
 1.4 27-Sep-2002  provos remove trailing \n in panic(). approved perry.
 1.3 09-Jun-2000  soda branches: 1.3.4; 1.3.8; 1.3.12;
- NEC RISCstation 2250 (RD-94) PCI bus support,
contributed by Shuichiro URATA <ur@a-r.org>.
- Experimental coding for NEC RISCserver 2200 and RISCstation 2200.
(doesn't really work)
 1.2 22-Feb-2000  soda branches: 1.2.2;
merge changes between OpenBSD-2.1 and OpenBSD-2.6
 1.1 22-Feb-2000  soda branches: 1.1.1;
Initial revision
 1.1.1.1 22-Feb-2000  soda OpenBSD-2.6/arc
 1.2.2.1 22-Jun-2000  minoura Sync w/ netbsd-1-5-base.
 1.3.12.1 18-Oct-2002  nathanw Catch up to -current.
 1.3.8.1 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.4.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.3.4.1 09-Jun-2000  bouyer file isapnp_machdep.c was added on branch thorpej_scsipi on 2000-11-20 20:00:39 +0000
 1.5.10.1 29-Apr-2005  kent sync with -current
 1.5.2.1 24-Jan-2005  skrll 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.2 22-Feb-2000  soda this file belongs to arc/include on NetBSD.
 1.1 22-Feb-2000  soda branches: 1.1.1;
Initial revision
 1.1.1.1 22-Feb-2000  soda OpenBSD-2.6/arc
 1.6 02-Feb-2002  jdolecek Reduce the massive code duplication regarding joy(4). Split it into
MI and MD parts, and make ISA/ISAPNP/PCI joy(4) attachments MI.
 1.5 13-Jun-2001  soda branches: 1.5.2; 1.5.4; 1.5.8;
use MI i8253reg.h instead of home grown one
 1.4 13-Jun-2001  wiz withough -> without
 1.3 20-Jun-2000  soda branches: 1.3.2; 1.3.4; 1.3.6;
for DeskStation RPC44
 1.2 22-Feb-2000  soda branches: 1.2.2;
merge changes between OpenBSD-2.1 and OpenBSD-2.6
 1.1 22-Feb-2000  soda branches: 1.1.1;
Initial revision
 1.1.1.1 22-Feb-2000  soda OpenBSD-2.6/arc
 1.2.2.1 22-Jun-2000  minoura Sync w/ netbsd-1-5-base.
 1.3.6.1 21-Jun-2001  nathanw Catch up to -current.
 1.3.4.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.3.4.1 20-Jun-2000  bouyer file joy.c was added on branch thorpej_scsipi on 2000-11-20 20:00:39 +0000
 1.3.2.2 20-Jun-2000  soda for DeskStation RPC44
 1.3.2.1 20-Jun-2000  soda file joy.c was added on branch netbsd-1-5 on 2000-06-20 08:26:56 +0000
 1.5.8.2 28-Feb-2002  nathanw Catch up to -current.
 1.5.8.1 13-Jun-2001  nathanw file joy.c was added on branch nathanw_sa on 2002-02-28 04:07:14 +0000
 1.5.4.1 10-Oct-2001  fvdl Convert all remaining devices.
 1.5.2.1 11-Feb-2002  jdolecek Sync w/ -current.
 1.4 18-Feb-2005  drochner The joystick driver is using mi timing code for many months.
Noone complained, so we can remove the unused md versions.
 1.3 22-Jan-2005  tsutsui branches: 1.3.2;
- remove __P()
- use ANSI function decls
- u_intNN_t -> uintNN_t
- some KNF
 1.2 15-Jul-2003  lukem branches: 1.2.8;
__KERNEL_RCSID()
 1.1 02-Feb-2002  jdolecek branches: 1.1.2; 1.1.4; 1.1.20;
Reduce the massive code duplication regarding joy(4). Split it into
MI and MD parts, and make ISA/ISAPNP/PCI joy(4) attachments MI.
 1.1.20.5 04-Mar-2005  skrll Sync with HEAD.

Hi Perry!
 1.1.20.4 24-Jan-2005  skrll Sync with HEAD.
 1.1.20.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.1.20.2 18-Sep-2004  skrll Sync with HEAD.
 1.1.20.1 03-Aug-2004  skrll Sync with HEAD
 1.1.4.2 28-Feb-2002  nathanw Catch up to -current.
 1.1.4.1 02-Feb-2002  nathanw file joy_timer.c was added on branch nathanw_sa on 2002-02-28 04:07:14 +0000
 1.1.2.2 11-Feb-2002  jdolecek Sync w/ -current.
 1.1.2.1 02-Feb-2002  jdolecek file joy_timer.c was added on branch kqueue on 2002-02-11 20:07:15 +0000
 1.2.8.1 29-Apr-2005  kent sync with -current
 1.3.2.1 19-Mar-2005  yamt sync with head. xen and whitespace. xen part is not finished.
 1.15 01-Jul-2011  dyoung #include <sys/bus.h> instead of <machine/bus.h>.
 1.14 08-Feb-2011  rmind Remove clause 3 (UCB advertising clause) from the University of Utah
copyright. Confirmed by Mike Hibler, mike at cs.utah.edu - thanks!
Also, merge UCB and Utah copyright texts back into one, as they
originally were.

Extra verification by snj@.
 1.13 29-Mar-2008  tsutsui branches: 1.13.26; 1.13.32; 1.13.34;
Don't forget to initialize sc_dev.
 1.12 28-Mar-2008  tsutsui Split device_t and softc for MI mc146818 clock,
and other related misc cosmetics.
 1.11 10-Jan-2008  tsutsui branches: 1.11.6;
Move todr_attach(9) calls from each MD attachment to MI mc146818_attach().
 1.10 11-Dec-2005  christos branches: 1.10.50; 1.10.56; 1.10.64;
merge ktrace-lwp.
 1.9 22-Jan-2005  tsutsui branches: 1.9.8;
- remove __P()
- use ANSI function decls
- u_intNN_t -> uintNN_t
- some KNF
 1.8 14-Sep-2004  drochner branches: 1.8.4;
adapt to ISA "unknown address" namespace separation (purely mechanical,
as far as "grep" reaches)
 1.7 29-Oct-2003  tsutsui Switch arc to use MI mc146818 tod driver.
 1.6 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.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 07-Jan-2002  thorpej Overhaul of the ISA autoconfiguration code to support direct
configuration of devices logically attached to the ISA bus:

* Change the isa_attach_args to have arrays of io, mem, irq, drq
resources.
* Add a "pnpnames" and a linked list of "pnpcompatnames" to the
isa_attach_args. If either of these members are non-NULL,
direct configuration of the bus is being performed. Add an
ISA_DIRECT_CONFIG() macro to test for this.
* Drivers are not allowed to modify the isa_attach_args unless
direct configuration is not being performed and the probe fucntion
is returning success.
* Adapt device drivers -- currently, all driver probe routines return
"no match" if ISA_DIRECT_CONFIG() evaluates to true.
 1.1 13-Jun-2001  soda branches: 1.1.2; 1.1.4; 1.1.10;
split clock_mc.c into interval timer driver (timer) and
real time clock driver (mcclock)
 1.1.10.4 18-Oct-2002  nathanw Catch up to -current.
 1.1.10.3 28-Feb-2002  nathanw Catch up to -current.
 1.1.10.2 11-Jan-2002  nathanw More catchup.
 1.1.10.1 13-Jun-2001  nathanw file mcclock_isa.c was added on branch nathanw_sa on 2002-01-11 23:37:57 +0000
 1.1.4.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.1.4.1 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.1.2.1 21-Jun-2001  nathanw Catch up to -current.
 1.4.6.4 24-Jan-2005  skrll Sync with HEAD.
 1.4.6.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.4.6.2 18-Sep-2004  skrll Sync with HEAD.
 1.4.6.1 03-Aug-2004  skrll Sync with HEAD
 1.8.4.1 29-Apr-2005  kent sync with -current
 1.9.8.1 21-Jan-2008  yamt sync with head
 1.10.64.1 10-Jan-2008  bouyer Sync with HEAD
 1.10.56.1 18-Feb-2008  mjf Sync with HEAD.
 1.10.50.1 23-Mar-2008  matt sync with HEAD
 1.11.6.1 03-Apr-2008  mjf Sync with HEAD.
 1.13.34.1 17-Feb-2011  bouyer Sync with HEAD
 1.13.32.1 06-Jun-2011  jruoho Sync with HEAD.
 1.13.26.1 05-Mar-2011  rmind sync with head
 1.2 28-Apr-2008  martin Remove clause 3 and 4 from TNF licenses
 1.1 13-Jun-2001  soda branches: 1.1.2; 1.1.10; 1.1.128; 1.1.130; 1.1.132;
split clock_mc.c into interval timer driver (timer) and
real time clock driver (mcclock)
 1.1.132.1 16-May-2008  yamt sync with head.
 1.1.130.1 18-May-2008  yamt sync with head.
 1.1.128.1 02-Jun-2008  mjf Sync with HEAD.
 1.1.10.2 13-Jun-2001  soda split clock_mc.c into interval timer driver (timer) and
real time clock driver (mcclock)
 1.1.10.1 13-Jun-2001  soda file mcclock_isavar.h was added on branch nathanw_sa on 2001-06-13 15:02:15 +0000
 1.1.2.1 21-Jun-2001  nathanw Catch up to -current.
 1.13 30-Aug-2023  andvar fix build for arc PCCONS/RPC44 kernel configs by replacing *pccons_isa_conf
definition with pccons_isavar.h include, which has extern declaration for it.

Discussed fix with phone@ via irc.
 1.12 01-Jul-2011  dyoung #include <sys/bus.h> instead of <machine/bus.h>.
 1.11 06-Mar-2011  tsutsui Remove trailing spaces.
 1.10 13-Sep-2008  tsutsui branches: 1.10.16; 1.10.22;
Fix more botches on device_t/softc split,
which didn't cause errors on compile.
Tested on gxemul.
 1.9 05-Jul-2008  tsutsui branches: 1.9.2;
Split device_t/softc with misc related changes.
 1.8 11-Dec-2005  christos branches: 1.8.74; 1.8.78; 1.8.80; 1.8.82;
merge ktrace-lwp.
 1.7 22-Jan-2005  tsutsui - remove __P()
- use ANSI function decls
- u_intNN_t -> uintNN_t
- some KNF
 1.6 14-Sep-2004  drochner branches: 1.6.4;
adapt to ISA "unknown address" namespace separation (purely mechanical,
as far as "grep" reaches)
 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 07-Jan-2002  thorpej Overhaul of the ISA autoconfiguration code to support direct
configuration of devices logically attached to the ISA bus:

* Change the isa_attach_args to have arrays of io, mem, irq, drq
resources.
* Add a "pnpnames" and a linked list of "pnpcompatnames" to the
isa_attach_args. If either of these members are non-NULL,
direct configuration of the bus is being performed. Add an
ISA_DIRECT_CONFIG() macro to test for this.
* Drivers are not allowed to modify the isa_attach_args unless
direct configuration is not being performed and the probe fucntion
is returning success.
* Adapt device drivers -- currently, all driver probe routines return
"no match" if ISA_DIRECT_CONFIG() evaluates to true.
 1.1 13-Jun-2001  soda branches: 1.1.2; 1.1.4; 1.1.10;
split pccons driver into "pccons" and "opms",
also split into bus-dependent frontend and bus-independent backend.
 1.1.10.4 18-Oct-2002  nathanw Catch up to -current.
 1.1.10.3 28-Feb-2002  nathanw Catch up to -current.
 1.1.10.2 11-Jan-2002  nathanw More catchup.
 1.1.10.1 13-Jun-2001  nathanw file opms_isa.c was added on branch nathanw_sa on 2002-01-11 23:37:58 +0000
 1.1.4.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.1.4.1 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.1.2.1 21-Jun-2001  nathanw Catch up to -current.
 1.4.6.4 24-Jan-2005  skrll Sync with HEAD.
 1.4.6.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.4.6.2 18-Sep-2004  skrll Sync with HEAD.
 1.4.6.1 03-Aug-2004  skrll Sync with HEAD
 1.6.4.1 29-Apr-2005  kent sync with -current
 1.8.82.1 18-Jul-2008  simonb Sync with head.
 1.8.80.2 24-Sep-2008  wrstuden Merge in changes between wrstuden-revivesa-base-2 and
wrstuden-revivesa-base-3.
 1.8.80.1 18-Sep-2008  wrstuden Sync with wrstuden-revivesa-base-2.
 1.8.78.1 04-May-2009  yamt sync with head.
 1.8.74.1 28-Sep-2008  mjf Sync with HEAD.
 1.9.2.1 19-Oct-2008  haad Sync with HEAD.
 1.10.22.1 06-Jun-2011  jruoho Sync with HEAD.
 1.10.16.1 21-Apr-2011  rmind sync with head
 1.12 01-Jul-2011  dyoung #include <sys/bus.h> instead of <machine/bus.h>.
 1.11 06-Mar-2011  tsutsui Remove trailing spaces.
 1.10 13-Sep-2008  tsutsui branches: 1.10.16; 1.10.22;
Fix more botches on device_t/softc split,
which didn't cause errors on compile.
Tested on gxemul.
 1.9 05-Jul-2008  tsutsui branches: 1.9.2;
Split device_t/softc with misc related changes.
 1.8 11-Dec-2005  christos branches: 1.8.74; 1.8.78; 1.8.80; 1.8.82;
merge ktrace-lwp.
 1.7 22-Jan-2005  tsutsui - remove __P()
- use ANSI function decls
- u_intNN_t -> uintNN_t
- some KNF
 1.6 14-Sep-2004  drochner branches: 1.6.4;
adapt to ISA "unknown address" namespace separation (purely mechanical,
as far as "grep" reaches)
 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 07-Jan-2002  thorpej Overhaul of the ISA autoconfiguration code to support direct
configuration of devices logically attached to the ISA bus:

* Change the isa_attach_args to have arrays of io, mem, irq, drq
resources.
* Add a "pnpnames" and a linked list of "pnpcompatnames" to the
isa_attach_args. If either of these members are non-NULL,
direct configuration of the bus is being performed. Add an
ISA_DIRECT_CONFIG() macro to test for this.
* Drivers are not allowed to modify the isa_attach_args unless
direct configuration is not being performed and the probe fucntion
is returning success.
* Adapt device drivers -- currently, all driver probe routines return
"no match" if ISA_DIRECT_CONFIG() evaluates to true.
 1.1 13-Jun-2001  soda branches: 1.1.2; 1.1.4; 1.1.10;
split pccons driver into "pccons" and "opms",
also split into bus-dependent frontend and bus-independent backend.
 1.1.10.4 18-Oct-2002  nathanw Catch up to -current.
 1.1.10.3 28-Feb-2002  nathanw Catch up to -current.
 1.1.10.2 11-Jan-2002  nathanw More catchup.
 1.1.10.1 13-Jun-2001  nathanw file pccons_isa.c was added on branch nathanw_sa on 2002-01-11 23:37:58 +0000
 1.1.4.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.1.4.1 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.1.2.1 21-Jun-2001  nathanw Catch up to -current.
 1.4.6.4 24-Jan-2005  skrll Sync with HEAD.
 1.4.6.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.4.6.2 18-Sep-2004  skrll Sync with HEAD.
 1.4.6.1 03-Aug-2004  skrll Sync with HEAD
 1.6.4.1 29-Apr-2005  kent sync with -current
 1.8.82.1 18-Jul-2008  simonb Sync with head.
 1.8.80.2 24-Sep-2008  wrstuden Merge in changes between wrstuden-revivesa-base-2 and
wrstuden-revivesa-base-3.
 1.8.80.1 18-Sep-2008  wrstuden Sync with wrstuden-revivesa-base-2.
 1.8.78.1 04-May-2009  yamt sync with head.
 1.8.74.1 28-Sep-2008  mjf Sync with HEAD.
 1.9.2.1 19-Oct-2008  haad Sync with HEAD.
 1.10.22.1 06-Jun-2011  jruoho Sync with HEAD.
 1.10.16.1 21-Apr-2011  rmind sync with head
 1.4 06-Mar-2011  tsutsui Remove trailing spaces.
 1.3 11-Dec-2005  christos branches: 1.3.100; 1.3.106;
merge ktrace-lwp.
 1.2 22-Jan-2005  tsutsui - remove __P()
- use ANSI function decls
- u_intNN_t -> uintNN_t
- some KNF
 1.1 13-Jun-2001  soda branches: 1.1.2; 1.1.10; 1.1.26; 1.1.34;
split pccons driver into "pccons" and "opms",
also split into bus-dependent frontend and bus-independent backend.
 1.1.34.1 29-Apr-2005  kent sync with -current
 1.1.26.1 24-Jan-2005  skrll Sync with HEAD.
 1.1.10.2 13-Jun-2001  soda split pccons driver into "pccons" and "opms",
also split into bus-dependent frontend and bus-independent backend.
 1.1.10.1 13-Jun-2001  soda file pccons_isavar.h was added on branch nathanw_sa on 2001-06-13 15:05:46 +0000
 1.1.2.1 21-Jun-2001  nathanw Catch up to -current.
 1.3.106.1 06-Jun-2011  jruoho Sync with HEAD.
 1.3.100.1 21-Apr-2011  rmind sync with head
 1.2 23-Jan-2000  soda branches: 1.2.6;
merge to NetBSD-current (DeskStation and Algor support is currently broken)
 1.1 13-Mar-1996  jonathan branches: 1.1.1;
Initial revision
 1.1.1.2 23-Jan-2000  soda Moved from /cvsroot/syssrc/sys/arch/pica/isa/spkrreg.h,v
 1.1.1.1 13-Mar-1996  jonathan First commit of Per Fogelstrom's port to the Acer pica r4400/isa machine.
 1.2.6.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.2.6.1 23-Jan-2000  bouyer file spkrreg.h was added on branch thorpej_scsipi on 2000-11-20 20:00:40 +0000
 1.14 01-Jul-2011  dyoung #include <sys/bus.h> instead of <machine/bus.h>.
 1.13 08-Feb-2011  rmind Remove clause 3 (UCB advertising clause) from the University of Utah
copyright. Confirmed by Mike Hibler, mike at cs.utah.edu - thanks!
Also, merge UCB and Utah copyright texts back into one, as they
originally were.

Extra verification by snj@.
 1.12 05-Jul-2008  tsutsui branches: 1.12.18; 1.12.24; 1.12.26;
Split device_t/softc with misc related changes.
 1.11 24-Jan-2007  hubertf branches: 1.11.44; 1.11.48; 1.11.50; 1.11.52;
Remove duplicate #includes, patch contributed in private mail
by Slava Semushin <slava.semushin@gmail.com>.

To verify that no nasty side effects of duplicate includes (or their
removal) have an effect here, I've compiled an i386/ALL kernel with
and without the patch, and the only difference in the resulting .o
files was in shifted line numbers in some assert() calls.
The comparison of the .o files was based on the output of "objdump -D".

Thanks to martin@ for the input on testing.
 1.10 11-Dec-2005  christos branches: 1.10.20;
merge ktrace-lwp.
 1.9 22-Jan-2005  tsutsui branches: 1.9.8;
- remove __P()
- use ANSI function decls
- u_intNN_t -> uintNN_t
- some KNF
 1.8 14-Sep-2004  drochner branches: 1.8.4;
adapt to ISA "unknown address" namespace separation (purely mechanical,
as far as "grep" reaches)
 1.7 07-Aug-2003  agc Move UCB-licensed code from 4-clause to 3-clause licence.

Patches provided by Joel Baker in PR 22364, verified by myself.
 1.6 15-Jul-2003  lukem __KERNEL_RCSID()
 1.5 14-Jun-2003  tsutsui branches: 1.5.2;
Add missed "\n" in attach message.
 1.4 02-Oct-2002  thorpej Use CFATTACH_DECL().
 1.3 27-Sep-2002  thorpej Declare all cfattach structures const.
 1.2 07-Jan-2002  thorpej Overhaul of the ISA autoconfiguration code to support direct
configuration of devices logically attached to the ISA bus:

* Change the isa_attach_args to have arrays of io, mem, irq, drq
resources.
* Add a "pnpnames" and a linked list of "pnpcompatnames" to the
isa_attach_args. If either of these members are non-NULL,
direct configuration of the bus is being performed. Add an
ISA_DIRECT_CONFIG() macro to test for this.
* Drivers are not allowed to modify the isa_attach_args unless
direct configuration is not being performed and the probe fucntion
is returning success.
* Adapt device drivers -- currently, all driver probe routines return
"no match" if ISA_DIRECT_CONFIG() evaluates to true.
 1.1 13-Jun-2001  soda branches: 1.1.2; 1.1.4; 1.1.10;
split clock_mc.c into interval timer driver (timer) and
real time clock driver (mcclock)
 1.1.10.4 18-Oct-2002  nathanw Catch up to -current.
 1.1.10.3 28-Feb-2002  nathanw Catch up to -current.
 1.1.10.2 11-Jan-2002  nathanw More catchup.
 1.1.10.1 13-Jun-2001  nathanw file timer_isa.c was added on branch nathanw_sa on 2002-01-11 23:37:58 +0000
 1.1.4.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.1.4.1 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.1.2.1 21-Jun-2001  nathanw Catch up to -current.
 1.5.2.4 24-Jan-2005  skrll Sync with HEAD.
 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.8.4.1 29-Apr-2005  kent sync with -current
 1.9.8.1 26-Feb-2007  yamt sync with head.
 1.10.20.1 01-Feb-2007  ad Sync with head.
 1.11.52.1 18-Jul-2008  simonb Sync with head.
 1.11.50.1 18-Sep-2008  wrstuden Sync with wrstuden-revivesa-base-2.
 1.11.48.1 04-May-2009  yamt sync with head.
 1.11.44.1 28-Sep-2008  mjf Sync with HEAD.
 1.12.26.1 17-Feb-2011  bouyer Sync with HEAD
 1.12.24.1 06-Jun-2011  jruoho Sync with HEAD.
 1.12.18.1 05-Mar-2011  rmind sync with head
 1.2 28-Apr-2008  martin Remove clause 3 and 4 from TNF licenses
 1.1 13-Jun-2001  soda branches: 1.1.2; 1.1.10; 1.1.128; 1.1.130; 1.1.132;
split clock_mc.c into interval timer driver (timer) and
real time clock driver (mcclock)
 1.1.132.1 16-May-2008  yamt sync with head.
 1.1.130.1 18-May-2008  yamt sync with head.
 1.1.128.1 02-Jun-2008  mjf Sync with HEAD.
 1.1.10.2 13-Jun-2001  soda split clock_mc.c into interval timer driver (timer) and
real time clock driver (mcclock)
 1.1.10.1 13-Jun-2001  soda file timer_isavar.h was added on branch nathanw_sa on 2001-06-13 15:02:15 +0000
 1.1.2.1 21-Jun-2001  nathanw Catch up to -current.
 1.3 13-Jun-2001  soda use MI i8253reg.h instead of home grown one
 1.2 23-Jan-2000  soda branches: 1.2.6;
merge to NetBSD-current (DeskStation and Algor support is currently broken)
 1.1 13-Mar-1996  jonathan branches: 1.1.1;
Initial revision
 1.1.1.2 23-Jan-2000  soda Moved from /cvsroot/syssrc/sys/arch/pica/isa/timerreg.h,v
 1.1.1.1 13-Mar-1996  jonathan First commit of Per Fogelstrom's port to the Acer pica r4400/isa machine.
 1.2.6.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.2.6.1 23-Jan-2000  bouyer file timerreg.h was added on branch thorpej_scsipi on 2000-11-20 20:00:40 +0000
 1.26 27-Dec-2019  msaitoh s/transfered/transferred/
 1.25 27-Oct-2012  chs branches: 1.25.38;
split device_t/softc for all remaining drivers.
replace "struct device *" with "device_t".
use device_xname(), device_unit(), etc.
 1.24 01-Jul-2011  dyoung branches: 1.24.2; 1.24.12;
#include <sys/bus.h> instead of <machine/bus.h>.
 1.23 14-May-2008  tsutsui Normalize my licenses.
 1.22 13-Apr-2008  tsutsui branches: 1.22.2; 1.22.4; 1.22.6;
Split device_t/softc for MI ncr53c9x and some related devices,
with various cleanup.
 1.21 11-Mar-2007  he branches: 1.21.38;
Well, as pointed out by is@ for the amiga port, the added indirection
is wrong. Restore previous behaviour, and add the now appropriate cast.
 1.20 06-Mar-2007  he branches: 1.20.2;
More fixes after the caddr_t removal.
Mostly cast to char* for pointer arithmetic,
but also one missing indirection, and one "void *v, x;" fix.
 1.19 04-Mar-2007  christos Kill caddr_t; there will be some MI fallout, but it will be fixed shortly.
 1.18 15-Apr-2006  tsutsui branches: 1.18.14;
Detect FAS216 chip on some Olivetti machines. (untested)
Based on a patch for old asc driver from Maki Kato:
http://mail-index.netbsd.org/port-arc/2000/10/07/0003.html
 1.17 11-Dec-2005  christos branches: 1.17.4; 1.17.6; 1.17.8; 1.17.10; 1.17.12;
merge ktrace-lwp.
 1.16 06-Nov-2005  tsutsui - <machine/param.h> says:
"XXX Maxphys temporary changed to 32K while SCSI driver is fixed."
I (and soda) don't know what the "SCSI driver" is, but add local
asc_minphys() to limit max xfer size only for asc.c for now.
- According to old asc.c driver, DMA_START() is called before NCR_CMD_DMA
command. I'm not sure which DMAC or ASC should be started first, but
move DMA command from asc_dma_go() to asc_dma_setup().
- Disable NCR_F_DMASELECT (which allows DMA xfer for select command)
since it caused some problem on PICA.

Now gxemul-0.3.6.2 reaches mountroot() sd0 (but can't exec /sbin/init yet).
 1.15 22-Jan-2005  tsutsui branches: 1.15.8;
- remove __P()
- use ANSI function decls
- u_intNN_t -> uintNN_t
- some KNF
 1.14 22-Jan-2005  tsutsui Unload xfer dmamap in asc_dma_stop().
 1.13 15-Jul-2003  lukem branches: 1.13.8;
__KERNEL_RCSID()
 1.12 04-May-2003  tsutsui branches: 1.12.2;
Rewrite jazzio asc SCSI driver to use MI ncr53c9x and bus_dma(9) with
BUS_DMA_ALLOCNOW flag for jazzio bus DMAC.

Tested on Soda's NEC Image RISCstation (which is an OEM of Acer PICA),
and should fix port-arc/13388.
 1.11 03-May-2003  wiz DMA, not dma nor Dma.
 1.10 17-Jan-2003  thorpej Merge the nathanw_sa branch.
 1.9 28-Dec-2002  tsutsui Change device names in struct pica_dev to match ones used by ARC BIOS.
All of these parameters should be obtained from ARC BIOS, and we will
switch to the way in future. As per discussion with soda.
 1.8 02-Oct-2002  thorpej Use CFATTACH_DECL().
 1.7 27-Sep-2002  thorpej Declare all cfattach structures const.
 1.6 14-Nov-2001  thorpej branches: 1.6.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.5 05-Jul-2001  thorpej branches: 1.5.2; 1.5.6;
If the target failed to respond to selection, use XS_SELTIMEOUT,
not XS_DRIVER_STUFFUP.
 1.4 24-Jun-2001  chs make this compile without DIAGNOSTIC.
 1.3 13-Jun-2001  soda remove "cputype", introduce "struct asc_config *asc_conf;"
to describe platform-dependent variants.
 1.2 25-Apr-2001  bouyer Pull up the thorpej_scsipi branch to main branch.
This is a completely rewritten scsipi_xfer execution engine, and the
associated changes to HBA drivers. Overview of changes & features:
- All xfers are queued in the mid-layer, rather than doing so in an
ad-hoc fashion in individual adapter drivers.
- Adapter/channel resource management in the mid-layer, avoids even trying
to start running an xfer if the adapter/channel doesn't have the resources.
- Better communication between the mid-layer and the adapters.
- Asynchronous event notification mechanism from adapter to mid-layer and
peripherals.
- Better peripheral queue management: freeze/thaw, sorted requeueing during
recovery, etc.
- Clean separation of peripherals, adapters, and adapter channels (no more
scsipi_link).
- Kernel thread for each scsipi_channel makes error recovery much easier
(no more dealing with interrupt context when recovering from an error).
- Mid-layer support for tagged queueing: commands can have the tag type
set explicitly, tag IDs are allocated in the mid-layer (thus eliminating
the need to use buggy tag ID allocation schemes in many adapter drivers).
- support for QUEUE FULL and CHECK CONDITION status in mid-layer; the command
will be requeued, or a REQUEST SENSE will be sent as appropriate.

Just before the merge syssrc has been tagged with thorpej_scsipi_beforemerge
 1.1 24-Dec-2000  ur branches: 1.1.2; 1.1.4;
Switch pica to jazzio.
Split shared MD portion between algor and jazzio.
 1.1.4.1 21-Jun-2001  nathanw Catch up to -current.
 1.1.2.4 05-Apr-2001  bouyer Make it compile.
 1.1.2.3 22-Jan-2001  bouyer first cut at converting to thorpej_scsipi
 1.1.2.2 05-Jan-2001  bouyer Sync with HEAD
 1.1.2.1 24-Dec-2000  bouyer file asc.c was added on branch thorpej_scsipi on 2001-01-05 17:33:57 +0000
 1.5.6.1 24-Oct-2001  thorpej Update for the new cache code. bus_dmamap_sync is now optimized
for a virtually-indexed, write-back cache.
 1.5.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.5.2.1 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.6.2.5 29-Dec-2002  thorpej Sync with HEAD.
 1.6.2.4 18-Oct-2002  nathanw Catch up to -current.
 1.6.2.3 05-Oct-2002  gmcgarry LWPify
 1.6.2.2 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.6.2.1 14-Nov-2001  nathanw file asc.c was added on branch nathanw_sa on 2002-06-24 22:03:43 +0000
 1.12.2.5 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.12.2.4 24-Jan-2005  skrll Sync with HEAD.
 1.12.2.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.12.2.2 18-Sep-2004  skrll Sync with HEAD.
 1.12.2.1 03-Aug-2004  skrll Sync with HEAD
 1.13.8.1 29-Apr-2005  kent sync with -current
 1.15.8.2 03-Sep-2007  yamt sync with head.
 1.15.8.1 21-Jun-2006  yamt sync with head.
 1.17.12.1 24-May-2006  tron Merge 2006-05-24 NetBSD-current into the "peter-altq" branch.
 1.17.10.1 19-Apr-2006  elad sync with head - hopefully this will work
 1.17.8.1 24-May-2006  yamt sync with head.
 1.17.6.1 22-Apr-2006  simonb Sync with head.
 1.17.4.1 09-Sep-2006  rpaulo sync with head
 1.18.14.1 12-Mar-2007  rmind Sync with HEAD.
 1.20.2.1 13-Mar-2007  ad Sync with head.
 1.21.38.1 02-Jun-2008  mjf Sync with HEAD.
 1.22.6.1 23-Jun-2008  wrstuden Sync w/ -current. 34 merge conflicts to follow.
 1.22.4.1 16-May-2008  yamt sync with head.
 1.22.2.1 18-May-2008  yamt sync with head.
 1.24.12.1 20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.24.2.1 30-Oct-2012  yamt sync with head
 1.25.38.1 08-Apr-2020  martin Merge changes from current as of 20200406
 1.3 04-May-2003  tsutsui Rewrite jazzio asc SCSI driver to use MI ncr53c9x and bus_dma(9) with
BUS_DMA_ALLOCNOW flag for jazzio bus DMAC.

Tested on Soda's NEC Image RISCstation (which is an OEM of Acer PICA),
and should fix port-arc/13388.
 1.2 03-May-2003  wiz DMA, not dma nor Dma.
 1.1 24-Dec-2000  ur branches: 1.1.2;
Switch pica to jazzio.
Split shared MD portion between algor and jazzio.
 1.1.2.2 05-Jan-2001  bouyer Sync with HEAD
 1.1.2.1 24-Dec-2000  bouyer file ascreg.h was added on branch thorpej_scsipi on 2001-01-05 17:33:57 +0000
 1.2 04-May-2003  tsutsui Rewrite jazzio asc SCSI driver to use MI ncr53c9x and bus_dma(9) with
BUS_DMA_ALLOCNOW flag for jazzio bus DMAC.

Tested on Soda's NEC Image RISCstation (which is an OEM of Acer PICA),
and should fix port-arc/13388.
 1.1 13-Jun-2001  soda branches: 1.1.2; 1.1.10;
remove "cputype", introduce "struct asc_config *asc_conf;"
to describe platform-dependent variants.
 1.1.10.2 13-Jun-2001  soda remove "cputype", introduce "struct asc_config *asc_conf;"
to describe platform-dependent variants.
 1.1.10.1 13-Jun-2001  soda file ascvar.h was added on branch nathanw_sa on 2001-06-13 15:10:36 +0000
 1.1.2.1 21-Jun-2001  nathanw Catch up to -current.
 1.18 18-Nov-2020  thorpej malloc(9) -> kmem(9)
 1.17 01-Jul-2011  dyoung branches: 1.17.66;
#include <sys/bus.h> instead of <machine/bus.h>.
 1.16 15-Nov-2010  uebayasi struct proc * deref.
 1.15 14-May-2008  tsutsui branches: 1.15.20;
Normalize my licenses.
 1.14 15-Jun-2006  tsutsui branches: 1.14.58; 1.14.60; 1.14.62; 1.14.64;
- don't forget to set _dm_vmspace in BUS_DMA_ALLOCNOW case
- also set ARC_DMAMAP_COHERENT hint in the case if buf is in KSEG1
(I'm not sure if ALLOCNOW is worth for linear buffer, i.e. nsegs=1 case)
 1.13 01-Mar-2006  yamt branches: 1.13.2; 1.13.8; 1.13.10;
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.12 11-Dec-2005  christos branches: 1.12.2; 1.12.4; 1.12.6;
merge ktrace-lwp.
 1.11 09-Mar-2005  matt branches: 1.11.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.10 22-Jan-2005  tsutsui branches: 1.10.2;
- remove __P()
- use ANSI function decls
- u_intNN_t -> uintNN_t
- some KNF
 1.9 14-Aug-2003  tsutsui branches: 1.9.8;
If BUS_DMA_ALLOCNOW is specified with nsegments > 1
in jazz_bus_dmamap_create() disable BUS_DMA_ALLOCNOW for now
rather than return ENOMEM. Required by some PCI devices (like pciide(4)).
XXX needs re-think how BUS_DMA_ALLOCNOW should be handled.
XXX (we should use another flag for the jazz internal DMAC?)
 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 10-Feb-2003  tsutsui Changes needed to bus_dma'fy fdc_jazzio.c and asc.c:
Modify jazz_bus_dmamap_create() to allocate jazz dmatlb
if BUS_DMA_ALLOCNOW flag is specified and nsegment is 1.
In this case, jazz_bus_dmamap_load() just call
jazz_dmatlb_map_va() to map CPU VA space into jazzio
VA space with pre-allocated TLB entries (like dma.c does).
bus_dmamap_load_{mbuf,uio,raw} functions are not allowed
if dmamap is created with BUS_DMA_ALLOCNOW flag.
(i.e. ALLOCNOW is valid only for linear buffers.)
 1.4 14-Nov-2001  thorpej branches: 1.4.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.3 29-Jun-2000  mrg branches: 1.3.2; 1.3.6; 1.3.8;
remove include of <vm/vm.h>. <vm/vm.h> -> <uvm/uvm_extern.h>
 1.2 26-Jun-2000  mrg remove/move more mach vm header files:

<vm/pglist.h> -> <uvm/uvm_pglist.h>
<vm/vm_inherit.h> -> <uvm/uvm_inherit.h>
<vm/vm_kern.h> -> into <uvm/uvm_extern.h>
<vm/vm_object.h> -> nothing
<vm/vm_pager.h> -> into <uvm/uvm_pager.h>

also includes a bunch of <vm/vm_page.h> include removals (due to redudancy
with <vm/vm.h>), and a scattering of other similar headers.
 1.1 09-Jun-2000  soda branches: 1.1.4;
bus_dma implementation for jazz dma tlb,
contributed by Shuichiro URATA <ur@a-r.org>
 1.1.4.2 22-Jun-2000  minoura Sync w/ netbsd-1-5-base.
 1.1.4.1 09-Jun-2000  minoura file bus_dma_jazz.c was added on branch minoura-xpg4dl on 2000-06-22 16:59:16 +0000
 1.3.8.1 24-Oct-2001  thorpej Update for the new cache code. bus_dmamap_sync is now optimized
for a virtually-indexed, write-back cache.
 1.3.6.1 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.3.2.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.3.2.1 29-Jun-2000  bouyer file bus_dma_jazz.c was added on branch thorpej_scsipi on 2000-11-20 20:00:40 +0000
 1.4.2.2 14-Nov-2001  thorpej Merge the thorpej-mips-cache branch onto the trunk. This is an
overhaul of how caches are handled for NetBSD's MIPS ports.
 1.4.2.1 14-Nov-2001  thorpej file bus_dma_jazz.c was added on branch nathanw_sa on 2001-11-14 18:15:16 +0000
 1.7.2.6 01-Apr-2005  skrll Sync with HEAD.
 1.7.2.5 24-Jan-2005  skrll Sync with HEAD.
 1.7.2.4 21-Sep-2004  skrll Fix the sync with head I botched.
 1.7.2.3 18-Sep-2004  skrll Sync with HEAD.
 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.9.8.1 29-Apr-2005  kent sync with -current
 1.10.2.1 19-Mar-2005  yamt sync with head. xen and whitespace. xen part is not finished.
 1.11.4.1 21-Jun-2006  yamt sync with head.
 1.12.6.1 22-Apr-2006  simonb Sync with head.
 1.12.4.1 09-Sep-2006  rpaulo sync with head
 1.12.2.1 18-Feb-2006  yamt adapt bus_dma implementations.
 1.13.10.1 13-Jul-2006  gdamore Merge from HEAD.
 1.13.8.1 19-Jun-2006  chap Sync with head.
 1.13.2.1 26-Jun-2006  yamt sync with head.
 1.14.64.1 23-Jun-2008  wrstuden Sync w/ -current. 34 merge conflicts to follow.
 1.14.62.1 16-May-2008  yamt sync with head.
 1.14.60.1 18-May-2008  yamt sync with head.
 1.14.58.1 02-Jun-2008  mjf Sync with HEAD.
 1.15.20.1 05-Mar-2011  rmind sync with head
 1.17.66.1 14-Dec-2020  thorpej Sync w/ HEAD.
 1.3 13-Jun-2001  soda split clock_mc.c into interval timer driver (timer) and
real time clock driver (mcclock)
 1.2 17-Feb-2001  tsutsui Add new arctype for NEC Express5800/230A.

XXX: we should have "sysconf" structures like pmax.
 1.1 24-Dec-2000  ur branches: 1.1.2;
Switch pica to jazzio.
Split shared MD portion between algor and jazzio.
 1.1.2.3 12-Mar-2001  bouyer Sync with HEAD.
 1.1.2.2 05-Jan-2001  bouyer Sync with HEAD
 1.1.2.1 24-Dec-2000  bouyer file clock_jazzio.c was added on branch thorpej_scsipi on 2001-01-05 17:33:57 +0000
 1.13 08-Dec-2018  thorpej Clean up initialization of com_regs structure, in preparation for
some additional changers.
 1.12 01-Jul-2011  dyoung branches: 1.12.52; 1.12.54;
#include <sys/bus.h> instead of <machine/bus.h>.
 1.11 28-Apr-2008  martin Remove clause 3 and 4 from TNF licenses
 1.10 14-Mar-2008  cube branches: 1.10.2; 1.10.4;
Split device_t and softc for all com(4) devices (well, everything that
uses a com_softc backend). Use proper types and ansify where appropriate.
 1.9 13-Jul-2006  gdamore branches: 1.9.34; 1.9.54; 1.9.58;
Add an option COM_REGMAP to allow com(4) to use an array of register indices.
This allows us to convert aucom to just another com attachment, and cleanup
some code in the com_arbus.c.

Additionally, we use a common com_cleanup routine rather than having a
zillion copies of it in the attachment points.

This has been tested on a number architectures, and it has been shown to get
close to comparable performance when COM_REGMAP is defined, and comparable
when it is not defined.

Approved by core@. Fixes PR port-evbmips/32362.
 1.8 11-Dec-2005  christos branches: 1.8.4; 1.8.8; 1.8.16;
merge ktrace-lwp.
 1.7 22-Jan-2005  tsutsui branches: 1.7.8;
- remove __P()
- use ANSI function decls
- u_intNN_t -> uintNN_t
- some KNF
 1.6 07-Aug-2003  agc branches: 1.6.8;
Move UCB-licensed code from 4-clause to 3-clause licence.

Patches provided by Joel Baker in PR 22364, verified by myself.
 1.5 15-Jul-2003  lukem __KERNEL_RCSID()
 1.4 28-Dec-2002  tsutsui branches: 1.4.2;
Change device names in struct pica_dev to match ones used by ARC BIOS.
All of these parameters should be obtained from ARC BIOS, and we will
switch to the way in future. As per discussion with soda.
 1.3 02-Oct-2002  thorpej Use CFATTACH_DECL().
 1.2 27-Sep-2002  thorpej Declare all cfattach structures const.
 1.1 24-Dec-2000  ur branches: 1.1.2; 1.1.6; 1.1.10;
Switch pica to jazzio.
Split shared MD portion between algor and jazzio.
 1.1.10.2 29-Dec-2002  thorpej Sync with HEAD.
 1.1.10.1 18-Oct-2002  nathanw Catch up to -current.
 1.1.6.1 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.2.2 05-Jan-2001  bouyer Sync with HEAD
 1.1.2.1 24-Dec-2000  bouyer file com_jazzio.c was added on branch thorpej_scsipi on 2001-01-05 17:33:57 +0000
 1.4.2.4 24-Jan-2005  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.8.1 29-Apr-2005  kent sync with -current
 1.7.8.2 17-Mar-2008  yamt sync with head.
 1.7.8.1 30-Dec-2006  yamt sync with head.
 1.8.16.3 17-Jun-2006  gdamore Undo the undo. Restore COM_INIT_REGS handling.
 1.8.16.2 17-Jun-2006  gdamore Undo COM_INIT_REGS.
 1.8.16.1 15-Jun-2006  gdamore ARC com(4) fixes. Somehow a syntax error in com_multi.c escaped me, too.
 1.8.8.1 11-Aug-2006  yamt sync with head
 1.8.4.1 09-Sep-2006  rpaulo sync with head
 1.9.58.2 02-Jun-2008  mjf Sync with HEAD.
 1.9.58.1 03-Apr-2008  mjf Sync with HEAD.
 1.9.54.1 24-Mar-2008  keiichi sync with head.
 1.9.34.1 23-Mar-2008  matt sync with HEAD
 1.10.4.1 16-May-2008  yamt sync with head.
 1.10.2.1 18-May-2008  yamt sync with head.
 1.12.54.1 10-Jun-2019  christos Sync with HEAD
 1.12.52.1 26-Dec-2018  pgoyette Sync with HEAD, resolve a few conflicts
 1.11 04-May-2003  tsutsui Remove (deprecated) DMA functions in jazz/dma.c which are no longer used.
jazz/dma.h now only contains DMAC register definitions.
 1.10 10-Feb-2003  tsutsui Switch fdc_jazzio.c to use bus_dma(9) with BUS_DMA_ALLOCNOW flag
and to use bus_space(9) for jazzio DMAC access.
 1.9 10-Feb-2003  tsutsui Call jazz_dmatlb_init() from jazzioattach() directly and
remove picaDmaInit() in dma.c.
 1.8 24-Jul-2001  tsutsui branches: 1.8.6;
Remove sn_dma_init() for the old Sonic driver.
 1.7 13-Jun-2001  soda branches: 1.7.2;
remove "cputype", introduce "struct jazzio_config *jazzio_conf;" to
describe platform-dependent variants. clean up jazz i/o interreupt
handling had device configuration information.
 1.6 31-May-2001  soda fix off by one error. extra one page is needed for the case where
buffer is not page aligned (e.g. raw i/o case).
 1.5 25-May-2001  tsutsui Fix pte_size values changed by my misunderstanding in the previous.
 1.4 22-May-2001  soda bus_space'fied fd driver by TSUTSUI Izumi,
works with PICA-61 and Microsoft-Jazz,
but still doesn't work with his NEC-JC94 (NEC Express 5800/230)
due to data overrun.
 1.3 15-May-2001  tsutsui Don't forget to set dma_count register in picaDmaStart().

XXX fd still does not work. (no longer hangs, but causes data_overrun)
 1.2 17-Feb-2001  tsutsui branches: 1.2.2;
Add new arctype for NEC Express5800/230A.

XXX: we should have "sysconf" structures like pmax.
 1.1 24-Dec-2000  ur branches: 1.1.2;
Switch pica to jazzio.
Split shared MD portion between algor and jazzio.
 1.1.2.3 12-Mar-2001  bouyer Sync with HEAD.
 1.1.2.2 05-Jan-2001  bouyer Sync with HEAD
 1.1.2.1 24-Dec-2000  bouyer file dma.c was added on branch thorpej_scsipi on 2001-01-05 17:33:57 +0000
 1.2.2.1 21-Jun-2001  nathanw Catch up to -current.
 1.7.2.1 03-Aug-2001  lukem update to -current
 1.8.6.2 24-Jul-2001  tsutsui Remove sn_dma_init() for the old Sonic driver.
 1.8.6.1 24-Jul-2001  tsutsui file dma.c was added on branch nathanw_sa on 2001-07-24 16:26:54 +0000
 1.5 04-May-2003  tsutsui Remove (deprecated) DMA functions in jazz/dma.c which are no longer used.
jazz/dma.h now only contains DMAC register definitions.
 1.4 10-Feb-2003  tsutsui Switch fdc_jazzio.c to use bus_dma(9) with BUS_DMA_ALLOCNOW flag
and to use bus_space(9) for jazzio DMAC access.
 1.3 10-Feb-2003  tsutsui Call jazz_dmatlb_init() from jazzioattach() directly and
remove picaDmaInit() in dma.c.
 1.2 24-Jul-2001  tsutsui branches: 1.2.6;
Remove sn_dma_init() for the old Sonic driver.
 1.1 24-Dec-2000  ur branches: 1.1.2; 1.1.6;
Switch pica to jazzio.
Split shared MD portion between algor and jazzio.
 1.1.6.1 03-Aug-2001  lukem update to -current
 1.1.2.2 05-Jan-2001  bouyer Sync with HEAD
 1.1.2.1 24-Dec-2000  bouyer file dma.h was added on branch thorpej_scsipi on 2001-01-05 17:33:57 +0000
 1.2.6.2 24-Jul-2001  tsutsui Remove sn_dma_init() for the old Sonic driver.
 1.2.6.1 24-Jul-2001  tsutsui file dma.h was added on branch nathanw_sa on 2001-07-24 16:26:54 +0000
 1.52 29-Aug-2023  andvar arc/fdc(4): fix printf specifiers for FD_DEBUG build.
 1.51 07-Aug-2021  thorpej Merge thorpej-cfargs2.
 1.50 24-Apr-2021  thorpej branches: 1.50.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.49 08-Feb-2019  mrg branches: 1.49.14;
make *fd*.c's fd_dev_to_type() always a static inline. some
have it as a const, and have code to copy the defaults to
modify them before using them, but that probably requires a
real test to feel confident in changing.
 1.48 03-Sep-2018  riastradh Rename min/max -> uimin/uimax for better honesty.

These functions are defined on unsigned int. The generic name
min/max should not silently truncate to 32 bits on 64-bit systems.
This is purely a name change -- no functional change intended.

HOWEVER! Some subsystems have

#define min(a, b) ((a) < (b) ? (a) : (b))
#define max(a, b) ((a) > (b) ? (a) : (b))

even though our standard name for that is MIN/MAX. Although these
may invite multiple evaluation bugs, these do _not_ cause integer
truncation.

To avoid `fixing' these cases, I first changed the name in libkern,
and then compile-tested every file where min/max occurred in order to
confirm that it failed -- and thus confirm that nothing shadowed
min/max -- before changing it.

I have left a handful of bootloaders that are too annoying to
compile-test, and some dead code:

cobalt ews4800mips hp300 hppa ia64 luna68k vax
acorn32/if_ie.c (not included in any kernels)
macppc/if_gm.c (superseded by gem(4))

It should be easy to fix the fallout once identified -- this way of
doing things fails safe, and the goal here, after all, is to _avoid_
silent integer truncations, not introduce them.

Maybe one day we can reintroduce min/max as type-generic things that
never silently truncate. But we should avoid doing that for a while,
so that existing code has a chance to be detected by the compiler for
conversion to uimin/uimax without changing the semantics until we can
properly audit it all. (Who knows, maybe in some cases integer
truncation is actually intended!)
 1.47 26-Apr-2015  mlelstv branches: 1.47.2; 1.47.8; 1.47.16; 1.47.18;
Use C99-style initializers for struct dkdriver.
 1.46 02-Jan-2015  christos We have three sets of DTYPE_ constants in the kernel:
altq Drop Type
disklabel Disk Type
file Descriptor Type
(not to mention constants that contain the string DTYPE).
Let's make them two, by changing the disklabel one to be DisK TYPE since the
other disklabel constants seem to do that. Not many userland programs use
these constants (and the ones that they do are mostly in ifdefs). They will
be fixed shortly.
 1.45 25-Jul-2014  dholland branches: 1.45.4;
Add d_discard to all struct cdevsw instances I could find.

All have been set to "nodiscard"; some should get a real implementation.
 1.44 25-Jul-2014  dholland Add d_discard to all struct bdevsw instances I could find.

I've set them all to nodiscard. Some of them (wd, dk, vnd, ld,
raidframe, maybe cgd) should be implemented for real.
 1.43 16-Mar-2014  dholland branches: 1.43.2;
Change (mostly mechanically) every cdevsw/bdevsw I can find to use
designated initializers.

I have not built every extant kernel so I have probably broken at
least one build; however I've also found and fixed some wrong
cdevsw/bdevsw entries so even if so I think we come out ahead.
 1.42 16-Dec-2013  mrg - remove unused variables
- use (void) when we don't care about the return value
- move variables inside their usage #if
 1.41 01-Jul-2011  dyoung branches: 1.41.2; 1.41.12; 1.41.16;
#include <sys/bus.h> instead of <machine/bus.h>.
 1.40 27-Sep-2009  tsutsui Replace shutdownhook_establish(9) with pmf_device_register1(9).
Tested on JC94.
 1.39 13-Jan-2009  yamt g/c BUFQ_FOO() macros and use bufq_foo() directly.
 1.38 16-Dec-2008  christos replace bitmask_snprintf(9) with snprintb(3)
 1.37 05-Jul-2008  tsutsui branches: 1.37.4;
Split device_t/softc with misc related changes.
 1.36 08-Jun-2008  tsutsui branches: 1.36.2;
Use device_lookup_private() to get softc.
 1.35 28-Apr-2008  martin branches: 1.35.2;
Remove clause 3 and 4 from TNF licenses
 1.34 17-Oct-2007  garbled branches: 1.34.16; 1.34.18; 1.34.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.33 08-Oct-2007  ad Merge disk init changes from the vmlocking branch. These seperate init /
destroy of 'struct disk' from attach / detach.
 1.32 30-Jul-2007  he branches: 1.32.4; 1.32.6; 1.32.8;
Change one overlooked label reference from "bad" to "done".
 1.31 29-Jul-2007  ad 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.30 09-Jul-2007  ad branches: 1.30.2; 1.30.4;
Merge some of the less invasive changes from the vmlocking branch:

- kthread, callout, devsw API changes
- select()/poll() improvements
- miscellaneous MT safety improvements
 1.29 06-Mar-2007  he branches: 1.29.2; 1.29.4; 1.29.10;
More fixes after the caddr_t removal.
Mostly cast to char* for pointer arithmetic,
but also one missing indirection, and one "void *v, x;" fix.
 1.28 04-Mar-2007  christos Kill caddr_t; there will be some MI fallout, but it will be fixed shortly.
 1.27 15-Apr-2006  tsutsui branches: 1.27.14;
Include "ioconf.h" rather than declare struct cfdriver foo_cd in each file.
 1.26 14-Apr-2006  blymn Make i/o statistics collection more generic, include tape drives and
nfs mounts in the set of devices that statistics will be reported on.
 1.25 23-Feb-2006  thorpej branches: 1.25.2; 1.25.4; 1.25.6;
Use device_parent().
 1.24 24-Dec-2005  perry branches: 1.24.2; 1.24.4; 1.24.6;
Remove leading __ from __(const|inline|signed|volatile) -- it is obsolete.
 1.23 11-Dec-2005  christos merge ktrace-lwp.
 1.22 15-Oct-2005  yamt - change the way to specify a bufq strategy. (by string rather than by number)
- rather than embedding bufq_state in driver softc,
have a pointer to the former.
- move bufq related functions from kern/subr_disk.c to kern/subr_bufq.c.
- rename method to strategy for consistency.
- move some definitions which don't need to be exposed to the rest of kernel
from sys/bufq.h to sys/bufq_impl.h.
(is it better to move it to kern/ or somewhere?)
- fix some obvious breakage in dev/qbus/ts.c. (not tested)
 1.21 03-Jun-2005  tsutsui branches: 1.21.2;
- constify
- remove arg names from prototypes
 1.20 22-Jan-2005  tsutsui Use TAILQ_* macro.
 1.19 22-Jan-2005  tsutsui - remove __P()
- use ANSI function decls
- u_intNN_t -> uintNN_t
- some KNF
 1.18 28-Oct-2004  yamt branches: 1.18.4;
move buffer queue related stuffs from buf.h to their own header, bufq.h.
 1.17 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.16 15-Jul-2003  lukem __KERNEL_RCSID()
 1.15 18-Jun-2003  drochner branches: 1.15.2;
don't #include <sys/dkstat.h> where it is (appearently) unused
 1.14 27-Apr-2003  tsutsui Remove register declarations.
 1.13 26-Jan-2003  tsutsui Fix further printf format warnings for FD_DEBUG, in the wake of daddr_t
having changed.
 1.12 25-Jan-2003  tsutsui Use PRId64 from <machine/int_fmtio.h> in printf format for daddr_t.
(Eventually jazzio would be moved into MI place :-)
 1.11 19-Jan-2003  tsutsui TAB/space cleanup.
 1.10 01-Jan-2003  thorpej Use aprint_normal for cfprint routines.
 1.9 01-Nov-2002  mrg implement separate read/write disk statistics:
- disk_unbusy() gets a new parameter to tell the IO direction.
- struct disk_sysctl gets 4 new members for read/write bytes/transfers.
when processing hw.diskstats, add the read&write bytes/transfers for
the old combined stats to attempt to keep backwards compatibility.

unfortunately, due to multiple bugs, this will cause new kernels and old
vmstat/iostat/systat programs to fail. however, the next time this is
change it will not fail again.

this is just the kernel portion.
 1.8 23-Oct-2002  jdolecek merge kqueue branch into -current

kqueue provides a stateful and efficient event notification framework
currently supported events include socket, file, directory, fifo,
pipe, tty and device changes, and monitoring of processes and signals

kqueue is supported by all writable filesystems in NetBSD tree
(with exception of Coda) and all device drivers supporting poll(2)

based on work done by Jonathan Lemon for FreeBSD
initial NetBSD port done by Luke Mewburn and Jason Thorpe
 1.7 02-Oct-2002  thorpej Use CFATTACH_DECL().
 1.6 27-Sep-2002  thorpej Declare all cfattach structures const.
 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 31-Jul-2002  hannken Convert to new device buffer queue interface.

Approved by: Noriyuki Soda <soda@netbsd.org>
 1.3 08-Jul-2001  wiz branches: 1.3.2; 1.3.4; 1.3.8; 1.3.16;
Correct various misspellings of 'transfer' and inflected forms.
 1.2 22-May-2001  soda bus_space'fied fd driver by TSUTSUI Izumi,
works with PICA-61 and Microsoft-Jazz,
but still doesn't work with his NEC-JC94 (NEC Express 5800/230)
due to data overrun.
 1.1 24-Dec-2000  ur branches: 1.1.2; 1.1.4;
Switch pica to jazzio.
Split shared MD portion between algor and jazzio.
 1.1.4.1 21-Jun-2001  nathanw Catch up to -current.
 1.1.2.2 05-Jan-2001  bouyer Sync with HEAD
 1.1.2.1 24-Dec-2000  bouyer file fd.c was added on branch thorpej_scsipi on 2001-01-05 17:33:57 +0000
 1.3.16.2 30-Aug-2002  gehenna catch up with -current.
 1.3.16.1 17-May-2002  gehenna Add device switch.
 1.3.8.6 03-Jan-2003  thorpej Sync with HEAD.
 1.3.8.5 11-Nov-2002  nathanw Catch up to -current
 1.3.8.4 18-Oct-2002  nathanw Catch up to -current.
 1.3.8.3 17-Sep-2002  nathanw Catch up to -current.
 1.3.8.2 01-Aug-2002  nathanw Catch up to -current.
 1.3.8.1 08-Jul-2001  nathanw file fd.c was added on branch nathanw_sa on 2002-08-01 02:41:10 +0000
 1.3.4.1 10-Oct-2001  fvdl Convert all remaining devices.
 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 06-Sep-2002  jdolecek sync kqueue branch with HEAD
 1.15.2.7 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.15.2.6 24-Jan-2005  skrll Sync with HEAD.
 1.15.2.5 28-Nov-2004  skrll Adapt to branch
 1.15.2.4 02-Nov-2004  skrll Sync with HEAD.
 1.15.2.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.15.2.2 18-Sep-2004  skrll Sync with HEAD.
 1.15.2.1 03-Aug-2004  skrll Sync with HEAD
 1.18.4.1 29-Apr-2005  kent sync with -current
 1.21.2.3 27-Oct-2007  yamt sync with head.
 1.21.2.2 03-Sep-2007  yamt sync with head.
 1.21.2.1 21-Jun-2006  yamt sync with head.
 1.24.6.1 22-Apr-2006  simonb Sync with head.
 1.24.4.1 09-Sep-2006  rpaulo sync with head
 1.24.2.1 01-Mar-2006  yamt sync with head.
 1.25.6.1 24-May-2006  tron Merge 2006-05-24 NetBSD-current into the "peter-altq" branch.
 1.25.4.1 19-Apr-2006  elad sync with head - hopefully this will work
 1.25.2.1 24-May-2006  yamt sync with head.
 1.27.14.1 12-Mar-2007  rmind Sync with HEAD.
 1.29.10.2 16-Oct-2007  garbled Sync with HEAD
 1.29.10.1 03-Oct-2007  garbled Sync with HEAD
 1.29.4.1 11-Jul-2007  mjf Sync with head.
 1.29.2.3 20-Aug-2007  ad - Alter disk attach/detach to fix a panic when closing a vnd device.
- Sync with HEAD.
 1.29.2.2 19-Aug-2007  ad - Back out the biodone() changes.
- Eliminate B_ERROR (from HEAD).
 1.29.2.1 15-Jul-2007  ad Sync with head.
 1.30.4.1 15-Aug-2007  skrll Sync with HEAD.
 1.30.2.1 07-Aug-2007  matt Sync with HEAD.
 1.32.8.1 14-Oct-2007  yamt sync with head.
 1.32.6.1 06-Nov-2007  matt sync with HEAD
 1.32.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.34.20.3 11-Mar-2010  yamt sync with head
 1.34.20.2 04-May-2009  yamt sync with head.
 1.34.20.1 16-May-2008  yamt sync with head.
 1.34.18.2 17-Jun-2008  yamt sync with head.
 1.34.18.1 18-May-2008  yamt sync with head.
 1.34.16.4 17-Jan-2009  mjf Sync with HEAD.
 1.34.16.3 28-Sep-2008  mjf Sync with HEAD.
 1.34.16.2 29-Jun-2008  mjf Sync with HEAD.
 1.34.16.1 02-Jun-2008  mjf Sync with HEAD.
 1.35.2.2 18-Sep-2008  wrstuden Sync with wrstuden-revivesa-base-2.
 1.35.2.1 23-Jun-2008  wrstuden Sync w/ -current. 34 merge conflicts to follow.
 1.36.2.1 18-Jul-2008  simonb Sync with head.
 1.37.4.1 19-Jan-2009  skrll Sync with HEAD.
 1.41.16.1 18-May-2014  rmind sync with head
 1.41.12.2 03-Dec-2017  jdolecek update from HEAD
 1.41.12.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.41.2.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.43.2.1 10-Aug-2014  tls Rebase.
 1.45.4.2 06-Jun-2015  skrll Sync with HEAD
 1.45.4.1 06-Apr-2015  skrll Sync with HEAD
 1.47.18.1 10-Jun-2019  christos Sync with HEAD
 1.47.16.1 06-Sep-2018  pgoyette Sync with HEAD

Resolve a couple of conflicts (result of the uimin/uimax changes)
 1.47.8.1 27-Apr-2017  pgoyette Restore all work from the former pgoyette-localcount branch (which is
now abandoned doe to cvs merge botch).

The branch now builds, and installs via anita. There are still some
problems (cgd is non-functional and all atf tests time-out) but they
will get resolved soon.
 1.47.2.2 20-Jul-2016  pgoyette Redo previous. Rather than separately extracting the device_t, we can
rely on sc->sc_dev when we need to call device_release().
 1.47.2.1 19-Jul-2016  pgoyette Instead of repeatedly typing the conditional initialization of the
.d_localcount members in the various {b,c}devsw, define an initializer
macro and use it. This also removes the need for defining new symbols
for each 'struct localcount'.

As suggested by riastradh@
 1.49.14.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.50.8.1 03-Aug-2021  thorpej Adapt to CFARGS().
 1.15 01-Jul-2011  dyoung #include <sys/bus.h> instead of <machine/bus.h>.
 1.14 05-Jul-2008  tsutsui Split device_t/softc with misc related changes.
 1.13 28-Apr-2008  martin branches: 1.13.2; 1.13.4;
Remove clause 3 and 4 from TNF licenses
 1.12 04-Mar-2007  christos branches: 1.12.40; 1.12.42; 1.12.44;
Kill caddr_t; there will be some MI fallout, but it will be fixed shortly.
 1.11 11-Dec-2005  christos branches: 1.11.26;
merge ktrace-lwp.
 1.10 22-Jan-2005  tsutsui branches: 1.10.8;
- remove __P()
- use ANSI function decls
- u_intNN_t -> uintNN_t
- some KNF
 1.9 07-Aug-2003  agc branches: 1.9.8;
Move UCB-licensed code from 4-clause to 3-clause licence.

Patches provided by Joel Baker in PR 22364, verified by myself.
 1.8 15-Jul-2003  lukem __KERNEL_RCSID()
 1.7 03-May-2003  wiz branches: 1.7.2;
DMA, not dma nor Dma.
 1.6 10-Feb-2003  tsutsui Switch fdc_jazzio.c to use bus_dma(9) with BUS_DMA_ALLOCNOW flag
and to use bus_space(9) for jazzio DMAC access.
 1.5 28-Dec-2002  tsutsui Change device names in struct pica_dev to match ones used by ARC BIOS.
All of these parameters should be obtained from ARC BIOS, and we will
switch to the way in future. As per discussion with soda.
 1.4 02-Oct-2002  thorpej Use CFATTACH_DECL().
 1.3 27-Sep-2002  thorpej Declare all cfattach structures const.
 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 22-May-2001  soda branches: 1.1.2; 1.1.4; 1.1.8;
bus_space'fied fd driver by TSUTSUI Izumi,
works with PICA-61 and Microsoft-Jazz,
but still doesn't work with his NEC-JC94 (NEC Express 5800/230)
due to data overrun.
 1.1.8.1 24-Oct-2001  thorpej Update for the new cache code. bus_dmamap_sync is now optimized
for a virtually-indexed, write-back cache.
 1.1.4.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.1.4.1 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.1.2.1 21-Jun-2001  nathanw Catch up to -current.
 1.2.2.3 29-Dec-2002  thorpej Sync with HEAD.
 1.2.2.2 18-Oct-2002  nathanw Catch up to -current.
 1.2.2.1 14-Nov-2001  nathanw file fdc_jazzio.c was added on branch nathanw_sa on 2002-10-18 02:35:15 +0000
 1.7.2.4 24-Jan-2005  skrll Sync with HEAD.
 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.9.8.1 29-Apr-2005  kent sync with -current
 1.10.8.1 03-Sep-2007  yamt sync with head.
 1.11.26.1 12-Mar-2007  rmind Sync with HEAD.
 1.12.44.2 04-May-2009  yamt sync with head.
 1.12.44.1 16-May-2008  yamt sync with head.
 1.12.42.1 18-May-2008  yamt sync with head.
 1.12.40.2 28-Sep-2008  mjf Sync with HEAD.
 1.12.40.1 02-Jun-2008  mjf Sync with HEAD.
 1.13.4.1 18-Jul-2008  simonb Sync with head.
 1.13.2.1 18-Sep-2008  wrstuden Sync with wrstuden-revivesa-base-2.
 1.6 05-Jul-2008  tsutsui Split device_t/softc with misc related changes.
 1.5 28-Apr-2008  martin branches: 1.5.2; 1.5.4;
Remove clause 3 and 4 from TNF licenses
 1.4 04-Mar-2007  christos branches: 1.4.40; 1.4.42; 1.4.44;
Kill caddr_t; there will be some MI fallout, but it will be fixed shortly.
 1.3 11-Dec-2005  christos branches: 1.3.26;
merge ktrace-lwp.
 1.2 07-Aug-2003  agc branches: 1.2.16;
Move UCB-licensed code from 4-clause to 3-clause licence.

Patches provided by Joel Baker in PR 22364, verified by myself.
 1.1 22-May-2001  soda branches: 1.1.2; 1.1.10; 1.1.26;
bus_space'fied fd driver by TSUTSUI Izumi,
works with PICA-61 and Microsoft-Jazz,
but still doesn't work with his NEC-JC94 (NEC Express 5800/230)
due to data overrun.
 1.1.26.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.1.26.2 18-Sep-2004  skrll Sync with HEAD.
 1.1.26.1 03-Aug-2004  skrll Sync with HEAD
 1.1.10.2 22-May-2001  soda bus_space'fied fd driver by TSUTSUI Izumi,
works with PICA-61 and Microsoft-Jazz,
but still doesn't work with his NEC-JC94 (NEC Express 5800/230)
due to data overrun.
 1.1.10.1 22-May-2001  soda file fdcvar.h was added on branch nathanw_sa on 2001-05-22 03:22:51 +0000
 1.1.2.1 21-Jun-2001  nathanw Catch up to -current.
 1.2.16.1 03-Sep-2007  yamt sync with head.
 1.3.26.1 12-Mar-2007  rmind Sync with HEAD.
 1.4.44.2 04-May-2009  yamt sync with head.
 1.4.44.1 16-May-2008  yamt sync with head.
 1.4.42.1 18-May-2008  yamt sync with head.
 1.4.40.2 28-Sep-2008  mjf Sync with HEAD.
 1.4.40.1 02-Jun-2008  mjf Sync with HEAD.
 1.5.4.1 18-Jul-2008  simonb Sync with head.
 1.5.2.1 18-Sep-2008  wrstuden Sync with wrstuden-revivesa-base-2.
 1.4 11-Dec-2005  christos merge ktrace-lwp.
 1.3 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.2 22-May-2001  soda branches: 1.2.8; 1.2.24;
bus_space'fied fd driver by TSUTSUI Izumi,
works with PICA-61 and Microsoft-Jazz,
but still doesn't work with his NEC-JC94 (NEC Express 5800/230)
due to data overrun.
 1.1 24-Dec-2000  ur branches: 1.1.2; 1.1.4;
Switch pica to jazzio.
Split shared MD portion between algor and jazzio.
 1.1.4.1 21-Jun-2001  nathanw Catch up to -current.
 1.1.2.2 05-Jan-2001  bouyer Sync with HEAD
 1.1.2.1 24-Dec-2000  bouyer file fdreg.h was added on branch thorpej_scsipi on 2001-01-05 17:33:58 +0000
 1.2.24.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.2.24.2 18-Sep-2004  skrll Sync with HEAD.
 1.2.24.1 03-Aug-2004  skrll Sync with HEAD
 1.2.8.2 22-May-2001  soda bus_space'fied fd driver by TSUTSUI Izumi,
works with PICA-61 and Microsoft-Jazz,
but still doesn't work with his NEC-JC94 (NEC Express 5800/230)
due to data overrun.
 1.2.8.1 22-May-2001  soda file fdreg.h was added on branch nathanw_sa on 2001-05-22 03:22:51 +0000
 1.5 23-Jul-2001  tsutsui Remove old homegrown sonic driver since now we have switched to
the MI one.
 1.4 19-Jun-2001  wiz branches: 1.4.2;
`accessible' only has one `a'.
 1.3 13-Jun-2001  soda introduce "struct platform", and remove "cputype" variable.

this change also includes a patch to obtain secondary cache size
from ARC firmware by Bob Meader, which was posted on port-arc on 18 Aug 2000.
this should make NEC Express RISCserver work.

this change obtains ID of display controller from ARC firmware, too.
 1.2 12-Jun-2001  wiz receive, not recieve
 1.1 24-Dec-2000  ur branches: 1.1.2; 1.1.4;
Switch pica to jazzio.
Split shared MD portion between algor and jazzio.
 1.1.4.1 21-Jun-2001  nathanw Catch up to -current.
 1.1.2.2 05-Jan-2001  bouyer Sync with HEAD
 1.1.2.1 24-Dec-2000  bouyer file if_sn.c was added on branch thorpej_scsipi on 2001-01-05 17:33:58 +0000
 1.4.2.1 03-Aug-2001  lukem update to -current
 1.16 20-Dec-2023  thorpej Remove unnecessary <sys/malloc.h>.
 1.15 21-Sep-2023  msaitoh s/ for for / for / in comment.
 1.14 20-Feb-2021  rin sn(4): Add rnd(9) support.
 1.13 01-Jul-2011  dyoung branches: 1.13.66;
#include <sys/bus.h> instead of <machine/bus.h>.
 1.12 19-Jan-2010  pooka Redefine bpf linkage through an always present op vector, i.e.
#if NBPFILTER is no longer required in the client. This change
doesn't yet add support for loading bpf as a module, since drivers
can register before bpf is attached. However, callers of bpf can
now be modularized.

Dynamically loadable bpf could probably be done fairly easily with
coordination from the stub driver and the real driver by registering
attachments in the stub before the real driver is loaded and doing
a handoff. ... and I'm not going to ponder the depths of unload
here.

Tested with i386/MONOLITHIC, modified MONOLITHIC without bpf and rump.
 1.11 28-Apr-2008  martin Remove clause 3 and 4 from TNF licenses
 1.10 23-Apr-2008  tsutsui branches: 1.10.2;
Split softc/device_t and misc cleanup for sn(4).
 1.9 17-Oct-2007  garbled branches: 1.9.16; 1.9.18;
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.8 08-Jun-2007  tsutsui branches: 1.8.10;
Set DCR_TFT[01] and DCR_RFT[01] bits of DCR register for TX/RX thresholds
in each MD attachment since optimized values could be machine dependent.
 1.7 11-Dec-2005  christos branches: 1.7.30; 1.7.32; 1.7.38;
merge ktrace-lwp.
 1.6 22-Jan-2005  tsutsui branches: 1.6.8;
- remove __P()
- use ANSI function decls
- u_intNN_t -> uintNN_t
- some KNF
 1.5 15-Jul-2003  lukem branches: 1.5.8;
__KERNEL_RCSID()
 1.4 28-Dec-2002  tsutsui branches: 1.4.2;
Change device names in struct pica_dev to match ones used by ARC BIOS.
All of these parameters should be obtained from ARC BIOS, and we will
switch to the way in future. As per discussion with soda.
 1.3 02-Oct-2002  thorpej Use CFATTACH_DECL().
 1.2 27-Sep-2002  thorpej Declare all cfattach structures const.
 1.1 05-Jul-2001  thorpej branches: 1.1.2; 1.1.8;
JAZZ front-end for the new MI SONIC driver.
 1.1.8.3 29-Dec-2002  thorpej Sync with HEAD.
 1.1.8.2 18-Oct-2002  nathanw Catch up to -current.
 1.1.8.1 05-Jul-2001  nathanw file if_sn_jazzio.c was added on branch nathanw_sa on 2002-10-18 02:35:15 +0000
 1.1.2.1 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 24-Jan-2005  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.5.8.1 29-Apr-2005  kent sync with -current
 1.6.8.1 03-Sep-2007  yamt sync with head.
 1.7.38.1 26-Jun-2007  garbled Sync with HEAD.
 1.7.32.1 11-Jul-2007  mjf Sync with head.
 1.7.30.1 15-Jul-2007  ad Sync with head.
 1.8.10.1 06-Nov-2007  matt sync with HEAD
 1.9.18.1 18-May-2008  yamt sync with head.
 1.9.16.1 02-Jun-2008  mjf Sync with HEAD.
 1.10.2.2 11-Mar-2010  yamt sync with head
 1.10.2.1 16-May-2008  yamt sync with head.
 1.13.66.1 03-Apr-2021  thorpej Sync with HEAD.
 1.2 23-Jul-2001  tsutsui Remove old homegrown sonic driver since now we have switched to
the MI one.
 1.1 24-Dec-2000  ur branches: 1.1.2; 1.1.6;
Switch pica to jazzio.
Split shared MD portion between algor and jazzio.
 1.1.6.1 03-Aug-2001  lukem update to -current
 1.1.2.2 05-Jan-2001  bouyer Sync with HEAD
 1.1.2.1 24-Dec-2000  bouyer file if_snreg.h was added on branch thorpej_scsipi on 2001-01-05 17:33:58 +0000
 1.18 20-Dec-2023  thorpej Remove unnecessary <sys/malloc.h>.
 1.17 17-Jun-2020  thorpej Use a vmem arena rather than an extent map to manage Jazz DMA TLB
address space.
 1.16 27-Jan-2012  para converting extent(9) from malloc(9) to kmem(9)
preceding kmem-vmem-pool-uvm patch

releng@ acknowledged
 1.15 01-Jul-2011  dyoung branches: 1.15.2; 1.15.6;
#include <sys/bus.h> instead of <machine/bus.h>.
 1.14 01-Mar-2006  yamt 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 22-Jan-2005  tsutsui branches: 1.12.8;
bzero -> memset
 1.11 22-Jan-2005  tsutsui - remove __P()
- use ANSI function decls
- u_intNN_t -> uintNN_t
- some KNF
 1.10 21-Oct-2003  tsutsui branches: 1.10.8;
The 6th argument to extent_create() is size_t, don't pass NULL in it.
 1.9 15-Jul-2003  lukem __KERNEL_RCSID()
 1.8 19-Jan-2003  tsutsui branches: 1.8.2;
TAB/space cleanup.
 1.7 27-Sep-2002  provos remove trailing \n in panic(). approved perry.
 1.6 14-Nov-2001  thorpej branches: 1.6.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.5 28-Sep-2001  chs branches: 1.5.2;
don't depend on other headers to include sys/proc.h for us.
 1.4 24-Dec-2000  ur branches: 1.4.2; 1.4.4;
Switch pica to jazzio.
Split shared MD portion between algor and jazzio.
 1.3 09-Nov-2000  thorpej branches: 1.3.2;
Fix a printf format.
 1.2 29-Jun-2000  mrg remove include of <vm/vm.h>. <vm/vm.h> -> <uvm/uvm_extern.h>
 1.1 09-Jun-2000  soda branches: 1.1.4;
bus_dma implementation for jazz dma tlb,
contributed by Shuichiro URATA <ur@a-r.org>
 1.1.4.2 22-Jun-2000  minoura Sync w/ netbsd-1-5-base.
 1.1.4.1 09-Jun-2000  minoura file jazzdmatlb.c was added on branch minoura-xpg4dl on 2000-06-22 16:59:16 +0000
 1.3.2.4 05-Jan-2001  bouyer Sync with HEAD
 1.3.2.3 22-Nov-2000  bouyer Sync with HEAD.
 1.3.2.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.3.2.1 09-Nov-2000  bouyer file jazzdmatlb.c was added on branch thorpej_scsipi on 2000-11-20 20:00:40 +0000
 1.4.4.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.4.4.1 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.4.2.1 01-Oct-2001  fvdl Catch up with -current.
 1.5.2.1 24-Oct-2001  thorpej Update for the new cache code. bus_dmamap_sync is now optimized
for a virtually-indexed, write-back cache.
 1.6.2.2 18-Oct-2002  nathanw Catch up to -current.
 1.6.2.1 14-Nov-2001  nathanw file jazzdmatlb.c was added on branch nathanw_sa on 2002-10-18 02:35:15 +0000
 1.8.2.4 24-Jan-2005  skrll Sync with HEAD.
 1.8.2.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.8.2.2 18-Sep-2004  skrll Sync with HEAD.
 1.8.2.1 03-Aug-2004  skrll Sync with HEAD
 1.10.8.1 29-Apr-2005  kent sync with -current
 1.12.8.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 adapt bus_dma implementations.
 1.15.6.1 18-Feb-2012  mrg merge to -current.
 1.15.2.1 17-Apr-2012  yamt sync with head
 1.5 25-Jun-2023  andvar s/responible/responsible/ in comment.
 1.4 11-Dec-2005  christos merge ktrace-lwp.
 1.3 22-Jan-2005  tsutsui - remove __P()
- use ANSI function decls
- u_intNN_t -> uintNN_t
- some KNF
 1.2 10-Jun-2000  soda branches: 1.2.4; 1.2.6; 1.2.30; 1.2.38;
move address to resolve conflict with firmware working memory
of NEC RISCstation 2250, from Shuichiro URATA <ur@a-r.org>.
 1.1 09-Jun-2000  soda bus_dma implementation for jazz dma tlb,
contributed by Shuichiro URATA <ur@a-r.org>
 1.2.38.1 29-Apr-2005  kent sync with -current
 1.2.30.1 24-Jan-2005  skrll Sync with HEAD.
 1.2.6.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.2.6.1 10-Jun-2000  bouyer file jazzdmatlbreg.h was added on branch thorpej_scsipi on 2000-11-20 20:00:40 +0000
 1.2.4.2 22-Jun-2000  minoura Sync w/ netbsd-1-5-base.
 1.2.4.1 10-Jun-2000  minoura file jazzdmatlbreg.h was added on branch minoura-xpg4dl on 2000-06-22 16:59:17 +0000
 1.4 01-Mar-2006  yamt 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.3 11-Dec-2005  christos branches: 1.3.2; 1.3.4; 1.3.6;
merge ktrace-lwp.
 1.2 22-Jan-2005  tsutsui branches: 1.2.8;
- remove __P()
- use ANSI function decls
- u_intNN_t -> uintNN_t
- some KNF
 1.1 09-Jun-2000  soda branches: 1.1.4; 1.1.6; 1.1.30; 1.1.38;
bus_dma implementation for jazz dma tlb,
contributed by Shuichiro URATA <ur@a-r.org>
 1.1.38.1 29-Apr-2005  kent sync with -current
 1.1.30.1 24-Jan-2005  skrll Sync with HEAD.
 1.1.6.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.1.6.1 09-Jun-2000  bouyer file jazzdmatlbvar.h was added on branch thorpej_scsipi on 2000-11-20 20:00:40 +0000
 1.1.4.2 22-Jun-2000  minoura Sync w/ netbsd-1-5-base.
 1.1.4.1 09-Jun-2000  minoura file jazzdmatlbvar.h was added on branch minoura-xpg4dl on 2000-06-22 16:59:17 +0000
 1.2.8.1 21-Jun-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.3.2.1 18-Feb-2006  yamt adapt bus_dma implementations.
 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 01-Jul-2011  dyoung branches: 1.22.68;
#include <sys/bus.h> instead of <machine/bus.h>.
 1.21 06-Mar-2011  tsutsui Remove trailing spaces.
 1.20 05-Jul-2008  tsutsui branches: 1.20.18; 1.20.24;
Split device_t/softc with misc related changes.
 1.19 14-Mar-2008  tsutsui branches: 1.19.4; 1.19.6; 1.19.8;
Fix spl(9) botch in cpu_intr() on arc:
Don't enable unhandled interrupts before all interrupts are processed,
and also change all interrupt handlers to return processed MIPS_INT_MASK
values, rather than masked values of them.
 1.18 25-Jun-2006  tsutsui branches: 1.18.34; 1.18.54; 1.18.58;
Remove unused struct abus stuff.
 1.17 24-Jun-2006  tsutsui Misc minor cleanup for arc interrupt handlers:
- always enable options MIPS3_ENABLE_CLOCK_INTR and just clear the compare
register in cpu_intr() to make CLKF_BASE() works
properly
- prepare only possible number of cpu_inttab
- use macro for interrupt priority number passed to arc_set_intr()
to avoid confusion
- merge arc_hardware_intr() into cpu_intr()
- check independent timer interrupt first in cpu_intr()
- tweak MIPS_SR_INT_IE before calling hardclock timer handlers so that
spllowersoftclock(9) will be invoked properly in hardclock(9)
- reenable interrupt for timer in cpu_intr() rather than each timer handlers

okay'ed by soda.

Note the real fix is to make CLKF_BASE() check all independent
interrupt sources including jazz and isa devices.
 1.16 15-Apr-2006  tsutsui branches: 1.16.4;
Include "ioconf.h" rather than declare struct cfdriver foo_cd in each file.
 1.15 15-Nov-2005  tsutsui branches: 1.15.4; 1.15.6; 1.15.8; 1.15.10; 1.15.12;
Explicitly enable interrupts before softintr is handled as noted
in the TODO file. At least this fixes "sn0: receive buffers exhausted"
messages on my NEC-JC94.

XXX: does anyone know what "Dont reenable" comment means, which was
XXX: there since initial import of pica (not arc).
 1.14 22-Jan-2005  tsutsui branches: 1.14.8; 1.14.14;
Make all intr_mask value types uint32_t rather than int, u_int,
or unsigned etc.
 1.13 22-Jan-2005  tsutsui - remove __P()
- use ANSI function decls
- u_intNN_t -> uintNN_t
- some KNF
 1.12 08-Oct-2003  tsutsui branches: 1.12.8;
- Count jazzio interrupts with evcnt(9).
- Misc cleanup.
 1.11 15-Jul-2003  lukem __KERNEL_RCSID()
 1.10 03-May-2003  wiz branches: 1.10.2;
DMA, not dma nor Dma.
 1.9 10-Feb-2003  tsutsui Call jazz_dmatlb_init() from jazzioattach() directly and
remove picaDmaInit() in dma.c.
 1.8 01-Jan-2003  thorpej Use aprint_normal for cfprint routines.
 1.7 02-Oct-2002  thorpej Use CFATTACH_DECL().
 1.6 27-Sep-2002  thorpej Declare all cfattach structures const.
 1.5 13-Jun-2001  soda branches: 1.5.2; 1.5.8;
remove "cputype", introduce "struct jazzio_config *jazzio_conf;" to
describe platform-dependent variants. clean up jazz i/o interreupt
handling had device configuration information.
 1.4 30-Apr-2001  tsutsui Add MD attachments for the Symbios/NCR 53c710 SCSI controller,
found on the NEC Express5800/230A.
 1.3 30-Mar-2001  ur Don't reference nonexistent register on R96. (and maybe R94 too)
 1.2 17-Feb-2001  tsutsui branches: 1.2.2;
Add new arctype for NEC Express5800/230A.

XXX: we should have "sysconf" structures like pmax.
 1.1 24-Dec-2000  ur branches: 1.1.2;
Switch pica to jazzio.
Split shared MD portion between algor and jazzio.
 1.1.2.4 21-Apr-2001  bouyer Sync with HEAD
 1.1.2.3 12-Mar-2001  bouyer Sync with HEAD.
 1.1.2.2 05-Jan-2001  bouyer Sync with HEAD
 1.1.2.1 24-Dec-2000  bouyer file jazzio.c was added on branch thorpej_scsipi on 2001-01-05 17:33:58 +0000
 1.2.2.2 21-Jun-2001  nathanw Catch up to -current.
 1.2.2.1 09-Apr-2001  nathanw Catch up with -current.
 1.5.8.3 03-Jan-2003  thorpej Sync with HEAD.
 1.5.8.2 18-Oct-2002  nathanw Catch up to -current.
 1.5.8.1 13-Jun-2001  nathanw file jazzio.c was added on branch nathanw_sa on 2002-10-18 02:35:16 +0000
 1.5.2.1 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.10.2.5 11-Dec-2005  christos Sync with head.
 1.10.2.4 24-Jan-2005  skrll Sync with HEAD.
 1.10.2.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.10.2.2 18-Sep-2004  skrll Sync with HEAD.
 1.10.2.1 03-Aug-2004  skrll Sync with HEAD
 1.12.8.1 29-Apr-2005  kent sync with -current
 1.14.14.1 22-Nov-2005  yamt sync with head.
 1.14.8.3 17-Mar-2008  yamt sync with head.
 1.14.8.2 30-Dec-2006  yamt sync with head.
 1.14.8.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.2 26-Jun-2006  yamt sync with head.
 1.15.8.1 24-May-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.4.1 13-Jul-2006  gdamore Merge from HEAD.
 1.18.58.2 28-Sep-2008  mjf Sync with HEAD.
 1.18.58.1 03-Apr-2008  mjf Sync with HEAD.
 1.18.54.1 24-Mar-2008  keiichi sync with head.
 1.18.34.1 23-Mar-2008  matt sync with HEAD
 1.19.8.1 18-Jul-2008  simonb Sync with head.
 1.19.6.1 18-Sep-2008  wrstuden Sync with wrstuden-revivesa-base-2.
 1.19.4.1 04-May-2009  yamt sync with head.
 1.20.24.1 06-Jun-2011  jruoho Sync with HEAD.
 1.20.18.1 21-Apr-2011  rmind sync with head
 1.22.68.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.23.8.1 03-Aug-2021  thorpej Adapt to CFARGS().
 1.8 01-Jul-2011  dyoung #include <sys/bus.h> instead of <machine/bus.h>.
 1.7 04-Mar-2007  christos Kill caddr_t; there will be some MI fallout, but it will be fixed shortly.
 1.6 25-Jun-2006  tsutsui branches: 1.6.10;
Remove unused struct abus stuff.
 1.5 11-Dec-2005  christos branches: 1.5.4; 1.5.8; 1.5.16;
merge ktrace-lwp.
 1.4 03-Jun-2005  tsutsui branches: 1.4.2;
Add const.
 1.3 22-Jan-2005  tsutsui - remove __P()
- use ANSI function decls
- u_intNN_t -> uintNN_t
- some KNF
 1.2 13-Jun-2001  soda branches: 1.2.8; 1.2.24; 1.2.32;
remove "cputype", introduce "struct jazzio_config *jazzio_conf;" to
describe platform-dependent variants. clean up jazz i/o interreupt
handling had device configuration information.
 1.1 24-Dec-2000  ur branches: 1.1.2; 1.1.4;
Switch pica to jazzio.
Split shared MD portion between algor and jazzio.
 1.1.4.1 21-Jun-2001  nathanw Catch up to -current.
 1.1.2.2 05-Jan-2001  bouyer Sync with HEAD
 1.1.2.1 24-Dec-2000  bouyer file jazziovar.h was added on branch thorpej_scsipi on 2001-01-05 17:33:58 +0000
 1.2.32.1 29-Apr-2005  kent sync with -current
 1.2.24.2 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.2.24.1 24-Jan-2005  skrll Sync with HEAD.
 1.2.8.2 13-Jun-2001  soda remove "cputype", introduce "struct jazzio_config *jazzio_conf;" to
describe platform-dependent variants. clean up jazz i/o interreupt
handling had device configuration information.
 1.2.8.1 13-Jun-2001  soda file jazziovar.h was added on branch nathanw_sa on 2001-06-13 15:11:39 +0000
 1.4.2.2 03-Sep-2007  yamt sync with head.
 1.4.2.1 30-Dec-2006  yamt sync with head.
 1.5.16.1 13-Jul-2006  gdamore Merge from HEAD.
 1.5.8.1 26-Jun-2006  yamt sync with head.
 1.5.4.1 09-Sep-2006  rpaulo sync with head
 1.6.10.1 12-Mar-2007  rmind Sync with HEAD.
 1.13 01-Jul-2011  dyoung #include <sys/bus.h> instead of <machine/bus.h>.
 1.12 05-Jul-2008  tsutsui Split device_t/softc with misc related changes.
 1.11 24-Jun-2006  tsutsui branches: 1.11.58; 1.11.62; 1.11.64; 1.11.66;
Misc minor cleanup for arc interrupt handlers:
- always enable options MIPS3_ENABLE_CLOCK_INTR and just clear the compare
register in cpu_intr() to make CLKF_BASE() works
properly
- prepare only possible number of cpu_inttab
- use macro for interrupt priority number passed to arc_set_intr()
to avoid confusion
- merge arc_hardware_intr() into cpu_intr()
- check independent timer interrupt first in cpu_intr()
- tweak MIPS_SR_INT_IE before calling hardclock timer handlers so that
spllowersoftclock(9) will be invoked properly in hardclock(9)
- reenable interrupt for timer in cpu_intr() rather than each timer handlers

okay'ed by soda.

Note the real fix is to make CLKF_BASE() check all independent
interrupt sources including jazz and isa devices.
 1.10 15-Apr-2006  tsutsui branches: 1.10.4;
Include "ioconf.h" rather than declare struct cfdriver foo_cd in each file.
 1.9 11-Dec-2005  christos branches: 1.9.4; 1.9.6; 1.9.8; 1.9.10; 1.9.12;
merge ktrace-lwp.
 1.8 22-Jan-2005  tsutsui branches: 1.8.8;
Make all intr_mask value types uint32_t rather than int, u_int,
or unsigned etc.
 1.7 22-Jan-2005  tsutsui - remove __P()
- use ANSI function decls
- u_intNN_t -> uintNN_t
- some KNF
 1.6 07-Aug-2003  agc branches: 1.6.8;
Move UCB-licensed code from 4-clause to 3-clause licence.

Patches provided by Joel Baker in PR 22364, verified by myself.
 1.5 15-Jul-2003  lukem __KERNEL_RCSID()
 1.4 19-Jan-2003  tsutsui branches: 1.4.2;
TAB/space cleanup.
 1.3 02-Oct-2002  thorpej Use CFATTACH_DECL().
 1.2 27-Sep-2002  thorpej Declare all cfattach structures const.
 1.1 13-Jun-2001  soda branches: 1.1.2; 1.1.4; 1.1.10;
split ISA bridge code into bus dependent frontends to remove "cputype"
variable.
 1.1.10.2 18-Oct-2002  nathanw Catch up to -current.
 1.1.10.1 13-Jun-2001  nathanw file jazzisabr.c was added on branch nathanw_sa on 2002-10-18 02:35:16 +0000
 1.1.4.1 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.2.1 21-Jun-2001  nathanw Catch up to -current.
 1.4.2.4 24-Jan-2005  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.8.1 29-Apr-2005  kent sync with -current
 1.8.8.2 30-Dec-2006  yamt sync with head.
 1.8.8.1 21-Jun-2006  yamt sync with head.
 1.9.12.1 24-May-2006  tron Merge 2006-05-24 NetBSD-current into the "peter-altq" branch.
 1.9.10.1 19-Apr-2006  elad sync with head - hopefully this will work
 1.9.8.2 26-Jun-2006  yamt sync with head.
 1.9.8.1 24-May-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.10.4.1 13-Jul-2006  gdamore Merge from HEAD.
 1.11.66.1 18-Jul-2008  simonb Sync with head.
 1.11.64.1 18-Sep-2008  wrstuden Sync with wrstuden-revivesa-base-2.
 1.11.62.1 04-May-2009  yamt sync with head.
 1.11.58.1 28-Sep-2008  mjf Sync with HEAD.
 1.10 01-Jul-2011  dyoung #include <sys/bus.h> instead of <machine/bus.h>.
 1.9 06-Mar-2011  tsutsui Remove trailing spaces.
 1.8 07-Mar-2008  cube branches: 1.8.26; 1.8.32;
Split the softc from the device_t for all lpt(4) variants and attachments
except the ppbus stuff (which doesn't compile) and ulpt(4) which is
unrelated and can be dealt with separately.

As usual, it comes with related cosmetic changes.
 1.7 11-Dec-2005  christos branches: 1.7.50; 1.7.70; 1.7.74;
merge ktrace-lwp.
 1.6 22-Jan-2005  tsutsui branches: 1.6.8;
- remove __P()
- use ANSI function decls
- u_intNN_t -> uintNN_t
- some KNF
 1.5 15-Jul-2003  lukem branches: 1.5.8;
__KERNEL_RCSID()
 1.4 28-Dec-2002  tsutsui branches: 1.4.2;
Change device names in struct pica_dev to match ones used by ARC BIOS.
All of these parameters should be obtained from ARC BIOS, and we will
switch to the way in future. As per discussion with soda.
 1.3 02-Oct-2002  thorpej Use CFATTACH_DECL().
 1.2 27-Sep-2002  thorpej Declare all cfattach structures const.
 1.1 24-Dec-2000  ur branches: 1.1.2; 1.1.6; 1.1.10;
Switch pica to jazzio.
Split shared MD portion between algor and jazzio.
 1.1.10.2 29-Dec-2002  thorpej Sync with HEAD.
 1.1.10.1 18-Oct-2002  nathanw Catch up to -current.
 1.1.6.1 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.2.2 05-Jan-2001  bouyer Sync with HEAD
 1.1.2.1 24-Dec-2000  bouyer file lpt_jazzio.c was added on branch thorpej_scsipi on 2001-01-05 17:33:58 +0000
 1.4.2.4 24-Jan-2005  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.5.8.1 29-Apr-2005  kent sync with -current
 1.6.8.1 17-Mar-2008  yamt sync with head.
 1.7.74.1 03-Apr-2008  mjf Sync with HEAD.
 1.7.70.1 24-Mar-2008  keiichi sync with head.
 1.7.50.1 23-Mar-2008  matt sync with HEAD
 1.8.32.1 06-Jun-2011  jruoho Sync with HEAD.
 1.8.26.1 21-Apr-2011  rmind sync with head
 1.13 01-Jul-2011  dyoung #include <sys/bus.h> instead of <machine/bus.h>.
 1.12 08-Feb-2011  rmind Remove clause 3 (UCB advertising clause) from the University of Utah
copyright. Confirmed by Mike Hibler, mike at cs.utah.edu - thanks!
Also, merge UCB and Utah copyright texts back into one, as they
originally were.

Extra verification by snj@.
 1.11 29-Mar-2008  tsutsui branches: 1.11.26; 1.11.32; 1.11.34;
Don't forget to initialize sc_dev.
 1.10 28-Mar-2008  tsutsui Split device_t and softc for MI mc146818 clock,
and other related misc cosmetics.
 1.9 10-Jan-2008  tsutsui branches: 1.9.6;
Move todr_attach(9) calls from each MD attachment to MI mc146818_attach().
 1.8 11-Dec-2005  christos branches: 1.8.50; 1.8.56; 1.8.64;
merge ktrace-lwp.
 1.7 22-Jan-2005  tsutsui branches: 1.7.8;
- remove __P()
- use ANSI function decls
- u_intNN_t -> uintNN_t
- some KNF
 1.6 29-Oct-2003  tsutsui branches: 1.6.8;
Switch arc to use MI mc146818 tod driver.
 1.5 07-Aug-2003  agc Move UCB-licensed code from 4-clause to 3-clause licence.

Patches provided by Joel Baker in PR 22364, verified by myself.
 1.4 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 13-Jun-2001  soda branches: 1.1.2; 1.1.4; 1.1.10;
split clock_mc.c into interval timer driver (timer) and
real time clock driver (mcclock)
 1.1.10.2 18-Oct-2002  nathanw Catch up to -current.
 1.1.10.1 13-Jun-2001  nathanw file mcclock_jazzio.c was added on branch nathanw_sa on 2002-10-18 02:35:16 +0000
 1.1.4.1 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.2.1 21-Jun-2001  nathanw Catch up to -current.
 1.3.6.4 24-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.6.8.1 29-Apr-2005  kent sync with -current
 1.7.8.1 21-Jan-2008  yamt sync with head
 1.8.64.1 10-Jan-2008  bouyer Sync with HEAD
 1.8.56.1 18-Feb-2008  mjf Sync with HEAD.
 1.8.50.1 23-Mar-2008  matt sync with HEAD
 1.9.6.1 03-Apr-2008  mjf Sync with HEAD.
 1.11.34.1 17-Feb-2011  bouyer Sync with HEAD
 1.11.32.1 06-Jun-2011  jruoho Sync with HEAD.
 1.11.26.1 05-Mar-2011  rmind sync with head
 1.4 28-Apr-2008  martin 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 29-Oct-2003  tsutsui Switch arc to use MI mc146818 tod driver.
 1.1 13-Jun-2001  soda branches: 1.1.2; 1.1.10; 1.1.26;
split clock_mc.c into interval timer driver (timer) and
real time clock driver (mcclock)
 1.1.26.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.1.26.2 18-Sep-2004  skrll Sync with HEAD.
 1.1.26.1 03-Aug-2004  skrll Sync with HEAD
 1.1.10.2 13-Jun-2001  soda split clock_mc.c into interval timer driver (timer) and
real time clock driver (mcclock)
 1.1.10.1 13-Jun-2001  soda file mcclock_jazziovar.h was added on branch nathanw_sa on 2001-06-13 15:02:16 +0000
 1.1.2.1 21-Jun-2001  nathanw Catch up to -current.
 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.9 20-Dec-2023  thorpej Remove unnecessary <sys/malloc.h>.
 1.8 06-May-2023  andvar s/regster/register/ in comments and error messages.
 1.7 01-Jul-2011  dyoung #include <sys/bus.h> instead of <machine/bus.h>.
 1.6 29-Mar-2008  tsutsui Split softc/device_t for oosiop(4) and osiop(4), with misc cosmetic changes.
 1.5 15-Apr-2006  tsutsui branches: 1.5.62;
Include "ioconf.h" rather than declare struct cfdriver foo_cd in each file.
 1.4 11-Dec-2005  christos branches: 1.4.4; 1.4.6; 1.4.8; 1.4.10; 1.4.12;
merge ktrace-lwp.
 1.3 22-Jan-2005  tsutsui branches: 1.3.8;
- remove __P()
- use ANSI function decls
- u_intNN_t -> uintNN_t
- some KNF
 1.2 15-Jul-2003  lukem branches: 1.2.8;
__KERNEL_RCSID()
 1.1 06-Apr-2003  tsutsui branches: 1.1.2;
Add MD attachment of the 53c700 SCSI controller on arc jazzio.
 1.1.2.4 24-Jan-2005  skrll Sync with HEAD.
 1.1.2.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.1.2.2 18-Sep-2004  skrll Sync with HEAD.
 1.1.2.1 03-Aug-2004  skrll Sync with HEAD
 1.2.8.1 29-Apr-2005  kent sync with -current
 1.3.8.1 21-Jun-2006  yamt sync with head.
 1.4.12.1 24-May-2006  tron Merge 2006-05-24 NetBSD-current into the "peter-altq" branch.
 1.4.10.1 19-Apr-2006  elad sync with head - hopefully this will work
 1.4.8.1 24-May-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.62.1 03-Apr-2008  mjf Sync with HEAD.
 1.11 01-Jul-2011  dyoung #include <sys/bus.h> instead of <machine/bus.h>.
 1.10 06-Mar-2011  tsutsui Remove trailing spaces.
 1.9 13-Sep-2008  tsutsui branches: 1.9.16; 1.9.22;
Fix more botches on device_t/softc split,
which didn't cause errors on compile.
Tested on gxemul.
 1.8 13-Sep-2008  tsutsui Fix botches on device_t/softc split.
 1.7 05-Jul-2008  tsutsui branches: 1.7.2;
Split device_t/softc with misc related changes.
 1.6 11-Dec-2005  christos branches: 1.6.74; 1.6.78; 1.6.80; 1.6.82;
merge ktrace-lwp.
 1.5 22-Jan-2005  tsutsui - remove __P()
- use ANSI function decls
- u_intNN_t -> uintNN_t
- some KNF
 1.4 15-Jul-2003  lukem branches: 1.4.8;
__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 13-Jun-2001  soda branches: 1.1.2; 1.1.4; 1.1.10;
split pccons driver into "pccons" and "opms",
also split into bus-dependent frontend and bus-independent backend.
 1.1.10.2 18-Oct-2002  nathanw Catch up to -current.
 1.1.10.1 13-Jun-2001  nathanw file opms_jazzio.c was added on branch nathanw_sa on 2002-10-18 02:35:16 +0000
 1.1.4.1 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.2.1 21-Jun-2001  nathanw Catch up to -current.
 1.3.6.4 24-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.4.8.1 29-Apr-2005  kent sync with -current
 1.6.82.1 18-Jul-2008  simonb Sync with head.
 1.6.80.2 24-Sep-2008  wrstuden Merge in changes between wrstuden-revivesa-base-2 and
wrstuden-revivesa-base-3.
 1.6.80.1 18-Sep-2008  wrstuden Sync with wrstuden-revivesa-base-2.
 1.6.78.1 04-May-2009  yamt sync with head.
 1.6.74.1 28-Sep-2008  mjf Sync with HEAD.
 1.7.2.1 19-Oct-2008  haad Sync with HEAD.
 1.9.22.1 06-Jun-2011  jruoho Sync with HEAD.
 1.9.16.1 21-Apr-2011  rmind sync with head
 1.11 20-Dec-2023  thorpej Remove unnecessary <sys/malloc.h>.
 1.10 01-Jul-2011  dyoung #include <sys/bus.h> instead of <machine/bus.h>.
 1.9 14-May-2008  tsutsui Normalize my licenses.
 1.8 29-Mar-2008  tsutsui branches: 1.8.2; 1.8.4; 1.8.6;
Split softc/device_t for oosiop(4) and osiop(4), with misc cosmetic changes.
 1.7 11-Dec-2005  christos branches: 1.7.74;
merge ktrace-lwp.
 1.6 22-Jan-2005  tsutsui - remove __P()
- use ANSI function decls
- u_intNN_t -> uintNN_t
- some KNF
 1.5 15-Jul-2003  lukem branches: 1.5.8;
__KERNEL_RCSID()
 1.4 28-Dec-2002  tsutsui branches: 1.4.2;
Change device names in struct pica_dev to match ones used by ARC BIOS.
All of these parameters should be obtained from ARC BIOS, and we will
switch to the way in future. As per discussion with soda.
 1.3 02-Oct-2002  thorpej Use CFATTACH_DECL().
 1.2 27-Sep-2002  thorpej Declare all cfattach structures const.
 1.1 30-Apr-2001  tsutsui branches: 1.1.2; 1.1.4; 1.1.10;
Add MD attachments for the Symbios/NCR 53c710 SCSI controller,
found on the NEC Express5800/230A.
 1.1.10.3 29-Dec-2002  thorpej Sync with HEAD.
 1.1.10.2 18-Oct-2002  nathanw Catch up to -current.
 1.1.10.1 30-Apr-2001  nathanw file osiop_jazzio.c was added on branch nathanw_sa on 2002-10-18 02:35:17 +0000
 1.1.4.1 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.2.1 21-Jun-2001  nathanw Catch up to -current.
 1.4.2.4 24-Jan-2005  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.5.8.1 29-Apr-2005  kent sync with -current
 1.7.74.2 02-Jun-2008  mjf Sync with HEAD.
 1.7.74.1 03-Apr-2008  mjf Sync with HEAD.
 1.8.6.1 23-Jun-2008  wrstuden Sync w/ -current. 34 merge conflicts to follow.
 1.8.4.1 16-May-2008  yamt sync with head.
 1.8.2.1 18-May-2008  yamt sync with head.
 1.11 01-Jul-2011  dyoung #include <sys/bus.h> instead of <machine/bus.h>.
 1.10 06-Mar-2011  tsutsui Remove trailing spaces.
 1.9 13-Sep-2008  tsutsui branches: 1.9.16; 1.9.22;
Fix more botches on device_t/softc split,
which didn't cause errors on compile.
Tested on gxemul.
 1.8 05-Jul-2008  tsutsui branches: 1.8.2;
Split device_t/softc with misc related changes.
 1.7 15-Nov-2005  tsutsui branches: 1.7.74; 1.7.78; 1.7.80; 1.7.82;
constify
 1.6 05-Nov-2005  tsutsui branches: 1.6.2;
Adapt arc port to the new MI mips3 wired map functions.
Tested on NEC-RD94 with several PCI and jazzio devices.
 1.5 22-Jan-2005  tsutsui branches: 1.5.8;
- remove __P()
- use ANSI function decls
- u_intNN_t -> uintNN_t
- some KNF
 1.4 15-Jul-2003  lukem branches: 1.4.8;
__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 13-Jun-2001  soda branches: 1.1.2; 1.1.4; 1.1.10;
split pccons driver into "pccons" and "opms",
also split into bus-dependent frontend and bus-independent backend.
 1.1.10.2 18-Oct-2002  nathanw Catch up to -current.
 1.1.10.1 13-Jun-2001  nathanw file pccons_jazzio.c was added on branch nathanw_sa on 2002-10-18 02:35:17 +0000
 1.1.4.1 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.2.1 21-Jun-2001  nathanw Catch up to -current.
 1.3.6.6 11-Dec-2005  christos Sync with head.
 1.3.6.5 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.3.6.4 24-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.4.8.1 29-Apr-2005  kent sync with -current
 1.5.8.1 21-Jun-2006  yamt sync with head.
 1.6.2.1 22-Nov-2005  yamt sync with head.
 1.7.82.1 18-Jul-2008  simonb Sync with head.
 1.7.80.2 24-Sep-2008  wrstuden Merge in changes between wrstuden-revivesa-base-2 and
wrstuden-revivesa-base-3.
 1.7.80.1 18-Sep-2008  wrstuden Sync with wrstuden-revivesa-base-2.
 1.7.78.1 04-May-2009  yamt sync with head.
 1.7.74.1 28-Sep-2008  mjf Sync with HEAD.
 1.8.2.1 19-Oct-2008  haad Sync with HEAD.
 1.9.22.1 06-Jun-2011  jruoho Sync with HEAD.
 1.9.16.1 21-Apr-2011  rmind sync with head
 1.4 06-Mar-2011  tsutsui Remove trailing spaces.
 1.3 11-Dec-2005  christos branches: 1.3.100; 1.3.106;
merge ktrace-lwp.
 1.2 22-Jan-2005  tsutsui - remove __P()
- use ANSI function decls
- u_intNN_t -> uintNN_t
- some KNF
 1.1 13-Jun-2001  soda branches: 1.1.2; 1.1.10; 1.1.26; 1.1.34;
split pccons driver into "pccons" and "opms",
also split into bus-dependent frontend and bus-independent backend.
 1.1.34.1 29-Apr-2005  kent sync with -current
 1.1.26.1 24-Jan-2005  skrll Sync with HEAD.
 1.1.10.2 13-Jun-2001  soda split pccons driver into "pccons" and "opms",
also split into bus-dependent frontend and bus-independent backend.
 1.1.10.1 13-Jun-2001  soda file pccons_jazziovar.h was added on branch nathanw_sa on 2001-06-13 15:05:47 +0000
 1.1.2.1 21-Jun-2001  nathanw Catch up to -current.
 1.3.106.1 06-Jun-2011  jruoho Sync with HEAD.
 1.3.100.1 21-Apr-2011  rmind sync with head
 1.19 18-Nov-2020  thorpej malloc(9) -> kmem(9)
 1.18 15-Mar-2008  cube branches: 1.18.104;
Split device_t and softc for pckbc(4) and its attachments.
 1.17 05-Jan-2008  ad branches: 1.17.2; 1.17.6;
Fix includes.
 1.16 17-Oct-2007  garbled branches: 1.16.2; 1.16.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.15 09-Jul-2007  ad branches: 1.15.10;
Merge some of the less invasive changes from the vmlocking branch:

- kthread, callout, devsw API changes
- select()/poll() improvements
- miscellaneous MT safety improvements
 1.14 11-Dec-2005  christos branches: 1.14.30; 1.14.32; 1.14.38;
merge ktrace-lwp.
 1.13 22-Jan-2005  tsutsui branches: 1.13.8;
Use M_ZERO flag for malloc(9) and remove bzero(9).
 1.12 22-Jan-2005  tsutsui - remove __P()
- use ANSI function decls
- u_intNN_t -> uintNN_t
- some KNF
 1.11 24-Mar-2004  drochner branches: 1.11.8;
remove license clauses 3 and 4 from my cpoyright notices
 1.10 13-Mar-2004  bjh21 Abstract the interface between pckbc(4), and the pckbd(4) and pms(4)
drivers that attach to it. This allows for other host interface chips
that use the same keyboards and mice, such as the ones in the ARM
IOMD20, ARM7500, and SA-1111. The PC-compatible driver is still
called pckbc(4), and the new abstraction layer is "pckbport", so the
child devices have moved from sys/dev/pckbc to sys/dev/pckbport, which
also contains some code shared between all host controllers. To avoid
incompatibility, pckbdreg.h is still installed in
/usr/include/dev/pckbc.

In theory, this shouldn't cause any behavioural changes in the drivers
concerned. Thy just use rather more function pointers than before. Tested
on i386 and (with a new host driver) acorn32. Compiled on several other
affected architectures.
 1.9 15-Jul-2003  lukem __KERNEL_RCSID()
 1.8 19-Jan-2003  tsutsui branches: 1.8.2;
TAB/space cleanup.
 1.7 28-Dec-2002  tsutsui Change device names in struct pica_dev to match ones used by ARC BIOS.
All of these parameters should be obtained from ARC BIOS, and we will
switch to the way in future. As per discussion with soda.
 1.6 02-Oct-2002  thorpej Use CFATTACH_DECL().
 1.5 27-Sep-2002  thorpej Declare all cfattach structures const.
 1.4 23-Jul-2001  jdolecek branches: 1.4.6;
Since ~all pckbc_poll_data1() callers had the appropriate pckbc
tag handy and we are going to need more of it in pckbc_poll_data1() soon,
change pckbc_poll_data1() to accept it as first arg. iot, ioh_d, ioh_c are
no longer passed separately. Use fabricated pckbc tag for calls from
arch/arc/jazz/pckbc_jazzio.c and dev/isa/pckbc_isa.c.
 1.3 13-Jun-2001  soda branches: 1.3.2;
remove "cputype", introduce "struct jazzio_config *jazzio_conf;" to
describe platform-dependent variants. clean up jazz i/o interreupt
handling had device configuration information.
 1.2 24-Dec-2000  ur branches: 1.2.2;
Switch pica to jazzio.
Split shared MD portion between algor and jazzio.
 1.1 17-Jun-2000  soda branches: 1.1.4; 1.1.6;
vga/pckbc attachment for Jazz-Internal Bus of Magnum derived machines
(including Pica, NEC RISCstation/RISCserver).
 1.1.6.3 05-Jan-2001  bouyer Sync with HEAD
 1.1.6.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.1.6.1 17-Jun-2000  bouyer file pckbc_jazzio.c was added on branch thorpej_scsipi on 2000-11-20 20:00:40 +0000
 1.1.4.2 22-Jun-2000  minoura Sync w/ netbsd-1-5-base.
 1.1.4.1 17-Jun-2000  minoura file pckbc_jazzio.c was added on branch minoura-xpg4dl on 2000-06-22 16:59:17 +0000
 1.2.2.1 21-Jun-2001  nathanw Catch up to -current.
 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 03-Aug-2001  lukem update to -current
 1.4.6.3 29-Dec-2002  thorpej Sync with HEAD.
 1.4.6.2 18-Oct-2002  nathanw Catch up to -current.
 1.4.6.1 23-Jul-2001  nathanw file pckbc_jazzio.c was added on branch nathanw_sa on 2002-10-18 02:35:17 +0000
 1.8.2.4 24-Jan-2005  skrll Sync with HEAD.
 1.8.2.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.8.2.2 18-Sep-2004  skrll Sync with HEAD.
 1.8.2.1 03-Aug-2004  skrll Sync with HEAD
 1.11.8.1 29-Apr-2005  kent sync with -current
 1.13.8.3 17-Mar-2008  yamt sync with head.
 1.13.8.2 21-Jan-2008  yamt sync with head
 1.13.8.1 03-Sep-2007  yamt sync with head.
 1.14.38.1 03-Oct-2007  garbled Sync with HEAD
 1.14.32.1 11-Jul-2007  mjf Sync with head.
 1.14.30.1 15-Jul-2007  ad Sync with head.
 1.15.10.3 23-Mar-2008  matt sync with HEAD
 1.15.10.2 09-Jan-2008  matt sync with HEAD
 1.15.10.1 06-Nov-2007  matt sync with HEAD
 1.16.8.1 08-Jan-2008  bouyer Sync with HEAD
 1.16.2.1 18-Feb-2008  mjf Sync with HEAD.
 1.17.6.1 03-Apr-2008  mjf Sync with HEAD.
 1.17.2.1 24-Mar-2008  keiichi sync with head.
 1.18.104.1 14-Dec-2020  thorpej Sync w/ HEAD.
 1.4 11-Dec-2005  christos merge ktrace-lwp.
 1.3 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.2 13-Jun-2001  soda branches: 1.2.8; 1.2.24;
add copyright notice
 1.1 17-Jun-2000  soda branches: 1.1.4; 1.1.6; 1.1.8;
vga/pckbc attachment for Jazz-Internal Bus of Magnum derived machines
(including Pica, NEC RISCstation/RISCserver).
 1.1.8.1 21-Jun-2001  nathanw Catch up to -current.
 1.1.6.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.1.6.1 17-Jun-2000  bouyer file pckbc_jazzioreg.h was added on branch thorpej_scsipi on 2000-11-20 20:00:40 +0000
 1.1.4.2 22-Jun-2000  minoura Sync w/ netbsd-1-5-base.
 1.1.4.1 17-Jun-2000  minoura file pckbc_jazzioreg.h was added on branch minoura-xpg4dl on 2000-06-22 16:59:17 +0000
 1.2.24.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.2.24.2 18-Sep-2004  skrll Sync with HEAD.
 1.2.24.1 03-Aug-2004  skrll Sync with HEAD
 1.2.8.2 13-Jun-2001  soda add copyright notice
 1.2.8.1 13-Jun-2001  soda file pckbc_jazzioreg.h was added on branch nathanw_sa on 2001-06-13 15:12:03 +0000
 1.4 06-Mar-2011  tsutsui Remove trailing spaces.
 1.3 09-Dec-2002  tsutsui branches: 1.3.134; 1.3.140;
As per discussion with soda, all EISA based Jazz machines seem to require
the same method to access TOD clock, so move chipset-dependent mcclock
routines to appropriate files.

This should also fix Express RISCserver and RISCserver2200 (aka R96) support
which has been broken since "struct platform" was introduced.
 1.2 13-Jun-2001  soda branches: 1.2.8;
remove "cputype", introduce "struct jazzio_config *jazzio_conf;" to
describe platform-dependent variants. clean up jazz i/o interreupt
handling had device configuration information.
 1.1 24-Dec-2000  ur branches: 1.1.2; 1.1.4;
Switch pica to jazzio.
Split shared MD portion between algor and jazzio.
 1.1.4.1 21-Jun-2001  nathanw Catch up to -current.
 1.1.2.2 05-Jan-2001  bouyer Sync with HEAD
 1.1.2.1 24-Dec-2000  bouyer file pica.h was added on branch thorpej_scsipi on 2001-01-05 17:33:59 +0000
 1.2.8.2 11-Dec-2002  thorpej Sync with HEAD.
 1.2.8.1 13-Jun-2001  thorpej file pica.h was added on branch nathanw_sa on 2002-12-11 05:52:10 +0000
 1.3.140.1 06-Jun-2011  jruoho Sync with HEAD.
 1.3.134.1 21-Apr-2011  rmind sync with head
 1.8 06-Mar-2011  tsutsui Remove trailing spaces.
 1.7 19-Jan-2003  tsutsui branches: 1.7.130; 1.7.136;
Fix pasto.
 1.6 09-Dec-2002  tsutsui As per discussion with soda, all EISA based Jazz machines seem to require
the same method to access TOD clock, so move chipset-dependent mcclock
routines to appropriate files.

This should also fix Express RISCserver and RISCserver2200 (aka R96) support
which has been broken since "struct platform" was introduced.
 1.5 07-Dec-2002  tsutsui - Add definitions RD_94_[PVS]_EISA_{IO,MEM} in rd94.h.
- J96A (Express5800/240 R4400 EISA) requires different method to access
todclock from other NEC machines (it's similar with magnum),
so handle it in p_nec_j96a.c.

Now my NEC Express5800/240 works. (and now I can test 53c700 SCSI.)
 1.4 13-Jun-2001  soda branches: 1.4.8;
remove "cputype", introduce "struct jazzio_config *jazzio_conf;" to
describe platform-dependent variants. clean up jazz i/o interreupt
handling had device configuration information.
 1.3 30-Apr-2001  tsutsui Add MD attachments for the Symbios/NCR 53c710 SCSI controller,
found on the NEC Express5800/230A.
 1.2 30-Mar-2001  ur Don't reference nonexistent register on R96. (and maybe R94 too)
 1.1 24-Dec-2000  ur branches: 1.1.2; 1.1.4;
Switch pica to jazzio.
Split shared MD portion between algor and jazzio.
 1.1.4.2 21-Jun-2001  nathanw Catch up to -current.
 1.1.4.1 09-Apr-2001  nathanw Catch up with -current.
 1.1.2.3 21-Apr-2001  bouyer Sync with HEAD
 1.1.2.2 05-Jan-2001  bouyer Sync with HEAD
 1.1.2.1 24-Dec-2000  bouyer file rd94.h was added on branch thorpej_scsipi on 2001-01-05 17:33:59 +0000
 1.4.8.2 11-Dec-2002  thorpej Sync with HEAD.
 1.4.8.1 13-Jun-2001  thorpej file rd94.h was added on branch nathanw_sa on 2002-12-11 05:52:11 +0000
 1.7.136.1 06-Jun-2011  jruoho Sync with HEAD.
 1.7.130.1 21-Apr-2011  rmind sync with head
 1.2 18-May-2003  tsutsui Remove unused file since asc.c switched to MI ncr53c9x.
 1.1 24-Dec-2000  ur branches: 1.1.2;
Switch pica to jazzio.
Split shared MD portion between algor and jazzio.
 1.1.2.2 05-Jan-2001  bouyer Sync with HEAD
 1.1.2.1 24-Dec-2000  bouyer file scsi.h was added on branch thorpej_scsipi on 2001-01-05 17:33:59 +0000
 1.11 27-Oct-2012  chs split device_t/softc for all remaining drivers.
replace "struct device *" with "device_t".
use device_xname(), device_unit(), etc.
 1.10 05-Jul-2008  tsutsui branches: 1.10.30; 1.10.40;
Split device_t/softc with misc related changes.
 1.9 24-Jun-2006  tsutsui branches: 1.9.58; 1.9.62; 1.9.64; 1.9.66;
Misc minor cleanup for arc interrupt handlers:
- always enable options MIPS3_ENABLE_CLOCK_INTR and just clear the compare
register in cpu_intr() to make CLKF_BASE() works
properly
- prepare only possible number of cpu_inttab
- use macro for interrupt priority number passed to arc_set_intr()
to avoid confusion
- merge arc_hardware_intr() into cpu_intr()
- check independent timer interrupt first in cpu_intr()
- tweak MIPS_SR_INT_IE before calling hardclock timer handlers so that
spllowersoftclock(9) will be invoked properly in hardclock(9)
- reenable interrupt for timer in cpu_intr() rather than each timer handlers

okay'ed by soda.

Note the real fix is to make CLKF_BASE() check all independent
interrupt sources including jazz and isa devices.
 1.8 11-Dec-2005  christos branches: 1.8.4; 1.8.8; 1.8.16;
merge ktrace-lwp.
 1.7 20-Aug-2005  tsutsui Count jazzio timer interrupts by evcnt(9).
 1.6 22-Jan-2005  tsutsui branches: 1.6.8;
- remove __P()
- use ANSI function decls
- u_intNN_t -> uintNN_t
- some KNF
 1.5 07-Aug-2003  agc branches: 1.5.8;
Move UCB-licensed code from 4-clause to 3-clause licence.

Patches provided by Joel Baker in PR 22364, verified by myself.
 1.4 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 13-Jun-2001  soda branches: 1.1.2; 1.1.4; 1.1.10;
split clock_mc.c into interval timer driver (timer) and
real time clock driver (mcclock)
 1.1.10.2 18-Oct-2002  nathanw Catch up to -current.
 1.1.10.1 13-Jun-2001  nathanw file timer_jazzio.c was added on branch nathanw_sa on 2002-10-18 02:35:17 +0000
 1.1.4.1 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.2.1 21-Jun-2001  nathanw Catch up to -current.
 1.3.6.5 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.3.6.4 24-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.8.1 29-Apr-2005  kent sync with -current
 1.6.8.2 30-Dec-2006  yamt sync with head.
 1.6.8.1 21-Jun-2006  yamt sync with head.
 1.8.16.1 13-Jul-2006  gdamore Merge from HEAD.
 1.8.8.1 26-Jun-2006  yamt sync with head.
 1.8.4.1 09-Sep-2006  rpaulo sync with head
 1.9.66.1 18-Jul-2008  simonb Sync with head.
 1.9.64.1 18-Sep-2008  wrstuden Sync with wrstuden-revivesa-base-2.
 1.9.62.1 04-May-2009  yamt sync with head.
 1.9.58.1 28-Sep-2008  mjf Sync with HEAD.
 1.10.40.1 20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.10.30.1 30-Oct-2012  yamt sync with head
 1.6 28-Apr-2008  martin Remove clause 3 and 4 from TNF licenses
 1.5 11-Dec-2005  christos branches: 1.5.74; 1.5.76; 1.5.78;
merge ktrace-lwp.
 1.4 20-Aug-2005  tsutsui Count jazzio timer interrupts by evcnt(9).
 1.3 22-Jan-2005  tsutsui branches: 1.3.8;
Make all intr_mask value types uint32_t rather than int, u_int,
or unsigned etc.
 1.2 22-Jan-2005  tsutsui - remove __P()
- use ANSI function decls
- u_intNN_t -> uintNN_t
- some KNF
 1.1 13-Jun-2001  soda branches: 1.1.2; 1.1.10; 1.1.26; 1.1.34;
split clock_mc.c into interval timer driver (timer) and
real time clock driver (mcclock)
 1.1.34.1 29-Apr-2005  kent sync with -current
 1.1.26.2 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.1.26.1 24-Jan-2005  skrll Sync with HEAD.
 1.1.10.2 13-Jun-2001  soda split clock_mc.c into interval timer driver (timer) and
real time clock driver (mcclock)
 1.1.10.1 13-Jun-2001  soda file timer_jazziovar.h was added on branch nathanw_sa on 2001-06-13 15:02:17 +0000
 1.1.2.1 21-Jun-2001  nathanw Catch up to -current.
 1.3.8.1 21-Jun-2006  yamt sync with head.
 1.5.78.1 16-May-2008  yamt sync with head.
 1.5.76.1 18-May-2008  yamt sync with head.
 1.5.74.1 02-Jun-2008  mjf Sync with HEAD.
 1.18 20-Dec-2023  thorpej Remove unnecessary <sys/malloc.h>.
 1.17 01-Jul-2011  dyoung #include <sys/bus.h> instead of <machine/bus.h>.
 1.16 06-Mar-2011  tsutsui Remove trailing spaces.
 1.15 14-Mar-2008  cube branches: 1.15.26; 1.15.32;
Split device_t and softc for all attachments of vga(4).
 1.14 11-Dec-2005  christos branches: 1.14.50; 1.14.70; 1.14.74;
merge ktrace-lwp.
 1.13 05-Nov-2005  tsutsui Adapt arc port to the new MI mips3 wired map functions.
Tested on NEC-RD94 with several PCI and jazzio devices.
 1.12 03-Jun-2005  tsutsui branches: 1.12.2;
Add const.
 1.11 22-Jan-2005  tsutsui - remove __P()
- use ANSI function decls
- u_intNN_t -> uintNN_t
- some KNF
 1.10 15-Jul-2003  lukem branches: 1.10.8;
__KERNEL_RCSID()
 1.9 02-Oct-2002  thorpej branches: 1.9.6;
Use CFATTACH_DECL().
 1.8 27-Sep-2002  thorpej Declare all cfattach structures const.
 1.7 26-Jul-2002  tsutsui vga_common_attach() now seems to take quirks arg.

BTW, why don't we put it into vc_quirks member of vga_softc directly
in MD attachments?
 1.6 14-Sep-2001  thorpej branches: 1.6.4; 1.6.12;
Allow bus front-end to provide both ioctl and mmap entry points,
and also the wsdisplay type.

Based on changes from Simon Burge <simonb@wasabisystems.com>.
 1.5 13-Jun-2001  soda branches: 1.5.2; 1.5.4;
make vga frontend does same thing with pccons frontend
 1.4 24-Dec-2000  ur branches: 1.4.2;
Switch pica to jazzio.
Split shared MD portion between algor and jazzio.
 1.3 14-Aug-2000  thorpej branches: 1.3.2;
Just add the mmap argument to vga_common_attach(), don't bother
with vga_extended_attach().
 1.2 26-Jun-2000  simonb Change the kernel mmap interface so that the offset to map is an
"off_t" and the return value is a "paddr_t" to allow mappings
at offsets past 2^31 bytes. Somewhat inspired by FreeBSD, which
only changed the offset to a "vm_offset_t".

Includes updates for the i386, pc532 and sh3 mmmmap from Jason Thorpe.
 1.1 17-Jun-2000  soda branches: 1.1.2; 1.1.4;
vga/pckbc attachment for Jazz-Internal Bus of Magnum derived machines
(including Pica, NEC RISCstation/RISCserver).
 1.1.4.2 22-Jun-2000  minoura Sync w/ netbsd-1-5-base.
 1.1.4.1 17-Jun-2000  minoura file vga_jazzio.c was added on branch minoura-xpg4dl on 2000-06-22 16:59:17 +0000
 1.1.2.1 30-Jun-2000  simonb Pull up mmap paddr_t/off_t changes from trunk.
 1.3.2.3 05-Jan-2001  bouyer Sync with HEAD
 1.3.2.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.3.2.1 14-Aug-2000  bouyer file vga_jazzio.c was added on branch thorpej_scsipi on 2000-11-20 20:00:40 +0000
 1.4.2.1 21-Jun-2001  nathanw Catch up to -current.
 1.5.4.1 01-Oct-2001  fvdl Catch up with -current.
 1.5.2.3 10-Oct-2002  jdolecek sync kqueue with -current; this includes merge of gehenna-devsw branch,
merge of i386 MP branch, and part of autoconf rototil work
 1.5.2.2 06-Sep-2002  jdolecek sync kqueue branch with HEAD
 1.5.2.1 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.6.12.1 30-Aug-2002  gehenna catch up with -current.
 1.6.4.3 18-Oct-2002  nathanw Catch up to -current.
 1.6.4.2 01-Aug-2002  nathanw Catch up to -current.
 1.6.4.1 14-Sep-2001  nathanw file vga_jazzio.c was added on branch nathanw_sa on 2002-08-01 02:41:10 +0000
 1.9.6.5 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.9.6.4 24-Jan-2005  skrll Sync with HEAD.
 1.9.6.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.9.6.2 18-Sep-2004  skrll Sync with HEAD.
 1.9.6.1 03-Aug-2004  skrll Sync with HEAD
 1.10.8.1 29-Apr-2005  kent sync with -current
 1.12.2.2 17-Mar-2008  yamt sync with head.
 1.12.2.1 21-Jun-2006  yamt sync with head.
 1.14.74.1 03-Apr-2008  mjf Sync with HEAD.
 1.14.70.1 24-Mar-2008  keiichi sync with head.
 1.14.50.1 23-Mar-2008  matt sync with HEAD
 1.15.32.1 06-Jun-2011  jruoho Sync with HEAD.
 1.15.26.1 21-Apr-2011  rmind sync with head
 1.5 06-Mar-2011  tsutsui Remove trailing spaces.
 1.4 11-Dec-2005  christos branches: 1.4.100; 1.4.106;
merge ktrace-lwp.
 1.3 22-Jan-2005  tsutsui - remove __P()
- use ANSI function decls
- u_intNN_t -> uintNN_t
- some KNF
 1.2 13-Jun-2001  soda branches: 1.2.8; 1.2.24; 1.2.32;
make vga frontend does same thing with pccons frontend
 1.1 17-Jun-2000  soda branches: 1.1.4; 1.1.6; 1.1.8;
vga/pckbc attachment for Jazz-Internal Bus of Magnum derived machines
(including Pica, NEC RISCstation/RISCserver).
 1.1.8.1 21-Jun-2001  nathanw Catch up to -current.
 1.1.6.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.1.6.1 17-Jun-2000  bouyer file vga_jazziovar.h was added on branch thorpej_scsipi on 2000-11-20 20:00:40 +0000
 1.1.4.2 22-Jun-2000  minoura Sync w/ netbsd-1-5-base.
 1.1.4.1 17-Jun-2000  minoura file vga_jazziovar.h was added on branch minoura-xpg4dl on 2000-06-22 16:59:17 +0000
 1.2.32.1 29-Apr-2005  kent sync with -current
 1.2.24.1 24-Jan-2005  skrll Sync with HEAD.
 1.2.8.2 13-Jun-2001  soda make vga frontend does same thing with pccons frontend
 1.2.8.1 13-Jun-2001  soda file vga_jazziovar.h was added on branch nathanw_sa on 2001-06-13 15:12:29 +0000
 1.4.106.1 06-Jun-2011  jruoho Sync with HEAD.
 1.4.100.1 21-Apr-2011  rmind sync with head
 1.49 07-Dec-2023  thorpej extent(9) -> vmem(9)
 1.48 07-Aug-2021  thorpej Merge thorpej-cfargs2.
 1.47 24-Apr-2021  thorpej branches: 1.47.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.46 18-Nov-2020  thorpej branches: 1.46.2;
malloc(9) -> kmem(9)
 1.45 07-Jul-2020  thorpej branches: 1.45.2;
Overhaul the interface to pci_configure_bus():
- Don't expose how PCI bus configuration resource management is implemented.
Provide a new resource provider API:

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

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

- Re-implement PCI configuration resource management using vmem arenas,
rather than extent maps.
 1.44 14-Jun-2020  chs replace EX_NOWAIT with EX_WAITOK in device attach methods.
remove checks for failures that can no longer occur.
 1.43 10-Nov-2019  chs 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.42 02-Oct-2015  msaitoh branches: 1.42.18;
PCI Extended Configuration stuff written by nonaka@:
- Add PCI Extended Configuration Space support into x86.
- Check register offset of pci_conf_read() in MD part. It returns (pcireg_t)-1
if it isn't accessible.
- Decode Extended Capability in PCI Extended Configuration Space.
Currently the following extended capabilities are decoded:
- Advanced Error Reporting
- Virtual Channel
- Device Serial Number
- Power Budgeting
- Root Complex Link Declaration
- Root Complex Event Collector Association
- Access Control Services
- Alternative Routing-ID Interpretation
- Address Translation Services
- Single Root IO Virtualization
- Page Request
- TPH Requester
- Latency Tolerance Reporting
- Secondary PCI Express
- Process Address Space ID
- LN Requester
- L1 PM Substates
The following extended capabilities are not decoded yet:
- Root Complex Internal Link Control
- Multi-Function Virtual Channel
- RCRB Header
- Vendor Unique
- Configuration Access Correction
- Multiple Root IO Virtualization
- Multicast
- Resizable BAR
- Dynamic Power Allocation
- Protocol Multiplexing
- Downstream Port Containment
- Precision Time Management
- M-PCIe
- Function Reading Status Queueing
- Readiness Time Reporting
- Designated Vendor-Specific
 1.41 29-Mar-2014  christos branches: 1.41.6;
make pci_intr_string and eisa_intr_string take a buffer and a length
instead of relying in local static storage.
 1.40 26-Mar-2014  christos use sprintf.
 1.39 27-Oct-2012  chs branches: 1.39.2;
split device_t/softc for all remaining drivers.
replace "struct device *" with "device_t".
use device_xname(), device_unit(), etc.
 1.38 27-Jan-2012  para branches: 1.38.6;
converting extent(9) from malloc(9) to kmem(9)
preceding kmem-vmem-pool-uvm patch

releng@ acknowledged
 1.37 01-Jul-2011  dyoung branches: 1.37.2; 1.37.6;
#include <sys/bus.h> instead of <machine/bus.h>.
 1.36 17-May-2011  dyoung PCI_FLAGS_IO_ENABLED and PCI_FLAGS_MEM_ENABLED changed their functional
role in NetBSD (drivers are no longer supposed to write these to
pa_flags) without changing name. Correct that.

Rename PCI_FLAGS_IO_ENABLED to PCI_FLAGS_IO_OKAY and
PCI_FLAGS_MEM_ENABLED to PCI_FLAGS_MEM_OKAY, thus making their names
consistent with the other PCI flags and poisoning 3rd-party driver
sources that use the flags in the old bad way.

This patch produces no binary changes in this set of PCI kernels when
they are compiled w/o 'options DIAGNOSTIC' and w/ -V MKREPRO=yes:

algor P4032 P5064 P6032
alpha GENERIC
amd64 GENERIC XEN3_DOM0
arc GENERIC
atari HADES MILAN-PCIIDE
bebox GENERIC
cats GENERIC
cobalt GENERIC
evbarm-el ADI_BRH ARMADILLO9 CP3100 GEMINI GEMINI_MASTER GEMINI_SLAVE
evbarm-el GUMSTIX HDL_G IMX31LITE INTEGRATOR IQ31244 IQ80310 IQ80321
evbarm-el IXDP425 IXM1200 KUROBOX_PRO
evbarm-el LUBBOCK MARVELL_NAS NAPPI NSLU2 SHEEVAPLUG SMDK2800 TEAMASA_NPWR
evbarm-el TEAMASA_NPWR_FC TS7200 TWINTAIL ZAO425
evbmips-el AP30 DBAU1500 DBAU1550 MALTA MERAKI MTX-1 OMSAL400 RB153 WGT624V3
evbmips64-el XLSATX
evbppc EV64260 MPC8536DS MPC8548CDS OPENBLOCKS200 OPENBLOCKS266
evbppc OPENBLOCKS266_OPT P2020RDB PMPPC RB800 WALNUT
hp700 GENERIC
i386 ALL XEN3_DOM0 XEN3_DOMU
ibmnws GENERIC
iyonix GENERIC
landisk GENERIC
macppc GENERIC
mvmeppc GENERIC
netwinder GENERIC
ofppc GENERIC
prep GENERIC
sandpoint GENERIC
sbmips-el GENERIC
sgimips GENERIC32_IP2x GENERIC32_IP3x
sparc GENERIC_SUN4U KRUPS
sparc64 GENERIC
 1.35 04-Apr-2011  dyoung Neither pci_dma64_available(), pci_probe_device(), pci_mapreg_map(9),
pci_find_rom(), pci_intr_map(9), pci_enumerate_bus(), nor the match
predicate passed to pciide_compat_intr_establish() should ever modify
their pci_attach_args argument, so make their pci_attach_args arguments
const and deal with the fallout throughout the kernel.

For the most part, these changes add a 'const' where there was no
'const' before, however, some drivers and MD code used to modify
pci_attach_args. Now those drivers either copy their pci_attach_args
and modify the copy, or refrain from modifying pci_attach_args:

Xen: according to Manuel Bouyer, writing to pci_attach_args in
pci_intr_map() was a leftover from Xen 2. Probably a bug. I
stopped writing it. I have not tested this change.

siside(4): sis_hostbr_match() needlessly wrote to pci_attach_args.
Probably a bug. I use a temporary variable. I have not tested this
change.

slide(4): sl82c105_chip_map() overwrote the caller's pci_attach_args.
Probably a bug. Use a local pci_attach_args. I have not tested
this change.

viaide(4): via_sata_chip_map() and via_sata_chip_map_new() overwrote the
caller's pci_attach_args. Probably a bug. Make a local copy of the
caller's pci_attach_args and modify the copy. I have not tested
this change.

While I'm here, make pci_mapreg_submap() static.

With these changes in place, I have tested the compilation of these
kernels:

alpha GENERIC
amd64 GENERIC XEN3_DOM0
arc GENERIC
atari HADES MILAN-PCIIDE
bebox GENERIC
cats GENERIC
cobalt GENERIC
evbarm-eb NSLU2
evbarm-el ADI_BRH ARMADILLO9 CP3100 GEMINI GEMINI_MASTER GEMINI_SLAVE GUMSTIX
HDL_G IMX31LITE INTEGRATOR IQ31244 IQ80310 IQ80321 IXDP425 IXM1200
KUROBOX_PRO LUBBOCK MARVELL_NAS NAPPI SHEEVAPLUG SMDK2800 TEAMASA_NPWR
TEAMASA_NPWR_FC TS7200 TWINTAIL ZAO425
evbmips-el AP30 DBAU1500 DBAU1550 MALTA MERAKI MTX-1 OMSAL400 RB153 WGT624V3
evbmips64-el XLSATX
evbppc EV64260 MPC8536DS MPC8548CDS OPENBLOCKS200 OPENBLOCKS266
OPENBLOCKS266_OPT P2020RDB PMPPC RB800 WALNUT
hp700 GENERIC
i386 ALL XEN3_DOM0 XEN3_DOMU
ibmnws GENERIC
macppc GENERIC
mvmeppc GENERIC
netwinder GENERIC
ofppc GENERIC
prep GENERIC
sandpoint GENERIC
sgimips GENERIC32_IP2x
sparc GENERIC_SUN4U KRUPS
sparc64 GENERIC

As of Sun Apr 3 15:26:26 CDT 2011, I could not compile these kernels
with or without my patches in place:

### evbmips-el GDIUM

nbmake: nbmake: don't know how to make /home/dyoung/pristine-nbsd/src/sys/arch/mips/mips/softintr.c. Stop

### evbarm-el MPCSA_GENERIC
src/sys/arch/evbarm/conf/MPCSA_GENERIC:318: ds1672rtc*: unknown device `ds1672rtc'

### ia64 GENERIC

/tmp/genassym.28085/assym.c: In function 'f111':
/tmp/genassym.28085/assym.c:67: error: invalid application of 'sizeof' to incomplete type 'struct pcb'
/tmp/genassym.28085/assym.c:76: error: dereferencing pointer to incomplete type

### sgimips GENERIC32_IP3x

crmfb.o: In function `crmfb_attach':
crmfb.c:(.text+0x2304): undefined reference to `ddc_read_edid'
crmfb.c:(.text+0x2304): relocation truncated to fit: R_MIPS_26 against `ddc_read_edid'
crmfb.c:(.text+0x234c): undefined reference to `edid_parse'
crmfb.c:(.text+0x234c): relocation truncated to fit: R_MIPS_26 against `edid_parse'
crmfb.c:(.text+0x2354): undefined reference to `edid_print'
crmfb.c:(.text+0x2354): relocation truncated to fit: R_MIPS_26 against `edid_print'
 1.34 20-Feb-2011  matt Merge forward from matt-nb5-mips64.
Adapt to new interrupt/spl framework.
Add LP64 support.
 1.33 02-Nov-2010  tsutsui branches: 1.33.2; 1.33.4;
Use fixed pci_intr_handle_t per device number regardless of pin and swiz.

Tested the following multifunction card and devices over ppb(4)
on Express5800/230 (JC94):

---
uhci0 at pci0 dev 4 function 0: VIA Technologies VT83C572 USB Controller (rev. 0x61)
uhci0: interrupting at int C
usb0 at uhci0: USB revision 1.0
uhci1 at pci0 dev 4 function 1: VIA Technologies VT83C572 USB Controller (rev. 0x61)
uhci1: interrupting at int C
usb1 at uhci1: USB revision 1.0
ehci0 at pci0 dev 4 function 2: VIA Technologies VT8237 EHCI USB Controller (rev. 0x63)
ehci0: interrupting at int C
ehci0: dropped intr workaround enabled
ehci0: EHCI version 1.0
ehci0: companion controllers, 2 ports each: uhci0 uhci1
usb2 at ehci0: USB revision 2.0
fwohci0 at pci0 dev 4 function 3: VIA Technologies VT6306 IEEE 1394 Host Controller (rev. 0x46)
fwohci0: interrupting at int C
fwohci0: OHCI version 1.0 (ROM=1)
fwohci0: No. of Isochronous channels is 4.
fwohci0: EUI64 00:01:08:00:37:02:79:4f
fwohci0: Phy 1394a available S400, 3 ports.
fwohci0: Link S400, max_rec 1024 bytes.
fwohci0: max_rec 1024 -> 2048
ieee1394if0 at fwohci0: IEEE1394 bus
fwip0 at ieee1394if0: IP over IEEE1394
fwohci0: Initiate bus reset
vge0 at pci0 dev 4 function 4: VIA VT612X Gigabit Ethernet (rev. 0x11)
vge0: interrupting at int C
vge0: Ethernet address: 00:01:08:00:b1:71
ciphy0 at vge0 phy 1: Cicada CS8201 10/100/1000TX PHY, rev. 2
ciphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, 1000baseT, 1000baseT-FDX, auto
:
---
ppb0 at pci0 dev 4 function 0: Digital Equipment DC21154 PCI-PCI Bridge (rev. 0x05)
pci1 at ppb0 bus 1
pci1: i/o space, memory space enabled
ex0 at pci1 dev 4 function 0: 3Com 3c980C-TXM 10/100 Ethernet (rev. 0x78)
ex0: interrupting at int C
ex0: MAC address 00:01:03:ce:74:48
bmtphy0 at ex0 phy 24: Broadcom 3c905C internal PHY, rev. 7
bmtphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
ex1 at pci1 dev 5 function 0: 3Com 3c980C-TXM 10/100 Ethernet (rev. 0x78)
ex1: interrupting at int C
ex1: MAC address 00:01:03:ce:74:49
bmtphy1 at ex1 phy 24: Broadcom 3c905C internal PHY, rev. 7
bmtphy1: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
:
 1.32 05-Jul-2008  tsutsui branches: 1.32.6; 1.32.14; 1.32.16; 1.32.18;
Split device_t/softc with misc related changes.
 1.31 28-Apr-2008  martin branches: 1.31.2; 1.31.4;
Remove clause 3 and 4 from TNF licenses
 1.30 14-Mar-2008  tsutsui branches: 1.30.2; 1.30.4;
Fix spl(9) botch in cpu_intr() on arc:
Don't enable unhandled interrupts before all interrupts are processed,
and also change all interrupt handlers to return processed MIPS_INT_MASK
values, rather than masked values of them.
 1.29 04-Mar-2007  christos branches: 1.29.20; 1.29.36; 1.29.40;
Kill caddr_t; there will be some MI fallout, but it will be fixed shortly.
 1.28 24-Jun-2006  tsutsui branches: 1.28.10;
Misc minor cleanup for arc interrupt handlers:
- always enable options MIPS3_ENABLE_CLOCK_INTR and just clear the compare
register in cpu_intr() to make CLKF_BASE() works
properly
- prepare only possible number of cpu_inttab
- use macro for interrupt priority number passed to arc_set_intr()
to avoid confusion
- merge arc_hardware_intr() into cpu_intr()
- check independent timer interrupt first in cpu_intr()
- tweak MIPS_SR_INT_IE before calling hardclock timer handlers so that
spllowersoftclock(9) will be invoked properly in hardclock(9)
- reenable interrupt for timer in cpu_intr() rather than each timer handlers

okay'ed by soda.

Note the real fix is to make CLKF_BASE() check all independent
interrupt sources including jazz and isa devices.
 1.27 16-Apr-2006  tsutsui branches: 1.27.4;
In !defined(PCI_NETBSD_CONFIGURE) case, check PCI_ID_REG and PCI_CLASS_REG
before CSR fixup.
 1.26 16-Apr-2006  tsutsui Pass mips_dcache_align to pci_configure_bus(9) for cacheline_size.
 1.25 15-Apr-2006  tsutsui Add support for pci_configure_bus(9) (a.k.a. options PCI_NETBSD_CONFIGURE)
so that PCI devices over ppb(4) work properly on PCI based NEC machines.

Tested on my NEC JC94 (Express5800/230) and 3Com 3C982-TXM,
which has a DEC/Intel 21154 PCI-PCI bridge and two 3C920 Ethernet chips.
 1.24 15-Apr-2006  tsutsui Ack interrupts only if they are actually handled.
 1.23 15-Apr-2006  tsutsui Misc cosmetics.
 1.22 15-Apr-2006  tsutsui Include "ioconf.h" rather than declare struct cfdriver foo_cd in each file.
 1.21 15-Nov-2005  tsutsui branches: 1.21.4; 1.21.6; 1.21.8; 1.21.10; 1.21.12;
Explicitly enable interrupts before softintr is handled as noted
in the TODO file. At least this fixes "sn0: receive buffers exhausted"
messages on my NEC-JC94.

XXX: does anyone know what "Dont reenable" comment means, which was
XXX: there since initial import of pica (not arc).
 1.20 22-Jan-2005  tsutsui branches: 1.20.8; 1.20.14;
Make all intr_mask value types uint32_t rather than int, u_int,
or unsigned etc.
 1.19 22-Jan-2005  tsutsui - remove __P()
- use ANSI function decls
- u_intNN_t -> uintNN_t
- some KNF
 1.18 30-Aug-2004  drochner branches: 1.18.4;
Phase out the use of a string as first "attach args" member to control
which bustype should be attached with a specific call to config_found()
(from a "mainbus" or a bus bridge).
Do it for isa/eisa/mca and pci/agp for now. These buses all attach to
an mi interface attribute "isabus", "eisabus" etc., and the autoconf
framework now allows to specify an interface attribute on config_found()
and config_search(), which limits the search of matching config data
to these which attach to that specific attribute.
So we basically have to call config_found_ia(..., "foobus", ...) where
such a bus is attached.
As a consequence, where a "mainbus" or alike also attaches other
devices (eg CPUs) which do not attach to a specific attribute yet,
we need at least pass an attribute name (different from "foobus") so
that the foo bus is not found at these places. This made some minor
changes necessary which are not obviously related to the mentioned buses.
 1.17 01-Nov-2003  tsutsui Count necpb interrupts with evcnt(9).
 1.16 15-Jul-2003  lukem __KERNEL_RCSID()
 1.15 15-Jun-2003  fvdl branches: 1.15.2;
Handle 64bit DMA addresses on PCI for platforms that can (currently only
enabled on amd64). Add a dmat64 field to various PCI attach structures,
and pass it down where needed. Implement a simple new function called
pci_dma64_available(pa) to test if 64bit DMA addresses may be used.
This returns 1 iff _PCI_HAVE_DMA64 is defined in <machine/pci_machdep.h>,
and there is more than 4G of memory.
 1.14 01-Jan-2003  thorpej Use aprint_normal for cfprint routines.
 1.13 02-Oct-2002  thorpej Use CFATTACH_DECL().
 1.12 27-Sep-2002  thorpej Declare all cfattach structures const.
 1.11 16-May-2002  thorpej * Add "pcitag_t *pba_bridgetag" to pci_attach_args. This is set to
NULL for root PCI busses. For busses behind a bridge, it points to
a persistent copy of the bridge's pcitag_t. This can be very useful
for machine-dependent PCI bus enumeration code.
* Implement a machine-dependent pci_enumerate_bus() for sparc64 which
uses OFW device nodes to enumerate the bus. When a PCI bus that is
behind a bridge is attached, pci_attach_hook() allocates a new PCI
chipset tag for the new bus and sets it's "curnode" to the OFW node
of the bridge. This is used as a starting point when enumerating
that bus. Root busses get the OFW node of the host bridge (psycho).
* Garbage-collect "ofpci" and "ofppb" from the sparc64 port.
 1.10 15-May-2002  thorpej branches: 1.10.2;
Implement pci_decompose_tag().
 1.9 17-Aug-2001  ur branches: 1.9.6;
Disable PCI expansion ROM for normal operation.
It fixes memory mapped I/O problems on some devices.
(from port-arc ML)
 1.8 13-Jun-2001  soda branches: 1.8.2;
rename statically allocated software context which is needed for
console initialization, from "struct necpb_config necpb_configuration;"
to "struct necpb_context necpb_main_context".
to resolve naming conflicts with "struct XXX_config *XXX_conf;"
which describes platform-dependent configuration variants.
 1.7 13-Jan-2001  ur branches: 1.7.2;
Adapt to pci_intr_map change.
 1.6 24-Dec-2000  ur Switch pica to jazzio.
Split shared MD portion between algor and jazzio.
 1.5 09-Nov-2000  thorpej branches: 1.5.2;
Fix a printf format.
 1.4 29-Jun-2000  mrg remove include of <vm/vm.h>. <vm/vm.h> -> <uvm/uvm_extern.h>
 1.3 26-Jun-2000  mrg remove/move more mach vm header files:

<vm/pglist.h> -> <uvm/uvm_pglist.h>
<vm/vm_inherit.h> -> <uvm/uvm_inherit.h>
<vm/vm_kern.h> -> into <uvm/uvm_extern.h>
<vm/vm_object.h> -> nothing
<vm/vm_pager.h> -> into <uvm/uvm_pager.h>

also includes a bunch of <vm/vm_page.h> include removals (due to redudancy
with <vm/vm.h>), and a scattering of other similar headers.
 1.2 17-Jun-2000  soda branches: 1.2.4;
TGA console initialization for NEC RISCstation 2250,
contributed by Shuichiro URATA <ur@a-r.org>
 1.1 09-Jun-2000  soda NEC RISCstation 2250 (RD-94) PCI bus support,
contributed by Shuichiro URATA <ur@a-r.org>
 1.2.4.2 22-Jun-2000  minoura Sync w/ netbsd-1-5-base.
 1.2.4.1 17-Jun-2000  minoura file necpb.c was added on branch minoura-xpg4dl on 2000-06-22 16:59:18 +0000
 1.5.2.5 18-Jan-2001  bouyer Sync with head (for UBC+NFS fixes, mostly).
 1.5.2.4 05-Jan-2001  bouyer Sync with HEAD
 1.5.2.3 22-Nov-2000  bouyer Sync with HEAD.
 1.5.2.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.5.2.1 09-Nov-2000  bouyer file necpb.c was added on branch thorpej_scsipi on 2000-11-20 20:00:41 +0000
 1.7.2.1 21-Jun-2001  nathanw Catch up to -current.
 1.8.2.3 10-Oct-2002  jdolecek sync kqueue with -current; this includes merge of gehenna-devsw branch,
merge of i386 MP branch, and part of autoconf rototil work
 1.8.2.2 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.8.2.1 25-Aug-2001  thorpej Merge Aug 24 -current into the kqueue branch.
 1.9.6.4 03-Jan-2003  thorpej Sync with HEAD.
 1.9.6.3 18-Oct-2002  nathanw Catch up to -current.
 1.9.6.2 20-Jun-2002  nathanw Catch up to -current.
 1.9.6.1 17-Aug-2001  nathanw file necpb.c was added on branch nathanw_sa on 2002-06-20 03:37:59 +0000
 1.10.2.1 30-May-2002  gehenna Catch up with -current.
 1.15.2.6 11-Dec-2005  christos Sync with head.
 1.15.2.5 24-Jan-2005  skrll Sync with HEAD.
 1.15.2.4 21-Sep-2004  skrll Fix the sync with head I botched.
 1.15.2.3 18-Sep-2004  skrll Sync with HEAD.
 1.15.2.2 03-Sep-2004  skrll Sync with HEAD
 1.15.2.1 03-Aug-2004  skrll Sync with HEAD
 1.18.4.1 29-Apr-2005  kent sync with -current
 1.20.14.1 22-Nov-2005  yamt sync with head.
 1.20.8.4 17-Mar-2008  yamt sync with head.
 1.20.8.3 03-Sep-2007  yamt sync with head.
 1.20.8.2 30-Dec-2006  yamt sync with head.
 1.20.8.1 21-Jun-2006  yamt sync with head.
 1.21.12.1 24-May-2006  tron Merge 2006-05-24 NetBSD-current into the "peter-altq" branch.
 1.21.10.1 19-Apr-2006  elad sync with head - hopefully this will work
 1.21.8.2 26-Jun-2006  yamt sync with head.
 1.21.8.1 24-May-2006  yamt sync with head.
 1.21.6.1 22-Apr-2006  simonb Sync with head.
 1.21.4.1 09-Sep-2006  rpaulo sync with head
 1.27.4.1 13-Jul-2006  gdamore Merge from HEAD.
 1.28.10.1 12-Mar-2007  rmind Sync with HEAD.
 1.29.40.3 28-Sep-2008  mjf Sync with HEAD.
 1.29.40.2 02-Jun-2008  mjf Sync with HEAD.
 1.29.40.1 03-Apr-2008  mjf Sync with HEAD.
 1.29.36.1 24-Mar-2008  keiichi sync with head.
 1.29.20.1 23-Mar-2008  matt sync with HEAD
 1.30.4.2 04-May-2009  yamt sync with head.
 1.30.4.1 16-May-2008  yamt sync with head.
 1.30.2.1 18-May-2008  yamt sync with head.
 1.31.4.1 18-Jul-2008  simonb Sync with head.
 1.31.2.1 18-Sep-2008  wrstuden Sync with wrstuden-revivesa-base-2.
 1.32.18.3 31-May-2011  rmind sync with head
 1.32.18.2 21-Apr-2011  rmind sync with head
 1.32.18.1 05-Mar-2011  rmind sync with head
 1.32.16.1 06-Nov-2010  uebayasi Sync with HEAD.
 1.32.14.1 20-Jan-2010  matt Adjust things to the new world order.
 1.32.6.1 22-Nov-2010  riz Pull up following revision(s) (requested by tsutsui in ticket #1481):
sys/arch/arc/pci/necpb.c: revision 1.33
Use fixed pci_intr_handle_t per device number regardless of pin and swiz.
Tested the following multifunction card and devices over ppb(4)
on Express5800/230 (JC94):
---
uhci0 at pci0 dev 4 function 0: VIA Technologies VT83C572 USB Controller (rev. 0x61)
uhci0: interrupting at int C
usb0 at uhci0: USB revision 1.0
uhci1 at pci0 dev 4 function 1: VIA Technologies VT83C572 USB Controller (rev. 0x61)
uhci1: interrupting at int C
usb1 at uhci1: USB revision 1.0
ehci0 at pci0 dev 4 function 2: VIA Technologies VT8237 EHCI USB Controller (rev. 0x63)
ehci0: interrupting at int C
ehci0: dropped intr workaround enabled
ehci0: EHCI version 1.0
ehci0: companion controllers, 2 ports each: uhci0 uhci1
usb2 at ehci0: USB revision 2.0
fwohci0 at pci0 dev 4 function 3: VIA Technologies VT6306 IEEE 1394 Host Controller (rev. 0x46)
fwohci0: interrupting at int C
fwohci0: OHCI version 1.0 (ROM=1)
fwohci0: No. of Isochronous channels is 4.
fwohci0: EUI64 00:01:08:00:37:02:79:4f
fwohci0: Phy 1394a available S400, 3 ports.
fwohci0: Link S400, max_rec 1024 bytes.
fwohci0: max_rec 1024 -> 2048
ieee1394if0 at fwohci0: IEEE1394 bus
fwip0 at ieee1394if0: IP over IEEE1394
fwohci0: Initiate bus reset
vge0 at pci0 dev 4 function 4: VIA VT612X Gigabit Ethernet (rev. 0x11)
vge0: interrupting at int C
vge0: Ethernet address: 00:01:08:00:b1:71
ciphy0 at vge0 phy 1: Cicada CS8201 10/100/1000TX PHY, rev. 2
ciphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, 1000baseT, 1000baseT-FDX, auto
:
---
ppb0 at pci0 dev 4 function 0: Digital Equipment DC21154 PCI-PCI Bridge (rev. 0x05)
pci1 at ppb0 bus 1
pci1: i/o space, memory space enabled
ex0 at pci1 dev 4 function 0: 3Com 3c980C-TXM 10/100 Ethernet (rev. 0x78)
ex0: interrupting at int C
ex0: MAC address 00:01:03:ce:74:48
bmtphy0 at ex0 phy 24: Broadcom 3c905C internal PHY, rev. 7
bmtphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
ex1 at pci1 dev 5 function 0: 3Com 3c980C-TXM 10/100 Ethernet (rev. 0x78)
ex1: interrupting at int C
ex1: MAC address 00:01:03:ce:74:49
bmtphy1 at ex1 phy 24: Broadcom 3c905C internal PHY, rev. 7
bmtphy1: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
:
 1.33.4.1 05-Mar-2011  bouyer Sync with HEAD
 1.33.2.1 06-Jun-2011  jruoho Sync with HEAD.
 1.37.6.1 18-Feb-2012  mrg merge to -current.
 1.37.2.3 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.37.2.2 30-Oct-2012  yamt sync with head
 1.37.2.1 17-Apr-2012  yamt sync with head
 1.38.6.3 03-Dec-2017  jdolecek update from HEAD
 1.38.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.38.6.1 20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.39.2.1 18-May-2014  rmind sync with head
 1.41.6.1 27-Dec-2015  skrll Sync with HEAD (as of 26th Dec)
 1.42.18.1 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.45.2.1 14-Dec-2020  thorpej Sync w/ HEAD.
 1.46.2.1 23-Mar-2021  thorpej Convert config_found_ia() call sites where the device only carries
a single interface attribute to bare config_found() calls.
 1.47.8.1 03-Aug-2021  thorpej Adapt to CFARGS().
 1.7 05-Jul-2008  tsutsui Split device_t/softc with misc related changes.
 1.6 11-Dec-2005  christos branches: 1.6.74; 1.6.78; 1.6.80; 1.6.82;
merge ktrace-lwp.
 1.5 22-Jan-2005  tsutsui - remove __P()
- use ANSI function decls
- u_intNN_t -> uintNN_t
- some KNF
 1.4 01-Nov-2003  tsutsui branches: 1.4.8;
Count necpb interrupts with evcnt(9).
 1.3 13-Jun-2001  soda branches: 1.3.8; 1.3.24;
rename statically allocated software context which is needed for
console initialization, from "struct necpb_config necpb_configuration;"
to "struct necpb_context necpb_main_context".
to resolve naming conflicts with "struct XXX_config *XXX_conf;"
which describes platform-dependent configuration variants.
 1.2 17-Jun-2000  soda branches: 1.2.4; 1.2.6; 1.2.8;
TGA console initialization for NEC RISCstation 2250,
contributed by Shuichiro URATA <ur@a-r.org>
 1.1 09-Jun-2000  soda NEC RISCstation 2250 (RD-94) PCI bus support,
contributed by Shuichiro URATA <ur@a-r.org>
 1.2.8.1 21-Jun-2001  nathanw Catch up to -current.
 1.2.6.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.2.6.1 17-Jun-2000  bouyer file necpbvar.h was added on branch thorpej_scsipi on 2000-11-20 20:00:41 +0000
 1.2.4.2 22-Jun-2000  minoura Sync w/ netbsd-1-5-base.
 1.2.4.1 17-Jun-2000  minoura file necpbvar.h was added on branch minoura-xpg4dl on 2000-06-22 16:59:18 +0000
 1.3.24.4 24-Jan-2005  skrll Sync with HEAD.
 1.3.24.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.3.24.2 18-Sep-2004  skrll Sync with HEAD.
 1.3.24.1 03-Aug-2004  skrll Sync with HEAD
 1.3.8.2 13-Jun-2001  soda rename statically allocated software context which is needed for
console initialization, from "struct necpb_config necpb_configuration;"
to "struct necpb_context necpb_main_context".
to resolve naming conflicts with "struct XXX_config *XXX_conf;"
which describes platform-dependent configuration variants.
 1.3.8.1 13-Jun-2001  soda file necpbvar.h was added on branch nathanw_sa on 2001-06-13 15:18:29 +0000
 1.4.8.1 29-Apr-2005  kent sync with -current
 1.6.82.1 18-Jul-2008  simonb Sync with head.
 1.6.80.1 18-Sep-2008  wrstuden Sync with wrstuden-revivesa-base-2.
 1.6.78.1 04-May-2009  yamt sync with head.
 1.6.74.1 28-Sep-2008  mjf Sync with HEAD.
 1.8 13-Jun-2001  soda remove algor related codes, because there is independent (and working!)
algor port now.
 1.7 02-Jun-2001  chs replace vm_map{,_entry}_t with struct vm_map{,_entry} *.
 1.6 13-Jan-2001  ur Adapt to pci_intr_map change.
 1.5 29-Jun-2000  mrg branches: 1.5.2;
remove include of <vm/vm.h>. <vm/vm.h> -> <uvm/uvm_extern.h>
 1.4 09-Jun-2000  soda repair algor support a bit.
 1.3 22-Feb-2000  soda branches: 1.3.2;
merge changes between OpenBSD-2.1 and OpenBSD-2.6
 1.2 23-Jan-2000  soda merge to NetBSD-current (DeskStation and Algor support is currently broken)
 1.1 23-Jan-2000  soda branches: 1.1.1;
Initial revision
 1.1.1.2 22-Feb-2000  soda OpenBSD-2.6/arc
 1.1.1.1 23-Jan-2000  soda OpenBSD-2.1/arc
 1.3.2.1 22-Jun-2000  minoura Sync w/ netbsd-1-5-base.
 1.5.2.3 18-Jan-2001  bouyer Sync with head (for UBC+NFS fixes, mostly).
 1.5.2.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.5.2.1 29-Jun-2000  bouyer file pbcpcibus.c was added on branch thorpej_scsipi on 2000-11-20 20:00:41 +0000
 1.4 03-Jul-2001  soda forgot to remove this, when arc/include/pci_machdep.h was added.
pointed out by Izumi TSUTSUI.
 1.3 22-Feb-2000  soda branches: 1.3.6;
merge changes between OpenBSD-2.1 and OpenBSD-2.6
 1.2 23-Jan-2000  soda merge to NetBSD-current (DeskStation and Algor support is currently broken)
 1.1 23-Jan-2000  soda branches: 1.1.1;
Initial revision
 1.1.1.2 22-Feb-2000  soda OpenBSD-2.6/arc
 1.1.1.1 23-Jan-2000  soda OpenBSD-2.1/arc
 1.3.6.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.3.6.1 22-Feb-2000  bouyer file pci_machdep.h was added on branch thorpej_scsipi on 2000-11-20 20:00:41 +0000
 1.4 13-Jun-2001  soda remove algor related codes, because there is independent (and working!)
algor port now.
 1.3 09-Jun-2000  soda branches: 1.3.4;
repair algor support a bit.
 1.2 23-Jan-2000  soda branches: 1.2.2;
merge to NetBSD-current (DeskStation and Algor support is currently broken)
 1.1 23-Jan-2000  soda branches: 1.1.1;
Initial revision
 1.1.1.1 23-Jan-2000  soda OpenBSD-2.1/arc
 1.2.2.1 22-Jun-2000  minoura Sync w/ netbsd-1-5-base.
 1.3.4.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.3.4.1 09-Jun-2000  bouyer file pcibrvar.h was added on branch thorpej_scsipi on 2000-11-20 20:00:41 +0000
 1.2 08-Jun-2001  simonb For ports that wire up pciide in compatibility mode, have
them define __HAVE_PCIIDE_MACHDEP_COMPAT_INTR_ESTABLISH
in pci_machdep.h and pciide_map_compat_intr() only calls
pciide_machdep_compat_intr_establish() if that preprocessor
define exists.

Ports that don't need to do this no longer need to supply a
dummy function.
 1.1 09-Jun-2000  soda branches: 1.1.4; 1.1.6;
- NEC RISCstation 2250 (RD-94) PCI bus support,
contributed by Shuichiro URATA <ur@a-r.org>.
- Experimental coding for NEC RISCserver 2200 and RISCstation 2200.
(doesn't really work)
 1.1.6.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.1.6.1 09-Jun-2000  bouyer file pciide_machdep.c was added on branch thorpej_scsipi on 2000-11-20 20:00:41 +0000
 1.1.4.2 22-Jun-2000  minoura Sync w/ netbsd-1-5-base.
 1.1.4.1 09-Jun-2000  minoura file pciide_machdep.c was added on branch minoura-xpg4dl on 2000-06-22 16:59:20 +0000
 1.4 13-Jun-2001  soda remove algor related codes, because there is independent (and working!)
algor port now.
 1.3 22-Feb-2000  soda branches: 1.3.6;
merge changes between OpenBSD-2.1 and OpenBSD-2.6
 1.2 23-Jan-2000  soda merge to NetBSD-current (DeskStation and Algor support is currently broken)
 1.1 23-Jan-2000  soda branches: 1.1.1;
Initial revision
 1.1.1.2 22-Feb-2000  soda OpenBSD-2.6/arc
 1.1.1.1 23-Jan-2000  soda OpenBSD-2.1/arc
 1.3.6.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.3.6.1 22-Feb-2000  bouyer file v962pcbreg.h was added on branch thorpej_scsipi on 2000-11-20 20:00:41 +0000
 1.5 11-Dec-2005  christos merge ktrace-lwp.
 1.4 18-Apr-2005  tsutsui Remove MBR and MSDOSFS binaries which were imported from OpenBSD but
maintained at all. Our current fdisk(8) and newfs_msdos(8) work enough
to create a bootable disk on NetBSD/arc.
Ok'ed by soda.
 1.3 18-Apr-2005  tsutsui Add a long-awaited standalone boot program for arc port to load
ELF kernels instead of booting ECOFF kernels directly by ARCBIOS.
Tested on my NEC-J96A and NEC-JC94, and ok'ed by soda.

XXX: Maybe we should share some of these sources with sgimips
XXX: (in sys/dev/arcbios/stand?)
 1.2 30-Jun-2004  jmc branches: 1.2.4;
Add missing NetBSD ID tags
 1.1 23-Jan-2000  soda branches: 1.1.1;
Initial revision
 1.1.1.1 23-Jan-2000  soda branches: 1.1.1.1.6; 1.1.1.1.26;
OpenBSD-2.1/arc
 1.1.1.1.26.4 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.1.1.1.26.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.1.1.1.26.2 18-Sep-2004  skrll Sync with HEAD.
 1.1.1.1.26.1 03-Aug-2004  skrll Sync with HEAD
 1.1.1.1.6.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.1.1.1.6.1 23-Jan-2000  bouyer file Makefile was added on branch thorpej_scsipi on 2000-11-20 20:00:42 +0000
 1.2.4.1 29-Apr-2005  kent sync with -current
 1.3 08-Sep-2016  christos Avoid the PIE
 1.2 11-Dec-2005  christos branches: 1.2.122; 1.2.142;
merge ktrace-lwp.
 1.1 18-Apr-2005  tsutsui branches: 1.1.2; 1.1.10;
Add a long-awaited standalone boot program for arc port to load
ELF kernels instead of booting ECOFF kernels directly by ARCBIOS.
Tested on my NEC-J96A and NEC-JC94, and ok'ed by soda.

XXX: Maybe we should share some of these sources with sgimips
XXX: (in sys/dev/arcbios/stand?)
 1.1.10.2 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.1.10.1 18-Apr-2005  skrll file Makefile.inc was added on branch ktrace-lwp on 2005-11-10 13:55:09 +0000
 1.1.2.2 29-Apr-2005  kent sync with -current
 1.1.2.1 18-Apr-2005  kent file Makefile.inc was added on branch kent-audio2 on 2005-04-29 11:28:02 +0000
 1.2.142.1 05-Oct-2016  skrll Sync with HEAD
 1.2.122.1 03-Dec-2017  jdolecek update from HEAD
 1.19 29-Jun-2024  rin arc: stand: Switch to libsa/getopt, NFCI
 1.18 03-Jun-2020  tsutsui Explicitly strip debug info on calling objdump for ecoff boot binaries.

As noted by martin@ on tech-toolchain@, release binaries are built
with MKDEBUG=yes so standalone binaries should explicitly remove
debug info generated by -g option.
https://mail-index.netbsd.org/tech-toolchain/2020/06/02/msg003809.html

Should be pulled up to netbsd-9.
(ARC BIOS gets confused by debug info sections in ecoff binaries
and boot binary in 9.0 doesn't work)
 1.17 08-Apr-2017  christos branches: 1.17.18;
centralize vers.c building for standalone programs.
 1.16 08-Sep-2016  christos branches: 1.16.2;
Avoid the PIE
 1.15 16-Jan-2014  christos branches: 1.15.6; 1.15.10;
eliminate use of bsd.sys.mk from Makefiles
 1.14 12-Jan-2014  tsutsui Add empty LIBCRTI= as LIBCRT0 to build sa programs without installed DESTDIR.

XXX: probabry we should have bsd.saprog.mk or something.
 1.13 13-Jul-2011  mrg branches: 1.13.2; 1.13.12; 1.13.16;
build this as a o32 application.
 1.12 20-Feb-2011  matt Merge forward from matt-nb5-mips64.
Adapt to new interrupt/spl framework.
Add LP64 support.
 1.11 22-Jan-2011  joerg Drop bootprog_maker (formerly enabled by -M) and bootprog_date (formerly
disabled by -D) from the output of newvers_stand.sh. Change -D to the
inverted logic, so that it adds the date to bootprog_rev in ().

Change all platforms accordingly. -D is added if MKREPRO is not yes and
wasn't present before. Platforms that didn't use -D don't depend on
MKREPRO now either.
 1.10 21-Jan-2011  joerg Switch remaining platforms to modern CPP for assembler.
 1.9 27-May-2010  dholland branches: 1.9.2; 1.9.4;
Introduce .WAIT into the cleandir rule for blasting the libsa/libkern/etc.
trees, because it can race with the libsa/libkern/etc. makefiles' own
cleandir rules. I think I've found all of the uses of the offending idiom...
Closes PR 43360.
 1.8 03-Apr-2009  tsutsui branches: 1.8.2; 1.8.4;
Remove obsolete LIBSA_USE_MEMCPY and LIBSA_USE_MEMSET.
They were removed from <lib/libsa/stand.h> on December 2007.
 1.7 15-Mar-2009  tsutsui Use <bsd.klinks.mk> to create MD include dir symlinks.
 1.6 28-Aug-2006  tsutsui branches: 1.6.60; 1.6.68; 1.6.74;
Revert previous, because header search path for src/common/include is
now handled in src/sys/lib/libkern/Makefile.
 1.5 22-Jul-2006  tsutsui Add "-I${S}/../common/include" to CPPFLAGS for libprop sources in libkern.

XXX: shouldn't this be handled by sys/lib/libkern/Makefile.inc?
 1.4 28-Dec-2005  skrll branches: 1.4.4; 1.4.8;
Don't try and create/cleanup symlinks before objdirs are created.

Doesn't everyone use ro src?
 1.3 11-Dec-2005  christos merge ktrace-lwp.
 1.2 11-May-2005  jmc branches: 1.2.2; 1.2.8;
Don't need realdepend/realall depends anymore now that .BEGIN is fixed
 1.1 18-Apr-2005  tsutsui branches: 1.1.2;
Add a long-awaited standalone boot program for arc port to load
ELF kernels instead of booting ECOFF kernels directly by ARCBIOS.
Tested on my NEC-J96A and NEC-JC94, and ok'ed by soda.

XXX: Maybe we should share some of these sources with sgimips
XXX: (in sys/dev/arcbios/stand?)
 1.1.2.2 29-Apr-2005  kent sync with -current
 1.1.2.1 18-Apr-2005  kent file Makefile was added on branch kent-audio2 on 2005-04-29 11:28:02 +0000
 1.2.8.2 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.2.8.1 11-May-2005  skrll file Makefile was added on branch ktrace-lwp on 2005-11-10 13:55:09 +0000
 1.2.2.1 21-Jun-2006  yamt sync with head.
 1.4.8.2 03-Sep-2006  yamt sync with head.
 1.4.8.1 11-Aug-2006  yamt sync with head
 1.4.4.1 09-Sep-2006  rpaulo sync with head
 1.6.74.1 13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.6.68.1 28-Apr-2009  skrll Sync with HEAD.
 1.6.60.2 11-Aug-2010  yamt sync with head.
 1.6.60.1 04-May-2009  yamt sync with head.
 1.8.4.2 05-Mar-2011  rmind sync with head
 1.8.4.1 30-May-2010  rmind sync with head
 1.8.2.1 17-Aug-2010  uebayasi Sync with HEAD.
 1.9.4.2 05-Mar-2011  bouyer Sync with HEAD
 1.9.4.1 08-Feb-2011  bouyer Sync with HEAD
 1.9.2.1 06-Jun-2011  jruoho Sync with HEAD.
 1.13.16.1 18-May-2014  rmind sync with head
 1.13.12.2 03-Dec-2017  jdolecek update from HEAD
 1.13.12.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.13.2.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.10.1 26-Apr-2017  pgoyette Sync with HEAD
 1.15.6.2 28-Aug-2017  skrll Sync with HEAD
 1.15.6.1 05-Oct-2016  skrll Sync with HEAD
 1.16.2.1 21-Apr-2017  bouyer Sync with HEAD
 1.17.18.1 07-Jun-2020  martin Pull up following revision(s) (requested by tsutsui in ticket #947):
sys/arch/arc/stand/boot/Makefile: revision 1.18
Explicitly strip debug info on calling objdump for ecoff boot binaries.
As noted by martin@ on tech-toolchain@, release binaries are built
with MKDEBUG=yes so standalone binaries should explicitly remove
debug info generated by -g option.
https://mail-index.netbsd.org/tech-toolchain/2020/06/02/msg003809.html
Should be pulled up to netbsd-9.
(ARC BIOS gets confused by debug info sections in ecoff binaries
and boot binary in 9.0 doesn't work)
 1.8 20-Feb-2011  matt Merge forward from matt-nb5-mips64.
Adapt to new interrupt/spl framework.
Add LP64 support.
 1.7 22-Jan-2011  joerg Drop bootprog_maker (formerly enabled by -M) and bootprog_date (formerly
disabled by -D) from the output of newvers_stand.sh. Change -D to the
inverted logic, so that it adds the date to bootprog_rev in ().

Change all platforms accordingly. -D is added if MKREPRO is not yes and
wasn't present before. Platforms that didn't use -D don't depend on
MKREPRO now either.
 1.6 28-Apr-2008  martin branches: 1.6.22; 1.6.28; 1.6.30;
Remove clause 3 and 4 from TNF licenses
 1.5 22-Jul-2006  tsutsui branches: 1.5.58; 1.5.60; 1.5.62;
- reorganize bootinfo structures and fix bootinfo handling in bootloader
(mostly based on pmax)
- pass symbol info from bootloader to kernel via bootinfo
(currently bootinfo is allocated in the bootloader and
copied by kernel later; maybe we should rethink about this)
- use passed bootinfo to initialize ksyms(4) in kernel
- remove options SYMTAB_SPACE from kernel config files
- bump bootloader version
 1.4 11-Dec-2005  christos branches: 1.4.4; 1.4.8;
merge ktrace-lwp.
 1.3 09-Jun-2005  he branches: 1.3.2; 1.3.8;
Appease -Wcast-qual by adding consts in appropriate places.
 1.2 23-Apr-2005  thorpej branches: 1.2.2;
netbsd.sgimips -> netbsd.arc
 1.1 18-Apr-2005  tsutsui Add a long-awaited standalone boot program for arc port to load
ELF kernels instead of booting ECOFF kernels directly by ARCBIOS.
Tested on my NEC-J96A and NEC-JC94, and ok'ed by soda.

XXX: Maybe we should share some of these sources with sgimips
XXX: (in sys/dev/arcbios/stand?)
 1.2.2.2 29-Apr-2005  kent sync with -current
 1.2.2.1 23-Apr-2005  kent file boot.c was added on branch kent-audio2 on 2005-04-29 11:28:02 +0000
 1.3.8.2 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.3.8.1 09-Jun-2005  skrll file boot.c was added on branch ktrace-lwp on 2005-11-10 13:55:09 +0000
 1.3.2.1 30-Dec-2006  yamt sync with head.
 1.4.8.1 11-Aug-2006  yamt sync with head
 1.4.4.1 09-Sep-2006  rpaulo sync with head
 1.5.62.1 16-May-2008  yamt sync with head.
 1.5.60.1 18-May-2008  yamt sync with head.
 1.5.58.1 02-Jun-2008  mjf Sync with HEAD.
 1.6.30.2 05-Mar-2011  bouyer Sync with HEAD
 1.6.30.1 08-Feb-2011  bouyer Sync with HEAD
 1.6.28.1 06-Jun-2011  jruoho Sync with HEAD.
 1.6.22.1 05-Mar-2011  rmind sync with head
 1.4 28-Apr-2008  martin Remove clause 3 and 4 from TNF licenses
 1.3 22-Jul-2006  tsutsui branches: 1.3.58; 1.3.60; 1.3.62;
- reorganize bootinfo structures and fix bootinfo handling in bootloader
(mostly based on pmax)
- pass symbol info from bootloader to kernel via bootinfo
(currently bootinfo is allocated in the bootloader and
copied by kernel later; maybe we should rethink about this)
- use passed bootinfo to initialize ksyms(4) in kernel
- remove options SYMTAB_SPACE from kernel config files
- bump bootloader version
 1.2 11-Dec-2005  christos branches: 1.2.4; 1.2.8;
merge ktrace-lwp.
 1.1 18-Apr-2005  tsutsui branches: 1.1.2; 1.1.4; 1.1.10;
Add a long-awaited standalone boot program for arc port to load
ELF kernels instead of booting ECOFF kernels directly by ARCBIOS.
Tested on my NEC-J96A and NEC-JC94, and ok'ed by soda.

XXX: Maybe we should share some of these sources with sgimips
XXX: (in sys/dev/arcbios/stand?)
 1.1.10.2 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.1.10.1 18-Apr-2005  skrll file bootinfo.c was added on branch ktrace-lwp on 2005-11-10 13:55:09 +0000
 1.1.4.1 30-Dec-2006  yamt sync with head.
 1.1.2.2 29-Apr-2005  kent sync with -current
 1.1.2.1 18-Apr-2005  kent file bootinfo.c was added on branch kent-audio2 on 2005-04-29 11:28:02 +0000
 1.2.8.1 11-Aug-2006  yamt sync with head
 1.2.4.1 09-Sep-2006  rpaulo sync with head
 1.3.62.1 16-May-2008  yamt sync with head.
 1.3.60.1 18-May-2008  yamt sync with head.
 1.3.58.1 02-Jun-2008  mjf Sync with HEAD.
 1.4 28-Apr-2008  martin Remove clause 3 and 4 from TNF licenses
 1.3 22-Jul-2006  tsutsui branches: 1.3.58; 1.3.60; 1.3.62;
- reorganize bootinfo structures and fix bootinfo handling in bootloader
(mostly based on pmax)
- pass symbol info from bootloader to kernel via bootinfo
(currently bootinfo is allocated in the bootloader and
copied by kernel later; maybe we should rethink about this)
- use passed bootinfo to initialize ksyms(4) in kernel
- remove options SYMTAB_SPACE from kernel config files
- bump bootloader version
 1.2 11-Dec-2005  christos branches: 1.2.4; 1.2.8;
merge ktrace-lwp.
 1.1 18-Apr-2005  tsutsui branches: 1.1.2; 1.1.4; 1.1.10;
Add a long-awaited standalone boot program for arc port to load
ELF kernels instead of booting ECOFF kernels directly by ARCBIOS.
Tested on my NEC-J96A and NEC-JC94, and ok'ed by soda.

XXX: Maybe we should share some of these sources with sgimips
XXX: (in sys/dev/arcbios/stand?)
 1.1.10.2 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.1.10.1 18-Apr-2005  skrll file bootinfo.h was added on branch ktrace-lwp on 2005-11-10 13:55:09 +0000
 1.1.4.1 30-Dec-2006  yamt sync with head.
 1.1.2.2 29-Apr-2005  kent sync with -current
 1.1.2.1 18-Apr-2005  kent file bootinfo.h was added on branch kent-audio2 on 2005-04-29 11:28:02 +0000
 1.2.8.1 11-Aug-2006  yamt sync with head
 1.2.4.1 09-Sep-2006  rpaulo sync with head
 1.3.62.1 16-May-2008  yamt sync with head.
 1.3.60.1 18-May-2008  yamt sync with head.
 1.3.58.1 02-Jun-2008  mjf Sync with HEAD.
 1.4 22-Jan-2011  joerg Drop bootprog_maker (formerly enabled by -M) and bootprog_date (formerly
disabled by -D) from the output of newvers_stand.sh. Change -D to the
inverted logic, so that it adds the date to bootprog_rev in ().

Change all platforms accordingly. -D is added if MKREPRO is not yes and
wasn't present before. Platforms that didn't use -D don't depend on
MKREPRO now either.
 1.3 28-Apr-2008  martin branches: 1.3.22; 1.3.28; 1.3.30;
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 18-Apr-2005  tsutsui branches: 1.1.2; 1.1.10;
Add a long-awaited standalone boot program for arc port to load
ELF kernels instead of booting ECOFF kernels directly by ARCBIOS.
Tested on my NEC-J96A and NEC-JC94, and ok'ed by soda.

XXX: Maybe we should share some of these sources with sgimips
XXX: (in sys/dev/arcbios/stand?)
 1.1.10.2 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.1.10.1 18-Apr-2005  skrll file common.h was added on branch ktrace-lwp on 2005-11-10 13:55:09 +0000
 1.1.2.2 29-Apr-2005  kent sync with -current
 1.1.2.1 18-Apr-2005  kent file common.h was added on branch kent-audio2 on 2005-04-29 11:28:02 +0000
 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.30.1 08-Feb-2011  bouyer Sync with HEAD
 1.3.28.1 06-Jun-2011  jruoho Sync with HEAD.
 1.3.22.1 05-Mar-2011  rmind sync with head
 1.4 02-Dec-2007  tsutsui - add ffsv2 ops
- use __arraycount()
 1.3 11-Dec-2005  christos branches: 1.3.30; 1.3.48; 1.3.50; 1.3.56;
merge ktrace-lwp.
 1.2 23-Jun-2005  junyoung branches: 1.2.2; 1.2.8;
Use FS_OPS() macro.
 1.1 18-Apr-2005  tsutsui branches: 1.1.2;
Add a long-awaited standalone boot program for arc port to load
ELF kernels instead of booting ECOFF kernels directly by ARCBIOS.
Tested on my NEC-J96A and NEC-JC94, and ok'ed by soda.

XXX: Maybe we should share some of these sources with sgimips
XXX: (in sys/dev/arcbios/stand?)
 1.1.2.2 29-Apr-2005  kent sync with -current
 1.1.2.1 18-Apr-2005  kent file conf.c was added on branch kent-audio2 on 2005-04-29 11:28:02 +0000
 1.2.8.2 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.2.8.1 23-Jun-2005  skrll file conf.c was added on branch ktrace-lwp on 2005-11-10 13:55:09 +0000
 1.2.2.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 03-Dec-2007  joerg Sync with HEAD.
 1.3.30.1 03-Dec-2007  ad Sync with HEAD.
 1.3 11-Dec-2005  christos merge ktrace-lwp.
 1.2 21-Apr-2005  tsutsui branches: 1.2.2; 1.2.10;
Whitespace nits.
 1.1 18-Apr-2005  tsutsui Add a long-awaited standalone boot program for arc port to load
ELF kernels instead of booting ECOFF kernels directly by ARCBIOS.
Tested on my NEC-J96A and NEC-JC94, and ok'ed by soda.

XXX: Maybe we should share some of these sources with sgimips
XXX: (in sys/dev/arcbios/stand?)
 1.2.10.2 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.2.10.1 21-Apr-2005  skrll file devopen.c was added on branch ktrace-lwp on 2005-11-10 13:55:09 +0000
 1.2.2.2 29-Apr-2005  kent sync with -current
 1.2.2.1 21-Apr-2005  kent file devopen.c was added on branch kent-audio2 on 2005-04-29 11:28:02 +0000
 1.7 14-Feb-2016  dholland Add missing va_end. PR 50793 from David Binderman.
 1.6 17-Jul-2011  joerg branches: 1.6.12; 1.6.30;
Retire varargs.h support. Move machine/stdarg.h logic into MI
sys/stdarg.h and expect compiler to provide proper builtins, defaulting
to the GCC interface. lint still has a special fallback.
Reduce abuse of _BSD_VA_LIST_ by defining __va_list by default and
derive va_list as required by standards.
 1.5 20-Feb-2011  matt Merge forward from matt-nb5-mips64.
Adapt to new interrupt/spl framework.
Add LP64 support.
 1.4 25-Jan-2006  christos branches: 1.4.98; 1.4.104; 1.4.106;
free -> dealloc
unsigned -> size_t for alloc/dealloc
 1.3 11-Dec-2005  christos branches: 1.3.2;
merge ktrace-lwp.
 1.2 21-Apr-2005  tsutsui branches: 1.2.2; 1.2.4; 1.2.10;
Check disklabel contents only if it's read from the disk.
 1.1 18-Apr-2005  tsutsui Add a long-awaited standalone boot program for arc port to load
ELF kernels instead of booting ECOFF kernels directly by ARCBIOS.
Tested on my NEC-J96A and NEC-JC94, and ok'ed by soda.

XXX: Maybe we should share some of these sources with sgimips
XXX: (in sys/dev/arcbios/stand?)
 1.2.10.2 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.2.10.1 21-Apr-2005  skrll file disk.c was added on branch ktrace-lwp on 2005-11-10 13:55:09 +0000
 1.2.4.1 21-Jun-2006  yamt sync with head.
 1.2.2.2 29-Apr-2005  kent sync with -current
 1.2.2.1 21-Apr-2005  kent file disk.c was added on branch kent-audio2 on 2005-04-29 11:28:02 +0000
 1.3.2.1 01-Feb-2006  yamt sync with head.
 1.4.106.1 05-Mar-2011  bouyer Sync with HEAD
 1.4.104.1 06-Jun-2011  jruoho Sync with HEAD.
 1.4.98.1 05-Mar-2011  rmind sync with head
 1.6.30.1 19-Mar-2016  skrll Sync with HEAD
 1.6.12.1 03-Dec-2017  jdolecek update from HEAD
 1.2 11-Dec-2005  christos merge ktrace-lwp.
 1.1 18-Apr-2005  tsutsui branches: 1.1.2; 1.1.10;
Add a long-awaited standalone boot program for arc port to load
ELF kernels instead of booting ECOFF kernels directly by ARCBIOS.
Tested on my NEC-J96A and NEC-JC94, and ok'ed by soda.

XXX: Maybe we should share some of these sources with sgimips
XXX: (in sys/dev/arcbios/stand?)
 1.1.10.2 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.1.10.1 18-Apr-2005  skrll file disk.h was added on branch ktrace-lwp on 2005-11-10 13:55:09 +0000
 1.1.2.2 29-Apr-2005  kent sync with -current
 1.1.2.1 18-Apr-2005  kent file disk.h was added on branch kent-audio2 on 2005-04-29 11:28:02 +0000
 1.4 20-Feb-2011  matt Merge forward from matt-nb5-mips64.
Adapt to new interrupt/spl framework.
Add LP64 support.
 1.3 28-Apr-2008  martin branches: 1.3.22; 1.3.28; 1.3.30;
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 18-Apr-2005  tsutsui branches: 1.1.2; 1.1.10;
Add a long-awaited standalone boot program for arc port to load
ELF kernels instead of booting ECOFF kernels directly by ARCBIOS.
Tested on my NEC-J96A and NEC-JC94, and ok'ed by soda.

XXX: Maybe we should share some of these sources with sgimips
XXX: (in sys/dev/arcbios/stand?)
 1.1.10.2 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.1.10.1 18-Apr-2005  skrll file getchar.c was added on branch ktrace-lwp on 2005-11-10 13:55:09 +0000
 1.1.2.2 29-Apr-2005  kent sync with -current
 1.1.2.1 18-Apr-2005  kent file getchar.c was added on branch kent-audio2 on 2005-04-29 11:28:02 +0000
 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.30.1 05-Mar-2011  bouyer Sync with HEAD
 1.3.28.1 06-Jun-2011  jruoho Sync with HEAD.
 1.3.22.1 05-Mar-2011  rmind sync with head
 1.4 29-Jun-2024  rin arc: stand: Switch to libsa/getopt, NFCI
 1.3 11-Dec-2005  christos merge ktrace-lwp.
 1.2 21-Apr-2005  tsutsui branches: 1.2.2; 1.2.10;
Whitespace nits.
 1.1 18-Apr-2005  tsutsui Add a long-awaited standalone boot program for arc port to load
ELF kernels instead of booting ECOFF kernels directly by ARCBIOS.
Tested on my NEC-J96A and NEC-JC94, and ok'ed by soda.

XXX: Maybe we should share some of these sources with sgimips
XXX: (in sys/dev/arcbios/stand?)
 1.2.10.2 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.2.10.1 21-Apr-2005  skrll file getopt.c was added on branch ktrace-lwp on 2005-11-10 13:55:09 +0000
 1.2.2.2 29-Apr-2005  kent sync with -current
 1.2.2.1 21-Apr-2005  kent file getopt.c was added on branch kent-audio2 on 2005-04-29 11:28:02 +0000
 1.4 20-Feb-2011  matt Merge forward from matt-nb5-mips64.
Adapt to new interrupt/spl framework.
Add LP64 support.
 1.3 28-Apr-2008  martin branches: 1.3.22; 1.3.28; 1.3.30;
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 18-Apr-2005  tsutsui branches: 1.1.2; 1.1.10;
Add a long-awaited standalone boot program for arc port to load
ELF kernels instead of booting ECOFF kernels directly by ARCBIOS.
Tested on my NEC-J96A and NEC-JC94, and ok'ed by soda.

XXX: Maybe we should share some of these sources with sgimips
XXX: (in sys/dev/arcbios/stand?)
 1.1.10.2 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.1.10.1 18-Apr-2005  skrll file putchar.c was added on branch ktrace-lwp on 2005-11-10 13:55:09 +0000
 1.1.2.2 29-Apr-2005  kent sync with -current
 1.1.2.1 18-Apr-2005  kent file putchar.c was added on branch kent-audio2 on 2005-04-29 11:28:02 +0000
 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.30.1 05-Mar-2011  bouyer Sync with HEAD
 1.3.28.1 06-Jun-2011  jruoho Sync with HEAD.
 1.3.22.1 05-Mar-2011  rmind sync with head
 1.5 20-Feb-2011  matt Merge forward from matt-nb5-mips64.
Adapt to new interrupt/spl framework.
Add LP64 support.
 1.4 28-Apr-2008  martin branches: 1.4.22; 1.4.28; 1.4.30;
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 21-Apr-2005  tsutsui branches: 1.2.2; 1.2.10;
Whitespace nits.
 1.1 18-Apr-2005  tsutsui Add a long-awaited standalone boot program for arc port to load
ELF kernels instead of booting ECOFF kernels directly by ARCBIOS.
Tested on my NEC-J96A and NEC-JC94, and ok'ed by soda.

XXX: Maybe we should share some of these sources with sgimips
XXX: (in sys/dev/arcbios/stand?)
 1.2.10.2 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.2.10.1 21-Apr-2005  skrll file start.S was added on branch ktrace-lwp on 2005-11-10 13:55:09 +0000
 1.2.2.2 29-Apr-2005  kent sync with -current
 1.2.2.1 21-Apr-2005  kent file start.S was added on branch kent-audio2 on 2005-04-29 11:28:02 +0000
 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.30.1 05-Mar-2011  bouyer Sync with HEAD
 1.4.28.1 06-Jun-2011  jruoho Sync with HEAD.
 1.4.22.1 05-Mar-2011  rmind sync with head
 1.3 22-Jul-2006  tsutsui - reorganize bootinfo structures and fix bootinfo handling in bootloader
(mostly based on pmax)
- pass symbol info from bootloader to kernel via bootinfo
(currently bootinfo is allocated in the bootloader and
copied by kernel later; maybe we should rethink about this)
- use passed bootinfo to initialize ksyms(4) in kernel
- remove options SYMTAB_SPACE from kernel config files
- bump bootloader version
 1.2 11-Dec-2005  christos branches: 1.2.4; 1.2.8;
merge ktrace-lwp.
 1.1 18-Apr-2005  tsutsui branches: 1.1.2; 1.1.4; 1.1.10;
Add a long-awaited standalone boot program for arc port to load
ELF kernels instead of booting ECOFF kernels directly by ARCBIOS.
Tested on my NEC-J96A and NEC-JC94, and ok'ed by soda.

XXX: Maybe we should share some of these sources with sgimips
XXX: (in sys/dev/arcbios/stand?)
 1.1.10.2 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.1.10.1 18-Apr-2005  skrll file version was added on branch ktrace-lwp on 2005-11-10 13:55:09 +0000
 1.1.4.1 30-Dec-2006  yamt sync with head.
 1.1.2.2 29-Apr-2005  kent sync with -current
 1.1.2.1 18-Apr-2005  kent file version was added on branch kent-audio2 on 2005-04-29 11:28:02 +0000
 1.2.8.1 11-Aug-2006  yamt sync with head
 1.2.4.1 09-Sep-2006  rpaulo sync with head

RSS XML Feed