android_kernel_motorola_sm6225/arch/x86/kernel/cpu
Gleb Natapov 144d31e6f1 perf, intel: Use GO/HO bits in perf-ctr
Intel does not have guest/host-only bit in perf counters like AMD
does.  To support GO/HO bits KVM needs to switch EVENTSELn values
(or PERF_GLOBAL_CTRL if available) at a guest entry. If a counter is
configured to count only in a guest mode it stays disabled in a host,
but VMX is configured to switch it to enabled value during guest entry.

This patch adds GO/HO tracking to Intel perf code and provides interface
for KVM to get a list of MSRs that need to be switched on a guest entry.

Only cpus with architectural PMU (v1 or later) are supported with this
patch.  To my knowledge there is not p6 models with VMX but without
architectural PMU and p4 with VMX are rare and the interface is general
enough to support them if need arise.

Signed-off-by: Gleb Natapov <gleb@redhat.com>
Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl>
Link: http://lkml.kernel.org/r/1317816084-18026-7-git-send-email-gleb@redhat.com
Signed-off-by: Ingo Molnar <mingo@elte.hu>
2011-10-10 06:56:42 +02:00
..
mcheck x86, mce: Do not call del_timer_sync() in IRQ context 2011-09-14 15:50:15 +02:00
mtrr mtrr: fix UP breakage caused during switch to stop_machine 2011-08-25 11:02:29 -07:00
.gitignore Update .gitignore files for generated targets 2008-10-20 11:24:31 -07:00
amd.c x86, amd: Do not enable ARAT feature on AMD processors below family 0x12 2011-05-26 10:38:30 -07:00
bugs.c x86-32, fpu: Fix DNA exception during check_fpu() 2011-06-30 17:29:47 -07:00
bugs_64.c x86/cpu: Clean up various files a bit 2009-07-11 11:24:09 +02:00
centaur.c x86, cpu: mv display_cacheinfo -> cpu_detect_cache_sizes 2009-11-23 11:59:53 -08:00
common.c atomic: use <linux/atomic.h> 2011-07-26 16:49:47 -07:00
cpu.h Merge branch 'x86-cpu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip 2010-10-21 13:18:36 -07:00
cyrix.c x86, cpu: mv display_cacheinfo -> cpu_detect_cache_sizes 2009-11-23 11:59:53 -08:00
hypervisor.c x86, hyper: Change hypervisor detection order 2011-07-08 16:22:29 -07:00
intel.c x86, intel, power: Correct the MSR_IA32_ENERGY_PERF_BIAS message 2011-07-15 15:13:55 -07:00
intel_cacheinfo.c x86, AMD, cacheinfo: Fix L3 cache index disable checks 2011-05-16 11:24:27 -07:00
Makefile x86, perf: Clean up perf_event cpu code 2011-09-26 12:58:00 +02:00
mkcapflags.pl x86: generate names for /proc/cpuinfo from <asm/cpufeature.h> 2008-08-27 19:23:22 -07:00
mshyperv.c x86: Export the symbol ms_hyperv 2010-07-08 14:12:03 -07:00
perf_event.c x86, perf: Clean up perf_event cpu code 2011-09-26 12:58:00 +02:00
perf_event.h perf, intel: Use GO/HO bits in perf-ctr 2011-10-10 06:56:42 +02:00
perf_event_amd.c perf, amd: Use GO/HO bits in perf-ctr 2011-10-06 13:00:31 +02:00
perf_event_intel.c perf, intel: Use GO/HO bits in perf-ctr 2011-10-10 06:56:42 +02:00
perf_event_intel_ds.c x86, perf: Clean up perf_event cpu code 2011-09-26 12:58:00 +02:00
perf_event_intel_lbr.c x86, perf: Clean up perf_event cpu code 2011-09-26 12:58:00 +02:00
perf_event_p4.c x86, perf: Clean up perf_event cpu code 2011-09-26 12:58:00 +02:00
perf_event_p6.c x86, perf: Clean up perf_event cpu code 2011-09-26 12:58:00 +02:00
perfctr-watchdog.c perf, x86: Add new AMD family 15h msrs to perfctr reservation code 2011-02-16 13:30:50 +01:00
powerflags.c x86: generate names for /proc/cpuinfo from <asm/cpufeature.h> 2008-08-27 19:23:22 -07:00
proc.c 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
scattered.c Merge branch 'x86-amd-nb-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip 2010-10-21 13:01:08 -07:00
sched.c sched: x86: Name old_perf in a unique way 2009-09-16 11:21:07 +02:00
topology.c x86, cpu: Split addon_cpuid_features.c 2010-07-19 19:02:41 -07:00
transmeta.c x86, cpu: mv display_cacheinfo -> cpu_detect_cache_sizes 2009-11-23 11:59:53 -08:00
umc.c x86: move various CPU initialization objects into .cpuinit.rodata 2009-03-12 13:13:07 +01:00
vmware.c x86: Fix common misspellings 2011-03-18 10:39:30 +01:00