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