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