root/arch/x86/include/asm/trace/exceptions.h

/* [<][>][^][v][top][bottom][index][help] */

INCLUDED FROM


   1 /* SPDX-License-Identifier: GPL-2.0 */
   2 #undef TRACE_SYSTEM
   3 #define TRACE_SYSTEM exceptions
   4 
   5 #if !defined(_TRACE_PAGE_FAULT_H) || defined(TRACE_HEADER_MULTI_READ)
   6 #define _TRACE_PAGE_FAULT_H
   7 
   8 #include <linux/tracepoint.h>
   9 #include <asm/trace/common.h>
  10 
  11 extern int trace_pagefault_reg(void);
  12 extern void trace_pagefault_unreg(void);
  13 
  14 DECLARE_EVENT_CLASS(x86_exceptions,
  15 
  16         TP_PROTO(unsigned long address, struct pt_regs *regs,
  17                  unsigned long error_code),
  18 
  19         TP_ARGS(address, regs, error_code),
  20 
  21         TP_STRUCT__entry(
  22                 __field(                unsigned long, address  )
  23                 __field(                unsigned long, ip       )
  24                 __field(                unsigned long, error_code )
  25         ),
  26 
  27         TP_fast_assign(
  28                 __entry->address = address;
  29                 __entry->ip = regs->ip;
  30                 __entry->error_code = error_code;
  31         ),
  32 
  33         TP_printk("address=%ps ip=%ps error_code=0x%lx",
  34                   (void *)__entry->address, (void *)__entry->ip,
  35                   __entry->error_code) );
  36 
  37 #define DEFINE_PAGE_FAULT_EVENT(name)                           \
  38 DEFINE_EVENT_FN(x86_exceptions, name,                           \
  39         TP_PROTO(unsigned long address, struct pt_regs *regs,   \
  40                  unsigned long error_code),                     \
  41         TP_ARGS(address, regs, error_code),                     \
  42         trace_pagefault_reg, trace_pagefault_unreg);
  43 
  44 DEFINE_PAGE_FAULT_EVENT(page_fault_user);
  45 DEFINE_PAGE_FAULT_EVENT(page_fault_kernel);
  46 
  47 #undef TRACE_INCLUDE_PATH
  48 #undef TRACE_INCLUDE_FILE
  49 #define TRACE_INCLUDE_PATH .
  50 #define TRACE_INCLUDE_FILE exceptions
  51 #endif /*  _TRACE_PAGE_FAULT_H */
  52 
  53 /* This part must be outside protection */
  54 #include <trace/define_trace.h>

/* [<][>][^][v][top][bottom][index][help] */