]> git.karo-electronics.de Git - karo-tx-linux.git/blobdiff - include/asm-i386/kexec.h
[PATCH] i386: Update __copy_to_user_inatomic linuxdoc description
[karo-tx-linux.git] / include / asm-i386 / kexec.h
index 53f0e06672dc1487c8ca22aff551e6ce111edcb6..c5b4ab95bdc2dde37a18b0e94dfcf889924eacca 100644 (file)
@@ -1,7 +1,26 @@
 #ifndef _I386_KEXEC_H
 #define _I386_KEXEC_H
 
-#include <asm/fixmap.h>
+#define PA_CONTROL_PAGE  0
+#define VA_CONTROL_PAGE  1
+#define PA_PGD           2
+#define VA_PGD           3
+#define PA_PTE_0         4
+#define VA_PTE_0         5
+#define PA_PTE_1         6
+#define VA_PTE_1         7
+#ifdef CONFIG_X86_PAE
+#define PA_PMD_0         8
+#define VA_PMD_0         9
+#define PA_PMD_1         10
+#define VA_PMD_1         11
+#define PAGES_NR         12
+#else
+#define PAGES_NR         8
+#endif
+
+#ifndef __ASSEMBLY__
+
 #include <asm/ptrace.h>
 #include <asm/string.h>
 
@@ -9,10 +28,6 @@
  * KEXEC_SOURCE_MEMORY_LIMIT maximum page get_free_page can return.
  * I.e. Maximum page that is mapped directly into kernel memory,
  * and kmap is not required.
- *
- * Someone correct me if FIXADDR_START - PAGEOFFSET is not the correct
- * calculation for the amount of memory directly mappable into the
- * kernel memory space.
  */
 
 /* Maximum physical address we can use pages from */
@@ -72,5 +87,12 @@ static inline void crash_setup_regs(struct pt_regs *newregs,
                newregs->eip = (unsigned long)current_text_addr();
        }
 }
+asmlinkage NORET_TYPE void
+relocate_kernel(unsigned long indirection_page,
+               unsigned long control_page,
+               unsigned long start_address,
+               unsigned int has_pae) ATTRIB_NORET;
+
+#endif /* __ASSEMBLY__ */
 
 #endif /* _I386_KEXEC_H */