From mboxrd@z Thu Jan 1 00:00:00 1970 From: Sergej Proskurin Subject: Re: [PATCH 15/18] arm/altp2m: Add altp2m paging mechanism. Date: Wed, 6 Jul 2016 10:33:17 +0200 Message-ID: <7ca75156-b98f-6157-8ea6-3099a2996f02@sec.in.tum.de> References: <20160704114605.10086-1-proskurin@sec.in.tum.de> <20160704114605.10086-16-proskurin@sec.in.tum.de> <072110f2-4722-9d90-c441-e4e941f4468f@arm.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 1bKiGl-0004RI-J1 for xen-devel@lists.xenproject.org; Wed, 06 Jul 2016 08:33:19 +0000 In-Reply-To: <072110f2-4722-9d90-c441-e4e941f4468f@arm.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: Julien Grall , xen-devel@lists.xenproject.org Cc: Stefano Stabellini , Tamas K Lengyel List-Id: xen-devel@lists.xenproject.org SGkgSnVsaWVuLAoKCk9uIDA3LzA0LzIwMTYgMTA6NTMgUE0sIEp1bGllbiBHcmFsbCB3cm90ZToK PiAoQ0MgVGFtYXMpCj4KPiBIZWxsbyBTZXJnZWosCj4KPiBPbiAwNC8wNy8yMDE2IDEyOjQ1LCBT ZXJnZWogUHJvc2t1cmluIHdyb3RlOgo+PiBUaGlzIGNvbW1pdCBhZGRzIHRoZSBmdW5jdGlvbiBw Mm1fYWx0cDJtX2xhenlfY29weSBpbXBsZW1lbnRpbmcgdGhlCj4+IGFsdHAybSBwYWdpbmcgbWVj aGFuaXNtLiBUaGUgZnVuY3Rpb24gcDJtX2FsdHAybV9sYXp5X2NvcHkgbGF6aWx5IGNvcGllcwo+ PiB0aGUgaG9zdHAybSdzIG1hcHBpbmcgaW50byB0aGUgY3VycmVudGx5IGFjdGl2ZSBhbHRwMm0g dmlldyBvbiAybmQgc3RhZ2UKPj4gaW5zdHJ1Y3Rpb24gb3IgZGF0YSBhY2Nlc3MgdmlvbGF0aW9u cy4gRXZlcnkgYWx0cDJtIHZpb2xhdGlvbiBnZW5lcmF0ZXMKPj4gYSB2bV9ldmVudC4KPgo+IEkg aGF2ZSBiZWVuIHdvcmtpbmcgb24gY2xlYW4gdXAgdGhlIGFib3J0IHBhdGggKHNlZSBbMV0pLiBQ bGVhc2UKPiByZWJhc2UgeW91ciBjb2RlIG9uIHRvcCBvZiBpdC4KPgoKSSB3aWxsIGRvIHRoYXQs IHRoYW5rIHlvdS4KCj4+IFNpZ25lZC1vZmYtYnk6IFNlcmdlaiBQcm9za3VyaW4gPHByb3NrdXJp bkBzZWMuaW4udHVtLmRlPgo+PiAtLS0KPj4gQ2M6IFN0ZWZhbm8gU3RhYmVsbGluaSA8c3N0YWJl bGxpbmlAa2VybmVsLm9yZz4KPj4gQ2M6IEp1bGllbiBHcmFsbCA8anVsaWVuLmdyYWxsQGFybS5j b20+Cj4+IC0tLQo+Cj4gWy4uLl0KPgo+PiArLyoKPj4gKyAqIElmIHRoZSBmYXVsdCBpcyBmb3Ig YSBub3QgcHJlc2VudCBlbnRyeToKPj4gKyAqICAgICBpZiB0aGUgZW50cnkgaW4gdGhlIGhvc3Qg cDJtIGhhcyBhIHZhbGlkIG1mbiwgY29weSBpdCBhbmQgcmV0cnkKPj4gKyAqICAgICBlbHNlIGlu ZGljYXRlIHRoYXQgb3V0ZXIgaGFuZGxlciBzaG91bGQgaGFuZGxlIGZhdWx0Cj4+ICsgKgo+PiAr ICogSWYgdGhlIGZhdWx0IGlzIGZvciBhIHByZXNlbnQgZW50cnk6Cj4+ICsgKiAgICAgaW5kaWNh dGUgdGhhdCBvdXRlciBoYW5kbGVyIHNob3VsZCBoYW5kbGUgZmF1bHQKPj4gKyAqLwo+PiArYm9v bF90IHAybV9hbHRwMm1fbGF6eV9jb3B5KHN0cnVjdCB2Y3B1ICp2LCBwYWRkcl90IGdwYSwKPj4g KyAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBsb25nIGd2YSwgc3RydWN0IG5w ZmVjIG5wZmVjLAo+PiArICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBwMm1fZG9t YWluICoqYXAybSkKPj4gK3sKPj4gKyAgICBzdHJ1Y3QgZG9tYWluICpkID0gdi0+ZG9tYWluOwo+ PiArICAgIHN0cnVjdCBwMm1fZG9tYWluICpocDJtID0gcDJtX2dldF9ob3N0cDJtKHYtPmRvbWFp bik7Cj4+ICsgICAgcDJtX3R5cGVfdCBwMm10Owo+PiArICAgIHhlbm1lbV9hY2Nlc3NfdCB4bWE7 Cj4+ICsgICAgcGFkZHJfdCBtYWRkciwgbWFzayA9IDA7Cj4+ICsgICAgZ2ZuX3QgZ2ZuID0gX2dm bihwYWRkcl90b19wZm4oZ3BhKSk7Cj4+ICsgICAgdW5zaWduZWQgaW50IGxldmVsOwo+PiArICAg IHVuc2lnbmVkIGxvbmcgbWF0dHI7Cj4+ICsgICAgaW50IHJjID0gMDsKPj4gKwo+PiArICAgIHN0 YXRpYyBjb25zdCBwMm1fYWNjZXNzX3QgbWVtYWNjZXNzW10gPSB7Cj4+ICsjZGVmaW5lIEFDQ0VT UyhhYykgW1hFTk1FTV9hY2Nlc3NfIyNhY10gPSBwMm1fYWNjZXNzXyMjYWMKPj4gKyAgICAgICAg QUNDRVNTKG4pLAo+PiArICAgICAgICBBQ0NFU1MociksCj4+ICsgICAgICAgIEFDQ0VTUyh3KSwK Pj4gKyAgICAgICAgQUNDRVNTKHJ3KSwKPj4gKyAgICAgICAgQUNDRVNTKHgpLAo+PiArICAgICAg ICBBQ0NFU1MocngpLAo+PiArICAgICAgICBBQ0NFU1Mod3gpLAo+PiArICAgICAgICBBQ0NFU1Mo cnd4KSwKPj4gKyAgICAgICAgQUNDRVNTKHJ4MnJ3KSwKPj4gKyAgICAgICAgQUNDRVNTKG4ycnd4 KSwKPj4gKyN1bmRlZiBBQ0NFU1MKPj4gKyAgICB9Owo+PiArCj4+ICsgICAgKmFwMm0gPSBwMm1f Z2V0X2FsdHAybSh2KTsKPj4gKyAgICBpZiAoICphcDJtID09IE5VTEwpCj4+ICsgICAgICAgIHJl dHVybiAwOwo+PiArCj4+ICsgICAgLyogQ2hlY2sgaWYgZW50cnkgaXMgcGFydCBvZiB0aGUgYWx0 cDJtIHZpZXcgKi8KPj4gKyAgICBzcGluX2xvY2soJigqYXAybSktPmxvY2spOwo+PiArICAgIG1h ZGRyID0gX19wMm1fbG9va3VwKCphcDJtLCBncGEsIE5VTEwpOwo+PiArICAgIHNwaW5fdW5sb2Nr KCYoKmFwMm0pLT5sb2NrKTsKPj4gKyAgICBpZiAoIG1hZGRyICE9IElOVkFMSURfUEFERFIgKQo+ PiArICAgICAgICByZXR1cm4gMDsKPj4gKwo+PiArICAgIC8qIENoZWNrIGlmIGVudHJ5IGlzIHBh cnQgb2YgdGhlIGhvc3QgcDJtIHZpZXcgKi8KPj4gKyAgICBzcGluX2xvY2soJmhwMm0tPmxvY2sp Owo+PiArICAgIG1hZGRyID0gX19wMm1fbG9va3VwKGhwMm0sIGdwYSwgJnAybXQpOwo+PiArICAg IGlmICggbWFkZHIgPT0gSU5WQUxJRF9QQUREUiApCj4+ICsgICAgICAgIGdvdG8gb3V0Owo+PiAr Cj4+ICsgICAgcmMgPSBfX3AybV9nZXRfbWVtX2FjY2VzcyhocDJtLCBnZm4sICZ4bWEpOwo+PiAr ICAgIGlmICggcmMgKQo+PiArICAgICAgICBnb3RvIG91dDsKPj4gKwo+PiArICAgIHJjID0gcDJt X2dldF9nZm5fbGV2ZWxfYW5kX2F0dHIoaHAybSwgZ3BhLCAmbGV2ZWwsICZtYXR0cik7Cj4+ICsg ICAgaWYgKCByYyApCj4+ICsgICAgICAgIGdvdG8gb3V0Owo+Cj4gQ2FuIHdlIGludHJvZHVjZSBh IGZ1bmN0aW9uIHdoaWNoIHJldHVybiB0aGUgeG1hLCBtZm4sIG9yZGVyLAo+IGF0dHJpYnV0ZSBh dCBvbmNlPyBJdCB3aWxsIGF2b2lkIHRvIGJyb3dzZSB0aGUgcDJtIDMgdGltZXMgd2hpY2ggaXMK PiByZWFsbHkgZXhwZW5zaXZlIG9uIEFSTXY3IGJlY2F1c2UgdGhlIHAybSBpcyBub3QgbWFwcGVk IGluIHRoZSB2aXJ0dWFsCj4gYWRkcmVzcyBzcGFjZSBvZiBYZW4uCj4KCkkgd2FzIGFscmVhZHkg dGhpbmtpbmcgb2YgYXQgbGVhc3QgbWVyZ2luZyBwMm1fZ2V0X2dmbl9sZXZlbF9hbmRfYXR0cgp3 aXRoIF9fcDJtX2xvb2t1cC4gQnV0IGl0IHdvdWxkIGFsc28gbWFrZSBzZW5zZSB0byBpbnRyb2R1 Y2UgYW4gZW50aXJlbHkKbmV3IGZ1bmN0aW9uLCB3aGljaCBkb2VzIGp1c3QgdGhhdC5JIGJlbGll dmUgaW5jcmVhc2luZyB0aGUgb3ZlcmhlYWQgb2YKX19wMm1fbG9va3VwIHdvdWxkIG5vdCBiZSBh IGdvb2Qgc29sdXRpb24uIFRoYW5rIHlvdS4KCj4+ICsgICAgc3Bpbl91bmxvY2soJmhwMm0tPmxv Y2spOwo+PiArCj4+ICsgICAgbWFzayA9IGxldmVsX21hc2tzW2xldmVsXTsKPj4gKwo+PiArICAg IHJjID0gYXBwbHlfcDJtX2NoYW5nZXMoZCwgKmFwMm0sIElOU0VSVCwKPj4gKyAgICAgICAgICAg ICAgICAgICAgICAgICAgIHBmbl90b19wYWRkcihnZm5feChnZm4pKSAmIG1hc2ssCj4+ICsgICAg ICAgICAgICAgICAgICAgICAgICAgICAocGZuX3RvX3BhZGRyKGdmbl94KGdmbikpICsKPj4gbGV2 ZWxfc2l6ZXNbbGV2ZWxdKSAmIG1hc2ssCj4+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICBt YWRkciAmIG1hc2ssIG1hdHRyLCAwLCBwMm10LAo+PiArICAgICAgICAgICAgICAgICAgICAgICAg ICAgbWVtYWNjZXNzW3htYV0pOwo+Cj4gVGhlIHBhZ2UgYXNzb2NpYXRlZCB0byB0aGUgTUZOIGlz IG5vdCBsb2NrZWQsIHNvIGFub3RoZXIgdGhyZWFkIGNvdWxkCj4gZGVjaWRlIHRvIHJlbW92ZSB0 aGUgcGFnZSBmcm9tIHRoZSBkb21haW4gYW5kIHRoZW4gdGhlIGFsdHAybSB3b3VsZAo+IGNvbnRh aW4gYW4gZW50cnkgdG8gc29tZXRoaW5nIHRoYXQgZG9lcyBub3QgYmVsb25nIHRvIHRoZSBkb21h aW4KPiBhbnltb3JlLiBOb3RlIHRoYXQgeDg2IGlzIGRvaW5nIHRoZSBzYW1lLiBTbyBJIGFtIG5v dCBzdXJlIHdoeSBpdCBpcwo+IGNvbnNpZGVyZWQgc2FmZSB0aGVyZS4uLgo+CgpJZiBJIHVuZGVy c3RhbmQgeW91IGNvcnJlY3RseSwgdW5sb2NraW5nIHRoZSBocDJtLT5sb2NrIGFmdGVyIGNhbGxp bmcKYXBwbHlfcDJtX2NoYW5nZXN3b3VsZCBhbHJlYWR5IHNvbHZlIHRoaXMgaXNzdWUsIHJpZ2h0 PyBUaGFua3MuCgo+PiArICAgIGlmICggcmMgKQo+PiArICAgIHsKPj4gKyAgICAgICAgZ2Rwcmlu dGsoWEVOTE9HX0VSUiwgImZhaWxlZCB0byBzZXQgZW50cnkgZm9yICVseCAtPiAlbHggcDJtCj4+ ICVseFxuIiwKPj4gKyAgICAgICAgICAgICAgICAodW5zaWduZWQgbG9uZylwZm5fdG9fcGFkZHIo Z2ZuX3goZ2ZuKSksICh1bnNpZ25lZAo+PiBsb25nKShtYWRkciksICh1bnNpZ25lZCBsb25nKSph cDJtKTsKPj4gKyAgICAgICAgZG9tYWluX2NyYXNoKGhwMm0tPmRvbWFpbik7Cj4+ICsgICAgfQo+ PiArCj4+ICsgICAgcmV0dXJuIDE7Cj4+ICsKPj4gK291dDoKPj4gKyAgICBzcGluX3VubG9jaygm aHAybS0+bG9jayk7Cj4+ICsgICAgcmV0dXJuIDA7Cj4+ICt9Cj4+ICsKPj4gIHN0YXRpYyB2b2lk IHAybV9pbml0X2FsdHAybV9oZWxwZXIoc3RydWN0IGRvbWFpbiAqZCwgdW5zaWduZWQgaW50IGkp Cj4+ICB7Cj4+ICAgICAgc3RydWN0IHAybV9kb21haW4gKnAybSA9IGQtPmFyY2guYWx0cDJtX3Ay bVtpXTsKPgo+IFsuLi5dCj4KPj4gQEAgLTI0MjksNiArMjQ2MCw4IEBAIHN0YXRpYyB2b2lkIGRv X3RyYXBfZGF0YV9hYm9ydF9ndWVzdChzdHJ1Y3QKPj4gY3B1X3VzZXJfcmVncyAqcmVncywKPj4g ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1bmlvbiBoc3IgaHNy KQo+PiAgewo+PiAgICAgIGNvbnN0IHN0cnVjdCBoc3JfZGFidCBkYWJ0ID0gaHNyLmRhYnQ7Cj4+ ICsgICAgc3RydWN0IHZjcHUgKnYgPSBjdXJyZW50Owo+PiArICAgIHN0cnVjdCBwMm1fZG9tYWlu ICpwMm0gPSBOVUxMOwo+PiAgICAgIGludCByYzsKPj4gICAgICBtbWlvX2luZm9fdCBpbmZvOwo+ Pgo+PiBAQCAtMjQ0OSw2ICsyNDgyLDEyIEBAIHN0YXRpYyB2b2lkIGRvX3RyYXBfZGF0YV9hYm9y dF9ndWVzdChzdHJ1Y3QKPj4gY3B1X3VzZXJfcmVncyAqcmVncywKPj4gICAgICAgICAgaW5mby5n cGEgPSBnZXRfZmF1bHRpbmdfaXBhKCk7Cj4+ICAgICAgZWxzZQo+PiAgICAgIHsKPj4gKyAgICAg ICAgLyoKPj4gKyAgICAgICAgICogV2hlbiB1c2luZyBhbHRwMm0sIHRoaXMgZmx1c2ggaXMgcmVx dWlyZWQgdG8gZ2V0IHJpZCBvZgo+PiBvbGQgVExCCj4+ICsgICAgICAgICAqIGVudHJpZXMgYW5k IHVzZSB0aGUgbmV3LCBsYXppbHkgY29waWVkLCBhcDJtIGVudHJpZXMuCj4+ICsgICAgICAgICAq Lwo+PiArICAgICAgICBmbHVzaF90bGJfbG9jYWwoKTsKPgo+IENhbiB5b3UgZ2l2ZSBtb3JlIGRl dGFpbHMgd2h5IHRoaXMgZmx1c2ggaXMgcmVxdWlyZWQ/Cj4KCldpdGhvdXQgdGhlIGZsdXNoLCB0 aGUgZ3Vlc3QgY3Jhc2hlZCB0byBhbiB1bnJlc29sdmVkIGRhdGEgYWJvcnQuIFRvIGJlCm1vcmUg cHJlY2lzZSwgYWZ0ZXIgdGhlIGZpcnN0IGxhenktY29weSBvZiBhIG1hcHBpbmcgZnJvbSB0aGUg aG9zdHAybSB0bwp0aGUgY3VycmVudGx5IGFjdGl2ZSBhbHRwMm0gdmlldywgdGhlIHN5c3RlbSBj cmFzaGVkIGJlY2F1c2UgaXQgd2FzIG5vdAphYmxlIHRvIGZpbmQgdGhlIG5ldyBtYXBwaW5nIGlu IGl0cyBhbHRwMm0gdGFibGUuIFRoZSBleHBsaWNpdCBmbHVzaApzb2x2ZWQgdGhpcyBpc3N1ZSBx dWl0ZSBuaWNlbHkuCgpBcyBJIGFuc3dlciB5b3VyIHF1ZXN0aW9uLCBJIGFtIHN0YXJ0aW5nIHRv IHRoaW5rIHRoYXQgdGhlIGNyYXNoIHdhcyBhCnJlc3VsdCBvZiBvZiBhIGxhY2sgb2YgYSBtZW1v cnkgYmFycmllciBiZWNhdXNlIGV2ZW4gd2l0aCB0aGUgb2xkCihob3N0cDJtJ3MpIFRMQnMgcHJl c2VudCwgdGhlIHRyYW5zbGF0aW9uIHdvdWxkIG5vdCBwcmVzZW50IGFuIGlzc3VlCih0aGUgbWFw cGluZyB3b3VsZCBiZSB0aGUgc2FtZSBhcyB0aGUgcDJtIGVudHJ5IGlzIHNpbXBseSBjb3BpZWQg ZnJvbQp0aGUgaG9zdHAybSB0byB0aGUgYWN0aXZlIGFsdHAybSB2aWV3KS4gQWxzbywgdGhlIGd1 ZXN0IHdvdWxkIHJldXNlIHRoZQpvbGQgVExCcywgdGhlIHN5c3RlbSB3b3VsZCBoYXZlIHVzZWQg dGhlIGFjY2VzcyByaWdodHMgb2YgdGhlIGhvc3RwMm0sCmFuZCBoZW5jZSBhZ2FpbiBiZSB0cmFw cGVkIGJ5IFhlbi4KCkkgd2lsbCB0cnkgdG8gc29sdmUgdGhpcyBpc3N1ZSBieSBtZWFucyBvZiBh IG1lbW9yeSBiYXJyaWVyLCB0aGFuayB5b3UuCgo+PiArCj4KPiBSZWdhcmRzLAo+Cj4gWzFdIGh0 dHBzOi8vbGlzdHMueGVuLm9yZy9hcmNoaXZlcy9odG1sL3hlbi1kZXZlbC8yMDE2LTA2L21zZzAy ODUzLmh0bWwKPgoKQ2hlZXJzLAp+U2VyZ2VqCgoKX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX18KWGVuLWRldmVsIG1haWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlz dHMueGVuLm9yZwpodHRwczovL2xpc3RzLnhlbi5vcmcveGVuLWRldmVsCg==