From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1K5czb-0002Xy-S8 for qemu-devel@nongnu.org; Mon, 09 Jun 2008 04:44:44 -0400 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1K5czX-0002Wj-7a for qemu-devel@nongnu.org; Mon, 09 Jun 2008 04:44:42 -0400 Received: from [199.232.76.173] (port=42466 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1K5czT-0002W2-Dl for qemu-devel@nongnu.org; Mon, 09 Jun 2008 04:44:37 -0400 Received: from relay01.mx.bawue.net ([193.7.176.67]:51474) by monty-python.gnu.org with esmtps (TLS-1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.60) (envelope-from ) id 1K5czS-0005V0-Uk for qemu-devel@nongnu.org; Mon, 09 Jun 2008 04:44:35 -0400 Date: Mon, 9 Jun 2008 09:44:30 +0100 From: Thiemo Seufer Subject: Re: [Qemu-devel] [4707] Add -mlongcall for PPC host (needed for MIPS for instance) Message-ID: <20080609084429.GD11233@networkno.de> References: MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: Reply-To: qemu-devel@nongnu.org List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: malc Cc: qemu-devel@nongnu.org malc wrote: > Revision: 4707 > http://svn.sv.gnu.org/viewvc/?view=rev&root=qemu&revision=4707 > Author: malc > Date: 2008-06-09 06:06:30 +0000 (Mon, 09 Jun 2008) > > Log Message: > ----------- > Add -mlongcall for PPC host (needed for MIPS for instance) With this change MIPS survives a lot longer, thanks. :-) It still fails lateron, apparently in the MIPS ERET instruction, where it incorrectly sees an EPC value of 0xffffffff. In the immediately preceeding register dump the EPC value is still correct. Thiemo [...] pc=0x80101df8 HI=0x103be3fc LO=0x103be44c ds 0090 80101ce4 1 GPR00: r0 00000000 at 1000a401 v0 1000a403 v1 ffff00ff GPR04: a0 0000a400 a1 8048fa40 a2 00000001 a3 ffffffdf GPR08: t0 00000000 t1 00989680 t2 00000000 t3 01312d00 GPR12: t4 81101030 t5 00000001 t6 0098963a t7 2733de80 GPR16: s0 00000042 s1 00c3f000 s2 804c6e3c s3 0000000a GPR20: s4 804c800c s5 804d82c0 s6 8048f040 s7 804c0000 GPR24: t8 00004000 t9 8010bbf0 k0 80473e90 k1 80473e90 GPR28: gp 80472000 sp 80473de0 s8 804d0000 ra 80101ce4 CP0 Status 0x1000a403 Cause 0x40808400 EPC 0x80130efc Config0 0x80008483 Config1 0x9e190c8b LLAddr 0x81102240 IN: 0x80101df8: lw v1,172(sp) 0x80101dfc: mtc0 v1,$14 0x80101e00: lw ra,148(sp) 0x80101e04: lw gp,136(sp) 0x80101e08: lw t9,124(sp) 0x80101e0c: lw a3,52(sp) 0x80101e10: lw a2,48(sp) 0x80101e14: lw a1,44(sp) 0x80101e18: lw a0,40(sp) 0x80101e1c: lw v1,36(sp) 0x80101e20: lw v0,32(sp) 0x80101e24: lw sp,140(sp) 0x80101e28: eret ---------------- 3 00000090 OP: ld_i32 T0,current_tc_gprs,$0x74 movi_i32 T1,$0xac add_i32 T0,T0,T1 qemu_ld32u T0,T0,$0x0 st_i32 T0,current_tc_gprs,$0xc ld_i32 T0,current_tc_gprs,$0xc movi_i32 tmp0,$0x80101dfc ld_i32 tmp1,env,$0x924 movi_i32 tmp4,$0x4 mul_i32 tmp1,tmp1,tmp4 mov_i32 tmp2,tmp1 add_i32 tmp3,env,tmp2 st_i32 tmp0,tmp3,$0x800 mov_i32 tmp5,T0 movi_i32 tmp0,$0x1f sar_i32 tmp6,tmp5,tmp0 st_i32 tmp6,env,$0xa44 st_i32 tmp5,env,$0xa48 ld_i32 T0,current_tc_gprs,$0x74 movi_i32 T1,$0x94 add_i32 T0,T0,T1 qemu_ld32u T0,T0,$0x0 st_i32 T0,current_tc_gprs,$0x7c ld_i32 T0,current_tc_gprs,$0x74 movi_i32 T1,$0x88 add_i32 T0,T0,T1 qemu_ld32u T0,T0,$0x0 st_i32 T0,current_tc_gprs,$0x70 ld_i32 T0,current_tc_gprs,$0x74 movi_i32 T1,$0x7c add_i32 T0,T0,T1 qemu_ld32u T0,T0,$0x0 st_i32 T0,current_tc_gprs,$0x64 ld_i32 T0,current_tc_gprs,$0x74 movi_i32 T1,$0x34 add_i32 T0,T0,T1 qemu_ld32u T0,T0,$0x0 st_i32 T0,current_tc_gprs,$0x1c ld_i32 T0,current_tc_gprs,$0x74 movi_i32 T1,$0x30 add_i32 T0,T0,T1 qemu_ld32u T0,T0,$0x0 st_i32 T0,current_tc_gprs,$0x18 ld_i32 T0,current_tc_gprs,$0x74 movi_i32 T1,$0x2c add_i32 T0,T0,T1 qemu_ld32u T0,T0,$0x0 st_i32 T0,current_tc_gprs,$0x14 ld_i32 T0,current_tc_gprs,$0x74 movi_i32 T1,$0x28 add_i32 T0,T0,T1 qemu_ld32u T0,T0,$0x0 st_i32 T0,current_tc_gprs,$0x10 ld_i32 T0,current_tc_gprs,$0x74 movi_i32 T1,$0x24 add_i32 T0,T0,T1 qemu_ld32u T0,T0,$0x0 st_i32 T0,current_tc_gprs,$0xc ld_i32 T0,current_tc_gprs,$0x74 movi_i32 T1,$0x20 add_i32 T0,T0,T1 qemu_ld32u T0,T0,$0x0 st_i32 T0,current_tc_gprs,$0x8 ld_i32 T0,current_tc_gprs,$0x74 movi_i32 T1,$0x8c add_i32 T0,T0,T1 qemu_ld32u T0,T0,$0x0 st_i32 T0,current_tc_gprs,$0x74 movi_i32 tmp0,$0x80101e28 ld_i32 tmp3,env,$0x924 movi_i32 tmp4,$0x4 mul_i32 tmp3,tmp3,tmp4 mov_i32 tmp2,tmp3 add_i32 tmp1,env,tmp2 st_i32 tmp0,tmp1,$0x800 eret movi_i32 tmp0,$do_interrupt_restart call tmp0,$0x0,$0 exit_tb $0x0 OP after la: ld_i32 T0,current_tc_gprs,$0x74 movi_i32 T1,$0xac add_i32 T0,T0,T1 qemu_ld32u T0,T0,$0x0 st_i32 T0,current_tc_gprs,$0xc ld_i32 T0,current_tc_gprs,$0xc movi_i32 tmp0,$0x80101dfc ld_i32 tmp1,env,$0x924 movi_i32 tmp4,$0x4 mul_i32 tmp1,tmp1,tmp4 mov_i32 tmp2,tmp1 add_i32 tmp3,env,tmp2 st_i32 tmp0,tmp3,$0x800 mov_i32 tmp5,T0 movi_i32 tmp0,$0x1f sar_i32 tmp6,tmp5,tmp0 st_i32 tmp6,env,$0xa44 st_i32 tmp5,env,$0xa48 ld_i32 T0,current_tc_gprs,$0x74 movi_i32 T1,$0x94 add_i32 T0,T0,T1 qemu_ld32u T0,T0,$0x0 st_i32 T0,current_tc_gprs,$0x7c ld_i32 T0,current_tc_gprs,$0x74 movi_i32 T1,$0x88 add_i32 T0,T0,T1 qemu_ld32u T0,T0,$0x0 st_i32 T0,current_tc_gprs,$0x70 ld_i32 T0,current_tc_gprs,$0x74 movi_i32 T1,$0x7c add_i32 T0,T0,T1 qemu_ld32u T0,T0,$0x0 st_i32 T0,current_tc_gprs,$0x64 ld_i32 T0,current_tc_gprs,$0x74 movi_i32 T1,$0x34 add_i32 T0,T0,T1 qemu_ld32u T0,T0,$0x0 st_i32 T0,current_tc_gprs,$0x1c ld_i32 T0,current_tc_gprs,$0x74 movi_i32 T1,$0x30 add_i32 T0,T0,T1 qemu_ld32u T0,T0,$0x0 st_i32 T0,current_tc_gprs,$0x18 ld_i32 T0,current_tc_gprs,$0x74 movi_i32 T1,$0x2c add_i32 T0,T0,T1 qemu_ld32u T0,T0,$0x0 st_i32 T0,current_tc_gprs,$0x14 ld_i32 T0,current_tc_gprs,$0x74 movi_i32 T1,$0x28 add_i32 T0,T0,T1 qemu_ld32u T0,T0,$0x0 st_i32 T0,current_tc_gprs,$0x10 ld_i32 T0,current_tc_gprs,$0x74 movi_i32 T1,$0x24 add_i32 T0,T0,T1 qemu_ld32u T0,T0,$0x0 st_i32 T0,current_tc_gprs,$0xc ld_i32 T0,current_tc_gprs,$0x74 movi_i32 T1,$0x20 add_i32 T0,T0,T1 qemu_ld32u T0,T0,$0x0 st_i32 T0,current_tc_gprs,$0x8 ld_i32 T0,current_tc_gprs,$0x74 movi_i32 T1,$0x8c add_i32 T0,T0,T1 qemu_ld32u T0,T0,$0x0 st_i32 T0,current_tc_gprs,$0x74 movi_i32 tmp0,$0x80101e28 ld_i32 tmp3,env,$0x924 movi_i32 tmp4,$0x4 mul_i32 tmp3,tmp3,tmp4 mov_i32 tmp2,tmp3 add_i32 tmp1,env,tmp2 st_i32 tmp0,tmp1,$0x800 eret movi_i32 tmp0,$do_interrupt_restart call tmp0,$0x0,$0 exit_tb $0x0 end OUT: [size=1500] 0x50cfe340: lwz r3,2344(r27) 0x50cfe344: lwz r24,116(r3) 0x50cfe348: li r25,172 0x50cfe34c: add r24,r24,r25 0x50cfe350: rlwinm r3,r24,25,19,26 0x50cfe354: add r3,r3,r27 0x50cfe358: lwzu r4,2856(r3) 0x50cfe35c: rlwinm r0,r24,0,30,19 0x50cfe360: cmpw cr7,r0,r4 0x50cfe364: beq cr7,50CFE388 0x50cfe368: mr r3,r24 0x50cfe36c: li r4,0 0x50cfe370: lis r0,4113 0x50cfe374: ori r0,r0,56920 0x50cfe378: mtctr r0 0x50cfe37c: bctrl 0x50cfe380: mr r24,r3 0x50cfe384: b 50CFE394 0x50cfe388: lwz r3,20(r3) 0x50cfe38c: add r3,r3,r24 0x50cfe390: lwz r24,0(r3) 0x50cfe394: lwz r3,2344(r27) 0x50cfe398: stw r24,12(r3) 0x50cfe39c: lwz r24,12(r3) 0x50cfe3a0: lwz r4,2340(r27) 0x50cfe3a4: mulli r4,r4,4 0x50cfe3a8: add r4,r27,r4 0x50cfe3ac: lis r5,-32752 0x50cfe3b0: ori r5,r5,7676 0x50cfe3b4: stw r5,2048(r4) 0x50cfe3b8: mr r4,r24 0x50cfe3bc: srawi r5,r4,31 0x50cfe3c0: stw r5,2628(r27) 0x50cfe3c4: stw r4,2632(r27) 0x50cfe3c8: lwz r24,116(r3) 0x50cfe3cc: li r25,148 0x50cfe3d0: add r24,r24,r25 0x50cfe3d4: rlwinm r3,r24,25,19,26 0x50cfe3d8: add r3,r3,r27 0x50cfe3dc: lwzu r4,2856(r3) 0x50cfe3e0: rlwinm r0,r24,0,30,19 0x50cfe3e4: cmpw cr7,r0,r4 0x50cfe3e8: beq cr7,50CFE40C 0x50cfe3ec: mr r3,r24 0x50cfe3f0: li r4,0 0x50cfe3f4: lis r0,4113 0x50cfe3f8: ori r0,r0,56920 0x50cfe3fc: mtctr r0 0x50cfe400: bctrl 0x50cfe404: mr r24,r3 0x50cfe408: b 50CFE418 0x50cfe40c: lwz r3,20(r3) 0x50cfe410: add r3,r3,r24 0x50cfe414: lwz r24,0(r3) 0x50cfe418: lwz r3,2344(r27) 0x50cfe41c: stw r24,124(r3) 0x50cfe420: lwz r24,116(r3) 0x50cfe424: li r25,136 0x50cfe428: add r24,r24,r25 0x50cfe42c: rlwinm r3,r24,25,19,26 0x50cfe430: add r3,r3,r27 0x50cfe434: lwzu r4,2856(r3) 0x50cfe438: rlwinm r0,r24,0,30,19 0x50cfe43c: cmpw cr7,r0,r4 0x50cfe440: beq cr7,50CFE464 0x50cfe444: mr r3,r24 0x50cfe448: li r4,0 0x50cfe44c: lis r0,4113 0x50cfe450: ori r0,r0,56920 0x50cfe454: mtctr r0 0x50cfe458: bctrl 0x50cfe45c: mr r24,r3 0x50cfe460: b 50CFE470 0x50cfe464: lwz r3,20(r3) 0x50cfe468: add r3,r3,r24 0x50cfe46c: lwz r24,0(r3) 0x50cfe470: lwz r3,2344(r27) 0x50cfe474: stw r24,112(r3) 0x50cfe478: lwz r24,116(r3) 0x50cfe47c: li r25,124 0x50cfe480: add r24,r24,r25 0x50cfe484: rlwinm r3,r24,25,19,26 0x50cfe488: add r3,r3,r27 0x50cfe48c: lwzu r4,2856(r3) 0x50cfe490: rlwinm r0,r24,0,30,19 0x50cfe494: cmpw cr7,r0,r4 0x50cfe498: beq cr7,50CFE4BC 0x50cfe49c: mr r3,r24 0x50cfe4a0: li r4,0 0x50cfe4a4: lis r0,4113 0x50cfe4a8: ori r0,r0,56920 0x50cfe4ac: mtctr r0 0x50cfe4b0: bctrl 0x50cfe4b4: mr r24,r3 0x50cfe4b8: b 50CFE4C8 0x50cfe4bc: lwz r3,20(r3) 0x50cfe4c0: add r3,r3,r24 0x50cfe4c4: lwz r24,0(r3) 0x50cfe4c8: lwz r3,2344(r27) 0x50cfe4cc: stw r24,100(r3) 0x50cfe4d0: lwz r24,116(r3) 0x50cfe4d4: li r25,52 0x50cfe4d8: add r24,r24,r25 0x50cfe4dc: rlwinm r3,r24,25,19,26 0x50cfe4e0: add r3,r3,r27 0x50cfe4e4: lwzu r4,2856(r3) 0x50cfe4e8: rlwinm r0,r24,0,30,19 0x50cfe4ec: cmpw cr7,r0,r4 0x50cfe4f0: beq cr7,50CFE514 0x50cfe4f4: mr r3,r24 0x50cfe4f8: li r4,0 0x50cfe4fc: lis r0,4113 0x50cfe500: ori r0,r0,56920 0x50cfe504: mtctr r0 0x50cfe508: bctrl 0x50cfe50c: mr r24,r3 0x50cfe510: b 50CFE520 0x50cfe514: lwz r3,20(r3) 0x50cfe518: add r3,r3,r24 0x50cfe51c: lwz r24,0(r3) 0x50cfe520: lwz r3,2344(r27) 0x50cfe524: stw r24,28(r3) 0x50cfe528: lwz r24,116(r3) 0x50cfe52c: li r25,48 0x50cfe530: add r24,r24,r25 0x50cfe534: rlwinm r3,r24,25,19,26 0x50cfe538: add r3,r3,r27 0x50cfe53c: lwzu r4,2856(r3) 0x50cfe540: rlwinm r0,r24,0,30,19 0x50cfe544: cmpw cr7,r0,r4 0x50cfe548: beq cr7,50CFE56C 0x50cfe54c: mr r3,r24 0x50cfe550: li r4,0 0x50cfe554: lis r0,4113 0x50cfe558: ori r0,r0,56920 0x50cfe55c: mtctr r0 0x50cfe560: bctrl 0x50cfe564: mr r24,r3 0x50cfe568: b 50CFE578 0x50cfe56c: lwz r3,20(r3) 0x50cfe570: add r3,r3,r24 0x50cfe574: lwz r24,0(r3) 0x50cfe578: lwz r3,2344(r27) 0x50cfe57c: stw r24,24(r3) 0x50cfe580: lwz r24,116(r3) 0x50cfe584: li r25,44 0x50cfe588: add r24,r24,r25 0x50cfe58c: rlwinm r3,r24,25,19,26 0x50cfe590: add r3,r3,r27 0x50cfe594: lwzu r4,2856(r3) 0x50cfe598: rlwinm r0,r24,0,30,19 0x50cfe59c: cmpw cr7,r0,r4 0x50cfe5a0: beq cr7,50CFE5C4 0x50cfe5a4: mr r3,r24 0x50cfe5a8: li r4,0 0x50cfe5ac: lis r0,4113 0x50cfe5b0: ori r0,r0,56920 0x50cfe5b4: mtctr r0 0x50cfe5b8: bctrl 0x50cfe5bc: mr r24,r3 0x50cfe5c0: b 50CFE5D0 0x50cfe5c4: lwz r3,20(r3) 0x50cfe5c8: add r3,r3,r24 0x50cfe5cc: lwz r24,0(r3) 0x50cfe5d0: lwz r3,2344(r27) 0x50cfe5d4: stw r24,20(r3) 0x50cfe5d8: lwz r24,116(r3) 0x50cfe5dc: li r25,40 0x50cfe5e0: add r24,r24,r25 0x50cfe5e4: rlwinm r3,r24,25,19,26 0x50cfe5e8: add r3,r3,r27 0x50cfe5ec: lwzu r4,2856(r3) 0x50cfe5f0: rlwinm r0,r24,0,30,19 0x50cfe5f4: cmpw cr7,r0,r4 0x50cfe5f8: beq cr7,50CFE61C 0x50cfe5fc: mr r3,r24 0x50cfe600: li r4,0 0x50cfe604: lis r0,4113 0x50cfe608: ori r0,r0,56920 0x50cfe60c: mtctr r0 0x50cfe610: bctrl 0x50cfe614: mr r24,r3 0x50cfe618: b 50CFE628 0x50cfe61c: lwz r3,20(r3) 0x50cfe620: add r3,r3,r24 0x50cfe624: lwz r24,0(r3) 0x50cfe628: lwz r3,2344(r27) 0x50cfe62c: stw r24,16(r3) 0x50cfe630: lwz r24,116(r3) 0x50cfe634: li r25,36 0x50cfe638: add r24,r24,r25 0x50cfe63c: rlwinm r3,r24,25,19,26 0x50cfe640: add r3,r3,r27 0x50cfe644: lwzu r4,2856(r3) 0x50cfe648: rlwinm r0,r24,0,30,19 0x50cfe64c: cmpw cr7,r0,r4 0x50cfe650: beq cr7,50CFE674 0x50cfe654: mr r3,r24 0x50cfe658: li r4,0 0x50cfe65c: lis r0,4113 0x50cfe660: ori r0,r0,56920 0x50cfe664: mtctr r0 0x50cfe668: bctrl 0x50cfe66c: mr r24,r3 0x50cfe670: b 50CFE680 0x50cfe674: lwz r3,20(r3) 0x50cfe678: add r3,r3,r24 0x50cfe67c: lwz r24,0(r3) 0x50cfe680: lwz r3,2344(r27) 0x50cfe684: stw r24,12(r3) 0x50cfe688: lwz r24,116(r3) 0x50cfe68c: li r25,32 0x50cfe690: add r24,r24,r25 0x50cfe694: rlwinm r3,r24,25,19,26 0x50cfe698: add r3,r3,r27 0x50cfe69c: lwzu r4,2856(r3) 0x50cfe6a0: rlwinm r0,r24,0,30,19 0x50cfe6a4: cmpw cr7,r0,r4 0x50cfe6a8: beq cr7,50CFE6CC 0x50cfe6ac: mr r3,r24 0x50cfe6b0: li r4,0 0x50cfe6b4: lis r0,4113 0x50cfe6b8: ori r0,r0,56920 0x50cfe6bc: mtctr r0 0x50cfe6c0: bctrl 0x50cfe6c4: mr r24,r3 0x50cfe6c8: b 50CFE6D8 0x50cfe6cc: lwz r3,20(r3) 0x50cfe6d0: add r3,r3,r24 0x50cfe6d4: lwz r24,0(r3) 0x50cfe6d8: lwz r3,2344(r27) 0x50cfe6dc: stw r24,8(r3) 0x50cfe6e0: lwz r24,116(r3) 0x50cfe6e4: li r25,140 0x50cfe6e8: add r24,r24,r25 0x50cfe6ec: rlwinm r3,r24,25,19,26 0x50cfe6f0: add r3,r3,r27 0x50cfe6f4: lwzu r4,2856(r3) 0x50cfe6f8: rlwinm r0,r24,0,30,19 0x50cfe6fc: cmpw cr7,r0,r4 0x50cfe700: beq cr7,50CFE724 0x50cfe704: mr r3,r24 0x50cfe708: li r4,0 0x50cfe70c: lis r0,4113 0x50cfe710: ori r0,r0,56920 0x50cfe714: mtctr r0 0x50cfe718: bctrl 0x50cfe71c: mr r24,r3 0x50cfe720: b 50CFE730 0x50cfe724: lwz r3,20(r3) 0x50cfe728: add r3,r3,r24 0x50cfe72c: lwz r24,0(r3) 0x50cfe730: lwz r3,2344(r27) 0x50cfe734: stw r24,116(r3) 0x50cfe738: lwz r4,2340(r27) 0x50cfe73c: mulli r4,r4,4 0x50cfe740: add r4,r27,r4 0x50cfe744: lis r5,-32752 0x50cfe748: ori r5,r5,7720 0x50cfe74c: stw r5,2048(r4) 0x50cfe750: mflr r0 0x50cfe754: stwu r1,-16(r1) 0x50cfe758: lis r9,4122 0x50cfe75c: stw r0,20(r1) 0x50cfe760: lwz r0,-500(r9) 0x50cfe764: andi. r9,r0,32 0x50cfe768: beq+ 50CFE77C 0x50cfe76c: lis r9,4114 0x50cfe770: addi r9,r9,-13244 0x50cfe774: mtctr r9 0x50cfe778: bctrl 0x50cfe77c: lwz r0,2608(r27) 0x50cfe780: andi. r9,r0,4 0x50cfe784: beq 50CFE7A8 0x50cfe788: lwz r9,2340(r27) 0x50cfe78c: rlwinm r0,r0,0,30,28 0x50cfe790: lwz r11,2788(r27) 0x50cfe794: rlwinm r9,r9,2,0,29 0x50cfe798: stw r0,2608(r27) 0x50cfe79c: add r9,r9,r27 0x50cfe7a0: stw r11,2048(r9) 0x50cfe7a4: b 50CFE7C8 0x50cfe7a8: lwz r9,2340(r27) 0x50cfe7ac: lwz r0,2608(r27) 0x50cfe7b0: rlwinm r9,r9,2,0,29 0x50cfe7b4: lwz r11,2628(r27) 0x50cfe7b8: rlwinm r0,r0,0,31,29 0x50cfe7bc: add r9,r9,r27 0x50cfe7c0: stw r11,2048(r9) 0x50cfe7c4: stw r0,2608(r27) 0x50cfe7c8: lwz r9,2608(r27) 0x50cfe7cc: mr r11,r27 0x50cfe7d0: lwz r10,2808(r27) 0x50cfe7d4: andi. r0,r9,2 0x50cfe7d8: li r0,-252 0x50cfe7dc: and r8,r10,r0 0x50cfe7e0: stw r8,2808(r27) 0x50cfe7e4: bne 50CFE804 0x50cfe7e8: andi. r0,r9,4 0x50cfe7ec: bne 50CFE804 0x50cfe7f0: andi. r0,r10,4 0x50cfe7f4: bne 50CFE804 0x50cfe7f8: rlwinm r0,r9,29,30,31 0x50cfe7fc: or r0,r8,r0 0x50cfe800: stw r0,2808(r27) 0x50cfe804: lwz r0,2608(r11) 0x50cfe808: andis. r9,r0,4096 0x50cfe80c: bne 50CFE81C 0x50cfe810: lwz r0,2808(r11) 0x50cfe814: andi. r9,r0,3 0x50cfe818: bne 50CFE828 0x50cfe81c: lwz r0,2808(r11) 0x50cfe820: ori r0,r0,16 0x50cfe824: stw r0,2808(r11) 0x50cfe828: lwz r0,2608(r11) 0x50cfe82c: andis. r9,r0,8192 0x50cfe830: beq 50CFE840 0x50cfe834: lwz r0,2808(r11) 0x50cfe838: ori r0,r0,32 0x50cfe83c: stw r0,2808(r11) 0x50cfe840: lwz r0,2608(r11) 0x50cfe844: andis. r9,r0,1024 0x50cfe848: beq 50CFE858 0x50cfe84c: lwz r0,2808(r11) 0x50cfe850: ori r0,r0,64 0x50cfe854: stw r0,2808(r11) 0x50cfe858: lwz r0,2836(r11) 0x50cfe85c: andi. r9,r0,64 0x50cfe860: beq 50CFE884 0x50cfe864: lwz r9,2336(r11) 0x50cfe868: lwz r0,284(r9) 0x50cfe86c: andis. r9,r0,64 0x50cfe870: beq 50CFE8C4 0x50cfe874: lwz r0,2808(r11) 0x50cfe878: ori r0,r0,128 0x50cfe87c: stw r0,2808(r11) 0x50cfe880: b 50CFE8C4 0x50cfe884: andi. r9,r0,32 0x50cfe888: beq 50CFE8A4 0x50cfe88c: lwz r0,2808(r11) 0x50cfe890: andi. r9,r0,8 0x50cfe894: beq 50CFE8C4 0x50cfe898: ori r0,r0,128 0x50cfe89c: stw r0,2808(r11) 0x50cfe8a0: b 50CFE8C4 0x50cfe8a4: andi. r9,r0,8 0x50cfe8a8: beq 50CFE8C4 0x50cfe8ac: lwz r0,2608(r11) 0x50cfe8b0: cmpwi cr7,r0,0 0x50cfe8b4: bge+ cr7,50CFE8C4 0x50cfe8b8: lwz r0,2808(r11) 0x50cfe8bc: ori r0,r0,128 0x50cfe8c0: stw r0,2808(r11) 0x50cfe8c4: lis r9,4122 0x50cfe8c8: lwz r0,-500(r9) 0x50cfe8cc: andi. r9,r0,32 0x50cfe8d0: beq+ 50CFE8E4 0x50cfe8d4: lis r9,4114 0x50cfe8d8: addi r9,r9,-13028 0x50cfe8dc: mtctr r9 0x50cfe8e0: bctrl 0x50cfe8e4: li r0,1 0x50cfe8e8: stw r0,2664(r27) 0x50cfe8ec: lwz r0,20(r1) 0x50cfe8f0: addi r1,r1,16 0x50cfe8f4: mtlr r0 0x50cfe8f8: lis r0,4113 0x50cfe8fc: ori r0,r0,47020 0x50cfe900: mtctr r0 0x50cfe904: bctrl 0x50cfe908: li r3,0 0x50cfe90c: lis r0,4151 0x50cfe910: ori r0,r0,61104 0x50cfe914: mtctr r0 0x50cfe918: bctr ERET: PC 80101e28 EPC ffffffff => PC ffffffff EPC ffffffff