Changeset e3038b4 in mainline for kernel/arch/arm32/src/exception.c


Ignore:
Timestamp:
2010-06-28T22:45:51Z (14 years ago)
Author:
Jakub Jermar <jakub@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
49eb681
Parents:
05e3cb8 (diff), e4a4b44 (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the (diff) links above to see all the changes relative to each parent.
Message:

Merge unified panic architecture (Phase 1).

Note that this is still work in progress as there are the following sharp edges:

  • imprecise detection of read/write accesses on some architectures
  • missing or imperfect capability to print stack traces on some architectures
  • istate_t on some architectures may contain too little valuable information
  • basically all trap frames need to be reorganized to look like a normal stack frame on the stack trace so that there are no missing frames
  • panic_common() could print more information about the current context such as the task name, thread name, ASID etc.
  • functions that call panic_*() should be protected against inlining to avoid missing or confusing stack frames in the stack trace
File:
1 edited

Legend:

Unmodified
Added
Removed
  • kernel/arch/arm32/src/exception.c

    r05e3cb8 re3038b4  
    173173 * @param istate Structure to be printed.
    174174 */
    175 void print_istate(istate_t *istate)
     175void istate_decode(istate_t *istate)
    176176{
    177         printf("istate dump:\n");
    178        
    179         printf(" r0: %x    r1: %x    r2: %x    r3: %x\n",
     177        printf("r0 =%#0.8lx\tr1 =%#0.8lx\tr2 =%#0.8lx\tr3 =%#0.8lx\n",
    180178            istate->r0, istate->r1, istate->r2, istate->r3);
    181         printf(" r4: %x    r5: %x    r6: %x    r7: %x\n",
     179        printf("r4 =%#0.8lx\tr5 =%#0.8lx\tr6 =%#0.8lx\tr7 =%#0.8lx\n",
    182180            istate->r4, istate->r5, istate->r6, istate->r7);
    183         printf(" r8: %x    r8: %x   r10: %x    fp: %x\n",
     181        printf("r8 =%#0.8lx\tr9 =%#0.8lx\tr10=%#0.8lx\tfp =%#0.8lx\n",
    184182            istate->r8, istate->r9, istate->r10, istate->fp);
    185         printf(" r12: %x    sp: %x    lr: %x  spsr: %x\n",
     183        printf("r12=%#0.8lx\tsp =%#0.8lx\tlr =%#0.8lx\tspsr=%#0.8lx\n",
    186184            istate->r12, istate->sp, istate->lr, istate->spsr);
    187        
    188         printf(" pc: %x\n", istate->pc);
    189 
    190         stack_trace_istate(istate);
    191185}
    192186
Note: See TracChangeset for help on using the changeset viewer.