From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1Lry5H-0004Je-Kp for qemu-devel@nongnu.org; Thu, 09 Apr 2009 13:30:39 -0400 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1Lry5G-0004IF-Gs for qemu-devel@nongnu.org; Thu, 09 Apr 2009 13:30:39 -0400 Received: from [199.232.76.173] (port=54621 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1Lry5G-0004Hy-CW for qemu-devel@nongnu.org; Thu, 09 Apr 2009 13:30:38 -0400 Received: from savannah.gnu.org ([199.232.41.3]:57339 helo=sv.gnu.org) by monty-python.gnu.org with esmtps (TLS-1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.60) (envelope-from ) id 1Lry5G-0003hR-5O for qemu-devel@nongnu.org; Thu, 09 Apr 2009 13:30:38 -0400 Received: from cvs.savannah.gnu.org ([199.232.41.69]) by sv.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1Lry5E-0006Xx-Hb for qemu-devel@nongnu.org; Thu, 09 Apr 2009 17:30:36 +0000 Received: from pbrook by cvs.savannah.gnu.org with local (Exim 4.69) (envelope-from ) id 1Lry5D-0006WK-1j for qemu-devel@nongnu.org; Thu, 09 Apr 2009 17:30:35 +0000 MIME-Version: 1.0 Errors-To: pbrook Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit From: Paul Brook Message-Id: Date: Thu, 09 Apr 2009 17:30:35 +0000 Subject: [Qemu-devel] [7054] Use load_image_targphys. Reply-To: qemu-devel@nongnu.org List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Revision: 7054 http://svn.sv.gnu.org/viewvc/?view=rev&root=qemu&revision=7054 Author: pbrook Date: 2009-04-09 17:30:32 +0000 (Thu, 09 Apr 2009) Log Message: ----------- Use load_image_targphys. Signed-off-by: Paul Brook Modified Paths: -------------- trunk/hw/arm_boot.c Modified: trunk/hw/arm_boot.c =================================================================== --- trunk/hw/arm_boot.c 2009-04-09 17:19:47 UTC (rev 7053) +++ trunk/hw/arm_boot.c 2009-04-09 17:30:32 UTC (rev 7054) @@ -192,8 +192,6 @@ int is_linux = 0; uint64_t elf_entry; target_ulong entry; - uint32_t pd; - void *loader_phys; /* Load the kernel. */ if (!info->kernel_filename) { @@ -208,11 +206,6 @@ qemu_register_reset(main_cpu_reset, env); } - /* FIXME: We should make load_image take a guest physical address. */ - pd = cpu_get_physical_page_desc(info->loader_start); - loader_phys = phys_ram_base + (pd & TARGET_PAGE_MASK) + - (info->loader_start & ~TARGET_PAGE_MASK); - /* Assume that raw images are linux kernels, and ELF images are not. */ kernel_size = load_elf(info->kernel_filename, 0, &elf_entry, NULL, NULL); entry = elf_entry; @@ -221,9 +214,9 @@ &is_linux); } if (kernel_size < 0) { - kernel_size = load_image(info->kernel_filename, - loader_phys + KERNEL_LOAD_ADDR); entry = info->loader_start + KERNEL_LOAD_ADDR; + kernel_size = load_image_targphys(info->kernel_filename, entry, + ram_size - KERNEL_LOAD_ADDR); is_linux = 1; } if (kernel_size < 0) { @@ -237,8 +230,10 @@ env->thumb = entry & 1; } else { if (info->initrd_filename) { - initrd_size = load_image(info->initrd_filename, - loader_phys + INITRD_LOAD_ADDR); + initrd_size = load_image_targphys(info->initrd_filename, + info->loader_start + + INITRD_LOAD_ADDR, + ram_size - INITRD_LOAD_ADDR); if (initrd_size < 0) { fprintf(stderr, "qemu: could not load initrd '%s'\n", info->initrd_filename);