Commit Graph

684 Commits

Author SHA1 Message Date
Alp Sayin a5b86bb5ab ci: add microblazeel-zephyr-elf to target platforms 2023-01-26 14:45:33 +00:00
Alp Sayin 8bd2133a52 doc: readme: add microblaze to toolchains list 2023-01-26 14:45:33 +00:00
Alp Sayin 78b22ca2c0 cmake: new cross-compile target microblaze 2023-01-26 14:45:33 +00:00
Alp Sayin 68a113005a toolchain: add AMD/Xilinx microblaze config 2023-01-26 14:45:33 +00:00
Torsten Rasmussen 386727e3d6 cmake: Update Kconfig symbol name for 0.16 release
This commit renames the `TOOLCHAIN_ZEPHYR_0_15` Kconfig symbol to
`TOOLCHAIN_ZEPHYR_0_16` in preparation for the Zephyr SDK 0.16.0
release.

Signed-off-by: Torsten Rasmussen <Torsten.Rasmussen@nordicsemi.no>
2023-01-14 05:48:35 +09:00
Keith Packard 00fcec7340 picolibc: Update to version 1.8
Signed-off-by: Keith Packard <keithp@keithp.com>
2023-01-03 00:18:05 +09:00
Stephanos Ioannidis a8d37cea3c VERSION: Bump to 0.16.0-beta1
This commit bumps the Zephyr SDK version to 0.16.0-beta1.

Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
2022-12-07 07:28:45 +09:00
Stephanos Ioannidis 57f3f74c8b release-notes: Add release notes for 0.16.0-beta1
This commit adds the release notes for the Zephyr SDK 0.16.0-beta1
release.

Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
2022-12-07 07:28:45 +09:00
Stephanos Ioannidis 80fa78aafe crosstool-ng: Update expat to 2.5.0
This commit pulls in the crosstool-ng commit that updates the libexpat
version from 2.4.1 to 2.5.0 because the 2.4.1 has known security
issues.

Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
2022-12-01 03:43:40 +09:00
Keith Packard 22e076dee2 crosstool-ng/picolibc: Add crosstool version with picolibc x86_64 fix
This fix allows building the x86_64-zephyr-elf toolchain on non-x86
targets.

Signed-off-by: Keith Packard <keithp@keithp.com>
Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
2022-11-30 14:13:55 +09:00
Daniel Leung eb98aaa5ef xtensa: remove unused intel_bdw and intel_byt
Both intel_bdw and intel_byt are not being used in upstream
Zephyr project. So there is no need to build them.

Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2022-11-29 12:53:48 +09:00
hadrien barral hWX1125572 44f489b715 qemu: Enable KVM
We now have a QEMU/KVM AArch64 board.

Signed-off-by: hadrien barral hWX1125572 <hadrien.barral@huawei.com>
2022-11-29 12:52:58 +09:00
Stephanos Ioannidis 895e157b6a ci: Add macos-aarch64 test environment
This commit adds the test environment for the AArch64 macOS toolchains
and host tools using the ARM64 macOS zephyr-runner.

Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
2022-11-27 13:10:21 +09:00
Stephanos Ioannidis a5422d2dad ci: test: Install Python packages under virtual environment
This commit updates the CI workflow distribution bundle test job to
create a Python virtual environment and install the Python packages
required by the checked out Zephyr codebase in it.

Installing the Python packages in a virtual environment provides a
complete isolation from the runner host environment and prevents any
potential version incompatibilities and conflicts with the pre-
installed packages in the runner.

Note that Python virtual environment is not used for Linux because the
Linux build environment uses the CI Docker image that already has all
the required dependencies pre-installed.

Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
2022-11-27 13:10:21 +09:00
Stephanos Ioannidis fd5b33a5a3 ci: Use zephyr-runner to test macos-x86_64 distribution bundle
This commit updates the CI workflow to test the `macos-x86_64`
distribution bundle using the x86-64 macOS zephyr-runner.

Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
2022-11-27 13:10:21 +09:00
Stephanos Ioannidis c59f91649f ci: Build macOS toolchains on AArch64 runners
This commit updates the CI workflow to build the AArch64 and x86-64
host macOS toolchains on the AArch64 runners instead of the x86-64
runners.

This is in preparation of migrating from the existing Intel-based Mac
Mini runners to the new Apple Silicon-based M1 Mac Mini runners.

Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
2022-11-27 13:10:21 +09:00
Stephanos Ioannidis 6dfe3b0d8d ci: test: Use CI Docker image on Linux
This commit updates the CI workflow test job to use the Zephyr CI
Docker image (`docker-image`) on the Linux hosts mainly because many
PyPI packages do not provide the ARM64 Linux wheels and need to be
compiled during installation.

It also removes the environment setup steps that are no longer
necessary because the required components are already provided as part
of the CI Docker image.

Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
2022-11-27 13:10:21 +09:00
Stephanos Ioannidis 49cc01b2b9 ci: Add linux-aarch64 test environment
This commit adds the test environment for the AArch64 Linux toolchains
and host tools using the ARM64 zephyr-runner.

Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
2022-11-27 13:10:21 +09:00
Stephanos Ioannidis 8669d252b1 ci: Use zephyr-runner to test linux-x86_64 distribution bundle
This commit updates the CI workflow to test the `linux-x86_64`
distribution bundle using the x86-64 zephyr-runner.

It also adds the installation steps for the missing packages that are
not installed by default on the zephyr-runner.

Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
2022-11-27 13:10:21 +09:00
Stephanos Ioannidis 2e3c763fd3 ci: Build linux-aarch64 toolchains and host tools natively
This commit updates the CI workflow to build the linux-aarch64
toolchains and host tools natively on the ARM64 zephyr-runner in order
to reduce build time and any complexities related to cross compilation.

Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
2022-11-27 13:10:21 +09:00
Keith Packard c8e0448f01 Build picolibc for all SDK architectures
This builds both picolibc and libstdc++ with picolibc support using
the crosstool-ng support for those configurations.

Signed-off-by: Keith Packard <keithp@keithp.com>
2022-11-25 20:34:38 +09:00
Keith Packard 67a668405a Add picolibc submodule
This includes picolibc 1.7.9 + Zephyr fixes, including enabling TLS
for all Zephyr architectures that support TLS

Signed-off-by: Keith Packard <keithp@keithp.com>
2022-11-25 20:34:38 +09:00
Stephanos Ioannidis 5aa5274365 ci: Use 7z format for Windows build artifacts
This commit updates the CI workflow to output .7z archives for the
Windows build artifacts.

The 7z format uses the LZMA compression algorithm, which offers
significantly improved data compression ratio.

The `-l` option is used such that symbolic links are stored as copies
of the linked files because Windows requires administrator privileges
to create symbolic links.

Note that 7z performs multi-threaded compression by default.

For more details, refer to the issue zephyrproject-rtos/sdk-ng#567.

Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
2022-11-25 20:34:38 +09:00
Stephanos Ioannidis f95874d1de ci: Use tar.xz format for Linux and macOS build artifacts
This commit updates the CI workflow to output .tar.xz archives for the
Linux and macOS build artifacts.

The XZ format uses the LZMA compression algorithm, which offers
significantly improved data compression ratio.

Note that the `-T0` XZ option is used to perform multi-threaded
compression in spite of reduced compression ratio; otherwise,
compressing the distribution bundle may take tens of minutes to
complete.

For more details, refer to the issue zephyrproject-rtos/sdk-ng#567.

Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
2022-11-25 20:34:38 +09:00
Stephanos Ioannidis 01fbee4426 crosstool-ng: Pull in zlib 1.2.13
This commit pulls in the following crosstool-ng patches that:

* change the primary source code mirror from SourceForge to GitHub
  because the SourceForge mirror is broken.

* update the zlib version to 1.2.13 because the GitHub releases only
  include the zlib versions above 1.2.13.

Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
2022-11-24 02:05:03 +09:00
Stephanos Ioannidis 87e8b2a7ed ci: Use zephyr-runner
This commit updates the CI workflow to use the new Kubernetes-based
zephyr-runner.

Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
2022-11-24 02:02:45 +09:00
Stephanos Ioannidis fdcc5a6c5d ci: Convert deprecated 'set-output' command usage
This commit converts all deprecated `set-output` command usages to use
the new `GITHUB_OUTPUT` file.

Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
2022-11-24 02:02:45 +09:00
Stephanos Ioannidis aac26ec1d4 ci: Update actions
This commit updates the version of the actions used in the CI workflow
to prevent the Node 12 deprecation warnings.

Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
2022-11-24 02:02:45 +09:00
Stephanos Ioannidis 43582cc208 VERSION: Bump to 0.15.2
This commit bumps the Zephyr SDK version to 0.15.2.

Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
2022-11-21 18:17:50 +09:00
Stephanos Ioannidis 55d1342894 release-notes: Add release notes for 0.15.2
This commit adds the release notes for the Zephyr SDK 0.15.2 release.

Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
2022-11-21 18:17:50 +09:00
Stephanos Ioannidis 9faa004020 template_setup_posix: Fix command line toolchain flag handling
The commit 05f6047344 moved the toolchain
list from the setup script itself to an external file
(`sdk_toolchains`).

This change also introduced a delimiter change from 'SPACE' to 'LF'
that broke the regular expression used by the toolchain (`-t`) flag
handler, which assumes the 'SPACE' delimiter.

This commit reworks the setup script to convert the 'LF' delimiter to
'SPACE' after loading the toolchain list from `sdk_toolchains` to fix
this issue.

Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
2022-11-20 00:06:49 +09:00
Stephanos Ioannidis 1b5188fe62 VERSION: Bump to 0.15.2-rc1
This commit bumps the Zephyr SDK version to 0.15.2-rc1.

Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
2022-11-17 19:24:25 +09:00
Stephanos Ioannidis 358e948aec release-notes: Add release notes for 0.15.2-rc1
This commit adds the release notes for the Zephyr SDK 0.15.2-rc1
release.

Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
2022-11-17 19:24:25 +09:00
Keith Packard 2d678bf8de arc: Add -mtp-regno=26 to CFLAGS
Make sure everything is built with the correct TLS configuration.

Signed-off-by: Keith Packard <keithp@keithp.com>
Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
2022-11-17 17:13:06 +09:00
Stephanos Ioannidis ff344f0621 gcc: Pull in libstdc++ long double math function support fix
This commit pulls in the GCC commit that makes the long double math
function support in the libstdc++ <cmath> header an optional feature
such that the C99 math functions are available in the header when
libstdc++ is compiled with a C library that does not provide the long
double math functions  (e.g. newlib).

Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
2022-11-17 17:02:49 +09:00
Stephanos Ioannidis 683907c3fa template_setup_posix: Suppress Yocto nativesdk installer messages
The Linux host tools for Zephyr SDK are packaged using the Yocto
nativesdk recipe and its installer may print out the messages that can
be potentially misleading to the Zephyr SDK users, who do not need to
understand the internals of the Zephyr SDK host tools integration.

This commit updates the setup script to suppress any console outputs
from the Yocto nativesdk installer script.

Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
2022-11-17 17:02:34 +09:00
Stephanos Ioannidis 59b2286921 meta-zephyr-sdk: Pull in AArch64 host build fix
This commit pulls in the Zephyr Poky commit that fixes the host tools
build on the AArch64 host.

Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
2022-11-07 23:59:03 +09:00
Keith Packard 6f77c0fb29 Disable TLS for GCC on targets with no Zephyr support
By disabling compiler support, we can ensure that nothing else
will end up using something that the OS cannot support.

Signed-off-by: Keith Packard <keithp@keithp.com>
2022-11-07 04:25:42 +09:00
Keith Packard 625ae26c6d aarch64: Add -moverride=tune=no_ldp_stp_qregs to TARGET_CFLAGS
From Zephyr arch/arm64/core/CMakeLists.txt:

 GCC may generate ldp/stp instructions with the Advanced SIMD Qn registers for
 consecutive 32-byte loads and stores. Saving and restoring the Advanced SIMD
 context is very expensive, and it is preferable to keep it turned off by not
 emitting these instructions for better context switching performance.

Also, if these instructions happen from an ISR, they will trap and
appear to leave interrupts disabled afterwards. That bug should be fixed.

Signed-off-by: Keith Packard <keithp@keithp.com>
2022-11-07 04:23:55 +09:00
Stephanos Ioannidis 13381c2f35 meta-zephyr-sdk: Downgrade glibc to 2.27
This commit pulls in the Poky commit that downgrades the glibc version
to 2.27 in order to ensure that the nativesdk binaries are compatible
with older Linux distros.

Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
2022-11-07 04:23:42 +09:00
Stephanos Ioannidis 48e1fda795 scripts: template_setup_posix: Fix Linux OS type detection
This commit updates the POSIX setup script to use `linux*` instead of
`linux-gnu*` to detect the Linux host OS type because some distros may
omit the `-gnu` part.

Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
2022-11-07 04:23:26 +09:00
Stephanos Ioannidis ad61394695 ci: Allow running CI workflow in topic branches
This commit updates the CI workflow to allow running the workflow in
the branches prefixed with `topic-` (i.e. topic branches).

Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
2022-10-07 04:02:27 +09:00
Stephanos Ioannidis c862dc8759 scripts: template_setup_win: Fix toolchain list loading
`!` must be used instead of `%` inside a loop when referencing a
variable that is changed within the loop.

Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
2022-10-06 21:51:48 +09:00
Stephanos Ioannidis 6e4bc280dc ci: Shorten distribution bundle path on Windows for testing
This commit updates the CI workflow to shorten the distribution bundle
path on Windows for testing because the full path can be too long for
some architectures and may cause build failures.

Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
2022-10-06 19:58:57 +09:00
Stephanos Ioannidis 05f6047344 scripts: Use toolchain list from distribution bundle build
This commit updates the CI workflow to output a toolchain list file
(`sdk_toolchains`) while building a distribution bundle and updates the
distribution bundle setup scripts to use it instead of a hard-coded
one.

This allows partial distribution bundle builds without all the
supported toolchains to be properly handled by the distribution bundle
setup script.

Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
2022-10-05 03:06:42 +09:00
Stephanos Ioannidis da4f3c6f1a ci: Reduce test parallelism
This commit updates the CI workflow to reduce the number of subsets
for running twister tests from 5 to 2 because:

1. There is a lot of overhead in setting up the test environment
   compared to the actual test run time (e.g. it takes 10 minutes
   for set-up and 5 minutes for test run per subset in case of Linux).

2. Windows, the slowest platform, runner has been updated to a more
   powerful 8-core machine.

Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
2022-10-05 00:20:22 +09:00
Stephanos Ioannidis fe024336ec ci: Use larger runner for Windows testing
This commit updates the CI workflow to use a larger 8-core runner for
testing Zephyr SDK distribution bundle on Windows.

Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
2022-10-05 00:20:22 +09:00
Stephanos Ioannidis 318193c218 VERSION: Bump to 0.15.1
This commit bumps the Zephyr SDK version to 0.15.1.

Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
2022-10-02 17:53:02 +09:00
Stephanos Ioannidis 8d9178e4a2 release-notes: Add release notes for 0.15.1
This commit adds the release notes for the Zephyr SDK 0.15.1 release.

Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
2022-10-02 17:53:02 +09:00
Stephanos Ioannidis 1d94e80f0f VERSION: Bump to 0.15.1-rc2
This commit bumps the Zephyr SDK version to 0.15.1-rc2.

Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
2022-10-01 03:08:09 +09:00