nuttx/boards/xtensa/esp32s3/common/scripts
Marco Casaroli ce59fb6e71 xtensa/esp32s3: Reach a page pool page through a scratch mapping.
The page pool is carved out of the PSRAM that user processes run from, and
the external memory permissions are indexed by physical address, so a
permanent kernel window onto the pool is a window onto every process, which
no permission setting can close.

Stop mapping the pool.  The kernel reaches a pool page through a small
scratch region instead, mapped for one operation and invalidated afterwards.
esp32s3_pgmap() takes a slot, esp32s3_pgunmap() releases it, and
ARCH_KMAP_VBASE and ARCH_KMAP_NPAGES describe the region.  Two slots are
enough, because the deepest user is up_addrenv_fork(), which holds a source
and a destination page at once.

Assisted-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
Signed-off-by: Marco Casaroli <marco.casaroli@gmail.com>
2026-09-26 11:13:57 -03:00
..
.gitignore boards/xtensa/esp32[-s2|-s3]: Add multiple ULP RISC-V bin board support 2025-10-21 06:32:32 -03:00
esp32s3_aliases.ld
esp32s3_peripherals.ld
esp32s3_rom_aliases.ld
esp32s3_sections.ld xtensa/esp32s3: Reach a page pool page through a scratch mapping. 2026-09-26 11:13:57 -03:00
esp32s3_ulp_riscv_sections.ld
flat_memory.ld
kernel-space.ld xtensa/esp32s3: keep octal-flash init in IRAM for the protected build 2026-09-26 11:13:57 -03:00
legacy_sections.ld xtensa/esp32s3: Wire the chip into the kernel build. 2026-09-26 11:13:57 -03:00
mcuboot_sections.ld xtensa/espressif: Update common-source integration for Xtensa devices 2026-03-29 00:33:11 +08:00
protected_memory.ld xtensa/esp32s3: Let a protected build boot from simple boot. 2026-08-11 23:49:21 +08:00
user-space.ld