Re: [PATCH] KVM: X86: Add mmx movq emulation

From: Joerg Roedel
Date: Mon May 07 2012 - 04:56:11 EST


On Sun, May 06, 2012 at 01:08:05PM +0300, Avi Kivity wrote:
> On 05/04/2012 02:47 PM, Joerg Roedel wrote:
> > Add support to the MMX versions of the movq instructions to
> > the instruction emulator. Also handle possible exceptions
> > they may cause.
>
> This is already in (cbe2c9d30, e59717550e). Are you looking at master
> instead of next?

Right, I was looking at master. Probably I should have re-read your mail
about the new git workflow.

> Since you've just thought of the issues involved, I'd appreciate a
> review of the commits above, both wrt correctness and
> maintainability.

The patches above look correct to me. In fact cbe2c9d30 is more general
than my implementation because it fetches all possible mmx operands.

My implementation on the other side should be a bit faster because it
looks for FP exceptions directly when the registers are accessed which
saves one get_fpu/put_fpu cycle (and an fwait instruction).

> In fact I already see one difference - my patches do reg &= 7, while
> your patches generate #UD for %mm8-%mm15.

Your version is correct. Documentation says that REX-prefixes are
ignored where not supported or misplaced. I also tried that directly on
hardware and it works as documented and implemented in KVM.


Regards,

Joerg

--
AMD Operating System Research Center

Advanced Micro Devices GmbH Einsteinring 24 85609 Dornach
General Managers: Alberto Bozzo
Registration: Dornach, Landkr. Muenchen; Registerger. Muenchen, HRB Nr. 43632

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/