Hyper-V doesn't support auto-eoi with Secure AVIC.
So set the HV_DEPRECATING_AEOI_RECOMMENDED flag
to force writing the EOI register after handling an interrupt.

Reviewed-by: Michael Kelley <mhkli...@outlook.com>
Reviewed-by: Neeraj Upadhyay <neeraj.upadh...@amd.com>
Signed-off-by: Tianyu Lan <ti...@microsoft.com>
---
 arch/x86/kernel/cpu/mshyperv.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/arch/x86/kernel/cpu/mshyperv.c b/arch/x86/kernel/cpu/mshyperv.c
index c78f860419d6..6dd3ae66a646 100644
--- a/arch/x86/kernel/cpu/mshyperv.c
+++ b/arch/x86/kernel/cpu/mshyperv.c
@@ -464,6 +464,9 @@ static void __init ms_hyperv_init_platform(void)
 
        hv_identify_partition_type();
 
+       if (cc_platform_has(CC_ATTR_SNP_SECURE_AVIC))
+               ms_hyperv.hints |= HV_DEPRECATING_AEOI_RECOMMENDED;
+
        if (ms_hyperv.hints & HV_X64_HYPERV_NESTED) {
                hv_nested = true;
                pr_info("Hyper-V: running on a nested hypervisor\n");
-- 
2.25.1


Reply via email to