From 0cd674d83b07bd5fd1bbd09d40bea2825e44d3d1 Mon Sep 17 00:00:00 2001 From: Magnus Damm Date: Wed, 18 Mar 2009 15:07:01 +0900 Subject: 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 Signed-off-by: Simon Horman --- kexec/kexec.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'kexec') 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; -- cgit