diff options
Diffstat (limited to 'arch/blackfin/include/asm/context.S')
| -rw-r--r-- | arch/blackfin/include/asm/context.S | 22 | 
1 files changed, 22 insertions, 0 deletions
diff --git a/arch/blackfin/include/asm/context.S b/arch/blackfin/include/asm/context.S index 5dffaf582a2..1f9060395a0 100644 --- a/arch/blackfin/include/asm/context.S +++ b/arch/blackfin/include/asm/context.S @@ -73,6 +73,11 @@  #else  	cli r0;  #endif +#ifdef CONFIG_TRACE_IRQFLAGS +	sp += -12; +	call _trace_hardirqs_off; +	sp += 12; +#endif  	[--sp] = RETI;  /*orig_pc*/  	/* Clear all L registers.  */  	r0 = 0 (x); @@ -279,6 +284,13 @@  	RETN = [sp++];  	RETX = [sp++];  	RETI = [sp++]; + +#ifdef CONFIG_TRACE_IRQFLAGS +	sp += -12; +	call _trace_hardirqs_on; +	sp += 12; +#endif +  	RETS = [sp++];  #ifdef CONFIG_SMP @@ -374,3 +386,13 @@  	(R7:0, P5:0) = [SP++];  .endm + +.macro pseudo_long_call func:req, scratch:req +#ifdef CONFIG_ROMKERNEL +	\scratch\().l = \func; +	\scratch\().h = \func; +	call (\scratch); +#else +	call \func; +#endif +.endm  |