Commit 66e2d96b authored by Steven Rostedt's avatar Steven Rostedt Committed by Huacai Chen
Browse files

LoongArch: KVM: Move kvm_iocsr tracepoint out of generic code



The tracepoint kvm_iocsr is only used by the loongarch architecture. As
trace events can take up to 5K of memory, move this tracepoint into the
LoongArch specific tracing file so that it doesn't waste memory for all
other architectures.

Reviewed-by: default avatarBibo Mao <maobibo@loongson.cn>
Signed-off-by: default avatarSteven Rostedt (Google) <rostedt@goodmis.org>
Signed-off-by: default avatarHuacai Chen <chenhuacai@loongson.cn>
parent 77336b91
Loading
Loading
Loading
Loading
+35 −0
Original line number Diff line number Diff line
@@ -161,6 +161,41 @@ TRACE_EVENT(kvm_aux,
		      __entry->pc)
);

#define KVM_TRACE_IOCSR_READ_UNSATISFIED 0
#define KVM_TRACE_IOCSR_READ 1
#define KVM_TRACE_IOCSR_WRITE 2

#define kvm_trace_symbol_iocsr \
	{ KVM_TRACE_IOCSR_READ_UNSATISFIED, "unsatisfied-read" }, \
	{ KVM_TRACE_IOCSR_READ, "read" }, \
	{ KVM_TRACE_IOCSR_WRITE, "write" }

TRACE_EVENT(kvm_iocsr,
	TP_PROTO(int type, int len, u64 gpa, void *val),
	TP_ARGS(type, len, gpa, val),

	TP_STRUCT__entry(
		__field(	u32,	type	)
		__field(	u32,	len	)
		__field(	u64,	gpa	)
		__field(	u64,	val	)
	),

	TP_fast_assign(
		__entry->type		= type;
		__entry->len		= len;
		__entry->gpa		= gpa;
		__entry->val		= 0;
		if (val)
			memcpy(&__entry->val, val,
			       min_t(u32, sizeof(__entry->val), len));
	),

	TP_printk("iocsr %s len %u gpa 0x%llx val 0x%llx",
		  __print_symbolic(__entry->type, kvm_trace_symbol_iocsr),
		  __entry->len, __entry->gpa, __entry->val)
);

TRACE_EVENT(kvm_vpid_change,
	    TP_PROTO(struct kvm_vcpu *vcpu, unsigned long vpid),
	    TP_ARGS(vcpu, vpid),
+0 −35
Original line number Diff line number Diff line
@@ -156,41 +156,6 @@ TRACE_EVENT(kvm_mmio,
		  __entry->len, __entry->gpa, __entry->val)
);

#define KVM_TRACE_IOCSR_READ_UNSATISFIED 0
#define KVM_TRACE_IOCSR_READ 1
#define KVM_TRACE_IOCSR_WRITE 2

#define kvm_trace_symbol_iocsr \
	{ KVM_TRACE_IOCSR_READ_UNSATISFIED, "unsatisfied-read" }, \
	{ KVM_TRACE_IOCSR_READ, "read" }, \
	{ KVM_TRACE_IOCSR_WRITE, "write" }

TRACE_EVENT(kvm_iocsr,
	TP_PROTO(int type, int len, u64 gpa, void *val),
	TP_ARGS(type, len, gpa, val),

	TP_STRUCT__entry(
		__field(	u32,	type	)
		__field(	u32,	len	)
		__field(	u64,	gpa	)
		__field(	u64,	val	)
	),

	TP_fast_assign(
		__entry->type		= type;
		__entry->len		= len;
		__entry->gpa		= gpa;
		__entry->val		= 0;
		if (val)
			memcpy(&__entry->val, val,
			       min_t(u32, sizeof(__entry->val), len));
	),

	TP_printk("iocsr %s len %u gpa 0x%llx val 0x%llx",
		  __print_symbolic(__entry->type, kvm_trace_symbol_iocsr),
		  __entry->len, __entry->gpa, __entry->val)
);

#define kvm_fpu_load_symbol	\
	{0, "unload"},		\
	{1, "load"}