Home | History | Annotate | only in /src/sys/arch/bebox/include
History log of /src/sys/arch/bebox/include
RevisionDateAuthorComments
 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

RSS XML Feed