The documentation grew one page at a time, so the tree follows the
history of who wrote what and not the shape of NuttX. Scheduling is
spread over three places, a driver page can sit above the subsystem
that owns it, and the front page lists everything at the same level.
That is a lot to face when all you want to know is where the scheduler
lives.
This change files every page under the code it describes. It is a move,
not a rewrite: outside the ten pages named below, every page keeps the
text that is already in master, and no page's text is deleted.
What it does:
* Groups the table of contents into nine chapters.
* Moves the OS subsystems under os/: scheduling, memory, drivers,
filesystem, networking, IPC, interrupts, libs, time.
* Renames the platform pages to the names the source tree uses, and
derives their tags from the tree instead of by hand.
* Splits guides/ by subject.
* Adds Documentation/redirects.py, with a rule for every page that left
its old path, so old URLs keep working. The redirect page also carries
a link's #anchor across to the new page.
Ten pages have text that is new or rewritten. Nine of them are the
landing page of a chapter, which has to exist for the new structure:
index the front page
os/index OS Design
os/scheduling/index Scheduling
os/interrupts/index Interrupts
os/ipc/index IPC
os/time/index Time and timers
about/index About
developing/index Developing NuttX
ReleaseNotes/index Release notes
The tenth is os/libs/libbuiltin, the only page here with technical
content: libs/libbuiltin/ had no page at all. Five SVG diagrams come
with these pages, hand-written XML with no editor metadata.
Nothing outside Documentation/ is touched.
How it was checked:
* Sphinx builds with -W: no warnings, and no document left outside a
toctree.
* A script, offered in the PR, proves the narrow claim this rests on.
For every page outside the ten named above it erases what a move
touches -- link target, path, tag line, toctree block, table border --
from the whole old text and the whole new text, and requires the two
to be byte for byte identical. It also requires every sentence of a
deleted page to turn up somewhere, and every page that left its old
path to have a redirect, from a URL that existed, to where its content
went. It exits non-zero and names the page if any of that is not true,
and it tests added pages too, so forgetting to declare one cannot make
it pass.
* An independent audit checked 133 factual claims on these ten pages
against the tree, one shell command per claim: 130 confirmed, 1
refuted and fixed here, 2 not checkable.
* tools/checkpatch.sh is clean over the range.
The diff is large because moving a page changes every link that points
to it. Most of it is pure renames, and board pages that gained one tag
line.
Assisted-by: Claude:claude-opus-5
83 KiB
NuttX-11.0.0
What's New In This Release
Bug Fixes and Improvements
-
#5978 nuttx: unify FAR attribute usage across the code
-
#6064 sched/environ: Ensure tg_envp terminated by double
-
#6038 sched/pthread_create:fix bug,delete data_sem
-
#6035 sched/init: drivers_initialize() should be late than up_initialize()
-
#6026 sched/note: include-able from C++ files
-
#6083 sched/environ: Refine the environment variables storage layout
-
#5992 sched/note: correct flatten format
-
#6271 sched: Replace pthread_sem_take with nxsem_wait_uninterruptible
-
#6220 sched/note: fix build break
-
#6215 sched/group: addrenv: allocate current group for each cpu
-
#6153 sched:fix mq_timedsend describe
-
#6135 sched: cpuload: add pm callbacks for cpuidle and time compensate for idle task
-
#5986 sched/irq: Fix array overrun in coverity check
-
#5859 sched/sched_timerexpiration.c: change from sched_time to eventtime
-
#6137 sched: remove DEBUGASSERT from nx_waitpid
-
#5929 sched/pthread:need check pthread is DETACHED
-
#5915 sched/note: add support of trace section mark
-
#6328 sched: Move the call of pthread_mutex_inconsistent to nxtask_recover
-
#6329 sched/pthread: Should call up_exit in pthread_exit
-
#6296 sched/wqueue: Add work_timeleft macro to get the left time to start
-
#5753 Fix the initial idle tasks environment
-
#5793 sched/module: correct the check condition
-
#6716 sched/Makefile: move task_reparent.c to appropriate Makefile
-
#6707 sched: Remove the not really used cmptime
-
#6679 sched_critmonitor: remove check zero in sched_critmonitor
-
#6677 sched: handle nxtask_setup_arguments return values
-
#6628 sched/timer: timer_settime not fully satisfy IEEE 1003.1
-
#6423 sched/env: Fix the return value of unsetenv()
-
#6410 sched/mqueue: do sanity check if DEBUG_FEATURES is enabled
-
#6403 sched/mqueue: configurable mqueue notification
-
#6402 sched/mqueue: minor code tuning of message queue
-
#6393 sched/mqueue: replace inline linklist to improve performance
-
#6392 sched/mqueue: remove sched_lock to improve performance
-
#6377 sched/tls: Shouldn't get tls info directly from sp in kernel space
-
#6365 sched/tls: Wrap up_info_size into tls_info_size
-
#6340 Change depends on SCHED_[L|H]PWORK to SCHED_WORKQUEUE
-
#6250 sched: Remove task_restart in case of CONFIG_BUILD_KERNEL
-
#6236 sched: Remove task_delete in case of CONFIG_BUILD_KERNEL
-
#5822 sched/dumpstack: Print "backtrace:" only in the first iteration
-
#5925 sigact: get free sigact from freelist always successful
-
#6227 Replace all sem_wait with nxsem_wait
-
#5931 fix: pthread_rwlock_timedwrlock.
-
#6348 cpuload: use correct pm cpuload tick
-
#5888 workqueue: add work_foreach support
-
#6226 Replace nxsem_timedwait_uninterruptible with nxsem_tickwait_uninterruptible
-
#6085 semaphore: fix usage of NXSEM_INITIALIZER
-
#5819 pid_t: unify usage of special task IDs
-
#6611 include: Declare nxtask_delete function
-
#5960 timerexpiration:fix DEADCODE when RR_INTERVAL or SCHED_SPORADIC not select
-
#6745 Remove the private NULL, TRUE and FALSE macros
-
#6489 syscall: Remove exit() call gate
-
#5887 signal: Don't do schedule_sigaction when there is no action
-
#6359 signal: add define of SIGHUP/SIGTTIN
-
#6283 pthread/spinlock: Call up_testsest directly in the flat build
-
#6282 timers/watchdog: Ensure it's the idle domain before keepalive
-
#6133 syscall: Fix prototype of exec() to syscall.csv
-
#6616 syscall: Add socketpair to syscall.csv
-
#6120 Implement execle, execve, execvp, execlp and execvpe
-
#5814 env_dup: Allocate memory from the correct memory pool
-
#5914 mm/mm_heap: place alloc-bit at the LSB of node->preceding
-
#6685 mm/mm_heap: update MM_BACKTRACE and malloc failed output
-
#6658 mm: Fixed the usage of CONFIG_MM_BACKTRACE & CONFIG_DEBUG_MM
-
#5906 mm_heap: heapsize align with MM_MIN_CHUNK
-
#6409 mm: Add mm_uninitialize to release the resource
-
#6385 mm: Log name of the Heap to which the new region is being added
-
#5855 mm/memdump: dynamic turn on backtrace in heap when enable DEBUG_MM
-
#6749 mm/kasan: node header should updated from unpoisoning memory
-
#6697 mm/circbuf: support circbuf_is_init and circ_peekat
-
#6011 mm_initialize: malloc() return aligend pointer
-
#6750 mm_heap/kasan: poison free node after return back the heap list
-
#6305 Separate a few debug stuff from CONFIG_DEBUG_MM
-
#5982 openamp: Change the dependence from OPENAMP to RPTUN
-
#6762 merge openamp to newest version (2022.04.0)
-
#6067 libc/string: Use Byte-Shift algorithm for very long needles
-
#6047 libc/lib_glob:use strlcpy instead of memcpy
-
#6044 libc/net:use strlcpy instead of strncpy
-
#5995 lib_lib_vsprintf/backtrace: fix the type issue
-
#6168 Implement preadv and pwritev
-
#5737 Add dn resolution function
-
#6210 Optimize bool type handling in c
-
#6029 libc:add strptime support
-
#6445 nuttx/lib: remove dependency on BUILD_FLAT for library memory allocation interface
-
#6389 libc/ipc: add ftok(3) support
-
#6384 libc/stdio: Generate the dummy atexit and on_exit
-
#6371 libc:xtensa:arch_memmove: fix warning
-
#6370 libc:Optimize the behavior of fwrite
-
#6360 libc/time: rearrange itimerspec struct elements
-
#6357 libc/stdio: Support 'e'(O_CLOEXEC) in lib_mode2oflags
-
#6248 libc: Rename lib_Exit lib__Exit
-
#5971 libc: Avoid the compiler generate code call self(memcpy/memmove/memset/memcmp) recursively
-
#6240 libs: Move aeabi_atexit from libxx/ to libc/machine/arm/
-
#6229 libc/string: simplify strrchr
-
#6197 libc: Implement userland implementations of exit functions
-
#6196 libxx: Make HAVE_CXXINITIALIZE workable even HAVE_CXX isn't enabled
-
#6175 libc: Remove the redundant seek in writev
-
#6184 libc/assert: let CONFIG_NDEBUG default to !CONFIG_DEBUG_ASSERTIONS
-
#6169 libc/arch_atomic: add gcc legacy __sync builtins support and add FAR to pointers
-
#6140 libs/libc/string: unify implementation across the functions
-
#5948 libc/lib_localtime:fix deadcode
-
#5861 libs/libc/time: update description of strftime
-
#5837 libc: Implement getrandom on top of "/dev/[u]random"
-
#5806 libc: Change the return type of strerror from "const char *" to "char *"
-
#5798 libc/err: fix unpaired va_end()
-
#6139 libc/string: strcmp/strncmp cast unsigned char
-
#6130 libc: Fix typo error in execle
-
#6124 libc/fixedmatch: Avoid "divide by zero" error
-
#6066 libc/blockstream: add block out stream backend
-
#6087 libc: Don't duplicate string in chdir and lib_restoredir
-
#5950 libs/libc/lib_err.c:add va_end to vwarn
-
#5949 lib_chdir:change ret judgment method
-
#5976 modlib_bind.c: Restore "Relocation address out of range" checks
-
#5951 modlib/modlib_bind:fix unsigned_compare with zero
-
#5952 libc/netdb: Support the recursive lock
-
#6027 netdb/lib_dnsaddserver.c: Do not insert the duplicate DNS address
-
#6714 libc: Remove the unnecessary include from wchar and wctype
-
#6613 libc/stdio: Support "long long" type if CONFIG_HAVE_LONG_LONG is enabled
-
#6607 libc/stdio: Enable LIBC_FLOATINGPOINT by default if ARCH_FPU is enabled
-
#6606 libc/stdio: enable long long formatting by CONFIG_HAVE_LONG_LONG
-
#6547 libc: Fix getrandom() bug: Didn't propagate read error
-
#6241 libs: risc-v: Add R_RISCV_JAL support to arch_elf.c
-
#6667 libs/libc/string: add memmem
-
#6666 libc/wchar: support wchar
-
#6652 libc/impure: Fix the inconsistence from the different toolchain
-
#6337 Refine the implementation of TLS
-
#6434 include/cxx: Remove all non standard c++ header files
-
#6108 assert: static_assert is not support in c standard C89,C99
-
#5851 libxx: Add CXX_RTTI for enabling RTTI support for C++ applications
-
#6791 Add Embedded Template Library (ETL) support
-
#6720 libs/libc: correct config name
-
#5890 rexec: fix free error in error handing
-
#6709 Imx6 adb
-
#6586 Sabre6quad netknsh
-
#6482 Use builtins for byteswapping
-
#6421 getrandom: use _NX_XXXX interface to remove cancellation point for kernel
-
#6205 binfmt/libelf: Fix function description field
-
#6190 binfmt_execmodule: Use heap size getter for print
Major Changes to the Build System
Bug Fixes and Improvements
- #6015 configure.sh: Make top Make.defs symlink to board Make.defs instead
- #6014 checkpatch.sh: add -m option to enable/disable Change-Id check
- #6013 tools/mkdeps: Extend MAX_SHQUOTE to 3072
- #6094 tools/cibuild.sh: Migrate risc-v toolchian from 8.3.0 to 10.2.0
- #5836 tools:use dump log creat a gdbsever to debug
- #6350 tools/gencromfs: add attribute to set minimum 4 bytes aignment for cromfs image data
- #6520 tools/jlink-nuttx: Move the register index check to setget_reg
- #5826 tools/jlink: Change the type of pid from uint16_t to uint32_t
- #5808 tools/nxstyle: Order g_white_prefix by alphanum
- #6128 tools:fix parsememdump.py match error
- #6245 tools/mkallsyms.sh: Make it work with llvm
- #6129 tools:minidumpserver.py support xtensa
- #6132 compiler.h: optimization option is not supported before GCC 4.6
- #6232 tools/nxstyle: Add the suffix white list
- #6180 tools/testbuild.sh: Don't skip configure and distclean
Architectural Support
New Architecture Support
- #6179 tlsr82: first commit of telink tlsr82xx chip port
- #6687 Add support for NXP S32K3XX MCU family and boards
- #6375 stm32wl5: add new chip family
- #6422 New stm32wb chip family
- #6418 Eps32 Lilygo t5v2 BSP
- #6478 arch: arm64: ARMv8-A support for NuttX
Bug Fixes and Improvements
-
#6188 arch: Move -fstack-protector-all and -finstrument-functions from Make.defs to Toolchain.defs
-
#6200 arch: Add gcov related config for arm/risc-v/xtensa
-
#6063 arch/stack_color: correct the stack top of running task
-
#6056 arch/stack_color: correct the end address of stack color
-
#5966 arch:tcbinfo: update tcbinfo as xcpcontext update
-
#5865 arch: Add -fsanitize=kernel-address to ARCHCPUFLAGS if CONFIG_MM_KASAN=y
-
#5864 arch/Toolchain.defs: add wildcard for EXTRA_LIBS
-
#5920 ARCH_ADDRENV: Add guard against mis-configuration
-
#6105 arch/clang: add support for Clang LTO
-
#6089 arch: Move group_addrenv to common place
-
#6183 arch: Remove the error message when toolchain can't find
-
#6080 arch/ostest: remove CONFIG_TESTING_OSTEST_FPUSIZE & board level implement
-
#6086 Remove FAR from the arch and board files of ceva/mips/misoc/or1k/sim/sparc/x86_64/xtensa
-
#6778 arch: common: Fix up_check_tcbstack() for CONFIG_ARCH_ADDRENV=y
-
#6665 arch/stack: get correct stack remain and limit dump size when sp is not within stack
-
#6717 arch: Call board_reset before up_irq_save and spin_trylock
-
#6252 arch/addrenv: Change text write enable/disable to generic mprot
-
#6254 arch: Remove board/libboard$(LIBEXT) from the rerequest of export_startup
-
#6276 arch: Move "-nostartfiles -nodefaultlibs" from Make.defs to Toolchian.defs
-
#6351 arch: Define WCHAR_[MIN|MAX] in arch/include/limits.h
-
#6286 arch: inline up_interrupt_context()
-
#6284 arch/addrenv: Add missing FAR qualifier to addrenv_mprot
-
#6277 arch/i2c: Change xxx_i2c_tousecs to xxx_i2c_toticks
-
#6416 Fix CONFIG_ALLSYMS for arm, risc-v and xtensa after #5496
-
#6567 arch: Remove the inclusion of arch/irq.h from chip/irq.h
-
#6550 arch: Move up_getsp from arch.h to irq.h
-
#6452 arch/backtrace: correct the skip counter
-
#6581 arch: Correct the order of stack related information in assert
-
#5818 progmem: eliminate PROGMEM_ERASESTATE configuration option
-
#5828 Show assigned cpu in dump task
-
#6193 Elf loader: give temporary write access to user .text memory
-
#6176 UMM: Implement getter for address environment heap start vaddr
-
#6367 dump_task: also dump thread param when dump thread name
-
#6062 SAM3X HSMCI DMA Fixes
-
#6059 arch/risc-v/riscv_misaligned: Correct sw source register
-
#6065 RISC-V: Support for mtimer in S-mode
-
#6054 riscv/riscv_schedulesigaction.c: Remove the duplicate state saving
-
#6051 arch/risc-v: Add missing DMB to mtimer / setmtimecmp
-
#6050 RISC-V: Move mhartid to own assembly macro+function
-
#6039 arch/riscv: Move toolchain config to arch/risc-v/Kconfig like xtensa
-
#6034 arch/risc-v: Apply common mtime driver to mtime based chps
-
#6022 arch/risc-v: Apply misaligned access handler for k210/bl602
-
#6006 riscv/ESP32C3: Use the common exception handler
-
#6468 Add I2C_M_NOSTART and I2C_M_NOSTOP support in esp32c3_i2c
-
#6583 risc-v/esp32c3: Add the rest of the reset causes
-
#6600 ESP32-C3: General improvements to Protected Mode infra
-
#6487 risc-v/esp32c3: Implement up_perf_xxx API
-
#6538 ESP32-S3: Add driver for I2C peripheral in Master mode
-
#6552 esp32s3: Fix IOMUX function number for SPI
-
#6522 Added configuration files for using BMP280 with ESP32-DevkitC
-
#6549 Esp32 lilygo tty t5v2 bugfix
-
#6540 ESP32-S2: Improvements to the GPIO driver
-
#6539 ESP32-S2: Add driver for I2C peripheral in Master mode
-
#6493 stm32xx: Fix RTC drift when using HSE
-
#6492 Stm32wl55JC SPI driver
-
#6579 Added ADC support to RP2040
-
#6499 Added PWM for rp2040
-
#6502 risc-v: Move common memory map to its own file from riscv_internal
-
#6603 ESP32: Add support for Protected Mode
-
#6516 arch/stm32_capture fix SMC register offset address and completion slave mode selection
-
#6565 arch/risc-v: Move __XSTR, FLOAD/FSTORE and REGLOAD/REGSTORE to the right place
-
#6020 arch/riscv: Add mtimer driver
-
#6008 arch/risc-v: Attach exception handler in common place
-
#5998 arch/riscv: Minor style change and text correction
-
#6003 esp32c3: Simplify irq dispatch logic
-
#5989 arch/risc-v: Replace riscv_fault with riscv_exception
-
#5970 b-u585i-iot02a:nsh: Drop TrustedFirmware-M dependency
-
#5974 arch/risc-v: use STACK_FRAME_SIZE for in S-mode syscall asm
-
#5980 RISC-V: Fix file name of riscv_dispatch_syscall
-
#5985 RISC-V: Combine 3 variables that depend on CPU amount into one
-
#5981 RISC-V: Fix usage of static_assert in riscv_percpu.c
-
#5983 arch/risc-v: Remove the unnecessary inclusion of board header files
-
#5754 arch/risc-v: Correct stack coloration in riscv_cpu_boot
-
#5758 RISC-V: Prepare CONFIG_BUILD_KERNEL part 1
-
#5760 ESP32-S3: Fix UART IRQ setup hardcoded to CPU 0
-
#5766 arch/risc-v: Rework riscv_get_newintctx
-
#5773 risc-v/esp32c3: Remove deprecated option for disabling atomics support
-
#5775 arch/risc-v: Merge riscv_getnewintctx into common
-
#5781 phy62xx_exception: using armv6-m exception_common code
-
#5782 RISC-V: Implement option to run NuttX in supervisor mode (S-mode)
-
#5809 fixed mpu9250 not work on i2c bus issue.
-
#5765 esp32 efuse build fix
-
#5772 arch/Kconfig: Don't depend on Xtensa for the SUPPRESS_CLOCK_CONFIG option
-
#5825 ESP32-S3: Enable GPIO read/write operations and interrupts support
-
#5827 Add SPIRAM to ESP32-S2
-
#5829 RISC-V: Add/fix implementation for arch_elf.c
-
#5830 risc-v/qemu-rv: Restore FPU context after context switch
-
#5831 RISC-V: Add kernel stack
-
#5833 ESP32-S2: Remove unused and unsupported configs from Kconfig
-
#5834 ESP32-S2: Initialize instruction cache on startup
-
#5878 arch/risc-v: Use riscv_fpuconfig to enable FPU
-
#5898 riscv/bl602: Implement SPI Cmd/Data
-
#5957 risc-v/esp32c3: Fix regression on IRQ handling for ECALL instruction
-
#5905 arch/risc-v: Store/Restore FPU register in exception_common
-
#5795 ESP32-S3: Clean up and improve GPIO driver interface
-
#6604 esp32s3: Add DMA support
-
#5838 esp32/Make.defs: Organise common arch files and chip files appropriately
-
#5868 arch/risc-v: Move fpu [re]store to common place
-
#5869 riscv/bl602: Enable SPI Master in SPI Poll Send
-
#5907 riscv/bl602: Remove check for LCD driver
-
#5908 riscv/esp32c3: Remove check for LCD driver
-
#5746 RISCV: Fix nasty bug in PMP region test
-
#5842 arch/risc-v: improve style consistency across chip variants
-
#5913 arch/risc-v: Move group_addrenv to correct place
-
#5922 arch/risc-v: get wider visibility for arch instruction macros
-
#5940 arch/risc-v: Add handler for misaligned load/store
-
#5917 arch/risc-v: move REGLOAD/REGSTORE macro to riscv_internal.h
-
#6217 riscv/pmp: fix bug: PMP_CFG_FLAG_MASK makes pmp cfg fail
-
#6192 Riscv hostfs
-
#6235 RISC-V: add C++ support to crt0
-
#5731 arch/risc-v: Improve speed of context switch
-
#6255 arch/riscv: Remove & ~1 before assign signal_handler to REG_EPC
-
#6237 arch: risc-v: Enable FPU for qemu-rv only if EXPERIMENTAL=y
-
#6242 rv-virt:knsh64
-
#6690 Ability to use newer pico-sdk with RP2040 builds (Issue #4919)
-
#6249 risc-v/mpfs: introduce IHC driver
-
#6776 risc-v/mpfs: usb: configure fifos properly
-
#6077 arch/risc-v: Use fs status definition from csr.h
-
#6095 arch/risc-v: Remove FAR from chip and board folder
-
#6101 arch/risc-v: Change riscv_savefpu/riscv_loadfpu to macro
-
#6102 ARM/RISC-V: Fix xxx_assert from IRQ context
-
#6115 arch/risc-v: Don't clear reserved bits in fcsr in riscv_fpuconfig
-
#6116 arch/risc-v: Enable FPU for K210
-
#6117 arch/risc-v/riscv_misaligned: Implement float load/store support
-
#6125 arch: risc-v: Do not enable FPU for K210 with QEMU
-
#6126 arch/risc-v: add support for GCC LTO
-
#6156 riscv/Makefile: Delete old target used for debugging
-
#6162 RISC-V PMP: Restrict Fence instruction for chips that support S-mode
-
#6191 RISC-V: Fix crt0 file compilation
-
#6194 RISC-V: Fix bug in riscv_addrenv.c
-
#6052 arch/riscv: Jump instead call riscv_dispatch_syscall
-
#6131 RISC-V: Add implementation for vfork
-
#6134 RISC-V: Fix system crash when FPU is in use
-
#6145 RISC-V: Add syscall support for vfork
-
#6151 RISC-V: workaround for the RV64 SoC which does not has mem mapped MTI...
-
#6069 RISC-V: Add support for CONFIG_BUILD_KERNEL
-
#6005 ESP32C3 TWAI (CAN) controller support.
-
#5740 Add ethernet support for risc-v/MPFS
-
#5749 risc-v/mpfs: usb: fix ep0 stall/resume and rx reads
-
#5783 risc-v/mpfs: usb: fix ep0 read done
-
#5881 MPFS: Fix issue with external interrupt detection
-
#5875 MPFS: Fix error in flat build linker script
-
#5912 arch/risc-v/mpfs: Remove duplicated riscv_restorefpu
-
#6060 MPFS: Fix timer and exception/fault handling
-
#6070 MPFS: Set correct interrupt per mode (M-/S-mode) for mtimer
-
#5993 MPFS: Prepare support for S-mode
-
#5780 MPFS: Add board_memorymap.h
-
#6160 MPFS: Remove # CONFIG_ARCH_FPU is not set from defconfigs
-
#6177 MPFS: Add support for CONFIG_BUILD_KERNEL, adds icicle:knsh
-
#6303 MPFS: Implement S-mode head and start function
-
#6304 risc-v/mpfs: amend OpenSBI to utilize IHC
-
#6260 risc-v/mpfs: apply IHC review fixes
-
#6396 Mpfs fix ddr training failures
-
#6395 risc-v/mpfs: composite usb driver
-
#6261 risc-v/mpfs: IHC: clarify semaphore usage
-
#6285 risc-v/mpfs: IHC: allow hart configuration
-
#6437 risc-v/mpfs: update clock configuration parameters
-
#6405 risc-v/mpfs: Move the entry point to .start section
-
#6496 risc-v/mpfs: emmcsd: fix two issues
-
#6326 mpfs/knsh: Add C++ support
-
#6450 arch/riscv/mpfs: Add a config flag to select SD mux state
-
#6503 arch/risc-v/src/mpfs: Add mpfs_gpiosetevent and gpio irq handling fun…
-
#6530 mpfs: Fix IHC memory locations to native width type
-
#6490 mpfs: Allow mapping of RAM/ROM regions from different memory areas
-
#6602 risc-v/mpfs: usb: fix illegal reads
-
#6535 risc-v/mpfs: ihc: don't start rptun automatically
-
#6361 arch/risc-v: re-add missing riscv_udelay source
-
#6343 Some cleanup for risc-v
-
#6342 arch/risc-v: Unify common source include
-
#6292 risc-v/opensbi: Generalize the SBI variable handling in makefile
-
#6291 ESP32-C3: Add support for Protected Mode
-
#6400 ESP32-C3: Disable access to invalid memory regions using MPU
-
#6336 esp32*: Disable CONFIG_RAW_BINARY and make Config.mk update nuttx.manifest for nuttx.bin
-
#6325 esp32:wamr_wasi_debug: Remove CONFIG_SCHED_ONEXIT
-
#6324 Fix stm32 pwm HAVE_ADVTIM
-
#6323 esp32: Add an example config for wamr and littlefs
-
#6322 ESP32/ESP32-C3: Fix leak of semaphores created by Wi-Fi kernel thread
-
#6317 esp32_cpuidlestack.c: Remove unnecessary code.
-
#6313 arch: risc-v: Fix crt0.c if CONFIG_HAVE_CXX is not set
-
#6300 risc-v/vfork: FPU was not saved correctly
-
#6299 risc-v/vfork: Fix saved register set and add FPU registers
-
#6415 arch: k210: Add a workaround for clock stabilization
-
#6688 OpenSBI: Add configurable support for domain init
-
#6285 risc-v/mpfs: IHC: allow hart configuration
-
#6645 arch/esp32: Introduce the ESP32_RTC option
-
#5946 arch/xtensa: Add xtensa_tcbinfo struct that contains helpful offsets
-
#5877 xtensa: add xtensa arch oneshot ops
-
#5876 xtensa: add xtensa_spill_window declaration
-
#5820 xtensa/esp32(s2)_user.c: Use macros defined in xtens_corebits.h
-
#5771 arch/xtensa: Don't always reset the APP CPU on startup
-
#5979 arch/xtensa: Build the xtensa_tcbinfo.c file for S2 and S3
-
#5987 xtensa/esp32: Add support to TWAI/CANBus
-
#5941 arch/xtensa: add syscall note support in the flat build
-
#6167 arch/xtensa: Replace the xcp context with stack context to improve context switching
-
#6148 arch/xtensa: Refactor assembly macros
-
#6147 arch/xtensa: Simply use xtensa_createstack for CPU1 idle task.
-
#6136 xtensa: Fix backtrace on exceptions
-
#6122 arch/xtensa: Color the other CPUs task when they are created
-
#6111 arch/xtensa: Use syscall interface for xtensa_save/restore_context
-
#6109 arch/sparc,xtensa: Control output by $(Q) as other arch
-
#6222 xtensa: move fpu register to XCPTCONTEXT_REGS
-
#6231 xtensa_sigtramp.S: Remove unnecessary entry instruction
-
#6203 xtensa/xtensa_coproc.S: Use the first allocated memory to save A0
-
#5790 xtensa_coporc: Adjust stack frame for C callable coprocessor functions
-
#6258 xtensa: Fix argument passing for sys_call5 and sys_call6 functions
-
#6269 xtensa: use CONFIG_ARCH_FPU macro for coprocossor and add up_fpucmp
-
#6270 xtensa: Implement syscalls required for Protected Mode
-
#6278 xtensa.h: Remove old prototype
-
#6293 Xtensa: Add missing input operand on sys_call6 inline ASM
-
#6349 arch/xtensa: Remove the assembly signal trampoline
-
#6312 xtensa/esp32s3: Add basic support to SPI
-
#6372 arch/xtensa: Initialize the internal heap early with the rest of custom heaps
-
#6352 esp32-devkitc:wamr_wasi_debug: pin WAMR version
-
#6314 xtensa: esp32: enable cp processor of app core
-
#6302 xtensa: coproc: modify coproc_save/restore to macro
-
#6294 xtensa: add perf counter
-
#6380 arch/xtensa/xtensa_coproc.S: Fix the condition to save the coprocessors state
-
#6425 arch/xtensa: Don't build xtensa_coproc.S
-
#6443 xtensa: Remove old references to co-processors
-
#6440 arch/xtensa: Refactor assembly code
-
#6436 xtensa/esp32_rtc_lowerhalf.c: Initialize ret variable
-
#6532 Remove '-g' LDFLAG
-
#6573 xtensa: Unify common options within a single Make.defs
-
#6390 arch/sparc/bm3803: fix the using of uart1 and uart2
-
#6327 arch/sparc: Remove FILE dump code from _up_dumponexit
-
#6233 Tiva qemu
-
#5151 Tiva CAN driver
-
#6244 Fix broken tiva_gpioirqclear
-
#6548 tiva: Add UART CTS/RTS support
-
#5815 defconfig: add Lua configs for sim and teensy-4.x
-
#6765 arm/backtrace: use sp unwind if FRAME_POINTER is enabled on thumb mode
-
#6208 arm: Refine the common Make.defs
-
#6309 Armv6-m LTO fix
-
#6071 arm/rtl8720c: Remove up_getsp which is already implemented in arch/arm/arch.h
-
#6072 arm/armv7-[a|r]: move fpu save/restore to assembly handler
-
#6048 arm/armv8-m: indicating no low-overhead-loop predication by default
-
#6042 arch/arm: Move FPU initialization to common place
-
#6001 arm/armv[7|8]-m: skip the fpu save/restore if stack frame is integer-only
-
#5752 arch: cxd56xx: Fix critical section in serial transmission
-
#5761 arch/arm: Remove the code copy register from xcpt to stack
-
#5774 arch/arm: set the SP to stack top
-
#5824 arch/arm/src/stm32l4: peripheral voltage monitor support for vddio2
-
#5863 arch/arm: Change arm_arch.h to arm_internal.h in arm_perf.c
-
#5870 arch/armv7-a: Fix a typo in Toolchain.defs
-
#5845 armv8-m: make the securefault handled by non-securefult
-
#5850 armv7-m/armv8-m: move up_pref* api to common place
-
#5745 arch/arm/samv7/sam_tc: implement timer driver support
-
#5896 arm/cortex-[a|r]: IRQ Switch return should with shadow SPSR
-
#5897 ESP32{S2/S3/C3}: Enable support for C++ applications
-
#5918 arm/chip: add backtrace support for all chips that support thumb instruction set
-
#6079 arm/arch: using __builtin_frame_address(0) implement up_getsp()
-
#6076 arch/armv[7|8]m: enhance the clang support
-
#6073 arch/arm: Remove all lazy fpu related code
-
#6057 arch/stm32h7: Add SocketCAN FDCAN driver
-
#6091 arch/arm: Move arm_signal_dispatch.c to common folder
-
#6165 arch/arm/Make.defs: unify common source include
-
#6123 arch/arm: add support for GCC LTO
-
#6114 arm/armv[7|8]m: compare of hardware fp registers should skip REG_FP_RESERVED
-
#6107 armv7/r:cp15_cache_all: fix error in LineSize 'r5' mask
-
#6099 arch/armv7-[a|r]: correct the handing of group env switch
-
#6097 arch/armv[7|8]-m: Unify the toolchain definition of eabi/clang/iar for linux and windows
-
#6096 arch/arm: Remove unneeded group_addrenv call which handled by arm_doirq
-
#6093 arch/arm: Remove FAR and CODE from common/ and arm*/ folder
-
#6092 arch/arm: Remove FAR and CODE from chip and board folder
-
#6198 armv7-a: smp: fix stack coloration
-
#6185 arm/cxd56xx/lc823450: replace arch testset to board implement
-
#6178 armv7-a/r: use cps instruction to change cpu mode
-
#6163 arm/arch_setjmp.S: armv6m support setjmp, longjmp
-
#6103 arm: Remove or merge assembly code as much as possible
-
#6214 armv7-a: smp: allocate page table for each cpu
-
#6213 arm/cortex-m/toolchain: try print runtime library only in clang
-
#6211 armv7-a: Inner Shareable TLB maintenance operations
-
#6225 arm/tlsr82: pwm driver optimize and add pulse count support
-
#6259 arm/tlsr82: add hardware aes encrypt and decrypt support
-
#6354 arm/tlsr82: support flash protection and flash voltage calibration
-
#6311 arm/tlsr82: optimize the adc driver
-
#6424 arm/tlsr82: bugfix, tlsr82_flash_ioctl() return wrong value
-
#6379 arm/tlsr82: gpio driver bug fix and optimize
-
#6334 arm/tlsr82: ble performance optimize and problems solve
-
#6238 tlsr82/tc32: optimize the irq process
-
#6332 arch: imx6: add support kernel build and smp
-
#6429 arch: imx6: Enable imx_idle.c to reduce CPU load
-
#6234 arm/tc32/Make.defs: filter-out arm_udelay.c
-
#6736 arm/allocateheap: fix multiple definition of 'up_allocate_heap'
-
#6659 arch/arm/samv7: fix SPI 16-bit transactions in DMA mode
-
#6676 arm_secure_irq: fix NVIC_IRQ_DBGMONITOR un-secure set failed
-
#5645 arch/arm: optimize context switch speed
-
#5662 arch/arm: Move ARCHCPUFLAGS to Toolchain.defs
-
#6228 arch/arm: Fix target 'arm_fpuconfig.o' given more than once in the same rule
-
#6201 Restore lost flash define for stm32
-
#3488 stm32h7: Adds tickless support
-
#6772 arch/stm32f7/stm32_tim.c: include the missing RCC header
-
#6771 arch/stm32xx/Kconfig: simplify and unify PWM options
-
#6757 STM32L4 DAC: Implements basic support for low level operations
-
#6741 stm32wb/mbox: fixing TX buffer queue
-
#6732 Multiple stm32wl5jc flash usage improvements
-
#6775 arch/stm32/stm32_foc.c: fix some ADC and PWM ifdefs
-
#6769 arch/stm32f0l0g0: add SPI3 support (STM32G0B0 chips)
-
#6218 STM32F746G-Disco, Audiosupport, Bugfix
-
#6715 stm32wb: adding BLE support
-
#6729 stm32f7: add showprogress in __start
-
#6078 Stm32f746 audio
-
#6413 stm32wl5: add gpio exti support
-
#6426 stm32wl5: add flash progmem driver support
-
#6788 LPC17xx_40xx PWM multichannel support
-
#6758 LPC17_40 CAN driver SocketCAN support
-
#6267 arch/arm/samv7/sam_afec: fix ADC pin for channel 9
-
#6339 sama5d2: Fix sama5d2 Kconfig errors and add missing pin definitions
-
#6268 arm/cortex-[a|r]: add performance counter implement based on PMU
-
#6298 arch/arm/samv7: Fix PWM operation for single channel mode
-
#6265 Fixes to imxRT and SAM E70 PWM drivers
-
#6572 arch/arm/Kconfig: Add description for ARM_THUMB to make it configurable
-
#6508 sama5: add config SAMA5_SYSTEMRESET in arch/arm/src/sama5/Kconfig
-
#6534 arch/arm/armv7-m: Fix error link argument for compiler-rt
-
#6497 samv7:mcan Fix can buffer calculation. Add two words to every msg buffer
-
#6614 samv7: add support for RX DMA and RS-485 mode to serial driver
-
#6599 arch/arm/samv7: EMAC bugfixes
-
#6306 Add up_textheap_heapmember
-
#6204 MCAN_INT_ACKE must be on the list of MCAN_TXERR_INTS to be properly h…
-
#6121 compile/opt: add config DEBUG_LINK_MAP
-
#6614 samv7: add support for RX DMA and RS-485 mode to serial driver
-
#6615 Add I2C slave mode for RP2040
-
#6617 Fix arm64 stack coloration
-
#6682 Fixed path calculation in BBS RAM
-
#6790 Several IMXRT fixes
-
#6786 IMX.RT EDMA Support
-
#6787 imxrt: Ethernet Cleanup and extend support for ETH1 or ETH2 and LAN8742A
-
#6794 IMX.RT Add DMA on LPSPI, LPUART, LPI2C
-
#6675 sim: idle pm should do PM_RESOTRE in critical section
-
#6689 sim: Increased priority of loop task
-
#6792 sim/adb: Enable ping for test
-
#5862 arch/sim: Remove the unused SIM_TCNWAITERS from Kconfig
-
#5923 sim: Fix initialization of static C++ constructors when using glibc >= 2.34
-
#5885 sim/rptun: rsc must set rpmsg_vdev.config_len
-
#5756 sim: Enable garbage collection of unused input sections
-
#5988 arch/sim: support simulator keyboard devices
-
#6043 sim: bt: Add specific bluetooth HCI number id
Driver Support
New Driver Support
- #6030 Add Sensirion's SCD41 driver and minor fix
- #6412 drivers/sensors: add driver for as5048a magnetic encoder
- #6345 drivers: video: add isx019 camera sensor
- #6491 LITEETH peripheral driver support
- #6525 drivers: add support of pwm capture driver
- #6537 drivers/ipcc: add Inter Processor Communication driver
- #5835 LITESDCARD peripheral driver support
- #6510 Support for 2.13 inch display v2
- #6634 drivers/lcd: Add support to use APA102 LED Matrix as LCD Display
- #6408 e-ink ssd1680 driver
- #6353 Add driver for WIZnet W5500 Ethernet controller
Bug Fixes and Improvements
- #6068 driver/mmcsdio: do not hold the semaphore on interrupt context
- #6019 power/governor: Remove the duplicated function prototype
- #6021 Test/wm8904balance
- #6018 Increase audio_comp driver flexibility
- #5927 Minor improve for mmcsd
- #5747 drivers/timers: rename notification parameter oneshot to periodic
- #5849 pm: remove unnecessary depends on OSINIT_OS_READY
- #5853 driver/syslog: Add microseconds after date time
- #5901 power: unify lock states and move pm_auto_update to outer dir
- #5990 fix uinput rpmsg logic error
- #5816 drivers/mtd/mtd_config: set different format versions for named and ID modes
- #5736 driver/uinput: add cross core control function
- #6127 pm: Move pm_initialize call from driver_initialize to xxx_pminitialize
- #6053 drivers: remove unimplemented open/close/ioctl interfaces
- #6157 drivers: mtd: fix null buffer reference
- #6159 driver/ioexpander: remove response about irq_handler
- #6186 Stm32f746 audio
- #6164 drivers/audio/cxd56: Workaround for HW issue of CXD56
- #6655 driver/syslog: support syslog_rpmsg client and server chardev
- #6657 drivers/lcd/st7789: update putarea() method
- #6661 drivers/syslog: Call up_nputs in syslog_default_write
- #6668 driver/ioe_rpmsg: split server and client ept_cb to simplify code
- #6246 drivers/sdio: Call SDIO_LOCK before and after the transaction
- #5736 driver/uinput: add cross core control function
- #5718 drivers/can: optimize can driver reader side
- #6789 drivers/net: make sure that net driver d_buf is 16-bit aligned
- #6708 driver/sensors[2]: enhance and update sensor driver
- #6703 driver/sensor: add calibrate interface for sensor driver
- #6704 driver/sensors: enhance sensor driver
- #6696 driver/sensor: add sensor type of cap and wake_gesture
- #6698 driver/power:add ioctl cmd for voltage info and protocol and add update event mask
- #6727 power: add PM_IDLE_DOMAIN to pm.h and remove definitions
- #6759 drivers: Reorganize the power related code layout
- #6748 power/axp202: Replace battery_charger_operations_s * with battery_charger_dev_s
- #6761 drivers/wireless/gs2200m: Fix short bit length
- #6743 drivers/battery: Handle the early changed event correctly
- #6673 power related update
- #6653 Driver/sensor: enhance sensor driver to support uorb and multi core access sensor by rpmsg
- #6331 drivers/mtd/smart.c: Modify devname[] size to avoid overflow
- #6414 drivers/syslog: fix deadlock by reverting part of the changes from
b88a8cf39f - #6435 drivers/syslog: reuse rmutex_t for the recursive check
- #6419 drvers/mmcsd/sdio: function enable should wait for CCCR_IORDY
- #6500 drivers: serial: Add error for insuff buffer
- #6526 drivers/lcd: getplaneinfo fix for ST7789,ST7565 and skeleton driver
- #6513 drivers/lcd: Fix regression on ILI9341 introduced after #6465
- #6544 Make sensor mpu60x0 more configurable in menuconfig
- #6564 drivers/lcd_framebuffer: Optimize updateearea for the full screan case
- #6577 drivers/segger: Support the customize SEGGER_RTT_[BUFFER_]SECTION
- #6113 pipe: Increase buffer size by one byte to ompensate the full indicator
- #6455 usbhost_cdcacm: fix error with interrupt IN endpoint
- #6369 Fix in default syslog date format
- #6601 usbdev/usbmsc: introduce USBMSC_WRMULTIPLE for faster writes
- #6571 fix sd can't usage when mult-block receive error
- #6551 framebuffer for e-ink display. Added callback function to redraw
- #6456 mmcsd/sdio: correct return value of sdio_probe()
- #6363 Added color reset when a syslog channel is added
- #6362 syslog Fixed separation of log sessions
- #5886 syslog_rpmsg related update
- #5803 syslog: Change g_syslog_default_sem to static function variable
- #5801 syslog/channel: minor fix to avoid unreachabled return
- #6171 syslog: Fixed a potential buffer overflow issue
- #6618 Optimize syslog_write performance
- #6669 lcd/apa102: Fix APA102 RGB LED Matrix interleaving issue
- #6639 lcd/apa102: Add putarea() support for faster rendering
- #6633 drivers/bch: Adjust f_pos with the correct value
- #6621 mmcsd: Remove the not really used capacity field
- #5802 Refine the uinput implementation
- #5800 regulator/rpmsg: list delete should use safe version in loop
- #5893 ioe_rpmsg: use rptun_wait/post to resolve deadlock with usrsock
- #6699 rtc/rpmsg: when a client connection, server initiates time sync
- #6706 rptun related update 1
- #6713 rptun related update
- #5847 rptun related update
- #6678 stdio: need also flush stdio when flushall
- #6756 Minor update for sensor
- #5880 ramlog: support setting threshold value of ramlog for poll waiters
- #5857 c89: get rid of designated initializers in common code
- #6738 w25qxxxjv.c: Use PRIxOFF to format off_t
- #6728 w25qxxxjv.c: Ensure Quad SPI mode is enabled
- #6459 Adds device descriptor for the MB5RS2MTA 256KB FRAM part
- #6465 Add lcd_dev_s pointer to lcd_planeinfo_s to support multiple LCDs per board
- #6588 SSD1680 Landscape mode bugfix
- #6319 SSD1306: Added option to force reconfigure display after power off
- #6224 LCD SSD1306: Added custom configuration option
- #6223 LCD: Added existing FBIO_SETPOWER support to lcd_framebuffer.c
- #6344 Video: various updates
- #6320 use rmutex inside of all repeated implementation
Board Support
New Board Support
- #6216 Nucleo G474RE board support including USB Full Speed Device
- #6754 NXP S32K1XX: add initial support for NXP RDDRONE-BMS772 board
- #6730 boards/stm32f7: add initial support for ST steval-eth001v1 board
- #6691 boards: add initial support for ST steval-stlcs01v1
- #6383 boards/nucleo-wl55jc: add new board
- #6448 xtensa/esp32s3: Add esp32s3-eye board support
- #6592 boards: add initial support for stm32l0538-disco
- #6528 Added RP2040 Boards: Adafruit KB2040 and Adafruit Feather RP2040
- #6620 boards/stm32f0l0g0: common board logic support
- #6189 Sabre 6quad libcxx
- #6793 TTGO T-Display ESP32 V1.1 board support
- #6266 Nucleo f401 re oled
- #6592 boards: add initial support for stm32l0538-disco
Bug Fixes and Improvements
- #6684 Enable to test C++ static object in ELF
- #6036 arch, boards: cxd56xx: Minor update for spresense
- #6074 boards/arm/a1x: Remove the check CONFIG_ARCH_FPU around arm_fpuconfig
- #5964 boards/nucleo-f446re: support for SystemView
- #5964 boards/nucleo-f446re: support for SystemView
- #5788 boards/arm/samv7/same70-qmtech: add gpio driver support
- #5812 esp32s3-devkit/spiflash: Use SmartFS instead of LittleFS
- #5817 boards/arm/same70-qmtech: Remove dead code
- #5841 esp32s3-devkit: Fix the number of memory regions in some configurations
- #5909 boards/boardctl:common boardctl to read reset cause
- #5751 boards/sim/adb: Enable CONFIG_ADBD_SOCKET_SERVICE
- #5763 boards: sabre-6quad: Enable environ and path in knsh/defconfig
- #5839 boards: rv-virt: Fix stack corruption for rv64 config
- #5860 boards/arm/uid: fix pointer to int compare
- #5895 boards: correct path to RCRAWS files during file copy
- #5785 boards/arm/samv7: define MTD progmem partitions at board level
- #5787 boards/arm/samv7/same70-qmtech: add /dev/timer0 support
- #5804 boards/arm/samv7/samv71-xult: Fix mcuboot update example missing config
- #6142 boards: Switch the elf link script to binfmt/libelf/gnu-elf.ld
- #6199 boards/space: Remove the unneeded XXXEXT definition
- #6138 boards/boardctl: correct boarctl return value
- #6141 boards/risc-v: Remove "MAXOPTIMIZATION = -Os" from Make.defs
- #6143 boards: Move -fno-common from Make.defs to Toolchain.defs
- #6144 boards: Move -g from Make.defs to Toolchain.defs
- #6146 boards: Move "-fno-exceptions -fcheck-new" from Make.defs to Toolchain.defs
- #6155 boards: Move -fno-strict-aliasing from Make.defs to Toolchain.defs
- #6195 boards: rv-virt: Add support ELF to nsh and nsh64 defconfigs
- #6075 boards/esp32_twai: Remove arm_arch.h from comment
- #6081 boards/sim: support rc.sysinit
- #6654 boardctl:add reset subreason restore factory
- #6744 boards/stm32wb/ble: adding nimble config
- #6752 NXP S32K1XX: fix LPI2C reset
- #6753 NXP S32K1XX boards: add up_perf_init to support SEGGER SystemView
- #6798 board/cxd56xx/audio: Fix CXD56 audio initialization
- #5033 boards/arm/samv7: Update mcuboot configs
- #6692 stm32f0l0g0: fixes for SPI half duplex
- #6693 boards/stm32g071b-disco: add ina230 support and gpio dev support
- #6694 esp32s3-devkit: Add support to discrete 5-way joystick
- #6764 boards: spresense: Reduce power consumption with LTE board
- #6777 boards: Enable thread local storage for some config
- #6391 esp32c3-devkit/knsh: Enable CONFIG_RAW_BINARY to convert the ELF file
- #6287 stm32h7: allow definition of HSI divider in board config
- #6373 board: nucleo-l432kc: Add missing nucleo 432kc spi driver setting
- #6275 boards/arm: Remove "LDFLAGS += -g" whichi is already added by Toolchain.defs
- #6439 boards/esp32: Increase the NTP daemon stack size as it was overflowing
- #6273 board/sim: Enable hellocxx in loadable config
- #6580 Add ws2812 bringup logic to all RP2040 boards
- #6511 esp32_board_spi:Missing Data Command pin support
- #6514 esp32-wrover-kit: Add board profile to support MMC/SDCard over SPI
- #6462 boards/risc-v/mpfs/m100pfsevp/include/board_liberodefs.h: Update memo…
- #6597 boards/xtensa: Remove outdated information
- #6582 boards: stm32f4discovery: Add iperf to rndis/defconfig
- #6626 stm32: hide STM32xx_SPI_DMA option and select it automatically
- #6627 stm32g071b-disco: add OLED support
- #6542 Nucleo Wl55JC board supports E-ink display
- #6622 arch/stm32f0l0g0: improvements for SPI and enable SPI for STM32G0
- #6623 stm32f0l0g0: improvements for ADC
- #6625 stm32f0l0g0/SPI: support for half duplex and simplex rx/tx modes
- #6646 esp32: Re-organise wireless options
- #6585 esp32s3-devkit: Add support to ST7735 SPI LCD
- #6648 Added Adafruit QT Py RP2040 board and made UART, SPI, and I2C configuration more flexible
File System
Bug Fixes and Improvements
- #6726 vfs: Remove the unnecessary check when CONFIG_DEBUG_MM enable
- #6007 fs/vfs: fix st_mode mask check
- #6002 fs/poll: change format for type pollevent_t
- #5797 fs/rpmsgfs: minor refine the return value
- #6686 fs/hostfs: Change nuttx_dev_t from uint16_t to uint32_t
- #6674 procfs related update
- #6671 rpmsgfs related update
- #6663 fs/fs_sync/ioctl: update
- #6662 sys/sysmacros.h: support sysmacros header
- #6630 partition/gpt: Replace PRI?LBA with PRI?OFF
- #6629 procfs/mount: Unify uint[32|64]_t to fsblkcnt_t for the code simplification
- #6545 fs/fat: Fix a bug that long file name cannot be found
- #6401 fs/mqueue: skip nxmq_pollnotify() if no poll waiters
- #6347 fs/cromfs: Fixed a hardFault caused by unaligned memory access
- #6104 fs:oflag need consistent with psock
- #6100 fs/inode/fs_files:changes fd judgment method
- #5854 fs/romfs: fix bug about test case:examples/romfs
- #5867 fs/romfs: fix size of pointer during memory allocation
- #5879 littlefs: unify lfs error code to nuttx
- #5884 fs/files_allocate: assert when fd overflow
- #5894 fs:add _POSIX_OPEN_MAX limit to files_extend
- #5899 Fs/romfs: fix bug about compare path with same prefix
- #6049 fs/vfs/fs_truncate.c: Use ioctl to truncate on non-mountpoint inode
- #5891 opendir: use inode_find() instead when opendir()
- #6024 fs/fcntl: add O_APPEND flag judge in fcntl
- #6023 littelfs: deal with block devices w/o ioctl
- #6773 FS disable FS_LARGEFILE by default
- #5934 fs/unionfs: fix some warning and bug
- #5938 fs/procfstcbinfo: minor bug about print address
- #5883 lseek: use type:off_t for return value
- #5764 procfs: Remove mallinfo from struct procfs_meminfo_entry_s
- #5924 fs and unistd: increase OPEN_MAX by claiming a Kconfig
- #5937 fs/epoll: change type of eventset from uint8_t to uint32_t
- #5807 sys/type.h: Change pid_t from int16_t to int
- #6307 littlefs_stat: Fix directory size
- #6724 add heapcheck(memcheck) flag
- #5935 fs/rpmsgfs: fix bug about using uninit variable "times"
- #5936 fs/romfs: fix string overflow
- #5844 rpmsgfs: do NOT access the pointer when do remote ioctl
- #5856 rpmsgfs/rename: fix bug about pathname align with 8bytes
- #5892 rpmsgfs related update
- #5846 epoll: fix epoll close error, report by kasan
- #6680 poll: default set POLLERR POLLHUP to events
- #6681 unlink: don't do unlink with inode_semtake
- #6637 mtd/smartfs: Fix uninitialized variable
Networking
Bug Fixes and Improvements
- #5967 net:fix coverity warning
- #5972 net/utils: fix IPv4 checksum calculation
- #5769 net/local: correct the socket flags from client socket
- #5750 net/udp: clear the connection structure after free
- #5748 net/local: correct the socket flags from server socket
- #6368 net/tcp: Hold the net lock in tcp_timer_expiry
- #6355 tcp: remove all devif_timer
- #6154 net/tcp:make initial tcp port more random
- #5794 netdb/getaddrinfo: fix NULL pointer reference
- #5791 netinitialize: call xxx_netinitialize unconditionally
- #5770 net/sockopt: bypass the SO_RCVBUF/SO_SNDBUF to usrsock
- #6735 make sure conn's domain is matched with addr's family
- #6608 net: Fix frame count check fail and race condition
- #6330 tcp: move wd_timer from wifi driver to tcp stack
- #6289 net: fix the build when CONFIG_NET_TCP_WRITE_BUFFERS is not enabled
- #6262 icmp: Fixed replies to broadcasts
- #6161 Fix udp recvfrom to correctly return addrlen
- #5799 net/netdev: fix switch case missing break
- #6398 net/tcp: wave hands on background
- #6297 net/tcp: Zero keeptimer in case caller set keepalive to false
- #6290 net/tcp: Use the decrease timer in TCP_TIME_WAIT/TCP_FIN_WAIT_2
- #6264 Fix ENOENT errors when polling on Netlink socket
- #6428 net/tcp: d_appdata should remove the tcp specific option field
- #6399 Packet dropped in IPv4/v6 input is now an info, not a warning
- #6770 delay creating DNS bind socket
- #6751 Net thread-safe ether_ntoa_r & inet_ntoa_r
- #6740 [TCP] Close RAM usage optimization
- #6747 Fix notify disassocitaion
- #6702 tcp: check option length before d_len update
- #6701 udp: Use s_sndtimeo as the actual timeout time
- #6700 netdev: add return value for ifup / ifdown
- #6563 net/tcp: discard connect reference before free
- #6562 net/tcp: fix regression of invalid update the rexmit_seq in buffer mode
- #6543 net_if: add IFF_LOOPBACK/POINTOPOINT/MULTICAST/BROADCAST
- #6529 net: Ensure sendmsg and sendfile return -EAGAIN in case of timeout
- #6519 netdev/carrier: check the IF stautus before carrier
- #6451 net/tcp(buffered): retransmit only one the earliest not acknowledged segment
- #6640 net/slip: Rename and clarify orphaned Kconfig options
- #6590 net/poll: fix race condition if connect free before poll teardown
- #6589 net/tcp: fix assertion of fallback connection alloc
- #5943 This PR mainly contains some USRSOCK related changes
- #6041 rpmsg_usrsock: Support the wireless ioctl which contain pointer
- #5945 fix:Remove udp send large pkt assert
- #5944 net: tcp/udp/icmp/icmpv6 add FIONSPACE support
- #5926 local socket: cancel assert about backlog exceed 255
- #5933 netdev_file_ioctl: Fix fcntl F_SETFL O_NONBLOCK regression
- #5889 rpmsg_socket: fix kasan report error
- #5848 local_socket: default set block mode if accept() a new socket
- #5755 wireless/80211: update the 80211 header
- #6432 wireless/bcm43xxx: add extended join parameters
- #6358 wireless: add Wireless statistics definition
- #6420 wireless/bcm43xxx: add support of bcm43013 chip
- #6463 wireless/bcm43xxx: add status print on bcmf_wl_auth_event_handler()
- #6461 wireless/bcm43xxx: Don't call bcmf_board_setup_oob_irq in bcmf_sdio_thread
- #6457 wireless/bcm43xxx: configurable buffer size of escan result
- #6453 wireless/bcm43xxx: replace all busy delay to nxsig_usleep
- #6447 bcm43xxx: Remove bcmf_txavail_work and resue bcmf_tx_poll_work
- #6446 wireless/bcm43xxx: improve throughput of net driver
- #6444 wireless/bcm43xxx: configurable schedule priority of daemon thread
- #6442 wireless/bcm43xxx: fix typo sq_init() -> dq_init()
- #6441 wireless/bcm43xx: replace sem_wait to uninterruptible version
- #6431 wirless/sdio: frame length should with guard bound
- #6430 wireless/bcm430xx: rename chip minor id to 'x'
- #6427 wireless/bcm43xxx: load nvram from file system
- #6561 wireless/bcm43xxx: only break out the send loop if no data
- #6560 wireless/bcm43xxx: remove flowctrl check
- #6559 wireless/bcm43xxx: filter out the bssi with same ssid name
- #6558 wireless/bcm43xxx: mac address does not need to be updated in ifup
- #6557 wireless/bcm43xxx: discard auth event if netdev down
- #6556 wireless/bcm43xxx: set listen interval on lowpower
- #6555 wireless/bcm43xxx: country code should terminating with null
- #6554 wireless/bcm43xxx: fix memory leak if tx fail
- #6533 wireless/bcm43xxx: enable tx flow control to improve performance
- #6524 wireless/bcm43xxx: replace private queue implement to list_node
- #6523 wireless/bcm43xxx: remove unused tx_queue_count
- #6518 wireless/bcm43xxx: add dynamic kso control support
- #6517 wireless/bcm43xxx: correct the return value
- #6501 wireless/bcm43xxx: add get country code support
- #6494 wireless/bcm43xxx: add set country code support
- #6488 wireless/bcm43xxx: add auto power saving support
- #6481 wireless/bcm43xxx: remove small chunks to improve clm download speed
- #6480 wireless/bcm43xxx: prefer HPWORK if bcmf task has higher priority than HPWORK
- #6479 wireless/bcm43xxx: merge frame send to once to improve the performance
- #6471 wireless/bcm43xxx: enable power saving on netdev up/down
- #6470 wireless/bcm43xxx: add customized MAC address support
- #6469 wireless/bcm43xxx: remove global variable for bcmf_sdio_thread
- #6467 wireless/bcm43xxx: handle disassoc correctly
- #6466 wireless/bcm43xxx: sort scan result by rssi
- #6464 wireless/bcm43xxx: add more ioctl command support
- #6636 wireless/ieee802154: Don't set IFF_DOWN in mac802154netdev_register
- #6695 bluetooth: fixing BT buffer addref/release balance
- #6782 bluetooth: fix net lock imbalance in drop casse
- #6672 rpmsg socket related update
- #6670 local socket related update
Compatibility Concerns
#6276 - Remove -nostartfiles and -nodefaultlibs from individual board Make.defs.
#6256 - Remove ARCHWARNINGS = -Wall -Wstrict-prototypes -Wshadow -Wundef and ARCHWARNINGSXX = -Wall -Wshadow -Wundef and then remove ARCHWARNINGS and ARCHWARNINGSXX from CFLAGS and CXXFLAGS.
#5897 - Remove -fno-exceptions -fcheck-new from ARCHCFLAGS and ARCHCXXFLAGS and change ARCHCFLAGS = to ARCHCFLAGS += and ARCHCXXFLAGS = to ARCHCXXFLAGS +=. C++ exceptions are now managed centrally by Kconfig options CONFIG_CXX_EXCEPTION and CONFIG_CXX_RTTI.
#6144 - Remove from each board:
ifeq ($(CONFIG_DEBUG_SYMBOLS),y) ARCHOPTIMIZATION = -g endif
and
ifeq ($(CONFIG_DEBUG_SYMBOLS),y) LDFLAGS += -g endif
as these are now managed centrally by Kconfig option CONFIG_DEBUG_SYMBOLS.
#6155 - Remove from each board:
ifneq ($(CONFIG_DEBUG_NOOPT),y) ARCHOPTIMIZATION += $(MAXOPTIMIZATION) -fno-strict-aliasing endif
as these are now managed centrally by Kconfig options CONFIG_DEBUG_OPTLEVEL and CONFIG_DEBUG_FULLOPT.