On Tue, Dec 29, 2009 at 04:09:17PM +0100, Stefan Weil wrote:
> Test environment:
> 
> * ppc-softmmu/qemu-system-ppc running on x86_64 host
> * emulated ppc is running debian lenny
> 
> 
> 
> While debugging on the emulated ppc (each time when
> a shared library is loaded after "r" command?),
> qemu-system-ppc prints this error message:
> 
> 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.

-- 
Aurelien Jarno                          GPG: 1024D/F1BCDB73
aurel...@aurel32.net                 http://www.aurel32.net


Reply via email to