[PATCH v2 06/13] arm64: cpufeature: Detect E2H0 not being implemented
Suzuki K Poulose
suzuki.poulose at arm.com
Wed Nov 22 06:04:46 PST 2023
On 20/11/2023 12:37, Marc Zyngier wrote:
> FEAT_E2H0 is a new feature that indicates whether or not HCR_EL2.E2H
> can be set to 0. Amusingly, this feature is set to 0 when implemented,
> and otherwise negative.
>
> Add a new capability and detection infrastructure to detect the
> absence of FEAT_E2H0.
>
> Signed-off-by: Marc Zyngier <maz at kernel.org>
Reviewed-by: Suzuki K Poulose <suzuki.poulose at arm.com>
> ---
> arch/arm64/kernel/cpufeature.c | 7 +++++++
> arch/arm64/tools/cpucaps | 1 +
> 2 files changed, 8 insertions(+)
>
> diff --git a/arch/arm64/kernel/cpufeature.c b/arch/arm64/kernel/cpufeature.c
> index 41db7f993eef..e0d64e8b4851 100644
> --- a/arch/arm64/kernel/cpufeature.c
> +++ b/arch/arm64/kernel/cpufeature.c
> @@ -2787,6 +2787,13 @@ static const struct arm64_cpu_capabilities arm64_features[] = {
> .matches = has_cpuid_feature,
> ARM64_CPUID_FIELDS(ID_AA64MMFR2_EL1, EVT, IMP)
> },
> + {
> + .desc = "FEAT_E2H0 not implemented",
> + .capability = ARM64_HCR_E2H_RES1,
> + .type = ARM64_CPUCAP_SYSTEM_FEATURE,
> + .matches = has_cpuid_feature,
> + ARM64_CPUID_FIELDS_NEG(ID_AA64MMFR4_EL1, E2H0, NI)
> + },
> {},
> };
>
> diff --git a/arch/arm64/tools/cpucaps b/arch/arm64/tools/cpucaps
> index b98c38288a9d..8866ea9bf995 100644
> --- a/arch/arm64/tools/cpucaps
> +++ b/arch/arm64/tools/cpucaps
> @@ -52,6 +52,7 @@ HAS_TIDCP1
> HAS_TLB_RANGE
> HAS_VIRT_HOST_EXTN
> HAS_WFXT
> +HCR_E2H_RES1
> HW_DBM
> KVM_HVHE
> KVM_PROTECTED_MODE
More information about the linux-arm-kernel
mailing list