summaryrefslogtreecommitdiff
path: root/kexec/arch/i386/x86-linux-setup.c
diff options
context:
space:
mode:
authorZhang Yanfei <zhangyanfei@cn.fujitsu.com>2013-01-11 16:57:20 +0800
committerSimon Horman <horms@verge.net.au>2013-01-30 13:15:21 +0900
commit348896c70439534a6cef78496036dea82a93c19b (patch)
tree6ce154b1e82de9b8444f4d8d1be9ed696451f898 /kexec/arch/i386/x86-linux-setup.c
parentd722eba67e5c54645588df8e56b56d7722f29431 (diff)
kexec,x86: remove duplicate get_memory_ranges
At first, we have already filled the kexec_info.memory_ranges by calling my_load() -> get_memory_ranges(). So if we want to get the memory information, we could just use the existing one instead of calling get_memory_ranges again. Signed-off-by: Zhang Yanfei <zhangyanfei@cn.fujitsu.com> Signed-off-by: Simon Horman <horms@verge.net.au>
Diffstat (limited to 'kexec/arch/i386/x86-linux-setup.c')
-rw-r--r--kexec/arch/i386/x86-linux-setup.c10
1 files changed, 4 insertions, 6 deletions
diff --git a/kexec/arch/i386/x86-linux-setup.c b/kexec/arch/i386/x86-linux-setup.c
index b7ab8ea..ef62553 100644
--- a/kexec/arch/i386/x86-linux-setup.c
+++ b/kexec/arch/i386/x86-linux-setup.c
@@ -441,8 +441,8 @@ close:
close(data_file);
}
-void setup_linux_system_parameters(struct x86_linux_param_header *real_mode,
- unsigned long kexec_flags)
+void setup_linux_system_parameters(struct kexec_info *info,
+ struct x86_linux_param_header *real_mode)
{
/* Fill in information the BIOS would usually provide */
struct memory_range *range;
@@ -486,10 +486,8 @@ void setup_linux_system_parameters(struct x86_linux_param_header *real_mode,
/* another safe default */
real_mode->aux_device_info = 0;
- /* Fill in the memory info */
- if ((get_memory_ranges(&range, &ranges, kexec_flags) < 0) || ranges == 0) {
- die("Cannot get memory information\n");
- }
+ range = info->memory_range;
+ ranges = info->memory_ranges;
if (ranges > E820MAX) {
fprintf(stderr, "Too many memory ranges, truncating...\n");
ranges = E820MAX;