2013-01-20 18:28:06 -05:00
# if !defined(_TRACE_KVM_H) || defined(TRACE_HEADER_MULTI_READ)
# define _TRACE_KVM_H
# include <linux/tracepoint.h>
# undef TRACE_SYSTEM
# define TRACE_SYSTEM kvm
2013-01-20 18:28:09 -05:00
/* Architecturally implementation defined CP15 register access */
TRACE_EVENT ( kvm_emulate_cp15_imp ,
TP_PROTO ( unsigned long Op1 , unsigned long Rt1 , unsigned long CRn ,
unsigned long CRm , unsigned long Op2 , bool is_write ) ,
TP_ARGS ( Op1 , Rt1 , CRn , CRm , Op2 , is_write ) ,
TP_STRUCT__entry (
__field ( unsigned int , Op1 )
__field ( unsigned int , Rt1 )
__field ( unsigned int , CRn )
__field ( unsigned int , CRm )
__field ( unsigned int , Op2 )
__field ( bool , is_write )
) ,
TP_fast_assign (
__entry - > is_write = is_write ;
__entry - > Op1 = Op1 ;
__entry - > Rt1 = Rt1 ;
__entry - > CRn = CRn ;
__entry - > CRm = CRm ;
__entry - > Op2 = Op2 ;
) ,
TP_printk ( " Implementation defined CP15: %s \t p15, %u, r%u, c%u, c%u, %u " ,
( __entry - > is_write ) ? " mcr " : " mrc " ,
__entry - > Op1 , __entry - > Rt1 , __entry - > CRn ,
__entry - > CRm , __entry - > Op2 )
) ;
2015-01-12 16:56:16 +00:00
TRACE_EVENT ( kvm_wfx ,
TP_PROTO ( unsigned long vcpu_pc , bool is_wfe ) ,
TP_ARGS ( vcpu_pc , is_wfe ) ,
2013-01-20 18:28:09 -05:00
TP_STRUCT__entry (
__field ( unsigned long , vcpu_pc )
2015-01-12 16:56:16 +00:00
__field ( bool , is_wfe )
2013-01-20 18:28:09 -05:00
) ,
TP_fast_assign (
__entry - > vcpu_pc = vcpu_pc ;
2015-01-12 16:56:16 +00:00
__entry - > is_wfe = is_wfe ;
2013-01-20 18:28:09 -05:00
) ,
2015-01-12 16:56:16 +00:00
TP_printk ( " guest executed wf%c at: 0x%08lx " ,
__entry - > is_wfe ? ' e ' : ' i ' , __entry - > vcpu_pc )
2013-01-20 18:28:09 -05:00
) ;
TRACE_EVENT ( kvm_hvc ,
TP_PROTO ( unsigned long vcpu_pc , unsigned long r0 , unsigned long imm ) ,
TP_ARGS ( vcpu_pc , r0 , imm ) ,
TP_STRUCT__entry (
__field ( unsigned long , vcpu_pc )
__field ( unsigned long , r0 )
__field ( unsigned long , imm )
) ,
TP_fast_assign (
__entry - > vcpu_pc = vcpu_pc ;
__entry - > r0 = r0 ;
__entry - > imm = imm ;
) ,
TP_printk ( " HVC at 0x%08lx (r0: 0x%08lx, imm: 0x%lx " ,
__entry - > vcpu_pc , __entry - > r0 , __entry - > imm )
) ;
2013-01-20 18:28:06 -05:00
# endif /* _TRACE_KVM_H */
# undef TRACE_INCLUDE_PATH
# define TRACE_INCLUDE_PATH arch / arm / kvm
# undef TRACE_INCLUDE_FILE
# define TRACE_INCLUDE_FILE trace
/* This part must be outside protection */
# include <trace/define_trace.h>