From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andrew Cooper Subject: Re: [PATCH v3 20/25] x86emul: correctly handle CMPXCHG* comparison failures Date: Fri, 2 Feb 2018 14:49:33 +0000 Message-ID: <5f3f9e9b-7f11-9380-6875-5dfe2ecf7433@citrix.com> References: <5A29550C020000780019585B@prv-mh.provo.novell.com> <5A295B140200007800195988@prv-mh.provo.novell.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ehcfa-0003wn-0X for xen-devel@lists.xenproject.org; Fri, 02 Feb 2018 14:50:26 +0000 In-Reply-To: <5A295B140200007800195988@prv-mh.provo.novell.com> Content-Language: en-GB List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" To: Jan Beulich , xen-devel Cc: George Dunlap , Tim Deegan List-Id: xen-devel@lists.xenproject.org T24gMDcvMTIvMTcgMTQ6MTUsIEphbiBCZXVsaWNoIHdyb3RlOgo+IElmIHRoZSAtPmNtcHhjaGco KSBob29rIGZpbmRzIGEgbWlzbWF0Y2gsIHdlIHNob3VsZCBkZWFsIHdpdGggdGhpcyB0aGUKPiBz YW1lIHdheSBhcyB3aGVuIHRoZSAibWFudWFsIiBjb21wYXJpc29uIHJlcG9ydHMgYSBtaXNtYXRj aC4KPgo+IFRoaXMgaW52b2x2ZXMgcmV2ZXJ0aW5nIGJmY2UwZTYyYzMgKCJ4ODYvZW11bDogRHJv cAo+IFg4NkVNVUxfQ01QWENIR19GQUlMRUQiKSwgYWxiZWl0IHdpdGggWDg2RU1VTF9DTVBYQ0hH X0ZBSUxFRCBub3cKPiBiZWNvbWluZyBhIHZhbHVlIGRpc3RpbmN0IGZyb20gWDg2RU1VTF9SRVRS WS4KPgo+IEluIG9yZGVyIHRvIG5vdCBsZWF2ZSBtaXhlZCBjb2RlIGFsc28gZnVsbHkgc3dpdGNo IGFmZmVjdGVkIGZ1bmN0aW9ucwo+IGZyb20gcGFkZHJfdCB0byBpbnRwdGVfdC4KPgo+IFNpZ25l ZC1vZmYtYnk6IEphbiBCZXVsaWNoIDxqYmV1bGljaEBzdXNlLmNvbT4KPiAtLS0KPiB2MzogTmV3 Lgo+IC0tLQo+IFRoZSBjb2RlIGNvdWxkIGJlIGZ1cnRoZXIgc2ltcGxpZmllZCBpZiB3ZSBjb3Vs ZCByZWx5IG9uIGFsbAo+IC0+Y21weGNoZygpIGhvb2tzIGFsd2F5cyB1c2luZyBDTVBYQ0hHLCBi dXQgZm9yIG5vdyB3ZSBuZWVkIHRvIGNvcGUKPiB3aXRoIHRoZW0gdXNpbmcgcGxhaW4gd3JpdGVz IChhbmQgaGVuY2UgYWNjZXB0IHRoZSBkb3VibGUgcmVhZHMgaWYKPiBDTVBYQ0hHIGlzIGFjdHVh bGx5IGJlaW5nIHVzZWQpLgo+IE5vdGUgdGhhdCB0aGUgcGF0Y2ggZG9lc24ndCBhZGRyZXNzIHRo ZSBpbmNvcnJlY3RuZXNzIG9mIHRoZXJlIG5vdAo+IGJlaW5nIGEgbWVtb3J5IHdyaXRlIGV2ZW4g aW4gdGhlIGNvbXBhcmlzb24tZmFpbGVkIGNhc2UuCj4KPiAtLS0gYS94ZW4vYXJjaC94ODYvbW0v c2hhZG93L2NvbW1vbi5jCj4gKysrIGIveGVuL2FyY2gveDg2L21tL3NoYWRvdy9jb21tb24uYwo+ IEBAIC0zMDIsOCArMzAyLDEyIEBAIGh2bV9lbXVsYXRlX2NtcHhjaGcoZW51bSB4ODZfc2VnbWVu dCBzZWcKPiAgICAgIG1lbWNweSgmb2xkLCBwX29sZCwgYnl0ZXMpOwo+ICAgICAgbWVtY3B5KCZu ZXcsIHBfbmV3LCBieXRlcyk7Cj4gIAo+IC0gICAgcmV0dXJuIHYtPmFyY2gucGFnaW5nLm1vZGUt PnNoYWRvdy54ODZfZW11bGF0ZV9jbXB4Y2hnKAo+IC0gICAgICAgICAgICAgICB2LCBhZGRyLCBv bGQsIG5ldywgYnl0ZXMsIHNoX2N0eHQpOwo+ICsgICAgcmMgPSB2LT5hcmNoLnBhZ2luZy5tb2Rl LT5zaGFkb3cueDg2X2VtdWxhdGVfY21weGNoZygKPiArICAgICAgICAgICAgIHYsIGFkZHIsICZv bGQsIG5ldywgYnl0ZXMsIHNoX2N0eHQpOwo+ICsKPiArICAgIG1lbWNweShwX29sZCwgJm9sZCwg Ynl0ZXMpOwoKVGhpcyBpcyByZWR1bmRhbnQgd2l0aCAuLi4KCj4gKwo+ICsgICAgcmV0dXJuIHJj Owo+ICB9Cj4gIAo+ICBzdGF0aWMgY29uc3Qgc3RydWN0IHg4Nl9lbXVsYXRlX29wcyBodm1fc2hh ZG93X2VtdWxhdG9yX29wcyA9IHsKPiAtLS0gYS94ZW4vYXJjaC94ODYvbW0vc2hhZG93L211bHRp LmMKPiArKysgYi94ZW4vYXJjaC94ODYvbW0vc2hhZG93L211bHRpLmMKPiBAQCAtNDc0MSwxMSAr NDc0MSwxMSBAQCBzaF94ODZfZW11bGF0ZV93cml0ZShzdHJ1Y3QgdmNwdSAqdiwgdW5zCj4gIAo+ ICBzdGF0aWMgaW50Cj4gIHNoX3g4Nl9lbXVsYXRlX2NtcHhjaGcoc3RydWN0IHZjcHUgKnYsIHVu c2lnbmVkIGxvbmcgdmFkZHIsCj4gLSAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGxv bmcgb2xkLCB1bnNpZ25lZCBsb25nIG5ldywKPiAtICAgICAgICAgICAgICAgICAgICAgICAgdW5z aWduZWQgaW50IGJ5dGVzLCBzdHJ1Y3Qgc2hfZW11bGF0ZV9jdHh0ICpzaF9jdHh0KQo+ICsgICAg ICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGxvbmcgKnBfb2xkLCB1bnNpZ25lZCBsb25nIG5l dywKPiArICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQgYnl0ZXMsIHN0cnVjdCBz aF9lbXVsYXRlX2N0eHQgKnNoX2N0eHQpCj4gIHsKPiAgICAgIHZvaWQgKmFkZHI7Cj4gLSAgICB1 bnNpZ25lZCBsb25nIHByZXY7Cj4gKyAgICB1bnNpZ25lZCBsb25nIHByZXYsIG9sZCA9ICpwX29s ZDsKPiAgICAgIGludCBydiA9IFg4NkVNVUxfT0tBWTsKPiAgCj4gICAgICAvKiBVbmFsaWduZWQg d3JpdGVzIGFyZSBvbmx5IGFjY2VwdGFibGUgb24gSFZNICovCj4gQEAgLTQ3NjksNyArNDc2OSwx MCBAQCBzaF94ODZfZW11bGF0ZV9jbXB4Y2hnKHN0cnVjdCB2Y3B1ICp2LCB1Cj4gICAgICB9Cj4g IAo+ICAgICAgaWYgKCBwcmV2ICE9IG9sZCApCj4gLSAgICAgICAgcnYgPSBYODZFTVVMX1JFVFJZ Owo+ICsgICAgewo+ICsgICAgICAgICpwX29sZCA9IHByZXY7CgouLi4gdGhpcywgaXMgaXQgbm90 PwoKPiArICAgICAgICBydiA9IFg4NkVNVUxfQ01QWENIR19GQUlMRUQ7Cj4gKyAgICB9Cj4gIAo+ ICAgICAgU0hBRE9XX0RFQlVHKEVNVUxBVEUsICJ2YSAlI2x4IHdhcyAlI2x4IGV4cGVjdGVkICUj bHgiCj4gICAgICAgICAgICAgICAgICAgICIgd2FudGVkICUjbHggbm93ICUjbHggYnl0ZXMgJXVc biIsCj4gLS0tIGEveGVuL2FyY2gveDg2L3B2L3JvLXBhZ2UtZmF1bHQuYwo+ICsrKyBiL3hlbi9h cmNoL3g4Ni9wdi9yby1wYWdlLWZhdWx0LmMKPiBAQCAtNjUsMTQgKzY1LDE2IEBAIHN0YXRpYyBp bnQgcHR3cl9lbXVsYXRlZF9yZWFkKGVudW0geDg2X3MKPiAgICAgIHJldHVybiBYODZFTVVMX09L QVk7Cj4gIH0KPiAgCj4gLXN0YXRpYyBpbnQgcHR3cl9lbXVsYXRlZF91cGRhdGUodW5zaWduZWQg bG9uZyBhZGRyLCBwYWRkcl90IG9sZCwgcGFkZHJfdCB2YWwsCj4gLSAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgdW5zaWduZWQgaW50IGJ5dGVzLCB1bnNpZ25lZCBpbnQgZG9fY21weGNo ZywKPiArc3RhdGljIGludCBwdHdyX2VtdWxhdGVkX3VwZGF0ZSh1bnNpZ25lZCBsb25nIGFkZHIs IGludHB0ZV90ICpwX29sZCwKPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnRw dGVfdCB2YWwsIHVuc2lnbmVkIGludCBieXRlcywKPiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBzdHJ1Y3QgeDg2X2VtdWxhdGVfY3R4dCAqY3R4dCkKPiAgewo+ICAgICAgdW5zaWdu ZWQgbG9uZyBtZm47Cj4gICAgICB1bnNpZ25lZCBsb25nIHVuYWxpZ25lZF9hZGRyID0gYWRkcjsK PiAgICAgIHN0cnVjdCBwYWdlX2luZm8gKnBhZ2U7Cj4gICAgICBsMV9wZ2VudHJ5X3QgcHRlLCBv bDFlLCBubDFlLCAqcGwxZTsKPiArICAgIGludHB0ZV90IG9sZCA9IHBfb2xkID8gKnBfb2xkIDog MDsKPiArICAgIHVuc2lnbmVkIGludCBvZmZzZXQgPSAwOwoKSSByZWFsbHkgdGhpbmsgdGhpcyBj b252ZXJzaW9uIHRvIGludHB0ZSBuZWVkcyBzcGxpdHRpbmcgb3V0IGludG8gYQpzZXBhcmF0ZSBw YXRjaC7CoCBZb3UncmUgbWFraW5nIG11bHRpcGxlIGNoYW5nZXMgaW4gdGhpcyBmdW5jdGlvbiB3 aGljaAphcmVuJ3QgYXQgY29tbWl0IG1lc3NhZ2UgYXQgYWxsLCBpbmNsdWRpbmcgaW50cm9kdWNp bmcgdGhlIGRpc3RpbmN0aW9uCkkndmUganVzdCBub3RlZCBvZiAqcF9vbGQgYmVpbmcgTlVMTCBt ZWFuaW5nIGEgd3JpdGUgcmF0aGVyIHRoYW4gY21weGNoZy4KCk9uIHRoYXQgbm90ZSBzcGVjaWZp Y2FsbHksIGl0IHdvdWxkIGJlIGNsZWFyZXIgdG8gaGF2ZSAiY29uc3QgYm9vbApkb19jbXB4Y2hn ID0gKnBfb2xkOyAvKiBjbXB4Y2hnLCBvciB3cml0ZT8gKi8iLsKgIElmIHlvdSBkb24ndCB3YW50 IHRvIGRvCml0LCB0aGVuIHRoZXJlIG5lZWRzIHRvIGJlIGEgY29tbWVudCB3aXRoIHRoZSBmdW5j dGlvbiBleHBsYWluaW5nIHRoZQpzZW1hbnRpY3Mgb2YgcF9vbGQuCgp+QW5kcmV3CgoKX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KWGVuLWRldmVsIG1haWxp bmcgbGlzdApYZW4tZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKaHR0cHM6Ly9saXN0cy54ZW5w cm9qZWN0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL3hlbi1kZXZlbA==