[PATCH 1/2] hw: Fix problem with the A*MPCORE switches in the Kconfig files

Thomas Huth posted 2 patches 2 months, 1 week ago
There is a newer version of this series
[PATCH 1/2] hw: Fix problem with the A*MPCORE switches in the Kconfig files
Posted by Thomas Huth 2 months, 1 week ago
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
Re: [PATCH 1/2] hw: Fix problem with the A*MPCORE switches in the Kconfig files
Posted by Philippe Mathieu-Daudé 2 months, 1 week ago
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.
Re: [PATCH 1/2] hw: Fix problem with the A*MPCORE switches in the Kconfig files
Posted by Thomas Huth 2 months, 1 week ago
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



Re: [PATCH 1/2] hw: Fix problem with the A*MPCORE switches in the Kconfig files
Posted by Philippe Mathieu-Daudé 2 months, 1 week ago
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>