diff options
Diffstat (limited to 'cachepc/events.h')
| -rw-r--r-- | cachepc/events.h | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/cachepc/events.h b/cachepc/events.h new file mode 100644 index 0000000..646723e --- /dev/null +++ b/cachepc/events.h @@ -0,0 +1,25 @@ +#pragma once + +#include "uapi.h" + +#include <linux/kvm.h> +#include <linux/kvm_host.h> +#include <linux/types.h> + +extern uint64_t cachepc_last_event_sent; +extern uint64_t cachepc_last_event_acked; +extern rwlock_t cachepc_event_lock; + +extern struct cpc_track_event cachepc_event; +extern bool cachepc_event_avail; + +extern bool cachepc_events_init; + +void cachepc_events_reset(void); + +int cachepc_send_tracking_event(uint64_t inst_fault_gfn, uint32_t inst_fault_err, + uint64_t data_fault_gfn, uint32_t data_fault_err); +bool cachepc_event_is_done(uint64_t id); + +int cachepc_handle_poll_event_ioctl(struct cpc_track_event *userpace_mem); +int cachepc_handle_ack_event_ioctl(uint64_t eventid); |
