31 lines
524 B
ArmAsm
31 lines
524 B
ArmAsm
/*
|
|
* Copyright (c) 2018, ARM Limited and Contributors. All rights reserved.
|
|
*
|
|
* SPDX-License-Identifier: BSD-3-Clause
|
|
*/
|
|
|
|
.globl rom_lib_init
|
|
.extern __DATA_RAM_START__, __DATA_ROM_START__, __DATA_SIZE__
|
|
.extern memset, memcpy
|
|
|
|
rom_lib_init:
|
|
cmp w0, #1
|
|
mov w0, #0
|
|
b.le 1f
|
|
ret
|
|
|
|
1: stp x29, x30, [sp, #-16]!
|
|
adrp x0, __DATA_RAM_START__
|
|
ldr x1,= __DATA_ROM_START__
|
|
ldr x2, =__DATA_SIZE__
|
|
bl memcpy
|
|
|
|
ldr x0, =__BSS_START__
|
|
mov x1, #0
|
|
ldr x2, =__BSS_SIZE__
|
|
bl memset
|
|
ldp x29, x30, [sp], #16
|
|
|
|
mov w0, #1
|
|
ret
|