On Wed, Nov 23, 2022 at 13:35:42 +0000, John Levon wrote: > On Wed, Nov 23, 2022 at 02:12:59PM +0100, Jiri Denemark wrote: > > > Not to mention that QEMU changed names of several features and even deprecated > > the old spellings which is completely transparent to libvirt users as they can > > still use the old names no matter what version of QEMU they use. This is one > > of the key benefits of libvirt. > > It's certainly very unfortunate that qemu did that (and we are still paying the > price for the arch-facilities/arch-capabilities thing). If I'm reading your > email right, you're saying that libvirt is (trying to?) move in a direction > where instead of having say src/cpu_map/x86_Icelake-Client.xml That's mostly where I hope we can get. I'd love to see CPU models being probed dynamically from QEMU. And especially the details of each CPU models, i.e., what features it's going to enable. Well, for proper host CPU detection we will still most likely need to have a mapping between CPU signatures and models, but this is unrelated to the issue we're discussing in the thread. > instead there is a very minimal layer that knows that some qemu > feature got renamed, and is effectively just a filter "papering over" > such qemu issues. This depends on what you mean by a very minimal layer :-) See below... > And in particular it's no longer the case that every single cpu model, > cpu model version (needs commits to both qemu and libvirt) Yes, I hope so. > and cpu feature needs commits to both qemu and libvirt No, libvirt will still need each CPU feature to be added explicitly. But this is pretty much a non issue. Defining a new feature is fast and simple (well, unless Intel invents yet another way of advertising supported features) and the features never change. > and they must be in sync. Features need to be in sync, but CPU models do not (and of course, there's even nothing to sync if we probe the definition in runtime). > I'm presuming this will also mean plumbing through qemu model versions > too, as that's an essential part I think. Right. Jirka