On Wed, Jan 05, 2022 at 10:10:07AM +0000, Daniel P. Berrangé wrote: > On Tue, Jan 04, 2022 at 07:52:50PM +0100, Andrea Bolognani wrote: > > + if (hvf_machines[i] != NULL) { > > + for (j = 0; hvf_machines[i][j] != NULL; j++) { > > + virQEMUCapsAddMachine(tmpCaps, > > + VIR_DOMAIN_VIRT_HVF, > > + hvf_machines[i][j], > > + NULL, > > + NULL, > > + 0, > > + false, > > + false, > > + true, > > + defaultRAMid, > > + false); > > + virQEMUCapsSet(tmpCaps, QEMU_CAPS_HVF); > > + } > > + } > > IIUC this means in tests we're going to build capabilities that > indicate support for KVM and HVF at the same time. This is not > a scenario that applies in the real world, so I'm a little > uncomfortable with this. It is the simple option, though I > would prefer if the individual tests could express > > "gimme capabilities for linux" > > vs > > "gimme capabilities for macOS" > > Also relies on fact that we don't #ifdef any of the interesting > code in the QEMU driver related to KVM/HVF. Probably ok-ish > assumption in most cases, at least for unit tests. Yeah, ideally we'd have that and also real replies files taken from QEMU running on macOS, but I don't currently have a way to generate the latter and the former would take more development time. In the interest of unblocking macOS users who are currently unable to run hardware accelerated VMs through libvirt at all, I'm personally okay with cutting some corners and improving things later. What if I changed things so that both the HVF test cases and the testutilsqemu bit above are only built on macOS? We'd still have the weird mix of capabilities on that platform, but at least Linux would be unaffected. We run the test suite on macOS as part of our CI pipeline, so coverage wouldn't be any worse. -- Andrea Bolognani / Red Hat / Virtualization