NuttX-12.4.0
What’s New In This Release Improvements to Core OS sched
#10919 sched: assert: move the backtrace dump after the stack dump
#11195 sched: assert: restore assertion registers to array of last registers
#10858 sched: assert.c: Print process name in assert dump
#11131 sched: Check for zero sleep time and yield CPU
#11226 sched: delete check when pick nexttcb in readytorun list
#11038 sched: env_dup: fix issue about USE_AFTER_FREE
#11102 sched: explicitly select the cpuload clock source configuration
#10816 sched: Fix dependencies of CONFIG_SCHED_CPULOAD_ settings
#11036 sched: Follow o_cloexe semantics when calling the exec function
#10867 sched: format: modify spin_lock_irqsave format
#11018 sched: group/killchildren: replace syscall(2) to kernel api
#10605 sched: Implement ticket spinlock
#10827 sched: Improve adjtime() functionality
#11231 sched: lock refine: remove sched_[un]lock in xxx_waitsample
#11302 sched: misc/rwlock:Implementing read/write locks.
#11347 sched: Print more information in assert
#11017 sched: pthread/barrierwait: replace syscall(2) to kernel api
#10929 sched: Remove the unused tcb argument from group_setupidlefiles
#10776 sched: rw spinlock
#11124 sched: rw spinlocks: cosmetic changes
#11191 sched: sem_holder.c: When accessing SEM_WAITLIST, use holder’s addrenv
#11257 sched: semaphore: Move POSIX regulated parts of semaphores into libc
#11252 sched: sigaction: Expand si_user for non-kernel signals
#10970 sched: smp call exit immediately when cpuset change to 0.
#10861 sched: spinlock: Add spin_lock_init and spin_is_locked macro
#11348 sched: Stack recorded:Add maximum stack statistics when the task is running
#9163 sched: Stop the sched timer when possible to save the power in tickless mode
#10934 sched: support smp function call
#11032 sched: task: [posix]spawn: Simplify how spawn attributes are handled
#11241 sched: task: pthread_cancelpt: Fix nxtask_delete from another task group
#11165 sched: task: pthread_cancelpt: Move cancel point handling to libc, data to TLS
#11097 sched: task: Remove spawn_proxyattrs as obsolete implementation
#11177 sched: taskfiles: skip unnecessary file open/close operations to improve performance
#11250 sched: taskspawn: fix spawn fail if enable FDCHECK
#10834 sched: timer: handle perf count overflow
mm
#11068 mm: both use spin_lock_irqxx() when operated delaylist
#11183 mm: free delay list when exceeding specified count
#11258 mm: kmap: Finalize kmap implementation for RISC-V
#10837 mm: kmap: Fix bug in kmm_unmap
#10876 mm: kmap: Fix several issues with the kmm_map interface
#11114 mm: kmap: Fix bad dependency to ARCH_VMA_MAPPING
#11092 mm: improve SMP performance
#11152 mm: record the maximum system memory usage
#11168 mm: Remove mm_spinlock
#10984 mm: Replace enter_critical_section with spin_irqsave
libs
#11408 libc: add fgetwc, getwc, ungetwc wchar api implementation
#10602 libc: add support for custom streams with fopencookie()
#11011 libc: add support for memory buffer stream with fmemopen()
#11274 libc: add support for open_memstream
#11288 libc: arm: add support of PACBTI
#10969 libc: Change errno to set_errno and get_errno
#11294 libc: Fix -nan issue with f32
#11198 libc: Fix improper handling of 64 bit types for libvsprintf
#11322 libc: Handle PCREL_HI20/LO12_I/S relocations correctly
#10994 libc: Improve stdio unlock version function
#11364 libc: lib_slcd: fix encode/decode of binary nibble to/from ascii hex
#11035 libc: localtime: fix the timezone error caused by minor error
#11281 libc: machine/arm: align related implementations of armv7 architecture
#10927 libc: machine: Remove FAR from sparc
#11133 libc: realpath: allocate link buffer of pseudofs to save stack
#10913 libc: Refine the implementation of fopen/fdopen
#10993 libc: Remove the unused lib_libdtoa.c
#11137 libc: Solve some problems encountered during cmake compilation
#10992 libc: stdio: Change FILE buffer field from “unsigned char *” to “char *”
#11063 libc: stdlib/lib_exit.c: fix multiple definition of __dso_handle and sethost.sh: add MSYS environmen for msys2
#11447 libc: stream: add stream interface
#11350 libc: Support gdbstub kernel debugging
#11346 libc: Supports storing coredump into block devices
#10862 libc: memfd: shm_unlink or unlink anonymous file
#10891 libc: memfd: turn a runtime error into a linker error
#10972 libds: add missing observer_b16.c to cmake build
#10915 libdsp: lib_observer.c: use float numbers for some calculations
#10979 libdsp: update LP_FILTER comment
#11256 libm: Fix an issue that public header files are not exported
#11162 libm: newlib: Change the download site to https
#11386 libs: log2ceil: Move implementation of log2ceil to a common place
#11043 libs: modlib: optimize code and add arch api for allocating data section
#11394 libxx: cmake: remove useless code
#11050 libxx: Silence warnings when building libcxx.
#11301 libxx: upgrade llvm version to 17.0.6
#10860 libxx: Use gnu++20 option only if using libcxx misc
#11242 Revert “libc/lib_bzero:Add bzero prototype.”
#10881 arm, arm64, xtensa, libxx: Change sed -r to sed -E to support macOS
#11027 assert: rename __ASSERT to ASSERT to avoid conflict
#11025 audio: add amr format support
#11055 binfmt/elf: Select ARCH_USE_TEXT_HEAP if ARCH_HAVE_TEXT_HEAP
#11238 clock.h: use CONFIG_DEBUG_SCHED to test init ticks
#10924 crypto/rsa_verify: export rsa verify via /dev/crypto
#10978 debug/assert: decouple configuration of show file name feature
#10809 dma: support source/destination address auto step
#10870 fixedmath: add abs and sign operations
#11111 ioctl: add definitions related to ethtool
#11121 ioctl: add SIOCGIWNAME support
#11026 kernel: replace all sem_* to nxsem_*: in kernel space
#10849 langinfo: The character U+ff0c “,” could be confused with the ASCII character U…
#11243 list: search prev item in reverse order
#11221 poll: pollsetup should notify only one fd passed by caller
#10892 refine: move BIT Macro to nuttx/bits.h
#11218 spinlock: Move the inclusion of stdatomic.h to source file
#10869 sys/types: supporting 32-bit IDs for gid_t/uid_t
#11207 tcbinfo:remove total_num form tcbinfo.
#11298 video: Update v4l2m2m interface & create videoio.h
#11362 virtio.h: add virtio_has_feature api for virtio driver Build System Improvements
#11007 Revert “make/archive: Use the full path name when matching or storing…
#11047 applications: Move the test tools in the system to the testing
#11395 cmake: build file support with libcxx 17.0.6
#10982 cmake: correct cmake rule file name
#11375 cmake: fix NUTTX_COMMON_DIR
#11031 cmake: init RISC-V cmake qemu-rv build
#10843 cmake: raise error if previous make build was not cleaned
#10879 fix: TreeNode has same attribute with NodeMixin
#10968 nuttx: generate nuttx.map file when enable debug link map.
#11303 sh: Enhanced compilation system
#11432 tools: config.mk: whether verbosity is enabled or not, should use bash
#11098 tools: configure.c and tools/sethost.sh Add CONFIG_EXPERIMENTAL for configure windows native Architectural Support New Architecture Support
#11319 arm:imxrt: Add support for imxrt1170 Soc and imxrt1170-evk board
#11371 riscv: Add support for Bouffalo Lab BL808 SoC (T-Head C906)
Architecture Improvements
#10836 arch: add a flag indicating that the chip doesn’t support DMA transfer from/to FLASH
#10759 arch: add use_data to g_tcbinfo
#11190 arch: dumponexit: unify dump on exit to common code
#10828 arch: simplify ARCH_PERF_EVENTS related code
#11160 arch: textheap: add _heapmember declare for text and data heap arm
#11282 clang: replace deprecated parameter
#11170 Let’s old arm’s arm_doirq return register context like armv7-a
#11413 debug:fix gdbstub clear fpb & dwt when already use jtag/swo bug
#11166 armv8-m: Fix typo error for NVIC_SYSHCON_HARDFAULTPENDED
#11118 cxd56xx: Support to get gnss firmware version
#11398 imxrt: Extend FlexIO support to 117x
#11436 imxrt: flexio move ifdef guard lower
#11012 imxrt: NXP I2C non-DMA end only on stop with end of packet
#11000 imxrt: nxp lpi2c calculated timeout can not be 0
#11033 imxrt: NXP lpi2c DMA transaction only need the status conditioned
#11164 imxrt: NXP Serial Do not wait on TXDMA semaphore
#11070 imxrt: NXP Serial overcome race where DMA has not fetched TCD again
#11020 imxrt: serial Ensure the cache is updated if the DMA has updated again
#11199 imx6: Replace cpu_start_t with start_t
#10877 mx8mp: Add support for SPI
#11203 nRF91: initial support for GNSS
#11308 nrf{52|53|91}: add missing support for 1 Mbps UART baud
#10826 nrf{52|53|91}: add support for up_perf
#10830 nrf{52|53|91}: fixes for timer
#11172 rp2040: pwm: Fix errors at CONFIG_PWM_NCHANNELS=1
#10817 sama5: Sort SAMA5D2 adc/tsd dma
#10806 sama5: TSD trigger and pressure scaling issues
#11307 samd212: invert tx and rx in spi_dma_setup
#11212 samd212: sam_dmac: Fix compilation and fix SAM_DMAC_CHINTENCLR settings
#10855 samv7: channel gain switching in aefc
#11312 samv7: sam_emac: Implement errata workaround for KSZ8061 PHY
#10847 {stm32|stm32f7|at32|samv7|imxrt}: fix for adc_setup
#11211 stm32: Add support for Ethernet packet timestamping and PTP timer
#11175 stm32: foc: add support for board-specific ioctl
#10833 stm32: Initialize LED driver during late initialization for nucleo-f446re
#11181 stm32: stm32/stm32_adc.c: protect irq_attach with refcounter
#11194 stm32: stm32_foc.c: rename some macros
#11194 stm32: stm32_eth: Fix excessively long critical section in ifdown handlerm
#10865 stm32: UART needs to be disabled before changing setup
#10824 stm32l4: ADC: Adds low level operations to start and stop DMA.
#11154 stm32h7: serial: Do not wait on TXDMA semaphore
#11323 stm32h7: serial refactor out tx dma semaphore
#11332 stm32h7: serial Remove .txdmasem = SEM_INITIALIZER(1) bad cherry-pick
#10841 stm32h7: stm32_oneshot.c: Fix format warnings.
#11334 stm32h7: stm32h7_adc: Dynamically set clock prescaler and BOOST
#11367 stm32u5: fix EXTICR2,3,4 register offsets
#10846 s32k1xx: Fix LPUART inversion warnings & config.
#10844 s32k1xx: Fix warnings in PWM code.
#11099 s32kxxx: flexcan doesn’t set srr bit for extended frames
#11325 s32k3xx: NXP S32K3xx Fixes stuttering output
#11106 s32k3xx: serial ensure the cache is updated if the DMA has updated again arm64
#10888 Add support for FIQ interrupts
#11352 coredump: support arm64 coredump
#11200 Disable ARCH_HAVE_FORK for arm64 as a precaution
#11429 Fix GICv2 detection
#10966 Remove unnecessary code in arm64_cpu_idle.S
#11037 support relocate for aarch64
#10917 support up_coherent_dcache function
#10918 target cpuid calculation error in arm64_gic_raise_sgi function
#11182 the bug of sscanf exception output in arm64 platform
#11245 vector: no need to save x0 to sp
#10904 XN should only be set when the attribute MT_EXECUTE_NEVER is set risc-v
#10856 addrenv: utils: Determine page table flags by type of vaddr
#11113 addrenv: Fix static page table mapping (paddr instead of vaddr)
#10838 addrenv: Fix the user VMA end address
#10829 addrenv: Fix two SHM related issues
#11389 arch_elf: Check for _HI20 relocation validity
#11437 espressif: mcuboot: Fix dependency of the Espressif’s port MCUboot.
#11034 espressif: Update esp-hal-3rdparty version
#11024 litex/litex_emac: Add support for KSZ8061 ethernet PHY.
#11029 litex/litex-emac: Add support for phy interrupts.
#11028 litex/litex_gpio: Fix ISR dispatch when using higher GPIO indexes.
#11365 mmu: Extend MMU Flags to 64-bit for T-Head C906 and Svpbmt
#11283 mpfs: corespi: Round up divider to prevent overlock of SPI
#10822 mpfs: corespi: Several speed optimizations to the FPGA driver
#10921 mpfs: ethernet: Fix RX/TX buffer and descriptor handling
#11405 mpfs: ethernet: Remove DMA_ENABLE hack
#10922 mpfs: entrypoints: Fix potential R_RISCV_JAL linker error
#11247 mpfs: ihc: cleanup DEBUGASSERTs and irq enabling
#11355 mpfs: mpfs_head.S: Change j/jal to tail call
#10923 mpfs: mpfs_head.S: Simplify clearing PMP
#11233 mpfs: opensbi: update opensbi to version 1.3.1
#11404 mpfs: usb: Use kernel memory instead of user memory for DMA
#11403 mpfs: pmpcfg: Move PMPCFG registers to common location
#10875 pgalloc.h: Return kernel vaddr for kernel RAM paddr
#11374 riscv_pmp.c: Revert LOG2_CEIL back to run-time log2ceil function
#11001 Simplify PMP configuration and code
#11441 Update mode.h to add CSR_TVEC sim
#10930 crypto: Use mbedtls default configuration without special check
#11381 sim_lcd: add open & close
#11122 sim_netdriver: some sim defconfig have problems when using the network
#11246 sim support 16bbp
#11237 simwifi: Connect the wifi whose ssid contains the special characters.
#11235 simwifi: Escapes the special characters of ssid in the scan results.
#11069 simwifi: Fix the error of the need length for scan bssinfo.
#11112 simwifi: For scan results, parse and translate the Chinese ssid encoded by the wpa_cli.
#11066 simwifi: host wlan0 obtains ip and set dns for wlan0 in the defwan wlan0
#11108 simwifi: Transfer the special characters in ssid.
#11104 simwifi: Support that get the connected Chinese essid.
#11051 simwifi: Support that simwifi connects to the hidden ssid.
#11171 Replace [enter|leave]critical_section with up_irq[save|restore]
#11219 Remove the wrong comment from up_allocate_heap
#11205 usb_rawgadget: remove halt operation
#10910 Update Fix more generic for platforms that do not have execinfo.h
#11030 wifidriver: Fix the scan error.
#10886 wifidriver: Support the sim wifi. x86_64
#10899 Fix idle stack assignment xtensa
#11141 esp32: ble: Enable the BLE interrupt during an SPI flash operation
#10859 esp32: ble: Fix task_create_wrapper CPU core ID passed as argument
#10851 esp32: irq: Fix erroneous interrupt allocation for each CPU core
#11139 esp32s2: Add rtc heap support
#11300 esp32s2: Add RTC support
#11138 esp32s2: Add SPI slave support
#10850 esp32s2: add UART RS485 support
#10823 esp32s2: Add support to TWAI/CANBus controller
#11431 esp32s2: Add xtwdt and rwdt support
#10873 esp32s2: ESP32-S3 I2C improvements
#11259 esp32s3: Add rtc heap support
#11180 esp32s3: Add RWDT support
#11287 esp32s3: Add SPIRAM high memory support
#11179 esp32s3: Add XTWDT support
#10854 esp32s3: ble: enable the BLE interrupt during a SPI flash operation
#11331 esp32s3: enable LIBC_ARCH_ATOMIC
#11299 esp32s3: Fix esp32s3 mcuboot ota crash
#11136 esp32s3: Fix issue regarding IRAM-enabled ISRs by fixing the linker
#11285 esp32s3: Fix some ESP32S3 module reboot and QVL issues
#10882 esp32s3: Fix the os halt issue when esp32s3 wlan has high-speed or long time d…
#11427 esp32s3: Fixed bbpll not calibrated from bootloader issue
#11328 esp32s3: GPIO clear pending interrupt status before enable IRQ
#11329 esp32s3: QSPI disable DMA when sending command to slave
#11286 esp32s3: Invalidate cache if the flash address used has a cache mapping.
#11144 esp32s3: Support malloc from external RAM and internal RAM
#11157 esp32s3: Support multiple PHY init data bin
#11434 esp32s3: Support reading encrypted partitions
#11052 esp32s3: Support to read data from flash to PSRAM
#11340 esp32s3: Tasks use SPIRAM as stack can do SPI flash read/write/erase/map/unmap
#11428 espressif/rmt: Implement a common RMT (Remote Control) driver for xtensa-based devices. Driver Support New Driver Support
#10770 drivers: add regmap subsystems support.
#10902 motor: Add stepper interface
#11253 mtd: Adds support to W25Q20CL memory.
#11149 mtd: mx25rxx: add support for MX25L25673G chip
#11422 net: ksz9477: Add simple port-based static VLAN configuration
#11339 net: lan9250: Add LAN9250 driver(SPI and QSPI mode)
#11280 sensors: Add support for MS5607
#10864 sensors: max31865:RTD-to-Digital Converter
#10914 stepper: add DRV8825
#11228 tee: add optee client driver module Drivers Improvements
#11071 Kconfigs: rename {Rpmsg|rpmsg} to RPMGS
#11061 can: Add new ioctls
#10845 foc: foc_dummy.c: update dummy device state only if dev opened
#11176 foc: return scaling factor for phase currents and BEMF via ioctl
#10808 ioexpander: Minor fix for ioexpander driver
#11147 lcd: add stride support for LCD driver
#11185 lcd: change lcd stride from pixel to bytes
#10926 math: mpi: add mpi driver in math
#11240 misc: Rpmsgblk function optimization
#11220 mmcsd: mmcsd_sdinitialize should save csd register into priv->csd
#10909 mtd: filemtd:Fix teardown return error number EINVAL
#11041 mtd: get mtd_geometry_s.model for mtd partition and optimize code
#11187 mtd: s25fl1: fix compile warnings caused by incorrect variable print format
#11370 mtd: w25q: add nxsig_usleep to busy waiting in w25qxxxjv_erase_sector()
#11391 net: qemu/wifi: Add the virtual wifi function on the emulator.
#11216 net: skeleton.c doesn’t compile without this patch if ioctls are enabled
#10907 note: Change 0/1 to false/true
#11153 note: delete sched_note_flatten
#10840 note: optimize note performance
#10920 note: remove remaining event code
#11074 power: pm: use pm_staytimeout() in greedy_governor_activity()
#11132 rptun: check the status before stop remote proc
#11222 rtc: RTC driver improvement
#10831 rtt: make RTT console optional
#11296 segger: rtt: correct macro name to avoid unable to change default mode
#11419 sensors: mx56xx: Add support for second order compensation
#11426 sensors: mx56xx: Fix threshold and calculation
#11178 serial: uart_tcsendbreak: Remove cancel point, as tcsendbreak is not one
#11402 syslog: ramlog: improve ramlog performance
#11392 syslog: ramlog: multi readers
#10890 syslog: ramlog: remove sched_[un]lock and rl_nwaiters
#11186 timers: Rewrite adjtime() implementation to work for RTC and tickless kernel
#11356 usbdev: Add callback for CONFIG_USBDEV_SOFINTERRUPT
#11042 usbdev: config USBDEV_TRACE_INITIALIDSET when disable USBDEV_TRACE
#11161 usbdev: Solve some problems of USB hotplug
#10985 usrsock: Make the field of usrsock_request native alignment
#11103 usrsock: rpmsg_server: Keep msg order in recursive call
#11107 usrsock: socket fallback with ENETDOWN
#10874 video: fb: Add fb_register_device
#10812 video: goldfish: Remove the vsync residual code
#11380 video: goldfish: optimize goldfish fb register
#11249 video: video.c: modify set_buf call sequence in start_capture function.
#11224 video: wait when the vsync queue is full in FBIO_WAITFORVSYNC
#11382 virtio: Support for setting MAC addresses of the virtio-net interfaces
#11385 virtio: virtio-gpu: convert virito-gpu fb_register to virtio_gpu_fb_register
#11201 virtio: Virtio Qemu 8.1.2 issues fix
#11013 wireless: bluetooth: Add option to set the HCI TX thread affinity while running with SMP enabled
#11072 wireless: bluetooth: rpmsg depends on RPTUN
Board Support New Board Support arm
#10987 gd32f4: add gd32f470i board support
#11094 stm32: add support to LINUM-STM32H753BI board
#10990 stm32: add support to STM32F401RC-RS485 board
#11358 stm32h7: linum-stm32h753bi: Add modbus example using usart6
#11276 seeed-xiao-rp2040: Add initial board support
xtensa
risc-v
Board Improvements
arm
#11101 cxd56xx: Add cxd5610 gnss driver
#11373 gd32f4xx: change gd32f470z board code
#11193 imx6: Fix sabre-6quad:libcxx
#11310 nrf52: nrf52832-dk: add timer example
#10835 nrf52: remove CONFIG_ARMV7M_SYSTICK form tickless configs
#11150 sama5: Add QSPI support SAMA5
#11151 sama5: sama5d2-xult: add support for QSPI flash and nxffs
#11117 stm32: b-g431b-esc1: don’t use CONFIG_STM32_USE_LEGACY_PINMAP=y
#11306 stm32h7: fix config conflict
#11214 stm32h7: linum-stm32h753bi: Add support to RTC and alarm
#11167 stm32h7: linum-stm32h753bi: Added support to userled library.
#11265 stm32f4: stm32f401rc-rs485: Add sdcard support
#11217 stm32f4: stm32f401rc-rs485: Add buttons support
#11169 stm32f4: stm32f401rc-rs485: add support to userleds
#11255 stm32f4: stm32f401rc-rs485: Fix f401rc flash size risc-v
#10736 esp32c3: pm: Let PM_PROCFS depend on FS_PROCFS_REGISTER
#11418 esp32c6: Add ostest defconfig
#11096 mpfs: Add option for board specific PMP configuration
#11262 qemu-rv: rv-virt/knsh: Set correct RAM_START and RAM_SIZE
#11397 qemu-rv: Virtio sound sim
#10960 fix Cygwin/MSYS2 ld: unrecognized option ‘-z’
#11290 nxscope: remove CONFIG_ALLSYMS=y xtensa
#11142 esp32: Add LVGL defconfig
#11229 esp32: Add support encoder to ESP32-2432S028
#10961 esp32: Add wifishare board config and documentation
#10996 esp32: Rename Shift game to Brickmatch and add an board example to esp32-devkitc
#11417 esp32<|s2|s3>_board_spiflash: Fix error message about SmartFS init
#11425 esp32s2: Increase init task stack size to 3072
#11156 esp32s3: Link stack checking function and data to SRAM when enable flash or PSRAM driver
#11342 esp32s3: add esp32s3-devkit:toywasm kconfig
#11295 esp32s3: Add rtc defconfig
#10885 ESP32S3-EYE: GPIO and button support
#10884 ESP32-S3-EYE: I2C, SPI and LCD support
#10883 ESP32-S3-EYE: Wifi File System Improvements
#10995 Change inode_checkflags to static function
#11445 Fix hostfs after uid/gid changes
#11433 fat: Fix number of data clusters usable for fat driver
#11196 fat: fix ubsan warning of shift-out-of-bounds
#10706 fs_epoll: several epoll problems fix
#11125 fs_files.c: make sure that fs_getfilep is not interrupted when holding mutex
#11349 fs_gettype:add zipfs magic
#11446 hostfs:fix structure layout inconsistency in hostfs
#11090 inode: Change inode_unlink to static function
#11188 inode: check file list before memcpy
#11140 inode: improve the performance of get file pointer
#11318 proc: Fix groupfd to get fd by group instead of current tcb
#11449 procfs add poll support
#11360 procfs/cpuinfo: Zero copylen in cpuinfo_read
#11039 rename: fix use after free issue about rename
#11451 smartfs: Add necessary aligned access in smartfs_rename()
#11248 spiffs: correct mutex lock cycle of spiffs
#10804 support zipfs,can mount zipfile
#11232 tmpfs: fix an integer overflow
#10880 vfs: add munmap logic to pseudofs
Networking Improvements
#10813 Add CONFIG_NET_ICMPv6_ROUTER_LIFETIME
#10893 allow icmpv6 and udp to find the dev by the ifindex with s_boundto.
#10916 Fix RNDIS compilation error
#10819 local: Fix the problem that local udp socketpair cannot release fifo files.
#11443 local: make the call return of each process consistent with linux
#11015 local: Support SO_SNDBUF option in getsockopt
#11289 loopback: Fix flags of lo device
#11324 icmpv6:Optimize the process of obtaining the IPv6 address through RA.
#11010 icmpv6: Fix net mask logic in icmpv6_setaddresses
#11197 igmp: call IFF_SET_IPv4 when igmp_send
#11384 ipv6: Fix source address with many addresses in same network
#11378 ipv6: Move xxx_ipv6multicast from arch to common code
#10894 netdb: When set a dns nameserver which already exists, return OK
#11076 netconfig: Enable SOCK_CLOEXEC for ioctl sockets
#11396 netdev: Modify the logic for setting the IFF_RUNNING status of interfaces.
#11110 Simplify getting value for different domain
#11054 Support multiple IPv6 address per netdev
#11406 tcp: Recover from iob shortage with TCP_WRITE_BUFFERS
#11126 tcp: Support initial sequence number described in RFC 6528
#11009 tun: Fix the error of calling tun_close when tun_txavail or tun_txavail_work is executed
#10986 tun: Fix the error of calling tun_close when tun_txavail or tun_txavail_work is executed
#11372 udp: Add check when sending too big packet without IP frag
#11210 udp: Add support for SO_TIMESTAMP
#11120 udp: modify ipv4 multicast to allow different conn to join simultaneously
#10878 usersock: Return -ENOSUPP directly if domain isn’t equal to PF_INET/PF_INET6 Security Issues Fixed In This Release Compatibility Concerns
#10605 Implement ticket spinlock
A proposal to slove #1488
Implement ticket spinlock.
#10861 spinlock: Add spin_lock_init and spin_is_locked macro
align with Linux api naming.
#11102 sched: explicitly select the cpuload clock source configuration
Different configurations require different dependencies. Explicitly select dependencies to avoid automatically selecting inappropriate configurations.
#11334 stm32h7_adc: Dynamically set clock prescaler and BOOST
First commit is aligning naming and is a breaking change.
#10827 Improve adjtime() functionality
Prior pull request #9084 and issue #8858 added basic adjtime() support for the SAMv7 platform.
This pull request adds support for STM32 platform.
In addition I have made a few changes to the adjtime() configuration options:
Previously adjustments less than 1 microsecond per tick would be completely ignored. Now they are applied over a shorter period at a rate of 1 us per tick.
Previously CLOCK_ADJTIME_PERIOD was in units of 1/100th of second. Change to milliseconds to be more generally useful unit. Change setting name to CLOCK_ADJTIME_PERIOD_MS to make the unit change easier to notice.
Previously CLOCK_ADJTIME_SLEWLIMIT was in percentage. Most clock crystals have better accuracy than 1%, so the minimum slew rate was excessive. Change to CLOCK_ADJTIME_SLEWLIMIT_PPM with setting value in parts per million.
No need to use floating point math in clock_adjtime.c.
Impact
Users who have used CLOCK_ADJTIME_PERIOD and CLOCK_ADJTIME_SLEWLIMIT settings should update their configuration. New CLOCK_ADJTIME_PERIOD_MS is 10x the old period value, and new CLOCK_ADJTIME_SLEWLIMIT_PPM is 10000 times the old slewlimit.