nuttx/arch/arm64/src/common
Marco Casaroli 55cd85c9ab arch/arm64: Map a region that does not start at a page table boundary.
create_region() mapped up to ENTRIES_PER_PGT pages through one final
level table, from whatever address the region started at.  The text
region starts one page after the reserved area, so a region that
crossed the end of the table wrapped around and mapped its last pages
over the first entries of the same table.  In a program with more than
about 2 MB of text, the reserved area became read-only and the kernel
faulted in umm_initialize().

Walk the region one final level table at a time.

Assisted-by: Claude Code:claude-opus-5-5
Signed-off-by: Marco Casaroli <marco.casaroli@gmail.com>
2026-10-09 11:20:33 -03:00
..
addrenv.h arch: move some macros to public code. 2026-01-20 01:53:08 +08:00
arm64_addrenv_kstack.c include/debug.h: Move to include/nuttx/debug.h 2026-04-07 07:50:06 -03:00
arm64_addrenv_mmu.c arch/arm64: Map a region that does not start at a page table boundary. 2026-10-09 11:20:33 -03:00
arm64_addrenv_mpu.c include/debug.h: Move to include/nuttx/debug.h 2026-04-07 07:50:06 -03:00
arm64_addrenv_perms.c
arm64_addrenv_pgmap.c
arm64_addrenv_shm.c include/debug.h: Move to include/nuttx/debug.h 2026-04-07 07:50:06 -03:00
arm64_addrenv_utils.c
arm64_aes.c arch/arm64: AES using the Armv8 Cryptography Extension. 2026-09-21 18:43:36 +08:00
arm64_allocateheap.c style: fix checkpatch issues after debug.h move 2026-04-07 07:50:06 -03:00
arm64_arch.h arm64/common: enable EL1 GICv3 sysreg access from EL2 2026-05-28 22:21:38 +08:00
arm64_arch_timer.c include/debug.h: Move to include/nuttx/debug.h 2026-04-07 07:50:06 -03:00
arm64_arch_timer.h arch/arm64: add timer initialization for the secondary CPUs. 2025-11-17 10:25:37 +08:00
arm64_backtrace.c arch/arm64: fix backtrace return address precision 2026-01-23 16:33:01 +08:00
arm64_boot.c arm64/common: enable EL1 GICv3 sysreg access from EL2 2026-05-28 22:21:38 +08:00
arm64_cache.c Delete unused functions 2025-06-26 20:31:19 +08:00
arm64_checkstack.c include/debug.h: Move to include/nuttx/debug.h 2026-04-07 07:50:06 -03:00
arm64_cpu_psci.c include/debug.h: Move to include/nuttx/debug.h 2026-04-07 07:50:06 -03:00
arm64_cpu_psci.h
arm64_cpuidlestack.c
arm64_cpustart.c include/debug.h: Move to include/nuttx/debug.h 2026-04-07 07:50:06 -03:00
arm64_createstack.c style: fix checkpatch issues after debug.h move 2026-04-07 07:50:06 -03:00
arm64_crypto.c arch/arm64: AES using the Armv8 Cryptography Extension. 2026-09-21 18:43:36 +08:00
arm64_doirq.c include/debug.h: Move to include/nuttx/debug.h 2026-04-07 07:50:06 -03:00
arm64_exit.c include/debug.h: Move to include/nuttx/debug.h 2026-04-07 07:50:06 -03:00
arm64_fatal.c arch/arm64: Report a recovered user fault as a segmentation fault. 2026-10-08 15:51:14 -03:00
arm64_fatal.h include/debug.h: Move to include/nuttx/debug.h 2026-04-07 07:50:06 -03:00
arm64_fork.c arch/arm64: Implement up_addrenv_fork() and provide POSIX fork(). 2026-10-08 09:35:07 -03:00
arm64_fork.h
arm64_fork_func.S !sched/arch/libc: Give fork() and vfork() their real, separate semantics. 2026-08-10 08:57:30 -03:00
arm64_fpu.c !include/fcntl.h: align open flags with Linux values 2026-06-30 13:43:44 +08:00
arm64_fpu.h include/debug.h: Move to include/nuttx/debug.h 2026-04-07 07:50:06 -03:00
arm64_fpu_func.S
arm64_getintstack.c
arm64_gic.h arch/arm64: use up_prioritize_irq and up_set_type_irq instead 2026-01-16 20:26:14 +08:00
arm64_gicv2.c include/debug.h: Move to include/nuttx/debug.h 2026-04-07 07:50:06 -03:00
arm64_gicv2m.c arch/arm64: add api to config irq type 2026-01-16 20:26:14 +08:00
arm64_gicv3.c include/debug.h: Move to include/nuttx/debug.h 2026-04-07 07:50:06 -03:00
arm64_head.S arm64: remove busy wait flag 2026-01-26 16:27:19 +08:00
arm64_hostfs.c fs/hostfs: fix pre-existing nxstyle issues in touched files 2026-08-28 18:35:37 +08:00
arm64_hwdebug.c include/debug.h: Move to include/nuttx/debug.h 2026-04-07 07:50:06 -03:00
arm64_hwdebug.h arm64: Support hardware debug 2025-07-03 00:20:54 +08:00
arm64_idle.c
arm64_initialize.c include/debug.h: Move to include/nuttx/debug.h 2026-04-07 07:50:06 -03:00
arm64_initialstate.c include/debug.h: Move to include/nuttx/debug.h 2026-04-07 07:50:06 -03:00
arm64_internal.h serial/uart_rpmsg: add _raw version of driver 2026-02-23 09:19:57 -03:00
arm64_macro.inc
arm64_mmu.c include/debug.h: Move to include/nuttx/debug.h 2026-04-07 07:50:06 -03:00
arm64_mmu.h arch/arm64: Synchronize the TTBR0 write before the TLB invalidation. 2026-10-08 15:55:02 -03:00
arm64_modifyreg8.c include/debug.h: Move to include/nuttx/debug.h 2026-04-07 07:50:06 -03:00
arm64_modifyreg16.c include/debug.h: Move to include/nuttx/debug.h 2026-04-07 07:50:06 -03:00
arm64_modifyreg32.c include/debug.h: Move to include/nuttx/debug.h 2026-04-07 07:50:06 -03:00
arm64_mpu.c include/debug.h: Move to include/nuttx/debug.h 2026-04-07 07:50:06 -03:00
arm64_mpu.h fvp: change memory map and Optimize MPU configuration 2026-01-26 20:59:04 +08:00
arm64_mte.c mte/kasan: Implementing KASAN memory protection for ARM64 hardware MTE 2025-06-30 18:19:38 +08:00
arm64_nputs.c
arm64_perf.c arch/armv8-r64: userspace PMU access 2026-01-27 21:57:37 +08:00
arm64_pgalloc.c arch: Let pgalloc() extend the selected address environment. 2026-10-09 06:10:52 -03:00
arm64_physpgaddr.c arch/arm64: Implement up_addrenv_pa_to_va(). 2026-10-08 14:52:28 -03:00
arm64_pmu.h
arm64_pthread_start.c arm64: support protectbuild 2026-01-26 16:27:19 +08:00
arm64_registerdump.c include/debug.h: Move to include/nuttx/debug.h 2026-04-07 07:50:06 -03:00
arm64_releasestack.c style: fix checkpatch issues after debug.h move 2026-04-07 07:50:06 -03:00
arm64_schedulesigaction.c include/debug.h: Move to include/nuttx/debug.h 2026-04-07 07:50:06 -03:00
arm64_sigdeliver.c include/debug.h: Move to include/nuttx/debug.h 2026-04-07 07:50:06 -03:00
arm64_signal_dispatch.c arch/arm64: Add support to disable signals actions related data struct 2026-01-18 08:24:13 -03:00
arm64_smccc.S
arm64_smp.h
arm64_smpcall.c include/debug.h: Move to include/nuttx/debug.h 2026-04-07 07:50:06 -03:00
arm64_stackframe.c style: fix checkpatch issues after debug.h move 2026-04-07 07:50:06 -03:00
arm64_syscall.c arch/arm64: refuse reserved syscalls from user space 2026-10-01 23:14:53 +08:00
arm64_task_start.c arm64: support protectbuild 2026-01-26 16:27:19 +08:00
arm64_tcbinfo.c
arm64_usestack.c style: fix checkpatch issues after debug.h move 2026-04-07 07:50:06 -03:00
arm64_vector_table.S arch/arm64: Delete the default save for SCTLR 2026-02-02 11:13:21 +08:00
arm64_vectors.S arch/arm64: Build fork() children from the caller's syscall frame. 2026-08-10 08:57:30 -03:00
CMakeLists.txt arch/arm64: AES using the Armv8 Cryptography Extension. 2026-09-21 18:43:36 +08:00
crt0.c arch/crt0.c: revert entry _start 2025-12-10 19:06:04 +08:00
Make.defs arch/arm64: AES using the Armv8 Cryptography Extension. 2026-09-21 18:43:36 +08:00
pgalloc.h