[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH V13 0/4] Virtual Machine Generation ID
From: |
Igor Mammedov |
Subject: |
[Qemu-devel] [PATCH V13 0/4] Virtual Machine Generation ID |
Date: |
Wed, 25 Feb 2015 17:08:49 +0000 |
Note to maintainer:
this patch set doesn't include the *.hex.generated files and
updated test ACPI tables blobs. Hex files for [q35-]acpi-dsdt
should be updated.
Tested with WS2012R2DCx64, thanks Gal for providing test utilities.
Based on top of mst's PCI tree.
Git branch:
https://github.com/imammedo/qemu.git vmgenid_v13
V13 -
* drop usage of bios_linker_loader and rewrite to use
PCIDevice so that we don't have to mess with complex
linker interface and patch ACPI tables then read VMGENID
buffer adddress in guest OSPM and communicate it to QEMU
via reserved MMIO region.
It * makes initialization more stratforward (like any PCI
device) but consumes 1 PCI slot (not a big deal with bridges),
* saves us MMIO resources since there is no need
to write buffer HPA from OSPM to QEMU
* simplifies AML, replaces methods and OperationRegion with
integer constant pointing to buffer HPA
It also allows us to write a more complete unit test
that wouldn't require to run OSPM so that it could update
HPA in QEMU.
* use AML API for instead of template patching
* make 'vmgenid' optional, users who want to use it
should add -device vmgenid,.... to QEMU CLI
it also saves us some space in SSDT if device is not used
* mark UUID buffer as dirty when it's updated via QMP in runtime
* make 'uuid' property mandatory at -device
* fix: make sure that test actually runs
* use property to get UUID buffer HPA
* add setting UUID via QMP at runtime test case
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 (1):
docs: vm generation id device's description
Igor Mammedov (3):
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.
default-configs/i386-softmmu.mak | 1 +
default-configs/x86_64-softmmu.mak | 1 +
docs/specs/pci-ids.txt | 1 +
docs/specs/vmgenid.txt | 36 ++++++++++
hw/acpi/piix4.c | 17 +++++
hw/i386/acpi-build.c | 33 +++++++++
hw/i386/acpi-dsdt.dsl | 2 -
hw/i386/q35-acpi-dsdt.dsl | 2 -
hw/isa/lpc_ich9.c | 16 +++++
hw/isa/vt82c686.c | 24 ++++++-
hw/misc/Makefile.objs | 1 +
hw/misc/vmgenid.c | 130 +++++++++++++++++++++++++++++++++++
include/hw/acpi/acpi.h | 1 +
include/hw/acpi/acpi_dev_interface.h | 9 +++
include/hw/misc/vmgenid.h | 21 ++++++
include/hw/pci/pci.h | 1 +
tests/Makefile | 2 +
tests/vmgenid-test.c | 92 +++++++++++++++++++++++++
18 files changed, 385 insertions(+), 5 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
--
1.8.3.1
- [Qemu-devel] [PATCH V13 0/4] Virtual Machine Generation ID,
Igor Mammedov <=