NuttX-12.7.0
What’s New In This Release Core OS Sched
#13395 Critmon optimize, make possible open cpuload based on critmon and disable critical section & sched_lock to save cost.
#12691 sched.h: add SCHED_BATCH and SCHED_IDLE definition
#12584 sched.h: CPU_XXX macros can also be used without CONFIG_SMP
#12703 sched.h: Update doc link for tcbinfo_s
#13274 sched: add DEBUGASSERT to assure that affinity not zero
#13341 sched: adjust the scheduling strategy
#13105 sched: change pthread_mutex implementation from sem to mutex
#12742 sched: Improve Kconfig help of INIT_ENTRYPOINT
#13525 sched: move DUMP_ON_EXIT to sched
#13211 sched: replace up_cpu_index with this_cpu
#13271 sched: use this_task replace nxsched_self
#13263 sched/event: clear pending events before enable the scheduler
#13329 sched/group/setuptask_file: duplicate idle task fd for kernel thread
#13083 sched/irq: correct critical section to spin lock
#12802 sched/nxevent: add support of kernel event group
#13264 sched/policy: move g_policy from data to rodata
#13017 sched/sched: simplify the implementation of the function nxsched_readytorun_setpriority
#13134 sched/signal: fix pthread_kill use after free
#13530 sched/signal: Simplified Implementation for SIGEV_THREAD_TID
#12283 sched/signal: There is no need to use sched_[un]lock
#12553 sched/tcb: amend pull/12320 MM
#12550 mm: add mm_initialize_pool, make pool more flexible
#12556 mm: mm_threshold prefer from init
#12501 mm/iob: Simplify IOB alloc/free logic
#12923 mm/map/vm_region.c: Fix usage of void* arithmetic
#12946 mm/mempool: rename the mempool_alloc and mempool_free function
#12659 mm_ubsan: add dummy to bypass runtime actions
#12646 mm_ubsan: add implement for dynamic_type_cache_miss libc
#12672 add rint and expm1 function to cmath from libm
#13420 Add dummy implementations for
shm_openpthread_setaffinity_npandRLIMIT_RTPRIO#13429 arm64_task/pthread_start: Convert the C / inline ASM code to assembly
#13366 arm64/task/pthread_start: Fix rare issue with context register location
#13011 lib_getcwd:Fix the Name in the function description.
#12966 lib_remove:Repair the logical judgment
#12890 libc: Add macro restrictions to code that uses floating point numbers
#13111 libc: compile stackchk function by default
#12953 libs: fix the default value of process-shared attribute
#12975 libs: fix the default value of process-shared attribute
#12605 libc: scanf, printf %z change switch const to if
#12585 libc/execinfo: extract a common backtrace format function
#13013 libc/msic: Implement get_nprocs API
#13381 libc/misc/crc32: crc32 add slow mode, optional decrease size
#13441 libc/netdb: Remove unnecessary CONFIG_LIBC_NETDB checks
#13025 libc/netdb: Separate IPv4 and IPv6 cache size limit
#13220 libc/sysconf: add _SC_GETPW_R_SIZE_MAX
#13479 libc/time: add g_lcl_lock to protect local context in localsub
#13080 libc/time: remove lib_strptime
#12693 libc/unistd: added an implementation of the lib_flock function
#12609 libc/x86_64: port string functions from bionic
#13110 libcxxabi: libcxxabi enables exceptions by default
#13079 libs/libc/obstack: correctly append null byte at the end of string
#13482 libs/libc/obstack: implement ptr and int growing functions
#13495 libs/libc/obstack: revert invalid null byte append to obstack_vprintf
#13185 libs/libc/stdio/*printf *scanf:Add string serialization and deserialization functions
#13294 libs/libm: fix epsilon relaxation in log and logf
#13307 libs/libm/libm: apply epsilon relax factor only if epsilon is small
#12568 libm{libm|newlib}: fix broken sincos optimization for GCC
#12811 libm/copysign: respect signed zero/NaN handling in copysign
#13174 syscall: delete getrandom in syscall because it have moved to lib
#13428 gdb plugin: Encapsulate the gdb native command gcore as nxgcore
#12557 gdbstub: fix typo
#12549 gdbstub: support gdbstub_debugpoint_add/remove smp call
#13339 nuttx/pthread: export priority protect in pthread with ceiling priority in semaphore
#12561 pthread: add pthread_self/pthread_gettid_np function
#13462 pthread_mutx: remove unused critical_secton lock
#13456 pthread_mutex: add deadlock assert tools
#12701 Feature/mcuboot toolchain support
#13021 tools: add improved pre-commit tool
#12794 tools: nxstyle if statement check
#12651 tools/imx9: prepare bootable bootloader image
#12838 tools/[Rust|D]: Fix build break for RISC-V
#12854 tools/[Rust|D]: Fix the Rust and D Builds for QEMU RISC-V
#12983 tools/parsetrace.py:fix parsetrace script error
#13321 greenhills support: add ghs linker script for mps2-an500 platform
#12884 greenhills support: add Kconfig, makefile, make.defs support for ghs compiler
#12887 greenhills support: add new platform of qemu cortex-m7
#13146 greenhills support: add the “__sync_synchronize” func impl
#12877 greenhills support: add up_getsp() implementation to adapting greenhills compiler
#12883 greenhills support: fix the asm build error for adapting to greenhills compiler
#12885 greenhills support: fix the build and link error specific to ghs platform
#13144 greenhills support: fix the build options warning
#13207 greenhills support: fix the build option warning
#13145 greenhills support: fix the build warning while support greenhills build
#12886 greenhills support: fix the build warning for ghs platform
#13533 greenhills support: fix the enumerated type mixed using warning
#13322 greenhills support: fix the ghs build warning
#13502 greenhills support: fix the greenhills compile warning on sizeof operand
#13195 greenhills support: fix the pointless comparison build warning various
#12552 compiler.h: rename CMSE extension attribute macros
#12874 fix stm32wl5_rcc.h: Add the missing argument to RCC_PLLCFG_PLLP define.
#13148 include/fcntl.h: add O_LARGEFILE flags
#13324 include/sensors: import public definitions types and to uorb.h
#12690 ioctl.h: add SIOCATMARK definition to resolve compilation errors
#13314 ip6_tables.h: fix gcc 14 errors
#13257 socketlin : add lin.h and lin bus-type
#12692 sysinfo.h: add get_nprocs_conf/get_nprocs definition
#13149 sys/shm.h: add macro define for posix
#12594 x86_64/irq.h: use 32bit operations in up_cpu_index(
Build System New Features
#12904 [Cross-Platform] Remove Unix-specific code in savedefconfig and replace it with cmake script
#12910 [cmake] add_application supports only registration but not compilation
#12964 [cmake] split the archive process to avoid parameter too long problems
#13019 [cmake] add nuttx_post and app_context inter targets for timing control
#12908 [Win32 sim] enable win32 native platform sim compilation by CMake fix compilation error
#12900 arch/sim/src/cmake/Toolchain.cmake: macOS fix unknown options: –gc-sections
#12856 build: Fix libc/pwd CMakeLists.txt
#13347 build: fix memory manager compile options for CMake
#12859 build: Fix Toolchain.cmake for CONFIG_SIM_ASAN enabled
#12880 build: set CMake policy to allow FetchContent_Populate
#12784 build/cmake: add user_ldscript preprocessing
#12866 build/cmake: fix system include dir for PROTECTED mode
#13143 board/maix-bit: initial cmake support
#13090 board/qemu-armv7a: add CMake support
#12868 boards/rv-virt: cmake for pnsh and nsbi
#13175 Cmake: [arch arm] added initial support for MSYS2
#13389 cmake: add support for PCI
#12516 cmake: reuse OpenAMP own CMake script for CMake build
#12592 cmake: refine sim cmake redefine symbols
#13449 cmake: Refactor extra_lib tagert,build include_arch path,refine sim link script target
#12667 cmake: strip file full path to save the code size
#13451 cmake: support openlibm,dhara,libmcs,lic regex CMake build scripts
#12608 cmake/add_library: enable library install by default
#12714 cmake/boards: fix build break on custom board
#13085 CMakeLists.txt: warning D9002 on Windows + msvc
#13253 cmake/nuttx_kconfig.cmake: fixed the correct .config path in the build folder
#13276 cmake/tricore: filter out nostdlib in linker phase to avoid build break
#13499 libc: add missing preadv/pwritev in CMakeLists.txt
#12700 riscv/cmake: fix Toolchain.cmake
#12694 riscv/k230: fix apps ROMFS cmake
#12996 riscv/qemu-rv: add RPTUN cmake
#12634 sim/cmake: enable garbage collection of unused input sections
#12721 tools/testbuild.sh: add option -N use CMake with Ninja
#12805 tools/testbuild.sh: added store compilation artifacts for cmake
#12724 tricore/cmake: add support of cmake build for tricore Bug Fixes
#12558 [bugfix] cmake:fix a few issues during CMake build
#12915 [bugfix] fix CMake build block when enable LTO
#12582 Fix cmake for cxd56xx
#12581 cmake: Fix build failure when -DNUTTX_APPS_DIR is specified
#13171 CMake: fix CMake compile errors during the protected build mode
#13081 cmake: fix invalid syntax when generating version.h from tags
Architectural Support unsorted
#12827 Additional encoder for F7 and added functions for TimerHook for F745 …
#12924 Bugfix/esp spi fix
#12770 Enable SMPS for STM32H745I-DISCO by default
#12574 arch: Add –whole-archive linker option for some of architectures
#13200 arch: cxd56xx: Add logic for i2c reset
#13496 arch: cxd56xx: Fix issue by update of inode reference
#13201 arch: cxd56xx: Fix SCU sensor data format
#12962 arch: inline this_task to improve performance
#13270 arch: remove unused up_cpu_pausereq waiting
#13423 arch: use up_current_regs/up_set_current_regs replace CURRENT_REGS
#13041 arch/EXTRA_LIBS: link all staging library.
#12624 arch/sim: add custom data section support
#12909 arch/sim/Kconfig: set SIM_FBBPP to 32 by default
#12845 arch/stm32h7: add defines for USART clock selection
#13292 arch/xmc4 : Add input pin DX0 selection for multiple SPI channel
#12823 arch/xmc4 : Fixed critical section in i2c_transfer
#12761 arch/xmc4 : i2c master lower-half driver
#12545 BL808: Add support for UARTs 0-2 and serial configuration
#12575 BL808: Replace courier with M0 interrupt controller
#12795 elf: Enable ELF loader if text heap read is word-aligned and enable ELF loader for ESP32-S3
#12620 esp32: add simple boot support
#12616 ESP32: emac initialization adding cpu id
#13249 esp32: enable APP_CPU cache earlier
#13244 esp32: cache_sram_mmu_set: update the correct register bits
#13222 esp32: fix a crash with PSRAM + SMP
#13243 esp32: fix seemingly wrong calculations
#13250 esp32: psram_set_cs_timing: sync with esp-idf
#13311 esp32: Port the bootloader patch
#12572 esp32[c3|c6|h2]: Add I2C master support
#12573 esp32[c3|c6|h2]: Add GDMA support
#13298 esp32c6: PCNT Quadrature Encoder driver
#13269 esp32s2: fix SPI flash and file system mounting
#12647 esp32s3-devkit: add a config for qemu
#12851 esp32s3-devkit/toywasm: enable ESP32S3_SPI_FLASH_SUPPORT_PSRAM_STACK
#12725 esp32s3_textheap.c: fix a build error w/o CONFIG_ESP32S3_SPIRAM
#12565 esp32s3/wifi: Fix bug related to IOB off-loading with SMP
#12789 esp32s3/i2s: Fix faulty initialization when SMP is enabled
#13265 esp32_psram.c: Remove a seemingly stale comment
#12669 Feature/esp mcuboot support
#12776 Feature/esp spi dma
#12775 Feature/esp temperature sensor
#12604 fix(esp32-qemu-openeth): allocate buffers in internal memory
#13193 gd32f4xx_at24: Fix uninitialized use of local variables i2c and at24
#13401 Imx9 ethernet fixes
#12632 Imx9 support flexspi m25p nor
#13399 imx9/edma: Fix function prototypes
#13400 imx9/LPUART fixes
#12921 imx93: Add more base addresses
#12623 imxrt: Correctly update PLL, bit has to toggled instead of being set
#12562 imxrt: imxrt11xx set core clock to 1p15v regardless of ocotp
#12821 k230_start.c: Fix condition for k230_copy_init_data()
#12894 mps3-an547:support mps3-an547 reset
#12989 nuttx/sim:By default, stack-use-after-return is not checked when enabling SIM_ASAN.
#13043 nuttx/sim:By default, stack-use-after-return is not checked when enabling SIM_ASAN.
#13548 nrf91: Update GPS to GNSS
#12612 refactor(esp32-qemu-openeth): use lower half driver interface
#12660 refresh esp32s3-devkit:qemu_debug
#12707 rp2040 Rename the RP2040-specific PWM_MULTICHAN definition
#12610 rp2040: Add support to MAX6675
#13318 rp2040: Support pico-sdk 2.0.0
#13070 Sync the modifications of the WiFi function in simulator.
#12697 s32k1xx: FlexIO i2c driver
#12678 samv7: fix compile warning in PWM driver
#12627 samv7/sam_mcan.c: fix TSEG1, TSEG2 and SJW compile warnings for MCAN1
#12622 sim: make possible keep ubsan and bypass feature
#13034 sim: read the second buffer
#13097 sim: Support to use of non-consecutive framebuffers
#13355 sim_offload: add lame library to apps/audioutils/lame
#12870 sim/login: remove login restrictions to improve the experience for green hands
#13534 sim/minmea: Fix defconfig warning
#13042 simwifi: Add the netlink event of connect/disconnect.
#12778 Small improvements to nrf91
#13282 smp: enable smp_call in all smp arch
#12566 STM32G47XXX: Added basic HRTIM support.
#12600 tee smp support
#12640 Userleds support to seed-xiao-rp2040
#13032 wifi_sim.c:fix compile warning
Architecture Improvements arm
#12626 arch/arm/stm32: Fix EXTI lines definitions for STM32G47XX.
#12664 arch/armv8-r: new config to set SPIs Configuration to edge-triggered
#12666 arch/armv8-r: update g_running_tasks before context switch
#13472 arch/arm-m: Clear lr before jump to __start
#13284 arch/arm: support kernel heap in BUILD_FLAT mode
#13416 arm generate busfault & recursive bug fix
#13268 arm: armv7-a/r and armv8-r up_cpu_index inline
#13024 arm: Fix DS1307 initialization for common STM32 logic
#12888 arm: Select ram vector on armv6m
#13505 arm_addrenv:fix app crash when enable shm in kernel mode
#12787 arm_backtrace_unwind:Make the backtrace search the entire stack as much as possible
#12954 arm/armv[7|8]-m: add syn barrier for MPU ops
#12925 arm/armv8-r: invalidate d-cache on boot
#12928 arm/armv8-r: add cp15 ops for mpu
#13529 arm/cortex-a,r: replace cp15 instruct to macros to align operation
#13239 arm/giv3: add g_ prefix to some global variables
#13262 arm/gicv3: set routing affinity before enable IRQ
#13240 arm/linum-stm32h753bi: Add support to RFID MFRC522
#12873 arm/lm3s6965-ek: Disable NTPC for lm3s6965 to fix maximum flash space…
#13557 arm/qemu: Add mounting of tmpfs
#13117 arm/qemu: enable WFI in
up_idle#13131 arm/spinlock: up_testset() should not depend on SMP
#12879 arm/stm32f401rc-rs485: Add support to BMP280 sensor
#13565 arm/stm32f401rc-rs485: Add support to LCD 16x2 with I2C Backpack
#12839 arm/stm32f401rc-rs485: Add support to RFID MFRC522
#12860 arm/stm32h7/stm32h745i-disco: Add STM32H745I-DISCO Per Core Support
#12902 arm/stm32h7x3x_rcc.c: Add External Power Supply option to stm32h7x3x …
#12679 arm/xmc4: pwm driver
#13466 armv7-a gic related update
#13176 armv7-a timer:fix timer overflow.
#12956 armv7a/irq: enable fiq in tee, enable irq in ap
#13453 armv8-m:arch libc function need save ip register use pacbti
#13237 armv8-r/gicv3: correct cpu index of irouter
#13275 armv8-r/r52: add neon support into compiler lin
arm64
#12633 arch/arm64/src/imx9/imx9_lowputc.c: Fix an arithmetic sign error in d…
#12648 arch/arm64: allow to use custom up_idle
#13397 arch/arm64/src/imx9/imx9_lpi2c.c: Cleanups and error fixes
#13402 arch/arm64/imx9: Change Kconfig logic
#13403 arch/arm64/imx9: Add system reset controller
#13427 arch/arm64/src/imx9/imx9_lpi2c.c: Ignore spurious RX interrupts
#13218 arch/arm64: Move ELF_64BIT selection to arch/Kconfig
#12681 arm64: add initial support for ZYNQ MPSOC and ZCU111 Evaluation Kit
#12580 arm64: inline up_cpu_index
#13560 arm64_addrenv: Add support for 4 level MMU translations
#13363 arm64_addrenv_pgmap.c: Revoke user execution access to kernel mmap’d pages
#13364 arm64_addrenv.c: Flush kernel page table copy to user mappings
#13204 arm64_checkstack.c: Fix traversing of user stack when ARCH_ADDRENV=Y
#13361 arm64_syscall.c: Don’t need to set register context during syscall
#13365 arm64_vector_table.S: Remove unnecessary instruction
#12695 arm64/arm64_boot.c: Fix exception caused by accesses to ICC_SRE_EL3 when GICv3 was not implemented
#13373 arm64/crt0.c: Fix stack alignment when executing signal trampoline
#12649 arm64/imx9: ccm: add default clk init
#13205 arm64/imx9: Force 64-bit ELF format
#13360 arm64/mmu: Fixes for MMU driver
#13362 arm64/syscall: (Re-)enable interrupts only if they were previously enable
tricore
#12682 arch/tricore: add support of tricore gcc toolchain
#12706 arch/tricore: synchronize instruction/data following MTCR/MFC
risc-v
#12961 arch: inline up_testset in arm arm64 riscv xtensa
#12579 arch/riscv: add all region in NAPOT
#12881 arch/riscv: add cluster local hartid
#12906 arch/riscv: fix IRQ_SOFT for non-SMP
#12546 arch/riscv: fix NuttSBI PMP config
#12717 arch/riscv: fix trap sp restore logic
#13430 arch/riscv: Fixed hardware timer warps-around issue
#13278 arch/riscv: revert pull#12864
#12864 arch/riscv: unify in-kernel syscall
#12619 arch/risc-v: add support for capture driver on ESP32C6 and ESP32H2.
#12726 arch/risc-v: make common up_allocate_heap weak symbol
#12732 arch/risc-v: does not clear IPI address in S mode
#12460 arch/risc-v/common: provide architecture specific perfmon bindings.
#13353 arch/risc-v/litex: Fix the litex arty_a7 build
#13382 arch/risc-v/src/litex: Claim all pending PLIC interrupts.
#13547 arch/risc-v/src/litex_ticked: Set initial tick count to known value.
#12804 arch/risc-v: introduce AIA support
#12843 arch/risc-v: add support for DC motor control on ESP32|C6|H2|
#12586 riscv_exception.c: Add missing comma in exception reasons array
#13408 riscv_mtimer: modify riscv_mtimer_current to reduce precision lost
#12643 riscv_tcbinfo: Fix register ordering for PC
#13564 riscv: add a return value to riscv_swint
#13561 riscv: g_current_regs is only used to determine if we are in irq
#12812 riscv: Fix fork() system call
#13354 riscv: Unify the extended context save/restore
#12554 riscv: Initial support for debug trigger module
#12559 riscv: Improve exception and irq mapping
#12809 riscv/debug: Add support for steppoint
#12819 riscv/espressif: Mark private data as static in esp_spi.c
#12861 riscv/fork: fix fp/gp handling
#12589 riscv/k230: revise canmv230:nsbi
#12677 riscv/k230: updates for nsh and pnsh
#12744 riscv/nsbi: fix k230 AMP confs
#12799 riscv/qemu-rv: skip reloading mhartid
#12807 riscv/qemu-rv: Add BUILD_PROTECTED target for rv-virt
#12944 riscv/qemu-rv: add RPTUN support
#12772 riscv/rv-virt: use RAM_START in ld.script
#12816 riscv/qemu-rv: add NuttSBI target for rv-virt
#12831 riscv/qemu-rv: revise PROTECTED mode
#12840 riscv/nsbi: fix up_udelay for rv32
#13510 risc-v: Add a new option to control exception reason
#12722 risc-v/bl808, sg2000: Configure MMU to cache Kernel Text, Data and Heap (T-Head C906)
#12571 risc-v/bl808: Add GPIO Driver
#12621 risc-v/bl808: Add GPADC character driver
#12663 risc-v/bl808: Add SPI driver
#12771 risc-v/bl808: Add watchdog driver
#12752 risc-v/bl808: Add timer driver
#12614 risc-v/ox64: Add LED Driver
#12762 risc-v/qemu-rv: Add LED Driver for QEMU RISC-V 32-bit and 64-bit xtensa
#13223 Add spi slave dev to esp32 xtensa
#13225 espressif: Fix build with RTC
#13255 espressif: Fix deadlock in RT timer caused by critical section
#12560 espressif: Fix error while evaluating Wi-Fi task ID
#13368 espressif: Update external libraries to fix GPIO interrupt bug
#13236 espressif: Update HAL library reference to include debug assert
#13022 espressif: Update internal libraries reference
#12551 xtensa: add support for capture driver on ESP32 and ESP32|S3|
#12781 xtensa: add support for motor control driver
#12967 xtensa_cache:add up_get_cachesize api
#12865 xtensa/esp32: replace nxsig_usleep() with up_udelay()
#12750 xtensa/esp32s3: Add peripheral DMA request return value and optimize DMA initialization
#13277 xtensa/esp32s3: Add timing delay set interface for QSPI
#13291 xtensa/esp32s2: add WiFi support
#13454 xtensa/esp32s3: Adjust I2C clock timing
#12720 xtensa/esp32s3: Deinitialize ESP32-S3 QSPI GDMA engine.
#12871 xtensa/esp32s3: Update the rtc code to fix system blocking issue
#12919 xtensa/esp32s3: partition name duplicate and free
#12918 xtensa/esp32s3: reserve memory for a mutex struct depending on the OS
#12932 xtensa/esp32s3: Separate address and command flag for QSPI DMA transfer
#13165 xtensa/esp32s3/esp32s3_sdmmc.c: wait for command done event also on error response x86_64
#13391 Add MSI/MSI-X support for intel64
#12583 arch/intel64: add cpu specific data and per-cpu interrupt stacks
#12803 arch/intel64: add support for HPET as system clock
#12588 arch/intel64: add support for inter-processor signaling
#12570 arch/intel64: get TSC frequency only when not provided from Kconfig
#12801 arch/intel64/irq.h: rename rdtsc macros
#13392 intel64: Improvements for HPET
#12567 arch/x86_64: addrenv should add offset only for RAM region
#12577 arch/x86_64/intel64/intel64_rtc.c: fix compilation
#12591 arch/x86_64: add SMP support
#13417 arch/x86_64: Add ARCH_INTEL64_DISABLE_CET
#13409 arch/x86_64: Add ARCH_X86_64_IDLE_NOP and ARCH_X86_64_IDLE_MWAIT
#13436 arch/x86_64: add basic support for R_X86_64_REX_GOTPCRELX relocation
#13422 arch/x86_64: Add elf32 multiboot1 wrapper for NuttX binary
#13313 arch/x86_64: convert all asm() to asm
#13317 arch/x86_64: Fix wrong RDTSCP implementation
#13316 arch/x86_64: Support QEMU PVH ELF loader
#13426 arch/x86_64/intel64: fix compilation errors in intel64_oneshot_lower.c
#12800 arch/x86_64/intel64/intel64_cpu.c: remove workaround for spin_lock
#13390 qemu-intel64: restore functionality of PCI test configs
#13315 qemu-intel64: simplify linker script
#12597 x86_64: add AVX support
#12613 x86_64: addrenv support
#12569 x86_64: hide –whole-archive behind Kconfig option Driver Support New Driver Support
#12829 Add amg88xx driver
#13396 Add Intel e1000 and igc support
#13393 Add support for 16550 compatible PCI serial cards
#12715 Add support for the Sensirion SHT4x temperature and humidity sensor
#12824 Add thermal framework
#11605 Coresight: add init coresight driver framework
#13082 driver/mem: add Mem Driver.
#12834 driver/ssd1680: Add support for 1.54 inch e-paper display
#12938 drivers/video: add goldfish gpu fb
#13470 drivers/pinctl: add pinctrl framework
#13471 drivers/goldfish-pipe: implement goldfish pipe
#13553 Pci ep framework Drivers Improvements
#12998 [driver][bcm43xxx] reset tx_seq of sido-bus when ifdown wlan-if
#13154 can/sja1000: drop driver dependency on __builtin functions
#13524 can: Add g_ prefix to can_dlc_to_len and len_to_can_dlc.
#13141 can: Merge netpacket/can.h into nuttx/can.h
#12676 driver/net/lan9250: Add lan9250_ioctl and lan9250_uninitialize APIs
#13464 driver/ftl: Read the consecutive eraseblocks
#13320 driver/usbdev: support userspace to access ep0
#12641 drivers: add API for drivers early initialization
#13492 drivers: fix gcc14 errors for virtio
#13107 drivers/audio: fix samp rate conversion issue
#13323 drivers/bch: fix uint32 overflow issue
#12564 drivers/net/ksz9477: Add port mirroring support
#12765 drivers/drivers_initialize.c: check if only one console is selected
#13411 drivers/fb: add panbuffer clear ioctl
#13468 drivers/gpio: support poll gpio device and optimize code to save memory
#12976 drivers/input: enable touch/kbd/mouse for virtio input
#13060 drivers/modem/alt1250: Disable the PIN feature in ALT1250
#13327 drivers/mtd/bch: fix size_t overflow when offset > 4GB
#13480 drivers/pty: support pty write to kill signal, like serial driver
#12830 drivers/serial: Make the 16550 rx trigger level configurable
#13202 drivers/regmap: add exit function interface.
#13469 drivers/reset: support rpmsg reset
#13328 drivers/rwbuffer: Bug fix: Set nblocks 0 after direct using wrflush
#13434 drivers/serial
#13576 drivers/syslog: compile syslog_device.c if console/char/file channel enabled
#12857 drivers/touchscreen: add grab for touchscreen
#13481 drivers/usbdev: minor update for cdcacm
#12930 drivers/virtio-net: Support VIRTIO_F_ANY_LAYOUT
#13170 drivers: Fix goldfish events x64 unresponsive interrupt issue
#13531 Fix build error of drivers/sensors/usensor.c
#13325 Input/ff: new driver frameworks for vibrator(haptic)
#13078 video: fix warning & update sim camera
#12760 virtio/serial: initial CONSOLE support
#12971 mmcsd_sdio:Fix performing read and write in irq
#12949 mmcsd: add support of getting ext_csd reg data
#13157 mmcsd: add write ext csd reg support
#13528 mmcsd: fix a logic error
#13215 mmcsd: make a compatibility change for cmd12 and cmd23
#13380 mtd:ramtron MB85RS256B address length is 2
#13136 mtd:use part->name as partition name when CONFIG_MTD_PARTITION_NAMES set
#12796 mtd/Kconfig: fix W25_SLOWREAD menu item.
#13252 mtd/nvs: fix align size
#13219 nuttx/drivers:Modify errcode returned by relay_ioctl
#12848 Optimize iic and spi parts and add iic slave drivers
#13344 pci ivshmem related driveres support
#13337 Revert “Fix unwanted flush in the SPI slave driver”
#13251 rndis: correct usb descriptor
#13538 sensor:Fixed the problem of user information lag in cross-core communication “stublist”.
#13539 sensor_rpmsg.c:Fix that “stub” will be created when local core only has subscribers.
#12927 serial/uart_16550: include stdint.h in uart_16550.h
#13383 serial/uart_16550: remove up_putc spinlock
#13384 serial/uart_pl011: default syslog needs to check flow control in up_putc
#13509 serial/pci_16550: make sure that interrupts are disabled during init
#13102 syslog_rpmsg: Ensure the syslog ept is ready when rpmsg_send
#13184 timer driver:support poll.
#13075 usb_cdcmbim: add mbim device driver
#13367 usbdev: Add fastboot boardctl
#12914 usbdev: add USB cdcncm device driver
#12745 usbdev: delete unsigned comparison with 0
#13216 usbdev: extend the usb req len to unit32_t
#13190 USB 3.0 device side support
Board Support New Boards
#13248 arm: Add support for CSK6011A SOC and CSK6011A-NANO board
#11709 at32uc3a0: Initial work for SimpleMachines’ Mizar32-A
#12813 boards/esp32s3: Add initial support to the ESP32-S3-Korvo-2 board
#13467 boards/esp32s3: add support to esp32s3-lhcbit board Boards Improvements
#13532 [Bugfix]Kconfig:ensure compatibility between kconfig-frontend and kconfiglib in kernel build
#12698 Add defconfig to use the ws2812 driver
#12878 arm/stm32f103-minimum: Use common board MFRC522
#12922 arm64: Initial implementation of CONFIG_BUILD_KERNEL
#13376 arm64/Kconfig: Make the ARM64_PA/VA_BITS a true Kconfig variable
#12973 board/arm/rp2040/seeed-xiao-studio-rp2040 GPIO configuration
#12738 board/linum-stm32h753bi: Add support to external sdram
#12882 board/lm3s6965-ek: restore 128K kflash
#12699 board/stm32f401rc-rs485: Add support to Device Configuration over Telnet
#12737 board/stm32f401rc-rs485: Add support to MAX7219 8x8 LED Matrix
#13516 boards: Update EXAMPLES_SOTEST_DEVMINOR to EXAMPLES_SOTEST_DEVMINOR_MAX
#12743 boards/arm/rp2040: Userled configuration to Seeed-Stdio RP2040
#13142 boards/arm/stm32/stm32f4discovery: Add support to RFID MFRC522
#13440 boards/arm/stm32h7/stm32h745i-disco: Add RPTUN support
#12825 boards/armv5: Make ARMv5 boards work again
#12593 boards/stm32: DRV8825 driver
#12673 boards/esp32[c3|c6|h2|s2|s3]: Ignore etctmp in common board
#13124 boards/esp32s3_lan9250: deinitialize the ethernet device lan9250
#12716 boards/esp32s3: Increase the default stack size for usbnsh
#12763 boards/imx93-evk: add sdimage cleanup
#12876 boards/lm3s6965-ek: fix memory.ld for PROTECTED
#12598 boards/MIMXRT1020-EVK: Fix board I2C code to adapt to last IMXRT I2C/pi…
#13137 boards/risc-v/esp32c6/esp32c6-devkitm: Add support to RFID MFRC522
#12869 boards/rv-virt: unify RV32 config names
#13226 boards/sim: Defconfigs for nand and mnemofs
#12898 boards/xtensa/esp32s3: ESP32S3 Emmc Support
#13478 boardctl: add board control api to start slave core
#13273 boardcrtl: change BOARDCTL_TESTSET to BOARDIOC_SPINLOCK
#12747 Change nucleof429zi nsh defconfig
#13059 defconfig: add SYSTEM_TELNETD related config
#13334 esp32: fix a way to test a config
#13563 esp32s3: Fix faulty
esp32s3-devkit:stackexample#13234 imx9_usdhc.c: Fix build error when CONFIG_ARM64_DCACHE_DISABLE=y
#12867 LTDC for Linum board
#12780 nrf9160-dk: disable FPU for modem example
#13476 nucleo-h745zi: fix potential bl jump to app failed issue
#13069 nucleo-l432kc: Revert the USART2 config to be use by virtual COM port
#12987 nuttx/boards:Uniform initialization format for init_array.
#13208 risc-v/bl808: Configure MMU to cache User Text, Data and Heap
#13199 risc-v/mmu: Configure T-Head MMU to cache User Text, Data and Heap
#12862 risc-v/qemu-rv: Add Build Config for leds64_rust
#13186 risc-v/qemu-rv: Add Build Config for leds64_zig
#12896 risc-v/qemu-rv: add cluster PLIC/CLINT configs
#12544 riscv/nuttsbi: add MTVAL argument
#12645 stm32h7/linum-stm32h753bi: add support to qencoder
#12739 stm32f777zit6-meadow: Add support for two USB CDC/ACM
#12637 Usbnsh to seed-xiao-rp2040 board
#12713 zynq_mpsoc/zcu111: add support for gpio and board auto led
#12806 zynq-mpsoc/zcu111: independent JTAG configs from normal nsh configs
#12797 w25c: add W25_DEBUG sub-menu config option and update debug traces. File System New FS
#13001 V9FS For NuttX FS Improvements
#13514 add sched note for littlefs/romfs/rpmsgfs
#12863 Fix the location of tmpfs pwrite write and Fixed some code check warnings
#13500 fs.h: fix a comment in file_operations
#12532 fs: add backtrace to where file opens
#13150 fs: add fs_heap, support shm/tmpfs/pseudofile with independent heap
#12587 Fs: backtrace tweak
#13512 fs: Dump the list of files when the file description runs out
#13194 fs: nfs: Fix nfsmount error
#12978 fs: Rename node with inode.
#12969 Fslock optimize
#12937 fs/mnemofs: Fix journal log rw issue, rw size issue
#12945 fs/hostfs: Replace strcpy with memcpy
#13443 fs_inode:Change the type of i_crefs to atomic_int
#13458 fs_dup2 bug fix, memleak
#13573 fs/chmod/fchmod/lchmod: only set permissions by mode_t and ignore othjer bits
#12931 fs/epoll: Optimize implementation details
#12615 fs/fat: Fix Fseek Bug When File Size Is Multiple of Cluster Size
#12548 fs/fat/fs_fat32.c Return EOF when reading past the end of the file.
#13521 fs/dump: correct SCHED_DUMP_ON_EXIT to DUMP_ON_EXIT
#12990 fs/mmap: Fix build warning with [-Wmaybe-uninitialized].
#13132 fs/procfs: Supports any number of thread displays
#13123 fs/shmfs:Avoid an integer overflow
#12790 fs/spiffs: Return OK on
spiffs_fstatsuccess#13407 fs/mmap: Add MADV_HUGEPAGE definitions
#13406 fs/mmap: Ensure anonymous pages are initialized to zero
#12661 fs/mnemofs: Adds Block Allocator
#12668 fs/mnemofs: Add parent iterator and path methods.
#12680 fs/mnemofs: Add LRU and CTZ methods
#12683 fs/mnemofs: Add journal methods.
#12702 fs/mnemofs: Add master node and r/w methods
#12943 fs/mnemofs: Autoformat
#12808 fs/mnemofs: Refactoring path logic, direntry size bug fix, open free bug fix
#12658 fs/mnemofs: Setup and VFS methods
#13475 fs/mount: add ftl proxy to mount block filesystem on mtd device
#13258 fs/mq_open: revise comments
#13326 fs/files_extend: Bug Fix
#13331 fs/inode: using inode reference to indicate unlink and simply code
#13077 Fsnotify
#12942 Hostfs support get filepath by ioctl
#12817 procfs/meminfo: free delaylist before reporting
#13058 procfs/mempool: fix did not remove when pool not enabled
#13092 rpmsgfs: fix out of bounds access caused by data transmission farmat
#13063 rpmsgfs: set fs type to rpmsgfs when mount through rpmsgfs
#13348 smartfs procfs: fix double declare g_smartfs_operations
#12939 rpmsgfs_client:Fix error return exception
#12941 rpmsgfs: support filelock
#13098 tmpfs: old data was loaded when SEEK_SET beyond end of the file
#13490 vfs:fix a type mismatch issue and a typo Networking Improvements
#13385 Fix the bug that netlink receive wait does not hang up
#13053 icmp:add net_lock to protect icmp connection
#13336 local_socket: add SO_SNDBUF & SO_RCVBUF support
#13045 localsocket improvement
#12639 net: Enable ICMP by default if IPv4 is enabled
#13028 net_chksum.c:mod process of generating sum to solve checksum error
#12991 net/icmpv6/icmpv6_input.c: fix undefined build error
#13093 net/netdev: Add periodic log for netdev statistics
#12689 net/netfilter: fix windows compile error
#12688 net/pkt: correct PF_PACKET family sending errors
#12995 net/pkt: fix issue that set nonblock by fcntl does not take effect
#13010 net/pkt: fix raw socket send data length is insufficient
#13120 net/tcp_timer: fix tcp_timer idle loop and retransmission bug
#13051 net/tcp: reset the dupack counter.
#12899 net/tun: Remove unused variables in read & write
#13191 net/tun: Support changing carrier state of TUN/TAP
#13350 net/udp: Fixed the issue of sending ICMP error when the destination address is broadcast/multicast.
#13037 netdev_upperhalf: add polling mode support for tx/rx
#13046 netdev/ioctl: Setting log level to warning on SIOCGIFHWADDR failure
#13007 netdev/lower: Add reclaim callback and use it in virtio-net
#13343 netdev/statistics: Add bytes for netdev statistics
#13008 netdev/upper: Delay replied packets to prevent TX quota become negated
#12992 netinet/in.h: add macro definitions to resolve compilation errors
#12994 netlib/route: add length for add/del route-func to reduce caller stack usage
#13335 netdb: Make NETDB_DNSSERVER_NAMESERVERS effective for NETDB_RESOLVCONF
#13038 netdb: netdb code support ffmpeg rtsp(getaddrinfo & getnameinfo)
#13049 Modify the IPV6 address acquisition method and the gateway settings.
#13125 modify for offload checksum and add macro with tcp/icmp/icmpv6/igmp checksum
#13026 modify the type of the ipv6 parameters to solve runtime error
#13029 solve Problem of tcp parameter calculation exceeding the boundary
#13156 sys/socket: implement compiler agnostic sockaddr_storage alignment
#13158 tcp_close.c:when tcp socket stays in TCP_FIN_WAIT_1 or TCP_FIN_WAIT_2,calling tcp_close_eventhandler releases received packets
#12999 tcp_input: if tcp->req > recvreq, send ack only when state is TCP_ESTABLISHED
Unsorted Improvements
#13448 [Bug-Fix] Resource leaks
#13100 [BugFix]Command “critmon” error
#13002 12K sample rate support
#13486 Accelerate access to interrupt status
#12980 add fb_vsync_pollnotify
#12959 Add goldfish events
#12951 Add irq disable func
#13130 Add memory pressure monitoring
#13089 api:add lib_realpath function
#12947 assert: add compile_assert macro
#13020 assert: check COMPILE_TIME_ASSERT before define
#13087 Audio upstream
#13044 Basic Atomic for NuttX
#13099 bch: alloc bch->buffer when offset not aligned
#13513 BCH: Add readonly configuration for BCH devices
#12853 binfmt/elf_loadfile: Set sh_addr even if SHF_ALLOC == 0
#12965 boot: fix potential bl jump to app failed issue
#13094 Bugfix hcreate
#13300 can: Before we use pstate, we should check if it is NULL.
#13570 can: Add g_ prefix to can_dlc_to_len and len_to_can_dlc.
#13048 can: CAN code optimization
#12656 can: fixes and tweaks for CAN FD support
#13126 Capture adds the function of edges counting
#12934 clk: fix reg operation not compatible with 64bit
#13210 cdcacm: align cdcacm_epconfigure function parameters
#13189 Controlling rgb led bp
#12889 Coredump enhancement, optimized prompt statements
#13474 coredump: just save latest core file
#12958 coredump: refine coredump info analyse
#13066 crypto: import the ability to clone session
#13109 crypto/bn: Provide software algorithms to calculate inverse elements and greatest common divisor
#13431 crypto/rsa: add exp mod in software crypto
#12970 Disable clean/flush optimization in case of SMP restriction
#12777 dlfcn: Add stub for dladdr
#12779 dlfcn: Fix indent issue in lib_dlclose.c
#13159 dynamically create work queues
#13489 enable O_CLOEXEC explicitly to avoid fd leak
#13118 Enhance ASSERT
#13424 Enhance Kasan
#13559 Enhance Kasan’s global variable out of bounds detection
#13388 Expose IPTOS_xxx to the application layer
#12963 fdcheck: fix race condition in fdcheck
#13096 fb:add select overlay FB_NO_OVERLAY
#13296 filep Reference count
#12578 Fix allocated memory test
#13461 Fix dev_mem related
#13555 Fix greater-than-or-equal-to-zero issue
#12741 Fix pin LTDC_B0, should be PJ12 instead of PF0
#13129 Fix task_setup race condition
#13054 Fix the compilation warnings
#12955 fix the potential bug of putwc, fgetwc, ungetwc, wcsstr, fputwc
#13095 fix:uart_rpmsg_dmareceive
#13477 ftl: should pre-allocate eblock for car case
#13000 getrlimit: implement RLIMIT_STACK return limit stack size
#13459 GNSS: Add support for constellation, measurement, clock and geofence
#13504 goldfish:add kernel mode support
#13330 group/filelist: add reference to protect filelist of group
#13554 i2c: Optimize access to private data
#13233 Increase the chance for _assert to work early in the boot
#13306 init: add OSINIT_TASK_READY
#13228 inline restore_critical_section and add parameters to restore_critical_section
#12981 input: fix goldfish input and lvgl input device name mismatch problem
#13108 input: fix touchevent race condition
#13073 inode: call inode_release when close success
#13198 Introduce new PCI framework
#13442 input/ff: modify FF_MAX to support 64-bit machine
#13387 ipfrag: fix warning
#13163 ipfrag: remove assert for actual product reasons
#13012 irq: add [enter|leave]_critical_section_nonirq
#13018 irq: add isr thread
#13242 irq: dynamic create g_irqmap
#13256 irq: irq with the same priority share the same wqueue
#12595 irq: remove g_cpu_nestcount in restore_critical_section
#12935 irq: remove restore_critical_section in irq
#12596 irq: remove restore_critical_section in irq
#13369 irq: simplify code by using OSINIT_TASK_READY
#13119 Kasan enhance
#12893 kasan:fix bug write error is recognized as read error
#13133 Keep the log level consistent with assert
#12590 libmetal/atomic: enable 64-bit atomic by toolchain builtin flags
#13543 lilygo_tbeam_lora_gps/gps: Enable GNSSUTILS_MINMEA_LIB for EXAMPLES_GPS
#13549 lzf:Add macro judgment to header file reference.
#12929 make/disassembly: generate disassembly file
#13179 memset:optimizate speed.
#12985 minidumpserver: fix parsing bug
#13287 mksymtab.c support for structure
#13452 modify BUILD_LOADABLE to MODULES which backwards-compatible Kernel
#12968 MPU update
#13460 New Rpmsg Transports: Rpmsg Port SPI, Rpmsg Port Uart and Rpmsg Router Transport Support
#13104 nxmutex api enhance
#13047 nuttx-names.in:add popen & pclose assign to glibc interface
#13006 nuttx/audio: add AUDIOIOC_GETPOSITION ioctl
#13005 nuttx/audio: add offload buffer size config
#13340 nuttx/crypto: export asymmetric algorithms about ecdh and ecc256 via /dev/crypto
#13138 nuttx/crypto: fix wrong implementation in crypto module
#13173 nuttx/crypto: support new algorithm about crc32 and aes-cmac
#13084 nuttx/crypto: support poly1305 and ripemd160 algorithm
#12986 nuttx/note: fix missing the last character when printing custom labels.
#12730 NVS: fix align size
#13187 nvs: modify nvs block size and block numbers
#12601 queue: inline queue
#13435 pci/pci_uio_ivshmem: pci uio ivshmem msix interrupt support
#13178 pl031:change mktime to timegm.
#13057 pm_runtime: fix missing header
#13064 pm_activity: fix deadlock with spinlock and critcal_section
#13055 pm: add pm_idle, up_idle only handle pm state execution
#12933 pm: add debug_assert for cb register/unregister api
#13072 pm: update document, add pm_idle interface for not-smp case
#13279 poll: fix thread_cancel() caused poll used after free
#13074 Private requirement for wapi
#13168 protected build: userspace threads will unexpectedly work in privileged mode after syscall
#13153 pty: use mutex to protect alloc minor
#13295 psram_cache_init: remove cosmetic differences between PRO/APP
#13438 ramlog bug fix
#13283 Refactor wdog module
#12891 Reimplemented the mempool traversal function and fixed some existing bugs in the mempool
#13463 rename, strtoul & sscanf
#13309 Restore ASSERT/VERIFY semantics
#13485 Revert “irq: add [enter|leave]_critical_section_nonirq”
#12607 Revert “irq: remove restore_critical_section in irq”
#13432 Rpmsg VirtIO Transport support and related patches
#13183 rpmsg_rtc:Update g_basetime from rpmsg.
#13169 rpmsg.c: move onceinit judge logic to common part
#13404 rpmsgblk: split multi_cmd only when it is too large to be placed into…
#13465 rpmsgdev: Support server export and oneway polling
#13172 rptun.c: fix rptun.c format follow rpmsg virtio
#13203 rtc alarm:fix doesn’t call nxsig_notification
#13515 shm: remove useless macro
#13280 smp: smp call handler add up_cpu_paused_[save|restore]
#13405 spi_slave: change length to nwords
#12599 spin_lock: inline spin_lock
#12837 spinlock: add support of spin_trylock_irqsave()
#12836 spinlock: inline no trace implement to remove duplicate logic
#13272 spinlock: spin_initialize should add memory barrier
#13457 stack recorded bug fix
#13386 stream/syslograw: remove support for iob buffer in syslog
#13511 Support msync
#13196 support rss/arfs with device
#13106 suppress libasan checks
#13031 Synchronize the modification of the WiFi problems in QEMU.
#13113 Swift embedded support
#12820 task_fork.c: Fix vfork for BUILD_KERNEL
#12754 up_backtrace: fix maybe backtrace the exiting thread
#13293 Update clock speed
#13410 Update posix timer
#12611 Upgrade Segger SystemView to V3.54
#12705 V4l2m2m openh264 x264 to builtin
#13030 video/fb: changed circbuf_write assert to warning
#13433 VirtIO PCI Transport Support for NuttX
#13338 virtio-blk: support called read/write in interrupt
#13437 wqueue bug fix
#13241 wqueue: add interface work_queue_priority_wq and work_queue_priority