linux/arch/x86/kernel
Peter Zijlstra 3d8231988d perf/x86/amd: Rework AMD PMU init code
commit 1b45adcd9a upstream.

Josh reported that his QEMU is a bad hardware emulator and trips a
WARN in the AMD PMU init code. He requested the WARN be turned into a
pr_err() or similar.

While there, rework the code a little.

Reported-by: Josh Boyer <jwboyer@redhat.com>
Acked-by: Robert Richter <rric@kernel.org>
Acked-by: Jacob Shin <jacob.shin@amd.com>
Cc: Stephane Eranian <eranian@google.com>
Signed-off-by: Peter Zijlstra <peterz@infradead.org>
Link: http://lkml.kernel.org/r/20130521110537.GG26912@twins.programming.kicks-ass.net
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Cc: Guenter Roeck <linux@roeck-us.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2015-08-16 20:51:38 -07:00
..
acpi x86, suspend: Handle CPUs which fail to #GP on RDMSR 2013-08-04 16:50:53 +08:00
apic x86, apic: Handle a bad TSC more gracefully 2014-11-14 08:48:00 -08:00
cpu perf/x86/amd: Rework AMD PMU init code 2015-08-16 20:51:38 -07:00
kprobes ftrace/jprobes/x86: Fix conflict between jprobes and function graph tracing 2015-01-27 07:52:32 -08:00
.gitignore
alternative.c x86, cpu: Expand cpufeature facility to include cpu bugs 2013-04-02 10:12:52 -07:00
amd_gart_64.c x86, mm: use pfn_range_is_mapped() with gart 2012-11-17 11:59:10 -08:00
amd_nb.c x86, amd_nb: Clarify F15h, model 30h GART and L3 support 2013-09-26 17:18:14 -07:00
apb_timer.c Merge branch 'x86-platform-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2013-02-19 20:11:07 -08:00
aperture_64.c x86/mm/gart: Drop unnecessary check 2013-04-16 10:54:40 +02:00
apm_32.c cpuidle: remove en_core_tk_irqen flag 2013-04-23 13:45:22 +02:00
asm-offsets_32.c x86, gdt, hibernate: Store/load GDT for hibernate path. 2013-05-02 11:27:35 -07:00
asm-offsets_64.c x86, gdt, hibernate: Store/load GDT for hibernate path. 2013-05-02 11:27:35 -07:00
asm-offsets.c x86, um/x86: switch to generic sys_execve and kernel_execve 2012-09-30 22:53:32 -04:00
audit_64.c
bootflag.c
check.c
cpuid.c new helper: file_inode(file) 2013-02-22 23:31:31 -05:00
crash_dump_32.c
crash_dump_64.c
crash.c x86/kexec: crash_vmclear_local_vmcss needs __rcu 2012-12-11 19:55:23 -02:00
devicetree.c x86: dt: Use linear irq domain for ioapic(s) 2012-08-21 22:16:57 +02:00
doublefault_32.c x86, xen, gdt: Remove the pvops variant of store_gdt. 2013-04-11 15:40:38 -07:00
dumpstack_32.c dump_stack: unify debug information printed by show_regs() 2013-04-30 17:04:02 -07:00
dumpstack_64.c x86_64, traps: Stop using IST for #SS 2014-12-06 15:05:46 -08:00
dumpstack.c dump_stack: consolidate dump_stack() implementations and unify their behaviors 2013-04-30 17:04:02 -07:00
e820.c x86: avoid remapping data in parse_setup_data() 2013-10-18 07:45:48 -07:00
early_printk.c early_printk: consolidate random copies of identical code 2013-04-29 18:28:13 -07:00
early-quirks.c x86: Adjust irq remapping quirk for older revisions of 5500/5520 chipsets 2014-04-26 17:15:34 -07:00
entry_32.S x86, espfix: Make it possible to disable 16-bit support 2014-08-07 14:30:26 -07:00
entry_64.S x86/asm/entry/64: Remove a bogus 'ret_from_fork' optimization 2015-03-18 13:22:28 +01:00
espfix_64.c x86/espfix/xen: Fix allocation of pages for paravirt page tables 2014-08-07 14:30:27 -07:00
ftrace.c ftrace/x86: One more missing sync after fixup of function modification failure 2014-05-06 07:55:28 -07:00
head_32.S x86: fix compile error due to X86_TRAP_NMI use in asm files 2014-03-23 21:38:15 -07:00
head_64.S x86: fix compile error due to X86_TRAP_NMI use in asm files 2014-03-23 21:38:15 -07:00
head.c x86: Make sure we can boot in the case the BDA contains pure garbage 2013-02-27 13:38:57 -08:00
head32.c x86: Merge early kernel reserve for 32bit and 64bit 2013-01-29 19:32:58 -08:00
head64.c x86: Fix bit corruption at CPU resume time 2013-05-20 11:36:03 -07:00
hpet.c x86, hpet: Introduce x86_msi_ops.setup_hpet_msi 2013-01-28 10:48:30 +01:00
hw_breakpoint.c
i386_ksyms_32.c x86-32: Add support for 64bit get_user() 2013-02-07 15:07:28 -08:00
i387.c x86, fpu: Check tsk_used_math() in kernel_fpu_end() for eager FPU 2014-03-23 21:38:19 -07:00
i8237.c
i8253.c
i8259.c x86/irq/i8259: Fix incorrect comment 2012-08-22 09:34:24 +02:00
io_delay.c
ioport.c x86: get rid of pt_regs argument of iopl(2) 2013-02-03 18:16:24 -05:00
irq_32.c
irq_64.c
irq_work.c
irq.c Merge tag 'kvm-3.10-1' of git://git.kernel.org/pub/scm/virt/kvm/kvm 2013-05-05 14:47:31 -07:00
irqinit.c KVM: VMX: Register a new IPI for posted interrupt 2013-04-16 16:32:39 -03:00
jump_label.c
kdebugfs.c arch/x86/kernel/kdebugfs.c: Ensure a consistent return value in error case 2012-07-26 15:07:20 +02:00
kgdb.c kgdb,x86: fix warning about unused variable 2012-10-12 06:37:34 -05:00
kvm.c x86, kvm: Clear paravirt_enabled on KVM guests for espfix32's benefit 2015-01-08 09:58:15 -08:00
kvmclock.c x86, kvm: Clear paravirt_enabled on KVM guests for espfix32's benefit 2015-01-08 09:58:15 -08:00
ldt.c x86, espfix: Make it possible to disable 16-bit support 2014-08-07 14:30:26 -07:00
machine_kexec_32.c
machine_kexec_64.c x86, kexec, 64bit: Only set ident mapping for ram. 2013-01-29 15:26:35 -08:00
Makefile x86, espfix: Make espfix64 a Kconfig option, fix UML 2014-08-07 14:30:26 -07:00
microcode_amd.c x86/microcode/amd: Tone down printk(), don't treat a missing firmware file as an error 2013-11-29 11:11:49 -08:00
microcode_core_early.c x86, microcode: Verify the family before dispatching microcode patching 2013-04-19 16:36:03 -07:00
microcode_core.c x86/microcode_intel.h: Define functions and macros for early loading ucode 2013-01-31 13:18:50 -08:00
microcode_intel_early.c x86/microcode/intel: Guard against stack overflow in the loader 2015-07-03 19:48:09 -07:00
microcode_intel_lib.c x86/microcode_intel_lib.c: Early update ucode on Intel's CPU 2013-01-31 13:19:14 -08:00
microcode_intel.c x86/microcode_intel.h: Define functions and macros for early loading ucode 2013-01-31 13:18:50 -08:00
mmconf-fam10h_64.c
module.c Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial 2012-07-24 13:34:56 -07:00
mpparse.c Merge branch 'x86-trampoline-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2012-05-29 20:14:53 -07:00
msr.c more file_inode() open-coded instances 2013-02-27 16:59:05 -05:00
nmi_selftest.c x86/nmi: Clean up register_nmi_handler() usage 2012-06-20 14:23:17 +02:00
nmi.c x86/nmi: export local_touch_nmi() symbol for modules 2013-01-17 22:25:57 +08:00
paravirt_patch_32.c
paravirt_patch_64.c x86_64/entry/xen: Do not invoke espfix64 on Xen 2014-08-07 14:30:26 -07:00
paravirt-spinlocks.c
paravirt.c Merge branch 'x86-paravirt-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2013-04-30 08:41:21 -07:00
pci-calgary_64.c x86/debug: Add KERN_<LEVEL> to bare printks, convert printks to pr_<level> 2012-06-06 09:17:22 +02:00
pci-dma.c x86: dma-mapping: fix GFP_ATOMIC macro usage 2014-03-06 21:30:08 -08:00
pci-iommu_table.c
pci-nommu.c
pci-swiotlb.c
pcspeaker.c
perf_regs.c perf: Fix off by one test in perf_reg_value() 2012-09-19 17:08:40 +02:00
probe_roms.c x86/pci/probe_roms: Add missing __iomem annotation to pci_map_biosrom() 2012-09-05 10:52:25 +02:00
process_32.c x86, flags: Rename X86_EFLAGS_BIT1 to X86_EFLAGS_FIXED 2014-11-14 08:47:54 -08:00
process_64.c x86_64, switch_to(): Load TLS descriptors before switching DS and ES 2015-01-08 09:58:15 -08:00
process.c sched, idle: Fix the idle polling state logic 2013-11-29 11:11:42 -08:00
ptrace.c x86, x32, audit: Fix x32's AUDIT_ARCH wrt audit 2014-11-21 09:22:52 -08:00
pvclock.c x86/kvm: Fix pvclock vsyscall fixmap 2013-02-28 08:50:11 +02:00
quirks.c x86/amd/numa: Fix northbridge quirk to assign correct NUMA node 2014-03-23 21:38:15 -07:00
reboot_fixups_32.c
reboot.c x86/reboot: Add quirk to make Dell C6100 use reboot=pci automatically 2013-10-05 07:13:09 -07:00
relocate_kernel_32.S
relocate_kernel_64.S x86: Fix typo in kexec register clearing 2013-06-12 15:16:18 -07:00
resource.c x86: don't exclude low BIOS area when allocating address space for non-PCI cards 2014-09-05 16:28:36 -07:00
rtc.c x86: Do full rtc synchronization with ntp 2013-03-15 16:50:26 -07:00
setup_percpu.c x86: Add read_mostly declaration/definition to variables from smp.h 2012-06-14 12:42:11 +02:00
setup.c x86: avoid remapping data in parse_setup_data() 2013-10-18 07:45:48 -07:00
signal.c x86, fpu: shift drop_init_fpu() from save_xstate_sig() to handle_signal() 2014-11-14 08:47:54 -08:00
smp.c
smpboot.c sched: Fix unreleased llc_shared_mask bit during CPU hotplug 2014-10-05 14:54:14 -07:00
stacktrace.c
step.c ptrace: ensure arch_ptrace/ptrace_request can never race with SIGKILL 2013-01-22 10:08:00 -08:00
sys_x86_64.c x86 get_unmapped_area: Access mmap_legacy_base through mm_struct member 2013-08-29 09:47:39 -07:00
syscall_32.c
syscall_64.c
tboot.c Revert "x86-64/efi: Use EFI to deal with platform wall clock (again)" 2012-12-15 15:20:41 -08:00
tce_64.c
test_nx.c
test_rodata.c
time.c
tls.c x86, tls: Interpret an all-zero struct user_desc as "no segment" 2015-01-29 17:40:56 -08:00
tls.h
topology.c x86, topology: Debug CPU0 hotplug 2012-11-14 15:28:11 -08:00
trace_clock.c tracing,x86: Add a TSC trace_clock 2012-11-13 15:48:27 -05:00
traps.c x86/asm/traps: Disable tracing and kprobes in fixup_bad_iret and sync_regs 2015-01-29 17:40:56 -08:00
tsc_sync.c
tsc.c x86/tsc: Change Fast TSC calibration failed from error to info 2015-01-29 17:40:56 -08:00
uprobes.c uretprobes/x86: Hijack return address 2013-04-13 15:31:55 +02:00
verify_cpu.S
vm86_32.c x86, vm86: fix VM86 syscalls: use SYSCALL_DEFINEx(...) 2013-05-02 20:36:32 -04:00
vmlinux.lds.S x86: Drop always empty .text..page_aligned section 2013-03-11 15:07:56 +01:00
vsmp_64.c x86/apic/x2apic: Limit the vector reservation to the user specified mask 2012-07-06 11:00:22 +02:00
vsyscall_64.c x86_64/vsyscall: Fix warn_bad_vsyscall log output 2014-09-05 16:28:36 -07:00
vsyscall_emu_64.S
vsyscall_trace.h
x86_init.c Merge branch 'x86-mm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2013-02-21 18:06:55 -08:00
x8664_ksyms_64.c x86: Improve __phys_addr performance by making use of carry flags and inlining 2012-11-16 16:42:08 -08:00
xsave.c x86/fpu: Avoid math_state_restore() without used_math() in __restore_xstate_sig() 2015-03-26 15:01:00 +01:00