Home | History | Annotate | only in /src/sys/arch/arm/footbridge
History log of /src/sys/arch/arm/footbridge
RevisionDateAuthorComments
 1.4 26-Nov-2002  lukem Remove KDIR=, since SYS_INCLUDE=symlinks and KDIR are not supported any more.
 1.3 25-Oct-2002  jdolecek do not install footbridge_irqhandler.h
 1.2 22-Oct-2002  chris netwinder and cats can share irqhandler.h, so move (and rename) into the
footbridge dir, and share it.
 1.1 28-Sep-2002  chris branches: 1.1.2; 1.1.4; 1.1.6;
cats and netwinder can share a common footbridge_intr.h file, so install and
share a common file.
 1.1.6.2 09-Nov-2002  bjh21 Catch up with -current.
 1.1.6.1 24-Oct-2002  bjh21 Sync with trunk.
 1.1.4.3 11-Dec-2002  thorpej Sync with HEAD.
 1.1.4.2 18-Oct-2002  nathanw Catch up to -current.
 1.1.4.1 28-Sep-2002  nathanw file Makefile was added on branch nathanw_sa on 2002-10-18 02:35:24 +0000
 1.1.2.2 10-Oct-2002  jdolecek sync kqueue with -current; this includes merge of gehenna-devsw branch,
merge of i386 MP branch, and part of autoconf rototil work
 1.1.2.1 28-Sep-2002  jdolecek file Makefile was added on branch kqueue on 2002-10-10 18:31:47 +0000
 1.2 20-Jun-2001  chris branches: 1.2.8;
Remove defopt EBSA285.
Move the files from footbridge that are cats specific.
Remove EBSA285 kernel as people should be able to use the generic cats kernel for EBSA285 systems.
 1.1 09-Jun-2001  chris Move the footbridge dir out of arm32 into arm.
 1.2.8.2 20-Jun-2001  chris Remove defopt EBSA285.
Move the files from footbridge that are cats specific.
Remove EBSA285 kernel as people should be able to use the generic cats kernel for EBSA285 systems.
 1.2.8.1 20-Jun-2001  chris file cyclone_boot.h was added on branch nathanw_sa on 2001-06-20 22:14:34 +0000
 1.3 24-Aug-2021  skrll lower case for hex numbers.
consistent #define<tab>
same binary before and after.
 1.2 09-Jun-2001  chris branches: 1.2.8;
Typo police: 28285 -> 21285
Also garbage collect the old kernel VM map defines for footbridge.
 1.1 09-Jun-2001  chris Move the footbridge dir out of arm32 into arm.
 1.2.8.2 09-Jun-2001  chris Typo police: 28285 -> 21285
Also garbage collect the old kernel VM map defines for footbridge.
 1.2.8.1 09-Jun-2001  chris file dc21285mem.h was added on branch nathanw_sa on 2001-06-09 10:44:12 +0000
 1.5 14-Dec-2007  chris Fix for PR cats/18026.

cats was never able to dump a kernel core dump because reading from
VGA addresses (0xb8000) was causing the system to hang.

To workaround this reprogram the footbridge to map the memory to appear on
the PCI bus at 0x20000000, rather than at 0x0. Also configure the pci bus
to have a DMA range so that data is mapped correctly.

Note that -current kernels seem to hang when unmounting the fs. This
is a seperate issue, and appears to be because interrupts need to be
enabled to unmount filesystems.

So using reboot 0x104 does work, as it does a sync without unmounting the
filesystems.

Also arm savecore doesn't do anything with the memroy dump, as on arm we
currently just dump the raw memory, there's no header block to indicate
memory sizes or other useful information.
 1.4 17-Jan-2003  thorpej branches: 1.4.18; 1.4.76; 1.4.80; 1.4.82; 1.4.92; 1.4.96;
Merge the nathanw_sa branch.
 1.3 03-Nov-2002  chris Checkin new interrupt handling code for the footbridge.
This is based upon Jason's work on xscale.

Most of the interrupt handling code is now written in C using an asm stub to
call into the C code.

spl* now only updates a software mask, and does not update the hardware,
this should be much faster.

The new code works well on cats, it's untested on netwinder, but should work.

The code implements generic soft interrupts.

More work is still required to bring the isa interrupt handling code upto
scratch currently all isa interrupts are handled at IPL_BIO on the footbridge.
This may cause isa interrupts to be handled later than they should be.
I plan to fix this in the near future.
 1.2 28-Sep-2002  chris branches: 1.2.2;
Interrupt 19 does actually do something:
19 PMCSR written by host
(all to do with power management)
 1.1 09-Jun-2001  chris branches: 1.1.2; 1.1.8;
Move the footbridge dir out of arm32 into arm.
 1.1.8.4 11-Nov-2002  nathanw Catch up to -current
 1.1.8.3 18-Oct-2002  nathanw Catch up to -current.
 1.1.8.2 11-Apr-2002  thorpej TIMER_MAX -> TIMER_MAX_VAL, so as not to conflict with TIMER_MAX
in <sys/time.h>
 1.1.8.1 09-Jun-2001  thorpej file dc21285reg.h was added on branch nathanw_sa on 2002-04-11 06:29:40 +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.2.2.1 09-Nov-2002  bjh21 Catch up with -current.
 1.4.96.1 02-Jan-2008  bouyer Sync with HEAD
 1.4.92.1 26-Dec-2007  ad Sync with head.
 1.4.82.1 09-Jan-2008  matt sync with HEAD
 1.4.80.1 01-Jan-2008  chris Sync with HEAD.
 1.4.76.1 26-Dec-2007  rjs Sync with HEAD.
 1.4.18.1 21-Jan-2008  yamt sync with head
 1.5 20-Jun-2001  chris branches: 1.5.8;
Remove defopt EBSA285.
Move the files from footbridge that are cats specific.
Remove EBSA285 kernel as people should be able to use the generic cats kernel for EBSA285 systems.
 1.4 19-Jun-2001  wiz `response', not `responce'
 1.3 19-Jun-2001  wiz `accessible' only has one `a'.
 1.2 09-Jun-2001  chris Typo police: 28285 -> 21285
Also garbage collect the old kernel VM map defines for footbridge.
 1.1 09-Jun-2001  chris Move the footbridge dir out of arm32 into arm.
 1.5.8.2 20-Jun-2001  chris Remove defopt EBSA285.
Move the files from footbridge that are cats specific.
Remove EBSA285 kernel as people should be able to use the generic cats kernel for EBSA285 systems.
 1.5.8.1 20-Jun-2001  chris file ebsa285_machdep.c was added on branch nathanw_sa on 2001-06-20 22:14:34 +0000
 1.30 27-Sep-2022  skrll Remove unnecessary sys/malloc.h include
 1.29 13-Aug-2021  skrll Trailing whitespace
 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 10-Oct-2012  skrll branches: 1.26.52;
Update comments to reflect the real function prototypes.

From chuq.
 1.25 01-Jul-2011  dyoung branches: 1.25.2; 1.25.12;
#include <sys/bus.h> instead of <machine/bus.h>.
 1.24 17-May-2011  dyoung PCI_FLAGS_IO_ENABLED and PCI_FLAGS_MEM_ENABLED changed their functional
role in NetBSD (drivers are no longer supposed to write these to
pa_flags) without changing name. Correct that.

Rename PCI_FLAGS_IO_ENABLED to PCI_FLAGS_IO_OKAY and
PCI_FLAGS_MEM_ENABLED to PCI_FLAGS_MEM_OKAY, thus making their names
consistent with the other PCI flags and poisoning 3rd-party driver
sources that use the flags in the old bad way.

This patch produces no binary changes in this set of PCI kernels when
they are compiled w/o 'options DIAGNOSTIC' and w/ -V MKREPRO=yes:

algor P4032 P5064 P6032
alpha GENERIC
amd64 GENERIC XEN3_DOM0
arc GENERIC
atari HADES MILAN-PCIIDE
bebox GENERIC
cats GENERIC
cobalt GENERIC
evbarm-el ADI_BRH ARMADILLO9 CP3100 GEMINI GEMINI_MASTER GEMINI_SLAVE
evbarm-el GUMSTIX HDL_G IMX31LITE INTEGRATOR IQ31244 IQ80310 IQ80321
evbarm-el IXDP425 IXM1200 KUROBOX_PRO
evbarm-el LUBBOCK MARVELL_NAS NAPPI NSLU2 SHEEVAPLUG SMDK2800 TEAMASA_NPWR
evbarm-el TEAMASA_NPWR_FC TS7200 TWINTAIL ZAO425
evbmips-el AP30 DBAU1500 DBAU1550 MALTA MERAKI MTX-1 OMSAL400 RB153 WGT624V3
evbmips64-el XLSATX
evbppc EV64260 MPC8536DS MPC8548CDS OPENBLOCKS200 OPENBLOCKS266
evbppc OPENBLOCKS266_OPT P2020RDB PMPPC RB800 WALNUT
hp700 GENERIC
i386 ALL XEN3_DOM0 XEN3_DOMU
ibmnws GENERIC
iyonix GENERIC
landisk GENERIC
macppc GENERIC
mvmeppc GENERIC
netwinder GENERIC
ofppc GENERIC
prep GENERIC
sandpoint GENERIC
sbmips-el GENERIC
sgimips GENERIC32_IP2x GENERIC32_IP3x
sparc GENERIC_SUN4U KRUPS
sparc64 GENERIC
 1.23 18-Nov-2010  skrll branches: 1.23.2;
Comment KNF.
 1.22 18-Nov-2010  skrll Remove commented out setting of SDRAM_MEMORY_ADDR - it's set later on.
 1.21 21-Jul-2009  skrll branches: 1.21.4;
device_t/softc split
CFATTACH_DECL -> CFATTACH_DECL_NEW
struct device * -> device_t
struct cfdata * -> cfdata_t
Use aprint*
 1.20 14-Mar-2009  dsl Change about 4500 of the K&R function definitions to ANSI ones.
There are still about 1600 left, but they have ',' or /* ... */
in the actual variable definitions - which my awk script doesn't handle.
There are also many that need () -> (void).
(The script does handle misordered arguments.)
 1.19 14-Mar-2009  dsl Remove all the __P() from sys (excluding sys/dist)
Diff checked with grep and MK1 eyeball.
i386 and amd64 GENERIC and sys still build.
 1.18 14-Dec-2007  chris branches: 1.18.10; 1.18.18; 1.18.24;
Fix for PR cats/18026.

cats was never able to dump a kernel core dump because reading from
VGA addresses (0xb8000) was causing the system to hang.

To workaround this reprogram the footbridge to map the memory to appear on
the PCI bus at 0x20000000, rather than at 0x0. Also configure the pci bus
to have a DMA range so that data is mapped correctly.

Note that -current kernels seem to hang when unmounting the fs. This
is a seperate issue, and appears to be because interrupts need to be
enabled to unmount filesystems.

So using reboot 0x104 does work, as it does a sync without unmounting the
filesystems.

Also arm savecore doesn't do anything with the memroy dump, as on arm we
currently just dump the raw memory, there's no header block to indicate
memory sizes or other useful information.
 1.17 06-Jan-2007  christos branches: 1.17.20; 1.17.24; 1.17.26; 1.17.34; 1.17.38;
Add generic TOD support. From Bucky Katz.
 1.16 11-Dec-2005  christos branches: 1.16.20; 1.16.24;
merge ktrace-lwp.
 1.15 30-Aug-2004  drochner branches: 1.15.12;
Phase out the use of a string as first "attach args" member to control
which bustype should be attached with a specific call to config_found()
(from a "mainbus" or a bus bridge).
Do it for isa/eisa/mca and pci/agp for now. These buses all attach to
an mi interface attribute "isabus", "eisabus" etc., and the autoconf
framework now allows to specify an interface attribute on config_found()
and config_search(), which limits the search of matching config data
to these which attach to that specific attribute.
So we basically have to call config_found_ia(..., "foobus", ...) where
such a bus is attached.
As a consequence, where a "mainbus" or alike also attaches other
devices (eg CPUs) which do not attach to a specific attribute yet,
we need at least pass an attribute name (different from "foobus") so
that the foo bus is not found at these places. This made some minor
changes necessary which are not obviously related to the mentioned buses.
 1.14 15-Jun-2003  fvdl branches: 1.14.2;
Handle 64bit DMA addresses on PCI for platforms that can (currently only
enabled on amd64). Add a dmat64 field to various PCI attach structures,
and pass it down where needed. Implement a simple new function called
pci_dma64_available(pa) to test if 64bit DMA addresses may be used.
This returns 1 iff _PCI_HAVE_DMA64 is defined in <machine/pci_machdep.h>,
and there is more than 4G of memory.
 1.13 23-Mar-2003  chris Add __KERNEL_RCSID tags to footbridge files.
 1.12 01-Jan-2003  thorpej Use aprint_normal() for cfprint routines.
 1.11 03-Nov-2002  chris Checkin new interrupt handling code for the footbridge.
This is based upon Jason's work on xscale.

Most of the interrupt handling code is now written in C using an asm stub to
call into the C code.

spl* now only updates a software mask, and does not update the hardware,
this should be much faster.

The new code works well on cats, it's untested on netwinder, but should work.

The code implements generic soft interrupts.

More work is still required to bring the isa interrupt handling code upto
scratch currently all isa interrupts are handled at IPL_BIO on the footbridge.
This may cause isa interrupts to be handled later than they should be.
I plan to fix this in the near future.
 1.10 02-Oct-2002  thorpej branches: 1.10.2;
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 16-May-2002  thorpej * Add "pcitag_t *pba_bridgetag" to pci_attach_args. This is set to
NULL for root PCI busses. For busses behind a bridge, it points to
a persistent copy of the bridge's pcitag_t. This can be very useful
for machine-dependent PCI bus enumeration code.
* Implement a machine-dependent pci_enumerate_bus() for sparc64 which
uses OFW device nodes to enumerate the bus. When a PCI bus that is
behind a bridge is attached, pci_attach_hook() allocates a new PCI
chipset tag for the new bus and sets it's "curnode" to the OFW node
of the bridge. This is used as a starting point when enumerating
that bus. Root busses get the OFW node of the host bridge (psycho).
* Garbage-collect "ofpci" and "ofppb" from the sparc64 port.
 1.6 04-May-2002  chris branches: 1.6.2;
Implement a proper delay routine for footbridge based systems. Note that
until the footbridge is attached we still have to rely on a loop. This
uses TIMER_3 running at 100Hz.
Sadly this doesn't appear to fix the tlp problems, which either means that this
delay routine is not as accurate as it should/could be or tlp is still broken.
 1.5 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.4 05-Jan-2002  chris Make some of the arm32 files build with LOOSE_PROTOTYPES not set in the makefile. Turned up a few mismatched functions. Note that this isn't all of the arm32 files. Aim will be to get arm32 kernels built with LOOSE_PROTOTYPES not set.
 1.3 23-Nov-2001  thorpej Use <arm/cpufunc.h>, not <machine/cpufunc.h>.
 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 09-Jun-2001  chris branches: 1.1.2;
Move the footbridge dir out of arm32 into arm.
 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 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 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.9 03-Jan-2003  thorpej Sync with HEAD.
 1.2.6.8 11-Nov-2002  nathanw Catch up to -current
 1.2.6.7 18-Oct-2002  nathanw Catch up to -current.
 1.2.6.6 20-Jun-2002  nathanw Catch up to -current.
 1.2.6.5 17-Apr-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 footbridge.c was added on branch nathanw_sa on 2002-01-08 00:23:10 +0000
 1.6.2.1 30-May-2002  gehenna Catch up with -current.
 1.10.2.1 09-Nov-2002  bjh21 Catch up with -current.
 1.14.2.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.14.2.2 18-Sep-2004  skrll Sync with HEAD.
 1.14.2.1 03-Sep-2004  skrll Sync with HEAD
 1.15.12.2 21-Jan-2008  yamt sync with head
 1.15.12.1 26-Feb-2007  yamt sync with head.
 1.16.24.1 30-Apr-2007  bouyer Pull up following revision(s) (requested by rearnsha in ticket #592):
sys/arch/arm/footbridge/footbridgevar.h: revision 1.5
sys/arch/arm/ep93xx/epclk.c: revision 1.10
sys/arch/arm/ixp12x0/ixp12x0_clk.c: revision 1.11
sys/arch/arm/footbridge/footbridge.c: revision 1.17
sys/arch/arm/footbridge/isa/dsrtc.c: revision 1.10
sys/arch/arm/s3c2xx0/s3c2800_clk.c: revision 1.10
sys/arch/arm/xscale/ixp425_timer.c: revision 1.13
sys/arch/arm/xscale/becc_timer.c: revision 1.11
sys/arch/arm/xscale/i80321_timer.c: revision 1.16
sys/arch/arm/s3c2xx0/s3c24x0_clk.c: revision 1.7
Add generic TOD support. From Bucky Katz.
 1.16.20.1 12-Jan-2007  ad Sync with head.
 1.17.38.1 02-Jan-2008  bouyer Sync with HEAD
 1.17.34.1 26-Dec-2007  ad Sync with head.
 1.17.26.1 09-Jan-2008  matt sync with HEAD
 1.17.24.2 01-Jan-2008  chris Sync with HEAD.
 1.17.24.1 11-Aug-2007  chris Initial check-in of reworked arm interrupt routines.

Main things to note on this branch:
* spl routines are inlined, less complex, and small (kernel drops in size)
* interrupts are handled in priority order (for most things it doesn't
matter, but pending ipls are used to determine if there is any work to do)
* arm_irqhandler.c is derived from footbridge_irqhandler.c, which was based
on work by thorpej.
* The code tries to touch hardware as little as possible.
* spl masks are no longer tracked, as the system is based on pending ipls

The shared code uses global ipl lists to track which interrupt handlers
are attached to which ipl (arm_iplq[]).

Interrupt sources register with the common code to indicate:
* how many irq lines they have
* a function to set the hardware mask.
* call arm_intr_claim and arm_intr_disestablish to setup handlers

When an interrupt occurs the ipl is flagged as pending, in ipls_pending.
If it can be handled at the current_ipl_level the code does so.
If it can't be handled it's left until the current_ipl_level drops.

As the ipl level changes down a quick test is made of the new ipl level
against the ipls_pending value. If an ipl is pending arm_intr_splx_lifter
is called to handle the pending ipls.

It should be noted that all interrupts are left enabled at the hardware
level, interrupts are only masked when they occur. They are only
re-enabled after it's interrupt handler is called. Hardware masks are not
changed at any other time.

Soft interrupts are treated the same as hardware interrupts, they
register as a provider, and do not get treated specially. All the soft
interrupt handlers are placed onto the relevant global ipl queue, the same
as hard interrupts handlers.

At the moment only footbridge within a cats has been updated to use the new
handling.

Todo:
* change the handling of interrupts, so that the hardware doesn't register
a routine to fetch the hardware status. Instead is makes a call which
provides the mask. This removes the primary flag when registering an
interrupt provider. It also makes more sense with multiple interrupt
sources.
* Arm v5 has the clz asm, which could be used instead of the carefully
hand rolled arm_intr_fls function.
* switch cats isa support to use this framework.
* switch iomd and acorn32 to use this framework.
* switch shark to use this framework.
* port any other arm platforms that are interested
* examine overlaps between this code and ppcoea-renovation branch.
* add support for different trigger types (Edge, level, pulse, etc)

(note that iomd and shark currently touch hardware on every spl change,
hence why they're targets to port)
 1.17.20.1 26-Dec-2007  rjs Sync with HEAD.
 1.18.24.1 13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.18.18.1 28-Apr-2009  skrll Sync with HEAD.
 1.18.10.2 19-Aug-2009  yamt sync with head.
 1.18.10.1 04-May-2009  yamt sync with head.
 1.21.4.2 31-May-2011  rmind sync with head
 1.21.4.1 05-Mar-2011  rmind sync with head
 1.23.2.1 06-Jun-2011  jruoho Sync with HEAD.
 1.25.12.1 20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.25.2.1 30-Oct-2012  yamt sync with head
 1.26.52.1 02-Apr-2021  thorpej config_found_ia() -> config_found() w/ CFARG_IATTR.
 1.27.8.1 04-Aug-2021  thorpej Adapt to CFARGS().
 1.4 01-Jul-2011  dyoung #include <sys/bus.h> instead of <machine/bus.h>.
 1.3 14-Mar-2009  dsl Remove all the __P() from sys (excluding sys/dist)
Diff checked with grep and MK1 eyeball.
i386 and amd64 GENERIC and sys still build.
 1.2 04-May-2002  chris branches: 1.2.120; 1.2.128; 1.2.134;
Implement a proper delay routine for footbridge based systems. Note that
until the footbridge is attached we still have to rely on a loop. This
uses TIMER_3 running at 100Hz.
Sadly this doesn't appear to fix the tlp problems, which either means that this
delay routine is not as accurate as it should/could be or tlp is still broken.
 1.1 05-Jan-2002  chris branches: 1.1.2; 1.1.4;
Make some of the arm32 files build with LOOSE_PROTOTYPES not set in the makefile. Turned up a few mismatched functions. Note that this isn't all of the arm32 files. Aim will be to get arm32 kernels built with LOOSE_PROTOTYPES not set.
 1.1.4.3 20-Jun-2002  nathanw Catch up to -current.
 1.1.4.2 11-Jan-2002  nathanw More catchup.
 1.1.4.1 05-Jan-2002  nathanw file footbridge.h was added on branch nathanw_sa on 2002-01-11 23:38:02 +0000
 1.1.2.3 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.1.2.2 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.1.2.1 05-Jan-2002  thorpej file footbridge.h was added on branch kqueue on 2002-01-10 19:37:51 +0000
 1.2.134.1 13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.2.128.1 28-Apr-2009  skrll Sync with HEAD.
 1.2.120.1 04-May-2009  yamt sync with head.
 1.27 13-Aug-2021  skrll Trailing whitespace
 1.26 21-Jul-2009  skrll device_t/softc split
CFATTACH_DECL -> CFATTACH_DECL_NEW
struct device * -> device_t
struct cfdata * -> cfdata_t
Use aprint*
 1.25 20-Sep-2008  chris Fix kernel boot issue on cats.

The delay(9) loop, used before the clock device is probed and a hardware timer
is available, was out by a factor of 625.

This wasn't an issue until revision 1.45 of sys/dev/ic/pckbc.c which switched
to using delay(9) when polling the keyboard controller.

Cats attaches the console (and pckbc) before the clock has been probed, and so
the delay loop code is used causing issue with the keyboard polling.
 1.24 03-Dec-2007  ad branches: 1.24.14; 1.24.18; 1.24.20; 1.24.24;
Interrupt handling changes, in discussion since February:

- Reduce available SPL levels for hardware devices to none, vm, sched, high.
- Acquire kernel_lock only for interrupts at IPL_VM.
- Implement threaded soft interrupts.
 1.23 11-Sep-2006  gdamore branches: 1.23.10; 1.23.26; 1.23.28; 1.23.30; 1.23.32; 1.23.38;
Convert netwinder and cats (and any other footbridge based system in the
future) to timecounters, using the dc21285_fclk. ok nick@, chris@.
 1.22 11-Sep-2006  gdamore ANSIfy, and KNF fixes.
 1.21 17-Apr-2006  chris branches: 1.21.8;
Simplify delay loop by moving the maths to before the loop.
There is minimal risk of overflow unless something delays >134s.
 1.20 11-Dec-2005  christos branches: 1.20.4; 1.20.6; 1.20.8; 1.20.10; 1.20.12;
merge ktrace-lwp.
 1.19 02-Jun-2005  he branches: 1.19.2;
Adapt to shadowing and qualifier-cast warnings.
 1.18 05-Oct-2003  matt Add SA_SIGINFO support for ARM (from Chris Gilbert).
 1.17 23-Mar-2003  chris branches: 1.17.2;
Add __KERNEL_RCSID tags to footbridge files.
 1.16 17-Jan-2003  thorpej Merge the nathanw_sa branch.
 1.15 03-Nov-2002  chris Checkin new interrupt handling code for the footbridge.
This is based upon Jason's work on xscale.

Most of the interrupt handling code is now written in C using an asm stub to
call into the C code.

spl* now only updates a software mask, and does not update the hardware,
this should be much faster.

The new code works well on cats, it's untested on netwinder, but should work.

The code implements generic soft interrupts.

More work is still required to bring the isa interrupt handling code upto
scratch currently all isa interrupts are handled at IPL_BIO on the footbridge.
This may cause isa interrupts to be handled later than they should be.
I plan to fix this in the near future.
 1.14 29-Oct-2002  tsutsui Initialize statprev in setstatclockrate().
 1.13 10-Oct-2002  chris branches: 1.13.2;
Fix thinko from this morning, delay is reentrant, so resetting the timer
to 0 on entry will confuse any already running delay.
 1.12 10-Oct-2002  chris Minor tweaks to footbridge's delay, always reset the timer when starting delay run (and set last to the counter value).
When the read value is 0, reset the timer (don't wait till the next loop round to reset it)
Add a bit of debug to the calibration stuff to make sure its working ok.
 1.11 05-Oct-2002  chris Add random jitter to stat clock, the random jitter is +- 511 usec's, so
we should average the nominal clock rate.

stathz now runs at hz (the hard clock hz), without getting high amounts of
time in interrupt handling.
 1.10 02-Oct-2002  thorpej Use CFATTACH_DECL().
 1.9 28-Sep-2002  chris Enable the use of a seperate statclock.

Currently statclock runs at 64hz, maybe it should be faster or slower, I did
try it being the same as hz, but that just made it look like we spent 10% of
time handling interrupts, rather than the 3% that this gives.

Also fix the IPL_LEVELS for netwinder.
 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 04-May-2002  chris Implement a proper delay routine for footbridge based systems. Note that
until the footbridge is attached we still have to rely on a loop. This
uses TIMER_3 running at 100Hz.
Sadly this doesn't appear to fix the tlp problems, which either means that this
delay routine is not as accurate as it should/could be or tlp is still broken.
 1.5 02-May-2002  mycroft Fix off-by-one error in delay().
 1.4 05-Jan-2002  chris Make some of the arm32 files build with LOOSE_PROTOTYPES not set in the makefile. Turned up a few mismatched functions. Note that this isn't all of the arm32 files. Aim will be to get arm32 kernels built with LOOSE_PROTOTYPES not set.
 1.3 23-Nov-2001  thorpej Use <arm/cpufunc.h>, not <machine/cpufunc.h>.
 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 09-Jun-2001  chris branches: 1.1.2;
Move the footbridge dir out of arm32 into arm.
 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 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 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.8 11-Nov-2002  nathanw Catch up to -current
 1.2.6.7 18-Oct-2002  nathanw Catch up to -current.
 1.2.6.6 20-Jun-2002  nathanw Catch up to -current.
 1.2.6.5 11-Apr-2002  thorpej TIMER_MAX -> TIMER_MAX_VAL, so as not to conflict with TIMER_MAX
in <sys/time.h>
 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 footbridge_clock.c was added on branch nathanw_sa on 2002-01-08 00:23:10 +0000
 1.13.2.1 09-Nov-2002  bjh21 Catch up with -current.
 1.17.2.4 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.17.2.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.17.2.2 18-Sep-2004  skrll Sync with HEAD.
 1.17.2.1 03-Aug-2004  skrll Sync with HEAD
 1.19.2.3 07-Dec-2007  yamt sync with head
 1.19.2.2 30-Dec-2006  yamt sync with head.
 1.19.2.1 21-Jun-2006  yamt sync with head.
 1.20.12.1 24-May-2006  tron Merge 2006-05-24 NetBSD-current into the "peter-altq" branch.
 1.20.10.1 19-Apr-2006  elad sync with head - hopefully this will work
 1.20.8.2 14-Sep-2006  yamt sync with head.
 1.20.8.1 24-May-2006  yamt sync with head.
 1.20.6.1 22-Apr-2006  simonb Sync with head.
 1.20.4.1 09-Sep-2006  rpaulo sync with head
 1.21.8.1 18-Nov-2006  ad Sync with head.
 1.23.38.1 08-Dec-2007  mjf Sync with HEAD.
 1.23.32.1 09-Jan-2008  matt sync with HEAD
 1.23.30.1 01-Jan-2008  chris Sync with HEAD.
 1.23.28.1 09-Dec-2007  jmcneill Sync with HEAD.
 1.23.26.1 26-Dec-2007  rjs Sync with HEAD.
 1.23.10.1 03-Dec-2007  ad Sync with HEAD.
 1.24.24.1 19-Oct-2008  haad Sync with HEAD.
 1.24.20.1 10-Oct-2008  skrll Sync with HEAD.
 1.24.18.2 19-Aug-2009  yamt sync with head.
 1.24.18.1 04-May-2009  yamt sync with head.
 1.24.14.1 28-Sep-2008  mjf Sync with HEAD.
 1.40 13-Aug-2021  skrll Trailing whitespace
 1.39 20-Nov-2020  thorpej malloc(9) -> kmem(9)
 1.38 25-Jul-2014  dholland branches: 1.38.40;
Add d_discard to all struct cdevsw instances I could find.

All have been set to "nodiscard"; some should get a real implementation.
 1.37 16-Mar-2014  dholland branches: 1.37.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.36 17-Nov-2013  skrll Remove unused variables.
 1.35 10-Oct-2012  skrll branches: 1.35.2;
Update comments to reflect the real function prototypes.

From chuq.
 1.34 01-Jul-2011  dyoung branches: 1.34.2; 1.34.12;
#include <sys/bus.h> instead of <machine/bus.h>.
 1.33 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.32 21-Jul-2009  skrll branches: 1.32.4; 1.32.6;
device_t/softc split
CFATTACH_DECL -> CFATTACH_DECL_NEW
struct device * -> device_t
struct cfdata * -> cfdata_t
Use aprint*
 1.31 14-Mar-2009  dsl ANSIfy another 1261 function definitions.
The only ones left in sys are beyond by sed script!
(or in sys/dist or sys/external)
Mostly they have function pointer parameters.
 1.30 14-Mar-2009  dsl Change about 4500 of the K&R function definitions to ANSI ones.
There are still about 1600 left, but they have ',' or /* ... */
in the actual variable definitions - which my awk script doesn't handle.
There are also many that need () -> (void).
(The script does handle misordered arguments.)
 1.29 14-Mar-2009  dsl Remove all the __P() from sys (excluding sys/dist)
Diff checked with grep and MK1 eyeball.
i386 and amd64 GENERIC and sys still build.
 1.28 13-Jun-2008  cegger branches: 1.28.4; 1.28.10;
use device_lookup_private to get softc
 1.27 19-Nov-2007  ad branches: 1.27.14; 1.27.16; 1.27.18; 1.27.20; 1.27.22;
- Factor out too many copies of the same bit of tty code.
- Fix another tty signalling/wakeup problem.
 1.26 18-Oct-2007  joerg branches: 1.26.2;
Initialise the callbacks for tty.t_rstrt_ch in ttymalloc
as all drivers but Sun/SPARC's kd.c use the same arguments.
Separate callout_reset into callout_schedule and the initial
callout_setfunc using that.
 1.25 17-Oct-2007  garbled Merge the ppcoea-renovation branch to HEAD.

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

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

NOTES:
pmppc was removed as an arch, and moved to a evbppc target.
 1.24 09-Jul-2007  ad branches: 1.24.6; 1.24.8; 1.24.10; 1.24.12; 1.24.16;
Merge some of the less invasive changes from the vmlocking branch:

- kthread, callout, devsw API changes
- select()/poll() improvements
- miscellaneous MT safety improvements
 1.23 04-Mar-2007  christos branches: 1.23.2; 1.23.4; 1.23.10;
Kill caddr_t; there will be some MI fallout, but it will be fixed shortly.
 1.22 01-Oct-2006  elad branches: 1.22.4;
More from Matt Fleming:

Adapt to KAUTH_DEVICE_TTY_PRIVSET and KAUTH_DEVICE_TTY_OPEN.
 1.21 01-Oct-2006  elad Adapt MD code to KAUTH_DEVICE_TTY_OPEN. Patch from Matt Fleming, thanks!
 1.20 23-Jul-2006  ad branches: 1.20.4; 1.20.6;
Use the LWP cached credentials where sane.
 1.19 14-May-2006  elad integrate kauth.
 1.18 26-Mar-2006  thorpej Use device_unit().
 1.17 06-Mar-2006  he branches: 1.17.2; 1.17.4;
Delete the local definitions of CLR, SET and ISSET, since they are
now in <sys/types.h>.
 1.16 11-Dec-2005  christos branches: 1.16.4; 1.16.6; 1.16.8;
merge ktrace-lwp.
 1.15 29-Jun-2003  fvdl branches: 1.15.2; 1.15.18;
Back out the lwp/ktrace changes. They contained a lot of colateral damage,
and need to be examined and discussed more.
 1.14 29-Jun-2003  chris Fixes to get cats build going following proc to lwp changes.
 1.13 23-Mar-2003  chris Add __KERNEL_RCSID tags to footbridge files.
 1.12 06-Mar-2003  skrll Add NULL cn_halt and cn_flush entries to consdevs. Hi Matt!
 1.11 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.10 03-Nov-2002  chris Checkin new interrupt handling code for the footbridge.
This is based upon Jason's work on xscale.

Most of the interrupt handling code is now written in C using an asm stub to
call into the C code.

spl* now only updates a software mask, and does not update the hardware,
this should be much faster.

The new code works well on cats, it's untested on netwinder, but should work.

The code implements generic soft interrupts.

More work is still required to bring the isa interrupt handling code upto
scratch currently all isa interrupts are handled at IPL_BIO on the footbridge.
This may cause isa interrupts to be handled later than they should be.
I plan to fix this in the near future.
 1.9 23-Oct-2002  jdolecek merge kqueue branch into -current

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

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

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

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

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

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

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

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

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

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

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

- In compile time, device major numbers list is packed into the kernel and
the LKM framework will refer it to assign device major number dynamically.
 1.4 17-Mar-2002  atatat branches: 1.4.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.3 05-Jan-2002  chris Make some of the arm32 files build with LOOSE_PROTOTYPES not set in the makefile. Turned up a few mismatched functions. Note that this isn't all of the arm32 files. Aim will be to get arm32 kernels built with LOOSE_PROTOTYPES not set.
 1.2 05-Sep-2001  matt branches: 1.2.2; 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 09-Jun-2001  chris branches: 1.1.2;
Move the footbridge dir out of arm32 into arm.
 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 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 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.7 11-Nov-2002  nathanw Catch up to -current
 1.2.6.6 18-Oct-2002  nathanw Catch up to -current.
 1.2.6.5 17-Sep-2002  nathanw Catch up to -current.
 1.2.6.4 01-Apr-2002  nathanw Catch up to -current.
(CVS: It's not just a program. It's an adventure!)
 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 05-Sep-2001  nathanw file footbridge_com.c was added on branch nathanw_sa on 2002-01-11 23:38:03 +0000
 1.2.2.2 13-Oct-2001  fvdl Revert the t_dev -> t_devvp change in struct tty. The way that tty
structs are currently used (especially by console ttys) aren't
ready for it, and this will require quite a few changes.
 1.2.2.1 10-Oct-2001  fvdl Convert all remaining devices.
 1.4.4.1 19-May-2002  gehenna Add device switch.
Replace the access to devsw table and the hard-coded majors with devsw API.
 1.8.2.2 09-Nov-2002  bjh21 Catch up with -current.
 1.8.2.1 24-Oct-2002  bjh21 Sync with trunk.
 1.15.18.5 07-Dec-2007  yamt sync with head
 1.15.18.4 27-Oct-2007  yamt sync with head.
 1.15.18.3 03-Sep-2007  yamt sync with head.
 1.15.18.2 30-Dec-2006  yamt sync with head.
 1.15.18.1 21-Jun-2006  yamt sync with head.
 1.15.2.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.15.2.2 18-Sep-2004  skrll Sync with HEAD.
 1.15.2.1 13-Aug-2004  skrll Adapt to branch.

cats GENERIC compiles.
 1.16.8.4 11-Aug-2006  yamt sync with head
 1.16.8.3 24-May-2006  yamt sync with head.
 1.16.8.2 01-Apr-2006  yamt sync with head.
 1.16.8.1 13-Mar-2006  yamt sync with head.
 1.16.6.2 01-Jun-2006  kardel Sync with head.
 1.16.6.1 22-Apr-2006  simonb Sync with head.
 1.16.4.1 09-Sep-2006  rpaulo sync with head
 1.17.4.2 24-May-2006  tron Merge 2006-05-24 NetBSD-current into the "peter-altq" branch.
 1.17.4.1 28-Mar-2006  tron Merge 2006-03-28 NetBSD-current into the "peter-altq" branch.
 1.17.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.17.2.3 19-Apr-2006  elad sync with head - hopefully this will work
 1.17.2.2 10-Mar-2006  elad generic_authorize() -> kauth_authorize_generic().
 1.17.2.1 08-Mar-2006  elad Adapt to kernel authorization KPI.

I expect *some* lossage here...
 1.20.6.1 22-Oct-2006  yamt sync with head
 1.20.4.1 18-Nov-2006  ad Sync with head.
 1.22.4.1 12-Mar-2007  rmind Sync with HEAD.
 1.23.10.1 03-Oct-2007  garbled Sync with HEAD
 1.23.4.1 11-Jul-2007  mjf Sync with head.
 1.23.2.3 03-Dec-2007  ad Sync with HEAD.
 1.23.2.2 23-Oct-2007  ad Sync with head.
 1.23.2.1 15-Jul-2007  ad Sync with head.
 1.24.16.2 21-Nov-2007  bouyer Sync with HEAD
 1.24.16.1 25-Oct-2007  bouyer Sync with HEAD.
 1.24.12.2 09-Jan-2008  matt sync with HEAD
 1.24.12.1 06-Nov-2007  matt sync with HEAD
 1.24.10.1 01-Jan-2008  chris Sync with HEAD.
 1.24.8.2 21-Nov-2007  joerg Sync with HEAD.
 1.24.8.1 26-Oct-2007  joerg Sync with HEAD.

Follow the merge of pmap.c on i386 and amd64 and move
pmap_init_tmp_pgtbl into arch/x86/x86/pmap.c. Modify the ACPI wakeup
code to restore CR4 before jumping back into kernel space as the large
page option might cover that.
 1.24.6.2 26-Dec-2007  rjs Sync with HEAD.
 1.24.6.1 01-Nov-2007  rjs Sync with HEAD.
 1.26.2.1 08-Dec-2007  mjf Sync with HEAD.
 1.27.22.1 18-Jun-2008  simonb Sync with head.
 1.27.20.1 23-Jun-2008  wrstuden Sync w/ -current. 34 merge conflicts to follow.
 1.27.18.2 19-Aug-2009  yamt sync with head.
 1.27.18.1 04-May-2009  yamt sync with head.
 1.27.16.1 17-Jun-2008  yamt sync with head.
 1.27.14.1 29-Jun-2008  mjf Sync with HEAD.
 1.28.10.1 13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.28.4.1 28-Apr-2009  skrll Sync with HEAD.
 1.32.6.1 06-Jun-2011  jruoho Sync with HEAD.
 1.32.4.1 31-May-2011  rmind sync with head
 1.34.12.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.34.12.1 20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.34.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.34.2.1 30-Oct-2012  yamt sync with head
 1.35.2.1 18-May-2014  rmind sync with head
 1.37.2.1 10-Aug-2014  tls Rebase.
 1.38.40.1 14-Dec-2020  thorpej Sync w/ HEAD.
 1.10 13-Aug-2021  skrll Trailing whitespace
 1.9 16-Mar-2018  ryo use designated initializer to make adaptability and flexibility for changing struct bus_space.
no functional change.
 1.8 12-Feb-2012  matt branches: 1.8.46;
Change old-style function defintions to C89 prototypes.

Approved by releng.
 1.7 01-Jul-2011  dyoung branches: 1.7.2; 1.7.6;
#include <sys/bus.h> instead of <machine/bus.h>.
 1.6 14-Mar-2009  dsl ANSIfy another 1261 function definitions.
The only ones left in sys are beyond by sed script!
(or in sys/dist or sys/external)
Mostly they have function pointer parameters.
 1.5 23-Mar-2003  chris branches: 1.5.110; 1.5.118; 1.5.124;
Add __KERNEL_RCSID tags to footbridge files.
 1.4 27-Sep-2002  provos remove trailing \n in panic(). approved perry.
 1.3 12-Apr-2002  thorpej Use the bus_space_generic bus space ops.
 1.2 10-Sep-2001  chris branches: 1.2.4;
Add stubs for mmap to footbridge, must implement proper mmap real soon.
 1.1 09-Jun-2001  chris branches: 1.1.2; 1.1.4;
Move the footbridge dir out of arm32 into arm.
 1.1.4.1 01-Oct-2001  fvdl Catch up with -current.
 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 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.1.2.1 13-Sep-2001  thorpej Update the kqueue branch to HEAD.
 1.2.4.3 18-Oct-2002  nathanw Catch up to -current.
 1.2.4.2 17-Apr-2002  nathanw Catch up to -current.
 1.2.4.1 10-Sep-2001  nathanw file footbridge_com_io.c was added on branch nathanw_sa on 2002-04-17 00:02:28 +0000
 1.5.124.1 13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.5.118.1 28-Apr-2009  skrll Sync with HEAD.
 1.5.110.1 04-May-2009  yamt sync with head.
 1.7.6.1 18-Feb-2012  mrg merge to -current.
 1.7.2.1 17-Apr-2012  yamt sync with head
 1.8.46.1 22-Mar-2018  pgoyette Synch with HEAD, resolve conflicts
 1.2 12-Apr-2002  thorpej Use the bus_space_generic bus space ops.
 1.1 09-Jun-2001  chris branches: 1.1.2; 1.1.8;
Move the footbridge dir out of arm32 into arm.
 1.1.8.2 17-Apr-2002  nathanw Catch up to -current.
 1.1.8.1 09-Jun-2001  nathanw file footbridge_com_io_asm.S was added on branch nathanw_sa on 2002-04-17 00:02:29 +0000
 1.1.2.1 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.22 13-Aug-2021  skrll Trailing whitespace
 1.21 09-Dec-2020  martin Remove <sys/param.h> include and assume users already include that.
Removes an include cycle when including <sys/resource.h> via:
ys/time.h, sys/timevar.h, sys/mutex.h, sys/intr.h on top of this
file, and sys/param.h, uvm/uvm_param.h, sys/resourcevar.h below.
 1.20 01-Jun-2018  mrg branches: 1.20.14;
include <sys/param.h> for the cddl proc.h vs our lwp.h.

this fixes build issues with cats/netwinder since the zfs/dtrace update.
 1.19 25-Jan-2016  christos branches: 1.19.16;
protect locore.
 1.18 25-Jan-2016  christos Move the ipl_cookie_t definition earlier, since the mutex internal impl
uses it.
 1.17 25-Jan-2016  christos This is a mess:

-> sys/mutex.h -> sys/intr.h -> machine/intr.h -> footbridge/footbridge_intr.h
-> arm/cpu.h -> sys/cpu_data.h -> sys/sched.h -> sys/time.h -> sys/timevar.h
-> sys/systm.h -> sys/param.h -> uvm_param.h -> sys/resourcevar.h

Now sys/resourcevar.h needs a concrete definition of kmutex_t, and
although we started including sys/mutex.h we never got to include
machine/mutex.h which actually defines it, since the footbridge_intr.h
took us for a long ride. Take the easy way out and include
arm/mutex.h in footbridge_intr.h so that we get the definition we
need.
 1.16 04-Feb-2014  matt branches: 1.16.6;
_setsoftintr is long dead. reap any leftovers from arm.
 1.15 10-Jun-2012  skrll branches: 1.15.2; 1.15.4;
Remove unused __NEWINTR defines
 1.14 13-Feb-2009  he branches: 1.14.12;
Allow kern_ssp.c to build. That file includes <sys/intr.h> without
first including <sys/cpu.h>, so include <arm/cpu.h> here so that
curcpl() and set_curcpl() are declared before they are used.
 1.13 27-Apr-2008  matt branches: 1.13.8; 1.13.10; 1.13.14;
Merge kernel changes in matt-armv6 to HEAD.
 1.12 04-Jan-2008  ad branches: 1.12.6; 1.12.8; 1.12.10;
Header cleanup.
 1.11 03-Dec-2007  ad branches: 1.11.6;
Interrupt handling changes, in discussion since February:

- Reduce available SPL levels for hardware devices to none, vm, sched, high.
- Acquire kernel_lock only for interrupts at IPL_VM.
- Implement threaded soft interrupts.
 1.10 09-Mar-2007  thorpej branches: 1.10.2; 1.10.16; 1.10.18; 1.10.20; 1.10.22; 1.10.28;
Make ipl_t and ipl_cookie_t 8-bit values. kmutex is now down to 12 bytes
(from 20) on ARM.

Approved by Matt Thomas.
 1.9 21-Dec-2006  yamt branches: 1.9.2;
merge yamt-splraiseipl branch.

- finish implementing splraiseipl (and makeiplcookie).
http://mail-index.NetBSD.org/tech-kern/2006/07/01/0000.html
- complete workqueue(9) and fix its ipl problem, which is reported
to cause audio skipping.
- fix netbt (at least compilation problems) for some ports.
- fix PR/33218.
 1.8 16-Apr-2006  chris branches: 1.8.8; 1.8.10;
Use __insn_barrier() to prevent the compiler reordering splx/splraise
relative to the code they're supposed to protect.
 1.7 01-Jan-2006  yamt branches: 1.7.2; 1.7.4; 1.7.6; 1.7.8; 1.7.10;
implement splraiseipl() for the following ports.
evbarm, iyonix, cats, netwinder, acorn26

reviewed by Bill Studenmund.
 1.6 24-Dec-2005  perry branches: 1.6.2;
Remove leading __ from __(const|inline|signed|volatile) -- it is obsolete.
 1.5 16-Jun-2003  thorpej branches: 1.5.18;
Rename IPL_IMP -> IPL_VM.
 1.4 03-Jan-2003  thorpej Use the generic irq_dispatch.S
 1.3 11-Nov-2002  chris Belatedly correct the copyright notice. I ported the new footbridge IRQ code
from the xscale interrupt code, it therefore should have Jason/Wasabi
copyright.

There is none of the original arm32 derived interrupt code here.
 1.2 03-Nov-2002  chris Checkin new interrupt handling code for the footbridge.
This is based upon Jason's work on xscale.

Most of the interrupt handling code is now written in C using an asm stub to
call into the C code.

spl* now only updates a software mask, and does not update the hardware,
this should be much faster.

The new code works well on cats, it's untested on netwinder, but should work.

The code implements generic soft interrupts.

More work is still required to bring the isa interrupt handling code upto
scratch currently all isa interrupts are handled at IPL_BIO on the footbridge.
This may cause isa interrupts to be handled later than they should be.
I plan to fix this in the near future.
 1.1 28-Sep-2002  chris branches: 1.1.2; 1.1.4; 1.1.6;
cats and netwinder can share a common footbridge_intr.h file, so install and
share a common file.
 1.1.6.1 09-Nov-2002  bjh21 Catch up with -current.
 1.1.4.5 03-Jan-2003  thorpej Sync with HEAD.
 1.1.4.4 11-Dec-2002  thorpej Sync with HEAD.
 1.1.4.3 11-Nov-2002  nathanw Catch up to -current
 1.1.4.2 18-Oct-2002  nathanw Catch up to -current.
 1.1.4.1 28-Sep-2002  nathanw file footbridge_intr.h was added on branch nathanw_sa on 2002-10-18 02:35:25 +0000
 1.1.2.2 10-Oct-2002  jdolecek sync kqueue with -current; this includes merge of gehenna-devsw branch,
merge of i386 MP branch, and part of autoconf rototil work
 1.1.2.1 28-Sep-2002  jdolecek file footbridge_intr.h was added on branch kqueue on 2002-10-10 18:31:47 +0000
 1.5.18.5 21-Jan-2008  yamt sync with head
 1.5.18.4 07-Dec-2007  yamt sync with head
 1.5.18.3 03-Sep-2007  yamt sync with head.
 1.5.18.2 30-Dec-2006  yamt sync with head.
 1.5.18.1 21-Jun-2006  yamt sync with head.
 1.6.2.1 15-Jan-2006  yamt sync with head.
 1.7.10.1 24-May-2006  tron Merge 2006-05-24 NetBSD-current into the "peter-altq" branch.
 1.7.8.1 19-Apr-2006  elad sync with head - hopefully this will work
 1.7.6.1 24-May-2006  yamt sync with head.
 1.7.4.1 22-Apr-2006  simonb Sync with head.
 1.7.2.1 09-Sep-2006  rpaulo sync with head
 1.8.10.1 21-Sep-2006  yamt implement new api for cats and netwinder.
 1.8.8.1 12-Jan-2007  ad Sync with head.
 1.9.2.1 12-Mar-2007  rmind Sync with HEAD.
 1.10.28.2 18-Feb-2008  mjf Sync with HEAD.
 1.10.28.1 08-Dec-2007  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.5 20-Jan-2008  chris Sync to HEAD.
 1.10.20.4 01-Jan-2008  chris Sync with HEAD.
 1.10.20.3 18-Aug-2007  chris Rework registration call, so that it no longer takes a status paramater.

Rework dispatch routines, so no implicit ordering is required in the irq
groups. This removes the primary flag, and also makes hardware dependant
dispatch routines again.

Update arm_intr_queue_irqs to disable interrupts. This is necessary when
child buses are present, eg isa bus, as the isa interrupt handler is
called with interrupts enabled, and I believe that the footbridge handler
was trampling on the isa handler setting up pending flags.

cats can now install using the update irq code (previously it would
randomly hang)
 1.10.20.2 12-Aug-2007  chris Switch footbridge isa to use common code. This required changes to the
arm code:
* intr_claim now takes a type to indicate edge, level or pulse. It has
isa level understanding of types and uses a callback to set the hardware
type.
* slightly adjust how pending interrupts are queued up.
* switch the ICU setup code to make use the defines in i8259reg.h, rather
than using magic numbers.
 1.10.20.1 11-Aug-2007  chris Initial check-in of reworked arm interrupt routines.

Main things to note on this branch:
* spl routines are inlined, less complex, and small (kernel drops in size)
* interrupts are handled in priority order (for most things it doesn't
matter, but pending ipls are used to determine if there is any work to do)
* arm_irqhandler.c is derived from footbridge_irqhandler.c, which was based
on work by thorpej.
* The code tries to touch hardware as little as possible.
* spl masks are no longer tracked, as the system is based on pending ipls

The shared code uses global ipl lists to track which interrupt handlers
are attached to which ipl (arm_iplq[]).

Interrupt sources register with the common code to indicate:
* how many irq lines they have
* a function to set the hardware mask.
* call arm_intr_claim and arm_intr_disestablish to setup handlers

When an interrupt occurs the ipl is flagged as pending, in ipls_pending.
If it can be handled at the current_ipl_level the code does so.
If it can't be handled it's left until the current_ipl_level drops.

As the ipl level changes down a quick test is made of the new ipl level
against the ipls_pending value. If an ipl is pending arm_intr_splx_lifter
is called to handle the pending ipls.

It should be noted that all interrupts are left enabled at the hardware
level, interrupts are only masked when they occur. They are only
re-enabled after it's interrupt handler is called. Hardware masks are not
changed at any other time.

Soft interrupts are treated the same as hardware interrupts, they
register as a provider, and do not get treated specially. All the soft
interrupt handlers are placed onto the relevant global ipl queue, the same
as hard interrupts handlers.

At the moment only footbridge within a cats has been updated to use the new
handling.

Todo:
* change the handling of interrupts, so that the hardware doesn't register
a routine to fetch the hardware status. Instead is makes a call which
provides the mask. This removes the primary flag when registering an
interrupt provider. It also makes more sense with multiple interrupt
sources.
* Arm v5 has the clz asm, which could be used instead of the carefully
hand rolled arm_intr_fls function.
* switch cats isa support to use this framework.
* switch iomd and acorn32 to use this framework.
* switch shark to use this framework.
* port any other arm platforms that are interested
* examine overlaps between this code and ppcoea-renovation branch.
* add support for different trigger types (Edge, level, pulse, etc)

(note that iomd and shark currently touch hardware on every spl change,
hence why they're targets to port)
 1.10.18.1 09-Dec-2007  jmcneill Sync with HEAD.
 1.10.16.2 28-Feb-2008  rjs Sync with HEAD.
 1.10.16.1 26-Dec-2007  rjs Sync with HEAD.
 1.10.2.1 03-Dec-2007  ad Sync with HEAD.
 1.11.6.1 08-Jan-2008  bouyer Sync with HEAD
 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.1 18-May-2008  yamt sync with head.
 1.12.6.1 02-Jun-2008  mjf Sync with HEAD.
 1.13.14.1 13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.13.10.1 15-Mar-2009  snj Pull up following revision(s) (requested by christos in ticket #458):
sys/arch/arm/footbridge/footbridge_intr.h: revision 1.14
Allow kern_ssp.c to build. That file includes <sys/intr.h> without
first including <sys/cpu.h>, so include <arm/cpu.h> here so that
curcpl() and set_curcpl() are declared before they are used.
 1.13.8.1 03-Mar-2009  skrll Sync with HEAD.
 1.14.12.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.14.12.1 30-Oct-2012  yamt sync with head
 1.15.4.1 18-May-2014  rmind sync with head
 1.15.2.2 03-Dec-2017  jdolecek update from HEAD
 1.15.2.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.16.6.1 19-Mar-2016  skrll Sync with HEAD
 1.19.16.1 25-Jun-2018  pgoyette Sync with HEAD
 1.20.14.1 14-Dec-2020  thorpej Sync w/ HEAD.
 1.26 23-May-2022  andvar s/boundries/boundaries/, s/itterate/iterate/ and few more typos.
 1.25 13-Aug-2021  skrll Trailing whitespace
 1.24 16-Mar-2018  ryo use designated initializer to make adaptability and flexibility for changing struct bus_space.
no functional change.
 1.23 13-Jun-2017  skrll branches: 1.23.4;
Use devmap if available
 1.22 22-Feb-2014  matt branches: 1.22.6; 1.22.22;
Don't manipulate the pte to get uncached memory, use PMAP_NOCACHE instead.
Convert footbring to kenter_pa/kremove
 1.21 12-Feb-2012  matt branches: 1.21.6; 1.21.10;
Change old-style function defintions to C89 prototypes.

Approved by releng.
 1.20 01-Jul-2011  dyoung branches: 1.20.2; 1.20.6;
#include <sys/bus.h> instead of <machine/bus.h>.
 1.19 22-Nov-2010  skrll Fix thinko in previous.
 1.18 18-Nov-2010  skrll Implement footbridge_io_bs_mmap.
 1.17 18-Nov-2010  skrll Whitespace.
 1.16 15-Dec-2009  skrll branches: 1.16.4;
Fix ancient bug. footbridge_mem_bs_mmap should return a page number.
 1.15 14-Mar-2009  dsl ANSIfy another 1261 function definitions.
The only ones left in sys are beyond by sed script!
(or in sys/dist or sys/external)
Mostly they have function pointer parameters.
 1.14 17-Oct-2007  garbled branches: 1.14.20; 1.14.28; 1.14.34;
Merge the ppcoea-renovation branch to HEAD.

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

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

NOTES:
pmppc was removed as an arch, and moved to a evbppc target.
 1.13 18-Jul-2007  uwe branches: 1.13.6; 1.13.8;
Implement footbridge_mem_bs_mmap. Needed for mmaping igsfb(4)
framebuffer on netwinder.
 1.12 24-Nov-2005  yamt branches: 1.12.24; 1.12.30; 1.12.38; 1.12.40; 1.12.42; 1.12.44;
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.11 30-Jul-2005  chris branches: 1.11.6;
When the footbridge does a bus space mapping it should default to
making the mapping not cacheable, and only allow caching if the relevant
flag is passed in.

This doesn't seem to fix, or break anything, but it matches the expected
bus space API.
 1.10 01-Apr-2005  yamt branches: 1.10.2;
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.9 01-Apr-2003  thorpej branches: 1.9.2; 1.9.10; 1.9.12;
Use PAGE_SIZE rather than NBPG.
 1.8 23-Mar-2003  chris Add __KERNEL_RCSID tags to footbridge files.
 1.7 27-Sep-2002  provos remove trailing \n in panic(). approved perry.
 1.6 12-Apr-2002  thorpej Use the bus_space_generic bus space ops.
 1.5 05-Jan-2002  chris Make some of the arm32 files build with LOOSE_PROTOTYPES not set in the makefile. Turned up a few mismatched functions. Note that this isn't all of the arm32 files. Aim will be to get arm32 kernels built with LOOSE_PROTOTYPES not set.
 1.4 10-Sep-2001  chris branches: 1.4.4;
Add stubs for mmap to footbridge, must implement proper mmap real soon.
 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 09-Jun-2001  chris branches: 1.1.2;
Move the footbridge dir out of arm32 into arm.
 1.1.2.5 10-Oct-2002  jdolecek sync kqueue with -current; this includes merge of gehenna-devsw branch,
merge of i386 MP branch, and part of autoconf rototil work
 1.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.5 18-Oct-2002  nathanw Catch up to -current.
 1.4.4.4 17-Apr-2002  nathanw Catch up to -current.
 1.4.4.3 28-Feb-2002  nathanw Catch up to -current.
 1.4.4.2 11-Jan-2002  nathanw More catchup.
 1.4.4.1 10-Sep-2001  nathanw file footbridge_io.c was added on branch nathanw_sa on 2002-01-11 23:38:03 +0000
 1.9.12.2 11-Feb-2005  yamt fix a typo.
 1.9.12.1 28-Jan-2005  yamt convert arch/arm to new apis.
 1.9.10.1 29-Apr-2005  kent sync with -current
 1.9.2.3 11-Dec-2005  christos Sync with head.
 1.9.2.2 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.9.2.1 01-Apr-2005  skrll Sync with HEAD.
 1.10.2.2 03-Sep-2007  yamt sync with head.
 1.10.2.1 21-Jun-2006  yamt sync with head.
 1.11.6.1 29-Nov-2005  yamt sync with head.
 1.12.44.1 15-Aug-2007  skrll Sync with HEAD.
 1.12.42.1 07-Aug-2007  matt Sync with HEAD.
 1.12.40.1 03-Sep-2007  wrstuden Sync w/ NetBSD-4-RC_1
 1.12.38.1 03-Oct-2007  garbled Sync with HEAD
 1.12.30.1 20-Aug-2007  ad Sync with HEAD.
 1.12.24.1 23-Jul-2007  liamjfoy Pull up following revision(s) (requested by uwe in ticket #784):
sys/arch/arm/footbridge/footbridge_io.c: revision 1.13
Implement footbridge_mem_bs_mmap. Needed for mmaping igsfb(4)
framebuffer on netwinder.
 1.13.8.1 06-Nov-2007  matt sync with HEAD
 1.13.6.1 01-Jan-2008  chris Sync with HEAD.
 1.14.34.1 13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.14.28.1 28-Apr-2009  skrll Sync with HEAD.
 1.14.20.2 11-Mar-2010  yamt sync with head
 1.14.20.1 04-May-2009  yamt sync with head.
 1.16.4.1 05-Mar-2011  rmind sync with head
 1.20.6.1 18-Feb-2012  mrg merge to -current.
 1.20.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.20.2.1 17-Apr-2012  yamt sync with head
 1.21.10.1 18-May-2014  rmind sync with head
 1.21.6.2 03-Dec-2017  jdolecek update from HEAD
 1.21.6.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.22.22.1 05-Jul-2017  martin Pull up following revision(s) (requested by skrll in ticket #83):
sys/arch/cats/cats/cats_machdep.c: revision 1.84
sys/arch/arm/footbridge/footbridge_io.c: revision 1.23
sys/arch/cats/conf/GENERIC: revision 1.162
Use devmap if available
Now that bus_space can use devmap - use it for early console
Comment out a bunch of thing so that a GENERIC kernel boots on my cats
with cyclone firmware
 1.22.6.1 28-Aug-2017  skrll Sync with HEAD
 1.23.4.1 22-Mar-2018  pgoyette Synch with HEAD, resolve conflicts
 1.2 12-Apr-2002  thorpej Use the bus_space_generic bus space ops.
 1.1 09-Jun-2001  chris branches: 1.1.2; 1.1.8;
Move the footbridge dir out of arm32 into arm.
 1.1.8.2 17-Apr-2002  nathanw Catch up to -current.
 1.1.8.1 09-Jun-2001  nathanw file footbridge_io_asm.S was added on branch nathanw_sa on 2002-04-17 00:02:29 +0000
 1.1.2.1 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.6 03-Jan-2003  thorpej Use the generic irq_dispatch.S
 1.5 02-Jan-2003  thorpej Garbage-collect prev_intr_depth; nothing uses it.
 1.4 03-Nov-2002  chris Checkin new interrupt handling code for the footbridge.
This is based upon Jason's work on xscale.

Most of the interrupt handling code is now written in C using an asm stub to
call into the C code.

spl* now only updates a software mask, and does not update the hardware,
this should be much faster.

The new code works well on cats, it's untested on netwinder, but should work.

The code implements generic soft interrupts.

More work is still required to bring the isa interrupt handling code upto
scratch currently all isa interrupts are handled at IPL_BIO on the footbridge.
This may cause isa interrupts to be handled later than they should be.
I plan to fix this in the near future.
 1.3 14-Oct-2002  bjh21 branches: 1.3.2;
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.2 19-Aug-2001  matt branches: 1.2.6;
Change local offset/label for irqhandlers to Lirqhandlers. Because in
ELF _C_LABEL(irqhandlers) == irqhandlers so we were getting self-referential
pointer which causes the IRQ to fall on itself. [With this change the
netwinder kernel can now be *ELF* and boots to multiuser]
 1.1 09-Jun-2001  chris branches: 1.1.2;
Move the footbridge dir out of arm32 into arm.
 1.1.2.1 25-Aug-2001  thorpej Merge Aug 24 -current into the kqueue branch.
 1.2.6.4 03-Jan-2003  thorpej Sync with HEAD.
 1.2.6.3 11-Nov-2002  nathanw Catch up to -current
 1.2.6.2 18-Oct-2002  nathanw Catch up to -current.
 1.2.6.1 19-Aug-2001  nathanw file footbridge_irq.S was added on branch nathanw_sa on 2002-10-18 02:35:25 +0000
 1.3.2.1 09-Nov-2002  bjh21 Catch up with -current.
 1.28 13-Aug-2021  skrll Trailing whitespace
 1.27 20-Nov-2020  thorpej malloc(9) -> kmem(9)
 1.26 10-Nov-2019  chs branches: 1.26.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.25 02-Apr-2014  matt branches: 1.25.30;
Defer intr evcnt_attach to cpu_configure
 1.24 26-Mar-2014  christos kill sprintf
 1.23 20-Dec-2010  matt branches: 1.23.8; 1.23.18; 1.23.22;
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.22 17-Jun-2009  skrll branches: 1.22.4;
Remove incorrect KASSERT.

footbridge_intr_calculate_masks is called multiple times and the KASSERT
isn't valid in (at least) the first call.
 1.21 27-Apr-2008  matt Merge kernel changes in matt-armv6 to HEAD.
 1.20 06-Jan-2008  chris branches: 1.20.6; 1.20.8; 1.20.10;
curcpu()->ci_depth is now updated in irq_dispatch.S, remove duplication
from footbridge.
 1.19 04-Jan-2008  ad Adjust ci_idepth for cpu_intr_p().
 1.18 03-Dec-2007  ad Interrupt handling changes, in discussion since February:

- Reduce available SPL levels for hardware devices to none, vm, sched, high.
- Acquire kernel_lock only for interrupts at IPL_VM.
- Implement threaded soft interrupts.
 1.17 25-Dec-2006  wiz branches: 1.17.6; 1.17.20; 1.17.22; 1.17.24; 1.17.26; 1.17.32;
Spell "separate" correctly. From Zafer Aydogan.
 1.16 24-Nov-2006  wiz s/heirarchy/hierarchy/, from Zafer.
 1.15 17-May-2006  mrg branches: 1.15.8; 1.15.10;
remove 'inline' from the xxx_do_pending() function that is called from
external sources, and conflicts with it's prototype.
 1.14 24-Dec-2005  perry branches: 1.14.4; 1.14.6; 1.14.8; 1.14.12;
Remove leading __ from __(const|inline|signed|volatile) -- it is obsolete.
 1.13 11-Dec-2005  christos merge ktrace-lwp.
 1.12 02-Jun-2005  he branches: 1.12.2;
Adapt to shadowing and qualifier-cast warnings.
 1.11 24-Feb-2004  wiz occured -> occurred. From Peter Postma.
 1.10 05-Oct-2003  matt Add SA_SIGINFO support for ARM (from Chris Gilbert).
 1.9 16-Jun-2003  thorpej branches: 1.9.2;
Rename IPL_IMP -> IPL_VM.
 1.8 23-Mar-2003  chris Add __KERNEL_RCSID tags to footbridge files.
 1.7 11-Nov-2002  chris Belatedly correct the copyright notice. I ported the new footbridge IRQ code
from the xscale interrupt code, it therefore should have Jason/Wasabi
copyright.

There is none of the original arm32 derived interrupt code here.
 1.6 03-Nov-2002  chris Checkin new interrupt handling code for the footbridge.
This is based upon Jason's work on xscale.

Most of the interrupt handling code is now written in C using an asm stub to
call into the C code.

spl* now only updates a software mask, and does not update the hardware,
this should be much faster.

The new code works well on cats, it's untested on netwinder, but should work.

The code implements generic soft interrupts.

More work is still required to bring the isa interrupt handling code upto
scratch currently all isa interrupts are handled at IPL_BIO on the footbridge.
This may cause isa interrupts to be handled later than they should be.
I plan to fix this in the near future.
 1.5 27-Sep-2002  provos branches: 1.5.2;
remove trailing \n in panic(). approved perry.
 1.4 07-Jan-2002  chris Finish up the changes to get LOOSE_PROTOTYPES working for cats.
Note that this leaves a few inconsistencies (no more than we already had though) eg initarm is now prototyped in arm32/machdep.h, however only cats currently makes use of that header.
 1.3 05-Jan-2002  chris Make some of the arm32 files build with LOOSE_PROTOTYPES not set in the makefile. Turned up a few mismatched functions. Note that this isn't all of the arm32 files. Aim will be to get arm32 kernels built with LOOSE_PROTOTYPES not set.
 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 09-Jun-2001  chris branches: 1.1.2;
Move the footbridge dir out of arm32 into arm.
 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.6 11-Dec-2002  thorpej Sync with HEAD.
 1.2.6.5 11-Nov-2002  nathanw Catch up to -current
 1.2.6.4 18-Oct-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 05-Sep-2001  nathanw file footbridge_irqhandler.c was added on branch nathanw_sa on 2002-01-11 23:38:03 +0000
 1.5.2.1 09-Nov-2002  bjh21 Catch up with -current.
 1.9.2.4 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.9.2.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.9.2.2 18-Sep-2004  skrll Sync with HEAD.
 1.9.2.1 03-Aug-2004  skrll Sync with HEAD
 1.12.2.3 07-Dec-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.12.1 24-May-2006  tron Merge 2006-05-24 NetBSD-current into the "peter-altq" branch.
 1.14.8.1 24-May-2006  yamt sync with head.
 1.14.6.1 01-Jun-2006  kardel Sync with head.
 1.14.4.1 09-Sep-2006  rpaulo sync with head
 1.15.10.1 10-Dec-2006  yamt sync with head.
 1.15.8.1 12-Jan-2007  ad Sync with head.
 1.17.32.2 18-Feb-2008  mjf Sync with HEAD.
 1.17.32.1 08-Dec-2007  mjf Sync with HEAD.
 1.17.26.2 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.17.26.1 09-Jan-2008  matt sync with HEAD
 1.17.24.7 24-Feb-2008  chris Fix up footbridge code to work with changed arm_intr_register.

Cats now boots again.
 1.17.24.6 26-Jan-2008  chris Rename some structures, eg intrq->intrline, irqgroup->pic. A lot of
member variables have changed name to reflect this.

Change the API for registering a PIC with the common code, so that it
passes a structure to the common code, rather than lots of parameters.
 1.17.24.5 20-Jan-2008  chris Sync to HEAD.
 1.17.24.4 01-Jan-2008  chris Sync with HEAD.
 1.17.24.3 18-Aug-2007  chris Rework registration call, so that it no longer takes a status paramater.

Rework dispatch routines, so no implicit ordering is required in the irq
groups. This removes the primary flag, and also makes hardware dependant
dispatch routines again.

Update arm_intr_queue_irqs to disable interrupts. This is necessary when
child buses are present, eg isa bus, as the isa interrupt handler is
called with interrupts enabled, and I believe that the footbridge handler
was trampling on the isa handler setting up pending flags.

cats can now install using the update irq code (previously it would
randomly hang)
 1.17.24.2 12-Aug-2007  chris Switch footbridge isa to use common code. This required changes to the
arm code:
* intr_claim now takes a type to indicate edge, level or pulse. It has
isa level understanding of types and uses a callback to set the hardware
type.
* slightly adjust how pending interrupts are queued up.
* switch the ICU setup code to make use the defines in i8259reg.h, rather
than using magic numbers.
 1.17.24.1 11-Aug-2007  chris Initial check-in of reworked arm interrupt routines.

Main things to note on this branch:
* spl routines are inlined, less complex, and small (kernel drops in size)
* interrupts are handled in priority order (for most things it doesn't
matter, but pending ipls are used to determine if there is any work to do)
* arm_irqhandler.c is derived from footbridge_irqhandler.c, which was based
on work by thorpej.
* The code tries to touch hardware as little as possible.
* spl masks are no longer tracked, as the system is based on pending ipls

The shared code uses global ipl lists to track which interrupt handlers
are attached to which ipl (arm_iplq[]).

Interrupt sources register with the common code to indicate:
* how many irq lines they have
* a function to set the hardware mask.
* call arm_intr_claim and arm_intr_disestablish to setup handlers

When an interrupt occurs the ipl is flagged as pending, in ipls_pending.
If it can be handled at the current_ipl_level the code does so.
If it can't be handled it's left until the current_ipl_level drops.

As the ipl level changes down a quick test is made of the new ipl level
against the ipls_pending value. If an ipl is pending arm_intr_splx_lifter
is called to handle the pending ipls.

It should be noted that all interrupts are left enabled at the hardware
level, interrupts are only masked when they occur. They are only
re-enabled after it's interrupt handler is called. Hardware masks are not
changed at any other time.

Soft interrupts are treated the same as hardware interrupts, they
register as a provider, and do not get treated specially. All the soft
interrupt handlers are placed onto the relevant global ipl queue, the same
as hard interrupts handlers.

At the moment only footbridge within a cats has been updated to use the new
handling.

Todo:
* change the handling of interrupts, so that the hardware doesn't register
a routine to fetch the hardware status. Instead is makes a call which
provides the mask. This removes the primary flag when registering an
interrupt provider. It also makes more sense with multiple interrupt
sources.
* Arm v5 has the clz asm, which could be used instead of the carefully
hand rolled arm_intr_fls function.
* switch cats isa support to use this framework.
* switch iomd and acorn32 to use this framework.
* switch shark to use this framework.
* port any other arm platforms that are interested
* examine overlaps between this code and ppcoea-renovation branch.
* add support for different trigger types (Edge, level, pulse, etc)

(note that iomd and shark currently touch hardware on every spl change,
hence why they're targets to port)
 1.17.22.1 09-Dec-2007  jmcneill Sync with HEAD.
 1.17.20.1 26-Dec-2007  rjs Sync with HEAD.
 1.17.6.1 03-Dec-2007  ad Sync with HEAD.
 1.20.10.2 20-Jun-2009  yamt sync with head
 1.20.10.1 16-May-2008  yamt sync with head.
 1.20.8.1 18-May-2008  yamt sync with head.
 1.20.6.1 02-Jun-2008  mjf Sync with HEAD.
 1.22.4.1 05-Mar-2011  rmind sync with head
 1.23.22.1 18-May-2014  rmind sync with head
 1.23.18.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.23.8.1 22-May-2014  yamt sync with head.

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

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.25.30.1 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.26.8.1 14-Dec-2020  thorpej Sync w/ HEAD.
 1.6 02-Apr-2014  matt Defer intr evcnt_attach to cpu_configure
 1.5 11-Dec-2005  christos branches: 1.5.50; 1.5.114; 1.5.124; 1.5.130;
merge ktrace-lwp.
 1.4 02-Jun-2005  he Adapt to shadowing and qualifier-cast warnings.
 1.3 11-Nov-2002  chris branches: 1.3.2; 1.3.8;
Belatedly correct the copyright notice. I ported the new footbridge IRQ code
from the xscale interrupt code, it therefore should have Jason/Wasabi
copyright.

There is none of the original arm32 derived interrupt code here.
 1.2 03-Nov-2002  chris Checkin new interrupt handling code for the footbridge.
This is based upon Jason's work on xscale.

Most of the interrupt handling code is now written in C using an asm stub to
call into the C code.

spl* now only updates a software mask, and does not update the hardware,
this should be much faster.

The new code works well on cats, it's untested on netwinder, but should work.

The code implements generic soft interrupts.

More work is still required to bring the isa interrupt handling code upto
scratch currently all isa interrupts are handled at IPL_BIO on the footbridge.
This may cause isa interrupts to be handled later than they should be.
I plan to fix this in the near future.
 1.1 22-Oct-2002  chris branches: 1.1.2;
netwinder and cats can share irqhandler.h, so move (and rename) into the
footbridge dir, and share it.
 1.1.2.3 09-Nov-2002  bjh21 Catch up with -current.
 1.1.2.2 24-Oct-2002  bjh21 Sync with trunk.
 1.1.2.1 22-Oct-2002  bjh21 file footbridge_irqhandler.h was added on branch bjh21-hydra on 2002-10-24 22:33:48 +0000
 1.3.8.1 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.3.2.3 11-Dec-2002  thorpej Sync with HEAD.
 1.3.2.2 11-Nov-2002  nathanw Catch up to -current
 1.3.2.1 11-Nov-2002  nathanw file footbridge_irqhandler.h was added on branch nathanw_sa on 2002-11-11 21:56:43 +0000
 1.5.130.1 18-May-2014  rmind sync with head
 1.5.124.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.5.114.1 22-May-2014  yamt sync with head.

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

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.5.50.1 18-Aug-2007  chris Rework registration call, so that it no longer takes a status paramater.

Rework dispatch routines, so no implicit ordering is required in the irq
groups. This removes the primary flag, and also makes hardware dependant
dispatch routines again.

Update arm_intr_queue_irqs to disable interrupts. This is necessary when
child buses are present, eg isa bus, as the isa interrupt handler is
called with interrupts enabled, and I believe that the footbridge handler
was trampling on the isa handler setting up pending flags.

cats can now install using the update irq code (previously it would
randomly hang)
 1.11 17-Aug-2021  andvar fix multiplei repetitive typos in comments, messages and documentation. mainly because copy paste code big amount of files are affected.
 1.10 01-Apr-2003  thorpej Use PAGE_SIZE rather than NBPG.
 1.9 23-Mar-2003  chris Add __KERNEL_RCSID tags to footbridge files.
 1.8 03-May-2002  rjs Use processor specific versions of ARM cache control functions for SA1100
and SA1110 instead of using SA110 ones.

Rename common StrongARM functions from sa110_* to sa1_*.

Reviewed by Jason Thorpe.
 1.7 09-Apr-2002  thorpej Use abstract names for the protection and PTE type bits in
L1 and L2 descriptors. This will allow us to support different
PTE layouts that enable the use of extensions on different
processor models.
 1.6 24-Mar-2002  thorpej Use vtopte() instead of pmap_pte().
 1.5 05-Jan-2002  chris Make some of the arm32 files build with LOOSE_PROTOTYPES not set in the makefile. Turned up a few mismatched functions. Note that this isn't all of the arm32 files. Aim will be to get arm32 kernels built with LOOSE_PROTOTYPES not set.
 1.4 23-Nov-2001  thorpej No need to pull in <machine/pte.h> directly.
 1.3 28-Jul-2001  chris branches: 1.3.6;
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.2 09-Jun-2001  chris branches: 1.2.2;
Typo police: 28285 -> 21285
Also garbage collect the old kernel VM map defines for footbridge.
 1.1 09-Jun-2001  chris Move the footbridge dir out of arm32 into arm.
 1.2.2.3 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.2.2.2 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.2.2.1 03-Aug-2001  lukem update to -current
 1.3.6.7 20-Jun-2002  nathanw Catch up to -current.
 1.3.6.6 17-Apr-2002  nathanw Catch up to -current.
 1.3.6.5 01-Apr-2002  nathanw Catch up to -current.
(CVS: It's not just a program. It's an adventure!)
 1.3.6.4 28-Feb-2002  nathanw Catch up to -current.
 1.3.6.3 11-Jan-2002  nathanw More catchup.
 1.3.6.2 08-Jan-2002  nathanw Catch up to -current.
 1.3.6.1 28-Jul-2001  nathanw file footbridge_machdep.c was added on branch nathanw_sa on 2002-01-08 00:23:10 +0000
 1.34 27-Sep-2022  skrll Remove unnecessary sys/malloc.h include
 1.33 13-Aug-2021  skrll Trailing whitespace
 1.32 24-Feb-2020  rin 0x%p --> %p for non-external codes.
 1.31 17-Nov-2018  rjs branches: 1.31.6;
Add xname to footbridge_pci_intr_establish().
 1.30 23-Oct-2018  jmcneill Fix printf format strings - pci_intr_handle_t is uint64_t now on arm
 1.29 19-Apr-2017  skrll branches: 1.29.10; 1.29.12;
Use designated initialisers and fix build in process.
 1.28 02-Oct-2015  msaitoh branches: 1.28.2; 1.28.4;
PCI Extended Configuration stuff written by nonaka@:
- Add PCI Extended Configuration Space support into x86.
- Check register offset of pci_conf_read() in MD part. It returns (pcireg_t)-1
if it isn't accessible.
- Decode Extended Capability in PCI Extended Configuration Space.
Currently the following extended capabilities are decoded:
- Advanced Error Reporting
- Virtual Channel
- Device Serial Number
- Power Budgeting
- Root Complex Link Declaration
- Root Complex Event Collector Association
- Access Control Services
- Alternative Routing-ID Interpretation
- Address Translation Services
- Single Root IO Virtualization
- Page Request
- TPH Requester
- Latency Tolerance Reporting
- Secondary PCI Express
- Process Address Space ID
- LN Requester
- L1 PM Substates
The following extended capabilities are not decoded yet:
- Root Complex Internal Link Control
- Multi-Function Virtual Channel
- RCRB Header
- Vendor Unique
- Configuration Access Correction
- Multiple Root IO Virtualization
- Multicast
- Resizable BAR
- Dynamic Power Allocation
- Protocol Multiplexing
- Downstream Port Containment
- Precision Time Management
- M-PCIe
- Function Reading Status Queueing
- Readiness Time Reporting
- Designated Vendor-Specific
 1.27 30-Mar-2014  christos branches: 1.27.6;
wrap a few lines
 1.26 29-Mar-2014  christos make pci_intr_string and eisa_intr_string take a buffer and a length
instead of relying in local static storage.
 1.25 26-Mar-2014  christos kill sprintf
 1.24 27-Oct-2012  chs branches: 1.24.2;
split device_t/softc for all remaining drivers.
replace "struct device *" with "device_t".
use device_xname(), device_unit(), etc.
 1.23 18-Sep-2012  matt Add bounce buffer support for ARM bus_dma(9). Add macros to help initialize
bus_dma_tag structures.
 1.22 12-Feb-2012  matt branches: 1.22.6;
Change old-style function defintions to C89 prototypes.

Approved by releng.
 1.21 01-Jul-2011  dyoung branches: 1.21.2; 1.21.6;
#include <sys/bus.h> instead of <machine/bus.h>.
 1.20 30-Jun-2011  wiz dependant -> dependent
 1.19 04-Apr-2011  dyoung Neither pci_dma64_available(), pci_probe_device(), pci_mapreg_map(9),
pci_find_rom(), pci_intr_map(9), pci_enumerate_bus(), nor the match
predicate passed to pciide_compat_intr_establish() should ever modify
their pci_attach_args argument, so make their pci_attach_args arguments
const and deal with the fallout throughout the kernel.

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

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

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

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

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

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

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

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

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

### evbmips-el GDIUM

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

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

### ia64 GENERIC

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

### sgimips GENERIC32_IP3x

crmfb.o: In function `crmfb_attach':
crmfb.c:(.text+0x2304): undefined reference to `ddc_read_edid'
crmfb.c:(.text+0x2304): relocation truncated to fit: R_MIPS_26 against `ddc_read_edid'
crmfb.c:(.text+0x234c): undefined reference to `edid_parse'
crmfb.c:(.text+0x234c): relocation truncated to fit: R_MIPS_26 against `edid_parse'
crmfb.c:(.text+0x2354): undefined reference to `edid_print'
crmfb.c:(.text+0x2354): relocation truncated to fit: R_MIPS_26 against `edid_print'
 1.18 14-Mar-2009  dsl branches: 1.18.4; 1.18.6;
ANSIfy another 1261 function definitions.
The only ones left in sys are beyond by sed script!
(or in sys/dist or sys/external)
Mostly they have function pointer parameters.
 1.17 14-Mar-2009  dsl Change about 4500 of the K&R function definitions to ANSI ones.
There are still about 1600 left, but they have ',' or /* ... */
in the actual variable definitions - which my awk script doesn't handle.
There are also many that need () -> (void).
(The script does handle misordered arguments.)
 1.16 14-Mar-2009  dsl Remove all the __P() from sys (excluding sys/dist)
Diff checked with grep and MK1 eyeball.
i386 and amd64 GENERIC and sys still build.
 1.15 10-May-2008  chris branches: 1.15.6; 1.15.12;
Fix 9.5 year old buffer overflow.

It wasn't noticed till now as it wasn't overflowing onto anything
important (or was overwritten by the correct data). Recent changes
meant irqstr was placed just before footbridge_intrq and so it trashed
the interrupt linked list, and so caused an alignment fault.

Note that cats still doesn't boot even with the change, as it hangs when
starting userland, I suspect an interrupt issue.
 1.14 14-Dec-2007  chris branches: 1.14.6; 1.14.8; 1.14.10; 1.14.12;
Fix for PR cats/18026.

cats was never able to dump a kernel core dump because reading from
VGA addresses (0xb8000) was causing the system to hang.

To workaround this reprogram the footbridge to map the memory to appear on
the PCI bus at 0x20000000, rather than at 0x0. Also configure the pci bus
to have a DMA range so that data is mapped correctly.

Note that -current kernels seem to hang when unmounting the fs. This
is a seperate issue, and appears to be because interrupts need to be
enabled to unmount filesystems.

So using reboot 0x104 does work, as it does a sync without unmounting the
filesystems.

Also arm savecore doesn't do anything with the memroy dump, as on arm we
currently just dump the raw memory, there's no header block to indicate
memory sizes or other useful information.
 1.13 25-Feb-2007  chris branches: 1.13.18; 1.13.22; 1.13.24; 1.13.32; 1.13.36;
Make this file compile with PCI_DEBUG defined. Needed to figure out why
the latest ABLE firmware was causing an interrupt mapping issue on cats.
It seems that the latest ABLE firmware is using native-PCI mode, rather
than compatibility mode, but doesn't setup an irq for us to use, so we fail
to map the interrupt handler.
 1.12 11-Dec-2005  christos branches: 1.12.26;
merge ktrace-lwp.
 1.11 22-May-2005  christos branches: 1.11.2;
No 0x in front of %p...
 1.10 30-Jul-2003  he Initialize the new _cookie member of arm32_bus_dma_tag to NULL.
 1.9 23-Mar-2003  chris branches: 1.9.2;
Add __KERNEL_RCSID tags to footbridge files.
 1.8 03-Nov-2002  chris Checkin new interrupt handling code for the footbridge.
This is based upon Jason's work on xscale.

Most of the interrupt handling code is now written in C using an asm stub to
call into the C code.

spl* now only updates a software mask, and does not update the hardware,
this should be much faster.

The new code works well on cats, it's untested on netwinder, but should work.

The code implements generic soft interrupts.

More work is still required to bring the isa interrupt handling code upto
scratch currently all isa interrupts are handled at IPL_BIO on the footbridge.
This may cause isa interrupts to be handled later than they should be.
I plan to fix this in the near future.
 1.7 09-Oct-2002  thorpej branches: 1.7.2;
Properly prototype the netwinder isa/pci init funcs.
 1.6 27-Sep-2002  provos remove trailing \n in panic(). approved perry.
 1.5 17-Aug-2002  thorpej Use separate function pointers for dmamap_sync pre- vs post- operations.
Change the bus_dmamap_sync() macro to test the ops argument against pre-
and post- constants. The compiler will optimize out dead code because
of the constants. Since post- operations are not needed on ARM (except
for ISA bounce buffers), this eliminate a large number of function calls
which are noops, each of which cost at least 6 cycles just in the call
and return overhead (not to mention whatever other useless work the
compiler decides to do in the callee).
 1.4 05-Sep-2001  matt branches: 1.4.6; 1.4.14;
Change <machine/irqhandler.h> to <machine/intr.h> since the latter always
includes the former and is a standard include file.
 1.3 20-Jun-2001  chris branches: 1.3.2;
Remove defopt EBSA285.
Move the files from footbridge that are cats specific.
Remove EBSA285 kernel as people should be able to use the generic cats kernel for EBSA285 systems.
 1.2 12-Jun-2001  matt Move netwinder_machdep.c to files.netwinder. Eliminate opt_netwinder.h and
use #ifdef netwinder insead. XXX ebsa285_machdep.c should move to the cats
directory and files.cats
 1.1 09-Jun-2001  chris Move the footbridge dir out of arm32 into arm.
 1.3.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.3.2.2 06-Sep-2002  jdolecek sync kqueue branch with HEAD
 1.3.2.1 13-Sep-2001  thorpej Update the kqueue branch to HEAD.
 1.4.14.1 30-Aug-2002  gehenna catch up with -current.
 1.4.6.4 11-Nov-2002  nathanw Catch up to -current
 1.4.6.3 18-Oct-2002  nathanw Catch up to -current.
 1.4.6.2 19-Aug-2002  thorpej Partial (ARM only) sync with trunk -- significant performance improvements
for XScale-based systems.
 1.4.6.1 05-Sep-2001  thorpej file footbridge_pci.c was added on branch nathanw_sa on 2002-08-19 21:39:08 +0000
 1.7.2.1 09-Nov-2002  bjh21 Catch up with -current.
 1.9.2.4 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.9.2.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.9.2.2 18-Sep-2004  skrll Sync with HEAD.
 1.9.2.1 03-Aug-2004  skrll Sync with HEAD
 1.11.2.2 21-Jan-2008  yamt sync with head
 1.11.2.1 03-Sep-2007  yamt sync with head.
 1.12.26.1 27-Feb-2007  yamt - sync with head.
- move sched_changepri back to kern_synch.c as it doesn't know PPQ anymore.
 1.13.36.1 02-Jan-2008  bouyer Sync with HEAD
 1.13.32.1 26-Dec-2007  ad Sync with head.
 1.13.24.1 09-Jan-2008  matt sync with HEAD
 1.13.22.1 01-Jan-2008  chris Sync with HEAD.
 1.13.18.1 26-Dec-2007  rjs Sync with HEAD.
 1.14.12.1 23-Jun-2008  wrstuden Sync w/ -current. 34 merge conflicts to follow.
 1.14.10.2 04-May-2009  yamt sync with head.
 1.14.10.1 16-May-2008  yamt sync with head.
 1.14.8.1 18-May-2008  yamt sync with head.
 1.14.6.1 02-Jun-2008  mjf Sync with HEAD.
 1.15.12.1 13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.15.6.1 28-Apr-2009  skrll Sync with HEAD.
 1.18.6.1 06-Jun-2011  jruoho Sync with HEAD.
 1.18.4.1 21-Apr-2011  rmind sync with head
 1.21.6.1 18-Feb-2012  mrg merge to -current.
 1.21.2.3 22-May-2014  yamt sync with head.

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

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.21.2.2 30-Oct-2012  yamt sync with head
 1.21.2.1 17-Apr-2012  yamt sync with head
 1.22.6.3 03-Dec-2017  jdolecek update from HEAD
 1.22.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.22.6.1 20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.24.2.1 18-May-2014  rmind sync with head
 1.27.6.2 28-Aug-2017  skrll Sync with HEAD
 1.27.6.1 27-Dec-2015  skrll Sync with HEAD (as of 26th Dec)
 1.28.4.1 21-Apr-2017  bouyer Sync with HEAD
 1.28.2.1 26-Apr-2017  pgoyette Sync with HEAD
 1.29.12.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.29.12.1 10-Jun-2019  christos Sync with HEAD
 1.29.10.1 26-Nov-2018  pgoyette Sync with HEAD, resolve a couple of conflicts
 1.31.6.1 29-Feb-2020  ad Sync with head.
 1.7 01-Jul-2011  dyoung #include <sys/bus.h> instead of <machine/bus.h>.
 1.6 21-Jul-2009  skrll device_t/softc split
CFATTACH_DECL -> CFATTACH_DECL_NEW
struct device * -> device_t
struct cfdata * -> cfdata_t
Use aprint*
 1.5 06-Jan-2007  christos branches: 1.5.50;
Add generic TOD support. From Bucky Katz.
 1.4 11-Dec-2005  christos branches: 1.4.20; 1.4.24;
merge ktrace-lwp.
 1.3 02-Jun-2005  he branches: 1.3.2;
Adapt to shadowing and qualifier-cast warnings.
 1.2 10-Feb-2002  chris branches: 1.2.18;
Following the demise of arch/arm32 update cats, and restore the isa files to a more sane location.
Also fix build break on GENERIC cats kernel, seems that conf.h should have been including arm/conf.h.

This completes the removal of arch/arm32.
 1.1 09-Jun-2001  chris branches: 1.1.2; 1.1.8;
Move the footbridge dir out of arm32 into arm.
 1.1.8.2 28-Feb-2002  nathanw Catch up to -current.
 1.1.8.1 09-Jun-2001  nathanw file footbridgevar.h was added on branch nathanw_sa on 2002-02-28 04:07:28 +0000
 1.1.2.1 16-Mar-2002  jdolecek Catch up with -current.
 1.2.18.1 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.3.2.1 26-Feb-2007  yamt sync with head.
 1.4.24.1 30-Apr-2007  bouyer Pull up following revision(s) (requested by rearnsha in ticket #592):
sys/arch/arm/footbridge/footbridgevar.h: revision 1.5
sys/arch/arm/ep93xx/epclk.c: revision 1.10
sys/arch/arm/ixp12x0/ixp12x0_clk.c: revision 1.11
sys/arch/arm/footbridge/footbridge.c: revision 1.17
sys/arch/arm/footbridge/isa/dsrtc.c: revision 1.10
sys/arch/arm/s3c2xx0/s3c2800_clk.c: revision 1.10
sys/arch/arm/xscale/ixp425_timer.c: revision 1.13
sys/arch/arm/xscale/becc_timer.c: revision 1.11
sys/arch/arm/xscale/i80321_timer.c: revision 1.16
sys/arch/arm/s3c2xx0/s3c24x0_clk.c: revision 1.7
Add generic TOD support. From Bucky Katz.
 1.4.20.1 12-Jan-2007  ad Sync with head.
 1.5.50.1 19-Aug-2009  yamt sync with head.
 1.3 03-Nov-2002  chris Checkin new interrupt handling code for the footbridge.
This is based upon Jason's work on xscale.

Most of the interrupt handling code is now written in C using an asm stub to
call into the C code.

spl* now only updates a software mask, and does not update the hardware,
this should be much faster.

The new code works well on cats, it's untested on netwinder, but should work.

The code implements generic soft interrupts.

More work is still required to bring the isa interrupt handling code upto
scratch currently all isa interrupts are handled at IPL_BIO on the footbridge.
This may cause isa interrupts to be handled later than they should be.
I plan to fix this in the near future.
 1.2 20-Dec-2001  thorpej branches: 1.2.2; 1.2.4; 1.2.16;
* Share a common vector page between arm26 and arm32.
* Use a common set of exception handlers for all arm32 platforms.
* New FIQ framework based on discussions with Ben Harris, shared
between arm26 and arm32.
 1.1 27-Nov-2001  thorpej Move interrupt-related stuff out of the generic 32-bit ARM genassym.cf
and into platform-specific genassym.cf files.
 1.2.16.1 09-Nov-2002  bjh21 Catch up with -current.
 1.2.4.2 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.2.4.1 20-Dec-2001  thorpej file genassym.cf was added on branch kqueue on 2002-01-10 19:37:51 +0000
 1.2.2.3 11-Nov-2002  nathanw Catch up to -current
 1.2.2.2 08-Jan-2002  nathanw Catch up to -current.
 1.2.2.1 20-Dec-2001  nathanw file genassym.cf was added on branch nathanw_sa on 2002-01-08 00:23:11 +0000
 1.15 11-Oct-2012  skrll Remove files not used since Sep 2006
 1.14 21-Jul-2009  skrll branches: 1.14.12; 1.14.22;
device_t/softc split
CFATTACH_DECL -> CFATTACH_DECL_NEW
struct device * -> device_t
struct cfdata * -> cfdata_t
Use aprint*
 1.13 14-Mar-2009  dsl Change about 4500 of the K&R function definitions to ANSI ones.
There are still about 1600 left, but they have ',' or /* ... */
in the actual variable definitions - which my awk script doesn't handle.
There are also many that need () -> (void).
(The script does handle misordered arguments.)
 1.12 14-Mar-2009  dsl Remove all the __P() from sys (excluding sys/dist)
Diff checked with grep and MK1 eyeball.
i386 and amd64 GENERIC and sys still build.
 1.11 15-Jan-2008  joerg branches: 1.11.10; 1.11.18; 1.11.24;
Convert to generic TODR.

XXX Is this file used at all?
 1.10 11-Sep-2006  gdamore branches: 1.10.26; 1.10.30; 1.10.32; 1.10.38; 1.10.46;
Convert netwinder and cats (and any other footbridge based system in the
future) to timecounters, using the dc21285_fclk. ok nick@, chris@.
 1.9 24-Dec-2005  perry branches: 1.9.8; 1.9.20;
Remove leading __ from __(const|inline|signed|volatile) -- it is obsolete.
 1.8 11-Dec-2005  christos merge ktrace-lwp.
 1.7 02-Jun-2005  he branches: 1.7.2;
Adapt to shadowing and qualifier-cast warnings.
 1.6 05-Jul-2004  pk Call inittodr() from main(). Let file system code set the recorded `last
update' time (if any) through the new function setrootfstime().
 1.5 23-Mar-2003  chris branches: 1.5.2;
Add __KERNEL_RCSID tags to footbridge files.
 1.4 02-Oct-2002  thorpej Use CFATTACH_DECL().
 1.3 27-Sep-2002  thorpej Declare all cfattach structures const.
 1.2 26-May-2002  bjh21 Remove #ifdef NC stuff, syncing with iomd/todclock.c.
 1.1 10-Feb-2002  chris branches: 1.1.2; 1.1.8; 1.1.12;
Following the demise of arch/arm32 update cats, and restore the isa files to a more sane location.
Also fix build break on GENERIC cats kernel, seems that conf.h should have been including arm/conf.h.

This completes the removal of arch/arm32.
 1.1.12.1 30-May-2002  gehenna Catch up with -current.
 1.1.8.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.8.3 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.1.8.2 16-Mar-2002  jdolecek Catch up with -current.
 1.1.8.1 10-Feb-2002  jdolecek file todclock.c was added on branch kqueue on 2002-03-16 15:56:06 +0000
 1.1.2.4 18-Oct-2002  nathanw Catch up to -current.
 1.1.2.3 20-Jun-2002  nathanw Catch up to -current.
 1.1.2.2 28-Feb-2002  nathanw Catch up to -current.
 1.1.2.1 10-Feb-2002  nathanw file todclock.c was added on branch nathanw_sa on 2002-02-28 04:07:28 +0000
 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.7.2.3 21-Jan-2008  yamt sync with head
 1.7.2.2 30-Dec-2006  yamt sync with head.
 1.7.2.1 21-Jun-2006  yamt sync with head.
 1.9.20.1 18-Nov-2006  ad Sync with head.
 1.9.8.1 14-Sep-2006  yamt sync with head.
 1.10.46.1 19-Jan-2008  bouyer Sync with HEAD
 1.10.38.1 18-Feb-2008  mjf Sync with HEAD.
 1.10.32.1 23-Mar-2008  matt sync with HEAD
 1.10.30.1 20-Jan-2008  chris Sync to HEAD.
 1.10.26.1 28-Feb-2008  rjs Sync with HEAD.
 1.11.24.1 13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.11.18.1 28-Apr-2009  skrll Sync with HEAD.
 1.11.10.2 19-Aug-2009  yamt sync with head.
 1.11.10.1 04-May-2009  yamt sync with head.
 1.14.22.1 20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.14.12.1 30-Oct-2012  yamt sync with head
 1.3 11-Oct-2012  skrll Remove files not used since Sep 2006
 1.2 14-Mar-2009  dsl branches: 1.2.12; 1.2.22;
Remove all the __P() from sys (excluding sys/dist)
Diff checked with grep and MK1 eyeball.
i386 and amd64 GENERIC and sys still build.
 1.1 10-Feb-2002  chris branches: 1.1.2; 1.1.8; 1.1.130; 1.1.138; 1.1.144;
Following the demise of arch/arm32 update cats, and restore the isa files to a more sane location.
Also fix build break on GENERIC cats kernel, seems that conf.h should have been including arm/conf.h.

This completes the removal of arch/arm32.
 1.1.144.1 13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.1.138.1 28-Apr-2009  skrll Sync with HEAD.
 1.1.130.1 04-May-2009  yamt sync with head.
 1.1.8.2 16-Mar-2002  jdolecek Catch up with -current.
 1.1.8.1 10-Feb-2002  jdolecek file todclockvar.h was added on branch kqueue on 2002-03-16 15:56:07 +0000
 1.1.2.2 28-Feb-2002  nathanw Catch up to -current.
 1.1.2.1 10-Feb-2002  nathanw file todclockvar.h was added on branch nathanw_sa on 2002-02-28 04:07:28 +0000
 1.2.22.1 20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.2.12.1 30-Oct-2012  yamt sync with head
 1.1 10-Feb-2002  chris branches: 1.1.2; 1.1.14;
Following the demise of arch/arm32 update cats, and restore the isa files to a more sane location.
Also fix build break on GENERIC cats kernel, seems that conf.h should have been including arm/conf.h.

This completes the removal of arch/arm32.
 1.1.14.2 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.1.14.1 10-Feb-2002  jdolecek file ds1687reg.h was added on branch kqueue on 2002-06-23 17:34:49 +0000
 1.1.2.2 28-Feb-2002  nathanw Catch up to -current.
 1.1.2.1 10-Feb-2002  nathanw file ds1687reg.h was added on branch nathanw_sa on 2002-02-28 04:07:29 +0000
 1.14 07-Sep-2025  thorpej Change todr_chip_handle::cookie -> todr_chip_handle::todr_dev, and
make it a device_t. Upcoming functional changes will require the
device_t associated with a TODR device.

Change todr_chip_handle::bus_cookie -> todr_chip_handle::todr_devaux.
Nothing was using the old field, but I decided to keep it around just
in cause something needs it in the future.

And with these largely mechanical yet semantically meaningful changes,
thus spake the Oracle: "Welcome to NetBSD 11.99.2."
 1.13 13-Aug-2021  skrll Trailing whitespace
 1.12 11-Oct-2012  skrll Complete the device_t/softc split I attempted previously.

From chuq.
 1.11 21-Jul-2009  skrll branches: 1.11.12; 1.11.22;
device_t/softc split
CFATTACH_DECL -> CFATTACH_DECL_NEW
struct device * -> device_t
struct cfdata * -> cfdata_t
Use aprint*
 1.10 06-Jan-2007  christos branches: 1.10.50;
Add generic TOD support. From Bucky Katz.
 1.9 11-Sep-2006  gdamore branches: 1.9.4;
ANSIfy and KNF.
 1.8 11-Dec-2005  christos branches: 1.8.8; 1.8.20;
merge ktrace-lwp.
 1.7 16-Sep-2004  drochner branches: 1.7.12;
forgot one ISACF_*_DEFAULT conversion, noticed by Nick Hudson
 1.6 21-Oct-2003  skrll Rename dsrtc to ds1687rtc to avoid conflicting with the MI i2c
ds1307 driver.

Hi Jason.
 1.5 23-Mar-2003  chris branches: 1.5.2;
Add __KERNEL_RCSID tags to footbridge files.
 1.4 02-Oct-2002  thorpej Add trailing ; to CFATTACH_DECL
 1.3 01-Oct-2002  thorpej Use CFATTACH_DECL().
 1.2 27-Sep-2002  thorpej Declare all cfattach structures const.
 1.1 10-Feb-2002  chris branches: 1.1.2; 1.1.14;
Following the demise of arch/arm32 update cats, and restore the isa files to a more sane location.
Also fix build break on GENERIC cats kernel, seems that conf.h should have been including arm/conf.h.

This completes the removal of arch/arm32.
 1.1.14.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.14.2 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.1.14.1 10-Feb-2002  jdolecek file dsrtc.c was added on branch kqueue on 2002-06-23 17:34:49 +0000
 1.1.2.3 18-Oct-2002  nathanw Catch up to -current.
 1.1.2.2 28-Feb-2002  nathanw Catch up to -current.
 1.1.2.1 10-Feb-2002  nathanw file dsrtc.c was added on branch nathanw_sa on 2002-02-28 04:07:29 +0000
 1.5.2.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.5.2.2 18-Sep-2004  skrll Sync with HEAD.
 1.5.2.1 03-Aug-2004  skrll Sync with HEAD
 1.7.12.2 26-Feb-2007  yamt sync with head.
 1.7.12.1 30-Dec-2006  yamt sync with head.
 1.8.20.2 12-Jan-2007  ad Sync with head.
 1.8.20.1 18-Nov-2006  ad Sync with head.
 1.8.8.1 14-Sep-2006  yamt sync with head.
 1.9.4.1 30-Apr-2007  bouyer Pull up following revision(s) (requested by rearnsha in ticket #592):
sys/arch/arm/footbridge/footbridgevar.h: revision 1.5
sys/arch/arm/ep93xx/epclk.c: revision 1.10
sys/arch/arm/ixp12x0/ixp12x0_clk.c: revision 1.11
sys/arch/arm/footbridge/footbridge.c: revision 1.17
sys/arch/arm/footbridge/isa/dsrtc.c: revision 1.10
sys/arch/arm/s3c2xx0/s3c2800_clk.c: revision 1.10
sys/arch/arm/xscale/ixp425_timer.c: revision 1.13
sys/arch/arm/xscale/becc_timer.c: revision 1.11
sys/arch/arm/xscale/i80321_timer.c: revision 1.16
sys/arch/arm/s3c2xx0/s3c24x0_clk.c: revision 1.7
Add generic TOD support. From Bucky Katz.
 1.10.50.1 19-Aug-2009  yamt sync with head.
 1.11.22.1 20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.11.12.1 30-Oct-2012  yamt sync with head
 1.3 11-Dec-2005  christos branches: 1.3.50;
merge ktrace-lwp.
 1.2 07-Aug-2003  agc Move UCB-licensed code from 4-clause to 3-clause licence.

Patches provided by Joel Baker in PR 22364, verified by myself.
 1.1 10-Feb-2002  chris branches: 1.1.2; 1.1.14; 1.1.22;
Following the demise of arch/arm32 update cats, and restore the isa files to a more sane location.
Also fix build break on GENERIC cats kernel, seems that conf.h should have been including arm/conf.h.

This completes the removal of arch/arm32.
 1.1.22.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.1.22.2 18-Sep-2004  skrll Sync with HEAD.
 1.1.22.1 03-Aug-2004  skrll Sync with HEAD
 1.1.14.2 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.1.14.1 10-Feb-2002  jdolecek file icu.h was added on branch kqueue on 2002-06-23 17:34:50 +0000
 1.1.2.2 28-Feb-2002  nathanw Catch up to -current.
 1.1.2.1 10-Feb-2002  nathanw file icu.h was added on branch nathanw_sa on 2002-02-28 04:07:29 +0000
 1.3.50.1 12-Aug-2007  chris Switch footbridge isa to use common code. This required changes to the
arm code:
* intr_claim now takes a type to indicate edge, level or pulse. It has
isa level understanding of types and uses a callback to set the hardware
type.
* slightly adjust how pending interrupts are queued up.
* switch the ICU setup code to make use the defines in i8259reg.h, rather
than using magic numbers.
 1.10 13-Aug-2021  skrll Trailing whitespace
 1.9 16-Mar-2018  ryo use designated initializer to make adaptability and flexibility for changing struct bus_space.
no functional change.
 1.8 13-Sep-2014  matt branches: 1.8.18;
Replace more vm_offset_t, vm_size_t with vaddr_t, vsize_t
Use paddr_t for msgbufphys
 1.7 12-Feb-2012  matt branches: 1.7.6;
Change old-style function defintions to C89 prototypes.

Approved by releng.
 1.6 01-Jul-2011  dyoung branches: 1.6.2; 1.6.6;
#include <sys/bus.h> instead of <machine/bus.h>.
 1.5 14-Mar-2009  dsl ANSIfy another 1261 function definitions.
The only ones left in sys are beyond by sed script!
(or in sys/dist or sys/external)
Mostly they have function pointer parameters.
 1.4 14-Mar-2009  dsl Change about 4500 of the K&R function definitions to ANSI ones.
There are still about 1600 left, but they have ',' or /* ... */
in the actual variable definitions - which my awk script doesn't handle.
There are also many that need () -> (void).
(The script does handle misordered arguments.)
 1.3 23-Mar-2003  chris branches: 1.3.110; 1.3.118; 1.3.124;
Add __KERNEL_RCSID tags to footbridge files.
 1.2 27-Sep-2002  provos remove trailing \n in panic(). approved perry.
 1.1 10-Feb-2002  chris branches: 1.1.2; 1.1.14;
Following the demise of arch/arm32 update cats, and restore the isa files to a more sane location.
Also fix build break on GENERIC cats kernel, seems that conf.h should have been including arm/conf.h.

This completes the removal of arch/arm32.
 1.1.14.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.14.2 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.1.14.1 10-Feb-2002  jdolecek file isa_io.c was added on branch kqueue on 2002-06-23 17:34:50 +0000
 1.1.2.3 18-Oct-2002  nathanw Catch up to -current.
 1.1.2.2 28-Feb-2002  nathanw Catch up to -current.
 1.1.2.1 10-Feb-2002  nathanw file isa_io.c was added on branch nathanw_sa on 2002-02-28 04:07:29 +0000
 1.3.124.1 13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.3.118.1 28-Apr-2009  skrll Sync with HEAD.
 1.3.110.1 04-May-2009  yamt sync with head.
 1.6.6.1 18-Feb-2012  mrg merge to -current.
 1.6.2.1 17-Apr-2012  yamt sync with head
 1.7.6.1 03-Dec-2017  jdolecek update from HEAD
 1.8.18.1 22-Mar-2018  pgoyette Synch with HEAD, resolve conflicts
 1.3 13-Aug-2021  skrll Trailing whitespace
 1.2 28-Apr-2008  martin Remove clause 3 and 4 from TNF licenses
 1.1 10-Feb-2002  chris branches: 1.1.2; 1.1.14; 1.1.126; 1.1.128; 1.1.130;
Following the demise of arch/arm32 update cats, and restore the isa files to a more sane location.
Also fix build break on GENERIC cats kernel, seems that conf.h should have been including arm/conf.h.

This completes the removal of arch/arm32.
 1.1.130.1 16-May-2008  yamt sync with head.
 1.1.128.1 18-May-2008  yamt sync with head.
 1.1.126.1 02-Jun-2008  mjf Sync with HEAD.
 1.1.14.2 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.1.14.1 10-Feb-2002  jdolecek file isa_io_asm.S was added on branch kqueue on 2002-06-23 17:34:50 +0000
 1.1.2.2 28-Feb-2002  nathanw Catch up to -current.
 1.1.2.1 10-Feb-2002  nathanw file isa_io_asm.S was added on branch nathanw_sa on 2002-02-28 04:07:30 +0000
 1.24 13-Aug-2021  skrll Trailing whitespace
 1.23 20-Nov-2020  thorpej malloc(9) -> kmem(9)
 1.22 10-Nov-2019  chs branches: 1.22.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.21 26-Mar-2014  christos branches: 1.21.30;
kill sprintf
 1.20 17-Nov-2013  skrll Remove unused variables.
 1.19 27-Oct-2012  chs branches: 1.19.2;
split device_t/softc for all remaining drivers.
replace "struct device *" with "device_t".
use device_xname(), device_unit(), etc.
 1.18 01-Jul-2011  dyoung branches: 1.18.2; 1.18.12;
#include <sys/bus.h> instead of <machine/bus.h>.
 1.17 13-Jun-2010  tsutsui Apply fixes for PR port-arm/43339:
Set proper IPL_SOFTfoo values even in !FAST_SOFTINTS case.
Some assertions in MI code expect they have unique values,
per comments from rmind@.

Also cleanup various "interrupt hierarchy" code since IPL_NONE and
IPL_SOFTfoo should not be set by any hardware interrupt establish functions.

Ok'ed by mrg@, tested on shark and hpcarm.
 1.16 20-Aug-2009  he branches: 1.16.2; 1.16.4;
Typo correction: it's isa_dmadestroy(), not isa_dma_destroy(), apparently.
 1.15 19-Aug-2009  dyoung isa_detach_hook() needs two arguments, the first an isa_chipset_tag_t.
 1.14 18-Aug-2009  dyoung These are stragglers from my last commit ("Let us safely detach
the ISA bus and devices attaching to the ISA bus"). Define
isa_detach_hook() in MD ISA implementations. Define isa_dmadestroy().
 1.13 18-Mar-2009  cegger Ansify function definitions w/o arguments. Generated with sed.
 1.12 16-Mar-2009  dsl ANSIfy functions with function-pointer arguments
 1.11 14-Mar-2009  dsl ANSIfy another 1261 function definitions.
The only ones left in sys are beyond by sed script!
(or in sys/dist or sys/external)
Mostly they have function pointer parameters.
 1.10 14-Mar-2009  dsl Change about 4500 of the K&R function definitions to ANSI ones.
There are still about 1600 left, but they have ',' or /* ... */
in the actual variable definitions - which my awk script doesn't handle.
There are also many that need () -> (void).
(The script does handle misordered arguments.)
 1.9 14-Mar-2009  dsl Remove all the __P() from sys (excluding sys/dist)
Diff checked with grep and MK1 eyeball.
i386 and amd64 GENERIC and sys still build.
 1.8 28-Apr-2008  martin branches: 1.8.8; 1.8.14;
Remove clause 3 and 4 from TNF licenses
 1.7 03-Dec-2007  ad branches: 1.7.14; 1.7.16; 1.7.18;
Interrupt handling changes, in discussion since February:

- Reduce available SPL levels for hardware devices to none, vm, sched, high.
- Acquire kernel_lock only for interrupts at IPL_VM.
- Implement threaded soft interrupts.
 1.6 11-Dec-2005  christos branches: 1.6.30; 1.6.46; 1.6.48; 1.6.50; 1.6.52; 1.6.58;
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 16-Jun-2003  thorpej branches: 1.4.2;
Rename IPL_IMP -> IPL_VM.
 1.3 23-Mar-2003  chris Add __KERNEL_RCSID tags to footbridge files.
 1.2 03-Nov-2002  chris Checkin new interrupt handling code for the footbridge.
This is based upon Jason's work on xscale.

Most of the interrupt handling code is now written in C using an asm stub to
call into the C code.

spl* now only updates a software mask, and does not update the hardware,
this should be much faster.

The new code works well on cats, it's untested on netwinder, but should work.

The code implements generic soft interrupts.

More work is still required to bring the isa interrupt handling code upto
scratch currently all isa interrupts are handled at IPL_BIO on the footbridge.
This may cause isa interrupts to be handled later than they should be.
I plan to fix this in the near future.
 1.1 12-Oct-2002  chris branches: 1.1.2; 1.1.4; 1.1.6;
Merge isa_machdep.c from netwinder and cats into footbridge/isa (where it
joins other machdep files)
Saves maintaining multiple copies of the same thing, the only differences
were:
IRQ line used on the footbridge (made that a define in include/isa_machdep.h)
name of a dma_ranges variable contained arch name, so just made it generic.
 1.1.6.1 09-Nov-2002  bjh21 Catch up with -current.
 1.1.4.2 18-Oct-2002  jdolecek sync with -current:
Merge isa_machdep.c from netwinder and cats into footbridge/isa
 1.1.4.1 12-Oct-2002  jdolecek file isa_machdep.c was added on branch kqueue on 2002-10-18 10:55:06 +0000
 1.1.2.3 11-Nov-2002  nathanw Catch up to -current
 1.1.2.2 18-Oct-2002  nathanw Catch up to -current.
 1.1.2.1 12-Oct-2002  nathanw file isa_machdep.c was added on branch nathanw_sa on 2002-10-18 02:35:27 +0000
 1.4.2.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.4.2.2 18-Sep-2004  skrll Sync with HEAD.
 1.4.2.1 03-Aug-2004  skrll Sync with HEAD
 1.5.16.1 07-Dec-2007  yamt sync with head
 1.6.58.1 08-Dec-2007  mjf Sync with HEAD.
 1.6.52.1 09-Jan-2008  matt sync with HEAD
 1.6.50.5 24-Feb-2008  chris Fix up footbridge code to work with changed arm_intr_register.

Cats now boots again.
 1.6.50.4 26-Jan-2008  chris Rename some structures, eg intrq->intrline, irqgroup->pic. A lot of
member variables have changed name to reflect this.

Change the API for registering a PIC with the common code, so that it
passes a structure to the common code, rather than lots of parameters.
 1.6.50.3 01-Jan-2008  chris Sync with HEAD.
 1.6.50.2 18-Aug-2007  chris Rework registration call, so that it no longer takes a status paramater.

Rework dispatch routines, so no implicit ordering is required in the irq
groups. This removes the primary flag, and also makes hardware dependant
dispatch routines again.

Update arm_intr_queue_irqs to disable interrupts. This is necessary when
child buses are present, eg isa bus, as the isa interrupt handler is
called with interrupts enabled, and I believe that the footbridge handler
was trampling on the isa handler setting up pending flags.

cats can now install using the update irq code (previously it would
randomly hang)
 1.6.50.1 12-Aug-2007  chris Switch footbridge isa to use common code. This required changes to the
arm code:
* intr_claim now takes a type to indicate edge, level or pulse. It has
isa level understanding of types and uses a callback to set the hardware
type.
* slightly adjust how pending interrupts are queued up.
* switch the ICU setup code to make use the defines in i8259reg.h, rather
than using magic numbers.
 1.6.48.1 09-Dec-2007  jmcneill Sync with HEAD.
 1.6.46.1 26-Dec-2007  rjs Sync with HEAD.
 1.6.30.1 03-Dec-2007  ad Sync with HEAD.
 1.7.18.5 11-Aug-2010  yamt sync with head.
 1.7.18.4 16-Sep-2009  yamt sync with head
 1.7.18.3 19-Aug-2009  yamt sync with head.
 1.7.18.2 04-May-2009  yamt sync with head.
 1.7.18.1 16-May-2008  yamt sync with head.
 1.7.16.1 18-May-2008  yamt sync with head.
 1.7.14.1 02-Jun-2008  mjf Sync with HEAD.
 1.8.14.1 13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.8.8.1 28-Apr-2009  skrll Sync with HEAD.
 1.16.4.1 03-Jul-2010  rmind sync with head
 1.16.2.1 17-Aug-2010  uebayasi Sync with HEAD.
 1.18.12.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.18.12.1 20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.18.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.18.2.1 30-Oct-2012  yamt sync with head
 1.19.2.1 18-May-2014  rmind sync with head
 1.21.30.1 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.22.8.1 14-Dec-2020  thorpej Sync w/ HEAD.
 1.17 27-Sep-2022  skrll Remove unnecessary sys/malloc.h include
 1.16 21-Sep-2012  matt Switch to the generic bounce buffer support.
 1.15 12-Feb-2012  matt branches: 1.15.6;
Change old-style function defintions to C89 prototypes.

Approved by releng.
 1.14 01-Jul-2011  dyoung branches: 1.14.2; 1.14.6;
#include <sys/bus.h> instead of <machine/bus.h>.
 1.13 18-Mar-2009  cegger Ansify function definitions w/o arguments. Generated with sed.
 1.12 14-Mar-2009  dsl ANSIfy another 1261 function definitions.
The only ones left in sys are beyond by sed script!
(or in sys/dist or sys/external)
Mostly they have function pointer parameters.
 1.11 14-Mar-2009  dsl Remove all the __P() from sys (excluding sys/dist)
Diff checked with grep and MK1 eyeball.
i386 and amd64 GENERIC and sys still build.
 1.10 28-Apr-2008  martin branches: 1.10.8; 1.10.14;
Remove clause 3 and 4 from TNF licenses
 1.9 04-Mar-2007  chris branches: 1.9.42; 1.9.44; 1.9.46;
Fix caddr_t fallout for cats kernel builds.
 1.8 04-Mar-2007  christos Kill caddr_t; there will be some MI fallout, but it will be fixed shortly.
 1.7 11-Dec-2005  christos branches: 1.7.26;
merge ktrace-lwp.
 1.6 30-Jul-2003  he branches: 1.6.16;
Initialize the new _cookie member of arm32_bus_dma_tag to NULL.
 1.5 01-Apr-2003  thorpej branches: 1.5.2;
Use PAGE_SIZE rather than NBPG.
 1.4 23-Mar-2003  chris Add __KERNEL_RCSID tags to footbridge files.
 1.3 17-Aug-2002  thorpej Use separate function pointers for dmamap_sync pre- vs post- operations.
Change the bus_dmamap_sync() macro to test the ops argument against pre-
and post- constants. The compiler will optimize out dead code because
of the constants. Since post- operations are not needed on ARM (except
for ISA bounce buffers), this eliminate a large number of function calls
which are noops, each of which cost at least 6 cycles just in the call
and return overhead (not to mention whatever other useless work the
compiler decides to do in the callee).
 1.2 31-Jul-2002  thorpej Overhaul how DMA ranges work in the ARM bus_dma implementation.

A new "arm32_dma_range" structure now describes a DMA window, with
a system address base, bus address base, and length. In addition to
providing info about which memory regions are legal for DMA, the new
structure provides address translation support, as well.

As before, if a tag does not list any ranges, then all addresses are
considered valid, and no DMA address translation is performed.

This allows us to remove a large chunk of code which was duplicated and
tweaked slightly (to do the address translation) from the stock ARM
bus_dma in the XScale IOP and ARM Integrator ports.

Test compiled on all ARM platforms, test booted on Intel IQ80321 and Shark.
 1.1 10-Feb-2002  chris branches: 1.1.2; 1.1.10; 1.1.14;
Following the demise of arch/arm32 update cats, and restore the isa files to a more sane location.
Also fix build break on GENERIC cats kernel, seems that conf.h should have been including arm/conf.h.

This completes the removal of arch/arm32.
 1.1.14.3 06-Sep-2002  jdolecek sync kqueue branch with HEAD
 1.1.14.2 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.1.14.1 10-Feb-2002  jdolecek file isadma_machdep.c was added on branch kqueue on 2002-06-23 17:34:50 +0000
 1.1.10.1 30-Aug-2002  gehenna catch up with -current.
 1.1.2.4 19-Aug-2002  thorpej Partial (ARM only) sync with trunk -- significant performance improvements
for XScale-based systems.
 1.1.2.3 01-Aug-2002  nathanw Catch up to -current.
 1.1.2.2 28-Feb-2002  nathanw Catch up to -current.
 1.1.2.1 10-Feb-2002  nathanw file isadma_machdep.c was added on branch nathanw_sa on 2002-02-28 04:07:30 +0000
 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.16.1 03-Sep-2007  yamt sync with head.
 1.7.26.1 12-Mar-2007  rmind Sync with HEAD.
 1.9.46.2 04-May-2009  yamt sync with head.
 1.9.46.1 16-May-2008  yamt sync with head.
 1.9.44.1 18-May-2008  yamt sync with head.
 1.9.42.1 02-Jun-2008  mjf Sync with HEAD.
 1.10.14.1 13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.10.8.1 28-Apr-2009  skrll Sync with HEAD.
 1.14.6.1 18-Feb-2012  mrg merge to -current.
 1.14.2.2 30-Oct-2012  yamt sync with head
 1.14.2.1 17-Apr-2012  yamt sync with head
 1.15.6.1 20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.7 27-Sep-2022  skrll Remove unnecessary sys/malloc.h include
 1.6 01-Jul-2011  dyoung #include <sys/bus.h> instead of <machine/bus.h>.
 1.5 21-Oct-2009  snj Drop 3rd and 4th clauses. Approved by thomas@ (copyright holder).
 1.4 14-Mar-2009  dsl Change about 4500 of the K&R function definitions to ANSI ones.
There are still about 1600 left, but they have ',' or /* ... */
in the actual variable definitions - which my awk script doesn't handle.
There are also many that need () -> (void).
(The script does handle misordered arguments.)
 1.3 28-Apr-2008  martin branches: 1.3.8; 1.3.14;
Remove clause 3 and 4 from TNF licenses
 1.2 23-Mar-2003  chris branches: 1.2.106; 1.2.108; 1.2.110;
Add __KERNEL_RCSID tags to footbridge files.
 1.1 10-Feb-2002  chris branches: 1.1.2; 1.1.14;
Following the demise of arch/arm32 update cats, and restore the isa files to a more sane location.
Also fix build break on GENERIC cats kernel, seems that conf.h should have been including arm/conf.h.

This completes the removal of arch/arm32.
 1.1.14.2 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.1.14.1 10-Feb-2002  jdolecek file isapnp_machdep.c was added on branch kqueue on 2002-06-23 17:34:50 +0000
 1.1.2.2 28-Feb-2002  nathanw Catch up to -current.
 1.1.2.1 10-Feb-2002  nathanw file isapnp_machdep.c was added on branch nathanw_sa on 2002-02-28 04:07:30 +0000
 1.2.110.3 11-Mar-2010  yamt sync with head
 1.2.110.2 04-May-2009  yamt sync with head.
 1.2.110.1 16-May-2008  yamt sync with head.
 1.2.108.1 18-May-2008  yamt sync with head.
 1.2.106.1 02-Jun-2008  mjf Sync with HEAD.
 1.3.14.1 13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.3.8.1 28-Apr-2009  skrll Sync with HEAD.
 1.4 18-Feb-2005  drochner The joystick driver is using mi timing code for many months.
Noone complained, so we can remove the unused md versions.
 1.3 23-Mar-2003  chris branches: 1.3.2; 1.3.10; 1.3.12;
Add __KERNEL_RCSID tags to footbridge files.
 1.2 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.1 10-Feb-2002  chris branches: 1.1.2; 1.1.10; 1.1.14;
Following the demise of arch/arm32 update cats, and restore the isa files to a more sane location.
Also fix build break on GENERIC cats kernel, seems that conf.h should have been including arm/conf.h.

This completes the removal of arch/arm32.
 1.1.14.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.14.2 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.1.14.1 10-Feb-2002  jdolecek file joy_timer.c was added on branch kqueue on 2002-06-23 17:34:50 +0000
 1.1.10.1 19-May-2002  gehenna Remove unnecessary #include
 1.1.2.3 17-Sep-2002  nathanw Catch up to -current.
 1.1.2.2 28-Feb-2002  nathanw Catch up to -current.
 1.1.2.1 10-Feb-2002  nathanw file joy_timer.c was added on branch nathanw_sa on 2002-02-28 04:07:31 +0000
 1.3.12.1 19-Mar-2005  yamt sync with head. xen and whitespace. xen part is not finished.
 1.3.10.1 29-Apr-2005  kent sync with -current
 1.3.2.1 04-Mar-2005  skrll Sync with HEAD.

Hi Perry!
 1.11 27-Oct-2012  chs split device_t/softc for all remaining drivers.
replace "struct device *" with "device_t".
use device_xname(), device_unit(), etc.
 1.10 21-Jul-2009  skrll branches: 1.10.12; 1.10.22;
device_t/softc split
CFATTACH_DECL -> CFATTACH_DECL_NEW
struct device * -> device_t
struct cfdata * -> cfdata_t
Use aprint*
 1.9 14-Mar-2009  dsl ANSIfy another 1261 function definitions.
The only ones left in sys are beyond by sed script!
(or in sys/dist or sys/external)
Mostly they have function pointer parameters.
 1.8 14-Mar-2009  dsl Change about 4500 of the K&R function definitions to ANSI ones.
There are still about 1600 left, but they have ',' or /* ... */
in the actual variable definitions - which my awk script doesn't handle.
There are also many that need () -> (void).
(The script does handle misordered arguments.)
 1.7 14-Mar-2009  dsl Remove all the __P() from sys (excluding sys/dist)
Diff checked with grep and MK1 eyeball.
i386 and amd64 GENERIC and sys still build.
 1.6 28-Apr-2008  martin branches: 1.6.8; 1.6.14;
Remove clause 3 and 4 from TNF licenses
 1.5 23-Mar-2003  chris branches: 1.5.106; 1.5.108; 1.5.110;
Add __KERNEL_RCSID tags to footbridge files.
 1.4 02-Oct-2002  thorpej Add trailing ; to CFATTACH_DECL
 1.3 01-Oct-2002  thorpej Use CFATTACH_DECL().
 1.2 27-Sep-2002  thorpej Declare all cfattach structures const.
 1.1 10-Feb-2002  chris branches: 1.1.2; 1.1.14;
Following the demise of arch/arm32 update cats, and restore the isa files to a more sane location.
Also fix build break on GENERIC cats kernel, seems that conf.h should have been including arm/conf.h.

This completes the removal of arch/arm32.
 1.1.14.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.14.2 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.1.14.1 10-Feb-2002  jdolecek file sysbeep_isa.c was added on branch kqueue on 2002-06-23 17:34:50 +0000
 1.1.2.3 18-Oct-2002  nathanw Catch up to -current.
 1.1.2.2 28-Feb-2002  nathanw Catch up to -current.
 1.1.2.1 10-Feb-2002  nathanw file sysbeep_isa.c was added on branch nathanw_sa on 2002-02-28 04:07:31 +0000
 1.5.110.3 19-Aug-2009  yamt sync with head.
 1.5.110.2 04-May-2009  yamt sync with head.
 1.5.110.1 16-May-2008  yamt sync with head.
 1.5.108.1 18-May-2008  yamt sync with head.
 1.5.106.1 02-Jun-2008  mjf Sync with HEAD.
 1.6.14.1 13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.6.8.1 28-Apr-2009  skrll Sync with HEAD.
 1.10.22.1 20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.10.12.1 30-Oct-2012  yamt sync with head

RSS XML Feed