linux/arch/x86/include/asm
Ky Srinivasan a2a47c6c3d x86: Detect running on a Microsoft HyperV system
This patch integrates HyperV detection within the framework currently
used by VmWare. With this patch, we can avoid having to replicate the
HyperV detection code in each of the Microsoft HyperV drivers.

Reworked and tweaked by Greg K-H to build properly.

Signed-off-by: K. Y. Srinivasan <ksrinivasan@novell.com>
LKML-Reference: <20100506190841.GA1605@kroah.com>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: "H. Peter Anvin" <hpa@zytor.com>
Cc: Vadim Rozenfeld <vrozenfe@redhat.com>
Cc: Avi Kivity <avi@redhat.com>
Cc: Gleb Natapov <gleb@redhat.com>
Cc: Frederic Weisbecker <fweisbec@gmail.com>
Cc: Alexey Dobriyan <adobriyan@gmail.com>
Cc: "K.Prasad" <prasad@linux.vnet.ibm.com>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Cc: Stephane Eranian <eranian@google.com>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Alan Cox <alan@linux.intel.com>
Cc: Haiyang Zhang <haiyangz@microsoft.com>
Cc: Hank Janssen <hjanssen@microsoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
2010-05-06 18:24:15 -07:00
..
uv Merge branch 'x86-uv-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip 2010-02-28 11:00:55 -08:00
visws x86: Move pci init function to x86_init 2010-02-19 16:12:29 -08:00
xen xen: move Xen-testing predicates to common header 2009-11-04 08:47:24 -08:00
a.out-core.h hw-breakpoints: Fix broken a.out format dump 2009-11-10 11:23:05 +01:00
a.out.h
acpi.h ACPI: processor: finish unifying arch_acpi_processor_init_pdc() 2009-12-22 03:24:13 -05:00
aes.h
agp.h
alternative-asm.h x86/alternatives: No need for alternatives-asm.h to re-invent stuff already in asm.h 2009-12-02 11:39:45 +01:00
alternative.h Merge branch 'perf-probes-for-linus-2' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip 2010-03-05 10:50:22 -08:00
amd_iommu_proto.h x86/amd-iommu: Fix IOMMU-API initialization for iommu=pt 2010-01-22 17:44:35 +01:00
amd_iommu_types.h x86/amd-iommu: Remove amd_iommu_pd_table 2009-11-27 14:20:37 +01:00
amd_iommu.h x86/amd-iommu: Update copyright headers 2009-11-27 11:45:49 +01:00
apb_timer.h x86, apbt: Moorestown APB system timer driver 2010-02-24 11:01:21 -08:00
apic.h x86: apic: Do not use stacked physid_mask_t 2009-11-10 05:52:07 +01:00
apicdef.h x86: io-apic: IO-APIC MMIO should not fail on resource insertion 2009-11-16 16:37:10 +01:00
apm.h
asm-offsets.h kbuild: move asm-offsets.h to include/generated 2009-12-12 13:08:14 +01:00
asm.h
atomic64_32.h x86: Split atomic64_t functions into seperate headers 2010-01-07 11:47:31 -08:00
atomic64_64.h x86: Split atomic64_t functions into seperate headers 2010-01-07 11:47:31 -08:00
atomic.h x86: Mark atomic irq ops raw for 32bit legacy 2010-02-16 17:19:11 +01:00
auxvec.h
bios_ebda.h
bitops.h
bitsperlong.h
boot.h
bootparam.h Merge branch 'x86-platform-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip 2009-09-18 14:05:47 -07:00
bug.h x86: Convert BUG() to use unreachable() 2009-12-05 09:10:12 -08:00
bugs.h
byteorder.h
cache.h x86: Eliminate redundant/contradicting cache line size config options 2009-11-19 04:58:34 +01:00
cacheflush.h Merge branch 'x86-mm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip 2009-12-08 13:27:33 -08:00
calgary.h x86: Calgary: Convert detect_calgary() to use iommu_init hook 2009-11-10 12:31:15 +01:00
calling.h
checksum_32.h x86: fix csum_ipv6_magic asm memory clobber 2009-10-01 16:11:12 -07:00
checksum_64.h
checksum.h
cmpxchg_32.h Merge branch 'x86-asm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip 2009-12-05 15:32:03 -08:00
cmpxchg_64.h x86: Generate cmpxchg build failures 2009-10-09 15:57:00 +02:00
cmpxchg.h
compat.h improve sys_newuname() for compat architectures 2010-03-12 15:52:32 -08:00
cpu.h
cpufeature.h x86, cpu: Add AMD core boosting feature flag to /proc/cpuinfo 2010-04-09 14:05:23 -07:00
cpumask.h
cputime.h
current.h
debugreg.h x86/debug: Clear reserved bits of DR6 in do_debug() 2010-01-29 02:26:10 +01:00
delay.h
desc_defs.h tree-wide: fix assorted typos all over the place 2009-12-04 15:39:55 +01:00
desc.h x86: Make sure get_user_desc() doesn't sign extend. 2009-11-05 13:22:18 -08:00
device.h x86/amd-iommu: Use dev->arch->iommu to store iommu related information 2009-11-27 14:20:32 +01:00
div64.h
dma-mapping.h dma-mapping: fix off-by-one error in dma_capable() 2009-12-16 07:20:12 -08:00
dma.h
dmi.h
ds.h
dwarf2.h
e820.h core: Move early_res from arch/x86 to kernel/ 2010-02-16 21:43:39 -08:00
edac.h
efi.h
elf.h x86: ELF_PLAT_INIT() shouldn't worry about TIF_IA32 2010-02-16 08:51:49 -08:00
emergency-restart.h
entry_arch.h x86: UV RTC: Rename generic_interrupt to x86_platform_ipi 2009-10-14 18:27:11 +02:00
errno.h
fb.h x86-64: Allow fbdev primary video code 2010-02-16 21:22:26 -08:00
fcntl.h
fixmap.h x86: Fix placement of FIX_OHCI1394_BASE 2010-03-16 11:16:27 +01:00
floppy.h
frame.h
ftrace.h
futex.h
gart.h x86: GART: Convert gart_iommu_hole_init() to use iommu_init hook 2009-11-10 12:31:23 +01:00
genapic.h
geode.h cs5535: drop the Geode-specific MFGPT/GPIO code 2009-12-15 08:53:28 -08:00
gpio.h
hardirq.h Merge branch 'x86-uv-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip 2009-12-08 13:38:21 -08:00
highmem.h x86, paravirt: Remove kmap_atomic_pte paravirt op. 2010-02-27 14:41:35 -08:00
hpet.h x86: Disable HPET MSI on ATI SB700/SB800 2010-01-23 06:21:58 +01:00
hugetlb.h
hw_breakpoint.h x86/hw-breakpoints: Remove the name field 2010-02-27 17:24:15 +01:00
hw_irq.h x86: Handle legacy PIC interrupts on all the cpu's 2010-03-16 06:36:35 +01:00
hypertransport.h
hyperv.h x86: Detect running on a Microsoft HyperV system 2010-05-06 18:24:15 -07:00
hypervisor.h
i387.h x86, ptrace: regset extensions to support xstate 2010-02-11 15:08:17 -08:00
i8253.h
i8259.h Merge remote branch 'origin/x86/apic' into x86/mrst 2010-02-22 16:25:18 -08:00
ia32_unistd.h
ia32.h
idle.h
inat_types.h
inat.h x86: AVX instruction set decoder support 2009-10-29 08:47:46 +01:00
init.h
insn.h x86: AVX instruction set decoder support 2009-10-29 08:47:46 +01:00
inst.h x86: Generate .byte code for some new instructions via gas macro 2009-11-09 13:52:26 -05:00
io_apic.h x86, ioapic: Add dummy ioapic functions 2010-02-23 23:14:07 -08:00
io.h x86: Merge io.h 2010-02-05 13:57:40 -08:00
ioctl.h
ioctls.h
iomap.h
iommu.h x86: Move iommu_shutdown_noop to x86_init.c 2009-11-15 09:03:10 +01:00
ipcbuf.h
ipi.h
irq_regs.h
irq_remapping.h
irq_vectors.h x86, irq: Use 0x20 for the IRQ_MOVE_CLEANUP_VECTOR instead of 0x1f 2010-01-18 10:59:59 -08:00
irq.h x86, legacy_irq: Remove left over nr_legacy_irqs 2010-02-24 11:01:34 -08:00
irqflags.h
ist.h
k8.h x86, k8: Fix build error when K8_NB is disabled 2010-05-03 14:34:24 -07:00
Kbuild KVM: export <asm/hyperv.h> 2010-03-01 12:36:01 -03:00
kdebug.h
kexec.h
kgdb.h
kmap_types.h
kmemcheck.h
kprobes.h kprobes/x86: Support kprobes jump optimization on x86 2010-02-25 17:49:26 +01:00
kvm_emulate.h KVM: x86 emulator: fix memory access during x86 emulation 2010-03-01 12:36:11 -03:00
kvm_host.h KVM: Fix segment descriptor loading 2010-03-01 12:36:14 -03:00
kvm_para.h KVM: Implement bare minimum of HYPER-V MSRs 2010-03-01 12:35:57 -03:00
kvm.h KVM: x86: Extend KVM_SET_VCPU_EVENTS with selective updates 2009-12-27 13:36:33 -02:00
ldt.h
lguest_hcall.h
lguest.h
linkage.h
local.h local_t: Remove cpu_local_xx macros 2010-01-05 15:34:49 +09:00
mach_timer.h
mach_traps.h
math_emu.h
mc146818rtc.h
mca_dma.h
mca.h
mce.h x86: mce.h: Fix warning in header checks 2010-01-13 10:41:22 +01:00
microcode.h Revert "x86: ucode-amd: Load ucode-patches once ..." 2010-01-23 06:21:59 +01:00
mman.h
mmconfig.h
mmu_context.h cpumask: use mm_cpumask() wrapper: x86 2009-09-24 09:34:52 +09:30
mmu.h
mmx.h
mmzone_32.h tree-wide: fix assorted typos all over the place 2009-12-04 15:39:55 +01:00
mmzone_64.h x86, numa: Add fixed node size option for numa emulation 2010-02-15 14:34:10 -08:00
mmzone.h
module.h Merge branch 'x86-cpu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip 2009-09-14 07:57:32 -07:00
mpspec_def.h
mpspec.h Merge branch 'x86-mm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip 2009-12-08 13:27:33 -08:00
mrst.h x86, mrst: Add vrtc platform data setup code 2010-02-23 23:15:19 -08:00
msgbuf.h
mshyperv.h x86: Detect running on a Microsoft HyperV system 2010-05-06 18:24:15 -07:00
msidef.h
msr-index.h x86, amd: Restrict usage of c1e_idle() 2010-03-19 14:43:36 -07:00
msr.h x86, msr: msrs_alloc/free for CONFIG_SMP=n 2009-12-16 15:36:32 -08:00
mtrr.h
mutex_32.h
mutex_64.h
mutex.h
nmi.h x86, perfctr: Remove unused func avail_to_resrv_perfctr_nmi() 2009-12-28 09:36:46 +01:00
nops.h x86/tracing: comment need for atomic nop 2009-09-10 17:22:44 -04:00
numa_32.h
numa_64.h x86, numa: Add fixed node size option for numa emulation 2010-02-15 14:34:10 -08:00
numa.h
numaq.h Merge branch 'x86-mrst-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip 2010-03-07 15:59:39 -08:00
olpc.h x86, olpc: Use pci subarch init for OLPC 2010-02-25 19:26:23 -08:00
page_32_types.h
page_32.h
page_64_types.h
page_64.h
page_types.h x86: Use the generic page_is_ram() 2010-02-01 16:58:17 -08:00
page.h
param.h
paravirt_types.h x86, paravirt: Remove kmap_atomic_pte paravirt op. 2010-02-27 14:41:35 -08:00
paravirt.h x86, paravirt: Remove kmap_atomic_pte paravirt op. 2010-02-27 14:41:35 -08:00
parport.h
pat.h x86, platform: Change is_untracked_pat_range() to bool; cleanup init 2009-11-23 17:09:59 -08:00
pci_64.h x86: Only call dma32_reserve_bootmem 64bit !CONFIG_NUMA 2010-02-10 17:47:18 -08:00
pci_x86.h Merge branch 'x86-mrst-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip 2010-03-07 15:59:39 -08:00
pci-direct.h
pci-functions.h
pci.h pci-dma: add linux/pci-dma.h to linux/pci.h 2010-03-12 15:52:42 -08:00
percpu.h percpu, x86: Generic inc / dec percpu instructions 2010-01-05 15:34:50 +09:00
perf_event.h perf_events, x86: Fixup fixed counter constraints 2010-03-02 15:06:47 +01:00
pgalloc.h x86, mm: Allow highmem user page tables to be disabled at boot time 2010-02-25 10:28:19 +01:00
pgtable_32_types.h
pgtable_32.h Merge branch 'x86-mm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip 2010-03-03 09:11:02 -08:00
pgtable_64_types.h
pgtable_64.h MM: Pass a PTE pointer to update_mmu_cache() rather than the PTE itself 2010-02-20 16:41:46 +00:00
pgtable_types.h Merge branch 'bugfix' of git://git.kernel.org/pub/scm/linux/kernel/git/jeremy/xen into x86/urgent 2009-09-23 14:35:10 +02:00
pgtable-2level_types.h
pgtable-2level.h
pgtable-3level_types.h
pgtable-3level.h
pgtable.h x86, mm: is_untracked_pat_range() takes a normal semiclosed range 2009-11-23 17:09:59 -08:00
poll.h
posix_types_32.h
posix_types_64.h
posix_types.h
prctl.h
processor-cyrix.h
processor-flags.h
processor.h x86: Detect running on a Microsoft HyperV system 2010-05-06 18:24:15 -07:00
proto.h Move round_up/down to kernel.h 2010-02-12 09:42:39 -08:00
ptrace-abi.h
ptrace.h ptrace: move user_enable_single_step & co prototypes to linux/ptrace.h 2010-03-12 15:52:38 -08:00
pvclock-abi.h
pvclock.h
rdc321x_defs.h
reboot_fixups.h
reboot.h
required-features.h
resource.h
resume-trace.h
rio.h
rtc.h
rwlock.h
rwsem.h x86-64, rwsem: Avoid store forwarding hazard in __downgrade_write 2010-02-13 13:37:56 -08:00
scatterlist.h
seccomp_32.h
seccomp_64.h
seccomp.h
sections.h x86-64: align RODATA kernel section to 2MB with CONFIG_DEBUG_RODATA 2009-10-20 14:46:00 +09:00
segment.h
sembuf.h
serial.h
setup_arch.h
setup.h x86: Move pci init function to x86_init 2010-02-19 16:12:29 -08:00
shmbuf.h
shmparam.h
sigcontext32.h
sigcontext.h tree-wide: fix misspelling of "definition" in comments 2009-12-04 23:41:47 +01:00
sigframe.h
siginfo.h
signal.h
smp.h x86, lib: Add wbinvd smp helpers 2010-01-22 16:05:42 -08:00
smpboot_hooks.h
socket.h
sockios.h
sparsemem.h
spinlock_types.h locking: Convert raw_rwlock to arch_rwlock 2009-12-14 23:55:32 +01:00
spinlock.h locking: Convert raw_rwlock functions to arch_rwlock 2009-12-14 23:55:32 +01:00
srat.h
stackprotector.h x86/i386: Make sure stack-protector segment base is cache aligned 2009-09-03 21:30:51 +02:00
stacktrace.h perf: Drop useless check for ignored frame 2010-01-13 10:09:08 +01:00
stat.h
statfs.h
string_32.h x86: Use __builtin_memset and __builtin_memcpy for memset/memcpy 2009-09-28 16:43:15 -07:00
string_64.h
string.h
suspend_32.h
suspend_64.h
suspend.h
svm.h KVM: SVM: Fix SVM_CR0_SELECTIVE_MASK 2010-03-01 12:35:51 -03:00
swab.h
swiotlb.h x86: Split swiotlb initialization into two stages 2009-12-15 13:01:57 +01:00
sync_bitops.h
sys_ia32.h Add generic sys_olduname() 2010-03-12 15:52:32 -08:00
syscall.h tracing: Unify arch_syscall_addr() implementations 2010-02-17 13:07:21 +01:00
syscalls.h Add generic sys_olduname() 2010-03-12 15:52:32 -08:00
system_64.h
system.h Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/percpu 2010-03-03 07:34:18 -08:00
tce.h
termbits.h
termios.h
thread_info.h x86: get rid of the insane TIF_ABI_PENDING bit 2010-01-29 08:22:01 -08:00
time.h x86: Move get/set_wallclock to x86_platform_ops 2009-09-16 14:34:50 +02:00
timer.h
timex.h
tlb.h
tlbflush.h
topology.h hugetlb: add generic definition of NUMA_NO_NODE 2009-12-15 08:53:12 -08:00
trampoline.h x86: Use find_e820() instead of hard coded trampoline address 2009-12-11 09:28:22 +01:00
traps.h
tsc.h
types.h
uaccess_32.h x86: copy_from_user() should not return -EFAULT 2010-01-05 13:45:06 -08:00
uaccess_64.h Merge branch 'x86-asm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip 2010-02-28 10:35:09 -08:00
uaccess.h x86, 64-bit: Move K8 B step iret fixup to fault entry asm 2009-10-12 18:29:46 +02:00
ucontext.h
unaligned.h
unistd_32.h Add generic sys_olduname() 2010-03-12 15:52:32 -08:00
unistd_64.h Add generic sys_olduname() 2010-03-12 15:52:32 -08:00
unistd.h
user32.h
user_32.h
user_64.h
user.h x86, ptrace: regset extensions to support xstate 2010-02-11 15:08:17 -08:00
vdso.h
vga.h
vgtod.h
virtext.h
vm86.h
vmi_time.h
vmi.h
vmware.h
vmx.h KVM: VMX: Rename VMX_EPT_IGMT_BIT to VMX_EPT_IPAT_BIT 2010-03-01 12:36:09 -03:00
vsyscall.h
x86_init.h Merge branch 'x86-mrst-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip 2010-03-07 15:59:39 -08:00
xcr.h
xor_32.h
xor_64.h
xor.h
xsave.h x86, ptrace: regset extensions to support xstate 2010-02-11 15:08:17 -08:00