From: Tianyu Lan <ltyker...@gmail.com> Sent: Tuesday, May 6, 2025 6:07 AM
> 

Suggested Subject line:

x86/hyperv: Don't use hv apic driver when Secure AVIC is available

> When Secure AVIC is available, AMD x2apic Secure
> AVIC driver should be selected and return directly
> in the hv_apic_init().

Suggested wording:

When Secure AVIC is available, the AMD x2apic Secure AVIC
driver will be selected. So skip initialization of the
Hyper-V apic driver.

> 
> Signed-off-by: Tianyu Lan <ti...@microsoft.com>
> ---
>  arch/x86/hyperv/hv_apic.c | 3 +++
>  1 file changed, 3 insertions(+)
> 
> diff --git a/arch/x86/hyperv/hv_apic.c b/arch/x86/hyperv/hv_apic.c
> index 6d91ac5f9836..bd8f83923305 100644
> --- a/arch/x86/hyperv/hv_apic.c
> +++ b/arch/x86/hyperv/hv_apic.c
> @@ -292,6 +292,9 @@ static void hv_send_ipi_self(int vector)
> 
>  void __init hv_apic_init(void)
>  {
> +     if (cc_platform_has(CC_ATTR_SNP_SECURE_AVIC))
> +             return;
> +
>       if (ms_hyperv.hints & HV_X64_CLUSTER_IPI_RECOMMENDED) {
>               pr_info("Hyper-V: Using IPI hypercalls\n");
>               /*

It seems like this patch will cause a bisect problem if a bisect includes
this patch but none of the subsequent patches in this series. The
Hyper-V guest VM could see Secure AVIC is enabled, but the VM
wouldn't boot because the code to allow Hyper-V to inject an interrupt
haven't been added yet.

This patch probably should come later in the patch series after Secure
AVIC can be functional in a Hyper-V guest.

Michael

Reply via email to