mirror of
https://github.com/torvalds/linux.git
synced 2026-04-18 06:44:00 -04:00
Add a selftest event that can be triggered from a `write_event` tracefs file. This intends to be used by trace remote selftests. Signed-off-by: Vincent Donnefort <vdonnefort@google.com> Link: https://patch.msgid.link/20260309162516.2623589-30-vdonnefort@google.com Signed-off-by: Marc Zyngier <maz@kernel.org>
61 lines
1.3 KiB
C
61 lines
1.3 KiB
C
/* SPDX-License-Identifier: GPL-2.0 */
|
|
|
|
#if !defined(__ARM64_KVM_HYPEVENTS_H_) || defined(HYP_EVENT_MULTI_READ)
|
|
#define __ARM64_KVM_HYPEVENTS_H_
|
|
|
|
#ifdef __KVM_NVHE_HYPERVISOR__
|
|
#include <nvhe/trace.h>
|
|
#endif
|
|
|
|
#ifndef __HYP_ENTER_EXIT_REASON
|
|
#define __HYP_ENTER_EXIT_REASON
|
|
enum hyp_enter_exit_reason {
|
|
HYP_REASON_SMC,
|
|
HYP_REASON_HVC,
|
|
HYP_REASON_PSCI,
|
|
HYP_REASON_HOST_ABORT,
|
|
HYP_REASON_GUEST_EXIT,
|
|
HYP_REASON_ERET_HOST,
|
|
HYP_REASON_ERET_GUEST,
|
|
HYP_REASON_UNKNOWN /* Must be last */
|
|
};
|
|
#endif
|
|
|
|
HYP_EVENT(hyp_enter,
|
|
HE_PROTO(struct kvm_cpu_context *host_ctxt, u8 reason),
|
|
HE_STRUCT(
|
|
he_field(u8, reason)
|
|
he_field(pid_t, vcpu)
|
|
),
|
|
HE_ASSIGN(
|
|
__entry->reason = reason;
|
|
__entry->vcpu = __tracing_get_vcpu_pid(host_ctxt);
|
|
),
|
|
HE_PRINTK("reason=%s vcpu=%d", __hyp_enter_exit_reason_str(__entry->reason), __entry->vcpu)
|
|
);
|
|
|
|
HYP_EVENT(hyp_exit,
|
|
HE_PROTO(struct kvm_cpu_context *host_ctxt, u8 reason),
|
|
HE_STRUCT(
|
|
he_field(u8, reason)
|
|
he_field(pid_t, vcpu)
|
|
),
|
|
HE_ASSIGN(
|
|
__entry->reason = reason;
|
|
__entry->vcpu = __tracing_get_vcpu_pid(host_ctxt);
|
|
),
|
|
HE_PRINTK("reason=%s vcpu=%d", __hyp_enter_exit_reason_str(__entry->reason), __entry->vcpu)
|
|
);
|
|
|
|
HYP_EVENT(selftest,
|
|
HE_PROTO(u64 id),
|
|
HE_STRUCT(
|
|
he_field(u64, id)
|
|
),
|
|
HE_ASSIGN(
|
|
__entry->id = id;
|
|
),
|
|
RE_PRINTK("id=%llu", __entry->id)
|
|
);
|
|
#endif
|