mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2025-01-10 15:10:38 +00:00
CRISv32: add support for irqflags tracing
Add support irqflags tracing, which is required for things like lockdep and ftrace. Signed-off-by: Rabin Vincent <rabin@rab.in> Signed-off-by: Jesper Nilsson <jesper.nilsson@axis.com>
This commit is contained in:
parent
20ae247399
commit
444e0c2881
@ -36,6 +36,10 @@ config FORCE_MAX_ZONEORDER
|
||||
int
|
||||
default 6
|
||||
|
||||
config TRACE_IRQFLAGS_SUPPORT
|
||||
depends on ETRAX_ARCH_V32
|
||||
def_bool y
|
||||
|
||||
config CRIS
|
||||
bool
|
||||
default y
|
||||
|
@ -240,6 +240,17 @@ ret_from_sys_call:
|
||||
|
||||
.type _Rexit,@function
|
||||
_Rexit:
|
||||
#if defined(CONFIG_TRACE_IRQFLAGS)
|
||||
addoq +PT_ccs, $sp, $acr
|
||||
move.d [$acr], $r0
|
||||
btstq 15, $r0 ; I1
|
||||
bpl 1f
|
||||
nop
|
||||
jsr trace_hardirqs_on
|
||||
nop
|
||||
1:
|
||||
#endif
|
||||
|
||||
;; This epilogue MUST match the prologues in multiple_interrupt, irq.h
|
||||
;; and ptregs.h.
|
||||
addq 4, $sp ; Skip orig_r10.
|
||||
|
@ -45,7 +45,11 @@
|
||||
asmlinkage void do_IRQ(int irq, struct pt_regs * regs)
|
||||
{
|
||||
unsigned long sp;
|
||||
struct pt_regs *old_regs = set_irq_regs(regs);
|
||||
struct pt_regs *old_regs;
|
||||
|
||||
trace_hardirqs_off();
|
||||
|
||||
old_regs = set_irq_regs(regs);
|
||||
irq_enter();
|
||||
sp = rdsp();
|
||||
if (unlikely((sp & (PAGE_SIZE - 1)) < (PAGE_SIZE/8))) {
|
||||
|
Loading…
x
Reference in New Issue
Block a user