diff options
author | tmm <tmm@FreeBSD.org> | 2002-12-06 13:16:52 +0000 |
---|---|---|
committer | tmm <tmm@FreeBSD.org> | 2002-12-06 13:16:52 +0000 |
commit | 3036bdcf9beb740c8bafae2b18c785736eb70ff1 (patch) | |
tree | 7baffe4fbb1d044d303e9e3abc9d804bb6a478a8 | |
parent | e008bfac8f005993754d4bf92901329c9ad54ff3 (diff) | |
download | FreeBSD-src-3036bdcf9beb740c8bafae2b18c785736eb70ff1.zip FreeBSD-src-3036bdcf9beb740c8bafae2b18c785736eb70ff1.tar.gz |
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
-rw-r--r-- | sys/sparc64/pci/psycho.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/sys/sparc64/pci/psycho.c b/sys/sparc64/pci/psycho.c index 79e2f09..939018e 100644 --- a/sys/sparc64/pci/psycho.c +++ b/sys/sparc64/pci/psycho.c @@ -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) { |