diff options
author | Joel Sing <jsing@cvs.openbsd.org> | 2011-04-05 12:56:03 +0000 |
---|---|---|
committer | Joel Sing <jsing@cvs.openbsd.org> | 2011-04-05 12:56:03 +0000 |
commit | b5f0824109349c72649bc8f2582fe19f7060c99d (patch) | |
tree | 9cc1a6a98cf348b6230615f7e23a985b0ff2aa05 /sys | |
parent | b2b6c7a9063c88d92da6ab79d2e1ffd7ac133576 (diff) |
Save and restore the PSW value when making a PDC call, rather than blindly
reloading from kpsl.
ok kettenis@
Diffstat (limited to 'sys')
-rw-r--r-- | sys/arch/hppa64/hppa64/locore.S | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/sys/arch/hppa64/hppa64/locore.S b/sys/arch/hppa64/hppa64/locore.S index f9b91e387b8..8cfe90171ae 100644 --- a/sys/arch/hppa64/hppa64/locore.S +++ b/sys/arch/hppa64/hppa64/locore.S @@ -1,4 +1,4 @@ -/* $OpenBSD: locore.S,v 1.12 2011/03/27 18:59:37 kettenis Exp $ */ +/* $OpenBSD: locore.S,v 1.13 2011/04/05 12:56:02 jsing Exp $ */ /* * Copyright (c) 2005 Michael Shalayeff @@ -321,6 +321,7 @@ ENTRY(pdc_call,160) std %ret0, 11*8(%r3) /* old %sp */ ldi PSL_Q, %arg0 break HPPA_BREAK_KERNEL, HPPA_BREAK_SET_PSW + std %ret0, 27*8(%r3) copy %ret1, %arg0 .call @@ -346,8 +347,7 @@ ENTRY(pdc_call,160) mtctl arg6, %cr30 mtctl arg7, %cr31 - ldil L%$kpsl, %r1 - ldw R%$kpsl(%r1), %arg0 + ldd 27*8(%r3), %arg0 copy %ret0, %arg1 break HPPA_BREAK_KERNEL, HPPA_BREAK_SET_PSW copy %arg1, %ret0 |