aboutsummaryrefslogtreecommitdiffstats
path: root/arch/x86/Kconfig
diff options
context:
space:
mode:
authorH. Peter Anvin <hpa@zytor.com>2009-05-11 19:12:16 -0400
committerH. Peter Anvin <hpa@zytor.com>2009-05-11 20:45:05 -0400
commitceefccc93932b920a8ec6f35f596db05202a12fe (patch)
tree5def2c91f78186e944c23ba1d1b3e0741382b180 /arch/x86/Kconfig
parentd297366ba692faf1f0384811a6ff0b20c3470b1b (diff)
x86: default CONFIG_PHYSICAL_START and CONFIG_PHYSICAL_ALIGN to 16 MB
Default CONFIG_PHYSICAL_START and CONFIG_PHYSICAL_ALIGN each to 16 MB, so that both non-relocatable and relocatable kernels are loaded at 16 MB by a non-relocating bootloader. This is somewhat hacky, but it appears to be the only way to do this that does not break some some set of existing bootloaders. We want to avoid the bottom 16 MB because of large page breakup, memory holes, and ZONE_DMA. Embedded systems may need to reduce this, or update their bootloaders to be aware of the new min_alignment field. [ Impact: performance improvement, avoids problems on some systems ] Signed-off-by: H. Peter Anvin <hpa@zytor.com>
Diffstat (limited to 'arch/x86/Kconfig')
-rw-r--r--arch/x86/Kconfig27
1 files changed, 12 insertions, 15 deletions
diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
index 5aee45356b58..50fbb47f5295 100644
--- a/arch/x86/Kconfig
+++ b/arch/x86/Kconfig
@@ -1455,9 +1455,7 @@ config KEXEC_JUMP
1455 1455
1456config PHYSICAL_START 1456config PHYSICAL_START
1457 hex "Physical address where the kernel is loaded" if (EMBEDDED || CRASH_DUMP) 1457 hex "Physical address where the kernel is loaded" if (EMBEDDED || CRASH_DUMP)
1458 default "0x1000000" if X86_NUMAQ 1458 default "0x1000000"
1459 default "0x200000" if X86_64
1460 default "0x100000"
1461 ---help--- 1459 ---help---
1462 This gives the physical address where the kernel is loaded. 1460 This gives the physical address where the kernel is loaded.
1463 1461
@@ -1476,15 +1474,15 @@ config PHYSICAL_START
1476 to be specifically compiled to run from a specific memory area 1474 to be specifically compiled to run from a specific memory area
1477 (normally a reserved region) and this option comes handy. 1475 (normally a reserved region) and this option comes handy.
1478 1476
1479 So if you are using bzImage for capturing the crash dump, leave 1477 So if you are using bzImage for capturing the crash dump,
1480 the value here unchanged to 0x100000 and set CONFIG_RELOCATABLE=y. 1478 leave the value here unchanged to 0x1000000 and set
1481 Otherwise if you plan to use vmlinux for capturing the crash dump 1479 CONFIG_RELOCATABLE=y. Otherwise if you plan to use vmlinux
1482 change this value to start of the reserved region (Typically 16MB 1480 for capturing the crash dump change this value to start of
1483 0x1000000). In other words, it can be set based on the "X" value as 1481 the reserved region. In other words, it can be set based on
1484 specified in the "crashkernel=YM@XM" command line boot parameter 1482 the "X" value as specified in the "crashkernel=YM@XM"
1485 passed to the panic-ed kernel. Typically this parameter is set as 1483 command line boot parameter passed to the panic-ed
1486 crashkernel=64M@16M. Please take a look at 1484 kernel. Please take a look at Documentation/kdump/kdump.txt
1487 Documentation/kdump/kdump.txt for more details about crash dumps. 1485 for more details about crash dumps.
1488 1486
1489 Usage of bzImage for capturing the crash dump is recommended as 1487 Usage of bzImage for capturing the crash dump is recommended as
1490 one does not have to build two kernels. Same kernel can be used 1488 one does not have to build two kernels. Same kernel can be used
@@ -1521,9 +1519,8 @@ config X86_NEED_RELOCS
1521config PHYSICAL_ALIGN 1519config PHYSICAL_ALIGN
1522 hex 1520 hex
1523 prompt "Alignment value to which kernel should be aligned" if X86_32 1521 prompt "Alignment value to which kernel should be aligned" if X86_32
1524 default "0x100000" if X86_32 1522 default "0x1000000"
1525 default "0x200000" if X86_64 1523 range 0x2000 0x1000000
1526 range 0x2000 0x400000
1527 ---help--- 1524 ---help---
1528 This value puts the alignment restrictions on physical address 1525 This value puts the alignment restrictions on physical address
1529 where kernel is loaded and run from. Kernel is compiled for an 1526 where kernel is loaded and run from. Kernel is compiled for an