From mboxrd@z Thu Jan 1 00:00:00 1970 From: Paul Durrant Subject: Re: [PATCH RFC 2/2] x86/HVM: split page straddling emulated accesses in more cases Date: Mon, 3 Sep 2018 09:11:55 +0000 Message-ID: <3cb1aa916a444dd3b88276840bb4e689@AMSPEX02CL03.citrite.net> References: <5B87CF6302000078001E37A6@prv1-mh.provo.novell.com> <5B87D08102000078001E37BC@prv1-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.89) (envelope-from ) id 1fwktq-0003w2-VJ for xen-devel@lists.xenproject.org; Mon, 03 Sep 2018 09:11:58 +0000 In-Reply-To: <5B87D08102000078001E37BC@prv1-mh.provo.novell.com> Content-Language: en-US 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: Andrew Cooper , Olaf Hering , Wei Liu List-Id: xen-devel@lists.xenproject.org PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQo+IEZyb206IEphbiBCZXVsaWNoIFttYWlsdG86 SkJldWxpY2hAc3VzZS5jb21dCj4gU2VudDogMzAgQXVndXN0IDIwMTggMTI6MTAKPiBUbzogeGVu LWRldmVsIDx4ZW4tZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmc+Cj4gQ2M6IE9sYWYgSGVyaW5n IDxvbGFmQGFlcGZsZS5kZT47IEFuZHJldyBDb29wZXIKPiA8QW5kcmV3LkNvb3BlcjNAY2l0cml4 LmNvbT47IFBhdWwgRHVycmFudCA8UGF1bC5EdXJyYW50QGNpdHJpeC5jb20+Owo+IFdlaSBMaXUg PHdlaS5saXUyQGNpdHJpeC5jb20+Cj4gU3ViamVjdDogW1BBVENIIFJGQyAyLzJdIHg4Ni9IVk06 IHNwbGl0IHBhZ2Ugc3RyYWRkbGluZyBlbXVsYXRlZCBhY2Nlc3Nlcwo+IGluIG1vcmUgY2FzZXMK PiAKPiBBc3N1bWluZyBjb25zZWN1dGl2ZSBsaW5lYXIgYWRkcmVzc2VzIG1hcCB0byBhbGwgUkFN IG9yIGFsbCBNTUlPIGlzIG5vdAo+IGNvcnJlY3QuIE5vciBpcyBhc3N1bWluZyB0aGF0IGEgcGFn ZSBzdHJhZGRsaW5nIE1NSU8gYWNjZXNzIHdpbGwgYWNjZXNzCj4gdGhlIHNhbWUgZW11bGF0aW5n IGNvbXBvbmVudCBmb3IgYm90aCBwYXJ0cyBvZiB0aGUgYWNjZXNzLiBJZiBhIGd1ZXN0Cj4gUkFN IHJlYWQgZmFpbHMgd2l0aCBIVk1UUkFOU19iYWRfZ2ZuX3RvX21mbiBhbmQgaWYgdGhlIGFjY2Vz cyBzdHJhZGRsZXMKPiBhIHBhZ2UgYm91bmRhcnksIGlzc3VlIGFjY2Vzc2VzIHNlcGFyYXRlbHkg Zm9yIGJvdGggcGFydHMuCj4gCj4gU2lnbmVkLW9mZi1ieTogSmFuIEJldWxpY2ggPGpiZXVsaWNo QHN1c2UuY29tPgo+IC0tLQo+IFJGQzogVGhpcyBjbGVhcmx5IHdhbnRzIG1pcnJvcmluZyB0byB0 aGUgd3JpdGUgcGF0aCwgYW5kIHBlcmhhcHMgYWxzbwo+ICAgICAgdG8gdGhlIGZhbGxiYWNrIGNv ZGUgb24gdGhlIFJNVyBwYXRoLiBCdXQgSSdkIGxpa2UgdG8gZ2V0IGEgc2Vuc2UKPiAgICAgIGZp cnN0IG9uIGhvdyB3ZWxjb21lIHRoZSBnZW5lcmFsIGFwcHJvYWNoIGlzLgoKQXQgZmlyc3QgZ2xh bmNlLCBvZiBjb3Vyc2UsIGl0IGFwcGVhcnMgdGhhdCB0aGVyZSB3b3VsZCBiZSBhIHByb2JsZW0g d2hlbiB0aGUgc2Vjb25kIGxpbmVhcl9yZWFkKCkgYWZ0ZXIgYSBzcGxpdCByZXR1cm5zIFg4NkVN VUxfUkVUUlksIHRodXMgY2F1c2luZyB0aGUgZmlyc3Qgb25lIHRvIGJlIHJlLWNhbGxlZCB3aGVu IHRoZSBlbXVsYXRpb24gaXMgcmUtZG9uZS4gQmVjYXVzZSB0aGUgdW5kZXJseWluZyBjYWNoZSBo YW5kbGVzIHRoZSByZS1jYWxsIHRoaXMgaXMgbm90IGFjdHVhbGx5IGEgcHJvYmxlbSB0aG91Z2gg c28gSSB0aGluayB0aGUgYXBwcm9hY2ggaXMgb2sgYW5kIHNob3VsZCBhbHNvIGJlIGZpbmUgb24g dGhlIHdyaXRlIHBhdGguCgogIFBhdWwKCj4gCj4gLS0tIGEveGVuL2FyY2gveDg2L2h2bS9lbXVs YXRlLmMKPiArKysgYi94ZW4vYXJjaC94ODYvaHZtL2VtdWxhdGUuYwo+IEBAIC0xMDQxLDYgKzEw NDEsNDggQEAgc3RhdGljIGlubGluZSBpbnQgaHZtZW11bF9saW5lYXJfbW1pb193cgo+ICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBmZWMsIGh2bWVtdWxfY3R4dCwgdHJh bnNsYXRlKTsKPiAgfQo+IAo+ICtzdGF0aWMgaW50IGxpbmVhcl9yZWFkKHVuc2lnbmVkIGxvbmcg YWRkciwgdW5zaWduZWQgaW50IGJ5dGVzLCB2b2lkICpwX2RhdGEsCj4gKyAgICAgICAgICAgICAg ICAgICAgICAgdWludDMyX3QgcGZlYywgc3RydWN0IGh2bV9lbXVsYXRlX2N0eHQgKmh2bWVtdWxf Y3R4dCkKPiArewo+ICsgICAgcGFnZWZhdWx0X2luZm9fdCBwZmluZm87Cj4gKyAgICBpbnQgcmMg PSBodm1fY29weV9mcm9tX2d1ZXN0X2xpbmVhcihwX2RhdGEsIGFkZHIsIGJ5dGVzLCBwZmVjLAo+ ICZwZmluZm8pOwo+ICsKPiArICAgIHN3aXRjaCAoIHJjICkKPiArICAgIHsKPiArICAgICAgICB1 bnNpZ25lZCBpbnQgb2Zmc2V0LCBwYXJ0MTsKPiArCj4gKyAgICBjYXNlIEhWTVRSQU5TX29rYXk6 Cj4gKyAgICAgICAgcmV0dXJuIFg4NkVNVUxfT0tBWTsKPiArCj4gKyAgICBjYXNlIEhWTVRSQU5T X2JhZF9saW5lYXJfdG9fZ2ZuOgo+ICsgICAgICAgIHg4Nl9lbXVsX3BhZ2VmYXVsdChwZmluZm8u ZWMsIHBmaW5mby5saW5lYXIsICZodm1lbXVsX2N0eHQtPmN0eHQpOwo+ICsgICAgICAgIHJldHVy biBYODZFTVVMX0VYQ0VQVElPTjsKPiArCj4gKyAgICBjYXNlIEhWTVRSQU5TX2JhZF9nZm5fdG9f bWZuOgo+ICsgICAgICAgIGlmICggcGZlYyAmIFBGRUNfaW5zbl9mZXRjaCApCj4gKyAgICAgICAg ICAgIHJldHVybiBYODZFTVVMX1VOSEFORExFQUJMRTsKPiArCj4gKyAgICAgICAgb2Zmc2V0ID0g YWRkciAmIH5QQUdFX01BU0s7Cj4gKyAgICAgICAgaWYgKCBvZmZzZXQgKyBieXRlcyA8PSBQQUdF X1NJWkUgKQo+ICsgICAgICAgICAgICByZXR1cm4gaHZtZW11bF9saW5lYXJfbW1pb19yZWFkKGFk ZHIsIGJ5dGVzLCBwX2RhdGEsIHBmZWMsCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgaHZtZW11bF9jdHh0LCAwKTsKPiArCj4gKyAgICAgICAgLyogU3BsaXQg dGhlIGFjY2VzcyBhdCB0aGUgcGFnZSBib3VuZGFyeS4gKi8KPiArICAgICAgICBwYXJ0MSA9IFBB R0VfU0laRSAtIG9mZnNldDsKPiArICAgICAgICByYyA9IGxpbmVhcl9yZWFkKGFkZHIsIHBhcnQx LCBwX2RhdGEsIHBmZWMsIGh2bWVtdWxfY3R4dCk7Cj4gKyAgICAgICAgaWYgKCByYyA9PSBYODZF TVVMX09LQVkgKQo+ICsgICAgICAgICAgICByYyA9IGxpbmVhcl9yZWFkKGFkZHIgKyBwYXJ0MSwg Ynl0ZXMgLSBwYXJ0MSwgcF9kYXRhICsgcGFydDEsCj4gKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgcGZlYywgaHZtZW11bF9jdHh0KTsKPiArICAgICAgICByZXR1cm4gcmM7Cj4gKwo+ICsg ICAgY2FzZSBIVk1UUkFOU19nZm5fcGFnZWRfb3V0Ogo+ICsgICAgY2FzZSBIVk1UUkFOU19nZm5f c2hhcmVkOgo+ICsgICAgICAgIHJldHVybiBYODZFTVVMX1JFVFJZOwo+ICsgICAgfQo+ICsKPiAr ICAgIHJldHVybiBYODZFTVVMX1VOSEFORExFQUJMRTsKPiArfQo+ICsKPiAgc3RhdGljIGludCBf X2h2bWVtdWxfcmVhZCgKPiAgICAgIGVudW0geDg2X3NlZ21lbnQgc2VnLAo+ICAgICAgdW5zaWdu ZWQgbG9uZyBvZmZzZXQsCj4gQEAgLTEwNDksMTEgKzEwOTEsOSBAQCBzdGF0aWMgaW50IF9faHZt ZW11bF9yZWFkKAo+ICAgICAgZW51bSBodm1fYWNjZXNzX3R5cGUgYWNjZXNzX3R5cGUsCj4gICAg ICBzdHJ1Y3QgaHZtX2VtdWxhdGVfY3R4dCAqaHZtZW11bF9jdHh0KQo+ICB7Cj4gLSAgICBzdHJ1 Y3QgdmNwdSAqY3VyciA9IGN1cnJlbnQ7Cj4gLSAgICBwYWdlZmF1bHRfaW5mb190IHBmaW5mbzsK PiAgICAgIHVuc2lnbmVkIGxvbmcgYWRkciwgcmVwcyA9IDE7Cj4gICAgICB1aW50MzJfdCBwZmVj ID0gUEZFQ19wYWdlX3ByZXNlbnQ7Cj4gLSAgICBzdHJ1Y3QgaHZtX3ZjcHVfaW8gKnZpbyA9ICZj dXJyLT5hcmNoLmh2bV92Y3B1Lmh2bV9pbzsKPiArICAgIHN0cnVjdCBodm1fdmNwdV9pbyAqdmlv ID0gJmN1cnJlbnQtPmFyY2guaHZtX3ZjcHUuaHZtX2lvOwo+ICAgICAgaW50IHJjOwo+IAo+ICAg ICAgaWYgKCBpc194ODZfc3lzdGVtX3NlZ21lbnQoc2VnKSApCj4gQEAgLTEwNzMsMjggKzExMTMs NyBAQCBzdGF0aWMgaW50IF9faHZtZW11bF9yZWFkKAo+ICAgICAgICAgICAodmlvLT5tbWlvX2ds YSA9PSAoYWRkciAmIFBBR0VfTUFTSykpICkKPiAgICAgICAgICByZXR1cm4gaHZtZW11bF9saW5l YXJfbW1pb19yZWFkKGFkZHIsIGJ5dGVzLCBwX2RhdGEsIHBmZWMsCj4gaHZtZW11bF9jdHh0LCAx KTsKPiAKPiAtICAgIHJjID0gaHZtX2NvcHlfZnJvbV9ndWVzdF9saW5lYXIocF9kYXRhLCBhZGRy LCBieXRlcywgcGZlYywgJnBmaW5mbyk7Cj4gLQo+IC0gICAgc3dpdGNoICggcmMgKQo+IC0gICAg ewo+IC0gICAgY2FzZSBIVk1UUkFOU19va2F5Ogo+IC0gICAgICAgIGJyZWFrOwo+IC0gICAgY2Fz ZSBIVk1UUkFOU19iYWRfbGluZWFyX3RvX2dmbjoKPiAtICAgICAgICB4ODZfZW11bF9wYWdlZmF1 bHQocGZpbmZvLmVjLCBwZmluZm8ubGluZWFyLCAmaHZtZW11bF9jdHh0LT5jdHh0KTsKPiAtICAg ICAgICByZXR1cm4gWDg2RU1VTF9FWENFUFRJT047Cj4gLSAgICBjYXNlIEhWTVRSQU5TX2JhZF9n Zm5fdG9fbWZuOgo+IC0gICAgICAgIGlmICggYWNjZXNzX3R5cGUgPT0gaHZtX2FjY2Vzc19pbnNu X2ZldGNoICkKPiAtICAgICAgICAgICAgcmV0dXJuIFg4NkVNVUxfVU5IQU5ETEVBQkxFOwo+IC0K PiAtICAgICAgICByZXR1cm4gaHZtZW11bF9saW5lYXJfbW1pb19yZWFkKGFkZHIsIGJ5dGVzLCBw X2RhdGEsIHBmZWMsCj4gaHZtZW11bF9jdHh0LCAwKTsKPiAtICAgIGNhc2UgSFZNVFJBTlNfZ2Zu X3BhZ2VkX291dDoKPiAtICAgIGNhc2UgSFZNVFJBTlNfZ2ZuX3NoYXJlZDoKPiAtICAgICAgICBy ZXR1cm4gWDg2RU1VTF9SRVRSWTsKPiAtICAgIGRlZmF1bHQ6Cj4gLSAgICAgICAgcmV0dXJuIFg4 NkVNVUxfVU5IQU5ETEVBQkxFOwo+IC0gICAgfQo+IC0KPiAtICAgIHJldHVybiBYODZFTVVMX09L QVk7Cj4gKyAgICByZXR1cm4gbGluZWFyX3JlYWQoYWRkciwgYnl0ZXMsIHBfZGF0YSwgcGZlYywg aHZtZW11bF9jdHh0KTsKPiAgfQo+IAo+ICBzdGF0aWMgaW50IGh2bWVtdWxfcmVhZCgKPiAKPiAK PiAKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpYZW4t ZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZwpodHRwczov L2xpc3RzLnhlbnByb2plY3Qub3JnL21haWxtYW4vbGlzdGluZm8veGVuLWRldmVs