Pull kvm updates from Paolo Bonzini: "ARM64: - Eager page splitting optimization for dirty logging, optionally allowing for a VM to avoid the cost of hugepage splitting in the stage-2 fault path. - Arm FF-A proxy for pKVM, allowing a pKVM host to safely interact with services that live in the Secure world. pKVM intervenes on FF-A calls to guarantee the host doesn't misuse memory donated to the hyp or a pKVM guest. - Support for running the split hypervisor with VHE enabled, known as 'hVHE' mode. This is extremely useful for testing the split hypervisor on VHE-only systems, and paves the way for new use cases that depend on having two TTBRs available at EL2. - Generalized framework for configurable ID registers from userspace. KVM/arm64 currently prevents arbitrary CPU feature set configuration from userspace, but the intent is to relax this limitation and allow userspace to select a feature set consistent with the CPU. - Enable the use of Branch Target Identification (FEAT_BTI) in the hypervisor. - Use a separate set of pointer authentication keys for the hypervisor when running in protected mode, as the host is untrusted at runtime. - Ensure timer IRQs are consistently released in the init failure paths. - Avoid trapping CTR_EL0 on systems with Enhanced Virtualization Traps (FEAT_EVT), as it is a register commonly read from userspace. - Erratum workaround for the upcoming AmpereOne part, which has broken hardware A/D state management. RISC-V: - Redirect AMO load/store misaligned traps to KVM guest - Trap-n-emulate AIA in-kernel irqchip for KVM guest - Svnapot support for KVM Guest s390: - New uvdevice secret API - CMM selftest and fixes - fix racy access to target CPU for diag 9c x86: - Fix missing/incorrect #GP checks on ENCLS - Use standard mmu_notifier hooks for handling APIC access page - Drop now unnecessary TR/TSS load after VM-Exit on AMD - Print more descriptive information about the status of SEV and SEV-ES during module load - Add a test for splitting and reconstituting hugepages during and after dirty logging - Add support for CPU pinning in demand paging test - Add support for AMD PerfMonV2, with a variety of cleanups and minor fixes included along the way - Add a "nx_huge_pages=never" option to effectively avoid creating NX hugepage recovery threads (because nx_huge_pages=off can be toggled at runtime) - Move handling of PAT out of MTRR code and dedup SVM+VMX code - Fix output of PIC poll command emulation when there's an interrupt - Add a maintainer's handbook to document KVM x86 processes, preferred coding style, testing expectations, etc. - Misc cleanups, fixes and comments Generic: - Miscellaneous bugfixes and cleanups Selftests: - Generate dependency files so that partial rebuilds work as expected" * tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm: (153 commits) Documentation/process: Add a maintainer handbook for KVM x86 Documentation/process: Add a label for the tip tree handbook's coding style KVM: arm64: Fix misuse of KVM_ARM_VCPU_POWER_OFF bit index RISC-V: KVM: Remove unneeded semicolon RISC-V: KVM: Allow Svnapot extension for Guest/VM riscv: kvm: define vcpu_sbi_ext_pmu in header RISC-V: KVM: Expose IMSIC registers as attributes of AIA irqchip RISC-V: KVM: Add in-kernel virtualization of AIA IMSIC RISC-V: KVM: Expose APLIC registers as attributes of AIA irqchip RISC-V: KVM: Add in-kernel emulation of AIA APLIC RISC-V: KVM: Implement device interface for AIA irqchip RISC-V: KVM: Skeletal in-kernel AIA irqchip support RISC-V: KVM: Set kvm_riscv_aia_nr_hgei to zero RISC-V: KVM: Add APLIC related defines RISC-V: KVM: Add IMSIC related defines RISC-V: KVM: Implement guest external interrupt line management KVM: x86: Remove PRIx* definitions as they are solely for user space s390/uv: Update query for secret-UVCs s390/uv: replace scnprintf with sysfs_emit s390/uvdevice: Add 'Lock Secret Store' UVC ...
Showing the changes to include/uapi/linux (1 of 125 files). Show all
Unified · Split
| @@ -1190,6 +1190,8 @@ struct kvm_ppc_resize_hpt { · 1189 unmodified lines | ||
| 1190 | 1190 | #define KVM_CAP_DIRTY_LOG_RING_WITH_BITMAP 225 |
| 1191 | 1191 | #define KVM_CAP_PMU_EVENT_MASKED_EVENTS 226 |
| 1192 | 1192 | #define KVM_CAP_COUNTER_OFFSET 227 |
| 1193 | +#define KVM_CAP_ARM_EAGER_SPLIT_CHUNK_SIZE 228 | |
| 1194 | +#define KVM_CAP_ARM_SUPPORTED_BLOCK_SIZES 229 | |
| 1193 | 1195 | |
| 1194 | 1196 | #ifdef KVM_CAP_IRQ_ROUTING |
| 1195 | 1197 | |
| @@ -1442,6 +1444,8 @@ enum kvm_device_type { · 246 unmodified lines | ||
| 1442 | 1444 | #define KVM_DEV_TYPE_XIVE KVM_DEV_TYPE_XIVE |
| 1443 | 1445 | KVM_DEV_TYPE_ARM_PV_TIME, |
| 1444 | 1446 | #define KVM_DEV_TYPE_ARM_PV_TIME KVM_DEV_TYPE_ARM_PV_TIME |
| 1447 | + KVM_DEV_TYPE_RISCV_AIA, | |
| 1448 | +#define KVM_DEV_TYPE_RISCV_AIA KVM_DEV_TYPE_RISCV_AIA | |
| 1445 | 1449 | KVM_DEV_TYPE_MAX, |
| 1446 | 1450 | }; |
| 1447 | 1451 | |
| @@ -1613,7 +1617,7 @@ struct kvm_s390_ucas_mapping { · 165 unmodified lines | ||
| 1613 | 1617 | #define KVM_GET_DEBUGREGS _IOR(KVMIO, 0xa1, struct kvm_debugregs) |
| 1614 | 1618 | #define KVM_SET_DEBUGREGS _IOW(KVMIO, 0xa2, struct kvm_debugregs) |
| 1615 | 1619 | /* |
| 1616 | − * vcpu version available with KVM_ENABLE_CAP | |
| 1620 | + * vcpu version available with KVM_CAP_ENABLE_CAP | |
| 1617 | 1621 | * vm version available with KVM_CAP_ENABLE_CAP_VM |
| 1618 | 1622 | */ |
| 1619 | 1623 | #define KVM_ENABLE_CAP _IOW(KVMIO, 0xa3, struct kvm_enable_cap) |