Skip to content

arm64: some 52-bit cleanups

Ard Biesheuvel linux-arm-kernel 1 version In review

Get series with b4
b4 am [email protected]

Versions newest first

  1. v1 Latest5 patches 7 repliesIn review

Patches in v1 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/5arm64: mm: use a 48-bit ID map when possible on 52-bit VA buildsarch/arm64/include/asm/mmu_context.h arch/arm64/kernel/head.S arch/arm64/mm/mmu.c+3 -62 replies
2/5arm64: mm: remove unused __cpu_uses_extended_idmap[_level()]arch/arm64/include/asm/mmu_context.h+0 -140 replies
3/5arm64: mm: use a compile time constant for vabits_actual when possiblearch/arm64/include/asm/memory.h arch/arm64/kernel/head.S arch/arm64/mm/mmu.c+12 -64 replies
4/5arm64: mm: get rid of idmap_ptrs_per_pgd handlingarch/arm64/include/asm/mmu_context.h arch/arm64/kernel/head.S arch/arm64/mm/mmu.c+1 -100 replies
5/5arm64: mm: switch to 52-bit ID map on 52-bit VA capable systemsarch/arm64/kernel/head.S+4 -10 replies

Reviews trailers per patch

No Reviewed-by, Acked-by or Tested-by trailers for v1 yet.

Read the v1 thread

Cover letter [PATCH 0/5] arm64: some 52-bit cleanups

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 <[email protected]>
Cc Will Deacon <[email protected]>
Cc James Morse <[email protected]>
Cc Catalin Marinas <[email protected]>
Cc Mark Rutland <[email protected]>
Cc Steve Capper <[email protected]>
Cc Anshuman Khandual <[email protected]>

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(-)
Signature · 7 lines
2.30.1


_______________________________________________
linux-arm-kernel mailing list
[email protected]
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel