From mboxrd@z Thu Jan 1 00:00:00 1970 From: Razvan Cojocaru Subject: Re: [PATCH RFC] x86/emulate: implement hvmemul_cmpxchg() with an actual CMPXCHG Date: Thu, 30 Mar 2017 15:25:12 +0300 Message-ID: <7d5be9a1-8689-4b2c-ac92-46d1c39fc549@bitdefender.com> References: <1490361899-18303-1-git-send-email-rcojocaru@bitdefender.com> <58DA510A0200007800148F6F@prv-mh.provo.novell.com> <925827a5-b346-1733-3c0a-64eaa7b3e251@bitdefender.com> <58DA5B7E020000780014900C@prv-mh.provo.novell.com> <58DBD8FF020000780014A113@prv-mh.provo.novell.com> <185bbccb-0156-07fe-d060-6135cae07caf@bitdefender.com> <3e753894-4727-5d4f-1ced-9be09c035e2f@bitdefender.com> <58DD10BD020000780014AA0E@prv-mh.provo.novell.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <58DD10BD020000780014AA0E@prv-mh.provo.novell.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: Jan Beulich Cc: andrew.cooper3@citrix.com, paul.durrant@citrix.com, Tim Deegan , xen-devel@lists.xen.org List-Id: xen-devel@lists.xenproject.org T24gMDMvMzAvMjAxNyAwMzowNSBQTSwgSmFuIEJldWxpY2ggd3JvdGU6Cj4+Pj4gT24gMjkuMDMu MTcgYXQgMTc6NDksIDxyY29qb2NhcnVAYml0ZGVmZW5kZXIuY29tPiB3cm90ZToKPj4gT24gMDMv MjkvMjAxNyAwNjowNCBQTSwgUmF6dmFuIENvam9jYXJ1IHdyb3RlOgo+Pj4gT24gMDMvMjkvMjAx NyAwNTowMCBQTSwgUmF6dmFuIENvam9jYXJ1IHdyb3RlOgo+Pj4+IE9uIDAzLzI5LzIwMTcgMDQ6 NTUgUE0sIEphbiBCZXVsaWNoIHdyb3RlOgo+Pj4+Pj4+PiBPbiAyOC4wMy4xNyBhdCAxMjo1MCwg PHJjb2pvY2FydUBiaXRkZWZlbmRlci5jb20+IHdyb3RlOgo+Pj4+Pj4gT24gMDMvMjgvMjAxNyAw MTo0NyBQTSwgSmFuIEJldWxpY2ggd3JvdGU6Cj4+Pj4+Pj4+Pj4gT24gMjguMDMuMTcgYXQgMTI6 MjcsIDxyY29qb2NhcnVAYml0ZGVmZW5kZXIuY29tPiB3cm90ZToKPj4+Pj4+Pj4gT24gMDMvMjgv MjAxNyAwMTowMyBQTSwgSmFuIEJldWxpY2ggd3JvdGU6Cj4+Pj4+Pj4+Pj4+PiBPbiAyOC4wMy4x NyBhdCAxMToxNCwgPHJjb2pvY2FydUBiaXRkZWZlbmRlci5jb20+IHdyb3RlOgo+Pj4+Pj4+Pj4+ IEknbSBub3Qgc3VyZSB0aGF0IHRoZSBSRVRSWSBtb2RlbCBpcyB3aGF0IHRoZSBndWVzdCBPUyBl eHBlY3RzLiBBRkFJSywgYQo+Pj4+Pj4+Pj4+IGZhaWxlZCBDTVBYQ0hHIHNob3VsZCBoYXBwZW4g anVzdCBvbmNlLCB3aXRoIHRoZSBwcm9wZXIgcmVnaXN0ZXJzIGFuZCBaRgo+Pj4+Pj4+Pj4+IHNl dC4gVGhlIGd1ZXN0IHN1cmVseSBleHBlY3RzIG5laXRoZXIgdGhhdCB0aGUgaW5zdHJ1Y3Rpb24g cmVzdW1lIHVudGlsCj4+Pj4+Pj4+Pj4gaXQgc3VjY2VlZHMsIG5vciB0aGF0IHNvbWUgaGlkZGVu IGxvb3AgZ29lcyBvbiBmb3IgYW4gdW5kZXRlcm1pbmF0ZQo+Pj4+Pj4+Pj4+IGFtbW91bnQgb2Yg dGltZSB1bnRpbCBhIENNUFhDSEcgc3VjY2VlZHMuCj4+Pj4+Pj4+Pgo+Pj4+Pj4+Pj4gVGhlIGd1 ZXN0IGRvZXNuJ3Qgb2JzZXJ2ZSB0aGUgQ01QWENIRyBmYWlsaW5nIC0gUkVUUlkgbGVhZHMgdG8K Pj4+Pj4+Pj4+IHRoZSBpbnN0cnVjdGlvbiBiZWluZyByZXN0YXJ0ZWQgaW5zdGVhZCBvZiBjb21w bGV0ZWQuCj4+Pj4+Pj4+Cj4+Pj4+Pj4+IEluZGVlZCwgYnV0IGl0IHdvcmtzIGRpZmZlcmVudGx5 IHdpdGggaHZtX2VtdWxhdGVfb25lX3ZtX2V2ZW50KCkgd2hlcmUKPj4+Pj4+Pj4gUkVUUlkgY3Vy cmVudGx5IHdvdWxkIGhhdmUgdGhlIGluc3RydWN0aW9uIGJlIHJlLWV4ZWN1dGVkIChwcm9wZXJs eQo+Pj4+Pj4+PiByZS1leGVjdXRlZCwgbm90IGp1c3QgcmUtZW11bGF0ZWQpIGJ5IHRoZSBndWVz dC4KPj4+Pj4+Pgo+Pj4+Pj4+IFJpZ2h0IC0gc2VlIG15IG90aGVyIHJlcGx5IHRvIEFuZHJldzog VGhlIGZ1bmN0aW9uIGxpa2VseSB3b3VsZAo+Pj4+Pj4+IG5lZWQgdG8gdGVsbCBhcGFydCBndWVz dCBDTVBYQ0hHIHVzZXMgZnJvbSB1cyB1c2luZyB0aGUgaW5zbiB0bwo+Pj4+Pj4+IGNhcnJ5IG91 dCB0aGUgd3JpdGUgYnkgc29tZSBvdGhlciBvbmUuIFRoYXQgbWF5IGludm9sdmUKPj4+Pj4+PiBh ZGp1c3RtZW50cyB0byB0aGUgbWVtb3J5IHdyaXRlIGxvZ2ljIGluIHg4Nl9lbXVsYXRlKCkgaXRz ZWxmLCBhcwo+Pj4+Pj4+IHRoZSBsYXRlIGZhaWx1cmUgb2YgdGhlIGNvbXBhcmlzb24gdGhlbiB3 b3VsZCBhbHNvIG5lZWQgdG8gYmUKPj4+Pj4+PiBjb21tdW5pY2F0ZWQgYmFjayAodmlhIFpGIGNs ZWFyKSB0byB0aGUgZ3Vlc3QuCj4+Pj4+Pgo+Pj4+Pj4gRXhhY3RseSwgaXQgd291bGQgcmVxdWly ZSBxdWl0ZSBzb21lIHJld29ya2luZyBvZiB4ODZfZW11bGF0ZSgpLgo+Pj4+Pgo+Pj4+PiBJIGhh ZCBpbWFnaW5lZCBpdCB0byBiZSBsZXNzIGludHJ1c2l2ZSAob3V0c2lkZSBvZiB4ODZfZW11bGF0 ZSgpKSwKPj4+Pj4gYnV0IEkndmUgbm93IGxlYXJuZWQgd2h5IEFuZHJldyB3YXMgYWJsZSB0byBn ZXQgcmlkIG9mCj4+Pj4+IFg4NkVNVUxfQ01QWENIR19GQUlMRUQgLSB0aGUgYXBwYXJlbnRseSBp bnRlbmRlZCBiZWhhdmlvcgo+Pj4+PiB3YXMgbmV2ZXIgaW1wbGVtZW50ZWQuIEF0dGFjaGVkIGEg Zmlyc3QgdGFrZSBhdCBpdCwgd2hpY2ggaGFzCj4+Pj4+IHNlZW4gc21va2UgdGVzdGluZywgYnV0 IG5vdGhpbmcgbW9yZS4gVGhlIHdheSBpdCBlbmRzIHVwIGJlaW5nCj4+Pj4+IEkgZG9uJ3QgdGhp bmsgdGhpcyBjYW4gcmVhc29uYWJseSBiZSBjb25zaWRlcmVkIGZvciA0LjkgYXQgdGhpcwo+Pj4+ PiBwb2ludCBpbiB0aW1lLiAoQWxzbyBDYy1pbmcgVGltIGZvciB0aGUgc2hhZG93IGNvZGUgY2hh bmdlcywKPj4+Pj4gZXZlbiBpZiB0aGlzIGlzbid0IHJlYWxseSBhIHByb3BlciBwYXRjaCBzdWJt aXNzaW9uLikKPj4+Pgo+Pj4+IFRoYW5rcyEgSSdsbCBnaXZlIGEgc3BpbiB3aXRoIGEgbW9kaWZp ZWQgdmVyc2lvbiBvZiBteSBDTVBYQ0hHIHBhdGNoIGFzCj4+Pj4gc29vbiBhcyBwb3NzaWJsZS4K Pj4+Cj4+PiBXaXRoIHRoZSBhdHRhY2hlZCBwYXRjaCB3aXRoIGh2bWVtdWxfY21weGNoZygpIG5v dyByZXR1cm5pbmcKPj4+IFg4NkVNVUxfQ01QWENIR19GQUlMRUQgaWYgX19jbXB4Y2hnKCkgZmFp bHMgbXkgKDMyLWJpdCkgV2luZG93cyA3IGd1ZXN0Cj4+PiBnZXRzIHN0dWNrIGF0IHRoZSAiU3Rh cnRpbmcgV2luZG93cyIgc2NyZWVuLgo+IAo+IFRoYXQncyB3aXRoIG9yIHdpdGhvdXQgbW9uaXRv cmluZyBpbiB1c2U/IEkgc3BlY2lmaWNhbGx5IGRpZCB0cnkgYQo+IDMyLWJpdCBXaW43IGd1ZXN0 LCBhbmQgSSBkaWRuJ3QgaGF2ZSBhbiBpc3N1ZS4gQnV0IHRoZW4gYWdhaW4gYQo+IHNpbmdsZSBy dW4gbWF5IG5vdCBtZWFuIG11Y2guCgpXaXRoIG1vbml0b3JpbmcgaW4gdXNlIC0gc3BlY2lmaWNh bGx5IHVzaW5nIGh2bV9lbXVsYXRlX29uZV92bV9ldmVudCgpLgpTb3JyeSBmb3IgdGhlIG9tbWlz aW9uLgoKPj4gQW5kIGFnYWluIHRoaXMgY2hhbmdlOgo+Pgo+PiAxMTYyICAgICBpZiAoIF9fY21w eGNoZyhtYXAsIG9sZCwgbmV3LCBieXRlcykgIT0gb2xkICkKPj4gMTE2MyAgICAgewo+PiAxMTY0 ICAgICAgICAgbWVtY3B5KHBfb2xkLCBtYXAsIGJ5dGVzKTsKPj4gMTE2NSAgICAgICAgIHJjID0g WDg2RU1VTF9DTVBYQ0hHX0ZBSUxFRDsKPj4gMTE2NiAgICAgfQo+Pgo+PiBpLmUuIGRvaW5nIHRo ZSBhY2N1bXVsYXRvciA8LSBkZXN0aW5hdGlvbiBwYXJ0IG9mIGEgZmFpbGVkIENNUFhDSEcgd2hp Y2gKPj4gbWlnaHQgYmUgbWlzc2luZyBmcm9tIHlvdXIgcGF0Y2ggbGVhZHMgbWUgYWdhaW4gdG8g QlNPRHMuCj4gCj4gTWlzc2luZyBmcm9tIG15IHBhdGNoPyBXaHkgYW5kL29yIHdoZXJlPyBJdCdz IG5vdCBjbGVhciB0byBtZSB3aGljaAo+IGZ1bmN0aW9uIHRoZSBhYm92ZSBjb2RlIGZyYWdtZW50 IGlzIHN1cHBvc2VkIHRvIGdvIGludG8uIEkgbWlnaHQKPiBndWVzcyBodm1lbXVsX2NtcHhjaGco KSwgYnV0IHRoZW4gbXkgcGF0Y2ggZG9lc24ndCBhbHRlciBpdHMKPiBiZWhhdmlvciAoZnJvbSBm b3J3YXJkaW5nIHRvIGh2bWVtbF93cml0ZSgpKSwgYW5kIGhlbmNlIEkgZG9uJ3QKPiBzZWUgd2h5 IG15IHBhdGNoIHdvdWxkIG5lZWQgdG8gZG8gc3VjaCBhbiBhZGp1c3RtZW50LgoKUmlnaHQsIEkg d2FzIHRoaW5raW5nIGFib3V0IHRoaXMgYml0OgoKNjcwNCAgICAgICAgIGlmICggX3JlZ3MuZWZs YWdzICYgWDg2X0VGTEFHU19aRiApCjY3MDUgICAgICAgICAgICAgZHN0LnR5cGUgPSBPUF9OT05F Owo2NzA2ICAgICAgICAgZWxzZQo2NzA3ICAgICAgICAgewo2NzA4ICAgICAgICAgICAgIC8qIEZh aWx1cmU6IHdyaXRlIHRoZSB2YWx1ZSB3ZSBzYXcgdG8gRUFYLiAqLwo2NzA5ICAgICAgICAgICAg IGRzdC50eXBlID0gT1BfUkVHOwo2NzEwICAgICAgICAgICAgIGRzdC5yZWcgID0gKHVuc2lnbmVk IGxvbmcgKikmX3JlZ3MucihheCk7CjY3MTEgICAgICAgICB9CgpGb3Igc29tZSByZWFzb24gSSBo YWQgbWlzc2VkIGl0LCBidXQgSSBub3cgc2VlIGl0IGRvZXMgdGhlIHdyaXRlYmFjay4gTXkKbWlz dGFrZS4KCj4gV2hhdCBJIGRvIG5vdGUgdGhvdWdoIGlzIHRoYXQgeW91IGRvbid0IGNvcHkgYmFj ayB0aGUgdmFsdWUKPiBfX2NtcHhjaGcoKSByZXR1cm5zLCB5ZXQgdGhhdCdzIHdoYXQgaXMgbmVl ZGVkLiAqbWFwIG1heQo+IGhhdmUgY2hhbmdlZCBhZ2FpbiBhbHJlYWR5LgoKVHJ1ZSwgSSdsbCB1 cGRhdGUgbXkgdGVzdHMuCgoKVGhhbmtzLApSYXp2YW4KCl9fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fClhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVs QGxpc3RzLnhlbi5vcmcKaHR0cHM6Ly9saXN0cy54ZW4ub3JnL3hlbi1kZXZlbAo=