diff options
Diffstat (limited to 'arch/x86/include/asm/kexec.h')
-rw-r--r-- | arch/x86/include/asm/kexec.h | 34 |
1 files changed, 13 insertions, 21 deletions
diff --git a/arch/x86/include/asm/kexec.h b/arch/x86/include/asm/kexec.h index c61d8b2ab8b9..317ff1703d0b 100644 --- a/arch/x86/include/asm/kexec.h +++ b/arch/x86/include/asm/kexec.h | |||
@@ -10,27 +10,12 @@ | |||
10 | #else | 10 | #else |
11 | # define PA_CONTROL_PAGE 0 | 11 | # define PA_CONTROL_PAGE 0 |
12 | # define VA_CONTROL_PAGE 1 | 12 | # define VA_CONTROL_PAGE 1 |
13 | # define PA_PGD 2 | 13 | # define PA_TABLE_PAGE 2 |
14 | # define VA_PGD 3 | 14 | # define PA_SWAP_PAGE 3 |
15 | # define PA_PUD_0 4 | 15 | # define PAGES_NR 4 |
16 | # define VA_PUD_0 5 | ||
17 | # define PA_PMD_0 6 | ||
18 | # define VA_PMD_0 7 | ||
19 | # define PA_PTE_0 8 | ||
20 | # define VA_PTE_0 9 | ||
21 | # define PA_PUD_1 10 | ||
22 | # define VA_PUD_1 11 | ||
23 | # define PA_PMD_1 12 | ||
24 | # define VA_PMD_1 13 | ||
25 | # define PA_PTE_1 14 | ||
26 | # define VA_PTE_1 15 | ||
27 | # define PA_TABLE_PAGE 16 | ||
28 | # define PAGES_NR 17 | ||
29 | #endif | 16 | #endif |
30 | 17 | ||
31 | #ifdef CONFIG_X86_32 | ||
32 | # define KEXEC_CONTROL_CODE_MAX_SIZE 2048 | 18 | # define KEXEC_CONTROL_CODE_MAX_SIZE 2048 |
33 | #endif | ||
34 | 19 | ||
35 | #ifndef __ASSEMBLY__ | 20 | #ifndef __ASSEMBLY__ |
36 | 21 | ||
@@ -151,15 +136,16 @@ relocate_kernel(unsigned long indirection_page, | |||
151 | unsigned int has_pae, | 136 | unsigned int has_pae, |
152 | unsigned int preserve_context); | 137 | unsigned int preserve_context); |
153 | #else | 138 | #else |
154 | NORET_TYPE void | 139 | unsigned long |
155 | relocate_kernel(unsigned long indirection_page, | 140 | relocate_kernel(unsigned long indirection_page, |
156 | unsigned long page_list, | 141 | unsigned long page_list, |
157 | unsigned long start_address) ATTRIB_NORET; | 142 | unsigned long start_address, |
143 | unsigned int preserve_context); | ||
158 | #endif | 144 | #endif |
159 | 145 | ||
160 | #ifdef CONFIG_X86_32 | ||
161 | #define ARCH_HAS_KIMAGE_ARCH | 146 | #define ARCH_HAS_KIMAGE_ARCH |
162 | 147 | ||
148 | #ifdef CONFIG_X86_32 | ||
163 | struct kimage_arch { | 149 | struct kimage_arch { |
164 | pgd_t *pgd; | 150 | pgd_t *pgd; |
165 | #ifdef CONFIG_X86_PAE | 151 | #ifdef CONFIG_X86_PAE |
@@ -169,6 +155,12 @@ struct kimage_arch { | |||
169 | pte_t *pte0; | 155 | pte_t *pte0; |
170 | pte_t *pte1; | 156 | pte_t *pte1; |
171 | }; | 157 | }; |
158 | #else | ||
159 | struct kimage_arch { | ||
160 | pud_t *pud; | ||
161 | pmd_t *pmd; | ||
162 | pte_t *pte; | ||
163 | }; | ||
172 | #endif | 164 | #endif |
173 | 165 | ||
174 | #endif /* __ASSEMBLY__ */ | 166 | #endif /* __ASSEMBLY__ */ |