Rev 534 | Rev 1021 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 534 | Rev 799 | ||
---|---|---|---|
Line 14... | Line 14... | ||
14 | { |
14 | { |
15 | FILE *f; |
15 | FILE *f; |
16 | struct context ctx; |
16 | struct context ctx; |
17 | struct context *pctx = &ctx; |
17 | struct context *pctx = &ctx; |
18 | 18 | ||
- | 19 | struct interrupt_context ictx; |
|
- | 20 | struct interrupt_context *ipctx = &ictx; |
|
- | 21 | ||
19 | f = fopen(FILENAME,"w"); |
22 | f = fopen(FILENAME,"w"); |
20 | if (!f) { |
23 | if (!f) { |
21 | perror(FILENAME); |
24 | perror(FILENAME); |
22 | return 1; |
25 | return 1; |
23 | } |
26 | } |
Line 31... | Line 34... | ||
31 | fprintf(f,"#define OFFSET_R12 0x%x\n",((int)&pctx->r12) - (int )pctx); |
34 | fprintf(f,"#define OFFSET_R12 0x%x\n",((int)&pctx->r12) - (int )pctx); |
32 | fprintf(f,"#define OFFSET_R13 0x%x\n",((int)&pctx->r13) - (int )pctx); |
35 | fprintf(f,"#define OFFSET_R13 0x%x\n",((int)&pctx->r13) - (int )pctx); |
33 | fprintf(f,"#define OFFSET_R14 0x%x\n",((int)&pctx->r14) - (int )pctx); |
36 | fprintf(f,"#define OFFSET_R14 0x%x\n",((int)&pctx->r14) - (int )pctx); |
34 | fprintf(f,"#define OFFSET_R15 0x%x\n",((int)&pctx->r15) - (int )pctx); |
37 | fprintf(f,"#define OFFSET_R15 0x%x\n",((int)&pctx->r15) - (int )pctx); |
35 | fprintf(f,"#define OFFSET_IPL 0x%x\n",((int)&pctx->ipl) - (int )pctx); |
38 | fprintf(f,"#define OFFSET_IPL 0x%x\n",((int)&pctx->ipl) - (int )pctx); |
- | 39 | ||
- | 40 | fprintf(f, "\n"); |
|
- | 41 | ||
- | 42 | #define ifpr(big,nm) fprintf(f, "#define IOFFSET_" #big " 0x%x\n", ((int)&ipctx->nm) - (int) ipctx) |
|
- | 43 | ||
- | 44 | ifpr(RAX, rax); |
|
- | 45 | ifpr(RBX, rbx); |
|
- | 46 | ifpr(RCX, rcx); |
|
- | 47 | ifpr(RDX, rdx); |
|
- | 48 | ifpr(RSI, rsi); |
|
- | 49 | ifpr(RDI, rdi); |
|
- | 50 | ifpr(R8, r8); |
|
- | 51 | ifpr(R9, r9); |
|
- | 52 | ifpr(R10, r10); |
|
- | 53 | ifpr(R11, r11); |
|
- | 54 | ifpr(R12, r12); |
|
- | 55 | ifpr(R13, r13); |
|
- | 56 | ifpr(R14, r14); |
|
- | 57 | ifpr(R15, r15); |
|
- | 58 | ifpr(RBP, rbp); |
|
- | 59 | ||
- | 60 | fprintf(f, "#define IREGISTER_SPACE %d\n", sizeof(ictx)); |
|
- | 61 | ||
36 | fclose(f); |
62 | fclose(f); |
37 | 63 | ||
38 | return 0; |
64 | return 0; |
39 | } |
65 | } |