Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit be6d447e authored by Thomas Gleixner's avatar Thomas Gleixner
Browse files

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
Loading
Loading
Loading
Loading
+19 −14
Original line number Diff line number Diff line
@@ -52,6 +52,24 @@ static unsigned long jailhouse_get_tsc(void)
	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)
{
	struct ioapic_domain_cfg ioapic_cfg = {
@@ -65,20 +83,7 @@ static void __init jailhouse_get_smp_config(unsigned int early)
	};
	unsigned int cpu;

	if (x2apic_enabled()) {
		/*
		 * 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("", "");
	}
	jailhouse_x2apic_init();

	register_lapic_address(0xfee00000);