blob: 8d9f0b41ee86ca40f7f9b19d02f43c76348e1069 [file] [log] [blame]
Thomas Gleixner3578fac2008-01-30 13:30:38 +01001#ifndef _ASM_X86_RESUME_TRACE_H
2#define _ASM_X86_RESUME_TRACE_H
3
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; \
Thomas Gleixner3578fac2008-01-30 13:30:38 +010010 asm volatile(_ASM_MOV_UL " $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
Thomas Gleixner96a388d2007-10-11 11:20:03 +020021#endif