From: Gwenole B. <gb...@di...> - 2003-04-12 11:34:31
|
Hi, I finally found out why SheepShaver no longer worked for me on earlier systems. It turns out kernel is finally generating bus errors on unaligned accesses (e.g. through stmw instructionts). Indeed, I got this while booting MacOS 8.1: SIGSEGV pc 40a4f9dc lr 40a4a0cc ctr 40a4a078 msr 0000d032 xer 00000000 cr 44000441 r0 00000000 r1 20bf7eb0 r2 20186a68 r3 202d6c4e r4 20000a98 r5 40a4a0cc r6 44000441 r7 201862e8 r8 201869a8 r9 202d6970 r10 20186828 r11 20186c60 r12 201868e8 r13 1008e380 r14 2000042c r15 0000004b r16 2000042c r17 20187570 r18 73637269 r19 408187ce r20 000007d2 r21 00000000 r22 00000816 r23 000007d2 r24 202c7a60 r25 00000000 r26 20000428 r27 201fa5e0 r28 202d69b8 r29 00000001 r30 202d6a3c r31 202d6970 Welcome to the sheep factory. 40a4f9c4: 7ca802a6 mflr r5 40a4f9c8: 7cc00026 mfcr r6 40a4f9cc: 90a30000 stw r5,$0000(r3) 40a4f9d0: 90c30004 stw r6,$0004(r3) 40a4f9d4: 90230008 stw r1,$0008(r3) 40a4f9d8: 9043000c stw r2,$000c(r3) 40a4f9dc: bda30014 stmw r13,$0014(r3) 40a4f9e0: fc00048e mffs fr0 40a4f9e4: d9c30060 stfd fr14,$0060(r3) 40a4f9e8: d9e30068 stfd fr15,$0068(r3) 40a4f9ec: da030070 stfd fr16,$0070(r3) 40a4f9f0: da230078 stfd fr17,$0078(r3) 40a4f9f4: da430080 stfd fr18,$0080(r3) 40a4f9f8: da630088 stfd fr19,$0088(r3) 40a4f9fc: da830090 stfd fr20,$0090(r3) And EA is not aligned on 4-byte boundaries as stmw requests. I don't know why it's so "recently". The workaround is to hook the sigsegv_handler to SIGBUS and set ignoresegv to true in the prefs file. Is it OK with you? The same error probably prevented from running MacOS 8.6 too. Does someone know why r3 contents is unaligned? Bye, Gwenole. |