On Mon, Jul 18, 2022 at 11:05:13AM +0100, Daniel P. Berrangé wrote: > On Tue, Jun 28, 2022 at 06:09:39PM +0200, Tim Wiederhake wrote: > > Create a function to query the hypervisor for its list of known CPU model > > names. This is different from virConnectGetCPUModelNames, as this new > > function will determine the list of CPU models (and alias names) at > > runtime. > > This is duplicating what we already report in the per-domain level > capabilities XML from virConnectGetDomainCapabilities. > > The original virConnectGetCPUModelNames pre-dated the addition > of virConnectGetDomainCapabilities. > > > Signed-off-by: Tim Wiederhake <twiederh@xxxxxxxxxx> > > --- > > include/libvirt/libvirt-host.h | 6 ++++ > > src/driver-hypervisor.h | 8 +++++ > > src/libvirt-host.c | 55 ++++++++++++++++++++++++++++++++++ > > src/libvirt_public.syms | 1 + > > 4 files changed, 70 insertions(+) > > > > diff --git a/include/libvirt/libvirt-host.h b/include/libvirt/libvirt-host.h > > index 3112f2b676..5aaa001adb 100644 > > --- a/include/libvirt/libvirt-host.h > > +++ b/include/libvirt/libvirt-host.h > > @@ -962,6 +962,12 @@ int virConnectGetCPUModelNames(virConnectPtr conn, > > char ***models, > > unsigned int flags); > > > > +int virConnectGetHypervisorCPUModelNames(virConnectPtr conn, > > + const char *arch, > > + char ***names, > > + char ***aliases, > > + unsigned int flags); > > For virConnectCompareHypervisorCPU, virConnectBaselineHypervisorCPU, > and virConnectGetDomainCapabilities, we take more than just the 'arch' > value: > > const char *emulator, > const char *arch, > const char *machine, > const char *virttype, > > because we need all 4 of those pieces of information to accurately > determine what qemu-system-XXXX binary we're going to select. > > If we do still want to add virConnectGetHypervisorCPUModelNames > despite having the info on virConnectGetDomainCapabilities, we > should take the full set of params. > > I guess adding the new API isn't too costly Now I've read forward in the series, I see that there is no update to virConnectGetDomainCapabilities. I would expect that to be updated to reflect the alias information, as well as exposing the same list of CPUs as this new API. With regards, Daniel -- |: https://berrange.com -o- https://www.flickr.com/photos/dberrange :| |: https://libvirt.org -o- https://fstop138.berrange.com :| |: https://entangle-photo.org -o- https://www.instagram.com/dberrange :|