On Thursday 15 November 2007 18:05:30 Avi Kivity wrote:
> Sheng Yang wrote:
> > From c7b60a362930679e24df27e6a412cdbdf1a55f69 Mon Sep 17 00:00:00 2001
> > From: Sheng Yang <[EMAIL PROTECTED]>
> > Date: Thu, 15 Nov 2007 14:52:28 +0800
> > Subject: [PATCH 1/2] KVM: x86 emulator: modify 'cmpxchg8b', 'lods',
> > 'stos' to not depend on CR2
> >
> > The current 'lods' and 'stos' is depending on incoming CR2 rather than
> > decode memory address from registers.
>
> Applied, thanks.
>
> > diff --git a/drivers/kvm/x86_emulate.c b/drivers/kvm/x86_emulate.c
> > index dfcbda5..c020010 100644
> > --- a/drivers/kvm/x86_emulate.c
> > +++ b/drivers/kvm/x86_emulate.c
> > @@ -214,7 +214,8 @@ static u16 twobyte_table[256] = {
> > 0, 0, ByteOp | DstReg | SrcMem | ModRM | Mov,
> > DstReg | SrcMem16 | ModRM | Mov,
> > /* 0xC0 - 0xCF */
> > - 0, 0, 0, DstMem | SrcReg | ModRM | Mov, 0, 0, 0, ImplicitOps | ModRM,
> > + 0, 0, 0, DstMem | SrcReg | ModRM | Mov,
> > + 0, 0, 0, ImplicitOps | ModRM | MemAbs,
> > 0, 0, 0, 0, 0, 0, 0, 0,
> > /* 0xD0 - 0xDF */
> > 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
>
> Dropped this part: ModRM and MemAbs are mutually exclusive. MemAbs is
> where you have an absolute address in the instruction that is not
> encoded with mod r/m.
>
> Didn't see anything else about cmpchg{8,16}b. Is something missing?
In fact, this was about cmpchg{8,16}b. And yes, you're right. I miss that.
Only ModRM is needed.
--
Thanks
Yang, Sheng
-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2005.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
kvm-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/kvm-devel