planned changes in other sections of code.
(2) expands the use of config_found() in tcattach() in-line, so that
tcsubmatch can be invoked there, rather than being invoked by
individual drivers.
(3) tcbus_attach_args now includes a turbochannel speed flag.
(4) compare a string in tcbus_attach_args against tc bus driver name,
to better allow attachment of multiple busses to the same parent.
Rename the ioctl asic register and slot macros from ASIC_<xxx> to
IOASIC_<xxx>, to be compatible with the machine-indpendent names in
sys/dev/tc/ioasicvar.h. The pmax code still uses
sys/arch/pmax/pmax/asic.h, as some of the registers and offsets
defined there are not yet defined in sys/dev/tc/ioasicvar.h.
Rename the ioctl asic base-address pointer from `asic_base' to `ioasic_base'.
Use the device address in the attach_args structure, instead of
using the deprecated BUS_CVTADDR macro.
Change the Mach derived asc driver to use "SCSI_PHASE_xxx" instead of
"ASC_PHASE_xxx", as the latest version of the Mach driver does.
also defines tc device. does _not_ define le driver, because
of conflicts with other (e.g. ISA) le drivers. (Alpha kernel
configuration files include files.isa and files.tc.)
should work properly with:
(1) LANCE chips hanging off the system IOCTL asic,
(2) LANCE chips TurboChannel option boards.
Support for various PMAX-family baseboard options isn't yet in this
file, but should be easy to add.
deal with stuff like:
(1) configuring built-in devices,
(2) looking at TC slots configuring any devices found.
The lists of slots, slot locations, etc. and built-in devices
are provided by machine-dependent code. Interrupt handling
is also provided by machine-dependent code, but the MD code provides
hooks so that standard names for 'establish' and 'disestablish'
can be used in drivers.
This code requires <machine/tc_machdep.h>, which defines some
portability types specific to the TurboChannel bus code.
"struct pmax_device" to avoid conflict with <sys/device.h>.
Change the signature of interrupt-handlers to take a void *
(a pointer to the softc) and return an int (indicating spurious
interrupts or other conditions.)
Concomitant changes to code that prints driver/unit name: use dv_xname
and dv_unit, instead of doing pointer arithmetic on elements of the static
softc array.
Remove support for old config. The old-config "driver" structure
is still present, because the pmax non-MI SCSI driver needs it.
Merge some off Per Fogelstrom's changes for the Pica driver,
which uses the machine-independent SCSI code. This is #ifdef'ed
out until the DMA is fixed to work on Decstations, too.