History log of /kvm-unit-tests/arm/run (Results 1 – 25 of 48)
Revision Date Author Comments
# 61ff9901 04-Jul-2025 Andrew Jones <andrew.jones@linux.dev>

Merge branch 'arm/queue' into 'master'

scripts: Add support for kvmtool

See merge request kvm-unit-tests/kvm-unit-tests!79


# db9c4e1c 25-Jun-2025 Alexandru Elisei <alexandru.elisei@arm.com>

scripts: Add support for kvmtool

Teach the arm runner to use kvmtool when kvm-unit-tests has been configured
appropriately.

The test is ran using run_test_status(), and a 0 return code (which means

scripts: Add support for kvmtool

Teach the arm runner to use kvmtool when kvm-unit-tests has been configured
appropriately.

The test is ran using run_test_status(), and a 0 return code (which means
success) is converted to 1, because kvmtool does not have a testdev device
to return the test exit code, so kvm-unit-tests must always parse the
"EXIT: STATUS" line for the exit code.

Reviewed-by: Andrew Jones <andrew.jones@linux.dev>
Reviewed-by: Shaoqin Huang <shahuang@redhat.com>
Signed-off-by: Alexandru Elisei <alexandru.elisei@arm.com>
Signed-off-by: Andrew Jones <andrew.jones@linux.dev>

show more ...


# 9fcec1db 25-Jun-2025 Alexandru Elisei <alexandru.elisei@arm.com>

scripts: Refuse to run the tests if not configured for qemu

Arm and arm64 support running the tests under kvmtool. kvmtool has a
different command line syntax for configuring and running a virtual
m

scripts: Refuse to run the tests if not configured for qemu

Arm and arm64 support running the tests under kvmtool. kvmtool has a
different command line syntax for configuring and running a virtual
machine, and the automated scripts know only how to use qemu.

One issue with that is even though the tests have been configured for
kvmtool (with ./configure --target=kvmtool), the scripts will use qemu to
run the tests, and without looking at the logs there is no indication that
the tests haven't been run with kvmtool, as configured.

Another issue is that kvmtool uses a different address for the UART and
when running the tests with qemu via the scripts, this warning is
displayed:

WARNING: early print support may not work. Found uart at 0x9000000, but early base is 0x1000000.

which might trip up an unsuspected user.

There are four different ways to run a test using the test infrastructure:
with run_tests.sh, by invoking arm/run or arm/efi/run with the correct
parameters (only the arm directory is mentioned here because the tests can
be configured for kvmtool only on arm and arm64), and by creating
standalone tests.

run_tests.sh ends up executing either arm/run or arm/efi/run, so add a
check to these two scripts for the test target, and refuse to run the test
if kvm-unit-tests has been configured for kvmtool.

mkstandalone.sh also executes arm/run or arm/efi run, but the usual use
case for standalone tests is to compile them on one machine, and then to
run them on a different machine. This two step process can be time
consuming, so save the user time (and frustration!) and add a check
directly to mkstandalone.sh.

Reviewed-by: Andrew Jones <andrew.jones@linux.dev>
Reviewed-by: Shaoqin Huang <shahuang@redhat.com>
Signed-off-by: Alexandru Elisei <alexandru.elisei@arm.com>
Signed-off-by: Andrew Jones <andrew.jones@linux.dev>

show more ...


# abdc5d02 08-Apr-2025 Andrew Jones <andrew.jones@linux.dev>

Merge branch 'arm/queue' into 'master'

arm/arm64: Default to 'max' cpu type and add MTE test

See merge request kvm-unit-tests/kvm-unit-tests!76


# 5f77b72d 08-Apr-2025 Jean-Philippe Brucker <jean-philippe@linaro.org>

configure: Add --target-cpu option

Add the --target-cpu option to let users set the CPU type to run on.
At the moment --processor allows to set both GCC -mcpu flag and QEMU
-cpu. On Arm we'd like to

configure: Add --target-cpu option

Add the --target-cpu option to let users set the CPU type to run on.
At the moment --processor allows to set both GCC -mcpu flag and QEMU
-cpu. On Arm we'd like to pass `-cpu max` to QEMU in order to enable all
the TCG features by default, and it could also be nice to let users
modify the CPU capabilities by setting extra -cpu options. Since GCC
-mcpu doesn't accept "max" or "host", separate the compiler and QEMU
arguments.

`--processor` is now exclusively for compiler options, as indicated by
its documentation ("processor to compile for"). So use $TARGET_CPU on
RISC-V as well.

Suggested-by: Andrew Jones <andrew.jones@linux.dev>
Signed-off-by: Jean-Philippe Brucker <jean-philippe@linaro.org>
Signed-off-by: Andrew Jones <andrew.jones@linux.dev>

show more ...


# 611fe6de 18-Mar-2024 Andrew Jones <andrew.jones@linux.dev>

Merge branch 'arm/queue' into 'master'

arm/arm64: EFI improvements and no more MAX_SMP probing

See merge request kvm-unit-tests/kvm-unit-tests!53


# 5ded2989 05-Mar-2024 Andrew Jones <andrew.jones@linux.dev>

arm64: efi: Allow running tests directly

Since it's possible to run tests with UEFI and the QEMU -kernel
option (and now the DTB will be found and even the environ will
be set up from an initrd if g

arm64: efi: Allow running tests directly

Since it's possible to run tests with UEFI and the QEMU -kernel
option (and now the DTB will be found and even the environ will
be set up from an initrd if given with the -initrd option), then
we can skip the loading of EFI tests into a file system and booting
to the shell to run them. Just run them directly. Running directly
is waaaaaay faster than booting the shell first. We keep the UEFI
shell as the default behavior, though, and provide a new configure
option to enable the direct running.

Reviewed-by: Nikos Nikoleris <nikos.nikoleris@arm.com>
Signed-off-by: Andrew Jones <andrew.jones@linux.dev>

show more ...


# 63c60156 05-Mar-2024 Andrew Jones <andrew.jones@linux.dev>

arm64: efi: Move run code into a function

Push the run code in arm/efi/run into a function named
uefi_shell_run() since it will create an EFI file system, copy
the test and possibly the DTB there, a

arm64: efi: Move run code into a function

Push the run code in arm/efi/run into a function named
uefi_shell_run() since it will create an EFI file system, copy
the test and possibly the DTB there, and create a startup.nsh
which executes the test from the UEFI shell. Pushing this
code into a function allows additional execution paths to be
created in the script. Also rename EFI_RUN to UEFI_SHELL_RUN
to pass the information on to arm/run that it's being called
from uefi_shell_run().

Reviewed-by: Nikos Nikoleris <nikos.nikoleris@arm.com>
Signed-off-by: Andrew Jones <andrew.jones@linux.dev>

show more ...


# e526bc78 01-Jul-2023 Andrew Jones <andrew.jones@linux.dev>

Merge branch 'arm/queue' into 'master'

arm/arm64: EFI support, arm64 backtrace support, PMU test improvements, and more

See merge request kvm-unit-tests/kvm-unit-tests!43


# 01e047d0 23-Jun-2023 Gavin Shan <gshan@redhat.com>

runtime: Allow to specify properties for accelerator

There are extra properties for accelerators to enable the specific
features. For example, the dirty ring for KVM accelerator can be
enabled by "-

runtime: Allow to specify properties for accelerator

There are extra properties for accelerators to enable the specific
features. For example, the dirty ring for KVM accelerator can be
enabled by "-accel kvm,dirty-ring-size=65536". Unfortuntely, the
extra properties for the accelerators aren't supported. It makes
it's impossible to test the combination of KVM and dirty ring
as the following error message indicates.

# cd /home/gavin/sandbox/kvm-unit-tests/tests
# QEMU=/home/gavin/sandbox/qemu.main/build/qemu-system-aarch64 \
ACCEL=kvm,dirty-ring-size=65536 ./its-migration
:
BUILD_HEAD=2fffb37e
timeout -k 1s --foreground 90s \
/home/gavin/sandbox/qemu.main/build/qemu-system-aarch64 \
-nodefaults -machine virt -accel kvm,dirty-ring-size=65536 \
-cpu cortex-a57 -device virtio-serial-device \
-device virtconsole,chardev=ctd -chardev testdev,id=ctd \
-device pci-testdev -display none -serial stdio \
-kernel _NO_FILE_4Uhere_ -smp 160 -machine gic-version=3 \
-append its-pending-migration # -initrd /tmp/tmp.gfDLa1EtWk
:
qemu-system-aarch64: kvm_init_vcpu: kvm_arch_init_vcpu failed (0):
Invalid argument

Allow to specify extra properties for accelerators. With this, the
"its-migration" can be tested for the combination of KVM and dirty
ring. Rename get_qemu_accelerator() to set_qemu_accelerator() since
no values are returned by printing at return.

Signed-off-by: Gavin Shan <gshan@redhat.com>
Tested-by: Nico Boehr <nrb@linux.ibm.com>
Acked-by: Nico Boehr <nrb@linux.ibm.com>
Reviewed-by: Andrew Jones <andrew.jones@linux.dev>
Signed-off-by: Andrew Jones <andrew.jones@linux.dev>

show more ...


# 2607d2d6 30-May-2023 Nikos Nikoleris <nikos.nikoleris@arm.com>

arm64: Add an efi/run script

This change adds a efi/run script inspired by the one in x86. This
script will setup a folder with the test compiled as an EFI app and a
startup.nsh script. The script l

arm64: Add an efi/run script

This change adds a efi/run script inspired by the one in x86. This
script will setup a folder with the test compiled as an EFI app and a
startup.nsh script. The script launches QEMU providing an image with
EDKII and the path to the folder with the test which is executed
automatically.

For example:

$> ./arm/efi/run ./arm/selftest.efi -append "setup smp=2 mem=256" -smp 2 -m 256

Signed-off-by: Nikos Nikoleris <nikos.nikoleris@arm.com>
Reviewed-by: Ricardo Koller <ricarkol@google.com>
Reviewed-by: Shaoqin Huang <shahuang@redhat.com>
Signed-off-by: Andrew Jones <andrew.jones@linux.dev>

show more ...


# 2fffb37e 21-Mar-2023 Andrew Jones <andrew.jones@linux.dev>

Merge branch 'arm/queue' into 'master'

arm cleanups

See merge request kvm-unit-tests/kvm-unit-tests!41


# d5be1090 03-Mar-2023 Shaoqin Huang <shahuang@redhat.com>

arm: Clean up the run script

Using more simple bash command to clean up the run script.

No functional change intended.

Signed-off-by: Shaoqin Huang <shahuang@redhat.com>
Signed-off-by: Andrew Jone

arm: Clean up the run script

Using more simple bash command to clean up the run script.

No functional change intended.

Signed-off-by: Shaoqin Huang <shahuang@redhat.com>
Signed-off-by: Andrew Jones <andrew.jones@linux.dev>

show more ...


# 29e06611 03-Mar-2023 Shaoqin Huang <shahuang@redhat.com>

arm: Replace the obsolete qemu script

The qemu script used to detect the testdev is obsoleted, replace it
with the modern way to detect if testdev exists which was first
introduced at QEMU v2.7.50 b

arm: Replace the obsolete qemu script

The qemu script used to detect the testdev is obsoleted, replace it
with the modern way to detect if testdev exists which was first
introduced at QEMU v2.7.50 by:
517b3d4016 (chardev: Add 'help' option to print all available chardev backend types).

Signed-off-by: Shaoqin Huang <shahuang@redhat.com>
Signed-off-by: Andrew Jones <andrew.jones@linux.dev>

show more ...


# 8719e832 17-May-2022 Andrew Jones <drjones@redhat.com>

Merge branch 'arm/queue' into 'master'

arm: Improve building and running

See merge request kvm-unit-tests/kvm-unit-tests!31


# c7d6c7f0 17-Mar-2022 Andrew Jones <drjones@redhat.com>

arm/run: Use TCG with qemu-system-arm on arm64 systems

If the user sets QEMU=qemu-system-arm on arm64 systems, the tests can only
be run by using the TCG accelerator. In this case use TCG instead of

arm/run: Use TCG with qemu-system-arm on arm64 systems

If the user sets QEMU=qemu-system-arm on arm64 systems, the tests can only
be run by using the TCG accelerator. In this case use TCG instead of KVM.

Signed-off-by: Andrew Jones <drjones@redhat.com>
[ Alex E: Added commit message ]
Signed-off-by: Alexandru Elisei <alexandru.elisei@arm.com>

show more ...


# 07da5bc1 15-Mar-2022 Andrew Jones <drjones@redhat.com>

Merge branch 'arm/queue' into 'master'

arm/queue: configure and run script improvements

See merge request kvm-unit-tests/kvm-unit-tests!27


# ee5a8a1a 15-Mar-2022 Andrew Jones <drjones@redhat.com>

arch-run: Introduce QEMU_ARCH

Add QEMU_ARCH, which allows run scripts to specify which architecture
of QEMU should be used. This is useful on AArch64 when running with
KVM and running AArch32 tests.

arch-run: Introduce QEMU_ARCH

Add QEMU_ARCH, which allows run scripts to specify which architecture
of QEMU should be used. This is useful on AArch64 when running with
KVM and running AArch32 tests. For those tests, we *don't* want to
select the 'arm' QEMU, as would have been selected, but rather the
$HOST ('aarch64') QEMU.

To use this new variable, simply ensure it's set prior to calling
search_qemu_binary().

Cc: Alexandru Elisei <alexandru.elisei@arm.com>
Tested-by: Alexandru Elisei <alexandru.elisei@arm.com>
Reviewed-by: Alexandru Elisei <alexandru.elisei@arm.com>
Signed-off-by: Andrew Jones <drjones@redhat.com>

show more ...


# c157b6e2 17-Feb-2022 Nikos Nikoleris <nikos.nikoleris@arm.com>

configure: arm: Fixes to build and run tests on Apple Silicon

On MacOS:

$> uname -m

returns:

arm64

To unify how we handle the achitecture detection across different
systems, sed it to aarch64 wh

configure: arm: Fixes to build and run tests on Apple Silicon

On MacOS:

$> uname -m

returns:

arm64

To unify how we handle the achitecture detection across different
systems, sed it to aarch64 which is what's typically reported on
Linux.

In addition, when HVF is the acceleration method on aarch64, make sure
we select the right processor when invoking qemu.

Signed-off-by: Nikos Nikoleris <nikos.nikoleris@arm.com>
Signed-off-by: Andrew Jones <drjones@redhat.com>

show more ...


# dbf4a3c3 01-Feb-2022 Andrew Jones <drjones@redhat.com>

Merge branch 'arm/queue' into 'master'

arm64: Merge arm/queue

See merge request kvm-unit-tests/kvm-unit-tests!23


# 856587f0 02-Dec-2021 Alex Bennée <alex.bennee@linaro.org>

arm/run: use separate --accel form

This will allow TCG tests to alter things such as tb-size.

Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
Message-Id: <20211202115352.951548-9-alex.bennee@li

arm/run: use separate --accel form

This will allow TCG tests to alter things such as tb-size.

Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
Message-Id: <20211202115352.951548-9-alex.bennee@linaro.org>
Signed-off-by: Andrew Jones <drjones@redhat.com>

show more ...


# 57ab5a6d 20-Jan-2022 Thomas Huth <thuth@redhat.com>

Use a prefix for the STANDALONE environment variable

Seems like "STANDALONE" is too generic and causes a conflict in
certain environments (see bug link below). Add a prefix here to
decrease the poss

Use a prefix for the STANDALONE environment variable

Seems like "STANDALONE" is too generic and causes a conflict in
certain environments (see bug link below). Add a prefix here to
decrease the possibility of a conflict here.

Resolves: https://gitlab.com/kvm-unit-tests/kvm-unit-tests/-/issues/3
Message-Id: <20220120182200.152835-1-thuth@redhat.com>
Acked-by: Claudio Imbrenda <imbrenda@linux.ibm.com>
Reviewed-by: Andrew Jones <drjones@redhat.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>

show more ...


# 41c0f78c 02-Apr-2020 Eric Auger <eric.auger@redhat.com>

arm/run: Allow Migration tests

Let's link getchar.o to use puts and getchar from the
tests.

Then allow tests belonging to the migration group to
trigger the migration from the test code by putting

arm/run: Allow Migration tests

Let's link getchar.o to use puts and getchar from the
tests.

Then allow tests belonging to the migration group to
trigger the migration from the test code by putting
"migrate" into the uart. Then the code can wait for the
migration completion by using getchar().

The __getchar implement is minimalist as it just reads the
data register. It is just meant to read the single character
emitted at the end of the migration by the runner script.

It is not meant to read more data (FIFOs are not enabled).

Signed-off-by: Eric Auger <eric.auger@redhat.com>
Signed-off-by: Andrew Jones <drjones@redhat.com>

show more ...


# 1f0a5c19 17-Jul-2018 Andrew Jones <drjones@redhat.com>

arm/arm64: fix pci-test

The latest machine type for mach-virt now uses a highmem address
range for ecam space. For arm64 fixup our memory mapping in order
to allow pci-test to access it. For arm, ju

arm/arm64: fix pci-test

The latest machine type for mach-virt now uses a highmem address
range for ecam space. For arm64 fixup our memory mapping in order
to allow pci-test to access it. For arm, just use the highmem=off
machine property to keep the ecam space in lowmem.

Signed-off-by: Andrew Jones <drjones@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>

show more ...


# f4d99928 29-Jun-2017 Radim Krčmář <rkrcmar@redhat.com>

arch/run: unify accelerator detection

Use the same mechanism as search_qemu_binary().

The simplified [ "$HOST" = "$ARCH_NAME" ] check will mishandle a case if
you compile for $arch on $arch then tr

arch/run: unify accelerator detection

Use the same mechanism as search_qemu_binary().

The simplified [ "$HOST" = "$ARCH_NAME" ] check will mishandle a case if
you compile for $arch on $arch then try to run it with $other_arch/run,
but that isn't really worth checking.

Signed-off-by: Radim Krčmář <rkrcmar@redhat.com>
Message-Id: <20170629142824.13666-1-rkrcmar@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>

show more ...


12