Hi, Resending patches after a bug was found in the call to the bios_linker_loader_add_pointer function.
Please note that this patch set doesn't include the *.hex.generated files and the binary ACPI tables (make check will fail). Thanks, Gal. V12 - Fixed bios_linker_loader_add_pointer call parameters. Offset should be relative to the table. V11 - Add required missing files. V10 - Fixed typos in docs and a few clarification. V9 - Add a unit test. - Rebased to version 2.2. - Removed hex.generated the binary files from patch. V8 - Add a device's description file. - GUID is stored in fw cfg file and the guest writes the physical address to the device (reduces vmexits). V7 - Move the device's description back to the static SSDT table. - The GUID is store in a "hard coded" physical address and not in the ACPI table itself. - ACPI notification is triggered when the GUID is changed. V6 - include the pre-compiled ASL file - remove an empty line at end of files. V5 - Move device's description to SSDT table (dynamic). V4 - Fix a typo in error message string. - Move device's description from DSDT back to SSDT table. V3 - Remove "-uuid" command line parameter. - Move device's description from SSDT to DSDT table. - Add new "vmgenid" sysbus device. Gal Hammer (3): docs: vm generation id device's description i386: Add a Virtual Machine Generation ID device tests: add a unit test for the vmgenid device. default-configs/i386-softmmu.mak | 1 + default-configs/x86_64-softmmu.mak | 1 + docs/specs/vmgenid.txt | 38 ++++++++++ hw/acpi/core.c | 8 +++ hw/acpi/ich9.c | 8 +++ hw/acpi/piix4.c | 8 +++ hw/i386/acpi-build.c | 25 +++++++ hw/i386/acpi-dsdt.dsl | 4 +- hw/i386/pc.c | 8 +++ hw/i386/q35-acpi-dsdt.dsl | 5 +- hw/i386/ssdt-misc.dsl | 43 ++++++++++++ hw/isa/lpc_ich9.c | 1 + hw/misc/Makefile.objs | 1 + hw/misc/vmgenid.c | 131 +++++++++++++++++++++++++++++++++++ include/hw/acpi/acpi.h | 2 + include/hw/acpi/acpi_dev_interface.h | 4 ++ include/hw/acpi/ich9.h | 2 + include/hw/i386/pc.h | 3 + include/hw/misc/vmgenid.h | 21 ++++++ tests/Makefile | 2 + tests/vmgenid-test.c | 48 +++++++++++++ 21 files changed, 362 insertions(+), 2 deletions(-) create mode 100644 docs/specs/vmgenid.txt create mode 100644 hw/misc/vmgenid.c create mode 100644 include/hw/misc/vmgenid.h create mode 100644 tests/vmgenid-test.c -- 2.1.0