Commit Graph

52399 Commits

Author SHA1 Message Date
Carles Cufi
2189c08e4e ci: Add an errno.h check to CI
Add a very simple check that verifies that new error numbers are added
according to the errno.h file in newlib, in order to maintain
compatibility with it.

Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>
2021-05-17 09:11:15 -04:00
Carles Cufi
14b358a252 libc: minimal: Add EOVERFLOW
Add the EOVERFLOW error number, which is already in use by some of
Zephyr's modules.

Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>
2021-05-17 09:11:15 -04:00
Carles Cufi
1e26e08a92 libc: minimal: Add doxygen formatting to errno.h
Format the file so it can be processed by Doxygen.

Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>
2021-05-17 09:11:15 -04:00
Carles Cufi
165def7ea6 libc: minimal: Align errno.h values with newlib
In order to be able to document the error codes with Doxygen and
Breathe, start by aligning the macro values to those provided by newlib
in include/sys/errno.h:

https://github.com/zephyrproject-rtos/newlib-cygwin/blob/zephyr-newlib-4.1.0/newlib/libc/include/sys/errno.h

Also get rid of the (unused and untrue) ERRMAX definition.

Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>
2021-05-17 09:11:15 -04:00
Kevin Townsend
829e02ffc8 boards: arm: lpc55s: Add missing trustzone flag
This commit adds the missing `ARM_TRUSTZONE_M` config flag
from TrustZone-enabled cores on LPC55sxx board targets.

Signed-off-by: Kevin Townsend <kevin.townsend@linaro.org>
2021-05-17 08:04:07 -05:00
Trond Einar Snekvik
878043aff1 Bluetooth: Mesh: Change friend_cred decision point to friend selection
The network layer previously decided to use the friend credentials if
there was an established friendship. During the friendship setup phase,
the friendship is not considered established until the LPN receives the
first friend poll. Before this happens, the LPN should send a friend
poll message, encrypted with the friendship credentials. This wrongly
gets encrypted with the master credentials.

Change the decision point to whether the LPN has selected a friend,
which happens after the friend offer, and before the friend poll. This
will remain set for the duration of the friendship.

Signed-off-by: Trond Einar Snekvik <Trond.Einar.Snekvik@nordicsemi.no>
2021-05-17 13:36:24 +03:00
Pavel Vasilyev
22fabefdf2 Bluetooth: Mesh: Add VA flag to generic pending flags
This adds BT_MESH_SETTINGS_VA_PENDING to GENERIC_PENDING_BITS
as it should be stored by CONFIG_BT_MESH_STORE_TIMEOUT.

Signed-off-by: Pavel Vasilyev <pavel.vasilyev@nordicsemi.no>
2021-05-17 13:23:30 +03:00
Pavel Vasilyev
3ae0f96acb Bluetooth: Mesh: Fix incorrect flag check in mesh settings
This bug was introduced in PR #31176, where setting's flags were
moved out from bt_mesh.flags to pending_flags.

Signed-off-by: Pavel Vasilyev <pavel.vasilyev@nordicsemi.no>
2021-05-17 13:23:30 +03:00
Andy Ross
41e885947e arch/x86: Correct multiboot interpretation when building for EFI
When loaded via EFI, we obviously don't have a multiboot info pointer
available (we might have an EFI system table, but zefi doesn't pass
that through yet).  Don't try to parse the "whatever garbage was in
%rbp" as a multiboot table.

The configuration is a little clumsy, as strictly our EFI kconfig just
says we're "building for" EFI but not that we'll boot that way.  And
tests like arch/x86/info are trying to set CONFIG_MULTIBOOT=n
unconditionally, when it really should be something they detect from
devicetree or wherever.

Fixes #33545

Signed-off-by: Andy Ross <andrew.j.ross@intel.com>
2021-05-15 15:30:02 -04:00
Andy Ross
653e7a28ea tests/kernel/common: Skip bitarray tests when KERNEL_COHERENCE
Kernel objects that contain embedded synchronization structures like
spinlocks can't be palced in the (cached/incoherent) stack memory on
coherence platforms like intel_adsp.

The normal fix in a test case is just to make the offending data
static, but that's painful here because SYS_BITARRAY_DEFINE declares
two objects (i.e. you can't put a "static" in front of it as with
similar macros) and it happens to be used in this case to define local
variables with collliding names, so I'd have to go in and rename
everything.

And there's little value anyway.  Bitarrays are nearly-pure data
structures and extremely unlikely to show up platform-dependent
behavior.

Fixes #35242

Signed-off-by: Andy Ross <andrew.j.ross@intel.com>
2021-05-15 15:28:43 -04:00
Enjia Mai
05d8c6fc78 tests: kernel: fix two semaphroe testcases failed on ADSP
Two testcases of semaphore failed in ADSP due to the timeout value
we got back from the child thread is invalid. We put the variable in
the bss instead of in a stack, trying to avoid this.

Fixes #34687

Signed-off-by: Enjia Mai <enjiax.mai@intel.com>
2021-05-14 16:41:21 -04:00
Sylvio Alves
384d05932f driver: uart: esp32: DT fix to allow uart2
UART2 would not be available with current DT implementation.

Signed-off-by: Sylvio Alves <sylvio.alves@espressif.com>
2021-05-14 16:41:03 -04:00
Ryan Erickson
62ccddb035 drivers: modem: hl7800: fix update RAT
The default behavior of the +KSRAT= command has
changed to not reboot the HL7800.
Adjust the command so the reboot takes place properly.

Signed-off-by: Ryan Erickson <ryan.erickson@lairdconnect.com>
2021-05-14 08:25:49 -05:00
Kumar Gala
21d1ad3762 drivers: gpio: gpio_cy8c95xx: Add error check of i2c_reg_read_byte
Check return value from i2c_reg_read_byte and error out if it
received an error

Fixes #35155

Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
2021-05-14 02:56:31 -05:00
Krzysztof Chruscinski
8152992a13 logging: Simplify runtime filtering
Simplified handling of runtime filtering that lead to removal
of LOG_CHECK_CTX_LVL_FILTER macro. Fixing multiply coverity issues
like CID 236013.

Signed-off-by: Krzysztof Chruscinski <krzysztof.chruscinski@nordicsemi.no>
2021-05-13 22:08:44 -04:00
Alexandre Bourdiol
c3d35d89a3 drivers: bluetooth: hci: increase spi_rx_stack
Thread analyze:
 BT SPI RX : STACK: unused 216 usage 296 / 512 (57 %)

Fixes #34601

Signed-off-by: Alexandre Bourdiol <alexandre.bourdiol@st.com>
2021-05-13 22:07:45 -04:00
Jan Buenker
6815ef4a46 net: lwm2m: Only parse TLV from the first block
This was already implemented for firmware update packages.
For other opaque resources it failed to determine the target resource
id, which is now stored in the block_context.

Signed-off-by: Jan Buenker <jan.buenker@grandcentrix.net>
2021-05-13 22:07:25 -04:00
Jukka Rissanen
dab391f253 tests: net: getaddrinfo: Disable onboard Ethernet controller
If the tests/net/socket/getaddrinfo is run in a board that has
Ethernet controller, then it is possible that it will interfere
the test if the Ethernet cable is connected. As the test only
needs loopback support to run, disable the Ethernet as it is
not needed by the test.

Fixes #34923

Signed-off-by: Jukka Rissanen <jukka.rissanen@linux.intel.com>
2021-05-13 22:07:00 -04:00
Wealian Liao
a336f7e521 soc: npcx: Move ecst to npcx common folder
NPCX series ROM code changes the chip basic setting by firmware binary
header for loading the firmware from flash to RAM. Add the following to
improve the ec firmware header setting:

- Move the ECST which generates the firmware binary header to NPCX
common folder. All the following NPCX series chips can use this.
- Add ecst setting option in Kconfig.

Signed-off-by: Yuval Peress <peress@chromium.org>
Signed-off-by: Wealian Liao <WHLIAO@nuvoton.com>
2021-05-13 22:06:33 -04:00
Vinayak Kariappa Chettimada
7897eae2b4 Bluetooth: controller: Fix PPIs use for nRF52805 SoC
Fix regression in PPIs use for nRF52805 SoC, which has
fewer of them. And the regression was introduced in
commit e603b9d59e ("Bluetooth: controller: Adjust PPI
used for nRF51x and nRF52x").

Fixes #35204.

Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
2021-05-13 22:05:41 -04:00
George White
f54e1eddbe runners: bossac: Arduino bootloader reset on macOS
Fixes compatibility with the Arduino bootloader reset mechanism when
using `west flash` on Darwin hosts.

stty is used to set the serial port in the bossac runner to 1200 baud on
Arduino ATSAMD21 bootloaders. The `-F` argument to stty is a GNU
coreutils addition, and thus it is missing from Darwin's BSD stty, so
change the flag to `-f` when we're not running on Linux.

On Darwin, set DEFAULT_BOSSAC_PORT to None and ask the user to select
one from a list of IOCalloutDevices reported by ioreg, modelled on the
get_board_snr from the nrfjprog runner. This is because serial port TTYs
are generated by the device driver, and therefore there is no safe
default.

Tested with an Arduino Nano 33 IoT board.

Signed-off-by: George White <me@galexite.uk>
2021-05-13 22:05:17 -04:00
Kieran Mackey
5e10e77b69 drivers: dac: mcp4725: remove usage of device_pm_control_nop
Fixes issue #35263

Signed-off-by: Kieran Mackey <kieran.mackey@lairdconnect.com>
2021-05-13 22:04:14 -04:00
Watson Zeng
3e369f935c tests: msgq_usage: ensure all services started before client query
add semaphores to ensure all services started before client query.
otherwise client query services may fail.

Signed-off-by: Watson Zeng <zhiwei@synopsys.com>
2021-05-13 22:03:55 -04:00
Sylvio Alves
4996604d45 west.yml: esp32: bugfixes and improvements
Fix SPIRAM implementation on HAL side

Signed-off-by: Sylvio Alves <sylvio.alves@espressif.com>
2021-05-13 22:03:39 -04:00
Sylvio Alves
ad0bf94f77 linker: esp32: fix empty iterable symbols
Z_ITERABLE_SECTION_ROM symbols were empty, meaning
that those symbols were not taking place in the linker script.

Signed-off-by: Sylvio Alves <sylvio.alves@espressif.com>
2021-05-13 22:03:39 -04:00
Andy Ross
6941c8fda9 tests/kernel/smp: Misc synchronization fixups
A few mistakes in recent changes to this test:

There was a "LOCK_NO" (i.e. no locking!) case being exercised in
test_inc_concurrency, where three threads would race against each
other incrementing and decrementing a single count without
synchronization.  And... it failed on cAVS.  Because there was no
synchronization.  Just remove.

The LOCK_IRQ (irq_un/lock()) case of the same test was was casting
taking a pointer to an integer (that stored the irq_lock() result) and
casting the pointer value to an integer instead of dereferencing it.

Also the workq test had a work item on the stack, which is forbidden
when KERNEL_COHERENCE=y

Fixes #34152

Signed-off-by: Andy Ross <andrew.j.ross@intel.com>
2021-05-13 22:03:05 -04:00
Enjia Mai
e2f6b9536c tests: interrupt: fix coverity issue of newly added testcases
Should not use -1 as an input parameter for unsigned int. Use zero
instead of -1 as invaild interrupt number to fix coverity warning.

Fixes #35146
CID: 235994

Signed-off-by: Enjia Mai <enjiax.mai@intel.com>
2021-05-13 22:02:47 -04:00
Joakim Andersson
253350c6e7 Kconfig: Increase default thread analyzer stack size
Increase the default thread analyzer stack size. On ARM systems the
stack usage is higher with CONFIG_FPU enabled.
The default of 512 is not enough in this case and lead to stack
overflow.

Signed-off-by: Joakim Andersson <joakim.andersson@nordicsemi.no>
2021-05-13 12:36:57 -04:00
Mulin Chao
3bd31aefae pm: npcx: consider host wake-up features only if espi is selected.
This CL limits the compiler to consider the eSPI/LPC host wake-up
functions, such as npcx_host_disable_access_interrupt and
npcx_host_disable_access_interrupt, only if eSPI bus module is selected.
Otherwise, we will encounter compiler errors if the communication
between host and ec is via SPI, not eSPI/LPC bus.

Signed-off-by: Mulin Chao <mlchao@nuvoton.com>
2021-05-13 12:35:43 -04:00
Tim Lin
5f5fb7d792 ite: drivers/adc: it8xxx2: fix adc driver flow
This commit fixes the ADC driver flow. And add internal
reference voltage to ADC driver API. And correct the
data buffer that only need to store raw data.

Signed-off-by: Tim Lin <tim2.lin@ite.corp-partner.google.com>
2021-05-13 11:54:05 -04:00
Tim Lin
bb40d93f27 ite: drivers/i2c: it8xxx2: fix slave address from 7-bit to 8-bit
This commit fixes the slave address from 7-bit to 8-bit.

Signed-off-by: Tim Lin <tim2.lin@ite.corp-partner.google.com>
2021-05-13 11:52:53 -04:00
Tim Lin
7b0a89e4c3 ite: drivers/i2c: it8xxx2: fix i2c_reset issue
After i2c_reset, there is still no external pull-up I2C bus,
and finishing off the rest of loop causes the code to hang
indefinitely.
This patch fixes that if I2C bus is not available(No external
pull-up), dropping the transaction.

Signed-off-by: Tim Lin <tim2.lin@ite.corp-partner.google.com>
2021-05-13 11:52:53 -04:00
Ying ming
8f823a07d3 tests: libc: Update character output testcases to solve coverity issues
1. Refine some testcases for testing some character output function.
2. Delete some negative testcases which will not invoke fatal error.

Fixes #33822
Fixes #33803
Fixes #33801
Fixes #33800
Fixes #33790

Signed-off-by: Ying ming <mingx.ying@intel.com>
2021-05-13 11:15:39 -04:00
Daniel Leung
216dc5ddfe kernel: mmu: remove un-needed call to virt_to_bitmap_offset
When marking the reserved region at the end of virtual address
space, call virt_to_bitmap_offset() is not needed as we already
know the offset. So remove it.

Coverity-CID: 235930
Fixes #35160

Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2021-05-13 09:00:54 -05:00
Stephanos Ioannidis
6bc42ae309 tests: lib: Add newlib thread safety test
This commit adds a new test to verify the thread safety of the C
standard functions provided by newlib.

Only the memory management functions (malloc and free) are tested at
this time; this test will be further extended in the future, to verify
the thread safety and re-entrancy of all supported newlib functions.

Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
2021-05-13 07:30:43 -05:00
Stephanos Ioannidis
1ff6664e98 lib: newlib: Remove internal _sbrk lock
This commit removes the lock inside the newlib internal `_sbrk`
function, which is called by `malloc` when additional heap memory is
needed.

This lock is no longer required because any calls to the `malloc`
function are synchronised by the `__malloc_lock` and `__malloc_unlock`
functions.

Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
2021-05-13 07:30:43 -05:00
Stephanos Ioannidis
b0e690ac1e lib: newlib: Add malloc lock
This commit adds a lock implementation for the newlib heap memory
management functions (`malloc` and `free`).

The `__malloc_lock` and `__malloc_unlock` functions are called by the
newlib `malloc` and `free` functions to synchronise access to the heap
region.

Without this lock, making use of the `malloc` and `free` functions from
multiple threads will result in the corruption of the heap region.

Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
2021-05-13 07:30:43 -05:00
Gerson Fernando Budke
f717ccd092 doc: release: 2.6: Add note about west bossac runner
Add release note about improvements in west bossac runner.

Signed-off-by: Gerson Fernando Budke <nandojve@gmail.com>
2021-05-13 07:27:36 -05:00
Gerson Fernando Budke
5576570a80 doc: release: 2.6: Add notes about rf2xx driver changes
Add 2.6.0 release notes for enhancements on Atmel at86rf2xx driver.

Signed-off-by: Gerson Fernando Budke <nandojve@gmail.com>
2021-05-13 07:27:36 -05:00
Gerson Fernando Budke
f0d64dde4a doc: release: 2.6: Add notes about Cypress related changes
Add 2.6.0 release notes for Cypress SoCs, boards, and drivers.

Signed-off-by: Gerson Fernando Budke <gerson.budke@atl-electronics.com>
2021-05-13 07:27:36 -05:00
Gerard Marull-Paretas
7268b6fe01 drivers: timer: sys_clock: return -ENOSYS if not implemented
-ENOSYS should be returned if the operation is not implemented. This
issue was causing some PM tests to fail, as -ENOSYS was expected.

Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
2021-05-13 07:16:02 -05:00
Gerard Marull-Paretas
9b846351d9 pm: device: check for ENOSYS
If feature is not available -ENOSYS is used instead of -ENOTSUP.

Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
2021-05-13 07:16:02 -05:00
Hake Huang
13964780ea dma: change an atmoic api for Coverity issue 233524
use atomic_clear_bit instead of atomic_test_and_set_bit
which will not return old value, and thus more coverity friendy

Fixing: #35154

Signed-off-by: Hake Huang <hake.huang@oss.nxp.com>
2021-05-13 07:15:18 -05:00
Krzysztof Chruscinski
2a3a790a99 shell: log_backend: Fix fifo cleanup
When shell log backend was disabled fifo used only in
deferred mode was unconditionally flushed which lead to
errors in immediate mode where fifo was not present. On
the other hand, in case of LOG2_MODE_DEFERRED fifo (mpsc_pbuf)
was initialized in enable stage.

In order to clean things up, deferred v1 fifo flushing and
deferred v2 mpsc pbuf initialization were moved to fifo_reset
function which is called when shell log backend is enabled.

Signed-off-by: Krzysztof Chruscinski <krzysztof.chruscinski@nordicsemi.no>
2021-05-13 14:04:08 +02:00
Krzysztof Chruscinski
f8ac3a49ec lib: os: cbprintf: Avoid implicit casting to int *
Arg can be double * and it is casted to int *. Coverity reports
it (CID 235943). Fixed by adding intermediate void * variable.

Signed-off-by: Krzysztof Chruscinski <krzysztof.chruscinski@nordicsemi.no>
2021-05-12 23:36:01 -05:00
Krzysztof Chruscinski
236aaf994f tests: logging: log_api: Fix in mock backend
Mock backend is using 32 bytes for hexdump data and
only hexdumps with less data shall be compared against
expected one. Wrong operator was used and comparing
was performed only when hexdump size exceeded 32 bytes.
Spotted by Coverity CID 236015.

Signed-off-by: Krzysztof Chruscinski <krzysztof.chruscinski@nordicsemi.no>
2021-05-12 23:36:01 -05:00
Krzysztof Chruscinski
f7b7a672e9 tests: logging: log_api: Prevent negative array index write
Coverity CID 235911.

Signed-off-by: Krzysztof Chruscinski <krzysztof.chruscinski@nordicsemi.no>
2021-05-12 23:36:01 -05:00
Krzysztof Chruscinski
92d1d1ab2f tests: logging: log_msg2: Prevent using negative array index
Move assert check before array access to ensure that
negative index is not used in an array. Coverity CID 222151.

Signed-off-by: Krzysztof Chruscinski <krzysztof.chruscinski@nordicsemi.no>
2021-05-12 23:36:01 -05:00
Krzysztof Chruscinski
f5be847e6d logging: Add missing va_end in log_msg2
Added missing va_end. Reported by coverity CID 232501

Signed-off-by: Krzysztof Chruscinski <krzysztof.chruscinski@nordicsemi.no>
2021-05-12 23:36:01 -05:00
Krzysztof Chruscinski
d7140a5831 tests: logging: log_api: Remove accidental early return
There was an accidental early return in the test. Spotted by
coverity CID 235986, 236006.

Additionally, test had to be fixed because early returned covered
issues.

Signed-off-by: Krzysztof Chruscinski <krzysztof.chruscinski@nordicsemi.no>
2021-05-12 23:36:01 -05:00