Commit graph

85,247 commits

Author SHA1 Message Date
Kumar Gala
1c8f1cd590 tests: kernel: interrupt: workaround qemu_x86 interrupt issue
qemu_x86 seems to take an extra instruction after the sti instruction
(irq_unlock) happens before it posts the interrupts.  This can issues
if the instruction after the sti ends up reading the state that is
suppose to be updated by the ISR handler.

We see this behavior when building with LLVM.  To workaround this issue
we add an arch_nop() to provide an extra instruction to allow the
interrupts to post.

Opened zephyrproject-rtos/sdk-ng#629 to track qemu issue.

Signed-off-by: Kumar Gala <kumar.gala@intel.com>
2023-02-21 16:17:20 -05:00
Andriy Gelman
4e13e6ada7 drivers: serial: xmc4xxx: Fix Kconfig help entry
The configurations are no longer hard coded for UART_0.

Signed-off-by: Andriy Gelman <andriy.gelman@gmail.com>
2023-02-21 21:15:53 +01:00
Andriy Gelman
eb5fd177d1 tests: drivers: uart_async_api_api: Add overlay for xmc45_relax_kit
Adds overlay and config for xmc45_relax_kit.
The Kconfig entry CONFIG_SPEED_OPTIMIZATIONS=y must be set
to pass the test at baudrate 921600 bps.

Signed-off-by: Andriy Gelman <andriy.gelman@gmail.com>
2023-02-21 21:15:53 +01:00
Andriy Gelman
30b11260be drivers: uart_xmc4xxx: Add async support
Adds async uart for xmc4xxx SoCs.

Signed-off-by: Andriy Gelman <andriy.gelman@gmail.com>
2023-02-21 21:15:53 +01:00
Andriy Gelman
cfeaada65e drivers: uart_xmc4xxx: Change order of functions
This patch is in preparation of uart async support. There are no
functional changes. The patch changes the ordering of functions to
organize shared functions between async/interrupt driven in the same order.
Also move uart_xmc4xxx_init() so that a forward declaration can be
removed.

Signed-off-by: Andriy Gelman <andriy.gelman@gmail.com>
2023-02-21 21:15:53 +01:00
Andriy Gelman
3dac715569 drivers: uart_xmc4xxx: Split up tx/rx into separate service requests
In preparation for async support. In async uart, service requests are
forwarded to separate dma lines. This patch splits up tx/rx into
separate service requests to enable this.

Also put service request enable code into a separate function. Before,
the same code was generated for different uart devices.

Signed-off-by: Andriy Gelman <andriy.gelman@gmail.com>
2023-02-21 21:15:53 +01:00
Andriy Gelman
8a97da056b drivers: dma: Add infineon xmc4xxx dma support
Adds dma drivers for xmc4xxx SoCs.

Signed-off-by: Andriy Gelman <andriy.gelman@gmail.com>
2023-02-21 21:15:53 +01:00
Anas Nashif
74db50b99d ci: twister: set run_date when uploading data to elasticsearch
This way we will get unified data across the matrix and will not have
duplications when re-running a job.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2023-02-21 13:06:29 -05:00
Anas Nashif
59b3e5ba11 ci: elasticsearch: do not set id for documentats.
Do not set id for docuemnts, lets elasticsearch do that on its own.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2023-02-21 13:06:29 -05:00
Anas Nashif
39324048eb ci: elasticsearch: set run date when uploading data
To get consistent and 1 single rundate per CI run, set run_date when
we upload the data. This is optional mostly for CI and to avoid
duplication when we re-run jobs.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2023-02-21 13:06:29 -05:00
Keith Short
3af657b001 MAINTAINERS: Add Coding Guidelines section
Create a new section that groups files related to the coding guidelines.
This includes documentation and code formatting configuration files.

Signed-off-by: Keith Short <keithshort@google.com>
2023-02-21 13:05:54 -05:00
Keith Short
767972355f docs: Make 100 column limit for code explicit
Zephyr's coding style is based on the Linux kernel coding style, which
indicates a preferred limit of 80 columns. Zephyr's .clang-format sets
the ColumnLimit to 100. Update the documentation to match the
.clang-format parameters.

Signed-off-by: Keith Short <keithshort@google.com>
2023-02-21 13:05:54 -05:00
Anas Nashif
f548a159d1 tests: ztest: busysim: update to new ztest API
Use new ztest API.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2023-02-21 18:10:59 +01:00
Marcin Niestroj
2087579d8e drivers: wifi: esp_at: support WiFi 'iface_status' callback
This allows to fetch information about currently connected WiFi network,
e.g. with WiFi mgmt shell commands:

  uart:~$ wifi status
  Status: successful
  ==================
  State: COMPLETED
  Interface Mode: STATION
  Link Mode: UNKNOWN
  SSID: Tp-Link
  BSSID: xx:xx:xx:xx:xx:xx
  Band: 2.4GHz
  Channel: 13
  Security: UNKNOWN
  MFP: UNKNOWN
  RSSI: -39

Signed-off-by: Marcin Niestroj <m.niestroj@emb.dev>
2023-02-21 18:09:40 +01:00
Jonas Remmert
098749bb45 samples: mesh_badge: fix BT mesh provisioning error
The BT Mesh Configuration Client API is used in an asynchronous manner
and the app key was not added before attempt binding it to mesh models.
This caused the binding functions to fail and resulted in a fail when
trying to to send mesh messages.

This commit registers a callback that is called when the app key is
assigned. After this callback is called, the binding functions are
called.

Signed-off-by: Jonas Remmert <j.remmert@phytec.de>
2023-02-21 18:36:05 +02:00
Anas Nashif
9d6446a7a1 doc: api: rename API WG to Arch WG
The API WG was renamed to Architecture WG.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2023-02-21 08:23:37 -06:00
Zachary J. Fields
8dbe58907d os: bitarray.c: Address -Wextra warnings
Changed incrementing `for` loop counters to `size_t` from `int` to
eliminate warning, "warning: comparison of integer expressions of
different signedness: 'uint32_t' {aka 'unsigned int'} and 'int'
[-Wsign-compare]"

Signed-off-by: Zachary J. Fields <zachary_fields@yahoo.com>
2023-02-21 15:07:20 +01:00
Fabio Baltieri
9b30667c77 build: drop LEGACY_INCLUDE_PATH support
LEGACY_INCLUDE_PATH has been defaulting to "n" and marked as deprecated
in both v3.2 and v3.3. Drop the option entirely for v3.4.

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2023-02-21 15:06:48 +01:00
Siyuan Cheng
f874ba2746 zdsp: add in-place operaton test for basicmath
Add in-place calculatoin test for every functions in basicmath

Signed-off-by: Siyuan Cheng <siyuanc@synopsys.com>
2023-02-21 15:06:06 +01:00
Siyuan Cheng
b475e1fcbf zdsp: add ARC DSPLIB backend for zdsp
Introduce ARC DSPLIB backend zdsp library for ARC target.
Add agu and restrict attributes to map with ARC DSPLIB

Signed-off-by: Siyuan Cheng <siyuanc@synopsys.com>
2023-02-21 15:06:06 +01:00
Siyuan Cheng
a0db069978 zdsp: Introduce attribute marco for third-party backend
Introduce DSP_DATA and DSP_STATIC_DATA attribute marco
to support third-party backend

Signed-off-by: Siyuan Cheng <siyuanc@synopsys.com>
2023-02-21 15:06:06 +01:00
Conor Paxton
1462751681 dts: mpfs_icicle: remove incorrect compatible from cpus
remove the microsemi vendor compatible from Microchip's PolarFire SoC
mpfs_icicle platform

Signed-off-by: Conor Paxton <conor.paxton@microchip.com>
2023-02-21 15:04:56 +01:00
Conor Paxton
978a0eba21 dts: mpfs_icicle: add cpu nodes
Microchip's PolarFire SoC has a core complex consisting of one e51
monitor core and four u54 application cores. Add the remaining cpu nodes
to mpfs-icicle device tree. Add the software and timer interrupt irq's
to the clint for the additional cpu nodes.

Signed-off-by: Conor Paxton <conor.paxton@microchip.com>
2023-02-21 15:04:56 +01:00
Marcin Niestroj
650b244215 drivers: wifi: esp_at: fetch version of ESP-AT firmware
For development and debugging purposes it is good to know what is the
version of ESP-AT firmware used on modem. This can be fetched with AT+GMR
command.

Fetch this information during driver init and log all available version
strings, so they look like that:

  wifi_esp_at: AT version: 2.1.0.0(883f7f2 - Jul 24 2020 11:50:07)
  wifi_esp_at: SDK version: v4.0.1-193-ge7ac221
  wifi_esp_at: compile time: (0ad6331):Jul 28 2020 02:47:21
  wifi_esp_at: Bin version: 2.1.0(WROOM-32)

Signed-off-by: Marcin Niestroj <m.niestroj@emb.dev>
2023-02-21 15:04:08 +01:00
Andrzej Głąbek
22b17e490b arch: arm: aarch32: Introduce z_arm_on_enter_cpu_idle() hook
Introduce an optional hook to be called when the CPU is made idle.
If needed, this hook can be used to prevent the CPU from actually
entering sleep by skipping the WFE/WFI instruction.

Signed-off-by: Andrzej Głąbek <andrzej.glabek@nordicsemi.no>
2023-02-21 15:03:30 +01:00
Andrzej Głąbek
68bd036947 drivers: entropy_nrf5: Eliminate direct use of WFE instructions
Use the appropriate kernel function, i.e. `k_cpu_atomic_idle()`,
instead of directly executing the WFE instruction.

Signed-off-by: Andrzej Głąbek <andrzej.glabek@nordicsemi.no>
2023-02-21 15:02:54 +01:00
Stig Bjørlykke
0f71a130ef net: sockets: getaddrinfo: Minor refactoring
Minor refactoring in getaddrinfo() to make the code easier to
read and to make handling IPv4 and IPv6 support more equal.

- Move common wait and error handling code to exec_query()
- Use the same check for CONFIG_NET_IPV4 and CONFIG_NET_IPV6
- Add extra sanity check for family before exec_query()
- Do not set errno when return DNS_EAI_ADDRFAMILY

Fix issue with setting port number for all DNS servers.

Signed-off-by: Stig Bjørlykke <stig.bjorlykke@nordicsemi.no>
2023-02-21 15:02:35 +01:00
Erwan Gouriou
d92aaba3bc github: bug template: Propose users to create discussion topic
In order to minimize the number of users creating bug that are actually
an issue in their application, remind the existence and purpose of
github Dicussions.

Signed-off-by: Erwan Gouriou <erwan.gouriou@linaro.org>
2023-02-21 08:59:08 -05:00
Kumar Gala
d31814e990 tests: Fix floating point test variants on x86 w/LLVM
LLVM doesn't support SSE + 387 math.  As such if SSE is enabled we
have to utilize SSE floating point.  To utilize 387 math, SSE has
to be disabled.

Update the floating point related tests to introduce 387 only variants
that will build on both GCC & LLVM based tools.  Than we exclude llvm
based (llvm, oneApi) toolchains from the CONFIG_X86_SSE_FP_MATH=n and
CONFIG_X86_SSE=y test variants.

Signed-off-by: Kumar Gala <kumar.gala@intel.com>
2023-02-21 08:25:38 -05:00
Hu Zhenyu
6559c62ef3 tests: net: trickle move to new ztest API
Move trickle tests to use new ztest API
TEST=twister -T tests/net/trickle

Signed-off-by: Hu Zhenyu <zhenyu.hu@intel.com>
2023-02-21 08:24:35 -05:00
Martí Bolívar
0de8c6bf29 .github: doc-build: move to west 1.0.0
The release notes are in and west==1.0.0 is installable via pypi.
Move the doc build over to it and fix a typo while we are here.

Signed-off-by: Martí Bolívar <marti.bolivar@nordicsemi.no>
2023-02-21 19:39:50 +09:00
Emil Gydesen
4f5e113dfd Bluetooth: Audio: Fix bad log statement in cap_initiator
Fix missing argument for a log statement.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2023-02-21 11:00:18 +01:00
Stig Bjørlykke
cb50d49f33 net: icmpv6: Implement IPv6 RA Recursive DNS Server option
Handle RA RDNSS and use the first DNS server fetched. This is needed
when building IPv6 only without static DNS server IP addresses.

This implementation does not handle the lifetime, because the current
resolve logic does not have support for a DNS server lifetime.

Signed-off-by: Stig Bjørlykke <stig.bjorlykke@nordicsemi.no>
2023-02-21 10:59:18 +01:00
Ajay Parida
c69731a281 net: wifi_mgmt: Display TWT setup response status
Display the TWT setup response status.

Signed-off-by: Ajay Parida <ajay.parida@nordicsemi.no>
2023-02-21 10:58:40 +01:00
Jeroen van Dooren
d20cceb48e net: ip: net_mgmt: Increase default queue size
There is no reason why the default size should be 2,
because an event is only a combination of

{uint32_t + void*} + info

Using 2 as default causes a high risk of loosing events,
setting the default to a more sensible value of 5 still
restricts memory usage but keeps it more safe.

Signed-off-by: Jeroen van Dooren <jeroen.van.dooren@nobleo.nl>
2023-02-21 10:58:10 +01:00
Jeroen van Dooren
a63fcb67b6 net: ip: net_mgmt: Prevent loss of event
The current implementation doesn't handle
re-entrant calls correctly, causing events
to get lost.

Under specific conditions, re-entrancy happens
from event callback done by net_mgmt.c back into
'net_mgmt_event_notify_with_info' causing circular
buffer administration corruption.

These conditions are:

- llmnr_iface_event_handler
- mdns_iface_event_handler
- wifi_mgmt_raise_connect_result_event
- dhcpv4_immediate_timeout uses a workaround

Validated the fix on a Nucleo_H743ZI, using an
sample app.

Signed-off-by: Jeroen van Dooren <jeroen.van.dooren@nobleo.nl>
2023-02-21 10:58:10 +01:00
Anas Nashif
0151368a92 MAINTAINERS: add docs to respective areas
Update MAINTAINERS file with file patterns related to area.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2023-02-20 16:19:19 -05:00
Anas Nashif
b3f62eed4b MAINTAINERS: add tests to counter area
Update MAINTAINERS file with file patterns related to area.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2023-02-20 16:19:19 -05:00
Anas Nashif
af5e71de7a MAINTAINERS: add tests to led_strip area
Update MAINTAINERS file with file patterns related to area.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2023-02-20 16:19:19 -05:00
Anas Nashif
56b572e453 MAINTAINERS: add tests to i3c area
Update MAINTAINERS file with file patterns related to area.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2023-02-20 16:19:19 -05:00
Anas Nashif
7ba58af9f9 MAINTAINERS: add tests to fpga area
Update MAINTAINERS file with file patterns related to area.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2023-02-20 16:19:19 -05:00
Anas Nashif
2e9ce427e2 MAINTAINERS: add bbram area
Update MAINTAINERS file with file patterns related to area.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2023-02-20 16:19:19 -05:00
Anas Nashif
c8ffaa14f7 MAINTAINERS: add sensor tests to area
Update MAINTAINERS file with file patterns related to area.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2023-02-20 16:19:19 -05:00
Anas Nashif
5ff2b0604a MAINTAINERS: add virtualization area
Update MAINTAINERS file with file patterns related to area.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2023-02-20 16:19:19 -05:00
Anas Nashif
a120b7286a MAINTAINERS: add lvgl tests to area
Update MAINTAINERS file with file patterns related to area.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2023-02-20 16:19:19 -05:00
Anas Nashif
501d8df2b6 MAINTAINERS: add p4workq to kernel area
Update MAINTAINERS file with file patterns related to area.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2023-02-20 16:19:19 -05:00
Anas Nashif
3efa694086 MAINTAINERS: add fdtable tests to posix area
Update MAINTAINERS file with file patterns related to area.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2023-02-20 16:19:19 -05:00
Martí Bolívar
5e0a6cd076 doc: west: release notes for west v1.0
Document the west v1.0 release, which brings with it stable APIs,
removal of legacy APIs, and other changes.

Signed-off-by: Martí Bolívar <marti.bolivar@nordicsemi.no>
2023-02-20 13:00:47 -08:00
Martí Bolívar
e150ad6258 .github: build docs with west v1.0.a1
The alpha for this release is up on pypi; start using it so we can
test out the doc build in CI.

Signed-off-by: Martí Bolívar <marti.bolivar@nordicsemi.no>
2023-02-20 13:00:47 -08:00
Krishna T
55802e5e86 net: l2: ethernet: Fix double free
In the case of no ARP entry, the incoming packet is added to the ARP's
pending queue, while ARP is being resolved. Here a reference is taken
by the ARP layer to the packet to avoid it being freed, but the Ethernet
immediately puts down the reference and send the ARP packet to the
driver.

If the ARP request fails for some reason, L2 returns failure to net_if
which then puts down the reference and the packet will be freed as the
reference count is now zero.

But the packet is still in the ARP's pending queue and after timeout
ARP will put down the reference causing double free bus fault (double
free message is only seen if the CONFIG_NET_PKT_LOG_LEVEL_DBG is
enabled, so, a bit hard to debug.

Fix this by clearing the ARP entry and pending queue after taking a
reference and then free ARP packet, IP packets are either freed by ARP
pending queue drain or net_if layer.

Signed-off-by: Krishna T <krishna.t@nordicsemi.no>
2023-02-20 19:45:28 +01:00