mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-01-16 01:54:00 +00:00
parisc: Avoid interruption in critical region in entry.S
Signed-off-by: John David Anglin <dave.anglin@nrc-cnrc.gc.ca> Signed-off-by: Kyle McMartin <kyle@parisc-linux.org>
This commit is contained in:
parent
53e30d0227
commit
8f6c0c2bf1
@ -2076,9 +2076,10 @@ syscall_restore:
|
|||||||
LDREG TASK_PT_GR31(%r1),%r31 /* restore syscall rp */
|
LDREG TASK_PT_GR31(%r1),%r31 /* restore syscall rp */
|
||||||
|
|
||||||
/* NOTE: We use rsm/ssm pair to make this operation atomic */
|
/* NOTE: We use rsm/ssm pair to make this operation atomic */
|
||||||
|
LDREG TASK_PT_GR30(%r1),%r1 /* Get user sp */
|
||||||
rsm PSW_SM_I, %r0
|
rsm PSW_SM_I, %r0
|
||||||
LDREG TASK_PT_GR30(%r1),%r30 /* restore user sp */
|
copy %r1,%r30 /* Restore user sp */
|
||||||
mfsp %sr3,%r1 /* Get users space id */
|
mfsp %sr3,%r1 /* Get user space id */
|
||||||
mtsp %r1,%sr7 /* Restore sr7 */
|
mtsp %r1,%sr7 /* Restore sr7 */
|
||||||
ssm PSW_SM_I, %r0
|
ssm PSW_SM_I, %r0
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user