remove their 'integrate' (usually defined to be 'static') keywords.
when lance drivers are split up by attachment, more than one file will
reference the copy/zero functions (i.e. not just the file that pulls in
am7990.c... and eventually inclusion of am7990.c should go away entirely).
chip-independent clock code. 'clock' has been renamed 'mcclock' 'clock'
has been renamed 'mcclock' (since it's a driver for that particular
clock, and since eventually there may be another clock chip driver),
and now attaches via seperate match/attach functions to both TC and ISA.
This removes a whole lot of #ifdefs...
'cflag' for the console. Normally set to TTYDEF_CFLAG, may be
overridden by machine-dependent console attachment code, as necessary.
(Alpha uses it to set cs8 -parenb.) Files including comvar.h now
need to include <sys/termios.h>, because comconscflag is of type
tcflag_t.
tech-kern (?)), to get the IPL_* and IST_* types. pass the machine-dependent
cookie given at attach time on to sub-devices, so they can use it to access
the interrupt functions properly.
the isa_chipset_tag_t type, and to define or prototype:
isa_attach_hook()
isa_intr_establish()
isa_intr_disestablish()
i.e. the machine-dependent functions to be used my MI ISA code.
Remove prototypes for the latter two functions from this file.
the bus is configured, interrupts are handled, etc. machine-dependent
header (machine/eisa/eisa_machdep.h) defines eisa_chipset_tag_t and
eisa_intr_handle_t types, and the following functions:
eisa_attach_hook()
eisa_maxslots()
eisa_intr_map()
eisa_intr_string()
eisa_intr_establish()
eisa_intr_disestablish()
Don't define the interrupt establish/disestablish functions directly
in terms of the ISA functions any more (on some wacked out systems,
there can be a difference).
* Add an ACB_RESET flag, so that a BUS DEVICE RESET can be queued within the
driver.
* If ACB_ABORT or ACB_RESET is set during reselection, schedule a message and
assert ATN.
* Optimize aic_datain_pio(), aic_dataout_pio() and aicintr() somewhat.
* Schedule a timeout only when we select the target, so that commands can't
time out prematurely.
influence from the old driver (written by Stefan Grefen) and from
an autochanger driver written by the Systems Programming Group at the
University of Utah Computer Science Department (currently residing
in src/sys/arch/hp300/dev/ac.c).
1) If we get an unexpected disconnect, issue a REQUEST SENSE, as recommended
by the SCSI-2 spec. If the target created a contingent allegiance condition,
this will clear it. Also, if it happened while sending a SDTR or WDTR message,
disable negotiation for that target.
2) Since some lame devices still don't deal correctly, make sure we deassert
ATN if our last message out is interrupted. If we get a MESSAGE PARITY ERROR,
we'll reassert ATN anyway. This should ensure that we never have to send a
MESSAGE NO OPERATION.
3) Set AIC_ABORTING only when actually sending a BUS DEVICE RESET or ABORT,
so we get better error detection.
4) Other internal reorganization of no consequence.
- Remove unnecessary prototypes
- Fix ioctl arguments
- Don't use kprintf(...TO_LOG...); directly. This does not set the log
priority, and uses priority of the previous message. Use log() with %:
(soon to be documented on mailing lists; eventually in section 9 manual
pages), most importantly:
(1) support interrupt pin swizzling on non-i386 systems with
PCI-PCI bridges (per PPB spec; done, but meaningless, on i386).
(2) provide pci_{io,mem}_find(), to determine what I/O or memory
space is described by a given PCI configuration space
mapping register.
(3) provide pci_intr_map(), pci_intr_string(), and
pci_intr_{,dis}establish() to manipulate and print info about
PCI interrupts.
(4) make pci functions take as an argument a machine-dependent
cookie, to allow more flexibility in implementation.
(1) use pci_{io,mem}_find(), to determine what I/O or memory
space is described by a given PCI configuration space
mapping register, and bus_{io,mem}_map() to map it.
(2) use pci_intr_map(), pci_intr_string(), and
pci_intr_{,dis}establish() to manipulate and print info about
PCI interrupts.
(5) make pci functions take as an argument a machine-dependent
cookie, to allow more flexibility in implementation.
(1) make pci functions take as an argument a machine-dependent
cookie, to allow more flexibility in implementation.
(use of other PCI functions, etc., left unchanged.)
to {mainbus,tc,ioasic}_cd.
Change ioasic config name from "lance " to "lance". Correct for
pmaxes, perhaps not for Alphas.
Boots and runs under load on a 5000/200. Hangs during boot on an ioasic
decstation; pmax autoconfig needs fixing.
Add Decstation-3100 baseboard support (untested).
* Display as much revision info as we can get.
* Fix a race condition that could cause interrupts to be lost.
* Handle `out of mailbox' conditions (much) more gracefully.
* Schedule timeouts more safely.
* Add diagnostic code to (correctly) detect if a CCB times out before its
outgoing mailbox is emptied.
the "Fast Assembler Version of the copy loop)
- Yet another sanity check included: initialize unused receive buffers to
zero sender id; and test for sender hardware id of zero in the receiver.
Gives us better error messages in case flaky hardware causes spurious
receive interupts.
change tc_submatch() to compile with the new device-attach scheme:
the TC bus uses a 'submatch' function which checks device locators
and then calls a match function.
Instead of calling cf->cf_driver->cd_match(), we now need to call
cf->cf_attach->ca_match().
Rename the extern declaration of `tccd' and `ioasiccd' in
src/sys/dev/tc/{tvar.h,ioasicvar.h", respectively, to be
`tc_cd' and `ioasic_cd', to match the 1.1B-style definitions.
only include the relevant code in the probe & attach functions. Still
one probe and one attach function, with #ifdefs, but this is a step
in the right direction and saves a few hundred bytes (ooh, ahh!).