Subversion Repositories HelenOS

Rev

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

Rev 1948 Rev 1976
Line 46... Line 46...
46
#endif
46
#endif
47
 
47
 
48
#define context_set(c, _pc, stack, size)                                \
48
#define context_set(c, _pc, stack, size)                                \
49
    (c)->pc = ((uintptr_t) _pc) - 8;                                \
49
    (c)->pc = ((uintptr_t) _pc) - 8;                                \
50
    (c)->sp = ((uintptr_t) stack) + ALIGN_UP((size), STACK_ALIGNMENT) - (STACK_BIAS + SP_DELTA);    \
50
    (c)->sp = ((uintptr_t) stack) + ALIGN_UP((size), STACK_ALIGNMENT) - (STACK_BIAS + SP_DELTA);    \
51
    (c)->fp = -STACK_BIAS;                                      \
51
    (c)->fp = -STACK_BIAS
52
    (c)->cleanwin = 0
-
 
53
   
52
   
54
 
53
 
55
/*
54
/*
56
 * Only save registers that must be preserved across
55
 * Only save registers that must be preserved across
57
 * function calls.
56
 * function calls.
Line 74... Line 73...
74
    uint64_t l4;
73
    uint64_t l4;
75
    uint64_t l5;
74
    uint64_t l5;
76
    uint64_t l6;
75
    uint64_t l6;
77
    uint64_t l7;
76
    uint64_t l7;
78
    ipl_t ipl;
77
    ipl_t ipl;
79
    uint64_t cleanwin;
-
 
80
};
78
};
81
 
79
 
82
#endif
80
#endif
83
 
81
 
84
/** @}
82
/** @}