diff options
author | dfr <dfr@FreeBSD.org> | 2001-04-24 15:54:23 +0000 |
---|---|---|
committer | dfr <dfr@FreeBSD.org> | 2001-04-24 15:54:23 +0000 |
commit | 08ae27f316a5f87f524fe449cd506118c3dfef61 (patch) | |
tree | 775b81f32b64958ea1d3601b425cee21ce9d96e4 /sys/ia64 | |
parent | 088368d68b69eeb36fdaa989f25a8160038b1de8 (diff) | |
download | FreeBSD-src-08ae27f316a5f87f524fe449cd506118c3dfef61.zip FreeBSD-src-08ae27f316a5f87f524fe449cd506118c3dfef61.tar.gz |
Don't trash the user's pr on syscalls.
Diffstat (limited to 'sys/ia64')
-rw-r--r-- | sys/ia64/ia64/exception.S | 3 | ||||
-rw-r--r-- | sys/ia64/ia64/exception.s | 3 |
2 files changed, 4 insertions, 2 deletions
diff --git a/sys/ia64/ia64/exception.S b/sys/ia64/ia64/exception.S index 0a27a83..bec2ae1 100644 --- a/sys/ia64/ia64/exception.S +++ b/sys/ia64/ia64/exception.S @@ -1274,6 +1274,7 @@ ENTRY(do_syscall, 0) ;; st8 [r30]=r20,16 // save cr.isr add r31=16,r31 // skip cr.ifa + mov r16=pr mov r18=ar.rsc mov r19=ar.pfs ;; @@ -1429,7 +1430,7 @@ ENTRY(do_syscall, 0) ld8 r18=[r31],-16 // restore cr.ipsr ld8 r19=[r30],-16 // restore cr.iip mov ar.rsc=r16 - mov pr=r16,0x1ffff + mov pr=r17,0x1ffff ;; mov cr.ipsr=r18 mov cr.iip=r19 diff --git a/sys/ia64/ia64/exception.s b/sys/ia64/ia64/exception.s index 0a27a83..bec2ae1 100644 --- a/sys/ia64/ia64/exception.s +++ b/sys/ia64/ia64/exception.s @@ -1274,6 +1274,7 @@ ENTRY(do_syscall, 0) ;; st8 [r30]=r20,16 // save cr.isr add r31=16,r31 // skip cr.ifa + mov r16=pr mov r18=ar.rsc mov r19=ar.pfs ;; @@ -1429,7 +1430,7 @@ ENTRY(do_syscall, 0) ld8 r18=[r31],-16 // restore cr.ipsr ld8 r19=[r30],-16 // restore cr.iip mov ar.rsc=r16 - mov pr=r16,0x1ffff + mov pr=r17,0x1ffff ;; mov cr.ipsr=r18 mov cr.iip=r19 |