Inherit fvpboot so that the FVP binary is fetched and configuration
generated.
Configure the FVP to forward host port 8022 to port 22 locally, and
tell testimage to SSH to localhost:8022. This has the limitation that
only one testimage can run per machine, but this will be removed shortly.
Disable the parselogs test case, as there are some harmless warnings in
the dmesg which cause it to fail. Currently meta-arm can't extend the
whitelist of ignorable warnings.
The FVP binaries are x86-64 only, so tag the job appropriately.
Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
runfvp currently needs telnet to communicate with the guest, so install
telnet into the image.
Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
Set TEST_TARGET so that all FVP machines use the new FVP target out of
the box, instead of attempting to use qemu.
Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
All FVPs can use virtio networking devices, so enable virtio in all of
the FVP kernels.
Remove our fvp/fvp-virtio.cfg as there's cfg/virtio.scc we can use.
Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
Add a new oeqa.core.target.OETarget subclass for testimage which starts
a FVP using runfvp. This uses --console to connect to the console so
telnet is needed on the host.
Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
So that it is easy to kill runfvp and everything it starts (such as
telnet or the FVP itself), reset the process group on startup.
Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
Latest oe-core has less implicit DEPENDS, so gem5 fails to configure:
Error: Can't find version of M4 macro processor. Please install M4 and try again.
Explicitly add m4-native to DEPENDS.
Change-Id: I2e107ea6448eec399619e0d1922fd29930a95fd8
Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
Using asyncio makes the code easier to understand. Also start to expose
a callback for when consoles are opened.
Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
This patch adds config parameters to support virtio_net user networking by
default fvp-baser-aemv8r64 and updates the documentation to remove the old
instructions about setting up tap networking.
Issue-Id: SCM-3536
Signed-off-by: Hugo L'Hostis <hugo.lhostis@arm.com>
Change-Id: I4f3b74c5ba8b8e0b4205fca643a35affbe50a18c
Signed-off-by: Jon Mason <jon.mason@arm.com>
oe-core has branched Honister off and master is taking breaking changes.
As we're still stabilising for release, we should pin to the honister
branches where possible.
Change-Id: Icb05bee45dcc88ca9cbac72b7c18cbaeb89a7491
Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
Add the ability to run testimage against zephyr machines.
Unfortunately, this exposes a bug in meta-zephyr with TESTIMAGE_AUTO not
working correctly. So, work around this until it can be fixed upstream.
Also, qemu-cortex-a53 does not successfully pass any of the tests it
successfully builds. So, don't run testimage until that can be
addressed.
Signed-off-by: Jon Mason <jon.mason@arm.com>
As we're building whole systems and not binaries that are expected to
be copied around, we can dynamically link to libstdc++.
Change-Id: I1e54ca519b069388226f40c489c9194b870a6d3c
Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
GN uses its own platform identifiers, so map from our GNU-style names to
the names it expects.
Change-Id: I361536c43f2a9cc5c6dc0a9ad4138433399781d2
Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
Building GN in a SDK environment isn't as trivial, as it needs to know
the target configuration it should inherit cross-canadian. Also, building
for mingw32 hosts breaks the build.
For now there's no immediate need for GN in nativesdk, so remove it.
Change-Id: I3b969639fa8ad7780c53ae2bc8a3f166773ee4b9
Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
It appears that GN doesn't like to be built with Clang, so disable that
for now.
Change-Id: I01d1d2bf0d646d0841c5f291f07de80837a9a998
Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
GCC_VERSION is too similar to existing variable GCCVERSION. Replace it
with ARM_GCC_VERSION.
Suggested-by: Denys Dmytriyenko <denis@denix.org>
Signed-off-by: Jon Mason <jon.mason@arm.com>
Updating the linux kernel version to 5.14 for fvp-baser-aemv8r64.
Signed-off-by: Hugo L'Hostis <hugo.lhostis@arm.com>
Change-Id: Iad76939460a32d8e34212e86a45905ffd51deb60
Signed-off-by: Jon Mason <jon.mason@arm.com>
This patch adds instructions to fetch and build previous versions of the
software stack for fvp-baser-aemv8r64 instead of the ongoing
development.
Signed-off-by: Hugo L'Hostis <hugo.lhostis@arm.com>
Change-Id: I430196c0ca80c7f1e4b9f8349cdc957c86f384ee
Signed-off-by: Jon Mason <jon.mason@arm.com>
Instead of relying on the prebuilt GN/Ninja/dtc binaries that come with
Hafnium via the hafnium-prebuilts repository, use the recipes that we
build.
We still need to use the prebuilt compilers, but that is being worked
on upstream.
Change-Id: Ife4172d74f7877eaee3c4c414d7afda61332f220
Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
This is a Google build tool used by Hafnium. It will end up in meta-oe
eventually, but until then it can live here.
Change-Id: I7a3df84624664117a6a72e2d93e86036cb483c39
Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
The .elf is only useful for debugging, so put it in the dbg package.
Change-Id: If2802e4cf8303e7e8258e81b580a43bdecfa3a0a
Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
Hafnium hard-codes a lot of this logic, so do_install can be simplified.
Change-Id: If4f941dff392a6e8d0b7ee9fff68a9836a7fd806
Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
Set OUT_DIR to do out-of-tree builds in a directory we control, so we
can wipe it on rebuilds.
Change-Id: I5b96427b6e9d510997de5f2b1947505ad31199dc
Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
Hafnium drops a python symlink into HOSTTOOLS_DIR, which is visible to
all recipes, so building hafnium changes the build environment.
Hafnium, since 6c63a26 (2.4 onwards), uses python3 in its own hashbangs.
The prebuilt clang currently uses python hangbangs but this is fixed in
git, and can be temporarily worked around with a patch instead.
Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
pkg-config-native is used, so we best depend on it.
Change-Id: Iad57fa306a813828136d2afeefb16c5101512f5b
Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
Use variables to make it easier to upgrade when the time comes.
Change-Id: I9f2575279fe79bc0d895d47fdaffd2d5edd4aa59
Signed-off-by: Jon Mason <jon.mason@arm.com>
If bb.tinfoil cannot be imported, display a nice error instead of a
backtrace.
Change-Id: I20dab9dfdbd57c8e90c8321072bab4f70b8ace47
Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
Pick a default terminal which will actually work, instead of defaulting
to xterm even if xterm isn't installed.
Also show the default in the --help output.
Change-Id: Ib3e7c32917725f404a171248549b6f9c0afe8158
Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
No behavioural changes, just cleanup.
Change-Id: I04d82512493a2f90e810198e520f672284cd3eb2
Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
If the script receives control-c, don't display the stack trace.
Change-Id: Id0ebf9476ecd685302723fde6a36c2e899d0f3eb
Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
Enable user-mode networking with virtio out of the box. This way port
forwarding can be configured easily without needing to setup host tap
ports.
Moving forward this may be controlled more by runfvp with the machine
configuration simply saying what configuration parameter to use (in this
case, bp.virtio_net), but this is a good starting point to iterate from.
Change-Id: I0b610df87c7dd2c8e3e213daaa967618babbdc7c
Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
Pass bp.ve_sysregs.exit_on_shutdown=1 so that the FVP exits if the
emulated machine shutsdown, which is typically the desired behaviour.
Change-Id: Id2f92df4af67ca5cadc645948eccf9c93af3f8f9
Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
linux-yocto has moved to 5.14, which still needs defconfig tweaks to
build without warnings.
Change-Id: Ia14c02562cf0ccb5fb8fd8544901530a0cfb487b
Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
By removing the verbose and debug kernel command line parameters from the grub
menu entries we prevent the console printing unnecessary messages and slowing
down the boot process.
Issue-Id: SCM-3027
Signed-off-by: Hugo L'Hostis <hugo.lhostis@arm.com>
Change-Id: Ieb68c606b7ed5b20191f6989aea84963b8cda778
Signed-off-by: Jon Mason <jon.mason@arm.com>
This doesn't execute anything but simply checks that the publically
available FVPs can be downloaded and packaged.
Change-Id: I13895faa6fe6b19363854c33275a3febf61b7132
Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
So that we can build and use FVP packages in the CI, agree to the FVP
EULA.
Change-Id: Iaff2398000c30782f48f70714846d3f1028b34bb
Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>