qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH V13 0/4] Virtual Machine Generation ID
@ 2015-02-25 17:08 Igor Mammedov
  2015-02-25 17:08 ` [Qemu-devel] [PATCH V13 1/4] acpi: extend ACPI interface to provide access to ACPI registers and SCI irq Igor Mammedov
                   ` (3 more replies)
  0 siblings, 4 replies; 18+ messages in thread
From: Igor Mammedov @ 2015-02-25 17:08 UTC (permalink / raw)
  To: qemu-devel; +Cc: ghammer, mst

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

^ permalink raw reply	[flat|nested] 18+ messages in thread

end of thread, other threads:[~2015-03-05  8:35 UTC | newest]

Thread overview: 18+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-02-25 17:08 [Qemu-devel] [PATCH V13 0/4] Virtual Machine Generation ID Igor Mammedov
2015-02-25 17:08 ` [Qemu-devel] [PATCH V13 1/4] acpi: extend ACPI interface to provide access to ACPI registers and SCI irq Igor Mammedov
2015-02-25 17:08 ` [Qemu-devel] [PATCH V13 2/4] docs: vm generation id device's description Igor Mammedov
2015-02-25 17:08 ` [Qemu-devel] [PATCH V13 3/4] pc: add a Virtual Machine Generation ID device Igor Mammedov
2015-02-25 19:59   ` Michael S. Tsirkin
2015-02-26 14:05     ` Igor Mammedov
2015-03-01 15:09   ` Michael S. Tsirkin
2015-03-02 17:05     ` Igor Mammedov
2015-03-02 17:20       ` Laszlo Ersek
2015-03-02 21:06       ` Michael S. Tsirkin
2015-03-03  1:03         ` David Gibson
2015-03-03  8:07           ` Michael S. Tsirkin
2015-03-03 11:06           ` Igor Mammedov
2015-03-05  2:51             ` David Gibson
2015-03-05  8:35               ` Michael S. Tsirkin
2015-03-02  8:50   ` Michael S. Tsirkin
2015-03-02  9:12     ` Igor Mammedov
2015-02-25 17:08 ` [Qemu-devel] [PATCH V13 4/4] tests: add a unit test for the vmgenid device Igor Mammedov

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).