So, as I wrote in the parent, this does not actually work in Windows, because Windows doesn't support the DataTableRegion() operator; not even modern Windows versions.
I'm nonetheless posting the series for the following purposes: - Posterity. I think the series is worth preserving in the mailing list archive. - Testing by others, if anyone is so inclined. (Should someone come back here later: the series applies to commit fc04a730b7e60f4a62d6260d4eb9c537d1d3643f.) - I think that several patches from the series would be worth merging in their own right. Anatomy of the FYI series: - Patch 01 is known from the RFC posting; it has seen a number of changes. Those are all noted on the patch itself. - Patch 02 is not related to ACPI, but it was the first one I wrote, while trying to attack this series, so I'm including it here anyway. - Patches 03 to 08 add generic code for, and then introduce, the UEFI ACPI Data Table, described in patch 01. - Patches 09 to 13 add helper functions for, and then generate, the VMGI device's AML. Cc: Paolo Bonzini <pbonz...@redhat.com> Cc: Gal Hammer <gham...@redhat.com> Cc: Igor Mammedov <imamm...@redhat.com> Cc: "Michael S. Tsirkin" <m...@redhat.com> Cc: Shannon Zhao <shannon.z...@linaro.org> Thanks Laszlo Laszlo Ersek (13): docs: describe QEMU's VMGenID design hw/acpi: add i386 callbacks for injecting GPE 04 when the VMGENID changes hw/acpi: rename "AcpiBuildTables.table_data" to "main_blob" hw/acpi: allow RSDT entries to be relocated to various fw_cfg blobs hw/acpi: add more flexible acpi_add_table() and build_header() variants hw/acpi: introduce ACPI_BUILD_QEMUPARAM_FILE hw/acpi: introduce the AcpiQemuParamTable structure hw/i386: build UEFI ACPI Data Table for VMGENID in the dedicated blob (WIP) hw/acpi: expose more parameters for aml_method() hw/acpi: add AML generator function for DataTableRegion() hw/acpi: add AML generator function for AccessAs() hw/acpi: add AML generator function for CreateQWordField() hw/i386: generate AML for the VMGENID device (WIP) include/hw/acpi/acpi.h | 1 + include/hw/acpi/acpi_dev_interface.h | 4 + include/hw/acpi/aml-build.h | 23 ++- include/hw/acpi/ich9.h | 1 + include/hw/acpi/vmgenid.h | 72 ++++++++ hw/acpi/aml-build.c | 135 ++++++++++++-- hw/acpi/ich9.c | 8 + hw/acpi/piix4.c | 8 + hw/arm/virt-acpi-build.c | 11 +- hw/i386/acpi-build.c | 159 ++++++++++++++++- hw/isa/lpc_ich9.c | 1 + docs/vmgenid.txt | 336 +++++++++++++++++++++++++++++++++++ 12 files changed, 738 insertions(+), 21 deletions(-) create mode 100644 include/hw/acpi/vmgenid.h create mode 100644 docs/vmgenid.txt -- 1.8.3.1