Commit 480f6f35 authored by Michael Ellerman's avatar Michael Ellerman Committed by Paul Mackerras

[PATCH] powerpc: Make early xmon logic immune to location of early parsing

Currently early_xmon() calls directly into debugger() if xmon=early is passed.
This ties the invocation of early xmon to the location of parse_early_param(),
which might change.

Tested on P5 LPAR and F50.
Signed-off-by: default avatarMichael Ellerman <michael@ellerman.id.au>
Signed-off-by: default avatarPaul Mackerras <paulus@samba.org>
parent 9dabbfba
...@@ -443,6 +443,7 @@ void __init smp_setup_cpu_maps(void) ...@@ -443,6 +443,7 @@ void __init smp_setup_cpu_maps(void)
} }
#endif /* CONFIG_SMP */ #endif /* CONFIG_SMP */
int __initdata do_early_xmon;
#ifdef CONFIG_XMON #ifdef CONFIG_XMON
static int __init early_xmon(char *p) static int __init early_xmon(char *p)
{ {
...@@ -456,7 +457,7 @@ static int __init early_xmon(char *p) ...@@ -456,7 +457,7 @@ static int __init early_xmon(char *p)
return 0; return 0;
} }
xmon_init(1); xmon_init(1);
debugger(NULL); do_early_xmon = 1;
return 0; return 0;
} }
......
...@@ -4,5 +4,6 @@ ...@@ -4,5 +4,6 @@
void check_for_initrd(void); void check_for_initrd(void);
void do_init_bootmem(void); void do_init_bootmem(void);
void setup_panic(void); void setup_panic(void);
extern int do_early_xmon;
#endif /* _POWERPC_KERNEL_SETUP_H */ #endif /* _POWERPC_KERNEL_SETUP_H */
...@@ -297,6 +297,9 @@ void __init setup_arch(char **cmdline_p) ...@@ -297,6 +297,9 @@ void __init setup_arch(char **cmdline_p)
parse_early_param(); parse_early_param();
if (do_early_xmon)
debugger(NULL);
/* set up the bootmem stuff with available memory */ /* set up the bootmem stuff with available memory */
do_init_bootmem(); do_init_bootmem();
if ( ppc_md.progress ) ppc_md.progress("setup_arch: bootmem", 0x3eab); if ( ppc_md.progress ) ppc_md.progress("setup_arch: bootmem", 0x3eab);
......
...@@ -419,6 +419,9 @@ void __init setup_system(void) ...@@ -419,6 +419,9 @@ void __init setup_system(void)
parse_early_param(); parse_early_param();
if (do_early_xmon)
debugger(NULL);
check_smt_enabled(); check_smt_enabled();
smp_setup_cpu_maps(); smp_setup_cpu_maps();
......
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