x86: refactor ->check_phys_apicid_present() subarch methods
authorIngo Molnar <mingo@elte.hu>
Wed, 28 Jan 2009 11:43:18 +0000 (12:43 +0100)
committerIngo Molnar <mingo@elte.hu>
Wed, 28 Jan 2009 22:20:25 +0000 (23:20 +0100)
- spread out the namespace to per driver methods

 - extend it to 64-bit as well so that we can use
   apic->check_phys_apicid_present() unconditionally

Signed-off-by: Ingo Molnar <mingo@elte.hu>
17 files changed:
arch/x86/include/asm/bigsmp/apic.h
arch/x86/include/asm/es7000/apic.h
arch/x86/include/asm/genapic.h
arch/x86/include/asm/mach-default/mach_apic.h
arch/x86/include/asm/mach-generic/mach_apic.h
arch/x86/include/asm/numaq/apic.h
arch/x86/include/asm/summit/apic.h
arch/x86/kernel/genapic_flat_64.c
arch/x86/kernel/genx2apic_cluster.c
arch/x86/kernel/genx2apic_phys.c
arch/x86/kernel/genx2apic_uv_x.c
arch/x86/kernel/smpboot.c
arch/x86/mach-generic/bigsmp.c
arch/x86/mach-generic/default.c
arch/x86/mach-generic/es7000.c
arch/x86/mach-generic/numaq.c
arch/x86/mach-generic/summit.c

index 2fa70032e3b444b112178b7a45e9a69cd0a5768d..5ba4118fcdf270b4251bd9101dfc901ee1dc2b22 100644 (file)
@@ -99,13 +99,13 @@ static inline void bigsmp_setup_portio_remap(void)
 {
 }
 
-static inline void enable_apic_mode(void)
+static inline int bigsmp_check_phys_apicid_present(int boot_cpu_physical_apicid)
 {
+       return 1;
 }
 
-static inline int check_phys_apicid_present(int boot_cpu_physical_apicid)
+static inline void enable_apic_mode(void)
 {
-       return (1);
 }
 
 /* As we are using single CPU as destination, pick only one CPU here */
index c5b0eb51e53a468d786a3e786ab32e65500c0631..717c27f8da61f05ef87e69fff0ab9097308d38a6 100644 (file)
@@ -126,9 +126,9 @@ static inline physid_mask_t es7000_ioapic_phys_id_map(physid_mask_t phys_map)
        return physids_promote(0xff);
 }
 
-
 extern unsigned int boot_cpu_physical_apicid;
-static inline int check_phys_apicid_present(int cpu_physical_apicid)
+
+static inline int es7000_check_phys_apicid_present(int cpu_physical_apicid)
 {
        boot_cpu_physical_apicid = read_apic_id();
        return (1);
index 2cb14d51e459057c6199dc82ba9cf5ac984d4de5..f292fd02ebab95a039520cb6f3336a1a7437ee44 100644 (file)
@@ -110,6 +110,7 @@ DECLARE_PER_CPU(int, x2apic_extra_bits);
 extern void default_setup_apic_routing(void);
 
 extern int default_cpu_present_to_apicid(int mps_cpu);
+extern int default_check_phys_apicid_present(int boot_cpu_physical_apicid);
 #endif
 
 #endif /* _ASM_X86_GENAPIC_64_H */
index 54c20e19e2803176068297b2c0d8118866a72db5..0a824d3a223828b3ababcd5e981dc5561996cbdd 100644 (file)
@@ -118,13 +118,26 @@ static inline int __default_cpu_present_to_apicid(int mps_cpu)
                return BAD_APICID;
 }
 
+static inline int
+__default_check_phys_apicid_present(int boot_cpu_physical_apicid)
+{
+       return physid_isset(boot_cpu_physical_apicid, phys_cpu_present_map);
+}
+
 #ifdef CONFIG_X86_32
 static inline int default_cpu_present_to_apicid(int mps_cpu)
 {
        return __default_cpu_present_to_apicid(mps_cpu);
 }
+
+static inline int
+default_check_phys_apicid_present(int boot_cpu_physical_apicid)
+{
+       return __default_check_phys_apicid_present(boot_cpu_physical_apicid);
+}
 #else
 extern int default_cpu_present_to_apicid(int mps_cpu);
+extern int default_check_phys_apicid_present(int boot_cpu_physical_apicid);
 #endif
 
 static inline physid_mask_t default_apicid_to_cpu_present(int phys_apicid)
@@ -132,11 +145,6 @@ static inline physid_mask_t default_apicid_to_cpu_present(int phys_apicid)
        return physid_mask_of_physid(phys_apicid);
 }
 
-static inline int check_phys_apicid_present(int boot_cpu_physical_apicid)
-{
-       return physid_isset(boot_cpu_physical_apicid, phys_cpu_present_map);
-}
-
 static inline void enable_apic_mode(void)
 {
 }
index 393a97c5685f7f72f51348dadab33a903bbefeec..efd762d951ac4078a32785a391e5b0359795b869 100644 (file)
@@ -3,7 +3,6 @@
 
 #include <asm/genapic.h>
 
-#define check_phys_apicid_present (apic->check_phys_apicid_present)
 #define cpu_mask_to_apicid (apic->cpu_mask_to_apicid)
 #define cpu_mask_to_apicid_and (apic->cpu_mask_to_apicid_and)
 #define enable_apic_mode (apic->enable_apic_mode)
index 6b626519cd75239ff22575b1fc163df97c35b00a..3be735e2ab90bfcf8d36aead4a0f80d1609424ad 100644 (file)
@@ -92,9 +92,9 @@ static inline physid_mask_t numaq_apicid_to_cpu_present(int logical_apicid)
 
 extern void *xquad_portio;
 
-static inline int check_phys_apicid_present(int boot_cpu_physical_apicid)
+static inline int numaq_check_phys_apicid_present(int boot_cpu_physical_apicid)
 {
-       return (1);
+       return 1;
 }
 
 static inline void enable_apic_mode(void)
index 131343b0b757dc1499a6ed0bf4ae6739e09245c5..fe578f6df78246be6978fa285c3427adaa8dd71a 100644 (file)
@@ -120,7 +120,7 @@ static inline void summit_setup_portio_remap(void)
 {
 }
 
-static inline int check_phys_apicid_present(int boot_cpu_physical_apicid)
+static inline int summit_check_phys_apicid_present(int boot_cpu_physical_apicid)
 {
        return 1;
 }
index f4a2c1c0a1a4c5ec6dc73a3da23da75d0e7a1b6c..78adf71f7e55af3f4684c7cde7adb4a14881e54b 100644 (file)
@@ -200,7 +200,7 @@ struct genapic apic_flat =  {
        .cpu_present_to_apicid          = default_cpu_present_to_apicid,
        .apicid_to_cpu_present          = NULL,
        .setup_portio_remap             = NULL,
-       .check_phys_apicid_present      = NULL,
+       .check_phys_apicid_present      = default_check_phys_apicid_present,
        .enable_apic_mode               = NULL,
        .phys_pkg_id                    = phys_pkg_id,
        .mps_oem_check                  = NULL,
@@ -344,7 +344,7 @@ struct genapic apic_physflat =  {
        .cpu_present_to_apicid          = default_cpu_present_to_apicid,
        .apicid_to_cpu_present          = NULL,
        .setup_portio_remap             = NULL,
-       .check_phys_apicid_present      = NULL,
+       .check_phys_apicid_present      = default_check_phys_apicid_present,
        .enable_apic_mode               = NULL,
        .phys_pkg_id                    = phys_pkg_id,
        .mps_oem_check                  = NULL,
index 710d612a9641b61fac96cd86fb7b3e75424b66ad..7062e24b18f63ed8da928d511a0480d6a4948adb 100644 (file)
@@ -202,7 +202,7 @@ struct genapic apic_x2apic_cluster = {
        .cpu_present_to_apicid          = default_cpu_present_to_apicid,
        .apicid_to_cpu_present          = NULL,
        .setup_portio_remap             = NULL,
-       .check_phys_apicid_present      = NULL,
+       .check_phys_apicid_present      = default_check_phys_apicid_present,
        .enable_apic_mode               = NULL,
        .phys_pkg_id                    = phys_pkg_id,
        .mps_oem_check                  = NULL,
index 49a449178c3be2328283211d81b299b32c1cb0f3..7177a1110f0d3bfdb661d13753c0e1d602958387 100644 (file)
@@ -198,7 +198,7 @@ struct genapic apic_x2apic_phys = {
        .cpu_present_to_apicid          = default_cpu_present_to_apicid,
        .apicid_to_cpu_present          = NULL,
        .setup_portio_remap             = NULL,
-       .check_phys_apicid_present      = NULL,
+       .check_phys_apicid_present      = default_check_phys_apicid_present,
        .enable_apic_mode               = NULL,
        .phys_pkg_id                    = phys_pkg_id,
        .mps_oem_check                  = NULL,
index a08a63591864335f0b7a561a159b0a2ab2fe39f0..debd721f0b4e621b37f029b8721f69bfb79cc182 100644 (file)
@@ -263,7 +263,7 @@ struct genapic apic_x2apic_uv_x = {
        .cpu_present_to_apicid          = default_cpu_present_to_apicid,
        .apicid_to_cpu_present          = NULL,
        .setup_portio_remap             = NULL,
-       .check_phys_apicid_present      = NULL,
+       .check_phys_apicid_present      = default_check_phys_apicid_present,
        .enable_apic_mode               = NULL,
        .phys_pkg_id                    = phys_pkg_id,
        .mps_oem_check                  = NULL,
index 0e7d26c01f9f4530355c15a121eab10315b07294..ab83be2f8e0f2c6f3ae90f95222f0d68b3068043 100644 (file)
@@ -908,6 +908,11 @@ int default_cpu_present_to_apicid(int mps_cpu)
 {
        return __default_cpu_present_to_apicid(mps_cpu);
 }
+
+int default_check_phys_apicid_present(int boot_cpu_physical_apicid)
+{
+       return __default_check_phys_apicid_present(boot_cpu_physical_apicid);
+}
 #endif
 
 int __cpuinit native_cpu_up(unsigned int cpu)
@@ -1058,7 +1063,7 @@ static int __init smp_sanity_check(unsigned max_cpus)
         * Should not be necessary because the MP table should list the boot
         * CPU too, but we do it for the sake of robustness anyway.
         */
-       if (!check_phys_apicid_present(boot_cpu_physical_apicid)) {
+       if (!apic->check_phys_apicid_present(boot_cpu_physical_apicid)) {
                printk(KERN_NOTICE
                        "weird, boot CPU (#%d) not listed by the BIOS.\n",
                        boot_cpu_physical_apicid);
index 424740554a32ca8b0685adf32db224ba2a5b6b10..82743d16c23d278355b09cddb68a11a69512a386 100644 (file)
@@ -85,7 +85,7 @@ struct genapic apic_bigsmp = {
        .cpu_present_to_apicid          = bigsmp_cpu_present_to_apicid,
        .apicid_to_cpu_present          = bigsmp_apicid_to_cpu_present,
        .setup_portio_remap             = NULL,
-       .check_phys_apicid_present      = check_phys_apicid_present,
+       .check_phys_apicid_present      = bigsmp_check_phys_apicid_present,
        .enable_apic_mode               = enable_apic_mode,
        .phys_pkg_id                    = phys_pkg_id,
        .mps_oem_check                  = mps_oem_check,
index b48a58daf7190d5eaf23adcfc0f2043c40c6fb6a..d0374c69ad01ba761f40ada1b951aed1cf0583f5 100644 (file)
@@ -66,7 +66,7 @@ struct genapic apic_default = {
        .cpu_present_to_apicid          = default_cpu_present_to_apicid,
        .apicid_to_cpu_present          = default_apicid_to_cpu_present,
        .setup_portio_remap             = NULL,
-       .check_phys_apicid_present      = check_phys_apicid_present,
+       .check_phys_apicid_present      = default_check_phys_apicid_present,
        .enable_apic_mode               = enable_apic_mode,
        .phys_pkg_id                    = phys_pkg_id,
        .mps_oem_check                  = mps_oem_check,
index 449eca5b6048908bcb56492ce550cce2c5abcf80..52b3eb5e645f43022b5d0489a70b10a87b510b59 100644 (file)
@@ -127,7 +127,7 @@ struct genapic apic_es7000 = {
        .cpu_present_to_apicid          = es7000_cpu_present_to_apicid,
        .apicid_to_cpu_present          = es7000_apicid_to_cpu_present,
        .setup_portio_remap             = NULL,
-       .check_phys_apicid_present      = check_phys_apicid_present,
+       .check_phys_apicid_present      = es7000_check_phys_apicid_present,
        .enable_apic_mode               = enable_apic_mode,
        .phys_pkg_id                    = phys_pkg_id,
        .mps_oem_check                  = mps_oem_check,
index e60361b0bf1ed7c027d737e7f4cce2761409649c..7ec2ca43ca20af82fdebb10fb9f9d6b543496d67 100644 (file)
@@ -85,7 +85,7 @@ struct genapic apic_numaq = {
        .cpu_present_to_apicid          = numaq_cpu_present_to_apicid,
        .apicid_to_cpu_present          = numaq_apicid_to_cpu_present,
        .setup_portio_remap             = numaq_setup_portio_remap,
-       .check_phys_apicid_present      = check_phys_apicid_present,
+       .check_phys_apicid_present      = numaq_check_phys_apicid_present,
        .enable_apic_mode               = enable_apic_mode,
        .phys_pkg_id                    = phys_pkg_id,
        .mps_oem_check                  = mps_oem_check,
index ffcf7ca2e8ce878f3b7bc227ebb1f13576f33ae3..acf12de8916f3eb28a3fc1a3504807aefebdd291 100644 (file)
@@ -65,7 +65,7 @@ struct genapic apic_summit = {
        .cpu_present_to_apicid          = summit_cpu_present_to_apicid,
        .apicid_to_cpu_present          = summit_apicid_to_cpu_present,
        .setup_portio_remap             = NULL,
-       .check_phys_apicid_present      = check_phys_apicid_present,
+       .check_phys_apicid_present      = summit_check_phys_apicid_present,
        .enable_apic_mode               = enable_apic_mode,
        .phys_pkg_id                    = phys_pkg_id,
        .mps_oem_check                  = mps_oem_check,