nuttx/include/nuttx
buxiasen 0b3cd35360 sched/spinlock: add recursive support(rspinlock_s) for spinlock
For drivers implement those possible recusive, native spinlock
will cause deadlock directly, critial_section is use globally,
will make lock parallel to serial, add API to keep recursive
support but isolate each other.

For race condition, we may get cpuid in stack and then thread moved
to other cpu. So we have to get cpuid with irq disabled.

Signed-off-by: buxiasen <buxiasen@xiaomi.com>
2025-06-06 09:48:17 +08:00
..
1wire
aie nuttx ai driver update 2024-10-17 22:35:40 +08:00
analog style: fix spelling in code comments and strings 2025-05-23 10:48:41 +08:00
audio nuttx/audio: add fake audio driver. 2024-12-20 11:47:08 -03:00
binfmt style: fix spelling in code comments and strings 2025-05-23 10:48:41 +08:00
can drivers/can: move CAN utils to CAN common files 2025-05-14 10:30:25 -03:00
clk
contactless
coresight style: fix spelling in code comments and strings 2025-05-23 10:48:41 +08:00
crypto
dma
drivers style: fix spelling in code comments and strings 2025-05-23 10:48:41 +08:00
eeprom
efuse
fs fs/poll: remove poll_fdsetup 2025-05-26 18:49:45 +08:00
himem
hwspinlock
i2c
i3c style: fix spelling in code comments and strings 2025-05-23 10:48:41 +08:00
input style: fix spelling in code comments and strings 2025-05-23 10:48:41 +08:00
ioexpander style: fix spelling in code comments and strings 2025-05-23 10:48:41 +08:00
lcd style: fix spelling in code comments and strings 2025-05-23 10:48:41 +08:00
leds style: fix spelling in code comments and strings 2025-05-23 10:48:41 +08:00
lib style: fix spelling in code comments and strings 2025-05-23 10:48:41 +08:00
math style: fix spelling in code comments and strings 2025-05-23 10:48:41 +08:00
mbox
mm style: fix spelling in code comments and strings 2025-05-23 10:48:41 +08:00
modem
motor style: fix spelling in code comments and strings 2025-05-23 10:48:41 +08:00
mtd style: fix spelling in code comments and strings 2025-05-23 10:48:41 +08:00
net arm64/imx9: Support & configure RGMII-ID on RTL8211F 2025-06-05 08:58:24 +02:00
note style: fix spelling in code comments and strings 2025-05-23 10:48:41 +08:00
nx style: fix spelling in code comments and strings 2025-05-23 10:48:41 +08:00
pci style: fix spelling in code comments and strings 2025-05-23 10:48:41 +08:00
pinctrl
power style: fix spelling in code comments and strings 2025-05-23 10:48:41 +08:00
rc style: fix spelling in code comments and strings 2025-05-23 10:48:41 +08:00
regmap
reset style: fix spelling in code comments and strings 2025-05-23 10:48:41 +08:00
rf include: migrate license to ASF 2024-11-06 19:46:13 +08:00
rmt
rpmsg style: fix spelling in code comments and strings 2025-05-23 10:48:41 +08:00
rptun rptun_bmp: add remote_cpu to rptun_secure_init 2025-01-14 13:34:35 +08:00
segger
sensors style: fix spelling in code comments and strings 2025-05-23 10:48:41 +08:00
serial style: fix spelling in code comments and strings 2025-05-23 10:48:41 +08:00
spi style: fix spelling in code comments and strings 2025-05-23 10:48:41 +08:00
syslog drivers/syslog: remove implement of syslog_putc() 2024-11-15 19:46:36 +08:00
timers style: fix spelling in code comments and strings 2025-05-23 10:48:41 +08:00
usb style: fix spelling in code comments and strings 2025-05-23 10:48:41 +08:00
usrsock
vhost
video style: fix spelling in code comments and strings 2025-05-23 10:48:41 +08:00
virtio virtio-mmio/pci: add alloc_buf/free_buf for mmio and pci transport layer 2024-10-09 23:32:58 +08:00
wireless include: fix Private Types banners 2025-05-28 10:17:15 +08:00
.gitignore
addrenv.h modlib/gnu-elf.ld.in: fix regression with armv7a 2025-01-17 23:16:26 +08:00
allsyms.h
arch.h libc/stream: Support lowsyslog. 2025-04-02 12:01:46 +08:00
ascii.h
atexit.h
atomic.h include/nuttx/atomic.h: For each ATOMIC func, cast the parameters to (FAR intXX_t *) of correct size 2025-04-17 20:14:15 +08:00
bits.h
board.h style: fix spelling in code comments and strings 2025-05-23 10:48:41 +08:00
cache.h
can.h drivers/can: move CAN utils to CAN common files 2025-05-14 10:30:25 -03:00
cancelpt.h
circbuf.h lib/circbuf: add static initialize macro helper 2024-12-17 20:48:23 +08:00
clock.h clock: Add clock_delay2abstick. 2025-05-12 19:56:29 +08:00
compiler.h style: fix spelling in code comments and strings 2025-05-23 10:48:41 +08:00
coredump.h coredump: fix issue that nvic region overlapped by board memory region 2025-01-24 09:15:56 +08:00
crc8.h libc: add CRC-8-ROHC support 2024-10-13 03:09:26 +08:00
crc16.h libs/libc/crc16: Separate implementation of crc16xmodem from crc16 2025-04-10 16:47:28 +08:00
crc32.h
crc64.h
elf.h nuttx/elf.h: Fix build error with unknown type name 'bool'. 2024-10-15 12:35:10 +08:00
environ.h
envpath.h
ethtool.h
event.h
fdcheck.h
fdt.h qemu/armv7a: register cfi flash 2025-02-11 17:23:44 +08:00
gdbstub.h gdbstub: change send buffer to const char 2025-01-20 20:07:13 +08:00
hashtable.h
idr.h
init.h
instrument.h style: fix spelling in code comments and strings 2025-05-23 10:48:41 +08:00
ipcc.h style: fix spelling in code comments and strings 2025-05-23 10:48:41 +08:00
irq.h sched/spin_lock: rename raw_spin_lock to spin_lock_notrace 2025-02-13 20:48:15 +08:00
kmalloc.h userspace: Exclude nuttx/arch.h 2024-11-01 16:59:37 +08:00
kthread.h
lin.h style: fix spelling in code comments and strings 2025-05-23 10:48:41 +08:00
lirc.h
list.h
macro.h arch_atomic : Introduce CONFIG_LIBC_ARCH_ATOMIC 2024-11-15 14:01:56 +08:00
memoryregion.h libs/misc/memoryregion: remove unused memory_region 2024-10-18 21:32:48 +08:00
mmcsd.h mmcsd:add postsleep fields for mmc_ioc_cmd 2024-10-15 02:06:00 +08:00
module.h libc/elf: rename modlib to libelf 2025-04-11 09:43:22 +08:00
mqueue.h style: fix spelling in code comments and strings 2025-05-23 10:48:41 +08:00
mutex.h Clean up the nxmutex library 2025-05-08 16:00:05 +08:00
notifier.h userspace: Exclude nuttx/arch.h 2024-11-01 16:59:37 +08:00
nuttx.h macro/align: Fix ALIGN_UP and ALIGN_DOWN 2025-01-11 12:13:10 +08:00
page.h
panic_notifier.h
pgalloc.h mm/gran: add gran_alloc_align API 2025-05-12 15:01:37 +08:00
progmem.h
pthread.h
queue.h include: queue.h: Make flink clear after sq_rem 2024-10-16 13:56:49 +08:00
random.h libc: Refine the arc4random_buf implementation 2024-10-26 18:04:21 -03:00
reboot_notifier.h
rwsem.h Revert "shced:sem: replace mutex with spinlock" 2024-10-29 23:01:39 +08:00
sched.h Revert "Reduce the size of tcb by four bytes." 2025-05-27 16:30:35 +08:00
sched_note.h style: fix spelling in code comments and strings 2025-05-23 10:48:41 +08:00
scsi.h style: fix spelling in code comments and strings 2025-05-23 10:48:41 +08:00
sdio.h style: fix spelling in code comments and strings 2025-05-23 10:48:41 +08:00
sdio_slave.h style: fix spelling in code comments and strings 2025-05-23 10:48:41 +08:00
semaphore.h Integrate nxmutex support fully into nxsem 2025-05-08 16:00:05 +08:00
signal.h signal: add sig_tgkill() kenrnel version support 2024-10-10 02:38:12 +08:00
spawn.h
spinlock.h sched/spinlock: add recursive support(rspinlock_s) for spinlock 2025-06-06 09:48:17 +08:00
spinlock_type.h fix compile error 2025-01-08 09:28:58 +08:00
streams.h blk/mtdoutstream: use lib_sostream_s to support seek 2024-11-30 03:08:35 +08:00
symtab.h
tee.h drivers/misc/optee: Fix GP API compatibility 2025-05-13 10:14:01 +08:00
thermal.h drivers/thermal: Add support for passive trip point 2025-02-16 11:22:41 -03:00
tls.h sched/gettid: Move thread ID to TLS 2025-04-08 22:53:10 +08:00
trace.h support trace_beginex and trace_endex 2024-10-13 10:23:44 +08:00
uorb.h drivers/sensor: Fix spell errors of uorb.h 2025-05-11 20:28:17 +08:00
userspace.h userspace: Exclude nuttx/arch.h 2024-11-01 16:59:37 +08:00
vt100.h
wdog.h sched/wdog: Add max delay tick limitation. 2025-05-27 12:10:39 +02:00
wqueue.h sched/wqueue: Refactor delayed and periodical workqueue. 2025-05-07 02:02:10 +08:00
zoneinfo.h