diff --git a/arch/i386/Kconfig b/arch/i386/Kconfig index 8770a5d..6737529 100644 --- a/arch/i386/Kconfig +++ b/arch/i386/Kconfig @@ -813,9 +813,10 @@ config CRASH_DUMP PHYSICAL_START. For more details see Documentation/kdump/kdump.txt -config PHYSICAL_START - hex "Physical address where the kernel is loaded" if (EMBEDDED || CRASH_DUMP) - default "0x100000" +choice + depends on EMBEDDED || CRASH_DUMP + prompt "Physical address where the kernel is loaded" + default PHYSICAL_START_1M help This gives the physical address where the kernel is loaded. @@ -854,6 +855,40 @@ config PHYSICAL_START Don't change this unless you know what you are doing. + config PHYSICAL_START_1M + bool "1M" + help + Choose this to load the kernel at the standard 1M address. + + config PHYSICAL_START_4M + bool "4M" + help + Loading the kernel at a 4M aligned physical address can + make for a slightly faster kernel. + + Choose this if you have 8M or more installed. + + config PHYSICAL_START_16M + bool "16M" + help + Loading the kernel at a 4M aligned physical address can + make for a slightly faster kernel. + + Additionally, loading it at 16M gets it out of the legacy + DMA zone which you might consider beneficial if you use + devices doing legacy DMA (such as a floppy drive, an ECP + parallel port or DMA capable ISA peripherals). + + Choose this if you have 20M or more installed and a need + for legacy DMA. +endchoice + +config PHYSICAL_START + hex + default "0x100000" if PHYSICAL_START_1M + default "0x400000" if PHYSICAL_START_4M + default "0x1000000" if PHYSICAL_START_16M + config RELOCATABLE bool "Build a relocatable kernel(EXPERIMENTAL)" depends on EXPERIMENTAL