From mboxrd@z Thu Jan 1 00:00:00 1970 From: Julien Grall Subject: [for-4.8][PATCH v2 06/23] xen/arm: traps: Move MMIO emulation code in a separate helper Date: Thu, 15 Sep 2016 12:28:22 +0100 Message-ID: <1473938919-31976-7-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 Q3VycmVudGx5LCBhIHN0YWdlLTIgZmF1bHQgdHJhbnNsYXRpb24gd2lsbCBsaWtlbHkgYWNjZXNz IGFuIGVtdWxhdGVkCnJlZ2lvbi4gQWxsIHRoZSBjaGVja3MgYXJlIHByZS1zYW5pdGl0eSBjaGVj ayBmb3IgTU1JTyBlbXVsYXRpb24uCgpBIGZvbGxvdy11cCBwYXRjaCB3aWxsIGhhbmRsZSBhIG5l dyBjYXNlIHRoYXQgY291bGQgbGVhZCB0byBhIHN0YWdlLTIKdHJhbnNsYXRpb24uIFRvIGltcHJv dmUgdGhlIGNsYXJpdHkgb2YgdGhlIGNvZGUgYW5kIHRoZSBjaGFuZ2VzLCB0aGUKY3VycmVudCBp bXBsZW1lbnRhdGlvbiBpcyBtb3ZlIGluIGEgc2VwYXJhdGUgaGVscGVyLgoKU2lnbmVkLW9mZi1i eTogSnVsaWVuIEdyYWxsIDxqdWxpZW4uZ3JhbGxAYXJtLmNvbT4KCi0tLQogICAgQ2hhbmdlcyBp biB2MjoKICAgICAgICAtIEtlZXAgdGhlIGJyZWFrIGluIEZTQ19GTFRfVFJBTlMKICAgICAgICAt IFVzZSBib29sIGluc3RlYWQgb2YgYm9vbF90Ci0tLQogeGVuL2FyY2gvYXJtL3RyYXBzLmMgfCA1 NyArKysrKysrKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAx IGZpbGUgY2hhbmdlZCwgMzMgaW5zZXJ0aW9ucygrKSwgMjQgZGVsZXRpb25zKC0pCgpkaWZmIC0t Z2l0IGEveGVuL2FyY2gvYXJtL3RyYXBzLmMgYi94ZW4vYXJjaC9hcm0vdHJhcHMuYwppbmRleCBh NWE1Mzg0Li43NmU0MTUyIDEwMDY0NAotLS0gYS94ZW4vYXJjaC9hcm0vdHJhcHMuYworKysgYi94 ZW4vYXJjaC9hcm0vdHJhcHMuYwpAQCAtMjQ0NSw2ICsyNDQ1LDM4IEBAIHN0YXRpYyB2b2lkIGRv X3RyYXBfaW5zdHJfYWJvcnRfZ3Vlc3Qoc3RydWN0IGNwdV91c2VyX3JlZ3MgKnJlZ3MsCiAgICAg aW5qZWN0X2lhYnRfZXhjZXB0aW9uKHJlZ3MsIGd2YSwgaHNyLmxlbik7CiB9CiAKK3N0YXRpYyBi b29sIHRyeV9oYW5kbGVfbW1pbyhzdHJ1Y3QgY3B1X3VzZXJfcmVncyAqcmVncywKKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICBtbWlvX2luZm9fdCAqaW5mbykKK3sKKyAgICBjb25zdCBzdHJ1 Y3QgaHNyX2RhYnQgZGFidCA9IGluZm8tPmRhYnQ7CisgICAgaW50IHJjOworCisgICAgLyogc3Rh Z2UtMSBwYWdlIHRhYmxlIHNob3VsZCBuZXZlciBsaXZlIGluIGFuIGVtdWxhdGVkIE1NSU8gcmVn aW9uICovCisgICAgaWYgKCBkYWJ0LnMxcHR3ICkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisg ICAgLyogQWxsIHRoZSBpbnN0cnVjdGlvbnMgdXNlZCBvbiBlbXVsYXRlZCBNTUlPIHJlZ2lvbiBz aG91bGQgYmUgdmFsaWQgKi8KKyAgICBpZiAoICFkYWJ0LnZhbGlkICkKKyAgICAgICAgcmV0dXJu IGZhbHNlOworCisgICAgLyoKKyAgICAgKiBFcnJhdHVtIDc2NjQyMjogVGh1bWIgc3RvcmUgdHJh bnNsYXRpb24gZmF1bHQgdG8gSHlwZXJ2aXNvciBtYXkKKyAgICAgKiBub3QgaGF2ZSBjb3JyZWN0 IEhTUiBSdCB2YWx1ZS4KKyAgICAgKi8KKyAgICBpZiAoIGNoZWNrX3dvcmthcm91bmRfNzY2NDIy KCkgJiYgKHJlZ3MtPmNwc3IgJiBQU1JfVEhVTUIpICYmCisgICAgICAgICBkYWJ0LndyaXRlICkK KyAgICB7CisgICAgICAgIHJjID0gZGVjb2RlX2luc3RydWN0aW9uKHJlZ3MsICZpbmZvLT5kYWJ0 KTsKKyAgICAgICAgaWYgKCByYyApCisgICAgICAgIHsKKyAgICAgICAgICAgIGdwcmludGsoWEVO TE9HX0RFQlVHLCAiVW5hYmxlIHRvIGRlY29kZSBpbnN0cnVjdGlvblxuIik7CisgICAgICAgICAg ICByZXR1cm4gZmFsc2U7CisgICAgICAgIH0KKyAgICB9CisKKyAgICByZXR1cm4gISFoYW5kbGVf bW1pbyhpbmZvKTsKK30KKwogc3RhdGljIHZvaWQgZG9fdHJhcF9kYXRhX2Fib3J0X2d1ZXN0KHN0 cnVjdCBjcHVfdXNlcl9yZWdzICpyZWdzLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIGNvbnN0IHVuaW9uIGhzciBoc3IpCiB7CkBAIC0yNDg4LDI5ICsyNTIwLDcgQEAgc3Rh dGljIHZvaWQgZG9fdHJhcF9kYXRhX2Fib3J0X2d1ZXN0KHN0cnVjdCBjcHVfdXNlcl9yZWdzICpy ZWdzLAogICAgICAgICBicmVhazsKICAgICB9CiAgICAgY2FzZSBGU0NfRkxUX1RSQU5TOgotICAg ICAgICBpZiAoIGRhYnQuczFwdHcgKQotICAgICAgICAgICAgZ290byBiYWRfZGF0YV9hYm9ydDsK LQotICAgICAgICAvKiBYWFg6IERlY29kZSB0aGUgaW5zdHJ1Y3Rpb24gaWYgSVNTIGlzIG5vdCB2 YWxpZCAqLwotICAgICAgICBpZiAoICFkYWJ0LnZhbGlkICkKLSAgICAgICAgICAgIGdvdG8gYmFk X2RhdGFfYWJvcnQ7Ci0KLSAgICAgICAgLyoKLSAgICAgICAgICogRXJyYXR1bSA3NjY0MjI6IFRo dW1iIHN0b3JlIHRyYW5zbGF0aW9uIGZhdWx0IHRvIEh5cGVydmlzb3IgbWF5Ci0gICAgICAgICAq IG5vdCBoYXZlIGNvcnJlY3QgSFNSIFJ0IHZhbHVlLgotICAgICAgICAgKi8KLSAgICAgICAgaWYg KCBjaGVja193b3JrYXJvdW5kXzc2NjQyMigpICYmIChyZWdzLT5jcHNyICYgUFNSX1RIVU1CKSAm JgotICAgICAgICAgICAgIGRhYnQud3JpdGUgKQotICAgICAgICB7Ci0gICAgICAgICAgICByYyA9 IGRlY29kZV9pbnN0cnVjdGlvbihyZWdzLCAmaW5mby5kYWJ0KTsKLSAgICAgICAgICAgIGlmICgg cmMgKQotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgIGdwcmludGsoWEVOTE9HX0RFQlVH LCAiVW5hYmxlIHRvIGRlY29kZSBpbnN0cnVjdGlvblxuIik7Ci0gICAgICAgICAgICAgICAgZ290 byBiYWRfZGF0YV9hYm9ydDsKLSAgICAgICAgICAgIH0KLSAgICAgICAgfQotCi0gICAgICAgIGlm ICggaGFuZGxlX21taW8oJmluZm8pICkKKyAgICAgICAgaWYgKCB0cnlfaGFuZGxlX21taW8ocmVn cywgJmluZm8pICkKICAgICAgICAgewogICAgICAgICAgICAgYWR2YW5jZV9wYyhyZWdzLCBoc3Ip OwogICAgICAgICAgICAgcmV0dXJuOwpAQCAtMjUyMSw3ICsyNTMxLDYgQEAgc3RhdGljIHZvaWQg ZG9fdHJhcF9kYXRhX2Fib3J0X2d1ZXN0KHN0cnVjdCBjcHVfdXNlcl9yZWdzICpyZWdzLAogICAg ICAgICAgICAgICAgIGhzci5iaXRzLCBkYWJ0LmRmc2MpOwogICAgIH0KIAotYmFkX2RhdGFfYWJv cnQ6CiAgICAgZ2RwcmludGsoWEVOTE9HX0RFQlVHLCAiSFNSPTB4JXggcGM9JSMiUFJJcmVnaXN0 ZXIiIGd2YT0lIyJQUkl2YWRkcgogICAgICAgICAgICAgICIgZ3BhPSUjIlBSSXBhZGRyIlxuIiwg aHNyLmJpdHMsIHJlZ3MtPnBjLCBpbmZvLmd2YSwgaW5mby5ncGEpOwogICAgIGluamVjdF9kYWJ0 X2V4Y2VwdGlvbihyZWdzLCBpbmZvLmd2YSwgaHNyLmxlbik7Ci0tIAoxLjkuMQoKCl9fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fClhlbi1kZXZlbCBtYWlsaW5n IGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbi5vcmcKaHR0cHM6Ly9saXN0cy54ZW4ub3JnL3hlbi1k ZXZlbAo=