[PATCH] hw/intc/Kconfig: Fix GIC settings when using "--without-default-devices"

Thomas Huth posted 1 patch 9 months, 1 week ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20240221110059.152665-1-thuth@redhat.com
Maintainers: Paolo Bonzini <pbonzini@redhat.com>
hw/intc/Kconfig | 12 ++++++------
1 file changed, 6 insertions(+), 6 deletions(-)
[PATCH] hw/intc/Kconfig: Fix GIC settings when using "--without-default-devices"
Posted by Thomas Huth 9 months, 1 week ago
When using "--without-default-devices", the ARM_GICV3_TCG and ARM_GIC_KVM
settings currently get disabled, though the arm virt machine is only of
very limited use in that case. This also causes the migration-test to
fail in such builds. Let's make sure that we always keep the GIC switches
enabled in the --without-default-devices builds, too.

Signed-off-by: Thomas Huth <thuth@redhat.com>
---
 hw/intc/Kconfig | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/hw/intc/Kconfig b/hw/intc/Kconfig
index 97d550b06b..2b5b2d2301 100644
--- a/hw/intc/Kconfig
+++ b/hw/intc/Kconfig
@@ -12,10 +12,6 @@ config IOAPIC
     bool
     select I8259
 
-config ARM_GIC
-    bool
-    select MSI_NONBROKEN
-
 config OPENPIC
     bool
     select MSI_NONBROKEN
@@ -25,14 +21,18 @@ config APIC
     select MSI_NONBROKEN
     select I8259
 
+config ARM_GIC
+    bool
+    select ARM_GICV3_TCG if TCG
+    select ARM_GIC_KVM if KVM
+    select MSI_NONBROKEN
+
 config ARM_GICV3_TCG
     bool
-    default y
     depends on ARM_GIC && TCG
 
 config ARM_GIC_KVM
     bool
-    default y
     depends on ARM_GIC && KVM
 
 config XICS
-- 
2.43.2
Re: [PATCH] hw/intc/Kconfig: Fix GIC settings when using "--without-default-devices"
Posted by Peter Maydell 8 months, 3 weeks ago
On Wed, 21 Feb 2024 at 11:01, Thomas Huth <thuth@redhat.com> wrote:
>
> When using "--without-default-devices", the ARM_GICV3_TCG and ARM_GIC_KVM
> settings currently get disabled, though the arm virt machine is only of
> very limited use in that case. This also causes the migration-test to
> fail in such builds. Let's make sure that we always keep the GIC switches
> enabled in the --without-default-devices builds, too.
>
> Signed-off-by: Thomas Huth <thuth@redhat.com>
> ---
>  hw/intc/Kconfig | 12 ++++++------
>  1 file changed, 6 insertions(+), 6 deletions(-)

I don't understand the Kconfig infrastructure well enough to
review this, but if somebody who does wants to give it a
reviewed-by I'm happy to take it into target-arm.next.

thanks
-- PMM
Re: [PATCH] hw/intc/Kconfig: Fix GIC settings when using "--without-default-devices"
Posted by Philippe Mathieu-Daudé 9 months, 1 week ago
On 21/2/24 12:00, Thomas Huth wrote:
> When using "--without-default-devices", the ARM_GICV3_TCG and ARM_GIC_KVM
> settings currently get disabled, though the arm virt machine is only of
> very limited use in that case. This also causes the migration-test to
> fail in such builds. Let's make sure that we always keep the GIC switches
> enabled in the --without-default-devices builds, too.
> 
> Signed-off-by: Thomas Huth <thuth@redhat.com>
> ---
>   hw/intc/Kconfig | 12 ++++++------
>   1 file changed, 6 insertions(+), 6 deletions(-)
> 
> diff --git a/hw/intc/Kconfig b/hw/intc/Kconfig
> index 97d550b06b..2b5b2d2301 100644
> --- a/hw/intc/Kconfig
> +++ b/hw/intc/Kconfig
> @@ -12,10 +12,6 @@ config IOAPIC
>       bool
>       select I8259
>   
> -config ARM_GIC
> -    bool
> -    select MSI_NONBROKEN
> -
>   config OPENPIC
>       bool
>       select MSI_NONBROKEN
> @@ -25,14 +21,18 @@ config APIC
>       select MSI_NONBROKEN
>       select I8259
>   
> +config ARM_GIC
> +    bool
> +    select ARM_GICV3_TCG if TCG
> +    select ARM_GIC_KVM if KVM

This is odd, we usually 'select' dependencies.

> +    select MSI_NONBROKEN
> +
>   config ARM_GICV3_TCG
>       bool
> -    default y

Don't we want instead:

        default y if TCG

>       depends on ARM_GIC && TCG
>   
>   config ARM_GIC_KVM
>       bool
> -    default y

and:

        default y if KVM

?

>       depends on ARM_GIC && KVM
>   
>   config XICS
Re: [PATCH] hw/intc/Kconfig: Fix GIC settings when using "--without-default-devices"
Posted by Thomas Huth 9 months, 1 week ago
On 22/02/2024 08.57, Philippe Mathieu-Daudé wrote:
> On 21/2/24 12:00, Thomas Huth wrote:
>> When using "--without-default-devices", the ARM_GICV3_TCG and ARM_GIC_KVM
>> settings currently get disabled, though the arm virt machine is only of
>> very limited use in that case. This also causes the migration-test to
>> fail in such builds. Let's make sure that we always keep the GIC switches
>> enabled in the --without-default-devices builds, too.
>>
>> Signed-off-by: Thomas Huth <thuth@redhat.com>
>> ---
>>   hw/intc/Kconfig | 12 ++++++------
>>   1 file changed, 6 insertions(+), 6 deletions(-)
>>
>> diff --git a/hw/intc/Kconfig b/hw/intc/Kconfig
>> index 97d550b06b..2b5b2d2301 100644
>> --- a/hw/intc/Kconfig
>> +++ b/hw/intc/Kconfig
>> @@ -12,10 +12,6 @@ config IOAPIC
>>       bool
>>       select I8259
>> -config ARM_GIC
>> -    bool
>> -    select MSI_NONBROKEN
>> -
>>   config OPENPIC
>>       bool
>>       select MSI_NONBROKEN
>> @@ -25,14 +21,18 @@ config APIC
>>       select MSI_NONBROKEN
>>       select I8259
>> +config ARM_GIC
>> +    bool
>> +    select ARM_GICV3_TCG if TCG
>> +    select ARM_GIC_KVM if KVM
> 
> This is odd, we usually 'select' dependencies.

We could also move the two select lines into the VIRT Kconfig switch in 
hw/arm/ ... would that look better?

>> +    select MSI_NONBROKEN
>> +
>>   config ARM_GICV3_TCG
>>       bool
>> -    default y
> 
> Don't we want instead:
> 
>         default y if TCG

No, that won't fix the issue, since such statements will also be set to "no" 
if you run configure --without-default-devices.

  Thomas


Re: [PATCH] hw/intc/Kconfig: Fix GIC settings when using "--without-default-devices"
Posted by Fabiano Rosas 9 months, 1 week ago
Thomas Huth <thuth@redhat.com> writes:

> When using "--without-default-devices", the ARM_GICV3_TCG and ARM_GIC_KVM
> settings currently get disabled, though the arm virt machine is only of
> very limited use in that case. This also causes the migration-test to
> fail in such builds. Let's make sure that we always keep the GIC switches
> enabled in the --without-default-devices builds, too.
>
> Signed-off-by: Thomas Huth <thuth@redhat.com>

Tested-by: Fabiano Rosas <farosas@suse.de>