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>
This commit is contained in:
@@ -19,6 +19,9 @@ static inline int is_visws_box(void) { return 0; }
|
||||
/*
|
||||
* Any setup quirks to be performed?
|
||||
*/
|
||||
struct mpc_config_processor;
|
||||
struct mpc_config_bus;
|
||||
struct mp_config_oemtable;
|
||||
struct x86_quirks {
|
||||
int (*arch_time_init)(void);
|
||||
int (*arch_pre_intr_init)(void);
|
||||
@@ -27,6 +30,13 @@ struct x86_quirks {
|
||||
char * (*arch_memory_setup)(void);
|
||||
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_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);
|
||||
};
|
||||
|
||||
extern struct x86_quirks *x86_quirks;
|
||||
|
||||
Reference in New Issue
Block a user