On Tue, Jun 14, 2022 at 04:50:36PM +0000, Michael Kelley (LINUX) wrote: > 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> > Applied to hyperv-fixes. Thanks.