• W
    arm64: cpufeature: Don't treat granule sizes as strict · 8bd54268
    Will Deacon 提交于
    [ Upstream commit 5717fe5ab38f9ccb32718bcb03bea68409c9cce4 ]
    
    If a CPU doesn't support the page size for which the kernel is
    configured, then we will complain and refuse to bring it online. For
    secondary CPUs (and the boot CPU on a system booting with EFI), we will
    also print an error identifying the mismatch.
    
    Consequently, the only time that the cpufeature code can detect a
    granule size mismatch is for a granule other than the one that is
    currently being used. Although we would rather such systems didn't
    exist, we've unfortunately lost that battle and Kevin reports that
    on his amlogic S922X (odroid-n2 board) we end up warning and taining
    with defconfig because 16k pages are not supported by all of the CPUs.
    
    In such a situation, we don't actually care about the feature mismatch,
    particularly now that KVM only exposes the sanitised view of the CPU
    registers (commit 93390c0a - "arm64: KVM: Hide unsupported AArch64
    CPU features from guests"). Treat the granule fields as non-strict and
    let Kevin run without a tainted kernel.
    
    Cc: Marc Zyngier <maz@kernel.org>
    Reported-by: NKevin Hilman <khilman@baylibre.com>
    Tested-by: NKevin Hilman <khilman@baylibre.com>
    Acked-by: NMark Rutland <mark.rutland@arm.com>
    Acked-by: NSuzuki K Poulose <suzuki.poulose@arm.com>
    Signed-off-by: NWill Deacon <will@kernel.org>
    [catalin.marinas@arm.com: changelog updated with KVM sanitised regs commit]
    Signed-off-by: NCatalin Marinas <catalin.marinas@arm.com>
    Signed-off-by: NSasha Levin <sashal@kernel.org>
    8bd54268
cpufeature.c 56.7 KB