Lines Matching refs:_thread
102 #define _MD_INIT_CONTEXT(_thread, _sp, _main, status) \
104 sigsetjmp(CONTEXT(_thread), 1); \
105 CONTEXT(_thread)[2] = (unsigned char*) ((_sp) - 128); \
106 CONTEXT(_thread)[0] = (int) _main; \
109 #define _MD_GET_SP(_thread) CONTEXT(_thread)[2]
112 #define _MD_INIT_CONTEXT(_thread, _sp, _main, status) \
114 sigsetjmp(CONTEXT(_thread), 1); \
115 CONTEXT(_thread)[2] = (unsigned char*) ((_sp) - 128); \
116 CONTEXT(_thread)[3] = (int) _main; \
117 CONTEXT(_thread)[4] = (int) _main + 4; \
120 #define _MD_GET_SP(_thread) CONTEXT(_thread)[2]
123 #define _MD_INIT_CONTEXT(_thread, _sp, _main, status) \
125 sigsetjmp(CONTEXT(_thread), 1); \
126 CONTEXT(_thread)[3] = (unsigned char*) ((_sp) - 128); \
127 CONTEXT(_thread)[4] = (int) _main; \
130 #define _MD_GET_SP(_thread) CONTEXT(_thread)[3]
133 #define _MD_INIT_CONTEXT(_thread, _sp, _main, status) \
135 sigsetjmp(CONTEXT(_thread), 1); \
136 CONTEXT(_thread)[2] = (unsigned char*) ((_sp) - 128); \
137 CONTEXT(_thread)[5] = (int) _main; \
140 #define _MD_GET_SP(_thread) CONTEXT(_thread)[2]
143 #define _MD_INIT_CONTEXT(_thread, _sp, _main, status) \
145 sigsetjmp(CONTEXT(_thread), 1); \
146 CONTEXT(_thread)[32] = (unsigned char*) ((_sp) - 128); \
147 CONTEXT(_thread)[2] = (int) _main; \
148 CONTEXT(_thread)[28] = (int) _main; \
151 #define _MD_GET_SP(_thread) CONTEXT(_thread)[32]
154 #define _MD_INIT_CONTEXT(_thread, _sp, _main, status) \
156 sigsetjmp(CONTEXT(_thread), 1); \
157 CONTEXT(_thread)[23] = (unsigned char*) ((_sp) - 128); \
158 CONTEXT(_thread)[24] = (int) _main; \
161 #define _MD_GET_SP(_thread) CONTEXT(_thread)[23]
164 #define _MD_INIT_CONTEXT(_thread, _sp, _main, status) \
166 sigsetjmp(CONTEXT(_thread), 1); \
167 CONTEXT(_thread)[34] = (unsigned char*) ((_sp) - 128); \
168 CONTEXT(_thread)[2] = (long) _main; \
169 CONTEXT(_thread)[30] = (long) _main; \
170 CONTEXT(_thread)[31] = (long) _main; \
173 #define _MD_GET_SP(_thread) CONTEXT(_thread)[34]
181 #define _MD_SWITCH_CONTEXT(_thread) \
182 if (!sigsetjmp(CONTEXT(_thread), 1)) { \
183 (_thread)->md.errcode = errno; \
190 #define _MD_RESTORE_CONTEXT(_thread) \
192 errno = (_thread)->md.errcode; \
193 _MD_SET_CURRENT_THREAD(_thread); \
194 siglongjmp(CONTEXT(_thread), 1); \
279 #define _MD_CLEAN_THREAD(_thread)