Philippe Mathieu-Daudé <phi...@linaro.org> writes: > On 23/6/25 17:04, Alex Bennée wrote: >> Philippe Mathieu-Daudé <phi...@linaro.org> writes: >> >>> Signed-off-by: Philippe Mathieu-Daudé <phi...@linaro.org> >>> --- >>> tests/functional/test_aarch64_smmu.py | 12 +++++++++--- >>> 1 file changed, 9 insertions(+), 3 deletions(-) >>> >>> diff --git a/tests/functional/test_aarch64_smmu.py >>> b/tests/functional/test_aarch64_smmu.py >>> index c65d0f28178..e0f4a922176 100755 >>> --- a/tests/functional/test_aarch64_smmu.py >>> +++ b/tests/functional/test_aarch64_smmu.py >>> @@ -17,7 +17,7 @@ >>> from qemu_test import LinuxKernelTest, Asset, >>> exec_command_and_wait_for_pattern >>> from qemu_test import BUILD_DIR >>> -from qemu.utils import kvm_available >>> +from qemu.utils import kvm_available, hvf_available >>> class SMMU(LinuxKernelTest): >>> @@ -45,11 +45,17 @@ def set_up_boot(self, path): >>> self.vm.add_args('-device', 'virtio-net,netdev=n1' + >>> self.IOMMU_ADDON) >>> def common_vm_setup(self, kernel, initrd, disk): >>> - self.require_accelerator("kvm") >>> + if hvf_available(self.qemu_bin): >>> + accel = "hvf" >>> + elif kvm_available(self.qemu_bin): >>> + accel = "kvm" >>> + else: >>> + self.skipTest("Neither HVF nor KVM accelerator is available") >>> + self.require_accelerator(accel) >> I think this is fine so: >> Reviewed-by: Alex Bennée <alex.ben...@linaro.org> > > Thanks. > >> However I wonder if something like: >> hwaccel = self.require_hw_accelerator() >> Could fetch the appropriate platform accelerator for use in -accel >> bellow? > > Then we'd need to make it per-host arch, and I'm pretty sure hw > accelerators don't support the same features. So I'd expect a > rather painful experience. WDYT?
Aren't the features a function of the machine type rather than the host? Shouldn't an -M virt machine look the same on TCG, KVM and HVF regardless of the underlying accelerator? I guess there are cases like split-irqchip which affect the implementation but hopefully not the guest view of things. Do you have an example? -- Alex Bennée Virtualisation Tech Lead @ Linaro