diff options
author | Thomas Gleixner <tglx@linutronix.de> | 2009-08-20 06:05:01 -0400 |
---|---|---|
committer | Thomas Gleixner <tglx@linutronix.de> | 2009-08-27 11:12:52 -0400 |
commit | f4848472cd99487e182b64fb2a5d0e4fedbe86ad (patch) | |
tree | d407ce2579e01beca7bee81df5fa3dbfe99cc512 /arch/x86/kernel/x86_init.c | |
parent | 6b18ae3e2ff62daa9f181401759161dd8de0aadf (diff) |
x86: Sanitize smp_record and move it to x86_init_ops
The x86 quirkification introduced an extra ugly hackery with a
variable pointer in the mpparse code. If the pointer is initialized
then it is dereferenced and the variable set to 0 or incremented.
Create a x86_init_ops function and let the affected numaq code
hold the function. Default init is a setup noop.
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Diffstat (limited to 'arch/x86/kernel/x86_init.c')
-rw-r--r-- | arch/x86/kernel/x86_init.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/arch/x86/kernel/x86_init.c b/arch/x86/kernel/x86_init.c index 1965bff3489c..83bd5db376ba 100644 --- a/arch/x86/kernel/x86_init.c +++ b/arch/x86/kernel/x86_init.c | |||
@@ -10,6 +10,7 @@ | |||
10 | #include <asm/e820.h> | 10 | #include <asm/e820.h> |
11 | 11 | ||
12 | void __cpuinit x86_init_noop(void) { } | 12 | void __cpuinit x86_init_noop(void) { } |
13 | void __init x86_init_uint_noop(unsigned int unused) { } | ||
13 | 14 | ||
14 | /* | 15 | /* |
15 | * The platform setup functions are preset with the default functions | 16 | * The platform setup functions are preset with the default functions |
@@ -23,4 +24,8 @@ struct __initdata x86_init_ops x86_init = { | |||
23 | .reserve_ebda_region = reserve_ebda_region, | 24 | .reserve_ebda_region = reserve_ebda_region, |
24 | .memory_setup = default_machine_specific_memory_setup, | 25 | .memory_setup = default_machine_specific_memory_setup, |
25 | }, | 26 | }, |
27 | |||
28 | .mpparse = { | ||
29 | .mpc_record = x86_init_uint_noop, | ||
30 | }, | ||
26 | }; | 31 | }; |