Re: [PATCH 13/21] KVM: TDX: Handle TLB tracking for TDX

From: Xu Yilun
Date: Wed Sep 11 2024 - 02:28:51 EST


> +static void vt_flush_tlb_all(struct kvm_vcpu *vcpu)
> +{
> + /*
> + * TDX calls tdx_track() in tdx_sept_remove_private_spte() to ensure
> + * private EPT will be flushed on the next TD enter.
> + * No need to call tdx_track() here again even when this callback is as
> + * a result of zapping private EPT.
> + * Just invoke invept() directly here to work for both shared EPT and
> + * private EPT.

IIUC, private EPT is already flushed in .remove_private_spte(), so in
theory we don't have to invept() for private EPT?

Thanks,
Yilun

> + */
> + if (is_td_vcpu(vcpu)) {
> + ept_sync_global();
> + return;
> + }
> +
> + vmx_flush_tlb_all(vcpu);
> +}