[okl4-developer] l4test linking
Frank Kaiser
frank.kaiser at opensynergy.com
Mon Oct 6 19:42:05 EST 2008
Hi, Thomas
You can change the kernel heap size set up statically by the build
system in the kernel's SConscript file. In the function call 'weaver =
env.WeaverKernel(...)' add a parameter 'heap = ...'. This should change
the heap size to the new value. In an IGUANA build it will affect the
location of the 'bootinfo' section in the ELF file, maybe in an L4TEST
build, too. In ARM images the kernel heap starts at the 2nd 1MB block
(if it is >= 1MB), while the 'bootinfo' section is the last allocated
segment.
Regards
Frank
> -----Original Message-----
> From: developer-bounces at okl4.org [mailto:developer-bounces at okl4.org]
On Behalf
> Of Tomas Hruby
> Sent: Tuesday, September 30, 2008 7:19 AM
> To: OKL4-devel
> Subject: Re: [okl4-developer] l4test linking
>
> > Second, I am linking the boot image so that the load address is
> > 0x400000 and everything else is under 0x700000. Usualy bootinfo is
> > placed at a 8k aligned address just behind l4test.bss, e.g.
0x6fc000.
> > However in certain cases the bootinfo is placed at 0xc00000 instead
of
> > 0x6fe000 which is the first available 8k aligned address.
>
> Well as you can see in the map bellow, 0x6fe000 is not available. And
> is quite clear why is bootinfo at the end :(
>
> Anyway, it seems like the easiest solution to my problem is to set
> heap size for both kernel and rootprogram to 0x1 and set it during
> boottime sicen I am changing the kernel heap size and patching some
> other addresses in boottime anyway.
>
> So the question is how to pass this info to the build system?
>
> VIRTUAL:
> <00400000:0043c363> /kernel/rwx
> <100000000:10004799f> /rootprogram/rx
> <100148000:1001fc057> /rootprogram/rw
> <2000000000:2000000637> /rootprogram/environment
> <2000002000:2000002fff> /rootprogram/main/stack
> <2000004000:2000005fff> /bootinfo
> <2000100000:20001fffff> /rootprogram/heap
> PHYSICAL:
> <00400000:0043c363> /kernel/rwx
> <0043e000:0043e637> /rootprogram/environment
> <00440000:005fffff> /kernel_array
> <00600000:0064799f> /rootprogram/rx
> <00648000:006fc057> /rootprogram/rw
> <006fe000:006fefff> /rootprogram/main/stack
> <00700000:007fffff> /rootprogram/heap
> <00800000:00bfffff> /kernel_heap
> <00c00000:00c01fff> /bootinfo
>
> Cheers, T.
>
> _______________________________________________
> Developer mailing list
> Developer at okl4.org
> https://lists.okl4.org/mailman/listinfo/developer
More information about the Developer
mailing list