Home | History | Annotate | only in /src/sys/dev/podulebus
History log of /src/sys/dev/podulebus
RevisionDateAuthorComments
 1.2 19-Oct-2008  apb Use ${TOOL_AWK} instead of ${AWK} or plain "awk" in make commands.
Pass AWK=${TOOL_AWK:Q} to shell scripts that use awk.
 1.1 17-Mar-2001  bjh21 branches: 1.1.2; 1.1.10; 1.1.124; 1.1.128; 1.1.134;
Migrate known-podules list from arch/arm32/podulebus to dev/podulebus.
 1.1.134.1 13-Dec-2008  haad Update haad-dm branch to haad-dm-base2.
 1.1.128.1 04-May-2009  yamt sync with head.
 1.1.124.1 17-Jan-2009  mjf Sync with HEAD.
 1.1.10.2 17-Mar-2001  bjh21 Migrate known-podules list from arch/arm32/podulebus to dev/podulebus.
 1.1.10.1 17-Mar-2001  bjh21 file Makefile.podules was added on branch nathanw_sa on 2001-03-17 19:05:20 +0000
 1.1.2.2 17-Mar-2001  bjh21 Migrate known-podules list from arch/arm32/podulebus to dev/podulebus.
 1.1.2.1 17-Mar-2001  bjh21 file Makefile.podules was added on branch thorpej_scsipi on 2001-03-17 19:05:20 +0000
 1.17 07-Aug-2021  thorpej Merge thorpej-cfargs2.
 1.16 24-Apr-2021  thorpej branches: 1.16.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.15 08-Dec-2018  thorpej branches: 1.15.14;
Clean up initialization of com_regs structure, in preparation for
some additional changers.
 1.14 14-Mar-2008  cube branches: 1.14.90; 1.14.92;
Split device_t and softc for all com(4) devices (well, everything that
uses a com_softc backend). Use proper types and ansify where appropriate.
 1.13 19-Oct-2007  ad branches: 1.13.12; 1.13.16;
machine/{bus,cpu,intr}.h -> sys/{bus,cpu,intr}.h
 1.12 13-Jul-2006  gdamore branches: 1.12.14; 1.12.28; 1.12.30; 1.12.34;
Add an option COM_REGMAP to allow com(4) to use an array of register indices.
This allows us to convert aucom to just another com attachment, and cleanup
some code in the com_arbus.c.

Additionally, we use a common com_cleanup routine rather than having a
zillion copies of it in the attachment points.

This has been tested on a number architectures, and it has been shown to get
close to comparable performance when COM_REGMAP is defined, and comparable
when it is not defined.

Approved by core@. Fixes PR port-evbmips/32362.
 1.11 29-Mar-2006  thorpej branches: 1.11.4;
Use device_private().
 1.10 11-Dec-2005  christos branches: 1.10.4; 1.10.6; 1.10.8; 1.10.10; 1.10.12;
merge ktrace-lwp.
 1.9 27-Feb-2005  perry branches: 1.9.4;
nuke trailing whitespace
 1.8 13-Sep-2004  drochner branches: 1.8.4; 1.8.6;
a round of autoconf cleanup:
-convert submatch() style functions (passed to config_search() or
config_found_sm()) to the locator passing variants
-pass interface attributes in some cases
-make submatch() functions look uniformly as far as possible
-avoid macros which just hide cfdata members, and reduce dependencies
on "locators.h"
 1.7 02-Oct-2002  thorpej branches: 1.7.6;
Add trailing ; to CFATTACH_DECL.
 1.6 30-Sep-2002  thorpej Use CFATTACH_DECL().
 1.5 27-Sep-2002  thorpej Declare all cfattach structures const.
 1.4 22-May-2002  bjh21 Substantial overhaul of podule IDs. Unlike on PCI or USB, podule IDs are
assigned by RISCOS Ltd (and were assigned by Acorn) to be unique across all
manufacturers. This means that associating each one with a manufacturer (and
checking the manufacturer when attaching) is bogus. Thus, we don't do that
any more.

This should have the pleasant side-effect of getting APDL IDE interfaces
working, since they're just ICS ones with a different manufacturer ID.
 1.3 13-Nov-2001  lukem branches: 1.3.2; 1.3.10; 1.3.12;
cleanup RCSID (to be consistent with use in rest of kernel)
 1.2 12-Jun-2001  bjh21 branches: 1.2.2;
Add a hefty comment about the stray IR bug, so I don't forget it.
 1.1 14-Apr-2001  bjh21 branches: 1.1.2;
Add rudimentary support for the ACE Midi-Connect card which abs gave me.
Currently it appears as a "com" port, which is less than useful, and
occasionally generates stray interrupts. "stty -f /dev/tty00 31250 raw"
does enable it to talk to a nearby MIDI device, though.
 1.1.2.2 21-Apr-2001  bouyer Sync with HEAD
 1.1.2.1 14-Apr-2001  bouyer file acemidi.c was added on branch thorpej_scsipi on 2001-04-21 17:49:38 +0000
 1.2.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.2.2.2 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.2.2.1 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.3.12.1 01-Nov-2002  tron Pull up revision 1.4 (requested by chris in ticket #120):
Substantial overhaul of podule IDs. Unlike on PCI or USB, podule IDs are
assigned by RISCOS Ltd (and were assigned by Acorn) to be unique across all
manufacturers. This means that associating each one with a manufacturer (and
checking the manufacturer when attaching) is bogus. Thus, we don't do that
any more.
This should have the pleasant side-effect of getting APDL IDE interfaces
working, since they're just ICS ones with a different manufacturer ID.
 1.3.10.1 30-May-2002  gehenna Catch up with -current.
 1.3.2.3 18-Oct-2002  nathanw Catch up to -current.
 1.3.2.2 20-Jun-2002  nathanw Catch up to -current.
 1.3.2.1 13-Nov-2001  nathanw file acemidi.c was added on branch nathanw_sa on 2002-06-20 03:46:19 +0000
 1.7.6.3 04-Mar-2005  skrll Sync with HEAD.

Hi Perry!
 1.7.6.2 21-Sep-2004  skrll Fix the sync with head I botched.
 1.7.6.1 18-Sep-2004  skrll Sync with HEAD.
 1.8.6.1 19-Mar-2005  yamt sync with head. xen and whitespace. xen part is not finished.
 1.8.4.1 29-Apr-2005  kent sync with -current
 1.9.4.4 17-Mar-2008  yamt sync with head.
 1.9.4.3 27-Oct-2007  yamt sync with head.
 1.9.4.2 30-Dec-2006  yamt sync with head.
 1.9.4.1 21-Jun-2006  yamt sync with head.
 1.10.12.1 31-Mar-2006  tron Merge 2006-03-31 NetBSD-current into the "peter-altq" branch.
 1.10.10.1 19-Apr-2006  elad sync with head.
 1.10.8.2 11-Aug-2006  yamt sync with head
 1.10.8.1 01-Apr-2006  yamt sync with head.
 1.10.6.1 22-Apr-2006  simonb Sync with head.
 1.10.4.1 09-Sep-2006  rpaulo sync with head
 1.11.4.3 17-Jun-2006  gdamore Undo the undo. Restore COM_INIT_REGS.
 1.11.4.2 17-Jun-2006  gdamore Revert COM_INIT_REGS.
 1.11.4.1 16-Jun-2006  gdamore More com(4) variants that I missed earlier. Thanks to tsutsui@ for pointing
this out.
 1.12.34.1 25-Oct-2007  bouyer Sync with HEAD.
 1.12.30.2 23-Mar-2008  matt sync with HEAD
 1.12.30.1 06-Nov-2007  matt sync with HEAD
 1.12.28.1 26-Oct-2007  joerg Sync with HEAD.

Follow the merge of pmap.c on i386 and amd64 and move
pmap_init_tmp_pgtbl into arch/x86/x86/pmap.c. Modify the ACPI wakeup
code to restore CR4 before jumping back into kernel space as the large
page option might cover that.
 1.12.14.1 23-Oct-2007  ad Sync with head.
 1.13.16.1 03-Apr-2008  mjf Sync with HEAD.
 1.13.12.1 24-Mar-2008  keiichi sync with head.
 1.14.92.1 10-Jun-2019  christos Sync with HEAD
 1.14.90.1 26-Dec-2018  pgoyette Sync with HEAD, resolve a few conflicts
 1.15.14.1 23-Mar-2021  thorpej Convert config_found_ia() call sites where the device only carries
a single interface attribute to bare config_found() calls.
 1.16.8.1 04-Aug-2021  thorpej Adapt to CFARGS().
 1.1 14-Apr-2001  bjh21 branches: 1.1.2; 1.1.10;
Add rudimentary support for the ACE Midi-Connect card which abs gave me.
Currently it appears as a "com" port, which is less than useful, and
occasionally generates stray interrupts. "stty -f /dev/tty00 31250 raw"
does enable it to talk to a nearby MIDI device, though.
 1.1.10.2 14-Apr-2001  bjh21 Add rudimentary support for the ACE Midi-Connect card which abs gave me.
Currently it appears as a "com" port, which is less than useful, and
occasionally generates stray interrupts. "stty -f /dev/tty00 31250 raw"
does enable it to talk to a nearby MIDI device, though.
 1.1.10.1 14-Apr-2001  bjh21 file acemidireg.h was added on branch nathanw_sa on 2001-04-14 20:39:24 +0000
 1.1.2.2 21-Apr-2001  bouyer Sync with HEAD
 1.1.2.1 14-Apr-2001  bouyer file acemidireg.h was added on branch thorpej_scsipi on 2001-04-21 17:49:39 +0000
 1.30 20-Oct-2017  jdolecek move ata_queue_alloc(1) and ata_queue_free() calls to ata_channel_init()
and ata_channel_destroy() respectively, to make attachment code simpler,
and to make it easier to spot special queue manipulation like cmdide(4)

on topic of PR kern/52606
 1.29 07-Oct-2017  jdolecek adapt several more wdc attachments for NCQ branch merge
 1.28 31-Jul-2012  bouyer branches: 1.28.2;
Apply back changes that were reverted on Jul 24 and Jul 26 (general ata/wdc
cleanup and SATA PMP support), now that I'm back to fix the fallouts.
 1.27 26-Jul-2012  jakllsch Revert, with intention of restoring in a less invasive way, the SATA Port
Multiplier code.

ok christos@
 1.26 02-Jul-2012  bouyer Add sata Port MultiPlier (PMP) support to the ata bus layer,
as described in
http://mail-index.netbsd.org/tech-kern/2012/06/23/msg013442.html
PMP support in integrated to the atabus layer.
struct ata_channel's ch_drive[] is not dynamically allocated, and ch_ndrive
(renamed to ch_ndrives) closely reflects the size of the ch_drive[] array.
Add helper functions atabus_alloc_drives() and atabus_free_drives()
to manage ch_drive[]/ch_ndrives.
Add wdc_maxdrives to struct wdc_softc so that bus front-end can specify
how much drive they really support (master/slave or single).
ata_reset_drive() callback gains a uint32_t *sigp argument which,
when not NULL, will contain the signature of the device being reset.
While there, some cosmetic changes:
- added a drive_type enum to ata_drive_datas, and stop encoding the
probed drive type in drive_flags (we were out of drive flags anyway).
- rename DRIVE_ATAPIST to DRIVE_ATAPIDSCW to better reflect what this
really is
- remove ata_channel->ata_drives, it's redundant with the pointer in
ata_drive_datas
- factor out the interpretation of SATA signatures in sata_interpet_sig()

propagate these changes to the ATA HBA drivers, and add support for PMP
to ahcisata(4) and siisata(4).

Thanks to:
- Protocase (http://www.protocase.com/) which provided a system
with lots of controllers, SATA PMP and drive slots
- Conservation Genomics Laboratory, Department of Biology, New Mexico State
University for hosting the above system
- Brook Milligan, who set up remote access and has been very responsive
when SATA cable move was needed
 1.25 18-Mar-2008  cube branches: 1.25.38;
Split device_t and softc for ATA devices, as well as wd(4). Other
cosmetic changes where appropriate.
 1.24 19-Oct-2007  ad branches: 1.24.12; 1.24.16;
machine/{bus,cpu,intr}.h -> sys/{bus,cpu,intr}.h
 1.23 01-Oct-2006  bjh21 branches: 1.23.8; 1.23.22; 1.23.24; 1.23.28;
Don't explicitly specify no DMA support, since that doesn't work if the kernel
doesn't support IDE DMA at all.
 1.22 29-Mar-2006  thorpej branches: 1.22.8; 1.22.10;
Use device_private().
 1.21 16-Jan-2006  bouyer branches: 1.21.2; 1.21.4; 1.21.6; 1.21.8; 1.21.10;
properly use ata_channel->ch_ndrive:
- initialize it properly in the bus front-ends (all 2, exept in wdc_pcmcia.c
for the "Sandisk CompactFlash Card" where it's set to 1)
- remplace hardcoded '2' by ata_channel->ch_ndrive in MI IDE drivers.

From Christos Zoulas in kern/32501.
 1.20 11-Dec-2005  christos branches: 1.20.2;
merge ktrace-lwp.
 1.19 27-Feb-2005  perry branches: 1.19.4;
nuke trailing whitespace
 1.18 20-Aug-2004  thorpej branches: 1.18.4; 1.18.6;
Move most of wdc_softc into a new atac_softc structure that contains
info common to all types of ATA controllers.
 1.17 14-Aug-2004  thorpej - Split the register handles out of struct wdc_channel into a separate
wdc_regs structure, and array of which (indexed per channel) is pointed
to by struct wdc_softc.
- Move the resulting wdc_channel structure to atavar.h and rename it to
ata_channel. Rename the corresponding flags.
- Add a "ch_ndrive" member to struct ata_channel, which indicates the
maximum number of drives that can be present on the channel. For now,
this is always 2. Add an ATA_MAXDRIVES constant that places an upper
limit on this value, also currently 2.
 1.16 25-May-2004  thorpej Add the notion of "shadow registers" to the wdc driver. These shadow
registers are registers that overlap with others on many controllers, but
which may actually be distinct on some controllers. Right now, the two
shadows are:

- wd_status (usually overlaps wd_command)
- wd_features (usually overlaps wd_error)

Add a new helper function, wdc_init_shadow_regs(), used to initialize
the shadow register handles on controllers where they do actually overlap.

Partially from Jordan Rhody @ Wasabi Systems, Inc.
 1.15 03-Jan-2004  thorpej More wdc_channel structure member namespace cleanup:
- channel -> ch_channel
- wdc -> ch_wdc
 1.14 03-Jan-2004  thorpej Rename "struct channel_softc" to "struct wdc_channel".
 1.13 01-Jan-2004  thorpej Rename:
- wdc_xfer to ata_xfer
- channel_queue to ata_queue
and move them to <dev/ata/atavar.h> so they can be used by non-wdc ATA
controllers. Clean up the member names of these structures while at it.
 1.12 29-Nov-2003  bjh21 Update for new wdc.c with indirect register mapping.
 1.11 08-Oct-2003  bouyer Make the ATA mid-layer appears as atabus, as proposed in
http://mail-index.netbsd.org/tech-kern/2003/09/25/0006.html
This adds a device (atabus) between IDE controllers and wd or atapibus, to
have each ATA channel show up in the device tree. Later there will be atabus
devices in /dev, so that we can do IOCTL on them.
Each atabus has its own kernel thread, to handle operations that needs polling,
e.g. reset and others.

Device probing on each bus it defered to the atabus thread creation.
This allows to do the reset and basic device probes in parallel, which reduce
boot time on systems with several pciide controllers.
 1.10 25-Sep-2003  mycroft Hide the use of config_interrupts() in one place.
 1.9 19-Sep-2003  mycroft 1) Use config_interrupts() to attach IDE and ATAPI drives. This eliminates
most polling.
2) Clean up some goofiness in pciide -- get rid of the whole "candisable" path
(it's gratuitous) and simplify the code by calling pciide_map_compat_intr(),
*_set_modes() and wdc_print_modes() from central locations.
3) Add a register writability and register ghost test to eliminate phantom
drives more quickly.
 1.8 02-Oct-2002  thorpej branches: 1.8.6;
Add trailing ; to CFATTACH_DECL.
 1.7 30-Sep-2002  thorpej Use CFATTACH_DECL().
 1.6 27-Sep-2002  thorpej Declare all cfattach structures const.
 1.5 29-Mar-2002  bjh21 Remove "This file is part of NetBSD/arm26" comment.
 1.4 13-Nov-2001  lukem branches: 1.4.2;
fix RCSID
 1.3 13-Nov-2001  lukem cleanup RCSID (to be consistent with use in rest of kernel)
 1.2 13-Jun-2001  bjh21 branches: 1.2.2;
Update to use the new support for IRQ-less IDE controllers.
Also generally re-work to do channel attachment in a loop, since that saves on
code size.
 1.1 08-Jun-2001  bjh21 Adapt the dtide driver to the MI podulebus framework, and move it to its new
home. It still doesn't actually work, but that's a SMOP.
 1.2.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.2.2.2 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.2.2.1 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.4.2.3 18-Oct-2002  nathanw Catch up to -current.
 1.4.2.2 17-Apr-2002  nathanw Catch up to -current.
 1.4.2.1 13-Nov-2001  nathanw file dtide.c was added on branch nathanw_sa on 2002-04-17 00:06:10 +0000
 1.8.6.5 04-Mar-2005  skrll Sync with HEAD.

Hi Perry!
 1.8.6.4 21-Sep-2004  skrll Fix the sync with head I botched.
 1.8.6.3 18-Sep-2004  skrll Sync with HEAD.
 1.8.6.2 25-Aug-2004  skrll Sync with HEAD.
 1.8.6.1 03-Aug-2004  skrll Sync with HEAD
 1.18.6.1 19-Mar-2005  yamt sync with head. xen and whitespace. xen part is not finished.
 1.18.4.1 29-Apr-2005  kent sync with -current
 1.19.4.4 24-Mar-2008  yamt sync with head.
 1.19.4.3 27-Oct-2007  yamt sync with head.
 1.19.4.2 30-Dec-2006  yamt sync with head.
 1.19.4.1 21-Jun-2006  yamt sync with head.
 1.20.2.1 01-Feb-2006  yamt sync with head.
 1.21.10.1 31-Mar-2006  tron Merge 2006-03-31 NetBSD-current into the "peter-altq" branch.
 1.21.8.1 19-Apr-2006  elad sync with head.
 1.21.6.1 01-Apr-2006  yamt sync with head.
 1.21.4.1 22-Apr-2006  simonb Sync with head.
 1.21.2.1 09-Sep-2006  rpaulo sync with head
 1.22.10.1 22-Oct-2006  yamt sync with head
 1.22.8.1 18-Nov-2006  ad Sync with head.
 1.23.28.1 25-Oct-2007  bouyer Sync with HEAD.
 1.23.24.2 23-Mar-2008  matt sync with HEAD
 1.23.24.1 06-Nov-2007  matt sync with HEAD
 1.23.22.1 26-Oct-2007  joerg Sync with HEAD.

Follow the merge of pmap.c on i386 and amd64 and move
pmap_init_tmp_pgtbl into arch/x86/x86/pmap.c. Modify the ACPI wakeup
code to restore CR4 before jumping back into kernel space as the large
page option might cover that.
 1.23.8.1 23-Oct-2007  ad Sync with head.
 1.24.16.1 03-Apr-2008  mjf Sync with HEAD.
 1.24.12.1 24-Mar-2008  keiichi sync with head.
 1.25.38.1 30-Oct-2012  yamt sync with head
 1.28.2.1 03-Dec-2017  jdolecek update from HEAD
 1.4 11-Dec-2005  christos merge ktrace-lwp.
 1.3 27-Feb-2005  perry nuke trailing whitespace
 1.2 13-Jun-2001  bjh21 branches: 1.2.8; 1.2.24; 1.2.32; 1.2.34;
Update to use the new support for IRQ-less IDE controllers.
Also generally re-work to do channel attachment in a loop, since that saves on
code size.
 1.1 08-Jun-2001  bjh21 Adapt the dtide driver to the MI podulebus framework, and move it to its new
home. It still doesn't actually work, but that's a SMOP.
 1.2.34.1 19-Mar-2005  yamt sync with head. xen and whitespace. xen part is not finished.
 1.2.32.1 29-Apr-2005  kent sync with -current
 1.2.24.1 04-Mar-2005  skrll Sync with HEAD.

Hi Perry!
 1.2.8.2 13-Jun-2001  bjh21 Update to use the new support for IRQ-less IDE controllers.
Also generally re-work to do channel attachment in a loop, since that saves on
code size.
 1.2.8.1 13-Jun-2001  bjh21 file dtidereg.h was added on branch nathanw_sa on 2001-06-13 18:29:42 +0000
 1.1 11-Jul-2013  kiyohara branches: 1.1.4; 1.1.8; 1.1.12;
Add Castle SCSI16 board.
 1.1.12.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.12.1 11-Jul-2013  tls file esp_podule.c was added on branch tls-maxphys on 2014-08-20 00:03:49 +0000
 1.1.8.2 22-May-2014  yamt sync with head.

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

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1.8.1 11-Jul-2013  yamt file esp_podule.c was added on branch yamt-pagecache on 2014-05-22 11:40:35 +0000
 1.1.4.2 28-Aug-2013  rmind sync with head
 1.1.4.1 11-Jul-2013  rmind file esp_podule.c was added on branch rmind-smpnet on 2013-08-28 23:59:26 +0000
 1.18 11-Jul-2013  kiyohara Add Castle SCSI16 board.
 1.17 01-Oct-2006  bjh21 branches: 1.17.88; 1.17.98; 1.17.104;
New driver, sec(4), for the Acorn SCSI Expansion Card. Unlike asc(4), this
driver uses the board's DMA system, uses the machine-independent WD33C93
driver, works on NetBSD/acorn26, and doesn't share a name with six other
machine-dependent SCSI drivers. Not tested on acorn32, but it seems to
work tolerably well on my A540.
 1.16 11-Dec-2005  christos branches: 1.16.20; 1.16.22;
merge ktrace-lwp.
 1.15 08-Oct-2003  bouyer branches: 1.15.16;
Following Matt Thomas's request, rename ata attribute to ata_hl, and
wdc_base to ata. We can now have
atabus* at ata?
in kernel config files.
 1.14 08-Oct-2003  bouyer Make the ATA mid-layer appears as atabus, as proposed in
http://mail-index.netbsd.org/tech-kern/2003/09/25/0006.html
This adds a device (atabus) between IDE controllers and wd or atapibus, to
have each ATA channel show up in the device tree. Later there will be atabus
devices in /dev, so that we can do IOCTL on them.
Each atabus has its own kernel thread, to handle operations that needs polling,
e.g. reset and others.

Device probing on each bus it defered to the atabus thread creation.
This allows to do the reset and basic device probes in parallel, which reduce
boot time on systems with several pciide controllers.
 1.13 04-Jul-2001  bjh21 branches: 1.13.8; 1.13.24;
Add support for Oak and HCCS SCSI cards fitted with PowerROMs. Since this
depends on podloader support, it won't work on arm32 yet.
 1.12 04-Jul-2001  bjh21 Remove mistaken commit of "ethsc" reference.
 1.11 04-Jul-2001  bjh21 Move "podulebus" and "podloader" declarations up into files.podulebus.
 1.10 13-Jun-2001  bjh21 Add a driver for the HCCS IDE interface I got at Wakefield. Like the D.T.
Software one (dtide), it doesn't generate interrupts, so we run it in polled
mode.
 1.9 08-Jun-2001  bjh21 Correct reference to dtide.c, and don't bother with the "channel" locator to
dtide, since ata provides that anyway.
 1.8 08-Jun-2001  bjh21 Adapt the dtide driver to the MI podulebus framework, and move it to its new
home. It still doesn't actually work, but that's a SMOP.
 1.7 26-May-2001  bjh21 Quick hack of a driver for the HCCS 8-bit SCSI podule, based on the Oak driver.
Tested to the extent that it finds my disc.
 1.6 26-May-2001  bjh21 Turn "oak" into an MI podulebus driver. Tested on my new A310.
 1.5 26-May-2001  bjh21 Add a comment about acemidi.
 1.4 14-Apr-2001  bjh21 Add rudimentary support for the ACE Midi-Connect card which abs gave me.
Currently it appears as a "com" port, which is less than useful, and
occasionally generates stray interrupts. "stty -f /dev/tty00 31250 raw"
does enable it to talk to a nearby MIDI device, though.
 1.3 25-Mar-2001  bjh21 branches: 1.3.2;
MI(ish) EtherB driver using the MI SEEQ 8005 driver. Very lightly tested.
 1.2 24-Mar-2001  bjh21 Create an MI Ether3 driver. It's derived from the arm26 driver, which uses
my MI SEEQ 8005 driver, which is based on the arm32 ea driver.
 1.1 19-Mar-2001  bjh21 Shared arm26/arm32 version of arm26 Ether1 driver. Seems to work on both
architectures.
 1.3.2.2 21-Apr-2001  bouyer Sync with HEAD
 1.3.2.1 25-Mar-2001  bouyer file files.podulebus was added on branch thorpej_scsipi on 2001-04-21 17:49:39 +0000
 1.13.24.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.13.24.2 18-Sep-2004  skrll Sync with HEAD.
 1.13.24.1 03-Aug-2004  skrll Sync with HEAD
 1.13.8.2 04-Jul-2001  bjh21 Add support for Oak and HCCS SCSI cards fitted with PowerROMs. Since this
depends on podloader support, it won't work on arm32 yet.
 1.13.8.1 04-Jul-2001  bjh21 file files.podulebus was added on branch nathanw_sa on 2001-07-04 15:01:09 +0000
 1.15.16.1 30-Dec-2006  yamt sync with head.
 1.16.22.1 22-Oct-2006  yamt sync with head
 1.16.20.1 18-Nov-2006  ad Sync with head.
 1.17.104.1 28-Aug-2013  rmind sync with head
 1.17.98.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.17.88.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.27 20-Oct-2017  jdolecek move ata_queue_alloc(1) and ata_queue_free() calls to ata_channel_init()
and ata_channel_destroy() respectively, to make attachment code simpler,
and to make it easier to spot special queue manipulation like cmdide(4)

on topic of PR kern/52606
 1.26 07-Oct-2017  jdolecek adapt several more wdc attachments for NCQ branch merge
 1.25 31-Jul-2012  bouyer branches: 1.25.2;
Apply back changes that were reverted on Jul 24 and Jul 26 (general ata/wdc
cleanup and SATA PMP support), now that I'm back to fix the fallouts.
 1.24 26-Jul-2012  jakllsch Revert, with intention of restoring in a less invasive way, the SATA Port
Multiplier code.

ok christos@
 1.23 02-Jul-2012  bouyer Add sata Port MultiPlier (PMP) support to the ata bus layer,
as described in
http://mail-index.netbsd.org/tech-kern/2012/06/23/msg013442.html
PMP support in integrated to the atabus layer.
struct ata_channel's ch_drive[] is not dynamically allocated, and ch_ndrive
(renamed to ch_ndrives) closely reflects the size of the ch_drive[] array.
Add helper functions atabus_alloc_drives() and atabus_free_drives()
to manage ch_drive[]/ch_ndrives.
Add wdc_maxdrives to struct wdc_softc so that bus front-end can specify
how much drive they really support (master/slave or single).
ata_reset_drive() callback gains a uint32_t *sigp argument which,
when not NULL, will contain the signature of the device being reset.
While there, some cosmetic changes:
- added a drive_type enum to ata_drive_datas, and stop encoding the
probed drive type in drive_flags (we were out of drive flags anyway).
- rename DRIVE_ATAPIST to DRIVE_ATAPIDSCW to better reflect what this
really is
- remove ata_channel->ata_drives, it's redundant with the pointer in
ata_drive_datas
- factor out the interpretation of SATA signatures in sata_interpet_sig()

propagate these changes to the ATA HBA drivers, and add support for PMP
to ahcisata(4) and siisata(4).

Thanks to:
- Protocase (http://www.protocase.com/) which provided a system
with lots of controllers, SATA PMP and drive slots
- Conservation Genomics Laboratory, Department of Biology, New Mexico State
University for hosting the above system
- Brook Milligan, who set up remote access and has been very responsive
when SATA cable move was needed
 1.22 18-Mar-2008  cube branches: 1.22.38;
Split device_t and softc for ATA devices, as well as wd(4). Other
cosmetic changes where appropriate.
 1.21 19-Oct-2007  ad branches: 1.21.12; 1.21.16;
machine/{bus,cpu,intr}.h -> sys/{bus,cpu,intr}.h
 1.20 01-Oct-2006  bjh21 branches: 1.20.8; 1.20.22; 1.20.24; 1.20.28;
Don't explicitly specify no DMA support, since that doesn't work if the kernel
doesn't support IDE DMA at all.
 1.19 29-Mar-2006  thorpej branches: 1.19.8; 1.19.10;
Use device_private().
 1.18 16-Jan-2006  bouyer branches: 1.18.2; 1.18.4; 1.18.6; 1.18.8; 1.18.10;
properly use ata_channel->ch_ndrive:
- initialize it properly in the bus front-ends (all 2, exept in wdc_pcmcia.c
for the "Sandisk CompactFlash Card" where it's set to 1)
- remplace hardcoded '2' by ata_channel->ch_ndrive in MI IDE drivers.

From Christos Zoulas in kern/32501.
 1.17 11-Dec-2005  christos branches: 1.17.2;
merge ktrace-lwp.
 1.16 27-Feb-2005  perry branches: 1.16.4;
nuke trailing whitespace
 1.15 20-Aug-2004  thorpej branches: 1.15.4; 1.15.6;
Move most of wdc_softc into a new atac_softc structure that contains
info common to all types of ATA controllers.
 1.14 14-Aug-2004  thorpej - Split the register handles out of struct wdc_channel into a separate
wdc_regs structure, and array of which (indexed per channel) is pointed
to by struct wdc_softc.
- Move the resulting wdc_channel structure to atavar.h and rename it to
ata_channel. Rename the corresponding flags.
- Add a "ch_ndrive" member to struct ata_channel, which indicates the
maximum number of drives that can be present on the channel. For now,
this is always 2. Add an ATA_MAXDRIVES constant that places an upper
limit on this value, also currently 2.
 1.13 25-May-2004  thorpej Add the notion of "shadow registers" to the wdc driver. These shadow
registers are registers that overlap with others on many controllers, but
which may actually be distinct on some controllers. Right now, the two
shadows are:

- wd_status (usually overlaps wd_command)
- wd_features (usually overlaps wd_error)

Add a new helper function, wdc_init_shadow_regs(), used to initialize
the shadow register handles on controllers where they do actually overlap.

Partially from Jordan Rhody @ Wasabi Systems, Inc.
 1.12 03-Jan-2004  thorpej More wdc_channel structure member namespace cleanup:
- channel -> ch_channel
- wdc -> ch_wdc
 1.11 03-Jan-2004  thorpej Rename "struct channel_softc" to "struct wdc_channel".
 1.10 01-Jan-2004  thorpej Rename:
- wdc_xfer to ata_xfer
- channel_queue to ata_queue
and move them to <dev/ata/atavar.h> so they can be used by non-wdc ATA
controllers. Clean up the member names of these structures while at it.
 1.9 29-Nov-2003  bjh21 Update for new wdc.c with indirect register mapping.
 1.8 08-Oct-2003  bouyer Make the ATA mid-layer appears as atabus, as proposed in
http://mail-index.netbsd.org/tech-kern/2003/09/25/0006.html
This adds a device (atabus) between IDE controllers and wd or atapibus, to
have each ATA channel show up in the device tree. Later there will be atabus
devices in /dev, so that we can do IOCTL on them.
Each atabus has its own kernel thread, to handle operations that needs polling,
e.g. reset and others.

Device probing on each bus it defered to the atabus thread creation.
This allows to do the reset and basic device probes in parallel, which reduce
boot time on systems with several pciide controllers.
 1.7 25-Sep-2003  mycroft Hide the use of config_interrupts() in one place.
 1.6 19-Sep-2003  mycroft 1) Use config_interrupts() to attach IDE and ATAPI drives. This eliminates
most polling.
2) Clean up some goofiness in pciide -- get rid of the whole "candisable" path
(it's gratuitous) and simplify the code by calling pciide_map_compat_intr(),
*_set_modes() and wdc_print_modes() from central locations.
3) Add a register writability and register ghost test to eliminate phantom
drives more quickly.
 1.5 02-Oct-2002  thorpej branches: 1.5.6;
Add trailing ; to CFATTACH_DECL.
 1.4 30-Sep-2002  thorpej Use CFATTACH_DECL().
 1.3 27-Sep-2002  thorpej Declare all cfattach structures const.
 1.2 13-Nov-2001  lukem branches: 1.2.2;
cleanup RCSID (to be consistent with use in rest of kernel)
 1.1 13-Jun-2001  bjh21 branches: 1.1.2;
Add a driver for the HCCS IDE interface I got at Wakefield. Like the D.T.
Software one (dtide), it doesn't generate interrupts, so we run it in polled
mode.
 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 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.2.2.2 18-Oct-2002  nathanw Catch up to -current.
 1.2.2.1 13-Nov-2001  nathanw file hcide.c was added on branch nathanw_sa on 2002-10-18 02:43:36 +0000
 1.5.6.5 04-Mar-2005  skrll Sync with HEAD.

Hi Perry!
 1.5.6.4 21-Sep-2004  skrll Fix the sync with head I botched.
 1.5.6.3 18-Sep-2004  skrll Sync with HEAD.
 1.5.6.2 25-Aug-2004  skrll Sync with HEAD.
 1.5.6.1 03-Aug-2004  skrll Sync with HEAD
 1.15.6.1 19-Mar-2005  yamt sync with head. xen and whitespace. xen part is not finished.
 1.15.4.1 29-Apr-2005  kent sync with -current
 1.16.4.4 24-Mar-2008  yamt sync with head.
 1.16.4.3 27-Oct-2007  yamt sync with head.
 1.16.4.2 30-Dec-2006  yamt sync with head.
 1.16.4.1 21-Jun-2006  yamt sync with head.
 1.17.2.1 01-Feb-2006  yamt sync with head.
 1.18.10.1 31-Mar-2006  tron Merge 2006-03-31 NetBSD-current into the "peter-altq" branch.
 1.18.8.1 19-Apr-2006  elad sync with head.
 1.18.6.1 01-Apr-2006  yamt sync with head.
 1.18.4.1 22-Apr-2006  simonb Sync with head.
 1.18.2.1 09-Sep-2006  rpaulo sync with head
 1.19.10.1 22-Oct-2006  yamt sync with head
 1.19.8.1 18-Nov-2006  ad Sync with head.
 1.20.28.1 25-Oct-2007  bouyer Sync with HEAD.
 1.20.24.2 23-Mar-2008  matt sync with HEAD
 1.20.24.1 06-Nov-2007  matt sync with HEAD
 1.20.22.1 26-Oct-2007  joerg Sync with HEAD.

Follow the merge of pmap.c on i386 and amd64 and move
pmap_init_tmp_pgtbl into arch/x86/x86/pmap.c. Modify the ACPI wakeup
code to restore CR4 before jumping back into kernel space as the large
page option might cover that.
 1.20.8.1 23-Oct-2007  ad Sync with head.
 1.21.16.1 03-Apr-2008  mjf Sync with HEAD.
 1.21.12.1 24-Mar-2008  keiichi sync with head.
 1.22.38.1 30-Oct-2012  yamt sync with head
 1.25.2.1 03-Dec-2017  jdolecek update from HEAD
 1.1 13-Jun-2001  bjh21 branches: 1.1.8;
Add a driver for the HCCS IDE interface I got at Wakefield. Like the D.T.
Software one (dtide), it doesn't generate interrupts, so we run it in polled
mode.
 1.1.8.2 13-Jun-2001  bjh21 Add a driver for the HCCS IDE interface I got at Wakefield. Like the D.T.
Software one (dtide), it doesn't generate interrupts, so we run it in polled
mode.
 1.1.8.1 13-Jun-2001  bjh21 file hcidereg.h was added on branch nathanw_sa on 2001-06-13 18:31:44 +0000
 1.23 19-May-2025  andvar spelling and grammar fixes in comments.
 1.22 03-Sep-2018  riastradh branches: 1.22.36;
Rename min/max -> uimin/uimax for better honesty.

These functions are defined on unsigned int. The generic name
min/max should not silently truncate to 32 bits on 64-bit systems.
This is purely a name change -- no functional change intended.

HOWEVER! Some subsystems have

#define min(a, b) ((a) < (b) ? (a) : (b))
#define max(a, b) ((a) > (b) ? (a) : (b))

even though our standard name for that is MIN/MAX. Although these
may invite multiple evaluation bugs, these do _not_ cause integer
truncation.

To avoid `fixing' these cases, I first changed the name in libkern,
and then compile-tested every file where min/max occurred in order to
confirm that it failed -- and thus confirm that nothing shadowed
min/max -- before changing it.

I have left a handful of bootloaders that are too annoying to
compile-test, and some dead code:

cobalt ews4800mips hp300 hppa ia64 luna68k vax
acorn32/if_ie.c (not included in any kernels)
macppc/if_gm.c (superseded by gem(4))

It should be easy to fix the fallout once identified -- this way of
doing things fails safe, and the goal here, after all, is to _avoid_
silent integer truncations, not introduce them.

Maybe one day we can reintroduce min/max as type-generic things that
never silently truncate. But we should avoid doing that for a while,
so that existing code has a chance to be detected by the compiler for
conversion to uimin/uimax without changing the semantics until we can
properly audit it all. (Who knows, maybe in some cases integer
truncation is actually intended!)
 1.21 27-Oct-2012  chs branches: 1.21.36; 1.21.38;
split device_t/softc for all remaining drivers.
replace "struct device *" with "device_t".
use device_xname(), device_unit(), etc.
 1.20 18-Oct-2009  snj branches: 1.20.12; 1.20.22;
Move Matthias Pfaller's files to 2-clause license. OK matthias@.
 1.19 28-Apr-2008  martin Remove clause 3 and 4 from TNF licenses
 1.18 04-Apr-2008  tsutsui branches: 1.18.2; 1.18.4;
Split devict_t/softc for ncr5380sbc SCSI, and misc cosmetic changes.
 1.17 29-Mar-2006  thorpej branches: 1.17.58;
Use device_private().
 1.16 24-Dec-2005  perry branches: 1.16.4; 1.16.6; 1.16.8; 1.16.10; 1.16.12;
Remove leading __ from __(const|inline|signed|volatile) -- it is obsolete.
 1.15 11-Dec-2005  christos merge ktrace-lwp.
 1.14 27-Feb-2005  perry branches: 1.14.4;
nuke trailing whitespace
 1.13 22-Apr-2004  itojun branches: 1.13.4; 1.13.6;
sprintf -> snprintf
 1.12 02-Oct-2002  thorpej branches: 1.12.6;
Add trailing ; to CFATTACH_DECL.
 1.11 30-Sep-2002  thorpej Use CFATTACH_DECL().
 1.10 27-Sep-2002  thorpej Declare all cfattach structures const.
 1.9 24-Mar-2002  bjh21 Avoid "unused variable" warnings in the NCR5380_USE_BUS_SPACE case.
 1.8 13-Nov-2001  lukem branches: 1.8.2;
cleanup RCSID (to be consistent with use in rest of kernel)
 1.7 04-Jul-2001  bjh21 branches: 1.7.2;
Add support for Oak and HCCS SCSI cards fitted with PowerROMs. Since this
depends on podloader support, it won't work on arm32 yet.
 1.6 12-Jun-2001  bjh21 Mention where I got the information for writing the driver.
 1.5 02-Jun-2001  bjh21 Create hcscreg.h, and put a couple of magic numbers in there.
 1.4 02-Jun-2001  bjh21 Clean up hcsc_match: Don't check the manufacturer ID, since podule IDs are
unique anyway. Do check whether the description starts with "SCSI", since
HCCS used the same ID for their IDE podule.
 1.3 02-Jun-2001  bjh21 Enable disconnect/reselect (now that it works) and parity checking.
 1.2 28-May-2001  bjh21 Use the pseudo-DMA facilities of the HCCS SCSI podule. Code largely derived
from the pc532 "ncr" driver.

This gets me up to 300 KB/s from /dev/rsd0a on my A310. I think
bus_space_{read,write}_multi_1 and copy{in,out} are the bottlenecks now.
 1.1 26-May-2001  bjh21 Quick hack of a driver for the HCCS 8-bit SCSI podule, based on the Oak driver.
Tested to the extent that it finds my disc.
 1.7.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.7.2.2 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.7.2.1 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.8.2.3 18-Oct-2002  nathanw Catch up to -current.
 1.8.2.2 01-Apr-2002  nathanw Catch up to -current.
(CVS: It's not just a program. It's an adventure!)
 1.8.2.1 13-Nov-2001  nathanw file hcsc.c was added on branch nathanw_sa on 2002-04-01 07:46:59 +0000
 1.12.6.4 04-Mar-2005  skrll Sync with HEAD.

Hi Perry!
 1.12.6.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.12.6.2 18-Sep-2004  skrll Sync with HEAD.
 1.12.6.1 03-Aug-2004  skrll Sync with HEAD
 1.13.6.1 19-Mar-2005  yamt sync with head. xen and whitespace. xen part is not finished.
 1.13.4.1 29-Apr-2005  kent sync with -current
 1.14.4.1 21-Jun-2006  yamt sync with head.
 1.16.12.1 31-Mar-2006  tron Merge 2006-03-31 NetBSD-current into the "peter-altq" branch.
 1.16.10.1 19-Apr-2006  elad sync with head.
 1.16.8.1 01-Apr-2006  yamt 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.58.1 02-Jun-2008  mjf Sync with HEAD.
 1.18.4.2 11-Mar-2010  yamt sync with head
 1.18.4.1 16-May-2008  yamt sync with head.
 1.18.2.1 18-May-2008  yamt sync with head.
 1.20.22.1 20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.20.12.1 30-Oct-2012  yamt sync with head
 1.21.38.1 10-Jun-2019  christos Sync with HEAD
 1.21.36.1 06-Sep-2018  pgoyette Sync with HEAD

Resolve a couple of conflicts (result of the uimin/uimax changes)
 1.22.36.1 02-Aug-2025  perseant Sync with HEAD
 1.1 02-Jun-2001  bjh21 branches: 1.1.8;
Create hcscreg.h, and put a couple of magic numbers in there.
 1.1.8.2 02-Jun-2001  bjh21 Create hcscreg.h, and put a couple of magic numbers in there.
 1.1.8.1 02-Jun-2001  bjh21 file hcscreg.h was added on branch nathanw_sa on 2001-06-02 20:13:52 +0000
 1.18 03-Aug-2023  mrg check if string is nul char, not if array is NULL.

avoids always-true condition.

found by GCC 12.
 1.17 10-Oct-2012  skrll Split softc/device_t
Use device_xname

From chuq
 1.16 12-May-2009  cegger branches: 1.16.12; 1.16.22;
struct device * -> device_t, no functional changes intended.
 1.15 12-May-2009  cegger struct cfdata * -> cfdata_t, no functional changes intended.
 1.14 05-Apr-2008  cegger branches: 1.14.4; 1.14.18;
use aprint_*_dev and device_xname
 1.13 19-Oct-2007  ad branches: 1.13.16;
machine/{bus,cpu,intr}.h -> sys/{bus,cpu,intr}.h
 1.12 29-Mar-2006  thorpej branches: 1.12.18; 1.12.32; 1.12.34; 1.12.38;
Use device_private().
 1.11 11-Dec-2005  christos branches: 1.11.4; 1.11.6; 1.11.8; 1.11.10; 1.11.12;
merge ktrace-lwp.
 1.10 27-Feb-2005  perry branches: 1.10.4;
nuke trailing whitespace
 1.9 02-Oct-2002  thorpej branches: 1.9.6; 1.9.14; 1.9.16;
Add trailing ; to CFATTACH_DECL.
 1.8 30-Sep-2002  thorpej Use CFATTACH_DECL().
 1.7 27-Sep-2002  thorpej Declare all cfattach structures const.
 1.6 22-May-2002  bjh21 Substantial overhaul of podule IDs. Unlike on PCI or USB, podule IDs are
assigned by RISCOS Ltd (and were assigned by Acorn) to be unique across all
manufacturers. This means that associating each one with a manufacturer (and
checking the manufacturer when attaching) is bogus. Thus, we don't do that
any more.

This should have the pleasant side-effect of getting APDL IDE interfaces
working, since they're just ICS ones with a different manufacturer ID.
 1.5 13-Nov-2001  lukem branches: 1.5.2; 1.5.10; 1.5.12;
fix RCSID
 1.4 13-Nov-2001  lukem cleanup RCSID (to be consistent with use in rest of kernel)
 1.3 24-Mar-2001  bjh21 branches: 1.3.2; 1.3.4;
Supply the extra arguments that seeq8005_attach() now needs.
 1.2 24-Mar-2001  bjh21 Get podulebus includes from the right place.
 1.1 24-Mar-2001  bjh21 Create an MI Ether3 driver. It's derived from the arm26 driver, which uses
my MI SEEQ 8005 driver, which is based on the arm32 ea driver.
 1.3.4.3 10-Oct-2002  jdolecek sync kqueue with -current; this includes merge of gehenna-devsw branch,
merge of i386 MP branch, and part of autoconf rototil work
 1.3.4.2 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.3.4.1 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.3.2.2 24-Mar-2001  bjh21 Supply the extra arguments that seeq8005_attach() now needs.
 1.3.2.1 24-Mar-2001  bjh21 file if_ea.c was added on branch thorpej_scsipi on 2001-03-24 23:37:35 +0000
 1.5.12.1 01-Nov-2002  tron Pull up revision 1.6 (requested by chris in ticket #120):
Substantial overhaul of podule IDs. Unlike on PCI or USB, podule IDs are
assigned by RISCOS Ltd (and were assigned by Acorn) to be unique across all
manufacturers. This means that associating each one with a manufacturer (and
checking the manufacturer when attaching) is bogus. Thus, we don't do that
any more.
This should have the pleasant side-effect of getting APDL IDE interfaces
working, since they're just ICS ones with a different manufacturer ID.
 1.5.10.1 30-May-2002  gehenna Catch up with -current.
 1.5.2.3 18-Oct-2002  nathanw Catch up to -current.
 1.5.2.2 20-Jun-2002  nathanw Catch up to -current.
 1.5.2.1 13-Nov-2001  nathanw file if_ea.c was added on branch nathanw_sa on 2002-06-20 03:46:19 +0000
 1.9.16.1 19-Mar-2005  yamt sync with head. xen and whitespace. xen part is not finished.
 1.9.14.1 29-Apr-2005  kent sync with -current
 1.9.6.1 04-Mar-2005  skrll Sync with HEAD.

Hi Perry!
 1.10.4.2 27-Oct-2007  yamt sync with head.
 1.10.4.1 21-Jun-2006  yamt sync with head.
 1.11.12.1 31-Mar-2006  tron Merge 2006-03-31 NetBSD-current into the "peter-altq" branch.
 1.11.10.1 19-Apr-2006  elad sync with head.
 1.11.8.1 01-Apr-2006  yamt sync with head.
 1.11.6.1 22-Apr-2006  simonb Sync with head.
 1.11.4.1 09-Sep-2006  rpaulo sync with head
 1.12.38.1 25-Oct-2007  bouyer Sync with HEAD.
 1.12.34.1 06-Nov-2007  matt sync with HEAD
 1.12.32.1 26-Oct-2007  joerg Sync with HEAD.

Follow the merge of pmap.c on i386 and amd64 and move
pmap_init_tmp_pgtbl into arch/x86/x86/pmap.c. Modify the ACPI wakeup
code to restore CR4 before jumping back into kernel space as the large
page option might cover that.
 1.12.18.1 23-Oct-2007  ad Sync with head.
 1.13.16.1 02-Jun-2008  mjf Sync with HEAD.
 1.14.18.1 13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.14.4.1 16-May-2009  yamt sync with head
 1.16.22.1 20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.16.12.1 30-Oct-2012  yamt sync with head
 1.3 15-Jun-2001  bjh21 branches: 1.3.8;
I've got an 8-bit Ether3, so I've discovered that the address mapping is
non-linear. Comment it here so I don't forget.
 1.2 25-Mar-2001  bjh21 branches: 1.2.2;
Remove obsolete #defines.
 1.1 24-Mar-2001  bjh21 Create an MI Ether3 driver. It's derived from the arm26 driver, which uses
my MI SEEQ 8005 driver, which is based on the arm32 ea driver.
 1.2.2.2 25-Mar-2001  bjh21 Remove obsolete #defines.
 1.2.2.1 25-Mar-2001  bjh21 file if_eareg.h was added on branch thorpej_scsipi on 2001-03-25 01:08:57 +0000
 1.3.8.2 15-Jun-2001  bjh21 I've got an 8-bit Ether3, so I've discovered that the address mapping is
non-linear. Comment it here so I don't forget.
 1.3.8.1 15-Jun-2001  bjh21 file if_eareg.h was added on branch nathanw_sa on 2001-06-15 00:28:02 +0000
 1.15 10-Oct-2012  skrll Split softc/device_t
Use device_xname

From chuq
 1.14 12-May-2009  cegger branches: 1.14.12; 1.14.22;
struct device * -> device_t, no functional changes intended.
 1.13 12-May-2009  cegger struct cfdata * -> cfdata_t, no functional changes intended.
 1.12 05-Apr-2008  cegger branches: 1.12.4; 1.12.18;
use aprint_*_dev and device_xname
 1.11 19-Oct-2007  ad branches: 1.11.16;
machine/{bus,cpu,intr}.h -> sys/{bus,cpu,intr}.h
 1.10 29-Mar-2006  thorpej branches: 1.10.18; 1.10.32; 1.10.34; 1.10.38;
Use device_private().
 1.9 11-Dec-2005  christos branches: 1.9.4; 1.9.6; 1.9.8; 1.9.10; 1.9.12;
merge ktrace-lwp.
 1.8 27-Feb-2005  perry branches: 1.8.4;
nuke trailing whitespace
 1.7 02-Oct-2002  thorpej branches: 1.7.6; 1.7.14; 1.7.16;
Add trailing ; to CFATTACH_DECL.
 1.6 30-Sep-2002  thorpej Use CFATTACH_DECL().
 1.5 27-Sep-2002  thorpej Declare all cfattach structures const.
 1.4 22-May-2002  bjh21 Substantial overhaul of podule IDs. Unlike on PCI or USB, podule IDs are
assigned by RISCOS Ltd (and were assigned by Acorn) to be unique across all
manufacturers. This means that associating each one with a manufacturer (and
checking the manufacturer when attaching) is bogus. Thus, we don't do that
any more.

This should have the pleasant side-effect of getting APDL IDE interfaces
working, since they're just ICS ones with a different manufacturer ID.
 1.3 13-Nov-2001  lukem branches: 1.3.2; 1.3.10; 1.3.12;
fix RCSID
 1.2 13-Nov-2001  lukem cleanup RCSID (to be consistent with use in rest of kernel)
 1.1 25-Mar-2001  bjh21 branches: 1.1.2; 1.1.4;
MI(ish) EtherB driver using the MI SEEQ 8005 driver. Very lightly tested.
 1.1.4.3 10-Oct-2002  jdolecek sync kqueue with -current; this includes merge of gehenna-devsw branch,
merge of i386 MP branch, and part of autoconf rototil work
 1.1.4.2 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.1.4.1 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.1.2.2 25-Mar-2001  bjh21 MI(ish) EtherB driver using the MI SEEQ 8005 driver. Very lightly tested.
 1.1.2.1 25-Mar-2001  bjh21 file if_eb.c was added on branch thorpej_scsipi on 2001-03-25 01:09:37 +0000
 1.3.12.1 01-Nov-2002  tron Pull up revision 1.4 (requested by chris in ticket #120):
Substantial overhaul of podule IDs. Unlike on PCI or USB, podule IDs are
assigned by RISCOS Ltd (and were assigned by Acorn) to be unique across all
manufacturers. This means that associating each one with a manufacturer (and
checking the manufacturer when attaching) is bogus. Thus, we don't do that
any more.
This should have the pleasant side-effect of getting APDL IDE interfaces
working, since they're just ICS ones with a different manufacturer ID.
 1.3.10.1 30-May-2002  gehenna Catch up with -current.
 1.3.2.3 18-Oct-2002  nathanw Catch up to -current.
 1.3.2.2 20-Jun-2002  nathanw Catch up to -current.
 1.3.2.1 13-Nov-2001  nathanw file if_eb.c was added on branch nathanw_sa on 2002-06-20 03:46:20 +0000
 1.7.16.1 19-Mar-2005  yamt sync with head. xen and whitespace. xen part is not finished.
 1.7.14.1 29-Apr-2005  kent sync with -current
 1.7.6.1 04-Mar-2005  skrll Sync with HEAD.

Hi Perry!
 1.8.4.2 27-Oct-2007  yamt sync with head.
 1.8.4.1 21-Jun-2006  yamt sync with head.
 1.9.12.1 31-Mar-2006  tron Merge 2006-03-31 NetBSD-current into the "peter-altq" branch.
 1.9.10.1 19-Apr-2006  elad sync with head.
 1.9.8.1 01-Apr-2006  yamt sync with head.
 1.9.6.1 22-Apr-2006  simonb Sync with head.
 1.9.4.1 09-Sep-2006  rpaulo sync with head
 1.10.38.1 25-Oct-2007  bouyer Sync with HEAD.
 1.10.34.1 06-Nov-2007  matt sync with HEAD
 1.10.32.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.10.18.1 23-Oct-2007  ad Sync with head.
 1.11.16.1 02-Jun-2008  mjf Sync with HEAD.
 1.12.18.1 13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.12.4.1 16-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.1 25-Mar-2001  bjh21 branches: 1.1.2; 1.1.10;
MI(ish) EtherB driver using the MI SEEQ 8005 driver. Very lightly tested.
 1.1.10.2 25-Mar-2001  bjh21 MI(ish) EtherB driver using the MI SEEQ 8005 driver. Very lightly tested.
 1.1.10.1 25-Mar-2001  bjh21 file if_ebreg.h was added on branch nathanw_sa on 2001-03-25 01:09:37 +0000
 1.1.2.2 25-Mar-2001  bjh21 MI(ish) EtherB driver using the MI SEEQ 8005 driver. Very lightly tested.
 1.1.2.1 25-Mar-2001  bjh21 file if_ebreg.h was added on branch thorpej_scsipi on 2001-03-25 01:09:37 +0000
 1.17 03-Jun-2011  tsutsui Split device_t/softc of i82586. No crash on TME emulating sun2.
 1.16 12-May-2009  cegger branches: 1.16.4; 1.16.6; 1.16.10;
struct device * -> device_t, no functional changes intended.
 1.15 12-May-2009  cegger struct cfdata * -> cfdata_t, no functional changes intended.
 1.14 05-Apr-2008  cegger branches: 1.14.4; 1.14.18;
use aprint_*_dev and device_xname
 1.13 19-Oct-2007  ad branches: 1.13.16;
machine/{bus,cpu,intr}.h -> sys/{bus,cpu,intr}.h
 1.12 29-Mar-2006  thorpej branches: 1.12.18; 1.12.32; 1.12.34; 1.12.38;
Use device_private().
 1.11 19-Mar-2006  he Change MALLOC to malloc and FREE to free in one instance where the
size parameter is not an integer constant. Fixes build problem seen
when building for acorn26.
 1.10 11-Dec-2005  christos branches: 1.10.4; 1.10.6; 1.10.8; 1.10.10; 1.10.12;
merge ktrace-lwp.
 1.9 27-Feb-2005  perry branches: 1.9.4;
nuke trailing whitespace
 1.8 02-Oct-2002  thorpej branches: 1.8.6; 1.8.14; 1.8.16;
Add trailing ; to CFATTACH_DECL.
 1.7 30-Sep-2002  thorpej Use CFATTACH_DECL().
 1.6 27-Sep-2002  thorpej Declare all cfattach structures const.
 1.5 22-May-2002  bjh21 Substantial overhaul of podule IDs. Unlike on PCI or USB, podule IDs are
assigned by RISCOS Ltd (and were assigned by Acorn) to be unique across all
manufacturers. This means that associating each one with a manufacturer (and
checking the manufacturer when attaching) is bogus. Thus, we don't do that
any more.

This should have the pleasant side-effect of getting APDL IDE interfaces
working, since they're just ICS ones with a different manufacturer ID.
 1.4 21-Dec-2001  bjh21 branches: 1.4.8; 1.4.10;
Correct a few comments and constant names in the light of the actual
documentation for this card (which I seem to have).
 1.3 13-Nov-2001  lukem branches: 1.3.2;
fix RCSID
 1.2 13-Nov-2001  lukem cleanup RCSID (to be consistent with use in rest of kernel)
 1.1 19-Mar-2001  bjh21 branches: 1.1.2; 1.1.4;
Shared arm26/arm32 version of arm26 Ether1 driver. Seems to work on both
architectures.
 1.1.4.3 10-Oct-2002  jdolecek sync kqueue with -current; this includes merge of gehenna-devsw branch,
merge of i386 MP branch, and part of autoconf rototil work
 1.1.4.2 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.1.4.1 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.1.2.2 19-Mar-2001  bjh21 Shared arm26/arm32 version of arm26 Ether1 driver. Seems to work on both
architectures.
 1.1.2.1 19-Mar-2001  bjh21 file if_ei.c was added on branch thorpej_scsipi on 2001-03-19 23:58:13 +0000
 1.3.2.4 18-Oct-2002  nathanw Catch up to -current.
 1.3.2.3 20-Jun-2002  nathanw Catch up to -current.
 1.3.2.2 08-Jan-2002  nathanw Catch up to -current.
 1.3.2.1 13-Nov-2001  nathanw file if_ei.c was added on branch nathanw_sa on 2002-01-08 00:31:31 +0000
 1.4.10.1 01-Nov-2002  tron Pull up revision 1.5 (requested by chris in ticket #120):
Substantial overhaul of podule IDs. Unlike on PCI or USB, podule IDs are
assigned by RISCOS Ltd (and were assigned by Acorn) to be unique across all
manufacturers. This means that associating each one with a manufacturer (and
checking the manufacturer when attaching) is bogus. Thus, we don't do that
any more.
This should have the pleasant side-effect of getting APDL IDE interfaces
working, since they're just ICS ones with a different manufacturer ID.
 1.4.8.1 30-May-2002  gehenna Catch up with -current.
 1.8.16.1 19-Mar-2005  yamt sync with head. xen and whitespace. xen part is not finished.
 1.8.14.1 29-Apr-2005  kent sync with -current
 1.8.6.1 04-Mar-2005  skrll Sync with HEAD.

Hi Perry!
 1.9.4.2 27-Oct-2007  yamt sync with head.
 1.9.4.1 21-Jun-2006  yamt sync with head.
 1.10.12.2 31-Mar-2006  tron Merge 2006-03-31 NetBSD-current into the "peter-altq" branch.
 1.10.12.1 28-Mar-2006  tron Merge 2006-03-28 NetBSD-current into the "peter-altq" branch.
 1.10.10.1 19-Apr-2006  elad sync with head.
 1.10.8.1 01-Apr-2006  yamt sync with head.
 1.10.6.1 22-Apr-2006  simonb Sync with head.
 1.10.4.1 09-Sep-2006  rpaulo sync with head
 1.12.38.1 25-Oct-2007  bouyer Sync with HEAD.
 1.12.34.1 06-Nov-2007  matt sync with HEAD
 1.12.32.1 26-Oct-2007  joerg Sync with HEAD.

Follow the merge of pmap.c on i386 and amd64 and move
pmap_init_tmp_pgtbl into arch/x86/x86/pmap.c. Modify the ACPI wakeup
code to restore CR4 before jumping back into kernel space as the large
page option might cover that.
 1.12.18.1 23-Oct-2007  ad Sync with head.
 1.13.16.1 02-Jun-2008  mjf Sync with HEAD.
 1.14.18.1 13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.14.4.1 16-May-2009  yamt sync with head
 1.16.10.1 23-Jun-2011  cherry Catchup with rmind-uvmplock merge.
 1.16.6.1 06-Jun-2011  jruoho Sync with HEAD.
 1.16.4.1 12-Jun-2011  rmind sync with head
 1.4 11-Dec-2005  christos merge ktrace-lwp.
 1.3 23-Apr-2004  simonb s/the the/the/ (only in sources that aren't regularly imported from
elsewhere).
 1.2 21-Dec-2001  bjh21 branches: 1.2.16;
Correct a few comments and constant names in the light of the actual
documentation for this card (which I seem to have).
 1.1 19-Mar-2001  bjh21 branches: 1.1.2; 1.1.4; 1.1.10;
Shared arm26/arm32 version of arm26 Ether1 driver. Seems to work on both
architectures.
 1.1.10.2 08-Jan-2002  nathanw Catch up to -current.
 1.1.10.1 19-Mar-2001  nathanw file if_eireg.h was added on branch nathanw_sa on 2002-01-08 00:31:32 +0000
 1.1.4.1 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.1.2.2 19-Mar-2001  bjh21 Shared arm26/arm32 version of arm26 Ether1 driver. Seems to work on both
architectures.
 1.1.2.1 19-Mar-2001  bjh21 file if_eireg.h was added on branch thorpej_scsipi on 2001-03-19 23:58:13 +0000
 1.2.16.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.2.16.2 18-Sep-2004  skrll Sync with HEAD.
 1.2.16.1 03-Aug-2004  skrll Sync with HEAD
 1.22 19-May-2025  andvar spelling and grammar fixes in comments.
 1.21 03-Sep-2018  riastradh branches: 1.21.36;
Rename min/max -> uimin/uimax for better honesty.

These functions are defined on unsigned int. The generic name
min/max should not silently truncate to 32 bits on 64-bit systems.
This is purely a name change -- no functional change intended.

HOWEVER! Some subsystems have

#define min(a, b) ((a) < (b) ? (a) : (b))
#define max(a, b) ((a) > (b) ? (a) : (b))

even though our standard name for that is MIN/MAX. Although these
may invite multiple evaluation bugs, these do _not_ cause integer
truncation.

To avoid `fixing' these cases, I first changed the name in libkern,
and then compile-tested every file where min/max occurred in order to
confirm that it failed -- and thus confirm that nothing shadowed
min/max -- before changing it.

I have left a handful of bootloaders that are too annoying to
compile-test, and some dead code:

cobalt ews4800mips hp300 hppa ia64 luna68k vax
acorn32/if_ie.c (not included in any kernels)
macppc/if_gm.c (superseded by gem(4))

It should be easy to fix the fallout once identified -- this way of
doing things fails safe, and the goal here, after all, is to _avoid_
silent integer truncations, not introduce them.

Maybe one day we can reintroduce min/max as type-generic things that
never silently truncate. But we should avoid doing that for a while,
so that existing code has a chance to be detected by the compiler for
conversion to uimin/uimax without changing the semantics until we can
properly audit it all. (Who knows, maybe in some cases integer
truncation is actually intended!)
 1.20 27-Oct-2012  chs branches: 1.20.36; 1.20.38;
split device_t/softc for all remaining drivers.
replace "struct device *" with "device_t".
use device_xname(), device_unit(), etc.
 1.19 28-Apr-2008  martin branches: 1.19.34; 1.19.44;
Remove clause 3 and 4 from TNF licenses
 1.18 04-Apr-2008  tsutsui branches: 1.18.2; 1.18.4;
Split devict_t/softc for ncr5380sbc SCSI, and misc cosmetic changes.
 1.17 29-Mar-2006  thorpej branches: 1.17.58;
Use device_private().
 1.16 24-Dec-2005  perry branches: 1.16.4; 1.16.6; 1.16.8; 1.16.10; 1.16.12;
Remove leading __ from __(const|inline|signed|volatile) -- it is obsolete.
 1.15 11-Dec-2005  christos merge ktrace-lwp.
 1.14 27-Feb-2005  perry branches: 1.14.4;
nuke trailing whitespace
 1.13 22-Apr-2004  itojun branches: 1.13.4; 1.13.6;
sprintf -> snprintf
 1.12 02-Oct-2002  thorpej branches: 1.12.6;
Add trailing ; to CFATTACH_DECL.
 1.11 30-Sep-2002  thorpej Use CFATTACH_DECL().
 1.10 27-Sep-2002  thorpej Declare all cfattach structures const.
 1.9 22-May-2002  bjh21 Substantial overhaul of podule IDs. Unlike on PCI or USB, podule IDs are
assigned by RISCOS Ltd (and were assigned by Acorn) to be unique across all
manufacturers. This means that associating each one with a manufacturer (and
checking the manufacturer when attaching) is bogus. Thus, we don't do that
any more.

This should have the pleasant side-effect of getting APDL IDE interfaces
working, since they're just ICS ones with a different manufacturer ID.
 1.8 24-Mar-2002  bjh21 branches: 1.8.2; 1.8.4;
Avoid "unused variable" warnings in the NCR5380_USE_BUS_SPACE case.
 1.7 02-Dec-2001  bjh21 Add (#ifdef'ed out) code to support the PDMA hardware on the Oak SCSI card.
Unfortunately, this code seems not to work at present. I don't yet know why.
 1.6 13-Nov-2001  lukem branches: 1.6.2;
cleanup RCSID (to be consistent with use in rest of kernel)
 1.5 04-Jul-2001  bjh21 branches: 1.5.2;
*sigh* and return 0 if we don't match the podule.
Need more coffee...
 1.4 04-Jul-2001  bjh21 Remember to include <dev/podulebus/powerromreg.h>.
 1.3 04-Jul-2001  bjh21 Add support for Oak and HCCS SCSI cards fitted with PowerROMs. Since this
depends on podloader support, it won't work on arm32 yet.
 1.2 26-May-2001  bjh21 Support NCR5380_USE_BUS_SPACE.
Add comments explaining the card a bit (and how badly we support it).
Add in-core RCSID.
 1.1 26-May-2001  bjh21 Turn "oak" into an MI podulebus driver. Tested on my new A310.
 1.5.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.5.2.2 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.5.2.1 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.6.2.5 18-Oct-2002  nathanw Catch up to -current.
 1.6.2.4 20-Jun-2002  nathanw Catch up to -current.
 1.6.2.3 01-Apr-2002  nathanw Catch up to -current.
(CVS: It's not just a program. It's an adventure!)
 1.6.2.2 08-Jan-2002  nathanw Catch up to -current.
 1.6.2.1 13-Nov-2001  nathanw file oak.c was added on branch nathanw_sa on 2002-01-08 00:31:32 +0000
 1.8.4.1 01-Nov-2002  tron Pull up revision 1.9 (requested by chris in ticket #120):
Substantial overhaul of podule IDs. Unlike on PCI or USB, podule IDs are
assigned by RISCOS Ltd (and were assigned by Acorn) to be unique across all
manufacturers. This means that associating each one with a manufacturer (and
checking the manufacturer when attaching) is bogus. Thus, we don't do that
any more.
This should have the pleasant side-effect of getting APDL IDE interfaces
working, since they're just ICS ones with a different manufacturer ID.
 1.8.2.1 30-May-2002  gehenna Catch up with -current.
 1.12.6.4 04-Mar-2005  skrll Sync with HEAD.

Hi Perry!
 1.12.6.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.12.6.2 18-Sep-2004  skrll Sync with HEAD.
 1.12.6.1 03-Aug-2004  skrll Sync with HEAD
 1.13.6.1 19-Mar-2005  yamt sync with head. xen and whitespace. xen part is not finished.
 1.13.4.1 29-Apr-2005  kent sync with -current
 1.14.4.1 21-Jun-2006  yamt sync with head.
 1.16.12.1 31-Mar-2006  tron Merge 2006-03-31 NetBSD-current into the "peter-altq" branch.
 1.16.10.1 19-Apr-2006  elad sync with head.
 1.16.8.1 01-Apr-2006  yamt 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.58.1 02-Jun-2008  mjf Sync with HEAD.
 1.18.4.1 16-May-2008  yamt sync with head.
 1.18.2.1 18-May-2008  yamt sync with head.
 1.19.44.1 20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.19.34.1 30-Oct-2012  yamt sync with head
 1.20.38.1 10-Jun-2019  christos Sync with HEAD
 1.20.36.1 06-Sep-2018  pgoyette Sync with HEAD

Resolve a couple of conflicts (result of the uimin/uimax changes)
 1.21.36.1 02-Aug-2025  perseant Sync with HEAD
 1.1 04-Dec-2001  bjh21 branches: 1.1.2; 1.1.4;
New file, describing what little I know of the layout of the Oak SCSI card.
 1.1.4.2 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.1.4.1 04-Dec-2001  thorpej file oakreg.h was added on branch kqueue on 2002-01-10 19:57:30 +0000
 1.1.2.2 08-Jan-2002  nathanw Catch up to -current.
 1.1.2.1 04-Dec-2001  nathanw file oakreg.h was added on branch nathanw_sa on 2002-01-08 00:31:32 +0000
 1.16 11-Dec-2005  christos merge ktrace-lwp.
 1.15 27-Feb-2005  perry regen
 1.14 07-Jan-2004  bjh21 branches: 1.14.8; 1.14.10;
Regen.
 1.13 26-Jan-2003  chris branches: 1.13.2;
Regen.
 1.12 03-Nov-2002  bjh21 Regen (Simtec USB).
 1.11 23-May-2002  bjh21 Regen (many new podules).
 1.10 22-May-2002  bjh21 Regen (sorting).
 1.9 22-May-2002  bjh21 Regen (merge of RISC iX manufacturers list).
 1.8 22-May-2002  bjh21 Substantial overhaul of podule IDs. Unlike on PCI or USB, podule IDs are
assigned by RISCOS Ltd (and were assigned by Acorn) to be unique across all
manufacturers. This means that associating each one with a manufacturer (and
checking the manufacturer when attaching) is bogus. Thus, we don't do that
any more.

This should have the pleasant side-effect of getting APDL IDE interfaces
working, since they're just ICS ones with a different manufacturer ID.
 1.7 19-May-2002  bjh21 branches: 1.7.2;
Regen: RISC Developments IDE, FaxPack.
 1.6 29-Mar-2002  bjh21 branches: 1.6.2;
Regen: Computer Concepts ROM/RAM podule.
 1.5 09-Mar-2002  bjh21 Regen: Morley user/analogue.
 1.4 08-Jun-2001  bjh21 branches: 1.4.2; 1.4.8;
Regen
 1.3 26-May-2001  bjh21 regen
 1.2 26-May-2001  bjh21 regen
 1.1 17-Mar-2001  bjh21 branches: 1.1.2;
Move generated files from sys/arch/arm32/podulebus to sys/dev/podulebus.
 1.1.2.2 17-Mar-2001  bjh21 Move generated files from sys/arch/arm32/podulebus to sys/dev/podulebus.
 1.1.2.1 17-Mar-2001  bjh21 file podule_data.h was added on branch thorpej_scsipi on 2001-03-17 20:32:01 +0000
 1.4.8.5 11-Nov-2002  nathanw Catch up to -current
 1.4.8.4 20-Jun-2002  nathanw Catch up to -current.
 1.4.8.3 17-Apr-2002  nathanw Catch up to -current.
 1.4.8.2 01-Apr-2002  nathanw Catch up to -current.
(CVS: It's not just a program. It's an adventure!)
 1.4.8.1 08-Jun-2001  nathanw file podule_data.h was added on branch nathanw_sa on 2002-04-01 07:47:00 +0000
 1.4.2.2 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.4.2.1 16-Mar-2002  jdolecek Catch up with -current.
 1.6.2.1 30-May-2002  gehenna Catch up with -current.
 1.7.2.1 01-Nov-2002  tron Pull up revision 1.8 (requested by chris in ticket #120):
Substantial overhaul of podule IDs. Unlike on PCI or USB, podule IDs are
assigned by RISCOS Ltd (and were assigned by Acorn) to be unique across all
manufacturers. This means that associating each one with a manufacturer (and
checking the manufacturer when attaching) is bogus. Thus, we don't do that
any more.
This should have the pleasant side-effect of getting APDL IDE interfaces
working, since they're just ICS ones with a different manufacturer ID.
 1.13.2.4 04-Mar-2005  skrll Sync with HEAD.

Hi Perry!
 1.13.2.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.13.2.2 18-Sep-2004  skrll Sync with HEAD.
 1.13.2.1 03-Aug-2004  skrll Sync with HEAD
 1.14.10.1 19-Mar-2005  yamt sync with head. xen and whitespace. xen part is not finished.
 1.14.8.1 29-Apr-2005  kent sync with -current
 1.8 11-Dec-2005  christos merge ktrace-lwp.
 1.7 09-Jun-2005  he Adapt to compiling with -Wcast-qual by constifying a char* field.
 1.6 22-May-2002  bjh21 branches: 1.6.6;
Substantial overhaul of podule IDs. Unlike on PCI or USB, podule IDs are
assigned by RISCOS Ltd (and were assigned by Acorn) to be unique across all
manufacturers. This means that associating each one with a manufacturer (and
checking the manufacturer when attaching) is bogus. Thus, we don't do that
any more.

This should have the pleasant side-effect of getting APDL IDE interfaces
working, since they're just ICS ones with a different manufacturer ID.
 1.5 22-May-2002  bjh21 Add podule_readcmos(), for getting the CMOS configuration for a podule.
Only implemented on acorn26 for now, but the acorn32 implementation should
be pretty much identical.
 1.4 04-Jul-2001  bjh21 branches: 1.4.2; 1.4.8; 1.4.16; 1.4.18;
Add dummy "podloader" functions on arm32, and move their declarations to the MI
header file. This should allow MI drivers to use the podloader functions,
though obviously they'll have to be able to cope if podulebus_initloader()
fails.
 1.3 20-Mar-2001  bjh21 branches: 1.3.2;
Move struct podule_list and struct podule_description to podulebus.h.
They're MI, even if only arm32 actually uses them at present.
 1.2 20-Mar-2001  bjh21 Move machine-dependent podulebus headers to <machine/podulebus_machdep.h>.
<dev/podulebus/podulebus.h> is the canonical file to include, and includes
<machine/podulebus_machdep.h>.
<arch/${MACHINE}/poudulebus/podulebus.h> remains for backward compatibility.
 1.1 19-Mar-2001  bjh21 Quick hack to pull in podulebus.h for the current architecture.
This should be done better (probably with <machine/podulebus_machdep.h> later.
 1.3.2.2 20-Mar-2001  bjh21 Move struct podule_list and struct podule_description to podulebus.h.
They're MI, even if only arm32 actually uses them at present.
 1.3.2.1 20-Mar-2001  bjh21 file podulebus.h was added on branch thorpej_scsipi on 2001-03-20 23:27:05 +0000
 1.4.18.1 01-Nov-2002  tron Pull up revision 1.6 (requested by chris in ticket #120):
Substantial overhaul of podule IDs. Unlike on PCI or USB, podule IDs are
assigned by RISCOS Ltd (and were assigned by Acorn) to be unique across all
manufacturers. This means that associating each one with a manufacturer (and
checking the manufacturer when attaching) is bogus. Thus, we don't do that
any more.
This should have the pleasant side-effect of getting APDL IDE interfaces
working, since they're just ICS ones with a different manufacturer ID.
 1.4.16.1 30-May-2002  gehenna Catch up with -current.
 1.4.8.2 20-Jun-2002  nathanw Catch up to -current.
 1.4.8.1 04-Jul-2001  nathanw file podulebus.h was added on branch nathanw_sa on 2002-06-20 03:46:21 +0000
 1.4.2.1 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.6.6.1 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.4 11-Dec-2005  christos merge ktrace-lwp.
 1.3 27-Feb-2005  perry don't leave spaces at the end of stripped RCS Ids
 1.2 22-May-2002  bjh21 branches: 1.2.6; 1.2.14; 1.2.16;
Substantial overhaul of podule IDs. Unlike on PCI or USB, podule IDs are
assigned by RISCOS Ltd (and were assigned by Acorn) to be unique across all
manufacturers. This means that associating each one with a manufacturer (and
checking the manufacturer when attaching) is bogus. Thus, we don't do that
any more.

This should have the pleasant side-effect of getting APDL IDE interfaces
working, since they're just ICS ones with a different manufacturer ID.
 1.1 17-Mar-2001  bjh21 branches: 1.1.2; 1.1.4; 1.1.10; 1.1.18; 1.1.20;
Migrate known-podules list from arch/arm32/podulebus to dev/podulebus.
 1.1.20.1 01-Nov-2002  tron Pull up revision 1.2 (requested by chris in ticket #120):
Substantial overhaul of podule IDs. Unlike on PCI or USB, podule IDs are
assigned by RISCOS Ltd (and were assigned by Acorn) to be unique across all
manufacturers. This means that associating each one with a manufacturer (and
checking the manufacturer when attaching) is bogus. Thus, we don't do that
any more.
This should have the pleasant side-effect of getting APDL IDE interfaces
working, since they're just ICS ones with a different manufacturer ID.
 1.1.18.1 30-May-2002  gehenna Catch up with -current.
 1.1.10.2 20-Jun-2002  nathanw Catch up to -current.
 1.1.10.1 17-Mar-2001  nathanw file podulelist2h.awk was added on branch nathanw_sa on 2002-06-20 03:46:21 +0000
 1.1.4.1 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.1.2.2 17-Mar-2001  bjh21 Migrate known-podules list from arch/arm32/podulebus to dev/podulebus.
 1.1.2.1 17-Mar-2001  bjh21 file podulelist2h.awk was added on branch thorpej_scsipi on 2001-03-17 19:05:20 +0000
 1.2.16.1 19-Mar-2005  yamt sync with head. xen and whitespace. xen part is not finished.
 1.2.14.1 29-Apr-2005  kent sync with -current
 1.2.6.1 04-Mar-2005  skrll Sync with HEAD.

Hi Perry!
 1.18 21-Jan-2009  jnemeth add a comment explaining how to regenerate podules.h and podule_data.h
 1.17 11-Dec-2005  christos branches: 1.17.74; 1.17.84;
merge ktrace-lwp.
 1.16 07-Jan-2004  bjh21 It looks like the isc PC netslot version of the Nexus interface uses the
same podule ID as the A3020/A4000 netslot version. Update list to reflect
this.
 1.15 26-Jan-2003  chris branches: 1.15.2;
Add podule id for NET100 card.
 1.14 03-Nov-2002  bjh21 Add Simtec USB podule.
 1.13 23-May-2002  bjh21 Add all the product IDs from <arm/xcb.h> on RISC iX 1.2. There are several
places where they disagree with our list (and reality). In those cases,
I've kept the old value and added a comment. The RISC iX list stops at
ID 181 (0xb5).
 1.12 22-May-2002  bjh21 Sort the Wild Vision parallel card into order.
 1.11 22-May-2002  bjh21 Merge in the list of manufacturer IDs from <arm/xcb.h> on RISC iX 1.2.
Where they differ with what we've had historically, I've kept our value
and added a comment. The RISC iX list stops at 65 (0x41).
 1.10 22-May-2002  bjh21 Substantial overhaul of podule IDs. Unlike on PCI or USB, podule IDs are
assigned by RISCOS Ltd (and were assigned by Acorn) to be unique across all
manufacturers. This means that associating each one with a manufacturer (and
checking the manufacturer when attaching) is bogus. Thus, we don't do that
any more.

This should have the pleasant side-effect of getting APDL IDE interfaces
working, since they're just ICS ones with a different manufacturer ID.
 1.9 19-May-2002  bjh21 branches: 1.9.2;
Add a few Wakefield acquisitions:
Computer Concepts FaxPack
RISC Developments 8-bit IDE interface
Note about Oak EtherO card, which seems to share an ID with their SCSI card.
 1.8 29-Mar-2002  bjh21 branches: 1.8.2;
Add Computer Concepts ROM/RAM podule.
Also reverse the order of "ROM" and "RAM" in the description of the
Acorn podule to match. Acorn just call it a ROM podule, but that's
inaccurate.
 1.7 09-Mar-2002  bjh21 Add Morley user/analogue podule.
 1.6 08-Jun-2001  bjh21 branches: 1.6.2; 1.6.8;
Move D.T. Software to their rightful place in the list, and correct the product
ID for their IDE interface. I've no idea where 0x00ae came from.
 1.5 26-May-2001  bjh21 Fix typo in last commit.
 1.4 26-May-2001  bjh21 Add the 8-bit podules I got at Wakefield (except the A3000 Nexus,
which seems not to work).
 1.3 20-May-2001  bjh21 Add Multi-media/Ethernet card from Irlam.
 1.2 20-May-2001  bjh21 16-bit podules I acquired at Wakefield:
- Added SJ Research Nexus
- Note HCCS use same ID for IDE and SCSI cards
- Update Castle EtherSCSI entry
 1.1 17-Mar-2001  bjh21 branches: 1.1.2;
Migrate known-podules list from arch/arm32/podulebus to dev/podulebus.
 1.1.2.2 17-Mar-2001  bjh21 Migrate known-podules list from arch/arm32/podulebus to dev/podulebus.
 1.1.2.1 17-Mar-2001  bjh21 file podules was added on branch thorpej_scsipi on 2001-03-17 19:05:20 +0000
 1.6.8.5 11-Nov-2002  nathanw Catch up to -current
 1.6.8.4 20-Jun-2002  nathanw Catch up to -current.
 1.6.8.3 17-Apr-2002  nathanw Catch up to -current.
 1.6.8.2 01-Apr-2002  nathanw Catch up to -current.
(CVS: It's not just a program. It's an adventure!)
 1.6.8.1 08-Jun-2001  nathanw file podules was added on branch nathanw_sa on 2002-04-01 07:47:00 +0000
 1.6.2.2 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.6.2.1 16-Mar-2002  jdolecek Catch up with -current.
 1.8.2.1 30-May-2002  gehenna Catch up with -current.
 1.9.2.1 01-Nov-2002  tron Pull up revision 1.10 (requested by chris in ticket #120):
Substantial overhaul of podule IDs. Unlike on PCI or USB, podule IDs are
assigned by RISCOS Ltd (and were assigned by Acorn) to be unique across all
manufacturers. This means that associating each one with a manufacturer (and
checking the manufacturer when attaching) is bogus. Thus, we don't do that
any more.
This should have the pleasant side-effect of getting APDL IDE interfaces
working, since they're just ICS ones with a different manufacturer ID.
 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 03-Aug-2004  skrll Sync with HEAD
 1.17.84.1 03-Mar-2009  skrll Sync with HEAD.
 1.17.74.1 04-May-2009  yamt sync with head.
 1.16 11-Dec-2005  christos merge ktrace-lwp.
 1.15 27-Feb-2005  perry regen
 1.14 07-Jan-2004  bjh21 branches: 1.14.8; 1.14.10;
Regen.
 1.13 26-Jan-2003  chris branches: 1.13.2;
Regen.
 1.12 03-Nov-2002  bjh21 Regen (Simtec USB).
 1.11 23-May-2002  bjh21 Regen (many new podules).
 1.10 22-May-2002  bjh21 Regen (sorting).
 1.9 22-May-2002  bjh21 Regen (merge of RISC iX manufacturers list).
 1.8 22-May-2002  bjh21 Substantial overhaul of podule IDs. Unlike on PCI or USB, podule IDs are
assigned by RISCOS Ltd (and were assigned by Acorn) to be unique across all
manufacturers. This means that associating each one with a manufacturer (and
checking the manufacturer when attaching) is bogus. Thus, we don't do that
any more.

This should have the pleasant side-effect of getting APDL IDE interfaces
working, since they're just ICS ones with a different manufacturer ID.
 1.7 19-May-2002  bjh21 branches: 1.7.2;
Regen: RISC Developments IDE, FaxPack.
 1.6 29-Mar-2002  bjh21 branches: 1.6.2;
Regen: Computer Concepts ROM/RAM podule.
 1.5 09-Mar-2002  bjh21 Regen: Morley user/analogue.
 1.4 08-Jun-2001  bjh21 branches: 1.4.2; 1.4.8;
Regen
 1.3 26-May-2001  bjh21 regen
 1.2 26-May-2001  bjh21 regen
 1.1 17-Mar-2001  bjh21 branches: 1.1.2;
Move generated files from sys/arch/arm32/podulebus to sys/dev/podulebus.
 1.1.2.2 17-Mar-2001  bjh21 Move generated files from sys/arch/arm32/podulebus to sys/dev/podulebus.
 1.1.2.1 17-Mar-2001  bjh21 file podules.h was added on branch thorpej_scsipi on 2001-03-17 20:32:01 +0000
 1.4.8.5 11-Nov-2002  nathanw Catch up to -current
 1.4.8.4 20-Jun-2002  nathanw Catch up to -current.
 1.4.8.3 17-Apr-2002  nathanw Catch up to -current.
 1.4.8.2 01-Apr-2002  nathanw Catch up to -current.
(CVS: It's not just a program. It's an adventure!)
 1.4.8.1 08-Jun-2001  nathanw file podules.h was added on branch nathanw_sa on 2002-04-01 07:47:01 +0000
 1.4.2.2 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.4.2.1 16-Mar-2002  jdolecek Catch up with -current.
 1.6.2.1 30-May-2002  gehenna Catch up with -current.
 1.7.2.1 01-Nov-2002  tron Pull up revision 1.8 (requested by chris in ticket #120):
Substantial overhaul of podule IDs. Unlike on PCI or USB, podule IDs are
assigned by RISCOS Ltd (and were assigned by Acorn) to be unique across all
manufacturers. This means that associating each one with a manufacturer (and
checking the manufacturer when attaching) is bogus. Thus, we don't do that
any more.
This should have the pleasant side-effect of getting APDL IDE interfaces
working, since they're just ICS ones with a different manufacturer ID.
 1.13.2.4 04-Mar-2005  skrll Sync with HEAD.

Hi Perry!
 1.13.2.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.13.2.2 18-Sep-2004  skrll Sync with HEAD.
 1.13.2.1 03-Aug-2004  skrll Sync with HEAD
 1.14.10.1 19-Mar-2005  yamt sync with head. xen and whitespace. xen part is not finished.
 1.14.8.1 29-Apr-2005  kent sync with -current
 1.1 04-Jul-2001  bjh21 branches: 1.1.8;
Add support for Oak and HCCS SCSI cards fitted with PowerROMs. Since this
depends on podloader support, it won't work on arm32 yet.
 1.1.8.2 04-Jul-2001  bjh21 Add support for Oak and HCCS SCSI cards fitted with PowerROMs. Since this
depends on podloader support, it won't work on arm32 yet.
 1.1.8.1 04-Jul-2001  bjh21 file powerromreg.h was added on branch nathanw_sa on 2001-07-04 15:01:09 +0000
 1.17 20-Jan-2017  maya Check pmf_device_register return value. NFC
Appeases static analyzers.
 1.16 21-Jan-2014  christos branches: 1.16.6; 1.16.10; 1.16.14;
fix unused variables
 1.15 11-May-2009  bjh21 branches: 1.15.12; 1.15.22; 1.15.26;
Replace shutdownhooks with pmf in sec(4).
 1.14 12-Feb-2009  rumble WD33C93 has only two registers, which often times aren't mapped to adjacent
bus space locations. Map them individually, instead.
 1.13 25-Jan-2009  bjh21 branches: 1.13.2;
Split device_t from wd33c93_softc. Reviewed by cube; tested on sgimips
by tsutsui.
 1.12 20-Jan-2009  bjh21 sec(4): use device_t and cfdata_t rather than explicit structure pointers.
 1.11 12-Jun-2008  cegger branches: 1.11.4;
use device_lookup_private to get softc
 1.10 05-Apr-2008  cegger branches: 1.10.2; 1.10.4; 1.10.6; 1.10.8;
use aprint_*_dev and device_xname
 1.9 19-Oct-2007  ad branches: 1.9.16;
machine/{bus,cpu,intr}.h -> sys/{bus,cpu,intr}.h
 1.8 07-Mar-2007  bjh21 branches: 1.8.2; 1.8.14; 1.8.16; 1.8.20;
TRUE -> true; FALSE -> false.
 1.7 05-Mar-2007  he Cast to char* before doing pointer arithmetic.
 1.6 04-Mar-2007  christos Kill caddr_t; there will be some MI fallout, but it will be fixed shortly.
 1.5 21-Feb-2007  thorpej Replace the Mach-derived boolean_t type with the C99 bool type. A
future commit will replace use of TRUE and FALSE with true and false.
 1.4 14-Oct-2006  bjh21 branches: 1.4.2; 1.4.4; 1.4.8; 1.4.10;
The SEC uses the same page latch for both ROM and RAM, so we should arrange
to reset it to 0 on shutdown so that RISC OS gets to see the start of the
ROM.
 1.3 02-Oct-2006  bjh21 Don't use the uPD71071's autoinitialize mode. This may slow things down
slightly, but autoinitialize mode is impossible to use reliably, since it
means that if disc interrupts are blocked for long enough (or sec_copyout
is too slow), the uPD71071 can run off the end of a block before the
base registers have been updated and end up processing the same block
twice. With this change, the SEC in my A540 seems finally to be solid.
 1.2 01-Oct-2006  bjh21 Allow wd33c93 attachments to choose what DMA mode it should use, and arrange
to use burst mode on sec(4), which makes it slightly but significantly faster.
 1.1 01-Oct-2006  bjh21 New driver, sec(4), for the Acorn SCSI Expansion Card. Unlike asc(4), this
driver uses the board's DMA system, uses the machine-independent WD33C93
driver, works on NetBSD/acorn26, and doesn't share a name with six other
machine-dependent SCSI drivers. Not tested on acorn32, but it seems to
work tolerably well on my A540.
 1.4.10.2 12-Mar-2007  rmind Sync with HEAD.
 1.4.10.1 27-Feb-2007  yamt - sync with head.
- move sched_changepri back to kern_synch.c as it doesn't know PPQ anymore.
 1.4.8.5 27-Oct-2007  yamt sync with head.
 1.4.8.4 03-Sep-2007  yamt sync with head.
 1.4.8.3 26-Feb-2007  yamt sync with head.
 1.4.8.2 30-Dec-2006  yamt sync with head.
 1.4.8.1 14-Oct-2006  yamt file sec.c was added on branch yamt-lazymbuf on 2006-12-30 20:49:30 +0000
 1.4.4.2 18-Nov-2006  ad Sync with head.
 1.4.4.1 14-Oct-2006  ad file sec.c was added on branch newlock2 on 2006-11-18 21:34:46 +0000
 1.4.2.2 22-Oct-2006  yamt sync with head
 1.4.2.1 14-Oct-2006  yamt file sec.c was added on branch yamt-splraiseipl on 2006-10-22 06:06:43 +0000
 1.8.20.1 25-Oct-2007  bouyer Sync with HEAD.
 1.8.16.1 06-Nov-2007  matt sync with HEAD
 1.8.14.1 26-Oct-2007  joerg Sync with HEAD.

Follow the merge of pmap.c on i386 and amd64 and move
pmap_init_tmp_pgtbl into arch/x86/x86/pmap.c. Modify the ACPI wakeup
code to restore CR4 before jumping back into kernel space as the large
page option might cover that.
 1.8.2.1 23-Oct-2007  ad Sync with head.
 1.9.16.2 29-Jun-2008  mjf Sync with HEAD.
 1.9.16.1 02-Jun-2008  mjf Sync with HEAD.
 1.10.8.1 18-Jun-2008  simonb Sync with head.
 1.10.6.1 23-Jun-2008  wrstuden Sync w/ -current. 34 merge conflicts to follow.
 1.10.4.2 16-May-2009  yamt sync with head
 1.10.4.1 04-May-2009  yamt sync with head.
 1.10.2.1 17-Jun-2008  yamt sync with head.
 1.11.4.1 03-Mar-2009  skrll Sync with HEAD.
 1.13.2.1 13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.15.26.1 18-May-2014  rmind sync with head
 1.15.22.2 03-Dec-2017  jdolecek update from HEAD
 1.15.22.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.15.12.1 22-May-2014  yamt sync with head.

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

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.16.14.1 21-Apr-2017  bouyer Sync with HEAD
 1.16.10.1 20-Mar-2017  pgoyette Sync with HEAD
 1.16.6.1 05-Feb-2017  skrll Sync with HEAD
 1.1 01-Oct-2006  bjh21 branches: 1.1.2; 1.1.4; 1.1.8;
New driver, sec(4), for the Acorn SCSI Expansion Card. Unlike asc(4), this
driver uses the board's DMA system, uses the machine-independent WD33C93
driver, works on NetBSD/acorn26, and doesn't share a name with six other
machine-dependent SCSI drivers. Not tested on acorn32, but it seems to
work tolerably well on my A540.
 1.1.8.2 30-Dec-2006  yamt sync with head.
 1.1.8.1 01-Oct-2006  yamt file secreg.h was added on branch yamt-lazymbuf on 2006-12-30 20:49:30 +0000
 1.1.4.2 18-Nov-2006  ad Sync with head.
 1.1.4.1 01-Oct-2006  ad file secreg.h was added on branch newlock2 on 2006-11-18 21:34:46 +0000
 1.1.2.2 22-Oct-2006  yamt sync with head
 1.1.2.1 01-Oct-2006  yamt file secreg.h was added on branch yamt-splraiseipl on 2006-10-22 06:06:43 +0000

RSS XML Feed