qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Thomas Huth <thuth@redhat.com>
To: Peter Maydell <peter.maydell@linaro.org>
Cc: peterx@redhat.com, qemu-devel@nongnu.org,
	"Daniel P . Berrangé" <berrange@redhat.com>,
	"Fabiano Rosas" <farosas@suse.de>,
	"Sebastian Ott" <sebott@redhat.com>,
	"Eric Auger" <eric.auger@redhat.com>,
	qemu-arm <qemu-arm@nongnu.org>
Subject: Re: [PATCH v2 1/3] tests/migration-test: Stick with gicv3 in aarch64 test
Date: Mon, 19 Feb 2024 15:20:55 +0100	[thread overview]
Message-ID: <0c7c448d-a651-4fa9-99d1-b08fcbaf5d5f@redhat.com> (raw)
In-Reply-To: <CAFEAcA-AVjn5JdG+6eBd69o5BiJjmA1G6i4F2wVPSmRSw-X=Yg@mail.gmail.com>

On 19/02/2024 13.50, Peter Maydell wrote:
> On Mon, 19 Feb 2024 at 11:54, Thomas Huth <thuth@redhat.com> wrote:
>>
>> On 07/02/2024 01.54, peterx@redhat.com wrote:
>>> From: Peter Xu <peterx@redhat.com>
>>>
>>> Recently we introduced cross-binary migration test.  It's always wanted
>>> that migration-test uses stable guest ABI for both QEMU binaries in this
>>> case, so that both QEMU binaries will be compatible on the migration
>>> stream with the cmdline specified.
>>>
>>> Switch to a static gic version "3" rather than using version "max", so that
>>> GIC should be stable now across any future QEMU binaries for migration-test.
>>>
>>> Here the version can actually be anything as long as the ABI is stable.  We
>>> choose "3" because it's the majority of what we already use in QEMU while
>>> still new enough: "git grep gic-version=3" shows 6 hit, while version 4 has
>>> no direct user yet besides "max".
>>>
>>> Note that even with this change, aarch64 won't be able to work yet with
>>> migration cross binary test, but then the only missing piece will be the
>>> stable CPU model.
>>>
>>> Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
>>> Signed-off-by: Peter Xu <peterx@redhat.com>
>>> ---
>>>    tests/qtest/migration-test.c | 2 +-
>>>    1 file changed, 1 insertion(+), 1 deletion(-)
>>>
>>> diff --git a/tests/qtest/migration-test.c b/tests/qtest/migration-test.c
>>> index 7675519cfa..8a5bb1752e 100644
>>> --- a/tests/qtest/migration-test.c
>>> +++ b/tests/qtest/migration-test.c
>>> @@ -819,7 +819,7 @@ static int test_migrate_start(QTestState **from, QTestState **to,
>>>        } else if (strcmp(arch, "aarch64") == 0) {
>>>            memory_size = "150M";
>>>            machine_alias = "virt";
>>> -        machine_opts = "gic-version=max";
>>> +        machine_opts = "gic-version=3";
>>>            arch_opts = g_strdup_printf("-cpu max -kernel %s", bootpath);
>>>            start_address = ARM_TEST_MEM_START;
>>>            end_address = ARM_TEST_MEM_END;
>>
>> Looks like the migration test now fails on aarch64 when "configure" has been
>> run with "--without-default-devices", since that disables the gicv3 in the
>> binary ... is there a way to check whether the gicv3 is available, and use
>> "=max" instead if it is not?
> 
> A QEMU for AArch64 with no GICv3 is of very little practical use,
> so I'm not sure it makes sense to allow users to build one like that.

Ok, if it doesn't make too much sense to build without GICv3, maybe a patch 
like this could be the right solution:

diff --git a/hw/intc/Kconfig b/hw/intc/Kconfig
--- 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

?

At least this seems to fix the the migration-test when compiling with 
--without-default-devices.

  Thomas



  parent reply	other threads:[~2024-02-19 14:21 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-02-07  0:54 [PATCH v2 0/3] ci: Fixes on the recent cross-binary test case peterx
2024-02-07  0:54 ` [PATCH v2 1/3] tests/migration-test: Stick with gicv3 in aarch64 test peterx
2024-02-19 11:53   ` Thomas Huth
2024-02-19 12:50     ` Peter Maydell
2024-02-19 14:13       ` Fabiano Rosas
2024-02-19 14:20       ` Thomas Huth [this message]
2024-02-07  0:54 ` [PATCH v2 2/3] ci: Remove tag dependency for build-previous-qemu peterx
2024-02-07  0:54 ` [PATCH v2 3/3] ci: Update comment for migration-compat-aarch64 peterx
2024-02-08  2:46 ` [PATCH v2 0/3] ci: Fixes on the recent cross-binary test case Peter Xu

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=0c7c448d-a651-4fa9-99d1-b08fcbaf5d5f@redhat.com \
    --to=thuth@redhat.com \
    --cc=berrange@redhat.com \
    --cc=eric.auger@redhat.com \
    --cc=farosas@suse.de \
    --cc=peter.maydell@linaro.org \
    --cc=peterx@redhat.com \
    --cc=qemu-arm@nongnu.org \
    --cc=qemu-devel@nongnu.org \
    --cc=sebott@redhat.com \
    /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).