diff options
author | Magnus Damm <damm@igel.co.jp> | 2009-03-18 15:07:01 +0900 |
---|---|---|
committer | Simon Horman <horms@verge.net.au> | 2009-03-18 19:38:55 +1100 |
commit | 0cd674d83b07bd5fd1bbd09d40bea2825e44d3d1 (patch) | |
tree | 91f706343476d7d3c7b838937ffe0db9380b332b /kexec/kexec.c | |
parent | 958704f7e56f5eefef2d6e13975258400d3fdbfd (diff) |
kexec jump: use add_segment_phys_virt()
Since /proc/iomem contains physical addresses, use
add_segment_phys_virt(xxx, 0) instead of add_segment()
in add_backup_segments().
This fix is needed for kexec jump on SuperH where
add_segment() only takes virtual addresses.
Signed-off-by: Magnus Damm <damm@igel.co.jp>
Signed-off-by: Simon Horman <horms@verge.net.au>
Diffstat (limited to 'kexec/kexec.c')
-rw-r--r-- | kexec/kexec.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/kexec/kexec.c b/kexec/kexec.c index c9e9125..ce105cd 100644 --- a/kexec/kexec.c +++ b/kexec/kexec.c @@ -454,7 +454,8 @@ int add_backup_segments(struct kexec_info *info, unsigned long backup_base, break; start = (bkseg_base + pagesize - 1) & ~(pagesize - 1); end = (bkseg_base + bkseg_size) & ~(pagesize - 1); - add_segment(info, NULL, 0, start, end-start); + add_segment_phys_virt(info, NULL, 0, + start, end-start, 0); mem_size = mem_base + mem_size - \ (bkseg_base + bkseg_size); mem_base = bkseg_base + bkseg_size; |