ioapic: Move ioapic_enable from machdep.c to apic/ioapic.c
authorSepherosa Ziehau <sephe@dragonflybsd.org>
Mon, 23 May 2011 11:53:08 +0000 (19:53 +0800)
committerSepherosa Ziehau <sephe@dragonflybsd.org>
Mon, 23 May 2011 12:31:26 +0000 (20:31 +0800)
Enable I/O APIC by default.

23 files changed:
sys/bus/pci/i386/mptable_pci.c
sys/bus/pci/pci_pci.c
sys/bus/pci/x86_64/mptable_pci.c
sys/platform/pc32/acpica5/acpi_machdep.c
sys/platform/pc32/apic/ioapic.c
sys/platform/pc32/apic/ioapic.h
sys/platform/pc32/apic/lapic.c
sys/platform/pc32/i386/machdep.c
sys/platform/pc32/i386/nexus.c
sys/platform/pc32/icu/icu.c
sys/platform/pc32/icu/icu_abi.c
sys/platform/pc32/include/smp.h
sys/platform/pc32/isa/clock.c
sys/platform/pc64/acpica5/acpi_machdep.c
sys/platform/pc64/apic/ioapic.c
sys/platform/pc64/apic/ioapic.h
sys/platform/pc64/apic/lapic.c
sys/platform/pc64/icu/icu.c
sys/platform/pc64/icu/icu_abi.c
sys/platform/pc64/include/smp.h
sys/platform/pc64/isa/clock.c
sys/platform/pc64/x86_64/machdep.c
sys/platform/pc64/x86_64/nexus.c

index 79e466a..6592525 100644 (file)
@@ -45,6 +45,7 @@
 #include <bus/pci/pcib_private.h>
 
 #include <machine/smp.h>
+#include <machine_base/apic/ioapic.h>
 
 #include "legacyvar.h"
 #include "pci_cfgreg.h"
index bd21bad..cd273c4 100644 (file)
@@ -41,7 +41,7 @@
 #include <sys/bus.h>
 #include <sys/rman.h>
 #include <sys/sysctl.h>
-#include <machine/smp.h>
+#include <machine_base/apic/ioapic.h>
 
 #include <bus/pci/pcivar.h>
 #include <bus/pci/pcireg.h>
@@ -126,11 +126,13 @@ pcib_probe(device_t dev)
     if ((pci_get_class(dev) == PCIC_BRIDGE) &&
        (pci_get_subclass(dev) == PCIS_BRIDGE_PCI)) {
        device_set_desc(dev, "PCI-PCI bridge");
+#if defined(__i386__) || defined(__x86_64__)
 #ifdef SMP
        /* PCIBIOS PCI-PCI bridge is -2000 */
        if (ioapic_enable)
                return (-1000);
 #endif
+#endif
        return (-10000);
     }
     return(ENXIO);
index 79e466a..6592525 100644 (file)
@@ -45,6 +45,7 @@
 #include <bus/pci/pcib_private.h>
 
 #include <machine/smp.h>
+#include <machine_base/apic/ioapic.h>
 
 #include "legacyvar.h"
 #include "pci_cfgreg.h"
index 6ec85d8..176bff9 100644 (file)
@@ -50,6 +50,7 @@ static device_t       acpi_dev;
 #include <machine/apm_bios.h>
 #include <machine/pc/bios.h>
 #include <machine_base/apm/apm.h>
+#include <machine_base/apic/ioapic.h>
 #include <machine/smp.h>
 
 uint32_t acpi_reset_video = 1;
index e5ee1cc..c212c83 100644 (file)
@@ -86,6 +86,8 @@ static struct ioapic_conf     ioapic_conf;
 static TAILQ_HEAD(, ioapic_enumerator) ioapic_enumerators =
        TAILQ_HEAD_INITIALIZER(ioapic_enumerators);
 
+int            ioapic_enable = 1; /* I/O APIC is enabled by default */
+
 int
 ioapic_config(void)
 {
index 7b53768..b4fd780 100644 (file)
@@ -63,4 +63,6 @@ int   ioapic_extpin_gsi(void);
 int    ioapic_gsi(int, int);
 void   *ioapic_map(vm_paddr_t);
 
+extern int     ioapic_enable;
+
 #endif /* !_ARCH_APIC_IOAPIC_H_ */
index 78df7bf..ed1ba2e 100644 (file)
@@ -37,6 +37,7 @@
 #include <machine/md_var.h>
 #include <machine/pmap.h>
 #include <machine_base/apic/lapic.h>
+#include <machine_base/apic/ioapic.h>
 #include <machine_base/apic/ioapic_abi.h>
 #include <machine/segments.h>
 #include <sys/thread2.h>
index babec30..4712d01 100644 (file)
 #include <sys/machintr.h>
 #include <machine_base/icu/icu_abi.h>
 #include <machine_base/icu/elcr_var.h>
+#include <machine_base/apic/ioapic.h>
 #include <machine_base/apic/ioapic_abi.h>
 
 #define PHYSMAP_ENTRIES                10
@@ -1874,14 +1875,6 @@ do_next:
        avail_end = phys_avail[pa_indx];
 }
 
-#ifdef SMP
-#ifdef APIC_IO
-int ioapic_enable = 1; /* Enabled by default for kernels compiled w/APIC_IO */
-#else
-int ioapic_enable = 0; /* Disabled by default for kernels compiled without */
-#endif
-#endif
-
 struct machintr_abi MachIntrABI;
 
 /*
index 02a6340..df8125a 100644 (file)
@@ -57,6 +57,7 @@
 
 #include <machine/nexusvar.h>
 #include <machine/smp.h>
+#include <machine_base/apic/ioapic.h>
 
 #include <bus/pci/pcivar.h>
 #include <bus/pci/pcireg.h>
index 2fcb084..e9bf35e 100644 (file)
@@ -57,6 +57,7 @@
 #include <machine/intr_machdep.h>
 #include <machine_base/icu/icu.h>
 #include <machine_base/icu/icu_var.h>
+#include <machine_base/apic/ioapic.h>
 
 static void    icu_init(void);
 
index 905cb25..8a750ae 100644 (file)
@@ -58,6 +58,7 @@
 
 #include <machine_base/icu/icu.h>
 #include <machine_base/icu/icu_ipl.h>
+#include <machine_base/apic/ioapic.h>
 
 extern inthand_t
        IDTVEC(icu_intr0),      IDTVEC(icu_intr1),
index 0ca4f55..ad03ac1 100644 (file)
@@ -95,8 +95,6 @@ void  forward_signal          (struct proc *);
 int    mptable_pci_int_route(int, int, int, int);
 void   mptable_pci_int_dump(void);
 
-extern int ioapic_enable;
-
 #if defined(READY)
 void   clr_io_apic_mask24      (int, u_int32_t);
 void   set_io_apic_mask24      (int, u_int32_t);
index 39dfd3d..6fde329 100644 (file)
@@ -83,6 +83,7 @@
 #include <machine/specialreg.h>
 
 #ifdef SMP
+#include <machine_base/apic/ioapic.h>
 #include <machine_base/apic/ioapic_abi.h>
 #endif
 #include <machine_base/icu/icu.h>
index 07bb9fd..3d3943f 100644 (file)
@@ -50,6 +50,7 @@ static device_t       acpi_dev;
 #include <machine/apm_bios.h>
 #include <machine/pc/bios.h>
 #include <machine_base/apm/apm.h>
+#include <machine_base/apic/ioapic.h>
 #include <machine/smp.h>
 
 uint32_t acpi_reset_video = 1;
index dcaeae0..e195337 100644 (file)
@@ -84,6 +84,8 @@ static struct ioapic_conf     ioapic_conf;
 static TAILQ_HEAD(, ioapic_enumerator) ioapic_enumerators =
        TAILQ_HEAD_INITIALIZER(ioapic_enumerators);
 
+int            ioapic_enable = 1; /* I/O APIC is enabled by default */
+
 int
 ioapic_config(void)
 {
index ff22fea..77f1769 100644 (file)
@@ -64,4 +64,6 @@ int   ioapic_extpin_gsi(void);
 int    ioapic_gsi(int, int);
 void   *ioapic_map(vm_paddr_t);
 
+extern int     ioapic_enable;
+
 #endif /* !_ARCH_APIC_IOAPIC_H_ */
index dd4ae6e..06bce1c 100644 (file)
@@ -35,6 +35,7 @@
 #include <machine/md_var.h>
 #include <machine/pmap.h>
 #include <machine_base/apic/lapic.h>
+#include <machine_base/apic/ioapic.h>
 #include <machine_base/apic/ioapic_abi.h>
 #include <machine/segments.h>
 #include <machine/specialreg.h>
index 813b1a4..3792fe6 100644 (file)
@@ -57,6 +57,7 @@
 #include <machine/intr_machdep.h>
 #include <machine_base/icu/icu.h>
 #include <machine_base/icu/icu_var.h>
+#include <machine_base/apic/ioapic.h>
 
 static void    icu_init(void);
 
index fe3f9d7..d139d8d 100644 (file)
@@ -58,6 +58,7 @@
 
 #include <machine_base/icu/icu.h>
 #include <machine_base/icu/icu_ipl.h>
+#include <machine_base/apic/ioapic.h>
 
 extern inthand_t
        IDTVEC(icu_intr0),      IDTVEC(icu_intr1),
index 8981124..efb073b 100644 (file)
@@ -68,7 +68,6 @@ extern void (*cpustop_restartfunc) (void);
 
 /* global data in mp_machdep.c */
 extern int                     imcr_present;
-extern int                     ioapic_enable;
 extern int                     mp_naps;
 
 #define APIC_INTMAPSIZE 192
index e44737f..5059466 100644 (file)
@@ -87,6 +87,7 @@
 #include <machine/intr_machdep.h>
 
 #ifdef SMP
+#include <machine_base/apic/ioapic.h>
 #include <machine_base/apic/ioapic_abi.h>
 #endif
 #include <machine_base/icu/icu.h>
index a90f461..c01d3cd 100644 (file)
 #include <sys/machintr.h>
 #include <machine_base/icu/icu_abi.h>
 #include <machine_base/icu/elcr_var.h>
+#include <machine_base/apic/ioapic.h>
 #include <machine_base/apic/ioapic_abi.h>
 
 #define PHYSMAP_ENTRIES                10
@@ -1673,14 +1674,6 @@ do_next:
        }
 }
 
-#ifdef SMP
-#ifdef APIC_IO
-int ioapic_enable = 1; /* Enabled by default for kernels compiled w/APIC_IO */
-#else
-int ioapic_enable = 0; /* Disabled by default for kernels compiled without */
-#endif
-#endif
-
 struct machintr_abi MachIntrABI;
 
 /*
index bce6331..19e27b8 100644 (file)
@@ -58,6 +58,7 @@
 
 #include <machine/nexusvar.h>
 #include <machine/smp.h>
+#include <machine_base/apic/ioapic.h>
 
 #define I386_BUS_SPACE_IO       0       /* space is i/o space */
 #define I386_BUS_SPACE_MEM      1       /* space is mem space */