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
Showing the changes to include/uapi/linux (1 of 14 files). Show all
Unified · Split
| @@ -178,6 +178,7 @@ struct kvm_xen_exit { · 177 unmodified lines | |||
| 178 | #define KVM_EXIT_NOTIFY 37 | 178 | #define KVM_EXIT_NOTIFY 37 |
| 179 | #define KVM_EXIT_LOONGARCH_IOCSR 38 | 179 | #define KVM_EXIT_LOONGARCH_IOCSR 38 |
| 180 | #define KVM_EXIT_MEMORY_FAULT 39 | 180 | #define KVM_EXIT_MEMORY_FAULT 39 |
| 181 | #define KVM_EXIT_TDX 40 | ||
| 181 | 182 | ||
| 182 | /* For KVM_EXIT_INTERNAL_ERROR */ | 183 | /* For KVM_EXIT_INTERNAL_ERROR */ |
| 183 | /* Emulate instruction failed. */ | 184 | /* Emulate instruction failed. */ |
| @@ -447,6 +448,27 @@ struct kvm_run { · 263 unmodified lines | |||
| 447 | __u64 gpa; | 448 | __u64 gpa; |
| 448 | __u64 size; | 449 | __u64 size; |
| 449 | } memory_fault; | 450 | } 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; | ||
| 450 | /* Fix the size of the union. */ | 472 | /* Fix the size of the union. */ |
| 451 | char padding[256]; | 473 | char padding[256]; |
| 452 | }; | 474 | }; |