It's respin of v14* series which uses a PCI BAR to map VGID page in guest AS.
Changes since v14: - statically reserve used BAR resources in SSDT, so that Windows won't claim them during PCI rebalancing - support VGID page in high mem in addition to low mem - add QMP/HMP interfaces to get/set VM Generation ID - do not consume a PCI slot by default and attach vmgenid device as a function of multifuction ISA bridge. - allow only one vmgenid device instance Tested with WS2012R2x64. Git tree for testing: https://github.com/imammedo/qemu.git vmgenid_v17 * v14, https://lists.gnu.org/archive/html/qemu-devel/2015-03/msg00530.html Gal Hammer (1): docs: vm generation id device's description Igor Mammedov (8): acpi: extend ACPI interface to provide access to ACPI registers and SCI irq pc: add a Virtual Machine Generation ID device tests: add a unit test for the vmgenid device. qmp/hmp: add query-vm-generation-id and 'info vm-generation-id' commands qmp/hmp: add set-vm-generation-id commands add MachineClass->default_props for setting default device properties pc: put PIIX3 in slot 1 explicitly and cleanup functions assignment pc/q53: by default put vmgenid device as an function of ISA bridge default-configs/i386-softmmu.mak | 1 + default-configs/x86_64-softmmu.mak | 1 + docs/specs/pci-ids.txt | 1 + docs/specs/vmgenid.txt | 36 +++++++ hmp-commands-info.hx | 13 +++ hmp-commands.hx | 13 +++ hmp.c | 21 ++++ hmp.h | 2 + hw/acpi/piix4.c | 17 ++++ hw/i386/acpi-build.c | 56 ++++++++++- hw/i386/pc_piix.c | 29 ++++-- hw/i386/pc_q35.c | 12 +++ hw/isa/lpc_ich9.c | 16 +++ hw/isa/vt82c686.c | 19 ++++ hw/misc/Makefile.objs | 1 + hw/misc/vmgenid.c | 183 +++++++++++++++++++++++++++++++++++ hw/pci-host/piix.c | 9 +- include/hw/acpi/acpi.h | 1 + include/hw/acpi/acpi_dev_interface.h | 9 ++ include/hw/boards.h | 1 + include/hw/i386/ich9.h | 3 +- include/hw/i386/pc.h | 9 +- include/hw/misc/vmgenid.h | 27 ++++++ include/hw/pci/pci.h | 1 + qapi-schema.json | 18 ++++ qmp-commands.hx | 41 ++++++++ stubs/Makefile.objs | 1 + stubs/vmgenid.c | 13 +++ tests/Makefile | 2 + tests/vmgenid-test.c | 92 ++++++++++++++++++ vl.c | 4 + 31 files changed, 636 insertions(+), 16 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 stubs/vmgenid.c create mode 100644 tests/vmgenid-test.c -- 1.8.3.1