Rev 527 | Rev 532 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 527 | Rev 528 | ||
---|---|---|---|
Line 45... | Line 45... | ||
45 | 45 | ||
46 | #ifdef context_set |
46 | #ifdef context_set |
47 | #undef context_set |
47 | #undef context_set |
48 | #endif |
48 | #endif |
49 | 49 | ||
50 | #define context_set(c, _pc, stack, size) \ |
50 | #define context_set(c, _pc, stack, size) \ |
51 | (c)->pc = ((__address) _pc) - 8; \ |
51 | (c)->pc = ((__address) _pc) - 8; \ |
52 | (c)->sp = ((__address) stack) + ALIGN((size), STACK_ALIGNMENT) - (STACK_BIAS + SP_DELTA) |
52 | (c)->sp = ((__address) stack) + ALIGN((size), STACK_ALIGNMENT) - (STACK_BIAS + SP_DELTA); \ |
- | 53 | (c)->fp = -STACK_BIAS |
|
- | 54 | ||
53 | 55 | ||
54 | /* |
56 | /* |
55 | * Only save registers that must be preserved across |
57 | * Only save registers that must be preserved across |
56 | * function calls and that are not saved in caller's |
58 | * function calls and that are not saved in caller's |
57 | * register window. |
59 | * register window. |
Line 62... | Line 64... | ||
62 | __u64 o3; |
64 | __u64 o3; |
63 | __u64 o4; |
65 | __u64 o4; |
64 | __u64 o5; |
66 | __u64 o5; |
65 | __address sp; /* %o6 */ |
67 | __address sp; /* %o6 */ |
66 | __address pc; /* %o7 */ |
68 | __address pc; /* %o7 */ |
- | 69 | __address fp; |
|
67 | ipl_t ipl; |
70 | ipl_t ipl; |
68 | }; |
71 | }; |
69 | 72 | ||
70 | #endif |
73 | #endif |