X-Git-Url: https://gitweb.dragonflybsd.org/~mneumann/dragonfly.git/blobdiff_plain/70c114ea71dfa8a206b463921dfa7fb6080ecdd1..79b62055301f75e30e625e64f13564a1145fe853:/sys/platform/pc32/i386/nexus.c diff --git a/sys/platform/pc32/i386/nexus.c b/sys/platform/pc32/i386/nexus.c index dea7b58f3c..e3fd50fcaa 100644 --- a/sys/platform/pc32/i386/nexus.c +++ b/sys/platform/pc32/i386/nexus.c @@ -161,20 +161,24 @@ nexus_probe(device_t dev) irq_rman.rm_start = 0; irq_rman.rm_type = RMAN_ARRAY; irq_rman.rm_descr = "Interrupt request lines"; -#ifdef APIC_IO + +#if SMP /* APIC-IO */ +if (apic_io_enable) { irq_rman.rm_end = APIC_INTMAPSIZE - 1; if (rman_init(&irq_rman) || rman_manage_region(&irq_rman, irq_rman.rm_start, irq_rman.rm_end)) panic("nexus_probe irq_rman"); -#else +} else { +#endif irq_rman.rm_end = 15; if (rman_init(&irq_rman) || rman_manage_region(&irq_rman, irq_rman.rm_start, 1) || rman_manage_region(&irq_rman, 3, irq_rman.rm_end)) panic("nexus_probe irq_rman"); +#if SMP /* APIC-IO */ +} #endif - /* * ISA DMA on PCI systems is implemented in the ISA part of each * PCI->ISA bridge and the channels can be duplicated if there are @@ -475,7 +479,8 @@ static int nexus_config_intr(device_t dev, device_t child, int irq, enum intr_trigger trig, enum intr_polarity pol) { -#ifdef APIC_IO +#ifdef SMP /* APIC-IO */ +if (apic_io_enable) { int line; int slot = pci_get_slot(child); int bus = pci_get_bus(child); @@ -488,9 +493,9 @@ nexus_config_intr(device_t dev, device_t child, int irq, enum intr_trigger trig, return line; return PCI_INVALID_IRQ; -#else - return irq; +} #endif + return irq; } /*