]> git.proxmox.com Git - mirror_edk2.git/blob - ArmPkg/Library/CompilerIntrinsicsLib/Arm/uread.asm
ArmPkg: Replace BSD License with BSD+Patent License
[mirror_edk2.git] / ArmPkg / Library / CompilerIntrinsicsLib / Arm / uread.asm
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
10
11
12 INCLUDE AsmMacroExport.inc
13
14 ;
15 ;UINT32
16 ;EFIAPI
17 ;__aeabi_uread4 (
18 ; IN VOID *Pointer
19 ; );
20 ;
21 RVCT_ASM_EXPORT __aeabi_uread4
22 ldrb r1, [r0]
23 ldrb r2, [r0, #1]
24 ldrb r3, [r0, #2]
25 ldrb r0, [r0, #3]
26 orr r1, r1, r2, lsl #8
27 orr r1, r1, r3, lsl #16
28 orr r0, r1, r0, lsl #24
29 bx lr
30
31 ;
32 ;UINT64
33 ;EFIAPI
34 ;__aeabi_uread8 (
35 ; IN VOID *Pointer
36 ; );
37 ;
38 RVCT_ASM_EXPORT __aeabi_uread8
39 mov r3, r0
40
41 ldrb r1, [r3]
42 ldrb r2, [r3, #1]
43 orr r1, r1, r2, lsl #8
44 ldrb r2, [r3, #2]
45 orr r1, r1, r2, lsl #16
46 ldrb r0, [r3, #3]
47 orr r0, r1, r0, lsl #24
48
49 ldrb r1, [r3, #4]
50 ldrb r2, [r3, #5]
51 orr r1, r1, r2, lsl #8
52 ldrb r2, [r3, #6]
53 orr r1, r1, r2, lsl #16
54 ldrb r2, [r3, #7]
55 orr r1, r1, r2, lsl #24
56
57 bx lr
58 END