From mboxrd@z Thu Jan 1 00:00:00 1970 From: Paul Durrant Subject: Re: [PATCH 2/2] x86/HVM: use available linear->phys translations in REP MOVS/STOS handling Date: Fri, 10 Jun 2016 15:17:50 +0000 Message-ID: <25ef726912ab45758829b5e8598f9e0d@AMSPEX02CL03.citrite.net> References: <575833E402000078000F30E7@prv-mh.provo.novell.com> <5758355302000078000F30FE@prv-mh.provo.novell.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail6.bemta5.messagelabs.com ([195.245.231.135]) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1bBOBz-0008HB-Tc for xen-devel@lists.xenproject.org; Fri, 10 Jun 2016 15:17:52 +0000 In-Reply-To: <5758355302000078000F30FE@prv-mh.provo.novell.com> Content-Language: en-US List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: Jan Beulich , xen-devel List-Id: xen-devel@lists.xenproject.org PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQo+IEZyb206IEphbiBCZXVsaWNoIFttYWlsdG86 SkJldWxpY2hAc3VzZS5jb21dCj4gU2VudDogMDggSnVuZSAyMDE2IDE0OjEwCj4gVG86IHhlbi1k ZXZlbAo+IENjOiBQYXVsIER1cnJhbnQKPiBTdWJqZWN0OiBbUEFUQ0ggMi8yXSB4ODYvSFZNOiB1 c2UgYXZhaWxhYmxlIGxpbmVhci0+cGh5cyB0cmFuc2xhdGlvbnMgaW4gUkVQCj4gTU9WUy9TVE9T IGhhbmRsaW5nCj4gCj4gSWYgd2UgaGF2ZSB0aGUgdHJhbnNsYXRpb24gcmVzdWx0IGF2YWlsYWJs ZSBhbHJlYWR5LCB3ZSBzaG91bGQgYWxzbyB1c2UKPiBpcyBoZXJlLiBJbiBteSB0ZXN0cyB3aXRo IExpbnV4IGd1ZXN0cyB0aGlzIGVsaW1pbmF0ZXMgYWxsIGNhbGxzIHRvCj4gaHZtZW11bF9saW5l YXJfdG9fcGh5cygpIG91dCBvZiB0aGUgdHdvIGZ1bmN0aW9ucyBiZWluZyBjaGFuZ2VkLgo+IAo+ IFNpZ25lZC1vZmYtYnk6IEphbiBCZXVsaWNoIDxqYmV1bGljaEBzdXNlLmNvbT4KClJldmlld2Vk LWJ5OiBQYXVsIER1cnJhbnQgPHBhdWwuZHVycmFudEBjaXRyaXguY29tPgoKPiAKPiAtLS0gYS94 ZW4vYXJjaC94ODYvaHZtL2VtdWxhdGUuYwo+ICsrKyBiL3hlbi9hcmNoL3g4Ni9odm0vZW11bGF0 ZS5jCj4gQEAgLTExNTYsNiArMTE1Niw3IEBAIHN0YXRpYyBpbnQgaHZtZW11bF9yZXBfbW92cygK PiAgewo+ICAgICAgc3RydWN0IGh2bV9lbXVsYXRlX2N0eHQgKmh2bWVtdWxfY3R4dCA9Cj4gICAg ICAgICAgY29udGFpbmVyX29mKGN0eHQsIHN0cnVjdCBodm1fZW11bGF0ZV9jdHh0LCBjdHh0KTsK PiArICAgIHN0cnVjdCBodm1fdmNwdV9pbyAqdmlvID0gJmN1cnJlbnQtPmFyY2guaHZtX3ZjcHUu aHZtX2lvOwo+ICAgICAgdW5zaWduZWQgbG9uZyBzYWRkciwgZGFkZHIsIGJ5dGVzOwo+ICAgICAg cGFkZHJfdCBzZ3BhLCBkZ3BhOwo+ICAgICAgdWludDMyX3QgcGZlYyA9IFBGRUNfcGFnZV9wcmVz ZW50Owo+IEBAIC0xMTc4LDE2ICsxMTc5LDQzIEBAIHN0YXRpYyBpbnQgaHZtZW11bF9yZXBfbW92 cygKPiAgICAgIGlmICggaHZtZW11bF9jdHh0LT5zZWdfcmVnW3g4Nl9zZWdfc3NdLmF0dHIuZmll bGRzLmRwbCA9PSAzICkKPiAgICAgICAgICBwZmVjIHw9IFBGRUNfdXNlcl9tb2RlOwo+IAo+IC0g ICAgcmMgPSBodm1lbXVsX2xpbmVhcl90b19waHlzKAo+IC0gICAgICAgIHNhZGRyLCAmc2dwYSwg Ynl0ZXNfcGVyX3JlcCwgcmVwcywgcGZlYywgaHZtZW11bF9jdHh0KTsKPiAtICAgIGlmICggcmMg IT0gWDg2RU1VTF9PS0FZICkKPiAtICAgICAgICByZXR1cm4gcmM7Cj4gKyAgICBieXRlcyA9IFBB R0VfU0laRSAtIChzYWRkciAmIH5QQUdFX01BU0spOwo+ICsgICAgaWYgKCB2aW8tPm1taW9fYWNj ZXNzLnJlYWRfYWNjZXNzICYmCj4gKyAgICAgICAgICh2aW8tPm1taW9fZ3ZhID09IChzYWRkciAm IFBBR0VfTUFTSykpICYmCj4gKyAgICAgICAgIGJ5dGVzID49IGJ5dGVzX3Blcl9yZXAgKQo+ICsg ICAgewo+ICsgICAgICAgIHNncGEgPSBwZm5fdG9fcGFkZHIodmlvLT5tbWlvX2dwZm4pIHwgKHNh ZGRyICYgflBBR0VfTUFTSyk7Cj4gKyAgICAgICAgaWYgKCAqcmVwcyAqIGJ5dGVzX3Blcl9yZXAg PiBieXRlcyApCj4gKyAgICAgICAgICAgICpyZXBzID0gYnl0ZXMgLyBieXRlc19wZXJfcmVwOwo+ ICsgICAgfQo+ICsgICAgZWxzZQo+ICsgICAgewo+ICsgICAgICAgIHJjID0gaHZtZW11bF9saW5l YXJfdG9fcGh5cyhzYWRkciwgJnNncGEsIGJ5dGVzX3Blcl9yZXAsIHJlcHMsIHBmZWMsCj4gKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGh2bWVtdWxfY3R4dCk7Cj4gKyAgICAg ICAgaWYgKCByYyAhPSBYODZFTVVMX09LQVkgKQo+ICsgICAgICAgICAgICByZXR1cm4gcmM7Cj4g Cj4gLSAgICByYyA9IGh2bWVtdWxfbGluZWFyX3RvX3BoeXMoCj4gLSAgICAgICAgZGFkZHIsICZk Z3BhLCBieXRlc19wZXJfcmVwLCByZXBzLAo+IC0gICAgICAgIHBmZWMgfCBQRkVDX3dyaXRlX2Fj Y2VzcywgaHZtZW11bF9jdHh0KTsKPiAtICAgIGlmICggcmMgIT0gWDg2RU1VTF9PS0FZICkKPiAt ICAgICAgICByZXR1cm4gcmM7Cj4gKyAgICAgICAgbGF0Y2hfbGluZWFyX3RvX3BoeXModmlvLCBz YWRkciwgc2dwYSwgMCk7Cj4gKyAgICB9Cj4gKwo+ICsgICAgYnl0ZXMgPSBQQUdFX1NJWkUgLSAo ZGFkZHIgJiB+UEFHRV9NQVNLKTsKPiArICAgIGlmICggdmlvLT5tbWlvX2FjY2Vzcy53cml0ZV9h Y2Nlc3MgJiYKPiArICAgICAgICAgKHZpby0+bW1pb19ndmEgPT0gKGRhZGRyICYgUEFHRV9NQVNL KSkgJiYKPiArICAgICAgICAgYnl0ZXMgPj0gYnl0ZXNfcGVyX3JlcCApCj4gKyAgICB7Cj4gKyAg ICAgICAgZGdwYSA9IHBmbl90b19wYWRkcih2aW8tPm1taW9fZ3BmbikgfCAoZGFkZHIgJiB+UEFH RV9NQVNLKTsKPiArICAgICAgICBpZiAoICpyZXBzICogYnl0ZXNfcGVyX3JlcCA+IGJ5dGVzICkK PiArICAgICAgICAgICAgKnJlcHMgPSBieXRlcyAvIGJ5dGVzX3Blcl9yZXA7Cj4gKyAgICB9Cj4g KyAgICBlbHNlCj4gKyAgICB7Cj4gKyAgICAgICAgcmMgPSBodm1lbXVsX2xpbmVhcl90b19waHlz KGRhZGRyLCAmZGdwYSwgYnl0ZXNfcGVyX3JlcCwgcmVwcywKPiArICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgcGZlYyB8IFBGRUNfd3JpdGVfYWNjZXNzLCBodm1lbXVsX2N0eHQp Owo+ICsgICAgICAgIGlmICggcmMgIT0gWDg2RU1VTF9PS0FZICkKPiArICAgICAgICAgICAgcmV0 dXJuIHJjOwo+ICsKPiArICAgICAgICBsYXRjaF9saW5lYXJfdG9fcGh5cyh2aW8sIGRhZGRyLCBk Z3BhLCAxKTsKPiArICAgIH0KPiAKPiAgICAgIC8qIENoZWNrIGZvciBNTUlPIG9wcyAqLwo+ICAg ICAgKHZvaWQpIGdldF9nZm5fcXVlcnlfdW5sb2NrZWQoY3VycmVudC0+ZG9tYWluLCBzZ3BhID4+ IFBBR0VfU0hJRlQsCj4gJnNwMm10KTsKPiBAQCAtMTI3OSwyNSArMTMwNyw0MCBAQCBzdGF0aWMg aW50IGh2bWVtdWxfcmVwX3N0b3MoCj4gIHsKPiAgICAgIHN0cnVjdCBodm1fZW11bGF0ZV9jdHh0 ICpodm1lbXVsX2N0eHQgPQo+ICAgICAgICAgIGNvbnRhaW5lcl9vZihjdHh0LCBzdHJ1Y3QgaHZt X2VtdWxhdGVfY3R4dCwgY3R4dCk7Cj4gLSAgICB1bnNpZ25lZCBsb25nIGFkZHI7Cj4gKyAgICBz dHJ1Y3QgaHZtX3ZjcHVfaW8gKnZpbyA9ICZjdXJyZW50LT5hcmNoLmh2bV92Y3B1Lmh2bV9pbzsK PiArICAgIHVuc2lnbmVkIGxvbmcgYWRkciwgYnl0ZXM7Cj4gICAgICBwYWRkcl90IGdwYTsKPiAg ICAgIHAybV90eXBlX3QgcDJtdDsKPiAgICAgIGJvb2xfdCBkZiA9ICEhKGN0eHQtPnJlZ3MtPmVm bGFncyAmIFg4Nl9FRkxBR1NfREYpOwo+ICAgICAgaW50IHJjID0gaHZtZW11bF92aXJ0dWFsX3Rv X2xpbmVhcihzZWcsIG9mZnNldCwgYnl0ZXNfcGVyX3JlcCwgcmVwcywKPiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgaHZtX2FjY2Vzc193cml0ZSwgaHZtZW11bF9jdHh0 LCAmYWRkcik7Cj4gCj4gLSAgICBpZiAoIHJjID09IFg4NkVNVUxfT0tBWSApCj4gKyAgICBpZiAo IHJjICE9IFg4NkVNVUxfT0tBWSApCj4gKyAgICAgICAgcmV0dXJuIHJjOwo+ICsKPiArICAgIGJ5 dGVzID0gUEFHRV9TSVpFIC0gKGFkZHIgJiB+UEFHRV9NQVNLKTsKPiArICAgIGlmICggdmlvLT5t bWlvX2FjY2Vzcy53cml0ZV9hY2Nlc3MgJiYKPiArICAgICAgICAgKHZpby0+bW1pb19ndmEgPT0g KGFkZHIgJiBQQUdFX01BU0spKSAmJgo+ICsgICAgICAgICBieXRlcyA+PSBieXRlc19wZXJfcmVw ICkKPiArICAgIHsKPiArICAgICAgICBncGEgPSBwZm5fdG9fcGFkZHIodmlvLT5tbWlvX2dwZm4p IHwgKGFkZHIgJiB+UEFHRV9NQVNLKTsKPiArICAgICAgICBpZiAoICpyZXBzICogYnl0ZXNfcGVy X3JlcCA+IGJ5dGVzICkKPiArICAgICAgICAgICAgKnJlcHMgPSBieXRlcyAvIGJ5dGVzX3Blcl9y ZXA7Cj4gKyAgICB9Cj4gKyAgICBlbHNlCj4gICAgICB7Cj4gICAgICAgICAgdWludDMyX3QgcGZl YyA9IFBGRUNfcGFnZV9wcmVzZW50IHwgUEZFQ193cml0ZV9hY2Nlc3M7Cj4gCj4gICAgICAgICAg aWYgKCBodm1lbXVsX2N0eHQtPnNlZ19yZWdbeDg2X3NlZ19zc10uYXR0ci5maWVsZHMuZHBsID09 IDMgKQo+ICAgICAgICAgICAgICBwZmVjIHw9IFBGRUNfdXNlcl9tb2RlOwo+IAo+IC0gICAgICAg IHJjID0gaHZtZW11bF9saW5lYXJfdG9fcGh5cygKPiAtICAgICAgICAgICAgYWRkciwgJmdwYSwg Ynl0ZXNfcGVyX3JlcCwgcmVwcywgcGZlYywgaHZtZW11bF9jdHh0KTsKPiArICAgICAgICByYyA9 IGh2bWVtdWxfbGluZWFyX3RvX3BoeXMoYWRkciwgJmdwYSwgYnl0ZXNfcGVyX3JlcCwgcmVwcywg cGZlYywKPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaHZtZW11bF9jdHh0 KTsKPiArICAgICAgICBpZiAoIHJjICE9IFg4NkVNVUxfT0tBWSApCj4gKyAgICAgICAgICAgIHJl dHVybiByYzsKPiArCj4gKyAgICAgICAgbGF0Y2hfbGluZWFyX3RvX3BoeXModmlvLCBhZGRyLCBn cGEsIDEpOwo+ICAgICAgfQo+IC0gICAgaWYgKCByYyAhPSBYODZFTVVMX09LQVkgKQo+IC0gICAg ICAgIHJldHVybiByYzsKPiAKPiAgICAgIC8qIENoZWNrIGZvciBNTUlPIG9wICovCj4gICAgICAo dm9pZClnZXRfZ2ZuX3F1ZXJ5X3VubG9ja2VkKGN1cnJlbnQtPmRvbWFpbiwgZ3BhID4+IFBBR0Vf U0hJRlQsCj4gJnAybXQpOwo+IAoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fClhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbi5v cmcKaHR0cDovL2xpc3RzLnhlbi5vcmcveGVuLWRldmVsCg==