2009-02-09 07:43:36 +08:00
|
|
|
#ifndef _ASM_PARISC_FTRACE_H
|
|
|
|
#define _ASM_PARISC_FTRACE_H
|
|
|
|
|
|
|
|
#ifndef __ASSEMBLY__
|
|
|
|
extern void mcount(void);
|
|
|
|
|
|
|
|
/*
|
|
|
|
* Stack of return addresses for functions of a thread.
|
|
|
|
* Used in struct thread_info
|
|
|
|
*/
|
|
|
|
struct ftrace_ret_stack {
|
|
|
|
unsigned long ret;
|
|
|
|
unsigned long func;
|
|
|
|
unsigned long long calltime;
|
|
|
|
};
|
|
|
|
|
|
|
|
/*
|
|
|
|
* Primary handler of a function return.
|
|
|
|
* It relays on ftrace_return_to_handler.
|
|
|
|
* Defined in entry.S
|
|
|
|
*/
|
|
|
|
extern void return_to_handler(void);
|
2009-10-26 05:48:36 +08:00
|
|
|
|
|
|
|
|
|
|
|
extern unsigned long return_address(unsigned int);
|
|
|
|
|
|
|
|
#define HAVE_ARCH_CALLER_ADDR
|
|
|
|
|
|
|
|
#define CALLER_ADDR0 ((unsigned long)__builtin_return_address(0))
|
|
|
|
#define CALLER_ADDR1 return_address(1)
|
|
|
|
#define CALLER_ADDR2 return_address(2)
|
|
|
|
#define CALLER_ADDR3 return_address(3)
|
|
|
|
#define CALLER_ADDR4 return_address(4)
|
|
|
|
#define CALLER_ADDR5 return_address(5)
|
|
|
|
#define CALLER_ADDR6 return_address(6)
|
|
|
|
|
2009-02-09 07:43:36 +08:00
|
|
|
#endif /* __ASSEMBLY__ */
|
|
|
|
|
|
|
|
#endif /* _ASM_PARISC_FTRACE_H */
|