rem: _thr_main = (lwp_cntrl*)malloc(sizeof(lwp_cntrl));
add: _thr_main = (lwp_cntrl*)__lwp_wkspace_allocate(sizeof(lwp_cntrl));
context: u32 __lwp_sys_init(){	u32 index,level;#ifdef _LWPTHREADS_DEBUG	printf("__lwp_sys_init()\n\n");#endif	_CPU_ISR_Disable(level);		__lwp_thread_dispatchinitialize();		_context_switch_want = FALSE;	_thr_executing = NULL;	_thr_heir = NULL;	_thr_allocated_fp = NULL;	memset(_lwp_ids,-1,1024*sizeof(u32));	for(index=0;index<=LWP_PRIO_MAX;index++)		__lwp_queue_init_empty(&_lwp_thr_ready[index]);		__sys_state_set(SYS_STATE_BEFORE_MT);		// create idle thread, is needed if all threads are locked on a queue	_thr_idle = (lwp_cntrl*)malloc(sizeof(lwp_cntrl));	__lwp_thread_init(_thr_idle,NULL,8192,255,0);	_thr_executing = _thr_heir = _thr_idle;	__lwp_thread_start(_thr_idle,idle_func,NULL);	// create main thread, as this is our entry point	// for every GC application.	_thr_main = (lwp_cntrl*)malloc(sizeof(lwp_cntrl));	__lwp_thread_init(_thr_main,NULL,65536,191,0);	_thr_executing = _thr_heir = _thr_main;	__lwp_thread_start(_thr_main,(void*)main,NULL);	_CPU_ISR_Restore(level);	return 1;}