2
0
Эх сурвалжийг харах

hw: Add a Kconfig switch for the TYPE_CPU_CLUSTER device

The cpu-cluster device is only needed for some few arm and riscv
machines. Let's avoid compiling and linking it if it is not really
necessary.

Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Signed-off-by: Thomas Huth <thuth@redhat.com>
Message-ID: <20240415065655.130099-3-thuth@redhat.com>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Thomas Huth 1 жил өмнө
parent
commit
259181d29f

+ 3 - 0
hw/arm/Kconfig

@@ -485,6 +485,7 @@ config XLNX_ZYNQMP_ARM
     select AHCI
     select AHCI
     select ARM_GIC
     select ARM_GIC
     select CADENCE
     select CADENCE
+    select CPU_CLUSTER
     select DDC
     select DDC
     select DPCD
     select DPCD
     select SDHCI
     select SDHCI
@@ -503,6 +504,7 @@ config XLNX_VERSAL
     default y
     default y
     depends on TCG && AARCH64
     depends on TCG && AARCH64
     select ARM_GIC
     select ARM_GIC
+    select CPU_CLUSTER
     select PL011
     select PL011
     select CADENCE
     select CADENCE
     select VIRTIO_MMIO
     select VIRTIO_MMIO
@@ -688,6 +690,7 @@ config ARMSSE
     select CMSDK_APB_DUALTIMER
     select CMSDK_APB_DUALTIMER
     select CMSDK_APB_UART
     select CMSDK_APB_UART
     select CMSDK_APB_WATCHDOG
     select CMSDK_APB_WATCHDOG
+    select CPU_CLUSTER
     select IOTKIT_SECCTL
     select IOTKIT_SECCTL
     select IOTKIT_SYSCTL
     select IOTKIT_SYSCTL
     select IOTKIT_SYSINFO
     select IOTKIT_SYSINFO

+ 3 - 0
hw/cpu/Kconfig

@@ -12,3 +12,6 @@ config A15MPCORE
 config ARM11MPCORE
 config ARM11MPCORE
     bool
     bool
     select ARM11SCU
     select ARM11SCU
+
+config CPU_CLUSTER
+    bool

+ 2 - 1
hw/cpu/meson.build

@@ -1,4 +1,5 @@
-system_ss.add(files('core.c', 'cluster.c'))
+system_ss.add(files('core.c'))
+system_ss.add(when: 'CONFIG_CPU_CLUSTER', if_true: files('cluster.c'))
 
 
 system_ss.add(when: 'CONFIG_ARM11MPCORE', if_true: files('arm11mpcore.c'))
 system_ss.add(when: 'CONFIG_ARM11MPCORE', if_true: files('arm11mpcore.c'))
 system_ss.add(when: 'CONFIG_REALVIEW', if_true: files('realview_mpcore.c'))
 system_ss.add(when: 'CONFIG_REALVIEW', if_true: files('realview_mpcore.c'))

+ 2 - 0
hw/riscv/Kconfig

@@ -9,6 +9,7 @@ config IBEX
 config MICROCHIP_PFSOC
 config MICROCHIP_PFSOC
     bool
     bool
     select CADENCE_SDHCI
     select CADENCE_SDHCI
+    select CPU_CLUSTER
     select MCHP_PFSOC_DMC
     select MCHP_PFSOC_DMC
     select MCHP_PFSOC_IOSCB
     select MCHP_PFSOC_IOSCB
     select MCHP_PFSOC_MMUART
     select MCHP_PFSOC_MMUART
@@ -68,6 +69,7 @@ config SIFIVE_E
 config SIFIVE_U
 config SIFIVE_U
     bool
     bool
     select CADENCE
     select CADENCE
+    select CPU_CLUSTER
     select RISCV_ACLINT
     select RISCV_ACLINT
     select SIFIVE_GPIO
     select SIFIVE_GPIO
     select SIFIVE_PDMA
     select SIFIVE_PDMA