1*dca9220cSSimon Glass/* 2*dca9220cSSimon Glass * 64-bit x86 Startup Code 3*dca9220cSSimon Glass * 4*dca9220cSSimon Glass * (C) Copyright 216 Google, Inc 5*dca9220cSSimon Glass * Written by Simon Glass <sjg@chromium.org> 6*dca9220cSSimon Glass * 7*dca9220cSSimon Glass * SPDX-License-Identifier: GPL-2.0+ 8*dca9220cSSimon Glass */ 9*dca9220cSSimon Glass 10*dca9220cSSimon Glass#include <config.h> 11*dca9220cSSimon Glass 12*dca9220cSSimon Glass.section .text 13*dca9220cSSimon Glass.code64 14*dca9220cSSimon Glass.globl _start 15*dca9220cSSimon Glass.type _start, @function 16*dca9220cSSimon Glass_start: 17*dca9220cSSimon Glass /* Set up memory using the existing stack */ 18*dca9220cSSimon Glass mov %rsp, %rdi 19*dca9220cSSimon Glass call board_init_f_alloc_reserve 20*dca9220cSSimon Glass mov %rax, %rsp 21*dca9220cSSimon Glass 22*dca9220cSSimon Glass call board_init_f_init_reserve 23*dca9220cSSimon Glass 24*dca9220cSSimon Glass call board_init_f 25*dca9220cSSimon Glass call board_init_f_r 26*dca9220cSSimon Glass 27*dca9220cSSimon Glass /* Should not return here */ 28*dca9220cSSimon Glass jmp . 29