diff options
Diffstat (limited to 'sys')
-rw-r--r-- | sys/arch/i386/pci/pci_intr_fixup.c | 9 | ||||
-rw-r--r-- | sys/arch/i386/pci/pcibiosvar.h | 3 |
2 files changed, 5 insertions, 7 deletions
diff --git a/sys/arch/i386/pci/pci_intr_fixup.c b/sys/arch/i386/pci/pci_intr_fixup.c index da0e62df2f2..70cc134a7ff 100644 --- a/sys/arch/i386/pci/pci_intr_fixup.c +++ b/sys/arch/i386/pci/pci_intr_fixup.c @@ -1,4 +1,4 @@ -/* $OpenBSD: pci_intr_fixup.c,v 1.35 2004/07/14 21:46:49 mickey Exp $ */ +/* $OpenBSD: pci_intr_fixup.c,v 1.36 2004/09/26 20:17:42 mickey Exp $ */ /* $NetBSD: pci_intr_fixup.c,v 1.10 2000/08/10 21:18:27 soda Exp $ */ /* @@ -671,17 +671,14 @@ pci_intr_header_fixup(pc, tag, ihp) p = " fixed up"; ihp->line = l->irq; - } else { + } else if (pcibios_flags & PCIBIOS_FIXUP_FORCE) { /* routed by BIOS, but inconsistent */ -#ifdef PCIBIOS_INTR_FIXUP_FORCE /* believe PCI IRQ Routing table */ p = " WARNING: overriding"; ihp->line = l->irq; -#else + } else /* believe PCI Interrupt Configuration Register (default) */ p = " WARNING: preserving"; -#endif - } if (pcibios_flags & PCIBIOS_INTRDEBUG) { register pcireg_t id = pci_conf_read(pc, tag, PCI_ID_REG); diff --git a/sys/arch/i386/pci/pcibiosvar.h b/sys/arch/i386/pci/pcibiosvar.h index f74255ca488..41ec746be6b 100644 --- a/sys/arch/i386/pci/pcibiosvar.h +++ b/sys/arch/i386/pci/pcibiosvar.h @@ -1,4 +1,4 @@ -/* $OpenBSD: pcibiosvar.h,v 1.13 2004/06/22 09:47:01 mickey Exp $ */ +/* $OpenBSD: pcibiosvar.h,v 1.14 2004/09/26 20:17:42 mickey Exp $ */ /* $NetBSD: pcibios.h,v 1.2 2000/04/28 17:15:16 uch Exp $ */ /* @@ -36,6 +36,7 @@ #define PCIBIOS_INTR_GUESS 0x008 #define PCIBIOS_VERBOSE 0x010 #define PCIBIOS_INTRDEBUG 0x020 +#define PCIBIOS_FIXUP_FORCE 0x040 /* * PCI BIOS return codes. |