aboutsummaryrefslogtreecommitdiffstats
path: root/arch/x86/include/asm/kexec.h
diff options
context:
space:
mode:
Diffstat (limited to 'arch/x86/include/asm/kexec.h')
-rw-r--r--arch/x86/include/asm/kexec.h34
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
154NORET_TYPE void 139unsigned long
155relocate_kernel(unsigned long indirection_page, 140relocate_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
163struct kimage_arch { 149struct 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
159struct 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__ */