qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH] Always load PowerPC kernel to KERNEL_LOAD_ADDR
@ 2009-01-25 11:54 Alexander Graf
  2009-01-25 14:19 ` Edgar E. Iglesias
  0 siblings, 1 reply; 6+ messages in thread
From: Alexander Graf @ 2009-01-25 11:54 UTC (permalink / raw)
  To: qemu-devel; +Cc: aurelien

Linux changed its physical address location in the elf header from
0xc0000000 to 0 on 2.6.25, causing later kernels to fail booting
with the -kernel option.

This patch assures that the lowest segment in the elf binary is loaded
to KERNEL_LOAD_ADDR, which is where the firmware expects it.

With this patch applied, I was able to successfully boot a 2.6.18 and
a 2.6.27 Linux kernel using the -kernel option.

Signed-off-by: Alexander Graf <agraf@suse.de>
---
 hw/ppc_oldworld.c |    4 +++-
 1 files changed, 3 insertions(+), 1 deletions(-)

diff --git a/hw/ppc_oldworld.c b/hw/ppc_oldworld.c
index 042a40f..f64884b 100644
--- a/hw/ppc_oldworld.c
+++ b/hw/ppc_oldworld.c
@@ -207,9 +207,11 @@ static void ppc_heathrow_init (ram_addr_t ram_size, int vga_ram_size,
     }
 
     if (linux_boot) {
+        uint64_t lowaddr = 0;
         kernel_base = KERNEL_LOAD_ADDR;
         /* now we can load the kernel */
-        kernel_size = load_elf(kernel_filename, kernel_base - 0xc0000000ULL,
+        load_elf(kernel_filename, 0, NULL, &lowaddr, NULL);
+        kernel_size = load_elf(kernel_filename, kernel_base - lowaddr,
                                NULL, NULL, NULL);
         if (kernel_size < 0)
             kernel_size = load_aout(kernel_filename, kernel_base,
-- 
1.6.0.2

^ permalink raw reply related	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2009-01-26 18:56 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-01-25 11:54 [Qemu-devel] [PATCH] Always load PowerPC kernel to KERNEL_LOAD_ADDR Alexander Graf
2009-01-25 14:19 ` Edgar E. Iglesias
2009-01-25 14:22   ` Alexander Graf
2009-01-25 14:36     ` Edgar E. Iglesias
2009-01-26 10:22     ` Aurelien Jarno
2009-01-26 10:28       ` Alexander Graf

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).