Rev 1288 | Rev 1702 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
| Rev 1288 | Rev 1595 | ||
|---|---|---|---|
| Line 84... | Line 84... | ||
| 84 | __u64 cs; |
84 | __u64 cs; |
| 85 | __u64 rflags; |
85 | __u64 rflags; |
| 86 | __u64 stack[]; /* Additional data on stack */ |
86 | __u64 stack[]; /* Additional data on stack */ |
| 87 | }; |
87 | }; |
| 88 | 88 | ||
| - | 89 | /** Return true if exception happened while in userspace */ |
|
| - | 90 | static inline int istate_from_uspace(istate_t *istate) |
|
| - | 91 | { |
|
| - | 92 | return !(istate->rip & 0x8000000000000000); |
|
| - | 93 | } |
|
| - | 94 | ||
| 89 | static inline void istate_set_retaddr(istate_t *istate, __address retaddr) |
95 | static inline void istate_set_retaddr(istate_t *istate, __address retaddr) |
| 90 | { |
96 | { |
| 91 | istate->rip = retaddr; |
97 | istate->rip = retaddr; |
| 92 | } |
98 | } |
| - | 99 | static inline __native istate_get_pc(istate_t *istate) |
|
| - | 100 | { |
|
| - | 101 | return istate->rip; |
|
| - | 102 | } |
|
| 93 | 103 | ||
| 94 | extern void (* disable_irqs_function)(__u16 irqmask); |
104 | extern void (* disable_irqs_function)(__u16 irqmask); |
| 95 | extern void (* enable_irqs_function)(__u16 irqmask); |
105 | extern void (* enable_irqs_function)(__u16 irqmask); |
| 96 | extern void (* eoi_function)(void); |
106 | extern void (* eoi_function)(void); |
| 97 | 107 | ||