|
@@ -40,6 +40,8 @@
|
|
|
#include "sysemu/device_tree.h"
|
|
|
#include "sysemu/sysemu.h"
|
|
|
|
|
|
+#include <libfdt.h>
|
|
|
+
|
|
|
static const MemMapEntry spike_memmap[] = {
|
|
|
[SPIKE_MROM] = { 0x1000, 0xf000 },
|
|
|
[SPIKE_HTIF] = { 0x1000000, 0x1000 },
|
|
@@ -304,6 +306,10 @@ static void spike_board_init(MachineState *machine)
|
|
|
/* Compute the fdt load address in dram */
|
|
|
fdt_load_addr = riscv_load_fdt(memmap[SPIKE_DRAM].base,
|
|
|
machine->ram_size, s->fdt);
|
|
|
+
|
|
|
+ /* Set machine->fdt for 'dumpdtb' QMP/HMP command */
|
|
|
+ machine->fdt = s->fdt;
|
|
|
+
|
|
|
/* load the reset vector */
|
|
|
riscv_setup_rom_reset_vec(machine, &s->soc[0], memmap[SPIKE_DRAM].base,
|
|
|
memmap[SPIKE_MROM].base,
|