David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> writes: > On Fri, Jun 05, 2020 at 05:01:07PM -0300, Thiago Jung Bauermann wrote: >> >> Paolo Bonzini <pbonzini@xxxxxxxxxx> writes: >> >> > On 05/06/20 01:30, Thiago Jung Bauermann wrote: >> >> Paolo Bonzini <pbonzini@xxxxxxxxxx> writes: >> >>> On 04/06/20 23:54, Thiago Jung Bauermann wrote: >> >>>> QEMU could always create a PEF object, and if the command line defines >> >>>> one, it will correspond to it. And if the command line doesn't define one, >> >>>> then it would also work because the PEF object is already there. >> >>> >> >>> How would you start a non-protected VM? >> >>> Currently it's the "-machine" >> >>> property that decides that, and the argument requires an id >> >>> corresponding to "-object". >> >> >> >> If there's only one object, there's no need to specify its id. >> > >> > This answers my question. However, the property is defined for all >> > machines (it's in the "machine" class), so if it takes the id for one >> > machine it does so for all of them. >> >> I don't understand much about QEMU internals, so perhaps it's not >> practical to implement but from an end-user perspective I think this >> logic can apply to all architectures (since my understanding is that all >> of them use only one object): make the id optional. If it's not >> specified, then there must be only one object, and the property will >> implicitly refer to it. >> >> Then, if an architecture doesn't need to specify parameters at object >> creation time, it can be implicitly created and the user doesn't have to >> worry about this detail. > > Seems overly complicated to me. We could just have it always take an > ID, but for platforms with no extra configuration make the > pre-fabricated object available under a well-known name. > > That's essentially the same as the way you can add a device to the > "pci.0" bus without having to instantiate and name that bus yourself. Ok, that sounds good to me. -- Thiago Jung Bauermann IBM Linux Technology Center