mirror of
https://github.com/acidanthera/audk.git
synced 2025-04-07 19:45:07 +02:00
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
This commit is contained in:
parent
96f0d1cab0
commit
836a78250b
@ -15,6 +15,7 @@
|
||||
|
||||
|
||||
EXPORT __aeabi_uread4
|
||||
EXPORT __aeabi_uread8
|
||||
|
||||
AREA Uread4, CODE, READONLY
|
||||
|
||||
@ -35,4 +36,31 @@ __aeabi_uread4
|
||||
orr r0, r1, r0, lsl #24
|
||||
bx lr
|
||||
|
||||
;
|
||||
;UINT64
|
||||
;EFIAPI
|
||||
;__aeabi_uread8 (
|
||||
; IN VOID *Pointer
|
||||
; );
|
||||
;
|
||||
__aeabi_uread8
|
||||
mov r3, r0
|
||||
|
||||
ldrb r1, [r3]
|
||||
ldrb r2, [r3, #1]
|
||||
orr r1, r1, r2, lsl #8
|
||||
ldrb r2, [r3, #2]
|
||||
orr r1, r1, r2, lsl #16
|
||||
ldrb r0, [r3, #3]
|
||||
orr r0, r1, r0, lsl #24
|
||||
|
||||
ldrb r1, [r3, #4]
|
||||
ldrb r2, [r3, #5]
|
||||
orr r1, r1, r2, lsl #8
|
||||
ldrb r2, [r3, #6]
|
||||
orr r1, r1, r2, lsl #16
|
||||
ldrb r2, [r3, #7]
|
||||
orr r1, r1, r2, lsl #24
|
||||
|
||||
bx lr
|
||||
END
|
||||
|
@ -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
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user