Exclude yet more interrupt mapping registers from the OBIO INO search,
namely the ones for the timers, error handling and power management. The registers for the timers, power management and PCI bus b errors are reserved on Sabres (US-IIi) and can lead to false matches there. Since all of them are never used for devices on the bus, they can be omitted safely. Approved by: re
This commit is contained in:
parent
212859a014
commit
3fdc9c3d48
@ -580,7 +580,7 @@ psycho_attach(device_t dev)
|
||||
PSYCHO_WRITE8(sc, map, INTMAP_ENABLE(mr, PCPU_GET(mid)));
|
||||
}
|
||||
for (map = PSR_SCSI_INT_MAP, clr = PSR_SCSI_INT_CLR, n = 0;
|
||||
map < PSR_FFB0_INT_MAP; map += 8, clr += 8, n++) {
|
||||
map <= PSR_SERIAL_INT_MAP; map += 8, clr += 8, n++) {
|
||||
mr = PSYCHO_READ8(sc, map);
|
||||
#ifdef PSYCHO_DEBUG
|
||||
device_printf(dev, "intr map (obio) %d: %#lx, clr: %#lx\n", n,
|
||||
@ -674,7 +674,7 @@ psycho_find_intrmap(struct psycho_softc *sc, int ino, bus_addr_t *intrmapptr,
|
||||
/* Hunt thru obio first */
|
||||
diag = PSYCHO_READ8(sc, PSR_OBIO_INT_DIAG);
|
||||
for (intrmap = PSR_SCSI_INT_MAP, intrclr = PSR_SCSI_INT_CLR;
|
||||
intrmap < PSR_FFB0_INT_MAP; intrmap += 8, intrclr += 8,
|
||||
intrmap <= PSR_SERIAL_INT_MAP; intrmap += 8, intrclr += 8,
|
||||
diag >>= 2) {
|
||||
im = PSYCHO_READ8(sc, intrmap);
|
||||
if (INTINO(im) == ino) {
|
||||
|
Loading…
Reference in New Issue
Block a user