From mboxrd@z Thu Jan 1 00:00:00 1970 From: Julien Grall Subject: [for-4.8][PATCH v2 07/23] xen/arm: traps: Check the P2M before injecting a data/instruction abort Date: Thu, 15 Sep 2016 12:28:23 +0100 Message-ID: <1473938919-31976-8-git-send-email-julien.grall@arm.com> References: <1473938919-31976-1-git-send-email-julien.grall@arm.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1473938919-31976-1-git-send-email-julien.grall@arm.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: xen-devel@lists.xen.org Cc: proskurin@sec.in.tum.de, Julien Grall , sstabellini@kernel.org, steve.capper@arm.com, wei.chen@linaro.org List-Id: xen-devel@lists.xenproject.org QSBkYXRhL2luc3RydWN0aW9uIGFib3J0IG1heSBoYXZlIG9jY3VycmVkIGlmIGFub3RoZXIgQ1BV IHdhcyBwbGF5aW5nCndpdGggdGhlIHN0YWdlLTIgcGFnZSB0YWJsZSB3aGVuIGZvbGxvd2luZyB0 aGUgYnJlYWstYmVmb3JlLW1ha2UKc2VxdWVuY2UgKHNlZSBENC43LjEgaW4gQVJNIERESSAwNDg3 QS5qKS4gUmF0aGVyIHRoYW4gaW5qZWN0aW5nIGRpcmVjdGx5CnRoZSBmYXVsdCB0byB0aGUgZ3Vl c3QsIHdlIG5lZWQgdG8gY2hlY2sgd2hldGhlciB0aGUgbWFwcGluZyBleGlzdHMuIElmCml0IGV4 aXN0cywgcmV0dXJuIHRvIHRoZSBndWVzdCB0byByZXBsYXkgdGhlIGluc3RydWN0aW9uLgoKU2ln bmVkLW9mZi1ieTogSnVsaWVuIEdyYWxsIDxqdWxpZW4uZ3JhbGxAYXJtLmNvbT4KCi0tLQogICAg Q2hhbmdlcyBpbiB2MjoKICAgICAgICAtIFJlbW92ZSBzcHVyaW91cyBjaGFuZ2UKICAgICAgICAt IEZpeCB0eXBvZXMKLS0tCiB4ZW4vYXJjaC9hcm0vdHJhcHMuYyB8IDM3ICsrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKy0KIDEgZmlsZSBjaGFuZ2VkLCAzNiBpbnNlcnRpb25zKCsp LCAxIGRlbGV0aW9uKC0pCgpkaWZmIC0tZ2l0IGEveGVuL2FyY2gvYXJtL3RyYXBzLmMgYi94ZW4v YXJjaC9hcm0vdHJhcHMuYwppbmRleCA3NmU0MTUyLi5kNzNkMjlhIDEwMDY0NAotLS0gYS94ZW4v YXJjaC9hcm0vdHJhcHMuYworKysgYi94ZW4vYXJjaC9hcm0vdHJhcHMuYwpAQCAtMjQwNSw2ICsy NDA1LDcgQEAgc3RhdGljIHZvaWQgZG9fdHJhcF9pbnN0cl9hYm9ydF9ndWVzdChzdHJ1Y3QgY3B1 X3VzZXJfcmVncyAqcmVncywKICAgICByZWdpc3Rlcl90IGd2YSA9IFJFQURfU1lTUkVHKEZBUl9F TDIpOwogICAgIHVpbnQ4X3QgZnNjID0gaHNyLmlhYnQuaWZzYyAmIH5GU0NfTExfTUFTSzsKICAg ICBwYWRkcl90IGdwYTsKKyAgICBtZm5fdCBtZm47CiAKICAgICBpZiAoIGhwZmFyX2lzX3ZhbGlk KGhzci5pYWJ0LnMxcHR3LCBmc2MpICkKICAgICAgICAgZ3BhID0gZ2V0X2ZhdWx0aW5nX2lwYShn dmEpOwpAQCAtMjQxOCw2ICsyNDE5LDExIEBAIHN0YXRpYyB2b2lkIGRvX3RyYXBfaW5zdHJfYWJv cnRfZ3Vlc3Qoc3RydWN0IGNwdV91c2VyX3JlZ3MgKnJlZ3MsCiAgICAgICAgICAqLwogICAgICAg ICBmbHVzaF90bGJfbG9jYWwoKTsKIAorICAgICAgICAvKgorICAgICAgICAgKiBXZSBtYXkgbm90 IGJlIGFibGUgdG8gdHJhbnNsYXRlIGJlY2F1c2Ugc29tZW9uZSBpcworICAgICAgICAgKiBwbGF5 aW5nIHdpdGggdGhlIFN0YWdlLTIgcGFnZSB0YWJsZSBvZiB0aGUgZG9tYWluLgorICAgICAgICAg KiBSZXR1cm4gdG8gdGhlIGd1ZXN0LgorICAgICAgICAgKi8KICAgICAgICAgcmMgPSBndmFfdG9f aXBhKGd2YSwgJmdwYSwgR1YyTV9SRUFEKTsKICAgICAgICAgaWYgKCByYyA9PSAtRUZBVUxUICkK ICAgICAgICAgICAgIHJldHVybjsgLyogVHJ5IGFnYWluICovCkBAIC0yNDM4LDggKzI0NDQsMTcg QEAgc3RhdGljIHZvaWQgZG9fdHJhcF9pbnN0cl9hYm9ydF9ndWVzdChzdHJ1Y3QgY3B1X3VzZXJf cmVncyAqcmVncywKICAgICAgICAgLyogVHJhcCB3YXMgdHJpZ2dlcmVkIGJ5IG1lbV9hY2Nlc3Ms IHdvcmsgaGVyZSBpcyBkb25lICovCiAgICAgICAgIGlmICggIXJjICkKICAgICAgICAgICAgIHJl dHVybjsKKyAgICAgICAgYnJlYWs7CiAgICAgfQotICAgIGJyZWFrOworICAgIGNhc2UgRlNDX0ZM VF9UUkFOUzoKKyAgICAgICAgLyoKKyAgICAgICAgICogVGhlIFBUIHdhbGsgbWF5IGhhdmUgZmFp bGVkIGJlY2F1c2Ugc29tZW9uZSB3YXMgcGxheWluZworICAgICAgICAgKiB3aXRoIHRoZSBTdGFn ZS0yIHBhZ2UgdGFibGUuIFdhbGsgdGhlIFN0YWdlLTIgUFQgdG8gY2hlY2sKKyAgICAgICAgICog aWYgdGhlIGVudHJ5IGV4aXN0cy4gSWYgaXQncyB0aGUgY2FzZSwgcmV0dXJuIHRvIHRoZSBndWVz dAorICAgICAgICAgKi8KKyAgICAgICAgbWZuID0gcDJtX2xvb2t1cChjdXJyZW50LT5kb21haW4s IF9nZm4ocGFkZHJfdG9fcGZuKGdwYSkpLCBOVUxMKTsKKyAgICAgICAgaWYgKCAhbWZuX2VxKG1m biwgSU5WQUxJRF9NRk4pICkKKyAgICAgICAgICAgIHJldHVybjsKICAgICB9CiAKICAgICBpbmpl Y3RfaWFidF9leGNlcHRpb24ocmVncywgZ3ZhLCBoc3IubGVuKTsKQEAgLTI0ODQsNiArMjQ5OSw3 IEBAIHN0YXRpYyB2b2lkIGRvX3RyYXBfZGF0YV9hYm9ydF9ndWVzdChzdHJ1Y3QgY3B1X3VzZXJf cmVncyAqcmVncywKICAgICBpbnQgcmM7CiAgICAgbW1pb19pbmZvX3QgaW5mbzsKICAgICB1aW50 OF90IGZzYyA9IGhzci5kYWJ0LmRmc2MgJiB+RlNDX0xMX01BU0s7CisgICAgbWZuX3QgbWZuOwog CiAgICAgaW5mby5kYWJ0ID0gZGFidDsKICNpZmRlZiBDT05GSUdfQVJNXzMyCkBAIC0yNDk3LDYg KzI1MTMsMTEgQEAgc3RhdGljIHZvaWQgZG9fdHJhcF9kYXRhX2Fib3J0X2d1ZXN0KHN0cnVjdCBj cHVfdXNlcl9yZWdzICpyZWdzLAogICAgIGVsc2UKICAgICB7CiAgICAgICAgIHJjID0gZ3ZhX3Rv X2lwYShpbmZvLmd2YSwgJmluZm8uZ3BhLCBHVjJNX1JFQUQpOworICAgICAgICAvKgorICAgICAg ICAgKiBXZSBtYXkgbm90IGJlIGFibGUgdG8gdHJhbnNsYXRlIGJlY2F1c2Ugc29tZW9uZSBpcwor ICAgICAgICAgKiBwbGF5aW5nIHdpdGggdGhlIFN0YWdlLTIgcGFnZSB0YWJsZSBvZiB0aGUgZG9t YWluLgorICAgICAgICAgKiBSZXR1cm4gdG8gdGhlIGd1ZXN0LgorICAgICAgICAgKi8KICAgICAg ICAgaWYgKCByYyA9PSAtRUZBVUxUICkKICAgICAgICAgICAgIHJldHVybjsgLyogVHJ5IGFnYWlu ICovCiAgICAgfQpAQCAtMjUyMCwxMSArMjU0MSwyNSBAQCBzdGF0aWMgdm9pZCBkb190cmFwX2Rh dGFfYWJvcnRfZ3Vlc3Qoc3RydWN0IGNwdV91c2VyX3JlZ3MgKnJlZ3MsCiAgICAgICAgIGJyZWFr OwogICAgIH0KICAgICBjYXNlIEZTQ19GTFRfVFJBTlM6CisgICAgICAgIC8qCisgICAgICAgICAq IEF0dGVtcHQgZmlyc3QgdG8gZW11bGF0ZSB0aGUgTU1JTyBhcyB0aGUgZGF0YSBhYm9ydCB3aWxs CisgICAgICAgICAqIGxpa2VseSBoYXBwZW4gaW4gYW4gZW11bGF0ZWQgcmVnaW9uLgorICAgICAg ICAgKi8KICAgICAgICAgaWYgKCB0cnlfaGFuZGxlX21taW8ocmVncywgJmluZm8pICkKICAgICAg ICAgewogICAgICAgICAgICAgYWR2YW5jZV9wYyhyZWdzLCBoc3IpOwogICAgICAgICAgICAgcmV0 dXJuOwogICAgICAgICB9CisKKyAgICAgICAgLyoKKyAgICAgICAgICogVGhlIFBUIHdhbGsgbWF5 IGhhdmUgZmFpbGVkIGJlY2F1c2Ugc29tZW9uZSB3YXMgcGxheWluZworICAgICAgICAgKiB3aXRo IHRoZSBTdGFnZS0yIHBhZ2UgdGFibGUuIFdhbGsgdGhlIFN0YWdlLTIgUFQgdG8gY2hlY2sKKyAg ICAgICAgICogaWYgdGhlIGVudHJ5IGV4aXN0cy4gSWYgaXQncyB0aGUgY2FzZSwgcmV0dXJuIHRv IHRoZSBndWVzdAorICAgICAgICAgKi8KKyAgICAgICAgbWZuID0gcDJtX2xvb2t1cChjdXJyZW50 LT5kb21haW4sIF9nZm4ocGFkZHJfdG9fcGZuKGluZm8uZ3BhKSksIE5VTEwpOworICAgICAgICBp ZiAoICFtZm5fZXEobWZuLCBJTlZBTElEX01GTikgKQorICAgICAgICAgICAgcmV0dXJuOworCiAg ICAgICAgIGJyZWFrOwogICAgIGRlZmF1bHQ6CiAgICAgICAgIGdwcmludGsoWEVOTE9HX1dBUk5J TkcsICJVbnN1cHBvcnRlZCBERlNDOiBIU1I9JSN4IERGU0M9JSN4XG4iLAotLSAKMS45LjEKCgpf X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpYZW4tZGV2ZWwg bWFpbGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54ZW4ub3JnCmh0dHBzOi8vbGlzdHMueGVuLm9y Zy94ZW4tZGV2ZWwK