Message ID | 1430133591-6197-2-git-send-email-ghammer@redhat.com |
---|---|
State | New |
Headers | show |
On Mon, Apr 27, 2015 at 02:19:47PM +0300, Gal Hammer wrote: > Signed-off-by: Gal Hammer <ghammer@redhat.com> > --- > docs/specs/vmgenid.txt | 35 +++++++++++++++++++++++++++++++++++ > 1 file changed, 35 insertions(+) > create mode 100644 docs/specs/vmgenid.txt > > diff --git a/docs/specs/vmgenid.txt b/docs/specs/vmgenid.txt > new file mode 100644 > index 0000000..86ce6ab > --- /dev/null > +++ b/docs/specs/vmgenid.txt > @@ -0,0 +1,35 @@ > +VIRTUAL MACHINE GENERATION ID > +============================= > + > +Copyright (C) 2014 Red Hat, Inc. > + > +This work is licensed under the terms of the GNU GPL, version 2 or later. > +See the COPYING file in the top-level directory. > + > +=== > + > +The VM generation ID (vmgenid) device is an emulated device which > +exposes a 128-bit, cryptographically random, integer value identifier. > +This allows management applications (e.g. libvirt) to notify the guest > +operating system when the virtual machine is executed with a different > +configuration (e.g. snapshot execution or creation from a template). > + > +This is specified on the web at: http://go.microsoft.com/fwlink/?LinkId=260709 > + > +--- > + > +The vmgenid device is a sysbus device with the following ACPI ID: > +"QEMU0002". > + > +The device adds a "vmgenid.uuid" property, which can be modified using > +the -global command line argument or the QMP interface. > + > +The device uses a fixed memory resource: 0xfedf0000-0xfedf000f to store > +the GUID's buffer. > + > +According to the specification, any change to the GUID executes an > +ACPI notification. The vmgenid device triggers the GPE._E00 which > +executes the ACPI Notify operation. > + > +Although not specified in Microsoft's document, it is assumed that the > +device is expected to use the little-endian system. host? guest? Please fix that. UUID is just a byte array, no need to assume endian-ness anywhere. > -- > 2.1.0
On Mon, Apr 27, 2015 at 02:19:47PM +0300, Gal Hammer wrote: > Signed-off-by: Gal Hammer <ghammer@redhat.com> > --- > docs/specs/vmgenid.txt | 35 +++++++++++++++++++++++++++++++++++ > 1 file changed, 35 insertions(+) > create mode 100644 docs/specs/vmgenid.txt > > diff --git a/docs/specs/vmgenid.txt b/docs/specs/vmgenid.txt > new file mode 100644 > index 0000000..86ce6ab > --- /dev/null > +++ b/docs/specs/vmgenid.txt > @@ -0,0 +1,35 @@ > +VIRTUAL MACHINE GENERATION ID > +============================= > + > +Copyright (C) 2014 Red Hat, Inc. It's 2015, isn't it? > + > +This work is licensed under the terms of the GNU GPL, version 2 or later. > +See the COPYING file in the top-level directory. > + > +=== > + > +The VM generation ID (vmgenid) device is an emulated device which > +exposes a 128-bit, cryptographically random, integer value identifier. The value is up to user, let's not claim it's cryptographically random. > +This allows management applications (e.g. libvirt) to notify the guest > +operating system when the virtual machine is executed with a different > +configuration (e.g. snapshot execution or creation from a template). > + > +This is specified on the web at: http://go.microsoft.com/fwlink/?LinkId=260709 > + > +--- > + > +The vmgenid device is a sysbus device with the following ACPI ID: > +"QEMU0002". No one is expected to locate it using that ID, right? > + > +The device adds a "vmgenid.uuid" property, which can be modified using > +the -global command line argument or the QMP interface. > + > +The device uses a fixed memory resource: 0xfedf0000-0xfedf000f to store > +the GUID's buffer. > + > +According to the specification, any change to the GUID executes an > +ACPI notification. The vmgenid device triggers the GPE._E00 which > +executes the ACPI Notify operation. > + > +Although not specified in Microsoft's document, it is assumed that the > +device is expected to use the little-endian system. > -- > 2.1.0
On 04/27/2015 05:19 AM, Gal Hammer wrote: > Signed-off-by: Gal Hammer <ghammer@redhat.com> > --- > docs/specs/vmgenid.txt | 35 +++++++++++++++++++++++++++++++++++ > 1 file changed, 35 insertions(+) > create mode 100644 docs/specs/vmgenid.txt > > diff --git a/docs/specs/vmgenid.txt b/docs/specs/vmgenid.txt > new file mode 100644 > index 0000000..86ce6ab > --- /dev/null > +++ b/docs/specs/vmgenid.txt > @@ -0,0 +1,35 @@ > +VIRTUAL MACHINE GENERATION ID > +============================= > + > +Copyright (C) 2014 Red Hat, Inc. Do you want to include 2015? What you have is good. But it might also be worth documenting how one would set a new value via QMP (I assume it is a matter of finding the right QOM path to the device, then using 'qom-set' on the property). Can be done as a separate patch on top, so: Reviewed-by: Eric Blake <eblake@redhat.com>
On 27/04/2015 16:55, Michael S. Tsirkin wrote: > On Mon, Apr 27, 2015 at 02:19:47PM +0300, Gal Hammer wrote: >> Signed-off-by: Gal Hammer <ghammer@redhat.com> >> --- >> docs/specs/vmgenid.txt | 35 +++++++++++++++++++++++++++++++++++ >> 1 file changed, 35 insertions(+) >> create mode 100644 docs/specs/vmgenid.txt >> >> diff --git a/docs/specs/vmgenid.txt b/docs/specs/vmgenid.txt >> new file mode 100644 >> index 0000000..86ce6ab >> --- /dev/null >> +++ b/docs/specs/vmgenid.txt >> @@ -0,0 +1,35 @@ >> +VIRTUAL MACHINE GENERATION ID >> +============================= >> + >> +Copyright (C) 2014 Red Hat, Inc. > > It's 2015, isn't it? > >> + >> +This work is licensed under the terms of the GNU GPL, version 2 or later. >> +See the COPYING file in the top-level directory. >> + >> +=== >> + >> +The VM generation ID (vmgenid) device is an emulated device which >> +exposes a 128-bit, cryptographically random, integer value identifier. > > The value is up to user, let's not claim it's cryptographically random. I'll add a sentence that clear this issue. > >> +This allows management applications (e.g. libvirt) to notify the guest >> +operating system when the virtual machine is executed with a different >> +configuration (e.g. snapshot execution or creation from a template). >> + >> +This is specified on the web at: http://go.microsoft.com/fwlink/?LinkId=260709 >> + >> +--- >> + >> +The vmgenid device is a sysbus device with the following ACPI ID: >> +"QEMU0002". > > No one is expected to locate it using that ID, right? Nope. According to the specs the device should be identified through its _CID and/or _DDN names. >> + >> +The device adds a "vmgenid.uuid" property, which can be modified using >> +the -global command line argument or the QMP interface. >> + >> +The device uses a fixed memory resource: 0xfedf0000-0xfedf000f to store >> +the GUID's buffer. >> + >> +According to the specification, any change to the GUID executes an >> +ACPI notification. The vmgenid device triggers the GPE._E00 which >> +executes the ACPI Notify operation. >> + >> +Although not specified in Microsoft's document, it is assumed that the >> +device is expected to use the little-endian system. >> -- >> 2.1.0
On 27/04/2015 17:56, Eric Blake wrote: > On 04/27/2015 05:19 AM, Gal Hammer wrote: >> Signed-off-by: Gal Hammer <ghammer@redhat.com> >> --- >> docs/specs/vmgenid.txt | 35 +++++++++++++++++++++++++++++++++++ >> 1 file changed, 35 insertions(+) >> create mode 100644 docs/specs/vmgenid.txt >> >> diff --git a/docs/specs/vmgenid.txt b/docs/specs/vmgenid.txt >> new file mode 100644 >> index 0000000..86ce6ab >> --- /dev/null >> +++ b/docs/specs/vmgenid.txt >> @@ -0,0 +1,35 @@ >> +VIRTUAL MACHINE GENERATION ID >> +============================= >> + >> +Copyright (C) 2014 Red Hat, Inc. > > Do you want to include 2015? Done. > What you have is good. But it might also be worth documenting how one > would set a new value via QMP (I assume it is a matter of finding the > right QOM path to the device, then using 'qom-set' on the property). > Can be done as a separate patch on top, so: Good idea. I'll add it. > Reviewed-by: Eric Blake <eblake@redhat.com> Thanks! :-) Gal.
diff --git a/docs/specs/vmgenid.txt b/docs/specs/vmgenid.txt new file mode 100644 index 0000000..86ce6ab --- /dev/null +++ b/docs/specs/vmgenid.txt @@ -0,0 +1,35 @@ +VIRTUAL MACHINE GENERATION ID +============================= + +Copyright (C) 2014 Red Hat, Inc. + +This work is licensed under the terms of the GNU GPL, version 2 or later. +See the COPYING file in the top-level directory. + +=== + +The VM generation ID (vmgenid) device is an emulated device which +exposes a 128-bit, cryptographically random, integer value identifier. +This allows management applications (e.g. libvirt) to notify the guest +operating system when the virtual machine is executed with a different +configuration (e.g. snapshot execution or creation from a template). + +This is specified on the web at: http://go.microsoft.com/fwlink/?LinkId=260709 + +--- + +The vmgenid device is a sysbus device with the following ACPI ID: +"QEMU0002". + +The device adds a "vmgenid.uuid" property, which can be modified using +the -global command line argument or the QMP interface. + +The device uses a fixed memory resource: 0xfedf0000-0xfedf000f to store +the GUID's buffer. + +According to the specification, any change to the GUID executes an +ACPI notification. The vmgenid device triggers the GPE._E00 which +executes the ACPI Notify operation. + +Although not specified in Microsoft's document, it is assumed that the +device is expected to use the little-endian system.
Signed-off-by: Gal Hammer <ghammer@redhat.com> --- docs/specs/vmgenid.txt | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 docs/specs/vmgenid.txt