ARM: 5991/1: Fix regression in restore_user_regs macro
ARMv5T and earlier require that a ldm {}^ instruction is not followed
by an instruction that accesses banked registers. This patch restores
the nop that was lost in commit b86040a59f
.
Signed-off-by: Anders Grafström <grfstrm@users.sourceforge.net>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
This commit is contained in:
parent
5d8614cc5d
commit
8e4971f2fb
|
@ -102,6 +102,8 @@
|
||||||
.else
|
.else
|
||||||
ldmdb sp, {r0 - lr}^ @ get calling r0 - lr
|
ldmdb sp, {r0 - lr}^ @ get calling r0 - lr
|
||||||
.endif
|
.endif
|
||||||
|
mov r0, r0 @ ARMv5T and earlier require a nop
|
||||||
|
@ after ldm {}^
|
||||||
add sp, sp, #S_FRAME_SIZE - S_PC
|
add sp, sp, #S_FRAME_SIZE - S_PC
|
||||||
movs pc, lr @ return & move spsr_svc into cpsr
|
movs pc, lr @ return & move spsr_svc into cpsr
|
||||||
.endm
|
.endm
|
||||||
|
|
Loading…
Reference in New Issue