diff options
Diffstat (limited to 'arch/powerpc/xmon/xmon.c')
-rw-r--r-- | arch/powerpc/xmon/xmon.c | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/arch/powerpc/xmon/xmon.c b/arch/powerpc/xmon/xmon.c index 8adad1444a51..b54ff980ecd4 100644 --- a/arch/powerpc/xmon/xmon.c +++ b/arch/powerpc/xmon/xmon.c | |||
@@ -2,6 +2,8 @@ | |||
2 | * Routines providing a simple monitor for use on the PowerMac. | 2 | * Routines providing a simple monitor for use on the PowerMac. |
3 | * | 3 | * |
4 | * Copyright (C) 1996-2005 Paul Mackerras. | 4 | * Copyright (C) 1996-2005 Paul Mackerras. |
5 | * Copyright (C) 2001 PPC64 Team, IBM Corp | ||
6 | * Copyrignt (C) 2006 Michael Ellerman, IBM Corp | ||
5 | * | 7 | * |
6 | * This program is free software; you can redistribute it and/or | 8 | * This program is free software; you can redistribute it and/or |
7 | * modify it under the terms of the GNU General Public License | 9 | * modify it under the terms of the GNU General Public License |
@@ -2597,3 +2599,34 @@ static int __init setup_xmon_sysrq(void) | |||
2597 | } | 2599 | } |
2598 | __initcall(setup_xmon_sysrq); | 2600 | __initcall(setup_xmon_sysrq); |
2599 | #endif /* CONFIG_MAGIC_SYSRQ */ | 2601 | #endif /* CONFIG_MAGIC_SYSRQ */ |
2602 | |||
2603 | int __initdata xmon_early, xmon_off; | ||
2604 | |||
2605 | static int __init early_parse_xmon(char *p) | ||
2606 | { | ||
2607 | if (!p || strncmp(p, "early", 5) == 0) { | ||
2608 | /* just "xmon" is equivalent to "xmon=early" */ | ||
2609 | xmon_init(1); | ||
2610 | xmon_early = 1; | ||
2611 | } else if (strncmp(p, "on", 2) == 0) | ||
2612 | xmon_init(1); | ||
2613 | else if (strncmp(p, "off", 3) == 0) | ||
2614 | xmon_off = 1; | ||
2615 | else if (strncmp(p, "nobt", 4) == 0) | ||
2616 | xmon_no_auto_backtrace = 1; | ||
2617 | else | ||
2618 | return 1; | ||
2619 | |||
2620 | return 0; | ||
2621 | } | ||
2622 | early_param("xmon", early_parse_xmon); | ||
2623 | |||
2624 | void __init xmon_setup(void) | ||
2625 | { | ||
2626 | #ifdef CONFIG_XMON_DEFAULT | ||
2627 | if (!xmon_off) | ||
2628 | xmon_init(1); | ||
2629 | #endif | ||
2630 | if (xmon_early) | ||
2631 | debugger(NULL); | ||
2632 | } | ||