aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/include/linux/kexec.h
diff options
context:
space:
mode:
authorBaoquan He <bhe@redhat.com>2014-10-13 15:53:40 -0700
committerLinus Torvalds <torvalds@linux-foundation.org>2014-10-14 02:18:21 +0200
commit669280a152ce5144321c0e511498877383f34393 (patch)
treed8eb93dc6e5ab9f3efcaede3375c55e066b44a51 /include/linux/kexec.h
parentarch/x86/purgatory/Makefile: try to use automatic variable in kexec purgatory makefile (diff)
downloadwireguard-linux-669280a152ce5144321c0e511498877383f34393.tar.xz
wireguard-linux-669280a152ce5144321c0e511498877383f34393.zip
kexec: take the segment adding out of locate_mem_hole functions
In locate_mem_hole functions, a memory hole is located and added as kexec_segment. But from the name of locate_mem_hole, it should only take responsibility of searching a available memory hole to contain data of a specified size. So in this patch add a new field 'mem' into kexec_buf, then take that kexec segment adding code out of locate_mem_hole_top_down and locate_mem_hole_bottom_up. This make clear of the functionality of locate_mem_hole just like it declars to do. And by this locate_mem_hole_callback chould be used later if anyone want to locate a memory hole for other use. Meanwhile Vivek suggested opening code function __kexec_add_segment(), that way we have to retreive ksegment pointer once and it is easy to read. So just do it in this patch and remove __kexec_add_segment() since no one use it anymore. Signed-off-by: Baoquan He <bhe@redhat.com> Acked-by: Vivek Goyal <vgoyal@redhat.com> Cc: Eric W. Biederman <ebiederm@xmission.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'include/linux/kexec.h')
-rw-r--r--include/linux/kexec.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/include/linux/kexec.h b/include/linux/kexec.h
index 4b2a0e11cc5b..9d957b7ae095 100644
--- a/include/linux/kexec.h
+++ b/include/linux/kexec.h
@@ -178,6 +178,7 @@ struct kexec_buf {
struct kimage *image;
char *buffer;
unsigned long bufsz;
+ unsigned long mem;
unsigned long memsz;
unsigned long buf_align;
unsigned long buf_min;