]> git.proxmox.com Git - mirror_edk2.git/blob - ArmPkg/Library/CompilerIntrinsicsLib/Arm/uread.S
e8a1dbad86929c8787cf20508868901fa1139b3b
[mirror_edk2.git] / ArmPkg / Library / CompilerIntrinsicsLib / Arm / uread.S
1 #------------------------------------------------------------------------------
2 #
3 # Copyright (c) 2008 - 2009, Apple Inc. All rights reserved.<BR>
4 #
5 # SPDX-License-Identifier: BSD-2-Clause-Patent
6 #
7 #------------------------------------------------------------------------------
8
9 #include <AsmMacroIoLib.h>
10
11 #
12 #UINT32
13 #EFIAPI
14 #__aeabi_uread4 (
15 # IN VOID *Pointer
16 # );
17 #
18 ASM_FUNC(__aeabi_uread4)
19 ldrb r1, [r0]
20 ldrb r2, [r0, #1]
21 ldrb r3, [r0, #2]
22 ldrb r0, [r0, #3]
23 orr r1, r1, r2, lsl #8
24 orr r1, r1, r3, lsl #16
25 orr r0, r1, r0, lsl #24
26 bx lr
27
28 #
29 #UINT64
30 #EFIAPI
31 #__aeabi_uread8 (
32 # IN VOID *Pointer
33 # );
34 #
35 ASM_FUNC(__aeabi_uread8)
36 mov r3, r0
37
38 ldrb r1, [r3]
39 ldrb r2, [r3, #1]
40 orr r1, r1, r2, lsl #8
41 ldrb r2, [r3, #2]
42 orr r1, r1, r2, lsl #16
43 ldrb r0, [r3, #3]
44 orr r0, r1, r0, lsl #24
45
46 ldrb r1, [r3, #4]
47 ldrb r2, [r3, #5]
48 orr r1, r1, r2, lsl #8
49 ldrb r2, [r3, #6]
50 orr r1, r1, r2, lsl #16
51 ldrb r2, [r3, #7]
52 orr r1, r1, r2, lsl #24
53
54 bx lr