summaryrefslogtreecommitdiff
path: root/kexec/kexec.c
diff options
context:
space:
mode:
authorMilton Miller <miltonm@bga.com>2009-01-02 15:04:45 -0600
committerSimon Horman <horms@verge.net.au>2009-01-16 09:41:05 +1100
commit4fcb65c9089c2c9d203402d549c4e11e44021542 (patch)
tree644adc8ee623f7c12ad0cf30a0b3513ed5283250 /kexec/kexec.c
parent79c650e757561b03163da73dfc367f702248ef98 (diff)
ppc64: segments may be reordered
Instead of fetching data from the segment array, remember the address when added and find the kernel text from the parsed elf header. While add_segment (and hence add_buffer) always adds to the end of the list of segments, it sorts the previous segments before each allocation. In some layouts, the device tree or initrd will fit in a hole below the the kernel. When that happens, the previus code mis-patches purgatory and the kexec fails. Signed-off-by: Milton Miller <miltonm@bga.com> Tested-by: M. Mohan Kumar <mohan@in.ibm.com> Signed-off-by: Simon Horman <horms@verge.net.au>
Diffstat (limited to 'kexec/kexec.c')
0 files changed, 0 insertions, 0 deletions