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>
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>
This commit pulls in the fix for the OpenOCD failing to flash a target
when the target is in sleep state.
Note that this is only a workaround until the Zephyr-side OpenOCD
configurations are updated to fundamentally fix this issue -- refer to
the linked OpenOCD commit message for more details.
Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
This commit updates the QEMU version to 7.0.0.
QEMU 7.0 is required to support the new ratified RISC-V extensions such
as Zve* and Zb*.
Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
This commit upgrades the meson package version from 0.59.2 to 0.59.3.
Meson 0.59.3 or above is required for building QEMU 7.0.
Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
This commit upgrades the meson package version from 0.59.1 to 0.59.2.
(based on poky commit 1d345f0bc826fb42eb179b939cb8313d3f4afda1)
Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
This commit pulls in the Zephyr OpenOCD branch that is based on the
latest OpenOCD commit as of 2022-06-11 (`zephyr-20220611` branch).
Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
This commit pulls in the OpenOCD patch that fixes the JTAG device order
for the Intel Cyclone V SoC.
Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
This commit updates the ARC QEMU to 2022.04.26 release (tag).
NOTE: This change was initiated because the original commit
2625a6fbc3f60233e1d340931d00242d82230091 no longer exists in the
upstream repository.
Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
This commit pulls in the patches required to support the emulation of
the I2C devices (e.g. LSM303DLHC magnetometer) on the ARM targets.
Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
This commit makes the following changes to add a separate QEMU recipe
for ARC.
1. Re-generate "cross.patch" as there're quite some changes in the
newer "configure" script.
2. Remove "--disable-sheepdog" as otherwise configurations fails with
--------------->8------------
ERROR: unknown option --disable-sheepdog
--------------->8------------
3. Add symlinks to the ARC QEMU emulator executables in `/usr/bin`.
Co-authored-by: Stephanos Ioannidis <root@stephanos.io>
Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
This commit updates the QEMU version to 6.2.
QEMU 6.2 is required to support ARM M-Profile Vector Extension (MVE)
emulation.
Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
Use the Zephyr QEMU fork (zephyrproject-rtos/qemu) to build the QEMU
for the Zephyr SDK.
This uses the `zephyr-qemu-v6.0.0` branch in the Zephyr QEMU fork,
which is based on the QEMU v6.0.0 release and contains all the Zephyr-
related patches previously used by the OE build system.
Note that the patch file `cross.patch` was not integrated into the
Zephyr fork branch because it is a Yocto/OE build environment-specific
workaround.
Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
This commit upgrades the meson package version from 0.55.1, which is
provided by the current Poky distribution used, to 0.59.1.
Meson 0.58.2 or above is required for building QEMU 6.2.
Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
This commit enables cross compilation of the meta-zephyr-sdk by
allowing the host machine variable (MACHINE) to be overridden when
calling the build script.
Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
This commit updates the source URI for the expat component by
overriding the SRC_URI variable specified in the meta layer.
Note that the old mirror specified in the meta layer is no longer
available and has officially been relocated to GitHub [1].
Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
[1] https://github.com/libexpat/libexpat
This commit updates the source URI for the libpcre and libpcre2
components by overriding the SRC_URI variable specified in the meta
layer.
Note that the old mirror specified in the meta layer is no longer
available and has officially been relocated to GitHub [1].
Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
[1] https://pcre.org/
MicroBlaze emulation is needed to boot a Linux on a Xilinx zcu102
target, which is in turn useful for end-to-end demonstration of
OpenAMP capabilities (Linux host boots a (Zephyr) image on a
remote processor and interacts with it).
Signed-off-by: Paul Sokolovsky <paul.sokolovsky@linaro.org>
Uses the same git revision as Xilinx PetaLinux 2021.1. Allows to be better
aligned with vendor tooling/samples/etc. when working on integration
projects like OpenAMP.
Signed-off-by: Paul Sokolovsky <paul.sokolovsky@linaro.org>
This commit adds the `mipsel-softmmu` build for the QEMU, so that we
can emulate the little endian MIPS targets.
Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
We used to be very generous with memory allocation for ARC's "virt"
board assuming people would run Linux on it and all 2 GiB of RAM
will be consumed anyway.
But in case of Zephyr we don't need that much, yet QEMU tries to allocate
2 GiB right away meaninglessly claiming hosts's memory.
And while it's typically not a big deal if 1 QEMU instance is run on
an up-to-date host (we have 10s of GiBs to our disposal), in case of
massive parallel QEMU execution like in Zephyr's "twister", it really starts
to get in a way. So we now allow user to specify amount of memory we'd like
to have on emulated target and thus significantly lower memory pressure and
requirements on "twister"-running hosts.
See https://github.com/zephyrproject-rtos/sdk-ng/issues/291.
Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
Update the patches to be against QEMU 6.0.0-rc4 and pull in a few
upstream patches for the MPS3 AN524. Additionally we have an updated
patch for ARC which also adds ARC64 support.
We update the build recipe based on the upstream yocto recipe to
deal with the use of meson/ninja in the QEMU build system.
Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
Newer yocto build introduces mime files for some reason into the sdk
build. Remove them in our packaged version since we don't need them.
Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
For yocto/poky:
* SDKMACHINE should be either x86_64 or aarch64
* MACHINE should be either qemux86 or qemuarm64
Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
Pull in hidapi_git.bb recipe from upstream meta-openembedded repo.
hidapi need a udev version so we use eudev and eudev will pull in kmod.
We add eudev_%.bbappend and kmod_git.bbappend to enable building those
recipes for a native-sdk (had a patch to the poky repo to handle this
before).
Finally, pull in hidapi via the openocd recipe and don't explicitly
list in hosttools-tarball recipe.
Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
We don't need of the patches to yocto as part of updating to version
3.1.1. Rename meta-yocto to meta-poky as part of update to 3.1.1
Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
Disabled various virtualization, disk, etc features that are not
relevant for Zephyr's usage of qemu.
Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
Disabled various virtualization, disk, etc features that are not
relevant for Zephyr's usage of qemu.
NOTE: Disabling of KVM lets xilinx_qemu build on an arm64 host.
Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
Remove the seabios recipe and just fetch prebuilt binaries for the
zephyr tweaks to seabios. This makes things a little simpler in not
having to build seabios on non-x86 (ie arm64) host platforms.
Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
Set various DISTRO_FEATURES* to "none" (ie empty string) as we don't
need any features for the purpose of building a mini-nativesdk with
qemu, dtc, bossa, and openocd. This reduces building recipes we
don't need.
Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
Make some changes that are forward compatible with newer yocto versions.
Use ${MULTIMACH_TARGET_SYS} instead of ${MULTIMACH_HOST_SYS} as
${MULTIMACH_HOST_SYS} doesn't exist in newer yocto versions.
Also tweak the LIC_FILES_CHKSUM to just be on the MIT license as the
toplevel LICENSE file differs in newer yocto versions.
Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
The meta-toolchain.bbappend file isn't used for anything. We use
recipes-hosttools/hosttools/hosttools-tarball.bb to handle the sysroot
cleanup so we can remove this file.
Signed-off-by: Kumar Gala <kumar.gala@linaro.org>