1*54fd6939SJiyong Park/* 2*54fd6939SJiyong Park * Copyright (c) 2017-2021, Arm Limited and Contributors. All rights reserved. 3*54fd6939SJiyong Park * 4*54fd6939SJiyong Park * SPDX-License-Identifier: BSD-3-Clause 5*54fd6939SJiyong Park */ 6*54fd6939SJiyong Park 7*54fd6939SJiyong Park#include <arch.h> 8*54fd6939SJiyong Park#include <asm_macros.S> 9*54fd6939SJiyong Park#include <common/bl_common.h> 10*54fd6939SJiyong Park#include <el3_common_macros.S> 11*54fd6939SJiyong Park 12*54fd6939SJiyong Park .globl bl2_entrypoint 13*54fd6939SJiyong Park 14*54fd6939SJiyong Park 15*54fd6939SJiyong Parkfunc bl2_entrypoint 16*54fd6939SJiyong Park /* Save arguments x0-x3 from previous Boot loader */ 17*54fd6939SJiyong Park mov r9, r0 18*54fd6939SJiyong Park mov r10, r1 19*54fd6939SJiyong Park mov r11, r2 20*54fd6939SJiyong Park mov r12, r3 21*54fd6939SJiyong Park 22*54fd6939SJiyong Park el3_entrypoint_common \ 23*54fd6939SJiyong Park _init_sctlr=1 \ 24*54fd6939SJiyong Park _warm_boot_mailbox=!PROGRAMMABLE_RESET_ADDRESS \ 25*54fd6939SJiyong Park _secondary_cold_boot=!COLD_BOOT_SINGLE_CPU \ 26*54fd6939SJiyong Park _init_memory=1 \ 27*54fd6939SJiyong Park _init_c_runtime=1 \ 28*54fd6939SJiyong Park _exception_vectors=bl2_vector_table \ 29*54fd6939SJiyong Park _pie_fixup_size=0 30*54fd6939SJiyong Park 31*54fd6939SJiyong Park /* 32*54fd6939SJiyong Park * Restore parameters of boot rom 33*54fd6939SJiyong Park */ 34*54fd6939SJiyong Park mov r0, r9 35*54fd6939SJiyong Park mov r1, r10 36*54fd6939SJiyong Park mov r2, r11 37*54fd6939SJiyong Park mov r3, r12 38*54fd6939SJiyong Park 39*54fd6939SJiyong Park /* --------------------------------------------- 40*54fd6939SJiyong Park * Perform BL2 setup 41*54fd6939SJiyong Park * --------------------------------------------- 42*54fd6939SJiyong Park */ 43*54fd6939SJiyong Park bl bl2_el3_setup 44*54fd6939SJiyong Park 45*54fd6939SJiyong Park /* --------------------------------------------- 46*54fd6939SJiyong Park * Jump to main function. 47*54fd6939SJiyong Park * --------------------------------------------- 48*54fd6939SJiyong Park */ 49*54fd6939SJiyong Park bl bl2_main 50*54fd6939SJiyong Park 51*54fd6939SJiyong Park /* --------------------------------------------- 52*54fd6939SJiyong Park * Should never reach this point. 53*54fd6939SJiyong Park * --------------------------------------------- 54*54fd6939SJiyong Park */ 55*54fd6939SJiyong Park no_ret plat_panic_handler 56*54fd6939SJiyong Park 57*54fd6939SJiyong Parkendfunc bl2_entrypoint 58