39 volatile uint32 spinLockVal;
90 dbgsr.U =
__mfcr(CPU_DBGSR);
102 Ifx_SCU_PMCSR *pmcsr_val;
104 pmcsr_val = (Ifx_SCU_PMCSR *)&MODULE_SCU.PMCSR[index];
180 __asm(
" mul.u %%e14,%1,%2 # d15 = Eh; d14 = El \n"
181 " mov %%d12,%%d14 # e12 = El \n"
183 " madd.u %%e14,%%e12,%%d15, 5 # e14 = El + 5 * d15 \n"
184 " cmp_m: jge.u %%d14,%3,sub_m # \n"
185 " jz %%d15,done # \n"
186 " sub_m: subx %%d14,%%d14,%3 # e12=e12-m \n"
187 " subc %%d15,%%d15,%%d13 # d13=d13-0 \n"
189 " done: mov %0,%%d14 # \n"
190 :
"=d"(result) :
"d"(a),
"d"(x),
"d"(m) :
"d12",
"d13",
"d14",
"d15");
192 __asm(
" mul.u e14,%1,%2 ; d15 = Eh; d14 = El \n"
193 " mov d12,d14 ; e12 = El \n"
195 " madd.u e14,e12,d15,#5 ; e14 = El + 5 * d15 \n"
196 " cmp_m: jge.u d14,%3,sub_m ; \n"
198 " sub_m: subx d14,d14,%3 ; e12=e12-m \n"
199 " subc d15,d15,d13 ; d13=d13-0 \n"
201 " done: mov %0,d14 ; \n"
202 :
"=d"(result) :
"d"(a),
"d"(x),
"d"(m) :
"e14",
"e12");
204 asm(
" mul.u %%e14,%1,%2 # d15 = Eh; d14 = El \n"
205 " mov %%d12,%%d14 # e12 = El \n"
207 " madd.u %%e14,%%e12,%%d15, 5 # e14 = El + 5 * d15 \n"
209 " jge.u %%d14,%3,.sub_m \n"
210 " jz %%d15,.done # \n"
212 " subx %%d14,%%d14,%3 # e12=e12-m \n"
213 " subc %%d15,%%d15,%%d13 # d13=d13-0 \n"
217 :
"=r"(result) :
"r"(a),
"r"(x),
"r"(m));
239 if ((min == 0) && (max == 0xffffffff))
245 return (new_value % (max - min + 1)) +
min;
292 cpu->DBGSR.B.HALT = 0x2;
296 dbgsr.U =
__mfcr(CPU_DBGSR);
298 __mtcr(CPU_DBGSR, dbgsr.U);
344 Ifx_SCU_WDTCPU *watchdog;
349 watchdog->CON0.U = (password << 2U) | 0x1U;
351 watchdog->CON0.U = (password << 2U) | 0x2U;
353 watchdog->CON0.U = (password << 2U) | 0x1U;
355 wdtCon0_Val = ((0x0000U) << 16U) | (password << 2U) | (0x3U);
358 watchdog->CON0.U = wdtCon0_Val;
376 if (retValue ==
TRUE)
387 cpu->DBGSR.B.HALT = 2;
394 MODULE_SCU.PMCSR[(
uint32)index].B.REQSLP = reqslp;
406 boolean retVal =
TRUE;
414 cpu->PC.B.PC = programCounter >> 1;
424 volatile uint32 spinLockVal;
435 if (spinLockVal == 0)
443 }
while ((retVal ==
FALSE) && (timeoutCount > 0));
451 boolean retVal =
TRUE;