xref: /openbmc/u-boot/arch/x86/cpu/start64.S (revision dca9220c)
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