Subversion Repositories HelenOS

Rev

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

Rev 2071 Rev 2089
Line 34... Line 34...
34
 
34
 
35
#ifndef KERN_ppc32_EXCEPTION_H_
35
#ifndef KERN_ppc32_EXCEPTION_H_
36
#define KERN_ppc32_EXCEPTION_H_
36
#define KERN_ppc32_EXCEPTION_H_
37
 
37
 
38
#include <arch/types.h>
38
#include <arch/types.h>
39
#include <typedefs.h>
-
 
40
 
39
 
41
struct istate {
40
typedef struct {
42
    uint32_t r0;
41
    uint32_t r0;
43
    uint32_t r2;
42
    uint32_t r2;
44
    uint32_t r3;
43
    uint32_t r3;
45
    uint32_t r4;
44
    uint32_t r4;
46
    uint32_t r5;
45
    uint32_t r5;
Line 75... Line 74...
75
    uint32_t lr;
74
    uint32_t lr;
76
    uint32_t ctr;
75
    uint32_t ctr;
77
    uint32_t xer;
76
    uint32_t xer;
78
    uint32_t r12;
77
    uint32_t r12;
79
    uint32_t sp;
78
    uint32_t sp;
80
};
79
} istate_t;
81
 
80
 
82
static inline void istate_set_retaddr(istate_t *istate, uintptr_t retaddr)
81
static inline void istate_set_retaddr(istate_t *istate, uintptr_t retaddr)
83
{
82
{
84
    istate->pc = retaddr;
83
    istate->pc = retaddr;
85
}
84
}