[PATCH v13 097/113] KVM: TDX: Handle TDX PV report fatal error hypercall

From: isaku . yamahata
Date: Sun Mar 12 2023 - 14:07:02 EST


From: Isaku Yamahata <isaku.yamahata@xxxxxxxxx>

Wire up TDX PV report fatal error hypercall to exit to device model so that
it can gracefully handle it.

Signed-off-by: Isaku Yamahata <isaku.yamahata@xxxxxxxxx>
---
arch/x86/kvm/vmx/tdx.c | 7 +++++++
1 file changed, 7 insertions(+)

diff --git a/arch/x86/kvm/vmx/tdx.c b/arch/x86/kvm/vmx/tdx.c
index 25332290c268..0c6386fe4684 100644
--- a/arch/x86/kvm/vmx/tdx.c
+++ b/arch/x86/kvm/vmx/tdx.c
@@ -1234,6 +1234,13 @@ static int handle_tdvmcall(struct kvm_vcpu *vcpu)
return tdx_emulate_rdmsr(vcpu);
case EXIT_REASON_MSR_WRITE:
return tdx_emulate_wrmsr(vcpu);
+ case TDG_VP_VMCALL_REPORT_FATAL_ERROR:
+ /*
+ * Exit to userspace device model for tear down.
+ * Because guest TD is already panicking, returning an error to
+ * guest TD doesn't make sense. No argument check is done.
+ */
+ return tdx_vp_vmcall_to_user(vcpu);
default:
break;
}
--
2.25.1