KVM: X86: Add kvm hypervisor init time platform setup callback
authorWanpeng Li <wanpengli@tencent.com>
Mon, 23 Jul 2018 06:39:51 +0000 (14:39 +0800)
committerPaolo Bonzini <pbonzini@redhat.com>
Mon, 6 Aug 2018 15:59:21 +0000 (17:59 +0200)
Add kvm hypervisor init time platform setup callback which
will be used to replace native apic hooks by pararvirtual
hooks.

Cc: Paolo Bonzini <pbonzini@redhat.com>
Cc: Radim Krčmář <rkrcmar@redhat.com>
Cc: Vitaly Kuznetsov <vkuznets@redhat.com>
Signed-off-by: Wanpeng Li <wanpengli@tencent.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
arch/x86/kernel/kvm.c

index 575c9a51e6ba999711690e00472413b4b6df74e9..39d79720380f2aa489227c4194f3d44ae99015d5 100644 (file)
@@ -624,12 +624,22 @@ static uint32_t __init kvm_detect(void)
        return kvm_cpuid_base();
 }
 
+static void __init kvm_apic_init(void)
+{
+}
+
+static void __init kvm_init_platform(void)
+{
+       x86_platform.apic_post_init = kvm_apic_init;
+}
+
 const __initconst struct hypervisor_x86 x86_hyper_kvm = {
        .name                   = "KVM",
        .detect                 = kvm_detect,
        .type                   = X86_HYPER_KVM,
        .init.guest_late_init   = kvm_guest_init,
        .init.x2apic_available  = kvm_para_available,
+       .init.init_platform     = kvm_init_platform,
 };
 
 static __init int activate_jump_labels(void)