All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Richard W.M. Jones" <rjones@redhat.com>
To: qemu-devel@nongnu.org, lersek@redhat.com, mst@redhat.com,
	berrange@redhat.com, jferlan@redhat.com
Subject: [Qemu-devel] Byte ordering of VM Generation ID in Windows VMs
Date: Thu, 5 Jul 2018 13:39:29 +0100	[thread overview]
Message-ID: <20180705123929.GB16293@redhat.com> (raw)

I was doing a bit of investigation around how different hypervisors
handle the VM Generation ID feature.  QEMU's behaviour seems quite
strange, I wonder if this is a bug or expected?

(1) I booted a Windows 2016 VM with:

  qemu-system-x86_64 -M pc,accel=kvm -m 2G -hda w2k16-mincore.img \
      -device vmgenid,guid=01020304-0506-0708-090a-0b0c0d0e0f00,id=vmgenid0

(2) Inside the guest I used the VMGENID.EXE program from:

  https://bugzilla.redhat.com/show_bug.cgi?id=1598350#c3
  https://docs.microsoft.com/en-gb/windows/desktop/HyperV_v2/virtual-machine-generation-identifier

Note this is self-compiled using mingw64-g++ (not using Visual Studio
which I don't have available), but I don't believe that could have
caused the problem.

(3) The program prints:

  VmCounterValue: 708050601020304:f0e0d0c0b0a09

To make it easier to see, this is the same number but zero-extended:

  VmCounterValue: 07 08 05 06 01 02 03 04 : 00 0f 0e 0d 0c 0b 0a 09
                  \________ LOW ________/   \_______ HIGH _______/
                            WORD                     WORD

As you can see it looks like there is no clear relationship between
the order of the bytes in the guid= parameter and the order that they
are seen by Windows.

BTW if you want to try to reproduce this you will need to use
Windows 2012 R2 or above.

Rich.

-- 
Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones
Read my programming and virtualization blog: http://rwmj.wordpress.com
virt-df lists disk usage of guests without needing to install any
software inside the virtual machine.  Supports Linux and Windows.
http://people.redhat.com/~rjones/virt-df/

             reply	other threads:[~2018-07-05 12:39 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-07-05 12:39 Richard W.M. Jones [this message]
2018-07-05 12:52 ` [Qemu-devel] Byte ordering of VM Generation ID in Windows VMs Richard W.M. Jones
2018-07-05 13:54   ` Michael S. Tsirkin
2018-07-05 14:11     ` Richard W.M. Jones
2018-07-09  7:36       ` Richard W.M. Jones
2018-07-09  9:05         ` Laszlo Ersek
2018-07-09  9:11           ` Richard W.M. Jones
2018-07-09 15:50         ` Richard W.M. Jones
2018-07-05 14:20   ` Laszlo Ersek
2018-07-05 16:43     ` Richard W.M. Jones
2018-07-05 17:10       ` Michael S. Tsirkin
2018-07-05 20:59         ` Richard W.M. Jones
2018-07-05 17:13       ` Daniel P. Berrangé
2018-07-05 17:15       ` Laszlo Ersek
2018-07-05 17:34         ` Michael S. Tsirkin

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=20180705123929.GB16293@redhat.com \
    --to=rjones@redhat.com \
    --cc=berrange@redhat.com \
    --cc=jferlan@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.