aboutsummaryrefslogtreecommitdiffstats
path: root/rust/helpers/workqueue.c
diff options
context:
space:
mode:
authorIsaku Yamahata <[email protected]>2025-02-22 01:42:24 +0000
committerPaolo Bonzini <[email protected]>2025-03-14 18:20:55 +0000
commit33608aaf71e16b2db5e0eaa7656505e1fef61e88 (patch)
treed78b3fe12af0d25cc3edb464448631e6c667f034 /rust/helpers/workqueue.c
parentKVM: TDX: Handle TDG.VP.VMCALL<ReportFatalError> (diff)
downloadkernel-33608aaf71e16b2db5e0eaa7656505e1fef61e88.tar.gz
kernel-33608aaf71e16b2db5e0eaa7656505e1fef61e88.zip
KVM: TDX: Handle TDX PV port I/O hypercall
Emulate port I/O requested by TDX guest via TDVMCALL with leaf Instruction.IO (same value as EXIT_REASON_IO_INSTRUCTION) according to TDX Guest Host Communication Interface (GHCI). All port I/O instructions inside the TDX guest trigger the #VE exception. On #VE triggered by I/O instructions, TDX guest can call TDVMCALL with leaf Instruction.IO to request VMM to emulate I/O instructions. Similar to normal port I/O emulation, try to handle the port I/O in kernel first, if kernel can't support it, forward the request to userspace. Note string I/O operations are not supported in TDX. Guest should unroll them before calling the TDVMCALL. Suggested-by: Sean Christopherson <[email protected]> Signed-off-by: Isaku Yamahata <[email protected]> Co-developed-by: Binbin Wu <[email protected]> Signed-off-by: Binbin Wu <[email protected]> Reviewed-by: Paolo Bonzini <[email protected]> Message-ID: <[email protected]> Signed-off-by: Paolo Bonzini <[email protected]>
Diffstat (limited to 'rust/helpers/workqueue.c')
0 files changed, 0 insertions, 0 deletions