Port-powerpc archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: kernel symbols
# Frank Wille 2007-01-14:
> Jachym Holecek wrote:
>
> >> I understand that ksyms_init() is called during system startup with the
> >> start- and end-address of the ELF file, containing the symbols. But
> >> making the loader transfer the whole ELF file into memory can't be the
> >> solution, because I have to clear the BSS space, which overwrites the
> >> symbols at the end of the file.
> >>
> >> How is it done on other PPC ports?
> >
> > Well, either the bootloader gives you the ELF image and ksyms_init() will
> > pick up the .symtab and .strtab sections, or you use
>
> Then the bootloader, which I have to write, loads the ELF image twice? First
> at the target address, to be able to start the kernel, and a second time just
> to pass it to ksyms_init()?
Nope, that would indeed be terrible waste :-). Load it just once and pass
the kernel enough info to lookup the symbol table (and make sure to advance
"end of kernel" pointer past it).
At a glance it seems
sys/arch/landisk/stand/boot/boot2.c Bootloader
sys/arch/landisk/landisk/machdep.c Kernel startup
[ sys/lib/libsa/loadfile_elf32.c How's the ELF loaded ]
give an example of what you want to do, though I'm not familiar with
that code so no warranties...
-- Jachym
Home |
Main Index |
Thread Index |
Old Index