diff options
author | Simon Glass <sjg@chromium.org> | 2017-01-16 14:03:49 (GMT) |
---|---|---|
committer | Bin Meng <bmeng.cn@gmail.com> | 2017-02-06 03:38:46 (GMT) |
commit | 530f27eab5df8bcebfb7cb20a342f97e297ec0e8 (patch) | |
tree | 16382539c364328410d68d96a911fa4df202d593 | |
parent | dca9220c355612beeb5b78ff1c4be54d626fbb5b (diff) | |
download | u-boot-530f27eab5df8bcebfb7cb20a342f97e297ec0e8.tar.xz |
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>
-rw-r--r-- | common/board_f.c | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/common/board_f.c b/common/board_f.c index 99c0b5a..88ecfe0 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, }; |