From mboxrd@z Thu Jan 1 00:00:00 1970 From: Wei Liu Subject: [PATCH v4 01/31] x86/mm: carve out create_grant_pv_mapping Date: Thu, 17 Aug 2017 15:44:26 +0100 Message-ID: <20170817144456.18989-2-wei.liu2@citrix.com> References: <20170817144456.18989-1-wei.liu2@citrix.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail6.bemta3.messagelabs.com ([195.245.230.39]) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1diM2g-0000x1-25 for xen-devel@lists.xenproject.org; Thu, 17 Aug 2017 14:45:02 +0000 In-Reply-To: <20170817144456.18989-1-wei.liu2@citrix.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: Xen-devel Cc: George Dunlap , Andrew Cooper , Wei Liu , Jan Beulich List-Id: xen-devel@lists.xenproject.org QW5kIGF0IG9uY2UgbWFrZSBjcmVhdGVfZ3JhbnRfaG9zdF9tYXBwaW5nIGFuIGlubGluZSBmdW5j dGlvbi4gIFRoaXMKcmVxdWlyZXMgbWFraW5nIGNyZWF0ZV9ncmFudF97aHZtLHB2fV9tYXBwaW5n IG5vbi1zdGF0aWMuICBQcm92aWRlCntodm0scHZ9L2dyYW50X3RhYmxlLmguIEluY2x1ZGUgdGhl IGhlYWRlcnMgd2hlcmUgbmVjZXNzYXJ5LgoKVGhlIHR3byBmdW5jdGlvbnMgY3JlYXRlX2dyYW50 X3todm0scHZ9X21hcHBpbmcgd2lsbCBiZSBtb3ZlZCBsYXRlciBpbgphIGRlZGljYXRlZCBwYXRj aCB3aXRoIGFsbCB0aGVpciBoZWxwZXJzLgoKU2lnbmVkLW9mZi1ieTogV2VpIExpdSA8d2VpLmxp dTJAY2l0cml4LmNvbT4KLS0tCiB4ZW4vYXJjaC94ODYvbW0uYyAgICAgICAgICAgICAgICAgICAg IHwgMTYgKysrKystLS0tLS0KIHhlbi9pbmNsdWRlL2FzbS14ODYvZ3JhbnRfdGFibGUuaCAgICAg fCAxNiArKysrKysrKystLQogeGVuL2luY2x1ZGUvYXNtLXg4Ni9odm0vZ3JhbnRfdGFibGUuaCB8 IDUzICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCiB4ZW4vaW5jbHVkZS9hc20t eDg2L3B2L2dyYW50X3RhYmxlLmggIHwgNTIgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKwogNCBmaWxlcyBjaGFuZ2VkLCAxMjcgaW5zZXJ0aW9ucygrKSwgMTAgZGVsZXRpb25zKC0p CiBjcmVhdGUgbW9kZSAxMDA2NDQgeGVuL2luY2x1ZGUvYXNtLXg4Ni9odm0vZ3JhbnRfdGFibGUu aAogY3JlYXRlIG1vZGUgMTAwNjQ0IHhlbi9pbmNsdWRlL2FzbS14ODYvcHYvZ3JhbnRfdGFibGUu aAoKZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni9tbS5jIGIveGVuL2FyY2gveDg2L21tLmMKaW5k ZXggMzFmZThhMTQ3Mi4uMjhiY2ZmMmM5OSAxMDA2NDQKLS0tIGEveGVuL2FyY2gveDg2L21tLmMK KysrIGIveGVuL2FyY2gveDg2L21tLmMKQEAgLTEyMyw2ICsxMjMsOSBAQAogI2luY2x1ZGUgPGFz bS9pb19hcGljLmg+CiAjaW5jbHVkZSA8YXNtL3BjaS5oPgogCisjaW5jbHVkZSA8YXNtL2h2bS9n cmFudF90YWJsZS5oPgorI2luY2x1ZGUgPGFzbS9wdi9ncmFudF90YWJsZS5oPgorCiAvKiBNYXBw aW5nIG9mIHRoZSBmaXhtYXAgc3BhY2UgbmVlZGVkIGVhcmx5LiAqLwogbDFfcGdlbnRyeV90IF9f c2VjdGlvbigiLmJzcy5wYWdlX2FsaWduZWQiKSBfX2FsaWduZWQoUEFHRV9TSVpFKQogICAgIGwx X2ZpeG1hcFtMMV9QQUdFVEFCTEVfRU5UUklFU107CkBAIC00MDE0LDkgKzQwMTcsOSBAQCBzdGF0 aWMgaW50IGRlc3Ryb3lfZ3JhbnRfdmFfbWFwcGluZygKICAgICByZXR1cm4gcmVwbGFjZV9ncmFu dF92YV9tYXBwaW5nKGFkZHIsIGZyYW1lLCBsMWVfZW1wdHkoKSwgdik7CiB9CiAKLXN0YXRpYyBp bnQgY3JlYXRlX2dyYW50X3AybV9tYXBwaW5nKHVpbnQ2NF90IGFkZHIsIHVuc2lnbmVkIGxvbmcg ZnJhbWUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQg ZmxhZ3MsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQg Y2FjaGVfZmxhZ3MpCitpbnQgY3JlYXRlX2dyYW50X3AybV9tYXBwaW5nKHVpbnQ2NF90IGFkZHIs IHVuc2lnbmVkIGxvbmcgZnJhbWUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2ln bmVkIGludCBmbGFncywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50 IGNhY2hlX2ZsYWdzKQogewogICAgIHAybV90eXBlX3QgcDJtdDsKICAgICBpbnQgcmM7CkBAIC00 MDM3LDE1ICs0MDQwLDEyIEBAIHN0YXRpYyBpbnQgY3JlYXRlX2dyYW50X3AybV9tYXBwaW5nKHVp bnQ2NF90IGFkZHIsIHVuc2lnbmVkIGxvbmcgZnJhbWUsCiAgICAgICAgIHJldHVybiBHTlRTVF9v a2F5OwogfQogCi1pbnQgY3JlYXRlX2dyYW50X2hvc3RfbWFwcGluZyh1aW50NjRfdCBhZGRyLCB1 bnNpZ25lZCBsb25nIGZyYW1lLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWdu ZWQgaW50IGZsYWdzLCB1bnNpZ25lZCBpbnQgY2FjaGVfZmxhZ3MpCitpbnQgY3JlYXRlX2dyYW50 X3B2X21hcHBpbmcodWludDY0X3QgYWRkciwgdW5zaWduZWQgbG9uZyBmcmFtZSwKKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQgZmxhZ3MsIHVuc2lnbmVkIGludCBjYWNo ZV9mbGFncykKIHsKICAgICBsMV9wZ2VudHJ5X3QgcHRlOwogICAgIHVpbnQzMl90IGdyYW50X3B0 ZV9mbGFnczsKIAotICAgIGlmICggcGFnaW5nX21vZGVfZXh0ZXJuYWwoY3VycmVudC0+ZG9tYWlu KSApCi0gICAgICAgIHJldHVybiBjcmVhdGVfZ3JhbnRfcDJtX21hcHBpbmcoYWRkciwgZnJhbWUs IGZsYWdzLCBjYWNoZV9mbGFncyk7Ci0KICAgICBncmFudF9wdGVfZmxhZ3MgPQogICAgICAgICBf UEFHRV9QUkVTRU5UIHwgX1BBR0VfQUNDRVNTRUQgfCBfUEFHRV9ESVJUWSB8IF9QQUdFX0dOVFRB QjsKICAgICBpZiAoIGNwdV9oYXNfbnggKQpkaWZmIC0tZ2l0IGEveGVuL2luY2x1ZGUvYXNtLXg4 Ni9ncmFudF90YWJsZS5oIGIveGVuL2luY2x1ZGUvYXNtLXg4Ni9ncmFudF90YWJsZS5oCmluZGV4 IDE1NjFiZGFiMGQuLjU1OWFkMmYyNzUgMTAwNjQ0Ci0tLSBhL3hlbi9pbmNsdWRlL2FzbS14ODYv Z3JhbnRfdGFibGUuaAorKysgYi94ZW4vaW5jbHVkZS9hc20teDg2L2dyYW50X3RhYmxlLmgKQEAg LTcsMTQgKzcsMjYgQEAKICNpZm5kZWYgX19BU01fR1JBTlRfVEFCTEVfSF9fCiAjZGVmaW5lIF9f QVNNX0dSQU5UX1RBQkxFX0hfXwogCisjaW5jbHVkZSA8YXNtL3BhZ2luZy5oPgorCisjaW5jbHVk ZSA8YXNtL2h2bS9ncmFudF90YWJsZS5oPgorI2luY2x1ZGUgPGFzbS9wdi9ncmFudF90YWJsZS5o PgorCiAjZGVmaW5lIElOSVRJQUxfTlJfR1JBTlRfRlJBTUVTIDQKIAogLyoKICAqIENhbGxlciBt dXN0IG93biBjYWxsZXIncyBCSUdMT0NLLCBpcyByZXNwb25zaWJsZSBmb3IgZmx1c2hpbmcgdGhl IFRMQiwgYW5kCiAgKiBtdXN0IGhvbGQgYSByZWZlcmVuY2UgdG8gdGhlIHBhZ2UuCiAgKi8KLWlu dCBjcmVhdGVfZ3JhbnRfaG9zdF9tYXBwaW5nKHVpbnQ2NF90IGFkZHIsIHVuc2lnbmVkIGxvbmcg ZnJhbWUsCi0JCQkgICAgICB1bnNpZ25lZCBpbnQgZmxhZ3MsIHVuc2lnbmVkIGludCBjYWNoZV9m bGFncyk7CitzdGF0aWMgaW5saW5lIGludCBjcmVhdGVfZ3JhbnRfaG9zdF9tYXBwaW5nKHVpbnQ2 NF90IGFkZHIsIHVuc2lnbmVkIGxvbmcgZnJhbWUsCisgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGludCBmbGFncywKKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50IGNhY2hlX2ZsYWdzKQorewor ICAgIGlmICggcGFnaW5nX21vZGVfZXh0ZXJuYWwoY3VycmVudC0+ZG9tYWluKSApCisgICAgICAg IHJldHVybiBjcmVhdGVfZ3JhbnRfcDJtX21hcHBpbmcoYWRkciwgZnJhbWUsIGZsYWdzLCBjYWNo ZV9mbGFncyk7CisgICAgcmV0dXJuIGNyZWF0ZV9ncmFudF9wdl9tYXBwaW5nKGFkZHIsIGZyYW1l LCBmbGFncywgY2FjaGVfZmxhZ3MpOworfQorCiBpbnQgcmVwbGFjZV9ncmFudF9ob3N0X21hcHBp bmcoCiAgICAgdWludDY0X3QgYWRkciwgdW5zaWduZWQgbG9uZyBmcmFtZSwgdWludDY0X3QgbmV3 X2FkZHIsIHVuc2lnbmVkIGludCBmbGFncyk7CiAKZGlmZiAtLWdpdCBhL3hlbi9pbmNsdWRlL2Fz bS14ODYvaHZtL2dyYW50X3RhYmxlLmggYi94ZW4vaW5jbHVkZS9hc20teDg2L2h2bS9ncmFudF90 YWJsZS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAuLjgzMjAyYzIxOWMK LS0tIC9kZXYvbnVsbAorKysgYi94ZW4vaW5jbHVkZS9hc20teDg2L2h2bS9ncmFudF90YWJsZS5o CkBAIC0wLDAgKzEsNTMgQEAKKy8qCisgKiBhc20teDg2L2h2bS9ncmFudF90YWJsZS5oCisgKgor ICogR3JhbnQgdGFibGUgaW50ZXJmYWNlcyBmb3IgSFZNIGd1ZXN0cworICoKKyAqIENvcHlyaWdo dCAoQykgMjAxNyBXZWkgTGl1IDx3ZWkubGl1MkBjaXRyaXguY29tPgorICoKKyAqIFRoaXMgcHJv Z3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAq IG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgYW5kIGNvbmRpdGlvbnMgb2YgdGhlIEdOVSBHZW5l cmFsIFB1YmxpYworICogTGljZW5zZSwgdmVyc2lvbiAyLCBhcyBwdWJsaXNoZWQgYnkgdGhlIEZy ZWUgU29mdHdhcmUgRm91bmRhdGlvbi4KKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0 ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFO WSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJD SEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhl IEdOVQorICogR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAq IFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1Ymxp YworICogTGljZW5zZSBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgSWYgbm90LCBzZWUgPGh0dHA6 Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgorICovCisKKyNpZm5kZWYgX19YODZfSFZNX0dSQU5U X1RBQkxFX0hfXworI2RlZmluZSBfX1g4Nl9IVk1fR1JBTlRfVEFCTEVfSF9fCisKKyNpZmRlZiBD T05GSUdfSFZNCisKK2ludCBjcmVhdGVfZ3JhbnRfcDJtX21hcHBpbmcodWludDY0X3QgYWRkciwg dW5zaWduZWQgbG9uZyBmcmFtZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWdu ZWQgaW50IGZsYWdzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQg Y2FjaGVfZmxhZ3MpOworCisjZWxzZQorCisjaW5jbHVkZSA8cHVibGljL2dyYW50X3RhYmxlLmg+ CisKK3N0YXRpYyBpbmxpbmUgaW50IGNyZWF0ZV9ncmFudF9wMm1fbWFwcGluZyh1aW50NjRfdCBh ZGRyLCB1bnNpZ25lZCBsb25nIGZyYW1lLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHVuc2lnbmVkIGludCBmbGFncywKKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQgY2FjaGVfZmxhZ3MpCit7CisgICAgcmV0 dXJuIEdOVFNUX2dlbmVyYWxfZXJyb3I7Cit9CisKKyNlbmRpZgorCisjZW5kaWYgLyogX19YODZf SFZNX0dSQU5UX1RBQkxFX0hfXyAqLworCisvKgorICogTG9jYWwgdmFyaWFibGVzOgorICogbW9k ZTogQworICogYy1maWxlLXN0eWxlOiAiQlNEIgorICogYy1iYXNpYy1vZmZzZXQ6IDQKKyAqIHRh Yi13aWR0aDogNAorICogaW5kZW50LXRhYnMtbW9kZTogbmlsCisgKiBFbmQ6CisgKi8KZGlmZiAt LWdpdCBhL3hlbi9pbmNsdWRlL2FzbS14ODYvcHYvZ3JhbnRfdGFibGUuaCBiL3hlbi9pbmNsdWRl L2FzbS14ODYvcHYvZ3JhbnRfdGFibGUuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw MDAwMDAwLi4xNjVlYmNlMjJmCi0tLSAvZGV2L251bGwKKysrIGIveGVuL2luY2x1ZGUvYXNtLXg4 Ni9wdi9ncmFudF90YWJsZS5oCkBAIC0wLDAgKzEsNTIgQEAKKy8qCisgKiBhc20teDg2L3B2L2dy YW50X3RhYmxlLmgKKyAqCisgKiBHcmFudCB0YWJsZSBpbnRlcmZhY2VzIGZvciBQViBndWVzdHMK KyAqCisgKiBDb3B5cmlnaHQgKEMpIDIwMTcgV2VpIExpdSA8d2VpLmxpdTJAY2l0cml4LmNvbT4K KyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1 dGUgaXQgYW5kL29yCisgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIGFuZCBjb25kaXRpb25z IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMKKyAqIExpY2Vuc2UsIHZlcnNpb24gMiwgYXMgcHVi bGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24uCisgKgorICogVGhpcyBwcm9n cmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisg KiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJy YW50eSBvZgorICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQ VVJQT1NFLiAgU2VlIHRoZSBHTlUKKyAqIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUg ZGV0YWlscy4KKyAqCisgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBH TlUgR2VuZXJhbCBQdWJsaWMKKyAqIExpY2Vuc2UgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IElm IG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi4KKyAqLworCisjaWZuZGVm IF9fWDg2X1BWX0dSQU5UX1RBQkxFX0hfXworI2RlZmluZSBfX1g4Nl9QVl9HUkFOVF9UQUJMRV9I X18KKworI2lmZGVmIENPTkZJR19QVgorCitpbnQgY3JlYXRlX2dyYW50X3B2X21hcHBpbmcodWlu dDY0X3QgYWRkciwgdW5zaWduZWQgbG9uZyBmcmFtZSwKKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICB1bnNpZ25lZCBpbnQgZmxhZ3MsIHVuc2lnbmVkIGludCBjYWNoZV9mbGFncyk7CisKKyNl bHNlCisKKyNpbmNsdWRlIDxwdWJsaWMvZ3JhbnRfdGFibGUuaD4KKworc3RhdGljIGlubGluZSBp bnQgY3JlYXRlX2dyYW50X3B2X21hcHBpbmcodWludDY0X3QgYWRkciwgdW5zaWduZWQgbG9uZyBm cmFtZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVk IGludCBmbGFncywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVu c2lnbmVkIGludCBjYWNoZV9mbGFncykKK3sKKyAgICByZXR1cm4gR05UU1RfZ2VuZXJhbF9lcnJv cjsKK30KKworI2VuZGlmCisKKyNlbmRpZiAvKiBfX1g4Nl9QVl9HUkFOVF9UQUJMRV9IX18gKi8K KworLyoKKyAqIExvY2FsIHZhcmlhYmxlczoKKyAqIG1vZGU6IEMKKyAqIGMtZmlsZS1zdHlsZTog IkJTRCIKKyAqIGMtYmFzaWMtb2Zmc2V0OiA0CisgKiB0YWItd2lkdGg6IDQKKyAqIGluZGVudC10 YWJzLW1vZGU6IG5pbAorICogRW5kOgorICovCi0tIAoyLjExLjAKCgpfX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhl bi1kZXZlbEBsaXN0cy54ZW4ub3JnCmh0dHBzOi8vbGlzdHMueGVuLm9yZy94ZW4tZGV2ZWwK