/* 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 */ 
 |