qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Gustavo Romero <gustavo.romero@linaro.org>
To: Igor Mammedov <imammedo@redhat.com>
Cc: "Philippe Mathieu-Daudé" <philmd@linaro.org>,
	qemu-devel@nongnu.org, "Andrew Jones" <ajones@ventanamicro.com>,
	"Alex Bennée" <alex.bennee@linaro.org>,
	"Michael S. Tsirkin" <mst@redhat.com>,
	qemu-arm@nongnu.org, "Udo Steinberg" <udo@hypervisor.org>,
	"Shannon Zhao" <shannon.zhaosl@gmail.com>,
	"Peter Maydell" <peter.maydell@linaro.org>,
	"Ani Sinha" <anisinha@redhat.com>
Subject: Re: [PATCH-for-10.1 v3 6/9] qtest/bios-tables-test: Whitelist aarch64/virt 'its_off' variant blobs
Date: Wed, 9 Apr 2025 12:49:36 -0300	[thread overview]
Message-ID: <98b2676d-ad21-4c05-a165-12ae5e1b9c64@linaro.org> (raw)
In-Reply-To: <20250409160531.341c205e@imammedo.users.ipa.redhat.com>

Hi Igor,

On 4/9/25 11:05, Igor Mammedov wrote:
> On Fri, 4 Apr 2025 00:01:22 -0300
> Gustavo Romero <gustavo.romero@linaro.org> wrote:
> 
>> Hi Phil,
>>
>> On 4/3/25 17:40, Philippe Mathieu-Daudé wrote:
>>> We are going to fix the test_acpi_aarch64_virt_tcg_its_off()
>>> test. In preparation, copy the ACPI tables which will be
>>> altered as 'its_off' variants, and whitelist them.
>>>
>>> Reviewed-by: Gustavo Romero <gustavo.romero@linaro.org>
>>> Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
>>> ---
>>>    tests/qtest/bios-tables-test-allowed-diff.h |   3 +++
>>>    tests/qtest/bios-tables-test.c              |   1 +
>>>    tests/data/acpi/aarch64/virt/APIC.its_off   | Bin 0 -> 184 bytes
>>>    tests/data/acpi/aarch64/virt/FACP.its_off   | Bin 0 -> 276 bytes
>>>    tests/data/acpi/aarch64/virt/IORT.its_off   | Bin 0 -> 236 bytes
>>>    5 files changed, 4 insertions(+)
>>>    create mode 100644 tests/data/acpi/aarch64/virt/APIC.its_off
>>>    create mode 100644 tests/data/acpi/aarch64/virt/FACP.its_off
>>>    create mode 100644 tests/data/acpi/aarch64/virt/IORT.its_off
>>>
>>> diff --git a/tests/qtest/bios-tables-test-allowed-diff.h b/tests/qtest/bios-tables-test-allowed-diff.h
>>> index dfb8523c8bf..3421dd5adf3 100644
>>> --- a/tests/qtest/bios-tables-test-allowed-diff.h
>>> +++ b/tests/qtest/bios-tables-test-allowed-diff.h
>>> @@ -1 +1,4 @@
>>>    /* List of comma-separated changed AML files to ignore */
>>> +"tests/data/acpi/aarch64/virt/APIC.its_off",
>>> +"tests/data/acpi/aarch64/virt/FACP.its_off",
>>> +"tests/data/acpi/aarch64/virt/IORT.its_off",
>>
>> I think your first approach is the correct one: you add the blobs
>> when adding the new test, so they would go into patch 5/9 in this series,
>> making the test pass without adding anything to bios-tables-test-allowed-diff.h.
>> Then in this patch only add the APIC.its_off table to the bios-tables-test-allowed-diff.h
>> since that's the table that changes when the fix is in place, as you did in:
> 
> if APIC.its_off is the only one that's changing, but FACP/IORT blobs are the same
> as suffix-less blobs, one can omit copying FACP/IORT as test harness will fallback
> to suffix-less blob if the one with suffix isn't found.

OK. Just clarifying and for the records, this is not the case for this series


> if blobs are different from defaults then create empty blobs and whitelist them in the same patch
> then do your changes and then update blobs & wipeout withe list.

Thanks for confirming it. That's what I suggested to Phil in my first review and what
I understood from the prescription in bios-tables-test.c.

However, on second thoughts, for this particular series, isn't it better to have the following commit sequence instead:

1) Add the new test and the new blobs that make the test pass, i.e. APIC.suffix, FACP.suffix, and IORT.suffix (they are different than the default suffix-less blobs)
2) Whitelist only the APIC.suffix since that's the table that will change with the fix
3) Add the fix (which changes the APIC table so a new APIC.suffix blob is needed and also stops generating the IORT table, so no more IORT.suffix blob is necessary)
4) Finally, update only the APIC.suffix blob and remove the IORT.suffix blob and wipe out the whitelist

This way:

A) It's clear that only ACPI blob changed with the fix, because there is no addition of a FACP.suffix blob in 4) (it remains the same)
B) It's clear that the IORT table is removed with the fix and is not relevant anymore for the test

What do you think?


Cheers,
Gustavo

> Phil,
> the process is described in doc comment at the top of tests/qtest/bios-tables-test.c
> 
>> https://mail.gnu.org/archive/html/qemu-devel/2025-03/msg07082.html
>>
>> Plus, adding the blobs, which are actually related to the test in the other
>> patch, and ignoring them at the same time looks confusing to me. I understand
>> that only the blob that changes (APIC.its_off) with the fix should be temporarily
>> ignored and, later, updated, as in your first series.
>>
>>
>> Cheers,
>> Gustavo
>>
>>> diff --git a/tests/qtest/bios-tables-test.c b/tests/qtest/bios-tables-test.c
>>> index baaf199e01c..55366bf4956 100644
>>> --- a/tests/qtest/bios-tables-test.c
>>> +++ b/tests/qtest/bios-tables-test.c
>>> @@ -2151,6 +2151,7 @@ static void test_acpi_aarch64_virt_tcg_its_off(void)
>>>        test_data data = {
>>>            .machine = "virt",
>>>            .arch = "aarch64",
>>> +        .variant = ".its_off",
>>>            .tcg_only = true,
>>>            .uefi_fl1 = "pc-bios/edk2-aarch64-code.fd",
>>>            .uefi_fl2 = "pc-bios/edk2-arm-vars.fd",
>>> diff --git a/tests/data/acpi/aarch64/virt/APIC.its_off b/tests/data/acpi/aarch64/virt/APIC.its_off
>>> new file mode 100644
>>> index 0000000000000000000000000000000000000000..c37d05d6e05805304f10afe73eb7cb9100fcccfa
>>> GIT binary patch
>>> literal 184
>>> zcmZ<^@O0k6z`($=+{xeBBUr&HBEVSz2pEB4AU24G0Uik$i-7~iVgWL^17JJ`2AFzr
>>> bgb+@aBn}xq0gwb2)Q)cq{30-g9B_L93G4|0
>>>
>>> literal 0
>>> HcmV?d00001
>>>
>>> diff --git a/tests/data/acpi/aarch64/virt/FACP.its_off b/tests/data/acpi/aarch64/virt/FACP.its_off
>>> new file mode 100644
>>> index 0000000000000000000000000000000000000000..606dac3fe4b55c31fd68b25d3a4127eeef227434
>>> GIT binary patch
>>> literal 276
>>> zcmZ>BbPf<<WME(uaq@Te2v%^42yj*a0-z8Bhz+8t3j|P&V`N}P6&N^PpsQ~v$aVnZ
>>> CVg~^L
>>>
>>> literal 0
>>> HcmV?d00001
>>>
>>> diff --git a/tests/data/acpi/aarch64/virt/IORT.its_off b/tests/data/acpi/aarch64/virt/IORT.its_off
>>> new file mode 100644
>>> index 0000000000000000000000000000000000000000..0fceb820d509e852ca0849baf568a8e93e426738
>>> GIT binary patch
>>> literal 236
>>> zcmebD4+?q1z`(#9?&R<65v<@85#X!<1dKp25F11@1F-=RgMkDCNC*yK9F_<M77!bR
>>> zUBI%eoFED&4;F$FSwK1)h;xBB2Py`m{{M%tVD>TjFfcO#g+N#Zh@s|zoCF3AP#UU@
>>> R!2`+%Dg6Hr$N|zYvjDIZ5CH%H
>>>
>>> literal 0
>>> HcmV?d00001
>>>    
>>
> 



  reply	other threads:[~2025-04-09 15:50 UTC|newest]

Thread overview: 30+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-04-03 20:40 [PATCH-for-10.1 v3 0/9] hw/arm: GIC ITS=off ACPI tables fixes Philippe Mathieu-Daudé
2025-04-03 20:40 ` [PATCH-for-10.1 v3 1/9] hw/arm/virt: Remove pointless VirtMachineState::tcg_its field Philippe Mathieu-Daudé
2025-04-07 11:57   ` Eric Auger
2025-04-03 20:40 ` [PATCH-for-10.1 v3 2/9] hw/intc/gicv3_its: Do not check its_class_name() for NULL Philippe Mathieu-Daudé
2025-04-07 11:57   ` Eric Auger
2025-04-03 20:40 ` [PATCH-for-10.1 v3 3/9] hw/arm/virt: Simplify create_its() Philippe Mathieu-Daudé
2025-04-04  2:59   ` Gustavo Romero
2025-04-07 12:05   ` Eric Auger
2025-04-03 20:40 ` [PATCH-for-10.1 v3 4/9] hw/arm/virt-acpi: Factor its_enabled() helper out Philippe Mathieu-Daudé
2025-04-07 12:08   ` Eric Auger
2025-04-03 20:40 ` [PATCH-for-10.1 v3 5/9] qtest/bios-tables-test: Add test for -M virt, its=off Philippe Mathieu-Daudé
2025-04-04  3:00   ` [PATCH-for-10.1 v3 5/9] qtest/bios-tables-test: Add test for -M virt,its=off Gustavo Romero
2025-04-07 12:55     ` Eric Auger
2025-04-03 20:40 ` [PATCH-for-10.1 v3 6/9] qtest/bios-tables-test: Whitelist aarch64/virt 'its_off' variant blobs Philippe Mathieu-Daudé
2025-04-04  3:01   ` Gustavo Romero
2025-04-09 14:05     ` Igor Mammedov
2025-04-09 15:49       ` Gustavo Romero [this message]
2025-04-10  6:50         ` Igor Mammedov
2025-04-10 16:22           ` Gustavo Romero
2025-04-17 21:06             ` Gustavo Romero
2025-04-17 21:21               ` Michael S. Tsirkin
2025-05-06 15:36             ` Igor Mammedov
2025-04-03 20:40 ` [PATCH-for-10.1 v3 7/9] hw/arm/virt-acpi: Always build IORT table (even with GIC ITS disabled) Philippe Mathieu-Daudé
2025-04-04  3:02   ` Gustavo Romero
2025-04-07 13:30   ` Eric Auger
2025-04-03 20:40 ` [PATCH-for-10.1 v3 8/9] hw/arm/virt-acpi: Do not advertise disabled GIC ITS Philippe Mathieu-Daudé
2025-04-03 20:40 ` [PATCH-for-10.1 v3 9/9] qtest/bios-tables-test: Update aarch64/virt 'its_off' variant blobs Philippe Mathieu-Daudé
2025-04-04  3:04   ` Gustavo Romero
2025-04-15  8:19 ` [PATCH-for-10.1 v3 0/9] hw/arm: GIC ITS=off ACPI tables fixes Philippe Mathieu-Daudé
2025-04-17 21:08   ` Gustavo Romero

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=98b2676d-ad21-4c05-a165-12ae5e1b9c64@linaro.org \
    --to=gustavo.romero@linaro.org \
    --cc=ajones@ventanamicro.com \
    --cc=alex.bennee@linaro.org \
    --cc=anisinha@redhat.com \
    --cc=imammedo@redhat.com \
    --cc=mst@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=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).