From mboxrd@z Thu Jan 1 00:00:00 1970 From: Julien Grall Subject: Re: [RFC 06/22] xen/arm: traps: Check the P2M before injecting a data/instruction abort Date: Wed, 31 Aug 2016 11:58:08 +0100 Message-ID: References: <1469717505-8026-1-git-send-email-julien.grall@arm.com> <1469717505-8026-7-git-send-email-julien.grall@arm.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: Stefano Stabellini Cc: proskurin@sec.in.tum.de, wei.chen@linaro.org, steve.capper@arm.com, xen-devel@lists.xen.org List-Id: xen-devel@lists.xenproject.org SGkgU3RlZmFubywKCk9uIDIzLzA4LzE2IDAyOjA1LCBTdGVmYW5vIFN0YWJlbGxpbmkgd3JvdGU6 Cj4gT24gVGh1LCAyOCBKdWwgMjAxNiwgSnVsaWVuIEdyYWxsIHdyb3RlOgo+PiBBIGRhdGEvaW5z dHJ1Y3Rpb24gYWJvcnQgbWF5IGhhdmUgb2NjdXJyZWQgaWYgYW5vdGhlciBDUFUgd2FzIHBsYXlp bmcKPj4gd2l0aCB0aGUgc3RhZ2UtMiBwYWdlIHRhYmxlIHdoZW4gZm9sbG93aW5nIHRoZSBicmVh ay1iZWZvcmUtbWFrZQo+PiBzZXF1ZW5jZSAoc2VlIEQ0LjcuMSBpbiBBUk0gRERJIDA0ODdBLmop LiBSYXRoZXIgdGhhbiBpbmplY3RpbmcgZGlyZWN0bHkKPj4gdGhlIGZhdWx0IHRvIHRoZSBndWVz dCwgd2UgbmVlZCB0byBjaGVjayB3aGV0aGVyIHRoZSBtYXBwaW5nIGV4aXN0cy4gSWYKPj4gaXQg ZXhpc3RzLCByZXR1cm4gdG8gdGhlIGd1ZXN0IHRvIHJlcGxheSB0aGUgaW5zdHJ1Y3Rpb24uCj4+ Cj4+IFNpZ25lZC1vZmYtYnk6IEp1bGllbiBHcmFsbCA8anVsaWVuLmdyYWxsQGFybS5jb20+Cj4+ IC0tLQo+PiAgeGVuL2FyY2gvYXJtL3RyYXBzLmMgfCA0MCArKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKy0tCj4+ICAxIGZpbGUgY2hhbmdlZCwgMzggaW5zZXJ0aW9ucygrKSwg MiBkZWxldGlvbnMoLSkKPj4KPj4gZGlmZiAtLWdpdCBhL3hlbi9hcmNoL2FybS90cmFwcy5jIGIv eGVuL2FyY2gvYXJtL3RyYXBzLmMKPj4gaW5kZXggYjQ2Mjg0Yy4uZGE1NmNjMCAxMDA2NDQKPj4g LS0tIGEveGVuL2FyY2gvYXJtL3RyYXBzLmMKPj4gKysrIGIveGVuL2FyY2gvYXJtL3RyYXBzLmMK Pj4gQEAgLTI0MDQsNiArMjQwNCw3IEBAIHN0YXRpYyB2b2lkIGRvX3RyYXBfaW5zdHJfYWJvcnRf Z3Vlc3Qoc3RydWN0IGNwdV91c2VyX3JlZ3MgKnJlZ3MsCj4+ICAgICAgcmVnaXN0ZXJfdCBndmEg PSBSRUFEX1NZU1JFRyhGQVJfRUwyKTsKPj4gICAgICB1aW50OF90IGZzYyA9IGhzci5pYWJ0Lmlm c2MgJiB+RlNDX0xMX01BU0s7Cj4+ICAgICAgcGFkZHJfdCBncGE7Cj4+ICsgICAgbWZuX3QgbWZu Owo+Pgo+PiAgICAgIGlmICggaHBmYXJfaXNfdmFsaWQoaHNyLmlhYnQuczFwdHcsIGZzYykgKQo+ PiAgICAgICAgICBncGEgPSBnZXRfZmF1bHRpbmdfaXBhKGd2YSk7Cj4+IEBAIC0yNDE3LDYgKzI0 MTgsMTEgQEAgc3RhdGljIHZvaWQgZG9fdHJhcF9pbnN0cl9hYm9ydF9ndWVzdChzdHJ1Y3QgY3B1 X3VzZXJfcmVncyAqcmVncywKPj4gICAgICAgICAgICovCj4+ICAgICAgICAgIGZsdXNoX3RsYl9s b2NhbCgpOwo+Pgo+PiArICAgICAgICAvKgo+PiArICAgICAgICAgKiBXZSBtYXkgbm90IGJlIGFi bGUgdG8gdHJhbnNsYXRlIGJlY2F1c2Ugc29tZW9uZSBpcwo+PiArICAgICAgICAgKiBwbGF5aW5n IHdpdGggdGhlIFN0YWdlLTIgcGFnZSB0YWJsZSBvZiB0aGUgZG9tYWluLgo+PiArICAgICAgICAg KiBSZXR1cm4gdG8gdGhlIGd1ZXN0Lgo+PiArICAgICAgICAgKi8KPj4gICAgICAgICAgcmMgPSBn dmFfdG9faXBhKGd2YSwgJmdwYSwgR1YyTV9SRUFEKTsKPj4gICAgICAgICAgaWYgKCByYyA9PSAt RUZBVUxUICkKPj4gICAgICAgICAgICAgIHJldHVybjsgLyogVHJ5IGFnYWluICovCj4+IEBAIC0y NDM3LDggKzI0NDMsMTcgQEAgc3RhdGljIHZvaWQgZG9fdHJhcF9pbnN0cl9hYm9ydF9ndWVzdChz dHJ1Y3QgY3B1X3VzZXJfcmVncyAqcmVncywKPj4gICAgICAgICAgLyogVHJhcCB3YXMgdHJpZ2dl cmVkIGJ5IG1lbV9hY2Nlc3MsIHdvcmsgaGVyZSBpcyBkb25lICovCj4+ICAgICAgICAgIGlmICgg IXJjICkKPj4gICAgICAgICAgICAgIHJldHVybjsKPj4gKyAgICAgICAgYnJlYWs7Cj4+ICAgICAg fQo+PiAtICAgIGJyZWFrOwo+PiArICAgIGNhc2UgRlNDX0ZMVF9UUkFOUzoKPgo+IFBsZWFzZSBh ZGQgYnJhY2tldHMgdW5kZXIgdGhlIGNhc2Ugc3RhdGVtZW50IGZvciBjb2RlIHN0eWxlCgpUaGlz IGlzIG5vdCBwYXJ0IG9mIHRoZSBjb2Rpbmcgc3R5bGUuIFdlIG9ubHkgdXNlIHRoZSBicmFja2V0 cyB3aGVuIApsb2NhbCB2YXJpYWJsZSBpcyBkZWZpbmVkIGZvciBhIHNwZWNpZmljIGNhc2UuIFNl ZSB2Z2ljLXt2Mix2M30uYyBmb3IgCmluc3RhbmNlLgoKTm90ZSB0aGF0IEkgYW0gYSBiaXQgc3Vy cHJpc2VkIHlvdSBjb21wbGFpbiBoZXJlIGFib3V0IHRoZSBtaXNzaW5nIApicmFja2V0cyBidXQg eW91IGRpZCBub3Qgb24gY29tbWl0IGRlZjQyNzMgInhlbi9hcm06IHRyYXBzOiBNTUlPIHNob3Vs ZCAKb25seSBiZSBlbXVsYXRlZCBmb3IgZmF1bHQgdHJhbnNsYXRpb24iIGF0IHRoZSBiZWdpbm5p bmcgb2YgYXVndXN0LgoKPgo+Cj4+ICsgICAgICAgIC8qCj4+ICsgICAgICAgICAqIFRoZSBQVCB3 YWxrIG1heSBoYXZlIGZhaWxlZCBiZWNhdXNlIHNvbWVvbmUgd2FzIHBsYXlpbmcKPj4gKyAgICAg ICAgICogd2l0aCB0aGUgU3RhZ2UtMiBwYWdlIHRhYmxlLiBXYWxrIHRoZSBTdGFnZS0yIFBUIHRv IGNoZWNrCj4+ICsgICAgICAgICAqIGlmIHRoZSBlbnRyeSBleGlzdHMuIElmIGl0J3MgdGhlIGNh c2UsIHJldHVybiB0byB0aGUgZ3Vlc3QKPj4gKyAgICAgICAgICovCj4+ICsgICAgICAgIG1mbiA9 IHAybV9sb29rdXAoY3VycmVudC0+ZG9tYWluLCBfZ2ZuKHBhZGRyX3RvX3BmbihncGEpKSwgTlVM TCk7Cj4+ICsgICAgICAgIGlmICggIW1mbl9lcShtZm4sIElOVkFMSURfTUZOKSApCj4+ICsgICAg ICAgICAgICByZXR1cm47Cj4KPiBKdXN0IGNoZWNraW5nLCBidXQgaXNuJ3QgaXQgcG9zc2libGUg dG8gZ2V0IGEgZ2VudWluZSB0cmFuc2xhdGlvbiBhYm9ydAo+IHdpdGggYW4gbWZuICE9IGludmFs aWRfbWZuPwoKQSB0cmFuc2xhdGlvbiBmYXVsdCBtZWFucyB0aGUgZW50cnkgaXMgbm90IHByZXNl bnQgaW4gdGhlIHBhZ2UgdGFibGUgYXQgCnRoZSB0aW1lIHRoZSBwcm9jZXNzb3IgZGlkIHRoZSBw YWdlIHRhYmxlIHdhbGsuCgpUaGlzIG1heSBoYXBwZW4gYmVjYXVzZSB0aGUgaHlwZXJ2aXNvciBp cyBtb2RpZnlpbmcgdGhlIHN0YWdlLTIgcGFnZSAKdGFibGUgb24gYW5vdGhlciBwcm9jZXNzb3Ig KGZvciBpbnN0YW5jZSB3aXRoIHRoZSBicmVhay1iZWZvcmUtbWFrZSAKc2VxdWVuY2UpLgoKcDJt X2xvb2t1cCB3aWxsIGRvIGEgc29mdHdhcmUgcGFnZSB3YWxrIHRvIGdldCBlbnRyeS4gQXMgdGhl IGZ1bmN0aW9uIGlzIAp1c2luZyBhIHJlYWQgbG9jaywgaXQgd2lsbCB3YWl0IHVudGlsIHRoZSBv dGhlciBwcm9jZXNzb3IgZmluaXNoZXMgdG8gCnVwZGF0ZSB0aGUgcGFnZSB0YWJsZXMgYmVmb3Jl IGRvaW5nIHRoZSBsb29rdXAuIFNvIGlmIHRoZSBtZm4gcmV0dXJuZWQgCmlzIHZhbGlkLCB0aGVu IHdlIGtub3cgdGhhdCB0aGUgdHJhbnNsYXRpb24gZmF1bHQgaXMgc3B1cmlvdXMgYW5kIHNob3Vs ZCAKcmV0dXJuIHRvIHRoZSBndWVzdCB0byByZXRyeSB0aGUgZXhlY3V0aW9uIG9mIHRoZSBmYXVs dGluZyBpbnN0cnVjdGlvbi4KCj4KPgo+PiAgICAgIH0KPj4KPj4gICAgICBpbmplY3RfaWFidF9l eGNlcHRpb24ocmVncywgZ3ZhLCBoc3IubGVuKTsKPj4gQEAgLTI0NTUsNyArMjQ3MCw3IEBAIHN0 YXRpYyBib29sX3QgdHJ5X2hhbmRsZV9tbWlvKHN0cnVjdCBjcHVfdXNlcl9yZWdzICpyZWdzLAo+ PiAgICAgICAgICByZXR1cm4gMDsKPj4KPj4gICAgICAvKiBBbGwgdGhlIGluc3RydWN0aW9ucyB1 c2VkIG9uIGVtdWxhdGVkIE1NSU8gcmVnaW9uIHNob3VsZCBiZSB2YWxpZCAqLwo+PiAtICAgIGlm ICggIWRhYnQudmFsaWQgKQo+PiArICAgIGlmICggIWluZm8tPmRhYnQudmFsaWQgKQo+PiAgICAg ICAgICByZXR1cm4gMDsKPgo+IFNwdXJpb3VzIGNoYW5nZT8KClllcy4gSSB3aWxsIGRyb3AgaXQu CgpSZWdhcmRzLAoKLS0gCkp1bGllbiBHcmFsbAoKX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX18KWGVuLWRldmVsIG1haWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlz dHMueGVuLm9yZwpodHRwczovL2xpc3RzLnhlbi5vcmcveGVuLWRldmVsCg==