diff options
author | Michael Shalayeff <mickey@cvs.openbsd.org> | 2001-01-27 05:02:40 +0000 |
---|---|---|
committer | Michael Shalayeff <mickey@cvs.openbsd.org> | 2001-01-27 05:02:40 +0000 |
commit | 3f2e4f790656923ac68fc15cb25869ef122a9e9e (patch) | |
tree | ee71830657249a3e8775066d11a1b9b0e57cdd6e /sys/dev | |
parent | 5c57fe9fedb6369715d919d0344f713e6fb24bbb (diff) |
ignore swizzling on i386.
this is needed for interrupt mapping code to be
able to program the device and the pci interrupt
router for the interrupt.
Diffstat (limited to 'sys/dev')
-rw-r--r-- | sys/dev/pci/pci.c | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/sys/dev/pci/pci.c b/sys/dev/pci/pci.c index 15c45120d1a..14e41423517 100644 --- a/sys/dev/pci/pci.c +++ b/sys/dev/pci/pci.c @@ -1,4 +1,4 @@ -/* $OpenBSD: pci.c,v 1.15 1999/07/18 03:20:18 csapuntz Exp $ */ +/* $OpenBSD: pci.c,v 1.16 2001/01/27 05:02:39 mickey Exp $ */ /* $NetBSD: pci.c,v 1.31 1997/06/06 23:48:04 thorpej Exp $ */ /* @@ -177,6 +177,16 @@ pciattach(parent, self, aux) We don't support turning off I/O or memory on broken hardware. <csapuntz@stanford.edu> */ pa.pa_flags = PCI_FLAGS_IO_ENABLED | PCI_FLAGS_MEM_ENABLED; +#ifdef __i386__ + /* + * on i386 we really need to know the device tag + * and not the pci bridge tag, in intr_map + * to be able to program the device and the + * pci interrupt router. + */ + pa.pa_intrtag = tag; + pa.pa_intrswiz = 0; +#else if (bus == 0) { pa.pa_intrswiz = 0; pa.pa_intrtag = tag; @@ -184,6 +194,7 @@ pciattach(parent, self, aux) pa.pa_intrswiz = pba->pba_intrswiz + device; pa.pa_intrtag = pba->pba_intrtag; } +#endif pin = PCI_INTERRUPT_PIN(intr); if (pin == PCI_INTERRUPT_PIN_NONE) { /* no interrupt */ |