OpenCloudOS-Kernel/arch/mips/kernel
Andrew Bresticker a669efc4a3 MIPS: Add hook to get C0 performance counter interrupt
The hardware perf event driver and oprofile interpret the global
cp0_perfcount_irq differently: in the hardware perf event driver
it is an offset from MIPS_CPU_IRQ_BASE and in oprofile it is the
actual IRQ number.  This still works most of the time since
MIPS_CPU_IRQ_BASE is usually 0, but is clearly wrong.  Since the
performance counter interrupt may vary from platform to platform
like the C0 timer interrupt, add the optional get_c0_perfcount_int
hook which returns the IRQ number of the performance counter.
The hook should return < 0 if the performance counter interrupt is
shared with the timer.  If the hook is not present, the CPU vector
reported in C0_IntCtl (cp0_perfcount_irq) is used.

Signed-off-by: Andrew Bresticker <abrestic@chromium.org>
Reviewed-by: Qais Yousef <qais.yousef@imgtec.com>
Tested-by: Qais Yousef <qais.yousef@imgtec.com>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Jason Cooper <jason@lakedaemon.net>
Cc: Andrew Bresticker <abrestic@chromium.org>
Cc: Jeffrey Deans <jeffrey.deans@imgtec.com>
Cc: Markos Chandras <markos.chandras@imgtec.com>
Cc: Paul Burton <paul.burton@imgtec.com>
Cc: Qais Yousef <qais.yousef@imgtec.com>
Cc: Jonas Gorski <jogo@openwrt.org>
Cc: John Crispin <blogic@openwrt.org>
Cc: David Daney <ddaney.cavm@gmail.com>
Cc: linux-mips@linux-mips.org
Cc: linux-kernel@vger.kernel.org
Patchwork: https://patchwork.linux-mips.org/patch/7805/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2014-11-24 07:44:53 +01:00
..
.gitignore
8250-platform.c mips: remove needless include of module.h from core kernel files. 2011-10-31 19:30:57 -04:00
Makefile MIPS: OCTEON: Enable use of FPU 2014-05-30 21:01:09 +02:00
asm-offsets.c MIPS: save/restore MSACSR register on context switch 2014-08-02 00:06:43 +02:00
binfmt_elfn32.c MIPS: Compat: Fix cputime_to_timeval() arguments in compat binfmt_elf. 2013-06-06 16:11:26 +02:00
binfmt_elfo32.c MIPS: Remove old core dump functions 2014-08-02 00:06:37 +02:00
bmips_vec.S MIPS: Fix gigaton of warning building with microMIPS. 2014-03-31 18:17:12 +02:00
branch.c MIPS: Fix build with binutils 2.24.51+ 2014-11-07 15:07:36 +01:00
cevt-bcm1480.c MIPS: Delete __cpuinit/__CPUINIT usage from MIPS code 2013-07-14 19:36:51 -04:00
cevt-ds1287.c MIPS: Whitespace cleanup. 2013-02-01 10:00:22 +01:00
cevt-gic.c MIPS: allow GIC clockevent device config from other CPUs 2014-05-02 16:39:11 +01:00
cevt-gt641xx.c MIPS: Whitespace cleanup. 2013-02-01 10:00:22 +01:00
cevt-r4k.c Merge branch 'wip-mips-pm' of https://github.com/paulburton/linux into mips-for-linux-next 2014-05-29 15:08:23 +02:00
cevt-sb1250.c MIPS: Delete __cpuinit/__CPUINIT usage from MIPS code 2013-07-14 19:36:51 -04:00
cevt-txx9.c MIPS: Whitespace cleanup. 2013-02-01 10:00:22 +01:00
cps-vec.S MIPS: CPS: Initialize EVA before bringing up VPEs from secondary cores 2014-08-26 02:18:57 +02:00
cpu-bugs64.c MIPS: Delete __cpuinit/__CPUINIT usage from MIPS code 2013-07-14 19:36:51 -04:00
cpu-probe.c MIPS: cpu: Add 'noftlb' kernel command line option to disable the FTLB 2014-11-24 07:44:51 +01:00
crash.c mips: delete non-required instances of include <linux/init.h> 2014-01-24 22:39:56 +01:00
crash_dump.c mips: Convert pr_warning to pr_warn 2014-11-24 07:44:51 +01:00
csrc-bcm1480.c MIPS: Whitespace cleanup. 2013-02-01 10:00:22 +01:00
csrc-gic.c MIPS: Refactor GIC clocksource code. 2013-05-09 17:55:20 +02:00
csrc-ioasic.c MIPS: DECstation HRT initialization rearrangement 2013-09-13 11:56:13 +02:00
csrc-r4k.c mips: convert to clocksource_register_hz/khz 2011-02-21 13:33:50 -08:00
csrc-sb1250.c MIPS: Whitespace cleanup. 2013-02-01 10:00:22 +01:00
early_printk.c early_printk: consolidate random copies of identical code 2013-04-29 18:28:13 -07:00
early_printk_8250.c MIPS: Add 8250/16550 serial early printk driver 2013-10-29 21:24:36 +01:00
entry.S MIPS: MT: Remove SMTC support 2014-05-24 00:07:01 +02:00
ftrace.c Merge branch 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus 2014-08-07 08:47:00 -07:00
genex.S MIPS: Fix build with binutils 2.24.51+ 2014-11-07 15:07:36 +01:00
gpio_txx9.c
head.S MIPS: MT: Remove SMTC support 2014-05-24 00:07:01 +02:00
i8253.c MIPS: irq: Remove IRQF_DISABLED 2011-12-07 22:03:45 +00:00
i8259.c MIPS: i8259: Use IRQ domains 2014-11-24 07:44:52 +01:00
idle.c MIPS: idle: Remove leftover __pastwait symbol and its references 2014-10-23 19:24:05 +02:00
irq-gic.c MIPS: Remove useless parentheses 2014-11-24 07:44:49 +01:00
irq-gt641xx.c MIPS: Whitespace cleanup. 2013-02-01 10:00:22 +01:00
irq-msc01.c MIPS: MSC: Prevent out-of-bounds writes to MIPS SC ioremap'd region 2014-06-26 10:48:23 +01:00
irq-rm7000.c MIPS: Whitespace cleanup. 2013-02-01 10:00:22 +01:00
irq.c Merge branch 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus 2014-06-09 18:10:34 -07:00
irq_cpu.c MIPS: Set vint handler when mapping CPU interrupts 2014-11-24 07:44:52 +01:00
irq_txx9.c MIPS: Whitespace cleanup. 2013-02-01 10:00:22 +01:00
jump_label.c MIPS: jump_label.c: Handle the microMIPS J instruction encoding 2014-11-19 18:22:09 +01:00
kgdb.c MIPS: kernel: {ftrace,kgdb}: Set correct address limit for cache flushes 2014-03-26 23:09:18 +01:00
kprobes.c mips: Replace __get_cpu_var uses 2014-08-26 13:45:51 -04:00
linux32.c unify compat fanotify_mark(2), switch to COMPAT_SYSCALL_DEFINE 2013-05-09 13:46:38 -04:00
machine_kexec.c MIPS: kdump: Set correct value to kexec_indirection_page variable 2014-08-25 16:33:44 +02:00
mcount.S MIPS: mcount: Adjust stack pointer for static trace in MIPS32 2014-09-26 11:41:17 +02:00
mips-cm.c MIPS: Add generic CM probe & access code 2014-03-06 21:25:22 +01:00
mips-cpc.c MIPS: smp-cps: rework core/VPE initialisation 2014-05-28 16:20:28 +01:00
mips-mt-fpaff.c MIPS: MT: Remove SMTC support 2014-05-24 00:07:01 +02:00
mips-mt.c MIPS: MT: Remove SMTC support 2014-05-24 00:07:01 +02:00
mips_ksyms.c MIPS: checksum: Split the 'copy_user' symbol 2014-03-26 23:09:17 +01:00
mips_machine.c MIPS: move mips_{set,get}_machine_name() to a more generic place 2013-05-08 01:19:07 +02:00
module-rela.c MIPS: Whitespace cleanup. 2013-02-01 10:00:22 +01:00
module.c MIPS: Use NUMA_NO_NODE instead of -1 for node ID. 2013-10-29 21:24:14 +01:00
octeon_switch.S MIPS: OCTEON: Enable use of FPU 2014-05-30 21:01:09 +02:00
perf_event.c MIPS: perf: Reorganize contents of perf support files. 2011-10-24 23:34:26 +01:00
perf_event_mipsxx.c MIPS: Add hook to get C0 performance counter interrupt 2014-11-24 07:44:53 +01:00
pm-cps.c MIPS: {pm,smp}-cps: use cpu_vpe_id macro 2014-07-30 20:48:42 +02:00
pm.c MIPS: PM: Implement PM helper macros 2014-05-02 16:39:10 +01:00
proc.c MIPS: cpu: Add new cpu option for Hardware Table Walker. 2014-08-02 00:06:38 +02:00
process.c MIPS: Add arch_trigger_all_cpu_backtrace() function 2014-11-24 07:44:49 +01:00
prom.c mips: convert fdt pointers to opaque pointers 2014-04-30 00:59:13 -05:00
ptrace.c Merge git://git.infradead.org/users/eparis/audit 2014-10-19 16:25:56 -07:00
ptrace32.c MIPS: Remove asm/user.h 2014-08-02 00:06:37 +02:00
r4k_fpu.S MIPS: Fix build with binutils 2.24.51+ 2014-11-07 15:07:36 +01:00
r4k_switch.S MIPS: Fix build with binutils 2.24.51+ 2014-11-07 15:07:36 +01:00
r2300_fpu.S MIPS: Fix build with binutils 2.24.51+ 2014-11-07 15:07:36 +01:00
r2300_switch.S MIPS: Fix build with binutils 2.24.51+ 2014-11-07 15:07:36 +01:00
r6000_fpu.S MIPS: Fix build with binutils 2.24.51+ 2014-11-07 15:07:36 +01:00
relocate_kernel.S MIPS: kdump: Skip walking indirection page for crashkernels 2013-09-05 20:53:37 +02:00
reset.c mips: migrate core kernel file from module.h --> export.h 2011-10-31 19:30:56 -04:00
rtlx-cmp.c MIPS: APRP: Fix an issue when device_create() fails. 2014-08-01 17:30:35 +02:00
rtlx-mt.c MIPS: APRP: Fix an issue when device_create() fails. 2014-08-01 17:30:35 +02:00
rtlx.c MIPS: APRP: Code formatting clean-ups. 2014-01-22 20:19:02 +01:00
scall32-o32.S MIPS: Wire up bpf syscall. 2014-10-27 03:37:42 +01:00
scall64-64.S MIPS: Wire up bpf syscall. 2014-10-27 03:37:42 +01:00
scall64-n32.S MIPS: Wire up bpf syscall. 2014-10-27 03:37:42 +01:00
scall64-o32.S MIPS: Wire up bpf syscall. 2014-10-27 03:37:42 +01:00
segment.c MIPS: Add debugfs file to print the segmentation control registers 2014-01-22 20:19:00 +01:00
setup.c mips: Convert pr_warning to pr_warn 2014-11-24 07:44:51 +01:00
signal-common.h mips: Use get_signal() signal_setup_done() 2014-08-06 13:03:08 +02:00
signal.c mips: Use sigsp() 2014-08-06 13:04:30 +02:00
signal32.c mips: Use sigsp() 2014-08-06 13:04:30 +02:00
signal_n32.c mips: Use sigsp() 2014-08-06 13:04:30 +02:00
smp-bmips.c mips: Replace __get_cpu_var uses 2014-08-26 13:45:51 -04:00
smp-cmp.c MIPS: SMP: Remove plat_smp_ops cpus_done method. 2014-05-27 11:06:42 +02:00
smp-cps.c MIPS: smp-cps: Fix entry code cache flush for systems with coherent I/O 2014-07-30 20:49:36 +02:00
smp-gic.c cpuidle: cpuidle-cps: add MIPS CPS cpuidle driver 2014-05-28 16:20:36 +01:00
smp-mt.c MIPS: smp-mt: Fix link error when PROC_FS=n 2014-08-01 18:32:02 +02:00
smp-up.c MIPS: SMP: Remove plat_smp_ops cpus_done method. 2014-05-27 11:06:42 +02:00
smp.c MIPS: Support CPU topology files in sysfs 2014-07-30 21:45:39 +02:00
spinlock_test.c mips: migrate core kernel file from module.h --> export.h 2011-10-31 19:30:56 -04:00
spram.c MIPS: Use current_cpu_type() instead of c->cputype 2014-03-31 18:17:12 +02:00
stacktrace.c mips: migrate core kernel file from module.h --> export.h 2011-10-31 19:30:56 -04:00
sync-r4k.c MIPS: MT: Remove SMTC support 2014-05-24 00:07:01 +02:00
syscall.c MIPS: Fix gigaton of warning building with microMIPS. 2014-03-31 18:17:12 +02:00
time.c MIPS: MT: Remove SMTC support 2014-05-24 00:07:01 +02:00
topology.c MIPS: Add arch generic CPU hotplug 2009-06-24 18:34:40 +01:00
traps.c MIPS: disable preemption whilst initialising MSA 2014-08-02 00:06:44 +02:00
unaligned.c MIPS: Remove BUG_ON(!is_fpu_owner()) in do_ade() 2014-07-30 21:30:22 +02:00
vdso.c coredump: remove VM_ALWAYSDUMP flag 2012-03-23 16:58:42 -07:00
vmlinux.lds.S MIPS: Discard .eh_frame sections in linker script. 2013-08-26 15:33:41 +02:00
vpe-cmp.c MIPS: APRP: Add VPE loader support for CMP platforms. 2014-01-22 20:19:02 +01:00
vpe-mt.c MIPS: MT: Remove SMTC support 2014-05-24 00:07:01 +02:00
vpe.c Merge branch 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus 2014-01-30 17:20:32 -08:00
watch.c MIPS: Delete __cpuinit/__CPUINIT usage from MIPS code 2013-07-14 19:36:51 -04:00