sel4: limit max relocation memory to 256M

relocation is required, to avoid overlapping phdr in the elf binaries, but
sel4 will fail to boot if bender relocates the images at the end of physical
memory. Limit the physical relocation address to a fixed 256M value, so that
sel4 will work.

Issue #2451
This commit is contained in:
Alexander Boettcher 2017-06-24 14:20:12 +02:00 committed by Christian Helmuth
parent 95329c82e2
commit 92db5d2c4e
3 changed files with 3 additions and 4 deletions

View File

@ -7,8 +7,7 @@ code respectively the download source of binaries are described below.
The 'bender' tool is part of the 'morbo' toolchain available under GPL.
The toolchain was obtained from https://github.com/TUD-OS/morbo.
For Genode the bender was modified so that binaries are only relocated up
to 2G physical. Relocation can be disabled by the commandline option
"norelocate".
to 2G physical. Additional, relocation can be limited to 256M for sel4.
The changes are available on the genode_bender branch of
https://github.com/alex-ab/morbo.git.

Binary file not shown.

View File

@ -52,7 +52,7 @@ proc run_boot_dir {binaries} {
puts $fh "timeout 0"
puts $fh "default 0"
puts $fh "\ntitle Genode on seL4"
puts $fh " kernel /boot/bender norelocate"
puts $fh " kernel /boot/bender phys_max=256M"
puts $fh " module /sel4 disable_iommu"
puts $fh " module /image.elf"
@ -71,7 +71,7 @@ proc run_boot_dir {binaries} {
# Generate pulsar config file
#
set fh [open "[run_dir]/config-52-54-00-12-34-56" "WRONLY CREAT TRUNC"]
puts $fh " exec /boot/bender norelocate"
puts $fh " exec /boot/bender phys_max=256M"
puts $fh " load /sel4 disable_iommu"
puts $fh " load /image.elf"
close $fh