Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 30891c90 authored by Russell King's avatar Russell King
Browse files

ARM: entry: no need to reload the SPSR value from struct pt_regs



The SVC IRQ, prefetch and data abort handlers preserve the SPSR value
via r5 across the exception.  Rather than re-loading it from pt_regs,
use the preserved value instead.

Signed-off-by: default avatarRussell King <rmk+kernel@arm.linux.org.uk>
parent 40f0b90a
Loading
Loading
Loading
Loading
+1 −9
Original line number Diff line number Diff line
@@ -195,10 +195,6 @@ __dabt_svc:
	@
	disable_irq_notrace

	@
	@ restore SPSR and restart the instruction
	@
	ldr	r5, [sp, #S_PSR]
#ifdef CONFIG_TRACE_IRQFLAGS
	tst	r5, #PSR_I_BIT
	bleq	trace_hardirqs_on
@@ -223,7 +219,7 @@ __irq_svc:
	tst	r0, #_TIF_NEED_RESCHED
	blne	svc_preempt
#endif
	ldr	r5, [sp, #S_PSR]

#ifdef CONFIG_TRACE_IRQFLAGS
	@ The parent context IRQs must have been enabled to get here in
	@ the first place, so there's no point checking the PSR I bit.
@@ -308,10 +304,6 @@ __pabt_svc:
	@
	disable_irq_notrace

	@
	@ restore SPSR and restart the instruction
	@
	ldr	r5, [sp, #S_PSR]
#ifdef CONFIG_TRACE_IRQFLAGS
	tst	r5, #PSR_I_BIT
	bleq	trace_hardirqs_on