Commit 398ab1fc authored by Michael Ellerman's avatar Michael Ellerman Committed by Paul Mackerras

[PATCH] powerpc: Add CONFIG_CRASH_DUMP

This patch adds a Kconfig variable, CONFIG_CRASH_DUMP, which configures the
built kernel for use as a Kdump kernel.

Currently "all" this involves is changing the value of KERNELBASE to 32 MB.
Signed-off-by: default avatarMichael Ellerman <michael@ellerman.id.au>
Signed-off-by: default avatarPaul Mackerras <paulus@samba.org>
parent 4693c09a
...@@ -379,6 +379,17 @@ config CELL_IIC ...@@ -379,6 +379,17 @@ config CELL_IIC
bool bool
default y default y
config CRASH_DUMP
bool "kernel crash dumps (EXPERIMENTAL)"
depends on PPC_MULTIPLATFORM
depends on EXPERIMENTAL
help
Build a kernel suitable for use as a kdump capture kernel.
The kernel will be linked at a different address than normal, and
so can only be used for Kdump.
Don't change this unless you know what you are doing.
config IBMVIO config IBMVIO
depends on PPC_PSERIES || PPC_ISERIES depends on PPC_PSERIES || PPC_ISERIES
bool bool
......
...@@ -512,6 +512,9 @@ void __init setup_system(void) ...@@ -512,6 +512,9 @@ void __init setup_system(void)
ppc64_caches.iline_size); ppc64_caches.iline_size);
printk("htab_address = 0x%p\n", htab_address); printk("htab_address = 0x%p\n", htab_address);
printk("htab_hash_mask = 0x%lx\n", htab_hash_mask); printk("htab_hash_mask = 0x%lx\n", htab_hash_mask);
#if PHYSICAL_START > 0
printk("physical_start = 0x%x\n", PHYSICAL_START);
#endif
printk("-----------------------------------------------------\n"); printk("-----------------------------------------------------\n");
mm_init_ppc64(); mm_init_ppc64();
......
...@@ -51,8 +51,16 @@ ...@@ -51,8 +51,16 @@
* *
* If you want to test if something's a kernel address, use is_kernel_addr(). * If you want to test if something's a kernel address, use is_kernel_addr().
*/ */
#ifdef CONFIG_CRASH_DUMP
/* Kdump kernel runs at 32 MB, change at your peril. */
#define PHYSICAL_START 0x2000000
#else
#define PHYSICAL_START 0x0
#endif
#define PAGE_OFFSET ASM_CONST(CONFIG_KERNEL_START) #define PAGE_OFFSET ASM_CONST(CONFIG_KERNEL_START)
#define KERNELBASE PAGE_OFFSET #define KERNELBASE (PAGE_OFFSET + PHYSICAL_START)
#ifdef CONFIG_DISCONTIGMEM #ifdef CONFIG_DISCONTIGMEM
#define page_to_pfn(page) discontigmem_page_to_pfn(page) #define page_to_pfn(page) discontigmem_page_to_pfn(page)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment