• Suzuki K Poulose's avatar
    arm64: capabilities: Add support for features enabled early · fd9d63da
    Suzuki K Poulose authored
    The kernel detects and uses some of the features based on the boot
    CPU and expects that all the following CPUs conform to it. e.g,
    with VHE and the boot CPU running at EL2, the kernel decides to
    keep the kernel running at EL2. If another CPU is brought up without
    this capability, we use custom hooks (via check_early_cpu_features())
    to handle it. To handle such capabilities add support for detecting
    and enabling capabilities based on the boot CPU.
    
    A bit is added to indicate if the capability should be detected
    early on the boot CPU. The infrastructure then ensures that such
    capabilities are probed and "enabled" early on in the boot CPU
    and, enabled on the subsequent CPUs.
    
    Cc: Julien Thierry <julien.thierry@arm.com>
    Cc: Will Deacon <will.deacon@arm.com>
    Cc: Mark Rutland <mark.rutland@arm.com>
    Cc: Marc Zyngier <marc.zyngier@arm.com>
    Reviewed-by: default avatarDave Martin <dave.martin@arm.com>
    Signed-off-by: default avatarSuzuki K Poulose <suzuki.poulose@arm.com>
    Signed-off-by: default avatarWill Deacon <will.deacon@arm.com>
    fd9d63da
cpufeature.c 53.6 KB