Subversion Repositories HelenOS-historic

Rev

Rev 94 | Rev 173 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 94 Rev 97
Line 35... Line 35...
35
 * context_save() and context_restore() are both leaf procedures.
35
 * context_save() and context_restore() are both leaf procedures.
36
 * No need to allocate scratch area.
36
 * No need to allocate scratch area.
37
 */
37
 */
38
#define SP_DELTA    0
38
#define SP_DELTA    0
39
 
39
 
-
 
40
#ifdef context_set
-
 
41
#undef context_set
-
 
42
#endif
-
 
43
 
-
 
44
#define context_set(c, _pc, stack, size)    \
-
 
45
    (c)->pc = (__address) _pc;      \
-
 
46
    (c)->bsp = (__address) stack;       \
-
 
47
    (c)->sp = ((__address) stack) + (size) - SP_DELTA;
-
 
48
 
40
struct context {
49
struct context {
41
 
50
 
42
    /*
51
    /*
43
     * Application registers
52
     * Application registers
44
     */
53
     */
45
    __u64 ar_pfs;
54
    __u64 ar_pfs;
46
    __u64 ar_unat_caller;
55
    __u64 ar_unat_caller;
47
    __u64 ar_unat_callee;
56
    __u64 ar_unat_callee;
48
    __u64 ar_rsc;
57
    __u64 ar_rsc;
49
    __u64 ar_bsp;
58
    __u64 bsp;  /* ar_bsp */
50
    __u64 ar_rnat;
59
    __u64 ar_rnat;
51
    __u64 ar_lc;
60
    __u64 ar_lc;
52
    __u64 ar_ec;
61
    __u64 ar_ec;
53
    __u64 ar_ccv;
62
    __u64 ar_ccv;
54
    __u64 ar_csd;
63
    __u64 ar_csd;