From: Aurelien Jarno <aurelien@aurel32.net>
To: Alexander Graf <agraf@suse.de>
Cc: qemu-devel@nongnu.org
Subject: Re: [Qemu-devel] [PATCH] Fix -kernel on target-ppc
Date: Sun, 25 Jan 2009 00:59:08 +0100 [thread overview]
Message-ID: <20090124235908.GE16336@volta.aurel32.net> (raw)
In-Reply-To: <ADE4931E-49EA-42CA-88E3-40B2F0F7A414@suse.de>
On Sat, Jan 24, 2009 at 10:57:19PM +0100, Alexander Graf wrote:
>
> On 24.01.2009, at 22:48, Aurelien Jarno wrote:
>
>> On Sat, Jan 24, 2009 at 09:58:35PM +0100, Alexander Graf wrote:
>>> OpenBIOS searches for the preloaded kernel at 0x1000000, so let's
>>> put it there instead of an invalid location.
>>
>> Your patch is actually wrong, the second argument of load_elf() is an
>> offset to the physical address (as found in the elf header), and not a
>> load address.
>>
>> By chance the physical address of a >= 2.6.25 kernel is 0x00000000, so
>> your patch works. But it will break supports for < 2.6.25 kernel as
>> their physical address is 0xc0000000. Not that they are only the
>> default
>> values, they can be changed in the .config file.
>
> Aah, that explains why :-).
>
>> I have already proposed a patch to use the virtual address of the elf
>> header as done by yaboot or quik, but I have been told it is actually
>> wrong.
>>
>> We have to find another way to load the elf file at a fixed address.
>
> Hm - can't we just give load_elf an override value for the base address?
>
> /* address_offset is hack for kernel images that are
> linked at the wrong physical address. */
> addr = ph->p_paddr + address_offset;
>
> cpu_physical_memory_write_rom(addr, data, mem_size);
>
> Just pass another variable here that overrides addr and doesn't
> calculate it?
Except that they can be more than one segment to load, so the last one
will overwrite the previous ones. The PowerPC kernels I have seen only
have one load segment, but I am not sure it is always the case.
--
Aurelien Jarno GPG: 1024D/F1BCDB73
aurelien@aurel32.net http://www.aurel32.net
next prev parent reply other threads:[~2009-01-24 23:59 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-01-24 20:58 [Qemu-devel] [PATCH] Fix -kernel on target-ppc Alexander Graf
2009-01-24 21:48 ` Aurelien Jarno
2009-01-24 21:57 ` Alexander Graf
2009-01-24 23:59 ` Aurelien Jarno [this message]
2009-01-25 0:28 ` Alexander Graf
2009-01-25 9:54 ` Aurelien Jarno
2009-01-25 10:03 ` Alexander Graf
2009-01-25 10:16 ` Edgar E. Iglesias
2009-01-25 10:24 ` Alexander Graf
2009-01-25 10:28 ` Alexander Graf
2009-01-25 10:50 ` Aurelien Jarno
2009-01-25 20:31 ` François Revol
2009-01-25 0:30 ` François Revol
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20090124235908.GE16336@volta.aurel32.net \
--to=aurelien@aurel32.net \
--cc=agraf@suse.de \
--cc=qemu-devel@nongnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.