On Wed, Feb 03, 2016 at 03:36:52PM -0500, Programmingkid wrote:
Trying to write invalid spr 0 (0x000) at 00f113c0 Trying to read invalid spr 0 (0x000) at 00f113c8
This is normal (it's a 601 SPR, Mac OS always writes that, and it catches the CPU exception).
invalid/unsupported opcode: 1f - 07 - 02 (7c00488e) 00f113dc 0 invalid/unsupported opcode: 1f - 07 - 06 (7c00498e) 00f113e4 0
lvewx and stvewx, VMX insns, same thing.
Trying to write privileged spr 955 (0x3bb) at 00f168c8
SIAR
Trying to write invalid spr 959 (0x3bf) at 00f16930 Trying to read invalid spr 959 (0x3bf) at 00f16938
SDAR
Trying to write invalid spr 944 (0x3b0) at 00f1694c Trying to read invalid spr 944 (0x3b0) at 00f16954
MMCR2
etc. Don't worry about it.
invalid/unsupported opcode: 13 - 0a - 05 (4f434154) 009e1d10 1
'OCAT', now that is broken.
invalid/unsupported opcode: 00 - 00 - 00 (00c10000) 00000000 1 invalid/unsupported opcode: 00 - 00 - 00 (00c10000) 00000000 1 invalid/unsupported opcode: 00 - 00 - 00 (00000000) 008c0f14 1 invalid/unsupported opcode: 00 - 00 - 00 (00000000) 0421b81c 1
Primary opcode 0 is always invalid.
qemu: fatal: Trying to execute code outside RAM or ROM at 0xfdfdfdfc
NIP fdfdfdfc LR fdfdfdfd CTR ffcf0dcc XER 20000100 CPU#0
LR fdfdfdfd is not likely valid ;-) (the low two bits are masked when trying to actually jump there, as it did, so you get fdfdfdfc).
MSR 0000f032 HID0 00810000 HF 00006000 idx 0 TB 00000000 1615152802 DECR 00059059 GPR00 00000000fdfdfdfd 00000000ffe55000 000000000004d280 00000000ffffffff
It got it from r0, so probably from the usual epilogue sequence; looks like a corrupted stack.
GPR04 00000000ffffffff 00000000ffffffff 00000000f2ffc048 00000000f4ffc048 GPR08 0000000000ffc048 00000000f0ffc048 00000000ffffffff 00000000f6ffc048 GPR12 00000000fcffc048 0000000068fff400 0000000000004e94 000000000bb957ea GPR16 000000003f3f3f3f 0000000000000001 0000000053680000 0000000000000000 GPR20 0000000000000001 0000000000000005 000000000bb8d12c 0000000000006807 GPR24 000000000004ccf0 000000000bb8d130 0000000000084d38 00000000009d0eb8 GPR28 0000000000084d38 00000000ffffffff 00000000fdfdfdfd 000000000000fdfd
It is also in r30.
SRR0 fdfdfdfc SRR1 4000f032 PVR 00080301 VRSAVE 00000000 SPRG0 0fbfe000 SPRG1 ffe55000 SPRG2 fdfdfdfd SPRG3 0fbfe420
And in sprg2.
Is it possible the invalid/unsupported opcode errors are PowerPC instructions that are not implemented? Or do you think the processor is executing memory it should not be executing? The message "qemu: fatal: Trying to execute code outside RAM or ROM at 0xfdfdfdfc", was it shown when you used your patch? If it was then there is some kind of address calculation error possibly taking place.
Segher