diff options
author | Huang Ying <ying.huang@intel.com> | 2008-10-31 09:48:08 +0800 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2008-10-31 10:01:56 +0100 |
commit | 92be3d6bdf2cb34972ab50e12ad4da1076e690da (patch) | |
tree | 6ed10cb8a14615ca0bda48f64520c82480397d00 /include/linux/kexec.h | |
parent | 31498a01496ffca3b542bae72b8ec499cd9302db (diff) | |
download | linux-stable-92be3d6bdf2cb34972ab50e12ad4da1076e690da.tar.gz linux-stable-92be3d6bdf2cb34972ab50e12ad4da1076e690da.tar.bz2 linux-stable-92be3d6bdf2cb34972ab50e12ad4da1076e690da.zip |
kexec/i386: allocate page table pages dynamically
Impact: save .text size when kexec is built in but not loaded
This patch adds an architecture specific struct kimage_arch into
struct kimage. The pointers to page table pages used by kexec are
added to struct kimage_arch. The page tables pages are dynamically
allocated in machine_kexec_prepare instead of statically from BSS
segment. This will save up to 20k memory when kexec image is not
loaded.
Signed-off-by: Huang Ying <ying.huang@intel.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'include/linux/kexec.h')
-rw-r--r-- | include/linux/kexec.h | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/include/linux/kexec.h b/include/linux/kexec.h index 17f76fc05173..adc34f2c6eff 100644 --- a/include/linux/kexec.h +++ b/include/linux/kexec.h @@ -100,6 +100,10 @@ struct kimage { #define KEXEC_TYPE_DEFAULT 0 #define KEXEC_TYPE_CRASH 1 unsigned int preserve_context : 1; + +#ifdef ARCH_HAS_KIMAGE_ARCH + struct kimage_arch arch; +#endif }; |