summaryrefslogtreecommitdiffstats
path: root/arch/x86/include/asm/hyperv.h
diff options
context:
space:
mode:
authorH. Peter Anvin <hpa@zytor.com>2010-05-07 16:57:28 -0700
committerH. Peter Anvin <hpa@zytor.com>2010-05-07 17:13:04 -0700
commite08cae4181af9483b04ecfac48f01c8e5a5f27bf (patch)
tree2cab8da747a6524694cc19f247d8bc4f157a601c /arch/x86/include/asm/hyperv.h
parent9fa02317429449e8176c9bb6da3ac00eb14d52d3 (diff)
downloadop-kernel-dev-e08cae4181af9483b04ecfac48f01c8e5a5f27bf.zip
op-kernel-dev-e08cae4181af9483b04ecfac48f01c8e5a5f27bf.tar.gz
x86: Clean up the hypervisor layer
Clean up the hypervisor layer and the hypervisor drivers, using an ops structure instead of an enumeration with if statements. The identity of the hypervisor, if needed, can be tested by testing the pointer value in x86_hyper. The MS-HyperV private state is moved into a normal global variable (it's per-system state, not per-CPU state). Being a normal bss variable, it will be left at all zero on non-HyperV platforms, and so can generally be tested for HyperV-specific features without additional qualification. Signed-off-by: H. Peter Anvin <hpa@zytor.com> Acked-by: Greg KH <greg@kroah.com> Cc: Hank Janssen <hjanssen@microsoft.com> Cc: Alok Kataria <akataria@vmware.com> Cc: Ky Srinivasan <ksrinivasan@novell.com> LKML-Reference: <4BE49778.6060800@zytor.com>
Diffstat (limited to 'arch/x86/include/asm/hyperv.h')
-rw-r--r--arch/x86/include/asm/hyperv.h5
1 files changed, 3 insertions, 2 deletions
diff --git a/arch/x86/include/asm/hyperv.h b/arch/x86/include/asm/hyperv.h
index 4604047..5df477a 100644
--- a/arch/x86/include/asm/hyperv.h
+++ b/arch/x86/include/asm/hyperv.h
@@ -1,5 +1,5 @@
-#ifndef _ASM_X86_KVM_HYPERV_H
-#define _ASM_X86_KVM_HYPERV_H
+#ifndef _ASM_X86_HYPERV_H
+#define _ASM_X86_HYPERV_H
#include <linux/types.h>
@@ -16,6 +16,7 @@
#define HYPERV_HYPERVISOR_PRESENT_BIT 0x80000000
#define HYPERV_CPUID_MIN 0x40000005
+#define HYPERV_CPUID_MAX 0x4000ffff
/*
* Feature identification. EAX indicates which features are available
OpenPOWER on IntegriCloud