Jiri & Avi: I attached the patched I did for movq and movdqa emulation. Please note: (1) I only implemented those two. Other instructions like addq may be following same way. (2) I use same guest_fx_image to hold value and fxsave/fxrstor to copy to/from registers. This is not very efficient I admit. Any suggestions let me know. Thanks! Wei Xu On 3/21/11 2:23 PM, "Wei Xu" <wexu2@xxxxxxxxx> wrote: > Avi and Jiri: > > I implemented emulation of movq(64bit) and movdqa(128 bit). If you guys still > need it let me know and I can post somewhere... > > Wei Xu > > > On 8/31/10 9:30 AM, "Avi Kivity" <avi@xxxxxxxxxx> wrote: > >> >> On 08/31/2010 06:49 PM, Avi Kivity wrote: >>> On 08/31/2010 05:32 PM, Jiri Kosina wrote: >>>> (qemu) x/5i $eip >>>> 0x00000000c027a841: movq (%esi),%mm0 >>>> 0x00000000c027a844: movq 0x8(%esi),%mm1 >>>> 0x00000000c027a848: movq 0x10(%esi),%mm2 >>>> 0x00000000c027a84c: movq 0x18(%esi),%mm3 >>>> 0x00000000c027a850: movq %mm0,(%edx) >>>> === >>>> >>>> Is there any issue with emulating MMX? >>>> >>> >>> Yes. MMX is not currently emulated. >>> >>> If there's a command line option to disable the use of MMX you can try >>> it, otherwise wait for it to be implemented (or implement it >>> yourself). I'll try to do it for 2.6.37, but can't promise anything. >> >> You can also run qemu with -cpu qemu32,-mmx. That will expose a cpu >> without mmx support; hopefully the guest kernel will see that and avoid >> mmx instructions.
Attachment:
mmx-kvm.patch
Description: Binary data
Attachment:
mmx-qemu.patch
Description: Binary data