Home | History | Annotate | only in /src/sys/arch/bebox
History log of /src/sys/arch/bebox
RevisionDateAuthorComments
 1.5 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.4 01-Sep-1998  sakamoto branches: 1.4.30;
Include bsd.subdir.mk instead of bsd.prog.mk.
 1.3 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.2 05-Jan-1998  perry RCSID Police.
 1.1 14-Oct-1997  sakamoto Initial commit of NetBSD/bebox port.
 1.4.30.1 07-Jan-2003  thorpej Sync with HEAD.
 1.2 28-May-1998  sakamoto Use new PowerPC-generic stuff(sys/arch/powerpc).
 1.1 14-Oct-1997  sakamoto Initial commit of NetBSD/bebox port.
 1.30 04-Oct-2025  thorpej Use device_{get,set}prop_bool() for "use_pciclock".
 1.29 20-Dec-2023  thorpej Remove unnecessary <sys/malloc.h>.
 1.28 19-Jun-2023  msaitoh Fix typo. unknwon -> unknown
 1.27 13-Dec-2015  christos PR/50524: David Binderman: Fix incorrect test
 1.26 19-Dec-2012  kiyohara branches: 1.26.14;
Change path-format for scsi. s,scsi/B/T/L_n,scsi/BTL/0_n,.
 1.25 29-Jul-2012  mlelstv branches: 1.25.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.24 18-Jun-2011  matt branches: 1.24.2; 1.24.8;
struct device * -> device_t
struct cfdata * -> cfdata_t
use device accessors, use device_private.
some softc/device_t splits (macppc needs a bunch more)
aprint*_dev used considerably more
 1.23 27-Oct-2010  kiyohara branches: 1.23.6;
Get and parse root-device.
 1.22 18-Mar-2009  cegger branches: 1.22.2; 1.22.4;
Ansify function definitions w/o arguments. Generated with sed.
 1.21 11-Jun-2008  kiyohara branches: 1.21.4; 1.21.10;
Fix use pci clock for siop(4), set value "use_pciclock" is 1 by
prop_dictionary_set_bool().
 1.20 30-May-2008  kiyohara branches: 1.20.2;
Support genfb console.
 1.19 12-Feb-2008  joerg branches: 1.19.6; 1.19.8; 1.19.10; 1.19.12;
Introduce device_find_by_xname and device_find_by_driver_unit to replace
alldevs iterations all over src.

Patch discussed with and improved on suggestioned from cube@.
 1.18 09-Dec-2007  ober Cleaning up commented out code. Formatting according to style rules.
 1.17 05-Dec-2007  tsutsui Use TAILQ_FIRST(3) and TAILQ_NEXT(3) macro.
 1.16 17-Oct-2007  garbled branches: 1.16.2; 1.16.4;
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 11-Dec-2005  christos branches: 1.15.30; 1.15.38; 1.15.48; 1.15.50; 1.15.52; 1.15.54;
merge ktrace-lwp.
 1.14 23-Oct-2004  thorpej branches: 1.14.12;
Centralize the declaration of booted_device and booted_partition.
 1.13 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.12 15-Jul-2003  lukem __KERNEL_RCSID()
 1.11 18-Jun-2003  drochner branches: 1.11.2;
don't #include <sys/dkstat.h> where it is (appearently) unused
 1.10 03-Feb-2003  matt Rename PPC_MPC6XX to PPC_OEA (and any mpc6xx reference to oea).
 1.9 06-Sep-2002  gehenna Merge the gehenna-devsw branch into the trunk.

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

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

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

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

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

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

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

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

- In compile time, device major numbers list is packed into the kernel and
the LKM framework will refer it to assign device major number dynamically.
 1.8 06-Jun-2001  matt branches: 1.8.2; 1.8.8; 1.8.16;
Change bebox port to use the include MPC6XX files and the new common bus.h
framework.
 1.7 01-Jun-2000  matt branches: 1.7.4;
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.6 01-Jun-2000  matt Make booted_device global (and booted_parition for consitency).
Eliminate it from header files and other extern definitions.
 1.5 17-Sep-1999  thorpej branches: 1.5.2; 1.5.10;
Centralize the declaration and clearing of `cold'.
 1.4 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.3 23-Aug-1999  thorpej Garbage-collect reference to <sys/dmap.h>.
 1.2 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.1 14-Oct-1997  sakamoto branches: 1.1.12;
Initial commit of NetBSD/bebox port.
 1.1.12.1 21-Jun-1999  thorpej Sync w/ -current.
 1.5.10.1 22-Jun-2000  minoura Sync w/ netbsd-1-5-base.
 1.5.2.1 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.7.4.1 21-Jun-2001  nathanw Catch up to -current.
 1.8.16.1 17-May-2002  gehenna Replace the access to devsw table and the hard-coded major with devsw API.
 1.8.8.2 17-Sep-2002  nathanw Catch up to -current.
 1.8.8.1 06-Jun-2001  nathanw file autoconf.c was added on branch nathanw_sa on 2002-09-17 21:13:51 +0000
 1.8.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.11.2.4 02-Nov-2004  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.14.12.4 27-Feb-2008  yamt sync with head.
 1.14.12.3 21-Jan-2008  yamt sync with head
 1.14.12.2 07-Dec-2007  yamt sync with head
 1.14.12.1 27-Oct-2007  yamt sync with head.
 1.15.54.1 25-Oct-2007  bouyer Sync with HEAD.
 1.15.52.1 18-Oct-2007  yamt sync with head.
 1.15.50.3 23-Mar-2008  matt sync with HEAD
 1.15.50.2 09-Jan-2008  matt sync with HEAD
 1.15.50.1 06-Nov-2007  matt sync with HEAD
 1.15.48.2 09-Dec-2007  jmcneill Sync with HEAD.
 1.15.48.1 26-Oct-2007  joerg Sync with HEAD.

Follow the merge of pmap.c on i386 and amd64 and move
pmap_init_tmp_pgtbl into arch/x86/x86/pmap.c. Modify the ACPI wakeup
code to restore CR4 before jumping back into kernel space as the large
page option might cover that.
 1.15.38.3 28-Jun-2007  ober Updates to move Bebox to the powerpc ISA code.
 1.15.38.2 21-May-2007  ober Updated to fix a few items, and update to make use of the new consolidated powerpc functions.
 1.15.38.1 19-May-2007  ober Clean up for Bebox to use new powerpc/* functions.
 1.15.30.1 23-Oct-2007  ad Sync with head.
 1.16.4.2 26-Dec-2007  ad Sync with head.
 1.16.4.1 08-Dec-2007  ad Sync with head.
 1.16.2.3 18-Feb-2008  mjf Sync with HEAD.
 1.16.2.2 27-Dec-2007  mjf Sync with HEAD.
 1.16.2.1 08-Dec-2007  mjf Sync with HEAD.
 1.19.12.1 23-Jun-2008  wrstuden Sync w/ -current. 34 merge conflicts to follow.
 1.19.10.1 04-May-2009  yamt sync with head.
 1.19.8.2 17-Jun-2008  yamt sync with head.
 1.19.8.1 04-Jun-2008  yamt sync with head
 1.19.6.2 29-Jun-2008  mjf Sync with HEAD.
 1.19.6.1 02-Jun-2008  mjf Sync with HEAD.
 1.20.2.1 18-Jun-2008  simonb Sync with head.
 1.21.10.1 13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.21.4.1 28-Apr-2009  skrll Sync with HEAD.
 1.22.4.1 05-Mar-2011  rmind sync with head
 1.22.2.1 06-Nov-2010  uebayasi Sync with HEAD.
 1.23.6.1 23-Jun-2011  cherry Catchup with rmind-uvmplock merge.
 1.24.8.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.24.2.2 23-Jan-2013  yamt sync with head
 1.24.2.1 30-Oct-2012  yamt sync with head
 1.25.2.2 03-Dec-2017  jdolecek update from HEAD
 1.25.2.1 25-Feb-2013  tls resync with head
 1.26.14.1 27-Dec-2015  skrll Sync with HEAD (as of 26th Dec)
 1.2 28-May-1998  sakamoto Use new PowerPC-generic stuff(sys/arch/powerpc).
 1.1 14-Oct-1997  sakamoto Initial commit of NetBSD/bebox port.
 1.35 06-Jun-2001  matt Change bebox port to use the include MPC6XX files and the new common bus.h
framework.
 1.34 26-May-2001  chs replace vm_page_t with struct vm_page *.
 1.33 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.32 21-Mar-2001  soren s/vm_page_alloc_memory/uvm_pglistalloc/ in panic message.
 1.31 12-Feb-2001  briggs branches: 1.31.2;
Make this look more like other PPC bus_dma.cs
 1.30 14-Jan-2001  thorpej Allocate space for mapping DMA-safe memory from kernel_map.
 1.29 29-Jun-2000  mrg remove include of <vm/vm.h>. <vm/vm.h> -> <uvm/uvm_extern.h>
 1.28 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.27 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.26 03-Dec-1999  sakamoto branches: 1.26.4;
add cast for pmap_extract().
 1.25 13-Nov-1999  thorpej Update for pmap_enter() API change. No functional difference.
 1.24 08-Jul-1999  thorpej branches: 1.24.2; 1.24.4; 1.24.8;
Change the pmap_extract() interface to:
boolean_t pmap_extract(pmap_t, vaddr_t, paddr_t *);
This makes it possible for the pmap to map physical address 0.
 1.23 25-May-1999  thorpej bus_dmamem_map() maps DMA safe memory, which is usually one or more
managed pages, into KVA space. Since the pages are managed, we should
use pmap_enter(), not pmap_kenter_pa().

Also, when entering the mappings, enter with an access_type of
VM_PROT_READ | VM_PROT_WRITE. We do this for a couple of reasons:

(1) On systems that have H/W mod/ref attributes, the hardware
may not be able to track mod/ref done by a bus master.

(2) On systems that have to do mod/ref emulation, this prevents
a mod/ref page fault from potentially happening while in an
interrupt context, which can be problematic.

This latter change is fairly important if we ever want to be able to
transfer DMA-safe memory pages to anonymous memory objects; we will need
to know that the pages are modified, or else data could be lost!

Note that while the pages are unowned (i.e. "just DMA-safe memory pages"),
they won't consume any swap resources, as the mappings are wired, and
the pages aren't on the active or inactive queues.
 1.22 26-Mar-1999  mycroft branches: 1.22.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.21 24-Mar-1999  mrg completely remove Mach VM support. all that is left is the all the
header files as UVM still uses (most of) these.
 1.20 19-Mar-1999  cgd if you pull in isavar.h, you don't need isa_machdep.h.
 1.19 03-Oct-1998  thorpej Initialize the DMA map's bounce threshold to the tag's at map creation time,
and use the map's threshold when loading the map.
 1.18 21-Sep-1998  thorpej Make bus_dmamap_load_uio() work, from Kevin Lahey <kml@nas.nasa.gov>.
 1.17 24-Aug-1998  sakamoto vm_offset_t --> [pv]addr_t.
 1.16 17-Aug-1998  thorpej Internal cleanup.
 1.15 15-Aug-1998  mycroft This code was written by Jason.
 1.14 17-Jul-1998  thorpej Implement bus_dmamap_load_uio().
 1.13 09-Jun-1998  sakamoto Add UVM support.
 1.12 03-Jun-1998  thorpej Sync w/ i386 port:

When loading a DMA map, if the page's physical address exceeds the bounce
threshold, return an error to the caller (the caller will attempt to
bounce the transfer).
 1.11 03-Jun-1998  thorpej Sync w/ i386 port.
 1.10 12-Feb-1998  sakamoto Sync with port-i386.
 1.9 11-Feb-1998  thorpej Use kernel_map in bus_dmamem_{map,free}().
 1.8 11-Feb-1998  thorpej Use M_DMAMAP where appropriate.
 1.7 04-Feb-1998  thorpej Add offset and length parameters to bus_dmamap_sync(), used for specifiying
partial syncs of a DMA mapping.
 1.6 04-Feb-1998  thorpej Change the last argument of bus_dmamap_sync() from bus_dmasync_op_t to int,
and allow more than one synchronization operation to be specified in
a single call. Dissallow mixing of PRE and POST operations.
 1.5 04-Feb-1998  thorpej - Implement bus_dmamap_load_mbuf() (copied from i386 port).
- Add dm_mapsize to bus_dmamap_t and rename BUS_DMAMEM_NOSYNC to
BUS_DMA_COHERENT.
 1.4 18-Dec-1997  sakamoto remove avail_end temporarily for compile.
 1.3 27-Nov-1997  sakamoto remove/import software interrupt model and external interrupt handler
from OpenBSD/powerpc.
move bus_space_* from bus_machdep.c to bus.h.
 1.2 20-Oct-1997  sakamoto branches: 1.2.2;
sys/sysctl.h depend on vm/vm.h
 1.1 14-Oct-1997  sakamoto Initial commit of NetBSD/bebox port.
 1.2.2.1 28-Nov-1997  mellon Pull rev 1.3 up from trunk (sakamoto)
 1.22.4.2 02-Aug-1999  thorpej Update from trunk.
 1.22.4.1 21-Jun-1999  thorpej Sync w/ -current.
 1.24.8.1 27-Dec-1999  wrstuden Pull up to last week's -current.
 1.24.4.1 15-Nov-1999  fvdl Sync with -current
 1.24.2.4 27-Mar-2001  bouyer Sync with HEAD.
 1.24.2.3 12-Mar-2001  bouyer Sync with HEAD.
 1.24.2.2 18-Jan-2001  bouyer Sync with head (for UBC+NFS fixes, mostly).
 1.24.2.1 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.26.4.1 30-Jun-2000  simonb Pull up mmap paddr_t/off_t changes from trunk.
 1.31.2.1 09-Apr-2001  nathanw Catch up with -current.
 1.2 27-Nov-1997  sakamoto remove/import software interrupt model and external interrupt handler
from OpenBSD/powerpc.
move bus_space_* from bus_machdep.c to bus.h.
 1.1 14-Oct-1997  sakamoto branches: 1.1.2;
Initial commit of NetBSD/bebox port.
 1.1.2.1 28-Nov-1997  mellon Obsolete (sakamoto)
 1.5 18-Mar-2003  matt Switch/adapt to new bus space infrastructure.
 1.4 06-Mar-2003  matt Make most of PPC (OEA) bus_space's identical (or as identical as possible).
(except mvmeppc).
 1.3 27-Sep-2002  provos remove trailing \n in panic(). approved perry.
 1.2 10-Dec-2001  briggs Provide basic bus_space_mmap(). Noted by self and in PR port-powerpc/14873.
This at least allows the compile to complete. There are still Issues with
vga_pci.c's assumptions about a PC-ish environment.
 1.1 06-Jun-2001  matt branches: 1.1.2; 1.1.4; 1.1.10;
Change bebox port to use the include MPC6XX files and the new common bus.h
framework.
 1.1.10.3 18-Oct-2002  nathanw Catch up to -current.
 1.1.10.2 08-Jan-2002  nathanw Catch up to -current.
 1.1.10.1 06-Jun-2001  nathanw file bus_space.c was added on branch nathanw_sa on 2002-01-08 00:23:43 +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.17 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.16 24-Dec-2005  perry branches: 1.16.30; 1.16.38; 1.16.48; 1.16.50; 1.16.52; 1.16.54;
bare asm -> __asm
 1.15 23-Nov-2005  nonaka In decr_intr(), update lasttb only when clock interrupt is not masked.
(sync with macppc/macppc/clock.c: rev.1.11 -> 1.12)
 1.14 10-Jun-2005  jmc branches: 1.14.2; 1.14.8;
Change tick->ticks to avoid shadowing
 1.13 29-Jun-2004  kleink In the delay loop, mark the scratch register as earlyclobber.
 1.12 15-Jul-2003  lukem __KERNEL_RCSID()
 1.11 12-Feb-2003  matt branches: 1.11.2;
Set cpu_timebase so sysctl() can return it.
 1.10 07-Aug-2002  chs mftb() has moved to cpu.h.
 1.9 26-Aug-2001  matt branches: 1.9.6; 1.9.14;
Make all powerpc ports use a common Makefile.powerpc (except walnut)
Enforce -Wmissing-prototypes -Wstrict-prototypes for all ppc ports.
Split out macppc cpu support and make common to mpc6xx ports. Make
other mpc6xx ports use it. Add evcnts for mpc6xx traps.
 1.8 19-Jun-2001  simonb branches: 1.8.2;
Make all the ppc delay() functions the same - formating change only, no
code changes. Step one of a unified ppc clock.c.
 1.7 19-Jan-2000  msaitoh branches: 1.7.6;
check whether tv_usec >= 1000000
 1.6 02-Jul-1999  sakamoto branches: 1.6.2;
Fix arg of delay. int -> unsigned int
 1.5 02-Feb-1998  sakamoto branches: 1.5.10;
Move "read clock information from bootinfo" to initppc() from cpu_initclocks()
for delay() before cpu_initclocks().
Sync with powerpc/powerpc/machdep.c.
 1.4 19-Jan-1998  sakamoto Support bootinfo like i386-port.
-define a buffer for information passed by the bootloader
-add a function ("lookup_bootinfo") to extract data
-use passed console information, for console attachment (VGA or SERIAL)
-use passed clock information, for timebase, decremente register
 1.3 27-Nov-1997  sakamoto remove/import software interrupt model and external interrupt handler
from OpenBSD/powerpc.
move bus_space_* from bus_machdep.c to bus.h.
 1.2 16-Oct-1997  sakamoto branches: 1.2.2;
__VM_PMAP_HACK delete.
if_ed and lpt temporary support.
 1.1 14-Oct-1997  sakamoto Initial commit of NetBSD/bebox port.
 1.2.2.1 28-Nov-1997  mellon Pull rev 1.3 up from trunk (sakamoto)
 1.5.10.1 02-Aug-1999  thorpej Update from trunk.
 1.6.2.1 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.7.6.1 21-Jun-2001  nathanw Catch up to -current.
 1.8.2.2 06-Sep-2002  jdolecek sync kqueue branch with HEAD
 1.8.2.1 13-Sep-2001  thorpej Update the kqueue branch to HEAD.
 1.9.14.1 30-Aug-2002  gehenna catch up with -current.
 1.9.6.2 13-Aug-2002  nathanw Catch up to -current.
 1.9.6.1 26-Aug-2001  nathanw file clock.c was added on branch nathanw_sa on 2002-08-13 02:18:03 +0000
 1.11.2.5 11-Dec-2005  christos Sync with head.
 1.11.2.4 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 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.14.8.1 29-Nov-2005  yamt sync with head.
 1.14.2.2 27-Oct-2007  yamt sync with head.
 1.14.2.1 21-Jun-2006  yamt sync with head.
 1.16.54.1 25-Oct-2007  bouyer Sync with HEAD.
 1.16.52.1 18-Oct-2007  yamt sync with head.
 1.16.50.1 06-Nov-2007  matt sync with HEAD
 1.16.48.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.16.38.2 09-Oct-2007  ober Removing unused source files after converting to OEA equivalents.
 1.16.38.1 02-May-2007  matt Make bebox build again. Use cpl,astpending,etc. from cpu_info.
Use powerpc generic softintr.
 1.16.30.1 23-Oct-2007  ad Sync with head.
 1.22 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.21 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.20 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.19 17-Jun-2002  christos MD systrace gluons.
 1.18 18-Apr-2002  wiz branches: 1.18.2;
Remove opms(4) for bebox (superseded by pms(4)).

Approved by christos.
 1.17 16-Mar-2002  martin 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.16 12-Jan-2002  manu Added clockctl
 1.15 21-Mar-2001  lukem branches: 1.15.2; 1.15.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.14 14-Jan-2001  martin branches: 1.14.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.13 09-Jan-2001  martin When adding isdn devices I forgot to check chrtoblktbl.
Fix this know for the affected archs.
 1.12 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.11 29-Jul-1999  augustss branches: 1.11.2;
Add wsmux device.
(Also add lots of missing chrtoblktbl[] entries.)
 1.10 13-Nov-1998  oster branches: 1.10.6;
Updating of bdev's and cdev's to support RAIDframe.
 1.9 10-Oct-1998  thorpej Add scsibus entry points to the cdevsw[].
 1.8 28-Sep-1998  sakamoto pcvt is no longer used with bebox.
 1.7 15-Aug-1998  mycroft Assign copyrights to TNF.
 1.6 15-Aug-1998  mycroft Make copyright notices with my name consistent.
 1.5 26-Jun-1998  thorpej defopt COMPAT_SVR4
 1.4 15-Apr-1998  drochner cdev_{wsdisplay,spkr}_init() are now in sys/conf.h
 1.3 26-Mar-1998  sakamoto add entries for the new wscons stuff
 1.2 19-Jan-1998  sakamoto Support bootinfo like i386-port.
-define a buffer for information passed by the bootloader
-add a function ("lookup_bootinfo") to extract data
-use passed console information, for console attachment (VGA or SERIAL)
-use passed clock information, for timebase, decremente register
 1.1 14-Oct-1997  sakamoto Initial commit of NetBSD/bebox port.
 1.10.6.1 02-Aug-1999  thorpej Update from trunk.
 1.11.2.2 27-Mar-2001  bouyer Sync with HEAD.
 1.11.2.1 18-Jan-2001  bouyer Sync with head (for UBC+NFS fixes, mostly).
 1.14.2.1 09-Apr-2001  nathanw Catch up with -current.
 1.15.8.7 11-Nov-2002  nathanw Catch up to -current
 1.15.8.6 17-Sep-2002  nathanw Catch up to -current.
 1.15.8.5 01-Aug-2002  nathanw Catch up to -current.
 1.15.8.4 20-Jun-2002  nathanw Catch up to -current.
 1.15.8.3 01-Apr-2002  nathanw Catch up to -current.
(CVS: It's not just a program. It's an adventure!)
 1.15.8.2 28-Feb-2002  nathanw Catch up to -current.
 1.15.8.1 21-Mar-2001  nathanw file conf.c was added on branch nathanw_sa on 2002-02-28 04:08:35 +0000
 1.15.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.15.2.3 06-Sep-2002  jdolecek sync kqueue branch with HEAD
 1.15.2.2 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.15.2.1 11-Feb-2002  jdolecek Sync w/ -current.
 1.18.2.3 21-Jul-2002  gehenna catch up with -current.
 1.18.2.2 14-Jul-2002  gehenna catch up with -current.
 1.18.2.1 16-May-2002  gehenna Bye block/character device swicth tables.
 1.2 28-May-1998  sakamoto Use new PowerPC-generic stuff(sys/arch/powerpc).
 1.1 14-Oct-1997  sakamoto Initial commit of NetBSD/bebox port.
 1.2 28-May-1998  sakamoto Use new PowerPC-generic stuff(sys/arch/powerpc).
 1.1 14-Oct-1997  sakamoto Initial commit of NetBSD/bebox port.
 1.2 28-May-1998  sakamoto Use new PowerPC-generic stuff(sys/arch/powerpc).
 1.1 14-Oct-1997  sakamoto Initial commit of NetBSD/bebox port.
 1.12 20-Oct-2012  kiyohara Add experimental support GENERIC.MP.
 1.11 01-Jul-2011  dyoung branches: 1.11.2; 1.11.12;
#include <sys/bus.h> instead of <machine/bus.h>.
 1.10 03-Jun-2011  matt Covert to CFATTACH_DECL_NEW, device_t, cfdata_t
 1.9 28-Apr-2008  martin branches: 1.9.22; 1.9.28; 1.9.32;
Remove clause 3 and 4 from TNF licenses
 1.8 09-Dec-2007  ober branches: 1.8.12; 1.8.14; 1.8.16;
Cleaning up commented out code. Formatting according to style rules.
 1.7 17-Oct-2007  garbled branches: 1.7.4;
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.6 11-Dec-2005  christos branches: 1.6.30; 1.6.38; 1.6.48; 1.6.50; 1.6.52; 1.6.54;
merge ktrace-lwp.
 1.5 15-Jul-2003  lukem branches: 1.5.16;
__KERNEL_RCSID()
 1.4 02-Feb-2003  matt branches: 1.4.2;
Perform a rototill of the powerpc code. Mandate use of SPRG0 to store
a pointer to current cpu's cpu_info structure. Use cpu_info for
intstk,intr_depth,still_stk,idle_pcb,curpcb,curlwp,etal even on
non-MULTIPROCESSOR machines. Add common macros GET_CPUINFO and
INIT_CPUINFO to get and initialize the cpu_info struct on startup. Make
ibm4xx use the standard <powerpc/frame.h>. Use IFRAME_xx in ibm4xx
trap_subr.S instead of explicit magic offsets. Move INTSTK and SPILLSTK
to std.<platform>. Change faultbuf to a struct instead of an array.

On MPC6XX cpus, stop using the vector page for temporary space and use
reserved space in cpu_info.
 1.3 02-Oct-2002  thorpej Use CFATTACH_DECL().
 1.2 27-Sep-2002  thorpej Declare all cfattach structures const.
 1.1 26-Aug-2001  matt branches: 1.1.4; 1.1.8;
Make all powerpc ports use a common Makefile.powerpc (except walnut)
Enforce -Wmissing-prototypes -Wstrict-prototypes for all ppc ports.
Split out macppc cpu support and make common to mpc6xx ports. Make
other mpc6xx ports use it. Add evcnts for mpc6xx traps.
 1.1.8.2 18-Oct-2002  nathanw Catch up to -current.
 1.1.8.1 26-Aug-2001  nathanw file cpu.c was added on branch nathanw_sa on 2002-10-18 02:36:01 +0000
 1.1.4.3 10-Oct-2002  jdolecek sync kqueue with -current; this includes merge of gehenna-devsw branch,
merge of i386 MP branch, and part of autoconf rototil work
 1.1.4.2 13-Sep-2001  thorpej Update the kqueue branch to HEAD.
 1.1.4.1 26-Aug-2001  thorpej file cpu.c was added on branch kqueue on 2001-09-13 01:13:26 +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.5.16.2 21-Jan-2008  yamt sync with head
 1.5.16.1 27-Oct-2007  yamt sync with head.
 1.6.54.1 25-Oct-2007  bouyer Sync with HEAD.
 1.6.52.1 18-Oct-2007  yamt sync with head.
 1.6.50.2 09-Jan-2008  matt sync with HEAD
 1.6.50.1 06-Nov-2007  matt sync with HEAD
 1.6.48.2 09-Dec-2007  jmcneill Sync with HEAD.
 1.6.48.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.6.38.2 23-Jul-2007  ober Updates to remove pfb, and update cpuattach().
 1.6.38.1 08-Jul-2007  ober Updates to make use of the common powerpc pci code base.
 1.6.30.2 03-Dec-2007  ad Sync with HEAD.
 1.6.30.1 23-Oct-2007  ad Sync with head.
 1.7.4.1 26-Dec-2007  ad Sync with head.
 1.8.16.1 16-May-2008  yamt sync with head.
 1.8.14.1 18-May-2008  yamt sync with head.
 1.8.12.1 02-Jun-2008  mjf Sync with HEAD.
 1.9.32.1 23-Jun-2011  cherry Catchup with rmind-uvmplock merge.
 1.9.28.1 06-Jun-2011  jruoho Sync with HEAD.
 1.9.22.1 12-Jun-2011  rmind sync with head
 1.11.12.1 20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.11.2.1 30-Oct-2012  yamt sync with head
 1.3 28-May-1998  sakamoto Use new PowerPC-generic stuff(sys/arch/powerpc).
 1.2 02-Dec-1997  sakamoto Add NetBSD RCS Ids. Remove #if 0-#endif.
 1.1 14-Oct-1997  sakamoto Initial commit of NetBSD/bebox port.
 1.3 28-May-1998  sakamoto Use new PowerPC-generic stuff(sys/arch/powerpc).
 1.2 02-Dec-1997  sakamoto Add NetBSD RCS Ids. Remove #if 0-#endif.
 1.1 14-Oct-1997  sakamoto Initial commit of NetBSD/bebox port.
 1.3 28-May-1998  sakamoto Use new PowerPC-generic stuff(sys/arch/powerpc).
 1.2 02-Dec-1997  sakamoto Add NetBSD RCS Ids. Remove #if 0-#endif.
 1.1 14-Oct-1997  sakamoto Initial commit of NetBSD/bebox port.
 1.4 28-May-1998  sakamoto Use new PowerPC-generic stuff(sys/arch/powerpc).
 1.3 18-Dec-1997  sakamoto support simple stack trace.
 1.2 02-Dec-1997  sakamoto Add NetBSD RCS Ids. Remove #if 0-#endif.
 1.1 14-Oct-1997  sakamoto Initial commit of NetBSD/bebox port.
 1.23 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.22 08-Oct-2007  ad branches: 1.22.2;
Merge brelse() changes from the vmlocking branch.
 1.21 29-Jul-2007  ad branches: 1.21.4; 1.21.6; 1.21.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.20 05-Mar-2007  he branches: 1.20.2; 1.20.10; 1.20.12; 1.20.14;
Cast to char* before doing pointer arithmetic.
 1.19 25-Nov-2006  scw branches: 1.19.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.18 11-Dec-2005  christos branches: 1.18.20; 1.18.22;
merge ktrace-lwp.
 1.17 10-Jun-2005  jmc branches: 1.17.2;
Add a missing const
 1.16 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.15 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.14 15-Jul-2003  lukem __KERNEL_RCSID()
 1.13 12-May-2003  thorpej branches: 1.13.2;
Include <sys/disk.h>.
 1.12 10-May-2003  thorpej Change bounds_check_with_label() to take a pointer to the disk structure,
rather than the label itself. This paves the way for some future changes.
 1.11 02-May-2003  dsl Change return type of readdisklabel() to const char *
I hope I've found all the correct places!
 1.10 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.9 19-Feb-2002  wiz strategy should have an 'r'. Inspired by similar change in OpenBSD.
 1.8 20-Nov-2000  chs branches: 1.8.2; 1.8.4; 1.8.8;
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.7 18-Jan-2000  thorpej Use b_cylinder as defined in sys/buf.h
 1.6 25-Jun-1999  sakamoto branches: 1.6.2; 1.6.8;
Sync with i386.
 1.5 27-Jan-1999  thorpej branches: 1.5.4;
Use <sys/disklabel_mbr.h>.
 1.4 22-Jun-1998  sommerfe defopt COMPAT_386BSD_MBRPART into opt_mbr.h
 1.3 28-May-1998  sakamoto Use new PowerPC-generic stuff(sys/arch/powerpc).
 1.2 15-Dec-1997  sakamoto support IDE hard disk controllers (wdc) and drives (wd)
put wdc.c into bebox/isa directory temporarily
 1.1 14-Oct-1997  sakamoto Initial commit of NetBSD/bebox port.
 1.5.4.1 01-Jul-1999  thorpej Sync w/ -current.
 1.6.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.6.2.2 22-Nov-2000  bouyer Sync with HEAD.
 1.6.2.1 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.8.8.1 28-Feb-2002  nathanw Catch up to -current.
 1.8.4.1 16-Mar-2002  jdolecek Catch up with -current.
 1.8.2.1 10-Oct-2001  fvdl Convert all remaining devices.
 1.13.2.4 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 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.17.2.3 27-Oct-2007  yamt sync with head.
 1.17.2.2 03-Sep-2007  yamt sync with head.
 1.17.2.1 30-Dec-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.14.1 15-Aug-2007  skrll Sync with HEAD.
 1.20.12.1 07-Aug-2007  matt Sync with HEAD.
 1.20.10.2 09-Oct-2007  ober Removing unused source files after converting to OEA equivalents.
 1.20.10.1 03-Oct-2007  garbled Sync with HEAD
 1.20.2.3 23-Oct-2007  ad Sync with head.
 1.20.2.2 09-Oct-2007  ad Sync with head.
 1.20.2.1 19-Aug-2007  ad - Back out the biodone() changes.
- Eliminate B_ERROR (from HEAD).
 1.21.8.2 18-Oct-2007  yamt sync with head.
 1.21.8.1 14-Oct-2007  yamt sync with head.
 1.21.6.1 06-Nov-2007  matt sync with HEAD
 1.21.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.22.2.1 25-Oct-2007  bouyer Sync with HEAD.
 1.25 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.24 24-Dec-2005  perry branches: 1.24.30; 1.24.38; 1.24.48; 1.24.50; 1.24.52; 1.24.54;
bare asm -> __asm
 1.23 11-Dec-2005  christos merge ktrace-lwp.
 1.22 10-Jun-2005  jmc branches: 1.22.2;
Constify, shadow resolution and some volatile casts
 1.21 13-Mar-2004  jmc Set some defaults where gcc can't follow the interrupt code
 1.20 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.19 15-Jul-2003  lukem __KERNEL_RCSID()
 1.18 16-Jun-2003  thorpej branches: 1.18.2;
Rename IPL_IMP -> IPL_VM.
 1.17 13-May-2002  matt Eliminate redundant declarations.
 1.16 26-Aug-2001  matt branches: 1.16.6; 1.16.10;
Make all powerpc ports use a common Makefile.powerpc (except walnut)
Enforce -Wmissing-prototypes -Wstrict-prototypes for all ppc ports.
Split out macppc cpu support and make common to mpc6xx ports. Make
other mpc6xx ports use it. Add evcnts for mpc6xx traps.
 1.15 15-Jan-2001  thorpej branches: 1.15.4;
Make softclock a generic soft interrupt of the API is available,
adding the requisite void * argument to softclock().
 1.14 14-Aug-2000  kleink At splsoftclock(), don't block softnet but softclock.
 1.13 29-Jun-2000  mrg remove include of <vm/vm.h>. <vm/vm.h> -> <uvm/uvm_extern.h>
 1.12 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.11 17-Sep-1999  thorpej branches: 1.11.2; 1.11.12;
Centralize the declaration and clearing of `cold'.
 1.10 01-Aug-1999  thorpej Sync w/ the i386 port. Fixes some bugs in the conventional interrupt
heirarchy. Reviewed by sakamoto@netbsd.org.
 1.9 24-Aug-1998  sakamoto branches: 1.9.8;
vm_offset_t --> [pv]addr_t.
 1.8 15-Aug-1998  mycroft Make copyright notices with my name consistent.
 1.7 09-Jun-1998  sakamoto Add UVM support.
 1.6 28-May-1998  sakamoto Use new PowerPC-generic stuff(sys/arch/powerpc).
 1.5 12-Jan-1998  sakamoto add The Be interrupt controller setmask function(bebox_intr_mask).
change SINT_TTY to SINT_SERIAL
splsofttty to splsoftserial, and so on.
 1.4 11-Dec-1997  sakamoto change order of interrupt description bit
 1.3 09-Dec-1997  sakamoto fix to get the right irq
 1.2 27-Nov-1997  sakamoto remove/import software interrupt model and external interrupt handler
from OpenBSD/powerpc.
move bus_space_* from bus_machdep.c to bus.h.
 1.1 14-Oct-1997  sakamoto branches: 1.1.2;
Initial commit of NetBSD/bebox port.
 1.1.2.1 28-Nov-1997  mellon Pull rev 1.2 up from trunk (sakamoto)
 1.9.8.1 02-Aug-1999  thorpej Update from trunk.
 1.11.12.1 09-May-2001  he Pull up revision 1.14 (requested by kleink, OKed by briggs):
Block splclock and not softnet on splsoftclock().
 1.11.2.2 18-Jan-2001  bouyer Sync with head (for UBC+NFS fixes, mostly).
 1.11.2.1 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.15.4.2 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.15.4.1 13-Sep-2001  thorpej Update the kqueue branch to HEAD.
 1.16.10.1 17-Mar-2002  thorpej IPL_IMP -> IPL_VM
 1.16.6.2 20-Jun-2002  nathanw Catch up to -current.
 1.16.6.1 26-Aug-2001  nathanw file extintr.c was added on branch nathanw_sa on 2002-06-20 03:38:21 +0000
 1.18.2.4 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 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.22.2.2 27-Oct-2007  yamt sync with head.
 1.22.2.1 21-Jun-2006  yamt sync with head.
 1.24.54.1 25-Oct-2007  bouyer Sync with HEAD.
 1.24.52.1 18-Oct-2007  yamt sync with head.
 1.24.50.1 06-Nov-2007  matt sync with HEAD
 1.24.48.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.24.38.3 09-Oct-2007  ober Removing unused source files after converting to OEA equivalents.
 1.24.38.2 08-Jul-2007  ober Updates to make use of the common powerpc pci code base.
 1.24.38.1 02-May-2007  matt Make bebox build again. Use cpl,astpending,etc. from cpu_info.
Use powerpc generic softintr.
 1.24.30.1 23-Oct-2007  ad Sync with head.
 1.2 28-May-1998  sakamoto Use new PowerPC-generic stuff(sys/arch/powerpc).
 1.1 14-Oct-1997  sakamoto Initial commit of NetBSD/bebox port.
 1.2 28-May-1998  sakamoto Use new PowerPC-generic stuff(sys/arch/powerpc).
 1.1 14-Oct-1997  sakamoto Initial commit of NetBSD/bebox port.
 1.2 28-May-1998  sakamoto Use new PowerPC-generic stuff(sys/arch/powerpc).
 1.1 14-Oct-1997  sakamoto Initial commit of NetBSD/bebox port.
 1.6 18-Apr-2002  matt Use a common genassym.cf for all the PPC_MPC6XX ports. Add a makeoptions to
std.foo to indicate the directory to get genassym.cf from. Add an intrframe
to <powerpc/frame.h> and make trap_subr.S use symbolic offsets into it.
 1.5 01-Jul-2001  matt branches: 1.5.2; 1.5.8;
Add PM_SR.
 1.4 06-Feb-2001  briggs include uvm/uvm.h to get rid of compilation warnings.
 1.3 26-May-2000  thorpej Introduce a new process state distinct from SRUN called SONPROC
which indicates that the process is actually running on a
processor. Test against SONPROC as appropriate rather than
combinations of SRUN and curproc. Update all context switch code
to properly set SONPROC when the process becomes the current
process on the CPU.
 1.2 02-Feb-1998  sakamoto branches: 1.2.14;
Eliminate unnecessary define.
 1.1 14-Oct-1997  sakamoto Initial commit of NetBSD/bebox port.
 1.2.14.2 11-Feb-2001  bouyer Sync with HEAD.
 1.2.14.1 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.5.8.4 20-Jun-2002  nathanw Catch up to -current.
 1.5.8.3 13-Nov-2001  briggs Define L_CPU.
 1.5.8.2 05-Nov-2001  briggs Initial SA support for ppc. Test-booted on sandpoint, macppc, & walnut.
mcontext and cpu_getmcontext()/cpu_setmcontext() from Klaus Klein
<kleink@netbsd.org>.
 1.5.8.1 01-Jul-2001  briggs file genassym.cf was added on branch nathanw_sa on 2001-11-05 19:46:12 +0000
 1.5.2.1 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.2 28-May-1998  sakamoto Use new PowerPC-generic stuff(sys/arch/powerpc).
 1.1 14-Oct-1997  sakamoto Initial commit of NetBSD/bebox port.
 1.1 20-Oct-2012  kiyohara branches: 1.1.2; 1.1.4;
Add experimental support GENERIC.MP.
 1.1.4.2 20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.1.4.1 20-Oct-2012  tls file ipi_bebox.c was added on branch tls-maxphys on 2012-11-20 03:01:09 +0000
 1.1.2.2 30-Oct-2012  yamt sync with head
 1.1.2.1 20-Oct-2012  yamt file ipi_bebox.c was added on branch yamt-pagecache on 2012-10-30 17:19:13 +0000
 1.2 28-May-1998  sakamoto Use new PowerPC-generic stuff(sys/arch/powerpc).
 1.1 14-Oct-1997  sakamoto Initial commit of NetBSD/bebox port.
 1.5 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.4 24-Dec-2005  perry branches: 1.4.30; 1.4.38; 1.4.48; 1.4.50; 1.4.52; 1.4.54;
bare asm -> __asm
 1.3 11-Dec-2005  christos merge ktrace-lwp.
 1.2 15-Jul-2003  lukem branches: 1.2.16;
__KERNEL_RCSID()
 1.1 14-Oct-1997  sakamoto branches: 1.1.50;
Initial commit of NetBSD/bebox port.
 1.1.50.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.1.50.2 18-Sep-2004  skrll Sync with HEAD.
 1.1.50.1 03-Aug-2004  skrll Sync with HEAD
 1.2.16.2 27-Oct-2007  yamt sync with head.
 1.2.16.1 21-Jun-2006  yamt sync with head.
 1.4.54.1 25-Oct-2007  bouyer Sync with HEAD.
 1.4.52.1 18-Oct-2007  yamt sync with head.
 1.4.50.1 06-Nov-2007  matt sync with HEAD
 1.4.48.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.4.38.1 09-May-2007  garbled Four copies of this file, all the same. New one lives in powerpc/oea.
 1.4.30.1 23-Oct-2007  ad Sync with head.
 1.30 26-Feb-2021  thorpej Declare oeacpufeat once, in powerpc/oea/cpu_subr.c, rather than in
N different locore.S files.
 1.29 15-Jul-2018  maxv branches: 1.29.12;
Retire ipkdb entirely. The option was removed from the config files
yesterday.

ok kamil christos
 1.28 20-Oct-2012  kiyohara branches: 1.28.36; 1.28.38;
Add experimental support GENERIC.MP.
 1.27 20-Oct-2012  kiyohara Enable cpu0 I/D cache. Disable cpu1 it.
 1.26 20-Oct-2012  kiyohara Remove unused enable_intr()/disable_intr().
 1.25 07-Aug-2011  kiyohara branches: 1.25.2; 1.25.12;
Cleanup spin loop for 2nd cpu.
 1.24 20-Jun-2011  matt Don't include *pmap.h in assembly files. Get the needed definitions
from "assym.h".
 1.23 18-Jun-2011  matt Make a common genassym.cf (powerpc/genassym.cf) and then
only put specific stuff in foo/genassym.cf
 1.22 17-Jan-2011  matt branches: 1.22.4;
Kill _NOREGNAMES. Everything should be using %rX now. If it doesn't it
soon will.
 1.21 03-Mar-2010  pooka branches: 1.21.2; 1.21.4;
Fix some historical powerpc curiocity which had kernfs depend on
startsym/endsym, and which crept into most powerpc ports.
 1.20 25-Feb-2010  matt Adapt to <spr.h> breakup.
 1.19 26-Nov-2009  matt branches: 1.19.2;
Kill proc0paddr. Use lwp0.l_addr instead.
 1.18 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.17 13-Nov-2008  ad branches: 1.17.4;
LKM -> MODULAR
 1.16 05-Feb-2008  garbled branches: 1.16.6; 1.16.10; 1.16.16; 1.16.18; 1.16.28;
Ifdef out all the MPC601 code with PPC_OEA601. Now only arches that have the
possibility of running on an MPC601, are infected with all the extra code
and nops that it added.

Also, fix compilation that I broke with the pmap code, by adding
oeacpufeat to the locores of various ppc arches. Noted by mlelstv.
 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 11-Dec-2005  christos branches: 1.14.30; 1.14.38; 1.14.48; 1.14.50; 1.14.52; 1.14.54;
merge ktrace-lwp.
 1.13 13-Feb-2004  wiz branches: 1.13.16;
Uppercase CPU, plural is CPUs.
 1.12 31-Jul-2003  matt Add #define _NOREGNAMES (to suppress asm.h from #define r1 1 ...)
 1.11 27-Apr-2003  ragge branches: 1.11.2;
Preserve the symbol table in the LKM || KSYMS cases also.
 1.10 18-Mar-2003  matt Switch/adapt to new bus space infrastructure.
 1.9 02-Feb-2003  matt Perform a rototill of the powerpc code. Mandate use of SPRG0 to store
a pointer to current cpu's cpu_info structure. Use cpu_info for
intstk,intr_depth,still_stk,idle_pcb,curpcb,curlwp,etal even on
non-MULTIPROCESSOR machines. Add common macros GET_CPUINFO and
INIT_CPUINFO to get and initialize the cpu_info struct on startup. Make
ibm4xx use the standard <powerpc/frame.h>. Use IFRAME_xx in ibm4xx
trap_subr.S instead of explicit magic offsets. Move INTSTK and SPILLSTK
to std.<platform>. Change faultbuf to a struct instead of an array.

On MPC6XX cpus, stop using the vector page for temporary space and use
reserved space in cpu_info.
 1.8 23-Jun-2001  matt branches: 1.8.8;
#include <powerpc/spr.h> Use SPR_HID0 in place of 1008
 1.7 06-Jun-2001  matt branches: 1.7.2;
Change bebox port to use the include MPC6XX files and the new common bus.h
framework.
 1.6 01-Jun-2001  simonb Rename assembly files that are pre-processed by cpp to use an S suffix.
 1.5 03-Feb-1998  sakamoto rename {locore,setjmp}.S to {locore,setjmp}.s
 1.4 13-Jan-1998  sakamoto interrupt name change "softtty" -> "softserial"
 1.3 11-Dec-1997  sakamoto change order of interrupt description bit
 1.2 27-Nov-1997  sakamoto remove/import software interrupt model and external interrupt handler
from OpenBSD/powerpc.
move bus_space_* from bus_machdep.c to bus.h.
 1.1 14-Oct-1997  sakamoto branches: 1.1.2;
Initial commit of NetBSD/bebox port.
 1.1.2.1 28-Nov-1997  mellon Pull rev 1.2 up from trunk (sakamoto)
 1.7.2.1 21-Jun-2001  nathanw Catch up to -current.
 1.8.8.2 23-Jun-2001  matt #include <powerpc/spr.h> Use SPR_HID0 in place of 1008
 1.8.8.1 23-Jun-2001  matt file locore.S was added on branch nathanw_sa on 2001-06-23 02:17:15 +0000
 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.13.16.2 11-Feb-2008  yamt sync with head.
 1.13.16.1 27-Oct-2007  yamt sync with head.
 1.14.54.1 25-Oct-2007  bouyer Sync with HEAD.
 1.14.52.1 18-Oct-2007  yamt sync with head.
 1.14.50.2 23-Mar-2008  matt sync with HEAD
 1.14.50.1 06-Nov-2007  matt sync with HEAD
 1.14.48.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.14.38.1 02-May-2007  matt Make bebox build again. Use cpl,astpending,etc. from cpu_info.
Use powerpc generic softintr.
 1.14.30.1 23-Oct-2007  ad Sync with head.
 1.15.2.1 18-Feb-2008  mjf Sync with HEAD.
 1.16.28.1 07-Jan-2011  matt Deal with split <spr.h>
 1.16.18.2 03-Mar-2009  skrll Sync with HEAD.
 1.16.18.1 19-Jan-2009  skrll Sync with HEAD.
 1.16.16.1 13-Dec-2008  haad Update haad-dm branch to haad-dm-base2.
 1.16.10.2 11-Mar-2010  yamt sync with head
 1.16.10.1 04-May-2009  yamt sync with head.
 1.16.6.1 17-Jan-2009  mjf Sync with HEAD.
 1.17.4.1 13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.19.2.1 30-Apr-2010  uebayasi Sync with HEAD.
 1.21.4.1 06-Jun-2011  jruoho Sync with HEAD.
 1.21.2.1 05-Mar-2011  rmind sync with head
 1.22.4.1 23-Jun-2011  cherry Catchup with rmind-uvmplock merge.
 1.25.12.1 20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.25.2.1 30-Oct-2012  yamt sync with head
 1.28.38.1 10-Jun-2019  christos Sync with HEAD
 1.28.36.1 28-Jul-2018  pgoyette Sync with HEAD
 1.29.12.1 03-Apr-2021  thorpej Sync with HEAD.
 1.22 01-Jun-2001  simonb Rename assembly files that are pre-processed by cpp to use an S suffix.
 1.21 25-Feb-2001  matt Use common switch / setfault / trampoline code. (except amigappc because
it doesn't use trap_subr.S either).
 1.20 04-Dec-2000  tsubai Move INTSTK and SPILLSTK definitions to locore.[Ss] to allow allocation of
them in early startup.
 1.19 16-Nov-2000  thorpej Use <powerpc/powerpc/trap_subr.S>
 1.18 21-Aug-2000  tsubai Scheduler locking changes.
 1.17 31-May-2000  thorpej Add a comment about needing to initialize p_cpu when multiple
processors are supported.
 1.16 26-May-2000  thorpej branches: 1.16.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.15 26-May-2000  thorpej Introduce a new process state distinct from SRUN called SONPROC
which indicates that the process is actually running on a
processor. Test against SONPROC as appropriate rather than
combinations of SRUN and curproc. Update all context switch code
to properly set SONPROC when the process becomes the current
process on the CPU.
 1.14 24-Mar-2000  ws Update several ports to at least work again without IPKDB
after the update of that.
Sorry for breaking this with my last changes :-(.
Fixes PR#9671 by Lennart Augustsson.
 1.13 19-Jan-2000  danw Add a special trap handler for EXC_ALI that saves dsisr and dar
 1.12 07-Dec-1999  danw synchronize various changes to comments between these files to make it
even more obvious that they're 90% identical and really ought to be
using common code in arch/powerpc for a most of this...
 1.11 17-Nov-1999  kleink Move signal management code common to all PowerPC platforms (sendsig(),
sigreturn(), sigcode) to a single place in the shared powerpc directory.
(The struct sigcontext etc. definitions were already being shared.)
 1.10 25-Mar-1999  mrg branches: 1.10.2; 1.10.8; 1.10.14;
remove opt_uvm.h
 1.9 13-Sep-1998  thorpej Make signal delivery work again.
 1.8 09-Sep-1998  thorpej Adjust for the new "reaper" kernel thread: do not free the vmspace and
u-area in machine-dependent code. Instead, call exit2() to schedule
the reaper to free them for us, once it is safe to do so (i.e. we are
no longer running on the dead proc's vmspace and stack).
 1.7 04-Jul-1998  jonathan defopt DDB.
 1.6 09-Jun-1998  sakamoto Add UVM support.
 1.5 19-Feb-1998  thorpej Include KERNFS option header.
 1.4 13-Jan-1998  sakamoto interrupt name change "softtty" -> "softserial"
 1.3 11-Dec-1997  sakamoto change order of interrupt description bit
 1.2 27-Nov-1997  sakamoto remove/import software interrupt model and external interrupt handler
from OpenBSD/powerpc.
move bus_space_* from bus_machdep.c to bus.h.
 1.1 14-Oct-1997  sakamoto branches: 1.1.2;
Initial commit of NetBSD/bebox port.
 1.1.2.1 28-Nov-1997  mellon Pull rev 1.2 up from trunk (sakamoto)
 1.10.14.1 27-Dec-1999  wrstuden Pull up to last week's -current.
 1.10.8.5 12-Mar-2001  bouyer Sync with HEAD.
 1.10.8.4 15-Feb-2001  bouyer Re-sync with HEAD files which were out of sync.
 1.10.8.3 08-Dec-2000  bouyer Sync with HEAD.
 1.10.8.2 22-Nov-2000  bouyer Sync with HEAD.
 1.10.8.1 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.10.2.1 20-Jan-2000  he Pull up revision 1.13 (requested by danw):
Add (the beginnings of) an unaligned access handler for the
powerpc, to get around the fact that gcc currently generates bad
floating point copies sometimes, which breaks various things,
 1.16.2.1 22-Jun-2000  minoura Sync w/ netbsd-1-5-base.
 1.110 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.109 27-Feb-2021  thorpej Don't put #ifdefs in prep_initppc(). Instead, let callers specify the
additional BAT-mapped regions they care about.
 1.108 15-Jul-2018  maxv branches: 1.108.12;
Retire ipkdb entirely. The option was removed from the config files
yesterday.

ok kamil christos
 1.107 21-Apr-2013  kiyohara branches: 1.107.34; 1.107.36;
Fix hangup to interrupt on cascading PIC.
tested on bebox and evbppc/OPENBLOCKS600.
 1.106 13-Oct-2012  jdc Adapt to the changed signature of pckbc_cnattach().
 1.105 08-Oct-2012  kiyohara Left and Right LEDs on in end of cpu_reboot().
 1.104 07-Aug-2011  kiyohara branches: 1.104.2; 1.104.12;
Cleanup headers and variables.
 1.103 07-Aug-2011  kiyohara Not allow interrupt hear.
 1.102 07-Aug-2011  kiyohara Use BEBOX_REG for mapped to BAT instead of bebox_mb_reg.
 1.101 30-Jun-2011  matt Modify mapiodev to take a third argument indicating whether the space
should be prefetchable (true) or not (false).
 1.100 20-Jun-2011  matt Cleanup includes. (<net/netisr.h> is handled by softints, not MD anymore,
so this can be nuked).
 1.99 30-Oct-2010  kiyohara branches: 1.99.6;
Remove unnecessary comment-outed line.
 1.98 27-Nov-2009  rmind branches: 1.98.2; 1.98.4;
- 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.97 18-Mar-2009  cegger Ansify function definitions w/o arguments. Generated with sed.
 1.96 14-Mar-2009  dsl Change about 4500 of the K&R function definitions to ANSI ones.
There are still about 1600 left, but they have ',' or /* ... */
in the actual variable definitions - which my awk script doesn't handle.
There are also many that need () -> (void).
(The script does handle misordered arguments.)
 1.95 11-Nov-2008  dyoung branches: 1.95.4;
It is not appropriate to call pmf_system_shutdown(9) from
doshutdownhooks(9): shutdown hooks registered by shutdownhook_establish(9)
expect to be called with interrupts disabled, but shutdown hooks
registered with pmf_device_register1(9) expect to be called with
interrupts enabled. So I have made two changes:

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

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

I hope that this patch will stop us from flip-flopping between
calling doshutdownhooks() and pmf_system_shutdown() sometimes with
and sometimes without interrupts enabled.
 1.94 07-Jun-2008  kiyohara branches: 1.94.4; 1.94.6;
Fix spl disable at boot time.
 1.93 30-May-2008  kiyohara Support genfb console.
 1.92 08-Feb-2008  kiyohara branches: 1.92.6; 1.92.8; 1.92.10; 1.92.12;
Fix some bugs since ppcoea-renovation.
It status is reach asking boot device now.
 1.91 09-Dec-2007  ober Cleaning up commented out code. Formatting according to style rules.
 1.90 17-Oct-2007  garbled branches: 1.90.2; 1.90.4;
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.89 09-Feb-2007  ad branches: 1.89.6; 1.89.14; 1.89.22; 1.89.24; 1.89.26; 1.89.28;
Merge newlock2 to head.
 1.88 24-Dec-2005  perry branches: 1.88.20;
Remove leading __ from __(const|inline|signed|volatile) -- it is obsolete.
 1.87 11-Dec-2005  christos merge ktrace-lwp.
 1.86 24-Oct-2004  heinz branches: 1.86.12;
Follow the change done for port prep, revision 1.50. This makes output from
the autoconfiguration visible again. (Ok'd by Chuck Silvers).
 1.85 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.84 24-Oct-2003  matt Make this build properly.
 1.83 20-Oct-2003  matt Reorganize the way powerpc port install machine specific headers.
Use <powerpc/oea/bat.h> exclusively and remove <machine/bat.h> and
<powerpc/bat.h>. Remove unneeded <machine/cpufunc.h>. To insure
1:1 correspondence of <powerpc/FOO.h> to <machine/FOO.h> include
"../../powerpc/include/Makefile" in "arch/FOO/include/Makefile".
Incororpate <byte_swap.h> into <bswap.h> and then byte_swap.h
 1.82 15-Jul-2003  lukem __KERNEL_RCSID()
 1.81 14-Jun-2003  thorpej branches: 1.81.2;
Also pass a type argument to comcnattach() and com_kgdb_attach().
comspeed() (and thus cominit()) may need this information.
 1.80 26-Apr-2003  ragge Call ksyms_init() instead of ddb_init() in case of
NKSYMS || defined(DDB) || defined(LKM)
 1.79 01-Apr-2003  thorpej Use PAGE_SIZE rather than NBPG.
 1.78 18-Mar-2003  matt Switch/adapt to new bus space infrastructure.
 1.77 03-Feb-2003  matt Rename PPC_MPC6XX to PPC_OEA (and any mpc6xx reference to oea).
 1.76 22-Jan-2003  kleink G/c the pmap_bootstrap() segtab interface again. Silly me.
 1.75 17-Jan-2003  thorpej Merge the nathanw_sa branch.
 1.74 25-Sep-2002  thorpej Don't include <sys/map.h>.
 1.73 05-Jul-2002  matt Peform a rototill over the powerpc-based ports.

Move the trap/vector initialization for MPC6xx ports to mpc6xx_machdep.c
Also move softnet, install_extintr, mapiodev, kvtop. Add common BAT
initialization code.

Add user Altivec support.

Fix calls to OF_call_method in macppc/macppc/machdep.c.

Use ci_fpuproc in cpu_info instead of separate fpuproc.

Add separate syscall.c and defined __HAVE_SYSCALL_INTERN.
 1.72 13-May-2002  matt branches: 1.72.2;
Eliminate redundant declarations.
 1.71 23-Apr-2002  kleink Add a third argument to pmap_bootstrap() which platform-specific
initialization can use to specify additional segment registers to be set
up in the kernel pmap.
 1.70 26-Feb-2002  kleink Upon reflection, use hexadecimal values for previous, which make the
segment/block/battable relationship far more obvious.
 1.69 26-Feb-2002  kleink Move battable entries for I/O to their correct pseudo-segment offsets;
while BAT spills currently don't happen, it should be possible for the
handlers to find them at the expected address anyway.

XXX Why the PCI I/O and Memory spaces are being installed in the iBAT
XXX registers is beyond me.
 1.68 10-Sep-2001  chris branches: 1.68.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.67 31-Aug-2001  simonb branches: 1.67.2;
Use comments around the token after a #endif.
 1.66 26-Aug-2001  matt Make all powerpc ports use a common Makefile.powerpc (except walnut)
Enforce -Wmissing-prototypes -Wstrict-prototypes for all ppc ports.
Split out macppc cpu support and make common to mpc6xx ports. Make
other mpc6xx ports use it. Add evcnts for mpc6xx traps.
 1.65 24-Aug-2001  chs use pmap_k* for buffer cache pages.
 1.64 22-Jul-2001  wiz bcopy -> memcpy, bcmp -> memcmp, bzero -> memset
 1.63 06-Jun-2001  matt branches: 1.63.2;
Change bebox port to use the include MPC6XX files and the new common bus.h
framework.
 1.62 02-Jun-2001  chs replace vm_map{,_entry}_t with struct vm_map{,_entry} *.
 1.61 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.60 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.59 24-Feb-2001  matt branches: 1.59.2;
Move cpu_sysct and dump{mag,lo,siz} & cpu_dumpconf to powerpc_machdep.c.
dumpsys is still port-specific for now. XXX dumpsys is still a stub
on all powerpc ports.
 1.58 24-Feb-2001  matt Remove setregs since it now lives in powerpc/powerpc/powerpc_machdep.c
 1.57 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.56 02-Jul-2000  cgd Kwality control:
* put #includes of opt headers and headers to get protos used by
net/netisr_dispatch.h in net/netisr.h (if !defined(_LOCORE)) (rather than
in netisr_dispatch.h itself, and potentially nowhere, respectively).
* require netisr.h to be included before netisr_dispatch.h.
* minor additional cleanup of both netisr.h and netisr_dispatch.h.
* clean up uses to remove now-unnecessary header file inclusions, and
local prototypes of the fns.
* convert netisr dispatch implementations which didn't use
netisr_dispatch.h (pc532) to use it.
 1.55 29-Jun-2000  mrg remove include of <vm/vm.h>. <vm/vm.h> -> <uvm/uvm_extern.h>
 1.54 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.53 09-Jun-2000  soda increase number of parameters of pckbc_cnattach(), since offset of command port
is not 4 (KBCMDP), but 1 on jazz based platforms of arc port.
 1.52 26-May-2000  thorpej branches: 1.52.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.51 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.50 24-Mar-2000  ws Update several ports to at least work again without IPKDB
after the update of that.
Sorry for breaking this with my last changes :-(.
Fixes PR#9671 by Lennart Augustsson.
 1.49 21-Feb-2000  erh Define the DONETISR macro and use netisr_dispatch.h. This is to cut down on code duplication and to standardize the available NETISRs across all ports.
 1.48 19-Jan-2000  thorpej Move callout initialization to a single location; no need to duplicate
that code all over the place.
 1.47 19-Jan-2000  danw Add a special trap handler for EXC_ALI that saves dsisr and dar
 1.46 18-Dec-1999  thorpej Update for BATU()/BATL() changes.
 1.45 04-Dec-1999  ragge CL* discarding.
 1.44 03-Dec-1999  thorpej Split the PC-like keyboard controller driver into chip back-end and
bus front-end.
 1.43 17-Nov-1999  kleink Move signal management code common to all PowerPC platforms (sendsig(),
sigreturn(), sigcode) to a single place in the shared powerpc directory.
(The struct sigcontext etc. definitions were already being shared.)
 1.42 13-Nov-1999  thorpej Update for pmap_enter() API change. No functional difference.
 1.41 17-Sep-1999  thorpej branches: 1.41.2; 1.41.4; 1.41.8;
Centralize the declaration and clearing of `cold'.
 1.40 28-Jun-1999  itojun - 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.39 22-Jun-1999  sakamoto Add casts for -Wall.
 1.38 26-May-1999  thorpej Change the vm_map's "entries_pageable" member to a r/o flags member, which
has PAGEABLE and INTRSAFE flags. PAGEABLE now really means "pageable",
not "allocate vm_map_entry's from non-static pool", so update all map
creations to reflect that. INTRSAFE maps are maps that are used in
interrupt context (e.g. kmem_map, mb_map), and thus use the static
map entry pool (XXX as does kernel_map, for now). This will eventually
change now these maps are locked, as well.
 1.37 20-May-1999  lukem * 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.36 17-Apr-1999  ws Modify syncicache on PowerPC from an inline to a real function.
Support different cache line sizes with the same object code in userland.
While here, move the function to implementation name space.
 1.35 16-Apr-1999  thorpej Now that we have direct-mapped pool pages, we can garbage-collect VM_MBUF_SIZE
and don't need to allocate mb_map.
 1.34 11-Apr-1999  chs add a `flags' argument to uvm_pagealloc_strat().
define a flag UVM_PGA_USERESERVE to allow non-kernel object
allocations to use pages from the reserve.
use the new flag for allocations in pmap modules.
 1.33 01-Apr-1999  thorpej branches: 1.33.2;
Don't call configure() from cpu_startup().
 1.32 26-Mar-1999  mycroft 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.31 24-Mar-1999  mrg completely remove Mach VM support. all that is left is the all the
header files as UVM still uses (most of) these.
 1.30 09-Jan-1999  thorpej Garbage-collect `mbutl'.
 1.29 04-Dec-1998  thorpej Pass the symbol table size, like a.out.
 1.28 18-Nov-1998  sakamoto Support frame buffer console initialized by the BootRom of the BeBox.
 1.27 19-Oct-1998  tron Defopt SYSVMSG, SYSVSEM and SYSVSHM.
 1.26 06-Oct-1998  sakamoto Fix unassigned minaddr for uvm_km_suballoc.
Eliminate space at end of line, and so on.
 1.25 28-Sep-1998  sakamoto pcvt is no longer used with bebox.
 1.24 13-Sep-1998  mycroft Fix omission in previous; remember to record that we're on the signal stack.
 1.23 13-Sep-1998  thorpej Make signal delivery work again.
 1.22 24-Aug-1998  sakamoto vm_offset_t --> [pv]addr_t.
 1.21 05-Jul-1998  jonathan defopt NS, NSIP.
 1.20 05-Jul-1998  jonathan defopt ISO TPIP.
 1.19 05-Jul-1998  jonathan defopt CCITT.
 1.18 05-Jul-1998  jonathan defopt INET, NETATALK.
 1.17 04-Jul-1998  jonathan defopt DDB.
 1.16 09-Jun-1998  sakamoto Add UVM support.
 1.15 28-May-1998  drochner pull in new PC display headers
 1.14 28-May-1998  sakamoto Use new PowerPC-generic stuff(sys/arch/powerpc).
 1.13 08-May-1998  kleink Fix some arithmetics lossage on typeless pointers.
 1.12 20-Apr-1998  sakamoto Back out the changes about NVGA. It's not necessary.
 1.11 20-Apr-1998  sakamoto Use NVGA_ISA and NVGA_PCI instead of NVGA
for ISA/PCI frontend of vga.c.
 1.10 26-Mar-1998  sakamoto Allow to use the new VGA and keyboard controller drivers as console
 1.9 12-Feb-1998  sakamoto Add avail_end for DMA (temporary).
 1.8 03-Feb-1998  sakamoto Change bebox_bus_{io,mem} to BEBOX_BUS_SPACE_{IO,MEM}
 1.7 02-Feb-1998  sakamoto Move "read clock information from bootinfo" to initppc() from cpu_initclocks()
for delay() before cpu_initclocks().
Sync with powerpc/powerpc/machdep.c.
 1.6 19-Jan-1998  sakamoto Support bootinfo like i386-port.
-define a buffer for information passed by the bootloader
-add a function ("lookup_bootinfo") to extract data
-use passed console information, for console attachment (VGA or SERIAL)
-use passed clock information, for timebase, decremente register
 1.5 18-Dec-1997  sakamoto use pmap.c of port-powerpc.
mem_regions support.
 1.4 15-Dec-1997  sakamoto support IDE hard disk controllers (wdc) and drives (wd)
put wdc.c into bebox/isa directory temporarily
 1.3 27-Nov-1997  sakamoto remove/import software interrupt model and external interrupt handler
from OpenBSD/powerpc.
move bus_space_* from bus_machdep.c to bus.h.
 1.2 13-Nov-1997  veego s/NETHER/NARP/ and s/ether.h/arp.h/ for the 'new' arp system.
 1.1 14-Oct-1997  sakamoto branches: 1.1.2;
Initial commit of NetBSD/bebox port.
 1.1.2.2 28-Nov-1997  mellon Pull rev 1.3 up from trunk (sakamoto)
 1.1.2.1 15-Nov-1997  mellon Pull rev 1.2 up from trunk (veego)
 1.33.2.2 20-Jan-2000  he Pull up revision 1.47 (requested by danw):
Add (the beginnings of) an unaligned access handler for the
powerpc, to get around the fact that gcc currently generates bad
floating point copies sometimes, which breaks various things,
 1.33.2.1 16-Apr-1999  chs branches: 1.33.2.1.2; 1.33.2.1.4;
pull up 1.33 -> 1.34:
add a `flags' argument to uvm_pagealloc_strat().
define a flag UVM_PGA_USERESERVE to allow non-kernel object
allocations to use pages from the reserve.
use the new flag for allocations in pmap modules.
 1.33.2.1.4.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.33.2.1.4.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.33.2.1.2.2 01-Jul-1999  thorpej Sync w/ -current.
 1.33.2.1.2.1 21-Jun-1999  thorpej Sync w/ -current.
 1.41.8.1 27-Dec-1999  wrstuden Pull up to last week's -current.
 1.41.4.1 15-Nov-1999  fvdl Sync with -current
 1.41.2.3 27-Mar-2001  bouyer Sync with HEAD.
 1.41.2.2 12-Mar-2001  bouyer Sync with HEAD.
 1.41.2.1 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.52.2.1 22-Jun-2000  minoura Sync w/ netbsd-1-5-base.
 1.59.2.2 21-Jun-2001  nathanw Catch up to -current.
 1.59.2.1 09-Apr-2001  nathanw Catch up with -current.
 1.63.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.63.2.6 06-Sep-2002  jdolecek sync kqueue branch with HEAD
 1.63.2.5 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.63.2.4 16-Mar-2002  jdolecek Catch up with -current.
 1.63.2.3 13-Sep-2001  thorpej Update the kqueue branch to HEAD.
 1.63.2.2 25-Aug-2001  thorpej Merge Aug 24 -current into the kqueue branch.
 1.63.2.1 03-Aug-2001  lukem update to -current
 1.67.2.1 01-Oct-2001  fvdl Catch up with -current.
 1.68.4.7 18-Oct-2002  nathanw Catch up to -current.
 1.68.4.6 01-Aug-2002  nathanw Catch up to -current.
 1.68.4.5 20-Jun-2002  nathanw Catch up to -current.
 1.68.4.4 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.68.4.3 28-Feb-2002  nathanw Catch up to -current.
 1.68.4.2 05-Nov-2001  briggs Initial SA support for ppc. Test-booted on sandpoint, macppc, & walnut.
mcontext and cpu_getmcontext()/cpu_setmcontext() from Klaus Klein
<kleink@netbsd.org>.
 1.68.4.1 10-Sep-2001  briggs file machdep.c was added on branch nathanw_sa on 2001-11-05 19:46:12 +0000
 1.72.2.1 16-Jul-2002  gehenna catch up with -current.
 1.81.2.4 02-Nov-2004  skrll Sync with HEAD.
 1.81.2.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.81.2.2 18-Sep-2004  skrll Sync with HEAD.
 1.81.2.1 03-Aug-2004  skrll Sync with HEAD
 1.86.12.5 11-Feb-2008  yamt sync with head.
 1.86.12.4 21-Jan-2008  yamt sync with head
 1.86.12.3 27-Oct-2007  yamt sync with head.
 1.86.12.2 26-Feb-2007  yamt sync with head.
 1.86.12.1 21-Jun-2006  yamt sync with head.
 1.88.20.1 30-Jan-2007  ad Remove support for SA. Ok core@.
 1.89.28.1 25-Oct-2007  bouyer Sync with HEAD.
 1.89.26.1 18-Oct-2007  yamt sync with head.
 1.89.24.3 23-Mar-2008  matt sync with HEAD
 1.89.24.2 09-Jan-2008  matt sync with HEAD
 1.89.24.1 06-Nov-2007  matt sync with HEAD
 1.89.22.2 09-Dec-2007  jmcneill Sync with HEAD.
 1.89.22.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.89.14.10 09-Oct-2007  ober Comment out mem_regions to avoid conflict with previous definition
 1.89.14.9 23-Jul-2007  ober Updates to remove pfb, and update cpuattach().
 1.89.14.8 08-Jul-2007  ober More cleanups of intr.h and headers.
 1.89.14.7 08-Jul-2007  ober Remove c++ style comment.
 1.89.14.6 08-Jul-2007  ober Updates to make use of the common powerpc pci code base.
 1.89.14.5 28-Jun-2007  ober Updates to move Bebox to the powerpc ISA code.
 1.89.14.4 26-May-2007  ober correct the last checkin to use the bebox pic.
 1.89.14.3 19-May-2007  ober More cleanup to match changes made to other ppc ports like mvmeppc
 1.89.14.2 10-May-2007  garbled HAVE_GENERIC_SOFTINTRS is no longer optional. Delete ifndef'd code from
oea_machdep.c, and move softintr__init() to oea_startup(). Remove
softintr__init from every port's cpu_startup().
 1.89.14.1 06-May-2007  ober Adding softintr__init() in order to get the bebox port to boot up to single user
and avoid a hang. ok garbled@
 1.89.6.1 23-Oct-2007  ad Sync with head.
 1.90.4.1 26-Dec-2007  ad Sync with head.
 1.90.2.1 18-Feb-2008  mjf Sync with HEAD.
 1.92.12.3 23-Jun-2008  wrstuden Sync w/ -current. 34 merge conflicts to follow.
 1.92.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.92.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.92.10.2 11-Mar-2010  yamt sync with head
 1.92.10.1 04-May-2009  yamt sync with head.
 1.92.8.2 17-Jun-2008  yamt sync with head.
 1.92.8.1 04-Jun-2008  yamt sync with head
 1.92.6.3 17-Jan-2009  mjf Sync with HEAD.
 1.92.6.2 29-Jun-2008  mjf Sync with HEAD.
 1.92.6.1 02-Jun-2008  mjf Sync with HEAD.
 1.94.6.2 28-Apr-2009  skrll Sync with HEAD.
 1.94.6.1 19-Jan-2009  skrll Sync with HEAD.
 1.94.4.1 13-Dec-2008  haad Update haad-dm branch to haad-dm-base2.
 1.95.4.1 13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.98.4.1 05-Mar-2011  rmind sync with head
 1.98.2.1 06-Nov-2010  uebayasi Sync with HEAD.
 1.99.6.1 23-Jun-2011  cherry Catchup with rmind-uvmplock merge.
 1.104.12.2 23-Jun-2013  tls resync from head
 1.104.12.1 20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.104.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.104.2.1 30-Oct-2012  yamt sync with head
 1.107.36.1 10-Jun-2019  christos Sync with HEAD
 1.107.34.1 28-Jul-2018  pgoyette Sync with HEAD
 1.108.12.1 03-Apr-2021  thorpej Sync with HEAD.
 1.35 07-Aug-2021  thorpej Merge thorpej-cfargs2.
 1.34 24-Apr-2021  thorpej branches: 1.34.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.33 18-Nov-2020  thorpej branches: 1.33.2;
malloc(9) -> kmem(9)
 1.32 07-Jul-2020  thorpej branches: 1.32.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.31 14-Jun-2020  chs replace EX_NOWAIT with EX_WAITOK in device attach methods.
remove checks for failures that can no longer occur.
 1.30 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.29 27-Jan-2012  para branches: 1.29.48;
converting extent(9) from malloc(9) to kmem(9)
preceding kmem-vmem-pool-uvm patch

releng@ acknowledged
 1.28 07-Aug-2011  kiyohara branches: 1.28.2; 1.28.6;
Try to attach 2nd CPU. But not support options MULTIPROCESSOR yet.
 1.27 01-Jul-2011  dyoung #include <sys/bus.h> instead of <machine/bus.h>.
 1.26 03-Jun-2011  matt Covert to CFATTACH_DECL_NEW, device_t, cfdata_t
 1.25 17-May-2011  dyoung branches: 1.25.2;
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.24 18-Mar-2009  cegger branches: 1.24.4; 1.24.6;
bzero -> memset
 1.23 16-Mar-2008  kiyohara branches: 1.23.4; 1.23.12; 1.23.18;
Remove unnecessary comment-outed call.
 1.22 08-Feb-2008  kiyohara branches: 1.22.2; 1.22.6;
Fix some bugs since ppcoea-renovation.
It status is reach asking boot device now.
 1.21 09-Dec-2007  ober Cleaning up commented out code. Formatting according to style rules.
 1.20 17-Oct-2007  garbled branches: 1.20.2; 1.20.4;
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 11-Dec-2005  christos branches: 1.19.30; 1.19.38; 1.19.48; 1.19.50; 1.19.52; 1.19.54;
merge ktrace-lwp.
 1.18 30-Aug-2004  drochner branches: 1.18.12;
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 15-Jul-2003  lukem __KERNEL_RCSID()
 1.16 15-Jun-2003  fvdl branches: 1.16.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.15 02-Feb-2003  matt Perform a rototill of the powerpc code. Mandate use of SPRG0 to store
a pointer to current cpu's cpu_info structure. Use cpu_info for
intstk,intr_depth,still_stk,idle_pcb,curpcb,curlwp,etal even on
non-MULTIPROCESSOR machines. Add common macros GET_CPUINFO and
INIT_CPUINFO to get and initialize the cpu_info struct on startup. Make
ibm4xx use the standard <powerpc/frame.h>. Use IFRAME_xx in ibm4xx
trap_subr.S instead of explicit magic offsets. Move INTSTK and SPILLSTK
to std.<platform>. Change faultbuf to a struct instead of an array.

On MPC6XX cpus, stop using the vector page for temporary space and use
reserved space in cpu_info.
 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 28-Nov-2001  thorpej branches: 1.10.8;
Add a "cacheline_size" argument to pci_configure_bus(). It is used
to set the cacheline size in the BHLC register. This should be the
size of the largest D-cache line on a system.
 1.9 09-Nov-2001  thorpej Add a "firstbus" argument to pci_configure_bus(), indicating the
first bus number to use, rather than always assuming that we should
start at bus #0.
 1.8 26-Aug-2001  matt branches: 1.8.4; 1.8.6;
Make all powerpc ports use a common Makefile.powerpc (except walnut)
Enforce -Wmissing-prototypes -Wstrict-prototypes for all ppc ports.
Split out macppc cpu support and make common to mpc6xx ports. Make
other mpc6xx ports use it. Add evcnts for mpc6xx traps.
 1.7 06-Jun-2001  matt branches: 1.7.2;
Change bebox port to use the include MPC6XX files and the new common bus.h
framework.
 1.6 12-Feb-2001  briggs branches: 1.6.2;
Do PCI bus configuration before we config_found() on mainbus.
 1.5 03-Feb-1998  sakamoto branches: 1.5.14;
Change bebox_bus_{io,mem} to BEBOX_BUS_SPACE_{IO,MEM}
 1.4 12-Jan-1998  thorpej Update for changes to config.
 1.3 27-Nov-1997  sakamoto remove/import software interrupt model and external interrupt handler
from OpenBSD/powerpc.
move bus_space_* from bus_machdep.c to bus.h.
 1.2 15-Oct-1997  sakamoto branches: 1.2.2;
License indication changed.
 1.1 14-Oct-1997  sakamoto Initial commit of NetBSD/bebox port.
 1.2.2.1 28-Nov-1997  mellon Pull rev 1.3 up from trunk (sakamoto)
 1.5.14.1 12-Mar-2001  bouyer Sync with HEAD.
 1.6.2.1 21-Jun-2001  nathanw Catch up to -current.
 1.7.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.7.2.3 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.7.2.2 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.7.2.1 13-Sep-2001  thorpej Update the kqueue branch to HEAD.
 1.8.6.5 03-Jan-2003  thorpej Sync with HEAD.
 1.8.6.4 18-Oct-2002  nathanw Catch up to -current.
 1.8.6.3 20-Jun-2002  nathanw Catch up to -current.
 1.8.6.2 08-Jan-2002  nathanw Catch up to -current.
 1.8.6.1 26-Aug-2001  nathanw file mainbus.c was added on branch nathanw_sa on 2002-01-08 00:23:43 +0000
 1.8.4.1 12-Nov-2001  thorpej Sync the thorpej-mips-cache branch with -current.
 1.10.8.1 30-May-2002  gehenna Catch up with -current.
 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-Sep-2004  skrll Sync with HEAD
 1.16.2.1 03-Aug-2004  skrll Sync with HEAD
 1.18.12.4 17-Mar-2008  yamt sync with head.
 1.18.12.3 11-Feb-2008  yamt sync with head.
 1.18.12.2 21-Jan-2008  yamt sync with head
 1.18.12.1 27-Oct-2007  yamt sync with head.
 1.19.54.1 25-Oct-2007  bouyer Sync with HEAD.
 1.19.52.1 18-Oct-2007  yamt sync with head.
 1.19.50.3 23-Mar-2008  matt sync with HEAD
 1.19.50.2 09-Jan-2008  matt sync with HEAD
 1.19.50.1 06-Nov-2007  matt sync with HEAD
 1.19.48.2 09-Dec-2007  jmcneill Sync with HEAD.
 1.19.48.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.19.38.5 08-Aug-2007  ober revert last commit. prep is the correct structure.
 1.19.38.4 06-Aug-2007  ober Convert the prep references over to genppc.
 1.19.38.3 25-Jul-2007  ober Convert mainbus code to generic powerpc mainbus code and our initial PIC code.
 1.19.38.2 08-Jul-2007  ober Updates to make use of the common powerpc pci code base.
 1.19.38.1 28-Jun-2007  ober Updates to move Bebox to the powerpc ISA code.
 1.19.30.1 23-Oct-2007  ad Sync with head.
 1.20.4.1 26-Dec-2007  ad Sync with head.
 1.20.2.1 18-Feb-2008  mjf Sync with HEAD.
 1.22.6.1 03-Apr-2008  mjf Sync with HEAD.
 1.22.2.1 24-Mar-2008  keiichi sync with head.
 1.23.18.1 13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.23.12.1 28-Apr-2009  skrll Sync with HEAD.
 1.23.4.1 04-May-2009  yamt sync with head.
 1.24.6.1 06-Jun-2011  jruoho Sync with HEAD.
 1.24.4.2 12-Jun-2011  rmind sync with head
 1.24.4.1 31-May-2011  rmind sync with head
 1.25.2.1 23-Jun-2011  cherry Catchup with rmind-uvmplock merge.
 1.28.6.1 18-Feb-2012  mrg merge to -current.
 1.28.2.1 17-Apr-2012  yamt sync with head
 1.29.48.1 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.32.2.1 14-Dec-2020  thorpej Sync w/ HEAD.
 1.33.2.1 02-Apr-2021  thorpej config_found_ia() -> config_found() w/ CFARG_IATTR.
 1.34.8.1 03-Aug-2021  thorpej Adapt to CFARGS().
 1.3 21-Jan-2002  jdolecek Switch to MI dev/md_root.c for archs which don't have any special
memory disk hooks (i.e. everything except atari).
 1.2 17-Mar-1999  sommerfe branches: 1.2.22; 1.2.26;
defopt MINIROOTSIZE
 1.1 12-Feb-1998  sakamoto Import memory disk filesystem hook from port-i386.
 1.2.26.1 28-Feb-2002  nathanw Catch up to -current.
 1.2.22.1 11-Feb-2002  jdolecek Sync w/ -current.
 1.3 28-May-1998  sakamoto Use new PowerPC-generic stuff(sys/arch/powerpc).
 1.2 07-May-1998  kleink Fix some arithmetics lossage on typeless pointers.
 1.1 14-Oct-1997  sakamoto branches: 1.1.2;
Initial commit of NetBSD/bebox port.
 1.1.2.1 23-Nov-1998  cgd Fix many real and potential security problems with character device
driver mmap routines that did not properly bounds check offsets.
See NetBSD security advisory NetBSD-SA1998-005 for details. Done
as a patch because it's large, and a fair number of bits are different
in -current. (mrg)
 1.12 18-Nov-2020  thorpej malloc(9) -> kmem(9)
 1.11 10-Nov-2019  chs branches: 1.11.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.10 20-Oct-2012  kiyohara branches: 1.10.38;
Add experimental support GENERIC.MP.
 1.9 20-Oct-2012  kiyohara Cleanup macros of access for bebox-register.
 1.8 07-Aug-2011  kiyohara branches: 1.8.2; 1.8.12;
Use BEBOX_REG for mapped to BAT instead of bebox_mb_reg.
 1.7 05-Jun-2011  matt Remove <machine/atomic.h>; use <sys/atomic.h> instead.
Add <powerpc/cpuset.h> (for mpc85xx pmap).
Add some initial MP code for mpc85xx
Rework ipi code to be common across all ppcs
Change PPC to keep curlwp in %r13 while in the kernel.
Move astpending from cpu_info to mdlwp
Improve cpu_need_resched to be more MP friendly.
 1.6 28-Apr-2008  martin branches: 1.6.22; 1.6.28; 1.6.32;
Remove clause 3 and 4 from TNF licenses
 1.5 26-Mar-2008  kiyohara branches: 1.5.2; 1.5.4;
Cleanup bebox_{enable,disable,get}_irq().
 1.4 08-Feb-2008  kiyohara branches: 1.4.6;
Fix some bugs since ppcoea-renovation.
It status is reach asking boot device now.
 1.3 11-Dec-2007  garbled Fix the endless stream of 7's problem on i8259-like interrupt controllers
once and for all. The i8259 does not like to be read in a loop, when an
interrupt comes in, it will return a valid value, however, if you keep
reading it until there are no outstanding interrupts, it will return 7
(which is the lpt interrupt). Change the pic handler to give an argument
to the get_irq functions of mode, which indicates if this is the first
time we are asking, or if we are just rechecking in a loop. Non-i8259
handlers can safely ignore this argument.

Tested to fix the stream of 7's problem on prep and ofppc. Got rid of
the nasty hack in ofppc with this too, and the prep machine seems to take
less interrupts now, which is a good thing.
 1.2 17-Oct-2007  garbled branches: 1.2.2; 1.2.4; 1.2.6; 1.2.8; 1.2.10; 1.2.12; 1.2.14;
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.1 10-May-2007  garbled branches: 1.1.2; 1.1.6; 1.1.8; 1.1.10;
file pic_bebox.c was initially added on branch ppcoea-renovation.
 1.1.10.1 25-Oct-2007  bouyer Sync with HEAD.
 1.1.8.1 18-Oct-2007  yamt sync with head.
 1.1.6.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.1.2.2 08-Jul-2007  ober Updates to make use of the common powerpc pci code base.
 1.1.2.1 10-May-2007  garbled Add a prototype pic_bebox.c to handle the bebox interrupt controller.
Not tested at all yet, nor is it used.
 1.2.14.1 13-Dec-2007  bouyer Sync with HEAD
 1.2.12.1 13-Dec-2007  yamt sync with head.
 1.2.10.1 26-Dec-2007  ad Sync with head.
 1.2.8.4 23-Mar-2008  matt sync with HEAD
 1.2.8.3 09-Jan-2008  matt sync with HEAD
 1.2.8.2 06-Nov-2007  matt sync with HEAD
 1.2.8.1 17-Oct-2007  matt file pic_bebox.c was added on branch matt-armv6 on 2007-11-06 23:15:29 +0000
 1.2.6.1 18-Feb-2008  mjf Sync with HEAD.
 1.2.4.4 11-Feb-2008  yamt sync with head.
 1.2.4.3 21-Jan-2008  yamt sync with head
 1.2.4.2 27-Oct-2007  yamt sync with head.
 1.2.4.1 17-Oct-2007  yamt file pic_bebox.c was added on branch yamt-lazymbuf on 2007-10-27 11:25:32 +0000
 1.2.2.2 23-Oct-2007  ad Sync with head.
 1.2.2.1 17-Oct-2007  ad file pic_bebox.c was added on branch vmlocking on 2007-10-23 20:35:39 +0000
 1.4.6.2 02-Jun-2008  mjf Sync with HEAD.
 1.4.6.1 03-Apr-2008  mjf Sync with HEAD.
 1.5.4.1 16-May-2008  yamt sync with head.
 1.5.2.1 18-May-2008  yamt sync with head.
 1.6.32.1 23-Jun-2011  cherry Catchup with rmind-uvmplock merge.
 1.6.28.1 06-Jun-2011  jruoho Sync with HEAD.
 1.6.22.1 12-Jun-2011  rmind sync with head
 1.8.12.1 20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.8.2.1 30-Oct-2012  yamt sync with head
 1.10.38.1 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.11.8.1 14-Dec-2020  thorpej Sync w/ HEAD.
 1.5 28-May-1998  sakamoto Use new PowerPC-generic stuff(sys/arch/powerpc).
 1.4 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.3 02-Jan-1998  thorpej Implement pmap_activate().
 1.2 18-Dec-1997  sakamoto use pmap.c of port-powerpc.
mem_regions support.
 1.1 14-Oct-1997  sakamoto Initial commit of NetBSD/bebox port.
 1.2 28-May-1998  sakamoto Use new PowerPC-generic stuff(sys/arch/powerpc).
 1.1 14-Oct-1997  sakamoto Initial commit of NetBSD/bebox port.
 1.3 05-Mar-2003  matt Remove port-specific procfs_machdep.c (since they are all identical and
a better one resides in powerpc/powerpc/).
 1.2 18-Jan-2001  tv 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:25 +0000
 1.3 03-Feb-1998  sakamoto rename {locore,setjmp}.S to {locore,setjmp}.s
 1.2 05-Jan-1998  perry RCSID Police.
 1.1 14-Oct-1997  sakamoto Initial commit of NetBSD/bebox port.
 1.3 28-May-1998  sakamoto Use new PowerPC-generic stuff(sys/arch/powerpc).
 1.2 05-Jan-1998  perry RCSID Police.
 1.1 14-Oct-1997  sakamoto Initial commit of NetBSD/bebox port.
 1.2 27-Nov-1997  sakamoto remove/import software interrupt model and external interrupt handler
from OpenBSD/powerpc.
move bus_space_* from bus_machdep.c to bus.h.
 1.1 14-Oct-1997  sakamoto branches: 1.1.2;
Initial commit of NetBSD/bebox port.
 1.1.2.1 28-Nov-1997  mellon Obsolete (sakamoto)
 1.2 27-Nov-1997  sakamoto remove/import software interrupt model and external interrupt handler
from OpenBSD/powerpc.
move bus_space_* from bus_machdep.c to bus.h.
 1.1 14-Oct-1997  sakamoto branches: 1.1.2;
Initial commit of NetBSD/bebox port.
 1.1.2.1 28-Nov-1997  mellon Obsolete (sakamoto)
 1.2 28-May-1998  sakamoto Use new PowerPC-generic stuff(sys/arch/powerpc).
 1.1 14-Oct-1997  sakamoto Initial commit of NetBSD/bebox port.
 1.2 28-May-1998  sakamoto Use new PowerPC-generic stuff(sys/arch/powerpc).
 1.1 14-Oct-1997  sakamoto Initial commit of NetBSD/bebox port.
 1.2 28-May-1998  sakamoto Use new PowerPC-generic stuff(sys/arch/powerpc).
 1.1 14-Oct-1997  sakamoto Initial commit of NetBSD/bebox port.
 1.3 28-May-1998  sakamoto Use new PowerPC-generic stuff(sys/arch/powerpc).
 1.2 25-Feb-1998  perry note second parm of sysarch() is now void *, + trivial KNF, etc.
 1.1 14-Oct-1997  sakamoto Initial commit of NetBSD/bebox port.
 1.3 28-May-1998  sakamoto Use new PowerPC-generic stuff(sys/arch/powerpc).
 1.2 18-Nov-1997  sakamoto Debugger() is called outside #ifdef DDB - fix.
remove simple monitor.
 1.1 14-Oct-1997  sakamoto branches: 1.1.2;
Initial commit of NetBSD/bebox port.
 1.1.2.1 28-Nov-1997  mellon Pull rev 1.2 up from trunk (sakamoto)
 1.4 28-May-1998  sakamoto Use new PowerPC-generic stuff(sys/arch/powerpc).
 1.3 18-Dec-1997  sakamoto use pmap.c of port-powerpc.
mem_regions support.
 1.2 16-Oct-1997  sakamoto __VM_PMAP_HACK delete.
if_ed and lpt temporary support.
 1.1 14-Oct-1997  sakamoto Initial commit of NetBSD/bebox port.
 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 27-Nov-1997  sakamoto branches: 1.1.2; 1.1.34;
keep compile dir.
 1.1.34.1 07-Jan-2003  thorpej Sync with HEAD.
 1.1.2.2 27-Nov-1997  sakamoto keep compile dir.
 1.1.2.1 27-Nov-1997  sakamoto file .keep_me was added on branch netbsd-1-3 on 1997-11-27 09:48:19 +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 21:05:03 +0000
 1.170 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.169 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.168 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.167 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.166 07-Jun-2022  martin This kernel has no midi configured, so comment out pseudo-device sequencer
 1.165 21-Jan-2021  nia add a commented out compat_ossaudio wherever there's compat_linux

requested by mrg
 1.164 27-Sep-2020  roy branches: 1.164.2;
vether: Add to kernel configurations

It's only enabled if the kernel enabled bridge AND tap.
Otherwise it's commented out.
 1.163 01-Aug-2020  maxv Remove references to BRIDGE_IPF, it is now compiled in by default.
 1.162 25-Mar-2020  jdolecek remove 'file-system SMBFS' and 'pseudo-device nsmb' from all kernel configs
to prepare for their eventual removal
 1.161 19-Jan-2020  thorpej Remove the strip(4) - Starmode Radio IP - pseudo-device driver. It is
long since obsolete.
 1.160 26-Apr-2019  sevan branches: 1.160.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.159 13-Apr-2019  isaki Add drvctl to kernel which has audio device.
audiocfg(1) requires drvctl(4).
 1.158 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.157 23-Jan-2018  sevan branches: 1.157.2; 1.157.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.156 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.155 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.154 29-Jul-2017  maxv Remove TCP_COMPAT_42 from the config files. Pass 3.
 1.153 19-Feb-2017  rin branches: 1.153.6;
PR kern/51208
Add DISKLABEL_EI option (and also FFS_EI if missing), commented out except for
ALL on amd64 and i386.
 1.152 14-Dec-2016  martin branches: 1.152.2;
Comment out spkr at pcppi, as pcppi is commented out too.
 1.151 13-Dec-2016  christos wildcard speaker attachments, now that we can handle many of them.
 1.150 10-Dec-2016  christos remove VAUDIOSPEAKER for now, will be done differently.
 1.149 09-Dec-2016  christos kill PCPPISPEAKER
 1.148 08-Dec-2016  nat Add a synthesized pc beeper and keyboard bell for platforms with an audio
device.
 1.147 26-Nov-2016  christos mention PAX_SEGVGUARD dependency on FILEASSOC
 1.146 08-Aug-2015  maxv branches: 1.146.2;
Remove KMEMSTATS.
 1.145 16-Nov-2014  manu branches: 1.145.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.144 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.143 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.142 16-Aug-2014  apb Add "options COMPAT_70" to all kernel configuration files that
already had "options COMPAT_60".
 1.141 24-Mar-2014  szptvlfn branches: 1.141.4;
fix manual section numbering of sysctl.
thanks wiz@
 1.140 30-Jun-2013  rmind G/C PFIL_HOOKS from the kernel configs.
 1.139 05-Jun-2013  christos branches: 1.139.2;
remove obsolete networking options
 1.138 27-Apr-2013  christos more bogus number removal
 1.137 27-Apr-2013  christos the bogus number police
 1.136 27-Apr-2013  christos remove confusing numeric locators where they are unused.
 1.135 02-Mar-2013  christos Under FAST_IPSEC, IPSEC_ESP is mandatory; GC it.
 1.134 01-Mar-2013  joerg Retire OSI network stack. OK core@
 1.133 20-Oct-2012  kiyohara Disable some not working drivers. (pcppi, spkr, midi)
Disable some not need drivers. (fdc1, bio, raid)
 1.132 17-Oct-2012  apb Add "options COMPAT_60" to all kernel configuration files
that already had "options COMPAT_50".
 1.131 05-Jun-2012  abs branches: 1.131.2;
Adjust the WSDISPLAY_COMPAT_USL comment to mention wsconscfg, to at least
give a hint that its not just for third party compat. No functional change.
 1.130 10-Mar-2012  joerg P1003_1B_SEMAPHORE is no longer optional.
 1.129 18-Dec-2011  dholland branches: 1.129.2;
WABPL is no longer considered experimental (has not been for some time)
so update its comment in config files.
 1.128 22-Nov-2011  tls branches: 1.128.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.127 30-Jun-2011  wiz branches: 1.127.2;
dependant -> dependent
 1.126 06-Mar-2011  bouyer 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.125 23-Nov-2010  hannken branches: 1.125.2; 1.125.4;
Remove unused count from pseudo-device md.
 1.124 03-Nov-2010  kiyohara Enable wss(4) at port 0x82c.
Also enable audio.
 1.123 30-Oct-2010  kiyohara Enable INCLUDE_CONFIG_FILE.
Remove NTFS maybe unnecessary.
 1.122 20-Oct-2010  kiyohara Move PCI_NETBSD_CONFIGURE to std.bebox. It is MUST REQUIRED.
 1.121 16-Oct-2010  kiyohara Add bktr(4). (BeOS seems to have supported BT848. ;)
Remove INSECURE.
Disable options PMS_SYNAPTICS_TOUCHPAD.
Remove mms and lms from majors.bebox.
 1.120 01-Aug-2010  kiyohara Support xserver.
 1.119 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.118 29-Apr-2010  chs enable TMPFS in all GENERICs that have MFS enabled.
 1.117 16-Apr-2010  pooka Remove unused count (invariably "4") from pseudo-device fss.
 1.116 05-Dec-2009  pooka branches: 1.116.2; 1.116.4;
Remove the portalfs kernel file system driver. Replace mount_portal(8)
with a version based on puffs. User functionality remains the same.
 1.115 24-Jan-2009  mrg add COMPAT_50 to all the configs with COMPAT_40.
 1.114 24-Nov-2008  ad Remove softdep, pass 1. We are focused on improving journalling.

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

Proposed on tech-kern@.
 1.112 10-Aug-2008  tls branches: 1.112.2;
Add accept filters to GENERIC kernels where they exist.
 1.111 31-Jul-2008  simonb Add "options WAPBL" to standard GENERIC/INSTALL type configs.
 1.110 11-Jun-2008  kiyohara branches: 1.110.2;
Enable siop and scsi bus/devices.
 1.109 30-May-2008  tsutsui branches: 1.109.2;
Add options COMPAT_40 to files which have options COMPAT_30.
 1.108 30-May-2008  kiyohara Renewal GENERIC and files.bebox.
 1.107 31-Dec-2007  ad branches: 1.107.6; 1.107.8; 1.107.10; 1.107.12;
Remove systrace. Ok core@.
 1.106 17-Oct-2007  garbled branches: 1.106.2; 1.106.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.105 04-Jun-2007  martin branches: 1.105.8; 1.105.10; 1.105.12; 1.105.14;
Add pseudo-device agr to all GENERIC kernels where it might make sense
(commented out in some).
 1.104 11-Nov-2006  jmmv branches: 1.104.2; 1.104.8; 1.104.10; 1.104.16; 1.104.18;
Remove tmpfs's experimental status. OK'ed by core@.
 1.103 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.102 15-Sep-2006  gdamore branches: 1.102.2;
Convert bebox to MI todr. As part of this, separate out the mc146818
clock handling. Originally reviewed with that committed as an MI driver
in dev/isa, crazy MD versions of mcclock made that impossible. So for
now I'm only handling it as an MD driver. Ok garbled@
 1.101 26-Aug-2006  tsutsui branches: 1.101.2;
Remove obsolete #options VERIFIED_EXEC, found by grep(1).
 1.100 12-Aug-2006  christos Disable SYSTRACE by default on all kernels (discussed with core)
 1.99 28-Jun-2006  liamjfoy branches: 1.99.2;
Add CARP to GENERIC kernel configs. CARP is not enabled by default.

ok: christos
 1.98 28-Mar-2006  pavel branches: 1.98.4;
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.97 05-Feb-2006  cube branches: 1.97.2; 1.97.4; 1.97.6;
Remove 'count' argument for pseudo-devices that ignore it
(vnd, bpfilter, ppp, gif, gre, tun, sl, strip, faith, stf).
 1.96 04-Feb-2006  rpaulo bpfilter doesn't accept count anymore.
 1.95 02-Feb-2006  reinoud branches: 1.95.2;
Add commented out UDF file-system entry in all GENERIC configurations.
 1.94 09-Dec-2005  elad branches: 1.94.2; 1.94.4;
Add (commented out) Veriexec options and pseudo-device to GENERIC kernels,
and remove the i386 GENERIC_VERIEXEC config.
 1.93 07-Dec-2005  tsutsui Adjust comments for options FFS_NO_SNAPSHOT.

XXX: This option should be mentioned in options(4).
 1.92 25-Nov-2005  thorpej swcr -> swcrypto
 1.91 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.90 25-Nov-2005  thorpej Add "pseudo-device swcr" (commented out if "pseudo-device crypto" is also
commented out).
 1.89 03-Nov-2005  chs branches: 1.89.2;
turn off DEBUG and DIAGNOSTIC in GENERIC kernels so that they
are compatible with the LKMs that are part of the release.
 1.88 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.87 19-Aug-2005  christos Enable ptyfs by default on the non-install and non small/tiny/ramdisk kernels
 1.86 19-Aug-2005  christos 64 bit inode changes.
 1.85 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.84 07-Jul-2005  tron Add (commented out) IPSEC_NAT_T option.
 1.83 25-Jun-2005  rpaulo branches: 1.83.2;
Add file-system PTYFS (commented out) so that people know its existence.

Ok'ed by Christos Zoulas and Hubert Feyrer.
 1.82 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.81 25-Mar-2005  cube Add attimer(4) configurations everywhere pcppi(4) exists, with the
following rule:
If a pcppi device is enabled for an attachment, enable an attimer for the
same attachement, otherwise comment it.
 1.80 25-Feb-2005  simonb branches: 1.80.2;
Add COMPAT_20 (and COMPAT_16 in some cases) to kernel config files
that didn't have those options but had other earlier compat options.
 1.79 18-Feb-2005  dsl Invert FFS_SNAPSHOT to FFS_NO_SNAPSHOT
 1.78 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.77 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.76 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.75 10-Nov-2004  christos branches: 1.75.4; 1.75.6;
Add COMPAT_BSDPTY to the rest of the config files.
 1.74 15-Jul-2004  atatat Add "options SYSCTL_INCLUDE_DESCR" to a lot of configs, but commented
out in most of them.
 1.73 26-Jun-2004  abs Add (commented out) ALTQ options to all GENERIC-like files
 1.72 22-Jun-2004  itojun have pf and pflog pseudo-device (commented out).
reviewed by matt, perry, christos
 1.71 18-Jun-2004  christos ptm is now mandatory, depends on pty, and can be disabled with -DNO_DEV_PTM
 1.70 16-Jun-2004  christos Add pseudo-device ptm on all the generic flavored kernels.
 1.69 13-Mar-2004  jmc branches: 1.69.2;
Comment out the rest of the opencrypto bits for now; the bebox port does not yet have generic soft interrupts, which the opencrypto software depends on.
 1.68 13-Mar-2004  jmc Comment out opencrypto bits for now; the bebox port does not yet have generic soft interrupts, which the opencrypto software depends on.
 1.67 14-Jan-2004  jonathan 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.66 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.65 08-Oct-2003  bouyer Add atabus.
 1.64 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.63 26-Apr-2003  ragge branches: 1.63.2;
Add pseudo-device ksyms.
 1.62 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.61 22-Nov-2002  wiz Fix typo (responsiness -> responsiveness).
 1.60 19-Oct-2002  junyoung Add NEW_BUFQ_STRATEGY (disabled by default).
 1.59 14-Oct-2002  elric Added commented out cgd(4)s to GENERIC configs.
 1.58 06-Oct-2002  provos add SYSTRACE; approved perry.
 1.57 18-Sep-2002  lukem enable USERCONF by default; it's small and extremely useful to have available.
 1.56 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.55 25-Apr-2002  atatat branches: 1.55.2; 1.55.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.54 18-Apr-2002  wiz Remove opms(4) for bebox (superseded by pms(4)).

Approved by christos.
 1.53 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.52 09-Mar-2002  chs switch all mpc6xx powerpc ports to NEWPMAP by default.
the old pmap is still available with the OLDPMAP option.
 1.51 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.50 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.49 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.48 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.47 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.46 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.45 13-Nov-2001  augustss The wsmux pseudo device does not need a count anymore.
 1.44 12-Sep-2001  manu branches: 1.44.4;
Linux emulation is no longer experimental, removed comment
 1.43 01-Sep-2001  atatat branches: 1.43.2;
Comment out bridge pseudo devices from ports that don't
__HAVE_GENERIC_SOFT_INTERRUPTS. bridge(4) doesn't compile there.
 1.42 01-Sep-2001  atatat Add bridge pseudo devices to GENERIC configs
 1.41 26-Aug-2001  matt Make all powerpc ports use a common Makefile.powerpc (except walnut)
Enforce -Wmissing-prototypes -Wstrict-prototypes for all ppc ports.
Split out macppc cpu support and make common to mpc6xx ports. Make
other mpc6xx ports use it. Add evcnts for mpc6xx traps.
 1.40 08-Jul-2001  abs branches: 1.40.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.39 10-Jun-2001  tsubai Use the new pmap to compile again (sorry).
 1.38 04-Apr-2001  manu Cosmetic change
 1.37 03-Apr-2001  manu Added a comented out COMPAT_LINUX option in GENERIC kernels of PowerPC ports
 1.36 12-Feb-2001  briggs branches: 1.36.2;
Switch from commented-out ncr* at pci? to commented-out siop* at pci?
Add option PCI_NETBSD_CONFIGURE to cause NetBSD to configure the PCI bus.
 1.35 19-Dec-2000  bouyer Add pseudo-device vlan
 1.34 04-Oct-2000  itojun more rnd(4).
 1.33 24-Sep-2000  jdolecek don't specify number of ptys if >= 16 (current default initial number)
pty comments: normalize and g/c what is no longer relevant
 1.32 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.31 27-Jul-2000  mason Moving to a default of 64 PTYs.
 1.30 30-Jun-2000  itojun add PULLDOWN_TEST for all the platforms.
XXX should be moved to somewhere else when stabilized
 1.29 22-Jun-2000  fvdl Remove prefix construction for softdeps. Add SOFTDEP option to GENERIC.
 1.28 14-Jun-2000  veego branches: 1.28.2;
Remove the obsolete config fragments for kernel crypto, because the IPsec
crypto code is now in the kernel source tree.
 1.27 19-Apr-2000  itojun branches: 1.27.2;
add stf pseudo interface (commented out due to possible security risks)
 1.26 22-Mar-2000  cgd add commented out option PCI_CONFIG_DUMP whever there's a PCIVERBOSE.
 1.25 29-Feb-2000  simonb Do the "<space><tab>" thing with the RAID_AUTOCONFIG option.
 1.24 26-Feb-2000  oster Defopt 'RAID_AUTOCONFIG'. Adding 'options RAID_AUTOCONFIG' turns on
the component auto-detection and auto-configuration of RAID sets.
Also, add "#options RAID_AUTOCONFIG" to the GENERIC config files.
 1.23 23-Jan-2000  hubertf Add commented out "ident"-command
 1.22 20-Jan-2000  wrstuden Add overlay to kernel configs.
 1.21 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.20 15-Nov-1999  fvdl Add commented out option SOFTDEP to all GENERIC kernels.
 1.19 29-Jul-1999  augustss branches: 1.19.2; 1.19.8;
Make two wsmux pseudo devices and add mux locators.
 1.18 29-Jul-1999  augustss It's time to be COMPAT_14.
 1.17 23-Jan-1999  drochner branches: 1.17.2; 1.17.4;
second round of mouse renaming: psm->pms
 1.16 25-Nov-1998  hwr Add (commented out) 'gre' pseudo device line. Feedback is welcome.
Inspired by Klaus Klein.
 1.15 18-Nov-1998  sakamoto Support frame buffer console initialized by the BootRom of the BeBox.
 1.14 16-Nov-1998  oster Added a (commented out) configuration line for the RAIDframe device driver.
 1.13 03-Sep-1998  sakamoto Use UVM by default.
 1.12 26-Jun-1998  lukem remove options FIFO; it's now the default
 1.11 09-Jun-1998  sakamoto Add UVM support.
 1.10 28-May-1998  sakamoto Use new PowerPC-generic stuff(sys/arch/powerpc).
 1.9 15-Apr-1998  drochner "spkr" attaches to "pcppi" now.
 1.8 26-Mar-1998  sakamoto Change default console. pc -> wscons
 1.7 18-Mar-1998  bouyer Add commented out "options FFS_EI"
 1.6 03-Feb-1998  sakamoto Remove MD ed,wdc drivers and Support MI ne,wdc drivers.
Change assembler source suffix.
 1.5 19-Jan-1998  sakamoto add com0,com1,com2,com3
comment out wdc0, wd*(temporary)
 1.4 15-Dec-1997  sakamoto support IDE hard disk controllers (wdc) and drives (wd)
put wdc.c into bebox/isa directory temporarily
 1.3 01-Dec-1997  kleink Add COMPAT_13.
 1.2 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.1 14-Oct-1997  sakamoto Initial commit of NetBSD/bebox port.
 1.17.4.1 02-Aug-1999  thorpej Update from trunk.
 1.17.2.1 03-Jun-2000  he Apply patch (requested by he):
Disable the UNION file system, to avoid a repeat of the 1.4.1
and 1.4.2 LAST_MINUTE changes. It is reportedly buggy, and can
be used by ordinary users to crash the system.
 1.19.8.2 27-Dec-1999  wrstuden Pull up to last week's -current.
 1.19.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.19.2.4 21-Apr-2001  bouyer Sync with HEAD
 1.19.2.3 12-Mar-2001  bouyer Sync with HEAD.
 1.19.2.2 05-Jan-2001  bouyer Sync with HEAD
 1.19.2.1 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.27.2.1 22-Jun-2000  minoura Sync w/ netbsd-1-5-base.
 1.28.2.4 01-May-2001  he Pull up revision 1.35 (via patch, requested by he):
Add pseudo-device vlan.
Make sure "rnd is EXPERIMENTAL" comment is removed.
 1.28.2.3 05-Oct-2000  itojun pullup (approved by releng-1-5)
enable rnd(4).

> cvs rdiff -r1.33 -r1.34 syssrc/sys/arch/sun3/conf/GENERIC3X
> cvs rdiff -r1.33 -r1.34 syssrc/sys/arch/bebox/conf/GENERIC
> cvs rdiff -r1.14 -r1.15 syssrc/sys/arch/mvme68k/conf/GENERIC
 1.28.2.2 11-Aug-2000  mason Move to default of 64 PTYs in GENERIC kernel config.
Requested by mason, approved by jhawk.
 1.28.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.36.2.2 21-Jun-2001  nathanw Catch up to -current.
 1.36.2.1 09-Apr-2001  nathanw Catch up with -current.
 1.40.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.40.2.6 06-Sep-2002  jdolecek sync kqueue branch with HEAD
 1.40.2.5 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.40.2.4 16-Mar-2002  jdolecek Catch up with -current.
 1.40.2.3 11-Feb-2002  jdolecek Sync w/ -current.
 1.40.2.2 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.40.2.1 13-Sep-2001  thorpej Update the kqueue branch to HEAD.
 1.43.2.1 01-Oct-2001  fvdl Catch up with -current.
 1.44.4.9 11-Dec-2002  thorpej Sync with HEAD.
 1.44.4.8 11-Nov-2002  nathanw Catch up to -current
 1.44.4.7 18-Oct-2002  nathanw Catch up to -current.
 1.44.4.6 20-Jun-2002  nathanw Catch up to -current.
 1.44.4.5 17-Apr-2002  nathanw Catch up to -current.
 1.44.4.4 01-Apr-2002  nathanw Catch up to -current.
(CVS: It's not just a program. It's an adventure!)
 1.44.4.3 28-Feb-2002  nathanw Catch up to -current.
 1.44.4.2 08-Jan-2002  nathanw Catch up to -current.
 1.44.4.1 12-Sep-2001  nathanw file GENERIC was added on branch nathanw_sa on 2002-01-08 00:23:44 +0000
 1.55.4.1 01-Aug-2002  lukem Pull up revision 1.56 (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.55.2.1 14-Jul-2002  gehenna catch up with -current.
 1.63.2.10 11-Dec-2005  christos Sync with head.
 1.63.2.9 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.63.2.8 01-Apr-2005  skrll Sync with HEAD.
 1.63.2.7 04-Mar-2005  skrll Sync with HEAD.

Hi Perry!
 1.63.2.6 15-Feb-2005  skrll Sync with HEAD.
 1.63.2.5 04-Feb-2005  skrll Sync with HEAD.
 1.63.2.4 14-Nov-2004  skrll Sync with HEAD.
 1.63.2.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.63.2.2 18-Sep-2004  skrll Sync with HEAD.
 1.63.2.1 03-Aug-2004  skrll Sync with HEAD
 1.69.2.2 15-Jul-2004  he Pull up revision 1.74 (requested by atatat in ticket #663):
Add "options SYSCTL_INCLUDE_DESCR" to a lot of configurations,
but commented out in most of them.
 1.69.2.1 30-Jun-2004  jdc Pull up revision 1.73 (requested by abs in ticket #567).

Add (commented out) ALTQ options to all GENERIC-like files
 1.75.6.3 26-Mar-2005  yamt sync with head.
 1.75.6.2 19-Mar-2005  yamt sync with head. xen and whitespace. xen part is not finished.
 1.75.6.1 12-Feb-2005  yamt sync with head.
 1.75.4.1 29-Apr-2005  kent sync with -current
 1.80.2.3 05-Nov-2005  tron 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.80.2.2 14-Aug-2005  riz Pull up revision 1.85 (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.80.2.1 18-Jul-2005  riz Pull up revision 1.84 (requested by tron in ticket #566):
Add (commented out) IPSEC_NAT_T option.
 1.83.2.5 21-Jan-2008  yamt sync with head
 1.83.2.4 27-Oct-2007  yamt sync with head.
 1.83.2.3 03-Sep-2007  yamt sync with head.
 1.83.2.2 30-Dec-2006  yamt sync with head.
 1.83.2.1 21-Jun-2006  yamt sync with head.
 1.89.2.1 29-Nov-2005  yamt sync with head.
 1.94.4.1 09-Sep-2006  rpaulo sync with head
 1.94.2.1 18-Feb-2006  yamt sync with head.
 1.95.2.1 22-Apr-2006  simonb Sync with head.
 1.97.6.1 31-Mar-2006  tron Merge 2006-03-31 NetBSD-current into the "peter-altq" branch.
 1.97.4.1 19-Apr-2006  elad sync with head - hopefully this will work
 1.97.2.3 03-Sep-2006  yamt sync with head.
 1.97.2.2 11-Aug-2006  yamt sync with head
 1.97.2.1 01-Apr-2006  yamt sync with head.
 1.98.4.1 13-Jul-2006  gdamore Merge from HEAD.
 1.99.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.99.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.101.2.1 18-Nov-2006  ad Sync with head.
 1.102.2.2 10-Dec-2006  yamt sync with head.
 1.102.2.1 22-Oct-2006  yamt sync with head
 1.104.18.1 03-Sep-2007  wrstuden Sync w/ NetBSD-4-RC_1
 1.104.16.2 23-Jul-2007  ober Updates to remove pfb, and update cpuattach().
 1.104.16.1 26-Jun-2007  garbled Sync with HEAD.
 1.104.10.1 11-Jul-2007  mjf Sync with head.
 1.104.8.2 23-Oct-2007  ad Sync with head.
 1.104.8.1 09-Jun-2007  ad Sync with head.
 1.104.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.105.14.1 25-Oct-2007  bouyer Sync with HEAD.
 1.105.12.1 18-Oct-2007  yamt sync with head.
 1.105.10.2 09-Jan-2008  matt sync with HEAD
 1.105.10.1 06-Nov-2007  matt sync with HEAD
 1.105.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.106.8.1 02-Jan-2008  bouyer Sync with HEAD
 1.106.2.1 18-Feb-2008  mjf Sync with HEAD.
 1.107.12.3 18-Sep-2008  wrstuden Sync with wrstuden-revivesa-base-2.
 1.107.12.2 24-Jun-2008  wrstuden Hand-merge files that didn't merge right in recent sync w/ current.
 1.107.12.1 23-Jun-2008  wrstuden Sync w/ -current. 34 merge conflicts to follow.
 1.107.10.3 11-Aug-2010  yamt sync with head.
 1.107.10.2 11-Mar-2010  yamt sync with head
 1.107.10.1 04-May-2009  yamt sync with head.
 1.107.8.2 17-Jun-2008  yamt sync with head.
 1.107.8.1 04-Jun-2008  yamt sync with head
 1.107.6.4 17-Jan-2009  mjf Sync with HEAD.
 1.107.6.3 28-Sep-2008  mjf Sync with HEAD.
 1.107.6.2 29-Jun-2008  mjf Sync with HEAD.
 1.107.6.1 02-Jun-2008  mjf Sync with HEAD.
 1.109.2.1 18-Jun-2008  simonb Sync with head.
 1.110.2.2 13-Dec-2008  haad Update haad-dm branch to haad-dm-base2.
 1.110.2.1 19-Oct-2008  haad Sync with HEAD.
 1.112.2.2 03-Mar-2009  skrll Sync with HEAD.
 1.112.2.1 19-Jan-2009  skrll Sync with HEAD.
 1.116.4.3 21-Apr-2011  rmind sync with head
 1.116.4.2 05-Mar-2011  rmind sync with head
 1.116.4.1 30-May-2010  rmind sync with head
 1.116.2.4 06-Nov-2010  uebayasi Sync with HEAD.
 1.116.2.3 22-Oct-2010  uebayasi Sync with HEAD (-D20101022).
 1.116.2.2 17-Aug-2010  uebayasi Sync with HEAD.
 1.116.2.1 30-Apr-2010  uebayasi Sync with HEAD.
 1.125.4.1 08-Feb-2011  bouyer Add QUOTA2 where QUOTA is enabled (and QUOTA2 commented out where QUOTA
is commented out)
 1.125.2.1 06-Jun-2011  jruoho Sync with HEAD.
 1.127.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.127.2.2 30-Oct-2012  yamt sync with head
 1.127.2.1 17-Apr-2012  yamt sync with head
 1.128.2.2 11-Mar-2012  mrg sync to latest -current
 1.128.2.1 18-Feb-2012  mrg merge to -current.
 1.129.2.1 12-Jun-2012  riz Pull up following revision(s) (requested by abs in ticket #311):
sys/arch/netwinder/conf/GENERIC: revision 1.112
sys/arch/i386/conf/GENERIC: revision 1.1074
sys/arch/atari/conf/MILAN.in: revision 1.26
sys/arch/zaurus/conf/GENERIC: revision 1.54
sys/arch/shark/conf/GENERIC: revision 1.101
sys/arch/hpcmips/conf/MPC303: revision 1.60
sys/arch/i386/conf/XEN3_DOM0: revision 1.67
sys/arch/evbarm/conf/MPCSA_GENERIC: revision 1.29
sys/arch/vax/conf/GENERIC: revision 1.181
sys/arch/sparc/conf/KRUPS: revision 1.59
sys/arch/evbarm/conf/BEAGLEBOARD: revision 1.27
sys/arch/i386/conf/INSTALL_FLOPPY: revision 1.16
sys/arch/prep/conf/GENERIC: revision 1.163
sys/arch/hpcmips/conf/GENERIC: revision 1.216
sys/arch/sparc/conf/TADPOLE3GX: revision 1.56
sys/arch/shark/conf/INSTALL: revision 1.50
sys/arch/next68k/conf/GENERIC: revision 1.127
sys/arch/evbppc/conf/VIRTEX_GSRD2: revision 1.16
sys/arch/evbppc/conf/VIRTEX_DFC: revision 1.17
sys/arch/evbppc/conf/EXPLORA451: revision 1.48
sys/arch/bebox/conf/INSTALL: revision 1.54
sys/arch/next68k/conf/SLAB: revision 1.46
sys/arch/i386/conf/GENERIC_TINY: revision 1.132
sys/arch/bebox/conf/GENERIC: revision 1.131
sys/arch/amd64/conf/XEN3_DOM0: revision 1.84
sys/arch/amd64/conf/GENERIC: revision 1.356
sys/arch/evbarm/conf/MMNET_GENERIC: revision 1.6
share/man/man4/wscons.4: revision 1.31
sys/arch/hpcmips/conf/TX3912: revision 1.79
sys/arch/evbarm/conf/ARMADILLO9: revision 1.35
sys/arch/hpcsh/conf/GENERIC: revision 1.97
sys/arch/i386/conf/ALL: revision 1.339
sys/arch/hpcmips/conf/TX3922: revision 1.93
sys/arch/cats/conf/INSTALL: revision 1.82
sys/arch/sparc64/conf/GENERIC: revision 1.151
sys/arch/i386/conf/INSTALL_TINY: revision 1.135
sys/arch/evbppc/conf/VIRTEX_GSRD1: revision 1.15
sys/arch/evbarm/conf/TS7200: revision 1.49
sys/arch/hpcmips/conf/VR41XX: revision 1.55
sys/arch/hp700/conf/GENERIC: revision 1.115
sys/arch/cats/conf/GENERIC: revision 1.140
Mention wsconscfg(8) needs WSDISPLAY_COMPAT_USL
If a port is going to have wscons for virtual terminals then it really make=
s
sense to enable WSDISPLAY_COMPAT_USL so the system can switch between the
virtual terminals...
Adjust the WSDISPLAY_COMPAT_USL comment to mention wsconscfg, to at least
give a hint that its not just for third party compat. No functional change.
 1.131.2.4 03-Dec-2017  jdolecek update from HEAD
 1.131.2.3 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.131.2.2 23-Jun-2013  tls resync from head
 1.131.2.1 20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.139.2.2 18-May-2014  rmind sync with head
 1.139.2.1 28-Aug-2013  rmind sync with head
 1.141.4.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.141.4.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.145.2.4 28-Aug-2017  skrll Sync with HEAD
 1.145.2.3 05-Feb-2017  skrll Sync with HEAD
 1.145.2.2 05-Dec-2016  skrll Sync with HEAD
 1.145.2.1 22-Sep-2015  skrll Sync with HEAD
 1.146.2.2 20-Mar-2017  pgoyette Sync with HEAD
 1.146.2.1 07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.152.2.1 21-Apr-2017  bouyer Sync with HEAD
 1.153.6.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.157.4.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.157.4.1 10-Jun-2019  christos Sync with HEAD
 1.157.2.1 06-Sep-2018  pgoyette Sync with HEAD

Resolve a couple of conflicts (result of the uimin/uimax changes)
 1.160.4.1 25-Jan-2020  ad Sync with head.
 1.164.2.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1 20-Oct-2012  kiyohara branches: 1.1.2; 1.1.4;
Add experimental support GENERIC.MP.
 1.1.4.2 20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.1.4.1 20-Oct-2012  tls file GENERIC.MP was added on branch tls-maxphys on 2012-11-20 03:01:10 +0000
 1.1.2.2 30-Oct-2012  yamt sync with head
 1.1.2.1 20-Oct-2012  yamt file GENERIC.MP was added on branch yamt-pagecache on 2012-10-30 17:19:14 +0000
 1.3 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.2 09-Jul-1999  thorpej branches: 1.2.2; 1.2.8;
Add examples for including the kernel crypto bits from either crypto-us
or crypto-intl, commented out, with instructions to use only one, and
adjust the prefix as necessary.
 1.1 01-Jul-1999  itojun branches: 1.1.2;
kernel configuration for IPv6/IPsec. should be in GENERIC in the future.
(source code will be committed soon)
 1.1.2.3 02-Aug-1999  thorpej Update from trunk.
 1.1.2.2 01-Jul-1999  thorpej Sync w/ -current.
 1.1.2.1 01-Jul-1999  thorpej file GENERIC.v6 was added on branch chs-ubc2 on 1999-07-01 23:06:28 +0000
 1.2.8.1 27-Dec-1999  wrstuden Pull up to last week's -current.
 1.2.2.1 20-Nov-2000  bouyer Remove files that are no longer on the trunck
 1.65 15-Sep-2020  mrg bump bebox and prep image sizes for GCC 9.
 1.64 14-Jul-2018  maxv Remove "options IPKDB", and the other associated options, from the config
files.

ipkdb is being retired. Its code is really old, and hasn't kept pace with
today's expectations: IPv6, SMP, modern NICs. The associated code for x86
was already removed because it was too incorrect to stay.

There are plans to rewrite a similar feature from scratch.

ok kamil christos
 1.63 14-Jul-2018  maxv Remove "options DEBUG_BY_TOOLS", it doesn't exist.
 1.62 14-Sep-2017  mrg branches: 1.62.2; 1.62.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.61 29-Jul-2017  maxv Remove TCP_COMPAT_42 from the config files. Pass 3.
 1.60 19-Feb-2017  rin PR kern/51208
Add DISKLABEL_EI option (and also FFS_EI if missing), commented out except for
ALL on amd64 and i386.
 1.59 13-Dec-2016  christos branches: 1.59.2;
wildcard speaker attachments, now that we can handle many of them.
 1.58 09-Dec-2016  christos kill PCPPISPEAKER
 1.57 08-Dec-2016  nat Add a synthesized pc beeper and keyboard bell for platforms with an audio
device.
 1.56 23-Aug-2014  dholland branches: 1.56.2; 1.56.4;
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.55 27-Apr-2013  christos remove confusing numeric locators where they are unused.
 1.54 05-Jun-2012  abs branches: 1.54.2;
Adjust the WSDISPLAY_COMPAT_USL comment to mention wsconscfg, to at least
give a hint that its not just for third party compat. No functional change.
 1.53 18-Dec-2011  dholland branches: 1.53.2;
WABPL is no longer considered experimental (has not been for some time)
so update its comment in config files.
 1.52 22-Nov-2011  tls branches: 1.52.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.51 23-Nov-2010  hannken branches: 1.51.8;
Remove unused count from pseudo-device md.
 1.50 20-Oct-2010  kiyohara s/BEBOX/BeBox/.
Disable some COMPAT_*-s. And indent.
Disable TMPFS.
Add some options WS*-s.
Add attimer.
Add atapibus and atapi-devices.
Add ukphy.
spkr attached pcppi not pckbd.
 1.49 16-Oct-2010  kiyohara Cleanup INSTALL.
+ Enable must required devices. (HDD, NIC, com, vga, genfb and keyboard)
- Disable optional devices. (mouse, lpt...)
 1.48 16-Apr-2010  pooka Remove unused count (invariably "4") from pseudo-device fss.
 1.47 05-Dec-2009  pooka branches: 1.47.2; 1.47.4;
Remove the portalfs kernel file system driver. Replace mount_portal(8)
with a version based on puffs. User functionality remains the same.
 1.46 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.45 06-Feb-2009  jym Fix some whitespace and indentation. No functional change.
 1.44 31-Jul-2008  simonb branches: 1.44.2;
Add "options WAPBL" to standard GENERIC/INSTALL type configs.
 1.43 30-May-2008  tsutsui branches: 1.43.4;
Add options COMPAT_40 to files which have options COMPAT_30.
 1.42 08-Dec-2007  ober branches: 1.42.12; 1.42.14; 1.42.16; 1.42.18;
Remove pccons as it is gone forever.
 1.41 29-Dec-2006  yamt branches: 1.41.10; 1.41.22; 1.41.24; 1.41.32;
update comments on NFS_V2_ONLY after nqnfs removal. no functional changes.
from Arnaud Lacombe.
 1.40 02-Oct-2006  chs remove MALLOC_NOINLINE, it doesn't do anything anymore.
 1.39 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.38 15-Sep-2006  gdamore branches: 1.38.2;
Convert bebox to MI todr. As part of this, separate out the mc146818
clock handling. Originally reviewed with that committed as an MI driver
in dev/isa, crazy MD versions of mcclock made that impossible. So for
now I'm only handling it as an MD driver. Ok garbled@
 1.37 05-Feb-2006  cube branches: 1.37.14;
Remove 'count' argument for pseudo-devices that ignore it
(vnd, bpfilter, ppp, gif, gre, tun, sl, strip, faith, stf).
 1.36 04-Feb-2006  rpaulo bpfilter doesn't accept count anymore.
 1.35 07-Dec-2005  tsutsui branches: 1.35.2; 1.35.4; 1.35.6;
Remove obsolete options VNODE_OP_NOINLINE.
 1.34 07-Dec-2005  tsutsui Adjust comments for options FFS_NO_SNAPSHOT.

XXX: This option should be mentioned in options(4).
 1.33 19-Aug-2005  christos Enable ptyfs by default on the non-install and non small/tiny/ramdisk kernels
 1.32 19-Aug-2005  christos 64 bit inode changes.
 1.31 25-Feb-2005  simonb branches: 1.31.4;
Add COMPAT_20 (and COMPAT_16 in some cases) to kernel config files
that didn't have those options but had other earlier compat options.
 1.30 18-Feb-2005  dsl 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 10-Nov-2004  christos branches: 1.28.4; 1.28.6;
Add COMPAT_BSDPTY to the rest of the config files.
 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 18-Oct-2003  lukem branches: 1.26.2;
Use one 'atabus* at ata?' instead of multiple 'atabus* at FOOide? channel ?'
Use 'atapibus* at atapi?' instead of 'atapibus* at atabus?'
 1.25 08-Oct-2003  bouyer Add atabus.
 1.24 06-Sep-2003  itojun add rnd(4) device to installation media.
necessary for many purposes, including password seeding, tcp sequence number,
and more. see tech-security
 1.23 18-Sep-2002  lukem branches: 1.23.6;
enable USERCONF by default; it's small and extremely useful to have available.
 1.22 05-Jul-2002  abs Ensure all INSTALL config files consistantly include PIPE_SOCKETPAIR,
MALLOC_NOINLINE, and VNODE_OP_NOINLINE. The exceptions are when they
include another config files that already defines the options, or if
they are for an embedded board, just define a few extra options, and
do not already define PIPE_SOCKETPAIR.
 1.21 25-Apr-2002  atatat branches: 1.21.2;
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 18-Apr-2002  wiz Remove opms(4) for bebox (superseded by pms(4)).

Approved by christos.
 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 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.17 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.16 09-Mar-2002  chs switch all mpc6xx powerpc ports to NEWPMAP by default.
the old pmap is still available with the OLDPMAP option.
 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 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.13 26-Aug-2001  matt branches: 1.13.6;
Make all powerpc ports use a common Makefile.powerpc (except walnut)
Enforce -Wmissing-prototypes -Wstrict-prototypes for all ppc ports.
Split out macppc cpu support and make common to mpc6xx ports. Make
other mpc6xx ports use it. Add evcnts for mpc6xx traps.
 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 07-Jul-2001  tsutsui Remove (commented out) ncr* at pci? lines.
 1.10 10-Jun-2001  tsubai Use the new pmap to compile again (sorry).
 1.9 02-Oct-2000  abs branches: 1.9.2;
Ensure all INSTALL* kernels have two ptys, and a note explaining why:
pseudo-device pty 2 # pseudo-terminals (Sysinst needs two)
(Some installers may not be using sysinst, in which case this just reduces
the number of ptys from 16 that are not used to 2 that are not used)
For i386 conf files, no change other than comments.
 1.8 25-Sep-2000  abs Use "options<SPACE><TAB>" not "options<TAB>" - noted by simonb.
Move VNODE_OP_NOINLINE and NFS_V2_ONLY into '# Filesystem options' section.
Consistently label '# Filesystem options' and '#File systems' sections.
 1.7 25-Sep-2000  abs Ensure all INSTALL config files have (at least) COPTS="-Os", cincluding bebox
based on it working already for macppc.
Also add commented out:
#options VNODE_OP_NOINLINE # Don't inline vnode op calls
#options NFS_V2_ONLY # Exclude NFS3 and NQNFS code
as suggestions for additional savings
 1.6 24-Sep-2000  jdolecek don't specify number of ptys if >= 16 (current default initial number)
pty comments: normalize and g/c what is no longer relevant
 1.5 22-Mar-2000  cgd add commented out option PCI_CONFIG_DUMP whever there's a PCIVERBOSE.
 1.4 29-Jul-1999  augustss branches: 1.4.2;
It's time to be COMPAT_14.
 1.3 28-Sep-1998  sakamoto branches: 1.3.8;
pcvt is no longer used with bebox.
 1.2 26-Jun-1998  lukem remove options FIFO; it's now the default
 1.1 28-May-1998  sakamoto Use new PowerPC-generic stuff(sys/arch/powerpc).
 1.3.8.1 02-Aug-1999  thorpej Update from trunk.
 1.4.2.1 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.9.2.1 21-Jun-2001  nathanw Catch up to -current.
 1.12.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.12.2.6 06-Sep-2002  jdolecek sync kqueue branch with HEAD
 1.12.2.5 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.12.2.4 16-Mar-2002  jdolecek Catch up with -current.
 1.12.2.3 11-Feb-2002  jdolecek Sync w/ -current.
 1.12.2.2 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.12.2.1 13-Sep-2001  thorpej Update the kqueue branch to HEAD.
 1.13.6.8 18-Oct-2002  nathanw Catch up to -current.
 1.13.6.7 01-Aug-2002  nathanw Catch up to -current.
 1.13.6.6 20-Jun-2002  nathanw Catch up to -current.
 1.13.6.5 17-Apr-2002  nathanw Catch up to -current.
 1.13.6.4 01-Apr-2002  nathanw Catch up to -current.
(CVS: It's not just a program. It's an adventure!)
 1.13.6.3 28-Feb-2002  nathanw Catch up to -current.
 1.13.6.2 08-Jan-2002  nathanw Catch up to -current.
 1.13.6.1 26-Aug-2001  nathanw file INSTALL was added on branch nathanw_sa on 2002-01-08 00:23:45 +0000
 1.21.2.1 16-Jul-2002  gehenna catch up with -current.
 1.23.6.8 11-Dec-2005  christos Sync with head.
 1.23.6.7 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.23.6.6 04-Mar-2005  skrll Sync with HEAD.

Hi Perry!
 1.23.6.5 04-Feb-2005  skrll Sync with HEAD.
 1.23.6.4 14-Nov-2004  skrll Sync with HEAD.
 1.23.6.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.23.6.2 18-Sep-2004  skrll Sync with HEAD.
 1.23.6.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.28.6.2 19-Mar-2005  yamt sync with head. xen and whitespace. xen part is not finished.
 1.28.6.1 12-Feb-2005  yamt sync with head.
 1.28.4.1 29-Apr-2005  kent sync with -current
 1.31.4.3 21-Jan-2008  yamt sync with head
 1.31.4.2 30-Dec-2006  yamt sync with head.
 1.31.4.1 21-Jun-2006  yamt sync with head.
 1.35.6.1 22-Apr-2006  simonb Sync with head.
 1.35.4.1 09-Sep-2006  rpaulo sync with head
 1.35.2.1 18-Feb-2006  yamt sync with head.
 1.37.14.2 12-Jan-2007  ad Sync with head.
 1.37.14.1 18-Nov-2006  ad Sync with head.
 1.38.2.1 22-Oct-2006  yamt sync with head
 1.41.32.1 08-Dec-2007  ad Sync with head.
 1.41.24.1 09-Jan-2008  matt sync with HEAD
 1.41.22.1 09-Dec-2007  jmcneill Sync with HEAD.
 1.41.10.1 09-Dec-2007  reinoud Pullup to HEAD
 1.42.18.2 18-Sep-2008  wrstuden Sync with wrstuden-revivesa-base-2.
 1.42.18.1 23-Jun-2008  wrstuden Sync w/ -current. 34 merge conflicts to follow.
 1.42.16.3 11-Aug-2010  yamt sync with head.
 1.42.16.2 11-Mar-2010  yamt sync with head
 1.42.16.1 04-May-2009  yamt sync with head.
 1.42.14.1 04-Jun-2008  yamt sync with head
 1.42.12.2 28-Sep-2008  mjf Sync with HEAD.
 1.42.12.1 02-Jun-2008  mjf Sync with HEAD.
 1.43.4.1 19-Oct-2008  haad Sync with HEAD.
 1.44.2.1 03-Mar-2009  skrll Sync with HEAD.
 1.47.4.2 05-Mar-2011  rmind sync with head
 1.47.4.1 30-May-2010  rmind sync with head
 1.47.2.2 22-Oct-2010  uebayasi Sync with HEAD (-D20101022).
 1.47.2.1 30-Apr-2010  uebayasi Sync with HEAD.
 1.51.8.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.51.8.2 30-Oct-2012  yamt sync with head
 1.51.8.1 17-Apr-2012  yamt sync with head
 1.52.2.1 18-Feb-2012  mrg merge to -current.
 1.53.2.1 12-Jun-2012  riz Pull up following revision(s) (requested by abs in ticket #311):
sys/arch/netwinder/conf/GENERIC: revision 1.112
sys/arch/i386/conf/GENERIC: revision 1.1074
sys/arch/atari/conf/MILAN.in: revision 1.26
sys/arch/zaurus/conf/GENERIC: revision 1.54
sys/arch/shark/conf/GENERIC: revision 1.101
sys/arch/hpcmips/conf/MPC303: revision 1.60
sys/arch/i386/conf/XEN3_DOM0: revision 1.67
sys/arch/evbarm/conf/MPCSA_GENERIC: revision 1.29
sys/arch/vax/conf/GENERIC: revision 1.181
sys/arch/sparc/conf/KRUPS: revision 1.59
sys/arch/evbarm/conf/BEAGLEBOARD: revision 1.27
sys/arch/i386/conf/INSTALL_FLOPPY: revision 1.16
sys/arch/prep/conf/GENERIC: revision 1.163
sys/arch/hpcmips/conf/GENERIC: revision 1.216
sys/arch/sparc/conf/TADPOLE3GX: revision 1.56
sys/arch/shark/conf/INSTALL: revision 1.50
sys/arch/next68k/conf/GENERIC: revision 1.127
sys/arch/evbppc/conf/VIRTEX_GSRD2: revision 1.16
sys/arch/evbppc/conf/VIRTEX_DFC: revision 1.17
sys/arch/evbppc/conf/EXPLORA451: revision 1.48
sys/arch/bebox/conf/INSTALL: revision 1.54
sys/arch/next68k/conf/SLAB: revision 1.46
sys/arch/i386/conf/GENERIC_TINY: revision 1.132
sys/arch/bebox/conf/GENERIC: revision 1.131
sys/arch/amd64/conf/XEN3_DOM0: revision 1.84
sys/arch/amd64/conf/GENERIC: revision 1.356
sys/arch/evbarm/conf/MMNET_GENERIC: revision 1.6
share/man/man4/wscons.4: revision 1.31
sys/arch/hpcmips/conf/TX3912: revision 1.79
sys/arch/evbarm/conf/ARMADILLO9: revision 1.35
sys/arch/hpcsh/conf/GENERIC: revision 1.97
sys/arch/i386/conf/ALL: revision 1.339
sys/arch/hpcmips/conf/TX3922: revision 1.93
sys/arch/cats/conf/INSTALL: revision 1.82
sys/arch/sparc64/conf/GENERIC: revision 1.151
sys/arch/i386/conf/INSTALL_TINY: revision 1.135
sys/arch/evbppc/conf/VIRTEX_GSRD1: revision 1.15
sys/arch/evbarm/conf/TS7200: revision 1.49
sys/arch/hpcmips/conf/VR41XX: revision 1.55
sys/arch/hp700/conf/GENERIC: revision 1.115
sys/arch/cats/conf/GENERIC: revision 1.140
Mention wsconscfg(8) needs WSDISPLAY_COMPAT_USL
If a port is going to have wscons for virtual terminals then it really make=
s
sense to enable WSDISPLAY_COMPAT_USL so the system can switch between the
virtual terminals...
Adjust the WSDISPLAY_COMPAT_USL comment to mention wsconscfg, to at least
give a hint that its not just for third party compat. No functional change.
 1.54.2.2 03-Dec-2017  jdolecek update from HEAD
 1.54.2.1 23-Jun-2013  tls resync from head
 1.56.4.2 20-Mar-2017  pgoyette Sync with HEAD
 1.56.4.1 07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.56.2.2 28-Aug-2017  skrll Sync with HEAD
 1.56.2.1 05-Feb-2017  skrll Sync with HEAD
 1.59.2.1 21-Apr-2017  bouyer Sync with HEAD
 1.62.4.1 10-Jun-2019  christos Sync with HEAD
 1.62.2.1 28-Jul-2018  pgoyette Sync with HEAD
 1.23 26-Aug-2001  matt Make all powerpc ports use a common Makefile.powerpc (except walnut)
Enforce -Wmissing-prototypes -Wstrict-prototypes for all ppc ports.
Split out macppc cpu support and make common to mpc6xx ports. Make
other mpc6xx ports use it. Add evcnts for mpc6xx traps.
 1.22 01-Jun-2001  simonb branches: 1.22.2;
Rename assembly files that are pre-processed by cpp to use an S suffix.
 1.21 29-May-2001  mrg define _KERNEL_OPT as well as _KERNEL. we will use this in the future to
get kernel "opt_foo.h" headers, rather than _KERNEL && !_LKM.
 1.20 17-Dec-2000  jdolecek branches: 1.20.2;
delete obsolete comment
 1.19 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.18 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.17 01-Feb-2000  tsutsui Revert STRIPPROG -> STRIP
 1.16 24-Jan-2000  tron Add "dependall" target for comfort.
 1.15 19-Jan-2000  tsutsui STRIP -> STRIPPROG
 1.14 26-Jul-1999  cgd branches: 1.14.2;
be more efficient when doing the SYSTEM_LD_TAIL for -g kernels: don't
copy them just to strip them, use strip -o.
 1.13 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.12 24-Jun-1999  sakamoto Comment out MKDEP SFILES. bebox dir has only locore.s.
include bsd.own.mk.
 1.11 15-Jan-1999  thorpej branches: 1.11.4;
Some minor, mostly costmetic, changes to CPPFLAGS/CFLAGS.
 1.10 08-Jan-1999  augustss Add -Wpointer-arith warning since `void *' arithmetic is not ANSI C.
 1.9 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.8 05-Sep-1998  lukem distclean is a synonym for cleandir
 1.7 31-May-1998  thorpej Specify a non-profiling C rule.
 1.6 28-May-1998  sakamoto Use new PowerPC-generic stuff(sys/arch/powerpc).
 1.5 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.4 03-Feb-1998  sakamoto Remove MD ed,wdc drivers and Support MI ne,wdc drivers.
Change assembler source suffix.
 1.3 12-Nov-1997  thorpej Make sure CPP, AR, AS, and RANLIB are defined.
 1.2 12-Nov-1997  thorpej Define LORDER, NM, and TSORT here, like we do the rest of the tools.
 1.1 14-Oct-1997  sakamoto branches: 1.1.2;
Initial commit of NetBSD/bebox port.
 1.1.2.1 12-Nov-1997  thorpej Pull up "make sure tools are defined" changes from trunk.
 1.11.4.2 02-Aug-1999  thorpej Update from trunk.
 1.11.4.1 01-Jul-1999  thorpej Sync w/ -current.
 1.14.2.2 05-Jan-2001  bouyer Sync with HEAD
 1.14.2.1 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.20.2.1 21-Jun-2001  nathanw Catch up to -current.
 1.22.2.1 13-Sep-2001  thorpej Update the kqueue branch to HEAD.
 1.57 20-Oct-2012  kiyohara Add experimental support GENERIC.MP.
 1.56 22-Jun-2011  matt branches: 1.56.2; 1.56.12;
Add support pci_intr_setattr.
Export non-inline version of pci api for modules (_MODULE is defined).
Fix definition of pc_conf_hook and pc_conf_interrupt.
Switch to using inlines instead of macros.
Switch ibm4xx to use <powerpc/pci_machdep.h>
 1.55 16-Oct-2010  kiyohara Remove unnecessary 'define pckbcport'.
 1.54 21-Jul-2010  tsutsui Remove obsolete defflag XSERVER.
 1.53 30-May-2008  kiyohara branches: 1.53.18; 1.53.20;
Renewal GENERIC and files.bebox.
 1.52 20-Feb-2008  drochner branches: 1.52.6; 1.52.8; 1.52.10; 1.52.12;
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.51 08-Dec-2007  ober Remove pccons as it is gone forever.
 1.50 03-Dec-2007  ad branches: 1.50.2;
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.49 17-Oct-2007  garbled branches: 1.49.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.48 10-Apr-2007  macallan branches: 1.48.4; 1.48.12; 1.48.14; 1.48.16; 1.48.18;
include files.wsfb
 1.47 15-Sep-2006  gdamore branches: 1.47.6; 1.47.10; 1.47.12; 1.47.14;
Convert bebox to MI todr. As part of this, separate out the mc146818
clock handling. Originally reviewed with that committed as an MI driver
in dev/isa, crazy MD versions of mcclock made that impossible. So for
now I'm only handling it as an MD driver. Ok garbled@
 1.46 11-Dec-2005  christos branches: 1.46.20;
merge ktrace-lwp.
 1.45 30-Aug-2004  drochner branches: 1.45.12;
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.44 08-Jul-2004  drochner don't need md timing functions for joystick anymore
 1.43 25-Mar-2004  wiz Define maxpartitions to the same value as MAXPARTITIONS in disklabel.h.
[Down from 16 to 8, since disklabel.h still says 8.]
Addresses PR 24905 by Simon Burge.
 1.42 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.41 14-Feb-2004  bjh21 Add a new MI attribute, pckbc_machdep_cnattach, and change pckbc_cnattach()
to only call pckbc_machdep_cnattach() if this is present. This allows
pckbc_machdep_cnattach() to be omitted entirely on most ports, where it only
returns ENXIO anyway.

The devices with this attribute at the moment are pc(4) on i386 and bebox, and
pckbc on sparc, where pckbc_machdep_cnattach() mysteriously returns 0 rather
than ENXIO.
 1.40 24-Oct-2003  matt Make this build properly.
 1.39 18-Mar-2003  matt branches: 1.39.2;
Switch/adapt to new bus space infrastructure.
 1.38 05-Mar-2003  matt Remove port-specific procfs_machdep.c (since they are all identical and
a better one resides in powerpc/powerpc/).
 1.37 30-Oct-2002  manu Moved binary compatibility options from arch directory to cpu directory
 1.36 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.35 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.34 18-Apr-2002  wiz branches: 1.34.2;
Remove opms(4) for bebox (superseded by pms(4)).

Approved by christos.
 1.33 16-Apr-2002  thorpej * 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.32 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.31 21-Jan-2002  jdolecek Switch to MI dev/md_root.c for archs which don't have any special
memory disk hooks (i.e. everything except atari).
 1.30 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.29 11-Oct-2001  briggs branches: 1.29.4;
Add include dev/wsfont/files.wsfont
 1.28 26-Aug-2001  matt Make all powerpc ports use a common Makefile.powerpc (except walnut)
Enforce -Wmissing-prototypes -Wstrict-prototypes for all ppc ports.
Split out macppc cpu support and make common to mpc6xx ports. Make
other mpc6xx ports use it. Add evcnts for mpc6xx traps.
 1.27 18-Jun-2001  christos branches: 1.27.2;
Add an e_trapsignal member to struct emul, so that emulated processes can
send the appropriate signal depending on the trap type.
 1.26 12-Jun-2001  tsubai Move "file .../bus_dma.c" line to MD place.
Add options PPC_MPC6XX on missed ports.
XXX I think PPC_OEA is better name.
 1.25 06-Jun-2001  matt Change bebox port to use the include MPC6XX files and the new common bus.h
framework.
 1.24 12-Feb-2001  briggs branches: 1.24.2;
Include MII files.
 1.23 19-Jan-2001  manu Added previously created files for powerpc Linux compatibility to the kernel
config system
 1.22 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.21 08-Nov-2000  ad Pull in dev/i2o/files.i2o.
 1.20 23-Apr-2000  thorpej branches: 1.20.4;
Carve off the ISA configuration bits from the floppy driver. Driver is
still ISA-specific, but we can attach ISA instances with different
configuration mechanisms now.
 1.19 07-Apr-2000  thorpej Use dev/isa/fd.c.
 1.18 14-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.
(Whoops! I missed checking these in when adding the RAID_AUTOCONFIG stuff.)
 1.17 09-Jul-1999  thorpej branches: 1.17.2;
Normalize include paths.
 1.16 22-Jun-1999  sakamoto rename pms to opms.
 1.15 07-Jun-1999  thorpej Only declare block major numbers for devices which can be the root device.
 1.14 18-Nov-1998  sakamoto branches: 1.14.6;
Support frame buffer console initialized by the BootRom of the BeBox.
 1.13 28-Sep-1998  sakamoto pcvt is no longer used with bebox.
 1.12 31-Jul-1998  thorpej ISA PnP goo.
 1.11 28-May-1998  sakamoto branches: 1.11.2;
Use new PowerPC-generic stuff(sys/arch/powerpc).
 1.10 15-Apr-1998  drochner VGA and spkr are now MI.
 1.9 27-Mar-1998  sakamoto allow use of new wscons code.
 1.8 16-Feb-1998  thorpej Remove "class" declarations, and add "devclass" declarations where
appropriate. Fix several inconsistencies between device class and
attributes. Mostly from Chris Demetriou.
 1.7 12-Feb-1998  sakamoto Import memory disk filesystem hook from port-i386.
 1.6 03-Feb-1998  sakamoto Remove MD ed,wdc drivers and Support MI ne,wdc drivers.
Change assembler source suffix.
 1.5 19-Jan-1998  sakamoto Support bootinfo like i386-port.
-define a buffer for information passed by the bootloader
-add a function ("lookup_bootinfo") to extract data
-use passed console information, for console attachment (VGA or SERIAL)
-use passed clock information, for timebase, decremente register
 1.4 12-Jan-1998  thorpej Update for changes to config.
 1.3 05-Jan-1998  perry RCSID Police.
 1.2 27-Nov-1997  sakamoto remove/import software interrupt model and external interrupt handler
from OpenBSD/powerpc.
move bus_space_* from bus_machdep.c to bus.h.
 1.1 14-Oct-1997  sakamoto branches: 1.1.2;
Initial commit of NetBSD/bebox port.
 1.1.2.1 28-Nov-1997  mellon Pull rev 1.2 up from trunk (sakamoto)
 1.11.2.1 08-Aug-1998  eeh Revert cdevsw mmap routines to return int.
 1.14.6.3 02-Aug-1999  thorpej Update from trunk.
 1.14.6.2 01-Jul-1999  thorpej Sync w/ -current.
 1.14.6.1 21-Jun-1999  thorpej Sync w/ -current.
 1.17.2.5 12-Mar-2001  bouyer Sync with HEAD.
 1.17.2.4 11-Feb-2001  bouyer Sync with HEAD.
 1.17.2.3 18-Jan-2001  bouyer Sync with head (for UBC+NFS fixes, mostly).
 1.17.2.2 22-Nov-2000  bouyer Sync with HEAD.
 1.17.2.1 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.20.4.1 25-Oct-2001  he Pull up revision 1.21 (requested by ad):
Add Mylex DACC960, CAC-EISA, and I2O block/SCSI drivers.
 1.24.2.1 21-Jun-2001  nathanw Catch up to -current.
 1.27.2.5 10-Oct-2002  jdolecek sync kqueue with -current; this includes merge of gehenna-devsw branch,
merge of i386 MP branch, and part of autoconf rototil work
 1.27.2.4 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.27.2.3 11-Feb-2002  jdolecek Sync w/ -current.
 1.27.2.2 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.27.2.1 13-Sep-2001  thorpej Update the kqueue branch to HEAD.
 1.29.4.6 11-Nov-2002  nathanw Catch up to -current
 1.29.4.5 17-Sep-2002  nathanw Catch up to -current.
 1.29.4.4 20-Jun-2002  nathanw Catch up to -current.
 1.29.4.3 28-Feb-2002  nathanw Catch up to -current.
 1.29.4.2 08-Jan-2002  nathanw Catch up to -current.
 1.29.4.1 11-Oct-2001  nathanw file files.bebox was added on branch nathanw_sa on 2002-01-08 00:23:46 +0000
 1.34.2.2 17-May-2002  gehenna Remove old block majors list.
 1.34.2.1 16-May-2002  gehenna Include the list of block/character major numbers.
 1.39.2.4 21-Sep-2004  skrll Fix the sync with head I botched.
 1.39.2.3 18-Sep-2004  skrll Sync with HEAD.
 1.39.2.2 03-Sep-2004  skrll Sync with HEAD
 1.39.2.1 03-Aug-2004  skrll Sync with HEAD
 1.45.12.6 27-Feb-2008  yamt sync with head.
 1.45.12.5 21-Jan-2008  yamt sync with head
 1.45.12.4 07-Dec-2007  yamt sync with head
 1.45.12.3 27-Oct-2007  yamt sync with head.
 1.45.12.2 03-Sep-2007  yamt sync with head.
 1.45.12.1 30-Dec-2006  yamt sync with head.
 1.46.20.1 18-Nov-2006  ad Sync with head.
 1.47.14.1 09-Dec-2007  reinoud Pullup to HEAD
 1.47.12.1 11-Jul-2007  mjf Sync with head.
 1.47.10.3 03-Dec-2007  ad Sync with HEAD.
 1.47.10.2 23-Oct-2007  ad Sync with head.
 1.47.10.1 10-Apr-2007  ad Sync with head.
 1.47.6.1 15-Apr-2007  yamt sync with head.
 1.48.18.1 25-Oct-2007  bouyer Sync with HEAD.
 1.48.16.1 18-Oct-2007  yamt sync with head.
 1.48.14.3 23-Mar-2008  matt sync with HEAD
 1.48.14.2 09-Jan-2008  matt sync with HEAD
 1.48.14.1 06-Nov-2007  matt sync with HEAD
 1.48.12.2 09-Dec-2007  jmcneill Sync with HEAD.
 1.48.12.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.48.4.6 08-Aug-2007  ober update to include cpu.c to fix the cpu_ca undef on linking of kernel.
 1.48.4.5 05-Aug-2007  ober Remove isaclock as it is no longer needed.
 1.48.4.4 23-Jul-2007  ober Updates to remove pfb, and update cpuattach().
 1.48.4.3 08-Jul-2007  ober Updates to make use of the common powerpc pci code base.
 1.48.4.2 28-Jun-2007  ober Updates to move Bebox to the powerpc ISA code.
 1.48.4.1 02-May-2007  matt Make bebox build again. Use cpl,astpending,etc. from cpu_info.
Use powerpc generic softintr.
 1.49.2.2 27-Dec-2007  mjf Sync with HEAD.
 1.49.2.1 08-Dec-2007  mjf Sync with HEAD.
 1.50.2.1 08-Dec-2007  ad Sync with head.
 1.52.12.1 23-Jun-2008  wrstuden Sync w/ -current. 34 merge conflicts to follow.
 1.52.10.2 11-Aug-2010  yamt sync with head.
 1.52.10.1 04-May-2009  yamt sync with head.
 1.52.8.1 04-Jun-2008  yamt sync with head
 1.52.6.1 02-Jun-2008  mjf Sync with HEAD.
 1.53.20.1 05-Mar-2011  rmind sync with head
 1.53.18.2 22-Oct-2010  uebayasi Sync with HEAD (-D20101022).
 1.53.18.1 17-Aug-2010  uebayasi Sync with HEAD.
 1.56.12.1 20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.56.2.1 30-Oct-2012  yamt sync with head
 1.8 03-Feb-1998  sakamoto Remove MD ed,wdc drivers and Support MI ne,wdc drivers.
Change assembler source suffix.
 1.7 14-Jan-1998  cgd remove 'ata' interface attribute. it now is define in the MI conf/files.
 1.6 12-Jan-1998  thorpej Update for changes to config.
 1.5 15-Dec-1997  sakamoto support IDE hard disk controllers (wdc) and drives (wd)
put wdc.c into bebox/isa directory temporarily
 1.4 01-Dec-1997  sakamoto use dev/isa/isa.c instead of bebox/isa/isa.c
 1.3 16-Oct-1997  thorpej Garbage-collect definition of "com" driver.
 1.2 16-Oct-1997  sakamoto __VM_PMAP_HACK delete.
if_ed and lpt temporary support.
 1.1 14-Oct-1997  sakamoto Initial commit of NetBSD/bebox port.
 1.32 04-Apr-2020  jdolecek mark nsmb major obsolete
 1.31 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.30 27-Jan-2019  dholland Restore satlink's majors entries commented out and marked obsolete.
Otherwise they might accidentally get reused later and cause a
security problem.
 1.29 27-Jan-2019  maxv Remove the satlink driver. It was disabled everywhere, had no man page and
no use either. Spotted by thorpej in PR/21345, ok christos.
 1.28 19-Dec-2018  maxv Remove compat_svr4 and compat_svr4_32, as discussed on tech-kern@ recently,
but also as discussed several times in the past.
 1.27 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.26 08-Dec-2016  nat branches: 1.26.14; 1.26.16;
Add a synthesized pc beeper and keyboard bell for platforms with an audio
device.
 1.25 30-Jun-2011  wiz branches: 1.25.12; 1.25.30; 1.25.34;
dependant -> dependent
 1.24 17-Oct-2010  kiyohara Add and comment-out obsoleted two devices(mms/lms).
like i386. thanks tsutsui@.
 1.23 16-Oct-2010  kiyohara Add bktr(4). (BeOS seems to have supported BT848. ;)
Remove INSECURE.
Disable options PMS_SYNAPTICS_TOUCHPAD.
Remove mms and lms from majors.bebox.
 1.22 01-Aug-2010  kiyohara Support xserver.
 1.21 12-Nov-2008  ad branches: 1.21.6; 1.21.8;
Remove LKMs and switch to the module framework, pass 1.

Proposed on tech-kern@.
 1.20 31-Dec-2007  ad branches: 1.20.6; 1.20.10; 1.20.16; 1.20.18;
Remove systrace. Ok core@.
 1.19 09-Jan-2007  cube branches: 1.19.24; 1.19.30; 1.19.36;
Remove traces of scd(4), which apparently never actually had a driver in
the tree.
 1.18 24-Nov-2006  wiz s/independant/independent/, from Zafer.
 1.17 11-Dec-2005  christos branches: 1.17.20; 1.17.22;
merge ktrace-lwp.
 1.16 17-Sep-2005  yamt make VMSWAP optional again.
 1.15 31-Jul-2005  yamt revert "defflag VMSWAP" changes for now.
there seems to be far more people who don't want to edit
their kernel config files than i thought.
 1.14 30-Jul-2005  yamt defflag VMSWAP.
 1.13 10-May-2005  jdolecek branches: 1.13.2;
assign major for nsmb(4)
 1.12 10-Dec-2003  jmc Change reference at bottom from sys/dev/majors to sys/conf/majors to match
reality
 1.11 24-Oct-2003  jdolecek add major for 'ses' for archs which have the other scsi devices
 1.10 22-Oct-2003  jdolecek add wsfont major to archs which have the other wscons devices
 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.bebox 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.bebox was added on branch nathanw_sa on 2002-09-17 21:13:53 +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.bebox was added on branch kqueue on 2002-10-10 18:32:08 +0000
 1.4.2.4 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.4.2.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.4.2.2 18-Sep-2004  skrll Sync with HEAD.
 1.4.2.1 03-Aug-2004  skrll Sync with HEAD
 1.13.2.4 21-Jan-2008  yamt sync with head
 1.13.2.3 26-Feb-2007  yamt sync with head.
 1.13.2.2 30-Dec-2006  yamt sync with head.
 1.13.2.1 21-Jun-2006  yamt sync with head.
 1.17.22.1 10-Dec-2006  yamt sync with head.
 1.17.20.1 12-Jan-2007  ad Sync with head.
 1.19.36.1 02-Jan-2008  bouyer Sync with HEAD
 1.19.30.1 18-Feb-2008  mjf Sync with HEAD.
 1.19.24.1 09-Jan-2008  matt sync with HEAD
 1.20.18.1 19-Jan-2009  skrll Sync with HEAD.
 1.20.16.1 13-Dec-2008  haad Update haad-dm branch to haad-dm-base2.
 1.20.10.2 11-Aug-2010  yamt sync with head.
 1.20.10.1 04-May-2009  yamt sync with head.
 1.20.6.1 17-Jan-2009  mjf Sync with HEAD.
 1.21.8.1 05-Mar-2011  rmind sync with head
 1.21.6.2 22-Oct-2010  uebayasi Sync with HEAD (-D20101022).
 1.21.6.1 17-Aug-2010  uebayasi Sync with HEAD.
 1.25.34.1 07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.25.30.1 05-Feb-2017  skrll Sync with HEAD
 1.25.12.1 03-Dec-2017  jdolecek update from HEAD
 1.26.16.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.26.16.1 10-Jun-2019  christos Sync with HEAD
 1.26.14.2 26-Dec-2018  pgoyette Sync with HEAD, resolve a few conflicts
 1.26.14.1 30-Sep-2018  pgoyette Ssync with HEAD
 1.17 20-Oct-2010  kiyohara Move PCI_NETBSD_CONFIGURE to std.bebox. It is MUST REQUIRED.
 1.16 16-Mar-2008  kiyohara branches: 1.16.24; 1.16.26;
Remove TEXTADDR. We start to 0x100000.
 1.15 08-Feb-2008  kiyohara branches: 1.15.2; 1.15.6;
Fix some bugs since ppcoea-renovation.
It status is reach asking boot device now.
 1.14 11-Dec-2005  christos branches: 1.14.50; 1.14.56;
merge ktrace-lwp.
 1.13 17-Sep-2005  yamt include "conf/std".
 1.12 12-Aug-2003  matt branches: 1.12.16;
Remove SPILLSTK leftovers.
 1.11 03-Feb-2003  matt branches: 1.11.2;
Rename PPC_MPC6XX to PPC_OEA (and any mpc6xx reference to oea).
 1.10 02-Feb-2003  matt Perform a rototill of the powerpc code. Mandate use of SPRG0 to store
a pointer to current cpu's cpu_info structure. Use cpu_info for
intstk,intr_depth,still_stk,idle_pcb,curpcb,curlwp,etal even on
non-MULTIPROCESSOR machines. Add common macros GET_CPUINFO and
INIT_CPUINFO to get and initialize the cpu_info struct on startup. Make
ibm4xx use the standard <powerpc/frame.h>. Use IFRAME_xx in ibm4xx
trap_subr.S instead of explicit magic offsets. Move INTSTK and SPILLSTK
to std.<platform>. Change faultbuf to a struct instead of an array.

On MPC6XX cpus, stop using the vector page for temporary space and use
reserved space in cpu_info.
 1.9 18-Apr-2002  matt Use a common genassym.cf for all the PPC_MPC6XX ports. Add a makeoptions to
std.foo to indicate the directory to get genassym.cf from. Add an intrframe
to <powerpc/frame.h> and make trap_subr.S use symbolic offsets into it.
 1.8 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.7 26-Aug-2001  matt branches: 1.7.6;
Make all powerpc ports use a common Makefile.powerpc (except walnut)
Enforce -Wmissing-prototypes -Wstrict-prototypes for all ppc ports.
Split out macppc cpu support and make common to mpc6xx ports. Make
other mpc6xx ports use it. Add evcnts for mpc6xx traps.
 1.6 06-Jun-2001  matt branches: 1.6.2;
Change bebox port to use the include MPC6XX files and the new common bus.h
framework.
 1.5 22-Jun-2000  fvdl branches: 1.5.2;
Remove prefix construction for softdeps. Add SOFTDEP option to GENERIC.
 1.4 15-Nov-1999  fvdl branches: 1.4.4;
Add

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

to all std.* files, so that soft dependencies can be activated using
"options SOFTDEP".
 1.3 24-Mar-1999  mrg branches: 1.3.8; 1.3.14;
clean up kernel/config files files for machVM lossage.
 1.2 03-Sep-1998  sakamoto Use UVM by default.
 1.1 28-May-1998  sakamoto Use new PowerPC-generic stuff(sys/arch/powerpc).
 1.3.14.1 27-Dec-1999  wrstuden Pull up to last week's -current.
 1.3.8.1 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.4.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.5.2.1 21-Jun-2001  nathanw Catch up to -current.
 1.6.2.3 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.6.2.2 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.6.2.1 13-Sep-2001  thorpej Update the kqueue branch to HEAD.
 1.7.6.3 20-Jun-2002  nathanw Catch up to -current.
 1.7.6.2 08-Jan-2002  nathanw Catch up to -current.
 1.7.6.1 26-Aug-2001  nathanw file std.bebox was added on branch nathanw_sa on 2002-01-08 00:23:46 +0000
 1.11.2.4 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 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.16.3 17-Mar-2008  yamt sync with head.
 1.12.16.2 11-Feb-2008  yamt sync with head.
 1.12.16.1 21-Jun-2006  yamt sync with head.
 1.14.56.1 18-Feb-2008  mjf Sync with HEAD.
 1.14.50.1 23-Mar-2008  matt sync with HEAD
 1.15.6.1 03-Apr-2008  mjf Sync with HEAD.
 1.15.2.1 24-Mar-2008  keiichi sync with head.
 1.16.26.1 05-Mar-2011  rmind sync with head
 1.16.24.1 22-Oct-2010  uebayasi Sync with HEAD (-D20101022).
 1.26 21-Dec-2015  christos Add mips fenv.h (From FreeBSD)
 1.25 23-Jul-2014  alnsn branches: 1.25.4;
Rename sljitarch.h to sljit_machdep.h.
 1.24 17-Nov-2013  alnsn branches: 1.24.2;
Enable sljit and bpfjit on powerpc.
 1.23 09-Aug-2011  kiyohara branches: 1.23.2; 1.23.12; 1.23.16;
Fix build failed. mouse.h and pccons.h already removed.
 1.22 11-Dec-2005  christos merge ktrace-lwp.
 1.21 24-Oct-2003  matt Make this build properly.
 1.20 20-Oct-2003  matt Reorganize the way powerpc port install machine specific headers.
Use <powerpc/oea/bat.h> exclusively and remove <machine/bat.h> and
<powerpc/bat.h>. Remove unneeded <machine/cpufunc.h>. To insure
1:1 correspondence of <powerpc/FOO.h> to <machine/FOO.h> include
"../../powerpc/include/Makefile" in "arch/FOO/include/Makefile".
Incororpate <byte_swap.h> into <bswap.h> and then byte_swap.h
 1.19 17-Jan-2003  thorpej branches: 1.19.2;
Merge the nathanw_sa branch.
 1.18 26-Nov-2002  lukem Remove KDIR=, since SYS_INCLUDE=symlinks and KDIR are not supported any more.
 1.17 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.16 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.15 03-Apr-2002  bjh21 branches: 1.15.2;
<bebox/pte.h> has gone too.
 1.14 03-Apr-2002  bjh21 <bebox/bat.h> has been removed.
 1.13 03-May-2001  soren branches: 1.13.2; 1.13.8;
PPC machine type tags haven't been used for a while.
 1.12 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.11 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.10 14-Apr-2001  kleink Add definitions of C99 integer constant macros.
Tidy Makefiles up a little.
 1.9 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.8 26-Jun-2000  kleink branches: 1.8.2;
Add <machine/int_types.h>, which provides namespace-pure definitions
of exact-width integer types.
 1.7 29-Apr-2000  thorpej Require that each each MACHINE/MACHINE_ARCH supply a lock.h. This file
contains the values __SIMPLELOCK_LOCKED and __SIMPLELOCK_UNLOCKED, which
replace the old SIMPLELOCK_LOCKED and SIMPLELOCK_UNLOCKED. These files
are also required to supply inline functions __cpu_simple_lock(),
__cpu_simple_lock_try(), and __cpu_simple_unlock() if locking is to be
supported on that platform (i.e. if MULTIPROCESSOR is defined in the
_KERNEL case). Change these functions to take an int * (&alp->lock_data)
rather than the struct simplelock * itself.

These changes make it possible for userland to use the locking primitives
by including <machine/lock.h>.
 1.6 17-Mar-2000  tron Install "machineendian_machdep.h".
 1.5 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.4 28-Jun-1999  sakamoto branches: 1.4.2;
remove display.h
 1.3 15-Jan-1999  bouyer branches: 1.3.4;
Move the bswap functions from libutil to libc (this bups the
minor of libc and the major of libutil). For little-endian architectures
merge the bnswap() assembly versions with nto* and hton* using symbols
aliasing. Use symbol renaming for the bswap function in this case to avoid
namespace pollution.
Declare bswap* in machine/bswap.h, not machine/endian.h. For little-endian
machines, common code for inline macros go in machine/byte_swap.h
Sync libkern with libc.
Adjust #include in kernel sources for machine/bswap.h.
 1.2 04-Dec-1998  sakamoto Not used.
 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.3.4.1 01-Jul-1999  thorpej Sync w/ -current.
 1.4.2.2 21-Apr-2001  bouyer Sync with HEAD
 1.4.2.1 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.8.2.1 21-Jun-2001  nathanw Catch up to -current.
 1.13.8.6 11-Dec-2002  thorpej Sync with HEAD.
 1.13.8.5 17-Sep-2002  nathanw Catch up to -current.
 1.13.8.4 13-Aug-2002  nathanw Catch up to -current.
 1.13.8.3 17-Apr-2002  nathanw Catch up to -current.
 1.13.8.2 05-Nov-2001  briggs Initial SA support for ppc. Test-booted on sandpoint, macppc, & walnut.
mcontext and cpu_getmcontext()/cpu_setmcontext() from Klaus Klein
<kleink@netbsd.org>.
 1.13.8.1 03-May-2001  briggs file Makefile was added on branch nathanw_sa on 2001-11-05 19:46:13 +0000
 1.13.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.13.2.2 06-Sep-2002  jdolecek sync kqueue branch with HEAD
 1.13.2.1 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.15.2.2 30-Aug-2002  gehenna catch up with -current.
 1.15.2.1 19-May-2002  gehenna Remove port-dependent conf.h.
 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.23.16.1 18-May-2014  rmind sync with head
 1.23.12.2 03-Dec-2017  jdolecek update from HEAD
 1.23.12.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.23.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.24.2.1 10-Aug-2014  tls Rebase.
 1.25.4.1 27-Dec-2015  skrll Sync with HEAD (as of 26th Dec)
 1.6 28-May-1998  sakamoto Use new PowerPC-generic stuff(sys/arch/powerpc).
 1.5 27-Apr-1998  kleink Provide definitions for intptr_t and uintptr_t, signed resp. unsigned integral
types large enough to hold any pointer.
 1.4 12-Feb-1998  sakamoto Sync with powerpc/include/ansi.h
 1.3 27-Nov-1997  sakamoto remove/import software interrupt model and external interrupt handler
from OpenBSD/powerpc.
move bus_space_* from bus_machdep.c to bus.h.
 1.2 23-Nov-1997  kleink Add _BSD_SUSECONDS_T_ and _BSD_USECONDS_T_; do some space vs. tab formatting
cleanup
 1.1 14-Oct-1997  sakamoto branches: 1.1.2;
Initial commit of NetBSD/bebox port.
 1.1.2.1 28-Nov-1997  mellon Pull rev 1.2 and 1.3 up from trunk (sakamoto)
 1.2 28-May-1998  sakamoto Use new PowerPC-generic stuff(sys/arch/powerpc).
 1.1 14-Oct-1997  sakamoto Initial commit of NetBSD/bebox port.
 1.2 28-May-1998  sakamoto Use new PowerPC-generic stuff(sys/arch/powerpc).
 1.1 14-Oct-1997  sakamoto Initial commit of NetBSD/bebox port.
 1.3 05-Jun-2011  matt Remove <machine/atomic.h>; use <sys/atomic.h> instead.
Add <powerpc/cpuset.h> (for mpc85xx pmap).
Add some initial MP code for mpc85xx
Rework ipi code to be common across all ppcs
Change PPC to keep curlwp in %r13 while in the kernel.
Move astpending from cpu_info to mdlwp
Improve cpu_need_resched to be more MP friendly.
 1.2 11-Dec-2005  christos branches: 1.2.100; 1.2.106; 1.2.110;
merge ktrace-lwp.
 1.1 20-Oct-2003  matt branches: 1.1.4;
Reorganize the way powerpc port install machine specific headers.
Use <powerpc/oea/bat.h> exclusively and remove <machine/bat.h> and
<powerpc/bat.h>. Remove unneeded <machine/cpufunc.h>. To insure
1:1 correspondence of <powerpc/FOO.h> to <machine/FOO.h> include
"../../powerpc/include/Makefile" in "arch/FOO/include/Makefile".
Incororpate <byte_swap.h> into <bswap.h> and then byte_swap.h
 1.1.4.4 21-Sep-2004  skrll Fix the sync with head I botched.
 1.1.4.3 18-Sep-2004  skrll Sync with HEAD.
 1.1.4.2 03-Aug-2004  skrll Sync with HEAD
 1.1.4.1 20-Oct-2003  skrll file atomic.h was added on branch ktrace-lwp on 2004-08-03 10:33:36 +0000
 1.2.110.1 23-Jun-2011  cherry Catchup with rmind-uvmplock merge.
 1.2.106.1 06-Jun-2011  jruoho Sync with HEAD.
 1.2.100.1 12-Jun-2011  rmind sync with head
 1.4 30-Jun-2011  matt Modify mapiodev to take a third argument indicating whether the space
should be prefetchable (true) or not (false).
 1.3 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.2 05-Jul-2002  matt branches: 1.2.22; 1.2.64; 1.2.72; 1.2.82; 1.2.84; 1.2.86; 1.2.88;
Peform a rototill over the powerpc-based ports.

Move the trap/vector initialization for MPC6xx ports to mpc6xx_machdep.c
Also move softnet, install_extintr, mapiodev, kvtop. Add common BAT
initialization code.

Add user Altivec support.

Fix calls to OF_call_method in macppc/macppc/machdep.c.

Use ci_fpuproc in cpu_info instead of separate fpuproc.

Add separate syscall.c and defined __HAVE_SYSCALL_INTERN.
 1.1 26-Aug-2001  matt branches: 1.1.4; 1.1.8; 1.1.16;
Make all powerpc ports use a common Makefile.powerpc (except walnut)
Enforce -Wmissing-prototypes -Wstrict-prototypes for all ppc ports.
Split out macppc cpu support and make common to mpc6xx ports. Make
other mpc6xx ports use it. Add evcnts for mpc6xx traps.
 1.1.16.1 16-Jul-2002  gehenna catch up with -current.
 1.1.8.2 01-Aug-2002  nathanw Catch up to -current.
 1.1.8.1 26-Aug-2001  nathanw file autoconf.h was added on branch nathanw_sa on 2002-08-01 02:41:25 +0000
 1.1.4.3 06-Sep-2002  jdolecek sync kqueue branch with HEAD
 1.1.4.2 13-Sep-2001  thorpej Update the kqueue branch to HEAD.
 1.1.4.1 26-Aug-2001  thorpej file autoconf.h was added on branch kqueue on 2001-09-13 01:13:28 +0000
 1.2.88.1 25-Oct-2007  bouyer Sync with HEAD.
 1.2.86.1 18-Oct-2007  yamt sync with head.
 1.2.84.1 06-Nov-2007  matt sync with HEAD
 1.2.82.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.2.72.2 08-Jul-2007  ober More cleanups of intr.h and headers.
 1.2.72.1 28-Jun-2007  ober Updates to move Bebox to the powerpc ISA code.
 1.2.64.1 23-Oct-2007  ad Sync with head.
 1.2.22.1 27-Oct-2007  yamt sync with head.
 1.3 06-Jun-2001  matt Change bebox port to use the include MPC6XX files and the new common bus.h
framework.
 1.2 28-May-1998  sakamoto Use new PowerPC-generic stuff(sys/arch/powerpc).
 1.1 14-Oct-1997  sakamoto Initial commit of NetBSD/bebox port.
 1.2 20-Oct-2012  kiyohara Cleanup macros of access for bebox-register.
 1.1 07-Aug-2011  kiyohara branches: 1.1.2; 1.1.12;
Use BEBOX_REG for mapped to BAT instead of bebox_mb_reg.
 1.1.12.1 20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.1.2.1 30-Oct-2012  yamt sync with head
 1.6 27-Oct-2010  kiyohara Add macro BTINFO_ROOTDEVICE and struct btinfo_rootdevice.
And indent.
 1.5 14-Mar-2009  dsl branches: 1.5.2; 1.5.4;
Remove all the __P() from sys (excluding sys/dist)
Diff checked with grep and MK1 eyeball.
i386 and amd64 GENERIC and sys still build.
 1.4 11-Dec-2005  christos branches: 1.4.78; 1.4.86; 1.4.92;
merge ktrace-lwp.
 1.3 24-Mar-2004  drochner remove license clauses 3 and 4 from my cpoyright notices
 1.2 19-Jan-1998  sakamoto branches: 1.2.48;
Add btinfo_clock for BUS FREQ information.
some fix.
 1.1 16-Jan-1998  sakamoto Data structures passed from the boot loader to the kernel
 1.2.48.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.2.48.2 18-Sep-2004  skrll Sync with HEAD.
 1.2.48.1 03-Aug-2004  skrll Sync with HEAD
 1.4.92.1 13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.4.86.1 28-Apr-2009  skrll Sync with HEAD.
 1.4.78.1 04-May-2009  yamt sync with head.
 1.5.4.1 05-Mar-2011  rmind sync with head
 1.5.2.1 06-Nov-2010  uebayasi Sync with HEAD.
 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.32 17-Jul-2011  dyoung Switch more PowerPC ports having PCI support to new-style <sys/bus.h>.
 1.31 28-Apr-2008  martin Remove clause 3 and 4 from TNF licenses
 1.30 17-Oct-2007  garbled branches: 1.30.16; 1.30.18; 1.30.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.29 11-Dec-2005  christos branches: 1.29.30; 1.29.38; 1.29.48; 1.29.50; 1.29.52; 1.29.54;
merge ktrace-lwp.
 1.28 28-Jul-2003  scw branches: 1.28.16;
Make these build with recent tweaks to powerpc's bus_space(9) by moving
the inclusion of <powerpc/bus.h> to *after* the definitions of
PHYS_TO_BUS_MEM() and BUS_MEM_TO_PHYS().
 1.27 18-Mar-2003  matt branches: 1.27.2;
Switch/adapt to new bus space infrastructure.
 1.26 06-Mar-2003  matt Make most of PPC (OEA) bus_space's identical (or as identical as possible).
(except mvmeppc).
 1.25 26-Aug-2001  matt branches: 1.25.6;
Make all powerpc ports use a common Makefile.powerpc (except walnut)
Enforce -Wmissing-prototypes -Wstrict-prototypes for all ppc ports.
Split out macppc cpu support and make common to mpc6xx ports. Make
other mpc6xx ports use it. Add evcnts for mpc6xx traps.
 1.24 06-Jun-2001  matt branches: 1.24.2;
Change bebox port to use the include MPC6XX files and the new common bus.h
framework.
 1.23 07-Mar-2001  thorpej Add the BUS_DMA_STREAMING flag.
 1.22 06-Feb-2001  briggs branches: 1.22.2;
Pointer to documentation for PHYS_TO_PCI_MEM/PCI_MEM_TO_PHYS.
 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 25-Jan-2000  drochner branches: 1.20.4;
define a "BUS_SPACE_MAP_PREFETCHABLE" flag which basically means that
device accesses are idempotent (but should not be cached by the CPU)
 1.19 18-Jun-1999  cgd branches: 1.19.2;
nuke current definitions provided by __BUS_SPACE_COMPAT_OLDDEFS.
I'll do what I can to make new ones soon. 8-)
 1.18 23-Mar-1999  drochner branches: 1.18.4;
Add a macro to check for sufficient pointer alignment in bus.h context,
"BUS_SPACE_ALIGNED_POINTER()".
Equal to the param.h "ALIGNED_POINTER()" normally, but obeys additional
requirements of the bus_space_xxx_n() macros. (BUS_SPACE_DEBUG)
 1.17 03-Oct-1998  thorpej Add a private bounce threshold to the DMA map, initialized in a bus-dependent
fashion.
 1.16 01-Sep-1998  sakamoto Sync with i386/include/bus.h.
 1.15 24-Aug-1998  sakamoto vm_offset_t --> [pv]addr_t.
 1.14 09-Jun-1998  sakamoto add address conversion macro for MPC105 and some fix.
 1.13 03-Jun-1998  thorpej Remove the _cookie member of the DMA tag; it's not used by anything. (This
was already done to the i386 port.)
 1.12 03-Jun-1998  thorpej Sync w/ i386 port:

Add a `bounce threshold' to the i386 DMA tag.
 1.11 26-Mar-1998  sakamoto Add bus_space_copy_region_N().
 1.10 04-Feb-1998  sakamoto Change "__BUS_SPACE_NEED_STREAM_METHODS" to "__BUS_SPACE_HAS_STREAM_METHODS".
 1.9 04-Feb-1998  thorpej Add offset and length parameters to bus_dmamap_sync(), used for specifiying
partial syncs of a DMA mapping.
 1.8 04-Feb-1998  thorpej Change the last argument of bus_dmamap_sync() from bus_dmasync_op_t to int,
and allow more than one synchronization operation to be specified in
a single call. Dissallow mixing of PRE and POST operations.
 1.7 04-Feb-1998  thorpej Add dm_mapsize to bus_dmamap_t and rename BUS_DMAMEM_NOSYNC to
BUS_DMA_COHERENT.
 1.6 03-Feb-1998  sakamoto Correct copyright notice.
 1.5 03-Feb-1998  sakamoto Add bus_space_{read,write,set}_{,multi,region}_stream_{2,4,8}().
These methods would be used where "raw" data needs to
{read,write,set} unchanged.
Add define __BUS_SPACE_NEED_STREAM_METHODS.
 1.4 12-Dec-1997  sakamoto add bus_space_{read,write}_multi_N macros
some fix.
 1.3 01-Dec-1997  sakamoto add bus_space_subregion macro.
 1.2 27-Nov-1997  sakamoto remove/import software interrupt model and external interrupt handler
from OpenBSD/powerpc.
move bus_space_* from bus_machdep.c to bus.h.
 1.1 14-Oct-1997  sakamoto branches: 1.1.2;
Initial commit of NetBSD/bebox port.
 1.1.2.1 28-Nov-1997  mellon Pull rev 1.2 up from trunk (sakamoto)
 1.18.4.1 21-Jun-1999  thorpej Sync w/ -current.
 1.19.2.3 12-Mar-2001  bouyer Sync with HEAD.
 1.19.2.2 11-Feb-2001  bouyer Sync with HEAD.
 1.19.2.1 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.20.4.1 30-Jun-2000  simonb Pull up mmap paddr_t/off_t changes from trunk.
 1.22.2.2 21-Jun-2001  nathanw Catch up to -current.
 1.22.2.1 09-Apr-2001  nathanw Catch up with -current.
 1.24.2.1 13-Sep-2001  thorpej Update the kqueue branch to HEAD.
 1.25.6.2 26-Aug-2001  matt Make all powerpc ports use a common Makefile.powerpc (except walnut)
Enforce -Wmissing-prototypes -Wstrict-prototypes for all ppc ports.
Split out macppc cpu support and make common to mpc6xx ports. Make
other mpc6xx ports use it. Add evcnts for mpc6xx traps.
 1.25.6.1 26-Aug-2001  matt file bus.h was added on branch nathanw_sa on 2001-08-26 02:47:37 +0000
 1.27.2.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.27.2.2 18-Sep-2004  skrll Sync with HEAD.
 1.27.2.1 03-Aug-2004  skrll Sync with HEAD
 1.28.16.1 27-Oct-2007  yamt sync with head.
 1.29.54.1 25-Oct-2007  bouyer Sync with HEAD.
 1.29.52.1 18-Oct-2007  yamt sync with head.
 1.29.50.1 06-Nov-2007  matt sync with HEAD
 1.29.48.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.29.38.2 08-Jul-2007  ober More cleanups of intr.h and headers.
 1.29.38.1 28-Jun-2007  ober Updates to move Bebox to the powerpc ISA code.
 1.29.30.1 23-Oct-2007  ad Sync with head.
 1.30.20.1 16-May-2008  yamt sync with head.
 1.30.18.1 18-May-2008  yamt sync with head.
 1.30.16.1 02-Jun-2008  mjf Sync with HEAD.
 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.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.4 28-May-1998  sakamoto Use new PowerPC-generic stuff(sys/arch/powerpc).
 1.3 04-Nov-1997  thorpej Bug fixes and cleanup from Chris Demetriou <cgd@pa.dec.com>:
- fix _C_LABEL so that it actually works.
- make __RENAME use _C_LABEL.
- fix __RENAME so that it expects an unquoted argument.
- fix __indr_reference and __warn_references so that they
supply their own final semicolon.
- define __warn_references to nothing if not GNU C (required
by the way it's used).

The __warn_references semicolon change has to be made
so that __warn_references can be defined into nothing.
(A ; all by itself isn't a great idea.) The __indr_reference
change was made for consistency.
 1.2 22-Oct-1997  thorpej Implement __RENAME() in <machine/cdefs.h>
 1.1 14-Oct-1997  sakamoto branches: 1.1.2;
Initial commit of NetBSD/bebox port.
 1.1.2.2 04-Nov-1997  thorpej Pull up from trunk: bug fixes and cleaups.
 1.1.2.1 22-Oct-1997  thorpej Pull up from trunk: Implement __RENAME() in <machine/cdefs.h>
 1.7 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.6 18-Apr-2002  wiz branches: 1.6.2;
Remove opms(4) for bebox (superseded by pms(4)).

Approved by christos.
 1.5 27-Feb-2002  christos - define other DEV_ constants that the local port uses.
- delete cdev_decl(mm) since <sys/conf.h> does it.
 1.4 21-Mar-2001  lukem branches: 1.4.2; 1.4.8;
now that duplicated stuff has been moved to sys/conf.h, remove unnecessary
defs for: lpt, joy, pc
 1.3 05-Sep-1998  christos branches: 1.3.12; 1.3.24;
Assign copyright to TNF.
 1.2 15-Apr-1998  drochner spkr stuff is now in sys/conf.h
 1.1 14-Oct-1997  sakamoto Initial commit of NetBSD/bebox port.
 1.3.24.1 09-Apr-2001  nathanw Catch up with -current.
 1.3.12.1 27-Mar-2001  bouyer Sync with HEAD.
 1.4.8.4 17-Sep-2002  nathanw Catch up to -current.
 1.4.8.3 20-Jun-2002  nathanw Catch up to -current.
 1.4.8.2 28-Feb-2002  nathanw Catch up to -current.
 1.4.8.1 21-Mar-2001  nathanw file conf.h was added on branch nathanw_sa on 2002-02-28 04:08:37 +0000
 1.4.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.4.2.2 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.4.2.1 16-Mar-2002  jdolecek Catch up with -current.
 1.6.2.1 19-May-2002  gehenna Remove port-dependent conf.h.
 1.15 29-Oct-2012  rkujawa Include bebox.h only in kernel. Make bebox port build again.
 1.14 20-Oct-2012  kiyohara Add experimental support GENERIC.MP.
 1.13 20-Jun-2011  matt branches: 1.13.2; 1.13.12;
Don't expose port-specific if _MODULE is defined.
Don't _MACHINE_CPU_H_, _<PORT>_CPU_H_
 1.12 17-Oct-2007  garbled branches: 1.12.52;
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 26-Aug-2001  matt branches: 1.11.6; 1.11.38; 1.11.80; 1.11.88; 1.11.98; 1.11.100; 1.11.102; 1.11.104;
Make all powerpc ports use a common Makefile.powerpc (except walnut)
Enforce -Wmissing-prototypes -Wstrict-prototypes for all ppc ports.
Split out macppc cpu support and make common to mpc6xx ports. Make
other mpc6xx ports use it. Add evcnts for mpc6xx traps.
 1.10 30-May-2001  mrg branches: 1.10.2;
use _KERNEL_OPT
 1.9 14-Dec-2000  mycroft branches: 1.9.2;
Partial syscall cleanup, as per other ports.
 1.8 25-Aug-2000  thorpej Make need_resched() take a "struct cpu_info *" argument. This
causes gives a primitive form of processor affinity. Its use in
roundrobin() still needs some work.
 1.7 26-May-2000  thorpej 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.6 10-Aug-1999  thorpej branches: 1.6.2;
Define cpu_number() as discussed on tech-smp.
 1.5 24-Jun-1999  sakamoto include machine/intr.h
CACHELINESIZE enabled with defined(_STANDALONE).
 1.4 17-Apr-1999  ws Modify syncicache on PowerPC from an inline to a real function.
Support different cache line sizes with the same object code in userland.
While here, move the function to implementation name space.
 1.3 27-Nov-1997  sakamoto branches: 1.3.10;
remove/import software interrupt model and external interrupt handler
from OpenBSD/powerpc.
move bus_space_* from bus_machdep.c to bus.h.
 1.2 05-Nov-1997  thorpej asm volatile -> __asm__ __volatile
 1.1 14-Oct-1997  sakamoto branches: 1.1.2;
Initial commit of NetBSD/bebox port.
 1.1.2.2 28-Nov-1997  mellon Pull rev 1.3 up from trunk (sakamoto)
 1.1.2.1 05-Nov-1997  thorpej Pull up from trunk: asm volatile -> __asm__ __volatile
 1.3.10.2 01-Jul-1999  thorpej Sync w/ -current.
 1.3.10.1 21-Jun-1999  thorpej Sync w/ -current.
 1.6.2.2 05-Jan-2001  bouyer Sync with HEAD
 1.6.2.1 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.9.2.1 21-Jun-2001  nathanw Catch up to -current.
 1.10.2.1 13-Sep-2001  thorpej Update the kqueue branch to HEAD.
 1.11.104.1 25-Oct-2007  bouyer Sync with HEAD.
 1.11.102.1 18-Oct-2007  yamt sync with head.
 1.11.100.1 06-Nov-2007  matt sync with HEAD
 1.11.98.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.11.88.1 23-Jul-2007  ober Updates to remove pfb, and update cpuattach().
 1.11.80.1 23-Oct-2007  ad Sync with head.
 1.11.38.1 27-Oct-2007  yamt sync with head.
 1.11.6.2 26-Aug-2001  matt Make all powerpc ports use a common Makefile.powerpc (except walnut)
Enforce -Wmissing-prototypes -Wstrict-prototypes for all ppc ports.
Split out macppc cpu support and make common to mpc6xx ports. Make
other mpc6xx ports use it. Add evcnts for mpc6xx traps.
 1.11.6.1 26-Aug-2001  matt file cpu.h was added on branch nathanw_sa on 2001-08-26 02:47:37 +0000
 1.12.52.1 23-Jun-2011  cherry Catchup with rmind-uvmplock merge.
 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.1 05-Feb-2003  nakayama Replace machine/rnd.h with more appropriate name to share it
with cycle counter based microtime in kern/kern_microtime.c.
 1.3 20-Oct-2003  matt Reorganize the way powerpc port install machine specific headers.
Use <powerpc/oea/bat.h> exclusively and remove <machine/bat.h> and
<powerpc/bat.h>. Remove unneeded <machine/cpufunc.h>. To insure
1:1 correspondence of <powerpc/FOO.h> to <machine/FOO.h> include
"../../powerpc/include/Makefile" in "arch/FOO/include/Makefile".
Incororpate <byte_swap.h> into <bswap.h> and then byte_swap.h
 1.2 05-Jan-1998  perry branches: 1.2.48;
RCSID Police.
 1.1 14-Oct-1997  sakamoto Initial commit of NetBSD/bebox port.
 1.2.48.1 03-Aug-2004  skrll Sync with HEAD
 1.2 26-Apr-2011  joerg Remove Darwin, MACH and Mach-O support.
 1.1 08-Dec-2002  manu branches: 1.1.2; 1.1.136; 1.1.142;
A working fork/vfork implementation. Darwin fork differs from our fork by
two ways:
- the child gets its pid as retval[0] (userland stub will turn it into a 0),
retval[1] is 1 and it is 0 in the parent.
- in the child, the fork syscall is successful, hence we must skip the next
instruction.
 1.1.142.1 06-Jun-2011  jruoho Sync with HEAD.
 1.1.136.1 31-May-2011  rmind sync with head
 1.1.2.2 11-Dec-2002  thorpej Sync with HEAD.
 1.1.2.1 08-Dec-2002  thorpej file darwin_machdep.h was added on branch nathanw_sa on 2002-12-11 05:58:23 +0000
 1.2 28-May-1998  sakamoto Use new PowerPC-generic stuff(sys/arch/powerpc).
 1.1 14-Oct-1997  sakamoto Initial commit of NetBSD/bebox port.
 1.11 16-May-2013  christos Complete the dosparts -> mbrparts conversion. Only x86k new uses dosparts
because it also uses struct dos_partition.
 1.10 30-Aug-2011  bouyer branches: 1.10.2; 1.10.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.9 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.8 11-Dec-2005  christos branches: 1.8.78;
merge ktrace-lwp.
 1.7 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.6 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.5 10-May-2003  thorpej branches: 1.5.2;
Remove redundant bounds_check_with_label() prototype.
 1.4 27-Jan-1999  thorpej Use <sys/disklabel_mbr.h>.
 1.3 07-Jul-1998  thorpej Use fixed-size types.
 1.2 28-May-1998  sakamoto Use new PowerPC-generic stuff(sys/arch/powerpc).
 1.1 14-Oct-1997  sakamoto Initial commit of NetBSD/bebox port.
 1.5.2.4 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 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.78.1 11-Mar-2010  yamt sync with head
 1.10.12.1 23-Jun-2013  tls resync from head
 1.10.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.2 24-Jun-1999  sakamoto display.h doubly exists in include and include/pc.
 1.1 14-Oct-1997  sakamoto branches: 1.1.12;
Initial commit of NetBSD/bebox port.
 1.1.12.1 01-Jul-1999  thorpej Sync w/ -current.
 1.2 28-May-1998  sakamoto Use new PowerPC-generic stuff(sys/arch/powerpc).
 1.1 14-Oct-1997  sakamoto Initial commit of NetBSD/bebox port.
 1.4 17-Mar-2000  mycroft In the `MY THAT'S GROSS' department...
Eliminate the recursive include of machine/endian.h from sys/endian.h.
 1.3 28-May-1998  sakamoto branches: 1.3.14;
Use new PowerPC-generic stuff(sys/arch/powerpc).
 1.2 12-Feb-1998  sakamoto Sync with powerpc/include/endian.h
 1.1 14-Oct-1997  sakamoto Initial commit of NetBSD/bebox port.
 1.3.14.1 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.1 17-Mar-2000  mycroft branches: 1.1.6;
In the `MY THAT'S GROSS' department...
Eliminate the recursive include of machine/endian.h from sys/endian.h.
 1.1.6.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.1.6.1 17-Mar-2000  bouyer file endian_machdep.h was added on branch thorpej_scsipi on 2000-11-20 20:06:06 +0000
 1.1 20-Dec-2015  christos branches: 1.1.2; 1.1.18;
new powerpc fenv.h
 1.1.18.2 03-Dec-2017  jdolecek update from HEAD
 1.1.18.1 20-Dec-2015  jdolecek file fenv.h was added on branch tls-maxphys on 2017-12-03 11:35:59 +0000
 1.1.2.2 27-Dec-2015  skrll Sync with HEAD (as of 26th Dec)
 1.1.2.1 20-Dec-2015  skrll file fenv.h was added on branch nick-nhusb on 2015-12-27 12:09:32 +0000
 1.4 28-May-1998  sakamoto Use new PowerPC-generic stuff(sys/arch/powerpc).
 1.3 18-Feb-1998  mycroft Minor changes to make all the float.h files match.
 1.2 03-Feb-1998  mycroft Prototype __flt_rounds() consistently.
 1.1 14-Oct-1997  sakamoto branches: 1.1.2;
Initial commit of NetBSD/bebox port.
 1.1.2.1 08-May-1998  mycroft Sync with trunk, per request of mycroft.
 1.2 28-May-1998  sakamoto Use new PowerPC-generic stuff(sys/arch/powerpc).
 1.1 14-Oct-1997  sakamoto Initial commit of NetBSD/bebox port.
 1.2 28-May-1998  sakamoto Use new PowerPC-generic stuff(sys/arch/powerpc).
 1.1 14-Oct-1997  sakamoto Initial commit of NetBSD/bebox port.
 1.2 28-May-1998  sakamoto Use new PowerPC-generic stuff(sys/arch/powerpc).
 1.1 14-Oct-1997  sakamoto Initial commit of NetBSD/bebox port.
 1.2 28-May-1998  sakamoto Use new PowerPC-generic stuff(sys/arch/powerpc).
 1.1 14-Oct-1997  sakamoto Initial commit of NetBSD/bebox port.
 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:36 +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:26 +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:09 +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:26 +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:05 +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:26 +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:53 +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:26 +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:06:06 +0000
 1.33 20-Oct-2012  kiyohara Add experimental support GENERIC.MP.
 1.32 20-Oct-2012  kiyohara Remove unused enable_intr()/disable_intr().
 1.31 07-Aug-2011  kiyohara branches: 1.31.2; 1.31.12;
Use BEBOX_REG for mapped to BAT instead of bebox_mb_reg.
 1.30 17-Jun-2011  matt intr.h must not include cpu due to deadly embrace with SOFTINT_COUNT.
Cleanup intr.h so MD definitions can overload common definitions.
Rototill pic/intr.c. Virtual IRQs can now be reclaimed. separate virq
from hwirq from picirq. Redo intr mask calculations.
tested on pmppc and macppc (MP).
 1.29 24-Apr-2010  kiyohara branches: 1.29.6;
Support 64-bit imask for powerpc/pic.
 1.28 28-Apr-2008  martin branches: 1.28.20; 1.28.22;
Remove clause 3 and 4 from TNF licenses
 1.27 08-Feb-2008  kiyohara branches: 1.27.6; 1.27.8; 1.27.10;
Fix some bugs since ppcoea-renovation.
It status is reach asking boot device now.
 1.26 17-Oct-2007  garbled branches: 1.26.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.25 16-Feb-2007  ad branches: 1.25.6; 1.25.14; 1.25.22; 1.25.24; 1.25.26; 1.25.28;
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.24 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.23 16-Feb-2006  perry branches: 1.23.14; 1.23.16;
Change "inline" back to "__inline" in .h files -- C99 is still too
new, and some apps compile things in C89 mode. C89 keywords stay.

As per core@.
 1.22 24-Dec-2005  perry branches: 1.22.2; 1.22.4; 1.22.6;
__asm__ -> __asm
__const__ -> const
__inline__ -> inline
__volatile__ -> volatile
 1.21 24-Dec-2005  perry Remove leading __ from __(const|inline|signed|volatile) -- it is obsolete.
 1.20 11-Dec-2005  christos merge ktrace-lwp.
 1.19 03-Sep-2003  matt branches: 1.19.16;
Move CLKF_BASEPRI to machine specific <intr.h> file since it depends on
the encoding of the spl for the port.
 1.18 16-Jun-2003  thorpej branches: 1.18.2;
Rename IPL_IMP -> IPL_VM.
 1.17 05-Jul-2002  matt Peform a rototill over the powerpc-based ports.

Move the trap/vector initialization for MPC6xx ports to mpc6xx_machdep.c
Also move softnet, install_extintr, mapiodev, kvtop. Add common BAT
initialization code.

Add user Altivec support.

Fix calls to OF_call_method in macppc/macppc/machdep.c.

Use ci_fpuproc in cpu_info instead of separate fpuproc.

Add separate syscall.c and defined __HAVE_SYSCALL_INTERN.
 1.16 11-Feb-2002  wiz branches: 1.16.4; 1.16.8;
"doesn't" should have an 's'.
 1.15 11-Feb-2002  wiz achive is not a good word.
 1.14 26-Aug-2001  matt branches: 1.14.6;
Make all powerpc ports use a common Makefile.powerpc (except walnut)
Enforce -Wmissing-prototypes -Wstrict-prototypes for all ppc ports.
Split out macppc cpu support and make common to mpc6xx ports. Make
other mpc6xx ports use it. Add evcnts for mpc6xx traps.
 1.13 13-Apr-2001  thorpej branches: 1.13.2;
Remove the use of splimp() from the NetBSD kernel. splnet()
and only splnet() is allowed for the protection of data structures
used by network devices.
 1.12 14-Jan-2001  thorpej branches: 1.12.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.11 22-Aug-2000  thorpej Add spllock(). See spl(9) for details.
 1.10 21-Aug-2000  thorpej Make sure we provide splsched() as described in spl(9).
 1.9 05-Aug-1999  thorpej branches: 1.9.2;
Change the semantics of splsoftclock() to be like other spl*() functions,
that is priority is rasied. Add a new spllowersoftclock() to provide the
atomic drop-to-softclock semantics that the old splsoftclock() provided,
and update calls accordingly.

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

XXX 4 platforms do not have priority-raising capability: newsmips, sparc,
XXX sparc64, and VAX. This platforms still have this bug until their
XXX spl*() functions are fixed.
 1.8 01-Aug-1999  thorpej Sync w/ the i386 port. Fixes some bugs in the conventional interrupt
heirarchy. Reviewed by sakamoto@netbsd.org.
 1.7 24-Jun-1999  sakamoto Add some declarations.
 1.6 15-Aug-1998  mycroft branches: 1.6.8;
Assign my copyrights to TNF.
 1.5 18-Jul-1998  is Switching dev/ic/lpt.c to use spllpt() instead of spltty(). It doesn't use
tty structures, and on some machines (namely the DraCo internal lpt, and some
multi-i/o boards for Amigas and DraCos), tying spltty to the pretty high printer
interupt level would hurt serial performance.

On all affected ports but Amiga, spllpt() has been defined in machine/intr.h
to be spltty(), thus preserving old behaviour. Portmasters are encouraged to
change is, if they feel something else is better (e.g., one of its own were
possible).
 1.4 12-Jan-1998  sakamoto add The Be interrupt controller setmask function(bebox_intr_mask).
change SINT_TTY to SINT_SERIAL
splsofttty to splsoftserial, and so on.
 1.3 11-Dec-1997  sakamoto change order of interrupt description bit
 1.2 27-Nov-1997  sakamoto remove/import software interrupt model and external interrupt handler
from OpenBSD/powerpc.
move bus_space_* from bus_machdep.c to bus.h.
 1.1 14-Oct-1997  sakamoto branches: 1.1.2;
Initial commit of NetBSD/bebox port.
 1.1.2.1 28-Nov-1997  mellon Pull rev 1.2 up from trunk (sakamoto)
 1.6.8.2 02-Aug-1999  thorpej Update from trunk.
 1.6.8.1 01-Jul-1999  thorpej Sync w/ -current.
 1.9.2.3 21-Apr-2001  bouyer Sync with HEAD
 1.9.2.2 18-Jan-2001  bouyer Sync with head (for UBC+NFS fixes, mostly).
 1.9.2.1 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.12.2.1 21-Jun-2001  nathanw Catch up to -current.
 1.13.2.3 06-Sep-2002  jdolecek sync kqueue branch with HEAD
 1.13.2.2 16-Mar-2002  jdolecek Catch up with -current.
 1.13.2.1 13-Sep-2001  thorpej Update the kqueue branch to HEAD.
 1.14.6.3 01-Aug-2002  nathanw Catch up to -current.
 1.14.6.2 28-Feb-2002  nathanw Catch up to -current.
 1.14.6.1 26-Aug-2001  nathanw file intr.h was added on branch nathanw_sa on 2002-02-28 04:08:37 +0000
 1.16.8.1 16-Jul-2002  gehenna catch up with -current.
 1.16.4.1 17-Mar-2002  thorpej IPL_IMP -> IPL_VM
 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.16.5 11-Feb-2008  yamt sync with head.
 1.19.16.4 27-Oct-2007  yamt sync with head.
 1.19.16.3 26-Feb-2007  yamt sync with head.
 1.19.16.2 30-Dec-2006  yamt sync with head.
 1.19.16.1 21-Jun-2006  yamt sync with head.
 1.22.6.1 22-Apr-2006  simonb Sync with head.
 1.22.4.1 09-Sep-2006  rpaulo sync with head
 1.22.2.1 18-Feb-2006  yamt sync with head.
 1.23.16.2 01-Dec-2006  yamt fix a typo in the previous.
 1.23.16.1 01-Dec-2006  yamt implement splraiseipl/makeiplcookie for bebox.
 1.23.14.1 12-Jan-2007  ad Sync with head.
 1.25.28.1 25-Oct-2007  bouyer Sync with HEAD.
 1.25.26.1 18-Oct-2007  yamt sync with head.
 1.25.24.2 23-Mar-2008  matt sync with HEAD
 1.25.24.1 06-Nov-2007  matt sync with HEAD
 1.25.22.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.25.14.5 23-Jul-2007  ober Updates to remove pfb, and update cpuattach().
 1.25.14.4 08-Jul-2007  ober More cleanups of intr.h and headers.
 1.25.14.3 08-Jul-2007  ober Updates to make use of the common powerpc pci code base.
 1.25.14.2 28-Jun-2007  ober Updates to move Bebox to the powerpc ISA code.
 1.25.14.1 02-May-2007  matt Make bebox build again. Use cpl,astpending,etc. from cpu_info.
Use powerpc generic softintr.
 1.25.6.1 23-Oct-2007  ad Sync with head.
 1.26.2.1 18-Feb-2008  mjf Sync with HEAD.
 1.27.10.2 11-Aug-2010  yamt sync with head.
 1.27.10.1 16-May-2008  yamt sync with head.
 1.27.8.1 18-May-2008  yamt sync with head.
 1.27.6.1 02-Jun-2008  mjf Sync with HEAD.
 1.28.22.1 30-May-2010  rmind sync with head
 1.28.20.1 30-Apr-2010  uebayasi Sync with HEAD.
 1.29.6.1 23-Jun-2011  cherry Catchup with rmind-uvmplock merge.
 1.31.12.1 20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.31.2.1 30-Oct-2012  yamt sync with head
 1.3 15-Jul-2018  maxv Retire ipkdb entirely. The option was removed from the config files
yesterday.

ok kamil christos
 1.2 28-May-1998  sakamoto branches: 1.2.60; 1.2.238;
Use new PowerPC-generic stuff(sys/arch/powerpc).
 1.1 14-Oct-1997  sakamoto Initial commit of NetBSD/bebox port.
 1.2.238.1 10-Jun-2019  christos Sync with HEAD
 1.2.60.1 28-Jul-2018  pgoyette Sync with HEAD
 1.23 12-Dec-2021  andvar s/Miscellanous/Miscellaneous/ in copypasta comments.
 1.22 18-Oct-2016  jdolecek add isa_intr_establish_xname() to MD isa headers so that it can be used
by MI drivers
 1.21 07-Aug-2011  kiyohara branches: 1.21.12; 1.21.30; 1.21.34;
Cleanup headers and variables.
 1.20 19-Aug-2009  dyoung isa_detach_hook() needs two arguments, the first an isa_chipset_tag_t.
 1.19 19-Aug-2009  dyoung Define isa_detach_hook() to fix bebox build.
 1.18 28-Apr-2008  martin Remove clause 3 and 4 from TNF licenses
 1.17 17-Oct-2007  garbled branches: 1.17.16; 1.17.18; 1.17.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.16 11-Dec-2005  christos branches: 1.16.30; 1.16.38; 1.16.48; 1.16.50; 1.16.52; 1.16.54;
merge ktrace-lwp.
 1.15 07-Aug-2003  agc branches: 1.15.16;
Move UCB-licensed code from 4-clause to 3-clause licence.

Patches provided by Joel Baker in PR 22364, verified by myself.
 1.14 09-May-2003  fvdl branches: 1.14.2;
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.13 06-Jun-2001  matt branches: 1.13.8;
Change bebox port to use the include MPC6XX files and the new common bus.h
framework.
 1.12 15-Nov-2000  thorpej branches: 1.12.2;
Move the ISA DMA cookie into isadma_machdep.c.
 1.11 04-Jun-2000  cgd Implement the more flexiable `evcnt' interface as discussed (briefly) on
tech-kern and now documented in evcnt(9).
 1.10 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.9 07-Feb-2000  thorpej branches: 1.9.2;
Add a new function call to the ISA DMA API: isa_dmamaxsize(), which returns
the maximum transfer size for the specified DMA channel. Make all clients
of ISA DMA use this call to determine their maximum transfer size.
 1.8 19-Mar-1999  cgd branches: 1.8.8;
Moved from arch/bebox/isa/isa_machdep.h,v
 1.7 24-Aug-1998  sakamoto vm_offset_t --> [pv]addr_t.
 1.6 09-Jun-1998  thorpej Add isa_dma{freeze,thaw}(), used to temporarily stop and then restart
all ISA DMA. Needed by e.g. the SmartCard reader for Sharks.
 1.5 09-Jun-1998  thorpej Change the ISA DMA API to take an isa_chipset_tag_t rather than
a struct device * corresponding to the ISA bus device. The ISA DMA
controller driver functions have been renamed and now take a struct
isa_dma_state *, and are called indirectly by machine-dependent code
which provides the DMA state.

These changes allow e.g. `ofisa' (the OpenFirmware configuration
mechanism for the ISA bus, used by e.g. Sharks) to use the MI ISA
DMA controller code.
 1.4 03-Jun-1998  thorpej Sync w/ i386 port:

Implement bounce buffers for mbufs.

Also, correct copyright snafus, and a forgot-o left over from a commit
I made yesterday.
 1.3 03-Feb-1998  sakamoto Change bebox_bus_{io,mem}.bus_base to BEBOX_BUS_SPACE_{IO,MEM}.
 1.2 27-Nov-1997  sakamoto remove/import software interrupt model and external interrupt handler
from OpenBSD/powerpc.
move bus_space_* from bus_machdep.c to bus.h.
 1.1 14-Oct-1997  sakamoto Initial commit of NetBSD/bebox port.
 1.8.8.2 22-Nov-2000  bouyer Sync with HEAD.
 1.8.8.1 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.9.2.1 22-Jun-2000  minoura Sync w/ netbsd-1-5-base.
 1.12.2.1 21-Jun-2001  nathanw Catch up to -current.
 1.13.8.2 06-Jun-2001  matt Change bebox port to use the include MPC6XX files and the new common bus.h
framework.
 1.13.8.1 06-Jun-2001  matt file isa_machdep.h was added on branch nathanw_sa on 2001-06-06 17:42:31 +0000
 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.1 27-Oct-2007  yamt sync with head.
 1.16.54.1 25-Oct-2007  bouyer Sync with HEAD.
 1.16.52.1 18-Oct-2007  yamt sync with head.
 1.16.50.1 06-Nov-2007  matt sync with HEAD
 1.16.48.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.16.38.2 08-Jul-2007  ober Updates to make use of the common powerpc pci code base.
 1.16.38.1 28-Jun-2007  ober Updates to move Bebox to the powerpc ISA code.
 1.16.30.1 23-Oct-2007  ad Sync with head.
 1.17.20.2 19-Aug-2009  yamt sync with head.
 1.17.20.1 16-May-2008  yamt sync with head.
 1.17.18.1 18-May-2008  yamt sync with head.
 1.17.16.1 02-Jun-2008  mjf Sync with HEAD.
 1.21.34.1 04-Nov-2016  pgoyette Sync with HEAD
 1.21.30.1 05-Dec-2016  skrll Sync with HEAD
 1.21.12.1 03-Dec-2017  jdolecek update from HEAD
 1.6 28-Apr-2008  martin Remove clause 3 and 4 from TNF licenses
 1.5 01-Jun-2000  cgd branches: 1.5.128; 1.5.130; 1.5.132;
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.4 19-Mar-1999  cgd branches: 1.4.8; 1.4.16;
Moved from arch/bebox/isa/isapnp_machdep.h,v
 1.3 05-Sep-1998  christos Assign copyright to TNF.
 1.2 13-Aug-1998  eeh Merge paddr_t changes into the main branch.
 1.1 31-Jul-1998  thorpej branches: 1.1.2;
First-cut support for ISA PnP for NetBSD/bebox.
 1.1.2.1 08-Aug-1998  eeh Revert cdevsw mmap routines to return int.
 1.4.16.1 22-Jun-2000  minoura Sync w/ netbsd-1-5-base.
 1.4.8.1 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.5.132.1 16-May-2008  yamt sync with head.
 1.5.130.1 18-May-2008  yamt sync with head.
 1.5.128.1 02-Jun-2008  mjf Sync with HEAD.
 1.2 28-May-1998  sakamoto Use new PowerPC-generic stuff(sys/arch/powerpc).
 1.1 14-Oct-1997  sakamoto Initial commit of NetBSD/bebox port.
 1.4 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.3 24-Dec-2005  perry branches: 1.3.2; 1.3.4; 1.3.6;
Remove leading __ from __(const|inline|signed|volatile) -- it is obsolete.
 1.2 05-Jan-1998  perry RCSID Police.
 1.1 14-Oct-1997  sakamoto Initial commit of NetBSD/bebox port.
 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 sync with head.
 1.3 28-May-1998  sakamoto Use new PowerPC-generic stuff(sys/arch/powerpc).
 1.2 09-Jan-1998  perry multiple include protect machine/limits.h, fixes pr 4473 (from Mika Nystrom)
 1.1 14-Oct-1997  sakamoto Initial commit of NetBSD/bebox port.
 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 31-Oct-2001  thorpej branches: 1.2.2; 1.2.34; 1.2.46;
Split elf32 vs. elf64 handling in loadfile(), including support for
each separately and explicitly. BOOT_ELF is now BOOT_ELF32 and
BOOT_ELF64, and ELFSIZE should no longer be defined in loadfile_machdep.h.
 1.1 02-Jul-1999  sakamoto branches: 1.1.2; 1.1.18; 1.1.20;
MD defines for the MI loadfile.
 1.1.20.1 12-Nov-2001  thorpej Sync the thorpej-mips-cache branch with -current.
 1.1.18.1 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.1.2.2 02-Aug-1999  thorpej Update from trunk.
 1.1.2.1 02-Jul-1999  thorpej file loadfile_machdep.h was added on branch chs-ubc2 on 1999-08-02 19:44:01 +0000
 1.2.46.1 01-Feb-2006  yamt sync with head.
 1.2.34.1 21-Jun-2006  yamt sync with head.
 1.2.2.2 31-Oct-2001  thorpej Split elf32 vs. elf64 handling in loadfile(), including support for
each separately and explicitly. BOOT_ELF is now BOOT_ELF32 and
BOOT_ELF64, and ELFSIZE should no longer be defined in loadfile_machdep.h.
 1.2.2.1 31-Oct-2001  thorpej file loadfile_machdep.h was added on branch nathanw_sa on 2001-10-31 17:20:47 +0000
 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.1 29-Apr-2000  thorpej branches: 1.1.6;
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.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:06:06 +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:31 +0000
 1.3 03-May-2001  soren PPC machine type tags haven't been used for a while.
 1.2 28-May-1998  sakamoto Use new PowerPC-generic stuff(sys/arch/powerpc).
 1.1 14-Oct-1997  sakamoto Initial commit of NetBSD/bebox port.
 1.2 26-Apr-2011  joerg Remove Darwin, MACH and Mach-O support.
 1.1 30-Oct-2002  matt branches: 1.1.2; 1.1.136; 1.1.142;
Add missing file.
 1.1.142.1 06-Jun-2011  jruoho Sync with HEAD.
 1.1.136.1 31-May-2011  rmind sync with head
 1.1.2.2 11-Nov-2002  nathanw Catch up to -current
 1.1.2.1 30-Oct-2002  nathanw file macho_machdep.h was added on branch nathanw_sa on 2002-11-11 21:57:26 +0000
 1.1 23-Dec-1999  kleink branches: 1.1.6;
C99: Define a NAN macro in <math.h> which evaulates to a constant expression of
a single-precision quiet NaN; only to be defined on platforms that do support
this value.
 1.1.6.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.1.6.1 23-Dec-1999  bouyer file math.h was added on branch thorpej_scsipi on 2000-11-20 20:06:07 +0000
 1.2 17-Jan-2003  thorpej Merge the nathanw_sa branch.
 1.1 05-Nov-2001  briggs branches: 1.1.2;
file mcontext.h was initially added on branch nathanw_sa.
 1.1.2.1 05-Nov-2001  briggs Initial SA support for ppc. Test-booted on sandpoint, macppc, & walnut.
mcontext and cpu_getmcontext()/cpu_setmcontext() from Klaus Klein
<kleink@netbsd.org>.
 1.2 07-Aug-2011  kiyohara Remove obsoleted headers.
 1.1 14-Oct-1997  sakamoto Initial commit of NetBSD/bebox port.
 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:06:11 +0000
 1.15 28-Jul-2011  macallan more PCI_MAGIC_IO_RANGE fixes
 1.14 20-Jun-2011  matt Cleanup powerpc param.h. If compiling a MODULE, ignore port-specific stuff.
Only include <machine/cpu.h> in <powerpc/param.h> at the end.
 1.13 12-Jun-2011  kiyohara Remove comment-outed DELAY().
 1.12 06-Mar-2011  he branches: 1.12.2;
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.11 01-Aug-2010  kiyohara branches: 1.11.2;
Support xserver.
 1.10 17-Oct-2007  garbled branches: 1.10.20; 1.10.40; 1.10.42;
Merge the ppcoea-renovation branch to HEAD.

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

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

NOTES:
pmppc was removed as an arch, and moved to a evbppc target.
 1.9 06-Jun-2001  matt branches: 1.9.8; 1.9.40; 1.9.82; 1.9.90; 1.9.100; 1.9.102; 1.9.104; 1.9.106;
Change bebox port to use the include MPC6XX files and the new common bus.h
framework.
 1.8 30-May-2001  mrg use _KERNEL_OPT
 1.7 30-Jun-2000  itojun branches: 1.7.2;
raise MSIZE from 128 to 256.
- for sizeof(void *) == 8 arch, this is mandatory. MHLEN is too small
already (less than 80) and there are chances for unwanted packet loss due
to m_pullup restriction.
- for other cases, the change should avoid allocating clusters in most cases
(even when you have IPv4 IPsec tunnel, or IPv6 with moderate amount of
extension header)

portmasters: if your arch chokes with the change (high memory usage or
whatever), please backout the change for your arch.
 1.6 11-Feb-2000  thorpej branches: 1.6.4;
Update for the NKMEMPAGES changes.
 1.5 04-Dec-1999  ragge CL* discarding.
 1.4 01-Sep-1998  sakamoto branches: 1.4.12; 1.4.18;
Eliminate ovbcopy define.
 1.3 28-May-1998  sakamoto Use new PowerPC-generic stuff(sys/arch/powerpc).
 1.2 29-Apr-1998  thorpej Pull in opt_gateway.h as appropriate.
 1.1 14-Oct-1997  sakamoto Initial commit of NetBSD/bebox port.
 1.4.18.2 27-Dec-1999  wrstuden Pull up to last week's -current.
 1.4.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.4.12.1 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.6.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.7.2.1 21-Jun-2001  nathanw Catch up to -current.
 1.9.106.1 25-Oct-2007  bouyer Sync with HEAD.
 1.9.104.1 18-Oct-2007  yamt sync with head.
 1.9.102.1 06-Nov-2007  matt sync with HEAD
 1.9.100.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.9.90.1 28-Jun-2007  ober Updates to move Bebox to the powerpc ISA code.
 1.9.82.1 23-Oct-2007  ad Sync with head.
 1.9.40.1 27-Oct-2007  yamt sync with head.
 1.9.8.2 06-Jun-2001  matt Change bebox port to use the include MPC6XX files and the new common bus.h
framework.
 1.9.8.1 06-Jun-2001  matt file param.h was added on branch nathanw_sa on 2001-06-06 17:42:31 +0000
 1.10.42.2 21-Apr-2011  rmind sync with head
 1.10.42.1 05-Mar-2011  rmind sync with head
 1.10.40.1 17-Aug-2010  uebayasi Sync with HEAD.
 1.10.20.1 11-Aug-2010  yamt sync with head.
 1.11.2.1 06-Jun-2011  jruoho Sync with HEAD.
 1.12.2.1 23-Jun-2011  cherry Catchup with rmind-uvmplock merge.
 1.2 28-May-1998  sakamoto Use new PowerPC-generic stuff(sys/arch/powerpc).
 1.1 14-Oct-1997  sakamoto Initial commit of NetBSD/bebox port.
 1.4 07-Aug-2011  kiyohara Remove obsoleted headers.
 1.3 11-Dec-2005  christos merge ktrace-lwp.
 1.2 24-Oct-2003  matt Make this build properly.
 1.1 14-Oct-1997  sakamoto branches: 1.1.50;
Initial commit of NetBSD/bebox port.
 1.1.50.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.1.50.2 18-Sep-2004  skrll Sync with HEAD.
 1.1.50.1 03-Aug-2004  skrll Sync with HEAD
 1.15 22-Jun-2011  matt Add support pci_intr_setattr.
Export non-inline version of pci api for modules (_MODULE is defined).
Fix definition of pc_conf_hook and pc_conf_interrupt.
Switch to using inlines instead of macros.
Switch ibm4xx to use <powerpc/pci_machdep.h>
 1.14 28-Apr-2008  martin Remove clause 3 and 4 from TNF licenses
 1.13 17-Oct-2007  garbled branches: 1.13.16; 1.13.18; 1.13.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.12 11-Dec-2005  christos branches: 1.12.30; 1.12.38; 1.12.48; 1.12.50; 1.12.52; 1.12.54;
merge ktrace-lwp.
 1.11 29-Jul-2004  drochner branches: 1.11.12;
remove now unnecessary "pci_enumerate_bus" definitions
 1.10 15-May-2002  thorpej branches: 1.10.10;
Let machine-dependent code specify how to enumerate the bus.
Currently, everyone uses pci_enumerate_bus_generic().
 1.9 06-Jun-2001  matt branches: 1.9.2; 1.9.8;
Change bebox port to use the include MPC6XX files and the new common bus.h
framework.
 1.8 06-Feb-2001  briggs branches: 1.8.2;
Define a pci_bus_dma_tag.
 1.7 28-Dec-2000  sommerfeld Change pci_intr_map to get interrupt source information from a "struct
pci_attach_args *" instead of from four separate parameters which in
all cases were extracted from the same "struct pci_attach_args".

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

Tested on alpha and i386; welcome to 1.5Q
 1.6 04-Jun-2000  cgd Implement the more flexiable `evcnt' interface as discussed (briefly) on
tech-kern and now documented in evcnt(9).
 1.5 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.4 19-Mar-1999  cgd branches: 1.4.8; 1.4.16;
Moved from arch/bebox/pci/pci_machdep.h,v
 1.3 24-Aug-1998  sakamoto vm_offset_t --> [pv]addr_t.
 1.2 15-Aug-1998  mycroft Make copyright notices with my name consistent.
 1.1 14-Oct-1997  sakamoto Initial commit of NetBSD/bebox port.
 1.4.16.1 22-Jun-2000  minoura Sync w/ netbsd-1-5-base.
 1.4.8.3 11-Feb-2001  bouyer Sync with HEAD.
 1.4.8.2 05-Jan-2001  bouyer Sync with HEAD
 1.4.8.1 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.8.2.1 21-Jun-2001  nathanw Catch up to -current.
 1.9.8.2 20-Jun-2002  nathanw Catch up to -current.
 1.9.8.1 06-Jun-2001  nathanw file pci_machdep.h was added on branch nathanw_sa on 2002-06-20 03:38:23 +0000
 1.9.2.1 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.10.10.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.10.10.2 18-Sep-2004  skrll Sync with HEAD.
 1.10.10.1 03-Aug-2004  skrll Sync with HEAD
 1.11.12.1 27-Oct-2007  yamt sync with head.
 1.12.54.1 25-Oct-2007  bouyer Sync with HEAD.
 1.12.52.1 18-Oct-2007  yamt sync with head.
 1.12.50.1 06-Nov-2007  matt sync with HEAD
 1.12.48.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.12.38.1 08-Jul-2007  ober Updates to make use of the common powerpc pci code base.
 1.12.30.1 23-Oct-2007  ad Sync with head.
 1.13.20.1 16-May-2008  yamt sync with head.
 1.13.18.1 18-May-2008  yamt sync with head.
 1.13.16.1 02-Jun-2008  mjf Sync with HEAD.
 1.7 05-Feb-2001  briggs Share a single pio.h instead of having 4 nearly-identical copies.
 1.6 03-Feb-1998  sakamoto branches: 1.6.14;
remove unnecessary cast.
 1.5 12-Dec-1997  sakamoto add bus_space_{read,write}_multi_N macros
some fix.
 1.4 11-Dec-1997  sakamoto fix wrong variable declaration
 1.3 11-Dec-1997  sakamoto add ins/outs macros
 1.2 27-Nov-1997  sakamoto remove/import software interrupt model and external interrupt handler
from OpenBSD/powerpc.
move bus_space_* from bus_machdep.c to bus.h.
 1.1 14-Oct-1997  sakamoto branches: 1.1.2;
Initial commit of NetBSD/bebox port.
 1.1.2.1 28-Nov-1997  mellon Pull rev 1.2 up from trunk (sakamoto)
 1.6.14.1 11-Feb-2001  bouyer Sync with HEAD.
 1.11 14-Feb-2008  he Don't include <powerpc/oea/pmap.h>, use <powerpc/pmap.h> instead.
Discussed with garbled@, fixes build problem for LKMs.
 1.10 03-Feb-2003  matt branches: 1.10.18; 1.10.80; 1.10.86;
Rename PPC_MPC6XX to PPC_OEA (and any mpc6xx reference to oea).
 1.9 06-Jun-2001  matt branches: 1.9.8;
Change bebox port to use the include MPC6XX files and the new common bus.h
framework.
 1.8 22-Jun-1999  sakamoto branches: 1.8.14;
Use powerpc/pmap.h.
 1.7 17-Jun-1999  thorpej pmap_change_wiring() -> pmap_unwire().
 1.6 24-Aug-1998  sakamoto branches: 1.6.8;
vm_offset_t --> [pv]addr_t.
 1.5 03-Jan-1998  thorpej Now that all ports have pmap_activate(), and it has an identical interface,
prototype it in <vm/pmap.h>
 1.4 02-Jan-1998  thorpej Implement pmap_activate().
 1.3 18-Dec-1997  sakamoto use pmap.c of port-powerpc.
mem_regions support.
 1.2 16-Oct-1997  sakamoto __VM_PMAP_HACK delete.
if_ed and lpt temporary support.
 1.1 14-Oct-1997  sakamoto Initial commit of NetBSD/bebox port.
 1.6.8.2 01-Jul-1999  thorpej Sync w/ -current.
 1.6.8.1 21-Jun-1999  thorpej Sync w/ -current.
 1.8.14.1 21-Jun-2001  nathanw Catch up to -current.
 1.9.8.2 06-Jun-2001  matt Change bebox port to use the include MPC6XX files and the new common bus.h
framework.
 1.9.8.1 06-Jun-2001  matt file pmap.h was added on branch nathanw_sa on 2001-06-06 17:42:31 +0000
 1.10.86.1 18-Feb-2008  mjf Sync with HEAD.
 1.10.80.1 23-Mar-2008  matt sync with HEAD
 1.10.18.1 27-Feb-2008  yamt sync with head.
 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:33:35 +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:25 +0000
 1.1.2.2 13-Aug-2002  nathanw Catch up to -current.
 1.1.2.1 07-Aug-2002  nathanw file pmc.h was added on branch nathanw_sa on 2002-08-13 02:18:04 +0000
 1.8 14-Mar-2009  dsl Remove all the __P() from sys (excluding sys/dist)
Diff checked with grep and MK1 eyeball.
i386 and amd64 GENERIC and sys still build.
 1.7 17-Oct-2007  garbled branches: 1.7.20; 1.7.28; 1.7.34;
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.6 11-Dec-2005  christos branches: 1.6.30; 1.6.38; 1.6.48; 1.6.50; 1.6.52; 1.6.54;
merge ktrace-lwp.
 1.5 23-Oct-2004  thorpej branches: 1.5.12;
Centralize the declaration of booted_device and booted_partition.
 1.4 01-Jun-2000  matt branches: 1.4.26;
Make booted_device global (and booted_parition for consitency).
Eliminate it from header files and other extern definitions.
 1.3 24-Aug-1998  sakamoto branches: 1.3.12; 1.3.20;
vm_offset_t --> [pv]addr_t.
 1.2 18-Dec-1997  sakamoto use pmap.c of port-powerpc.
mem_regions support.
 1.1 14-Oct-1997  sakamoto Initial commit of NetBSD/bebox port.
 1.3.20.1 22-Jun-2000  minoura Sync w/ netbsd-1-5-base.
 1.3.12.1 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.4.26.1 02-Nov-2004  skrll Sync with HEAD.
 1.5.12.1 27-Oct-2007  yamt sync with head.
 1.6.54.1 25-Oct-2007  bouyer Sync with HEAD.
 1.6.52.1 18-Oct-2007  yamt sync with head.
 1.6.50.1 06-Nov-2007  matt sync with HEAD
 1.6.48.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.6.38.1 28-Jun-2007  ober Updates to move Bebox to the powerpc ISA code.
 1.6.30.1 23-Oct-2007  ad Sync with head.
 1.7.34.1 13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.7.28.1 28-Apr-2009  skrll Sync with HEAD.
 1.7.20.1 04-May-2009  yamt sync with head.
 1.2 28-May-1998  sakamoto Use new PowerPC-generic stuff(sys/arch/powerpc).
 1.1 14-Oct-1997  sakamoto Initial commit of NetBSD/bebox port.
 1.2 28-May-1998  sakamoto Use new PowerPC-generic stuff(sys/arch/powerpc).
 1.1 14-Oct-1997  sakamoto Initial commit of NetBSD/bebox port.
 1.3 24-Jun-1999  sakamoto Use powerpc's header.
 1.2 27-Nov-1997  sakamoto branches: 1.2.10;
remove/import software interrupt model and external interrupt handler
from OpenBSD/powerpc.
move bus_space_* from bus_machdep.c to bus.h.
 1.1 14-Oct-1997  sakamoto branches: 1.1.2;
Initial commit of NetBSD/bebox port.
 1.1.2.1 28-Nov-1997  mellon Pull rev 1.2 up from trunk (sakamoto)
 1.2.10.1 01-Jul-1999  thorpej Sync w/ -current.
 1.5 03-Feb-2003  matt Rename PPC_MPC6XX to PPC_OEA (and any mpc6xx reference to oea).
 1.4 17-Jan-2003  thorpej Merge the nathanw_sa branch.
 1.3 06-Jun-2001  matt branches: 1.3.8;
Change bebox port to use the include MPC6XX files and the new common bus.h
framework.
 1.2 28-May-1998  sakamoto Use new PowerPC-generic stuff(sys/arch/powerpc).
 1.1 14-Oct-1997  sakamoto Initial commit of NetBSD/bebox port.
 1.3.8.1 05-Nov-2001  briggs Initial SA support for ppc. Test-booted on sandpoint, macppc, & walnut.
mcontext and cpu_getmcontext()/cpu_setmcontext() from Klaus Klein
<kleink@netbsd.org>.
 1.3 24-Jun-1999  sakamoto Use powerpc's header.
 1.2 27-Nov-1997  sakamoto branches: 1.2.10;
remove/import software interrupt model and external interrupt handler
from OpenBSD/powerpc.
move bus_space_* from bus_machdep.c to bus.h.
 1.1 14-Oct-1997  sakamoto branches: 1.1.2;
Initial commit of NetBSD/bebox port.
 1.1.2.1 28-Nov-1997  mellon Pull rev 1.2 up from trunk (sakamoto)
 1.2.10.1 01-Jul-1999  thorpej Sync w/ -current.
 1.3 22-Jun-1999  sakamoto Use powerpc/reg.h
 1.2 05-Jan-1998  perry branches: 1.2.10;
RCSID Police.
 1.1 14-Oct-1997  sakamoto Initial commit of NetBSD/bebox port.
 1.2.10.1 01-Jul-1999  thorpej Sync w/ -current.
 1.2 28-May-1998  sakamoto Use new PowerPC-generic stuff(sys/arch/powerpc).
 1.1 14-Oct-1997  sakamoto Initial commit of NetBSD/bebox port.
 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 11-Jun-2000  tsubai branches: 1.1.4; 1.1.6;
Add cpu_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 11-Jun-2000  bouyer file rnd.h was added on branch thorpej_scsipi on 2000-11-20 20:06:07 +0000
 1.1.4.2 22-Jun-2000  minoura Sync w/ netbsd-1-5-base.
 1.1.4.1 11-Jun-2000  minoura file rnd.h was added on branch minoura-xpg4dl on 2000-06-22 16:59:43 +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:06:11 +0000
 1.2 28-May-1998  sakamoto Use new PowerPC-generic stuff(sys/arch/powerpc).
 1.1 14-Oct-1997  sakamoto Initial commit of NetBSD/bebox port.
 1.3 28-May-1998  sakamoto Use new PowerPC-generic stuff(sys/arch/powerpc).
 1.2 25-May-1998  kleink If any of _ANSI_SOURCE, _POSIX_C_SOURCE or _XOPEN_SOURCE are defined, don't
provide any identifiers other than sig_atomic_t.
 1.1 14-Oct-1997  sakamoto Initial commit of NetBSD/bebox port.
 1.1 23-Jul-2014  alnsn branches: 1.1.2; 1.1.6;
Rename sljitarch.h to sljit_machdep.h.
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 23-Jul-2014  tls file sljit_machdep.h was added on branch tls-maxphys on 2014-08-20 00:02:49 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 23-Jul-2014  tls file sljit_machdep.h was added on branch tls-earlyentropy on 2014-08-10 06:53:53 +0000
 1.2 23-Jul-2014  alnsn Rename sljitarch.h to sljit_machdep.h.
 1.1 17-Nov-2013  alnsn branches: 1.1.2; 1.1.4; 1.1.6;
Enable sljit and bpfjit on powerpc.
 1.1.6.2 22-May-2014  yamt sync with head.

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

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1.6.1 17-Nov-2013  yamt file sljitarch.h was added on branch yamt-pagecache on 2014-05-22 11:39:36 +0000
 1.1.4.2 18-May-2014  rmind sync with head
 1.1.4.1 17-Nov-2013  rmind file sljitarch.h was added on branch rmind-smpnet on 2014-05-18 17:45:01 +0000
 1.1.2.1 10-Aug-2014  tls Rebase.
 1.2 15-Apr-1998  drochner "spkr" is now MI. Keep this file for compatibility.
 1.1 14-Oct-1997  sakamoto Initial commit of NetBSD/bebox port.
 1.5 02-Mar-2010  matt Add missing <powerpc/FOO/spr.h> to a few files missed on the first pass.
Don't export <machine/spr.h> to userland, only <powerpc/spr.h>
 1.4 11-Dec-2005  christos branches: 1.4.78; 1.4.92; 1.4.98;
merge ktrace-lwp.
 1.3 17-Feb-2005  briggs branches: 1.3.2;
Install spr.h
 1.2 02-Mar-2004  kleink branches: 1.2.2; 1.2.4;
Pull in SPRs via <powerpc/spr.h> in this single instance, and dispose of
<machine/spr.h> again.
 1.1 30-Dec-2003  manu Fix PowerPC ports build with KGDB.
 1.2.4.1 19-Mar-2005  yamt sync with head. xen and whitespace. xen part is not finished.
 1.2.2.1 29-Apr-2005  kent sync with -current
 1.3.2.2 17-Feb-2005  skrll Sync with HEAD.
 1.3.2.1 17-Feb-2005  skrll file spr.h was added on branch ktrace-lwp on 2005-02-17 07:10:36 +0000
 1.4.98.1 30-Apr-2010  uebayasi Sync with HEAD.
 1.4.92.1 24-Oct-2010  jym Sync with HEAD
 1.4.78.1 11-Mar-2010  yamt sync with head
 1.3 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.2 28-May-1998  sakamoto Use new PowerPC-generic stuff(sys/arch/powerpc).
 1.1 14-Oct-1997  sakamoto Initial commit of NetBSD/bebox port.
 1.2 28-May-1998  sakamoto Use new PowerPC-generic stuff(sys/arch/powerpc).
 1.1 14-Oct-1997  sakamoto Initial commit of NetBSD/bebox port.
 1.14 01-Apr-2021  simonb Define __HAVE_LEGACY_INTRCNT to indicate this port uses legacy intrcnt
interrupt accounting.
 1.13 01-Apr-2021  simonb Whitespace: #define<tab>
 1.12 17-Jul-2011  dyoung branches: 1.12.66; 1.12.68;
Switch more PowerPC ports having PCI support to new-style <sys/bus.h>.
 1.11 17-Jul-2010  tsutsui Remove obsolete __HAVE_GENERIC_SOFT_INTERRUPTS,
which is mandatory since 2007/07:
http://mail-index.NetBSD.org/source-changes/2007/07/14/0039.html
 1.10 20-Jan-2008  joerg branches: 1.10.10; 1.10.30; 1.10.32;
Now that __HAVE_TIMECOUNTER and __HAVE_GENERIC_TODR are invariants,
remove the conditionals and the code associated with the undef case.
 1.9 17-Oct-2007  garbled branches: 1.9.2; 1.9.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.8 15-Sep-2006  gdamore branches: 1.8.10; 1.8.18; 1.8.28; 1.8.30; 1.8.32; 1.8.34;
Convert bebox to MI todr. As part of this, separate out the mc146818
clock handling. Originally reviewed with that committed as an MI driver
in dev/isa, crazy MD versions of mcclock made that impossible. So for
now I'm only handling it as an MD driver. Ok garbled@
 1.7 03-Sep-2006  bjh21 branches: 1.7.2;
Nothing in the kernel now tests __HAVE_NWSCONS, so stop defining it everywhere.
 1.6 28-Feb-2002  simonb branches: 1.6.32; 1.6.46; 1.6.50;
Use "#define<tab>".
 1.5 28-May-1998  sakamoto branches: 1.5.28; 1.5.32;
Use new PowerPC-generic stuff(sys/arch/powerpc).
 1.4 26-Mar-1998  sakamoto tell drivers that this port knows about the new wscons code
(and generates the NWSCONS etc include files)
 1.3 02-Feb-1998  sakamoto Eliminate __BROKEN_INDIRECT_CONFIG
 1.2 05-Nov-1997  thorpej Mark uses of long long with /* LONGLONG */ for lint. From
Chris Demetriou <cgd@pa.dec.com>.
 1.1 14-Oct-1997  sakamoto branches: 1.1.2;
Initial commit of NetBSD/bebox port.
 1.1.2.1 05-Nov-1997  thorpej Update from trunk: Mark usese of long long with /* LONGLONG */ for lint.
 1.5.32.1 01-Apr-2002  nathanw Catch up to -current.
(CVS: It's not just a program. It's an adventure!)
 1.5.28.1 16-Mar-2002  jdolecek Catch up with -current.
 1.6.50.1 14-Sep-2006  yamt sync with head.
 1.6.46.1 09-Sep-2006  rpaulo sync with head
 1.6.32.3 21-Jan-2008  yamt sync with head
 1.6.32.2 27-Oct-2007  yamt sync with head.
 1.6.32.1 30-Dec-2006  yamt sync with head.
 1.7.2.1 18-Nov-2006  ad Sync with head.
 1.8.34.1 25-Oct-2007  bouyer Sync with HEAD.
 1.8.32.1 18-Oct-2007  yamt sync with head.
 1.8.30.2 23-Mar-2008  matt sync with HEAD
 1.8.30.1 06-Nov-2007  matt sync with HEAD
 1.8.28.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.8.18.2 28-Jun-2007  ober Updates to move Bebox to the powerpc ISA code.
 1.8.18.1 02-May-2007  matt Make bebox build again. Use cpl,astpending,etc. from cpu_info.
Use powerpc generic softintr.
 1.8.10.1 23-Oct-2007  ad Sync with head.
 1.9.8.1 23-Jan-2008  bouyer Sync with HEAD.
 1.9.2.1 18-Feb-2008  mjf Sync with HEAD.
 1.10.32.1 05-Mar-2011  rmind sync with head
 1.10.30.1 17-Aug-2010  uebayasi Sync with HEAD.
 1.10.10.1 11-Aug-2010  yamt sync with head.
 1.12.68.1 03-Apr-2021  thorpej Sync with HEAD.
 1.12.66.1 03-Apr-2021  thorpej Sync with HEAD.
 1.4 04-Dec-1998  sakamoto Not used.
 1.3 28-May-1998  sakamoto Use new PowerPC-generic stuff(sys/arch/powerpc).
 1.2 05-Jan-1998  perry RCSID Police.
 1.1 14-Oct-1997  sakamoto Initial commit of NetBSD/bebox port.
 1.3 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.2 28-May-1998  sakamoto Use new PowerPC-generic stuff(sys/arch/powerpc).
 1.1 14-Oct-1997  sakamoto Initial commit of NetBSD/bebox port.
 1.16 20-Jun-2011  matt Don't export USER_SR if _MODULE is defined.
Add a common <powerpc/vmparam.h> like we have for <powerpc/pmap.h>
 1.15 17-Feb-2008  kiyohara branches: 1.15.42;
USER_SR defines 10, like prep.
 1.14 03-Feb-2003  matt branches: 1.14.18; 1.14.80; 1.14.86;
Rename PPC_MPC6XX to PPC_OEA (and any mpc6xx reference to oea).
 1.13 06-Jun-2001  matt branches: 1.13.8;
Change bebox port to use the include MPC6XX files and the new common bus.h
framework.
 1.12 01-May-2001  thorpej Per discussion w/ chuck and chuck, restructure the md page stuff
to use a structure called "vm_page_md", and use __HAVE_VM_PAGE_MD
and __HAVE_PMAP_PHYSSEG.
 1.11 29-Apr-2001  thorpej Add a VM_MDPAGE_MEMBERS macro that defines pmap-specific data for
each vm_page structure. Add a VM_MDPAGE_INIT() macro to init this
data when pages are initialized by UVM. These macros are mandatory,
but ports may #define them to nothing if they are not needed/used.

This deprecates struct pmap_physseg. As a transitional measure,
allow a port to #define PMAP_PHYSSEG so that it can continue to
use it until its pmap is converted to use VM_MDPAGE_MEMBERS.

Use all this stuff to eliminate a lot of extra work in the Alpha
pmap module (it's smaller and faster now). Changes to other pmap
modules will follow.
 1.10 11-Feb-2000  thorpej branches: 1.10.6;
Update for the NKMEMPAGES changes.
 1.9 04-Dec-1999  ragge CL* discarding.
 1.8 16-Apr-1999  thorpej branches: 1.8.2; 1.8.8;
Now that we have direct-mapped pool pages, we can garbage-collect VM_MBUF_SIZE
and don't need to allocate mb_map.
 1.7 23-Mar-1999  thorpej branches: 1.7.4;
VM_MBUF_SIZE is in terms of MCLBYTES, not CLBYTES.
 1.6 16-Jan-1999  chuck MNN is now the default
 1.5 24-Aug-1998  sakamoto vm_offset_t --> [pv]addr_t.
 1.4 09-Jun-1998  sakamoto Add UVM support.
 1.3 18-Feb-1998  mycroft Sync with powerpc/include/vmparam.h; removes some things which are not used.
 1.2 18-Dec-1997  sakamoto use pmap.c of port-powerpc.
mem_regions support.
 1.1 14-Oct-1997  sakamoto Initial commit of NetBSD/bebox port.
 1.7.4.2 06-Aug-1999  chs take an initial guess at UBC parameters.
 1.7.4.1 21-Jun-1999  thorpej Sync w/ -current.
 1.8.8.1 27-Dec-1999  wrstuden Pull up to last week's -current.
 1.8.2.1 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.10.6.1 21-Jun-2001  nathanw Catch up to -current.
 1.13.8.2 06-Jun-2001  matt Change bebox port to use the include MPC6XX files and the new common bus.h
framework.
 1.13.8.1 06-Jun-2001  matt file vmparam.h was added on branch nathanw_sa on 2001-06-06 17:42:32 +0000
 1.14.86.1 18-Feb-2008  mjf Sync with HEAD.
 1.14.80.1 23-Mar-2008  matt sync with HEAD
 1.14.18.1 27-Feb-2008  yamt sync with head.
 1.15.42.1 23-Jun-2011  cherry Catchup with rmind-uvmplock merge.
 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:33:36 +0000
 1.2 03-Feb-1998  sakamoto Remove MD ed,wdc drivers.
 1.1 14-Oct-1997  sakamoto Initial commit of NetBSD/bebox port.
 1.13 07-Apr-2000  thorpej Use dev/isa/fd.c.
 1.12 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.11 07-Feb-2000  thorpej Add a new function call to the ISA DMA API: isa_dmamaxsize(), which returns
the maximum transfer size for the specified DMA channel. Make all clients
of ISA DMA use this call to determine their maximum transfer size.
 1.10 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.9 21-Jan-2000  thorpej Update for sys/buf.h/disksort_*() changes.
 1.8 24-Jun-1999  sakamoto branches: 1.8.2; 1.8.8;
Sync with i386's fd.c, fdreg.h.
 1.7 22-Jun-1999  sakamoto Remove sc_id member from fdc_softc.
 1.6 15-Aug-1998  mycroft branches: 1.6.8;
Assign my copyrights to TNF.
 1.5 04-Jul-1998  jonathan defopt DDB.
 1.4 09-Jun-1998  thorpej Adjust for change to the ISA DMA API.
 1.3 02-Feb-1998  sakamoto Eliminate __BROKEN_INDIRECT_CONFIG
 1.2 12-Jan-1998  thorpej Update for changes to config.
 1.1 14-Oct-1997  sakamoto Initial commit of NetBSD/bebox port.
 1.6.8.1 01-Jul-1999  thorpej Sync w/ -current.
 1.8.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.8.2.1 20-Nov-2000  bouyer Remove files that are no longer on the trunck
 1.4 07-Apr-2000  thorpej Use dev/isa/fd.c.
 1.3 07-Feb-2000  thorpej Add a new function call to the ISA DMA API: isa_dmamaxsize(), which returns
the maximum transfer size for the specified DMA channel. Make all clients
of ISA DMA use this call to determine their maximum transfer size.
 1.2 24-Jun-1999  sakamoto branches: 1.2.2;
Sync with i386's fd.c, fdreg.h.
 1.1 14-Oct-1997  sakamoto branches: 1.1.12;
Initial commit of NetBSD/bebox port.
 1.1.12.1 01-Jul-1999  thorpej Sync w/ -current.
 1.2.2.1 20-Nov-2000  bouyer Remove files that are no longer on the trunck
 1.6 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.5 11-Dec-2005  christos branches: 1.5.30; 1.5.38; 1.5.48; 1.5.50; 1.5.52; 1.5.54;
merge ktrace-lwp.
 1.4 07-Aug-2003  agc branches: 1.4.16;
Move UCB-licensed code from 4-clause to 3-clause licence.

Patches provided by Joel Baker in PR 22364, verified by myself.
 1.3 01-Dec-1997  sakamoto branches: 1.3.48;
cleanup disused extern declaration.
 1.2 27-Nov-1997  sakamoto remove/import software interrupt model and external interrupt handler
from OpenBSD/powerpc.
move bus_space_* from bus_machdep.c to bus.h.
 1.1 14-Oct-1997  sakamoto branches: 1.1.2;
Initial commit of NetBSD/bebox port.
 1.1.2.1 28-Nov-1997  mellon Pull rev 1.2 up from trunk (sakamoto)
 1.3.48.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.3.48.2 18-Sep-2004  skrll Sync with HEAD.
 1.3.48.1 03-Aug-2004  skrll Sync with HEAD
 1.4.16.1 27-Oct-2007  yamt sync with head.
 1.5.54.1 25-Oct-2007  bouyer Sync with HEAD.
 1.5.52.1 18-Oct-2007  yamt sync with head.
 1.5.50.1 06-Nov-2007  matt sync with HEAD
 1.5.48.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.5.38.1 09-Oct-2007  ober Removing unused files replaced by OEA equivalents.
 1.5.30.1 23-Oct-2007  ad Sync with head.
 1.5 03-Feb-1998  sakamoto Remove MD ed,wdc drivers.
 1.4 12-Jan-1998  thorpej Update for changes to config.
 1.3 27-Nov-1997  sakamoto remove/import software interrupt model and external interrupt handler
from OpenBSD/powerpc.
move bus_space_* from bus_machdep.c to bus.h.
 1.2 16-Oct-1997  sakamoto branches: 1.2.2;
__VM_PMAP_HACK delete.
if_ed and lpt temporary support.
 1.1 14-Oct-1997  sakamoto Initial commit of NetBSD/bebox port.
 1.2.2.1 28-Nov-1997  mellon Pull rev 1.3 up from trunk (sakamoto)
 1.2 03-Feb-1998  sakamoto Remove MD ed,wdc drivers.
 1.1 16-Oct-1997  sakamoto __VM_PMAP_HACK delete.
if_ed and lpt temporary support.
 1.3 01-Dec-1997  sakamoto use dev/isa/isa.c instead of bebox/isa/isa.c
 1.2 27-Nov-1997  sakamoto remove/import software interrupt model and external interrupt handler
from OpenBSD/powerpc.
move bus_space_* from bus_machdep.c to bus.h.
 1.1 14-Oct-1997  sakamoto branches: 1.1.2;
Initial commit of NetBSD/bebox port.
 1.1.2.1 28-Nov-1997  mellon Pull rev 1.2 up from trunk (sakamoto)
 1.9 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.8 11-Dec-2005  christos branches: 1.8.30; 1.8.38; 1.8.48; 1.8.50; 1.8.52; 1.8.54;
merge ktrace-lwp.
 1.7 07-Aug-2003  agc branches: 1.7.16;
Move UCB-licensed code from 4-clause to 3-clause licence.

Patches provided by Joel Baker in PR 22364, verified by myself.
 1.6 15-Jul-2003  lukem __KERNEL_RCSID()
 1.5 04-Jun-2000  cgd branches: 1.5.26;
Implement the more flexiable `evcnt' interface as discussed (briefly) on
tech-kern and now documented in evcnt(9).
 1.4 19-Mar-1999  cgd branches: 1.4.8; 1.4.16;
if you pull in isavar.h, you don't need isa_machdep.h.
 1.3 15-Aug-1998  mycroft Assign my copyrights to TNF.
 1.2 27-Nov-1997  sakamoto remove/import software interrupt model and external interrupt handler
from OpenBSD/powerpc.
move bus_space_* from bus_machdep.c to bus.h.
 1.1 14-Oct-1997  sakamoto branches: 1.1.2;
Initial commit of NetBSD/bebox port.
 1.1.2.1 28-Nov-1997  mellon Pull rev 1.2 up from trunk (sakamoto)
 1.4.16.1 22-Jun-2000  minoura Sync w/ netbsd-1-5-base.
 1.4.8.1 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.5.26.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.5.26.2 18-Sep-2004  skrll Sync with HEAD.
 1.5.26.1 03-Aug-2004  skrll Sync with HEAD
 1.7.16.1 27-Oct-2007  yamt sync with head.
 1.8.54.1 25-Oct-2007  bouyer Sync with HEAD.
 1.8.52.1 18-Oct-2007  yamt sync with head.
 1.8.50.1 06-Nov-2007  matt sync with HEAD
 1.8.48.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.8.38.1 09-Oct-2007  ober Removing unused files replaced by OEA equivalents.
 1.8.30.1 23-Oct-2007  ad Sync with head.
 1.8 19-Mar-1999  cgd Moved to arch/bebox/include/isa_machdep.h,v
 1.7 24-Aug-1998  sakamoto vm_offset_t --> [pv]addr_t.
 1.6 09-Jun-1998  thorpej Add isa_dma{freeze,thaw}(), used to temporarily stop and then restart
all ISA DMA. Needed by e.g. the SmartCard reader for Sharks.
 1.5 09-Jun-1998  thorpej Change the ISA DMA API to take an isa_chipset_tag_t rather than
a struct device * corresponding to the ISA bus device. The ISA DMA
controller driver functions have been renamed and now take a struct
isa_dma_state *, and are called indirectly by machine-dependent code
which provides the DMA state.

These changes allow e.g. `ofisa' (the OpenFirmware configuration
mechanism for the ISA bus, used by e.g. Sharks) to use the MI ISA
DMA controller code.
 1.4 03-Jun-1998  thorpej Sync w/ i386 port:

Implement bounce buffers for mbufs.

Also, correct copyright snafus, and a forgot-o left over from a commit
I made yesterday.
 1.3 03-Feb-1998  sakamoto Change bebox_bus_{io,mem}.bus_base to BEBOX_BUS_SPACE_{IO,MEM}.
 1.2 27-Nov-1997  sakamoto remove/import software interrupt model and external interrupt handler
from OpenBSD/powerpc.
move bus_space_* from bus_machdep.c to bus.h.
 1.1 14-Oct-1997  sakamoto Initial commit of NetBSD/bebox port.
 1.16 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.15 09-Jul-2007  ad branches: 1.15.8; 1.15.10; 1.15.12; 1.15.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.14 15-Sep-2006  gdamore branches: 1.14.10; 1.14.12; 1.14.18;
Convert bebox to MI todr. As part of this, separate out the mc146818
clock handling. Originally reviewed with that committed as an MI driver
in dev/isa, crazy MD versions of mcclock made that impossible. So for
now I'm only handling it as an MD driver. Ok garbled@
 1.13 24-Dec-2005  perry branches: 1.13.20;
Remove leading __ from __(const|inline|signed|volatile) -- it is obsolete.
 1.12 11-Dec-2005  christos merge ktrace-lwp.
 1.11 10-Jun-2005  jmc branches: 1.11.2;
Constify, shadow resolution and some volatile casts
 1.10 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.9 15-Jul-2003  lukem __KERNEL_RCSID()
 1.8 22-Jul-2001  wiz branches: 1.8.6; 1.8.22;
bcopy -> memcpy, bcmp -> memcmp, bzero -> memset
 1.7 23-Mar-2000  thorpej branches: 1.7.8;
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.6 15-Aug-1998  mycroft branches: 1.6.12;
Make copyright notices with my name consistent.
 1.5 19-Jan-1998  drochner adapt to changed <dev/ic/i8253reg.h>
 1.4 19-Jan-1998  sakamoto eliminate unnecessary declaration.
 1.3 19-Jan-1998  sakamoto eliminate unnecessary code.
include dev/ic/i8253reg.h instead of timerreg.h
 1.2 27-Nov-1997  sakamoto remove/import software interrupt model and external interrupt handler
from OpenBSD/powerpc.
move bus_space_* from bus_machdep.c to bus.h.
 1.1 14-Oct-1997  sakamoto Initial commit of NetBSD/bebox port.
 1.6.12.1 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.7.8.1 03-Aug-2001  lukem update to -current
 1.8.22.4 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.8.22.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.8.22.2 18-Sep-2004  skrll Sync with HEAD.
 1.8.22.1 03-Aug-2004  skrll Sync with HEAD
 1.8.6.2 22-Jul-2001  wiz bcopy -> memcpy, bcmp -> memcmp, bzero -> memset
 1.8.6.1 22-Jul-2001  wiz file isaclock.c was added on branch nathanw_sa on 2001-07-22 14:34:37 +0000
 1.11.2.4 27-Oct-2007  yamt sync with head.
 1.11.2.3 03-Sep-2007  yamt sync with head.
 1.11.2.2 30-Dec-2006  yamt sync with head.
 1.11.2.1 21-Jun-2006  yamt sync with head.
 1.13.20.1 18-Nov-2006  ad Sync with head.
 1.14.18.2 09-Oct-2007  ober Removing unused files replaced by OEA equivalents.
 1.14.18.1 03-Oct-2007  garbled Sync with HEAD
 1.14.12.1 11-Jul-2007  mjf Sync with head.
 1.14.10.2 23-Oct-2007  ad Sync with head.
 1.14.10.1 15-Jul-2007  ad Sync with head.
 1.15.14.1 25-Oct-2007  bouyer Sync with HEAD.
 1.15.12.1 18-Oct-2007  yamt sync with head.
 1.15.10.1 06-Nov-2007  matt sync with HEAD
 1.15.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.3 05-Feb-1998  sakamoto Use dev/isa/isadma.c.
 1.2 04-Feb-1998  thorpej Add offset and length parameters to bus_dmamap_sync(), used for specifiying
partial syncs of a DMA mapping.
 1.1 14-Oct-1997  sakamoto Initial commit of NetBSD/bebox port.
 1.26 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.25 05-Mar-2007  he branches: 1.25.2; 1.25.10; 1.25.18; 1.25.20; 1.25.22; 1.25.24;
Use mtod(m, char*) when you want to do pointer arithmetic on the result.
 1.24 04-Mar-2007  christos Kill caddr_t; there will be some MI fallout, but it will be fixed shortly.
 1.23 11-Dec-2005  christos branches: 1.23.26;
merge ktrace-lwp.
 1.22 15-Jul-2003  lukem branches: 1.22.16;
__KERNEL_RCSID()
 1.21 05-May-2003  fvdl branches: 1.21.2;
Move definition of ISA_DMA_BOUNCE_THRESHOLD to dev/isa/isareg.h.
 1.20 01-Apr-2003  thorpej Use PAGE_SIZE rather than NBPG.
 1.19 22-Jul-2001  wiz branches: 1.19.6;
bcopy -> memcpy, bcmp -> memcmp, bzero -> memset
 1.18 06-Jun-2001  matt branches: 1.18.2;
Change bebox port to use the include MPC6XX files and the new common bus.h
framework.
 1.17 15-Nov-2000  thorpej branches: 1.17.2;
Move the ISA DMA cookie into isadma_machdep.c.
 1.16 29-Jun-2000  mrg remove include of <vm/vm.h>. <vm/vm.h> -> <uvm/uvm_extern.h>
 1.15 22-Jun-1999  sakamoto branches: 1.15.2;
Add casts for -Wall.
 1.14 19-Mar-1999  cgd branches: 1.14.4;
if you pull in isavar.h, you don't need isa_machdep.h.
 1.13 03-Oct-1998  thorpej If the memory range of the machine is such that no bouncing is necessary,
or if the device is capable of 32-bit DMA (specified by ISABUS_DMA_32BIT),
clear the map's bounce threshold at map creation time.
 1.12 24-Aug-1998  sakamoto vm_offset_t --> [pv]addr_t.
 1.11 09-Jun-1998  sakamoto add address conversion macro for MPC105 and some fix.
 1.10 03-Jun-1998  thorpej Sync w/ i386 port:

Eliminate some needless indirection through ISA DMA front-end functions.
 1.9 03-Jun-1998  thorpej Sync w/ i386 port:

Implement bounce buffers for mbufs.

Also, correct copyright snafus, and a forgot-o left over from a commit
I made yesterday.
 1.8 03-Jun-1998  thorpej Sync w/ i386 port:

Optimize the ISA DMA map load somewhat; don't traverse the buffer twice.
Instead, just attempt to do a normal load first. If we exceed the bounce
threshold or the number of segments, then we bounce the transfer.
 1.7 12-Feb-1998  sakamoto Sync with port-i386.
 1.6 11-Feb-1998  thorpej Use M_DMAMAP where appropriate.
 1.5 04-Feb-1998  thorpej Add offset and length parameters to bus_dmamap_sync(), used for specifiying
partial syncs of a DMA mapping.
 1.4 04-Feb-1998  thorpej Change the last argument of bus_dmamap_sync() from bus_dmasync_op_t to int,
and allow more than one synchronization operation to be specified in
a single call. Dissallow mixing of PRE and POST operations.
 1.3 18-Dec-1997  sakamoto remove avail_end temporarily for compile.
 1.2 27-Nov-1997  sakamoto remove/import software interrupt model and external interrupt handler
from OpenBSD/powerpc.
move bus_space_* from bus_machdep.c to bus.h.
 1.1 14-Oct-1997  sakamoto branches: 1.1.2;
Initial commit of NetBSD/bebox port.
 1.1.2.1 28-Nov-1997  mellon Pull rev 1.2 up from trunk (sakamoto)
 1.14.4.1 01-Jul-1999  thorpej Sync w/ -current.
 1.15.2.2 22-Nov-2000  bouyer Sync with HEAD.
 1.15.2.1 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.17.2.1 21-Jun-2001  nathanw Catch up to -current.
 1.18.2.1 03-Aug-2001  lukem update to -current
 1.19.6.2 22-Jul-2001  wiz bcopy -> memcpy, bcmp -> memcmp, bzero -> memset
 1.19.6.1 22-Jul-2001  wiz file isadma_machdep.c was added on branch nathanw_sa on 2001-07-22 14:34:37 +0000
 1.21.2.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.21.2.2 18-Sep-2004  skrll Sync with HEAD.
 1.21.2.1 03-Aug-2004  skrll Sync with HEAD
 1.22.16.2 27-Oct-2007  yamt sync with head.
 1.22.16.1 03-Sep-2007  yamt sync with head.
 1.23.26.1 12-Mar-2007  rmind Sync with HEAD.
 1.25.24.1 25-Oct-2007  bouyer Sync with HEAD.
 1.25.22.1 18-Oct-2007  yamt sync with head.
 1.25.20.1 06-Nov-2007  matt sync with HEAD
 1.25.18.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.25.10.1 09-Oct-2007  ober Removing unused files replaced by OEA equivalents.
 1.25.2.1 23-Oct-2007  ad Sync with head.
 1.6 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.5 11-Dec-2005  christos branches: 1.5.30; 1.5.38; 1.5.48; 1.5.50; 1.5.52; 1.5.54;
merge ktrace-lwp.
 1.4 15-Jul-2003  lukem branches: 1.4.16;
__KERNEL_RCSID()
 1.3 05-Sep-1998  christos branches: 1.3.46;
Assign copyright to TNF.
 1.2 13-Aug-1998  eeh Merge paddr_t changes into the main branch.
 1.1 31-Jul-1998  thorpej branches: 1.1.2;
First-cut support for ISA PnP for NetBSD/bebox.
 1.1.2.2 08-Aug-1998  eeh Revert cdevsw mmap routines to return int.
 1.1.2.1 31-Jul-1998  eeh file isapnp_machdep.c was added on branch eeh-paddr_t on 1998-08-08 03:06:38 +0000
 1.3.46.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.3.46.2 18-Sep-2004  skrll Sync with HEAD.
 1.3.46.1 03-Aug-2004  skrll Sync with HEAD
 1.4.16.1 27-Oct-2007  yamt sync with head.
 1.5.54.1 25-Oct-2007  bouyer Sync with HEAD.
 1.5.52.1 18-Oct-2007  yamt sync with head.
 1.5.50.1 06-Nov-2007  matt sync with HEAD
 1.5.48.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.5.38.1 09-Oct-2007  ober Removing unused files replaced by OEA equivalents.
 1.5.30.1 23-Oct-2007  ad Sync with head.
 1.4 19-Mar-1999  cgd Moved to arch/bebox/include/isapnp_machdep.h,v
 1.3 05-Sep-1998  christos Assign copyright to TNF.
 1.2 13-Aug-1998  eeh Merge paddr_t changes into the main branch.
 1.1 31-Jul-1998  thorpej branches: 1.1.2;
First-cut support for ISA PnP for NetBSD/bebox.
 1.1.2.2 08-Aug-1998  eeh Revert cdevsw mmap routines to return int.
 1.1.2.1 31-Jul-1998  eeh file isapnp_machdep.h was added on branch eeh-paddr_t on 1998-08-08 03:06:38 +0000
 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  wiz branches: 1.5.2; 1.5.4; 1.5.8;
withough -> without
 1.4 02-Feb-1998  sakamoto branches: 1.4.26;
Eliminate __BROKEN_INDIRECT_CONFIG
 1.3 12-Jan-1998  thorpej Update for changes to config.
 1.2 27-Nov-1997  sakamoto remove/import software interrupt model and external interrupt handler
from OpenBSD/powerpc.
move bus_space_* from bus_machdep.c to bus.h.
 1.1 14-Oct-1997  sakamoto branches: 1.1.2;
Initial commit of NetBSD/bebox port.
 1.1.2.1 28-Nov-1997  mellon Pull rev 1.2 up from trunk (sakamoto)
 1.4.26.1 21-Jun-2001  nathanw Catch up to -current.
 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:08:38 +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 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.3 13-Jun-2001  wiz branches: 1.3.2; 1.3.8;
withough -> without
 1.2 02-Feb-1998  sakamoto branches: 1.2.26;
Eliminate __BROKEN_INDIRECT_CONFIG
 1.1 14-Oct-1997  sakamoto Initial commit of NetBSD/bebox port.
 1.2.26.1 21-Jun-2001  nathanw Catch up to -current.
 1.3.8.2 28-Feb-2002  nathanw Catch up to -current.
 1.3.8.1 13-Jun-2001  nathanw file joy_isa.c was added on branch nathanw_sa on 2002-02-28 04:08:38 +0000
 1.3.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 15-Jul-2003  lukem branches: 1.3.8; 1.3.10;
__KERNEL_RCSID()
 1.2 06-Sep-2002  gehenna branches: 1.2.6;
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 02-Feb-2002  jdolecek branches: 1.1.2; 1.1.4; 1.1.12;
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.12.1 19-May-2002  gehenna Remove unnecessary #include
 1.1.4.3 17-Sep-2002  nathanw Catch up to -current.
 1.1.4.2 28-Feb-2002  nathanw Catch up to -current.
 1.1.4.1 02-Feb-2002  nathanw file joy_timer.c was added on branch nathanw_sa on 2002-02-28 04:08:38 +0000
 1.1.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.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:32 +0000
 1.2.6.4 04-Mar-2005  skrll Sync with HEAD.

Hi Perry!
 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.3.10.1 19-Mar-2005  yamt sync with head. xen and whitespace. xen part is not finished.
 1.3.8.1 29-Apr-2005  kent sync with -current
 1.3 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.2 13-Jun-2001  wiz branches: 1.2.2; 1.2.8;
withough -> without
 1.1 14-Oct-1997  sakamoto branches: 1.1.28;
Initial commit of NetBSD/bebox port.
 1.1.28.1 21-Jun-2001  nathanw Catch up to -current.
 1.2.8.2 28-Feb-2002  nathanw Catch up to -current.
 1.2.8.1 13-Jun-2001  nathanw file joyvar.h was added on branch nathanw_sa on 2002-02-28 04:08:38 +0000
 1.2.2.1 11-Feb-2002  jdolecek Sync w/ -current.
 1.2 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.1 14-Oct-1997  sakamoto branches: 1.1.66; 1.1.108; 1.1.116; 1.1.126; 1.1.128; 1.1.130; 1.1.132;
Initial commit of NetBSD/bebox port.
 1.1.132.1 25-Oct-2007  bouyer Sync with HEAD.
 1.1.130.1 18-Oct-2007  yamt sync with head.
 1.1.128.1 06-Nov-2007  matt sync with HEAD
 1.1.126.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.1.116.1 09-Oct-2007  ober Removing unused files replaced by OEA equivalents.
 1.1.108.1 23-Oct-2007  ad Sync with head.
 1.1.66.1 27-Oct-2007  yamt sync with head.
 1.14 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.13 04-Mar-2007  christos branches: 1.13.2; 1.13.10; 1.13.18; 1.13.20; 1.13.22; 1.13.24;
Kill caddr_t; there will be some MI fallout, but it will be fixed shortly.
 1.12 11-Dec-2005  christos branches: 1.12.26;
merge ktrace-lwp.
 1.11 15-Jul-2003  lukem branches: 1.11.16;
__KERNEL_RCSID()
 1.10 26-Nov-2002  christos branches: 1.10.6;
si_ -> sel_
 1.9 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.8 02-Oct-2002  thorpej Use CFATTACH_DECL().
 1.7 27-Sep-2002  thorpej Declare all cfattach structures const.
 1.6 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.5 16-Sep-2001  wiz branches: 1.5.4; 1.5.12;
Spell 'occurred' with two 'r's.
 1.4 15-Aug-1998  mycroft branches: 1.4.24; 1.4.26;
Make copyright notices with my name consistent.
 1.3 02-Feb-1998  sakamoto Eliminate __BROKEN_INDIRECT_CONFIG
 1.2 12-Jan-1998  thorpej Update for changes to config.
 1.1 14-Oct-1997  sakamoto Initial commit of NetBSD/bebox port.
 1.4.26.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.4.26.3 02-Oct-2002  jdolecek do not need the (void *) cast for kn_hook anymore
 1.4.26.2 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.4.26.1 09-Sep-2001  thorpej Add kqueue support (not compiled yet).
 1.4.24.2 10-Oct-2001  fvdl Convert all remaining devices.
 1.4.24.1 01-Oct-2001  fvdl Catch up with -current.
 1.5.12.1 17-May-2002  gehenna Add device switch.
 1.5.4.5 11-Dec-2002  thorpej Sync with HEAD.
 1.5.4.4 11-Nov-2002  nathanw Catch up to -current
 1.5.4.3 18-Oct-2002  nathanw Catch up to -current.
 1.5.4.2 17-Sep-2002  nathanw Catch up to -current.
 1.5.4.1 16-Sep-2001  nathanw file lms.c was added on branch nathanw_sa on 2002-09-17 21:13:56 +0000
 1.10.6.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.10.6.2 18-Sep-2004  skrll Sync with HEAD.
 1.10.6.1 03-Aug-2004  skrll Sync with HEAD
 1.11.16.2 27-Oct-2007  yamt sync with head.
 1.11.16.1 03-Sep-2007  yamt sync with head.
 1.12.26.1 12-Mar-2007  rmind Sync with HEAD.
 1.13.24.1 25-Oct-2007  bouyer Sync with HEAD.
 1.13.22.1 18-Oct-2007  yamt sync with head.
 1.13.20.1 06-Nov-2007  matt sync with HEAD
 1.13.18.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.13.10.1 09-Oct-2007  ober Removing unused files replaced by OEA equivalents.
 1.13.2.1 23-Oct-2007  ad Sync with head.
 1.6 20-Jun-2014  phx mc146818's sc_flag indicates the time is stored in binary format, not BCD.
So we should configure the chip's REGB for binary format as well.
This makes the BeBox RTC finally work reliable for me.
 1.5 01-Jul-2011  dyoung branches: 1.5.12; 1.5.26;
#include <sys/bus.h> instead of <machine/bus.h>.
 1.4 29-Mar-2008  tsutsui Don't forget to initialize sc_dev.
 1.3 28-Mar-2008  tsutsui Split device_t and softc for MI mc146818 clock,
and other related misc cosmetics.
 1.2 10-Jan-2008  tsutsui branches: 1.2.6;
Move todr_attach(9) calls from each MD attachment to MI mc146818_attach().
 1.1 15-Sep-2006  gdamore branches: 1.1.4; 1.1.8; 1.1.34; 1.1.40; 1.1.48;
Convert bebox to MI todr. As part of this, separate out the mc146818
clock handling. Originally reviewed with that committed as an MI driver
in dev/isa, crazy MD versions of mcclock made that impossible. So for
now I'm only handling it as an MD driver. Ok garbled@
 1.1.48.1 10-Jan-2008  bouyer Sync with HEAD
 1.1.40.1 18-Feb-2008  mjf Sync with HEAD.
 1.1.34.1 23-Mar-2008  matt sync with HEAD
 1.1.8.3 21-Jan-2008  yamt sync with head
 1.1.8.2 30-Dec-2006  yamt sync with head.
 1.1.8.1 15-Sep-2006  yamt file mcclock_isa.c was added on branch yamt-lazymbuf on 2006-12-30 20:45:45 +0000
 1.1.4.2 18-Nov-2006  ad Sync with head.
 1.1.4.1 15-Sep-2006  ad file mcclock_isa.c was added on branch newlock2 on 2006-11-18 21:29:08 +0000
 1.2.6.1 03-Apr-2008  mjf Sync with HEAD.
 1.5.26.1 10-Aug-2014  tls Rebase.
 1.5.12.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.15 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.14 04-Mar-2007  christos branches: 1.14.2; 1.14.10; 1.14.18; 1.14.20; 1.14.22; 1.14.24;
Kill caddr_t; there will be some MI fallout, but it will be fixed shortly.
 1.13 11-Dec-2005  christos branches: 1.13.26;
merge ktrace-lwp.
 1.12 15-Jul-2003  lukem branches: 1.12.16;
__KERNEL_RCSID()
 1.11 26-Nov-2002  christos branches: 1.11.6;
si_ -> sel_
 1.10 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.9 02-Oct-2002  thorpej Use CFATTACH_DECL().
 1.8 27-Sep-2002  thorpej Declare all cfattach structures const.
 1.7 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.6 16-Sep-2001  wiz branches: 1.6.4; 1.6.12;
Spell 'occurred' with two 'r's.
 1.5 15-Aug-1998  mycroft branches: 1.5.24; 1.5.26;
Make copyright notices with my name consistent.
 1.4 02-Feb-1998  sakamoto Eliminate __BROKEN_INDIRECT_CONFIG
 1.3 12-Jan-1998  thorpej Update for changes to config.
 1.2 27-Nov-1997  sakamoto remove/import software interrupt model and external interrupt handler
from OpenBSD/powerpc.
move bus_space_* from bus_machdep.c to bus.h.
 1.1 14-Oct-1997  sakamoto branches: 1.1.2;
Initial commit of NetBSD/bebox port.
 1.1.2.1 28-Nov-1997  mellon Pull rev 1.2 up from trunk (sakamoto)
 1.5.26.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.5.26.3 02-Oct-2002  jdolecek do not need the (void *) cast for kn_hook anymore
 1.5.26.2 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.5.26.1 09-Sep-2001  thorpej Add kqueue support (not compiled yet).
 1.5.24.2 10-Oct-2001  fvdl Convert all remaining devices.
 1.5.24.1 01-Oct-2001  fvdl Catch up with -current.
 1.6.12.1 17-May-2002  gehenna Add device switch.
 1.6.4.5 11-Dec-2002  thorpej Sync with HEAD.
 1.6.4.4 11-Nov-2002  nathanw Catch up to -current
 1.6.4.3 18-Oct-2002  nathanw Catch up to -current.
 1.6.4.2 17-Sep-2002  nathanw Catch up to -current.
 1.6.4.1 16-Sep-2001  nathanw file mms.c was added on branch nathanw_sa on 2002-09-17 21:13:56 +0000
 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.16.2 27-Oct-2007  yamt sync with head.
 1.12.16.1 03-Sep-2007  yamt sync with head.
 1.13.26.1 12-Mar-2007  rmind Sync with HEAD.
 1.14.24.1 25-Oct-2007  bouyer Sync with HEAD.
 1.14.22.1 18-Oct-2007  yamt sync with head.
 1.14.20.1 06-Nov-2007  matt sync with HEAD
 1.14.18.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.14.10.1 09-Oct-2007  ober Removing unused files replaced by OEA equivalents.
 1.14.2.1 23-Oct-2007  ad Sync with head.
 1.4 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.3 11-Dec-2005  christos branches: 1.3.30; 1.3.38; 1.3.48; 1.3.50; 1.3.52; 1.3.54;
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 14-Oct-1997  sakamoto branches: 1.1.50;
Initial commit of NetBSD/bebox port.
 1.1.50.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.1.50.2 18-Sep-2004  skrll Sync with HEAD.
 1.1.50.1 03-Aug-2004  skrll Sync with HEAD
 1.2.16.1 27-Oct-2007  yamt sync with head.
 1.3.54.1 25-Oct-2007  bouyer Sync with HEAD.
 1.3.52.1 18-Oct-2007  yamt sync with head.
 1.3.50.1 06-Nov-2007  matt sync with HEAD
 1.3.48.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.3.38.1 09-Oct-2007  ober Removing unused files replaced by OEA equivalents.
 1.3.30.1 23-Oct-2007  ad Sync with head.
 1.44 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.43 09-Jul-2007  ad branches: 1.43.8; 1.43.10; 1.43.12; 1.43.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.42 04-Mar-2007  christos branches: 1.42.2; 1.42.4; 1.42.10;
Kill caddr_t; there will be some MI fallout, but it will be fixed shortly.
 1.41 01-Oct-2006  elad branches: 1.41.4;
Adapt MD code to KAUTH_DEVICE_TTY_OPEN. Patch from Matt Fleming, thanks!
 1.40 23-Jul-2006  ad branches: 1.40.4; 1.40.6;
Use the LWP cached credentials where sane.
 1.39 14-May-2006  elad integrate kauth.
 1.38 26-Mar-2006  thorpej Use device_unit().
 1.37 24-Dec-2005  perry branches: 1.37.4; 1.37.6; 1.37.8; 1.37.10; 1.37.12;
Remove leading __ from __(const|inline|signed|volatile) -- it is obsolete.
 1.36 11-Dec-2005  christos merge ktrace-lwp.
 1.35 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.34 10-Jun-2005  jmc branches: 1.34.2;
Constify, shadow resolution and some volatile casts
 1.33 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.32 13-Feb-2004  wiz Uppercase CPU, plural is CPUs.
 1.31 24-Oct-2003  matt Update to latest i386 version.
 1.30 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.29 15-Jul-2003  lukem __KERNEL_RCSID()
 1.28 23-Jun-2003  martin branches: 1.28.2;
Make sure to include opt_foo.h if a defflag option FOO is used.
 1.27 17-Jan-2003  thorpej Merge the nathanw_sa branch.
 1.26 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.25 02-Oct-2002  thorpej Use CFATTACH_DECL().
 1.24 27-Sep-2002  thorpej Declare all cfattach structures const.
 1.23 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.22 17-Mar-2002  atatat branches: 1.22.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.21 22-Jul-2001  wiz branches: 1.21.2; 1.21.6;
bcopy -> memmove
 1.20 02-May-2001  scw branches: 1.20.2;
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.19 02-Nov-2000  eeh branches: 1.19.2;
Adapt to the new line discipline scheme.
 1.18 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.17 23-Mar-2000  thorpej branches: 1.17.4;
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 19-Mar-1999  cgd branches: 1.15.8;
if you pull in isavar.h, you don't need isa_machdep.h.
 1.14 19-Nov-1998  mrg fix problems in many d_mmap routines:
- returned EOPNOTSUPP rather than -1.
- no check for negative offset.
many of these fix potential security problems in these drivers.


XXX XXX XXX
the d_mmap cdev routine should be changed to have a prototype like:
paddr_t (*d_mmap) __P((dev_t, off_t, int));

by someone!
 1.13 15-Aug-1998  mycroft Assign my copyrights to TNF.
 1.12 15-Aug-1998  mycroft Make copyright notices with my name consistent.
 1.11 27-Jul-1998  perry NORVEGIAN -> NORWEGIAN
 1.10 05-Jul-1998  jonathan * defopt COMPAT_{09,10,11,12,13} and COMPAT_NOMID.
TODO: revisit interaction between native compat and emul compat usage.
 1.9 04-Jul-1998  jonathan defopt DDB.
 1.8 21-Mar-1998  mycroft Eliminate uses of TS_WOPEN in hard-wired devices.
 1.7 02-Feb-1998  sakamoto Eliminate __BROKEN_INDIRECT_CONFIG
 1.6 19-Jan-1998  sakamoto Sync with arch/i386/isa/pccons.c
 1.5 18-Jan-1998  drochner adapt to changed <dev/ic/i8042reg.h>
 1.4 12-Jan-1998  thorpej Update for changes to config.
 1.3 12-Dec-1997  sakamoto add bus_space_{read,write}_multi_N macros
some fix.
 1.2 27-Nov-1997  sakamoto remove/import software interrupt model and external interrupt handler
from OpenBSD/powerpc.
move bus_space_* from bus_machdep.c to bus.h.
 1.1 14-Oct-1997  sakamoto branches: 1.1.2;
Initial commit of NetBSD/bebox port.
 1.1.2.2 23-Nov-1998  cgd Fix many real and potential security problems with character device
driver mmap routines that did not properly bounds check offsets.
See NetBSD security advisory NetBSD-SA1998-005 for details. Done
as a patch because it's large, and a fair number of bits are different
in -current. (mrg)
 1.1.2.1 28-Nov-1997  mellon Pull rev 1.2 up from trunk (sakamoto)
 1.15.8.2 22-Nov-2000  bouyer Sync with HEAD.
 1.15.8.1 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.17.4.1 30-Jun-2000  simonb Pull up mmap paddr_t/off_t changes from trunk.
 1.19.2.1 21-Jun-2001  nathanw Catch up to -current.
 1.20.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.20.2.2 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.20.2.1 03-Aug-2001  lukem update to -current
 1.21.6.7 11-Nov-2002  nathanw Catch up to -current
 1.21.6.6 18-Oct-2002  nathanw Catch up to -current.
 1.21.6.5 17-Sep-2002  nathanw Catch up to -current.
 1.21.6.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.21.6.3 01-Apr-2002  nathanw Catch up to -current.
(CVS: It's not just a program. It's an adventure!)
 1.21.6.2 05-Nov-2001  briggs Initial SA support for ppc. Test-booted on sandpoint, macppc, & walnut.
mcontext and cpu_getmcontext()/cpu_setmcontext() from Klaus Klein
<kleink@netbsd.org>.
 1.21.6.1 22-Jul-2001  briggs file pccons.c was added on branch nathanw_sa on 2001-11-05 19:46:13 +0000
 1.21.2.2 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.21.2.1 10-Oct-2001  fvdl Convert all remaining devices.
 1.22.4.1 19-May-2002  gehenna Add device switch.
Replace the access to devsw table and the hard-coded majors with devsw API.
 1.28.2.5 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.28.2.4 17-Jan-2005  skrll Adapt to branch.
 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.4 27-Oct-2007  yamt sync with head.
 1.34.2.3 03-Sep-2007  yamt sync with head.
 1.34.2.2 30-Dec-2006  yamt sync with head.
 1.34.2.1 21-Jun-2006  yamt sync with head.
 1.37.12.2 24-May-2006  tron Merge 2006-05-24 NetBSD-current into the "peter-altq" branch.
 1.37.12.1 28-Mar-2006  tron Merge 2006-03-28 NetBSD-current into the "peter-altq" branch.
 1.37.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.37.10.3 19-Apr-2006  elad sync with head - hopefully this will work
 1.37.10.2 10-Mar-2006  elad generic_authorize() -> kauth_authorize_generic().
 1.37.10.1 08-Mar-2006  elad Adapt to kernel authorization KPI.

I expect *some* lossage here...
 1.37.8.3 11-Aug-2006  yamt sync with head
 1.37.8.2 24-May-2006  yamt sync with head.
 1.37.8.1 01-Apr-2006  yamt sync with head.
 1.37.6.2 01-Jun-2006  kardel Sync with head.
 1.37.6.1 22-Apr-2006  simonb Sync with head.
 1.37.4.1 09-Sep-2006  rpaulo sync with head
 1.40.6.1 22-Oct-2006  yamt sync with head
 1.40.4.1 18-Nov-2006  ad Sync with head.
 1.41.4.1 12-Mar-2007  rmind Sync with HEAD.
 1.42.10.2 09-Oct-2007  ober Removing unused files replaced by OEA equivalents.
 1.42.10.1 03-Oct-2007  garbled Sync with HEAD
 1.42.4.1 11-Jul-2007  mjf Sync with head.
 1.42.2.2 23-Oct-2007  ad Sync with head.
 1.42.2.1 15-Jul-2007  ad Sync with head.
 1.43.14.1 25-Oct-2007  bouyer Sync with HEAD.
 1.43.12.1 18-Oct-2007  yamt sync with head.
 1.43.10.1 06-Nov-2007  matt sync with HEAD
 1.43.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.8 18-Apr-2002  wiz Remove opms(4) for bebox (superseded by pms(4)).

Approved by christos.
 1.7 16-Sep-2001  wiz branches: 1.7.4;
Spell 'occurred' with two 'r's.
 1.6 28-Sep-1998  sakamoto branches: 1.6.24; 1.6.26;
pcvt is no longer used with bebox.
 1.5 15-Aug-1998  mycroft Make copyright notices with my name consistent.
 1.4 02-Feb-1998  sakamoto Eliminate __BROKEN_INDIRECT_CONFIG
 1.3 12-Jan-1998  thorpej Update for changes to config.
 1.2 27-Nov-1997  sakamoto remove/import software interrupt model and external interrupt handler
from OpenBSD/powerpc.
move bus_space_* from bus_machdep.c to bus.h.
 1.1 14-Oct-1997  sakamoto branches: 1.1.2;
Initial commit of NetBSD/bebox port.
 1.1.2.1 28-Nov-1997  mellon Pull rev 1.2 up from trunk (sakamoto)
 1.6.26.3 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.6.26.2 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.6.26.1 09-Sep-2001  thorpej Add kqueue support (not compiled yet).
 1.6.24.2 10-Oct-2001  fvdl Convert all remaining devices.
 1.6.24.1 01-Oct-2001  fvdl Catch up with -current.
 1.7.4.2 20-Jun-2002  nathanw Catch up to -current.
 1.7.4.1 16-Sep-2001  nathanw file pms.c was added on branch nathanw_sa on 2002-06-20 03:38:23 +0000
 1.19 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.18 04-Mar-2007  christos branches: 1.18.2; 1.18.10; 1.18.18; 1.18.20; 1.18.22; 1.18.24;
Kill caddr_t; there will be some MI fallout, but it will be fixed shortly.
 1.17 22-Feb-2007  thorpej TRUE -> true, FALSE -> false
 1.16 29-Mar-2006  thorpej branches: 1.16.14;
Use device_cfdata().
 1.15 25-Feb-2006  thorpej branches: 1.15.2; 1.15.4; 1.15.6;
Use device_is_a().
 1.14 11-Dec-2005  christos branches: 1.14.2; 1.14.4; 1.14.6;
merge ktrace-lwp.
 1.13 15-Jul-2003  lukem branches: 1.13.16;
__KERNEL_RCSID()
 1.12 23-Oct-2002  jdolecek branches: 1.12.6;
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.11 02-Oct-2002  thorpej Use CFATTACH_DECL().
 1.10 27-Sep-2002  thorpej Declare all cfattach structures const.
 1.9 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.8 06-Sep-2002  gehenna Merge the gehenna-devsw branch into the trunk.

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

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

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

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

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

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

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

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

- In compile time, device major numbers list is packed into the kernel and
the LKM framework will refer it to assign device major number dynamically.
 1.7 27-May-2000  thorpej branches: 1.7.6; 1.7.8; 1.7.12; 1.7.20;
Don't use sleep() and callouts; just use tsleep().
 1.6 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.5 28-Sep-1998  sakamoto branches: 1.5.12;
pcvt is no longer used with bebox.
 1.4 02-Feb-1998  sakamoto Eliminate __BROKEN_INDIRECT_CONFIG
 1.3 12-Jan-1998  thorpej Update for changes to config.
 1.2 27-Nov-1997  sakamoto remove/import software interrupt model and external interrupt handler
from OpenBSD/powerpc.
move bus_space_* from bus_machdep.c to bus.h.
 1.1 14-Oct-1997  sakamoto branches: 1.1.2;
Initial commit of NetBSD/bebox port.
 1.1.2.1 28-Nov-1997  mellon Pull rev 1.2 up from trunk (sakamoto)
 1.5.12.1 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.7.20.1 17-May-2002  gehenna Add device switch.
 1.7.12.3 11-Nov-2002  nathanw Catch up to -current
 1.7.12.2 18-Oct-2002  nathanw Catch up to -current.
 1.7.12.1 17-Sep-2002  nathanw Catch up to -current.
 1.7.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.7.6.1 10-Oct-2001  fvdl Convert all remaining devices.
 1.12.6.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.12.6.2 18-Sep-2004  skrll Sync with HEAD.
 1.12.6.1 03-Aug-2004  skrll Sync with HEAD
 1.13.16.4 27-Oct-2007  yamt sync with head.
 1.13.16.3 03-Sep-2007  yamt sync with head.
 1.13.16.2 26-Feb-2007  yamt sync with head.
 1.13.16.1 21-Jun-2006  yamt sync with head.
 1.14.6.1 22-Apr-2006  simonb Sync with head.
 1.14.4.1 09-Sep-2006  rpaulo sync with head
 1.14.2.1 01-Mar-2006  yamt sync with head.
 1.15.6.1 31-Mar-2006  tron Merge 2006-03-31 NetBSD-current into the "peter-altq" branch.
 1.15.4.1 19-Apr-2006  elad sync with head - hopefully this will work
 1.15.2.1 01-Apr-2006  yamt sync with head.
 1.16.14.2 12-Mar-2007  rmind Sync with HEAD.
 1.16.14.1 27-Feb-2007  yamt - sync with head.
- move sched_changepri back to kern_synch.c as it doesn't know PPQ anymore.
 1.18.24.1 25-Oct-2007  bouyer Sync with HEAD.
 1.18.22.1 18-Oct-2007  yamt sync with head.
 1.18.20.1 06-Nov-2007  matt sync with HEAD
 1.18.18.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.18.10.1 09-Oct-2007  ober Removing unused files replaced by OEA equivalents.
 1.18.2.1 23-Oct-2007  ad Sync with head.
 1.2 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.1 14-Oct-1997  sakamoto branches: 1.1.66; 1.1.108; 1.1.116; 1.1.126; 1.1.128; 1.1.130; 1.1.132;
Initial commit of NetBSD/bebox port.
 1.1.132.1 25-Oct-2007  bouyer Sync with HEAD.
 1.1.130.1 18-Oct-2007  yamt sync with head.
 1.1.128.1 06-Nov-2007  matt sync with HEAD
 1.1.126.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.1.116.1 09-Oct-2007  ober Removing unused files replaced by OEA equivalents.
 1.1.108.1 23-Oct-2007  ad Sync with head.
 1.1.66.1 27-Oct-2007  yamt sync with head.
 1.2 03-Feb-1998  sakamoto Remove MD ed,wdc drivers.
 1.1 14-Oct-1997  sakamoto Initial commit of NetBSD/bebox port.
 1.10 17-Oct-2007  garbled Merge the ppcoea-renovation branch to HEAD.

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

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

NOTES:
pmppc was removed as an arch, and moved to a evbppc target.
 1.9 04-Mar-2007  christos branches: 1.9.2; 1.9.4; 1.9.6; 1.9.10; 1.9.12; 1.9.14;
Kill caddr_t; there will be some MI fallout, but it will be fixed shortly.
 1.8 14-May-2006  elad branches: 1.8.8;
integrate kauth.
 1.7 15-Jul-2003  lukem branches: 1.7.6; 1.7.16; 1.7.20; 1.7.22; 1.7.24;
__KERNEL_RCSID()
 1.6 06-Sep-2002  gehenna branches: 1.6.6;
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.5 13-Aug-1998  eeh branches: 1.5.8; 1.5.10; 1.5.12; 1.5.14; 1.5.24; 1.5.26;
Merge paddr_t changes into the main branch.
 1.4 12-Jan-1998  thorpej branches: 1.4.2;
Update for changes to config.
 1.3 15-Dec-1997  sakamoto support IDE hard disk controllers (wdc) and drives (wd)
put wdc.c into bebox/isa directory temporarily
 1.2 27-Nov-1997  sakamoto remove/import software interrupt model and external interrupt handler
from OpenBSD/powerpc.
move bus_space_* from bus_machdep.c to bus.h.
 1.1 14-Oct-1997  sakamoto branches: 1.1.2;
Initial commit of NetBSD/bebox port.
 1.1.2.2 10-May-1998  mycroft Pull up patch from mycroft.
 1.1.2.1 28-Nov-1997  mellon Pull rev 1.2 up from trunk (sakamoto)
 1.4.2.1 08-Aug-1998  eeh Revert cdevsw mmap routines to return int.
 1.5.26.2 17-Sep-2002  nathanw Catch up to -current.
 1.5.26.1 13-Aug-2002  nathanw Catch up to -current.
 1.5.24.1 17-May-2002  gehenna Add device switch.
 1.5.14.1 01-Oct-2001  fvdl Catch up with -current.
 1.5.12.1 11-Feb-2002  jdolecek Sync w/ -current.
 1.5.10.1 21-Jun-2001  nathanw Catch up to -current.
 1.5.8.1 15-Nov-1999  fvdl Sync with -current
 1.6.6.1 03-Aug-2004  skrll Sync with HEAD
 1.7.24.1 19-Apr-2006  elad sync with head - hopefully this will work
 1.7.22.2 28-Mar-2006  tron Remove dead file which the last merge brought back for some strange reason.
 1.7.22.1 28-Mar-2006  tron Merge 2006-03-28 NetBSD-current into the "peter-altq" branch.
 1.7.20.1 14-Sep-2006  yamt sync with head.
 1.7.16.1 09-Sep-2006  rpaulo sync with head
 1.7.6.2 27-Oct-2007  yamt sync with head.
 1.7.6.1 03-Sep-2007  yamt sync with head.
 1.8.8.1 12-Mar-2007  rmind Sync with HEAD.
 1.9.14.1 25-Oct-2007  bouyer Sync with HEAD.
 1.9.12.1 18-Oct-2007  yamt sync with head.
 1.9.10.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.9.6.2 11-Jul-2007  mjf Sync with head.
 1.9.6.1 04-Mar-2007  mjf file wd.c was added on branch mjf-ufs-trans on 2007-07-11 19:58:26 +0000
 1.9.4.1 09-Oct-2007  ober Removing unused files replaced by OEA equivalents.
 1.9.2.3 23-Oct-2007  ad Sync with head.
 1.9.2.2 09-Oct-2007  ad Sync with head.
 1.9.2.1 09-Jun-2007  ad Sync with head.
 1.4 03-Feb-1998  sakamoto Remove MD ed,wdc drivers.
 1.3 12-Jan-1998  thorpej Update for changes to config.
 1.2 12-Jan-1998  sakamoto Sync w/ dev/isa/wdc.c
 1.1 15-Dec-1997  sakamoto support IDE hard disk controllers (wdc) and drives (wd)
put wdc.c into bebox/isa directory temporarily
 1.10 17-Oct-2007  garbled Merge the ppcoea-renovation branch to HEAD.

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

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

NOTES:
pmppc was removed as an arch, and moved to a evbppc target.
 1.9 11-Dec-2005  christos branches: 1.9.30; 1.9.38; 1.9.48; 1.9.50; 1.9.52; 1.9.54;
merge ktrace-lwp.
 1.8 29-Jul-2004  drochner branches: 1.8.12;
remove some typecasts to "cfmatch_t" which are obviously relicts from
__BROKEN_INDIRECT_CONFIG times
 1.7 23-Apr-2004  itojun pass string length (= boundary info) to pci_devinfo so that we do not run over
the end of memory region
 1.6 15-Jul-2003  lukem __KERNEL_RCSID()
 1.5 02-Oct-2002  thorpej branches: 1.5.6;
Use CFATTACH_DECL().
 1.4 27-Sep-2002  thorpej Declare all cfattach structures const.
 1.3 18-Jan-2000  thorpej branches: 1.3.8; 1.3.12;
No need to define MPC105 and MPC106 PCI products here.
 1.2 12-Jan-1998  thorpej branches: 1.2.14;
Update for changes to config.
 1.1 14-Oct-1997  sakamoto Initial commit of NetBSD/bebox port.
 1.2.14.1 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.3.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.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.8.12.1 27-Oct-2007  yamt sync with head.
 1.9.54.1 25-Oct-2007  bouyer Sync with HEAD.
 1.9.52.1 18-Oct-2007  yamt sync with head.
 1.9.50.1 06-Nov-2007  matt sync with HEAD
 1.9.48.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.9.38.1 09-Oct-2007  ober Cleanup of more unused files replaced by oea functions
 1.9.30.1 23-Oct-2007  ad Sync with head.
 1.22 19-Oct-2016  nonaka Added MSI/MSI-X and interrupt_distribute(9) support for powerpc.
 1.21 01-Jul-2011  dyoung branches: 1.21.12; 1.21.30; 1.21.34;
#include <sys/bus.h> instead of <machine/bus.h>.
 1.20 30-Jun-2011  matt Modify mapiodev to take a third argument indicating whether the space
should be prefetchable (true) or not (false).
 1.19 22-Jun-2011  matt Add support pci_intr_setattr.
Export non-inline version of pci api for modules (_MODULE is defined).
Fix definition of pc_conf_hook and pc_conf_interrupt.
Switch to using inlines instead of macros.
Switch ibm4xx to use <powerpc/pci_machdep.h>
 1.18 03-Nov-2010  kiyohara Calculate IRQ from swiz, if bus != 0.
 1.17 30-May-2008  kiyohara branches: 1.17.18; 1.17.20;
Remove unused prototype for function.
 1.16 17-Feb-2008  kiyohara branches: 1.16.6; 1.16.8; 1.16.10; 1.16.12;
Interrupt setting of PCI from 3.1. In present interrupt, 32
BeInterruptController queues up following i8259(16).
 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 11-Dec-2005  christos branches: 1.14.30; 1.14.38; 1.14.48; 1.14.50; 1.14.52; 1.14.54;
merge ktrace-lwp.
 1.13 15-Jul-2003  lukem branches: 1.13.16;
__KERNEL_RCSID()
 1.12 27-Sep-2002  provos branches: 1.12.6;
remove trailing \n in panic(). approved perry.
 1.11 29-Oct-2001  thorpej branches: 1.11.2;
pci_conf_interrupt() takes bus/dev/pin, not bus/dev/func.
 1.10 06-Jun-2001  matt branches: 1.10.2; 1.10.6;
Change bebox port to use the include MPC6XX files and the new common bus.h
framework.
 1.9 12-Feb-2001  briggs branches: 1.9.2;
Supply a pci_bus_dma_tag.
Use intr_establish()/intr_distestablish() instead of calling through ISA
routines.
Supply a pci_conf_interrupt() function to assign interrupt lines for the
bus configuration.
 1.8 28-Dec-2000  sommerfeld Change pci_intr_map to get interrupt source information from a "struct
pci_attach_args *" instead of from four separate parameters which in
all cases were extracted from the same "struct pci_attach_args".

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

Tested on alpha and i386; welcome to 1.5Q
 1.7 29-Jun-2000  mrg remove include of <vm/vm.h>. <vm/vm.h> -> <uvm/uvm_extern.h>
 1.6 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.5 04-Jun-2000  cgd Implement the more flexiable `evcnt' interface as discussed (briefly) on
tech-kern and now documented in evcnt(9).
 1.4 15-Aug-1998  mycroft branches: 1.4.12; 1.4.20;
Make copyright notices with my name consistent.
 1.3 03-Feb-1998  sakamoto Change bebox_bus_{io,mem}.bus_base to BEBOX_BUS_SPACE_{IO,MEM}.
 1.2 27-Nov-1997  sakamoto remove/import software interrupt model and external interrupt handler
from OpenBSD/powerpc.
move bus_space_* from bus_machdep.c to bus.h.
 1.1 14-Oct-1997  sakamoto branches: 1.1.2;
Initial commit of NetBSD/bebox port.
 1.1.2.1 28-Nov-1997  mellon Pull rev 1.2 up from trunk (sakamoto)
 1.4.20.1 22-Jun-2000  minoura Sync w/ netbsd-1-5-base.
 1.4.12.3 12-Mar-2001  bouyer Sync with HEAD.
 1.4.12.2 05-Jan-2001  bouyer Sync with HEAD
 1.4.12.1 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.9.2.1 21-Jun-2001  nathanw Catch up to -current.
 1.10.6.1 12-Nov-2001  thorpej Sync the thorpej-mips-cache branch with -current.
 1.10.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.10.2.1 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.11.2.2 18-Oct-2002  nathanw Catch up to -current.
 1.11.2.1 29-Oct-2001  nathanw file pci_machdep.c was added on branch nathanw_sa on 2002-10-18 02:36:05 +0000
 1.12.6.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.12.6.2 18-Sep-2004  skrll Sync with HEAD.
 1.12.6.1 03-Aug-2004  skrll Sync with HEAD
 1.13.16.2 27-Feb-2008  yamt sync with head.
 1.13.16.1 27-Oct-2007  yamt sync with head.
 1.14.54.1 25-Oct-2007  bouyer Sync with HEAD.
 1.14.52.1 18-Oct-2007  yamt sync with head.
 1.14.50.2 23-Mar-2008  matt sync with HEAD
 1.14.50.1 06-Nov-2007  matt sync with HEAD
 1.14.48.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.14.38.2 08-Jul-2007  ober More cleanups of intr.h and headers.
 1.14.38.1 08-Jul-2007  ober Updates to make use of the common powerpc pci code base.
 1.14.30.1 23-Oct-2007  ad Sync with head.
 1.15.2.1 18-Feb-2008  mjf Sync with HEAD.
 1.16.12.1 23-Jun-2008  wrstuden Sync w/ -current. 34 merge conflicts to follow.
 1.16.10.1 04-May-2009  yamt sync with head.
 1.16.8.1 04-Jun-2008  yamt sync with head
 1.16.6.1 02-Jun-2008  mjf Sync with HEAD.
 1.17.20.1 05-Mar-2011  rmind sync with head
 1.17.18.1 06-Nov-2010  uebayasi Sync with HEAD.
 1.21.34.1 04-Nov-2016  pgoyette Sync with HEAD
 1.21.30.1 05-Dec-2016  skrll Sync with HEAD
 1.21.12.1 03-Dec-2017  jdolecek update from HEAD
 1.4 19-Mar-1999  cgd Moved to arch/bebox/include/pci_machdep.h,v
 1.3 24-Aug-1998  sakamoto vm_offset_t --> [pv]addr_t.
 1.2 15-Aug-1998  mycroft Make copyright notices with my name consistent.
 1.1 14-Oct-1997  sakamoto Initial commit of NetBSD/bebox port.
 1.19 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.18 11-Dec-2005  christos branches: 1.18.30; 1.18.38; 1.18.48; 1.18.50; 1.18.52; 1.18.54;
merge ktrace-lwp.
 1.17 30-Aug-2004  drochner branches: 1.17.12;
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.16 23-Apr-2004  itojun pass string length (= boundary info) to pci_devinfo so that we do not run over
the end of memory region
 1.15 15-Jul-2003  lukem __KERNEL_RCSID()
 1.14 06-Mar-2003  matt branches: 1.14.2;
Make most of PPC (OEA) bus_space's identical (or as identical as possible).
(except mvmeppc).
 1.13 01-Jan-2003  thorpej Use aprint_normal() for cfprint routines.
 1.12 02-Oct-2002  thorpej Use CFATTACH_DECL().
 1.11 27-Sep-2002  thorpej Declare all cfattach structures const.
 1.10 22-Jul-2001  wiz branches: 1.10.6;
bcopy -> memcpy, bcmp -> memcmp, bzero -> memset
 1.9 06-Jun-2001  matt branches: 1.9.2;
Change bebox port to use the include MPC6XX files and the new common bus.h
framework.
 1.8 09-Jun-1998  thorpej branches: 1.8.26;
Use config_defer().
 1.7 09-Jun-1998  thorpej Provide an isa_chipset_tag_t to children.
 1.6 12-Feb-1998  sakamoto Eliminate unnecessary code.
The bebox has only one PCI-ISA bridge(82378ZB).
 1.5 03-Feb-1998  sakamoto Change bebox_bus_{io,mem}.bus_base to BEBOX_BUS_SPACE_{IO,MEM}.
 1.4 02-Feb-1998  sakamoto Eliminate __BROKEN_INDIRECT_CONFIG
 1.3 12-Jan-1998  thorpej Update for changes to config.
 1.2 27-Nov-1997  sakamoto remove/import software interrupt model and external interrupt handler
from OpenBSD/powerpc.
move bus_space_* from bus_machdep.c to bus.h.
 1.1 14-Oct-1997  sakamoto branches: 1.1.2;
Initial commit of NetBSD/bebox port.
 1.1.2.1 28-Nov-1997  mellon Pull rev 1.2 up from trunk (sakamoto)
 1.8.26.1 21-Jun-2001  nathanw Catch up to -current.
 1.9.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.9.2.1 03-Aug-2001  lukem update to -current
 1.10.6.3 03-Jan-2003  thorpej Sync with HEAD.
 1.10.6.2 18-Oct-2002  nathanw Catch up to -current.
 1.10.6.1 22-Jul-2001  nathanw file pcib.c was added on branch nathanw_sa on 2002-10-18 02:36:06 +0000
 1.14.2.4 21-Sep-2004  skrll Fix the sync with head I botched.
 1.14.2.3 18-Sep-2004  skrll Sync with HEAD.
 1.14.2.2 03-Sep-2004  skrll Sync with HEAD
 1.14.2.1 03-Aug-2004  skrll Sync with HEAD
 1.17.12.1 27-Oct-2007  yamt sync with head.
 1.18.54.1 25-Oct-2007  bouyer Sync with HEAD.
 1.18.52.1 18-Oct-2007  yamt sync with head.
 1.18.50.1 06-Nov-2007  matt sync with HEAD
 1.18.48.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.18.38.1 09-Oct-2007  ober Cleanup of more unused files replaced by oea functions
 1.18.30.1 23-Oct-2007  ad Sync with head.
 1.16 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.15 04-Mar-2007  christos branches: 1.15.2; 1.15.10; 1.15.18; 1.15.20; 1.15.22; 1.15.24;
Kill caddr_t; there will be some MI fallout, but it will be fixed shortly.
 1.14 12-Apr-2006  jmmv branches: 1.14.14;
Add an extra cookie to the ioctl and mmap wsdisplay accessops that points
to the screen on which they are being called. The driver cannot guess
this by itself but it is needed to implement, at least, the getwschar and
putwschar functions in the correct place. There are no functional changes
yet.

Tested on i386 (vga, vga_raster, machfb, vesafb), macppc and sparc64.
Suggested and reviewed by macallan@.
 1.13 11-Dec-2005  christos branches: 1.13.4; 1.13.6; 1.13.8; 1.13.10; 1.13.12;
merge ktrace-lwp.
 1.12 15-Jul-2003  lukem branches: 1.12.16;
__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 04-Jul-2002  junyoung alloc_attr -> allocattr

Approved by Matthias Drochner.
 1.8 17-Mar-2002  atatat branches: 1.8.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.7 26-Aug-2001  matt branches: 1.7.6;
Make all powerpc ports use a common Makefile.powerpc (except walnut)
Enforce -Wmissing-prototypes -Wstrict-prototypes for all ppc ports.
Split out macppc cpu support and make common to mpc6xx ports. Make
other mpc6xx ports use it. Add evcnts for mpc6xx traps.
 1.6 26-Jun-2000  simonb branches: 1.6.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.5 06-Dec-1999  drochner branches: 1.5.4;
update for changed struct wsdisplay_accessops:show_screen signature.
no functional changes
 1.4 22-Jun-1999  sakamoto branches: 1.4.2; 1.4.8;
Add casts for -Wall.
 1.3 11-Jan-1999  drochner branches: 1.3.4;
remove dummy "load_font" entries
 1.2 24-Nov-1998  sakamoto Fix no check for negative offset in mmap.
 1.1 18-Nov-1998  sakamoto Support frame buffer console initialized by the BootRom of the BeBox.
 1.3.4.1 01-Jul-1999  thorpej Sync w/ -current.
 1.4.8.1 27-Dec-1999  wrstuden Pull up to last week's -current.
 1.4.2.1 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.5.4.1 30-Jun-2000  simonb Pull up mmap paddr_t/off_t changes from trunk.
 1.6.4.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.6.4.3 06-Sep-2002  jdolecek sync kqueue branch with HEAD
 1.6.4.2 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.6.4.1 13-Sep-2001  thorpej Update the kqueue branch to HEAD.
 1.7.6.4 18-Oct-2002  nathanw Catch up to -current.
 1.7.6.3 01-Aug-2002  nathanw Catch up to -current.
 1.7.6.2 01-Apr-2002  nathanw Catch up to -current.
(CVS: It's not just a program. It's an adventure!)
 1.7.6.1 26-Aug-2001  nathanw file pfb.c was added on branch nathanw_sa on 2002-04-01 07:39:38 +0000
 1.8.4.1 16-Jul-2002  gehenna catch up with -current.
 1.11.6.4 21-Sep-2004  skrll Fix the sync with head I botched.
 1.11.6.3 18-Sep-2004  skrll Sync with HEAD.
 1.11.6.2 03-Aug-2004  skrll Sync with HEAD
 1.11.6.1 03-Jul-2003  wrstuden LWP-ify for bebox/GENERIC
 1.12.16.3 27-Oct-2007  yamt sync with head.
 1.12.16.2 03-Sep-2007  yamt sync with head.
 1.12.16.1 21-Jun-2006  yamt sync with head.
 1.13.12.1 24-May-2006  tron Merge 2006-05-24 NetBSD-current into the "peter-altq" branch.
 1.13.10.1 19-Apr-2006  elad sync with head - hopefully this will work
 1.13.8.1 24-May-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.14.14.1 12-Mar-2007  rmind Sync with HEAD.
 1.15.24.1 25-Oct-2007  bouyer Sync with HEAD.
 1.15.22.1 18-Oct-2007  yamt sync with head.
 1.15.20.1 06-Nov-2007  matt sync with HEAD
 1.15.18.1 26-Oct-2007  joerg Sync with HEAD.

Follow the merge of pmap.c on i386 and amd64 and move
pmap_init_tmp_pgtbl into arch/x86/x86/pmap.c. Modify the ACPI wakeup
code to restore CR4 before jumping back into kernel space as the large
page option might cover that.
 1.15.10.2 09-Oct-2007  ober Cleanup of more unused files replaced by oea functions
 1.15.10.1 08-Jul-2007  ober More cleanups of intr.h and headers.
 1.15.2.1 23-Oct-2007  ad Sync with head.
 1.2 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.1 18-Nov-1998  sakamoto branches: 1.1.60; 1.1.102; 1.1.110; 1.1.120; 1.1.122; 1.1.124; 1.1.126;
Support frame buffer console initialized by the BootRom of the BeBox.
 1.1.126.1 25-Oct-2007  bouyer Sync with HEAD.
 1.1.124.1 18-Oct-2007  yamt sync with head.
 1.1.122.1 06-Nov-2007  matt sync with HEAD
 1.1.120.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.1.110.1 09-Oct-2007  ober Cleanup of more unused files replaced by oea functions
 1.1.102.1 23-Oct-2007  ad Sync with head.
 1.1.60.1 27-Oct-2007  yamt sync with head.
 1.4 26-May-2008  kiyohara Split boot/boot_com0/boot_vga.
boot supports framebuffer.
boot_com0 supports com0.
boot_vga supports vga, not frambuffer.
 1.3 25-May-2008  kiyohara Integrated to powerpc-mkbootimage. Obsoleted.
 1.2 28-Jun-1999  sakamoto branches: 1.2.138; 1.2.140; 1.2.142; 1.2.144;
Add elf2pef and mkbootimage.
 1.1 16-Jan-1998  sakamoto branches: 1.1.10;
initial import of bebox kernel loader.
 1.1.10.1 01-Jul-1999  thorpej Sync w/ -current.
 1.2.144.1 23-Jun-2008  wrstuden Sync w/ -current. 34 merge conflicts to follow.
 1.2.142.1 04-May-2009  yamt sync with head.
 1.2.140.1 04-Jun-2008  yamt sync with head
 1.2.138.1 02-Jun-2008  mjf Sync with HEAD.
 1.3 14-Apr-2021  mrg more -fcommon.
 1.2 11-Dec-2005  christos branches: 1.2.180;
merge ktrace-lwp.
 1.1 25-Nov-2004  jmc branches: 1.1.2; 1.1.14;
Convert bebox's remaining host tools over to cross tools scheme. Builds to sets
w/o error now.
 1.1.14.1 06-Apr-2005  he Pull up revision 1.1 (new, requested by jmc in ticket #1027):
Convert bebox's remaining host tools over to the cross tools
scheme. Now allows complete bebox builds on non-NetBSD and
non-BSD hosts.
 1.1.2.2 29-Nov-2004  skrll Sync with HEAD.
 1.1.2.1 25-Nov-2004  skrll file Makefile.inc was added on branch ktrace-lwp on 2004-11-29 07:24:03 +0000
 1.2.180.1 17-Apr-2021  thorpej Sync with HEAD.
 1.4 25-Feb-2011  kiyohara Update description to latest boot.
 1.3 25-May-2008  kiyohara branches: 1.3.20; 1.3.26; 1.3.28;
Integrated to powerpc-mkbootimage. Obsoleted.
 1.2 08-Apr-2002  sakamoto branches: 1.2.112; 1.2.114; 1.2.116; 1.2.118;
update example, use $(TOOLDIR)/bin/nbmake-bebox.
 1.1 28-Jun-1999  sakamoto branches: 1.1.2; 1.1.18; 1.1.22;
Description of making bootable floppy disk for NetBSD/bebox.
 1.1.22.1 17-Apr-2002  nathanw Catch up to -current.
 1.1.18.1 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.1.2.2 01-Jul-1999  thorpej Sync w/ -current.
 1.1.2.1 28-Jun-1999  thorpej file README was added on branch chs-ubc2 on 1999-07-01 23:06:29 +0000
 1.2.118.1 23-Jun-2008  wrstuden Sync w/ -current. 34 merge conflicts to follow.
 1.2.116.1 04-May-2009  yamt sync with head.
 1.2.114.1 04-Jun-2008  yamt sync with head
 1.2.112.1 02-Jun-2008  mjf Sync with HEAD.
 1.3.28.1 05-Mar-2011  bouyer Sync with HEAD
 1.3.26.1 06-Jun-2011  jruoho Sync with HEAD.
 1.3.20.1 05-Mar-2011  rmind sync with head
 1.3 21-Jul-2000  jdolecek switch to sys/conf/newvers_stand.sh for generation of version files, no
functional changes
 1.2 08-Jul-2000  jdolecek get the version number differently - instead of using RCS version number
of version file, take version from last line of that file as the part from
start of the line to ':'
 1.1 16-Jan-1998  sakamoto branches: 1.1.14;
initial import of bebox kernel loader.
 1.1.14.1 20-Nov-2000  bouyer Remove files that are no longer on the trunck
 1.37 03-Jun-2023  lukem bsd.own.mk: rename to CC_WNO_ADDRESS_OF_PACKED_MEMBER

Provide a single variable
CC_WNO_ADDRESS_OF_PACKED_MEMBER
with options for both clang and gcc, to replace
CLANG_NO_ADDR_OF_PACKED_MEMBER
CC_NO_ADDR_OF_PACKED_MEMBER
GCC_NO_ADDR_OF_PACKED_MEMBER

Using the convention CC_compilerflag, where compilerflag
is based on the full compiler flag name.
 1.36 07-Sep-2020  mrg apply some GCC_NO_ADDR_OF_PACKED_MEMBER.
 1.35 08-Apr-2017  christos centralize vers.c building for standalone programs.
 1.34 12-Jan-2014  tsutsui branches: 1.34.6; 1.34.10; 1.34.14;
Add empty LIBCRTI= as LIBCRT0 to build sa programs without installed DESTDIR.

XXX: probabry we should have bsd.saprog.mk or something.
 1.33 21-Aug-2013  matt Use <bsd.klinks.mk>
 1.32 01-Sep-2012  matt branches: 1.32.2; 1.32.4;
Add ${_MKTARGET_LINK}
 1.31 22-Jan-2011  joerg branches: 1.31.4;
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.30 21-Jan-2011  joerg Switch remaining platforms to modern CPP for assembler.
 1.29 14-Oct-2010  kiyohara branches: 1.29.2; 1.29.4;
Support kernel load from SCSI HDD with onboard siop. It is very EXPERIMENTAL!!
 1.28 14-Oct-2010  kiyohara Support kernel load from IDE HDD with onboard wdc. like cobalt, sandpoint.
 1.27 14-Oct-2010  kiyohara Add pci.c to SRCS.
 1.26 14-Oct-2010  kiyohara Add -I${S}/lib/libsa and reorder.
 1.25 26-May-2008  kiyohara branches: 1.25.18; 1.25.20;
Split boot/boot_com0/boot_vga.
boot supports framebuffer.
boot_com0 supports com0.
boot_vga supports vga, not frambuffer.
 1.24 26-Mar-2008  kiyohara branches: 1.24.2; 1.24.4; 1.24.6;
We might be able to use VGA. Please comment out for line '-DCONS_SERIAL'
if you wish for it. In that case, you will occasionally see the hoarsely
and strangely transformed character on screen. This reason cannot be
understood yet.
Default is continuously a serial console.
 1.23 17-Oct-2007  garbled branches: 1.23.16;
Merge the ppcoea-renovation branch to HEAD.

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

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

NOTES:
pmppc was removed as an arch, and moved to a evbppc target.
 1.22 11-Dec-2005  christos branches: 1.22.30; 1.22.38; 1.22.48; 1.22.50; 1.22.52; 1.22.54;
merge ktrace-lwp.
 1.21 25-Nov-2004  jmc branches: 1.21.12;
Convert bebox's remaining host tools over to cross tools scheme. Builds to sets
w/o error now.
 1.20 21-Jun-2004  jmc Ignore errors on some rm -rf's for platforms that aren't quite
POSIX compliant
and return errors on r/o source (FreeBSD) for -rf. Fixes PR#25022
 1.19 26-Oct-2003  lukem branches: 1.19.2;
Use ${HOST_SH} instead of `sh'.

If necessary, pull in <bsd.sys.mk> to get the definition of HOST_SH;
Makefiles that pull in one of (most of) <bsd.*.mk> will get this anyway.
 1.18 24-Oct-2003  matt Make this build in a R/O build tree. And add -I. for gcc3
 1.17 08-Oct-2003  simonb Use -ffreestanding.
 1.16 09-Apr-2002  sakamoto branches: 1.16.10;
add CFLAGS=-Wno-main for void main, suggested by Tsutsui-san.
 1.15 08-Apr-2002  sakamoto fix vers.o target.
add cleandir distclean cleanlibdir target, remove cleanobjs target.
 1.14 15-Mar-2002  heinz add .CURDIR/ld.script to enable builds with OBJMACHINE=yes
 1.13 12-Dec-2001  tv MKfoo=no -> NOfoo
 1.12 17-Feb-2001  sakamoto branches: 1.12.4; 1.12.8;
fix multiple link vers.o
 1.11 21-Jul-2000  jdolecek switch to sys/conf/newvers_stand.sh for generation of version files, no
functional changes
 1.10 08-Jul-2000  jdolecek cleanup way vers.c file is created/compiled
 1.9 23-Jan-2000  mycroft Clean up the machine symlink stuff ever so slightly. Needs to be
standardized between files.
 1.8 28-Jun-1999  sakamoto branches: 1.8.2;
Use loadfile.
KNF
b* -> mem*
 1.7 24-Jun-1999  sakamoto Some cleanup.
Move bootinfo related things to boot.c
and console related things to cons.c.
 1.6 13-Feb-1999  lukem branches: 1.6.4;
convert from NOxxx= to MKxxx=no.
include <bsd.own.mk> if testing a MKxxx variable.
 1.5 26-Oct-1998  sakamoto Support frame buffer console initialized by the BootRom of the BeBox.
But, NetBSD/bebox kernel doesn't support yet.
 1.4 05-Oct-1998  sakamoto cleanup.
 1.3 27-Mar-1998  sakamoto Change commented out default baudrate(38400 to 9600) of serial console.
 1.2 19-Jan-1998  sakamoto Add findcpuspeed for delay() and to pass to the kernel(BUS FREQ information).
some bug fix.
 1.1 16-Jan-1998  sakamoto initial import of bebox kernel loader.
 1.6.4.1 01-Jul-1999  thorpej Sync w/ -current.
 1.8.2.2 12-Mar-2001  bouyer Sync with HEAD.
 1.8.2.1 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.12.8.3 17-Apr-2002  nathanw Catch up to -current.
 1.12.8.2 01-Apr-2002  nathanw Catch up to -current.
(CVS: It's not just a program. It's an adventure!)
 1.12.8.1 08-Jan-2002  nathanw Catch up to -current.
 1.12.4.2 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.12.4.1 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.16.10.4 29-Nov-2004  skrll Sync with HEAD.
 1.16.10.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.16.10.2 18-Sep-2004  skrll Sync with HEAD.
 1.16.10.1 03-Aug-2004  skrll Sync with HEAD
 1.19.2.1 22-Jun-2004  tron branches: 1.19.2.1.2;
Pull up revision 1.20 (requested by jmc in ticket #531):
Ignore errors on some rm -rf's for platforms that aren't quite
POSIX compliant
and return errors on r/o source (FreeBSD) for -rf. Fixes PR#25022
 1.19.2.1.2.1 06-Apr-2005  he Pull up revision 1.21 (requested by jmc in ticket #1027):
Convert bebox's remaining host tools over to the cross tools
scheme. Now allows complete bebox builds on non-NetBSD and
non-BSD hosts.
 1.21.12.1 27-Oct-2007  yamt sync with head.
 1.22.54.1 25-Oct-2007  bouyer Sync with HEAD.
 1.22.52.1 18-Oct-2007  yamt sync with head.
 1.22.50.1 06-Nov-2007  matt sync with HEAD
 1.22.48.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.22.38.1 02-May-2007  heinz Switch boot loader to serial console as default. VGA working (again?) is
still far away.
 1.22.30.1 23-Oct-2007  ad Sync with head.
 1.23.16.2 02-Jun-2008  mjf Sync with HEAD.
 1.23.16.1 03-Apr-2008  mjf Sync with HEAD.
 1.24.6.1 23-Jun-2008  wrstuden Sync w/ -current. 34 merge conflicts to follow.
 1.24.4.1 04-May-2009  yamt sync with head.
 1.24.2.1 04-Jun-2008  yamt sync with head
 1.25.20.1 05-Mar-2011  rmind sync with head
 1.25.18.1 22-Oct-2010  uebayasi Sync with HEAD (-D20101022).
 1.29.4.1 08-Feb-2011  bouyer Sync with HEAD
 1.29.2.1 06-Jun-2011  jruoho Sync with HEAD.
 1.31.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.31.4.1 30-Oct-2012  yamt sync with head
 1.32.4.2 18-May-2014  rmind sync with head
 1.32.4.1 28-Aug-2013  rmind sync with head
 1.32.2.2 03-Dec-2017  jdolecek update from HEAD
 1.32.2.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.34.14.1 21-Apr-2017  bouyer Sync with HEAD
 1.34.10.1 26-Apr-2017  pgoyette Sync with HEAD
 1.34.6.1 28-Aug-2017  skrll Sync with HEAD
 1.27 08-Aug-2014  joerg Mark _rtt as dead
 1.26 19-Dec-2012  kiyohara branches: 1.26.10;
Change path-format for scsi. s,scsi/B/T/L_n,scsi/BTL/0_n,.
 1.25 22-Jan-2011  joerg branches: 1.25.4; 1.25.14;
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.24 27-Oct-2010  kiyohara branches: 1.24.2; 1.24.4;
Set root-device to bootinfo.
 1.23 14-Oct-2010  kiyohara Support kernel load from SCSI HDD with onboard siop. It is very EXPERIMENTAL!!
 1.22 14-Oct-2010  kiyohara Support kernel load from IDE HDD with onboard wdc. like cobalt, sandpoint.
 1.21 14-Oct-2010  kiyohara Change format of path for device. A current form strangely feels dissatisfied.
This new format looks like the format of BootROM of BeBox.
 1.20 14-Oct-2010  kiyohara Add _rtt(). But it is NULL function.
 1.19 14-Oct-2010  kiyohara Add pci.c. Splitted from vreset.c
And cleanup vreset.c.
 1.18 18-Mar-2009  cegger branches: 1.18.2; 1.18.4;
Ansify function definitions w/o arguments. Generated with sed.
 1.17 26-May-2008  kiyohara branches: 1.17.6; 1.17.12;
Split boot/boot_com0/boot_vga.
boot supports framebuffer.
boot_com0 supports com0.
boot_vga supports vga, not frambuffer.
 1.16 11-Dec-2005  christos branches: 1.16.74; 1.16.76; 1.16.78; 1.16.80;
merge ktrace-lwp.
 1.15 28-Jun-2005  junyoung #include <lib/libsa/stand.h> rather than <stand.h> or "stand.h"
 1.14 09-Apr-2002  sakamoto branches: 1.14.10;
Revert previous change. return type of main is void.
 1.13 08-Apr-2002  sakamoto change return type to int of main.
 1.12 24-Sep-2000  jdolecek branches: 1.12.4;
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.11 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.10 28-Jun-1999  sakamoto branches: 1.10.2; 1.10.12;
correct tgets loop.
 1.9 28-Jun-1999  sakamoto Use loadfile.
KNF
b* -> mem*
 1.8 24-Jun-1999  sakamoto Some cleanup.
Move bootinfo related things to boot.c
and console related things to cons.c.
 1.7 17-Apr-1999  ws Modify syncicache on PowerPC from an inline to a real function.
Support different cache line sizes with the same object code in userland.
While here, move the function to implementation name space.
 1.6 15-Feb-1999  sakamoto branches: 1.6.4;
RCS ID police
 1.5 28-Oct-1998  sakamoto Support frame buffer console with Matrox Millennium(probably, and II).
But, NetBSD/bebox kernel doesn't support yet.
 1.4 26-Oct-1998  sakamoto Support frame buffer console initialized by the BootRom of the BeBox.
But, NetBSD/bebox kernel doesn't support yet.
 1.3 05-Oct-1998  sakamoto Add syncicache after text loading.
 1.2 19-Jan-1998  sakamoto Add findcpuspeed for delay() and to pass to the kernel(BUS FREQ information).
some bug fix.
 1.1 16-Jan-1998  sakamoto initial import of bebox kernel loader.
 1.6.4.2 01-Jul-1999  thorpej Sync w/ -current.
 1.6.4.1 21-Jun-1999  thorpej Sync w/ -current.
 1.10.12.1 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.10.2.1 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.12.4.1 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.14.10.1 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.16.80.1 23-Jun-2008  wrstuden Sync w/ -current. 34 merge conflicts to follow.
 1.16.78.1 04-May-2009  yamt sync with head.
 1.16.76.1 04-Jun-2008  yamt sync with head
 1.16.74.1 02-Jun-2008  mjf Sync with HEAD.
 1.17.12.1 13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.17.6.1 28-Apr-2009  skrll Sync with HEAD.
 1.18.4.1 05-Mar-2011  rmind sync with head
 1.18.2.2 06-Nov-2010  uebayasi Sync with HEAD.
 1.18.2.1 22-Oct-2010  uebayasi Sync with HEAD (-D20101022).
 1.24.4.1 08-Feb-2011  bouyer Sync with HEAD
 1.24.2.1 06-Jun-2011  jruoho Sync with HEAD.
 1.25.14.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.25.14.1 25-Feb-2013  tls resync with head
 1.25.4.1 23-Jan-2013  yamt sync with head
 1.26.10.1 10-Aug-2014  tls Rebase.
 1.10 09-Jun-2014  phx printslots() -> printPCIslots(). Make it compile with -DDEBUG.
 1.9 14-Oct-2010  kiyohara branches: 1.9.18; 1.9.32;
Add pci.c. Splitted from vreset.c
And cleanup vreset.c.
 1.8 14-Oct-2010  kiyohara Add PCI_mem and many access/cache-ope functions.
+ inw/inwrb/writeb/writel/readb/readw/readl.
+ _wbinv/_inv.
 1.7 26-May-2008  kiyohara branches: 1.7.18; 1.7.20;
Split boot/boot_com0/boot_vga.
boot supports framebuffer.
boot_com0 supports com0.
boot_vga supports vga, not frambuffer.
 1.6 11-Dec-2005  christos branches: 1.6.74; 1.6.76; 1.6.78; 1.6.80;
merge ktrace-lwp.
 1.5 13-Feb-2004  wiz Uppercase CPU, plural is CPUs.
 1.4 08-Oct-2003  simonb Use consistent type qualifiers for CPU1_alive (keeps gcc331 happy).
 1.3 16-Mar-2000  darrenr branches: 1.3.28;
__P(()) -> __P((void))
 1.2 28-Jun-1999  sakamoto branches: 1.2.2; 1.2.4;
Use loadfile.
KNF
b* -> mem*
 1.1 24-Jun-1999  sakamoto Some cleanup.
Move bootinfo related things to boot.c
and console related things to cons.c.
 1.2.4.1 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.2.2.2 01-Jul-1999  thorpej Sync w/ -current.
 1.2.2.1 28-Jun-1999  thorpej file boot.h was added on branch chs-ubc2 on 1999-07-01 23:06:30 +0000
 1.3.28.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.3.28.2 18-Sep-2004  skrll Sync with HEAD.
 1.3.28.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 04-May-2009  yamt sync with head.
 1.6.76.1 04-Jun-2008  yamt sync with head
 1.6.74.1 02-Jun-2008  mjf Sync with HEAD.
 1.7.20.1 05-Mar-2011  rmind sync with head
 1.7.18.1 22-Oct-2010  uebayasi Sync with HEAD (-D20101022).
 1.9.32.1 10-Aug-2014  tls Rebase.
 1.9.18.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.12 18-Mar-2009  cegger Ansify function definitions w/o arguments. Generated with sed.
 1.11 26-May-2008  kiyohara branches: 1.11.6; 1.11.12;
Split boot/boot_com0/boot_vga.
boot supports framebuffer.
boot_com0 supports com0.
boot_vga supports vga, not frambuffer.
 1.10 24-Dec-2005  perry branches: 1.10.74; 1.10.76; 1.10.78; 1.10.80;
bare asm -> __asm
 1.9 11-Dec-2005  christos merge ktrace-lwp.
 1.8 28-Jun-2005  junyoung branches: 1.8.2;
#include <lib/libsa/stand.h> rather than <stand.h> or "stand.h"
 1.7 29-Jun-2004  kleink Repair operand constraints in delay().
 1.6 28-Jun-1999  sakamoto branches: 1.6.36;
Use loadfile.
KNF
b* -> mem*
 1.5 24-Jun-1999  sakamoto Some cleanup.
Move bootinfo related things to boot.c
and console related things to cons.c.
 1.4 15-Feb-1999  sakamoto branches: 1.4.4;
RCS ID police
 1.3 19-Jan-1998  drochner adapt to changed <dev/ic/i8253reg.h>
 1.2 19-Jan-1998  sakamoto Add findcpuspeed for delay() and to pass to the kernel(BUS FREQ information).
some bug fix.
 1.1 16-Jan-1998  sakamoto initial import of bebox kernel loader.
 1.4.4.1 01-Jul-1999  thorpej Sync w/ -current.
 1.6.36.4 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.6.36.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.6.36.2 18-Sep-2004  skrll Sync with HEAD.
 1.6.36.1 03-Aug-2004  skrll Sync with HEAD
 1.8.2.1 21-Jun-2006  yamt sync with head.
 1.10.80.1 23-Jun-2008  wrstuden Sync w/ -current. 34 merge conflicts to follow.
 1.10.78.1 04-May-2009  yamt sync with head.
 1.10.76.1 04-Jun-2008  yamt sync with head
 1.10.74.1 02-Jun-2008  mjf Sync with HEAD.
 1.11.12.1 13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.11.6.1 28-Apr-2009  skrll Sync with HEAD.
 1.5 26-May-2008  kiyohara Split boot/boot_com0/boot_vga.
boot supports framebuffer.
boot_com0 supports com0.
boot_vga supports vga, not frambuffer.
 1.4 11-Dec-2005  christos branches: 1.4.74; 1.4.76; 1.4.78; 1.4.80;
merge ktrace-lwp.
 1.3 16-Oct-2004  heinz Remove trailing argument list from #undef of divrnd macro to enable build
with gcc3 and -Werror.
 1.2 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.1 16-Jan-1998  sakamoto branches: 1.1.48;
initial import of bebox kernel loader.
 1.1.48.4 19-Oct-2004  skrll Sync with HEAD
 1.1.48.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.1.48.2 18-Sep-2004  skrll Sync with HEAD.
 1.1.48.1 03-Aug-2004  skrll Sync with HEAD
 1.4.80.1 23-Jun-2008  wrstuden Sync w/ -current. 34 merge conflicts to follow.
 1.4.78.1 04-May-2009  yamt sync with head.
 1.4.76.1 04-Jun-2008  yamt sync with head
 1.4.74.1 02-Jun-2008  mjf Sync with HEAD.
 1.9 14-Oct-2010  kiyohara Support kernel load from SCSI HDD with onboard siop. It is very EXPERIMENTAL!!
 1.8 14-Oct-2010  kiyohara Support kernel load from IDE HDD with onboard wdc. like cobalt, sandpoint.
 1.7 14-Oct-2010  kiyohara Change format of path for device. A current form strangely feels dissatisfied.
This new format looks like the format of BootROM of BeBox.
 1.6 11-Dec-2005  christos branches: 1.6.98; 1.6.100;
merge ktrace-lwp.
 1.5 28-Jun-2005  junyoung #include <lib/libsa/stand.h> rather than <stand.h> or "stand.h"
 1.4 28-Jun-2005  junyoung De-__P() and some cosmetic changes.
 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 28-Jun-1999  sakamoto branches: 1.2.36;
Use loadfile.
KNF
b* -> mem*
 1.1 16-Jan-1998  sakamoto branches: 1.1.10;
initial import of bebox kernel loader.
 1.1.10.1 01-Jul-1999  thorpej Sync w/ -current.
 1.2.36.4 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.2.36.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.2.36.2 18-Sep-2004  skrll Sync with HEAD.
 1.2.36.1 03-Aug-2004  skrll Sync with HEAD
 1.6.100.1 05-Mar-2011  rmind sync with head
 1.6.98.1 22-Oct-2010  uebayasi Sync with HEAD (-D20101022).
 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 18-Mar-2009  cegger branches: 1.11.4; 1.11.6; 1.11.8;
Ansify function definitions w/o arguments. Generated with sed.
 1.10 07-Jun-2008  kiyohara branches: 1.10.6; 1.10.12;
Fix waiting for the input from keyboard after "Boot: " is displayed in frame
buffer. Read out ugly data.
 1.9 26-May-2008  kiyohara Split boot/boot_com0/boot_vga.
boot supports framebuffer.
boot_com0 supports com0.
boot_vga supports vga, not frambuffer.
 1.8 01-Mar-2008  tsutsui branches: 1.8.2; 1.8.4; 1.8.6;
cnscan() should return -1 (no input) if there is no console device.
 1.7 11-Dec-2005  christos branches: 1.7.50; 1.7.70; 1.7.74;
merge ktrace-lwp.
 1.6 07-Aug-2003  agc branches: 1.6.16;
Move UCB-licensed code from 4-clause to 3-clause licence.

Patches provided by Joel Baker in PR 22364, verified by myself.
 1.5 28-Jun-1999  sakamoto branches: 1.5.36;
Use loadfile.
KNF
b* -> mem*
 1.4 24-Jun-1999  sakamoto Some cleanup.
Move bootinfo related things to boot.c
and console related things to cons.c.
 1.3 28-Oct-1998  sakamoto branches: 1.3.8;
Support frame buffer console with Matrox Millennium(probably, and II).
But, NetBSD/bebox kernel doesn't support yet.
 1.2 26-Oct-1998  sakamoto Support frame buffer console initialized by the BootRom of the BeBox.
But, NetBSD/bebox kernel doesn't support yet.
 1.1 16-Jan-1998  sakamoto initial import of bebox kernel loader.
 1.3.8.1 01-Jul-1999  thorpej Sync w/ -current.
 1.5.36.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.5.36.2 18-Sep-2004  skrll Sync with HEAD.
 1.5.36.1 03-Aug-2004  skrll Sync with HEAD
 1.6.16.1 17-Mar-2008  yamt sync with head.
 1.7.74.3 29-Jun-2008  mjf Sync with HEAD.
 1.7.74.2 02-Jun-2008  mjf 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.6.1 23-Jun-2008  wrstuden Sync w/ -current. 34 merge conflicts to follow.
 1.8.4.1 04-May-2009  yamt sync with head.
 1.8.2.2 17-Jun-2008  yamt sync with head.
 1.8.2.1 04-Jun-2008  yamt sync with head
 1.10.12.1 13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.10.6.1 28-Apr-2009  skrll Sync with HEAD.
 1.11.8.1 17-Feb-2011  bouyer Sync with HEAD
 1.11.6.1 06-Jun-2011  jruoho Sync with HEAD.
 1.11.4.1 05-Mar-2011  rmind sync with head
 1.8 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.7 14-Mar-2009  dsl branches: 1.7.4; 1.7.6; 1.7.8;
Remove all the __P() from sys (excluding sys/dist)
Diff checked with grep and MK1 eyeball.
i386 and amd64 GENERIC and sys still build.
 1.6 11-Dec-2005  christos branches: 1.6.78; 1.6.86; 1.6.92;
merge ktrace-lwp.
 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 28-Jun-1999  sakamoto branches: 1.4.36;
Use loadfile.
KNF
b* -> mem*
 1.3 24-Jun-1999  sakamoto Some cleanup.
Move bootinfo related things to boot.c
and console related things to cons.c.
 1.2 26-Oct-1998  sakamoto branches: 1.2.8;
Support frame buffer console initialized by the BootRom of the BeBox.
But, NetBSD/bebox kernel doesn't support yet.
 1.1 16-Jan-1998  sakamoto initial import of bebox kernel loader.
 1.2.8.1 01-Jul-1999  thorpej Sync w/ -current.
 1.4.36.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.4.36.2 18-Sep-2004  skrll Sync with HEAD.
 1.4.36.1 03-Aug-2004  skrll Sync with HEAD
 1.6.92.1 13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.6.86.1 28-Apr-2009  skrll Sync with HEAD.
 1.6.78.1 04-May-2009  yamt sync with head.
 1.7.8.1 17-Feb-2011  bouyer Sync with HEAD
 1.7.6.1 06-Jun-2011  jruoho Sync with HEAD.
 1.7.4.1 05-Mar-2011  rmind sync with head
 1.7 12-Jun-2011  kiyohara Remove null line.
 1.6 11-Dec-2005  christos branches: 1.6.110;
merge ktrace-lwp.
 1.5 28-Jun-2005  junyoung #include <lib/libsa/stand.h> rather than <stand.h> or "stand.h"
 1.4 28-Jun-2005  junyoung ANSIfy & remove trailing spaces.
 1.3 28-Jun-1999  sakamoto branches: 1.3.36;
Use loadfile.
KNF
b* -> mem*
 1.2 15-Feb-1999  sakamoto branches: 1.2.4;
RCS ID police
 1.1 16-Jan-1998  sakamoto initial import of bebox kernel loader.
 1.2.4.1 01-Jul-1999  thorpej Sync w/ -current.
 1.3.36.1 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.6.110.1 23-Jun-2011  cherry Catchup with rmind-uvmplock merge.
 1.2 26-Oct-1998  sakamoto Support frame buffer console initialized by the BootRom of the BeBox.
But, NetBSD/bebox kernel doesn't support yet.
 1.1 16-Jan-1998  sakamoto initial import of bebox kernel loader.
 1.11 19-Dec-2012  kiyohara Change path-format for scsi. s,scsi/B/T/L_n,scsi/BTL/0_n,.
 1.10 14-Oct-2010  kiyohara branches: 1.10.8; 1.10.18;
Change format of path for device. A current form strangely feels dissatisfied.
This new format looks like the format of BootROM of BeBox.
 1.9 26-May-2008  kiyohara branches: 1.9.18; 1.9.20;
Split boot/boot_com0/boot_vga.
boot supports framebuffer.
boot_com0 supports com0.
boot_vga supports vga, not frambuffer.
 1.8 11-Dec-2005  christos branches: 1.8.74; 1.8.76; 1.8.78; 1.8.80;
merge ktrace-lwp.
 1.7 15-Jul-2005  he The ANSIfication unconvered that we were calling devlookup() with
an extra argument. It seems to be correct just to drop the last arg.
 1.6 28-Jun-2005  junyoung branches: 1.6.2;
#include <lib/libsa/stand.h> rather than <stand.h> or "stand.h"
 1.5 28-Jun-2005  junyoung ANSI, KNF, trailing spaces, and etc.
 1.4 08-Apr-2002  sakamoto branches: 1.4.10;
include lib/libkern/libkern.h for isdigit.
 1.3 28-Jun-1999  sakamoto branches: 1.3.16; 1.3.20;
Use loadfile.
KNF
b* -> mem*
 1.2 19-Jan-1998  sakamoto branches: 1.2.10;
Add findcpuspeed for delay() and to pass to the kernel(BUS FREQ information).
some bug fix.
 1.1 16-Jan-1998  sakamoto initial import of bebox kernel loader.
 1.2.10.1 01-Jul-1999  thorpej Sync w/ -current.
 1.3.20.1 17-Apr-2002  nathanw Catch up to -current.
 1.3.16.1 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.4.10.1 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.6.2.1 21-Jun-2006  yamt sync with head.
 1.8.80.1 23-Jun-2008  wrstuden Sync w/ -current. 34 merge conflicts to follow.
 1.8.78.1 04-May-2009  yamt sync with head.
 1.8.76.1 04-Jun-2008  yamt sync with head
 1.8.74.1 02-Jun-2008  mjf Sync with HEAD.
 1.9.20.1 05-Mar-2011  rmind sync with head
 1.9.18.1 22-Oct-2010  uebayasi Sync with HEAD (-D20101022).
 1.10.18.1 25-Feb-2013  tls resync with head
 1.10.8.1 23-Jan-2013  yamt sync with head
 1.4 28-Jun-1999  sakamoto Moved to /cvsroot/syssrc/sys/arch/bebox/stand/elf2pef/elf2pef.c,v
 1.3 15-Feb-1999  sakamoto branches: 1.3.4;
RCS ID police
 1.2 05-Oct-1998  sakamoto cleanup.
 1.1 16-Jan-1998  sakamoto initial import of bebox kernel loader.
 1.3.4.1 01-Jul-1999  thorpej Sync w/ -current.
 1.12 07-Aug-2022  andvar fix various typos in comments, documentation and messages.
mainly s/paramater/parameter/ and s/reduntant/redundant/.
 1.11 12-Dec-2014  phx Fix all warnings when compiling with gcc 4.8.
BeBox should be ready for 4.8 now.
 1.10 14-Oct-2010  kiyohara branches: 1.10.18; 1.10.34; 1.10.36;
Change format of path for device. A current form strangely feels dissatisfied.
This new format looks like the format of BootROM of BeBox.
 1.9 18-Mar-2009  cegger branches: 1.9.2; 1.9.4;
Ansify function definitions w/o arguments. Generated with sed.
 1.8 26-May-2008  kiyohara branches: 1.8.6; 1.8.12;
Split boot/boot_com0/boot_vga.
boot supports framebuffer.
boot_com0 supports com0.
boot_vga supports vga, not frambuffer.
 1.7 11-Dec-2005  christos branches: 1.7.74; 1.7.76; 1.7.78; 1.7.80;
merge ktrace-lwp.
 1.6 28-Jun-2005  junyoung #include <lib/libsa/stand.h> rather than <stand.h> or "stand.h"
 1.5 04-Dec-2003  keihan netbsd.org -> NetBSD.org

All "netbsd.org" is now gone from src/sys/arch.
 1.4 31-Aug-2001  simonb branches: 1.4.6; 1.4.22;
Use comments around the token after a #endif.
 1.3 28-Jun-1999  sakamoto branches: 1.3.16;
Use loadfile.
KNF
b* -> mem*
 1.2 15-Feb-1999  sakamoto branches: 1.2.4;
RCS ID police
 1.1 16-Jan-1998  sakamoto initial import of bebox kernel loader.
 1.2.4.1 01-Jul-1999  thorpej Sync w/ -current.
 1.3.16.1 13-Sep-2001  thorpej Update the kqueue branch to HEAD.
 1.4.22.4 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.4.22.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.4.22.2 18-Sep-2004  skrll Sync with HEAD.
 1.4.22.1 03-Aug-2004  skrll Sync with HEAD
 1.4.6.2 31-Aug-2001  simonb Use comments around the token after a #endif.
 1.4.6.1 31-Aug-2001  simonb file fd.c was added on branch nathanw_sa on 2001-08-31 04:44:59 +0000
 1.7.80.1 23-Jun-2008  wrstuden Sync w/ -current. 34 merge conflicts to follow.
 1.7.78.1 04-May-2009  yamt sync with head.
 1.7.76.1 04-Jun-2008  yamt sync with head
 1.7.74.1 02-Jun-2008  mjf Sync with HEAD.
 1.8.12.1 13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.8.6.1 28-Apr-2009  skrll Sync with HEAD.
 1.9.4.1 05-Mar-2011  rmind sync with head
 1.9.2.1 22-Oct-2010  uebayasi Sync with HEAD (-D20101022).
 1.10.36.1 06-Apr-2015  skrll Sync with HEAD
 1.10.34.1 07-Jan-2015  msaitoh Pull up following revision(s) (requested by martin in ticket #387):
sys/arch/bebox/stand/boot/vreset.c: revision 1.14
sys/arch/bebox/stand/boot/fd.c: revision 1.11
sys/arch/bebox/stand/boot/siop.c: revision 1.5
Fix all warnings when compiling with gcc 4.8.
BeBox should be ready for 4.8 now.
 1.10.18.1 03-Dec-2017  jdolecek update from HEAD
 1.9 18-Oct-2010  kiyohara Support ustarfs for floppy-disk.
 1.8 14-Oct-2010  kiyohara Support kernel load from IDE HDD with onboard wdc. like cobalt, sandpoint.
 1.7 26-May-2008  kiyohara branches: 1.7.18; 1.7.20;
Split boot/boot_com0/boot_vga.
boot supports framebuffer.
boot_com0 supports com0.
boot_vga supports vga, not frambuffer.
 1.6 28-Apr-2008  martin branches: 1.6.2;
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 28-Jun-2005  junyoung #include <lib/libsa/stand.h> rather than <stand.h> or "stand.h"
 1.3 23-Jun-2005  junyoung Use FS_OPS() macro.
 1.2 28-Jun-1999  sakamoto branches: 1.2.36;
Use loadfile.
KNF
b* -> mem*
 1.1 16-Jan-1998  sakamoto branches: 1.1.10;
initial import of bebox kernel loader.
 1.1.10.1 01-Jul-1999  thorpej Sync w/ -current.
 1.2.36.1 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.5.78.2 04-May-2009  yamt sync with head.
 1.5.78.1 16-May-2008  yamt sync with head.
 1.5.76.2 04-Jun-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.6.2.1 23-Jun-2008  wrstuden Sync w/ -current. 34 merge conflicts to follow.
 1.7.20.1 05-Mar-2011  rmind sync with head
 1.7.18.1 22-Oct-2010  uebayasi Sync with HEAD (-D20101022).
 1.9 18-Mar-2009  cegger Ansify function definitions w/o arguments. Generated with sed.
 1.8 26-May-2008  kiyohara branches: 1.8.6; 1.8.12;
Split boot/boot_com0/boot_vga.
boot supports framebuffer.
boot_com0 supports com0.
boot_vga supports vga, not frambuffer.
 1.7 28-Apr-2008  martin branches: 1.7.2;
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 28-Jun-2005  junyoung #include <lib/libsa/stand.h> rather than <stand.h> or "stand.h"
 1.4 20-Apr-2003  bjh21 branches: 1.4.2;
Cast KERNENTRY into a char * before doing arithmetic on it, so we don't end
up trying to cast a 64-bit integer into a pointer, which GCC warns about.
 1.3 28-Jun-1999  sakamoto Use loadfile.
KNF
b* -> mem*
 1.2 15-Feb-1999  sakamoto branches: 1.2.4;
RCS ID police
 1.1 16-Jan-1998  sakamoto initial import of bebox kernel loader.
 1.2.4.1 01-Jul-1999  thorpej Sync w/ -current.
 1.4.2.1 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.6.78.2 04-May-2009  yamt sync with head.
 1.6.78.1 16-May-2008  yamt sync with head.
 1.6.76.2 04-Jun-2008  yamt sync with head
 1.6.76.1 18-May-2008  yamt sync with head.
 1.6.74.1 02-Jun-2008  mjf Sync with HEAD.
 1.7.2.1 23-Jun-2008  wrstuden Sync w/ -current. 34 merge conflicts to follow.
 1.8.12.1 13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.8.6.1 28-Apr-2009  skrll Sync with HEAD.
 1.8 16-Feb-2022  riastradh powerpc: Sprinkle "memory" clobbers on eieio and nearby asm blocks.

Otherwise the compiler may reorder these around loads and stores,
which mostly defeats the purpose. `asm volatile' just ensures the
instruction isn't _deleted_; it may still move around.
 1.7 14-Oct-2010  kiyohara Add PCI_mem and many access/cache-ope functions.
+ inw/inwrb/writeb/writel/readb/readw/readl.
+ _wbinv/_inv.
 1.6 26-May-2008  kiyohara branches: 1.6.18; 1.6.20;
Split boot/boot_com0/boot_vga.
boot supports framebuffer.
boot_com0 supports com0.
boot_vga supports vga, not frambuffer.
 1.5 11-Dec-2005  christos branches: 1.5.74; 1.5.76; 1.5.78; 1.5.80;
merge ktrace-lwp.
 1.4 28-Jun-2005  junyoung #include <lib/libsa/stand.h> rather than <stand.h> or "stand.h"
 1.3 28-Jun-1999  sakamoto branches: 1.3.36;
Use loadfile.
KNF
b* -> mem*
 1.2 15-Feb-1999  sakamoto branches: 1.2.4;
RCS ID police
 1.1 16-Jan-1998  sakamoto initial import of bebox kernel loader.
 1.2.4.1 01-Jul-1999  thorpej Sync w/ -current.
 1.3.36.1 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.5.80.1 23-Jun-2008  wrstuden Sync w/ -current. 34 merge conflicts to follow.
 1.5.78.1 04-May-2009  yamt sync with head.
 1.5.76.1 04-Jun-2008  yamt sync with head
 1.5.74.1 02-Jun-2008  mjf Sync with HEAD.
 1.6.20.1 05-Mar-2011  rmind sync with head
 1.6.18.1 22-Oct-2010  uebayasi Sync with HEAD (-D20101022).
 1.2 15-Feb-1999  sakamoto RCS ID police
 1.1 16-Jan-1998  sakamoto initial import of bebox kernel loader.
 1.7 18-Mar-2009  cegger Ansify function definitions w/o arguments. Generated with sed.
 1.6 14-Mar-2009  dsl Change about 4500 of the K&R function definitions to ANSI ones.
There are still about 1600 left, but they have ',' or /* ... */
in the actual variable definitions - which my awk script doesn't handle.
There are also many that need () -> (void).
(The script does handle misordered arguments.)
 1.5 11-Dec-2005  christos branches: 1.5.78; 1.5.86; 1.5.92;
merge ktrace-lwp.
 1.4 28-Jun-2005  junyoung #include <lib/libsa/stand.h> rather than <stand.h> or "stand.h"
 1.3 28-Jun-1999  sakamoto branches: 1.3.36;
Use loadfile.
KNF
b* -> mem*
 1.2 15-Feb-1999  sakamoto branches: 1.2.4;
RCS ID police
 1.1 26-Oct-1998  sakamoto Support frame buffer console initialized by the BootRom of the BeBox.
But, NetBSD/bebox kernel doesn't support yet.
 1.2.4.1 01-Jul-1999  thorpej Sync w/ -current.
 1.3.36.1 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.5.92.1 13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.5.86.1 28-Apr-2009  skrll Sync with HEAD.
 1.5.78.1 04-May-2009  yamt sync with head.
 1.2 15-Feb-1999  sakamoto RCS ID police
 1.1 16-Jan-1998  sakamoto initial import of bebox kernel loader.
 1.3 28-Jun-1999  sakamoto Moved to /cvsroot/syssrc/sys/arch/bebox/stand/elf2pef/magic.h,v
 1.2 15-Feb-1999  sakamoto branches: 1.2.4;
RCS ID police
 1.1 16-Jan-1998  sakamoto initial import of bebox kernel loader.
 1.2.4.1 01-Jul-1999  thorpej Sync w/ -current.
 1.11 11-Jun-2016  dholland PR 51200 gets in libsa considered harmful: use kgets
 1.10 01-Jun-2014  phx branches: 1.10.4;
Use int32_t, int16_t, int8_t.
 1.9 26-May-2008  kiyohara branches: 1.9.42; 1.9.58;
Split boot/boot_com0/boot_vga.
boot supports framebuffer.
boot_com0 supports com0.
boot_vga supports vga, not frambuffer.
 1.8 28-Apr-2008  martin branches: 1.8.2;
Remove clause 3 and 4 from TNF licenses
 1.7 24-Dec-2005  perry branches: 1.7.74; 1.7.76; 1.7.78;
bare asm -> __asm
 1.6 11-Dec-2005  christos merge ktrace-lwp.
 1.5 28-Jun-2005  junyoung branches: 1.5.2;
#include <lib/libsa/stand.h> rather than <stand.h> or "stand.h"
 1.4 28-Jun-2005  junyoung - No need to define NULL here since it's already defined in stand.h.
- ANSI, KNF, de-__P, and remove trailing spaces.
 1.3 28-Jun-1999  sakamoto branches: 1.3.36;
Use loadfile.
KNF
b* -> mem*
 1.2 15-Feb-1999  sakamoto branches: 1.2.4;
RCS ID police
 1.1 16-Jan-1998  sakamoto initial import of bebox kernel loader.
 1.2.4.1 01-Jul-1999  thorpej Sync w/ -current.
 1.3.36.1 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.5.2.1 21-Jun-2006  yamt sync with head.
 1.7.78.2 04-May-2009  yamt sync with head.
 1.7.78.1 16-May-2008  yamt sync with head.
 1.7.76.2 04-Jun-2008  yamt sync with head
 1.7.76.1 18-May-2008  yamt sync with head.
 1.7.74.1 02-Jun-2008  mjf Sync with HEAD.
 1.8.2.1 23-Jun-2008  wrstuden Sync w/ -current. 34 merge conflicts to follow.
 1.9.58.1 10-Aug-2014  tls Rebase.
 1.9.42.2 03-Dec-2017  jdolecek update from HEAD
 1.9.42.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.10.4.1 09-Jul-2016  skrll Sync with HEAD
 1.8 14-Mar-2009  dsl Change about 4500 of the K&R function definitions to ANSI ones.
There are still about 1600 left, but they have ',' or /* ... */
in the actual variable definitions - which my awk script doesn't handle.
There are also many that need () -> (void).
(The script does handle misordered arguments.)
 1.7 11-Dec-2005  christos branches: 1.7.78; 1.7.86; 1.7.92;
merge ktrace-lwp.
 1.6 28-Jun-2005  junyoung #include <lib/libsa/stand.h> rather than <stand.h> or "stand.h"
 1.5 28-Jun-1999  sakamoto branches: 1.5.36;
Use loadfile.
KNF
b* -> mem*
 1.4 24-Jun-1999  sakamoto Some cleanup.
Move bootinfo related things to boot.c
and console related things to cons.c.
 1.3 15-Feb-1999  sakamoto branches: 1.3.4;
RCS ID police
 1.2 19-Jan-1998  sakamoto Add findcpuspeed for delay() and to pass to the kernel(BUS FREQ information).
some bug fix.
 1.1 16-Jan-1998  sakamoto initial import of bebox kernel loader.
 1.3.4.1 01-Jul-1999  thorpej Sync w/ -current.
 1.5.36.1 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.7.92.1 13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.7.86.1 28-Apr-2009  skrll Sync with HEAD.
 1.7.78.1 04-May-2009  yamt sync with head.
 1.5 14-Mar-2009  dsl Remove all the __P() from sys (excluding sys/dist)
Diff checked with grep and MK1 eyeball.
i386 and amd64 GENERIC and sys still build.
 1.4 28-Jun-1999  sakamoto branches: 1.4.142; 1.4.150; 1.4.156;
Use loadfile.
KNF
b* -> mem*
 1.3 15-Feb-1999  sakamoto branches: 1.3.4;
RCS ID police
 1.2 19-Jan-1998  sakamoto Add findcpuspeed for delay() and to pass to the kernel(BUS FREQ information).
some bug fix.
 1.1 16-Jan-1998  sakamoto initial import of bebox kernel loader.
 1.3.4.1 01-Jul-1999  thorpej Sync w/ -current.
 1.4.156.1 13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.4.150.1 28-Apr-2009  skrll Sync with HEAD.
 1.4.142.1 04-May-2009  yamt sync with 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 15-Feb-1999  sakamoto branches: 1.2.42;
RCS ID police
 1.1 16-Jan-1998  sakamoto initial import of bebox kernel loader.
 1.2.42.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.2.42.2 18-Sep-2004  skrll Sync with HEAD.
 1.2.42.1 03-Aug-2004  skrll Sync with HEAD
 1.6 16-Feb-2022  riastradh powerpc: Sprinkle "memory" clobbers on eieio and nearby asm blocks.

Otherwise the compiler may reorder these around loads and stores,
which mostly defeats the purpose. `asm volatile' just ensures the
instruction isn't _deleted_; it may still move around.
 1.5 14-Oct-2010  kiyohara Add pci.c. Splitted from vreset.c
And cleanup vreset.c.
 1.4 24-Jun-1999  sakamoto branches: 1.4.96; 1.4.98;
Some cleanup.
Move bootinfo related things to boot.c
and console related things to cons.c.
 1.3 15-Feb-1999  sakamoto branches: 1.3.4;
RCS ID police
 1.2 28-Oct-1998  sakamoto Support frame buffer console with Matrox Millennium(probably, and II).
But, NetBSD/bebox kernel doesn't support yet.
 1.1 26-Oct-1998  sakamoto Support frame buffer console initialized by the BootRom of the BeBox.
But, NetBSD/bebox kernel doesn't support yet.
 1.3.4.1 01-Jul-1999  thorpej Sync w/ -current.
 1.4.98.1 05-Mar-2011  rmind sync with head
 1.4.96.1 22-Oct-2010  uebayasi Sync with HEAD (-D20101022).
 1.3 28-Jun-1999  sakamoto Moved to /cvsroot/syssrc/sys/arch/bebox/stand/elf2pef/pef.h,v
 1.2 15-Feb-1999  sakamoto branches: 1.2.4;
RCS ID police
 1.1 16-Jan-1998  sakamoto initial import of bebox kernel loader.
 1.2.4.1 01-Jul-1999  thorpej Sync w/ -current.
 1.10 25-Feb-2011  kiyohara Style.
 1.9 18-Mar-2009  cegger branches: 1.9.4; 1.9.6; 1.9.8;
Ansify function definitions w/o arguments. Generated with sed.
 1.8 17-Mar-2009  he Make putchar() conform to the stand.h prototype, so that this builds again.
 1.7 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.6 28-Apr-2008  martin branches: 1.6.8; 1.6.14;
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 28-Jun-2005  junyoung #include <lib/libsa/stand.h> rather than <stand.h> or "stand.h"
 1.3 28-Jun-1999  sakamoto branches: 1.3.36;
Use loadfile.
KNF
b* -> mem*
 1.2 15-Feb-1999  sakamoto branches: 1.2.4;
RCS ID police
 1.1 16-Jan-1998  sakamoto initial import of bebox kernel loader.
 1.2.4.1 01-Jul-1999  thorpej Sync w/ -current.
 1.3.36.1 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.5.78.2 04-May-2009  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.6.14.1 13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.6.8.1 28-Apr-2009  skrll Sync with HEAD.
 1.9.8.1 05-Mar-2011  bouyer Sync with HEAD
 1.9.6.1 06-Jun-2011  jruoho Sync with HEAD.
 1.9.4.1 05-Mar-2011  rmind sync with head
 1.6 08-Jan-2019  jdolecek no need to include <machine/param.h> if <sys/param.h> already included
 1.5 02-Jan-2015  christos branches: 1.5.16; 1.5.18;
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.4 10-Jun-2014  phx branches: 1.4.4;
Fix SCSI reads beyond block 0x1fffff, by writing the READ_10/READ_16 opcode
into the correct scsipi_rw_10/scsipi_rw_16 command structure.
 1.3 19-Dec-2012  kiyohara branches: 1.3.10;
Change path-format for scsi. s,scsi/B/T/L_n,scsi/BTL/0_n,.
 1.2 17-Jul-2011  joerg branches: 1.2.2; 1.2.12;
Retire varargs.h support. Move machine/stdarg.h logic into MI
sys/stdarg.h and expect compiler to provide proper builtins, defaulting
to the GCC interface. lint still has a special fallback.
Reduce abuse of _BSD_VA_LIST_ by defining __va_list by default and
derive va_list as required by standards.
 1.1 14-Oct-2010  kiyohara branches: 1.1.2; 1.1.8;
Support kernel load from SCSI HDD with onboard siop. It is very EXPERIMENTAL!!
 1.1.8.2 05-Mar-2011  rmind sync with head
 1.1.8.1 14-Oct-2010  rmind file sd.c was added on branch rmind-uvmplock on 2011-03-05 20:49:46 +0000
 1.1.2.2 22-Oct-2010  uebayasi Sync with HEAD (-D20101022).
 1.1.2.1 14-Oct-2010  uebayasi file sd.c was added on branch uebayasi-xip on 2010-10-22 07:21:08 +0000
 1.2.12.3 03-Dec-2017  jdolecek update from HEAD
 1.2.12.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.2.12.1 25-Feb-2013  tls resync with head
 1.2.2.1 23-Jan-2013  yamt sync with head
 1.3.10.1 10-Aug-2014  tls Rebase.
 1.4.4.1 06-Apr-2015  skrll Sync with HEAD
 1.5.18.1 10-Jun-2019  christos Sync with HEAD
 1.5.16.1 18-Jan-2019  pgoyette Synch with HEAD
 1.1 14-Oct-2010  kiyohara branches: 1.1.2; 1.1.8;
Support kernel load from SCSI HDD with onboard siop. It is very EXPERIMENTAL!!
 1.1.8.2 05-Mar-2011  rmind sync with head
 1.1.8.1 14-Oct-2010  rmind file sdvar.h was added on branch rmind-uvmplock on 2011-03-05 20:49:46 +0000
 1.1.2.2 22-Oct-2010  uebayasi Sync with HEAD (-D20101022).
 1.1.2.1 14-Oct-2010  uebayasi file sdvar.h was added on branch uebayasi-xip on 2010-10-22 07:21:08 +0000
 1.15 08-Feb-2024  andvar s/should't/shouldn't/ and s/mistmatch/mismatch/ in comments.
 1.14 19-Jun-2023  msaitoh Fix typo. unknwon -> unknown
 1.13 26-May-2023  andvar set error to EIO on SKEY_ABORTED_COMMAND.
It is usually the case for other SCSI drivers, though they do implement retries too.
potentially same should be committed to prep(?).
discussed with riastradh.
 1.12 26-May-2023  andvar initialize error on definition to fix 'error' may not be initialized issue.
the commit unifies code between bebox and prep machines.
reported by Mootja _08.
 1.11 03-Jun-2022  andvar fix folloing->following typos in more files.
also s/begginning/beginning/.
 1.10 23-May-2022  andvar s/beggining/beginning/ in comments.
 1.9 22-May-2022  andvar fix various small typos, mainly in comments.
 1.8 01-Jan-2022  andvar s/coudn/couldn/ and s/couln/couldn/ in comment and log messages.
 1.7 27-Dec-2019  msaitoh s/transfered/transferred/
 1.6 25-Jun-2017  maxv branches: 1.6.6;
uninitialized var, found by Mootja; don't know which value to put, so add
a big XXX
 1.5 12-Dec-2014  phx Fix all warnings when compiling with gcc 4.8.
BeBox should be ready for 4.8 now.
 1.4 14-Jun-2014  phx branches: 1.4.2; 1.4.4;
Add missing siop_clearfifo() and some debugging output (-DDEBUG).
 1.3 03-Jan-2013  kiyohara branches: 1.3.10;
Fix format of specify for scsi disk. s,/dev/disk/scsi/0/0/0,/dev/disk/scsi/000,
 1.2 14-Feb-2012  kiyohara branches: 1.2.6;
Remove unused a valiable 'siopdbg'.
 1.1 14-Oct-2010  kiyohara branches: 1.1.2; 1.1.8; 1.1.12; 1.1.16;
Support kernel load from SCSI HDD with onboard siop. It is very EXPERIMENTAL!!
 1.1.16.1 18-Feb-2012  mrg merge to -current.
 1.1.12.2 23-Jan-2013  yamt sync with head
 1.1.12.1 17-Apr-2012  yamt sync with head
 1.1.8.2 05-Mar-2011  rmind sync with head
 1.1.8.1 14-Oct-2010  rmind file siop.c was added on branch rmind-uvmplock on 2011-03-05 20:49:46 +0000
 1.1.2.2 22-Oct-2010  uebayasi Sync with HEAD (-D20101022).
 1.1.2.1 14-Oct-2010  uebayasi file siop.c was added on branch uebayasi-xip on 2010-10-22 07:21:09 +0000
 1.2.6.3 03-Dec-2017  jdolecek update from HEAD
 1.2.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.2.6.1 25-Feb-2013  tls resync with head
 1.3.10.1 10-Aug-2014  tls Rebase.
 1.4.4.2 28-Aug-2017  skrll Sync with HEAD
 1.4.4.1 06-Apr-2015  skrll Sync with HEAD
 1.4.2.1 07-Jan-2015  msaitoh Pull up following revision(s) (requested by martin in ticket #387):
sys/arch/bebox/stand/boot/vreset.c: revision 1.14
sys/arch/bebox/stand/boot/fd.c: revision 1.11
sys/arch/bebox/stand/boot/siop.c: revision 1.5
Fix all warnings when compiling with gcc 4.8.
BeBox should be ready for 4.8 now.
 1.6.6.1 08-Apr-2020  martin Merge changes from current as of 20200406
 1.5 30-Aug-2025  rin bebox: boot: Appease gas from binutils 2.45

No binary changes with previous revision assembled by binutils 2.42.
 1.4 06-Aug-2014  joerg Use cmpwi/cmpw
 1.3 28-Jun-1999  sakamoto branches: 1.3.186; 1.3.202;
Use loadfile.
KNF
b* -> mem*
 1.2 15-Feb-1999  sakamoto branches: 1.2.4;
RCS ID police
 1.1 16-Jan-1998  sakamoto initial import of bebox kernel loader.
 1.2.4.1 01-Jul-1999  thorpej Sync w/ -current.
 1.3.202.1 10-Aug-2014  tls Rebase.
 1.3.186.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.9 29-Apr-2022  rin Fix fallout from libsa change; stand.h includes <sys/param.h> now.

SCANWAIT and PWAIT are renamed to SCANDELAY and SCANWAIT, respectively,
in order not to redefine PWAIT.
 1.8 25-Feb-2011  kiyohara Style.
 1.7 14-Mar-2009  dsl branches: 1.7.4; 1.7.6; 1.7.8;
Change about 4500 of the K&R function definitions to ANSI ones.
There are still about 1600 left, but they have ',' or /* ... */
in the actual variable definitions - which my awk script doesn't handle.
There are also many that need () -> (void).
(The script does handle misordered arguments.)
 1.6 11-Dec-2005  christos branches: 1.6.78; 1.6.86; 1.6.92;
merge ktrace-lwp.
 1.5 28-Jun-2005  junyoung #include <lib/libsa/stand.h> rather than <stand.h> or "stand.h"
 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 28-Jun-1999  sakamoto branches: 1.3.36;
Use loadfile.
KNF
b* -> mem*
 1.2 19-Jan-1998  sakamoto branches: 1.2.10;
Add findcpuspeed for delay() and to pass to the kernel(BUS FREQ information).
some bug fix.
 1.1 16-Jan-1998  sakamoto initial import of bebox kernel loader.
 1.2.10.1 01-Jul-1999  thorpej Sync w/ -current.
 1.3.36.4 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.3.36.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.3.36.2 18-Sep-2004  skrll Sync with HEAD.
 1.3.36.1 03-Aug-2004  skrll Sync with HEAD
 1.6.92.1 13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.6.86.1 28-Apr-2009  skrll Sync with HEAD.
 1.6.78.1 04-May-2009  yamt sync with head.
 1.7.8.1 05-Mar-2011  bouyer Sync with HEAD
 1.7.6.1 06-Jun-2011  jruoho Sync with HEAD.
 1.7.4.1 05-Mar-2011  rmind sync with head
 1.12 19-Dec-2012  kiyohara Change path-format for scsi. s,scsi/B/T/L_n,scsi/BTL/0_n,.
 1.11 18-Oct-2010  kiyohara branches: 1.11.8; 1.11.18;
Support ustarfs for floppy-disk.
 1.10 14-Oct-2010  kiyohara Support kernel load from SCSI HDD with onboard siop. It is very EXPERIMENTAL!!
 1.9 14-Oct-2010  kiyohara Support kernel load from IDE HDD with onboard wdc. like cobalt, sandpoint.
 1.8 14-Oct-2010  kiyohara s/,vga}/,_vga}/.
 1.7 26-May-2008  kiyohara branches: 1.7.18; 1.7.20;
Split boot/boot_com0/boot_vga.
boot supports framebuffer.
boot_com0 supports com0.
boot_vga supports vga, not frambuffer.
 1.6 09-Nov-2001  scw branches: 1.6.118; 1.6.120; 1.6.122; 1.6.124;
Bump the version numbers of all bootloaders which use loadfile_elfXX() now
that it tries hard to avoid backwards seeks.
 1.5 02-Aug-2001  bjh21 branches: 1.5.4; 1.5.6;
Bump version numbers of all bootloaders that use loadfile/ELF, to account for
my changes to symbol loading. I should probably have done this at the time,
but it's better late than never.
 1.4 24-Sep-2000  jdolecek branches: 1.4.4;
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.3 15-Feb-1999  sakamoto branches: 1.3.8;
RCS ID police
 1.2 19-Jan-1998  sakamoto Add findcpuspeed for delay() and to pass to the kernel(BUS FREQ information).
some bug fix.
 1.1 16-Jan-1998  sakamoto initial import of bebox kernel loader.
 1.3.8.1 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.4.4.2 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.4.4.1 03-Aug-2001  lukem update to -current
 1.5.6.2 17-Apr-2002  nathanw Catch up to -current.
 1.5.6.1 02-Aug-2001  nathanw file version was added on branch nathanw_sa on 2002-04-17 00:02:50 +0000
 1.5.4.1 12-Nov-2001  thorpej Sync the thorpej-mips-cache branch with -current.
 1.6.124.1 23-Jun-2008  wrstuden Sync w/ -current. 34 merge conflicts to follow.
 1.6.122.1 04-May-2009  yamt sync with head.
 1.6.120.1 04-Jun-2008  yamt sync with head
 1.6.118.1 02-Jun-2008  mjf Sync with HEAD.
 1.7.20.1 05-Mar-2011  rmind sync with head
 1.7.18.1 22-Oct-2010  uebayasi Sync with HEAD (-D20101022).
 1.11.18.1 25-Feb-2013  tls resync with head
 1.11.8.1 23-Jan-2013  yamt sync with head
 1.10 18-Mar-2009  cegger Ansify function definitions w/o arguments. Generated with sed.
 1.9 14-Mar-2009  dsl Change about 4500 of the K&R function definitions to ANSI ones.
There are still about 1600 left, but they have ',' or /* ... */
in the actual variable definitions - which my awk script doesn't handle.
There are also many that need () -> (void).
(The script does handle misordered arguments.)
 1.8 26-May-2008  kiyohara branches: 1.8.6; 1.8.12;
Split boot/boot_com0/boot_vga.
boot supports framebuffer.
boot_com0 supports com0.
boot_vga supports vga, not frambuffer.
 1.7 11-Dec-2005  christos branches: 1.7.74; 1.7.76; 1.7.78; 1.7.80;
merge ktrace-lwp.
 1.6 28-Jun-2005  junyoung #include <lib/libsa/stand.h> rather than <stand.h> or "stand.h"
 1.5 28-Jun-2005  junyoung Remove trailing spaces.
 1.4 22-Jul-2001  wiz branches: 1.4.6; 1.4.22;
bcopy -> memmove
 1.3 28-Jun-1999  sakamoto branches: 1.3.16;
Use loadfile.
KNF
b* -> mem*
 1.2 15-Feb-1999  sakamoto branches: 1.2.4;
RCS ID police
 1.1 26-Oct-1998  sakamoto Support frame buffer console initialized by the BootRom of the BeBox.
But, NetBSD/bebox kernel doesn't support yet.
 1.2.4.1 01-Jul-1999  thorpej Sync w/ -current.
 1.3.16.1 03-Aug-2001  lukem update to -current
 1.4.22.1 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.4.6.2 22-Jul-2001  wiz bcopy -> memmove
 1.4.6.1 22-Jul-2001  wiz file vga.c was added on branch nathanw_sa on 2001-07-22 14:32:18 +0000
 1.7.80.1 23-Jun-2008  wrstuden Sync w/ -current. 34 merge conflicts to follow.
 1.7.78.1 04-May-2009  yamt sync with head.
 1.7.76.1 04-Jun-2008  yamt sync with head
 1.7.74.1 02-Jun-2008  mjf Sync with HEAD.
 1.8.12.1 13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.8.6.1 28-Apr-2009  skrll Sync with HEAD.
 1.7 11-Dec-2005  christos merge ktrace-lwp.
 1.6 28-Jun-2005  junyoung #include <lib/libsa/stand.h> rather than <stand.h> or "stand.h"
 1.5 28-Jun-2005  junyoung - ANSIfy, remove trailing spaces.
- Put /* FALLTHROUGH */ to make lint happy.
 1.4 28-Jun-1999  sakamoto branches: 1.4.36;
Use loadfile.
KNF
b* -> mem*
 1.3 15-Feb-1999  sakamoto branches: 1.3.4;
RCS ID police
 1.2 28-Oct-1998  sakamoto Support frame buffer console with Matrox Millennium(probably, and II).
But, NetBSD/bebox kernel doesn't support yet.
 1.1 26-Oct-1998  sakamoto Support frame buffer console initialized by the BootRom of the BeBox.
But, NetBSD/bebox kernel doesn't support yet.
 1.3.4.1 01-Jul-1999  thorpej Sync w/ -current.
 1.4.36.1 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.15 16-Feb-2022  riastradh powerpc: Sprinkle "memory" clobbers on eieio and nearby asm blocks.

Otherwise the compiler may reorder these around loads and stores,
which mostly defeats the purpose. `asm volatile' just ensures the
instruction isn't _deleted_; it may still move around.
 1.14 12-Dec-2014  phx Fix all warnings when compiling with gcc 4.8.
BeBox should be ready for 4.8 now.
 1.13 15-Oct-2010  he branches: 1.13.18; 1.13.34; 1.13.36;
Fix a minor typo preventing this from building.
 1.12 14-Oct-2010  kiyohara Add pci.c. Splitted from vreset.c
And cleanup vreset.c.
 1.11 26-May-2008  kiyohara branches: 1.11.18; 1.11.20;
Split boot/boot_com0/boot_vga.
boot supports framebuffer.
boot_com0 supports com0.
boot_vga supports vga, not frambuffer.
 1.10 26-Mar-2008  kiyohara branches: 1.10.2; 1.10.4; 1.10.6;
Remove printf() when VGA vendor is case Diamond and Matrox. Moreover
this printf() will make the start of CPU1 fail. I have not understood the
reason yet. When doing DEBUG is effective, the vender of all PCI devices
will be displayed again. At this time, printf() doesn't support the format
like "%08x".
 1.9 29-Jan-2006  dsl branches: 1.9.72;
Make almost everything #include <sys/bswap.h> instead of <machine/bswap.h>
The bswap.h and endian.h files are all rather incestuous, but I want to
get the constant folding stuff into one place - sys/bswap.h
 1.8 24-Dec-2005  perry branches: 1.8.2;
__asm__ -> __asm
__const__ -> const
__inline__ -> inline
__volatile__ -> volatile
 1.7 11-Dec-2005  christos merge ktrace-lwp.
 1.6 28-Jun-2005  junyoung branches: 1.6.2;
#include <lib/libsa/stand.h> rather than <stand.h> or "stand.h"
 1.5 27-Jun-2005  junyoung ANSI, KNF, de-__P, drop trailing spaces, and some other cosmetic changes.
 1.4 28-Jun-1999  sakamoto branches: 1.4.36;
Use loadfile.
KNF
b* -> mem*
 1.3 15-Feb-1999  sakamoto branches: 1.3.4;
RCS ID police
 1.2 26-Oct-1998  sakamoto Support frame buffer console initialized by the BootRom of the BeBox.
But, NetBSD/bebox kernel doesn't support yet.
 1.1 16-Jan-1998  sakamoto initial import of bebox kernel loader.
 1.3.4.1 01-Jul-1999  thorpej Sync w/ -current.
 1.4.36.1 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.6.2.1 21-Jun-2006  yamt sync with head.
 1.8.2.1 01-Feb-2006  yamt sync with head.
 1.9.72.2 02-Jun-2008  mjf Sync with HEAD.
 1.9.72.1 03-Apr-2008  mjf Sync with HEAD.
 1.10.6.1 23-Jun-2008  wrstuden Sync w/ -current. 34 merge conflicts to follow.
 1.10.4.1 04-May-2009  yamt sync with head.
 1.10.2.1 04-Jun-2008  yamt sync with head
 1.11.20.1 05-Mar-2011  rmind sync with head
 1.11.18.1 22-Oct-2010  uebayasi Sync with HEAD (-D20101022).
 1.13.36.1 06-Apr-2015  skrll Sync with HEAD
 1.13.34.1 07-Jan-2015  msaitoh Pull up following revision(s) (requested by martin in ticket #387):
sys/arch/bebox/stand/boot/vreset.c: revision 1.14
sys/arch/bebox/stand/boot/fd.c: revision 1.11
sys/arch/bebox/stand/boot/siop.c: revision 1.5
Fix all warnings when compiling with gcc 4.8.
BeBox should be ready for 4.8 now.
 1.13.18.1 03-Dec-2017  jdolecek update from HEAD
 1.4 08-Jan-2019  jdolecek no need to include <machine/param.h> if <sys/param.h> already included
 1.3 02-Jan-2015  christos branches: 1.3.16; 1.3.18;
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.2 17-Jul-2011  joerg branches: 1.2.12; 1.2.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.1 14-Oct-2010  kiyohara branches: 1.1.2; 1.1.8;
Support kernel load from IDE HDD with onboard wdc. like cobalt, sandpoint.
 1.1.8.2 05-Mar-2011  rmind sync with head
 1.1.8.1 14-Oct-2010  rmind file wd.c was added on branch rmind-uvmplock on 2011-03-05 20:49:46 +0000
 1.1.2.2 22-Oct-2010  uebayasi Sync with HEAD (-D20101022).
 1.1.2.1 14-Oct-2010  uebayasi file wd.c was added on branch uebayasi-xip on 2010-10-22 07:21:09 +0000
 1.2.30.1 06-Apr-2015  skrll Sync with HEAD
 1.2.12.1 03-Dec-2017  jdolecek update from HEAD
 1.3.18.1 10-Jun-2019  christos Sync with HEAD
 1.3.16.1 18-Jan-2019  pgoyette Synch with HEAD
 1.4 08-Jan-2019  christos no need for <machine/param.h>
 1.3 08-Jan-2019  christos Include <sys/param.h> for DEV_BSIZE/DEV_BSHIFT
 1.2 11-Jul-2015  kamil branches: 1.2.16; 1.2.18;
Improve spelling: regsiter -> register

This change is non-functional.

Approved by <riastradh>, <pgoyette>
 1.1 14-Oct-2010  kiyohara branches: 1.1.2; 1.1.8; 1.1.22; 1.1.40;
Support kernel load from IDE HDD with onboard wdc. like cobalt, sandpoint.
 1.1.40.1 22-Sep-2015  skrll Sync with HEAD
 1.1.22.1 03-Dec-2017  jdolecek update from HEAD
 1.1.8.2 05-Mar-2011  rmind sync with head
 1.1.8.1 14-Oct-2010  rmind file wdc.c was added on branch rmind-uvmplock on 2011-03-05 20:49:46 +0000
 1.1.2.2 22-Oct-2010  uebayasi Sync with HEAD (-D20101022).
 1.1.2.1 14-Oct-2010  uebayasi file wdc.c was added on branch uebayasi-xip on 2010-10-22 07:21:09 +0000
 1.2.18.1 10-Jun-2019  christos Sync with HEAD
 1.2.16.1 18-Jan-2019  pgoyette Synch with HEAD
 1.1 14-Oct-2010  kiyohara branches: 1.1.2; 1.1.8;
Support kernel load from IDE HDD with onboard wdc. like cobalt, sandpoint.
 1.1.8.2 05-Mar-2011  rmind sync with head
 1.1.8.1 14-Oct-2010  rmind file wdvar.h was added on branch rmind-uvmplock on 2011-03-05 20:49:46 +0000
 1.1.2.2 22-Oct-2010  uebayasi Sync with HEAD (-D20101022).
 1.1.2.1 14-Oct-2010  uebayasi file wdvar.h was added on branch uebayasi-xip on 2010-10-22 07:21:09 +0000
 1.1 26-May-2008  kiyohara branches: 1.1.2; 1.1.4; 1.1.10; 1.1.22;
Split boot/boot_com0/boot_vga.
boot supports framebuffer.
boot_com0 supports com0.
boot_vga supports vga, not frambuffer.
 1.1.22.2 04-May-2009  yamt sync with head.
 1.1.22.1 26-May-2008  yamt file Makefile was added on branch yamt-nfs-mp on 2009-05-04 08:10:52 +0000
 1.1.10.2 24-Sep-2008  wrstuden Merge in changes missed in previous sync with head.
 1.1.10.1 26-May-2008  wrstuden file Makefile was added on branch wrstuden-revivesa on 2008-09-24 04:59:05 +0000
 1.1.4.2 04-Jun-2008  yamt sync with head
 1.1.4.1 26-May-2008  yamt file Makefile was added on branch yamt-pf42 on 2008-06-04 02:04:44 +0000
 1.1.2.2 02-Jun-2008  mjf Sync with HEAD.
 1.1.2.1 26-May-2008  mjf file Makefile was added on branch mjf-devfs2 on 2008-06-02 13:21:58 +0000
 1.1 26-May-2008  kiyohara branches: 1.1.2; 1.1.4; 1.1.10; 1.1.22;
Split boot/boot_com0/boot_vga.
boot supports framebuffer.
boot_com0 supports com0.
boot_vga supports vga, not frambuffer.
 1.1.22.2 04-May-2009  yamt sync with head.
 1.1.22.1 26-May-2008  yamt file Makefile was added on branch yamt-nfs-mp on 2009-05-04 08:10:52 +0000
 1.1.10.2 24-Sep-2008  wrstuden Merge in changes missed in previous sync with head.
 1.1.10.1 26-May-2008  wrstuden file Makefile was added on branch wrstuden-revivesa on 2008-09-24 04:59:05 +0000
 1.1.4.2 04-Jun-2008  yamt sync with head
 1.1.4.1 26-May-2008  yamt file Makefile was added on branch yamt-pf42 on 2008-06-04 02:04:44 +0000
 1.1.2.2 02-Jun-2008  mjf Sync with HEAD.
 1.1.2.1 26-May-2008  mjf file Makefile was added on branch mjf-devfs2 on 2008-06-02 13:21:58 +0000
 1.4 08-Aug-2014  joerg Don't set -mmultiple or -mno-string for PowerPC, the difference is too
small to really matter and it sometimes even increases the size.
 1.3 21-Aug-2013  matt branches: 1.3.2;
Use <bsd.klinks.mk>
 1.2 27-May-2010  dholland branches: 1.2.8; 1.2.18; 1.2.22;
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.1 26-May-2008  kiyohara branches: 1.1.2; 1.1.4; 1.1.10; 1.1.22; 1.1.26; 1.1.28;
Split boot/boot_com0/boot_vga.
boot supports framebuffer.
boot_com0 supports com0.
boot_vga supports vga, not frambuffer.
 1.1.28.1 30-May-2010  rmind sync with head
 1.1.26.1 17-Aug-2010  uebayasi Sync with HEAD.
 1.1.22.3 11-Aug-2010  yamt sync with head.
 1.1.22.2 04-May-2009  yamt sync with head.
 1.1.22.1 26-May-2008  yamt file Makefile was added on branch yamt-nfs-mp on 2009-05-04 08:10:52 +0000
 1.1.10.2 24-Sep-2008  wrstuden Merge in changes missed in previous sync with head.
 1.1.10.1 26-May-2008  wrstuden file Makefile was added on branch wrstuden-revivesa on 2008-09-24 04:58:25 +0000
 1.1.4.2 04-Jun-2008  yamt sync with head
 1.1.4.1 26-May-2008  yamt file Makefile was added on branch yamt-pf42 on 2008-06-04 02:04:44 +0000
 1.1.2.2 02-Jun-2008  mjf Sync with HEAD.
 1.1.2.1 26-May-2008  mjf file Makefile was added on branch mjf-devfs2 on 2008-06-02 13:21:58 +0000
 1.2.22.1 28-Aug-2013  rmind sync with head
 1.2.18.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.2.8.1 22-May-2014  yamt sync with head.

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

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.3.2.1 10-Aug-2014  tls Rebase.

RSS XML Feed