On 21/06/2021 17.21, Alex Bennée wrote:
From: Philippe Mathieu-Daudé <f4...@amsat.org>
Add a target-specific Kconfig. We need the definitions in Kconfig so
the minikconf tool can verify they exit. However CONFIG_FOO is only
s/exit/exist/ ?
enabled for target foo via the meson.build rules.
Two architecture have a particularity, ARM and MIPS:
their 64-bit version include the 32-bit subset.
Why do you mention these here, but not x86, Sparc, PPC and RISC-V which also
have 32-bit and 64-bit variants?
The patch itself looks fine to me, so once you've clarified the commit message:
Reviewed-by: Thomas Huth <th...@redhat.com>
Signed-off-by: Philippe Mathieu-Daudé <f4...@amsat.org>
Message-Id: <20210131111316.232778-6-f4...@amsat.org>
Signed-off-by: Alex Bennée <alex.ben...@linaro.org>
---
vajb:
- removed targets that no longer exist
- reword commit message to show why we need the Kconfigs
---
meson.build | 3 ++-
Kconfig | 1 +
target/Kconfig | 19 +++++++++++++++++++
target/alpha/Kconfig | 2 ++
target/arm/Kconfig | 6 ++++++
target/avr/Kconfig | 2 ++
target/cris/Kconfig | 2 ++
target/hppa/Kconfig | 2 ++
target/i386/Kconfig | 5 +++++
target/m68k/Kconfig | 2 ++
target/microblaze/Kconfig | 2 ++
target/mips/Kconfig | 6 ++++++
target/nios2/Kconfig | 2 ++
target/openrisc/Kconfig | 2 ++
target/ppc/Kconfig | 5 +++++
target/riscv/Kconfig | 5 +++++
target/rx/Kconfig | 2 ++
target/s390x/Kconfig | 2 ++
target/sh4/Kconfig | 2 ++
target/sparc/Kconfig | 5 +++++
target/tricore/Kconfig | 2 ++
target/xtensa/Kconfig | 2 ++
22 files changed, 80 insertions(+), 1 deletion(-)
create mode 100644 target/Kconfig
create mode 100644 target/alpha/Kconfig
create mode 100644 target/arm/Kconfig
create mode 100644 target/avr/Kconfig
create mode 100644 target/cris/Kconfig
create mode 100644 target/hppa/Kconfig
create mode 100644 target/i386/Kconfig
create mode 100644 target/m68k/Kconfig
create mode 100644 target/microblaze/Kconfig
create mode 100644 target/mips/Kconfig
create mode 100644 target/nios2/Kconfig
create mode 100644 target/openrisc/Kconfig
create mode 100644 target/ppc/Kconfig
create mode 100644 target/riscv/Kconfig
create mode 100644 target/rx/Kconfig
create mode 100644 target/s390x/Kconfig
create mode 100644 target/sh4/Kconfig
create mode 100644 target/sparc/Kconfig
create mode 100644 target/tricore/Kconfig
create mode 100644 target/xtensa/Kconfig
diff --git a/meson.build b/meson.build
index d8a92666fb..3ddd22ab7a 100644
--- a/meson.build
+++ b/meson.build
@@ -1377,7 +1377,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)
diff --git a/Kconfig b/Kconfig
index d52ebd839b..fb6a24a2de 100644
--- a/Kconfig
+++ b/Kconfig
@@ -1,5 +1,6 @@
source Kconfig.host
source backends/Kconfig
source accel/Kconfig
+source target/Kconfig
source hw/Kconfig
source semihosting/Kconfig
diff --git a/target/Kconfig b/target/Kconfig
new file mode 100644
index 0000000000..ae7f24fc66
--- /dev/null
+++ b/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
diff --git a/target/alpha/Kconfig b/target/alpha/Kconfig
new file mode 100644
index 0000000000..267222c05b
--- /dev/null
+++ b/target/alpha/Kconfig
@@ -0,0 +1,2 @@
+config ALPHA
+ bool
diff --git a/target/arm/Kconfig b/target/arm/Kconfig
new file mode 100644
index 0000000000..3f3394a22b
--- /dev/null
+++ b/target/arm/Kconfig
@@ -0,0 +1,6 @@
+config ARM
+ bool
+
+config AARCH64
+ bool
+ select ARM
diff --git a/target/avr/Kconfig b/target/avr/Kconfig
new file mode 100644
index 0000000000..155592d353
--- /dev/null
+++ b/target/avr/Kconfig
@@ -0,0 +1,2 @@
+config AVR
+ bool
diff --git a/target/cris/Kconfig b/target/cris/Kconfig
new file mode 100644
index 0000000000..3fdc309fbb
--- /dev/null
+++ b/target/cris/Kconfig
@@ -0,0 +1,2 @@
+config CRIS
+ bool
diff --git a/target/hppa/Kconfig b/target/hppa/Kconfig
new file mode 100644
index 0000000000..395a35d799
--- /dev/null
+++ b/target/hppa/Kconfig
@@ -0,0 +1,2 @@
+config HPPA
+ bool
diff --git a/target/i386/Kconfig b/target/i386/Kconfig
new file mode 100644
index 0000000000..ce6968906e
--- /dev/null
+++ b/target/i386/Kconfig
@@ -0,0 +1,5 @@
+config I386
+ bool
+
+config X86_64
+ bool
diff --git a/target/m68k/Kconfig b/target/m68k/Kconfig
new file mode 100644
index 0000000000..23debad519
--- /dev/null
+++ b/target/m68k/Kconfig
@@ -0,0 +1,2 @@
+config M68K
+ bool
diff --git a/target/microblaze/Kconfig b/target/microblaze/Kconfig
new file mode 100644
index 0000000000..a5410d9218
--- /dev/null
+++ b/target/microblaze/Kconfig
@@ -0,0 +1,2 @@
+config MICROBLAZE
+ bool
diff --git a/target/mips/Kconfig b/target/mips/Kconfig
new file mode 100644
index 0000000000..6adf145354
--- /dev/null
+++ b/target/mips/Kconfig
@@ -0,0 +1,6 @@
+config MIPS
+ bool
+
+config MIPS64
+ bool
+ select MIPS
diff --git a/target/nios2/Kconfig b/target/nios2/Kconfig
new file mode 100644
index 0000000000..1529ab8950
--- /dev/null
+++ b/target/nios2/Kconfig
@@ -0,0 +1,2 @@
+config NIOS2
+ bool
diff --git a/target/openrisc/Kconfig b/target/openrisc/Kconfig
new file mode 100644
index 0000000000..e0da4ac1df
--- /dev/null
+++ b/target/openrisc/Kconfig
@@ -0,0 +1,2 @@
+config OPENRISC
+ bool
diff --git a/target/ppc/Kconfig b/target/ppc/Kconfig
new file mode 100644
index 0000000000..3ff152051a
--- /dev/null
+++ b/target/ppc/Kconfig
@@ -0,0 +1,5 @@
+config PPC
+ bool
+
+config PPC64
+ bool
diff --git a/target/riscv/Kconfig b/target/riscv/Kconfig
new file mode 100644
index 0000000000..b9e5932f13
--- /dev/null
+++ b/target/riscv/Kconfig
@@ -0,0 +1,5 @@
+config RISCV32
+ bool
+
+config RISCV64
+ bool
diff --git a/target/rx/Kconfig b/target/rx/Kconfig
new file mode 100644
index 0000000000..aceb5ed28f
--- /dev/null
+++ b/target/rx/Kconfig
@@ -0,0 +1,2 @@
+config RX
+ bool
diff --git a/target/s390x/Kconfig b/target/s390x/Kconfig
new file mode 100644
index 0000000000..72da48136c
--- /dev/null
+++ b/target/s390x/Kconfig
@@ -0,0 +1,2 @@
+config S390X
+ bool
diff --git a/target/sh4/Kconfig b/target/sh4/Kconfig
new file mode 100644
index 0000000000..2397c86028
--- /dev/null
+++ b/target/sh4/Kconfig
@@ -0,0 +1,2 @@
+config SH4
+ bool
diff --git a/target/sparc/Kconfig b/target/sparc/Kconfig
new file mode 100644
index 0000000000..70cc0f3a21
--- /dev/null
+++ b/target/sparc/Kconfig
@@ -0,0 +1,5 @@
+config SPARC
+ bool
+
+config SPARC64
+ bool
diff --git a/target/tricore/Kconfig b/target/tricore/Kconfig
new file mode 100644
index 0000000000..9313409309
--- /dev/null
+++ b/target/tricore/Kconfig
@@ -0,0 +1,2 @@
+config TRICORE
+ bool
diff --git a/target/xtensa/Kconfig b/target/xtensa/Kconfig
new file mode 100644
index 0000000000..a3c8dc7f6d
--- /dev/null
+++ b/target/xtensa/Kconfig
@@ -0,0 +1,2 @@
+config XTENSA
+ bool