Thomas Huth <th...@redhat.com> writes:

> On 02/05/2023 14.14, Peter Maydell wrote:
>> From: Fabiano Rosas <faro...@suse.de>
>> 
>> Move all the CONFIG_FOO=y from default.mak into "default y if TCG"
>> statements in Kconfig. That way they won't be selected when
>> CONFIG_TCG=n.
>> 
>> I'm leaving CONFIG_ARM_VIRT in default.mak because it allows us to
>> keep the two default.mak files not empty and keep aarch64-default.mak
>> including arm-default.mak. That way we don't surprise anyone that's
>> used to altering these files.
>> 
>> With this change we can start building with --disable-tcg.
>> 
>> Signed-off-by: Fabiano Rosas <faro...@suse.de>
>> Reviewed-by: Richard Henderson <richard.hender...@linaro.org>
>> Message-id: 20230426180013.14814-12-faro...@suse.de
>> Signed-off-by: Peter Maydell <peter.mayd...@linaro.org>
>> ---
>>   configs/devices/aarch64-softmmu/default.mak |  4 --
>>   configs/devices/arm-softmmu/default.mak     | 37 ------------------
>>   hw/arm/Kconfig                              | 42 ++++++++++++++++++++-
>>   3 files changed, 41 insertions(+), 42 deletions(-)
>> 
>> diff --git a/configs/devices/aarch64-softmmu/default.mak 
>> b/configs/devices/aarch64-softmmu/default.mak
>> index cf43ac8da11..70e05a197dc 100644
>> --- a/configs/devices/aarch64-softmmu/default.mak
>> +++ b/configs/devices/aarch64-softmmu/default.mak
>> @@ -2,7 +2,3 @@
>>   
>>   # We support all the 32 bit boards so need all their config
>>   include ../arm-softmmu/default.mak
>> -
>> -CONFIG_XLNX_ZYNQMP_ARM=y
>> -CONFIG_XLNX_VERSAL=y
>> -CONFIG_SBSA_REF=y
>> diff --git a/configs/devices/arm-softmmu/default.mak 
>> b/configs/devices/arm-softmmu/default.mak
>> index cb3e5aea657..647fbce88d3 100644
>> --- a/configs/devices/arm-softmmu/default.mak
>> +++ b/configs/devices/arm-softmmu/default.mak
>> @@ -4,40 +4,3 @@
>>   # CONFIG_TEST_DEVICES=n
>>   
>>   CONFIG_ARM_VIRT=y
>> -CONFIG_CUBIEBOARD=y
>> -CONFIG_EXYNOS4=y
>> -CONFIG_HIGHBANK=y
>> -CONFIG_INTEGRATOR=y
>> -CONFIG_FSL_IMX31=y
>> -CONFIG_MUSICPAL=y
>> -CONFIG_MUSCA=y
>> -CONFIG_CHEETAH=y
>> -CONFIG_SX1=y
>> -CONFIG_NSERIES=y
>> -CONFIG_STELLARIS=y
>> -CONFIG_STM32VLDISCOVERY=y
>> -CONFIG_REALVIEW=y
>> -CONFIG_VERSATILE=y
>> -CONFIG_VEXPRESS=y
>> -CONFIG_ZYNQ=y
>> -CONFIG_MAINSTONE=y
>> -CONFIG_GUMSTIX=y
>> -CONFIG_SPITZ=y
>> -CONFIG_TOSA=y
>> -CONFIG_Z2=y
>> -CONFIG_NPCM7XX=y
>> -CONFIG_COLLIE=y
>> -CONFIG_ASPEED_SOC=y
>> -CONFIG_NETDUINO2=y
>> -CONFIG_NETDUINOPLUS2=y
>> -CONFIG_OLIMEX_STM32_H405=y
>> -CONFIG_MPS2=y
>> -CONFIG_RASPI=y
>> -CONFIG_DIGIC=y
>> -CONFIG_SABRELITE=y
>> -CONFIG_EMCRAFT_SF2=y
>> -CONFIG_MICROBIT=y
>> -CONFIG_FSL_IMX25=y
>> -CONFIG_FSL_IMX7=y
>> -CONFIG_FSL_IMX6UL=y
>> -CONFIG_ALLWINNER_H3=y
>> diff --git a/hw/arm/Kconfig b/hw/arm/Kconfig
>> index 87c1a29c912..2d7c4579559 100644
>> --- a/hw/arm/Kconfig
>> +++ b/hw/arm/Kconfig
>> @@ -35,20 +35,24 @@ config ARM_VIRT
>>   
>>   config CHEETAH
>>       bool
>> +    default y if TCG && ARM
>>       select OMAP
>>       select TSC210X
>>   
>>   config CUBIEBOARD
>>       bool
>> +    default y if TCG && ARM
>>       select ALLWINNER_A10
> ...
>
>   Hi!
>
> Sorry for not noticing this earlier, but I have to say that I really dislike 
> this change, since it very much changes the way we did our machine 
> configuration so far.
> Until now, you could simply go to configs/devices/*-softmmu/*.mak and only 
> select the machines you wanted to have with "...=y" and delete everything 
> else. Now you have to know *all* the machines that you do *not* want to have 
> in your build and disable them with "...=n" in that file. That's quite ugly, 
> especially for the arm target that has so many machines. (ok, you could also 
> do a "--without-default-devices" configuration to get rid of the machines, 
> but that also disables all other kind of devices that you then have to 
> specify manually).
>

Would leaving the CONFIGs as 'n', but commented out in the .mak files be
of any help? If I understand your use case, you were probably just
deleting the CONFIG=y for the boards you don't want. So now you'd be
uncommenting the CONFIG=n instead.

Alternatively, we could revert the .mak part of this change, convert
default.mak into tcg.mak and kvm.mak, and use those transparently
depending on whether --disable-tcg is present in the configure line.

But there's probably a better way still that I'm not seeing here, let's
see what others think.


Reply via email to