]> git.proxmox.com Git - mirror_edk2.git/blobdiff - EdkCompatibilityPkg/Foundation/Library/Pei/PeiLib/Ipf/PioFlush.s
Renamed to match filename naming recommendations.
[mirror_edk2.git] / EdkCompatibilityPkg / Foundation / Library / Pei / PeiLib / Ipf / PioFlush.s
diff --git a/EdkCompatibilityPkg/Foundation/Library/Pei/PeiLib/Ipf/PioFlush.s b/EdkCompatibilityPkg/Foundation/Library/Pei/PeiLib/Ipf/PioFlush.s
new file mode 100644 (file)
index 0000000..e48a5e4
--- /dev/null
@@ -0,0 +1,106 @@
+//++\r
+// Copyright (c) 2004, Intel Corporation                                                         \r
+// All rights reserved. This program and the accompanying materials                          \r
+// are licensed and made available under the terms and conditions of the BSD License         \r
+// which accompanies this distribution.  The full text of the license may be found at        \r
+// http://opensource.org/licenses/bsd-license.php                                            \r
+//                                                                                           \r
+// THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,                     \r
+// WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.             \r
+// \r
+//  Module Name:\r
+//\r
+//    pioflush.s \r
+//\r
+//  Abstract:\r
+//\r
+//\r
+// Revision History:\r
+//\r
+//--\r
+\r
+  .file  "pioflush.c"\r
+  .radix  D\r
+  .section  .text,  "ax", "progbits"\r
+  .align 32\r
+  .section  .pdata,  "a", "progbits"\r
+  .align 4\r
+  .section  .xdata,  "a", "progbits"\r
+  .align 8\r
+  .section  .data,  "wa", "progbits"\r
+  .align 16\r
+  .section  .rdata,  "a", "progbits"\r
+  .align 16\r
+  .section  .bss,  "wa", "nobits"\r
+  .align 16\r
+  .section  .tls$,  "was", "progbits"\r
+  .align 16\r
+  .section  .sdata,  "was", "progbits"\r
+  .align 16\r
+  .section  .sbss,  "was", "nobits"\r
+  .align 16\r
+  .section  .srdata,  "as", "progbits"\r
+  .align 16\r
+  .section  .rdata,  "a", "progbits"\r
+  .align 16\r
+  .section  .rtcode,  "ax", "progbits"\r
+  .align 32\r
+  .type  RtPioICacheFlush#  ,@function \r
+        .global RtPioICacheFlush#\r
+// Function compile flags: /Ogsy\r
+  .section  .rtcode\r
+\r
+// Begin code for function: RtPioICacheFlush:\r
+  .proc  RtPioICacheFlush#\r
+  .align 32\r
+RtPioICacheFlush:  \r
+// File e:\tmp\pioflush.c\r
+ {   .mii  //R-Addr: 0X00 \r
+  alloc  r3=2, 0, 0, 0            //11, 00000002H\r
+  cmp4.leu p0,p6=32, r33;;          //15, 00000020H\r
+  (p6)  mov  r33=32;;            //16, 00000020H\r
+ }\r
+ {   .mii  //R-Addr: 0X010 \r
+  nop.m   0\r
+  zxt4  r29=r33;;            //21\r
+  dep.z  r30=r29, 0, 5;;            //21, 00000005H\r
+ }\r
+ {   .mii  //R-Addr: 0X020 \r
+  cmp4.eq  p0,p7=r0, r30            //21\r
+  shr.u  r28=r29, 5;;            //19, 00000005H\r
+  (p7)  adds  r28=1, r28;;            //22, 00000001H\r
+ }\r
+ {   .mii  //R-Addr: 0X030 \r
+  nop.m   0\r
+  shl  r27=r28, 5;;            //25, 00000005H\r
+  zxt4  r26=r27;;            //25\r
+ }\r
+ {   .mfb  //R-Addr: 0X040 \r
+  add  r31=r26, r32            //25\r
+  nop.f   0\r
+  nop.b   0\r
+ }\r
+$L143:\r
+ {   .mii  //R-Addr: 0X050 \r
+  fc   r32              //27\r
+  adds  r32=32, r32;;            //28, 00000020H\r
+  cmp.ltu  p14,p15=r32, r31          //29\r
+ }\r
+ {   .mfb  //R-Addr: 0X060 \r
+  nop.m   0\r
+  nop.f   0\r
+  (p14)  br.cond.dptk.few $L143#;;          //29, 880000/120000\r
+ }\r
+ {   .mmi\r
+    sync.i;;\r
+    srlz.i\r
+    nop.i   0;;\r
+ }\r
+ {   .mfb  //R-Addr: 0X070 \r
+  nop.m   0\r
+  nop.f   0\r
+  br.ret.sptk.few b0;;            //31\r
+ }\r
+// End code for function:\r
+  .endp  RtPioICacheFlush#\r
+// END\r