Procdata uses user_contexts (XCC)
[akaros.git] / kern / arch / riscv / ros / trapframe.h
1 #ifndef ROS_INC_ARCH_TRAPFRAME_H
2 #define ROS_INC_ARCH_TRAPFRAME_H
3
4 #ifndef ROS_INC_TRAPFRAME_H
5 #error "Do not include include ros/arch/trapframe.h directly"
6 #endif
7
8 #include <ros/common.h>
9 #include <stdint.h>
10
11 struct hw_trapframe
12 {
13   uintptr_t gpr[32];
14   uintptr_t sr;
15   uintptr_t epc;
16   uintptr_t badvaddr;
17   long cause;
18 };
19
20 struct sw_trapframe {
21         /* TODO */
22 };
23
24 typedef struct ancillary_state
25 {
26         uint64_t fpr[32];
27         uint32_t fsr;
28 } ancillary_state_t;
29
30 #endif /* ROS_INC_ARCH_TRAPFRAME_H */