diff options
Diffstat (limited to 'kexec/arch')
-rw-r--r-- | kexec/arch/i386/kexec-x86-common.c | 3 | ||||
-rw-r--r-- | kexec/arch/i386/x86-linux-setup.c | 2 |
2 files changed, 2 insertions, 3 deletions
diff --git a/kexec/arch/i386/kexec-x86-common.c b/kexec/arch/i386/kexec-x86-common.c index e416177..bc622e9 100644 --- a/kexec/arch/i386/kexec-x86-common.c +++ b/kexec/arch/i386/kexec-x86-common.c @@ -79,7 +79,6 @@ static int get_memory_ranges_proc_iomem(struct memory_range **range, int *ranges if (count != 2) continue; str = line + consumed; - end = end + 1; dbgprintf("%016Lx-%016Lx : %s", start, end, str); @@ -188,7 +187,7 @@ static int get_memory_ranges_xen(struct memory_range **range, int *ranges) for (i = 0; i < rc; ++i) { memory_range[i].start = e820entries[i].addr; - memory_range[i].end = e820entries[i].addr + e820entries[i].size; + memory_range[i].end = e820entries[i].addr + e820entries[i].size - 1; memory_range[i].type = xen_e820_to_kexec_type(e820entries[i].type); } diff --git a/kexec/arch/i386/x86-linux-setup.c b/kexec/arch/i386/x86-linux-setup.c index 8ed36cc..9f8355f 100644 --- a/kexec/arch/i386/x86-linux-setup.c +++ b/kexec/arch/i386/x86-linux-setup.c @@ -784,7 +784,7 @@ void setup_linux_system_parameters(struct kexec_info *info, real_mode->e820_map_nr = ranges; for(i = 0; i < ranges; i++) { real_mode->e820_map[i].addr = range[i].start; - real_mode->e820_map[i].size = range[i].end - range[i].start; + real_mode->e820_map[i].size = range[i].end - range[i].start + 1; switch (range[i].type) { case RANGE_RAM: real_mode->e820_map[i].type = E820_RAM; |