diff options
author | Zhang Yanfei <zhangyanfei@cn.fujitsu.com> | 2013-01-11 16:57:20 +0800 |
---|---|---|
committer | Simon Horman <horms@verge.net.au> | 2013-01-30 13:15:21 +0900 |
commit | 348896c70439534a6cef78496036dea82a93c19b (patch) | |
tree | 6ce154b1e82de9b8444f4d8d1be9ed696451f898 /kexec/arch/i386/x86-linux-setup.c | |
parent | d722eba67e5c54645588df8e56b56d7722f29431 (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.c | 10 |
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; |