Home | History | Annotate | only in /src/sys/arch/arm/sa11x0
History log of /src/sys/arch/arm/sa11x0
RevisionDateAuthorComments
 1.2 20-Sep-2008  tsutsui Remove advertising clause for UCB in various genassym.cf files,
which were derived from genassym.c in 4.4BSD-Lite2 (or 386BSD).
Closes PR misc/39573. Approved by martin@.
 1.1 09-Jan-2002  rjs branches: 1.1.2; 1.1.4; 1.1.126; 1.1.130; 1.1.132; 1.1.136;
Interrupt related defines for SA11x0.
 1.1.136.1 19-Oct-2008  haad Sync with HEAD.
 1.1.132.1 10-Oct-2008  skrll Sync with HEAD.
 1.1.130.1 04-May-2009  yamt sync with head.
 1.1.126.1 28-Sep-2008  mjf Sync with HEAD.
 1.1.4.2 11-Jan-2002  nathanw More catchup.
 1.1.4.1 09-Jan-2002  nathanw file genassym.cf was added on branch nathanw_sa on 2002-01-11 23:38:05 +0000
 1.1.2.2 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.1.2.1 09-Jan-2002  thorpej file genassym.cf was added on branch kqueue on 2002-01-10 19:38:31 +0000
 1.28 07-Aug-2021  thorpej Merge thorpej-cfargs2.
 1.27 24-Apr-2021  thorpej branches: 1.27.8;
Merge thorpej-cfargs branch:

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

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

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

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

...and a sentinel value CFARG_EOL.

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

Use CFARG_DEVHANDLE in MI FDT, OFW, and ACPI code, and macppc and shark
ports to associate those device handles with device_t instance. This
will trickle trough to more places over time (need back-end for pre-OFW
Sun OBP; any others?).
 1.26 20-Nov-2020  thorpej branches: 1.26.2;
malloc(9) -> kmem(9)
 1.25 10-Nov-2019  chs branches: 1.25.8;
in many device attach paths, allocate memory with M_WAITOK instead of M_NOWAIT
and remove code to handle failures that can no longer happen.
 1.24 01-Jul-2011  dyoung branches: 1.24.54;
#include <sys/bus.h> instead of <machine/bus.h>.
 1.23 29-May-2009  rjs Make the following changes:

struct device * -> device_t
struct cfdata * -> cfdata_t
printf -> aprint_
device_t/softc split
 1.22 28-Apr-2008  martin Remove clause 3 and 4 from TNF licenses
 1.21 08-Jan-2008  matt branches: 1.21.6; 1.21.8; 1.21.10;
As of this commit, all arm32 kernel now build.
 1.20 17-Oct-2007  garbled branches: 1.20.2; 1.20.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.19 14-Jul-2007  ad branches: 1.19.6; 1.19.10; 1.19.12;
Generic soft interrupts are mandatory.
 1.18 27-Jun-2006  peter branches: 1.18.14; 1.18.22;
KNF. Correct some spelling errors.
 1.17 04-Mar-2006  peter branches: 1.17.2; 1.17.10;
s/u_intN_t/uintN_t/
 1.16 04-Mar-2006  peter Use ANSI function decls.
 1.15 03-Jan-2006  peter branches: 1.15.2; 1.15.4;
Remove unnecessary #ifdef hpcarm + includes.
 1.14 11-Dec-2005  christos branches: 1.14.2;
merge ktrace-lwp.
 1.13 26-Aug-2005  drochner s/locdesc_t/int/g
 1.12 30-Jun-2005  drochner branches: 1.12.2;
adaptions to config_search() change, and minor autoconf fixes, mostly from Havard Eidnes
 1.11 08-Aug-2003  bsh split StrongArm companion chip (sacc) driver so that we can support
sacc on other platforms than hpcarm (evbarm for example).

codes specific to hpcarm are extracted and moved to hpcarm/dev/.
 1.10 15-Jul-2003  lukem __KERNEL_RCSID()
 1.9 02-Oct-2002  thorpej branches: 1.9.8;
Use CFATTACH_DECL().
 1.8 27-Sep-2002  thorpej Declare all cfattach structures const.
 1.7 27-Sep-2002  provos remove trailing \n in panic(). approved perry.
 1.6 27-Sep-2002  thorpej Introduce a new routine, config_match(), which invokes the
cfattach->ca_match function in behalf of the caller. Use it
rather than invoking cfattach->ca_match directly.
 1.5 12-Aug-2002  rjs Always clear SA11x0 GPIO in interrupt handler.
 1.4 19-Jul-2002  ichiro make compile
 1.3 24-Sep-2001  takemura branches: 1.3.4; 1.3.12;
Renamed platid_search() to platid_search_data() and added new platid_search().
Platid_name() was re-implemented using platid_search().
 1.2 01-Aug-2001  rjs branches: 1.2.2;
Update from hpcarm with changes to probe routine and test for chip ID.
 1.1 08-Jul-2001  rjs branches: 1.1.2;
Initial copy of SA11x0 support from hpcarm.
 1.1.2.4 10-Oct-2002  jdolecek sync kqueue with -current; this includes merge of gehenna-devsw branch,
merge of i386 MP branch, and part of autoconf rototil work
 1.1.2.3 06-Sep-2002  jdolecek sync kqueue branch with HEAD
 1.1.2.2 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.1.2.1 03-Aug-2001  lukem update to -current
 1.2.2.1 01-Oct-2001  fvdl Catch up with -current.
 1.3.12.2 30-Aug-2002  gehenna catch up with -current.
 1.3.12.1 21-Jul-2002  gehenna catch up with -current.
 1.3.4.4 18-Oct-2002  nathanw Catch up to -current.
 1.3.4.3 13-Aug-2002  nathanw Catch up to -current.
 1.3.4.2 01-Aug-2002  nathanw Catch up to -current.
 1.3.4.1 24-Sep-2001  nathanw file sa1111.c was added on branch nathanw_sa on 2002-08-01 02:41:18 +0000
 1.9.8.4 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.9.8.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.9.8.2 18-Sep-2004  skrll Sync with HEAD.
 1.9.8.1 03-Aug-2004  skrll Sync with HEAD
 1.12.2.4 21-Jan-2008  yamt sync with head
 1.12.2.3 03-Sep-2007  yamt sync with head.
 1.12.2.2 30-Dec-2006  yamt sync with head.
 1.12.2.1 21-Jun-2006  yamt sync with head.
 1.14.2.1 15-Jan-2006  yamt sync with head.
 1.15.4.1 22-Apr-2006  simonb Sync with head.
 1.15.2.1 09-Sep-2006  rpaulo sync with head
 1.17.10.1 13-Jul-2006  gdamore Merge from HEAD.
 1.17.2.1 11-Aug-2006  yamt sync with head
 1.18.22.1 03-Oct-2007  garbled Sync with HEAD
 1.18.14.1 15-Jul-2007  ad Sync with head.
 1.19.12.2 09-Jan-2008  matt sync with HEAD
 1.19.12.1 06-Nov-2007  matt sync with HEAD
 1.19.10.2 20-Jan-2008  chris Sync to HEAD.
 1.19.10.1 01-Jan-2008  chris Sync with HEAD.
 1.19.6.1 28-Feb-2008  rjs Sync with HEAD.
 1.20.8.1 08-Jan-2008  bouyer Sync with HEAD
 1.20.2.1 18-Feb-2008  mjf Sync with HEAD.
 1.21.10.2 20-Jun-2009  yamt sync with head
 1.21.10.1 16-May-2008  yamt sync with head.
 1.21.8.1 18-May-2008  yamt sync with head.
 1.21.6.1 02-Jun-2008  mjf Sync with HEAD.
 1.24.54.1 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.25.8.1 14-Dec-2020  thorpej Sync w/ HEAD.
 1.26.2.3 05-Apr-2021  thorpej Treat config_probe() as if it were a boolean function; don't compare
return value > 0... except for the odd balls, which are now really easy
to spot.
 1.26.2.2 05-Apr-2021  thorpej config_match() -> config_probe() for the straight-forward indirect config
cases. There are still a few odd balls using config_match() which should
be sorted out later.
 1.26.2.1 03-Apr-2021  thorpej Give config_attach() the tagged variadic argument treatment and
mechanically convert all call sites.
 1.27.8.1 04-Aug-2021  thorpej Adapt to CFARGS().
 1.19 27-Sep-2022  skrll Remove unnecessary sys/malloc.h include
 1.18 13-Apr-2015  riastradh MD rnd.h cleanups. Please let me know if I broke anything!
 1.17 10-Aug-2014  tls branches: 1.17.4;
Merge tls-earlyentropy branch into HEAD.
 1.16 27-Oct-2012  chs branches: 1.16.10;
split device_t/softc for all remaining drivers.
replace "struct device *" with "device_t".
use device_xname(), device_unit(), etc.
 1.15 04-Feb-2012  matt branches: 1.15.6;
Make this compile again.
 1.14 02-Feb-2012  tls Entropy-pool implementation move and cleanup.

1) Move core entropy-pool code and source/sink/sample management code
to sys/kern from sys/dev.

2) Remove use of NRND as test for presence of entropy-pool code throughout
source tree.

3) Remove use of RND_ENABLED in device drivers as microoptimization to
avoid expensive operations on disabled entropy sources; make the
rnd_add calls do this directly so all callers benefit.

4) Fix bug in recent rnd_add_data()/rnd_add_uint32() changes that might
have lead to slight entropy overestimation for some sources.

5) Add new source types for environmental sensors, power sensors, VM
system events, and skew between clocks, with a sample implementation
for each.

ok releng to go in before the branch due to the difficulty of later
pullup (widespread #ifdef removal and moved files). Tested with release
builds on amd64 and evbarm and live testing on amd64.
 1.13 19-Nov-2011  tls branches: 1.13.2;
First step of random number subsystem rework described in
<20111022023242.BA26F14A158@mail.netbsd.org>. This change includes
the following:

An initial cleanup and minor reorganization of the entropy pool
code in sys/dev/rnd.c and sys/dev/rndpool.c. Several bugs are
fixed. Some effort is made to accumulate entropy more quickly at
boot time.

A generic interface, "rndsink", is added, for stream generators to
request that they be re-keyed with good quality entropy from the pool
as soon as it is available.

The arc4random()/arc4randbytes() implementation in libkern is
adjusted to use the rndsink interface for rekeying, which helps
address the problem of low-quality keys at boot time.

An implementation of the FIPS 140-2 statistical tests for random
number generator quality is provided (libkern/rngtest.c). This
is based on Greg Rose's implementation from Qualcomm.

A new random stream generator, nist_ctr_drbg, is provided. It is
based on an implementation of the NIST SP800-90 CTR_DRBG by
Henric Jungheim. This generator users AES in a modified counter
mode to generate a backtracking-resistant random stream.

An abstraction layer, "cprng", is provided for in-kernel consumers
of randomness. The arc4random/arc4randbytes API is deprecated for
in-kernel use. It is replaced by "cprng_strong". The current
cprng_fast implementation wraps the existing arc4random
implementation. The current cprng_strong implementation wraps the
new CTR_DRBG implementation. Both interfaces are rekeyed from
the entropy pool automatically at intervals justifiable from best
current cryptographic practice.

In some quick tests, cprng_fast() is about the same speed as
the old arc4randbytes(), and cprng_strong() is about 20% faster
than rnd_extract_data(). Performance is expected to improve.

The AES code in src/crypto/rijndael is no longer an optional
kernel component, as it is required by cprng_strong, which is
not an optional kernel component.

The entropy pool output is subjected to the rngtest tests at
startup time; if it fails, the system will reboot. There is
approximately a 3/10000 chance of a false positive from these
tests. Entropy pool _input_ from hardware random numbers is
subjected to the rngtest tests at attach time, as well as the
FIPS continuous-output test, to detect bad or stuck hardware
RNGs; if any are detected, they are detached, but the system
continues to run.

A problem with rndctl(8) is fixed -- datastructures with
pointers in arrays are no longer passed to userspace (this
was not a security problem, but rather a major issue for
compat32). A new kernel will require a new rndctl.

The sysctl kern.arandom() and kern.urandom() nodes are hooked
up to the new generators, but the /dev/*random pseudodevices
are not, yet.

Manual pages for the new kernel interfaces are forthcoming.
 1.12 13-Mar-2010  bsh branches: 1.12.10;
fix changes for struct device split for Lubbock.
 1.11 29-May-2009  rjs branches: 1.11.2;
Make the following changes:

struct device * -> device_t
struct cfdata * -> cfdata_t
printf -> aprint_
device_t/softc split
 1.10 05-Jan-2008  ad branches: 1.10.10;
Fix includes.
 1.9 27-Jun-2006  peter branches: 1.9.30; 1.9.34; 1.9.36; 1.9.42; 1.9.50;
KNF. Correct some spelling errors.
 1.8 23-Feb-2006  thorpej branches: 1.8.2; 1.8.10;
Use device_parent().
 1.7 11-Dec-2005  christos branches: 1.7.2; 1.7.4; 1.7.6;
merge ktrace-lwp.
 1.6 06-Apr-2004  bsh branches: 1.6.12;
fake that the PS/2 kbd/mouse controller of SA-1111 has two slots.

This is necessary to attach a pms driver to sackbc.
 1.5 06-Apr-2004  bsh whitespace nits.
 1.4 24-Mar-2004  drochner remove license clauses 3 and 4 from my cpoyright notices
 1.3 13-Mar-2004  bjh21 Abstract the interface between pckbc(4), and the pckbd(4) and pms(4)
drivers that attach to it. This allows for other host interface chips
that use the same keyboards and mice, such as the ones in the ARM
IOMD20, ARM7500, and SA-1111. The PC-compatible driver is still
called pckbc(4), and the new abstraction layer is "pckbport", so the
child devices have moved from sys/dev/pckbc to sys/dev/pckbport, which
also contains some code shared between all host controllers. To avoid
incompatibility, pckbdreg.h is still installed in
/usr/include/dev/pckbc.

In theory, this shouldn't cause any behavioural changes in the drivers
concerned. Thy just use rather more function pointers than before. Tested
on i386 and (with a new host driver) acorn32. Compiled on several other
affected architectures.
 1.2 15-Jul-2003  lukem __KERNEL_RCSID()
 1.1 20-Dec-2002  bsh branches: 1.1.2; 1.1.4;
Driver for keyboard controller in the SA-1111 companion chip.

Our PC keyboard driver (sys/dev/pckbc/pckbd.c) works only with 8042
keyboard controller driver (sys/dev/ic/pckbc.c). So, This file
provides same functions as those of 8042 driver.

XXX: we need cleaner interface between the keyboard driver and
keyboard controller drivers.

XXX: PS/2 mice are not supported yet.
 1.1.4.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.1.4.2 18-Sep-2004  skrll Sync with HEAD.
 1.1.4.1 03-Aug-2004  skrll Sync with HEAD
 1.1.2.2 29-Dec-2002  thorpej Sync with HEAD.
 1.1.2.1 20-Dec-2002  thorpej file sa1111_kbc.c was added on branch nathanw_sa on 2002-12-29 19:20:08 +0000
 1.6.12.3 21-Jan-2008  yamt sync with head
 1.6.12.2 30-Dec-2006  yamt sync with head.
 1.6.12.1 21-Jun-2006  yamt sync with head.
 1.7.6.1 22-Apr-2006  simonb Sync with head.
 1.7.4.1 09-Sep-2006  rpaulo sync with head
 1.7.2.1 01-Mar-2006  yamt sync with head.
 1.8.10.1 13-Jul-2006  gdamore Merge from HEAD.
 1.8.2.1 11-Aug-2006  yamt sync with head
 1.9.50.1 08-Jan-2008  bouyer Sync with HEAD
 1.9.42.1 18-Feb-2008  mjf Sync with HEAD.
 1.9.36.1 09-Jan-2008  matt sync with HEAD
 1.9.34.1 20-Jan-2008  chris Sync to HEAD.
 1.9.30.1 28-Feb-2008  rjs Sync with HEAD.
 1.10.10.2 11-Aug-2010  yamt sync with head.
 1.10.10.1 20-Jun-2009  yamt sync with head
 1.11.2.1 30-Apr-2010  uebayasi Sync with HEAD.
 1.12.10.2 30-Oct-2012  yamt sync with head
 1.12.10.1 17-Apr-2012  yamt sync with head
 1.13.2.1 18-Feb-2012  mrg merge to -current.
 1.15.6.3 03-Dec-2017  jdolecek update from HEAD
 1.15.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.15.6.1 20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.16.10.1 07-Apr-2014  tls Be a little more clear and consistent about harvesting entropy from devices:

1) deprecate RND_FLAG_NO_ESTIMATE

2) define RND_FLAG_COLLECT_TIME, RND_FLAG_COLLECT_VALUE

3) define RND_FLAG_ESTIMATE_TIME, RND_FLAG_ESTIMATE_VALUE

4) define RND_FLAG_DEFAULT: RND_FLAG_COLLECT_TIME|
RND_FLAG_COLLECT_VALUE|RND_FLAG_ESTIMATE_TIME

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

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

7) 0 -> RND_FLAG_DEFAULT, actually gather entropy from various drivers
that had stubbed out code, other minor cleanups.
 1.17.4.1 06-Jun-2015  skrll Sync with HEAD
 1.4 28-Apr-2008  martin Remove clause 3 and 4 from TNF licenses
 1.3 18-Dec-2002  bsh branches: 1.3.106; 1.3.108; 1.3.110;
+ protect against including twice
+ add bit definitions in SKCR
+ add keyboard controller registers
 1.2 08-Jan-2002  rjs Add extra SA1111 register definitions.
 1.1 08-Jul-2001  rjs branches: 1.1.2; 1.1.8;
Initial copy of SA11x0 support from hpcarm.
 1.1.8.4 19-Dec-2002  thorpej Sync with HEAD.
 1.1.8.3 28-Feb-2002  nathanw Catch up to -current.
 1.1.8.2 11-Jan-2002  nathanw More catchup.
 1.1.8.1 08-Jul-2001  nathanw file sa1111_reg.h was added on branch nathanw_sa on 2002-01-11 23:38:05 +0000
 1.1.2.1 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.3.110.1 16-May-2008  yamt sync with head.
 1.3.108.1 18-May-2008  yamt sync with head.
 1.3.106.1 02-Jun-2008  mjf Sync with HEAD.
 1.12 29-May-2009  rjs Make the following changes:

struct device * -> device_t
struct cfdata * -> cfdata_t
printf -> aprint_
device_t/softc split
 1.11 28-Apr-2008  martin Remove clause 3 and 4 from TNF licenses
 1.10 27-Jun-2006  peter branches: 1.10.60; 1.10.62; 1.10.64;
KNF. Correct some spelling errors.
 1.9 04-Mar-2006  peter branches: 1.9.2; 1.9.10;
s/u_intN_t/uintN_t/
 1.8 11-Dec-2005  christos branches: 1.8.4; 1.8.6;
merge ktrace-lwp.
 1.7 26-Aug-2005  drochner s/locdesc_t/int/g
 1.6 30-Jun-2005  drochner branches: 1.6.2;
adaptions to config_search() change, and minor autoconf fixes, mostly from Havard Eidnes
 1.5 08-Aug-2003  bsh split StrongArm companion chip (sacc) driver so that we can support
sacc on other platforms than hpcarm (evbarm for example).

codes specific to hpcarm are extracted and moved to hpcarm/dev/.
 1.4 14-Apr-2003  rjs branches: 1.4.2;
Remove unused sa_membase and sa_memsize structure member variables.
 1.3 18-Dec-2002  bsh back out a part of my previous commit.
 1.2 18-Dec-2002  bsh + protect against including twice
+ add struct sa1111_attach_args for keyboard controller support.
 1.1 08-Jul-2001  rjs branches: 1.1.8;
Initial copy of SA11x0 support from hpcarm.
 1.1.8.2 19-Dec-2002  thorpej Sync with HEAD.
 1.1.8.1 08-Jul-2001  thorpej file sa1111_var.h was added on branch nathanw_sa on 2002-12-19 00:30:45 +0000
 1.4.2.4 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.4.2.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.4.2.2 18-Sep-2004  skrll Sync with HEAD.
 1.4.2.1 03-Aug-2004  skrll Sync with HEAD
 1.6.2.2 30-Dec-2006  yamt sync with head.
 1.6.2.1 21-Jun-2006  yamt sync with head.
 1.8.6.1 22-Apr-2006  simonb Sync with head.
 1.8.4.1 09-Sep-2006  rpaulo sync with head
 1.9.10.1 13-Jul-2006  gdamore Merge from HEAD.
 1.9.2.1 11-Aug-2006  yamt sync with head
 1.10.64.2 20-Jun-2009  yamt sync with head
 1.10.64.1 16-May-2008  yamt sync with head.
 1.10.62.1 18-May-2008  yamt sync with head.
 1.10.60.1 02-Jun-2008  mjf Sync with HEAD.
 1.29 07-Aug-2021  thorpej Merge thorpej-cfargs2.
 1.28 24-Apr-2021  thorpej branches: 1.28.8;
Merge thorpej-cfargs branch:

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

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

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

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

...and a sentinel value CFARG_EOL.

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

Use CFARG_DEVHANDLE in MI FDT, OFW, and ACPI code, and macppc and shark
ports to associate those device handles with device_t instance. This
will trickle trough to more places over time (need back-end for pre-OFW
Sun OBP; any others?).
 1.27 27-Oct-2012  chs branches: 1.27.52;
split device_t/softc for all remaining drivers.
replace "struct device *" with "device_t".
use device_xname(), device_unit(), etc.
 1.26 01-Jul-2011  dyoung branches: 1.26.2; 1.26.12;
#include <sys/bus.h> instead of <machine/bus.h>.
 1.25 09-Aug-2009  kiyohara Fix matching by improper driver.
see http://mail-index.netbsd.org/port-arm/2009/07/08/msg000807.html

And remove some white-spaces.
 1.24 29-May-2009  rjs Make the following changes:

struct device * -> device_t
struct cfdata * -> cfdata_t
printf -> aprint_
device_t/softc split
 1.23 13-Jun-2008  rafal Let hpcarm kernels boot again after the merge of the armv6 branch. Fixes
PR port-hpcarm/38591

XXX: There is still a hard hang that I've seen on both shark and hpcarm in
the process exit path; I don't know much beyond that yet.
 1.22 28-Apr-2008  martin branches: 1.22.2; 1.22.4;
Remove clause 3 and 4 from TNF licenses
 1.21 27-Jun-2006  peter branches: 1.21.60; 1.21.62; 1.21.64;
KNF. Correct some spelling errors.
 1.20 11-Apr-2006  peter branches: 1.20.4;
Add missing disclaimer.
 1.19 04-Mar-2006  peter branches: 1.19.2; 1.19.4; 1.19.6;
Use ANSI function decls.
 1.18 03-Jan-2006  peter branches: 1.18.2; 1.18.4;
Remove unnecessary #ifdef hpcarm + includes.
 1.17 11-Dec-2005  christos branches: 1.17.2;
merge ktrace-lwp.
 1.16 26-Aug-2005  drochner s/locdesc_t/int/g
 1.15 30-Jun-2005  drochner branches: 1.15.2;
adaptions to config_search() change, and minor autoconf fixes, mostly from Havard Eidnes
 1.14 15-Jul-2003  lukem __KERNEL_RCSID()
 1.13 14-Apr-2003  rjs branches: 1.13.2;
Remove unused sa_membase and sa_memsize structure member variables.
 1.12 03-Apr-2003  he Including <uvm/uvm_extern.h> exposed the fact that we had a benign
type mismatch for SetCPSR. Remove local extern declaration, since
it's now superfluous.
 1.11 01-Apr-2003  thorpej Use PAGE_SIZE rather than NBPG.
 1.10 01-Jan-2003  thorpej Use aprint_normal() for cfprint routines.
 1.9 02-Oct-2002  thorpej Use CFATTACH_DECL().
 1.8 27-Sep-2002  thorpej Declare all cfattach structures const.
 1.7 27-Sep-2002  provos remove trailing \n in panic(). approved perry.
 1.6 27-Sep-2002  thorpej Introduce a new routine, config_match(), which invokes the
cfattach->ca_match function in behalf of the caller. Use it
rather than invoking cfattach->ca_match directly.
 1.5 19-Jul-2002  ichiro sync to hpcarm/sa11x0

later, remove hpcarm/sa11x0
 1.4 13-Mar-2002  rjs branches: 1.4.4;
Map the reset controller registers.
 1.3 30-Jul-2001  rjs branches: 1.3.6;
Remove unused hpc includes.
 1.2 30-Jul-2001  rjs Update from hpcarm to remove iPAQ egpio code.
 1.1 08-Jul-2001  rjs branches: 1.1.2;
Initial copy of SA11x0 support from hpcarm.
 1.1.2.4 10-Oct-2002  jdolecek sync kqueue with -current; this includes merge of gehenna-devsw branch,
merge of i386 MP branch, and part of autoconf rototil work
 1.1.2.3 06-Sep-2002  jdolecek sync kqueue branch with HEAD
 1.1.2.2 16-Mar-2002  jdolecek Catch up with -current.
 1.1.2.1 03-Aug-2001  lukem update to -current
 1.3.6.5 03-Jan-2003  thorpej Sync with HEAD.
 1.3.6.4 18-Oct-2002  nathanw Catch up to -current.
 1.3.6.3 01-Aug-2002  nathanw Catch up to -current.
 1.3.6.2 01-Apr-2002  nathanw Catch up to -current.
(CVS: It's not just a program. It's an adventure!)
 1.3.6.1 30-Jul-2001  nathanw file sa11x0.c was added on branch nathanw_sa on 2002-04-01 07:39:15 +0000
 1.4.4.1 21-Jul-2002  gehenna catch up with -current.
 1.13.2.4 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.13.2.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.13.2.2 18-Sep-2004  skrll Sync with HEAD.
 1.13.2.1 03-Aug-2004  skrll Sync with HEAD
 1.15.2.2 30-Dec-2006  yamt sync with head.
 1.15.2.1 21-Jun-2006  yamt sync with head.
 1.17.2.1 15-Jan-2006  yamt sync with head.
 1.18.4.1 22-Apr-2006  simonb Sync with head.
 1.18.2.1 09-Sep-2006  rpaulo sync with head
 1.19.6.1 24-May-2006  tron Merge 2006-05-24 NetBSD-current into the "peter-altq" branch.
 1.19.4.1 19-Apr-2006  elad sync with head - hopefully this will work
 1.19.2.2 11-Aug-2006  yamt sync with head
 1.19.2.1 24-May-2006  yamt sync with head.
 1.20.4.1 13-Jul-2006  gdamore Merge from HEAD.
 1.21.64.4 19-Aug-2009  yamt sync with head.
 1.21.64.3 20-Jun-2009  yamt sync with head
 1.21.64.2 04-May-2009  yamt sync with head.
 1.21.64.1 16-May-2008  yamt sync with head.
 1.21.62.2 17-Jun-2008  yamt sync with head.
 1.21.62.1 18-May-2008  yamt sync with head.
 1.21.60.2 29-Jun-2008  mjf Sync with HEAD.
 1.21.60.1 02-Jun-2008  mjf Sync with HEAD.
 1.22.4.1 18-Jun-2008  simonb Sync with head.
 1.22.2.1 23-Jun-2008  wrstuden Sync w/ -current. 34 merge conflicts to follow.
 1.26.12.1 20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.26.2.1 30-Oct-2012  yamt sync with head
 1.27.52.6 05-Apr-2021  thorpej Treat config_probe() as if it were a boolean function; don't compare
return value > 0... except for the odd balls, which are now really easy
to spot.
 1.27.52.5 05-Apr-2021  thorpej config_match() -> config_probe() for the straight-forward indirect config
cases. There are still a few odd balls using config_match() which should
be sorted out later.
 1.27.52.4 04-Apr-2021  thorpej CFARG_SUBMATCH -> CFARG_SEARCH for the indirect configuration uses.
 1.27.52.3 03-Apr-2021  thorpej Give config_attach() the tagged variadic argument treatment and
mechanically convert all call sites.
 1.27.52.2 21-Mar-2021  thorpej CFARG_IATTR usage audit:

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

- Introduce a new cfarg_t enumerated type, that defines the types of
tag-value variadic arguments that can be passed to the various
config_*() functions (CFARG_SUBMATCH, CFARG_IATTR, and CFARG_LOCATORS,
for now, plus a CFARG_EOL sentinel).
- Collapse config_search_*() into config_search() that takes these
variadic arguments.
- Convert all call sites of config_search_*() to the new signature.
Noticed several incorrect usages along the way, which will be
audited in a future commit.
 1.28.8.1 04-Aug-2021  thorpej Adapt to CFARGS().
 1.59 26-Oct-2022  riastradh ddb/db_active.h: New home for extern db_active.

This can be included unconditionally, and db_active can then be
queried unconditionally; if DDB is not in the kernel, then db_active
is a constant zero. Reduces need for #include opt_ddb.h, #ifdef DDB.
 1.58 20-Nov-2020  thorpej malloc(9) -> kmem(9)
 1.57 10-Nov-2019  chs branches: 1.57.8;
in many device attach paths, allocate memory with M_WAITOK instead of M_NOWAIT
and remove code to handle failures that can no longer happen.
 1.56 21-Sep-2018  skrll Centralise defparam CONSADDR, CONSPEED, CONMODE and CONADDR into
opt_console.h and adjust.
 1.55 13-Apr-2015  riastradh branches: 1.55.16; 1.55.18;
MD rnd.h cleanups. Please let me know if I broke anything!
 1.54 15-Nov-2014  christos branches: 1.54.2;
centralize the call unit / dialout macros
 1.53 10-Aug-2014  tls Merge tls-earlyentropy branch into HEAD.
 1.52 25-Jul-2014  dholland Add d_discard to all struct cdevsw instances I could find.

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

I have not built every extant kernel so I have probably broken at
least one build; however I've also found and fixed some wrong
cdevsw/bdevsw entries so even if so I think we come out ahead.
 1.50 02-Feb-2012  tls branches: 1.50.6; 1.50.10;
Entropy-pool implementation move and cleanup.

1) Move core entropy-pool code and source/sink/sample management code
to sys/kern from sys/dev.

2) Remove use of NRND as test for presence of entropy-pool code throughout
source tree.

3) Remove use of RND_ENABLED in device drivers as microoptimization to
avoid expensive operations on disabled entropy sources; make the
rnd_add calls do this directly so all callers benefit.

4) Fix bug in recent rnd_add_data()/rnd_add_uint32() changes that might
have lead to slight entropy overestimation for some sources.

5) Add new source types for environmental sensors, power sensors, VM
system events, and skew between clocks, with a sample implementation
for each.

ok releng to go in before the branch due to the difficulty of later
pullup (widespread #ifdef removal and moved files). Tested with release
builds on amd64 and evbarm and live testing on amd64.
 1.49 01-Jul-2011  dyoung branches: 1.49.2; 1.49.6;
#include <sys/bus.h> instead of <machine/bus.h>.
 1.48 24-Apr-2011  rmind Rename ttymalloc() to tty_alloc(), and ttyfree() to tty_free() for
consistency. Remove some unnecessary malloc.h inclusions as well.
 1.47 19-Aug-2010  tsutsui branches: 1.47.2;
Fix device_t/softc split botches. PR port-hpcarm/43780
 1.46 06-Dec-2009  dyoung branches: 1.46.2; 1.46.4;
Simplify the device-activation hook. Move some of the device
deactivation to the detachment routine, where it belongs.
 1.45 29-May-2009  rjs Make the following changes:

struct device * -> device_t
struct cfdata * -> cfdata_t
printf -> aprint_
device_t/softc split
 1.44 11-Jun-2008  cegger use device_lookup_private to get softc
 1.43 28-Apr-2008  martin branches: 1.43.2; 1.43.4;
Remove clause 3 and 4 from TNF licenses
 1.42 27-Dec-2007  rjs branches: 1.42.6; 1.42.8; 1.42.10;
Change to new softint API.
 1.41 19-Nov-2007  ad branches: 1.41.6;
- Factor out too many copies of the same bit of tty code.
- Fix another tty signalling/wakeup problem.
 1.40 17-Oct-2007  garbled branches: 1.40.2;
Merge the ppcoea-renovation branch to HEAD.

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

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

NOTES:
pmppc was removed as an arch, and moved to a evbppc target.
 1.39 14-Jul-2007  ad branches: 1.39.6; 1.39.8; 1.39.10; 1.39.12; 1.39.16;
Generic soft interrupts are mandatory.
 1.38 04-Mar-2007  christos branches: 1.38.2; 1.38.10;
Kill caddr_t; there will be some MI fallout, but it will be fixed shortly.
 1.37 01-Oct-2006  elad branches: 1.37.4;
More from Matt Fleming:

Adapt to KAUTH_DEVICE_TTY_PRIVSET and KAUTH_DEVICE_TTY_OPEN.
 1.36 01-Oct-2006  elad Adapt MD code to KAUTH_DEVICE_TTY_OPEN. Patch from Matt Fleming, thanks!
 1.35 23-Jul-2006  ad branches: 1.35.4; 1.35.6;
Use the LWP cached credentials where sane.
 1.34 27-Jun-2006  peter KNF. Correct some spelling errors.
 1.33 27-Jun-2006  peter Use symbolic constants for the UART register locations.
Consistently write "SA-11x0".
 1.32 14-May-2006  elad branches: 1.32.4;
integrate kauth.
 1.31 11-Apr-2006  peter Implement pmap_devmap on hpcarm to map I/O registers that are used
in early start-up stage. Change the virtual address for UART #3 to
the physical address in the configuration files.
While here, implement the sa11x0_bs_unmap function.

Reviewed by Toru Nishimura (on port-arm).
 1.30 26-Mar-2006  thorpej Use device_unit().
 1.29 06-Mar-2006  christos branches: 1.29.2; 1.29.4;
PR/33014: arnaud degroote: remove SET/ISSET/CLR defines
 1.28 04-Mar-2006  peter branches: 1.28.2;
Use ANSI function decls.
 1.27 04-Mar-2006  peter Match all Jornada 7xx models.
 1.26 20-Feb-2006  thorpej Use device_is_active() rather than testing dv_flags for DVF_ACTIVE
directly.
 1.25 27-Dec-2005  yamt branches: 1.25.2; 1.25.4; 1.25.6;
sacom_attach_subr: don't try to initialize a lock which doesn't exist.
 1.24 27-Dec-2005  chs remove the COM_MPLOCK option. always include the spinlock in the softc
and always call the simple_* locking functions. the locking functions
are compiled out if they are not needed anyway, so a separate option
for this doesn't gain anything.

this also fixes the serial console on my alpha ES40 (which doesn't make much
sense since the com driver should still be under the big lock on alpha,
but whatever).
 1.23 11-Dec-2005  christos merge ktrace-lwp.
 1.22 23-Oct-2005  peter Make this compile when DEBUG is defined.
 1.21 06-Sep-2005  kleink branches: 1.21.2;
Change the driver open function's conditional for overriding exclusive tty
use from checking the proc's uid to suser(9), and account for the use of
privileges. Noted by David Holland in PR kern/31126.
 1.20 02-Jun-2005  uwe branches: 1.20.2;
Drop parameter names from prototype to avoid shadowing warnings.
 1.19 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.18 15-Jul-2003  lukem __KERNEL_RCSID()
 1.17 29-Jun-2003  fvdl branches: 1.17.2;
Back out the lwp/ktrace changes. They contained a lot of colateral damage,
and need to be examined and discussed more.
 1.16 29-Jun-2003  ichiro struct proc * -> struct lwp *
 1.15 23-Jun-2003  martin Make sure to include opt_foo.h if a defflag option FOO is used.
 1.14 07-Mar-2003  rjs Add NULL cn_halt and cn_flush entries to consdev.
 1.13 04-Nov-2002  itohy Dump DDB_* and SYMTAB_SPACE options to opt_ddbparam.h rather than opt_ddb.h.
These options are used in limited files but #include "opt_ddb.h" are
everywhere, and changing them caused almost full recompilation.
 1.12 23-Oct-2002  jdolecek merge kqueue branch into -current

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

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

based on work done by Jonathan Lemon for FreeBSD
initial NetBSD port done by Luke Mewburn and Jason Thorpe
 1.11 05-Oct-2002  chs branches: 1.11.2;
add missing protos.
 1.10 02-Oct-2002  thorpej Use CFATTACH_DECL().
 1.9 27-Sep-2002  thorpej Declare all cfattach structures const.
 1.8 27-Sep-2002  provos remove trailing \n in panic(). approved perry.
 1.7 06-Sep-2002  gehenna Merge the gehenna-devsw branch into the trunk.

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

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

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

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

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

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

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

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

- In compile time, device major numbers list is packed into the kernel and
the LKM framework will refer it to assign device major number dynamically.
 1.6 02-Sep-2002  manu When the serial port was not checked in hpcboot on hpcarm, writing to
/dev/ttyS0 crashed the kernel. This is because sacom_filltx uses some
uninitialized static variables. Pulling the salues from softc instead
fixes the problem (this is what was done before the drver was moved
from /sys/arch/hpcarm to /sys/arch/arm, anyway).
 1.5 19-Jul-2002  ichiro make compile
 1.4 19-Jul-2002  ichiro sync to hpcarm/sa11x0

later, remove hpcarm/sa11x0
 1.3 17-Mar-2002  atatat branches: 1.3.4;
Convert ioctl code to use EPASSTHROUGH instead of -1 or ENOTTY for
indicating an unhandled "command". ERESTART is -1, which can lead to
confusion. ERESTART has been moved to -3 and EPASSTHROUGH has been
placed at -4. No ioctl code should now return -1 anywhere. The
ioctl() system call is now properly restartable.
 1.2 20-Nov-2001  lukem - pull in opt_kgdb.h where necessary
- replace opt_kgdb_machdep.h with opt_kgdb.h
- defparam opt_kgdb.h:
KGDB_DEV KGDB_DEVNAME KGDB_DEVADDR KGDB_DEVRATE KGDB_DEVMODE
- move from opt_ddbparam.h to opt_ddb.h:
DDB_FROMCONSOLE DDB_ONPANIC DDB_HISTORY_SIZE DDB_BREAK_CHAR SYMTAB_SPACE
- replace KGDBDEV with KGDB_DEV
- replace KGDBADDR with KGDB_DEVADDR
- replace KGDBMODE with KGDB_DEVMODE
- replace KGDBRATE with KGDB_DEVRATE
- use `9600' instead of `0x2580' for 9600 baud rate
- use correct quotes for options KGDB_DEVNAME="\"com\""
- use correct quotes for options KGDB_DEV="17*256+0"
- remove unnecessary dependancy on Makefile for kgdb_stub.o
- minor whitespace cleanup
 1.1 08-Jul-2001  rjs branches: 1.1.2; 1.1.4; 1.1.8;
Initial copy of SA11x0 support from hpcarm.
 1.1.8.7 11-Nov-2002  nathanw Catch up to -current
 1.1.8.6 18-Oct-2002  nathanw Catch up to -current.
 1.1.8.5 17-Sep-2002  nathanw Catch up to -current.
 1.1.8.4 01-Aug-2002  nathanw Catch up to -current.
 1.1.8.3 01-Apr-2002  nathanw Catch up to -current.
(CVS: It's not just a program. It's an adventure!)
 1.1.8.2 08-Jan-2002  nathanw Catch up to -current.
 1.1.8.1 08-Jul-2001  nathanw file sa11x0_com.c was added on branch nathanw_sa on 2002-01-08 00:23:18 +0000
 1.1.4.2 13-Oct-2001  fvdl Revert the t_dev -> t_devvp change in struct tty. The way that tty
structs are currently used (especially by console ttys) aren't
ready for it, and this will require quite a few changes.
 1.1.4.1 10-Oct-2001  fvdl Convert all remaining devices.
 1.1.2.4 10-Oct-2002  jdolecek sync kqueue with -current; this includes merge of gehenna-devsw branch,
merge of i386 MP branch, and part of autoconf rototil work
 1.1.2.3 06-Sep-2002  jdolecek sync kqueue branch with HEAD
 1.1.2.2 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.1.2.1 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.3.4.2 21-Jul-2002  gehenna catch up with -current.
 1.3.4.1 19-May-2002  gehenna Add device switch.
Replace the access to devsw table and the hard-coded majors with devsw API.
 1.11.2.1 24-Oct-2002  bjh21 Sync with trunk.
 1.17.2.5 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.17.2.4 24-Jan-2005  skrll Adapt to branch.
 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.20.2.5 21-Jan-2008  yamt sync with head
 1.20.2.4 07-Dec-2007  yamt sync with head
 1.20.2.3 03-Sep-2007  yamt sync with head.
 1.20.2.2 30-Dec-2006  yamt sync with head.
 1.20.2.1 21-Jun-2006  yamt sync with head.
 1.21.2.1 26-Oct-2005  yamt sync with head
 1.25.6.2 01-Jun-2006  kardel Sync with head.
 1.25.6.1 22-Apr-2006  simonb Sync with head.
 1.25.4.1 09-Sep-2006  rpaulo sync with head
 1.25.2.1 01-Mar-2006  yamt sync with head.
 1.28.2.4 11-Aug-2006  yamt sync with head
 1.28.2.3 24-May-2006  yamt sync with head.
 1.28.2.2 01-Apr-2006  yamt sync with head.
 1.28.2.1 13-Mar-2006  yamt sync with head.
 1.29.4.2 24-May-2006  tron Merge 2006-05-24 NetBSD-current into the "peter-altq" branch.
 1.29.4.1 28-Mar-2006  tron Merge 2006-03-28 NetBSD-current into the "peter-altq" branch.
 1.29.2.4 13-May-2006  elad sprinkle some #include <sys/kauth.h> in files that use kauth kpi but
don't include it yet. hopefully this will prevent some fallout.
 1.29.2.3 19-Apr-2006  elad sync with head - hopefully this will work
 1.29.2.2 10-Mar-2006  elad generic_authorize() -> kauth_authorize_generic().
 1.29.2.1 08-Mar-2006  elad Adapt to kernel authorization KPI.

I expect *some* lossage here...
 1.32.4.1 13-Jul-2006  gdamore Merge from HEAD.
 1.35.6.1 22-Oct-2006  yamt sync with head
 1.35.4.1 18-Nov-2006  ad Sync with head.
 1.37.4.1 12-Mar-2007  rmind Sync with HEAD.
 1.38.10.1 03-Oct-2007  garbled Sync with HEAD
 1.38.2.2 03-Dec-2007  ad Sync with HEAD.
 1.38.2.1 15-Jul-2007  ad Sync with head.
 1.39.16.1 21-Nov-2007  bouyer Sync with HEAD
 1.39.12.2 09-Jan-2008  matt sync with HEAD
 1.39.12.1 06-Nov-2007  matt sync with HEAD
 1.39.10.1 01-Jan-2008  chris Sync with HEAD.
 1.39.8.1 21-Nov-2007  joerg Sync with HEAD.
 1.39.6.3 28-Feb-2008  rjs Sync with HEAD.
 1.39.6.2 26-Dec-2007  rjs Sync with HEAD.
 1.39.6.1 06-Oct-2007  rjs Switch to new interrupt code.
 1.40.2.2 18-Feb-2008  mjf Sync with HEAD.
 1.40.2.1 08-Dec-2007  mjf Sync with HEAD.
 1.41.6.1 02-Jan-2008  bouyer Sync with HEAD
 1.42.10.5 09-Oct-2010  yamt sync with head
 1.42.10.4 11-Mar-2010  yamt sync with head
 1.42.10.3 20-Jun-2009  yamt sync with head
 1.42.10.2 04-May-2009  yamt sync with head.
 1.42.10.1 16-May-2008  yamt sync with head.
 1.42.8.2 17-Jun-2008  yamt sync with head.
 1.42.8.1 18-May-2008  yamt sync with head.
 1.42.6.2 29-Jun-2008  mjf Sync with HEAD.
 1.42.6.1 02-Jun-2008  mjf Sync with HEAD.
 1.43.4.1 18-Jun-2008  simonb Sync with head.
 1.43.2.1 23-Jun-2008  wrstuden Sync w/ -current. 34 merge conflicts to follow.
 1.46.4.2 31-May-2011  rmind sync with head
 1.46.4.1 05-Mar-2011  rmind sync with head
 1.46.2.1 22-Oct-2010  uebayasi Sync with HEAD (-D20101022).
 1.47.2.1 06-Jun-2011  jruoho Sync with HEAD.
 1.49.6.1 18-Feb-2012  mrg merge to -current.
 1.49.2.2 22-May-2014  yamt sync with head.

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

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.49.2.1 17-Apr-2012  yamt sync with head
 1.50.10.1 18-May-2014  rmind sync with head
 1.50.6.2 03-Dec-2017  jdolecek update from HEAD
 1.50.6.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.51.2.2 10-Aug-2014  tls Rebase.
 1.51.2.1 07-Apr-2014  tls Be a little more clear and consistent about harvesting entropy from devices:

1) deprecate RND_FLAG_NO_ESTIMATE

2) define RND_FLAG_COLLECT_TIME, RND_FLAG_COLLECT_VALUE

3) define RND_FLAG_ESTIMATE_TIME, RND_FLAG_ESTIMATE_VALUE

4) define RND_FLAG_DEFAULT: RND_FLAG_COLLECT_TIME|
RND_FLAG_COLLECT_VALUE|RND_FLAG_ESTIMATE_TIME

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

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

7) 0 -> RND_FLAG_DEFAULT, actually gather entropy from various drivers
that had stubbed out code, other minor cleanups.
 1.54.2.1 06-Jun-2015  skrll Sync with HEAD
 1.55.18.2 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.55.18.1 10-Jun-2019  christos Sync with HEAD
 1.55.16.1 30-Sep-2018  pgoyette Ssync with HEAD
 1.57.8.1 14-Dec-2020  thorpej Sync w/ HEAD.
 1.3 28-Apr-2008  martin Remove clause 3 and 4 from TNF licenses
 1.2 11-Apr-2006  peter branches: 1.2.64; 1.2.66; 1.2.68;
Change disclaimer: "THE NETBSD FOUNDATION", not "REGENTS".
 1.1 08-Jul-2001  rjs branches: 1.1.8; 1.1.42; 1.1.56; 1.1.58; 1.1.60; 1.1.62; 1.1.64;
Initial copy of SA11x0 support from hpcarm.
 1.1.64.1 24-May-2006  tron Merge 2006-05-24 NetBSD-current into the "peter-altq" branch.
 1.1.62.1 19-Apr-2006  elad sync with head - hopefully this will work
 1.1.60.1 24-May-2006  yamt sync with head.
 1.1.58.1 22-Apr-2006  simonb Sync with head.
 1.1.56.1 09-Sep-2006  rpaulo sync with head
 1.1.42.1 21-Jun-2006  yamt sync with head.
 1.1.8.2 08-Jul-2001  rjs Initial copy of SA11x0 support from hpcarm.
 1.1.8.1 08-Jul-2001  rjs file sa11x0_comreg.h was added on branch nathanw_sa on 2001-07-08 23:37:54 +0000
 1.2.68.1 16-May-2008  yamt sync with head.
 1.2.66.1 18-May-2008  yamt sync with head.
 1.2.64.1 02-Jun-2008  mjf Sync with HEAD.
 1.6 29-May-2009  rjs Make the following changes:

struct device * -> device_t
struct cfdata * -> cfdata_t
printf -> aprint_
device_t/softc split
 1.5 28-Apr-2008  martin Remove clause 3 and 4 from TNF licenses
 1.4 17-Oct-2007  garbled branches: 1.4.16; 1.4.18; 1.4.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.3 14-Jul-2007  ad branches: 1.3.10; 1.3.12;
Generic soft interrupts are mandatory.
 1.2 11-Apr-2006  peter branches: 1.2.18; 1.2.26;
Change disclaimer: "THE NETBSD FOUNDATION", not "REGENTS".
 1.1 08-Jul-2001  rjs branches: 1.1.8; 1.1.42; 1.1.56; 1.1.58; 1.1.60; 1.1.62; 1.1.64;
Initial copy of SA11x0 support from hpcarm.
 1.1.64.1 24-May-2006  tron Merge 2006-05-24 NetBSD-current into the "peter-altq" branch.
 1.1.62.1 19-Apr-2006  elad sync with head - hopefully this will work
 1.1.60.1 24-May-2006  yamt sync with head.
 1.1.58.1 22-Apr-2006  simonb Sync with head.
 1.1.56.1 09-Sep-2006  rpaulo sync with head
 1.1.42.2 03-Sep-2007  yamt sync with head.
 1.1.42.1 21-Jun-2006  yamt sync with head.
 1.1.8.2 08-Jul-2001  rjs Initial copy of SA11x0 support from hpcarm.
 1.1.8.1 08-Jul-2001  rjs file sa11x0_comvar.h was added on branch nathanw_sa on 2001-07-08 23:37:54 +0000
 1.2.26.1 03-Oct-2007  garbled Sync with HEAD
 1.2.18.1 15-Jul-2007  ad Sync with head.
 1.3.12.1 06-Nov-2007  matt sync with HEAD
 1.3.10.1 01-Jan-2008  chris Sync with HEAD.
 1.4.20.2 20-Jun-2009  yamt sync with head
 1.4.20.1 16-May-2008  yamt sync with head.
 1.4.18.1 18-May-2008  yamt sync with head.
 1.4.16.1 02-Jun-2008  mjf Sync with HEAD.
 1.3 28-Apr-2008  martin Remove clause 3 and 4 from TNF licenses
 1.2 11-Apr-2006  peter branches: 1.2.64; 1.2.66; 1.2.68;
Change disclaimer: "THE NETBSD FOUNDATION", not "REGENTS".
 1.1 08-Jul-2001  rjs branches: 1.1.8; 1.1.42; 1.1.56; 1.1.58; 1.1.60; 1.1.62; 1.1.64;
Initial copy of SA11x0 support from hpcarm.
 1.1.64.1 24-May-2006  tron Merge 2006-05-24 NetBSD-current into the "peter-altq" branch.
 1.1.62.1 19-Apr-2006  elad sync with head - hopefully this will work
 1.1.60.1 24-May-2006  yamt sync with head.
 1.1.58.1 22-Apr-2006  simonb Sync with head.
 1.1.56.1 09-Sep-2006  rpaulo sync with head
 1.1.42.1 21-Jun-2006  yamt sync with head.
 1.1.8.2 08-Jul-2001  rjs Initial copy of SA11x0 support from hpcarm.
 1.1.8.1 08-Jul-2001  rjs file sa11x0_dmacreg.h was added on branch nathanw_sa on 2001-07-08 23:37:54 +0000
 1.2.68.1 16-May-2008  yamt sync with head.
 1.2.66.1 18-May-2008  yamt sync with head.
 1.2.64.1 02-Jun-2008  mjf Sync with HEAD.
 1.4 29-May-2009  rjs Add some definitions for alternative GPIO assignments.
 1.3 28-Apr-2008  martin Remove clause 3 and 4 from TNF licenses
 1.2 30-Jul-2001  rjs branches: 1.2.6; 1.2.128; 1.2.130; 1.2.132;
Update from hpcarm to remove iPAQ and Jornada specific #defines.
 1.1 08-Jul-2001  rjs branches: 1.1.2;
Initial copy of SA11x0 support from hpcarm.
 1.1.2.1 03-Aug-2001  lukem update to -current
 1.2.132.2 20-Jun-2009  yamt sync with head
 1.2.132.1 16-May-2008  yamt sync with head.
 1.2.130.1 18-May-2008  yamt sync with head.
 1.2.128.1 02-Jun-2008  mjf Sync with HEAD.
 1.2.6.2 30-Jul-2001  rjs Update from hpcarm to remove iPAQ and Jornada specific #defines.
 1.2.6.1 30-Jul-2001  rjs file sa11x0_gpioreg.h was added on branch nathanw_sa on 2001-07-30 15:58:57 +0000
 1.1 31-Jul-2007  rjs branches: 1.1.2;
file sa11x0_intr.c was initially added on branch hpcarm-cleanup.
 1.1.2.3 26-Dec-2007  rjs Sync with HEAD.
 1.1.2.2 05-Oct-2007  rjs Typo in comment.
 1.1.2.1 31-Jul-2007  rjs Add new interrupt handler code for SA11x0.

Based on a the PXA2x0 equivalent with some ideas from evbppc.
 1.1 31-Jul-2007  rjs branches: 1.1.2;
file sa11x0_intr.h was initially added on branch hpcarm-cleanup.
 1.1.2.1 31-Jul-2007  rjs Add new interrupt handler code for SA11x0.

Based on a the PXA2x0 equivalent with some ideas from evbppc.
 1.22 21-Apr-2023  skrll Trailing whitespace
 1.21 16-Mar-2018  ryo use designated initializer to make adaptability and flexibility for changing struct bus_space.
no functional change.
 1.20 22-Feb-2014  matt branches: 1.20.28;
Don't manipulate the pte to get uncached memory, use PMAP_NOCACHE instead.
Convert footbring to kenter_pa/kremove
 1.19 01-Jul-2011  dyoung branches: 1.19.2; 1.19.12; 1.19.16;
#include <sys/bus.h> instead of <machine/bus.h>.
 1.18 07-Nov-2009  cegger Add a flags argument to pmap_kenter_pa(9).
Patch showed on tech-kern@ http://mail-index.netbsd.org/tech-kern/2009/11/04/msg006434.html
No objections.
 1.17 27-Jun-2006  peter branches: 1.17.64;
KNF. Correct some spelling errors.
 1.16 11-Apr-2006  peter branches: 1.16.4;
Implement pmap_devmap on hpcarm to map I/O registers that are used
in early start-up stage. Change the virtual address for UART #3 to
the physical address in the configuration files.
While here, implement the sa11x0_bs_unmap function.

Reviewed by Toru Nishimura (on port-arm).
 1.15 04-Mar-2006  peter branches: 1.15.2; 1.15.4; 1.15.6;
Use ANSI function decls.
 1.14 24-Nov-2005  yamt branches: 1.14.4; 1.14.6;
bus_dmamem_map: honour BUS_DMA_NOWAIT. noted by Manuel Bouyer.
bus_space_map: always do NOWAIT allocation as it used to be before yamt-km.

we have too many copies!
 1.13 01-Apr-2005  yamt branches: 1.13.2; 1.13.8;
merge yamt-km branch.
- don't use managed mappings/backing objects for wired memory allocations.
save some resources like pv_entry. also fix (most of) PR/27030.
- simplify kernel memory management API.
- simplify pmap bootstrap of some ports.
- some related cleanups.
 1.12 15-Jul-2003  lukem branches: 1.12.8; 1.12.10;
__KERNEL_RCSID()
 1.11 06-Apr-2003  rjs branches: 1.11.2;
Add bs_mmap and make hack in bs_mmap conditional on hpcarm.
 1.10 27-Sep-2002  provos remove trailing \n in panic(). approved perry.
 1.9 22-Aug-2002  thorpej * Add PTE_SYNC() and PTE_SYNC_RANGE() macros. These don't actually do
anything yet.
* Use PTE_SYNC() and PTE_SYNC_RANGE() in some obvious places, i.e.
where vtopte() is used.
 1.8 03-May-2002  thorpej branches: 1.8.2;
Update for recent changes to the ARM pmap. From Hiroyuki Bessho,
PR 16617.
 1.7 24-Mar-2002  thorpej Use vtopte() instead of pmap_pte().
 1.6 23-Mar-2002  thorpej KERNEL_SPACE_START -> KERNEL_BASE
 1.5 23-Nov-2001  thorpej No need to pull in <machine/pte.h> directly.
 1.4 12-Sep-2001  rjs branches: 1.4.4;
Add bs_notimpl_bs_mmap to bus space struct.
 1.3 10-Sep-2001  chris Update pmap_update to now take the updated pmap as an argument.
This will allow improvements to the pmaps so that they can more easily defer expensive operations, eg tlb/cache flush, til the last possible moment.

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

Reviewed by Jason.
 1.2 28-Jul-2001  chris branches: 1.2.2;
A couple of tidy ups to pmap:
pmap_t -> struct pmap * in pmap.c and pmap.h
kernel_pmap -> pmap_kernel() everywhere.

Compiled and booted on riscpc and cats.
 1.1 08-Jul-2001  rjs branches: 1.1.2;
Initial copy of SA11x0 support from hpcarm.
 1.1.2.6 10-Oct-2002  jdolecek sync kqueue with -current; this includes merge of gehenna-devsw branch,
merge of i386 MP branch, and part of autoconf rototil work
 1.1.2.5 06-Sep-2002  jdolecek sync kqueue branch with HEAD
 1.1.2.4 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.1.2.3 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.1.2.2 13-Sep-2001  thorpej Update the kqueue branch to HEAD.
 1.1.2.1 03-Aug-2001  lukem update to -current
 1.2.2.1 01-Oct-2001  fvdl Catch up with -current.
 1.4.4.6 18-Oct-2002  nathanw Catch up to -current.
 1.4.4.5 27-Aug-2002  thorpej Sync with -current.
 1.4.4.4 20-Jun-2002  nathanw Catch up to -current.
 1.4.4.3 01-Apr-2002  nathanw Catch up to -current.
(CVS: It's not just a program. It's an adventure!)
 1.4.4.2 08-Jan-2002  nathanw Catch up to -current.
 1.4.4.1 12-Sep-2001  nathanw file sa11x0_io.c was added on branch nathanw_sa on 2002-01-08 00:23:18 +0000
 1.8.2.1 30-Aug-2002  gehenna catch up with -current.
 1.11.2.5 11-Dec-2005  christos Sync with head.
 1.11.2.4 01-Apr-2005  skrll Sync with HEAD.
 1.11.2.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.11.2.2 18-Sep-2004  skrll Sync with HEAD.
 1.11.2.1 03-Aug-2004  skrll Sync with HEAD
 1.12.10.1 28-Jan-2005  yamt convert arch/arm to new apis.
 1.12.8.1 29-Apr-2005  kent sync with -current
 1.13.8.1 29-Nov-2005  yamt sync with head.
 1.13.2.2 30-Dec-2006  yamt sync with head.
 1.13.2.1 21-Jun-2006  yamt sync with head.
 1.14.6.1 22-Apr-2006  simonb Sync with head.
 1.14.4.1 09-Sep-2006  rpaulo sync with head
 1.15.6.1 24-May-2006  tron Merge 2006-05-24 NetBSD-current into the "peter-altq" branch.
 1.15.4.1 19-Apr-2006  elad sync with head - hopefully this will work
 1.15.2.2 11-Aug-2006  yamt sync with head
 1.15.2.1 24-May-2006  yamt sync with head.
 1.16.4.1 13-Jul-2006  gdamore Merge from HEAD.
 1.17.64.1 11-Mar-2010  yamt sync with head
 1.19.16.1 18-May-2014  rmind sync with head
 1.19.12.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.19.2.1 22-May-2014  yamt sync with head.

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

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.20.28.1 22-Mar-2018  pgoyette Synch with HEAD, resolve conflicts
 1.4 27-Jun-2006  peter KNF. Correct some spelling errors.
 1.3 11-Dec-2005  christos branches: 1.3.4; 1.3.8; 1.3.16;
merge ktrace-lwp.
 1.2 23-Oct-2005  peter Fix some typos.
 1.1 08-Jul-2001  rjs branches: 1.1.8; 1.1.26; 1.1.42; 1.1.44;
Initial copy of SA11x0 support from hpcarm.
 1.1.44.1 26-Oct-2005  yamt sync with head
 1.1.42.2 30-Dec-2006  yamt sync with head.
 1.1.42.1 21-Jun-2006  yamt sync with head.
 1.1.26.1 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.1.8.2 08-Jul-2001  rjs Initial copy of SA11x0 support from hpcarm.
 1.1.8.1 08-Jul-2001  rjs file sa11x0_io_asm.S was added on branch nathanw_sa on 2001-07-08 23:37:54 +0000
 1.3.16.1 13-Jul-2006  gdamore Merge from HEAD.
 1.3.8.1 11-Aug-2006  yamt sync with head
 1.3.4.1 09-Sep-2006  rpaulo sync with head
 1.21 08-Nov-2021  rin irq_entry(): Do not clobber fp (= r11), in order not to confuse DDB.

Use r10 instead; no need to preserve saipic_base, previous content of
r10, throughout this function, except for the case of INTR_DEBUG.

For INTR_DEBUG, load saipic_base to scratch register every time it
becomes necessary. This is no performance penalty compared with
subsequent printf() calls.

XXX
Rewrite this function by C. There seems no particular reason to
use assembler, and no major performance regression is expected.
 1.20 21-Nov-2020  skrll Adjust egister usage so that r4 and r5 are preserved as cur{cpu,lwp}
respectively as required by the change to make ASTs operate per-LWP
rather than per-CPU. DO_AST_AND_RESTORE_ALIGNMENT_FAULTS expects this.

Remove the call to dosoftints while I'm here as it's dont in DO_AST...

XXX untested
 1.19 21-Nov-2020  skrll Trailing whitespace
 1.18 02-Dec-2013  joerg branches: 1.18.42;
Don't use cpsr_all/spsr_all with mrs, it doesn't take a mask.
 1.17 18-Aug-2013  matt Move parts of cpu.h that are not needed by MI code in <arm/locore.h>
Don't include <machine/cpu.h> or <machine/frame.h>, use <arm/locore.h>
Use <arm/asm.h> instead of <machine/arm.h>
 1.16 29-Aug-2012  matt branches: 1.16.2; 1.16.4;
Avoid using r7 (which is being reserved for a different purpose).
 1.15 20-Dec-2010  matt branches: 1.15.8;
Move counting of faults, traps, intrs, soft[intr]s, syscalls, and nswtch
from uvmexp to per-cpu cpu_data and move them to 64bits. Remove unneeded
includes of <uvm/uvm_extern.h> and/or <uvm/uvm.h>.
 1.14 13-Jun-2008  rafal branches: 1.14.18;
Let hpcarm kernels boot again after the merge of the armv6 branch. Fixes
PR port-hpcarm/38591

XXX: There is still a hard hang that I've seen on both shark and hpcarm in
the process exit path; I don't know much beyond that yet.
 1.13 27-Apr-2008  matt branches: 1.13.2; 1.13.4;
Merge kernel changes in matt-armv6 to HEAD.
 1.12 08-Jan-2008  matt branches: 1.12.6; 1.12.8; 1.12.10;
As of this commit, all arm32 kernel now build.
 1.11 06-Jan-2008  matt Truly kill current_intr_depth once and for all.
 1.10 09-Mar-2007  thorpej branches: 1.10.8; 1.10.16; 1.10.20; 1.10.22; 1.10.28; 1.10.34;
Rewrite the ARM mutex implementation to be of the simple-mutex variety.
Because pre-v6 ARM lacks support for an atomic compare-and-swap, we
implement _lock_cas() as a restartable atomic squence that is checked
in the IRQ handler right before AST processing. (This is safe because,
for all practical purposes, there are no SMP pre-v6 ARM systems.)

This can serve as a model for other non-MP platforms that lack the
necessary atomic operations for mutexes (SuperH, for example).

Upshots of this change:
- kmutex_t is now down to 8 bytes on ARM; about as good as we can get.
- ARM2 systems don't have to trap and emulate SWP or SWPB for mutexes.

The acorn26 port is not updated by this commit to do the LOCK_CAS_CHECK.
That is left as an exercise for the port maintainer.

Reviewed and tested by Matt Thomas.
 1.9 05-Mar-2006  peter branches: 1.9.2; 1.9.20;
Prefix dbg_str with "L".
 1.8 11-Dec-2005  christos branches: 1.8.4; 1.8.6;
merge ktrace-lwp.
 1.7 23-Oct-2005  peter Fix some typos.
 1.6 05-Nov-2003  scw branches: 1.6.16; 1.6.18;
Enable/Restore alignment fault state on interrupt handler entry/exit.
 1.5 31-Mar-2003  chris branches: 1.5.2;
Fix for PR arm/17971. Used patch as provided

Compiled, but no hardware to test on.
 1.4 14-Oct-2002  bjh21 Continue the " - . - 8" purge. Specifically:

add rd, pc, #foo - . - 8 -> adr rd, foo
ldr rd, [pc, #foo - . - 8] -> ldr rd, foo

Also, when saving the return address for a function pointer call, use
"mov lr, pc" just before the call unless the return address is somewhere
other than just after the call site.

Finally, a few obvious little micro-optimisations like using LDR directly
rather than ADR followed by LDR, and loading directly into PC rather than
bouncing via R0.
 1.3 19-Jul-2002  ichiro change include path
 1.2 12-Apr-2002  thorpej branches: 1.2.2;
Centralize ARM CPU configuration information by adding a new header
file, <arm/cpuconf.h>, which pulls in "opt_cputypes.h" and then defines
the following:
* CPU_NTYPES -- now many CPU types are configured into the kernel. What
you really want to know is "== 1" or "> 1".
* Defines ARM_ARCH_2, ARM_ARCH_3, ARM_ARCH_4, ARM_ARCH_5, depending
on which ARM architecture versions are configured (based on CPU_*
options). Also defines ARM_NARCH to determins how many architecture
versions are configured.
* Defines ARM_MMU_MEMC, ARM_MMU_GENERIC, ARM_MMU_XSCALE depending on
which classes of ARM MMUs are configured into the kernel, and ARM_NMMUS
to determine how many MMU classes are configured.

Remove the needless inclusion of "opt_cputypes.h" in several places.
Convert remaining users to <arm/cpuconf.h>.
 1.1 08-Jul-2001  rjs branches: 1.1.2; 1.1.8;
Initial copy of SA11x0 support from hpcarm.
 1.1.8.4 18-Oct-2002  nathanw Catch up to -current.
 1.1.8.3 01-Aug-2002  nathanw Catch up to -current.
 1.1.8.2 17-Apr-2002  nathanw Catch up to -current.
 1.1.8.1 08-Jul-2001  nathanw file sa11x0_irq.S was added on branch nathanw_sa on 2002-04-17 00:02:35 +0000
 1.1.2.2 06-Sep-2002  jdolecek sync kqueue branch with HEAD
 1.1.2.1 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.2.2.1 21-Jul-2002  gehenna catch up with -current.
 1.5.2.4 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.5.2.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.5.2.2 18-Sep-2004  skrll Sync with HEAD.
 1.5.2.1 03-Aug-2004  skrll Sync with HEAD
 1.6.18.1 26-Oct-2005  yamt sync with head
 1.6.16.3 21-Jan-2008  yamt sync with head
 1.6.16.2 03-Sep-2007  yamt sync with head.
 1.6.16.1 21-Jun-2006  yamt sync with head.
 1.8.6.1 22-Apr-2006  simonb Sync with head.
 1.8.4.1 09-Sep-2006  rpaulo sync with head
 1.9.20.1 12-Mar-2007  rmind Sync with HEAD.
 1.9.2.2 05-Mar-2006  peter Prefix dbg_str with "L".
 1.9.2.1 05-Mar-2006  peter file sa11x0_irq.S was added on branch yamt-pdpolicy on 2006-03-05 11:30:59 +0000
 1.10.34.1 08-Jan-2008  bouyer Sync with HEAD
 1.10.28.1 18-Feb-2008  mjf Sync with HEAD.
 1.10.22.3 28-Jan-2008  matt Given the that there are only 4 IPLs (ignoring soft IPLs), a number of
cleanups can be done:
Remove _SPL_* aliases.
Don't store irqmasks in ci_cpl, just make it an ipl level.
Add fast softint switching support.
 1.10.22.2 09-Jan-2008  matt sync with HEAD
 1.10.22.1 09-Nov-2007  matt Make all the evbarm kernels build again. Fix lossage from rebase.
 1.10.20.1 20-Jan-2008  chris Sync to HEAD.
 1.10.16.1 28-Feb-2008  rjs Sync with HEAD.
 1.10.8.1 18-Apr-2007  thorpej Remove _lock_cas() in favor of atomic_cas_32().
 1.12.10.2 04-May-2009  yamt sync with head.
 1.12.10.1 16-May-2008  yamt sync with head.
 1.12.8.2 17-Jun-2008  yamt sync with head.
 1.12.8.1 18-May-2008  yamt sync with head.
 1.12.6.2 29-Jun-2008  mjf Sync with HEAD.
 1.12.6.1 02-Jun-2008  mjf Sync with HEAD.
 1.13.4.1 18-Jun-2008  simonb Sync with head.
 1.13.2.1 23-Jun-2008  wrstuden Sync w/ -current. 34 merge conflicts to follow.
 1.14.18.1 05-Mar-2011  rmind sync with head
 1.15.8.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.15.8.1 30-Oct-2012  yamt sync with head
 1.16.4.2 18-May-2014  rmind sync with head
 1.16.4.1 28-Aug-2013  rmind sync with head
 1.16.2.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.18.42.1 14-Dec-2020  thorpej Sync w/ HEAD.
 1.20 20-Nov-2020  thorpej malloc(9) -> kmem(9)
 1.19 10-Nov-2019  chs branches: 1.19.8;
in many device attach paths, allocate memory with M_WAITOK instead of M_NOWAIT
and remove code to handle failures that can no longer happen.
 1.18 01-Sep-2012  matt branches: 1.18.40;
Move things around for <arm/arm32/machdep.h>
 1.17 20-Dec-2010  matt branches: 1.17.8;
Move counting of faults, traps, intrs, soft[intr]s, syscalls, and nswtch
from uvmexp to per-cpu cpu_data and move them to 64bits. Remove unneeded
includes of <uvm/uvm_extern.h> and/or <uvm/uvm.h>.
 1.16 13-Jun-2008  rafal branches: 1.16.18;
Let hpcarm kernels boot again after the merge of the armv6 branch. Fixes
PR port-hpcarm/38591

XXX: There is still a hard hang that I've seen on both shark and hpcarm in
the process exit path; I don't know much beyond that yet.
 1.15 28-Apr-2008  martin branches: 1.15.2; 1.15.4;
Remove clause 3 and 4 from TNF licenses
 1.14 27-Apr-2008  matt Merge kernel changes in matt-armv6 to HEAD.
 1.13 06-Jan-2008  matt branches: 1.13.6; 1.13.8; 1.13.10;
Truly kill current_intr_depth once and for all.
 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 13-Aug-2007  tsutsui branches: 1.11.2;
Remove all references to spl_mask. Now it isn't used by any sources.
Discussed on port-arm.
 1.10 27-Jun-2006  peter branches: 1.10.14; 1.10.22; 1.10.28; 1.10.30; 1.10.32; 1.10.34;
KNF. Correct some spelling errors.
 1.9 11-May-2006  yamt branches: 1.9.4;
remove irqblock[] as no one uses it. reviewed by Ben Harris.
 1.8 05-Mar-2006  peter branches: 1.8.2; 1.8.4; 1.8.6;
Dump IRQ handlers only when INTR_DEBUG is defined, it's to verbose for DEBUG.
 1.7 04-Mar-2006  peter Use ANSI function decls.
 1.6 11-Dec-2005  christos branches: 1.6.4; 1.6.6;
merge ktrace-lwp.
 1.5 07-Aug-2003  agc branches: 1.5.16;
Move UCB-licensed code from 4-clause to 3-clause licence.

Patches provided by Joel Baker in PR 22364, verified by myself.
 1.4 15-Jul-2003  lukem __KERNEL_RCSID()
 1.3 05-Oct-2002  chs branches: 1.3.8;
add missing protos.
 1.2 12-Apr-2002  thorpej Centralize ARM CPU configuration information by adding a new header
file, <arm/cpuconf.h>, which pulls in "opt_cputypes.h" and then defines
the following:
* CPU_NTYPES -- now many CPU types are configured into the kernel. What
you really want to know is "== 1" or "> 1".
* Defines ARM_ARCH_2, ARM_ARCH_3, ARM_ARCH_4, ARM_ARCH_5, depending
on which ARM architecture versions are configured (based on CPU_*
options). Also defines ARM_NARCH to determins how many architecture
versions are configured.
* Defines ARM_MMU_MEMC, ARM_MMU_GENERIC, ARM_MMU_XSCALE depending on
which classes of ARM MMUs are configured into the kernel, and ARM_NMMUS
to determine how many MMU classes are configured.

Remove the needless inclusion of "opt_cputypes.h" in several places.
Convert remaining users to <arm/cpuconf.h>.
 1.1 08-Jul-2001  rjs branches: 1.1.2; 1.1.8;
Initial copy of SA11x0 support from hpcarm.
 1.1.8.3 18-Oct-2002  nathanw Catch up to -current.
 1.1.8.2 17-Apr-2002  nathanw Catch up to -current.
 1.1.8.1 08-Jul-2001  nathanw file sa11x0_irqhandler.c was added on branch nathanw_sa on 2002-04-17 00:02:35 +0000
 1.1.2.1 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.3.8.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.3.8.2 18-Sep-2004  skrll Sync with HEAD.
 1.3.8.1 03-Aug-2004  skrll Sync with HEAD
 1.5.16.4 21-Jan-2008  yamt sync with head
 1.5.16.3 03-Sep-2007  yamt sync with head.
 1.5.16.2 30-Dec-2006  yamt sync with head.
 1.5.16.1 21-Jun-2006  yamt sync with head.
 1.6.6.2 01-Jun-2006  kardel Sync with head.
 1.6.6.1 22-Apr-2006  simonb Sync with head.
 1.6.4.1 09-Sep-2006  rpaulo sync with head
 1.8.6.1 24-May-2006  tron Merge 2006-05-24 NetBSD-current into the "peter-altq" branch.
 1.8.4.1 11-May-2006  elad sync with head
 1.8.2.3 11-Aug-2006  yamt sync with head
 1.8.2.2 24-May-2006  yamt sync with head.
 1.8.2.1 05-Mar-2006  yamt file sa11x0_irqhandler.c was added on branch yamt-pdpolicy on 2006-05-24 10:56:35 +0000
 1.9.4.1 13-Jul-2006  gdamore Merge from HEAD.
 1.10.34.3 20-Jan-2008  chris Sync to HEAD.
 1.10.34.2 01-Jan-2008  chris Sync with HEAD.
 1.10.34.1 18-Aug-2007  chris Sync with HEAD
 1.10.32.1 16-Aug-2007  jmcneill Sync with HEAD.
 1.10.30.2 28-Feb-2008  rjs Sync with HEAD.
 1.10.30.1 01-Nov-2007  rjs Sync with HEAD.
 1.10.28.1 15-Aug-2007  skrll Sync with HEAD.
 1.10.22.1 03-Oct-2007  garbled Sync with HEAD
 1.10.14.1 20-Aug-2007  ad Sync with HEAD.
 1.11.2.3 28-Jan-2008  matt Given the that there are only 4 IPLs (ignoring soft IPLs), a number of
cleanups can be done:
Remove _SPL_* aliases.
Don't store irqmasks in ci_cpl, just make it an ipl level.
Add fast softint switching support.
 1.11.2.2 09-Jan-2008  matt sync with HEAD
 1.11.2.1 06-Nov-2007  matt sync with HEAD
 1.12.8.1 08-Jan-2008  bouyer Sync with HEAD
 1.12.2.1 18-Feb-2008  mjf Sync with HEAD.
 1.13.10.2 04-May-2009  yamt sync with head.
 1.13.10.1 16-May-2008  yamt sync with head.
 1.13.8.2 17-Jun-2008  yamt sync with head.
 1.13.8.1 18-May-2008  yamt sync with head.
 1.13.6.2 29-Jun-2008  mjf Sync with HEAD.
 1.13.6.1 02-Jun-2008  mjf Sync with HEAD.
 1.15.4.1 18-Jun-2008  simonb Sync with head.
 1.15.2.1 23-Jun-2008  wrstuden Sync w/ -current. 34 merge conflicts to follow.
 1.16.18.1 05-Mar-2011  rmind sync with head
 1.17.8.1 30-Oct-2012  yamt sync with head
 1.18.40.1 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.19.8.1 14-Dec-2020  thorpej Sync w/ HEAD.
 1.3 30-Jul-2001  rjs branches: 1.3.6;
Mirror removal from hpcarm.
 1.2 22-Jul-2001  takemura You must set 'HPCFB_SWAP_*' if bytes are stored in reverse order, i.e.
little endian like order, however, usage of 'HPCFB_SWAP_*' was widely
misunderstood because it reminded you of 'RI_BSWAP' in raster operation.
Please note that 'RI_BSWAP' indicate that frame buffer byte order is different
from natural order of system while 'HPCFB_REVORDER_*' is independent of
system byte order.
 1.1 08-Jul-2001  rjs branches: 1.1.2;
Initial copy of SA11x0 support from hpcarm.
 1.1.2.1 03-Aug-2001  lukem update to -current
 1.3.6.2 30-Jul-2001  rjs Mirror removal from hpcarm.
 1.3.6.1 30-Jul-2001  rjs file sa11x0_lcd.c was added on branch nathanw_sa on 2001-07-30 10:48:32 +0000
 1.2 30-Jul-2001  rjs branches: 1.2.6;
Mirror removal from hpcarm.
 1.1 08-Jul-2001  rjs branches: 1.1.2;
Initial copy of SA11x0 support from hpcarm.
 1.1.2.1 03-Aug-2001  lukem update to -current
 1.2.6.2 30-Jul-2001  rjs Mirror removal from hpcarm.
 1.2.6.1 30-Jul-2001  rjs file sa11x0_lcdreg.h was added on branch nathanw_sa on 2001-07-30 10:48:32 +0000
 1.2 30-Jul-2001  rjs branches: 1.2.6;
Mirror removal from hpcarm.
 1.1 08-Jul-2001  rjs branches: 1.1.2;
Initial copy of SA11x0 support from hpcarm.
 1.1.2.1 03-Aug-2001  lukem update to -current
 1.2.6.2 30-Jul-2001  rjs Mirror removal from hpcarm.
 1.2.6.1 30-Jul-2001  rjs file sa11x0_lcdvar.h was added on branch nathanw_sa on 2001-07-30 10:48:33 +0000
 1.2 28-Apr-2008  martin Remove clause 3 and 4 from TNF licenses
 1.1 30-Jul-2001  rjs branches: 1.1.2; 1.1.8; 1.1.130; 1.1.132; 1.1.134;
Copy from hpcarm.
 1.1.134.1 16-May-2008  yamt sync with head.
 1.1.132.1 18-May-2008  yamt sync with head.
 1.1.130.1 02-Jun-2008  mjf Sync with HEAD.
 1.1.8.2 30-Jul-2001  rjs Copy from hpcarm.
 1.1.8.1 30-Jul-2001  rjs file sa11x0_mcpreg.h was added on branch nathanw_sa on 2001-07-30 10:17:22 +0000
 1.1.2.2 03-Aug-2001  lukem update to -current
 1.1.2.1 30-Jul-2001  lukem file sa11x0_mcpreg.h was added on branch kqueue on 2001-08-03 04:11:03 +0000
 1.33 13-Nov-2019  tsutsui Fix another attach failure of zaudio(4) WM8731 on Zaurus SL-C7x0/860.

When kernels were configured for both CPU_XSCALE_PXA270 and
CPU_XSCALE_PXA250, the OST freq value was not set until tc_init(9)
then all delay(9) during configure(9) returned immediately.
While here, use proper macro with description for readability.

Should be pulled up to netbsd-8 and netbsd-9.
(though zaudio(4) won't work on netbsd-8)
 1.32 09-Oct-2016  christos branches: 1.32.8; 1.32.16; 1.32.20;
PR/51540: Henning Petersen: replace , with ;
 1.31 17-Dec-2013  joerg branches: 1.31.6; 1.31.10;
Initialiase nop count to avoid uninitalised use warnings from Clang.
XXX Nop should be spelled in a better way
 1.30 12-Aug-2012  nonaka branches: 1.30.2; 1.30.4;
Added watchdog timer reset function.
 1.29 01-Jul-2011  dyoung branches: 1.29.2;
#include <sys/bus.h> instead of <machine/bus.h>.
 1.28 09-Aug-2009  kiyohara Fix matching by improper driver.
see http://mail-index.netbsd.org/port-arm/2009/07/08/msg000807.html

And remove some white-spaces.
 1.27 01-Aug-2009  kiyohara Support run-time configuration for PXA25x and PXA27x.
 1.26 29-May-2009  rjs Make the following changes:

struct device * -> device_t
struct cfdata * -> cfdata_t
printf -> aprint_
device_t/softc split
 1.25 10-May-2008  martin Backout previous: the license sweep touched these files in error, so
restore the old license.
 1.24 28-Apr-2008  martin branches: 1.24.2;
Remove clause 3 and 4 from TNF licenses
 1.23 20-Apr-2008  chris branches: 1.23.2;
PXA270 uses a 3.25Mhz clock for OS timers, not 3.6864Mhz.

Also while here fix the delay loop used before timers are enabled to
cause a delay, by using a volatile int to do a countdown. gcc has become
intelligent enough to optimize an empty loop away.

For delay on PXA270 we should use one of the other counters, and a 1Mhz
clock, so that we don't have to computer the counter increment.

XXX: also looks like there's a bug if the counter wraps, as delay doesn't
look like it allows for that.
 1.22 20-Jan-2008  joerg branches: 1.22.6; 1.22.8;
Now that __HAVE_TIMECOUNTER and __HAVE_GENERIC_TODR are invariants,
remove the conditionals and the code associated with the undef case.
 1.21 20-Jan-2008  joerg Convert evbarm to timecounter. Only one of the systems was tested, the
rest of the patch is compile-time tested only.
 1.20 24-Sep-2006  peter branches: 1.20.24; 1.20.28; 1.20.30; 1.20.36; 1.20.44;
Various cleanup & KNF.
 1.19 24-Sep-2006  peter Add support for timecounter and generic todr.
#ifdef'ed for now until all consumers are using it.
 1.18 27-Jun-2006  peter branches: 1.18.4; 1.18.6;
KNF. Correct some spelling errors.
 1.17 18-Apr-2006  peter branches: 1.17.4;
Back out my rev 1.14, the printf is actually quite useful and
all other arm code show this information too.
And while here, prettify the output a bit.
 1.16 04-Mar-2006  peter branches: 1.16.2; 1.16.4; 1.16.6;
s/u_intN_t/uintN_t/
 1.15 04-Mar-2006  peter Use ANSI function decls.
 1.14 04-Mar-2006  peter Put a printf into OST_DEBUG.
 1.13 11-Dec-2005  christos branches: 1.13.4; 1.13.6;
merge ktrace-lwp.
 1.12 02-Jun-2005  uwe branches: 1.12.2;
Rename local vars to avoid shadowing.
 1.11 15-Jul-2003  lukem __KERNEL_RCSID()
 1.10 23-Mar-2003  bsh branches: 1.10.2;
don't make kernels with options DEBUG print too much debug messages.
 1.9 02-Oct-2002  thorpej Use CFATTACH_DECL().
 1.8 27-Sep-2002  thorpej Declare all cfattach structures const.
 1.7 27-Sep-2002  provos remove trailing \n in panic(). approved perry.
 1.6 08-Jan-2002  rjs Establish interrupt handlers before enabling the clocks.
 1.5 08-Jan-2002  rjs Add check for microtime() being called before clock is initialized.
 1.4 23-Nov-2001  thorpej Use <arm/cpufunc.h>, not <machine/cpufunc.h>.
 1.3 22-Nov-2001  thorpej Kill <machine/katelib.h>. Any place that still uses it should just
reference <arm/arm32/katelib.h> until such time as all use of this
file has been purged from the face of the earth.
 1.2 05-Sep-2001  matt branches: 1.2.6;
Change <machine/irqhandler.h> to <machine/intr.h> since the latter always
includes the former and is a standard include file.
 1.1 08-Jul-2001  rjs branches: 1.1.2;
Initial copy of SA11x0 support from hpcarm.
 1.1.2.3 10-Oct-2002  jdolecek sync kqueue with -current; this includes merge of gehenna-devsw branch,
merge of i386 MP branch, and part of autoconf rototil work
 1.1.2.2 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.1.2.1 13-Sep-2001  thorpej Update the kqueue branch to HEAD.
 1.2.6.5 18-Oct-2002  nathanw Catch up to -current.
 1.2.6.4 28-Feb-2002  nathanw Catch up to -current.
 1.2.6.3 11-Jan-2002  nathanw More catchup.
 1.2.6.2 08-Jan-2002  nathanw Catch up to -current.
 1.2.6.1 05-Sep-2001  nathanw file sa11x0_ost.c was added on branch nathanw_sa on 2002-01-08 00:23:18 +0000
 1.10.2.4 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.10.2.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.10.2.2 18-Sep-2004  skrll Sync with HEAD.
 1.10.2.1 03-Aug-2004  skrll Sync with HEAD
 1.12.2.3 21-Jan-2008  yamt sync with head
 1.12.2.2 30-Dec-2006  yamt sync with head.
 1.12.2.1 21-Jun-2006  yamt sync with head.
 1.13.6.1 22-Apr-2006  simonb Sync with head.
 1.13.4.1 09-Sep-2006  rpaulo sync with head
 1.16.6.1 24-May-2006  tron Merge 2006-05-24 NetBSD-current into the "peter-altq" branch.
 1.16.4.1 11-May-2006  elad sync with head
 1.16.2.2 11-Aug-2006  yamt sync with head
 1.16.2.1 24-May-2006  yamt sync with head.
 1.17.4.1 13-Jul-2006  gdamore Merge from HEAD.
 1.18.6.1 22-Oct-2006  yamt sync with head
 1.18.4.1 18-Nov-2006  ad Sync with head.
 1.20.44.2 23-Jan-2008  bouyer Sync with HEAD.
 1.20.44.1 20-Jan-2008  bouyer Sync with HEAD
 1.20.36.1 18-Feb-2008  mjf Sync with HEAD.
 1.20.30.1 23-Mar-2008  matt sync with HEAD
 1.20.28.1 27-Jan-2008  chris Sync to HEAD.
 1.20.24.2 28-Feb-2008  rjs Sync with HEAD.
 1.20.24.1 06-Oct-2007  rjs Switch to new interrupt code.
 1.22.8.1 18-May-2008  yamt sync with head.
 1.22.6.1 02-Jun-2008  mjf Sync with HEAD.
 1.23.2.2 19-Aug-2009  yamt sync with head.
 1.23.2.1 20-Jun-2009  yamt sync with head
 1.24.2.1 23-Jun-2008  wrstuden Sync w/ -current. 34 merge conflicts to follow.
 1.29.2.2 22-May-2014  yamt sync with head.

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

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.29.2.1 30-Oct-2012  yamt sync with head
 1.30.4.1 18-May-2014  rmind sync with head
 1.30.2.2 03-Dec-2017  jdolecek update from HEAD
 1.30.2.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.31.10.1 04-Nov-2016  pgoyette Sync with HEAD
 1.31.6.1 05-Dec-2016  skrll Sync with HEAD
 1.32.20.1 16-Nov-2019  martin Pull up following revision(s) (requested by tsutsui in ticket #430):

sys/arch/arm/sa11x0/sa11x0_ost.c: revision 1.33
sys/arch/zaurus/zaurus/autoconf.c: revision 1.13

Fix attach failure of zaudio(4) WM8731 (C7x0/860) and WM8750 (C1000/3x00).

The new MI iic(4) layer requires an explicit quirk info of PROBE_STRATEGY
via device properties. Fixes PR kern/54658.

Should be pulled up to netbsd-9.

-

Fix another attach failure of zaudio(4) WM8731 on Zaurus SL-C7x0/860.

When kernels were configured for both CPU_XSCALE_PXA270 and
CPU_XSCALE_PXA250, the OST freq value was not set until tc_init(9)
then all delay(9) during configure(9) returned immediately.

While here, use proper macro with description for readability.

Should be pulled up to netbsd-8 and netbsd-9.
(though zaudio(4) won't work on netbsd-8)
 1.32.16.1 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.32.8.1 16-Nov-2019  martin Pull up following revision(s) (requested by tsutsui in ticket #1445):

sys/arch/arm/sa11x0/sa11x0_ost.c: revision 1.33

Fix another attach failure of zaudio(4) WM8731 on Zaurus SL-C7x0/860.

When kernels were configured for both CPU_XSCALE_PXA270 and
CPU_XSCALE_PXA250, the OST freq value was not set until tc_init(9)
then all delay(9) during configure(9) returned immediately.

While here, use proper macro with description for readability.

Should be pulled up to netbsd-8 and netbsd-9.
(though zaudio(4) won't work on netbsd-8)
 1.3 28-Apr-2008  martin Remove clause 3 and 4 from TNF licenses
 1.2 27-Jun-2006  peter branches: 1.2.60; 1.2.62; 1.2.64;
KNF. Correct some spelling errors.
 1.1 08-Jul-2001  rjs branches: 1.1.8; 1.1.42; 1.1.56; 1.1.60; 1.1.68;
Initial copy of SA11x0 support from hpcarm.
 1.1.68.1 13-Jul-2006  gdamore Merge from HEAD.
 1.1.60.1 11-Aug-2006  yamt sync with head
 1.1.56.1 09-Sep-2006  rpaulo sync with head
 1.1.42.1 30-Dec-2006  yamt sync with head.
 1.1.8.2 08-Jul-2001  rjs Initial copy of SA11x0 support from hpcarm.
 1.1.8.1 08-Jul-2001  rjs file sa11x0_ostreg.h was added on branch nathanw_sa on 2001-07-08 23:37:54 +0000
 1.2.64.1 16-May-2008  yamt sync with head.
 1.2.62.1 18-May-2008  yamt sync with head.
 1.2.60.1 02-Jun-2008  mjf Sync with HEAD.
 1.1 12-Aug-2012  nonaka branches: 1.1.4;
Added watchdog timer reset function.
 1.1.4.2 30-Oct-2012  yamt sync with head
 1.1.4.1 12-Aug-2012  yamt file sa11x0_ostvar.h was added on branch yamt-pagecache on 2012-10-30 17:19:10 +0000
 1.2 30-Jul-2001  rjs branches: 1.2.6;
Mirror removal from hpcarm.
 1.1 08-Jul-2001  rjs branches: 1.1.2;
Initial copy of SA11x0 support from hpcarm.
 1.1.2.1 03-Aug-2001  lukem update to -current
 1.2.6.2 30-Jul-2001  rjs Mirror removal from hpcarm.
 1.2.6.1 30-Jul-2001  rjs file sa11x0_pcic.c was added on branch nathanw_sa on 2001-07-30 10:34:00 +0000
 1.2 30-Jul-2001  rjs branches: 1.2.6;
Mirror removal from hpcarm.
 1.1 08-Jul-2001  rjs branches: 1.1.2;
Initial copy of SA11x0 support from hpcarm.
 1.1.2.1 03-Aug-2001  lukem update to -current
 1.2.6.2 30-Jul-2001  rjs Mirror removal from hpcarm.
 1.2.6.1 30-Jul-2001  rjs file sa11x0_pcicreg.h was added on branch nathanw_sa on 2001-07-30 10:34:01 +0000
 1.5 28-Apr-2008  martin Remove clause 3 and 4 from TNF licenses
 1.4 14-May-2006  elad branches: 1.4.64; 1.4.66; 1.4.68;
integrate kauth.
 1.3 11-Apr-2006  peter Change disclaimer: "THE NETBSD FOUNDATION", not "REGENTS".
 1.2 30-Jul-2001  rjs branches: 1.2.6; 1.2.40; 1.2.54; 1.2.56; 1.2.58; 1.2.60; 1.2.62;
Update from hpcarm with MCP register definition.
 1.1 08-Jul-2001  rjs branches: 1.1.2;
Initial copy of SA11x0 support from hpcarm.
 1.1.2.1 03-Aug-2001  lukem update to -current
 1.2.62.1 24-May-2006  tron Merge 2006-05-24 NetBSD-current into the "peter-altq" branch.
 1.2.60.1 19-Apr-2006  elad sync with head - hopefully this will work
 1.2.58.1 24-May-2006  yamt sync with head.
 1.2.56.1 22-Apr-2006  simonb Sync with head.
 1.2.54.1 09-Sep-2006  rpaulo sync with head
 1.2.40.1 21-Jun-2006  yamt sync with head.
 1.2.6.2 30-Jul-2001  rjs Update from hpcarm with MCP register definition.
 1.2.6.1 30-Jul-2001  rjs file sa11x0_ppcreg.h was added on branch nathanw_sa on 2001-07-30 12:19:05 +0000
 1.4.68.1 16-May-2008  yamt sync with head.
 1.4.66.1 18-May-2008  yamt sync with head.
 1.4.64.1 02-Jun-2008  mjf Sync with HEAD.
 1.7 28-Apr-2008  martin Remove clause 3 and 4 from TNF licenses
 1.6 27-Jun-2006  peter branches: 1.6.60; 1.6.62; 1.6.64;
Add a symbolic constant for the Infrared Communications Port.
 1.5 11-Apr-2006  peter branches: 1.5.4;
Implement pmap_devmap on hpcarm to map I/O registers that are used
in early start-up stage. Change the virtual address for UART #3 to
the physical address in the configuration files.
While here, implement the sa11x0_bs_unmap function.

Reviewed by Toru Nishimura (on port-arm).
 1.4 19-Jul-2002  ichiro branches: 1.4.24; 1.4.38; 1.4.40; 1.4.42; 1.4.44; 1.4.46;
sync to hpcarm/sa11x0

later, remove hpcarm/sa11x0
 1.3 08-Jan-2002  rjs branches: 1.3.8;
Add reset controller register definitions.
 1.2 30-Jul-2001  rjs branches: 1.2.6;
Update from hpcarm with MCP base definition.
 1.1 08-Jul-2001  rjs branches: 1.1.2;
Initial copy of SA11x0 support from hpcarm.
 1.1.2.3 06-Sep-2002  jdolecek sync kqueue branch with HEAD
 1.1.2.2 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.1.2.1 03-Aug-2001  lukem update to -current
 1.2.6.4 01-Aug-2002  nathanw Catch up to -current.
 1.2.6.3 28-Feb-2002  nathanw Catch up to -current.
 1.2.6.2 11-Jan-2002  nathanw More catchup.
 1.2.6.1 30-Jul-2001  nathanw file sa11x0_reg.h was added on branch nathanw_sa on 2002-01-11 23:38:06 +0000
 1.3.8.1 21-Jul-2002  gehenna catch up with -current.
 1.4.46.1 24-May-2006  tron Merge 2006-05-24 NetBSD-current into the "peter-altq" branch.
 1.4.44.1 19-Apr-2006  elad sync with head - hopefully this will work
 1.4.42.2 11-Aug-2006  yamt sync with head
 1.4.42.1 24-May-2006  yamt sync with head.
 1.4.40.1 22-Apr-2006  simonb Sync with head.
 1.4.38.1 09-Sep-2006  rpaulo sync with head
 1.4.24.2 30-Dec-2006  yamt sync with head.
 1.4.24.1 21-Jun-2006  yamt sync with head.
 1.5.4.1 13-Jul-2006  gdamore Merge from HEAD.
 1.6.64.1 16-May-2008  yamt sync with head.
 1.6.62.1 18-May-2008  yamt sync with head.
 1.6.60.1 02-Jun-2008  mjf Sync with HEAD.
 1.4 04-Feb-2024  andvar fix tripple/quadruple "r" letter typos in comments and log messages.
 1.3 28-Apr-2008  martin Remove clause 3 and 4 from TNF licenses
 1.2 11-Apr-2006  peter branches: 1.2.64; 1.2.66; 1.2.68;
Change disclaimer: "THE NETBSD FOUNDATION", not "REGENTS".
 1.1 08-Jul-2001  rjs branches: 1.1.8; 1.1.42; 1.1.56; 1.1.58; 1.1.60; 1.1.62; 1.1.64;
Initial copy of SA11x0 support from hpcarm.
 1.1.64.1 24-May-2006  tron Merge 2006-05-24 NetBSD-current into the "peter-altq" branch.
 1.1.62.1 19-Apr-2006  elad sync with head - hopefully this will work
 1.1.60.1 24-May-2006  yamt sync with head.
 1.1.58.1 22-Apr-2006  simonb Sync with head.
 1.1.56.1 09-Sep-2006  rpaulo sync with head
 1.1.42.1 21-Jun-2006  yamt sync with head.
 1.1.8.2 08-Jul-2001  rjs Initial copy of SA11x0 support from hpcarm.
 1.1.8.1 08-Jul-2001  rjs file sa11x0_sspreg.h was added on branch nathanw_sa on 2001-07-08 23:37:55 +0000
 1.2.68.1 16-May-2008  yamt sync with head.
 1.2.66.1 18-May-2008  yamt sync with head.
 1.2.64.1 02-Jun-2008  mjf Sync with HEAD.
 1.11 01-Jul-2011  dyoung #include <sys/bus.h> instead of <machine/bus.h>.
 1.10 09-Aug-2009  kiyohara Fix matching by improper driver.
see http://mail-index.netbsd.org/port-arm/2009/07/08/msg000807.html

And remove some white-spaces.
 1.9 29-May-2009  rjs Make the following changes:

struct device * -> device_t
struct cfdata * -> cfdata_t
printf -> aprint_
device_t/softc split
 1.8 28-Apr-2008  martin Remove clause 3 and 4 from TNF licenses
 1.7 12-Apr-2006  simonb branches: 1.7.34; 1.7.64; 1.7.66; 1.7.68;
Whitespace nit.
 1.6 11-Apr-2006  peter Change disclaimer: "THE NETBSD FOUNDATION", not "REGENTS".
 1.5 04-Mar-2006  peter branches: 1.5.2; 1.5.4; 1.5.6;
s/u_intN_t/uintN_t/
 1.4 14-Apr-2003  rjs branches: 1.4.18; 1.4.32; 1.4.34;
Remove unused structure member variables.
 1.3 18-Dec-2002  bsh guard against being included twice
 1.2 12-Mar-2002  rjs Add bus space handle for SA11x0 reset controller.
 1.1 08-Jul-2001  rjs branches: 1.1.2; 1.1.8;
Initial copy of SA11x0 support from hpcarm.
 1.1.8.3 19-Dec-2002  thorpej Sync with HEAD.
 1.1.8.2 01-Apr-2002  nathanw Catch up to -current.
(CVS: It's not just a program. It's an adventure!)
 1.1.8.1 08-Jul-2001  nathanw file sa11x0_var.h was added on branch nathanw_sa on 2002-04-01 07:39:15 +0000
 1.1.2.1 16-Mar-2002  jdolecek Catch up with -current.
 1.4.34.1 22-Apr-2006  simonb Sync with head.
 1.4.32.1 09-Sep-2006  rpaulo sync with head
 1.4.18.1 21-Jun-2006  yamt sync with head.
 1.5.6.1 24-May-2006  tron Merge 2006-05-24 NetBSD-current into the "peter-altq" branch.
 1.5.4.1 19-Apr-2006  elad sync with head - hopefully this will work
 1.5.2.1 24-May-2006  yamt sync with head.
 1.7.68.3 19-Aug-2009  yamt sync with head.
 1.7.68.2 20-Jun-2009  yamt sync with head
 1.7.68.1 16-May-2008  yamt sync with head.
 1.7.66.1 18-May-2008  yamt sync with head.
 1.7.64.1 02-Jun-2008  mjf Sync with HEAD.
 1.7.34.1 06-Oct-2007  rjs Switch to new interrupt code.
 1.25 27-Sep-2022  skrll Remove unnecessary sys/malloc.h include
 1.24 07-Aug-2021  thorpej Merge thorpej-cfargs2.
 1.23 24-Apr-2021  thorpej branches: 1.23.8;
Merge thorpej-cfargs branch:

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

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

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

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

...and a sentinel value CFARG_EOL.

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

Use CFARG_DEVHANDLE in MI FDT, OFW, and ACPI code, and macppc and shark
ports to associate those device handles with device_t instance. This
will trickle trough to more places over time (need back-end for pre-OFW
Sun OBP; any others?).
 1.22 26-Jul-2011  dyoung branches: 1.22.68;
Don't set the iobase and iosize members of pcmciabus_attach_args because
they're not used in any meaningful way.
 1.21 01-Jul-2011  dyoung #include <sys/bus.h> instead of <machine/bus.h>.
 1.20 29-May-2009  rjs Make the following changes:

struct device * -> device_t
struct cfdata * -> cfdata_t
printf -> aprint_
device_t/softc split
 1.19 03-Jun-2008  rafal Don't init sc_lock for each socket, since it's shared; caught by LOCKDEBUG.
 1.18 28-Apr-2008  martin branches: 1.18.2;
Remove clause 3 and 4 from TNF licenses
 1.17 20-Apr-2008  rafal branches: 1.17.2;
Fix detection / attachment of CF / PCMCIA cards present at boot-time. This
was broken by one of the early vmlocking merges, which removed the kthread
that did the initial detection / attachment and instead called the code
directly from the PCMCIA controller attach method.

Submitted in PR port-hpcarm/37227 by Peter Postma; I've tweaked it ever-so-
slightly.
 1.16 17-Oct-2007  garbled branches: 1.16.16; 1.16.18;
Merge the ppcoea-renovation branch to HEAD.

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

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

NOTES:
pmppc was removed as an arch, and moved to a evbppc target.
 1.15 14-Jul-2007  ad branches: 1.15.10; 1.15.12;
Revert accidentally commited change.
 1.14 09-Jul-2007  ad Merge some of the less invasive changes from the vmlocking branch:

- kthread, callout, devsw API changes
- select()/poll() improvements
- miscellaneous MT safety improvements
 1.13 27-Jun-2006  peter branches: 1.13.14; 1.13.16; 1.13.22;
KNF. Correct some spelling errors.
 1.12 04-Mar-2006  peter branches: 1.12.2; 1.12.10;
Use ANSI function decls.
 1.11 11-Dec-2005  christos branches: 1.11.4; 1.11.6;
merge ktrace-lwp.
 1.10 28-Jun-2005  drochner branches: 1.10.2;
convert remaining autoconf bus "submatch" functions to use the new
signature (passing locators), and remove some which obviously don't
serve any purpose
(untested, sorry)
 1.9 08-Aug-2003  bsh split StrongArm companion chip (sacc) driver so that we can support
sacc on other platforms than hpcarm (evbarm for example).

codes specific to hpcarm are extracted and moved to hpcarm/dev/.
 1.8 15-Jul-2003  lukem __KERNEL_RCSID()
 1.7 02-Oct-2002  thorpej branches: 1.7.8;
Use CFATTACH_DECL().
 1.6 27-Sep-2002  thorpej Declare all cfattach structures const.
 1.5 27-Sep-2002  provos remove trailing \n in panic(). approved perry.
 1.4 27-Sep-2002  thorpej Introduce a new routine, config_match(), which invokes the
cfattach->ca_match function in behalf of the caller. Use it
rather than invoking cfattach->ca_match directly.
 1.3 24-Sep-2001  takemura branches: 1.3.4;
Renamed platid_search() to platid_search_data() and added new platid_search().
Platid_name() was re-implemented using platid_search().
 1.2 30-Jul-2001  rjs branches: 1.2.2;
Update from hpcarm.
 1.1 08-Jul-2001  rjs branches: 1.1.2;
Initial copy of SA11x0 support from hpcarm.
 1.1.2.3 10-Oct-2002  jdolecek sync kqueue with -current; this includes merge of gehenna-devsw branch,
merge of i386 MP branch, and part of autoconf rototil work
 1.1.2.2 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.1.2.1 03-Aug-2001  lukem update to -current
 1.2.2.1 01-Oct-2001  fvdl Catch up with -current.
 1.3.4.2 18-Oct-2002  nathanw Catch up to -current.
 1.3.4.1 24-Sep-2001  nathanw file sa11x1_pcic.c was added on branch nathanw_sa on 2002-10-18 02:35:41 +0000
 1.7.8.4 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.7.8.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.7.8.2 18-Sep-2004  skrll Sync with HEAD.
 1.7.8.1 03-Aug-2004  skrll Sync with HEAD
 1.10.2.3 03-Sep-2007  yamt sync with head.
 1.10.2.2 30-Dec-2006  yamt sync with head.
 1.10.2.1 21-Jun-2006  yamt sync with head.
 1.11.6.1 22-Apr-2006  simonb Sync with head.
 1.11.4.1 09-Sep-2006  rpaulo sync with head
 1.12.10.1 13-Jul-2006  gdamore Merge from HEAD.
 1.12.2.1 11-Aug-2006  yamt sync with head
 1.13.22.1 03-Oct-2007  garbled Sync with HEAD
 1.13.16.1 11-Jul-2007  mjf Sync with head.
 1.13.14.1 15-Jul-2007  ad Sync with head.
 1.15.12.1 06-Nov-2007  matt sync with HEAD
 1.15.10.1 01-Jan-2008  chris Sync with HEAD.
 1.16.18.2 04-Jun-2008  yamt sync with head
 1.16.18.1 18-May-2008  yamt sync with head.
 1.16.16.2 05-Jun-2008  mjf Sync with HEAD.

Also fix build.
 1.16.16.1 02-Jun-2008  mjf Sync with HEAD.
 1.17.2.3 20-Jun-2009  yamt sync with head
 1.17.2.2 04-May-2009  yamt sync with head.
 1.17.2.1 16-May-2008  yamt sync with head.
 1.18.2.1 23-Jun-2008  wrstuden Sync w/ -current. 34 merge conflicts to follow.
 1.22.68.1 23-Mar-2021  thorpej Convert config_found_ia() call sites where the device only carries
a single interface attribute to bare config_found() calls.
 1.23.8.1 04-Aug-2021  thorpej Adapt to CFARGS().
 1.2 28-Apr-2008  martin Remove clause 3 and 4 from TNF licenses
 1.1 08-Jul-2001  rjs branches: 1.1.8; 1.1.130; 1.1.132; 1.1.134;
Initial copy of SA11x0 support from hpcarm.
 1.1.134.1 16-May-2008  yamt sync with head.
 1.1.132.1 18-May-2008  yamt sync with head.
 1.1.130.1 02-Jun-2008  mjf Sync with HEAD.
 1.1.8.2 08-Jul-2001  rjs Initial copy of SA11x0 support from hpcarm.
 1.1.8.1 08-Jul-2001  rjs file sa11x1_pcicreg.h was added on branch nathanw_sa on 2001-07-08 23:37:55 +0000
 1.3 28-Apr-2008  martin Remove clause 3 and 4 from TNF licenses
 1.2 11-Dec-2005  christos branches: 1.2.76; 1.2.78; 1.2.80;
merge ktrace-lwp.
 1.1 08-Aug-2003  bsh branches: 1.1.4;
split StrongArm companion chip (sacc) driver so that we can support
sacc on other platforms than hpcarm (evbarm for example).

codes specific to hpcarm are extracted and moved to hpcarm/dev/.
 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 08-Aug-2003  skrll file sa11x1_pcicvar.h was added on branch ktrace-lwp on 2004-08-03 10:32:58 +0000
 1.2.80.1 16-May-2008  yamt sync with head.
 1.2.78.1 18-May-2008  yamt sync with head.
 1.2.76.1 02-Jun-2008  mjf Sync with HEAD.
 1.14 27-Sep-2022  skrll Remove unnecessary sys/malloc.h include
 1.13 29-May-2009  rjs Make the following changes:

struct device * -> device_t
struct cfdata * -> cfdata_t
printf -> aprint_
device_t/softc split
 1.12 03-Jun-2008  rafal Don't init sc_lock for each socket, since it's shared; caught by LOCKDEBUG.
 1.11 06-Dec-2007  ad branches: 1.11.12; 1.11.14; 1.11.16; 1.11.18;
lockmgr -> mutex
 1.10 17-Oct-2007  garbled branches: 1.10.2; 1.10.4;
Merge the ppcoea-renovation branch to HEAD.

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

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

NOTES:
pmppc was removed as an arch, and moved to a evbppc target.
 1.9 09-Jul-2007  ad branches: 1.9.6; 1.9.8; 1.9.10; 1.9.12;
Merge some of the less invasive changes from the vmlocking branch:

- kthread, callout, devsw API changes
- select()/poll() improvements
- miscellaneous MT safety improvements
 1.8 27-Jun-2006  peter branches: 1.8.14; 1.8.16; 1.8.18; 1.8.22;
KNF. Correct some spelling errors.
 1.7 04-Mar-2006  peter branches: 1.7.2; 1.7.10;
Use ANSI function decls.
 1.6 11-Dec-2005  christos branches: 1.6.4; 1.6.6;
merge ktrace-lwp.
 1.5 02-Oct-2004  toshii branches: 1.5.12;
Add a socket_settype function to match with recent pcmcia code change.
 1.4 15-Jul-2003  lukem __KERNEL_RCSID()
 1.3 19-Jan-2003  thorpej branches: 1.3.2;
Merge the nathanw_sa branch.
 1.2 27-Sep-2002  provos remove trailing \n in panic(). approved perry.
 1.1 08-Jul-2001  rjs branches: 1.1.2; 1.1.8;
Initial copy of SA11x0 support from hpcarm.
 1.1.8.3 18-Oct-2002  nathanw Catch up to -current.
 1.1.8.2 24-Jun-2002  nathanw Curproc->curlwp renaming.

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

"curproc" is now #defined in proc.h as ((curlwp) ? (curlwp)->l_proc) : NULL)
so that it is always safe to reference curproc (*de*referencing curproc
is another story, but that's always been true).
 1.1.8.1 08-Jul-2001  nathanw file sa11xx_pcic.c was added on branch nathanw_sa on 2002-06-24 22:04:00 +0000
 1.1.2.1 10-Oct-2002  jdolecek sync kqueue with -current; this includes merge of gehenna-devsw branch,
merge of i386 MP branch, and part of autoconf rototil work
 1.3.2.4 19-Oct-2004  skrll Sync with HEAD
 1.3.2.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.3.2.2 18-Sep-2004  skrll Sync with HEAD.
 1.3.2.1 03-Aug-2004  skrll Sync with HEAD
 1.5.12.4 07-Dec-2007  yamt sync with head
 1.5.12.3 03-Sep-2007  yamt sync with head.
 1.5.12.2 30-Dec-2006  yamt sync with head.
 1.5.12.1 21-Jun-2006  yamt sync with head.
 1.6.6.1 22-Apr-2006  simonb Sync with head.
 1.6.4.1 09-Sep-2006  rpaulo sync with head
 1.7.10.1 13-Jul-2006  gdamore Merge from HEAD.
 1.7.2.1 11-Aug-2006  yamt sync with head
 1.8.22.1 03-Oct-2007  garbled Sync with HEAD
 1.8.18.1 09-Dec-2007  reinoud Pullup to HEAD
 1.8.16.1 11-Jul-2007  mjf Sync with head.
 1.8.14.1 15-Jul-2007  ad Sync with head.
 1.9.12.2 09-Jan-2008  matt sync with HEAD
 1.9.12.1 06-Nov-2007  matt sync with HEAD
 1.9.10.1 01-Jan-2008  chris Sync with HEAD.
 1.9.8.1 09-Dec-2007  jmcneill Sync with HEAD.
 1.9.6.1 26-Dec-2007  rjs Sync with HEAD.
 1.10.4.1 08-Dec-2007  ad Sync with head.
 1.10.2.1 08-Dec-2007  mjf Sync with HEAD.
 1.11.18.1 23-Jun-2008  wrstuden Sync w/ -current. 34 merge conflicts to follow.
 1.11.16.2 20-Jun-2009  yamt sync with head
 1.11.16.1 04-May-2009  yamt sync with head.
 1.11.14.1 04-Jun-2008  yamt sync with head
 1.11.12.1 05-Jun-2008  mjf Sync with HEAD.

Also fix build.
 1.2 28-Apr-2008  martin Remove clause 3 and 4 from TNF licenses
 1.1 08-Jul-2001  rjs branches: 1.1.8; 1.1.130; 1.1.132; 1.1.134;
Initial copy of SA11x0 support from hpcarm.
 1.1.134.1 16-May-2008  yamt sync with head.
 1.1.132.1 18-May-2008  yamt sync with head.
 1.1.130.1 02-Jun-2008  mjf Sync with HEAD.
 1.1.8.2 08-Jul-2001  rjs Initial copy of SA11x0 support from hpcarm.
 1.1.8.1 08-Jul-2001  rjs file sa11xx_pcicreg.h was added on branch nathanw_sa on 2001-07-08 23:37:55 +0000
 1.7 29-May-2009  rjs Make the following changes:

struct device * -> device_t
struct cfdata * -> cfdata_t
printf -> aprint_
device_t/softc split
 1.6 28-Apr-2008  martin Remove clause 3 and 4 from TNF licenses
 1.5 06-Dec-2007  ad branches: 1.5.12; 1.5.14; 1.5.16;
lockmgr -> mutex
 1.4 17-Oct-2007  garbled branches: 1.4.2; 1.4.4;
Merge the ppcoea-renovation branch to HEAD.

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

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

NOTES:
pmppc was removed as an arch, and moved to a evbppc target.
 1.3 12-Jul-2007  he branches: 1.3.6; 1.3.8; 1.3.10; 1.3.12;
Convert event_thread from a proc to an lwp, so that the use of
kthread_create() in sa11xx_pcic.c again matches with the prototype.
 1.2 30-Jul-2001  rjs branches: 1.2.6; 1.2.40; 1.2.82; 1.2.86; 1.2.90;
Update from hpcarm with cookie change.
 1.1 08-Jul-2001  rjs branches: 1.1.2;
Initial copy of SA11x0 support from hpcarm.
 1.1.2.1 03-Aug-2001  lukem update to -current
 1.2.90.1 03-Oct-2007  garbled Sync with HEAD
 1.2.86.1 09-Dec-2007  reinoud Pullup to HEAD
 1.2.82.1 15-Jul-2007  ad Sync with head.
 1.2.40.2 07-Dec-2007  yamt sync with head
 1.2.40.1 03-Sep-2007  yamt sync with head.
 1.2.6.2 30-Jul-2001  rjs Update from hpcarm with cookie change.
 1.2.6.1 30-Jul-2001  rjs file sa11xx_pcicvar.h was added on branch nathanw_sa on 2001-07-30 10:55:50 +0000
 1.3.12.2 09-Jan-2008  matt sync with HEAD
 1.3.12.1 06-Nov-2007  matt sync with HEAD
 1.3.10.1 01-Jan-2008  chris Sync with HEAD.
 1.3.8.1 09-Dec-2007  jmcneill Sync with HEAD.
 1.3.6.1 26-Dec-2007  rjs Sync with HEAD.
 1.4.4.1 08-Dec-2007  ad Sync with head.
 1.4.2.1 08-Dec-2007  mjf Sync with HEAD.
 1.5.16.2 20-Jun-2009  yamt sync with head
 1.5.16.1 16-May-2008  yamt sync with head.
 1.5.14.1 18-May-2008  yamt sync with head.
 1.5.12.1 02-Jun-2008  mjf Sync with HEAD.

RSS XML Feed