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)
next prev parent 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).