From mboxrd@z Thu Jan 1 00:00:00 1970 From: Sergej Proskurin Subject: [PATCH v4 9/9] arm/mem_access: Walk the guest's pt in software Date: Tue, 20 Jun 2017 22:33:32 +0200 Message-ID: <20170620203332.17833-10-proskurin@sec.in.tum.de> References: <20170620203332.17833-1-proskurin@sec.in.tum.de> 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 1dNPqs-0007t1-Qo for xen-devel@lists.xenproject.org; Tue, 20 Jun 2017 20:34:18 +0000 In-Reply-To: <20170620203332.17833-1-proskurin@sec.in.tum.de> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: xen-devel@lists.xenproject.org Cc: Sergej Proskurin , Julien Grall , Tamas K Lengyel , Stefano Stabellini , Razvan Cojocaru List-Id: xen-devel@lists.xenproject.org SW4gdGhpcyBjb21taXQsIHdlIG1ha2UgdXNlIG9mIHRoZSBncHQgd2FsayBmdW5jdGlvbmFsaXR5 IGludHJvZHVjZWQgaW4KdGhlIHByZXZpb3VzIGNvbW1pdHMuIElmIG1lbV9hY2Nlc3MgaXMgYWN0 aXZlLCBoYXJkd2FyZS1iYXNlZCBndmEgdG8gaXBhCnRyYW5zbGF0aW9uIG1pZ2h0IGZhaWwsIGFz IGd2YV90b19pcGEgdXNlcyB0aGUgZ3Vlc3QncyB0cmFuc2xhdGlvbgp0YWJsZXMsIGFjY2VzcyB0 byB3aGljaCBtaWdodCBiZSByZXN0cmljdGVkIGJ5IHRoZSBhY3RpdmUgVlRUQlIuIFRvCnNpZGUt c3RlcCBwb3RlbnRpYWwgdHJhbnNsYXRpb24gZXJyb3JzIGluIHRoZSBmdW5jdGlvbgpwMm1fbWVt X2FjY2Vzc19jaGVja19hbmRfZ2V0X3BhZ2UgZHVlIHRvIHJlc3RyaWN0ZWQgbWVtb3J5IChlLmcu IHRvIHRoZQpndWVzdCdzIHBhZ2UgdGFibGVzIHRoZW1zZWx2ZXMpLCB3ZSB3YWxrIHRoZSBndWVz dCdzIHBhZ2UgdGFibGVzIGluCnNvZnR3YXJlLgoKU2lnbmVkLW9mZi1ieTogU2VyZ2VqIFByb3Nr dXJpbiA8cHJvc2t1cmluQHNlYy5pbi50dW0uZGU+Ci0tLQpDYzogUmF6dmFuIENvam9jYXJ1IDxy Y29qb2NhcnVAYml0ZGVmZW5kZXIuY29tPgpDYzogVGFtYXMgSyBMZW5neWVsIDx0YW1hc0B0a2xl bmd5ZWwuY29tPgpDYzogU3RlZmFubyBTdGFiZWxsaW5pIDxzc3RhYmVsbGluaUBrZXJuZWwub3Jn PgpDYzogSnVsaWVuIEdyYWxsIDxqdWxpZW4uZ3JhbGxAYXJtLmNvbT4KLS0tCnYyOiBDaGVjayB0 aGUgcmV0dXJuZWQgYWNjZXNzIHJpZ2h0cyBhZnRlciB3YWxraW5nIHRoZSBndWVzdCdzIHBhZ2Ug dGFibGVzIGluCiAgICB0aGUgZnVuY3Rpb24gcDJtX21lbV9hY2Nlc3NfY2hlY2tfYW5kX2dldF9w YWdlLgoKdjM6IEFkYXB0IEZ1bmN0aW9uIG5hbWVzIGFuZCBwYXJhbWV0ZXIuCgp2NDogQ29tbWVu dCB3aHkgd2UgbmVlZCB0byBmYWlsIGlmIHRoZSBwZXJtaXNzaW9uIGZsYWdzIHRoYXQgYXJlCiAg ICByZXF1ZXN0ZWQgYnkgdGhlIGNhbGxlciBkbyBub3Qgc2F0aXNmeSB0aGUgbWFwcGVkIHBhZ2Uu CgogICAgQ29zbWV0aWMgZml4IHRoYXQgc2ltcGxpZmllcyB0aGUgaWYtc3RhdGVtZW50IGNoZWNr aW5nIGZvciB0aGUKICAgIEdWMk1fV1JJVEUgcGVybWlzc2lvbi4KLS0tCiB4ZW4vYXJjaC9hcm0v bWVtX2FjY2Vzcy5jIHwgMzEgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLQogMSBmaWxl IGNoYW5nZWQsIDMwIGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKCmRpZmYgLS1naXQgYS94 ZW4vYXJjaC9hcm0vbWVtX2FjY2Vzcy5jIGIveGVuL2FyY2gvYXJtL21lbV9hY2Nlc3MuYwppbmRl eCBiY2Y0OWY1YzE1Li45MTMzYWM4ZjAzIDEwMDY0NAotLS0gYS94ZW4vYXJjaC9hcm0vbWVtX2Fj Y2Vzcy5jCisrKyBiL3hlbi9hcmNoL2FybS9tZW1fYWNjZXNzLmMKQEAgLTIyLDYgKzIyLDcgQEAK ICNpbmNsdWRlIDx4ZW4vdm1fZXZlbnQuaD4KICNpbmNsdWRlIDxwdWJsaWMvdm1fZXZlbnQuaD4K ICNpbmNsdWRlIDxhc20vZXZlbnQuaD4KKyNpbmNsdWRlIDxhc20vZ3Vlc3Rfd2Fsay5oPgogCiBz dGF0aWMgaW50IF9fcDJtX2dldF9tZW1fYWNjZXNzKHN0cnVjdCBkb21haW4gKmQsIGdmbl90IGdm biwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeGVubWVtX2FjY2Vzc190ICphY2Nl c3MpCkBAIC0xMDEsNiArMTAyLDcgQEAgcDJtX21lbV9hY2Nlc3NfY2hlY2tfYW5kX2dldF9wYWdl KHZhZGRyX3QgZ3ZhLCB1bnNpZ25lZCBsb25nIGZsYWcsCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgY29uc3Qgc3RydWN0IHZjcHUgKnYpCiB7CiAgICAgbG9uZyByYzsKKyAgICB1 bnNpZ25lZCBpbnQgcGVybXM7CiAgICAgcGFkZHJfdCBpcGE7CiAgICAgZ2ZuX3QgZ2ZuOwogICAg IG1mbl90IG1mbjsKQEAgLTExMCw4ICsxMTIsMzUgQEAgcDJtX21lbV9hY2Nlc3NfY2hlY2tfYW5k X2dldF9wYWdlKHZhZGRyX3QgZ3ZhLCB1bnNpZ25lZCBsb25nIGZsYWcsCiAgICAgc3RydWN0IHAy bV9kb21haW4gKnAybSA9ICZ2LT5kb21haW4tPmFyY2gucDJtOwogCiAgICAgcmMgPSBndmFfdG9f aXBhKGd2YSwgJmlwYSwgZmxhZyk7CisKKyAgICAvKgorICAgICAqIEluIGNhc2UgbWVtX2FjY2Vz cyBpcyBhY3RpdmUsIGhhcmR3YXJlLWJhc2VkIGd2YV90b19pcGEgdHJhbnNsYXRpb24KKyAgICAg KiBtaWdodCBmYWlsLiBTaW5jZSBndmFfdG9faXBhIHVzZXMgdGhlIGd1ZXN0J3MgdHJhbnNsYXRp b24gdGFibGVzLCBhY2Nlc3MKKyAgICAgKiB0byB3aGljaCBtaWdodCBiZSByZXN0cmljdGVkIGJ5 IHRoZSBhY3RpdmUgVlRUQlIsIHdlIHBlcmZvcm0gYSBndmEgdG8KKyAgICAgKiBpcGEgdHJhbnNs YXRpb24gaW4gc29mdHdhcmUuCisgICAgICovCiAgICAgaWYgKCByYyA8IDAgKQotICAgICAgICBn b3RvIGVycjsKKyAgICB7CisgICAgICAgIGlmICggZ3Vlc3Rfd2Fsa190YWJsZXModiwgZ3ZhLCAm aXBhLCAmcGVybXMpIDwgMCApCisgICAgICAgICAgICAvKgorICAgICAgICAgICAgICogVGhlIHNv ZnR3YXJlIGd2YSB0byBpcGEgdHJhbnNsYXRpb24gY2FuIHN0aWxsIGZhaWwsIGUuZy4sIGlmIHRo ZQorICAgICAgICAgICAgICogZ3ZhIGlzIG5vdCBtYXBwZWQuCisgICAgICAgICAgICAgKi8KKyAg ICAgICAgICAgIGdvdG8gZXJyOworCisgICAgICAgIC8qCisgICAgICAgICAqIENoZWNrIHBlcm1p c3Npb25zIHRoYXQgYXJlIGFzc3VtZWQgYnkgdGhlIGNhbGxlci4gRm9yIGluc3RhbmNlIGluCisg ICAgICAgICAqIGNhc2Ugb2YgZ3Vlc3Rjb3B5LCB0aGUgY2FsbGVyIGFzc3VtZXMgdGhhdCB0aGUg dHJhbnNsYXRlZCBwYWdlIGNhbgorICAgICAgICAgKiBiZSBhY2Nlc3NlZCB3aXRoIHJlcXVlc3Rl ZCBwZXJtaXNzaW9ucy4gSWYgdGhpcyBpcyBub3QgdGhlIGNhc2UsIHdlCisgICAgICAgICAqIHNo b3VsZCBmYWlsLgorICAgICAgICAgKgorICAgICAgICAgKiBQbGVhc2Ugbm90ZSB0aGF0IHdlIGRv IG5vdCBjaGVjayBmb3IgdGhlIEdWMk1fRVhFQyBwZXJtaXNzaW9uLiBZZXQsCisgICAgICAgICAq IHNpbmNlIHRoZSBoYXJkd2FyZS1iYXNlZCB0cmFuc2xhdGlvbiB0aHJvdWdoIGd2YV90b19pcGEg ZG9lcyBub3QKKyAgICAgICAgICogdGVzdCBmb3IgZXhlY3V0ZSBwZXJtaXNzaW9ucyB0aGlzIGNo ZWNrIGNhbiBiZSBsZWZ0IG91dC4KKyAgICAgICAgICovCisgICAgICAgIGlmICggKGZsYWcgJiBH VjJNX1dSSVRFKSAmJiAhKHBlcm1zICYgR1YyTV9XUklURSkgKQorICAgICAgICAgICAgZ290byBl cnI7CisgICAgfQogCiAgICAgZ2ZuID0gZ2FkZHJfdG9fZ2ZuKGlwYSk7CiAKLS0gCjIuMTIuMgoK Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fClhlbi1kZXZl bCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbi5vcmcKaHR0cHM6Ly9saXN0cy54ZW4u b3JnL3hlbi1kZXZlbAo=