From mboxrd@z Thu Jan 1 00:00:00 1970 From: Razvan Cojocaru Subject: Re: [for-4.7] x86/emulate: synchronize LOCKed instruction emulation Date: Tue, 19 Apr 2016 14:01:53 +0300 Message-ID: <57161021.30303@bitdefender.com> References: <1460550374-4344-1-git-send-email-rcojocaru@bitdefender.com> <570F725F.2030209@citrix.com> <570F827F.2060401@bitdefender.com> <570FC7E002000078000E67BB@prv-mh.provo.novell.com> <570FBB03.1060808@bitdefender.com> <570FCE8402000078000E67F2@prv-mh.provo.novell.com> <5714CF8C.3040408@bitdefender.com> <57151D4A02000078000E6C15@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: <57151D4A02000078000E6C15@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: tim@xen.org, wei.liu2@citrix.com, george.dunlap@eu.citrix.com, andrew.cooper3@citrix.com, ian.jackson@eu.citrix.com, xen-devel@lists.xen.org, paul.durrant@citrix.com, david.vrabel@citrix.com, keir@xen.org List-Id: xen-devel@lists.xenproject.org T24gMDQvMTgvMjAxNiAwNzo0NSBQTSwgSmFuIEJldWxpY2ggd3JvdGU6Cj4+Pj4gUmF6dmFuIENv am9jYXJ1IDxyY29qb2NhcnVAYml0ZGVmZW5kZXIuY29tPiAwNC8xOC8xNiAyOjQwIFBNID4+Pgo+ PiBPbiAwNC8xNC8yMDE2IDA3OjA4IFBNLCBKYW4gQmV1bGljaCB3cm90ZToKPj4+Pj4+IFJhenZh biBDb2pvY2FydSA8cmNvam9jYXJ1QGJpdGRlZmVuZGVyLmNvbT4gMDQvMTQvMTYgNTo0NSBQTSA+ Pj4KPj4+PiBPbiAwNC8xNC8yMDE2IDA2OjQwIFBNLCBKYW4gQmV1bGljaCB3cm90ZToKPj4+Pj4g VG8gYmUgaG9uZXN0LCBqdXN0IGhhdmluZyByZW1lbWJlcmVkIHRoYXQgd2UgZG8gdGhlIHdyaXRl IGJhY2sgZm9yIGxvY2tlZAo+Pj4+PiBpbnN0cnVjdGlvbnMgdXNpbmcgQ01QWENIRywgSSdkIGZp cnN0IG9mIGFsbCBsaWtlIHRvIHNlZSBhIHByb3BlciBkZXNjcmlwdGlvbgo+Pj4+PiBvZiAidGhl IF93aG9sZV8gaXNzdWUiLgo+Pj4+Cj4+Pj4gSSBiZWxpZXZlIGF0IGxlYXN0IHBhcnQgb2YgdGhl IGlzc3VlIGhhcyB0byBkbyB3aXRoIHRoZSBjb21tZW50IG9uIGxpbmUKPj4+PiAxMDEzIGZyb20g eGVuL2FyY2gveDg2L2h2bS9lbXVsYXRlLmM6Cj4+Pj4KPj4+ICA+OTk0IHN0YXRpYyBpbnQgaHZt ZW11bF9jbXB4Y2hnKAo+Pj4gID45OTUgICAgIGVudW0geDg2X3NlZ21lbnQgc2VnLAo+Pj4gID45 OTYgICAgIHVuc2lnbmVkIGxvbmcgb2Zmc2V0LAo+Pj4gID45OTcgICAgIHZvaWQgKnBfb2xkLAo+ Pj4gID45OTggICAgIHZvaWQgKnBfbmV3LAo+Pj4gID45OTkgICAgIHVuc2lnbmVkIGludCBieXRl cywKPj4+PiAxMDAwICAgICBzdHJ1Y3QgeDg2X2VtdWxhdGVfY3R4dCAqY3R4dCkKPj4+PiAxMDAx IHsKPj4+PiAxMDAyICAgICBzdHJ1Y3QgaHZtX2VtdWxhdGVfY3R4dCAqaHZtZW11bF9jdHh0ID0K Pj4+PiAxMDAzICAgICAgICAgY29udGFpbmVyX29mKGN0eHQsIHN0cnVjdCBodm1fZW11bGF0ZV9j dHh0LCBjdHh0KTsKPj4+PiAxMDA0Cj4+Pj4gMTAwNSAgICAgaWYgKCB1bmxpa2VseShodm1lbXVs X2N0eHQtPnNldF9jb250ZXh0KSApCj4+Pj4gMTAwNiAgICAgewo+Pj4+IDEwMDcgICAgICAgICBp bnQgcmMgPSBzZXRfY29udGV4dF9kYXRhKHBfbmV3LCBieXRlcyk7Cj4+Pj4gMTAwOAo+Pj4+IDEw MDkgICAgICAgICBpZiAoIHJjICE9IFg4NkVNVUxfT0tBWSApCj4+Pj4gMTAxMCAgICAgICAgICAg ICByZXR1cm4gcmM7Cj4+Pj4gMTAxMSAgICAgfQo+Pj4+IDEwMTIKPj4+PiAxMDEzICAgICAvKiBG aXggdGhpcyBpbiBjYXNlIHRoZSBndWVzdCBpcyByZWFsbHkgcmVseWluZyBvbiByLW0tdyBhdG9t aWNpdHkuICovCj4+Pj4gMTAxNCAgICAgcmV0dXJuIGh2bWVtdWxfd3JpdGUoc2VnLCBvZmZzZXQs IHBfbmV3LCBieXRlcywgY3R4dCk7Cj4+Pj4gMTAxNSB9Cj4+Pgo+Pj4gQWgsIHNvIF90aGF0J3Nf IHdoZXJlIHRoZSBwcm9ibGVtIHdhbnRzIHRvIGJlIGZpeGVkIHRoZW4gKGxlYXZpbmcgLSBhZmFp Y3QgLQo+Pj4gUFYgZW11bGF0aW9uIHBhdGhzIGNvbXBsZXRlbHkgdW5hZmZlY3RlZCkuCj4+Cj4+ IFRoYXQncyB3aGF0IEkgaGFkIGhvcGVkIHRvbywgYW4gZWFybHkgdmVyc2lvbiBvZiB0aGlzIHBh dGNoIHNpbXBseSB1c2VkCj4+IGEgc3BpbmxvY2sgdGhhdCBsb2NrZWQgLyB1bmxvY2sgb24gZW50 cnkgLyBleGl0IG9mIGh2bWVtdWxfY21weGNoZygpLgo+PiBFdmVuIHdpdGggdGhpcyBwYXRjaCwg SSd2ZSBqdXN0IHRyaWVkIGl0IGFnYWluIHdpdGggYWxsIG9wcy0+c21wX2xvY2soKQo+PiAvIG9w cy0+c21wX3VubG9jaygpIGNhbGxzIGNvbW1lbnRlZCBvdXQgaW4geDg2X2VtdWxhdGUoKSwgYW5k Cj4+IGh2bWVtdWxfY21weGNoZygpIG1vZGlmaWVkIGFzIGZvbGxvd3M6Cj4+Cj4gID45OTQgc3Rh dGljIGludCBodm1lbXVsX2NtcHhjaGcoCj4gID45OTUgICAgIGVudW0geDg2X3NlZ21lbnQgc2Vn LAo+ICA+OTk2ICAgICB1bnNpZ25lZCBsb25nIG9mZnNldCwKPiAgPjk5NyAgICAgdm9pZCAqcF9v bGQsCj4gID45OTggICAgIHZvaWQgKnBfbmV3LAo+ICA+OTk5ICAgICB1bnNpZ25lZCBpbnQgYnl0 ZXMsCj4+IDEwMDAgICAgIHN0cnVjdCB4ODZfZW11bGF0ZV9jdHh0ICpjdHh0KQo+PiAxMDAxIHsK Pj4gMTAwMiAgICAgc3RydWN0IGh2bV9lbXVsYXRlX2N0eHQgKmh2bWVtdWxfY3R4dCA9Cj4+IDEw MDMgICAgICAgICBjb250YWluZXJfb2YoY3R4dCwgc3RydWN0IGh2bV9lbXVsYXRlX2N0eHQsIGN0 eHQpOwo+PiAxMDA0ICAgICBpbnQgcmM7Cj4+IDEwMDUKPj4gMTAwNiAgICAgZW11bGF0ZV9zbXBf bG9jaygxKTsKPj4gMTAwNwo+PiAxMDA4ICAgICBpZiAoIHVubGlrZWx5KGh2bWVtdWxfY3R4dC0+ c2V0X2NvbnRleHQpICkKPj4gMTAwOSAgICAgewo+PiAxMDEwICAgICAgICAgaW50IHJjID0gc2V0 X2NvbnRleHRfZGF0YShwX25ldywgYnl0ZXMpOwo+PiAxMDExCj4+IDEwMTIgICAgICAgICBpZiAo IHJjICE9IFg4NkVNVUxfT0tBWSApCj4+IDEwMTMgICAgICAgICAgICAgcmV0dXJuIHJjOwo+PiAx MDE0ICAgICB9Cj4+IDEwMTUKPj4gMTAxNiAgICAgLyogRml4IHRoaXMgaW4gY2FzZSB0aGUgZ3Vl c3QgaXMgcmVhbGx5IHJlbHlpbmcgb24gci1tLXcKPj4gYXRvbWljaXR5LiAqLwo+PiAxMDE3ICAg ICByYyA9IGh2bWVtdWxfd3JpdGUoc2VnLCBvZmZzZXQsIHBfbmV3LCBieXRlcywgY3R4dCk7Cj4+ IDEwMTgKPj4gMTAxOSAgICAgZW11bGF0ZV9zbXBfdW5sb2NrKDEpOwo+PiAxMDIwCj4+IDEwMjEg ICAgIHJldHVybiByYzsKPj4gMTAyMiB9Cj4+Cj4+IFVuZm9ydHVuYXRlbHksIHdpdGgganVzdCB0 aGlzIHRoZSBndWVzdCBzdGlsbCBoYW5ncywgd2hpbGUgd2l0aCByZWFkIGFuZAo+PiB3cml0ZSBs b2NraW5nIGluIHg4Nl9lbXVsYXRlKCkgaXQgZG9lcyBub3QuCj4gCj4gVGhhdCdzIHVuZXhwZWN0 ZWQgYXQgbGVhc3QgYXQgdGhlIGZpcnN0IGdsYW5jZSwgYnV0IGp1c3RpZnlpbmcgc29tZSB2YXJp YW50IG9mCj4gdGhlIHBhdGNoIHlvdSBoYXZlIHN1Ym1pdHRlZCB3b3VsZCByZXF1aXJlIHVuZGVy c3RhbmRpbmcgd2h5IHRoZSBhYm92ZQo+IGNoYW5nZSBpc24ndCBlbm91Z2ggYW5kIGNhbid0IGJl IHN1aXRhYmx5IGV4dGVuZGVkIHRvIGJlIHN1ZmZpY2llbnQuCgpJIHRoaW5rIHRoaXMgbWlnaHQg YmUgYmVjYXVzZSB0aGUgTE9DSyBwcmVmaXggc2hvdWxkIGd1YXJhbnRlZSB0aGF0IHRoZQppbnN0 cnVjdGlvbiB0aGF0IGZvbGxvd3MgaXQgaGFzIGV4Y2x1c2l2ZSB1c2Ugb2Ygc2hhcmVkIG1lbW9y eSAoZm9yIGJvdGgKcmVhZHMgYW5kIHdyaXRlcykgYnV0IEkgbWlnaHQgYmUgbWlzcmVhZGluZyB0 aGUgZG9jczoKCihGcm9tIHRoZSBJbnRlbCBTRE0pICJDYXVzZXMgdGhlIHByb2Nlc3NvcuKAmXMg TE9DSyMgc2lnbmFsIHRvIGJlIGFzc2VydGVkCmR1cmluZyBleGVjdXRpb24gb2YgdGhlIGFjY29t cGFueWluZyBpbnN0cnVjdGlvbiAodHVybnMgdGhlIGluc3RydWN0aW9uCmludG8gYW4gYXRvbWlj IGluc3RydWN0aW9uKS4gSW4gYSBtdWx0aXByb2Nlc3NvciBlbnZpcm9ubWVudCwgdGhlIExPQ0sj CnNpZ25hbCBlbnN1cmVzIHRoYXQgdGhlIHByb2Nlc3NvciBoYXMgZXhjbHVzaXZlIHVzZSBvZiBh bnkgc2hhcmVkIG1lbW9yeQp3aGlsZSB0aGUgc2lnbmFsIGlzIGFzc2VydGVkLiIKClVzaW5nIGEg c3BpbiBsb2NrIChvciB0aGUgcndsb2NrIGluIHRoZSBtYW5uZXIgZGVzY3JpYmVkIGFib3ZlKSBp bgpodm1lbXVsX2NtcHhjaGcoKSBvbmx5IHByZXZlbnRzIHR3byBMT0NLZWQgaW5zdHJ1Y3Rpb25z IGZyb20gcnVubmluZyBhdAp0aGUgc2FtZSB0aW1lLCBidXQgcHJlc3VtYWJseSBldmVuIG5vbi1M T0NLZWQgaW5zdHJ1Y3Rpb25zIGp1c3QgcmVhZGluZwp0aGF0IG1lbW9yeSBhcmVhIHNob3VsZCBi ZSBwcmV2ZW50ZWQgZnJvbSBydW5uaW5nIHVudGlsIHRoZSBMT0NLZWQKaW5zdHJ1Y3Rpb24gaXMg ZG9uZSAoaGVuY2UgdGhlIGd1ZXN0IHN0YXJ0aW5nIHVwIHdpdGggdGhlIHJ3bG9jayBpbgp4ODZf ZW11bGF0ZSgpIGJ1dCBub3Qgd2l0aCBpdCBsb2NrZWQgb25seSBpbiBodm1lbXVsX2NtcHhjaGco KSkuCgpIb3BlZnVsbHkgSSBoYXZlbid0IG1pc3VuZGVyc3Rvb2QgdGhlIGlzc3VlLgoKClRoYW5r cywKUmF6dmFuCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f XwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54ZW4ub3JnCmh0dHA6Ly9s aXN0cy54ZW4ub3JnL3hlbi1kZXZlbAo=