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 v7 0/8] Add support for VM Generation ID
Date: Wed, 15 Feb 2017 22:18:10 -0800 [thread overview]
Message-ID: <cover.1487224954.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.
v6->v7:
- Rebased to top of tree.
- Added 'src_offset' field to "write pointer" command
- Reworked unit tests based on feedback
- various minor changes based on feedback
- Added entries to MAINTAINERS file
v5->v6:
- Rebased to top of tree.
- Changed device from sysbus to a simple device. This removed the need for
adding dynamic sysbus support to pc_piix boards.
- Removed patch that introduced QWORD patching of AML.
- Removed ability to set GUID via QMP/HMP.
- Improved comments/documentation in code.
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 (7):
linker-loader: Add new 'write pointer' command
docs: VM Generation ID device description
ACPI: Add vmgenid blob storage to the build tables
ACPI: Add Virtual Machine Generation ID support
tests: Move reusable ACPI code into a utility file
tests: Add unit tests for the VM Generation ID feature
MAINTAINERS: Add VM Generation ID entry
Igor Mammedov (1):
qmp/hmp: add query-vm-generation-id and 'info vm-generation-id'
commands
MAINTAINERS | 8 ++
default-configs/i386-softmmu.mak | 1 +
default-configs/x86_64-softmmu.mak | 1 +
docs/specs/vmgenid.txt | 245 +++++++++++++++++++++++++++++++++
hmp-commands-info.hx | 14 ++
hmp.c | 9 ++
hmp.h | 1 +
hw/acpi/Makefile.objs | 1 +
hw/acpi/aml-build.c | 2 +
hw/acpi/bios-linker-loader.c | 66 ++++++++-
hw/acpi/vmgenid.c | 255 +++++++++++++++++++++++++++++++++++
hw/i386/acpi-build.c | 16 +++
include/hw/acpi/acpi_dev_interface.h | 1 +
include/hw/acpi/aml-build.h | 1 +
include/hw/acpi/bios-linker-loader.h | 7 +
include/hw/acpi/vmgenid.h | 35 +++++
qapi-schema.json | 20 +++
stubs/Makefile.objs | 1 +
stubs/vmgenid.c | 9 ++
tests/Makefile.include | 4 +-
tests/acpi-utils.c | 65 +++++++++
tests/acpi-utils.h | 94 +++++++++++++
tests/bios-tables-test.c | 132 +++---------------
tests/vmgenid-test.c | 174 ++++++++++++++++++++++++
24 files changed, 1041 insertions(+), 121 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.c
create mode 100644 tests/acpi-utils.h
create mode 100644 tests/vmgenid-test.c
--
2.7.4
next reply other threads:[~2017-02-16 6:18 UTC|newest]
Thread overview: 27+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-02-16 6:18 ben [this message]
2017-02-16 6:18 ` [Qemu-devel] [PATCH v7 1/8] linker-loader: Add new 'write pointer' command ben
2017-02-16 9:43 ` Igor Mammedov
2017-02-16 14:43 ` Michael S. Tsirkin
2017-02-16 15:48 ` Eric Blake
2017-02-16 17:01 ` Laszlo Ersek
2017-02-16 17:04 ` Ben Warren
2017-02-16 6:18 ` [Qemu-devel] [PATCH v7 2/8] docs: VM Generation ID device description ben
2017-02-16 6:18 ` [Qemu-devel] [PATCH v7 3/8] ACPI: Add vmgenid blob storage to the build tables ben
2017-02-16 17:05 ` Laszlo Ersek
2017-02-16 6:18 ` [Qemu-devel] [PATCH v7 4/8] ACPI: Add Virtual Machine Generation ID support ben
2017-02-16 9:56 ` Igor Mammedov
2017-02-16 18:32 ` Ben Warren
2017-02-16 19:03 ` Laszlo Ersek
2017-02-16 19:05 ` Ben Warren
2017-02-16 17:11 ` Laszlo Ersek
2017-02-16 6:18 ` [Qemu-devel] [PATCH v7 5/8] qmp/hmp: add query-vm-generation-id and 'info vm-generation-id' commands ben
2017-02-16 17:13 ` Laszlo Ersek
2017-02-16 6:18 ` [Qemu-devel] [PATCH v7 6/8] tests: Move reusable ACPI code into a utility file ben
2017-02-16 6:18 ` [Qemu-devel] [PATCH v7 7/8] tests: Add unit tests for the VM Generation ID feature ben
2017-02-16 10:36 ` Igor Mammedov
2017-02-16 17:05 ` Ben Warren
2017-02-16 6:18 ` [Qemu-devel] [PATCH v7 8/8] MAINTAINERS: Add VM Generation ID entry ben
2017-02-16 10:44 ` Laszlo Ersek
2017-02-16 14:29 ` [Qemu-devel] [PATCH v7 0/8] Add support for VM Generation ID Igor Mammedov
2017-02-16 14:50 ` Ben Warren
2017-02-16 20:55 ` Laszlo Ersek
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.1487224954.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 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).