Compare commits

..

19 Commits

Author SHA1 Message Date
Keith Packard
bbdb6b8db9 Use SPEED_OPTIMIZATIONS on riscv for GCC 14.3
I stuck this here for testing; if this helps, we'll put it into the SDK.

Signed-off-by: Keith Packard <keithp@keithp.com>
2025-12-16 17:18:18 +09:00
Keith Packard
1ca55ab32a cmake: Support both toolchain directory layouts
Until https://github.com/zephyrproject-rtos/sdk-ng/pull/936 is merged,
SDK 0.18 is incompatible with previous versions as the paths to
find the cmake bits is different.

Deal with that by checking for files in the wrong place as well as the
right one.

Signed-off-by: Keith Packard <keithp@keithp.com>
2025-12-16 17:18:18 +09:00
Anas Nashif
f9637a5a65 tests: skip thrd test for now
This test fails sporadically on my platforms and block SDK pre-release.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2025-12-16 17:18:18 +09:00
Anas Nashif
1a68538c64 tests: c_lib: exclude 64 qemu platform
This one keeps failing sporadically, just exclude for now.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2025-12-16 17:18:18 +09:00
Keith Packard
08a1d827b6 modules/trusted-firmware-m: zephyr/gnu toolchain has a different path
The SDK has gratuitously moved all gcc toolchains to a subdirectory; adapt
to that by adding 'gnu/' when necessary

Signed-off-by: Keith Packard <keithp@keithp.com>
2025-12-16 17:17:29 +09:00
Anas Nashif
349917eef5 twister: fix variant handling
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2025-12-16 17:17:29 +09:00
Anas Nashif
524ca95cc5 tests: skip thrd test for now
This test fails sporadically on my platforms and block SDK pre-release.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2025-12-16 17:17:29 +09:00
Anas Nashif
1d88edcac9 cmake: add support enhanced variants with multiple compilers
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2025-12-16 17:17:27 +09:00
Anas Nashif
f3aa334e57 twister: support new toolchain variant syntax
support new syntax involving compiler and toolchains with multiple
compilers, i.e. zephyr/gnu

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2025-12-16 17:13:40 +09:00
Anas Nashif
195dd3d7c1 toolchains: combine host variants
Combine toolchains provided by the host into one variant. This includes
both gcc and llvm installationt typically coming from the distribution
(on Linux).

Both gcc and llvm are now part of the 'host' variant, the default is the
gnu compiler, so setting

	ZEPHYR_TOOLCHAIN_VARIANT=host

Will select the gnu compiler. To select llvm or any other compuler
provided in this variant, use the follwoing format:

	ZEPHYR_TOOLCHAIN_VARIANT=<variant>/<compiler>

The following will select llvm:

	ZEPHYR_TOOLCHAIN_VARIANT=host/llvm

Although gnu is the default, it can also be selected using the above
syntax:

	ZEPHYR_TOOLCHAIN_VARIANT=host/gcc

This commit removes the llvm variant for now, it should be deperecated
in another commit to follow.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2025-12-16 17:13:34 +09:00
Stephanos Ioannidis
236fe5df34 cmake: clang: Override -Wno-volatile with -Wno-deprecated-volatile
Override the GCC-specific `-Wno-volatile` flag specified by GCC
`compiler_flags.cmake` with the Clang-equivalent
`-Wno-deprecated-volatile`.

Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
2025-12-16 17:07:43 +09:00
Stephanos Ioannidis
d75d1f755e cmake: linker: lld: Do not link libc when minimal libc is used
When LLVM linker is used, the toolchain-provided C standard library is
always linked, even when the Zephyr minimal libc is selected, because `c`
is unconditionally specified in `link_order_library`, which causes `-lc` to
be specified in the linker flags.

This commit adds a check to ensure that `-lc` is not specified when the
Zephyr minimal libc is selected because it is a standalone C standard
library and it does not make sense to link two C standard libraries at
once.

Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
2025-12-16 17:03:46 +09:00
Stephanos Ioannidis
7396548614 lib: cpp: Enable POSIX and GNU C extensions for libc++
LLVM C++ Standard Library aka. libc++ makes use of POSIX and GNU C
extensions in its headers.

While far from ideal, there is no other option but to globally enable these
extensions for C++ source files in order to ensure that libc++ headers can
be used.

Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
2025-12-16 17:03:46 +09:00
Stephanos Ioannidis
fdb491796c tests: libcxx: Add LLVM libc++/picolibc test
This commit adds a new C++ standard library test variant that builds with
Picolibc and LLVM C++ Standard Library aka. libc++ on the supported
toolchains (e.g. LLVM Embedded Toolchain for Arm and Zephyr SDK LLVM).

Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
2025-12-16 17:03:46 +09:00
Stephanos Ioannidis
b0063f9ec3 lib: cpp: Allow selecting libc++ with picolibc
LLVM C++ Standard Library aka. libc++ may be used with Picolibc -- for
example, LLVM Embedded Toolchain for Arm ships with Picolibc and libc++
compiled for Picolibc, and so does Zephyr SDK LLVM toolchain.

Ideally, we would a flag like `TOOLCHAIN_HAS_LIBCXX_PICOLIBC` indicating
that toolchain has libc++ compiled specifically for Picolibc; but, we do
not want to overcomplicate the toolchain feature flags at this time without
proper underlying infrastructure to handle it.

Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
2025-12-16 17:03:45 +09:00
Stephanos Ioannidis
1a042408b8 tests: libcxx: Filter libstdc++ tests by TOOLCHAIN_HAS_GLIBCXX
Run libstdc++ tests only using the toolchains that have libstdc++ (i.e.
GCC-based toolchain).

Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
2025-12-16 17:03:45 +09:00
Stephanos Ioannidis
6092c5d9bd cmake: toolchain: Introduce TOOLCHAIN_HAS_LIBCXX
This commit introduces `TOOLCHAIN_HAS_LIBCXX` CMake variable, which is set
to `y` when LLVM C++ Standard Library aka. libc++ is available.

This helps filter libc++-specific Kconfig and tests in a more refined
manner.

Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
2025-12-16 17:03:45 +09:00
Stephanos Ioannidis
224fc2b58d cmake: toolchain: Introduce TOOLCHAIN_HAS_GLIBCXX
This commit introduces `TOOLCHAIN_HAS_GLIBCXX` CMake variable, which is
set to `y` when GNU C++ Standard Library aka. libstdc++ is available.

This helps filter libstdc++-specific Kconfig and tests in a more refined
manner.

Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
2025-12-16 17:03:45 +09:00
Anas Nashif
0ce4215c22 tests: c_lib: exclude rx arch
Many tests failing for RX, exclude those until the arch stablizes.

See #89839

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2025-12-16 17:03:45 +09:00
5229 changed files with 38635 additions and 167896 deletions

View File

@@ -5,8 +5,6 @@ updates:
directory: "/"
schedule:
interval: "weekly"
cooldown:
default-days: 7
commit-message:
prefix: "ci: github: "
labels: []
@@ -19,8 +17,6 @@ updates:
directory: "/doc"
schedule:
interval: "weekly"
cooldown:
default-days: 7
commit-message:
prefix: "ci: doc: "
labels: []

View File

@@ -28,7 +28,7 @@ jobs:
steps:
- name: Check out source code
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
fetch-depth: 0
persist-credentials: false
@@ -63,7 +63,7 @@ jobs:
FLAGS+=" -r ${{ github.event.repository.name }}"
FLAGS+=" -M MAINTAINERS.yml"
if [ "${{ github.event_name }}" = "pull_request_target" ]; then
if [ "${{ github.base_ref }}" = "main" ]; then
if [ "${{ github.base_ref }}" != "main" ]; then
FLAGS+=" -P ${{ github.event.pull_request.number }} --updated-manifest pr_west.yml --updated-maintainer-file pr_MAINTAINERS.yml"
else
FLAGS+=" -P ${{ github.event.pull_request.number }}"

View File

@@ -26,7 +26,7 @@ jobs:
steps:
- name: Check out source code
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
- name: Set up Python
uses: actions/setup-python@e797f83bcb11b83ae66e0230d6156d7c80228e7c # v6.0.0

View File

@@ -19,12 +19,12 @@ jobs:
steps:
- name: Download artifacts
uses: dawidd6/action-download-artifact@0bd50d53a6d7fb5cb921e607957e9cc12b4ce392 # v12
uses: dawidd6/action-download-artifact@ac66b43f0e6a346234dd65d4d0c8fbb31cb316e5 # v11
with:
run_id: ${{ github.event.workflow_run.id }}
- name: Publish BabbleSim Test Results
uses: EnricoMi/publish-unit-test-result-action@27d65e188ec43221b20d26de30f4892fad91df2f # v2.22.0
uses: EnricoMi/publish-unit-test-result-action@34d7c956a59aed1bfebf31df77b8de55db9bbaaf # v2.21.0
with:
check_name: BabbleSim Test Results
comment_mode: off

View File

@@ -74,7 +74,7 @@ jobs:
git remote set-url origin ${GITHUB_SERVER_URL}/${GITHUB_REPOSITORY}
- name: Checkout
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
fetch-depth: 0
@@ -102,7 +102,7 @@ jobs:
pip install -r scripts/requirements-actions.txt --require-hashes
- name: Check common triggering files
uses: tj-actions/changed-files@e0021407031f5be11a464abee9a0776171c79891 # v47.0.1
uses: tj-actions/changed-files@24d32ffd492484c1d75e0c0b894501ddb9d30d62 # v47.0.0
id: check-common-files
with:
files: |
@@ -121,7 +121,7 @@ jobs:
modules/hal_nordic/**
- name: Check if Bluethooth files changed
uses: tj-actions/changed-files@e0021407031f5be11a464abee9a0776171c79891 # v47.0.1
uses: tj-actions/changed-files@24d32ffd492484c1d75e0c0b894501ddb9d30d62 # v47.0.0
id: check-bluetooth-files
with:
files: |
@@ -131,7 +131,7 @@ jobs:
tests/bsim/bluetooth/
- name: Check if Networking files changed
uses: tj-actions/changed-files@e0021407031f5be11a464abee9a0776171c79891 # v47.0.1
uses: tj-actions/changed-files@24d32ffd492484c1d75e0c0b894501ddb9d30d62 # v47.0.0
id: check-networking-files
with:
files: |
@@ -144,7 +144,7 @@ jobs:
include/zephyr/net/ieee802154*
- name: Check if UART files changed
uses: tj-actions/changed-files@e0021407031f5be11a464abee9a0776171c79891 # v47.0.1
uses: tj-actions/changed-files@24d32ffd492484c1d75e0c0b894501ddb9d30d62 # v47.0.0
id: check-uart-files
with:
files: |
@@ -189,7 +189,7 @@ jobs:
- name: Upload Unit Test Results in HTML
if: always()
uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f # v6.0.0
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0
with:
name: HTML Unit Test Results
if-no-files-found: ignore
@@ -197,7 +197,7 @@ jobs:
junit.html
- name: Publish Unit Test Results
uses: EnricoMi/publish-unit-test-result-action@27d65e188ec43221b20d26de30f4892fad91df2f # v2.22.0
uses: EnricoMi/publish-unit-test-result-action@34d7c956a59aed1bfebf31df77b8de55db9bbaaf # v2.21.0
with:
check_name: Bsim Test Results
files: "junit.xml"
@@ -205,7 +205,7 @@ jobs:
- name: Upload Event Details
if: always()
uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f # v6.0.0
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0
with:
name: event
path: |

View File

@@ -23,7 +23,7 @@ jobs:
steps:
- name: Checkout
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
- name: Set up Python
uses: actions/setup-python@e797f83bcb11b83ae66e0230d6156d7c80228e7c # v6.0.0
@@ -51,7 +51,7 @@ jobs:
echo "BUGS_PICKLE_PATH=${BUGS_PICKLE_PATH}" >> ${GITHUB_ENV}
- name: Configure AWS Credentials
uses: aws-actions/configure-aws-credentials@61815dcd50bd041e203e49132bacad1fd04d2708 # v5.1.1
uses: aws-actions/configure-aws-credentials@00943011d9042930efac3dcd3a170e4273319bc8 # v5.1.0
with:
aws-access-key-id: ${{ vars.AWS_BUILDS_ZEPHYR_BUG_SNAPSHOT_ACCESS_KEY_ID }}
aws-secret-access-key: ${{ secrets.AWS_BUILDS_ZEPHYR_BUG_SNAPSHOT_SECRET_ACCESS_KEY }}

View File

@@ -53,7 +53,7 @@ jobs:
git remote set-url origin ${GITHUB_SERVER_URL}/${GITHUB_REPOSITORY}
- name: Checkout
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
fetch-depth: 0
persist-credentials: false
@@ -123,7 +123,7 @@ jobs:
- name: Upload Unit Test Results
if: always()
uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f # v6.0.0
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0
with:
name: Unit Test Results (Subset ${{ matrix.subset }})
path: |
@@ -140,13 +140,13 @@ jobs:
if: (success() || failure())
steps:
- name: Checkout
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
fetch-depth: 0
persist-credentials: false
- name: Download Artifacts
uses: actions/download-artifact@37930b1c2abaa49bbe596cd826c3c89aef350131 # v7.0.0
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
with:
path: artifacts
@@ -168,7 +168,7 @@ jobs:
- name: Upload Unit Test Results in HTML
if: always()
uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f # v6.0.0
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0
with:
name: HTML Unit Test Results
if-no-files-found: ignore
@@ -176,7 +176,7 @@ jobs:
junit-clang.html
- name: Publish Unit Test Results
uses: EnricoMi/publish-unit-test-result-action@27d65e188ec43221b20d26de30f4892fad91df2f # v2.22.0
uses: EnricoMi/publish-unit-test-result-action@34d7c956a59aed1bfebf31df77b8de55db9bbaaf # v2.21.0
if: always()
with:
check_name: Unit Test Results

View File

@@ -67,7 +67,7 @@ jobs:
git remote set-url origin ${GITHUB_SERVER_URL}/${GITHUB_REPOSITORY}
- name: checkout
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
fetch-depth: 0
@@ -126,7 +126,7 @@ jobs:
- name: Upload Doxygen Coverage Results
if: matrix.platform == 'unit_testing'
uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f # v6.0.0
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0
with:
name: doxygen-coverage-results
path: |
@@ -145,7 +145,7 @@ jobs:
- name: Upload Coverage Results
if: always()
uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f # v6.0.0
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0
with:
name: Coverage Data (Subset ${{ matrix.normalized }})
path: |
@@ -161,7 +161,7 @@ jobs:
steps:
- name: checkout
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
fetch-depth: 0
@@ -177,7 +177,7 @@ jobs:
pip install -r scripts/requirements-actions.txt --require-hashes
- name: Download Artifacts
uses: actions/download-artifact@37930b1c2abaa49bbe596cd826c3c89aef350131 # v7.0.0
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
with:
path: coverage/reports
@@ -242,7 +242,7 @@ jobs:
- name: Upload Merged Coverage Results and Report
if: always()
uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f # v6.0.0
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0
with:
name: Coverage Data and report
path: |
@@ -253,7 +253,7 @@ jobs:
- name: Upload test coverage to Codecov
if: always()
uses: codecov/codecov-action@671740ac38dd9b0130fbe1cec585b89eea48d3de # v5.5.2
uses: codecov/codecov-action@5a1091511ad55cbe89839c7260b706298ca349f7 # v5.5.1
with:
env_vars: OS,PYTHON
fail_ci_if_error: false
@@ -264,7 +264,7 @@ jobs:
- name: Upload Doxygen coverage to Codecov
if: always()
uses: codecov/codecov-action@671740ac38dd9b0130fbe1cec585b89eea48d3de # v5.5.2
uses: codecov/codecov-action@5a1091511ad55cbe89839c7260b706298ca349f7 # v5.5.1
with:
env_vars: OS,PYTHON
fail_ci_if_error: false

View File

@@ -36,10 +36,10 @@ jobs:
config: ./.github/codeql/codeql-js-config.yml
steps:
- name: Checkout
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
- name: Initialize CodeQL
uses: github/codeql-action/init@cdefb33c0f6224e58673d9004f47f7cb3e328b89 # v4.31.10
uses: github/codeql-action/init@0499de31b99561a6d14a36a5f662c2a54f91beee # v4.31.2
with:
languages: ${{ matrix.language }}
build-mode: ${{ matrix.build-mode }}
@@ -53,6 +53,6 @@ jobs:
exit 0
- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@cdefb33c0f6224e58673d9004f47f7cb3e328b89 # v4.31.10
uses: github/codeql-action/analyze@0499de31b99561a6d14a36a5f662c2a54f91beee # v4.31.2
with:
category: "/language:${{matrix.language}}"

View File

@@ -11,7 +11,7 @@ jobs:
name: Run coding guidelines checks on patch series (PR)
steps:
- name: Checkout the code
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
ref: ${{ github.event.pull_request.head.sha }}
fetch-depth: 0

View File

@@ -21,7 +21,7 @@ jobs:
echo "$HOME/.local/bin" >> $GITHUB_PATH
- name: Checkout the code
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
ref: ${{ github.event.pull_request.head.sha }}
fetch-depth: 0
@@ -61,7 +61,7 @@ jobs:
west update -o=--depth=1 -n 2>&1 1> west.update.log || west update -o=--depth=1 -n 2>&1 1> west.update2.log
- name: Setup Node.js
uses: actions/setup-node@6044e13b5dc448c55e2357c09f80417699197238 # v6.2.0
uses: actions/setup-node@2028fbc5c25fe9cf00d9f06a71cc4710d4507903 # v6.0.0
with:
node-version: "lts/*"
cache: npm
@@ -91,14 +91,14 @@ jobs:
./scripts/ci/check_compliance.py --annotate $excludes -c origin/${BASE_REF}..
- name: upload-results
uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f # v6.0.0
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0
continue-on-error: true
with:
name: compliance.xml
path: compliance.xml
- name: Upload dts linter patch
uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f # v6.0.0
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0
continue-on-error: true
if: hashFiles('dts_linter.patch') != ''
with:

View File

@@ -20,14 +20,14 @@ jobs:
steps:
- name: Configure AWS Credentials
uses: aws-actions/configure-aws-credentials@61815dcd50bd041e203e49132bacad1fd04d2708 # v5.1.1
uses: aws-actions/configure-aws-credentials@00943011d9042930efac3dcd3a170e4273319bc8 # v5.1.0
with:
aws-access-key-id: ${{ vars.AWS_TESTING_ACCESS_KEY_ID }}
aws-secret-access-key: ${{ secrets.AWS_TESTING_SECRET_ACCESS_KEY }}
aws-region: us-east-1
- name: checkout
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
fetch-depth: 0

View File

@@ -33,7 +33,7 @@ jobs:
os: [ubuntu-22.04, macos-14, windows-2022]
steps:
- name: checkout
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@e797f83bcb11b83ae66e0230d6156d7c80228e7c # v6.0.0

View File

@@ -27,12 +27,12 @@ jobs:
file_check: ${{ steps.check-doc-files.outputs.any_modified }}
steps:
- name: checkout
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
ref: ${{ github.event.pull_request.head.sha }}
fetch-depth: 0
- name: Check if Documentation related files changed
uses: tj-actions/changed-files@e0021407031f5be11a464abee9a0776171c79891 # v47.0.1
uses: tj-actions/changed-files@24d32ffd492484c1d75e0c0b894501ddb9d30d62 # v47.0.0
id: check-doc-files
with:
files: |
@@ -92,7 +92,7 @@ jobs:
git remote set-url origin ${GITHUB_SERVER_URL}/${GITHUB_REPOSITORY}
- name: Checkout
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
ref: ${{ github.event.pull_request.head.sha }}
fetch-depth: 0
@@ -156,13 +156,13 @@ jobs:
tar --use-compress-program="xz -T0" -cf api-coverage.tar.xz coverage-report
- name: Upload HTML output
uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f # v6.0.0
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0
with:
name: html-output
path: html-output.tar.xz
- name: Upload Doxygen coverage artifacts
uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f # v6.0.0
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0
with:
name: api-coverage
path: api-coverage.tar.xz
@@ -183,7 +183,7 @@ jobs:
echo "API Coverage Report will be available shortly at: ${API_COVERAGE_URL}" >> $GITHUB_STEP_SUMMARY
- name: Upload PR number
uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f # v6.0.0
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0
if: github.event_name == 'pull_request'
with:
name: pr_num
@@ -202,7 +202,7 @@ jobs:
steps:
- name: checkout
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
path: zephyr
@@ -230,7 +230,7 @@ jobs:
echo "/opt/doxygen-${DOXYGEN_VERSION}/bin" >> $GITHUB_PATH
- name: Setup Zephyr project
uses: zephyrproject-rtos/action-zephyr-setup@360ff9b36e58499d9eb28015cdcde7ca03a5b04d # v1.0.12
uses: zephyrproject-rtos/action-zephyr-setup@c125c5ebeeadbd727fa740b407f862734af1e52a # v1.0.9
with:
app-path: zephyr
toolchains: 'arm-zephyr-eabi'
@@ -259,7 +259,7 @@ jobs:
- name: upload-build
if: always()
uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f # v6.0.0
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0
with:
name: pdf-output
if-no-files-found: ignore

View File

@@ -25,7 +25,7 @@ jobs:
steps:
- name: Download artifacts
id: download-artifacts
uses: dawidd6/action-download-artifact@0bd50d53a6d7fb5cb921e607957e9cc12b4ce392 # v12
uses: dawidd6/action-download-artifact@ac66b43f0e6a346234dd65d4d0c8fbb31cb316e5 # v11
with:
workflow: doc-build.yml
run_id: ${{ github.event.workflow_run.id }}
@@ -43,7 +43,7 @@ jobs:
- name: Check PR number
if: steps.download-artifacts.outputs.found_artifact == 'true'
id: check-pr
uses: carpentries/actions/check-valid-pr@083bb9952b1414bd2b9e10ecec1717c938aba4c5 # v0.17.0
uses: carpentries/actions/check-valid-pr@2e20fd5ee53b691e27455ce7ca3b16ea885140e8 # v0.15.0
with:
pr: ${{ env.PR_NUM }}
sha: ${{ github.event.workflow_run.head_sha }}
@@ -66,7 +66,7 @@ jobs:
- name: Configure AWS Credentials
if: steps.download-artifacts.outputs.found_artifact == 'true'
uses: aws-actions/configure-aws-credentials@61815dcd50bd041e203e49132bacad1fd04d2708 # v5.1.1
uses: aws-actions/configure-aws-credentials@00943011d9042930efac3dcd3a170e4273319bc8 # v5.1.0
with:
aws-access-key-id: ${{ vars.AWS_BUILDS_ZEPHYR_PR_ACCESS_KEY_ID }}
aws-secret-access-key: ${{ secrets.AWS_BUILDS_ZEPHYR_PR_SECRET_ACCESS_KEY }}

View File

@@ -27,7 +27,7 @@ jobs:
steps:
- name: Download artifacts
uses: dawidd6/action-download-artifact@0bd50d53a6d7fb5cb921e607957e9cc12b4ce392 # v12
uses: dawidd6/action-download-artifact@ac66b43f0e6a346234dd65d4d0c8fbb31cb316e5 # v11
with:
workflow: doc-build.yml
run_id: ${{ github.event.workflow_run.id }}
@@ -40,7 +40,7 @@ jobs:
fi
- name: Configure AWS Credentials
uses: aws-actions/configure-aws-credentials@61815dcd50bd041e203e49132bacad1fd04d2708 # v5.1.1
uses: aws-actions/configure-aws-credentials@00943011d9042930efac3dcd3a170e4273319bc8 # v5.1.0
with:
aws-access-key-id: ${{ vars.AWS_DOCS_ACCESS_KEY_ID }}
aws-secret-access-key: ${{ secrets.AWS_DOCS_SECRET_ACCESS_KEY }}

View File

@@ -15,12 +15,12 @@ jobs:
runs-on: ubuntu-24.04
steps:
- name: checkout
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
path: zephyr
- name: Setup Zephyr project
uses: zephyrproject-rtos/action-zephyr-setup@360ff9b36e58499d9eb28015cdcde7ca03a5b04d # v1.0.12
uses: zephyrproject-rtos/action-zephyr-setup@c125c5ebeeadbd727fa740b407f862734af1e52a # v1.0.9
with:
app-path: zephyr
toolchains: 'arm-zephyr-eabi'

View File

@@ -62,7 +62,7 @@ jobs:
sudo apt-get install -y python3-venv
- name: checkout
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
ref: ${{ github.event.pull_request.head.sha }}
fetch-depth: 0
@@ -89,7 +89,7 @@ jobs:
west update 2>&1 1> west.update.log || west update 2>&1 1> west.update2.log
- name: Configure AWS Credentials
uses: aws-actions/configure-aws-credentials@61815dcd50bd041e203e49132bacad1fd04d2708 # v5.1.1
uses: aws-actions/configure-aws-credentials@00943011d9042930efac3dcd3a170e4273319bc8 # v5.1.0
with:
aws-access-key-id: ${{ vars.AWS_TESTING_ACCESS_KEY_ID }}
aws-secret-access-key: ${{ secrets.AWS_TESTING_SECRET_ACCESS_KEY }}

View File

@@ -18,7 +18,7 @@ jobs:
issues: write # to comment on issues
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
- uses: zephyrproject-rtos/action-first-interaction@58853996b1ac504b8e0f6964301f369d2bb22e5c # v1.1.1+zephyr.6
with:
repo-token: ${{ secrets.GITHUB_TOKEN }}

View File

@@ -32,7 +32,7 @@ jobs:
runs-on: ${{ matrix.os }}
steps:
- name: Checkout
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
path: zephyr
fetch-depth: 0
@@ -59,10 +59,10 @@ jobs:
python-version: 3.12
- name: Setup Zephyr project
uses: zephyrproject-rtos/action-zephyr-setup@360ff9b36e58499d9eb28015cdcde7ca03a5b04d # v1.0.12
uses: zephyrproject-rtos/action-zephyr-setup@c125c5ebeeadbd727fa740b407f862734af1e52a # v1.0.9
with:
app-path: zephyr
toolchains: arm-zephyr-eabi:riscv64-zephyr-elf
toolchains: aarch64-zephyr-elf:arc-zephyr-elf:arc64-zephyr-elf:arm-zephyr-eabi:mips-zephyr-elf:riscv64-zephyr-elf:sparc-zephyr-elf:x86_64-zephyr-elf:xtensa-dc233c_zephyr-elf:xtensa-sample_controller32_zephyr-elf:rx-zephyr-elf
ccache-cache-key: hw-${{ matrix.os }}
- name: Build firmware
@@ -76,19 +76,11 @@ jobs:
elif [ "${{ runner.os }}-${{ runner.arch }}" == "Linux-ARM64" ]; then
EXTRA_TWISTER_FLAGS="--exclude-platform native_sim/native"
fi
west twister \
-p native_sim -p qemu_cortex_m0 -p qemu_riscv32 -p qemu_riscv64 \
--runtime-artifact-cleanup \
--force-color \
--inline-logs \
-T samples/hello_world \
-T samples/cpp/hello_world \
-v \
$EXTRA_TWISTER_FLAGS
west twister --runtime-artifact-cleanup --force-color --inline-logs -T samples/hello_world -T samples/cpp/hello_world -v $EXTRA_TWISTER_FLAGS
- name: Upload artifacts
if: failure()
uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f # v6.0.0
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0
with:
if-no-files-found: ignore
path:

View File

@@ -38,14 +38,14 @@ jobs:
token: ${{ secrets.GITHUB_TOKEN }}
- name: upload-stats
uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f # v6.0.0
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0
continue-on-error: true
with:
name: ${{ env.OUTPUT_FILE_NAME }}
path: ${{ env.OUTPUT_FILE_NAME }}
- name: Configure AWS Credentials
uses: aws-actions/configure-aws-credentials@61815dcd50bd041e203e49132bacad1fd04d2708 # v5.1.1
uses: aws-actions/configure-aws-credentials@00943011d9042930efac3dcd3a170e4273319bc8 # v5.1.0
with:
aws-access-key-id: ${{ vars.AWS_TESTING_ACCESS_KEY_ID }}
aws-secret-access-key: ${{ secrets.AWS_TESTING_SECRET_ACCESS_KEY }}

View File

@@ -11,7 +11,7 @@ jobs:
name: Scan code for licenses
steps:
- name: Checkout the code
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
fetch-depth: 0
- name: Scan the code
@@ -20,7 +20,7 @@ jobs:
with:
directory-to-scan: 'scan/'
- name: Artifact Upload
uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f # v6.0.0
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0
with:
name: scancode
path: ./artifacts

View File

@@ -13,7 +13,7 @@ jobs:
name: Manifest
steps:
- name: Checkout the code
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
path: zephyrproject/zephyr
fetch-depth: 0

View File

@@ -14,6 +14,6 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
- name: Ensure SHA pinned actions
uses: zgosalvez/github-actions-ensure-sha-pinned-actions@6124774845927d14c601359ab8138699fa5b70c3 # v4.0.1
uses: zgosalvez/github-actions-ensure-sha-pinned-actions@9e9574ef04ea69da568d6249bd69539ccc704e74 # v4.0.0

View File

@@ -8,6 +8,7 @@ on:
- reopened
- labeled
- unlabeled
- edited
permissions:
contents: read
@@ -23,7 +24,7 @@ jobs:
timeout-minutes: 30
steps:
- name: Checkout
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
- name: Set up Python
uses: actions/setup-python@e797f83bcb11b83ae66e0230d6156d7c80228e7c # v6.0.0

View File

@@ -32,7 +32,7 @@ jobs:
os: [ubuntu-24.04]
steps:
- name: checkout
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@e797f83bcb11b83ae66e0230d6156d7c80228e7c # v6.0.0

View File

@@ -15,7 +15,7 @@ jobs:
permissions:
contents: write # to create GitHub release entry
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
fetch-depth: 0
@@ -31,7 +31,7 @@ jobs:
args: spdx -o zephyr-${{ steps.get_version.outputs.VERSION }}.spdx
- name: upload-results
uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f # v6.0.0
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0
continue-on-error: true
with:
name: zephyr-${{ steps.get_version.outputs.VERSION }}.spdx

View File

@@ -29,7 +29,7 @@ jobs:
steps:
- name: "Checkout code"
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
persist-credentials: false
@@ -47,7 +47,7 @@ jobs:
# uploads of run results in SARIF format to the repository Actions tab.
# https://docs.github.com/en/actions/advanced-guides/storing-workflow-data-as-artifacts
- name: "Upload artifact"
uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f # v6.0.0
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0
with:
name: SARIF file
path: results.sarif
@@ -56,6 +56,6 @@ jobs:
# Upload the results to GitHub's code scanning dashboard (optional).
# Commenting out will disable upload of results to your repo's Code Scanning dashboard
- name: "Upload to code-scanning"
uses: github/codeql-action/upload-sarif@cdefb33c0f6224e58673d9004f47f7cb3e328b89 # v4.31.10
uses: github/codeql-action/upload-sarif@0499de31b99561a6d14a36a5f662c2a54f91beee # v4.31.2
with:
sarif_file: results.sarif

View File

@@ -32,7 +32,7 @@ jobs:
os: [ubuntu-24.04]
steps:
- name: checkout
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
ref: ${{ github.event.pull_request.head.sha }}
fetch-depth: 0

View File

@@ -16,7 +16,7 @@ jobs:
issues: write # to comment on stale issues
steps:
- uses: actions/stale@997185467fa4f803885201cee163a9f38240193d # v10.1.1
- uses: actions/stale@5f858e3efba33a5ca4407a664cc011ad407f2008 # v10.1.0
with:
stale-pr-message: 'This pull request has been marked as stale because it has been open (more
than) 60 days with no activity. Remove the stale label or add a comment saying that you

View File

@@ -16,7 +16,7 @@ jobs:
runs-on: ubuntu-24.04
steps:
- name: checkout
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
- name: Set up Python
uses: actions/setup-python@e797f83bcb11b83ae66e0230d6156d7c80228e7c # v6.0.0

View File

@@ -23,7 +23,7 @@ jobs:
steps:
# Needed for elasticearch and upload script
- name: Checkout
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
fetch-depth: 0
persist-credentials: false
@@ -39,7 +39,7 @@ jobs:
- name: Download Artifacts
id: download-artifacts
uses: dawidd6/action-download-artifact@0bd50d53a6d7fb5cb921e607957e9cc12b4ce392 # v12
uses: dawidd6/action-download-artifact@ac66b43f0e6a346234dd65d4d0c8fbb31cb316e5 # v11
with:
path: artifacts
workflow: twister.yml

View File

@@ -42,7 +42,7 @@ jobs:
steps:
- name: Checkout
if: github.event_name == 'pull_request'
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
ref: ${{ github.event.pull_request.head.sha }}
fetch-depth: 0
@@ -65,7 +65,7 @@ jobs:
- name: Setup Zephyr project
if: github.event_name == 'pull_request'
uses: zephyrproject-rtos/action-zephyr-setup@360ff9b36e58499d9eb28015cdcde7ca03a5b04d # v1.0.12
uses: zephyrproject-rtos/action-zephyr-setup@c125c5ebeeadbd727fa740b407f862734af1e52a # v1.0.9
with:
app-path: zephyr
enable-ccache: false
@@ -171,7 +171,7 @@ jobs:
git remote set-url origin ${GITHUB_SERVER_URL}/${GITHUB_REPOSITORY}
- name: Checkout
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
ref: ${{ github.event.pull_request.head.sha }}
fetch-depth: 0
@@ -283,7 +283,7 @@ jobs:
- name: Upload Unit Test Results
if: always()
uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f # v6.0.0
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0
with:
name: Unit Test Results (Subset ${{ matrix.subset }})
if-no-files-found: ignore
@@ -305,7 +305,7 @@ jobs:
- if: matrix.subset == 1 && github.event_name == 'push'
name: Upload the list of Python packages
uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f # v6.0.0
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0
with:
name: Frozen PIP package set
path: |
@@ -323,7 +323,7 @@ jobs:
steps:
- name: Check out source code
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
ref: ${{ github.event.pull_request.head.sha }}
fetch-depth: 0
@@ -341,7 +341,7 @@ jobs:
pip install -r scripts/requirements-actions.txt --require-hashes
- name: Download Artifacts
uses: actions/download-artifact@37930b1c2abaa49bbe596cd826c3c89aef350131 # v7.0.0
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
with:
path: artifacts
@@ -352,7 +352,7 @@ jobs:
- name: Upload Unit Test Results
if: always()
uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f # v6.0.0
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0
with:
name: Unit Test Results
if-no-files-found: ignore
@@ -362,12 +362,12 @@ jobs:
- name: Upload test results to Codecov
if: ${{ !cancelled() && (github.event_name == 'push') }}
uses: codecov/test-results-action@0fa95f0e1eeaafde2c782583b36b28ad0d8c77d3 # v1.2.1
uses: codecov/test-results-action@47f89e9acb64b76debcd5ea40642d25a4adced9f # v1.1.1
with:
token: ${{ secrets.CODECOV_TOKEN }}
- name: Publish Unit Test Results
uses: EnricoMi/publish-unit-test-result-action@27d65e188ec43221b20d26de30f4892fad91df2f # v2.22.0
uses: EnricoMi/publish-unit-test-result-action@34d7c956a59aed1bfebf31df77b8de55db9bbaaf # v2.21.0
with:
check_name: Unit Test Results
files: "**/twister.xml"
@@ -384,7 +384,7 @@ jobs:
- name: Upload Twister Analysis Results
if: needs.twister-build.result == 'failure'
uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f # v6.0.0
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0
with:
name: Twister Analysis Results
if-no-files-found: ignore

View File

@@ -39,7 +39,7 @@ jobs:
os: [ubuntu-24.04]
steps:
- name: checkout
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@e797f83bcb11b83ae66e0230d6156d7c80228e7c # v6.0.0

View File

@@ -27,11 +27,12 @@ jobs:
strategy:
matrix:
python-version: ['3.10', '3.11', '3.12', '3.13']
os: [ubuntu-24.04, macos-14, windows-2022]
fail-fast: false
runs-on: ubuntu-24.04
runs-on: ${{ matrix.os }}
steps:
- name: Checkout
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
path: zephyr
fetch-depth: 0
@@ -44,15 +45,16 @@ jobs:
cache-dependency-path: scripts/requirements-actions.txt
- name: Setup Zephyr project
uses: zephyrproject-rtos/action-zephyr-setup@360ff9b36e58499d9eb28015cdcde7ca03a5b04d # v1.0.12
uses: zephyrproject-rtos/action-zephyr-setup@c125c5ebeeadbd727fa740b407f862734af1e52a # v1.0.9
with:
app-path: zephyr
toolchains: 'arm-zephyr-eabi:riscv64-zephyr-elf:x86_64-zephyr-elf'
toolchains: all
enable-ccache: false
west-group-filter: -tools,-bootloader,-babblesim,-hal
west-project-filter: -nrf_hw_models,+cmsis,+hal_xtensa,+cmsis_6
- name: Run Pytest For Twister Black Box Tests
if: ${{ runner.os == 'Linux' }}
working-directory: zephyr
shell: bash
env:

View File

@@ -36,7 +36,7 @@ jobs:
os: [ubuntu-22.04, macos-14, windows-2022]
steps:
- name: checkout
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@e797f83bcb11b83ae66e0230d6156d7c80228e7c # v6.0.0

1
.gitignore vendored
View File

@@ -17,7 +17,6 @@
build*/
!doc/build/
!scripts/build
!share/sysbuild/build
!tests/drivers/build_all
!scripts/pylib/build_helpers
cscope.*

View File

@@ -310,14 +310,32 @@
"I001", # https://docs.astral.sh/ruff/rules/unsorted-imports
"UP015", # https://docs.astral.sh/ruff/rules/redundant-open-modes
]
"./scripts/pylib/pytest-twister-harness/src/twister_harness/device/binary_adapter.py" = [
"E501", # https://docs.astral.sh/ruff/rules/line-too-long
"SIM103", # https://docs.astral.sh/ruff/rules/needless-bool
]
"./scripts/pylib/pytest-twister-harness/src/twister_harness/device/device_adapter.py" = [
"E501", # https://docs.astral.sh/ruff/rules/line-too-long
"I001", # https://docs.astral.sh/ruff/rules/unsorted-imports
]
"./scripts/pylib/pytest-twister-harness/src/twister_harness/device/factory.py" = [
"I001", # https://docs.astral.sh/ruff/rules/unsorted-imports
"UP006", # https://docs.astral.sh/ruff/rules/non-pep585-annotation
"UP035", # https://docs.astral.sh/ruff/rules/deprecated-import
]
"./scripts/pylib/pytest-twister-harness/src/twister_harness/device/fifo_handler.py" = [
"E501", # https://docs.astral.sh/ruff/rules/line-too-long
"SIM115", # https://docs.astral.sh/ruff/rules/open-file-with-context-handler
]
"./scripts/pylib/pytest-twister-harness/src/twister_harness/device/hardware_adapter.py" = [
"E501", # https://docs.astral.sh/ruff/rules/line-too-long
"I001", # https://docs.astral.sh/ruff/rules/unsorted-imports
"UP024", # https://docs.astral.sh/ruff/rules/os-error-alias
]
"./scripts/pylib/pytest-twister-harness/src/twister_harness/device/qemu_adapter.py" = [
"E501", # https://docs.astral.sh/ruff/rules/line-too-long
"I001", # https://docs.astral.sh/ruff/rules/unsorted-imports
]
"./scripts/pylib/pytest-twister-harness/src/twister_harness/fixtures.py" = [
"E501", # https://docs.astral.sh/ruff/rules/line-too-long
"I001", # https://docs.astral.sh/ruff/rules/unsorted-imports
@@ -938,6 +956,11 @@ exclude = [
"./scripts/net/enumerate_http_status.py",
"./scripts/profiling/stackcollapse.py",
"./scripts/pylib/build_helpers/domains.py",
"./scripts/pylib/pytest-twister-harness/src/twister_harness/device/binary_adapter.py",
"./scripts/pylib/pytest-twister-harness/src/twister_harness/device/device_adapter.py",
"./scripts/pylib/pytest-twister-harness/src/twister_harness/device/fifo_handler.py",
"./scripts/pylib/pytest-twister-harness/src/twister_harness/device/hardware_adapter.py",
"./scripts/pylib/pytest-twister-harness/src/twister_harness/device/qemu_adapter.py",
"./scripts/pylib/pytest-twister-harness/src/twister_harness/fixtures.py",
"./scripts/pylib/pytest-twister-harness/src/twister_harness/helpers/mcumgr.py",
"./scripts/pylib/pytest-twister-harness/src/twister_harness/plugin.py",

View File

@@ -166,7 +166,7 @@ if(CONFIG_COMPILER_WARNINGS_AS_ERRORS)
zephyr_link_libraries($<TARGET_PROPERTY:linker,warnings_as_errors>)
endif()
if(CONFIG_DEPRECATION_TEST OR NOT CONFIG_WARN_DEPRECATED)
if(CONFIG_DEPRECATION_TEST)
zephyr_compile_options($<$<COMPILE_LANGUAGE:C>:$<TARGET_PROPERTY:compiler,no_deprecation_warning>>)
zephyr_compile_options($<$<COMPILE_LANGUAGE:CXX>:$<TARGET_PROPERTY:compiler,no_deprecation_warning>>)
zephyr_compile_options($<$<COMPILE_LANGUAGE:ASM>:$<TARGET_PROPERTY:asm,no_deprecation_warning>>)
@@ -315,9 +315,7 @@ if(CONFIG_LTO)
zephyr_compile_options($<TARGET_PROPERTY:compiler,optimization_lto_st>)
add_link_options($<TARGET_PROPERTY:linker,lto_arguments_st>)
else()
set(genex_tgt_lto "$<TARGET_PROPERTY:LTO>")
set(genex_lto "$<TARGET_PROPERTY:compiler,optimization_lto>")
zephyr_compile_options("$<$<OR:$<STREQUAL:${genex_tgt_lto},>,${genex_tgt_lto}>:${genex_lto}>")
zephyr_compile_options($<TARGET_PROPERTY:compiler,optimization_lto>)
add_link_options($<TARGET_PROPERTY:linker,lto_arguments>)
endif()
endif()
@@ -475,6 +473,8 @@ zephyr_compile_options(
$<$<COMPILE_LANGUAGE:ASM>:-D_ASMLANGUAGE>
)
find_package(Deprecated COMPONENTS toolchain_ld_base)
if(DEFINED TOOLCHAIN_LD_FLAGS)
zephyr_ld_options(${TOOLCHAIN_LD_FLAGS})
endif()
@@ -505,6 +505,8 @@ toolchain_ld_force_undefined_symbols(
)
if(NOT CONFIG_NATIVE_BUILD)
find_package(Deprecated COMPONENTS toolchain_ld_baremetal)
zephyr_link_libraries(PROPERTY baremetal)
# Note that some architectures will skip this flag if set to error, even
@@ -529,6 +531,10 @@ if(NOT CONFIG_NATIVE_BUILD)
endif()
if(CONFIG_CPP)
if(NOT CONFIG_MINIMAL_LIBCPP AND NOT CONFIG_NATIVE_LIBRARY)
find_package(Deprecated COMPONENTS toolchain_ld_cpp)
endif()
zephyr_link_libraries(PROPERTY cpp_base)
endif()
@@ -820,12 +826,12 @@ set(struct_tags_json ${CMAKE_CURRENT_BINARY_DIR}/misc/generated/struct_tags.json
# The syscalls subdirs txt file is constructed by python containing a list of folders to use for
# dependency handling, including empty folders.
# Windows: The list is used to specify DIRECTORY list with CMAKE_CONFIGURE_DEPENDS attribute.
# Other OS: The list file is updated whenever a directory is added or removed.
# Other OS: The list will update whenever a file is added/removed/modified and ensure a re-build.
set(syscalls_subdirs_txt ${CMAKE_CURRENT_BINARY_DIR}/misc/generated/syscalls_subdirs.txt)
# As syscalls_subdirs_txt is updated only on directory add or remove, this file can not be used for
# monitoring of syscall changes. A trigger file is thus used for correct dependency handling. The
# trigger file will update when syscalls change.
# As syscalls_subdirs_txt is updated whenever a file is modified, this file can not be used for
# monitoring of added / removed folders. A trigger file is thus used for correct dependency
# handling. The trigger file will update when a folder is added / removed.
set(syscalls_subdirs_trigger ${CMAKE_CURRENT_BINARY_DIR}/misc/generated/syscalls_subdirs.trigger)
if(NOT (${CMAKE_HOST_SYSTEM_NAME} STREQUAL Windows))
@@ -844,13 +850,14 @@ execute_process(
)
file(STRINGS ${syscalls_subdirs_txt} PARSE_SYSCALLS_PATHS_DEPENDS ENCODING UTF-8)
# Each header file must be monitored as file modifications are not reflected on directory level.
file(GLOB_RECURSE PARSE_SYSCALLS_HEADER_DEPENDS ${ZEPHYR_BASE}/include/*.h)
if(${CMAKE_HOST_SYSTEM_NAME} STREQUAL Windows)
# On windows only adding/removing files or folders will be reflected in depends.
# Hence adding a file requires CMake to re-run to add this file to the file list.
set_property(DIRECTORY APPEND PROPERTY CMAKE_CONFIGURE_DEPENDS ${PARSE_SYSCALLS_PATHS_DEPENDS})
# Also On Windows each header file must be monitored as file modifications are not reflected
# on directory level.
file(GLOB_RECURSE PARSE_SYSCALLS_HEADER_DEPENDS ${ZEPHYR_BASE}/include/*.h)
else()
# The syscall parsing depends on the folders in order to detect add/removed/modified files.
# When a folder is removed, CMake will try to find a target that creates that dependency.
@@ -881,10 +888,10 @@ else()
file(WRITE ${syscalls_subdirs_txt} "")
endif()
# On other OS'es, using git checkout is reflected on the folder timestamp and hence detected
# On other OS'es, modifying a file is reflected on the folder timestamp and hence detected
# when using depend on directory level.
# Thus CMake only needs to re-run when sub-directories are added / removed, which is indicated
# by syscalls_subdirs_txt being updated.
# using a trigger file.
set_property(DIRECTORY APPEND PROPERTY CMAKE_CONFIGURE_DEPENDS ${syscalls_subdirs_txt})
endif()
@@ -2287,7 +2294,7 @@ endif()
add_custom_command(
TARGET ${logical_target_for_zephyr_elf}
POST_BUILD
COMMAND ${CMAKE_COMMAND} -E echo "Generating files from ${PROJECT_BINARY_DIR}/${KERNEL_ELF_NAME} for board: ${BOARD}${BOARD_QUALIFIERS}"
COMMAND ${CMAKE_COMMAND} -E echo "Generating files from ${PROJECT_BINARY_DIR}/${KERNEL_ELF_NAME} for board: ${BOARD}"
${post_build_commands}
BYPRODUCTS
${post_build_byproducts}

View File

@@ -482,7 +482,9 @@ choice COMPILER_OPTIMIZATIONS
prompt "Optimization level"
default NO_OPTIMIZATIONS if COVERAGE
default DEBUG_OPTIMIZATIONS if DEBUG
default SIZE_OPTIMIZATIONS_AGGRESSIVE if "$(ZEPHYR_TOOLCHAIN_VARIANT)" = "llvm"
# gcc 14.3 -Os is broken on riscv. This setting should be in the SDK, it's here for testing
default SPEED_OPTIMIZATIONS if "$(TOOLCHAIN_VARIANT_COMPILER)" = "gnu" && RISCV
default SIZE_OPTIMIZATIONS_AGGRESSIVE if "$(TOOLCHAIN_VARIANT_COMPILER)" = "llvm"
default SIZE_OPTIMIZATIONS
help
Note that these flags shall only control the compiler
@@ -1021,8 +1023,7 @@ config WARN_DEPRECATED
prompt "Warn on deprecated usage"
help
Print a warning when the Kconfig tree is parsed if any deprecated
features are enabled, or at compile time, when deprecated macros or
symbols are used.
features are enabled.
config EXPERIMENTAL
bool

View File

@@ -302,7 +302,7 @@ Aesc Platform:
files-regex:
- ^drivers/.*aesc(\.c)?$
labels:
- "platform: Aesc Silicon"
- "area: Aesc Silicon Platform"
Ambiq Platforms:
status: maintained
@@ -486,8 +486,7 @@ Bluetooth Classic:
- makeshi
- chengkai15
files:
- doc/connectivity/bluetooth/shell/classic/
- doc/connectivity/bluetooth/api/classic/
- doc/connectivity/bluetooth/shell/classic/a2dp.rst
- subsys/bluetooth/common/
- subsys/bluetooth/host/classic/
- include/zephyr/bluetooth/classic/
@@ -585,15 +584,13 @@ Bluetooth Host:
- include/zephyr/bluetooth/iso.h
- include/zephyr/bluetooth/controller.h
- include/zephyr/bluetooth/mesh.h
- include/zephyr/bluetooth/sbc.h
- doc/connectivity/bluetooth/bluetooth-ctlr-arch.rst
- doc/connectivity/bluetooth/autopts/
- doc/connectivity/bluetooth/img/ctlr*
- doc/connectivity/bluetooth/api/audio/
- doc/connectivity/bluetooth/api/classic/
- doc/connectivity/bluetooth/api/mesh/
- doc/connectivity/bluetooth/api/controller.rst
- doc/connectivity/bluetooth/shell/classic/
- doc/connectivity/bluetooth/shell/classic/a2dp.rst
- doc/connectivity/bluetooth/shell/host/iso.rst
- doc/connectivity/bluetooth/shell/audio/
- samples/bluetooth/bap*/
@@ -609,7 +606,6 @@ Bluetooth Host:
- subsys/bluetooth/host/iso.c
- subsys/bluetooth/host/iso_internal.h
- subsys/bluetooth/host/shell/iso.c
- subsys/bluetooth/lib/sbc.c
- tests/bluetooth/audio/
- tests/bluetooth/classic/
- tests/bluetooth/controller/
@@ -742,7 +738,6 @@ Bouffalolab Platforms:
- josuah
files:
- boards/bflb/
- boards/sipeed/maix_m0s_dock/
- drivers/*/*bflb*
- dts/riscv/bflb/
- dts/bindings/*/bflb,*
@@ -1140,8 +1135,6 @@ Devicetree:
Devicetree Bindings:
status: odd fixes
collaborators:
- JarmouniA
files-regex:
- ^dts/bindings/.*zephyr.*
files:
@@ -1149,7 +1142,7 @@ Devicetree Bindings:
- include/zephyr/dt-bindings/
- scripts/bindings_properties_allowlist.yaml
labels:
- "area: Devicetree Binding"
- "area: Devicetree Bindings"
Disk:
status: maintained
@@ -1181,9 +1174,9 @@ Display drivers:
maintainers:
- JarmouniA
collaborators:
- jfischer-no
- danieldegrasse
- VynDragon
- KATE-WANG-NXP
files:
- drivers/display/
- dts/bindings/display/
@@ -1224,7 +1217,6 @@ Documentation:
- doc/substitutions.txt
- doc/images/Zephyr-Kite-in-tree.png
- doc/index-tex.rst
- doc/index.html
- doc/index.rst
- doc/kconfig.rst
- doc/templates/sample.tmpl
@@ -1261,7 +1253,6 @@ Documentation Infrastructure:
status: odd fixes
collaborators:
- anangl
- ZhaoxiangJin
files:
- drivers/adc/
- include/zephyr/drivers/adc.h
@@ -1324,8 +1315,6 @@ Documentation Infrastructure:
files:
- boards/shields/canis_canpico/
- boards/shields/mcp2515/
- boards/shields/mikroe_can_fd_6_click/
- boards/shields/mikroe_mcp251xfd_click/
- boards/shields/tcan4550evm/
- doc/connectivity/canbus/
- doc/hardware/peripherals/can/
@@ -1457,9 +1446,6 @@ Documentation Infrastructure:
status: maintained
maintainers:
- nordic-krch
collaborators:
- Holt-Sun
- FelixWang47831
files:
- drivers/counter/
- include/zephyr/drivers/counter.h
@@ -1519,7 +1505,6 @@ Documentation Infrastructure:
- lgirdwood
- iuliana-prodan
- dbaluta
- abonislawski
files:
- drivers/dai/
- doc/hardware/peripherals/audio/dai.rst
@@ -1840,8 +1825,6 @@ Documentation Infrastructure:
status: maintained
maintainers:
- teburd
collaborators:
- maass-hamburg
files:
- drivers/i2c/
- include/zephyr/drivers/i2c/
@@ -1859,10 +1842,11 @@ Documentation Infrastructure:
- drivers.i2c
"Drivers: I2S":
status: odd fixes
status: maintained
maintainers:
- anangl
collaborators:
- TomasBarakNXP
- anangl
files:
- doc/hardware/peripherals/audio/i2s.rst
- drivers/i2s/
@@ -2026,7 +2010,6 @@ Documentation Infrastructure:
collaborators:
- JarmouniA
- VynDragon
- KATE-WANG-NXP
files:
- drivers/mipi_dbi/
- include/zephyr/drivers/mipi_dbi.h
@@ -2039,7 +2022,6 @@ Documentation Infrastructure:
status: odd fixes
collaborators:
- JarmouniA
- KATE-WANG-NXP
files:
- drivers/mipi_dsi/
- include/zephyr/drivers/mipi_dsi.h
@@ -2204,6 +2186,8 @@ Documentation Infrastructure:
maintainers:
- manuargue
- Dat-NguyenDuy
collaborators:
- congnguyenhuu
files:
- drivers/psi5/
- include/zephyr/drivers/psi5/
@@ -2231,7 +2215,6 @@ Documentation Infrastructure:
collaborators:
- anangl
- henrikbrixandersen
- FelixWang47831
files:
- drivers/pwm/
- dts/bindings/pwm/
@@ -2269,8 +2252,6 @@ Documentation Infrastructure:
status: maintained
maintainers:
- bjarki-andreasen
collaborators:
- Holt-Sun
files:
- drivers/rtc/
- include/zephyr/drivers/rtc/
@@ -2354,6 +2335,8 @@ Documentation Infrastructure:
maintainers:
- manuargue
- Dat-NguyenDuy
collaborators:
- congnguyenhuu
files:
- drivers/sent/
- include/zephyr/drivers/sent/
@@ -2592,7 +2575,6 @@ Documentation Infrastructure:
collaborators:
- katsuster
- martinjaeger
- yvesll
files:
- doc/hardware/peripherals/watchdog.rst
- drivers/watchdog/
@@ -2641,7 +2623,6 @@ Documentation Infrastructure:
- dts/bindings/wifi/nordic,nrf7000-spi.yaml
- dts/bindings/wifi/nordic,nrf7001-qspi.yaml
- dts/bindings/wifi/nordic,nrf7001-spi.yaml
- dts/bindings/wifi/nordic,nrf71-wifi.yaml
- boards/shields/nrf7002ek/
labels:
- "area: Wi-Fi"
@@ -3061,7 +3042,6 @@ Intel Platforms (Xtensa):
- jxstelter
- marcinszkudlinski
- nashif
- abonislawski
files:
- boards/intel/adsp/
- soc/intel/intel_adsp/
@@ -3386,7 +3366,6 @@ Microchip MEC Platforms:
status: maintained
maintainers:
- jvasanth1
- scottwcpg
collaborators:
- VenkatKotakonda
- albertofloyd
@@ -3410,14 +3389,11 @@ Microchip RISC-V Platforms:
collaborators:
- kgugala
- tgorochowik
- con-pax
files:
- boards/microchip/m2gl025_miv/
- boards/microchip/mpfs_icicle/
- boards/microchip/pic64gx_curiosity_kit/
- dts/riscv/microchip/
- soc/microchip/miv/
- soc/microchip/pic64/
labels:
- "platform: Microchip RISC-V"
@@ -3515,7 +3491,6 @@ NXP Platform Drivers:
- dbaluta
- Holt-Sun
- zejiang0jason
- butok
files-regex:
- ^drivers/.*nxp.*
- ^drivers/.*mcux.*
@@ -3614,7 +3589,6 @@ NXP Platforms (MCU):
- mmahadevan108
collaborators:
- butok
- DerekSnell
files:
- boards/nxp/mimxrt*/
- boards/nxp/frdm*/
@@ -3622,6 +3596,7 @@ NXP Platforms (MCU):
- boards/nxp/lpcxpress*/
- boards/nxp/twr_*/
- boards/nxp/*rw*/
- boards/nxp/hexiwear/
- boards/nxp/common/
- boards/nxp/*
- soc/nxp/common/
@@ -3737,6 +3712,7 @@ NXP Platforms (S32):
- manuargue
collaborators:
- Dat-NguyenDuy
- congnguyenhuu
files:
- boards/nxp/*s32*/
- boards/common/*nxp_s32*
@@ -4178,22 +4154,6 @@ OSDP:
tests:
- sample.mgmt.osdp
OTP:
status: odd fixes
collaborators:
- GseoC
- pdgendt
files:
- doc/hardware/peripherals/otp/
- drivers/otp/
- dts/bindings/otp/
- include/zephyr/drivers/otp.h
- tests/subsys/nvmem/api/otp.overlay
labels:
- "area: OTP"
tests:
- nvmem
Octavo Systems Platforms:
status: maintained
maintainers:
@@ -4258,7 +4218,6 @@ PMCI:
collaborators:
- nashif
- kehintel
- edersondisouza
files:
- subsys/pmci/
- samples/subsys/pmci/
@@ -4328,16 +4287,6 @@ Power management:
tests:
- pm
QNX Hypervisor Platforms:
status: maintained
maintainers:
- soburi
files:
- boards/blackberry/qnxhv_vm/
- soc/blackberry/qnxhv_vm/
labels:
- "platform: QNX Hypervisor"
"Quicklogic Platform":
status: odd fixes
files:
@@ -4509,9 +4458,6 @@ Release:
Release Notes:
status: maintained
maintainers:
- MaureenHelm
- stephanosio
collaborators:
- kartben
files:
- doc/releases/migration-guide-*
@@ -4728,8 +4674,6 @@ Safety:
maintainers:
- tobiaskaestner
- parphane
collaborators:
- jkey-eng
files:
- doc/safety/
labels:
@@ -4830,14 +4774,6 @@ Settings:
- subsys/settings/src/settings_tfm_psa*
- tests/subsys/settings/functional/tfm_psa/
- tests/subsys/settings/tfm_psa/
- name: ZMS backend
collaborators:
- rghaddab
files:
- subsys/settings/src/settings_zms.c
- subsys/settings/include/settings/settings_zms.h
- tests/subsys/settings/zms/
- tests/subsys/settings/functional/zms/
labels:
- "area: Settings"
tests:
@@ -4884,7 +4820,6 @@ SiFli SF32LB Platforms:
collaborators:
- cameled
- ck-telecom
- HalfSweet
files:
- boards/sifli/
- drivers/*/*sf32lb*
@@ -4942,17 +4877,6 @@ Silabs SiM3U Platforms:
description: >-
SiM3U SoCs, dts files, and related drivers. Boards based on SiM3U SoCs.
Space Cubics Platforms:
status: maintained
maintainers:
- yashi
files:
- boards/sc/
labels:
- "platform: Space Cubics"
description: >-
Space Cubics on-board computers (OBCs).
State machine framework:
status: maintained
maintainers:
@@ -5277,7 +5201,6 @@ Twister:
- gchwier
- LukaszMrugala
- KamilxPaszkiet
- fundakol
files:
- scripts/twister
- scripts/schemas/twister/
@@ -5342,20 +5265,6 @@ USB-C:
tests:
- sample.usbc
UUID:
status: maintained
maintainers:
- sorru94
files:
- lib/uuid/
- include/zephyr/sys/uuid.h
- tests/lib/uuid/
- samples/subsys/uuid/
labels:
- "area: UUID"
tests:
- libraries.uuid
Userspace:
status: maintained
maintainers:
@@ -6059,7 +5968,6 @@ West:
collaborators:
- nashif
- dkalowsk
- edersondisouza
files: []
labels:
- "area: MCTP"
@@ -6080,8 +5988,6 @@ West:
- MarkWangChinese
files:
- modules/libsbc/
- include/zephyr/bluetooth/sbc.h
- subsys/bluetooth/lib/sbc.c
labels:
- "area: Audio"
@@ -6421,7 +6327,6 @@ Xilinx Platforms:
- henrikbrixandersen
- ibirnbaum
- kedareswararao
- neeliajay
files:
- boards/amd/
- drivers/*/*xilinx*
@@ -6512,7 +6417,7 @@ nRF IronSide SE Platforms:
- karstenkoenig
- SebastianBoe
files:
- modules/hal_nordic/ironside/
- soc/nordic/ironside/
- soc/nordic/common/uicr/
labels:
- "platform: nRF IronSide SE"

View File

@@ -1,6 +1,6 @@
version = 1
# Declare default license and copyright text for files that typically do not or cannot include them.
# Declare default license and copyright text for files that typically do not include them.
[[annotations]]
path = [
# zephyr-keep-sorted-start
@@ -9,7 +9,6 @@ path = [
"**/*.conf",
"**/*.ecl",
"**/*.html",
"**/*.json",
"**/*.rst",
"**/*.yaml",
"**/*.yml",

View File

@@ -117,7 +117,9 @@ void arch_secondary_cpu_init(int cpu_num)
irq_enable(DT_IRQN(DT_NODELABEL(ici)));
#endif
#ifdef CONFIG_SOC_PER_CORE_INIT_HOOK
soc_per_core_init_hook();
#endif /* CONFIG_SOC_PER_CORE_INIT_HOOK */
/* call the function set by arch_cpu_start */
fn = arc_cpu_init[cpu_num].fn;

View File

@@ -318,7 +318,7 @@ void arc_dsp_disable(struct k_thread *thread, unsigned int options)
k_spinlock_key_t key = k_spin_lock(&lock);
/* Disable DSP or AGU capabilities for the thread */
thread->base.user_options &= ~(uint16_t)options;
thread->base.user_options &= ~(uint8_t)options;
k_spin_unlock(&lock, key);
}
@@ -329,7 +329,7 @@ void arc_dsp_enable(struct k_thread *thread, unsigned int options)
k_spinlock_key_t key = k_spin_lock(&lock);
/* Enable dsp or agu capabilities for the thread */
thread->base.user_options |= (uint16_t)options;
thread->base.user_options |= (uint8_t)options;
k_spin_unlock(&lock, key);
}

View File

@@ -36,7 +36,9 @@ static ALWAYS_INLINE void arch_kernel_init(void)
{
z_irq_setup();
#ifdef CONFIG_SOC_PER_CORE_INIT_HOOK
soc_per_core_init_hook();
#endif /* CONFIG_SOC_PER_CORE_INIT_HOOK */
}

View File

@@ -68,7 +68,7 @@ static ALWAYS_INLINE void z_irq_setup(void)
#ifdef CONFIG_ARC_NORMAL_FIRMWARE
/* normal mode cannot write irq_ctrl, ignore it */
ARG_UNUSED(aux_irq_ctrl_value);
aux_irq_ctrl_value = aux_irq_ctrl_value;
#else
z_arc_v2_aux_reg_write(_ARC_V2_AUX_IRQ_CTRL, aux_irq_ctrl_value);
#endif

View File

@@ -98,18 +98,18 @@ void arch_cpu_start(int cpu_num, k_thread_stack_t *stack, int sz, arch_cpustart_
{
int cpu_count, i, j;
uint32_t cpu_mpid = 0;
uint32_t primary_core_mpid;
uint32_t master_core_mpid;
/* Now it is on primary core */
/* Now it is on master core */
__ASSERT(arch_curr_cpu()->id == 0, "");
primary_core_mpid = MPIDR_TO_CORE(GET_MPIDR());
master_core_mpid = MPIDR_TO_CORE(GET_MPIDR());
cpu_count = ARRAY_SIZE(cpu_node_list);
__ASSERT(cpu_count == CONFIG_MP_MAX_NUM_CPUS,
"The count of CPU Cores nodes in dts is not equal to CONFIG_MP_MAX_NUM_CPUS\n");
for (i = 0, j = 0; i < cpu_count; i++) {
if (cpu_node_list[i] == primary_core_mpid) {
if (cpu_node_list[i] == master_core_mpid) {
continue;
}
if (j == cpu_num - 1) {
@@ -199,7 +199,9 @@ void arch_secondary_cpu_init(void)
*/
#endif
#ifdef CONFIG_SOC_PER_CORE_INIT_HOOK
soc_per_core_init_hook();
#endif /* CONFIG_SOC_PER_CORE_INIT_HOOK */
fn = arm_cpu_boot_params.fn;
arg = arm_cpu_boot_params.arg;

View File

@@ -69,7 +69,7 @@ SECTION_FUNC(TEXT, z_arm_do_swap)
cps #MODE_SVC
#if defined(CONFIG_FPU_SHARING)
ldrh r0, [r2, #_thread_offset_to_user_options]
ldrb r0, [r2, #_thread_offset_to_user_options]
tst r0, #K_FP_REGS /* _current->base.user_options & K_FP_REGS */
beq out_fp_inactive
@@ -151,7 +151,7 @@ out_fp_inactive:
cps #MODE_SVC
#if defined(CONFIG_FPU_SHARING)
ldrh r0, [r2, #_thread_offset_to_user_options]
ldrb r0, [r2, #_thread_offset_to_user_options]
tst r0, #K_FP_REGS /* _current->base.user_options & K_FP_REGS */
beq in_fp_inactive

View File

@@ -460,36 +460,28 @@ SECTION_FUNC(TEXT, z_arm_svc)
.L_oops:
push {r0, lr}
#if defined(CONFIG_EXTRA_EXCEPTION_INFO)
#if defined(CONFIG_ARMV7_M_ARMV8_M_MAINLINE)
/* Build _callee_saved_t. To match the struct
* definition we push the psp & then r11-r4
*/
mrs r1, PSP
push {r1, r2} /* r2 for padding */
#if defined(CONFIG_ARMV7_M_ARMV8_M_MAINLINE)
push {r1, r2}
push {r4-r11}
#elif defined(CONFIG_ARMV6_M_ARMV8_M_BASELINE)
mov r1, r10
mov r2, r11
push {r1, r2}
mov r1, r8
mov r2, r9
push {r1, r2}
push {r4-r7}
#else
#error Unknown ARM architecture
#endif
mov r1, sp /* pointer to _callee_saved_t */
#endif /* CONFIG_ARMV7_M_ARMV8_M_MAINLINE */
#endif /* CONFIG_EXTRA_EXCEPTION_INFO */
mov r2, lr /* EXC_RETURN */
bl z_do_kernel_oops
/* return from SVC exception is done here */
#if defined(CONFIG_EXTRA_EXCEPTION_INFO)
#if defined(CONFIG_ARMV7_M_ARMV8_M_MAINLINE)
/* We do not need to restore any register state here
* because we did not use any callee-saved registers
* in this routine. Therefore, we can just reset
* the MSP to its value prior to entering the function
*/
add sp, #40
#endif /* CONFIG_ARMV7_M_ARMV8_M_MAINLINE */
#endif /* CONFIG_EXTRA_EXCEPTION_INFO */
pop {r0, pc}

View File

@@ -75,7 +75,7 @@ static inline uint64_t z_arm_dwt_freq_get(void)
dwt_frequency = (cyc_freq * ddwt) / dcyc;
}
return dwt_frequency;
#endif
#endif /* CONFIG_SOC_FAMILY_NORDIC_NRF */
}
void arch_timing_init(void)

View File

@@ -137,11 +137,21 @@ void z_do_kernel_oops(const struct arch_esf *esf, _callee_saved_t *callee_regs,
struct arch_esf esf_copy;
memcpy(&esf_copy, esf, offsetof(struct arch_esf, extra_info));
/* extra exception info is collected in callee_reg. */
#if defined(CONFIG_ARMV7_M_ARMV8_M_MAINLINE)
/* extra exception info is collected in callee_reg param
* on CONFIG_ARMV7_M_ARMV8_M_MAINLINE
*/
esf_copy.extra_info = (struct __extra_esf_info) {
.callee = callee_regs,
};
#else
/* extra exception info is not collected for kernel oops
* path today so we make a copy of the ESF and zero out
* that information
*/
esf_copy.extra_info = (struct __extra_esf_info) { 0 };
#endif /* CONFIG_ARMV7_M_ARMV8_M_MAINLINE */
z_arm_fatal_error(reason, &esf_copy);
#endif /* CONFIG_EXTRA_EXCEPTION_INFO */

View File

@@ -79,12 +79,6 @@ config ARM_MPU_PXN
unprivileged mode and executing such region from privileged mode will
result in a Memory Management fault.
config ARM_MPU_SRAM_WRITE_THROUGH
bool "Use Write-Through cache policy for SRAM regions"
help
When enabled, SRAM regions will use Write-Through cache policy
instead of the default Write-Back policy.
endif # ARM_MPU
endif # CPU_HAS_MPU

View File

@@ -156,11 +156,6 @@ static int mpu_configure_regions_from_dt(uint8_t *reg_index)
case DT_MEM_ARM_MPU_EXTMEM:
region_conf = _BUILD_REGION_CONF(region[idx], REGION_EXTMEM_ATTR);
break;
#endif
#ifdef REGION_RAM_WT_ATTR
case DT_MEM_ARM_MPU_RAM_WT:
region_conf = _BUILD_REGION_CONF(region[idx], REGION_RAM_WT_ATTR);
break;
#endif
default:
/* Attribute other than ARM-specific is set.
@@ -210,11 +205,11 @@ static int mpu_configure_region(const uint8_t index,
!defined(CONFIG_MPU_GAP_FILLING)
/* This internal function programs a set of given MPU regions
* over a background memory area, optionally performing a
* coherence check of the memory regions to be programmed.
* sanity check of the memory regions to be programmed.
*/
static int mpu_configure_regions(const struct z_arm_mpu_partition
regions[], uint8_t regions_num, uint8_t start_reg_index,
bool do_coherence_check)
bool do_sanity_check)
{
int i;
int reg_index = start_reg_index;
@@ -225,9 +220,9 @@ static int mpu_configure_regions(const struct z_arm_mpu_partition
}
/* Non-empty region. */
if (do_coherence_check &&
if (do_sanity_check &&
(!mpu_partition_is_valid(&regions[i]))) {
LOG_ERR("Partition %u: coherence check failed.", i);
LOG_ERR("Partition %u: sanity check failed.", i);
return -EINVAL;
}
@@ -620,7 +615,7 @@ int z_arm_mpu_init(void)
#endif
#endif /* CONFIG_NULL_POINTER_EXCEPTION_DETECTION_MPU */
/* Coherence check for number of regions in Cortex-M0+, M3, and M4. */
/* Sanity check for number of regions in Cortex-M0+, M3, and M4. */
#if defined(CONFIG_CPU_CORTEX_M0PLUS) || \
defined(CONFIG_CPU_CORTEX_M3) || \
defined(CONFIG_CPU_CORTEX_M4)

View File

@@ -9,12 +9,6 @@
#include <zephyr/arch/arm/mpu/arm_mpu_mem_cfg.h>
#ifdef CONFIG_ARM_MPU_SRAM_WRITE_THROUGH
#define ARM_MPU_SRAM_REGION_ATTR REGION_RAM_WT_ATTR
#else
#define ARM_MPU_SRAM_REGION_ATTR REGION_RAM_ATTR
#endif
static const struct arm_mpu_region mpu_regions[] = {
#ifdef CONFIG_XIP
/* Region 0 */
@@ -32,10 +26,10 @@ static const struct arm_mpu_region mpu_regions[] = {
MPU_REGION_ENTRY("SRAM_0",
CONFIG_SRAM_BASE_ADDRESS,
#if defined(CONFIG_ARMV8_M_BASELINE) || defined(CONFIG_ARMV8_M_MAINLINE)
ARM_MPU_SRAM_REGION_ATTR(CONFIG_SRAM_BASE_ADDRESS,
REGION_RAM_ATTR(CONFIG_SRAM_BASE_ADDRESS, \
CONFIG_SRAM_SIZE * 1024)),
#else
ARM_MPU_SRAM_REGION_ATTR(REGION_SRAM_SIZE)),
REGION_RAM_ATTR(REGION_SRAM_SIZE)),
#endif
};

View File

@@ -52,9 +52,9 @@ static void region_init(const uint32_t index,
#endif
}
/* @brief Partition coherence check
/* @brief Partition sanity check
*
* This internal function performs run-time coherence check for
* This internal function performs run-time sanity check for
* MPU region start address and size.
*
* @param part Pointer to the data structure holding the partition
@@ -207,7 +207,7 @@ static int mpu_configure_region(const uint8_t index,
static int mpu_configure_regions(const struct z_arm_mpu_partition
regions[], uint8_t regions_num, uint8_t start_reg_index,
bool do_coherence_check);
bool do_sanity_check);
/* This internal function programs the static MPU regions.
*

View File

@@ -184,9 +184,9 @@ static void region_init(const uint32_t index,
region_conf->attr.mair_idx, region_conf->attr.r_limit);
}
/* @brief Partition coherence check
/* @brief Partition sanity check
*
* This internal function performs run-time coherence check for
* This internal function performs run-time sanity check for
* MPU region start address and size.
*
* @param part Pointer to the data structure holding the partition
@@ -519,19 +519,19 @@ static int mpu_configure_region(const uint8_t index,
#if !defined(CONFIG_MPU_GAP_FILLING)
static int mpu_configure_regions(const struct z_arm_mpu_partition
regions[], uint8_t regions_num, uint8_t start_reg_index,
bool do_coherence_check);
bool do_sanity_check);
#endif
/* This internal function programs a set of given MPU regions
* over a background memory area, optionally performing a
* coherence check of the memory regions to be programmed.
* sanity check of the memory regions to be programmed.
*
* The function performs a full partition of the background memory
* area, effectively, leaving no space in this area uncovered by MPU.
*/
static int mpu_configure_regions_and_partition(const struct z_arm_mpu_partition
regions[], uint8_t regions_num, uint8_t start_reg_index,
bool do_coherence_check)
bool do_sanity_check)
{
int i;
int reg_index = start_reg_index;
@@ -542,9 +542,9 @@ static int mpu_configure_regions_and_partition(const struct z_arm_mpu_partition
}
/* Non-empty region. */
if (do_coherence_check &&
if (do_sanity_check &&
(!mpu_partition_is_valid(&regions[i]))) {
LOG_ERR("Partition %u: coherence check failed.", i);
LOG_ERR("Partition %u: sanity check failed.", i);
return -EINVAL;
}

View File

@@ -51,9 +51,9 @@ static inline uint8_t get_num_regions(void)
return FSL_FEATURE_SYSMPU_DESCRIPTOR_COUNT;
}
/* @brief Partition coherence check
/* @brief Partition sanity check
*
* This internal function performs run-time coherence check for
* This internal function performs run-time sanity check for
* MPU region start address and size.
*
* @param part Pointer to the data structure holding the partition
@@ -297,11 +297,11 @@ static int mpu_sram_partitioning(uint8_t index,
/* This internal function programs a set of given MPU regions
* over a background memory area, optionally performing a
* coherence check of the memory regions to be programmed.
* sanity check of the memory regions to be programmed.
*/
static int mpu_configure_regions(const struct z_arm_mpu_partition regions[],
uint8_t regions_num, uint8_t start_reg_index,
bool do_coherence_check)
bool do_sanity_check)
{
int i;
int reg_index = start_reg_index;
@@ -312,9 +312,9 @@ static int mpu_configure_regions(const struct z_arm_mpu_partition regions[],
}
/* Non-empty region. */
if (do_coherence_check &&
if (do_sanity_check &&
(!mpu_partition_is_valid(&regions[i]))) {
LOG_ERR("Partition %u: coherence check failed.", i);
LOG_ERR("Partition %u: sanity check failed.", i);
return -EINVAL;
}

View File

@@ -31,7 +31,9 @@ extern "C" {
static ALWAYS_INLINE void arch_kernel_init(void)
{
#ifdef CONFIG_SOC_PER_CORE_INIT_HOOK
soc_per_core_init_hook();
#endif /* CONFIG_SOC_PER_CORE_INIT_HOOK */
}
#ifndef CONFIG_USE_SWITCH

View File

@@ -57,7 +57,9 @@ static ALWAYS_INLINE void arch_kernel_init(void)
z_arm_configure_static_mpu_regions();
#endif /* CONFIG_ARM_MPU */
#ifdef CONFIG_SOC_PER_CORE_INIT_HOOK
soc_per_core_init_hook();
#endif /* CONFIG_SOC_PER_CORE_INIT_HOOK */
}
static ALWAYS_INLINE void arch_thread_return_value_set(struct k_thread *thread, unsigned int value)

View File

@@ -176,6 +176,13 @@ config ARM64_SAFE_EXCEPTION_STACK
used for user stack overflow checking, because kernel stack support
the checking work.
config ARM64_EXCEPTION_STACK_TRACE
bool
default y
depends on FRAME_POINTER
help
Internal config to enable runtime stack traces on fatal exceptions.
config ARM64_SAFE_EXCEPTION_STACK_SIZE
int "The stack size of the safe exception stack"
default 4096

View File

@@ -166,7 +166,9 @@ void arch_secondary_cpu_init(int cpu_num)
#endif
#endif
#ifdef CONFIG_SOC_PER_CORE_INIT_HOOK
soc_per_core_init_hook();
#endif /* CONFIG_SOC_PER_CORE_INIT_HOOK */
fn = arm64_cpu_boot_params.fn;
arg = arm64_cpu_boot_params.arg;

View File

@@ -32,7 +32,10 @@ extern "C" {
static ALWAYS_INLINE void arch_kernel_init(void)
{
#ifdef CONFIG_SOC_PER_CORE_INIT_HOOK
soc_per_core_init_hook();
#endif /* CONFIG_SOC_PER_CORE_INIT_HOOK */
}
static inline void arch_switch(void *switch_to, void **switched_from)

View File

@@ -28,7 +28,9 @@ extern "C" {
#ifndef _ASMLANGUAGE
static ALWAYS_INLINE void arch_kernel_init(void)
{
#ifdef CONFIG_SOC_PER_CORE_INIT_HOOK
soc_per_core_init_hook();
#endif /* CONFIG_SOC_PER_CORE_INIT_HOOK */
}
static ALWAYS_INLINE void

View File

@@ -62,11 +62,10 @@ elseif(DEFINED NATIVE_TARGET_HOST)
)
endif()
# We tell the compiler to mark all symbols to have hidden visibility by default.
# Later, after the image from all embedded code has been built, all these symbols will be made local
# (i.e. not linkable anymore from outside that embedded code library).
# If users want to be able to link to a symbol from outside the embedded image, they should annotate
# it with one of NATIVE_SIMULATOR_IF*
zephyr_compile_options(
${ARCH_FLAG}
)
zephyr_compile_options(
-fvisibility=hidden
)
@@ -100,15 +99,17 @@ if(NOT CONFIG_EXTERNAL_LIBC)
$<TARGET_PROPERTY:compiler,freestanding>
$<TARGET_PROPERTY:compiler,no_builtin>
)
else()
# No freestanding compilation, i.e. we use the compiler default C library
zephyr_compile_options($<TARGET_PROPERTY:compiler,hosted>)
endif()
if(CONFIG_COMPILER_WARNINGS_AS_ERRORS)
target_compile_options(native_simulator INTERFACE $<TARGET_PROPERTY:compiler,warnings_as_errors>)
endif()
if(CONFIG_EXTERNAL_LIBC)
# @Intent: Obtain compiler specific flags for no freestanding compilation
zephyr_compile_options($<TARGET_PROPERTY:compiler,hosted>)
endif()
if(CONFIG_EXTERNAL_LIBCPP)
target_link_options(native_simulator INTERFACE "-lstdc++")
endif()

View File

@@ -1,6 +1,7 @@
# SPDX-License-Identifier: Apache-2.0
zephyr_library()
zephyr_library_compile_definitions(NO_POSIX_CHEATS)
zephyr_library_sources(
cpuhalt.c
fatal.c

View File

@@ -22,7 +22,9 @@ extern "C" {
static inline void arch_kernel_init(void)
{
#ifdef CONFIG_SOC_PER_CORE_INIT_HOOK
soc_per_core_init_hook();
#endif /* CONFIG_SOC_PER_CORE_INIT_HOOK */
}
static ALWAYS_INLINE void

View File

@@ -237,14 +237,6 @@ config RISCV_ISA_EXT_ZBC
The Zbc instructions can be used for carry-less multiplication that
is the multiplication in the polynomial ring over GF(2).
config RISCV_ISA_EXT_ZBKB
bool
help
(Zbkb) - Zbkb BitManip Extension (Bit-manipulation for Cryptography)
The Zbkb instructions can be used for accelerating cryptography workloads
and contain rotation, reversion, packing and some advanced bit-manipulation.
config RISCV_ISA_EXT_ZBS
bool
help

View File

@@ -28,7 +28,6 @@ zephyr_library_sources_ifdef(CONFIG_DEBUG_COREDUMP coredump.c)
zephyr_library_sources_ifdef(CONFIG_IRQ_OFFLOAD irq_offload.c)
zephyr_library_sources_ifdef(CONFIG_USE_ISR_WRAPPER isr.S)
zephyr_library_sources_ifdef(CONFIG_RISCV_PMP pmp.c pmp.S)
zephyr_linker_sources_ifdef(CONFIG_RISCV_PMP ROM_SECTIONS pmp.ld)
zephyr_library_sources_ifdef(CONFIG_THREAD_LOCAL_STORAGE tls.c)
zephyr_library_sources_ifdef(CONFIG_USERSPACE userspace.S)
zephyr_library_sources_ifdef(CONFIG_SEMIHOST semihost.c)

View File

@@ -318,7 +318,7 @@ extern void z_riscv_write_pmp_entries(unsigned int start, unsigned int end,
/**
* @brief Write a range of PMP entries to corresponding PMP registers
*
* This performs some coherence checks before calling z_riscv_write_pmp_entries().
* This performs some sanity checks before calling z_riscv_write_pmp_entries().
*
* @param start Start of the PMP range to be written
* @param end End (exclusive) of the PMP range to be written
@@ -617,19 +617,6 @@ void z_riscv_pmp_init(void)
(size_t)__rom_region_size,
pmp_addr, pmp_cfg, ARRAY_SIZE(pmp_addr));
/* SoC-specific PMP regions defined via iterable sections */
STRUCT_SECTION_FOREACH(pmp_soc_region, region) {
uintptr_t start = (uintptr_t)region->start;
size_t size = (uintptr_t)region->end - start;
if (size > 0) {
set_pmp_entry(&index, region->perm | COND_CODE_1(CONFIG_PMP_NO_LOCK_GLOBAL,
(0x0), (PMP_L)), start,
size, pmp_addr, pmp_cfg,
ARRAY_SIZE(pmp_addr));
}
}
#ifdef CONFIG_PMP_STACK_GUARD
#ifdef CONFIG_MULTITHREADING
/*

View File

@@ -1,9 +0,0 @@
/*
* Copyright (c) 2025 Espressif Systems (Shanghai) Co., Ltd.
*
* SPDX-License-Identifier: Apache-2.0
*/
#include <zephyr/linker/iterable_sections.h>
ITERABLE_SECTION_ROM(pmp_soc_region, Z_LINK_ITERABLE_SUBALIGN)

View File

@@ -79,6 +79,8 @@ void arch_secondary_cpu_init(int hartid)
/* Enable on secondary cores so that they can respond to PLIC */
irq_enable(RISCV_IRQ_MEXT);
#endif /* CONFIG_PLIC_IRQ_AFFINITY */
#ifdef CONFIG_SOC_PER_CORE_INIT_HOOK
soc_per_core_init_hook();
#endif /* CONFIG_SOC_PER_CORE_INIT_HOOK */
riscv_cpu_init[cpu_num].fn(riscv_cpu_init[cpu_num].arg);
}

View File

@@ -73,7 +73,7 @@ SECTION_FUNC(TEXT, z_riscv_switch)
* in effect while in m-mode. (it is done on every exception return
* otherwise).
*/
lh t0, _thread_offset_to_user_options(a0)
lb t0, _thread_offset_to_user_options(a0)
andi t0, t0, K_USER
beqz t0, not_user_task
mv s0, a0

View File

@@ -141,7 +141,7 @@ static void region_init(const uint32_t index,
}
/*
* This internal function performs run-time coherence check for
* This internal function performs run-time sanity check for
* PMA region start address and size.
*/
static int pma_region_is_valid(const struct pma_region *region)

View File

@@ -55,7 +55,9 @@ static ALWAYS_INLINE void arch_kernel_init(void)
#ifdef CONFIG_RISCV_PMP
z_riscv_pmp_init();
#endif
#ifdef CONFIG_SOC_PER_CORE_INIT_HOOK
soc_per_core_init_hook();
#endif /* CONFIG_SOC_PER_CORE_INIT_HOOK */
}
static ALWAYS_INLINE void

View File

@@ -7,7 +7,6 @@
#ifndef PMP_H_
#define PMP_H_
#include <zephyr/arch/riscv/pmp.h>
#include <zephyr/dt-bindings/memory-attr/memory-attr-riscv.h>
#define PMPCFG_STRIDE (__riscv_xlen / 8)

View File

@@ -26,7 +26,9 @@ extern "C" {
#ifndef _ASMLANGUAGE
static ALWAYS_INLINE void arch_kernel_init(void)
{
#ifdef CONFIG_SOC_PER_CORE_INIT_HOOK
soc_per_core_init_hook();
#endif /* CONFIG_SOC_PER_CORE_INIT_HOOK */
}
void z_sparc_context_switch(struct k_thread *newt, struct k_thread *oldt);

View File

@@ -179,7 +179,7 @@ void z_float_enable(struct k_thread *thread, unsigned int options)
/* Indicate thread requires floating point context saving */
thread->base.user_options |= (uint16_t)options;
thread->base.user_options |= (uint8_t)options;
/*
* The current thread might not allow FP instructions, so clear CR0[TS]
* so we can use them. (CR0[TS] gets restored later on, if necessary.)

View File

@@ -175,7 +175,7 @@ SECTION_FUNC(PINNED_TEXT, arch_swap)
* _and_ whether the thread was context switched out preemptively.
*/
testw $_FP_USER_MASK, _thread_offset_to_user_options(%eax)
testb $_FP_USER_MASK, _thread_offset_to_user_options(%eax)
je restoreContext_NoFloatSwap
@@ -216,7 +216,7 @@ SECTION_FUNC(PINNED_TEXT, arch_swap)
#ifdef CONFIG_X86_SSE
testw $K_SSE_REGS, _thread_offset_to_user_options(%ebx)
testb $K_SSE_REGS, _thread_offset_to_user_options(%ebx)
je x87FloatSave
/*
@@ -255,7 +255,7 @@ restoreContext_NoFloatSave:
je restoreContext_NoFloatRestore
#ifdef CONFIG_X86_SSE
testw $K_SSE_REGS, _thread_offset_to_user_options(%eax)
testb $K_SSE_REGS, _thread_offset_to_user_options(%eax)
je x87FloatRestore
fxrstor _thread_offset_to_preempFloatReg(%eax)
@@ -290,7 +290,7 @@ restoreContext_NoFloatSwap:
* registers
*/
testw $_FP_USER_MASK, _thread_offset_to_user_options(%eax)
testb $_FP_USER_MASK, _thread_offset_to_user_options(%eax)
jne CROHandlingDone
/*

View File

@@ -20,6 +20,7 @@
#include <kernel_internal.h>
#include <mmu.h>
#include <zephyr/drivers/interrupt_controller/loapic.h>
#include <mmu.h>
#include <zephyr/arch/x86/memmap.h>
LOG_MODULE_DECLARE(os, CONFIG_KERNEL_LOG_LEVEL);

View File

@@ -136,7 +136,7 @@ def setup_idt(spur_code, spur_nocode, intlist, max_vec, max_irq):
irq_vec_map = [0 for i in range(max_irq)]
vectors = [None for i in range(max_vec)]
# Pass 1: coherence check and set up hard-coded interrupt vectors
# Pass 1: sanity check and set up hard-coded interrupt vectors
for handler, irq, prio, vec, dpl, tss in intlist:
if vec == -1:
if prio == -1:

View File

@@ -53,6 +53,7 @@
#ifndef _ASMLANGUAGE
#include <zephyr/sys/util.h>
#ifdef __cplusplus
extern "C" {

View File

@@ -22,7 +22,9 @@ extern "C" {
static inline void arch_kernel_init(void)
{
#ifdef CONFIG_SOC_PER_CORE_INIT_HOOK
soc_per_core_init_hook();
#endif /* CONFIG_SOC_PER_CORE_INIT_HOOK */
}
static ALWAYS_INLINE void

View File

@@ -29,7 +29,9 @@ extern void z_x86_ipi_setup(void);
static inline void arch_kernel_init(void)
{
#ifdef CONFIG_SOC_PER_CORE_INIT_HOOK
soc_per_core_init_hook();
#endif /* CONFIG_SOC_PER_CORE_INIT_HOOK */
}
FUNC_NORETURN void z_x86_cpu_init(struct x86_cpuboot *cpuboot);

View File

@@ -36,7 +36,7 @@ args = parse_args()
NEEDED = ["A0SAVE", "CPU"]
if args.mmu:
NEEDED += ["DBLEXC", "DEPC_SAVE", "EXCCAUSE_SAVE"]
NEEDED += ["DBLEXC", "DEPC_SAVE"]
if args.flush_reg:
NEEDED += ["FLUSH"]

View File

@@ -326,26 +326,6 @@ static void init_page_table(uint32_t *ptable, size_t num_entries, uint32_t val)
}
}
static void calc_l2_page_tables_usage(void)
{
#ifdef CONFIG_XTENSA_MMU_PAGE_TABLE_STATS
uint32_t cur_l2_usage = 0;
/* Calculate how many L2 page tables are being used now. */
for (int idx = 0; idx < CONFIG_XTENSA_MMU_NUM_L2_TABLES; idx++) {
if (l2_page_tables_counter[idx] > 0) {
cur_l2_usage++;
}
}
/* Store the bigger number. */
l2_page_tables_max_usage = MAX(l2_page_tables_max_usage, cur_l2_usage);
LOG_DBG("L2 page table usage %u/%u/%u", cur_l2_usage, l2_page_tables_max_usage,
CONFIG_XTENSA_MMU_NUM_L2_TABLES);
#endif /* CONFIG_XTENSA_MMU_PAGE_TABLE_STATS */
}
/**
* @brief Find the L2 table counter array index from L2 table pointer.
*
@@ -377,7 +357,19 @@ static inline uint32_t *alloc_l2_table(void)
}
}
calc_l2_page_tables_usage();
#ifdef CONFIG_XTENSA_MMU_PAGE_TABLE_STATS
uint32_t cur_l2_usage = 0;
/* Calculate how many L2 page tables are being used now. */
for (idx = 0; idx < CONFIG_XTENSA_MMU_NUM_L2_TABLES; idx++) {
if (l2_page_tables_counter[idx] > 0) {
cur_l2_usage++;
}
}
/* Store the bigger number. */
l2_page_tables_max_usage = MAX(l2_page_tables_max_usage, cur_l2_usage);
#endif /* CONFIG_XTENSA_MMU_PAGE_TABLE_STATS */
k_spin_unlock(&xtensa_counter_lock, key);
@@ -407,15 +399,6 @@ static void map_memory_range(const uint32_t start, const uint32_t end,
__ASSERT(l2_table != NULL,
"There is no l2 page table available to map 0x%08x\n", page);
if (l2_table == NULL) {
/* This function is called during boot. If this cannot
* properly map all predefined memory regions, it is very
* unlikely for anything to run correctly. So forcibly
* halt the system in case assertion has been turned off.
*/
arch_system_halt(K_ERR_KERNEL_PANIC);
}
init_page_table(l2_table, L2_PAGE_TABLE_NUM_ENTRIES, PTE_L2_ILLEGAL);
xtensa_kernel_ptables[l1_pos] =
@@ -578,7 +561,8 @@ static inline void __arch_mem_map(void *vaddr, uintptr_t paddr, uint32_t attrs,
{
bool ret;
ret = l2_page_table_map(xtensa_kernel_ptables, vaddr, paddr, attrs, is_user);
ret = l2_page_table_map(xtensa_kernel_ptables, (void *)vaddr, paddr,
attrs, is_user);
__ASSERT(ret, "Cannot map virtual address (%p)", vaddr);
#ifndef CONFIG_USERSPACE
@@ -593,7 +577,8 @@ static inline void __arch_mem_map(void *vaddr, uintptr_t paddr, uint32_t attrs,
SYS_SLIST_FOR_EACH_NODE(&xtensa_domain_list, node) {
domain = CONTAINER_OF(node, struct arch_mem_domain, node);
ret = l2_page_table_map(domain->ptables, vaddr, paddr, attrs, is_user);
ret = l2_page_table_map(domain->ptables, (void *)vaddr, paddr,
attrs, is_user);
__ASSERT(ret, "Cannot map virtual address (%p) for domain %p",
vaddr, domain);
@@ -733,8 +718,6 @@ static void l2_page_table_unmap(uint32_t *l1_table, void *vaddr)
K_SPINLOCK(&xtensa_counter_lock) {
l2_page_tables_counter_dec(l2_table);
calc_l2_page_tables_usage();
}
end:
@@ -747,7 +730,7 @@ end:
static inline void __arch_mem_unmap(void *vaddr)
{
l2_page_table_unmap(xtensa_kernel_ptables, vaddr);
l2_page_table_unmap(xtensa_kernel_ptables, (void *)vaddr);
#ifdef CONFIG_USERSPACE
sys_snode_t *node;
@@ -758,7 +741,7 @@ static inline void __arch_mem_unmap(void *vaddr)
SYS_SLIST_FOR_EACH_NODE(&xtensa_domain_list, node) {
domain = CONTAINER_OF(node, struct arch_mem_domain, node);
(void)l2_page_table_unmap(domain->ptables, vaddr);
(void)l2_page_table_unmap(domain->ptables, (void *)vaddr);
}
k_spin_unlock(&z_mem_domain_lock, key);
#endif /* CONFIG_USERSPACE */
@@ -965,9 +948,6 @@ static inline uint32_t *alloc_l1_table(void)
/* Store the bigger number. */
l1_page_tables_max_usage = MAX(l1_page_tables_max_usage, cur_l1_usage);
LOG_DBG("L1 page table usage %u/%u/%u", cur_l1_usage, l1_page_tables_max_usage,
CONFIG_XTENSA_MMU_NUM_L1_TABLES);
#endif /* CONFIG_XTENSA_MMU_PAGE_TABLE_STATS */
return ret;
@@ -990,14 +970,8 @@ static uint32_t *dup_l2_table(uint32_t *src_l2_table, enum dup_action action)
uint32_t *l2_table;
l2_table = alloc_l2_table();
/* Duplicating L2 tables is a must-have and must-success operation.
* If we are running out of free L2 tables to be allocated, we cannot
* continue.
*/
__ASSERT_NO_MSG(l2_table != NULL);
if (l2_table == NULL) {
arch_system_halt(K_ERR_KERNEL_PANIC);
return NULL;
}
switch (action) {

View File

@@ -16,6 +16,7 @@
#include <zephyr/zsr.h>
#include <zephyr/arch/common/exc_handle.h>
#include <kernel_internal.h>
#include <xtensa_internal.h>
#include <xtensa_stack.h>

View File

@@ -344,7 +344,7 @@ noflush:
/* Switch stack pointer and restore. The jump to
* _restore_context does not return as such, but we arrange
* for the restored "next" address to be immediately after for
* coherence.
* sanity.
*/
l32i a1, a2, ___xtensa_irq_bsa_t_a2_OFFSET
@@ -580,10 +580,6 @@ _handle_tlb_miss_dblexc:
rsr.ptevaddr a0
l32i a0, a0, 0
/* Restore EXCCAUSE and a0 values */
rsr a0, ZSR_EXCCAUSE_SAVE
wsr.exccause a0
rsr a0, ZSR_DBLEXC
rfde
#endif

View File

@@ -26,7 +26,9 @@ K_KERNEL_STACK_ARRAY_DECLARE(z_interrupt_stacks, CONFIG_MP_MAX_NUM_CPUS,
static ALWAYS_INLINE void arch_kernel_init(void)
{
#ifdef CONFIG_SOC_PER_CORE_INIT_HOOK
soc_per_core_init_hook();
#endif /* CONFIG_SOC_PER_CORE_INIT_HOOK */
}
void xtensa_switch(void *switch_to, void **switched_from);

View File

@@ -677,20 +677,17 @@ _Level\LVL\()Vector:
.if \LVL == 1
/* If there are any TLB misses during interrupt handling,
* the user/kernel/double exception vector will be triggered
* to handle these misses. This results in DEPC, EXCCAUSE
* and EXCVADDR being overwritten, and then execution returned
* back to this site of TLB misses. When it gets to the C handler,
* it will not see the original cause. So stash the EXCCAUSE
* and EXCVADDR here so C handler can see the original cause.
* to handle these misses. This results in DEPC and EXCCAUSE
* being overwritten, and then execution returned back to
* this site of TLB misses. When it gets to the C handler,
* it will not see the original cause. So stash
* the EXCCAUSE here so C handler can see the original cause.
*
* For double exception, DEPC in saved in earlier vector
* code.
*/
wsr a0, ZSR_A0SAVE
rsr.exccause a0
wsr a0, ZSR_EXCCAUSE_SAVE
esync
rsr a0, ZSR_DEPC_SAVE
@@ -720,41 +717,24 @@ _Level\LVL\()Vector:
j _TripleFault
_not_triple_fault:
.endif
#endif
addi a1, a1, -___xtensa_irq_bsa_t_SIZEOF
#ifdef CONFIG_XTENSA_MMU
.if \LVL == 1
/* Save EXCVADDR register needed for handling the exception
* as this register can be overwritten during nested
* exceptions. It has to be saved first, because
* executing the store instruction may trigger a
* TLB miss, which will modify its value.
*/
rsr.excvaddr a0
s32i a0, a1, ___xtensa_irq_bsa_t_excvaddr_OFFSET
rsr a0, ZSR_A0SAVE
.endif
#endif
addi a1, a1, -___xtensa_irq_bsa_t_SIZEOF
s32i a0, a1, ___xtensa_irq_bsa_t_a0_OFFSET
s32i a2, a1, ___xtensa_irq_bsa_t_a2_OFFSET
s32i a3, a1, ___xtensa_irq_bsa_t_a3_OFFSET
#ifdef CONFIG_XTENSA_MMU
.if \LVL != 1
#endif
/* Save register needed for handling the exception as
* this register can be overwritten during nested
/* Save registers needed for handling the exception as
* these registers can be overwritten during nested
* exceptions.
*/
rsr.exccause a0
s32i a0, a1, ___xtensa_irq_bsa_t_exccause_OFFSET
rsr.excvaddr a0
s32i a0, a1, ___xtensa_irq_bsa_t_excvaddr_OFFSET
#ifdef CONFIG_XTENSA_MMU
.endif
#endif
/* Level "1" is the exception handler, which uses a different
* calling convention. No special register holds the

View File

@@ -48,7 +48,7 @@
pinctrl-names = "default";
eastrising_72x40: ssd1306@3c {
compatible = "solomon,ssd1306";
compatible = "solomon,ssd1306fb";
reg = <0x3c>;
width = <72>;

View File

@@ -1,4 +1,4 @@
set ESP_RTOS Zephyr
set ESP_RTOS none
source [find interface/esp_usb_jtag.cfg]

View File

@@ -43,8 +43,7 @@ Hardware
- DMA Controller
More information about STM32F427VIT6 can be found here:
- `STM32F427 on www.st.com`_
- `STM32F427 on www.st.com`_
Supported Features
==================

View File

@@ -67,9 +67,8 @@ Hardware
- Bluetooth LE over SPI, provided by nRF51822
More information about STM32F401RE can be found here:
- `STM32F401RE on www.st.com`_
- `STM32F401 reference manual`_
- `STM32F401RE on www.st.com`_
- `STM32F401 reference manual`_
Supported Features
==================

View File

@@ -80,7 +80,6 @@
mul-n = <192>;
div-r = <3>;
div-q = <4>;
post-div-q = <1>;
clocks = <&clk_hse>;
status = "okay"; /* 48MHz on PLLI2SQ */
};

View File

@@ -110,19 +110,16 @@ exposed via on-board Micro USB connector. Default settings are 115200 8N1.
The default USART mappings for the remaining ones are:
- USART1: Connected to AP via UART0 on the 96Boards Low-Speed Header.
- TX: PA9
- RX: PA10
- TX: PA9
- RX: PA10
- USART2: Connected to D0(RX) and D1(TX) on the Arduino Header.
- TX: PD5
- RX: PD6
- TX: PD5
- RX: PD6
- USART3: Broken out to Grove connector J10.
- TX: PD8
- RX: PD9
- TX: PD8
- RX: PD9
I2C
---

View File

@@ -5,7 +5,7 @@
*/
/dts-v1/;
#include <arm/nordic/nrf9160_ns_sica.dtsi>
#include <nordic/nrf9160ns_sica.dtsi>
#include "actinius_icarus_common.dtsi"
/ {

View File

@@ -5,7 +5,7 @@
*/
/dts-v1/;
#include <arm/nordic/nrf9160_ns_sica.dtsi>
#include <nordic/nrf9160ns_sica.dtsi>
#include "actinius_icarus_bee_common.dtsi"
/ {

View File

@@ -5,7 +5,7 @@
*/
/dts-v1/;
#include <arm/nordic/nrf9160_ns_sica.dtsi>
#include <nordic/nrf9160ns_sica.dtsi>
#include "actinius_icarus_som_common.dtsi"
/ {

View File

@@ -5,7 +5,7 @@
*/
/dts-v1/;
#include <arm/nordic/nrf9160_ns_sica.dtsi>
#include <nordic/nrf9160ns_sica.dtsi>
#include "actinius_icarus_som_dk_common.dtsi"
/ {

View File

@@ -27,7 +27,7 @@
led1: led_1 {
label = "TFT Backlight";
gpios = <&gpio1 13 GPIO_ACTIVE_HIGH>;
gpios = <&gpio1 45 GPIO_ACTIVE_HIGH>;
};
};
@@ -46,8 +46,8 @@
mipi_dbi {
compatible = "zephyr,mipi-dbi-spi";
spi-dev = <&spi2>;
dc-gpios = <&gpio1 7 GPIO_ACTIVE_HIGH>;
reset-gpios = <&gpio1 8 GPIO_ACTIVE_LOW>;
dc-gpios = <&gpio1 39 GPIO_ACTIVE_HIGH>;
reset-gpios = <&gpio1 40 GPIO_ACTIVE_LOW>;
write-only;
#address-cells = <1>;
#size-cells = <0>;

Some files were not shown because too many files have changed in this diff Show More