summaryrefslogtreecommitdiff
path: root/drivers/hv/hv.c
diff options
context:
space:
mode:
authorK. Y. Srinivasan <kys@microsoft.com>2017-01-19 21:51:47 +0300
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2017-01-20 16:48:03 +0300
commit8de8af7e0873c4fdac2205327dff922819e16657 (patch)
tree346c075860fb77b4006ac6d88258a432387b1cf9 /drivers/hv/hv.c
parent63ed4e0c67df332681ebfef6eca6852da28d6300 (diff)
downloadlinux-8de8af7e0873c4fdac2205327dff922819e16657.tar.xz
Drivers: hv: vmbus: Move the extracting of Hypervisor version information
As part of the effort to separate out architecture specific code, extract hypervisor version information in an architecture specific file. Signed-off-by: K. Y. Srinivasan <kys@microsoft.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/hv/hv.c')
-rw-r--r--drivers/hv/hv.c49
1 files changed, 0 insertions, 49 deletions
diff --git a/drivers/hv/hv.c b/drivers/hv/hv.c
index 1a33b59776d3..9985a347ed03 100644
--- a/drivers/hv/hv.c
+++ b/drivers/hv/hv.c
@@ -43,58 +43,12 @@ struct hv_context hv_context = {
#define HV_MIN_DELTA_TICKS 1
/*
- * 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;
- unsigned int ebx;
- unsigned int ecx;
- unsigned int edx;
- unsigned int max_leaf;
- unsigned int op;
-
- /*
- * Its assumed that this is called after confirming that Viridian
- * is present. Query id and revision.
- */
- eax = 0;
- ebx = 0;
- ecx = 0;
- edx = 0;
- op = HVCPUID_VENDOR_MAXFUNCTION;
- cpuid(op, &eax, &ebx, &ecx, &edx);
-
- max_leaf = eax;
-
- if (max_leaf >= HVCPUID_VERSION) {
- eax = 0;
- ebx = 0;
- ecx = 0;
- edx = 0;
- op = HVCPUID_VERSION;
- cpuid(op, &eax, &ebx, &ecx, &edx);
- host_info_eax = eax;
- host_info_ebx = ebx;
- host_info_ecx = ecx;
- host_info_edx = edx;
- }
- return max_leaf;
-}
-
-/*
* hv_init - Main initialization routine.
*
* This routine must be called before any other routines in here are called
*/
int hv_init(void)
{
- int max_leaf;
union hv_x64_msr_hypercall_contents hypercall_msr;
memset(hv_context.synic_event_page, 0, sizeof(void *) * NR_CPUS);
@@ -111,9 +65,6 @@ int hv_init(void)
memset(hv_context.clk_evt, 0,
sizeof(void *) * NR_CPUS);
- max_leaf = query_hypervisor_info();
-
-
/* See if the hypercall page is already set */
hypercall_msr.as_uint64 = 0;
rdmsrl(HV_X64_MSR_HYPERCALL, hypercall_msr.as_uint64);