Home | History | Annotate | only in /src/sys/arch/mipsco/obio
History log of /src/sys/arch/mipsco/obio
RevisionDateAuthorComments
 1.24 20-Dec-2023  thorpej Remove unnecessary <sys/malloc.h>.
 1.23 03-May-2022  andvar fix various typos, mainly s/trasfering/transferring/ and s/theese/these/.
 1.22 28-Apr-2008  martin Remove clause 3 and 4 from TNF licenses
 1.21 13-Apr-2008  tsutsui branches: 1.21.2; 1.21.4;
Split device_t/softc for MI ncr53c9x and some related devices,
with various cleanup.
 1.20 07-Mar-2007  he branches: 1.20.40;
Fix typo on previous.
 1.19 07-Mar-2007  he Cast to char* before doing pointer arithmetic.
 1.18 04-Mar-2007  christos Kill caddr_t; there will be some MI fallout, but it will be fixed shortly.
 1.17 24-Dec-2005  perry branches: 1.17.26;
Remove leading __ from __(const|inline|signed|volatile) -- it is obsolete.
 1.16 11-Dec-2005  christos merge ktrace-lwp.
 1.15 15-Jul-2003  lukem branches: 1.15.16;
__KERNEL_RCSID()
 1.14 03-May-2003  wiz branches: 1.14.2;
DMA, not dma nor Dma.
 1.13 02-Apr-2003  thorpej Use PAGE_SIZE rather than NBPG.
 1.12 02-Oct-2002  thorpej Use CFATTACH_DECL().
 1.11 27-Sep-2002  thorpej Declare all cfattach structures const.
 1.10 15-Dec-2001  wdk Add bus_dmamap_sync for pre-read and pre-write case. This was previously
left out as it was a no-op on the R3000 processor. However, recent changes
to the Mips cache ops highlighted we should DTRT in case the MI/MD layer
choses to invalidate the cache ahead of the DMA instead of after it.
 1.9 25-Apr-2001  bouyer branches: 1.9.2; 1.9.8;
Pull up the thorpej_scsipi branch to main branch.
This is a completely rewritten scsipi_xfer execution engine, and the
associated changes to HBA drivers. Overview of changes & features:
- All xfers are queued in the mid-layer, rather than doing so in an
ad-hoc fashion in individual adapter drivers.
- Adapter/channel resource management in the mid-layer, avoids even trying
to start running an xfer if the adapter/channel doesn't have the resources.
- Better communication between the mid-layer and the adapters.
- Asynchronous event notification mechanism from adapter to mid-layer and
peripherals.
- Better peripheral queue management: freeze/thaw, sorted requeueing during
recovery, etc.
- Clean separation of peripherals, adapters, and adapter channels (no more
scsipi_link).
- Kernel thread for each scsipi_channel makes error recovery much easier
(no more dealing with interrupt context when recovering from an error).
- Mid-layer support for tagged queueing: commands can have the tag type
set explicitly, tag IDs are allocated in the mid-layer (thus eliminating
the need to use buggy tag ID allocation schemes in many adapter drivers).
- support for QUEUE FULL and CHECK CONDITION status in mid-layer; the command
will be requeued, or a REQUEST SENSE will be sent as appropriate.

Just before the merge syssrc has been tagged with thorpej_scsipi_beforemerge
 1.8 30-Mar-2001  wdk Remove ncr53c9x_dmaselect
 1.7 05-Mar-2001  wdk branches: 1.7.2;
- Add "Features Enable" and CDB bits to SCSI controller config

- During un-aligned writes: Don't accidently leave the DMA engine active
after priming the FIFO between calls to asc_dma_setup and asc_dma_go
 1.6 03-Dec-2000  matt Deal with -Wstrict-prototypes -Wmissing-prototypes
 1.5 04-Sep-2000  wdk branches: 1.5.2;
* Use bus_space_write_multi_2 for priming the DMA FIFO as suggested by cgd

* Correctly handle transfer pad operation

* Remove check for DMA fifo flush during DMA chaining - after considerable
thought this is not required
 1.4 29-Aug-2000  wdk Fix an obscure bug with dump corrupting files during raw reads.

If the DMA chaning interrupt couldn't be serviced immediately (higher spl
level when kernel doing something else) a few microseconds later the NCR
controller will fill its FIFO and also interrupt the CPU.

The SCSI interrupt sees the terminal count has been reached, calls
asc_dma_intr to finish the job off. The FIFO cannot be flushed because
the block count hasn't been setup for the last dma segment (DMA chaining
still wasn't serviced).

Since the NCR 53c94 FIFO is only 16 bytes in size, any short DMA in this
size combined with the machine 'doing something else' causes the problem
to occur.

Servicing the DMA chaining interrupt before the NCR SCSI interrupt solves
this problem.

Add tests to ensure the DMA FIFO has been flushed correctly at the end of
each DMA operation just to be on the safe side.
 1.3 15-Aug-2000  wdk * Tidy up interrupt handlers by implementing an intr_establish()
handler to hook up device interrupts and softc callbacks.

Suggested by: Jason Thorpe and Toru Nishimura

* Fixup the indenting in a few places to conform to NetBSD style
 1.2 14-Aug-2000  wdk Decrement the block count to compensate for 64 bytes prefetched to fill
the DMA FIFO on non block aligned writes. Not doing this causes large
writes (>4k) that are not aligned to incorrectly write 64bytes
of data every 4k interval. This only occurs on raw devices - typically
newfs fails to create a clean filesystem.
 1.1 12-Aug-2000  wdk Initial commit of port to MIPS Computer Systems RC3xxx systems.
Currently supports the RC3230
 1.5.2.6 21-Apr-2001  bouyer Sync with HEAD
 1.5.2.5 29-Mar-2001  bouyer Pass compile-test on i386
 1.5.2.4 12-Mar-2001  bouyer Sync with HEAD.
 1.5.2.3 08-Dec-2000  bouyer Sync with HEAD.
 1.5.2.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.5.2.1 04-Sep-2000  bouyer file asc.c was added on branch thorpej_scsipi on 2000-11-20 20:14:11 +0000
 1.7.2.2 21-Jun-2001  nathanw Catch up to -current.
 1.7.2.1 09-Apr-2001  nathanw Catch up with -current.
 1.9.8.3 18-Oct-2002  nathanw Catch up to -current.
 1.9.8.2 08-Jan-2002  nathanw Catch up to -current.
 1.9.8.1 25-Apr-2001  nathanw file asc.c was added on branch nathanw_sa on 2002-01-08 00:26:30 +0000
 1.9.2.2 10-Oct-2002  jdolecek sync kqueue with -current; this includes merge of gehenna-devsw branch,
merge of i386 MP branch, and part of autoconf rototil work
 1.9.2.1 10-Jan-2002  thorpej Sync kqueue branch 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-Aug-2004  skrll Sync with HEAD
 1.15.16.2 03-Sep-2007  yamt sync with head.
 1.15.16.1 21-Jun-2006  yamt sync with head.
 1.17.26.1 12-Mar-2007  rmind Sync with HEAD.
 1.20.40.1 02-Jun-2008  mjf Sync with HEAD.
 1.21.4.1 16-May-2008  yamt sync with head.
 1.21.2.1 18-May-2008  yamt sync with head.
 1.4 08-Feb-2011  rmind Remove clause 3 (UCB advertising clause) from the University of Utah
copyright. Confirmed by Mike Hibler, mike at cs.utah.edu - thanks!
Also, merge UCB and Utah copyright texts back into one, as they
originally were.

Extra verification by snj@.
 1.3 11-Dec-2005  christos branches: 1.3.100; 1.3.106; 1.3.108;
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 12-Aug-2000  wdk branches: 1.1.2; 1.1.26;
Initial commit of port to MIPS Computer Systems RC3xxx systems.
Currently supports the RC3230
 1.1.26.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.1.26.2 18-Sep-2004  skrll Sync with HEAD.
 1.1.26.1 03-Aug-2004  skrll Sync with HEAD
 1.1.2.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.1.2.1 12-Aug-2000  bouyer file clockreg.h was added on branch thorpej_scsipi on 2000-11-20 20:14:11 +0000
 1.3.108.1 17-Feb-2011  bouyer Sync with HEAD
 1.3.106.1 06-Jun-2011  jruoho Sync with HEAD.
 1.3.100.1 05-Mar-2011  rmind sync with head
 1.15 25-Jul-2014  dholland Add d_discard to all struct cdevsw instances I could find.

All have been set to "nodiscard"; some should get a real implementation.
 1.14 25-Jul-2014  dholland Add d_discard to all struct bdevsw instances I could find.

I've set them all to nodiscard. Some of them (wd, dk, vnd, ld,
raidframe, maybe cgd) should be implemented for real.
 1.13 16-Mar-2014  dholland branches: 1.13.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.12 27-Oct-2012  chs branches: 1.12.2;
split device_t/softc for all remaining drivers.
replace "struct device *" with "device_t".
use device_xname(), device_unit(), etc.
 1.11 14-Mar-2009  dsl branches: 1.11.12; 1.11.22;
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.10 28-Apr-2008  martin branches: 1.10.8; 1.10.14;
Remove clause 3 and 4 from TNF licenses
 1.9 11-Dec-2005  christos branches: 1.9.74; 1.9.76; 1.9.78;
merge ktrace-lwp.
 1.8 15-Jul-2003  lukem branches: 1.8.16;
__KERNEL_RCSID()
 1.7 23-Oct-2002  jdolecek branches: 1.7.6;
merge kqueue branch into -current

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

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

based on work done by Jonathan Lemon for FreeBSD
initial NetBSD port done by Luke Mewburn and Jason Thorpe
 1.6 02-Oct-2002  thorpej Use CFATTACH_DECL().
 1.5 27-Sep-2002  thorpej Declare all cfattach structures const.
 1.4 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.3 03-Dec-2000  matt branches: 1.3.2; 1.3.4; 1.3.8; 1.3.16;
Deal with -Wstrict-prototypes -Wmissing-prototypes
 1.2 15-Aug-2000  wdk branches: 1.2.2;
* Tidy up interrupt handlers by implementing an intr_establish()
handler to hook up device interrupts and softc callbacks.

Suggested by: Jason Thorpe and Toru Nishimura

* Fixup the indenting in a few places to conform to NetBSD style
 1.1 12-Aug-2000  wdk Initial commit of port to MIPS Computer Systems RC3xxx systems.
Currently supports the RC3230
 1.2.2.3 08-Dec-2000  bouyer Sync with HEAD.
 1.2.2.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.2.2.1 15-Aug-2000  bouyer file i82072.c was added on branch thorpej_scsipi on 2000-11-20 20:14:11 +0000
 1.3.16.1 17-May-2002  gehenna Add device switch.
 1.3.8.3 11-Nov-2002  nathanw Catch up to -current
 1.3.8.2 18-Oct-2002  nathanw Catch up to -current.
 1.3.8.1 17-Sep-2002  nathanw Catch up to -current.
 1.3.4.1 10-Oct-2002  jdolecek sync kqueue with -current; this includes merge of gehenna-devsw branch,
merge of i386 MP branch, and part of autoconf rototil work
 1.3.2.1 10-Oct-2001  fvdl Convert all remaining devices.
 1.7.6.4 31-Jan-2005  skrll Adapt to branch
 1.7.6.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.7.6.2 18-Sep-2004  skrll Sync with HEAD.
 1.7.6.1 03-Aug-2004  skrll Sync with HEAD
 1.8.16.1 21-Jun-2006  yamt sync with head.
 1.9.78.2 04-May-2009  yamt sync with head.
 1.9.78.1 16-May-2008  yamt sync with head.
 1.9.76.1 18-May-2008  yamt sync with head.
 1.9.74.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.11.22.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.11.22.1 20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.11.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.11.12.1 30-Oct-2012  yamt sync with head
 1.12.2.1 18-May-2014  rmind sync with head
 1.13.2.1 10-Aug-2014  tls Rebase.
 1.15 26-Apr-2025  tsutsui Fix le(4) match routine to probe the address specified in config(5).

No functional changes with current kernel config files.

Also apply cosmetic changes:
- use proper variable name per examples in the bus_dma(9) man page
- fix an incorrect comment

Patch from Miod Vallat.
 1.14 29-May-2022  rin branches: 1.14.10;
le(4): Fix resource leaks for error paths.

XXX
Compile test only (at least one arch per driver).
 1.13 19-Jan-2010  pooka Redefine bpf linkage through an always present op vector, i.e.
#if NBPFILTER is no longer required in the client. This change
doesn't yet add support for loading bpf as a module, since drivers
can register before bpf is attached. However, callers of bpf can
now be modularized.

Dynamically loadable bpf could probably be done fairly easily with
coordination from the stub driver and the real driver by registering
attachments in the stub before the real driver is loaded and doing
a handoff. ... and I'm not going to ponder the depths of unload
here.

Tested with i386/MONOLITHIC, modified MONOLITHIC without bpf and rump.
 1.12 28-Apr-2008  martin Remove clause 3 and 4 from TNF licenses
 1.11 04-Apr-2008  tsutsui branches: 1.11.2; 1.11.4;
Split device_t/softc for le(4) and variants and misc cosmetic changes.
 1.10 04-Mar-2007  christos branches: 1.10.40;
Kill caddr_t; there will be some MI fallout, but it will be fixed shortly.
 1.9 24-Dec-2005  perry branches: 1.9.26;
Remove leading __ from __(const|inline|signed|volatile) -- it is obsolete.
 1.8 11-Dec-2005  christos merge ktrace-lwp.
 1.7 13-Dec-2004  chs branches: 1.7.10;
for drivers that support only one instance, use a global variable to ensure
that only one instance is configured rather than requiring that its
unit number be zero.
 1.6 15-Jul-2003  lukem __KERNEL_RCSID()
 1.5 02-Oct-2002  thorpej branches: 1.5.6;
Use CFATTACH_DECL().
 1.4 27-Sep-2002  thorpej Declare all cfattach structures const.
 1.3 30-May-2001  mrg branches: 1.3.2; 1.3.8;
use _KERNEL_OPT
 1.2 15-Aug-2000  wdk branches: 1.2.2; 1.2.4;
* Tidy up interrupt handlers by implementing an intr_establish()
handler to hook up device interrupts and softc callbacks.

Suggested by: Jason Thorpe and Toru Nishimura

* Fixup the indenting in a few places to conform to NetBSD style
 1.1 12-Aug-2000  wdk Initial commit of port to MIPS Computer Systems RC3xxx systems.
Currently supports the RC3230
 1.2.4.1 21-Jun-2001  nathanw Catch up to -current.
 1.2.2.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.2.2.1 15-Aug-2000  bouyer file if_le.c was added on branch thorpej_scsipi on 2000-11-20 20:14:11 +0000
 1.3.8.2 18-Oct-2002  nathanw Catch up to -current.
 1.3.8.1 30-May-2001  nathanw file if_le.c was added on branch nathanw_sa on 2002-10-18 02:38:54 +0000
 1.3.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.5.6.4 18-Dec-2004  skrll Sync with HEAD.
 1.5.6.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.5.6.2 18-Sep-2004  skrll Sync with HEAD.
 1.5.6.1 03-Aug-2004  skrll Sync with HEAD
 1.7.10.2 03-Sep-2007  yamt sync with head.
 1.7.10.1 21-Jun-2006  yamt sync with head.
 1.9.26.1 12-Mar-2007  rmind Sync with HEAD.
 1.10.40.1 02-Jun-2008  mjf Sync with HEAD.
 1.11.4.2 11-Mar-2010  yamt sync with head
 1.11.4.1 16-May-2008  yamt sync with head.
 1.11.2.1 18-May-2008  yamt sync with head.
 1.14.10.1 02-Aug-2025  perseant Sync with HEAD
 1.13 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.12 20-Nov-2014  christos use the inline bcdtobin and bintobcd directly instead through a macro.
 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 14-Mar-2009  dsl branches: 1.10.12; 1.10.22;
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.9 14-Mar-2009  dsl Change about 4500 of the K&R function definitions to ANSI ones.
There are still about 1600 left, but they have ',' or /* ... */
in the actual variable definitions - which my awk script doesn't handle.
There are also many that need () -> (void).
(The script does handle misordered arguments.)
 1.8 28-Apr-2008  martin branches: 1.8.8; 1.8.14;
Remove clause 3 and 4 from TNF licenses
 1.7 15-Sep-2006  gdamore branches: 1.7.54; 1.7.56; 1.7.58;
Convert mipsco to generic TODR and TC. Compile tested only. If the
port-mipsco mailing list is any indication, nobody has actually run netbsd
on this port for several years.
 1.6 11-Dec-2005  christos branches: 1.6.20;
merge ktrace-lwp.
 1.5 15-Jul-2003  lukem branches: 1.5.16;
__KERNEL_RCSID()
 1.4 02-Oct-2002  thorpej branches: 1.4.6;
Use CFATTACH_DECL().
 1.3 27-Sep-2002  thorpej Declare all cfattach structures const.
 1.2 03-Dec-2000  matt branches: 1.2.4; 1.2.8;
Deal with -Wstrict-prototypes -Wmissing-prototypes
 1.1 12-Aug-2000  wdk branches: 1.1.2;
Initial commit of port to MIPS Computer Systems RC3xxx systems.
Currently supports the RC3230
 1.1.2.3 08-Dec-2000  bouyer Sync with HEAD.
 1.1.2.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.1.2.1 12-Aug-2000  bouyer file mkclock.c was added on branch thorpej_scsipi on 2000-11-20 20:14:11 +0000
 1.2.8.1 18-Oct-2002  nathanw Catch up to -current.
 1.2.4.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.4.6.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.4.6.2 18-Sep-2004  skrll Sync with HEAD.
 1.4.6.1 03-Aug-2004  skrll Sync with HEAD
 1.5.16.1 30-Dec-2006  yamt sync with head.
 1.6.20.1 18-Nov-2006  ad Sync with head.
 1.7.58.2 04-May-2009  yamt sync with head.
 1.7.58.1 16-May-2008  yamt sync with head.
 1.7.56.1 18-May-2008  yamt sync with head.
 1.7.54.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.10.22.2 03-Dec-2017  jdolecek update from 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
 1.19 07-Aug-2021  thorpej Merge thorpej-cfargs2.
 1.18 24-Apr-2021  thorpej branches: 1.18.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.17 06-Jun-2011  matt branches: 1.17.68;
CFATTACH_DECL(..., sizeof(struct device), -> CFATTACH_DECL_NEW(..., 0
struct device * -> device_t
struct cfdata * -> cfdata_t
use bool when appropriate
some constification
 1.16 16-Mar-2009  dsl branches: 1.16.4; 1.16.10;
ANSIfy functions with function-pointer arguments
 1.15 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.14 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.13 28-Apr-2008  martin branches: 1.13.8; 1.13.14;
Remove clause 3 and 4 from TNF licenses
 1.12 11-Dec-2005  christos branches: 1.12.74; 1.12.76; 1.12.78;
merge ktrace-lwp.
 1.11 26-Aug-2005  drochner s/locdesc_t/int/g
 1.10 30-Jun-2005  drochner branches: 1.10.2;
adaptions to config_search() change, and minor autoconf fixes, mostly from Havard Eidnes
 1.9 14-Dec-2004  chs use the generated macros in locators.h rather than hard-coded numbers
to index the cf_loc[] array. reviewed by allen briggs.
 1.8 15-Jul-2003  lukem __KERNEL_RCSID()
 1.7 01-Jan-2003  thorpej branches: 1.7.2;
Use aprint_normal() for cfprint routines.
 1.6 02-Oct-2002  thorpej Use CFATTACH_DECL().
 1.5 27-Sep-2002  thorpej Declare all cfattach structures const.
 1.4 27-Sep-2002  thorpej Introduce a new routine, config_match(), which invokes the
cfattach->ca_match function in behalf of the caller. Use it
rather than invoking cfattach->ca_match directly.
 1.3 27-Sep-2002  thorpej Rather than referencing the cfdriver directly in the cfdata entries,
instead use a string naming the driver. The cfdriver is then looked
up in a list which is built at run-time.
 1.2 15-Aug-2000  wdk branches: 1.2.2; 1.2.6; 1.2.10;
* Tidy up interrupt handlers by implementing an intr_establish()
handler to hook up device interrupts and softc callbacks.

Suggested by: Jason Thorpe and Toru Nishimura

* Fixup the indenting in a few places to conform to NetBSD style
 1.1 12-Aug-2000  wdk Initial commit of port to MIPS Computer Systems RC3xxx systems.
Currently supports the RC3230
 1.2.10.2 03-Jan-2003  thorpej Sync with HEAD.
 1.2.10.1 18-Oct-2002  nathanw Catch up to -current.
 1.2.6.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.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.2.2.1 15-Aug-2000  bouyer file obio.c was added on branch thorpej_scsipi on 2000-11-20 20:14:11 +0000
 1.7.2.5 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.7.2.4 18-Dec-2004  skrll Sync with HEAD.
 1.7.2.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.7.2.2 18-Sep-2004  skrll Sync with HEAD.
 1.7.2.1 03-Aug-2004  skrll Sync with HEAD
 1.10.2.1 21-Jun-2006  yamt sync with head.
 1.12.78.2 04-May-2009  yamt sync with head.
 1.12.78.1 16-May-2008  yamt sync with head.
 1.12.76.1 18-May-2008  yamt sync with head.
 1.12.74.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.8.1 28-Apr-2009  skrll Sync with HEAD.
 1.16.10.1 23-Jun-2011  cherry Catchup with rmind-uvmplock merge.
 1.16.4.1 12-Jun-2011  rmind sync with head
 1.17.68.6 05-Apr-2021  thorpej Treat config_probe() as if it were a boolean function; don't compare
return value > 0... except for the odd balls, which are now really easy
to spot.
 1.17.68.5 05-Apr-2021  thorpej config_match() -> config_probe() for the straight-forward indirect config
cases. There are still a few odd balls using config_match() which should
be sorted out later.
 1.17.68.4 04-Apr-2021  thorpej CFARG_SUBMATCH -> CFARG_SEARCH for the indirect configuration uses.
 1.17.68.3 03-Apr-2021  thorpej Give config_attach() the tagged variadic argument treatment and
mechanically convert all call sites.
 1.17.68.2 21-Mar-2021  thorpej CFARG_IATTR usage audit:

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

- Introduce a new cfarg_t enumerated type, that defines the types of
tag-value variadic arguments that can be passed to the various
config_*() functions (CFARG_SUBMATCH, CFARG_IATTR, and CFARG_LOCATORS,
for now, plus a CFARG_EOL sentinel).
- Collapse config_search_*() into config_search() that takes these
variadic arguments.
- Convert all call sites of config_search_*() to the new signature.
Noticed several incorrect usages along the way, which will be
audited in a future commit.
 1.18.8.1 04-Aug-2021  thorpej Adapt to CFARGS().
 1.15 01-May-2025  tsutsui Use uint32_t instead of u_int32_t.
 1.14 26-Apr-2025  tsutsui Remove dead code and variables from clock interrupt code.

These should have been removed on switching to using MI timecounter(9)
from MD microtime(9) impementation back in 2006:
https://mail-index.netbsd.org/source-changes/2006/09/15/0042.html
https://github.com/NetBSD/src/commit/12fed6d0

Patch from Miod Vallat.
 1.13 27-Oct-2012  chs branches: 1.13.74;
split device_t/softc for all remaining drivers.
replace "struct device *" with "device_t".
use device_xname(), device_unit(), etc.
 1.12 14-Mar-2009  dsl branches: 1.12.12; 1.12.22;
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 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.10 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.9 28-Apr-2008  martin branches: 1.9.8; 1.9.14;
Remove clause 3 and 4 from TNF licenses
 1.8 15-Sep-2006  gdamore branches: 1.8.54; 1.8.56; 1.8.58;
Convert mipsco to generic TODR and TC. Compile tested only. If the
port-mipsco mailing list is any indication, nobody has actually run netbsd
on this port for several years.
 1.7 11-Dec-2005  christos branches: 1.7.20;
merge ktrace-lwp.
 1.6 15-Jul-2003  lukem branches: 1.6.16;
__KERNEL_RCSID()
 1.5 02-Oct-2002  thorpej branches: 1.5.6;
Use CFATTACH_DECL().
 1.4 27-Sep-2002  thorpej Declare all cfattach structures const.
 1.3 06-Sep-2000  wdk branches: 1.3.2; 1.3.6; 1.3.10;
Microtime calculation was seriously incorrect when HZ != 100

Give rest of clock interrupt code a revamp. Because we are using an external
cycle counter we can now handle loosing several hundred interrupts without
the time slipping.
 1.2 15-Aug-2000  wdk * Tidy up interrupt handlers by implementing an intr_establish()
handler to hook up device interrupts and softc callbacks.

Suggested by: Jason Thorpe and Toru Nishimura

* Fixup the indenting in a few places to conform to NetBSD style
 1.1 12-Aug-2000  wdk Initial commit of port to MIPS Computer Systems RC3xxx systems.
Currently supports the RC3230
 1.3.10.1 18-Oct-2002  nathanw Catch up to -current.
 1.3.6.1 10-Oct-2002  jdolecek sync kqueue with -current; this includes merge of gehenna-devsw branch,
merge of i386 MP branch, and part of autoconf rototil work
 1.3.2.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.3.2.1 06-Sep-2000  bouyer file rambo.c was added on branch thorpej_scsipi on 2000-11-20 20:14:11 +0000
 1.5.6.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.5.6.2 18-Sep-2004  skrll Sync with HEAD.
 1.5.6.1 03-Aug-2004  skrll Sync with HEAD
 1.6.16.1 30-Dec-2006  yamt sync with head.
 1.7.20.1 18-Nov-2006  ad Sync with head.
 1.8.58.2 04-May-2009  yamt sync with head.
 1.8.58.1 16-May-2008  yamt sync with head.
 1.8.56.1 18-May-2008  yamt sync with head.
 1.8.54.1 02-Jun-2008  mjf Sync with HEAD.
 1.9.14.1 13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.9.8.1 28-Apr-2009  skrll Sync with HEAD.
 1.12.22.1 20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.12.12.1 30-Oct-2012  yamt sync with head
 1.13.74.1 02-Aug-2025  perseant Sync with HEAD
 1.9 26-Apr-2025  tsutsui Remove dead code and variables from clock interrupt code.

These should have been removed on switching to using MI timecounter(9)
from MD microtime(9) impementation back in 2006:
https://mail-index.netbsd.org/source-changes/2006/09/15/0042.html
https://github.com/NetBSD/src/commit/12fed6d0

Patch from Miod Vallat.
 1.8 17-Aug-2021  andvar branches: 1.8.10;
fix multiplei repetitive typos in comments, messages and documentation. mainly because copy paste code big amount of files are affected.
 1.7 29-Jun-2009  mbalmer Fix integer constant RB_FREQUENC, 25MHz/4 is 6250000L, not 625000L

This fixes PR 39931

PR and fix from Miod Vallat <miod@online.fr>, many thanks!
 1.6 28-Apr-2008  martin Remove clause 3 and 4 from TNF licenses
 1.5 15-Sep-2006  gdamore branches: 1.5.54; 1.5.56; 1.5.58;
Convert mipsco to generic TODR and TC. Compile tested only. If the
port-mipsco mailing list is any indication, nobody has actually run netbsd
on this port for several years.
 1.4 16-Sep-2001  wiz branches: 1.4.4; 1.4.36; 1.4.66;
Spell 'occurred' with two 'r's.
 1.3 02-Oct-2000  wdk branches: 1.3.2; 1.3.4; 1.3.6;
Add parenthesis to TICKS_TO_USECS macro avoiding side-effects.
Fixes glitch where microtime goes backward. KNF rules!
 1.2 06-Sep-2000  wdk Microtime calculation was seriously incorrect when HZ != 100

Give rest of clock interrupt code a revamp. Because we are using an external
cycle counter we can now handle loosing several hundred interrupts without
the time slipping.
 1.1 12-Aug-2000  wdk Initial commit of port to MIPS Computer Systems RC3xxx systems.
Currently supports the RC3230
 1.3.6.1 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.3.4.1 01-Oct-2001  fvdl Catch up with -current.
 1.3.2.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.3.2.1 02-Oct-2000  bouyer file rambo.h was added on branch thorpej_scsipi on 2000-11-20 20:14:11 +0000
 1.4.66.1 18-Nov-2006  ad Sync with head.
 1.4.36.1 30-Dec-2006  yamt sync with head.
 1.4.4.2 16-Sep-2001  wiz Spell 'occurred' with two 'r's.
 1.4.4.1 16-Sep-2001  wiz file rambo.h was added on branch nathanw_sa on 2001-09-16 16:34:34 +0000
 1.5.58.2 18-Jul-2009  yamt sync with head.
 1.5.58.1 16-May-2008  yamt sync with head.
 1.5.56.1 18-May-2008  yamt sync with head.
 1.5.54.1 02-Jun-2008  mjf Sync with HEAD.
 1.8.10.1 02-Aug-2025  perseant Sync with HEAD
 1.28 11-Sep-2021  andvar Add missing double p and d for stopped and overriden accordingly.
Fix few more typos along the way, mainly in copy-pasted comments.
 1.27 07-Aug-2021  thorpej Merge thorpej-cfargs2.
 1.26 24-Apr-2021  thorpej branches: 1.26.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.25 08-Jun-2014  he branches: 1.25.42;
Move the rest of real_bps handling in under #if 0, so
that we don't get set-but-not-used warnings from the compiler.
 1.24 13-Jun-2008  cegger branches: 1.24.40; 1.24.56;
use device_lookup_private to get softc
 1.23 28-Apr-2008  martin branches: 1.23.2; 1.23.4;
Remove clause 3 and 4 from TNF licenses
 1.22 29-Mar-2008  tsutsui branches: 1.22.2; 1.22.4;
Split softc and device_t for zsc(4) and its children.

XXX we should restructure MI APIs and make it really machine independent.
 1.21 26-Nov-2007  ad branches: 1.21.14;
Use the softint API.
 1.20 09-Nov-2007  ad Call zs_lock_init() to set up the chanstate's lock.
 1.19 28-Mar-2006  thorpej branches: 1.19.18; 1.19.36; 1.19.38; 1.19.42; 1.19.44;
Use device_unit().
 1.18 11-Dec-2005  christos branches: 1.18.4; 1.18.6; 1.18.8; 1.18.10; 1.18.12;
merge ktrace-lwp.
 1.17 15-Jul-2003  lukem branches: 1.17.16;
__KERNEL_RCSID()
 1.16 28-Jan-2003  pk branches: 1.16.2;
Provide locking required by the interrupt handlers running at IPL_SERIAL.
 1.15 01-Jan-2003  thorpej Use aprint_normal() for cfprint routines.
 1.14 02-Oct-2002  thorpej Use CFATTACH_DECL().
 1.13 27-Sep-2002  thorpej Declare all cfattach structures const.
 1.12 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.11 20-Nov-2001  lukem branches: 1.11.8;
- pull in opt_kgdb.h where necessary
- replace opt_kgdb_machdep.h with opt_kgdb.h
- defparam opt_kgdb.h:
KGDB_DEV KGDB_DEVNAME KGDB_DEVADDR KGDB_DEVRATE KGDB_DEVMODE
- move from opt_ddbparam.h to opt_ddb.h:
DDB_FROMCONSOLE DDB_ONPANIC DDB_HISTORY_SIZE DDB_BREAK_CHAR SYMTAB_SPACE
- replace KGDBDEV with KGDB_DEV
- replace KGDBADDR with KGDB_DEVADDR
- replace KGDBMODE with KGDB_DEVMODE
- replace KGDBRATE with KGDB_DEVRATE
- use `9600' instead of `0x2580' for 9600 baud rate
- use correct quotes for options KGDB_DEVNAME="\"com\""
- use correct quotes for options KGDB_DEV="17*256+0"
- remove unnecessary dependancy on Makefile for kgdb_stub.o
- minor whitespace cleanup
 1.10 08-Jul-2001  wdk branches: 1.10.2; 1.10.8;
change b*() -> mem*()
 1.9 30-Mar-2001  wdk use MI softintr
 1.8 21-Feb-2001  wdk branches: 1.8.2;
Remove superfluous #include added in previous commit
 1.7 21-Feb-2001  wdk Changes for KGDB
 1.6 07-Feb-2001  wdk Fully implement bus_space(9) access to the z8530 SCC registers.
This adds the missing wbflush() calls after writing register data.

At same time tidy up several comments and make several KNF changes.

XXX: The z8530 MI driver doesn't support bus_space access to the registers
(lacks a hook for storing a bus space tag, and stores register
addresses directly)
Until other ports catch up (this is the first) we have overlayed
the missing data in the MD structures
 1.5 03-Dec-2000  matt Deal with -Wstrict-prototypes -Wmissing-prototypes
 1.4 29-Aug-2000  wdk branches: 1.4.2;
Engage the clutch before changing gears.

If the machine uses a Z85230 ESCC device with deep buffers, we observe
output glitches when printing the zstty{0,1} probe lines when the device
is reset & reprogrammed during startup.

There is no easy 'hook' in the MI Z8530 driver, so we wait for output
buffer to drain before changing the baud rate generator prescaler value.
 1.3 19-Aug-2000  wdk - Add support for calling most prom firmware functions

- Using the prom getenv function determine the correct console port

- Remove old prom function hooks

- Tidy up bootflags (remove upper case names, fixup RB_ASKNAME) as
recommended by Jarom�r Dole�ek
 1.2 15-Aug-2000  wdk * Tidy up interrupt handlers by implementing an intr_establish()
handler to hook up device interrupts and softc callbacks.

Suggested by: Jason Thorpe and Toru Nishimura

* Fixup the indenting in a few places to conform to NetBSD style
 1.1 12-Aug-2000  wdk Initial commit of port to MIPS Computer Systems RC3xxx systems.
Currently supports the RC3230
 1.4.2.6 21-Apr-2001  bouyer Sync with HEAD
 1.4.2.5 12-Mar-2001  bouyer Sync with HEAD.
 1.4.2.4 11-Feb-2001  bouyer Sync with HEAD.
 1.4.2.3 08-Dec-2000  bouyer Sync with HEAD.
 1.4.2.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.4.2.1 29-Aug-2000  bouyer file zs.c was added on branch thorpej_scsipi on 2000-11-20 20:14:11 +0000
 1.8.2.1 09-Apr-2001  nathanw Catch up with -current.
 1.10.8.5 03-Jan-2003  thorpej Sync with HEAD.
 1.10.8.4 18-Oct-2002  nathanw Catch up to -current.
 1.10.8.3 17-Sep-2002  nathanw Catch up to -current.
 1.10.8.2 08-Jan-2002  nathanw Catch up to -current.
 1.10.8.1 08-Jul-2001  nathanw file zs.c was added on branch nathanw_sa on 2002-01-08 00:26:30 +0000
 1.10.2.2 10-Oct-2002  jdolecek sync kqueue with -current; this includes merge of gehenna-devsw branch,
merge of i386 MP branch, and part of autoconf rototil work
 1.10.2.1 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.11.8.1 19-May-2002  gehenna Replace the access to devsw table and the hard-coded majors with devsw API.
 1.16.2.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.16.2.2 18-Sep-2004  skrll Sync with HEAD.
 1.16.2.1 03-Aug-2004  skrll Sync with HEAD
 1.17.16.3 07-Dec-2007  yamt sync with head
 1.17.16.2 15-Nov-2007  yamt sync with head.
 1.17.16.1 21-Jun-2006  yamt sync with head.
 1.18.12.1 31-Mar-2006  tron Merge 2006-03-31 NetBSD-current into the "peter-altq" branch.
 1.18.10.1 19-Apr-2006  elad sync with head - hopefully this will work
 1.18.8.1 01-Apr-2006  yamt sync with head.
 1.18.6.1 22-Apr-2006  simonb Sync with head.
 1.18.4.1 09-Sep-2006  rpaulo sync with head
 1.19.44.2 08-Dec-2007  mjf Sync with HEAD.
 1.19.44.1 19-Nov-2007  mjf Sync with HEAD.
 1.19.42.1 13-Nov-2007  bouyer Sync with HEAD
 1.19.38.1 09-Jan-2008  matt sync with HEAD
 1.19.36.2 27-Nov-2007  joerg Sync with HEAD. amd64 Xen support needs testing.
 1.19.36.1 11-Nov-2007  joerg Sync with HEAD.
 1.19.18.1 03-Dec-2007  ad Sync with HEAD.
 1.21.14.3 29-Jun-2008  mjf Sync with HEAD.
 1.21.14.2 02-Jun-2008  mjf Sync with HEAD.
 1.21.14.1 03-Apr-2008  mjf Sync with HEAD.
 1.22.4.2 04-May-2009  yamt sync with head.
 1.22.4.1 16-May-2008  yamt sync with head.
 1.22.2.2 17-Jun-2008  yamt sync with head.
 1.22.2.1 18-May-2008  yamt sync with head.
 1.23.4.1 18-Jun-2008  simonb Sync with head.
 1.23.2.1 23-Jun-2008  wrstuden Sync w/ -current. 34 merge conflicts to follow.
 1.24.56.1 10-Aug-2014  tls Rebase.
 1.24.40.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.25.42.1 21-Mar-2021  thorpej Give config_found() the same variadic arguments treatment as
config_search(). This commit only adds the CFARG_EOL sentinel
to the existing config_found() calls. Conversion of config_found_sm_loc()
and config_found_ia() call sites will be in subsequent commits.
 1.26.8.1 04-Aug-2021  thorpej Adapt to CFARGS().
 1.11 24-Oct-2023  andvar apply similar changes between different archs/machines for zs_kgdb.c:
1) adjust zs_kgdb_init tty attachment message for kgdb_dev type change.
(one arch uses cast to int instead, but kept one approach for consistency)
2) remove unused rr0 declaration and assignment in zs_kgdb_txint()
3) adjust kgdb_dev format specifier to %llx/d if needed.
4) add const for zs_kgdb_devname declaration (macppc only).
should fix zs_kgdb.c build for all these ports.
 1.10 18-Mar-2009  cegger branches: 1.10.44; 1.10.54;
Ansify function definitions w/o arguments. Generated with sed.
 1.9 14-Mar-2009  dsl Change about 4500 of the K&R function definitions to ANSI ones.
There are still about 1600 left, but they have ',' or /* ... */
in the actual variable definitions - which my awk script doesn't handle.
There are also many that need () -> (void).
(The script does handle misordered arguments.)
 1.8 14-Mar-2009  dsl Remove all the __P() from sys (excluding sys/dist)
Diff checked with grep and MK1 eyeball.
i386 and amd64 GENERIC and sys still build.
 1.7 28-Apr-2008  martin branches: 1.7.8; 1.7.14;
Remove clause 3 and 4 from TNF licenses
 1.6 01-Sep-2006  matt branches: 1.6.56; 1.6.58; 1.6.60;
Remove unneeded volatile.
 1.5 11-Dec-2005  christos branches: 1.5.4; 1.5.8;
merge ktrace-lwp.
 1.4 15-Jul-2003  lukem branches: 1.4.16;
__KERNEL_RCSID()
 1.3 06-Sep-2002  gehenna branches: 1.3.6;
Merge the gehenna-devsw branch into the trunk.

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

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

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

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

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

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

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

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

- In compile time, device major numbers list is packed into the kernel and
the LKM framework will refer it to assign device major number dynamically.
 1.2 08-Jul-2001  wdk branches: 1.2.2; 1.2.8; 1.2.16;
change b*() -> mem*()
 1.1 21-Feb-2001  wdk branches: 1.1.4;
Glue functions for KGDB support
 1.1.4.2 12-Mar-2001  bouyer Sync with HEAD.
 1.1.4.1 21-Feb-2001  bouyer file zs_kgdb.c was added on branch thorpej_scsipi on 2001-03-12 13:29:05 +0000
 1.2.16.1 19-May-2002  gehenna Replace the access to devsw table and the hard-coded majors with devsw API.
 1.2.8.2 17-Sep-2002  nathanw Catch up to -current.
 1.2.8.1 08-Jul-2001  nathanw file zs_kgdb.c was added on branch nathanw_sa on 2002-09-17 21:15:58 +0000
 1.2.2.1 10-Oct-2002  jdolecek sync kqueue with -current; this includes merge of gehenna-devsw branch,
merge of i386 MP branch, and part of autoconf rototil work
 1.3.6.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.3.6.2 18-Sep-2004  skrll Sync with HEAD.
 1.3.6.1 03-Aug-2004  skrll Sync with HEAD
 1.4.16.1 30-Dec-2006  yamt sync with head.
 1.5.8.1 03-Sep-2006  yamt sync with head.
 1.5.4.1 09-Sep-2006  rpaulo sync with head
 1.6.60.2 04-May-2009  yamt sync with head.
 1.6.60.1 16-May-2008  yamt sync with head.
 1.6.58.1 18-May-2008  yamt sync with head.
 1.6.56.1 02-Jun-2008  mjf Sync with HEAD.
 1.7.14.1 13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.7.8.1 28-Apr-2009  skrll Sync with HEAD.
 1.10.54.1 17-May-2017  pgoyette Convert to cdevsw_lookup_acquire()
 1.10.44.1 20-Jul-2016  pgoyette Adapt the machine/arch dependent code to the new {b,c}devsw reference
counting.

XXX Most of these will require testing by someone other than myself, as
I have a limited selection of hardware!

RSS XML Feed