perf: Clean up perf_{session,alloc} management
[akaros.git] / kern / include / ros / sysevent.h
1 /* Copyright (c) 2009 The Regents of the University of California.
2  * See the COPYRIGHT files at the top of this source tree for full
3  * license information.
4  *
5  * Kevin Klues <klueska@cs.berkeley.edu>
6  */
7
8 #pragma once
9
10 #include <ros/ring_buffer.h>
11 #include <ros/arch/mmu.h>
12
13
14 typedef enum {
15         SYS_begofevents, //Should always be first
16
17         SYS_shared_page_alloc_event,
18         SYS_shared_page_free_event,
19
20         SYS_endofevents //Should always be last
21 } sysevent_type_t;
22
23 #define NUM_SYSEVENT_ARGS 6
24 typedef struct sysevent {
25         sysevent_type_t type;
26         uint32_t args[NUM_SYSEVENT_ARGS];
27 } sysevent_t;
28
29 typedef struct sysevent_rsp {
30         int rsp;
31 } sysevent_rsp_t;
32
33 // Generic Sysevent Ring Buffer
34 #define SYSEVENTRINGSIZE    PGSIZE
35 DEFINE_RING_TYPES(sysevent, sysevent_t, sysevent_rsp_t);