diff options
author | vprabhal <vprabhal@6f19259b-4bc3-4df7-8a09-765794883524> | 2007-09-18 23:18:04 +0000 |
---|---|---|
committer | vprabhal <vprabhal@6f19259b-4bc3-4df7-8a09-765794883524> | 2007-09-18 23:18:04 +0000 |
commit | 700e6ffd3e351cbe2069de83d94cefc0743ab45f (patch) | |
tree | dd7e9e3faa865ea7364725129e00bfd752df85f6 /MdePkg/Library/BaseLib | |
parent | 0bd93d716643c8c0801a53bd44124a3283593b70 (diff) | |
download | edk2-platforms-700e6ffd3e351cbe2069de83d94cefc0743ab45f.tar.xz |
fixed one asm routine
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@3889 6f19259b-4bc3-4df7-8a09-765794883524
Diffstat (limited to 'MdePkg/Library/BaseLib')
-rw-r--r-- | MdePkg/Library/BaseLib/Ipf/AccessGcr.s | 20 |
1 files changed, 15 insertions, 5 deletions
diff --git a/MdePkg/Library/BaseLib/Ipf/AccessGcr.s b/MdePkg/Library/BaseLib/Ipf/AccessGcr.s index 54b3a30a6d..dc038ff338 100644 --- a/MdePkg/Library/BaseLib/Ipf/AccessGcr.s +++ b/MdePkg/Library/BaseLib/Ipf/AccessGcr.s @@ -204,13 +204,23 @@ AsmReadIva:: .text
.type AsmWriteIva, @function
.proc AsmWriteIva
-.regstk 1, 0, 0, 0
+.regstk 1, 3, 0, 0
+ + alloc loc1=ar.pfs,1,4,0,0 ;;
+ + mov loc2 = psr + rsm 0x6000 // Make sure interrupts are masked AsmWriteIva::
- mov cr.iva = in0
- mov r8 = in0;;
- br.ret.dpnt b0;;
-.endp AsmWriteIva
+ mov cr.iva = in0
+ srlz.i;; + mov psr.l = loc2;; + srlz.i;; + srlz.d;; + mov ar.pfs=loc1 ;;
+ mov r8 = in0;;
+ br.ret.dpnt b0;;
+.endp AsmWriteIva
//---------------------------------------------------------------------------------
|