pthread_yield()
[akaros.git] / kern / arch / sparc / ros / trapframe.h
1 #ifndef ROS_INCLUDE_ARCH_TRAPFRAME_H
2 #define ROS_INCLUDE_ARCH_TRAPFRAME_H
3
4 #include <ros/common.h>
5
6 typedef struct trapframe
7 {
8         uint32_t gpr[32] __attribute__((aligned (8)));
9         uint32_t psr;
10         uint32_t pc;
11         uint32_t npc;
12         uint32_t wim;
13         uint32_t tbr;
14         uint32_t y;
15         uint32_t asr13;
16         uint32_t pc_insn;
17         uint32_t fault_status;
18         uint32_t fault_addr;
19         uint64_t timestamp;
20 } trapframe_t;
21
22 /* TODO: consider using a user-space specific trapframe, since they don't need
23  * all of this information.  Will do that eventually, but til then: */
24 #define user_trapframe trapframe
25
26 typedef struct ancillary_state
27 {
28         uint32_t fpr[32] __attribute__((aligned (8)));
29         uint32_t fsr;
30 } ancillary_state_t;
31
32 #endif /* !ROS_INCLUDE_ARCH_TRAPFRAME_H */