[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [for-4.7] x86/emulate: synchronize LOCKed instruction emulation
>>> Razvan Cojocaru <rcojocaru@xxxxxxxxxxxxxxx> 04/14/16 5:45 PM >>> >On 04/14/2016 06:40 PM, Jan Beulich wrote: >> To be honest, just having remembered that we do the write back for locked >> instructions using CMPXCHG, I'd first of all like to see a proper description >> of "the _whole_ issue". > >I believe at least part of the issue has to do with the comment on line >1013 from xen/arch/x86/hvm/emulate.c: > >994 static int hvmemul_cmpxchg( >995 enum x86_segment seg, >996 unsigned long offset, >997 void *p_old, >998 void *p_new, >999 unsigned int bytes, >1000 struct x86_emulate_ctxt *ctxt) >1001 { >1002 struct hvm_emulate_ctxt *hvmemul_ctxt = >1003 container_of(ctxt, struct hvm_emulate_ctxt, ctxt); >1004 >1005 if ( unlikely(hvmemul_ctxt->set_context) ) >1006 { >1007 int rc = set_context_data(p_new, bytes); >1008 >1009 if ( rc != X86EMUL_OKAY ) >1010 return rc; >1011 } >1012 >1013 /* Fix this in case the guest is really relying on r-m-w atomicity. */ >1014 return hvmemul_write(seg, offset, p_new, bytes, ctxt); >1015 } Ah, so _that's_ where the problem wants to be fixed then (leaving - afaict - PV emulation paths completely unaffected). Jan _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |