brintos

brintos / linux-shallow public Read only

0
0
Text · 10.9 KiB · c02a171 Raw
362 lines · c
1/* SPDX-License-Identifier: GPL-2.0 */2 3#undef TRACE_SYSTEM4#define TRACE_SYSTEM hyperv5 6#if !defined(_HV_TRACE_H) || defined(TRACE_HEADER_MULTI_READ)7#define _HV_TRACE_H8 9#include <linux/tracepoint.h>10 11DECLARE_EVENT_CLASS(vmbus_hdr_msg,12	TP_PROTO(const struct vmbus_channel_message_header *hdr),13	TP_ARGS(hdr),14	TP_STRUCT__entry(__field(unsigned int, msgtype)),15	TP_fast_assign(__entry->msgtype = hdr->msgtype;),16	TP_printk("msgtype=%u", __entry->msgtype)17);18 19DEFINE_EVENT(vmbus_hdr_msg, vmbus_on_msg_dpc,20	TP_PROTO(const struct vmbus_channel_message_header *hdr),21	TP_ARGS(hdr)22);23 24DEFINE_EVENT(vmbus_hdr_msg, vmbus_on_message,25	TP_PROTO(const struct vmbus_channel_message_header *hdr),26	TP_ARGS(hdr)27);28 29TRACE_EVENT(vmbus_onoffer,30	    TP_PROTO(const struct vmbus_channel_offer_channel *offer),31	    TP_ARGS(offer),32	    TP_STRUCT__entry(33		    __field(u32, child_relid)34		    __field(u8, monitorid)35		    __field(u16, is_ddc_int)36		    __field(u32, connection_id)37		    __array(char, if_type, 16)38		    __array(char, if_instance, 16)39		    __field(u16, chn_flags)40		    __field(u16, mmio_mb)41		    __field(u16, sub_idx)42		    ),43	    TP_fast_assign(__entry->child_relid = offer->child_relid;44			   __entry->monitorid = offer->monitorid;45			   __entry->is_ddc_int = offer->is_dedicated_interrupt;46			   __entry->connection_id = offer->connection_id;47			   export_guid(__entry->if_type, &offer->offer.if_type);48			   export_guid(__entry->if_instance, &offer->offer.if_instance);49			   __entry->chn_flags = offer->offer.chn_flags;50			   __entry->mmio_mb = offer->offer.mmio_megabytes;51			   __entry->sub_idx = offer->offer.sub_channel_index;52		    ),53	    TP_printk("child_relid 0x%x, monitorid 0x%x, is_dedicated %d, "54		      "connection_id 0x%x, if_type %pUl, if_instance %pUl, "55		      "chn_flags 0x%x, mmio_megabytes %d, sub_channel_index %d",56		      __entry->child_relid, __entry->monitorid,57		      __entry->is_ddc_int, __entry->connection_id,58		      __entry->if_type, __entry->if_instance,59		      __entry->chn_flags, __entry->mmio_mb,60		      __entry->sub_idx61		    )62	);63 64TRACE_EVENT(vmbus_onoffer_rescind,65	    TP_PROTO(const struct vmbus_channel_rescind_offer *offer),66	    TP_ARGS(offer),67	    TP_STRUCT__entry(__field(u32, child_relid)),68	    TP_fast_assign(__entry->child_relid = offer->child_relid),69	    TP_printk("child_relid 0x%x", __entry->child_relid)70	);71 72TRACE_EVENT(vmbus_onopen_result,73	    TP_PROTO(const struct vmbus_channel_open_result *result),74	    TP_ARGS(result),75	    TP_STRUCT__entry(76		    __field(u32, child_relid)77		    __field(u32, openid)78		    __field(u32, status)79		    ),80	    TP_fast_assign(__entry->child_relid = result->child_relid;81			   __entry->openid = result->openid;82			   __entry->status = result->status;83		    ),84	    TP_printk("child_relid 0x%x, openid %d, status %d",85		      __entry->child_relid,  __entry->openid,  __entry->status86		    )87	);88 89TRACE_EVENT(vmbus_ongpadl_created,90	    TP_PROTO(const struct vmbus_channel_gpadl_created *gpadlcreated),91	    TP_ARGS(gpadlcreated),92	    TP_STRUCT__entry(93		    __field(u32, child_relid)94		    __field(u32, gpadl)95		    __field(u32, status)96		    ),97	    TP_fast_assign(__entry->child_relid = gpadlcreated->child_relid;98			   __entry->gpadl = gpadlcreated->gpadl;99			   __entry->status = gpadlcreated->creation_status;100		    ),101	    TP_printk("child_relid 0x%x, gpadl 0x%x, creation_status %d",102		      __entry->child_relid,  __entry->gpadl,  __entry->status103		    )104	);105 106TRACE_EVENT(vmbus_onmodifychannel_response,107	    TP_PROTO(const struct vmbus_channel_modifychannel_response *response),108	    TP_ARGS(response),109	    TP_STRUCT__entry(110		    __field(u32, child_relid)111		    __field(u32, status)112		    ),113	    TP_fast_assign(__entry->child_relid = response->child_relid;114			   __entry->status = response->status;115		    ),116	    TP_printk("child_relid 0x%x, status %d",117		      __entry->child_relid,  __entry->status118		    )119	);120 121TRACE_EVENT(vmbus_ongpadl_torndown,122	    TP_PROTO(const struct vmbus_channel_gpadl_torndown *gpadltorndown),123	    TP_ARGS(gpadltorndown),124	    TP_STRUCT__entry(__field(u32, gpadl)),125	    TP_fast_assign(__entry->gpadl = gpadltorndown->gpadl),126	    TP_printk("gpadl 0x%x", __entry->gpadl)127	);128 129TRACE_EVENT(vmbus_onversion_response,130	    TP_PROTO(const struct vmbus_channel_version_response *response),131	    TP_ARGS(response),132	    TP_STRUCT__entry(133		    __field(u8, ver)134		    ),135	    TP_fast_assign(__entry->ver = response->version_supported;136		    ),137	    TP_printk("version_supported %d", __entry->ver)138	);139 140TRACE_EVENT(vmbus_request_offers,141	    TP_PROTO(int ret),142	    TP_ARGS(ret),143	    TP_STRUCT__entry(__field(int, ret)),144	    TP_fast_assign(__entry->ret = ret),145	    TP_printk("sending ret %d", __entry->ret)146	);147 148TRACE_EVENT(vmbus_open,149	    TP_PROTO(const struct vmbus_channel_open_channel *msg, int ret),150	    TP_ARGS(msg, ret),151	    TP_STRUCT__entry(152		    __field(u32, child_relid)153		    __field(u32, openid)154		    __field(u32, gpadlhandle)155		    __field(u32, target_vp)156		    __field(u32, offset)157		    __field(int, ret)158		    ),159	    TP_fast_assign(160		    __entry->child_relid = msg->child_relid;161		    __entry->openid = msg->openid;162		    __entry->gpadlhandle = msg->ringbuffer_gpadlhandle;163		    __entry->target_vp = msg->target_vp;164		    __entry->offset = msg->downstream_ringbuffer_pageoffset;165		    __entry->ret = ret;166		    ),167	    TP_printk("sending child_relid 0x%x, openid %d, "168		      "gpadlhandle 0x%x, target_vp 0x%x, offset 0x%x, ret %d",169		      __entry->child_relid,  __entry->openid,170		      __entry->gpadlhandle, __entry->target_vp,171		      __entry->offset, __entry->ret172		    )173	);174 175TRACE_EVENT(vmbus_close_internal,176	    TP_PROTO(const struct vmbus_channel_close_channel *msg, int ret),177	    TP_ARGS(msg, ret),178	    TP_STRUCT__entry(179		    __field(u32, child_relid)180		    __field(int, ret)181		    ),182	    TP_fast_assign(183		    __entry->child_relid = msg->child_relid;184		    __entry->ret = ret;185		    ),186	    TP_printk("sending child_relid 0x%x, ret %d", __entry->child_relid,187		    __entry->ret)188	);189 190TRACE_EVENT(vmbus_establish_gpadl_header,191	    TP_PROTO(const struct vmbus_channel_gpadl_header *msg, int ret),192	    TP_ARGS(msg, ret),193	    TP_STRUCT__entry(194		    __field(u32, child_relid)195		    __field(u32, gpadl)196		    __field(u16, range_buflen)197		    __field(u16, rangecount)198		    __field(int, ret)199		    ),200	    TP_fast_assign(201		    __entry->child_relid = msg->child_relid;202		    __entry->gpadl = msg->gpadl;203		    __entry->range_buflen = msg->range_buflen;204		    __entry->rangecount = msg->rangecount;205		    __entry->ret = ret;206		    ),207	    TP_printk("sending child_relid 0x%x, gpadl 0x%x, range_buflen %d "208		      "rangecount %d, ret %d",209		      __entry->child_relid, __entry->gpadl,210		      __entry->range_buflen, __entry->rangecount, __entry->ret211		    )212	);213 214TRACE_EVENT(vmbus_establish_gpadl_body,215	    TP_PROTO(const struct vmbus_channel_gpadl_body *msg, int ret),216	    TP_ARGS(msg, ret),217	    TP_STRUCT__entry(218		    __field(u32, msgnumber)219		    __field(u32, gpadl)220		    __field(int, ret)221		    ),222	    TP_fast_assign(223		    __entry->msgnumber = msg->msgnumber;224		    __entry->gpadl = msg->gpadl;225		    __entry->ret = ret;226		    ),227	    TP_printk("sending msgnumber %d, gpadl 0x%x, ret %d",228		      __entry->msgnumber, __entry->gpadl, __entry->ret229		    )230	);231 232TRACE_EVENT(vmbus_teardown_gpadl,233	    TP_PROTO(const struct vmbus_channel_gpadl_teardown *msg, int ret),234	    TP_ARGS(msg, ret),235	    TP_STRUCT__entry(236		    __field(u32, child_relid)237		    __field(u32, gpadl)238		    __field(int, ret)239		    ),240	    TP_fast_assign(241		    __entry->child_relid = msg->child_relid;242		    __entry->gpadl = msg->gpadl;243		    __entry->ret = ret;244		    ),245	    TP_printk("sending child_relid 0x%x, gpadl 0x%x, ret %d",246		      __entry->child_relid, __entry->gpadl, __entry->ret247		    )248	);249 250TRACE_EVENT(vmbus_negotiate_version,251	    TP_PROTO(const struct vmbus_channel_initiate_contact *msg, int ret),252	    TP_ARGS(msg, ret),253	    TP_STRUCT__entry(254		    __field(u32, ver)255		    __field(u32, target_vcpu)256		    __field(int, ret)257		    __field(u64, int_page)258		    __field(u64, mon_page1)259		    __field(u64, mon_page2)260		    ),261	    TP_fast_assign(262		    __entry->ver = msg->vmbus_version_requested;263		    __entry->target_vcpu = msg->target_vcpu;264		    __entry->int_page = msg->interrupt_page;265		    __entry->mon_page1 = msg->monitor_page1;266		    __entry->mon_page2 = msg->monitor_page2;267		    __entry->ret = ret;268		    ),269	    TP_printk("sending vmbus_version_requested %d, target_vcpu 0x%x, "270		      "pages %llx:%llx:%llx, ret %d",271		      __entry->ver, __entry->target_vcpu, __entry->int_page,272		      __entry->mon_page1, __entry->mon_page2, __entry->ret273		    )274	);275 276TRACE_EVENT(vmbus_release_relid,277	    TP_PROTO(const struct vmbus_channel_relid_released *msg, int ret),278	    TP_ARGS(msg, ret),279	    TP_STRUCT__entry(280		    __field(u32, child_relid)281		    __field(int, ret)282		    ),283	    TP_fast_assign(284		    __entry->child_relid = msg->child_relid;285		    __entry->ret = ret;286		    ),287	    TP_printk("sending child_relid 0x%x, ret %d",288		      __entry->child_relid, __entry->ret289		    )290	);291 292TRACE_EVENT(vmbus_send_tl_connect_request,293	    TP_PROTO(const struct vmbus_channel_tl_connect_request *msg,294		     int ret),295	    TP_ARGS(msg, ret),296	    TP_STRUCT__entry(297		    __array(char, guest_id, 16)298		    __array(char, host_id, 16)299		    __field(int, ret)300		    ),301	    TP_fast_assign(302		    export_guid(__entry->guest_id, &msg->guest_endpoint_id);303		    export_guid(__entry->host_id, &msg->host_service_id);304		    __entry->ret = ret;305		    ),306	    TP_printk("sending guest_endpoint_id %pUl, host_service_id %pUl, "307		      "ret %d",308		      __entry->guest_id, __entry->host_id, __entry->ret309		    )310	);311 312TRACE_EVENT(vmbus_send_modifychannel,313	    TP_PROTO(const struct vmbus_channel_modifychannel *msg,314		     int ret),315	    TP_ARGS(msg, ret),316	    TP_STRUCT__entry(317		    __field(u32, child_relid)318		    __field(u32, target_vp)319		    __field(int, ret)320		    ),321	    TP_fast_assign(322		    __entry->child_relid = msg->child_relid;323		    __entry->target_vp = msg->target_vp;324		    __entry->ret = ret;325		    ),326	    TP_printk("binding child_relid 0x%x to target_vp 0x%x, ret %d",327		      __entry->child_relid, __entry->target_vp, __entry->ret328		    )329	);330 331DECLARE_EVENT_CLASS(vmbus_channel,332	TP_PROTO(const struct vmbus_channel *channel),333	TP_ARGS(channel),334	TP_STRUCT__entry(__field(u32, relid)),335	TP_fast_assign(__entry->relid = channel->offermsg.child_relid),336	TP_printk("relid 0x%x", __entry->relid)337);338 339DEFINE_EVENT(vmbus_channel, vmbus_chan_sched,340	    TP_PROTO(const struct vmbus_channel *channel),341	    TP_ARGS(channel)342);343 344DEFINE_EVENT(vmbus_channel, vmbus_setevent,345	    TP_PROTO(const struct vmbus_channel *channel),346	    TP_ARGS(channel)347);348 349DEFINE_EVENT(vmbus_channel, vmbus_on_event,350	    TP_PROTO(const struct vmbus_channel *channel),351	    TP_ARGS(channel)352);353 354#undef TRACE_INCLUDE_PATH355#define TRACE_INCLUDE_PATH .356#undef TRACE_INCLUDE_FILE357#define TRACE_INCLUDE_FILE hv_trace358#endif /* _HV_TRACE_H */359 360/* This part must be outside protection */361#include <trace/define_trace.h>362