|
@@ -43,6 +43,8 @@
|
|
|
|
|
|
#include "boot.h"
|
|
|
|
|
|
+#include <libfdt.h>
|
|
|
+
|
|
|
#define NIOS2_MAGIC 0x534f494e
|
|
|
|
|
|
static struct nios2_boot_info {
|
|
@@ -81,6 +83,7 @@ static uint64_t translate_kernel_address(void *opaque, uint64_t addr)
|
|
|
static int nios2_load_dtb(struct nios2_boot_info bi, const uint32_t ramsize,
|
|
|
const char *kernel_cmdline, const char *dtb_filename)
|
|
|
{
|
|
|
+ MachineState *machine = MACHINE(qdev_get_machine());
|
|
|
int fdt_size;
|
|
|
void *fdt = NULL;
|
|
|
int r;
|
|
@@ -113,7 +116,10 @@ static int nios2_load_dtb(struct nios2_boot_info bi, const uint32_t ramsize,
|
|
|
}
|
|
|
|
|
|
cpu_physical_memory_write(bi.fdt, fdt, fdt_size);
|
|
|
- g_free(fdt);
|
|
|
+
|
|
|
+ /* Set machine->fdt for 'dumpdtb' QMP/HMP command */
|
|
|
+ machine->fdt = fdt;
|
|
|
+
|
|
|
return fdt_size;
|
|
|
}
|
|
|
|