Provide test environments for running
qemu-riscv64_smode and qemu-riscv64_smode_acpi.
These use the OpenSBI implementation provided by QEMU and
pass main u-boot as -kernel parameter.
ACPI is enabled for both boards. We still expect the boards to use
QEMU's device-tree as control device-tree.
Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
(cherry picked from d94ebdd2c823ce8776723184cda960dcd2954711)
Remove the rva23s64 CPU since we don't have that in our QEMU:
Signed-off-by: Simon Glass <simon.glass@canonical.com>
Add configuration files for qemu-riscv32_smode, qemu-riscv64_smode,
qemu-riscv64_smode_acpi, qemu_arm64_acpi, and qemu_arm64_lwip boards.
Co-developed-by: Claude <noreply@anthropic.com>
Signed-off-by: Simon Glass <simon.glass@canonical.com>
Update the qemu-riscv64 hook config to use OpenSBI as the BIOS and load
U-Boot as the kernel, which is required for S-mode operation.
Co-developed-by: Claude <noreply@anthropic.com>
Signed-off-by: Simon Glass <simon.glass@canonical.com>
Add configuration files for qemu-arm-sbsa, qemu-ppce500, and
qemu-xtensa-dc233c boards.
Co-developed-by: Claude <noreply@anthropic.com>
Signed-off-by: Simon Glass <simon.glass@canonical.com>
Labgrid has a --log-output option to allow writing its log output to a
file. Add a way to control this from Labgrid's U-Boot scripts.
Signed-off-by: Simon Glass <sjg@chromium.org>
The V variable includes the -v flag if verbose operation is requested
in Labgrid. Add it to the console cmdline.
Signed-off-by: Simon Glass <sjg@chromium.org>
Enable the virtio-rnd-pci device in QEMU so that fdt_test_chosen() can
operated.
Since overlays are enabled for qemu-x886_64
Signed-off-by: Simon Glass <sjg@chromium.org>
At present Labgrid only gets a subset of the variables when running
pytests. Use the 'vars' environment variable instead, so that all of
them are provided.
This allows the board config to be adjusted in a test.
Signed-off-by: Simon Glass <sjg@chromium.org>
U-Boot allows to have multiple network interfaces and switching between
these. This functionality cannot be tested if QEMU only emulates a single
NIC.
Provide a QEMU configuration with multiple network interfaces.
Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
Acked-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
These are similar to the existing qemu_arm/64 targets, except that the
'bios' is image.bin (containing both SPL and U-Boot) rather than in
u-boot.bin
They will be used for testing standard passage on QEMU
Signed-off-by: Simon Glass <sjg@chromium.org>
These are similar to the existing qemu_arm/64 targets, except that the
'bios' is image.bin (containing both SPL and U-Boot) rather than in
u-boot.bin
Signed-off-by: Simon Glass <sjg@chromium.org>
This adds support for the vexpress_fvp platforms. In order to do that we
need to add support for calling fiptool to update an existing "fip" file
with our U-Boot build. We also need to support launching the FVP
emulator itself. This is a little tricky in that we need to use "telnet"
to reach the created serial ports and cannot just use an existing
file descriptor for our needs. Finally, we add in conf files for
vexpress_fvp to make use of this, and a symlink for the
vexpress_fvp_bloblist platform.
Reviewed-by: Harrison Mutai <harrison.mutai@arm.com>
Signed-off-by: Tom Rini <trini@konsulko.com>
Add a way to work around an unexplained Python message which appears
sometimes with Python 3.12.3
Make the file executable while we are here.
Signed-off-by: Simon Glass <sjg@chromium.org>
When renaming the py file for this platform we shouldn't have renamed
the conf file as well.
Fixes: 133ff81950f9 ('sifive_unleashed: Rename "spi-nor_qemu" variant to "spi_nor_qemu"')
Signed-off-by: Tom Rini <trini@konsulko.com>
Given how files are searched and parsed,
py/travis-ci/u_boot_boardenv_sifive_unleashed_spi-nor_qemu.py was not
being used due to the dash in the name. Use an underbar for consistency.
Signed-off-by: Tom Rini <trini@konsulko.com>
General usage for these hooks is documented in the README.md file. In
terms of implementation, To start with, we add a common file to ensure
that all required environment variables are set. Next, we add a console
script which calls labgrid-console. We also add a reset script that
behaves similarly. For writing files a wrapper around using
labgrid-client sd-mux is provided and then both Raspberry Pi an TI K3
platforms have writers provided. Sample board conf files can be found in
the bin/konsulko-labgrid directory.
Reviewed-by: Simon Glass <sjg@chromium.org>
Co-developed-by: Tom Rini <trini@konsulko.com>
Signed-off-by: Edi Feschiyan <edi.feschiyan@konsulko.com>
With Labgrid we don't need to specify the various methods, except for
the console, which simply calls labgrid-client.
This allows supporting any boards in your lab, without adding per-board
configuration to these hooks.
Provide ellesmere files as an example lab-configuration.
Signed-off-by: Simon Glass <sjg@chromium.org>
These methods don't have a 'none' method right now, but it will be
needed for Labgrid. Add these scripts.
Note that these are not used by the existing integration, which requires
that boards can be powered off and on.
Signed-off-by: Simon Glass <sjg@chromium.org>
The top part of each of the u-boot-test-* files is common. Put it in
a common script file to avoid duplication and to allow it to be
replaced for the Labgrid-sjg integration.
Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Tom Rini <trini@konsulko.com>
Add this new board, to support testing the relocating SPL loader.
Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Tom Rini <trini@konsulko.com>
Add support for testing sbsa-ref via QEMU. sbsa-ref has two SPI
NOR flash, one for Arm-TF and one for unsecure firmware, providing
ACPI tables to the OS.
Signed-off-by: Patrick Rudolph <patrick.rudolph@9elements.com>
Reviewed-by: Tom Rini <trini@konsulko.com>
Rather than guess what we need to name our u-boot.bin file as for it to
boot make use of the kernel= option to always call it u-boot.bin and
then on 64bit platforms (and since future platforms use rpi_arm64 this
list should not grow) also pass in arm_64bit=1.
Reviewed-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Tom Rini <trini@konsulko.com>
Rather than guess what we need to name our u-boot.bin file as for it to
boot make use of the kernel= option to always call it u-boot.bin and
then on 64bit platforms (and since future platforms use rpi_arm64 this
list should not grow) also pass in arm_64bit=1.
Reviewed-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Tom Rini <trini@konsulko.com>
QEMU expects the file format to be specified even for raw files.
Currently this change only suppresses a warning.
Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
Those boards have build in sound card which cause
problems on CI runner.
Pass -audio none to disable sound card backends.
Signed-off-by: Jiaxun Yang <jiaxun.yang@flygoat.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Tom Rini <trini@konsulko.com>
Linux' KASLR uses the EFI_RNG_PROTOCOL as entropy source. We should
enable CONFIG_DM_RNG in U-Boot. For the EFI unit test for the protocol to
succeed a virtio RNG device has to be provided when invoking QEMU.
Reported-by: Leo Liang <ycliang@andestech.com>
Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
The TI K3 platforms require a number of things in order to boot. We must
have built both the Cortex-R and Cortex-A configurations (following
their board documents and requirements as these need additional tooling
and binaries). Further, depending on the specific SoC and variant we
need three or four files to be copied to the mount point, with specific
names. The least fragile way to handle this is that each board conf
file must define the name of the input files to copy (the outputs have
static names).
Reviewed-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Tom Rini <trini@konsulko.com>
In the case of TI OMAP (and similar) platforms, the SD card needs MLO
and u-boot.img to boot, always. Copy these files over.
Reviewed-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Tom Rini <trini@konsulko.com>
Now that we have access to more variables in our "mount" writer scripts,
we can have a single one that covers all Pi variants.
Reviewed-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Tom Rini <trini@konsulko.com>
Rather than invoking the script that will write to the mounted directory
as a binary, source it as a script so that it has access to more than
just two parameters. This will allow us to have the same flexibility in
our writers that other flash methods have.
Reviewed-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Tom Rini <trini@konsulko.com>
Similar to the AST2500 this machine is emulated by Qemu. It boots from
a 64MB SPI NOR flash device by default.
Signed-off-by: Joel Stanley <joel@jms.id.au>
Reviewed-by: Cédric Le Goater <clg@kaod.org>
The Aspeed machine in Qemu has appropriate defaults so we don't need to
specify these options.
Signed-off-by: Joel Stanley <joel@jms.id.au>
Reviewed-by: Cédric Le Goater <clg@kaod.org>
Provide a QEMU helper script to launch swtpm and add extra parameters to
conf.qemu_arm64_na and conf.qemu_arm_na to provide an emulated TPMv2.
Reviewed-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
When flashing the SD card for an imx platform, we need to use
u-boot-with-spl.imx at an offset of 1024 bytes in to the device.
Signed-off-by: Tom Rini <trini@konsulko.com>
Sometimes the umount takes a while. Add the same wait loop as is used for
mount. Also rename the 'done' variable to 'complete' to void confusing it
with the end of the for loop.
Signed-off-by: Simon Glass <sjg@chromium.org>
This code is duplicated in two scripts. Put it into a new wait_raw_device
to avoid this. Also rename the 'done' variable to 'complete' to void
confusing it with the end of the for loop.
Signed-off-by: Simon Glass <sjg@chromium.org>