aboutsummaryrefslogtreecommitdiffstats
path: root/recipes/kexecboot/linux-kexecboot-2.6.24/80-kexec-atags.patch
diff options
context:
space:
mode:
Diffstat (limited to 'recipes/kexecboot/linux-kexecboot-2.6.24/80-kexec-atags.patch')
-rw-r--r--recipes/kexecboot/linux-kexecboot-2.6.24/80-kexec-atags.patch111
1 files changed, 0 insertions, 111 deletions
diff --git a/recipes/kexecboot/linux-kexecboot-2.6.24/80-kexec-atags.patch b/recipes/kexecboot/linux-kexecboot-2.6.24/80-kexec-atags.patch
deleted file mode 100644
index bf97f2105b..0000000000
--- a/recipes/kexecboot/linux-kexecboot-2.6.24/80-kexec-atags.patch
+++ /dev/null
@@ -1,111 +0,0 @@
---- linux-2.6.21.5/arch/arm/kernel/setup.c.orig 2007-06-30 16:39:38.000000000 -0500
-+++ linux-2.6.21.5/arch/arm/kernel/setup.c 2007-06-30 19:02:51.000000000 -0500
-@@ -23,6 +23,7 @@
- #include <linux/cpu.h>
- #include <linux/interrupt.h>
- #include <linux/smp.h>
-+#include <linux/kexec.h>
-
- #include <asm/cpu.h>
- #include <asm/elf.h>
-@@ -767,6 +768,23 @@
- }
- arch_initcall(customize_machine);
-
-+#ifdef CONFIG_KEXEC
-+
-+/* Physical addr of where the boot params should be for this machine */
-+extern unsigned long kexec_boot_params_address;
-+
-+/* Physical addr of the buffer into which the boot params are copied */
-+extern unsigned long kexec_boot_params_copy;
-+
-+/* Pointer to the boot params buffer, for manipulation and display */
-+unsigned long kexec_boot_params;
-+EXPORT_SYMBOL(kexec_boot_params);
-+
-+/* The buffer itself - make sure it is sized correctly */
-+static unsigned long kexec_boot_params_buf[(KEXEC_BOOT_PARAMS_SIZE + 3) / 4];
-+
-+#endif
-+
- void __init setup_arch(char **cmdline_p)
- {
- struct tag *tags = (struct tag *)&init_tags;
-@@ -783,6 +801,13 @@
- if (mdesc->boot_params)
- tags = phys_to_virt(mdesc->boot_params);
-
-+#ifdef CONFIG_KEXEC
-+ kexec_boot_params_address = mdesc->boot_params;
-+ kexec_boot_params_copy = virt_to_phys(kexec_boot_params_buf);
-+ kexec_boot_params = (unsigned long)kexec_boot_params_buf;
-+ if (mdesc->boot_params)
-+ memcpy((void *)kexec_boot_params, tags, KEXEC_BOOT_PARAMS_SIZE);
-+#endif
- /*
- * If we have the old style parameters, convert them to
- * a tag list.
---- linux-2.6.21.5/arch/arm/kernel/relocate_kernel.S.orig 2007-06-30 16:39:28.000000000 -0500
-+++ linux-2.6.21.5/arch/arm/kernel/relocate_kernel.S 2007-06-30 19:10:32.000000000 -0500
-@@ -7,6 +7,23 @@
- .globl relocate_new_kernel
- relocate_new_kernel:
-
-+ /* Move boot params back to where the kernel expects them */
-+
-+ ldr r0,kexec_boot_params_address
-+ teq r0,#0
-+ beq 8f
-+
-+ ldr r1,kexec_boot_params_copy
-+ mov r6,#KEXEC_BOOT_PARAMS_SIZE/4
-+7:
-+ ldr r5,[r1],#4
-+ str r5,[r0],#4
-+ subs r6,r6,#1
-+ bne 7b
-+
-+8:
-+ /* Boot params moved, now go on with the kernel */
-+
- ldr r0,kexec_indirection_page
- ldr r1,kexec_start_address
-
-@@ -50,7 +67,7 @@
- mov lr,r1
- mov r0,#0
- ldr r1,kexec_mach_type
-- mov r2,#0
-+ ldr r2,kexec_boot_params_address
- mov pc,lr
-
- .globl kexec_start_address
-@@ -65,6 +82,16 @@
- kexec_mach_type:
- .long 0x0
-
-+ /* phy addr where new kernel will expect to find boot params */
-+ .globl kexec_boot_params_address
-+kexec_boot_params_address:
-+ .long 0x0
-+
-+ /* phy addr where old kernel put a copy of orig boot params */
-+ .globl kexec_boot_params_copy
-+kexec_boot_params_copy:
-+ .long 0x0
-+
- relocate_new_kernel_end:
-
- .globl relocate_new_kernel_size
---- linux-2.6.21.5/include/asm-arm/kexec.h.orig 2007-06-30 16:41:17.000000000 -0500
-+++ linux-2.6.21.5/include/asm-arm/kexec.h 2007-06-30 19:11:22.000000000 -0500
-@@ -14,6 +14,8 @@
-
- #define KEXEC_ARCH KEXEC_ARCH_ARM
-
-+#define KEXEC_BOOT_PARAMS_SIZE 1536
-+
- #ifndef __ASSEMBLY__
-
- #define MAX_NOTE_BYTES 1024