Fixed backtracing w.r.t. SPARC kernel entry
[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 #include <stdint.h>
6
7 typedef struct trapframe
8 {
9         uint32_t gpr[32] __attribute__((aligned (8)));
10         uint32_t psr;
11         uint32_t pc;
12         uint32_t npc;
13         uint32_t wim;
14         uint32_t tbr;
15         uint32_t y;
16         uint32_t asr13;
17         uint32_t pad;
18         uint32_t fault_status;
19         uint32_t fault_addr;
20         uint64_t timestamp;
21 } trapframe_t;
22
23 /* TODO: consider using a user-space specific trapframe, since they don't need
24  * all of this information.  Will do that eventually, but til then: */
25 #define user_trapframe trapframe
26
27 typedef struct ancillary_state
28 {
29         uint32_t fpr[32] __attribute__((aligned (8)));
30         uint32_t fsr;
31 } ancillary_state_t;
32
33 #endif /* !ROS_INCLUDE_ARCH_TRAPFRAME_H */