Paolo Bonzini <pbonz...@redhat.com> writes:
> On 5/9/23 12:00, Peter Maydell wrote: >> On Tue, 9 May 2023 at 10:42, Paolo Bonzini <pbonz...@redhat.com> wrote: >>> >>> On 5/9/23 11:27, Peter Maydell wrote: >>>> On Mon, 8 May 2023 at 23:24, Paolo Bonzini <pbonz...@redhat.com> wrote: >>>>> --without-default-devices is not about choosing to not build >>>>> some devices; it is about making non-selected devices opt-in >>>>> rather than opt-out. >>>> >>>> Hmm, so it's basically "the person doing the configuration needs >>>> to know what they're doing, the Kconfig system will give them >>>> no hints about what devices might or might not be needed to >>>> make machine type M functional" ? >>> >>> It depends on what you mean by functional. I would say you do get what >>> is needed to have a functional machine, but not what is needed to have a >>> useful machine. >> If you need to pass '-nodefaults' to get the thing to start up at >> all, that seems to be stretching the definition of "functional" >> to me. > > Then, an accurate description that uses "functional" in that sense > could be as follows: > > The Kconfig system will include any devices and subsystems that are > mandatory for a given machine type, and will flag any configuration > conflicts. However, the person doing the configuration still needs to > know which devices are needed (on top of the mandatory ones) to obtain > a functional guest, and Kconfig will not provide any hints in this > respect. So I thought that was the model I was following in adding devices but it seems I don't understand the no-defaults behaviour. What is the difference between a device that is added in the machine.c that makes it required or expendable with -nodefaults? > > Paolo -- Alex Bennée Virtualisation Tech Lead @ Linaro