Re: [PATCH 2/9] x86/hyperv: Support hypercalls for fully enlightened TDX guests

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 8/12/2023 6:18 AM, Dexuan Cui wrote:
A fully enlightened TDX guest on Hyper-V (i.e. without the paravisor) only
uses the GHCI call rather than hv_hypercall_pg.

In hv_do_hypercall(), Hyper-V requires that the input/output addresses
must have the cc_mask.

Reviewed-by: Kuppuswamy Sathyanarayanan<sathyanarayanan.kuppuswamy@xxxxxxxxxxxxxxx>
Reviewed-by: Michael Kelley<mikelley@xxxxxxxxxxxxx>
Signed-off-by: Dexuan Cui<decui@xxxxxxxxxxxxx>
---

Reviewed-by: Tianyu Lan <tiala@xxxxxxxxxxxxx>

  arch/x86/hyperv/hv_init.c       |  8 ++++++++
  arch/x86/hyperv/ivm.c           | 17 +++++++++++++++++
  arch/x86/include/asm/mshyperv.h | 15 +++++++++++++++
  drivers/hv/hv_common.c          | 10 ++++++++--
  include/asm-generic/mshyperv.h  |  1 +
  5 files changed, 49 insertions(+), 2 deletions(-)

diff --git a/arch/x86/hyperv/hv_init.c b/arch/x86/hyperv/hv_init.c
index 547ebf6a03bc9..d8ea54663113c 100644
--- a/arch/x86/hyperv/hv_init.c
+++ b/arch/x86/hyperv/hv_init.c
@@ -481,6 +481,10 @@ void __init hyperv_init(void)
  	/* Hyper-V requires to write guest os id via ghcb in SNP IVM. */
  	hv_ghcb_msr_write(HV_X64_MSR_GUEST_OS_ID, guest_id);
+ /* A TDX guest uses the GHCI call rather than hv_hypercall_pg. */
+	if (hv_isolation_type_tdx())
+		goto skip_hypercall_pg_init;
+

Nitpick:
Put hypercal page initialization code into a sepearate function and skip the function in the tdx guest instead of adding the label.



[Index of Archives]     [Linux Kernel]     [Kernel Newbies]     [x86 Platform Driver]     [Netdev]     [Linux Wireless]     [Netfilter]     [Bugtraq]     [Linux Filesystems]     [Yosemite Discussion]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Device Mapper]

  Powered by Linux