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 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.