mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-09-30 06:10:56 +00:00
x86: add setup_ioapic_ids for numaq in x86_quirks
Signed-off-by: Yinghai Lu <yhlu.kernel@gmail.com> Signed-off-by: Ingo Molnar <mingo@elte.hu>
This commit is contained in:
parent
10d3285d0b
commit
a4dbc34d18
3 changed files with 10 additions and 3 deletions
|
@ -46,6 +46,7 @@
|
||||||
#include <asm/nmi.h>
|
#include <asm/nmi.h>
|
||||||
#include <asm/msidef.h>
|
#include <asm/msidef.h>
|
||||||
#include <asm/hypertransport.h>
|
#include <asm/hypertransport.h>
|
||||||
|
#include <asm/setup.h>
|
||||||
|
|
||||||
#include <mach_apic.h>
|
#include <mach_apic.h>
|
||||||
#include <mach_apicdef.h>
|
#include <mach_apicdef.h>
|
||||||
|
@ -1728,10 +1729,8 @@ static void __init setup_ioapic_ids_from_mpc(void)
|
||||||
unsigned char old_id;
|
unsigned char old_id;
|
||||||
unsigned long flags;
|
unsigned long flags;
|
||||||
|
|
||||||
#ifdef CONFIG_X86_NUMAQ
|
if (x86_quirks->setup_ioapic_ids && x86_quirks->setup_ioapic_ids())
|
||||||
if (found_numaq)
|
|
||||||
return;
|
return;
|
||||||
#endif
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Don't check I/O APIC IDs for xAPIC systems. They have
|
* Don't check I/O APIC IDs for xAPIC systems. They have
|
||||||
|
|
|
@ -229,6 +229,12 @@ static void __init smp_read_mpc_oem(struct mp_config_oemtable *oemtable,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static int __init numaq_setup_ioapic_ids(void)
|
||||||
|
{
|
||||||
|
/* so can skip it */
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
static struct x86_quirks numaq_x86_quirks __initdata = {
|
static struct x86_quirks numaq_x86_quirks __initdata = {
|
||||||
.arch_pre_time_init = numaq_pre_time_init,
|
.arch_pre_time_init = numaq_pre_time_init,
|
||||||
.arch_time_init = NULL,
|
.arch_time_init = NULL,
|
||||||
|
@ -243,6 +249,7 @@ static struct x86_quirks numaq_x86_quirks __initdata = {
|
||||||
.mpc_oem_bus_info = mpc_oem_bus_info,
|
.mpc_oem_bus_info = mpc_oem_bus_info,
|
||||||
.mpc_oem_pci_bus = mpc_oem_pci_bus,
|
.mpc_oem_pci_bus = mpc_oem_pci_bus,
|
||||||
.smp_read_mpc_oem = smp_read_mpc_oem,
|
.smp_read_mpc_oem = smp_read_mpc_oem,
|
||||||
|
.setup_ioapic_ids = numaq_setup_ioapic_ids,
|
||||||
};
|
};
|
||||||
|
|
||||||
void numaq_mps_oem_check(struct mp_config_table *mpc, char *oem,
|
void numaq_mps_oem_check(struct mp_config_table *mpc, char *oem,
|
||||||
|
|
|
@ -38,6 +38,7 @@ struct x86_quirks {
|
||||||
void (*mpc_oem_pci_bus)(struct mpc_config_bus *m);
|
void (*mpc_oem_pci_bus)(struct mpc_config_bus *m);
|
||||||
void (*smp_read_mpc_oem)(struct mp_config_oemtable *oemtable,
|
void (*smp_read_mpc_oem)(struct mp_config_oemtable *oemtable,
|
||||||
unsigned short oemsize);
|
unsigned short oemsize);
|
||||||
|
int (*setup_ioapic_ids)(void);
|
||||||
};
|
};
|
||||||
|
|
||||||
extern struct x86_quirks *x86_quirks;
|
extern struct x86_quirks *x86_quirks;
|
||||||
|
|
Loading…
Reference in a new issue