mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-03 07:43:54 -06:00
hw/riscv: More flexible FDT placement for MPFS
If the kernel entry is in the high DRAM area, place the FDT into this area. Signed-off-by: Sebastian Huber <sebastian.huber@embedded-brains.de> Reviewed-by: Alistair Francis <alistair.francis@wdc.com> Message-ID: <20250319061342.26435-3-sebastian.huber@embedded-brains.de> Signed-off-by: Alistair Francis <alistair.francis@wdc.com>
This commit is contained in:
parent
4c1a39eebc
commit
cae44a92ab
1 changed files with 9 additions and 2 deletions
|
@ -626,8 +626,15 @@ static void microchip_icicle_kit_machine_init(MachineState *machine)
|
|||
kernel_entry = boot_info.image_low_addr;
|
||||
|
||||
/* Compute the fdt load address in dram */
|
||||
fdt_load_addr = riscv_compute_fdt_addr(memmap[MICROCHIP_PFSOC_DRAM_LO].base,
|
||||
memmap[MICROCHIP_PFSOC_DRAM_LO].size,
|
||||
hwaddr kernel_ram_base = memmap[MICROCHIP_PFSOC_DRAM_LO].base;
|
||||
hwaddr kernel_ram_size = memmap[MICROCHIP_PFSOC_DRAM_LO].size;
|
||||
|
||||
if (kernel_entry - kernel_ram_base >= kernel_ram_size) {
|
||||
kernel_ram_base = memmap[MICROCHIP_PFSOC_DRAM_HI].base;
|
||||
kernel_ram_size = mem_high_size;
|
||||
}
|
||||
|
||||
fdt_load_addr = riscv_compute_fdt_addr(kernel_ram_base, kernel_ram_size,
|
||||
machine, &boot_info);
|
||||
riscv_load_fdt(fdt_load_addr, machine->fdt);
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue