NuttX-12.6.0 ------------ What's New In This Release Major Changes to Core OS Sched * [#12404](https://github.com/apache/nuttx/pull/12404) nuttx/arch.h: Update parameter type to match definition. * [#12464](https://github.com/apache/nuttx/pull/12464) Revert "sched: replace some global variables to macro" * [#12175](https://github.com/apache/nuttx/pull/12175) sched: Move dump.c to sched_dumponexit.c * [#12376](https://github.com/apache/nuttx/pull/12376) sched: remove g_cpu_schedlock g_cpu_irqsetlock g_cpu_locksetlock * [#12377](https://github.com/apache/nuttx/pull/12377) sched: remove redundant variables "switched" * [#12031](https://github.com/apache/nuttx/pull/12031) sched: SMP: Fix issues of return values of nxsched_add_readytorun() * [#12140](https://github.com/apache/nuttx/pull/12140) sched_lock: we can remove these sched_lock, * [#12009](https://github.com/apache/nuttx/pull/12009) sched/environ: Improve performance of set/unset environment * [#12114](https://github.com/apache/nuttx/pull/12114) sched/irq: irq_cpu_locked can be remove * [#12115](https://github.com/apache/nuttx/pull/12115) sched/irq: remove scheduling check in csection * [#11973](https://github.com/apache/nuttx/pull/11973) sched/irq: spinlock should not depends on SMP * [#12427](https://github.com/apache/nuttx/pull/12427) sched/kconfig: add PID_INITIAL_LENGTH * [#12179](https://github.com/apache/nuttx/pull/12179) sched/Kconfig: make disable idle loop configurable * [#12434](https://github.com/apache/nuttx/pull/12434) sched/Kconfig: waitpid() depends on SCHED_HAVE_PARENT if BUILD_KERNEL * [#12316](https://github.com/apache/nuttx/pull/12316) sched/misc: dump stack as platform bit width * [#12319](https://github.com/apache/nuttx/pull/12319) sched/mqueue: add support of tick based send() and receive() * [#12126](https://github.com/apache/nuttx/pull/12126) sched/mqueue: correct list parameter * [#12001](https://github.com/apache/nuttx/pull/12001) sched/mqueue: merge System-V message queue initialize into posix * [#12402](https://github.com/apache/nuttx/pull/12402) sched/mqueue: reclaim unsent message * [#12315](https://github.com/apache/nuttx/pull/12315) sched/posixspawn: disable tedious logging * [#12106](https://github.com/apache/nuttx/pull/12106) sched/pthread: detached thread should destroy the join info * [#12314](https://github.com/apache/nuttx/pull/12314) sched/pthread: pthread_join null pointer * [#12388](https://github.com/apache/nuttx/pull/12388) sched/pthread: rename pthread_initialize.c * [#12462](https://github.com/apache/nuttx/pull/12462) sched/pthread: simplify pthread_create() branch logic * [#12282](https://github.com/apache/nuttx/pull/12282) sched/sched: CONFIG_SCHED_RESUMESCHEDULER macro define error * [#12284](https://github.com/apache/nuttx/pull/12284) sched/sched: Simplify the scheduling logic in nxsched_add_readytorun() for SMP * [#12141](https://github.com/apache/nuttx/pull/12141) sched/sched: There is no need to use sched_[un]lock * [#11997](https://github.com/apache/nuttx/pull/11997) sched/signal: add sanity check for siginfo * [#12380](https://github.com/apache/nuttx/pull/12380) sched/signal: fix deadlock when sigdeliver call enter_critical_section * [#12432](https://github.com/apache/nuttx/pull/12432) sched/signal: move signal structures pool to bss * [#12406](https://github.com/apache/nuttx/pull/12406) sched/signal: reclaim sigaction * [#12302](https://github.com/apache/nuttx/pull/12302) sched/task: minor revision on task_init.c * [#12320](https://github.com/apache/nuttx/pull/12320) sched/tcb: use shared group for kthreads * [#12285](https://github.com/apache/nuttx/pull/12285) sched/tee: In tee, we need to disable the IRQ interrupt to make the A core policy consistent with the M core. * [#12412](https://github.com/apache/nuttx/pull/12412) sched/tls: fix build error under CONFIG_PTHREAD_ATFORK enabled * [#12113](https://github.com/apache/nuttx/pull/12113) sched/timer: use spin_lock_irqsave protect g_alloctimers * [#12142](https://github.com/apache/nuttx/pull/12142) sched/wqueue: There is no need to use sched_[un]lock * [#12079](https://github.com/apache/nuttx/pull/12079) stack: update up_get_intstackbase API to support cpu id mm * [#12449](https://github.com/apache/nuttx/pull/12449) mm: check double free before adding to delaylist * [#12467](https://github.com/apache/nuttx/pull/12467) mm: fix mm_curused calculate err * [#12541](https://github.com/apache/nuttx/pull/12541) mm: seperate mm_pool and mm_pool init * [#12041](https://github.com/apache/nuttx/pull/12041) mm/arch: user-space device mapping support * [#12445](https://github.com/apache/nuttx/pull/12445) mm/gran: Fix GRAN_ALIGNED() macro * [#12095](https://github.com/apache/nuttx/pull/12095) mm/gran: remove size limitation * [#12224](https://github.com/apache/nuttx/pull/12224) mm/iob: Support alloc IOB via malloc * [#12124](https://github.com/apache/nuttx/pull/12124) mm/map: minor reformating vm_region.c * [#12040](https://github.com/apache/nuttx/pull/12040) mm/map.h: polish field defs/comments libc * [#12230](https://github.com/apache/nuttx/pull/12230) Basic locale support for C++ (libstdc++) * [#12422](https://github.com/apache/nuttx/pull/12422) Fixes for symbol definition in libc.csv and syscall.csv * [#12158](https://github.com/apache/nuttx/pull/12158) libc: add support for reallocarray * [#12168](https://github.com/apache/nuttx/pull/12168) libc.csv: Fix macro guard for TLS related symbols * [#12297](https://github.com/apache/nuttx/pull/12297) libc/lib_bzero:Add bzero prototype. * [#12112](https://github.com/apache/nuttx/pull/12112) libs/libc/fdcheck: update fdcheck impl * [#12263](https://github.com/apache/nuttx/pull/12263) libc/string: replace __builtin_ffsl with inline function * [#12451](https://github.com/apache/nuttx/pull/12451) libc/sem_open: return error code, sem returned by parameter * [#12426](https://github.com/apache/nuttx/pull/12426) libs/libc/gdbstub:fix get thread rsp command crash * [#12211](https://github.com/apache/nuttx/pull/12211) libs/libc/inttypes: add support for imaxdiv tools * [#12087](https://github.com/apache/nuttx/pull/12087) Adjust the apps/benchmarks directory and add some new Profile tools * [#12231](https://github.com/apache/nuttx/pull/12231) tools: Extend default appdir list. * [#12137](https://github.com/apache/nuttx/pull/12137) tools/configure.sh: list confs by board * [#12195](https://github.com/apache/nuttx/pull/12195) tools/configure.sh: revise help message * [#12363](https://github.com/apache/nuttx/pull/12363) tools/minidump: 64-bit dump support * [#12010](https://github.com/apache/nuttx/pull/12010) tools/minidump: support multiple ELF files * [#12469](https://github.com/apache/nuttx/pull/12469) tools/minidumpserver: fix 32bit crash log parsing * [#12153](https://github.com/apache/nuttx/pull/12153) tools/uncrustify: disable leading space removal for block comment various * [#12439](https://github.com/apache/nuttx/pull/12439) Kconfig: move LTO options to Build Setup menu * [#12045](https://github.com/apache/nuttx/pull/12045) all: Fix accessing uninitialized local variables * [#12492](https://github.com/apache/nuttx/pull/12492) compiler: fix build break on niche platform * [#12354](https://github.com/apache/nuttx/pull/12354) include: Add missing c symbols to std namespace * [#12303](https://github.com/apache/nuttx/pull/12303) include: When defining NDEBUG, assert will implement alignment standards * [#12075](https://github.com/apache/nuttx/pull/12075) include/nuttx/timers/pwm.h: add dcpol attribute to pwm_chan_s * [#12343](https://github.com/apache/nuttx/pull/12343) include/sys/socket.h: add the definition of SCM_TIMESTAMP * [#12529](https://github.com/apache/nuttx/pull/12529) include/unistd.h: Adds some posix supported definitions Changes to the Build System * [#12171](https://github.com/apache/nuttx/pull/12171) boards/stm32: Add ds1307 to CMake build * [#12270](https://github.com/apache/nuttx/pull/12270) cmake: bugfix __KERNEL__ should not be defined with FLAT mode in libc, mm etc. * [#12423](https://github.com/apache/nuttx/pull/12423) cmake:bugfix CMake compilation options settings should not use strings * [#12237](https://github.com/apache/nuttx/pull/12237) cmake: bugfix generate config.h contain ; characters will be handled incorrectly * [#12173](https://github.com/apache/nuttx/pull/12173) cmake: fix a few bugs during use CMake build * [#12035](https://github.com/apache/nuttx/pull/12035) cmake: implement ALLSYMS feat of CMake version * [#12011](https://github.com/apache/nuttx/pull/12011) cmake: init protected-mode for CMake build * [#12201](https://github.com/apache/nuttx/pull/12201) cmake/export: fix kernel mode app building * [#12312](https://github.com/apache/nuttx/pull/12312) cmake/romfs: separate c flags to avoid compile fail * [#12016](https://github.com/apache/nuttx/pull/12016) openamp/cmake: sync with libmetal.defs * [#12017](https://github.com/apache/nuttx/pull/12017) risc-v/cmake: revision for kernel mode * [#12023](https://github.com/apache/nuttx/pull/12023) virtio/cmake: sync with makefile system Architectural Support New Architecture Support * [#12441](https://github.com/apache/nuttx/pull/12441) arch/arm/cxd32xx: Add cxd32xx SoC support * [#12350](https://github.com/apache/nuttx/pull/12350) arch/arm/stm32h7: add stm32h755II chip * [#12394](https://github.com/apache/nuttx/pull/12394) arch/arm/stm32h7: add stm32h755II chip Architecture improvements * [#12281](https://github.com/apache/nuttx/pull/12281) arch: smp optmization * [#12457](https://github.com/apache/nuttx/pull/12457) arch: add LDC2 (dlang) support * [#12378](https://github.com/apache/nuttx/pull/12378) types: on some arch, execution speed can be accelerated * [#12136](https://github.com/apache/nuttx/pull/12136) arch/kconfig: minor revision for ARCH_KMAP_NPAGES * [#12154](https://github.com/apache/nuttx/pull/12154) arch/kconfig: revise kernel mapping configs * [#12494](https://github.com/apache/nuttx/pull/12494) arch/arm: Fix SHMODULEFLAGS so that we link dynamically correctly * [#12401](https://github.com/apache/nuttx/pull/12401) arch/arm: Rename CONFIG_MPU_RESET -> CONFIG_ARM_MPU_RESET so the the MPU reset so it is compiled * [#12047](https://github.com/apache/nuttx/pull/12047) arch/arm/am335x: Fix incorrect signedness of variable * [#12442](https://github.com/apache/nuttx/pull/12442) arch/arm/armv7-m/arm_vectors.c : Add the address alignment. * [#12379](https://github.com/apache/nuttx/pull/12379) arch/arm/armv6/7/8-m: use ISB instruction immediately after the MSR instruction * [#12366](https://github.com/apache/nuttx/pull/12366) arch/arm/imxrt: 1170 MPU config ensure no lockups can occur * [#12268](https://github.com/apache/nuttx/pull/12268) arch/arm/imxrt:Add DMA preflight Support * [#12318](https://github.com/apache/nuttx/pull/12318) arch/arm/imxrt: lpuart singlewire transfer support * [#12091](https://github.com/apache/nuttx/pull/12091) arch/arm/kasan: Implementing global variable out of bounds detection * [#12227](https://github.com/apache/nuttx/pull/12227) arch/arm/lpc17_40 i2c: Fix I2C driver state desynchronization. * [#12239](https://github.com/apache/nuttx/pull/12239) arch/arm/nrf91: enable FPU * [#12046](https://github.com/apache/nuttx/pull/12046) arch/arm/s32k3xx: Fix incorrect check for invalid port or pin number * [#12235](https://github.com/apache/nuttx/pull/12235) arch/arm/mx8mp: add rptun/rpmsg client support * [#12018](https://github.com/apache/nuttx/pull/12018) arch/arm/qemu/armv7a: add Symmetric Multi-Processing (SMP) support * [#12138](https://github.com/apache/nuttx/pull/12138) arch/arm/qemu/trustzone: add secure memory config * [#12417](https://github.com/apache/nuttx/pull/12417) arch/arm/samv7: add support for user signature area in embedded flash * [#12255](https://github.com/apache/nuttx/pull/12255) arch/arm/samv7: build sam_qencoder.c only if at least one timer counter is enabled * [#12131](https://github.com/apache/nuttx/pull/12131) arch/arm/sama5: Improvements relating to SAMA5 TSD driver * [#12382](https://github.com/apache/nuttx/pull/12382) arch/arm/samv7: enforce compilation error for incompatible configuration options * [#12392](https://github.com/apache/nuttx/pull/12392) arch/arm/samv7: fix U(S)ART clock enable for 1-wire * [#12393](https://github.com/apache/nuttx/pull/12393) arch/arm/samv7: remove duplicated prototypes * [#12077](https://github.com/apache/nuttx/pull/12077) arch/arm/samv7/sam_pwm.c: adjust arch driver to DCPOL options * [#12306](https://github.com/apache/nuttx/pull/12306) arch/arm/samv7/sam_pwm.c: option to make channels synchronous * [#12081](https://github.com/apache/nuttx/pull/12081) arch/arm/samv7/sam_qencoder.c: add support for GETINDEX ioctl call * [#12247](https://github.com/apache/nuttx/pull/12247) arch/arm/samv7/sam_pwm.c: option to enable only the L PWM outputs * [#12538](https://github.com/apache/nuttx/pull/12538) arch/arm/stm32h7: allow Ethernet MAC without PHY * [#11933](https://github.com/apache/nuttx/pull/11933) arch/arm/stm32f7: Add support to I2S Audio inteface using I2S/SPI peripheral * [#11990](https://github.com/apache/nuttx/pull/11990) arch/arm/stm32h7: Serial Fix Logic error in up_dma_txavailable * [#12145](https://github.com/apache/nuttx/pull/12145) arch/arm/stm32h7/linum-stm32h753bi: Add support to littlefs and nxffs * [#11996](https://github.com/apache/nuttx/pull/11996) arch/arm/stm32h7/linum-stm32h753bi: Add FDCAN support * [#12014](https://github.com/apache/nuttx/pull/12014) arch/arm/stm32h7/linum-stm32h753bi: add support to leds * [#12083](https://github.com/apache/nuttx/pull/12083) arch/arm/stm32h7/fdcan: fixed kconfig and debug register * [#12093](https://github.com/apache/nuttx/pull/12093) arch/arm/stm32h7/stm32_i2c: fix sending large data over i2c * [#12105](https://github.com/apache/nuttx/pull/12105) arch/arm/stm32f76xx77xx_rcc: Fix PLLI2S factor divisors * [#12470](https://github.com/apache/nuttx/pull/12470) arch/arm/xmc4 uart driver fix * [#12425](https://github.com/apache/nuttx/pull/12425) arch/arm/xmc4 vadc driver - background request source partial support * [#12482](https://github.com/apache/nuttx/pull/12482) arch/arm/xmc4 vadc driver - background request source partial support (linked to #12425) * [#12352](https://github.com/apache/nuttx/pull/12352) arch/arm/mxc4/XMC4800 improve EtherCAT support * [#12049](https://github.com/apache/nuttx/pull/12049) arch/arm64: Add -mcpu=cortex-a55 * [#12146](https://github.com/apache/nuttx/pull/12146) arch/arm64: Add atomic modifyregXX * [#12524](https://github.com/apache/nuttx/pull/12524) arch/arm64: add DSB ISB where necessary * [#12523](https://github.com/apache/nuttx/pull/12523) arch/arm64: add poweroff * [#12525](https://github.com/apache/nuttx/pull/12525) arch/arm64: align stack pointer and misc update * [#12521](https://github.com/apache/nuttx/pull/12521) arch/arm64: Change the ARM configuration name to ARM64 * [#12353](https://github.com/apache/nuttx/pull/12353) arch/arm64: EL3 runtime support * [#12327](https://github.com/apache/nuttx/pull/12327) arch/arm64: optimise for arm64_switchcontext * [#12526](https://github.com/apache/nuttx/pull/12526) arch/arm64: use serr for error log * [#12160](https://github.com/apache/nuttx/pull/12160) arch/arm64/imx9: Add a more capable uart driver * [#12228](https://github.com/apache/nuttx/pull/12228) arch/arm64/imx9: Add DMA memory allocator * [#12183](https://github.com/apache/nuttx/pull/12183) arch/arm64/imx9: Add eDMA driver * [#12273](https://github.com/apache/nuttx/pull/12273) arch/arm64/Imx9: Add ethernet driver * [#12034](https://github.com/apache/nuttx/pull/12034) arch/arm64/imx9: Add GPIO and IOMUX drivers * [#12149](https://github.com/apache/nuttx/pull/12149) arch/arm64/imx9: Add LPI2C driver * [#12164](https://github.com/apache/nuttx/pull/12164) arch/arm64/imx9: Add LPSPI driver * [#12213](https://github.com/apache/nuttx/pull/12213) arch/arm64/imx9: Add PSCI (system reset) support * [#12292](https://github.com/apache/nuttx/pull/12292) arch/arm64/imx9: Add uSDHC driver * [#12054](https://github.com/apache/nuttx/pull/12054) arch/arm64/Imx9: lptpm pwm * [#12048](https://github.com/apache/nuttx/pull/12048) arch/arm64/Imx9: flexio pwm * [#12051](https://github.com/apache/nuttx/pull/12051) arch/arm64/Imx9: usbdev driver * [#12170](https://github.com/apache/nuttx/pull/12170) arch/arm64/imx9/imx9_boot.c: Add initialization of pin interrupts * [#12229](https://github.com/apache/nuttx/pull/12229) arch/arm64/imx9/imx9_clockconfig: Add way to change and ask for PLL frequency * [#12059](https://github.com/apache/nuttx/pull/12059) arch/arm64/imx9/imx9_flexio_pwm.c: Fix wrong input scale * [#12161](https://github.com/apache/nuttx/pull/12161) arch/arm64/imx9/imx9_iomux.h: Fix issues with the header file * [#12182](https://github.com/apache/nuttx/pull/12182) arch/arm64/imx9/imx9_usbdev.c: Fix the descriptor alignments and … * [#12428](https://github.com/apache/nuttx/pull/12428) arch/arm64/imx9/Imx93 base addr * [#12148](https://github.com/apache/nuttx/pull/12148) arch/arm64/imx9/imx93_gpioirq: Fix the GPIO interrupt source names * [#12305](https://github.com/apache/nuttx/pull/12305) sim: add sqlite configuration * [#12431](https://github.com/apache/nuttx/pull/12431) sim: Allow the sim to set the MTU of netdevice and support the jumbo frame. * [#12167](https://github.com/apache/nuttx/pull/12167) sim: Modify the existing implementation of the simwifi script * [#12088](https://github.com/apache/nuttx/pull/12088) sim/kconfig: select ARCH_TOOLCHAIN_GNU * [#12172](https://github.com/apache/nuttx/pull/12172) arch/risc-v: add LLVM clang support * [#12176](https://github.com/apache/nuttx/pull/12176) arch/risc-v: add llvm experimental extensions into command line * [#12118](https://github.com/apache/nuttx/pull/12118) arch/risc-v: Add more debug related CSR definitions * [#12488](https://github.com/apache/nuttx/pull/12488) arch/risc-v: Add support for S-mode flat build * [#12506](https://github.com/apache/nuttx/pull/12506) arch/risc-v: Add support for SOPHGO SG2000 SoC (T-Head C906) * [#12184](https://github.com/apache/nuttx/pull/12184) arch/risc-v: add support of save/restore vector registers * [#12125](https://github.com/apache/nuttx/pull/12125) arch/risc-v: add T-HEAD CSR mapping * [#12174](https://github.com/apache/nuttx/pull/12174) arch/risc-v: Add Vector CSRs to csr.h * [#12265](https://github.com/apache/nuttx/pull/12265) arch/risc-v: assign idlestack array statically * [#12398](https://github.com/apache/nuttx/pull/12398) arch/risc-v: Check that the size is valid for NAPOT * [#12261](https://github.com/apache/nuttx/pull/12261) arch/risc-v: correct minor issues regarding comments * [#12220](https://github.com/apache/nuttx/pull/12220) arch/risc-v: decouple Per-CPU scratch with ARCH_USE_S_MODE * [#12296](https://github.com/apache/nuttx/pull/12296) arch/risc-v: esp32_c3/pm: Fix assert issue in PM mode * [#12396](https://github.com/apache/nuttx/pull/12396) arch/risc-v: Feature/esp rtc io * [#12236](https://github.com/apache/nuttx/pull/12236) arch/risc-v: fix break on kernel mode * [#12326](https://github.com/apache/nuttx/pull/12326) arch/risc-v: fix idle stack assign order * [#12132](https://github.com/apache/nuttx/pull/12132) arch/risc-v: fix RV32 addrenv destroy issue * [#12117](https://github.com/apache/nuttx/pull/12117) arch/risc-v: force using encoding macro for CSR access * [#12389](https://github.com/apache/nuttx/pull/12389) arch/risc-v: guard tcb->name usage * [#12250](https://github.com/apache/nuttx/pull/12250) arch/risc-v: implement SBI ipi extension * [#12527](https://github.com/apache/nuttx/pull/12527) arch/risc-v: Improve the SBI function handle * [#12288](https://github.com/apache/nuttx/pull/12288) arch/risc-v: Make bl602 allocate idle stack after ebss * [#12295](https://github.com/apache/nuttx/pull/12295) arch/risc-v: Make esp32 SoCs allocate idle stack after ebss * [#12543](https://github.com/apache/nuttx/pull/12543) arch/risc-v: move PRIxREG to inttypes.h * [#12534](https://github.com/apache/nuttx/pull/12534) arch/risc-v: New CSRs about CLIC support for RISCV * [#12207](https://github.com/apache/nuttx/pull/12207) arch/risc-v: remove the hard code array of cpu idle stack * [#12200](https://github.com/apache/nuttx/pull/12200) arch/risc-v: rename local variable name to avoid shadowed declaration * [#12232](https://github.com/apache/nuttx/pull/12232) arch/risc-v: replace atomic operations to AMO * [#12522](https://github.com/apache/nuttx/pull/12522) arch/risc-v: revise mtimer for rv64ilp32 * [#12504](https://github.com/apache/nuttx/pull/12504) arch/risc-v: revise MMIO for rv64ilp32 * [#12475](https://github.com/apache/nuttx/pull/12475) arch/risc-v: support rv64ilp32 ABI * [#12542](https://github.com/apache/nuttx/pull/12542) arch/risc-v/bl808: Add courier system driver * [#12036](https://github.com/apache/nuttx/pull/12036) arch/risc-v/espressif: Fix empty cpuint number * [#12486](https://github.com/apache/nuttx/pull/12486) arch/risc-v/esp: Make the legacy bootloader (IDF bootloader) option visible * [#12450](https://github.com/apache/nuttx/pull/12450) arch/risc-v/esp32[c3]: Add XTWDT support * [#12337](https://github.com/apache/nuttx/pull/12337) arch/risc-v/esp32[c3|c6]: Add support for Wi-Fi * [#11992](https://github.com/apache/nuttx/pull/11992) arch/risc-v/esp32[c3|c6|h2]: Fix filesystem test support * [#12044](https://github.com/apache/nuttx/pull/12044) arch/risc-v/esp32[c3|c6|h2]: Fix RTC data placement * [#12163](https://github.com/apache/nuttx/pull/12163) arch/risc-v/esp32[c3|c6|h2]: Fix simple boot map_rom_segments * [#12485](https://github.com/apache/nuttx/pull/12485) arch/risc-v/esp32[c3|c6|h2]: Add gspi master support * [#12495](https://github.com/apache/nuttx/pull/12495) arch/risc-v/esp32[c3|c6|h2]: Add SPI Slave support * [#12104](https://github.com/apache/nuttx/pull/12104) arch/risc-v/esp32[c3|h2|c6]: Bugfixes for filesystem errors * [#12254](https://github.com/apache/nuttx/pull/12254) arch/risc-v/esp32[c3|h2|c6]: Add support to TWAI/CANBus controller * [#12429](https://github.com/apache/nuttx/pull/12429) arch/risc-v/fork.S: Fix clobbering of s0 in fork() * [#12512](https://github.com/apache/nuttx/pull/12512) arch/risc-v/include/elf.f: Support coredump for rv32 and rv64 targets. * [#12430](https://github.com/apache/nuttx/pull/12430) arch/risc-v/litex/litex_arch_alarm: Support tickless schedular with arch alarm. * [#12544](https://github.com/apache/nuttx/pull/12544) arch/risc-v/nuttsbi: add MTVAL argument * [#12453](https://github.com/apache/nuttx/pull/12453) arch/risc-v/mpfs: Add error handling for PMP conf * [#12359](https://github.com/apache/nuttx/pull/12359) arch/risc-v/mpfs: Change linker symbols _ssbi_ddr and _esbi_ddr into _ssbi… * [#12276](https://github.com/apache/nuttx/pull/12276) arch/risc-v/pgmap: Fix bug in kernel page directory init * [#12279](https://github.com/apache/nuttx/pull/12279) arch/risc-v/qemu: fix kernel build issue 12275 * [#12290](https://github.com/apache/nuttx/pull/12290) arch/risc-v/qemu: graceful shutdown via SBI * [#12178](https://github.com/apache/nuttx/pull/12178) arch/risc-v/qemu-rv: Add S-mode support * [#12433](https://github.com/apache/nuttx/pull/12433) arch/risc-v/riscv_mtimer: Update the mtimecmp value once per interrup… * [#12535](https://github.com/apache/nuttx/pull/12535) arch/risc-v/rv64ilp32: revise fpucmp * [#12435](https://github.com/apache/nuttx/pull/12435) arch/risc-v/syscall: Optimize user service call performance * [#12301](https://github.com/apache/nuttx/pull/12301) arch/risc-v/virt: graceful shutdown in M-mode * [#12267](https://github.com/apache/nuttx/pull/12267) arch/xtensa: Fix esp32s3 build warnings * [#12530](https://github.com/apache/nuttx/pull/12530) arch/xtensa: Modified ESP32S3 chip names and added "ARCH_CHIP_ESP32S3CUSTOM" chip module * [#12323](https://github.com/apache/nuttx/pull/12323) arch/xtensa: Zero-Cross driver to ESP32 * [#12030](https://github.com/apache/nuttx/pull/12030) arch/xtensa/esp32: Use the Espressif`s common RMT driver. * [#12328](https://github.com/apache/nuttx/pull/12328) arch/xtensa/esp32[|s2|s3]: Fix D_I_BUS_OFFSET * [#12003](https://github.com/apache/nuttx/pull/12003) arch/xtensa/esp32[|s2|s3]: Update libc stubs to properly acquire/release locks * [#12399](https://github.com/apache/nuttx/pull/12399) arch/xtensa/esp32[|s2|s3]: textheap: do not require RTC heap * [#12006](https://github.com/apache/nuttx/pull/12006) arch/xtensa/esp32s3: Add 16-byte-align SPI-Flash encryption write * [#12355](https://github.com/apache/nuttx/pull/12355) arch/xtensa/esp32s3: Add a few optional text heap APIs to support esp32s3 * [#12269](https://github.com/apache/nuttx/pull/12269) arch/xtensa/esp32s3: add a variation with 32MB flash * [#12289](https://github.com/apache/nuttx/pull/12289) arch/xtensa/esp32s3: Add ESP32-S3 ADC driver * [#12007](https://github.com/apache/nuttx/pull/12007) arch/xtensa/esp32s3: Add ESP32-S3 AES driver * [#12217](https://github.com/apache/nuttx/pull/12217) arch/xtensa/esp32s3: Add missing entries to iram.text from legacy_sections.ld * [#12165](https://github.com/apache/nuttx/pull/12165) arch/xtensa/esp32s3: add simple boot support * [#12447](https://github.com/apache/nuttx/pull/12447) arch/xtensa/esp32s2: add simple boot support * [#12076](https://github.com/apache/nuttx/pull/12076) arch/xtensa/esp32S3: configuring gpio pin 19 or 20 ( USB_D+/- ) for purposes other than USB/JTAG Controller and I2S pin selection range fixed * [#12264](https://github.com/apache/nuttx/pull/12264) arch/xtensa/esp32s3: give ESP32S3_APP_FORMAT_LEGACY a prompt * [#12043](https://github.com/apache/nuttx/pull/12043) arch/xtensa/esp32s3: Fix duplicate definition warnings * [#12008](https://github.com/apache/nuttx/pull/12008) arch/xtensa/esp32s3: Fix one page program span over 2 pages * [#12334](https://github.com/apache/nuttx/pull/12334) arch/xtensa/esp32s3: make textheap return i-bus address consistently * [#12332](https://github.com/apache/nuttx/pull/12332) arch/xtensa/esp32s3: pending interrupt should be clear while disable GPIO IRQ * [#12222](https://github.com/apache/nuttx/pull/12222) arch/xtensa/esp32s3: Support ESP32-S3 PM standby and sleep. * [#12348](https://github.com/apache/nuttx/pull/12348) arch/xtensa/esp32s3: textheap.c: fix range checks * [#12004](https://github.com/apache/nuttx/pull/12004) arch/xtensa/esp32s3: Update wireless drivers * [#12505](https://github.com/apache/nuttx/pull/12505) arch/xtensa/esp32s3/Bootloader.mk: Correction for MCUBoot Version Config Variable * [#12364](https://github.com/apache/nuttx/pull/12364) arch/espressif: Add option to disable the GIT_DEPTH to pull submodules * [#12206](https://github.com/apache/nuttx/pull/12206) arch/x86_64: add simple ACPI parser * [#12234](https://github.com/apache/nuttx/pull/12234) arch/x86_64: enable CUSTOMOPT * [#12205](https://github.com/apache/nuttx/pull/12205) arch/x86_64/intel64: add cache support * [#12204](https://github.com/apache/nuttx/pull/12204) arch/x86_64/intel64: various cosmetic changes * [#12225](https://github.com/apache/nuttx/pull/12225) arch/x86_64/x86_64_acpi.c: avoid debug messages in acpi_init() * [#12214](https://github.com/apache/nuttx/pull/12214) arch/x86_64/x86_64_acpi.c: cosmetic changes after review * [#12210](https://github.com/apache/nuttx/pull/12210) arch/x86_64/x86_64_acpi.c: make sure that RSDP is mapped Driver Support New Driver Support * [#12191](https://github.com/apache/nuttx/pull/12191) drivers/sensors: add support for bmm150 magnetometer * [#12193](https://github.com/apache/nuttx/pull/12193) drivers/sensors: add support for adxl362 accelerometer * [#12329](https://github.com/apache/nuttx/pull/12329) drivers/video/V4l2m2m Drivers With Improvements * [#12531](https://github.com/apache/nuttx/pull/12531) drivers: add note when driver registers * [#12139](https://github.com/apache/nuttx/pull/12139) drivers: There is no need to use sched_[un]lock * [#12473](https://github.com/apache/nuttx/pull/12473) drivers/1wire: update pm callback use container_of * [#12411](https://github.com/apache/nuttx/pull/12411) drivers/analog: add configuration option to set DAC FIFO size * [#12143](https://github.com/apache/nuttx/pull/12143) drivers/analog: enable support for multible devices of mcp48xx * [#11940](https://github.com/apache/nuttx/pull/11940) drivers/devicetree: Add a set of commonly used FDT utilities. * [#12405](https://github.com/apache/nuttx/pull/12405) drivers/devicetree/fdt: add additional fdt parsing utilities * [#12519](https://github.com/apache/nuttx/pull/12519) drivers/can/sja1000: fix cmd register write * [#12507](https://github.com/apache/nuttx/pull/12507) drivers/can/sja1000: fix Rx buffer pointer issue * [#12084](https://github.com/apache/nuttx/pull/12084) drivers/filemtd supports Nand-like file systems * [#12058](https://github.com/apache/nuttx/pull/12058) drivers/ioexpander/icjx: add support for change of input interrupts on NINT * [#12311](https://github.com/apache/nuttx/pull/12311) drivers/ioexpander/icjx: use iC-JX interrupt config instead of the general one * [#12367](https://github.com/apache/nuttx/pull/12367) drivers/misc/fix: call rwb->rhreload() when nblocks > 0 * [#12188](https://github.com/apache/nuttx/pull/12188) drivers/misc/fix: the bug about rwbuffer causing mem overflow * [#12202](https://github.com/apache/nuttx/pull/12202) drivers/misc/rwbuffer: fix rwbuffer overflow issue * [#12317](https://github.com/apache/nuttx/pull/12317) drivers/mmcsd/mmcsd_sdio.c: Fix SD card 4-bit support * [#12042](https://github.com/apache/nuttx/pull/12042) drivers/net/lan9250: Fix crash issue of sending packets by lan9250 driver under SMP and multi-thread * [#12120](https://github.com/apache/nuttx/pull/12120) drivers/power/pm: Fix warning of type cast * [#12233](https://github.com/apache/nuttx/pull/12233) drivers/serial: mps3-an547:support nuttx run qemu(cortex-m55) * [#12177](https://github.com/apache/nuttx/pull/12177) drivers/serial/16550: remove unused function * [#12443](https://github.com/apache/nuttx/pull/12443) drivers/serial/pl011: add the interface about clock and reset control. * [#12262](https://github.com/apache/nuttx/pull/12262) drivers/serial/pl011: configurable clock frequency * [#12369](https://github.com/apache/nuttx/pull/12369) drivers/sensors: improvements for bmm150 and bh1749nuc * [#12240](https://github.com/apache/nuttx/pull/12240) drivers/sensors: various fixes for sensors * [#12258](https://github.com/apache/nuttx/pull/12258) drivers/sensors/Kconfig: Added if SENSORS_BME680 for common dependency * [#12192](https://github.com/apache/nuttx/pull/12192) drivers/sensors/adxl372: add support for the new sensor framework * [#12190](https://github.com/apache/nuttx/pull/12190) drivers/sensors/bh1749nuc: add support for the new sensor framework * [#12189](https://github.com/apache/nuttx/pull/12189) drivers/sensors/bmi270: add support for the new sensor framework * [#12513](https://github.com/apache/nuttx/pull/12513) drivers/sensors/bmi270: fix bmi270_uorb build * [#12244](https://github.com/apache/nuttx/pull/12244) drivers/sensors/bmi270_uorb.c: move init sequence to register function * [#12012](https://github.com/apache/nuttx/pull/12012) drivers/spi: Add support for FPGA iCE40 bitstream loading. * [#12341](https://github.com/apache/nuttx/pull/12341) drivers/tun: add tx packets dump * [#12413](https://github.com/apache/nuttx/pull/12413) drivers/timers/mcp794xx: store datetime in UTC and add trimming support * [#12474](https://github.com/apache/nuttx/pull/12474) drivers/timers/watchdog: fix idle callback maybe not upperhalf * [#12198](https://github.com/apache/nuttx/pull/12198) drivers/usbdev: fix complile break about mtp class * [#12199](https://github.com/apache/nuttx/pull/12199) drivers/usbdev/cdcacm: simply cdcacm uninitialize flow and fix double issue * [#12197](https://github.com/apache/nuttx/pull/12197) drivers/usbdev/fs: fix issue between adb/fastboot/mtp and usbdev fs * [#12539](https://github.com/apache/nuttx/pull/12539) drivers/video: fix code scan * [#11995](https://github.com/apache/nuttx/pull/11995) drivers/video: Make the I2C access more efficient * [#11994](https://github.com/apache/nuttx/pull/11994) drivers/video/isx019: Fix default_value of 3A status * [#11999](https://github.com/apache/nuttx/pull/11999) drivers/video/isx019: Fix the default_value of some parameters * [#12024](https://github.com/apache/nuttx/pull/12024) drivers/virtio/gpu: minor revision on virtio_gpu_send_cmd() * [#12330](https://github.com/apache/nuttx/pull/12330) drivers/vnc:fix vnc kbd assert cause by wrong data conversion * [#12390](https://github.com/apache/nuttx/pull/12390) PM: add stability governer * [#12351](https://github.com/apache/nuttx/pull/12351) PM: change domain field state after callback done * [#12503](https://github.com/apache/nuttx/pull/12503) pm: change pm lock from mutex to spinlock * [#12400](https://github.com/apache/nuttx/pull/12400) pm: do struct timespec copy to decrease api call times. * [#12357](https://github.com/apache/nuttx/pull/12357) pm: fix when RTC_HIRES enabled pm procfs err * [#12471](https://github.com/apache/nuttx/pull/12471) pm: make compile dummy when PM not enabled. * [#12509](https://github.com/apache/nuttx/pull/12509) pm: pm_runtime fix header * [#12360](https://github.com/apache/nuttx/pull/12360) pm: procfs add pm prapare fail stats * [#12444](https://github.com/apache/nuttx/pull/12444) pm: remove pm global, make per domain isolated * [#12540](https://github.com/apache/nuttx/pull/12540) pm: remove pm_lock spinlock wrapper * [#12472](https://github.com/apache/nuttx/pull/12472) pm: shorten the pm procfs domain lock time. * [#12368](https://github.com/apache/nuttx/pull/12368) pm_procfs: update state up to now when pm procfs read * [#12537](https://github.com/apache/nuttx/pull/12537) pm_runtime: lock use pm_runtime_lock * [#11987](https://github.com/apache/nuttx/pull/11987) Video improvement * [#12135](https://github.com/apache/nuttx/pull/12135) video: Move video_format_s from video.h to v4l2_cap.c * [#12238](https://github.com/apache/nuttx/pull/12238) video/fb: userspace framebuffer support * [#12286](https://github.com/apache/nuttx/pull/12286) video/fb: userspace framebuffer updates Board Support New Board Support * [#12186](https://github.com/apache/nuttx/pull/12186) Support for W5500-EVB-Pico board * [#12324](https://github.com/apache/nuttx/pull/12324) boards/stm32h7: Add initial support to WeAct STM32H743 * [#12528](https://github.com/apache/nuttx/pull/12528) risc-v/k230: initial rv64ilp32 support Boards With  Improvements * [#12287](https://github.com/apache/nuttx/pull/12287) Added support in Nucleo-L476RG board for BMP280 sensor. * [#12347](https://github.com/apache/nuttx/pull/12347) Added support in Nucleo-L476RG board for MPU9250 sensor. * [#12373](https://github.com/apache/nuttx/pull/12373) Fixed collision between CAN1 and I2C1. Board nucleo-l476rg. * [#12384](https://github.com/apache/nuttx/pull/12384) XMC4800 fix config board.h * [#12440](https://github.com/apache/nuttx/pull/12440) boards: cxd56xx: Fix read position in cxd5610 gnss driver * [#12038](https://github.com/apache/nuttx/pull/12038) boards: Fix board configs after disabling NSH_DISABLE_HELP * [#12410](https://github.com/apache/nuttx/pull/12410) boards: Kconfig esp32c3, esp32 and esp32s3 corrected PM block * [#12028](https://github.com/apache/nuttx/pull/12028) boards: rp2040: Fix build errors for nshsram configurations * [#12420](https://github.com/apache/nuttx/pull/12420) boards/raspberrypi-pico: Add support to BMP280 * [#12025](https://github.com/apache/nuttx/pull/12025) boards/raspberrypi-pico: Fix nshsram build error * [#12448](https://github.com/apache/nuttx/pull/12448) boards/raspberrypi-pico: Remove early return for error cases in initialization functions. * [#12403](https://github.com/apache/nuttx/pull/12403) boards/arm/stm32: Add support to transparent OLED SSD1309 * [#12371](https://github.com/apache/nuttx/pull/12371) boards/arm/stm32: Stm32f401rc rs485 hcsr04 * [#12241](https://github.com/apache/nuttx/pull/12241) boards/arm/stm32/common/src/stm32_bh1750.c: fix include * [#12370](https://github.com/apache/nuttx/pull/12370) boards/arm/stm32h7/linum-stm32h753bi: add support to ethernet connection * [#12248](https://github.com/apache/nuttx/pull/12248) boards/arm/stm32h7/linum-stm32h753bi: Add support to rndis(etherver over usb) * [#12272](https://github.com/apache/nuttx/pull/12272) boards/arm/stm32h7/linum-stm32h753bi: Add support to usbmsc with sdcard * [#12082](https://github.com/apache/nuttx/pull/12082) boards/arm/stm32h7/linum-stm32h753bi: add support to zmodem * [#12039](https://github.com/apache/nuttx/pull/12039) boards/arm/stm32h7/linum-stm32h753bi: fixed leds example * [#12162](https://github.com/apache/nuttx/pull/12162) boards/arm64/imx9/imx93-evk/src/imx9_pwm.c: Fix initialization of TPM… * [#12358](https://github.com/apache/nuttx/pull/12358) boards/arm64/imx93-evk: Fix potential warning about unused variable * [#12021](https://github.com/apache/nuttx/pull/12021) boards/control: add irq affinity control * [#12166](https://github.com/apache/nuttx/pull/12166) boards/stm32: Fix ds1307 and move it to stm32/common * [#12245](https://github.com/apache/nuttx/pull/12245) boards/stm32f103-minimum: fix i2c driver register * [#12257](https://github.com/apache/nuttx/pull/12257) boards/stm32f401rc-rs485: Add support to Mass Storage * [#12246](https://github.com/apache/nuttx/pull/12246) boards/stm32f401rc-rs485: Add support to RNDIS * [#12483](https://github.com/apache/nuttx/pull/12483) boards/thingy53: add sensors support * [#12510](https://github.com/apache/nuttx/pull/12510) boards/risc-v: Add support for Milk-V Duo S SBC (SOPHGO SG2000 SoC) * [#12408](https://github.com/apache/nuttx/pull/12408) boards/risc-v/litex/arty_a7/Kconfig: Added if LITEX_SDIO for common dependency * [#12365](https://github.com/apache/nuttx/pull/12365) boards/risc-v/mpfs/common/src: Update mpfs_emmcsd.c and mpfs_composite.c * [#12372](https://github.com/apache/nuttx/pull/12372) boards/risc-v/rv-virt: Use config to compute memory layout for kernel build * [#12308](https://github.com/apache/nuttx/pull/12308) boards/risc-v/rv-virt/configs: enable debug features * [#12155](https://github.com/apache/nuttx/pull/12155) boards/risc-v/rv-virt/knsh32: enable debugging options * [#12304](https://github.com/apache/nuttx/pull/12304) boards/xtensa: update esp32-devkitc/wamr_wasi_debug * [#12310](https://github.com/apache/nuttx/pull/12310) boards/xtensa/esp32s3: Limit MTD partition size according to the flash size and revert "esp32s3: give ESP32S3_APP_FORMAT_LEGACY a prompt * [#12256](https://github.com/apache/nuttx/pull/12256) boards/xtensa/esp32/lvgl: fix lvgl v9 configuration error Networking Improvements * [#12215](https://github.com/apache/nuttx/pull/12215) Netlink route support * [#12080](https://github.com/apache/nuttx/pull/12080) net: Fix max conn always one less than configured value * [#12487](https://github.com/apache/nuttx/pull/12487) net: fixed bind can not return error when used same addr. * [#12454](https://github.com/apache/nuttx/pull/12454) net: Enable `CONFIG_NET_ARP_SEND` by default * [#12110](https://github.com/apache/nuttx/pull/12110) net: Make TCP/UDP max & min port customizable * [#12129](https://github.com/apache/nuttx/pull/12129) net: Optimize TCP/UDP port selection * [#12508](https://github.com/apache/nuttx/pull/12508) net: Support packet filter (firewall) and corresponding iptables/ip6tables * [#12338](https://github.com/apache/nuttx/pull/12338) net/icmpv6: fix resource leak of icmpv6 * [#12452](https://github.com/apache/nuttx/pull/12452) net/inet: Rename ttl to s_ttl in sconn * [#12251](https://github.com/apache/nuttx/pull/12251) net/ipv6: Optimized the ipv6 sending of the Layer 3 NIC * [#12340](https://github.com/apache/nuttx/pull/12340) net/ipv6/netlink: add netlink report when get ipv6 address by icmpv6 * [#12465](https://github.com/apache/nuttx/pull/12465) net/can: Add SO_RCVBUF option for can socket * [#12089](https://github.com/apache/nuttx/pull/12089) net/can: deliver data into multiple CAN conn bound to same dev * [#12344](https://github.com/apache/nuttx/pull/12344) net/netdev: Check quota when registering lower-half devices * [#12203](https://github.com/apache/nuttx/pull/12203) net/netdev_upperhalf: add L3 packet handle * [#12221](https://github.com/apache/nuttx/pull/12221) net/netfilter: Correction of header files * [#12156](https://github.com/apache/nuttx/pull/12156) net/netlink: Add NETLINK_NETFILTER's CONNTRACK support * [#12458](https://github.com/apache/nuttx/pull/12458) net/netlink: fix IPV6 macro bug * [#12130](https://github.com/apache/nuttx/pull/12130) net/nat: Minor code optimizations * [#12107](https://github.com/apache/nuttx/pull/12107) net/nat: Slightly optimize the IPv4 NAT * [#12116](https://github.com/apache/nuttx/pull/12116) net/nat: Support IPv6 Masquerading (NAT66) * [#12085](https://github.com/apache/nuttx/pull/12085) net/nat: Support Symmetric NAT * [#12339](https://github.com/apache/nuttx/pull/12339) net/route: fix Mico definition bug * [#12253](https://github.com/apache/nuttx/pull/12253) net/tcp: decouple TCP_NODELAY and NET_TCP_KEEPALIVE * [#12391](https://github.com/apache/nuttx/pull/12391) net/tcp: fix tcp will not close when tcp retransmission reaches TCP_MAXRTX * [#12342](https://github.com/apache/nuttx/pull/12342) net/udp: fix udp wrb-iob leak when NIC was down * [#12015](https://github.com/apache/nuttx/pull/12015) net/udp: Slight improvement on multicast * [#12212](https://github.com/apache/nuttx/pull/12212) net/udp_input: Only dup packets for broadcast / multicast.