mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-02-17 21:50:44 -05:00
Implement the GCIE_LEGACY capability as a system feature to be able to check for support from KVM. The type is explicitly ARM64_CPUCAP_EARLY_LOCAL_CPU_FEATURE, which means that the capability is enabled early if all boot CPUs support it. Additionally, if this capability is enabled during boot, it prevents late onlining of CPUs that lack it, thereby avoiding potential mismatched configurations which would break KVM. Signed-off-by: Sascha Bischoff <sascha.bischoff@arm.com> Reviewed-by: Suzuki K Poulose <suzuki.poulose@arm.com> Reviewed-by: Oliver Upton <oliver.upton@linux.dev> Signed-off-by: Marc Zyngier <maz@kernel.org>
124 lines
2.0 KiB
Plaintext
124 lines
2.0 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_FPMR
|
|
HAS_FGT
|
|
HAS_FGT2
|
|
HAS_FPSIMD
|
|
HAS_GCS
|
|
HAS_GENERIC_AUTH
|
|
HAS_GENERIC_AUTH_ARCH_QARMA3
|
|
HAS_GENERIC_AUTH_ARCH_QARMA5
|
|
HAS_GENERIC_AUTH_IMP_DEF
|
|
HAS_GICV3_CPUIF
|
|
HAS_GICV5_CPUIF
|
|
HAS_GICV5_LEGACY
|
|
HAS_GIC_PRIO_MASKING
|
|
HAS_GIC_PRIO_RELAXED_SYNC
|
|
HAS_HCR_NV1
|
|
HAS_HCX
|
|
HAS_LDAPR
|
|
HAS_LPA2
|
|
HAS_LSE_ATOMICS
|
|
HAS_MOPS
|
|
HAS_NESTED_VIRT
|
|
HAS_BBML2_NOABORT
|
|
HAS_PAN
|
|
HAS_PMUV3
|
|
HAS_S1PIE
|
|
HAS_S1POE
|
|
HAS_SCTLR2
|
|
HAS_RAS_EXTN
|
|
HAS_RASV1P1_EXTN
|
|
HAS_RNG
|
|
HAS_SB
|
|
HAS_STAGE2_FWB
|
|
HAS_TCR2
|
|
HAS_TIDCP1
|
|
HAS_TLB_RANGE
|
|
HAS_VA52
|
|
HAS_VIRT_HOST_EXTN
|
|
HAS_WFXT
|
|
HAFT
|
|
HW_DBM
|
|
KVM_HVHE
|
|
KVM_PROTECTED_MODE
|
|
MISMATCHED_CACHE_TYPE
|
|
MPAM
|
|
MPAM_HCR
|
|
MTE
|
|
MTE_ASYMM
|
|
MTE_FAR
|
|
MTE_STORE_ONLY
|
|
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_AMPERE_AC04_CPU_23
|
|
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_PMUV3_IMPDEF_TRAPS
|
|
WORKAROUND_QCOM_FALKOR_E1003
|
|
WORKAROUND_QCOM_ORYON_CNTVOFF
|
|
WORKAROUND_REPEAT_TLBI
|
|
WORKAROUND_SPECULATIVE_AT
|
|
WORKAROUND_SPECULATIVE_SSBS
|
|
WORKAROUND_SPECULATIVE_UNPRIV_LOAD
|