1d2bb0762SWu Zhangjin /* 2d2bb0762SWu Zhangjin * This file is subject to the terms and conditions of the GNU General Public 3d2bb0762SWu Zhangjin * License. See the file "COPYING" in the main directory of this archive for 4d2bb0762SWu Zhangjin * more details. 5d2bb0762SWu Zhangjin * 6d2bb0762SWu Zhangjin * Copyright (C) 2009 DSLab, Lanzhou University, China 7d2bb0762SWu Zhangjin * Author: Wu Zhangjin <wuzj@lemote.com> 8d2bb0762SWu Zhangjin */ 9d2bb0762SWu Zhangjin 10d2bb0762SWu Zhangjin #ifndef _ASM_MIPS_FTRACE_H 11d2bb0762SWu Zhangjin #define _ASM_MIPS_FTRACE_H 12d2bb0762SWu Zhangjin 13d2bb0762SWu Zhangjin #ifdef CONFIG_FUNCTION_TRACER 14d2bb0762SWu Zhangjin 15d2bb0762SWu Zhangjin #define MCOUNT_ADDR ((unsigned long)(_mcount)) 16d2bb0762SWu Zhangjin #define MCOUNT_INSN_SIZE 4 /* sizeof mcount call */ 17d2bb0762SWu Zhangjin 18d2bb0762SWu Zhangjin #ifndef __ASSEMBLY__ 19d2bb0762SWu Zhangjin extern void _mcount(void); 20d2bb0762SWu Zhangjin #define mcount _mcount 21d2bb0762SWu Zhangjin 22538f1952SWu Zhangjin #ifdef CONFIG_DYNAMIC_FTRACE 23538f1952SWu Zhangjin static inline unsigned long ftrace_call_adjust(unsigned long addr) 24538f1952SWu Zhangjin { 25538f1952SWu Zhangjin return addr; 26538f1952SWu Zhangjin } 27538f1952SWu Zhangjin 28538f1952SWu Zhangjin struct dyn_arch_ftrace { 29538f1952SWu Zhangjin }; 30538f1952SWu Zhangjin #endif /* CONFIG_DYNAMIC_FTRACE */ 31d2bb0762SWu Zhangjin #endif /* __ASSEMBLY__ */ 32d2bb0762SWu Zhangjin #endif /* CONFIG_FUNCTION_TRACER */ 33d2bb0762SWu Zhangjin #endif /* _ASM_MIPS_FTRACE_H */ 34