| /* SPDX-License-Identifier: GPL-2.0 */ |
| #ifndef _ASM_X86_PM_TRACE_H |
| #define _ASM_X86_PM_TRACE_H |
| |
| #include <asm/asm.h> |
| |
| #define TRACE_RESUME(user) \ |
| do { \ |
| if (pm_trace_enabled) { \ |
| const void *tracedata; \ |
| asm volatile(_ASM_MOV " $1f,%0\n" \ |
| ".section .tracedata,\"a\"\n" \ |
| "1:\t.word %c1\n\t" \ |
| _ASM_PTR " %c2\n" \ |
| ".previous" \ |
| :"=r" (tracedata) \ |
| : "i" (__LINE__), "i" (__FILE__)); \ |
| generate_pm_trace(tracedata, user); \ |
| } \ |
| } while (0) |
| |
| #define TRACE_SUSPEND(user) TRACE_RESUME(user) |
| |
| #endif /* _ASM_X86_PM_TRACE_H */ |