kerneltest/e32test/nkernsa/arm/armutils.cia
branchRCL_3
changeset 43 c1f20ce4abcf
parent 0 a41df078684a
child 44 3e88ff8f41d5
equal deleted inserted replaced
42:a179b74831c9 43:c1f20ce4abcf
    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,i_LocalTimerAddr));
    93 	asm("ldr	r0, [r0, #%a0]" : : "i" _FOFF(TSubScheduler,iSSX.iLocalTimerAddr));
    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,i_LocalTimerAddr));
   106 	asm("ldr	r1, [r0, #%a0]" : : "i" _FOFF(TSubScheduler,iSSX.iLocalTimerAddr));
   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,i_LocalTimerAddr));
   121 	asm("ldr	r1, [r0, #%a0]" : : "i" _FOFF(TSubScheduler,iSSX.iLocalTimerAddr));
   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,i_LocalTimerAddr));
   136 	asm("ldr	r1, [r0, #%a0]" : : "i" _FOFF(TSubScheduler,iSSX.iLocalTimerAddr));
   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] ");