Commit 30c92869 authored by Thomas Gleixner's avatar Thomas Gleixner

x86/jailhouse: Prepare for separate mpparse callbacks

Provide a wrapper around the existing function and fill the new callbacks
in.

No functional change as the new callbacks are not yet operational.
Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
Tested-by: default avatarMichael Kelley <mhklinux@outlook.com>
Tested-by: default avatarSohil Mehta <sohil.mehta@intel.com>
Link: https://lore.kernel.org/r/20240212154639.683073662@linutronix.de

parent a626ded4
...@@ -118,6 +118,11 @@ static void __init jailhouse_get_smp_config(unsigned int early) ...@@ -118,6 +118,11 @@ static void __init jailhouse_get_smp_config(unsigned int early)
} }
} }
static void __init jailhouse_parse_smp_config(void)
{
jailhouse_get_smp_config(false);
}
static void jailhouse_no_restart(void) static void jailhouse_no_restart(void)
{ {
pr_notice("Jailhouse: Restart not supported, halting\n"); pr_notice("Jailhouse: Restart not supported, halting\n");
...@@ -201,21 +206,24 @@ static void __init jailhouse_init_platform(void) ...@@ -201,21 +206,24 @@ static void __init jailhouse_init_platform(void)
struct setup_data header; struct setup_data header;
void *mapping; void *mapping;
x86_init.irqs.pre_vector_init = x86_init_noop; x86_init.irqs.pre_vector_init = x86_init_noop;
x86_init.timers.timer_init = jailhouse_timer_init; x86_init.timers.timer_init = jailhouse_timer_init;
x86_init.mpparse.get_smp_config = jailhouse_get_smp_config; x86_init.mpparse.find_mptable = x86_init_noop;
x86_init.pci.arch_init = jailhouse_pci_arch_init; x86_init.mpparse.early_parse_smp_cfg = x86_init_noop;
x86_init.mpparse.parse_smp_cfg = jailhouse_parse_smp_config;
x86_init.mpparse.get_smp_config = jailhouse_get_smp_config;
x86_init.pci.arch_init = jailhouse_pci_arch_init;
x86_platform.calibrate_cpu = jailhouse_get_tsc; x86_platform.calibrate_cpu = jailhouse_get_tsc;
x86_platform.calibrate_tsc = jailhouse_get_tsc; x86_platform.calibrate_tsc = jailhouse_get_tsc;
x86_platform.get_wallclock = jailhouse_get_wallclock; x86_platform.get_wallclock = jailhouse_get_wallclock;
x86_platform.legacy.rtc = 0; x86_platform.legacy.rtc = 0;
x86_platform.legacy.warm_reset = 0; x86_platform.legacy.warm_reset = 0;
x86_platform.legacy.i8042 = X86_LEGACY_I8042_PLATFORM_ABSENT; x86_platform.legacy.i8042 = X86_LEGACY_I8042_PLATFORM_ABSENT;
legacy_pic = &null_legacy_pic; legacy_pic = &null_legacy_pic;
machine_ops.emergency_restart = jailhouse_no_restart; machine_ops.emergency_restart = jailhouse_no_restart;
while (pa_data) { while (pa_data) {
mapping = early_memremap(pa_data, sizeof(header)); mapping = early_memremap(pa_data, sizeof(header));
......
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