~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/arch/arm64/kvm/trace.h

Version: ~ [ linux-5.3 ] ~ [ linux-5.2.15 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.73 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.144 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.193 ] ~ [ linux-4.8.17 ] ~ [ linux-4.7.10 ] ~ [ linux-4.6.7 ] ~ [ linux-4.5.7 ] ~ [ linux-4.4.193 ] ~ [ linux-4.3.6 ] ~ [ linux-4.2.8 ] ~ [ linux-4.1.52 ] ~ [ linux-4.0.9 ] ~ [ linux-3.19.8 ] ~ [ linux-3.18.140 ] ~ [ linux-3.17.8 ] ~ [ linux-3.16.73 ] ~ [ linux-3.15.10 ] ~ [ linux-3.14.79 ] ~ [ linux-3.13.11 ] ~ [ linux-3.12.74 ] ~ [ linux-3.11.10 ] ~ [ linux-3.10.108 ] ~ [ linux-3.9.11 ] ~ [ linux-3.8.13 ] ~ [ linux-3.7.10 ] ~ [ linux-3.6.11 ] ~ [ linux-3.5.7 ] ~ [ linux-3.4.113 ] ~ [ linux-3.3.8 ] ~ [ linux-3.2.102 ] ~ [ linux-3.1.10 ] ~ [ linux-3.0.101 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.5 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

  1 #if !defined(_TRACE_ARM64_KVM_H) || defined(TRACE_HEADER_MULTI_READ)
  2 #define _TRACE_ARM64_KVM_H
  3 
  4 #include <linux/tracepoint.h>
  5 
  6 #undef TRACE_SYSTEM
  7 #define TRACE_SYSTEM kvm
  8 
  9 TRACE_EVENT(kvm_wfx_arm64,
 10         TP_PROTO(unsigned long vcpu_pc, bool is_wfe),
 11         TP_ARGS(vcpu_pc, is_wfe),
 12 
 13         TP_STRUCT__entry(
 14                 __field(unsigned long,  vcpu_pc)
 15                 __field(bool,           is_wfe)
 16         ),
 17 
 18         TP_fast_assign(
 19                 __entry->vcpu_pc = vcpu_pc;
 20                 __entry->is_wfe  = is_wfe;
 21         ),
 22 
 23         TP_printk("guest executed wf%c at: 0x%08lx",
 24                   __entry->is_wfe ? 'e' : 'i', __entry->vcpu_pc)
 25 );
 26 
 27 TRACE_EVENT(kvm_hvc_arm64,
 28         TP_PROTO(unsigned long vcpu_pc, unsigned long r0, unsigned long imm),
 29         TP_ARGS(vcpu_pc, r0, imm),
 30 
 31         TP_STRUCT__entry(
 32                 __field(unsigned long, vcpu_pc)
 33                 __field(unsigned long, r0)
 34                 __field(unsigned long, imm)
 35         ),
 36 
 37         TP_fast_assign(
 38                 __entry->vcpu_pc = vcpu_pc;
 39                 __entry->r0 = r0;
 40                 __entry->imm = imm;
 41         ),
 42 
 43         TP_printk("HVC at 0x%08lx (r0: 0x%08lx, imm: 0x%lx)",
 44                   __entry->vcpu_pc, __entry->r0, __entry->imm)
 45 );
 46 
 47 TRACE_EVENT(kvm_arm_setup_debug,
 48         TP_PROTO(struct kvm_vcpu *vcpu, __u32 guest_debug),
 49         TP_ARGS(vcpu, guest_debug),
 50 
 51         TP_STRUCT__entry(
 52                 __field(struct kvm_vcpu *, vcpu)
 53                 __field(__u32, guest_debug)
 54         ),
 55 
 56         TP_fast_assign(
 57                 __entry->vcpu = vcpu;
 58                 __entry->guest_debug = guest_debug;
 59         ),
 60 
 61         TP_printk("vcpu: %p, flags: 0x%08x", __entry->vcpu, __entry->guest_debug)
 62 );
 63 
 64 TRACE_EVENT(kvm_arm_clear_debug,
 65         TP_PROTO(__u32 guest_debug),
 66         TP_ARGS(guest_debug),
 67 
 68         TP_STRUCT__entry(
 69                 __field(__u32, guest_debug)
 70         ),
 71 
 72         TP_fast_assign(
 73                 __entry->guest_debug = guest_debug;
 74         ),
 75 
 76         TP_printk("flags: 0x%08x", __entry->guest_debug)
 77 );
 78 
 79 TRACE_EVENT(kvm_arm_set_dreg32,
 80         TP_PROTO(const char *name, __u32 value),
 81         TP_ARGS(name, value),
 82 
 83         TP_STRUCT__entry(
 84                 __field(const char *, name)
 85                 __field(__u32, value)
 86         ),
 87 
 88         TP_fast_assign(
 89                 __entry->name = name;
 90                 __entry->value = value;
 91         ),
 92 
 93         TP_printk("%s: 0x%08x", __entry->name, __entry->value)
 94 );
 95 
 96 TRACE_EVENT(kvm_arm_set_regset,
 97         TP_PROTO(const char *type, int len, __u64 *control, __u64 *value),
 98         TP_ARGS(type, len, control, value),
 99         TP_STRUCT__entry(
100                 __field(const char *, name)
101                 __field(int, len)
102                 __array(u64, ctrls, 16)
103                 __array(u64, values, 16)
104         ),
105         TP_fast_assign(
106                 __entry->name = type;
107                 __entry->len = len;
108                 memcpy(__entry->ctrls, control, len << 3);
109                 memcpy(__entry->values, value, len << 3);
110         ),
111         TP_printk("%d %s CTRL:%s VALUE:%s", __entry->len, __entry->name,
112                 __print_array(__entry->ctrls, __entry->len, sizeof(__u64)),
113                 __print_array(__entry->values, __entry->len, sizeof(__u64)))
114 );
115 
116 TRACE_EVENT(trap_reg,
117         TP_PROTO(const char *fn, int reg, bool is_write, u64 write_value),
118         TP_ARGS(fn, reg, is_write, write_value),
119 
120         TP_STRUCT__entry(
121                 __field(const char *, fn)
122                 __field(int, reg)
123                 __field(bool, is_write)
124                 __field(u64, write_value)
125         ),
126 
127         TP_fast_assign(
128                 __entry->fn = fn;
129                 __entry->reg = reg;
130                 __entry->is_write = is_write;
131                 __entry->write_value = write_value;
132         ),
133 
134         TP_printk("%s %s reg %d (0x%08llx)", __entry->fn,  __entry->is_write?"write to":"read from", __entry->reg, __entry->write_value)
135 );
136 
137 TRACE_EVENT(kvm_handle_sys_reg,
138         TP_PROTO(unsigned long hsr),
139         TP_ARGS(hsr),
140 
141         TP_STRUCT__entry(
142                 __field(unsigned long,  hsr)
143         ),
144 
145         TP_fast_assign(
146                 __entry->hsr = hsr;
147         ),
148 
149         TP_printk("HSR 0x%08lx", __entry->hsr)
150 );
151 
152 TRACE_EVENT(kvm_set_guest_debug,
153         TP_PROTO(struct kvm_vcpu *vcpu, __u32 guest_debug),
154         TP_ARGS(vcpu, guest_debug),
155 
156         TP_STRUCT__entry(
157                 __field(struct kvm_vcpu *, vcpu)
158                 __field(__u32, guest_debug)
159         ),
160 
161         TP_fast_assign(
162                 __entry->vcpu = vcpu;
163                 __entry->guest_debug = guest_debug;
164         ),
165 
166         TP_printk("vcpu: %p, flags: 0x%08x", __entry->vcpu, __entry->guest_debug)
167 );
168 
169 
170 #endif /* _TRACE_ARM64_KVM_H */
171 
172 #undef TRACE_INCLUDE_PATH
173 #define TRACE_INCLUDE_PATH .
174 #undef TRACE_INCLUDE_FILE
175 #define TRACE_INCLUDE_FILE trace
176 
177 /* This part must be outside protection */
178 #include <trace/define_trace.h>
179 

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | Wiki (Japanese) | Wiki (English) | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

osdn.jp