Quellcodebibliothek Statistik Leitseite products/Sources/formale Sprachen/C/Linux/drivers/hv/   (Open Source Betriebssystem Version 6.17.9©)  Datei vom 24.10.2025 mit Größe 10 kB image not shown  

Quelle  hv_trace.h   Sprache: C

 
/* SPDX-License-Identifier: GPL-2.0 */

#undef TRACE_SYSTEM
#define TRACE_SYSTEM hyperv

#if !defined(_HV_TRACE_H) || defined(TRACE_HEADER_MULTI_READ)
#define _HV_TRACE_H

#include <linux/tracepoint.h>

DECLARE_EVENT_CLASS(vmbus_hdr_msg,
 TP_PROTO(const struct vmbus_channel_message_header *hdr),
 TP_ARGS(hdr),
 TP_STRUCT__entry(__field(unsigned int, msgtype)),
 TP_fast_assign(__entry->msgtype = hdr->msgtype;),
 TP_printk("msgtype=%u", __entry->msgtype)
);

DEFINE_EVENT(vmbus_hdr_msg, vmbus_on_msg_dpc,
 TP_PROTO(const struct vmbus_channel_message_header *hdr),
 TP_ARGS(hdr)
);

DEFINE_EVENT(vmbus_hdr_msg, vmbus_on_message,
 TP_PROTO(const struct vmbus_channel_message_header *hdr),
 TP_ARGS(hdr)
);

TRACE_EVENT(vmbus_onoffer,
     TP_PROTO(const struct vmbus_channel_offer_channel *offer),
     TP_ARGS(offer),
     TP_STRUCT__entry(
      __field(u32, child_relid)
      __field(u8, monitorid)
      __field(u16, is_ddc_int)
      __field(u32, connection_id)
      __array(char, if_type, 16)
      __array(char, if_instance, 16)
      __field(u16, chn_flags)
      __field(u16, mmio_mb)
      __field(u16, sub_idx)
      ),
     TP_fast_assign(__entry->child_relid = offer->child_relid;
      __entry->monitorid = offer->monitorid;
      __entry->is_ddc_int = offer->is_dedicated_interrupt;
      __entry->connection_id = offer->connection_id;
      export_guid(__entry->if_type, &offer->offer.if_type);
      export_guid(__entry->if_instance, &offer->offer.if_instance);
      __entry->chn_flags = offer->offer.chn_flags;
      __entry->mmio_mb = offer->offer.mmio_megabytes;
      __entry->sub_idx = offer->offer.sub_channel_index;
      ),
     TP_printk("child_relid 0x%x, monitorid 0x%x, is_dedicated %d, "
        "connection_id 0x%x, if_type %pUl, if_instance %pUl, "
        "chn_flags 0x%x, mmio_megabytes %d, sub_channel_index %d",
        __entry->child_relid, __entry->monitorid,
        __entry->is_ddc_int, __entry->connection_id,
        __entry->if_type, __entry->if_instance,
        __entry->chn_flags, __entry->mmio_mb,
        __entry->sub_idx
      )
 );

TRACE_EVENT(vmbus_onoffer_rescind,
     TP_PROTO(const struct vmbus_channel_rescind_offer *offer),
     TP_ARGS(offer),
     TP_STRUCT__entry(__field(u32, child_relid)),
     TP_fast_assign(__entry->child_relid = offer->child_relid),
     TP_printk("child_relid 0x%x", __entry->child_relid)
 );

TRACE_EVENT(vmbus_onopen_result,
     TP_PROTO(const struct vmbus_channel_open_result *result),
     TP_ARGS(result),
     TP_STRUCT__entry(
      __field(u32, child_relid)
      __field(u32, openid)
      __field(u32, status)
      ),
     TP_fast_assign(__entry->child_relid = result->child_relid;
      __entry->openid = result->openid;
      __entry->status = result->status;
      ),
     TP_printk("child_relid 0x%x, openid %d, status %d",
        __entry->child_relid,  __entry->openid,  __entry->status
      )
 );

TRACE_EVENT(vmbus_ongpadl_created,
     TP_PROTO(const struct vmbus_channel_gpadl_created *gpadlcreated),
     TP_ARGS(gpadlcreated),
     TP_STRUCT__entry(
      __field(u32, child_relid)
      __field(u32, gpadl)
      __field(u32, status)
      ),
     TP_fast_assign(__entry->child_relid = gpadlcreated->child_relid;
      __entry->gpadl = gpadlcreated->gpadl;
      __entry->status = gpadlcreated->creation_status;
      ),
     TP_printk("child_relid 0x%x, gpadl 0x%x, creation_status %d",
        __entry->child_relid,  __entry->gpadl,  __entry->status
      )
 );

TRACE_EVENT(vmbus_onmodifychannel_response,
     TP_PROTO(const struct vmbus_channel_modifychannel_response *response),
     TP_ARGS(response),
     TP_STRUCT__entry(
      __field(u32, child_relid)
      __field(u32, status)
      ),
     TP_fast_assign(__entry->child_relid = response->child_relid;
      __entry->status = response->status;
      ),
     TP_printk("child_relid 0x%x, status %d",
        __entry->child_relid,  __entry->status
      )
 );

TRACE_EVENT(vmbus_ongpadl_torndown,
     TP_PROTO(const struct vmbus_channel_gpadl_torndown *gpadltorndown),
     TP_ARGS(gpadltorndown),
     TP_STRUCT__entry(__field(u32, gpadl)),
     TP_fast_assign(__entry->gpadl = gpadltorndown->gpadl),
     TP_printk("gpadl 0x%x", __entry->gpadl)
 );

TRACE_EVENT(vmbus_onversion_response,
     TP_PROTO(const struct vmbus_channel_version_response *response),
     TP_ARGS(response),
     TP_STRUCT__entry(
      __field(u8, ver)
      ),
     TP_fast_assign(__entry->ver = response->version_supported;
      ),
     TP_printk("version_supported %d", __entry->ver)
 );

TRACE_EVENT(vmbus_request_offers,
     TP_PROTO(int ret),
     TP_ARGS(ret),
     TP_STRUCT__entry(__field(int, ret)),
     TP_fast_assign(__entry->ret = ret),
     TP_printk("sending ret %d", __entry->ret)
 );

TRACE_EVENT(vmbus_open,
     TP_PROTO(const struct vmbus_channel_open_channel *msg, int ret),
     TP_ARGS(msg, ret),
     TP_STRUCT__entry(
      __field(u32, child_relid)
      __field(u32, openid)
      __field(u32, gpadlhandle)
      __field(u32, target_vp)
      __field(u32, offset)
      __field(int, ret)
      ),
     TP_fast_assign(
      __entry->child_relid = msg->child_relid;
      __entry->openid = msg->openid;
      __entry->gpadlhandle = msg->ringbuffer_gpadlhandle;
      __entry->target_vp = msg->target_vp;
      __entry->offset = msg->downstream_ringbuffer_pageoffset;
      __entry->ret = ret;
      ),
     TP_printk("sending child_relid 0x%x, openid %d, "
        "gpadlhandle 0x%x, target_vp 0x%x, offset 0x%x, ret %d",
        __entry->child_relid,  __entry->openid,
        __entry->gpadlhandle, __entry->target_vp,
        __entry->offset, __entry->ret
      )
 );

TRACE_EVENT(vmbus_close_internal,
     TP_PROTO(const struct vmbus_channel_close_channel *msg, int ret),
     TP_ARGS(msg, ret),
     TP_STRUCT__entry(
      __field(u32, child_relid)
      __field(int, ret)
      ),
     TP_fast_assign(
      __entry->child_relid = msg->child_relid;
      __entry->ret = ret;
      ),
     TP_printk("sending child_relid 0x%x, ret %d", __entry->child_relid,
      __entry->ret)
 );

TRACE_EVENT(vmbus_establish_gpadl_header,
     TP_PROTO(const struct vmbus_channel_gpadl_header *msg, int ret),
     TP_ARGS(msg, ret),
     TP_STRUCT__entry(
      __field(u32, child_relid)
      __field(u32, gpadl)
      __field(u16, range_buflen)
      __field(u16, rangecount)
      __field(int, ret)
      ),
     TP_fast_assign(
      __entry->child_relid = msg->child_relid;
      __entry->gpadl = msg->gpadl;
      __entry->range_buflen = msg->range_buflen;
      __entry->rangecount = msg->rangecount;
      __entry->ret = ret;
      ),
     TP_printk("sending child_relid 0x%x, gpadl 0x%x, range_buflen %d "
        "rangecount %d, ret %d",
        __entry->child_relid, __entry->gpadl,
        __entry->range_buflen, __entry->rangecount, __entry->ret
      )
 );

TRACE_EVENT(vmbus_establish_gpadl_body,
     TP_PROTO(const struct vmbus_channel_gpadl_body *msg, int ret),
     TP_ARGS(msg, ret),
     TP_STRUCT__entry(
      __field(u32, msgnumber)
      __field(u32, gpadl)
      __field(int, ret)
      ),
     TP_fast_assign(
      __entry->msgnumber = msg->msgnumber;
      __entry->gpadl = msg->gpadl;
      __entry->ret = ret;
      ),
     TP_printk("sending msgnumber %d, gpadl 0x%x, ret %d",
        __entry->msgnumber, __entry->gpadl, __entry->ret
      )
 );

TRACE_EVENT(vmbus_teardown_gpadl,
     TP_PROTO(const struct vmbus_channel_gpadl_teardown *msg, int ret),
     TP_ARGS(msg, ret),
     TP_STRUCT__entry(
      __field(u32, child_relid)
      __field(u32, gpadl)
      __field(int, ret)
      ),
     TP_fast_assign(
      __entry->child_relid = msg->child_relid;
      __entry->gpadl = msg->gpadl;
      __entry->ret = ret;
      ),
     TP_printk("sending child_relid 0x%x, gpadl 0x%x, ret %d",
        __entry->child_relid, __entry->gpadl, __entry->ret
      )
 );

TRACE_EVENT(vmbus_negotiate_version,
     TP_PROTO(const struct vmbus_channel_initiate_contact *msg, int ret),
     TP_ARGS(msg, ret),
     TP_STRUCT__entry(
      __field(u32, ver)
      __field(u32, target_vcpu)
      __field(int, ret)
      __field(u64, int_page)
      __field(u64, mon_page1)
      __field(u64, mon_page2)
      ),
     TP_fast_assign(
      __entry->ver = msg->vmbus_version_requested;
      __entry->target_vcpu = msg->target_vcpu;
      __entry->int_page = msg->interrupt_page;
      __entry->mon_page1 = msg->monitor_page1;
      __entry->mon_page2 = msg->monitor_page2;
      __entry->ret = ret;
      ),
     TP_printk("sending vmbus_version_requested %d, target_vcpu 0x%x, "
        "pages %llx:%llx:%llx, ret %d",
        __entry->ver, __entry->target_vcpu, __entry->int_page,
        __entry->mon_page1, __entry->mon_page2, __entry->ret
      )
 );

TRACE_EVENT(vmbus_release_relid,
     TP_PROTO(const struct vmbus_channel_relid_released *msg, int ret),
     TP_ARGS(msg, ret),
     TP_STRUCT__entry(
      __field(u32, child_relid)
      __field(int, ret)
      ),
     TP_fast_assign(
      __entry->child_relid = msg->child_relid;
      __entry->ret = ret;
      ),
     TP_printk("sending child_relid 0x%x, ret %d",
        __entry->child_relid, __entry->ret
      )
 );

TRACE_EVENT(vmbus_send_tl_connect_request,
     TP_PROTO(const struct vmbus_channel_tl_connect_request *msg,
       int ret),
     TP_ARGS(msg, ret),
     TP_STRUCT__entry(
      __array(char, guest_id, 16)
      __array(char, host_id, 16)
      __field(int, ret)
      ),
     TP_fast_assign(
      export_guid(__entry->guest_id, &msg->guest_endpoint_id);
      export_guid(__entry->host_id, &msg->host_service_id);
      __entry->ret = ret;
      ),
     TP_printk("sending guest_endpoint_id %pUl, host_service_id %pUl, "
        "ret %d",
        __entry->guest_id, __entry->host_id, __entry->ret
      )
 );

TRACE_EVENT(vmbus_send_modifychannel,
     TP_PROTO(const struct vmbus_channel_modifychannel *msg,
       int ret),
     TP_ARGS(msg, ret),
     TP_STRUCT__entry(
      __field(u32, child_relid)
      __field(u32, target_vp)
      __field(int, ret)
      ),
     TP_fast_assign(
      __entry->child_relid = msg->child_relid;
      __entry->target_vp = msg->target_vp;
      __entry->ret = ret;
      ),
     TP_printk("binding child_relid 0x%x to target_vp 0x%x, ret %d",
        __entry->child_relid, __entry->target_vp, __entry->ret
      )
 );

DECLARE_EVENT_CLASS(vmbus_channel,
 TP_PROTO(const struct vmbus_channel *channel),
 TP_ARGS(channel),
 TP_STRUCT__entry(__field(u32, relid)),
 TP_fast_assign(__entry->relid = channel->offermsg.child_relid),
 TP_printk("relid 0x%x", __entry->relid)
);

DEFINE_EVENT(vmbus_channel, vmbus_chan_sched,
     TP_PROTO(const struct vmbus_channel *channel),
     TP_ARGS(channel)
);

DEFINE_EVENT(vmbus_channel, vmbus_setevent,
     TP_PROTO(const struct vmbus_channel *channel),
     TP_ARGS(channel)
);

DEFINE_EVENT(vmbus_channel, vmbus_on_event,
     TP_PROTO(const struct vmbus_channel *channel),
     TP_ARGS(channel)
);

#undef TRACE_INCLUDE_PATH
#define TRACE_INCLUDE_PATH .
#undef TRACE_INCLUDE_FILE
#define TRACE_INCLUDE_FILE hv_trace
#endif /* _HV_TRACE_H */

/* This part must be outside protection */
#include <trace/define_trace.h>

Messung V0.5
C=96 H=92 G=93

¤ Dauer der Verarbeitung: 0.4 Sekunden  ¤

*© Formatika GbR, Deutschland






Wurzel

Suchen

Beweissystem der NASA

Beweissystem Isabelle

NIST Cobol Testsuite

Cephes Mathematical Library

Wiener Entwicklungsmethode

Haftungshinweis

Die Informationen auf dieser Webseite wurden nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit, noch Qualität der bereit gestellten Informationen zugesichert.

Bemerkung:

Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.