summaryrefslogtreecommitdiff
path: root/common/board_f.c
diff options
context:
space:
mode:
authorSimon Glass <sjg@chromium.org>2017-01-16 07:03:49 -0700
committerBin Meng <bmeng.cn@gmail.com>2017-02-06 11:38:46 +0800
commit530f27eab5df8bcebfb7cb20a342f97e297ec0e8 (patch)
tree16382539c364328410d68d96a911fa4df202d593 /common/board_f.c
parentdca9220c355612beeb5b78ff1c4be54d626fbb5b (diff)
x86: board_f: Update init sequence for 64-bit startup
Adjust the code so that 64-bit startup works. Since we don't need to do CAR changes in U-Boot proper anymore (they are done in SPL) we can simplify the flow and return normally from board_init_f(). Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
Diffstat (limited to 'common/board_f.c')
-rw-r--r--common/board_f.c10
1 files changed, 7 insertions, 3 deletions
diff --git a/common/board_f.c b/common/board_f.c
index 99c0b5ac78..88ecfe02db 100644
--- a/common/board_f.c
+++ b/common/board_f.c
@@ -768,7 +768,8 @@ static int setup_reloc(void)
}
/* ARM calls relocate_code from its crt0.S */
-#if !defined(CONFIG_ARM) && !defined(CONFIG_SANDBOX)
+#if !defined(CONFIG_ARM) && !defined(CONFIG_SANDBOX) && \
+ !CONFIG_IS_ENABLED(X86_64)
static int jump_to_copy(void)
{
@@ -1038,7 +1039,8 @@ static init_fnc_t init_sequence_f[] = {
#if defined(CONFIG_XTENSA)
clear_bss,
#endif
-#if !defined(CONFIG_ARM) && !defined(CONFIG_SANDBOX)
+#if !defined(CONFIG_ARM) && !defined(CONFIG_SANDBOX) && \
+ !CONFIG_IS_ENABLED(X86_64)
jump_to_copy,
#endif
NULL,
@@ -1072,7 +1074,7 @@ void board_init_f(ulong boot_flags)
hang();
#if !defined(CONFIG_ARM) && !defined(CONFIG_SANDBOX) && \
- !defined(CONFIG_EFI_APP)
+ !defined(CONFIG_EFI_APP) && !CONFIG_IS_ENABLED(X86_64)
/* NOTREACHED - jump_to_copy() does not return */
hang();
#endif
@@ -1097,7 +1099,9 @@ void board_init_f(ulong boot_flags)
* all archs will move to this when generic relocation is implemented.
*/
static init_fnc_t init_sequence_f_r[] = {
+#if !CONFIG_IS_ENABLED(X86_64)
init_cache_f_r,
+#endif
NULL,
};