Changeset 7a0359b in mainline for kernel/arch/ia64/include/interrupt.h


Ignore:
Timestamp:
2010-07-02T15:42:19Z (14 years ago)
Author:
Martin Decky <martin@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
bbfdf62
Parents:
e3ee9b9
Message:

improve kernel function tracing

  • add support for more generic kernel sources
  • replace attribute((no_instrument_function)) with NO_TRACE macro (shorter and for future compatibility with different compilers)
  • to be on the safe side, do not instrument most of the inline and static functions (plus some specific non-static functions)

collateral code cleanup (no change in functionality)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • kernel/arch/ia64/include/interrupt.h

    re3ee9b9 r7a0359b  
    3838#include <typedefs.h>
    3939#include <arch/register.h>
     40#include <trace.h>
    4041
    4142/** ia64 has 256 INRs. */
     
    133134} istate_t;
    134135
    135 static inline void istate_set_retaddr(istate_t *istate, uintptr_t retaddr)
     136extern void *ivt;
     137
     138NO_TRACE static inline void istate_set_retaddr(istate_t *istate,
     139    uintptr_t retaddr)
    136140{
    137141        istate->cr_iip = retaddr;
     
    139143}
    140144
    141 static inline unative_t istate_get_pc(istate_t *istate)
     145NO_TRACE static inline unative_t istate_get_pc(istate_t *istate)
    142146{
    143147        return istate->cr_iip;
    144148}
    145149
    146 static inline unative_t istate_get_fp(istate_t *istate)
     150NO_TRACE static inline unative_t istate_get_fp(istate_t *istate)
    147151{
    148         return 0;       /* FIXME */
     152        /* FIXME */
     153       
     154        return 0;
    149155}
    150156
    151 static inline int istate_from_uspace(istate_t *istate)
     157NO_TRACE static inline int istate_from_uspace(istate_t *istate)
    152158{
    153159        return (istate->cr_iip) < 0xe000000000000000ULL;
    154160}
    155161
    156 extern void *ivt;
     162extern void general_exception(uint64_t, istate_t *);
     163extern int break_instruction(uint64_t, istate_t *);
     164extern void universal_handler(uint64_t, istate_t *);
     165extern void nop_handler(uint64_t, istate_t *);
     166extern void external_interrupt(uint64_t, istate_t *);
     167extern void disabled_fp_register(uint64_t, istate_t *);
    157168
    158 extern void general_exception(uint64_t vector, istate_t *istate);
    159 extern int break_instruction(uint64_t vector, istate_t *istate);
    160 extern void universal_handler(uint64_t vector, istate_t *istate);
    161 extern void nop_handler(uint64_t vector, istate_t *istate);
    162 extern void external_interrupt(uint64_t vector, istate_t *istate);
    163 extern void disabled_fp_register(uint64_t vector, istate_t *istate);
    164 
    165 extern void trap_virtual_enable_irqs(uint16_t irqmask);
     169extern void trap_virtual_enable_irqs(uint16_t);
    166170
    167171#endif
Note: See TracChangeset for help on using the changeset viewer.