From b5f0824109349c72649bc8f2582fe19f7060c99d Mon Sep 17 00:00:00 2001 From: Joel Sing Date: Tue, 5 Apr 2011 12:56:03 +0000 Subject: Save and restore the PSW value when making a PDC call, rather than blindly reloading from kpsl. ok kettenis@ --- sys/arch/hppa64/hppa64/locore.S | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'sys') 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 -- cgit v1.2.3