From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Jan Beulich" Subject: Re: [PATCH RFC] x86/emulate: implement hvmemul_cmpxchg() with an actual CMPXCHG Date: Thu, 30 Mar 2017 09:47:26 -0600 Message-ID: <58DD44AE020000780014ACF2@prv-mh.provo.novell.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> <11554a95-1be5-3ee3-fd76-a3bde650ebe0@bitdefender.com> <58DD3081020000780014AB39@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: Content-Disposition: inline List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: Razvan Cojocaru Cc: andrew.cooper3@citrix.com, paul.durrant@citrix.com, Tim Deegan , xen-devel@lists.xen.org List-Id: xen-devel@lists.xenproject.org Pj4+IE9uIDMwLjAzLjE3IGF0IDE3OjA1LCA8cmNvam9jYXJ1QGJpdGRlZmVuZGVyLmNvbT4gd3Jv dGU6Cj4gT24gMDMvMzAvMjAxNyAwNToyMSBQTSwgSmFuIEJldWxpY2ggd3JvdGU6Cj4+Pj4+IE9u IDMwLjAzLjE3IGF0IDE2OjA4LCA8cmNvam9jYXJ1QGJpdGRlZmVuZGVyLmNvbT4gd3JvdGU6Cj4+ PiBPbiAwMy8zMC8yMDE3IDAzOjU2IFBNLCBSYXp2YW4gQ29qb2NhcnUgd3JvdGU6Cj4+Pj4gT24g MDMvMzAvMjAxNyAwMzowNSBQTSwgSmFuIEJldWxpY2ggd3JvdGU6Cj4+Pj4+IFdoYXQgSSBkbyBu b3RlIHRob3VnaCBpcyB0aGF0IHlvdSBkb24ndCBjb3B5IGJhY2sgdGhlIHZhbHVlCj4+Pj4+IF9f Y21weGNoZygpIHJldHVybnMsIHlldCB0aGF0J3Mgd2hhdCBpcyBuZWVkZWQuICptYXAgbWF5Cj4+ Pj4+IGhhdmUgY2hhbmdlZCBhZ2FpbiBhbHJlYWR5Lgo+Pj4+Cj4+Pj4gQ2hhbmdpbmcgdGhlIGNv ZGUgdG86Cj4+Pj4KPj4+PiAxMTYyICAgICByZXQgPSBfX2NtcHhjaGcobWFwLCBvbGQsIG5ldywg Ynl0ZXMpOwo+Pj4+IDExNjMKPj4+PiAxMTY0ICAgICBpZiAoIHJldCAhPSBvbGQgKQo+Pj4+IDEx NjUgICAgIHsKPj4+PiAxMTY2ICAgICAgICAgbWVtY3B5KHBfb2xkLCAmcmV0LCBieXRlcyk7Cj4+ Pj4gMTE2NyAgICAgICAgIHJjID0gWDg2RU1VTF9DTVBYQ0hHX0ZBSUxFRDsKPj4+PiAxMTY4ICAg ICB9Cj4+Pj4KPj4+PiB3aGVyZSByZXQgaXMgYW4gdW5zaWduZWQgbG9uZyBzdGlsbCB0cmlnZ2Vy cyBCU09EcyB3aGVuIEkgYWRkIG15IHBhdGNoCj4+Pj4gdG8geW91cnMuIEknbGwgbmVlZCB0byBk aWcgZGVlcGVyLgo+Pj4KPj4+IE5ldmVybWluZCwgSSd2ZSBmb3VuZCB0aGUgY3VscHJpdDogaHZt X2VtdWxhdGVfb25lX3ZtX2V2ZW50KCkncyBjb2RlCj4+PiBuZWVkcyB0byBiZSB3cmFwcGVkIGlu IGEgbG9vcCB0aGF0IGNoZWNrcyBmb3IgWDg2RU1VTF9SRVRSWSBhZ2Fpbiwgc2luY2UKPj4+IGh2 bWVtdWxfY21weGNoZygpIG1heSByZXR1cm4gUkVUUlkgZXZlbiBmb3Igc29tZSBtYXBwaW5nIHBy b2JsZW1zLCBpbgo+Pj4gd2hpY2ggY2FzZSB3ZSBhZ2FpbiBlbmQgdXAgd2l0aCB0aGUgZ3Vlc3Qg dHJ5aW5nIHRvIHJlLWV4ZWN1dGUgYW4KPj4+IGVtdWxhYmxlIENNUFhDSEcuCj4+IAo+PiBUaGlz IHNlZW1zIHdyb25nIHRvIG1lIC0gbm90ZSBob3cgbXkgcGF0Y2ggY2hhbmdlcyBiZWhhdmlvcgo+ PiByZWdhcmRpbmcgdGhlIHJldHVybiB2YWx1ZSBmcm9tIHBhZ2luZ19jbXB4Y2hnX2d1ZXN0X2Vu dHJ5KCkKPj4gaW4gcHR3cl9lbXVsYXRlZF91cGRhdGUoKS4KPj4gCj4+PiBIb3dldmVyLCB0aGlz IGdldHMgbWUgYmFjayB0byBteSBvcmlnaW5hbCBwcm9ibGVtIHdoZW4gSSAic29sdmVkIiBpdCBp bgo+Pj4gdGhlIHNhbWUgbWFubmVyIChsb29waW5nIHVudGlsIGVtdWxhdGlvbiBzdWNjZWVkcykg YmFjayB3aGVuCj4+PiBodm1lbXVsX2NtcHhjaGcoKSBmYWlsdXJlcyB3ZXJlIHJlcG9ydGVkIHdp dGggUkVUUlk6IGV2ZW50dWFsbHkgdGhlCj4+PiBndWVzdCBCU09EcyB3aXRoIGNvZGUgMTAxLiBS RVRSWSBmYWlsdXJlcyBhcmUgc3RpbGwgcG9zc2libGUgY29taW5nIGZyb20KPj4+IHRoZSBodm1l bXVsX3ZhZGRyX3RvX21mbigpIGNvZGUgaW4gbXkgcGF0Y2guCj4+Pgo+Pj4gSSB3b25kZXIgaWYg SSBzaG91bGQganVzdCByZXR1cm4gWDg2RU1VTF9DTVBYQ0hHX0ZBSUxFRCBmb3IgYWxsIHRob3Nl IGFzCj4+PiB3ZWxsIGFuZCBqdXN0IG5ldmVyIGVuZCB1cCByZXR1cm5pbmcgUkVUUlkgZnJvbSBo dm1lbXVsX2NtcHhjaGcoKS4KPj4gCj4+IFRoYXQgd291bGQgc2VlbSBzaW1pbGFybHkgd3Jvbmcg dG8gbWUgLSBpdCBvdWdodCB0byBiZQo+PiBVTkhBTkRMRUFCTEUsIEkgd291bGQgdGhpbmsuIElu IGFueSBldmVudCwgbmV2ZXIgcmV0dXJuaW5nCj4+IFJFVFJZIHdvdWxkIGFsc28gYmUgd3Jvbmcg aW4gY2FzZSB5b3UgaGl0IGVtdWxhdGVkIE1NSU8sIGJ1dAo+PiB0aGF0J3MgcmVhbGx5IHRoZSBv bmx5IGNhc2Ugd2hlcmUgUkVUUlkgc2hvdWxkIGJlIHBhc3NlZCBiYWNrLgo+IAo+IFNvcnJ5LCBJ IGRvbid0IGZvbGxvdzogaHZtX2VtdWxhdGVfb25lX3ZtX2V2ZW50KCkgY2FsbHMKPiBodm1fZW11 bGF0ZV9vbmUoKSBhbmQgdGhlbiBkb2VzIHRoaXMgd2l0aCB0aGUgcmV0dXJuIHZhbHVlOgo+IAo+ IHN3aXRjaCAoIHJjICkKPiB7Cj4gY2FzZSBYODZFTVVMX1JFVFJZOgo+ICAgICAvKgo+ICAgICAg KiBUaGlzIGZ1bmN0aW9uIGlzIGNhbGxlZCB3aGVuIGhhbmRsaW5nIGFuIEVQVC1yZWxhdGVkIHZt X2V2ZW50Cj4gICAgICAqIHJlcGx5LiBBcyBzdWNoLCBub3RoaW5nIGVsc2UgbmVlZHMgdG8gYmUg ZG9uZSBoZXJlLCBzaW5jZSBzaW1wbHkKPiAgICAgICogcmV0dXJuaW5nIG1ha2VzIHRoZSBjdXJy ZW50IGluc3RydWN0aW9uIGNhdXNlIGEgcGFnZSBmYXVsdCBhZ2FpbiwKPiAgICAgICogY29uc2lz dGVudCB3aXRoIFg4NkVNVUxfUkVUUlkuCj4gICAgICAqLwo+ICAgICByZXR1cm47Cj4gY2FzZSBY ODZFTVVMX1VOSEFORExFQUJMRToKPiAgICAgaHZtX2R1bXBfZW11bGF0aW9uX3N0YXRlKFhFTkxP R19HX0RFQlVHICJNZW0gZXZlbnQiLCAmY3R4KTsKPiAgICAgaHZtX2luamVjdF9od19leGNlcHRp b24odHJhcG5yLCBlcnJjb2RlKTsKPiAgICAgYnJlYWs7Cj4gY2FzZSBYODZFTVVMX0VYQ0VQVElP TjoKPiAgICAgaWYgKCBjdHguY3R4dC5ldmVudF9wZW5kaW5nICkKPiAgICAgICAgIGh2bV9pbmpl Y3RfZXZlbnQoJmN0eC5jdHh0LmV2ZW50KTsKPiAgICAgYnJlYWs7Cj4gfQo+IAo+IGh2bV9lbXVs YXRlX3dyaXRlYmFjaygmY3R4KTsKPiAKPiBJZiBJJ2QgcmV0dXJuIFVOSEFORExFQUJMRSBmcm9t IGh2bWVtdWxfY21weGNoZygpIHdoZXJlIEknbSBub3cKPiByZXR1cm5pbmcgUkVUUlkgZnJvbSBo dm1lbXVsX3ZhZGRyX3RvX21mbigpLCB0aGF0IHdvdWxkIGluamVjdAo+IFRSQVBfaW52YWxpZF9v cCBpbiB0aGUgZ3Vlc3QsIHNvIGl0IHNlZW1zIHJhdGhlciBoYXJzaC4KCldlbGwsIG15IGNvbW1l bnQgd2FzIGZvciBub3JtYWwgZXhlY3V0aW9uIG9mIHRoZSBndWVzdC4gSW4Kb2RlciB0byBtYWtl IGl0IGludG8gdGhlIGVtdWxhdG9yLCB0aGUgdmlydHVhbC0+cGh5c2ljYWwKdHJhbnNsYXRpb24g aW4gdGhlIGd1ZXN0IG11c3QgaGF2ZSB3b3JrZWQsIHNvIGlmIHRoZXJlIGlzIGEKbWFwcGluZyBm YWlsdXJlLCB0aGlzIGluZGljYXRlcyBzb21ldGhpbmcgZmlzaHkgZ29pbmcgb24gaW5zaWRlCnRo ZSBndWVzdC4KCj4gU3BlYWtpbmcgb2YgZW11bGF0ZWQgTU1JTywgSSd2ZSBnb3QgdGhpcyB3aGVu IHRoZSBndWVzdCB3YXMgY3Jhc2hpbmcKPiBpbW1lZGlhdGVseSAocHJlIFJFVFJZIGxvb3ApOgo+ IAo+ICBNTUlPIGVtdWxhdGlvbiBmYWlsZWQ6IGQzdjggMzJiaXQgQCAwMDA4OjgyNjc5ZjNjIC0+ IGYwIDBmIGJhIDMwIDAwIDcyCj4gMDcgOGIgY2IgZTggZGEgNGIgZmYgZmYgOGIgNDUKClRoYXQn cyBhIEJUUiwgd2hpY2ggd2Ugc2hvdWxkIGJlIGVtdWxhdGluZyBmaW5lLiBNb3JlIGluZm9ybWF0 aW9uCndvdWxkIG5lZWQgdG8gYmUgY29sbGVjdGVkIHRvIGhhdmUgYSBjaGFuY2UgdG8gdW5kZXJz dGFuZCB3aGF0Cm1pZ2h0IGJlIGdvaW5nIG9uZSAoZmlyc3Qgb2YgYWxsIHRoZSB2aXJ0dWFsIGFu ZCBwaHlzaWNhbCBtZW1vcnkKYWRkcmVzcyB0aGlzIHdhcyB0cnlpbmcgdG8gYWN0IG9uKS4KCkph bgoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fClhlbi1k ZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbi5vcmcKaHR0cHM6Ly9saXN0cy54 ZW4ub3JnL3hlbi1kZXZlbAo=