mirror of
https://git.proxmox.com/git/mirror_ubuntu-kernels.git
synced 2025-12-22 11:22:32 +00:00
* 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
-----BEGIN PGP SIGNATURE-----
iQFIBAABCAAyFiEE8TM4V0tmI4mGbHaCv/vSX3jHroMFAmSgHrIUHHBib256aW5p
QHJlZGhhdC5jb20ACgkQv/vSX3jHroORcAf+KkBlXwQMf+Q0Hy6Mfe0OtkKmh0Ae
6HJ6dsuMfOHhWv5kgukh+qvuGUGzHq+gpVKmZg2yP3h3cLHOLUAYMCDm+rjXyjsk
F4DbnJLfxq43Pe9PHRKFxxSecRcRYCNox0GD5UYL4PLKcH0FyfQrV+HVBK+GI8L3
FDzUcyJkR12Lcj1qf++7fsbzfOshL0AJPmidQCoc6wkLJpUEr/nYUqlI1Kx3YNuQ
LKmxFHS4l4/O/px3GKNDrLWDbrVlwciGIa3GZLS52PZdW3mAqT+cqcPcYK6SW71P
m1vE80VbNELX5q3YSRoOXtedoZ3Pk97LEmz/xQAsJ/jri0Z5Syk0Ok0m/Q==
=AMXp
-----END PGP SIGNATURE-----
Merge tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm
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
...
101 lines
1.7 KiB
Plaintext
101 lines
1.7 KiB
Plaintext
# SPDX-License-Identifier: GPL-2.0
|
|
#
|
|
# Internal CPU capabilities constants, keep this list sorted
|
|
|
|
ALWAYS_BOOT
|
|
ALWAYS_SYSTEM
|
|
BTI
|
|
# Unreliable: use system_supports_32bit_el0() instead.
|
|
HAS_32BIT_EL0_DO_NOT_USE
|
|
HAS_32BIT_EL1
|
|
HAS_ADDRESS_AUTH
|
|
HAS_ADDRESS_AUTH_ARCH_QARMA3
|
|
HAS_ADDRESS_AUTH_ARCH_QARMA5
|
|
HAS_ADDRESS_AUTH_IMP_DEF
|
|
HAS_AMU_EXTN
|
|
HAS_ARMv8_4_TTL
|
|
HAS_CACHE_DIC
|
|
HAS_CACHE_IDC
|
|
HAS_CNP
|
|
HAS_CRC32
|
|
HAS_DCPODP
|
|
HAS_DCPOP
|
|
HAS_DIT
|
|
HAS_E0PD
|
|
HAS_ECV
|
|
HAS_ECV_CNTPOFF
|
|
HAS_EPAN
|
|
HAS_EVT
|
|
HAS_GENERIC_AUTH
|
|
HAS_GENERIC_AUTH_ARCH_QARMA3
|
|
HAS_GENERIC_AUTH_ARCH_QARMA5
|
|
HAS_GENERIC_AUTH_IMP_DEF
|
|
HAS_GIC_CPUIF_SYSREGS
|
|
HAS_GIC_PRIO_MASKING
|
|
HAS_GIC_PRIO_RELAXED_SYNC
|
|
HAS_HCX
|
|
HAS_LDAPR
|
|
HAS_LSE_ATOMICS
|
|
HAS_MOPS
|
|
HAS_NESTED_VIRT
|
|
HAS_NO_FPSIMD
|
|
HAS_NO_HW_PREFETCH
|
|
HAS_PAN
|
|
HAS_S1PIE
|
|
HAS_RAS_EXTN
|
|
HAS_RNG
|
|
HAS_SB
|
|
HAS_STAGE2_FWB
|
|
HAS_TCR2
|
|
HAS_TIDCP1
|
|
HAS_TLB_RANGE
|
|
HAS_VIRT_HOST_EXTN
|
|
HAS_WFXT
|
|
HW_DBM
|
|
KVM_HVHE
|
|
KVM_PROTECTED_MODE
|
|
MISMATCHED_CACHE_TYPE
|
|
MTE
|
|
MTE_ASYMM
|
|
SME
|
|
SME_FA64
|
|
SME2
|
|
SPECTRE_V2
|
|
SPECTRE_V3A
|
|
SPECTRE_V4
|
|
SPECTRE_BHB
|
|
SSBS
|
|
SVE
|
|
UNMAP_KERNEL_AT_EL0
|
|
WORKAROUND_834220
|
|
WORKAROUND_843419
|
|
WORKAROUND_845719
|
|
WORKAROUND_858921
|
|
WORKAROUND_1418040
|
|
WORKAROUND_1463225
|
|
WORKAROUND_1508412
|
|
WORKAROUND_1542419
|
|
WORKAROUND_1742098
|
|
WORKAROUND_1902691
|
|
WORKAROUND_2038923
|
|
WORKAROUND_2064142
|
|
WORKAROUND_2077057
|
|
WORKAROUND_2457168
|
|
WORKAROUND_2645198
|
|
WORKAROUND_2658417
|
|
WORKAROUND_AMPERE_AC03_CPU_38
|
|
WORKAROUND_TRBE_OVERWRITE_FILL_MODE
|
|
WORKAROUND_TSB_FLUSH_FAILURE
|
|
WORKAROUND_TRBE_WRITE_OUT_OF_RANGE
|
|
WORKAROUND_CAVIUM_23154
|
|
WORKAROUND_CAVIUM_27456
|
|
WORKAROUND_CAVIUM_30115
|
|
WORKAROUND_CAVIUM_TX2_219_PRFM
|
|
WORKAROUND_CAVIUM_TX2_219_TVM
|
|
WORKAROUND_CLEAN_CACHE
|
|
WORKAROUND_DEVICE_LOAD_ACQUIRE
|
|
WORKAROUND_NVIDIA_CARMEL_CNP
|
|
WORKAROUND_QCOM_FALKOR_E1003
|
|
WORKAROUND_REPEAT_TLBI
|
|
WORKAROUND_SPECULATIVE_AT
|