xref: /linux/arch/arm64/include/asm/kvm_hyptrace.h (revision 0fc8f6200d2313278fbf4539bbab74677c685531)
1680a04c3SVincent Donnefort /* SPDX-License-Identifier: GPL-2.0-only */
2680a04c3SVincent Donnefort #ifndef __ARM64_KVM_HYPTRACE_H_
3680a04c3SVincent Donnefort #define __ARM64_KVM_HYPTRACE_H_
4680a04c3SVincent Donnefort 
5680a04c3SVincent Donnefort #include <linux/ring_buffer.h>
6680a04c3SVincent Donnefort 
7680a04c3SVincent Donnefort struct hyp_trace_desc {
8680a04c3SVincent Donnefort 	unsigned long			bpages_backing_start;
9680a04c3SVincent Donnefort 	size_t				bpages_backing_size;
10680a04c3SVincent Donnefort 	struct trace_buffer_desc	trace_buffer_desc;
11680a04c3SVincent Donnefort 
12680a04c3SVincent Donnefort };
13*0a90fbc8SVincent Donnefort 
14*0a90fbc8SVincent Donnefort struct hyp_event_id {
15*0a90fbc8SVincent Donnefort 	unsigned short	id;
16*0a90fbc8SVincent Donnefort 	atomic_t	enabled;
17*0a90fbc8SVincent Donnefort };
18*0a90fbc8SVincent Donnefort 
19*0a90fbc8SVincent Donnefort extern struct remote_event __hyp_events_start[];
20*0a90fbc8SVincent Donnefort extern struct remote_event __hyp_events_end[];
21*0a90fbc8SVincent Donnefort 
22*0a90fbc8SVincent Donnefort /* hyp_event section used by the hypervisor */
23*0a90fbc8SVincent Donnefort extern struct hyp_event_id __hyp_event_ids_start[];
24*0a90fbc8SVincent Donnefort extern struct hyp_event_id __hyp_event_ids_end[];
25*0a90fbc8SVincent Donnefort 
26680a04c3SVincent Donnefort #endif
27