From: "Philippe Mathieu-Daudé" <philmd@linaro.org>
To: Gustavo Romero <gustavo.romero@linaro.org>, qemu-devel@nongnu.org
Cc: Udo Steinberg <udo@hypervisor.org>,
qemu-arm@nongnu.org, "Michael S. Tsirkin" <mst@redhat.com>,
Igor Mammedov <imammedo@redhat.com>,
Shannon Zhao <shannon.zhaosl@gmail.com>,
Ani Sinha <anisinha@redhat.com>,
Peter Maydell <peter.maydell@linaro.org>
Subject: Re: [PATCH-for-10.0 1/5] qtest/bios-tables-test: Add test for -M virt,its=off
Date: Wed, 2 Apr 2025 12:30:57 +0200 [thread overview]
Message-ID: <d3059aa1-952b-46b9-bb96-dace60664f49@linaro.org> (raw)
In-Reply-To: <1d1362a0-b544-476c-a305-a7d2212db423@linaro.org>
On 2/4/25 08:41, Gustavo Romero wrote:
> Hi Phil,
>
> On 3/31/25 19:12, Philippe Mathieu-Daudé wrote:
>> Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
>
> Please, put commit message (body) into the commits.
>
> For example, the commit message here could quickly explain that the FACP
> table
> changed because virtualization=on (due to PSCI conduit). I'm assuming
> virtualization is set to on because gic-version=max and so GICv4 is
> selected for
> testing. It also could be that we want to exercise its=off when Arm
> Virtualization
> Extensions are enabled, which is the common use case (I understand that ITS
> can be used also with virtualization=off).
>
> Finally, the commit message could mention at the end which struct
> vanishes in APIC table and why IO remapping table is affected by
> ITS on/off.
>
> A good commit message always help in code spelunking :)
I simply copied the reproducer from the issue, so I'll mention that.
(https://gitlab.com/qemu-project/qemu/-/issues/2886)
>
>
>> ---
>> tests/qtest/bios-tables-test.c | 22 ++++++++++++++++++++++
>> 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
>> 4 files changed, 22 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.c b/tests/qtest/bios-tables-
>> test.c
>> index 0a333ec4353..55366bf4956 100644
>> --- a/tests/qtest/bios-tables-test.c
>> +++ b/tests/qtest/bios-tables-test.c
>> @@ -2146,6 +2146,26 @@ static void
>> test_acpi_aarch64_virt_tcg_topology(void)
>> free_test_data(&data);
>> }
>> +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",
>> + .cd = "tests/data/uefi-boot-images/bios-tables-
>> test.aarch64.iso.qcow2",
>> + .ram_start = 0x40000000ULL,
>> + .scan_len = 128ULL * 1024 * 1024,
>> + };
>> +
>> + test_acpi_one("-cpu cortex-a57 "
>> + "-M virtualization=on,secure=off "
>> + "-M gic-version=max,its=off,iommu=smmuv3", &data);
>> + free_test_data(&data);
>> +}
>> +
>> static void test_acpi_q35_viot(void)
>> {
>> test_data data = {
>> @@ -2577,6 +2597,8 @@ int main(int argc, char *argv[])
>> test_acpi_aarch64_virt_tcg_acpi_hmat);
>> qtest_add_func("acpi/virt/topology",
>> test_acpi_aarch64_virt_tcg_topology);
>> + qtest_add_func("acpi/virt/its_off",
>> + test_acpi_aarch64_virt_tcg_its_off);
>> qtest_add_func("acpi/virt/numamem",
>> test_acpi_aarch64_virt_tcg_numamem);
>> qtest_add_func("acpi/virt/memhp",
>> test_acpi_aarch64_virt_tcg_memhp);
>> 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
>>
>
> I think the prescription for the acrobatics to update the ACPI expected
> tables says the blobs here should be empty (blob files are added empty)
> and at the same time they are listed in tests/qtest/bios-tables-test-
> allowed-diff.h:
>
> * 1. add empty files for new tables, if any, under tests/data/acpi
> * 2. list any changed files in tests/qtest/bios-tables-test-allowed-
> diff.h
> * 3. commit the above *before* making changes that affect the tables
>
> (from tests/qtest/bios-tables-test.c header)
>
> If that's correct, this patch should be merged with the following one
> (2/5) and
> IORT.its_off and FACP.its_off should also be listed in
> tests/qtest/bios-tables-test-allowed-diff.h so the empty blobs won't
> trigger
> a test failure.
I shouldn't have included the ACPI data in this patch but in the
following. IIUC, if no data/$TABLE.$variant, then the generic
data/$TABLE is used.
>
> Then patch 5/5 should add the expected/updated blobs and drop the
> *.its_off from
> bios-tables-test-allowed-diff.h. Patches 3/5 and 4/5 are sandwiched
> between (1/5 + 2/5) and (5/5).
>
> At least that's what I get from:
>
> * The resulting patchset/pull request then looks like this:
> * - patch 1: list changed files in tests/qtest/bios-tables-test-
> allowed-diff.h.
> * - patches 2 - n: real changes, may contain multiple patches.
> * - patch n + 1: update golden master binaries and empty tests/qtest/
> bios-tables-test-allowed-diff.h
>
> Otherwise the change looks good.
>
>
> Cheers,
> Gustavo
next prev parent reply other threads:[~2025-04-02 10:31 UTC|newest]
Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-03-31 22:12 [PATCH-for-10.0 0/5] hw/arm/virt-acpi: Do not advertise disabled GIC ITS in MADT table Philippe Mathieu-Daudé
2025-03-31 22:12 ` [PATCH-for-10.0 1/5] qtest/bios-tables-test: Add test for -M virt, its=off Philippe Mathieu-Daudé
2025-04-02 6:41 ` [PATCH-for-10.0 1/5] qtest/bios-tables-test: Add test for -M virt,its=off Gustavo Romero
2025-04-02 10:30 ` Philippe Mathieu-Daudé [this message]
2025-04-03 6:25 ` Gustavo Romero
2025-04-03 12:47 ` Philippe Mathieu-Daudé
2025-04-04 0:49 ` Gustavo Romero
2025-03-31 22:12 ` [PATCH-for-10.0 2/5] qtest/bios-tables-test: Whitelist aarch64/virt/APIC.its_off blob Philippe Mathieu-Daudé
2025-04-02 6:43 ` Gustavo Romero
2025-04-02 10:31 ` Philippe Mathieu-Daudé
2025-04-03 6:27 ` Gustavo Romero
2025-03-31 22:12 ` [PATCH-for-10.0 3/5] hw/arm/virt-acpi: Factor its_enabled() helper out Philippe Mathieu-Daudé
2025-04-02 6:43 ` Gustavo Romero
2025-04-02 10:27 ` Philippe Mathieu-Daudé
2025-04-03 6:28 ` Gustavo Romero
2025-03-31 22:12 ` [PATCH-for-10.0 4/5] hw/arm/virt-acpi: Do not advertise disabled GIC ITS Philippe Mathieu-Daudé
2025-04-02 6:45 ` Gustavo Romero
2025-03-31 22:12 ` [PATCH-for-10.0 5/5] qtest/bios-tables-test: Update aarch64/virt/APIC.its_off blob Philippe Mathieu-Daudé
2025-04-02 6:45 ` Gustavo Romero
2025-04-02 10:34 ` Philippe Mathieu-Daudé
2025-04-03 6:31 ` Gustavo Romero
2025-04-03 14:04 ` [PATCH-for-10.0 0/5] hw/arm/virt-acpi: Do not advertise disabled GIC ITS in MADT table 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=d3059aa1-952b-46b9-bb96-dace60664f49@linaro.org \
--to=philmd@linaro.org \
--cc=anisinha@redhat.com \
--cc=gustavo.romero@linaro.org \
--cc=imammedo@redhat.com \
--cc=mst@redhat.com \
--cc=peter.maydell@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).