RE: [PATCH V3] x86/Hyper-V: Add SEV negotiate protocol support in Isolation VM

From: Michael Kelley (LINUX)
Date: Tue Jun 14 2022 - 12:51:59 EST


From: Tianyu Lan <ltykernel@xxxxxxxxx> Sent: Monday, June 13, 2022 6:46 PM
>
> Hyper-V Isolation VM current code uses sev_es_ghcb_hv_call()
> to read/write MSR via GHCB page and depends on the sev code.
> This may cause regression when sev code changes interface
> design.
>
> The latest SEV-ES code requires to negotiate GHCB version before
> reading/writing MSR via GHCB page and sev_es_ghcb_hv_call() doesn't
> work for Hyper-V Isolation VM. Add Hyper-V ghcb related implementation
> to decouple SEV and Hyper-V code. Negotiate GHCB version in the
> hyperv_init() and use the version to communicate with Hyper-V
> in the ghcb hv call function.
>
> Fixes: 2ea29c5abbc2 ("x86/sev: Save the negotiated GHCB version")
> Signed-off-by: Tianyu Lan <Tianyu.Lan@xxxxxxxxxxxxx>
> ---
> Change since v1:
> - Negotiate ghcb version in Hyper-V init.
> - use native_wrmsrl() instead of native_wrmsr() in the
> wr_ghcb_msr().
> ---
> arch/x86/hyperv/hv_init.c | 6 +++
> arch/x86/hyperv/ivm.c | 84 ++++++++++++++++++++++++++++++---
> arch/x86/include/asm/mshyperv.h | 4 ++
> 3 files changed, 88 insertions(+), 6 deletions(-)
>

Reviewed-by: Michael Kelley <mikelley@xxxxxxxxxxxxx>