* [PATCH v1 1/5] meson: Introduce target-specific Kconfig
2021-06-21 15:21 [PATCH v1 0/5] custom device configs (split from larger series) Alex Bennée
@ 2021-06-21 15:21 ` Alex Bennée
2021-06-21 15:21 ` [PATCH v1 2/5] hw/arm: add dependency on OR_IRQ for XLNX_VERSAL Alex Bennée
` (3 subsequent siblings)
4 siblings, 0 replies; 24+ messages in thread
From: Alex Bennée @ 2021-06-21 15:21 UTC (permalink / raw)
To: qemu-devel
Cc: Peter Maydell, Cornelia Huck, David Hildenbrand, Bin Meng,
Mark Cave-Ayland, Aleksandar Rikalo, Laurent Vivier,
Max Filippov, Alistair Francis, Edgar E. Iglesias, Marek Vasut,
Yoshinori Sato, open list:PowerPC TCG CPUs, Artyom Tarasenko,
thuth, Richard Henderson, Greg Kurz,
open list:S390 general arch...,
open list:ARM TCG CPUs, Michael Rolnik, Stafford Horne,
Alex Bennée, David Gibson, open list:RISC-V TCG CPUs,
Bastian Koppelmann, Chris Wulff, Philippe Mathieu-Daudé,
Palmer Dabbelt, pbonzini, Aurelien Jarno
From: Philippe Mathieu-Daudé <f4bug@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
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.
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>
---
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
--
2.20.1
^ permalink raw reply related [flat|nested] 24+ messages in thread
* [PATCH v1 1/5] meson: Introduce target-specific Kconfig
@ 2021-06-21 15:21 ` Alex Bennée
0 siblings, 0 replies; 24+ messages in thread
From: Alex Bennée @ 2021-06-21 15:21 UTC (permalink / raw)
To: qemu-devel
Cc: thuth, pbonzini, Philippe Mathieu-Daudé,
Alex Bennée, Richard Henderson, Peter Maydell,
Michael Rolnik, Edgar E. Iglesias, Laurent Vivier,
Aurelien Jarno, Jiaxun Yang, Aleksandar Rikalo, Chris Wulff,
Marek Vasut, Stafford Horne, David Gibson, Greg Kurz,
Palmer Dabbelt, Alistair Francis, Bin Meng, Yoshinori Sato,
Cornelia Huck, David Hildenbrand, Mark Cave-Ayland,
Artyom Tarasenko, Bastian Koppelmann, Max Filippov,
open list:ARM TCG CPUs, open list:PowerPC TCG CPUs,
open list:RISC-V TCG CPUs, open list:S390 general arch...
From: Philippe Mathieu-Daudé <f4bug@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
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.
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>
---
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
--
2.20.1
^ permalink raw reply related [flat|nested] 24+ messages in thread
* Re: [PATCH v1 1/5] meson: Introduce target-specific Kconfig
2021-06-21 15:21 ` Alex Bennée
@ 2021-07-06 10:52 ` Thomas Huth
-1 siblings, 0 replies; 24+ messages in thread
From: Thomas Huth @ 2021-07-06 10:52 UTC (permalink / raw)
To: Alex Bennée, qemu-devel
Cc: Peter Maydell, Cornelia Huck, David Hildenbrand, Bin Meng,
Mark Cave-Ayland, Laurent Vivier, Max Filippov, Alistair Francis,
Edgar E. Iglesias, Marek Vasut, Yoshinori Sato,
open list:PowerPC TCG CPUs, Artyom Tarasenko, Aleksandar Rikalo,
Richard Henderson, Greg Kurz, open list:S390 general arch...,
open list:ARM TCG CPUs, Michael Rolnik, Stafford Horne,
David Gibson, open list:RISC-V TCG CPUs, Bastian Koppelmann,
Chris Wulff, Philippe Mathieu-Daudé,
Palmer Dabbelt, pbonzini, Aurelien Jarno
On 21/06/2021 17.21, Alex Bennée wrote:
> From: Philippe Mathieu-Daudé <f4bug@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 <thuth@redhat.com>
>
> 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>
>
> ---
> 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
>
^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [PATCH v1 1/5] meson: Introduce target-specific Kconfig
@ 2021-07-06 10:52 ` Thomas Huth
0 siblings, 0 replies; 24+ messages in thread
From: Thomas Huth @ 2021-07-06 10:52 UTC (permalink / raw)
To: Alex Bennée, qemu-devel
Cc: pbonzini, Philippe Mathieu-Daudé,
Richard Henderson, Peter Maydell, Michael Rolnik,
Edgar E. Iglesias, Laurent Vivier, Aurelien Jarno, Jiaxun Yang,
Aleksandar Rikalo, Chris Wulff, Marek Vasut, Stafford Horne,
David Gibson, Greg Kurz, Palmer Dabbelt, Alistair Francis,
Bin Meng, Yoshinori Sato, Cornelia Huck, David Hildenbrand,
Mark Cave-Ayland, Artyom Tarasenko, Bastian Koppelmann,
Max Filippov, open list:ARM TCG CPUs, open list:PowerPC TCG CPUs,
open list:RISC-V TCG CPUs, open list:S390 general arch...
On 21/06/2021 17.21, Alex Bennée wrote:
> From: Philippe Mathieu-Daudé <f4bug@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 <thuth@redhat.com>
>
> 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>
>
> ---
> 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
>
^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [PATCH v1 1/5] meson: Introduce target-specific Kconfig
2021-07-06 10:52 ` Thomas Huth
@ 2021-07-06 12:47 ` Philippe Mathieu-Daudé
-1 siblings, 0 replies; 24+ messages in thread
From: Philippe Mathieu-Daudé @ 2021-07-06 12:47 UTC (permalink / raw)
To: Thomas Huth, Alex Bennée, qemu-devel
Cc: Peter Maydell, Chris Wulff, David Hildenbrand, Bin Meng,
Mark Cave-Ayland, Max Filippov, Alistair Francis, Marek Vasut,
Yoshinori Sato, Palmer Dabbelt, Artyom Tarasenko,
Aleksandar Rikalo, Richard Henderson, Greg Kurz,
open list:S390 general arch...,
open list:ARM TCG CPUs, Michael Rolnik, Stafford Horne,
David Gibson, open list:RISC-V TCG CPUs, Bastian Koppelmann,
Cornelia Huck, Laurent Vivier, open list:PowerPC TCG CPUs,
pbonzini, Aurelien Jarno
On 7/6/21 12:52 PM, Thomas Huth wrote:
> On 21/06/2021 17.21, Alex Bennée wrote:
>> From: Philippe Mathieu-Daudé <f4bug@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?
Because we consider them as different targets, they don't include
(kselect) the subset.
>
> The patch itself looks fine to me, so once you've clarified the commit
> message:
>
> Reviewed-by: Thomas Huth <thuth@redhat.com>
>
>
>>
>> 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>
>>
>> ---
>> vajb:
>> - removed targets that no longer exist
>> - reword commit message to show why we need the Kconfigs
>> ---
>> 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/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
^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [PATCH v1 1/5] meson: Introduce target-specific Kconfig
@ 2021-07-06 12:47 ` Philippe Mathieu-Daudé
0 siblings, 0 replies; 24+ messages in thread
From: Philippe Mathieu-Daudé @ 2021-07-06 12:47 UTC (permalink / raw)
To: Thomas Huth, Alex Bennée, qemu-devel
Cc: Peter Maydell, Cornelia Huck, David Hildenbrand, Bin Meng,
Mark Cave-Ayland, Jiaxun Yang, Laurent Vivier, Max Filippov,
Alistair Francis, Marek Vasut, Yoshinori Sato,
open list:PowerPC TCG CPUs, Artyom Tarasenko, Aleksandar Rikalo,
Richard Henderson, Greg Kurz, open list:S390 general arch...,
open list:ARM TCG CPUs, Michael Rolnik, Stafford Horne,
David Gibson, open list:RISC-V TCG CPUs, Bastian Koppelmann,
Chris Wulff, Palmer Dabbelt, pbonzini, Aurelien Jarno
On 7/6/21 12:52 PM, Thomas Huth wrote:
> On 21/06/2021 17.21, Alex Bennée wrote:
>> From: Philippe Mathieu-Daudé <f4bug@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?
Because we consider them as different targets, they don't include
(kselect) the subset.
>
> The patch itself looks fine to me, so once you've clarified the commit
> message:
>
> Reviewed-by: Thomas Huth <thuth@redhat.com>
>
>
>>
>> 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>
>>
>> ---
>> vajb:
>> - removed targets that no longer exist
>> - reword commit message to show why we need the Kconfigs
>> ---
>> 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/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
^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [PATCH v1 1/5] meson: Introduce target-specific Kconfig
2021-07-06 12:47 ` Philippe Mathieu-Daudé
@ 2021-07-06 13:10 ` Thomas Huth
-1 siblings, 0 replies; 24+ messages in thread
From: Thomas Huth @ 2021-07-06 13:10 UTC (permalink / raw)
To: Philippe Mathieu-Daudé, Alex Bennée, qemu-devel
Cc: Peter Maydell, Chris Wulff, David Hildenbrand, Bin Meng,
Mark Cave-Ayland, Max Filippov, Alistair Francis, Marek Vasut,
Yoshinori Sato, Palmer Dabbelt, Artyom Tarasenko,
Aleksandar Rikalo, Richard Henderson, Greg Kurz,
open list:S390 general arch...,
open list:ARM TCG CPUs, Michael Rolnik, Stafford Horne,
David Gibson, open list:RISC-V TCG CPUs, Bastian Koppelmann,
Cornelia Huck, Laurent Vivier, open list:PowerPC TCG CPUs,
pbonzini, Aurelien Jarno
On 06/07/2021 14.47, Philippe Mathieu-Daudé wrote:
> On 7/6/21 12:52 PM, Thomas Huth wrote:
>> On 21/06/2021 17.21, Alex Bennée wrote:
>>> From: Philippe Mathieu-Daudé <f4bug@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?
>
> Because we consider them as different targets, they don't include
> (kselect) the subset.
And why is that done this way? There is certainly a big difference between
Sparc and Sparc64, but for x86 and PPC, the 64-bit variant is a superset of
the 32-bit variant, so why is it done different here compared to ARM and MIPS?
Thomas
>>
>> The patch itself looks fine to me, so once you've clarified the commit
>> message:
>>
>> Reviewed-by: Thomas Huth <thuth@redhat.com>
>>
>>
>>>
>>> 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>
>>>
>>> ---
>>> vajb:
>>> - removed targets that no longer exist
>>> - reword commit message to show why we need the Kconfigs
>>> ---
>
>>> 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/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
>
^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [PATCH v1 1/5] meson: Introduce target-specific Kconfig
@ 2021-07-06 13:10 ` Thomas Huth
0 siblings, 0 replies; 24+ messages in thread
From: Thomas Huth @ 2021-07-06 13:10 UTC (permalink / raw)
To: Philippe Mathieu-Daudé, Alex Bennée, qemu-devel
Cc: Peter Maydell, Cornelia Huck, David Hildenbrand, Bin Meng,
Mark Cave-Ayland, Jiaxun Yang, Laurent Vivier, Max Filippov,
Alistair Francis, Marek Vasut, Yoshinori Sato,
open list:PowerPC TCG CPUs, Artyom Tarasenko, Aleksandar Rikalo,
Richard Henderson, Greg Kurz, open list:S390 general arch...,
open list:ARM TCG CPUs, Michael Rolnik, Stafford Horne,
David Gibson, open list:RISC-V TCG CPUs, Bastian Koppelmann,
Chris Wulff, Palmer Dabbelt, pbonzini, Aurelien Jarno
On 06/07/2021 14.47, Philippe Mathieu-Daudé wrote:
> On 7/6/21 12:52 PM, Thomas Huth wrote:
>> On 21/06/2021 17.21, Alex Bennée wrote:
>>> From: Philippe Mathieu-Daudé <f4bug@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?
>
> Because we consider them as different targets, they don't include
> (kselect) the subset.
And why is that done this way? There is certainly a big difference between
Sparc and Sparc64, but for x86 and PPC, the 64-bit variant is a superset of
the 32-bit variant, so why is it done different here compared to ARM and MIPS?
Thomas
>>
>> The patch itself looks fine to me, so once you've clarified the commit
>> message:
>>
>> Reviewed-by: Thomas Huth <thuth@redhat.com>
>>
>>
>>>
>>> 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>
>>>
>>> ---
>>> vajb:
>>> - removed targets that no longer exist
>>> - reword commit message to show why we need the Kconfigs
>>> ---
>
>>> 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/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
>
^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [PATCH v1 1/5] meson: Introduce target-specific Kconfig
2021-07-06 13:10 ` Thomas Huth
@ 2021-07-06 13:40 ` Philippe Mathieu-Daudé
-1 siblings, 0 replies; 24+ messages in thread
From: Philippe Mathieu-Daudé @ 2021-07-06 13:40 UTC (permalink / raw)
To: Thomas Huth, Alex Bennée, qemu-devel
Cc: Peter Maydell, Cornelia Huck, David Hildenbrand, Bin Meng,
Mark Cave-Ayland, Max Filippov, Alistair Francis, Marek Vasut,
Yoshinori Sato, open list:PowerPC TCG CPUs, Artyom Tarasenko,
Aleksandar Rikalo, Richard Henderson, Greg Kurz,
open list:S390 general arch...,
open list:ARM TCG CPUs, Michael Rolnik, Stafford Horne,
David Gibson, open list:RISC-V TCG CPUs, Bastian Koppelmann,
Chris Wulff, Laurent Vivier, Palmer Dabbelt, pbonzini,
Aurelien Jarno
On 7/6/21 3:10 PM, Thomas Huth wrote:
> On 06/07/2021 14.47, Philippe Mathieu-Daudé wrote:
>> On 7/6/21 12:52 PM, Thomas Huth wrote:
>>> On 21/06/2021 17.21, Alex Bennée wrote:
>>>> From: Philippe Mathieu-Daudé <f4bug@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?
>>
>> Because we consider them as different targets, they don't include
>> (kselect) the subset.
>
> And why is that done this way? There is certainly a big difference
> between Sparc and Sparc64, but for x86 and PPC, the 64-bit variant is a
> superset of the 32-bit variant, so why is it done different here
> compared to ARM and MIPS?
I don't know these targets well. Maybe the 64-bit variants do include
their 32-bit subset. If you know, I can easily send a new patch.
^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [PATCH v1 1/5] meson: Introduce target-specific Kconfig
@ 2021-07-06 13:40 ` Philippe Mathieu-Daudé
0 siblings, 0 replies; 24+ messages in thread
From: Philippe Mathieu-Daudé @ 2021-07-06 13:40 UTC (permalink / raw)
To: Thomas Huth, Alex Bennée, qemu-devel
Cc: Peter Maydell, Chris Wulff, David Hildenbrand, Bin Meng,
Mark Cave-Ayland, Jiaxun Yang, Max Filippov, Alistair Francis,
Marek Vasut, Yoshinori Sato, Palmer Dabbelt, Artyom Tarasenko,
Aleksandar Rikalo, Richard Henderson, Greg Kurz,
open list:S390 general arch...,
open list:ARM TCG CPUs, Michael Rolnik, Stafford Horne,
David Gibson, open list:RISC-V TCG CPUs, Bastian Koppelmann,
Cornelia Huck, Laurent Vivier, open list:PowerPC TCG CPUs,
pbonzini, Aurelien Jarno
On 7/6/21 3:10 PM, Thomas Huth wrote:
> On 06/07/2021 14.47, Philippe Mathieu-Daudé wrote:
>> On 7/6/21 12:52 PM, Thomas Huth wrote:
>>> On 21/06/2021 17.21, Alex Bennée wrote:
>>>> From: Philippe Mathieu-Daudé <f4bug@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?
>>
>> Because we consider them as different targets, they don't include
>> (kselect) the subset.
>
> And why is that done this way? There is certainly a big difference
> between Sparc and Sparc64, but for x86 and PPC, the 64-bit variant is a
> superset of the 32-bit variant, so why is it done different here
> compared to ARM and MIPS?
I don't know these targets well. Maybe the 64-bit variants do include
their 32-bit subset. If you know, I can easily send a new patch.
^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [PATCH v1 1/5] meson: Introduce target-specific Kconfig
2021-07-06 13:10 ` Thomas Huth
@ 2021-07-06 13:52 ` Alex Bennée
-1 siblings, 0 replies; 24+ messages in thread
From: Alex Bennée @ 2021-07-06 13:52 UTC (permalink / raw)
To: Thomas Huth
Cc: Peter Maydell, Chris Wulff, David Hildenbrand, Bin Meng,
Mark Cave-Ayland, qemu-devel, Laurent Vivier, Max Filippov,
Alistair Francis, Marek Vasut, Yoshinori Sato, Palmer Dabbelt,
Artyom Tarasenko, Aleksandar Rikalo, Richard Henderson,
Greg Kurz, open list:S390 general arch...,
open list:ARM TCG CPUs, Michael Rolnik, Stafford Horne,
David Gibson, open list:RISC-V TCG CPUs, Bastian Koppelmann,
Cornelia Huck, Philippe Mathieu-Daudé,
open list:PowerPC TCG CPUs, pbonzini, Aurelien Jarno
Thomas Huth <thuth@redhat.com> writes:
> On 06/07/2021 14.47, Philippe Mathieu-Daudé wrote:
>> On 7/6/21 12:52 PM, Thomas Huth wrote:
>>> On 21/06/2021 17.21, Alex Bennée wrote:
>>>> From: Philippe Mathieu-Daudé <f4bug@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?
>> Because we consider them as different targets, they don't include
>> (kselect) the subset.
>
> And why is that done this way? There is certainly a big difference
> between Sparc and Sparc64, but for x86 and PPC, the 64-bit variant is
> a superset of the 32-bit variant, so why is it done different here
> compared to ARM and MIPS?
Both ARM and MIPS have a somewhat separated set of translate.c functions
which means they can be built as individual units. AFAICT all the others
have a unified translate.c that handles all ISA variants so they
couldn't be built as standalone units if they wanted to.
You are right for AArch64 at least we have to include translate.c to
support AArch32 encoding. But for qemu-arm we skip all the 64 bit stuff
by compilation units:
arm_ss.add(when: 'TARGET_AARCH64', if_true: files(
'cpu64.c',
'gdbstub64.c',
'helper-a64.c',
'mte_helper.c',
'pauth_helper.c',
'sve_helper.c',
'translate-a64.c',
'translate-sve.c',
))
>
> Thomas
>
>
>>>
>>> The patch itself looks fine to me, so once you've clarified the commit
>>> message:
>>>
>>> Reviewed-by: Thomas Huth <thuth@redhat.com>
>>>
>>>
>>>>
>>>> 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>
>>>>
>>>> ---
>>>> vajb:
>>>> - removed targets that no longer exist
>>>> - reword commit message to show why we need the Kconfigs
>>>> ---
>>
>>>> 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/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
>>
--
Alex Bennée
^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [PATCH v1 1/5] meson: Introduce target-specific Kconfig
@ 2021-07-06 13:52 ` Alex Bennée
0 siblings, 0 replies; 24+ messages in thread
From: Alex Bennée @ 2021-07-06 13:52 UTC (permalink / raw)
To: Thomas Huth
Cc: Philippe Mathieu-Daudé,
qemu-devel, Peter Maydell, Cornelia Huck, David Hildenbrand,
Bin Meng, Mark Cave-Ayland, Jiaxun Yang, Laurent Vivier,
Max Filippov, Alistair Francis, Marek Vasut, Yoshinori Sato,
open list:PowerPC TCG CPUs, Artyom Tarasenko, Aleksandar Rikalo,
Richard Henderson, Greg Kurz, open list:S390 general arch...,
open list:ARM TCG CPUs, Michael Rolnik, Stafford Horne,
David Gibson, open list:RISC-V TCG CPUs, Bastian Koppelmann,
Chris Wulff, Palmer Dabbelt, pbonzini, Aurelien Jarno
Thomas Huth <thuth@redhat.com> writes:
> On 06/07/2021 14.47, Philippe Mathieu-Daudé wrote:
>> On 7/6/21 12:52 PM, Thomas Huth wrote:
>>> On 21/06/2021 17.21, Alex Bennée wrote:
>>>> From: Philippe Mathieu-Daudé <f4bug@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?
>> Because we consider them as different targets, they don't include
>> (kselect) the subset.
>
> And why is that done this way? There is certainly a big difference
> between Sparc and Sparc64, but for x86 and PPC, the 64-bit variant is
> a superset of the 32-bit variant, so why is it done different here
> compared to ARM and MIPS?
Both ARM and MIPS have a somewhat separated set of translate.c functions
which means they can be built as individual units. AFAICT all the others
have a unified translate.c that handles all ISA variants so they
couldn't be built as standalone units if they wanted to.
You are right for AArch64 at least we have to include translate.c to
support AArch32 encoding. But for qemu-arm we skip all the 64 bit stuff
by compilation units:
arm_ss.add(when: 'TARGET_AARCH64', if_true: files(
'cpu64.c',
'gdbstub64.c',
'helper-a64.c',
'mte_helper.c',
'pauth_helper.c',
'sve_helper.c',
'translate-a64.c',
'translate-sve.c',
))
>
> Thomas
>
>
>>>
>>> The patch itself looks fine to me, so once you've clarified the commit
>>> message:
>>>
>>> Reviewed-by: Thomas Huth <thuth@redhat.com>
>>>
>>>
>>>>
>>>> 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>
>>>>
>>>> ---
>>>> vajb:
>>>> - removed targets that no longer exist
>>>> - reword commit message to show why we need the Kconfigs
>>>> ---
>>
>>>> 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/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
>>
--
Alex Bennée
^ permalink raw reply [flat|nested] 24+ messages in thread
* [PATCH v1 2/5] hw/arm: add dependency on OR_IRQ for XLNX_VERSAL
2021-06-21 15:21 [PATCH v1 0/5] custom device configs (split from larger series) Alex Bennée
2021-06-21 15:21 ` Alex Bennée
@ 2021-06-21 15:21 ` Alex Bennée
2021-06-21 19:00 ` Philippe Mathieu-Daudé
2021-07-06 10:53 ` Thomas Huth
2021-06-21 15:21 ` [PATCH v1 3/5] hw/arm: move CONFIG_V7M out of default-devices Alex Bennée
` (2 subsequent siblings)
4 siblings, 2 replies; 24+ messages in thread
From: Alex Bennée @ 2021-06-21 15:21 UTC (permalink / raw)
To: qemu-devel
Cc: Peter Maydell, thuth, Richard Henderson, open list:ARM TCG CPUs,
pbonzini, Alex Bennée
We need this functionality due to:
/* XRAM IRQs get ORed into a single line. */
object_initialize_child(OBJECT(s), "xram-irq-orgate",
&s->lpd.xram.irq_orgate, TYPE_OR_IRQ);
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
---
hw/arm/Kconfig | 1 +
1 file changed, 1 insertion(+)
diff --git a/hw/arm/Kconfig b/hw/arm/Kconfig
index 647b5c8b43..528f71bb9d 100644
--- a/hw/arm/Kconfig
+++ b/hw/arm/Kconfig
@@ -368,6 +368,7 @@ config XLNX_VERSAL
select UNIMP
select XLNX_ZDMA
select XLNX_ZYNQMP
+ select OR_IRQ
config NPCM7XX
bool
--
2.20.1
^ permalink raw reply related [flat|nested] 24+ messages in thread
* Re: [PATCH v1 2/5] hw/arm: add dependency on OR_IRQ for XLNX_VERSAL
2021-06-21 15:21 ` [PATCH v1 2/5] hw/arm: add dependency on OR_IRQ for XLNX_VERSAL Alex Bennée
@ 2021-06-21 19:00 ` Philippe Mathieu-Daudé
2021-06-21 20:00 ` Edgar E. Iglesias
2021-07-06 10:53 ` Thomas Huth
1 sibling, 1 reply; 24+ messages in thread
From: Philippe Mathieu-Daudé @ 2021-06-21 19:00 UTC (permalink / raw)
To: Alex Bennée, qemu-devel
Cc: Peter Maydell, thuth, open list:ARM TCG CPUs, Richard Henderson,
pbonzini
On 6/21/21 5:21 PM, Alex Bennée wrote:
> We need this functionality due to:
>
> /* XRAM IRQs get ORed into a single line. */
> object_initialize_child(OBJECT(s), "xram-irq-orgate",
> &s->lpd.xram.irq_orgate, TYPE_OR_IRQ);
>
Fixes: a55b441b2ca ("hw/arm: versal: Add support for the XRAMs")
> Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
> Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
> ---
> hw/arm/Kconfig | 1 +
> 1 file changed, 1 insertion(+)
^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [PATCH v1 2/5] hw/arm: add dependency on OR_IRQ for XLNX_VERSAL
2021-06-21 19:00 ` Philippe Mathieu-Daudé
@ 2021-06-21 20:00 ` Edgar E. Iglesias
0 siblings, 0 replies; 24+ messages in thread
From: Edgar E. Iglesias @ 2021-06-21 20:00 UTC (permalink / raw)
To: Philippe Mathieu-Daudé
Cc: Peter Maydell, thuth, Richard Henderson, qemu-devel,
open list:ARM TCG CPUs, pbonzini, Alex Bennée
On Mon, Jun 21, 2021 at 09:00:22PM +0200, Philippe Mathieu-Daudé wrote:
> On 6/21/21 5:21 PM, Alex Bennée wrote:
> > We need this functionality due to:
> >
> > /* XRAM IRQs get ORed into a single line. */
> > object_initialize_child(OBJECT(s), "xram-irq-orgate",
> > &s->lpd.xram.irq_orgate, TYPE_OR_IRQ);
> >
>
> Fixes: a55b441b2ca ("hw/arm: versal: Add support for the XRAMs")
>
> > Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
>
> Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Reviewed-by: Edgar E. Iglesias <edgar.iglesias@xilinx.com>
^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [PATCH v1 2/5] hw/arm: add dependency on OR_IRQ for XLNX_VERSAL
2021-06-21 15:21 ` [PATCH v1 2/5] hw/arm: add dependency on OR_IRQ for XLNX_VERSAL Alex Bennée
2021-06-21 19:00 ` Philippe Mathieu-Daudé
@ 2021-07-06 10:53 ` Thomas Huth
1 sibling, 0 replies; 24+ messages in thread
From: Thomas Huth @ 2021-07-06 10:53 UTC (permalink / raw)
To: Alex Bennée, qemu-devel
Cc: pbonzini, open list:ARM TCG CPUs, Richard Henderson, Peter Maydell
On 21/06/2021 17.21, Alex Bennée wrote:
> We need this functionality due to:
>
> /* XRAM IRQs get ORed into a single line. */
> object_initialize_child(OBJECT(s), "xram-irq-orgate",
> &s->lpd.xram.irq_orgate, TYPE_OR_IRQ);
>
> Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
> Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
> ---
> hw/arm/Kconfig | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/hw/arm/Kconfig b/hw/arm/Kconfig
> index 647b5c8b43..528f71bb9d 100644
> --- a/hw/arm/Kconfig
> +++ b/hw/arm/Kconfig
> @@ -368,6 +368,7 @@ config XLNX_VERSAL
> select UNIMP
> select XLNX_ZDMA
> select XLNX_ZYNQMP
> + select OR_IRQ
>
> config NPCM7XX
> bool
>
Reviewed-by: Thomas Huth <thuth@redhat.com>
^ permalink raw reply [flat|nested] 24+ messages in thread
* [PATCH v1 3/5] hw/arm: move CONFIG_V7M out of default-devices
2021-06-21 15:21 [PATCH v1 0/5] custom device configs (split from larger series) Alex Bennée
2021-06-21 15:21 ` Alex Bennée
2021-06-21 15:21 ` [PATCH v1 2/5] hw/arm: add dependency on OR_IRQ for XLNX_VERSAL Alex Bennée
@ 2021-06-21 15:21 ` Alex Bennée
2021-07-06 11:04 ` Thomas Huth
2021-07-06 12:14 ` Philippe Mathieu-Daudé
2021-06-21 15:21 ` [PATCH v1 4/5] configs: rename default-configs to configs and reorganise Alex Bennée
2021-06-21 15:21 ` [PATCH v1 5/5] configure: allow the selection of alternate config in the build Alex Bennée
4 siblings, 2 replies; 24+ messages in thread
From: Alex Bennée @ 2021-06-21 15:21 UTC (permalink / raw)
To: qemu-devel
Cc: Peter Maydell, thuth, Richard Henderson, open list:ARM TCG CPUs,
pbonzini, Alex Bennée
We currently select CONFIG_V7M for a bunch of our m-profile devices.
The last sticking point is translate.c which cannot be compiled
without expecting v7m support. Express this dependency in Kconfig
rather than in default devices as a stepping stone to a fully
configurable translate.c.
While we are at it we also need to select ARM_COMPATIBLE_SEMIHOSTING
as that is implied for M profile machines.
Acked-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
---
vconfigs
- cherry pick from re-factor
- minor tweak to subject line
---
default-configs/devices/arm-softmmu.mak | 3 ---
hw/arm/Kconfig | 3 +++
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/default-configs/devices/arm-softmmu.mak b/default-configs/devices/arm-softmmu.mak
index 0500156a0c..4114aa9e35 100644
--- a/default-configs/devices/arm-softmmu.mak
+++ b/default-configs/devices/arm-softmmu.mak
@@ -1,8 +1,5 @@
# Default configuration for arm-softmmu
-# TODO: ARM_V7M is currently always required - make this more flexible!
-CONFIG_ARM_V7M=y
-
# CONFIG_PCI_DEVICES=n
# CONFIG_TEST_DEVICES=n
diff --git a/hw/arm/Kconfig b/hw/arm/Kconfig
index 528f71bb9d..062fe94b64 100644
--- a/hw/arm/Kconfig
+++ b/hw/arm/Kconfig
@@ -296,7 +296,10 @@ config ZYNQ
config ARM_V7M
bool
+ # currently v7M must be included in a TCG build due to translate.c
+ default y if TCG && (ARM || AARCH64)
select PTIMER
+ select ARM_COMPATIBLE_SEMIHOSTING
config ALLWINNER_A10
bool
--
2.20.1
^ permalink raw reply related [flat|nested] 24+ messages in thread
* Re: [PATCH v1 3/5] hw/arm: move CONFIG_V7M out of default-devices
2021-06-21 15:21 ` [PATCH v1 3/5] hw/arm: move CONFIG_V7M out of default-devices Alex Bennée
@ 2021-07-06 11:04 ` Thomas Huth
2021-07-06 12:14 ` Philippe Mathieu-Daudé
1 sibling, 0 replies; 24+ messages in thread
From: Thomas Huth @ 2021-07-06 11:04 UTC (permalink / raw)
To: Alex Bennée, qemu-devel
Cc: pbonzini, open list:ARM TCG CPUs, Richard Henderson, Peter Maydell
On 21/06/2021 17.21, Alex Bennée wrote:
> We currently select CONFIG_V7M for a bunch of our m-profile devices.
> The last sticking point is translate.c which cannot be compiled
> without expecting v7m support. Express this dependency in Kconfig
> rather than in default devices as a stepping stone to a fully
> configurable translate.c.
>
> While we are at it we also need to select ARM_COMPATIBLE_SEMIHOSTING
> as that is implied for M profile machines.
>
> Acked-by: Richard Henderson <richard.henderson@linaro.org>
> Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
>
> ---
> vconfigs
> - cherry pick from re-factor
> - minor tweak to subject line
> ---
> default-configs/devices/arm-softmmu.mak | 3 ---
> hw/arm/Kconfig | 3 +++
> 2 files changed, 3 insertions(+), 3 deletions(-)
>
> diff --git a/default-configs/devices/arm-softmmu.mak b/default-configs/devices/arm-softmmu.mak
> index 0500156a0c..4114aa9e35 100644
> --- a/default-configs/devices/arm-softmmu.mak
> +++ b/default-configs/devices/arm-softmmu.mak
> @@ -1,8 +1,5 @@
> # Default configuration for arm-softmmu
>
> -# TODO: ARM_V7M is currently always required - make this more flexible!
> -CONFIG_ARM_V7M=y
> -
> # CONFIG_PCI_DEVICES=n
> # CONFIG_TEST_DEVICES=n
>
> diff --git a/hw/arm/Kconfig b/hw/arm/Kconfig
> index 528f71bb9d..062fe94b64 100644
> --- a/hw/arm/Kconfig
> +++ b/hw/arm/Kconfig
> @@ -296,7 +296,10 @@ config ZYNQ
>
> config ARM_V7M
> bool
> + # currently v7M must be included in a TCG build due to translate.c
> + default y if TCG && (ARM || AARCH64)
> select PTIMER
> + select ARM_COMPATIBLE_SEMIHOSTING
Reviewed-by: Thomas Huth <thuth@redhat.com>
^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [PATCH v1 3/5] hw/arm: move CONFIG_V7M out of default-devices
2021-06-21 15:21 ` [PATCH v1 3/5] hw/arm: move CONFIG_V7M out of default-devices Alex Bennée
2021-07-06 11:04 ` Thomas Huth
@ 2021-07-06 12:14 ` Philippe Mathieu-Daudé
1 sibling, 0 replies; 24+ messages in thread
From: Philippe Mathieu-Daudé @ 2021-07-06 12:14 UTC (permalink / raw)
To: Alex Bennée, qemu-devel
Cc: Peter Maydell, thuth, open list:ARM TCG CPUs, Richard Henderson,
pbonzini
On 6/21/21 5:21 PM, Alex Bennée wrote:
> We currently select CONFIG_V7M for a bunch of our m-profile devices.
> The last sticking point is translate.c which cannot be compiled
> without expecting v7m support. Express this dependency in Kconfig
> rather than in default devices as a stepping stone to a fully
> configurable translate.c.
>
> While we are at it we also need to select ARM_COMPATIBLE_SEMIHOSTING
> as that is implied for M profile machines.
>
> Acked-by: Richard Henderson <richard.henderson@linaro.org>
> Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
>
> ---
> vconfigs
> - cherry pick from re-factor
> - minor tweak to subject line
> ---
> default-configs/devices/arm-softmmu.mak | 3 ---
> hw/arm/Kconfig | 3 +++
> 2 files changed, 3 insertions(+), 3 deletions(-)
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
^ permalink raw reply [flat|nested] 24+ messages in thread
* [PATCH v1 4/5] configs: rename default-configs to configs and reorganise
2021-06-21 15:21 [PATCH v1 0/5] custom device configs (split from larger series) Alex Bennée
` (2 preceding siblings ...)
2021-06-21 15:21 ` [PATCH v1 3/5] hw/arm: move CONFIG_V7M out of default-devices Alex Bennée
@ 2021-06-21 15:21 ` Alex Bennée
2021-06-21 18:14 ` Philippe Mathieu-Daudé
2021-06-21 15:21 ` [PATCH v1 5/5] configure: allow the selection of alternate config in the build Alex Bennée
4 siblings, 1 reply; 24+ messages in thread
From: Alex Bennée @ 2021-06-21 15:21 UTC (permalink / raw)
To: qemu-devel
Cc: thuth, Aleksandar Rikalo, Philippe Mathieu-Daudé,
Max Filippov, pbonzini, Alex Bennée, Aurelien Jarno
In preparation for offering variation to our build configurations lets
move everything and rename it to default. Common included base configs
are also renamed.
During the cleanup the stale usb.mak and pci.mak references were
removed from MAINTAINERS.
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
---
configure | 6 ++---
.../devices/aarch64-softmmu/default.mak | 2 +-
.../devices/alpha-softmmu/default.mak | 0
.../devices/arm-softmmu/default.mak | 0
.../devices/avr-softmmu/default.mak | 0
.../devices/cris-softmmu/default.mak | 0
.../devices/hppa-softmmu/default.mak | 0
.../devices/i386-softmmu/default.mak | 0
.../devices/m68k-softmmu/default.mak | 0
.../devices/microblaze-softmmu/default.mak | 0
.../devices/microblazeel-softmmu/default.mak | 2 +-
.../devices/mips-softmmu/common.mak | 0
.../devices/mips-softmmu/default.mak | 2 +-
.../devices/mips64-softmmu/default.mak | 2 +-
.../devices/mips64el-softmmu/default.mak | 2 +-
.../devices/mipsel-softmmu/default.mak | 2 +-
.../devices/nios2-softmmu/default.mak | 0
.../devices/or1k-softmmu/default.mak | 0
.../devices/ppc-softmmu/default.mak | 0
.../devices/ppc64-softmmu/default.mak | 2 +-
.../devices/riscv32-softmmu/default.mak | 0
.../devices/riscv64-softmmu/default.mak | 0
.../devices/rx-softmmu/default.mak | 0
.../devices/s390x-softmmu/default.mak | 0
.../devices/sh4-softmmu/default.mak | 0
.../devices/sh4eb-softmmu/default.mak | 2 +-
.../devices/sparc-softmmu/default.mak | 0
.../devices/sparc64-softmmu/default.mak | 0
.../devices/tricore-softmmu/default.mak | 0
.../devices/x86_64-softmmu/default.mak | 2 +-
.../devices/xtensa-softmmu/default.mak | 0
configs/devices/xtensaeb-softmmu/default.mak | 3 +++
.../targets/aarch64-linux-user.mak | 0
.../targets/aarch64-softmmu.mak | 0
.../targets/aarch64_be-linux-user.mak | 0
.../targets/alpha-linux-user.mak | 0
.../targets/alpha-softmmu.mak | 0
.../targets/arm-linux-user.mak | 0
.../targets/arm-softmmu.mak | 0
.../targets/armeb-linux-user.mak | 0
.../targets/avr-softmmu.mak | 0
.../targets/cris-linux-user.mak | 0
.../targets/cris-softmmu.mak | 0
.../targets/hexagon-linux-user.mak | 0
.../targets/hppa-linux-user.mak | 0
.../targets/hppa-softmmu.mak | 0
.../targets/i386-bsd-user.mak | 0
.../targets/i386-linux-user.mak | 0
.../targets/i386-softmmu.mak | 0
.../targets/m68k-linux-user.mak | 0
.../targets/m68k-softmmu.mak | 0
.../targets/microblaze-linux-user.mak | 0
.../targets/microblaze-softmmu.mak | 0
.../targets/microblazeel-linux-user.mak | 0
.../targets/microblazeel-softmmu.mak | 0
.../targets/mips-linux-user.mak | 0
.../targets/mips-softmmu.mak | 0
.../targets/mips64-linux-user.mak | 0
.../targets/mips64-softmmu.mak | 0
.../targets/mips64el-linux-user.mak | 0
.../targets/mips64el-softmmu.mak | 0
.../targets/mipsel-linux-user.mak | 0
.../targets/mipsel-softmmu.mak | 0
.../targets/mipsn32-linux-user.mak | 0
.../targets/mipsn32el-linux-user.mak | 0
.../targets/nios2-linux-user.mak | 0
.../targets/nios2-softmmu.mak | 0
.../targets/or1k-linux-user.mak | 0
.../targets/or1k-softmmu.mak | 0
.../targets/ppc-linux-user.mak | 0
.../targets/ppc-softmmu.mak | 0
.../targets/ppc64-linux-user.mak | 0
.../targets/ppc64-softmmu.mak | 0
.../targets/ppc64abi32-linux-user.mak | 0
.../targets/ppc64le-linux-user.mak | 0
.../targets/riscv32-linux-user.mak | 0
.../targets/riscv32-softmmu.mak | 0
.../targets/riscv64-linux-user.mak | 0
.../targets/riscv64-softmmu.mak | 0
.../targets/rx-softmmu.mak | 0
.../targets/s390x-linux-user.mak | 0
.../targets/s390x-softmmu.mak | 0
.../targets/sh4-linux-user.mak | 0
.../targets/sh4-softmmu.mak | 0
.../targets/sh4eb-linux-user.mak | 0
.../targets/sh4eb-softmmu.mak | 0
.../targets/sparc-linux-user.mak | 0
.../targets/sparc-softmmu.mak | 0
.../targets/sparc32plus-linux-user.mak | 0
.../targets/sparc64-linux-user.mak | 0
.../targets/sparc64-softmmu.mak | 0
.../targets/tricore-softmmu.mak | 0
.../targets/x86_64-bsd-user.mak | 0
.../targets/x86_64-linux-user.mak | 0
.../targets/x86_64-softmmu.mak | 0
.../targets/xtensa-linux-user.mak | 0
.../targets/xtensa-softmmu.mak | 0
.../targets/xtensaeb-linux-user.mak | 0
.../targets/xtensaeb-softmmu.mak | 0
default-configs/devices/xtensaeb-softmmu.mak | 3 ---
meson.build | 4 ++--
MAINTAINERS | 22 +++++++++----------
tests/Makefile.include | 2 +-
103 files changed, 28 insertions(+), 30 deletions(-)
rename default-configs/devices/aarch64-softmmu.mak => configs/devices/aarch64-softmmu/default.mak (82%)
rename default-configs/devices/alpha-softmmu.mak => configs/devices/alpha-softmmu/default.mak (100%)
rename default-configs/devices/arm-softmmu.mak => configs/devices/arm-softmmu/default.mak (100%)
rename default-configs/devices/avr-softmmu.mak => configs/devices/avr-softmmu/default.mak (100%)
rename default-configs/devices/cris-softmmu.mak => configs/devices/cris-softmmu/default.mak (100%)
rename default-configs/devices/hppa-softmmu.mak => configs/devices/hppa-softmmu/default.mak (100%)
rename default-configs/devices/i386-softmmu.mak => configs/devices/i386-softmmu/default.mak (100%)
rename default-configs/devices/m68k-softmmu.mak => configs/devices/m68k-softmmu/default.mak (100%)
rename default-configs/devices/microblaze-softmmu.mak => configs/devices/microblaze-softmmu/default.mak (100%)
rename default-configs/devices/microblazeel-softmmu.mak => configs/devices/microblazeel-softmmu/default.mak (54%)
rename default-configs/devices/mips-softmmu-common.mak => configs/devices/mips-softmmu/common.mak (100%)
rename default-configs/devices/mips-softmmu.mak => configs/devices/mips-softmmu/default.mak (56%)
rename default-configs/devices/mips64-softmmu.mak => configs/devices/mips64-softmmu/default.mak (62%)
rename default-configs/devices/mips64el-softmmu.mak => configs/devices/mips64el-softmmu/default.mak (88%)
rename default-configs/devices/mipsel-softmmu.mak => configs/devices/mipsel-softmmu/default.mak (55%)
rename default-configs/devices/nios2-softmmu.mak => configs/devices/nios2-softmmu/default.mak (100%)
rename default-configs/devices/or1k-softmmu.mak => configs/devices/or1k-softmmu/default.mak (100%)
rename default-configs/devices/ppc-softmmu.mak => configs/devices/ppc-softmmu/default.mak (100%)
rename default-configs/devices/ppc64-softmmu.mak => configs/devices/ppc64-softmmu/default.mak (79%)
rename default-configs/devices/riscv32-softmmu.mak => configs/devices/riscv32-softmmu/default.mak (100%)
rename default-configs/devices/riscv64-softmmu.mak => configs/devices/riscv64-softmmu/default.mak (100%)
rename default-configs/devices/rx-softmmu.mak => configs/devices/rx-softmmu/default.mak (100%)
rename default-configs/devices/s390x-softmmu.mak => configs/devices/s390x-softmmu/default.mak (100%)
rename default-configs/devices/sh4-softmmu.mak => configs/devices/sh4-softmmu/default.mak (100%)
rename default-configs/devices/sh4eb-softmmu.mak => configs/devices/sh4eb-softmmu/default.mak (55%)
rename default-configs/devices/sparc-softmmu.mak => configs/devices/sparc-softmmu/default.mak (100%)
rename default-configs/devices/sparc64-softmmu.mak => configs/devices/sparc64-softmmu/default.mak (100%)
rename default-configs/devices/tricore-softmmu.mak => configs/devices/tricore-softmmu/default.mak (100%)
rename default-configs/devices/x86_64-softmmu.mak => configs/devices/x86_64-softmmu/default.mak (55%)
rename default-configs/devices/xtensa-softmmu.mak => configs/devices/xtensa-softmmu/default.mak (100%)
create mode 100644 configs/devices/xtensaeb-softmmu/default.mak
rename {default-configs => configs}/targets/aarch64-linux-user.mak (100%)
rename {default-configs => configs}/targets/aarch64-softmmu.mak (100%)
rename {default-configs => configs}/targets/aarch64_be-linux-user.mak (100%)
rename {default-configs => configs}/targets/alpha-linux-user.mak (100%)
rename {default-configs => configs}/targets/alpha-softmmu.mak (100%)
rename {default-configs => configs}/targets/arm-linux-user.mak (100%)
rename {default-configs => configs}/targets/arm-softmmu.mak (100%)
rename {default-configs => configs}/targets/armeb-linux-user.mak (100%)
rename {default-configs => configs}/targets/avr-softmmu.mak (100%)
rename {default-configs => configs}/targets/cris-linux-user.mak (100%)
rename {default-configs => configs}/targets/cris-softmmu.mak (100%)
rename {default-configs => configs}/targets/hexagon-linux-user.mak (100%)
rename {default-configs => configs}/targets/hppa-linux-user.mak (100%)
rename {default-configs => configs}/targets/hppa-softmmu.mak (100%)
rename {default-configs => configs}/targets/i386-bsd-user.mak (100%)
rename {default-configs => configs}/targets/i386-linux-user.mak (100%)
rename {default-configs => configs}/targets/i386-softmmu.mak (100%)
rename {default-configs => configs}/targets/m68k-linux-user.mak (100%)
rename {default-configs => configs}/targets/m68k-softmmu.mak (100%)
rename {default-configs => configs}/targets/microblaze-linux-user.mak (100%)
rename {default-configs => configs}/targets/microblaze-softmmu.mak (100%)
rename {default-configs => configs}/targets/microblazeel-linux-user.mak (100%)
rename {default-configs => configs}/targets/microblazeel-softmmu.mak (100%)
rename {default-configs => configs}/targets/mips-linux-user.mak (100%)
rename {default-configs => configs}/targets/mips-softmmu.mak (100%)
rename {default-configs => configs}/targets/mips64-linux-user.mak (100%)
rename {default-configs => configs}/targets/mips64-softmmu.mak (100%)
rename {default-configs => configs}/targets/mips64el-linux-user.mak (100%)
rename {default-configs => configs}/targets/mips64el-softmmu.mak (100%)
rename {default-configs => configs}/targets/mipsel-linux-user.mak (100%)
rename {default-configs => configs}/targets/mipsel-softmmu.mak (100%)
rename {default-configs => configs}/targets/mipsn32-linux-user.mak (100%)
rename {default-configs => configs}/targets/mipsn32el-linux-user.mak (100%)
rename {default-configs => configs}/targets/nios2-linux-user.mak (100%)
rename {default-configs => configs}/targets/nios2-softmmu.mak (100%)
rename {default-configs => configs}/targets/or1k-linux-user.mak (100%)
rename {default-configs => configs}/targets/or1k-softmmu.mak (100%)
rename {default-configs => configs}/targets/ppc-linux-user.mak (100%)
rename {default-configs => configs}/targets/ppc-softmmu.mak (100%)
rename {default-configs => configs}/targets/ppc64-linux-user.mak (100%)
rename {default-configs => configs}/targets/ppc64-softmmu.mak (100%)
rename {default-configs => configs}/targets/ppc64abi32-linux-user.mak (100%)
rename {default-configs => configs}/targets/ppc64le-linux-user.mak (100%)
rename {default-configs => configs}/targets/riscv32-linux-user.mak (100%)
rename {default-configs => configs}/targets/riscv32-softmmu.mak (100%)
rename {default-configs => configs}/targets/riscv64-linux-user.mak (100%)
rename {default-configs => configs}/targets/riscv64-softmmu.mak (100%)
rename {default-configs => configs}/targets/rx-softmmu.mak (100%)
rename {default-configs => configs}/targets/s390x-linux-user.mak (100%)
rename {default-configs => configs}/targets/s390x-softmmu.mak (100%)
rename {default-configs => configs}/targets/sh4-linux-user.mak (100%)
rename {default-configs => configs}/targets/sh4-softmmu.mak (100%)
rename {default-configs => configs}/targets/sh4eb-linux-user.mak (100%)
rename {default-configs => configs}/targets/sh4eb-softmmu.mak (100%)
rename {default-configs => configs}/targets/sparc-linux-user.mak (100%)
rename {default-configs => configs}/targets/sparc-softmmu.mak (100%)
rename {default-configs => configs}/targets/sparc32plus-linux-user.mak (100%)
rename {default-configs => configs}/targets/sparc64-linux-user.mak (100%)
rename {default-configs => configs}/targets/sparc64-softmmu.mak (100%)
rename {default-configs => configs}/targets/tricore-softmmu.mak (100%)
rename {default-configs => configs}/targets/x86_64-bsd-user.mak (100%)
rename {default-configs => configs}/targets/x86_64-linux-user.mak (100%)
rename {default-configs => configs}/targets/x86_64-softmmu.mak (100%)
rename {default-configs => configs}/targets/xtensa-linux-user.mak (100%)
rename {default-configs => configs}/targets/xtensa-softmmu.mak (100%)
rename {default-configs => configs}/targets/xtensaeb-linux-user.mak (100%)
rename {default-configs => configs}/targets/xtensaeb-softmmu.mak (100%)
delete mode 100644 default-configs/devices/xtensaeb-softmmu.mak
diff --git a/configure b/configure
index 262ab71802..b47c38b504 100755
--- a/configure
+++ b/configure
@@ -1683,13 +1683,13 @@ deprecated_features=""
mak_wilds=""
if [ "$softmmu" = "yes" ]; then
- mak_wilds="${mak_wilds} $source_path/default-configs/targets/*-softmmu.mak"
+ mak_wilds="${mak_wilds} $source_path/configs/targets/*-softmmu.mak"
fi
if [ "$linux_user" = "yes" ]; then
- mak_wilds="${mak_wilds} $source_path/default-configs/targets/*-linux-user.mak"
+ mak_wilds="${mak_wilds} $source_path/configs/targets/*-linux-user.mak"
fi
if [ "$bsd_user" = "yes" ]; then
- mak_wilds="${mak_wilds} $source_path/default-configs/targets/*-bsd-user.mak"
+ mak_wilds="${mak_wilds} $source_path/configs/targets/*-bsd-user.mak"
fi
# If the user doesn't explicitly specify a deprecated target we will
diff --git a/default-configs/devices/aarch64-softmmu.mak b/configs/devices/aarch64-softmmu/default.mak
similarity index 82%
rename from default-configs/devices/aarch64-softmmu.mak
rename to configs/devices/aarch64-softmmu/default.mak
index 958b1e08e4..cf43ac8da1 100644
--- a/default-configs/devices/aarch64-softmmu.mak
+++ b/configs/devices/aarch64-softmmu/default.mak
@@ -1,7 +1,7 @@
# Default configuration for aarch64-softmmu
# We support all the 32 bit boards so need all their config
-include arm-softmmu.mak
+include ../arm-softmmu/default.mak
CONFIG_XLNX_ZYNQMP_ARM=y
CONFIG_XLNX_VERSAL=y
diff --git a/default-configs/devices/alpha-softmmu.mak b/configs/devices/alpha-softmmu/default.mak
similarity index 100%
rename from default-configs/devices/alpha-softmmu.mak
rename to configs/devices/alpha-softmmu/default.mak
diff --git a/default-configs/devices/arm-softmmu.mak b/configs/devices/arm-softmmu/default.mak
similarity index 100%
rename from default-configs/devices/arm-softmmu.mak
rename to configs/devices/arm-softmmu/default.mak
diff --git a/default-configs/devices/avr-softmmu.mak b/configs/devices/avr-softmmu/default.mak
similarity index 100%
rename from default-configs/devices/avr-softmmu.mak
rename to configs/devices/avr-softmmu/default.mak
diff --git a/default-configs/devices/cris-softmmu.mak b/configs/devices/cris-softmmu/default.mak
similarity index 100%
rename from default-configs/devices/cris-softmmu.mak
rename to configs/devices/cris-softmmu/default.mak
diff --git a/default-configs/devices/hppa-softmmu.mak b/configs/devices/hppa-softmmu/default.mak
similarity index 100%
rename from default-configs/devices/hppa-softmmu.mak
rename to configs/devices/hppa-softmmu/default.mak
diff --git a/default-configs/devices/i386-softmmu.mak b/configs/devices/i386-softmmu/default.mak
similarity index 100%
rename from default-configs/devices/i386-softmmu.mak
rename to configs/devices/i386-softmmu/default.mak
diff --git a/default-configs/devices/m68k-softmmu.mak b/configs/devices/m68k-softmmu/default.mak
similarity index 100%
rename from default-configs/devices/m68k-softmmu.mak
rename to configs/devices/m68k-softmmu/default.mak
diff --git a/default-configs/devices/microblaze-softmmu.mak b/configs/devices/microblaze-softmmu/default.mak
similarity index 100%
rename from default-configs/devices/microblaze-softmmu.mak
rename to configs/devices/microblaze-softmmu/default.mak
diff --git a/default-configs/devices/microblazeel-softmmu.mak b/configs/devices/microblazeel-softmmu/default.mak
similarity index 54%
rename from default-configs/devices/microblazeel-softmmu.mak
rename to configs/devices/microblazeel-softmmu/default.mak
index 2fcf442fc7..29f7f13816 100644
--- a/default-configs/devices/microblazeel-softmmu.mak
+++ b/configs/devices/microblazeel-softmmu/default.mak
@@ -1,3 +1,3 @@
# Default configuration for microblazeel-softmmu
-include microblaze-softmmu.mak
+include ../microblaze-softmmu/default.mak
diff --git a/default-configs/devices/mips-softmmu-common.mak b/configs/devices/mips-softmmu/common.mak
similarity index 100%
rename from default-configs/devices/mips-softmmu-common.mak
rename to configs/devices/mips-softmmu/common.mak
diff --git a/default-configs/devices/mips-softmmu.mak b/configs/devices/mips-softmmu/default.mak
similarity index 56%
rename from default-configs/devices/mips-softmmu.mak
rename to configs/devices/mips-softmmu/default.mak
index 9fede6e00f..c23d95a83a 100644
--- a/default-configs/devices/mips-softmmu.mak
+++ b/configs/devices/mips-softmmu/default.mak
@@ -1,3 +1,3 @@
# Default configuration for mips-softmmu
-include mips-softmmu-common.mak
+include common.mak
diff --git a/default-configs/devices/mips64-softmmu.mak b/configs/devices/mips64-softmmu/default.mak
similarity index 62%
rename from default-configs/devices/mips64-softmmu.mak
rename to configs/devices/mips64-softmmu/default.mak
index a169738635..566672f3c2 100644
--- a/default-configs/devices/mips64-softmmu.mak
+++ b/configs/devices/mips64-softmmu/default.mak
@@ -1,4 +1,4 @@
# Default configuration for mips64-softmmu
-include mips-softmmu-common.mak
+include ../mips-softmmu/common.mak
CONFIG_JAZZ=y
diff --git a/default-configs/devices/mips64el-softmmu.mak b/configs/devices/mips64el-softmmu/default.mak
similarity index 88%
rename from default-configs/devices/mips64el-softmmu.mak
rename to configs/devices/mips64el-softmmu/default.mak
index 26c660a05c..c511a061ba 100644
--- a/default-configs/devices/mips64el-softmmu.mak
+++ b/configs/devices/mips64el-softmmu/default.mak
@@ -1,6 +1,6 @@
# Default configuration for mips64el-softmmu
-include mips-softmmu-common.mak
+include ../mips-softmmu/common.mak
CONFIG_IDE_VIA=y
CONFIG_FULOONG=y
CONFIG_LOONGSON3V=y
diff --git a/default-configs/devices/mipsel-softmmu.mak b/configs/devices/mipsel-softmmu/default.mak
similarity index 55%
rename from default-configs/devices/mipsel-softmmu.mak
rename to configs/devices/mipsel-softmmu/default.mak
index a7f6059484..009ccb0e2d 100644
--- a/default-configs/devices/mipsel-softmmu.mak
+++ b/configs/devices/mipsel-softmmu/default.mak
@@ -1,3 +1,3 @@
# Default configuration for mipsel-softmmu
-include mips-softmmu-common.mak
+include ../mips-softmmu/common.mak
diff --git a/default-configs/devices/nios2-softmmu.mak b/configs/devices/nios2-softmmu/default.mak
similarity index 100%
rename from default-configs/devices/nios2-softmmu.mak
rename to configs/devices/nios2-softmmu/default.mak
diff --git a/default-configs/devices/or1k-softmmu.mak b/configs/devices/or1k-softmmu/default.mak
similarity index 100%
rename from default-configs/devices/or1k-softmmu.mak
rename to configs/devices/or1k-softmmu/default.mak
diff --git a/default-configs/devices/ppc-softmmu.mak b/configs/devices/ppc-softmmu/default.mak
similarity index 100%
rename from default-configs/devices/ppc-softmmu.mak
rename to configs/devices/ppc-softmmu/default.mak
diff --git a/default-configs/devices/ppc64-softmmu.mak b/configs/devices/ppc64-softmmu/default.mak
similarity index 79%
rename from default-configs/devices/ppc64-softmmu.mak
rename to configs/devices/ppc64-softmmu/default.mak
index cca52665d9..b90e5bf455 100644
--- a/default-configs/devices/ppc64-softmmu.mak
+++ b/configs/devices/ppc64-softmmu/default.mak
@@ -1,7 +1,7 @@
# Default configuration for ppc64-softmmu
# Include all 32-bit boards
-include ppc-softmmu.mak
+include ../ppc-softmmu/default.mak
# For PowerNV
CONFIG_POWERNV=y
diff --git a/default-configs/devices/riscv32-softmmu.mak b/configs/devices/riscv32-softmmu/default.mak
similarity index 100%
rename from default-configs/devices/riscv32-softmmu.mak
rename to configs/devices/riscv32-softmmu/default.mak
diff --git a/default-configs/devices/riscv64-softmmu.mak b/configs/devices/riscv64-softmmu/default.mak
similarity index 100%
rename from default-configs/devices/riscv64-softmmu.mak
rename to configs/devices/riscv64-softmmu/default.mak
diff --git a/default-configs/devices/rx-softmmu.mak b/configs/devices/rx-softmmu/default.mak
similarity index 100%
rename from default-configs/devices/rx-softmmu.mak
rename to configs/devices/rx-softmmu/default.mak
diff --git a/default-configs/devices/s390x-softmmu.mak b/configs/devices/s390x-softmmu/default.mak
similarity index 100%
rename from default-configs/devices/s390x-softmmu.mak
rename to configs/devices/s390x-softmmu/default.mak
diff --git a/default-configs/devices/sh4-softmmu.mak b/configs/devices/sh4-softmmu/default.mak
similarity index 100%
rename from default-configs/devices/sh4-softmmu.mak
rename to configs/devices/sh4-softmmu/default.mak
diff --git a/default-configs/devices/sh4eb-softmmu.mak b/configs/devices/sh4eb-softmmu/default.mak
similarity index 55%
rename from default-configs/devices/sh4eb-softmmu.mak
rename to configs/devices/sh4eb-softmmu/default.mak
index 522a7a50fa..f18d1f6519 100644
--- a/default-configs/devices/sh4eb-softmmu.mak
+++ b/configs/devices/sh4eb-softmmu/default.mak
@@ -1,3 +1,3 @@
# Default configuration for sh4eb-softmmu
-include sh4-softmmu.mak
+include ../sh4-softmmu/default.mak
diff --git a/default-configs/devices/sparc-softmmu.mak b/configs/devices/sparc-softmmu/default.mak
similarity index 100%
rename from default-configs/devices/sparc-softmmu.mak
rename to configs/devices/sparc-softmmu/default.mak
diff --git a/default-configs/devices/sparc64-softmmu.mak b/configs/devices/sparc64-softmmu/default.mak
similarity index 100%
rename from default-configs/devices/sparc64-softmmu.mak
rename to configs/devices/sparc64-softmmu/default.mak
diff --git a/default-configs/devices/tricore-softmmu.mak b/configs/devices/tricore-softmmu/default.mak
similarity index 100%
rename from default-configs/devices/tricore-softmmu.mak
rename to configs/devices/tricore-softmmu/default.mak
diff --git a/default-configs/devices/x86_64-softmmu.mak b/configs/devices/x86_64-softmmu/default.mak
similarity index 55%
rename from default-configs/devices/x86_64-softmmu.mak
rename to configs/devices/x86_64-softmmu/default.mak
index 64b2ee2960..ddfc2ea626 100644
--- a/default-configs/devices/x86_64-softmmu.mak
+++ b/configs/devices/x86_64-softmmu/default.mak
@@ -1,3 +1,3 @@
# Default configuration for x86_64-softmmu
-include i386-softmmu.mak
+include ../i386-softmmu/default.mak
diff --git a/default-configs/devices/xtensa-softmmu.mak b/configs/devices/xtensa-softmmu/default.mak
similarity index 100%
rename from default-configs/devices/xtensa-softmmu.mak
rename to configs/devices/xtensa-softmmu/default.mak
diff --git a/configs/devices/xtensaeb-softmmu/default.mak b/configs/devices/xtensaeb-softmmu/default.mak
new file mode 100644
index 0000000000..00eafcc292
--- /dev/null
+++ b/configs/devices/xtensaeb-softmmu/default.mak
@@ -0,0 +1,3 @@
+# Default configuration for Xtensa
+
+include ../xtensa-softmmu/default.mak
diff --git a/default-configs/targets/aarch64-linux-user.mak b/configs/targets/aarch64-linux-user.mak
similarity index 100%
rename from default-configs/targets/aarch64-linux-user.mak
rename to configs/targets/aarch64-linux-user.mak
diff --git a/default-configs/targets/aarch64-softmmu.mak b/configs/targets/aarch64-softmmu.mak
similarity index 100%
rename from default-configs/targets/aarch64-softmmu.mak
rename to configs/targets/aarch64-softmmu.mak
diff --git a/default-configs/targets/aarch64_be-linux-user.mak b/configs/targets/aarch64_be-linux-user.mak
similarity index 100%
rename from default-configs/targets/aarch64_be-linux-user.mak
rename to configs/targets/aarch64_be-linux-user.mak
diff --git a/default-configs/targets/alpha-linux-user.mak b/configs/targets/alpha-linux-user.mak
similarity index 100%
rename from default-configs/targets/alpha-linux-user.mak
rename to configs/targets/alpha-linux-user.mak
diff --git a/default-configs/targets/alpha-softmmu.mak b/configs/targets/alpha-softmmu.mak
similarity index 100%
rename from default-configs/targets/alpha-softmmu.mak
rename to configs/targets/alpha-softmmu.mak
diff --git a/default-configs/targets/arm-linux-user.mak b/configs/targets/arm-linux-user.mak
similarity index 100%
rename from default-configs/targets/arm-linux-user.mak
rename to configs/targets/arm-linux-user.mak
diff --git a/default-configs/targets/arm-softmmu.mak b/configs/targets/arm-softmmu.mak
similarity index 100%
rename from default-configs/targets/arm-softmmu.mak
rename to configs/targets/arm-softmmu.mak
diff --git a/default-configs/targets/armeb-linux-user.mak b/configs/targets/armeb-linux-user.mak
similarity index 100%
rename from default-configs/targets/armeb-linux-user.mak
rename to configs/targets/armeb-linux-user.mak
diff --git a/default-configs/targets/avr-softmmu.mak b/configs/targets/avr-softmmu.mak
similarity index 100%
rename from default-configs/targets/avr-softmmu.mak
rename to configs/targets/avr-softmmu.mak
diff --git a/default-configs/targets/cris-linux-user.mak b/configs/targets/cris-linux-user.mak
similarity index 100%
rename from default-configs/targets/cris-linux-user.mak
rename to configs/targets/cris-linux-user.mak
diff --git a/default-configs/targets/cris-softmmu.mak b/configs/targets/cris-softmmu.mak
similarity index 100%
rename from default-configs/targets/cris-softmmu.mak
rename to configs/targets/cris-softmmu.mak
diff --git a/default-configs/targets/hexagon-linux-user.mak b/configs/targets/hexagon-linux-user.mak
similarity index 100%
rename from default-configs/targets/hexagon-linux-user.mak
rename to configs/targets/hexagon-linux-user.mak
diff --git a/default-configs/targets/hppa-linux-user.mak b/configs/targets/hppa-linux-user.mak
similarity index 100%
rename from default-configs/targets/hppa-linux-user.mak
rename to configs/targets/hppa-linux-user.mak
diff --git a/default-configs/targets/hppa-softmmu.mak b/configs/targets/hppa-softmmu.mak
similarity index 100%
rename from default-configs/targets/hppa-softmmu.mak
rename to configs/targets/hppa-softmmu.mak
diff --git a/default-configs/targets/i386-bsd-user.mak b/configs/targets/i386-bsd-user.mak
similarity index 100%
rename from default-configs/targets/i386-bsd-user.mak
rename to configs/targets/i386-bsd-user.mak
diff --git a/default-configs/targets/i386-linux-user.mak b/configs/targets/i386-linux-user.mak
similarity index 100%
rename from default-configs/targets/i386-linux-user.mak
rename to configs/targets/i386-linux-user.mak
diff --git a/default-configs/targets/i386-softmmu.mak b/configs/targets/i386-softmmu.mak
similarity index 100%
rename from default-configs/targets/i386-softmmu.mak
rename to configs/targets/i386-softmmu.mak
diff --git a/default-configs/targets/m68k-linux-user.mak b/configs/targets/m68k-linux-user.mak
similarity index 100%
rename from default-configs/targets/m68k-linux-user.mak
rename to configs/targets/m68k-linux-user.mak
diff --git a/default-configs/targets/m68k-softmmu.mak b/configs/targets/m68k-softmmu.mak
similarity index 100%
rename from default-configs/targets/m68k-softmmu.mak
rename to configs/targets/m68k-softmmu.mak
diff --git a/default-configs/targets/microblaze-linux-user.mak b/configs/targets/microblaze-linux-user.mak
similarity index 100%
rename from default-configs/targets/microblaze-linux-user.mak
rename to configs/targets/microblaze-linux-user.mak
diff --git a/default-configs/targets/microblaze-softmmu.mak b/configs/targets/microblaze-softmmu.mak
similarity index 100%
rename from default-configs/targets/microblaze-softmmu.mak
rename to configs/targets/microblaze-softmmu.mak
diff --git a/default-configs/targets/microblazeel-linux-user.mak b/configs/targets/microblazeel-linux-user.mak
similarity index 100%
rename from default-configs/targets/microblazeel-linux-user.mak
rename to configs/targets/microblazeel-linux-user.mak
diff --git a/default-configs/targets/microblazeel-softmmu.mak b/configs/targets/microblazeel-softmmu.mak
similarity index 100%
rename from default-configs/targets/microblazeel-softmmu.mak
rename to configs/targets/microblazeel-softmmu.mak
diff --git a/default-configs/targets/mips-linux-user.mak b/configs/targets/mips-linux-user.mak
similarity index 100%
rename from default-configs/targets/mips-linux-user.mak
rename to configs/targets/mips-linux-user.mak
diff --git a/default-configs/targets/mips-softmmu.mak b/configs/targets/mips-softmmu.mak
similarity index 100%
rename from default-configs/targets/mips-softmmu.mak
rename to configs/targets/mips-softmmu.mak
diff --git a/default-configs/targets/mips64-linux-user.mak b/configs/targets/mips64-linux-user.mak
similarity index 100%
rename from default-configs/targets/mips64-linux-user.mak
rename to configs/targets/mips64-linux-user.mak
diff --git a/default-configs/targets/mips64-softmmu.mak b/configs/targets/mips64-softmmu.mak
similarity index 100%
rename from default-configs/targets/mips64-softmmu.mak
rename to configs/targets/mips64-softmmu.mak
diff --git a/default-configs/targets/mips64el-linux-user.mak b/configs/targets/mips64el-linux-user.mak
similarity index 100%
rename from default-configs/targets/mips64el-linux-user.mak
rename to configs/targets/mips64el-linux-user.mak
diff --git a/default-configs/targets/mips64el-softmmu.mak b/configs/targets/mips64el-softmmu.mak
similarity index 100%
rename from default-configs/targets/mips64el-softmmu.mak
rename to configs/targets/mips64el-softmmu.mak
diff --git a/default-configs/targets/mipsel-linux-user.mak b/configs/targets/mipsel-linux-user.mak
similarity index 100%
rename from default-configs/targets/mipsel-linux-user.mak
rename to configs/targets/mipsel-linux-user.mak
diff --git a/default-configs/targets/mipsel-softmmu.mak b/configs/targets/mipsel-softmmu.mak
similarity index 100%
rename from default-configs/targets/mipsel-softmmu.mak
rename to configs/targets/mipsel-softmmu.mak
diff --git a/default-configs/targets/mipsn32-linux-user.mak b/configs/targets/mipsn32-linux-user.mak
similarity index 100%
rename from default-configs/targets/mipsn32-linux-user.mak
rename to configs/targets/mipsn32-linux-user.mak
diff --git a/default-configs/targets/mipsn32el-linux-user.mak b/configs/targets/mipsn32el-linux-user.mak
similarity index 100%
rename from default-configs/targets/mipsn32el-linux-user.mak
rename to configs/targets/mipsn32el-linux-user.mak
diff --git a/default-configs/targets/nios2-linux-user.mak b/configs/targets/nios2-linux-user.mak
similarity index 100%
rename from default-configs/targets/nios2-linux-user.mak
rename to configs/targets/nios2-linux-user.mak
diff --git a/default-configs/targets/nios2-softmmu.mak b/configs/targets/nios2-softmmu.mak
similarity index 100%
rename from default-configs/targets/nios2-softmmu.mak
rename to configs/targets/nios2-softmmu.mak
diff --git a/default-configs/targets/or1k-linux-user.mak b/configs/targets/or1k-linux-user.mak
similarity index 100%
rename from default-configs/targets/or1k-linux-user.mak
rename to configs/targets/or1k-linux-user.mak
diff --git a/default-configs/targets/or1k-softmmu.mak b/configs/targets/or1k-softmmu.mak
similarity index 100%
rename from default-configs/targets/or1k-softmmu.mak
rename to configs/targets/or1k-softmmu.mak
diff --git a/default-configs/targets/ppc-linux-user.mak b/configs/targets/ppc-linux-user.mak
similarity index 100%
rename from default-configs/targets/ppc-linux-user.mak
rename to configs/targets/ppc-linux-user.mak
diff --git a/default-configs/targets/ppc-softmmu.mak b/configs/targets/ppc-softmmu.mak
similarity index 100%
rename from default-configs/targets/ppc-softmmu.mak
rename to configs/targets/ppc-softmmu.mak
diff --git a/default-configs/targets/ppc64-linux-user.mak b/configs/targets/ppc64-linux-user.mak
similarity index 100%
rename from default-configs/targets/ppc64-linux-user.mak
rename to configs/targets/ppc64-linux-user.mak
diff --git a/default-configs/targets/ppc64-softmmu.mak b/configs/targets/ppc64-softmmu.mak
similarity index 100%
rename from default-configs/targets/ppc64-softmmu.mak
rename to configs/targets/ppc64-softmmu.mak
diff --git a/default-configs/targets/ppc64abi32-linux-user.mak b/configs/targets/ppc64abi32-linux-user.mak
similarity index 100%
rename from default-configs/targets/ppc64abi32-linux-user.mak
rename to configs/targets/ppc64abi32-linux-user.mak
diff --git a/default-configs/targets/ppc64le-linux-user.mak b/configs/targets/ppc64le-linux-user.mak
similarity index 100%
rename from default-configs/targets/ppc64le-linux-user.mak
rename to configs/targets/ppc64le-linux-user.mak
diff --git a/default-configs/targets/riscv32-linux-user.mak b/configs/targets/riscv32-linux-user.mak
similarity index 100%
rename from default-configs/targets/riscv32-linux-user.mak
rename to configs/targets/riscv32-linux-user.mak
diff --git a/default-configs/targets/riscv32-softmmu.mak b/configs/targets/riscv32-softmmu.mak
similarity index 100%
rename from default-configs/targets/riscv32-softmmu.mak
rename to configs/targets/riscv32-softmmu.mak
diff --git a/default-configs/targets/riscv64-linux-user.mak b/configs/targets/riscv64-linux-user.mak
similarity index 100%
rename from default-configs/targets/riscv64-linux-user.mak
rename to configs/targets/riscv64-linux-user.mak
diff --git a/default-configs/targets/riscv64-softmmu.mak b/configs/targets/riscv64-softmmu.mak
similarity index 100%
rename from default-configs/targets/riscv64-softmmu.mak
rename to configs/targets/riscv64-softmmu.mak
diff --git a/default-configs/targets/rx-softmmu.mak b/configs/targets/rx-softmmu.mak
similarity index 100%
rename from default-configs/targets/rx-softmmu.mak
rename to configs/targets/rx-softmmu.mak
diff --git a/default-configs/targets/s390x-linux-user.mak b/configs/targets/s390x-linux-user.mak
similarity index 100%
rename from default-configs/targets/s390x-linux-user.mak
rename to configs/targets/s390x-linux-user.mak
diff --git a/default-configs/targets/s390x-softmmu.mak b/configs/targets/s390x-softmmu.mak
similarity index 100%
rename from default-configs/targets/s390x-softmmu.mak
rename to configs/targets/s390x-softmmu.mak
diff --git a/default-configs/targets/sh4-linux-user.mak b/configs/targets/sh4-linux-user.mak
similarity index 100%
rename from default-configs/targets/sh4-linux-user.mak
rename to configs/targets/sh4-linux-user.mak
diff --git a/default-configs/targets/sh4-softmmu.mak b/configs/targets/sh4-softmmu.mak
similarity index 100%
rename from default-configs/targets/sh4-softmmu.mak
rename to configs/targets/sh4-softmmu.mak
diff --git a/default-configs/targets/sh4eb-linux-user.mak b/configs/targets/sh4eb-linux-user.mak
similarity index 100%
rename from default-configs/targets/sh4eb-linux-user.mak
rename to configs/targets/sh4eb-linux-user.mak
diff --git a/default-configs/targets/sh4eb-softmmu.mak b/configs/targets/sh4eb-softmmu.mak
similarity index 100%
rename from default-configs/targets/sh4eb-softmmu.mak
rename to configs/targets/sh4eb-softmmu.mak
diff --git a/default-configs/targets/sparc-linux-user.mak b/configs/targets/sparc-linux-user.mak
similarity index 100%
rename from default-configs/targets/sparc-linux-user.mak
rename to configs/targets/sparc-linux-user.mak
diff --git a/default-configs/targets/sparc-softmmu.mak b/configs/targets/sparc-softmmu.mak
similarity index 100%
rename from default-configs/targets/sparc-softmmu.mak
rename to configs/targets/sparc-softmmu.mak
diff --git a/default-configs/targets/sparc32plus-linux-user.mak b/configs/targets/sparc32plus-linux-user.mak
similarity index 100%
rename from default-configs/targets/sparc32plus-linux-user.mak
rename to configs/targets/sparc32plus-linux-user.mak
diff --git a/default-configs/targets/sparc64-linux-user.mak b/configs/targets/sparc64-linux-user.mak
similarity index 100%
rename from default-configs/targets/sparc64-linux-user.mak
rename to configs/targets/sparc64-linux-user.mak
diff --git a/default-configs/targets/sparc64-softmmu.mak b/configs/targets/sparc64-softmmu.mak
similarity index 100%
rename from default-configs/targets/sparc64-softmmu.mak
rename to configs/targets/sparc64-softmmu.mak
diff --git a/default-configs/targets/tricore-softmmu.mak b/configs/targets/tricore-softmmu.mak
similarity index 100%
rename from default-configs/targets/tricore-softmmu.mak
rename to configs/targets/tricore-softmmu.mak
diff --git a/default-configs/targets/x86_64-bsd-user.mak b/configs/targets/x86_64-bsd-user.mak
similarity index 100%
rename from default-configs/targets/x86_64-bsd-user.mak
rename to configs/targets/x86_64-bsd-user.mak
diff --git a/default-configs/targets/x86_64-linux-user.mak b/configs/targets/x86_64-linux-user.mak
similarity index 100%
rename from default-configs/targets/x86_64-linux-user.mak
rename to configs/targets/x86_64-linux-user.mak
diff --git a/default-configs/targets/x86_64-softmmu.mak b/configs/targets/x86_64-softmmu.mak
similarity index 100%
rename from default-configs/targets/x86_64-softmmu.mak
rename to configs/targets/x86_64-softmmu.mak
diff --git a/default-configs/targets/xtensa-linux-user.mak b/configs/targets/xtensa-linux-user.mak
similarity index 100%
rename from default-configs/targets/xtensa-linux-user.mak
rename to configs/targets/xtensa-linux-user.mak
diff --git a/default-configs/targets/xtensa-softmmu.mak b/configs/targets/xtensa-softmmu.mak
similarity index 100%
rename from default-configs/targets/xtensa-softmmu.mak
rename to configs/targets/xtensa-softmmu.mak
diff --git a/default-configs/targets/xtensaeb-linux-user.mak b/configs/targets/xtensaeb-linux-user.mak
similarity index 100%
rename from default-configs/targets/xtensaeb-linux-user.mak
rename to configs/targets/xtensaeb-linux-user.mak
diff --git a/default-configs/targets/xtensaeb-softmmu.mak b/configs/targets/xtensaeb-softmmu.mak
similarity index 100%
rename from default-configs/targets/xtensaeb-softmmu.mak
rename to configs/targets/xtensaeb-softmmu.mak
diff --git a/default-configs/devices/xtensaeb-softmmu.mak b/default-configs/devices/xtensaeb-softmmu.mak
deleted file mode 100644
index f7e48c750c..0000000000
--- a/default-configs/devices/xtensaeb-softmmu.mak
+++ /dev/null
@@ -1,3 +0,0 @@
-# Default configuration for Xtensa
-
-include xtensa-softmmu.mak
diff --git a/meson.build b/meson.build
index 3ddd22ab7a..4893ffa2ac 100644
--- a/meson.build
+++ b/meson.build
@@ -1322,7 +1322,7 @@ foreach target : target_dirs
endif
actual_target_dirs += target
- config_target += keyval.load('default-configs/targets' / target + '.mak')
+ config_target += keyval.load('configs/targets' / target + '.mak')
config_target += { 'TARGET_' + config_target['TARGET_ARCH'].to_upper(): 'y' }
if 'TARGET_NEED_FDT' in config_target
@@ -1370,7 +1370,7 @@ foreach target : target_dirs
if target.endswith('-softmmu')
config_devices_mak = target + '-config-devices.mak'
config_devices_mak = configure_file(
- input: ['default-configs/devices' / target + '.mak', 'Kconfig'],
+ input: ['configs/devices' / target / 'default.mak', 'Kconfig'],
output: config_devices_mak,
depfile: config_devices_mak + '.d',
capture: true,
diff --git a/MAINTAINERS b/MAINTAINERS
index f7e12ea248..0901a0e4de 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -87,7 +87,7 @@ S390 general architecture support
M: Cornelia Huck <cohuck@redhat.com>
M: Thomas Huth <thuth@redhat.com>
S: Supported
-F: default-configs/*/s390x-softmmu.mak
+F: configs/devices/s390x-softmmu/default.mak
F: gdb-xml/s390*.xml
F: hw/char/sclp*.[hc]
F: hw/char/terminal3270.c
@@ -195,7 +195,7 @@ F: target/hexagon/
F: linux-user/hexagon/
F: tests/tcg/hexagon/
F: disas/hexagon.c
-F: default-configs/targets/hexagon-linux-user.mak
+F: configs/targets/hexagon-linux-user/default.mak
F: docker/dockerfiles/debian-hexagon-cross.docker
F: docker/dockerfiles/debian-hexagon-cross.docker.d/build-toolchain.sh
@@ -228,7 +228,7 @@ R: Jiaxun Yang <jiaxun.yang@flygoat.com>
R: Aleksandar Rikalo <aleksandar.rikalo@syrmia.com>
S: Odd Fixes
F: target/mips/
-F: default-configs/*/*mips*
+F: configs/devices/mips*/*
F: disas/mips.c
F: docs/system/cpu-models-mips.rst.inc
F: hw/intc/mips_gic.c
@@ -253,7 +253,7 @@ S: Maintained
F: target/nios2/
F: hw/nios2/
F: disas/nios2.c
-F: default-configs/*/nios2-softmmu.mak
+F: configs/devices/nios2-softmmu/default.mak
OpenRISC TCG CPUs
M: Stafford Horne <shorne@gmail.com>
@@ -340,7 +340,7 @@ F: hw/xtensa/
F: tests/tcg/xtensa/
F: disas/xtensa.c
F: include/hw/xtensa/xtensa-isa.h
-F: default-configs/*/xtensa*.mak
+F: configs/devices/xtensa*/default.mak
TriCore TCG CPUs
M: Bastian Koppelmann <kbastian@mail.uni-paderborn.de>
@@ -1038,7 +1038,7 @@ AVR Machines
AVR MCUs
M: Michael Rolnik <mrolnik@gmail.com>
S: Maintained
-F: default-configs/*/avr-softmmu.mak
+F: configs/devices/avr-softmmu/default.mak
F: hw/avr/
F: include/hw/char/avr_usart.h
F: hw/char/avr_usart.c
@@ -1066,7 +1066,7 @@ HP B160L
M: Richard Henderson <richard.henderson@linaro.org>
R: Helge Deller <deller@gmx.de>
S: Odd Fixes
-F: default-configs/*/hppa-softmmu.mak
+F: configs/devices/hppa-softmmu/default.mak
F: hw/hppa/
F: pc-bios/hppa-firmware.img
@@ -1494,7 +1494,7 @@ F: hw/s390x/
F: include/hw/s390x/
F: hw/watchdog/wdt_diag288.c
F: include/hw/watchdog/wdt_diag288.h
-F: default-configs/*/s390x-softmmu.mak
+F: configs/devices/s390x-softmmu/default.mak
F: tests/acceptance/machine_s390_ccw_virtio.py
T: git https://gitlab.com/cohuck/qemu.git s390-next
T: git https://github.com/borntraeger/qemu.git s390-next
@@ -1698,7 +1698,6 @@ F: hw/pci-bridge/*
F: qapi/pci.json
F: docs/pci*
F: docs/specs/*pci*
-F: default-configs/pci.mak
ACPI/SMBIOS
M: Michael S. Tsirkin <mst@redhat.com>
@@ -1803,7 +1802,6 @@ F: docs/usb2.txt
F: docs/usb-storage.txt
F: include/hw/usb.h
F: include/hw/usb/
-F: default-configs/usb.mak
USB (serial adapter)
M: Gerd Hoffmann <kraxel@redhat.com>
@@ -2952,14 +2950,14 @@ M: Warner Losh <imp@bsdimp.com>
R: Kyle Evans <kevans@freebsd.org>
S: Maintained
F: bsd-user/
-F: default-configs/targets/*-bsd-user.mak
+F: configs/targets/*-bsd-user.mak
T: git https://github.com/qemu-bsd-user/qemu-bsd-user bsd-user-rebase-3.1
Linux user
M: Laurent Vivier <laurent@vivier.eu>
S: Maintained
F: linux-user/
-F: default-configs/targets/*linux-user.mak
+F: configs/targets/*linux-user.mak
F: scripts/qemu-binfmt-conf.sh
F: scripts/update-syscalltbl.sh
F: scripts/update-mips-syscall-args.sh
diff --git a/tests/Makefile.include b/tests/Makefile.include
index 8f220e15d1..e4dcb17329 100644
--- a/tests/Makefile.include
+++ b/tests/Makefile.include
@@ -36,7 +36,7 @@ export SRC_PATH
# Get the list of all supported sysemu targets
SYSEMU_TARGET_LIST := $(subst -softmmu.mak,,$(notdir \
- $(wildcard $(SRC_PATH)/default-configs/*-softmmu.mak)))
+ $(wildcard $(SRC_PATH)/configs/*-softmmu.mak)))
SPEED = quick
--
2.20.1
^ permalink raw reply related [flat|nested] 24+ messages in thread
* Re: [PATCH v1 4/5] configs: rename default-configs to configs and reorganise
2021-06-21 15:21 ` [PATCH v1 4/5] configs: rename default-configs to configs and reorganise Alex Bennée
@ 2021-06-21 18:14 ` Philippe Mathieu-Daudé
2021-06-21 18:38 ` Alex Bennée
0 siblings, 1 reply; 24+ messages in thread
From: Philippe Mathieu-Daudé @ 2021-06-21 18:14 UTC (permalink / raw)
To: Alex Bennée, thuth, qemu-devel
Cc: Max Filippov, Aleksandar Rikalo, Aurelien Jarno, pbonzini
On 6/21/21 5:21 PM, Alex Bennée wrote:
> In preparation for offering variation to our build configurations lets
> move everything and rename it to default. Common included base configs
> are also renamed.
>
> During the cleanup the stale usb.mak and pci.mak references were
> removed from MAINTAINERS.
>
> Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
> ---
> configure | 6 ++---
---
> meson.build | 4 ++--
> MAINTAINERS | 22 +++++++++----------
> tests/Makefile.include | 2 +-
> 103 files changed, 28 insertions(+), 30 deletions(-)
> --- a/tests/Makefile.include
> +++ b/tests/Makefile.include
> @@ -36,7 +36,7 @@ export SRC_PATH
>
> # Get the list of all supported sysemu targets
> SYSEMU_TARGET_LIST := $(subst -softmmu.mak,,$(notdir \
> - $(wildcard $(SRC_PATH)/default-configs/*-softmmu.mak)))
> + $(wildcard $(SRC_PATH)/configs/*-softmmu.mak)))
This one seems to have bitrotten.
^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [PATCH v1 4/5] configs: rename default-configs to configs and reorganise
2021-06-21 18:14 ` Philippe Mathieu-Daudé
@ 2021-06-21 18:38 ` Alex Bennée
0 siblings, 0 replies; 24+ messages in thread
From: Alex Bennée @ 2021-06-21 18:38 UTC (permalink / raw)
To: Philippe Mathieu-Daudé
Cc: thuth, Aleksandar Rikalo, qemu-devel, Max Filippov, pbonzini,
Aurelien Jarno
Philippe Mathieu-Daudé <f4bug@amsat.org> writes:
> On 6/21/21 5:21 PM, Alex Bennée wrote:
>> In preparation for offering variation to our build configurations lets
>> move everything and rename it to default. Common included base configs
>> are also renamed.
>>
>> During the cleanup the stale usb.mak and pci.mak references were
>> removed from MAINTAINERS.
>>
>> Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
>> ---
>> configure | 6 ++---
>
> ---
>> meson.build | 4 ++--
>> MAINTAINERS | 22 +++++++++----------
>> tests/Makefile.include | 2 +-
>> 103 files changed, 28 insertions(+), 30 deletions(-)
>
>> --- a/tests/Makefile.include
>> +++ b/tests/Makefile.include
>> @@ -36,7 +36,7 @@ export SRC_PATH
>>
>> # Get the list of all supported sysemu targets
>> SYSEMU_TARGET_LIST := $(subst -softmmu.mak,,$(notdir \
>> - $(wildcard $(SRC_PATH)/default-configs/*-softmmu.mak)))
>> + $(wildcard $(SRC_PATH)/configs/*-softmmu.mak)))
>
> This one seems to have bitrotten.
Hmm it didn't break the build, looking at it I think this stanza needs
to be dropped anyway...
Will fix thanks.
--
Alex Bennée
^ permalink raw reply [flat|nested] 24+ messages in thread
* [PATCH v1 5/5] configure: allow the selection of alternate config in the build
2021-06-21 15:21 [PATCH v1 0/5] custom device configs (split from larger series) Alex Bennée
` (3 preceding siblings ...)
2021-06-21 15:21 ` [PATCH v1 4/5] configs: rename default-configs to configs and reorganise Alex Bennée
@ 2021-06-21 15:21 ` Alex Bennée
4 siblings, 0 replies; 24+ messages in thread
From: Alex Bennée @ 2021-06-21 15:21 UTC (permalink / raw)
To: qemu-devel; +Cc: pbonzini, thuth, Alex Bennée, Philippe Mathieu-Daudé
While the default config works well enough it does end up enabling a
lot of stuff. For more minimal builds we can select a different list
of devices and let Kconfig work out what we want. For example:
../../configure --without-default-features \
--target-list=arm-softmmu,aarch64-softmmu \
--with-devices-aarch64=minimal
will override the aarch64-softmmu default set of devices with a more
minimal set of devices that just enables the virt and sbsa-ref models.
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
Cc: Philippe Mathieu-Daudé <philmd@redhat.com>
Cc: Paolo Bonzini <pbonzini@redhat.com>
Message-Id: <20210528163116.31902-1-alex.bennee@linaro.org>
---
v2
- remove extraneous cc
- dropped pathname from config
- add virt.mak config
- drop ZYNQMP from the 64bit only build
- test -f the --with-devices-FOO file
v3
- add config with the recently moved default-config->configs
- dropped Phillipe's r-b due to refactoring
- don't echo array to config-meson.cross
---
configure | 24 ++++++++++++++++++++-
configs/devices/aarch64-softmmu/minimal.mak | 9 ++++++++
meson.build | 3 ++-
3 files changed, 34 insertions(+), 2 deletions(-)
create mode 100644 configs/devices/aarch64-softmmu/minimal.mak
diff --git a/configure b/configure
index b47c38b504..e5cc6b2b29 100755
--- a/configure
+++ b/configure
@@ -921,6 +921,18 @@ for opt do
;;
--without-default-devices) default_devices="false"
;;
+ --with-devices-*[!a-zA-Z0-9_-]*=*) error_exit "Passed bad --with-devices-FOO option"
+ ;;
+ --with-devices-*) device_arch=${opt#--with-devices-};
+ device_arch=${device_arch%%=*}
+ cf=$source_path/configs/devices/$device_arch-softmmu/$optarg.mak
+ if test -f "$cf"; then
+ device_archs="$device_archs $device_arch"
+ eval "devices_${device_arch}=\$optarg"
+ else
+ error_exit "File $cf does not exist"
+ fi
+ ;;
--without-default-features) # processed above
;;
--enable-gprof) gprof="yes"
@@ -1770,7 +1782,8 @@ Advanced options (experts only):
--without-default-features default all --enable-* options to "disabled"
--without-default-devices do not include any device that is not needed to
start the emulator (only use if you are including
- desired devices in default-configs/devices/)
+ desired devices in configs/devices/)
+ --with-devices-ARCH=NAME override default configs/devices
--enable-debug enable common debug build options
--enable-sanitizers enable default sanitizers
--enable-tsan enable thread sanitizer
@@ -6331,6 +6344,15 @@ if test "$skip_meson" = no; then
echo "# Automatically generated by configure - do not modify" > $cross
echo "[properties]" >> $cross
+
+ # unroll any custom device configs
+ if test -n "$device_archs"; then
+ for a in $device_archs; do
+ eval "c=\$devices_${a}"
+ echo "${a}-softmmu = '$c'" >> $cross
+ done
+ fi
+
test -z "$cxx" && echo "link_language = 'c'" >> $cross
echo "[built-in options]" >> $cross
echo "c_args = [${CFLAGS:+$(meson_quote $CFLAGS)}]" >> $cross
diff --git a/configs/devices/aarch64-softmmu/minimal.mak b/configs/devices/aarch64-softmmu/minimal.mak
new file mode 100644
index 0000000000..0ebc1dca56
--- /dev/null
+++ b/configs/devices/aarch64-softmmu/minimal.mak
@@ -0,0 +1,9 @@
+#
+# A minimal version of the config that only supports only a few
+# virtual machines. This avoids bringing in any of numerous legacy
+# features from the 32bit platform (although virt still supports 32bit
+# itself)
+#
+
+CONFIG_ARM_VIRT=y
+CONFIG_SBSA_REF=y
diff --git a/meson.build b/meson.build
index 4893ffa2ac..1d7a9ee421 100644
--- a/meson.build
+++ b/meson.build
@@ -1368,9 +1368,10 @@ foreach target : target_dirs
configuration: config_target_data)}
if target.endswith('-softmmu')
+ config_input = meson.get_external_property(target, 'default')
config_devices_mak = target + '-config-devices.mak'
config_devices_mak = configure_file(
- input: ['configs/devices' / target / 'default.mak', 'Kconfig'],
+ input: ['configs/devices' / target / config_input + '.mak', 'Kconfig'],
output: config_devices_mak,
depfile: config_devices_mak + '.d',
capture: true,
--
2.20.1
^ permalink raw reply related [flat|nested] 24+ messages in thread