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