diff --git a/hypervisor/arch/x86/guest/vmexit.c b/hypervisor/arch/x86/guest/vmexit.c index 24b1b9c2d..a6d209f0c 100644 --- a/hypervisor/arch/x86/guest/vmexit.c +++ b/hypervisor/arch/x86/guest/vmexit.c @@ -347,8 +347,10 @@ static int32_t xsetbv_vmexit_handler(struct acrn_vcpu *vcpu) static int32_t wbinvd_vmexit_handler(struct acrn_vcpu *vcpu) { - if (!iommu_snoop_supported(vcpu->vm->iommu)) { + if (has_rt_vm() == false) { cache_flush_invalidate_all(); + } else { + walk_ept_table(vcpu->vm, ept_flush_leaf_page); } return 0;