On Tuesday 15 December 2009 08:54:04 pm Avi Kivity wrote:
> On 12/15/2009 08:48 PM, Clemens Kolbitsch wrote:
> > Hi list,
> >
> > I'm experiencing a strange emulation bug with the op-code below. The
> > instruction raises a segfault in the application (running on the guest),
> > however, if I enable KVM to run the exact same application, no segfault
> > is raised.
> >
> > 0x0080023b:       8b 04 65 11 22 33 44    mov regEAX, [0x44332211]
> >
> > where "11 22 33 44" is just some address. According to gdb (on a 32bit
> > little- endian machine), this instruction can be disassembled as a "mov
> > address to reg-eax".
> 
> This is an odd encoding for this instruction, since there is a shorter
> one possible (8b 05 11 22 33 44).  So it is possible there is a bug in
> qemu that has never been triggered because compilers/assemblers don't
> generate this encoding.
> 
> btw, binutils disassembles this as
> 
>    8b 04 65 11 22 33 44     mov    0x44332211(,%eiz,2),%eax
> 
> I guess %eiz is some mnemonic for a "zero register" so the assembly can
> be reassembled into a 7-byte instruction later.

Hi all,
thanks for the quick replies. I also saw that the instruction is disassembled 
to the above instruction, but did not want to complicate my problem 
description :)
Is there anything I can provide to help testing possible patches?
--Clemens


Reply via email to