kexec: Avoid overwriting the current pgd (V2, stubs)

This patch adds an architecture specific structure "struct kimage_arch" to 
struct kimage. This structure is filled in with members by the architecture
specific patches followed by this one.

Signed-off-by: Magnus Damm <[EMAIL PROTECTED]>
---

 Applies on top of 2.6.16 and 2.6.17-rc4.

 asm-i386/kexec.h    |    2 ++
 asm-powerpc/kexec.h |    2 ++
 asm-s390/kexec.h    |    2 ++
 asm-sh/kexec.h      |    2 ++
 asm-x86_64/kexec.h  |    2 ++
 linux/kexec.h       |    2 ++
 6 files changed, 12 insertions(+)

--- 0001/include/asm-i386/kexec.h
+++ work/include/asm-i386/kexec.h       2006-05-19 11:54:07.000000000 +0900
@@ -29,6 +29,8 @@
 
 #define MAX_NOTE_BYTES 1024
 
+struct kimage_arch {};
+
 /* CPU does not save ss and esp on stack if execution is already
  * running in kernel mode at the time of NMI occurrence. This code
  * fixes it.
--- 0001/include/asm-powerpc/kexec.h
+++ work/include/asm-powerpc/kexec.h    2006-05-18 11:13:13.000000000 +0900
@@ -108,6 +108,8 @@ static inline void crash_setup_regs(stru
 
 #define MAX_NOTE_BYTES 1024
 
+struct kimage_arch {};
+
 #ifdef __powerpc64__
 extern void kexec_smp_wait(void);      /* get and clear naca physid, wait for
                                          master to copy new code to 0 */
--- 0001/include/asm-s390/kexec.h
+++ work/include/asm-s390/kexec.h       2006-05-18 11:13:13.000000000 +0900
@@ -36,6 +36,8 @@
 
 #define MAX_NOTE_BYTES 1024
 
+struct kimage_arch {};
+
 /* Provide a dummy definition to avoid build failures. */
 static inline void crash_setup_regs(struct pt_regs *newregs,
                                        struct pt_regs *oldregs) { }
--- 0001/include/asm-sh/kexec.h
+++ work/include/asm-sh/kexec.h 2006-05-18 11:13:13.000000000 +0900
@@ -25,6 +25,8 @@
 
 #ifndef __ASSEMBLY__
 
+struct kimage_arch {};
+
 extern void machine_shutdown(void);
 extern void *crash_notes;
 
--- 0001/include/asm-x86_64/kexec.h
+++ work/include/asm-x86_64/kexec.h     2006-05-18 11:13:13.000000000 +0900
@@ -29,6 +29,8 @@
 
 #define MAX_NOTE_BYTES 1024
 
+struct kimage_arch {};
+
 /*
  * Saving the registers of the cpu on which panic occured in
  * crash_kexec to save a valid sp. The registers of other cpus
--- 0001/include/linux/kexec.h
+++ work/include/linux/kexec.h  2006-05-18 11:13:13.000000000 +0900
@@ -69,6 +69,8 @@ struct kimage {
        unsigned long start;
        struct page *control_code_page;
 
+       struct kimage_arch arch_data;
+
        unsigned long nr_segments;
        struct kexec_segment segment[KEXEC_SEGMENT_MAX];
 
_______________________________________________
fastboot mailing list
[email protected]
https://lists.osdl.org/mailman/listinfo/fastboot

Reply via email to