Ignore:
Timestamp:
2010-05-21T23:02:10Z (15 years ago)
Author:
Jakub Jermar <jakub@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
ecbd287d
Parents:
3500f75 (diff), 0242621 (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 initial support for sparc64 kernel stack tracing.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • kernel/arch/sparc64/include/trap/trap_table.h

    r3500f75 r7c8e1e1  
    4242#define TRAP_TABLE_SIZE         (TRAP_TABLE_ENTRY_COUNT * TRAP_TABLE_ENTRY_SIZE)
    4343
     44/*
     45 * The following needs to be in sync with the definition of the istate
     46 * structure. The one STACK_ITEM_SIZE is counted for space holding the 7th
     47 * argument to syscall_handler (i.e. syscall number) and the other
     48 * STACK_ITEM_SIZE is counted because of the required alignment.
     49 */
     50#define PREEMPTIBLE_HANDLER_STACK_FRAME_SIZE \
     51    (STACK_WINDOW_SAVE_AREA_SIZE + STACK_ARG_SAVE_AREA_SIZE + \
     52    (2 * STACK_ITEM_SIZE) + (12 * 8))
     53#define SAVED_TSTATE    -(1 * 8)
     54#define SAVED_TPC       -(2 * 8)
     55#define SAVED_TNPC      -(3 * 8)        /* <-- istate_t begins here */
     56#define SAVED_Y         -(4 * 8)
     57#define SAVED_I0        -(5 * 8)
     58#define SAVED_I1        -(6 * 8)
     59#define SAVED_I2        -(7 * 8)
     60#define SAVED_I3        -(8 * 8)
     61#define SAVED_I4        -(9 * 8)
     62#define SAVED_I5        -(10 * 8)
     63#define SAVED_I6        -(11 * 8)
     64#define SAVED_I7        -(12 * 8)
     65
    4466#ifndef __ASM__
    4567
     
    7799.endm
    78100
    79 /*
    80  * The following needs to be in sync with the definition of the istate
    81  * structure. The one STACK_ITEM_SIZE is counted for space holding the 7th
    82  * argument to syscall_handler (i.e. syscall number) and the other
    83  * STACK_ITEM_SIZE is counted because of the required alignment.
    84  */
    85 #define PREEMPTIBLE_HANDLER_STACK_FRAME_SIZE    \
    86     (STACK_WINDOW_SAVE_AREA_SIZE + STACK_ARG_SAVE_AREA_SIZE + \
    87     (2 * STACK_ITEM_SIZE) + (12 * 8))
    88 #define SAVED_TSTATE    -(1 * 8)
    89 #define SAVED_TPC       -(2 * 8)
    90 #define SAVED_TNPC      -(3 * 8)        /* <-- istate_t begins here */
    91 #define SAVED_Y         -(4 * 8)
    92 #define SAVED_I0        -(5 * 8)
    93 #define SAVED_I1        -(6 * 8)
    94 #define SAVED_I2        -(7 * 8)
    95 #define SAVED_I3        -(8 * 8)
    96 #define SAVED_I4        -(9 * 8)
    97 #define SAVED_I5        -(10 * 8)
    98 #define SAVED_I6        -(11 * 8)
    99 #define SAVED_I7        -(12 * 8)
    100 
    101101.macro PREEMPTIBLE_HANDLER f
    102102        sethi %hi(\f), %g1
    103         b preemptible_handler
     103        ba %xcc, preemptible_handler
    104104        or %g1, %lo(\f), %g1
    105105.endm
Note: See TracChangeset for help on using the changeset viewer.