1
2
3
4
5
6
7
8
9
10
11
12
13 #include <linux/linkage.h>
14 #include <asm/asmmacro.h>
15 #include <asm/ftrace.h>
16
17
18
19
20
21
22
23 ENTRY(_mcount)
24
25 abi_entry_default
26
27 movi a4, ftrace_trace_function
28 l32i a4, a4, 0
29 movi a3, ftrace_stub
30 bne a3, a4, 1f
31 abi_ret_default
32
33 1: xor a7, a2, a1
34 movi a3, 0x3fffffff
35 and a7, a7, a3
36 xor a7, a7, a1
37
38 xor a6, a0, a1
39 and a6, a6, a3
40 xor a6, a6, a1
41 addi a6, a6, -MCOUNT_INSN_SIZE
42 callx4 a4
43
44 abi_ret_default
45
46 ENDPROC(_mcount)
47
48 ENTRY(ftrace_stub)
49 abi_entry_default
50 abi_ret_default
51 ENDPROC(ftrace_stub)