• Steve Capper's avatar
    arm64: mm: Prevent mismatched 52-bit VA support · e3d27b94
    Steve Capper authored
    [ Upstream commit a96a33b1 ]
    
    For cases where there is a mismatch in ARMv8.2-LVA support between CPUs
    we have to be careful in allowing secondary CPUs to boot if 52-bit
    virtual addresses have already been enabled on the boot CPU.
    
    This patch adds code to the secondary startup path. If the boot CPU has
    enabled 52-bit VAs then ID_AA64MMFR2_EL1 is checked to see if the
    secondary can also enable 52-bit support. If not, the secondary is
    prevented from booting and an error message is displayed indicating why.
    
    Technically this patch could be implemented using the cpufeature code
    when considering 52-bit userspace support. However, we employ low level
    checks here as the cpufeature code won't be able to run if we have
    mismatched 52-bit kernel va support.
    Signed-off-by: default avatarSteve Capper <steve.capper@arm.com>
    Signed-off-by: default avatarWill Deacon <will.deacon@arm.com>
    Signed-off-by: default avatarSasha Levin <sashal@kernel.org>
    e3d27b94
smp.c 23 KB