Hi Ahmad, On Mon, Aug 04, 2025 at 07:22:20PM +0200, Ahmad Fatoum wrote: > This series replaces 7 patches that are in next to fix a barebox hang > when used together with OP-TEE.
Unfortunately I haven't seen this in time, so the offending patches are in master now. Could you resend your changes as patches instead? Thanks Sascha > > Root cause is that we need to consider both reserved memory entries > and the text area at once, otherwise mapping non-reserved regions > cached would map the text area eXecute never > > Changes in v4: > - skip TLB invalidation if remapping zero bytes > - share common memory bank remapping code > - fix reserved memory at end of RAM mapping barebox text > eXecute Never > - add range helpers to make especially v4 code clearer > - pass map type not pte flags to early_remap_range > > Changes in v3: > - rework create_sections() for Ahmads comments > - mention CR_S bit and DOMAIN_CLIENT in commit message > - Link to v2: > https://lore.barebox.org/20250617-mmu-xn-ro-v2-0-3c7aa9046...@pengutronix.de > > Changes in v2: > - Tested and fixed for ARMv5 > - merge create_pages() and create_sections() into one functions (ahmad) > - introduce function to create mapping flags based on > CONFIG_ARM_MMU_PERMISSIONS > - Link to v1: > https://lore.barebox.org/20250606-mmu-xn-ro-v1-0-7ee6ddd13...@pengutronix.de > > Ahmad Fatoum (8): > mmu: explicitly map executable non-SDRAM regions with MAP_CODE > ARM: mmu: skip TLB invalidation if remapping zero bytes > ARM: mmu: provide setup_trap_pages for both 32- and 64-bit > ARM: mmu: share common memory bank remapping code > ARM: mmu: make mmu_remap_memory_banks clearer with helper > partition: rename region_overlap_end to region_overlap_end_inclusive > partition: define new region_overlap_end_exclusive helper > ARM: mmu64: map text segment ro and data segments execute never > > Sascha Hauer (5): > ARM: pass barebox base to mmu_early_enable() > ARM: mmu: move ARCH_MAP_WRITECOMBINE to header > ARM: mmu: map memory for barebox proper pagewise > ARM: mmu: map text segment ro and data segments execute never > ARM: mmu64: map memory for barebox proper pagewise > > arch/arm/Kconfig | 12 ++++ > arch/arm/cpu/lowlevel_32.S | 1 + > arch/arm/cpu/mmu-common.c | 69 +++++++++++++++++++++ > arch/arm/cpu/mmu-common.h | 21 +++++++ > arch/arm/cpu/mmu_32.c | 101 ++++++++++++++++++------------- > arch/arm/cpu/mmu_64.c | 88 ++++++++++++++++----------- > arch/arm/cpu/uncompress.c | 9 ++- > arch/arm/include/asm/mmu.h | 2 +- > arch/arm/include/asm/pgtable64.h | 1 + > arch/arm/lib32/barebox.lds.S | 3 +- > arch/arm/lib64/barebox.lds.S | 5 +- > arch/arm/mach-imx/romapi.c | 3 +- > commands/iomemport.c | 2 +- > common/memory.c | 7 ++- > common/partitions.c | 6 +- > drivers/firmware/socfpga.c | 4 ++ > drivers/hab/habv4.c | 2 +- > include/mmu.h | 1 + > include/range.h | 30 +++++++-- > 19 files changed, 268 insertions(+), 99 deletions(-) > > -- > 2.39.5 > > > -- Pengutronix e.K. | | Steuerwalder Str. 21 | http://www.pengutronix.de/ | 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 | Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |