mirror of
https://github.com/torvalds/linux.git
synced 2026-04-18 06:44:00 -04:00
Allow the creation of hypervisor and trace remote events with a single macro HYP_EVENT(). That macro expands in the kernel side to add all the required declarations (based on REMOTE_EVENT()) as well as in the hypervisor side to create the trace_<event>() function. Signed-off-by: Vincent Donnefort <vdonnefort@google.com> Link: https://patch.msgid.link/20260309162516.2623589-28-vdonnefort@google.com Signed-off-by: Marc Zyngier <maz@kernel.org>
27 lines
605 B
C
27 lines
605 B
C
/* SPDX-License-Identifier: GPL-2.0-only */
|
|
#ifndef __ARM64_KVM_HYPTRACE_H_
|
|
#define __ARM64_KVM_HYPTRACE_H_
|
|
|
|
#include <linux/ring_buffer.h>
|
|
|
|
struct hyp_trace_desc {
|
|
unsigned long bpages_backing_start;
|
|
size_t bpages_backing_size;
|
|
struct trace_buffer_desc trace_buffer_desc;
|
|
|
|
};
|
|
|
|
struct hyp_event_id {
|
|
unsigned short id;
|
|
atomic_t enabled;
|
|
};
|
|
|
|
extern struct remote_event __hyp_events_start[];
|
|
extern struct remote_event __hyp_events_end[];
|
|
|
|
/* hyp_event section used by the hypervisor */
|
|
extern struct hyp_event_id __hyp_event_ids_start[];
|
|
extern struct hyp_event_id __hyp_event_ids_end[];
|
|
|
|
#endif
|