public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
* [PATCH 0/5] OvmfPkg: support QEMU_LOADER_WRITE_POINTER
@ 2017-02-16 20:41 Laszlo Ersek
  2017-02-16 20:41 ` [PATCH 1/5] OvmfPkg/AcpiPlatformDxe: prepare for QEMU_LOADER_WRITE_POINTER definitions Laszlo Ersek
                   ` (4 more replies)
  0 siblings, 5 replies; 13+ messages in thread
From: Laszlo Ersek @ 2017-02-16 20:41 UTC (permalink / raw)
  To: edk2-devel-01; +Cc: Jordan Justen

This patch series adds support for the new WRITE_POINTER command of
QEMU's ACPI linker/loader.

The command's first use case is QEMU's implementation of the "Microsoft
Hyper-V Generation Counter" device (a.k.a. "VMGENID"). The latest
version of the QEMU patch series (v7) can be found at:

  [Qemu-devel] [PATCH v7 0/8] Add support for VM Generation ID
  msgid <cover.1487224954.git.ben@skyportsystems.com>
  http://lists.nongnu.org/archive/html/qemu-devel/2017-02/msg03456.html

The VMGENID device is publicly specified by Microsoft. Please find the
reference, and how QEMU implements the specification in cooperation with
guest firmware (OVMF and SeaBIOS), at:

  [Qemu-devel] [PATCH v7 2/8] docs: VM Generation ID device description
  msgid <6e7af53f114f4875fbb952fb047d9d91bba2634f.1487224954.git.ben@skyportsystems.com>
  http://lists.nongnu.org/archive/html/qemu-devel/2017-02/msg03459.html

The WRITE_POINTER command is a building block for this.

While minuscule tweaks are expected in v8 of the QEMU series, we have
finally stabilized the QEMU<->firmware interface, over a long and taxing
series of emails and patch set versions. I've successfully tested basic
VMGENID functionality (initial setup, guest memory contents, ACPI S3
suspend/resume, device status) with RHEL-7 and Windows Server 2012 R2
guests.

This series can be fetched from <https://github.com/lersek/edk2.git>,
branch "write_pointer".

Cc: Jordan Justen <jordan.l.justen@intel.com>
Ref: https://bugzilla.tianocore.org/show_bug.cgi?id=359

Thanks
Laszlo

Laszlo Ersek (5):
  OvmfPkg/AcpiPlatformDxe: prepare for QEMU_LOADER_WRITE_POINTER
    definitions
  OvmfPkg/AcpiPlatformDxe: add QEMU_LOADER_WRITE_POINTER definitions
  OvmfPkg/AcpiPlatformDxe: rewrap license block in "QemuFwCfgAcpi.c"
  OvmfPkg/AcpiPlatformDxe: implement the QEMU_LOADER_WRITE_POINTER
    command
  OvmfPkg/AcpiPlatformDxe: replay QEMU_LOADER_WRITE_POINTER commands at
    S3

 OvmfPkg/AcpiPlatformDxe/AcpiPlatformDxe.inf          |   2 +
 OvmfPkg/AcpiPlatformDxe/QemuFwCfgAcpiPlatformDxe.inf |   2 +
 OvmfPkg/AcpiPlatformDxe/AcpiPlatform.h               |  27 ++
 OvmfPkg/AcpiPlatformDxe/QemuLoader.h                 |  36 +-
 OvmfPkg/AcpiPlatformDxe/BootScript.c                 | 414 ++++++++++++++++++++
 OvmfPkg/AcpiPlatformDxe/QemuFwCfgAcpi.c              | 245 +++++++++++-
 6 files changed, 711 insertions(+), 15 deletions(-)
 create mode 100644 OvmfPkg/AcpiPlatformDxe/BootScript.c

-- 
2.9.3



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

end of thread, other threads:[~2017-02-21 12:15 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-02-16 20:41 [PATCH 0/5] OvmfPkg: support QEMU_LOADER_WRITE_POINTER Laszlo Ersek
2017-02-16 20:41 ` [PATCH 1/5] OvmfPkg/AcpiPlatformDxe: prepare for QEMU_LOADER_WRITE_POINTER definitions Laszlo Ersek
2017-02-16 20:41 ` [PATCH 2/5] OvmfPkg/AcpiPlatformDxe: add " Laszlo Ersek
2017-02-16 20:41 ` [PATCH 3/5] OvmfPkg/AcpiPlatformDxe: rewrap license block in "QemuFwCfgAcpi.c" Laszlo Ersek
2017-02-16 20:41 ` [PATCH 4/5] OvmfPkg/AcpiPlatformDxe: implement the QEMU_LOADER_WRITE_POINTER command Laszlo Ersek
2017-02-17 19:34   ` Jordan Justen
2017-02-17 20:51     ` Laszlo Ersek
2017-02-16 20:41 ` [PATCH 5/5] OvmfPkg/AcpiPlatformDxe: replay QEMU_LOADER_WRITE_POINTER commands at S3 Laszlo Ersek
2017-02-17 21:25   ` Jordan Justen
2017-02-17 22:41     ` Laszlo Ersek
2017-02-17 22:48       ` Laszlo Ersek
2017-02-21  0:17         ` Jordan Justen
2017-02-21 12:15           ` Laszlo Ersek

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox