Rev 534 | Rev 650 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
| Rev 534 | Rev 564 | ||
|---|---|---|---|
| Line 28... | Line 28... | ||
| 28 | 28 | ||
| 29 | #ifndef __sparc64_CONTEXT_H__ |
29 | #ifndef __sparc64_CONTEXT_H__ |
| 30 | #define __sparc64_CONTEXT_H__ |
30 | #define __sparc64_CONTEXT_H__ |
| 31 | 31 | ||
| 32 | #ifndef __sparc64_STACK_H__ |
32 | #ifndef __sparc64_STACK_H__ |
| 33 | #include <arch/stack.h> |
33 | # include <arch/stack.h> |
| 34 | #endif |
34 | #endif |
| 35 | 35 | ||
| 36 | #ifndef __sparc64_TYPES_H__ |
36 | #ifndef __sparc64_TYPES_H__ |
| 37 | # include <arch/types.h> |
37 | # include <arch/types.h> |
| 38 | #endif |
38 | #endif |
| Line 47... | Line 47... | ||
| 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_UP((size), STACK_ALIGNMENT) - (STACK_BIAS + SP_DELTA); \ |
| 53 | (c)->fp = -STACK_BIAS |
53 | (c)->fp = -STACK_BIAS |
| 54 | 54 | ||
| 55 | 55 | ||
| 56 | /* |
56 | /* |
| 57 | * Only save registers that must be preserved across |
57 | * Only save registers that must be preserved across |