nuttx/arch/xtensa/src
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
..
cmake cmake: Use NUTTX(_DIR/_BIN_DIR) instead CMAKE(_SRC_DIR/_BIN_DIR) 2026-08-09 11:13:08 -03:00
common espressif/esp_pm.c: restore GPIO config after using it as a wake source 2026-09-23 08:36:17 -03:00
esp32 sched/semaphore: Fix pre-existing nxstyle issues in the touched files 2026-09-25 10:37:43 +02:00
esp32s2 sched/semaphore: Fix pre-existing nxstyle issues in the touched files 2026-09-25 10:37:43 +02:00
esp32s3 xtensa/esp32s3: Reach a page pool page through a scratch mapping. 2026-09-26 11:13:57 -03:00
lx6 arch, boards, cmake: Build C++ ELF modules without __cxa_atexit. 2026-09-04 15:44:24 -03:00
lx7 xtensa: Support BUILD_KERNEL. 2026-09-10 23:28:43 +08:00
.gitignore
CMakeLists.txt arch/xtensa: migrate to SPDX identifier 2024-12-02 17:23:25 +08:00
Makefile xtensa: Support BUILD_KERNEL. 2026-09-10 23:28:43 +08:00