Il gio 4 mag 2023, 14:27 Fabiano Rosas <faro...@suse.de> ha scritto:

> 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.


Yes, that would help—though it is likely to bitrot. I would also change the
"if TCG" part to "depends on TCG && ARM", which will break loudly if
someone sets the config to y with the wrong accelerator or in the wrong
file.

Once this is done for ARM we can extend it to other .mak files for
consistency.

Paolo


> 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