On 02/17/17 16:33, Ben Warren wrote: > >> On Feb 17, 2017, at 2:43 AM, Igor Mammedov <imamm...@redhat.com >> <mailto:imamm...@redhat.com>> wrote: >> >> On Thu, 16 Feb 2017 15:15:36 -0800 >> b...@skyportsystems.com <mailto:b...@skyportsystems.com> wrote: >> >>> From: Ben Warren <b...@skyportsystems.com <mailto:b...@skyportsystems.com>> >>> >>> This implements the VM Generation ID feature by passing a 128-bit >>> GUID to the guest via a fw_cfg blob. >>> Any time the GUID changes, an ACPI notify event is sent to the guest >>> >>> The user interface is a simple device with one parameter: >>> - guid (string, must be "auto" or in UUID format >>> xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx) >> I've given it some testing with WS2012R2 and v4 patches for Seabios, >> >> Windows is able to read initial GUID allocation and writeback >> seems to work somehow: >> >> (qemu) info vm-generation-id >> c109c09b-0e8b-42d5-9b33-8409c9dcd16c >> >> vmgenid client in Windows reads it as 2 following 64bit integers: >> 42d50e8bc109c09b:6cd1dcc90984339b >> >> However update path/restore from snapshot doesn't >> here is as I've tested it: >> >> qemu-system-x86_64 -device vmgenid,id=testvgid,guid=auto -monitor stdio >> (qemu) info vm-generation-id >> c109c09b-0e8b-42d5-9b33-8409c9dcd16c >> (qemu) stop >> (qemu) migrate "exec:gzip -c > STATEFILE.gz" >> (qemu) quit >> >> qemu-system-x86_64 -device vmgenid,id=testvgid,guid=auto -monitor stdio >> -incoming "exec: gzip -c -d STATEFILE.gz" >> (qemu) info vm-generation-id >> 28b587fa-991b-4267-80d7-9cf28b746fe9 >> >> guest >> 1. doesn't get GPE notification that it must receive >> 2. vmgenid client in Windows reads the same value >> 42d50e8bc109c09b:6cd1dcc90984339b >> > Strange, this was working for me, but with a slightly different test method: > > * I use virsh save/restore
Awesome, this actually what I should try. All my guests are managed by libvirt (with the occasional <qemu:arg>, for development), and direct QEMU monitor commands such as virsh qemu-monitor-command ovmf.rhel7 --hmp 'info vm-generation-id' only work for me if they are reasonably non-intrusive. > * While I do later testing with Windows, during development I use a > Linux kernel module I wrote that keeps track of GUID and > notifications. I’m happy to share this with you if interested. Please do. If you have a public git repo somewhere, that would be awesome. (Bonus points if the module builds out-of-tree, if the kernel-devel package is installed.) NB: while the set-id monitor command was part of the series, I did test it to the extent that I checked the SCI ("ACPI interrupt") count in the guest, in /proc/interrupts. I did see it increase, so minimally the SCI injection was fine. Thanks! Laszlo > I’ll dig into this morning. > > —Ben > <snip>