History log of /kvm-unit-tests/scripts/ (Results 1 – 25 of 184)
Revision Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
f3f3386108-Jul-2025 Paolo Bonzini <pbonzini@redhat.com>

Merge tag 'kvm-x86-2025.06.26' of https://github.com/kvm-x86/kvm-unit-tests into HEAD

x86 fixes, cleanups, and new test coverage

- Ensure APIC is xAPIC mode for APIC MMIO tests.

- Expand the I/O

Merge tag 'kvm-x86-2025.06.26' of https://github.com/kvm-x86/kvm-unit-tests into HEAD

x86 fixes, cleanups, and new test coverage

- Ensure APIC is xAPIC mode for APIC MMIO tests.

- Expand the I/O APIC routing reconfiguration vs. EOI interception testcase
to validate multiple in-flight interrupts.

- Fix a variety of minor PMU/PEBS bugs and warts.

- Fix the nSVM MSR interception test to actually detect failures, and expand
its coverage to validate more scenarios.

- Add X86_PROPERTY_xxx macros (stolen from KVM selftests) and use them to
clean up related code.

- Add testcases for MSR_SPEC_CTRL, and an msr64 config to validate negative
testcases (i.e. when MSRs aren't supposed to exist).

- Disable PIT re-injection for all tests so that (x2)AVIC isn't inhibited due
to enabling in-kernel PIT emulation.

- Play nice with QEMU builds that disable VNC support.

show more ...


/kvm-unit-tests/README.md
/kvm-unit-tests/arm/run
/kvm-unit-tests/configure
/kvm-unit-tests/lib/riscv/asm/csr.h
/kvm-unit-tests/lib/riscv/asm/isa.h
/kvm-unit-tests/lib/riscv/asm/processor.h
/kvm-unit-tests/lib/riscv/asm/sbi.h
/kvm-unit-tests/lib/riscv/io.c
/kvm-unit-tests/lib/riscv/sbi.c
/kvm-unit-tests/lib/s390x/asm/arch_def.h
/kvm-unit-tests/lib/s390x/fault.c
/kvm-unit-tests/lib/util.h
/kvm-unit-tests/lib/x86/amd_sev.c
/kvm-unit-tests/lib/x86/amd_sev.h
/kvm-unit-tests/lib/x86/apic.h
/kvm-unit-tests/lib/x86/asm/bitops.h
/kvm-unit-tests/lib/x86/desc.c
/kvm-unit-tests/lib/x86/desc.h
/kvm-unit-tests/lib/x86/msr.h
/kvm-unit-tests/lib/x86/pmu.c
/kvm-unit-tests/lib/x86/pmu.h
/kvm-unit-tests/lib/x86/processor.h
/kvm-unit-tests/lib/x86/setup.c
/kvm-unit-tests/lib/x86/smp.c
/kvm-unit-tests/riscv/Makefile
/kvm-unit-tests/riscv/efi/run
/kvm-unit-tests/riscv/isa-dbltrp.c
/kvm-unit-tests/riscv/run
/kvm-unit-tests/riscv/sbi-dbtr.c
/kvm-unit-tests/riscv/sbi-fwft.c
/kvm-unit-tests/riscv/sbi-sse.c
/kvm-unit-tests/riscv/sbi-tests.h
/kvm-unit-tests/riscv/sbi.c
/kvm-unit-tests/riscv/unittests.cfg
runtime.bash
/kvm-unit-tests/x86/access.c
/kvm-unit-tests/x86/amd_sev.c
/kvm-unit-tests/x86/apic.c
/kvm-unit-tests/x86/cstart.S
/kvm-unit-tests/x86/cstart64.S
/kvm-unit-tests/x86/emulator.c
/kvm-unit-tests/x86/emulator64.c
/kvm-unit-tests/x86/ioapic.c
/kvm-unit-tests/x86/la57.c
/kvm-unit-tests/x86/lam.c
/kvm-unit-tests/x86/msr.c
/kvm-unit-tests/x86/pks.c
/kvm-unit-tests/x86/pmu.c
/kvm-unit-tests/x86/pmu_pebs.c
/kvm-unit-tests/x86/run
/kvm-unit-tests/x86/svm_npt.c
/kvm-unit-tests/x86/svm_tests.c
/kvm-unit-tests/x86/unittests.cfg
/kvm-unit-tests/x86/vmx_tests.c
/kvm-unit-tests/x86/xsave.c
463cd0ff25-Jun-2025 Alexandru Elisei <alexandru.elisei@arm.com>

scripts: Enable kvmtool

Everything is in place to run the tests using kvmtool:

$ ./configure --target=kvmtool
$ make clean && make
$ KVMTOOL=<path/to/kvmtool> ./run_tests.sh

so enable it, and remo

scripts: Enable kvmtool

Everything is in place to run the tests using kvmtool:

$ ./configure --target=kvmtool
$ make clean && make
$ KVMTOOL=<path/to/kvmtool> ./run_tests.sh

so enable it, and remove ERRATA_FORCE=y when configuring for kvmtool,
because the runner will generate and pass the correct environment to
kvmtool.

Support for EFI tests is missing. That's because distros don't ship a
EDK2 binary compiled for kvmtool, and on top of that kvm-unit-tests as
an EFI app hasn't been tested to work with kvmtool.

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 ...

dcd3384425-Jun-2025 Alexandru Elisei <alexandru.elisei@arm.com>

scripts: Add 'disabled_if' test definition parameter for kvmtool to use

The pci-test is qemu specific. Other tests perform migration, which
isn't supported by kvmtool. In general, kvmtool is not as

scripts: Add 'disabled_if' test definition parameter for kvmtool to use

The pci-test is qemu specific. Other tests perform migration, which
isn't supported by kvmtool. In general, kvmtool is not as feature-rich
as qemu, so add a new unittest parameter, 'disabled_if', that causes a
test to be skipped if the condition evaluates to true.

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

show more ...

d55c941e25-Jun-2025 Alexandru Elisei <alexandru.elisei@arm.com>

scripts/mkstandalone: Export $TARGET

$TARGET is needed for the test runner to decide if it should use qemu or
kvmtool, so export it.

Reviewed-by: Andrew Jones <andrew.jones@linux.dev>
Reviewed-by:

scripts/mkstandalone: Export $TARGET

$TARGET is needed for the test runner to decide if it should use qemu or
kvmtool, so export it.

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 ...

4bf367d925-Jun-2025 Alexandru Elisei <alexandru.elisei@arm.com>

scripts: Do not probe for maximum number of VCPUs when using kvmtool

The --probe-maxsmp parameter updates MAX_SMP with the maximum number of
VCPUs that the host supports. Qemu will exit with an erro

scripts: Do not probe for maximum number of VCPUs when using kvmtool

The --probe-maxsmp parameter updates MAX_SMP with the maximum number of
VCPUs that the host supports. Qemu will exit with an error when creating a
virtual machine if the number of VCPUs is exceeded.

kvmtool behaves differently: it will automatically limit the number of
VCPUs to the what KVM supports, which is exactly what --probe-maxsmp wants
to achieve. When doing --probe-maxsmp with kvmtool, print a message
explaining why it's redundant and don't do anything else.

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 ...

34940cc925-Jun-2025 Alexandru Elisei <alexandru.elisei@arm.com>

scripts: Detect kvmtool failure in premature_failure()

kvm-unit-tests assumes that if the VMM is able to get to where it tries to
load the kernel, then the VMM and the configuration parameters will

scripts: Detect kvmtool failure in premature_failure()

kvm-unit-tests assumes that if the VMM is able to get to where it tries to
load the kernel, then the VMM and the configuration parameters will also
work for running the test. All of this is done in premature_failure().

Teach premature_failure() about the kvmtool's error message when it fails
to load the dummy kernel.

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 ...

ba64725f25-Jun-2025 Alexandru Elisei <alexandru.elisei@arm.com>

scripts: Add KVMTOOL environment variable for kvmtool binary path

kvmtool is often used for prototyping new features, and a developer might
not want to install it system-wide. Add a KVMTOOL environm

scripts: Add KVMTOOL environment variable for kvmtool binary path

kvmtool is often used for prototyping new features, and a developer might
not want to install it system-wide. Add a KVMTOOL environment variable to
make it easier for tests to use a binary not in $PATH.

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 ...

6eb072c225-Jun-2025 Alexandru Elisei <alexandru.elisei@arm.com>

scripts: Add default arguments for kvmtool

kvmtool, unless told otherwise, will do its best to make sure that a kernel
successfully boots in a virtual machine. It does things like automatically
crea

scripts: Add default arguments for kvmtool

kvmtool, unless told otherwise, will do its best to make sure that a kernel
successfully boots in a virtual machine. It does things like automatically
creating a rootfs and adding extra parameters to the kernel command line.
This is actively harmful to kvm-unit-tests, because some tests parse the
kernel command line and they will fail if they encounter the options added
by kvmtool.

Fortunately for us, kvmtool commit 5613ae26b998 ("Add --nodefaults command
line argument") addded the --nodefaults kvmtool parameter which disables
all the implicit virtual machine configuration that cannot be disabled by
using other parameters, like modifying the kernel command line. So always
use --nodefaults to allow a test to run.

kvmtool can also be too verbose when running a virtual machine, and this is
controlled by several parameters. Add those to the default kvmtool command
line to reduce this verbosity to a minimum.

Before:

$ vm run arm/selftest.flat --cpus 2 --mem 256 --params "setup smp=2 mem=256"
Info: # lkvm run -k arm/selftest.flat -m 256 -c 2 --name guest-5035
Unknown subtest

EXIT: STATUS=127
Warning: KVM compatibility warning.
virtio-9p device was not detected.
While you have requested a virtio-9p device, the guest kernel did not initialize it.
Please make sure that the guest kernel was compiled with CONFIG_NET_9P_VIRTIO=y enabled in .config.
Warning: KVM compatibility warning.
virtio-net device was not detected.
While you have requested a virtio-net device, the guest kernel did not initialize it.
Please make sure that the guest kernel was compiled with CONFIG_VIRTIO_NET=y enabled in .config.
Info: KVM session ended normally.

After:

$ vm run arm/selftest.flat --nodefaults --network mode=none --loglevel=warning --cpus 2 --mem 256 --params "setup smp=2 mem=256"
PASS: selftest: setup: smp: number of CPUs matches expectation
INFO: selftest: setup: smp: found 2 CPUs
PASS: selftest: setup: mem: memory size matches expectation
INFO: selftest: setup: mem: found 256 MB
SUMMARY: 2 tests

EXIT: STATUS=1

Note that KVMTOOL_DEFAULT_OPTS can be overwritten by an environment
variable with the same name, but it's not documented in the help string for
run_tests.sh. This has been done on purpose, since overwritting
KVMTOOL_DEFAULT_OPTS should only be necessary for debugging or development
purposes.

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 ...

db9c4e1c25-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 ...

bd93a9c625-Jun-2025 Alexandru Elisei <alexandru.elisei@arm.com>

scripts: Add 'kvmtool_params' to test definition

arm/arm64 supports running tests under kvmtool, but kvmtool's syntax for
running and configuring a virtual machine is different to qemu. To run
tests

scripts: Add 'kvmtool_params' to test definition

arm/arm64 supports running tests under kvmtool, but kvmtool's syntax for
running and configuring a virtual machine is different to qemu. To run
tests using the automated test infrastructure, add a new test parameter,
'kvmtool_params'. The parameter serves the exact purpose as 'qemu_params',
but using kvmtool's syntax.

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

show more ...

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

scripts: Use an associative array for qemu argument names

Move away from hardcoded qemu arguments and use instead an associative
array to get the needed arguments. This paves the way for adding kvmt

scripts: Use an associative array for qemu argument names

Move away from hardcoded qemu arguments and use instead an associative
array to get the needed arguments. This paves the way for adding kvmtool
support to the scripts, which has a different syntax for the same VM
configuration parameters.

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

show more ...

9fcec1db25-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 ...

a7794f1625-Jun-2025 Alexandru Elisei <alexandru.elisei@arm.com>

scripts: Add 'test_args' test definition parameter

kvm-unit-tests, on arm and arm64, is getting ready to support running all
the test automatically under kvmtool. Even though kvmtool has a different

scripts: Add 'test_args' test definition parameter

kvm-unit-tests, on arm and arm64, is getting ready to support running all
the test automatically under kvmtool. Even though kvmtool has a different
syntax for configuring and running a virtual machine, kvmtool and qemu have
in common the test arguments that are passed to the main() function.

Add a new test definition parameter, 'test_args', that contains only the
VMM-independent arguments that are passed to the main() function, with the
intention for the parameter to be used by both qemu and kvmtool, when
support for kvmtool is added.

Suggested-by: Andrew Jones <andrew.jones@linux.dev>
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 ...

3c2633e925-Jun-2025 Alexandru Elisei <alexandru.elisei@arm.com>

scripts: unittests.cfg: Rename 'extra_params' to 'qemu_params'

The arm and arm64 architectures can also be run with kvmtool, and work is
under way to have it supported by the run_tests.sh test runne

scripts: unittests.cfg: Rename 'extra_params' to 'qemu_params'

The arm and arm64 architectures can also be run with kvmtool, and work is
under way to have it supported by the run_tests.sh test runner. Not
suprisingly, kvmtool's syntax for running a virtual machine is different to
qemu's.

Add a new unittest parameter, 'qemu_params', with the goal to add a similar
parameter for kvmtool, when that's supported.

'extra_params' has been kept in the scripts as an alias for 'qemu_params'
to preserve compatibility with custom test definition, but it is expected
that going forward new tests will use 'qemu_params'.

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 ...

7f528c1b29-May-2025 Sean Christopherson <seanjc@google.com>

runtime: Skip tests if the target "kernel" file doesn't exist

Skip the test if its target kernel/test file isn't available so that
skipping a test that isn't supported for a given config doesn't req

runtime: Skip tests if the target "kernel" file doesn't exist

Skip the test if its target kernel/test file isn't available so that
skipping a test that isn't supported for a given config doesn't require
manually flagging the testcase in unittests.cfg. This fixes "failures"
on x86 with CONFIG_EFI=y due to some tests not being built for EFI, but
not being annotated in x86/unittests.cfg.

Alternatively, testcases could be marked noefi (or efi-only), but that'd
require more manual effort, and there's no obvious advantage to doing so.

Reviewed-by: Andrew Jones <andrew.jones@linux.dev>
Link: https://lore.kernel.org/r/20250529205820.3790330-1-seanjc@google.com
Signed-off-by: Sean Christopherson <seanjc@google.com>

show more ...

08db0f5c02-May-2025 Sean Christopherson <seanjc@google.com>

scripts: Search the entire string for the correct accelerator

Search the entire ACCEL string for the required accelerator as searching
for an exact match incorrectly rejects ACCEL when additional ac

scripts: Search the entire string for the correct accelerator

Search the entire ACCEL string for the required accelerator as searching
for an exact match incorrectly rejects ACCEL when additional accelerator
specific options are provided, e.g.

SKIP pmu (kvm only, but ACCEL=kvm,kernel_irqchip=on)

Signed-off-by: Sean Christopherson <seanjc@google.com>
Signed-off-by: Andrew Jones <andrew.jones@linux.dev>

show more ...

5f77b72d08-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 ...

b9423a4f17-Mar-2025 Clément Léger <cleger@rivosinc.com>

kbuild: Allow multiple asm-offsets file to be generated

In order to allow multiple asm-offsets files to generated the include
guard need to be different between these file. Add a asm_offset_name
mak

kbuild: Allow multiple asm-offsets file to be generated

In order to allow multiple asm-offsets files to generated the include
guard need to be different between these file. Add a asm_offset_name
makefile macro to obtain an uppercase name matching the original asm
offsets file.

Signed-off-by: Clément Léger <cleger@rivosinc.com>
Reviewed-by: Andrew Jones <andrew.jones@linux.dev>
Signed-off-by: Andrew Jones <andrew.jones@linux.dev>

show more ...


/kvm-unit-tests/.editorconfig
/kvm-unit-tests/.gitlab-ci.yml
/kvm-unit-tests/Makefile
/kvm-unit-tests/README.md
/kvm-unit-tests/arm/cstart.S
/kvm-unit-tests/arm/cstart64.S
/kvm-unit-tests/arm/fpu.c
/kvm-unit-tests/arm/pmu.c
/kvm-unit-tests/configure
/kvm-unit-tests/lib/arm/asm/arch_gicv3.h
/kvm-unit-tests/lib/arm/asm/assembler.h
/kvm-unit-tests/lib/arm/asm/gic-v2.h
/kvm-unit-tests/lib/arm/asm/gic-v3.h
/kvm-unit-tests/lib/arm/asm/gic.h
/kvm-unit-tests/lib/arm/asm/page.h
/kvm-unit-tests/lib/arm/asm/ptrace.h
/kvm-unit-tests/lib/arm/asm/sysreg.h
/kvm-unit-tests/lib/arm/asm/thread_info.h
/kvm-unit-tests/lib/arm/asm/timer.h
/kvm-unit-tests/lib/arm64/asm/arch_gicv3.h
/kvm-unit-tests/lib/arm64/asm/assembler.h
/kvm-unit-tests/lib/arm64/asm/page.h
/kvm-unit-tests/lib/arm64/asm/processor.h
/kvm-unit-tests/lib/arm64/asm/ptrace.h
/kvm-unit-tests/lib/arm64/asm/sysreg.h
/kvm-unit-tests/lib/asm-generic/page.h
/kvm-unit-tests/lib/auxinfo.h
/kvm-unit-tests/lib/cpumask.h
/kvm-unit-tests/lib/libcflat.h
/kvm-unit-tests/lib/libfdt/fdt.h
/kvm-unit-tests/lib/limits.h
/kvm-unit-tests/lib/linux/compiler.h
/kvm-unit-tests/lib/linux/const.h
/kvm-unit-tests/lib/memregions.h
/kvm-unit-tests/lib/on-cpus.c
/kvm-unit-tests/lib/on-cpus.h
/kvm-unit-tests/lib/powerpc/asm/hcall.h
/kvm-unit-tests/lib/powerpc/asm/processor.h
/kvm-unit-tests/lib/powerpc/asm/rtas.h
/kvm-unit-tests/lib/ppc64/asm/page.h
/kvm-unit-tests/lib/ppc64/asm/ptrace.h
/kvm-unit-tests/lib/ppc64/asm/vpa.h
/kvm-unit-tests/lib/rand.c
/kvm-unit-tests/lib/rand.h
/kvm-unit-tests/lib/report.c
/kvm-unit-tests/lib/riscv/asm-offsets.c
/kvm-unit-tests/lib/riscv/asm/asm.h
/kvm-unit-tests/lib/riscv/asm/bug.h
/kvm-unit-tests/lib/riscv/asm/csr.h
/kvm-unit-tests/lib/riscv/asm/io.h
/kvm-unit-tests/lib/riscv/asm/mmu.h
/kvm-unit-tests/lib/riscv/asm/page.h
/kvm-unit-tests/lib/riscv/asm/processor.h
/kvm-unit-tests/lib/riscv/asm/sbi.h
/kvm-unit-tests/lib/riscv/asm/setup.h
/kvm-unit-tests/lib/riscv/asm/stack.h
/kvm-unit-tests/lib/riscv/asm/timer.h
/kvm-unit-tests/lib/riscv/mmu.c
/kvm-unit-tests/lib/riscv/processor.c
/kvm-unit-tests/lib/riscv/sbi.c
/kvm-unit-tests/lib/riscv/setjmp.S
/kvm-unit-tests/lib/riscv/setup.c
/kvm-unit-tests/lib/riscv/smp.c
/kvm-unit-tests/lib/riscv/stack.c
/kvm-unit-tests/lib/riscv/timer.c
/kvm-unit-tests/lib/s390x/asm/arch_def.h
/kvm-unit-tests/lib/s390x/asm/cpacf.h
/kvm-unit-tests/lib/s390x/asm/facility.h
/kvm-unit-tests/lib/s390x/asm/sie-arch.h
/kvm-unit-tests/lib/s390x/sie-icpt.c
/kvm-unit-tests/lib/s390x/sie-icpt.h
/kvm-unit-tests/lib/s390x/sie.c
/kvm-unit-tests/lib/s390x/sie.h
/kvm-unit-tests/lib/s390x/snippet-exit.h
/kvm-unit-tests/lib/setjmp.h
/kvm-unit-tests/lib/stack.c
/kvm-unit-tests/lib/stack.h
/kvm-unit-tests/lib/x86/apic-defs.h
/kvm-unit-tests/lib/x86/apic.h
/kvm-unit-tests/lib/x86/asm/page.h
/kvm-unit-tests/lib/x86/atomic.h
/kvm-unit-tests/lib/x86/desc.c
/kvm-unit-tests/lib/x86/desc.h
/kvm-unit-tests/lib/x86/msr.h
/kvm-unit-tests/lib/x86/pmu.c
/kvm-unit-tests/lib/x86/processor.h
/kvm-unit-tests/lib/x86/setup.c
/kvm-unit-tests/lib/x86/smp.c
/kvm-unit-tests/lib/x86/smp.h
/kvm-unit-tests/powerpc/cstart64.S
/kvm-unit-tests/riscv/Makefile
/kvm-unit-tests/riscv/cstart.S
/kvm-unit-tests/riscv/run
/kvm-unit-tests/riscv/sbi-asm.S
/kvm-unit-tests/riscv/sbi-fwft.c
/kvm-unit-tests/riscv/sbi-tests.h
/kvm-unit-tests/riscv/sbi.c
/kvm-unit-tests/riscv/unittests.cfg
/kvm-unit-tests/s390x/Makefile
/kvm-unit-tests/s390x/cpu-sie.S
/kvm-unit-tests/s390x/cpu.S
/kvm-unit-tests/s390x/diag258.c
/kvm-unit-tests/s390x/edat.c
/kvm-unit-tests/s390x/pv-diags.c
/kvm-unit-tests/s390x/pv-icptcode.c
/kvm-unit-tests/s390x/pv-ipl.c
/kvm-unit-tests/s390x/sie-dat.c
/kvm-unit-tests/s390x/snippets/Makefile
/kvm-unit-tests/s390x/snippets/c/sie-dat.c
/kvm-unit-tests/s390x/snippets/c/stfle.c
/kvm-unit-tests/s390x/snippets/lib/snippet-exit.h
/kvm-unit-tests/s390x/stfle-sie.c
/kvm-unit-tests/s390x/unittests.cfg
asm-offsets.mak
/kvm-unit-tests/x86/Makefile.common
/kvm-unit-tests/x86/Makefile.i386
/kvm-unit-tests/x86/Makefile.x86_64
/kvm-unit-tests/x86/asyncpf.c
/kvm-unit-tests/x86/cstart.S
/kvm-unit-tests/x86/cstart64.S
/kvm-unit-tests/x86/debug.c
/kvm-unit-tests/x86/efi/efistart64.S
/kvm-unit-tests/x86/la57.c
/kvm-unit-tests/x86/lam.c
/kvm-unit-tests/x86/pcid.c
/kvm-unit-tests/x86/pmu.c
/kvm-unit-tests/x86/pmu_lbr.c
/kvm-unit-tests/x86/pmu_pebs.c
/kvm-unit-tests/x86/trampolines.S
/kvm-unit-tests/x86/unittests.cfg
/kvm-unit-tests/x86/vmx_tests.c
846737f026-Jul-2024 Nicholas Piggin <npiggin@gmail.com>

checkpatch support

This brings checkpatch.pl almost unchanged from linux.git, and adds it
to gitlab-ci using QEMU's check-patch.py script.

For now, warnings are not treated as errors until we get a

checkpatch support

This brings checkpatch.pl almost unchanged from linux.git, and adds it
to gitlab-ci using QEMU's check-patch.py script.

For now, warnings are not treated as errors until we get a feeling for
what warnings are useful.

Signed-off-by: Nicholas Piggin <npiggin@gmail.com>
Acked-by: Andrew Jones <andrew.jones@linux.dev>
Signed-off-by: Andrew Jones <andrew.jones@linux.dev>

show more ...


/kvm-unit-tests/.gitlab-ci.yml
/kvm-unit-tests/MAINTAINERS
/kvm-unit-tests/arm/Makefile.arm64
/kvm-unit-tests/arm/cstart.S
/kvm-unit-tests/arm/cstart64.S
/kvm-unit-tests/arm/fpu.c
/kvm-unit-tests/arm/selftest.c
/kvm-unit-tests/arm/unittests.cfg
/kvm-unit-tests/common/sieve.c
/kvm-unit-tests/configure
/kvm-unit-tests/docs/unittests.txt
/kvm-unit-tests/lib/arm/asm/arm-smccc.h
/kvm-unit-tests/lib/arm/asm/pgtable.h
/kvm-unit-tests/lib/arm/asm/psci.h
/kvm-unit-tests/lib/arm/psci.c
/kvm-unit-tests/lib/arm/setup.c
/kvm-unit-tests/lib/arm64/asm/arm-smccc.h
/kvm-unit-tests/lib/arm64/asm/esr.h
/kvm-unit-tests/lib/arm64/asm/processor.h
/kvm-unit-tests/lib/arm64/asm/sysreg.h
/kvm-unit-tests/lib/arm64/processor.c
/kvm-unit-tests/lib/asm-generic/page.h
/kvm-unit-tests/lib/libcflat.h
/kvm-unit-tests/lib/powerpc/asm/hcall.h
/kvm-unit-tests/lib/powerpc/asm/processor.h
/kvm-unit-tests/lib/powerpc/asm/reg.h
/kvm-unit-tests/lib/powerpc/asm/rtas.h
/kvm-unit-tests/lib/powerpc/asm/setup.h
/kvm-unit-tests/lib/powerpc/asm/smp.h
/kvm-unit-tests/lib/powerpc/io.c
/kvm-unit-tests/lib/powerpc/processor.c
/kvm-unit-tests/lib/powerpc/rtas.c
/kvm-unit-tests/lib/powerpc/setup.c
/kvm-unit-tests/lib/powerpc/smp.c
/kvm-unit-tests/lib/ppc64/asm-offsets.c
/kvm-unit-tests/lib/ppc64/asm/atomic.h
/kvm-unit-tests/lib/ppc64/asm/barrier.h
/kvm-unit-tests/lib/ppc64/asm/mmu.h
/kvm-unit-tests/lib/ppc64/asm/opal.h
/kvm-unit-tests/lib/ppc64/asm/page.h
/kvm-unit-tests/lib/ppc64/asm/pgtable-hwdef.h
/kvm-unit-tests/lib/ppc64/asm/pgtable.h
/kvm-unit-tests/lib/ppc64/mmu.c
/kvm-unit-tests/lib/ppc64/opal-calls.S
/kvm-unit-tests/lib/riscv/asm/csr.h
/kvm-unit-tests/lib/riscv/asm/delay.h
/kvm-unit-tests/lib/riscv/asm/processor.h
/kvm-unit-tests/lib/riscv/asm/sbi.h
/kvm-unit-tests/lib/riscv/asm/setup.h
/kvm-unit-tests/lib/riscv/asm/timer.h
/kvm-unit-tests/lib/riscv/delay.c
/kvm-unit-tests/lib/riscv/mmu.c
/kvm-unit-tests/lib/riscv/processor.c
/kvm-unit-tests/lib/riscv/sbi.c
/kvm-unit-tests/lib/riscv/setup.c
/kvm-unit-tests/lib/riscv/timer.c
/kvm-unit-tests/lib/s390x/io.c
/kvm-unit-tests/lib/s390x/uv.h
/kvm-unit-tests/lib/vmalloc.c
/kvm-unit-tests/lib/vmalloc.h
/kvm-unit-tests/lib/x86/apic.h
/kvm-unit-tests/lib/x86/asm/bitops.h
/kvm-unit-tests/lib/x86/desc.h
/kvm-unit-tests/lib/x86/pmu.h
/kvm-unit-tests/lib/x86/processor.h
/kvm-unit-tests/lib/x86/vm.h
/kvm-unit-tests/powerpc/Makefile.common
/kvm-unit-tests/powerpc/Makefile.ppc64
/kvm-unit-tests/powerpc/atomics.c
/kvm-unit-tests/powerpc/cstart64.S
/kvm-unit-tests/powerpc/interrupts.c
/kvm-unit-tests/powerpc/mmu.c
/kvm-unit-tests/powerpc/run
/kvm-unit-tests/powerpc/selftest.c
/kvm-unit-tests/powerpc/sieve.c
/kvm-unit-tests/powerpc/smp.c
/kvm-unit-tests/powerpc/sprs.c
/kvm-unit-tests/powerpc/timebase.c
/kvm-unit-tests/powerpc/tm.c
/kvm-unit-tests/powerpc/unittests.cfg
/kvm-unit-tests/riscv/Makefile
/kvm-unit-tests/riscv/sbi.c
/kvm-unit-tests/riscv/unittests.cfg
/kvm-unit-tests/s390x/Makefile
/kvm-unit-tests/s390x/mvpg.c
/kvm-unit-tests/s390x/selftest.c
/kvm-unit-tests/s390x/snippets/c/flat.lds.S
check-patch.py
checkpatch.pl
/kvm-unit-tests/x86/asyncpf.c
/kvm-unit-tests/x86/debug.c
/kvm-unit-tests/x86/msr.c
/kvm-unit-tests/x86/pmu.c
/kvm-unit-tests/x86/pmu_lbr.c
/kvm-unit-tests/x86/pmu_pebs.c
/kvm-unit-tests/x86/svm.h
/kvm-unit-tests/x86/svm_tests.c
/kvm-unit-tests/x86/unittests.cfg
/kvm-unit-tests/x86/vmexit.c
/kvm-unit-tests/x86/vmware_backdoors.c
/kvm-unit-tests/x86/vmx.c
/kvm-unit-tests/x86/vmx.h
/kvm-unit-tests/x86/vmx_tests.c
67bdbcff03-Jun-2024 Thomas Huth <thuth@redhat.com>

scripts/s390x: Fix the execution of the PV tests

Commit ccb37496 ("scripts: allow machine option to be specified in
unittests.cfg") added an additonal parameter (the "machine"), but
we forgot to add

scripts/s390x: Fix the execution of the PV tests

Commit ccb37496 ("scripts: allow machine option to be specified in
unittests.cfg") added an additonal parameter (the "machine"), but
we forgot to add it to the spot that runs the PV test cases, so
those are currently broken without this fix.

Fixes: ccb37496 ("scripts: allow machine option to be specified in unittests.cfg")
Message-ID: <20240603075944.150445-1-thuth@redhat.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>

show more ...

f3393cdc04-May-2024 Nicholas Piggin <npiggin@gmail.com>

scripts: Accommodate powerpc powernv machine differences

The QEMU powerpc powernv machine has minor differences that must be
accommodated for in output parsing:

- Summary parsing must search more l

scripts: Accommodate powerpc powernv machine differences

The QEMU powerpc powernv machine has minor differences that must be
accommodated for in output parsing:

- Summary parsing must search more lines of output for the summary
line, to accommodate OPAL message on shutdown.
- Premature failure testing must tolerate case differences in kernel
load error message.

Acked-by: Thomas Huth <thuth@redhat.com>
Signed-off-by: Nicholas Piggin <npiggin@gmail.com>
Message-ID: <20240504122841.1177683-9-npiggin@gmail.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>

show more ...

ccb3749604-May-2024 Nicholas Piggin <npiggin@gmail.com>

scripts: allow machine option to be specified in unittests.cfg

This allows different machines with different requirements to be
supported by run_tests.sh, similarly to how different accelerators
are

scripts: allow machine option to be specified in unittests.cfg

This allows different machines with different requirements to be
supported by run_tests.sh, similarly to how different accelerators
are handled.

Acked-by: Andrew Jones <andrew.jones@linux.dev>
Signed-off-by: Nicholas Piggin <npiggin@gmail.com>
Message-ID: <20240504122841.1177683-8-npiggin@gmail.com>
[thuth: Adjusted code in scripts/s390x/func.bash for the changes]
Signed-off-by: Thomas Huth <thuth@redhat.com>

show more ...

a481914f02-May-2024 Andrew Jones <andrew.jones@linux.dev>

runtime: Adjust probe_maxsmp for older QEMU

probe_maxsmp is really just for Arm and for older QEMU which doesn't
default to gicv3. So, even though later QEMU has a new error message
format, we want

runtime: Adjust probe_maxsmp for older QEMU

probe_maxsmp is really just for Arm and for older QEMU which doesn't
default to gicv3. So, even though later QEMU has a new error message
format, we want to be able to parse the old error message format in
order to use --probe-maxsmp when necessary. Adjust the parsing so it
can handle both the old and new formats.

Fixes: 5dd20ec76ea6 ("runtime: Update MAX_SMP probe")
Reviewed-by: Thomas Huth <thuth@redhat.com>
Signed-off-by: Andrew Jones <andrew.jones@linux.dev>

show more ...

3df129a601-May-2024 Nicholas Piggin <npiggin@gmail.com>

shellcheck: Suppress various messages

Various info and warnings are suppressed here, where circumstances
(commented) warrant.

Reviewed-by: Andrew Jones <andrew.jones@linux.dev>
Signed-off-by: Nicho

shellcheck: Suppress various messages

Various info and warnings are suppressed here, where circumstances
(commented) warrant.

Reviewed-by: Andrew Jones <andrew.jones@linux.dev>
Signed-off-by: Nicholas Piggin <npiggin@gmail.com>
Signed-off-by: Andrew Jones <andrew.jones@linux.dev>

show more ...

b3a1827e01-May-2024 Nicholas Piggin <npiggin@gmail.com>

shellcheck: Fix SC2294

SC2294 (warning): eval negates the benefit of arrays. Drop eval to
preserve whitespace/symbols (or eval as string).

No bug identified.

Reviewed-by: Andrew Jones <andrew.

shellcheck: Fix SC2294

SC2294 (warning): eval negates the benefit of arrays. Drop eval to
preserve whitespace/symbols (or eval as string).

No bug identified.

Reviewed-by: Andrew Jones <andrew.jones@linux.dev>
Signed-off-by: Nicholas Piggin <npiggin@gmail.com>
Signed-off-by: Andrew Jones <andrew.jones@linux.dev>

show more ...

12345678