From mboxrd@z Thu Jan 1 00:00:00 1970 From: Shannon Zhao Subject: [PATCH v5 02/17] xen/grant-table: Move xlated_setup_gnttab_pages to common place Date: Fri, 4 Mar 2016 14:37:20 +0800 Message-ID: <1457073455-11516-3-git-send-email-zhaoshenglong__35169.0236865126$1457073595$gmane$org@huawei.com> References: <1457073455-11516-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: <1457073455-11516-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: linux-arm-kernel@lists.infradead.org, ard.biesheuvel@linaro.org, stefano.stabellini@citrix.com, david.vrabel@citrix.com Cc: mark.rutland@arm.com, devicetree@vger.kernel.org, hangaohuai@huawei.com, linux-efi@vger.kernel.org, catalin.marinas@arm.com, will.deacon@arm.com, linux-kernel@vger.kernel.org, xen-devel@lists.xen.org, shannon.zhao@linaro.org List-Id: xen-devel@lists.xenproject.org RnJvbTogU2hhbm5vbiBaaGFvIDxzaGFubm9uLnpoYW9AbGluYXJvLm9yZz4KCk1vdmUgeGxhdGVk X3NldHVwX2dudHRhYl9wYWdlcyB0byBjb21tb24gcGxhY2UsIHNvIGl0IGNhbiBiZSByZXVzZWQg YnkKQVJNIHRvIHNldHVwIGdyYW50IHRhYmxlLgoKUmVuYW1lIGl0IHRvIHhlbl94bGF0ZV9tYXBf YmFsbG9vbmVkX3BhZ2VzLgoKU2lnbmVkLW9mZi1ieTogU2hhbm5vbiBaaGFvIDxzaGFubm9uLnpo YW9AbGluYXJvLm9yZz4KUmV2aWV3ZWQtYnk6IFN0ZWZhbm8gU3RhYmVsbGluaSA8c3RlZmFuby5z dGFiZWxsaW5pQGV1LmNpdHJpeC5jb20+Ci0tLQogYXJjaC94ODYveGVuL2dyYW50LXRhYmxlLmMg fCA1NyArKysrKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiBkcml2ZXJz L3hlbi94bGF0ZV9tbXUuYyAgICB8IDYxICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysKIGluY2x1ZGUveGVuL3hlbi1vcHMuaCAgICAgIHwgIDIgKysKIDMgZmls ZXMgY2hhbmdlZCwgNjkgaW5zZXJ0aW9ucygrKSwgNTEgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0 IGEvYXJjaC94ODYveGVuL2dyYW50LXRhYmxlLmMgYi9hcmNoL3g4Ni94ZW4vZ3JhbnQtdGFibGUu YwppbmRleCBlMDc5NTAwLi5kZTQxNDRjIDEwMDY0NAotLS0gYS9hcmNoL3g4Ni94ZW4vZ3JhbnQt dGFibGUuYworKysgYi9hcmNoL3g4Ni94ZW4vZ3JhbnQtdGFibGUuYwpAQCAtMTExLDYzICsxMTEs MTggQEAgaW50IGFyY2hfZ250dGFiX2luaXQodW5zaWduZWQgbG9uZyBucl9zaGFyZWQpCiB9CiAK ICNpZmRlZiBDT05GSUdfWEVOX1BWSAotI2luY2x1ZGUgPHhlbi9iYWxsb29uLmg+CiAjaW5jbHVk ZSA8eGVuL2V2ZW50cy5oPgotI2luY2x1ZGUgPGxpbnV4L3NsYWIuaD4KLXN0YXRpYyBpbnQgX19p bml0IHhsYXRlZF9zZXR1cF9nbnR0YWJfcGFnZXModm9pZCkKLXsKLQlzdHJ1Y3QgcGFnZSAqKnBh Z2VzOwotCXhlbl9wZm5fdCAqcGZuczsKLQl2b2lkICp2YWRkcjsKLQlpbnQgcmM7Ci0JdW5zaWdu ZWQgaW50IGk7Ci0JdW5zaWduZWQgbG9uZyBucl9ncmFudF9mcmFtZXMgPSBnbnR0YWJfbWF4X2dy YW50X2ZyYW1lcygpOwotCi0JQlVHX09OKG5yX2dyYW50X2ZyYW1lcyA9PSAwKTsKLQlwYWdlcyA9 IGtjYWxsb2MobnJfZ3JhbnRfZnJhbWVzLCBzaXplb2YocGFnZXNbMF0pLCBHRlBfS0VSTkVMKTsK LQlpZiAoIXBhZ2VzKQotCQlyZXR1cm4gLUVOT01FTTsKLQotCXBmbnMgPSBrY2FsbG9jKG5yX2dy YW50X2ZyYW1lcywgc2l6ZW9mKHBmbnNbMF0pLCBHRlBfS0VSTkVMKTsKLQlpZiAoIXBmbnMpIHsK LQkJa2ZyZWUocGFnZXMpOwotCQlyZXR1cm4gLUVOT01FTTsKLQl9Ci0JcmMgPSBhbGxvY194ZW5i YWxsb29uZWRfcGFnZXMobnJfZ3JhbnRfZnJhbWVzLCBwYWdlcyk7Ci0JaWYgKHJjKSB7Ci0JCXBy X3dhcm4oIiVzIENvdWxkbid0IGJhbGxvb24gYWxsb2MgJWxkIHBmbnMgcmM6JWRcbiIsIF9fZnVu Y19fLAotCQkJbnJfZ3JhbnRfZnJhbWVzLCByYyk7Ci0JCWtmcmVlKHBhZ2VzKTsKLQkJa2ZyZWUo cGZucyk7Ci0JCXJldHVybiByYzsKLQl9Ci0JZm9yIChpID0gMDsgaSA8IG5yX2dyYW50X2ZyYW1l czsgaSsrKQotCQlwZm5zW2ldID0gcGFnZV90b19wZm4ocGFnZXNbaV0pOwotCi0JdmFkZHIgPSB2 bWFwKHBhZ2VzLCBucl9ncmFudF9mcmFtZXMsIDAsIFBBR0VfS0VSTkVMKTsKLQlpZiAoIXZhZGRy KSB7Ci0JCXByX3dhcm4oIiVzIENvdWxkbid0IG1hcCAlbGQgcGZucyByYzolZFxuIiwgX19mdW5j X18sCi0JCQlucl9ncmFudF9mcmFtZXMsIHJjKTsKLQkJZnJlZV94ZW5iYWxsb29uZWRfcGFnZXMo bnJfZ3JhbnRfZnJhbWVzLCBwYWdlcyk7Ci0JCWtmcmVlKHBhZ2VzKTsKLQkJa2ZyZWUocGZucyk7 Ci0JCXJldHVybiAtRU5PTUVNOwotCX0KLQlrZnJlZShwYWdlcyk7Ci0KLQl4ZW5fYXV0b194bGF0 X2dyYW50X2ZyYW1lcy5wZm4gPSBwZm5zOwotCXhlbl9hdXRvX3hsYXRfZ3JhbnRfZnJhbWVzLmNv dW50ID0gbnJfZ3JhbnRfZnJhbWVzOwotCXhlbl9hdXRvX3hsYXRfZ3JhbnRfZnJhbWVzLnZhZGRy ID0gdmFkZHI7Ci0KLQlyZXR1cm4gMDsKLX0KLQorI2luY2x1ZGUgPHhlbi94ZW4tb3BzLmg+CiBz dGF0aWMgaW50IF9faW5pdCB4ZW5fcHZoX2dudHRhYl9zZXR1cCh2b2lkKQogewogCWlmICgheGVu X3B2aF9kb21haW4oKSkKIAkJcmV0dXJuIC1FTk9ERVY7CiAKLQlyZXR1cm4geGxhdGVkX3NldHVw X2dudHRhYl9wYWdlcygpOworCXhlbl9hdXRvX3hsYXRfZ3JhbnRfZnJhbWVzLmNvdW50ID0gZ250 dGFiX21heF9ncmFudF9mcmFtZXMoKTsKKworCXJldHVybiB4ZW5feGxhdGVfbWFwX2JhbGxvb25l ZF9wYWdlcygmeGVuX2F1dG9feGxhdF9ncmFudF9mcmFtZXMucGZuLAorCQkJCQkgICAgICZ4ZW5f YXV0b194bGF0X2dyYW50X2ZyYW1lcy52YWRkciwKKwkJCQkJICAgICB4ZW5fYXV0b194bGF0X2dy YW50X2ZyYW1lcy5jb3VudCk7CiB9CiAvKiBDYWxsIGl0IF9iZWZvcmVfIF9fZ250dGFiX2luaXQg YXMgd2UgbmVlZCB0byBpbml0aWFsaXplIHRoZQogICogeGVuX2F1dG9feGxhdF9ncmFudF9mcmFt ZXMgZmlyc3QuICovCmRpZmYgLS1naXQgYS9kcml2ZXJzL3hlbi94bGF0ZV9tbXUuYyBiL2RyaXZl cnMveGVuL3hsYXRlX21tdS5jCmluZGV4IDUwNjNjNWUuLjk2OTI2NTYgMTAwNjQ0Ci0tLSBhL2Ry aXZlcnMveGVuL3hsYXRlX21tdS5jCisrKyBiL2RyaXZlcnMveGVuL3hsYXRlX21tdS5jCkBAIC0y OSw2ICsyOSw4IEBACiAgKi8KICNpbmNsdWRlIDxsaW51eC9rZXJuZWwuaD4KICNpbmNsdWRlIDxs aW51eC9tbS5oPgorI2luY2x1ZGUgPGxpbnV4L3NsYWIuaD4KKyNpbmNsdWRlIDxsaW51eC92bWFs bG9jLmg+CiAKICNpbmNsdWRlIDxhc20veGVuL2h5cGVyY2FsbC5oPgogI2luY2x1ZGUgPGFzbS94 ZW4vaHlwZXJ2aXNvci5oPgpAQCAtMzcsNiArMzksNyBAQAogI2luY2x1ZGUgPHhlbi9wYWdlLmg+ CiAjaW5jbHVkZSA8eGVuL2ludGVyZmFjZS94ZW4uaD4KICNpbmNsdWRlIDx4ZW4vaW50ZXJmYWNl L21lbW9yeS5oPgorI2luY2x1ZGUgPHhlbi9iYWxsb29uLmg+CiAKIHR5cGVkZWYgdm9pZCAoKnhl bl9nZm5fZm5fdCkodW5zaWduZWQgbG9uZyBnZm4sIHZvaWQgKmRhdGEpOwogCkBAIC0xODUsMyAr MTg4LDYxIEBAIGludCB4ZW5feGxhdGVfdW5tYXBfZ2ZuX3JhbmdlKHN0cnVjdCB2bV9hcmVhX3N0 cnVjdCAqdm1hLAogCXJldHVybiAwOwogfQogRVhQT1JUX1NZTUJPTF9HUEwoeGVuX3hsYXRlX3Vu bWFwX2dmbl9yYW5nZSk7CisKKy8qKgorICogeGVuX3hsYXRlX21hcF9iYWxsb29uZWRfcGFnZXMg LSBtYXAgYSBuZXcgc2V0IG9mIGJhbGxvb25lZCBwYWdlcworICogQGdmbnM6IHJldHVybnMgdGhl IGFycmF5IG9mIGNvcnJlc3BvbmRpbmcgR0ZOcworICogQHZpcnQ6IHJldHVybnMgdGhlIHZpcnR1 YWwgYWRkcmVzcyBvZiB0aGUgbWFwcGVkIHJlZ2lvbgorICogQG5yX2dyYW50X2ZyYW1lczogbnVt YmVyIG9mIEdGTnMKKyAqIEByZXR1cm4gMCBvbiBzdWNjZXNzLCBlcnJvciBvdGhlcndpc2UKKyAq CisgKiBUaGlzIGFsbG9jYXRlcyBhIHNldCBvZiBiYWxsb29uZWQgcGFnZXMgYW5kIG1hcHMgdGhl bSBpbnRvIHRoZQorICoga2VybmVsJ3MgYWRkcmVzcyBzcGFjZS4KKyAqLworaW50IF9faW5pdCB4 ZW5feGxhdGVfbWFwX2JhbGxvb25lZF9wYWdlcyh4ZW5fcGZuX3QgKipnZm5zLCB2b2lkICoqdmly dCwKKwkJCQkJIHVuc2lnbmVkIGxvbmcgbnJfZ3JhbnRfZnJhbWVzKQoreworCXN0cnVjdCBwYWdl ICoqcGFnZXM7CisJeGVuX3Bmbl90ICpwZm5zOworCXZvaWQgKnZhZGRyOworCWludCByYzsKKwl1 bnNpZ25lZCBpbnQgaTsKKworCUJVR19PTihucl9ncmFudF9mcmFtZXMgPT0gMCk7CisJcGFnZXMg PSBrY2FsbG9jKG5yX2dyYW50X2ZyYW1lcywgc2l6ZW9mKHBhZ2VzWzBdKSwgR0ZQX0tFUk5FTCk7 CisJaWYgKCFwYWdlcykKKwkJcmV0dXJuIC1FTk9NRU07CisKKwlwZm5zID0ga2NhbGxvYyhucl9n cmFudF9mcmFtZXMsIHNpemVvZihwZm5zWzBdKSwgR0ZQX0tFUk5FTCk7CisJaWYgKCFwZm5zKSB7 CisJCWtmcmVlKHBhZ2VzKTsKKwkJcmV0dXJuIC1FTk9NRU07CisJfQorCXJjID0gYWxsb2NfeGVu YmFsbG9vbmVkX3BhZ2VzKG5yX2dyYW50X2ZyYW1lcywgcGFnZXMpOworCWlmIChyYykgeworCQlw cl93YXJuKCIlcyBDb3VsZG4ndCBiYWxsb29uIGFsbG9jICVsZCBwZm5zIHJjOiVkXG4iLCBfX2Z1 bmNfXywKKwkJCW5yX2dyYW50X2ZyYW1lcywgcmMpOworCQlrZnJlZShwYWdlcyk7CisJCWtmcmVl KHBmbnMpOworCQlyZXR1cm4gcmM7CisJfQorCWZvciAoaSA9IDA7IGkgPCBucl9ncmFudF9mcmFt ZXM7IGkrKykKKwkJcGZuc1tpXSA9IHBhZ2VfdG9fcGZuKHBhZ2VzW2ldKTsKKworCXZhZGRyID0g dm1hcChwYWdlcywgbnJfZ3JhbnRfZnJhbWVzLCAwLCBQQUdFX0tFUk5FTCk7CisJaWYgKCF2YWRk cikgeworCQlwcl93YXJuKCIlcyBDb3VsZG4ndCBtYXAgJWxkIHBmbnMgcmM6JWRcbiIsIF9fZnVu Y19fLAorCQkJbnJfZ3JhbnRfZnJhbWVzLCByYyk7CisJCWZyZWVfeGVuYmFsbG9vbmVkX3BhZ2Vz KG5yX2dyYW50X2ZyYW1lcywgcGFnZXMpOworCQlrZnJlZShwYWdlcyk7CisJCWtmcmVlKHBmbnMp OworCQlyZXR1cm4gLUVOT01FTTsKKwl9CisJa2ZyZWUocGFnZXMpOworCisJKmdmbnMgPSBwZm5z OworCSp2aXJ0ID0gdmFkZHI7CisKKwlyZXR1cm4gMDsKK30KK0VYUE9SVF9TWU1CT0xfR1BMKHhl bl94bGF0ZV9tYXBfYmFsbG9vbmVkX3BhZ2VzKTsKZGlmZiAtLWdpdCBhL2luY2x1ZGUveGVuL3hl bi1vcHMuaCBiL2luY2x1ZGUveGVuL3hlbi1vcHMuaAppbmRleCA4NmFiZTA3Li4wNzJiZTFjIDEw MDY0NAotLS0gYS9pbmNsdWRlL3hlbi94ZW4tb3BzLmgKKysrIGIvaW5jbHVkZS94ZW4veGVuLW9w cy5oCkBAIC04NSw2ICs4NSw4IEBAIGludCB4ZW5feGxhdGVfcmVtYXBfZ2ZuX2FycmF5KHN0cnVj dCB2bV9hcmVhX3N0cnVjdCAqdm1hLAogCQkJICAgICAgc3RydWN0IHBhZ2UgKipwYWdlcyk7CiBp bnQgeGVuX3hsYXRlX3VubWFwX2dmbl9yYW5nZShzdHJ1Y3Qgdm1fYXJlYV9zdHJ1Y3QgKnZtYSwK IAkJCSAgICAgIGludCBuciwgc3RydWN0IHBhZ2UgKipwYWdlcyk7CitpbnQgeGVuX3hsYXRlX21h cF9iYWxsb29uZWRfcGFnZXMoeGVuX3Bmbl90ICoqcGZucywgdm9pZCAqKnZhZGRyLAorCQkJCSAg dW5zaWduZWQgbG9uZyBucl9ncmFudF9mcmFtZXMpOwogCiBib29sIHhlbl9ydW5uaW5nX29uX3Zl cnNpb25fb3JfbGF0ZXIodW5zaWduZWQgaW50IG1ham9yLCB1bnNpZ25lZCBpbnQgbWlub3IpOwog Ci0tIAoyLjAuNAoKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fXwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54ZW4ub3JnCmh0dHA6 Ly9saXN0cy54ZW4ub3JnL3hlbi1kZXZlbAo=