From 4b0c7aa3647d8d273395ff1e6176850e61f2d331 Mon Sep 17 00:00:00 2001 From: "Edgar E. Iglesias" Date: Wed, 3 Jun 2009 21:54:31 +0200 Subject: [PATCH] microblaze: Fix loading of petalogix s3adsp1800 dtb. Provide a petalogix-s3adsp1800.dtb blob. Correct loading of the petalogix dtb. Signed-off-by: Edgar E. Iglesias --- Makefile | 2 +- hw/petalogix_s3adsp1800_mmu.c | 20 +++++++++++--------- pc-bios/petalogix-s3adsp1800.dtb | Bin 0 -> 8259 bytes 3 files changed, 12 insertions(+), 10 deletions(-) create mode 100644 pc-bios/petalogix-s3adsp1800.dtb diff --git a/Makefile b/Makefile index d7b99859dd..601a97df2e 100644 --- a/Makefile +++ b/Makefile @@ -271,7 +271,7 @@ ifdef INSTALL_BLOBS BLOBS=bios.bin vgabios.bin vgabios-cirrus.bin ppc_rom.bin \ video.x openbios-sparc32 openbios-sparc64 openbios-ppc \ pxe-ne2k_pci.bin pxe-rtl8139.bin pxe-pcnet.bin pxe-e1000.bin \ -bamboo.dtb +bamboo.dtb petalogix-s3adsp1800.dtb else BLOBS= endif diff --git a/hw/petalogix_s3adsp1800_mmu.c b/hw/petalogix_s3adsp1800_mmu.c index 80097df818..9ccd12b9d7 100644 --- a/hw/petalogix_s3adsp1800_mmu.c +++ b/hw/petalogix_s3adsp1800_mmu.c @@ -54,22 +54,20 @@ static int petalogix_load_device_tree(target_phys_addr_t addr, { #ifdef HAVE_FDT void *fdt; - char *path = NULL; - int pathlen; int r; #endif + char *path; int fdt_size; #ifdef HAVE_FDT /* Try the local "mb.dtb" override. */ fdt = load_device_tree("mb.dtb", &fdt_size); if (!fdt) { - pathlen = snprintf(NULL, 0, "%s/%s", - bios_dir, BINARY_DEVICE_TREE_FILE) + 1; - path = qemu_malloc(pathlen); - snprintf(path, pathlen, "%s/%s", bios_dir, BINARY_DEVICE_TREE_FILE); - fdt = load_device_tree(BINARY_DEVICE_TREE_FILE, &fdt_size); - free(path); + path = qemu_find_file(QEMU_FILE_TYPE_BIOS, BINARY_DEVICE_TREE_FILE); + if (path) { + fdt = load_device_tree(path, &fdt_size); + qemu_free(path); + } if (!fdt) return 0; } @@ -83,7 +81,11 @@ static int petalogix_load_device_tree(target_phys_addr_t addr, to the kernel. */ fdt_size = load_image_targphys("mb.dtb", addr, 0x10000); if (fdt_size < 0) { - fdt_size = load_image_targphys(BINARY_DEVICE_TREE_FILE, addr, 0x10000); + path = qemu_find_file(QEMU_FILE_TYPE_BIOS, BINARY_DEVICE_TREE_FILE); + if (path) { + fdt_size = load_image_targphys(path, addr, 0x10000); + qemu_free(path); + } } if (kernel_cmdline) { diff --git a/pc-bios/petalogix-s3adsp1800.dtb b/pc-bios/petalogix-s3adsp1800.dtb new file mode 100644 index 0000000000000000000000000000000000000000..93c5973fd81244268aace6e5e6006ad6fb4d6199 GIT binary patch literal 8259 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