Subversion Repositories HelenOS-historic

Rev

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

Rev 306 Rev 317
Line 4... Line 4...
4
typedef unsigned int __u32;
4
typedef unsigned int __u32;
5
typedef __u32 pri_t;
5
typedef __u32 pri_t;
6
 
6
 
7
#define __mips_TYPES_H_
7
#define __mips_TYPES_H_
8
#include "../../arch/mips/include/context.h"
8
#include "../../arch/mips/include/context.h"
-
 
9
#include "../../arch/mips/include/exception.h"
9
 
10
 
10
#define FILENAME "../../arch/mips/src/context_offset.h"
11
#define FILENAME "../../arch/mips/include/context_offset.h"
11
 
12
 
12
int main(void)
13
int main(void)
13
{
14
{
14
    FILE *f;
15
    FILE *f;
15
    struct context ctx;
16
    struct context *pctx = NULL;
16
    struct context *pctx = &ctx;
17
    struct exception_regdump *edmp = NULL;
-
 
18
   
17
 
19
 
18
    f = fopen(FILENAME,"w");
20
    f = fopen(FILENAME,"w");
19
    if (!f) {
21
    if (!f) {
20
        perror(FILENAME);
22
        perror(FILENAME);
21
        return 1;
23
        return 1;
22
    }
24
    }
23
 
25
 
24
    fprintf(f, "/* This file is automatically generated by %s. */\n", __FILE__);   
26
    fprintf(f, "/* This file is automatically generated by %s. */\n", __FILE__);   
25
 
27
 
-
 
28
    fprintf(f,"/* struct context */\n");
-
 
29
 
26
    fprintf(f,"#define OFFSET_SP  0x%x\n",((int)&pctx->sp) - (int )pctx);
30
    fprintf(f,"#define OFFSET_SP  0x%x\n",((int)&pctx->sp) - (int )pctx);
27
    fprintf(f,"#define OFFSET_PC  0x%x\n",((int)&pctx->pc) - (int )pctx);
31
    fprintf(f,"#define OFFSET_PC  0x%x\n",((int)&pctx->pc) - (int )pctx);
28
    fprintf(f,"#define OFFSET_S0  0x%x\n",((int)&pctx->s0) - (int )pctx);
32
    fprintf(f,"#define OFFSET_S0  0x%x\n",((int)&pctx->s0) - (int )pctx);
29
    fprintf(f,"#define OFFSET_S1  0x%x\n",((int)&pctx->s1) - (int )pctx);
33
    fprintf(f,"#define OFFSET_S1  0x%x\n",((int)&pctx->s1) - (int )pctx);
30
    fprintf(f,"#define OFFSET_S2  0x%x\n",((int)&pctx->s2) - (int )pctx);
34
    fprintf(f,"#define OFFSET_S2  0x%x\n",((int)&pctx->s2) - (int )pctx);
Line 34... Line 38...
34
    fprintf(f,"#define OFFSET_S6  0x%x\n",((int)&pctx->s6) - (int )pctx);
38
    fprintf(f,"#define OFFSET_S6  0x%x\n",((int)&pctx->s6) - (int )pctx);
35
    fprintf(f,"#define OFFSET_S7  0x%x\n",((int)&pctx->s7) - (int )pctx);
39
    fprintf(f,"#define OFFSET_S7  0x%x\n",((int)&pctx->s7) - (int )pctx);
36
    fprintf(f,"#define OFFSET_S8  0x%x\n",((int)&pctx->s8) - (int )pctx);
40
    fprintf(f,"#define OFFSET_S8  0x%x\n",((int)&pctx->s8) - (int )pctx);
37
    fprintf(f,"#define OFFSET_GP  0x%x\n",((int)&pctx->gp) - (int )pctx);
41
    fprintf(f,"#define OFFSET_GP  0x%x\n",((int)&pctx->gp) - (int )pctx);
38
 
42
 
-
 
43
    fprintf(f,"\n\n/* struct register_dump */\n");
-
 
44
    fprintf(f,"#define EOFFSET_AT  0x%x\n",((int)&edmp->at) - (int )edmp);
-
 
45
    fprintf(f,"#define EOFFSET_V0  0x%x\n",((int)&edmp->v0) - (int )edmp);
-
 
46
    fprintf(f,"#define EOFFSET_V1  0x%x\n",((int)&edmp->v1) - (int )edmp);
-
 
47
    fprintf(f,"#define EOFFSET_A0  0x%x\n",((int)&edmp->a0) - (int )edmp);
-
 
48
    fprintf(f,"#define EOFFSET_A1  0x%x\n",((int)&edmp->a1) - (int )edmp);
-
 
49
    fprintf(f,"#define EOFFSET_A2  0x%x\n",((int)&edmp->a2) - (int )edmp);
-
 
50
    fprintf(f,"#define EOFFSET_A3  0x%x\n",((int)&edmp->a3) - (int )edmp);
-
 
51
    fprintf(f,"#define EOFFSET_T0  0x%x\n",((int)&edmp->t0) - (int )edmp);
-
 
52
    fprintf(f,"#define EOFFSET_T1  0x%x\n",((int)&edmp->t1) - (int )edmp);
-
 
53
    fprintf(f,"#define EOFFSET_T2  0x%x\n",((int)&edmp->t2) - (int )edmp);
-
 
54
    fprintf(f,"#define EOFFSET_T3  0x%x\n",((int)&edmp->t3) - (int )edmp);
-
 
55
    fprintf(f,"#define EOFFSET_T4  0x%x\n",((int)&edmp->t4) - (int )edmp);
-
 
56
    fprintf(f,"#define EOFFSET_T5  0x%x\n",((int)&edmp->t5) - (int )edmp);
-
 
57
    fprintf(f,"#define EOFFSET_T6  0x%x\n",((int)&edmp->t6) - (int )edmp);
-
 
58
    fprintf(f,"#define EOFFSET_T7  0x%x\n",((int)&edmp->t7) - (int )edmp);
-
 
59
    fprintf(f,"#define EOFFSET_S0  0x%x\n",((int)&edmp->s0) - (int )edmp);
-
 
60
    fprintf(f,"#define EOFFSET_S1  0x%x\n",((int)&edmp->s1) - (int )edmp);
-
 
61
    fprintf(f,"#define EOFFSET_S2  0x%x\n",((int)&edmp->s2) - (int )edmp);
-
 
62
    fprintf(f,"#define EOFFSET_S3  0x%x\n",((int)&edmp->s3) - (int )edmp);
-
 
63
    fprintf(f,"#define EOFFSET_S4  0x%x\n",((int)&edmp->s4) - (int )edmp);
-
 
64
    fprintf(f,"#define EOFFSET_S5  0x%x\n",((int)&edmp->s5) - (int )edmp);
-
 
65
    fprintf(f,"#define EOFFSET_S6  0x%x\n",((int)&edmp->s6) - (int )edmp);
-
 
66
    fprintf(f,"#define EOFFSET_S7  0x%x\n",((int)&edmp->s7) - (int )edmp);
-
 
67
    fprintf(f,"#define EOFFSET_T8  0x%x\n",((int)&edmp->t8) - (int )edmp);
-
 
68
    fprintf(f,"#define EOFFSET_T9  0x%x\n",((int)&edmp->t9) - (int )edmp);
-
 
69
    fprintf(f,"#define EOFFSET_GP  0x%x\n",((int)&edmp->gp) - (int )edmp);
-
 
70
    fprintf(f,"#define EOFFSET_SP  0x%x\n",((int)&edmp->sp) - (int )edmp);
-
 
71
    fprintf(f,"#define EOFFSET_S8  0x%x\n",((int)&edmp->s8) - (int )edmp);
-
 
72
    fprintf(f,"#define EOFFSET_RA  0x%x\n",((int)&edmp->ra) - (int )edmp);
-
 
73
    fprintf(f,"#define EOFFSET_LO  0x%x\n",((int)&edmp->lo) - (int )edmp);
-
 
74
    fprintf(f,"#define EOFFSET_HI  0x%x\n",((int)&edmp->hi) - (int )edmp);
-
 
75
    fprintf(f,"#define EOFFSET_STATUS  0x%x\n",((int)&edmp->status) - (int )edmp);
-
 
76
    fprintf(f,"#define EOFFSET_EPC  0x%x\n",((int)&edmp->epc) - (int )edmp);
-
 
77
 
-
 
78
    fprintf(f,"#define REGISTER_SPACE  %d\n",sizeof(*edmp));
39
 
79
 
40
    fclose(f);
80
    fclose(f);
41
 
81
 
42
    return 0;
82
    return 0;
43
}
83
}