Subversion Repositories HelenOS

Rev

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

Rev 2332 Rev 2334
Line 42... Line 42...
42
 
42
 
43
/** see <a href="http://www.arm.com/support/faqdev/14269.html">ABI</a> for details */
43
/** see <a href="http://www.arm.com/support/faqdev/14269.html">ABI</a> for details */
44
#define STACK_ALIGNMENT     8
44
#define STACK_ALIGNMENT     8
45
 
45
 
46
#define SP_DELTA    (0 + ALIGN_UP(STACK_ITEM_SIZE, STACK_ALIGNMENT))
46
#define SP_DELTA    (0 + ALIGN_UP(STACK_ITEM_SIZE, STACK_ALIGNMENT))
-
 
47
 
-
 
48
#define context_set(c, _pc, stack, size, ptls)          \
47
//TODO: check if correct
49
    (c)->pc = (sysarg_t) (_pc);             \
-
 
50
    (c)->sp = ((sysarg_t) (stack)) + (size) - SP_DELTA;     \
-
 
51
        (c)->tls = ((sysarg_t)(ptls)) + sizeof(tcb_t);
-
 
52
 
48
 
53
 
49
typedef struct  {
54
typedef struct  {
50
    uint32_t sp;
55
    uint32_t sp;
51
    uint32_t pc;
56
    uint32_t pc;
52
    uint32_t r4;
57
    uint32_t r4;
Line 57... Line 62...
57
    uint32_t tls;
62
    uint32_t tls;
58
    uint32_t r10;
63
    uint32_t r10;
59
    uint32_t r11;
64
    uint32_t r11;
60
} context_t;
65
} context_t;
61
 
66
 
-
 
67
 
62
#endif
68
#endif
63
 
69
 
64
/** @}
70
/** @}
65
 */
71
 */