blob: a78a3316b6d64ccddff9024ba18088c5951e9bd8 [file] [log] [blame]
Tom Rini10e47792018-05-06 17:58:06 -04001/* SPDX-License-Identifier: GPL-2.0+ */
Simon Glass8157b332017-01-16 07:03:48 -07002/*
3 * 64-bit x86 Startup Code
4 *
5 * (C) Copyright 216 Google, Inc
6 * Written by Simon Glass <sjg@chromium.org>
Simon Glass8157b332017-01-16 07:03:48 -07007 */
8
9#include <config.h>
10
Alexander Graf94a10f22018-06-12 07:48:37 +020011.section .text.start
Simon Glass8157b332017-01-16 07:03:48 -070012.code64
13.globl _start
14.type _start, @function
15_start:
16 /* Set up memory using the existing stack */
17 mov %rsp, %rdi
18 call board_init_f_alloc_reserve
19 mov %rax, %rsp
20
21 call board_init_f_init_reserve
22
Bin Mengf92b3d72018-10-13 20:52:09 -070023 xor %rdi, %rdi
Simon Glass8157b332017-01-16 07:03:48 -070024 call board_init_f
25 call board_init_f_r
26
27 /* Should not return here */
28 jmp .