diff options
author | qhuang8 <qhuang8@6f19259b-4bc3-4df7-8a09-765794883524> | 2009-09-01 14:57:18 +0000 |
---|---|---|
committer | qhuang8 <qhuang8@6f19259b-4bc3-4df7-8a09-765794883524> | 2009-09-01 14:57:18 +0000 |
commit | 8facd18f30d5cb1650449c2b45ad746536ffa8a1 (patch) | |
tree | d229df545fa0f6eb7d66fa5ffa48490427b874b2 /MdePkg/Library/BaseLib | |
parent | 709f55c0239dc59e2b16ffe442436e2d46dd4102 (diff) | |
download | edk2-platforms-8facd18f30d5cb1650449c2b45ad746536ffa8a1.tar.xz |
Split AsmReadKr7() and AsmWriteKr7() from AccessKr.s file since these two APIs are frequently used to store/fetch PeiServicesTable pointer for IPF platform. Some compiler/linker with /Od is not smart enough to remove used KR registers access APIs.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9219 6f19259b-4bc3-4df7-8a09-765794883524
Diffstat (limited to 'MdePkg/Library/BaseLib')
-rw-r--r-- | MdePkg/Library/BaseLib/BaseLib.inf | 1 | ||||
-rw-r--r-- | MdePkg/Library/BaseLib/Ipf/AccessKr.s | 52 | ||||
-rw-r--r-- | MdePkg/Library/BaseLib/Ipf/AccessKr7.s | 63 |
3 files changed, 66 insertions, 50 deletions
diff --git a/MdePkg/Library/BaseLib/BaseLib.inf b/MdePkg/Library/BaseLib/BaseLib.inf index 849cfcb4d8..7db361fe69 100644 --- a/MdePkg/Library/BaseLib/BaseLib.inf +++ b/MdePkg/Library/BaseLib/BaseLib.inf @@ -553,6 +553,7 @@ Ipf/AccessPsr.s
Ipf/AccessPmr.s
Ipf/AccessKr.s
+ Ipf/AccessKr7.s
Ipf/AccessGcr.s
Ipf/AccessEicr.s
Ipf/AccessDbr.s
diff --git a/MdePkg/Library/BaseLib/Ipf/AccessKr.s b/MdePkg/Library/BaseLib/Ipf/AccessKr.s index e95059a2cf..63137017e0 100644 --- a/MdePkg/Library/BaseLib/Ipf/AccessKr.s +++ b/MdePkg/Library/BaseLib/Ipf/AccessKr.s @@ -1,7 +1,7 @@ /// @file
-/// IPF specific AsmReadKrX() and AsmWriteKrX functions, 'X' is from '0' to '7'
+/// IPF specific AsmReadKrX() and AsmWriteKrX() functions, 'X' is from '0' to '6'
///
-/// Copyright (c) 2006 - 2008, Intel Corporation
+/// Copyright (c) 2006 - 2009, Intel Corporation
/// All rights reserved. This program and the accompanying materials
/// are licensed and made available under the terms and conditions of the BSD License
/// which accompanies this distribution. The full text of the license may be found at
@@ -358,51 +358,3 @@ AsmWriteKr6:: mov r8 = in0;;
br.ret.dpnt b0;;
.endp AsmWriteKr6
-
-
-//---------------------------------------------------------------------------------
-//++
-// AsmReadKr7
-//
-// This routine is used to get KR7.
-//
-// Arguments :
-//
-// On Entry : None.
-//
-// Return Value: The value store in KR7.
-//
-//--
-//----------------------------------------------------------------------------------
-.text
-.type AsmReadKr7, @function
-.proc AsmReadKr7
-
-AsmReadKr7::
- mov r8 = ar.k7;;
- br.ret.dpnt b0;;
-.endp AsmReadKr7
-
-//---------------------------------------------------------------------------------
-//++
-// AsmWriteKr7
-//
-// This routine is used to write KR7.
-//
-// Arguments :
-//
-// On Entry : None.
-//
-// Return Value: The value written to the KR7.
-//
-//--
-//----------------------------------------------------------------------------------
-.text
-.type AsmWriteKr7, @function
-.proc AsmWriteKr7
-
-AsmWriteKr7::
- mov ar.k7 = in0
- mov r8 = in0;;
- br.ret.dpnt b0;;
-.endp AsmWriteKr7
diff --git a/MdePkg/Library/BaseLib/Ipf/AccessKr7.s b/MdePkg/Library/BaseLib/Ipf/AccessKr7.s new file mode 100644 index 0000000000..d422d76df3 --- /dev/null +++ b/MdePkg/Library/BaseLib/Ipf/AccessKr7.s @@ -0,0 +1,63 @@ +/// @file
+/// IPF specific AsmReadKr7() and AsmWriteKr7()
+///
+/// Copyright (c) 2006 - 2009, Intel Corporation
+/// All rights reserved. This program and the accompanying materials
+/// are licensed and made available under the terms and conditions of the BSD License
+/// which accompanies this distribution. The full text of the license may be found at
+/// http://opensource.org/licenses/bsd-license.php
+///
+/// THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
+/// WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
+///
+/// Module Name: AccessKr7.s
+///
+///
+
+//---------------------------------------------------------------------------------
+//++
+// AsmReadKr7
+//
+// This routine is used to get KR7.
+//
+// Arguments :
+//
+// On Entry : None.
+//
+// Return Value: The value store in KR7.
+//
+//--
+//----------------------------------------------------------------------------------
+.text
+.type AsmReadKr7, @function
+.proc AsmReadKr7
+
+AsmReadKr7::
+ mov r8 = ar.k7;;
+ br.ret.dpnt b0;;
+.endp AsmReadKr7
+
+//---------------------------------------------------------------------------------
+//++
+// AsmWriteKr7
+//
+// This routine is used to write KR7.
+//
+// Arguments :
+//
+// On Entry : None.
+//
+// Return Value: The value written to the KR7.
+//
+//--
+//----------------------------------------------------------------------------------
+.text
+.type AsmWriteKr7, @function
+.proc AsmWriteKr7
+.regstk 1, 3, 0, 0
+
+AsmWriteKr7::
+ mov ar.k7 = in0
+ mov r8 = in0;;
+ br.ret.dpnt b0;;
+.endp AsmWriteKr7
|