Subversion Repositories HelenOS-historic

Rev

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

Rev 180 Rev 306
Line 27... Line 27...
27
 */
27
 */
28
 
28
 
29
#ifndef __mips_CONTEXT_H__
29
#ifndef __mips_CONTEXT_H__
30
#define __mips_CONTEXT_H__
30
#define __mips_CONTEXT_H__
31
 
31
 
32
#include <arch/types.h>
-
 
33
 
-
 
34
#define STACK_ITEM_SIZE 4
32
#define STACK_ITEM_SIZE 4
35
 
33
 
-
 
34
/* These are offsets into the register dump saved
-
 
35
 * on exception entry
-
 
36
 */
-
 
37
#define EOFFSET_AT 0
-
 
38
#define EOFFSET_V0 4
-
 
39
#define EOFFSET_V1 8
-
 
40
#define EOFFSET_A0 12
-
 
41
#define EOFFSET_A1 16
-
 
42
#define EOFFSET_A2 20
-
 
43
#define EOFFSET_A3 24
-
 
44
#define EOFFSET_A4 28
-
 
45
#define EOFFSET_T1 32
-
 
46
#define EOFFSET_T2 36
-
 
47
#define EOFFSET_T3 40
-
 
48
#define EOFFSET_T4 44
-
 
49
#define EOFFSET_T5 48
-
 
50
#define EOFFSET_T6 52
-
 
51
#define EOFFSET_T7 56
-
 
52
#define EOFFSET_T8 60
-
 
53
#define EOFFSET_T9 64
-
 
54
#define EOFFSET_S0 68
-
 
55
#define EOFFSET_S1 72
-
 
56
#define EOFFSET_S2 76
-
 
57
#define EOFFSET_S3 80
-
 
58
#define EOFFSET_S4 84
-
 
59
#define EOFFSET_S5 88
-
 
60
#define EOFFSET_S6 92
-
 
61
#define EOFFSET_S7 96
-
 
62
#define EOFFSET_S8 100
-
 
63
#define EOFFSET_GP 104
-
 
64
#define EOFFSET_RA 108
-
 
65
#define EOFFSET_LO 112
-
 
66
#define EOFFSET_HI 116
-
 
67
 
-
 
68
#define REGISTER_SPACE 120
-
 
69
 
36
/*
70
/*
37
 * Put one item onto the stack to support get_stack_base().
71
 * Put one item onto the stack to support get_stack_base().
38
 */
72
 */
39
#define SP_DELTA    (0+STACK_ITEM_SIZE)
73
#define SP_DELTA    (0+STACK_ITEM_SIZE)
40
 
74
 
41
 
75
 
-
 
76
#ifndef __ASM__
-
 
77
 
-
 
78
#ifndef __mips_TYPES_H_
-
 
79
# include <arch/types.h>
-
 
80
#endif
-
 
81
 
-
 
82
/*
-
 
83
 * Only save registers that must be preserved across
-
 
84
 * function calls.
-
 
85
 */
42
struct context {
86
struct context {
43
    __u32 r0;
-
 
44
    __u32 r1;
-
 
45
    __u32 r2;
-
 
46
    __u32 r3;
-
 
47
    __u32 r4;
-
 
48
    __u32 r5;
-
 
49
    __u32 r6;
-
 
50
    __u32 r7;
-
 
51
    __u32 r8;
-
 
52
    __u32 r9;
-
 
53
    __u32 r10;
-
 
54
    __u32 r11;
-
 
55
    __u32 r12;
-
 
56
    __u32 r13;
-
 
57
    __u32 r14;
-
 
58
    __u32 r15;
-
 
59
    __u32 r16;
-
 
60
    __u32 r17;
-
 
61
    __u32 r18;
-
 
62
    __u32 r19;
-
 
63
    __u32 r20;
-
 
64
    __u32 r21;
-
 
65
    __u32 r22;
-
 
66
    __u32 r23;
-
 
67
    __u32 r24;
-
 
68
    __u32 r25;
-
 
69
    __u32 r26;
-
 
70
    __u32 r27;
-
 
71
    __u32 r28;
-
 
72
    __u32 sp;
87
    __u32 sp;
73
    __u32 r30;
-
 
74
    __u32 pc;
88
    __u32 pc;
-
 
89
   
-
 
90
    __u32 s0;
-
 
91
    __u32 s1;
-
 
92
    __u32 s2;
-
 
93
    __u32 s3;
-
 
94
    __u32 s4;
-
 
95
    __u32 s5;
-
 
96
    __u32 s6;
-
 
97
    __u32 s7;
-
 
98
    __u32 s8;
-
 
99
    __u32 gp;
-
 
100
 
75
    __u32 pri;
101
    __u32 pri;
76
};
102
};
77
 
103
 
-
 
104
#endif /* __ASM__ */
-
 
105
 
78
#endif
106
#endif