summaryrefslogtreecommitdiff
path: root/target/linux/patches/2.6.36/zboot-brcm-reloc.patch
AgeCommit message (Collapse)Author
2011-01-06Add experimental code to self-relocate vmlinuz on e.g. brcmThorsten Glaser
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>
2011-01-06Revert "Add experimental code to self-relocate vmlinuz on e.g. brcm"Waldemar Brodkorb
This reverts commit f6897b395f6340132ab47a46fe587e8e6ced647a.
2011-01-06Add experimental code to self-relocate vmlinuz on e.g. brcmThorsten Glaser
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>
2011-01-06Revert "Add experimental code to self-relocate vmlinuz on e.g. brcm"Waldemar Brodkorb
This reverts commit 5bd743ad60b85f005235aac2435563b168e012e3.
2011-01-06Add experimental code to self-relocate vmlinuz on e.g. brcmThorsten Glaser
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). Signed-off-by: Thorsten Glaser <tg@mirbsd.org>
2011-01-06Revert "Add experimental code to self-relocate vmlinuz on e.g. brcm"Waldemar Brodkorb
This reverts commit 80d8381811821445bc47cd6e46f1eea423d9fce5.
2011-01-06Add experimental code to self-relocate vmlinuz on e.g. brcmThorsten Glaser
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). Signed-off-by: Thorsten Glaser <tg@mirbsd.org>