kerneltest/e32test/nkernsa/arm/armutils.cia
branchRCL_3
changeset 44 3e88ff8f41d5
parent 43 c1f20ce4abcf
equal deleted inserted replaced
43:c1f20ce4abcf 44:3e88ff8f41d5
    88 	{
    88 	{
    89 	GET_RWNO_TID(,r0);
    89 	GET_RWNO_TID(,r0);
    90 	asm("nop ");
    90 	asm("nop ");
    91 	asm("nop ");
    91 	asm("nop ");
    92 	asm("nop ");
    92 	asm("nop ");
    93 	asm("ldr	r0, [r0, #%a0]" : : "i" _FOFF(TSubScheduler,iSSX.iLocalTimerAddr));
    93 	asm("ldr	r0, [r0, #%a0]" : : "i" _FOFF(TSubScheduler,i_LocalTimerAddr));
    94 	asm("nop ");
    94 	asm("nop ");
    95 	asm("nop ");
    95 	asm("nop ");
    96 	asm("nop ");
    96 	asm("nop ");
    97 	__JUMP(,lr);
    97 	__JUMP(,lr);
    98 	}
    98 	}
   101 	{
   101 	{
   102 	GET_RWNO_TID(,r0);
   102 	GET_RWNO_TID(,r0);
   103 	asm("nop ");
   103 	asm("nop ");
   104 	asm("nop ");
   104 	asm("nop ");
   105 	asm("nop ");
   105 	asm("nop ");
   106 	asm("ldr	r1, [r0, #%a0]" : : "i" _FOFF(TSubScheduler,iSSX.iLocalTimerAddr));
   106 	asm("ldr	r1, [r0, #%a0]" : : "i" _FOFF(TSubScheduler,i_LocalTimerAddr));
   107 	asm("nop ");
   107 	asm("nop ");
   108 	asm("nop ");
   108 	asm("nop ");
   109 	asm("nop ");
   109 	asm("nop ");
   110 	asm("ldr	r0, [r1, #%a0]" : : "i" _FOFF(ArmLocalTimer,iTimerCount));
   110 	asm("ldr	r0, [r1, #%a0]" : : "i" _FOFF(ArmLocalTimer,iTimerCount));
   111 	asm("cmp	r0, #0 ");
   111 	asm("cmp	r0, #0 ");
   116 	{
   116 	{
   117 	GET_RWNO_TID(,r0);
   117 	GET_RWNO_TID(,r0);
   118 	asm("nop ");
   118 	asm("nop ");
   119 	asm("nop ");
   119 	asm("nop ");
   120 	asm("nop ");
   120 	asm("nop ");
   121 	asm("ldr	r1, [r0, #%a0]" : : "i" _FOFF(TSubScheduler,iSSX.iLocalTimerAddr));
   121 	asm("ldr	r1, [r0, #%a0]" : : "i" _FOFF(TSubScheduler,i_LocalTimerAddr));
   122 	asm("nop ");
   122 	asm("nop ");
   123 	asm("nop ");
   123 	asm("nop ");
   124 	asm("nop ");
   124 	asm("nop ");
   125 	asm("ldr	r0, [r1, #%a0]" : : "i" _FOFF(ArmLocalTimer,iTimerCount));
   125 	asm("ldr	r0, [r1, #%a0]" : : "i" _FOFF(ArmLocalTimer,iTimerCount));
   126 	asm("str	r0, [r1, #%a0]" : : "i" _FOFF(ArmLocalTimer,iTimerCount));
   126 	asm("str	r0, [r1, #%a0]" : : "i" _FOFF(ArmLocalTimer,iTimerCount));
   131 	{
   131 	{
   132 	GET_RWNO_TID(,r0);
   132 	GET_RWNO_TID(,r0);
   133 	asm("nop ");
   133 	asm("nop ");
   134 	asm("nop ");
   134 	asm("nop ");
   135 	asm("nop ");
   135 	asm("nop ");
   136 	asm("ldr	r1, [r0, #%a0]" : : "i" _FOFF(TSubScheduler,iSSX.iLocalTimerAddr));
   136 	asm("ldr	r1, [r0, #%a0]" : : "i" _FOFF(TSubScheduler,i_LocalTimerAddr));
   137 	asm("nop ");
   137 	asm("nop ");
   138 	asm("nop ");
   138 	asm("nop ");
   139 	asm("nop ");
   139 	asm("nop ");
   140 	asm("ldr	r0, [r1, #%a0]!" : : "i" _FOFF(ArmLocalTimer,iTimerCount));
   140 	asm("ldr	r0, [r1, #%a0]!" : : "i" _FOFF(ArmLocalTimer,iTimerCount));
   141 	asm("swp	r0, r0, [r1] ");
   141 	asm("swp	r0, r0, [r1] ");