On Sun, Nov 16, 2014 at 12:15:56PM +0200, Gal Hammer wrote: > Hi, > > The patch grow to three parts now. Although it is still add a QEmu > support for Microsoft's Virtual Machine Generation ID device. > > The first is a short device's description, then the ACPI tables > changes and the actual device and the last patch updates the tests' > ACPI tables. > > Your comment are welcomed. > > Thanks, > > Gal.
Looks good, but how about a unit test? Should be easy: give device a physical address, read back memory to see that it's been written to. > 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: update acpi tables after adding the vmgenid device > > default-configs/i386-softmmu.mak | 1 + > default-configs/x86_64-softmmu.mak | 1 + > docs/specs/vmgenid.txt | 27 ++++++++ > hw/acpi/core.c | 8 +++ > hw/acpi/ich9.c | 8 +++ > hw/acpi/piix4.c | 8 +++ > hw/i386/acpi-build.c | 26 +++++++ > hw/i386/acpi-dsdt.dsl | 4 +- > hw/i386/acpi-dsdt.hex.generated | 6 +- > hw/i386/pc.c | 8 +++ > hw/i386/q35-acpi-dsdt.dsl | 5 +- > hw/i386/q35-acpi-dsdt.hex.generated | 8 +-- > hw/i386/ssdt-misc.dsl | 43 ++++++++++++ > hw/i386/ssdt-misc.hex.generated | 8 +-- > 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/acpi-test-data/pc/DSDT | Bin 2807 -> 2820 bytes > tests/acpi-test-data/pc/SSDT | Bin 3065 -> 3268 bytes > tests/acpi-test-data/q35/DSDT | Bin 7397 -> 7410 bytes > tests/acpi-test-data/q35/SSDT | Bin 1346 -> 1549 bytes > 26 files changed, 313 insertions(+), 13 deletions(-) > create mode 100644 docs/specs/vmgenid.txt > create mode 100644 hw/misc/vmgenid.c > create mode 100644 include/hw/misc/vmgenid.h > > -- > 1.9.3