diff options
author | K. Y. Srinivasan <kys@microsoft.com> | 2012-07-24 16:11:58 -0700 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2012-08-13 18:42:25 -0700 |
commit | 83ba0c4f3f317270dae5597d8044b795d119914c (patch) | |
tree | 1db3640642f68f5e57de0404a8e7a47ac2bbc899 /drivers/hv/hv.c | |
parent | 0d7614f09c1ebdbaa1599a5aba7593f147bf96ee (diff) |
Drivers: hv: Cleanup the guest ID computation
The current guest ID string in use in vmbus driver does not conform
to the MSFT guidelines on guest ID. MSFT currently does not specify
Linux specific guidelines. MSFT however has plans to publish Linux
specific guidelines. This implementation conforms to the yet unpublished
Linux specific guidelines for guest ID. This implementation also broadly
conforms to the current guidelines as well.
Signed-off-by: K. Y. Srinivasan <kys@microsoft.com>
Reviewed-by: Haiyang Zhang <haiyangz@microsoft.com>
Cc: Bjørn Mork <bjorn@mork.no>
Cc: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/hv/hv.c')
-rw-r--r-- | drivers/hv/hv.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/drivers/hv/hv.c b/drivers/hv/hv.c index 86f8885aeb45..771e24f2981d 100644 --- a/drivers/hv/hv.c +++ b/drivers/hv/hv.c @@ -26,6 +26,7 @@ #include <linux/slab.h> #include <linux/vmalloc.h> #include <linux/hyperv.h> +#include <linux/version.h> #include <asm/hyperv.h> #include "hyperv_vmbus.h" @@ -164,9 +165,11 @@ int hv_init(void) max_leaf = query_hypervisor_info(); - /* Write our OS info */ - wrmsrl(HV_X64_MSR_GUEST_OS_ID, HV_LINUX_GUEST_ID); - hv_context.guestid = HV_LINUX_GUEST_ID; + /* + * Write our OS ID. + */ + hv_context.guestid = generate_guest_id(0, LINUX_VERSION_CODE, 0); + wrmsrl(HV_X64_MSR_GUEST_OS_ID, hv_context.guestid); /* See if the hypercall page is already set */ rdmsrl(HV_X64_MSR_HYPERCALL, hypercall_msr.as_uint64); |