From a9dace022ebfaaa72658d180d7909f0d68adb429 Mon Sep 17 00:00:00 2001 From: Thomas Moestl Date: Fri, 6 Dec 2002 13:16:52 +0000 Subject: [PATCH] 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 --- sys/sparc64/pci/psycho.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sys/sparc64/pci/psycho.c b/sys/sparc64/pci/psycho.c index 79e2f09ef38..939018eb792 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) {