diff options
author | Joel Sherrill <joel.sherrill@OARcorp.com> | 2010-07-07 14:08:04 +0000 |
---|---|---|
committer | Joel Sherrill <joel.sherrill@OARcorp.com> | 2010-07-07 14:08:04 +0000 |
commit | 0b86fd8b6e6bbbc077412cfbc0983f743f4a6a2d (patch) | |
tree | 8bf1ab231f45af5a4dff31d92926f4eca313ecd8 /c/src/lib/libbsp | |
parent | 2010-07-07 Joel Sherrill <joel.sherrill@oarcorp.com> (diff) | |
download | rtems-0b86fd8b6e6bbbc077412cfbc0983f743f4a6a2d.tar.bz2 |
2010-07-07 Joel Sherrill <joel.sherrill@oarcorp.com>
PR 1606/cpukit
* shared/startup/panic.c: Remove
INTERNAL_ERROR_INVALID_WORKSPACE_ADDRESS since it is not generated.
Diffstat (limited to 'c/src/lib/libbsp')
-rw-r--r-- | c/src/lib/libbsp/powerpc/ChangeLog | 6 | ||||
-rw-r--r-- | c/src/lib/libbsp/powerpc/shared/startup/panic.c | 144 |
2 files changed, 82 insertions, 68 deletions
diff --git a/c/src/lib/libbsp/powerpc/ChangeLog b/c/src/lib/libbsp/powerpc/ChangeLog index ab60660d77..294508f015 100644 --- a/c/src/lib/libbsp/powerpc/ChangeLog +++ b/c/src/lib/libbsp/powerpc/ChangeLog @@ -1,3 +1,9 @@ +2010-07-07 Joel Sherrill <joel.sherrill@oarcorp.com> + + PR 1606/cpukit + * shared/startup/panic.c: Remove + INTERNAL_ERROR_INVALID_WORKSPACE_ADDRESS since it is not generated. + 2010-06-21 Peter Dufault <dufault@hda.com> PR 1583/bsps diff --git a/c/src/lib/libbsp/powerpc/shared/startup/panic.c b/c/src/lib/libbsp/powerpc/shared/startup/panic.c index cacdeb7825..78818c75f9 100644 --- a/c/src/lib/libbsp/powerpc/shared/startup/panic.c +++ b/c/src/lib/libbsp/powerpc/shared/startup/panic.c @@ -1,3 +1,7 @@ +/* + * $Id$ + */ + #include <rtems.h> #include <bsp.h> #include <bsp/bootcard.h> @@ -9,9 +13,9 @@ static void rebootQuestion(void) { - printk("Press a key to reboot\n"); - BSP_poll_char_via_serial(); - bsp_reset(); + printk("Press a key to reboot\n"); + BSP_poll_char_via_serial(); + bsp_reset(); } void BSP_panic(char *s) @@ -26,53 +30,51 @@ void BSP_panic(char *s) char *score_status_text(rtems_status_code sc) { - switch (sc) { - case INTERNAL_ERROR_NO_CONFIGURATION_TABLE: - return "INTERNAL_ERROR_NO_CONFIGURATION_TABLE"; - case INTERNAL_ERROR_NO_CPU_TABLE: - return "INTERNAL_ERROR_NO_CPU_TABLE"; - case INTERNAL_ERROR_INVALID_WORKSPACE_ADDRESS: - return "INTERNAL_ERROR_INVALID_WORKSPACE_ADDRESS"; - case INTERNAL_ERROR_TOO_LITTLE_WORKSPACE: - return "INTERNAL_ERROR_TOO_LITTLE_WORKSPACE"; - case INTERNAL_ERROR_WORKSPACE_ALLOCATION: - return "INTERNAL_ERROR_WORKSPACE_ALLOCATION"; - case INTERNAL_ERROR_INTERRUPT_STACK_TOO_SMALL: - return "INTERNAL_ERROR_INTERRUPT_STACK_TOO_SMALL"; - case INTERNAL_ERROR_THREAD_EXITTED: - return "INTERNAL_ERROR_THREAD_EXITTED"; - case INTERNAL_ERROR_INCONSISTENT_MP_INFORMATION: - return "INTERNAL_ERROR_INCONSISTENT_MP_INFORMATION"; - case INTERNAL_ERROR_INVALID_NODE: - return "INTERNAL_ERROR_INVALID_NODE"; - case INTERNAL_ERROR_NO_MPCI: - return "INTERNAL_ERROR_NO_MPCI"; - case INTERNAL_ERROR_BAD_PACKET: - return "INTERNAL_ERROR_BAD_PACKET"; - case INTERNAL_ERROR_OUT_OF_PACKETS: - return "INTERNAL_ERROR_OUT_OF_PACKETS"; - case INTERNAL_ERROR_OUT_OF_GLOBAL_OBJECTS: - return "INTERNAL_ERROR_OUT_OF_GLOBAL_OBJECTS"; - case INTERNAL_ERROR_OUT_OF_PROXIES: - return "INTERNAL_ERROR_OUT_OF_PROXIES"; - case INTERNAL_ERROR_INVALID_GLOBAL_ID: - return "INTERNAL_ERROR_INVALID_GLOBAL_ID"; - case INTERNAL_ERROR_BAD_STACK_HOOK: - return "INTERNAL_ERROR_BAD_STACK_HOOK"; - case INTERNAL_ERROR_BAD_ATTRIBUTES: - return "INTERNAL_ERROR_BAD_ATTRIBUTES"; - case 18: /* not in header (yet) :-( */ - return "INTERNAL_ERROR_CALLED_FROM_WRONG_ENVIRONMENT"; - default: - break; - } - return 0; + switch (sc) { + case INTERNAL_ERROR_NO_CONFIGURATION_TABLE: + return "INTERNAL_ERROR_NO_CONFIGURATION_TABLE"; + case INTERNAL_ERROR_NO_CPU_TABLE: + return "INTERNAL_ERROR_NO_CPU_TABLE"; + case INTERNAL_ERROR_TOO_LITTLE_WORKSPACE: + return "INTERNAL_ERROR_TOO_LITTLE_WORKSPACE"; + case INTERNAL_ERROR_WORKSPACE_ALLOCATION: + return "INTERNAL_ERROR_WORKSPACE_ALLOCATION"; + case INTERNAL_ERROR_INTERRUPT_STACK_TOO_SMALL: + return "INTERNAL_ERROR_INTERRUPT_STACK_TOO_SMALL"; + case INTERNAL_ERROR_THREAD_EXITTED: + return "INTERNAL_ERROR_THREAD_EXITTED"; + case INTERNAL_ERROR_INCONSISTENT_MP_INFORMATION: + return "INTERNAL_ERROR_INCONSISTENT_MP_INFORMATION"; + case INTERNAL_ERROR_INVALID_NODE: + return "INTERNAL_ERROR_INVALID_NODE"; + case INTERNAL_ERROR_NO_MPCI: + return "INTERNAL_ERROR_NO_MPCI"; + case INTERNAL_ERROR_BAD_PACKET: + return "INTERNAL_ERROR_BAD_PACKET"; + case INTERNAL_ERROR_OUT_OF_PACKETS: + return "INTERNAL_ERROR_OUT_OF_PACKETS"; + case INTERNAL_ERROR_OUT_OF_GLOBAL_OBJECTS: + return "INTERNAL_ERROR_OUT_OF_GLOBAL_OBJECTS"; + case INTERNAL_ERROR_OUT_OF_PROXIES: + return "INTERNAL_ERROR_OUT_OF_PROXIES"; + case INTERNAL_ERROR_INVALID_GLOBAL_ID: + return "INTERNAL_ERROR_INVALID_GLOBAL_ID"; + case INTERNAL_ERROR_BAD_STACK_HOOK: + return "INTERNAL_ERROR_BAD_STACK_HOOK"; + case INTERNAL_ERROR_BAD_ATTRIBUTES: + return "INTERNAL_ERROR_BAD_ATTRIBUTES"; + case 18: /* not in header (yet) :-( */ + return "INTERNAL_ERROR_CALLED_FROM_WRONG_ENVIRONMENT"; + default: + break; + } + return 0; } void _BSP_Fatal_error(unsigned int v) { -unsigned long flags; -const char *err = 0; + unsigned long flags; + const char *err = 0; rtems_interrupt_disable(flags); printk("%s\n",_RTEMS_version); @@ -80,36 +82,42 @@ const char *err = 0; printk("Internal error: %s\n", ISITNL? "Yes":"No"); printk("Environment:"); switch (THESRC) { - case INTERNAL_ERROR_CORE: - printk(" RTEMS Core\n"); - err = score_status_text(THEERR); - break; + case INTERNAL_ERROR_CORE: + printk(" RTEMS Core\n"); + err = score_status_text(THEERR); + break; - case INTERNAL_ERROR_RTEMS_API: - printk(" RTEMS API\n"); - err = rtems_status_text(THEERR); - break; + case INTERNAL_ERROR_RTEMS_API: + printk(" RTEMS API\n"); + err = rtems_status_text(THEERR); + break; - case INTERNAL_ERROR_POSIX_API: - printk(" POSIX API (errno)\n"); - /* could use strerror but I'd rather avoid using this here */ - break; + case INTERNAL_ERROR_POSIX_API: + printk(" POSIX API (errno)\n"); + /* could use strerror but I'd rather avoid using this here */ + break; - default: - printk(" UNKNOWN (0x%x)\n",THESRC); - break; + default: + printk(" UNKNOWN (0x%x)\n",THESRC); + break; } if ( _Thread_Dispatch_disable_level ) - printk(" Error occurred in a Thread Dispatching DISABLED context (level %i)\n", - _Thread_Dispatch_disable_level); - else - printk("enabled\n"); - if ( _ISR_Nest_level ) - printk(" Error occurred from ISR context (ISR nest level %i)\n", _ISR_Nest_level); + printk( + " Error occurred in a Thread Dispatching DISABLED context (level %i)\n", + _Thread_Dispatch_disable_level); + else + printk("enabled\n"); + + if ( _ISR_Nest_level ) { + printk( + " Error occurred from ISR context (ISR nest level %i)\n", + _ISR_Nest_level + ); + } printk("Error %d",THEERR); if (err) { - printk(": %s",err); + printk(": %s",err); } printk("\n"); printk("Stack Trace:\n"); |