* [kvm-unit-tests PATCH v2 0/2] x86: Make ACCEL_PROPS work
@ 2026-09-29 20:24 Xiaoyao Li
2026-09-29 20:24 ` [kvm-unit-tests PATCH v2 1/2] x86: Make cet and lam tests KVM-only Xiaoyao Li
` (2 more replies)
0 siblings, 3 replies; 6+ messages in thread
From: Xiaoyao Li @ 2026-09-29 20:24 UTC (permalink / raw)
To: Paolo Bonzini, Sean Christopherson; +Cc: kvm, xiaoyao.li
The goal of this series is to make ACCEL_PROPS work, which needs to use
separate "-accel" parameter to configure the accelerator instead of
"-machine accel=xxx".
Changes in v2:
- Add patch 1 to resolve the incompatibility between "-enable-kvm" and
separate "-accel".
Xiaoyao Li (2):
x86: Make cet and lam tests KVM-only
x86/run: Use separate "-accel" option to configure the accelerator
x86/run | 2 +-
x86/unittests.cfg | 6 ++++--
2 files changed, 5 insertions(+), 3 deletions(-)
--
2.53.0
^ permalink raw reply [flat|nested] 6+ messages in thread
* [kvm-unit-tests PATCH v2 1/2] x86: Make cet and lam tests KVM-only
2026-09-29 20:24 [kvm-unit-tests PATCH v2 0/2] x86: Make ACCEL_PROPS work Xiaoyao Li
@ 2026-09-29 20:24 ` Xiaoyao Li
2026-09-29 20:24 ` [kvm-unit-tests PATCH v2 2/2] x86/run: Use separate "-accel" option to configure the accelerator Xiaoyao Li
2026-10-02 21:07 ` [kvm-unit-tests PATCH v2 0/2] x86: Make ACCEL_PROPS work Sean Christopherson
2 siblings, 0 replies; 6+ messages in thread
From: Xiaoyao Li @ 2026-09-29 20:24 UTC (permalink / raw)
To: Paolo Bonzini, Sean Christopherson; +Cc: kvm, xiaoyao.li
Passing "-enable-kvm" in qemu_params forces tests to run with kvm
accelerator. This leads cet and lam tests to run with kvm accelerator
silently without any warning even when "ACCEL=tcg" is passed. Change to
require "accel = kvm" for cet and lam tests so that they can be skipped:
SKIP cet (kvm only, but ACCEL=tcg)
SKIP lam (kvm only, but ACCEL=tcg)
when "ACCEL=tcg" is passed.
As a bouns, removing the use of "-enable-kvm" will allow pass $ACCEL and
$ACCEL_PROPS to the standalone "-accel" QEMU parameter, since QEMU
translates "-enable-kvm" to "-machine accel=kvm", which is not
compatbile with "-accel" parameter:
qemu: The -accel and "-machine accel=" options are incompatible
Signed-off-by: Xiaoyao Li <xiaoyao.li@intel.com>
---
x86/unittests.cfg | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/x86/unittests.cfg b/x86/unittests.cfg
index ae731a93dc7a..afc0f7128c03 100644
--- a/x86/unittests.cfg
+++ b/x86/unittests.cfg
@@ -535,9 +535,11 @@ groups = tsx-ctrl
file = cet.flat
arch = x86_64
smp = 2
-qemu_params = -enable-kvm -m 2048 -cpu host
+accel = kvm
+qemu_params = -m 2048 -cpu host
[lam]
file = lam.flat
arch = x86_64
-qemu_params = -enable-kvm -cpu max
+accel = kvm
+qemu_params = -cpu max
--
2.53.0
^ permalink raw reply related [flat|nested] 6+ messages in thread
* [kvm-unit-tests PATCH v2 2/2] x86/run: Use separate "-accel" option to configure the accelerator
2026-09-29 20:24 [kvm-unit-tests PATCH v2 0/2] x86: Make ACCEL_PROPS work Xiaoyao Li
2026-09-29 20:24 ` [kvm-unit-tests PATCH v2 1/2] x86: Make cet and lam tests KVM-only Xiaoyao Li
@ 2026-09-29 20:24 ` Xiaoyao Li
2026-09-30 0:52 ` Sean Christopherson
2026-10-02 21:07 ` [kvm-unit-tests PATCH v2 0/2] x86: Make ACCEL_PROPS work Sean Christopherson
2 siblings, 1 reply; 6+ messages in thread
From: Xiaoyao Li @ 2026-09-29 20:24 UTC (permalink / raw)
To: Paolo Bonzini, Sean Christopherson; +Cc: kvm, xiaoyao.li
When configuring accelerator via machine's "accel" property, it cannot
pass additional ACCEL_PROPS. For example, it hits following error when
configuring KVM with "notify-vmexit":
# ACCEL="kvm,notify-vmexit=internal-error" ./x86-run x86/apic.c
# qemu-system-x86_64: Property 'pc-i440fx-11.1-machine.notify-vmexit' not found
Switch to use separate "-accel" option to configure the accelerator.
Signed-off-by: Xiaoyao Li <xiaoyao.li@intel.com>
---
x86/run | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/x86/run b/x86/run
index dd38f14c871f..a68d469dd1b8 100755
--- a/x86/run
+++ b/x86/run
@@ -43,7 +43,7 @@ fi
pit="-global kvm-pit.lost_tick_policy=discard"
command="${qemu} --no-reboot -nodefaults $pit $pc_testdev -display none -serial stdio $pci_testdev"
-command+=" -machine accel=$ACCEL$ACCEL_PROPS"
+command+=" -accel $ACCEL$ACCEL_PROPS"
if [ "${CONFIG_EFI}" != y ]; then
command+=" -kernel"
fi
--
2.53.0
^ permalink raw reply related [flat|nested] 6+ messages in thread
* Re: [kvm-unit-tests PATCH v2 2/2] x86/run: Use separate "-accel" option to configure the accelerator
2026-09-29 20:24 ` [kvm-unit-tests PATCH v2 2/2] x86/run: Use separate "-accel" option to configure the accelerator Xiaoyao Li
@ 2026-09-30 0:52 ` Sean Christopherson
2026-09-30 14:49 ` Xiaoyao Li
0 siblings, 1 reply; 6+ messages in thread
From: Sean Christopherson @ 2026-09-30 0:52 UTC (permalink / raw)
To: Xiaoyao Li; +Cc: Paolo Bonzini, kvm
On Tue, Sep 29, 2026, Xiaoyao Li wrote:
> When configuring accelerator via machine's "accel" property, it cannot
> pass additional ACCEL_PROPS. For example, it hits following error when
> configuring KVM with "notify-vmexit":
>
> # ACCEL="kvm,notify-vmexit=internal-error" ./x86-run x86/apic.c
> # qemu-system-x86_64: Property 'pc-i440fx-11.1-machine.notify-vmexit' not found
>
> Switch to use separate "-accel" option to configure the accelerator.
FYI, this breaks the intel_iommu test when running with ACCEL="kvm,kernel-irqchip=on"
because that's a split-only test:
qemu_params = -M q35,kernel-irqchip=split -device intel-iommu,intremap=on,eim=off -device edu
and QEMU doesn't munge things together:
qemu: -device intel-iommu,intremap=on,eim=off: Interrupt Remapping cannot work with kernel-irqchip=on, please use 'split|off'.
Given that I'm pretty sure I'm literally the only person the world that runs KUT
with ACCEL="kvm,kernel-irqchip=on", I'm going to apply this as-is. I can filter
out the failures very easily, and unlike the CET/LAM issue, this doesn't cause
problems for ACCEL="kvm,kernel-irqchip=split", i.e. there's no loss in coverage.
If this impacts someone else, or someone really wants to figure out how to splice
all of this together, I'm happy to revisit things. For now, I just want to
unblock the notify-vmexit stuff.
> Signed-off-by: Xiaoyao Li <xiaoyao.li@intel.com>
> ---
> x86/run | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/x86/run b/x86/run
> index dd38f14c871f..a68d469dd1b8 100755
> --- a/x86/run
> +++ b/x86/run
> @@ -43,7 +43,7 @@ fi
> pit="-global kvm-pit.lost_tick_policy=discard"
>
> command="${qemu} --no-reboot -nodefaults $pit $pc_testdev -display none -serial stdio $pci_testdev"
> -command+=" -machine accel=$ACCEL$ACCEL_PROPS"
> +command+=" -accel $ACCEL$ACCEL_PROPS"
> if [ "${CONFIG_EFI}" != y ]; then
> command+=" -kernel"
> fi
> --
> 2.53.0
>
>
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [kvm-unit-tests PATCH v2 2/2] x86/run: Use separate "-accel" option to configure the accelerator
2026-09-30 0:52 ` Sean Christopherson
@ 2026-09-30 14:49 ` Xiaoyao Li
0 siblings, 0 replies; 6+ messages in thread
From: Xiaoyao Li @ 2026-09-30 14:49 UTC (permalink / raw)
To: Sean Christopherson; +Cc: Paolo Bonzini, kvm
On 9/30/2026 8:52 AM, Sean Christopherson wrote:
> On Tue, Sep 29, 2026, Xiaoyao Li wrote:
>> When configuring accelerator via machine's "accel" property, it cannot
>> pass additional ACCEL_PROPS. For example, it hits following error when
>> configuring KVM with "notify-vmexit":
>>
>> # ACCEL="kvm,notify-vmexit=internal-error" ./x86-run x86/apic.c
>> # qemu-system-x86_64: Property 'pc-i440fx-11.1-machine.notify-vmexit' not found
>>
>> Switch to use separate "-accel" option to configure the accelerator.
>
> FYI, this breaks the intel_iommu test when running with ACCEL="kvm,kernel-irqchip=on"
> because that's a split-only test:
>
> qemu_params = -M q35,kernel-irqchip=split -device intel-iommu,intremap=on,eim=off -device edu
>
> and QEMU doesn't munge things together:
>
> qemu: -device intel-iommu,intremap=on,eim=off: Interrupt Remapping cannot work with kernel-irqchip=on, please use 'split|off'.
Because before this patch, the final QEMU command with
ACCEL="kvm,kernel-irqchip=on" is
... -machine accel=kvm,kernel-irqchip=on -kernel x86/intel-iommu.flat -smp 4
-M q35,kernel-irqchip=split -device intel-iommu,intremap=on,eim=off -device edu
ACCEL="kvm,kernel-irqchip=on" is made into the first "-machine
accel=kvm,kernel-irqchip=on" and qemu_params is put at the end, which has "-M
q35,kernel-irqchip=split". So the later "-M q35,kernel-irqchip=split" overrides
the earlier "kernel-irqchip=on" and it actually runs with kenrnel-irqchip=split.
But after this patch, the QEMU command becomes
... -accel kvm,kernel-irqchip=on -kernel x86/intel-iommu.flat -smp 4 -M
q35,kernel-irqchip=split -device intel-iommu,intremap=on,eim=off -device edu
though "-M q35,kernel-irqchip=split" is put behind "-accel
kvm,kernel-irqchip=on", QEMU applies "-accel" after "machine's kernel-irqchip".
So the final kernel-irqchip=on, which leads to the failure of Interrupt Remapping.
> Given that I'm pretty sure I'm literally the only person the world that runs KUT
> with ACCEL="kvm,kernel-irqchip=on", I'm going to apply this as-is. I can filter
> out the failures very easily, and unlike the CET/LAM issue, this doesn't cause
> problems for ACCEL="kvm,kernel-irqchip=split", i.e. there's no loss in coverage.
>
> If this impacts someone else, or someone really wants to figure out how to splice
> all of this together, I'm happy to revisit things. For now, I just want to
> unblock the notify-vmexit stuff.
>
>> Signed-off-by: Xiaoyao Li <xiaoyao.li@intel.com>
>> ---
>> x86/run | 2 +-
>> 1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/x86/run b/x86/run
>> index dd38f14c871f..a68d469dd1b8 100755
>> --- a/x86/run
>> +++ b/x86/run
>> @@ -43,7 +43,7 @@ fi
>> pit="-global kvm-pit.lost_tick_policy=discard"
>>
>> command="${qemu} --no-reboot -nodefaults $pit $pc_testdev -display none -serial stdio $pci_testdev"
>> -command+=" -machine accel=$ACCEL$ACCEL_PROPS"
>> +command+=" -accel $ACCEL$ACCEL_PROPS"
>> if [ "${CONFIG_EFI}" != y ]; then
>> command+=" -kernel"
>> fi
>> --
>> 2.53.0
>>
>>
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [kvm-unit-tests PATCH v2 0/2] x86: Make ACCEL_PROPS work
2026-09-29 20:24 [kvm-unit-tests PATCH v2 0/2] x86: Make ACCEL_PROPS work Xiaoyao Li
2026-09-29 20:24 ` [kvm-unit-tests PATCH v2 1/2] x86: Make cet and lam tests KVM-only Xiaoyao Li
2026-09-29 20:24 ` [kvm-unit-tests PATCH v2 2/2] x86/run: Use separate "-accel" option to configure the accelerator Xiaoyao Li
@ 2026-10-02 21:07 ` Sean Christopherson
2 siblings, 0 replies; 6+ messages in thread
From: Sean Christopherson @ 2026-10-02 21:07 UTC (permalink / raw)
To: Sean Christopherson, Paolo Bonzini, Xiaoyao Li; +Cc: kvm
On Tue, 29 Sep 2026 20:24:32 +0000, Xiaoyao Li wrote:
> The goal of this series is to make ACCEL_PROPS work, which needs to use
> separate "-accel" parameter to configure the accelerator instead of
> "-machine accel=xxx".
>
> Changes in v2:
> - Add patch 1 to resolve the incompatibility between "-enable-kvm" and
> separate "-accel".
>
> [...]
Applied to kvm-x86 next, with massaged changelogs (typos, and calling out
the kernel_irqchip => kernel-irqchip quirk). Thanks!
[1/2] x86: Make cet and lam tests KVM-only
https://github.com/kvm-x86/kvm-unit-tests/commit/efb3e010b96a
[2/2] x86/run: Use separate "-accel" option to configure the accelerator
https://github.com/kvm-x86/kvm-unit-tests/commit/69ab2df8fa28
--
https://github.com/kvm-x86/kvm-unit-tests/tree/next
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2026-10-02 21:10 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-09-29 20:24 [kvm-unit-tests PATCH v2 0/2] x86: Make ACCEL_PROPS work Xiaoyao Li
2026-09-29 20:24 ` [kvm-unit-tests PATCH v2 1/2] x86: Make cet and lam tests KVM-only Xiaoyao Li
2026-09-29 20:24 ` [kvm-unit-tests PATCH v2 2/2] x86/run: Use separate "-accel" option to configure the accelerator Xiaoyao Li
2026-09-30 0:52 ` Sean Christopherson
2026-09-30 14:49 ` Xiaoyao Li
2026-10-02 21:07 ` [kvm-unit-tests PATCH v2 0/2] x86: Make ACCEL_PROPS work Sean Christopherson
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.