diff options
Diffstat (limited to 'arch/x86/kernel')
-rw-r--r-- | arch/x86/kernel/acpi/processor.c | 3 | ||||
-rw-r--r-- | arch/x86/kernel/asm-offsets_64.c | 10 | ||||
-rw-r--r-- | arch/x86/kernel/early-quirks.c | 4 | ||||
-rw-r--r-- | arch/x86/kernel/machine_kexec_64.c | 2 | ||||
-rw-r--r-- | arch/x86/kernel/smp_32.c | 8 |
5 files changed, 17 insertions, 10 deletions
diff --git a/arch/x86/kernel/acpi/processor.c b/arch/x86/kernel/acpi/processor.c index 2ed0a4ce62f0..f63e5ff0aca1 100644 --- a/arch/x86/kernel/acpi/processor.c +++ b/arch/x86/kernel/acpi/processor.c | |||
@@ -62,8 +62,7 @@ static void init_intel_pdc(struct acpi_processor *pr, struct cpuinfo_x86 *c) | |||
62 | /* Initialize _PDC data based on the CPU vendor */ | 62 | /* Initialize _PDC data based on the CPU vendor */ |
63 | void arch_acpi_processor_init_pdc(struct acpi_processor *pr) | 63 | void arch_acpi_processor_init_pdc(struct acpi_processor *pr) |
64 | { | 64 | { |
65 | unsigned int cpu = pr->id; | 65 | struct cpuinfo_x86 *c = &cpu_data(pr->id); |
66 | struct cpuinfo_x86 *c = &cpu_data(cpu); | ||
67 | 66 | ||
68 | pr->pdc = NULL; | 67 | pr->pdc = NULL; |
69 | if (c->x86_vendor == X86_VENDOR_INTEL) | 68 | if (c->x86_vendor == X86_VENDOR_INTEL) |
diff --git a/arch/x86/kernel/asm-offsets_64.c b/arch/x86/kernel/asm-offsets_64.c index 7e50bda565b4..d1b6ed98774e 100644 --- a/arch/x86/kernel/asm-offsets_64.c +++ b/arch/x86/kernel/asm-offsets_64.c | |||
@@ -15,12 +15,16 @@ | |||
15 | #include <asm/segment.h> | 15 | #include <asm/segment.h> |
16 | #include <asm/thread_info.h> | 16 | #include <asm/thread_info.h> |
17 | #include <asm/ia32.h> | 17 | #include <asm/ia32.h> |
18 | #include <asm/bootparam.h> | ||
18 | 19 | ||
19 | #define DEFINE(sym, val) \ | 20 | #define DEFINE(sym, val) \ |
20 | asm volatile("\n->" #sym " %0 " #val : : "i" (val)) | 21 | asm volatile("\n->" #sym " %0 " #val : : "i" (val)) |
21 | 22 | ||
22 | #define BLANK() asm volatile("\n->" : : ) | 23 | #define BLANK() asm volatile("\n->" : : ) |
23 | 24 | ||
25 | #define OFFSET(sym, str, mem) \ | ||
26 | DEFINE(sym, offsetof(struct str, mem)) | ||
27 | |||
24 | #define __NO_STUBS 1 | 28 | #define __NO_STUBS 1 |
25 | #undef __SYSCALL | 29 | #undef __SYSCALL |
26 | #undef _ASM_X86_64_UNISTD_H_ | 30 | #undef _ASM_X86_64_UNISTD_H_ |
@@ -109,5 +113,11 @@ int main(void) | |||
109 | DEFINE(crypto_tfm_ctx_offset, offsetof(struct crypto_tfm, __crt_ctx)); | 113 | DEFINE(crypto_tfm_ctx_offset, offsetof(struct crypto_tfm, __crt_ctx)); |
110 | BLANK(); | 114 | BLANK(); |
111 | DEFINE(__NR_syscall_max, sizeof(syscalls) - 1); | 115 | DEFINE(__NR_syscall_max, sizeof(syscalls) - 1); |
116 | |||
117 | BLANK(); | ||
118 | OFFSET(BP_scratch, boot_params, scratch); | ||
119 | OFFSET(BP_loadflags, boot_params, hdr.loadflags); | ||
120 | OFFSET(BP_hardware_subarch, boot_params, hdr.hardware_subarch); | ||
121 | OFFSET(BP_version, boot_params, hdr.version); | ||
112 | return 0; | 122 | return 0; |
113 | } | 123 | } |
diff --git a/arch/x86/kernel/early-quirks.c b/arch/x86/kernel/early-quirks.c index dc34acbd54aa..639e6320518e 100644 --- a/arch/x86/kernel/early-quirks.c +++ b/arch/x86/kernel/early-quirks.c | |||
@@ -35,12 +35,14 @@ static void __init via_bugs(void) | |||
35 | } | 35 | } |
36 | 36 | ||
37 | #ifdef CONFIG_ACPI | 37 | #ifdef CONFIG_ACPI |
38 | #ifdef CONFIG_X86_IO_APIC | ||
38 | 39 | ||
39 | static int __init nvidia_hpet_check(struct acpi_table_header *header) | 40 | static int __init nvidia_hpet_check(struct acpi_table_header *header) |
40 | { | 41 | { |
41 | return 0; | 42 | return 0; |
42 | } | 43 | } |
43 | #endif | 44 | #endif /* CONFIG_X86_IO_APIC */ |
45 | #endif /* CONFIG_ACPI */ | ||
44 | 46 | ||
45 | static void __init nvidia_bugs(void) | 47 | static void __init nvidia_bugs(void) |
46 | { | 48 | { |
diff --git a/arch/x86/kernel/machine_kexec_64.c b/arch/x86/kernel/machine_kexec_64.c index 0d8577f05422..aa3d2c8f7737 100644 --- a/arch/x86/kernel/machine_kexec_64.c +++ b/arch/x86/kernel/machine_kexec_64.c | |||
@@ -233,6 +233,8 @@ NORET_TYPE void machine_kexec(struct kimage *image) | |||
233 | 233 | ||
234 | void arch_crash_save_vmcoreinfo(void) | 234 | void arch_crash_save_vmcoreinfo(void) |
235 | { | 235 | { |
236 | VMCOREINFO_SYMBOL(init_level4_pgt); | ||
237 | |||
236 | #ifdef CONFIG_ARCH_DISCONTIGMEM_ENABLE | 238 | #ifdef CONFIG_ARCH_DISCONTIGMEM_ENABLE |
237 | VMCOREINFO_SYMBOL(node_data); | 239 | VMCOREINFO_SYMBOL(node_data); |
238 | VMCOREINFO_LENGTH(node_data, MAX_NUMNODES); | 240 | VMCOREINFO_LENGTH(node_data, MAX_NUMNODES); |
diff --git a/arch/x86/kernel/smp_32.c b/arch/x86/kernel/smp_32.c index f32115308399..fcaa026eb807 100644 --- a/arch/x86/kernel/smp_32.c +++ b/arch/x86/kernel/smp_32.c | |||
@@ -708,10 +708,4 @@ struct smp_ops smp_ops = { | |||
708 | .smp_send_reschedule = native_smp_send_reschedule, | 708 | .smp_send_reschedule = native_smp_send_reschedule, |
709 | .smp_call_function_mask = native_smp_call_function_mask, | 709 | .smp_call_function_mask = native_smp_call_function_mask, |
710 | }; | 710 | }; |
711 | 711 | EXPORT_SYMBOL_GPL(smp_ops); | |
712 | int smp_call_function_mask(cpumask_t mask, void (*func) (void *info), | ||
713 | void *info, int wait) | ||
714 | { | ||
715 | return smp_ops.smp_call_function_mask(mask, func, info, wait); | ||
716 | } | ||
717 | EXPORT_SYMBOL(smp_call_function_mask); | ||