All of lore.kernel.org
 help / color / mirror / Atom feed
From: ben@skyportsystems.com
To: qemu-devel@nongnu.org
Cc: lersek@redhat.com, mst@redhat.com, imammedo@redhat.com,
	Ben Warren <ben@skyportsystems.com>
Subject: [Qemu-devel] [PATCH v5 00/10] Add support for VM Generation ID
Date: Sun,  5 Feb 2017 01:11:55 -0800	[thread overview]
Message-ID: <cover.1486285434.git.ben@skyportsystems.com> (raw)

From: Ben Warren <ben@skyportsystems.com>

This patch set adds support for passing a GUID to Windows guests.  It is a
re-implementation of previous patch sets written by Igor Mammedov et al, but
this time passing the GUID data as a fw_cfg blob.

This patch set has dependencies on new guest functionality, in particular the
support for a new linker-loader command and the ability to write back data
to QEMU over a DMA link.  Work is in flight in both SeaBIOS and OVMF to support this.

v4->v5:
    - Added significantly more detail to the documentation.
    - Replaced the previously-implemented linker-loader command with a new one:
      "write pointer".  This allows writing the guest address of a fw_cfg blob back
      to an arbitrary offset in a writeable fw_cfg file visible to QEMU.  This will
      require support in SeaBIOS and OVMF (ongoing).
    - Fixed endianness issues throughout.
    - Several styling cleanups.

v3->v4:
    - Rebased to top of tree.
    - Re-added document patch that was accidentally dropped from the last revision.
    - Added VMState functionality so that VGIA is restored properly.
    - Added Unit tests
v2->v3:
    - Added second writeable fw_cfg for storing the VM Generaiton ID
      address.  This uses a new linker-loader command for instructing the
      guest to write back the allocated address.  A patch for SeaBIOS has been
      submitted (https://www.seabios.org/pipermail/seabios/2017-January/011079.html)
      and the resulting binary will need to be pulled into QEMU once accepted.
    - Setting VM Generation ID by command line or qmp/hmp now accepts an "auto"
      value, whereby QEMU generates a random GUID.
    - Incorporated review comments from v2 mainly around code styling and AML syntax
    - Changed to use the E05 ACPI event instead of E00
v1->v2:
    - Removed "changed" boolean parameter as it is unneeded
    - Added ACPI Notify logic
    - Style changes to pass checkpatch.pl
    - Added support for dynamic sysbus to pc_piix boards


Ben Warren (8):
  ACPI: Add a function for building named qword entries
  linker-loader: Add new 'write pointer' command
  docs: VM Generation ID device description
  ACPI: Add vmgenid storage entries to the build tables
  ACPI: Add Virtual Machine Generation ID support
  PC: Support dynamic sysbus on pc_i440fx
  tests: Move reusable ACPI macros into a new header file
  tests: Add unit tests for the VM Generation ID feature

Igor Mammedov (2):
  qmp/hmp: add query-vm-generation-id and 'info vm-generation-id'
    commands
  qmp/hmp: add set-vm-generation-id commands

 default-configs/i386-softmmu.mak     |   1 +
 default-configs/x86_64-softmmu.mak   |   1 +
 docs/specs/vmgenid.txt               | 239 +++++++++++++++++++++++++++++++++++
 hmp-commands-info.hx                 |  13 ++
 hmp-commands.hx                      |  13 ++
 hmp.c                                |  21 +++
 hmp.h                                |   2 +
 hw/acpi/Makefile.objs                |   1 +
 hw/acpi/aml-build.c                  |  39 +++++-
 hw/acpi/bios-linker-loader.c         |  35 +++--
 hw/acpi/nvdimm.c                     |   2 +-
 hw/acpi/vmgenid.c                    | 238 ++++++++++++++++++++++++++++++++++
 hw/arm/virt-acpi-build.c             |   4 +-
 hw/i386/acpi-build.c                 |  18 ++-
 hw/i386/pc_piix.c                    |   1 +
 include/hw/acpi/acpi_dev_interface.h |   1 +
 include/hw/acpi/aml-build.h          |   5 +
 include/hw/acpi/bios-linker-loader.h |   3 +-
 include/hw/acpi/vmgenid.h            |  37 ++++++
 qapi-schema.json                     |  31 +++++
 stubs/Makefile.objs                  |   1 +
 stubs/vmgenid.c                      |  14 ++
 tests/Makefile.include               |   2 +
 tests/acpi-utils.h                   |  75 +++++++++++
 tests/bios-tables-test.c             |  72 +----------
 tests/vmgenid-test.c                 | 184 +++++++++++++++++++++++++++
 26 files changed, 962 insertions(+), 91 deletions(-)
 create mode 100644 docs/specs/vmgenid.txt
 create mode 100644 hw/acpi/vmgenid.c
 create mode 100644 include/hw/acpi/vmgenid.h
 create mode 100644 stubs/vmgenid.c
 create mode 100644 tests/acpi-utils.h
 create mode 100644 tests/vmgenid-test.c

-- 
2.7.4

             reply	other threads:[~2017-02-05  9:12 UTC|newest]

Thread overview: 70+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-02-05  9:11 ben [this message]
2017-02-05  9:11 ` [Qemu-devel] [PATCH v5 01/10] ACPI: Add a function for building named qword entries ben
2017-02-07 13:51   ` Igor Mammedov
2017-02-07 20:09     ` Laszlo Ersek
2017-02-08 10:43       ` Igor Mammedov
2017-02-08 10:53         ` Laszlo Ersek
2017-02-08 20:24           ` Ben Warren
2017-02-05  9:11 ` [Qemu-devel] [PATCH v5 02/10] linker-loader: Add new 'write pointer' command ben
2017-02-06 14:56   ` Michael S. Tsirkin
2017-02-06 17:16     ` Ben Warren
2017-02-06 17:31       ` Michael S. Tsirkin
2017-02-07 12:11         ` Igor Mammedov
2017-02-07 20:20           ` Laszlo Ersek
2017-02-05  9:11 ` [Qemu-devel] [PATCH v5 03/10] docs: VM Generation ID device description ben
2017-02-06 20:18   ` Eric Blake
2017-02-07 20:54   ` Laszlo Ersek
2017-02-10  0:55   ` Laszlo Ersek
2017-02-05  9:11 ` [Qemu-devel] [PATCH v5 04/10] ACPI: Add vmgenid storage entries to the build tables ben
2017-02-07 22:06   ` Laszlo Ersek
2017-02-05  9:12 ` [Qemu-devel] [PATCH v5 05/10] ACPI: Add Virtual Machine Generation ID support ben
2017-02-06 16:15   ` Michael S. Tsirkin
2017-02-06 17:29     ` Ben Warren
2017-02-06 17:41       ` Michael S. Tsirkin
2017-02-06 17:59         ` Ben Warren
2017-02-06 18:17           ` Michael S. Tsirkin
2017-02-06 18:48             ` Ben Warren
2017-02-06 19:04               ` Michael S. Tsirkin
2017-02-06 19:44                 ` Ben Warren
2017-02-07 14:00         ` Igor Mammedov
2017-02-07 15:35           ` Michael S. Tsirkin
2017-02-07 16:04             ` Igor Mammedov
2017-02-07 16:22               ` Michael S. Tsirkin
2017-02-07 13:48   ` Igor Mammedov
2017-02-07 15:36     ` Michael S. Tsirkin
2017-02-08 20:19     ` Ben Warren
2017-02-09  9:59       ` Igor Mammedov
2017-02-08  0:48   ` Laszlo Ersek
2017-02-08 11:04     ` Igor Mammedov
2017-02-08 11:17       ` Laszlo Ersek
2017-02-08 12:00         ` Igor Mammedov
2017-02-08 22:34     ` Ben Warren
2017-02-08 23:43       ` Laszlo Ersek
2017-02-09 17:23     ` Igor Mammedov
2017-02-09 18:21       ` Michael S. Tsirkin
2017-02-09 19:27       ` Laszlo Ersek
2017-02-09 20:02         ` Ben Warren
2017-02-09 20:24           ` Laszlo Ersek
2017-02-09 20:39             ` Ben Warren
2017-02-10  8:54               ` Igor Mammedov
2017-02-09  0:37   ` Laszlo Ersek
2017-02-05  9:12 ` [Qemu-devel] [PATCH v5 06/10] qmp/hmp: add query-vm-generation-id and 'info vm-generation-id' commands ben
2017-02-05  9:12 ` [Qemu-devel] [PATCH v5 07/10] qmp/hmp: add set-vm-generation-id commands ben
2017-02-07 13:50   ` Igor Mammedov
2017-02-08 22:01   ` Laszlo Ersek
2017-02-05  9:12 ` [Qemu-devel] [PATCH v5 08/10] PC: Support dynamic sysbus on pc_i440fx ben
2017-02-06 16:31   ` Michael S. Tsirkin
2017-02-12 19:55     ` Marcel Apfelbaum
2017-02-13  0:32       ` Ben Warren
2017-02-07 14:05   ` Igor Mammedov
2017-02-05  9:12 ` [Qemu-devel] [PATCH v5 09/10] tests: Move reusable ACPI macros into a new header file ben
2017-02-05  9:12 ` [Qemu-devel] [PATCH v5 10/10] tests: Add unit tests for the VM Generation ID feature ben
2017-02-10 10:12 ` [Qemu-devel] [PATCH v5 00/10] Add support for VM Generation ID Laszlo Ersek
2017-02-10 10:28   ` Igor Mammedov
2017-02-10 15:31   ` Michael S. Tsirkin
2017-02-10 16:16     ` Igor Mammedov
2017-02-10 18:18       ` Andrew Jones
2017-02-10 18:27         ` Andreas Färber
2017-02-13 11:00           ` Igor Mammedov
2017-02-13 13:00             ` Michael S. Tsirkin
2017-02-13 13:40               ` Igor Mammedov

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=cover.1486285434.git.ben@skyportsystems.com \
    --to=ben@skyportsystems.com \
    --cc=imammedo@redhat.com \
    --cc=lersek@redhat.com \
    --cc=mst@redhat.com \
    --cc=qemu-devel@nongnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.