nuttx/sched
Ville Juven 4959e269d6 sched/sem_waitirq: Move kmm_map() call to sem_wait()
The kernel mapping should be performed in sem_wait (thread level) as
virtual memory mappings cannot be added from interrupt, at least for now.

The reason?

kmm_map() depends on mm_map_add(), which in turn uses a mutex for mutual
exclusion. Using mutexes from interrupt level is not permitted.

Mapping tcb->waitobj into kernel virtual memory directly in sem_wait()
makes sense, since accessing tcb->waitobj via a user virtual address can
lead to unexpected results (the wrong mappings can be in place).
2025-03-13 12:28:22 +08:00
..
addrenv
clock
environ
event
group
init
instrument
irq
misc
module
mqueue
paging
pthread
sched
semaphore sched/sem_waitirq: Move kmm_map() call to sem_wait() 2025-03-13 12:28:22 +08:00
signal
task
timer
tls
wdog
wqueue
CMakeLists.txt
Kconfig
Makefile