A9MPCORE, ARM11MPCORE and A15MPCORE are defined twice, once in
hw/cpu/Kconfig and once in hw/arm/Kconfig. This is only possible
by accident, since hw/cpu/Kconfig is never included from hw/Kconfig.
Fix it by declaring the switches only in hw/cpu/Kconfig (since the
related files reside in the hw/cpu/ folder) and by making sure that
the file hw/cpu/Kconfig is now properly included from hw/Kconfig.
Signed-off-by: Thomas Huth <thuth@redhat.com>
---
hw/Kconfig | 1 +
hw/arm/Kconfig | 15 ---------------
hw/cpu/Kconfig | 12 +++++++++---
3 files changed, 10 insertions(+), 18 deletions(-)
diff --git a/hw/Kconfig b/hw/Kconfig
index 2c00936c28..9567cc475d 100644
--- a/hw/Kconfig
+++ b/hw/Kconfig
@@ -48,6 +48,7 @@ source watchdog/Kconfig
# arch Kconfig
source arm/Kconfig
+source cpu/Kconfig
source alpha/Kconfig
source avr/Kconfig
source cris/Kconfig
diff --git a/hw/arm/Kconfig b/hw/arm/Kconfig
index 893a7bff66..d97015c45c 100644
--- a/hw/arm/Kconfig
+++ b/hw/arm/Kconfig
@@ -678,21 +678,6 @@ config ZAURUS
select NAND
select ECC
-config A9MPCORE
- bool
- select A9_GTIMER
- select A9SCU # snoop control unit
- select ARM_GIC
- select ARM_MPTIMER
-
-config A15MPCORE
- bool
- select ARM_GIC
-
-config ARM11MPCORE
- bool
- select ARM11SCU
-
config ARMSSE
bool
select ARM_V7M
diff --git a/hw/cpu/Kconfig b/hw/cpu/Kconfig
index 1767d028ac..f776e884cd 100644
--- a/hw/cpu/Kconfig
+++ b/hw/cpu/Kconfig
@@ -1,8 +1,14 @@
-config ARM11MPCORE
- bool
-
config A9MPCORE
bool
+ select A9_GTIMER
+ select A9SCU # snoop control unit
+ select ARM_GIC
+ select ARM_MPTIMER
config A15MPCORE
bool
+ select ARM_GIC
+
+config ARM11MPCORE
+ bool
+ select ARM11SCU
--
2.44.0
On 12/4/24 08:20, Thomas Huth wrote: > A9MPCORE, ARM11MPCORE and A15MPCORE are defined twice, once in > hw/cpu/Kconfig and once in hw/arm/Kconfig. This is only possible > by accident, since hw/cpu/Kconfig is never included from hw/Kconfig. > Fix it by declaring the switches only in hw/cpu/Kconfig (since the > related files reside in the hw/cpu/ folder) and by making sure that > the file hw/cpu/Kconfig is now properly included from hw/Kconfig. > > Signed-off-by: Thomas Huth <thuth@redhat.com> > --- > hw/Kconfig | 1 + > hw/arm/Kconfig | 15 --------------- > hw/cpu/Kconfig | 12 +++++++++--- > 3 files changed, 10 insertions(+), 18 deletions(-) > > diff --git a/hw/Kconfig b/hw/Kconfig > index 2c00936c28..9567cc475d 100644 > --- a/hw/Kconfig > +++ b/hw/Kconfig > @@ -48,6 +48,7 @@ source watchdog/Kconfig > > # arch Kconfig > source arm/Kconfig > +source cpu/Kconfig > source alpha/Kconfig > source avr/Kconfig > source cris/Kconfig > diff --git a/hw/arm/Kconfig b/hw/arm/Kconfig > index 893a7bff66..d97015c45c 100644 > --- a/hw/arm/Kconfig > +++ b/hw/arm/Kconfig > @@ -678,21 +678,6 @@ config ZAURUS > select NAND > select ECC > > -config A9MPCORE > - bool > - select A9_GTIMER > - select A9SCU # snoop control unit > - select ARM_GIC > - select ARM_MPTIMER > - > -config A15MPCORE > - bool > - select ARM_GIC > - > -config ARM11MPCORE > - bool > - select ARM11SCU > - > config ARMSSE > bool > select ARM_V7M > diff --git a/hw/cpu/Kconfig b/hw/cpu/Kconfig > index 1767d028ac..f776e884cd 100644 > --- a/hw/cpu/Kconfig > +++ b/hw/cpu/Kconfig > @@ -1,8 +1,14 @@ > -config ARM11MPCORE > - bool > - > config A9MPCORE > bool > + select A9_GTIMER > + select A9SCU # snoop control unit > + select ARM_GIC > + select ARM_MPTIMER > > config A15MPCORE > bool > + select ARM_GIC > + > +config ARM11MPCORE > + bool > + select ARM11SCU I thought https://lore.kernel.org/qemu-devel/20231212162935.42910-6-philmd@linaro.org/ was already merged :/ I'll look at what is missing and respin.
On 12/04/2024 13.10, Philippe Mathieu-Daudé wrote: > On 12/4/24 08:20, Thomas Huth wrote: >> A9MPCORE, ARM11MPCORE and A15MPCORE are defined twice, once in >> hw/cpu/Kconfig and once in hw/arm/Kconfig. This is only possible >> by accident, since hw/cpu/Kconfig is never included from hw/Kconfig. >> Fix it by declaring the switches only in hw/cpu/Kconfig (since the >> related files reside in the hw/cpu/ folder) and by making sure that >> the file hw/cpu/Kconfig is now properly included from hw/Kconfig. >> >> Signed-off-by: Thomas Huth <thuth@redhat.com> >> --- >> hw/Kconfig | 1 + >> hw/arm/Kconfig | 15 --------------- >> hw/cpu/Kconfig | 12 +++++++++--- >> 3 files changed, 10 insertions(+), 18 deletions(-) >> >> diff --git a/hw/Kconfig b/hw/Kconfig >> index 2c00936c28..9567cc475d 100644 >> --- a/hw/Kconfig >> +++ b/hw/Kconfig >> @@ -48,6 +48,7 @@ source watchdog/Kconfig >> # arch Kconfig >> source arm/Kconfig >> +source cpu/Kconfig >> source alpha/Kconfig >> source avr/Kconfig >> source cris/Kconfig >> diff --git a/hw/arm/Kconfig b/hw/arm/Kconfig >> index 893a7bff66..d97015c45c 100644 >> --- a/hw/arm/Kconfig >> +++ b/hw/arm/Kconfig >> @@ -678,21 +678,6 @@ config ZAURUS >> select NAND >> select ECC >> -config A9MPCORE >> - bool >> - select A9_GTIMER >> - select A9SCU # snoop control unit >> - select ARM_GIC >> - select ARM_MPTIMER >> - >> -config A15MPCORE >> - bool >> - select ARM_GIC >> - >> -config ARM11MPCORE >> - bool >> - select ARM11SCU >> - >> config ARMSSE >> bool >> select ARM_V7M >> diff --git a/hw/cpu/Kconfig b/hw/cpu/Kconfig >> index 1767d028ac..f776e884cd 100644 >> --- a/hw/cpu/Kconfig >> +++ b/hw/cpu/Kconfig >> @@ -1,8 +1,14 @@ >> -config ARM11MPCORE >> - bool >> - >> config A9MPCORE >> bool >> + select A9_GTIMER >> + select A9SCU # snoop control unit >> + select ARM_GIC >> + select ARM_MPTIMER >> config A15MPCORE >> bool >> + select ARM_GIC >> + >> +config ARM11MPCORE >> + bool >> + select ARM11SCU > > I thought > https://lore.kernel.org/qemu-devel/20231212162935.42910-6-philmd@linaro.org/ > was already merged :/ I'll look at what is missing and respin. Oh, ok. But I'd prefer to keep the hw/cpu/Kconfig file since it will be used in the 2nd patch here, too. Thomas
On 12/4/24 13:32, Thomas Huth wrote: > On 12/04/2024 13.10, Philippe Mathieu-Daudé wrote: >> On 12/4/24 08:20, Thomas Huth wrote: >>> A9MPCORE, ARM11MPCORE and A15MPCORE are defined twice, once in >>> hw/cpu/Kconfig and once in hw/arm/Kconfig. This is only possible >>> by accident, since hw/cpu/Kconfig is never included from hw/Kconfig. >>> Fix it by declaring the switches only in hw/cpu/Kconfig (since the >>> related files reside in the hw/cpu/ folder) and by making sure that >>> the file hw/cpu/Kconfig is now properly included from hw/Kconfig. >>> >>> Signed-off-by: Thomas Huth <thuth@redhat.com> >>> --- >>> hw/Kconfig | 1 + >>> hw/arm/Kconfig | 15 --------------- >>> hw/cpu/Kconfig | 12 +++++++++--- >>> 3 files changed, 10 insertions(+), 18 deletions(-) >>> >>> diff --git a/hw/Kconfig b/hw/Kconfig >>> index 2c00936c28..9567cc475d 100644 >>> --- a/hw/Kconfig >>> +++ b/hw/Kconfig >>> @@ -48,6 +48,7 @@ source watchdog/Kconfig >>> # arch Kconfig >>> source arm/Kconfig >>> +source cpu/Kconfig >>> source alpha/Kconfig >>> source avr/Kconfig >>> source cris/Kconfig >>> diff --git a/hw/arm/Kconfig b/hw/arm/Kconfig >>> index 893a7bff66..d97015c45c 100644 >>> --- a/hw/arm/Kconfig >>> +++ b/hw/arm/Kconfig >>> @@ -678,21 +678,6 @@ config ZAURUS >>> select NAND >>> select ECC >>> -config A9MPCORE >>> - bool >>> - select A9_GTIMER >>> - select A9SCU # snoop control unit >>> - select ARM_GIC >>> - select ARM_MPTIMER >>> - >>> -config A15MPCORE >>> - bool >>> - select ARM_GIC >>> - >>> -config ARM11MPCORE >>> - bool >>> - select ARM11SCU >>> - >>> config ARMSSE >>> bool >>> select ARM_V7M >>> diff --git a/hw/cpu/Kconfig b/hw/cpu/Kconfig >>> index 1767d028ac..f776e884cd 100644 >>> --- a/hw/cpu/Kconfig >>> +++ b/hw/cpu/Kconfig >>> @@ -1,8 +1,14 @@ >>> -config ARM11MPCORE >>> - bool >>> - >>> config A9MPCORE >>> bool >>> + select A9_GTIMER >>> + select A9SCU # snoop control unit >>> + select ARM_GIC >>> + select ARM_MPTIMER >>> config A15MPCORE >>> bool >>> + select ARM_GIC >>> + >>> +config ARM11MPCORE >>> + bool >>> + select ARM11SCU >> >> I thought >> https://lore.kernel.org/qemu-devel/20231212162935.42910-6-philmd@linaro.org/ >> was already merged :/ I'll look at what is missing and respin. > > Oh, ok. But I'd prefer to keep the hw/cpu/Kconfig file since it will be > used in the 2nd patch here, too. Fine, Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
© 2016 - 2025 Red Hat, Inc.