Date: Fri, 21 Nov 2014 11:22:06 -0800 From: Neel Natu <neelnatu@gmail.com> To: Ashutosh Kumar <mrashutosh@hotmail.com> Cc: "freebsd-virtualization@freebsd.org" <freebsd-virtualization@freebsd.org> Subject: Re: 'repz' instruction not supported. Message-ID: <CAFgRE9GFuYQMcJOrQKjNbB1UFhFEYtWvnmGBwpfrLP=wN1FU7w@mail.gmail.com> In-Reply-To: <SNT150-W9ABC2BDA289ECE6910E56DF770@phx.gbl> References: <SNT150-W871C393630F3047CD01F1DF760@phx.gbl> <CAFgRE9F6MgjdMqz-kT3hvgB6YDwrxijoEVnGBFJfahK5mNpRrA@mail.gmail.com> <SNT150-W9ABC2BDA289ECE6910E56DF770@phx.gbl>
next in thread | previous in thread | raw e-mail | index | archive | help
Hi Ashutosh, On Fri, Nov 21, 2014 at 2:07 AM, Ashutosh Kumar <mrashutosh@hotmail.com> wr= ote: > Yes you are right 'repz' prefixes is added to the =E2=80=98cmps=E2=80=99 = and 'scas' > instructions. > > The actual opcode is =E2=80=9CF3 A5=E2=80=9D which is =E2=80=98rep movs= =E2=80=99 (disassembly is showing > =E2=80=98repz=E2=80=99). > > > > Yes the guest is emitting these instructions to access MMIO (local apic) > Bummer. I was hoping that it was a prefix stuck by the compiler for optimization (that could be ignored): http://repzret.org/p/repzret/ In any case, the primitives you will need to emulate MOVS exist in vmm_instruction_emul.c. I don't have any plans to work on this but would be happy to review/submit the patch that does the emulation. best Neel > > > Regards > Ashutosh > > >> Date: Fri, 21 Nov 2014 00:08:15 -0800 >> Subject: Re: 'repz' instruction not supported. >> From: neelnatu@gmail.com >> To: mrashutosh@hotmail.com >> CC: freebsd-virtualization@freebsd.org > >> >> Hi Ashutosh, >> >> On Wed, Nov 19, 2014 at 10:30 PM, Ashutosh Kumar <mrashutosh@hotmail.com= > >> wrote: >> > Hi >> > We have found that emulation of 'repz' instruction is not supported in >> > bhyve. This is causing VM_EXIT for Guest OS. Do we have plans to add s= upport >> > for instructions like 'repz'. >> > >> >> 'repz' is actually an instruction prefix. The two instructions with >> which 'repz' is allowed are 'cmps' and 'scas'. Both these instructions >> typically don't need to be emulated since they operate on strings in >> "regular" guest memory. >> >> Is your guest emitting these instructions to access MMIO? Can you >> share an objdump with the offending instructions? >> >> best >> Neel >> >> > RegardsAshutosh >> > _______________________________________________ >> > freebsd-virtualization@freebsd.org mailing list >> > http://lists.freebsd.org/mailman/listinfo/freebsd-virtualization >> > To unsubscribe, send any mail to >> > "freebsd-virtualization-unsubscribe@freebsd.org"
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAFgRE9GFuYQMcJOrQKjNbB1UFhFEYtWvnmGBwpfrLP=wN1FU7w>