1/* SPDX-License-Identifier: GPL-2.0 */
2#ifndef _ASM_X86_PM_TRACE_H
3#define _ASM_X86_PM_TRACE_H
4
5#include <asm/asm.h>
6
7#define TRACE_RESUME(user) \
8do { \
9 if (pm_trace_enabled) { \
10 const void *tracedata; \
11 asm volatile(_ASM_MOV " $1f,%0\n" \
12 ".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__)); \
18 generate_pm_trace(tracedata, user); \
19 } \
20} while (0)
21
22#define TRACE_SUSPEND(user) TRACE_RESUME(user)
23
24#endif /* _ASM_X86_PM_TRACE_H */
25

source code of linux/arch/x86/include/asm/pm-trace.h