From mboxrd@z Thu Jan 1 00:00:00 1970 From: Shannon Zhao Subject: [PATCH v7 21/22] xen/arm: Add a hypercall for device mmio mapping Date: Fri, 25 Mar 2016 21:48:54 +0800 Message-ID: <1458913735-2678-22-git-send-email-shannon.zhao@linaro.org> References: <1458913735-2678-1-git-send-email-shannon.zhao@linaro.org> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1458913735-2678-1-git-send-email-shannon.zhao@linaro.org> 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: Keir Fraser , Tim Deegan , Ian Jackson , peter.huangpeng@huawei.com, julien.grall@arm.com, stefano.stabellini@citrix.com, shannon.zhao@linaro.org, Jan Beulich , zhaoshenglong@huawei.com List-Id: xen-devel@lists.xenproject.org SXQgbmVlZHMgdG8gbWFwIHBsYXRmb3JtIG9yIGFtYmEgZGV2aWNlIG1taW8gdG8gRG9tMCBvbiBB Uk0uIEJ1dCB3aGVuCmJvb3Rpbmcgd2l0aCBBQ1BJLCBpdCBjYW4ndCBnZXQgdGhlIG1taW8gcmVn aW9uIGluIFhlbiBkdWUgdG8gbGFjayBvZgpBTUwgaW50ZXJwcmV0ZXIgdG8gcGFyc2UgRFNEVCB0 YWJsZS4gVGhlcmVmb3JlLCBsZXQgRG9tMCBjYWxsIGEKaHlwZXJjYWxsIHRvIG1hcCBtbWlvIHJl Z2lvbiB3aGVuIGl0IGFkZHMgdGhlIGRldmljZXMuCgpIZXJlIHdlIGFkZCBhIG5ldyBtYXAgc3Bh Y2UgbGlrZSB0aGUgWEVOX0RPTUNUTF9tZW1vcnlfbWFwcGluZyB0byBtYXAKbW1pbyByZWdpb24g Zm9yIERvbTAuCgpDYzogSWFuIEphY2tzb24gPGlhbi5qYWNrc29uQGV1LmNpdHJpeC5jb20+CkNj OiBKYW4gQmV1bGljaCA8amJldWxpY2hAc3VzZS5jb20+CkNjOiBLZWlyIEZyYXNlciA8a2VpckB4 ZW4ub3JnPgpDYzogVGltIERlZWdhbiA8dGltQHhlbi5vcmc+ClNpZ25lZC1vZmYtYnk6IFNoYW5u b24gWmhhbyA8c2hhbm5vbi56aGFvQGxpbmFyby5vcmc+Ci0tLQogeGVuL2FyY2gvYXJtL21tLmMg ICAgICAgICAgIHwgIDMgKysrCiB4ZW4vYXJjaC9hcm0vcDJtLmMgICAgICAgICAgfCAyMiArKysr KysrKysrKysrKysrKysrKysrCiB4ZW4vY29tbW9uL21lbW9yeS5jICAgICAgICAgfCAxNiArKysr KysrKysrKysrKysrCiB4ZW4vaW5jbHVkZS9hc20tYXJtL3AybS5oICAgfCAgNSArKysrKwogeGVu L2luY2x1ZGUvcHVibGljL21lbW9yeS5oIHwgIDEgKwogNSBmaWxlcyBjaGFuZ2VkLCA0NyBpbnNl cnRpb25zKCspCgpkaWZmIC0tZ2l0IGEveGVuL2FyY2gvYXJtL21tLmMgYi94ZW4vYXJjaC9hcm0v bW0uYwppbmRleCA4MWY5ZTJlLi4wYWFlNmM1IDEwMDY0NAotLS0gYS94ZW4vYXJjaC9hcm0vbW0u YworKysgYi94ZW4vYXJjaC9hcm0vbW0uYwpAQCAtMTEzOCw2ICsxMTM4LDkgQEAgaW50IHhlbm1l bV9hZGRfdG9fcGh5c21hcF9vbmUoCiAgICAgICAgIHJjdV91bmxvY2tfZG9tYWluKG9kKTsKICAg ICAgICAgYnJlYWs7CiAgICAgfQorICAgIGNhc2UgWEVOTUFQU1BBQ0VfZGV2X21taW86CisgICAg ICAgIHJjID0gbWFwX2Rldl9tbWlvX3JlZ2lvbihkLCBncGZuLCAxLCBpZHgpOworICAgICAgICBy ZXR1cm4gcmM7CiAKICAgICBkZWZhdWx0OgogICAgICAgICByZXR1cm4gLUVOT1NZUzsKZGlmZiAt LWdpdCBhL3hlbi9hcmNoL2FybS9wMm0uYyBiL3hlbi9hcmNoL2FybS9wMm0uYwppbmRleCA3ZTVm NWQxLi4wMDExNzA4IDEwMDY0NAotLS0gYS94ZW4vYXJjaC9hcm0vcDJtLmMKKysrIGIveGVuL2Fy Y2gvYXJtL3AybS5jCkBAIC03LDYgKzcsNyBAQAogI2luY2x1ZGUgPHhlbi9iaXRvcHMuaD4KICNp bmNsdWRlIDx4ZW4vdm1fZXZlbnQuaD4KICNpbmNsdWRlIDx4ZW4vbWVtX2FjY2Vzcy5oPgorI2lu Y2x1ZGUgPHhlbi9pb2NhcC5oPgogI2luY2x1ZGUgPHB1YmxpYy92bV9ldmVudC5oPgogI2luY2x1 ZGUgPGFzbS9mbHVzaHRsYi5oPgogI2luY2x1ZGUgPGFzbS9naWMuaD4KQEAgLTEyNzAsNiArMTI3 MSwyNyBAQCBpbnQgdW5tYXBfbW1pb19yZWdpb25zKHN0cnVjdCBkb21haW4gKmQsCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIGQtPmFyY2gucDJtLmRlZmF1bHRfYWNjZXNzKTsKIH0KIAor aW50IG1hcF9kZXZfbW1pb19yZWdpb24oc3RydWN0IGRvbWFpbiAqZCwKKyAgICAgICAgICAgICAg ICAgICAgICAgIHVuc2lnbmVkIGxvbmcgc3RhcnRfZ2ZuLAorICAgICAgICAgICAgICAgICAgICAg ICAgdW5zaWduZWQgbG9uZyBuciwKKyAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGxv bmcgbWZuKQoreworICAgIGludCByZXM7CisKKyAgICBpZiAoICEobnIgJiYgaW9tZW1fYWNjZXNz X3Blcm1pdHRlZChkLCBzdGFydF9nZm4sIHN0YXJ0X2dmbiArIG5yIC0gMSkpICkKKyAgICAgICAg cmV0dXJuIDA7CisKKyAgICByZXMgPSBtYXBfbW1pb19yZWdpb25zKGQsIHN0YXJ0X2dmbiwgbnIs IG1mbik7CisgICAgaWYgKCByZXMgPCAwICkKKyAgICB7CisgICAgICAgIHByaW50ayhYRU5MT0df RVJSICJVbmFibGUgdG8gbWFwIFslI2x4IC0gJSNseF0gaW4gRG9tJWRcbiIsCisgICAgICAgICAg ICAgICBzdGFydF9nZm4sIHN0YXJ0X2dmbiArIG5yIC0gMSwgZC0+ZG9tYWluX2lkKTsKKyAgICAg ICAgcmV0dXJuIHJlczsKKyAgICB9CisKKyAgICByZXR1cm4gMDsKK30KKwogaW50IGd1ZXN0X3Bo eXNtYXBfYWRkX2VudHJ5KHN0cnVjdCBkb21haW4gKmQsCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgdW5zaWduZWQgbG9uZyBncGZuLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVu c2lnbmVkIGxvbmcgbWZuLApkaWZmIC0tZ2l0IGEveGVuL2NvbW1vbi9tZW1vcnkuYyBiL3hlbi9j b21tb24vbWVtb3J5LmMKaW5kZXggYzdmY2E5Ni4uMjVmZjg2YyAxMDA2NDQKLS0tIGEveGVuL2Nv bW1vbi9tZW1vcnkuYworKysgYi94ZW4vY29tbW9uL21lbW9yeS5jCkBAIC05ODAsNiArOTgwLDE0 IEBAIGxvbmcgZG9fbWVtb3J5X29wKHVuc2lnbmVkIGxvbmcgY21kLCBYRU5fR1VFU1RfSEFORExF X1BBUkFNKHZvaWQpIGFyZykKICAgICAgICAgaWYgKCBkID09IE5VTEwgKQogICAgICAgICAgICAg cmV0dXJuIC1FU1JDSDsKIAorICAgICAgICAvKgorICAgICAgICAgKiBYRU5NQVBTUEFDRV9kZXZf bW1pbyBtYXBwaW5nIGlzIG9ubHkgc3VwcG9ydGVkIGZvciBoYXJkd2FyZSBEb21haW4KKyAgICAg ICAgICogdG8gbWFwIHRoaXMga2luZCBvZiBzcGFjZSB0byBpdHNlbGYuCisgICAgICAgICAqLwor ICAgICAgICBpZiAoICh4YXRwLnNwYWNlID09IFhFTk1BUFNQQUNFX2Rldl9tbWlvKSAmJgorICAg ICAgICAgICAgICgoZCAhPSBjdXJyZW50LT5kb21haW4pIHx8ICFpc19oYXJkd2FyZV9kb21haW4o ZCkpICkKKyAgICAgICAgICAgIHJldHVybiAtRUFDQ0VTOworCiAgICAgICAgIHJjID0geHNtX2Fk ZF90b19waHlzbWFwKFhTTV9UQVJHRVQsIGN1cnJlbnQtPmRvbWFpbiwgZCk7CiAgICAgICAgIGlm ICggcmMgKQogICAgICAgICB7CkBAIC0xMDI0LDYgKzEwMzIsMTQgQEAgbG9uZyBkb19tZW1vcnlf b3AodW5zaWduZWQgbG9uZyBjbWQsIFhFTl9HVUVTVF9IQU5ETEVfUEFSQU0odm9pZCkgYXJnKQog ICAgICAgICBpZiAoIGQgPT0gTlVMTCApCiAgICAgICAgICAgICByZXR1cm4gLUVTUkNIOwogCisg ICAgICAgIC8qCisgICAgICAgICAqIFhFTk1BUFNQQUNFX2Rldl9tbWlvIG1hcHBpbmcgaXMgb25s eSBzdXBwb3J0ZWQgZm9yIGhhcmR3YXJlIERvbWFpbgorICAgICAgICAgKiB0byBtYXAgdGhpcyBr aW5kIG9mIHNwYWNlIHRvIGl0c2VsZi4KKyAgICAgICAgICovCisgICAgICAgIGlmICggKHhhdHBi LnNwYWNlID09IFhFTk1BUFNQQUNFX2Rldl9tbWlvKSAmJgorICAgICAgICAgICAgICgoZCAhPSBj dXJyZW50LT5kb21haW4pIHx8ICFpc19oYXJkd2FyZV9kb21haW4oZCkpICkKKyAgICAgICAgICAg IHJldHVybiAtRUFDQ0VTOworCiAgICAgICAgIHJjID0geHNtX2FkZF90b19waHlzbWFwKFhTTV9U QVJHRVQsIGN1cnJlbnQtPmRvbWFpbiwgZCk7CiAgICAgICAgIGlmICggcmMgKQogICAgICAgICB7 CmRpZmYgLS1naXQgYS94ZW4vaW5jbHVkZS9hc20tYXJtL3AybS5oIGIveGVuL2luY2x1ZGUvYXNt LWFybS9wMm0uaAppbmRleCA1NTYyNmI0Li5kMjQwZDFlIDEwMDY0NAotLS0gYS94ZW4vaW5jbHVk ZS9hc20tYXJtL3AybS5oCisrKyBiL3hlbi9pbmNsdWRlL2FzbS1hcm0vcDJtLmgKQEAgLTE1NCw2 ICsxNTQsMTEgQEAgaW50IHVubWFwX3JlZ2lvbnNfcndfY2FjaGUoc3RydWN0IGRvbWFpbiAqZCwK ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGxvbmcgbnJfbWZucywKICAgICAg ICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGxvbmcgbWZuKTsKIAoraW50IG1hcF9kZXZf bW1pb19yZWdpb24oc3RydWN0IGRvbWFpbiAqZCwKKyAgICAgICAgICAgICAgICAgICAgICAgIHVu c2lnbmVkIGxvbmcgc3RhcnRfZ2ZuLAorICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQg bG9uZyBuciwKKyAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGxvbmcgbWZuKTsKKwog aW50IGd1ZXN0X3BoeXNtYXBfYWRkX2VudHJ5KHN0cnVjdCBkb21haW4gKmQsCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgdW5zaWduZWQgbG9uZyBnZm4sCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgdW5zaWduZWQgbG9uZyBtZm4sCmRpZmYgLS1naXQgYS94ZW4vaW5jbHVkZS9wdWJs aWMvbWVtb3J5LmggYi94ZW4vaW5jbHVkZS9wdWJsaWMvbWVtb3J5LmgKaW5kZXggZjY5ZTkyZi4u ZmU1MmVlMSAxMDA2NDQKLS0tIGEveGVuL2luY2x1ZGUvcHVibGljL21lbW9yeS5oCisrKyBiL3hl bi9pbmNsdWRlL3B1YmxpYy9tZW1vcnkuaApAQCAtMjIwLDYgKzIyMCw3IEBAIERFRklORV9YRU5f R1VFU1RfSEFORExFKHhlbl9tYWNocGh5c19tYXBwaW5nX3QpOwogI2RlZmluZSBYRU5NQVBTUEFD RV9nbWZuX3JhbmdlICAgMyAvKiBHTUZOIHJhbmdlLCBYRU5NRU1fYWRkX3RvX3BoeXNtYXAgb25s eS4gKi8KICNkZWZpbmUgWEVOTUFQU1BBQ0VfZ21mbl9mb3JlaWduIDQgLyogR01GTiBmcm9tIGFu b3RoZXIgZG9tLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiBYRU5NRU1f YWRkX3RvX3BoeXNtYXBfYmF0Y2ggb25seS4gKi8KKyNkZWZpbmUgWEVOTUFQU1BBQ0VfZGV2X21t aW8gICAgIDUgLyogZGV2aWNlIG1taW8gcmVnaW9uICovCiAvKiBgIH0gKi8KIAogLyoKLS0gCjIu MS40CgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KWGVu LWRldmVsIG1haWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlzdHMueGVuLm9yZwpodHRwOi8vbGlzdHMu eGVuLm9yZy94ZW4tZGV2ZWwK