From d1b3c34093c2d6abc695f42690ba0d019b6f47f2 Mon Sep 17 00:00:00 2001 From: Michael Ellerman Date: Wed, 17 May 2006 18:00:41 +1000 Subject: [PATCH] --- yaml --- r: 28703 b: refs/heads/master c: 480f6f35a149802a94ad5c1a2673ed6ec8d2c158 h: refs/heads/master i: 28701: 493c28111a8ab00eedf46717bc00be9d91bb3514 28699: da1af1e62a89d76551ab2ebe2bfc5153bc2933b9 28695: fd7c5293f941a821ce21fc3c4646b652c977507c 28687: de457e51a9c4a8a8cb3789adbf4dc414d72df448 28671: 73b9451df9198b02366b93eb8a57542bfb852ac0 v: v3 --- [refs] | 2 +- trunk/arch/powerpc/kernel/setup-common.c | 3 ++- trunk/arch/powerpc/kernel/setup.h | 1 + trunk/arch/powerpc/kernel/setup_32.c | 3 +++ trunk/arch/powerpc/kernel/setup_64.c | 3 +++ 5 files changed, 10 insertions(+), 2 deletions(-) diff --git a/[refs] b/[refs] index ac1a162c5527..d39ff774816e 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 9dabbfbab312909782b26580d71e3977622fab6e +refs/heads/master: 480f6f35a149802a94ad5c1a2673ed6ec8d2c158 diff --git a/trunk/arch/powerpc/kernel/setup-common.c b/trunk/arch/powerpc/kernel/setup-common.c index 88de557fe046..bd328123af75 100644 --- a/trunk/arch/powerpc/kernel/setup-common.c +++ b/trunk/arch/powerpc/kernel/setup-common.c @@ -443,6 +443,7 @@ void __init smp_setup_cpu_maps(void) } #endif /* CONFIG_SMP */ +int __initdata do_early_xmon; #ifdef CONFIG_XMON static int __init early_xmon(char *p) { @@ -456,7 +457,7 @@ static int __init early_xmon(char *p) return 0; } xmon_init(1); - debugger(NULL); + do_early_xmon = 1; return 0; } diff --git a/trunk/arch/powerpc/kernel/setup.h b/trunk/arch/powerpc/kernel/setup.h index e67066c1933e..4c67ad7fae08 100644 --- a/trunk/arch/powerpc/kernel/setup.h +++ b/trunk/arch/powerpc/kernel/setup.h @@ -4,5 +4,6 @@ void check_for_initrd(void); void do_init_bootmem(void); void setup_panic(void); +extern int do_early_xmon; #endif /* _POWERPC_KERNEL_SETUP_H */ diff --git a/trunk/arch/powerpc/kernel/setup_32.c b/trunk/arch/powerpc/kernel/setup_32.c index 88832b3ee661..2b6cacb6946f 100644 --- a/trunk/arch/powerpc/kernel/setup_32.c +++ b/trunk/arch/powerpc/kernel/setup_32.c @@ -297,6 +297,9 @@ void __init setup_arch(char **cmdline_p) parse_early_param(); + if (do_early_xmon) + debugger(NULL); + /* set up the bootmem stuff with available memory */ do_init_bootmem(); if ( ppc_md.progress ) ppc_md.progress("setup_arch: bootmem", 0x3eab); diff --git a/trunk/arch/powerpc/kernel/setup_64.c b/trunk/arch/powerpc/kernel/setup_64.c index ab6ea37a77aa..a1923d917b30 100644 --- a/trunk/arch/powerpc/kernel/setup_64.c +++ b/trunk/arch/powerpc/kernel/setup_64.c @@ -419,6 +419,9 @@ void __init setup_system(void) parse_early_param(); + if (do_early_xmon) + debugger(NULL); + check_smt_enabled(); smp_setup_cpu_maps();