[PATCH 0/5] arm64: some 52-bit cleanups
From: Ard Biesheuvel <ardb@kernel.org>
Date: 2021-03-10 17:16:48
This work was triggered by Mark Salter's report about a regression regarding the programmed size of the ID map page tables. The first patch switches the early ID map population code to default to a 48-bit range on kernels built with 52-bit VA support, and only switch to 52-bit if the placement of the kernel requires it. This should address the regressions reported by Mark. This patch should be suitable for being backported to -stable. The remaining patches are cleanups that remove and/or simplify the 52-bit VA support, and disable some parts in configurations that don't need it. Patch #5 adds back the logic to use a 52-bit VA ID map on 52-bit VA capable hardware, which we might consider if it is worthwhile for some reason to elide the TCR_EL1 updates that result from having ID map and user space VA ranges of different size. Cc: Mark Salter <redacted> Cc: Will Deacon <will@kernel.org> Cc: James Morse <james.morse@arm.com> Cc: Catalin Marinas <catalin.marinas@arm.com> Cc: Mark Rutland <mark.rutland@arm.com> Cc: Steve Capper <redacted> Cc: Anshuman Khandual <redacted> Ard Biesheuvel (5): arm64: mm: use a 48-bit ID map when possible on 52-bit VA builds arm64: mm: remove unused __cpu_uses_extended_idmap[_level()] arm64: mm: use a compile time constant for vabits_actual when possible arm64: mm: get rid of idmap_ptrs_per_pgd handling arm64: mm: switch to 52-bit ID map on 52-bit VA capable systems arch/arm64/include/asm/memory.h | 4 +++ arch/arm64/include/asm/mmu_context.h | 18 -------------- arch/arm64/kernel/head.S | 26 +++++++++----------- arch/arm64/mm/mmu.c | 5 ++-- 4 files changed, 18 insertions(+), 35 deletions(-) -- 2.30.1 _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel