target/xtensa: xtfpga: load DTB only when FDT support is enabled

xtensa linux can use DTB but does not require it, so FDT support is not
a requirement for target/xtensa. Don't try to load DTB when FDT support
is not configured.

Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
This commit is contained in:
Max Filippov 2017-03-11 11:24:44 -08:00
parent dd4d257821
commit 0e80359e62

View File

@ -317,6 +317,7 @@ static void lx_init(const LxBoardDesc *board, MachineState *machine)
cur_tagptr = put_tag(cur_tagptr, BP_TAG_COMMAND_LINE, cur_tagptr = put_tag(cur_tagptr, BP_TAG_COMMAND_LINE,
strlen(kernel_cmdline) + 1, kernel_cmdline); strlen(kernel_cmdline) + 1, kernel_cmdline);
} }
#ifdef CONFIG_FDT
if (dtb_filename) { if (dtb_filename) {
int fdt_size; int fdt_size;
void *fdt = load_device_tree(dtb_filename, &fdt_size); void *fdt = load_device_tree(dtb_filename, &fdt_size);
@ -332,6 +333,14 @@ static void lx_init(const LxBoardDesc *board, MachineState *machine)
sizeof(dtb_addr), &dtb_addr); sizeof(dtb_addr), &dtb_addr);
cur_lowmem = QEMU_ALIGN_UP(cur_lowmem + fdt_size, 4096); cur_lowmem = QEMU_ALIGN_UP(cur_lowmem + fdt_size, 4096);
} }
#else
if (dtb_filename) {
error_report("could not load DTB '%s': "
"FDT support is not configured in QEMU",
dtb_filename);
exit(EXIT_FAILURE);
}
#endif
if (initrd_filename) { if (initrd_filename) {
BpMemInfo initrd_location = { 0 }; BpMemInfo initrd_location = { 0 };
int initrd_size = load_ramdisk(initrd_filename, cur_lowmem, int initrd_size = load_ramdisk(initrd_filename, cur_lowmem,