perf: Clean up perf_{session,alloc} management
[akaros.git] / kern / include / ros / trapframe.h
1 #pragma once
2
3 #define ROS_INC_TRAPFRAME_H
4
5 #include <ros/arch/trapframe.h>
6
7 #define ROS_HW_CTX                              1
8 #define ROS_SW_CTX                              2
9 #define ROS_VM_CTX                              3
10
11 /* User-space context, either from a hardware event (IRQ, trap, etc), from a
12  * syscall, or virtual machine.  Each arch defines its types. */
13 struct user_context {
14         int                                                     type;
15         union {
16                 struct hw_trapframe             hw_tf;
17                 struct sw_trapframe             sw_tf;
18                 struct vm_trapframe             vm_tf;
19         } tf;
20 };