Apache NuttX-12.13.0 Release Notes

What’s New In This Release Major Changes to Core OS Sched

  • #17287 sched/clock: Fix missing clock_inittime() call
  • #17423 docs/sched/sched: Add documentation for different sleep interfaces
  • #17482 sched/clock: Remove unnecessary preprocessor definition
  • #17485 sched/misc: correct coredump log format
  • #17517 sched/sched: Part 1: add high resolution timer (hrtimer) only (without os tick support with hrtimer) for NuttX
  • #17535 sched/signal: assert if call timedwait from interrupt
  • #17545 sched: merge task_tcb_s and pthread_tcb_s into tcb to simplify the code.
  • #17546 sched/env_putenv:putenv is kernel function need use kmm_free
  • #17564 Revert “sched/group: move task group into task_tcb_s to improve perfo…
  • #17584 sched: Improvements on sched_timerexpiration.
  • #17640 sched/wdog: Fix-up for SMP and Improvements.
  • #17642 sched/hrtimer: hrtimer state machine improvement for SMP cases
  • #17644 sched/signals: add support to partially or fully disable signals
  • #17680 sched: Remove CONFIG_SCHED_TICKLESS_TICK_ARGUMENT.
  • #17681 sched/wdog: fix race condition in wd_gettime()
  • #17739 sched/task: fix Redundant memory allocation.
  • #17781 sched/hrtimer: isolate SMP logic in hrtimer
  • #17784 sched/hrtimer: Fix some functional correctness issues.
  • #17796 sched/wdog: Simplify the wdog expiration handling.
  • #17822 sched: binfmt remove csection
  • #17823 sched: merge nxsched_timer_expiration() into nxsched_process_timer() to simplify tick process
  • #17848 sched/hrtimer: Some improvements.
  • #17912 sched/sched: Improve sched make and cmake scripts
  • #17921 sched/hrtimer: fix Kconfig typo
  • #17941 sched/tls: fix uninitialized argv pointer in task info
  • #17953 sched/task: fix task_exit regression with critical section state
  • #17955 sched/addrenv: replace critical section with spinlock for refs protec…
  • #17957 sched/environ: rm cestion_in evn
  • #17958 sched/irq: handle NULL ISR handler in irq_default_handler
  • #17959 sched/signal: use spinlock to protect signal queues
  • #17969 sched/sched_roundrobin.c: fix round-robin scheduling in SMP mode
  • #17971 sched/list: some improvements.
  • #17981 sched: stack debugging improvements
  • #17985 sched/task: fix null pointer dereference in fork address environment …
  • #17991 sched/signals: improvements for when all signals are disabled
  • #17993 sched/wdog: Simplify tickless timer expiration.
  • #18002 sched/sched: add sched_timer.c to improve tick processing and enable hrtimer support for scheduler
  • #18007 sched/group: add spinlock in group_childstatus.c
  • #18012 sched: add spinlock to sched_note_preemption and nxsched_critmon_pree…
  • #18016 sched/task: MISRA/Coverity cleanups in scheduler, init, libc spawn, and ARMv8-R IRQ helpers
  • #18026 sched/hrtimer: add option for list-based hrtimer management
  • #18034 sched/environ: add interrupt context check to getenv
  • #18037 sched/tls: fix thread ID initialization in tls_dup_info
  • #18038 sched/pthread: use spin_lock_irqsave_nopreempt for mutex head lock
  • #18040 sched: move process ID from kernel to TLS for faster access
  • #18041 sched/pthread: remove duplicate robust mutex checking logic
  • #18047 [BUG-FIX] Fix some bug of sched
  • #18066 sched/irq: Avoid same static function name in different files
  • #18070 sched/signal: fix the occasional issue where SIGCONT was not executed
  • #18072 sched/wqueue: add configuring the stack of an hpwork/lpwork as static
  • #18078 sched: add configuration to record the busy waiting time
  • #18080 sched/sched: Modify the critical section interface name
  • #18084 sched/irq: declare the object in scope
  • #18086 sched/irq: avoid casting from signed int to unsigned int
  • #18090 sched/irq: Every function must have exactly one exit point
  • #18093 sched/irq: fix MISRA C problems for irq_chain.c
  • #18098 sched/pthread: move pthread mutex from syscall to user-space
  • #18105 sched/irq: Change the function parameter “regs” to “context”
  • #18111 sched/irq: Avoid directly converting variables of type uintptr_t to void
  • #18114 sched: add trace points during system startup and board initialization
  • #18118 sched: fix regression and improve NULL pointer safety in task information functions
  • #18122 sched/irq: Fix potential deadlock in irqchain_detach
  • #18131 sched/hrtimer: Fix functional correctness issues.
  • #18141 sched/hrtimer: refresh code comments to match implementation
  • #18160 sched/irq: Add architecture-specific IRQ-to-index mapping interface
  • #18174 sched/hrtimer: fix hrtimer regression introduced by recent update and add support for tickless with hrtimer
  • #18175 sched/irq: functions should have exactly one exit point
  • #18183 sched: Remove FS_PROCFS dependency for SCHED_CRITMONITOR
  • #18184 sched: Remove legacy sched_resumescheduler.c
  • #18187 sched: call spinlock nopreempt when need disable context swi…
  • #18189 sched: replace critical section with spinlock
  • #18190 sched/irq: Avoid negative array index in irqchain_dispatch
  • #18191 sched/irq: Fix type mismatch in irq_dispatch (MISRA C-2012 Rule 10.3)
  • #18192 sched/signal: Optimize code logic
  • #18193 sched/semaphore: Fix HIS_CALLS metric violation for MISRA compliance
  • #18196 sched: Add bounds checking to prevent OVERRUN defect
  • #18197 sched: Fix null pointer dereference (FORWARD_NULL defect)
  • #18198 sched: Reduce return points in sched_rrgetinterval() for MISRA compliance
  • #18201 sched/semaphore: Code quality improvements and MISRA compliance fixes
  • #18202 sched: Reduce return statements in sched_get_stackinfo() for MISRA compliance
  • #18203 sched/irq: Consolidate IRQ bounds checking into IRQ_TO_NDX macro
  • #18204 sched/irq: Avoid out-of-bounds array access
  • #18205 sched_setpriority: Consolidate return statements for MISRA HIS compliance
  • #18208 sched_setparam: Refactor nxsched_set_param() with helper functions for MISRA HIS compliance
  • #18210 sched: Optimize reader-writer semaphore and achieve MISRA HIS goto compliance
  • #18212 sched_getfiles: Consolidate return statements in nxsched_get_fdlist_from_tcb() for MISRA HIS compliance
  • #18215 sched_profil: Move static variable to block scope for MISRA C 2012 compliance
  • #18216 sched: Consolidate return statements for MISRA HIS compliance
  • #18217 sched_profil: Consolidate return statements for MISRA HIS compliance
  • #18220 sched_sysinfo: Consolidate return statements for MISRA HIS compliance
  • #18221 sched_get_stateinfo: Move static array to block scope for MISRA C 2012 Rule 8.9
  • #18223 sched_setscheduler: Eliminate goto statements and consolidate returns for MISRA HIS compliance
  • #18224 sched/hrtimer: Fix functional correctness issues and improve the performance.
  • #18237 sched: Consolidate return statements in sched_critmonitor() for MISRA HIS compliance
  • #18227 sched_getscheduler: Consolidate return statements for MISRA HIS compliance
  • #18235 sched_waitid: Code quality improvements for HIS compliance and complexity reduction
  • #18239 sched_cpuload: Move static wdog to block scope for MISRA C 2012 Rule 8.9
  • #18240 sched_sysinfo.c: misra_c_2012_rule_9_1_violation: uninit_use
  • #18241 Fix critical SMP scheduler issues with CPU selection and ready-to-run list management
  • #18255 sched/semaphore: optimize the source code
  • #18270 sched/spinlock: Replace critical_section with spinlock.
  • #18278 sched/sched: fix casting issue found by coverity
  • #18284 sched/clock: replace atomic operations with sequence lock for tick counter
  • #18306 sched: Fix CANCEL_FLAG_* macro definitions MISRA C:2012 Rule 10.4 violations
  • #18307 sched/spawn: Fix MISRA C Rule 10.4 violations
  • #18336 sched/waitpid: reduce cyclomatic complexity for HIS/MISRA compliance
  • #18338 sched/semaphore: Add debug assert to detect mutex recursion.
  • #18376 sched/mqueue: Enable receiving messages on an interrupt handler
  • #18437 sched/clock: fix CLOCK_BOOTTIME and CLOCK_MONOTONIC handling
  • #18438 sched/sched: fix typos and remove unused declarations in sched.h
  • #18444 sched/sched: Add nxsched_abstick_sleep() and make nxsched_ticksleep() a wrapper around it
  • #18448 sched/misc: fix incorrect mutex holder retrieval in assert backtrace
  • #18450 sched/misc: fix potential out-of-bounds access in coredump stack emission
  • #18451 sched/misc: fix incomplete data emission in coredump elf_emit function MM
  • #17439 mm/iob: add iob_init method to support external buffer init as iob structure
  • #17537 mm/mempool: fix misjudged condition of interrupt memory release
  • #17668 mm/iob: limit the alignment length of IOB to no less than sizeof(uinptr_t)
  • #17704 mm/iob: update all iob information in the iob_update_pktlen
  • #18042 mm/kasan: prevent recursive report overflow
  • #18358 mm/mm_gran: fix data truncation on 64-bit systems by using size_t for mask
  • #18445 mm/mempool: Optimize undefined behavior in memory pool allocation
  • #18464 mm/mempool: fix the entry condition for semaphore during mempool allocation
  • #17538 mm: use Kconfig to control sequence number to save memory
  • #18152 mm: implement custom umm heap, and enable heap management on the simulator
  • #18427 mm: use mm_malloc inside of mm_memalig libc
  • #17453 libs/libc: machine code update
  • #17479 libc/machine/xtensa: add mcount implementation for gprof
  • #17533 libc/libelf: fix bug for libelf_symname
  • #17534 libs/libc/misc: backtrace needs init lock before use
  • #17544 libs/libc: use builtin function to optimize string function
  • #17495 libs/libc/obstack/lib_obstack_free.c: fix object check within chunk
  • #17502 libc: improve libc dependencies in case of LIBM_NONE
  • #17568 libc/search: add foreach api for hcreate_data
  • #17571 libc/localtime: tz_lock/unlock should not touch tcb except FLAT
  • #17742 libc/syslograwstream: Use memrchr to locate the newline character for…
  • #17789 libc: Add Kconfig option to disable hex-string to float parsing
  • #17831 libs/libc/ftok: fix sizeof(char *), after tempbuffer
  • #17838 libcxx: porting libcxx test.
  • #17840 libs/libcxx: port for Infineon TASKING compiler.
  • #17841 libcxx: supports CXX_MINI_LOCALIZATION
  • #17846 libs/libxx: libcxxabi script updates
  • #17862 libs/libc: Fix fsetops func signature
  • #17898 libc/netdb: avoid unnecessary DNS notify if nameserver exists
  • #17910 libc/stdio: fix freopen fd handling and add fdsan support
  • #17936 libc: add creat function implementation
  • #17956 libs/libc: replace critical section with spinlock in hostname operations
  • #18028 libcxx/libstdc++: Add libsupc++.defs to support libsupc++
  • #18046 libc/pthread: Avoid compiler optimizations for once_control->done
  • #18058 libs/libc/regex: remove logically dead code in regcomp.c
  • #18076 libc/spawn: support get/set priority
  • #18018 libxx: fix __config_site for libcxx compile errors
  • #17990 libs/libxx: change libcxxmini to libminiabi
  • #18019 libs/libxx: Add _LIBCPP_HAS_NO_CONTENTION_TABLE to reduce RAM usage
  • #18136 libs/libc/pthread: Optimize mutex robustness configuration and remove unnecessary tl_lock
  • #18285 libc/tls: update preprocessor condition comment to match implementation
  • #18334 libc/string: Add BSD-optimized memset implementation.
  • #18449 libs/libc: add configurable skip count for mutex backtrace addresses
  • #17853 libs/libs: fix wqueue config typo
  • #18068 libs/crc: implement AUTOSAR-compatible CRC algorithm
  • #18151 libstdc++: Relocate c++config.h from include/ to libstdc++ to preserv tools
  • #17525 tools/nxtagspkgsfetch.sh: Fetch tags packages for NuttX and Apps.
  • #17874 Tools[feat]: Add config change impact simulation tool (checkkconfig) using kconfig-lib
  • #17886 tools/abi_check.py: Identify potential ABI incompatibility issues
  • #18035 tools/pynuttx/nxgdb: fix semaphore field access in debugging scripts
  • #18124 tools/parsetrace.py: Fix get_typesize bug in parsetrace.py
  • #18299 tools: fix make host_info flag parsing and config string escaping Various
  • #17444 include/string.h: mark memset and memcpy as used_code
  • #17569 include/nuttx: Introduce seqlock, a sequential count based read-write lock.
  • #17575 include/nuttx/atomic.h: fix C++ definition conflicts
  • #17851 include/sys: extend the IOCTL defintion that compatible with linux kernel
  • #18236 include/notifier: fix undefined reference to spin_lock_irqsave_nopreempt
  • #18308 include/cxx/cmath: Fix compatibility with external toolchains
  • #18374 include/cxx/cmath: Use toolchain with toolchain libm Crypto
  • #17932 crypto: export aes-cbc with 192/256 keysize
  • #17948 crypto/cryptodev: fix memory leak when failed to open /dev/crypto
  • #17952 Crypto key management with docs
  • #17994 crypto/cryptosoft: replace macro howmany with common macro div_round_up
  • #17995 crypto/blake2s.h: fix tasking compile warning
  • #17996 crypto/siphash: avoid redefine name issue
  • #18064 Crypto: export ecc software
  • #18138 crypto/cryptosoft: Fix HMAC-SHA when a long key is used
  • #18167 crypto: fixes for cryptodev, cryptosoft and RSA export updates
  • #18169 crypto: support software key management features (MTD storage, Key Gen) Major Changes to the Build System cmake
  • #18364 CMake: build implemented for NXP S32K3 Family
  • #17427 cmake: Add support for ccache
  • #17550 cmake:add lib_psa_set/getstackaddr file to CMakeLists.txt
  • #17558 cmake:add missing cflag “-D_FILE_OFFSET_BITS=64” of sim
  • #17579 arch/arm: Aligned Cmake with Make
  • #17430 boards/arm/stm32l4: CMake added boards Part1
  • #17794 fix cmake build
  • #17810 arch/arm/xmc4: Aligned Cmake with Make and added XMC4500 and XMC4700 Relax
  • #17852 CMake[enhance][debug]: Add target information tracking and dump capability for CMake builds
  • #17857 CMake(enhance): Complete defconfig include support with menuconfig writeback capability
  • #17864 arch/arm/cmake: fix the gnu-elf.ld handle error at ghs pre-process
  • #17868 CMake[bugfix]:Fix incorrect include directory order in CMake application configuration
  • #17908 arch/arm/src/am335x: CMake build implemented for TI AM335x Sitara
  • #17922 ghs.cmake: add preprocess command to the .ld script generate procedure
  • #17927 CMake(feat): Implement CMake ELF Application Build Mode
  • #17968 build/cmake: add missing libcxxtoolchain support
  • #18382 arm64/chip/imx9: add cmake support, add reboot support
  • #18015 libs/libm: cmake fix
  • #18033 arch: fix cmake error
  • #18144 CMake build implemented for NXP S32K1 Family
  • #18194 CMake: Multiple bugfix and optimizations for build system reliability
  • #18390 CMake: build implemented for Microchip’s SAM3 SAM4 Family
  • #18392 CMake: build implemented for Microchip’s SAM D/L Family
  • #18400 cmake/nuttx_mkconfig: Improve .config comparison logic
  • #18411 CMake: build implemented for Microchip’s SAM D5x/E5x Family
  • #18413 boards/arm/stm32f0l0g0: CMake fix build b-l072z-lrwan1:nxlines_oled
  • #18419 CMake: build implemented for STM32 STM32WB Series
  • #18423 CMake: build implemented for STM32 STM32L5 Series
  • #18432 CMake: build implemented for Allwinner A1X family
  • #18433 CMake: build implemented for Quicklogic EOS S3
  • #18440 CMake: build implemented for STM32 STM32WL5
  • #18443 cmake: bump minimum required CMake version to 3.20
  • #18455 arm64/cmake: fix typo in CMAKE_STRIP flag
  • #18466 CMake: build implemented for Microchip’s SAMA5 Family Architectural Support Architecture Improvements
  • #16795 arch/sim: save errno in sim context switch to avoid coroutine make errno mess between host api calls.
  • #17011 arch: Remove default value for BOARD_LOOPSPERMSEC
  • #17117 arch/arm/imxrt: serial registration fixes when no dev console defined
  • #17372 arch/arm64: fix create page table err
  • #17377 arch/arm64: config irq type
  • #17416 arch/arm/stm32h5: Add RS-485 support to serial driver
  • #17420 arch/xmc4 : various fixes and clean
  • #17425 arch/arm/samv7: allow all values for count in read
  • #17429 arch/arm/src/samv7/Kconfig: allow 0 in MCANx_RXFIFOx_SIZE
  • #17442 arch/arm/samv7: optimize MCUboot loader configuration
  • #17448 arch/armv8-r: use -mfpu=fpv5-sp-d16 for SP-only Cortex-R52 targets
  • #17450 arch/crt0.c: revert entry name to _start
  • #17454 arch/arm/src/kinetis: support RS485 on UART, fix warnings and pin assignment for K60
  • #17484 arch/sim: USB host support isochronous transfer endpoint
  • #17486 arch/Toolchain.defs: ELF entry for more archs
  • #17507 arch/risc-v: add crt0 to LDELFFLAG
  • #17523 arch/sim: fix sim spi issue
  • #17542 arch/x86_64: fix syscall type mismatch
  • #17549 arch/arm: use cfi to debug syscall
  • #17684 arch/armv8-m: Fix IRQ number corruption in exception_direct with O2 optimization
  • #17690 arch/tricore: enable CONFIG_SYSTEM_TIME64 for TC397
  • #17762 arch/risc-v: Fix incompatible pointer types in vector context switching
  • #17767 arch/risc-v: Enable VPU initialization for QEMU RV
  • #17788 arch/kinetis: Fix S32K3XX regressions caused by refactoring
  • #17795 arch/avr/src/avrdx: remove unused variable and update comment
  • #17815 arch/arm: fix the error in obtaining thread pointer after we use -mtp=soft
  • #17832 arch/arm/samv7: fix incorrect Kconfig SAMV7_EMAC0_RMII dependency
  • #17854 arch/arm: add -ffunction-sections and -fdata-sections compile options
  • #17855 arch/arm: change ghs vfpv3 to vfpv5 accrding to armv7-m documentation
  • #17856 arch/arm: replace the “-Wall” build option with the “-ghstd=last”
  • #17867 arch/sim: Refactor Wi-Fi simulation and add Pseudo Mode support
  • #17880 arch/x64: Syscall support is enabled by default
  • #17881 arch/x64: create qemu chip
  • #17883 arch/x86_64/intel64: fix build break for timerisr
  • #17891 arch/x64: add acpi procfs and poweroff
  • #17892 arch/x64:Fix the abnormal backtrace display issue
  • #17893 arch/x64: Fix crash issue after enabling KASAN
  • #17897 arch/sim: support SOCK_RAW in host_usrsock_socket
  • #17906 arch/arm/imxrt: fix error header guard
  • #17951 arch/x86_64: add support for linker map generation
  • #17961 arch: move STACK_ALIGNMENT to irq.h
  • #17964 arch/imx9: Modify default ddr config handling
  • #17965 arch/arm64: disable fork support in protected build mode
  • #17974 arch/tricore: support cache function
  • #17975 arch/tricore: enhanced irq handling
  • #17984 arch: enable ARCH_KERNEL_STACK support in protected builds
  • #17986 arch: fix addrenv_switch changing this_task causing exceptions
  • #17988 arch/stm32: Fix stm32-capture if timer don’t support GTIM_CCER_CC1NP
  • #18006 arch: move some macros to public code.
  • #18008 arch/x86_64: Add gprof and stack check tool
  • #18010 arch/x64:add up_set_irq_type
  • #18020 arch/x86_64: fix revoke_low_memory
  • #18021 arch/x64: interrupt add CFI info
  • #18022 arch/x64: Solve the sig_nest hang issue
  • #18023 arch/x86_64i:Fix issue 02 Compile acpidump crash problem
  • #18030 arch/arm64: fix mpu_freeregion
  • #18048 arch: default enable TLS_ALIGNED when BUILD_PROTECTED=y
  • #18059 arch/tricore: disable CPU and system watchdogs during startup
  • #18060 arch/tricore: add NMI trap handler (weak)
  • #18065 arch/arm: armv8-r PL at startup needs to be checked
  • #18067 arch/arm: Add arm memmanage fault skip operation
  • #18079 arch/tricore: add tricore mpu driver
  • #18092 arch/arm/nrf: fix rtc functions return param
  • #18097 arch/xtensa: remove XCHAL_SYSCALL_LEVEL
  • #18099 arch/arm: Add the macro definitions for CFI instructions for ghs
  • #18103 arch: add stack alignment and size validation for CONFIG_TLS_ALIGNED
  • #18106 arch/arm64: fix backtrace return address precision
  • #18117 arch/arm/nrf{52 53 91}: fix timer timeout value (overflow issue)
  • #18130 arch/x86_64: optimize assembly instructions for size and performance
  • #18140 arch/arm/src/imxrt: Fix Ethernet RUNNING status regression
  • #18153 arch/arm: systick: fix off-by-one in SysTick RELOAD programming
  • #18157 arch/arm64: Enhance MPU infrastructure with unified interface and improved platform flexibility
  • #18158 arch/arm64: Enhance MPU with background region and region query interface
  • #18166 arch/xtensa/esp32/esp32s2 spi errors
  • #18168 arch/stm32: Add counter reset function
  • #18177 arch/armv8-r64: userspace PMU access
  • #18186 arch/risc-v: fix timer initialization for SMP mode using mtimer
  • #18195 arch/xtensa/espressif: ESP32 simpleboot improvements
  • #18214 arch/armv7-r: Enable userspace PMU access with performance event support
  • #18229 arch/arm: GPIO IMX9 Add support for IRQ line1 and GPIO5
  • #18230 arch/arm: LPSPI imx9 add support for 2nd CS
  • #18268 arch/x86_64: use pause to reduce power consumption in spin wait loops
  • #18273 arch/imx9: Correct CONFIG_IMX9_ENET_PHYINIT flag and imx9_phy_boardinitialize
  • #18277 arch/sim: Add sigdelset to nuttx-names.in
  • #18279 arch/arm64: Delete the default save for SCTLR and fix the issue of including incorrect order
  • #18296 arch/arm/stm32: fix undeclared page variable in flash write
  • #18297 arch/xtensa: fix INT32_C macro to match int32_t type
  • #18298 arch/x86_64: replaced loop construct with rep movsb
  • #18300 arch/arm/stm32h7: fix sdcan clock, ILS register and ID
  • #18303 arch/x86: fixed errors in gdt_flush and idt_flush
  • #18349 arch/risc-v: Fix page table traversal for SV39
  • #18381 arch/tricore: initialize spinlock used by tricore systimer
  • #18403 arch/arm64/Imx9: usdhc improvements
  • #18409 arch/arm64/imx9: Add enet MII clock calculation
  • #18418 arch/arm: remove all “select ARMV8M_HAVE_STACKCHECK”.
  • #18429 arch/risc-v/espressif: Fix SHA errors
  • #18452 arch/sim: fix X11 framebuffer window not visible in POSIX simulator
  • #18453 arch/sim: fix incomplete HCI socket data reading in simulator interrupt handler
  • #18457 arch/arm: Add necessary conversion between tick and usec in systick_interrupt
  • #18461 arch/[risc-v xtensa]/src/common: Create SoC-specific initialization routine
  • #18462 arch/xtensa/esp32: Fix buffer overflow in SPI poll exchange Driver Support Drivers With Improvements
  • #16925 drivers/timers/capture: fix typo in capture.h
  • #17373 drivers/pci: Calculate PCI bar size use mask 0xffffffff
  • #17375 drivers/pci: calculate bar size
  • #17376 drivers/eeprom: Support PE/SE/CE commands
  • #17379 drivers/pci: write legacy num to config sapce when enable legacy irq
  • #17426 drivers/lcd/st7789.c: fix byte order in st7789_fill for 3 wires
  • #17433 drivers/usbdev: fix cdcecm netdev can not enter running state
  • #17441 drivers/can/can.c: fix broken O_NONBLOCK
  • #17446 drivers/lpwan: Fix Kconfig SX1276 and SX1262 position
  • #17455 note/drivers: Get taskname more safely.
  • #17456 drivers/i3c: Revert “drivers/i3c: remove extra i3c_dev_register, do_daa has created them”
  • #17464 drivers/mmcsd: Aligned Cmake with Make
  • #17470 drivers/rpmsgdev: server functions enhanced
  • #17491 drivers/usbhost: improve usbhost hid kbd
  • #17498 drivers/timers/ptp: support ptp clock driver model,CLOCKFD and clock adjtime/settime/gettime for ptp device
  • #17501 drivers/battery: fix event lost before service open
  • #17510 drivers/ioexpander: add debounce and interrupt mask functions
  • #17512 drivers/sensors/goldfish: support more sensors
  • #17528 drivers/input: Adds a small extension to the Force Feedback (FF) input subsystem
  • #17529 drivers/virtio: Fix DRIVERS_VIRTIO_INPUT configuration dependencies
  • #17530 drivers: replace critical_section with spinlock
  • #17531 drivers/timers: A small improvements in the drivers/timers subsystem
  • #17540 drivers/timers: fix rtc_time struct
  • #17541 drivers/virtio: if in assert, don’t wait semaphore
  • #17552 drivers/mtd: Add W25N SPI NAND flash driver
  • #17554 drivers/rpmsg: Add rpmsg_get_signals API and rpmsg transport ops support
  • #17586 drivers/net: fix “wapi save_config” and “wapi reconnect” commands
  • #17597 drivers/net: setting loopback network driver sending task to the HPWORK queue
  • #17604 drivers/mtd: add MTDIOC_ISBAD ioctl
  • #17746 drivers/i2c: add ioexpander-based lower-half implementation for I2C bit-bang
  • #17747 drivers/capture: add signal notification support and fake capture driver
  • #17752 drivers/sensors: add a dynamic sensor debugging tool sensor_monitor
  • #17760 drivers/rpmsg: port spi add debug log, low power feature and bug fixs
  • #17763 drivers/sx127x: Add support to different bitrate and RX timeout
  • #17764 drivers/adc: Use mutexlock to replace critical section protection
  • #17769 drivers/sensors: update upper->parsebuffer every new line
  • #17772 drivers/sensors: fix mpu9250 register function comments
  • #17776 drivers/pty: fix memory leak when pty_destroy
  • #17778 drivers/rpmsg: router double free and reconnect related bugs fix
  • #17782 drivers/usrsock: replace net_lock with conn_lock
  • #17783 drivers/Rpmsg: fix rpmsg dead lock and ns bind race condition problem
  • #17787 drivers/rptun: fix rptun stop related deadlock and crash bugs
  • #17797 drivers/can: replace critical-section mutex with spinlock
  • #17802 drivers/virtio-gpu: Avoid calling free in IRQ
  • #17805 drivers/net/e1000 igc.c: add PIDVID of NIC
  • #17813 drivers/ioexpander: add enable & disable macro for gpio SETDEBOUNCE and SETMASK
  • #17814 drivers/sensors: add get_info interface for gnss_uorb
  • #17816 drivers/rptun: refactor rptun to decoupling the rptun and rpmsg virtio, make rptun can work with any virtio devices
  • #17824 drivers/sensors: sensor bug fix - part 1
  • #17833 drivers/net: fix igc build error
  • #17837 drivers/sensors: add a new sensor type ENG
  • #17842 drivers/net/rpmsgdrv.c: add bidirectional data netdev support
  • #17845 drivers/mtd: Optimizations for RRAM/MRAM Compatibility and Erase Logic Robustness
  • #17870 drivers/net: Fix crash in wifi_sim disconnect.
  • #17871 drivers/virtio: Use arc4random_buf to generate MAC address.
  • #17872 drivers/sensors/fakesensor: Remove GNSS dependency
  • #17923 drivers/timers: check CONFIG_BOARD_LOOPSPERMSEC != 0 at runtime
  • #17928 drivers/can: repair compiler error
  • #17942 drivers/mmcsd: fix typo, it should be “Byte” by spec
  • #17949 drivers/misc/optee: add missing addrenv header include
  • #17989 drivers/usbhost_hidkbd: Fix small typo in usbhost_hidkbd.c
  • #18005 drivers/rpmsg: remove unnecessary header files, revise make.def and cmake file
  • #18014 drivers/serial/Kconfig-16550: fix non-existent option
  • #18036 drivers/rpmsg: use nuttx/atomic.h instead metal/atomic.h
  • #18061 drivers/pipe: fix POLLHUP handling in poll()
  • #18073 drivers/sensors optimizes the sensor rpmsg driver proxy waiting mechanism to improve reliability. part 2
  • #18081 drivers/analog/mcp47x6: fix configuration command
  • #18085 drivers/rpmsg_router: multiple fixes and improvements for multi-core stability
  • #18091 drivers/mtd: add nvs cache buffer
  • #18095 drivers/mtd: support ram_mtdconfig device && lomtdconfig device
  • #18100 drivers/net/slip: set serial port to raw mode to prevent character escaping
  • #18102 drivers/sensors: fix sensor deadlock. part 3
  • #18108 drivers/rpmsg: unify cpuname handling and fix pm wakelock initialization
  • #18116 drivers/serial: Fix SIGINT not delivered to foreground process on Ctrl-C
  • #18125 drivers/usbdev: fix rndis net link status can’t update timely issue
  • #18134 drivers/sensors: Add non-wakeup mode support and optimize RPMSG communication part 4.
  • #18156 drivers/rpmsg: fix struct alignment issue by removing flexible array member
  • #18159 drivers/rpmsg_port_spi: add PM support and stability improvements
  • #18163 drivers/rpmsg_port_uart: Improvements and bug fixes for stability and power management
  • #18164 drivers/sensors/dhtxx: Fix read return values to be POSIX compliant
  • #18165 drivers/rpmsg: refactor internal APIs to private header
  • #18180 drivers/sensors: Remove the uncalibrated member of the sensor lowerhalf layer part 5
  • #18209 drivers/sensors: sensor bug fix. part 6
  • #18231 drivers/serial: fix crash when buffer is full and only recvbuf is imp…
  • #18246 drivers/ioexapnder/mcp23x17 : Fix write gpio output values on OLAT registers
  • #18248 drivers/rpmsg: support release the rx buffer early in endpoint callback
  • #18250 drivers/timers: add timer driver implemented by watchdog
  • #18256 drivers/sensors: add sensor monitor debug log. part 7
  • #18261 drivers/sensors/gnss: Add monitor logs for activation
  • #18265 drivers/virtio: virtio config space size-matched read operations
  • #18286 drivers/analog: fix adc ads1115 driver
  • #18289 drivers/vhost: Improvements and fixes for vhost framework
  • #18290 drivers/virtio: use virtqueue_nused() to check pending buffers
  • #18291 drivers/virtio: fix the minor code style in virtio.c
  • #18294 drivers/rpmsg: add timestamp support for rpmsg buffer latency measurement
  • #18301 drivers/lcd: Add ST7796 TFT LCD framebuffer driver
  • #18304 drivers/power/pm: Fix typos in comments
  • #18361 drivers/usbdev: Fix usbmsc_unbind() function for USB composite device
  • #18372 drivers/note: noteram ioctl FIONBIO should return -ENOTTY
  • #18410 drivers/serial/uart: implement uart rpmsg linux conterpart
  • #18435 drivers/sensors: Legacy sensor warning
  • #18446 drivers/serial: add common Xilinx UART Peripheral System (XUARTPS) support
  • #18454 drivers/syslog: add millisecond option for syslog timestamp formatting’
  • #17460 driver/usbhost: Support obtaining USB3.0 device descriptors
  • #17487 power/battery: battery gauge driver support
  • #17557 driver/note: make SIZEOF_NOTE_START return the right size
  • #17744 driver/cfi: fix write failed issue for unalign length with bankwidth
  • #17774 can: fix can driver error about hdr is not initilized
  • #17866 driver/cfi-flash: Add a config option for the page size of CFI flash.
  • #17979 crypto/cryptodev: support private data in driver
  • #18029 crypto/cryptodev: optimize driver
  • #18121 driver/note: Support poll threshold
  • #18123 driver/note: Add tag to note_event_s and note_printf_s
  • #18127 driver/syslog: Implement the rate limiting function for ramlog driver.
  • #18128 driver/note: Fix compilation error when CONFIG_SYSLOG_TO_SCHED_NOTE=y
  • #18280 driver/virtio: Delete reset on initialization
  • #18368 driver/input: Add keyboard matrix driver to read matrix keyboard using polling way.
  • #18370 video/sim_camera: Improve camera driver behavior and simulator camera coverage. Board Support New Board Support
  • #18460 Introduce i.MX93 (M33) and IMX93-QSB board support Boards With Significant Improvements
  • #17397 boards/nucleo-h743zi: modify the romfs img file path
  • #17471 boards/defconfig: enable CONFIG_SCHED_CHILD_STATUS
  • #17477 boards/risc-v/esp32c3: Corrected the names of #include guards
  • #17532 boards/risc-v: Add lvgl64_vector configuration for RISC-V QEMU
  • #17547 boards/arm/mps3-an547: enable protected mode support
  • #17560 boards/nucleo-g431rb/qenco: reduce FLASH
  • #17562 boards/nucleo-f446re: disable OSTEST in some configs
  • #17563 boards/qemu-intel64/jumbo: enable more network tools
  • #17566 boards/risc-v/esp32c3: add Waveshare ESP32-C3-Zero
  • #17572 boards/esp32s3/lckfb-szpi: Add QMI8658 6-axis IMU sensor support
  • #17574 boards/esp32: Add initial support to Heltec WiFi LoRa32
  • #17576 boards/leds: remove dependency on leds example for some boards
  • #17577 boards/nucleo-c0xxx: fix leds handling
  • #17581 boards/esp32/heltec_wifi_lora32: Add support to SX1276 transceiver
  • #17738 boards/{nrf53 stm32h7}: mark shmem region as NOLOAD
  • #17751 board/lm3s6432-s2e/nsh: disable LIBC_LONG_LONG to fix ci bb
  • #17771 boards/raspberrypi-4b: Add testing configurations
  • #17879 boards/arm/kinetis: fix freeform-k28f usbhshost undeclared ‘errcode’
  • #17911 boards/esp32c3-xiao: Fix ble configuration crash
  • #17945 boards/stm32f103-minimum: Add GPIO in/out/int define
  • #18013 boards/qemu-intel64/jumbo: enable procfs ACPI
  • #18025 boards/smartl-c906: enable hrtimer ostest in CI
  • #18031 boards/boardctl: Add BOARDCTL_MACADDR command
  • #18032 boards/xtensa/esp32: add rtc_reserved_seg to legacy_sections
  • #18054 boards/nrf53: correct rptun names
  • #18094 boards/sim: Fix watchdog callback
  • #18132 boards/sim: enable list-based hrtimer in CI ostest
  • #18146 boards/boardctl: use spinlock IRQ-safe interfaces for consistency
  • #18154 boards/xtensa: fixes for build and start-up issues when legacy boot enabled
  • #18206 board: enable hritmer (RB-tree and list implementation) CITEST on arm and riscv board
  • #18251 boards/sim/crypto: enable cmocka testing framework
  • #18283 boards/boardctl: BOARDIOC_SPINLOCK missing some Conditional branch
  • #18310 boards/risc-v/esp32c6: Add missing config for esp32c6 romfs
  • #18355 boards/imx95-evk: enable mpu by default
  • #18363 boards/arm: add nxp mr-navq95b support
  • #18406 boards/xtensa/esp32: add three missing defconfigs
  • #18416 boards/xtensa/esp32s2: add efuse defconfig
  • #18420 boards/stm32h7: Add button support to nucleo-h743zi2
  • #18459 boards/esp32c3-xiao: Add NimBLE example configuration File System Significant Improvements
  • #17488 fs/romfs: revert the romfs write feature
  • #17500 fs/vfs: fix poll covertify issue about out-of-bound access fds
  • #17539 fs/mqueue: fix msgq memleak
  • #17548 fs/procfs: bugfix in heapcheck, avoid ‘\n’ to 0
  • #17559 fs/tmpfs: fix memoryleak of tmpfs_opendir
  • #17706 littlefs: fix statfs underflow during active writes
  • #17731 fs/inode: bug fix about fdlist_extend, fdlist_install and eventfd/timerfd_blocking_io
  • #17740 fs/mqueue: fix inverted ‘created’ flag in file_mq_vopen
  • #17741 fs/epoll: release refs count and add TLS cleanup handler to release epoll fd reference on thread exit
  • #17748 fs/file: add reference count protection for stack-allocated file structures
  • #17513 bugfix/fs:write Bad buf addr should return EINVAL
  • #17811 fs/inode: using file_allocate and file_dup to avoid racecondition to allocate new fd
  • #17821 fs/userfs: keep mutex while reading iobuffer
  • #17839 fs/driver: Replace heap allocation of temporary device names
  • #18001 fs: add fs dump in ROMFS/LITTLEFS
  • #18062 fs: Fix the incorrect return value of the lseek interface.
  • #18107 fs/fat: add support for FIOC_FILEPATH ioctl
  • #18200 fs: fix inode information update outside of lock in SMP scene
  • #18238 fs/timerfd: implement TFD_TIMER_CANCEL_ON_SET to detect clock changes Networking Improvements
  • #16940 net: Hardware Checksum Offload Support for NuttX Network Stack
  • #17431 net/pkt: Add some feature support
  • #17435 net/can: add write buffer to support nonblock send
  • #17436 net/netdev/netdev_register.c: skip mld_devinit if Nic can not support mld
  • #17440 net/utils/net_bufpool: add lock to struct net_bufpool_s and bufpool_navail
  • #17451 net: replace critical_section with spinlock
  • #17452 net: add vlan support
  • #17465 netdev_upperhalf: convert Kconfig to variable
  • #17483 net/pkt: add SOCK_DGRAM support
  • #17519 net: Check listening connections when selecting ports
  • #17520 net/pkt: Fixed error handling for unsupported types
  • #17521 net/socket: Fixed network card name does not end with \0 when binding the device issue
  • #17526 net/tcp: modify txavail to be sent directly in the current thread
  • #17551 net/packet: add PACKET_<ADD DROP>_MEMBERSHIP support
  • #17553 net/netlink: add RT_TABLE_LOCAL definition for mqttc5 build
  • #17555 net/tcp: add TCP_CORK definition
  • #17585 net/netdev: allow stack to send/receive when running
  • #17587 net/igmp: mod check of IGMP_SCHEDMSG from assert to error log
  • #17588 net/tcp: modify the return value when dev is down in tcp_pollsetup
  • #17589 net: update check condition from IFF_UP to IFF_RUNNING in the network sending process
  • #17590 net/tcp: resolve reconnection issues when connection failed due to rejection
  • #17603 net/tcp: improve TCP retransmission mechanisms for better reliability
  • #17607 net/pkt: fix DHCP transmission failure by updating d_sndlen/d_len lengths
  • #17652 net/wireless: fix compile warning issue for wireless
  • #17655 netpkt: Introduction to using netpkt example
  • #17656 net/ethernet: ARP can be configured on interface
  • #17657 netlib: Introduction to IP conflict detection functions
  • #17658 net/icmp: check the checksum field when receive icmp message
  • #17659 net/ethernet: remove no use remove excess code
  • #17660 netdev_upperhalf: add direct rx mode
  • #17661 net/can: fix the typo and compile error
  • #17662 net/icmp: Return -ENOPROTOOPT for SOL_SOCKET to avoid misleading logs
  • #17663 net/net_initialize: remove the empty functions that are not needed
  • #17667 net/can: can protocol uses a separate buffer to cache can data
  • #17669 netlib: Add IOB statistics interface description
  • #17672 net/ipfrag: fix ip fragment assert when iob not enough
  • #17673 net/bufpool: fix typo
  • #17674 net/icmp: check src ip for icmp request message
  • #17676 net/tcp: add kconfig to support retransmission at a fixed time
  • #17677 net/vlan: add some macro for vlan
  • #17678 net/tcp: add support for the CLOSE_WAIT state
  • #17679 nuttx/net: Expose the net_ipv6addr_maskcmp interface to user-mode calls
  • #17686 net/ipv4: Send ICMP Destination Unreachable for unknown protocol
  • #17687 net/ipv4: Drop a ipv4 packet with total length bigger than the actual transmitted data
  • #17688 net/arp: support ARP entry learned on gratuitous ARP response
  • #17689 net/icmp: Support icmp timestamp request
  • #17691 net/tcp: tcp header seq check
  • #17692 net: decouple the impact of net_lock between network cards
  • #17693 net/ethernet: fix compilation issues for inet_sockif.c
  • #17695 net/vlan: make a judgment before calling fuction
  • #17698 net/udp: Validate UDP length field against actual packet size
  • #17699 net/udp: Support zero-length UDP datagrams
  • #17700 net/ethernet: change struct ifreq to consistent with Linux
  • #17701 net/devif: fix poll issue when ifdown
  • #17702 net/arp: dont learn arp information if interface is noarp
  • #17705 net/ioctl: add a socket interface for ioctl
  • #17707 net/tcp: support recv packet in the TCP_FIN_WAIT_1/2 state
  • #17709 net/tcp: remove SYN_RCVD state conn by listener created when free listener
  • #17710 net/tcp: send reset when retransmitted number greater than TCP_MAXRTX
  • #17711 net/tcp: support OTW ack seq check
  • #17712 net/arp: support arp request limit
  • #17713 net/tcp: discard fin packet in LISTEN state
  • #17714 net/tcp: fix tcp conn lock leak when port in use in tcp_selectport
  • #17715 net/tcp: fix conn->work use after free in worker queue list
  • #17716 net/ipv6: Drop IP packet shorter than length in IP header
  • #17729 net/arp: Skip ARP request if ip address is invalid
  • #17730 net/neighbor: Skip Neighbor request if ip address is invalid at ipv6
  • #17732 net/netlink: replace net_lock with netlink_lock
  • #17733 net/local: replace net_lock with local_lock
  • #17734 net/usrsock: replace net_lock with usrsock_lock
  • #17735 net_sockif.c: add ip level s getsockopt support in SOCK_CTRL
  • #17743 net/can: fix poll setup to properly find and use free pollfd slots
  • #17745 net/local: simplify file descriptor passing using shared filep references
  • #17754 net/devif_poll: only call the corresponding xxx_poll when there is data to be sent
  • #17775 net can: modify the return value of can_datahandler API.
  • #17785 net/udp: fix udp message cannot be sent to the network card
  • #17806 net/netdev: Fix best prefix in findby
  • #17819 net/route: need clear old cached route info when do reset cache
  • #17858 net: make the sendmsg param type consistent with posix specification
  • #17869 net/icmpv6: fix crash when ipv6 address modified during autoconfig
  • #17877 net/usrsock: Fix EPIPE loop by clearing POLLIN on remote close
  • #17878 net: Support no-lto option for the network build.
  • #17887 netinet/in.h: Rename imr_interface to imr_address in struct ip_mreqn.
  • #17890 net/icmp: Fix devif_loopback dead loop when unrecognized ICMP packet
  • #17895 net/route/ramroute: replace prealloc with netpool
  • #17896 net/neighbor: fix compilation with CONFIG_NET_ICMPv6_NO_STACK
  • #17907 net/can: allow errmask to be set to CAN_ERR_FLAG
  • #17917 net/ipv4: check whether the length of the ipv4 option is correct
  • #17919 net/netdev: correct the ioctl command validation logic
  • #18011 net: limit TCP and UDP send/recv buffer usage with throttled IOB
  • #18056 net/bluetooth: fix rmutex deadlock
  • #18247 net/netdev: a valid netdev for ipv4 should have ipv4 addr configured
  • #18249 netdev_driver: add carrier_on to xxx_ifup where carrier_on is absent
  • #18258 net/rpmsg: Modify error handling to rpmsg socket
  • #18386 net/utils: add union name for tasking compiler compatibility Unsorted
  • #17432 icmp/icmp6: Fix some functional errors
  • #17434 select: fix too small timeout will be counted as 0
  • #17445 misc C++ related fixes
  • #17449 Improve the robustness of env & binfmt code
  • #17457 Fix clang fortify issue
  • #17458 binfmt/elf: fix issue that the file is not closed after opening
  • #17461 usbhost: cdcacm exit wq after copy all received data
  • #17467 usbdev CDCACM optimization
  • #17469 sim usb enhancement
  • #17472 compiler: redefine float and double when disable float compiling
  • #17475 espressif: add support for flash encryption
  • #17476 3-wire for ili9341
  • #17478 eeprom/spi_xx25xx: Add IOCTL to set Block Protect
  • #17490 risc-v/litex: For vexriscv_smp, match default FDT address set by upstream opensbi.
  • #17492 usbdev: replace critical_section with spinlock
  • #17494 risc-v/litex: For vexriscv, point docs at linux CPU variant instead of secure.
  • #17496 usbhost: replace critical_section with spinlock
  • #17509 bugfix:the inode may have been removed by other core in SMP
  • #17515 rp2040,rp23xx,rp23xx-rv: allow up to 32 PIO instructions
  • #17518 timers/oneshot: Fix converted tv_nsec > NSEC_PER_SEC.
  • #17522 mtd/at25ee: Use eeprom/spi_xx25xx internally
  • #17561 openamp: upgrade the OpenAMP and Libmetal to the last released version v2025.10
  • #17591 espressif: improve esp-hal-3rdparty handling
  • #17647 LoopTask: Sim loop task refactor wdt thread process loop event
  • #17651 defconfig: Change the default gateway address
  • #17653 cmocka/defconfig: Update defconfigs to include cmocka application
  • #17665 paho_mqtt: Add paho_mqtt repository description file
  • #17670 arp_poll: skip arp_out when arp_send flow
  • #17671 mld: free all mld group when netdev unregister
  • #17682 com/can: Attempt to release invalid resources when sender is full
  • #17683 tcp_reset: Modify RST packet responses to comply with RFC 793.
  • #17694 nuttx/can: in trunk support to Send message cancel mechanism.
  • #17696 risc-v/litex: Implement up_flush_dcache_all when CONFIG_ARCH_DCACHE is defined.
  • #17719 Sim/gpiochip: sim gpiochip support nuttx access host gpiochip
  • #17725 risc-v/litex: Add 64-bit S-mode vexiiriscv support for litex.
  • #17728 initial support for automated testing with NTFC
  • #17737 Add esp32c6 coremark and esp32s3 ostest defconfig
  • #17749 ARP table improvement
  • #17753 xtensa/esp32s3: fix dcache flush error in up_flush_dcache
  • #17755 utils.h: add conn_dev_sem_timedwait interface to simplify code logic
  • #17757 esp32s3: Remove redundant I2S include directive
  • #17761 Rpmsg: rpmsg services should be properly destroyed after calling rpmsg_device_destroy()
  • #17765 virtio/virtio-gpu: fbmem should transfer to pa
  • #17766 Migrate the rest of citest configurations to NTFC
  • #17770 [Kconfig] Fix Kconfig style
  • #17773 compiler: Add PRAGMA and unroll_loop.
  • #17777 virtio-gpu: support vsync and double fb
  • #17792 risc-v/litex: Update docs for vexriscv invalidate and no-op flush.
  • #17800 timer: rename tick_settimeouot to tick_settimeout
  • #17801 timer: add timer operation support
  • #17804 lin: adjust the LIN flag
  • #17807 Rpmsg test: add rpmsg test service to test the rpmsg apis
  • #17808 Rpmsg port uart: add low power support for rpmsg port uart
  • #17820 style: Fix case statement formatting in power management callbacks.
  • #17829 mtd/nvs: optimize nvs module
  • #17835 if_ether.h: add the definition of ETH_P_TSN
  • #17859 ghs: move the -fmacro-prefix-map compile option to compiler specific
  • #17860 arm64_head.S: fix the asm code build error
  • #17861 signal: add default sigaction for SIGURG
  • #17863 ghs: fix the UsageFault:INVSTATE error triggered by exception_common
  • #17875 sim: Pass through unknown sockopt to system.
  • #17884 stdio.h: Update TMP_MAX definition to match Linux
  • #17888 tcp_timer.c: send TCP_RST when keepalive timeout
  • #17899 tcp_input.c: standardize the processing of urgent data
  • #17900 sim: replace wdog with work queue in periodic work to avoid deadlock
  • #17901 libm: prevent atanf() yielding NaN for high inputs values.
  • #17902 ipfrag: use netdev_iob_replace_l2 to replace d_iob
  • #17905 Tricore sched
  • #17909 Rpmsg rtc fixes
  • #17916 ghs: update the compile option to recommended options
  • #17918 Ltp linux kernel completement sys wait impl
  • #17920 sys/resouce: add RLIM_NLIMITS definition
  • #17924 posix_test: fix the ltp project link error
  • #17925 Rpmsg signals: rpmsg router support get the rpmsg signals
  • #17926 lpcxpresso-lpc54628/netnsh: enable CONFIG_NET_SOCKOPTS to adapt icmpv6 changes
  • #17929 sys/types.h: Fixed the conflict issue with the “OK” constant definition
  • #17930 ulimit: add ulimit implementation
  • #17931 pthead: change the pthread_equal implementation from macro to function
  • #17933 limits: add POSIX_PTHREAD constant for pthread management
  • #17934 pthread: reorganized the locations of pthread-related functions and constants
  • #17937 fpathconf: add _POSIX_PRIO_IO definition to comply with PSE52 standard
  • #17938 Tricore trap dump register
  • #17939 notifiy: remove critical section
  • #17946 Arm64 backtrace
  • #17947 arm64: add the interrupt status in the syscall
  • #17950 ctucanfd: increase rwcnt bitfield width and fix structure alignment
  • #17954 binfmt: refactor loadable module cleanup mechanism
  • #17960 arm64: add missing REG_SCTLR_EL1 initialization in signal processing
  • #17962 arm64: fix FIQ mask initialization in task state
  • #17963 arm: support AMP mode with GIC SGI inter-core interrupts
  • #17966 arm64: When returning from a system call, regs[REG_SP_EL0] will overw…
  • #17967 arm64: g_mpu_region need support SMP
  • #17970 kinetis/enet: Set carrier on/off on ifup/ifdown
  • #17972 tricore/csrm: bringup cpucs in tricore
  • #17976 imx95-m7: Fix Kconfig for flexcan typo
  • #17977 arm64: fix compile failed
  • #17982 armv7-a/arm_addrenv_pgmap.c: add up_addrenv_find_page and up_addrenv_…
  • #17983 arm64: fix stack pointer initialization when CONFIG_STACK_COLORATION …
  • #17998 arm64: add mpu_addrenv.c empty implementation and change arm64_addren…
  • #17999 arm64/toolchain: fix compile warnning
  • #18004 simwifi: Fix compilation warning
  • #18017 Kconfig: Add ALLOW_CUSTOM_PERMISSIVE_COMPONENTS license option
  • #18044 rpmsg/rpmsg_virtio: add rpmsg virtio common pm support
  • #18045 irq: rename STACK_ALIGNMENT to STACKFRAME_ALIGN for clarity
  • #18049 spinlock: add and optimize recursive spinlock interface for multi-core support
  • #18050 sim: it is not necessary to call restore_critical_section in irq
  • #18051 x86_64: remove unnecessary restore_critical_section call in interrupt handler
  • #18052 semaphore: remove redundant leave_critical_section in sem_trywait_slow
  • #18055 stm32: disable UART up_putc when semihosting
  • #18101 arm64: add protected mode support and SMP improvements
  • #18104 notifier: prevent DEBUGASSERT recursion during system startup
  • #18113 Revert “net: limit TCP and UDP send/recv buffer usage with throttled IOB
  • #18115 note/noteram: add FIONREAD ioctl to report unread buffer size
  • #18119 trace: add mark and printf support
  • #18120 Modify the Kconfig name of the mtdconfig module
  • #18126 note/ram: support multiple noterams to dump data when panic occurs
  • #18139 pthread: Move condition variable implementation to userspace
  • #18142 trace: Clean up macro formatting in trace.h
  • #18145 tricore: Enable SYSCALL_HOOKS architecture capability
  • #18148 spinlock: Add try-lock variants for recursive spinlock
  • #18150 nuttx: add profiling support and documentation
  • #18155 clock: Optimize performance counter infrastructure with userspace access and multi-architecture support
  • #18176 syscall: add sched_note_event_ip syscall for instrumentation dump
  • #18179 note: add NOTE_DUMP_BINARY support for binary log dumping
  • #18207 sem_rw: Consolidate return statements in down_write_trylock() for MISRA HIS compliance
  • #18218 mps:fix AN524 Kconfig symbol (MPS3, not MPS2)
  • #18219 sem_rw: Multiple code quality improvements for MISRA HIS compliance
  • #18222 sem_waitirq: Consolidate return statements for MISRA HIS compliance
  • #18225 mtdconfig/nvs: some optimizations to the nvs module
  • #18226 virtio/virtio-pci: improve PCI transport with INTX fallback and 64-bit support
  • #18228 sem_post: Consolidate return statements for MISRA HIS compliance
  • #18242 Fix UBSAN undefined behavior in semaphore mutex helper macro
  • #18243 protect: move us_heap to userspace_data_s
  • #18260 ipforward: Add IFF_NOSRC_FORWARD and IFF_NODST_FORWARD flags.
  • #18262 kernel/build: Fix the protected build
  • #18267 Fix duplicate symbol errors in stack check implementation
  • #18269 Fix SPI DMA bug with null txbuffer on ESP32S3
  • #18274 tls_getinfo.c: tls_get_info needs to be compiled in most cases.
  • #18287 rp23xx/rp23xx-rv: Fix GPIO interrupt handler for RP2350B variant.
  • #18312 kconfig: Fix Kconfig style
  • #18318 toolchain/clang: improve clang toolchain
  • #18341 arm64: Add kmalloc header for arch timer
  • #18348 audio: upper half enhancement
  • #18352 [BUG FIX] rpmsg_virtio/rptun: support fallback cpuname when VIRTIO_RPMSG_F_CPUNAME not set
  • #18362 lcd/ili9341: Improve putrun’s checks
  • #18369 video/v4l2: fix leaks and out of bounds bugs in v4l2
  • #18387 lzf: prevent lzf header struct optimization
  • #18395 pynuttx: missing mm_initialize
  • #18401 Makefile: Remove make depend files by make distclean
  • #18405 imxrt/lpspi: Fix correct LPSPI DMA transfer size for 16-bit
  • #18425 xtensa/esp32: Fix HMAC-SHA when a long key is used
  • #18428 rndis.c: move ifup in setconfig to the work queue
  • #18441 codeowners: Shorten file by using wildcards
  • #18447 video/imgdata: fix IMGDATA_SET_BUF macro int-conversion warning
  • #18463 wireless/cc1101: Add Kconfig option to bypass strict version check
  • #18473 wireless/nrf24l01: Implement common RF IOCTLs and fix missing register reads.
  • #18478 nxgdb: change the symbol g_statenames to nxsched_get_stateinfo::g_statename Compatibility Concerns
  • #18083 !sched: Fix MISRA-C violations This pull request consists of a series of commits primarily focused on improving code quality, enhancing type safety, addressing compilation warnings, and ensuring compliance with MISRA-C coding standards across various subsystems of the NuttX operating system. Impact Users (Application Developers): The changes are largely internal and should not affect the functional behavior or the public POSIX API for applications (e.g., timer_create, sem_wait, clock_gettime). The primary user-facing impact is increased code reliability and stability due to stricter type checking and error handling. Code Quality and Maintenance: By addressing MISRA-C violations and eliminating compiler warnings, the codebase becomes more portable, predictable, and easier to maintain. The refactoring in the timer subsystem (removing early returns, simplifying logic) improves readability and reduces the risk of latent bugs. Compatibility: The modifications maintain backward source compatibility. However, developers who directly relied on the internal nxclock_settime() symbol will need to adapt, as it has been removed. Documentation: No direct impact on external documentation. The inline comments within the code are updated to reflect some of the logic changes. Security: While not a direct security patch, the overall hardening (e.g., stricter input validation) contributes to the system’s robustness against potential misuse.

  • #18398 !boards: Align naming of Kconfig options for interpreters Aligns the Kconfig option naming for interpreters. Part of twin PR apache/nuttx-apps#3403 which should be merged first.

BREAKING CHANGE: All configurations using CONFIG_INTERPRETER_* options will no longer compile due to missing symbol errors. The fix is very quick: any configurations using this options should add a trailing S following INTERPRETER in the affected Kconfig variables. I believe ./tools/refresh.sh should also be capable of doing this automatically.