Commit graph

85,247 commits

Author SHA1 Message Date
Nicolas Pitre
e76fb204db riscv: report stack overflow errors correctly
Add the necessary checks to determine when the stack pointer is
 out of bounds.

Signed-off-by: Nicolas Pitre <npitre@baylibre.com>
2022-05-18 10:54:53 +02:00
Nicolas Pitre
a4b82ab4fe riscv: fix IRQ stack guard location
_current_cpu->irq_stack is not yet initialized when this is executed on
CPU 0. Also the guard area is outside of CONFIG_ISR_STACK_SIZE now
e.g. it is within the K_KERNEL_STACK_RESERVED area at the start of
the buffer. So simply use z_interrupt_stacks[] directly instead.

Signed-off-by: Nicolas Pitre <npitre@baylibre.com>
2022-05-18 10:54:53 +02:00
Nicolas Pitre
92409f36de riscv: drop user stack guard area when using separate privileged stacks
A separate privileged stack is used when CONFIG_GEN_PRIV_STACKS=y. The
main stack guard area is no longer needed and can be made available to
the application upon transitioning to user mode. And that's actually
required if we want a naturally aligned power-of-two buffer to let the
PMP map a NAPOT entry on it which is the whole point of having this
CONFIG_PMP_POWER_OF_TWO_ALIGNMENT option in the first place.

Signed-off-by: Nicolas Pitre <npitre@baylibre.com>
2022-05-18 10:54:53 +02:00
Nicolas Pitre
6051ea7d3c riscv: clarify stack size and alignment parameters
The StackGuard area is used to save the esf and run the exception code
resulting from a StackGuard trap. Size it appropriately.

Remove redundancy, clarify documentation, etc.

Signed-off-by: Nicolas Pitre <npitre@baylibre.com>
2022-05-18 10:54:53 +02:00
Nicolas Pitre
3997f7bed2 riscv: pmp: make PMP debug display more comprehensive
Decoding those values by hand gets tedious.

Signed-off-by: Nicolas Pitre <npitre@baylibre.com>
2022-05-18 10:54:53 +02:00
Nicolas Pitre
1e006e3777 kernel/thread_stack.h: fix Z_THREAD_STACK_SIZE_ADJUST usage coherency
There are legitimate cases where both ARCH_THREAD_STACK_SIZE_ADJUST()
and ARCH_THREAD_STACK_RESERVED() may be defined at the same time.
It is important for the former to be exposed to the later in that case,
so add K_THREAD_STACK_RESERVED to the argument instead of the result.

Similarly for Z_THREAD_STACK_OBJ_ALIGN() which needs the adjusted size
to provide the proper result. That's what K_THREAD_STACK_LEN() does
already anyway, so fold Z_THREAD_STACK_SIZE_ADJUST() into the definition
of Z_THREAD_STACK_OBJ_ALIGN() directly.

Signed-off-by: Nicolas Pitre <npitre@baylibre.com>
2022-05-18 10:54:53 +02:00
Christoph Heller
382ee011d5 drivers: flash: stm32h7x: Fix wrong flash write offset
The flash_stm32_write_range() function of the STM32H7x flash
driver partially uses a wrong flash program word size for certain
SOC types when calculating the flash write offset. If the used
SOC is not having a flash program word size of 256 bits / 32 bytes
the written data might get corrupted, as the flash write offset
value does not match the number of bytes that were actually
written.

Fixes #45568

Signed-off-by: Christoph Heller <chris@metanetics.de>
2022-05-18 10:54:36 +02:00
Christoph Heller
12532ee13d samples: littlefs: Add support for nucleo_h7a3zi_q board
Add specific configuration and DTS overlay files for NUCLEO-H7A3ZI-Q
board to the littlefs example project. The second half of the SOC flash
is used as flash partition for littlefs.

Signed-off-by: Christoph Heller <chris@metanetics.de>
2022-05-18 10:54:36 +02:00
Jonas Otto
a36995e2a3 ring_buffer: fix designated initializer order in RING_BUF_DECLARE
Change order of designated initializers for ring_buf struct in the
RING_BUF_DECLARE macro, to match the order in the struct definition.
This fixes compilation when using C++, which requires using the same
order as in the struct definition.
Fixes #45697

Signed-off-by: Jonas Otto <jonas@jonasotto.com>
2022-05-18 10:53:57 +02:00
Filip Kokosinski
a0aa8c76d6 samples/philosophers: use stack_data_t type
This commit changes the pointer type used in the philosophers demo to
`stack_data_t *` when stacks are used for synchronization purposes.
The previously used `void *` was causing AMO address-misaligned
exception on the HiFive Unleashed platform.

Signed-off-by: Filip Kokosinski <fkokosinski@antmicro.com>
2022-05-18 10:53:50 +02:00
Hu Zhenyu
814964fd2c test: Add counter to mec172xevb_assy6906 board daily test
Add tests/drivers/counter/counter_basic_api test

Signed-off-by: Hu Zhenyu <zhenyu.hu@intel.com>
2022-05-18 10:53:36 +02:00
Adrian Bonislawski
7d76dc53d5 drivers: dma: return einval if specified channel not found
chan_filter is used when a specified channel is required
so a specified channel needs to be returned,
otherwise it should return einval instead of the last channel tried

Signed-off-by: Adrian Bonislawski <adrian.bonislawski@intel.com>
2022-05-18 10:53:22 +02:00
Reto Schneider
e4340c1dfc fcb: Remove superfluous comma
It is obviously an error to have two consecutive commas.

Signed-off-by: Reto Schneider <reto.schneider@husqvarnagroup.com>
2022-05-18 10:53:05 +02:00
Anas Nashif
703422f742 tests: p4wq: set log level for test
Log messages from workqueue are very chatty and on some systems cause
dropping of messages coming from the tests, so set the level to not get
warnings.

Fixes #45670

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2022-05-17 20:39:25 -04:00
Anas Nashif
e5471a253e p4wq: register log module with default log level
Set default log level while registering p4wq as a log module.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2022-05-17 20:39:25 -04:00
Stephanos Ioannidis
f2b0991147 scripts: check_compliance: Fix broken links to Contribution Guidelines
This commit fixes the broken links to the Contribution Guidelines in
the Compliance Check script.

Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
2022-05-17 13:40:27 -04:00
Gerard Marull-Paretas
9e323f1293 ci: doc-build: embed doc preview link to GH summary
Github summary is rendered using GH markdown engine, so hopefully
documentation preview link will be clickable. This change should improve
user experience, as one had to manually select and copy+paste the URL.

Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
2022-05-18 02:01:54 +09:00
Francois Ramu
fd5189e6f9 samples: drivers: pwm led running on stm32 boards
On the stm32l073rz nucleo and stm32f091rc nucleo
boards, the DTS pwm-leds node is disabled, because
the output pin might conflict with SPI1.
It is necessary to enable the node in the overlay
to compile and run the sample.

Signed-off-by: Francois Ramu <francois.ramu@st.com>
2022-05-17 18:20:55 +02:00
Tom Burdick
012836aeef tests: hda_log: cav15 timeout fixes
Fixes issues caused by the hda_log test for cavs15 caused by ipc
messaging issues. Wait for the ipc message to complete immediately after
sending it.

Signed-off-by: Tom Burdick <thomas.burdick@intel.com>
2022-05-17 11:12:57 -05:00
Sylvio Alves
799ec29420 west.yml: update hal_espressif for bugfixes
Fix build warnings and proper libc linking.

Signed-off-by: Sylvio Alves <sylvio.alves@espressif.com>
2022-05-17 18:11:50 +02:00
Sylvio Alves
f3d2dd2b6c soc: esp32: move phy tx power to soc config
PHY TX power configuration must be added into soc level.
It was previously hardcoded in hal_espressif, which was removed.

Signed-off-by: Sylvio Alves <sylvio.alves@espressif.com>
2022-05-17 18:11:50 +02:00
Anas Nashif
734c345457 twister: sort hardware map based on id
Serial is not required, in some cases it might be set to null or we
might be using serial_pty, so sort existing map file based on ID
instead.

Fixes #45713

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2022-05-17 08:29:42 -04:00
Herman Berget
e3ed783359 Bluetooth: Host: Fix missing callback in bt_gatt_write_without_response
The meta data was not set on the buffer.

Signed-off-by: Herman Berget <herman.berget@nordicsemi.no>
2022-05-17 11:39:26 +02:00
Piotr Pryga
bb7a67d5be Bluetooth: Controller: Fix per sync cancel and sync establ synchronize
Current implementation of ll_sync_create_cancel does not allow to stop
synchronization after ull_sync_setup is called. When that is done,
sync->timeout_reload is not zero and the ll_sync_create_cancel will
return BT_HCI_ERR_CMD_DISALLOWED. That means the Controller is able to
cancel periodic advertising synchronization only in period between
call to ll_sync_create and reception of AUX_ADV_IND that has SyncInfo
field.

The Controller should be able to cancell synchronization until first
AUX_SYNC_IND PDU is received and host notified about synchronization
established.

Complete information about synchronization status is provdied by two
ll_sync_set members: node_rx_sync_established and timeout_reload.
These two members of the structure were used in ll_sync_create_cancel
function to do a proper cancel and cleanup.
The node_rx_sync_established member was not cleared when sync was
established or expired. That was required to get a proper information
about synchronization state.

Besides that, to avoid race condition between ll_sync_create_cancel
and ull_sync_established_report, the latter function was extended
to check if cancel operation or sync lost has happened.

Signed-off-by: Piotr Pryga <piotr.pryga@nordicsemi.no>
2022-05-17 11:39:09 +02:00
Guo Lixin
80b2d7722d tests: add filter of configs to avoid mismatch test running
Some test suites have different test case lists in test_main(), that
conforms to different test scenarios defined in testcase.yaml. We
use if statement to decide which test case list should run under
specific config.
But for thoses boards who do not support those configs, we will run test
cases on the other side of the if statement even if it has deviated from
the original test scenario.
So add filter to avoid test scenario running under mismatch config.

Signed-off-by: Guo Lixin <lixinx.guo@intel.com>
2022-05-16 22:49:34 -04:00
Huifeng Zhang
265080277c tests: kernel: semaphore: fix mutual exclusion test issue
Mutual exclusion test assume that the excution order of two threads like
this:
    mutual_exclusion1 -> mutual_exclusion2 -> mutual_exclusion1 ...

but some times the excution order of two threads would be this:
    mutual_exclusion1 -> mutual_exclusion2 -> mutual_exclusion2 ...

This patch increase the loop cycle, add a variable 'tmp' to store the
value of 'critical_var' before operating it.

Signed-off-by: Huifeng Zhang <Huifeng.Zhang@arm.com>
2022-05-17 11:45:16 +09:00
Jaxson Han
3ca07c019b board: fvp_baser_aemv8r: Disable cache_state_modelled
The FVP runs extremely slowly (20 to 30 times slow) when we enable 4
cores. Disabling the cache_state_modelled can make it a little bit
quicker.

Signed-off-by: Jaxson Han <jaxson.han@arm.com>
2022-05-17 11:45:16 +09:00
Jaxson Han
04caf70bfe arm64: smp: Fix the wrong secondary core stack size
The init stack of the secondary core should use KERNEL_STACK_BUFFER + sz
Using Z_THREAD_STACK_BUFFER will calculate the wrong stack size.

Signed-off-by: Jaxson Han <jaxson.han@arm.com>
2022-05-17 11:45:16 +09:00
Jaxson Han
74d61fe744 tests: kernel: semaphore: sys_sem: Fix coherence issue
The issue is caused by multiple threads which have taken the semaphore
to increase or decrease the normal count variable. Change its type with
atomic_t.

Signed-off-by: Jaxson Han <jaxson.han@arm.com>
2022-05-17 11:45:16 +09:00
Jaxson Han
933a8f9d12 arch: arm64: Fix coherence issue of SMP boot code
The current SMP boot code doesn't consider that the cores can boot at
the same time. Possibly, more than one core can boot into primary core
boot sequence. Fix it by using the atomic operation to make sure only
one core act as the primary core.

Correspondingly, sgi_raise_ipi should transfer CPU id to mpidr.

Signed-off-by: Jaxson Han <jaxson.han@arm.com>
2022-05-17 11:45:16 +09:00
Jaxson Han
2f6087ba67 arch: arm64: Fix arm mpu SMP issues
Only primary core do the dynamic_areas_init.

Signed-off-by: Jaxson Han <jaxson.han@arm.com>
2022-05-17 11:45:16 +09:00
Jaxson Han
ab29fb8617 tests: Increase testcases timeout for fvp_baser_aemv8r_smp
The tests/kernel/mem_protect/syscalls/ and tests/kernel/smp/ run too
slow on fvp_baser_aemv8r_smp. Increase the timeout_multiplier to 8 for
fvp_baser_aemv8r_smp.

Signed-off-by: Jaxson Han <jaxson.han@arm.com>
2022-05-17 11:45:16 +09:00
Jaxson Han
ad327353ce boards: fvp_baser_aemv8r: Remove the ISR_STACKS_SIZE
Fix tests by removing the CONFIG_ISR_STACKS_SIZE. The defaut is 4096.

Signed-off-by: Jaxson Han <jaxson.han@arm.com>
2022-05-17 11:45:16 +09:00
Jaxson Han
a1620aabff board: armfvp: Add more UART port configs
Add more UART port configs for ARM FVP.

Signed-off-by: Jaxson Han <jaxson.han@arm.com>
2022-05-17 11:45:16 +09:00
Yinfang Wang
dffe3508dc tests: fpu_sharing: Fix the skipped testing on ehl_crb
ehl_crb itself supports fpu_sharing.
  Enable the fpu_sharing testing on ehl_crb.

Signed-off-by: Yinfang Wang <yinfang.wang@intel.com>
2022-05-16 22:42:49 -04:00
Vinayak Kariappa Chettimada
f755550ec0 samples: Bluetooth: Remove explicit Ext and Periodic Adv Kconfig enable
Remove the explicit enable of Extended and Periodic
Advertising support in Controller, the feature is no
longer experimental in the Controller and is now enabled
by default when application uses them by enabling as
Host feature.

Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
2022-05-16 18:25:14 +02:00
Vinayak Kariappa Chettimada
79dbfc108a Bluetooth: Controller: Remove experimental from Ext and Periodic Adv
Remove experimental label from Advertising Extensions and
Periodic Advertising features in the Controller.

Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
2022-05-16 18:25:14 +02:00
Martí Bolívar
3fcd22b7b9 release: Zephyr 3.1.0-rc1 v3.1.0-rc1
Release tag for Zephyr v3.1.0-rc1

Signed-off-by: Martí Bolívar <marti.bolivar@nordicsemi.no>
2022-05-16 09:04:54 -07:00
Andries Kruithof
0c8f73da18 Bluetooth: controller: set refactored LLCP as default for DF
This PR sets the refactored LLCP as the default instead of legacy
so that more people will use this, giving us more feedback

Signed-off-by: Andries Kruithof <andries.kruithof@nordicsemi.no>
2022-05-16 18:02:20 +02:00
Carlo Caione
11f0bb9d1a ipc: static_vrings: Add -ENOMEM case
Sometimes it is important to know when the backend fails to send out
data because no memory / buffers are available. Return -ENOMEM in that
case.

Signed-off-by: Carlo Caione <ccaione@baylibre.com>
2022-05-16 16:56:33 +02:00
Matthias Wauer
ba14fc4745 mgmt: img_mgmt: fix typo in variable name
The correct variable name is 'action'

Signed-off-by: Matthias Wauer <matthiaswauer@gmail.com>
2022-05-16 16:56:18 +02:00
Mariusz Skamra
fd87b39d80 Bluetooth: ascs: Fix compilation warning
This fixes uninitialized `ret` variable compilation warning.

Signed-off-by: Mariusz Skamra <mariusz.skamra@codecoup.pl>
2022-05-16 16:56:11 +02:00
Mariusz Skamra
d5147803f0 tests: btshell: Fix the HAS server shell dependency
Enable HAS shell only if preset support is enabled. Otherwise there are
no functions yet that can be exposed if the preset support is disabled.

Signed-off-by: Mariusz Skamra <mariusz.skamra@codecoup.pl>
2022-05-16 16:56:11 +02:00
Mariusz Skamra
8f1c4f36ba Bluetooth: has: Fix compliation warning
Fix unused `ccc_cfg_changed` function warning that shows up when
preset support is disabled.

Signed-off-by: Mariusz Skamra <mariusz.skamra@codecoup.pl>
2022-05-16 16:56:11 +02:00
Mariusz Skamra
e5aad57fc5 Bluetooth: has: Introduce BT_HAS_PRESET_SUPPORT helper symbol
Introduce invisible helper symbol that could simplify and make more
readable condiitional code checks.

Signed-off-by: Mariusz Skamra <mariusz.skamra@codecoup.pl>
2022-05-16 16:56:11 +02:00
Sjors Hettinga
c3158804d4 tests: net: socket: tcp: Add test to validate obstructed close
When there is no response from the server, a client side close
is obstructed, it should terminate and clean the context. This
tests breaks the connection after the accept and validates
this behavior.

Signed-off-by: Sjors Hettinga <s.a.hettinga@gmail.com>
2022-05-16 16:55:51 +02:00
Sjors Hettinga
ae31773ddd drivers: net: loopback: Add counting of number of dropped packets
When the loopback drops driver packets, the number of dropped
packets is counted and can be requested externally.

Signed-off-by: Sjors Hettinga <s.a.hettinga@gmail.com>
2022-05-16 16:55:51 +02:00
Chen Peng1
ca08d2e4a6 twister: ignore serial device SerialException.
For some boards, like up_squared and ehl_crb, they need do a
power off/on operation and use bios to load and execute zephyr
test binary, during the power off, it may meet this SerialException,
but the serial object still works well after power on, we can continue
to get all results from serial, so we don't need to close it,
it's ok to ignore this exception.
BTW, even if we ignore this exception here, it doesn't influence twister
function, because if it was really caused by disconnection, the test would
still be judged as failed due to timeout and serial would be closed later
in main thread, it doesn't impact results.
On the contrary, close serial directly in the monitor serial thread, it
will cause later tests failed due to mismatch errors.

Signed-off-by: Chen Peng1 <peng1.chen@intel.com>
2022-05-16 16:55:42 +02:00
Asbjørn Sæbø
af607bb886 Bluetooth: Gatt: Update users of write callback in subscription params
Update the users of the "write" callback in the
bt_gatt_subscribe_params to use the new "subscribe" callback instead.

Signed-off-by: Asbjørn Sæbø <asbjorn.sabo@nordicsemi.no>
2022-05-16 16:54:27 +02:00
Asbjørn Sæbø
bf361aff21 Bluetooth: Gatt: Replace callback in gatt subscription callback.
Add a "subscribe" callback in the bt_gatt_subscribe params, and
deprecate the "write" callback.

The purpose of this is to be able to return the subscription
parameters in the callback.  The write callback
- (in principle) returns write parameters
- in fact returns nothing - the pointer is set to NULL

Signed-off-by: Asbjørn Sæbø <asbjorn.sabo@nordicsemi.no>
2022-05-16 16:54:27 +02:00