Files
2022-04-18 01:55:48 +00:00

110 lines
4.2 KiB
Plaintext
Executable File

entry &th
thread &th
GOSUB LoadGlobalRegs
GOSUB LoadLocalRegs &th
register
v.f
enddo
LoadLocalRegs:
ENTRY &cpu_num
print "Loading CPU [&cpu_num] registers"
thread &cpu_num
r.s r0 v.value(QURT_error_info.locregs[&cpu_num].r0)
r.s r1 v.value(QURT_error_info.locregs[&cpu_num].r1)
r.s r2 v.value(QURT_error_info.locregs[&cpu_num].r2)
r.s r3 v.value(QURT_error_info.locregs[&cpu_num].r3)
r.s r4 v.value(QURT_error_info.locregs[&cpu_num].r4)
r.s r5 v.value(QURT_error_info.locregs[&cpu_num].r5)
r.s r6 v.value(QURT_error_info.locregs[&cpu_num].r6)
r.s r7 v.value(QURT_error_info.locregs[&cpu_num].r7)
r.s r8 v.value(QURT_error_info.locregs[&cpu_num].r8)
r.s r9 v.value(QURT_error_info.locregs[&cpu_num].r9)
r.s r10 v.value(QURT_error_info.locregs[&cpu_num].r10)
r.s r11 v.value(QURT_error_info.locregs[&cpu_num].r11)
r.s r12 v.value(QURT_error_info.locregs[&cpu_num].r12)
r.s r13 v.value(QURT_error_info.locregs[&cpu_num].r13)
r.s r14 v.value(QURT_error_info.locregs[&cpu_num].r14)
r.s r15 v.value(QURT_error_info.locregs[&cpu_num].r15)
r.s r16 v.value(QURT_error_info.locregs[&cpu_num].r16)
r.s r17 v.value(QURT_error_info.locregs[&cpu_num].r17)
r.s r18 v.value(QURT_error_info.locregs[&cpu_num].r18)
r.s r19 v.value(QURT_error_info.locregs[&cpu_num].r19)
r.s r20 v.value(QURT_error_info.locregs[&cpu_num].r20)
r.s r21 v.value(QURT_error_info.locregs[&cpu_num].r21)
r.s r22 v.value(QURT_error_info.locregs[&cpu_num].r22)
r.s r23 v.value(QURT_error_info.locregs[&cpu_num].r23)
r.s r24 v.value(QURT_error_info.locregs[&cpu_num].r24)
r.s r25 v.value(QURT_error_info.locregs[&cpu_num].r25)
r.s r26 v.value(QURT_error_info.locregs[&cpu_num].r26)
r.s r27 v.value(QURT_error_info.locregs[&cpu_num].r27)
r.s r28 v.value(QURT_error_info.locregs[&cpu_num].r28)
r.s r29 v.value(QURT_error_info.locregs[&cpu_num].r29)
r.s r30 v.value(QURT_error_info.locregs[&cpu_num].r30)
r.s r31 v.value(QURT_error_info.locregs[&cpu_num].r31)
r.s elr v.value(QURT_error_info.locregs[&cpu_num].elr)
r.s pc v.value(QURT_error_info.locregs[&cpu_num].elr)
r.s ssr v.value(QURT_error_info.locregs[&cpu_num].ssr)
r.s badva v.value(QURT_error_info.locregs[&cpu_num].badva)
r.s gp v.value(QURT_error_info.locregs[&cpu_num].gp)
r.s ugp v.value(QURT_error_info.locregs[&cpu_num].ugp)
r.s sa0 v.value(QURT_error_info.locregs[&cpu_num].sa0)
r.s lc0 v.value(QURT_error_info.locregs[&cpu_num].lc0)
r.s sa1 v.value(QURT_error_info.locregs[&cpu_num].sa1)
r.s lc1 v.value(QURT_error_info.locregs[&cpu_num].lc1)
r.s p v.value(QURT_error_info.locregs[&cpu_num].preds)
r.s m0 v.value(QURT_error_info.locregs[&cpu_num].m0)
r.s usr v.value(QURT_error_info.locregs[&cpu_num].usr)
r.s tid v.value(QURT_error_info.locregs[&cpu_num].tid)
;Load IMASK from Global registers
if (&cpu_num==0)
(
r.s imask v.value(QURT_error_info.globregs.imask0)
r.s sgp v.value((unsigned int)&QURTK_STACK0)
)
else if (&cpu_num==1)
(
r.s imask v.value(QURT_error_info.globregs.imask1)
r.s sgp v.value((unsigned int)&QURTK_STACK1)
)
else if (&cpu_num==2)
(
r.s imask v.value(QURT_error_info.globregs.imask2)
r.s sgp v.value((unsigned int)&QURTK_STACK2)
)
else if (&cpu_num==3)
(
r.s imask v.value(QURT_error_info.globregs.imask3)
r.s sgp v.value((unsigned int)&QURTK_STACK3)
)
else if (&cpu_num==4)
(
r.s imask v.value(QURT_error_info.globregs.imask4)
r.s sgp v.value((unsigned int)&QURTK_STACK4)
)
else if (&cpu_num==5)
(
r.s imask v.value(QURT_error_info.globregs.imask5)
r.s sgp v.value((unsigned int)&QURTK_STACK5)
)
RETURN
LoadGlobalRegs:
r.s syscfg v.value(QURT_error_info.globregs.syscfg)
r.s modectl v.value(QURT_error_info.globregs.modectl)
r.s pcyclelo v.value(QURT_error_info.globregs.pcyclelo)
r.s pcyclehi v.value(QURT_error_info.globregs.pcyclehi)
r.s evb v.value(QURT_error_info.globregs.evb)
r.s diag v.value(QURT_error_info.globregs.diag)
r.s iad v.value(QURT_error_info.globregs.iad)
r.s ipend v.value(QURT_error_info.globregs.ipend)
r.s iel v.value(QURT_error_info.globregs.iel)
r.s iahl v.value(QURT_error_info.globregs.iahl)
r.s rev v.value(QURT_error_info.globregs.rev)
RETURN