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

meson: Introduce target-specific Kconfig

Add a target-specific Kconfig. We need the definitions in Kconfig so
the minikconf tool can verify they exits. However CONFIG_FOO is only
enabled for target foo via the meson.build rules.

Two architecture have a particularity, ARM and MIPS. As their
translators have been split you can potentially build a plain 32 bit
build along with a 64-bit version including the 32-bit subset.

Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Message-Id: <20210131111316.232778-6-f4bug@amsat.org>
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
Reviewed-by: Thomas Huth <thuth@redhat.com>
Message-Id: <20210707131744.26027-2-alex.bennee@linaro.org>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Philippe Mathieu-Daudé 4 жил өмнө
parent
commit
f4063f9c31

+ 1 - 0
Kconfig

@@ -1,5 +1,6 @@
 source Kconfig.host
 source backends/Kconfig
 source accel/Kconfig
+source target/Kconfig
 source hw/Kconfig
 source semihosting/Kconfig

+ 2 - 1
meson.build

@@ -1604,7 +1604,8 @@ foreach target : target_dirs
       command: [minikconf,
                 get_option('default_devices') ? '--defconfig' : '--allnoconfig',
                 config_devices_mak, '@DEPFILE@', '@INPUT@',
-                host_kconfig, accel_kconfig])
+                host_kconfig, accel_kconfig,
+                'CONFIG_' + config_target['TARGET_ARCH'].to_upper() + '=y'])
 
     config_devices_data = configuration_data()
     config_devices = keyval.load(config_devices_mak)

+ 19 - 0
target/Kconfig

@@ -0,0 +1,19 @@
+source alpha/Kconfig
+source arm/Kconfig
+source avr/Kconfig
+source cris/Kconfig
+source hppa/Kconfig
+source i386/Kconfig
+source m68k/Kconfig
+source microblaze/Kconfig
+source mips/Kconfig
+source nios2/Kconfig
+source openrisc/Kconfig
+source ppc/Kconfig
+source riscv/Kconfig
+source rx/Kconfig
+source s390x/Kconfig
+source sh4/Kconfig
+source sparc/Kconfig
+source tricore/Kconfig
+source xtensa/Kconfig

+ 2 - 0
target/alpha/Kconfig

@@ -0,0 +1,2 @@
+config ALPHA
+    bool

+ 6 - 0
target/arm/Kconfig

@@ -0,0 +1,6 @@
+config ARM
+    bool
+
+config AARCH64
+    bool
+    select ARM

+ 2 - 0
target/avr/Kconfig

@@ -0,0 +1,2 @@
+config AVR
+    bool

+ 2 - 0
target/cris/Kconfig

@@ -0,0 +1,2 @@
+config CRIS
+    bool

+ 2 - 0
target/hppa/Kconfig

@@ -0,0 +1,2 @@
+config HPPA
+    bool

+ 5 - 0
target/i386/Kconfig

@@ -0,0 +1,5 @@
+config I386
+    bool
+
+config X86_64
+    bool

+ 2 - 0
target/m68k/Kconfig

@@ -0,0 +1,2 @@
+config M68K
+    bool

+ 2 - 0
target/microblaze/Kconfig

@@ -0,0 +1,2 @@
+config MICROBLAZE
+    bool

+ 6 - 0
target/mips/Kconfig

@@ -0,0 +1,6 @@
+config MIPS
+    bool
+
+config MIPS64
+    bool
+    select MIPS

+ 2 - 0
target/nios2/Kconfig

@@ -0,0 +1,2 @@
+config NIOS2
+    bool

+ 2 - 0
target/openrisc/Kconfig

@@ -0,0 +1,2 @@
+config OPENRISC
+    bool

+ 5 - 0
target/ppc/Kconfig

@@ -0,0 +1,5 @@
+config PPC
+    bool
+
+config PPC64
+    bool

+ 5 - 0
target/riscv/Kconfig

@@ -0,0 +1,5 @@
+config RISCV32
+    bool
+
+config RISCV64
+    bool

+ 2 - 0
target/rx/Kconfig

@@ -0,0 +1,2 @@
+config RX
+    bool

+ 2 - 0
target/s390x/Kconfig

@@ -0,0 +1,2 @@
+config S390X
+    bool

+ 2 - 0
target/sh4/Kconfig

@@ -0,0 +1,2 @@
+config SH4
+    bool

+ 5 - 0
target/sparc/Kconfig

@@ -0,0 +1,5 @@
+config SPARC
+    bool
+
+config SPARC64
+    bool

+ 2 - 0
target/tricore/Kconfig

@@ -0,0 +1,2 @@
+config TRICORE
+    bool

+ 2 - 0
target/xtensa/Kconfig

@@ -0,0 +1,2 @@
+config XTENSA
+    bool