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__ */ |
