1
0
mirror of https://gitlab.com/qemu-project/qemu synced 2024-06-29 06:14:38 +00:00

kconfig: express dependency of individual boards on libfdt

Now that boards are enabled by default and the "CONFIG_FOO=y"
entries are gone from configs/devices/, there cannot be any more
a conflicts between the default contents of configs/devices/
and a failed "depends on" clause.

With this change, each individual board or target can express
whether it needs FDT.  It can then include the common code in the
build via "select DEVICE_TREE", which will also as tell meson to link
with libfdt.

This allows building non-microvm x86 emulators without having
libfdt available.

Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
This commit is contained in:
Paolo Bonzini 2024-04-30 21:08:15 +02:00
parent 1935b7ead1
commit d641ec30be
14 changed files with 34 additions and 12 deletions

View File

@ -25,7 +25,6 @@ config TPM
config FDT
bool
select DEVICE_TREE
config VHOST_USER
bool

View File

@ -15,6 +15,7 @@ config ARM_VIRT
select ACPI
select ARM_SMMUV3
select GPIO_KEY
select DEVICE_TREE
select FW_CFG_DMA
select PCI_EXPRESS
select PCI_EXPRESS_GENERIC_BRIDGE
@ -265,6 +266,7 @@ config SBSA_REF
default y
depends on TCG && AARCH64
imply PCI_DEVICES
select DEVICE_TREE
select AHCI
select ARM_SMMUV3
select GPIO_KEY
@ -347,6 +349,7 @@ config VEXPRESS
bool
default y
depends on TCG && ARM
select DEVICE_TREE
select A9MPCORE
select A15MPCORE
select ARM_MPTIMER
@ -492,6 +495,7 @@ config XLNX_ZYNQMP_ARM
select CPU_CLUSTER
select DDC
select DPCD
select DEVICE_TREE
select SDHCI
select SSI
select SSI_M25P80
@ -509,6 +513,7 @@ config XLNX_VERSAL
depends on TCG && AARCH64
select ARM_GIC
select CPU_CLUSTER
select DEVICE_TREE
select PL011
select CADENCE
select VIRTIO_MMIO

View File

@ -115,7 +115,8 @@ config Q35
config MICROVM
bool
default y
depends on I386
depends on I386 && FDT
select DEVICE_TREE
select SERIAL_ISA # for serial_hds_isa_init()
select ISA_BUS
select APIC

View File

@ -1,7 +1,8 @@
config LOONGARCH_VIRT
bool
default y
depends on LOONGARCH64
depends on LOONGARCH64 && FDT
select DEVICE_TREE
select PCI
select PCI_EXPRESS_GENERIC_BRIDGE
imply VIRTIO_VGA

View File

@ -80,9 +80,10 @@ config MIPS_CPS
config MIPS_BOSTON
bool
default y
depends on MIPS64 && !TARGET_BIG_ENDIAN
depends on MIPS64 && !TARGET_BIG_ENDIAN && FDT
imply PCI_DEVICES
imply TEST_DEVICES
select DEVICE_TREE
select FITLOADER
select MIPS_CPS
select PCI_EXPRESS_XILINX

View File

@ -2,6 +2,7 @@ config OR1K_SIM
bool
default y
depends on OPENRISC
select DEVICE_TREE
select SERIAL
select OPENCORES_ETH
select OMPIC
@ -14,6 +15,7 @@ config OR1K_VIRT
imply PCI_DEVICES
imply VIRTIO_VGA
imply TEST_DEVICES
select DEVICE_TREE
select PCI
select PCI_EXPRESS_GENERIC_BRIDGE
select GOLDFISH_RTC

View File

@ -1,7 +1,7 @@
config PSERIES
bool
default y
depends on PPC64
depends on PPC64 && FDT
imply USB_OHCI_PCI
imply PCI_DEVICES
imply TEST_DEVICES
@ -26,7 +26,7 @@ config SPAPR_RNG
config POWERNV
bool
default y
depends on PPC64
depends on PPC64 && FDT
imply PCI_DEVICES
imply TEST_DEVICES
select ISA_IPMI_BT
@ -52,7 +52,7 @@ config PPC405
config PPC440
bool
default y
depends on PPC
depends on PPC && FDT
imply PCI_DEVICES
imply TEST_DEVICES
imply E1000_PCI
@ -71,7 +71,7 @@ config PPC4XX
config SAM460EX
bool
default y
depends on PPC
depends on PPC && FDT
select PFLASH_CFI01
select IDE_SII3112
select M41T80
@ -168,19 +168,19 @@ config E500
config E500PLAT
bool
default y
depends on PPC
depends on PPC && FDT
select E500
config MPC8544DS
bool
default y
depends on PPC
depends on PPC && FDT
select E500
config VIRTEX
bool
default y
depends on PPC
depends on PPC && FDT
select PPC4XX
select PFLASH_CFI01
select SERIAL
@ -193,6 +193,7 @@ config FW_CFG_PPC
bool
config FDT_PPC
select DEVICE_TREE
bool
config VOF

View File

@ -12,6 +12,7 @@ config MICROCHIP_PFSOC
depends on RISCV64
select CADENCE_SDHCI
select CPU_CLUSTER
select DEVICE_TREE
select MCHP_PFSOC_DMC
select MCHP_PFSOC_IOSCB
select MCHP_PFSOC_MMUART
@ -37,6 +38,7 @@ config RISCV_VIRT
imply VIRTIO_VGA
imply TEST_DEVICES
imply TPM_TIS_SYSBUS
select DEVICE_TREE
select RISCV_NUMA
select GOLDFISH_RTC
select PCI
@ -82,6 +84,7 @@ config SIFIVE_U
depends on RISCV32 || RISCV64
select CADENCE
select CPU_CLUSTER
select DEVICE_TREE
select RISCV_ACLINT
select SIFIVE_GPIO
select SIFIVE_PDMA
@ -99,6 +102,7 @@ config SPIKE
bool
default y
depends on RISCV32 || RISCV64
select DEVICE_TREE
select RISCV_NUMA
select HTIF
select RISCV_ACLINT

View File

@ -8,5 +8,6 @@ config RX62N_MCU
config RX_GDBSIM
bool
default y
depends on RX
depends on RX && FDT
select DEVICE_TREE
select RX62N_MCU

View File

@ -15,6 +15,7 @@ config XTENSA_XTFPGA
bool
default y
depends on XTENSA
imply DEVICE_TREE
select OPENCORES_ETH
select PFLASH_CFI01
select SERIAL

View File

@ -6,6 +6,8 @@ config ARM
# translate.c v7m helpers under ARM_V7M.
select ARM_V7M if TCG
select DEVICE_TREE # needed by boot.c
config AARCH64
bool
select ARM

View File

@ -1,2 +1,3 @@
config MICROBLAZE
bool
select DEVICE_TREE # needed by boot.c

View File

@ -1,2 +1,3 @@
config OPENRISC
bool
select DEVICE_TREE # needed by boot.c

View File

@ -1,7 +1,9 @@
config RISCV32
bool
select ARM_COMPATIBLE_SEMIHOSTING # for do_common_semihosting()
select DEVICE_TREE # needed by boot.c
config RISCV64
bool
select ARM_COMPATIBLE_SEMIHOSTING # for do_common_semihosting()
select DEVICE_TREE # needed by boot.c