Skip to content

Commit

Permalink
Merge branch 'main' into topic/upstream-cat1b-adc
Browse files Browse the repository at this point in the history
  • Loading branch information
mcatee-infineon authored Jun 6, 2024
2 parents 9aa85fa + 06f02eb commit 2d3c022
Show file tree
Hide file tree
Showing 779 changed files with 13,902 additions and 4,001 deletions.
2 changes: 1 addition & 1 deletion .github/workflows/bsim-tests.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ jobs:
runs-on:
group: zephyr-runner-v2-linux-x64-4xlarge
container:
image: ghcr.io/zephyrproject-rtos/ci-repo-cache:v0.26.11.20240324
image: ghcr.io/zephyrproject-rtos/ci-repo-cache:v0.26.13.20240601
options: '--entrypoint /bin/bash'
env:
ZEPHYR_TOOLCHAIN_VARIANT: zephyr
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/clang.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ jobs:
runs-on:
group: zephyr-runner-v2-linux-x64-4xlarge
container:
image: ghcr.io/zephyrproject-rtos/ci-repo-cache:v0.26.11.20240324
image: ghcr.io/zephyrproject-rtos/ci-repo-cache:v0.26.13.20240601
options: '--entrypoint /bin/bash'
strategy:
fail-fast: false
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/codecov.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ jobs:
runs-on:
group: zephyr-runner-v2-linux-x64-4xlarge
container:
image: ghcr.io/zephyrproject-rtos/ci-repo-cache:v0.26.11.20240324
image: ghcr.io/zephyrproject-rtos/ci-repo-cache:v0.26.13.20240601
options: '--entrypoint /bin/bash'
strategy:
fail-fast: false
Expand Down
14 changes: 12 additions & 2 deletions .github/workflows/doc-build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,9 @@ env:
# so we fetch that through pip.
CMAKE_VERSION: 3.20.5
DOXYGEN_VERSION: 1.9.6
# Job count is set to 2 less than the vCPU count of 16 because the total available RAM is 32GiB
# and each sphinx-build process may use more than 2GiB of RAM.
JOB_COUNT: 14

jobs:
doc-file-check:
Expand Down Expand Up @@ -132,7 +135,11 @@ jobs:
else
DOC_TARGET="html"
fi
DOC_TAG=${DOC_TAG} SPHINXOPTS_EXTRA="-q -t publish" make -C doc ${DOC_TARGET}
DOC_TAG=${DOC_TAG} \
SPHINXOPTS="-j ${JOB_COUNT} -W --keep-going -T" \
SPHINXOPTS_EXTRA="-q -t publish" \
make -C doc ${DOC_TARGET}
# API documentation coverage
python3 -m coverxygen --xml-dir doc/_build/html/doxygen/xml/ --src-dir include/ --output doc-coverage.info
Expand Down Expand Up @@ -245,7 +252,10 @@ jobs:
DOC_TAG="development"
fi
DOC_TAG=${DOC_TAG} SPHINXOPTS="-q -j auto" LATEXMKOPTS="-quiet -halt-on-error" make -C doc pdf
DOC_TAG=${DOC_TAG} \
SPHINXOPTS="-q -j ${JOB_COUNT}" \
LATEXMKOPTS="-quiet -halt-on-error" \
make -C doc pdf
- name: upload-build
if: always()
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/errno.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ jobs:
check-errno:
runs-on: ubuntu-22.04
container:
image: ghcr.io/zephyrproject-rtos/ci:v0.26.11
image: ghcr.io/zephyrproject-rtos/ci:v0.26.13

steps:
- name: Apply container owner mismatch workaround
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/footprint-tracking.yml
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ jobs:
group: zephyr-runner-v2-linux-x64-4xlarge
if: github.repository_owner == 'zephyrproject-rtos'
container:
image: ghcr.io/zephyrproject-rtos/ci-repo-cache:v0.26.11.20240324
image: ghcr.io/zephyrproject-rtos/ci-repo-cache:v0.26.13.20240601
options: '--entrypoint /bin/bash'
strategy:
fail-fast: false
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/twister.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ jobs:
runs-on:
group: zephyr-runner-v2-linux-x64-4xlarge
container:
image: ghcr.io/zephyrproject-rtos/ci-repo-cache:v0.26.11.20240324
image: ghcr.io/zephyrproject-rtos/ci-repo-cache:v0.26.13.20240601
options: '--entrypoint /bin/bash'
outputs:
subset: ${{ steps.output-services.outputs.subset }}
Expand Down Expand Up @@ -129,7 +129,7 @@ jobs:
needs: twister-build-prep
if: needs.twister-build-prep.outputs.size != 0
container:
image: ghcr.io/zephyrproject-rtos/ci-repo-cache:v0.26.11.20240324
image: ghcr.io/zephyrproject-rtos/ci-repo-cache:v0.26.13.20240601
options: '--entrypoint /bin/bash'
strategy:
fail-fast: false
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/twister_tests_blackbox.yml
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ jobs:
python-version: ['3.10', '3.11', '3.12']
os: [ubuntu-22.04]
container:
image: ghcr.io/zephyrproject-rtos/ci:v0.26.11
image: ghcr.io/zephyrproject-rtos/ci:v0.26.13

steps:
- name: Apply Container Owner Mismatch Workaround
Expand Down
5 changes: 1 addition & 4 deletions CODEOWNERS
Validating CODEOWNERS rules …
Original file line number Diff line number Diff line change
Expand Up @@ -55,8 +55,6 @@
/boards/arm/acn52832/ @sven-hm
/boards/arm/arduino_mkrzero/ @soburi
/boards/arm/bbc_microbit_v2/ @LingaoM
/boards/arm/bl5340_dvk/ @lairdjm
/boards/arm/bl65*/ @lairdjm
/boards/arm/blackpill_f401ce/ @coderkalyan
/boards/arm/blackpill_f411ce/ @coderkalyan
/boards/arm/bt*10/ @greg-leach
Expand All @@ -77,7 +75,6 @@
/boards/arm/ip_k66f/ @parthitce @lmajewski
/boards/arm/legend/ @mbittan @simonguinot
/boards/arm/lpcxpresso*/ @mmahadevan108 @dleach02
/boards/arm/mg100/ @rerickson1
/boards/arm/mimx8mm_evk/ @Mani-Sadhasivam
/boards/arm/mimx8mm_phyboard_polis @pefech
/boards/arm/mimxrt*/ @mmahadevan108 @dleach02
Expand All @@ -88,7 +85,6 @@
/boards/arm/nucleo*/ @erwango @ABOSTM @FRASTM
/boards/arm/nucleo_f401re/ @idlethread
/boards/arm/nuvoton_pfm_m487/ @ssekar15
/boards/arm/pinnacle_100_dvk/ @rerickson1
/boards/arm/qemu_cortex_a9/ @ibirnbaum
/boards/arm/qemu_cortex_r*/ @stephanosio
/boards/arm/qemu_cortex_m*/ @ioannisg @stephanosio
Expand All @@ -114,6 +110,7 @@
/boards/arm/ubx_bmd345eval_nrf52840/ @Navin-Sankar @brec-u-blox
/boards/arm/nrf5340_audio_dk_nrf5340 @koffes @alexsven @erikrobstad @rick1082 @gWacey
/boards/arm/stm32_min_dev/ @sidcha
/boards/ezurio/* @rerickson1
/boards/riscv/rv32m1_vega/ @dleach02
/boards/riscv/adp_xc7k_ae350/ @cwshu @kevinwang821020 @jimmyzhe
/boards/riscv/longan_nano/ @soburi
Expand Down
10 changes: 6 additions & 4 deletions MAINTAINERS.yml
Original file line number Diff line number Diff line change
Expand Up @@ -1250,6 +1250,7 @@ Release Notes:
collaborators:
- decsny
- lmajewski
- pdgendt
files:
- drivers/ethernet/
- include/zephyr/dt-bindings/ethernet/
Expand Down Expand Up @@ -1843,7 +1844,7 @@ Release Notes:
- dts/bindings/sensor/
- include/zephyr/drivers/sensor/
- include/zephyr/dt-bindings/sensor/
- doc/hardware/peripherals/sensor.rst
- doc/hardware/peripherals/sensor/
- tests/drivers/build_all/sensor/
labels:
- "area: Sensors"
Expand Down Expand Up @@ -2325,16 +2326,16 @@ Memory Management:
tests:
- mem_mgmt

Laird Connectivity platforms:
Ezurio platforms:
status: maintained
maintainers:
- rerickson1
collaborators:
- greg-leach
files:
- boards/lairdconnect/
- boards/ezurio/
labels:
- "platform: Laird Connectivity"
- "platform: Ezurio"

Linker Scripts:
status: maintained
Expand Down Expand Up @@ -2980,6 +2981,7 @@ Sensor Subsystem:
- doc/services/sensing/
- subsys/sensing/
- samples/subsys/sensing/
- tests/subsys/sensing/
labels:
- "area: Sensor Subsystem"
tests:
Expand Down
2 changes: 1 addition & 1 deletion SDK_VERSION
Original file line number Diff line number Diff line change
@@ -1 +1 @@
0.16.5-1
0.16.8
11 changes: 11 additions & 0 deletions arch/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@ config ARC
imply XIP
select ARCH_HAS_THREAD_LOCAL_STORAGE
select ARCH_SUPPORTS_ROM_START
select ARCH_HAS_DIRECTED_IPIS
help
ARC architecture

Expand All @@ -50,6 +51,7 @@ config ARM64
select USE_SWITCH_SUPPORTED
select IRQ_OFFLOAD_NESTED if IRQ_OFFLOAD
select BARRIER_OPERATIONS_ARCH
select ARCH_HAS_DIRECTED_IPIS
help
ARM64 (AArch64) architecture

Expand Down Expand Up @@ -115,6 +117,7 @@ config RISCV
select USE_SWITCH_SUPPORTED
select USE_SWITCH
select SCHED_IPI_SUPPORTED if SMP
select ARCH_HAS_DIRECTED_IPIS
select BARRIER_OPERATIONS_BUILTIN
imply XIP
help
Expand All @@ -129,6 +132,7 @@ config XTENSA
select ARCH_HAS_CODE_DATA_RELOCATION
select ARCH_HAS_TIMING_FUNCTIONS
select ARCH_MEM_DOMAIN_DATA if USERSPACE
select ARCH_HAS_DIRECTED_IPIS
help
Xtensa architecture

Expand Down Expand Up @@ -746,6 +750,13 @@ config ARCH_HAS_RESERVED_PAGE_FRAMES
memory mappings. The architecture will need to implement
arch_reserved_pages_update().

config ARCH_HAS_DIRECTED_IPIS
bool
help
This hidden configuration should be selected by the architecture if
it has an implementation for arch_sched_directed_ipi() which allows
for IPIs to be directed to specific CPUs.

config CPU_HAS_DCACHE
bool
help
Expand Down
4 changes: 2 additions & 2 deletions arch/arc/core/isr_wrapper.S
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ GTEXT(_isr_wrapper)
GTEXT(_isr_demux)

#if defined(CONFIG_PM)
GTEXT(z_pm_save_idle_exit)
GTEXT(pm_system_resume)
#endif

/*
Expand Down Expand Up @@ -253,7 +253,7 @@ rirq_path:

st 0, [r1, _kernel_offset_to_idle] /* zero idle duration */
PUSHR blink
jl z_pm_save_idle_exit
jl pm_system_resume
POPR blink

_skip_pm_save_idle_exit:
Expand Down
19 changes: 13 additions & 6 deletions arch/arc/core/smp.c
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@
#include <zephyr/kernel.h>
#include <zephyr/kernel_structs.h>
#include <ksched.h>
#include <ipi.h>
#include <zephyr/init.h>
#include <zephyr/irq.h>
#include <arc_irq_offload.h>
Expand Down Expand Up @@ -130,21 +131,27 @@ static void sched_ipi_handler(const void *unused)
z_sched_ipi();
}

/* arch implementation of sched_ipi */
void arch_sched_ipi(void)
void arch_sched_directed_ipi(uint32_t cpu_bitmap)
{
uint32_t i;
unsigned int i;
unsigned int num_cpus = arch_num_cpus();

/* broadcast sched_ipi request to other cores
/* Send sched_ipi request to other cores
* if the target is current core, hardware will ignore it
*/
unsigned int num_cpus = arch_num_cpus();

for (i = 0U; i < num_cpus; i++) {
z_arc_connect_ici_generate(i);
if ((cpu_bitmap & BIT(i)) != 0) {
z_arc_connect_ici_generate(i);
}
}
}

void arch_sched_broadcast_ipi(void)
{
arch_sched_directed_ipi(IPI_ALL_CPUS_MASK);
}

int arch_smp_init(void)
{
struct arc_connect_bcr bcr;
Expand Down
2 changes: 0 additions & 2 deletions arch/arc/include/kernel_arch_func.h
Original file line number Diff line number Diff line change
Expand Up @@ -64,8 +64,6 @@ extern void z_arc_userspace_enter(k_thread_entry_t user_entry, void *p1,

extern void z_arc_fatal_error(unsigned int reason, const struct arch_esf *esf);

extern void arch_sched_ipi(void);

extern void z_arc_switch(void *switch_to, void **switched_from);

static inline void arch_switch(void *switch_to, void **switched_from)
Expand Down
1 change: 1 addition & 0 deletions arch/arm/core/cortex_a_r/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -131,6 +131,7 @@ config AARCH32_ARMV8_R
bool
select ATOMIC_OPERATIONS_BUILTIN
select SCHED_IPI_SUPPORTED if SMP
select ARCH_HAS_DIRECTED_IPIS
help
This option signifies the use of an ARMv8-R AArch32 processor
implementation.
Expand Down
8 changes: 4 additions & 4 deletions arch/arm/core/cortex_a_r/isr_wrapper.S
Original file line number Diff line number Diff line change
Expand Up @@ -156,7 +156,7 @@ _vfp_not_enabled:
* idle, this ensures that the calculation and programming of the
* device for the next timer deadline is not interrupted. For
* non-tickless idle, this ensures that the clearing of the kernel idle
* state is not interrupted. In each case, z_pm_save_idle_exit
* state is not interrupted. In each case, pm_system_resume
* is called with interrupts disabled.
*/

Expand All @@ -170,7 +170,7 @@ _vfp_not_enabled:
movs r1, #0
/* clear kernel idle state */
str r1, [r2, #_kernel_offset_to_idle]
bl z_pm_save_idle_exit
bl pm_system_resume
_idle_state_cleared:

#endif /* CONFIG_PM */
Expand Down Expand Up @@ -269,7 +269,7 @@ SECTION_FUNC(TEXT, _isr_wrapper)
* idle, this ensures that the calculation and programming of the
* device for the next timer deadline is not interrupted. For
* non-tickless idle, this ensures that the clearing of the kernel idle
* state is not interrupted. In each case, z_pm_save_idle_exit
* state is not interrupted. In each case, pm_system_resume
* is called with interrupts disabled.
*/

Expand All @@ -283,7 +283,7 @@ SECTION_FUNC(TEXT, _isr_wrapper)
movs r1, #0
/* clear kernel idle state */
str r1, [r2, #_kernel_offset_to_idle]
bl z_pm_save_idle_exit
bl pm_system_resume
_idle_state_cleared:
#endif /* CONFIG_PM */

Expand Down
17 changes: 13 additions & 4 deletions arch/arm/core/cortex_a_r/smp.c
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@
#include <zephyr/kernel.h>
#include <zephyr/arch/arm/cortex_a_r/lib_helpers.h>
#include <zephyr/drivers/interrupt_controller/gic.h>
#include <ipi.h>
#include "boot.h"
#include "zephyr/cache.h"
#include "zephyr/kernel/thread_stack.h"
Expand Down Expand Up @@ -210,7 +211,7 @@ void arch_secondary_cpu_init(void)

#ifdef CONFIG_SMP

static void broadcast_ipi(unsigned int ipi)
static void send_ipi(unsigned int ipi, uint32_t cpu_bitmap)
{
uint32_t mpidr = MPIDR_TO_CORE(GET_MPIDR());

Expand All @@ -220,6 +221,10 @@ static void broadcast_ipi(unsigned int ipi)
unsigned int num_cpus = arch_num_cpus();

for (int i = 0; i < num_cpus; i++) {
if ((cpu_bitmap & BIT(i)) == 0) {
continue;
}

uint32_t target_mpidr = cpu_map[i];
uint8_t aff0;

Expand All @@ -239,10 +244,14 @@ void sched_ipi_handler(const void *unused)
z_sched_ipi();
}

/* arch implementation of sched_ipi */
void arch_sched_ipi(void)
void arch_sched_broadcast_ipi(void)
{
send_ipi(SGI_SCHED_IPI, IPI_ALL_CPUS_MASK);
}

void arch_sched_directed_ipi(uint32_t cpu_bitmap)
{
broadcast_ipi(SGI_SCHED_IPI);
send_ipi(SGI_SCHED_IPI, cpu_bitmap);
}

int arch_smp_init(void)
Expand Down
Loading

0 comments on commit 2d3c022

Please sign in to comment.