public inbox for kvm@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH non-atomic-injection] x86 emulator: Add 2 operand imul instruction (opcode 0x0f 0xaf)
@ 2010-08-18 17:40 Mohammed Gamal
  2010-08-18 17:56 ` Avi Kivity
  0 siblings, 1 reply; 6+ messages in thread
From: Mohammed Gamal @ 2010-08-18 17:40 UTC (permalink / raw)
  To: avi; +Cc: kvm, Mohammed Gamal

Signed-off-by: Mohammed Gamal <m.gamal005@gmail.com>
---
 arch/x86/kvm/emulate.c |    5 ++++-
 1 files changed, 4 insertions(+), 1 deletions(-)

diff --git a/arch/x86/kvm/emulate.c b/arch/x86/kvm/emulate.c
index cb3282c..3311c68 100644
--- a/arch/x86/kvm/emulate.c
+++ b/arch/x86/kvm/emulate.c
@@ -2474,7 +2474,7 @@ static struct opcode twobyte_table[256] = {
 	N, D(DstMem | SrcReg | ModRM | BitOp | Lock),
 	D(DstMem | SrcReg | Src2ImmByte | ModRM),
 	D(DstMem | SrcReg | Src2CL | ModRM),
-	D(ModRM), N,
+	D(ModRM), D(DstReg | SrcMem | ModRM),
 	/* 0xB0 - 0xB7 */
 	D(ByteOp | DstMem | SrcReg | ModRM | Lock), D(DstMem | SrcReg | ModRM | Lock),
 	N, D(DstMem | SrcReg | ModRM | BitOp | Lock),
@@ -3567,6 +3567,9 @@ twobyte_insn:
 		break;
 	case 0xae:              /* clflush */
 		break;
+	case 0xaf:
+		emulate_2op_SrcV_nobyte("imul", c->src, c->dst, ctxt->eflags);
+		break;
 	case 0xb0 ... 0xb1:	/* cmpxchg */
 		/*
 		 * Save real source value, then compare EAX against
-- 
1.7.0.4


^ permalink raw reply related	[flat|nested] 6+ messages in thread

* Re: [PATCH non-atomic-injection] x86 emulator: Add 2 operand imul instruction (opcode 0x0f 0xaf)
  2010-08-18 17:40 [PATCH non-atomic-injection] x86 emulator: Add 2 operand imul instruction (opcode 0x0f 0xaf) Mohammed Gamal
@ 2010-08-18 17:56 ` Avi Kivity
  2010-08-18 18:04   ` Mohammed Gamal
  0 siblings, 1 reply; 6+ messages in thread
From: Avi Kivity @ 2010-08-18 17:56 UTC (permalink / raw)
  To: Mohammed Gamal; +Cc: kvm

  On 08/18/2010 08:40 PM, Mohammed Gamal wrote:
> Signed-off-by: Mohammed Gamal<m.gamal005@gmail.com>
> ---
>   arch/x86/kvm/emulate.c |    5 ++++-
>   1 files changed, 4 insertions(+), 1 deletions(-)
>
> diff --git a/arch/x86/kvm/emulate.c b/arch/x86/kvm/emulate.c
> index cb3282c..3311c68 100644
> --- a/arch/x86/kvm/emulate.c
> +++ b/arch/x86/kvm/emulate.c
> @@ -2474,7 +2474,7 @@ static struct opcode twobyte_table[256] = {
>   	N, D(DstMem | SrcReg | ModRM | BitOp | Lock),
>   	D(DstMem | SrcReg | Src2ImmByte | ModRM),
>   	D(DstMem | SrcReg | Src2CL | ModRM),
> -	D(ModRM), N,
> +	D(ModRM), D(DstReg | SrcMem | ModRM),
>   	/* 0xB0 - 0xB7 */
>   	D(ByteOp | DstMem | SrcReg | ModRM | Lock), D(DstMem | SrcReg | ModRM | Lock),
>   	N, D(DstMem | SrcReg | ModRM | BitOp | Lock),
> @@ -3567,6 +3567,9 @@ twobyte_insn:
>   		break;
>   	case 0xae:              /* clflush */
>   		break;
> +	case 0xaf:
> +		emulate_2op_SrcV_nobyte("imul", c->src, c->dst, ctxt->eflags);
> +		break;
>   	case 0xb0 ... 0xb1:	/* cmpxchg */
>   		/*
>   		 * Save real source value, then compare EAX against

I already added this, please look at the non-atomic-injection branch.

-- 
I have a truly marvellous patch that fixes the bug which this
signature is too narrow to contain.


^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH non-atomic-injection] x86 emulator: Add 2 operand imul instruction (opcode 0x0f 0xaf)
  2010-08-18 17:56 ` Avi Kivity
@ 2010-08-18 18:04   ` Mohammed Gamal
  2010-08-18 19:25     ` Mohammed Gamal
  0 siblings, 1 reply; 6+ messages in thread
From: Mohammed Gamal @ 2010-08-18 18:04 UTC (permalink / raw)
  To: Avi Kivity; +Cc: kvm

On Wed, Aug 18, 2010 at 8:56 PM, Avi Kivity <avi@redhat.com> wrote:
>  On 08/18/2010 08:40 PM, Mohammed Gamal wrote:
>>
>> Signed-off-by: Mohammed Gamal<m.gamal005@gmail.com>
>> ---
>>  arch/x86/kvm/emulate.c |    5 ++++-
>>  1 files changed, 4 insertions(+), 1 deletions(-)
>>
>> diff --git a/arch/x86/kvm/emulate.c b/arch/x86/kvm/emulate.c
>> index cb3282c..3311c68 100644
>> --- a/arch/x86/kvm/emulate.c
>> +++ b/arch/x86/kvm/emulate.c
>> @@ -2474,7 +2474,7 @@ static struct opcode twobyte_table[256] = {
>>        N, D(DstMem | SrcReg | ModRM | BitOp | Lock),
>>        D(DstMem | SrcReg | Src2ImmByte | ModRM),
>>        D(DstMem | SrcReg | Src2CL | ModRM),
>> -       D(ModRM), N,
>> +       D(ModRM), D(DstReg | SrcMem | ModRM),
>>        /* 0xB0 - 0xB7 */
>>        D(ByteOp | DstMem | SrcReg | ModRM | Lock), D(DstMem | SrcReg |
>> ModRM | Lock),
>>        N, D(DstMem | SrcReg | ModRM | BitOp | Lock),
>> @@ -3567,6 +3567,9 @@ twobyte_insn:
>>                break;
>>        case 0xae:              /* clflush */
>>                break;
>> +       case 0xaf:
>> +               emulate_2op_SrcV_nobyte("imul", c->src, c->dst,
>> ctxt->eflags);
>> +               break;
>>        case 0xb0 ... 0xb1:     /* cmpxchg */
>>                /*
>>                 * Save real source value, then compare EAX against
>
> I already added this, please look at the non-atomic-injection branch.
>
Looks like you beat me to it. I'll pull again.
> --
> I have a truly marvellous patch that fixes the bug which this
> signature is too narrow to contain.
>
>

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH non-atomic-injection] x86 emulator: Add 2 operand imul instruction (opcode 0x0f 0xaf)
  2010-08-18 18:04   ` Mohammed Gamal
@ 2010-08-18 19:25     ` Mohammed Gamal
  2010-08-19  6:38       ` Avi Kivity
  0 siblings, 1 reply; 6+ messages in thread
From: Mohammed Gamal @ 2010-08-18 19:25 UTC (permalink / raw)
  To: Avi Kivity; +Cc: kvm

On Wed, Aug 18, 2010 at 9:04 PM, Mohammed Gamal <m.gamal005@gmail.com> wrote:
> On Wed, Aug 18, 2010 at 8:56 PM, Avi Kivity <avi@redhat.com> wrote:
>>  On 08/18/2010 08:40 PM, Mohammed Gamal wrote:
>>>
>>> Signed-off-by: Mohammed Gamal<m.gamal005@gmail.com>
>>> ---
>>>  arch/x86/kvm/emulate.c |    5 ++++-
>>>  1 files changed, 4 insertions(+), 1 deletions(-)
>>>
>>> diff --git a/arch/x86/kvm/emulate.c b/arch/x86/kvm/emulate.c
>>> index cb3282c..3311c68 100644
>>> --- a/arch/x86/kvm/emulate.c
>>> +++ b/arch/x86/kvm/emulate.c
>>> @@ -2474,7 +2474,7 @@ static struct opcode twobyte_table[256] = {
>>>        N, D(DstMem | SrcReg | ModRM | BitOp | Lock),
>>>        D(DstMem | SrcReg | Src2ImmByte | ModRM),
>>>        D(DstMem | SrcReg | Src2CL | ModRM),
>>> -       D(ModRM), N,
>>> +       D(ModRM), D(DstReg | SrcMem | ModRM),
>>>        /* 0xB0 - 0xB7 */
>>>        D(ByteOp | DstMem | SrcReg | ModRM | Lock), D(DstMem | SrcReg |
>>> ModRM | Lock),
>>>        N, D(DstMem | SrcReg | ModRM | BitOp | Lock),
>>> @@ -3567,6 +3567,9 @@ twobyte_insn:
>>>                break;
>>>        case 0xae:              /* clflush */
>>>                break;
>>> +       case 0xaf:
>>> +               emulate_2op_SrcV_nobyte("imul", c->src, c->dst,
>>> ctxt->eflags);
>>> +               break;
>>>        case 0xb0 ... 0xb1:     /* cmpxchg */
>>>                /*
>>>                 * Save real source value, then compare EAX against
>>
>> I already added this, please look at the non-atomic-injection branch.
>>
> Looks like you beat me to it. I'll pull again.
Pulled again and no signs of such patch. imul is not implemented
there. Did you push your changes?

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH non-atomic-injection] x86 emulator: Add 2 operand imul instruction (opcode 0x0f 0xaf)
  2010-08-18 19:25     ` Mohammed Gamal
@ 2010-08-19  6:38       ` Avi Kivity
  2010-08-19 13:09         ` Mohammed Gamal
  0 siblings, 1 reply; 6+ messages in thread
From: Avi Kivity @ 2010-08-19  6:38 UTC (permalink / raw)
  To: Mohammed Gamal; +Cc: kvm

  On 08/18/2010 10:25 PM, Mohammed Gamal wrote:
>
> Pulled again and no signs of such patch. imul is not implemented
> there. Did you push your changes?

It's 738cee07673.

-- 
I have a truly marvellous patch that fixes the bug which this
signature is too narrow to contain.


^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH non-atomic-injection] x86 emulator: Add 2 operand imul instruction (opcode 0x0f 0xaf)
  2010-08-19  6:38       ` Avi Kivity
@ 2010-08-19 13:09         ` Mohammed Gamal
  0 siblings, 0 replies; 6+ messages in thread
From: Mohammed Gamal @ 2010-08-19 13:09 UTC (permalink / raw)
  To: Avi Kivity; +Cc: kvm

On Thu, Aug 19, 2010 at 9:38 AM, Avi Kivity <avi@redhat.com> wrote:
>  On 08/18/2010 10:25 PM, Mohammed Gamal wrote:
>>
>> Pulled again and no signs of such patch. imul is not implemented
>> there. Did you push your changes?
>
> It's 738cee07673.d
Pulled again and it is there now, thanks.

>
> --
> I have a truly marvellous patch that fixes the bug which this
> signature is too narrow to contain.
>
>

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2010-08-19 13:09 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-08-18 17:40 [PATCH non-atomic-injection] x86 emulator: Add 2 operand imul instruction (opcode 0x0f 0xaf) Mohammed Gamal
2010-08-18 17:56 ` Avi Kivity
2010-08-18 18:04   ` Mohammed Gamal
2010-08-18 19:25     ` Mohammed Gamal
2010-08-19  6:38       ` Avi Kivity
2010-08-19 13:09         ` Mohammed Gamal

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox