• Suzuki K Poulose's avatar
    arm64: vhe: Verify CPU Exception Levels · ac1ad20f
    Suzuki K Poulose authored
    With a VHE capable CPU, kernel can run at EL2 and is a decided at early
    boot. If some of the CPUs didn't start it EL2 or doesn't have VHE, we
    could have CPUs running at different exception levels, all in the same
    kernel! This patch adds an early check for the secondary CPUs to detect
    such situations.
    
    For each non-boot CPU add a sanity check to make sure we don't have
    different run levels w.r.t the boot CPU. We save the information on
    whether the boot CPU is running in hyp mode or not and ensure the
    remaining CPUs match it.
    
    Cc: Marc Zyngier <marc.zyngier@arm.com>
    Cc: Will Deacon <will.deacon@arm.com>
    Cc: Mark Rutland <mark.rutland@arm.com>
    Cc: Catalin Marinas <catalin.marinas@arm.com>
    Reviewed-by: default avatarChristoffer Dall <christoffer.dall@linaro.org>
    Signed-off-by: default avatarSuzuki K Poulose <suzuki.poulose@arm.com>
    [will: made boot_cpu_hyp_mode static]
    Signed-off-by: default avatarWill Deacon <will.deacon@arm.com>
    ac1ad20f
cpufeature.c 33.2 KB