summaryrefslogtreecommitdiff
path: root/MdePkg
diff options
context:
space:
mode:
authorvprabhal <vprabhal@6f19259b-4bc3-4df7-8a09-765794883524>2007-09-18 23:18:34 +0000
committervprabhal <vprabhal@6f19259b-4bc3-4df7-8a09-765794883524>2007-09-18 23:18:34 +0000
commitaa7ab98849a594f3bd695caa23155e275eb30bda (patch)
treef9353fc3913ea06809900e600d54b4b27e7a18c2 /MdePkg
parent700e6ffd3e351cbe2069de83d94cefc0743ab45f (diff)
downloadedk2-platforms-aa7ab98849a594f3bd695caa23155e275eb30bda.tar.xz
fixed one asm routine
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@3890 6f19259b-4bc3-4df7-8a09-765794883524
Diffstat (limited to 'MdePkg')
-rw-r--r--MdePkg/Library/BaseLib/Ipf/AccessKr.s10
1 files changed, 9 insertions, 1 deletions
diff --git a/MdePkg/Library/BaseLib/Ipf/AccessKr.s b/MdePkg/Library/BaseLib/Ipf/AccessKr.s
index 5a38954292..19e7740fc4 100644
--- a/MdePkg/Library/BaseLib/Ipf/AccessKr.s
+++ b/MdePkg/Library/BaseLib/Ipf/AccessKr.s
@@ -55,11 +55,19 @@ AsmReadKr0::
.text
.type AsmWriteKr0, @function
.proc AsmWriteKr0
-.regstk 1, 0, 0, 0
+.regstk 1, 3, 0, 0
AsmWriteKr0::
+ alloc loc1=ar.pfs,1,4,0,0 ;;
+ mov loc2 = psr;;
+ rsm 0x6000;; // Masking interrupts
mov ar.k0 = in0
+ srlz.i;;
+ mov psr.l = loc2;;
+ srlz.i;;
+ srlz.d;;
mov r8 = in0;;
+ mov ar.pfs=loc1 ;;
br.ret.dpnt b0;;
.endp AsmWriteKr0