blob: bfa32aa428e59190455b3026deeb67f721367610 [file] [log] [blame]
Greg Kroah-Hartmanb2441312017-11-01 15:07:57 +01001/* SPDX-License-Identifier: GPL-2.0 */
Zhonghui Fu431d4522015-03-18 15:54:27 +01002#ifndef _ASM_X86_PM_TRACE_H
3#define _ASM_X86_PM_TRACE_H
Thomas Gleixner3578fac2008-01-30 13:30:38 +01004
5#include <asm/asm.h>
6
Joe Perchesc6fd5d42008-03-23 01:03:19 -07007#define TRACE_RESUME(user) \
8do { \
Thomas Gleixner3578fac2008-01-30 13:30:38 +01009 if (pm_trace_enabled) { \
Jan Beulich63687a52008-05-12 15:44:41 +020010 const void *tracedata; \
H. Peter Anvin8df96762008-08-18 18:13:33 -070011 asm volatile(_ASM_MOV " $1f,%0\n" \
Joe Perchesc6fd5d42008-03-23 01:03:19 -070012 ".section .tracedata,\"a\"\n" \
13 "1:\t.word %c1\n\t" \
14 _ASM_PTR " %c2\n" \
15 ".previous" \
16 :"=r" (tracedata) \
17 : "i" (__LINE__), "i" (__FILE__)); \
Zhonghui Fu431d4522015-03-18 15:54:27 +010018 generate_pm_trace(tracedata, user); \
Thomas Gleixner3578fac2008-01-30 13:30:38 +010019 } \
20} while (0)
21
Zhonghui Fu431d4522015-03-18 15:54:27 +010022#define TRACE_SUSPEND(user) TRACE_RESUME(user)
23
24#endif /* _ASM_X86_PM_TRACE_H */