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: Mon, 3 Apr 2017 21:36:20 +0300 Message-ID: <8962b91c-2fa3-b17d-b6d9-4b533343ebe9@bitdefender.com> References: <1490361899-18303-1-git-send-email-rcojocaru@bitdefender.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> <58DD44AE020000780014ACF2@prv-mh.provo.novell.com> <36d0e322-407c-16dd-8831-ebc2f7f33021@bitdefender.com> <58DE22BF020000780014B070@prv-mh.provo.novell.com> <2e799e78-9a6b-cf92-a98d-009920258f77@bitdefender.com> <58DE87FF020000780014B66E@prv-mh.provo.novell.com> <70fa19a1-e11e-d729-9dbd-ead8d06a00fa@bitdefender.com> <58DE8C2A020000780014B6BF@prv-mh.provo.novell.com> <15d76365-71a4-5f83-9ab3-a5bcc2564910@bitdefender.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: 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 T24gMDQvMDMvMjAxNyAwOToyMCBQTSwgUmF6dmFuIENvam9jYXJ1IHdyb3RlOgo+IE9uIDA0LzAx LzIwMTcgMDc6NTYgUE0sIFJhenZhbiBDb2pvY2FydSB3cm90ZToKPj4gT24gMDMvMzEvMjAxNyAw NjowNCBQTSwgSmFuIEJldWxpY2ggd3JvdGU6Cj4+Pj4+PiBPbiAzMS4wMy4xNyBhdCAxNzowMSwg PHJjb2pvY2FydUBiaXRkZWZlbmRlci5jb20+IHdyb3RlOgo+Pj4+IE9uIDAzLzMxLzIwMTcgMDU6 NDYgUE0sIEphbiBCZXVsaWNoIHdyb3RlOgo+Pj4+Pj4+PiBPbiAzMS4wMy4xNyBhdCAxMTo1Niwg PHJjb2pvY2FydUBiaXRkZWZlbmRlci5jb20+IHdyb3RlOgo+Pj4+Pj4gT24gMDMvMzEvMjAxNyAx MDozNCBBTSwgSmFuIEJldWxpY2ggd3JvdGU6Cj4+Pj4+Pj4+Pj4gT24gMzEuMDMuMTcgYXQgMDg6 MTcsIDxyY29qb2NhcnVAYml0ZGVmZW5kZXIuY29tPiB3cm90ZToKPj4+Pj4+Pj4gT24gMDMvMzAv MjAxNyAwNjo0NyBQTSwgSmFuIEJldWxpY2ggd3JvdGU6Cj4+Pj4+Pj4+Pj4gU3BlYWtpbmcgb2Yg ZW11bGF0ZWQgTU1JTywgSSd2ZSBnb3QgdGhpcyB3aGVuIHRoZSBndWVzdCB3YXMgY3Jhc2hpbmcK Pj4+Pj4+Pj4+PiBpbW1lZGlhdGVseSAocHJlIFJFVFJZIGxvb3ApOgo+Pj4+Pj4+Pj4+Cj4+Pj4+ Pj4+Pj4gIE1NSU8gZW11bGF0aW9uIGZhaWxlZDogZDN2OCAzMmJpdCBAIDAwMDg6ODI2NzlmM2Mg LT4gZjAgMGYgYmEgMzAgMDAgNzIKPj4+Pj4+Pj4+PiAwNyA4YiBjYiBlOCBkYSA0YiBmZiBmZiA4 YiA0NQo+Pj4+Pj4+Pj4KPj4+Pj4+Pj4+IFRoYXQncyBhIEJUUiwgd2hpY2ggd2Ugc2hvdWxkIGJl IGVtdWxhdGluZyBmaW5lLiBNb3JlIGluZm9ybWF0aW9uCj4+Pj4+Pj4+PiB3b3VsZCBuZWVkIHRv IGJlIGNvbGxlY3RlZCB0byBoYXZlIGEgY2hhbmNlIHRvIHVuZGVyc3RhbmQgd2hhdAo+Pj4+Pj4+ Pj4gbWlnaHQgYmUgZ29pbmcgb25lIChmaXJzdCBvZiBhbGwgdGhlIHZpcnR1YWwgYW5kIHBoeXNp Y2FsIG1lbW9yeQo+Pj4+Pj4+Pj4gYWRkcmVzcyB0aGlzIHdhcyB0cnlpbmcgdG8gYWN0IG9uKS4K Pj4+Pj4+Pj4KPj4+Pj4+Pj4gUmlnaHQsIHRoZSBCVFIgcGFydCBzaG91bGQgYmUgZmluZSwgYnV0 IEkgdGhpbmsgdGhlIExPQ0sgcGFydCBpcyB3aGF0J3MKPj4+Pj4+Pj4gY2F1c2luZyB0aGUgaXNz dWUuIEkndmUgZG9uZSBhIGZldyBtb3JlIHRlc3QgcnVucyB0byBzZWUgd2hhdCByZXR1cm4KPj4+ Pj4+Pj4gUkVUUlkgKGR1bXBpbmcgdGhlIGluc3RydWN0aW9uIHdpdGggYW4gIihyKSIgcHJlZml4 IHRvIGRpc3Rpbmd1aXNoIGZyb20KPj4+Pj4+Pj4gdGhlIFVOSEFORExFQUJMRSBkdW1wKSwgYW5k IGEgY291cGxlIG9mIGluc3RydWN0aW9ucyByZXR1cm4gUkVUUlkgKEJUUgo+Pj4+Pj4+PiBhbmQg WEFERCwgYm90aCBMT0NLLXByZWZpeGVkLCB3aGljaCBtZWFucyB0aGV5IG5vdyBpbnZvbHZlIENN UFhDSEcKPj4+Pj4+Pj4gaGFuZGxlciwgd2hpY2ggcHJlc3VtYWJseSBub3cgZmFpbHMgLSBwb3Nz aWJseSBzaW1wbHkgYmVjYXVzZSBpdCdzCj4+Pj4+Pj4+IGFsd2F5cyBMT0NLZWQgaW4gbXkgcGF0 Y2gpOgo+Pj4+Pj4+Cj4+Pj4+Pj4gV2VsbCwgYWxsIG9mIHRoYXQgbG9va3MgdG8gYmUgZXhwZWN0 ZWQgYmVoYXZpb3IuIEknbSBhZnJhaWQgSSBkb24ndCBzZWUKPj4+Pj4+PiBob3cgdGhpcyBpbmZv cm1hdGlvbiBoZWxwcyB1bmRlcnN0YW5kaW5nIHRoZSBNTUlPIGVtdWxhdGlvbiBmYWlsdXJlCj4+ Pj4+Pj4gYWJvdmUuCj4+Pj4+Pgo+Pj4+Pj4gSSd2ZSBtYW5hZ2VkIHRvIG9idGFpbiB0aGlzIGxv ZyBvZiBlbXVsYXRpb24gZXJyb3JzOgo+Pj4+Pj4gaHR0cHM6Ly9wYXN0ZWJpbi5jb20vRXN5MVNr SHggCj4+Pj4+Pgo+Pj4+Pj4gVGhlICJ2aXJ0dWFsIGFkZHJlc3MiIGxpbmVzIHRoYXQgYXJlIG5v dCBmb2xsb3dlZCBieSBhbnkgIk1lbSBldmVudCIKPj4+Pj4+IGxpbmUgY29ycmVzcG9uZCB0byBD TVhDSEdfRkFJTEVEIHJldHVybiBjb2Rlcy4KPj4+Pj4+Cj4+Pj4+PiBUaGUgdmVyeSBsYXN0IGxp bmUgaXMgYSBNTUlPIGVtdWxhdGlvbiBmYWlsZWQuCj4+Pj4+Pgo+Pj4+Pj4gSXQncyBwcm9iYWJs eSBpbXBvcnRhbnQgdGhhdCB0aGlzIGhhcHBlbnMgd2l0aCB0aGUgbW9kZWwgd2hlcmUKPj4+Pj4+ IGh2bV9lbXVsYXRlX29uZV92bV9ldmVudCgpIGRvZXMgX25vdF8gcmUtdHJ5IHRoZSBlbXVsYXRp b24gdW50aWwgaXQKPj4+Pj4+IHN1Y2NlZWRzLiBUaGUgb3RoZXIgbW9kZWwgYWxsb3dzIG1lIHRv IGdvIGZ1cnRoZXIgd2l0aCB0aGUgZ3Vlc3QsIGJ1dAo+Pj4+Pj4gZXZlbnR1YWxseSBJIGdldCB0 aW1lb3V0LXJlbGF0ZWQgQlNPRHMgb3IgdGhlIGd1ZXN0IGJlY29tZXMgdW5yZXNwb25zaXZlLgo+ Pj4+Pgo+Pj4+PiBJbnRlcmVzdGluZy4gWW91IGRpZG4ndCBjbGFyaWZ5IHdoYXQgdGhlIHByaW50 ZWQgIm9mZnNldCIgdmFsdWVzIGFyZSwKPj4+Pj4gYW5kIGl0IGRvZXNuJ3QgbG9vayBsaWtlIHRo ZXNlIGhhdmUgYW55IGNvcnJlbGF0aW9uIHdpdGggdGhlIHVuZGVybHlpbmcKPj4+Pj4gKGd1ZXN0 KSBwaHlzaWNhbCBhZGRyZXNzLCB3aGljaCB3ZSB3b3VsZCBhbHNvIHdhbnQgdG8gc2VlLiBBbmQg dGhlbgo+Pj4+PiBpdCBzdHJpa2VzIG1lIGFzIG9kZCB0aGF0IGluIHRoZXNlIGxhc3QgbGluZXMK Pj4+Pj4KPj4+Pj4gKFhFTikgTWVtIGV2ZW50IChSRVRSWSkgZW11bGF0aW9uIGZhaWxlZDogZDV2 OCAzMmJpdCBAIDAwMDg6ODI2YmI4NjEgLT4gZjAgMGYgCj4+Pj4gYmEgMzAgMDAgNzIgMDcgOGIg Y2IgZTggZGEgNGIgZmYgZmYgOGIgNDUKPj4+Pj4gKFhFTikgdmlydHVhbCBhZGRyZXNzOiAweGZm ZDA4MGYwLCBvZmZzZXQ6IDQyOTE4NTQ1NzYKPj4+Pj4gKFhFTikgTU1JTyBlbXVsYXRpb24gZmFp bGVkOiBkNXY4IDMyYml0IEAgMDAwODo4MjY1NWYzYyAtPiBmMCAwZiBiYSAzMCAwMCA3MiAKPj4+ PiAwNyA4YiBjYiBlOCBkYSA0YiBmZiBmZiA4YiA0NQo+Pj4+Pgo+Pj4+PiB0aGUgaW5zdHJ1Y3Rp b24gcG9pbnRlcnMgYW5kIHZpcnR1YWwgYWRkcmVzc2VzIGFyZSBkaWZmZXJlbnQsIGJ1dCB0aGUK Pj4+Pj4gY29kZSBieXRlcyBhcmUgZXhhY3RseSB0aGUgc2FtZS4gVGhpcyBkb2Vzbid0IHNlZW0g dmVyeSBsaWtlbHksIHNvIEkKPj4+Pj4gd29uZGVyIHdoZXRoZXIgdGhlcmUncyBhbiBpc3N1ZSB3 aXRoIHVzIHdyb25nbHkgcmUtdXNpbmcgcHJldmlvdXNseQo+Pj4+PiBmZXRjaGVkIGluc24gYnl0 ZXMuIChPZiBjb3Vyc2UgSSdkIGJlIGhhcHB5IHRvIGJlIHByb3ZlbiB3cm9uZyB3aXRoCj4+Pj4+ IHRoaXMgZ3Vlc3NpbmcsIGJ5IHlvdSBjaGVja2luZyB0aGUgaW52b2x2ZWQgYmluYXJ5L2llcy4p Cj4+Pj4KPj4+PiBPZmZzZXQgaXMgdGhlIGFjdHVhbCB2YWx1ZSBvZiB0aGUgIm9mZnNldCIgcGFy YW1ldGVyIG9mCj4+Pj4gaHZtZW11bF9jbXB4Y2hnKCkuCj4+Pgo+Pj4gVGhhdCdzIG5vdCB2ZXJ5 IHVzZWZ1bCB0aGVuLCBhcyBmb3IgZmxhdCBzZWdtZW50cyAib2Zmc2V0IiA9PQo+Pj4gInZpcnR1 YWwgYWRkcmVzcyIgKGkuZS4geW91IG1lcmVseSByZS1wcmludCBpbiBkZWNpbWFsIHdoYXQgeW91 J3ZlCj4+PiBhbHJlYWR5IHByaW50ZWQgaW4gaGV4KS4KPj4KPj4gVGhlIGF0dGFjaGVkIHBhdGNo IChhIGNvbWJpbmF0aW9uIG9mIHlvdXIgcGF0Y2ggYW5kIG1pbmUpIHByb2R1Y2VzIHRoZQo+PiBm b2xsb3dpbmcgb3V0cHV0IHdoZW4gYm9vdGluZyBhIFdpbmRvd3MgNyAzMi1iaXQgZ3Vlc3Qgd2l0 aCBtb25pdG9yaW5nOgo+PiBodHRwczovL3Bhc3RlYmluLmNvbS9heWlGbWoxTgo+Pgo+PiBUaGUg ZmFpbGVkIE1NSU8gZW11bGF0aW9uIGlzIGNhdXNlZCBieSBhIG1hcHBpbmcgZmFpbHVyZSBkdWUg dG8gdGhlCj4+ICIhbmVzdGVkaHZtX3ZjcHVfaW5fZ3Vlc3Rtb2RlKGN1cnIpICYmIGh2bV9tbWlv X2ludGVybmFsKGdwYSkiIGNvbmRpdGlvbgo+PiBiZWluZyB0cnVlIGluIGh2bWVtdWxfdmFkZHJf dG9fbWZuKCkuIEkndmUgcmlwcGVkIHRoYXQgb2ZmIGZyb20KPj4gX19odm1fY29weSgpIGJ1dCBp dCBsb29rcyBsaWtlIHRoYXQgbWlnaHQgbm90IGJlIHRoZSByaWdodCB3YXkgdG8gdXNlIGl0Lgo+ IAo+IFNvcnJ5IHRvIHJlcGx5IHRvIHRoaXMgZW1haWwgaW5zdGVhZCBvZiB5b3VyIG9yaWdpbmFs IHJlcGx5IGJ1dCBJJ3ZlCj4gImxlZnQgaXQiIGluIG15IGNvbXB1dGVyIGF0IHdvcmsuIEhlcmUn cyB0aGUgbGFzdCBwYXJ0IG9mIHRoZSBsb2csIHdpdGgKPiB0aGUgVkNQVSBudW1iZXIgbG9nZ2Vk IGZvciB0aGUgR0ZOIGFzIHdlbGw6Cj4gCj4gKFhFTikgWzhdIGdmbjogMHgyNzgxCj4gKFhFTikg WzhdIHZpcnR1YWwgYWRkcmVzczogMHg4Mjc4MTBhOCwgcmM6IDAKPiAoWEVOKSBbOF0gZ2ZuOiAw eDI3ODEKPiAoWEVOKSBbOF0gdmlydHVhbCBhZGRyZXNzOiAweDgyNzgxMGE4LCByYzogMAo+IChY RU4pIFs4XSBnZm46IDB4Mjc4MQo+IChYRU4pIFs4XSB2aXJ0dWFsIGFkZHJlc3M6IDB4ODI3ODEw Y2MsIHJjOiAwCj4gKFhFTikgWzhdIGdmbjogMHgyNzgxCj4gKFhFTikgWzhdIHZpcnR1YWwgYWRk cmVzczogMHg4Mjc4MTA5YywgcmM6IDAKPiAoWEVOKSBbOF0gZ2ZuOiAweDI3ODEKPiAoWEVOKSBb OF0gdmlydHVhbCBhZGRyZXNzOiAweDgyNzgxMGQwLCByYzogMAo+IChYRU4pIFsxMV0gZ2ZuOiAw eDI3ODEKPiAoWEVOKSBbOF0gZ2ZuOiAweDI3ODEKPiAoWEVOKSBbMTFdIHZpcnR1YWwgYWRkcmVz czogMHg4Mjc4MTA5YywgcmM6IDAKPiAoWEVOKSBbOF0gdmlydHVhbCBhZGRyZXNzOiAweDgyNzgx MDljLCByYzogNAo+IChYRU4pIER1bXAgZm9sbG93cyBmb3IgVkNQVSA4Cj4gKFhFTikgTWVtIGV2 ZW50IChSRVRSWSkgZW11bGF0aW9uIGZhaWxlZDogZDN2OCAzMmJpdCBAIDAwMDg6ODI2YjVjN2Mg LT4KPiBmMCAwZiBjMSAwOCA4NSBjOSA3NCAxZiBmNiBjMSAwMiA3NSAxYSA0MSA4ZCA0MQo+IChY RU4pIFsxMV0gZ2ZuOiAweDI3ODEKPiAoWEVOKSBbMTFdIHZpcnR1YWwgYWRkcmVzczogMHg4Mjc4 MTBhOCwgcmM6IDAKPiAoWEVOKSBbMTFdIGdmbjogMHgyNzgxCj4gKFhFTikgWzExXSB2aXJ0dWFs IGFkZHJlc3M6IDB4ODI3ODEwYTgsIHJjOiAwCj4gKFhFTikgWzhdIGdmbjogMHhmZWQwMAo+IChY RU4pICFwYWdlCj4gKFhFTikgaHZtZW11bF92YWRkcl90b19tZm4oKSBmYWlsCj4gKFhFTikgWzhd IHZpcnR1YWwgYWRkcmVzczogMHhmZmQwODBmMCwgcmM6IDEKPiAoWEVOKSBNTUlPIGVtdWxhdGlv biBmYWlsZWQ6IGQzdjggMzJiaXQgQCAwMDA4OjgyNjRmZjNjIC0+IGYwIDBmIGMxIDA4Cj4gODUg YzkgNzQgMWYgZjYgYzEgMDIgNzUgMWEgNDEgOGQgNDEKPiAKPiBUaGUgY29kZSBkb2VzIGxvb2sg dGhlIHNhbWUgZm9yIHRoZSBsYXN0IHR3byBmYWlsdXJlcyBvbiBWQ1BVIDgsIGZvcgo+IGNsZWFy bHkgZGlmZmVyZW50IEdGTnMgYW5kIHZpcnR1YWwgYWRkcmVzc2VzLiBUaGUgZmlyc3QgdGltZSBp dCBoaXRzIGEKPiBwcm90ZWN0ZWQgcGFnZSwgd2UgdHJ5IHRvIGVtdWxhdGUgdGhlIGluc3RydWN0 aW9uIGFuZCBpdCBmYWlscyB3aXRoCj4gWDg2RU1VTF9DTVBYQ0hHX0ZBSUxFRCAocmM6IDQpLiBU aGVuIGl0IHNvbWVob3cgcG9wcyB1cCBhZ2FpbiBhbmQgdGhpcwo+IHRpbWUgaXQncyBNTUlPLWVt dWxhdGVkLCBhbmQgdGhhdCBmYWlscyBhcyB3ZWxsICh3aXRoIFVOSEFORExFQUJMRSwKPiBzaW5j ZSB3ZSBjYW4ndCBzZWVtIHRvIGJlIGFibGUgdG8gbWFwIHRoZSBtZW1vcnkpLgoKQW5vdGhlciBs b2csIG1ha2luZyBzdXJlIHRoYXQgdGhlIE1NSU8gZW11bGF0aW9uIGZhaWwgcmVhbGx5IGhhcHBl bnMgb24KdGhlIHNhbWUgcHJvY2Vzc29yIGFzIHRoZSBwcmVjZWRpbmcgKGlkZW50aWNhbCBieXRl cykgZmFpbDoKCihYRU4pIFs4XSBnZm46IDB4Mjc2ZgooWEVOKSBbMTFdIHZpcnR1YWwgYWRkcmVz czogMHg4Mjc2ZjA5YywgcmM6IDAKKFhFTikgWzhdIHZpcnR1YWwgYWRkcmVzczogMHg4Mjc2ZjA5 YywgcmM6IDQKKFhFTikgRHVtcCBmb2xsb3dzIGZvciBWQ1BVIDgKKFhFTikgTWVtIGV2ZW50IChS RVRSWSkgZW11bGF0aW9uIGZhaWxlZDogZDN2OCAzMmJpdCBAIDAwMDg6ODI2YTM4NjEgLT4KZjAg MGYgYmEgMzAgMDAgNzIgMDcgOGIgY2IgZTggZGEgNGIgZmYgZmYgOGIgNDUKKFhFTikgWzExXSBn Zm46IDB4Mjc2ZgooWEVOKSBbMTFdIHZpcnR1YWwgYWRkcmVzczogMHg4Mjc2ZjBkMCwgcmM6IDAK KFhFTikgWzExXSBnZm46IDB4Mjc2ZgooWEVOKSBbMTFdIHZpcnR1YWwgYWRkcmVzczogMHg4Mjc2 ZjA5YywgcmM6IDAKKFhFTikgWzExXSBnZm46IDB4Mjc2ZgooWEVOKSBbMTFdIHZpcnR1YWwgYWRk cmVzczogMHg4Mjc2ZjBjYywgcmM6IDAKKFhFTikgWzExXSBnZm46IDB4Mjc2ZgooWEVOKSBbMTFd IHZpcnR1YWwgYWRkcmVzczogMHg4Mjc2ZjA5YywgcmM6IDAKKFhFTikgWzhdIGdmbjogMHhmZWQw MAooWEVOKSAhcGFnZQooWEVOKSBodm1lbXVsX3ZhZGRyX3RvX21mbigpIGZhaWwKKFhFTikgWzhd IHZpcnR1YWwgYWRkcmVzczogMHhmZmQwODBmMCwgcmM6IDEKKFhFTikgRHVtcCBmb2xsb3dzIGZv ciBWQ1BVIDgKKFhFTikgTU1JTyBlbXVsYXRpb24gZmFpbGVkOiBkM3Y4IDMyYml0IEAgMDAwODo4 MjYzZGYzYyAtPiBmMCAwZiBiYSAzMAowMCA3MiAwNyA4YiBjYiBlOCBkYSA0YiBmZiBmZiA4YiA0 NQooWEVOKSBbMTFdIGdmbjogMHgyNzZmCihYRU4pIFsxMV0gdmlydHVhbCBhZGRyZXNzOiAweDgy NzZmMGQwLCByYzogMAoKClRoYW5rcywKUmF6dmFuCgpfX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fXwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZlbEBs aXN0cy54ZW4ub3JnCmh0dHBzOi8vbGlzdHMueGVuLm9yZy94ZW4tZGV2ZWwK