- New delay() function, modeled after sun3/mvme68k delay,
calibrated with a model's known cpu speed.
- Use the defined constants for machineid and ectype
when determining what kind of machine we have, rather
than their expanded equivalents, for clarity.
- Move the vector table to the data segment so that it
can be patched at run-time.
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).
execpt without quotes. meant to be __CONCAT()ted for easy #includes
of machine-dependent headers for MI code (e.g. for the MI ISA/EISA/PCI/TC
bus code).
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.
a dca-specific constant. For now, hardwire standalone DCA console
at select code 9 (which is what the old constant expanded to). Really
should make the way the bootblock console is probed look just like how
the kernel console is probed.
- Interrupt service routines now take a pointer to
the device's softc, rather than a unit number.
- Interrupt handling code in locore.s condensed. Only
remaining "special" handlers are lev0 (spurious),
lev1 (HIL; don't ask), lev6 (clock), and lev7 (NMI).
Only remaining hard-coded device driver reference in
locore is HIL. (clock doesn't count...)
- "dcafastservice" eliminated. DCA driver has new mechanism
to guarantee prompt interrupt service at any ipl (not
just level 5).
- Interrupt code pulled out of autoconf.c and machdep.c and
placed in new file, isr.c
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.