handlers. (Only slot_ignore() and slot_noint() need this, and we already
have a place to put this information.) Adjust add_nubus_intr() so that if
the client_data arg is specified as NULL, pass the slot number as
client_data to the interrupt handler.
MACHINE_NEW_NONCONTIG interface implementation, which is now enabled
on all systems. Thanks to Jason Thorpe for his work on the hp300 port,
from which most of the code used here was derived.
XXX In spite of the fact that it works on the hp300, UVM does not (yet)
work well under load on mac68k.
certain 17" monitors. Change from Michael R. Zucca, PR 4988.
XXX - This can cause problems on system with the DAFB chip which currently
use only a NuBus-based video adapter. In particular, grf devices may not be
attached properly in this case. This unfortunate situation is less annoying
than not having a reasonable console, however. A reasonable, reliable
monitor sense algorithm for the DAFB would resolve the problem.
Rather than waiting indefinitely for a mouse or extended keyboard to
respond -- which may not even exist -- time out after 2 seconds and
continue. This corrects a very common problem with the MRG-based ADB
driver that has bitten many people running 1.3.
it in initializing during autoconfig. Similar to sys/arch/sun3/dev/zs.c
revision 1.47. Ought to fix hangs at first tty access reported by
Johnny Lam, <jlbg+@andrew.cmu.edu>.
causes the MI interrupt handler to barf when we get a 5380 RST interrupt
while probing. Worse, the VIA latches the interrupt, so simply having
all interrupts disabled during autoconfig doesn't resolve the problem.
[I demonstrated the latter on a IIci, which erroneously reports a
reselection attempt(!) after autoconfig is complete. The latched
interrupt results from the SCSI bus reset we do when initializing the
bus.]
Since interrupts must be enabled during autoconfig anyway (sigh), test
to see if autoconfig has completed in sbc_irq_intr(). If not, we don't
pass the interrupt up to the MI interrupt handler. Also, make sure to
clear the VIA interrupt if we're servicing an unclaimed 5380 RST
interrupt.
Thanks to Bill Studenmund for providing the key insight needed to unlock
this problem.
interrupt properly on a SuperMac Spectrum/8 Series III, and thanks
to Dan McMahill for loaning the card to Paul.
I modified Paul's patch somewhat to change grfmv_intr_generic_{1,4}
to grfmv_intr_generic_write{1,4} and added grfmv_intr_generic_or4 to
handle this card.
deal with cheap CD-ROMs and other devices that do not appear to have
any way to enable parity generation. In the future, it might be nice
to have this configurable on a per-device basis with back-to-back
parity errors automatically disabling parity for the device. That
would require some MI changes.
* Handle unaligned and odd-length transfers.
This could probably be handled better in the future.