]> git.proxmox.com Git - mirror_edk2.git/blob - ArmPkg/Library/CompilerIntrinsicsLib/Arm/uwrite.S
UefiCpuPkg: Move AsmRelocateApLoopStart from Mpfuncs.nasm to AmdSev.nasm
[mirror_edk2.git] / ArmPkg / Library / CompilerIntrinsicsLib / Arm / uwrite.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_uwrite4 (
15 # IN UINT32 Data,
16 # IN VOID *Pointer
17 # );
18 #
19 ASM_FUNC(__aeabi_uwrite4)
20 mov r2, r0, lsr #8
21 strb r0, [r1]
22 strb r2, [r1, #1]
23 mov r2, r0, lsr #16
24 strb r2, [r1, #2]
25 mov r2, r0, lsr #24
26 strb r2, [r1, #3]
27 bx lr
28
29 #
30 #UINT64
31 #EFIAPI
32 #__aeabi_uwrite8 (
33 # IN UINT64 Data,
34 # IN VOID *Pointer
35 # );
36 #
37 ASM_FUNC(__aeabi_uwrite8)
38 mov r3, r0, lsr #8
39 strb r0, [r2]
40 strb r3, [r2, #1]
41 mov r3, r0, lsr #16
42 strb r3, [r2, #2]
43 mov r3, r0, lsr #24
44 strb r3, [r2, #3]
45
46 mov r3, r1, lsr #8
47 strb r1, [r2, #4]
48 strb r3, [r2, #5]
49 mov r3, r1, lsr #16
50 strb r3, [r2, #6]
51 mov r3, r1, lsr #24
52 strb r3, [r2, #7]
53 bx lr