[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: Michael Ellerman <michael@ellerman.id.au> Signed-off-by: Paul Mackerras <paulus@samba.org>
This commit is contained in:
parent
9dabbfbab3
commit
480f6f35a1
|
@ -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)
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
xmon_init(1);
|
xmon_init(1);
|
||||||
debugger(NULL);
|
do_early_xmon = 1;
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
|
@ -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)
|
||||||
|
|
||||||
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)
|
||||||
|
|
||||||
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();
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue