[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [Bug] qemu-system-ppc: "invalid/unsupported opcode" dur
Re: [Qemu-devel] [Bug] qemu-system-ppc: "invalid/unsupported opcode" during debug session
Sun, 28 Feb 2010 14:02:33 +0000
KMail/1.12.4 (Linux/2.6.32-trunk-amd64; KDE/4.3.4; x86_64; ; )
> > invalid/unsupported opcode: 00 - 00 - 00 (00000000) 4800fa44 1
> I have fixed that in HEAD by stopping the translation just after a trap,
> as the instructions might never be executed.
> It is not a full fix, as the OS can actually use any instruction that
> always generate a trap (even a memory access) as an instruction barrier
> to make sure the following instructions are never executed. This
> actually affects all targets, but is unlikely to happen.
> One solution for that would be to only generate an exception for an
> unsupported instruction when it is the first instruction of a TB, and
> otherwise just end the translation before this instruction.
By my reading the code is correct. We end up calling gen_invalid which output
code to raise an invalid instruction exception. If earlier code faults at
runtime then that code is never executed, and everything is happy.
The real bug is that we have debugging printfs enabled by default.