mirror of
https://github.com/brain-hackers/u-boot-brain
synced 2024-09-08 05:43:21 +09:00
![Bin Meng](/assets/img/avatar_default.png)
At present in arch_setup_gd() it calls printch(' ') at the end which has been a mystery for a long time as without such call the 64-bit U-Boot just does not boot at all. In fact this is due to the bug that board_init_f() was called with boot_flags not being set. Hence whatever value being there in the rdi register becomes the boot_flags if without such magic call. With a printch(' ') call the rdi register is initialized as 0x20 and this value seems to be sane enough for the whole boot process. Signed-off-by: Bin Meng <bmeng.cn@gmail.com> Reviewed-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
64 lines
925 B
C
64 lines
925 B
C
// SPDX-License-Identifier: GPL-2.0+
|
|
/*
|
|
* (C) Copyright 2016 Google, Inc
|
|
* Written by Simon Glass <sjg@chromium.org>
|
|
*/
|
|
|
|
#include <common.h>
|
|
#include <debug_uart.h>
|
|
|
|
/*
|
|
* Global declaration of gd.
|
|
*
|
|
* As we write to it before relocation we have to make sure it is not put into
|
|
* a .bss section which may overlap a .rela section. Initialization forces it
|
|
* into a .data section which cannot overlap any .rela section.
|
|
*/
|
|
struct global_data *global_data_ptr = (struct global_data *)~0;
|
|
|
|
void arch_setup_gd(gd_t *new_gd)
|
|
{
|
|
global_data_ptr = new_gd;
|
|
}
|
|
|
|
int cpu_has_64bit(void)
|
|
{
|
|
return true;
|
|
}
|
|
|
|
void enable_caches(void)
|
|
{
|
|
/* Not implemented */
|
|
}
|
|
|
|
void disable_caches(void)
|
|
{
|
|
/* Not implemented */
|
|
}
|
|
|
|
int dcache_status(void)
|
|
{
|
|
return true;
|
|
}
|
|
|
|
int x86_mp_init(void)
|
|
{
|
|
/* Not implemented */
|
|
return 0;
|
|
}
|
|
|
|
int misc_init_r(void)
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
int checkcpu(void)
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
int print_cpuinfo(void)
|
|
{
|
|
return 0;
|
|
}
|