aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--arch/i386/Kconfig41
-rw-r--r--include/asm-i386/boot.h3
2 files changed, 43 insertions, 1 deletions
diff --git a/arch/i386/Kconfig b/arch/i386/Kconfig
index 0d67a0a1151e..0dfee812811a 100644
--- a/arch/i386/Kconfig
+++ b/arch/i386/Kconfig
@@ -777,6 +777,47 @@ config CRASH_DUMP
777 PHYSICAL_START. 777 PHYSICAL_START.
778 For more details see Documentation/kdump/kdump.txt 778 For more details see Documentation/kdump/kdump.txt
779 779
780config PHYSICAL_START
781 hex "Physical address where the kernel is loaded" if (EMBEDDED || CRASH_DUMP)
782 default "0x100000"
783 help
784 This gives the physical address where the kernel is loaded.
785
786 If kernel is a not relocatable (CONFIG_RELOCATABLE=n) then
787 bzImage will decompress itself to above physical address and
788 run from there. Otherwise, bzImage will run from the address where
789 it has been loaded by the boot loader and will ignore above physical
790 address.
791
792 In normal kdump cases one does not have to set/change this option
793 as now bzImage can be compiled as a completely relocatable image
794 (CONFIG_RELOCATABLE=y) and be used to load and run from a different
795 address. This option is mainly useful for the folks who don't want
796 to use a bzImage for capturing the crash dump and want to use a
797 vmlinux instead. vmlinux is not relocatable hence a kernel needs
798 to be specifically compiled to run from a specific memory area
799 (normally a reserved region) and this option comes handy.
800
801 So if you are using bzImage for capturing the crash dump, leave
802 the value here unchanged to 0x100000 and set CONFIG_RELOCATABLE=y.
803 Otherwise if you plan to use vmlinux for capturing the crash dump
804 change this value to start of the reserved region (Typically 16MB
805 0x1000000). In other words, it can be set based on the "X" value as
806 specified in the "crashkernel=YM@XM" command line boot parameter
807 passed to the panic-ed kernel. Typically this parameter is set as
808 crashkernel=64M@16M. Please take a look at
809 Documentation/kdump/kdump.txt for more details about crash dumps.
810
811 Usage of bzImage for capturing the crash dump is recommended as
812 one does not have to build two kernels. Same kernel can be used
813 as production kernel and capture kernel. Above option should have
814 gone away after relocatable bzImage support is introduced. But it
815 is present because there are users out there who continue to use
816 vmlinux for dump capture. This option should go away down the
817 line.
818
819 Don't change this unless you know what you are doing.
820
780config RELOCATABLE 821config RELOCATABLE
781 bool "Build a relocatable kernel(EXPERIMENTAL)" 822 bool "Build a relocatable kernel(EXPERIMENTAL)"
782 depends on EXPERIMENTAL 823 depends on EXPERIMENTAL
diff --git a/include/asm-i386/boot.h b/include/asm-i386/boot.h
index 8ce79a6fa891..e7686d0a8413 100644
--- a/include/asm-i386/boot.h
+++ b/include/asm-i386/boot.h
@@ -13,7 +13,8 @@
13#define ASK_VGA 0xfffd /* ask for it at bootup */ 13#define ASK_VGA 0xfffd /* ask for it at bootup */
14 14
15/* Physical address where kenrel should be loaded. */ 15/* Physical address where kenrel should be loaded. */
16#define LOAD_PHYSICAL_ADDR ((0x100000 + CONFIG_PHYSICAL_ALIGN - 1) \ 16#define LOAD_PHYSICAL_ADDR ((CONFIG_PHYSICAL_START \
17 + (CONFIG_PHYSICAL_ALIGN - 1)) \
17 & ~(CONFIG_PHYSICAL_ALIGN - 1)) 18 & ~(CONFIG_PHYSICAL_ALIGN - 1))
18 19
19#endif /* _LINUX_BOOT_H */ 20#endif /* _LINUX_BOOT_H */