* [PATCH] KVM: Fix MOVSX emulation
@ 2012-01-14 18:34 Nadav Amit
2012-01-15 9:56 ` Avi Kivity
0 siblings, 1 reply; 3+ messages in thread
From: Nadav Amit @ 2012-01-14 18:34 UTC (permalink / raw)
To: Avi Kivity
Cc: Marcelo Tosatti, Thomas Gleixner, Ingo Molnar, H. Peter Anvin,
x86, kvm, linux-kernel, Nadav Amit, Nadav Amit
The destination register of MOVSX should be decoded similarily to MOVZX.
Signed-off-by: Nadav Amit <nadav.amit@gmail.com>
---
arch/x86/kvm/emulate.c | 3 ++-
1 files changed, 2 insertions(+), 1 deletions(-)
diff --git a/arch/x86/kvm/emulate.c b/arch/x86/kvm/emulate.c
index 05a562b..7644a83 100644
--- a/arch/x86/kvm/emulate.c
+++ b/arch/x86/kvm/emulate.c
@@ -3553,7 +3553,8 @@ static int decode_operand(struct x86_emulate_ctxt *ctxt, struct operand *op,
case OpReg:
decode_register_operand(ctxt, op,
op == &ctxt->dst &&
- ctxt->twobyte && (ctxt->b == 0xb6 || ctxt->b == 0xb7));
+ ctxt->twobyte && ((ctxt->b & 0xfe) == 0xb6 ||
+ (ctxt->b & 0xfe) == 0xbe));
break;
case OpImmUByte:
rc = decode_imm(ctxt, op, 1, false);
--
1.7.4.1
^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [PATCH] KVM: Fix MOVSX emulation
2012-01-14 18:34 [PATCH] KVM: Fix MOVSX emulation Nadav Amit
@ 2012-01-15 9:56 ` Avi Kivity
2012-01-15 15:02 ` Nadav Amit
0 siblings, 1 reply; 3+ messages in thread
From: Avi Kivity @ 2012-01-15 9:56 UTC (permalink / raw)
To: Nadav Amit
Cc: Marcelo Tosatti, Thomas Gleixner, Ingo Molnar, H. Peter Anvin,
x86, kvm, linux-kernel, Nadav Amit
On 01/14/2012 08:34 PM, Nadav Amit wrote:
> The destination register of MOVSX should be decoded similarily to MOVZX.
>
> Signed-off-by: Nadav Amit <nadav.amit@gmail.com>
> ---
> arch/x86/kvm/emulate.c | 3 ++-
> 1 files changed, 2 insertions(+), 1 deletions(-)
>
> diff --git a/arch/x86/kvm/emulate.c b/arch/x86/kvm/emulate.c
> index 05a562b..7644a83 100644
> --- a/arch/x86/kvm/emulate.c
> +++ b/arch/x86/kvm/emulate.c
> @@ -3553,7 +3553,8 @@ static int decode_operand(struct x86_emulate_ctxt *ctxt, struct operand *op,
> case OpReg:
> decode_register_operand(ctxt, op,
> op == &ctxt->dst &&
> - ctxt->twobyte && (ctxt->b == 0xb6 || ctxt->b == 0xb7));
> + ctxt->twobyte && ((ctxt->b & 0xfe) == 0xb6 ||
> + (ctxt->b & 0xfe) == 0xbe));
> break;
> case OpImmUByte:
> rc = decode_imm(ctxt, op, 1, false);
Please post a unit test for this. See
git://git.kernel.org/pub/scm/virt/kvm/kvm-unit-tests.git x86/emulate.c.
--
error compiling committee.c: too many arguments to function
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH] KVM: Fix MOVSX emulation
2012-01-15 9:56 ` Avi Kivity
@ 2012-01-15 15:02 ` Nadav Amit
0 siblings, 0 replies; 3+ messages in thread
From: Nadav Amit @ 2012-01-15 15:02 UTC (permalink / raw)
To: Avi Kivity
Cc: Marcelo Tosatti, Thomas Gleixner, Ingo Molnar, H. Peter Anvin,
x86, kvm, linux-kernel
Ok. I will include MOVSXD as well in the future patch.
Regards,
Nadav
On Sun, Jan 15, 2012 at 11:56 AM, Avi Kivity <avi@redhat.com> wrote:
> On 01/14/2012 08:34 PM, Nadav Amit wrote:
>> The destination register of MOVSX should be decoded similarily to MOVZX.
>>
>> Signed-off-by: Nadav Amit <nadav.amit@gmail.com>
>> ---
>> arch/x86/kvm/emulate.c | 3 ++-
>> 1 files changed, 2 insertions(+), 1 deletions(-)
>>
>> diff --git a/arch/x86/kvm/emulate.c b/arch/x86/kvm/emulate.c
>> index 05a562b..7644a83 100644
>> --- a/arch/x86/kvm/emulate.c
>> +++ b/arch/x86/kvm/emulate.c
>> @@ -3553,7 +3553,8 @@ static int decode_operand(struct x86_emulate_ctxt *ctxt, struct operand *op,
>> case OpReg:
>> decode_register_operand(ctxt, op,
>> op == &ctxt->dst &&
>> - ctxt->twobyte && (ctxt->b == 0xb6 || ctxt->b == 0xb7));
>> + ctxt->twobyte && ((ctxt->b & 0xfe) == 0xb6 ||
>> + (ctxt->b & 0xfe) == 0xbe));
>> break;
>> case OpImmUByte:
>> rc = decode_imm(ctxt, op, 1, false);
>
> Please post a unit test for this. See
> git://git.kernel.org/pub/scm/virt/kvm/kvm-unit-tests.git x86/emulate.c.
>
> --
> error compiling committee.c: too many arguments to function
>
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2012-01-15 15:02 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-01-14 18:34 [PATCH] KVM: Fix MOVSX emulation Nadav Amit
2012-01-15 9:56 ` Avi Kivity
2012-01-15 15:02 ` Nadav Amit
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox