From mboxrd@z Thu Jan 1 00:00:00 1970 From: Julien Grall Subject: Re: [RFC PATCH v2 5/8] arm/mem_access: Add software guest-page-table walk Date: Fri, 2 Jun 2017 10:02:20 +0100 Message-ID: <3a019bbf-6ebe-85b0-4d97-90ccb6295035@arm.com> References: <20170601151906.10213-1-proskurin@sec.in.tum.de> <20170601151906.10213-6-proskurin@sec.in.tum.de> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: Received: from mail6.bemta3.messagelabs.com ([195.245.230.39]) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dGiTS-0007Ln-7f for xen-devel@lists.xenproject.org; Fri, 02 Jun 2017 09:02:26 +0000 In-Reply-To: <20170601151906.10213-6-proskurin@sec.in.tum.de> Content-Language: en-US List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: Sergej Proskurin , xen-devel@lists.xenproject.org Cc: Stefano Stabellini List-Id: xen-devel@lists.xenproject.org SGkgU2VyZ2VqLAoKT24gMDYvMDEvMjAxNyAwNDoxOCBQTSwgU2VyZ2VqIFByb3NrdXJpbiB3cm90 ZToKPiBUaGUgZnVuY3Rpb24gcDJtX21lbV9hY2Nlc3NfY2hlY2tfYW5kX2dldF9wYWdlIGluIG1l bV9hY2Nlc3MuYyB0cmFuc2xhdGVzIGEgZ3ZhCj4gdG8gYW4gaXBhIGJ5IG1lYW5zIG9mIHRoZSBo YXJkd2FyZSBmdW5jdGlvbmFsaXR5IG9mIHRoZSBBUk0gYXJjaGl0ZWN0dXJlLiBUaGlzCj4gaXMg aW1wbGVtZW50ZWQgaW4gdGhlIGZ1bmN0aW9uIGd2YV90b19pcGEuIElmIG1lbV9hY2Nlc3MgaXMg YWN0aXZlLAo+IGhhcmR3YXJlLWJhc2VkIGd2YSB0byBpcGEgdHJhbnNsYXRpb24gbWlnaHQgZmFp bCwgYXMgZ3ZhX3RvX2lwYSB1c2VzIHRoZQo+IGd1ZXN0J3MgdHJhbnNsYXRpb24gdGFibGVzLCBh Y2Nlc3MgdG8gd2hpY2ggbWlnaHQgYmUgcmVzdHJpY3RlZCBieSB0aGUgYWN0aXZlCj4gVlRUQlIu IFRvIGFkZHJlc3MgdGhpcyBpc3N1ZSwgaW4gdGhpcyBjb21taXQgd2UgYWRkIGEgc29mdHdhcmUt YmFzZWQKPiBndWVzdC1wYWdlLXRhYmxlIHdhbGssIHdoaWNoIHdpbGwgYmUgdXNlZCBieSB0aGUg ZnVuY3Rpb24KPiBwMm1fbWVtX2FjY2Vzc19jaGVja19hbmRfZ2V0X3BhZ2UgcGVyZm9ybSB0aGUg Z3ZhIHRvIGlwYSB0cmFuc2xhdGlvbiBpbgo+IHNvZnR3YXJlIGluIG9uZSBvZiB0aGUgZm9sbG93 aW5nIGNvbW1pdHMuCj4gCj4gTm90ZTogVGhpcyBmdW5jdGlvbiBwMm1fd2Fsa19ncHQgYXNzdW1l cyB0aGF0IHRoZSBkb21haW4sIHRoZSBndmEgb2YKPiB3aGljaCBpcyB0byBiZSB0cmFuc2xhdGVk LCBpcyBydW5uaW5nIG9uIHRoZSBjdXJyZW50bHkgYWN0aXZlIHZDUFUuIFRvCj4gd2FsayB0aGUg Z3Vlc3QncyBwYWdlIHRhYmxlIG9uIGEgZGlmZmVyZW50IHZDUFUsIHRoZSBmb2xsb3dpbmcgcmVn aXN0ZXJzCj4gd291bGQgbmVlZCB0byBiZSBsb2FkZWQ6IFRDUl9FTDEsIFRUQlIwX0VMMSwgVFRC UjFfRUwxLCBhbmQgU0NUTFJfRUwxLgo+IAo+IFNpZ25lZC1vZmYtYnk6IFNlcmdlaiBQcm9za3Vy aW4gPHByb3NrdXJpbkBzZWMuaW4udHVtLmRlPgo+IC0tLQo+IENjOiBTdGVmYW5vIFN0YWJlbGxp bmkgPHNzdGFiZWxsaW5pQGtlcm5lbC5vcmc+Cj4gQ2M6IEp1bGllbiBHcmFsbCA8anVsaWVuLmdy YWxsQGFybS5jb20+Cj4gLS0tCj4gdjI6IFJlbmFtZSBwMm1fZ3ZhX3RvX2lwYSB0byBwMm1fd2Fs a19ncHQgYW5kIG1vdmUgaXQgdG8gcDJtLmMuCj4gCj4gICAgICBNb3ZlIHRoZSBmdW5jdGlvbmFs aXR5IHJlc3BvbnNpYmxlIGZvciB3YWxraW5nIGxvbmctZGVzY3JpcHRvciBiYXNlZAo+ICAgICAg dHJhbnNsYXRpb24gdGFibGVzIG91dCBvZiB0aGUgZnVuY3Rpb24gcDJtX3dhbGtfZ3B0LiBBbHNv IG1vdmUgb3V0IHRoZQo+ICAgICAgbG9uZy1kZXNjcmlwdG9yIGJhc2VkIHRyYW5zbGF0aW9uIG91 dCBvZiB0aGlzIGNvbW1pdC4KPiAKPiAgICAgIENoYW5nZSBmdW5jdGlvbiBwYXJhbWV0ZXJzIGlu IG9yZGVyIHRvIHJldHVybiBhY2Nlc3MgYWNjZXNzIHJpZ2h0cyB0byBhCj4gICAgICByZXF1ZXN0 ZWQgZ3ZhLgo+IAo+ICAgICAgQ29zbWV0aWMgZml4ZXMuCj4gLS0tCj4gICB4ZW4vYXJjaC9hcm0v cDJtLmMgICAgICAgIHwgNTggKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysKCkkga25vdyBJIHN1Z2dlc3RlZCB0byBtb3ZlIGluIHAybS5jLiBMb29raW5nIGF0 IHRoZSBkaWZmIHN0YXQsIHRoaXMgd2lsbCAKaW5jcmVhc2UgcXVpdGUgYSBsb3QgcDJtLmMgd2hp Y2ggaXMgYWxyZWFkeSBiaWcuCgpIb3cgYWJvdXQgaW50cm9kdWNpbmcgYSBmaWxlIGd1ZXN0X3dh bGsuYyB3aGljaCBjb250YWluIHRoZSBuZXcgZnVuY3Rpb25zPwoKPiAgIHhlbi9pbmNsdWRlL2Fz bS1hcm0vcDJtLmggfCAgNiArKysrKwo+ICAgMiBmaWxlcyBjaGFuZ2VkLCA2NCBpbnNlcnRpb25z KCspCj4gCj4gZGlmZiAtLWdpdCBhL3hlbi9hcmNoL2FybS9wMm0uYyBiL3hlbi9hcmNoL2FybS9w Mm0uYwo+IGluZGV4IDc1MmU5NDgwNzAuLjAzMzdkODM1ODEgMTAwNjQ0Cj4gLS0tIGEveGVuL2Fy Y2gvYXJtL3AybS5jCj4gKysrIGIveGVuL2FyY2gvYXJtL3AybS5jCj4gQEAgLTE1NDgsNiArMTU0 OCw2NCBAQCB2b2lkIF9faW5pdCBzZXR1cF92aXJ0X3BhZ2luZyh2b2lkKQo+ICAgfQo+ICAgCj4g ICAvKgo+ICsgKiBUaGUgZnVuY3Rpb24gX19wMm1fd2Fsa19ncHRfc2QgdHJhbnNsYXRlcyBhIGdp dmVuIEdWQSBpbnRvIGFuIElQQSB1c2luZyB0aGUKPiArICogc2hvcnQtZGVzY3JpcHRvciB0cmFu c2xhdGlvbiB0YWJsZSBmb3JtYXQgaW4gc29mdHdhcmUuIFRoaXMgZnVuY3Rpb24gYXNzdW1lcwo+ ICsgKiB0aGF0IHRoZSBkb21haW4gaXMgcnVubmluZyBvbiB0aGUgY3VycmVudGx5IGFjdGl2ZSB2 Q1BVLiBUbyB3YWxrIHRoZSBndWVzdCdzCj4gKyAqIHBhZ2UgdGFibGUgb24gYSBkaWZmZXJlbnQg dkNQVSwgdGhlIGZvbGxvd2luZyByZWdpc3RlcnMgd291bGQgbmVlZCB0byBiZQo+ICsgKiBsb2Fk ZWQ6IFRDUl9FTDEsIFRUQlIwX0VMMSwgVFRCUjFfRUwxLCBhbmQgU0NUTFJfRUwxLgo+ICsgKi8K PiArc3RhdGljIGludCBfX3AybV93YWxrX2dwdF9zZChzdHJ1Y3QgcDJtX2RvbWFpbiAqcDJtLAoK VGhlIF9fIGFyZSBub3QgbmVjZXNzYXJ5IGhlcmUuIFlvdSBkb24ndCB1c2UgdGhlIG5hbWUgcDJt X3dhbGtfZ3B0X3NkIAphbnl3aGVyZS4KCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg dmFkZHJfdCBndmEsIHBhZGRyX3QgKmlwYSwKPiArICAgICAgICAgICAgICAgICAgICAgICAgICAg ICB1bnNpZ25lZCBpbnQgKnBlcm1fcm8pCgpJIGFtIGEgYml0IGNvbmZ1c2VkIHdpdGggcGVybV9y by4gV2lsbCB5b3Ugb25seSByZXR1cm4gMC8xPyBJZiBzbyBpdCAKc2hvdWxkIGJlIGEgYm9vbC4K CkJ1dCB3ZSBsaWtlbHkgd2FudCB0byBrbm93IG1vcmUgcGVybWlzc2lvbiBzdWNoIGFzIHRoZSBl eGVjdXRpb24gYml0Li4uCgo+ICt7Cj4gKyAgICAvKiBOb3QgaW1wbGVtZW50ZWQgeWV0LiAqLwo+ ICsgICAgcmV0dXJuIC1FRkFVTFQ7Cj4gK30KPiArCj4gKy8qCj4gKyAqIFRoZSBmdW5jdGlvbiBf X3AybV93YWxrX2dwdF9sZCB0cmFuc2xhdGVzIGEgZ2l2ZW4gR1ZBIGludG8gYW4gSVBBIHVzaW5n IHRoZQo+ICsgKiBsb25nLWRlc2NyaXB0b3IgdHJhbnNsYXRpb24gdGFibGUgZm9ybWF0IGluIHNv ZnR3YXJlLiBUaGlzIGZ1bmN0aW9uIGFzc3VtZXMKPiArICogdGhhdCB0aGUgZG9tYWluIGlzIHJ1 bm5pbmcgb24gdGhlIGN1cnJlbnRseSBhY3RpdmUgdkNQVS4gVG8gd2FsayB0aGUgZ3Vlc3Qncwo+ ICsgKiBwYWdlIHRhYmxlIG9uIGEgZGlmZmVyZW50IHZDUFUsIHRoZSBmb2xsb3dpbmcgcmVnaXN0 ZXJzIHdvdWxkIG5lZWQgdG8gYmUKPiArICogbG9hZGVkOiBUQ1JfRUwxLCBUVEJSMF9FTDEsIFRU QlIxX0VMMSwgYW5kIFNDVExSX0VMMS4KPiArICovCj4gK3N0YXRpYyBpbnQgX19wMm1fd2Fsa19n cHRfbGQoc3RydWN0IHAybV9kb21haW4gKnAybSwKCkRpdHRvLgoKPiArICAgICAgICAgICAgICAg ICAgICAgICAgICAgICB2YWRkcl90IGd2YSwgcGFkZHJfdCAqaXBhLAo+ICsgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIHVuc2lnbmVkIGludCAqcGVybV9ybykKPiArewo+ICsgICAgLyogTm90 IGltcGxlbWVudGVkIHlldC4gKi8KPiArICAgIHJldHVybiAtRUZBVUxUOwo+ICt9Cj4gKwo+ICtp bnQgcDJtX3dhbGtfZ3B0KHN0cnVjdCBwMm1fZG9tYWluICpwMm0sIHZhZGRyX3QgZ3ZhLAoKU28g eW91IG1peCAyIHRoaW5ncywgcDJtIGFuZCBncHQuIFAyTSBpcyB1c2VkIHRvIHJlZmVyIHRvIHN0 YWdlLTIgcGFnZSAKdGFibGUuIFdoaWxzdCBncHQgc3RhbmRzIEkgZ3Vlc3MgZm9yIGd1ZXN0IHBh Z2UgdGFibGUuCgpUaGUgbmFtZSBncHQgaXMgbm90IHZlcnkgdXNlZCBpbiBYZW4gYW5kIHdvdWxk IHByZWZlciBhIGNsZWFyZXIgbmFtZSAKc3VjaCBhcyB0aGUgeDg2IG9uZSAiZ3Vlc3Rfd2Fsa190 YWJsZXMiLgoKPiArICAgICAgICAgICAgICAgICBwYWRkcl90ICppcGEsIHVuc2lnbmVkIGludCAq cGVybV9ybykKPiArewo+ICsgICAgdWludDMyX3Qgc2N0bHIgPSBSRUFEX1NZU1JFRyhTQ1RMUl9F TDEpOwo+ICsgICAgcmVnaXN0ZXJfdCB0Y3IgPSBSRUFEX1NZU1JFRyhUQ1JfRUwxKTsKPiArI2lm ZGVmIENPTkZJR19BUk1fNjQKPiArICAgIHN0cnVjdCBkb21haW4gKmQgPSBwMm0tPmRvbWFpbjsK PiArI2VuZGlmCgpUaGUgb25seSBwbGFjZSB1c2UgKmQgaXMgaW4gdGhlIGlzXzMyYml0X2RvbWFp biwgc28gbm8gbmVlZCB0byBhZGQgc29tZSAKI2lmZGVmIGFuZCBkZWZpbmUgdGhlIHZhcmlhYmxl LgoKPiArCj4gKyAgICAvKiBJZiB0aGUgTU1VIGlzIGRpc2FibGVkLCB0aGVyZSBpcyBubyBuZWVk IHRvIHRyYW5zbGF0ZSB0aGUgZ3ZhLiAqLwo+ICsgICAgaWYgKCAhKHNjdGxyICYgU0NUTFJfTSkg KQo+ICsgICAgewo+ICsgICAgICAgICppcGEgPSBndmE7CgpXaHkgKnBlcm1fcm8gaXMgbm90IHNl dCBoZXJlPwoKPiArCj4gKyAgICAgICAgcmV0dXJuIDA7Cj4gKyAgICB9Cj4gKwo+ICsjaWZkZWYg Q09ORklHX0FSTV82NAo+ICsgICAgaWYgKCBpc18zMmJpdF9kb21haW4oZCkgKQo+ICsjZW5kaWYK CmlzXzMyYml0X2RvbWFpbiBleGlzdHMgZm9yIDMyLWJpdCBYZW4uIFNvIG5vdCBuZWVkIHRvIGhh dmUgdGhpcyAjaWZkZWYuCgo+ICsgICAgewo+ICsgICAgICAgIGlmICggISh0Y3IgJiBUVEJDUl9F QUUpICkKPiArICAgICAgICAgICAgcmV0dXJuIF9fcDJtX3dhbGtfZ3B0X3NkKHAybSwgZ3ZhLCBp cGEsIHBlcm1fcm8pOwo+ICsgICAgfQo+ICsKPiArICAgIHJldHVybiBfX3AybV93YWxrX2dwdF9s ZChwMm0sIGd2YSwgaXBhLCBwZXJtX3JvKTsKPiArfQo+ICsKPiArLyoKPiAgICAqIExvY2FsIHZh cmlhYmxlczoKPiAgICAqIG1vZGU6IEMKPiAgICAqIGMtZmlsZS1zdHlsZTogIkJTRCIKPiBkaWZm IC0tZ2l0IGEveGVuL2luY2x1ZGUvYXNtLWFybS9wMm0uaCBiL3hlbi9pbmNsdWRlL2FzbS1hcm0v cDJtLmgKPiBpbmRleCAxOGM1N2Y5MzZlLi5jYzlmNGJmMjI1IDEwMDY0NAo+IC0tLSBhL3hlbi9p bmNsdWRlL2FzbS1hcm0vcDJtLmgKPiArKysgYi94ZW4vaW5jbHVkZS9hc20tYXJtL3AybS5oCj4g QEAgLTI2NCw2ICsyNjQsMTIgQEAgdm9pZCBndWVzdF9waHlzbWFwX3JlbW92ZV9wYWdlKHN0cnVj dCBkb21haW4gKmQsCj4gICAKPiAgIG1mbl90IGdmbl90b19tZm4oc3RydWN0IGRvbWFpbiAqZCwg Z2ZuX3QgZ2ZuKTsKPiAgIAo+ICsvKiBXYWxrIHRoZSBndWVzdCdzIHBhZ2UgdGFibGVzIGluIHNv ZnR3YXJlLiAqLwo+ICtpbnQgcDJtX3dhbGtfZ3B0KHN0cnVjdCBwMm1fZG9tYWluICpwMm0sCj4g KyAgICAgICAgICAgICAgICAgdmFkZHJfdCBndmEsCj4gKyAgICAgICAgICAgICAgICAgcGFkZHJf dCAqaXBhLAo+ICsgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGludCAqcGVybV9ybyk7Cj4gKwo+ ICAgLyoKPiAgICAqIFBvcHVsYXRlLW9uLWRlbWFuZAo+ICAgICovCj4gCgpDaGVlcnMsCgotLSAK SnVsaWVuIEdyYWxsCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fXwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54ZW4ub3JnCmh0dHBz Oi8vbGlzdHMueGVuLm9yZy94ZW4tZGV2ZWwK