FOUNDRIES.IO INSIGHTS

Zephyr Development News 20 August 2018

By Marti Bolivar | August 20, 2018

This is the 20 August 2018 newsletter tracking the latest Zephyr development merged into the mainline tree on GitHub.

Highlights

Breakage ahoy: The time since the last newsletter has seen a variety of incompatible or breaking changes merged into mainline. As usual, we’ve summarized these in the Important Changes section below, along with descriptions of what developers of affected applications should do to handle them. (A couple of new features were included there as well.)

This newsletter covers commits in the following inclusive range:

  • bb8cb5ac tests: pipe: Add description and RTM links, merged 26 July 2018
  • 36ef1921 samples: led_lp5562: cmake_minimum_required added, merged 16 August 2018

Important Changes

Various net app settings renamed

Various Kconfig variables that were formerly in the CONFIG_NET_APP_ namespace were moved into CONFIG_NET_CONFIG_. For example, CONFIG_NET_APP_SETTINGS is now CONFIG_NET_CONFIG_SETTINGS.

The affected variables are (without the CONFIG_NET_APP_ prefix, for brevity):

  • SETTINGS, AUTO_INIT, INIT_TIMEOUT
  • NEED_IPV4, MY_IPV4_ADDR, PEER_IPV4_ADDR
  • NEED_IPV6, NEED_IPV6_ROUTER, MY_IPV6_ADDR, PEER_IPV6_ADDR
  • BT_NODE
  • IEEE802154_DEV_NAME, IEEE802154_PAN_ID, IEEE802154_CHANNEL, IEEE802154_RADIO_TX_POWER, IEEE802154_SECURITY_KEY, IEEE802154_SECURITY_KEY_MODE, IEEE802154_SECURITY_LEVEL

Out of tree applications will need to perform the appropriate renames. The default settings of the Kconfig library will cause fatal errors on attempts to assign to the old names in .conf fragments, which should help find any uses. Be wary of select NET_APP_xxx statements, however, as those don’t generate errors.

This completes the work of splitting network configuration from the net-app library, which is in the process of being replaced and deprecated, into a new net-config library.

Network interfaces now require flags

Layer 2 objects must now declare supported features via a new flags field. Initial flags declare support for multicast and promiscuous mode, and whether or not to join a solicited node multicast group. Existing in-tree users have been updated; out of tree implementations will need to take care of build errors in the changed NET_L2_INIT.

Kconfig now prefers first default

The Kconfig library used by Zephyr no longer carries a local patch to make it prefer later default settings in Kconfig option definitions. The application boilerplate.cmake file thankfully emits a loud warning about this, which can be silenced by creating a file named “hide-defaults-note” in the Zephyr build directory.

This change is likely to bite any out of tree applications which define their own default settings for Zephyr’s Kconfig options and expect them to override Zephyr’s.

Affected applications should change from this pattern in their application’s KCONFIG_ROOT:

# OLD STYLE, for older Zephyr versions:

source "$ZEPHYR_BASE/Kconfig.zephyr"

config SOME_OPTION_IN_KCONFIG_DOT_ZEPHYR
	default your_value

to this:

# NEW STYLE, use this from now on:

config SOME_OPTION_IN_KCONFIG_DOT_ZEPHYR
	default your_value

source "$ZEPHYR_BASE/Kconfig.zephyr"

Kconfig: gsource is gone, use source, osource, or orsource

The Zephyr dialect of the Kconfig language previously featured a gsource extension, which, like source, worked to include a Kconfig file within another one, but also supported shell-like glob patterns. However, gsource did not check if any files matched the pattern. This has been replaced with a scheme in which source is globbing, and requires at least one file to match. A new osource (optional source) works the way gsource used to, and orsource is an optional source included by relative path (rsource, to include another source by relative path, already existed).

NVS rewritten

The NVS storage layer has been completely rewritten, and has what appears to be a backwards-incompatible format on the storage medium. Any applications using this layer will likely need to have their storage partitions set up anew.

In the new version, the storage medium can become “locked” in case of fatal errors. When this occurs, writes are prevented, but the user can read existing data which has been stored without error before re-initializing the flash device.

In the previous version, metadata and user data were placed together on the storage medium. This has been replaced with a new layout, which separates data from metadata. The data layout has also been changed in ways which reduces overhead on some flash devices, and allows for the latest items to be searched first on reads, improving performance in some workloads.

Bluetooth ID changes

Bluetooth LE peripherals built with Zephyr can now support multiple identity addresses.

This new feature seems to have brought incompatible API changes, as various functions now take u8_t id parameters which index into the array of IDs returned by bt_id_get(). If broken by this change and in doubt about what to do, BT_ID_DEFAULT (0) is provided as a recommended value.

The number of supported identities can be controlled with CONFIG_BT_ID_MAX, and several routines (with documentation!) were added to manage them:

There are new Bluetooth shell commands related to these as well: id-create, id-delete, id-reset, id-show, and id-select.

The Bluetooth Settings API takes multiple identities into account.

Bluetooth dynamic device name changes

Dynamic setting of the Bluetooth device name is now disabled unless CONFIG_BT_DEVICE_NAME_DYNAMIC=y.

The build system’s internals now use the CMake target_link_libraries() signature which includes PRIVATE/PUBLIC/INTERFACE keywords.

This is incompatible with the “plain” signature, which does not use these keywords.

This change was made for good reasons, but has the rather unpleasant side effect of breaking the build in cases where the application CMakeLists.txt used the “plain” signature, as Zephyr’s build system internals tend to get included into the top level file. Affected application developers are advised that adding PUBLIC after the target name restores the same behavior as the “plain” signature.

Arm toolchain renamed

The Zephyr environment and CMake variables used to select the GNU toolchain provided by Arm have changed; the old usage is now deprecated. Users of this toolchain should make the following changes:

  • Change the value of ZEPHYR_TOOLCHAIN_VARIANT from gccarmemb to gnuarmemb
  • The GCCARMEMB_TOOLCHAIN_PATH variable is now GNUARMEMB_TOOLCHAIN_PATH

This follows the replacement of the GCC ARM Embedded toolchain page with the GNU Arm Embedded version.

PyOCD on Python 3, now with Zephyr thread awareness

Thankfully, this is not a breaking change, but it is welcome news.

The PyOCD project, used for flashing and debugging several Zephyr boards, now supports Python 3. It’s now possible to remove any Python 2 PyOCD install and re-install it with pip3 install --user pyOCD (perhaps after updating applications and toolchain configurations to handle the changes discussed above.)

To add a carrot of incentive to upgrade, PyOCD has also now learned Zephyr thread awareness. To play along at home:

  1. Add CONFIG_OPENOCD_SUPPORT=y to samples/synchronization/prj.conf
  2. Build the sample for any board which uses PyOCD (like frdm_k64f)
  3. ninja debug
  4. Type continue at the (gdb) prompt
  5. Hit control-C to halt execution
  6. Run info threads at the (gdb) prompt.

Example output:

(gdb) info threads
  Id   Target Id         Frame
* 2    Thread 536874280 (Unnamed; Running; Priority 15) k_cpu_idle () at /home/mbolivar/src/zephyr/arch/arm/core/cpu_idle.S:135
  3    Thread 536870912 (Unnamed; Ready; Priority 7) __swap ([email protected]=0) at /home/mbolivar/src/zephyr/arch/arm/core/swap.c:69
  4    Thread 536874544 (Unnamed; Pending; Priority 7) __swap (key=0) at /home/mbolivar/src/zephyr/arch/arm/core/swap.c:69
  5    Thread 536875032 (Unnamed; Pending; Priority 255) __swap ([email protected]=0) at /home/mbolivar/src/zephyr/arch/arm/core/swap.c:69

Socket-based DTLS support

The new sockets layer now has experimental support for the DTLS protocol. It can be enabled with CONFIG_NET_SOCKETS_ENABLE_DTLS. Support for creation of DTLS sockets, DTLS handshaking, send()/sendto(), and recv()/recvfrom() is included. Demonstration code illustrating usage was added to the echo_client and echo_server pair of samples.

This continues the work of remaking Zephyr’s secure networking code as a socket-based implementation, with TLS managed via a set of nonstandard setsockopt() calls.

Syscall support for sockets

The following socket-related APIs are now accessible from Zephyr user space, if that is enabled: socket(), close(), bind(), connect(), listen(), accept(), send()/sendto(), recv()/recvfrom(), fcntl(), poll(), inet_pton(), and getaddrinfo().

CMSIS RTOS v1 support

Zephyr now supports version 1 of the CMSIS RTOS API. This is a common API defined by Arm for Cortex microcontrollers, which provides abstractions for common RTOS interfaces, such as multi-threading, mutual exclusion, CPU time, memory pools, etc. At time of writing, official documentation on usage within Zephyr mostly refers users to the KEIL CMSIS-RTOS v1 reference page.

Support for this API can be included within a Zephyr application by enabling CONFIG_CMSIS_RTOS_V1. The main header is <cmsis_os.h>, which is a shim between the abstractions presented by the CMSIS RTOS API and Zephyr’s own kernel APIs. There is also a new lib/cmsis_rtos_v1 directory, which contains the implementation. A variety of test cases were added to tests/cmsis_rtos_v1.

Features

Arches

The effort to support Arm v8-M’s secure and non-secure worlds continues with the building blocks necessary to transfer control flow between the “secure” and “insecure” worlds. Zephyr has gained support for building secure world images which export entry points as a library that non-secure images can be linked against to call into, as well as invocation of function pointers to non-trusted code from the secure world. Support for this feature can be enabled with CONFIG_ARM_FIRMWARE_HAS_SECURE_ENTRY_FUNCS. A variety of other related changes allow for controlling secure and non-secure world exceptions, system reset behavior, and stack management.

The native POSIX pseudo-architecture now supports a mechanism for executing code at various points in its initialization, power management sequence, and shutdown. It can also dynamically manage command line options with native_add_command_line_opts() and native_cleanup_cmd_line(). See the NATIVE_TASK() macro defined in its soc.h header for details. There appears to be some overlap here with Zephyr’s existing <init.h> APIs, but those do not allow for task execution at sleep or exit times.

The x86, Arm, and ARC architectures grew the architecture-specific code needed to implement safe copying to and from userspace discussed in the kernel features below.

Bluetooth

Various other features were merged in addition to the somewhat breaking identity management changes discussed above.

Many (but definitely not all) of the changes merged during this period improve Zephyr’s feature set related to secure pairing.

New APIs include:

  • An int bt_passkey_set(unsigned int passkey) routine, which can set a passkey to be used during pairing, and can be enabled with CONFIG_BT_FIXED_PASSKEY.

  • The bt_conn_auth_cb struct, which contains application callbacks for events of interest during authenticated pairing, now has documentation for all of its fields. It also gained new callbacks for learning the results of the pairing process, with signatures:

  void (*pairing_complete)(struct bt_conn *conn, bool bonded);
  void (*pairing_failed)(struct bt_conn *conn);

The Bluetooth shell sports some new commands, mainly to exercise the above new features:

  • hci-cmd: this Swiss Army knife can be used to inject arbitrary HCI commands into the system
  • fixed-passkey: sets a fixed passkey to be used during pairing using bt_passkey_set()
  • the auth command now takes confirm as an authentication method, which can be used to test passkey support

When Zephyr’s Bluetooth stack is being built in a “combined” configuration (i.e. host and controller on the same chip), the default for CONFIG_BT_TINYCRYPT_ECC is now y. This implements elliptic curve cryptography related HCI commands required to support LE Secure Connections in software, using the TinyCrypt library. (This of course implies a footprint penalty.)

Finally, access address generation now supports Coded PHY requirements.

Boards

New board-specific peripheral and shield enablement includes:

  • frdm_k64f now supports uart2, and has device tree settings for the Wistron WNC-M14A2A LTE-M modem, which can be connected as a shield
  • frdm_kl25z now supports the the MMA8451Q accelerometer attached to i2c0
  • nrf52840_pca10056 also now supports the WNC-M14A2A
  • nucleo_f207zg now supports USB and Ethernet
  • up_squared now has I2C support (the Zephyr board configuration also now works on all the marketed variants of the board hardware)

Build

The Kconfig dialect also now features def_int, def_hex, and def_string keywords, which specify the type of a config option and set its default value in a single line.

The Zephyr SDK has been packaged for Arch Linux, and is available as zephyr-sdk in the AUR.

Device Tree

The RISC-V boards were all converted to use device tree.

Cortex M4 cores on i.MX devices which have a Cortex A core on the same die now have device tree bindings and support for the Resource Domain Controller (RDC), which allows safe sharing of other peripherals between the cores. A variety of i.MX peripheral bindings now contain a required rdc property, through which the relevant permissions can be configured.

Documentation

Zephyr’s documentation was re-themed to use the popular Read the Docs Sphinx theme. Zephyr’s documentation continues to be hosted at docs.zephyrproject.org; just the theme was changed.

Drivers

About 30% of the total driver commits in this period affected a single driver, for the Atmel SAM GMAC Ethernet peripheral. This now supports the gPTP protocol which Zephyr learned about during the v1.13 cycle, multiple transmit and receive queues, and 802.1Qav support. Whew.

Zephyr received initial support for modem drivers, which can be enabled by setting CONFIG_MODEM=y. Modem-specific shell commands can be enabled with CONFIG_MODEM_SHELL. There is a new “modem receiver” API and driver which can be enabled using CONFIG_MODEM_RECEIVER; its purpose is to allow modem drivers to communicate via a UART using custom protocols. The initial device is the Wistron WNC-M14A2A (LTE / LTE-M) modem.

The UART driver core now supports registering user-specified callbacks with arbitrary callback data via uart_irq_callback_user_data_set. This is a backwards-compatible change; existing callbacks registered with uart_irq_callback_set() will continue to work in the same way.

Support was added for the MMA8451Q accelerometer.

The I2S API is now userspace-aware. All memory buffers are copied.

The I2C driver core now supports up to 8 controllers. The initial user is the DesignWare I2C driver.

On x86, the Apollo Lake SoCs now have PCI-based UART and I2C device support.

STM32F2 devices now support Ethernet and USB OTG FS.

There is a new LED driver for the TI LP5562 device.

The SLIP and POSIX ethernet networking drivers now have LLDP support, following addition of that protocol to Zephyr.

The POSIX ethernet driver can now execute user-defined scripts at various points in time.

The console driver is starting to be refactored to more closely resemble a UNIX-like TTY layer. Somewhat ominously, its APIs have been marked “experimental” in Kconfig.

Nordic devices have an optimized implementation for the clock control driver which provides k_cycle_get_32(). (This is important for users of the new Logger subsystem on those devices, as Logger relies on this routine being fast to retrieve timestamps with minimum overhead. This propagated into the real time clock driver.)

External

The Kconfiglib library was updated to revision 6aea8d0, bringing in the changes discussed above.

TinyCrypt was updated to revision 3ea1a60.

Kernel

Zephyr’s userspace implementation now has all the necessary routines for copying buffers to and from userspace in the kernel. Curious readers are referred to the API documentation in kernel/include/syscall_handler.h for details.

There is a new _k_object_recycle() routine, which can be used to re-initialize a kernel object with permissions that only allow access by the caller. This is intended for scenarios in which objects are allocated and released to a shared pool.

The userspace implementation is now aware of net_context structures. This was necessary to implement the argument validation steps of system calls which operate on them.

Logging

Since its initial merge, the Logger hexdump macros (LOG_HEXDUMP_INF() and friends) now take an additional parameter. Their revised “signature” is now:

/* Likewise for DBG, WRN, and ERR. */
void LOG_HEXDUMP_INF(void *data, size_t size, const char *metadata);

The final “metadata” parameter is new; any out of tree applications using the API will need changes. The expected value is a string literal which can be used to describe the data being printed. Presumably, this makes it easier to distinguish the origin of multiple different types of hexdump coming from the same module.

Networking

Additional features not discussed above follow.

Experimental support for auto-configuration of link-local IPv4 addresses was added, per RFC 3927. It can be enabled with CONFIG_NET_IPV4_AUTO (and extra debugging can be enabled with NET_DEBUG_IPV4_AUTOCONF). A sample application is in samples/net/ipv4_autoconf.

Support for the Link Layer Discovery Protocol (LLDP) was added, per 802.1AB. It can be enabled using CONFIG_NET_LLDP. Only support for transmission of LLDP frames is included; received LLDP frames are dropped. Sample code is in samples/net/lldp.

The network management layer for Ethernet gained support for device-specific enable and disable routines in struct ethernet_api. Ethernet also gained support for 802.1Qav (priority routing for audio-video streams) requests; when Ethernet management is enabled, the iface network shell command now prints Qav status.

The existing traffic class support saw the addition of a new choice for the mapping between priority and traffic class. See this choice option for details.

The net_pkt structure used to store network packets has had routines for linearizing data into a contiguous array, as well as appending bytes. However, the underlying net_buf struct, which actually implements the buffer management, was lacking in this regard. As part of the modem support work, the relevant routines were moved into the net_buf layer, with net_pkt wrappers left behind to avoid API breakage.

The networking shell iface command now prints the supported hardware capabilities for Ethernet interfaces.

Ethernet devices saw continued feature additions. They can now report hardware-specific configuration. The initial user is a getter for the number of priority queues. Support for MAC-based incoming packet filters was also added.

If the (new) CONFIG_NET_STATISTICS_ETHERNET_VENDOR Kconfig option is enabled, the stats command can now include vendor-specific statistics in its output.

The DHCPv4 implementation got some love, reducing footprint through increasing code reuse and cleaning up the code.

A variety of other structure sizes were also optimized.

Samples

New sample support includes samples/sensor/mma8451q for MMA8451Q accelerometers, WNC-M14A2A LTE-M modem support in lwm2m_client, a variety of new features in the Bluetooth Mesh samples, and LP5562 LED support in samples/drivers/led_lp5562.

Scripts

The West implementation for flashing with nrfjprog can now configurably mass erase or sector erase the underlying flash device.

The menuconfig script displays symbols in a more compact format, among other improvements.

Testing

As has become usual, a great number of tests have increased Doxygen grouping and requirements traceability matrix annotations.

A variety of other test cases were added to cover several of the new features discussed above.

Bug Fixes

Arches:

A bug in the ARC MPU driver stack guard implementation was fixed.

The POSIX pseudo-architecture saw fixes related to, and stopped silencing, the undef and implicit-function-declaration GCC warnings.

Bluetooth:

A variety of fixes were merged, including a Mesh SeqAuth calculation fix, increased robustness during pairing, the set PHY command status response, the existence of keying material before doing encryption, and storage of the Bluetooth device name in via the settings subsystem.

Build:

A bug causing corrupt data copying into RAM during RISC-V initialization was fixed.

The build system generator’s Kconfig logic would previously get confused if kconfig.py failed after creating the .config file. This confusion has been resolved.

The continued removal of redundant default n introduced into Zephyr’s Kconfig continues.

Various Kconfig patterns for describing the type (int, bool, etc.) and prompt (“help string for the option”) were merged into a single line: <type> "prompt". This improves concision and avoids potential confusion about (nonexistent) differences between the other styles.

Documentation:

A variety of errors and misspellings were corrected. The installation documentation on Linux was cleaned up for readability.

Drivers:

The POSIX Ethernet driver got a fix for an unlikely memory leak.

The nRFx clock control driver saw some fixes related to clock status checking.

The nRF5 entropy driver got a fix for an infinite loop.

The FXOS8700 and FXAS21002 sensor drivers (these peripherals are available on some NXP FRDM boards) got fixes for initialization race conditions.

Various issues in the CAN driver were fixed.

External:

The STM32F2 USB OTG HAL received a local patch to fix VBUS sensing deactivation.

The STM32 HAL CAN APIs were switched to the legacy versions, restoring Zephyr CAN functionality.

Kernel:

A kernel bug which allowed dynamically allocated thread objects to potentially masquerade as other threads has been fixed.

A schedule bug affecting time slice update has been fixed. As part of this effort, all scheduler time slices are now measured in ticks rather than milliseconds.

The kernel’s support for shared memory between threads was fixed; users affected by the previous incorrect implementation include systems using an ARM MPU.

Libraries:

The calloc() implementation in Zephyr’s libc was failing to live up to its contract to return zeroed memory; this has been fixed.

Logging:

A few fixes were merged, affecting modules which span multiple files, runtime filtering, and compilation on non-GCC toolchains.

Networking:

VLAN tags are now properly set for ARP messages.

TCP servers now have their disconnection callbacks invoked correctly.

A couple of memory leaks were fixed, along with a TCP RST edge case.

The MQTT parser now properly handles UNSUBACK packets.

A couple of OpenThread addressing issues were resolved: duplicate multicast addresses are no longer registered with their network interfaces, and unicast addresses are now also registered with their Zephyr network interfaces. The latter fix resolves an issue preventing use of mesh-local endpoint identifiers.

Scripts:

The device tree management scripts were fixed to avoid destroying shared data due to a shallow copy of a data structure.

Zephyr’s Kconfig generation script no longer ignores warnings generated during symbol evaluation.

Individual Changes

Patches by area (417 patches total):

  • Arches: 39
  • Bluetooth: 39
  • Boards: 11
  • Build: 22
  • Continuous Integration: 3
  • Device Tree: 2
  • Documentation: 25
  • Drivers: 56
  • External: 8
  • Kernel: 15
  • Libraries: 13
  • Logging: 7
  • Maintainers: 1
  • Miscellaneous: 2
  • Networking: 80
  • Samples: 23
  • Scripts: 7
  • Storage: 2
  • Testing: 62

Arches (39):

  • 88f4b681 arch/x86: apollo_lake: add MMU regions for I2C controllers
  • b3e68703 arch/x86: apollo_lake: add PCI related bits for UARTs/I2Cs
  • 0b899205 arch/x86: update linker definition for x86 real mode
  • 550225b6 native: Generalize native tasks
  • f742d0e2 native: Allow cmd line options to be registered dynamically
  • 55f6620c native_posix: Refactor cmd line options
  • 3369a5ed arch: introduce exc_handle.h
  • 9d3cdb35 x86: add z_arch_user_string_nlen
  • 3cef6deb arm: add z_arch_user_string_nlen
  • b1dec299 arc: add z_arch_user_string_nlen
  • 9426a3cb arch: x86: set output format/arch per arch
  • 61570342 arch/x86: always make BSS section MMU page align if X86_MMU
  • a76fa45e native_posix: minor doc fixes
  • c0ea40cd posix arch: Add missing header
  • 00b07615 native_posix: Add missing headers and function prototypes
  • 4388cde9 arch posix: Allow including XOPEN extensions
  • 11aa0b80 posix arch: Do not disable warnings
  • eab3f3f2 arm: _FaultShow: fix typo MMFSR -> UFSR
  • 37cc2ccc arch: arc: fix a bug in mpu driver
  • 9283ee7a arch: i.MX add RDC peripheral permission setting for applications cores
  • b996955e arch: arm: optimize _size_to_mpu_rasr_size function
  • 034499af arch: arm: configure non-secure registers from secure firmware
  • de784300 arch: arm: internal API to enable/disable SAU
  • 97d5f60a arch: arm: configure NS stack pointer limit registers
  • 28acaead arch: arm: add macro definition for vector key write permit value
  • 179b8d15 arch: arm: API to configure fault target state
  • 5bb3d015 arch: arm: API to configure Secure exception boost
  • ba02c6d9 arch: arm: api for reading MCU SAU regions
  • f8b5046b arch: arm: include GCC -mcmse compile option for secure firmware
  • a0508180 arch: arm: API macros for CMSE non-secure function pointers
  • d9cfbc28 arch: arm: macro API for defining non-secure entry functions
  • 6e93eea3 arch: arm: api to permit/block NS system reset requests
  • 3b79b283 arch: arm: API & implementation of SAU region configuration
  • db3f6aab arch: arm: add option to define an NSC region
  • f2bdee35 arch: arm: export entry veneers
  • c4703661 arch: arm: soc: add STM32L433
  • bb0b66e1 arch: arm: clean-up “default n” entries in Kconfig option definitions
  • 970cfdb8 arch: riscv32: Move MEPC increment in irq_wrapper
  • 218d7a0a riscv: Rename the FE310 SoC to Sifive Freedom

Bluetooth (39):

  • 9b6ad406 bluetooth: add callback to notify pairing is complete
  • e2e02029 Bluetooth: SMP: Fix minor coding style issues
  • 8780636f Bluetooth: shell: Add hci-cmd command
  • 4d10b04a Bluetooth: SMP: Fix missing NULL-checks for bt_auth
  • 4fe8eddd Bluetooth: SMP: Don’t return STK if it hasn’t been generated yet
  • db0e4d52 Bluetooth: Kconfig: Enable TINYCRYPT_ECC for combined builds
  • 642db775 bluetooth: kconfig: Fix swapped ‘range’s on BT_RFCOMM_L2CAP_MTU
  • 4752788c Bluetooth: Fix documentation and other issues with auth callbacks
  • da8f62de Bluetooth: SMP: Remove redundant check for smp pointer
  • ef70fc85 Bluetooth: SMP: Fix SMP context init when sending security request
  • c446c826 Bluetooth: Add support for fixed passkeys
  • b049ac12 Bluetooth: shell: Add command for setting fixed passkey
  • e504aad2 Bluetooth: shell: Add pairing failed/complete callbacks
  • 0ab27e68 Bluetooth: shell: Add support for pairing confirm-only callbacks
  • 97da52bb Bluetooth: controller: Update AA generation for Coded PHY support
  • 76320d21 Bluetooth: controller: Fix HCI LE Set PHY command status response
  • 3ebb81ba Bluetooth: controller: Wait for stable k32src for connected roles
  • 28d5a65a Bluetooth: SMP: Don’t try to encrypt with a non-existing LTK
  • 6ee8e419 Bluetooth: Mesh: Clarify confusing log message
  • 304f26c3 Bluetooth: Userchan: Add missing headers
  • 1329763a Bluetooth: Fix storing name in plain text
  • 504584a9 Bluetooth: att: Add option to disable GATT writable name
  • e0864a93 Bluetooth: controller: HAL: Separate simulated SOC in own header
  • 3712fd34 Bluetooth: controller: remove unnecessary guards in hal headers
  • 6b8af4f0 Bluetooth: Minor whitespace fixes
  • 5708f1e8 Bluetooth: Add infrastructure to handle multiple identities
  • 1d8dab81 Bluetooth: Add initial APIs for identity manipulation
  • 3ed01b48 Bluetooth: Remove redundant BT_DEV_ID_STATIC_RANDOM flag
  • e70c556d Bluetooth: Add full storage support for multiple identities
  • cbb1b84f Bluetooth: Pass identity to connection and pairing clearing functions
  • 93360497 Bluetooth: Remove bogus bt_keys_func_t typedef
  • 3d3888c0 Bluetooth: Remove return parameter from bt_id_add/del
  • 7dba2512 Bluetooth: Introduce bt_id_reset() API
  • 7ec40e81 Bluetooth: shell: Add multiple identity support
  • 47291330 Bluetooth: Add safe-guards for creating duplicate identities
  • 346f815d Bluetooth: Introduce bt_id_delete() API
  • 61ec5125 Bluetooth: shell: Add id-delete command
  • 734eda39 bluetooth: tester: Increase SDU size to meet PTS requirement
  • e4908119 Bluetooth: Mesh: Transport: Fix calculating SeqAuth

Boards (11):

  • bcc95235 boards/x86: up_squared: add I2C configurations
  • 7b0c7aab boards/x86: up_squared: support new devices and Atom SoC
  • ee7f834e boards: frdm_kl25z: Add mma8451q to i2c in dts
  • b9bbebca boards: 96b_argonkey, fix lsm6dsl label name
  • d917f239 boards: arm: k64f: add settings for UART_2
  • 01745c38 boards: arm: frdm_k64f: add settings to use WNC-M14A2A LTE-M modem
  • 65af15bc boards: arm: nrf52840_pca10056: add settings for WNC-M14A2A modem
  • 5fda25af Revert “mimxrt1050_evk: disable sanitycheck on this board [REVERT ME]”
  • 7433f75e mimxrt1050_evk: Update jlink device name
  • 45d5d5db boards: riscv: Convert HiFive1 to DTS
  • 107efdf2 boards: nucleo_f207zg: enable usb

Build (22):

  • 15516ed0 linker: riscv: Relocate .eh_frame symbol
  • 99306334 kconfig: remove whitelisting for ARC_INIT
  • c1bf7350 cmake: Improve the error message when the compiler is not executable
  • d1684a83 Kconfig: Clean up some symbol definitions
  • 5402662d cmake: kconfig: Fix rerunning cmake after Kconfig warnings
  • a500e7e0 cmake: kconfig: Fix broken menuconfig due to misspelling
  • d46e2c7e ld: Don’t use –start-group and –end-group
  • 957262e3 build: Replace GCC ARM Embedded with GNU Arm Embedded
  • b9e8cd11 cmake: Refactor usage of target_link_libraries on Zephyr libraries
  • ec3eff57 Kconfig: Use the first default with a satisfied condition
  • 3ed9328d Kconfig: Get rid of some leftover ‘option env’s
  • a8aba2f8 Kconfig: Include Kconfig.zephyr last in sample Kconfig files
  • d08a212e Kconfig: Document the new prefer-earlier-defaults behavior
  • 9c93e8e8 Kconfig: Have CMake print a note about the changed ‘default’ behavior
  • 83d2a47d cmake: Don’t propagate zephyr_library_compile_options
  • bf8efdbf genrest: Generate RST links in a less hacky way
  • 55ee53ce cmake: Prepend ‘cmake_minimum_required()’ into ‘app’ build scripts
  • 6682652a cmake: change policy CMP0000 to NEW
  • 17f1b0ad Kconfig: Switch to improved globbing statements
  • 0af60bc2 Kconfig: Document new def_{int,hex,string} extensions
  • 8cf8db3a Kconfig: Use a short, consistent style for prompts
  • 1186f5bb cmake: Deprecate the 2 symbols SYSCALL{LIMIT,BAD}

Continuous Integration (3):

  • 632597eb coverage: kernel: poll: Cleanup redundant code to improve coverage
  • a51fb782 coverage: tests: poll: Add missing poll event to improve code coverage
  • f3a6e8aa sanitycheck: Recommend installing “ply” instead of “python3-ply”

Device Tree (2):

  • 4016136b dts: bindings: add generic yaml description for uart-devices
  • 0b60f383 dts: Fix get_compat when parent compat is a list

Documentation (25):

  • 4cac31b2 doc: fix doxygen error for BUILD_ASSERT_MSG
  • d47bd0b5 doc: prepare for read_the_docs theme change
  • d7d10904 doc: scripts: Updates for pyocd v0.11.1
  • f6349c88 doc: simplify CONTRIBUTING, merge non-apache
  • f3f266ea doc: more RTD theme tweaks
  • 368826e9 doc: getting started: add Arch Linux package
  • 7555476b doc: Replace title with logo in front page
  • ac7753ee doc: Add getting started to README.rst
  • cb243eae doc: Correct arch spellings in README.rst
  • cd170531 Doc: installation_linux.rst: Feedback Updates
  • 2cf47fed doc: tweak table CSS for caption location
  • a0dbc7aa doc: Copy all doc/ contents and not just .rst files
  • a33b15d2 doc: Remove workaround file
  • d6c56d57 doc: Remove unnecessary copy statements
  • 9a3d7a43 doc: fix misspellings in API docs
  • 7c89b63b doc: fix kconfig misspellings
  • 6750b8d2 doc: fix misspellings in docs
  • 17d04524 doc: tweak doc build instructions
  • 0c5a88a6 doc: Update OpenSDA document for flashing with jlink
  • 5c8398da doc: switch to use RTD theme
  • 2300a592 doc: fix errors in ipv4_autoconf sample doc
  • d04eaf3b doc: Fix warning associated with GNU ARM embedded rename
  • 3ffac998 doc: fix wrong board name in Nordic doc
  • 3747b5ba doc: Document new app boilerplate requirement
  • 896a6966 doc: Make Sphinx output directory configurable

Drivers (56):

  • e482feac drivers: watchdog: Align nrf wdt driver to new nrfx
  • 14112768 drivers: watchdog: Fix assert errors in nrf watchdog implementation
  • 525b0ce8 drivers: eth: gmac: Restore original frags data after transmitting
  • aabaf98c drivers: eth: gmac: Enable gPTP support
  • 9099b248 drivers: eth: gmac: Use correct iface for gPTP over VLAN
  • 7dc9831d drivers: eth: gmac: Disallow drastic rate changes
  • 4e642f62 drivers: eth: gmac: Fix ptp clock rate re-calculation
  • 75d23d59 drivers: eth: gmac: Add support for multiple hardware queues
  • 3dd1101c drivers: eth: gmac: Minor reformatting
  • a43ed0f4 drivers: eth: gmac: rework timestamping
  • 982b4e14 drivers/i2c: extends Kconfig to support 8 controllers
  • 67b48ab2 drivers/i2c: i2c_dw: extends driver to support 8 controllers
  • 39ec52d2 drivers: eth: native_posix: Make sure sent pkt is freed properly
  • abd417c0 drivers: eth: gmac: Implement the get_config callback
  • 1b6e5f61 drivers: eth: gmac: Enable 802.1Qav support
  • 9c0d7813 drivers: sensor: Add support for MMA8451Q (3-axis accelerometer)
  • a10d1780 drivers/pinmux: stm32 fix ports_enable array definition
  • 55767ade drivers: eth: gmac: Implement Qav status callbacks
  • 45b1079b drivers: console: Kconfig: Improve native descriptions
  • 23c92100 clock_control: nRF5x: Non-blocking 32KHz crystal oscillator startup
  • 26d22b00 clock_control: nRF5x: Fix HFSTAT and LFSTAT check
  • 0272a537 drivers: eth: gmac: Don’t verify RX buffers count for unit tests
  • 995411f4 drivers/i2c: kconfig: Clean up I2C Kconfigs a bit
  • d775c2f5 drivers: crypto: Fix input len size for cbc decryption
  • 57286afd drivers: uart: Allow to pass arbitrary user data to irq callback
  • bdd2e591 drivers: eth: gmac: Fix idle slope setting
  • 78b6dc6d drivers: eth: gmac: Do not implicitly enable Qav
  • b15c3cb5 drivers: eth: gmac: Prefer routing packets based on TC
  • ef96384d drivers: eth: gmac: Finish 802.1Qav support
  • 9182d2e5 drivers: modem: add modem receiver (tty) driver
  • 042d79e8 drivers: modem: add Wistron WNC-M14A2A LTE-M Modem Driver
  • 8b3d4ab6 drivers: modem: add modem shell extension
  • b4e36133 drivers: eth: native_posix: Exec program after creating zeth
  • 34ff437b drivers: slip: Add LLDP support
  • 3913f1ae drivers: eth: Enable LLDP support for native_posix board
  • 0ffdd7fb drivers: eth: gmac: Don’t use Qav code without priority queues
  • 2681199c drivers: serial: uart_sam: Fix typo in param name.
  • a2bfd819 drivers: spi: nrfx: Use HAS_HWNRF* in driver options dependencies
  • 841b8400 drivers: spi: nrfx: Remove “optional” from driver type choices
  • 16e8860f drivers: i2c: nrfx: Use HAS_HWNRF* in driver options dependencies
  • ead39991 drivers: watchdog: nrfx: Remove false dependency on CLOCK_CONTROL_NRF5
  • f9aa9783 drivers: eth: native_posix: Allow user to manipulate zeth status
  • ddb7f88f drivers: entropy: nrf5: Fix ENTROPY_BUSYWAIT implementation
  • ed4f0ff3 drivers/sensor/fxos8700: Fix race condition during initialization
  • 72cad66c drivers/sensor/fxas21002: Fix race condition during initialization
  • 1dfd33b7 drivers: timer: nrf: Optimize k_cycle_get_32().
  • 24abedbd driver: timer: nrf: Remove redundant RTC_COUNTER reads.
  • 06c23f15 i2s: expose i2s APIs to user mode
  • 2469097b drivers: nrfx: Allow simultaneous use of SPI_0 and I2C_0 on nRF52810
  • 78d24763 subsys: console: Mark as EXPERIMENTAL.
  • eb737280 drivers: pinmux: stm32: STM32F2 added ETH support to pinmux and use it
  • eaca7d78 drivers: ethernet: Kconfig: Document availability of eth_stm32_hal
  • 39cb4b41 drivers: can: Fix Issue #8226
  • 95b64fb7 subsys: console: Refactor code to allow per-UART “tty” wrapper
  • ea9d4a79 drivers: usb: add support for USB OTG FS on STM32F2
  • 41b7e7aa drivers: led: Add LED driver support for TI LP5562

External (8):

  • 4dcfc870 ext: Atmel ASF: Add missing interrupt number definitions
  • ba8d8350 ext: hal: atmel: sam: Add README for Atmel SAM E70 HAL
  • 263282b2 ext: tinycrypt: Update revision
  • d22cd76c CMSIS RTOS V1: Introduce CMSIS RTOS V1 API header file
  • 57fda14f ext/hal: stm32cube: STM32F4: Enable legacy CAN API
  • 6409f9a9 ext/hal: stm32cube: STM32F7: Enable legacy CAN API
  • ee29e603 ext/hal: stm32cube: STM32L4: Enable legacy CAN API
  • 8bb0e7a5 hal: stm32f2x: usbotg_fs: fix VBUS sensing deactivation

Kernel (15):

  • 300b060e obj_tracing: Declare object trace list for queue
  • 1f2eedff kernel: add z_arch_user_string_nlen prototype
  • c8188f67 userspace: add functions for copying to/from user
  • cef07486 userspace: add syscalls test case
  • 4b22ba7e syscall: Move arch specific syscall code into its own header
  • e58b6542 kernel: threads: assign index no. to dynamically created threads
  • ee9a0615 kernel: sched: Fix comparsion in _update_time_slice_before_swap()
  • 4a39b9ea kernel: sched: Use ticks as time unit in time slicing.
  • 83fda7c6 userspace: add _k_object_recycle()
  • 09c22cc4 userspace: add net_context as a kernel object
  • 1a40990b syscalls: Define the syscall id’s with ‘#define’ instead of enum
  • c69fb0d0 userspace: app_shared_mem: Fixed incorrect implementation.
  • e670135f kernel: sched: Fix comparsion in _update_time_slice_before_swap()
  • 2a26576b kernel: sched: Use ticks as time unit in time slicing.
  • 3c7f9903 kernel: Do not use sys_clock_ticks_per_sec in _ms_to_ticks()

Libraries (13):

  • 3641c25d libc: minimal: fix calloc()
  • ccd1c218 lib/cmsis_rtos_v1: Implement support for thread APIs
  • 2d7619ec lib/cmsis_rtos_v1: Implement support for osDelay
  • 7e5f0b7b lib/cmsis_rtos_v1: Implement support for osKernelSysTick
  • 7d3a5390 lib/cmsis_rtos_v1: Implement support for timer APIs
  • 055da731 lib/cmsis_rtos_v1: Implement support for mutex APIs
  • 45e67150 lib/cmsis_rtos_v1: Implement support for semaphore APIs
  • aff8c511 lib/cmsis_rtos_v1: Implement support for mempool APIs
  • 76fc443b lib/cmsis_rtos_v1: Implement support for kernel APIs
  • 7c67140b lib/cmsis_rtos_v1: Implement support for Mail Queue APIs
  • 3bb243c6 lib/cmsis_rtos_v1: Implement support for Message Queue APIs
  • b5df23e4 lib/cmsis_rtos_v1: Implement support for Signal Event APIs
  • 2fc836d2 lib: cmsis_rtos_v1: Fix timeout calculation in signals

Logging (7):

  • 66111d7d logging: use BUILD_ASSERT_MSG instead of _Static_assert
  • df8d4e96 logging: fix multi-file module support
  • 55327a18 logging: fix runtime filtering initialization
  • c859e2a2 logging: Replace ifdefs with if
  • 3c63d05d logging: Add metadata to hexdump
  • 2cb17a03 log: make name param explicit
  • ebc3ce3a Revert “log: make name param explicit”

Maintainers (1):

  • 3a257262 codeowners: Assign tests/boards/native_posix to aescolar

Miscellaneous (2):

  • 4486478f shell: Add missing header
  • 04b7838f misc: dlist: Fixed dlist.h error to pass checkpatch.pl script.

Networking (80):

  • 09233e69 net/dhcpv4: Move definitions to header
  • 3d5876d4 net/dhcpv4: Rename functions to follow domain related naming rules
  • 6d74e262 net/dhcpv4: Reorder variable declaration
  • 502912ac net/dhcpv4: Reuse generic IPv4 function relevantly
  • bb6b2769 net/dhcpv4: Tiny style fixes
  • 11ccf36a net/dhcpv4: Cleanup debug messages
  • 2ba28dd7 net/dhcpv4: Unify timeout management in a unique k_delayed_work
  • e487fc78 net: eth: mgmt: Minor formatting fix
  • a10a1c26 net: eth: Add API callback to get hw configuration
  • 3cd1425b net: eth: mgmt: Extend the management interface with a getter
  • 9ffab9e6 net: arp: Fix ARP message sending if VLAN is enabled
  • 2c1863ff net/ethernet: Add a way to configure MAC address filters into devices
  • 21a27e88 net: l2: Move individual L2 to dedicated directories
  • 96e794e6 net: openthread: Register OT unicast adresses in Zephyr
  • 80e828b9 net: openthread: Don’t regsiter mcast addresses in Zephyr multiple times
  • 00e37cbb net: IPv4 link local support
  • f568be48 net: eth: mgmt: Add Qav status hooks
  • cb3f30a0 net: shell: print info about priority queues
  • 528f7f8f net: shell: Print supported features for ethernet interfaces
  • 805e2f2c net: eth: mgmt: Merge 802.1Qav related mgmt requests
  • c3eea5f6 net: net_app: Correctly notify server on TCP disconnection
  • dd88711a net: eth: Vendor specific statistics
  • bab35512 net: ipv4_autoconf: Fix requested IPv4 address in ARP packet
  • 1f23d268 ip: route: disable LL address check when using dummy L2
  • 7c776c8c net: eth: native_posix: Add missing headers
  • c0487a06 net: tc: Fix priority to traffic class mappings
  • 126602ac net: tc: Add other priority to traffic class mappings
  • aed075ef net: ip: Fix net priorities definitions
  • b6852e5a net: eth: mgmt: Add remaining 802.1Qav parameter types
  • db577f00 net: buf: add linearize, append_bytes and skip APIs to net_buf
  • b7e68664 net: sockets: Fix setsockopt coverity issues
  • 2ff503b7 net: shell: Check strtol() conversion errors
  • 9c26c3fa net: lwm2m: no need to cleanup net_app_ctx in RD client
  • 59827626 net: l2: Add support for Link Layer Discovery Protocol (LLDP)
  • ccfcdaba net: l2: Add flags to tell if L2 supports multicast
  • 66244a0e net: if: No need to always join solicit node mcast group
  • 1f855095 net: l2: Add promiscuous mode to L2 flags when applicable
  • e75b6071 net: Fix credit-based shaper typos
  • b8fdf3c6 net: if: Add net_if_ipv6_select_src_iface() function
  • d0205693 net: if: Add net_if_select_src_iface() function
  • f39ff76c net: if: Do not inline net_if_ipv6_addr_lookup_by_iface()
  • d003d0e6 net: ipv4: Corrupted ARP pkt was sent instead of real IPv4 pkt
  • 33e06441 net: ipv4: Minor refactoring
  • fbac80bb net: ipv4: Refactor IPv4 header length handling
  • bfa75168 net: Do not set appdata on a cloned packet
  • c8b58904 net: ipv6: Fix memory leak
  • 31f89b03 net: eth: Add start and stop L2 functions
  • 06c4a950 net: icmpv6: Simplify the flow at net_icmpv6_get/set_xxx() calls
  • 6521b9e4 net: tcp: Fix net_buf leak in case of low available net_buf count
  • 7d55b7f1 net: icmpv4: Simplify the flow at net_icmpv4_get/set_xxx() calls
  • ac92a01f net: ipv6: Refactor IPv6 header length handling
  • 0aa437a1 net: ipv6: Fix regression in IPv6 cleanup
  • 8b1f966b net: tcp: Handle RST packet when multiple flags are set
  • 85db974e net: tls: Add DTLS protocol types
  • b03a388d net: tls: Add socket option to set DTLS role
  • 011b4f42 net: tls: Add timer handling for DTLS
  • 3ad2bbce net: tls: Add cookie for DTLS
  • 4aaffaff net: tls: Add DTLS peer address helpers
  • 8719f9a8 net: socket: Extract flag related functions to internal header file
  • 4c235dea net: tls: Add DTLS bio functions
  • 6c5aaa07 net: tls: Handle HELLO_VERIFY_REQUIRED during DTLS handshake
  • d021b8c6 net: tls: Adapt connect for DTLS
  • bdc56cfe net: tls: Support DTLS send and handshake
  • b1d82711 net: tls: Support DTLS recv and handshake
  • 8697cc94 net: tls: Add timeout for mbetTLS read
  • ae41ec1f net: tls: Make TLS poll implementation check mbedTLS data
  • 800392e1 net: tls: Enable non-blocking DTLS handshake
  • 7c487ba0 net: tls: Use EINVAL for NULL pointer error in option setters
  • 18cec245 net: introduce system calls for zsock socket APIs
  • 028aae1e net: config: Rename Kconfig options to correspond to library name
  • 96abe861 net/mqtt: Fix function mqtt_parser
  • 4b9d9809 net: if: Lower memory usage for IPv6 address, prefix and router info
  • 7c7cfdda net: core: Always have a timeout when allocating a net_buf
  • 4078e46e net: l2/lib: Always have a timeout when allocating a net_buf
  • 7e3eaaa0 net: Use packed enums when applicable
  • 14b4084d net: rpl: Kconfig: Fix ‘Network type’ choice default
  • 355d58b0 net: http: One extra byte was sent in last chunk
  • afa0e002 net: ipv6: Fix crash from fragmented packets
  • 5d3bc8b3 net: pkt: Added new function net_pkt_append_memset() to prefill packet
  • d66e8077 net/dhcpv4: Use new net_pkt_append_memset() function

Samples (23):

  • 9834b551 samples: net: gptp: Add support for Atmel SAM E70 Xplained board
  • aa609faa samples: board: 96b_argonkey: remove led blinking
  • 00dd90ef samples: ipm: improve sample metadata
  • 9f817c8c samples: net: Allow to register more adresses for OpenThread
  • c761002e samples: net/mqtt_publisher: Explicitly disable BT_TINYCRYPT_ECC
  • fd1fec8a samples: net: IPv4 autoconf sample application
  • 70a35e23 samples: sensors: mma8451q: Add accelerometer sample
  • 926c341c samples: net: lwm2m: add wnc-m14a2a overlay .conf file
  • 3e27187e samples: net: coaps_client: Increase IPv6 mcast table size
  • 0b012257 samples: net: lwm2m: cleanup prj.conf
  • c162bad3 samples: net: lldp: Sample application that enables LLDP support
  • a564e640 samples: subsys: mgmt: mcumgr: smp_svr: documentation update
  • d71a1dfe samples/driver/gpio : Updated gpio support
  • b7c254fc samples: net: Add DTLS support to socket echo_client/echo_server
  • df20ebd6 samples: boards: Fix incorrect min max range validation
  • b8b230f2 samples: net: echo-client: Handle net_buf out-of-mem gracefully
  • 38323783 samples: net: echo-server: Handle net_buf out-of-mem gracefully
  • 26322d65 samples: mesh: nrf52: upgrade state binding
  • 6efb173e samples: mesh: nrf52: Time filtering, Coding style & others
  • 993c349a samples: mesh: nrf52: Transition Time support, Coding Style
  • 0aafcd64 samples: mesh: nrf52 : to solve remaining PTS issues
  • f8d53e5d samples: drivers: Add sample application for LP5562
  • 36ef1921 samples: led_lp5562: cmake_minimum_required added

Scripts (7):

  • 94be858f scripts: west: sync with upstream
  • b3d165f3 scripts: kconfig: Handle warnings generated during evaluation
  • 8e740350 scripts/dts: extract_dts_includes: makes ‘defs’ and ‘structs’ global
  • 69a211fe scripts: extract_dts_includes: use deepcopcy when accessing reduced
  • 6686efb8 kconfiglib/menuconfig: Add functionality and improve symbol information
  • f24d4bb3 check-compliance: Simplify undefined Kconfig symbol check
  • f8a8bdf3 scripts: gen_app_smem.py: Removing a needless file.

Storage (2):

  • b9dead0a subsys: fs/nvs: Improved nvs for larger blocksizes
  • 7d2e5981 subsys: fs/nvs: Rewrite for improved robustness

Testing (62):

  • bb8cb5ac tests: pipe: Add description and RTM links
  • f19a0538 tests: watchdog: Add new testcase and improve existing ones
  • 55642afe tests: obj_tracing: Add obj_tracing tests for kernel objects
  • dbc8789a tests: sched: Enhance tests to improve code coverage
  • abd646c3 tests: net: ethernet_mgmt: Test the new get_config callback
  • 6101e232 tests: net: TLS credentials subsystem tests
  • 44be3943 tests/benchmarks/footprint/min/x86: disable I2C and SPI
  • d05bee87 tests: kernel: profiling: Add description and doxygen group
  • 87de383c tests: CONFIG_ARC_INIT is n by default
  • 07a8c0cf tests: kernel: Add test to verify k_thread_user_mode_enter()
  • f16a7ea8 tests: flash_map: Disable write protection before erase
  • 08db8c19 tests: flash_map: Enable mpu and allow flash write
  • 08470c0f tests: flash_map: Don’t enable stdout console
  • 45f34a43 tests: flash_map: Add k64-based boards to platform whitelist
  • 966ab0e4 tests: net: ethernet_mgmt: Add Qav status tests
  • 0b76567a tests: mem_protect: Add description and doxygen groups
  • 67d2ddc6 tests: mem_protect: Add RTM links and description
  • 334ce69e tests: net: ipv6: Must use Ethernet L2 instead of Dummy L2
  • 71523ece tests: native_tasks: Add missing header
  • 1ad369df tests: crypto: cbc_mode: Fix input length
  • b8ca8cf9 tests: net: lib: coap: Added new functions to improve code coverage
  • d380c891 tests: net: Add new TC mappings testcases
  • 7930419a tests: net: ethernet_mgmt: Improve and finish Qav testing
  • 05d9b046 tests: net: iface: Add test for net_if_ipv6_select_src_iface()
  • 297efa51 tests: net: iface: Add test for net_if_select_src_iface() function
  • cd3e5b56 tests/kernel: kernel.queue.poll: fails if MAX_THREAD_BYTES > 2
  • b16b4e6e tests: kernel: add tests for dynamic threads
  • 3a82aef5 tests: lib: mem_alloc: Add tests to validate dynamic allocation
  • 45a1c1fb tests: net: ipv6: Wrong API struct was used for ethernet device
  • 4ae9dd5a tests: mp: Add description, RTM links and doxygen group
  • 477219b2 tests: syscall: Add description and RTM links
  • 0975663e tests: x86_mmu_api: Add description and doxygen groups
  • b32b39af tests: userspace: Remove extra call to same testcase
  • 6910f15f tests: protection: Add description and doxygen group
  • 234f48e1 tests: userspace: Add description and doxygen links
  • dec8b9e5 tests: msgq: Add description and RTM links
  • b3f4d6b0 tests: lifo: Add description and RTM links
  • 68bde79e tests: kernel: device: Add RTM link, description and doxygen group
  • b073b296 tests/booting/stub: remove CONFIG_ARC_INIT
  • e21e6c1b tests: posix: improve pthread_key test
  • 8525944c tests: power: refactor power_states test
  • db9f6a90 tests: obj_tracing: Enhance object tracing test
  • a54a887a tests: kernel: Add doxygen groups
  • 648477c6 tests: static_idt: Add description and RTM links
  • 4cc28663 tests: FIFO: Add description and RTM links
  • 0ab496b5 tests/cmsis_rtos_v1: Introduce tests to make use of Thread APIs
  • b2b53196 tests/cmsis_rtos_v1: Introduce tests to verify Thread instances
  • a57d994a tests/cmsis_rtos_v1: Introduce tests to make use of Timer APIs
  • a76556a2 tests/cmsis_rtos_v1: Introduce tests to make use of Mutex APIs
  • c996d058 tests/cmsis_rtos_v1: Introduce tests to make use of Semaphore APIs
  • d543e8c8 tests/cmsis_rtos_v1: Introduce tests to make use of mempool APIs
  • 1b6eb7d1 tests/cmsis_rtos_v1: Introduce tests to make use of mailq APIs
  • f4999f79 tests/cmsis_rtos_v1: Introduce tests to make use of messageQ APIs
  • f7779895 tests/cmsis_rtos_v1: Introduce tests to make use of Signal APIs
  • 7dc09636 tests: spi_loopback: Increase size of async callback thread stack
  • f15bca29 tests: spi_loopback: Add zasserts to fix false passes
  • ecd7504d tests: spi_loopback: Increase k_poll timeout
  • 5b3a7ed7 tests: kernel: Do not use exact time in timing checks.
  • 5f1d6264 tests: CONFIG_ARC_INIT is n by default
  • 331659c7 tests/net: ieee802154: fragment: Fix build error
  • 74e02e5d tests: cmsis_rtos_v1: add negative tests
  • c9ca1994 tests: cmsis_rtos_v1: Add and enhance test suite
comments powered by Disqus