diff options
author | K. Y. Srinivasan <kys@microsoft.com> | 2012-12-01 15:46:58 +0100 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2013-01-17 20:41:49 +0100 |
commit | 5fbebb2d2095e5c7d289d5f4ffecc2f2661c584a (patch) | |
tree | 6160cdab66b0b401d15fceffab8129b79ad198cb /drivers/hv | |
parent | Drivers: hv: Implement flow management on the send side (diff) | |
download | linux-5fbebb2d2095e5c7d289d5f4ffecc2f2661c584a.tar.xz linux-5fbebb2d2095e5c7d289d5f4ffecc2f2661c584a.zip |
Drivers: hv: Capture the host build information
Capture the host build information so it can be presented along with the
negotiated vmbus version information.
Signed-off-by: K. Y. Srinivasan <kys@microsoft.com>
Reviewed-by: Haiyang Zhang <haiyangz@microsoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/hv')
-rw-r--r-- | drivers/hv/hv.c | 9 | ||||
-rw-r--r-- | drivers/hv/hyperv_vmbus.h | 7 |
2 files changed, 16 insertions, 0 deletions
diff --git a/drivers/hv/hv.c b/drivers/hv/hv.c index 03e6a1eb1145..0cd2da3b22f5 100644 --- a/drivers/hv/hv.c +++ b/drivers/hv/hv.c @@ -40,6 +40,11 @@ struct hv_context hv_context = { /* * query_hypervisor_info - Get version info of the windows hypervisor */ +unsigned int host_info_eax; +unsigned int host_info_ebx; +unsigned int host_info_ecx; +unsigned int host_info_edx; + static int query_hypervisor_info(void) { unsigned int eax; @@ -76,6 +81,10 @@ static int query_hypervisor_info(void) ecx, edx >> 24, edx & 0xFFFFFF); + host_info_eax = eax; + host_info_ebx = ebx; + host_info_ecx = ecx; + host_info_edx = edx; } return max_leaf; } diff --git a/drivers/hv/hyperv_vmbus.h b/drivers/hv/hyperv_vmbus.h index ac111f223821..12f2f9e989f7 100644 --- a/drivers/hv/hyperv_vmbus.h +++ b/drivers/hv/hyperv_vmbus.h @@ -531,6 +531,13 @@ extern void hv_synic_init(void *irqarg); extern void hv_synic_cleanup(void *arg); +/* + * Host version information. + */ +extern unsigned int host_info_eax; +extern unsigned int host_info_ebx; +extern unsigned int host_info_ecx; +extern unsigned int host_info_edx; /* Interface */ |