diff options
author | Henrik Kretzschmar <henne@nachtwindheim.de> | 2011-02-22 09:38:05 -0500 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2011-02-23 05:38:45 -0500 |
commit | 7167d08e780a722fa79ea414fc4e72bc00751392 (patch) | |
tree | f6a103d7de511142c362bc216e886a4eb2ac69bc /arch/x86/kernel/smpboot.c | |
parent | b6a1432da81fa387d76215108dc9f6ea6d343aed (diff) |
x86: Rework arch_disable_smp_support() for x86
Currently arch_disable_smp_support() on x86 disables only the
support for the IOAPIC and is also compiled in if SMP-support is
not.
Therefore this function is renamed to disable_ioapic_support(),
which meets its purpose and is only compiled in the kernel
when IOAPIC support is also.
A new arch_disable_smp_support() is created in smpboot.c,
which calls disable_ioapic_support() and gets only compiled
in the kernel when SMP support is also.
Signed-off-by: Henrik Kretzschmar <henne@nachtwindheim.de>
LKML-Reference: <1298385487-4708-3-git-send-email-henne@nachtwindheim.de>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'arch/x86/kernel/smpboot.c')
-rw-r--r-- | arch/x86/kernel/smpboot.c | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/arch/x86/kernel/smpboot.c b/arch/x86/kernel/smpboot.c index 08776a953487..09d0172a0059 100644 --- a/arch/x86/kernel/smpboot.c +++ b/arch/x86/kernel/smpboot.c | |||
@@ -64,6 +64,7 @@ | |||
64 | #include <asm/mtrr.h> | 64 | #include <asm/mtrr.h> |
65 | #include <asm/mwait.h> | 65 | #include <asm/mwait.h> |
66 | #include <asm/apic.h> | 66 | #include <asm/apic.h> |
67 | #include <asm/io_apic.h> | ||
67 | #include <asm/setup.h> | 68 | #include <asm/setup.h> |
68 | #include <asm/uv/uv.h> | 69 | #include <asm/uv/uv.h> |
69 | #include <linux/mc146818rtc.h> | 70 | #include <linux/mc146818rtc.h> |
@@ -945,6 +946,14 @@ int __cpuinit native_cpu_up(unsigned int cpu) | |||
945 | return 0; | 946 | return 0; |
946 | } | 947 | } |
947 | 948 | ||
949 | /** | ||
950 | * arch_disable_smp_support() - disables SMP support for x86 at runtime | ||
951 | */ | ||
952 | void arch_disable_smp_support(void) | ||
953 | { | ||
954 | disable_ioapic_support(); | ||
955 | } | ||
956 | |||
948 | /* | 957 | /* |
949 | * Fall back to non SMP mode after errors. | 958 | * Fall back to non SMP mode after errors. |
950 | * | 959 | * |
@@ -1045,7 +1054,7 @@ static int __init smp_sanity_check(unsigned max_cpus) | |||
1045 | "(tell your hw vendor)\n"); | 1054 | "(tell your hw vendor)\n"); |
1046 | } | 1055 | } |
1047 | smpboot_clear_io_apic(); | 1056 | smpboot_clear_io_apic(); |
1048 | arch_disable_smp_support(); | 1057 | disable_ioapic_support(); |
1049 | return -1; | 1058 | return -1; |
1050 | } | 1059 | } |
1051 | 1060 | ||