[PATCH 0/7] Allow booting a 32-bit system with a top memory address beyond 4 GiB
Bin Meng
bmeng.cn at gmail.com
Thu Jan 21 16:00:08 CET 2021
When testing QEMU RISC-V 'virt' machine with a 2 GiB memory
configuration, it was discovered gd->ram_top is assigned to
value zero in setup_dest_addr().
While 2 GiB QEMU RISC-V 'virt' happens to work with U-Boot today,
increasing more memory doesn't make a bootable system. There are
various places in U-Boot that prevents such from working.
While this is seen and tested on RISC-V, it's not RISC-V centric,
but a generic issue that may affect all architectures.
Bin Meng (7):
riscv: Adjust board_get_usable_ram_top() for 32-bit
global_data.h: Change ram_top type to phys_addr_t
serial: sifive: Cast dev_read_addr() with uintptr_t
fdtdec: Cast prior_stage_fdt_address with uintptr_t
riscv: Change phys_addr_t and phys_size_t to 64-bit
bdinfo: Rename function names to be clearer
bdinfo: Change to use bdinfo_print_num_ll() where the number could be
64-bit
arch/arm/lib/bdinfo.c | 16 +++++-----
arch/m68k/lib/bdinfo.c | 2 +-
arch/powerpc/lib/bdinfo.c | 4 +--
arch/riscv/cpu/fu540/dram.c | 7 ++---
arch/riscv/cpu/generic/dram.c | 7 ++---
arch/riscv/include/asm/types.h | 4 +--
cmd/bdinfo.c | 52 +++++++++++++++----------------
drivers/serial/serial_sifive.c | 2 +-
include/asm-generic/global_data.h | 2 +-
include/init.h | 3 +-
lib/fdtdec.c | 2 +-
11 files changed, 50 insertions(+), 51 deletions(-)
--
2.25.1
More information about the U-Boot
mailing list