summaryrefslogtreecommitdiff
path: root/package/bigreqsproto
diff options
context:
space:
mode:
authorThorsten Glaser <tg@mirbsd.org>2011-01-06 00:21:46 +0000
committerWaldemar Brodkorb <wbx@openadk.org>2011-01-06 03:54:12 +0100
commit88d3e6d6c572143bd95a589a44e30bfefd616b88 (patch)
treefcacba01cf761b9ed3ccc9b2244ac326ae181fad /package/bigreqsproto
parent2ab8ae9946dd47a88089844e42140a83a0061758 (diff)
Add experimental code to self-relocate vmlinuz on e.g. brcm
This is needed for the following reason: our memory layout looks like this: | |vmlinux | |CFE| * | | | |vmlinuz | | ^ Since CFE can only load to the spot marked with ‘^’ anyway, we load vmlinub.elf there which is basically a big rodata blob containing vmlinuz and minimal code moving it to the location pointed with vmlinuz above. Another solution would be to use CFE’s “boot -raw” to place it on the location marked with ‘*’ above (but the CFE location and size are dynamic, and since it insists on loading to 0x80001000 anyway, this point is virtually moot). Even worse, we probably cannot overwrite CFE space even late, so we move vmlinuz like this: | |vmlinux | |CFE| |vmlinuz | | This way, both “Total memory used by CFE” and “Boot area (physical)” (the latter as mapped into KSEG0) are retained. Signed-off-by: Thorsten Glaser <tg@mirbsd.org>
Diffstat (limited to 'package/bigreqsproto')
0 files changed, 0 insertions, 0 deletions