• Dave Martin's avatar
    arm64/sve: Report SVE to userspace via CPUID only if supported · 3fab3999
    Dave Martin authored
    Currently, the SVE field in ID_AA64PFR0_EL1 is visible
    unconditionally to userspace via the CPU ID register emulation,
    irrespective of the kernel config.  This means that if a kernel
    configured with CONFIG_ARM64_SVE=n is run on SVE-capable hardware,
    userspace will see SVE reported as present in the ID regs even
    though the kernel forbids execution of SVE instructions.
    
    This patch makes the exposure of the SVE field in ID_AA64PFR0_EL1
    conditional on CONFIG_ARM64_SVE=y.
    
    Since future architecture features are likely to encounter a
    similar requirement, this patch adds a suitable helper macros for
    use when declaring config-conditional ID register fields.
    
    Fixes: 43994d82 ("arm64/sve: Detect SVE and activate runtime support")
    Reviewed-by: default avatarSuzuki K Poulose <suzuki.poulose@arm.com>
    Reported-by: default avatarMark Rutland <mark.rutland@arm.com>
    Signed-off-by: default avatarDave Martin <Dave.Martin@arm.com>
    Cc: Suzuki Poulose <suzuki.poulose@arm.com>
    Signed-off-by: default avatarWill Deacon <will.deacon@arm.com>
    3fab3999
cpufeature.c 44.7 KB