* [RFC PATCH v2 0/4] ACPI MADT and FADT update according to the ACPI 6.0 spec
@ 2022-10-10 13:22 Miguel Luis
2022-10-10 13:22 ` [RFC PATCH v2 1/4] tests/acpi: virt: allow acpi MADT and FADT changes Miguel Luis
` (3 more replies)
0 siblings, 4 replies; 8+ messages in thread
From: Miguel Luis @ 2022-10-10 13:22 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. Patch 2/4 includes a
suggestion for the value of this field.
Ref: https://uefi.org/sites/default/files/resources/ACPI_6_0_Errata_A.PDF
Changelog:
v2:
patch 2/4:
fix expression that checks for the revision number (Ani Sinha)
use "QEMU" as the Hypervisor Vendor ID [1] (Ani Sinha)
patch 3/4:
add Reviewed-by tag from Ani Sinha <ani@anisinha.ca>
v1: https://lists.nongnu.org/archive/html/qemu-devel/2022-10/msg00910.html
Open to discussion, your comments, thoughts and suggestions are very welcome.
Thanks in advance.
Miguel
[1]: https://lists.nongnu.org/archive/html/qemu-devel/2022-10/msg00989.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] 8+ messages in thread
* [RFC PATCH v2 1/4] tests/acpi: virt: allow acpi MADT and FADT changes
2022-10-10 13:22 [RFC PATCH v2 0/4] ACPI MADT and FADT update according to the ACPI 6.0 spec Miguel Luis
@ 2022-10-10 13:22 ` Miguel Luis
2022-10-10 13:22 ` [RFC PATCH v2 2/4] acpi: fadt: support revision 6.0 of the ACPI specification Miguel Luis
` (2 subsequent siblings)
3 siblings, 0 replies; 8+ messages in thread
From: Miguel Luis @ 2022-10-10 13:22 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] 8+ messages in thread
* [RFC PATCH v2 2/4] acpi: fadt: support revision 6.0 of the ACPI specification
2022-10-10 13:22 [RFC PATCH v2 0/4] ACPI MADT and FADT update according to the ACPI 6.0 spec Miguel Luis
2022-10-10 13:22 ` [RFC PATCH v2 1/4] tests/acpi: virt: allow acpi MADT and FADT changes Miguel Luis
@ 2022-10-10 13:22 ` Miguel Luis
2022-10-11 5:02 ` Ani Sinha
2022-10-10 13:22 ` [RFC PATCH v2 3/4] acpi: arm/virt: madt: bump to revision 4 accordingly to ACPI 6.0 Errata A Miguel Luis
2022-10-10 13:23 ` [RFC PATCH v2 4/4] tests/acpi: virt: update ACPI MADT and FADT binaries Miguel Luis
3 siblings, 1 reply; 8+ messages in thread
From: Miguel Luis @ 2022-10-10 13:22 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" that was missing.
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."
Hereupon, what should a valid identifier of an Hypervisor Vendor ID be and
where should QEMU provide that information?
On the v1 [1] of this RFC there's the suggestion of having this information
in sync by the current acceleration name. This also seems to imply that QEMU,
which generates the FADT table, and the FADT consumer need to be in sync with
the values of this field.
This version follows Ani Sinha's suggestion [2] of using "QEMU" for the
hypervisor vendor ID.
[1]: https://lists.nongnu.org/archive/html/qemu-devel/2022-10/msg00911.html
[2]: https://lists.nongnu.org/archive/html/qemu-devel/2022-10/msg00989.html
Signed-off-by: Miguel Luis <miguel.luis@oracle.com>
---
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] 8+ messages in thread
* [RFC PATCH v2 3/4] acpi: arm/virt: madt: bump to revision 4 accordingly to ACPI 6.0 Errata A
2022-10-10 13:22 [RFC PATCH v2 0/4] ACPI MADT and FADT update according to the ACPI 6.0 spec Miguel Luis
2022-10-10 13:22 ` [RFC PATCH v2 1/4] tests/acpi: virt: allow acpi MADT and FADT changes Miguel Luis
2022-10-10 13:22 ` [RFC PATCH v2 2/4] acpi: fadt: support revision 6.0 of the ACPI specification Miguel Luis
@ 2022-10-10 13:22 ` Miguel Luis
2022-10-10 13:23 ` [RFC PATCH v2 4/4] tests/acpi: virt: update ACPI MADT and FADT binaries Miguel Luis
3 siblings, 0 replies; 8+ messages in thread
From: Miguel Luis @ 2022-10-10 13:22 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] 8+ messages in thread
* [RFC PATCH v2 4/4] tests/acpi: virt: update ACPI MADT and FADT binaries
2022-10-10 13:22 [RFC PATCH v2 0/4] ACPI MADT and FADT update according to the ACPI 6.0 spec Miguel Luis
` (2 preceding siblings ...)
2022-10-10 13:22 ` [RFC PATCH v2 3/4] acpi: arm/virt: madt: bump to revision 4 accordingly to ACPI 6.0 Errata A Miguel Luis
@ 2022-10-10 13:23 ` Miguel Luis
3 siblings, 0 replies; 8+ messages in thread
From: Miguel Luis @ 2022-10-10 13:23 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] 8+ messages in thread
* Re: [RFC PATCH v2 2/4] acpi: fadt: support revision 6.0 of the ACPI specification
2022-10-10 13:22 ` [RFC PATCH v2 2/4] acpi: fadt: support revision 6.0 of the ACPI specification Miguel Luis
@ 2022-10-11 5:02 ` Ani Sinha
2022-10-11 11:03 ` Miguel Luis
0 siblings, 1 reply; 8+ messages in thread
From: Ani Sinha @ 2022-10-11 5:02 UTC (permalink / raw)
To: miguel.luis
Cc: qemu-devel, qemu-arm, mst, imammedo, shannon.zhaosl,
peter.maydell
On Mon, Oct 10, 2022 at 6:53 PM Miguel Luis <miguel.luis@oracle.com> wrote:
>
> Update the Fixed ACPI Description Table (FADT) to revision 6.0 of the ACPI
> specification adding the field "Hypervisor Vendor Identity" that was missing.
>
> 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."
>
> Hereupon, what should a valid identifier of an Hypervisor Vendor ID be and
> where should QEMU provide that information?
>
> On the v1 [1] of this RFC there's the suggestion of having this information
> in sync by the current acceleration name. This also seems to imply that QEMU,
> which generates the FADT table, and the FADT consumer need to be in sync with
> the values of this field.
>
> This version follows Ani Sinha's suggestion [2] of using "QEMU" for the
> hypervisor vendor ID.
>
> [1]: https://lists.nongnu.org/archive/html/qemu-devel/2022-10/msg00911.html
> [2]: https://lists.nongnu.org/archive/html/qemu-devel/2022-10/msg00989.html
>
> 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 [flat|nested] 8+ messages in thread
* Re: [RFC PATCH v2 2/4] acpi: fadt: support revision 6.0 of the ACPI specification
2022-10-11 5:02 ` Ani Sinha
@ 2022-10-11 11:03 ` Miguel Luis
2022-10-11 11:27 ` Ani Sinha
0 siblings, 1 reply; 8+ messages in thread
From: Miguel Luis @ 2022-10-11 11:03 UTC (permalink / raw)
To: Ani Sinha
Cc: qemu-devel@nongnu.org, qemu-arm@nongnu.org, mst@redhat.com,
imammedo@redhat.com, shannon.zhaosl@gmail.com,
peter.maydell@linaro.org
> On 11 Oct 2022, at 05:02, Ani Sinha <ani@anisinha.ca> wrote:
>
> On Mon, Oct 10, 2022 at 6:53 PM Miguel Luis <miguel.luis@oracle.com> wrote:
>>
>> Update the Fixed ACPI Description Table (FADT) to revision 6.0 of the ACPI
>> specification adding the field "Hypervisor Vendor Identity" that was missing.
>>
>> 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."
>>
>> Hereupon, what should a valid identifier of an Hypervisor Vendor ID be and
>> where should QEMU provide that information?
>>
>> On the v1 [1] of this RFC there's the suggestion of having this information
>> in sync by the current acceleration name. This also seems to imply that QEMU,
>> which generates the FADT table, and the FADT consumer need to be in sync with
>> the values of this field.
>>
>> This version follows Ani Sinha's suggestion [2] of using "QEMU" for the
>> hypervisor vendor ID.
>>
>> [1]: https://lists.nongnu.org/archive/html/qemu-devel/2022-10/msg00911.html
>> [2]: https://lists.nongnu.org/archive/html/qemu-devel/2022-10/msg00989.html
>>
>> Signed-off-by: Miguel Luis <miguel.luis@oracle.com>
>
> Reviewed-by: Ani Sinha <ani@anisinha.ca>
>
Thank you Ani. In the meanwhile, taking the description part of: “Firmware
implementers would place zero bytes into this field, denoting that no
hypervisor is present in the actual firmware.", I reached to something along
the lines below:
diff --git a/hw/acpi/aml-build.c b/hw/acpi/aml-build.c
index 42feb4d4d7..e719afe0cb 100644
--- a/hw/acpi/aml-build.c
+++ b/hw/acpi/aml-build.c
@@ -2198,7 +2198,11 @@ void build_fadt(GArray *tbl, BIOSLinker *linker, const AcpiFadtData *f,
}
/* Hypervisor Vendor Identity */
- build_append_padded_str(tbl, "QEMU", 8, '\0');
+ if (f->hyp_is_present) {
+ build_append_padded_str(tbl, "QEMU", 8, '\0');
+ } else {
+ build_append_int_noprefix(tbl, 0, 8);
+ }
/* TODO: extra fields need to be added to support revisions above rev6 */
assert(f->rev == 6);
diff --git a/hw/arm/virt-acpi-build.c b/hw/arm/virt-acpi-build.c
index 72bb6f61a5..d238ce2b88 100644
--- a/hw/arm/virt-acpi-build.c
+++ b/hw/arm/virt-acpi-build.c
@@ -818,6 +818,7 @@ static void build_fadt_rev6(GArray *table_data, BIOSLinker *linker,
.minor_ver = 0,
.flags = 1 << ACPI_FADT_F_HW_REDUCED_ACPI,
.xdsdt_tbl_offset = &dsdt_tbl_offset,
+ .hyp_is_present = vms->virt && (kvm_enabled() || hvf_enabled()),
};
switch (vms->psci_conduit) {
diff --git a/include/hw/acpi/acpi-defs.h b/include/hw/acpi/acpi-defs.h
index 2b42e4192b..2aff5304af 100644
--- a/include/hw/acpi/acpi-defs.h
+++ b/include/hw/acpi/acpi-defs.h
@@ -79,7 +79,7 @@ typedef struct AcpiFadtData {
uint16_t arm_boot_arch; /* ARM_BOOT_ARCH */
uint16_t iapc_boot_arch; /* IAPC_BOOT_ARCH */
uint8_t minor_ver; /* FADT Minor Version */
-
+ bool hyp_is_present;
/*
* respective tables offsets within ACPI_BUILD_TABLE_FILE,
* NULL if table doesn't exist (in that case field's value
Any thoughts on this?
Thanks
Miguel
>> ---
>> 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] 8+ messages in thread
* Re: [RFC PATCH v2 2/4] acpi: fadt: support revision 6.0 of the ACPI specification
2022-10-11 11:03 ` Miguel Luis
@ 2022-10-11 11:27 ` Ani Sinha
0 siblings, 0 replies; 8+ messages in thread
From: Ani Sinha @ 2022-10-11 11:27 UTC (permalink / raw)
To: Miguel Luis
Cc: qemu-devel@nongnu.org, qemu-arm@nongnu.org, mst@redhat.com,
imammedo@redhat.com, shannon.zhaosl@gmail.com,
peter.maydell@linaro.org
On Tue, Oct 11, 2022 at 4:33 PM Miguel Luis <miguel.luis@oracle.com> wrote:
>
>
> > On 11 Oct 2022, at 05:02, Ani Sinha <ani@anisinha.ca> wrote:
> >
> > On Mon, Oct 10, 2022 at 6:53 PM Miguel Luis <miguel.luis@oracle.com> wrote:
> >>
> >> Update the Fixed ACPI Description Table (FADT) to revision 6.0 of the ACPI
> >> specification adding the field "Hypervisor Vendor Identity" that was missing.
> >>
> >> 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."
> >>
> >> Hereupon, what should a valid identifier of an Hypervisor Vendor ID be and
> >> where should QEMU provide that information?
> >>
> >> On the v1 [1] of this RFC there's the suggestion of having this information
> >> in sync by the current acceleration name. This also seems to imply that QEMU,
> >> which generates the FADT table, and the FADT consumer need to be in sync with
> >> the values of this field.
> >>
> >> This version follows Ani Sinha's suggestion [2] of using "QEMU" for the
> >> hypervisor vendor ID.
> >>
> >> [1]: https://lists.nongnu.org/archive/html/qemu-devel/2022-10/msg00911.html
> >> [2]: https://lists.nongnu.org/archive/html/qemu-devel/2022-10/msg00989.html
> >>
> >> Signed-off-by: Miguel Luis <miguel.luis@oracle.com>
> >
> > Reviewed-by: Ani Sinha <ani@anisinha.ca>
> >
>
> Thank you Ani. In the meanwhile, taking the description part of: “Firmware
> implementers would place zero bytes into this field, denoting that no
> hypervisor is present in the actual firmware.", I reached to something along
> the lines below:
That line is meant for hardware vendors when shipping bioses with
physical HW. All VMs run with QEMU are run from a hypervisor
environment.
>
> diff --git a/hw/acpi/aml-build.c b/hw/acpi/aml-build.c
> index 42feb4d4d7..e719afe0cb 100644
> --- a/hw/acpi/aml-build.c
> +++ b/hw/acpi/aml-build.c
> @@ -2198,7 +2198,11 @@ void build_fadt(GArray *tbl, BIOSLinker *linker, const AcpiFadtData *f,
> }
>
> /* Hypervisor Vendor Identity */
> - build_append_padded_str(tbl, "QEMU", 8, '\0');
> + if (f->hyp_is_present) {
> + build_append_padded_str(tbl, "QEMU", 8, '\0');
> + } else {
> + build_append_int_noprefix(tbl, 0, 8);
> + }
>
> /* TODO: extra fields need to be added to support revisions above rev6 */
> assert(f->rev == 6);
> diff --git a/hw/arm/virt-acpi-build.c b/hw/arm/virt-acpi-build.c
> index 72bb6f61a5..d238ce2b88 100644
> --- a/hw/arm/virt-acpi-build.c
> +++ b/hw/arm/virt-acpi-build.c
> @@ -818,6 +818,7 @@ static void build_fadt_rev6(GArray *table_data, BIOSLinker *linker,
> .minor_ver = 0,
> .flags = 1 << ACPI_FADT_F_HW_REDUCED_ACPI,
> .xdsdt_tbl_offset = &dsdt_tbl_offset,
> + .hyp_is_present = vms->virt && (kvm_enabled() || hvf_enabled()),
> };
>
> switch (vms->psci_conduit) {
> diff --git a/include/hw/acpi/acpi-defs.h b/include/hw/acpi/acpi-defs.h
> index 2b42e4192b..2aff5304af 100644
> --- a/include/hw/acpi/acpi-defs.h
> +++ b/include/hw/acpi/acpi-defs.h
> @@ -79,7 +79,7 @@ typedef struct AcpiFadtData {
> uint16_t arm_boot_arch; /* ARM_BOOT_ARCH */
> uint16_t iapc_boot_arch; /* IAPC_BOOT_ARCH */
> uint8_t minor_ver; /* FADT Minor Version */
> -
> + bool hyp_is_present;
> /*
> * respective tables offsets within ACPI_BUILD_TABLE_FILE,
> * NULL if table doesn't exist (in that case field's value
>
> Any thoughts on this?
>
> Thanks
> Miguel
>
> >> ---
> >> 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 [flat|nested] 8+ messages in thread
end of thread, other threads:[~2022-10-11 13:14 UTC | newest]
Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-10-10 13:22 [RFC PATCH v2 0/4] ACPI MADT and FADT update according to the ACPI 6.0 spec Miguel Luis
2022-10-10 13:22 ` [RFC PATCH v2 1/4] tests/acpi: virt: allow acpi MADT and FADT changes Miguel Luis
2022-10-10 13:22 ` [RFC PATCH v2 2/4] acpi: fadt: support revision 6.0 of the ACPI specification Miguel Luis
2022-10-11 5:02 ` Ani Sinha
2022-10-11 11:03 ` Miguel Luis
2022-10-11 11:27 ` Ani Sinha
2022-10-10 13:22 ` [RFC PATCH v2 3/4] acpi: arm/virt: madt: bump to revision 4 accordingly to ACPI 6.0 Errata A Miguel Luis
2022-10-10 13:23 ` [RFC PATCH v2 4/4] tests/acpi: virt: update ACPI MADT and FADT binaries Miguel Luis
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).