qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] QEMU and Kconfig


From: Paolo Bonzini
Subject: Re: [Qemu-devel] QEMU and Kconfig
Date: Thu, 8 Nov 2018 13:02:54 +0100
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.0

On 08/11/2018 11:14, Thomas Huth wrote:
> On 2018-11-08 10:55, Paolo Bonzini wrote:
>> On 07/11/2018 20:30, Thomas Huth wrote:
>>> On 2018-11-07 20:24, Eduardo Habkost wrote:
>>>> On Wed, Nov 07, 2018 at 06:39:54PM +0100, Paolo Bonzini wrote:
>>>>> On 07/11/2018 16:41, Samuel Ortiz wrote:
>>>>>> - The Kconfig parser would be used to generate the equivalent of what we
>>>>>>   currently have under default-configs/
>>>
>>> I think we would still have something like default-configs - but there
>>> would only be the bare minimum config switches in there, the rest would
>>> be pulled in by dependencies.
>>
>> Yes, in theory default-configs would end up empty, except for possibly
>> some commented lines to show the "default y" symbols for the target.
> 
> I think we should enable the machines in the default configs (and maybe
> optional devices that are not automatically selected by machines), e.g.:
> 
> CONFIG_I440FX=y
> CONFIG_Q35=y
> CONFIG_VIRTPC=y
> CONFIG_ISAPC=y
> CONFIG_VIRTIO=y
> CONFIG_PARALLEL=y
> 
> In configs/nemu (or configs/lean-kvm or however we'll call it), you will
> then only have:
> 
> CONFIG_Q35=y
> CONFIG_VIRTPC=y
> CONFIG_VIRTIO=y
> 
> Would that make sense?

It would, however it would be hard to draw a line between which devices
are enabled by default or not.  I think in particular all devices that
currently are in default-configs/{hyperv,pci,sound,usb,virtio}.mak
should be "default y".  CONFIG_PARALLEL would be in a hypothetical
isa.mak and also "default y".

One example that we discussed of devices that should not be "default y"
is stuff like various I2C sensors (CONFIG_TMP105 for example); these
should not be included in x86 targets just because x86 has an I2C/SMBus
controller in it.  So for example tmp105 should probably be select-ed by
CONFIG_ASPEED and CONFIG_NSERIES.

Let me reiterate that your proposal _also_ makes sense, in fact it's
exactly it is done in the 2015 branch.  However, if everything were
"default y" and we write a script to write out the selected
configuration symbols to default-configs/ file, the difference would be
mostly that the lines in default-configs/ will look like
"#CONFIG_I440FX=y" instead of "CONFIG_I440FX=y".

And in fact, the latter would be nicer for people who want to modify
default-configs/ to specify a few boards and devices explicitly[1].  For
such people (which include both the RHEL QEMU and the NEMU maintainers)
after a rebase you would not get any new board or device.  So I'm
inclined more towards empty default-configs/ file, with comments
mentioning what can be enabled.

Paolo



reply via email to

[Prev in Thread] Current Thread [Next in Thread]