]> git.proxmox.com Git - mirror_edk2.git/commitdiff
fixed one asm routine
authorvprabhal <vprabhal@6f19259b-4bc3-4df7-8a09-765794883524>
Tue, 18 Sep 2007 23:18:04 +0000 (23:18 +0000)
committervprabhal <vprabhal@6f19259b-4bc3-4df7-8a09-765794883524>
Tue, 18 Sep 2007 23:18:04 +0000 (23:18 +0000)
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@3889 6f19259b-4bc3-4df7-8a09-765794883524

MdePkg/Library/BaseLib/Ipf/AccessGcr.s

index 54b3a30a6d16689066423b8a7482d4a875b74ff4..dc038ff338899a8a048a29aaa0d2fa0ef7592a29 100644 (file)
@@ -204,13 +204,23 @@ AsmReadIva::
 .text\r
 .type   AsmWriteIva, @function\r
 .proc   AsmWriteIva\r
-.regstk 1, 0, 0, 0\r
+.regstk 1, 3, 0, 0\r
+
+        alloc loc1=ar.pfs,1,4,0,0 ;;\r
+
+        mov         loc2 = psr
+        rsm         0x6000                      // Make sure interrupts are masked
 \r
 AsmWriteIva::\r
-         mov            cr.iva = in0\r
-         mov            r8 = in0;;\r
-         br.ret.dpnt    b0;;\r
-.endp    AsmWriteIva\r
+        mov            cr.iva = in0\r
+        srlz.i;;
+        mov         psr.l = loc2;;
+        srlz.i;;
+        srlz.d;;
+        mov ar.pfs=loc1 ;;\r
+        mov            r8 = in0;;\r
+        br.ret.dpnt    b0;;\r
+.endp   AsmWriteIva\r
 \r
 \r
 //---------------------------------------------------------------------------------\r