Home | History | Annotate | only in /src/sys/arch/macppc/include
History log of /src/sys/arch/macppc/include
RevisionDateAuthorComments
 1.22 21-Dec-2015  christos Add mips fenv.h (From FreeBSD)
 1.21 23-Jul-2014  alnsn branches: 1.21.4;
Rename sljitarch.h to sljit_machdep.h.
 1.20 17-Nov-2013  alnsn branches: 1.20.2;
Enable sljit and bpfjit on powerpc.
 1.19 11-Dec-2005  christos branches: 1.19.112; 1.19.122; 1.19.128;
merge ktrace-lwp.
 1.18 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.17 17-Jan-2003  thorpej branches: 1.17.2;
Merge the nathanw_sa branch.
 1.16 26-Nov-2002  lukem Remove KDIR=, since SYS_INCLUDE=symlinks and KDIR are not supported any more.
 1.15 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.14 18-Jun-2002  itojun apm emulation, from openbsd
 1.13 03-May-2001  soren branches: 1.13.2; 1.13.8; 1.13.16;
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-Mar-1999  tsubai branches: 1.4.8;
Remove unused file.
 1.3 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.2 03-Dec-1998  tsubai 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.4.8.2 21-Apr-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.13.16.2 31-Aug-2002  gehenna catch up with -current.
 1.13.16.1 16-Jul-2002  gehenna catch up with -current.
 1.13.8.5 11-Dec-2002  thorpej Sync with HEAD.
 1.13.8.4 13-Aug-2002  nathanw Catch up to -current.
 1.13.8.3 20-Jun-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:14 +0000
 1.13.2.1 06-Sep-2002  jdolecek sync kqueue branch with HEAD
 1.17.2.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.17.2.2 18-Sep-2004  skrll Sync with HEAD.
 1.17.2.1 03-Aug-2004  skrll Sync with HEAD
 1.19.128.1 18-May-2014  rmind sync with head
 1.19.122.2 03-Dec-2017  jdolecek update from HEAD
 1.19.122.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.19.112.1 22-May-2014  yamt sync with head.

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

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.20.2.1 10-Aug-2014  tls Rebase.
 1.21.4.1 27-Dec-2015  skrll Sync with HEAD (as of 26th Dec)
 1.9 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.8 17-Jan-2007  macallan branches: 1.8.48; 1.8.56; 1.8.62;
add iBook keyboard type
 1.7 18-Jun-2002  itojun branches: 1.7.22; 1.7.52;
apm emulation, from openbsd
 1.6 26-Jul-2001  tsubai branches: 1.6.6; 1.6.14;
Change description of handler-ID == 195.
 1.5 12-Jul-2001  nathanw Add the keyboard ID found on the American versions of the PowerBook G4 and
iBook (dual USB).
 1.4 19-Dec-2000  tsubai branches: 1.4.4;
Add support for Kensington Turbo Mouse.
 1.3 16-Jun-1999  tsubai branches: 1.3.2;
Define PowerBook G3 Japanese keyboard.
 1.2 20-Oct-1998  tsubai branches: 1.2.8;
Add via-pmu support (only PowerBook 2400c/180 is tested).
 1.1 15-May-1998  tsubai Initial import of macppc port.
 1.2.8.1 21-Jun-1999  thorpej Sync w/ -current.
 1.3.2.1 05-Jan-2001  bouyer Sync with HEAD
 1.4.4.2 06-Sep-2002  jdolecek sync kqueue branch with HEAD
 1.4.4.1 03-Aug-2001  lukem update to -current
 1.6.14.1 16-Jul-2002  gehenna catch up with -current.
 1.6.6.2 20-Jun-2002  nathanw Catch up to -current.
 1.6.6.1 26-Jul-2001  nathanw file adbsys.h was added on branch nathanw_sa on 2002-06-20 03:39:34 +0000
 1.7.52.1 01-Feb-2007  ad Sync with head.
 1.7.22.1 26-Feb-2007  yamt sync with head.
 1.8.62.1 13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.8.56.1 28-Apr-2009  skrll Sync with HEAD.
 1.8.48.1 04-May-2009  yamt sync with head.
 1.2 29-May-1998  tsubai Use arch/powerpc/.
 1.1 15-May-1998  tsubai Initial import of macppc port.
 1.2 29-May-1998  tsubai Use arch/powerpc/.
 1.1 15-May-1998  tsubai Initial import of macppc port.
 1.3 01-Oct-2012  dsl Remove 'struct apm_connect_info' - part of the i386 APM bios interface.
There are no references to it anywhere in all of $SRC.
 1.2 29-Aug-2006  he branches: 1.2.94; 1.2.104;
Use the common <dev/apm/apmio.h> file instead of replicating struct and
ioctl definitions in a local copy. What remains is local additions.
Makes usr.bin/kdump build for macppc again.
 1.1 18-Jun-2002  itojun branches: 1.1.2; 1.1.4; 1.1.6; 1.1.28; 1.1.42; 1.1.46;
apm emulation, from openbsd
 1.1.46.1 03-Sep-2006  yamt sync with head.
 1.1.42.1 09-Sep-2006  rpaulo sync with head
 1.1.28.1 30-Dec-2006  yamt sync with head.
 1.1.6.2 06-Sep-2002  jdolecek sync kqueue branch with HEAD
 1.1.6.1 18-Jun-2002  jdolecek file apmvar.h was added on branch kqueue on 2002-09-06 08:37:09 +0000
 1.1.4.2 16-Jul-2002  gehenna catch up with -current.
 1.1.4.1 18-Jun-2002  gehenna file apmvar.h was added on branch gehenna-devsw on 2002-07-16 08:48:19 +0000
 1.1.2.2 20-Jun-2002  nathanw Catch up to -current.
 1.1.2.1 18-Jun-2002  nathanw file apmvar.h was added on branch nathanw_sa on 2002-06-20 03:39:35 +0000
 1.2.104.1 20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.2.94.1 30-Oct-2012  yamt sync with head
 1.2 29-May-1998  tsubai Use arch/powerpc/.
 1.1 15-May-1998  tsubai Initial import of macppc 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:37:30 +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.22 27-Feb-2021  thorpej Un-do a bunch of misguided code sharing. It's not really shared if it's
full of platform-specific #ifdefs:
- ofwoea_batinit() is gone; just do what's needed early in macppc / ofppc
initppc() functions.
- Get a bunch of Mac-specific stuff out of ofwoea_initppc().
 1.21 12-Feb-2021  thorpej No need for a prototype of ofbcopy() here.
 1.20 07-Jul-2020  rin branches: 1.20.2;
It turned out that using some Open Firmware routines causes the system
freeze after calling OF_quiesce().

This is why setting color palette crash the system for some Power Mac G5
models, like PowerMac11,2.

Therefore, stop using color-palette and backlight callbacks for genfb(4)
in this case.

Also, postpone OF_quiesce() after rascons_init_rasops(), and initialize
color palette there if OF is going to be quiesced and color depth is 8.

Now, color palette for wscons is initialized correctly for PowerMac11,2.
 1.19 08-Jan-2019  mrg workaround a problem with the pegasos firmware interface:
attempting to use /dev/openfirm on this machine hangs hard.

this isn't a new problem, and i've been meaning to try to
figure it out for years, but it's become a problem since
the xf86-video-radeon driver gained code to look for the
macppc model using this interface.

this is why xorg-server 1.18 and 1.20 hang recently on the
pegasosII.


this change is fairly ugly but i couldn't think of a less
ugly method to avoid /dev/openfirm working just on this
one platform. introduce new __OPENFIRMIO_OPEN_CHECK_BROKEN
macro and associated __openfirmio_open_check_broken(), and
use them in the new openfirmopen() to fail opens.

include proplib.h in macppc and ofppc autoconf.h since they
use it.
 1.18 01-Jul-2011  dyoung branches: 1.18.52; 1.18.54;
#include <sys/bus.h> instead of <machine/bus.h>.
 1.17 30-Jun-2011  matt Modify mapiodev to take a third argument indicating whether the space
should be prefetchable (true) or not (false).
 1.16 18-Jun-2011  matt struct device * -> device_t
struct cfdata * -> cfdata_t
use device accessors, use device_private.
some softc/device_t splits (macppc needs a bunch more)
aprint*_dev used considerably more
 1.15 26-Nov-2007  garbled branches: 1.15.50;
Apply a set of patches from Frank Wille to make the genfb attachment work
better on ofppc. In doing so, we also move a few functions around in
macppc and the generic ofw powerpc stuff to allow better sharing of code.
Also, introduce a model_init function.

move ofb_cons.c from macppc/dev to powerpc/oea and rename it to rascons.
This gets rid of some naming confusion, and makes it OFW-MI rather than
macppc specific.
 1.14 07-Nov-2007  garbled Convert macppc to shared ofw_autoconf.c. Compile tested only.
 1.13 17-Oct-2007  garbled branches: 1.13.2;
Merge the ppcoea-renovation branch to HEAD.

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

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

NOTES:
pmppc was removed as an arch, and moved to a evbppc target.
 1.12 14-Jul-2007  ad branches: 1.12.8; 1.12.10; 1.12.12; 1.12.14;
Generic soft interrupts are mandatory.
 1.11 04-Mar-2007  christos branches: 1.11.2; 1.11.10;
Kill caddr_t; there will be some MI fallout, but it will be fixed shortly.
 1.10 20-Jan-2007  he branches: 1.10.2;
Unify the declaration of OF_interpret() between sparc{,64} and macppc
by adding the "nargs" argument to the macppc version, and fix the macppc
ports uses of OF_interpret() accordingly.

Also move the declaration of OF_interpt() from macppc's autoconf.h to
ofw/openfirm.h. This fixes the build of the macppc port.

Approved by macallan@.
 1.9 17-Jan-2007  macallan shuffle #includes, add a bus_space_tag
 1.8 11-Dec-2005  christos branches: 1.8.20; 1.8.24;
merge ktrace-lwp.
 1.7 05-Jun-2005  nathanw branches: 1.7.2;
constify some string arguments and return values.
 1.6 24-Mar-2004  matt Add latent generic soft interrupt support.
 1.5 05-Jul-2002  matt branches: 1.5.6;
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.4 08-Jun-2001  matt branches: 1.4.2; 1.4.8; 1.4.16;
Make macppc compile by default with -Wall -Wmissing-prototype in addition
to its currently enabled warnings. For the lack of a better place, most
global function prototype wound up in <machine/autoconf.h> unless there
was a better place for them. ofb_* structs renamed to offb_* to avoid
conflict with ofb_softc in <dev/ofw/openfirm.h>
 1.3 01-Sep-1998  tsubai branches: 1.3.24;
Add some prototypes.
 1.2 21-Aug-1998  tsubai vm_offset_t --> [pv]addr_t.
 1.1 15-May-1998  tsubai Initial import of macppc port.
 1.3.24.1 21-Jun-2001  nathanw Catch up to -current.
 1.4.16.1 16-Jul-2002  gehenna catch up with -current.
 1.4.8.2 01-Aug-2002  nathanw Catch up to -current.
 1.4.8.1 08-Jun-2001  nathanw file autoconf.h was added on branch nathanw_sa on 2002-08-01 02:42:25 +0000
 1.4.2.1 06-Sep-2002  jdolecek sync kqueue branch with HEAD
 1.5.6.4 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.5.6.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.5.6.2 18-Sep-2004  skrll Sync with HEAD.
 1.5.6.1 03-Aug-2004  skrll Sync with HEAD
 1.7.2.5 07-Dec-2007  yamt sync with head
 1.7.2.4 15-Nov-2007  yamt sync with head.
 1.7.2.3 27-Oct-2007  yamt sync with head.
 1.7.2.2 03-Sep-2007  yamt sync with head.
 1.7.2.1 26-Feb-2007  yamt sync with head.
 1.8.24.1 08-Mar-2007  bouyer Pull up following revision(s) (requested by macallan in ticket #495):
sys/arch/macppc/include/autoconf.h: revision 1.9
sys/arch/macppc/include/bus.h: revision 1.22
shuffle #includes, add a bus_space_tag
Fix build on netbsd-4.
 1.8.20.1 01-Feb-2007  ad Sync with head.
 1.10.2.1 12-Mar-2007  rmind Sync with HEAD.
 1.11.10.5 03-Oct-2007  garbled Sync with HEAD
 1.11.10.4 02-Aug-2007  macallan sync with HEAD
 1.11.10.3 07-Jun-2007  garbled Convert macppc to powerpc bus_space. Lots of work here from Matt Thomas,
as well as the common ofwoea code from myself. Compile tested only,
still probably needs some fine tuning.

Also in this commit:
Convert macppc to new shared ofwoea routines.
Lots of KNF.
 1.11.10.2 09-May-2007  macallan nuke #if(n)def __HAVE_GENERIC_SOFT_INTERRUPTS - we have them and they're not going
to disappear
 1.11.10.1 04-May-2007  macallan move some interrupt-related stuff over to powerpc/intr.h
 1.11.2.3 03-Dec-2007  ad Sync with HEAD.
 1.11.2.2 23-Oct-2007  ad Sync with head.
 1.11.2.1 15-Jul-2007  ad Sync with head.
 1.12.14.2 13-Nov-2007  bouyer Sync with HEAD
 1.12.14.1 25-Oct-2007  bouyer Sync with HEAD.
 1.12.12.1 18-Oct-2007  yamt sync with head.
 1.12.10.3 09-Jan-2008  matt sync with HEAD
 1.12.10.2 08-Nov-2007  matt sync with -HEAD
 1.12.10.1 06-Nov-2007  matt sync with HEAD
 1.12.8.3 27-Nov-2007  joerg Sync with HEAD. amd64 Xen support needs testing.
 1.12.8.2 11-Nov-2007  joerg Sync with HEAD.
 1.12.8.1 26-Oct-2007  joerg Sync with HEAD.

Follow the merge of pmap.c on i386 and amd64 and move
pmap_init_tmp_pgtbl into arch/x86/x86/pmap.c. Modify the ACPI wakeup
code to restore CR4 before jumping back into kernel space as the large
page option might cover that.
 1.13.2.2 08-Dec-2007  mjf Sync with HEAD.
 1.13.2.1 19-Nov-2007  mjf Sync with HEAD.
 1.15.50.1 23-Jun-2011  cherry Catchup with rmind-uvmplock merge.
 1.18.54.1 10-Jun-2019  christos Sync with HEAD
 1.18.52.1 18-Jan-2019  pgoyette Synch with HEAD
 1.20.2.1 03-Apr-2021  thorpej Sync with HEAD.
 1.4 03-Feb-2003  matt Rename PPC_MPC6XX to PPC_OEA (and any mpc6xx reference to oea).
 1.3 10-Jun-2001  tsubai branches: 1.3.8;
include powerpc/mpc6xx/bat.h.
 1.2 29-May-1998  tsubai branches: 1.2.26;
Use arch/powerpc/.
 1.1 15-May-1998  tsubai Initial import of macppc port.
 1.2.26.1 21-Jun-2001  nathanw Catch up to -current.
 1.3.8.2 10-Jun-2001  tsubai include powerpc/mpc6xx/bat.h.
 1.3.8.1 10-Jun-2001  tsubai file bat.h was added on branch nathanw_sa on 2001-06-10 15:24:58 +0000
 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.27 17-Jul-2011  dyoung Enable new-style <sys/bus.h> on several PowerPC ports supporting PCI
buses. Make non-inline implementations of bus_space(9) and bus_dma(9)
routines and move them to appropriate .c files.

This may leave amigappc in a bad state, sorry. Fortunately, it will be
easy to repair by imitating the bus.h -> bus_{defs,funcs}.h split in
some other PowerPC port.
 1.26 25-Dec-2007  macallan get rid of macppc's private pci_bus_dma_tag
 1.25 17-Oct-2007  garbled branches: 1.25.2; 1.25.4; 1.25.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.24 04-Mar-2007  christos branches: 1.24.2; 1.24.10; 1.24.18; 1.24.20; 1.24.22; 1.24.24;
Kill caddr_t; there will be some MI fallout, but it will be fixed shortly.
 1.23 21-Feb-2007  mrg add a pair of new bus_dma(9) functions:
int _bus_dmatag_subregion(bus_dma_tag_t tag,
bus_addr_t min_addr,
bus_addr_t max_addr,
bus_dma_tag_t *newtag,
int flags)
void _bus_dmatag_destroy(bus_dma_tag_t tag)

that allow a (normally broken/limited) device to restrict the bus address
range it can talk to. this is used by bce(4) to limit DMA addresses to
1GB range, the maximum the chip can address.

all this is from Yorick Hardy <yhardy@uj.ac.za> with input from several
people on tech-kern.

XXX: bus_dma(9) needs an update still.
 1.22 17-Jan-2007  macallan branches: 1.22.2;
shuffle #includes, add a bus_space_tag
 1.21 16-Feb-2006  perry branches: 1.21.14; 1.21.18;
Change "inline" back to "__inline" in .h files -- C99 is still too
new, and some apps compile things in C89 mode. C89 keywords stay.

As per core@.
 1.20 24-Dec-2005  perry branches: 1.20.2; 1.20.4; 1.20.6;
Remove leading __ from __(const|inline|signed|volatile) -- it is obsolete.
 1.19 11-Dec-2005  christos merge ktrace-lwp.
 1.18 23-Sep-2005  macallan Added macros for bus_space_mmap() and bus_space_vaddr()
 1.17 09-Mar-2005  matt branches: 1.17.4;
Add a dm_maxsegsz public member to bus_dmamap_t. This allows a user of the API
to select the maximum segment size for each bus_dmamap_load (up to the maxsegsz
supplied to bus_dmamap_create). dm_maxsegsz is reset to the value supplied to
bus_dmamap_create when the dmamap is unloaded.
 1.16 15-Jun-2003  fvdl branches: 1.16.2; 1.16.10; 1.16.12;
Handle 64bit DMA addresses on PCI for platforms that can (currently only
enabled on amd64). Add a dmat64 field to various PCI attach structures,
and pass it down where needed. Implement a simple new function called
pci_dma64_available(pa) to test if 64bit DMA addresses may be used.
This returns 1 iff _PCI_HAVE_DMA64 is defined in <machine/pci_machdep.h>,
and there is more than 4G of memory.
 1.15 28-Jan-2003  kent Introduce BUS_DMA_NOCACHE, and bus_dmamem_map() of i386 supports it.
 1.14 19-Jul-2001  thorpej branches: 1.14.6;
Add BUS_DMA_READ and BUS_DMA_WRITE flags, that hint the back-end
at dmamap load time that the mapping will be used for a unidirectional
transfer of the specified direction.
 1.13 19-Jun-2001  simonb branches: 1.13.2;
Add/change prototypes so that macpcc builds with -Wstrict-prototypes.
 1.12 07-Mar-2001  thorpej Add the BUS_DMA_STREAMING flag.
 1.11 21-Dec-2000  tsubai branches: 1.11.2;
Fix bus_space_write_multi_N.
(From der Mouse <mouse@Rodents.Montreal.QC.CA>)
 1.10 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.9 25-Jan-2000  drochner branches: 1.9.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.8 18-Jun-1999  cgd branches: 1.8.2;
nuke current definitions provided by __BUS_SPACE_COMPAT_OLDDEFS.
I'll do what I can to make new ones soon. 8-)
 1.7 23-Mar-1999  drochner branches: 1.7.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.6 06-Dec-1998  tsubai Implement sparse bus space support.
 1.5 03-Oct-1998  thorpej Add a private bounce threshold to the DMA map, initialized in a bus-dependent
fashion.
 1.4 21-Aug-1998  tsubai vm_offset_t --> [pv]addr_t.
 1.3 17-Jul-1998  thorpej bus_dma carries TNF copyright.
 1.2 17-Jul-1998  tsubai Add bus_dma support.
 1.1 15-May-1998  tsubai Initial import of macppc port.
 1.7.4.1 21-Jun-1999  thorpej Sync w/ -current.
 1.8.2.3 12-Mar-2001  bouyer Sync with HEAD.
 1.8.2.2 05-Jan-2001  bouyer Sync with HEAD
 1.8.2.1 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.9.4.1 30-Jun-2000  simonb Pull up mmap paddr_t/off_t changes from trunk.
 1.11.2.2 21-Jun-2001  nathanw Catch up to -current.
 1.11.2.1 09-Apr-2001  nathanw Catch up with -current.
 1.13.2.1 03-Aug-2001  lukem update to -current
 1.14.6.2 19-Jul-2001  thorpej Add BUS_DMA_READ and BUS_DMA_WRITE flags, that hint the back-end
at dmamap load time that the mapping will be used for a unidirectional
transfer of the specified direction.
 1.14.6.1 19-Jul-2001  thorpej file bus.h was added on branch nathanw_sa on 2001-07-19 15:32:15 +0000
 1.16.12.1 19-Mar-2005  yamt sync with head. xen and whitespace. xen part is not finished.
 1.16.10.1 29-Apr-2005  kent sync with -current
 1.16.2.2 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.16.2.1 01-Apr-2005  skrll Sync with HEAD.
 1.17.4.5 21-Jan-2008  yamt sync with head
 1.17.4.4 27-Oct-2007  yamt sync with head.
 1.17.4.3 03-Sep-2007  yamt sync with head.
 1.17.4.2 26-Feb-2007  yamt sync with head.
 1.17.4.1 21-Jun-2006  yamt sync with head.
 1.20.6.1 22-Apr-2006  simonb Sync with head.
 1.20.4.1 09-Sep-2006  rpaulo sync with head
 1.20.2.1 18-Feb-2006  yamt sync with head.
 1.21.18.2 24-Mar-2009  bouyer Apply patch, requested by martin in ticket #1283:
src/sys/arch/macppc/include/bus.h patch
Provide dummy bus_space_alloc() and bus_space_free(), some driver needs it.
 1.21.18.1 08-Mar-2007  bouyer Pull up following revision(s) (requested by macallan in ticket #495):
sys/arch/macppc/include/autoconf.h: revision 1.9
sys/arch/macppc/include/bus.h: revision 1.22
shuffle #includes, add a bus_space_tag
Fix build on netbsd-4.
 1.21.14.1 01-Feb-2007  ad Sync with head.
 1.22.2.2 12-Mar-2007  rmind Sync with HEAD.
 1.22.2.1 27-Feb-2007  yamt - sync with head.
- move sched_changepri back to kern_synch.c as it doesn't know PPQ anymore.
 1.24.24.1 25-Oct-2007  bouyer Sync with HEAD.
 1.24.22.1 18-Oct-2007  yamt sync with head.
 1.24.20.2 09-Jan-2008  matt sync with HEAD
 1.24.20.1 06-Nov-2007  matt sync with HEAD
 1.24.18.1 26-Oct-2007  joerg Sync with HEAD.

Follow the merge of pmap.c on i386 and amd64 and move
pmap_init_tmp_pgtbl into arch/x86/x86/pmap.c. Modify the ACPI wakeup
code to restore CR4 before jumping back into kernel space as the large
page option might cover that.
 1.24.10.2 07-Jun-2007  garbled Convert macppc to powerpc bus_space. Lots of work here from Matt Thomas,
as well as the common ofwoea code from myself. Compile tested only,
still probably needs some fine tuning.

Also in this commit:
Convert macppc to new shared ofwoea routines.
Lots of KNF.
 1.24.10.1 05-Jun-2007  matt Make macppc use the common powerpc bus_dma.c
 1.24.2.1 23-Oct-2007  ad Sync with head.
 1.25.8.1 02-Jan-2008  bouyer Sync with HEAD
 1.25.4.1 26-Dec-2007  ad Sync with head.
 1.25.2.1 18-Feb-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.2 29-May-1998  tsubai Use arch/powerpc/.
 1.1 15-May-1998  tsubai Initial import of macppc port.
 1.21 24-Oct-2019  macallan bump CPU_MAXNUM to 4, hardware exists and is being asked about on port-macppc@
 1.20 16-Mar-2018  macallan branches: 1.20.2;
gather per-CPU EEPROM contents if we have them
 1.19 20-Jun-2011  matt branches: 1.19.52;
Don't expose port-specific if _MODULE is defined.
Don't _MACHINE_CPU_H_, _<PORT>_CPU_H_
 1.18 26-Aug-2001  matt branches: 1.18.6; 1.18.160;
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.17 30-May-2001  mrg branches: 1.17.2;
use _KERNEL_OPT
 1.16 22-Mar-2001  tsubai Merge my MP tree. At this point, Daystar dual 604 card (i.e. Power Macintosh
9500/180MP and 9600/200MP) runs at least into single-user mode, possibly
multi-user mode (not stable yet).
 1.15 01-Jan-2001  tsubai branches: 1.15.2;
Make want_resched and astpending per-CPU.
Add some per-CPU variables to cpu_info.
 1.14 14-Dec-2000  mycroft Partial syscall cleanup, as per other ports.
 1.13 28-Aug-2000  tsubai Add an argument to need_resched macro.
 1.12 06-Jul-2000  tsubai Make it compile with "options MULTIPROCESSOR".
 1.11 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.10 13-Oct-1999  tsubai branches: 1.10.2;
Change char *bootpath to char bootpath[].
 1.9 10-Aug-1999  thorpej branches: 1.9.2;
Define cpu_number() as discussed on tech-smp.
 1.8 06-May-1999  tsubai Remove unused codes.
 1.7 03-May-1999  tsubai Provide CACHELINESIZE when _STANDALONE is defined too.
 1.6 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.5 25-Oct-1998  tsubai branches: 1.5.8;
Fix -Wpointer-arith warning.
 1.4 25-Oct-1998  tsubai Fix miscounting of length in syncicache().
 1.3 06-Oct-1998  thorpej configure() prototype is in <sys/device.h>
 1.2 24-Jun-1998  tsubai Fix CLKF_INTR() (from tsutsui@ceres.dti.ne.jp)
 1.1 15-May-1998  tsubai Initial import of macppc port.
 1.5.8.1 21-Jun-1999  thorpej Sync w/ -current.
 1.9.2.1 27-Dec-1999  wrstuden Pull up to last week's -current.
 1.10.2.3 27-Mar-2001  bouyer Sync with HEAD.
 1.10.2.2 05-Jan-2001  bouyer Sync with HEAD
 1.10.2.1 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.15.2.2 21-Jun-2001  nathanw Catch up to -current.
 1.15.2.1 09-Apr-2001  nathanw Catch up with -current.
 1.17.2.1 13-Sep-2001  thorpej Update the kqueue branch to HEAD.
 1.18.160.1 23-Jun-2011  cherry Catchup with rmind-uvmplock merge.
 1.18.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.18.6.1 26-Aug-2001  matt file cpu.h was added on branch nathanw_sa on 2001-08-26 02:47:38 +0000
 1.19.52.1 22-Mar-2018  pgoyette Synch with HEAD, resolve conflicts
 1.20.2.1 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.1 05-Feb-2003  nakayama Replace machine/rnd.h with more appropriate name to share it
with cycle counter based microtime in kern/kern_microtime.c.
 1.2 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 06:10:51 +0000
 1.2 29-May-1998  tsubai Use arch/powerpc/.
 1.1 15-May-1998  tsubai Initial import of macppc port.
 1.16 03-Apr-2019  christos centralize setdisklabel(9)
 1.15 30-Aug-2011  bouyer branches: 1.15.54;
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.14 11-Dec-2005  christos merge ktrace-lwp.
 1.13 08-Nov-2004  mbw Reverting.
Apparently these patches cause problems.
 1.12 07-Nov-2004  mbw Add disklabel recognition for another Apple file type
"BZB_ROOTFS_NEW 0xc000"
Also closes PR 10046
 1.11 10-May-2003  thorpej branches: 1.11.2;
Remove redundant bounds_check_with_label() prototype.
 1.10 10-Sep-2002  dbj added defines for new partition types found in the wild:
"Apple_UFS"
"Apple_Boot"
"Apple_Loader"
"Linux"
"Linux_swap"
removed duplicate define for "Apple_Patches"
 1.9 19-Jun-2002  itojun correct writedisklabel() on MBR-partitioned disk.

while here, correct labelsector/offset mismatch in writedisklabel,
when readdisklabel() have found the label at nonstandard location
(due to magic number search). a lot of other ports have the same problem.
 1.8 23-Mar-2002  wrstuden branches: 1.8.2;
Add support for storing NetBSD file system type codes inside of
an Apple Partition entry. As proposed to port-macppc. Also some
prototype modernization for touched routines.

Method is that NETBSD, NETBSD/MACPPC, NETBSD/MAC68K partitions,
if they have a valid bzb, contain all of the info we shove in a NetBSD
disklabel partition entry. defines in disklabel.h cover aliasing
some of the bzb fields.
 1.7 27-Feb-2001  matt branches: 1.7.4; 1.7.8;
Add Apple_FWDRIVER.
 1.6 23-Aug-2000  wrstuden Correctly spell DRIVER. Noted by Tsubai. :-)
 1.5 18-Aug-2000  wrstuden Add some new partition types, and flags. Have the Apple Partition Map
code ignore the new partition types, and look for the new "USR" partition
flag.

From SUNAGAWA Keiki <kei_sun@ba2.so-net.ne.jp> with slight changes by me.

Closes PR port-macppc/10046
 1.4 27-Sep-1999  wrstuden branches: 1.4.2; 1.4.12;
Add support for reading MacOS-partitioned disks. Stolen from the mac68k
port, but modified in that macppc searches for netbsd-partitioned disks
before MacOS partitioned disks, since installboot generates a fake MacOS
partition table which isn't the one we want to use.
 1.3 27-Jan-1999  thorpej branches: 1.3.2;
Use <sys/disklabel_mbr.h>.
 1.2 07-Jul-1998  thorpej Use fixed-size types.
 1.1 15-May-1998  tsubai Initial import of macppc port.
 1.3.2.1 19-Oct-1999  he Pull up revision 1.4 (requested by wrstuden):
Add support for reading MacOS-partitioned disks. Stolen from the mac68k
port, but modified in that macppc searches for netbsd-partitioned
disks before MacOS partitioned disks, since installboot generates a
fake MacOS partition table which isn't the one we want to use.
 1.4.12.1 28-Aug-2000  wrstuden Pull in some changes for Apple partitioning. Approved by thorpej.

> Log Message:
> Add some new partition types, and flags. Have the Apple Partition Map
> code ignore the new partition types, and look for the new "USR" partition
> flag.
>
> >From SUNAGAWA Keiki <kei_sun@ba2.so-net.ne.jp> with slight changes by me.
>
> Closes PR port-macppc/10046
 1.4.2.2 12-Mar-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.7.8.3 17-Sep-2002  nathanw Catch up to -current.
 1.7.8.2 01-Aug-2002  nathanw Catch up to -current.
 1.7.8.1 01-Apr-2002  nathanw Catch up to -current.
(CVS: It's not just a program. It's an adventure!)
 1.7.4.3 10-Oct-2002  jdolecek sync kqueue with -current; this includes merge of gehenna-devsw branch,
merge of i386 MP branch, and part of autoconf rototil work
 1.7.4.2 06-Sep-2002  jdolecek sync kqueue branch with HEAD
 1.7.4.1 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.8.2.1 16-Jul-2002  gehenna catch up with -current.
 1.11.2.1 14-Nov-2004  skrll Sync with HEAD.
 1.15.54.1 10-Jun-2019  christos Sync with HEAD
 1.2 29-May-1998  tsubai Use arch/powerpc/.
 1.1 15-May-1998  tsubai Initial import of macppc port.
 1.3 17-Mar-2000  mycroft In the `MY THAT'S GROSS' department...
Eliminate the recursive include of machine/endian.h from sys/endian.h.
 1.2 29-May-1998  tsubai branches: 1.2.14;
Use arch/powerpc/.
 1.1 15-May-1998  tsubai Initial import of macppc port.
 1.2.14.1 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.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:12:59 +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:36:25 +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:38 +0000
 1.2 29-May-1998  tsubai Use arch/powerpc/.
 1.1 15-May-1998  tsubai Initial import of macppc port.
 1.2 29-May-1998  tsubai Use arch/powerpc/.
 1.1 15-May-1998  tsubai Initial import of macppc port.
 1.2 29-May-1998  tsubai Use arch/powerpc/.
 1.1 15-May-1998  tsubai Initial import of macppc port.
 1.7 07-Sep-2015  dholland Final bit of PR 41200: headers that declare ioctls should include sys/ioccom.h.
This covers most if not all of the MD headers.

XXX: a lot of the ioctl definitions in some of these files are cutpasted.
 1.6 08-Feb-2011  rmind branches: 1.6.14; 1.6.32;
Remove clause 3 (UCB advertising clause) from the University of Utah
copyright. Confirmed by Mike Hibler, mike at cs.utah.edu - thanks!
Also, merge UCB and Utah copyright texts back into one, as they
originally were.

Extra verification by snj@.
 1.5 04-Mar-2007  christos branches: 1.5.66; 1.5.72; 1.5.74;
Kill caddr_t; there will be some MI fallout, but it will be fixed shortly.
 1.4 11-Dec-2005  christos branches: 1.4.26;
merge ktrace-lwp.
 1.3 25-Apr-2004  fair branches: 1.3.12;
Protect against multiple inclusion (kdump, ktruss, etc., make
procedures are not smart enough to spot this file as being the same
when it appears in both include/{macppc,machine}/grfioctl.h
 1.2 07-Aug-2003  agc Move UCB-licensed code from 4-clause to 3-clause licence.

Patches provided by Joel Baker in PR 22364, verified by myself.
 1.1 15-May-1998  tsubai branches: 1.1.48;
Initial import of macppc port.
 1.1.48.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.1.48.2 18-Sep-2004  skrll Sync with HEAD.
 1.1.48.1 03-Aug-2004  skrll Sync with HEAD
 1.3.12.1 03-Sep-2007  yamt sync with head.
 1.4.26.1 12-Mar-2007  rmind Sync with HEAD.
 1.5.74.1 17-Feb-2011  bouyer Sync with HEAD
 1.5.72.1 06-Jun-2011  jruoho Sync with HEAD.
 1.5.66.1 05-Mar-2011  rmind sync with head
 1.6.32.1 22-Sep-2015  skrll Sync with HEAD
 1.6.14.1 03-Dec-2017  jdolecek update from HEAD
 1.2 29-May-1998  tsubai Use arch/powerpc/.
 1.1 15-May-1998  tsubai Initial import of macppc port.
 1.2 29-May-1998  tsubai Use arch/powerpc/.
 1.1 15-May-1998  tsubai Initial import of macppc 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:40 +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:59 +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:13 +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:59 +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: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_limits.h was added on branch thorpej_scsipi on 2001-04-21 17:53:59 +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:56 +0000
 1.1.4.1 21-Jun-2001  nathanw Catch up to -current.
 1.1.2.2 21-Apr-2001  bouyer Sync with HEAD
 1.1.2.1 14-Apr-2001  bouyer file int_mwgwtypes.h was added on branch thorpej_scsipi on 2001-04-21 17:54:00 +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:12:59 +0000
 1.32 20-Apr-2013  macallan bump ICU_LEN
from Phileas Fogg
 1.31 18-Apr-2013  macallan support OpenPIC variant found in PowerMac G5s
from Phileas Fogg
 1.30 17-Jun-2011  matt branches: 1.30.2; 1.30.12;
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 17-Jun-2011  matt Make _LOCORE exclude more stuff.
 1.28 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.27 28-Apr-2008  martin branches: 1.27.22; 1.27.28; 1.27.32;
Remove clause 3 and 4 from TNF licenses
 1.26 17-Oct-2007  garbled branches: 1.26.16; 1.26.18; 1.26.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.25 14-Jul-2007  ad branches: 1.25.8; 1.25.10; 1.25.12; 1.25.14;
Generic soft interrupts are mandatory.
 1.24 16-Feb-2007  ad branches: 1.24.6; 1.24.14;
Remove spllowersoftclock() and CLKF_BASEPRI(), and always dispatch callouts
via a soft interrupt. In the near future, softclock will be run from process
context.
 1.23 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.22 11-Dec-2005  christos branches: 1.22.20; 1.22.22;
merge ktrace-lwp.
 1.21 24-Mar-2004  matt branches: 1.21.16;
Add latent generic soft interrupt support.
 1.20 03-Sep-2003  matt Move CLKF_BASEPRI to machine specific <intr.h> file since it depends on
the encoding of the spl for the port.
 1.19 25-Jun-2003  dyoung branches: 1.19.2;
Bracket the opt_multiprocessor.h #include with #ifdef _KERNEL_OPT.
It won't compile, otherwise. I figure this is right because it's
done everywhere else.
 1.18 23-Jun-2003  martin Make sure to include opt_foo.h if a defflag option FOO is used.
 1.17 16-Jun-2003  thorpej Rename IPL_IMP -> IPL_VM.
 1.16 02-Feb-2003  matt Perform a rototill of the powerpc code. Mandate use of SPRG0 to store
a pointer to current cpu's cpu_info structure. Use cpu_info for
intstk,intr_depth,still_stk,idle_pcb,curpcb,curlwp,etal even on
non-MULTIPROCESSOR machines. Add common macros GET_CPUINFO and
INIT_CPUINFO to get and initialize the cpu_info struct on startup. Make
ibm4xx use the standard <powerpc/frame.h>. Use IFRAME_xx in ibm4xx
trap_subr.S instead of explicit magic offsets. Move INTSTK and SPILLSTK
to std.<platform>. Change faultbuf to a struct instead of an array.

On MPC6XX cpus, stop using the vector page for temporary space and use
reserved space in cpu_info.
 1.15 28-Jul-2002  chs restructure the FPU and AltiVEC code so that it works for MP.
 1.14 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.13 08-Jun-2001  matt branches: 1.13.2; 1.13.8; 1.13.12; 1.13.16;
Make macppc compile by default with -Wall -Wmissing-prototype in addition
to its currently enabled warnings. For the lack of a better place, most
global function prototype wound up in <machine/autoconf.h> unless there
was a better place for them. ofb_* structs renamed to offb_* to avoid
conflict with ofb_softc in <dev/ofw/openfirm.h>
 1.12 13-Apr-2001  thorpej Remove the use of splimp() from the NetBSD kernel. splnet()
and only splnet() is allowed for the protection of data structures
used by network devices.
 1.11 22-Mar-2001  tsubai Merge my MP tree. At this point, Daystar dual 604 card (i.e. Power Macintosh
9500/180MP and 9600/200MP) runs at least into single-user mode, possibly
multi-user mode (not stable yet).
 1.10 14-Jan-2001  thorpej branches: 1.10.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.9 29-Nov-2000  tsubai Make spl functions no-inline. This saves size and even it runs faster on
some systems.
 1.8 22-Aug-2000  thorpej Add spllock(). See spl(9) for details.
 1.7 21-Aug-2000  thorpej Make sure we provide splsched() as described in spl(9).
 1.6 11-Feb-2000  tsubai Change ICU_LEN to 64.
 1.5 05-Aug-1999  thorpej branches: 1.5.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.4 11-Jan-1999  tsubai Count clock interrupts.
 1.3 15-Aug-1998  mycroft Assign my copyrights to TNF.
 1.2 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.1 15-May-1998  tsubai Initial import of macppc port.
 1.5.2.5 21-Apr-2001  bouyer Sync with HEAD
 1.5.2.4 27-Mar-2001  bouyer Sync with HEAD.
 1.5.2.3 18-Jan-2001  bouyer Sync with head (for UBC+NFS fixes, mostly).
 1.5.2.2 08-Dec-2000  bouyer Sync with HEAD.
 1.5.2.1 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.10.2.2 21-Jun-2001  nathanw Catch up to -current.
 1.10.2.1 09-Apr-2001  nathanw Catch up with -current.
 1.13.16.2 31-Aug-2002  gehenna catch up with -current.
 1.13.16.1 16-Jul-2002  gehenna catch up with -current.
 1.13.12.1 17-Mar-2002  thorpej IPL_IMP -> IPL_VM
 1.13.8.2 01-Aug-2002  nathanw Catch up to -current.
 1.13.8.1 08-Jun-2001  nathanw file intr.h was added on branch nathanw_sa on 2002-08-01 02:42:25 +0000
 1.13.2.1 06-Sep-2002  jdolecek sync kqueue branch with HEAD
 1.19.2.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.19.2.2 18-Sep-2004  skrll Sync with HEAD.
 1.19.2.1 03-Aug-2004  skrll Sync with HEAD
 1.21.16.4 27-Oct-2007  yamt sync with head.
 1.21.16.3 03-Sep-2007  yamt sync with head.
 1.21.16.2 26-Feb-2007  yamt sync with head.
 1.21.16.1 30-Dec-2006  yamt sync with head.
 1.22.22.1 02-Oct-2006  yamt implement splraiseipl/makeiplcookie for macppc.
 1.22.20.1 12-Jan-2007  ad Sync with head.
 1.24.14.6 10-Oct-2007  garbled New ppcoea-MI IPI infrastructure. This is similar to the PIC
infrastructure, but simplified greatly.

Also, convert macppc (the only port currently using IPI's) over to this new
infrastructure. Still some minor work left to do here.
 1.24.14.5 03-Oct-2007  garbled Sync with HEAD
 1.24.14.4 02-Aug-2007  macallan sync with HEAD
 1.24.14.3 08-May-2007  garbled Make powerpc/intr.h more common than it previously was. Having done
that, delete all the duplicate entries from the 4 ports that have
converted to shared pic code. Also, commit a minor change to sandpoint
that I forgot to commit earlier (delete an unused variable)
 1.24.14.2 04-May-2007  macallan move some interrupt-related stuff over to powerpc/intr.h
 1.24.14.1 02-May-2007  macallan order priorities like everyone else - low number, low priority - high
number, high priority
also add prototypes for PIC probe/setup functions
 1.24.6.2 23-Oct-2007  ad Sync with head.
 1.24.6.1 15-Jul-2007  ad Sync with head.
 1.25.14.1 25-Oct-2007  bouyer Sync with HEAD.
 1.25.12.1 18-Oct-2007  yamt sync with head.
 1.25.10.1 06-Nov-2007  matt sync with HEAD
 1.25.8.1 26-Oct-2007  joerg Sync with HEAD.

Follow the merge of pmap.c on i386 and amd64 and move
pmap_init_tmp_pgtbl into arch/x86/x86/pmap.c. Modify the ACPI wakeup
code to restore CR4 before jumping back into kernel space as the large
page option might cover that.
 1.26.20.1 16-May-2008  yamt sync with head.
 1.26.18.1 18-May-2008  yamt sync with head.
 1.26.16.1 02-Jun-2008  mjf Sync with HEAD.
 1.27.32.1 23-Jun-2011  cherry Catchup with rmind-uvmplock merge.
 1.27.28.1 06-Jun-2011  jruoho Sync with HEAD.
 1.27.22.1 12-Jun-2011  rmind sync with head
 1.30.12.1 23-Jun-2013  tls resync from head
 1.30.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.3 15-Jul-2018  maxv Retire ipkdb entirely. The option was removed from the config files
yesterday.

ok kamil christos
 1.2 29-May-1998  tsubai branches: 1.2.60; 1.2.238;
Use arch/powerpc/.
 1.1 15-May-1998  tsubai Initial import of macppc port.
 1.2.238.1 10-Jun-2019  christos Sync with HEAD
 1.2.60.1 28-Jul-2018  pgoyette Sync with HEAD
 1.2 28-Mar-1999  tsubai Remove unused file.
 1.1 15-May-1998  tsubai Initial import of macppc port.
 1.2 29-May-1998  tsubai Use arch/powerpc/.
 1.1 15-May-1998  tsubai Initial import of macppc port.
 1.5 11-Jun-2003  hamajima Support the PowerBook G4 12-inch (and maybe 17-inch).
Kauai ATA, new obio chip, and Japanese keymap for WSDISPLAY_COMPAT_RAWKBD

I tested only 12-inch Japanese model.
 1.4 13-Aug-2002  aymeric akbd's now have a raw mode, and implement the WSKBDIO_SETMODE ioctl.
Adapted from OpenBSD.
 1.3 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.2 05-Jun-2002  augustss Make it possible not to have akbd.
 1.1 15-May-1998  tsubai branches: 1.1.28; 1.1.32; 1.1.40; 1.1.42;
Initial import of macppc port.
 1.1.42.2 25-Jun-2003  grant Pull up revision 1.5 (requested by hamajima in ticket #1338):

This change supports Japanese layout keyboard for
WSDISPLAY_COMPAT_RAWKBD on macppc.
 1.1.42.1 19-Jun-2003  grant Pull up revision 1.4 (requested by aymeric in ticket #1324):

akbd's now have a raw mode, and implement the WSKBDIO_SETMODE ioctl.
Adapted from OpenBSD.
 1.1.40.3 31-Aug-2002  gehenna catch up with -current.
 1.1.40.2 16-Jul-2002  gehenna catch up with -current.
 1.1.40.1 14-Jul-2002  gehenna catch up with -current.
 1.1.32.3 27-Aug-2002  nathanw Catch up to -current.
 1.1.32.2 01-Aug-2002  nathanw Catch up to -current.
 1.1.32.1 20-Jun-2002  nathanw Catch up to -current.
 1.1.28.2 06-Sep-2002  jdolecek sync kqueue branch with HEAD
 1.1.28.1 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.2 29-May-1998  tsubai Use arch/powerpc/.
 1.1 15-May-1998  tsubai Initial import of macppc port.
 1.7 28-Feb-2021  thorpej - When starting the boot program, cache a bunch of OFW frequently used
ihandles / phandles, rather than fetching them all the time.
- Change the signature of OF_call_method() to take an array of cells for
the inputs and outputs, rather than using variadic arguments. This
makes it much easier to use OF_call_method() when the format of the
arguments passed to a given method are determined at run-time
(due to e.g. #address-cells).
- Properly inform OpenFirmware where the kernel is loaded by using
"claim" on /chosen/memory and, if running in virtual-mode, using
"claim" on /chosen/mmu to reserve the VA, and "map" on /chosen/mmu
to enter the translation. (The kernel is still always mapped VA==PA.)
 1.6 06-Aug-2014  joerg branches: 1.6.40;
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.5 28-Apr-2008  martin branches: 1.5.44; 1.5.60;
Remove clause 3 and 4 from TNF licenses
 1.4 25-Jan-2006  christos branches: 1.4.72; 1.4.74; 1.4.76;
free -> dealloc
unsigned -> size_t for alloc/dealloc
 1.3 10-Apr-2002  tsutsui branches: 1.3.26; 1.3.38;
Disable BOOT_AOUT.
 1.2 31-Oct-2001  thorpej branches: 1.2.2;
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 29-Apr-1999  tsubai branches: 1.1.2; 1.1.18; 1.1.20;
Add loadfile_machdep.h
 1.1.20.1 12-Nov-2001  thorpej Sync the thorpej-mips-cache branch with -current.
 1.1.18.2 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.1.18.1 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.1.2.1 21-Jun-1999  thorpej Sync w/ -current.
 1.2.2.2 17-Apr-2002  nathanw Catch up to -current.
 1.2.2.1 31-Oct-2001  nathanw file loadfile_machdep.h was added on branch nathanw_sa on 2002-04-17 00:03:42 +0000
 1.3.38.1 01-Feb-2006  yamt sync with head.
 1.3.26.1 21-Jun-2006  yamt sync with head.
 1.4.76.1 16-May-2008  yamt sync with head.
 1.4.74.1 18-May-2008  yamt sync with head.
 1.4.72.1 02-Jun-2008  mjf Sync with HEAD.
 1.5.60.1 10-Aug-2014  tls Rebase.
 1.5.44.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.6.40.1 03-Apr-2021  thorpej Sync with HEAD.
 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:12:59 +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:51 +0000
 1.2 11-Dec-2005  christos merge ktrace-lwp.
 1.1 11-Nov-2003  manu branches: 1.1.4;
Implement mach_thread_get_state.
While we are here, try to tag machine dependent functions in header files.
also transformed darwin_ppc_*_state into mach_ppc_*_state, as this is
what they really are (COMPAT_DARWIN is on the top of COMPAT_MACH, not the
other way around)
 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 11-Nov-2003  skrll file mach_machdep.h was added on branch ktrace-lwp on 2004-08-03 10:37:30 +0000
 1.3 03-May-2001  soren PPC machine type tags haven't been used for a while.
 1.2 29-May-1998  tsubai Use arch/powerpc/.
 1.1 15-May-1998  tsubai Initial import of macppc 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 22:00:14 +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:12:59 +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 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:07:22 +0000
 1.3 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.2 05-Feb-2001  briggs branches: 1.2.2; 1.2.132; 1.2.140; 1.2.146;
Tsubai has convinced me that openpic_init() should remain machine-dependant
as the details might differ between archs, and passing the various options
leads to some clutter.
 1.1 02-Feb-2001  briggs Split OpenPIC support into powerpc so ports only need minimal custom
configuration. openpic_init() now takes a single argument that is the
base of the OpenPIC register space.
 1.2.146.1 13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.2.140.1 28-Apr-2009  skrll Sync with HEAD.
 1.2.132.1 04-May-2009  yamt sync with head.
 1.2.2.2 11-Feb-2001  bouyer Sync with HEAD.
 1.2.2.1 05-Feb-2001  bouyer file openpicreg.h was added on branch thorpej_scsipi on 2001-02-11 19:11:04 +0000
 1.22 31-May-2021  simonb Include "opt_param.h" (ifdef _KERNEL_OPT) everywhere that MSGBUFSIZE is
referenced since some sources include <machine/param.h>.
 1.21 26-Apr-2018  macallan branches: 1.21.18;
bump message buffer size
 1.20 23-Sep-2012  mrg branches: 1.20.36;
increase powerpc NKMEMPAGES_MAX_DEFAULT to 256MB. remove the macppc
overrides that are now the same as the powerpc default.
 1.19 10-Feb-2012  para branches: 1.19.2; 1.19.4; 1.19.6;
proper sizing of kmem_arena on different ports

PR port-i386/45946: Kernel locks up in VMEM system
 1.18 28-Jul-2011  macallan branches: 1.18.2; 1.18.6;
hiding PCI_MAGIC_IO_RANGE from userland is counter-productive
 1.17 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.16 28-Feb-2008  macallan branches: 1.16.36;
move PCI_MAGIC_IO_RANGE to a header that's actually exported to userland
 1.15 25-Dec-2007  macallan branches: 1.15.2; 1.15.6;
get rid of macppc's private pci_bus_dma_tag
 1.14 24-Dec-2007  macallan #define __HAVE_PRIVATE_PCI_BUS_DMA_TAG
 1.13 14-Nov-2001  matt branches: 1.13.32; 1.13.94; 1.13.100; 1.13.104;
Bump the default macppc MSGBUFSIZE to 12KB so we can get an entire
sequence of boot messages.
 1.12 06-Jun-2001  matt branches: 1.12.2; 1.12.8;
Changes new pmap, common param.h, vmparam.h, and moved includes.
 1.11 30-May-2001  mrg use _KERNEL_OPT
 1.10 30-Jun-2000  itojun branches: 1.10.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.9 13-Feb-2000  tsubai branches: 1.9.4;
Reduce NKMEMPAGES_MAX_DEFAULT.
 1.8 11-Feb-2000  thorpej Update for the NKMEMPAGES changes.
 1.7 04-Dec-1999  ragge CL* discarding.
 1.6 13-Oct-1999  tsubai branches: 1.6.2;
Change kernel segment base to 0xf00000. Some PM9500s won't boot with the
old value (0xfffff0).
XXX I don't know why...
 1.5 18-Jul-1999  tsubai branches: 1.5.2;
Decrease default NKMEMCLUSTERS. (128MB -> 8MB)
 1.4 12-Jan-1999  tsubai branches: 1.4.2; 1.4.4;
Move MSGBUFSIZE from machdep.c to param.h
Use the last page for msgbuf instead of fixed MSGBUFADDR.
 1.3 03-Sep-1998  tsubai Remove HTABENTS definition. (calculated automatically)
 1.2 13-Aug-1998  tsubai Remove ``#define ovbcopy bcopy''. This exists in sys/systm.h now.
 1.1 15-May-1998  tsubai Initial import of macppc port.
 1.4.4.1 02-Aug-1999  thorpej Update from trunk.
 1.4.2.2 20-Oct-1999  he Pull up revision 1.6 (requested by tsubai):
Move kernel segment base to 0xf00000, some Power Macintosh 9500s
won't boot witht he old value.
 1.4.2.1 20-Oct-1999  he Pull up revision 1.5 (requested by tsubai):
Fix "panic: startup: cannot allocate VM for buffers" right after
copyright message when RAM > approx. 128MB.
 1.5.2.2 27-Dec-1999  wrstuden Pull up to last week's -current.
 1.5.2.1 21-Dec-1999  wrstuden Initial commit of recent changes to make DEV_BSIZE go away.

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

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

Non 2**n block support is automatic for LKM's and conditional for kernels
on "options NON_PO2_BLOCKS".
 1.6.2.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.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.10.2.1 21-Jun-2001  nathanw Catch up to -current.
 1.12.8.2 08-Jan-2002  nathanw Catch up to -current.
 1.12.8.1 06-Jun-2001  nathanw file param.h was added on branch nathanw_sa on 2002-01-08 00:26:10 +0000
 1.12.2.1 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.13.104.1 26-Dec-2007  ad Sync with head.
 1.13.100.1 18-Feb-2008  mjf Sync with HEAD.
 1.13.94.1 23-Mar-2008  matt sync with HEAD
 1.13.32.1 17-Mar-2008  yamt sync with head.
 1.15.6.1 03-Apr-2008  mjf Sync with HEAD.
 1.15.2.1 24-Mar-2008  keiichi sync with head.
 1.16.36.1 23-Jun-2011  cherry Catchup with rmind-uvmplock merge.
 1.18.6.1 18-Feb-2012  mrg merge to -current.
 1.18.2.2 30-Oct-2012  yamt sync with head
 1.18.2.1 17-Apr-2012  yamt sync with head
 1.19.6.1 20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.19.4.1 01-Nov-2012  matt sync with netbsd-6-0-RELEASE.
 1.19.2.1 01-Oct-2012  riz Pull up following revision(s) (requested by mrg in ticket #575):
sys/arch/powerpc/include/param.h: revision 1.28
sys/arch/macppc/include/param.h: revision 1.20
increase powerpc NKMEMPAGES_MAX_DEFAULT to 256MB. remove the macppc
overrides that are now the same as the powerpc default.
 1.20.36.1 02-May-2018  pgoyette Synch with HEAD
 1.21.18.1 17-Jun-2021  thorpej Sync w/ HEAD.
 1.2 29-May-1998  tsubai Use arch/powerpc/.
 1.1 15-May-1998  tsubai Initial import of macppc port.
 1.22 18-Jun-2011  matt struct device * -> device_t
struct cfdata * -> cfdata_t
use device accessors, use device_private.
some softc/device_t splits (macppc needs a bunch more)
aprint*_dev used considerably more
 1.21 28-Feb-2008  macallan branches: 1.21.36;
move PCI_MAGIC_IO_RANGE to a header that's actually exported to userland
 1.20 27-Feb-2008  macallan add a #define to select at which offset display drivers' mmap() methods
return the resp. IO range so X can access stuff lie VGA registers
 1.19 17-Oct-2007  garbled branches: 1.19.12; 1.19.16;
Merge the ppcoea-renovation branch to HEAD.

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

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

NOTES:
pmppc was removed as an arch, and moved to a evbppc target.
 1.18 11-Dec-2005  christos branches: 1.18.30; 1.18.38; 1.18.48; 1.18.50; 1.18.52; 1.18.54;
merge ktrace-lwp.
 1.17 29-Jul-2004  drochner branches: 1.17.12;
remove now unnecessary "pci_enumerate_bus" definitions
 1.16 15-May-2002  thorpej branches: 1.16.10;
Let machine-dependent code specify how to enumerate the bus.
Currently, everyone uses pci_enumerate_bus_generic().
 1.15 19-Jun-2001  simonb branches: 1.15.2; 1.15.8;
Add/change prototypes so that macpcc builds with -Wstrict-prototypes.
 1.14 08-Jun-2001  matt Make macppc compile by default with -Wall -Wmissing-prototype in addition
to its currently enabled warnings. For the lack of a better place, most
global function prototype wound up in <machine/autoconf.h> unless there
was a better place for them. ofb_* structs renamed to offb_* to avoid
conflict with ofb_softc in <dev/ofw/openfirm.h>
 1.13 28-Dec-2000  sommerfeld branches: 1.13.2;
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.12 04-Jun-2000  cgd Implement the more flexiable `evcnt' interface as discussed (briefly) on
tech-kern and now documented in evcnt(9).
 1.11 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.10 03-Feb-2000  tsubai branches: 1.10.2;
* Split bandit and grackle.
* Add UniNorth support.

Now pcibus is attached like:
bandit0 at mainbus0
pci0 at bandit0 bus 0
...
 1.9 01-Feb-2000  danw Use device_register to find the boot device more reliably. Should now work
on anything it's possible to boot from that we have a driver for.
 1.8 06-May-1999  thorpej branches: 1.8.2;
Allow pci_init() to be called twice, once just to find the PCI-Host
bridges and determine the "pci chipset" values (for making PCI tags),
and again to actually map the configuration space registers.
 1.7 05-May-1999  thorpej Add a bus space tag for PCI memory space to the pci_bridge structure.
 1.6 19-Mar-1999  cgd branches: 1.6.2;
Moved from arch/macppc/pci/pci_machdep.h,v
 1.5 15-Oct-1998  tsubai Set PCI bus number correctly.
 1.4 15-Aug-1998  mycroft Make copyright notices with my name consistent.
 1.3 17-Jul-1998  tsubai Add bus_dma support.
 1.2 13-Jul-1998  tsubai Add support for Motorola MPC106.
 1.1 15-May-1998  tsubai Initial import of macppc port.
 1.6.2.2 06-May-1999  perry branches: 1.6.2.2.2;
pullup 1.7->1.8 (thorpej)
 1.6.2.1 06-May-1999  perry pullup 1.6->1.7 (thorpej)
 1.6.2.2.2.1 21-Jun-1999  thorpej Sync w/ -current.
 1.8.2.2 05-Jan-2001  bouyer Sync with HEAD
 1.8.2.1 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.10.2.1 22-Jun-2000  minoura Sync w/ netbsd-1-5-base.
 1.13.2.1 21-Jun-2001  nathanw Catch up to -current.
 1.15.8.2 20-Jun-2002  nathanw Catch up to -current.
 1.15.8.1 19-Jun-2001  nathanw file pci_machdep.h was added on branch nathanw_sa on 2002-06-20 03:39:36 +0000
 1.15.2.1 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.16.10.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.16.10.2 18-Sep-2004  skrll Sync with HEAD.
 1.16.10.1 03-Aug-2004  skrll Sync with HEAD
 1.17.12.2 17-Mar-2008  yamt sync with head.
 1.17.12.1 27-Oct-2007  yamt sync with head.
 1.18.54.1 25-Oct-2007  bouyer Sync with HEAD.
 1.18.52.1 18-Oct-2007  yamt sync with head.
 1.18.50.2 23-Mar-2008  matt sync with HEAD
 1.18.50.1 06-Nov-2007  matt sync with HEAD
 1.18.48.1 26-Oct-2007  joerg Sync with HEAD.

Follow the merge of pmap.c on i386 and amd64 and move
pmap_init_tmp_pgtbl into arch/x86/x86/pmap.c. Modify the ACPI wakeup
code to restore CR4 before jumping back into kernel space as the large
page option might cover that.
 1.18.38.3 05-Jun-2007  matt Make macppc use the common powerpc bus_dma.c
 1.18.38.2 06-May-2007  macallan remove some now unused stuff
 1.18.38.1 06-May-2007  macallan switch macppc over to generic PCI code from arch/powerpc/pci
 1.18.30.1 23-Oct-2007  ad Sync with head.
 1.19.16.1 03-Apr-2008  mjf Sync with HEAD.
 1.19.12.1 24-Mar-2008  keiichi sync with head.
 1.21.36.1 23-Jun-2011  cherry Catchup with rmind-uvmplock merge.
 1.2 05-Feb-2001  briggs Share a single pio.h instead of having 4 nearly-identical copies.
 1.1 15-May-1998  tsubai branches: 1.1.14;
Initial import of macppc port.
 1.1.14.1 11-Feb-2001  bouyer Sync with HEAD.
 1.9 09-Jan-2008  garbled Mac doesn't need the special hack for the bridge mode prototype anymore.
 1.8 05-Aug-2006  sanjayl branches: 1.8.34; 1.8.40; 1.8.48;
1st cut of Powermac G5 support (uses bridge mode).
 1.7 03-Feb-2003  matt branches: 1.7.18; 1.7.32; 1.7.36;
Rename PPC_MPC6XX to PPC_OEA (and any mpc6xx reference to oea).
 1.6 03-Feb-2003  matt More cleanup for OLDPMAP.
 1.5 09-Mar-2002  chs switch all mpc6xx powerpc ports to NEWPMAP by default.
the old pmap is still available with the OLDPMAP option.
 1.4 10-Jun-2001  tsubai branches: 1.4.2; 1.4.8;
Make the new pmap optional. Use the old (stable!) pmap by default.
 1.3 06-Jun-2001  matt Changes new pmap, common param.h, vmparam.h, and moved includes.
 1.2 29-May-1998  tsubai branches: 1.2.26;
Use arch/powerpc/.
 1.1 15-May-1998  tsubai Initial import of macppc port.
 1.2.26.1 21-Jun-2001  nathanw Catch up to -current.
 1.4.8.2 01-Apr-2002  nathanw Catch up to -current.
(CVS: It's not just a program. It's an adventure!)
 1.4.8.1 10-Jun-2001  nathanw file pmap.h was added on branch nathanw_sa on 2002-04-01 07:40:54 +0000
 1.4.2.1 16-Mar-2002  jdolecek Catch up with -current.
 1.7.36.1 11-Aug-2006  yamt sync with head
 1.7.32.1 09-Sep-2006  rpaulo sync with head
 1.7.18.2 21-Jan-2008  yamt sync with head
 1.7.18.1 30-Dec-2006  yamt sync with head.
 1.8.48.1 10-Jan-2008  bouyer Sync with HEAD
 1.8.40.1 18-Feb-2008  mjf Sync with HEAD.
 1.8.34.1 23-Mar-2008  matt 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:37:11 +0000
 1.1.4.2 31-Aug-2002  gehenna catch up with -current.
 1.1.4.1 07-Aug-2002  gehenna file pmc.h was added on branch gehenna-devsw on 2002-08-31 13:45:08 +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:28 +0000
 1.8 13-May-2013  macallan get rid of mem_region.start_hi - if we can deal with 64bit addresses then
paddr_t is already 64bit anyway
 1.7 14-Mar-2009  dsl branches: 1.7.12; 1.7.22;
Remove all the __P() from sys (excluding sys/dist)
Diff checked with grep and MK1 eyeball.
i386 and amd64 GENERIC and sys still build.
 1.6 05-Aug-2006  sanjayl branches: 1.6.62; 1.6.70; 1.6.76;
1st cut of Powermac G5 support (uses bridge mode).
 1.5 11-Dec-2005  christos branches: 1.5.4; 1.5.8;
merge ktrace-lwp.
 1.4 23-Oct-2004  thorpej branches: 1.4.12;
Centralize the declaration of booted_device and booted_partition.
 1.3 01-Jun-2000  matt branches: 1.3.26;
Make booted_device global (and booted_parition for consitency).
Eliminate it from header files and other extern definitions.
 1.2 21-Aug-1998  tsubai branches: 1.2.12; 1.2.20;
vm_offset_t --> [pv]addr_t.
 1.1 15-May-1998  tsubai Initial import of macppc port.
 1.2.20.1 22-Jun-2000  minoura Sync w/ netbsd-1-5-base.
 1.2.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.3.26.1 02-Nov-2004  skrll Sync with HEAD.
 1.4.12.1 30-Dec-2006  yamt sync with head.
 1.5.8.1 11-Aug-2006  yamt sync with head
 1.5.4.1 09-Sep-2006  rpaulo sync with head
 1.6.76.1 13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.6.70.1 28-Apr-2009  skrll Sync with HEAD.
 1.6.62.1 04-May-2009  yamt sync with head.
 1.7.22.1 23-Jun-2013  tls resync from head
 1.7.12.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 29-May-1998  tsubai Use arch/powerpc/.
 1.1 15-May-1998  tsubai Initial import of macppc port.
 1.2 29-May-1998  tsubai Use arch/powerpc/.
 1.1 15-May-1998  tsubai Initial import of macppc port.
 1.2 29-May-1998  tsubai Use arch/powerpc/.
 1.1 15-May-1998  tsubai Initial import of macppc port.
 1.4 03-Feb-2003  matt Rename PPC_MPC6XX to PPC_OEA (and any mpc6xx reference to oea).
 1.3 06-Jun-2001  matt branches: 1.3.8;
Changes new pmap, common param.h, vmparam.h, and moved includes.
 1.2 29-May-1998  tsubai branches: 1.2.26;
Use arch/powerpc/.
 1.1 15-May-1998  tsubai Initial import of macppc port.
 1.2.26.1 21-Jun-2001  nathanw Catch up to -current.
 1.3.8.2 06-Jun-2001  matt Changes new pmap, common param.h, vmparam.h, and moved includes.
 1.3.8.1 06-Jun-2001  matt file pte.h was added on branch nathanw_sa on 2001-06-06 17:50:16 +0000
 1.2 29-May-1998  tsubai Use arch/powerpc/.
 1.1 15-May-1998  tsubai Initial import of macppc port.
 1.3 01-Jun-2000  cgd kill __P in these files. (I had to look at them anyway with an eye for
adding some protos... and adding them with __P seems wrong, but mixing
__P and not __P in the same file seems wrong too, so...)
 1.2 15-Oct-1999  tsubai branches: 1.2.2; 1.2.8; 1.2.10;
Add RCS ID.
Disable debug messages.
 1.1 15-Oct-1999  haya This is the first check-in of CardBus driver. CardBus driver contains
CardBus bus stub, YENTA PCI-CardBus bridge (cbb), 3Com 3C575TX driver
(ex) and Intel fxp driver.

TODO:
o Conform to the KNF more strictly.
o Be unified with pcmcia code as much as possible.
o Add more drivers for CardBus card, such as APA-1480 or USB card.

The affected files are listed below.

sys/arch/i386/conf/files.i386
sys/arch/macppc/conf/files.macppc
sys/conf/files
sys/dev/ic/elinkxl.c
sys/dev/ic/elinkxlvar.h
sys/dev/ic/i82365.c
sys/dev/ic/i82365var.h
sys/dev/isa/i82365_isasubr.c
sys/dev/pci/files.pci
sys/dev/pcmcia/pcmcia.c
sys/dev/pcmcia/pcmciachip.h

The added files are listed below.

sys/arch/i386/conf/CARDBUS
sys/arch/i386/include/rbus_machdep.h
sys/arch/i386/i386/rbus_machdep.c
sys/arch/macppc/include/rbus_machdep.h
sys/arch/macppc/macppc/rbus_machdep.c
sys/dev/cardbus/if_ex_cardbus.c
sys/dev/cardbus/Makefile.cardbusdevs
sys/dev/cardbus/cardbus.c
sys/dev/cardbus/cardbus_map.c
sys/dev/cardbus/cardbusdevs
sys/dev/cardbus/cardbusdevs.h
sys/dev/cardbus/cardbusdevs_data.h
sys/dev/cardbus/cardbusvar.h
sys/dev/cardbus/cardslot.c
sys/dev/cardbus/cardslotvar.h
sys/dev/cardbus/devlist2h.awk
sys/dev/cardbus/files.cardbus
sys/dev/cardbus/if_fxp_cardbus.c
sys/dev/cardbus/pccardcis.h
sys/dev/cardbus/rbus.c
sys/dev/cardbus/rbus.h
sys/dev/pci/pccbb.c
sys/dev/pci/pccbbreg.h
sys/dev/pci/pccbbvar.h
 1.2.10.1 22-Jun-2000  minoura Sync w/ netbsd-1-5-base.
 1.2.8.1 27-Dec-1999  wrstuden Pull up to last week's -current.
 1.2.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.2 29-May-1998  tsubai Use arch/powerpc/.
 1.1 15-May-1998  tsubai Initial import of macppc port.
 1.2 16-Feb-1999  tsubai Use powerpc/reloc.h.
 1.1 15-May-1998  tsubai Initial import of macppc 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:13:00 +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 17:01:23 +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:07:22 +0000
 1.2 29-May-1998  tsubai Use arch/powerpc/.
 1.1 15-May-1998  tsubai Initial import of macppc port.
 1.3 29-May-1998  tsubai Use 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 15-May-1998  tsubai Initial import of macppc 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:03:11 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 23-Jul-2014  tls file sljit_machdep.h was added on branch tls-earlyentropy on 2014-08-10 06:54:01 +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:56 +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:16 +0000
 1.1.2.1 10-Aug-2014  tls Rebase.
 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 29-May-1998  tsubai Use arch/powerpc/.
 1.1 15-May-1998  tsubai Initial import of macppc port.
 1.2 29-May-1998  tsubai Use arch/powerpc/.
 1.1 15-May-1998  tsubai Initial import of macppc port.
 1.15 08-Aug-2021  thorpej Define preprocessor symbols (__HAVE_OPENFIRMWARE_VARIANT_AAPL and
__HAVE_OPENFIRMWARE_VARIANT_SUNW) that lets generic OpenFirmware
code deal with differences / quirks among implementation variants.
 1.14 17-Jul-2011  dyoung branches: 1.14.70;
Enable new-style <sys/bus.h> on several PowerPC ports supporting PCI
buses. Make non-inline implementations of bus_space(9) and bus_dma(9)
routines and move them to appropriate .c files.

This may leave amigappc in a bad state, sorry. Fortunately, it will be
easy to repair by imitating the bus.h -> bus_{defs,funcs}.h split in
some other PowerPC port.
 1.13 20-Jan-2008  joerg Now that __HAVE_TIMECOUNTER and __HAVE_GENERIC_TODR are invariants,
remove the conditionals and the code associated with the undef case.
 1.12 17-Oct-2007  garbled branches: 1.12.2; 1.12.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.11 14-Jul-2007  ad branches: 1.11.10;
Generic soft interrupts are mandatory.
 1.10 29-Sep-2006  macallan branches: 1.10.8; 1.10.16;
add timecounter support, mostly from prep.
 1.9 13-Sep-2006  gdamore branches: 1.9.2;
Convert macppc to generic todr. ok macallan@.
 1.8 11-Dec-2005  christos branches: 1.8.8; 1.8.20;
merge ktrace-lwp.
 1.7 25-Mar-2004  matt branches: 1.7.16;
Enable generic software interrupts on macppc.
 1.6 28-Feb-2002  simonb branches: 1.6.16;
Use "#define<tab>".
 1.5 23-May-2000  tsubai branches: 1.5.8; 1.5.12;
Remove __BROKEN_DK_ESTABLISH.
 1.4 16-May-2000  thorpej Nuke dk_establish() from orbit except from those ports which still use
it to determine the boot device: mvme68k, pc532, macppc, ofppc. Those
platforms should be changed to use device_register(). In the mean time,
those ports defined __BROKEN_DK_ESTABLISH.
 1.3 01-Feb-2000  danw Use device_register to find the boot device more reliably. Should now work
on anything it's possible to boot from that we have a driver for.
 1.2 29-May-1998  tsubai branches: 1.2.14;
Use arch/powerpc/.
 1.1 15-May-1998  tsubai Initial import of macppc port.
 1.2.14.1 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.5.12.1 01-Apr-2002  nathanw Catch up to -current.
(CVS: It's not just a program. It's an adventure!)
 1.5.8.1 16-Mar-2002  jdolecek Catch up with -current.
 1.6.16.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.6.16.2 18-Sep-2004  skrll Sync with HEAD.
 1.6.16.1 03-Aug-2004  skrll Sync with HEAD
 1.7.16.3 21-Jan-2008  yamt sync with head
 1.7.16.2 03-Sep-2007  yamt sync with head.
 1.7.16.1 30-Dec-2006  yamt sync with head.
 1.8.20.1 18-Nov-2006  ad Sync with head.
 1.8.8.1 14-Sep-2006  yamt sync with head.
 1.9.2.1 22-Oct-2006  yamt sync with head
 1.10.16.2 03-Oct-2007  garbled Sync with HEAD
 1.10.16.1 02-Aug-2007  macallan sync with HEAD
 1.10.8.1 15-Jul-2007  ad Sync with head.
 1.11.10.2 23-Mar-2008  matt sync with HEAD
 1.11.10.1 06-Nov-2007  matt sync with HEAD
 1.12.8.1 23-Jan-2008  bouyer Sync with HEAD.
 1.12.2.1 18-Feb-2008  mjf Sync with HEAD.
 1.14.70.1 14-May-2021  thorpej Deal with quirks / differences in OpenFirmware implementations'
interpreation of the i2c "reg" property by embedding knowledge
of those quicks directly, rather than forcing lots of drivers
to provide their own devhandle implementations. We default to
assuming the Device Tree bindings, and tweak based on platform-
specific #ifdefs.

Start with __HAVE_OPENFIRMWARE_VARIANT_AAPL (all i2c "reg" properties
encode an address that's shifted left 1 bit to account for the R/W bit
that appears on the wire).
 1.3 03-Dec-1998  tsubai Not used.
 1.2 09-Aug-1998  tsubai avoid lint error.
 1.1 15-May-1998  tsubai Initial import of macppc 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 29-May-1998  tsubai Use arch/powerpc/.
 1.1 15-May-1998  tsubai Initial import of macppc port.
 1.24 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.23 03-Feb-2003  matt branches: 1.23.140;
Rename PPC_MPC6XX to PPC_OEA (and any mpc6xx reference to oea).
 1.22 02-Feb-2003  matt Remove OLDPMAP support.
 1.21 10-Dec-2002  thorpej Use __LDPGSZ (which must be == USRTEXT) as the text address for a.out
executables, and eliminate the USRTEXT constant, which was only used
by the a.out exec code.
 1.20 09-Mar-2002  chs switch all mpc6xx powerpc ports to NEWPMAP by default.
the old pmap is still available with the OLDPMAP option.
 1.19 15-Nov-2001  soren MAXSLP is defined to be a machine-independent scheduling parameter,
so move it into sys/param.h.
 1.18 10-Jun-2001  tsubai branches: 1.18.2; 1.18.8;
Make the new pmap optional. Use the old (stable!) pmap by default.
 1.17 06-Jun-2001  matt Changes new pmap, common param.h, vmparam.h, and moved includes.
 1.16 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.15 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.14 15-Mar-2001  tsubai Remove PAGER_MAP_SIZE definition -- use default value. Instead, decrease
VM_MAX_KERNEL_BUF.
 1.13 08-Dec-2000  mycroft branches: 1.13.2;
Increase all of the limits.
 1.12 27-Nov-2000  tsubai Reduce PAGER_MAP_SIZE to 4MB.
 1.11 11-Feb-2000  thorpej branches: 1.11.4;
Update for the NKMEMPAGES changes.
 1.10 04-Dec-1999  ragge CL* discarding.
 1.9 18-Jul-1999  tsubai branches: 1.9.2; 1.9.8;
Add VM_MAX_KERNEL_BUF definition.
 1.8 16-Apr-1999  thorpej Now that we have direct-mapped pool pages, we can garbage-collect VM_MBUF_SIZE
and don't need to allocate mb_map.
 1.7 23-Mar-1999  thorpej branches: 1.7.2; 1.7.4;
VM_MBUF_SIZE is in terms of MCLBYTES, not CLBYTES.
 1.6 27-Feb-1999  tsubai Increase default data size to compile libbfd without `virtual memory
exhausted'. Suggested by Scott Reynolds.
 1.5 16-Jan-1999  chuck MNN is no longer optional
 1.4 21-Aug-1998  tsubai vm_offset_t --> [pv]addr_t.
 1.3 13-Jul-1998  tsubai Change VM_MAXUSER_ADDRESS to 0x7ffff000.
 1.2 05-Jun-1998  tsubai Add support for UVM and MACHINE_NEW_NONCONTIG.
 1.1 15-May-1998  tsubai Initial import of macppc port.
 1.7.4.3 06-Aug-1999  chs take an initial guess at UBC parameters.
 1.7.4.2 02-Aug-1999  thorpej Update from trunk.
 1.7.4.1 21-Jun-1999  thorpej Sync w/ -current.
 1.7.2.1 20-Oct-1999  he Pull up revision 1.9 (requested by tsubai):
Fix "panic: startup: cannot allocate VM for buffers" right after
copyright message when RAM > approx. 128MB.
 1.9.8.1 27-Dec-1999  wrstuden Pull up to last week's -current.
 1.9.2.4 27-Mar-2001  bouyer Sync with HEAD.
 1.9.2.3 13-Dec-2000  bouyer Sync with HEAD (for UBC fixes).
 1.9.2.2 08-Dec-2000  bouyer Sync with HEAD.
 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.11.4.1 31-Dec-2000  jhawk Pull up revision 1.13 (requested by mycroft):
Increase limits (max test size, datasize, default datasize, and
default stacksize) to match other ports. (Fixes a bunch of problems
running apps like Mozilla with the defaults.)
 1.13.2.2 21-Jun-2001  nathanw Catch up to -current.
 1.13.2.1 09-Apr-2001  nathanw Catch up with -current.
 1.18.8.4 11-Dec-2002  thorpej Sync with HEAD.
 1.18.8.3 01-Apr-2002  nathanw Catch up to -current.
(CVS: It's not just a program. It's an adventure!)
 1.18.8.2 08-Jan-2002  nathanw Catch up to -current.
 1.18.8.1 10-Jun-2001  nathanw file vmparam.h was added on branch nathanw_sa on 2002-01-08 00:26:10 +0000
 1.18.2.2 16-Mar-2002  jdolecek Catch up with -current.
 1.18.2.1 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.23.140.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:37:30 +0000
 1.15 25-Apr-2025  andvar s/cahnge/change/ in comments.
 1.14 29-Mar-2008  tsutsui branches: 1.14.128;
Split softc and device_t for zsc(4) and its children.

XXX we should restructure MI APIs and make it really machine independent.
 1.13 07-Nov-2007  ad branches: 1.13.14;
Merge tty changes from the vmlocking branch.
 1.12 17-Oct-2007  garbled branches: 1.12.2;
Merge the ppcoea-renovation branch to HEAD.

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

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

NOTES:
pmppc was removed as an arch, and moved to a evbppc target.
 1.11 14-Jul-2007  ad branches: 1.11.8; 1.11.10; 1.11.14;
Generic soft interrupts are mandatory.
 1.10 04-Mar-2007  christos branches: 1.10.2; 1.10.10;
Kill caddr_t; there will be some MI fallout, but it will be fixed shortly.
 1.9 11-Dec-2005  christos branches: 1.9.26;
merge ktrace-lwp.
 1.8 24-Mar-2004  matt branches: 1.8.16;
Add latent generic soft interrupt support.
 1.7 07-Aug-2003  agc Move UCB-licensed code from 4-clause to 3-clause licence.

Patches provided by Joel Baker in PR 22364, verified by myself.
 1.6 15-Feb-2003  tsutsui branches: 1.6.2;
Add prototypes for ZS_TXDMA functions.
XXX Maybe we should have DMA hooks in MI z8530tty.
 1.5 17-Mar-2002  atatat Convert ioctl code to use EPASSTHROUGH instead of -1 or ENOTTY for
indicating an unhandled "command". ERESTART is -1, which can lead to
confusion. ERESTART has been moved to -3 and EPASSTHROUGH has been
placed at -4. No ioctl code should now return -1 anywhere. The
ioctl() system call is now properly restartable.
 1.4 06-Jan-2002  dbj add support for kgdb over zs
 1.3 26-Aug-1998  tsubai branches: 1.3.26; 1.3.30;
Back out previous change.
 1.2 16-Aug-1998  tsubai Enable 115200 and (untested)230400 bps.
 1.1 15-May-1998  tsubai Initial import of macppc port.
 1.3.30.3 01-Apr-2002  nathanw Catch up to -current.
(CVS: It's not just a program. It's an adventure!)
 1.3.30.2 28-Feb-2002  nathanw Catch up to -current.
 1.3.30.1 11-Jan-2002  nathanw More catchup.
 1.3.26.2 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.3.26.1 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.6.2.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.6.2.2 18-Sep-2004  skrll Sync with HEAD.
 1.6.2.1 03-Aug-2004  skrll Sync with HEAD
 1.8.16.2 15-Nov-2007  yamt sync with head.
 1.8.16.1 03-Sep-2007  yamt sync with head.
 1.9.26.1 12-Mar-2007  rmind Sync with HEAD.
 1.10.10.3 03-Oct-2007  garbled Sync with HEAD
 1.10.10.2 02-Aug-2007  macallan sync with HEAD
 1.10.10.1 09-May-2007  macallan nuke #if(n)def __HAVE_GENERIC_SOFT_INTERRUPTS - we have them and they're not going
to disappear
 1.10.2.2 03-Dec-2007  ad Sync with HEAD.
 1.10.2.1 15-Jul-2007  ad Sync with head.
 1.11.14.1 13-Nov-2007  bouyer Sync with HEAD
 1.11.10.2 08-Nov-2007  matt sync with -HEAD
 1.11.10.1 06-Nov-2007  matt sync with HEAD
 1.11.8.1 11-Nov-2007  joerg Sync with HEAD.
 1.12.2.1 19-Nov-2007  mjf Sync with HEAD.
 1.13.14.1 03-Apr-2008  mjf Sync with HEAD.
 1.14.128.1 02-Aug-2025  perseant Sync with HEAD

RSS XML Feed