diff options
author | Huang Ying <ying.huang@intel.com> | 2008-10-30 21:48:08 -0400 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2008-10-31 05:01:56 -0400 |
commit | 92be3d6bdf2cb34972ab50e12ad4da1076e690da (patch) | |
tree | 6ed10cb8a14615ca0bda48f64520c82480397d00 /include/linux | |
parent | 31498a01496ffca3b542bae72b8ec499cd9302db (diff) |
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')
-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 { | |||
100 | #define KEXEC_TYPE_DEFAULT 0 | 100 | #define KEXEC_TYPE_DEFAULT 0 |
101 | #define KEXEC_TYPE_CRASH 1 | 101 | #define KEXEC_TYPE_CRASH 1 |
102 | unsigned int preserve_context : 1; | 102 | unsigned int preserve_context : 1; |
103 | |||
104 | #ifdef ARCH_HAS_KIMAGE_ARCH | ||
105 | struct kimage_arch arch; | ||
106 | #endif | ||
103 | }; | 107 | }; |
104 | 108 | ||
105 | 109 | ||