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