From: Tianyu Lan <ti...@microsoft.com> When Secure AVIC is enabled, call Secure AVIC function to allow Hyper-V to inject REENLIGHTENMENT, STIMER0 and CALLBACK vectors.
Signed-off-by: Tianyu Lan <ti...@microsoft.com> --- arch/x86/hyperv/hv_init.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/arch/x86/hyperv/hv_init.c b/arch/x86/hyperv/hv_init.c index ddeb40930bc8..d75df5c3965d 100644 --- a/arch/x86/hyperv/hv_init.c +++ b/arch/x86/hyperv/hv_init.c @@ -131,6 +131,18 @@ static int hv_cpu_init(unsigned int cpu) wrmsrl(HV_X64_MSR_VP_ASSIST_PAGE, msr.as_uint64); } + /* Allow Hyper-V vector to be injected from Hypervisor. */ + if (ms_hyperv.features & HV_ACCESS_REENLIGHTENMENT) + x2apic_savic_update_vector(cpu, + HYPERV_REENLIGHTENMENT_VECTOR, true); + + if (ms_hyperv.misc_features & HV_STIMER_DIRECT_MODE_AVAILABLE) + x2apic_savic_update_vector(cpu, + HYPERV_STIMER0_VECTOR, true); + + x2apic_savic_update_vector(cpu, HYPERVISOR_CALLBACK_VECTOR, true); + + return hyperv_init_ghcb(); } -- 2.25.1