Il 27/08/2013 01:17, Peter Maydell ha scritto:
> On 26 August 2013 23:33, Paolo Bonzini <pbonz...@redhat.com> wrote:
>> Il 26/08/2013 19:30, Richard Henderson ha scritto:
>>> This isn't the kernel, where non-pagable code size is a concern, so I don't 
>>> see
>>> how full configuration of machine emulations and devices is helpful.  I'd be
>>> more inclined to go the other way, where all qemu-system-cpu images always
>>> build in all devices (compiled once of course).
>>
>> This is useful for different usecases.  One is QEMU that is bundled into
>> development platform such as the Android emulator.  Making it easier to
>> build limited versions of QEMU is one small step towards encouraging
>> working in-tree instead of having out-of-tree patches which quickly
>> become forks.
> 
> I simply don't believe that this is anything remotely approaching a
> major reason why the Android emulator is out of tree, or that merging
> this patchset would have any visible effect in moving the Android emulator
> into the tree. Anybody from Google is of course welcome to contradict me
> on this point.

No, it's not anything remotely approaching a major reason.  But still,
modifying default-configs/ is one of the out-of-tree patches that any
external emulator has to include.

>> The second is in distros that only want to distribute the subset of
>> features that are going to be supported (aka RHEL).  This includes both
>> devices (all of PCI, ISA, USB) and boards (-M isapc is removed nowadays,
>> perhaps one day goldfish or similar will be available too; for ARM and
>> PPC we surely would want to compile out almost all the boards).
> 
> Hrm. Yeah, I can see the security argument for wanting a very
> stripped down build for the KVM/production use.
> 
>> The third is that in the future some of the devices could be compiled as
>> modules, too.  This would help the "other" set of distros, those that
>> include everything.  QEMU now has an insane set of dependencies, and
>> having modules for e.g. SPICE or RBD or Gluster would help making them
>> optional.
> 
> I thought the plan was to address that by having a module system,
> not by having a huge config system. You still build everything all
> at once, you just split the binaries/shared objects you ship as a
> distro into multiple packages.

Sure.  But the above stripped-down build might just as well be
monolithic, so you need to configure what is a module and what is not.

>> Note that the Kconfig project is about giving end users _less_ config
>> options.
> 
> From my perspective it seems to be giving users more options,
> because at the moment there are none -- you just compile QEMU
> and you get everything. Nobody should (IMHO) be editing
> default-configs/ (despite the slightly confusing name).

At least RHEL is doing so (and RHEL originally motivated the first big
Makefile reorganization by Juan around 4 years ago, and the introduction
of default-configs).  Even though this is a summer of code project, my
proposal was driven by an actual need (and curiosity of course).

Paolo

Reply via email to