rem: ret = (lwp_sema*)malloc(sizeof(lwp_sema));
add: ret = (lwp_sema*)__lwp_wkspace_allocate(sizeof(lwp_sema));
context: u32 LWP_SemInit(sem_t *sem,u32 start,u32 max){	lwp_semattr attr;	lwp_sema *ret;	if(!sem) return -1;	*sem = NULL;		__lwp_thread_dispatchdisable();	ret = (lwp_sema*)malloc(sizeof(lwp_sema));	if(!ret) {		__lwp_thread_dispatchenable();		return -1;	}	attr.max_cnt = max;	attr.mode = LWP_SEMA_MODEFIFO;	__lwp_sema_initialize(ret,&attr,start);	*sem = (void*)ret;	__lwp_thread_dispatchenable();	return 0;}