diff options
author | H. Peter Anvin <hpa@zytor.com> | 2010-05-07 16:57:28 -0700 |
---|---|---|
committer | H. Peter Anvin <hpa@zytor.com> | 2010-05-07 17:13:04 -0700 |
commit | e08cae4181af9483b04ecfac48f01c8e5a5f27bf (patch) | |
tree | 2cab8da747a6524694cc19f247d8bc4f157a601c /arch/x86/include/asm/hyperv.h | |
parent | 9fa02317429449e8176c9bb6da3ac00eb14d52d3 (diff) | |
download | lwn-e08cae4181af9483b04ecfac48f01c8e5a5f27bf.tar.gz lwn-e08cae4181af9483b04ecfac48f01c8e5a5f27bf.zip |
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.h | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/arch/x86/include/asm/hyperv.h b/arch/x86/include/asm/hyperv.h index 46040473e122..5df477ac3af7 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 |