On Tue, Jan 19, 2021 at 04:28:26PM +0000, Daniel P. Berrangé wrote: > On Tue, Jan 19, 2021 at 02:22:05PM +0000, David Edmondson wrote: > > Currently "-cpu -feature,+feature" will disable -feature, which seems > > contrary to the intention of the user. Fix this such that the later > > flag wins. There are no changes to the interaction of +/- and =on/=off. > > The -feature/+feature syntax is the legacy way of configuring > features, with feature=on|off being the preferred, since that matches > the general QEMU standard for boolean properties. > > Your proposed change in ordering of + vs - makes conceptual sense, but > it is none the less a semantic change in behaviour that may well cause > breakage for existing deployed VMs. This impacts guest ABI so could > particularly cause live migration problems. > > IOW, we should have implemented it the way you propose in the first > place, but I don't think it is safe to change it now, unless you can > tie that new semantic to a machine type version. > > Before we consider that though, Paolo has just deprecated many of the > legacy approaches for boolean properties in this: > > https://lists.nongnu.org/archive/html/qemu-devel/2021-01/msg04341.html > > I'm inclined to say that we just follow on from that and finally > deprecate the +feature/-feature CPU syntax which we're already considering > legacy. This would remove the need to care about changing its behaviour
I believe we had multiple proposal in the past do deprecate +feature/-feature, but there were objections. I couldn't find the original threads, though. In either case, I thought we had already deprecated the weird ordering rules of "-feature,+feature". -- Eduardo