Subversion Repositories HelenOS-historic

Rev

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