From mboxrd@z Thu Jan 1 00:00:00 1970 From: Paul Durrant Subject: [PATCH v13 10/11] common: add a new mappable resource type: XENMEM_resource_grant_table Date: Mon, 30 Oct 2017 17:48:28 +0000 Message-ID: <20171030174829.4518-11-paul.durrant@citrix.com> References: <20171030174829.4518-1-paul.durrant@citrix.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail6.bemta6.messagelabs.com ([193.109.254.103]) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1e9EKL-0000Ns-SN for xen-devel@lists.xenproject.org; Mon, 30 Oct 2017 17:58:21 +0000 In-Reply-To: <20171030174829.4518-1-paul.durrant@citrix.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: xen-devel@lists.xenproject.org Cc: Stefano Stabellini , Wei Liu , Konrad Rzeszutek Wilk , George Dunlap , Andrew Cooper , Ian Jackson , Tim Deegan , Paul Durrant , Jan Beulich List-Id: xen-devel@lists.xenproject.org VGhpcyBwYXRjaCBhbGxvd3MgZ3JhbnQgdGFibGUgZnJhbWVzIHRvIGJlIG1hcHBlZCB1c2luZyB0 aGUKWEVOTUVNX2FjcXVpcmVfcmVzb3VyY2UgbWVtb3J5IG9wLgoKTk9URTogVGhpcyBwYXRjaCBl eHBhbmRzIHRoZSBvbi1zdGFjayBtZm5fbGlzdCBhcnJheSBpbiBhY3F1aXJlX3Jlc291cmNlKCkK ICAgICAgYnV0IGl0IGlzIHN0aWxsIHNtYWxsIGVub3VnaCB0byByZW1haW4gb24tc3RhY2suCgpT aWduZWQtb2ZmLWJ5OiBQYXVsIER1cnJhbnQgPHBhdWwuZHVycmFudEBjaXRyaXguY29tPgotLS0K Q2M6IEFuZHJldyBDb29wZXIgPGFuZHJldy5jb29wZXIzQGNpdHJpeC5jb20+CkNjOiBHZW9yZ2Ug RHVubGFwIDxHZW9yZ2UuRHVubGFwQGV1LmNpdHJpeC5jb20+CkNjOiBJYW4gSmFja3NvbiA8aWFu LmphY2tzb25AZXUuY2l0cml4LmNvbT4KQ2M6IEphbiBCZXVsaWNoIDxqYmV1bGljaEBzdXNlLmNv bT4KQ2M6IEtvbnJhZCBSemVzenV0ZWsgV2lsayA8a29ucmFkLndpbGtAb3JhY2xlLmNvbT4KQ2M6 IFN0ZWZhbm8gU3RhYmVsbGluaSA8c3N0YWJlbGxpbmlAa2VybmVsLm9yZz4KQ2M6IFRpbSBEZWVn YW4gPHRpbUB4ZW4ub3JnPgpDYzogV2VpIExpdSA8d2VpLmxpdTJAY2l0cml4LmNvbT4KCnYxMzoK IC0gUmUtd29yayB0aGUgaW50ZXJuYWxzIHRvIGF2b2lkIHVzaW5nIHRoZSBYRU5NQVBJRFhfZ3Jh bnRfdGFibGVfc3RhdHVzCiAgIGhhY2suCgp2MTI6CiAtIERyb3BwZWQgbGltaXQgY2hlY2tzIGFz IHJlcXVlc3RlZCBieSBKYW4uCgp2MTA6CiAtIEFkZHJlc3NlZCBjb21tZW50cyBmcm9tIEphbi4K CnY4OgogLSBUaGUgZnVuY3Rpb25hbGl0eSB3YXMgb3JpZ2luYWxseSBpbmNvcnBvcmF0ZWQgaW50 byB0aGUgZWFybGllciBwYXRjaAogICAieDg2L21tOiBhZGQgSFlQRVJWSVNPUl9tZW1vcnlfb3Ag dG8gYWNxdWlyZSBndWVzdCByZXNvdXJjZXMiLgotLS0KIHhlbi9jb21tb24vZ3JhbnRfdGFibGUu YyAgICAgIHwgNjMgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLQog eGVuL2NvbW1vbi9tZW1vcnkuYyAgICAgICAgICAgfCA0NSArKysrKysrKysrKysrKysrKysrKysr KysrKysrKystCiB4ZW4vaW5jbHVkZS9wdWJsaWMvbWVtb3J5LmggICB8ICA2ICsrKysrCiB4ZW4v aW5jbHVkZS94ZW4vZ3JhbnRfdGFibGUuaCB8ICA0ICsrKwogNCBmaWxlcyBjaGFuZ2VkLCAxMDkg aW5zZXJ0aW9ucygrKSwgOSBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS94ZW4vY29tbW9uL2dy YW50X3RhYmxlLmMgYi94ZW4vY29tbW9uL2dyYW50X3RhYmxlLmMKaW5kZXggMDU1OGRlOWNlOC4u NDI5YzQyMWNkOSAxMDA2NDQKLS0tIGEveGVuL2NvbW1vbi9ncmFudF90YWJsZS5jCisrKyBiL3hl bi9jb21tb24vZ3JhbnRfdGFibGUuYwpAQCAtMzc2MSwyMSArMzc2MSwyMSBAQCBpbnQgbWVtX3No YXJpbmdfZ3JlZl90b19nZm4oc3RydWN0IGdyYW50X3RhYmxlICpndCwgZ3JhbnRfcmVmX3QgcmVm LAogfQogI2VuZGlmCiAKLWludCBnbnR0YWJfbWFwX2ZyYW1lKHN0cnVjdCBkb21haW4gKmQsIHVu c2lnbmVkIGxvbmcgaWR4LCBnZm5fdCBnZm4sCi0gICAgICAgICAgICAgICAgICAgICBtZm5fdCAq bWZuKQorLyogQ2FsbGVyIG11c3QgaG9sZCB3cml0ZSBsb2NrIGFzIHZlcnNpb24gbWF5IGNoYW5n ZSBhbmQgdGFibGUgbWF5IGdyb3cgKi8KK3N0YXRpYyBpbnQgZ250dGFiX2dldF9mcmFtZShzdHJ1 Y3QgZG9tYWluICpkLCBib29sIGlzX3N0YXR1cywKKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICB1bnNpZ25lZCBsb25nIGlkeCwgbWZuX3QgKm1mbikKIHsKLSAgICBpbnQgcmMgPSAwOwogICAg IHN0cnVjdCBncmFudF90YWJsZSAqZ3QgPSBkLT5ncmFudF90YWJsZTsKLQotICAgIGdyYW50X3dy aXRlX2xvY2soZ3QpOworICAgIGludCByYyA9IDA7CiAKICAgICBpZiAoIGd0LT5ndF92ZXJzaW9u ID09IDAgKQogICAgICAgICBndC0+Z3RfdmVyc2lvbiA9IDE7CiAKLSAgICBpZiAoIGd0LT5ndF92 ZXJzaW9uID09IDIgJiYKLSAgICAgICAgIChpZHggJiBYRU5NQVBJRFhfZ3JhbnRfdGFibGVfc3Rh dHVzKSApCisgICAgaWYgKCBpc19zdGF0dXMgKQogICAgIHsKLSAgICAgICAgaWR4ICY9IH5YRU5N QVBJRFhfZ3JhbnRfdGFibGVfc3RhdHVzOworICAgICAgICBpZiAoIGd0LT5ndF92ZXJzaW9uICE9 IDIgKQorICAgICAgICAgICAgcmV0dXJuIC1FSU5WQUw7CisKICAgICAgICAgaWYgKCBpZHggPCBu cl9zdGF0dXNfZnJhbWVzKGd0KSApCiAgICAgICAgICAgICAqbWZuID0gX21mbih2aXJ0X3RvX21m bihndC0+c3RhdHVzW2lkeF0pKTsKICAgICAgICAgZWxzZQpAQCAtMzc5Miw2ICszNzkyLDI1IEBA IGludCBnbnR0YWJfbWFwX2ZyYW1lKHN0cnVjdCBkb21haW4gKmQsIHVuc2lnbmVkIGxvbmcgaWR4 LCBnZm5fdCBnZm4sCiAgICAgICAgICAgICByYyA9IC1FSU5WQUw7CiAgICAgfQogCisgICAgcmV0 dXJuIHJjOworfQorCitpbnQgZ250dGFiX21hcF9mcmFtZShzdHJ1Y3QgZG9tYWluICpkLCB1bnNp Z25lZCBsb25nIGlkeCwgZ2ZuX3QgZ2ZuLAorICAgICAgICAgICAgICAgICAgICAgbWZuX3QgKm1m bikKK3sKKyAgICBzdHJ1Y3QgZ3JhbnRfdGFibGUgKmd0ID0gZC0+Z3JhbnRfdGFibGU7CisgICAg Ym9vbCBpc19zdGF0dXMgPSBmYWxzZTsKKyAgICBpbnQgcmM7CisKKyAgICBncmFudF93cml0ZV9s b2NrKGd0KTsKKworICAgIGlmICggaWR4ICYgWEVOTUFQSURYX2dyYW50X3RhYmxlX3N0YXR1cyAp CisgICAgeworICAgICAgICBpc19zdGF0dXMgPSB0cnVlOworICAgICAgICBpZHggJj0gflhFTk1B UElEWF9ncmFudF90YWJsZV9zdGF0dXM7CisgICAgfQorCisgICAgcmMgPSBnbnR0YWJfZ2V0X2Zy YW1lKGQsIGlzX3N0YXR1cywgaWR4LCBtZm4pOwogICAgIGlmICggIXJjICkKICAgICAgICAgZ250 dGFiX3NldF9mcmFtZV9nZm4oZ3QsIGlkeCwgZ2ZuKTsKIApAQCAtMzgwMCw2ICszODE5LDM0IEBA IGludCBnbnR0YWJfbWFwX2ZyYW1lKHN0cnVjdCBkb21haW4gKmQsIHVuc2lnbmVkIGxvbmcgaWR4 LCBnZm5fdCBnZm4sCiAgICAgcmV0dXJuIHJjOwogfQogCitpbnQgZ250dGFiX2dldF9ncmFudF9m cmFtZShzdHJ1Y3QgZG9tYWluICpkLCB1bnNpZ25lZCBsb25nIGlkeCwKKyAgICAgICAgICAgICAg ICAgICAgICAgICAgIG1mbl90ICptZm4pCit7CisgICAgc3RydWN0IGdyYW50X3RhYmxlICpndCA9 IGQtPmdyYW50X3RhYmxlOworICAgIGludCByYzsKKworICAgIC8qIHdyaXRlIGxvY2sgcmVxdWly ZWQgYXMgdmVyc2lvbiBtYXkgY2hhbmdlIGFuZC9vciB0YWJsZSBtYXkgZ3JvdyAqLworICAgIGdy YW50X3dyaXRlX2xvY2soZ3QpOworICAgIHJjID0gZ250dGFiX2dldF9mcmFtZShkLCBmYWxzZSwg aWR4LCBtZm4pOworICAgIGdyYW50X3dyaXRlX3VubG9jayhndCk7CisKKyAgICByZXR1cm4gcmM7 Cit9CisKK2ludCBnbnR0YWJfZ2V0X3N0YXR1c19mcmFtZShzdHJ1Y3QgZG9tYWluICpkLCB1bnNp Z25lZCBsb25nIGlkeCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBtZm5fdCAqbWZuKQor eworICAgIHN0cnVjdCBncmFudF90YWJsZSAqZ3QgPSBkLT5ncmFudF90YWJsZTsKKyAgICBpbnQg cmM7CisKKyAgICAvKiB3cml0ZSBsb2NrIHJlcXVpcmVkIGFzIHZlcnNpb24gbWF5IGNoYW5nZSBh bmQvb3IgdGFibGUgbWF5IGdyb3cgKi8KKyAgICBncmFudF93cml0ZV9sb2NrKGd0KTsKKyAgICBy YyA9IGdudHRhYl9nZXRfZnJhbWUoZCwgdHJ1ZSwgaWR4LCBtZm4pOworICAgIGdyYW50X3dyaXRl X3VubG9jayhndCk7CisKKyAgICByZXR1cm4gcmM7Cit9CisKIHN0YXRpYyB2b2lkIGdudHRhYl91 c2FnZV9wcmludChzdHJ1Y3QgZG9tYWluICpyZCkKIHsKICAgICBpbnQgZmlyc3QgPSAxOwpkaWZm IC0tZ2l0IGEveGVuL2NvbW1vbi9tZW1vcnkuYyBiL3hlbi9jb21tb24vbWVtb3J5LmMKaW5kZXgg MWM2OTMyZmQ4NS4uODA5N2Q4NWJlMyAxMDA2NDQKLS0tIGEveGVuL2NvbW1vbi9tZW1vcnkuYwor KysgYi94ZW4vY29tbW9uL21lbW9yeS5jCkBAIC0yMyw2ICsyMyw3IEBACiAjaW5jbHVkZSA8eGVu L251bWEuaD4KICNpbmNsdWRlIDx4ZW4vbWVtX2FjY2Vzcy5oPgogI2luY2x1ZGUgPHhlbi90cmFj ZS5oPgorI2luY2x1ZGUgPHhlbi9ncmFudF90YWJsZS5oPgogI2luY2x1ZGUgPGFzbS9jdXJyZW50 Lmg+CiAjaW5jbHVkZSA8YXNtL2hhcmRpcnEuaD4KICNpbmNsdWRlIDxhc20vcDJtLmg+CkBAIC05 NjUsNiArOTY2LDQzIEBAIHN0YXRpYyBsb25nIHhhdHBfcGVybWlzc2lvbl9jaGVjayhzdHJ1Y3Qg ZG9tYWluICpkLCB1bnNpZ25lZCBpbnQgc3BhY2UpCiAgICAgcmV0dXJuIHhzbV9hZGRfdG9fcGh5 c21hcChYU01fVEFSR0VULCBjdXJyZW50LT5kb21haW4sIGQpOwogfQogCitzdGF0aWMgaW50IGFj cXVpcmVfZ3JhbnRfdGFibGUoc3RydWN0IGRvbWFpbiAqZCwgdW5zaWduZWQgaW50IGlkLAorICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGxvbmcgZnJhbWUsCisgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50IG5yX2ZyYW1lcywKKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICB4ZW5fcGZuX3QgbWZuX2xpc3RbXSkKK3sKKyAgICB1bnNp Z25lZCBpbnQgaSA9IG5yX2ZyYW1lczsKKworICAgIC8qIEl0ZXJhdGUgYmFja3dhcmRzIGluIGNh c2UgdGFibGUgbmVlZHMgdG8gZ3JvdyAqLworICAgIHdoaWxlICggaS0tICE9IDAgKQorICAgIHsK KyAgICAgICAgbWZuX3QgbWZuID0gSU5WQUxJRF9NRk47CisgICAgICAgIGludCByYzsKKworICAg ICAgICBzd2l0Y2ggKCBpZCApCisgICAgICAgIHsKKyAgICAgICAgY2FzZSBYRU5NRU1fcmVzb3Vy Y2VfZ3JhbnRfdGFibGVfaWRfZ3JhbnQ6CisgICAgICAgICAgICByYyA9IGdudHRhYl9nZXRfZ3Jh bnRfZnJhbWUoZCwgZnJhbWUgKyBpLCAmbWZuKTsKKyAgICAgICAgICAgIGJyZWFrOworCisgICAg ICAgIGNhc2UgWEVOTUVNX3Jlc291cmNlX2dyYW50X3RhYmxlX2lkX3N0YXR1czoKKyAgICAgICAg ICAgIHJjID0gZ250dGFiX2dldF9zdGF0dXNfZnJhbWUoZCwgZnJhbWUgKyBpLCAmbWZuKTsKKyAg ICAgICAgICAgIGJyZWFrOworCisgICAgICAgIGRlZmF1bHQ6CisgICAgICAgICAgICByYyA9IC1F SU5WQUw7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgfQorCisgICAgICAgIGlmICggcmMg KQorICAgICAgICAgICAgcmV0dXJuIHJjOworCisgICAgICAgIG1mbl9saXN0W2ldID0gbWZuX3go bWZuKTsKKyAgICB9CisKKyAgICByZXR1cm4gMDsKK30KKwogc3RhdGljIGludCBhY3F1aXJlX3Jl c291cmNlKAogICAgIFhFTl9HVUVTVF9IQU5ETEVfUEFSQU0oeGVuX21lbV9hY3F1aXJlX3Jlc291 cmNlX3QpIGFyZykKIHsKQEAgLTk3NSw3ICsxMDEzLDcgQEAgc3RhdGljIGludCBhY3F1aXJlX3Jl c291cmNlKAogICAgICAqIG1vbWVudCBzaW5jZSB0aGV5IGFyZSBzbWFsbCwgYnV0IGlmIHRoZXkg bmVlZCB0byBncm93IGluIGZ1dHVyZQogICAgICAqIHVzZS1jYXNlcyB0aGVuIHBlci1DUFUgYXJy YXlzIG9yIGhlYXAgYWxsb2NhdGlvbnMgbWF5IGJlIHJlcXVpcmVkLgogICAgICAqLwotICAgIHhl bl9wZm5fdCBtZm5fbGlzdFsyXTsKKyAgICB4ZW5fcGZuX3QgbWZuX2xpc3RbMzJdOwogICAgIGlu dCByYzsKIAogICAgIGlmICggY29weV9mcm9tX2d1ZXN0KCZ4bWFyLCBhcmcsIDEpICkKQEAgLTEw MTAsNiArMTA0OCwxMSBAQCBzdGF0aWMgaW50IGFjcXVpcmVfcmVzb3VyY2UoCiAKICAgICBzd2l0 Y2ggKCB4bWFyLnR5cGUgKQogICAgIHsKKyAgICBjYXNlIFhFTk1FTV9yZXNvdXJjZV9ncmFudF90 YWJsZToKKyAgICAgICAgcmMgPSBhY3F1aXJlX2dyYW50X3RhYmxlKGQsIHhtYXIuaWQsIHhtYXIu ZnJhbWUsIHhtYXIubnJfZnJhbWVzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg bWZuX2xpc3QpOworICAgICAgICBicmVhazsKKwogICAgIGRlZmF1bHQ6CiAgICAgICAgIHJjID0g YXJjaF9hY3F1aXJlX3Jlc291cmNlKGQsIHhtYXIudHlwZSwgeG1hci5pZCwgeG1hci5mcmFtZSwK ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeG1hci5ucl9mcmFtZXMsIG1mbl9s aXN0KTsKZGlmZiAtLWdpdCBhL3hlbi9pbmNsdWRlL3B1YmxpYy9tZW1vcnkuaCBiL3hlbi9pbmNs dWRlL3B1YmxpYy9tZW1vcnkuaAppbmRleCA4MzhmMjQ4YTU5Li5kNGVkOGJhODg5IDEwMDY0NAot LS0gYS94ZW4vaW5jbHVkZS9wdWJsaWMvbWVtb3J5LmgKKysrIGIveGVuL2luY2x1ZGUvcHVibGlj L21lbW9yeS5oCkBAIC02MTEsMTQgKzYxMSwyMCBAQCBzdHJ1Y3QgeGVuX21lbV9hY3F1aXJlX3Jl c291cmNlIHsKICAgICB1aW50MTZfdCB0eXBlOwogCiAjZGVmaW5lIFhFTk1FTV9yZXNvdXJjZV9p b3JlcV9zZXJ2ZXIgMAorI2RlZmluZSBYRU5NRU1fcmVzb3VyY2VfZ3JhbnRfdGFibGUgMQogCiAg ICAgLyoKICAgICAgKiBJTiAtIGEgdHlwZS1zcGVjaWZpYyByZXNvdXJjZSBpZGVudGlmaWVyLCB3 aGljaCBtdXN0IGJlIHplcm8KICAgICAgKiAgICAgIHVubGVzcyBzdGF0ZWQgb3RoZXJ3aXNlLgog ICAgICAqCiAgICAgICogdHlwZSA9PSBYRU5NRU1fcmVzb3VyY2VfaW9yZXFfc2VydmVyIC0+IGlk ID09IGlvcmVxIHNlcnZlciBpZAorICAgICAqIHR5cGUgPT0gWEVOTUVNX3Jlc291cmNlX2dyYW50 X3RhYmxlIC0+IGlkIGRlZmluZWQgYmVsb3cKICAgICAgKi8KICAgICB1aW50MzJfdCBpZDsKKwor I2RlZmluZSBYRU5NRU1fcmVzb3VyY2VfZ3JhbnRfdGFibGVfaWRfZ3JhbnQgMAorI2RlZmluZSBY RU5NRU1fcmVzb3VyY2VfZ3JhbnRfdGFibGVfaWRfc3RhdHVzIDEKKwogICAgIC8qIElOL09VVCAt IEFzIGFuIElOIHBhcmFtZXRlciBudW1iZXIgb2YgZnJhbWVzIG9mIHRoZSByZXNvdXJjZQogICAg ICAqICAgICAgICAgIHRvIGJlIG1hcHBlZC4gSG93ZXZlciwgaWYgdGhlIHNwZWNpZmllZCB2YWx1 ZSBpcyAwIGFuZAogICAgICAqICAgICAgICAgIGZyYW1lX2xpc3QgaXMgTlVMTCB0aGVuIHRoaXMg ZmllbGQgd2lsbCBiZSBzZXQgdG8gdGhlCmRpZmYgLS1naXQgYS94ZW4vaW5jbHVkZS94ZW4vZ3Jh bnRfdGFibGUuaCBiL3hlbi9pbmNsdWRlL3hlbi9ncmFudF90YWJsZS5oCmluZGV4IGIzYTk1ZmRh NTguLmU5MTI1ZTQzZTcgMTAwNjQ0Ci0tLSBhL3hlbi9pbmNsdWRlL3hlbi9ncmFudF90YWJsZS5o CisrKyBiL3hlbi9pbmNsdWRlL3hlbi9ncmFudF90YWJsZS5oCkBAIC01NSw2ICs1NSwxMCBAQCBp bnQgbWVtX3NoYXJpbmdfZ3JlZl90b19nZm4oc3RydWN0IGdyYW50X3RhYmxlICpndCwgZ3JhbnRf cmVmX3QgcmVmLAogCiBpbnQgZ250dGFiX21hcF9mcmFtZShzdHJ1Y3QgZG9tYWluICpkLCB1bnNp Z25lZCBsb25nIGlkeCwgZ2ZuX3QgZ2ZuLAogICAgICAgICAgICAgICAgICAgICAgbWZuX3QgKm1m bik7CitpbnQgZ250dGFiX2dldF9ncmFudF9mcmFtZShzdHJ1Y3QgZG9tYWluICpkLCB1bnNpZ25l ZCBsb25nIGlkeCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIG1mbl90ICptZm4pOworaW50 IGdudHRhYl9nZXRfc3RhdHVzX2ZyYW1lKHN0cnVjdCBkb21haW4gKmQsIHVuc2lnbmVkIGxvbmcg aWR4LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1mbl90ICptZm4pOwogCiB1bnNpZ25l ZCBpbnQgZ250dGFiX2RvbTBfZnJhbWVzKHZvaWQpOwogCi0tIAoyLjExLjAKCgpfX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpYZW4tZGV2ZWwgbWFpbGluZyBs aXN0Clhlbi1kZXZlbEBsaXN0cy54ZW4ub3JnCmh0dHBzOi8vbGlzdHMueGVuLm9yZy94ZW4tZGV2 ZWwK