linux/arch/mips/kernel
Maneesh Soni d8d4e3ae0b MIPS Kprobes: Refactor branch emulation
This patch refactors MIPS branch emulation code so as to allow skipping
delay slot instruction in case of branch likely instructions when branch is
not taken. This is useful for keeping the code common for use cases like
kprobes where one would like to handle the branch instructions keeping the
delay slot instuction also in picture for branch likely instructions. Also
allow emulation when instruction to be decoded is not at pt_regs->cp0_epc
as in case of kprobes where pt_regs->cp0_epc points to the breakpoint
instruction.

The patch also exports the function for modules.

Signed-off-by: Maneesh Soni <manesoni@cisco.com>
Signed-off-by: Victor Kamensky <kamensky@cisco.com>
Cc: David Daney <david.daney@cavium.com>
Cc: ananth@in.ibm.com
Cc: linux-kernel@vger.kernel.org
Cc: linux-mips@linux-mips.org
Patchwork: https://patchwork.linux-mips.org/patch/2913/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2011-12-07 22:04:03 +00:00
..
cpufreq MIPS: errloongson2_clock: Fix build error by including linux/module.h 2011-11-10 17:59:45 +00:00
.gitignore
8250-platform.c mips: remove needless include of module.h from core kernel files. 2011-10-31 19:30:57 -04:00
asm-offsets.c MIPS: Remove unused task_struct.trap_no field. 2010-08-05 13:26:30 +01:00
binfmt_elfn32.c
binfmt_elfo32.c
branch.c MIPS Kprobes: Refactor branch emulation 2011-12-07 22:04:03 +00:00
cevt-bcm1480.c MIPS: Add missing #inclusions of <linux/irq.h> 2010-10-07 14:08:54 +01:00
cevt-ds1287.c MIPS: Add missing #inclusions of <linux/irq.h> 2010-10-07 14:08:54 +01:00
cevt-gt641xx.c MIPS: Add missing #inclusions of <linux/irq.h> 2010-10-07 14:08:54 +01:00
cevt-r4k.c MIPS: Kernel hangs occasionally during boot. 2011-11-08 17:59:22 +00:00
cevt-sb1250.c MIPS: Add missing #inclusions of <linux/irq.h> 2010-10-07 14:08:54 +01:00
cevt-smtc.c MIPS: Add missing #inclusions of <linux/irq.h> 2010-10-07 14:08:54 +01:00
cevt-txx9.c mips: convert to clocksource_register_hz/khz 2011-02-21 13:33:50 -08:00
cpu-bugs64.c Fix common misspellings 2011-03-31 11:26:23 -03:00
cpu-probe.c Merge branch 'modsplit-Oct31_2011' of git://git.kernel.org/pub/scm/linux/kernel/git/paulg/linux 2011-11-06 19:44:47 -08:00
csrc-bcm1480.c mips: convert to clocksource_register_hz/khz 2011-02-21 13:33:50 -08:00
csrc-ioasic.c mips: convert to clocksource_register_hz/khz 2011-02-21 13:33:50 -08:00
csrc-powertv.c mips: convert to clocksource_register_hz/khz 2011-02-21 13:33:50 -08:00
csrc-r4k.c mips: convert to clocksource_register_hz/khz 2011-02-21 13:33:50 -08:00
csrc-sb1250.c mips: convert to clocksource_register_hz/khz 2011-02-21 13:33:50 -08:00
early_printk.c
entry.S MIPS: Split do_syscall_trace into two functions. 2011-05-19 09:55:44 +01:00
ftrace.c MIPS: Ftrace: Fix the CONFIG_DYNAMIC_FTRACE=n compile 2011-09-21 17:52:04 +02:00
genex.S
gpio_txx9.c
head.S
i8253.c mips: migrate core kernel file from module.h --> export.h 2011-10-31 19:30:56 -04:00
i8259.c MIPS: i8259: Mark cascade interrupt non-threaded 2011-09-21 17:52:28 +02:00
init_task.c mips: migrate core kernel file from module.h --> export.h 2011-10-31 19:30:56 -04:00
irq_cpu.c MIPS: Install handlers for software IRQs 2011-07-25 17:26:54 +01:00
irq_txx9.c MIPS: Convert the irq functions to the new names 2011-03-29 14:48:07 +02:00
irq-gic.c MIPS: Convert the irq functions to the new names 2011-03-29 14:48:07 +02:00
irq-gt641xx.c MIPS: Convert the irq functions to the new names 2011-03-29 14:48:07 +02:00
irq-msc01.c mips: remove needless include of module.h from core kernel files. 2011-10-31 19:30:57 -04:00
irq-rm7000.c MIPS: Convert the irq functions to the new names 2011-03-29 14:48:07 +02:00
irq-rm9000.c MIPS: Convert the irq functions to the new names 2011-03-29 14:48:07 +02:00
irq.c mips: remove needless include of module.h from core kernel files. 2011-10-31 19:30:57 -04:00
jump_label.c MIPS: jump label: Add MIPS support. 2011-01-18 19:30:24 +01:00
kgdb.c MIPS: Fix a typo. 2010-10-04 18:33:54 +01:00
kprobes.c MIPS Kprobes: Deny probes on ll/sc instructions 2011-12-07 22:04:03 +00:00
kspd.c MIPS: kspd: Adjust confusing if indentation 2010-10-04 18:33:54 +01:00
linux32.c MIPS: Compat: Use 32-bit wrapper for compat_sys_futex. 2011-09-21 17:53:44 +02:00
machine_kexec.c
Makefile MIPS: perf: Reorganize contents of perf support files. 2011-10-24 23:34:26 +01:00
mcount.S MIPS: tracing: Fix the indentation of mcount.S 2010-08-05 13:26:06 +01:00
mips_ksyms.c mips: migrate core kernel file from module.h --> export.h 2011-10-31 19:30:56 -04:00
mips_machine.c MIPS: Add generic support for multiple machines within a single kernel 2011-01-18 19:30:21 +01:00
mips-mt-fpaff.c MIPS: MT: Fix build error iFPU affinity code 2010-10-25 08:12:27 -07:00
mips-mt.c mips: migrate core kernel file from module.h --> export.h 2011-10-31 19:30:56 -04:00
module.c mips: remove needless include of module.h from core kernel files. 2011-10-31 19:30:57 -04:00
octeon_switch.S update David Miller's old email address 2011-04-06 06:19:38 -07:00
perf_event_mipsxx.c MIPS: perf: Add Octeon support for hardware perf. 2011-10-24 23:34:27 +01:00
perf_event.c MIPS: perf: Reorganize contents of perf support files. 2011-10-24 23:34:26 +01:00
proc.c MIPS: Probe for presence of KScratch registers. 2011-01-18 19:30:22 +01:00
process.c mips: add export.h to files using EXPORT_SYMBOL/THIS_MODULE 2011-10-31 19:30:57 -04:00
prom.c mips: migrate core kernel file from module.h --> export.h 2011-10-31 19:30:56 -04:00
ptrace32.c
ptrace.c MIPS: Split do_syscall_trace into two functions. 2011-05-19 09:55:44 +01:00
r4k_fpu.S update David Miller's old email address 2011-04-06 06:19:38 -07:00
r4k_switch.S update David Miller's old email address 2011-04-06 06:19:38 -07:00
r2300_fpu.S update David Miller's old email address 2011-04-06 06:19:38 -07:00
r2300_switch.S update David Miller's old email address 2011-04-06 06:19:38 -07:00
r6000_fpu.S update David Miller's old email address 2011-04-06 06:19:38 -07:00
relocate_kernel.S
reset.c mips: migrate core kernel file from module.h --> export.h 2011-10-31 19:30:56 -04:00
rtlx.c mips: remove needless include of module.h from core kernel files. 2011-10-31 19:30:57 -04:00
scall32-o32.S MIPS: Hook up process_vm_readv and process_vm_writev system calls. 2011-11-09 00:07:56 +00:00
scall64-64.S MIPS: Hook up process_vm_readv and process_vm_writev system calls. 2011-11-09 00:07:56 +00:00
scall64-n32.S MIPS: Hook up process_vm_readv and process_vm_writev system calls. 2011-11-09 00:07:56 +00:00
scall64-o32.S MIPS: Hook up process_vm_readv and process_vm_writev system calls. 2011-11-09 00:07:56 +00:00
setup.c mips: migrate core kernel file from module.h --> export.h 2011-10-31 19:30:56 -04:00
signal32.c MIPS: Fix GCC-4.6 'set but not used' warning in signal*.c 2011-03-14 21:07:25 +01:00
signal_n32.c MIPS: do_sigaltstack() expects userland pointers 2010-10-18 16:59:03 +01:00
signal-common.h MIPS: Move signal trampolines off of the stack. 2010-04-12 17:26:15 +01:00
signal.c MIPS: Handle __put_user() sleeping. 2011-09-21 17:52:38 +02:00
smp-cmp.c atomic: use <linux/atomic.h> 2011-07-26 16:49:47 -07:00
smp-mt.c atomic: use <linux/atomic.h> 2011-07-26 16:49:47 -07:00
smp-up.c
smp.c atomic: use <linux/atomic.h> 2011-07-26 16:49:47 -07:00
smtc-asm.S
smtc-proc.c atomic: use <linux/atomic.h> 2011-07-26 16:49:47 -07:00
smtc.c atomic: use <linux/atomic.h> 2011-07-26 16:49:47 -07:00
spinlock_test.c mips: migrate core kernel file from module.h --> export.h 2011-10-31 19:30:56 -04:00
spram.c
stacktrace.c mips: migrate core kernel file from module.h --> export.h 2011-10-31 19:30:56 -04:00
sync-r4k.c atomic: use <linux/atomic.h> 2011-07-26 16:49:47 -07:00
syscall.c MIPS: Move arch_get_unmapped_area and gang to new file. 2011-05-19 09:55:49 +01:00
time.c mips: migrate core kernel file from module.h --> export.h 2011-10-31 19:30:56 -04:00
topology.c
traps.c MIPS: ASID conflict after CPU hotplug 2011-11-10 17:59:45 +00:00
unaligned.c mips: remove needless include of module.h from core kernel files. 2011-10-31 19:30:57 -04:00
vdso.c MIPS: Make init_vdso a subsys_initcall. 2010-07-26 19:08:16 +01:00
vmlinux.lds.S Merge branch 'for-2.6.40' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/percpu 2011-05-24 11:53:42 -07:00
vpe.c mips: remove needless include of module.h from core kernel files. 2011-10-31 19:30:57 -04:00
watch.c