diff options
Diffstat (limited to 'arch/x86/mach-generic/probe.c')
| -rw-r--r-- | arch/x86/mach-generic/probe.c | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/arch/x86/mach-generic/probe.c b/arch/x86/mach-generic/probe.c index c5ae751b994a..5a7e4619e1c4 100644 --- a/arch/x86/mach-generic/probe.c +++ b/arch/x86/mach-generic/probe.c | |||
| @@ -16,6 +16,7 @@ | |||
| 16 | #include <asm/apicdef.h> | 16 | #include <asm/apicdef.h> |
| 17 | #include <asm/genapic.h> | 17 | #include <asm/genapic.h> |
| 18 | 18 | ||
| 19 | extern struct genapic apic_numaq; | ||
| 19 | extern struct genapic apic_summit; | 20 | extern struct genapic apic_summit; |
| 20 | extern struct genapic apic_bigsmp; | 21 | extern struct genapic apic_bigsmp; |
| 21 | extern struct genapic apic_es7000; | 22 | extern struct genapic apic_es7000; |
| @@ -24,9 +25,18 @@ extern struct genapic apic_default; | |||
| 24 | struct genapic *genapic = &apic_default; | 25 | struct genapic *genapic = &apic_default; |
| 25 | 26 | ||
| 26 | static struct genapic *apic_probe[] __initdata = { | 27 | static struct genapic *apic_probe[] __initdata = { |
| 28 | #ifdef CONFIG_X86_NUMAQ | ||
| 29 | &apic_numaq, | ||
| 30 | #endif | ||
| 31 | #ifdef CONFIG_X86_SUMMIT | ||
| 27 | &apic_summit, | 32 | &apic_summit, |
| 33 | #endif | ||
| 34 | #ifdef CONFIG_X86_BIGSMP | ||
| 28 | &apic_bigsmp, | 35 | &apic_bigsmp, |
| 36 | #endif | ||
| 37 | #ifdef CONFIG_X86_ES7000 | ||
| 29 | &apic_es7000, | 38 | &apic_es7000, |
| 39 | #endif | ||
| 30 | &apic_default, /* must be last */ | 40 | &apic_default, /* must be last */ |
| 31 | NULL, | 41 | NULL, |
| 32 | }; | 42 | }; |
| @@ -54,6 +64,7 @@ early_param("apic", parse_apic); | |||
| 54 | 64 | ||
| 55 | void __init generic_bigsmp_probe(void) | 65 | void __init generic_bigsmp_probe(void) |
| 56 | { | 66 | { |
| 67 | #ifdef CONFIG_X86_BIGSMP | ||
| 57 | /* | 68 | /* |
| 58 | * This routine is used to switch to bigsmp mode when | 69 | * This routine is used to switch to bigsmp mode when |
| 59 | * - There is no apic= option specified by the user | 70 | * - There is no apic= option specified by the user |
| @@ -67,6 +78,7 @@ void __init generic_bigsmp_probe(void) | |||
| 67 | printk(KERN_INFO "Overriding APIC driver with %s\n", | 78 | printk(KERN_INFO "Overriding APIC driver with %s\n", |
| 68 | genapic->name); | 79 | genapic->name); |
| 69 | } | 80 | } |
| 81 | #endif | ||
| 70 | } | 82 | } |
| 71 | 83 | ||
| 72 | void __init generic_apic_probe(void) | 84 | void __init generic_apic_probe(void) |
| @@ -88,7 +100,8 @@ void __init generic_apic_probe(void) | |||
| 88 | 100 | ||
| 89 | /* These functions can switch the APIC even after the initial ->probe() */ | 101 | /* These functions can switch the APIC even after the initial ->probe() */ |
| 90 | 102 | ||
| 91 | int __init mps_oem_check(struct mp_config_table *mpc, char *oem, char *productid) | 103 | int __init mps_oem_check(struct mp_config_table *mpc, char *oem, |
| 104 | char *productid) | ||
| 92 | { | 105 | { |
| 93 | int i; | 106 | int i; |
| 94 | for (i = 0; apic_probe[i]; ++i) { | 107 | for (i = 0; apic_probe[i]; ++i) { |
