Releases: zephyrproject-rtos/zephyr
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:...
Zephyr 2.2.1
Zephyr 2.2.1
This is a maintenance release for Zephyr 2.2 with fixes.
See https://github.com/zephyrproject-rtos/zephyr/releases/tag/zephyr-v2.2.0 for the previous version release notes.
Security Vulnerability Related
The following security vulnerabilities (CVE) were addressed in this release:
- Fix CVE-2020-10028
- Fix CVE-2020-10060
- Fix CVE-2020-10063
- Fix CVE-2020-10066
More detailed information can be found in:
https://docs.zephyrproject.org/latest/security/vulnerabilities.html
Issues Fixed
These GitHub issues were addressed since the previous 2.2.0 tagged
release:
- #23494 - Bluetooth: LL/PAC/SLA/BV-01-C fails if Slave-initiated Feature Exchange is disabled
- #23485 - BT: host: Service Change indication sent regardless of whether it is needed or not.
- #23482 - 2M PHY + DLE and timing calculations on an encrypted link are wrong
- #23070 - Bluetooth: controller: Fix ticker implementation to avoid catch up
- #22967 - Bluetooth: controller: ASSERTION FAIL on invalid packet sequence
- #24183 - [v2.2] Bluetooth: controller: split: Regression slave latency during connection update
- #23805 - Bluetooth: controller: Switching to non conn adv fails for Mesh LPN
- #24086 - Bluetooth: SMP: Existing bond deleted on pairing failure
- #24211 - [v2.2.x] lib: updatehub: Not working on Zephyr 2.x
- #24601 - Bluetooth: Mesh: Config Client's net_key_status pulls two key indexes, should pull one.
- #25067 - Insufficient ticker nodes for vendor implementations
- #25350 - Bluetooth: controller: Data transmission delayed by slave latency
- #25483 - Bluetooth: controller: split: feature exchange not conform V5.0 core spec
- #25478 - settings_runtime_set() not populating bt/cf
- #25447 - cf_set() returns 0 when no cfg is available
Zephyr 2.3.0-rc1
Aastha Grover (1):
scripts: tests: sanitycheck: Add basic foundation for sanitycheck testsuite
Abe Kohandel (5):
drivers: pinmux: stm32: add pin for I2S3_WS on F4 series
drivers: dma: stm32: Stream disable success
drivers: dma: i2s: stm32: I2S Master DMA support
drivers: i2s: stm32: Add I2S master clock output
drivers: dma: stm32: DMA V1 channel direction
Abhishek Shah (2):
arch: arm: aarch64: Add Cortex-A72 config
boards: arm: Add bcm958402m2_a72 board
Adam Serbinski (2):
boards: arm: adafruit_feather_m0_basic_proto: Set flash offset
flash: sam0: set write_block_size=1 when EMULATE_BYTE_PAGES is set
Ahmed Shokry (1):
Bluetooth: host: Allow only one legacy advertising instance
Alberto Escolar Piedras (4):
CODEOWNERS: Add daor-oti and wopu-ot to several directories
nrf52_bsim: Remove no longer needed header stubs
doc: native_posix: Add section about 32 and 64 bits
util.h: Remove INLINE definition and user
Albin Söderqvist (1):
drivers: display: st7789v: add power management support
Alex Porosanu (11):
bluetooth: controller: openisa/RV32M1: add 2 Mbps PHY support
bluetooth: controller: enable 2Mbps PHY for RV32M1
boards: riscv: rv32m1_vega: remove BLE 2Mbps limitation
bluetooth: controller: openisa: fix assert on invalid packet sequence
bluetooth: controller: openisa: handle latency for cancelled conn events
bluetooth: controller: openisa: Reduce time to setup tIFS switch
bluetooth: controller: openisa: Fix densely scheduled event preemption
drivers: pwm: add driver for NXP Kinetis TPM module
soc: kinetis: add support for TPM PWM module
boards: frdm_kw41z: enable PWM support
west.yml: hal_nxp: update HAL reference for MCUX TPM driver
Alexander Wachter (7):
drivers: can: loopback: Use thread to send frames.
drivers: flash: stm32: Introduce logs in the flash code
drivers: flash: stm32g4: Fix erase on wrong bank
doc: API stability: Change HWINFO from unstable to stable
boards: nucleo_g431rb: Use HSE instead of HSI
boards: nucleo_g474re: Use HSE instead of HSI
canbus: Convert canbus driver and subsys to new timeout API
Alexandre Bourdiol (9):
board: nucleo_l152re: Revert "board: nucleo_l152re: Limit sysfreq to 16MHz"
dts/arm/st: f2 USB OTGFS clock on AHB2 bus
dts/arm/st: f7 supports SPI FIFO
dts/arm/st: SPI6 not supported by all F7 devices
dts\arm\st\g4: Fix ADC instances naming
drivers: STM32H7 dualcore EXTI management
drivers/clock_control: stm32H7 AHB clock computation depends on core
board/arm/stm32h747i_disco: add support of flash with openocd
board/arm/stm32h747i_disco: add documentation for support of openocd
Alexey Brodkin (2):
runners: openocd: Reset target before running Elf
OpenOCD: Make incompatible with SMP
Anas Nashif (84):
sensor: shell: return -ENODEV on binding errors
doc: fix broken links in README and board docs
docs: crypto: crypto API documentation
doc: tests: futex: fix doxygen grouping
doc: tests: stack: fix doxygen grouping
doc: doxygen: add missing groups and categorise
boards: intel_s1000_crb: update documentation
boards: ip_k66f: disable as default test platform
boards: em_starterkit: disable as default test platform
drivers: peci: remove self-assignment
sanitycheck: fix counting when using --test option
sanitycheck: use status column for status
sanitycheck: cleanup loading of previous results
sanitycheck: Add named exceptions
ci: when merging files, keep one header row
sanitycheck: remove confusing message when loading files
sanitycheck: catch build failures
sanitycheck: use cmake_only from class
sanitycheck: remove more global usage of arg options
sanitycheck: fix scope and cleanup
sanitycheck: split main script into an exe and classes
sanitycheck: fix issue with generator setting
sanitycheck: fix testsuite
sanitycheck: remove unused arg files
sanitycheck: get rid of global VERBOSE
sanitycheck: fix setting of west_flash/runner
samples: use K_MSEC with k_sleep()
ci: detect what changed in a PR and if full sanitycheck is needed.
ci: do not run full sanitycheck if not needed...
CODEOWNER: add owner for scripts/ci
ci: do full sanitycheck if not a PR
doc: lock sphinx version to a compatible one
sanitycheck: fix coverage capturing
ci: do not use latest breathe release for docs
doc: provide a target to only generate doxygen
ci: if we are only changing doc/ files, no sanitycheck run
samples: philosophers: evaluate variables coming from command line
kernel: remove unused offload workqueue option
tests: critical: rework test
tests: put all workqueue test in 1 group
tests: move critical test under workqueue
tests: critical: change doxygen group
sanitycheck: match results with extra logging output
kernel: remove all old requirement tags
doc: add traceability aliases to doxygen
doc: document how we implement traceability
sanitycheck: update old reports when called with --only-failed
boards: nsim: for smp testing, using mdb
boards: arc: make nsim_em a default platform
sanitycheck: add option for report suffix
kernel: rename initializers to be internal
soc: apollo_lake: convert older dts macros for i2c
sanitycheck: set reason to Failed
sanitycheck: kill if terminate does not work
sanitycheck: keep recording.csv with -M option
sanitycheck: support coverage with unit tests
release: v1.14.2 release notes
samples: philosophers: remove systemview section from sample
samples: move tracing sample from tests/
doc: tracing: adapt to current implementation
samples: fix configuration for systemview/cpu stats
boards: rename board image file and make them match board name
boards: STM32F405 Express: fix board name in yaml file
boards: 96b_avenger96: rename in yaml file
board: more stm board renames in yaml file
doc: kernel: add section about queues
doc: can: use :c:macro for K_FOREVER
ci: fix whatchanged script matching
build: reports: add puncover target
doc: remove reference to ext/
tests: gpio: remove unused harness
sanitycheck: raise exception on harness without a config
samples: remove unused harness definition
sanitycheck: fix initial types in classes and minor cleanup
requirements: add psutil, needed by sanitycheck
ci: changes to python requirements should not trigger sanitycheck
samples: x_nucleo_iks02a1: fix test identifier
sanitycheck: raise exceptions on bad test names
tests: stream_flash: skip tests correctly
sanitycheck: raise exception on bad exclusion in ztest
i2c_shell: Tidy up the code style
i2c_shell: Add write_byte/read_byte commands
i2c: shell: add braces around if statement
samples: tracing: run openocd sample with 1 cpu
Andreas Sandberg (6):
boards: arm: b_l072z_lrwan1: Fix SPI1 pinmux config
samples: lora: Remove unnecessary config option
drivers: lora: Add a continuous wave test API
boards: arm: 96b_wistrio: Add an alias for the LoRa radio
drivers: lora: Add a shell for LoRa testing
samples: lora: Use the new DT alias to discover radio
Andrei Emeltchenko (10):
console: uart_console: Use static for static functions
console: xtensa_sim_console: Cleanup and use static keyword
logging: Make ring buffer backend more general
logging: log_backend_rb: Make message buffer size configurable
logging: log_backend_rb: Use int for memory area size
boards: up_squared_adsp: Change default flasher
samples: philosophers: Fix extra_args not used
boards: up_squared_adsp: Add flasher script
boards: up_squared_adsp: Update logtool tool
soc: intel_adsp: Generalize bootloader
Andrei Gansari (18):
dts: nxp_lpc55S6x_ns.dtsi added
dts: lpc55xxx add mpu
boards: lpcxpresso55s69_cpu1 definitions
soc: lpc55xxx mpu areas defined from dts
dts: lpc55s69 non-secure all flash regions
boards: lpcxpresso55s69_cpu0 partitioning
boards: add target lpcxpresso55s69_ns
soc: lpc55xxx define secure/non-secure core
boards: lpcxpresso55s69 available targets description
soc: lpc devices spi clock speed increase
drivers: spi_mcux_flexcomm clock increase
tests: LPC platforms SPI use default frequncy
west.yaml: update hal_nxp for entropy device
modules: adds HAS_MCUX_RNG
dts: nxp,lpc-rng binding and lpc55xxx RNG node
drivers: entropy_mcux_rng LPC entropy
boards: map lpcxpresso55xxx boards entropy device
soc: lpc55xxx RNG definiton
Andrejs Cainikovs (1):
doc: gsg: add missing python3-dev dependency
Andrew Boie (56):
samples: pi: fix stack overflow
kernel: use sched lock for k_thread_suspend/resume
tests: interrupt: use one CPU only
tests: interrupt: fix broken scenario
tests: interrupt: fix testcase.yaml
shell: use correct data type for atomic variables
kernel: fix return type for atomic_cas()
kernel: add APIs for atomic os on pointers
random: remove rand32_timestamp.c
nios2: add arch_irq_is_enabled()
kernel: fixup thread monitor locking
kernel: remove comment in k_thread_abort()
kernel: use z_swap_unlocked in k_thread_abort
kernel: add k_thread_join()
tests:...
Zephyr LTS 1.14.2 (Mainternance Release)
This is an LTS maintenance release with fixes.
Security Vulnerability Related
The following security vulnerabilities (CVEs) were addressed in this
release:
- CVE-2020-10019
- CVE-2020-10021
- CVE-2020-10022
- CVE-2020-10023
- CVE-2020-10024
- CVE-2020-10027
- CVE-2020-10028
More detailed information can be found in:
https://docs.zephyrproject.org/latest/security/vulnerabilities.html
Issues Fixed
These GitHub issues were addressed since the previous 1.14.0 tagged
release:
- #11617 - net: ipv4: udp: broadcast delivery not supported
- #11743 - logging: add user mode access
- #14459 - usb: samples: mass: doesn't build with FLASH overlay
- #15119 - GPIO callback not disabled from an interrupt
- #15339 - RISC-V: RV32M1: Load access fault when accessing GPIO port E
- #15354 - counter: stm32: Issue with LSE clock source selection
- #15373 - IPv4 link local packets are not sent with ARP ethernet type
- #15443 - usb_dc_stm32: Missing semaphore initialization and missing pin remapping configuration
- #15444 - Error initiating sdhc disk
- #15497 - USB DFU: STM32: usb dfu mode doesn't work
- #15507 - NRF52840: usb composite MSC + HID (with CONFIG_ENABLE_HID_INT_OUT_EP)
- #15526 - Unhandled identity in bt_conn_create_slave_le
- #15558 - support for power-of-two MPUs on non-XIP systems
- #15601 - pwm: nRF default prescalar value is wrong
- #15603 - Unable to use C++ Standard Library
- #15605 - Unaligned memory access by ldrd
- #15678 - Watchdog peripheral api docs aren't generated correctly.
- #15698 - bluetooth: bt_conn: No proper ID handling
- #15733 - Bluetooth: controller: Central Encryption setup overlaps Length Request procedure
- #15794 - mps2_an385 crashes if CONFIG_INIT_STACKS=y and CONFIG_COVERAGE=y
- #15817 - nrf52: HFXO is not turned off as expected
- #15904 - concerns with use of CONFIG_BT_MESH_RPL_STORE_TIMEOUT in examples
- #15911 - Stack size is smaller than it should be
- #15975 - Openthread - fault with dual network interfaces
- #16001 - ARC iotdk supports MPU and fpu in hardware but not enabled in kconfig
- #16002 - the spi base reg address in arc_iot.dtsi has an error
- #16010 - Coverage reporting fails on many tests
- #16012 - Source IP address for DHCP renewal messages is unset
- #16046 - modules are being processed too late.
- #16080 - Zephyr UART shell crashes on start if main() is blocked
- #16089 - Mcux Ethernet driver does not detect carrier anymore (it's alway on)
- #16090 - mpu align support for code relocation on non-XIP system
- #16143 - posix: clock_settime calculates the base time incorrectly
- #16155 - drivers: can: wrong value used for filter mode set
- #16257 - net: icmpv4: Zephyr sends echo reply with multicast source address
- #16307 - cannot move location counter backwards error happen
- #16323 - net: ipv6: tcp: unexpected reply to malformed HBH in TCP/IPv6 SYN
- #16339 - openthread: off-by-one error when calculating ot_flash_offset for settings
- #16354 - net: ipv6: Zephyr does not reply to fragmented packet
- #16375 - net: ipv4: udp: Zephyr does not reply to a valid datagram with checksum zero
- #16379 - net: ipv6: udp: Zephyr replies with illegal UDP checksum zero
- #16411 - bad regex for west version check in host-tools.cmake
- #16412 - on reel_board the consumption increases because TX pin is floating
- #16413 - Missing dependency in cmake
- #16414 - Backport west build --pristine
- #16415 - Build errors with C++
- #16416 - sram size for RT1015 and RT1020 needs to be update.
- #16417 - issues with can filter mode set
- #16418 - drivers: watchdog: sam0: check if timeout is valid
- #16419 - Bluetooth: XTAL feature regression
- #16478 - Bluetooth: Improper bonded peers handling
- #16570 - [Coverity CID :198877]Null pointer dereferences in /subsys/net/ip/net_if.c
- #16577 - [Coverity CID :198870]Error handling issues in /subsys/net/lib/lwm2m/lwm2m_obj_firmware_pull.c
- #16581 - [Coverity CID :198866]Null pointer dereferences in /subsys/net/lib/dns/llmnr_responder.c
- #16584 - [Coverity CID :198863]Error handling issues in /subsys/net/lib/sntp/sntp.c
- #16600 - Bluetooth: Mesh: Proxy SAR timeout is not implemented
- #16602 - Bluetooth: GATT Discovery: Descriptor Discovery by range Seg Fault
- #16639 - eth: pinging frdm k64f eventually leads to unresponsive ethernet device
- #16678 - LPN establishment of Friendship never completes if there is no response to the initial Friend Poll
- #16711 - Settings reworked to const char processing
- #16734 - Bluetooth: GATT: Writing 1 byte to a CCC access invalid memory
- #16745 - PTHREAD_MUTEX_DEFINE(): don't store into the _k_mutex section
- #16746 - boards: nrf52840_pca10059: Configure NFC pins as GPIOs by default
- #16749 - IRQ_CONNECT and irq_enable calls in the SiFive UART driver is misconfigured
- #16750 - counter: lack of interrupt when CC=0
- #16760 - K_THREAD_STACK_EXTERN() confuses gen_kobject_list.py
- #16779 - [Zephyr v1.14] ARM: fix the start address of MPU guard in stack-fail checking (when building with no user mode)
- #16799 - Bluetooth: L2CAP: Interpretation of SCID and DCID in Disconnect is wrong
- #16861 - nRF52: UARTE: Data corruption right after resuming device
- #16864 - Bluetooth: Mesh: Rx buffer exhaustion causes deadlock
- #16893 - Bluetooth: Multiple local IDs, privacy problem
- #16943 - Missing test coverage for lib/os/crc*.c
- #16944 - Insufficient test coverage for lib/os/json.c
- #17031 - Compiler warnings in settings module in Zephyr 1.14
- #17038 - code relocation generating different memory layout cause user mode not working
- #17041 - [1.14] Bluetooth: Mesh: RPL handling is not in line with the spec
- #17055 - net: Incorrect data length after the connection is established
- #17057 - Bluetooth: Mesh: Implementation doesn't conform to latest errata and 1.0.1 version
- #17092 - Bluetooth: GAP/IDLE/NAMP/BV-01-C requires Read by UUID
- #17170 - x86_64 crash with spinning child thread
- #17171 - Insufficient code coverage for lib/os/fdtable.c
- #17177 - ARM: userspace/test_bad_syscall fails on ARMv8-M
- #17190 - net-mgmt should pass info element size to callback
- #17250 - After first GC operation the 1st sector had become scratch and the 2nd sector had became write sector.
- #17251 - w25q: erase operations must be erase-size aligned
- #17262 - insufficient code coverage for lib/os/base64.c
- #17288 - Bluetooth: controller: Fix handling of L2CAP start frame with zero PDU length
- #17294 - DB corruption when adding/removing service
- #17337 - ArmV7-M mpu sub region alignment
- #17338 - kernel objects address check in elf_helper.py
- #17368 - Time Slicing cause system sleep short time
- #17399 - LwM2M: Can't use an alternate mbedtls implementation
- #17401 - LwM2M: requires that CONFIG_NET_IPV* be enabled (can't use 100% offloaded IP stack)
- #17415 - Settings Module - settings_line_val_read() returning -EINVAL instead of 0 for deleted setting entries
- #17427 - net: IPv4/UDP datagram with zero src addr and TTL causes Zephyr to segfault
- #17450 - net: IPv6/UDP datagram with unspecified addr and zero hop limit causes Zephyr to quit
- #17463 - Bluetooth: API limits usage of MITM flags in Pairing Request
- #17534 - Race condition in GATT API.
- #17595 - two userspace tests fail if stack canaries are enabled in board configuration
- #17600 - Enable Mesh Friend support in Bluetooth tester application
- #17613 - POSIX arch: occasional failures of tests/kernel/sched/schedule_api on CI
- #17630 - efr32mg_sltb004a tick clock error
- #17723 - Advertiser never clears state flags
- #17732 - cannot use bt_conn_security in connected callback
- #17764 - Broken link to latest development version of docs
- #17802 - [zephyr 1.14] Address type 0x02 is used by LE Create Connection in device privacy mode
- #17820 - Mesh bug report In access.c
- #17838 - state DEVICE_PM_LOW_POWER_STATE of Device Power Management
- #17843 - Bluetooth: controller: v1.14.x release conformance test failures
- #17857 - GATT: Incorrect byte order for GATT database hash
- #17861 - Tester application lacks BTP Discover All Primary Services handler
- #17880 - Unable to re-connect to privacy enabled peer when using stack generated Identity
- #17944 - [zephyr 1.14] LE Enhanced Connection Complete indicates Resolved Public once connected to Public peer address
- #17948 - Bluetooth: privacy: Reconnection issue
- #17967 - drivers/pwm/pwm_api test failed on frdm_k64f board.
- #17971 - [zephyr 1.14] Unable to register GATT service that was unregistered before
- #17979 - Security level cannot be elevated after re-connection with privacy
- #18021 - Socket vtable can access null pointer callback function
- #18090 - [zephyr 1.14][MESH/NODE/FRND/FN/BV-08-C] Mesh Friend queues more messages than indicates it's Friend Cache
- #18178 - BLE Mesh When Provisioning Use Input OOB Method
- #18183 - [zephyr 1.14][GATT/SR/GAS/BV-07-C] GATT Server does not inform change-unaware client about DB changes
- #18297 - Bluetooth: SMP: Pairing issues
- #18306 - Unable to reconnect paired devices with controller privacy disabled (host privacy enabled)
- #18308 - net: TCP/IPv6 set of fragmented packets causes Zephyr to quit
- #18394 - [Coverity CID :203464]Memory - corruptions in /subsys/net/l2/ethernet/gptp/gptp_mi.c
- #18462 - potential buffer overrun in logging infrastructure
- #18580 - Bluetooth: Security fail on initial pairing
- #18658 - Bluetooth BR/EDR encryption key negotiation vulnerability
- #18739 - k_uptime_get_32() does not behave as documented
- #18935 - [Zephyr 1.14] drivers: flash: spi_nor: Problematic write with page boundaries
- #18961 - [Coverity CID :203912]Error handling issues in /samples/net/sockets/coap_client/src/coap-client.c
- #19015 - Bluetooth: Mesh: Node doesn't respond to "All Proxies" address
- #19038 - [zephyr branch 1.14 and master -stm32-netusb]:errors when i view RNDIS Device‘s properties on...
Zephyr 2.2.0
We are pleased to announce the release of Zephyr RTOS version 2.2.0.
Major enhancements with this release include:
- Initial support for the 64-bit ARMv8-A architecture (Experimental).
- CANopen protocol support through 3rd party CANopenNode stack
- LoRa support was added through integration of the Semtech LoRaWAN endpoint
stack and addition of a new SX1276 LoRa modem driver - A new and redesigned GPIO API has been introduced, and all in-tree users have been ported to it
The following sections provide detailed lists of changes by component.
Security Vulnerability Related
The following security vulnerabilities (CVEs) were addressed in this release:
- Fix CVE-2020-10019
- Fix CVE-2020-10021
- Fix CVE-2020-10023
- Fix CVE-2020-10024
- Fix CVE-2020-10026
- Fix CVE-2020-10027
- Fix CVE-2020-10028
- Fix CVE-2020-10058
More detailed information can be found in:
https://docs.zephyrproject.org/latest/security/vulnerabilities.html
API Changes
Deprecated in this release
-
Settings
- SETTINGS_USE_BASE64, encoding values in base64 is marked for removal.
Stable API changes in this release
-
GPIO
-
GPIO API has been reworked to support flags known from Linux DTS GPIO
bindings. They will typically be defined in the board DTS file- GPIO_ACTIVE_LOW, GPIO_ACTIVE_HIGH used to set pin active level
- GPIO_OPEN_DRAIN, GPIO_OPEN_SOURCE used to configure pin as open drain or
open source - GPIO_PULL_UP, GPIO_PULL_DOWN used to configure pin bias
-
Reading / writing of pin logical level is supported by gpio_pin_get,
gpio_pin_set functions. -
Reading / writing of pin physical level is supported by gpio_pin_get_raw,
gpio_pin_set_raw functions. -
New set of port functions that operate simultaneously on multiple pins
that belong to the same controller. -
Interrupts should be configured by a dedicated
gpio_pin_interrupt_configure() function. Configuring interrupts via
gpio_pin_configure() is still supported but this feature will be removed
in future releases. -
New set of flags allows to set arbitrary interrupt configuration (if
supported by the driver) based on pin physical or logical levels. -
New set of flags to configure pin as input, output or in/out as well as set
output initial state. -
Majority of the old GPIO API has been deprecated. While the care was taken
to preserve backward compatibility due to the scope of the work it was not
possible to fully achieve this goal. We recommend to switch to the new GPIO
API as soon as possible. -
Areas where the deprecated API may behave differently to the original old
implementation are:- Configuration of pin interrupts, especially involving GPIO_INT_ACTIVE_LOW
and GPIO_POL_INV flags. - Behavior of gpio_pin_configure() when invoked without interrupt related
flags. In the new implementation of this deprecated functionality the
interrupts remain unmodified. In the original implementation some of the
GPIO drivers would disable the interrupts.
- Configuration of pin interrupts, especially involving GPIO_INT_ACTIVE_LOW
-
Several drivers that rely on the functionality provided by the GPIO API
were reworked to honor pin active level. Any external users of these
drivers will have to update their DTS board files.- bluetooth/hci/spi.c
- display/display_ili9340.c
- display/ssd1306.c
- ieee802154/ieee802154_mcr20a.c
- ieee802154/ieee802154_rf2xx.c
- lora/sx1276.c
- wifi/eswifi/eswifi_core.c
- majority of the sensor drivers
-
-
PWM
- The pwm_pin_set_cycles(), pwm_pin_set_usec(), and
pwm_pin_set_nsec() functions now take a flags parameter. The newly
introduced flags are PWM_POLARITY_NORMAL and PWM_POLARITY_INVERTED
for specifying the polarity of the PWM signal. The flags parameter
can be set to 0 if no flags are required (the default is
PWM_POLARITY_NORMAL). - Similarly, the pwm_pin_set_t PWM driver API function function now
takes a flags parameter. The PWM controller driver must check the
value of the flags parameter and return -ENOTSUP if any
unsupported flag is set.
- The pwm_pin_set_cycles(), pwm_pin_set_usec(), and
-
USB
- The usb_enable() function, which was previously invoked automatically
by the USB stack, now needs to be explicitly called by the application
in order to enable the USB subsystem. - The usb_enable() function now takes a parameter, usb_dc_status_callback
which can be set by the application to a callback to receive status events
from the USB stack. The parameter can also be set to NULL if no callback is required.
- The usb_enable() function, which was previously invoked automatically
-
nRF flash driver
- The nRF Flash driver has changed its default write block size to 32-bit
aligned. Previous emulation of 8-bit write block size can be selected using
the CONFIG_SOC_FLASH_NRF_EMULATE_ONE_BYTE_WRITE_ACCESS Kconfig option.
Usage of 8-bit write block size emulation is only recommended for
compatibility with older storage contents.
- The nRF Flash driver has changed its default write block size to 32-bit
-
Clock control
- The callback prototype (clock_control_cb_t) has now additional argument
(clock_control_subsys_t) indicating which clock subsystem got started.
- The callback prototype (clock_control_cb_t) has now additional argument
Removed APIs in this release
-
Shell
- SHELL_CREATE_STATIC_SUBCMD_SET (deprecated), replaced by
SHELL_STATIC_SUBCMD_SET_CREATE - SHELL_CREATE_DYNAMIC_CMD (deprecated), replaced by SHELL_DYNAMIC_CMD_CREATE
- SHELL_CREATE_STATIC_SUBCMD_SET (deprecated), replaced by
-
Newtron Flash File System (NFFS) was removed. NFFS was removed since it has
serious issues, not fixed since a long time. Where it was possible
NFFS usage was replaced by LittleFS usage as the better substitute.
Kernel
- Addressed some race conditions observed on SMP-enabled systems
- Propagate a distinct error code if a workqueue item is submitted that
has already been completed - Disable preemption when handing fatal errors
- Fix an issue with the sytsem call stack frame if the system call is
preempted and then later tries to Z_OOPS() - add k_thread_stack_space_get() system call for analyzing thread stack
space. Older methods which had problems in some cases or on some
architectures like STACK_ANALYZE() are now deprecated. - Many kernel object APIs now optionally return runtime error values
instead of relying on assertions. Whether these return values, fail
assertions, or do no checking at all is controlled by the new
Kconfig options ASSERT_ON_ERRORS, NO_RUNTIME_CHECKS, RUNTIME_ERROR_CHECKS. - Cleanups to the arch_cpu_start() API
- Spinlock validation now dumps the address of the incorrectly used spinlock
- Various improvements to the assertion mechanism
- k_poll() may be passed 0 events, in which case it just puts the caller to
sleep - Add k_thread_foreach_unlocked() API
- Add an assertion if k_sleep() is called from an ISR
- Numerous 64-bit fixes, mostly related to data type sizes
- k_mutex_unlock() is now correctly a rescheduling point
- Calling k_thread_suspend() on the current thread now correctly invokes
the scheduler - Calling k_thread_suspend() on any thread cancels any pending timeouts for
that thread - Fix edge case in meta-IRQ preemption of co-operative threads
Architectures
-
ARC:
- Fixed several irq-handling related issues
-
ARM:
- Added initial support for ARMv8-A 64-bit architecture (Experimental)
- Added support for Direct Dynamic Interrupts in ARM Cortex-M
- Fixed several critical bugs in ARM Cortex-R architecture port
- Fixed several critical bugs in Stack Limit checking for ARMv8-M
- Added QEMU emulation support for ARM Cortex-A53
- Enhanced QEMU emulation support for ARM Cortex-R architecture
- Enhanced test coverage for ARM-specific kernel features
- Added support for GIC SGI and PPI interrupt types
- Refactored GIC driver to support multiple GIC versions
-
POSIX:
- N/A
-
RISC-V:
- N/A
-
x86:
- Fix an issue with Kconfig values larger than INT_MAX
- Fix an issue where callee-saved registers could be unnecessarily
saved on the stack when handling exceptions on x86_64 - Fix a potential race with saving RFLAGS on context switch on x86_64
- Enable 64-bit mode and X2APIC for the 'acrn' target
- Add a poison value of 0xB9 to RIP if a thread is dispatched on multiple
cores - Implement CONFIG_USERSPACE on x86_64
- Fix an issue where reserved memory could be overwritten when loading the
Zephyr image on qemu_x86_64 - x86_64 will now exit QEMU when encountering a fatal error, much like
32-bit already does - Cleanups and improvements to exception debug messages
Boards & SoC Support
-
Added support for these SoC series:
- Atmel SAM4E
- Atmel SAMV71
- Broadcom BCM58400
- NXP i.MX RT1011
- Silicon Labs EFM32GG11B
- Silicon Labs EFM32JG12B
- ST STM32F098xx
- ST STM32F100XX
- ST STM32F767ZI
- ST STM32L152RET6
- ST STM32L452XC
- ST STM32G031
- Intel Apollolake Audio DSP
-
Added support for these Xtensa boards:
- Up Squared board Audio DSP
-
Added support for these ARM boards:
- Atmel SAM 4E Xplained Pro
- Atmel SAM E54 Xplained Pro
- Atmel SAM V71 Xplained Ultra
- Broadcom BCM958401M2
- Cortex-A53 Emulation (QEMU)
- Google Kukui EC
- NXP i.MX RT1010 Evaluation Kit
- Silicon Labs EFM32 Giant Gecko GG11
- Silicon Labs EFM32 Jade Gecko
- ST Nucleo F767ZI
- ST Nucleo G474RE
- ST Nucleo L152RE
- ST Nucleo L452RE
- ST STM32G0316-DISCO Discovery kit
- ST STM32VLDISCOVERY
-
Removed support for these ARM boards:
- TI CC2650
-
Added support for these following shields:
- ST7789V Display generic shield
- TI LMP90100 Sensor Analog Frontend (AFE) Evaluation Board (EVB)
-
Removed support for these following shields:
- Link board CAN
Drivers and Sensors
-
ADC
- Added LMP90xxx driver with GPIO
-
Audio
...
Zephyr 2.2.0-rc3
Alberto Escolar Piedras (1):
doc: release notes: Content for POSIX arch
Alexander Wachter (8):
doc: hwinfo: Clarify return values.
drivers: hwinfo: Introduce HWINFO_HAS_DRIVER Kconfig symbol
tests: hwinfo: Make the tests depending on HWINFO_HAS_DRIVER
drivers: hwinfo: Exclude NRF53 non-secure from hwinfo driver
boards: Remove "supported: -hwinfo" from all boards
SoC: stm32: Include LL utilities if HWINFO is selected
drivers: hwinfo: Don't disable CLOE on SAM3x seies
SoC: SAM3x and SAM4: Add the Flash Controller to the DT
Andries Kruithof (1):
Bluetooth: controller: split: Fix regression errors
Andrzej Puzdrowski (1):
doc/reference/runtime_conf/settings: reference missing API group
Carles Cufi (1):
Bluetooth: tester: Fix GATT service registration
Christian Taedcke (1):
editorconfig: Set max_line_length to 80
Dag Bjarvin (1):
Bluetooth: controller: Merge 2 lines
Daniel Leung (2):
xtensa: save/restore scompare1 during context switch
soc: mec1501: wait for UART FIFO clear before deep sleep
Dariusz Lisik (1):
tracing: fixes C++ compilation issue
Dominik Ermel (2):
tests/subsys/fs/fat: Incorrect mount path has been tested
subsys/mgmt: Fix incorrect buffer space check
Erwan Gouriou (1):
doc: Update shields section in V2.2 release note
Francois Ramu (4):
driver: watchdog: stm32 install watchdog
driver: clock: stm32: boost voltage when clock exceeds 150MHz
driver: clock: stm32: boost voltage when clock exceeds 80MHz
west.yml: update hal stm32g4xx and stm32l4R/stm32l4S modules
Gerard Marull-Paretas (1):
lib/timeutil: add missing header required for s64_t
Ioannis Glaropoulos (1):
tests: arch: arm_thread_swap: test FPSCR preservation in FP_SHARING
Jennifer Williams (1):
samples: subsys: nvs: unchecked return values CID#203537
Joakim Andersson (3):
Bluetooth: shell: Update help text of `bt init` command
Bluetooth: tests: shell: Remove config not supported on native_posix
Bluetooth: tests: shell: Add missing dependency in mesh.conf
Johan Hedberg (1):
release: Zephyr 2.2.0-rc3
Jukka Rissanen (1):
doc: release notes: Add information about GSM modem
Luiz Augusto von Dentz (1):
Bluetooth: GATT: Fix not clearing CF_OUT_OF_SYNC
Luuk Bosma (2):
arch: arm: aarch32: clear CPACR for every CPU that has a FPU
arch: arm: aarch32: clear CONTROL.FPCA for every CPU that has a FPU
Martí Bolívar (7):
doc: west: add examples for each topology
doc: west: update structure page
doc: west: 'west installation' is now 'west workspace'
doc: dts/macros.rst: "clocks" macro fixes
scripts: run_common: rename unknown_args to user_runner_args
scripts: run_common: rename 'args' to 'user_args'
scripts: run_common: fix command line --hex-file and friends
Morten Priess (1):
Bluetooth: controller: Prevent LLCP handling of must-expire events
Ravi kumar Veeramally (2):
net: ipv4: Fix parsing of IPv4 header options
tests: net: Add wrong options length case
Rubin Gerritsen (1):
bluetooth: Fix wrong warning text for unsupported Zephyr HCI commands
Stephanos Ioannidis (1):
boards: qemu_cortex_r5: Add board documentation
Tobias Svehagen (2):
Bluetooth: Mesh: Fix bug with storing node in CDB
Bluetooth: Mesh: Fix handling of app index and local device key
Trond Einar Snekvik (1):
Bluetooth: Mesh: Group resends in proxy nodes
Vinayak Kariappa Chettimada (5):
Bluetooth: controller: legacy: Fix Tx pool corruption
Bluetooth: controller: legacy: Fix assert on DLE procedure stall
Bluetooth: controller: Add Kconfig for Optimize for Speed
tests: Bluetooth: shell: Fix conditional compile error
Bluetooth: controller: legacy: Fix cond. compile error
Wolfgang Puffitsch (1):
manifest: EDTT: update manifest to point to new revision in EDTT