root/trunk/patches/2.6.22/80-kexec-atags.patch
| Revision 896, 3.0 kB (checked in by mwester, 3 years ago) |
|---|
-
linux-2.6.22-rc5-armeb//arch/arm/kernel/setup.c
old new 23 23 #include <linux/cpu.h> 24 24 #include <linux/interrupt.h> 25 25 #include <linux/smp.h> 26 #include <linux/kexec.h> 26 27 27 28 #include <asm/cpu.h> 28 29 #include <asm/elf.h> … … 769 770 } 770 771 arch_initcall(customize_machine); 771 772 773 #ifdef CONFIG_KEXEC 774 775 /* Physical addr of where the boot params should be for this machine */ 776 extern unsigned long kexec_boot_params_address; 777 778 /* Physical addr of the buffer into which the boot params are copied */ 779 extern unsigned long kexec_boot_params_copy; 780 781 /* Pointer to the boot params buffer, for manipulation and display */ 782 unsigned long kexec_boot_params; 783 EXPORT_SYMBOL(kexec_boot_params); 784 785 /* The buffer itself - make sure it is sized correctly */ 786 static unsigned long kexec_boot_params_buf[(KEXEC_BOOT_PARAMS_SIZE + 3) / 4]; 787 788 #endif 789 772 790 void __init setup_arch(char **cmdline_p) 773 791 { 774 792 struct tag *tags = (struct tag *)&init_tags; … … 785 803 if (mdesc->boot_params) 786 804 tags = phys_to_virt(mdesc->boot_params); 787 805 806 #ifdef CONFIG_KEXEC 807 kexec_boot_params_address = mdesc->boot_params; 808 kexec_boot_params_copy = virt_to_phys(kexec_boot_params_buf); 809 kexec_boot_params = (unsigned long)kexec_boot_params_buf; 810 if (mdesc->boot_params) 811 memcpy((void *)kexec_boot_params, tags, KEXEC_BOOT_PARAMS_SIZE); 812 #endif 788 813 /* 789 814 * If we have the old style parameters, convert them to 790 815 * a tag list. -
linux-2.6.22-rc5-armeb//include/asm-arm/kexec.h
old new 14 14 15 15 #define KEXEC_ARCH KEXEC_ARCH_ARM 16 16 17 #define KEXEC_BOOT_PARAMS_SIZE 1536 18 17 19 #ifndef __ASSEMBLY__ 18 20 19 21 struct kimage;
Note: See TracBrowser for help on using the browser.
