cryptospore / rpms / qemu-kvm

Forked from rpms/qemu-kvm 2 years ago
Clone

Blame SOURCES/kvm-tests-acpi-manually-pad-OEM_ID-OEM_TABLE_ID-for-test.patch

dc1fe0
From 80fdb82bab21ab0d094795287ce903d0d48974fc Mon Sep 17 00:00:00 2001
dc1fe0
From: Igor Mammedov <imammedo@redhat.com>
dc1fe0
Date: Wed, 12 Jan 2022 08:03:29 -0500
dc1fe0
Subject: [PATCH 09/14] tests: acpi: manually pad OEM_ID/OEM_TABLE_ID for
dc1fe0
 test_oem_fields() test
dc1fe0
dc1fe0
RH-Author: Igor Mammedov <imammedo@redhat.com>
dc1fe0
RH-MergeRequest: 130: acpi: fix QEMU crash when started with SLIC table
dc1fe0
RH-Commit: [5/10] 7d55865be1e1574605734c2663bac233e87b8134
dc1fe0
RH-Bugzilla: 2043531
dc1fe0
RH-Acked-by: Gerd Hoffmann <kraxel@redhat.com>
dc1fe0
RH-Acked-by: Miroslav Rezanina <mrezanin@redhat.com>
dc1fe0
RH-Acked-by: MST <None>
dc1fe0
dc1fe0
The next commit will revert OEM fields padding with whitespace to
dc1fe0
padding with '\0' as it was before [1]. As result test_oem_fields() will
dc1fe0
fail due to unexpectedly smaller ID sizes read from QEMU ACPI tables.
dc1fe0
dc1fe0
Pad OEM_ID/OEM_TABLE_ID manually with spaces so that values the test
dc1fe0
puts on QEMU CLI and expected values match.
dc1fe0
dc1fe0
1) 602b458201 ("acpi: Permit OEM ID and OEM table ID fields to be changed")
dc1fe0
Signed-off-by: Igor Mammedov <imammedo@redhat.com>
dc1fe0
Message-Id: <20220112130332.1648664-2-imammedo@redhat.com>
dc1fe0
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
dc1fe0
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
dc1fe0
(cherry picked from commit a849522f726767022203ef2b6c395ea19facb866)
dc1fe0
Signed-off-by: Igor Mammedov <imammedo@redhat.com>
dc1fe0
---
dc1fe0
 tests/qtest/bios-tables-test.c | 15 ++++++---------
dc1fe0
 1 file changed, 6 insertions(+), 9 deletions(-)
dc1fe0
dc1fe0
diff --git a/tests/qtest/bios-tables-test.c b/tests/qtest/bios-tables-test.c
dc1fe0
index 088609c196..cfccfd4408 100644
dc1fe0
--- a/tests/qtest/bios-tables-test.c
dc1fe0
+++ b/tests/qtest/bios-tables-test.c
dc1fe0
@@ -71,9 +71,10 @@
dc1fe0
 
dc1fe0
 #define ACPI_REBUILD_EXPECTED_AML "TEST_ACPI_REBUILD_AML"
dc1fe0
 
dc1fe0
-#define OEM_ID             "TEST"
dc1fe0
-#define OEM_TABLE_ID       "OEM"
dc1fe0
-#define OEM_TEST_ARGS      "-machine x-oem-id="OEM_ID",x-oem-table-id="OEM_TABLE_ID
dc1fe0
+#define OEM_ID             "TEST  "
dc1fe0
+#define OEM_TABLE_ID       "OEM     "
dc1fe0
+#define OEM_TEST_ARGS      "-machine x-oem-id='" OEM_ID "',x-oem-table-id='" \
dc1fe0
+                           OEM_TABLE_ID "'"
dc1fe0
 
dc1fe0
 typedef struct {
dc1fe0
     bool tcg_only;
dc1fe0
@@ -1482,11 +1483,7 @@ static void test_acpi_q35_slic(void)
dc1fe0
 static void test_oem_fields(test_data *data)
dc1fe0
 {
dc1fe0
     int i;
dc1fe0
-    char oem_id[6];
dc1fe0
-    char oem_table_id[8];
dc1fe0
 
dc1fe0
-    strpadcpy(oem_id, sizeof oem_id, OEM_ID, ' ');
dc1fe0
-    strpadcpy(oem_table_id, sizeof oem_table_id, OEM_TABLE_ID, ' ');
dc1fe0
     for (i = 0; i < data->tables->len; ++i) {
dc1fe0
         AcpiSdtTable *sdt;
dc1fe0
 
dc1fe0
@@ -1496,8 +1493,8 @@ static void test_oem_fields(test_data *data)
dc1fe0
             continue;
dc1fe0
         }
dc1fe0
 
dc1fe0
-        g_assert(memcmp(sdt->aml + 10, oem_id, 6) == 0);
dc1fe0
-        g_assert(memcmp(sdt->aml + 16, oem_table_id, 8) == 0);
dc1fe0
+        g_assert(memcmp(sdt->aml + 10, OEM_ID, 6) == 0);
dc1fe0
+        g_assert(memcmp(sdt->aml + 16, OEM_TABLE_ID, 8) == 0);
dc1fe0
     }
dc1fe0
 }
dc1fe0
 
dc1fe0
-- 
dc1fe0
2.31.1
dc1fe0