History

Merge tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm

Pull kvm fixes from Paolo Bonzini: "ARM: - Fix another set of FP/SIMD/SVE bugs affecting NV, and plugging some missing synchronisation - A small fix for the irqbypass hook fixes, tightening the check and ensuring that we only deal with MSI for both the old and the new route entry - Rework the way the shadow LRs are addressed in a nesting configuration, plugging an embarrassing bug as well as simplifying the whole process - Add yet another fix for the dreaded arch_timer_edge_cases selftest RISC-V: - Fix the size parameter check in SBI SFENCE calls - Don't treat SBI HFENCE calls as NOPs x86 TDX: - Complete API for handling complex TDVMCALLs in userspace. This was delayed because the spec lacked a way for userspace to deny supporting these calls; the new exit code is now approved" * tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm: KVM: TDX: Exit to userspace for GetTdVmCallInfo KVM: TDX: Handle TDG.VP.VMCALL<GetQuote> KVM: TDX: Add new TDVMCALL status code for unsupported subfuncs KVM: arm64: VHE: Centralize ISBs when returning to host KVM: arm64: Remove cpacr_clear_set() KVM: arm64: Remove ad-hoc CPTR manipulation from kvm_hyp_handle_fpsimd() KVM: arm64: Remove ad-hoc CPTR manipulation from fpsimd_sve_sync() KVM: arm64: Reorganise CPTR trap manipulation KVM: arm64: VHE: Synchronize CPTR trap deactivation KVM: arm64: VHE: Synchronize restore of host debug registers KVM: arm64: selftests: Close the GIC FD in arch_timer_edge_cases KVM: arm64: Explicitly treat routing entry type changes as changes KVM: arm64: nv: Fix tracking of shadow list registers RISC-V: KVM: Don't treat SBI HFENCE calls as NOPs RISC-V: KVM: Fix the size parameter check in SBI SFENCE calls

Linus Torvalds committed 1 year ago

Commit e669e322 parents 75f99f8 25e8b1d14 files · +376 −283Browse files

Showing the changes to include/uapi/linux (1 of 14 files). Show all

Unified · Split

include/uapi/linux/kvm.h+22−0
@@ -178,6 +178,7 @@ struct kvm_xen_exit { · 177 unmodified lines
178178 #define KVM_EXIT_NOTIFY 37
179179 #define KVM_EXIT_LOONGARCH_IOCSR 38
180180 #define KVM_EXIT_MEMORY_FAULT 39
181+#define KVM_EXIT_TDX 40
181182
182183 /* For KVM_EXIT_INTERNAL_ERROR */
183184 /* Emulate instruction failed. */
@@ -447,6 +448,27 @@ struct kvm_run { · 263 unmodified lines
447448 __u64 gpa;
448449 __u64 size;
449450 } memory_fault;
451+ /* KVM_EXIT_TDX */
452+ struct {
453+ __u64 flags;
454+ __u64 nr;
455+ union {
456+ struct {
457+ __u64 ret;
458+ __u64 data[5];
459+ } unknown;
460+ struct {
461+ __u64 ret;
462+ __u64 gpa;
463+ __u64 size;
464+ } get_quote;
465+ struct {
466+ __u64 ret;
467+ __u64 leaf;
468+ __u64 r11, r12, r13, r14;
469+ } get_tdvmcall_info;
470+ };
471+ } tdx;
450472 /* Fix the size of the union. */
451473 char padding[256];
452474 };