/* * 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