]> git.baikalelectronics.ru Git - uboot.git/commit
x86: Fix the mystery of printch() during 64-bit boot
authorBin Meng <bmeng.cn@gmail.com>
Sun, 14 Oct 2018 03:52:09 +0000 (20:52 -0700)
committerBin Meng <bmeng.cn@gmail.com>
Mon, 22 Oct 2018 09:51:45 +0000 (17:51 +0800)
commit34561b3255ae1d9a0b68d7e36ceceff268cc16b0
treef2a79f25d6633ebc1a1d5387bd172db8437f95b1
parent8a18b78d639f560b91e2defafc8b962092ffc3bc
x86: Fix the mystery of printch() during 64-bit boot

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>
arch/x86/cpu/start64.S
arch/x86/cpu/x86_64/cpu.c