18c2ecf20Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0 */ 28c2ecf20Sopenharmony_ci#if !defined(_TRACE_VGIC_H) || defined(TRACE_HEADER_MULTI_READ) 38c2ecf20Sopenharmony_ci#define _TRACE_VGIC_H 48c2ecf20Sopenharmony_ci 58c2ecf20Sopenharmony_ci#include <linux/tracepoint.h> 68c2ecf20Sopenharmony_ci 78c2ecf20Sopenharmony_ci#undef TRACE_SYSTEM 88c2ecf20Sopenharmony_ci#define TRACE_SYSTEM kvm 98c2ecf20Sopenharmony_ci 108c2ecf20Sopenharmony_ciTRACE_EVENT(vgic_update_irq_pending, 118c2ecf20Sopenharmony_ci TP_PROTO(unsigned long vcpu_id, __u32 irq, bool level), 128c2ecf20Sopenharmony_ci TP_ARGS(vcpu_id, irq, level), 138c2ecf20Sopenharmony_ci 148c2ecf20Sopenharmony_ci TP_STRUCT__entry( 158c2ecf20Sopenharmony_ci __field( unsigned long, vcpu_id ) 168c2ecf20Sopenharmony_ci __field( __u32, irq ) 178c2ecf20Sopenharmony_ci __field( bool, level ) 188c2ecf20Sopenharmony_ci ), 198c2ecf20Sopenharmony_ci 208c2ecf20Sopenharmony_ci TP_fast_assign( 218c2ecf20Sopenharmony_ci __entry->vcpu_id = vcpu_id; 228c2ecf20Sopenharmony_ci __entry->irq = irq; 238c2ecf20Sopenharmony_ci __entry->level = level; 248c2ecf20Sopenharmony_ci ), 258c2ecf20Sopenharmony_ci 268c2ecf20Sopenharmony_ci TP_printk("VCPU: %ld, IRQ %d, level: %d", 278c2ecf20Sopenharmony_ci __entry->vcpu_id, __entry->irq, __entry->level) 288c2ecf20Sopenharmony_ci); 298c2ecf20Sopenharmony_ci 308c2ecf20Sopenharmony_ci#endif /* _TRACE_VGIC_H */ 318c2ecf20Sopenharmony_ci 328c2ecf20Sopenharmony_ci#undef TRACE_INCLUDE_PATH 338c2ecf20Sopenharmony_ci#define TRACE_INCLUDE_PATH ../../arch/arm64/kvm/vgic 348c2ecf20Sopenharmony_ci#undef TRACE_INCLUDE_FILE 358c2ecf20Sopenharmony_ci#define TRACE_INCLUDE_FILE trace 368c2ecf20Sopenharmony_ci 378c2ecf20Sopenharmony_ci/* This part must be outside protection */ 388c2ecf20Sopenharmony_ci#include <trace/define_trace.h> 39