diff options
author | Yinghai Lu <yhlu.kernel@gmail.com> | 2008-07-19 21:01:16 -0400 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2008-07-20 03:25:52 -0400 |
commit | 64898a8bad8c94ad7a4bd5cc86b66edfbb081f4a (patch) | |
tree | 013c56a97a533c0843d28d838bc94e6de3da9e2c /include | |
parent | 3c9cb6de1e5ad37d1558fdb0d9d2bed5a7bac0d9 (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.h | 2 | ||||
-rw-r--r-- | include/asm-x86/setup.h | 10 |
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 | ||
10 | extern 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 | */ |
22 | struct mpc_config_processor; | ||
23 | struct mpc_config_bus; | ||
24 | struct mp_config_oemtable; | ||
22 | struct x86_quirks { | 25 | struct 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 | ||
32 | extern struct x86_quirks *x86_quirks; | 42 | extern struct x86_quirks *x86_quirks; |