kernel/eka/nkernsmp/arm/ncthrd.cia
changeset 90 947f0dc9f7a8
parent 0 a41df078684a
child 184 0e2270015475
child 257 3e88ff8f41d5
equal deleted inserted replaced
52:2d65c2f76d7b 90:947f0dc9f7a8
   964 	asm("tst	r4, #%a0" : : "i" ((TInt)EWtStWaitActive));
   964 	asm("tst	r4, #%a0" : : "i" ((TInt)EWtStWaitActive));
   965 	asm("beq	0f ");
   965 	asm("beq	0f ");
   966 	asm("ldr	r1, [r6, #%a0]" : : "i" (_FOFF(NThreadBase,iPauseCount)-_FOFF(NThreadBase,iWaitState)));
   966 	asm("ldr	r1, [r6, #%a0]" : : "i" (_FOFF(NThreadBase,iPauseCount)-_FOFF(NThreadBase,iWaitState)));
   967 	asm("sub	r0, r6, #%a0" : : "i" _FOFF(NThreadBase,iWaitState));	// r0 = Thread()
   967 	asm("sub	r0, r6, #%a0" : : "i" _FOFF(NThreadBase,iWaitState));	// r0 = Thread()
   968 	asm("movs	r1, r1, lsl #16 ");				// check if iPauseCount=iSuspendCount=0
   968 	asm("movs	r1, r1, lsl #16 ");				// check if iPauseCount=iSuspendCount=0
       
   969 	asm("andeq	r1, r4, #%a0" : : "i" ((TInt)EWtStObstructed));
   969 	asm("bleq	ReadyT__12NSchedulableUi ");	// if so, make thread ready
   970 	asm("bleq	ReadyT__12NSchedulableUi ");	// if so, make thread ready
   970 	asm("0:		");
   971 	asm("0:		");
   971 	asm("mov	r0, #0 ");
   972 	asm("mov	r0, #0 ");
   972 	__POPRET("	r4-r6,");					// return KErrNone
   973 	__POPRET("	r4-r6,");					// return KErrNone
   973 
   974