naming conflicts between bus attachments on ports that can have
multiple instances of the LANCE.
Changed struct ifnet to have a pointer to the softc of the underlying
device and a printable "external name" (name + unit number), thus eliminating
if_name and if_unit. Updated interface to (*if_watchdog)() and (*if_start)()
to take a struct ifnet *, rather than a unit number.
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).
outside of "internal i/o" space to not even have a chance at console-hood.
Fix tested by Thorsten Frueauf <frueauf@ira.uka.de>, and offered with
my sincerest apologies that the bug ever existed in the first place.
to a softc, rather than a unit number. Add a "dq_softc" member
to struct devqueue; this is a temporary measure until the
dma/controller/device callback spaghetti is untangled.
YAY! No more need for dcafastservice!
HIL: squish instances of "(void) splhil()" and "(void) spl0();".
intent for the value of the C_REL constant was 0xc0. Testing has turned
up no adverse effect on tape or disk devices, and in fact this change
apparently makes my 9145 tape work as expected. (!) Closes PRs 1874 and
1971.
to the identification request in rdmatch(). Similar in spirit to a
patch from Jason Downs (written eons ago), but limited to the broken
device we're trying to reach. My patch tested (and fixed :-) by
Herb Peyerl.
- New metrics handling. Metrics are now kept in the new
`struct disk'. Busy time is now stored as a timeval, and
transfer count in bytes.
- Storage for disklabels is now dynamically allocated, so that
the size of the disk structure is not machine-dependent.
- Several new functions for attaching and detaching disks, and
handling metrics calculation.
Old-style instrumentation is still supported in drivers that did it before.
However, old-style instrumentation is being deprecated, and will go away
once the userland utilities are updated for the new framework.
For usage and architectural details, see the forthcoming disk(9) manual
page.
squished into an 8-bit position in a command stream! Which one is wrong?
Changed the constant from 0x140 to 0x40, which is what ended up happening
anyhow. This exists in the old Utah sources, too! How long has this
bug existed?!
and LE_RINT_HOOK to blink the "LAN transmit" and "LAN receive" LEDs on
the front panels of 400-series machines iff the CPP symbol USELEDS is
defined in the kernel config file.
This is a step towards getting the drivers ready for new config.
Clean up namespace, remove several instances of global arrays. Instead,
use a softc to carry state around. Where possible, pass a pointer to
the softc rather than a unit number.
Pointers to hardware and software constructs are now stored per port
in each instance of the softc (one softc per board) rather than indexed
by minor number.
This is a step towards getting the drivers ready for new config.
Clean up namespace, remove several instances of global arrays. Instead,
use a softc to carry state around. Where possible, pass a pointer to the
softc rather than a unit number.
bit is set. Works around the fact that the last process to have the
console open exits, the bit is cleared, and "syncing disks...", etc. is
not seen if the system is rebooted with reboot(8). Fixes PR #1455.
COMPAT_NOLABEL.
XXX One day when the world doesn't assume DEV_BSIZE bytes/sector, we'll be
able to actually use the stuff sensed from the drive, rather than a table.
be done. Set up a structure filled with function pointers in the
controller-specific probe routines, and jump through them, instead of
if()'ing our way though each operation.
Be a little more discriptive; print out the controller type found
during the probe in a way that's somewhat meaningful.
* Reset the card on "fresh open" as a sanity measure.
* Use the "secret bit" to enable interrupts.
* Make some parts look/behave like their cousins in dev/isa/com.c
* Set the FIFO threshold based on line speed.
* Be a little more informative when port is attached.
* Implement TIOC{G,S}FLAGS; ttyflags now works.
First two items prevent deadlock on some systems (notably the 380,
425, and 433) which some people have been reporting. Use of the
"secret bit" seems to be safe on systems which don't need it. Changes
tested on a 319, 340, 345, and 380.