diff options
| author | Ravikiran G Thirumalai <kiran@scalex86.org> | 2009-03-24 02:14:29 -0400 |
|---|---|---|
| committer | Ingo Molnar <mingo@elte.hu> | 2009-03-25 16:34:28 -0400 |
| commit | 70511134f61bd6e5eed19f767381f9fb3e762d49 (patch) | |
| tree | 43d2b1240d62f1ed2fef5f0bdd0d9fa3b96555ba | |
| parent | e06b1b56f9bfcc91e1f175fe8d8bf3e35dafa080 (diff) | |
Revert "x86: don't compile vsmp_64 for 32bit"
Partial revert of commit 129d8bc828e011bda0b7110a097bf3a0167f966e
titled 'x86: don't compile vsmp_64 for 32bit'
Commit reverted to compile vsmp_64.c if CONFIG_X86_64 is defined,
since is_vsmp_box() needs to indicate that TSCs are not synchronized, and
hence, not a valid time source, even when CONFIG_X86_VSMP is not defined.
Signed-off-by: Ravikiran Thirumalai <kiran@scalex86.org>
Cc: Yinghai Lu <yinghai@kernel.org>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: shai@scalex86.org
LKML-Reference: <20090324061429.GH7278@localdomain>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
| -rw-r--r-- | arch/x86/include/asm/apic.h | 2 | ||||
| -rw-r--r-- | arch/x86/include/asm/setup.h | 2 | ||||
| -rw-r--r-- | arch/x86/kernel/Makefile | 2 | ||||
| -rw-r--r-- | arch/x86/kernel/vsmp_64.c | 12 |
4 files changed, 14 insertions, 4 deletions
diff --git a/arch/x86/include/asm/apic.h b/arch/x86/include/asm/apic.h index 130a9e2b4586..df8a300dfe6c 100644 --- a/arch/x86/include/asm/apic.h +++ b/arch/x86/include/asm/apic.h | |||
| @@ -75,7 +75,7 @@ static inline void default_inquire_remote_apic(int apicid) | |||
| 75 | #define setup_secondary_clock setup_secondary_APIC_clock | 75 | #define setup_secondary_clock setup_secondary_APIC_clock |
| 76 | #endif | 76 | #endif |
| 77 | 77 | ||
| 78 | #ifdef CONFIG_X86_VSMP | 78 | #ifdef CONFIG_X86_64 |
| 79 | extern int is_vsmp_box(void); | 79 | extern int is_vsmp_box(void); |
| 80 | #else | 80 | #else |
| 81 | static inline int is_vsmp_box(void) | 81 | static inline int is_vsmp_box(void) |
diff --git a/arch/x86/include/asm/setup.h b/arch/x86/include/asm/setup.h index fbf0521eeed8..bdc2ada05ae0 100644 --- a/arch/x86/include/asm/setup.h +++ b/arch/x86/include/asm/setup.h | |||
| @@ -64,7 +64,7 @@ extern void x86_quirk_time_init(void); | |||
| 64 | #include <asm/bootparam.h> | 64 | #include <asm/bootparam.h> |
| 65 | 65 | ||
| 66 | /* Interrupt control for vSMPowered x86_64 systems */ | 66 | /* Interrupt control for vSMPowered x86_64 systems */ |
| 67 | #ifdef CONFIG_X86_VSMP | 67 | #ifdef CONFIG_X86_64 |
| 68 | void vsmp_init(void); | 68 | void vsmp_init(void); |
| 69 | #else | 69 | #else |
| 70 | static inline void vsmp_init(void) { } | 70 | static inline void vsmp_init(void) { } |
diff --git a/arch/x86/kernel/Makefile b/arch/x86/kernel/Makefile index 339ce35648e6..6e9c1f320acf 100644 --- a/arch/x86/kernel/Makefile +++ b/arch/x86/kernel/Makefile | |||
| @@ -70,7 +70,6 @@ obj-$(CONFIG_FUNCTION_GRAPH_TRACER) += ftrace.o | |||
| 70 | obj-$(CONFIG_KEXEC) += machine_kexec_$(BITS).o | 70 | obj-$(CONFIG_KEXEC) += machine_kexec_$(BITS).o |
| 71 | obj-$(CONFIG_KEXEC) += relocate_kernel_$(BITS).o crash.o | 71 | obj-$(CONFIG_KEXEC) += relocate_kernel_$(BITS).o crash.o |
| 72 | obj-$(CONFIG_CRASH_DUMP) += crash_dump_$(BITS).o | 72 | obj-$(CONFIG_CRASH_DUMP) += crash_dump_$(BITS).o |
| 73 | obj-$(CONFIG_X86_VSMP) += vsmp_64.o | ||
| 74 | obj-$(CONFIG_KPROBES) += kprobes.o | 73 | obj-$(CONFIG_KPROBES) += kprobes.o |
| 75 | obj-$(CONFIG_MODULES) += module_$(BITS).o | 74 | obj-$(CONFIG_MODULES) += module_$(BITS).o |
| 76 | obj-$(CONFIG_EFI) += efi.o efi_$(BITS).o efi_stub_$(BITS).o | 75 | obj-$(CONFIG_EFI) += efi.o efi_$(BITS).o efi_stub_$(BITS).o |
| @@ -120,4 +119,5 @@ ifeq ($(CONFIG_X86_64),y) | |||
| 120 | obj-$(CONFIG_AMD_IOMMU) += amd_iommu_init.o amd_iommu.o | 119 | obj-$(CONFIG_AMD_IOMMU) += amd_iommu_init.o amd_iommu.o |
| 121 | 120 | ||
| 122 | obj-$(CONFIG_PCI_MMCONFIG) += mmconf-fam10h_64.o | 121 | obj-$(CONFIG_PCI_MMCONFIG) += mmconf-fam10h_64.o |
| 122 | obj-y += vsmp_64.o | ||
| 123 | endif | 123 | endif |
diff --git a/arch/x86/kernel/vsmp_64.c b/arch/x86/kernel/vsmp_64.c index 74de562812cc..a1d804bcd483 100644 --- a/arch/x86/kernel/vsmp_64.c +++ b/arch/x86/kernel/vsmp_64.c | |||
| @@ -22,7 +22,7 @@ | |||
| 22 | #include <asm/paravirt.h> | 22 | #include <asm/paravirt.h> |
| 23 | #include <asm/setup.h> | 23 | #include <asm/setup.h> |
| 24 | 24 | ||
| 25 | #ifdef CONFIG_PARAVIRT | 25 | #if defined CONFIG_PCI && defined CONFIG_PARAVIRT |
| 26 | /* | 26 | /* |
| 27 | * Interrupt control on vSMPowered systems: | 27 | * Interrupt control on vSMPowered systems: |
| 28 | * ~AC is a shadow of IF. If IF is 'on' AC should be 'off' | 28 | * ~AC is a shadow of IF. If IF is 'on' AC should be 'off' |
| @@ -114,6 +114,7 @@ static void __init set_vsmp_pv_ops(void) | |||
| 114 | } | 114 | } |
| 115 | #endif | 115 | #endif |
| 116 | 116 | ||
| 117 | #ifdef CONFIG_PCI | ||
| 117 | static int is_vsmp = -1; | 118 | static int is_vsmp = -1; |
| 118 | 119 | ||
| 119 | static void __init detect_vsmp_box(void) | 120 | static void __init detect_vsmp_box(void) |
| @@ -139,6 +140,15 @@ int is_vsmp_box(void) | |||
| 139 | } | 140 | } |
| 140 | } | 141 | } |
| 141 | 142 | ||
| 143 | #else | ||
| 144 | static void __init detect_vsmp_box(void) | ||
| 145 | { | ||
| 146 | } | ||
| 147 | int is_vsmp_box(void) | ||
| 148 | { | ||
| 149 | return 0; | ||
| 150 | } | ||
| 151 | #endif | ||
| 142 | void __init vsmp_init(void) | 152 | void __init vsmp_init(void) |
| 143 | { | 153 | { |
| 144 | detect_vsmp_box(); | 154 | detect_vsmp_box(); |
