Hi, Resending after applying changes requested from Paolo, Igor and Michael.
Thanks, Gal. V16 - Remove the sysbus device and use directly a DeviceClass. - Device is created with -device command line parameter - Device have uuid and addr parameters. - Support for 64-bit address. - Shorten the ACPI device description. V15 - Version is based on V7 ("fixed address") with new aml apis. V13, V14 - Igor Mammedov's patches. 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 (4): docs: vm generation id device's description acpi: add a vm_generation_id_changed method 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 | 33 +++++++++ hw/acpi/core.c | 8 ++ hw/acpi/ich9.c | 8 ++ hw/acpi/piix4.c | 8 ++ hw/i386/acpi-build.c | 32 ++++++++ hw/isa/lpc_ich9.c | 1 + hw/misc/Makefile.objs | 1 + hw/misc/vmgenid.c | 140 +++++++++++++++++++++++++++++++++++ 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 + tests/Makefile | 2 + tests/vmgenid-test.c | 44 +++++++++++ 16 files changed, 290 insertions(+) create mode 100644 docs/specs/vmgenid.txt create mode 100644 hw/misc/vmgenid.c create mode 100644 tests/vmgenid-test.c -- 2.1.0