drivers/hv/mshv_trace.h

Source file repositories/reference/linux-study-clean/drivers/hv/mshv_trace.h

File Facts

System
Linux kernel
Corpus path
drivers/hv/mshv_trace.h
Extension
.h
Size
15503 bytes
Lines
545
Domain
Driver Families
Bucket
drivers/hv
Inferred role
Driver Families: implementation source
Status
source implementation candidate

Why This File Exists

Repeatable hardware-adapter layer. Deep compatibility for every driver is out of scope; this atlas records patterns, probe lifecycles, bus glue, IRQ/DMA usage, and links back to core abstractions.

Dependency Surface

Detected Declarations

Annotated Snippet

#undef TRACE_SYSTEM
#define TRACE_SYSTEM mshv

#if !defined(__MSHV_TRACE_H) || defined(TRACE_HEADER_MULTI_READ)
#define _MSHV_TRACE_H_

#include <linux/tracepoint.h>
#include <hyperv/hvhdk.h>

#undef TRACE_INCLUDE_PATH
#define TRACE_INCLUDE_PATH ../../drivers/hv

#undef TRACE_INCLUDE_FILE
#define TRACE_INCLUDE_FILE mshv_trace

TRACE_EVENT(mshv_create_partition,
	    TP_PROTO(u64 partition_id, int vm_fd),
	    TP_ARGS(partition_id, vm_fd),
	    TP_STRUCT__entry(
		    __field(u64, partition_id)
		    __field(int, vm_fd)
	    ),
	    TP_fast_assign(
		    __entry->partition_id = partition_id;
		    __entry->vm_fd = vm_fd;
	    ),
	    TP_printk("partition_id=%llu vm_fd=%d",
		    __entry->partition_id,
		    __entry->vm_fd
	    )
);

TRACE_EVENT(mshv_hvcall_create_partition,
	    TP_PROTO(u64 flags, s64 partition_id),
	    TP_ARGS(flags, partition_id),
	    TP_STRUCT__entry(
		    __field(u64, flags)
		    __field(s64, partition_id)
	    ),
	    TP_fast_assign(
		    __entry->flags = flags;
		    __entry->partition_id = partition_id;
	    ),
	    TP_printk("flags=%#llx partition_id=%lld",
		    __entry->flags,
		    __entry->partition_id
	    )
);

TRACE_EVENT(mshv_hvcall_initialize_partition,
	    TP_PROTO(u64 partition_id, u64 status),
	    TP_ARGS(partition_id, status),
	    TP_STRUCT__entry(
		    __field(u64, partition_id)
		    __field(u64, status)
	    ),
	    TP_fast_assign(
		    __entry->partition_id = partition_id;
		    __entry->status = status;
	    ),
	    TP_printk("partition_id=%llu status=%#llx",
		    __entry->partition_id,
		    __entry->status
	    )
);

TRACE_EVENT(mshv_partition_release,
	    TP_PROTO(u64 partition_id),
	    TP_ARGS(partition_id),
	    TP_STRUCT__entry(
		    __field(u64, partition_id)
	    ),
	    TP_fast_assign(
		    __entry->partition_id = partition_id;
	    ),
	    TP_printk("partition_id=%llu",
		    __entry->partition_id
	    )
);

TRACE_EVENT(mshv_destroy_partition,
	    TP_PROTO(u64 partition_id),
	    TP_ARGS(partition_id),
	    TP_STRUCT__entry(
		    __field(u64, partition_id)
	    ),
	    TP_fast_assign(
		    __entry->partition_id = partition_id;
	    ),
	    TP_printk("partition_id=%llu",

Annotation

Implementation Notes