Subversion Repositories HelenOS

Rev

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

Rev 2320 Rev 2333
Line 44... Line 44...
44
    /* TODO */
44
    /* TODO */
45
} tcb_t;
45
} tcb_t;
46
 
46
 
47
static inline void __tcb_set(tcb_t *tcb)
47
static inline void __tcb_set(tcb_t *tcb)
48
{
48
{
-
 
49
    void* tmp = (void*)tcb + sizeof(tcb_t);
49
    asm(
50
    asm(
50
        "mov r9, %0"
51
        "mov r9, %0"
51
        :
52
        :
52
        : "r"(tcb)
53
        : "r"(tmp)
53
    );
54
    );
54
}
55
}
55
 
56
 
56
static inline tcb_t *__tcb_get(void)
57
static inline tcb_t *__tcb_get(void)
57
{
58
{
58
    tcb_t* ret;
59
    void* ret;
59
    asm(
60
    asm(
60
        "mov %0, r9"
61
        "mov %0, r9"
61
        : "=r"(ret)
62
        : "=r"(ret)
62
    );
63
    );
-
 
64
    ret -= sizeof(tcb_t);
63
    return ret;
65
    return (tcb_t*)ret;
64
}
66
}
65
 
67
 
66
#endif
68
#endif
67
 
69
 
68
/** @}
70
/** @}