[PATCH 0/5] x86/Hyper-V: Add AMD Secure AVIC for Hyper-V platform

Tianyu Lan
2025-09-18T15:01:05Z

Secure AVIC is a new hardware feature in the AMD64
architecture to allow SEV-SNP guests to prevent the
hypervisor from generating unexpected interrupts to
a vCPU or otherwise violate architectural assumptions
around APIC behavior.

Each vCPU has a guest-allocated APIC backing page of
size 4K, which maintains APIC state for that vCPU.
APIC backing page's ALLOWED_IRR field indicates the
interrupt vectors which the guest allows the hypervisor
to send.

This patchset is to enable the feature for Hyper-V
platform. Patch "Drivers: hv: Allow vmbus message
synic interrupt injected from Hyper-V" is to expose
new fucntion hv_enable_coco_interrupt() and device
driver and arch code may update AVIC backing page
ALLOWED_IRR field to allow Hyper-V inject associated
vector.

The patchset is based on the tip tree commit 27a17e02418e
(x86/sev: Indicate the SEV-SNP guest supports Secure AVIC)

Tianyu Lan (5):
x86/hyperv: Don't use hv apic driver when Secure AVIC is available
drivers: hv: Allow vmbus message synic interrupt injected from Hyper-V
x86/hyperv: Don't use auto-eoi when Secure AVIC is available
x86/hyperv: Allow Hyper-V to inject STIMER0 interrupts
x86/Hyper-V: Add Hyper-V specific hvcall to set backing page

arch/x86/hyperv/hv_apic.c | 8 ++++++
arch/x86/hyperv/hv_init.c | 31 ++++++++++++++++++++++-
arch/x86/hyperv/ivm.c | 38 ++++++++++++++++++++++++++++
arch/x86/include/asm/mshyperv.h | 2 ++
arch/x86/kernel/apic/x2apic_savic.c | 9 ++++++-
arch/x86/kernel/cpu/mshyperv.c | 3 +++
drivers/hv/hv.c | 2 ++
drivers/hv/hv_common.c | 5 ++++
include/asm-generic/mshyperv.h | 1 +
include/hyperv/hvgdk_mini.h | 39 +++++++++++++++++++++++++++++
10 files changed, 136 insertions(+), 2 deletions(-)

--
2.25.1