Can somebody help to understand what's going on in _ResetHandler. I have no insight about witlb and wdtlb registers. What values are passed to it?
00000080 <_ResetVector>:
80: 000806 j a4 <_ResetHandler>
83: 000000 ill
86: 000000 ill
89: 400000 ssr a0
8c: 1f .byte 0x1f
8d: 222221 l32r a2, fffc8918 <_rom_store+0xfffba590>
90: 000000 ill
93: e0 .byte 0xe0
94: f3 .byte 0xf3
95: 400000 ssr a0
98: e328 l32i.n a2, a3, 56
9a: 004000 break 0, 0
9d: 000000 ill
a0: 000000 ill
a3: 00 .byte 00
000000a4 <_ResetHandler>:
a4: 000c movi.n a0, 0
a6: 13e400 wsr.intenable a0
a9: 130500 wsr.litbase a0
ac: 002010 rsync
af: fff521 l32r a2, 84 <_ResetVector+0x4>
b2: 03eb30 rsr.prid a3
b5: 743030 extui a3, a3, 0, 8
b8: 428c beqz.n a2, c0 <_ResetHandler+0x1c>
ba: 002356 bnez a3, c0 <_ResetHandler+0x1c>
bd: 006202 s32i a0, a2, 0
c0: fff221 l32r a2, 88 <_ResetVector+0x8>
c3: 13e720 wsr.vecbase a2
c6: 006120 rsil a2, 1
c9: fff021 l32r a2, 8c <_ResetVector+0xc>
cc: fff151 l32r a5, 90 <_ResetVector+0x10>
cf: fff161 l32r a6, 94 <_ResetVector+0x14>
d2: 030c movi.n a3, 0
d4: 027d mov.n a7, a2
d6: 106650 and a6, a6, a5
d9: 000586 j f3 <_ResetHandler+0x4f>
dc: 000000 ill
df: 00 .byte 00
e0: 506340 witlb a4, a3
e3: 002000 isync
e6: f03d nop.n
e8: f03d nop.n
ea: c03350 sub a3, a3, a5
ed: 14b3b6 bltui a3, 16, 105 <_ResetHandler+0x61>
f0: 417470 srli a7, a7, 4
f3: 344070 extui a4, a7, 0, 4
f6: e61367 beq a3, a6, e0 <_ResetHandler+0x3c>
f9: 506340 witlb a4, a3
fc: c03350 sub a3, a3, a5
ff: edb3f6 bgeui a3, 16, f0 <_ResetHandler+0x4c>
102: 002000 isync
105: ffe251 l32r a5, 90 <_ResetVector+0x10>
108: 030c movi.n a3, 0
10a: 207220 or a7, a2, a2
10d: 344070 extui a4, a7, 0, 4
110: 50e340 wdtlb a4, a3
113: c03350 sub a3, a3, a5
116: 417470 srli a7, a7, 4
119: f0b3f6 bgeui a3, 16, 10d <_ResetHandler+0x69>
11c: 002030 dsync
11f: ffde21 l32r a2, 98 <_ResetVector+0x18>
122: 02ac beqz.n a2, 146 <_ResetHandler+0xa2>
124: 0238 l32i.n a3, a2, 0
126: 1248 l32i.n a4, a2, 4
128: 2258 l32i.n a5, a2, 8
12a: 0cc222 addi a2, a2, 12
12d: 0fb347 bgeu a3, a4, 140 <_ResetHandler+0x9c>
130: 0568 l32i.n a6, a5, 0
132: 554b addi.n a5, a5, 4
134: 0369 s32i.n a6, a3, 0
136: 334b addi.n a3, a3, 4
138: f43347 bltu a3, a4, 130 <_ResetHandler+0x8c>
13b: fff946 j 124 <_ResetHandler+0x80>
13e: 00 .byte 00
13f: 00 .byte 00
140: fe0356 bnez a3, 124 <_ResetHandler+0x80>
143: fdd556 bnez a5, 124 <_ResetHandler+0x80>
146: 002000 isync
149: 002e05 call0 42c <_start>
Best regards,
Aleksei