Eduardo Habkost <ehabkost@xxxxxxxxxx> writes: > CCing qemu-devel. > > CCing Markus, in case he has any insights about the interface > introspection. > > On Tue, Nov 15, 2016 at 08:42:12AM +0100, Jiri Denemark wrote: >> On Mon, Nov 14, 2016 at 18:02:29 -0200, Eduardo Habkost wrote: >> > On Mon, Nov 14, 2016 at 02:26:03PM -0500, Collin L. Walling wrote: >> > > cpu features are passed to the qemu command with feature=on/off >> > > instead of +/-feature. >> > > >> > > Signed-off-by: Collin L. Walling <walling@xxxxxxxxxxxxxxxxxx> >> > >> > If I'm not mistaken, the "feature=on|off" syntax was added on >> > QEMU 2.0.0. Does current libvirt support older QEMU versions? >> >> Of course it does. I'd love to switch to feature=on|off, but how can we >> check if QEMU supports it? We can't really start using this syntax >> without it. > > Actually, I was wrong, this was added in v2.4.0. "feat=on|off" > needs two things to work (in x86): > > * Translation of all "foo=bar" options to QOM property setting. > This was added in v2.0.0-rc0~162^2 > * The actual QOM properties for feature names to be present. They > were added in v2.4.0-rc0~101^2~1 > > So you can be sure "feat=on" is supported by checking if the > feature flags are present in device-list-properties output for > the CPU model. But device-list-properties is also messy[1]. > > Maybe we can use the availability of query-cpu-model-expansion to > check if we can safely use the new "feat=on|off" system? It's > easier than taking all the variables above into account. > > --- > > [1] * device-list-properties support for x86 CPU QOM classes > will be in QEMU 2.8. > * device-list-properties on x86 CPU QOM classes returns > an error on QEMU 2.5-2.7. > * device-list-properties on x86 CPU classes may crash QEMU in > QEMU older than 2.5 (see commit 4c315c27). > But: > * query-cpu-definitions will probably return the CPU QOM > typename in QEMU 2.9+ only. In other words: * feature=on|off works since 2.4, but what's the best way to probe for it? * device-list-properties can act as a witness, but there are two problems: you need to map between CPU model and QOM typename to use it, and it can fail or even crash before 2.8. * 2.9 will take provide the information to map between CPU model and QOM typename. I guess the sane choice is to probe for the CPU model - QOM typename mapping information, and if it's there, assume device-list-properties and feature=on|off work. Eduardo, what do you think? -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list