[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [PATCH v3 08/18] x86emul: support {,V}MOVNTDQA



>>> On 20.02.17 at 16:01, <andrew.cooper3@xxxxxxxxxx> wrote:
> On 15/02/17 11:12, Jan Beulich wrote:
>> @@ -6806,6 +6808,23 @@ x86_emulate(
>>          sfence = true;
>>          break;
>>  
>> +    case X86EMUL_OPC_66(0x0f38, 0x2a):     /* movntdqa m128,xmm */
>> +    case X86EMUL_OPC_VEX_66(0x0f38, 0x2a): /* vmovntdqa mem,{x,y}mm */
>> +        generate_exception_if(ea.type != OP_MEM, EXC_UD);
>> +        /* Ignore the non-temporal hint for now, using movdqa instead. */
>> +        asm volatile ( "mfence" ::: "memory" );
> 
> Similarly for the sfence question in patch 3, why do we need to care
> here?  The guest will have had to execute mfence prior to movntdqa
> trapping for emulation if it cared.

We use MOVDQA for the emulation, so again to be on the safe side
against errata, we better issue a fence up front.

Jan


_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
https://lists.xen.org/xen-devel

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.