Thread (17 messages) 17 messages, 2 authors, 2023-08-23

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

From: Dexuan Cui <decui@microsoft.com>
Date: 2023-08-23 17:40:23
Also in: linux-arch, lkml

From: Tianyu Lan <redacted>
Sent: Wednesday, August 23, 2023 12:06 AM
To: Dexuan Cui <decui@microsoft.com>; ak@linux.intel.com;
[...]
On 8/12/2023 6:18 AM, Dexuan Cui wrote:
quoted
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.
I'll remove the above sentence, since this is no longer true on
generally available Hyper-V: cc_mask still works, but it's not required.
quoted
[...]
Reviewed-by: Tianyu Lan <redacted>
Thanks!
quoted
--- 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.
This is doable. The intention here is to minimize the changes.
In the future, we'll introduce a hypercall function structure. We can
do code refactoring at that time.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help