1#ifndef __LWP_INL__
2#define __LWP_INL__
3
4static __inline__ u32 __lwp_thread_isexec(lwp_cntrl *thethread)
5{
6	return (thethread==_thr_executing);
7}
8
9static __inline__ u32 __lwp_thread_isheir(lwp_cntrl *thethread)
10{
11	return (thethread==_thr_heir);
12}
13
14static __inline__ void __lwp_thread_calcheir()
15{
16	_thr_heir = (lwp_cntrl*)_lwp_thr_ready[__lwp_priomap_highest()].first;
17}
18
19static __inline__ u32 __lwp_thread_isallocatedfp(lwp_cntrl *thethread)
20{
21	return (thethread==_thr_allocated_fp);
22}
23
24static __inline__ void __lwp_thread_deallocatefp()
25{
26	_thr_allocated_fp = NULL;
27}
28
29static __inline__ void __lwp_thread_dispatchinitialize()
30{
31	_thread_dispatch_disable_level = 1;
32}
33
34static __inline__ void __lwp_thread_dispatchenable()
35{
36	if((--_thread_dispatch_disable_level)==0)
37		__thread_dispatch();
38}
39
40static __inline__ void __lwp_thread_dispatchdisable()
41{
42	++_thread_dispatch_disable_level;
43}
44
45static __inline__ void __lwp_thread_dispatchunnest()
46{
47	--_thread_dispatch_disable_level;
48}
49
50static __inline__ void __lwp_thread_unblock(lwp_cntrl *thethread)
51{
52	__lwp_thread_clearstate(thethread,LWP_STATES_BLOCKED);
53}
54
55static __inline__ void** __lwp_thread_getlibcreent()
56{
57	return __lwp_thr_libc_reent;
58}
59
60static __inline__ void __lwp_thread_setlibcreent(void **libc_reent)
61{
62	__lwp_thr_libc_reent = libc_reent;
63}
64
65static __inline__ bool __lwp_thread_isswitchwant()
66{
67
68	return _context_switch_want;
69}
70
71static __inline__ bool __lwp_thread_isdispatchenabled()
72{
73	return (_thread_dispatch_disable_level==0);
74}
75
76static __inline__ void __lwp_thread_inittimeslice()
77{
78	__lwp_wd_initialize(&_lwp_wd_timeslice,__lwp_thread_tickle_timeslice,LWP_TIMESLICE_TIMER_ID,NULL);
79}
80
81static __inline__ void __lwp_thread_starttimeslice()
82{
83	__lwp_wd_insert_ticks(&_lwp_wd_timeslice,millisecs_to_ticks(1));
84}
85
86static __inline__ void __lwp_thread_stoptimeslice()
87{
88	__lwp_wd_remove_ticks(&_lwp_wd_timeslice);
89}
90#endif
91