powerpc: Simplify and clean up the xmon terminal I/O
This factors out the common bits of arch/powerpc/xmon/start_*.c into a new nonstdio.c, and removes some stuff that was supposed to make xmon's I/O routines somewhat stdio-like but was never used. It also makes the parsing of the xmon= command line option common, so that ppc32 can now use xmon={off,on,early} also. Signed-off-by: Paul Mackerras <paulus@samba.org>
This commit is contained in:
@ -51,6 +51,7 @@
|
||||
#include <asm/page.h>
|
||||
#include <asm/mmu.h>
|
||||
#include <asm/lmb.h>
|
||||
#include <asm/xmon.h>
|
||||
|
||||
#undef DEBUG
|
||||
|
||||
@ -559,3 +560,23 @@ void __init smp_setup_cpu_maps(void)
|
||||
#endif /* CONFIG_PPC64 */
|
||||
}
|
||||
#endif /* CONFIG_SMP */
|
||||
|
||||
#ifdef CONFIG_XMON
|
||||
static int __init early_xmon(char *p)
|
||||
{
|
||||
/* ensure xmon is enabled */
|
||||
if (p) {
|
||||
if (strncmp(p, "on", 2) == 0)
|
||||
xmon_init(1);
|
||||
if (strncmp(p, "off", 3) == 0)
|
||||
xmon_init(0);
|
||||
if (strncmp(p, "early", 5) != 0)
|
||||
return 0;
|
||||
}
|
||||
xmon_init(1);
|
||||
debugger(NULL);
|
||||
|
||||
return 0;
|
||||
}
|
||||
early_param("xmon", early_xmon);
|
||||
#endif
|
||||
|
@ -303,14 +303,9 @@ void __init setup_arch(char **cmdline_p)
|
||||
pmac_feature_init(); /* New cool way */
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_XMON
|
||||
xmon_map_scc();
|
||||
if (strstr(cmd_line, "xmon")) {
|
||||
xmon_init(1);
|
||||
debugger(NULL);
|
||||
}
|
||||
#endif /* CONFIG_XMON */
|
||||
if ( ppc_md.progress ) ppc_md.progress("setup_arch: enter", 0x3eab);
|
||||
#ifdef CONFIG_XMON_DEFAULT
|
||||
xmon_init(1);
|
||||
#endif
|
||||
|
||||
#if defined(CONFIG_KGDB)
|
||||
if (ppc_md.kgdb_map_scc)
|
||||
|
@ -858,26 +858,6 @@ int check_legacy_ioport(unsigned long base_port)
|
||||
}
|
||||
EXPORT_SYMBOL(check_legacy_ioport);
|
||||
|
||||
#ifdef CONFIG_XMON
|
||||
static int __init early_xmon(char *p)
|
||||
{
|
||||
/* ensure xmon is enabled */
|
||||
if (p) {
|
||||
if (strncmp(p, "on", 2) == 0)
|
||||
xmon_init(1);
|
||||
if (strncmp(p, "off", 3) == 0)
|
||||
xmon_init(0);
|
||||
if (strncmp(p, "early", 5) != 0)
|
||||
return 0;
|
||||
}
|
||||
xmon_init(1);
|
||||
debugger(NULL);
|
||||
|
||||
return 0;
|
||||
}
|
||||
early_param("xmon", early_xmon);
|
||||
#endif
|
||||
|
||||
void cpu_die(void)
|
||||
{
|
||||
if (ppc_md.cpu_die)
|
||||
|
Reference in New Issue
Block a user