summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorjhb <jhb@FreeBSD.org>2005-02-22 22:17:03 +0000
committerjhb <jhb@FreeBSD.org>2005-02-22 22:17:03 +0000
commit9c75eea841ae95d54ab8b830910eccf703bcbff6 (patch)
treed65fa5d5afb7215e6fe0948c76c41d2edd6210e8
parent73f2b14c7c69ffbc21cfa386a24e24230b347b4a (diff)
downloadFreeBSD-src-9c75eea841ae95d54ab8b830910eccf703bcbff6.zip
FreeBSD-src-9c75eea841ae95d54ab8b830910eccf703bcbff6.tar.gz
MFi386: r1.17: Treat pin 0 as IRQ 0 rather than ExtINT if mixed mode is not
enabled by the enumerator.
-rw-r--r--sys/amd64/amd64/io_apic.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/sys/amd64/amd64/io_apic.c b/sys/amd64/amd64/io_apic.c
index 4db0c22..350a90a 100644
--- a/sys/amd64/amd64/io_apic.c
+++ b/sys/amd64/amd64/io_apic.c
@@ -548,10 +548,11 @@ ioapic_create(uintptr_t addr, int32_t apic_id, int intbase)
/*
* Assume that pin 0 on the first I/O APIC is an ExtINT pin
- * and that pins 1-15 are ISA interrupts. Assume that all
+ * if mixed mode is enabled and an ISA interrupt if not.
+ * Assume that pins 1-15 are ISA interrupts and that all
* other pins are PCI interrupts.
*/
- if (intpin->io_vector == 0)
+ if (intpin->io_vector == 0 && mixed_mode_enabled)
ioapic_set_extint(io, i);
else if (intpin->io_vector < IOAPIC_ISA_INTS) {
intpin->io_bus = APIC_BUS_ISA;
OpenPOWER on IntegriCloud