summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoroliviermartin <oliviermartin@6f19259b-4bc3-4df7-8a09-765794883524>2011-09-29 20:55:10 +0000
committeroliviermartin <oliviermartin@6f19259b-4bc3-4df7-8a09-765794883524>2011-09-29 20:55:10 +0000
commit68085d37f88aaaaad97f071e2d0e60b276592cc5 (patch)
tree713afab1a37e0ac334e5e540f8b9dc36b12f772f
parentfa16d12dcc97c20cb4cde053e3e280892d0ccd13 (diff)
downloadedk2-platforms-68085d37f88aaaaad97f071e2d0e60b276592cc5.tar.xz
ArmPkg/CompilerIntrinsicsLib: Reverse the order of the 'ldrb' instructions in __aeabi_uread4
Change __aeabi_uread4 from: ldrb r2, [r0, #1] ldrb r1, [r0] (...) to: ldrb r1, [r0] ldrb r2, [r0, #1] (...) This change is a workaround to handle correctly __aeabi_uread4 on ARM Versatile Express RTSM. It should not have any major consequence on the other ARM platforms. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12481 6f19259b-4bc3-4df7-8a09-765794883524
-rw-r--r--ArmPkg/Library/CompilerIntrinsicsLib/Arm/uread.asm76
1 files changed, 38 insertions, 38 deletions
diff --git a/ArmPkg/Library/CompilerIntrinsicsLib/Arm/uread.asm b/ArmPkg/Library/CompilerIntrinsicsLib/Arm/uread.asm
index 08a0fd2101..da3ea3e31e 100644
--- a/ArmPkg/Library/CompilerIntrinsicsLib/Arm/uread.asm
+++ b/ArmPkg/Library/CompilerIntrinsicsLib/Arm/uread.asm
@@ -1,38 +1,38 @@
-//------------------------------------------------------------------------------
-//
-// Copyright (c) 2008 - 2009, Apple Inc. All rights reserved.<BR>
-//
-// 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.
-//
-//------------------------------------------------------------------------------
-
-
-
- EXPORT __aeabi_uread4
-
- AREA Uread4, CODE, READONLY
-
-;
-;UINT32
-;EFIAPI
-;__aeabi_uread4 (
-; IN VOID *Pointer
-; );
-;
-__aeabi_uread4
- ldrb r2, [r0, #1]
- ldrb r1, [r0]
- ldrb r3, [r0, #2]
- ldrb r0, [r0, #3]
- orr r1, r1, r2, lsl #8
- orr r1, r1, r3, lsl #16
- orr r0, r1, r0, lsl #24
- bx lr
-
- END
+//------------------------------------------------------------------------------
+//
+// Copyright (c) 2008 - 2009, Apple Inc. All rights reserved.<BR>
+//
+// 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.
+//
+//------------------------------------------------------------------------------
+
+
+
+ EXPORT __aeabi_uread4
+
+ AREA Uread4, CODE, READONLY
+
+;
+;UINT32
+;EFIAPI
+;__aeabi_uread4 (
+; IN VOID *Pointer
+; );
+;
+__aeabi_uread4
+ ldrb r1, [r0]
+ ldrb r2, [r0, #1]
+ ldrb r3, [r0, #2]
+ ldrb r0, [r0, #3]
+ orr r1, r1, r2, lsl #8
+ orr r1, r1, r3, lsl #16
+ orr r0, r1, r0, lsl #24
+ bx lr
+
+ END