summaryrefslogtreecommitdiff
path: root/ArmPkg/Library/CompilerIntrinsicsLib/Arm/uwrite.asm
diff options
context:
space:
mode:
authoroliviermartin <oliviermartin@6f19259b-4bc3-4df7-8a09-765794883524>2012-07-12 18:00:36 +0000
committeroliviermartin <oliviermartin@6f19259b-4bc3-4df7-8a09-765794883524>2012-07-12 18:00:36 +0000
commit836a78250b31ef71b3584d1a4e7cf2a03434422f (patch)
tree6feb542da4013e995f0123774c0f8c39f8b84148 /ArmPkg/Library/CompilerIntrinsicsLib/Arm/uwrite.asm
parent96f0d1cab0f2f1d7f923cc11bc56c069c6e71854 (diff)
downloadedk2-platforms-836a78250b31ef71b3584d1a4e7cf2a03434422f.tar.xz
ArmPkg/CompilerIntrinsicsLib: Added missing __aeabi_uread8 and __aeabi_uwrite8
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13528 6f19259b-4bc3-4df7-8a09-765794883524
Diffstat (limited to 'ArmPkg/Library/CompilerIntrinsicsLib/Arm/uwrite.asm')
-rw-r--r--ArmPkg/Library/CompilerIntrinsicsLib/Arm/uwrite.asm28
1 files changed, 27 insertions, 1 deletions
diff --git a/ArmPkg/Library/CompilerIntrinsicsLib/Arm/uwrite.asm b/ArmPkg/Library/CompilerIntrinsicsLib/Arm/uwrite.asm
index deb0189327..cbf1793af4 100644
--- a/ArmPkg/Library/CompilerIntrinsicsLib/Arm/uwrite.asm
+++ b/ArmPkg/Library/CompilerIntrinsicsLib/Arm/uwrite.asm
@@ -14,6 +14,7 @@
EXPORT __aeabi_uwrite4
+ EXPORT __aeabi_uwrite8
AREA Uwrite4, CODE, READONLY
@@ -35,6 +36,31 @@ __aeabi_uwrite4
mov r2, r0, lsr #24
strb r2, [r1, #3]
bx lr
-
+
+;
+;UINT64
+;EFIAPI
+;__aeabi_uwrite8 (
+; IN UINT64 Data, //r0-r1
+; IN VOID *Pointer //r2
+; );
+;
+;
+__aeabi_uwrite8
+ mov r3, r0, lsr #8
+ strb r0, [r2]
+ strb r3, [r2, #1]
+ mov r3, r0, lsr #16
+ strb r3, [r2, #2]
+ mov r3, r0, lsr #24
+ strb r3, [r2, #3]
+
+ mov r3, r1, lsr #8
+ strb r1, [r2, #4]
+ strb r3, [r2, #5]
+ mov r3, r1, lsr #16
+ strb r3, [r2, #6]
+ mov r3, r1, lsr #24
+ strb r3, [r2, #7]
END