Page 1 Line Address Opcode Source 1 2 #line 67 "except2.s" 2.67 .file "except2.s" 2.68 #line 27 "config.h" /* from dink_asm.h from except2.s */ 2.68.27 2.68.28 2.68.29 2.68.30 2.68.31 2.68.32 2.68.33 2.68.34 2.68.35 2.68.36 2.68.37 2.68.38 #line 46 2.68.46 2.68.47 #line 100 2.68.100 2.68.101 2.68.102 2.68.103 #line 157 2.68.157 2.68.158 #line 27 2.68.158.2 2.68.158.3 2.68.158.4 2.68.158.5 2.68.158.9 2.68.158.10 2.68.158.11 2.68.158.12 2.68.158.13 2.68.158.14 2.68.158.15 2.68.158.16 #line 46 2.68.158.48 2.68.158.49 #line 100 2.68.158.154 2.68.158.155 2.68.158.156 2.68.158.157 #line 157 2.68.158.158 2.68.158.159 #line 2 "yellowknife.h" /* from dink_asm.h from except2.s */ 2.68.158.160 2.68.158.161 2.68.158.162 2.68.158.163 #line 27 "config.h" /* from dink_asm.h from except2.s */ 2.68.158.164 2.68.158.165 2.68.158.176 Page 2 Line Address Opcode Source 2.68.158.177 2.68.158.178 2.68.158.179 2.68.158.197 2.68.158.198 2.68.158.234 2.68.158.235 2.68.158.241 2.68.158.242 #line 46 2.68.158.243 2.68.158.258 #line 100 2.68.158.259 2.68.158.260 2.68.158.261 2.68.158.266 #line 157 2.68.158.267 2.68.158.280 #line 9 "yellowknife.h" /* from dink_asm.h from except2.s */ 2.68.158.281 2.68.158.290 2.68.158.291 2.68.158.297 2.68.158.298 2.68.158.299 2.68.158.300 2.68.158.318 #line 48 2.68.158.319 2.68.158.319 00003930 #line 154 2.68.158.319 2.68.158.319 2.68.158.319 2.68.158.319 00000002 2.68.158.319 2.68.158.319 00000000 2.68.158.319 00000004 2.68.158.319 00000008 2.68.158.319 0000000C 2.68.158.319 00000010 Page 3 Line Address Opcode Source 2.68.158.319 00000014 2.68.158.319 00000018 #line 176 2.68.158.319 0000001C 2.68.158.319 2.68.158.319 00000000 2.68.158.319 00000004 #line 197 2.68.158.319 00000008 2.68.158.319 0000000C #line 234 2.68.158.319 00000010 2.68.158.319 00000014 #line 241 2.68.158.319 00000018 2.68.158.319 0000001C 2.68.158.319 #line 258 2.68.158.319 00000000 Page 4 Line Address Opcode Source 2.68.158.319 00000004 2.68.158.319 00000008 2.68.158.319 0000000C #line 266 2.68.158.319 00000010 2.68.158.319 00000014 #line 280 2.68.158.319 00000018 2.68.158.319 0000001C #line 290 2.68.158.319 2.68.158.319 00000001 #line 297 2.68.158.319 00000013 2.68.158.319 0000001B 2.68.158.319 2.68.158.319 00000110 #line 318 2.68.158.319 00000112 2.68.158.319 #line 34 "dink_asm.h" /* from except2.s */ 2.68.158.319 00000002 .set dink_msr,0x3930 2.68.158.319 2.68.158.319 00000000 Page 5 Line Address Opcode Source 2.68.158.319 00000004 2.68.158.319 00000008 .set rtoc,2; 2.68.158.319 0000000C 2.68.158.319 .set r0,0; .set r1,1; .set r2,2; .set r3,3; 2.68.158.319 .set r4,4; .set r5,5; .set r6,6; .set r7,7; 2.68.158.319 .set r8,8; .set r9,9; .set r10,10; .set r11,11; 2.68.158.319 .set r12,12; .set r13,13; .set r14,14; .set r15,15; 2.68.158.319 .set r16,16; .set r17,17; .set r18,18; .set r19,19; 2.68.158.319 .set r20,20; .set r21,21; .set r22,22; .set r23,23; 2.68.158.319 .set r24,24; .set r25,25; .set r26,26; .set r27,27; 2.68.158.319 000003D0 .set r28,28; .set r29,29; .set r30,30; .set r31,31; 2.68.158.319 000003D2 2.68.158.319 000003D4 .set f0,0; .set f1,1; .set f2,2; .set f3,3; 2.68.158.319 000003D6 .set f4,4; .set f5,5; .set f6,6; .set f7,7; 2.68.158.319 .set f8,8; .set f9,9; .set f10,10; .set f11,11; 2.68.158.319 .set f12,12; .set f13,13; .set f14,14; .set f15,15; 2.68.158.319 .set f16,16; .set f17,17; .set f18,18; .set f19,19; 2.68.158.319 .set f20,20; .set f21,21; .set f22,22; .set f23,23; 2.68.158.319 .set f24,24; .set f25,25; .set f26,26; .set f27,27; 2.68.158.319 .set f28,28; .set f29,29; .set f30,30; .set f31,31; 2.68.158.319 2.68.158.319 .set v0,0; .set v1,1; .set v2,2; .set v3,3; 2.68.158.319 .set v4,4; .set v5,5; .set v6,6; .set v7,7; 2.68.158.319 000003BC .set v8,8; .set v9,9; .set v10,10; .set v11,11; 2.68.158.319 000003BD .set v12,12; .set v13,13; .set v14,14; .set v15,15; 2.68.158.319 000003FC .set v16,16; .set v17,17; .set v18,18; .set v19,19; 2.68.158.319 000003FE .set v20,20; .set v21,21; .set v22,22; .set v23,23; 2.68.158.319 000003F9 .set v24,24; .set v25,25; .set v26,26; .set v27,27; 2.68.158.319 000003AA .set v28,28; .set v29,29; .set v30,30; .set v31,31; 2.68.158.319 000003AE 2.68.158.319 000003A8 .set xer,1; .set lr,8; .set ctr,9; .set dsisr,18; Page 6 Line Address Opcode Source 2.68.158.319 .set dar,19; .set dec_r,22; .set sdr1,25; .set srr0,26; 2.68.158.319 .set srr1,27; .set ear,282; .set pvr,287; 2.68.158.319 2.68.158.319 .set sprg0,272; .set sprg1,273; 2.68.158.319 .set sprg2,274; .set sprg3,275; 2.68.158.319 2.68.158.319 .set cr2,2; 2.68.158.319 00000100 2.68.158.319 000003A0 .set sr0,0; .set sr1,1; .set sr2,2; .set sr3,3; 2.68.158.319 000003B0 .set sr4,4; .set sr5,5; .set sr6,6; .set sr7,7; 2.68.158.319 000003F6 .set sr8,8; .set sr9,9; .set sr10,10;.set sr11,11; 2.68.158.319 00000080 .set sr12,12;.set sr13,13;.set sr14,14;.set sr15,15; 2.68.158.319 0000FF7F 2.68.158.319 2.68.158.319 2.68.158.319 2.68.158.319 #line 94 2.68.158.319 2.68.158.319 0000011C 2.68.158.319 .set dmiss,976; .set dcmp,977; 2.68.158.319 00000210 .set hash1,978; .set hash2,979; 2.68.158.319 00000212 .set imiss,980; .set icmp,981; 2.68.158.319 00000214 .set rpa,982; 2.68.158.319 00000216 2.68.158.319 00000218 2.68.158.319 0000021A 2.68.158.319 0000021C 2.68.158.319 0000021E 2.68.158.319 2.68.158.319 000003B8 2.68.158.319 000003B9 #line 122 2.68.158.319 000003BB 2.68.158.319 .set mmcr1,956; 2.68.158.319 000003F0 .set pmc3,957; .set pmc4,958; 2.68.158.319 000003F5 .set thrm1,1020; .set thrm2,1021; Page 7 Line Address Opcode Source 2.68.158.319 000003FF .set thrm3,1022; .set ictc,1019; 2.68.158.319 .set l2cr,1017; .set upmc1,937; 2.68.158.319 .set upmc2,938; .set upmc3,941; 2.68.158.319 .set upmc4,942; .set usia,939; 2.68.158.319 .set ummcr0,936; .set ummcr1,940; 2.68.158.319 2.68.158.319 00000230 2.68.158.319 00000232 2.68.158.319 00000234 2.68.158.319 00000236 2.68.158.319 00000238 2.68.158.319 0000023A 2.68.158.319 0000023C .set vrsave,256; .set ubamr, 935; 2.68.158.319 0000023E .set ummcr2,928; .set bamr, 951; 2.68.158.319 .set mmcr2,944; .set msscr1, 1015; 2.80 .set msscr0,1014; 2.81 .set dL1HWf,0x0080 2.82 .set C_dL1HWf,0xff7f 2.83 2.84 2.85 2.86 2.87 2.88 .set tbl,284; .set tbu,285; 2.89 2.90 .set ibat0u,528; .set ibat0l,529; 2.91 0000FC10 .set ibat1u,530; .set ibat1l,531; 2.92 00000014 .set ibat2u,532; .set ibat2l,533; 2.93 00000004 .set ibat3u,534; .set ibat3l,535; 2.94 00000300 .set dbat0u,536; .set dbat0l,537; 2.95 00000308 .set dbat1u,538; .set dbat1l,539; 2.96 00000010 .set dbat2u,540; .set dbat2l,541; 2.97 00000310 .set dbat3u,542; .set dbat3l,543; 2.98 2.108 .set mmcr0,952; 2.109 .set pmc1,953; .set pmc2,954; 2.118 .set sia,955; .set sda,959; 2.119 2.120 .set hid0,1008; .set hid1,1009; 2.121 .set dabr,1013; .set iabr,1010; 2.122 00000100 48 00 00 00 E .set pir,1023; 2.123 2.124 Page 8 Line Address Opcode Source 2.125 2.126 2.127 2.128 .set ibat4u,560; .set ibat4l,561; 2.129 .set ibat5u,562; .set ibat5l,563; 2.130 00000200 .set ibat6u,564; .set ibat6l,565; 2.131 .set ibat7u,566; .set ibat7l,567; 2.132 .set dbat4u,568; .set dbat4l,569; 2.133 .set dbat5u,570; .set dbat5l,571; 2.134 .set dbat6u,572; .set dbat6l,573; 2.135 00000200 7C 73 43 A6 .set dbat7u,574; .set dbat7l,575; 2.136 00000204 7C 92 43 A6 #line 80 "except2.s" 2.137 2.138 00000208 3C 60 00 00 .extern exception_return 2.139 0000020C 60 63 02 00 .extern save_to_dink 2.140 .extern save_to_user 2.141 00000210 3C 80 00 00 E .extern deal_w_exception 2.142 00000214 60 84 00 00 E .extern restore_to_dink 2.143 .extern restore_partial_dink 2.144 00000218 7C 60 21 2E .extern main 2.145 0000021C 7C 7A 02 A6 .extern KahluaInit 2.146 .extern epic_exception 2.147 00000220 3C 80 00 00 E 2.148 00000224 60 84 00 00 E .equ PCSRBARVAL, 0xfc10 2.149 00000228 7C 60 21 2E .equ PCSRBAR, 0x0014 2.150 0000022C 48 00 00 00 E .equ PCICMD, 0x0004 2.151 .equ OMBAR, 0x0300 2.152 .equ OTWR, 0x0308 2.153 .equ LMBAR, 0x0010 2.154 .equ ITWR, 0x0310 2.155 #line 108 2.156 2.157 #line 118 2.158 00000300 .text 2.159 .align 2 2.160 .space (0x100) 2.161 2.162 b system_reset 2.163 2.164 .space (0x100 - 0x4) 2.165 2.166 2.167 2.168 00000300 7C 73 43 A6 EH200S: 2.169 00000304 7C 92 43 A6 2.170 .set mcval,0x200 2.171 00000308 3C 60 00 00 2.172 0000030C 60 63 03 00 2.173 2.174 00000310 3C 80 00 00 E 2.175 00000314 60 84 00 00 E mtspr sprg3,r3 Page 9 Line Address Opcode Source 2.176 mtspr sprg2,r4 2.177 00000318 7C 60 21 2E 2.178 0000031C 7C 7A 02 A6 addis r3,0,0 2.179 ori r3,r3,mcval 2.180 00000320 3C 80 00 00 E 2.181 00000324 60 84 00 00 E lis r4, ex_type@h 2.182 00000328 7C 60 21 2E ori r4,r4, ex_type@l 2.183 2.184 0000032C 48 00 00 00 E stwx r3,0,r4 2.185 mfsrr0 r3 2.186 2.187 lis r4, ex_addr@h 2.188 ori r4,r4, ex_addr@l 2.189 stwx r3,0,r4 2.190 b handle_ex 2.191 2.192 00000400 EH200E: 2.193 2.194 .space (0x100 - (EH200E-EH200S)) 2.195 2.196 2.197 2.198 .set daval,0x300 2.199 2.200 2.201 2.202 00000400 7C 73 43 A6 2.203 00000404 7C 92 43 A6 EH300S: 2.204 2.205 00000408 3C 60 00 00 2.206 0000040C 60 63 04 00 2.207 2.208 00000410 3C 80 00 00 E mtspr sprg3,r3 2.209 00000414 60 84 00 00 E mtspr sprg2,r4 2.210 2.211 00000418 7C 60 21 2E addis r3,0,0 2.212 0000041C 7C 7A 02 A6 ori r3,r3,daval 2.213 2.214 00000420 3C 80 00 00 E lis r4, ex_type@h 2.215 00000424 60 84 00 00 E ori r4,r4, ex_type@l 2.216 00000428 7C 60 21 2E 2.217 stwx r3,0,r4 2.218 0000042C 48 00 00 00 E mfsrr0 r3 2.219 2.220 lis r4, ex_addr@h 2.221 ori r4,r4, ex_addr@l 2.222 stwx r3,0,r4 2.223 2.224 b handle_ex 2.225 2.226 00000500 EH300E: Page 10 Line Address Opcode Source 2.227 2.228 .space EH300S-EH300E + 0x100 2.229 2.230 2.231 2.232 .set iaval,0x400 2.233 2.234 2.235 2.236 00000500 7C 73 43 A6 2.237 00000504 7C 92 43 A6 EH400S: 2.238 2.239 00000508 7C 76 02 A6 2.240 2.241 0000050C 3C 80 00 00 E 2.242 00000510 60 84 00 00 E mtspr sprg3,r3 2.243 mtspr sprg2,r4 2.244 00000514 7C 60 21 2E 2.245 addis r3,0,0 2.246 00000518 3C 60 00 00 ori r3,r3,iaval 2.247 0000051C 60 63 05 00 2.248 lis r4, ex_type@h 2.249 00000520 3C 80 00 00 E ori r4,r4, ex_type@l 2.250 00000524 60 84 00 00 E 2.251 stwx r3,0,r4 2.252 00000528 7C 60 21 2E mfsrr0 r3 2.253 0000052C 7C 7A 02 A6 2.254 lis r4, ex_addr@h 2.255 00000530 3C 80 00 00 E ori r4,r4, ex_addr@l 2.256 00000534 60 84 00 00 E stwx r3,0,r4 2.257 00000538 7C 60 21 2E 2.258 b handle_ex 2.259 0000053C 48 00 00 00 E 2.260 EH400E: 2.261 2.262 .space EH400S-EH400E + 0x100 2.263 2.264 2.265 00000600 2.266 .set eival,0x500 2.267 2.268 2.269 2.270 2.271 EH500S: 2.272 2.273 2.274 00000600 7C 73 43 A6 2.275 00000604 7C 92 43 A6 2.276 mtspr sprg3,r3 2.277 mtspr sprg2,r4 Page 11 Line Address Opcode Source 2.278 00000608 3C 60 00 00 2.279 0000060C 60 63 06 00 mfspr r3,22 2.280 2.281 00000610 3C 80 00 00 E lis r4, decrementer_value@h 2.282 00000614 60 84 00 00 E ori r4,r4, decrementer_value@l 2.283 2.284 00000618 7C 60 21 2E stwx r3,0,r4 2.285 0000061C 7C 7A 02 A6 2.286 addis r3,0,0 2.287 00000620 3C 80 00 00 E ori r3,r3,eival 2.288 00000624 60 84 00 00 E 2.289 00000628 7C 60 21 2E lis r4, ex_type@h 2.290 ori r4,r4, ex_type@l 2.291 0000062C 48 00 00 00 E 2.292 stwx r3,0,r4 2.293 mfsrr0 r3 2.294 2.295 lis r4, ex_addr@h 2.296 ori r4,r4, ex_addr@l 2.297 stwx r3,0,r4 2.298 2.299 00000700 b handle_ex 2.300 2.301 EH500E: 2.302 2.303 .space EH500S-EH500E + 0x100 2.304 2.305 .set amval, 0x600 2.306 2.307 2.308 2.309 00000700 7C 73 43 A6 EH600S: 2.310 00000704 7C 92 43 A6 2.311 2.312 2.313 00000708 3C 60 00 00 2.314 0000070C 60 63 07 00 mtspr sprg3,r3 2.315 mtspr sprg2,r4 2.316 00000710 3C 80 00 00 E 2.317 00000714 60 84 00 00 E 2.318 addis r3,0,0 2.319 00000718 7C 60 21 2E ori r3,r3,amval 2.320 0000071C 7C 7A 02 A6 2.321 00000720 3C 80 00 00 E lis r4, ex_type@h 2.322 00000724 60 84 00 00 E ori r4,r4, ex_type@l 2.323 00000728 7C 60 21 2E 2.324 stwx r3,0,r4 2.325 0000072C 48 00 00 00 E mfsrr0 r3 2.326 2.327 lis r4, ex_addr@h 2.328 ori r4,r4, ex_addr@l Page 12 Line Address Opcode Source 2.329 stwx r3,0,r4 2.330 2.331 b handle_ex 2.332 2.333 00000800 EH600E: 2.334 2.335 .space EH600S-EH600E + 0x100 2.336 2.337 2.338 2.339 .set pgval,0x700 2.340 2.341 2.342 2.343 00000800 7C 73 43 A6 2.344 00000804 7C 92 43 A6 EH700S: 2.345 2.346 2.347 00000808 3C 60 00 00 2.348 0000080C 60 63 08 00 2.349 mtspr sprg3,r3 2.350 00000810 3C 80 00 00 E mtspr sprg2,r4 2.351 00000814 60 84 00 00 E 2.352 2.353 00000818 7C 60 21 2E addis r3,0,0 2.354 0000081C 7C 7A 02 A6 ori r3,r3,pgval 2.355 2.356 00000820 3C 80 00 00 E lis r4, ex_type@h 2.357 00000824 60 84 00 00 E ori r4,r4, ex_type@l 2.358 00000828 7C 60 21 2E 2.359 stwx r3,0,r4 2.360 0000082C 48 00 00 00 E mfsrr0 r3 2.361 lis r4, ex_addr@h 2.362 ori r4,r4, ex_addr@l 2.363 stwx r3,0,r4 2.364 2.365 b handle_ex 2.366 2.367 EH700E: 2.368 00000900 2.369 .space EH700S-EH700E + 0x100 2.370 2.371 2.372 2.373 .set fpval,0x800 2.374 2.375 2.376 2.377 2.378 00000900 7C 73 43 A6 EH800S: 2.379 00000904 7C 92 43 A6 Page 13 Line Address Opcode Source 2.380 2.381 2.382 00000908 3C 60 00 00 2.383 0000090C 60 63 09 00 mtspr sprg3,r3 2.384 mtspr sprg2,r4 2.385 00000910 3C 80 00 00 E 2.386 00000914 60 84 00 00 E 2.387 addis r3,0,0 2.388 00000918 7C 60 21 2E ori r3,r3,fpval 2.389 0000091C 7C 7A 02 A6 2.390 lis r4, ex_type@h 2.391 00000920 3C 80 00 00 E ori r4,r4, ex_type@l 2.392 00000924 60 84 00 00 E 2.393 00000928 7C 60 21 2E stwx r3,0,r4 2.394 mfsrr0 r3 2.395 0000092C 48 00 00 00 E 2.396 lis r4, ex_addr@h 2.397 ori r4,r4, ex_addr@l 2.398 stwx r3,0,r4 2.399 2.400 b handle_ex 2.401 2.402 EH800E: 2.403 00000A00 2.404 .space EH800S-EH800E + 0x100 2.405 2.406 2.407 2.408 .set dmval,0x900 2.409 2.410 2.411 2.412 2.413 00000A00 7C 73 43 A6 EH900S: 2.414 00000A04 7C 92 43 A6 2.415 2.416 2.417 00000A08 3C 60 00 00 2.418 00000A0C 60 63 0A 00 mtspr sprg3,r3 2.419 mtspr sprg2,r4 2.420 00000A10 3C 80 00 00 E 2.421 00000A14 60 84 00 00 E 2.422 addis r3,0,0 2.423 00000A18 7C 60 21 2E ori r3,r3,dmval 2.424 00000A1C 7C 7A 02 A6 2.425 lis r4, ex_type@h 2.426 00000A20 3C 80 00 00 E ori r4,r4, ex_type@l 2.427 00000A24 60 84 00 00 E 2.428 00000A28 7C 60 21 2E stwx r3,0,r4 2.429 mfsrr0 r3 2.430 00000A2C 48 00 00 00 E Page 14 Line Address Opcode Source 2.431 lis r4, ex_addr@h 2.432 ori r4,r4, ex_addr@l 2.433 stwx r3,0,r4 2.434 2.435 b handle_ex 2.436 2.437 EH900E: 2.438 2.439 .space EH900S-EH900E + 0x100 2.440 00000C00 2.441 2.442 2.443 .set ioval,0xA00 2.444 2.445 2.446 2.447 2.448 EHA00S: 2.449 2.450 00000C00 7C 73 43 A6 2.451 00000C04 7C 92 43 A6 2.452 2.453 mtspr sprg3,r3 2.454 00000C08 3C 60 00 00 mtspr sprg2,r4 2.455 00000C0C 60 63 0C 00 2.456 2.457 00000C10 3C 80 00 00 E addis r3,0,0 2.458 00000C14 60 84 00 00 E ori r3,r3,ioval 2.459 2.460 00000C18 7C 60 21 2E lis r4, ex_type@h 2.461 00000C1C 7C 7A 02 A6 ori r4,r4, ex_type@l 2.462 2.463 00000C20 3C 80 00 00 E stwx r3,0,r4 2.464 00000C24 60 84 00 00 E mfsrr0 r3 2.465 00000C28 7C 60 21 2E 2.466 lis r4, ex_addr@h 2.467 00000C2C 48 00 00 00 E ori r4,r4, ex_addr@l 2.468 stwx r3,0,r4 2.469 2.470 b handle_ex 2.471 2.472 EHA00E: 2.473 2.474 .space EHA00S-EHA00E + 0x100 2.475 00000D00 2.476 .space 256 2.477 2.478 2.479 2.480 .set scval,0xC00 2.481 Page 15 Line Address Opcode Source 2.482 2.483 2.484 2.485 00000D00 7C 73 43 A6 EHC00S: 2.486 00000D04 7C 92 43 A6 2.487 2.488 2.489 00000D08 3C 60 00 00 2.490 00000D0C 60 63 0D 00 mtspr sprg3,r3 2.491 mtspr sprg2,r4 2.492 00000D10 3C 80 00 00 E 2.493 00000D14 60 84 00 00 E 2.494 addis r3,0,0 2.495 00000D18 7C 60 21 2E ori r3,r3,scval 2.496 00000D1C 7C 7A 02 A6 2.497 lis r4, ex_type@h 2.498 00000D20 3C 80 00 00 E ori r4,r4, ex_type@l 2.499 00000D24 60 84 00 00 E 2.500 00000D28 7C 60 21 2E stwx r3,0,r4 2.501 mfsrr0 r3 2.502 00000D2C 48 00 00 00 E 2.503 lis r4, ex_addr@h 2.504 ori r4,r4, ex_addr@l 2.505 stwx r3,0,r4 2.506 2.507 b handle_ex 2.508 2.509 EHC00E: 2.510 00000E00 2.511 .space EHC00S - EHC00E + 0x100 2.512 2.513 2.514 2.515 .set trval,0xD00 2.516 2.517 2.518 2.519 2.520 00000E00 7C 73 43 A6 EHD00S: 2.521 00000E04 7C 92 43 A6 2.522 2.523 2.524 00000E08 3C 60 00 00 2.525 00000E0C 60 63 0E 00 mtspr sprg3,r3 2.526 mtspr sprg2,r4 2.527 00000E10 3C 80 00 00 E 2.528 00000E14 60 84 00 00 E 2.529 addis r3,0,0 2.530 00000E18 7C 60 21 2E ori r3,r3,trval 2.531 00000E1C 7C 7A 02 A6 2.532 lis r4, ex_type@h Page 16 Line Address Opcode Source 2.533 00000E20 3C 80 00 00 E ori r4,r4, ex_type@l 2.534 00000E24 60 84 00 00 E 2.535 00000E28 7C 60 21 2E stwx r3,0,r4 2.536 mfsrr0 r3 2.537 00000E2C 48 00 00 00 E 2.538 lis r4, ex_addr@h 2.539 ori r4,r4, ex_addr@l 2.540 stwx r3,0,r4 2.541 2.542 b handle_ex 2.543 2.544 EHD00E: 2.545 00000F00 2.546 .space EHD00S-EHD00E + 0x100 2.547 2.548 2.549 2.550 .set fpaval,0xE00 2.551 2.552 2.553 2.554 2.555 00000F00 7C 73 43 A6 EHE00S: 2.556 00000F04 7C 92 43 A6 2.557 2.558 2.559 00000F08 3C 60 00 00 2.560 00000F0C 60 63 0F 00 mtspr sprg3,r3 2.561 mtspr sprg2,r4 2.562 2.563 00000F10 48 00 00 20 2.564 addis r3,0,0 2.565 ori r3,r3,fpaval 2.566 2.567 lis r4, ex_type@h 2.568 ori r4,r4, ex_type@l 2.569 2.570 stwx r3,0,r4 2.571 mfsrr0 r3 2.572 00000F20 2.573 lis r4, ex_addr@h 2.574 ori r4,r4, ex_addr@l 2.575 stwx r3,0,r4 2.576 2.577 b handle_ex 2.578 2.579 EHE00E: 2.580 2.581 .space EHE00S-EHE00E + 0x100 2.582 00000F20 7C 73 43 A6 2.583 00000F24 7C 92 43 A6 Page 17 Line Address Opcode Source 2.584 2.585 .set pmval,0xF00 2.586 00000F28 3C 60 00 00 2.587 00000F2C 60 63 0F 20 2.588 2.589 2.590 EHF00S: 2.591 2.592 00000F30 3C 80 00 00 E 2.593 00000F34 60 84 00 00 E 2.594 2.595 00000F38 7C 60 21 2E mtspr sprg3,r3 2.596 00000F3C 7C 7A 02 A6 mtspr sprg2,r4 2.597 2.598 00000F40 3C 80 00 00 E 2.599 00000F44 60 84 00 00 E addis r3,0,0 2.600 00000F48 7C 60 21 2E ori r3,r3,pmval 2.601 2.602 00000F4C 48 00 00 00 E 2.603 b EH2SM 2.604 2.605 EHF00E: 2.606 2.607 .space EHF00S-EHF00E + 0x020 2.608 2.609 2.610 00001000 2.611 2.612 .set aival,0xF20 2.613 2.614 2.615 2.616 2.617 EHF20S: 2.618 2.619 2.620 00001000 7C 73 43 A6 2.621 00001004 7C 92 43 A6 2.622 mtspr sprg3,r3 2.623 mtspr sprg2,r4 2.624 00001008 3C 60 00 00 2.625 0000100C 60 63 10 00 2.626 addis r3,0,0 2.627 00001010 3C 80 00 00 E ori r3,r3,aival 2.628 00001014 60 84 00 00 E 2.629 EH2SM: 2.630 00001018 7C 60 21 2E 2.631 0000101C 7C 7A 02 A6 2.632 lis r4, ex_type@h 2.633 00001020 3C 80 00 00 E ori r4,r4, ex_type@l 2.634 00001024 60 84 00 00 E Page 18 Line Address Opcode Source 2.635 00001028 7C 60 21 2E stwx r3,0,r4 2.636 mfsrr0 r3 2.637 0000102C 48 00 00 00 E 2.638 lis r4, ex_addr@h 2.639 ori r4,r4, ex_addr@l 2.640 stwx r3,0,r4 2.641 2.642 b handle_ex 2.643 2.644 EHF20E: 2.645 2.646 00001100 .space EHF00S-EHF20E + 0x100 2.647 2.648 2.649 2.650 .set itval,0x1000 2.651 2.652 2.653 2.654 2.655 EH1000S: 2.656 00001100 7C 73 43 A6 2.657 00001104 7C 92 43 A6 2.658 2.659 2.660 00001108 3C 60 00 00 mtspr sprg3,r3 2.661 0000110C 60 63 11 00 mtspr sprg2,r4 2.662 2.663 00001110 3C 80 00 00 E 2.664 00001114 60 84 00 00 E addis r3,0,0 2.665 ori r3,r3,itval 2.666 00001118 7C 60 21 2E 2.667 0000111C 7C 7A 02 A6 lis r4, ex_type@h 2.668 ori r4,r4, ex_type@l 2.669 00001120 3C 80 00 00 E 2.670 00001124 60 84 00 00 E stwx r3,0,r4 2.671 00001128 7C 60 21 2E mfsrr0 r3 2.672 2.673 0000112C 48 00 00 00 E lis r4, ex_addr@h 2.674 ori r4,r4, ex_addr@l 2.675 stwx r3,0,r4 2.676 2.677 b handle_ex 2.678 2.679 EH1000E: 2.680 2.681 00001200 .space EH1000S-EH1000E + 0x100 2.682 2.683 2.684 2.685 Page 19 Line Address Opcode Source 2.686 .set dlval,0x1100 2.687 2.688 2.689 2.690 2.691 00001200 7C 73 43 A6 EH1100S: 2.692 00001204 7C 92 43 A6 2.693 2.694 2.695 00001208 3C 60 00 00 2.696 0000120C 60 63 12 00 mtspr sprg3,r3 2.697 mtspr sprg2,r4 2.698 00001210 3C 80 00 00 E 2.699 00001214 60 84 00 00 E 2.700 addis r3,0,0 2.701 00001218 7C 60 21 2E ori r3,r3,dlval 2.702 0000121C 7C 7A 02 A6 2.703 lis r4, ex_type@h 2.704 00001220 3C 80 00 00 E ori r4,r4, ex_type@l 2.705 00001224 60 84 00 00 E 2.706 00001228 7C 60 21 2E stwx r3,0,r4 2.707 mfsrr0 r3 2.708 0000122C 48 00 00 00 E 2.709 lis r4, ex_addr@h 2.710 ori r4,r4, ex_addr@l 2.711 stwx r3,0,r4 2.712 2.713 b handle_ex 2.714 2.715 EH1100E: 2.716 2.717 00001300 .space EH1100S-EH1100E + 0x100 2.718 2.719 2.720 2.721 .set dsval,0x1200 2.722 2.723 2.724 2.725 2.726 EH1200S: 2.727 00001300 7C 73 43 A6 2.728 00001304 7C 92 43 A6 2.729 2.730 2.731 00001308 3C 60 00 00 mtspr sprg3,r3 2.732 0000130C 60 63 13 00 mtspr sprg2,r4 2.733 2.734 00001310 3C 80 00 00 E 2.735 00001314 60 84 00 00 E addis r3,0,0 2.736 ori r3,r3,dsval Page 20 Line Address Opcode Source 2.737 00001318 7C 60 21 2E 2.738 0000131C 7C 7A 02 A6 lis r4, ex_type@h 2.739 ori r4,r4, ex_type@l 2.740 00001320 3C 80 00 00 E 2.741 00001324 60 84 00 00 E stwx r3,0,r4 2.742 00001328 7C 60 21 2E mfsrr0 r3 2.743 2.744 0000132C 48 00 00 00 E lis r4, ex_addr@h 2.745 ori r4,r4, ex_addr@l 2.746 stwx r3,0,r4 2.747 2.748 b handle_ex 2.749 2.750 EH1200E: 2.751 2.752 00001400 .space EH1200S-EH1200E + 0x100 2.753 2.754 2.755 2.756 2.757 .set ibval,0x1300 2.758 2.759 2.760 2.761 2.762 00001400 7C 73 43 A6 EH1300S: 2.763 00001404 7C 92 43 A6 2.764 2.765 2.766 00001408 3C 60 00 00 2.767 0000140C 60 63 14 00 mtspr sprg3,r3 2.768 mtspr sprg2,r4 2.769 00001410 3C 80 00 00 E 2.770 00001414 60 84 00 00 E 2.771 addis r3,0,0 2.772 00001418 7C 60 21 2E ori r3,r3,ibval 2.773 0000141C 7C 7A 02 A6 2.774 lis r4, ex_type@h 2.775 00001420 3C 80 00 00 E ori r4,r4, ex_type@l 2.776 00001424 60 84 00 00 E 2.777 00001428 7C 60 21 2E stwx r3,0,r4 2.778 mfsrr0 r3 2.779 0000142C 48 00 00 00 E 2.780 lis r4, ex_addr@h 2.781 ori r4,r4, ex_addr@l 2.782 stwx r3,0,r4 2.783 2.784 b handle_ex 2.785 2.786 EH1300E: 2.787 Page 21 Line Address Opcode Source 2.788 .space EH1300S-EH1300E + 0x100 2.789 2.790 2.791 2.792 .set smval,0x1400 2.793 2.794 00001600 2.795 2.796 2.797 EH1400S: 2.798 2.799 2.800 2.801 2.802 mtspr sprg3,r3 2.803 mtspr sprg2,r4 2.804 00001600 7C 73 43 A6 2.805 00001604 7C 92 43 A6 2.806 addis r3,0,0 2.807 ori r3,r3,smval 2.808 00001608 3C 60 00 00 2.809 0000160C 60 63 16 00 lis r4, ex_type@h 2.810 ori r4,r4, ex_type@l 2.811 00001610 3C 80 00 00 E 2.812 00001614 60 84 00 00 E stwx r3,0,r4 2.813 mfsrr0 r3 2.814 00001618 7C 60 21 2E 2.815 0000161C 7C 7A 02 A6 lis r4, ex_addr@h 2.816 ori r4,r4, ex_addr@l 2.817 00001620 3C 80 00 00 E stwx r3,0,r4 2.818 00001624 60 84 00 00 E 2.819 00001628 7C 60 21 2E b handle_ex 2.820 2.821 0000162C 48 00 00 00 E EH1400E: 2.822 2.823 .space EH1400S-EH1400E + 0x100 2.824 2.825 2.826 2.827 2.828 .space 256 2.829 2.830 2.831 2.832 2.833 2.834 .set jmddval,0x1600 2.835 2.836 2.837 2.838 Page 22 Line Address Opcode Source 2.839 EH1600S: 2.840 2.841 2.842 2.843 2.844 mtspr sprg3,r3 2.845 mtspr sprg2,r4 2.846 2.847 2.848 addis r3,0,0 2.849 ori r3,r3,jmddval 2.850 2.851 lis r4, ex_type@h 2.852 ori r4,r4, ex_type@l 2.853 2.854 stwx r3,0,r4 2.855 mfsrr0 r3 2.856 2.857 lis r4, ex_addr@h 2.858 ori r4,r4, ex_addr@l 2.859 stwx r3,0,r4 2.860 2.861 b handle_ex 2.862 2.863 EH1600E: 2.864 00002000 2.865 .space EH1600S-EH1600E + 0x100 2.866 2.867 2.868 .space 256 2.869 2.870 2.871 2.872 .space 256 2.873 2.874 00002000 7C 73 43 A6 2.875 00002004 7C 92 43 A6 2.876 .space 256 2.877 2.878 00002008 3C 60 00 00 2.879 0000200C 60 63 20 00 2.880 .space 256 2.881 00002010 3C 80 00 00 E 2.882 00002014 60 84 00 00 E 2.883 2.884 00002018 7C 60 21 2E .space 256 2.885 0000201C 7C 7A 02 A6 2.886 2.887 00002020 3C 80 00 00 E 2.888 00002024 60 84 00 00 E .space 256 2.889 00002028 7C 60 21 2E Page 23 Line Address Opcode Source 2.890 2.891 0000202C 48 00 00 00 E 2.892 .space 256 2.893 2.894 2.895 2.896 .space 256 2.897 2.898 2.899 2.912 .space 256 2.913 2.914 2.915 2.916 .set rtval,8192 2.917 2.918 00000001 2.919 2.920 00000001 2.921 EH2000S: 2.922 2.965 00003100 7C 8C 42 A6 2.966 00003104 3C 60 00 00 E 2.967 00003108 60 63 00 00 E 2.968 0000310C 7C 80 19 2E mtspr sprg3,r3 2.969 00003110 7C 00 04 AC mtspr sprg2,r4 2.970 2.971 00003114 7C 8D 42 A6 2.972 00003118 3C 60 00 00 E addis r3,0,0 2.973 0000311C 60 63 00 00 E ori r3,r3,rtval 2.974 00003120 7C 80 19 2E 2.975 00003124 7C 00 04 AC lis r4, ex_type@h 2.976 ori r4,r4, ex_type@l 2.977 2.978 stwx r3,0,r4 2.979 mfsrr0 r3 2.980 00003128 7C 90 FA A6 2.981 0000312C 3C 60 00 00 E lis r4, ex_addr@h 2.982 00003130 60 63 00 00 E ori r4,r4, ex_addr@l 2.983 00003134 7C 80 19 2E stwx r3,0,r4 2.984 00003138 7C 00 04 AC 2.985 b handle_ex 2.986 0000313C 7C 9B 02 A6 2.987 00003140 3C 60 00 00 E EH2000E: 2.988 00003144 60 63 00 00 E 2.989 00003148 7C 80 19 2E .space EH2000S-EH2000E + 0x100 2.990 0000314C 7C 00 04 AC 2.991 .space 0x1000 2.992 00003150 7C 9A 02 A6 2.993 00003154 3C 60 00 00 E #line 912 2.994 00003158 60 63 00 00 E .text Page 24 Line Address Opcode Source 2.995 0000315C 90 83 00 00 .align 2 2.996 00003160 7C 00 04 AC .global handle_ex 2.997 2.998 00003164 7C 88 02 A6 handle_ex: 2.999 00003168 3C 60 00 00 E 2.1000 0000316C 60 63 00 00 E .set user_code_value,1 2.1001 00003170 7C 80 19 2E 2.1002 00003174 7C 00 04 AC .set duart_buf_check,1 2.1003 2.1004 00003178 7C 80 00 26 #line 965 2.1005 0000317C 3C 60 00 00 E mfspr r4,268 2.1006 00003180 60 63 00 00 E lis r3,timebase_register_l@h 2.1007 00003184 7C 80 19 2E ori r3,r3,timebase_register_l@l 2.1008 00003188 7C 00 04 AC stwx r4,0,r3 2.1009 sync 2.1010 0000318C 7C 92 42 A6 2.1011 00003190 3C 60 00 00 E mfspr r4,269 2.1012 00003194 60 63 00 00 E lis r3,timebase_register_u@h 2.1013 00003198 7C 80 19 2E ori r3,r3,timebase_register_u@l 2.1014 0000319C 7C 00 04 AC stwx r4,0,r3 2.1015 sync 2.1016 000031A0 7C 93 42 A6 2.1017 000031A4 3C 60 00 00 E 2.1018 000031A8 60 63 00 00 E 2.1019 000031AC 7C 80 19 2E 2.1020 000031B0 7C 00 04 AC mfspr r4,hid0 2.1021 lis r3,current_hid0@h 2.1022 000031B4 3C 60 00 00 E ori r3,r3,current_hid0@l 2.1023 000031B8 60 63 00 00 E stwx r4,0,r3 2.1024 000031BC 7C A0 19 2E sync 2.1025 000031C0 7C 00 04 AC 2.1026 mfspr r4,srr1 2.1027 lis r3,current_msr@h 2.1028 ori r3,r3,current_msr@l 2.1029 000031C4 7C 90 42 A6 stwx r4,0,r3 2.1030 000031C8 3C 60 00 00 E sync 2.1031 000031CC 60 63 00 00 E 2.1032 000031D0 90 83 00 00 mfspr r4,srr0 2.1033 000031D4 7C 00 04 AC lis r3,current_srr0@h 2.1034 ori r3,r3,current_srr0@l 2.1035 000031D8 7C 91 42 A6 stw r4,0(r3) 2.1036 000031DC 3C 60 00 00 E sync 2.1037 000031E0 60 63 00 00 E 2.1038 000031E4 90 83 00 00 mfspr r4,lr 2.1039 000031E8 7C 00 04 AC lis r3,current_lr@h 2.1040 ori r3,r3,current_lr@l 2.1041 stwx r4,0,r3 2.1051 000031EC 3C 60 00 00 sync 2.1052 000031F0 60 63 05 00 2.1053 mfcr r4 2.1054 lis r3,current_cr@h Page 25 Line Address Opcode Source 2.1055 000031F4 3C 80 00 00 E ori r3,r3,current_cr@l 2.1056 000031F8 60 84 00 00 E stwx r4,0,r3 2.1057 000031FC 80 84 00 00 sync 2.1058 2.1059 00003200 7C 03 20 00 mfspr r4,sprg2 2.1060 00003204 40 82 00 34 lis r3,current_r4@h 2.1061 ori r3,r3,current_r4@l 2.1062 stwx r4,0,r3 2.1063 00003208 3C 80 00 00 E sync 2.1064 0000320C 60 84 00 00 E 2.1065 00003210 80 64 00 00 mfspr r4,sprg3 2.1066 lis r3,current_r3@h 2.1067 ori r3,r3,current_r3@l 2.1068 00003214 3C 80 00 04 stwx r4,0,r3 2.1069 00003218 60 84 10 57 sync 2.1070 0000321C 7C 03 20 00 2.1071 00003220 41 82 00 14 lis r3,current_r5@h 2.1072 ori r3,r3,current_r5@l 2.1073 00003224 3C 80 00 03 stwx r5,0,r3 2.1074 00003228 60 84 10 57 sync 2.1075 0000322C 7C 03 20 00 2.1076 00003230 40 82 00 08 2.1077 2.1078 mfspr r4,sprg0 2.1079 lis r3,temp_sprg0@h 2.1080 00003234 48 00 00 00 E ori r3,r3,temp_sprg0@l 2.1081 stw r4,0(r3) 2.1087 sync 2.1088 2.1095 00003238 3C 60 00 00 E mfspr r4,sprg1 2.1096 0000323C 60 63 00 00 E lis r3,temp_sprg1@h 2.1097 00003240 80 63 00 00 ori r3,r3,temp_sprg1@l 2.1098 00003244 2C 03 00 00 stw r4,0(r3) 2.1099 00003248 41 82 00 AC sync 2.1100 2.1108 #line 1051 2.1109 lis r3,0x0000 2.1110 0000324C 7C 00 04 AC ori r3,r3,eival 2.1111 00003250 4C 00 01 2C 2.1112 2.1113 lis r4, ex_type@h 2.1114 00003254 3C 60 00 00 ori r4,r4, ex_type@l 2.1115 00003258 3C 80 00 20 lwz r4,0(r4) 2.1116 2.1117 0000325C 7C 03 20 00 cmpw cr0,r3,r4 2.1118 00003260 40 80 00 10 bne cr0,cont_handle_ex 2.1119 00003264 80 A3 00 00 2.1120 00003268 38 63 00 20 2.1121 0000326C 4B FF FF F0 lis r4,target_type@h 2.1122 ori r4,r4,target_type@l 2.1123 lwz r3,0(r4) Page 26 Line Address Opcode Source 2.1124 00003270 7C 00 04 AC 2.1125 00003274 4C 00 01 2C 2.1126 lis r4,0x0004 2.1127 00003278 3C 80 80 00 ori r4,r4,0x1057 2.1128 0000327C 60 84 CC 00 cmpw cr0, r3, r4 2.1129 00003280 7C 90 FB A6 beq cr0,epic_launch 2.1130 00003284 4C 00 01 2C 2.1131 00003288 7C 00 04 AC lis r4,0x0003 2.1132 ori r4,r4,0x1057 2.1133 0000328C 3C 80 80 00 cmpw cr0, r3, r4 2.1134 00003290 60 84 C0 00 bne cr0,cont_handle_ex 2.1135 00003294 7C 90 FB A6 2.1136 00003298 4C 00 01 2C 2.1137 0000329C 7C 00 04 AC epic_launch: 2.1138 b epic_exception 2.1139 000032A0 3C 80 80 00 #line 1087 2.1140 000032A4 60 84 00 00 cont_handle_ex: 2.1141 000032A8 7C 90 FB A6 #line 1095 2.1142 000032AC 4C 00 01 2C lis r3,in_which_code@h 2.1143 000032B0 7C 00 04 AC ori r3,r3,in_which_code@l 2.1144 lwz r3,0(r3) 2.1160 000032B4 7C 80 00 A6 cmpi 0,0,r3,0x0 2.1161 000032B8 60 84 20 00 beq cr0,dinkException 2.1162 000032BC 7C 80 01 24 #line 1108 2.1163 setupflush: 2.1164 000032C0 48 00 00 01 E 2.1165 sync 2.1166 isync 2.1167 2.1168 flushfunction: 2.1169 lis r3,0x0000 2.1170 lis r4,0x0020 2.1171 flushhead: 2.1172 cmpw r3,r4 2.1173 000032C4 3C 60 00 00 E bge flushdone 2.1174 000032C8 60 63 00 00 E lwz r5,0(r3) 2.1175 000032CC 7C 84 22 78 addi r3,r3,0x20 2.1176 000032D0 90 83 00 00 b flushhead 2.1177 flushdone: 2.1178 000032D4 48 00 00 01 E 2.1179 000032D8 60 00 00 00 sync 2.1180 isync 2.1181 2.1182 lis r4,0x8000 2.1183 ori r4,r4,0xcc00 2.1184 mtspr hid0,r4 2.1185 isync 2.1186 sync 2.1187 2.1188 000032DC 48 00 00 01 E lis r4,0x8000 2.1189 000032E0 60 00 00 00 ori r4,r4,0xc000 Page 27 Line Address Opcode Source 2.1190 mtspr hid0,r4 2.1191 000032E4 48 00 00 01 E isync 2.1192 000032E8 60 00 00 00 sync 2.1193 2.1194 lis r4,0x8000 2.1195 ori r4,r4,0x0000 2.1196 mtspr hid0,r4 2.1197 000032EC 60 00 00 00 isync 2.1198 000032F0 48 00 00 00 E sync 2.1199 #line 1160 2.1209 mfmsr r4 2.1210 ori r4,r4,0x2000 2.1211 mtmsr r4 2.1212 000032F4 3C 60 00 00 2.1213 000032F8 3C 80 00 20 bl save_to_user 2.1214 2.1215 000032FC 7C 03 20 00 2.1216 00003300 40 80 00 10 2.1217 00003304 80 A3 00 00 2.1218 00003308 38 63 00 20 2.1219 0000330C 4B FF FF F0 2.1220 2.1221 2.1222 00003310 3C 60 00 00 lis r3,in_which_code@h 2.1223 00003314 60 63 39 30 ori r3,r3,in_which_code@l 2.1224 00003318 7C 60 01 24 xor r4,r4,r4 2.1225 stw r4,0(r3) 2.1226 0000331C 48 00 00 01 E 2.1227 bl restore_partial_dink 2.1228 00003320 48 00 00 01 E ori 0,0,0 2.1229 2.1230 00003324 48 00 00 01 E 2.1231 2.1232 00003328 7C 31 42 A6 2.1233 0000332C 7C 52 42 A6 2.1234 2.1235 00003330 3C 60 00 00 E 2.1236 00003334 60 63 00 00 E 2.1237 00003338 80 63 00 00 bl deal_w_exception 2.1238 0000333C 7C 70 FB A6 ori 0,0,0 2.1239 2.1240 00003340 3C 60 00 00 E bl restore_to_dink 2.1241 00003344 60 63 00 00 E ori 0,0,0 2.1242 00003348 80 63 00 00 2.1243 0000334C 7C 7B 03 A6 2.1244 2.1245 00003350 3C 60 00 00 E 2.1246 00003354 60 63 00 00 E ori 0,0,0 2.1247 00003358 80 63 00 00 b exception_return 2.1248 0000335C 7C 7A 03 A6 #line 1209 2.1249 dinkException: Page 28 Line Address Opcode Source 2.1250 00003360 3C 60 00 00 E 2.1251 00003364 60 63 00 00 E 2.1252 00003368 80 63 00 00 lis r3,0x0000 2.1253 0000336C 7C 68 03 A6 lis r4,0x0020 2.1254 flushhead2: 2.1255 00003370 3C 60 00 00 E cmpw r3,r4 2.1256 00003374 60 63 00 00 E bge flushdone2 2.1257 00003378 80 63 00 00 lwz r5,0(r3) 2.1258 0000337C 7C 6F F1 20 addi r3,r3,0x20 2.1259 b flushhead2 2.1260 00003380 3C 60 00 00 E flushdone2: 2.1261 00003384 60 63 00 00 E 2.1262 00003388 80 63 00 00 lis r3,0x0000 2.1263 0000338C 7C 70 43 A6 ori r3,r3,0x3930 2.1264 mtmsr r3 2.1265 00003390 3C 60 00 00 E 2.1266 00003394 60 63 00 00 E bl save_to_dink 2.1267 00003398 80 63 00 00 2.1268 0000339C 7C 71 43 A6 bl deal_w_exception 2.1269 2.1270 000033A0 3C 60 00 00 E bl restore_to_dink 2.1271 000033A4 60 63 00 00 E 2.1272 000033A8 80 A3 00 00 mfspr r1,sprg1 2.1273 mfspr r2,sprg2 2.1274 000033AC 3C 60 00 00 E 2.1275 000033B0 60 63 00 00 E lis r3,current_hid0@h 2.1276 000033B4 80 63 00 00 ori r3,r3,current_hid0@l 2.1277 lwz r3,0(r3) 2.1278 000033B8 3C 80 00 00 E mtspr hid0,r3 2.1279 000033BC 60 84 00 00 E 2.1280 000033C0 80 84 00 00 lis r3,current_msr@h 2.1281 ori r3,r3,current_msr@l 2.1282 000033C4 4C 00 00 64 lwz r3,0(r3) 2.1283 mtspr srr1,r3 2.1293 2.1294 lis r3,current_srr0@h 2.1295 ori r3,r3,current_srr0@l 2.1296 lwz r3,0(r3) 2.1297 mtspr srr0,r3 2.1298 000033C8 3C 00 00 00 2.1299 000033CC 7C 60 00 A6 lis r3,current_lr@h 2.1300 000033D0 3C 80 FF FF ori r3,r3,current_lr@l 2.1301 000033D4 60 84 FF CF lwz r3,0(r3) 2.1302 000033D8 7C 63 20 38 mtlr r3 2.1303 000033DC 7C 60 01 24 2.1304 000033E0 4C 00 01 2C lis r3,current_cr@h 2.1305 000033E4 7C 00 04 AC ori r3,r3,current_cr@l 2.1306 lwz r3,0(r3) 2.1315 000033E8 3C A0 FE C0 mtcr r3 2.1316 000033EC 3C C0 FE E0 2.1317 lis r3,temp_sprg0@h Page 29 Line Address Opcode Source 2.1318 000033F0 3D 00 FE 00 ori r3,r3,temp_sprg0@l 2.1319 000033F4 3D 20 00 00 lwz r3,0(r3) 2.1320 mtspr sprg0,r3 2.1321 000033F8 7D 11 43 A6 2.1322 000033FC 7C B2 43 A6 lis r3,temp_sprg1@h 2.1323 00003400 7C D3 43 A6 ori r3,r3,temp_sprg1@l 2.1324 lwz r3,0(r3) 2.1325 00003404 3C 60 80 00 mtspr sprg1,r3 2.1326 00003408 7C 60 2D 2C 2.1327 0000340C 7C 00 04 AC lis r3,current_r5@h 2.1328 00003410 7C 60 34 2C ori r3,r3,current_r5@l 2.1329 lwz r5,0(r3) 2.1330 00003414 3C 80 00 03 2.1331 00003418 60 84 10 57 lis r3,current_r3@h 2.1332 0000341C 7C 03 20 00 ori r3,r3,current_r3@l 2.1333 00003420 40 82 00 0C lwz r3,0(r3) 2.1334 00003424 48 00 00 01 E 2.1335 00003428 48 00 04 30 lis r4,current_r4@h 2.1336 ori r4,r4,current_r4@l 2.1337 lwz r4,0(r4) 2.1338 2.1339 rfi 2.1340 #line 1293 2.1341 .text 2.1342 0000342C 3C 80 00 02 .align 2 2.1343 00003430 60 84 10 57 .global system_reset 2.1344 00003434 7C 03 20 00 system_reset: 2.1345 00003438 41 82 00 00 E 2.1346 addis r0,0,0x0000 2.1347 0000343C 3C 80 00 04 mfmsr r3 2.1348 00003440 60 84 10 57 addis r4,0,0xffff 2.1349 00003444 7C 03 20 00 ori r4,r4,0xffcf 2.1350 00003448 40 82 00 0C and r3,r3,r4 2.1351 0000344C 48 00 00 01 E mtmsr r3 2.1352 00003450 48 00 04 08 isync 2.1353 sync 2.1354 #line 1315 2.1355 addis r5, r0, 0xfec0 2.1356 addis r6, r0, 0xfee0 2.1357 2.1358 00003454 3C A0 80 00 addis r8, r0, 0xfe00 2.1359 00003458 60 A5 0C F8 addis r9, r0, 0x0 2.1360 0000345C 3C C0 80 00 2.1361 00003460 60 C6 0C FC mtspr sprg1, r8 2.1362 00003464 3D 00 80 00 mtspr sprg2, r5 2.1363 00003468 3D 20 00 01 mtspr sprg3, r6 2.1364 2.1365 0000346C 7D 11 43 A6 addis r3, r0, 0x8000 2.1366 00003470 7C B2 43 A6 stwbrx r3, 0, (r5) 2.1367 00003474 7C D3 43 A6 sync 2.1368 lwbrx r3, 0, (r6) Page 30 Line Address Opcode Source 2.1369 00003478 3C 60 80 00 2.1370 0000347C 7C 60 2D 2C addis r4, r0, 0x0003 2.1371 00003480 7C 00 04 AC ori r4, r4, 0x1057 2.1372 00003484 7C 60 34 2C cmp 0, 0, r3, r4 2.1373 bne cr0, TestYKMapB 2.1378 00003488 3C 80 00 03 bl KahluaInit 2.1379 0000348C 60 84 10 57 b do_mmu_setup 2.1380 00003490 7C 03 20 00 2.1381 00003494 40 82 00 0C 2.1382 00003498 48 00 00 01 E 2.1383 0000349C 48 00 03 BC 2.1384 TestYKMapB: 2.1385 2.1386 000034A0 3C 80 00 02 addis r4, r0, 0x0002 2.1387 000034A4 60 84 10 57 ori r4, r4, 0x1057 2.1388 000034A8 7C 03 20 00 cmp 0, 0, r3, r4 2.1389 000034AC 41 82 00 00 E beq cr0, start_init 2.1390 2.1391 000034B0 3C 80 00 04 addis r4, r0, 0x0004 2.1392 000034B4 60 84 10 57 ori r4, r4, 0x1057 2.1393 000034B8 7C 03 20 00 cmp 0, 0, r3, r4 2.1394 000034BC 40 82 00 0C bne cr0, tryprep 2.1395 000034C0 48 00 00 01 E bl Mpc107Init 2.1396 000034C4 48 00 03 94 b do_mmu_setup 2.1397 2.1405 2.1406 000034C8 3C A0 40 50 2.1407 000034CC 3C 80 01 00 2.1408 000034D0 80 65 00 00 tryprep: 2.1409 000034D4 74 63 FF 00 addis r5, r0, 0x8000 2.1410 000034D8 7C 03 20 00 ori r5, r5, 0x0cf8 2.1411 000034DC 41 82 00 00 E addis r6, r0, 0x8000 2.1412 ori r6, r6, 0x0cfc 2.1413 addis r8, r0, 0x8000 2.1414 addis r9, r0, 0x1 2.1415 2.1416 mtspr sprg1, r8 2.1417 000034E0 3C 00 DE AD mtspr sprg2, r5 2.1418 000034E4 60 00 00 1D mtspr sprg3, r6 2.1419 000034E8 4B FF FF F8 2.1420 addis r3, r0, 0x8000 2.1426 stwbrx r3, 0, (r5) 2.1427 sync 2.1428 lwbrx r3, 0, (r6) 2.1429 000034EC 7D 11 43 A6 #line 1378 2.1430 000034F0 7C B2 43 A6 addis r4, r0, 0x0003 2.1431 000034F4 7C D3 43 A6 ori r4, r4, 0x1057 2.1432 cmp 0, 0, r3, r4 2.1433 000034F8 3C 60 80 00 bne cr0, TestYKMapA 2.1434 000034FC 60 63 00 A8 bl KahluaInit 2.1435 00003500 7C 60 2D 2C b do_mmu_setup Page 31 Line Address Opcode Source 2.1436 00003504 7C 00 04 AC 2.1437 00003508 7C 80 34 2C TestYKMapA: 2.1438 0000350C 7C 00 04 AC addis r4, r0, 0x0002 2.1439 00003510 3C 60 00 10 ori r4, r4, 0x1057 2.1440 00003514 7C 64 20 38 cmp 0, 0, r3, r4 2.1441 00003518 7C 03 20 00 beq cr0, start_init 2.1442 0000351C 41 82 02 30 2.1443 addis r4, r0, 0x0004 2.1444 ori r4, r4, 0x1057 2.1445 cmp 0, 0, r3, r4 2.1446 bne cr0, tryexcimer 2.1453 00003520 3C 60 00 00 bl Mpc107Init 2.1454 00003524 38 60 00 01 b do_mmu_setup 2.1455 00003528 7C 70 43 A6 #line 1405 2.1456 0000352C 39 40 00 01 tryexcimer: 2.1457 00003530 3C 60 80 00 addis r5, r0, 0x4050 2.1458 00003534 60 63 00 A8 addis r4, r0, 0x0100 2.1459 00003538 7C 60 2D 2C lwz r3, 0(r5) 2.1460 0000353C 3C 80 3F 04 andis. r3,r3,0xff00 2.1461 00003540 7C 84 4B 78 cmp 0, 0, r3, r4 2.1462 00003544 60 84 18 00 beq cr0, excimer_init 2.1463 00003548 7C 80 35 2C 2.1464 0000354C 7C 00 04 AC 2.1465 00003550 7C 80 34 2C 2.1466 00003554 7C 00 04 AC 2.1467 cant_identify: 2.1468 00003558 3C 60 80 00 lis r0,0xDEAD 2.1469 0000355C 60 63 00 AC ori r0,r0,0x001D 2.1470 00003560 7C 60 2D 2C b cant_identify 2.1471 00003564 3C 80 00 47 #line 1426 2.1472 00003568 64 84 04 00 .global start_init 2.1473 0000356C 60 84 02 15 start_init: 2.1474 00003570 7C 80 35 2C 2.1475 00003574 7C 00 04 AC mtspr sprg1, r8 2.1476 00003578 7C 80 34 2C mtspr sprg2, r5 2.1477 0000357C 7C 00 04 AC mtspr sprg3, r6 2.1478 2.1479 00003580 3C 60 80 00 addis r3, r0, 0x8000 2.1480 00003584 60 63 00 F0 ori r3, r3, 0x00a8 2.1481 00003588 7C 60 2D 2C stwbrx r3, 0,r5 2.1482 0000358C 3C 80 FF A4 sync 2.1483 00003590 60 84 FF FF lwbrx r4, 0,r6 2.1484 00003594 7C 80 35 2C sync 2.1485 00003598 7C 00 04 AC addis r3,r0,0x0010 2.1486 0000359C 7C 80 34 2C and r4,r3,r4 2.1487 000035A0 7C 00 04 AC cmp 0, 0, r3, r4 2.1488 beq cr0, X2_START 2.1489 000035A4 3C 60 80 00 2.1490 000035A8 60 63 00 F4 2.1491 000035AC 7C 60 2D 2C 2.1492 000035B0 3C 80 00 00 #line 1453 Page 32 Line Address Opcode Source 2.1493 000035B4 60 84 0C 34 addis r3,r0,0x0 2.1494 000035B8 7C 80 35 2C addi r3,r0,0x1 2.1495 000035BC 7C 00 04 AC mtspr sprg0,r3 2.1496 000035C0 7C 80 34 2C addi r10, r0, 1 2.1497 000035C4 7C 00 04 AC addis r3,r0,0x8000 2.1498 ori r3,r3,0x00A8 2.1499 000035C8 3C 60 80 00 stwbrx r3,0,r5 2.1500 000035CC 60 63 00 F8 addis r4,r0,0x3f04 2.1501 000035D0 7C 60 2D 2C or r4,r4,r9 2.1502 000035D4 3C 80 F8 30 ori r4,r4,0x1800 2.1503 000035D8 60 84 00 00 stwbrx r4,0,r6 2.1504 000035DC 7C 80 35 2C sync 2.1505 000035E0 7C 00 04 AC lwbrx r4,0,r6 2.1506 000035E4 7C 80 34 2C sync 2.1507 000035E8 7C 00 04 AC 2.1508 addis r3,r0,0x8000 2.1509 000035EC 3C 60 80 00 ori r3,r3,0x00AC 2.1510 000035F0 60 63 00 FC stwbrx r3,0,r5 2.1511 000035F4 7C 60 2D 2C addis r4,r0,0x0047 2.1512 000035F8 3C 80 25 30 oris r4,r4,0x0400 2.1513 000035FC 60 84 22 44 ori r4,r4,0x0215 2.1514 00003600 7C 80 35 2C stwbrx r4,0,r6 2.1515 00003604 7C 00 04 AC sync 2.1516 lwbrx r4,0,r6 2.1528 00003608 3C 60 80 00 sync 2.1529 0000360C 60 63 00 80 2.1530 00003610 7C 60 2D 2C addis r3,r0,0x8000 2.1531 ori r3,r3,0x00F0 2.1532 00003614 3C 80 30 20 stwbrx r3,0,r5 2.1533 00003618 60 84 10 00 addis r4,r0,0xFFA4 2.1534 0000361C 7C 80 35 2C ori r4,r4,0xFFFF 2.1535 stwbrx r4,0,r6 2.1536 00003620 3C 60 80 00 sync 2.1537 00003624 60 63 00 84 lwbrx r4,0,r6 2.1538 00003628 7C 60 2D 2C sync 2.1539 2.1540 0000362C 3C 80 70 60 addis r3,r0,0x8000 2.1541 00003630 60 84 50 40 ori r3,r3,0x00F4 2.1542 00003634 7C 80 35 2C stwbrx r3,0,r5 2.1543 addis r4,r0,0x0000 2.1544 00003638 3C 60 80 00 ori r4,r4,0x0C34 2.1545 0000363C 60 63 00 88 stwbrx r4,0,r6 2.1546 00003640 7C 60 2D 2C sync 2.1547 lwbrx r4,0,r6 2.1548 00003644 3C 80 00 00 sync 2.1549 00003648 60 84 00 00 2.1550 0000364C 7C 80 35 2C addis r3,r0,0x8000 2.1551 ori r3,r3,0x00F8 2.1552 00003650 3C 60 80 00 stwbrx r3,0,r5 2.1553 00003654 60 63 00 8C addis r4,r0,0xF830 2.1554 00003658 7C 60 2D 2C ori r4,r4,0x0000 Page 33 Line Address Opcode Source 2.1555 stwbrx r4,0,r6 2.1556 0000365C 3C 80 00 00 sync 2.1557 00003660 60 84 00 00 lwbrx r4,0,r6 2.1558 00003664 7C 80 35 2C sync 2.1559 2.1567 00003668 3C 60 80 00 addis r3,r0,0x8000 2.1568 0000366C 60 63 00 90 ori r3,r3,0x00FC 2.1569 00003670 7C 60 2D 2C stwbrx r3,0,r5 2.1570 addis r4,r0,0x2530 2.1571 00003674 3C 80 3F 2F ori r4,r4,0x2244 2.1572 00003678 60 84 1F 0F stwbrx r4,0,r6 2.1573 sync 2.1574 0000367C 7C 80 35 2C #line 1528 2.1575 addis r3,r0,0x8000 2.1576 00003680 3C 60 80 00 ori r3,r3,0x0080 2.1577 00003684 60 63 00 94 stwbrx r3,0,r5 2.1578 00003688 7C 60 2D 2C 2.1579 addis r4,r0,0x3020 2.1580 0000368C 3C 80 7F 6F ori r4,r4,0x1000 2.1581 00003690 60 84 5F 4F stwbrx r4,0,r6 2.1582 00003694 7C 80 35 2C 2.1583 addis r3,r0,0x8000 2.1584 00003698 3C 60 80 00 ori r3,r3,0x0084 2.1585 0000369C 60 63 00 98 stwbrx r3,0,r5 2.1586 000036A0 7C 60 2D 2C 2.1587 addis r4,r0,0x7060 2.1588 000036A4 3C 80 00 00 ori r4,r4,0x5040 2.1589 000036A8 60 84 00 00 stwbrx r4,0,r6 2.1590 000036AC 7C 80 35 2C 2.1591 addis r3,r0,0x8000 2.1592 000036B0 3C 60 80 00 ori r3,r3,0x0088 2.1593 000036B4 60 63 00 9C stwbrx r3,0,r5 2.1594 000036B8 7C 60 2D 2C 2.1595 addis r4,r0,0x0000 2.1596 000036BC 3C 80 00 00 ori r4,r4,0x0000 2.1597 000036C0 60 84 00 00 stwbrx r4,0,r6 2.1598 000036C4 7C 80 35 2C 2.1599 addis r3,r0,0x8000 2.1606 000036C8 3C 60 80 00 ori r3,r3,0x008c 2.1607 000036CC 60 63 00 A0 stwbrx r3,0,r5 2.1608 000036D0 7C 60 2D 2C 2.1609 000036D4 7C 00 04 AC addis r4,r0,0x0000 2.1610 ori r4,r4,0x0000 2.1611 000036D8 38 80 00 03 stwbrx r4,0,r6 2.1612 000036DC 98 86 00 00 #line 1567 2.1613 addis r3,r0,0x8000 2.1620 000036E0 3C 60 80 00 ori r3,r3,0x0090 2.1621 000036E4 60 63 00 A3 stwbrx r3,0,r5 2.1622 000036E8 7C 60 2D 2C 2.1623 000036EC 7C 00 04 AC addis r4,r0,0x3f2f 2.1624 ori r4,r4,0x1f0f Page 34 Line Address Opcode Source 2.1625 000036F0 38 80 00 32 2.1626 000036F4 98 86 00 03 stwbrx r4,0,r6 2.1627 2.1628 addis r3,r0,0x8000 2.1629 000036F8 7C 80 34 2C ori r3,r3,0x0094 2.1630 stwbrx r3,0,r5 2.1631 000036FC 7C 00 04 AC 2.1632 addis r4,r0,0x7f6f 2.1633 ori r4,r4,0x5f4f 2.1634 stwbrx r4,0,r6 2.1635 00003700 38 80 38 00 2.1636 00003704 7C 89 03 A6 addis r3,r0,0x8000 2.1637 ori r3,r3,0x0098 2.1638 00003708 42 00 00 00 stwbrx r3,0,r5 2.1639 2.1640 addis r4,r0,0x0000 2.1641 ori r4,r4,0x0000 2.1642 stwbrx r4,0,r6 2.1643 0000370C 3C 60 80 00 2.1644 00003710 60 63 00 F0 addis r3,r0,0x8000 2.1645 00003714 7C 60 2D 2C ori r3,r3,0x009c 2.1646 00003718 7C 00 04 AC stwbrx r3,0,r5 2.1647 0000371C 7C 80 34 2C 2.1648 00003720 3C 60 00 08 addis r4,r0,0x0000 2.1649 00003724 60 63 00 00 ori r4,r4,0x0000 2.1650 00003728 7C 84 1B 78 stwbrx r4,0,r6 2.1651 0000372C 7C 80 35 2C #line 1606 2.1652 00003730 7C 00 04 AC addis r3,r0,0x8000 2.1653 00003734 7C 80 34 2C ori r3,r3,0xa0 2.1654 stwbrx r3,0,r5 2.1655 sync 2.1656 2.1657 li r4,0x03 2.1658 00003738 38 80 1F 40 stb r4, 0(r6) 2.1659 0000373C 7C 89 03 A6 #line 1620 2.1660 addis r3,r0,0x8000 2.1661 00003740 42 00 00 00 ori r3,r3,0xa3 2.1662 stwbrx r3,0,r5 2.1663 00003744 7C 00 04 AC sync 2.1664 2.1665 00003748 48 00 01 10 li r4, 0x32 2.1666 stb r4, 3(r6) 2.1667 2.1668 2.1669 lwbrx r4,0,r6 2.1670 0000374C 3C 60 00 00 2.1671 00003750 7C 70 43 A6 sync 2.1672 00003754 39 40 00 00 2.1673 00003758 3C 60 80 00 2.1674 0000375C 60 63 00 80 2.1675 00003760 3C 80 00 00 li r4,0x3800 Page 35 Line Address Opcode Source 2.1676 00003764 60 84 00 00 mtctr r4 2.1677 00003768 7C 60 2D 2C X4wait200us: 2.1678 0000376C 7C 80 35 2C bdnz X4wait200us 2.1679 2.1680 00003770 3C 60 80 00 2.1681 00003774 60 63 00 90 2.1682 00003778 3C 80 00 00 2.1683 0000377C 60 84 00 07 addis r3,r0,0x8000 2.1684 00003780 7C 60 2D 2C ori r3,r3,0x00f0 2.1685 00003784 7C 80 35 2C stwbrx r3,0,r5 2.1686 sync 2.1687 00003788 3C 60 80 00 lwbrx r4,0,r6 2.1688 0000378C 60 63 00 A0 addis r3,r0,0x0008 2.1689 00003790 38 80 00 01 ori r3,r3,0x0000 2.1690 00003794 7C 60 2D 2C or r4,r4,r3 2.1691 00003798 98 86 00 00 stwbrx r4,0,r6 2.1692 sync 2.1693 0000379C 7C 00 04 AC lwbrx r4,0,r6 2.1694 2.1695 2.1696 000037A0 3C 60 80 00 2.1697 000037A4 60 63 00 A8 2.1698 000037A8 3C 80 3F 90 li r4, 8000 2.1699 000037AC 7C 84 4B 78 mtctr r4 2.1700 000037B0 60 84 0A 18 X4wait8ref: 2.1701 bdnz X4wait8ref 2.1702 000037B4 7C 60 2D 2C 2.1703 000037B8 7C 80 35 2C sync 2.1704 2.1705 000037BC 7C 00 04 AC b do_mmu_setup 2.1706 2.1707 000037C0 3C 60 80 00 2.1708 000037C4 60 63 00 AC 2.1709 000037C8 3C 80 00 0C X2_START: 2.1710 000037CC 60 84 06 0C addis r3,r0,0x0 2.1711 000037D0 7C 60 2D 2C mtspr sprg0,r3 2.1712 000037D4 7C 80 35 2C addi r10, r0, 0 2.1713 addis r3,r0,0x8000 2.1714 000037D8 7C 00 04 AC ori r3,r3,0x0080 2.1715 addis r4,r0,0x0000 2.1716 ori r4,r4,0x0000 2.1717 stwbrx r3,0,(r5) 2.1718 stwbrx r4,0,(r6) 2.1719 2.1720 addis r3,r0,0x8000 2.1721 ori r3,r3,0x0090 2.1722 addis r4,r0,0x0000 2.1723 ori r4,r4,0x0007 2.1724 stwbrx r3,0,(r5) 2.1725 stwbrx r4,0,(r6) 2.1726 Page 36 Line Address Opcode Source 2.1727 addis r3,r0,0x8000 2.1728 ori r3,r3,0x00a0 2.1729 addi r4,r0,0x01 2.1730 stwbrx r3,0,(r5) 2.1731 stb r4,0(r6) 2.1732 2.1733 sync 2.1734 2.1735 000037DC 3C 60 80 00 2.1736 000037E0 60 63 00 F4 addis r3,r0,0x8000 2.1737 000037E4 3C 80 00 00 ori r3,r3,0x00a8 2.1738 000037E8 60 84 07 F7 addis r4,r0,0x3f90 2.1739 000037EC 7C 60 2D 2C or r4,r4,r9 2.1740 000037F0 7C 80 35 2C ori r4,r4,0x0a18 2.1741 2.1742 000037F4 3C 60 80 00 stwbrx r3,0,(r5) 2.1743 000037F8 60 63 00 F8 stwbrx r4,0,(r6) 2.1744 2.1745 000037FC 3C 80 00 02 sync 2.1746 2.1747 00003800 60 84 22 93 addis r3,r0,0x8000 2.1748 00003804 7C 60 2D 2C ori r3,r3,0x00ac 2.1749 00003808 7C 80 35 2C addis r4,r0,0x000c 2.1750 ori r4,r4,0x060c 2.1751 0000380C 3C 60 80 00 stwbrx r3,0,(r5) 2.1752 00003810 60 63 00 FC stwbrx r4,0,(r6) 2.1753 00003814 3C 80 00 00 2.1754 00003818 60 84 00 00 sync 2.1755 0000381C 7C 60 2D 2C 2.1756 00003820 7C 80 35 2C 2.1757 2.1758 00003824 3C 60 80 00 2.1759 00003828 60 63 00 F0 2.1760 0000382C 3C 80 FF 8A 2.1761 00003830 60 84 00 01 2.1762 00003834 7C 60 2D 2C 2.1763 00003838 7C 80 35 2C 2.1764 2.1765 0000383C 7C 00 04 AC 2.1766 2.1767 00003840 48 00 00 18 2.1768 2.1773 2.1774 2.1775 00003844 3D 00 40 40 2.1776 00003848 7D 11 43 A6 2.1777 2.1778 0000384C 3C 60 00 00 2.1779 00003850 60 63 00 02 addis r3,r0,0x8000 2.1780 00003854 7C 70 43 A6 ori r3,r3,0x00F4 2.1781 addis r4,r0,0x0000 Page 37 Line Address Opcode Source 2.1782 ori r4,r4,0x07F7 2.1783 00003858 48 00 00 01 E stwbrx r3,0,(r5) 2.1784 0000385C 7C 00 04 AC stwbrx r4,0,(r6) 2.1785 2.1786 addis r3,r0,0x8000 2.1787 ori r3,r3,0x00F8 2.1788 2.1789 00003860 7C 60 00 A6 addis r4,r0,0x0002 2.1790 00003864 60 63 00 30 2.1791 00003868 7C 60 01 24 ori r4,r4,0x2293 2.1792 0000386C 4C 00 01 2C stwbrx r3,0, (r5) 2.1793 00003870 7C 00 04 AC stwbrx r4,0, (r6) 2.1794 2.1801 00003874 48 00 00 01 E addis r3,r0,0x8000 2.1802 ori r3,r3,0x00FC 2.1803 addis r4,r0,0x0000 2.1804 ori r4,r4,0x0000 2.1805 stwbrx r3,0,(r5) 2.1806 00003878 3C 60 00 00 stwbrx r4,0,(r6) 2.1807 0000387C 3C 80 FF C0 2.1808 00003880 3C C0 00 08 addis r3,r0,0x8000 2.1809 ori r3,r3,0x00F0 2.1810 00003884 7C A0 20 2E addis r4,r0,0xFF8A 2.1811 00003888 7C A0 19 2E ori r4,r4,0x0001 2.1812 0000388C 7C 00 04 AC stwbrx r3,0,(r5) 2.1813 00003890 7C E0 18 2E stwbrx r4,0,(r6) 2.1814 00003894 7C 07 28 00 2.1815 00003898 40 82 01 D8 sync 2.1816 2.1817 0000389C 38 84 00 04 b do_mmu_setup 2.1818 000038A0 38 63 00 04 #line 1773 2.1819 000038A4 34 C6 FF FC .global excimer_init 2.1820 000038A8 41 81 FF DC excimer_init: 2.1821 addis r8, r0, 0x4040 2.1822 000038AC 7C 00 06 AC mtspr sprg1,r8 2.1823 000038B0 7C 00 04 AC 2.1824 addis r3,0,0x0 2.1825 ori r3,r3,0x2 2.1826 mtspr sprg0,r3 2.1827 2.1828 000038B4 3C 60 00 00 do_mmu_setup: 2.1829 000038B8 3C 80 FF C0 bl mmu_setup 2.1830 000038BC 3C C0 00 08 sync 2.1831 2.1832 000038C0 7D 00 22 14 2.1833 2.1834 000038C4 7C A0 20 2E 2.1835 000038C8 7C E0 18 2E mfmsr r3 2.1836 ori r3,r3,0x0030 2.1837 000038CC 7D 20 40 2E mtmsr r3 2.1838 isync Page 38 Line Address Opcode Source 2.1839 000038D0 7C 07 28 00 sync 2.1840 000038D4 40 82 01 9C #line 1801 2.1841 bl invalidate_and_enable_L1_icache 2.1842 000038D8 38 84 00 04 2.1843 000038DC 38 63 00 04 2.1844 000038E0 34 C6 FF FC .global copy_flash_to_ram 2.1845 000038E4 41 81 FF E0 copy_flash_to_ram: 2.1846 addis r3,0,0 2.1847 000038E8 7C 00 06 AC addis r4,0,0xFFC0 2.1848 000038EC 7C 00 04 AC lis r6,0x8 2.1849 2.1850 lp1: lwzx r5,0,r4 2.1851 stwx r5,0,r3 2.1856 000038F0 48 00 00 01 E sync 2.1857 lwzx r7,0,r3 2.1858 cmp 0,0,r7,r5 2.1859 bne error_dram_init 2.1860 2.1861 addi r4,r4,4 2.1862 000038F4 48 00 00 01 E addi r3,r3,4 2.1863 addic. r6,r6,-4 2.1873 bgt lp1 2.1874 2.1875 eieio 2.1876 sync 2.1889 2.1890 000038F8 7C 60 00 A6 2.1891 000038FC 70 63 20 00 2.1892 00003900 41 82 00 8C 2.1893 addis r3,0,0 2.1894 00003904 3C 60 00 00 R addis r4,0,0xFFC0 2.1895 00003908 60 63 00 00 R lis r6,0x8 2.1896 2.1897 0000390C C8 03 00 00 add r8,r0,r4 2.1898 00003910 C8 23 00 00 2.1899 00003914 C8 43 00 00 verlp: lwzx r5,0,r4 2.1900 00003918 C8 63 00 00 lwzx r7,0,r3 2.1901 0000391C C8 83 00 00 2.1902 00003920 C8 A3 00 00 lwzx r9,0,r8 2.1903 00003924 C8 C3 00 00 2.1904 00003928 C8 E3 00 00 cmp 0,0,r7,r5 2.1905 0000392C C9 03 00 00 bne error_dram_init 2.1906 00003930 C9 23 00 00 2.1907 00003934 C9 43 00 00 addi r4,r4,4 2.1908 00003938 C9 63 00 00 addi r3,r3,4 2.1909 0000393C C9 83 00 00 addic. r6,r6,-4 2.1910 00003940 C9 A3 00 00 bgt verlp 2.1911 00003944 C9 C3 00 00 2.1912 00003948 C9 E3 00 00 eieio 2.1913 0000394C CA 03 00 00 sync 2.1914 00003950 CA 23 00 00 Page 39 Line Address Opcode Source 2.1915 00003954 CA 43 00 00 2.1916 00003958 CA 63 00 00 #line 1856 2.1917 0000395C CA 83 00 00 bl global_L2backside_invalidate 2.1918 00003960 CA A3 00 00 2.1919 00003964 CA C3 00 00 2.1920 00003968 CA E3 00 00 2.1921 0000396C CB 03 00 00 2.1922 00003970 CB 23 00 00 2.1923 00003974 CB 43 00 00 bl invalidate_and_enable_L1_dcache 2.1924 00003978 CB 63 00 00 #line 1873 2.1925 0000397C CB 83 00 00 2.1926 00003980 CB A3 00 00 2.1927 00003984 CB C3 00 00 2.1928 00003988 CB E3 00 00 #line 1889 2.1929 2.1930 mfmsr r3 2.1931 andi. r3,r3,0x2000 2.1937 beq no_float 2.1938 2.1939 0000398C 7D 11 42 A6 lis r3,float_0@h 2.1940 00003990 3C 60 00 00 E ori r3,r3,float_0@l 2.1941 00003994 60 63 00 00 E 2.1942 00003998 91 03 00 00 lfd f0,0(r3) 2.1943 lfd f1,0(r3) 2.1944 0000399C 3C 60 00 00 E lfd f2,0(r3) 2.1945 000039A0 60 63 00 00 E lfd f3,0(r3) 2.1946 lfd f4,0(r3) 2.1947 000039A4 3C 80 00 00 lfd f5,0(r3) 2.1948 000039A8 7C 80 19 2E lfd f6,0(r3) 2.1949 lfd f7,0(r3) 2.1950 000039AC 3C 60 00 00 E lfd f8,0(r3) 2.1951 000039B0 60 63 00 00 E lfd f9,0(r3) 2.1952 000039B4 7C B2 42 A6 lfd f10,0(r3) 2.1953 000039B8 7C A0 19 2E lfd f11,0(r3) 2.1954 lfd f12,0(r3) 2.1955 000039BC 3C 60 00 00 E lfd f13,0(r3) 2.1956 000039C0 60 63 00 00 E lfd f14,0(r3) 2.1957 000039C4 7C B3 42 A6 lfd f15,0(r3) 2.1958 000039C8 7C A0 19 2E lfd f16,0(r3) 2.1959 lfd f17,0(r3) 2.1966 000039CC 7C B0 42 A6 lfd f18,0(r3) 2.1967 000039D0 3C 60 00 00 E lfd f19,0(r3) 2.1968 000039D4 60 63 00 00 E lfd f20,0(r3) 2.1969 000039D8 7C A0 19 2E lfd f21,0(r3) 2.1970 lfd f22,0(r3) 2.1971 000039DC 2C 05 00 02 lfd f23,0(r3) 2.1972 000039E0 41 82 00 58 lfd f24,0(r3) 2.1973 lfd f25,0(r3) 2.1979 000039E4 7C B2 42 A6 lfd f26,0(r3) 2.1980 000039E8 7C D3 42 A6 lfd f27,0(r3) 2.1981 lfd f28,0(r3) Page 40 Line Address Opcode Source 2.1982 000039EC 3C E0 80 00 lfd f29,0(r3) 2.1983 000039F0 7C E0 2D 2C lfd f30,0(r3) 2.1984 000039F4 7C 00 04 AC lfd f31,0(r3) 2.1985 000039F8 7C 80 34 2C 2.1986 no_float: 2.1987 000039FC 3C 60 00 03 #line 1937 2.1988 00003A00 60 63 10 57 .global init_globals 2.1989 00003A04 7C 03 20 00 init_globals: 2.1990 mfspr r8, sprg1 2.1991 lis r3,io_base_addr@h 2.1992 00003A08 3C 60 00 00 E ori r3,r3,io_base_addr@l 2.1993 00003A0C 60 63 00 00 E stw r8,0(r3) 2.1994 00003A10 7C 80 19 2E 2.1995 lis r3,in_which_code@h 2.1996 00003A14 3C E0 80 00 ori r3,r3,in_which_code@l 2.1997 00003A18 60 E7 00 08 2.1998 00003A1C 7C E0 2D 2C addis r4,0,0 2.1999 00003A20 7C 00 04 AC stwx r4,0,r3 2.2000 00003A24 7C 80 34 2C 2.2001 00003A28 70 84 FF 00 lis r3,config_addr@h 2.2002 ori r3,r3,config_addr@l 2.2003 00003A2C 3C 60 00 00 E mfspr r5, sprg2 2.2004 00003A30 60 63 00 00 E stwx r5,0,r3 2.2005 00003A34 7C 80 19 2E 2.2006 lis r3,config_data@h 2.2007 ori r3,r3,config_data@l 2.2008 mfspr r5, sprg3 2.2009 stwx r5,0,r3 2.2010 #line 1966 2.2011 00003A38 3C 20 00 08 mfspr r5, sprg0 2.2012 00003A3C 60 21 00 00 lis r3,board_type@h 2.2013 ori r3,r3,board_type@l 2.2014 stwx r5,0,r3 2.2015 00003A40 3C 60 7F FF 2.2016 00003A44 60 63 FF FF cmpi 0,0,r5,0x2 2.2017 00003A48 7C 76 03 A6 beq init_global_cont 2.2018 #line 1979 2.2019 mfspr r5, sprg2 2.2020 mfspr r6, sprg3 2.2021 2.2022 lis r7, 0x8000 2.2023 stwbrx r7, 0, (r5) 2.2024 00003A4C 3C 60 00 00 E sync 2.2025 00003A50 60 63 00 00 E lwbrx r4, 0, (r6) 2.2026 2.2027 00003A54 7C 7A 03 A6 lis r3, 0x0003 2.2028 ori r3, r3, 0x1057 2.2029 00003A58 3C 80 00 00 cmp 0, 0, r3, r4 2.2030 00003A5C 60 84 39 30 2.2031 00003A60 7C 9B 03 A6 2.2032 lis r3,target_type@h Page 41 Line Address Opcode Source 2.2033 ori r3,r3,target_type@l 2.2034 stwx r4,0,r3 2.2035 00003A64 3D A0 00 00 E 2.2036 00003A68 61 AD 00 00 E lis r7, 0x8000 2.2037 ori r7, r7,0x0008 2.2038 00003A6C 4C 00 00 64 stwbrx r7, 0, (r5) 2.2039 sync 2.2040 lwbrx r4, 0, (r6) 2.2041 andi. r4, r4, 0xff00 2.2042 2.2043 lis r3,target_mode@h 2.2044 00003A70 3C 00 DE AD ori r3,r3,target_mode@l 2.2045 00003A74 60 00 00 0D stwx r4,0,r3 2.2046 00003A78 4B FF FF F8 2.2047 2.2055 2.2056 2.2057 init_global_cont: 2.2058 addis r1,0,0x8 2.2059 ori r1,r1,0x0000 2.2060 2.2061 2.2062 00003A7C 7C 70 42 A6 lis r3,0x7fff 2.2063 ori r3,r3,0xffff 2.2064 00003A80 2C 03 00 02 mtspr 22,r3 2.2065 00003A84 41 82 00 A8 2.2066 2.2067 00003A88 2C 03 00 03 2.2068 00003A8C 41 82 00 28 2.2069 00003A90 2C 03 00 04 2.2070 00003A94 41 82 00 20 2.2071 00003A98 2C 03 00 05 lis r3,main@h 2.2072 00003A9C 41 82 00 18 ori r3,r3,main@l 2.2073 2.2074 mtspr srr0,r3 2.2075 2.2076 00003AA0 3C 80 FF 00 addis r4,0,0x0000 2.2077 00003AA4 3C 60 FF 00 ori r4,r4,dink_msr 2.2078 00003AA8 60 84 00 12 mtspr srr1,r4 2.2079 00003AAC 60 63 01 FF 2.2080 00003AB0 48 00 00 8C 2.2081 2.2082 addis r13,r0,_SDA_BASE_@h 2.2083 ori r13,r13,_SDA_BASE_@l 2.2084 2.2085 rfi 2.2086 2.2087 00003AB4 3C 80 FE 00 2.2088 00003AB8 60 84 00 12 2.2089 00003ABC 3C 60 FE 00 2.2090 00003AC0 60 63 03 FF error_dram_init: Page 42 Line Address Opcode Source 2.2091 lis r0,0xDEAD 2.2092 00003AC4 4C 00 01 2C ori r0,r0,0x000D 2.2093 00003AC8 7C 91 83 A6 b error_dram_init 2.2094 00003ACC 4C 00 01 2C #line 2055 2.2095 00003AD0 7C 70 83 A6 .text 2.2096 00003AD4 4C 00 01 2C .align 2 2.2097 .global mmu_setup 2.2098 00003AD8 3C 80 FC 00 mmu_setup: 2.2099 00003ADC 60 84 00 2A 2.2100 00003AE0 3C 60 FC 00 2.2101 00003AE4 60 63 07 FF 2.2102 mfspr r3, sprg0 2.2103 00003AE8 7C 99 83 A6 2.2104 00003AEC 4C 00 01 2C cmpi 0,0,r3,0x2 2.2105 00003AF0 7C 78 83 A6 beq rom_bat_excimer 2.2106 00003AF4 4C 00 01 2C 2.2107 00003AF8 7C 00 04 AC cmpi 0,0,r3,0x3 2.2108 beq cr0,setup_kahlua 2.2109 00003AFC 3C 80 00 00 cmpi 0,0,r3,0x4 2.2110 00003B00 60 84 00 12 beq cr0,setup_kahlua 2.2111 00003B04 3C 60 00 00 cmpi 0,0,r3,0x5 2.2112 00003B08 60 63 0F FF beq cr0,setup_kahlua 2.2113 2.2114 00003B0C 4C 00 01 2C 2.2115 00003B10 7C 93 83 A6 2.2116 00003B14 4C 00 01 2C addis r4,0,0xff00 2.2117 00003B18 7C 72 83 A6 addis r3,0,0xff00 2.2118 00003B1C 4C 00 01 2C ori r4,r4,0x0012 2.2119 ori r3,r3,0x01ff 2.2120 00003B20 3C 80 00 00 b rom_bat 2.2121 00003B24 60 84 00 2A 2.2122 00003B28 48 00 00 60 2.2123 2.2124 2.2125 00003B2C 3C 80 FF C0 setup_kahlua: 2.2126 00003B30 3C 60 FF C0 2.2127 00003B34 60 84 00 32 addis r4,0,0xfe00 2.2128 ori r4,r4,0x0012 2.2129 addis r3,0,0xfe00 2.2130 00003B38 60 63 00 7F ori r3,r3,0x03ff 2.2131 2.2132 isync 2.2133 00003B3C 4C 00 01 2C mtspr ibat0l,r4 2.2134 00003B40 7C 91 83 A6 isync 2.2135 00003B44 4C 00 01 2C mtspr ibat0u,r3 2.2136 00003B48 7C 70 83 A6 isync 2.2137 00003B4C 4C 00 01 2C 2.2138 addis r4,0,0xfc00 2.2139 00003B50 7C 99 83 A6 ori r4,r4,0x002a 2.2140 00003B54 4C 00 01 2C addis r3,0,0xfc00 2.2141 00003B58 7C 78 83 A6 ori r3,r3,0x07ff Page 43 Line Address Opcode Source 2.2142 00003B5C 4C 00 01 2C 2.2143 00003B60 7C 00 04 AC mtspr dbat0l,r4 2.2144 isync 2.2153 00003B64 3C 80 00 00 mtspr dbat0u,r3 2.2154 00003B68 60 84 00 12 isync 2.2155 00003B6C 3C 60 00 00 sync 2.2156 00003B70 60 63 1F FF 2.2157 addis r4,0,0x0000 2.2158 00003B74 4C 00 01 2C ori r4,r4,0x0012 2.2159 00003B78 7C 93 83 A6 addis r3,0,0x0000 2.2160 00003B7C 4C 00 01 2C ori r3,r3,0x0fff 2.2161 00003B80 7C 72 83 A6 2.2162 00003B84 4C 00 01 2C isync 2.2163 mtspr ibat1l,r4 2.2164 isync 2.2165 00003B88 7C 9B 83 A6 mtspr ibat1u,r3 2.2166 00003B8C 4C 00 01 2C isync 2.2167 00003B90 7C 7A 83 A6 2.2168 00003B94 4C 00 01 2C lis r4, 0x0 2.2169 00003B98 7C 00 04 AC ori r4,r4,0x002a 2.2170 b cont_mmu 2.2179 00003B9C 7D 11 42 A6 2.2180 00003BA0 7C 68 02 14 rom_bat_excimer: 2.2181 00003BA4 7C 88 02 14 addis r4,0,0xffc0 2.2182 00003BA8 60 63 01 FF addis r3,0,0xffc0 2.2183 00003BAC 60 84 00 22 ori r4,r4,0x0032 2.2184 00003BB0 4C 00 01 2C 2.2185 00003BB4 7C 95 83 A6 2.2186 00003BB8 4C 00 01 2C ori r3,r3,0x007f 2.2187 00003BBC 7C 74 83 A6 2.2188 00003BC0 4C 00 01 2C rom_bat: 2.2189 00003BC4 7C 9D 83 A6 isync 2.2190 00003BC8 4C 00 01 2C mtspr ibat0l,r4 2.2191 00003BCC 7C 7C 83 A6 isync 2.2192 00003BD0 4C 00 01 2C mtspr ibat0u,r3 2.2193 00003BD4 7C 00 04 AC isync 2.2194 2.2199 00003BD8 4C 00 01 2C mtspr dbat0l,r4 2.2200 00003BDC 7C 17 83 A6 isync 2.2201 00003BE0 4C 00 01 2C mtspr dbat0u,r3 2.2202 00003BE4 7C 16 83 A6 isync 2.2203 00003BE8 4C 00 01 2C sync 2.2204 00003BEC 7C 1F 83 A6 #line 2153 2.2205 00003BF0 4C 00 01 2C addis r4,0,0x0000 2.2206 00003BF4 7C 1E 83 A6 ori r4,r4,0x0012 2.2207 00003BF8 4C 00 01 2C addis r3,0,0x0000 2.2208 ori r3,r3,0x1fff 2.2217 00003BFC 7D 11 42 A6 2.2218 isync 2.2223 00003C00 2C 03 FE 00 mtspr ibat1l,r4 2.2224 isync Page 44 Line Address Opcode Source 2.2225 00003C04 40 82 00 28 mtspr ibat1u,r3 2.2226 isync 2.2227 00003C08 3C 80 78 00 2.2228 00003C0C 60 84 00 3A cont_mmu: 2.2229 00003C10 3C 60 78 00 mtspr dbat1l,r4 2.2230 00003C14 60 63 1F FF isync 2.2231 mtspr dbat1u,r3 2.2232 00003C18 4C 00 01 2C isync 2.2233 00003C1C 7C 9F 83 A6 sync 2.2234 00003C20 4C 00 01 2C #line 2179 2.2235 00003C24 7C 7E 83 A6 mfspr r8, sprg1 2.2236 00003C28 4C 00 01 2C add r3, r8, 0x0 2.2237 add r4, r8, 0x0 2.2242 ori r3, r3, 0x01ff 2.2243 00003C2C 7C 9F 42 A6 ori r4, r4, 0x0022 2.2244 00003C30 7C 83 86 70 isync 2.2245 00003C34 2C 03 00 08 mtspr ibat2l,r4 2.2246 00003C38 40 82 00 AC isync 2.2247 mtspr ibat2u,r3 2.2248 00003C3C 70 83 30 00 isync 2.2249 00003C40 41 82 00 A4 mtspr dbat2l,r4 2.2250 isync 2.2251 00003C44 70 83 0F 00 mtspr dbat2u,r3 2.2252 00003C48 2C 03 02 00 isync 2.2253 00003C4C 41 80 00 98 sync 2.2254 #line 2199 2.2261 00003C50 4C 00 01 2C isync 2.2262 00003C54 7C 11 8B A6 mtspr ibat3l,r0 2.2263 00003C58 4C 00 01 2C isync 2.2264 00003C5C 7C 10 8B A6 mtspr ibat3u,r0 2.2265 00003C60 4C 00 01 2C isync 2.2266 mtspr dbat3l,r0 2.2267 00003C64 7C 13 8B A6 isync 2.2268 00003C68 4C 00 01 2C mtspr dbat3u,r0 2.2269 00003C6C 7C 12 8B A6 isync 2.2270 00003C70 4C 00 01 2C #line 2217 2.2271 mfspr r8, sprg1 2.2272 00003C74 7C 15 8B A6 #line 2223 2.2273 00003C78 4C 00 01 2C cmpwi r3, 0xFE00 2.2274 00003C7C 7C 14 8B A6 2.2275 00003C80 4C 00 01 2C bne extra_bats 2.2276 2.2277 00003C84 7C 17 8B A6 lis r4, 0x7800 2.2278 00003C88 4C 00 01 2C ori r4,r4,0x003A 2.2279 00003C8C 7C 16 8B A6 lis r3, 0x7800 2.2280 00003C90 4C 00 01 2C ori r3,r3,0x1FFF 2.2281 2.2282 00003C94 7C 19 8B A6 isync 2.2283 00003C98 4C 00 01 2C mtspr dbat3l,r4 2.2284 00003C9C 7C 18 8B A6 isync 2.2285 00003CA0 4C 00 01 2C mtspr dbat3u,r3 Page 45 Line Address Opcode Source 2.2286 isync 2.2287 00003CA4 7C 1B 8B A6 #line 2242 2.2288 00003CA8 4C 00 01 2C extra_bats: 2.2289 00003CAC 7C 1A 8B A6 mfspr r4, pvr 2.2290 00003CB0 4C 00 01 2C srawi r3,r4,16 2.2291 cmpi 0,0,r3,0x0008 2.2292 00003CB4 7C 1D 8B A6 bne tlb_init 2.2293 00003CB8 4C 00 01 2C 2.2294 00003CBC 7C 1C 8B A6 andi. r3,r4,0x3000 2.2295 00003CC0 4C 00 01 2C beq tlb_init 2.2296 2.2297 00003CC4 7C 1F 8B A6 andi. r3,r4,0x0F00 2.2298 00003CC8 4C 00 01 2C cmpi 0,0,r3,0x0200 2.2299 00003CCC 7C 1E 8B A6 blt tlb_init 2.2300 00003CD0 4C 00 01 2C #line 2261 2.2301 isync 2.2302 mtspr ibat4l,r0 2.2303 isync 2.2304 00003CD4 7C 93 FA A6 mtspr ibat4u,r0 2.2305 00003CD8 64 84 00 04 isync 2.2306 00003CDC 7C 93 FB A6 2.2307 00003CE0 4C 00 01 2C mtspr ibat5l,r0 2.2308 isync 2.2309 mtspr ibat5u,r0 2.2310 isync 2.2311 00003CE4 3C 60 00 00 2.2312 00003CE8 60 63 00 00 mtspr ibat6l,r0 2.2313 isync 2.2314 00003CEC 7C 9F 42 A6 mtspr ibat6u,r0 2.2315 00003CF0 7C 84 86 70 isync 2.2316 2.2317 00003CF4 2C 04 00 03 mtspr ibat7l,r0 2.2318 00003CF8 41 82 00 1C isync 2.2319 00003CFC 2C 04 00 06 mtspr ibat7u,r0 2.2320 00003D00 41 82 00 14 isync 2.2321 00003D04 2C 04 00 07 2.2322 00003D08 41 82 00 0C mtspr dbat4l,r0 2.2323 isync 2.2324 mtspr dbat4u,r0 2.2325 00003D0C 3C A0 00 04 isync 2.2326 00003D10 48 00 00 08 2.2327 mtspr dbat5l,r0 2.2328 isync 2.2329 00003D14 3C A0 00 02 mtspr dbat5u,r0 2.2330 isync 2.2331 2.2332 00003D18 7C 00 1A 64 mtspr dbat6l,r0 2.2333 00003D1C 7C 00 04 AC isync 2.2334 00003D20 38 63 10 00 mtspr dbat6u,r0 2.2335 00003D24 7C 03 28 00 isync 2.2336 Page 46 Line Address Opcode Source 2.2337 00003D28 41 80 FF F0 mtspr dbat7l,r0 2.2338 isync 2.2339 00003D2C 4E 80 00 20 mtspr dbat7u,r0 2.2340 isync 2.2341 2.2342 2.2343 2.2344 mfspr r4,1011 2.2345 oris r4,r4,0x0004 2.2346 mtspr 1011,r4 2.2347 00003D30 7C 68 02 A6 isync 2.2348 00003D34 60 00 00 00 2.2349 00003D38 60 00 00 00 2.2350 00003D3C 60 00 00 00 tlb_init: 2.2351 00003D40 70 04 00 00 addis r3,0,0 2.2352 00003D44 7C 9D 43 A6 ori r3,r3,0 2.2353 00003D48 7C 9C 43 A6 2.2354 00003D4C 7C 68 03 A6 mfspr r4, pvr 2.2355 00003D50 4E 80 00 20 srawi r4,r4,16 2.2356 2.2357 cmpi 0,0,r4, 0x3 2.2358 beq set_mmu_for603 2.2359 cmpi 0,0,r4, 0x6 2.2360 beq set_mmu_for603 2.2361 cmpi 0,0,r4, 0x7 2.2362 beq set_mmu_for603 2.2363 00003D54 7C 88 02 A6 2.2364 00003D58 60 00 00 00 2.2365 00003D5C 60 00 00 00 addis r5,0,0x4 2.2366 00003D60 60 00 00 00 b tlblp 2.2367 00003D64 7C 6C 42 A6 2.2368 00003D68 7C 88 03 A6 set_mmu_for603: 2.2369 00003D6C 4E 80 00 20 addis r5,0,0x2 2.2370 2.2371 tlblp: 2.2372 tlbie r3 2.2373 sync 2.2374 addi r3,r3,0x1000 2.2375 cmp 0,0,r3,r5 2.2376 2.2377 00003D70 7C 88 02 A6 blt tlblp 2.2378 00003D74 60 00 00 00 2.2379 00003D78 60 00 00 00 blr 2.2380 00003D7C 60 00 00 00 2.2381 00003D80 7C 6D 42 A6 .text 2.2382 00003D84 7C 88 03 A6 .align 2 2.2383 00003D88 4E 80 00 20 .global time_base_init 2.2384 2.2385 time_base_init: 2.2386 2.2387 mflr r3 Page 47 Line Address Opcode Source 2.2388 nop 2.2389 nop 2.2390 00003D8C 7C 76 02 A6 nop 2.2391 00003D90 4E 80 00 20 andi. r4,r0,0 2.2392 mtspr 285,r4 2.2393 mtspr 284,r4 2.2394 mtlr r3 2.2395 blr 2.2396 2.2397 .text 2.2398 00003D94 7C 71 FA A6 .align 2 2.2399 00003D98 4E 80 00 20 .global time_base_read_lower 2.2400 2.2401 time_base_read_lower: 2.2402 2.2403 mflr r4 2.2404 nop 2.2405 nop 2.2406 nop 2.2407 00003D9C 7C 7F 42 A6 mfspr r3,268 2.2408 00003DA0 4E 80 00 20 mtlr r4 2.2409 blr 2.2410 2.2411 .text 2.2412 .align 2 2.2413 .global time_base_read_upper 2.2414 2.2415 time_base_read_upper: 2.2416 00003DA4 7C 79 FA A6 2.2417 00003DA8 4E 80 00 20 mflr r4 2.2418 nop 2.2425 nop 2.2426 nop 2.2427 mfspr r3,269 2.2428 mtlr r4 2.2429 blr 2.2430 2.2431 00003DAC 7C 73 43 A6 .text 2.2432 00003DB0 7C 92 43 A6 .align 2 2.2433 00003DB4 3C 60 00 00 E .global decrementer_read 2.2434 00003DB8 60 63 00 00 E 2.2435 00003DBC 38 80 00 01 decrementer_read: 2.2436 00003DC0 90 83 00 00 mfspr r3,22 2.2437 00003DC4 3C 60 00 00 blr 2.2438 00003DC8 60 63 AA AA 2.2439 .text 2.2440 .align 2 2.2441 00003DCC 3C 80 00 00 E .global hid1_read 2.2442 00003DD0 60 84 00 00 E 2.2443 00003DD4 7C 60 21 2E hid1_read: 2.2444 00003DD8 48 00 00 00 E mfspr r3,hid1 Page 48 Line Address Opcode Source 2.2445 blr 2.2446 2.2447 2.2448 .text 2.2449 .align 2 2.2450 .global pvr_read 2.2451 2.2452 00003DDC 7C 7C FA A6 pvr_read: 2.2453 00003DE0 4E 80 00 20 mfspr r3,pvr 2.2454 blr 2.2455 2.2456 2.2457 .text 2.2458 .align 2 2.2459 .global l2cr_read 2.2460 2.2461 00003DE4 7C 7D FA A6 l2cr_read: 2.2462 00003DE8 4E 80 00 20 mfspr r3,l2cr 2.2463 blr 2.2464 #line 2425 2.2465 2.2466 .text 2.2467 .align 2 2.2468 .global user_return 2.2469 2.2470 00003DEC 7C 7E FA A6 user_return: 2.2471 00003DF0 4E 80 00 20 mtspr sprg3,r3 2.2472 mtspr sprg2,r4 2.2473 lis r3,usr_code_rtn@h 2.2474 ori r3,r3,usr_code_rtn@l 2.2475 li r4,0x0001 2.2476 stw r4,0(r3) 2.2477 addis r3,0,0 2.2478 00003DF4 7C 7C FB A6 ori r3,r3,0xaaaa 2.2479 00003DF8 4E 80 00 20 2.2480 2.2481 lis r4, ex_type@h 2.2482 ori r4,r4, ex_type@l 2.2483 stwx r3,0,r4 2.2484 b handle_ex 2.2485 2.2486 2.2487 00003DFC 7C 7D FB A6 .text 2.2488 00003E00 4E 80 00 20 .align 2 2.2489 .global therm1_read 2.2490 2.2491 therm1_read: 2.2492 mfspr r3,1020 2.2493 blr 2.2494 2.2495 Page 49 Line Address Opcode Source 2.2496 00003E04 7C 7E FB A6 .text 2.2497 00003E08 4E 80 00 20 .align 2 2.2498 .global therm2_read 2.2499 2.2500 therm2_read: 2.2501 mfspr r3,1021 2.2502 blr 2.2503 2.2504 00003E0C 7C 76 03 A6 2.2505 00003E10 4E 80 00 20 .text 2.2506 .align 2 2.2507 .global therm3_read 2.2508 2.2509 therm3_read: 2.2510 mfspr r3,1022 2.2511 blr 2.2512 2.2513 00003E14 7C 00 04 AC 2.2514 00003E18 7C 00 04 AC .text 2.2515 00003E1C 7C 68 03 A6 .align 2 2.2516 00003E20 7C 00 04 AC .global therm1_write 2.2517 00003E24 7C 00 04 AC therm1_write: 2.2518 00003E28 4E 80 00 20 mtspr 1020,r3 2.2519 blr 2.2520 2.2521 2.2522 .text 2.2523 .align 2 2.2524 .global therm2_write 2.2525 2.2526 therm2_write: 2.2527 mtspr 1021,r3 2.2528 blr 2.2529 00003E2C 7C 70 FA A6 2.2530 00003E30 3C 80 FF FF 2.2531 00003E34 60 84 3F FF .text 2.2532 00003E38 7C 63 20 38 .align 2 2.2533 00003E3C 7C 00 04 AC .global therm3_write 2.2534 00003E40 7C 70 FB A6 2.2535 00003E44 4C 00 01 2C therm3_write: 2.2536 00003E48 4E 80 00 20 mtspr 1022,r3 2.2537 blr 2.2538 2.2539 .text 2.2540 .align 2 2.2541 .global decrementer_write 2.2542 2.2543 decrementer_write: 2.2544 00003E4C 7C B0 FA A6 mtspr 22, r3 2.2545 00003E50 60 A5 44 00 blr 2.2546 00003E54 7C 9F 42 A6 Page 50 Line Address Opcode Source 2.2547 00003E58 7C 83 86 70 2.2548 00003E5C 2C 03 00 0C .text 2.2549 00003E60 40 82 00 08 .align 2 2.2550 00003E64 60 A5 00 40 .global total_recall 2.2551 2.2552 00003E68 3C C0 FF FF total_recall: 2.2553 00003E6C 60 C6 FB FF sync 2.2554 00003E70 7C A6 30 38 sync 2.2555 00003E74 7C 00 04 AC mtlr r3 2.2556 00003E78 7C B0 FB A6 sync 2.2557 00003E7C 7C D0 FB A6 sync 2.2558 00003E80 4C 00 01 2C blr 2.2559 00003E84 7C 00 04 AC 2.2560 00003E88 4E 80 00 20 2.2561 .text 2.2562 .align 2 2.2563 .global cache_inhibit 2.2564 2.2565 cache_inhibit: 2.2566 2.2567 2.2568 2.2569 00003E8C 3C 80 00 00 mfspr r3, hid0 2.2570 addis r4,0,0xffff 2.2571 00003E90 7C 03 20 00 ori r4,r4,0x3fff 2.2572 00003E94 40 81 00 10 and r3,r3,r4 2.2573 00003E98 80 A4 00 00 sync 2.2574 00003E9C 38 84 00 04 mtspr hid0,r3 2.2575 00003EA0 4B FF FF F0 isync 2.2576 blr 2.2577 00003EA4 4E 80 00 20 2.2578 .text 2.2579 .align 2 2.2580 .global invalidate_and_enable_L1_dcache 2.2581 2.2582 invalidate_and_enable_L1_dcache: 2.2583 2.2584 mfspr r5,hid0 2.2585 ori r5,r5,0x4400 2.2586 00003EA8 7C B0 FA A6 mfspr r4, pvr 2.2587 00003EAC 3C C0 FF FF srawi r3, r4, 16 2.2588 00003EB0 60 C6 BF FF cmpi 0, 0, r3, 0xC 2.2589 00003EB4 7C A5 30 38 bne NotMax 2.2590 00003EB8 7C 00 04 AC ori r5,r5,0x0040 2.2591 00003EBC 7C B0 FB A6 NotMax: 2.2592 00003EC0 4C 00 01 2C addis r6,0,0xFFFF 2.2593 00003EC4 7C 00 04 AC ori r6,r6,0xFBFF 2.2594 00003EC8 4E 80 00 20 and r6,r5,r6 2.2595 sync 2.2596 mtspr hid0,r5 2.2597 mtspr hid0,r6 Page 51 Line Address Opcode Source 2.2598 isync 2.2599 sync 2.2600 blr 2.2601 2.2602 2.2603 00003ECC 7C B0 FA A6 .text 2.2604 00003ED0 60 A5 88 00 .align 2 2.2605 00003ED4 3C C0 FF FF .global fL1dc 2.2606 00003ED8 60 C6 F7 FF 2.2607 00003EDC 7C A6 30 38 fL1dc: 2.2608 00003EE0 7C 00 04 AC 2.2609 00003EE4 7C B0 FB A6 lis r4,0x0 2.2610 00003EE8 7C D0 FB A6 fL1dc_head: 2.2611 00003EEC 4C 00 01 2C cmpw r3,r4 2.2612 00003EF0 7C 00 04 AC ble fL1dc_done 2.2613 00003EF4 4E 80 00 20 lwz r5,0(r4) 2.2614 addi r4,r4,0x4 2.2615 b fL1dc_head 2.2616 fL1dc_done: 2.2617 blr 2.2618 2.2619 2.2620 .text 2.2621 00003F00 7C B0 FA A6 .align 2 2.2622 00003F04 3C C0 FF FF .global disable_L1_dcache 2.2623 00003F08 60 C6 7F FF 2.2624 00003F0C 7C A5 30 38 disable_L1_dcache: 2.2625 00003F10 7C 00 04 AC 2.2626 00003F14 7C B0 FB A6 mfspr r5,hid0 2.2627 00003F18 4C 00 01 2C addis r6,0,0xFFFF 2.2628 00003F1C 7C 00 04 AC ori r6,r6,0xBFFF 2.2629 00003F20 4E 80 00 20 and r5,r5,r6 2.2630 sync 2.2631 mtspr hid0,r5 2.2632 isync 2.2633 sync 2.2634 blr 2.2635 2.2636 2.2637 .text 2.2638 00003F80 7C BB 02 A6 .align 2 2.2639 00003F84 3C 60 00 07 .global invalidate_and_enable_L1_icache 2.2640 00003F88 60 63 01 00 2.2641 00003F8C 7C A0 19 2E invalidate_and_enable_L1_icache: 2.2642 00003F90 4E 80 00 20 2.2643 mfspr r5,hid0 2.2644 ori r5,r5,0x8800 2.2645 addis r6,0,0xFFFF 2.2646 00003F94 7C B0 FA A6 ori r6,r6,0xF7FF 2.2647 00003F98 60 A5 C0 00 and r6,r5,r6 2.2648 00003F9C 7C 00 04 AC sync Page 52 Line Address Opcode Source 2.2649 00003FA0 7C B0 FB A6 mtspr hid0,r5 2.2650 00003FA4 4C 00 01 2C mtspr hid0,r6 2.2651 00003FA8 7C 00 04 AC isync 2.2652 00003FAC 4E 80 00 20 sync 2.2653 blr 2.2654 2.2655 .text 2.2656 00003FB0 7C A0 00 A6 .align 7 2.2657 00003FB4 60 A5 00 30 .global disable_L1_icache 2.2658 00003FB8 7C A0 01 24 2.2659 00003FBC 4C 00 01 2C disable_L1_icache: 2.2660 00003FC0 4E 80 00 20 2.2661 mfspr r5,hid0 2.2662 addis r6,0,0xFFFF 2.2663 ori r6,r6,0x7FFF 2.2664 00003FC4 7C A0 00 A6 and r5,r5,r6 2.2665 00003FC8 3C C0 FF FF sync 2.2666 00003FCC 60 C6 FF CF mtspr hid0,r5 2.2667 00003FD0 7C A5 30 38 isync 2.2668 00003FD4 7C A0 01 24 sync 2.2669 00003FD8 4C 00 01 2C blr 2.2670 00003FDC 4E 80 00 20 2.2671 2.2672 .text 2.2673 .align 7 2.2674 .global srr1_read 2.2675 2.2676 srr1_read: 2.2677 2.2678 00003FE0 7C 80 00 A6 mfspr r5,srr1 2.2679 lis r3,0x7 2.2680 ori r3,r3,0x0100 2.2681 00003FE4 60 84 00 01 stwx r5,0,r3 2.2682 blr 2.2683 2.2684 cache_activate: 2.2685 00003FE8 7C 9B 03 A6 2.2686 mfspr r5,hid0 2.2687 ori r5,r5,0xc000 2.2688 sync 2.2689 00003FEC 7C 68 02 A6 mtspr hid0,r5 2.2690 00003FF0 7C 7A 03 A6 isync 2.2691 sync 2.2696 00003FF4 7C 00 04 AC blr 2.2697 2.2698 data_translation_on: 2.2699 2.2700 mfmsr r5 2.2701 ori r5,r5,0x30 2.2702 00003FF8 4C 00 00 64 mtmsr r5 2.2703 isync Page 53 Line Address Opcode Source 2.2704 blr 2.2705 2.2706 data_translation_off: 2.2707 2.2708 mfmsr r5 2.2709 addis r6,0,0xffff 2.2714 00003FFC 7C 88 02 A6 ori r6,r6,0xffcf 2.2715 and r5,r5,r6 2.2716 00004000 48 00 00 01 E mtmsr r5 2.2717 00004004 4B FF FF C1 isync 2.2718 blr 2.2719 2.2720 2.2721 2.2722 00004008 70 00 00 00 2.2723 0000400C 3D 40 00 00 switch_to_little_endian: 2.2724 00004010 39 4A 01 FF 2.2725 2.2726 mfmsr r4 2.2727 00004014 3D 60 00 00 2.2728 00004018 39 6B 00 42 2.2729 ori r4,r4,0x1 2.2730 2.2731 2.2732 2.2733 0000401C 7D 52 83 A6 mtspr srr1,r4 2.2734 00004020 7D 73 83 A6 2.2735 2.2736 00004024 7D 5A 83 A6 2.2737 00004028 7D 7B 83 A6 mfspr r3,lr 2.2738 mtspr srr0,r3 2.2739 0000402C 4B FF FF 85 #line 2696 2.2740 00004030 4B FF FF 65 sync 2.2741 2.2742 00004034 7C 88 03 A6 2.2743 2.2744 00004038 4E 80 00 20 2.2745 2.2746 rfi 2.2747 2.2748 .text 2.2749 .align 2 2.2750 .global setup_bursted_mode 2.2751 2.2752 0000403C 7C 88 02 A6 setup_bursted_mode: 2.2753 #line 2714 2.2754 00004040 48 00 00 01 E mflr r4 2.2755 2.2756 00004044 4B FF FF 81 bl cache_inhibit 2.2757 00004048 70 00 00 00 bl data_translation_off 2.2758 0000404C 3D 40 00 00 Page 54 Line Address Opcode Source 2.2759 00004050 39 4A 01 FF 2.2760 00004054 3D 60 00 00 2.2761 00004058 39 6B 00 12 2.2762 andi. r0,r0,0 2.2763 0000405C 7D 52 83 A6 addis r10,r0,0x0000 2.2764 00004060 7D 73 83 A6 addi r10,r10,0x01ff 2.2765 00004064 7D 5A 83 A6 2.2766 00004068 7D 7B 83 A6 2.2767 addis r11,r0,0x0000 2.2768 0000406C 4B FF FF 45 addi r11,r11,0x42 2.2769 2.2770 00004070 4B FF FF 25 2.2771 2.2772 00004074 7C 88 03 A6 2.2773 00004078 4E 80 00 20 mtibatu 1,r10 2.2774 mtibatl 1,r11 2.2775 2.2776 mtdbatu 1,r10 2.2777 mtdbatl 1,r11 2.2778 2.2779 bl data_translation_on 2.2780 bl cache_activate 2.2781 0000407C 7C 88 02 A6 2.2782 mtlr r4 2.2783 00004080 48 00 00 01 E 2.2784 00004084 4B FF FF 41 blr 2.2785 2.2786 .text 2.2787 .align 2 2.2788 .global put_ram_in_cb 2.2789 2.2790 00004088 70 00 00 00 put_ram_in_cb: 2.2791 0000408C 3D 40 00 00 2.2792 00004090 39 4A 01 FF mflr r4 2.2793 2.2794 00004094 3D 60 00 00 bl cache_inhibit 2.2795 00004098 39 6B 00 52 2.2796 bl data_translation_off 2.2797 0000409C 7D 52 83 A6 andi. r0,r0,0 2.2798 000040A0 7D 73 83 A6 addis r10,r0,0x0000 2.2799 addi r10,r10,0x01ff 2.2800 000040A4 7D 5A 83 A6 addis r11,r0,0x0000 2.2801 000040A8 7D 7B 83 A6 addi r11,r11,0x12 2.2802 2.2803 000040AC 4B FF FF 05 mtibatu 1,r10 2.2804 000040B0 4B FF FE E5 mtibatl 1,r11 2.2805 mtdbatu 1,r10 2.2806 000040B4 7C 88 03 A6 mtdbatl 1,r11 2.2807 2.2808 000040B8 4E 80 00 20 bl data_translation_on 2.2809 Page 55 Line Address Opcode Source 2.2814 bl cache_activate 2.2815 2.2816 mtlr r4 2.2817 blr 2.2818 2.2819 .text 2.2820 000040BC 7C 9F 42 A6 .align 2 2.2821 000040C0 7C 83 86 70 .global put_ram_in_wt 2.2822 000040C4 2C 03 00 08 2.2823 000040C8 41 82 00 10 put_ram_in_wt: 2.2824 000040CC 2C 03 00 0C 2.2825 000040D0 41 82 00 08 mflr r4 2.2826 000040D4 4E 80 00 20 2.2827 bl cache_inhibit 2.2828 bl data_translation_off 2.2829 000040D8 7C 00 04 AC 2.2830 000040DC 7C 79 FA A6 2.2831 000040E0 3C 80 7F FF 2.2832 000040E4 60 84 FF FF 2.2833 000040E8 74 63 00 04 2.2834 000040EC 7C 79 FB A6 andi. r0,r0,0 2.2835 000040F0 7C 00 04 AC addis r10,r0,0x0000 2.2836 addi r10,r10,0x01ff 2.2837 000040F4 64 63 00 20 2.2838 000040F8 7C 79 FB A6 addis r11,r0,0x0000 2.2839 addi r11,r11,0x52 2.2840 2.2841 000040FC 7C 00 04 AC mtibatu 1,r10 2.2842 00004100 7C 79 FA A6 mtibatl 1,r11 2.2843 00004104 70 63 00 01 2.2844 00004108 2C 03 00 01 mtdbatu 1,r10 2.2845 0000410C 41 82 FF F0 mtdbatl 1,r11 2.2846 2.2847 00004110 7C 00 04 AC bl data_translation_on 2.2848 00004114 3C 80 7F DF bl cache_activate 2.2849 00004118 60 84 FF FF 2.2850 0000411C 7C 79 FA A6 mtlr r4 2.2851 00004120 7C 63 20 38 2.2852 00004124 7C 79 FB A6 blr 2.2853 00004128 7C 00 04 AC #line 2814 2.2854 .text 2.2855 0000412C 4E 80 00 20 .align 2 2.2856 .global global_L2backside_invalidate 2.2869 2.2870 global_L2backside_invalidate: 2.2871 2.2872 mfspr r4, pvr 2.2873 srawi r3, r4, 16 2.2874 00004130 7C 00 04 AC cmpi 0,0,r3,0x8 2.2875 00004134 48 00 00 44 beq inval_L2Cache 2.2876 cmpi 0,0,r3,0xC Page 56 Line Address Opcode Source 2.2877 beq inval_L2Cache 2.2878 blr 2.2879 2.2880 inval_L2Cache: 2.2881 sync 2.2882 mfspr r3,l2cr 2.2883 00004138 70 00 00 00 lis r4,0x7FFF 2.2884 0000413C 7C 90 42 A6 ori r4,r4,0xFFFF 2.2885 00004140 2C 04 00 05 andis. r3,r3,r4 2.2886 00004144 41 82 00 10 mtspr l2cr,r3 2.2887 sync 2.2888 2.2889 oris r3, r3, 0x0020 2.2890 00004148 3C 60 25 42 mtspr l2cr, r3 2.2891 2.2892 invalidate_in_progress: 2.2893 sync 2.2894 mfspr r3, l2cr 2.2895 andi. r3, r3, 0x1 2.2896 cmpwi r3,0x1 2.2897 beq invalidate_in_progress 2.2898 2.2899 sync 2.2900 lis r4,0x7FDF 2.2901 ori r4,r4,0xFFFF 2.2902 0000414C 60 63 00 00 mfspr r3,l2cr 2.2903 and r3,r3,r4 2.2904 mtspr l2cr, r3 2.2905 sync 2.2906 00004150 48 00 00 28 2.2907 blr 2.2916 #line 2869 2.2917 00004154 7C 9F 42 A6 .text 2.2918 00004158 7C 83 86 70 .align 2 2.2919 0000415C 2C 03 00 08 .global init_L2backside_value 2.2920 00004160 41 82 00 10 2.2921 00004164 2C 03 00 0C init_L2backside_value: 2.2922 00004168 41 82 00 08 sync 2.2923 b init_L2_store 2.2924 0000416C 4E 80 00 20 2.2925 .text 2.2926 .align 2 2.2927 00004170 3C 60 3D 01 .global init_L2backside_cache 2.2928 2.2929 init_L2backside_cache: 2.2930 2.2931 andi. r0,r0,0 2.2932 mfspr r4, sprg0 2.2933 cmpi 0,0,r4,0x5 2.2934 beq init_L2_PPMC 2.2935 Page 57 Line Address Opcode Source 2.2936 2.2937 2.2938 addis r3,r0,0x2542 2.2939 00004174 60 63 40 00 2.2940 2.2941 2.2942 2.2943 2.2944 2.2945 00004178 7C 79 FB A6 2.2946 0000417C 7C 00 04 AC 2.2947 2.2953 00004180 7C 08 1B 78 2.2954 2.2955 00004184 7C 03 43 78 ori r3,r3,0x0000 2.2956 2.2957 2.2958 2.2959 00004188 64 63 80 00 b init_L2_store 2.2960 0000418C 7C 79 FB A6 #line 2916 2.2961 00004190 7C 00 04 AC init_L2_PPMC: 2.2962 mfspr r4, pvr 2.2963 00004194 4E 80 00 20 srawi r3, r4, 16 2.2964 cmpi 0,0,r3,0x8 2.2965 beq init_L2_PPMC_Cache 2.2966 cmpi 0,0,r3,0xC 2.2967 00004198 91 8A 00 00 beq init_L2_PPMC_Cache 2.2968 0000419C 39 4A 00 04 2.2969 000041A0 35 6B FF FC blr 2.2970 000041A4 40 82 FF F4 2.2971 000041A8 4E 80 00 20 init_L2_PPMC_Cache: 2.2972 addis r3,r0,0x3D01 2.2973 2.2974 2.2975 2.2976 000041AC 70 00 00 00 2.2977 000041B0 3D 40 00 01 2.2978 2.2979 2.2980 000041B4 35 4A FF FF 2.2981 000041B8 40 82 FF FC 2.2982 2.2983 000041BC 4E 80 00 20 2.2984 ori r3,r3,0x4000 2.2985 2.2986 2.2987 2.2988 2.2989 init_L2_store: 2.2990 mtspr l2cr, r3 2.2991 000041C0 70 00 00 00 sync Page 58 Line Address Opcode Source 2.2992 000041C4 3C 60 00 08 #line 2953 2.2993 000041C8 74 84 00 00 or r8,r0,r3 2.2994 000041CC 3C A0 00 08 2.2995 or r3,r0,r8 2.2996 2.2997 000041D0 7C 84 19 2E 2.2998 000041D4 38 84 00 20 2.2999 000041D8 7C 04 28 40 oris r3, r3, 0x8000 2.3000 000041DC 41 80 FF F4 mtspr l2cr, r3 2.3001 sync 2.3002 000041E0 7C 84 19 2E 2.3003 000041E4 4E 80 00 20 blr 2.3004 2.3005 2.3006 il2c_loop: 2.3007 stw r12,0x0(r10) 2.3008 addi r10,r10,0x4 2.3009 000041E8 7C 70 FA A6 addic. r11,r11,-0x4 2.3010 000041EC 3C 80 FF FF bne il2c_loop 2.3011 000041F0 60 84 3F FF blr 2.3012 000041F4 7C 63 20 38 2.3013 000041F8 7C 00 04 AC 2.3014 000041FC 7C 70 FB A6 ct_delay_loop: 2.3015 00004200 4C 00 01 2C 2.3016 00004204 7C 00 04 AC andi. r0,r0,0 2.3017 addis r10,r0,0x0001 2.3018 00004208 7C 60 00 A6 2.3019 0000420C 3C 80 FF FF ctdll: 2.3020 00004210 60 84 FF CF addic. r10,r10,-0x1 2.3021 00004214 7C 63 20 38 bne ctdll 2.3022 00004218 7C 60 01 24 2.3023 0000421C 4C 00 01 2C blr 2.3024 00004220 7C 00 04 AC 2.3025 2.3026 00004224 4B BF BE DC .text 2.3027 .align 2 2.3032 .global l2test 2.3033 2.3034 l2test: 2.3035 andi. r0, r0, 0 2.3036 addis r3, r0, 0x8 2.3037 00004228 7C 78 FB A6 andis. r4,r4,0 2.3038 0000422C 7C 00 04 AC addis r5, r0, 0x8 2.3039 2.3040 00004230 4E 80 00 20 loop: 2.3041 stwx r4, r4, r3 2.3048 addi r4, r4, 0x20 2.3049 cmpl cr0, r4, r5 2.3050 blt loop 2.3051 2.3052 stwx r4, r4, r3 Page 59 Line Address Opcode Source 2.3053 blr 2.3054 2.3055 .text 2.3056 .align 2 2.3057 .global simple_leap 2.3058 00004234 7C B6 FA A6 simple_leap: 2.3059 00004238 60 A7 00 00 mfspr r3,hid0 2.3060 addis r4,0,0xffff 2.3061 0000423C 3C C0 FF 7F ori r4,r4,0x3fff 2.3062 00004240 60 C6 FF FF and r3,r3,r4 2.3063 00004244 7C E7 30 38 sync 2.3064 mtspr hid0,r3 2.3065 00004248 3C C0 00 80 isync 2.3066 0000424C 7C A5 33 78 sync 2.3067 2.3068 00004250 7C 00 04 AC mfmsr r3 2.3069 00004254 7C F6 FB A6 addis r4,0,0xffff 2.3070 00004258 7C B6 FB A6 ori r4,r4,0xffcf 2.3071 0000425C 4C 00 01 2C and r3,r3,r4 2.3072 00004260 7C 00 04 AC mtmsr r3 2.3073 00004264 4E 80 00 20 isync 2.3074 sync 2.3081 2.3082 b 0xffc00100 2.3083 #line 3032 2.3084 .text 2.3085 .align 2 2.3086 00004268 3C 60 00 00 E .global init_L2DM 2.3087 0000426C 60 63 00 00 E 2.3088 00004270 80 A3 00 00 init_L2DM: 2.3089 00004274 7C 00 04 AC mtspr 1016,r3 2.3090 sync 2.3091 00004278 3C 60 00 00 E 2.3092 0000427C 60 63 00 00 E blr 2.3093 00004280 80 C3 00 00 #line 3048 2.3094 00004284 7C 00 04 AC .text 2.3095 .align 2 2.3096 00004288 3C 60 00 00 E .global flush_dcache_max 2.3097 0000428C 60 63 00 00 E 2.3098 00004290 80 E3 00 00 flush_dcache_max: 2.3099 00004294 7C 00 04 AC 2.3100 2.3101 00004298 60 E7 00 14 2.3102 0000429C 7C E0 2D 2C 2.3103 000042A0 7C 00 04 AC 2.3104 mfspr r5,msscr0 2.3105 000042A4 7C 60 34 2C ori r7,r5,0 2.3106 000042A8 7C 00 04 AC 2.3107 addis r6,0,C_dL1HWf 2.3108 000042AC 4E 80 00 20 ori r6,r6,0xFFFF 2.3109 and r7,r7,r6 Page 60 Line Address Opcode Source 2.3110 2.3120 addis r6,0,dL1HWf 2.3121 or r5,r5,r6 2.3122 2.3123 sync 2.3124 mtspr msscr0,r7 2.3125 000042B0 3C 60 00 00 E mtspr msscr0,r5 2.3126 000042B4 60 63 00 00 E isync 2.3127 000042B8 80 A3 00 00 sync 2.3128 000042BC 7C 00 04 AC blr 2.3129 #line 3081 2.3130 000042C0 3C 60 00 00 E .text 2.3131 000042C4 60 63 00 00 E .align 2 2.3132 000042C8 80 C3 00 00 .global get_kahlua_pcsrbar 2.3133 000042CC 7C 00 04 AC 2.3134 get_kahlua_pcsrbar: 2.3135 000042D0 3C 60 00 00 E lis r3,config_addr@h 2.3136 000042D4 60 63 00 00 E ori r3,r3,config_addr@l 2.3137 000042D8 80 E3 00 00 lwz r5,0(r3) 2.3138 000042DC 7C 00 04 AC sync 2.3139 2.3140 lis r3,config_data@h 2.3141 000042E0 60 E3 00 14 ori r3,r3,config_data@l 2.3142 000042E4 3C 80 FC 10 lwz r6,0(r3) 2.3143 sync 2.3144 2.3145 000042E8 7C 60 2D 2C lis r3,target_addr@h 2.3146 000042EC 7C 00 04 AC ori r3,r3,target_addr@l 2.3147 000042F0 7C 80 35 2C lwz r7,0(r3) 2.3148 000042F4 7C 00 04 AC sync 2.3149 2.3150 ori r7,r7,PCSRBAR 2.3151 stwbrx r7, 0, r5 2.3152 sync 2.3153 000042F8 60 E3 00 04 2.3154 000042FC 38 80 00 06 lwbrx r3, 0, r6 2.3155 sync 2.3156 00004300 7C 60 2D 2C 2.3157 00004304 7C 00 04 AC blr 2.3158 2.3159 00004308 7C 80 37 2C #line 3120 2.3160 0000430C 7C 00 04 AC .text 2.3161 .align 2 2.3162 .global config_kahlua_agent 2.3163 00004310 3C 60 00 01 2.3164 00004314 7C 69 03 A6 config_kahlua_agent: 2.3165 lis r3,config_addr@h 2.3166 ori r3,r3,config_addr@l 2.3167 00004318 42 00 00 00 lwz r5,0(r3) 2.3168 sync 2.3169 0000431C 4E 80 00 20 Page 61 Line Address Opcode Source 2.3170 lis r3,config_data@h 2.3176 ori r3,r3,config_data@l 2.3177 lwz r6,0(r3) 2.3178 sync 2.3179 2.3180 lis r3,target_addr@h 2.3181 00004320 7C 70 43 A6 ori r3,r3,target_addr@l 2.3182 00004324 7C 91 43 A6 lwz r7,0(r3) 2.3183 00004328 7C B2 43 A6 sync 2.3184 0000432C 7C D3 43 A6 2.3185 2.3186 00004330 3C 80 00 00 E ori r3,r7,PCSRBAR 2.3187 00004334 60 84 00 00 E lis r4,PCSRBARVAL 2.3188 00004338 80 A4 00 00 2.3189 0000433C 7C 00 04 AC 2.3190 stwbrx r3,0,r5 2.3191 00004340 3C 80 00 00 E sync 2.3192 00004344 60 84 00 00 E stwbrx r4,0,r6 2.3193 00004348 80 C4 00 00 sync 2.3194 0000434C 7C 00 04 AC 2.3195 2.3196 00004350 3C 80 80 00 2.3197 00004354 60 84 00 F0 2.3198 00004358 7C 80 2D 2C ori r3,r7,PCICMD 2.3199 0000435C 7C 00 04 AC li r4,0x0006 2.3200 00004360 7C 80 34 2C 2.3201 00004364 3C 60 FF F7 stwbrx r3,0,r5 2.3202 00004368 60 63 FF FF sync 2.3203 0000436C 7C 64 20 38 2.3204 00004370 7C 80 35 2C sthbrx r4,0,r6 2.3205 sync 2.3206 2.3207 2.3208 lis r3, 0x0001 2.3209 00004374 3C 80 01 10 mtctr r3 2.3210 00004378 7C 89 03 A6 2.3211 0000437C 42 00 00 00 wait_agent: 2.3212 bdnz wait_agent 2.3213 2.3214 blr 2.3215 #line 3176 2.3216 00004380 3C 80 80 00 .text 2.3217 00004384 60 84 00 FC .align 2 2.3218 00004388 7C 80 2D 2C .global mccr_update 2.3219 0000438C 7C 00 04 AC 2.3220 00004390 7C 80 34 2C mccr_update: 2.3221 mtspr sprg0,r3 2.3222 00004394 3C 60 FF FF mtspr sprg1,r4 2.3223 00004398 60 63 8F FF mtspr sprg2,r5 2.3224 mtspr sprg3,r6 2.3225 0000439C 7C 64 20 38 Page 62 Line Address Opcode Source 2.3226 lis r4,config_addr@h 2.3227 000043A0 7C 70 42 A6 ori r4,r4,config_addr@l 2.3228 000043A4 54 63 60 26 lwz r5,0(r4) 2.3229 sync 2.3230 000043A8 7C 64 23 78 2.3231 lis r4,config_data@h 2.3232 000043AC 7C 80 35 2C ori r4,r4,config_data@l 2.3233 lwz r6,0(r4) 2.3234 sync 2.3235 2.3236 lis r4,0x8000 2.3237 000043B0 3C 80 80 00 ori r4,r4,0x00F0 2.3238 000043B4 60 84 00 F8 stwbrx r4,0,r5 2.3239 000043B8 7C 80 2D 2C sync 2.3240 000043BC 7C 00 04 AC lwbrx r4,0,r6 2.3241 000043C0 7C 80 34 2C lis r3,0xfff7 2.3242 ori r3,r3,0xffff 2.3243 000043C4 3C 60 FF 0F and r4,r3,r4 2.3244 000043C8 60 63 FF FF stwbrx r4,0,r6 2.3245 000043CC 7C 64 20 38 2.3246 2.3247 000043D0 7C 70 42 A6 2.3248 000043D4 38 63 00 01 2.3249 lis r4,0x0110 2.3250 000043D8 54 63 A0 16 mtctr r4 2.3251 000043DC 7C 64 23 78 mu_wait1: bdnz mu_wait1 2.3252 2.3253 000043E0 7C 80 35 2C 2.3254 2.3255 2.3256 lis r4,0x8000 2.3257 ori r4,r4,0x00FC 2.3258 000043E4 3C 80 80 00 stwbrx r4,0,(r5) 2.3259 000043E8 60 84 00 F0 sync 2.3260 000043EC 7C 80 2D 2C lwbrx r4,0,(r6) 2.3261 000043F0 7C 00 04 AC 2.3262 lis r3,0xffff 2.3263 000043F4 7C 80 34 2C ori r3,r3,0x8fff 2.3264 000043F8 64 84 00 08 2.3265 000043FC 7C 80 35 2C and r4,r3,r4 2.3266 2.3267 mfspr r3,sprg0 2.3268 slwi r3,r3,12 2.3269 2.3270 00004400 3C 80 01 10 or r4,r3,r4 2.3271 00004404 7C 89 03 A6 2.3272 00004408 42 00 00 00 stwbrx r4,0,(r6) 2.3273 2.3274 0000440C 7C D2 42 A6 2.3275 00004410 7C B1 42 A6 2.3276 00004414 7C 90 42 A6 Page 63 Line Address Opcode Source 2.3277 00004418 4E 80 00 20 lis r4,0x8000 2.3278 ori r4,r4,0x00F8 2.3287 stwbrx r4,0,(r5) 2.3288 sync 2.3289 lwbrx r4,0,(r6) 2.3290 2.3291 lis r3,0xff0f 2.3292 00000000 00 00 00 00 ori r3,r3,0xffff 2.3293 and r4,r3,r4 2.3294 2.3295 mfspr r3,sprg0 2.3296 addi r3,r3,1 2.3297 00000004 00 00 00 00 2.3298 slwi r3,r3,20 2.3299 or r4,r3,r4 2.3300 2.3301 00000008 00 00 00 00 stwbrx r4,0,(r6) 2.3302 2.3303 2.3304 2.3305 0000000C 00 00 00 00 2.3306 lis r4,0x8000 2.3314 ori r4,r4,0x00F0 2.3315 stwbrx r4,0,(r5) 2.3316 00000010 00 00 00 00 sync 2.3317 2.3318 lwbrx r4,0,(r6) 2.3319 oris r4,r4,0x0008 2.3320 stwbrx r4,0,(r6) 2.3321 2.3322 00000014 00 00 00 00 2.3323 2.3324 2.3325 lis r4,0x0110 2.3326 mtctr r4 2.3327 mu_wait2: bdnz mu_wait2 2.3328 00000018 00 00 00 01 2.3329 mfspr r6,sprg2 2.3330 mfspr r5,sprg1 2.3331 mfspr r4,sprg0 2.3332 blr 2.3333 0000001C 00 00 00 00 #line 3287 2.3334 .data 2.3335 .align 2 2.3336 00000020 00 00 00 00 00 00 00 00 2.3337 temp_sprg0: 2.3338 .global temp_sprg0 2.3339 .long 0 2.3340 2.3341 00000028 00 00 00 00 Page 64 Line Address Opcode Source 2.3342 io_base_addr: 2.3343 .global io_base_addr 2.3344 .long 0 2.3345 0000002C 00 00 00 00 2.3346 config_addr: 2.3347 .global config_addr 2.3348 .long 0 2.3349 2.3350 00000030 00 00 00 00 config_data: 2.3351 .global config_data 2.3352 .long 0 2.3353 #line 3314 2.3354 board_type: 2.3355 00000034 00 00 00 00 .global board_type 2.3356 .long 0 2.3357 2.3358 2.3359 2.3360 00000038 00 00 00 00 target_type: 2.3361 .global target_type 2.3362 .long 0 2.3363 2.3364 0000003C 00 00 00 00 2.3365 2.3366 target_mode: 2.3367 .global target_mode 2.3368 .long 1 2.3369 2.3370 2.3371 00000040 00 00 00 00 target_addr: 2.3372 .global target_addr 2.3373 .long 0 2.3381 2.3382 float_0: 2.3383 00000044 00 00 00 00 .double 0 2.3384 2.3385 2.3386 temp_sprg1: 2.3387 00000048 00 00 00 00 .global temp_sprg1 2.3388 .long 0 2.3389 2.3390 temp_reg: 2.3391 .global temp_reg 2.3392 .long 0 2.3393 2.3394