> I assume Igor explained it, already, and his suggestion sounds OK > to you. But I will answer your questions to confirm that this is > really the case:
Yes, this all sounds good to me, thanks for the additional explanation! [...] > > > > > d) has to work for us. Otherwise we will have to fallback to manual > > property parsing. > > It will be affected by the globals, but I assume management code > is not going to use add extra -cpu arguments when probing for CPU > model information, right? Yes, that's also what I figured out, this should not be a problem. > > Users will need to be aware that -cpu is equivalent to -global, > and will affect CPU information returned by query-cpu-definitions > (or similar commands). > > > > > > > > > If all you need is to parse properties, why can't you reuse the > > > existing QOM/Device mechanisms to handle properties (the one used > > > by -device and device_add), instead of the -cpu code? > > > > We can, if my given example works. And the global properties > > don't interfere with cpus. > > They do, but only the model specified in -cpu. > > > > > > > > > We need to use less of the infrastructure that exists for the > > > legacy -cpu option (and use more of the generic QOM/Device > > > mechanisms), not more of it. > > > > It is better to have one way of creating cpus that two. > > Unfortunately we already have two ways of creating CPUs: -cpu and > device_add. We are trying to translate -cpu to something > equivalent to generic mechanisms (-device and -global), so we > have only one underlying mechanism. Yes, understood. Sounds sane to me! [...] > I understand that this may be confusing, but that's because -smp > and -cpu don't fit the QEMU device/object models. We are moving > towards allowing CPU topologies to be created using only -device. > > To do that, we are gradually translating -cpu to the generic > mechanisms used by -device/-global, so command-line options could > be easily converted to use the new mechanisms in the future. > > Does that make sense? > Absolutely! David