aboutsummaryrefslogtreecommitdiffstats
path: root/arch/x86/include/asm/kexec.h
diff options
context:
space:
mode:
authorThomas Gleixner <tglx@linutronix.de>2009-03-23 09:50:03 -0400
committerThomas Gleixner <tglx@linutronix.de>2009-03-23 16:20:20 -0400
commit80c5520811d3805adcb15c570ea5e2d489fa5d0b (patch)
treeae797a7f4af39f80e77526533d06ac23b439f0ab /arch/x86/include/asm/kexec.h
parentb3e3b302cf6dc8d60b67f0e84d1fa5648889c038 (diff)
parent8c083f081d0014057901c68a0a3e0f8ca7ac8d23 (diff)
Merge branch 'cpus4096' into irq/threaded
Conflicts: arch/parisc/kernel/irq.c kernel/irq/handle.c Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
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 c61d8b2ab8b..317ff1703d0 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__ */