diff options
Diffstat (limited to 'arch/x86/include')
| -rw-r--r-- | arch/x86/include/asm/kexec.h | 31 | ||||
| -rw-r--r-- | arch/x86/include/asm/reboot.h | 5 |
2 files changed, 21 insertions, 15 deletions
diff --git a/arch/x86/include/asm/kexec.h b/arch/x86/include/asm/kexec.h index a1f22771a15a..c61d8b2ab8b9 100644 --- a/arch/x86/include/asm/kexec.h +++ b/arch/x86/include/asm/kexec.h | |||
| @@ -5,21 +5,8 @@ | |||
| 5 | # define PA_CONTROL_PAGE 0 | 5 | # define PA_CONTROL_PAGE 0 |
| 6 | # define VA_CONTROL_PAGE 1 | 6 | # define VA_CONTROL_PAGE 1 |
| 7 | # define PA_PGD 2 | 7 | # define PA_PGD 2 |
| 8 | # define VA_PGD 3 | 8 | # define PA_SWAP_PAGE 3 |
| 9 | # define PA_PTE_0 4 | 9 | # define PAGES_NR 4 |
| 10 | # define VA_PTE_0 5 | ||
| 11 | # define PA_PTE_1 6 | ||
| 12 | # define VA_PTE_1 7 | ||
| 13 | # define PA_SWAP_PAGE 8 | ||
| 14 | # ifdef CONFIG_X86_PAE | ||
| 15 | # define PA_PMD_0 9 | ||
| 16 | # define VA_PMD_0 10 | ||
| 17 | # define PA_PMD_1 11 | ||
| 18 | # define VA_PMD_1 12 | ||
| 19 | # define PAGES_NR 13 | ||
| 20 | # else | ||
| 21 | # define PAGES_NR 9 | ||
| 22 | # endif | ||
| 23 | #else | 10 | #else |
| 24 | # define PA_CONTROL_PAGE 0 | 11 | # define PA_CONTROL_PAGE 0 |
| 25 | # define VA_CONTROL_PAGE 1 | 12 | # define VA_CONTROL_PAGE 1 |
| @@ -170,6 +157,20 @@ relocate_kernel(unsigned long indirection_page, | |||
| 170 | unsigned long start_address) ATTRIB_NORET; | 157 | unsigned long start_address) ATTRIB_NORET; |
| 171 | #endif | 158 | #endif |
| 172 | 159 | ||
| 160 | #ifdef CONFIG_X86_32 | ||
| 161 | #define ARCH_HAS_KIMAGE_ARCH | ||
| 162 | |||
| 163 | struct kimage_arch { | ||
| 164 | pgd_t *pgd; | ||
| 165 | #ifdef CONFIG_X86_PAE | ||
| 166 | pmd_t *pmd0; | ||
| 167 | pmd_t *pmd1; | ||
| 168 | #endif | ||
| 169 | pte_t *pte0; | ||
| 170 | pte_t *pte1; | ||
| 171 | }; | ||
| 172 | #endif | ||
| 173 | |||
| 173 | #endif /* __ASSEMBLY__ */ | 174 | #endif /* __ASSEMBLY__ */ |
| 174 | 175 | ||
| 175 | #endif /* _ASM_X86_KEXEC_H */ | 176 | #endif /* _ASM_X86_KEXEC_H */ |
diff --git a/arch/x86/include/asm/reboot.h b/arch/x86/include/asm/reboot.h index df7710354f85..562d4fd31ba8 100644 --- a/arch/x86/include/asm/reboot.h +++ b/arch/x86/include/asm/reboot.h | |||
| @@ -1,6 +1,8 @@ | |||
| 1 | #ifndef _ASM_X86_REBOOT_H | 1 | #ifndef _ASM_X86_REBOOT_H |
| 2 | #define _ASM_X86_REBOOT_H | 2 | #define _ASM_X86_REBOOT_H |
| 3 | 3 | ||
| 4 | #include <linux/kdebug.h> | ||
| 5 | |||
| 4 | struct pt_regs; | 6 | struct pt_regs; |
| 5 | 7 | ||
| 6 | struct machine_ops { | 8 | struct machine_ops { |
| @@ -18,4 +20,7 @@ void native_machine_crash_shutdown(struct pt_regs *regs); | |||
| 18 | void native_machine_shutdown(void); | 20 | void native_machine_shutdown(void); |
| 19 | void machine_real_restart(const unsigned char *code, int length); | 21 | void machine_real_restart(const unsigned char *code, int length); |
| 20 | 22 | ||
| 23 | typedef void (*nmi_shootdown_cb)(int, struct die_args*); | ||
| 24 | void nmi_shootdown_cpus(nmi_shootdown_cb callback); | ||
| 25 | |||
| 21 | #endif /* _ASM_X86_REBOOT_H */ | 26 | #endif /* _ASM_X86_REBOOT_H */ |
