[PATCH] kexec jump: use add_segment_phys_virt()
Magnus Damm
magnus.damm at gmail.com
Wed Mar 18 02:07:01 EDT 2009
From: Magnus Damm <damm at igel.co.jp>
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 at igel.co.jp>
---
kexec/kexec.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
--- 0001/kexec/kexec.c
+++ work/kexec/kexec.c 2009-03-17 22:43:06.000000000 +0900
@@ -454,7 +454,8 @@ int add_backup_segments(struct kexec_inf
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;
More information about the kexec
mailing list