From mboxrd@z Thu Jan 1 00:00:00 1970 From: Julien Grall Subject: Re: [RFC PATCH v2 7/8] arm/mem_access: Add short-descriptor based gpt Date: Fri, 2 Jun 2017 16:11:58 +0100 Message-ID: References: <20170601151906.10213-1-proskurin@sec.in.tum.de> <20170601151906.10213-8-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.bemta5.messagelabs.com ([195.245.231.135]) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dGoFD-00082p-1f for xen-devel@lists.xenproject.org; Fri, 02 Jun 2017 15:12:07 +0000 In-Reply-To: <20170601151906.10213-8-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 ZToKPiBUaGlzIGNvbW1pdCBhZGRzIGZ1bmN0aW9uYWxpdHkgdG8gd2FsayB0aGUgZ3Vlc3QncyBw YWdlIHRhYmxlcyB1c2luZyB0aGUKPiBzaG9ydC1kZXNjcmlwdG9yIHRyYW5zbGF0aW9uIHRhYmxl IGZvcm1hdCBmb3IgYm90aCBBUk12NyBhbmQgQVJNdjguIFRoZQo+IGltcGxlbWVudGF0aW9uIGlz IGJhc2VkIG9uIEFSTSBEREkgMDQ4N0EtZyBHNC00MTg5IGFuZCBBUk0gRERJIDA0MDZDLWIKPiBC My0xNTA2Lgo+IAo+IFNpZ25lZC1vZmYtYnk6IFNlcmdlaiBQcm9za3VyaW4gPHByb3NrdXJpbkBz ZWMuaW4udHVtLmRlPgo+IC0tLQo+IENjOiBTdGVmYW5vIFN0YWJlbGxpbmkgPHNzdGFiZWxsaW5p QGtlcm5lbC5vcmc+Cj4gQ2M6IEp1bGllbiBHcmFsbCA8anVsaWVuLmdyYWxsQGFybS5jb20+Cj4g LS0tCj4gICB4ZW4vYXJjaC9hcm0vcDJtLmMgfCAxMjUgKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKy0KPiAgIDEgZmlsZSBjaGFuZ2VkLCAxMjMgaW5z ZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKPiAKPiBkaWZmIC0tZ2l0IGEveGVuL2FyY2gvYXJt L3AybS5jIGIveGVuL2FyY2gvYXJtL3AybS5jCj4gaW5kZXggZWEzYmU2ZjA1MC4uZmExMTJiODcz YyAxMDA2NDQKPiAtLS0gYS94ZW4vYXJjaC9hcm0vcDJtLmMKPiArKysgYi94ZW4vYXJjaC9hcm0v cDJtLmMKPiBAQCAtMTU1OCw4ICsxNTU4LDEyOSBAQCBzdGF0aWMgaW50IF9fcDJtX3dhbGtfZ3B0 X3NkKHN0cnVjdCBwMm1fZG9tYWluICpwMm0sCj4gICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHZhZGRyX3QgZ3ZhLCBwYWRkcl90ICppcGEsCj4gICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIHVuc2lnbmVkIGludCAqcGVybV9ybykKPiAgIHsKPiAtICAgIC8qIE5vdCBpbXBsZW1l bnRlZCB5ZXQuICovCj4gLSAgICByZXR1cm4gLUVGQVVMVDsKPiArICAgIGludCBkaXNhYmxlZCA9 IDE7CgpUaGlzIHNob3VsZCBiZSBib29sIGFzIHlvdSB1c2UgMC8xLgoKPiArICAgIGludDMyX3Qg dHRicjsKCkxpa2VseSB5b3Ugd2FudCB0byB1c2UgdWludDY0X3QgaGVyZS4KCj4gKyAgICBwYWRk cl90IG1hc2s7Cj4gKyAgICBwdGVfc2RfdCBwdGUsICp0YWJsZTsKPiArICAgIHN0cnVjdCBwYWdl X2luZm8gKnBhZ2U7Cj4gKyAgICByZWdpc3Rlcl90IHR0YmNyID0gUkVBRF9TWVNSRUcoVENSX0VM MSk7Cj4gKyAgICB1bnNpZ25lZCBpbnQgbGV2ZWwgPSAwLCBuID0gdHRiY3IgJiBUVEJDUl9OX01B U0s7Cj4gKyAgICBzdHJ1Y3QgZG9tYWluICpkID0gcDJtLT5kb21haW47Cj4gKwo+ICsgICAgY29u c3QgcGFkZHJfdCBvZmZzZXRzWzJdID0gewo+ICsgICAgICAgICgocGFkZHJfdCkoZ3ZhID4+IDIw KSAmICgoMVVMTCA8PCAoMTIgLSBuKSkgLSAxKSksCj4gKyAgICAgICAgKChwYWRkcl90KShndmEg Pj4gMTIpICYgKCgxVUxMIDw8IDgpIC0gMSkpCj4gKyAgICB9Owo+ICsKPiArICAgIC8qIFRPRE86 IERvIHRoZSBzYW1lICgzMSBiaXQpIHdpdGggTFBBRSBjb2RlISEgKi8KPiArICAgIG1hc2sgPSAo KDFVTEwgPDwgUkVHSVNURVJfV0lEVEhfMzJfQklUKSAtIDEpICYKPiArICAgICAgICAgICB+KCgx VUxMIDw8IChSRUdJU1RFUl9XSURUSF8zMl9CSVQgLSBuKSkgLSAxKTsKPiArCj4gKyAgICBpZiAo IG4gPT0gMCB8fCAhKGd2YSAmIG1hc2spICkKPiArICAgIHsKPiArICAgICAgICAvKiBVc2UgVFRC UjAgZm9yIEdWQSB0byBJUEEgdHJhbnNsYXRpb24uICovCj4gKyAgICAgICAgdHRiciA9IFJFQURf U1lTUkVHNjQoVFRCUjBfRUwxKTsKPiArCj4gKyAgICAgICAgLyogSWYgVFRCQ1IuUEQwIGlzIHNl dCwgdHJhbnNsYXRpb25zIHVzaW5nIFRUQlIwIGFyZSBkaXNhYmxlZC4gKi8KPiArICAgICAgICBk aXNhYmxlZCA9ICggdHRiY3IgJiBUVEJDUl9QRDAgKSA/IDEgOiAwCmRpc2FibGUgPSB0dGJjciAm IFRUQkNSX1BEMDsKCj4gKyAgICB9Cj4gKyAgICBlbHNlCj4gKyAgICB7Cj4gKyAgICAgICAgLyog VXNlIFRUQlIxIGZvciBHVkEgdG8gSVBBIHRyYW5zbGF0aW9uLiAqLwo+ICsgICAgICAgIHR0YnIg PSBSRUFEX1NZU1JFRzY0KFRUQlIxX0VMMSk7Cj4gKwo+ICsgICAgICAgIC8qIElmIFRUQkNSLlBE MSBpcyBzZXQsIHRyYW5zbGF0aW9ucyB1c2luZyBUVEJSMSBhcmUgZGlzYWJsZWQuICovCj4gKyAg ICAgICAgZGlzYWJsZWQgPSAoIHR0YmNyICYgVFRCQ1JfUEQxICkgPyAxIDogMDsKCkRpdHRvLgoK PiArICAgIH0KPiArCj4gKyAgICBpZiAoIGRpc2FibGVkICkKPiArICAgICAgICByZXR1cm4gLUVG QVVMVDsKPiArCj4gKyAgICBtYXNrID0gKDFVTEwgPDwgKDE0IC0gbikpIC0gMTsKClBsZWFzZSBl eHBsYWluIHRoZSAxNCBoZXJlOwoKPiArICAgIHBhZ2UgPSBnZXRfcGFnZV9mcm9tX2dmbihkLCBw YWRkcl90b19wZm4odHRiciAmIH5tYXNrKSwgTlVMTCwgUDJNX0FMTE9DKTsKPiArICAgIGlmICgg IXBhZ2UgKQo+ICsgICAgICAgIHJldHVybiAtRUZBVUxUOwo+ICsKPiArICAgIC8qCj4gKyAgICAg KiBYWFg6IFRoZSAybmQgbGV2ZWwgbG9va3VwIHRhYmxlIG1pZ2h0IGNvbXByaXNlIDQgY29uY2F0 ZW5hdGVkIDRLCj4gKyAgICAgKiBwYWdlcy4gIENoZWNrIGhvdyB0byBtYXAgY29uY2F0ZW5hdGVk IHRhYmxlcyBhdCBvbmNlLgo+ICsgICAgICovCgpZb3Ugd2lsbCBub3QgYmUgYWJsZSB0byBtYXAg Y29uY2F0ZW5hdGVkIHRhYmxlcyBhdCBvbmNlIGJlY2F1c2UgdGhleSBtYXkgCm5vdCBiZSBjb250 aWd1b3VzIGluIGd1ZXN0IG1lbW9yeS4gVGhvdWdoIHlvdSBjb3VsZCB1c2Ugdm1hcC4KCkJ1dCBp biB0aGlzIGNhc2UsIEkgd291bGQgb25seSBsb29rIGZvciB0aGUgcGFnZSB1c2VkIGFuZCBvbmx5 IG1hcHBlZCAKdGhhdCBvbmUuCgo+ICsgICAgdGFibGUgPSBfX21hcF9kb21haW5fcGFnZShwYWdl KTsKPiArCj4gKyAgICAvKiBDb25zaWRlciBvZmZzZXQgaWYgbiA+IDIuICovCj4gKyAgICBpZiAo IG4gPiAyICkKPiArICAgICAgICB0YWJsZSA9IChwdGVfc2RfdCAqKSgodW5zaWduZWQgbG9uZyl0 YWJsZSB8ICh1bnNpZ25lZCBsb25nKSh0dGJyICYgbWFzaykpOwpXaGF0IGFyZSB5b3UgdHJ5aW5n IHRvIGFjaGlldmUgaGVyZT8KCj4gKwo+ICsgICAgcHRlID0gdGFibGVbb2Zmc2V0c1tsZXZlbF1d Owo+ICsKPiArICAgIHVubWFwX2RvbWFpbl9wYWdlKHRhYmxlKTsKPiArICAgIHB1dF9wYWdlKHBh Z2UpOwo+ICsKPiArICAgIHN3aXRjaCAoIHB0ZS53YWxrLmR0ICkgewoKQ29kaW5nIHN0eWxlLgoK PiArICAgIGNhc2UgMDogLyogSW52YWxpZCBtYXBwaW5nLiAqLwo+ICsgICAgICAgIHJldHVybiAt RUZBVUxUOwo+ICsKPiArICAgIGNhc2UgMTogLyogTGFyZ2Ugb3Igc21hbGwgcGFnZS4gKi8KCkht bW0sIGR0ID09IDEgbWVhbnMgcGFnZSB0YWJsZS4gTm90IHNtYWxsL2xhcmdlLgoKPiArICAgICAg ICBsZXZlbCsrOwo+ICsKPiArICAgICAgICBwYWdlID0gZ2V0X3BhZ2VfZnJvbV9nZm4oZCwgKHB0 ZS53YWxrLmJhc2UgPj4gMiksIE5VTEwsIFAyTV9BTExPQyk7Cj4gKyAgICAgICAgaWYgKCAhcGFn ZSApCj4gKyAgICAgICAgICAgIHJldHVybiAtRUZBVUxUOwo+ICsKPiArICAgICAgICB0YWJsZSA9 IF9fbWFwX2RvbWFpbl9wYWdlKHBhZ2UpOwo+ICsgICAgICAgIHRhYmxlID0gKHB0ZV9zZF90ICop KCh1bnNpZ25lZCBsb25nKXRhYmxlIHwgKChwdGUud2Fsay5iYXNlICYgMHgzKSA8PCAxMCkpOwoK U2FtZSBhcyBhYm92ZS4gV2hhdCBhcmUgeW91IHRyeWluZyB0byBhY2hpZXZlIGhlcmU/IEFsc28g SSBhbSBxdWl0ZSAKY29uZnVzZSB3aXRoIHRoZSBwdGUud2Fsay5iYXNlICYgMHgzLgoKPiArCj4g KyAgICAgICAgcHRlID0gdGFibGVbb2Zmc2V0c1tsZXZlbF1dOwo+ICsKPiArICAgICAgICB1bm1h cF9kb21haW5fcGFnZSh0YWJsZSk7Cj4gKyAgICAgICAgcHV0X3BhZ2UocGFnZSk7Cj4gKwo+ICsg ICAgICAgIGlmICggcHRlLndhbGsuZHQgPT0gMCApCgpQbGVhc2UgYXZvaWQgaGFyZGNvZGUgdmFs dWUgd2hlbiBwb3NzaWJsZS4gV2hlbiBJIHJlYWQgMCBoZXJlIEkgZG9uJ3QgCmtub3cgd2hhdCBp dCBtZWFucy4KCj4gKyAgICAgICAgICAgIGJyZWFrOwo+ICsKPiArICAgICAgICBpZiAoIHB0ZS53 YWxrLmR0ICYgMHgyICkgLyogU21hbGwgcGFnZS4gKi8KClBsZWFzZSBhdm9pZCBoYXJkY29kZSB2 YWx1ZS4KCj4gKyAgICAgICAgewo+ICsgICAgICAgICAgICBtYXNrID0gKDFVTEwgPDwgUEFHRV9T SElGVF80SykgLSAxID4gKyAgICAgICAgICAgICppcGEgPSAocHRlLmJpdHMgJiB+bWFzaykgfCAo Z3ZhICYgbWFzayk7CgpZb3UgcmVhbGx5IGRvbid0IG5lZWQgdG8gZHVwbGljYXRlIHRoYXQgbGlu ZSBhbmQuLi4KCj4gKyAgICAgICAgfQo+ICsgICAgICAgIGVsc2UgLyogTGFyZ2UgcGFnZS4gKi8K PiArICAgICAgICB7Cj4gKyAgICAgICAgICAgIG1hc2sgPSAoMVVMTCA8PCBQQUdFX1NISUZUXzY0 SykgLSAxOwo+ICsgICAgICAgICAgICAqaXBhID0gKHB0ZS5iaXRzICYgfm1hc2spIHwgKGd2YSAm IG1hc2spOwoKLi4uIGFuZCB0aGF0IG9uZS4KCj4gKyAgICAgICAgfQo+ICsKPiArICAgICAgICAv KiBTZXQgYWNjZXNzIHBlcm1pc3Npb25zWzI6MF0uICovCj4gKyAgICAgICAgKnBlcm1fcm8gPSAo cHRlLmJpdHMgJiAweDIwMCkgPj4gOTsKCk5vIGhhcmRjb2RpbmcgdmFsdWUgcGxlYXNlLiBBbmQg bG9va2luZyBhdCB0aGUgTFBBRSB2ZXJzaW9uLCB5b3UgYXJlIApvbmx5IHNldHRpbmcgb25lIGJp dCB0aGVyZSBidXQgMiBiaXRzIGhlcmUuIEhvdyB0aGUgY2FsbGVyIHdpbGwgbm8gd2hhdCAKdG8g ZG8/Cgo+ICsKPiArICAgICAgICBicmVhazsKPiArCj4gKyAgICBjYXNlIDI6IC8qIFNlY3Rpb24u ICovCj4gKyAgICBjYXNlIDM6IC8qIFNlY3Rpb24gb3IgU3VwZXJzZWN0aW9uLiAqLwoKQm90aCAy IGFuZCAzIG1heSBwb2ludCB0byBTZWN0aW9uIG9yIFN1cGVyc2VjdGlvbi4KCj4gKyAgICAgICAg aWYgKCAhKHB0ZS5iaXRzICYgKDFVTEwgPDwgMTgpKSApIC8qIFNlY3Rpb24gKi8KClBsZWFzZSBk b24ndCBoYXJkY29kZSAxOC4KCj4gKyAgICAgICAgewo+ICsgICAgICAgICAgICBtYXNrID0gKDFV TEwgPDwgMjApIC0gMTsKClNhbWUgaGVyZS4KCj4gKyAgICAgICAgICAgICppcGEgPSAocHRlLmJp dHMgJiB+bWFzaykgfCAoZ3ZhICYgbWFzayk7Cj4gKyAgICAgICAgfQo+ICsgICAgICAgIGVsc2Ug LyogU3VwZXJzZWN0aW9uICovCj4gKyAgICAgICAgewo+ICsgICAgICAgICAgICBtYXNrID0gKDFV TEwgPDwgMjQpIC0gMTsKClNhbWUgaGVyZS4KCj4gKyAgICAgICAgICAgICppcGEgPSAocHRlLmJp dHMgJiB+bWFzaykgfCAoZ3ZhICYgbWFzayk7Cj4gKwo+ICsgICAgICAgICAgICBtYXNrID0gKCgx VUxMIDw8IDI0KSAtIDEpICYgfigoMVVMTCA8PCAyMCkgLSAxKTsKClNhbWUgaGVyZS4KCj4gKyAg ICAgICAgICAgICppcGEgfD0gKHB0ZS5iaXRzICYgbWFzaykgPDwgMzI7Cj4gKwo+ICsgICAgICAg ICAgICBtYXNrID0gKCgxVUxMIDw8IDkpIC0gMSkgJiB+KCgxVUxMIDw8IDUpIC0gMSk7CgpTYW1l IGhlcmUuCgo+ICsgICAgICAgICAgICAqaXBhIHw9IChwdGUuYml0cyAmIG1hc2spIDw8IDM2OwoK SSBkb24ndCB1bmRlcnN0YW5kIHdoeSB5b3UgaW50cm9kdWNlIGEgcHRlX3NkX3dhbGsgc3RydWN0 dXJlIGluIGEgd2F5IAp0aGF0IHlvdSBjYW5ub3QgdGFrZSBlYXNpbHkgYWR2YW50YWdlLiBJdCB3 b3VsZCBiZSBiZXR0ZXIgdG8gcmV3b3JrIGl0IApmb3IgeW91ciBwdXJwb3NlLgoKPiArICAgICAg ICB9Cj4gKwo+ICsgICAgICAgIC8qIFNldCBhY2Nlc3MgcGVybWlzc2lvblsyXS4gKi8KPiArICAg ICAgICAqcGVybV9ybyA9IChwdGUuYml0cyAmIDB4ODAwMCkgPj4gMTU7CgpObyBoYXJkY29kaW5n IHZhbHVlIHBsZWFzZS4gQW5kIGhlcmUgeW91IHNldCBvbmUgYml0IGJ1dCAyIGJpdHMgYWJvdmUu Li4uCgo+ICsgICAgfQo+ICsKPiArICAgIGlmICggcHRlLndhbGsuZHQgPT0gMCApCj4gKyAgICAg ICAgcmV0dXJuIC1FRkFVTFQ7CgpEb24ndCB5b3UgYWxyZWFkeSBoYW5kbGUgaXQgaW4gdGhlIHN3 aXRjaD8KCj4gKwo+ICsgICAgcmV0dXJuIDA7Cj4gICB9Cj4gICAKPiAgIC8qCj4gCgpDaGVlcnMs CgotLSAKSnVsaWVuIEdyYWxsCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fXwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54ZW4ub3Jn Cmh0dHBzOi8vbGlzdHMueGVuLm9yZy94ZW4tZGV2ZWwK