From: Edgar E. Iglesias Date: Fri, 30 Jul 2010 22:50:17 +0000 (+0200) Subject: xilinx-s3adsp: Add support for loading u-boot images. X-Git-Tag: xen-15-06-02~7165 X-Git-Url: http://xenbits.xensource.com/gitweb?a=commitdiff_plain;h=872a91b49f4d6220fd0ca5f8084b24e621139c7a;p=people%2Fsstabellini%2Fqemu-dm.git%2F.git xilinx-s3adsp: Add support for loading u-boot images. Signed-off-by: Edgar E. Iglesias --- diff --git a/hw/petalogix_s3adsp1800_mmu.c b/hw/petalogix_s3adsp1800_mmu.c index cd043d3713..fcbb825d71 100644 --- a/hw/petalogix_s3adsp1800_mmu.c +++ b/hw/petalogix_s3adsp1800_mmu.c @@ -179,8 +179,18 @@ petalogix_s3adsp1800_init(ram_addr_t ram_size, } /* Always boot into physical ram. */ boot_info.bootstrap_pc = ddr_base + (entry & 0x0fffffff); + + /* If it wasn't an ELF image, try an u-boot image. */ + if (kernel_size < 0) { + target_phys_addr_t uentry, loadaddr; + + kernel_size = load_uimage(kernel_filename, &uentry, &loadaddr, 0); + boot_info.bootstrap_pc = uentry; + high = (loadaddr + kernel_size + 3) & ~3; + } + + /* Not an ELF image nor an u-boot image, try a RAW image. */ if (kernel_size < 0) { - /* If we failed loading ELF's try a raw image. */ kernel_size = load_image_targphys(kernel_filename, ddr_base, ram_size); boot_info.bootstrap_pc = ddr_base;