This is the mail archive of the
ecos-discuss@sources.redhat.com
mailing list for the eCos project.
Re: redboot elf loader
>>>>> Gary Thomas writes:
> On Mon, 2003-09-29 at 08:17, Mark Salter wrote:
>> >>>>> Gary Thomas writes:
>>
>> > On Mon, 2003-09-29 at 08:00, Mark Salter wrote:
>> >> >>>>> Gary Thomas writes:
>> >>
>> >> > I'd suggest that you leave this to your startup code. Have it copy the
>> >> > data from the VMA to the LMA - that's how we handle it in eCos.
>> >>
>> >> Actually, we copy LMA to VMA. That is, for ROM startup the .data section
>> >> has a VMA in RAM and an LMA in ROM. I tend to believe that the ELF loader
>> >> should indeed be using LMA addresses.
>> >>
>>
>> > How could this work for this example - loading via LMA into memory
>> > that RedBoot clearly needs while running?
>>
>> If that is the case, then the example is broken. My reading was that
>> the VMA was 0x0 and LMA was somewhere where the other parts of the
>> program lives. My point is that the LMA is where a loader should put
>> sections (Load Memory Address) and VMA is where the running program
>> actually accesses the sections.
>>
> Agreed, and if LMA != VMA, then it would be up to the code (loaded
> program) to relocate it as appropriate. So, the real question becomes
> is the LMA stored in the p_paddr field (just making sure I understand
> the terminology)? If so, then the patch from Artur would be the correct
> solution.
Yes, VMA == p_vaddr and LMA == p_paddr.
--Mark
--
Before posting, please read the FAQ: http://sources.redhat.com/fom/ecos
and search the list archive: http://sources.redhat.com/ml/ecos-discuss