blob: 3ff1c2cb1da574d7bf36dabfb215da168d674d58 [file] [log] [blame]
H. Peter Anvin1965aae2008-10-22 22:26:29 -07001#ifndef _ASM_X86_RESUME_TRACE_H
2#define _ASM_X86_RESUME_TRACE_H
Thomas Gleixner3578fac2008-01-30 13:30:38 +01003
4#include <asm/asm.h>
5
Joe Perchesc6fd5d42008-03-23 01:03:19 -07006#define TRACE_RESUME(user) \
7do { \
Thomas Gleixner3578fac2008-01-30 13:30:38 +01008 if (pm_trace_enabled) { \
Jan Beulich63687a52008-05-12 15:44:41 +02009 const void *tracedata; \
H. Peter Anvin8df96762008-08-18 18:13:33 -070010 asm volatile(_ASM_MOV " $1f,%0\n" \
Joe Perchesc6fd5d42008-03-23 01:03:19 -070011 ".section .tracedata,\"a\"\n" \
12 "1:\t.word %c1\n\t" \
13 _ASM_PTR " %c2\n" \
14 ".previous" \
15 :"=r" (tracedata) \
16 : "i" (__LINE__), "i" (__FILE__)); \
Thomas Gleixner3578fac2008-01-30 13:30:38 +010017 generate_resume_trace(tracedata, user); \
18 } \
19} while (0)
20
H. Peter Anvin1965aae2008-10-22 22:26:29 -070021#endif /* _ASM_X86_RESUME_TRACE_H */