Releases: zephyrproject-rtos/zephyr
Zephyr v2.5.0 RC4
Changes since v2.5.0-rc3:
Adam Jeliński (2):
m2gl025_miv: Adjust frequencies and performance
m2gl025_miv: Double the test timeouts
Alex Martens (1):
doc: fix typo in condvar documentation
Alexander Wachter (2):
tests: drivers: can: timing: Fix potential div by zero
drivers: flash: stm32g4: Flush caches after erase
Anas Nashif (9):
labels: label release note changes
renode: fix dependencies for renode platforms
xtensa: remove unused script
intc: mvic: remove unused header
license: add missing SPDX headers
license: add missing SPDX headers
release: add resolved issues
release notes: add top level bullets, misc. changes
release: bump version to 2.5.0-rc4
Andrzej Głąbek (1):
scripts: kconfig: Fix uses of edt.compat2okay in helper functions
Andrzej Puzdrowski (1):
doc: releasenotes 2.5: Add notes on addition fs_dir_t_init
Andy Ross (8):
kernel/sched: Add missing lock around waitq unpend calls
kernel/include: Put kernel stack memory in the right memory
kernel/z_swap: Remove on-stack dummy spinlock
tests/kernel/thread_stack: Fix KERNEL_COHERENCE interactions
kernel/poll: Remove dummy waitq from stack
kernel/sched: Correct coherence assert
tests/kernel: Coherence: no shared data on stacks
soc/intel_adsp: Move KERNEL_COHERENCE to cavs15
Carlo Caione (2):
doc: release: v2.5.0 release notes for ARM AArch64
aarch64: Fix corrupted IRQ state when tracing enabled
Christoph Reiter (1):
drivers: sensor: dps310 fix out of bounds write
Daniel Leung (4):
kernel: tls: align tdata/tbss sections in stack
tests: threads/tls: add more thread variables
doc: release-notes-2.5: kernel: add info on thread local storage
doc: release-notes-2.5: memory management related items
Eduardo Montoya (2):
manifest: openthread upmerge up to commit `add99687`
net: openthread: add CoAP Block Kconfig option
Eugeniy Paltsev (1):
doc: release notes: ARC
Faisal Saleem (1):
Bluetooth: SMP: fix for bt fixed passkey BT_PASSKEY_INVALID
Flavio Ceolin (7):
docs: pm: Replace outdated documentation
docs: pm: Update central method diagram
doc: release-notes-2.5: Power management contents
doc: release-notes-2.5: Vulnerabilities addressed
doc: release-notes-2.5: crypto libraries
doc: security: Update vulnerabilities information
power: Fix power states length
Ioannis Glaropoulos (1):
doc: release: v2.5.0 release notes for ARM AARCH32
Jennifer Williams (3):
doc: release-notes-2.5: boards and SoCs: x86 ehl_crb acrn_ehl_crb
doc: releases: fix format issue in Boards & SoCs
doc: releases: 2.5: add misc x86 to boards and socs
Jian Kang (2):
board: cavs15: fixed size error that load firmware by script
board: cavs15: Add a option to control signing ways
Joakim Andersson (17):
Bluetooth: shell: Fix gatt write command not cleanup up on error
Bluetooth: host: Fix update keys when using debug public key check
Bluetooth: host: Handle multiple step security elevation
Bluetooth: host: Allow requesting new security when security changed
Bluetooth: host: Refactor smp handling of conn pointer
Bluetooth: host: Fix indicate without user callback
Bluetooth: host: Remove unused ATT request destroy callback
Bluetooth: host: Release ATT request buffers once sent
Bluetooth: host: Rename auth_err_get to security_err_get
Bluetooth: host: Fix wrong error code type passed to security changed
Bluetooth: shell: Add only pairing failed and pairing complete callbacks
Bluetooth: shell: Improve security error readability
Bluetooth: host: Don't call callbacks on unexpected SMP PDUs
Bluetooth: host: Set encryption pending when LE SC bond exists
Bluetooth: host: Terminate the pairing procedure when disconnected
Bluetooth: host: Set error in security changed when not required level
Bluetooth: host: Fail pairing if remote cannot meet required security
Johann Fischer (1):
doc: release-notes-2.5: add release notes for USB
Jordan Yates (3):
lora: sx126x: update modem state on transitions
lora: sx126x: disable DIO1 in sleep mode
lorawan: move public network request
Keith Short (1):
npcx: fix NPCX PWM driver with PWM_POLARITY_INVERTED
Krzysztof Chruscinski (1):
drivers: serial: nrfx_uarte: Add missing check
Kumar Gala (3):
drivers: dma: iProc PAX: Fix use of deprecated APIs
drivers: sensor: icm42605: Fix build issues
drivers: sensor: icm42605: Fix use of deprecated API
Laczen JMS (1):
boards: correct dts for bl654_dvk and bl652_dvk
Lauren Murphy (1):
doc: fix typo in modules
Luiz Augusto von Dentz (1):
Bluetooth: ATT: Remove BT_ATT_TX_MAX
Maciej Perkowski (5):
boards: Fix ram/flash values in nrf5340dk_nrf5340_cpuapp
twister: bugfix: Fix twister output
samples: tests: Fix usb.audio.headphones_microphone test
samples: tests: Fix usb.audio.headset test
samples: tests: Fix sample.boards.nrf.nrfx test
Marc Herbert (1):
(docs) Makefile: re-order targets to build htmldocs-fast by default
Martin Jäger (1):
doc: release: Add DAC release notes for v2.5.0
Martí Bolívar (17):
doc: release-notes-2.5: s/device tree/devicetree/
devicetree: make sure DT_INVALID_NODE docstring appears
doc: release-notes-2.5: devicetree
guiconfig: fix search function
scripts: zcmake: fix for prerelease cmake versions
device.h: remove incorrect docstring
doc: sort redirects
doc: clean up west index
doc: glossary: update west terms
doc: west: move advanced content out of 'basics'
doc: update west's workspaces.rst for 2.5
doc: add missing docs for 'west zephyr-export'
doc: improve manifest key docs
doc: improve docs on building without west
doc: west: clean up example workspace
doc: west: improve troubleshooting for west update
boards: nrf: fix incorrect debug docs
Nicolas Pitre (1):
libc/minimal: restore proper locking for malloc() and friends
Peter Bigot (10):
fs: littlefs: fix mis-use of preprocessor
doc: release-notes-2.5: I2C
samples: driver: watchdog: rework how callback support is handled
doc: coding guidelines: add an anchor for inclusive language guideline
doc: inclusive language: reference I2C status issue
tests: i2c_slave_api: update to current standard terminology
drivers: i2c: litex: remove redundant null pointers
drivers: i2c: document slave API
doc: drivers: i2c: provide more information on I2C APIs
power: add missing dependency
Trond Einar Snekvik (3):
Bluetooth: Mesh: Store network at the end of provisioning
Bluetooth: Mesh: Initialize msg_ctx when re-encrypting friend msg
Bluetooth: Mesh: Update seqnum when re-encrypting for friend
Vinayak Kariappa Chettimada (1):
Bluetooth: controller: Fix missing advertising PDU len initialization
Zephyr v2.5.0 RC3
Changes since v2.5.0-rc2:
Alexander Shuklin (1):
Drivers: serial: Fix stm32 uart async api callback
Alexander Wachter (1):
drivers: can: common: Fix uninitializes sjw
Anas Nashif (7):
kernel: fix usage of KERNEL_COHERENCE macro
ci: add action to create release
twister: remove usage of deprecated gccarmemb variant
cmake: remove usage of deprecated gccarmemb variant
twister: fix possible race
twister: fix HW map fixtures parsing
release: bump version to 2.5.0-rc3
Andrei Emeltchenko (5):
edac: Use Device Tree values for BDF and PCI VID
edac: Do not use BDF and PCI IDs from DTS
edac: Move IBECC information to DT root
edac: Rename PCI_ENDPOINT to PCI_HOST_BRIDGE
edac: Update shell commands
Andrzej Puzdrowski (15):
fs: Add fs_dir_t_init() function
tests: fs: multifs: Add fs_dir_t type variable initializations
tests/subsys/fs/fat_fs_api: Add fs_dir_t type variable initializations
tests/subsys/fs/fat_fs_dual_drive: Add fs_dir_t type variable init.
tests/subsys/fs/littlefs: Add fs_dir_t type variable initializations
tests/subsys/fs/fs_api: Add fs_dir_t type variable init.
tests/subsys/fs/fs_api: remove dir-multi-open test
samples/subsys/fs: Add fs_dir_t type variable initializations
lib/posix/fs: Add fs_dir_t type variable initialization
fs: Add fs_dir_t type variable initializations
samples/subsys/usb/mass: Add fs_dir_t type variable initialization
lib/gui/lvgl: Add fs_dir_t type variable initialization …
fs: Fix fs_opendir resource leak when invoked on fs_dir_t object in use
include/fs: fixed typo in fs_file_t_init() description
manifest: fixed MCUboot with image encryption enabled.
Andy Ross (4):
tests/sched/deadline: Fix precision rollover
arch/x86: Fix stack alignment for user threads
tests/kernel/common: Skip the printk test when not applicable
drivers/cavs_timer: Fix multiword race with timer counter
Carles Cufi (4):
actions: compliance: Rebase before running `west update`
doc: extensions: Fix generator being ignored in west
Bluetooth: samples: hci_uart: Add overlays for nRF5340
doc: gsg: Update Homebrew installation for macOS
Carlo Caione (1):
kernel: mmu: Fix trivial typos
Daniel Leung (7):
kernel: fix _kernel argument to arch_mem_coherent
kernel: fix arch_mem_coherent() call in spinlock
xtensa: fix hard-coded interrupt value for PS register
xcc: define __INT*_C() and __UINT*_C()
linker: ifdef thread local storage script
xtensa: fix rsr/wsr assembly for XCC
x86: mark page frame as reserved according to memory map
Detlev Zundel (3):
soc: arm: st_stm32f2x: Convert Kconfig input prompt to uppercase
soc: arm: designstart: Fix Kconfig LEADING_SPACE checkpatch problem
soc: arm: arm: Align Kconfig input prompt for Arm SoCs
Emil Gydesen (1):
Bluetooth: tests: Add missing dependency for CONFIG_BT_AUDIO_UNICAST
Emil Hammarstrom (1):
bluetooth: host: expand l2cap CID abbreviation
Emil Lindqvist (2):
logging: fix warnings when building with -Wunused-variable
drivers: flash: stm32h7: fix int/long int warnings
Enjia Mai (3):
tests: ztest: Fix issues due to test case of accessing NULL address
tests: ztest: fix error_hook test case fail in some board
tests: memory protect: add some error test cases
Erwan Gouriou (4):
tests/drivers/dma: loop_transfer: Use ztest harness
drivers/dma: stm32: Don't omit IRQ status check
tests/drivers/dma: Enable tests on nucleo_f746zg and disco_l475_iot1
dts/arm: stm32f2: Fix usart1 clock
Flavio Ceolin (2):
mbedtls: Bump to 2.16.9
drivers: bme280: Replace deprecated Kconfig option
Henrik Brix Andersen (2):
checkpatch: ignore MULTISTATEMENT_MACRO_USE_DO_WHILE
drivers: adc: lmp90xxx: initialise all instances
Ioannis Glaropoulos (4):
arm: cortex_m: fix vector table relocation in non-XIP builds
Revert "kernel: init: activate FPU for main thread"
samples: rpmsg_service: do not run test for nrf5340 in CI
arm: cortex-m: add extra stack size for test build with FPU_SHARING
Jan Tore Guggedal (1):
drivers: sensor: adxl362: Fix unused variable warnings
Jennifer Williams (1):
include: drivers: uart: fix incorrect event name in brief
Joel Westerberg (1):
Bluetooth: ISO: fix error value set but not returned
Johann Fischer (3):
samples: usb: remove unnecessary GPIO dependency
samples: cdc_acm_composite: fix format specifier
sample: usb: exlude native_posix platform
Jordan Yates (5):
lorawan: query default region datarate
lorawan: validate requested datarates
lorawan: restore datarate after join
serial: uart_nrfx_uarte: update state when enabled
serial: uart_nrfx_uarte: graceful async power down
Jukka Rissanen (1):
doc: net: Add networking changes to 2.5 release note
Katsuhiro Suzuki (1):
soc/riscv: support reboot for QEMU RISC-V VirtIO
Krzysztof Chruscinski (1):
drivers: serial: nrfx_uarte: Fix power management
Kumar Gala (11):
dts: bindings: Remove defaults for cache lines from cpu binding
dts: bindings: remove default usage in gaisler,irqmp
dts: Cleanup litex,clk binding
dts: Fix unit name warnings
dts: Fix unit name should not have leading "0x" warning
dts: Fix /soc/timer: missing or empty reg/ranges property warnings
dts: Rename compatible arm,arm-timer to arm,armv8-timer
dts: surpress node name for SPI buses should be 'spi' warning
cmake: dts: Fix passing multiple EXTRA_DTC_FLAGS to gen_defines.py
dts: atmel/nxp: supress duplicate unit-address warning
dts: nrf/stm32: supress duplicate unit-address warning
Laczen JMS (1):
board: correct dts for 96b_stm32_sensor_mez
Lauren Murphy (1):
doc: fix typos in mutex
Lukasz Maciejonczyk (1):
settings: Handle unhandled error
Marcin Niestroj (1):
drivers: wifi: esp: process received packets in esp_rx thread
Martin Åberg (1):
kernel: Decouple TICKS_PER_SEC from TICKLESS_CAPABLE
Martí Bolívar (3):
runners: pyocd: handle None in hex/bin files
runners: fix openocd with --use-elf
doc: make it clear when DT properties are deprecated
Maureen Helm (3):
drivers: serial: Don't condition uart_irq_rx_ready on irq enabled
doc: release: Add sensor changes to v2.5.0 release notes
doc: release: Add NXP-related changes to v2.5.0 release notes
Mulin Chao (3):
driver: i2c: npcx: reset i2c semaphore before start transaction.
driver: i2c: npcx: clear status register by setting a single bit.
driver: i2c: npcx: Prevent transaction result overwritten by recovery.
Nicolas Pitre (1):
mmu: fix ARM64 compilation by removing z_mapped_size usage
Peter Bigot (1):
doc: data structures: fix description of sflist
Shlomi Vaknin (1):
dma: stm32: remove dump stream info in irq
Tomasz Bursztyka (8):
net/ieee802154: Invalidate frame in case of no address in relevant modes
net/ieee802154: Each fragment should be at least of its header's length
net/ieee802154: Avoid NULL pointer de-reference in packet reassembly
net/ieee802154: Make sure L2 drop any ACK frames
net/ieee802154: Do not unreference one time too many a fragmented packet
net/ieee802154: Drop fragmented packet if first frag is not present
net/6lo: First buffer fragment should hold the full compressed header
drivers/virtualization: Fix ivshmem PCIE reg bar lookup on ivshmem-plain
Torsten Rasmussen (4):
cmake: modules: remove Zephyr module duplicates from ZEPHYR_MODULE_NAMES
cmake: remove ZEPHYR_GCC_VARIANT variable
cmake: twister: Using common script for toolchain setting verification
scripts: using pathlib for in get_toolchain() method
Trond Einar Snekvik (1):
Bluetooth: Mesh: Verify network buffer max len
Vinayak Kariappa Chettimada (4):
Bluetooth: controller: Fix BT_CTLR_ULL_HIGH_PRIO default value
Bluetooth: controller: openisa: Fix unsupported ULL LLL Prio config
Bluetooth: controller: openisa: Fix to use compiler memory barrier
Bluetooth: controller: Fix build error with ISO support
Øyvind Rønningstad (2):
tfm_integration: Add tfm tag in sample.yml
tfm_ipc: Fix regex in sample.yml
Zephyr 2.5.0 RC2
Changes since 2.5.0-rc1:
Alexander Wachter (1):
doc: releasenotes 2.5: Add CAN driver release notes
Alexandre Bourdiol (2):
drivers: clock_control: Kconfig.stm32l4_l5_wb fix serie differences
kernel: Kconfig: increase test default MAIN_STACK_SIZE for ARM Cortex M
Anas Nashif (11):
twister: generate json report on demand
sof: update to latest SOF master
boards: cavs15: fixed link to private key
west: sign: add new option -D for configurations
west: rimage: get config dir from command line
drivers: edac: CONFIG_LOG_MINIMAL -> CONFIG_LOG_MODE_MINIMAL
boards: x86: depend on CONFIG_BUILD_OUTPUT_EFI
CODEOWNERS: Remove inactive users and minor cleanup
CODEOWNERS: cleanup and replacing few entries
MAINTAINER: maintainer file updates
release: Zephyr 2.5.0 RC2
Andrew Boie (1):
x86: use large VM size if ACPI
Andrzej Kaczmarek (1):
Bluetooth: shell: Fix 'bt per-adv-data'
Andrzej Puzdrowski (3):
drivers/flash: select to allow flash write by MPU on ARM SoCs
samples/subsys/mcumgr/smp_svr: disable log over shell
manifest: fix MCUboot build after #31404
Andy Ross (4):
tests/schedule_api: Correct tick/ms math for non-divisible clocks
release-notes-2.5: Note k_mem_pool removal
kernel/timeout: Schedule zero-time timeouts
kernel/timeout: Fix timeout "sooner" computation
Armando Visconti (1):
drivers/sensor: Fix typos in iis2dlpc/iis2iclx/lsm6dso
Carles Cufi (1):
doc: west: Fix config overrides
Daniel Leung (8):
linker: remove asterisk from IRQ/ISR section name macro
tests: mem_protect: use MP_NUM_CPUS instead of SMP
x86: clear GS at boot for x86_64
toolchain: add GEN_ABSOLUTE_SYM_KCONFIG()
tests: mem_map: put transplanted_function into its own section
tests: mem_map: fix execution test for x86_64 with coverage
tests: mem_protect: fix failing inheritance test under SMP
Revert "tests: context: disable if DEMAND_PAGING"
Detlev Zundel (1):
samples: display: lvgl: Fix README.rst
Dominik Ermel (15):
tests/fs/fa_api: Fix order of checks and broken zassert messages
fs: Add fs_file_t_init() function
settings: Add fs_file_t type variable initializations
tests/settings: Add fs_file_t type variable initializations
posix: Add fs_file_t type variable initializations
samples: littlefs: Add fs_file_t type variable initializations
samples: fs: Extend littlefs sample to native_posix and qemu_x86
fs: shell: Add fs_file_t type variable initializations
native_posix: fuse: Add fs_file_t type variable initializations
tests: fs: fatfs: Add fs_file_t type variable initializations
tests: fs: littlefs: Add fs_file_t type variable initializations
tests: fs: multifs: Add fs_file_t type variable initializations
tests: lib: gui: lvgl: Add fs_file_t type variable initializations
fs: Fix fs_open resource leak when invoked on fs_file_t object in use
doc: releasenotes 2.5: Add notes on addition fs_file_t_init
Eduardo Montoya (3):
manifest: openthread update with latest upmerge
net: openthread: configure required masterkey
net: openthread: add SRP Kconfig options
Emil Gydesen (2):
Bluetooth: shell: Fix number of optional args for iso send
Bluetooth: Audio: Add missing unref for ISO recv
Enjia Mai (1):
tests: msgq: Fix uncheck return value of coverity scan
Erwan Gouriou (10):
tests/drivers: pwm_api: Document how to tune test for stm32 targets
drivers/adc: stm32: Use bitfield for multiple channels detection
samples/drivers/adc: Few fixes for use with twister
drivers/watchdog: window-watchdog stm32: Fix timeout computing
tests/drivers/watchdog: Tune test for stm32 window watchdog
tests/drivers/watchdog: Review yaml file for stm32 window watchdog
drivers/watchdog: stm32: Select watchdog using compatible
samples/drivers/watchdog: Update for stm32 window watchdog
doc: release-notes-2.5: STM32 Additions
doc: release-notes-2.5: Shields Additions
Eugeniy Paltsev (4):
ARC: soc: hsdk: add MWDT compiler options
doc: ARC: add info page with Zephyr support status on ARC
tests: lib: cbprintf_fp: add filter for tests using newlib
twister: check if output is connected to tty before 'stty sane' call
Flavio Ceolin (12):
tests: socket: Fix compiler warnings
tests: schedule_api: Do not mess ms with ticks
tests: schedule_api: Improve log on error
sched: timeout: Do not miss slice timeouts
doc: scheduling: Remove ambiguous sentence
timer: arm: Fix idle usage option
timer: arm: idle is used when CONFIG_TICKLESS_KERNEL
timer: arm: Mark ticks as unused
tests: power: Fix Coverity error about uninitialized variable
power: Fix function return in dummy policy
power: Fix dummy policy states info
tests: power_mgmt_soc: Increase idle stack size
Francois Ramu (1):
drivers: timer: stm32 lptim fix Potentially overflow
Gerson Fernando Budke (6):
doc: release: 2.5: Add release notes about UpdateHub changes
doc: release: 2.5: Add notes about Cypress related changes
doc: release: 2.5: Add notes about Inventek es-WIFI changes
doc: release: 2.5: Add notes about Atmel related changes
doc: release: 2.5: Add note about TagoIO network cloud sample
doc: release: 2.5: Add note about west bossac runner
Giancarlo Stasi (1):
soc: arm: stm32l4: Fix stm32 ll header list
Greg Leach (1):
boards: Laird BT510 - add detail to docs and correct LED DTS reference
Guennadi Liakhovetski (1):
SOF: cAVS 1.5 needs reset-vector.S in the main image
Hake Huang (1):
drivers: mcux_flexcan driver errata
Hayden Ball (1):
max17055: Fix current conversion from MAX17055 unit to milliamps
Henrik Brix Andersen (4):
samples: canbus: canopen: mass-erase flash prior to running sample
dts: bindings: mtd: rename SPI/I2C EEPROM base binding
doc: releases: 2.5: add EEPROM release notes for v2.5
tests: drivers: pwm: api: run PWM tests in user space
Hubert Miś (4):
net: coap: define max token length
net: coap: Allow encoding packets using data from constant buffers
net: coap: define default CoAP version
net: coap: clean up token usage in samples and tests
Ioannis Glaropoulos (10):
trusted-firmware-m: update manifest pointer for TF-M module
arm: cortex_m: skip clearing CONTROL if this is done at boot
arm: cortex_m: force FP context stacking by default
arm: cortex_m: select by default FP sharing mode when using the FPU
arm: aarch32: introduce status bit-flag for the MPU region width
arm: cortex_m: make lazy FP stacking enabling dynamic
arm: cortex_m: log EXC_RETURN value in fatal.c
arm: cortex_m: update docs to reflect the lazy stacking functionality
doc: release notes: a note for changing the default FP mode in ARM
tests: arm: cortex_m: test dynamic lazy stacking on Cortex-m
Jan Pohanka (1):
usb: fix possible deadlock in usb_transfer_sync()
Jedrzej Ciupis (2):
west.yml: Update hal_nordic revision
drivers: gpio_nrfx: Allocate GPIOTE channels with nrfx
Jian Kang (1):
boards: cavs15: change the signing command in flash.sh
Jingru Wang (1):
twister: rename variable p to log_root
Joakim Andersson (19):
Bluetooth: host: Handle ATT timeout on disconnected ATT channel
Bluetooth: host: Remove ATT modification of L2CAP conn pointer
Bluetooth: host: Fail pairing with identical public key
Bluetooth: host: Remove deprecated scan filter duplicate params
Bluetooth: host: Remove deprecated security defines
Bluetooth: host: Remove deprecated BT_BUF_USER_DATA_MIN macro
Bluetooth: host: Remove the deprecated Advertising Types definitions
Bluetooth: host: Remove deprecated connection create API functions.
Bluetooth: host: remove deprecated bt_conn_security function
Bluetooth: host: Remove the deprecated bt_conn_create_slave_le function
Bluetooth: samples: Fix stack overflow in TX power control samples
Bluetooth: host: Deprecate the bt_set_id_addr API function
Bluetooth: host: Fix doxygen in addr header
Bluetooth: host: Prevent bt_rand calls before bt_enable
Bluetooth: host: Add options to control behavior of the init command
Bluetooth: shell: Fix misleading shell message id-create failed
Bluetooth: host: Fix fixed passkey for legacy pairing
Bluetooth: kconfig: Fix SMP dependency on BT_ECC
Bluetooth: host: Mark the option BT_FIXED_PASSKEY as insecure
Johann Fischer (1):
usb: fix BOS descriptor registration
Jordan Yates (1):
lora: sx12xx_common: force sleep on boot
Jukka Rissanen (6):
samples: net: syslog: Add info how to manually start net backend
net: config: Tweak the startup of logging backend
net: tcp2: Create a timer for connection establishment
net: tcp2: Cleanup properly if running out of mem
net: tcp2: slist API is not thread safe so use locking
net: tcp2: Properly cleanup receive queue
Kasun Hewage (1):
net: coap: Fixed discovery response formatting according to RFC6690
Katrin Gartenmeister (1):
doc: corrected Bluetooth sample documentation
Krzysztof Chruscinski (2):
logging: Revamp menuconfig
drivers: uart: Clarity timeout in uart_rx_enable and add doxygen links
Kumar Gala (7):
sdk: Move to SDK 0.12.2
x86: Fix zefi.py generation to use SDK toolchain
MAINTAINERS/CODEOWNERS: Remove nategraff-sifive
ci: ...
Zephyr 2.5.0 RC1
Aastha Grover (2):
code-guideline: Fixing code violation 10.4 Rule
boards: x86: acrn : Add configurations for acrn_ehl_crb
Abhishek Shah (14):
drivers: pcie_ep: iproc: update registers for v2 IP
dts: arm: viper: m7: Add reset interrupts for pcie node
drivers: pcie_ep: iproc: enable reset interrupts conditionally
drivers: pcie_ep: iproc: shorten file names
drivers: pcie_ep: iproc: move msi(x) functions
dts: arm: viper: m7: Add PVM interrupts for pcie node
drivers: pcie_ep: iproc: Add MSI-X PVM feature for Viper
drivers: pcie_ep: iproc: clear pvm interrupts before handling
dts: bindings: pl330: add dma-cells property
dts: arm: viper: Add tx/rx pl330 channels for iProc PCIe node
pcie: endpoint: Add public API for data transfer with System DMA
drivers: pcie_ep: iproc: Add support for PL330 DMA
drivers: pcie_ep: Add API to achieve data transfer with system DMA
drivers: pcie_ep: iproc: Remove sys_read8 from unmap API
Akseli Peltola (1):
modem: fix socket descriptor leak
Alberto Escolar Piedras (3):
board: native_posix: Fix timer for k_busy_wait()
posix: Add cpu_hold() function to better emulate code delay
board: native_posix: Add test for k_busy_wait and cpu_hold
Alex Tsamakos (8):
boards: arm: actinius_icarus: update RAM partitions in DTS
boards: arm: actinius_icarus: add vbatt node in DTS
boards: arm: actinius_icarus: add feather and arduino related aliases
boards: arm: actinius_icarus: update supported board capabilities
boards: arm: actinius_icarus: add lis2dh12 compatibility in DTS
boards: arm: actinius_icarus: add docs portal link, image, description
boards: arm: actinius_icarus: turn on hardware stack protection
boards: arm: actinius_icarus: fix partition sizes for SPU compatibility
Alexander Kozhinov (24):
west.yml: civetweb: revision number
samples: net: civetweb: reduce RAM usage
boards: arm: nucleo_h745zi_q: dts
zephyr: codeowners:
zephyr: maintainers:
samples: civetweb_websocket_server: init project
boards: arm: nucleo_h745zi_q: doc
samples: net: civetweb: prj.conf
samples: net: sockets: README.rst
boards: arm: stm32h747i_disco: ethernet
boards: arm: stm32h747i_disco: rng
boards: arm: stm32h747i_disco: doc: images
boards: arm: nucleo_h745zi_q: openocd.cfg
samples: net: civetweb: Refractor code structure
CODEOWNERS: civetweb
soc: arm: st_stm32: stm32h723
dts: arm: st: h723
drivers: clock_control: stm32h7
boards: arm: nucleo_h723zg
west.yaml: hal_stm32
dts: arm: st: h7: stm32h745
samples: subsys: canbus: canopen: README.rst
boards: arm: nucleo_f303re: dts: usart1
boards: arm: nucleo_f303re
Alexander Mihajlovic (1):
soc: arm: stm32l0: Add STM32L071 series
Alexander Wachter (10):
include: drivers: pinmux: stm32: Add missing C linkage
include: sys: thread_stack add missing extern "C" on C++
drivers: can: Rework can_configure API
drivers: can: rework zcan_frame and zcan_filter
drivers: can: Compile time check of can timing not set
tests: canbus: remove unnecessary test for invalid frames
tests: drivers: can: timing
drivers: can: flexcan: Fix incorrect timing.
doc: can_api: Update the CAN documentation after API update
doc: CAN: Fix code in CAN API documentation
Alexandre Bourdiol (20):
tests: arch: arm: arm_thread_swap: use memset() instead of memcpy()
boards: arm: nucleo_f429zi: add ADC support
boards: arm: stm32f3_disco: add ADC support
boards: arm: nucleo_g474re add ADC support
boards: arm: disco_l475_iot1: add ADC support
boards: arm: nucleo_l4r5zi: add ADC support
test: drivers: watchdog: 64bits variables for STM32H7 and STM32F7
boards: arm: stm32 review Joystick polarity and pul up/down
boards: arm: stm32h747i_disco: wakeup pin is active high
west.yml: update revision modules/hal/stm32/hal_stm32
modules: Delete switches USE_STM32_HAL_RCC and USE_STM32_HAL_RCC_EX
drivers: pwm: pwm_stm32.c: enable ARR preload
doc: guides: debugging: host-tools.rst: typo PATH
arch: arm: aarch32:cortex_m: timing.c: cortex M7 may need DWT unlock
drivers: flash: flash_stm32g4x.c: manage bank1/2 discontinuity
drivers: flash: flash_stm32g4x.c: rework flash_stm32_block_erase_loop
drivers: flash: flash_stm32g4x.c: take into account bank swap
divers: flash: flash_stm32: add flash configuration check
drivers: flash: flash_stm32h7x.c: manage bank1/2 discontinuity
drivers: flash: stm32h7: compilation issue. Fix typo
Alexandre Mergnat (9):
arch: riscv: add e31 core support
arch: riscv: add pmp support
arch: riscv: add memory protection support
riscv: add support for canaries
boards: hifive1_revb: add support for memory protection features
samples: userspace: hello_world
tests: userspace: add riscv support
tests: mem_protect: add riscv support
tests: protection: add riscv support
Alexey Brodkin (6):
board: arc: hsdk*: Accommodate upstream OpenOCD for ARC
board: arc: hsdk_2cores: Re-add missing taps into JTAG chain
Revert "tests: kernel: lifo_usage: Exclude on qemu_arc_em"
Revert "tests: exclude qemu_arc_hs in lifo_usage test"
Revert "tests: Exclude qemu_arc{em|hs} in some"
ARC: QEMU: Enable icount support
Alexey Tsvetkov (1):
bluetooth: update comment to LE Advertising Parameters struct
Ali Sabil (1):
board: arm: sensortile_box: add user button 1
Anas Nashif (207):
sanitycheck: build_only ambiguity cleanup
sanitycheck: adapt testsuite for build_only cleanup
sanitycheck: support --filter to limit number of tests built
sanitycheck: tests: adapt testsuite to new filter
actions: install needed modules for docs
Bluetooth: remove unused extern z_prf
samples: synchronization: show cpu
samples: synchronisation: run thread_b on cpu 0 in SMP mode
doc: use latest label instead of version in docs
west: commands: sign: Add signing support for other CAVS targets
ipm: cavs_idc: use the IPC/IDC definitions in SoC
soc: xtensa: fix definition of PLATFORM_CORE_COUNT
intel_adsp: make idc variable depend on CONFIG_IPM_CAVS_IDC
cmake: work around sdk toolchain configuration for xtensa [REVERTME]
interrupt controller: set PER_CPU_OFFSET for new SoCs
manifest: add CNL, TGL, ICL overlays
build: add option to delete intermediate files
up_squared_adsp: disable bin creation on up_squared_adsp
kernel: only resume suspended threads
kernel: do not queue a thread that is already queued
kernel: document k_sleep with K_FOREVER
soc: intel_adsp: remove stray soc directory
boards: rename up_squared_adsp intel_adsp_cavs15
logging: mipi-sys-t: move platform.h to main tree
manifest: mipi-sys-t: move platform.h
ci: add more fields to versions.json
doc: fix showing latest version in sidebar
sanitycheck: count skipped tests due to overflow
sanitycheck: handle overflow skips
toolchain: make clang happy with inline asm
toolchain: clang: add -Wno-typedef-redefinition option
clang: remove include-fixed inclusion
clang: do not assert on libgcc not found
clang: remove cache handling
boards: qemu_x86: enable llvm toolchain
llvm: add support for building x86_64-pc
clang: use LLVM_TOOLCHAIN_PATH instead of CLANG_ROOT_DIR
sanitycheck: test on integration platforms on top of default platforms
libc: add labs() and llabs()
net: lldp: use llabs with int64_t
tests: native_posix: use llabs with int64_t
doc: kernel: clarify object limits
CODEOWNERS: populate entry for kernel docs
sanitycheck: do not try platforms not in hardware map
kernel: move xip code to dedicated file
kernel: init: move banner handling
tests: kernel: do not build on all platforms
sanitycheck: print pid of qemu process when debugging
sanitycheck: error out if we do not find any tests
sanitycheck: use multiprcoessing instead of threads
sanitycheck: do not report about execution if --build-only
sanitycheck: report test name if no status
sanitycheck: add some debugging during report phase
sanitycheck: reduce verbosity
sanitycheck: fix arch filtering
sanitycheck: unify terminology and fix accounting
sanitycheck: schema: 'available' is a runtime key
sanitycheck: cleanup hardware map handling
sanitycheck: tests: simplify filter testcase
sanitycheck: fix hardware map defaults
sanitycheck: add option to treat overflows as errors
MAINTAINER: fix kconfig area
MAINTAINERS: add missing labels
Revert "boards: define flash partitions for nucleo_h743zi"
Revert "soc: stm32h7: define rom offset when using mcuboot"
Revert "drivers/flash: add support for stm32h7 devices"
Revert "dts: flash: write/erase block size to stm32h7 devs"
kernel: fix usage of KERNEL_COHERENCE macro
kernel: make KERNEL_COHERENCE depend on ARCH_HAS_COHERENCE
Revert "kernel: fix usage of KERNEL_COHERENCE macro"
actions: rename jobs
sanitycheck: fix json file generation
doc: fix doxygen groups for k_heap
power: standarize PM Kconfigs and cleanup
power: move kconfigs from arch/ to power/
power: remove SYS_ and sys_ prefixes
power: move z_pm_save_idle_exit prototype to power.h
power: rename _sys_suspend/_s...
Zephyr v2.4.0
We are pleased to announce the release of Zephyr RTOS version 2.4.0.
Major enhancements with this release include:
-
Introduced initial support for virtual memory management.
-
Added Bluetooth host support for periodic advertisement and isochronous
channels. -
Enabled the new TCP stack, TCP2, by default. This stack was introduced in
Zephyr v2.1.0 to improve network protocol testability with open source tools. -
Introduced a new toolchain abstraction with initial implementations for GCC
and LLVM/Clang, and groundwork for future support of commercial toolchains. -
Moved to using C99 integer types and deprecate Zephyr integer types. The
Zephyr types can be enabled by Kconfig DEPRECATED_ZEPHYR_INT_TYPES option.
The following sections provide detailed lists of changes by component.
Security Vulnerability Related
The following CVEs are addressed by this release:
- CVE-2020-10060: UpdateHub Might Dereference An Uninitialized Pointer
- CVE-2020-10064: Improper Input Frame Validation in ieee802154 Processing
- CVE-2020-10066: Incorrect Error Handling in Bluetooth HCI core
- CVE-2020-10072: all threads can access all socket file descriptors
- CVE-2020-13598: FS: Buffer Overflow when enabling Long File Names in FAT_FS and calling fs_stat
- CVE-2020-13599: Security problem with settings and littlefs
- CVE-2020-13601: Under embargo until 2020/11/18
- CVE-2020-13602: Remote Denial of Service in LwM2M do_write_op_tlv
More detailed information can be found in:
https://docs.zephyrproject.org/latest/security/vulnerabilities.html
Known issues
You can check all currently known issues by listing them using the GitHub
interface and listing all issues with the bug label.
API Changes
-
Moved to using C99 integer types and deprecate Zephyr integer types. The
Zephyr types can be enabled by Kconfig DEPRECATED_ZEPHYR_INT_TYPES option. -
The
<sys/util.h>
header has been promoted to a documented API with
experimental stability. Seeutil_api
for an API
reference. -
The
wdt_feed
function will now return-EAGAIN
if
issuing a feed would stall the caller. Application code may need to
ignore this diagnostic result or initiate another feed operation
later. -
<drivers/uart.h>
has seen its callbacks normalized.
uart_callback_t
anduart_irq_callback_user_data_t
had their signature changed to add a struct device pointer as first parameter.
uart_irq_callback_t
has been removed.uart_callback_set
,
uart_irq_callback_user_data_set
anduart_irq_callback_set
user code have been modified accordingly. -
<drivers/dma.h>
has seen its callback normalized. It had its signature
changed to add a struct device pointer as first parameter. Such callback
signature has been generalized throuh the addition of dma_callback_t.
'callback_arg' argument has been renamed to 'user_data. All user code have
been modified accordingly. -
<drivers/ipm.h>
has seen its callback normalized.
ipm_callback_t
had its signature changed to add a struct device
pointer as first parameter.ipm_register_callback
user code have
been modified accordingly. The context argument has been renamed to user_data
and all drivers have been modified against it as well. -
The
fs_open
function now accepts open flags that are passed as
a third parameter.
All custom file system front-ends require change to the implementation
ofopen
callback to accept the new parameter.
To maintain original behaviour within user code, two argument invocations
should be converted to pass a third argumentFS_O_CREATE | FS_O_RDWR
. -
The struct device got 3 attributes renamed:
config_info
toconfig
,
driver_api
toapi
and finallydriver_data
todata
.
This renaming was done to get rid of legacy names, for which the reasons
do no longer apply. -
All device instances got a const qualifier. So this applies to all APIs
manipulatingstruct device *
(ADC, GPIO, I2C, ...). In order to avoid
const qualifier loss on ISRs, all ISRs now take aconst *void
as a
paremeter as well. -
The
_gatt_
and_GATT_
infixes have been removed for the HRS, DIS
and BAS APIs and the Kconfig options. -
<include/bluetooth/gatt.h>
callbackbt_gatt_attr_func_t
used by
bt_gatt_foreach_attr
andbt_gatt_foreach_attr_type
has
been changed to always pass the original pointer of attributes along with its
resolved handle. -
Established the unrestricted alignment of flash reads for all drivers.
Deprecated in this release
-
The full set of
k_mem_pool
andsys_mem_pool
APIs
are considered deprecated as of this release. The replacements are
thek_heap
andsys_heap
APIs. These APIs are not tagged with
__deprecated
in the 2.4 release, but will be in 2.5. They will be
removed completely in Zephyr 2.6 LTS. The set of APIs now deprecated is as
follows:k_mbox_data_block_get()
k_pipe_block_put()
K_MEM_POOL_DEFINE()
k_mem_pool_alloc()
k_mem_pool_free()
k_mem_pool_free_id()
SYS_MEM_POOL_DEFINE()
sys_mem_pool_init()
sys_mem_pool_alloc()
sys_mem_pool_free()
sys_mem_pool_try_expand_inplace()
-
The Kconfig option
CONFIG_MULTITHREADING
to disable multi-threading was
deprecated due to lack of maintainership. This means that single-threaded
mode with the scheduler disabled is deprecated; normal multi-threaded mode is
still fully supported.
Removed APIs in this release
-
Other
- The deprecated
MACRO_MAP
macro has been removed from the
util_api
. UseFOR_EACH
instead. - The CONFIG_NET_IF_USERSPACE_ACCESS is removed as it is no longer needed.
- The deprecated
-
Build system
- The set of
*_if_kconfig()
CMake functions have been removed. Use
_ifdef(CONFIG_ ...)
instead.
- The set of
Stable API changes in this release
-
USB
- HID class callbacks now takes a parameter
const struct device*
which
is the HID device for which callback was called.
- HID class callbacks now takes a parameter
-
Bluetooth
- The
_gatt_
infix has been removed from all GATT service APIs.
- The
-
Bluetooth HCI Driver
- bt_hci_evt_is_prio() removed, use bt_hci_evt_get_flags() instead when
CONFIG_BT_RECV_IS_RX_THREAD is defined and call bt_recv and bt_recv_prio
when their flag is set, otherwise always call bt_recv().
- bt_hci_evt_is_prio() removed, use bt_hci_evt_get_flags() instead when
Kernel
-
Initial support for virtual memory management
- API definitions in
include/sys/mem_manage.h
. - Supporting architectures will implement
arch_mem_map()
and enable
CONFIG_MMU
. - The kernel is linked at its physical memory location in RAM.
- The size of the address space is controlled via
CONFIG_KERNEL_VM_SIZE
with memory mapping calls allocating virtual memory growing downward
from the address space limit towards the system RAM mappings. - This infrastructure is still under heavy development.
- API definitions in
-
Device memory mapped I/O APIs
-
Namedspaced as DEVICE_MMIO and specified in a new
include/sys/device_mmio.h
header. -
This is added to facilitate the specification and the storage location of
device driver memory-mapped I/O regions based on system configuration.- Maintained entirely in ROM for most systems.
- Maintained in RAM with hooks to memory-mapping APIs for MMU or PCI-E
systems.
-
-
Updates for Memory Domain APIs
- All threads now are always a member of a memory domain. A new
memory domaink_mem_domain_default
introduced for initial threads
like the main thread. - The
k_mem_domain_destroy()
andk_mem_domain_remove_thread()
APIs
are now deprecated and will be removed in a future release. - Header definitions moved to
include/app_memory/mem_domain.h
.
- All threads now are always a member of a memory domain. A new
-
Thread stack specification improvements
-
Introduced a parallel set of
K_KERNEL_STACK_*
APIs for specifying
thread stacks that will never host user threads. This will conserve memory
as ancillary data structures (such as privilege mode elevation stacks) will
not need to be created, and certain alignment requirements are less strict. -
Internal interfaces to the architecture code have been simplified. All
thread stack macros are now centrally defined, with arches declaring
support macros to indicate the alignment of the stack pointer, the
stack buffer base address, and the stack buffer size.
-
Architectures
-
ARC
- Added ARC MetaWare toolchain support
- General arch improvements for stacks & memory domains
- API improvements for cache flush and cache invalidate
- Debugging help: show all registers on exception
- Fix for fast irq (one register bank configuration)
- Fix for undefined shift behavior (CID 211523)
-
ARM
-
AARCH32
- Added support for ARM Cortex-M1 architecture.
- Implemented the timing API in Cortex-M architecture using the Data
Watchpoint and Trace (DWT) unit. - The interrupt vector relaying feature support was extended to Cortex-M
Mainline architecture variants. - Cortex-M fault handling implementation was enhanced by adding an option to
generate and supply the full register state to the kernel fatal error
handling mechanism. - Fixed Cortex-M boot sequence for single-threaded applications
(CONFIG_MULTITHREADING=n). - Added thread safety to Non-Secure entry function calls in ARMv8-M
architecture. - Fixed stack randomization for main thread.
- Fixed exception vector table alignment in Cortex-M architecture
- Increased test coverage in QEMU for ARMv6-M architecture variant.
- Removed the implementation of arch_mem_domain_* APIs for Cortex-M
-
AARCH64
- Re...
-
Zephyr v2.4.0-rc3
Alexander Kozhinov (1):
samples: hello_world: cmake warning
Alexandre Bourdiol (5):
soc: arm: st_stm32: stm32f0: take into account SW_VECTOR_RELAY
tests: kernel: mem_protect: syscalls: FAULTY_ADDRESS for nucleo_l073rz
boards: arm: b_l4s5i_iot01a: leds are active high
tests: kernel: timer: timer_api: tick align for test_timer_k_define
tests: kernel: timer: timer_api: reorder test_timer_remaining step
Anas Nashif (6):
samples: tracing: print out useful information
tracing: fix empty thread name
samples: synchronisation: handle empty thread name
tracing: x86_64: move switched_in to switch function
tracing: handle null thread names with systemview
actions: increase stale operations
Andrew Boie (3):
x86-64: fix thread tracing
doc: releasenotes: mem pool deprecation
tests: exception: fix thread entry points
Andrzej Głąbek (1):
modules/Kconfig.nordic: Do not select HAS_CMSIS_CORE through HAS_NRFX
Andrzej Puzdrowski (1):
include/storage/flash_map: describe return values of flash_area_open()
Armando Visconti (2):
drivers/sensor/lsm6dsl: Fix read/write bus API in shub code
drivers: sensor: hts221: Add checks for drdy_gpios macros
Carles Cufi (1):
kernel: Deprecate CONFIG_MULTITHREADING
Daniel Leung (4):
tests: x86/pagetables: skip table dumping if large memory
tests: thread_apis: move uptime gathering in join scenario
tests: portability/cmsis_rtos_v2: skip up_squared
samples: cmsis_rtos_v1: philosophers: skip up_squared
David Komel (2):
drivers: net: slip: Allow slip to co-exist with other interfaces
net: tcp2: fix sysworkq corruption in tcp_conn_unref()
David Leach (1):
test: power: Remove frdm_k64f platform from allowed list
Dominik Ermel (1):
storage: flash_map: Unify partition processing macros name
Emil Gydesen (4):
Bluetooth: Host: Fix PA sync cancel scan update
Bluetooth: Host: Change PA sync scan to fast scan
Bluetooth: Shell: PA sync terminate callback clears entry
Bluetooth: Shell: Fix PA shell command parameter cnt
Emil Obalski (1):
tests: shell: Correct overlay extension
Eric Johnson (3):
sys: byteorder: Fix incorrect shift in sys_get_be48/le48
tests: kernel: common: Add tests for 48-bit byteorder functions
tests: kernel: common: Add tests for 24-bit byteorder functions
Erik Brockhoff (1):
bluetooth: controller: fix mark/unmark error in ull_adv::disable
Erwan Gouriou (1):
boards: nucleo_l552ze_q: Fix connectors image
Flavio Ceolin (2):
doc: release notes: Update security notes for 2.4
codeowners: Add owners to security documentation
Gerard Marull-Paretas (1):
lib: gui: lvgl: fix touch point rotation equations
Gerson Fernando Budke (2):
dts: arm: atmel: sam4l: Fix pinctrl typo
samples: net: echo_server: Decrease buffer for atsamr21_xpro
Hake Huang (1):
board: update rt6xx series sram mapping
Henrik Brix Andersen (2):
boards: arm: arty: note which boards can use the pre-built bitstream
doc: release: 2.4: add sensor_attr_get() in release notes
Ievgenii Meshcheriakov (4):
drivers/flash/soc_flash_nrf: Name flash sync choice
drivers/flash/soc_flash_nrf: Rename config option SOC_FLASH_NRF_RADIO_SYNC
drivers/flash/soc_flash_nrf: Enable ticker radio sync only with Zephyr LL
drivers/flash/soc_flash_nrf: Remove blank lines at the end of config files
Ilya Averyanov (1):
Bluetooth: fix strncpy call in bt_set_name
Ioannis Glaropoulos (6):
arch: arm: cortex_m: cleanup SW_VECTOR_RELAY_CLIENT dependencies
modules: tfm: make BL2 header in non-secure image configurable
boards: mps2_an521: do not offset the image by default by 0x400.
boards: arm: musca_b1: do not offset the image by default by 0x400.
boards: nucleo_l552ze_q: do not offset the image by default by 0x400.
tests: explicitly disable HW Stack Protection when needed
Joakim Andersson (2):
Bluetooth: SMP: Move le_sc_supported helper function up
Bluetooth: host: Fix stuck OOB get local functions SC is not supported
Johan Hedberg (1):
x86: pcie: Fix calling pcie_mm_init()
Johann Fischer (1):
drivers: eth_enc424j600: initialize device pointer
Jukka Rissanen (8):
net: conn: Ignore unhandled IPv4 broadcast packets
net: pkt: Add net_pkt_is_empty() util function
net: Drop incoming packet if there is no data in it
net: gptp: Allow user to tweak priority1 and priority2 values
net: gptp: Print priority1 and priority2 vars in net-shell
tests: net: tcp2: Fix crash in frdm_k64f
net: DHCPv4 needs UDP to work properly
net: tcp2: Access k_work in k_delayed_work using field name
Julien D'Ascenzio (1):
soc: arm: stm32[l4|wb]: fix power state exit
Krzysztof Chruscinski (1):
drivers: clock_control: nrf: Fix waiting for LF clock
Kumar Gala (3):
net: tcp2: Fix build failures on 64-bit platforms
ci: double number of builders for daily build
doc: release: 2.4: Add notes about devicetree related changes
Lauren Murphy (1):
doc: Clarify semantics of k_msgq_put
Lingao Meng (1):
Bluetooth: Mesh: Fix send input_complete before public key
Luiz Augusto von Dentz (4):
Bluetooth: UUID: Fix BT_UUID_ES_TRIGGER_SETTING
Bluetooth: GATT: Fix assuming CCC position
Bluetooth: L2CAP: Document behavior of alloc_buf
Bluetooth: L2CAP: Truncate RX MTU if segmentation is not supported
Maksim Masalski (1):
tests: arch: x86 mem protection check CPU scrubs regs after syscall
Marek Porwisz (1):
net: openthread: Fix stack overflow for joiner
Maureen Helm (3):
doc: release: Add 2.4.0 highlights
doc: release: Add NXP SoCs, boards, and drivers to 2.4.0 notes
release: Zephyr 2.4.0-rc3
Peter Bigot (2):
logging: avoid null pointer dereference in loop
tests: kernel/sleep: increase maximum threshold for nRF51
Ryan Erickson (1):
doc: release notes: mention Pinnacle 100 board addition
Siddharth Chandrasekaran (1):
board: stm32_min_dev: Fix LED0 connection inversion
Stephan Walter (1):
drivers: nrf_qspi: fix devicetree opcode references
Torsten Rasmussen (2):
cmake: fix zephyr_get_system_include_directories_for_lang() function
west.yml: update openthread module
Trond Einar Snekvik (1):
Bluetooth: Mesh: Provisioning: Reject identical random
Vinayak Kariappa Chettimada (3):
Bluetooth: controller: Fix REJECT_IND PDU handling
Bluetooth: controller: nRF53x: Fix missing sw_switch clear DPPI config
Bluetooth: controller: Fix redundant PDU transmission
Wentong Wu (2):
tests: kernel: mem_map: Explicitly cast function pointer to (void *)
arch: x86: mmu: use z_x86_kernel_ptables as array.
Øyvind Rønningstad (3):
arm: tz: secure_entry_functions.ld: Fix NSC_ALIGN redefinition
arm: tz: secure_entry_functions.ld: Fix NSC_ALIGN for nRF devices
cortex_m: secure_entry_functions.ld: Increase SAU alignment to 32
Zephyr v2.4.0-rc2
Abhishek Shah (2):
Revert "drivers: watchdog: Remove useless Kconfig entry"
drivers: watchdog: cmsdk: rename wdog_cmsdk_apb_enable
Abram Early (1):
drivers: winc1500: Fix signed/unsigned comparison
Alexandre Bourdiol (7):
tests: benchmarks: data_structure_perf: rbtree: uninitialized field
tests: lib: cmsis:transform: cf64 min_ram 96k
tests: lib: cmsis:transform: cf64 min_ram reorder test to fit 96k
drivers: dma: dma_stm32: can't use device_get_binding() during init
drivers: dma: dma_stm32_v2: typo in compilation switch
tests: kernel: context: align timer init on ticks
tests: posix: common: move printk() out of k_usleep() tick alignment
Anas Nashif (14):
tests: footprint: remove deperecated API call
samples: shell: fs: require keyboard harness
actions: add backporting bot
tests: usb: add fixture requirement
power: fix Kconfig help message
board: arc: fix nsim_em7d_v22 identifier
boards: ODROID-GO: fix board identifier
boards: LPCXpresso55S69: remove duplicate identifier
sanitycheck: error on duplicate board identifier
boards: lpcxpresso55s69_cpu1: disable sanitycheck
samples: display: add fixture
sanitycheck: capture timeout as reason in cases we kill qemu
sanitycheck: comment cleanup and style fixes
actions: stale: increase operations per run
Andrew Boie (12):
mps2_an385: use default stack sizes
tests: userspace: fix flaky behavior
aarch64: work around QEMU 'wfi' issue
x86: print more detail on non-present pagefaults
tests: mem_protect: fix test prototypes
tests: mem_protect: fix SMP race
doc: release-notes: kernel & x86
sched: hold spinlock in z_thread_timeout()
sched: check if runnable in sliceable()
sched: hold spinlock in z_time_slice()
sched: don't use local lock in z_tick_sleep()
x86: memory map BIOS Data Area
Andrzej Głąbek (2):
drivers: spi: Kconfig.nrfx: Use RAM buffers for SPIMs by default
drivers: spi: nrfx: Restore recently changed spi_context function
Andrzej Kaczmarek (1):
Bluetooth: controller: Fix TxAdd setting in auxiliary PDU
Andrzej Puzdrowski (5):
include/drivers/flash: correction on the unrestricted alignment of writes
drivers/flash/nrf_qspi_nor: corrects write-block-size to 4B
release-note: settings, management and other updates
manifest: mcuboot update
release-notes-2.4: flash changes
Armando Visconti (2):
drivers: sensor: lis2dh: make the driver multi-instance
drivers: sensor: lsm6dsl: make the driver multi-instance
Carles Cufi (8):
github: actions: Use on-PR labeler
github: labeler: Fix dts/ folder matching
Revert "github: labeler: Fix dts/ folder matching"
github: labeler: Remove line using negation (!)
Bluetooth: controller: Make RX prio thread stack configurable
Bluetooth: tester: Fixes for GCC 10.x
boards: nordic: Turn hardware stack protection on by default
boards: nrf52840dongle: Enable serial conditionally
Carlo Caione (1):
arm64: tracing: Fix double tracing
Crist Xu (1):
drivers: usb: Fix usb fail when using the on-chip memory
Daniel Leung (9):
benchmarks: add an app for commonly used kernel funcs footprint
x86: pcie: fallback to config via PIO
tests: latency_measure: move timing_init() earlier
doc: releases: add notes on core dump for v2.4 release
x86_64: fix size to init stack at boot
linker: add macros so iterable sections can be garbage collected
linker: do not force keep common kernel objects
kernel: add kconfig CONFIG_KERNEL_MEM_POOL
samples: basic/minimal: disable memory pool when MT=n
Daniel Schaupp (1):
doc: getting_started: updated reel board blinky gif
David Leach (1):
random: rand32_ctr_drbg: Fix missed device constify change
Dominik Ermel (1):
storage: flash_map: Fix checking unsigned for negative value
Eduardo Montoya (1):
net: openthread: fix initialization with link raw enabled
Emil Obalski (8):
usb: Fix for is_ep_valid
usb: clock_control: Fix symbol when getting mgr for HFCLK
usb: intel: Fix the sample, update to recent API change.
usb: nrf: Do not allow to clear STALL or dtoggle for ISO ep.
usb: cdc: Semaphore per CDC_ACM instance.
usb: cdc_acm: Do not change rx/tx_irq_ena flags on RESET and CONFIGURED
samples: mgmt: smp_svr: Add Serial over USB CDC_ACM overlay.
samples: mgmr: smp_svr: Build samples in CI.
Erwan Gouriou (9):
CODEOWNERS: aplhabetical sorting
CODEOWNERS: Add reviewers on stm32 components
CODEOWNERS: stm32: Update on active members
drivers/entropy: stm32: fix error erasing
dts/arm/st: Keep systick disabled by default
boards: Fix obsolete link to flash partition doc
doc: release notes V2.4.0: STM32 related additions
doc: release notes V2.4.0: Shields additions
dts/Kconfig: Remove HAS_DTS_I2C
Erwin Rol (1):
boards: nucleo_l4r5zi: Correct SPI1 SCK pin setting
Eug Krashtan (1):
samples: net: sockets: Fix for multicast filtering
Eugeniy Paltsev (2):
linker: kobject-text: align multiline string definition syntax
ARC: linker: merge GNU and MWDT linker scripts
Fabio Utzig (7):
doc: bump breathe>=4.21.0
doc: enable SEPARATE_MEMBER_PAGES compatibility
doc: add new @option Doxygen ALIAS
doc: update Kconfig options to use @option ALIAS
doc: update reference to use :c:macro
doc: update bluetooth to use @option ALIAS
doc: ext: link-roles: allow non-default baseurl
Flavio Ceolin (4):
mgmt: hawkbit: Fix resources leakage
mbedtls: Bump to 2.16.8
codeowners: Add myself to gdbstub
codeowners: Add myself as additional onwer to power
Gerard Marull-Paretas (4):
lib: gui: lvgl: add support for kscan axes swap and inversion
boards: shields: invert kscan X axis on Arduino 2.8" TFT
boards: shields: invert kscan X axis on Buydisplay 2.8" TFT
lib: gui: lvgl: match kscan rotation with the display
Gerson Fernando Budke (2):
boards: atmel: set BUILD_OUTPUT_HEX for OpenOCD boards
boards: atmel: Add missing default configuration
Grzegorz Kostka (1):
lib: fdtable: fix z_free_fd multiple calls fd leak
Guillaume Lager (1):
logging: rtt: Do not retry on error in non blocking mode
Henrik Brix Andersen (3):
samples: canbus: canopen: fix argument to CO_delete()
doc: release: 2.4: add ARM DesignStart FPGA related release notes
manifest: Update CANopenNode to include v1.3 SDO/LSS bug fixes
Ievgenii Meshcheriakov (2):
shell: Make shell UART backend initialization priority configurable
shell: Fix typo in a comment
Ioannis Glaropoulos (10):
doc: release: v2.4.0 release notes draft for Cortex-M
doc: release: v2.4.0 release notes draft for Cortex-A
CODEOWNERS: remove commas in reviewers' listing
tests: arm: interrupt: fix side effect in assertion
tests: kernel: fatal: minor #ifdef guard fix
arch: arm: aarch64: remove non-applicable linker section
tests: arch: arm: rework test suite configuration
tests: arch: arm: do not build/run test suites for _ns boards
boards: nrf9160: fix default flash partitioning
boards: nrf5340: fix default flash partitioning
Jakub Rzeszutko (2):
shell: fix Tab crashing issue
shell: add argc range in Kconfig
Jan Van Winkel (1):
cmake: Ignore LDFLAGS and AFLAGS from environment
Jennifer Williams (1):
docs: ref: kernel: clarify data_item structure in message queues
Jeremy LOCHE (1):
drivers: bluetooth: hci_spi: fix init priority
Jian Kang (2):
test: add new test cases for timer
tests: mailbox: add new tests
Joakim Andersson (5):
Bluetooth: controller: Select controller features from SoC capabilities
Bluetooth: controller: Fix Kconfig dependencies for PHY options
Bluetooth: host: Fix not setting NRPA before starting scanner
Bluetooth: host: Ignore failure to set passive scanner address
Bluetooth: host: Fix bug in device name shortening handling
Jukka Rissanen (24):
doc: net: Add networking changes to 2.4 release note
net: context: Simplify the param check when sending data
net: context: Fix sendmsg() handling in AF_CAN socket
modules: mbedtls: Allow to enable server name indication option
doc: net: Add note about socket API thread safe status
drivers: eth: Fix return value if we run out of bufs in TX
net: tcp2: Use pointer to slist node
net: tcp2: Use safe version of slist macro in conn search
net: conn: Use safe slist macro when searching connection
net: tcp2: Honor TCP retry count limit from Kconfig file
net: socket: Wait new buffers when sending
net: tcp2: Do not close connection if we run out of memory
net: tcp2: Avoid double free message
net: context: Return -ENOBUFS to caller if we run out of bufs
net: tcp2: Make sure the pkt if not null
net: tcp2: Re-order connection struct fields
net: tcp2: Adjust the send window according to avail bufs
net: tcp2: If the send window is full, do not try to send
net: tcp2: Print context state when closing connection
net: tcp2: Fix connection state debugging
net: tcp2: Retrigger resend if sending window is full
net: tcp2: Bail out if new connection cannot be created
net: tcp2: Fix connection termination
net: tcp2: Check that connection exists in net_tcp_put()
Krzysztof Chruscinski (7):
drivers: timer: nrf...
Zephyr 2.4.0-rc1
Aastha Grover (9):
scripts: tests: sanitycheck: Add more testcases for Class TestSuite
tests: sanitycheck: Testcases for load_from_file and apply_filters
sanitylib: Fix discard_report to check self.discards dict
sanitycheck: Testcases for report functions of TestSuite Class
github workflow : Add github worklow for Sanitycheck testsuite
requirements-build-test.txt: Updating mock module version
include: Implement API's for cache flush and cache invalidate
arch: x86: core: Add cache flush function for x86
syscalls: Add system call for cache flush & invalidate
Abhishek Shah (15):
drivers: pcie: remove depends on X86
pcie: endpoint: Add public APIs for PCIe endpoint driver
pcie: endpoint: Introduce API to achieve PCIe data transfer
dts: bindings: Add binding for iProc PCIe EP node
dts: arm: viper: Add DT node for iProc PCIe EP
pcie: endpoint: Add iProc PCIe EP driver
boards: arm: bcm958402m2_a72: Enable PCIe EP support
pcie: endpoint: Add public API to register reset interrupt callback
drivers: pcie: ep: iproc: Add reset interrupt handlers
drivers: pcie: ep: iproc: Add reset callback support
drivers: pcie: Do not enable PCIe RC module shell for endpoint
soc: arm: viper: Add PCIe highmem OB memory in MMU table
soc: arm: viper: Fix callee saved register corruption in el3 init
drivers: pcie: refactor pcie directory to make RC and EP independent
boards: arm: bcm958402m2_a72: remove CONFIG_PCIE
Adam Porter (3):
drivers: modem: use zsock_ variants of socket API
drivers: wifi: remove dependency on NET_SOCKETS_POSIX_NAMES
net: sockets: remove POSIX_NAMES dependency on SOCKETS_OFFLOAD
Alberto Escolar Piedras (2):
tests: kernel benchmark: Avoid timeout in nrf52_bsim
native_posix: timer: Ignore nanosleep return
Aleksandr Koltsoff (1):
cmake: sort shield list and improve indent
Alexander Falb (2):
boards: Add support for the Serpente Board
tests/samples: add samples for Serpente board
Alexander Kozhinov (17):
soc: stm32: Add support for stm32h745xx SoC
boards: Add support for NUCLEO-H745ZI-Q
dts: arm: st: h7: add rng peripheral support
dts: arm: st: h7: add dma peripheral support
boards: nucleo_h745zi_q_m7: fixed pwm bug
samples: net: sockets: big_http_download: Extend progress metrics
drivers: pinumx: stm32: pinmux_stm32h7: added ethernet pins
drivers: ethernet: stm32: pre-add stm32h7 support
drivers: ethernet: stm32: add stm32h7 support
boards: nucleo_h745zi_q: added ethernet support
boards: arm: dts: nuleo_h745zi_q_m7
boards: arm: dts: nuleo_h745zi_q_m4
boards: arm: yaml: nucleo_h745zi_q_m4
soc: arm: stm32h7: entropy generator support
boards: arm: nucleo_h745zi_q: rng
soc: arm: stm32h7: remove explicit full libc selection
samples: net: sockets: civetweb
Alexandre Bourdiol (35):
board: arm: Enable MPU for all STM32 boards supporting it
soc: arm: st_stm32: add include of devictree.h in soc.h
tests: lib: mem_alloc: restrict newlib config to more than 16K RAM
net: ip: copy to wrong destination in z_vrfy_net_addr_pton()
drivers: STM32 dualcore concurrent register access protection with HSEM
drivers: flash: stm32wb return in case of control register locked
boards: arm: nucleo_f767zi: ethernet restriction on cut-A
drivers: flash: stm32wb: disable Page Erase at end of erase_page()
STM32H7: manage Dual core boot whatever option bytes configuration
boards: arm: nucleo_g474re: add device tree rng okay
tests: drivers: spi: spi_loopback: add fixture spi_loopback
tests: drivers: spi: spi_loopback: add nucleo_f429zi support
tests: drivers: spi: spi_loopback: add nucleo_f746zg support
tests: drivers: spi: spi_loopback: add nucleo_f103rb support
tests: drivers: spi: spi_loopback: add stm32f3_disco support
tests: drivers: spi: spi_loopback: add nucleo_g474re support
tests: drivers: spi: spi_loopback: add nucleo_l4r5zi support
tests: drivers: gpio: gpio_basic_api: add some STM32 boards overlay
drivers: i2c: fix STM32 implicit-fallthrough warning
drivers: entropy: stm32: RCC_HSI48_SUPPORT not always defined
boards: arm: nucleo_h743zi: add rng support
board: arm: nucleo_f207zg: add DAC support
tests: drivers: dac: dac_loopback: add fixture dac_adc_loopback
tests: drivers: pwm: pwm_api: add support of STM32 boards
dts: arm: st: add interrupts property to rng node
drivers: entropy: stm32 full driver rework with software fifo
boards: arm: nucleo_g071rb enable PWM
boards: arm: stm32f3_disco: enable PWM
soc: arm: st_stm32: update HSEM ID from STM32WB cube update
drivers: STM32: Rework CLK48 HSEM protection
drivers: flash: stm32wb: rework dualcore flash operation
boards: arm: nucleo_g474re: add watchdog support to yaml
boards: arm: nucleo_l152re: fix openOCD issue to access bank2
drivers: clock: stm32f7 needs power over-drive to reach 216Mhz
tests: lib: cmsis_dsp: matrix: binary_q15 reorder test to fit 128k ram
Alexey Brodkin (1):
tests: Exclude qemu_arc{em|hs} in some
Alexey Markevich (6):
samples: net: google_iot_mqtt: log actual error
samples: net: google_iot_mqtt: fix log typo
samples: net: google_iot_mqtt: fix subscription qos initialization
samples: net: google_iot_mqtt: use sntp_simple
samples: net: google_iot_mqtt: remove unused definition
samples: net: google_iot_mqtt: fix CONFIG_CLOUD_CLIENT_ID value
Anas Nashif (145):
up_squared: disable i2c in defconfig
up_squared: enable SMP on this board
tests: kernel: remove ram restrictions
tests: kernel: common: rename test boot_delay
tests: common: skip bootdelay test on qemu_cortex_m0
ci: add compliance checking via GH actions
sanitycheck: capture non-ztest results
spelling: fix typo
tests: exclude qemu_arc_hs in lifo_usage test
samples: remove board_shell
shell: enable modules by default if shell is enabled
pcie: shell: add subcommands
test: remove TEST_SHELL
shell: kernel: select dependencies
tests: jwt: increase timeout for test
boards: qemu_cortex_a53: do not run on net/bt tests
kernel: logging: convert K_DEBUG to LOG_DBG
kernel: cleanup header inclusion
tests: net: remove duplicate test
test: posix: fix identifier
sanitycheck: reorg junit output for nicer reports
ci: do not run sanitycheck on action changes
actions: add automatic labeler action
actions: action for processing stale PRs/Issues
actions: only mark bugs as stale
ci: do not skip BT simulator tests
actions: mark pull requests with conflicts
sanitycheck: set selected_plaforms when loading tests from file
boards: waveshare_open103z: remove unused Kconfig
actions: use one label for stale PRs and issues
actions: disable conflict action for now
Revert "tests: rbtree to add and modify some tastcases"
Revert "tests: dlist to add a testcase and add some tags"
boards: qemu_arc: disable as default test platform
sanitycheck: fix --failed-only handling
ci: do not run sanitycheck on linter config changes
sanitycheck: handle qemu crashes
sanitycheck: Use the C LibYAML parser if available
templates: rename rfc template file
templates: add template for hardware support
doc: add coding guidelines
actions: update daily version for testing
sanitycheck: do not retry build errors with --retry-failed
doc: make device pm APIs show in doxygen docs
doc: replace lifo/fifo with LIFO/FIFO
sanitycheck: capture fails correctly on qemu crashes
doc: fix usage of :c:type
sanitycheck: disable erroring on warnings
x86: zefi: support arguments and make compatible with windows
boards: up_squared: add a post build target
actions: daily_tests: fetch all tags
tests/samples: add tags to some tests
sanitycheck: support only_tags for boards
boards: qemu_x68_nommu: run only kernel/userspace tests
sanitycheck: fix --device-testing without serial-pty
samples: remove useless nfc sample
scripts: add maintainer script
doc: add documentation for tool targets
sanitycheck: do not expect results from build_only instances
sanitycheck: do not duplicate code in tests
sanitycheck: remove verbose log message
tests: remove obsolete doxygen boilerplate
tests: fix device model tests and remove wrong doxygen grouping
doc: group audio header using doxygen
sanitycheck: realign schema
sanitycheck: introduce integration testing
samples: philosophers: enable for integration testing
tests: cmsis_dsp: use integration keyword
samples: hello_world: filter for integration
samples: cpp_synchronization: filter for integration
ci: enable sanitycheck for integration
tests: dac: remove whitelist
tests: benchmarks: filter for integration
tests: tinycrypt: do not whitelist
samples: bluetooth: cleanup prj*.conf
drivers: arcv2_irq_unit: remove include
power: remove unused inclusion of soc.h
tests: device: remove whitelisting
tests: shell: remove filter
samples: pi: add integration support
tests/samples: enable for integration testing
boards: qemu_x86_coverage: limit to core tests
doc: add documentation about --integration option
sanitycheck: fix only_tags usage
tests...
Zephyr v2.3.0
We are pleased to announce the release of Zephyr RTOS version 2.3.0.
Major enhancements with this release include:
- A new Zephyr CMake package has been introduced, reducing the need for
environment variables - A new Devicetree API, based on hierarchical macros, has been introduced. This
new API allows the C code to access virtually all nodes and properties in a
clean, organized fashion - The kernel timeout API has been overhauled to be flexible and configurable,
with future support for features like 64-bit and absolute timeouts in mind - A new k_heap/sys_heap heap allocator has been introduced, with much better
performance than the existing k_mem_pool/sys_mem_pool - Zephyr now integrates with the TF-M (Trusted Firmware M) PSA-compliant
framework - The Bluetooth Low Energy Host now supports LE Advertising Extensions
- The CMSIS-DSP library is now included and integrated
The following sections provide detailed lists of changes by component.
Security Vulnerability Related
The following CVEs are addressed by this release:
- CVE-2020-10022: UpdateHub Module Copies a Variable-Sized Hash String
into a fixed-size array. - CVE-2020-10059: UpdateHub Module Explicitly Disables TLS
Verification - CVE-2020-10061: Improper handling of the full-buffer case in the
Zephyr Bluetooth implementation can result in memory corruption. - CVE-2020-10062: Packet length decoding error in MQTT
- CVE-2020-10063: Remote Denial of Service in CoAP Option Parsing Due
To Integer Overflow - CVE-2020-10068: In the Zephyr project Bluetooth subsystem, certain
duplicate and back-to-back packets can cause incorrect behavior,
resulting in a denial of service. - CVE-2020-10069: An unchecked parameter in bluetooth data can result
in an assertion failure, or division by zero, resulting in a denial
of service attack. - CVE-2020-10070: MQTT buffer overflow on receive buffer
- CVE-2020-10071: Insufficient publish message length validation in MQTT
More detailed information can be found in:
https://docs.zephyrproject.org/latest/security/vulnerabilities.html
Known issues
You can check all currently known issues by listing them using the GitHub
interface and listing all issues with the bug label.
A single high-priority bug is currently open:
- #23364 - Bluetooth: bt_recv deadlock on supervision timeout with
pending GATT Write Commands
API Changes
-
HWINFO
- The identifier data structure for hwinfo drivers is clarified. Drivers are
responsible for ensuring that the identifier data structure is a sequence
of bytes. The returned ID value is not supposed to be interpreted based on
vendor-specific assumptions of byte order and should express the identifier
as a raw byte sequence.
The changes have an impact on users that use the hwinfo API to identify
their devices.
The sam0 driver byte swaps each 32 bit word of the 128 bit identifier to
big endian.
The nordic driver byte swaps the entire 64 bit word to big endian.
- The identifier data structure for hwinfo drivers is clarified. Drivers are
-
I2C
- Added a new API for recovering an I2C bus from situations where the I2C
master and one or more I2C slaves are out of synchronization (e.g. if the
I2C master was reset in the middle of an I2C transaction or if a noise
pulse was induced on the SCL line).
- Added a new API for recovering an I2C bus from situations where the I2C
Deprecated in this release
-
Kernel
-
k_uptime_delta_32(), use k_uptime_delta()
-
Timeout values
- All timeout values are now encapsulated k_timeout_t opaque structure when
passing them to the kernel. If you want to revert to the previous s32_t
type for the timeout parameter, please enable
:option:CONFIG_LEGACY_TIMEOUT_API
- All timeout values are now encapsulated k_timeout_t opaque structure when
-
-
Bluetooth
- BT_LE_SCAN_FILTER_DUPLICATE, use BT_LE_SCAN_OPT_FILTER_DUPLICATE instead
- BT_LE_SCAN_FILTER_WHITELIST, use BT_LE_SCAN_OPT_FILTER_WHITELIST instead
- bt_le_scan_param::filter_dup, use bt_le_scan_param::options instead
- bt_conn_create_le(), use bt_conn_le_create() instead
- bt_conn_create_auto_le(), use bt_conn_le_create_auto() instead
- bt_conn_create_slave_le(), use bt_le_adv_start() instead with
bt_le_adv_param::peer set to the remote peers address. - BT_LE_ADV_* macros, use BT_GAP_ADV_* enums instead
-
Boards
- nrf51_pca10028 has been renamed to nrf51dk_nrf51422
- nrf51_pca10031 has been renamed to nrf51dongle_nrf51422
- nrf52810_pca10040 has been renamed to nrf52dk_nrf52810
- nrf52_pca10040 has been renamed to nrf52dk_nrf52832
- nrf52833_pca10100 has been renamed to nrf52833dk_nrf52833
- nrf52811_pca10056 has been renamed to nrf52840dk_nrf52811
- nrf52840_pca10056 has been renamed to nrf52840dk_nrf52840
- nrf52840_pca10059 has been renamed to nrf52840dongle_nrf52840
- nrf9160_pca10090 has been renamed to nrf9160dk_nrf9160
- nrf52840_pca10090 has been renamed to nrf9160dk_nrf52840
- nrf52_pca20020 has been renamed to thingy52_nrf52832
- nrf5340_dk_nrf5340 has been renamed to nrf5340pdk_nrf5340
- efr32_slwstk6061a has been renamed to efr32_radio_brd4250b
-
Devicetree
- The C macros generated from the devicetree in previous releases are now
deprecated in favor of a new<devicetree.h>
API. - See :ref:
dt-from-c
for a high-level guide to the new API, and
:ref:devicetree_api
for an API reference. - Use of the legacy macros now requires explicitly enabling
:option:CONFIG_LEGACY_DEVICETREE_MACROS
. See :ref:dt-legacy-macros
for
more information, including a link to a migration guide to the new API.
- The C macros generated from the devicetree in previous releases are now
-
Other
MACRO_MAP
has been deprecated. UseFOR_EACH
instead.BUILD_ASSERT_MSG
has been deprecated. UseBUILD_ASSERT
instead.
Removed APIs in this release
- The
INLINE
macro inutil.h
has been removed. STACK_ANALYZE
,stack_analyze
andstack_unused_space_get
have been
removed.
Stable API changes in this release
-
Bluetooth Mesh
- The net_idx parameter has been removed from the Health Client model
APIs since it can be derived (by the stack) from the app_idx parameter
- The net_idx parameter has been removed from the Health Client model
-
Networking
- The NET_DEVICE_INIT(), NET_DEVICE_INIT_INSTANCE(), NET_DEVICE_OFFLOAD_INIT()
and ETH_NET_DEVICE_INIT() macros changed and take a device power management
function pointer parameter. If networking PM is not implemented for the
specific network device, the device_pm_control_nop value can be used.
- The NET_DEVICE_INIT(), NET_DEVICE_INIT_INSTANCE(), NET_DEVICE_OFFLOAD_INIT()
-
Video
- The video_dequeue() API call now takes a k_timeout_t for the timeout
parameter. This reverts to s32_t if CONFIG_LEGACY_TIMEOUT_API is enabled.
- The video_dequeue() API call now takes a k_timeout_t for the timeout
-
Floating Point Services
- FLOAT and FP_SHARING Kconfig options have been renamed to FPU and FPU_SHARING,
respectively.
- FLOAT and FP_SHARING Kconfig options have been renamed to FPU and FPU_SHARING,
Kernel
- A new general purpose memory allocator, sys_heap/k_heap, has been added
to Zephyr with more conventional API/behavior, better space
efficiency and higher performance than the pre-existing mem_pool.
The older mem_pool APIs are, by default, wrappers around this new
heap backend and will be deprecated in an upcoming release. The
original implementation remains available for this release via
disabling CONFIG_MEM_POOL_HEAP_BACKEND. - The timeout arguments to all kernel calls are now a "k_timeout_t"
type instead of a 32 bit millisecond count. These can be
initialized in arbitrary time units (ns/us/ms, ticks), be
interpreted relative to either current time or system start, and be
expressed in 64 bit quantities. This involves a minor change to the
API, so the original API is still available in a completely
source-compatible way via CONFIG_LEGACY_TIMEOUT_API. - Simplified dummy thread implementation and properly name idle threads
- Centralized new thread priority check
- Refactored device structures and introduced struct init_entry which is
a generic init end-point. SYS_INIT() generates only a struct init_entry via
calling INIT_ENTRY_DEFINE(). Also removed struct deviceconfig leaving
struct device to own everything now.
Architectures
-
ARC:
- Changed to automatic generation of privilege stack for ARC MPU V2 to
avoid the potential waste of memory When USERSPACE is configured - Enhanced runtime programming for the MPU v3 by making the gap-filling
of kernel memory a user-configurable feature - Refactored the thread switch code in epilogue of irq and exception
- Refactored the assembly codes for better maintenance
- Fixed the behavior of ARC timer driver
- Fixed the behavior of ARC SMP
- Fixed the wrong configurations of ARC boards in Kconfig and DTS
- Changed to automatic generation of privilege stack for ARC MPU V2 to
-
ARM:
- CMSIS has been moved out of the main tree and now resides in its
own standalone module repository - Updated CMSIS version to 5.7.0
- Added CMSIS-DSP library integration
- Added semihosting console support
- Cleanups and improvements to the Cortex-M exception vector table
- Fixed the behavior of Cortex-M spurious IRQ handler
- Fixed parsing of Cortex-M MemManage Stacking Errors
- Fixed the arch_cpu_idle() implementation for Cortex-M and Cortex-R
- Renamed Cortex-R architecture port to cortex_a_r in preparation for the
AArch32 Cortex-A architecture port - Added processor exception handling and reporting framework for Cortex-R
- Added nested interrupt support on AArch32 Cortex-R and AArch64 Cortex-A
- Refactored Cortex-R interrupt system to remove fake multi-level interrupt
controller abstraction scheme
- CMSIS has been moved out of the main tree and now resides in its
-
POSIX:
- Added support for building on ARM hosts
-
RISC-V:
- Added support for hard floating point for RISC-V
- Added march and mabi options to Kconfig
- Fixed compilation warning for platforms without PLIC
-
x86:
- Instrumented code for timing information
- Added ability for SoC to add MMU regions
- x86 FPU sharing symbols renam...
Zephyr 2.3.0-rc2
Aastha Grover (3):
sanitylib: Remove hardcoded sample.yaml & testcase.yaml in TestSuite class
sanitycheck: add testcases for add_testcases function of testsuite class
scripts: tests: sanitycheck: Add testcases for schema validation.
Abhishek Shah (2):
dts: arm: Fix incorrect interrupt cells order
dts: arm: qemu-virt: Modify timer interrupt to be level-sensitive
Alberto Escolar Piedras (1):
doc: release-notes-2.3: Add POSIX ARCH section
Alexander Wachter (1):
drivers: pwm: Clarify period parameter
Alexandre Bourdiol (7):
test: drivers: gpio: gpio_basic_api: disable interrupt at end of test
tests: drivers: counter: counter_basic_api: allow equality in assert
driver: counter: counter_ll_stm32_rtc.c: Add 1 tick to alarm
sample: drivers: counter: alarm: adapt test to driver change
test/benchmarks/latency_measure: adapt test to 24bit Systick for STM32
test: lib: heap: increase timeout
tests: kernel: mem_protect: syscalls: configurable faulty address
Anas Nashif (20):
sanitycheck: move export-tests handling and deduplicate code
sanitycheck: support --force-platform
samples: clean test identifiers
sanitycheck: support exporting instances
sanitycheck: also look for cpp files when scanning
sanitycheck: give summary about built vs executed
ci: update ci-tools repo sha
sanitycheck: detect wrongly named tests and fail
tests: ztest: prefix tests with test_
templates: use correct label for Enhancement
sanitycheck: remove wrong message about --qemu-testing
sanitycheck: cleanup fixture processing
tests: maxim_ds3231_api: use fixture
sanitycheck: support fixtures
sanitycheck: add fixture support to hardware map
tests: gpio_basic: this test requires a fixture
doc: sanitycheck: fixture documentation
drivers: pwm: fix doxygen docs
doc: add a header to all pages about development version
doc: make statement about version bold
Andreas Sandberg (1):
boards: arm: b_l072z_lrwan1: Fix flashing of big firmware
Andrei Gansari (4):
dts: mikro-bus definition
boards: Eth Click MikroElectronica shield
boards: lpcxpresso55s69 add mikroBUS mapping
boards: lpcxpresso55s69 add Arduino mapping
Andrew Boie (24):
kernel: simplify dummy thread implementation
x86: properly align initial dummy thread
kernel: wipe TLS before dropping to user mode
tests: userspace: check for TLS leakage
docs: fix user mode sidebar
x86: dump the right page tables
tests: userspace: check TLS location
kernek: don't allow mutex ops in ISRs
x86: 32-bit: allow direct ISRs only with !KPTI
kernel: fix k_object_free() spelling
userspace: fix bad ssf pointer on bad/no syscall
userspace: add z_is_in_user_syscall()
scripts: gen_kobject_list: generalize obj alloc
scripts: parse_syscalls: generalize struct tags
userspace: net sockets are kernel objects
net: tag net socket objects
net: sockets: add API to fetch an fd's ctx object
tests: net_mgmt: grant socket access
tests: net: tcp: test zsock_get_context_object
fdtable: init fd context objects
net: lib: remove socket-specific recycle calls
userspace: improve dynamic object allocation
net: socketpair: fix user mode access
net: check permissions on net contexts
Andrew Fernandes (1):
logging: set 'log_backend_rtt:panic_mode' before 'log_backend_std_panic'
Andries Kruithof (2):
Bluetooth: controller: split: Update feature exchange to BTCore V5.0
Bluetooth: controller: split: include proper header file
Andrzej GÅ‚Ä…bek (5):
nrf_radio_802154: Use chosen zephyr,entropy to get entropy device
boards: arm: nrf5340pdk: Fix i2c1 pin assignments
sensor: temp_nrf5: Allow use only when the TEMP peripheral is present
drivers: serial: nrfx: Force poll_out when lock attempts are over
drivers: uart_nrfx_uarte: Prevent spurious UART_RX_BUF_REQUEST
Andrzej Puzdrowski (5):
manifest: mcumgr bugfix upgrade
storage/stream: fix possible unaligned write on buffer flush
tests/subsys/storage/stream_flash: add unaligned flash test
include/storage/steram_flash: update buffer size requirements
tests/subsys/settings/functional/nvs: add nrf52xx configuration
Andy Ross (6):
tests/kernel/common: Make test_timeout_order 1cpu
soc/x86/apollo_lake: IOAPIC ID's are not a SMP feature
kernel/timer: Handle K_FOREVER in k_timer_start()
docs/releases: Document the heap and timeout changes in 2.3
kernel/queue: Remove interior use of k_poll()
tests/kernel/queue: Add regression test for CONFIG_POLL race condition
Armand Ciejak (2):
soc: arm: cortex_m: Improve error messages
soc: arm: cortex_m: Fix OCRAM config for i.MX RT
Armando Visconti (1):
samples/shields: x-nucleo-iks02a1: Fix doc for microphone
Bilal Wasim (3):
drivers: eth: stm32: Fix driver crash caused by RX IRQ trigger
drivers: eth: stm32: Fix invalid assertion comparison
drivers: wifi: eswifi: Fully populate sockaddr_in on async msg
Carles Cufi (8):
Revert "test: kernel: context: Exclude for qemu_cortex_r5 (temporary)"
tests: logging: Add a clean ouput test and clarify output
doc: dev process: Add a note about deprecation mechanisms
doc: releases: Add 2.3 release notes highlights
doc: release notes: Add 2.3 release notes on documentation
doc: release notes: Add 2.3 Bluetooth release notes
doc: kernel: Fix invalid use of K_NO_WAIT
release: Zephyr 2.3.0-rc2
Christoph Reiter (3):
sensor: add sensor driver for Infineon DPS310
sensor: add sample for Infineon DPS310
doc: fix board name in DPS310 sample
Christopher Friedt (11):
net: socket: socketpair: mitigate possible race condition
tests: socket: socketpair: fix userspace thread permissions
samples: sockets: socketpair: sample application and docs
net: socket: socketpair: remove dead code
tests: socket: socketpair: assert recvfrom returns >= 0
samples: sockets: socketpair: check return value of send
samples: sockets: socketpair: check return of pthread_create
samples: sockets: socketpair: mitigate negative index
net: socket: socketpair: initialize after NULL check
tests: socket: socketpair: init param before passing by ref
tests: socket: socketpair: init param before passing by ref
Daniel Leung (18):
gpio: mchp_xec: fix erroneous interrupt triggers
tests: gpio_basic_api: change GPIOs for mec15xxevb_assy6853
gpio: intel_apl: don't enable interrupt if line is output
timer: hpet: enable benchmarking during ISR
serial: ns16550: return error when init fails
serial: ns16550: do not write to device cfg struct when PCIE=y
gpio: intel_apl: fix ISR function signature
x86: intel64: add missing _locore_end to linker script
x86: acpi: make code 64-bit compatible
gpio: intel_apl: fix incorrect address access
x86: add ability for SoC to add MMU regions
boards: x86/up_squared: specify CONFIG_X86_MMU_PAGE_POOL_PAGES
x86: apollo_lake: add mmu regions for UARTs and I2Cs
boards: x86/up_squared: remove SYS_CLOCK_HW_CYCLES_PER_SEC
boards: x86: make up_squared default to x86_64
tests: timing_info: need to calibrate TSC frequency on x86
x86_64: instrument code for timing information
x86: mmu: fix type mismatch of memory address in assert
David Brown (2):
doc: vulnerabilities: Document public CVEs
doc: release notes: Update security notes for 2.3
Eduardo Montoya (1):
net: config: align Kconfig debug levels with OpenThread ones
Emil Obalski (5):
usb: dt: Update USB audio class to recent changes in DT
doc: release notes: Update USB notes for 2.3
usb: driver: nordic: Unlock mutex in case of error.
usb: driver: Fix Nordic driver for fragmented control OUT transfers.
usb: doc: Add note about cdc+dfu Windows OS exception.
Erwan Gouriou (14):
drivers/spi: stm32: Fix use of single dma channel
doc: probes: Add info on ST-Link fw update
boards: stm32: pinmux: Restore Kconfig control on pinmux (serial)
boards: stm32: pinmux: Restore Kconfig control on pinmux (spi)
boards: stm32: pinmux: Restore Kconfig control on pinmux (i2c)
boards: stm32: pinmux: Restore Kconfig control on pinmux (pwm)
boards: stm32: pinmux: Restore Kconfig control on pinmux (adc)
boards: stm32: pinmux: Restore Kconfig control on pinmux (dac)
boards: stm32: pinmux: Restore Kconfig control on pinmux (can)
boards: stm32: pinmux: Restore Kconfig control on pinmux (i2s)
boards: stm32: pinmux: Restore Kconfig control on pinmux(sdmmc)
drivers: susbsys: Check errors on devices selected using dt macro
doc/release: v2.3.0: Update boards/shields section
doc/release: v2.3.0: Update for stm32
Flavio Ceolin (2):
drivers: peci: Add verification handlers
mbedtls: Bump to 2.16.6 version
Francois Ramu (10):
drivers: spi: driver dma callback function to set transfer flag
drivers: spi: driver reloading dma buffers in the main transceive loop
driver: timer: stm32_lptim: tickless mode without a compilation flag
driver: timer: stm32_lptim set_timeout limit values
driver: timer: stm32_lptim control the timer duration
drivers: timer: stm32_lptim fix TICKLESS=n processing
soc: arm: stm32 TICKS value with LPTIM config
dts: stm32: timer define a new DT binding for LPTIM
drivers:...