aboutsummaryrefslogtreecommitdiffstats
path: root/arch/x86/include/asm
diff options
context:
space:
mode:
authorThomas Gleixner <tglx@linutronix.de>2009-08-20 12:05:01 +0200
committerThomas Gleixner <tglx@linutronix.de>2009-08-27 17:12:52 +0200
commitf4848472cd99487e182b64fb2a5d0e4fedbe86ad (patch)
treed407ce2579e01beca7bee81df5fa3dbfe99cc512 /arch/x86/include/asm
parentx86: Move memory_setup to x86_init_ops (diff)
downloadlinux-dev-f4848472cd99487e182b64fb2a5d0e4fedbe86ad.tar.xz
linux-dev-f4848472cd99487e182b64fb2a5d0e4fedbe86ad.zip
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/include/asm')
-rw-r--r--arch/x86/include/asm/setup.h1
-rw-r--r--arch/x86/include/asm/x86_init.h12
2 files changed, 11 insertions, 2 deletions
diff --git a/arch/x86/include/asm/setup.h b/arch/x86/include/asm/setup.h
index 9cba9d6ca885..bbf2dfd59b47 100644
--- a/arch/x86/include/asm/setup.h
+++ b/arch/x86/include/asm/setup.h
@@ -25,7 +25,6 @@ struct x86_quirks {
int (*mach_get_smp_config)(unsigned int early);
int (*mach_find_smp_config)(unsigned int reserve);
- int *mpc_record;
int (*mpc_apic_id)(struct mpc_cpu *m);
void (*mpc_oem_bus_info)(struct mpc_bus *m, char *name);
void (*mpc_oem_pci_bus)(struct mpc_bus *m);
diff --git a/arch/x86/include/asm/x86_init.h b/arch/x86/include/asm/x86_init.h
index 6c084f2a6c3f..10b297b1881a 100644
--- a/arch/x86/include/asm/x86_init.h
+++ b/arch/x86/include/asm/x86_init.h
@@ -2,6 +2,14 @@
#define _ASM_X86_PLATFORM_H
/**
+ * struct x86_init_mpparse - platform specific mpparse ops
+ * @mpc_record: platform specific mpc record accounting
+ */
+struct x86_init_mpparse {
+ void (*mpc_record)(unsigned int mode);
+};
+
+/**
* struct x86_init_resources - platform specific resource related ops
* @probe_roms: probe BIOS roms
* @reserve_resources: reserve the standard resources for the
@@ -22,11 +30,13 @@ struct x86_init_resources {
*
*/
struct x86_init_ops {
- struct x86_init_resources resources;
+ struct x86_init_resources resources;
+ struct x86_init_mpparse mpparse;
};
extern struct x86_init_ops x86_init;
extern void x86_init_noop(void);
+extern void x86_init_uint_noop(unsigned int unused);
#endif