Skip to content

Commit e772f64

Browse files
authored
TDX: Disable TLB flush hypercalls for the time being (#990)
There is a known race condition in TDX's TLB flushing infrastructure that needs to be addressed. We had hoped that it was rare enough nobody would hit it in practice, but it seems that someone now has. Disable it for now until things are working better. Part of #699
1 parent 5eee354 commit e772f64

File tree

1 file changed

+7
-3
lines changed

1 file changed

+7
-3
lines changed

vm/hv1/hv1_emulator/src/cpuid.rs

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -115,9 +115,13 @@ pub fn hv_cpuid_leaves(
115115
.with_use_apic_msrs(use_apic_msrs);
116116

117117
if hardware_isolated {
118-
enlightenments = enlightenments
119-
.with_use_hypercall_for_remote_flush_and_local_flush_entire(true)
120-
.with_long_spin_wait_count(!0); // no spin wait notifications;
118+
enlightenments = enlightenments.with_long_spin_wait_count(!0); // no spin wait notifications;
119+
120+
// TODO TDX GUEST VSM
121+
if isolation != IsolationType::Tdx {
122+
enlightenments = enlightenments
123+
.with_use_hypercall_for_remote_flush_and_local_flush_entire(true)
124+
}
121125

122126
// TODO HCVM:
123127
// .with_use_synthetic_cluster_ipi(true);

0 commit comments

Comments
 (0)