]> git.proxmox.com Git - mirror_edk2.git/commitdiff
Added CpuFlushTlb() for IPF
authorbxing <bxing@6f19259b-4bc3-4df7-8a09-765794883524>
Wed, 17 May 2006 10:29:44 +0000 (10:29 +0000)
committerbxing <bxing@6f19259b-4bc3-4df7-8a09-765794883524>
Wed, 17 May 2006 10:29:44 +0000 (10:29 +0000)
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@184 6f19259b-4bc3-4df7-8a09-765794883524

MdePkg/Library/BaseLib/BaseLib.msa
MdePkg/Library/BaseLib/Ipf/CpuFlushTlb.s [new file with mode: 0644]

index 380674a8356029572b92d2e8191aa7602d46e1b1..7719c3af01b52f23259cf08b588b3d8a5574ceb1 100644 (file)
@@ -273,6 +273,7 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
       <Filename>Ipf/InterlockedCompareExchange64.s</Filename>\r
       <Filename>Ipf/Synchronization.c</Filename>\r
       <Filename>Ipf/CpuPause.s</Filename>\r
+      <Filename>Ipf/CpuFlushTlb.s</Filename>\r
     </Arch>\r
     <Arch ArchType="EBC">\r
       <Filename>Math64.c</Filename>\r
diff --git a/MdePkg/Library/BaseLib/Ipf/CpuFlushTlb.s b/MdePkg/Library/BaseLib/Ipf/CpuFlushTlb.s
new file mode 100644 (file)
index 0000000..0afd87e
--- /dev/null
@@ -0,0 +1,29 @@
+/// @file\r
+///   CpuFlushTlb() function for Itanium-based architecture.\r
+///\r
+/// Copyright (c) 2006, 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:  CpuFlushTlb.s\r
+///\r
+///\r
+\r
+.auto\r
+.text\r
+\r
+.proc   CpuFlushTlb\r
+.type   CpuFlushTlb, @function\r
+CpuFlushTlb::\r
+        mov                 r8  = ip\r
+        mov                 r9  = -1\r
+        dep.z               r10 = -1, 61, 3\r
+        and                 r8  = r8, r10\r
+        ptc.l               r8, r9\r
+        br.ret.sptk.many    b0\r
+.endp\r