blob: e39376d7de50f8e33b3bf22fb2c3d32c82bd89f9 [file] [log] [blame]
Vegard Nossum77ef50a2008-06-18 17:08:48 +02001#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
Vegard Nossum77ef50a2008-06-18 17:08:48 +020021#endif /* ASM_X86__RESUME_TRACE_H */