From mboxrd@z Thu Jan 1 00:00:00 1970 From: Shannon Zhao Subject: [PATCH v6 21/22] xen/arm: Add a hypercall for device mmio mapping Date: Thu, 17 Mar 2016 17:41:07 +0800 Message-ID: <1458207668-12012-22-git-send-email-zhaoshenglong@huawei.com> References: <1458207668-12012-1-git-send-email-zhaoshenglong@huawei.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1458207668-12012-1-git-send-email-zhaoshenglong@huawei.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: 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 RnJvbTogU2hhbm5vbiBaaGFvIDxzaGFubm9uLnpoYW9AbGluYXJvLm9yZz4KCkl0IG5lZWRzIHRv IG1hcCBwbGF0Zm9ybSBvciBhbWJhIGRldmljZSBtbWlvIHRvIERvbTAgb24gQVJNLiBCdXQgd2hl bgpib290aW5nIHdpdGggQUNQSSwgaXQgY2FuJ3QgZ2V0IHRoZSBtbWlvIHJlZ2lvbiBpbiBYZW4g ZHVlIHRvIGxhY2sgb2YKQU1MIGludGVycHJldGVyIHRvIHBhcnNlIERTRFQgdGFibGUuIFRoZXJl Zm9yZSwgbGV0IERvbTAgY2FsbCBhCmh5cGVyY2FsbCB0byBtYXAgbW1pbyByZWdpb24gd2hlbiBp dCBhZGRzIHRoZSBkZXZpY2VzLgoKSGVyZSB3ZSBhZGQgYSBuZXcgbWFwIHNwYWNlIGxpa2UgdGhl IFhFTl9ET01DVExfbWVtb3J5X21hcHBpbmcgdG8gbWFwCm1taW8gcmVnaW9uIGZvciBEb20wLgoK Q2M6IElhbiBKYWNrc29uIDxpYW4uamFja3NvbkBldS5jaXRyaXguY29tPgpDYzogSmFuIEJldWxp Y2ggPGpiZXVsaWNoQHN1c2UuY29tPgpDYzogS2VpciBGcmFzZXIgPGtlaXJAeGVuLm9yZz4KQ2M6 IFRpbSBEZWVnYW4gPHRpbUB4ZW4ub3JnPgpTaWduZWQtb2ZmLWJ5OiBTaGFubm9uIFpoYW8gPHNo YW5ub24uemhhb0BsaW5hcm8ub3JnPgotLS0KdjY6IGZpeCBjb2Rpbmcgc3R5bGUgYW5kIGEgYnVn Ci0tLQogeGVuL2FyY2gvYXJtL21tLmMgICAgICAgICAgIHwgIDMgKysrCiB4ZW4vYXJjaC9hcm0v cDJtLmMgICAgICAgICAgfCAyMiArKysrKysrKysrKysrKysrKysrKysrCiB4ZW4vY29tbW9uL21l bW9yeS5jICAgICAgICAgfCAxNiArKysrKysrKysrKysrKysrCiB4ZW4vaW5jbHVkZS9hc20tYXJt L3AybS5oICAgfCAgNSArKysrKwogeGVuL2luY2x1ZGUvcHVibGljL21lbW9yeS5oIHwgIDEgKwog NSBmaWxlcyBjaGFuZ2VkLCA0NyBpbnNlcnRpb25zKCspCgpkaWZmIC0tZ2l0IGEveGVuL2FyY2gv YXJtL21tLmMgYi94ZW4vYXJjaC9hcm0vbW0uYwppbmRleCA4MWY5ZTJlLi4wYWFlNmM1IDEwMDY0 NAotLS0gYS94ZW4vYXJjaC9hcm0vbW0uYworKysgYi94ZW4vYXJjaC9hcm0vbW0uYwpAQCAtMTEz OCw2ICsxMTM4LDkgQEAgaW50IHhlbm1lbV9hZGRfdG9fcGh5c21hcF9vbmUoCiAgICAgICAgIHJj dV91bmxvY2tfZG9tYWluKG9kKTsKICAgICAgICAgYnJlYWs7CiAgICAgfQorICAgIGNhc2UgWEVO TUFQU1BBQ0VfZGV2X21taW86CisgICAgICAgIHJjID0gbWFwX2Rldl9tbWlvX3JlZ2lvbihkLCBn cGZuLCAxLCBpZHgpOworICAgICAgICByZXR1cm4gcmM7CiAKICAgICBkZWZhdWx0OgogICAgICAg ICByZXR1cm4gLUVOT1NZUzsKZGlmZiAtLWdpdCBhL3hlbi9hcmNoL2FybS9wMm0uYyBiL3hlbi9h cmNoL2FybS9wMm0uYwppbmRleCBkMjA2NjE2Li4wMTRjOWVkIDEwMDY0NAotLS0gYS94ZW4vYXJj aC9hcm0vcDJtLmMKKysrIGIveGVuL2FyY2gvYXJtL3AybS5jCkBAIC03LDYgKzcsNyBAQAogI2lu Y2x1ZGUgPHhlbi9iaXRvcHMuaD4KICNpbmNsdWRlIDx4ZW4vdm1fZXZlbnQuaD4KICNpbmNsdWRl IDx4ZW4vbWVtX2FjY2Vzcy5oPgorI2luY2x1ZGUgPHhlbi9pb2NhcC5oPgogI2luY2x1ZGUgPHB1 YmxpYy92bV9ldmVudC5oPgogI2luY2x1ZGUgPGFzbS9mbHVzaHRsYi5oPgogI2luY2x1ZGUgPGFz bS9naWMuaD4KQEAgLTEyNzAsNiArMTI3MSwyNyBAQCBpbnQgdW5tYXBfbW1pb19yZWdpb25zKHN0 cnVjdCBkb21haW4gKmQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQtPmFyY2gucDJt LmRlZmF1bHRfYWNjZXNzKTsKIH0KIAoraW50IG1hcF9kZXZfbW1pb19yZWdpb24oc3RydWN0IGRv bWFpbiAqZCwKKyAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGxvbmcgc3RhcnRfZ2Zu LAorICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgbG9uZyBuciwKKyAgICAgICAgICAg ICAgICAgICAgICAgIHVuc2lnbmVkIGxvbmcgbWZuKQoreworICAgIGludCByZXM7CisKKyAgICBp ZiAoICEobnIgJiYgaW9tZW1fYWNjZXNzX3Blcm1pdHRlZChkLCBzdGFydF9nZm4sIHN0YXJ0X2dm biArIG5yIC0gMSkpICkKKyAgICAgICAgcmV0dXJuIDA7CisKKyAgICByZXMgPSBtYXBfbW1pb19y ZWdpb25zKGQsIHN0YXJ0X2dmbiwgbnIsIG1mbik7CisgICAgaWYgKCByZXMgPCAwICkKKyAgICB7 CisgICAgICAgIHByaW50ayhYRU5MT0dfRVJSICJVbmFibGUgdG8gbWFwIFslI2x4IC0gJSNseF0g aW4gRG9tJWRcbiIsCisgICAgICAgICAgICAgICBzdGFydF9nZm4sIHN0YXJ0X2dmbiArIG5yIC0g MSwgZC0+ZG9tYWluX2lkKTsKKyAgICAgICAgcmV0dXJuIHJlczsKKyAgICB9CisKKyAgICByZXR1 cm4gMDsKK30KKwogaW50IGd1ZXN0X3BoeXNtYXBfYWRkX2VudHJ5KHN0cnVjdCBkb21haW4gKmQs CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgbG9uZyBncGZuLAogICAgICAg ICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGxvbmcgbWZuLApkaWZmIC0tZ2l0IGEveGVu L2NvbW1vbi9tZW1vcnkuYyBiL3hlbi9jb21tb24vbWVtb3J5LmMKaW5kZXggZWY1NzIxOS4uZGIz MjU4YSAxMDA2NDQKLS0tIGEveGVuL2NvbW1vbi9tZW1vcnkuYworKysgYi94ZW4vY29tbW9uL21l bW9yeS5jCkBAIC05ODAsNiArOTgwLDE0IEBAIGxvbmcgZG9fbWVtb3J5X29wKHVuc2lnbmVkIGxv bmcgY21kLCBYRU5fR1VFU1RfSEFORExFX1BBUkFNKHZvaWQpIGFyZykKICAgICAgICAgaWYgKCBk ID09IE5VTEwgKQogICAgICAgICAgICAgcmV0dXJuIC1FU1JDSDsKIAorICAgICAgICAvKgorICAg ICAgICAgKiBYRU5NQVBTUEFDRV9kZXZfbW1pbyBtYXBwaW5nIGlzIG9ubHkgc3VwcG9ydGVkIGZv ciBoYXJkd2FyZSBEb21haW4KKyAgICAgICAgICogdG8gbWFwIHRoaXMga2luZCBvZiBzcGFjZSB0 byBpdHNlbGYuCisgICAgICAgICAqLworICAgICAgICBpZiAoICh4YXRwLnNwYWNlID09IFhFTk1B UFNQQUNFX2Rldl9tbWlvKSAmJgorICAgICAgICAgICAgICgoZCAhPSBjdXJyZW50LT5kb21haW4p IHx8ICFpc19oYXJkd2FyZV9kb21haW4oZCkpICkKKyAgICAgICAgICAgIHJldHVybiAtRUFDQ0VT OworCiAgICAgICAgIHJjID0geHNtX2FkZF90b19waHlzbWFwKFhTTV9UQVJHRVQsIGN1cnJlbnQt PmRvbWFpbiwgZCk7CiAgICAgICAgIGlmICggcmMgKQogICAgICAgICB7CkBAIC0xMDI0LDYgKzEw MzIsMTQgQEAgbG9uZyBkb19tZW1vcnlfb3AodW5zaWduZWQgbG9uZyBjbWQsIFhFTl9HVUVTVF9I QU5ETEVfUEFSQU0odm9pZCkgYXJnKQogICAgICAgICBpZiAoIGQgPT0gTlVMTCApCiAgICAgICAg ICAgICByZXR1cm4gLUVTUkNIOwogCisgICAgICAgIC8qCisgICAgICAgICAqIFhFTk1BUFNQQUNF X2Rldl9tbWlvIG1hcHBpbmcgaXMgb25seSBzdXBwb3J0ZWQgZm9yIGhhcmR3YXJlIERvbWFpbgor ICAgICAgICAgKiB0byBtYXAgdGhpcyBraW5kIG9mIHNwYWNlIHRvIGl0c2VsZi4KKyAgICAgICAg ICovCisgICAgICAgIGlmICggKHhhdHBiLnNwYWNlID09IFhFTk1BUFNQQUNFX2Rldl9tbWlvKSAm JgorICAgICAgICAgICAgICgoZCAhPSBjdXJyZW50LT5kb21haW4pIHx8ICFpc19oYXJkd2FyZV9k b21haW4oZCkpICkKKyAgICAgICAgICAgIHJldHVybiAtRUFDQ0VTOworCiAgICAgICAgIHJjID0g eHNtX2FkZF90b19waHlzbWFwKFhTTV9UQVJHRVQsIGN1cnJlbnQtPmRvbWFpbiwgZCk7CiAgICAg ICAgIGlmICggcmMgKQogICAgICAgICB7CmRpZmYgLS1naXQgYS94ZW4vaW5jbHVkZS9hc20tYXJt L3AybS5oIGIveGVuL2luY2x1ZGUvYXNtLWFybS9wMm0uaAppbmRleCAxN2JlNmFkLi41ZmM3ZmYz IDEwMDY0NAotLS0gYS94ZW4vaW5jbHVkZS9hc20tYXJtL3AybS5oCisrKyBiL3hlbi9pbmNsdWRl L2FzbS1hcm0vcDJtLmgKQEAgLTE1NCw2ICsxNTQsMTEgQEAgaW50IHVubWFwX3JlZ2lvbnNfcnco c3RydWN0IGRvbWFpbiAqZCwKICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgbG9uZyBucl9t Zm5zLAogICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBsb25nIG1mbik7CiAKK2ludCBtYXBf ZGV2X21taW9fcmVnaW9uKHN0cnVjdCBkb21haW4gKmQsCisgICAgICAgICAgICAgICAgICAgICAg ICB1bnNpZ25lZCBsb25nIHN0YXJ0X2dmbiwKKyAgICAgICAgICAgICAgICAgICAgICAgIHVuc2ln bmVkIGxvbmcgbnIsCisgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBsb25nIG1mbik7 CisKIGludCBndWVzdF9waHlzbWFwX2FkZF9lbnRyeShzdHJ1Y3QgZG9tYWluICpkLAogICAgICAg ICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGxvbmcgZ2ZuLAogICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHVuc2lnbmVkIGxvbmcgbWZuLApkaWZmIC0tZ2l0IGEveGVuL2luY2x1ZGUv cHVibGljL21lbW9yeS5oIGIveGVuL2luY2x1ZGUvcHVibGljL21lbW9yeS5oCmluZGV4IGY2OWU5 MmYuLmZlNTJlZTEgMTAwNjQ0Ci0tLSBhL3hlbi9pbmNsdWRlL3B1YmxpYy9tZW1vcnkuaAorKysg Yi94ZW4vaW5jbHVkZS9wdWJsaWMvbWVtb3J5LmgKQEAgLTIyMCw2ICsyMjAsNyBAQCBERUZJTkVf WEVOX0dVRVNUX0hBTkRMRSh4ZW5fbWFjaHBoeXNfbWFwcGluZ190KTsKICNkZWZpbmUgWEVOTUFQ U1BBQ0VfZ21mbl9yYW5nZSAgIDMgLyogR01GTiByYW5nZSwgWEVOTUVNX2FkZF90b19waHlzbWFw IG9ubHkuICovCiAjZGVmaW5lIFhFTk1BUFNQQUNFX2dtZm5fZm9yZWlnbiA0IC8qIEdNRk4gZnJv bSBhbm90aGVyIGRvbSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICogWEVO TUVNX2FkZF90b19waHlzbWFwX2JhdGNoIG9ubHkuICovCisjZGVmaW5lIFhFTk1BUFNQQUNFX2Rl dl9tbWlvICAgICA1IC8qIGRldmljZSBtbWlvIHJlZ2lvbiAqLwogLyogYCB9ICovCiAKIC8qCi0t IAoyLjAuNAoKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f XwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54ZW4ub3JnCmh0dHA6Ly9s aXN0cy54ZW4ub3JnL3hlbi1kZXZlbAo=