Re: [PATCH V2] arm64/mm: Fix __enable_mmu() for new TGRAN range values

From: Anders Roxell
Date: Fri Aug 26 2022 - 08:00:34 EST


On 2021-03-10 11:23, Anshuman Khandual wrote:
> From: James Morse <james.morse@xxxxxxx>
>
> As per ARM ARM DDI 0487G.a, when FEAT_LPA2 is implemented, ID_AA64MMFR0_EL1
> might contain a range of values to describe supported translation granules
> (4K and 16K pages sizes in particular) instead of just enabled or disabled
> values. This changes __enable_mmu() function to handle complete acceptable
> range of values (depending on whether the field is signed or unsigned) now
> represented with ID_AA64MMFR0_TGRAN_SUPPORTED_[MIN..MAX] pair. While here,
> also fix similar situations in EFI stub and KVM as well.
>
> Cc: Catalin Marinas <catalin.marinas@xxxxxxx>
> Cc: Will Deacon <will@xxxxxxxxxx>
> Cc: Marc Zyngier <maz@xxxxxxxxxx>
> Cc: James Morse <james.morse@xxxxxxx>
> Cc: Suzuki K Poulose <suzuki.poulose@xxxxxxx>
> Cc: Ard Biesheuvel <ardb@xxxxxxxxxx>
> Cc: Mark Rutland <mark.rutland@xxxxxxx>
> Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx
> Cc: kvmarm@xxxxxxxxxxxxxxxxxxxxx
> Cc: linux-efi@xxxxxxxxxxxxxxx
> Cc: linux-kernel@xxxxxxxxxxxxxxx
> Acked-by: Marc Zyngier <maz@xxxxxxxxxx>
> Signed-off-by: James Morse <james.morse@xxxxxxx>
> Signed-off-by: Anshuman Khandual <anshuman.khandual@xxxxxxx>

Hi,

When building an arm64 defconfig kernel from stable/linux-5.10.y and
booting that in QEMU (version: 1:7.0+dfsg-2~bpo11+2) with '-cpu max' the
kernel doesn't boot. I don't get any output. The kernel boots fine if I
change to '-cpu cortex-a72'.

If I cherry-pick this patch to stable/linux-5.10.y I'm able too boot the
kernel with '-cpu max'.

However, I'm not comfortable to backport this patch to older kernels
since there are a lot of conflicts.
Can someone help out to do the packport?

Cheers,
Anders