Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
awilliam
GitHub Repository: awilliam/linux-vfio
Path: blob/master/arch/x86/lib/thunk_32.S
10818 views
1
/*
2
* Trampoline to trace irqs off. (otherwise CALLER_ADDR1 might crash)
3
* Copyright 2008 by Steven Rostedt, Red Hat, Inc
4
* (inspired by Andi Kleen's thunk_64.S)
5
* Subject to the GNU public license, v.2. No warranty of any kind.
6
*/
7
8
#include <linux/linkage.h>
9
10
#ifdef CONFIG_TRACE_IRQFLAGS
11
/* put return address in eax (arg1) */
12
.macro thunk_ra name,func
13
.globl \name
14
\name:
15
pushl %eax
16
pushl %ecx
17
pushl %edx
18
/* Place EIP in the arg1 */
19
movl 3*4(%esp), %eax
20
call \func
21
popl %edx
22
popl %ecx
23
popl %eax
24
ret
25
.endm
26
27
thunk_ra trace_hardirqs_on_thunk,trace_hardirqs_on_caller
28
thunk_ra trace_hardirqs_off_thunk,trace_hardirqs_off_caller
29
#endif
30
31