Subversion Repositories HelenOS-historic

Rev

Rev 1411 | Rev 1702 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 1411 Rev 1595
Line 81... Line 81...
81
    __u32 cs;
81
    __u32 cs;
82
    __u32 eflags;
82
    __u32 eflags;
83
    __u32 stack[];
83
    __u32 stack[];
84
};
84
};
85
 
85
 
-
 
86
/** Return true if exception happened while in userspace */
-
 
87
static inline int istate_from_uspace(istate_t *istate)
-
 
88
{
-
 
89
    return !(istate->eip & 0x80000000);
-
 
90
}
-
 
91
 
86
static inline void istate_set_retaddr(istate_t *istate, __address retaddr)
92
static inline void istate_set_retaddr(istate_t *istate, __address retaddr)
87
{
93
{
88
    istate->eip = retaddr;
94
    istate->eip = retaddr;
89
}
95
}
90
 
96
 
-
 
97
static inline __native istate_get_pc(istate_t *istate)
-
 
98
{
-
 
99
    return istate->eip;
-
 
100
}
-
 
101
 
91
extern void (* disable_irqs_function)(__u16 irqmask);
102
extern void (* disable_irqs_function)(__u16 irqmask);
92
extern void (* enable_irqs_function)(__u16 irqmask);
103
extern void (* enable_irqs_function)(__u16 irqmask);
93
extern void (* eoi_function)(void);
104
extern void (* eoi_function)(void);
94
 
105
 
95
extern void PRINT_INFO_ERRCODE(istate_t *istate);
106
extern void PRINT_INFO_ERRCODE(istate_t *istate);