Hi Igor,
On 4/9/25 11:05, Igor Mammedov wrote:
On Fri, 4 Apr 2025 00:01:22 -0300
Gustavo Romero <gustavo.rom...@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.rom...@linaro.org>
Signed-off-by: Philippe Mathieu-Daudé <phi...@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