blob: 7b7ac42c366135d8512ef90758ffcb85edd0abb4 [file] [log] [blame]
Zhonghui Fu431d4522015-03-18 15:54:27 +01001#ifndef _ASM_X86_PM_TRACE_H
2#define _ASM_X86_PM_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__)); \
Zhonghui Fu431d4522015-03-18 15:54:27 +010017 generate_pm_trace(tracedata, user); \
Thomas Gleixner3578fac2008-01-30 13:30:38 +010018 } \
19} while (0)
20
Zhonghui Fu431d4522015-03-18 15:54:27 +010021#define TRACE_SUSPEND(user) TRACE_RESUME(user)
22
23#endif /* _ASM_X86_PM_TRACE_H */