Releases: zephyrproject-rtos/zephyr
Zephyr v2.0.0-rc2
Aaron Tsui (7):
doc: sample: mpu Update documentation
samples: bluetooth: ibeacon: change to ADV_NONCONN_IND type
samples: shields: x_nucleo_iks01a1
samples: sensor: bme280: add README.rst
samples: sensor: bme280: add arduino_101_sss.overlay
samples: servo_motor: add HW PWM choice for NRF52 family
samples: bluetooth: peripheral_ht: Health Thermometer sample
Alberto Escolar Piedras (27):
doc: labels: Add links to feature process
native_posix: cmdline: Hint user about wrong options
nrf52_bsim: Add header to allow reusing native_posix drivers
CODEOWNERS: remove use of commas
native_posix: Run in real time by default with host BT
doc: Remove API labels
CODEOWNERS: Add reviewer for native_posix docs and flash driver
CODEOWNERS: Clarify behaviour
sanitycheck: Record time used in BinaryHandler
sanitycheck: Minor optimization in BinaryHandler
CODEWONERS: syntax fix: Remove comma
nrf52_bsim: Add nrfx path to include path
arch: POSIX: Do not assume 32bit pointers
sanitycheck: update sections whitelist
sanitycheck: Add missing section to whitelist
native_posix: Replace system timer driver
arch: POSIX: Fix race with unused threads
nrf52_bsim: doc: Clarify how to fetch and compile BabbleSim
native_posix: Fix undefined macro warning
logging: Fix undefined macro warning
shell: Fix undefined macro warnings
nrf52_bsim: Minor fix in time coversion
POSIX arch: Fixe issues related to extern "C"
nrf52_bsim: Add missing header guard and extern C block
native_posix: Move include out of extern "C" block
doc: Add native_posix information to 2.0 release note
native_posix: Check pointer before de-referencing it
Alex Porosanu (1):
soc: riscv32: fix zero-riscy zephyr,flash node
Alexander Mihajlovic (1):
posix: Fix calculation of clock base in clock_settime
Alexander Svensen (9):
Bluetooth: controller: ull/lll: Workaround CPR procedure collision
Bluetooth: controller: ull/lll: Do not feature exc more than once
Bluetooth: controller: split: Fix Conn Param Req procedure stall issue
Bluetooth: controller: split: Fix master role RSSI measurement
Bluetooth: controller: split: Refactor the lll_clock_wait() function
Bluetooth: controller: split: Refactor if_defines to is_enabled in lll.c
Bluetooth: controller: split: Refactor if defines in lll_adv.c
Bluetooth: controller: split: Refactor if defines in lll_scan.c
Drivers: led: lp5562: Add delay when writing to enable register
Alexander Wachter (55):
boards: arm: nucleo_f746zg: Activate CAN on nucleo F746zg
drivers: sensor: ams_iAQcore: Implemented ASM Indoor Air Quality Sensor
samples: sensor: ams_iAQcore: Implement sample for AMS iAQ-core
drivers: sensor: ens210: Implement AMS ens210 Sensor
samples: sensor: ens210: Implement sample for ens210
tests: drivers: build_all: Add AMS IAQcore and ENS210 to build all
CODEOWNERS: Add codeowner for ams iAQcore and ENS210
drivers: can: stm32: fix filter mode set
drivers: can: Extend attach_isr with void *arg and pass to the isr cb
drivers: can: Extend can_send with void *arg and pass it to the isr cb
drivers: can: rework can_attach_msgq
drivers: can: Implement can_attach_workq
tests: drivers: can: api: define DT_CAN_1_NAME if not defined
tests: drivers: can: Add testcases for attach_workq
tests: drivers: can: Make CAN dev global
drivers: can: Add loopback driver
drivers: can: rename drivers to can_<dev name>
drivers: can: mcux_flexcan: Add support for MK64
soc: nxp: k6x: Add CAN support
boards: frdm-k64f: Enable CAN support
samples: CAN: Add FRDM-K64F defconfig
drivers: can: stm32: Remove STM CAN_Init
drivers: can: stm32: Change TX priority to chronological order
drivers: can: stm32 Add error message for buffer overflow
drivers: can: stm32: Update enable driver help message
linker: Add dtcm section for Cortex M7 MCUs
dts: stm32f7: Add Device Tightly Coupled Memory
drivers: ethernet: stm32: Put DMA buffer to DTCM section
boards: arm: Activate DTCM for STM32F7 boards with Ethernet
net: ip: 6lo compression rework
net: ip: net_pkt: Add pkt_cursor_advance before contiguous check
net: ip: 6lo (IPHC) uncompression rework
net: ip: 6lo: Remove unnecessary net_buf allocation and memmove
tests: net: 6lo: Adapt tests to deal with headers in multiple frames
tests: net: 6Lo: Add test criterion HDR diff
drivers: can: Add CAN shell
samples: drivers: CAN: enable can shell for the sample
tests: boards: board_shell: Activate CAN shell
can: Add RX timestamp to zcan_frame
drivers: can: stm32: Implement timestamp for RX frames
net: canbus: Rename canbus to canbus_raw
net: l2: 6LoCAN implementation
net: l2: canbus: Add support for pkt reception from translator
net: ip: net_pkt: Implement net_pkt_shallow_clone
net: ip: ipv6_nbr: take TLLAO length from src lladdres
net: l2: canbus: Add support for canbus Ethernet translator
net: ip: ipv6_nbr: use temp variables for ntoh conversion
samples: net: echo_client and echo_server: Add 6LoCAN config
net: ip: ipv6_nbr: Make LLAO length calculation more universal
drivers: can: mcux: Fix set can_send callbacks
drivers: can: mcux: Fix can_detach
boards: frdm_k64f: Enable pullup for CAN0_RX pin
samples: drivers: CAN: reworked sample code
baords: shields: Add reel_board CANbus shield
tests: drivers: can: Add test for TX callback
Alexandre Bourdiol (4):
boards: Set pinmux.c compilation under switch CONFIG_PINMUX
samples: basic minimal: add nucleo_f429zi, disco_l475_iot1 to whitelist
board: add call to zephyr_library() for stm32mp157c_dk2
board: use ${ZEPHYR_BASE} instead of ${PROJECT_SOURCE_DIR}
Alexey Brodkin (13):
soc/nsim: Minor clean-up
simulation: ARC EM in nSIM to use nsim_em.props
board/nsim: Make it CPU-family independent
board/nsim: Move CPU selection in defconfigs
board/nsim: Refactor device tree description
ARC: Mention ARC EM family instead of EM4 template
arc: Preserve STATUS32 flags while resetting AE flag
arc: Add support for unaligned access
boards/nsim: Enable unaligned data acess for nSIM with simple ARC EM
board/nsim: Add support of ARC HS cores in nSIM
board/nsim: Add support of multi-core ARC HS platform in nSIM
arch: arc: _rirq_exit: Comment clean-up
arch: arc: threads: Comment clean-up
Anas Nashif (210):
ci: only build on specified branches
boards: v2m_musca_b1_nonsecure: add flash to yaml
boards: v2m_musca_b1_nonsecure: disable sanitycheck [REVERT ME]
flash_map: fix test names
flash_map: add function to iterate over areas
flash_map: add shell interface
ci: detect changes to sub-board definitions
sanitycheck: add timestamps to messages
sanitycheck: fix reporting: build vs. run
sanitycheck: handle pid file not being present
sanitycheck: show handler in verbose mode
CODEOWNERS: update code owners
tests: ipm: disable on qemu_x86_64
CODEOWNERS: minor cleanup
CODEOWNERS: remove use of commas
crc: remove deprecated crc headers
ci: send email to builds@ mailing list if master fails
CODEOWNERS: address some unowned files/dirs
doc: guide for optimizing zephyr
doc: move module related doc to guides
doc: document submitting changes to modules
qmsi: move to a zephyr module
qmsi: set type to boolean when selecting QMSI
esp: move HAL to external repo
fatfs: move fatfs filesystem to a module
mcumgr: move to an external module
nffs: move to an external module
segger: move to an external module
CODEOWNERS: remove ext/fs entry
kconfig: enclose module Kconfigs into a menu
cmake: build modules under /modules
gitlint: match max title length restriction with checkpatch
modules: move module kconfig to main tree
manifest: update with module state
silabs: move HAL to external repo
cypress: move HAL to external repo
ext: move libmetal to an external module
ext: move open-amp to an external module
modules: move kconfig into tree
mcumgr: move Kconfig to main tree
CODEOWNERS: Update owners for subsys/mgmt/
manifest: update to latest MCUMGR head
x86: remove unused and x86 only latency benchmark
compiler: no warnings on address-of-packed-member
include: arch: move bits_portable.h to arch/common
include: arch: move addr_types to common location
include: arch: remove empty nios2 asm.h
include: arch: rename xtensa_irq.h to irq.h
CODEOWNERS: update file for include/arch/common/
cmake: no-address-of-packed-member is not supported in older compilers
logging: use os as a domain for low level system debugging
tests: mesh: fix function prototype and match declaration
style: add braces around if/while statements
style: samples/tests: add braces around if/while statements
doc: redirect old board pages to new location
doc: remove .html from redirect entries
doc: generate documentation of ifdef`ed APIs
mbedtls: move to external module
sdk: add support for 0.10.1 and remove 0.9.5
doc: fix path to gdb in documentation
doc: samples: cleanup board reference and layout
samples: grove_light: remove whitelisting
...
Zephyr 1.14.1-rc2
Alberto Escolar Piedras (1):
arch: POSIX: Fix race with unused threads
Alexander Mihajlovic (1):
posix: Fix calculation of clock base in clock_settime
Alexander Wachter (1):
drivers: can: stm32: fix filter mode set
Anas Nashif (6):
ci: only build on specified branches
manifest: add ci-tools
ci: add v1.14-branch to email integration
CODEOWNERS: remove non-existing path
release: bump version to 1.14.1-rc1
release: bump release to 1.14.0-rc2
Andrei Gansari (1):
soc: k64f MPU configured to always allow ENET
Andrew Boie (50):
arc: arm: fix support for MPUs on non-XIP systems
newlib: fix user mode calls to _sbrk
tests: pipe: fix error with optimization disabled
tests: cmsis_v2: don't hard-code stack sizes
lib: cmsis_v2: set default dynamic stack size
lib: cmsis_v2: increase stack sizes if coverage
tests: cmsis_v1: properly set stack size
lib: cmsis_v1: set stack size larger if coverage
kernel: increase workq sizes if COVERAGE=y
testsuite: fix memory access
tests: timer_api: run in user mode
tests: stackprot: don't set main stack size
kernel: adjust default main stack for riscv
kernel: fix k_stack_alloc_init()
tests: mutex_api: run in user mode
kernel: init: exclude some funcs from coverage
kernel: init: fix coverage gap
kernel: init: exclude unreachable code
kernel: allow k_sleep(K_FOREVER)
tests: queue: test k_queue_alloc_*pend()
kernel: idle: exclude no-op funcs from coverage
lib: os: remove dead code
tests: poll: expand userspace coverage
tests: schedule_api: fix extern tstacks
tests: schedule_api: exercise SCHED_MULTIQ
tests: schedule_api: test syscalls from usermode
tests: schedule_api: skip test assert if COVERAGE
tests: userspace: cover missing/bad syscalls
tests: dynamic_thread: cover thread_idx_free()
tests: userspace: cover z_object_recycle()
kernel: exclude stubs from code coverage
tests: common: cover k_cycle_get_32() syscall
tests: device: cover device_get_binding()
tests: thread_apis: exercise some system calls
tests: sys_mutex: improve code coverage
kernel: offsets: exclude from coverage
lib: os: fix vsnprintk coverage
lib: os: exclude z_arch_printk_char_out()
lib: os: fix slist code coverage
kernel: test coverage for sflist
tests: common: add tests for extra sflist APIs
tests: schedule_api: cover priority checks
arc: use different load instruction
kernel: fix CONFIG_THREAD_NAME from user mode.
tests: json: improve code coverage
tests: fatal: test failed assertion
tests: mem_alloc: don't set main thread size
tests: crc: convert to regular test case
toolchain: allow 0.10.1 SDK
tests: force stack canaries off for two user tests
Andrzej Głąbek (2):
boards: nrf52840_pca10059: Configure NFC pins as GPIOs by default
drivers: pwm_nrfx: Correct prescaler value for undivided clock
Andrzej Puzdrowski (7):
fs/nvs: fix startup for 2-sectors configuration
fs/fcb: add API documentation to the header
doc/reference: add FCB page
fs/nvs: fix delete ate accommodation
fs/nvs: fix initialization hang if sector is full
fs/nvs: skip deletion on non existing entry
fs/nvs: preserve the previous ate searching
Andy Ross (1):
lib/os/mempool: Fix corruption case with block splitting
Armando Visconti (2):
boards: 96b_argonkey: upgrade documentation using official info
drivers/i2s_ll_stm32.c: (FIX) Avoid warning in LOG_ERR
Arthur Crepin-Leblond (2):
Bluetooth: gatt: Fix DB corruption when adding/removing service
Bluetooth: gatt: Reuse existing handles from a previously added service
Benjamin Valentin (3):
usb: sam0: Ensure API arguments are valid
usb: sam0: Implement missing API functions
drivers: watchdog: sam0: Check if timeout is valid
Benoit Leforestier (2):
C++: Fix compilation error "invalid conversion"
codeowner: add codeowners for /test/lib
Bradley Bolen (1):
cmake: Fix missing dependency
Brett Witherspoon (1):
net: fix errno returned without promiscuous mode support
Bub Wei (1):
samples: net: zperf: Add __packed for zperf_udp_datagram
Cami Carballo (1):
tests: base64: add tests for error paths
Carles Cufi (4):
west: build: Use officially documented CMake options
west: build: Add new pristine cmd-line and config option
scripts: west: Run pristine.cmake directly instead of the target
doc: west: Backport moving the build config opts doc
Daniel Leung (1):
tests/kernel/device: extends test for code coverage
David B. Kinder (1):
doc: fix watchdog API documentation
Declan Traill (1):
Settings: Fixes for compiler warnings
Derek Hageman (1):
soc: sam0: Fix SAMD20 IRQ assignments
Findlay Feng (1):
bluetooth: Fix an undefined behavior
Georgij Cernysiov (2):
drivers: counter: stm32: fix LSE clock source for not F4 SoC
drivers: rtc: stm32: correct tm_mon conversion
Greg S. Woods (1):
entropy: fix C++ compiler warnings
Henrik Brix Andersen (1):
gpio: rv32m1: enable GPIO port clocks
Ioannis Glaropoulos (4):
arch: arm: fix start of MPU guard in stack-fail check (no user mode)
arch: arm: userspace: correct inline comment for bad syscalls
userspace: minor typo fixes in various places
arch: arm: userspace: don't use the default stack in z_arm_do_syscall
Ioannis Konstantelias (1):
drivers: flash: stm32: Fix insufficient wait time
Joakim Andersson (15):
Bluetooth: controller: Fix assert in RPA timeout for advertiser
Bluetooth: Host: Fix wrong init address when controller resolved address
Bluetooth: Controller: Fix privacy advertiser connect peer address type
Bluetooth: Host: Fix bug in creating connection with wrong own address.
Bluetooth: SMP: Fix SMP identity distributing IRK for ID 0 always
Bluetooth: host: Fix gatt indicate when conn is NULL
Bluetooth: Host: Fix advertiser state flags
Bluetooth: GATT: Fix segfault discover descriptors all UUIDs
Bluetooth: Settings: Fix generated identity not persistently stored.
Bluetooth: SMP: Fix peripheral security request with authenticated keys
Bluetooth: controller: Fix assert in RPA timeout for advertiser
Bluetooth: Host: fix missing interval_min copy
Bluetooth: Host: Fix RPA timer not running
Bluetooth: Host: Set Kconfig RPA timeout in controller
Bluetooth: Host: Fix unable to connect using host resolution
Joao Cordeiro (1):
samples: bluetooth: peripheral: Fix RX buffer size
Johan Hedberg (30):
Bluetooth: Mesh: Fix RPL storage timeout handling
Bluetooth: Mesh: Fix postponing storage deadline indefinitely
Bluetooth: Mesh: Fix missing implementation of Proxy SAR timeout
Bluetooth: Mesh: Fix segmented message RPL behavior
Bluetooth: Fix expiring RPA when different local identities are used
Bluetooth: Add dedicated pool for HCI_Num_Completed_Packets HCI event
Bluetooth: Introduce separate pool for discardable events
Bluetooth: Mesh: Fix missing protocol error timeout
Bluetooth: Mesh: Fix Public Key mismatch error handling
Bluetooth: Mesh: Rename reset_link() to reset_adv_link()
Bluetooth: SMP: Make public key handling more robust
Bluetooth: Fix public key callback management
Bluetooth: Mesh: Generate new public key for each provisioning session
Bluetooth: Mesh: Fix rejecting invalid remote public key
Bluetooth: Mesh: Fix provisioning send error handling
Bluetooth: Mesh: Move heartbeat sending to transport layer
Bluetooth: Mesh: Fix checking for active heartbeat publication
Bluetooth: Mesh: Fix heartbeat sending on Friendship established/lost
Bluetooth: Mesh: Fix canceled buffer memory leak
Bluetooth: Mesh: Fix not sending all segments through the Friend Queue
Bluetooth: Mesh: Fix resending segments on correct bearer
Bluetooth: Mesh: Fix canceling publication retransmission timer
Bluetooth: Mesh: Fix starting IV Update when not on primary subnet
Bluetooth: Mesh: Introduce a helper for send callback finalization
Bluetooth: Mesh: Fix reference count imbalance in bt_mesh_net_resend()
Bluetooth: Remove bogus files
Bluetooth: Mesh: Fix missing call to send_cb_finalize
Bluetooth: Mesh: Remove unused code
Bluetooth: Mesh: Fix adhering to the configured Friend Queue size
Bluetooth: Mesh: Fix discarding messages with many segments
Johann Fischer (2):
boards: reel_board: enable pull-up on UART TX pin
usb: usb_dfu: do not set bwPollTimeout dynamically
Josef Gajdusek (2):
drivers: usb_dc_stm32: Make pin remapping part of the device tree
drivers: usb_dc_stm32: Reinitialize the write semaphores on bus reset
Jukka Rissanen (21):
samples: net: dumb_http_server: Add net_pkt.h file inclusion
samples: net: dumb_http_server: Check EOF while skipping headers
net: ipv4: Allow UDP packets with broadcast dst address
net: ipv4: Send multicast ICMPv4 reply with correct src address
net: if: Select global IPv4 address if needed
net: llmnr: Check that UDP header can be accessed
net: if: Fix null pointer deref when selecting IPv4 address
net: sntp: Ignore return value from close
net: mgmt: Add info length to event wait API
net: mgmt: Send event with info when applicaple
tests: net: mgmt: Verify that info_length is...
Zephyr v2.0.0-rc1
Aaron Tsui (7):
doc: sample: mpu Update documentation
samples: bluetooth: ibeacon: change to ADV_NONCONN_IND type
samples: shields: x_nucleo_iks01a1
samples: sensor: bme280: add README.rst
samples: sensor: bme280: add arduino_101_sss.overlay
samples: servo_motor: add HW PWM choice for NRF52 family
samples: bluetooth: peripheral_ht: Health Thermometer sample`
Alberto Escolar Piedras (22):
doc: labels: Add links to feature process
native_posix: cmdline: Hint user about wrong options
nrf52_bsim: Add header to allow reusing native_posix drivers
CODEOWNERS: remove use of commas
native_posix: Run in real time by default with host BT
doc: Remove API labels
CODEOWNERS: Add reviewer for native_posix docs and flash driver
CODEOWNERS: Clarify behaviour
sanitycheck: Record time used in BinaryHandler
sanitycheck: Minor optimization in BinaryHandler
CODEWONERS: syntax fix: Remove comma
nrf52_bsim: Add nrfx path to include path
arch: POSIX: Do not assume 32bit pointers
sanitycheck: update sections whitelist
sanitycheck: Add missing section to whitelist
native_posix: Replace system timer driver
arch: POSIX: Fix race with unused threads
nrf52_bsim: doc: Clarify how to fetch and compile BabbleSim
native_posix: Fix undefined macro warning
logging: Fix undefined macro warning
shell: Fix undefined macro warnings
nrf52_bsim: Minor fix in time coversion
Alex Porosanu (1):
soc: riscv32: fix zero-riscy zephyr,flash node
Alexander Mihajlovic (1):
posix: Fix calculation of clock base in clock_settime
Alexander Svensen (9):
Bluetooth: controller: ull/lll: Workaround CPR procedure collision
Bluetooth: controller: ull/lll: Do not feature exc more than once
Bluetooth: controller: split: Fix Conn Param Req procedure stall issue
Bluetooth: controller: split: Fix master role RSSI measurement
Bluetooth: controller: split: Refactor the lll_clock_wait() function
Bluetooth: controller: split: Refactor if_defines to is_enabled in lll.c
Bluetooth: controller: split: Refactor if defines in lll_adv.c
Bluetooth: controller: split: Refactor if defines in lll_scan.c
Drivers: led: lp5562: Add delay when writing to enable register
Alexander Wachter (49):
boards: arm: nucleo_f746zg: Activate CAN on nucleo F746zg
drivers: sensor: ams_iAQcore: Implemented ASM Indoor Air Quality Sensor
samples: sensor: ams_iAQcore: Implement sample for AMS iAQ-core
drivers: sensor: ens210: Implement AMS ens210 Sensor
samples: sensor: ens210: Implement sample for ens210
tests: drivers: build_all: Add AMS IAQcore and ENS210 to build all
CODEOWNERS: Add codeowner for ams iAQcore and ENS210
drivers: can: stm32: fix filter mode set
drivers: can: Extend attach_isr with void *arg and pass to the isr cb
drivers: can: Extend can_send with void *arg and pass it to the isr cb
drivers: can: rework can_attach_msgq
drivers: can: Implement can_attach_workq
tests: drivers: can: api: define DT_CAN_1_NAME if not defined
tests: drivers: can: Add testcases for attach_workq
tests: drivers: can: Make CAN dev global
drivers: can: Add loopback driver
drivers: can: rename drivers to can_<dev name>
drivers: can: mcux_flexcan: Add support for MK64
soc: nxp: k6x: Add CAN support
boards: frdm-k64f: Enable CAN support
samples: CAN: Add FRDM-K64F defconfig
drivers: can: stm32: Remove STM CAN_Init
drivers: can: stm32: Change TX priority to chronological order
drivers: can: stm32 Add error message for buffer overflow
drivers: can: stm32: Update enable driver help message
linker: Add dtcm section for Cortex M7 MCUs
dts: stm32f7: Add Device Tightly Coupled Memory
drivers: ethernet: stm32: Put DMA buffer to DTCM section
boards: arm: Activate DTCM for STM32F7 boards with Ethernet
net: ip: 6lo compression rework
net: ip: net_pkt: Add pkt_cursor_advance before contiguous check
net: ip: 6lo (IPHC) uncompression rework
net: ip: 6lo: Remove unnecessary net_buf allocation and memmove
tests: net: 6lo: Adapt tests to deal with headers in multiple frames
tests: net: 6Lo: Add test criterion HDR diff
drivers: can: Add CAN shell
samples: drivers: CAN: enable can shell for the sample
tests: boards: board_shell: Activate CAN shell
can: Add RX timestamp to zcan_frame
drivers: can: stm32: Implement timestamp for RX frames
net: canbus: Rename canbus to canbus_raw
net: l2: 6LoCAN implementation
net: l2: canbus: Add support for pkt reception from translator
net: ip: net_pkt: Implement net_pkt_shallow_clone
net: ip: ipv6_nbr: take TLLAO length from src lladdres
net: l2: canbus: Add support for canbus Ethernet translator
net: ip: ipv6_nbr: use temp variables for ntoh conversion
samples: net: echo_client and echo_server: Add 6LoCAN config
net: ip: ipv6_nbr: Make LLAO length calculation more universal
Alexandre Bourdiol (4):
boards: Set pinmux.c compilation under switch CONFIG_PINMUX
samples: basic minimal: add nucleo_f429zi, disco_l475_iot1 to whitelist
board: add call to zephyr_library() for stm32mp157c_dk2
board: use ${ZEPHYR_BASE} instead of ${PROJECT_SOURCE_DIR}
Alexey Brodkin (11):
soc/nsim: Minor clean-up
simulation: ARC EM in nSIM to use nsim_em.props
board/nsim: Make it CPU-family independent
board/nsim: Move CPU selection in defconfigs
board/nsim: Refactor device tree description
ARC: Mention ARC EM family instead of EM4 template
arc: Preserve STATUS32 flags while resetting AE flag
arc: Add support for unaligned access
boards/nsim: Enable unaligned data acess for nSIM with simple ARC EM
board/nsim: Add support of ARC HS cores in nSIM
board/nsim: Add support of multi-core ARC HS platform in nSIM
Anas Nashif (198):
ci: only build on specified branches
boards: v2m_musca_b1_nonsecure: add flash to yaml
boards: v2m_musca_b1_nonsecure: disable sanitycheck [REVERT ME]
flash_map: fix test names
flash_map: add function to iterate over areas
flash_map: add shell interface
ci: detect changes to sub-board definitions
sanitycheck: add timestamps to messages
sanitycheck: fix reporting: build vs. run
sanitycheck: handle pid file not being present
sanitycheck: show handler in verbose mode
CODEOWNERS: update code owners
tests: ipm: disable on qemu_x86_64
CODEOWNERS: minor cleanup
CODEOWNERS: remove use of commas
crc: remove deprecated crc headers
ci: send email to builds@ mailing list if master fails
CODEOWNERS: address some unowned files/dirs
doc: guide for optimizing zephyr
doc: move module related doc to guides
doc: document submitting changes to modules
qmsi: move to a zephyr module
qmsi: set type to boolean when selecting QMSI
esp: move HAL to external repo
fatfs: move fatfs filesystem to a module
mcumgr: move to an external module
nffs: move to an external module
segger: move to an external module
CODEOWNERS: remove ext/fs entry
kconfig: enclose module Kconfigs into a menu
cmake: build modules under /modules
gitlint: match max title length restriction with checkpatch
modules: move module kconfig to main tree
manifest: update with module state
silabs: move HAL to external repo
cypress: move HAL to external repo
ext: move libmetal to an external module
ext: move open-amp to an external module
modules: move kconfig into tree
mcumgr: move Kconfig to main tree
CODEOWNERS: Update owners for subsys/mgmt/
manifest: update to latest MCUMGR head
x86: remove unused and x86 only latency benchmark
compiler: no warnings on address-of-packed-member
include: arch: move bits_portable.h to arch/common
include: arch: move addr_types to common location
include: arch: remove empty nios2 asm.h
include: arch: rename xtensa_irq.h to irq.h
CODEOWNERS: update file for include/arch/common/
cmake: no-address-of-packed-member is not supported in older compilers
logging: use os as a domain for low level system debugging
tests: mesh: fix function prototype and match declaration
style: add braces around if/while statements
style: samples/tests: add braces around if/while statements
doc: redirect old board pages to new location
doc: remove .html from redirect entries
doc: generate documentation of ifdef`ed APIs
mbedtls: move to external module
sdk: add support for 0.10.1 and remove 0.9.5
doc: fix path to gdb in documentation
doc: samples: cleanup board reference and layout
samples: grove_light: remove whitelisting
soc: nxp: ke1xf: add DTS SPI definitions
samples: spi_fujitsu_fram: remove whitelisting
manifest: order modules alphabetically
manifest: add ci-tools to manifest
manifest: remove out-dated comment
manifest: move net-tools to tools/net-tools
ci: move to new docker with new SDK
ci: skip handling coverage data
sanitycheck: report tests that never build/run
ext: hal: st: move to modules
docs: fix misspelling across the tree
ci: increase sleep time between sanitycheck runs
drivers: uart_console: include correct path
drivers: uart_console: do not include arch/cpu.h directly
drivers: uart_c...
Zephyr v1.14.1-rc1
This is the first release candidate from the 1.14 branch (LTS) with many bug fixes and and test enhancements increasing coverage of testing. Highlights of this release:
- Bluetooth bugfixes needed for host and controller qualification
- Increase coverage of kernel and core OS tests and fixed issues uncovered by the newly added tests
- Various build system enhancements keeping 1.14 compatible with development branch
- Support for out-of-tree configurations
- Fixes for issues uncovered by static analysis
Below is the list of all commits since v1.14.0:
Alexander Mihajlovic (1):
posix: Fix calculation of clock base in clock_settime
Alexander Wachter (1):
drivers: can: stm32: fix filter mode set
Anas Nashif (5):
ci: only build on specified branches
manifest: add ci-tools
ci: add v1.14-branch to email integration
CODEOWNERS: remove non-existing path
release: bump version to 1.14.1-rc1
Andrew Boie (46):
arc: arm: fix support for MPUs on non-XIP systems
newlib: fix user mode calls to _sbrk
tests: pipe: fix error with optimization disabled
tests: cmsis_v2: don't hard-code stack sizes
lib: cmsis_v2: set default dynamic stack size
lib: cmsis_v2: increase stack sizes if coverage
tests: cmsis_v1: properly set stack size
lib: cmsis_v1: set stack size larger if coverage
kernel: increase workq sizes if COVERAGE=y
testsuite: fix memory access
tests: timer_api: run in user mode
tests: stackprot: don't set main stack size
kernel: adjust default main stack for riscv
kernel: fix k_stack_alloc_init()
tests: mutex_api: run in user mode
kernel: init: exclude some funcs from coverage
kernel: init: fix coverage gap
kernel: init: exclude unreachable code
kernel: allow k_sleep(K_FOREVER)
tests: queue: test k_queue_alloc_*pend()
kernel: idle: exclude no-op funcs from coverage
lib: os: remove dead code
tests: poll: expand userspace coverage
tests: schedule_api: fix extern tstacks
tests: schedule_api: exercise SCHED_MULTIQ
tests: schedule_api: test syscalls from usermode
tests: schedule_api: skip test assert if COVERAGE
tests: userspace: cover missing/bad syscalls
tests: dynamic_thread: cover thread_idx_free()
tests: userspace: cover z_object_recycle()
kernel: exclude stubs from code coverage
tests: common: cover k_cycle_get_32() syscall
tests: device: cover device_get_binding()
tests: thread_apis: exercise some system calls
tests: sys_mutex: improve code coverage
kernel: offsets: exclude from coverage
lib: os: fix vsnprintk coverage
lib: os: exclude z_arch_printk_char_out()
lib: os: fix slist code coverage
kernel: test coverage for sflist
tests: common: add tests for extra sflist APIs
tests: schedule_api: cover priority checks
arc: use different load instruction
kernel: fix CONFIG_THREAD_NAME from user mode.
tests: json: improve code coverage
tests: fatal: test failed assertion
Andrzej Głąbek (2):
boards: nrf52840_pca10059: Configure NFC pins as GPIOs by default
drivers: pwm_nrfx: Correct prescaler value for undivided clock
Andrzej Puzdrowski (1):
fs/nvs: fix startup for 2-sectors configuration
Armando Visconti (2):
boards: 96b_argonkey: upgrade documentation using official info
drivers/i2s_ll_stm32.c: (FIX) Avoid warning in LOG_ERR
Benjamin Valentin (3):
usb: sam0: Ensure API arguments are valid
usb: sam0: Implement missing API functions
drivers: watchdog: sam0: Check if timeout is valid
Benoit Leforestier (1):
C++: Fix compilation error "invalid conversion"
Bradley Bolen (1):
cmake: Fix missing dependency
Brett Witherspoon (1):
net: fix errno returned without promiscuous mode support
Bub Wei (1):
samples: net: zperf: Add __packed for zperf_udp_datagram
Carles Cufi (4):
west: build: Use officially documented CMake options
west: build: Add new pristine cmd-line and config option
scripts: west: Run pristine.cmake directly instead of the target
doc: west: Backport moving the build config opts doc
David B. Kinder (1):
doc: fix watchdog API documentation
Derek Hageman (1):
soc: sam0: Fix SAMD20 IRQ assignments
Georgij Cernysiov (2):
drivers: counter: stm32: fix LSE clock source for not F4 SoC
drivers: rtc: stm32: correct tm_mon conversion
Greg S. Woods (1):
entropy: fix C++ compiler warnings
Henrik Brix Andersen (1):
gpio: rv32m1: enable GPIO port clocks
Ioannis Glaropoulos (1):
arch: arm: fix start of MPU guard in stack-fail check (no user mode)
Joao Cordeiro (1):
samples: bluetooth: peripheral: Fix RX buffer size
Johan Hedberg (15):
Bluetooth: Mesh: Fix RPL storage timeout handling
Bluetooth: Mesh: Fix postponing storage deadline indefinitely
Bluetooth: Mesh: Fix missing implementation of Proxy SAR timeout
Bluetooth: Mesh: Fix segmented message RPL behavior
Bluetooth: Fix expiring RPA when different local identities are used
Bluetooth: Add dedicated pool for HCI_Num_Completed_Packets HCI event
Bluetooth: Introduce separate pool for discardable events
Bluetooth: Mesh: Fix missing protocol error timeout
Bluetooth: Mesh: Fix Public Key mismatch error handling
Bluetooth: Mesh: Rename reset_link() to reset_adv_link()
Bluetooth: SMP: Make public key handling more robust
Bluetooth: Fix public key callback management
Bluetooth: Mesh: Generate new public key for each provisioning session
Bluetooth: Mesh: Fix rejecting invalid remote public key
Bluetooth: Mesh: Fix provisioning send error handling
Johann Fischer (2):
boards: reel_board: enable pull-up on UART TX pin
usb: usb_dfu: do not set bwPollTimeout dynamically
Josef Gajdusek (2):
drivers: usb_dc_stm32: Make pin remapping part of the device tree
drivers: usb_dc_stm32: Reinitialize the write semaphores on bus reset
Jukka Rissanen (13):
samples: net: dumb_http_server: Add net_pkt.h file inclusion
samples: net: dumb_http_server: Check EOF while skipping headers
net: ipv4: Allow UDP packets with broadcast dst address
net: ipv4: Send multicast ICMPv4 reply with correct src address
net: if: Select global IPv4 address if needed
net: llmnr: Check that UDP header can be accessed
net: if: Fix null pointer deref when selecting IPv4 address
net: sntp: Ignore return value from close
net: mgmt: Add info length to event wait API
net: mgmt: Send event with info when applicaple
tests: net: mgmt: Verify that info_length is correct
net: dns: Make dns_unpack_answer() to check non-compressed answers
tests: net: dns: Add tests for dns_unpack_answer()
Krzysztof Chruscinski (4):
logging: Allow logger usage in C++ files
lib: os: ring_buffer: Fix C++ compilation warning
drivers: clock_control: nrf: Fix lfclk source settings for nrf9160
drivers: counter: nrfx_rtc: Fix lack of interrupt when CC=0
Kwon Tae-young (1):
boards: stm32f4_disco: Fix yaml ram size
Loic Poulain (2):
ext: mcux: csi: Fix wrong circular queue delta calculation
net: ethernet: Fix build issue with C++
Luiz Augusto von Dentz (5):
Bluetooth: GATT: Fix assuming writes to CCC will always contain 2 bytes
Bluetooth: L2CAP: Fix inverting of SCID and DCID on disconnect
Bluetooth: GATT: Fix bt_gatt_discovery with BT_GATT_DISCOVER_DESCRIPTOR
Bluetooth: shell: gatt: Add discover command
Bluetooth: GATT: Fix not parsing result of Read by Type
Marcin Szymczyk (2):
cmake: fix support for out of tree shields
usb: add zero-length packet after MPS-sized IN transaction
Marek Pieta (2):
bluetooth: Fix bt_conn->id handling
Bluetooth: host: Fix bt_keys_get_addr()
Mariusz Skamra (2):
Bluetooth: controller: Workaround CPR procedure collision at CPU instant
Bluetooth: gatt: Fix infinite read_by_uuid procedure
Marti Bolivar (2):
scripts: flake8 cleanup for west build
scripts: fix pyocd runner --flash-opt help
Michael Scott (1):
net: openthread: fix off-by-one error in settings offset calculation
Nicolas Pitre (1):
PTHREAD_MUTEX_DEFINE(): don't store into the _k_mutex section
Patrik Flykt (3):
net: ethernet: Set NET_ETH_PTYPE_ARP for IPv4 link local packet type
net: ethernet: Send sender IP address in ARP announce packets
net/ip/dhcpv4: Set source IP address in DHCP Request
Pawel Dunaj (2):
bluetooth: host: Use correct identity when direct advertising
bluetooth: host: Unref conn on direct adv start error
Phil Erwin (1):
cmake: Fix missing dependency
Ravi kumar Veeramally (1):
net: sockets: Add timeout to socket connect call
Rich Barlow (1):
Bluetooth: Mesh: LPN: Clear sent_req on failure
Ryan C Johnson (1):
drivers: flash: w25q: erase operations must be erase-size aligned
Ryan QIAN (2):
dts: arm: nxp: Add dtsi for RT1020
boards: arm: mimxrt1020_evk: update board dts
Sebastian Bøe (3):
cmake: Don't have users call zephyr_link_interface on mbedTLS
cmake: DT: Change from -Idts/common to -isystem dts/common
cmake: DT: Add support for out-of-tree binding root directories
Sören Tempel (4):
soc/riscv32-fe310: add label for uart1
net: slip: allow compilation without CONFIG_NET_LLDP
net: slip: fix compilation without NET_L2_ETHERNET
drivers: serial: sifive: Fix UART extern interrupts
Tedd Ho-Jeong An (2):
Blue...
Zephyr 1.14.0
We are pleased to announce the release of Zephyr kernel version 1.14.0.
Major enhancements with this release include:
-
The Zephyr project now supports over 160 different board configurations
spanning 8 architectures. All architectures are rigorously tested and
validated using one of the many simulation platforms supported by the
project: QEMU, Renode, ARC Simulator, and the native POSIX configuration. -
The timing subsystem has been reworked and reimplemented, greatly
simplifying the resulting drivers, removing thousands of lines
of code, and reducing a typical kernel build size by hundreds of bytes.
TICKLESS_KERNEL mode is now the default on all architectures. -
The Symmetric Multi-Processing (SMP) subsystem continues to evolve
with the addition of a new CPU affinity API that can "pin" threads to
specific cores or sets of cores. The core kernel no longer uses the
global irq_lock on SMP systems, and exclusively uses the spinlock API
(which on uniprocessor systems reduces to the same code). -
Zephyr now has support for the x86_64 architecture. It is currently
implemented only for QEMU targets, supports arbitrary numbers of CPUs,
and runs in SMP mode by default, our first platform to do so. -
We've overhauled the Network packet net-pkt
API and moved the majority of components and protocols to use the
BSD socket API, including MQTT, CoAP,
LWM2M, and SNTP. -
We enhanced the native POSIX port by adding UART, USB, and display
drivers. Based on this port, we added a simulated NRF52832 SoC which enables
running full system, multi-node simulations, without the need of real
hardware. -
We added an experimental BLE split software Controller with Upper Link Layer
and Lower Link Layer for supporting multiple BLE radio hardware
architectures. -
The power management subsystem has been overhauled to support device idle
power management and move most of the power management logic from the
application back to the BSP. -
We introduced major updates and an overhaul to both the logging and
shell subsystems, supporting multiple back-ends, integration
of logging into the shell, and delayed log processing. -
Introduced the
west
tool for management of multiple repositories and
enhanced support for flashing and debugging. -
Added support for application user mode, application memory
partitions, and hardware stack protection in ARMv8m -
Applied MISRA-C code guideline on the kernel and core components of Zephyr.
MISRA-C is a well established code guideline focused on embedded systems and
aims to improve code safety, security and portability.
The following sections provide detailed lists of changes by component.
Security Vulnerability Related
The following security vulnerabilities (CVEs) were addressed in this release:
-
Tinycrypt HMAC-PRNG implementation doesn't take the HMAC state
clearing into account as it performs the HMAC operations, thereby using a
incorrect HMAC key for some of the HMAC operations.
(CVE-2017-14200) -
The shell DNS command can cause unpredictable results due to misuse of stack
variables.
(CVE-2017-14201) -
The shell implementation does not protect against buffer overruns resulting
in unpredictable behavior.
(CVE-2017-14202) -
We introduced Kernel Page Table Isolation, a technique for
mitigating the Meltdown security vulnerability on x86 systems. This
technique helps isolate user and kernel space memory by ensuring
non-essential kernel pages are unmapped in the page tables when the CPU
is running in the least privileged user mode, Ring 3. This is the
fix for Rogue Data Cache Load. (CVE-2017-5754) -
We also addressed these CVEs for the x86 port:
- Bounds Check Bypass (CVE-2017-5753)
- Branch Target Injection (CVE-2017-5715)
- Speculative Store Bypass (CVE-2018-3639)
- L1 Terminal Fault (CVE-2018-3620)
- Lazy FP State Restore (CVE-2018-3665)
Kernel
-
The timing subsystem has been reworked and mostly replaced:
-
The timer driver API has been extensively reworked, greatly
simplifying the resulting drivers. By removing thousands of lines
of code, we reduced the size of a typical kernel build by hundreds
of bytes. -
TICKLESS_KERNEL mode is now the default on all architectures. Many
bugs were fixed in this support.
-
-
Lots of work on the rapidly-evolving SMP subsystem:
-
There is a new CPU affinity API available to "pin" threads to
specific cores or sets of cores. -
The core kernel is now 100% free of use of the global irq_lock on
SMP systems, and exclusively uses the spinlock API (which on
uniprocessor systems reduces to the same code). -
Zephyr now has a simple interprocessor interrupt framework for
applications, such as the scheduler, to use for synchronously
notifying other processors of state changes. It's currently implemented
only on x86_64 and used only for thread abort.
-
-
Zephyr now has support for the x86_64 architecture. It is
currently implemented only for QEMU targets.-
It supports arbitrary numbers of CPUs in SMP, and runs in SMP mode
by default, our first platform to do so. -
It currently runs code built for the "x32" ABI, which is a native
64-bit hardware state, where pointers are 32 bit in memory.
Zephyr still has some lurking word size bugs that will need to be
fixed to turn on native 64 bit code generation.
-
-
K_THREAD_STACK_BUFFER() has been demoted to a private API and will be removed
in a future Zephyr release. -
A new API sys_mutex has been introduced. It has the same semantics
as a k_mutex, but the memory for it can reside in user memory and so
no explicit permission management is required. -
sys_mem_pool() now uses a sys_mutex() for concurrency control.
-
Memory protection changes:
- CONFIG_APPLICATION_MEMORY option has been removed from Zephyr. All test
cases have been appropriately converted to use memory domains. - The build time memory domain partition generation mechanism, formerly
an optional feature under CONFIG_APP_SHARED_MEM, has been overhauled
and is now a core part of memory protection. - Userspace is no longer enabled by default for tests. Tests that are
written to execute wholly or in part in user mode will need to enable
CONFIG_TEST_USERSPACE in the test's project configuration. There are
assertions in place to enforce that this is done. - The default stack size for handling system calls has been increased to
1024 bytes.
- CONFIG_APPLICATION_MEMORY option has been removed from Zephyr. All test
-
We started applying MISRA-C (https://www.misra.org.uk/) code guideline on
the Zephyr kernel. MISRA-C is a well established code guideline focused on
embedded systems and aims to improve code safety, security, and portability.
This initial effort was narrowed to the Zephyr kernel and architecture
code, and focused only on mandatory and required rules. The following rules
were addressed:- Namespace changes
- Normalize switch() operators
- Avoid implicit conversion to boolean types
- Fix and normalize headers guard
- Make if() evaluate boolean operands
- Remove all VLAs (variable length array)
- Avoid undefined and implementation defined behavior with shift operator
- Remove recursions
Architectures
-
Introduced X86_64 (64 bit) architecture support with SMP features
-
High-level Kconfig symbol structure for Trusted Execution
-
ARM:
- Re-architect Memory Protection code for ARM and NXP
- Fully support application user mode, memory partitions, and
stack protection in ARMv8m - Support built-in stack overflow protection in user mode in ARMv8m
- Fix stack overflow error reporting
- Support executing from SRAM in XIP builds
- Support non-cacheable memory sections
- Remove power-of-two align and size requirement for ARMv8-m
- Introduce sync barriers in ARM-specific IRQ lock/unlock functions
- Enforce double-word stack alignment on exception entry
- API to allow Non-Secure FPU Access (ARMv8-M)
- Various enhancements in ARM system boot code
- Indicate Secure domain fault in Non-Secure fault exception
- Update ARM CMSIS headers to version 5.4.0
-
ARC:
- Userspace and MPU driver improvements
- Optimization of the thread stack definition macros
- Bug fixes: handling of lp_xxx registers in _rirq_return_from_coop, nested
interrupt handling, hardware stack bounds checking, execution benchmarking - Atomic operations are now usable from user mode on all ARC CPUs
-
x86:
- Support for non-PAE page tables has been dropped.
- Fixed various security CVEs related to micro-architecture side-effects of
speculative execution, as detailed in the security notes. - Added robustness when reporting exceptions generated due to stack
overflows or induced in user mode - Pages containing read-only data no longer have the execute disable (XD)
bit un-set. - Fix potential IRQ stack corruption when handling double faults
Boards & SoC Support
-
Added the all new NRF52 simulated board:
This simulator models some of the hardware in an NRF52832 SOC, to enable
running full system, multi-node simulations, without the need of real
hardware. It enables fast, reproducible testing, development, and debugging
of an application, BlueTooth (BT) stack, and kernel. It relies on BabbleSim
to simulate the radio physical layer. -
Added SoC configuration for nRF9160 and Musca ARM Cortex-M33 CPU
-
Added support for the following A...
Zephyr 1.14.0-rc3
Aaron Tsui (4):
samples: basic: disco_led without gpio driver
boards: nucleo_f746zg: Remove repetitive yaml line
samples: sensor: fix hardware fault when no sensor connected
tests: watchdog: Debug for boards enabled TEST_WDT_CALLBACK_2
Alberto Escolar Piedras (4):
doc: Bluetooth: Expand BabbleSim section
doc: application: Correct note about external modules
doc: Bluetooth: Correct how to run native_posix
arch: POSIX: Add Kconfig option to stop on all faults
Anas Nashif (6):
doc: remove note about calling recheck in CI
modules: remove tinycbor from ext/ and use west module feature
doc: move usermode under references
kernel: do not use k_busy_wait when on single thread
tests: no-multithreading: do not report success twice
CODEOWNERS: add owner for /dts/bindings/
Andrei Emeltchenko (14):
usb: netusb: Cleanup USB Ethernet networking
usb: netusb: rndis: Add check for large packets
usb: netusb: ecm: Use NET_ETH_MAX_FRAME_SIZE as frame size
usb: netusb: ecm: Add check for large packets
usb: netusb: eem: Use NET_ETH_MAX_FRAME_SIZE as frame size
usb: netusb: eem: Add check for large packets
usb: netusb: rndis: Fix maximum RNDIS frame size
usb: netusb: rndis: Remove old unused code
usb: netusb: ecm: Print packet hexdump only for VERBOSE_DEBUG
usb: cdc_acm: Make parameters boolean
usb: cdc_acm: Use ringbuf for RX path
samples: usb: cdc_acm_composite: Fix missing irq handling
usb: cdc_acm: Make ring buffer size configurable
samples: usb: console: Select console device name
Andrei Gansari (1):
arch: arm: fix thread's FPU initialization
Andrew Boie (12):
kernel: fix atomic ops in user mode on some arches
samples: bmg169: don't enable CONFIG_LOG
userspace: renamespace some internal macros
userspace: properly namespace handler functions
arc: fix build error when MPU guards are enabled
arm: remove duplicate stack macro docs
kernel: add K_THREAD_STACK_RESERVED
kernel: fix stack size check in k_thread_create
kernel: amend comment in k_thread_create handler
arc: fix off-by-one in mpu_buffer_validate()
ARM: fix wrong stack bounds stored in thread
elf_helper: fix debug_die call
Andrzej Głąbek (4):
CODEOWNERS: Set @nordic-krch as the codeowner of the counter driver
boards: nrf9160_pca10090: Fix LEDs active state
boards: Enable GPIO by default on boards with nRF SoCs
boards: nrf52840_pca10090: Force GPIO to be always enabled
Andrzej Puzdrowski (3):
zephyr: fix mcuboot can't link into boot-partition
storage/flash_map: API for get driver belongs to the flash_area.
settings: remove dead code
Andy Ross (7):
tests/kernel/fifo/fifo_usage: Disable SMP
kernel/sched: Flag DEAD on correct thread in cross-CPU abort
tests: More SMP disablement
kernel/sched: Rework prio validity assertion
kernel/sched: Mark sleeping threads suspended
tests/kernel/smp: Give time for a wakeup to take effect
tests: samples: Re-enable SMP on a few tests
Armando Visconti (2):
dma: stm32f4: Add support for dma_reload API specific implementation
drivers/i2s_ll_stm32.c: (FIX) use dma_reload() to re-start the DMA
Arun Joshi (1):
host-tools.cmake: Corrected sdk download url
Aurelien Jarno (1):
drivers: hwinfo: add driver support for Atmel SAM device ID
Benjamin Valentin (2):
drivers: spi: sam/sam0: Don't claim support for async transfers
drivers: spi: sam/sam0: Don't access uninitialized data
Carles Cufi (4):
boards: nrf: Add bt-mon-uart to all nRF-based boards
doc: Bluetooth: Document the debug monitor and btmon in general
Bluetooth: shell: Add missing include path
logging: Clarify contract of log_output_func_t
Charles E. Youse (4):
boards/x86: add ACRN UOS sample board configuration
kernel/msg_q: reorder _K_MSGQ_INITIALIZER() initializers
net/ip: fix input packet filtering criteria
drivers/pci: stop using LOG_DBG()
Cinly Ooi (1):
samples: watchdog: Confirm that reset occured
Daniel Leung (6):
tests: kernel/smp: fixed missing 'z_' renaming
tests: kernel/smp: whitelist qemu_x86_64 for testing
adc: quark_d2000: fix sampling conversion
adc: overhaul adc_dw and rename it to adc_intel_quark_se_c1000_ss
codecov: avoid inlining functions for correct execution counts
kernel/mutex: remove object monitoring empty loop macros
David B. Kinder (2):
doc: fix ACRN board list format
doc: fix misspelling in docs and API comments
David Brown (1):
kernel: Clarify warning about no multithreading
Emanuele Di Santo (1):
boards: arm: nrf52840_pca10059: correctly set FLASH_LOAD_OFFSET
Erwan Gouriou (6):
boards: stm32f4_disco: Update openocd config
dts: stm32: Fix erroneous RAM sizes when CCM is available
boards: stm32: Enable CCM and update yaml
Bluetooth: Mesh: Increase advertising thread stack size
driver/counter: rtc_stm32: Incorrect time_t offset
samples/drivers/counter: alarm: fix printk usage
Filip Kubicz (2):
settings: logging: Add log_strdup to error messages
USB: Fix warning in DFU class
Flavio Ceolin (24):
samples: ipc: openamp: Avoid dead code
samples: 96_argonkey: sensors: Check function return
lib: posix: fs: Fix access invalid memory
tests: mbox: Check k_mbox_get return
drivers: counter: stm32: Fix possible overflow
arch: Use macro BIT for shift operations
kernel: Use macro BIT for shift operations
include: Use macro BIT for shift operations
arch: x86: Use proper essential types in operands
kernel: Make _is_thread_prevented_from_running return a bool
include: Make statements evaluate boolean expressions
kernel: Make statements evaluate boolean expressions
arch: arm: Use proper essential types in operands
include: Add U for unsigned constants
arch: Use macro BIT for shift operations
lib: rb: Make operands have an appropriate essential type
spinlock: Change function signature to return bool
include: Make statements evaluate boolean expressions
lib: crc16_sw: Add missing U to unsigned constants
arch: x86: Add missing U for unsigned constants
kernel: Make if/iteration evaluate boolean operands
lib: printk: Make if/iterations evaluate boolean operands
include: Add missing U for unsigned constants
include: i2c: Add U to unsigned constants
Florian Vaussard (1):
flash: stm32l4: disable dcache before writting
Ioannis Glaropoulos (10):
arch: arm: introduce barriers when disabling interrupts
arch: arm: add explanatory comment in __swap()
CODEOWNERS: add code-owner for cortex-m/cmse module
arch: arm: mpu: improve documentation of ARMv8-M _mpu_buffer_validate
arch: arm: mpu: fix _mpu_buffer_validate() implementation
arch: arm: mpu: fix a loop index start value
arch: arm: mpu: fix variable type
arch: arm: no special case for MPUs with power-of-2-align requirement
doc: kernel: float: several content fixes
doc: kernel: float: fix ARM-specific content
Jakub Rzeszutko (5):
shell: unify bt commands return value
shell: removed dead code in bt command
shell: fix command bt scan
shell: fix coverity issue in uart backend
dts: update mermory regions for nrf chips
Joakim Andersson (5):
Bluetooth: controller: Fix bug in LL encryption.
Bluetooth: controller: Fix transaction collision
Bluetooth: controller: Fix PHY bits sets with PHY disabled
Bluetooth: controller: Fix scanner memory corruption
Bluetooth: controller: Fix unknown rsp received during enc procedure
Johan Hedberg (22):
samples: bluetooth/mesh_demo: Fix using internal API
doc: networking: buf: Add mentions of net_buf_add_mem & net_buf_pull_mem
samples: bluetooth/mesh: Fix configuration
Bluetooth: controller: Convert benign BT_WARN() messages to BT_DBG()
Bluetooth: Fix missing return statement in le_conn_param_req()
Bluetooth: Mesh: Clean up logging related to settings storage
Bluetooth: Mesh: Fix clearing model subscription list
Bluetooth: Mesh: Fix clearing model binding and subscriptions
settings: Enforce value & length consistency in settings_save_one()
settings: Fix check for duplicate when new value is smaller
Bluetooth: Fix init procedure handling with BT_SETTINGS
Bluetooth: Fix missing checks for the BT_DEV_READY flag
Bluetooth: Use bt_addr_le_copy() instead of direct assignment
Bluetooth: GATT: Fix attribute read return parameter type
Bluetooth: Remove unused ID_SIZE_MAX macro
Bluetooth: Clean up settings related code
Bluetooth: Mesh: Take advantage of settings_delete() when possible
samples: reel_board/mesh_badge: Fix IV Index type
Bluetooth: Mesh: Fix gen_prov struct definition
Bluetooth: Mesh: Fix re-initializing provisioning state upon reset
Bluetooth: Mesh: Fix disconnecting existing provisioning bearers
Bluetooth: Mesh: Remove redundant LOCAL_PUB_KEY flag
Jukka Rissanen (18):
samples: net: promisc: Add sample.yaml file for build time checks
samples: net: promisc: Fix compile error
net: if: Init cursor for promiscuous mode after L2
log: net: Fix the immediate logging mode in network backend
net: context: Check if we run out of mem
samples: net: dhcpv4: Add net-shell and e1000 driver support
net: gptp: Fix bit shifting in time inter...
Zephyr 1.14.0-rc2
Aaron Tsui (1):
samples: threads: Fix ASSERTION FAIL without gpio driver
Adithya Baglody (3):
doc: gcov: Added documentation for code coverage.
arch: arm: arm_core_mpu: Fixed the build when coverage was enabled.
tests: benchmarks: timing_info: Print all measurements.
Alberto Escolar Piedras (7):
test: Kconfig: Correct HAS_COVERAGE_SUPPORT description
tracing: Add missing isr_exit() for posix arch boards
tracing: POSIX arch: Remove redundant trace call
tracing: POSIX arch: Trace switch to main thread
doc: Add more coverage documentation
uart: native_posix: Check fcntl() return value
uart: native_posix: Fix out of bounds access
Alexander Svensen (1):
Bluetooth: controller: refactored llcp_req/ack test to helper function
Alexander Wachter (12):
drivers: can: stm32_can rework
tests: drivers: Add basic tests for CAN driver
tests: drivers: Add aditional tests for stm32 CAN driver
drivers: can: Update userspace handlers
CODEOWNERS: CAN ownership
CODEOWNERS: Add hwinfo ownership
include: can: Fix positive and overlapping error numbers
drivers: can: Make zcan_frame const for sending
drivers: can: Fix userspace handler parameter types
drivers: can: stm32_can: Fix shifting zero width or out of bounds
drivers: hwinfo: change stm32 device id driver from HAL to LL
tests: drivers: build_all: add CAN to the build tests
Anas Nashif (34):
tests: adc: reduce footprint by tweaking logging
sanitycheck: do no overide OVERLAY_CONFIG
dfu: mcuboot: rename boot_swap_type> mcuboot_swap_type
posix: rename priority in sched_param struct
ci: Use latest docker image: 0.6.1
CODEOWNERS: cleanup owners
CODEOWNERS: fix path and remove outdated
CODEOWNERS: prepend / to all entries
CODEOWNERS: fix syntax for directories
intel_s1000_crb: do not enable USB by default
doc: Rework Development Process section
tests: move testsuite and configs into subsys/
boards: udoo_neo_full_m4: not a default testing platform
tests: crypto: increase timeout
tests: stacks: increase STACK_LEN to 4
Revert "tests: posix: add newlib cfg option"
compiler: add xcc as a standalone compiler
libc: do not enable newlib on x86_64
toolchain: abstract setting -nostdinc
CODEOWNERS: update owners and added xcc/s1000 related lines
toolchain: Do not hardcode where the toolchain was installed
doc: update xcc installation instructions
arch: move common app_data_alignment.ld file
doc: remove CONFIG_UART_QMSI_1_BAUDRATE from doc
sanitycheck: handle serial exception
samples: define harness for samples
logging: add backend for xtensa simulator
ci: add option to specify custom range
sanitycheck: fixed handling of retries
mbedtls: enable self-test in config-tls-generic.h
tests: mbedtls: report results once only
libc: minimal: add prototype of rand()
Revert "net: sockets: recv_stream: Check that the underlying net_context active"
arch: remove unused arch defconfig
Andrei Emeltchenko (14):
tests: usb: Use UTIL_LISTIFY macros
usb: dfu: Fix missing break in case statement
dts: usbserial: Fix USB serial console device name
net: lldp: Move LLDP structure definition to lldp
net: lldp: Add optional TLV API
samples: net: lldp: Set optional TLV system_name
net: lldp: Move optional End TLV to send function
usb: dc: native_posix: Fix Coverity bug
usb: netusb: eem: Use sys_get_le16() helper
usb: netusb: ecm: Remove forward declaration
usb: netusb: rndis: Cleanup code
usb: rndis: Use usb_transfer() for data transfer
usb: netusb: Remove unused helpers and cleanup
net: ethernet: Define and use Ethernet frame and datagram size
Andrew Boie (56):
x86: clear EFLAGS on double fault
x86: add Kconfig for KPTI
x86: set up shared kernel page
x86: modify MMU APIs for multiple page tables
x86: generate user mode page tables
x86: implement interrupt stack trampoline
build: remove meltdown warning
x86: fix crash in _arch_buffer_validate
x86: improve stack overflow detection
tests: fatal: refactor and add user mode tests
x86: get oops reason code more robustly
x86: fix exception stack pointer reporting
x86: fix ROM permissions
userspace: increase gperf text areas
gen_mmu_x86: fix overlapping region detection
app_shmem: include stub macro definitions
app_shmem: create generic libc partition
kernel: add stack canary to libc partition
tests: stackprot: run in user mode
uart: ns16550: place header in correct spot
userspace: remove APP_SHARED_MEM Kconfig
x86: relocate some arch-specific scripts
x86: gen_gdt.py: expand doctsring
x86: gen_mmu_x86.py: simplify usage
x86: gen_mmu_x86: add docstring and copyright
x86: gen_idt.py: add docstring
kernel: syscall_handler: get rid of stdarg
libc: fix CONFIG_STDOUT_CONSOLE semantics
x86: fix page directory out of bounds
kernel: move CONFIG_RETPOLINE definition
x86: don't default to 'y' for spectre configs
x86: fix SSBD feature bit
x86: enable Extended IBRS
x86: mitigate L1 Terminal Fault vulnerability
x86: fix pte corruption when setting large regions
userspace: fix x86 issue with adding partitions
tests: userspace: add some more scenarios
tests: userspace: remove unused partition
userspace: clarify memory domain assertions
userspace: get rid of app section placeholders
userspace: zero app memory bss earlier
mbedtls: provide user mode access
userspace: properly namespace linker vars
tests: jwt: lower heap size
drivers: can: fix multiple issues
x86: organize vulnerability ontology
kernel: add config for Spectre V1 mitigation
kernel: add k_array_index_sanitize()
x86: fix Spectre V1 index checks
lib: fdtable: safely bounds check file descriptors
gpio_intel_apl: bounds sanitize pins
x86: implement eager FP save/restore
userspace: add additional script documentation
qemu_x86_iamcu: disable spec execution mitigations
userspace: don't modify optimization options
shell: fix build failure
Andrzej Głąbek (15):
settings: Fix default value of flash area ID in Kconfig
boards: nrf: Enable HW PWMs on nrf52832_mdk and nrf52840_mdk
ext: hal: nordic: Update nrfx to version 1.6.2
soc: nrf52810: Allow the use of SPI0, TWI0, and UART0
boards: nrf52810_pca10040: Override delay loop cycles
drivers: spi: nrfx: Add support for SPIS3
ext: nordic: Add NRF_SPIS[0-3] definitions to nrfx_config_nrf9160.h
ext: nordic: Add missing NRFX_UARTE[2,3] Kconfig options
drivers: nrfx: Add Kconfig checks for mutually exclusive peripherals
drivers: spi: nrfx: Improve a few Kconfig option prompts
boards: 96b_nitrogen: Enable by default SPI_1 instead of SPI_0
boards: nrf: Correct I2C and SPI instances enabled by default in dts
ext: nordic: Update nrfx_config_nrf52810.h entries
ext: nordic: Unify NRFX_UART[E]* options handling in nrfx_config*.h
ext: nordic: Unify NRFX_RTC* options handling in nrfx_config*.h
Andrzej Puzdrowski (10):
settings: fix read-out more than stored bug.
sample/subsys/usb/dfu: correction to documentation
tests/subsys/settings: fcb unaligned value test
settings: get flash alignment from fcb instance
settings: fix fcb record size for unaligned sizes
settings: fix base64 encode test
settings: always uses the storage partition for FCB
CODEOWNERS: Add owners for tests of settings subsystems
tests/subsys/fs/nffs_fs_api: build ram back-end only for qemu_x86
settings: enable logging
Andy Gross (1):
uart: pl011: Use correct masking for ICR
Andy Ross (38):
samples/drivers/counter/alarm: Fix YAML schema failure
kernel/work_q: Fix block-in-spinlock bug
kernel/sched: More nonatomic swap fixes
tests: Mass SMP disablement on non-SMP-safe tests
kernel/spinlock: Predicate spinlock validation on flash size
lib/os: Conditionally eliminate alloca/VLA usage
lib/os: Remove recursion from mempool and rbtree
tests: Mass SMP disablement on non-SMP-safe tests
tests/kernel/sched/schedule_api: Restore spinning for timer alignment
tests: Mass SMP disablement on non-SMP-safe tests
drivers/timer: Restore non-tickless tick count behavior
tests/kernel/fifo/fifo_timeout: Tick alignment for oversensitive timing
include/kernel.h: Remove unsupported return values from k_work APIs
arch/x86_64: Non-kconfig symbols shouldn't look like kconfig
kernel/work_q: Clarify docs for k_delayed_work_cancel()
kernel/work_q: Fix locking across multiple queues
arch/x86_64: Fix printf format string
arch/x86_64: Clean up stack initialization
drivers/timer/hpet: Add noop SMP initialization function
cmake/emu: Add qemu SMP flags automatically
arch/x86_64: Add a per-CPU SMP bringup API
kernel/smp: Warning cleanup
kernel/sched: Handle aboring _current correctly in SMP
x86_64: Missing a volatile on a struct used for spinning
kernel/smp: Fix bitrot with the way the SMP "start flag" works
kernel/sched: arch/x86_64: Support synchronous k_thread_abort() in SMP
kernel/sched: Clean up tracing hooks
tests/kernel/smp: Honor TEST_EXTRA_STACKSIZE
kernel/spinlock: Fix race in spinlo...
Zephyr 1.14.0-rc1
AJ Palmer (16):
boards: arm: nucleo_f746zg: Created new board
boards: arm: nucleo_f746zg: Added ethernet support
boards: arm: nucleo_f746zg: Added USB support
boards: arm: nucleo_f746zg: Added I2C support
boards: arm: nucleo_f746zg: Added PWM support
boards: arm: nucleo_f746zg: Added SPI support
stm32: drivers: spi: Added missing devices
stm32: dts: f7: added i2c4 node
docs: spi.h: removed dev doxygen comment from struct spi_config
boards: arm: nucleo_f746zg: Highlight possible pin conflict
boards: arm: nucleo_f756zg: Created new board and soc definition
boards: arm: nucleo_f756zg: Added ethernet support
boards: arm: nucleo_f756zg: Added USB support
boards: arm: nucleo_f756zg: Added I2C support
boards: arm: nucleo_f756zg: Added PWM support
boards: arm: nucleo_f756zg: Added SPI support
Adithya Baglody (67):
CMakeLists.txt: Set application shared memory dependency
Bluetooth: Mesh: Enforce proper compilation.
subsys: app_memory: Fixed the size calculation for power of 2 MPUs
CMakeLists.txt: Updated the rule for shared memory alignment.
tests: userspace: Update the required stack size for mps2_an385
soc: mps2_an385: Added support for MPU
drivers: timers: systick: Enforce a barrier in _timer_cycle_get_32.
soc: mps2_an385: Enable Memory Protection unit.
boards: mps2_an385: Enable userspace for MPS2_AN385.
tests: kernel: pipe : Update the stack size.
tests: mem_protect: mem_protect: Update the stack size.
tests: userspace: Incorrect location to the privileged stack.
tests: benchmarks: sys_kernel: Reduce the number of loops.
include: arm: CMSIS header redefining MPU_PRESENT.
subsys: app_memory: Fixed incorrect linker syntax.
subsys: app_memory: Fixed the build issue wrt ARC.
arch: arm: linker.ld: Fixed incorrect placement of noinit section
kernel: MISRA C guideline compliance for rule 11.6
kernel: sched: Fixed incorrect argument type of _reschedule()
kernel: MISRA C: Fixes a few MISRA C issues.
arch: arm: exc.h: MISRA C violation fix in _IsInIsr
arch: arc: arcv2_irq_unit.h: MISRA C violation fix.
arch: kernel_arch_func.h: Fix MISRA violation
kernel: ksched.h: Incorrect argument type in _pend_current_thread
include: toolchain: gcc.h: Fixed MISRA C violation.
kernel: sem: Fix few MISRA C violations.
linker: arm: place priv.noinit at the end of RAM
tests: sched: schedule_api: Increase the minimum ram needed.
kernel: device: MISRA C compliance.
kernel: queue: MISRA C compliance.
kernel: alert: Declare tracing variables only when needed.
lib: rbtree: Fixed incorrect return type for rb_contains
include: dlist.h: MISRA C compliance.
kernel: mutex.c: MISRA C compliance.
scripts: gen_relocate_app.py: Script for relocating files in memory.
cmake: Added rule and helper functions for code relocation.
kernel: init.c: Added required hooks for the relocation
arch: Kconfig: Increased the text area for kobject and priv stack
samples: code_relocation: An example for code relocation feature.
tests: benchmarks: timing_info: Remove common variables
drivers: ipm: ipm_quark_se: Remove object declaration from header
include: drivers: pci: pci_mgr.h: Create a typdef instead of obj.
include: stats.h: Packed attribute was incorrect.
soc: ti_simplelink: cc32xx: soc.h: Incorrect enum definition.
tests: subsys: fs: Fixed headers which were creating objects.
samples: rpl_border_router: Fixed headers files.
CMakeLists.txt: Enable -fno-common globally.
scripts: gen_relocate_app: Use linker provided size variable.
include: misc: util: Added new util macros FOR_EACH_FIXED_ARG
kernel: Change the prototype of k_thread_access_grant.
tests: Updated all the tests which use k_thread_access_grant.
tests: coverage: Add Gcov support.
Gcov: Enable Code coverage reporting over UART.
Gcov: Added support for ARM.
Gcov: Added support for x86.
Gcov: Added linker changes needed by Gcov.
Gcov: Added Kconfig changes needed by Gcov.
tests: Increase the stack size by CONFIG_TEST_EXTRA_STACKSIZE.
scripts: gen_gcov_files.py: Added python script to parse uart dump
gcov: Add coverage supported boards.
tests: Dont run coverage for select test cases.
logging: Increase the stack size when coverage is enabled.
cmake: Generated files are excluded from coverage.
tests: coverage: GCOV counter value changed in GCC8.
x86: fix app shared memory if XIP enabled
app_shmem: use script for all arches
CMakeLists: fix app_shmem dependency
Aiden Park (1):
boards/x86: up_squared: add support for SBL(Slim Bootloader)
Ajay Kishore (4):
tests: pipe: Enhance tests to improve code coverage
tests: sched: Use SCHED_MULTIQ for native posix platform
tests: add tests to validate interrupt nesting feature
samples: USB mass storage sample.yaml cleanup
Alberto Escolar Piedras (89):
Bluetooth: controller: Use nRFx functions for PPI reg access
native_posix: Add control of traces color
sample: subys: logging: fix for posix arch
subsys: logging: Fix for no CONFIG_LOG_PROCESS_THREAD
tests: subsys: logging: log_core fix with inplace process
subsys: logging: for native_posix use appropriate tracing
subsys: logger: fix merge error
CODEOWNERS: Assing maintainer for all native_posix backends
drivers: ethernet: native: Fix compile issue in RedHat 7
subsys: shell: support posix arch
subsys: shell: Add missing dependency to SERIAL
uart: Add driver for posix arch
tests: uart: add extra config for native_posix
native_posix: doc: do not list command line options in doc
native_posix: doc: reorder peripherals section
native: doc: Improve UART documentation
native_posix: doc: Remove legacy shell links
POSIX arch: Add stub for sys_arch_reboot()
drivers: timer: native_posix: Support SYSTEM_CLOCK_DISABLE
Fix: Remove garbage leaked from developer workspace
gitignore: add hide-defaults-note and a few more files
CODEOWNERS: assign maintainer for include/arch/posix
tests: lib: mem_alloc: Blacklist all POSIX arch boards
drivers: console: native: header fix
soc: Kconfig: Add options for compatible NRF SOCs
clock_control: nRF5x: use new compatible SOC symbol
drivers: timer nRF: simplify kconfig depend
drivers: timer nRF: use new BabbleSim config option
drivers: entropy nRF5x : use new compatible SOC symbol
Bluetooth: Use new nrf COMPATIBLE options
new simulated board: nrf52_bsim
nrf52_bsim: Explicitly list the applicable HW models version
sanitycheck: nf52_bsim testcases to run with other native
shippable: Add support for nrf52_bsim board
tests: posix: Bugfix unitialized array in posix_pthread_execution
nrf52_bsim: Fix possible NULL pointer dereference
nrf52_bsim: Fix typo in warning message
nrf52_bsim: Codestyle fix
posix arch: Improve description of posix_halt_cpu
native_posix doc: Remove possible macOS support note
tests: sched: schedule_api: Bugfix for POSIX arch in TICKLESS
tests: sleep: Bugfix for POSIX arch in TICKLESS
tests: kernel tickless: Bugfix for POSIX arch in TICKLESS
nrf52_bsim: Add compile time check of HW models version
doc: Linux installation: Add gcc and gcc_mulitlib for Ubuntu
nrf52_bsim: Support full include paths of nrfx hal files
tests: sched: schedule_api: Bugfix for POSIX arch in TICKLESS
tests: kernel: common: Bugfix for POSIX arch in TICKLESS
tests: kernel: tickless: Bugfix for POSIX arch in TICKLESS
tests: kernel: sched: Bugfix for POSIX arch in TICKLESS
tests: kernel: context: Bugfix for POSIX arch in TICKLESS
tests: Add new BabbleSim based BT test
tests bsim_bt: Add script to execute the basic connection test
tests bsim_bt: Add scripts to compile and run tests
gitignore: Ignore default bsimt_bt test output folder
tests: Add new bsim based encrypted BLE link test
ci: Run bsim_bt tests and collect coverage results
tests: bsim_bt: Add option to re-build incrementally
ci: Add missing option to control placement of BT tests results file
uart: native_posix driver: Fix typo
nrf52_bsim: Require v1.2 of the HW models
tests: bsim_bt tests: Fix malformed JUNIT results file
ci: Copy results before handling coverage
ci: Fail shippable if something fails catastrophically
ci: Allow setting BSIM_OUT_PATH from environment
Bluetooth: nordic ECB hal: Bugfix for simulation
valgrind: Add error supression file for POSIX arch
sanitycheck: Fail test if the process returns != 0
sanitycheck: Use supression file for valgrind and dump log
tests: cmsis_rtos_v2: Bugfix in test which leads to random errors
nrf52_bsim: arg parsing: Be more user friendly with -nosim
nrf52_bsim: arg parsing: Do not use bs_args_typical_dev_post_check
nrf52_bsim: Add support for dynamically registering cmd line args
nrf52_bsim: Improve compile time check of HW models version
native_posix: Remove all references to the defunct legacy shell
tests: Prolong BT encrypted connection test
nrf52_bsim: Update to support incoming changes to clock driver
nrf52_bsim: Fix copy pasted comment
tests: bsim_bt: Compile each project in its own folder
tests: bsim_bt: Add BLE connection test with split ...
Zephyr 1.13.0
We are pleased to announce the release of Zephyr kernel version 1.13.0.
Major enhancements with this release include:
- Extensible and Pluggable Tracing Support
- Compartmentalized application memory organization
- Logging System Overhaul
- Introduce system calls for BSD socket APIs
- Support for IEEE 802.1AS-2011 generalized Precision Time Protocol (gPTP)
- Link Layer Discovery Protocol (LLDP) TX support
- Support for TLS and DTLS using BSD socket API
- Support for Link Layer Multicast Name Resolution (LLMNR)
- Introduced reworked ADC API and updated Nordic, NXP, Atmel, and
Synopsys DesignWare drivers - Support OS driven Power Management framework
- Basic support for Arm TrustZone in Armv8-M
The following sections provide detailed lists of changes by component.
Kernel
- Remove kernel event manager, replaced by generic tracing interface
- Enhanced Timeout and Tick handling in kernel
- Compartmentalized application memory organization
- Fix errno access for user mode
Architectures
- arch: arc: improve the reset code
- arch: arc: use a separate stack for exception handling
- arch: arc: refactor the arc stack check support
- arch: arm: stm32: enable instruction and data caches on STM32F7
- arch: arm: implement ARMv8-M MPU driver
- irq: Fix irq_lock api usage
- arch: arm: macro API for defining non-secure entry functions
- arch: arm: allow processor to ignore/recover from faults
- arm: nxp: mpu: Consolidate k64 mpu regions
- arm: Print NXP MPU error information in BusFault dump
- arch: ARM: Change the march used by cortex-m0 and cortex-m0plus
- arch: arm: integrate ARM CMSE with CMake
- arch: arm: basic Arm TrustZone-M functionality for Cortex-M23 and Cortex-M33
- arch: arm: built-in stack protection using Armv8-M SPLIM registers
- arch: arm: API for using TT intrinsics in Secure/Non-Secure Armv8-M firmware
- arch: arm: clean up MPU code for ARM and NXP
- arch: arm: Set Zero Latency IRQ to priority level zero
- arch/arm: Fix locking in __pendsv
Boards & SoC Support
-
x86: add SoC configuration for Apollo Lake
-
x86: add support for UP Squared (Pentium/Celeron)
-
arc: Support Synopsys ARC nSim instruction set simulator
-
riscv32: riscv-privilege: Microsemi Mi-V support
-
Added support for the following Arm boards:
- efr32_slwstk6061a
- nrf52_adafruit_feather
- nrf52810_pca10040
- nrf52840_pca10059
- nucleo_f207zg
- reel_board
- stm32f723e_disco
- stm32f746g_disco
- stm32f769i_disco
- udoo_neo_full_m4
- warp7_m4
Drivers and Sensors
- adc: Introduced reworked API and updated Nordic, NXP, Atmel, and
Synopsys DesignWare drivers - audio: Added TLV320DAC310x audio DAC driver
- can: Added can support for STM32L432
- clock_control: Added STM32F7 family clock control
- entropy: Added support for STM32F7
- eth: Enabled gPTP support in mcux and gmac drivers
- eth: Added promiscuous mode support to native_posix
- eth: mcux: Added an option for randomized, but stable MAC address
- gpio: Added STM32F7 GPIO support
- interrupt_controller: Added STM32F7 EXTI support
- i2c: Added support for STM32F7
- i2c: Added i.MX shim driver
- i2c: Implemented slave support for stm32_v2
- i2c: Added EEPROM I2C slave driver
- i2c: Added shims for nrfx TWI and TWIM drivers
- i2s: Exposed i2s APIs to user mode
- led: Added TI LP5562 and NXP PCA9633 drivers
- modem: Added Wistron WNC-M14A2A LTE-M Modem driver
- modem: Added modem receiver (tty) driver
- pinmux: Added STM32F7 pinmux support
- pwm: Added i.MX shim driver
- pwm: Added shim for nrfx PWM HW driver
- serial: Added power management to nRF UART driver
- serial: Added STM32F7 UART support
- serial: Allow to pass arbitrary user data to irq callback
- serial: Added UARTE driver for the nRFx family
- sensor: Added adxl372, mma8451q, adt7420 drivers
- sensor: lis2dh: Fix I2C burst read/write operations
- rtc: Added support for STM32
- usb: Added support for OTG FS on STM32F2 and STM32F7
- usb: Added High Speed support for DesignWare USB
- wifi: Added SimpleLink WiFi Offload Driver (wifi_mgmt only)
Networking
- Introduce system calls for BSD socket APIs.
- Add IPv4 autoconf support. This adds support for IPv4 link-local addresses
(169.254..) - Add TLS and DTLS support to BSD socket API. They are configured via
setsockopt() API. - Add support for IEEE 802.1AS-2011 generalized Precision Time Protocol (gPTP)
for ethernet networks. A sample application is created to show how to interact
with gPTP code. - Add support for PTP clock driver. This driver will be used by gPTP supported
ethernet drivers. - Add Link Layer Discovery Protocol (LLDP) TX support.
- Add support for managing Qav credit-based shaper algorithm.
- Add generic TX timestamping support.
- Add carrier detection support to ethernet L2 driver.
- Add support for having vendor specific ethernet statistics.
- Add getter support to ethernet management interface.
- Add promiscuous mode support to network interface. A sample application is
created that shows how to use the user API for getting all network packets.
The native_posix ethernet driver supports promiscuous mode at this point. - Add support for Link Layer Multicast Name Resolution (LLMNR). LLMNR is used in
Microsoft Windows networks for local name resolution. - Add API to net_pkt to prefill a network packet to a pre-defined value.
- Add IEEE 802.1Qav support to Atmel GMAC ethernet driver.
- Add hardware TX timestamping support to Atmel GMAC ethernet driver.
- Add multiple hardware queue support to Atmel GMAC ethernet driver.
- Add gPTP support to Atmel GMAC ethernet driver.
- Add support for TI SimpleLink WiFI offload driver.
- Add support for randomized but stable MAC address in NXP MCUX ethernet driver.
- Add extra prints to net-shell for ethernet based network interfaces. The
supported features and priority queue information is printed. - Add and fix string to integer conversions in net-shell.
- Allow user to configure MAC address filters into ethernet devices.
- Catch network interface ON and OFF events in DHCPv4 and renew address lease if
we re-connected. - Remove forever timeouts when waiting a new network buffer to be available.
- Relay network interface up/down command from net-shell to Linux host for
native_posix ethernet driver. - No need to join IPv6 solicited node multicast group for Bluetooth IPSP
supported nodes. - Allow external program to be started for native_posix ethernet driver. This
allows for example startup of wireshark when zeth is created. - Network packet priority and traffic class fixes and clarifications.
- Lower memory consumption in net by using packed enums when applicable.
- Correctly notify net_app server when TCP is disconnected.
- Register OpenThread used unicast and multicast IPv6 addresses for network
interface. - Enable Fast Connect policy for TI SimpleLink ethernet driver.
- Fix ieee802154 simulator driver channel/tx power settings.
- Handle large IPv6 packets properly.
- Enable gPTP support in native_posix, NXP mcux and Atmel GMAC ethernet drivers.
The native_posix ethernet driver gPTP support is only for testing purposes. - Network configuration (net_config) library split from the net_app library.
(This change requires updating application configs to refer to corresponding
NET_CONFIG_* options instead of NET_APP_*). - Moving all layer 2 (L2) network code into subsys/net/l2 directory.
- Add MSS option on sending TCP SYN request.
- Fix TCP by processing zero window probes when our receive window is 0.
- IPv4, IPv6, ICMPv6, ARP code refactoring and cleanup.
- IPv6 address lifetime fixes.
- IPv6 fragmentation fixes.
- ARP fixes when using VLAN.
- Timeout too long lasting ARP requests.
- DHCPv4 fixes and timeout management refactoring.
- TCP retry, RST packet handling, and memory leak fixes.
- IP address print function enhancements.
- HTTP fix when sending the last chunk.
- MQTT fixes.
- LWM2M cleanups and fixes.
- Fix cache support in Atmel GMAC ethernet driver.
- Fix NXP MCUX ethernet driver to detect carrier lost event.
- Port native API echo-server/echo-client samples to BSD sockets API, with
TLS/DTLS support. - Handle out-of-buf situations gracefully in echo-client and echo-server sample
applications.
Bluetooth
-
New user-friendly service population using a refreshed BT_GATT_CHARACTERISTIC
macro. -
Added support for Bluetooth hardware in the native_posix board, allowing
developers to use the native POSIX architecture with Bluetooth. -
Added a new helper API to parse advertising data.
-
Added a new flag, BT_LE_ADV_OPT_USE_NAME, to include the Bluetooth Device
Name in the advertising data. -
Added support for fixed passkeys to use in bonding procedures.
-
Added a new Bluetooth shell command to send arbitrary HCI commands to the
controller. -
Added a new feature to support multiple local identities using a single
controller. -
Added a new, board-specific mesh sample for the nRF52x series that
implements the following models:- Generic OnOff client and server.
- Generic Level client and server.
- Generic Power OnOff client and server.
- Light Lightness client and server.
- Light CTL client and server.
- Vendor Model.
-
Controller: Added a TX Power Kconfig option.
-
Controller: Use the newly available nrfx utility functions to access the
nRF5x hardware. -
Controller: Multiple bug fixes.
-
Controller: Added support for the nRF52810 SoC from Nordic Semiconductor.
-
New HCI driver quirks API to support controllers that need uncommon reset
sequences. -
Host: Multiple bug fixes for GATT and SMP.
-
Mesh: Multiple bug fixes.
Build and Infrastructure
- Kconfig: Remove redundant 'default n' properties
- cmake: replace PROJECT_SOURCE_DIR with ZEPHYR_BASE
- Kconfig: Switch to improved globbing statements
##...
Zephyr v1.13.0-rc3
Adithya Baglody (2):
tests: benchmarks: timing_info: Fixed userspace benchmarks for nrf52
subsys: random: xoroshiro128: Use entropy get isr during init
Alexander Polleti (2):
net: fix return type of net_addr_type2str
c++: fix comparison between signed and unsigned types
Anas Nashif (11):
tests: preempt: increase stack size for test
tests: rename test entry functions
xtensa: removed obsolete headers
boards: arduino_101: remove mention of boot stub
tracing: remove stray event_logger code
doc: esp32: update flashing instructions
Revert "kernel: Disable tick handling when !MULTITHREADING"
Revert "kernel: Enable interrupts for MULTITHREADING=n on supported arch's"
release: wrap lines in release notes
doc: update release notes
release: bump to 1.13.0-rc3
Andy Ross (1):
tests: Add kernel/sched/deadline test for EDF validation
Carles Cufi (2):
Bluetooth: mesh: Fix missing semicolon
doc: Add Bluetooth release notes for 1.13
Daniel Leung (7):
drivers: grove/temperature: ADC resolution to be 12-bit
drivers: grove/light: change ADC resolution to 12-bit
adc: add native driver for Quark D2000
adc: remove adc_qmsi driver
tests/drivers: adc: add config for Quark D2000
Revert "boards: quark_d2000_crb: Remove adc support"
samples: grove: re-add Quark D2000 to sample.yaml
David B. Kinder (5):
doc: fix reference to props file
doc: fix reference to log.h
doc: give nicer error if env not set up
doc: fix 404 error page message
doc: add doc changes to 1.13 release notes
Flavio Ceolin (5):
misc: mempool: Fix bit mask value
crypto: tests: Change crypto tests to use Kconfig defined header
tests: crypto: mbedtls: Fix mbedTLS self test usage
ext: lib: crypto: Update mbedTLS to 2.12.0
samples: drivers: crypto: Fix minimum values for mbedTLS
Frank Li (1):
drivers: eth: enc28j60: Fix read error when ERDPT < ERXRDPT
Henrik Brix Andersen (1):
doc: settings: fix inline sample code
Ioannis Glaropoulos (1):
doc: fix minor typo in clock.rst
Ismael Fillonneau (1):
doc: kernel: usermode: fix macro name
Istvan Bisz (1):
scripts: dts: extract: clock.py fix node alias name
Johan Hedberg (1):
Bluetooth: Mesh: Fix checking for subnet when recovering App Key
Jukka Rissanen (1):
net: gptp: Set stack size correctly for handler thread
Justin Watson (1):
adc: sam: Fixed adc_api test for the SAM E70.
Kumar Gala (1):
scripts: dts: extract: Fix handling of irq prop being a list of lists
Marti Bolivar (1):
boards: fix up reel_board Kconfig warnings
Maureen Helm (2):
doc: release notes: Add arm arch and boards for 1.13
doc: release notes: Fill in driver section for 1.13
Paul Sokolovsky (3):
doc: relnotes-1.13: Condense/cleanup networking section
CODEOWNERS: Add @pfalcon for drivers/ethernet/
net: net_addr_ntop: Clarify docstring
Piotr Mienkowski (1):
board: efr32_slwstk6061a: add support for flashing via OpenOCD
Praful Swarnakar (1):
lib: cmsis_rtos_v1: Minor refactor of CMSIS implemetation
Ravi kumar Veeramally (3):
samples: net: Fix out-of-bound access
net: ipv6: Initialize memory
samples: net: coap: Remove apps using raw mbedtls APIs
Sathish Kuttan (1):
arch: xtensa: remove extra #endif
Sebastian Bøe (1):
cmake: Don't use the environment variable CFLAGS
Ulf Magnusson (2):
scripts: kconfig: Use unique_{defined_syms,choices} and clean up a bit
scripts: kconfig: Put a blank line before warnings and errors
Vinayak Kariappa Chettimada (3):
kernel: Improve precision of ticks and ms conversions
drivers: entropy: nrf5: Fix ENTROPY_BUSYWAIT from hanging
usb: device: nrf5: Fix HF clock enable check