All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/4] ACPI MADT and FADT update according to the ACPI 6.0 spec
@ 2022-10-11 18:17 Miguel Luis
  2022-10-11 18:17 ` [PATCH 1/4] tests/acpi: virt: allow acpi MADT and FADT changes Miguel Luis
                   ` (3 more replies)
  0 siblings, 4 replies; 7+ messages in thread
From: Miguel Luis @ 2022-10-11 18:17 UTC (permalink / raw)
  To: qemu-devel, qemu-arm
  Cc: mst, imammedo, ani, shannon.zhaosl, peter.maydell, miguel.luis

The MADT table structure has been updated in commit 37f33084ed2e                 
("acpi: arm/virt: madt: use build_append_int_noprefix() API to compose MADT table")
to include the 5.2.12.18 GIC ITS Structure and so table's revision also needs to 
be updated. MADT and the FADT tables from the same spec need to be in sync and in
this case also the FADT needs to be updated.                                     

Revision 6.0 of the ACPI FADT table introduces the field "Hypervisor Vendor      
Identity" which is missing and must be included.

Ref: https://uefi.org/sites/default/files/resources/ACPI_6_0_Errata_A.PDF

This patch series originates from a previous RFC [1] discussion. Reviewed-by
tags were kept on patches 2/4 and 3/4.

[1]: https://lists.gnu.org/archive/html/qemu-devel/2022-10/msg01326.html

Miguel Luis (4):
  tests/acpi: virt: allow acpi MADT and FADT changes
  acpi: fadt: support revision 6.0 of the ACPI specification
  acpi: arm/virt: madt: bump to revision 4 accordingly to ACPI 6.0
    Errata A
  tests/acpi: virt: update ACPI MADT and FADT binaries

 hw/acpi/aml-build.c               |  13 ++++++++++---
 hw/arm/virt-acpi-build.c          |  26 ++++++++++++--------------
 tests/data/acpi/virt/APIC         | Bin 168 -> 172 bytes
 tests/data/acpi/virt/APIC.memhp   | Bin 168 -> 172 bytes
 tests/data/acpi/virt/APIC.numamem | Bin 168 -> 172 bytes
 tests/data/acpi/virt/FACP         | Bin 268 -> 276 bytes
 tests/data/acpi/virt/FACP.memhp   | Bin 268 -> 276 bytes
 tests/data/acpi/virt/FACP.numamem | Bin 268 -> 276 bytes
 8 files changed, 22 insertions(+), 17 deletions(-)

-- 
2.37.3



^ permalink raw reply	[flat|nested] 7+ messages in thread

* [PATCH 1/4] tests/acpi: virt: allow acpi MADT and FADT changes
  2022-10-11 18:17 [PATCH 0/4] ACPI MADT and FADT update according to the ACPI 6.0 spec Miguel Luis
@ 2022-10-11 18:17 ` Miguel Luis
  2022-10-12  3:27   ` Ani Sinha
  2022-10-11 18:17 ` [PATCH 2/4] acpi: fadt: support revision 6.0 of the ACPI specification Miguel Luis
                   ` (2 subsequent siblings)
  3 siblings, 1 reply; 7+ messages in thread
From: Miguel Luis @ 2022-10-11 18:17 UTC (permalink / raw)
  To: qemu-devel, qemu-arm
  Cc: mst, imammedo, ani, shannon.zhaosl, peter.maydell, miguel.luis

Step 3 from bios-tables-test.c documented procedure.

Signed-off-by: Miguel Luis <miguel.luis@oracle.com>
---
 tests/qtest/bios-tables-test-allowed-diff.h | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/tests/qtest/bios-tables-test-allowed-diff.h b/tests/qtest/bios-tables-test-allowed-diff.h
index dfb8523c8b..8dc50f7a8a 100644
--- a/tests/qtest/bios-tables-test-allowed-diff.h
+++ b/tests/qtest/bios-tables-test-allowed-diff.h
@@ -1 +1,7 @@
 /* List of comma-separated changed AML files to ignore */
+"tests/data/acpi/virt/FACP",
+"tests/data/acpi/virt/FACP.numamem",
+"tests/data/acpi/virt/FACP.memhp",
+"tests/data/acpi/virt/APIC",
+"tests/data/acpi/virt/APIC.memhp",
+"tests/data/acpi/virt/APIC.numamem",
-- 
2.37.3



^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [PATCH 2/4] acpi: fadt: support revision 6.0 of the ACPI specification
  2022-10-11 18:17 [PATCH 0/4] ACPI MADT and FADT update according to the ACPI 6.0 spec Miguel Luis
  2022-10-11 18:17 ` [PATCH 1/4] tests/acpi: virt: allow acpi MADT and FADT changes Miguel Luis
@ 2022-10-11 18:17 ` Miguel Luis
  2022-10-11 18:17 ` [PATCH 3/4] acpi: arm/virt: madt: bump to revision 4 accordingly to ACPI 6.0 Errata A Miguel Luis
  2022-10-11 18:17 ` [PATCH 4/4] tests/acpi: virt: update ACPI MADT and FADT binaries Miguel Luis
  3 siblings, 0 replies; 7+ messages in thread
From: Miguel Luis @ 2022-10-11 18:17 UTC (permalink / raw)
  To: qemu-devel, qemu-arm
  Cc: mst, imammedo, ani, shannon.zhaosl, peter.maydell, miguel.luis

Update the Fixed ACPI Description Table (FADT) to revision 6.0 of the ACPI
specification adding the field "Hypervisor Vendor Identity".

This field's description states the following: "64-bit identifier of hypervisor
vendor. All bytes in this field are considered part of the vendor identity.
These identifiers are defined independently by the vendors themselves,
usually following the name of the hypervisor product. Version information
should NOT be included in this field - this shall simply denote the vendor's
name or identifier. Version information can be communicated through a
supplemental vendor-specific hypervisor API. Firmware implementers would
place zero bytes into this field, denoting that no hypervisor is present in
the actual firmware."

Signed-off-by: Miguel Luis <miguel.luis@oracle.com>
Reviewed-by: Ani Sinha <ani@anisinha.ca>
---
 hw/acpi/aml-build.c      | 13 ++++++++++---
 hw/arm/virt-acpi-build.c | 10 +++++-----
 2 files changed, 15 insertions(+), 8 deletions(-)

diff --git a/hw/acpi/aml-build.c b/hw/acpi/aml-build.c
index e6bfac95c7..42feb4d4d7 100644
--- a/hw/acpi/aml-build.c
+++ b/hw/acpi/aml-build.c
@@ -2070,7 +2070,7 @@ void build_pptt(GArray *table_data, BIOSLinker *linker, MachineState *ms,
     acpi_table_end(linker, &table);
 }
 
-/* build rev1/rev3/rev5.1 FADT */
+/* build rev1/rev3/rev5.1/rev6.0 FADT */
 void build_fadt(GArray *tbl, BIOSLinker *linker, const AcpiFadtData *f,
                 const char *oem_id, const char *oem_table_id)
 {
@@ -2193,8 +2193,15 @@ void build_fadt(GArray *tbl, BIOSLinker *linker, const AcpiFadtData *f,
     /* SLEEP_STATUS_REG */
     build_append_gas_from_struct(tbl, &f->sleep_sts);
 
-    /* TODO: extra fields need to be added to support revisions above rev5 */
-    assert(f->rev == 5);
+    if (f->rev == 5) {
+        goto done;
+    }
+
+    /* Hypervisor Vendor Identity */
+    build_append_padded_str(tbl, "QEMU", 8, '\0');
+
+    /* TODO: extra fields need to be added to support revisions above rev6 */
+    assert(f->rev == 6);
 
 done:
     acpi_table_end(linker, &table);
diff --git a/hw/arm/virt-acpi-build.c b/hw/arm/virt-acpi-build.c
index 9b3aee01bf..72bb6f61a5 100644
--- a/hw/arm/virt-acpi-build.c
+++ b/hw/arm/virt-acpi-build.c
@@ -809,13 +809,13 @@ build_madt(GArray *table_data, BIOSLinker *linker, VirtMachineState *vms)
 }
 
 /* FADT */
-static void build_fadt_rev5(GArray *table_data, BIOSLinker *linker,
+static void build_fadt_rev6(GArray *table_data, BIOSLinker *linker,
                             VirtMachineState *vms, unsigned dsdt_tbl_offset)
 {
-    /* ACPI v5.1 */
+    /* ACPI v6.0 */
     AcpiFadtData fadt = {
-        .rev = 5,
-        .minor_ver = 1,
+        .rev = 6,
+        .minor_ver = 0,
         .flags = 1 << ACPI_FADT_F_HW_REDUCED_ACPI,
         .xdsdt_tbl_offset = &dsdt_tbl_offset,
     };
@@ -945,7 +945,7 @@ void virt_acpi_build(VirtMachineState *vms, AcpiBuildTables *tables)
 
     /* FADT MADT PPTT GTDT MCFG SPCR DBG2 pointed to by RSDT */
     acpi_add_table(table_offsets, tables_blob);
-    build_fadt_rev5(tables_blob, tables->linker, vms, dsdt);
+    build_fadt_rev6(tables_blob, tables->linker, vms, dsdt);
 
     acpi_add_table(table_offsets, tables_blob);
     build_madt(tables_blob, tables->linker, vms);
-- 
2.37.3



^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [PATCH 3/4] acpi: arm/virt: madt: bump to revision 4 accordingly to ACPI 6.0 Errata A
  2022-10-11 18:17 [PATCH 0/4] ACPI MADT and FADT update according to the ACPI 6.0 spec Miguel Luis
  2022-10-11 18:17 ` [PATCH 1/4] tests/acpi: virt: allow acpi MADT and FADT changes Miguel Luis
  2022-10-11 18:17 ` [PATCH 2/4] acpi: fadt: support revision 6.0 of the ACPI specification Miguel Luis
@ 2022-10-11 18:17 ` Miguel Luis
  2022-10-11 18:17 ` [PATCH 4/4] tests/acpi: virt: update ACPI MADT and FADT binaries Miguel Luis
  3 siblings, 0 replies; 7+ messages in thread
From: Miguel Luis @ 2022-10-11 18:17 UTC (permalink / raw)
  To: qemu-devel, qemu-arm
  Cc: mst, imammedo, ani, shannon.zhaosl, peter.maydell, miguel.luis

MADT has been updated with the GIC Structures from ACPI 6.0 Errata A
and so MADT revision and GICC Structure must be updated also.

Fixes: 37f33084ed2e ("acpi: arm/virt: madt: use build_append_int_noprefix() API to compose MADT table")

Signed-off-by: Miguel Luis <miguel.luis@oracle.com>
Reviewed-by: Ani Sinha <ani@anisinha.ca>
---
 hw/arm/virt-acpi-build.c | 16 +++++++---------
 1 file changed, 7 insertions(+), 9 deletions(-)

diff --git a/hw/arm/virt-acpi-build.c b/hw/arm/virt-acpi-build.c
index 72bb6f61a5..2d21e3cec4 100644
--- a/hw/arm/virt-acpi-build.c
+++ b/hw/arm/virt-acpi-build.c
@@ -686,7 +686,7 @@ build_dbg2(GArray *table_data, BIOSLinker *linker, VirtMachineState *vms)
 };
 
 /*
- * ACPI spec, Revision 5.1 Errata A
+ * ACPI spec, Revision 6.0 Errata A
  * 5.2.12 Multiple APIC Description Table (MADT)
  */
 static void build_append_gicr(GArray *table_data, uint64_t base, uint32_t size)
@@ -705,7 +705,7 @@ build_madt(GArray *table_data, BIOSLinker *linker, VirtMachineState *vms)
     int i;
     VirtMachineClass *vmc = VIRT_MACHINE_GET_CLASS(vms);
     const MemMapEntry *memmap = vms->memmap;
-    AcpiTable table = { .sig = "APIC", .rev = 3, .oem_id = vms->oem_id,
+    AcpiTable table = { .sig = "APIC", .rev = 4, .oem_id = vms->oem_id,
                         .oem_table_id = vms->oem_table_id };
 
     acpi_table_begin(&table, table_data);
@@ -740,7 +740,7 @@ build_madt(GArray *table_data, BIOSLinker *linker, VirtMachineState *vms)
 
         /* 5.2.12.14 GIC Structure */
         build_append_int_noprefix(table_data, 0xB, 1);  /* Type */
-        build_append_int_noprefix(table_data, 76, 1);   /* Length */
+        build_append_int_noprefix(table_data, 80, 1);   /* Length */
         build_append_int_noprefix(table_data, 0, 2);    /* Reserved */
         build_append_int_noprefix(table_data, i, 4);    /* GIC ID */
         build_append_int_noprefix(table_data, i, 4);    /* ACPI Processor UID */
@@ -760,6 +760,10 @@ build_madt(GArray *table_data, BIOSLinker *linker, VirtMachineState *vms)
         build_append_int_noprefix(table_data, 0, 8);    /* GICR Base Address*/
         /* MPIDR */
         build_append_int_noprefix(table_data, armcpu->mp_affinity, 8);
+        /* Processor Power Efficiency Class */
+        build_append_int_noprefix(table_data, 0, 1);
+        /* Reserved */
+        build_append_int_noprefix(table_data, 0, 3);
     }
 
     if (vms->gic_version != VIRT_GIC_VERSION_2) {
@@ -771,12 +775,6 @@ build_madt(GArray *table_data, BIOSLinker *linker, VirtMachineState *vms)
         }
 
         if (its_class_name() && !vmc->no_its) {
-            /*
-             * FIXME: Structure is from Revision 6.0 where 'GIC Structure'
-             * has additional fields on top of implemented 5.1 Errata A,
-             * to make it consistent with v6.0 we need to bump everything
-             * to v6.0
-             */
             /*
              * ACPI spec, Revision 6.0 Errata A
              * (original 6.0 definition has invalid Length)
-- 
2.37.3



^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [PATCH 4/4] tests/acpi: virt: update ACPI MADT and FADT binaries
  2022-10-11 18:17 [PATCH 0/4] ACPI MADT and FADT update according to the ACPI 6.0 spec Miguel Luis
                   ` (2 preceding siblings ...)
  2022-10-11 18:17 ` [PATCH 3/4] acpi: arm/virt: madt: bump to revision 4 accordingly to ACPI 6.0 Errata A Miguel Luis
@ 2022-10-11 18:17 ` Miguel Luis
  2022-10-12  3:25   ` Ani Sinha
  3 siblings, 1 reply; 7+ messages in thread
From: Miguel Luis @ 2022-10-11 18:17 UTC (permalink / raw)
  To: qemu-devel, qemu-arm
  Cc: mst, imammedo, ani, shannon.zhaosl, peter.maydell, miguel.luis

Step 6 & 7 of the bios-tables-test.c documented procedure.

Differences between disassembled ASL files for MADT:

@@ -11,9 +11,9 @@
  */

 [000h 0000   4]                    Signature : "APIC"    [Multiple APIC Description Table (MADT)]
-[004h 0004   4]                 Table Length : 000000A8
-[008h 0008   1]                     Revision : 03
-[009h 0009   1]                     Checksum : 50
+[004h 0004   4]                 Table Length : 000000AC
+[008h 0008   1]                     Revision : 04
+[009h 0009   1]                     Checksum : 47
 [00Ah 0010   6]                       Oem ID : "BOCHS "
 [010h 0016   8]                 Oem Table ID : "BXPC    "
 [018h 0024   4]                 Oem Revision : 00000001
@@ -34,7 +34,7 @@
 [041h 0065   3]                     Reserved : 000000

 [044h 0068   1]                Subtable Type : 0B [Generic Interrupt Controller]
-[045h 0069   1]                       Length : 4C
+[045h 0069   1]                       Length : 50
 [046h 0070   2]                     Reserved : 0000
 [048h 0072   4]         CPU Interface Number : 00000000
 [04Ch 0076   4]                Processor UID : 00000000
@@ -51,28 +51,29 @@
 [07Ch 0124   4]        Virtual GIC Interrupt : 00000000
 [080h 0128   8]   Redistributor Base Address : 0000000000000000
 [088h 0136   8]                    ARM MPIDR : 0000000000000000
-/**** ACPI subtable terminates early - may be older version (dump table) */
+[090h 0144   1]             Efficiency Class : 00
+[091h 0145   3]                     Reserved : 000000

-[090h 0144   1]                Subtable Type : 0D [Generic MSI Frame]
-[091h 0145   1]                       Length : 18
-[092h 0146   2]                     Reserved : 0000
-[094h 0148   4]                 MSI Frame ID : 00000000
-[098h 0152   8]                 Base Address : 0000000008020000
-[0A0h 0160   4]        Flags (decoded below) : 00000001
+[094h 0148   1]                Subtable Type : 0D [Generic MSI Frame]
+[095h 0149   1]                       Length : 18
+[096h 0150   2]                     Reserved : 0000
+[098h 0152   4]                 MSI Frame ID : 00000000
+[09Ch 0156   8]                 Base Address : 0000000008020000
+[0A4h 0164   4]        Flags (decoded below) : 00000001
                                   Select SPI : 1
-[0A4h 0164   2]                    SPI Count : 0040
-[0A6h 0166   2]                     SPI Base : 0050
+[0A8h 0168   2]                    SPI Count : 0040
+[0AAh 0170   2]                     SPI Base : 0050

-Raw Table Data: Length 168 (0xA8)
+Raw Table Data: Length 172 (0xAC)

-    0000: 41 50 49 43 A8 00 00 00 03 50 42 4F 43 48 53 20  // APIC.....PBOCHS
+    0000: 41 50 49 43 AC 00 00 00 04 47 42 4F 43 48 53 20  // APIC.....GBOCHS
     0010: 42 58 50 43 20 20 20 20 01 00 00 00 42 58 50 43  // BXPC    ....BXPC
     0020: 01 00 00 00 00 00 00 00 00 00 00 00 0C 18 00 00  // ................
     0030: 00 00 00 00 00 00 00 08 00 00 00 00 00 00 00 00  // ................
-    0040: 02 00 00 00 0B 4C 00 00 00 00 00 00 00 00 00 00  // .....L..........
+    0040: 02 00 00 00 0B 50 00 00 00 00 00 00 00 00 00 00  // .....P..........
     0050: 01 00 00 00 00 00 00 00 17 00 00 00 00 00 00 00  // ................
     0060: 00 00 00 00 00 00 01 08 00 00 00 00 00 00 04 08  // ................
     0070: 00 00 00 00 00 00 03 08 00 00 00 00 00 00 00 00  // ................
     0080: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  // ................
-    0090: 0D 18 00 00 00 00 00 00 00 00 02 08 00 00 00 00  // ................
-    00A0: 01 00 00 00 40 00 50 00                          // ....@.P.
+    0090: 00 00 00 00 0D 18 00 00 00 00 00 00 00 00 02 08  // ................
+    00A0: 00 00 00 00 01 00 00 00 40 00 50 00              // ........@.P.

Differences between disassembled ASL files for FADT:

@@ -11,9 +11,9 @@
  */

 [000h 0000   4]                    Signature : "FACP"    [Fixed ACPI Description Table (FADT)]
-[004h 0004   4]                 Table Length : 0000010C
-[008h 0008   1]                     Revision : 05
-[009h 0009   1]                     Checksum : 55
+[004h 0004   4]                 Table Length : 00000114
+[008h 0008   1]                     Revision : 06
+[009h 0009   1]                     Checksum : 15
 [00Ah 0010   6]                       Oem ID : "BOCHS "
 [010h 0016   8]                 Oem Table ID : "BXPC    "
 [018h 0024   4]                 Oem Revision : 00000001
@@ -99,7 +99,7 @@
                               PSCI Compliant : 1
                        Must use HVC for PSCI : 1

-[083h 0131   1]          FADT Minor Revision : 01
+[083h 0131   1]          FADT Minor Revision : 00
 [084h 0132   8]                 FACS Address : 0000000000000000
 [08Ch 0140   8]                 DSDT Address : 0000000000000000
 [094h 0148  12]             PM1A Event Block : [Generic Address Structure]
@@ -173,11 +173,11 @@
 [103h 0259   1]         Encoded Access Width : 00 [Undefined/Legacy]
 [104h 0260   8]                      Address : 0000000000000000

-/**** ACPI table terminates in the middle of a data structure! (dump table) */
+[10Ch 0268   8]                Hypervisor ID : 00000000554D4551

-Raw Table Data: Length 268 (0x10C)
+Raw Table Data: Length 276 (0x114)

-    0000: 46 41 43 50 0C 01 00 00 05 55 42 4F 43 48 53 20  // FACP.....UBOCHS
+    0000: 46 41 43 50 14 01 00 00 06 15 42 4F 43 48 53 20  // FACP......BOCHS
     0010: 42 58 50 43 20 20 20 20 01 00 00 00 42 58 50 43  // BXPC    ....BXPC
     0020: 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  // ................
     0030: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  // ................
@@ -185,7 +185,7 @@ Raw Table Data: Length 268 (0x10C)
     0050: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  // ................
     0060: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  // ................
     0070: 00 00 10 00 00 00 00 00 00 00 00 00 00 00 00 00  // ................
-    0080: 00 03 00 01 00 00 00 00 00 00 00 00 00 00 00 00  // ................
+    0080: 00 03 00 00 00 00 00 00 00 00 00 00 00 00 00 00  // ................
     0090: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  // ................
     00A0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  // ................
     00B0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  // ................
@@ -193,4 +193,5 @@ Raw Table Data: Length 268 (0x10C)
     00D0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  // ................
     00E0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  // ................
     00F0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  // ................
-    0100: 00 00 00 00 00 00 00 00 00 00 00 00              // ............
+    0100: 00 00 00 00 00 00 00 00 00 00 00 00 51 45 4D 55  // ............QEMU
+    0110: 00 00 00 00                                      // ....

Signed-off-by: Miguel Luis <miguel.luis@oracle.com>
---
 tests/data/acpi/virt/APIC                   | Bin 168 -> 172 bytes
 tests/data/acpi/virt/APIC.memhp             | Bin 168 -> 172 bytes
 tests/data/acpi/virt/APIC.numamem           | Bin 168 -> 172 bytes
 tests/data/acpi/virt/FACP                   | Bin 268 -> 276 bytes
 tests/data/acpi/virt/FACP.memhp             | Bin 268 -> 276 bytes
 tests/data/acpi/virt/FACP.numamem           | Bin 268 -> 276 bytes
 tests/qtest/bios-tables-test-allowed-diff.h |   6 ------
 7 files changed, 6 deletions(-)

diff --git a/tests/data/acpi/virt/APIC b/tests/data/acpi/virt/APIC
index 023f15f12e74fb9a3a6d3d9dc994541016947d6a..179d274770a23209b949c90a929525e22368568b 100644
GIT binary patch
delta 26
hcmZ3%xQ3C-F~HM#4FdxMi~B?_YsP?yZeA06WB^*d2KE2|

delta 26
icmZ3(xPp<(F~HM#1p@;EbHGF{Yet`mZeA0oNB{s@&<6Sd

diff --git a/tests/data/acpi/virt/APIC.memhp b/tests/data/acpi/virt/APIC.memhp
index 023f15f12e74fb9a3a6d3d9dc994541016947d6a..179d274770a23209b949c90a929525e22368568b 100644
GIT binary patch
delta 26
hcmZ3%xQ3C-F~HM#4FdxMi~B?_YsP?yZeA06WB^*d2KE2|

delta 26
icmZ3(xPp<(F~HM#1p@;EbHGF{Yet`mZeA0oNB{s@&<6Sd

diff --git a/tests/data/acpi/virt/APIC.numamem b/tests/data/acpi/virt/APIC.numamem
index 023f15f12e74fb9a3a6d3d9dc994541016947d6a..179d274770a23209b949c90a929525e22368568b 100644
GIT binary patch
delta 26
hcmZ3%xQ3C-F~HM#4FdxMi~B?_YsP?yZeA06WB^*d2KE2|

delta 26
icmZ3(xPp<(F~HM#1p@;EbHGF{Yet`mZeA0oNB{s@&<6Sd

diff --git a/tests/data/acpi/virt/FACP b/tests/data/acpi/virt/FACP
index 1f764220f8533c427168e80ccf298604826a00b4..ac05c35a69451519bd1152c54d1e741af36390f5 100644
GIT binary patch
delta 33
ncmeBSn!?28=I9(C!pOkDCOVO;a^j?_i3a=}fv&!x3_t(?fr|$^

delta 26
hcmbQj)WgK(=I9*2!^ptE8ak1yl96%Z#OjF#yZ}u&1~C8t

diff --git a/tests/data/acpi/virt/FACP.memhp b/tests/data/acpi/virt/FACP.memhp
index 1f764220f8533c427168e80ccf298604826a00b4..ac05c35a69451519bd1152c54d1e741af36390f5 100644
GIT binary patch
delta 33
ncmeBSn!?28=I9(C!pOkDCOVO;a^j?_i3a=}fv&!x3_t(?fr|$^

delta 26
hcmbQj)WgK(=I9*2!^ptE8ak1yl96%Z#OjF#yZ}u&1~C8t

diff --git a/tests/data/acpi/virt/FACP.numamem b/tests/data/acpi/virt/FACP.numamem
index 1f764220f8533c427168e80ccf298604826a00b4..ac05c35a69451519bd1152c54d1e741af36390f5 100644
GIT binary patch
delta 33
ncmeBSn!?28=I9(C!pOkDCOVO;a^j?_i3a=}fv&!x3_t(?fr|$^

delta 26
hcmbQj)WgK(=I9*2!^ptE8ak1yl96%Z#OjF#yZ}u&1~C8t

diff --git a/tests/qtest/bios-tables-test-allowed-diff.h b/tests/qtest/bios-tables-test-allowed-diff.h
index 8dc50f7a8a..dfb8523c8b 100644
--- a/tests/qtest/bios-tables-test-allowed-diff.h
+++ b/tests/qtest/bios-tables-test-allowed-diff.h
@@ -1,7 +1 @@
 /* List of comma-separated changed AML files to ignore */
-"tests/data/acpi/virt/FACP",
-"tests/data/acpi/virt/FACP.numamem",
-"tests/data/acpi/virt/FACP.memhp",
-"tests/data/acpi/virt/APIC",
-"tests/data/acpi/virt/APIC.memhp",
-"tests/data/acpi/virt/APIC.numamem",
-- 
2.37.3



^ permalink raw reply related	[flat|nested] 7+ messages in thread

* Re: [PATCH 4/4] tests/acpi: virt: update ACPI MADT and FADT binaries
  2022-10-11 18:17 ` [PATCH 4/4] tests/acpi: virt: update ACPI MADT and FADT binaries Miguel Luis
@ 2022-10-12  3:25   ` Ani Sinha
  0 siblings, 0 replies; 7+ messages in thread
From: Ani Sinha @ 2022-10-12  3:25 UTC (permalink / raw)
  To: Miguel Luis
  Cc: qemu-devel, qemu-arm, mst, imammedo, ani, shannon.zhaosl, peter.maydell



On Tue, 11 Oct 2022, Miguel Luis wrote:

> Step 6 & 7 of the bios-tables-test.c documented procedure.
>
> Differences between disassembled ASL files for MADT:
>
> @@ -11,9 +11,9 @@
>   */
>
>  [000h 0000   4]                    Signature : "APIC"    [Multiple APIC Description Table (MADT)]
> -[004h 0004   4]                 Table Length : 000000A8
> -[008h 0008   1]                     Revision : 03
> -[009h 0009   1]                     Checksum : 50
> +[004h 0004   4]                 Table Length : 000000AC
> +[008h 0008   1]                     Revision : 04
> +[009h 0009   1]                     Checksum : 47
>  [00Ah 0010   6]                       Oem ID : "BOCHS "
>  [010h 0016   8]                 Oem Table ID : "BXPC    "
>  [018h 0024   4]                 Oem Revision : 00000001
> @@ -34,7 +34,7 @@
>  [041h 0065   3]                     Reserved : 000000
>
>  [044h 0068   1]                Subtable Type : 0B [Generic Interrupt Controller]
> -[045h 0069   1]                       Length : 4C
> +[045h 0069   1]                       Length : 50
>  [046h 0070   2]                     Reserved : 0000
>  [048h 0072   4]         CPU Interface Number : 00000000
>  [04Ch 0076   4]                Processor UID : 00000000
> @@ -51,28 +51,29 @@
>  [07Ch 0124   4]        Virtual GIC Interrupt : 00000000
>  [080h 0128   8]   Redistributor Base Address : 0000000000000000
>  [088h 0136   8]                    ARM MPIDR : 0000000000000000
> -/**** ACPI subtable terminates early - may be older version (dump table) */
> +[090h 0144   1]             Efficiency Class : 00
> +[091h 0145   3]                     Reserved : 000000
>
> -[090h 0144   1]                Subtable Type : 0D [Generic MSI Frame]
> -[091h 0145   1]                       Length : 18
> -[092h 0146   2]                     Reserved : 0000
> -[094h 0148   4]                 MSI Frame ID : 00000000
> -[098h 0152   8]                 Base Address : 0000000008020000
> -[0A0h 0160   4]        Flags (decoded below) : 00000001
> +[094h 0148   1]                Subtable Type : 0D [Generic MSI Frame]
> +[095h 0149   1]                       Length : 18
> +[096h 0150   2]                     Reserved : 0000
> +[098h 0152   4]                 MSI Frame ID : 00000000
> +[09Ch 0156   8]                 Base Address : 0000000008020000
> +[0A4h 0164   4]        Flags (decoded below) : 00000001
>                                    Select SPI : 1
> -[0A4h 0164   2]                    SPI Count : 0040
> -[0A6h 0166   2]                     SPI Base : 0050
> +[0A8h 0168   2]                    SPI Count : 0040
> +[0AAh 0170   2]                     SPI Base : 0050
>
> -Raw Table Data: Length 168 (0xA8)
> +Raw Table Data: Length 172 (0xAC)
>
> -    0000: 41 50 49 43 A8 00 00 00 03 50 42 4F 43 48 53 20  // APIC.....PBOCHS
> +    0000: 41 50 49 43 AC 00 00 00 04 47 42 4F 43 48 53 20  // APIC.....GBOCHS
>      0010: 42 58 50 43 20 20 20 20 01 00 00 00 42 58 50 43  // BXPC    ....BXPC
>      0020: 01 00 00 00 00 00 00 00 00 00 00 00 0C 18 00 00  // ................
>      0030: 00 00 00 00 00 00 00 08 00 00 00 00 00 00 00 00  // ................
> -    0040: 02 00 00 00 0B 4C 00 00 00 00 00 00 00 00 00 00  // .....L..........
> +    0040: 02 00 00 00 0B 50 00 00 00 00 00 00 00 00 00 00  // .....P..........
>      0050: 01 00 00 00 00 00 00 00 17 00 00 00 00 00 00 00  // ................
>      0060: 00 00 00 00 00 00 01 08 00 00 00 00 00 00 04 08  // ................
>      0070: 00 00 00 00 00 00 03 08 00 00 00 00 00 00 00 00  // ................
>      0080: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  // ................
> -    0090: 0D 18 00 00 00 00 00 00 00 00 02 08 00 00 00 00  // ................
> -    00A0: 01 00 00 00 40 00 50 00                          // ....@.P.
> +    0090: 00 00 00 00 0D 18 00 00 00 00 00 00 00 00 02 08  // ................
> +    00A0: 00 00 00 00 01 00 00 00 40 00 50 00              // ........@.P.
>
> Differences between disassembled ASL files for FADT:
>
> @@ -11,9 +11,9 @@
>   */
>
>  [000h 0000   4]                    Signature : "FACP"    [Fixed ACPI Description Table (FADT)]
> -[004h 0004   4]                 Table Length : 0000010C
> -[008h 0008   1]                     Revision : 05
> -[009h 0009   1]                     Checksum : 55
> +[004h 0004   4]                 Table Length : 00000114
> +[008h 0008   1]                     Revision : 06
> +[009h 0009   1]                     Checksum : 15
>  [00Ah 0010   6]                       Oem ID : "BOCHS "
>  [010h 0016   8]                 Oem Table ID : "BXPC    "
>  [018h 0024   4]                 Oem Revision : 00000001
> @@ -99,7 +99,7 @@
>                                PSCI Compliant : 1
>                         Must use HVC for PSCI : 1
>
> -[083h 0131   1]          FADT Minor Revision : 01
> +[083h 0131   1]          FADT Minor Revision : 00
>  [084h 0132   8]                 FACS Address : 0000000000000000
>  [08Ch 0140   8]                 DSDT Address : 0000000000000000
>  [094h 0148  12]             PM1A Event Block : [Generic Address Structure]
> @@ -173,11 +173,11 @@
>  [103h 0259   1]         Encoded Access Width : 00 [Undefined/Legacy]
>  [104h 0260   8]                      Address : 0000000000000000
>
> -/**** ACPI table terminates in the middle of a data structure! (dump table) */
> +[10Ch 0268   8]                Hypervisor ID : 00000000554D4551
>
> -Raw Table Data: Length 268 (0x10C)
> +Raw Table Data: Length 276 (0x114)
>
> -    0000: 46 41 43 50 0C 01 00 00 05 55 42 4F 43 48 53 20  // FACP.....UBOCHS
> +    0000: 46 41 43 50 14 01 00 00 06 15 42 4F 43 48 53 20  // FACP......BOCHS
>      0010: 42 58 50 43 20 20 20 20 01 00 00 00 42 58 50 43  // BXPC    ....BXPC
>      0020: 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  // ................
>      0030: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  // ................
> @@ -185,7 +185,7 @@ Raw Table Data: Length 268 (0x10C)
>      0050: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  // ................
>      0060: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  // ................
>      0070: 00 00 10 00 00 00 00 00 00 00 00 00 00 00 00 00  // ................
> -    0080: 00 03 00 01 00 00 00 00 00 00 00 00 00 00 00 00  // ................
> +    0080: 00 03 00 00 00 00 00 00 00 00 00 00 00 00 00 00  // ................
>      0090: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  // ................
>      00A0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  // ................
>      00B0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  // ................
> @@ -193,4 +193,5 @@ Raw Table Data: Length 268 (0x10C)
>      00D0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  // ................
>      00E0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  // ................
>      00F0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  // ................
> -    0100: 00 00 00 00 00 00 00 00 00 00 00 00              // ............
> +    0100: 00 00 00 00 00 00 00 00 00 00 00 00 51 45 4D 55  // ............QEMU
> +    0110: 00 00 00 00                                      // ....
>
> Signed-off-by: Miguel Luis <miguel.luis@oracle.com>

Acked-by: Ani Sinha <ani@anisinha.ca>
> ---
>  tests/data/acpi/virt/APIC                   | Bin 168 -> 172 bytes
>  tests/data/acpi/virt/APIC.memhp             | Bin 168 -> 172 bytes
>  tests/data/acpi/virt/APIC.numamem           | Bin 168 -> 172 bytes
>  tests/data/acpi/virt/FACP                   | Bin 268 -> 276 bytes
>  tests/data/acpi/virt/FACP.memhp             | Bin 268 -> 276 bytes
>  tests/data/acpi/virt/FACP.numamem           | Bin 268 -> 276 bytes
>  tests/qtest/bios-tables-test-allowed-diff.h |   6 ------
>  7 files changed, 6 deletions(-)
>
> diff --git a/tests/data/acpi/virt/APIC b/tests/data/acpi/virt/APIC
> index 023f15f12e74fb9a3a6d3d9dc994541016947d6a..179d274770a23209b949c90a929525e22368568b 100644
> GIT binary patch
> delta 26
> hcmZ3%xQ3C-F~HM#4FdxMi~B?_YsP?yZeA06WB^*d2KE2|
>
> delta 26
> icmZ3(xPp<(F~HM#1p@;EbHGF{Yet`mZeA0oNB{s@&<6Sd
>
> diff --git a/tests/data/acpi/virt/APIC.memhp b/tests/data/acpi/virt/APIC.memhp
> index 023f15f12e74fb9a3a6d3d9dc994541016947d6a..179d274770a23209b949c90a929525e22368568b 100644
> GIT binary patch
> delta 26
> hcmZ3%xQ3C-F~HM#4FdxMi~B?_YsP?yZeA06WB^*d2KE2|
>
> delta 26
> icmZ3(xPp<(F~HM#1p@;EbHGF{Yet`mZeA0oNB{s@&<6Sd
>
> diff --git a/tests/data/acpi/virt/APIC.numamem b/tests/data/acpi/virt/APIC.numamem
> index 023f15f12e74fb9a3a6d3d9dc994541016947d6a..179d274770a23209b949c90a929525e22368568b 100644
> GIT binary patch
> delta 26
> hcmZ3%xQ3C-F~HM#4FdxMi~B?_YsP?yZeA06WB^*d2KE2|
>
> delta 26
> icmZ3(xPp<(F~HM#1p@;EbHGF{Yet`mZeA0oNB{s@&<6Sd
>
> diff --git a/tests/data/acpi/virt/FACP b/tests/data/acpi/virt/FACP
> index 1f764220f8533c427168e80ccf298604826a00b4..ac05c35a69451519bd1152c54d1e741af36390f5 100644
> GIT binary patch
> delta 33
> ncmeBSn!?28=I9(C!pOkDCOVO;a^j?_i3a=}fv&!x3_t(?fr|$^
>
> delta 26
> hcmbQj)WgK(=I9*2!^ptE8ak1yl96%Z#OjF#yZ}u&1~C8t
>
> diff --git a/tests/data/acpi/virt/FACP.memhp b/tests/data/acpi/virt/FACP.memhp
> index 1f764220f8533c427168e80ccf298604826a00b4..ac05c35a69451519bd1152c54d1e741af36390f5 100644
> GIT binary patch
> delta 33
> ncmeBSn!?28=I9(C!pOkDCOVO;a^j?_i3a=}fv&!x3_t(?fr|$^
>
> delta 26
> hcmbQj)WgK(=I9*2!^ptE8ak1yl96%Z#OjF#yZ}u&1~C8t
>
> diff --git a/tests/data/acpi/virt/FACP.numamem b/tests/data/acpi/virt/FACP.numamem
> index 1f764220f8533c427168e80ccf298604826a00b4..ac05c35a69451519bd1152c54d1e741af36390f5 100644
> GIT binary patch
> delta 33
> ncmeBSn!?28=I9(C!pOkDCOVO;a^j?_i3a=}fv&!x3_t(?fr|$^
>
> delta 26
> hcmbQj)WgK(=I9*2!^ptE8ak1yl96%Z#OjF#yZ}u&1~C8t
>
> diff --git a/tests/qtest/bios-tables-test-allowed-diff.h b/tests/qtest/bios-tables-test-allowed-diff.h
> index 8dc50f7a8a..dfb8523c8b 100644
> --- a/tests/qtest/bios-tables-test-allowed-diff.h
> +++ b/tests/qtest/bios-tables-test-allowed-diff.h
> @@ -1,7 +1 @@
>  /* List of comma-separated changed AML files to ignore */
> -"tests/data/acpi/virt/FACP",
> -"tests/data/acpi/virt/FACP.numamem",
> -"tests/data/acpi/virt/FACP.memhp",
> -"tests/data/acpi/virt/APIC",
> -"tests/data/acpi/virt/APIC.memhp",
> -"tests/data/acpi/virt/APIC.numamem",
> --
> 2.37.3
>
>


^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH 1/4] tests/acpi: virt: allow acpi MADT and FADT changes
  2022-10-11 18:17 ` [PATCH 1/4] tests/acpi: virt: allow acpi MADT and FADT changes Miguel Luis
@ 2022-10-12  3:27   ` Ani Sinha
  0 siblings, 0 replies; 7+ messages in thread
From: Ani Sinha @ 2022-10-12  3:27 UTC (permalink / raw)
  To: Miguel Luis
  Cc: qemu-devel, qemu-arm, mst, imammedo, ani, shannon.zhaosl, peter.maydell



On Tue, 11 Oct 2022, Miguel Luis wrote:

> Step 3 from bios-tables-test.c documented procedure.
>
> Signed-off-by: Miguel Luis <miguel.luis@oracle.com>

Acked-by: Ani Sinha <ani@anisinha.ca>

> ---
>  tests/qtest/bios-tables-test-allowed-diff.h | 6 ++++++
>  1 file changed, 6 insertions(+)
>
> diff --git a/tests/qtest/bios-tables-test-allowed-diff.h b/tests/qtest/bios-tables-test-allowed-diff.h
> index dfb8523c8b..8dc50f7a8a 100644
> --- a/tests/qtest/bios-tables-test-allowed-diff.h
> +++ b/tests/qtest/bios-tables-test-allowed-diff.h
> @@ -1 +1,7 @@
>  /* List of comma-separated changed AML files to ignore */
> +"tests/data/acpi/virt/FACP",
> +"tests/data/acpi/virt/FACP.numamem",
> +"tests/data/acpi/virt/FACP.memhp",
> +"tests/data/acpi/virt/APIC",
> +"tests/data/acpi/virt/APIC.memhp",
> +"tests/data/acpi/virt/APIC.numamem",
> --
> 2.37.3
>
>


^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2022-10-12  3:28 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-10-11 18:17 [PATCH 0/4] ACPI MADT and FADT update according to the ACPI 6.0 spec Miguel Luis
2022-10-11 18:17 ` [PATCH 1/4] tests/acpi: virt: allow acpi MADT and FADT changes Miguel Luis
2022-10-12  3:27   ` Ani Sinha
2022-10-11 18:17 ` [PATCH 2/4] acpi: fadt: support revision 6.0 of the ACPI specification Miguel Luis
2022-10-11 18:17 ` [PATCH 3/4] acpi: arm/virt: madt: bump to revision 4 accordingly to ACPI 6.0 Errata A Miguel Luis
2022-10-11 18:17 ` [PATCH 4/4] tests/acpi: virt: update ACPI MADT and FADT binaries Miguel Luis
2022-10-12  3:25   ` Ani Sinha

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.