Rev 534 | Rev 859 | 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 | } |