linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: "Bjørn Mork" <bjorn@mork.no>
To: KY Srinivasan <kys@microsoft.com>
Cc: "Greg KH" <gregkh@linuxfoundation.org>,
	"Paolo Bonzini" <pbonzini@redhat.com>,
	devel@linuxdriverproject.org, linux-kernel@vger.kernel.org,
	virtualization@lists.osdl.org, "Bjørn Mork" <bjorn@mork.no>
Subject: [PATCH] drivers: hv: use Linux version in guest ID
Date: Fri, 20 Jul 2012 10:03:08 +0200	[thread overview]
Message-ID: <1342771388-24389-1-git-send-email-bjorn@mork.no> (raw)
In-Reply-To: <87fw8mlv7e.fsf@nemi.mork.no>

Use OS version number in the guest ID as recommended by Microsoft

Signed-off-by: Bjørn Mork <bjorn@mork.no>
---
So how about something like this?  Yes, I know including
linux/version.h often is unwanted, but the spec does
recommend using the actual OS version in the guest ID

Yes, this will be offensive again when Linux is at 
version 181.0, but we might have found a better solution by
then :-)


 drivers/hv/hyperv_vmbus.h |   20 ++++++++++++++++----
 1 file changed, 16 insertions(+), 4 deletions(-)

diff --git a/drivers/hv/hyperv_vmbus.h b/drivers/hv/hyperv_vmbus.h
index b9426a6..cc0c3f0 100644
--- a/drivers/hv/hyperv_vmbus.h
+++ b/drivers/hv/hyperv_vmbus.h
@@ -29,6 +29,7 @@
 #include <asm/sync_bitops.h>
 #include <linux/atomic.h>
 #include <linux/hyperv.h>
+#include <linux/version.h>
 
 /*
  * The below CPUID leaves are present if VersionAndFeatures.HypervisorPresent
@@ -410,10 +411,21 @@ enum {
 
 #define HV_PRESENT_BIT			0x80000000
 
-#define HV_LINUX_GUEST_ID_LO		0x00000000
-#define HV_LINUX_GUEST_ID_HI		0xB16B00B5
-#define HV_LINUX_GUEST_ID		(((u64)HV_LINUX_GUEST_ID_HI << 32) | \
-					   HV_LINUX_GUEST_ID_LO)
+/* Linux vendor ID allocated by Microsoft */
+#define HV_LINUX_GUEST_ID_VENDOR	0xB16B
+
+/* Creating a guest ID conforming to the encoding recommended by
+ * Microsoft, with variant and build fixed to 0
+ *
+ *   63:48 - Vendor ID
+ *   47:40 - OS Variant
+ *   39:32 - Major Version
+ *   31:24 - Minor Version
+ *   23:16 - Service Version
+ *   15:0  - Build Number
+ */
+#define HV_LINUX_GUEST_ID		((u64)HV_LINUX_GUEST_ID_VENDOR << 48 | \
+					 (u64)LINUX_VERSION_CODE << 16)
 
 #define HV_CPU_POWER_MANAGEMENT		(1 << 0)
 #define HV_RECOMMENDATIONS_MAX		4
-- 
1.7.10.4


  reply	other threads:[~2012-07-20  8:03 UTC|newest]

Thread overview: 46+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-09-22 16:17 Hyper-V TODO file K. Y. Srinivasan
2011-09-22 16:05 ` Joe Perches
2011-09-22 17:04 ` Greg KH
2011-09-22 17:20   ` KY Srinivasan
2011-09-22 17:36     ` Greg KH
2011-09-22 18:22       ` KY Srinivasan
2011-10-04 13:59       ` KY Srinivasan
2011-10-04 17:04         ` Greg KH
2011-10-04 17:23           ` KY Srinivasan
2011-10-04 19:34             ` Move hyperv out of the drivers/staging/ directory Greg KH
2011-10-04 21:22               ` KY Srinivasan
2011-10-05  2:49               ` KY Srinivasan
2012-07-13 10:23               ` 0xB16B00B5? Really? (was Re: Move hyperv out of the drivers/staging/ directory) Paolo Bonzini
2012-07-13 13:13                 ` KY Srinivasan
2012-07-13 13:15                   ` Paolo Bonzini
2012-07-13 13:21                     ` KY Srinivasan
2012-07-13 20:30                       ` 2976579765? " Paul Bolle
2012-07-13 13:24                     ` 0xB16B00B5? " Borislav Petkov
2012-07-13 19:00                       ` Steven Rostedt
2012-07-14 10:50                         ` Borislav Petkov
2012-07-13 15:27                 ` [PATCH] hv: Change the guest ID value Matthew Garrett
2012-07-19  2:11                 ` 0xB16B00B5? Really? (was Re: Move hyperv out of the drivers/staging/ directory) KY Srinivasan
2012-07-19 15:30                   ` Borislav Petkov
2012-07-19 15:53                     ` KY Srinivasan
2012-07-19 21:07                   ` Greg KH (gregkh@linuxfoundation.org)
2012-07-19 21:22                     ` KY Srinivasan
2012-07-19 22:01                       ` Greg KH (gregkh@linuxfoundation.org)
2012-07-19 22:30                         ` KY Srinivasan
2012-07-19 23:18                           ` Anthony Liguori
2012-07-20  0:37                             ` KY Srinivasan
2012-07-19 23:28                           ` Greg KH (gregkh@linuxfoundation.org)
2012-07-20  0:41                             ` KY Srinivasan
2012-07-20  7:59                               ` Bjørn Mork
2012-07-20  8:03                                 ` Bjørn Mork [this message]
2012-07-20 15:26                                   ` [PATCH] drivers: hv: use Linux version in guest ID Greg KH
2012-07-20 16:02                                     ` KY Srinivasan
2012-07-20 16:09                                       ` Greg KH
2012-07-22 15:16                                         ` KY Srinivasan
2012-08-13 13:00                                         ` Bjørn Mork
2012-08-13 13:04                                           ` KY Srinivasan
2012-08-13 13:33                                             ` Bjørn Mork
2012-08-13 14:20                                               ` KY Srinivasan
2012-07-20 14:00                                 ` 0xB16B00B5? Really? (was Re: Move hyperv out of the drivers/staging/ directory) KY Srinivasan
2012-07-20 15:03                                   ` richard -rw- weinberger
2012-07-20 15:16                                     ` KY Srinivasan
2012-07-21 23:21                                     ` valdis.kletnieks

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=1342771388-24389-1-git-send-email-bjorn@mork.no \
    --to=bjorn@mork.no \
    --cc=devel@linuxdriverproject.org \
    --cc=gregkh@linuxfoundation.org \
    --cc=kys@microsoft.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=pbonzini@redhat.com \
    --cc=virtualization@lists.osdl.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).