qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Igor Mammedov <imammedo@redhat.com>
To: "Philippe Mathieu-Daudé" <philmd@linaro.org>
Cc: qemu-devel@nongnu.org, "Thomas Huth" <thuth@redhat.com>,
	"Gustavo Romero" <gustavo.romero@linaro.org>,
	"Peter Maydell" <peter.maydell@linaro.org>,
	"Laurent Vivier" <lvivier@redhat.com>,
	"Ani Sinha" <anisinha@redhat.com>,
	"Udo Steinberg" <udo@hypervisor.org>,
	"Michael S. Tsirkin" <mst@redhat.com>,
	qemu-arm@nongnu.org, "Paolo Bonzini" <pbonzini@redhat.com>,
	"Andrew Jones" <ajones@ventanamicro.com>,
	"Daniel P. Berrangé" <berrange@redhat.com>,
	"Fabiano Rosas" <farosas@suse.de>,
	"Alex Bennée" <alex.bennee@linaro.org>,
	"Shannon Zhao" <shannon.zhaosl@gmail.com>
Subject: Re: [PATCH-for-10.0? v2 13/14] hw/arm/virt-acpi: Do not advertise disabled GIC ITS
Date: Tue, 6 May 2025 17:49:23 +0200	[thread overview]
Message-ID: <20250506174923.4fce914c@imammedo.users.ipa.redhat.com> (raw)
In-Reply-To: <6b64af93-f542-4a0e-8e55-5bb235f42c83@linaro.org>

On Fri, 4 Apr 2025 14:49:45 +0200
Philippe Mathieu-Daudé <philmd@linaro.org> wrote:

> On 4/4/25 12:41, Igor Mammedov wrote:
> > On Thu,  3 Apr 2025 17:18:28 +0200
> > Philippe Mathieu-Daudé <philmd@linaro.org> wrote:
> >   
> >> GIC ITS can be disabled at runtime using '-M its=off',
> >> which sets VirtMachineState::its = false. Check this
> >> field to avoid advertising the ITS in the MADT table.
> >>
> >> Reported-by: Udo Steinberg <udo@hypervisor.org>
> >> Resolves: https://gitlab.com/qemu-project/qemu/-/issues/2886
> >> Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
> >> Reviewed-by: Gustavo Romero <gustavo.romero@linaro.org>
> >> ---
> >>   hw/arm/virt-acpi-build.c | 2 +-
> >>   1 file changed, 1 insertion(+), 1 deletion(-)
> >>
> >> diff --git a/hw/arm/virt-acpi-build.c b/hw/arm/virt-acpi-build.c
> >> index e7e27951cb9..38a9e6fe0c5 100644
> >> --- a/hw/arm/virt-acpi-build.c
> >> +++ b/hw/arm/virt-acpi-build.c
> >> @@ -212,7 +212,7 @@ static bool its_enabled(VirtMachineState *vms)
> >>   {
> >>       VirtMachineClass *vmc = VIRT_MACHINE_GET_CLASS(vms);
> >>   
> >> -    return !vmc->no_its;
> >> +    return !vmc->no_its && vms->its;  
> > 
> > It's confusing have both no_its and its,
> > it would be better to lean this mess up (i.e dedup or rename if something is poorly named)  
> 
> What about:
> 
> class: s/no_its/!its_createable/ or !its_usable
> state: s/its/its_created/ or its_used or its_in_use

looking at the code what we are essentially doing with variables in class,
is selecting its device type. And then playing scattered if/then game to decide
which 'its' to create or not create.
can we make something like this instead:

 machine_foo_class_init_vX():
  vmc->its_type = NULL;

 machine_foo_class_init_vX+1():
  vmc->its_type = accel_get_its_type()
 
and then elsewhere:

if(vmc->its_type && vms->its_enabled)
    create_its(vmc->its_type)




  reply	other threads:[~2025-05-06 15:50 UTC|newest]

Thread overview: 32+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-04-03 15:18 [PATCH-for-10.0 v2 00/14] hw/arm: Tests & ACPI tables fixes for 10.0 Philippe Mathieu-Daudé
2025-04-03 15:18 ` [PATCH-for-10.0 v2 01/14] tests/functional/test_aarch64_rme_virt: fix sporadic failure Philippe Mathieu-Daudé
2025-04-03 15:18 ` [PATCH-for-10.0 v2 02/14] tests/functional: Add a decorator for skipping tests on particular OS Philippe Mathieu-Daudé
2025-04-03 17:31   ` Richard Henderson
2025-04-03 18:04   ` Thomas Huth
2025-04-03 20:27     ` Philippe Mathieu-Daudé
2025-04-03 15:18 ` [PATCH-for-10.0 v2 03/14] tests/functional: Skip aarch64_replay test on macOS Philippe Mathieu-Daudé
2025-04-03 17:31   ` Richard Henderson
2025-04-03 15:18 ` [PATCH-for-10.0 v2 04/14] tests/qtest: Skip Aarch64 VMapple machine Philippe Mathieu-Daudé
2025-04-03 17:33   ` Richard Henderson
2025-04-03 18:00   ` Thomas Huth
2025-04-03 15:18 ` [PATCH-for-10.0 v2 05/14] hw/arm: Do not build VMapple machine by default Philippe Mathieu-Daudé
2025-04-03 17:34   ` Richard Henderson
2025-04-03 15:18 ` [PATCH-for-10.0? v2 06/14] hw/arm/virt: Remove pointless VirtMachineState::tcg_its field Philippe Mathieu-Daudé
2025-04-03 17:36   ` Richard Henderson
2025-04-03 20:24     ` Philippe Mathieu-Daudé
2025-04-03 15:18 ` [PATCH-for-10.0? v2 07/14] hw/intc/gicv3_its: Do not check its_class_name() for NULL Philippe Mathieu-Daudé
2025-04-03 17:37   ` Richard Henderson
2025-04-03 15:18 ` [PATCH-for-10.0? v2 08/14] hw/arm/virt: Simplify create_its() Philippe Mathieu-Daudé
2025-04-03 17:38   ` Richard Henderson
2025-04-03 15:18 ` [PATCH-for-10.0? v2 09/14] hw/arm/virt-acpi: Factor its_enabled() helper out Philippe Mathieu-Daudé
2025-04-03 17:38   ` Richard Henderson
2025-04-03 15:18 ` [PATCH-for-10.0? v2 10/14] qtest/bios-tables-test: Add test for -M virt, its=off Philippe Mathieu-Daudé
2025-04-03 15:18 ` [PATCH-for-10.0? v2 11/14] qtest/bios-tables-test: Whitelist aarch64/virt 'its_off' variant blobs Philippe Mathieu-Daudé
2025-04-04 10:50   ` Igor Mammedov
2025-04-03 15:18 ` [PATCH-for-10.0? v2 12/14] hw/arm/virt-acpi: Always build IORT table (even with GIC ITS disabled) Philippe Mathieu-Daudé
2025-04-03 15:18 ` [PATCH-for-10.0? v2 13/14] hw/arm/virt-acpi: Do not advertise disabled GIC ITS Philippe Mathieu-Daudé
2025-04-04 10:41   ` Igor Mammedov
2025-04-04 12:49     ` Philippe Mathieu-Daudé
2025-05-06 15:49       ` Igor Mammedov [this message]
2025-04-03 15:18 ` [PATCH-for-10.0? v2 14/14] qtest/bios-tables-test: Update aarch64/virt 'its_off' variant blobs Philippe Mathieu-Daudé
2025-04-03 16:31 ` [PATCH-for-10.0 v2 00/14] hw/arm: Tests & ACPI tables fixes for 10.0 Michael S. Tsirkin

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20250506174923.4fce914c@imammedo.users.ipa.redhat.com \
    --to=imammedo@redhat.com \
    --cc=ajones@ventanamicro.com \
    --cc=alex.bennee@linaro.org \
    --cc=anisinha@redhat.com \
    --cc=berrange@redhat.com \
    --cc=farosas@suse.de \
    --cc=gustavo.romero@linaro.org \
    --cc=lvivier@redhat.com \
    --cc=mst@redhat.com \
    --cc=pbonzini@redhat.com \
    --cc=peter.maydell@linaro.org \
    --cc=philmd@linaro.org \
    --cc=qemu-arm@nongnu.org \
    --cc=qemu-devel@nongnu.org \
    --cc=shannon.zhaosl@gmail.com \
    --cc=thuth@redhat.com \
    --cc=udo@hypervisor.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).