diff mbox

x86emul: MOVNTI does not allow 66/F3/F2 prefixes

Message ID 591DB122020000780015AED7@prv-mh.provo.novell.com (mailing list archive)
State New, archived
Headers show

Commit Message

Jan Beulich May 18, 2017, 12:35 p.m. UTC
Intel SDM revision 062 finally makes this explicit.

Signed-off-by: Jan Beulich <jbeulich@suse.com>
x86emul: MOVNTI does not allow 66/F3/F2 prefixes

Intel SDM revision 062 finally makes this explicit.

Signed-off-by: Jan Beulich <jbeulich@suse.com>

--- a/xen/arch/x86/x86_emulate/x86_emulate.c
+++ b/xen/arch/x86/x86_emulate/x86_emulate.c
@@ -6719,6 +6719,7 @@ x86_emulate(
         goto simd_0f_imm8_avx;
 
     case X86EMUL_OPC(0x0f, 0xc3): /* movnti */
+        generate_exception_if(vex.pfx, EXC_UD);
         /* Ignore the non-temporal hint for now. */
         vcpu_must_have(sse2);
         dst.val = src.val;

Comments

Andrew Cooper May 18, 2017, 12:52 p.m. UTC | #1
On 18/05/17 13:35, Jan Beulich wrote:
> Intel SDM revision 062 finally makes this explicit.
>
> Signed-off-by: Jan Beulich <jbeulich@suse.com>

So it does.  Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>

>
> --- a/xen/arch/x86/x86_emulate/x86_emulate.c
> +++ b/xen/arch/x86/x86_emulate/x86_emulate.c
> @@ -6719,6 +6719,7 @@ x86_emulate(
>          goto simd_0f_imm8_avx;
>  
>      case X86EMUL_OPC(0x0f, 0xc3): /* movnti */
> +        generate_exception_if(vex.pfx, EXC_UD);
>          /* Ignore the non-temporal hint for now. */
>          vcpu_must_have(sse2);
>          dst.val = src.val;
>
>
>
Jan Beulich May 19, 2017, 6:03 a.m. UTC | #2
>>> On 18.05.17 at 14:52, <andrew.cooper3@citrix.com> wrote:
> On 18/05/17 13:35, Jan Beulich wrote:
>> Intel SDM revision 062 finally makes this explicit.
>>
>> Signed-off-by: Jan Beulich <jbeulich@suse.com>
> 
> So it does.  Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>

I withdraw this patch as being redundant with 96a7cb37b9
("x86emul: MOVNTI does not allow REP prefixes"). IOW
x86_decode_twobyte() already takes care of this.

Jan
diff mbox

Patch

--- a/xen/arch/x86/x86_emulate/x86_emulate.c
+++ b/xen/arch/x86/x86_emulate/x86_emulate.c
@@ -6719,6 +6719,7 @@  x86_emulate(
         goto simd_0f_imm8_avx;
 
     case X86EMUL_OPC(0x0f, 0xc3): /* movnti */
+        generate_exception_if(vex.pfx, EXC_UD);
         /* Ignore the non-temporal hint for now. */
         vcpu_must_have(sse2);
         dst.val = src.val;