Commit be6d447e authored by Thomas Gleixner's avatar Thomas Gleixner

x86/jailhouse: Hide x2apic code when CONFIG_X86_X2APIC=n

x2apic_phys is not available when CONFIG_X86_X2APIC=n and the code is not
optimized out resulting in a build fail:

jailhouse.c: In function ‘jailhouse_get_smp_config’:
jailhouse.c:73:3: error: ‘x2apic_phys’ undeclared (first use in this function)

Fixes: 11c8dc41 ("x86/jailhouse: Enable APIC and SMP support")
Reported-by: default avatarIngo Molnar <mingo@kernel.org>
Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
Cc: Jan Kiszka <jan.kiszka@siemens.com>
Cc: jailhouse-dev@googlegroups.com
parent a0c01e4b
...@@ -52,6 +52,24 @@ static unsigned long jailhouse_get_tsc(void) ...@@ -52,6 +52,24 @@ static unsigned long jailhouse_get_tsc(void)
return precalibrated_tsc_khz; return precalibrated_tsc_khz;
} }
static void __init jailhouse_x2apic_init(void)
{
#ifdef CONFIG_X86_X2APIC
if (!x2apic_enabled())
return;
/*
* We do not have access to IR inside Jailhouse non-root cells. So
* we have to run in physical mode.
*/
x2apic_phys = 1;
/*
* This will trigger the switch to apic_x2apic_phys. Empty OEM IDs
* ensure that only this APIC driver picks up the call.
*/
default_acpi_madt_oem_check("", "");
#endif
}
static void __init jailhouse_get_smp_config(unsigned int early) static void __init jailhouse_get_smp_config(unsigned int early)
{ {
struct ioapic_domain_cfg ioapic_cfg = { struct ioapic_domain_cfg ioapic_cfg = {
...@@ -65,20 +83,7 @@ static void __init jailhouse_get_smp_config(unsigned int early) ...@@ -65,20 +83,7 @@ static void __init jailhouse_get_smp_config(unsigned int early)
}; };
unsigned int cpu; unsigned int cpu;
if (x2apic_enabled()) { jailhouse_x2apic_init();
/*
* We do not have access to IR inside Jailhouse non-root cells.
* So we have to run in physical mode.
*/
x2apic_phys = 1;
/*
* This will trigger the switch to apic_x2apic_phys.
* Empty OEM IDs ensure that only this APIC driver picks up
* the call.
*/
default_acpi_madt_oem_check("", "");
}
register_lapic_address(0xfee00000); register_lapic_address(0xfee00000);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment