On 30/04/2020 11:03, Markus Armbruster wrote: > Peter Maydell <peter.mayd...@linaro.org> writes: > >> On Thu, 30 Apr 2020 at 08:09, Markus Armbruster <arm...@redhat.com> wrote: >>> Our means to configure onboard devices are weak. We sidestepped this >>> for isa-fdc by taking it off the board, and thus make -device work. >> >> This seems to be a general dynamic: the x86 pc machine works >> via -device options (or is changed so it can work that way); >> and then people propose dropping/deprecating/etc the config >> options that work with onboard devices, without providing >> clear solutions/instructions on how the command line needs >> to change/etc for the mass of boards which are not the x86 >> pc machine and which do have a lot of onboard devices which >> can't be handled via -device. >> >> So my gut reaction to the "we should deprecate -global" >> suggestions in this thread was a bit "here we go again"... >> What works for x86 or even "what is sufficient for libvirt" >> doesn't necessarily cover all the cases. > > Such shortsighted proposals have been made, but don't think it's what > we're doing here. > > You're 100% right in that we do need to configure onboard devices. > -global is a terrible way to do it, though: it applies to *all* devices > of a kind. What if the board has more than one? What if the can add > more? > > Taking onboard devices off the board can occasionally sidestep the > issue. For isa-fdc, we genuinely *wanted* to take the damn thing off, > because all it did for most users was provide them with VENOM. Not > needing -global for it anymore was just a nice bonus. > > Taking onboard devices off just to reduce the device configuration > problem to a solved one, namely -device, may be tempting (it was to me), > but it's too intrusive to be practical at scale. > > Adding machine properties that alias onboard device properties is less > intrusive. The ones I added were still a lot of work. > > Configuring onboard devices via machine properties restricts property > access to the ones we added to the machine. This differs from pluggable > devices, where users can access all properties. > > Any better ideas for letting users configure onboard devices?
Is it possible to let machine owners add alias properties to the machine object referencing in-built devices? I could then instantiate my on-board nic in the machine init() function, and then use object_property_add_alias() to add a "nic0" alias on the machine that can be used to wire it up to a netdev using the command line. ATB, Mark.