aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorYinghai Lu <yhlu.kernel@gmail.com>2008-07-19 21:01:16 -0400
committerIngo Molnar <mingo@elte.hu>2008-07-20 03:25:52 -0400
commit64898a8bad8c94ad7a4bd5cc86b66edfbb081f4a (patch)
tree013c56a97a533c0843d28d838bc94e6de3da9e2c /include
parent3c9cb6de1e5ad37d1558fdb0d9d2bed5a7bac0d9 (diff)
x86: extend and use x86_quirks to clean up NUMAQ code
add these new x86_quirks methods: int *mpc_record; int (*mpc_apic_id)(struct mpc_config_processor *m); void (*mpc_oem_bus_info)(struct mpc_config_bus *m, char *name); void (*mpc_oem_pci_bus)(struct mpc_config_bus *m); void (*smp_read_mpc_oem)(struct mp_config_oemtable *oemtable, unsigned short oemsize); ... and move NUMAQ related mps table handling to numaq_32.c. also move the call to smp_read_mpc_oem() to smp_read_mpc() directly. Should not change functionality, albeit it would be nice to get it tested on real NUMAQ as well ... Signed-off-by: Yinghai Lu <yhlu.kernel@gmail.com> Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'include')
-rw-r--r--include/asm-x86/mach-generic/mach_mpspec.h2
-rw-r--r--include/asm-x86/setup.h10
2 files changed, 12 insertions, 0 deletions
diff --git a/include/asm-x86/mach-generic/mach_mpspec.h b/include/asm-x86/mach-generic/mach_mpspec.h
index 9ef0b941bb22..c83c120be538 100644
--- a/include/asm-x86/mach-generic/mach_mpspec.h
+++ b/include/asm-x86/mach-generic/mach_mpspec.h
@@ -7,4 +7,6 @@
7/* Maximum 256 PCI busses, plus 1 ISA bus in each of 4 cabinets. */ 7/* Maximum 256 PCI busses, plus 1 ISA bus in each of 4 cabinets. */
8#define MAX_MP_BUSSES 260 8#define MAX_MP_BUSSES 260
9 9
10extern void numaq_mps_oem_check(struct mp_config_table *mpc, char *oem,
11 char *productid);
10#endif /* __ASM_MACH_MPSPEC_H */ 12#endif /* __ASM_MACH_MPSPEC_H */
diff --git a/include/asm-x86/setup.h b/include/asm-x86/setup.h
index 66191d0de3c9..2585075da9b4 100644
--- a/include/asm-x86/setup.h
+++ b/include/asm-x86/setup.h
@@ -19,6 +19,9 @@ static inline int is_visws_box(void) { return 0; }
19/* 19/*
20 * Any setup quirks to be performed? 20 * Any setup quirks to be performed?
21 */ 21 */
22struct mpc_config_processor;
23struct mpc_config_bus;
24struct mp_config_oemtable;
22struct x86_quirks { 25struct x86_quirks {
23 int (*arch_time_init)(void); 26 int (*arch_time_init)(void);
24 int (*arch_pre_intr_init)(void); 27 int (*arch_pre_intr_init)(void);
@@ -27,6 +30,13 @@ struct x86_quirks {
27 char * (*arch_memory_setup)(void); 30 char * (*arch_memory_setup)(void);
28 int (*mach_get_smp_config)(unsigned int early); 31 int (*mach_get_smp_config)(unsigned int early);
29 int (*mach_find_smp_config)(unsigned int reserve); 32 int (*mach_find_smp_config)(unsigned int reserve);
33
34 int *mpc_record;
35 int (*mpc_apic_id)(struct mpc_config_processor *m);
36 void (*mpc_oem_bus_info)(struct mpc_config_bus *m, char *name);
37 void (*mpc_oem_pci_bus)(struct mpc_config_bus *m);
38 void (*smp_read_mpc_oem)(struct mp_config_oemtable *oemtable,
39 unsigned short oemsize);
30}; 40};
31 41
32extern struct x86_quirks *x86_quirks; 42extern struct x86_quirks *x86_quirks;