[PATCH 0/2] Kexec_file: Load kernel at top of system ram

From: Baoquan He
Date: Wed Mar 21 2018 - 23:37:43 EST


The current kexec_file ignores kexec_buf.top_down value when call
arch_kexec_walk_mem() to allocate memory for loading kernel/initrd
stuffs. This is not supposed to be what kexec_buf.top_down is used
for.

In patch 0001, introduce a new function walk_system_ram_res_rev()
which is a variant of walk_system_ram_res(), walks through resources
of System RAM from top to down. And patch 0001 is picked from AKASHI's
patchset which adds arm64 kexec_file support. His next round of post
won't need walk_system_ram_res_rev any more, so I take it into this
patchset and use it in patch 0002.

In patch 0002, check kexec_buf.top_down in arch_kexec_walk_mem(),
if its value is 'true', call walk_system_ram_res_rev(). Otherwise
call walk_system_ram_res().

AKASHI Takahiro (1):
resource: add walk_system_ram_res_rev()

Baoquan He (1):
kexec_file: Load kernel at top of system RAM if required

include/linux/ioport.h | 3 +++
kernel/kexec_file.c | 2 ++
kernel/resource.c | 63 ++++++++++++++++++++++++++++++++++++++++++++++++++
3 files changed, 68 insertions(+)

--
2.13.6