From mboxrd@z Thu Jan 1 00:00:00 1970 From: Paul Durrant Subject: [PATCH v4 5/9] xen_backend: add an emulation of grant copy Date: Thu, 17 May 2018 16:35:54 +0100 Message-ID: <1526571358-26685-6-git-send-email-paul.durrant@citrix.com> References: <1526571358-26685-1-git-send-email-paul.durrant@citrix.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1fJKwt-0001s2-Q6 for xen-devel@lists.xenproject.org; Thu, 17 May 2018 15:36:11 +0000 In-Reply-To: <1526571358-26685-1-git-send-email-paul.durrant@citrix.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" To: xen-devel@lists.xenproject.org, qemu-block@nongnu.org, qemu-devel@nongnu.org Cc: Anthony Perard , Paul Durrant , Stefano Stabellini List-Id: xen-devel@lists.xenproject.org Tm90IGFsbCBYZW4gZW52aXJvbm1lbnRzIHN1cHBvcnQgdGhlIHhlbmdudHRhYl9ncmFudF9jb3B5 KCkgb3BlcmF0aW9uLgpFLmcuIHdoZXJlIHRoZSBPUyBpcyBGcmVlQlNEIG9yIFhlbiBpcyBvbGRl ciB0aGFuIDQuOC4wLgoKVGhpcyBwYXRjaCBpbnRyb2R1Y2VzIGFuIGVtdWxhdGlvbiBvZiB0aGF0 IG9wZXJhdGlvbiB1c2luZwp4ZW5nbnR0YWJfbWFwX2RvbWFpbl9ncmFudF9yZWZzKCkgYW5kIG1l bWNweSgpIGZvciB0aG9zZSBlbnZpcm9ubWVudHMuCgpTaWduZWQtb2ZmLWJ5OiBQYXVsIER1cnJh bnQgPHBhdWwuZHVycmFudEBjaXRyaXguY29tPgotLS0KQ2M6IFN0ZWZhbm8gU3RhYmVsbGluaSA8 c3N0YWJlbGxpbmlAa2VybmVsLm9yZz4KQ2M6IEFudGhvbnkgUGVyYXJkIDxhbnRob255LnBlcmFy ZEBjaXRyaXguY29tPgoKdjI6CiAtIE5ldyBpbiB2MgotLS0KIGh3L3hlbi94ZW5fYmFja2VuZC5j IHwgNTMgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KwogMSBmaWxlIGNoYW5nZWQsIDUzIGluc2VydGlvbnMoKykKCmRpZmYgLS1naXQgYS9ody94ZW4v eGVuX2JhY2tlbmQuYyBiL2h3L3hlbi94ZW5fYmFja2VuZC5jCmluZGV4IDUwNDEyZDYuLjNjM2Zj MmMgMTAwNjQ0Ci0tLSBhL2h3L3hlbi94ZW5fYmFja2VuZC5jCisrKyBiL2h3L3hlbi94ZW5fYmFj a2VuZC5jCkBAIC0xNDYsNiArMTQ2LDU1IEBAIHZvaWQgeGVuX2JlX3VubWFwX2dyYW50X3JlZnMo c3RydWN0IFhlbkRldmljZSAqeGVuZGV2LCB2b2lkICpwdHIsCiAgICAgfQogfQogCitzdGF0aWMg aW50IGNvbXBhdF9jb3B5X2dyYW50X3JlZnMoc3RydWN0IFhlbkRldmljZSAqeGVuZGV2LAorICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvb2wgdG9fZG9tYWluLAorICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIFhlbkdyYW50Q29weVNlZ21lbnQgc2Vnc1tdLAorICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGludCBucl9zZWdzKQorewor ICAgIHVpbnQzMl90ICpyZWZzID0gZ19uZXcodWludDMyX3QsIG5yX3NlZ3MpOworICAgIGludCBw cm90ID0gdG9fZG9tYWluID8gUFJPVF9XUklURSA6IFBST1RfUkVBRDsKKyAgICB2b2lkICpwYWdl czsKKyAgICB1bnNpZ25lZCBpbnQgaTsKKworICAgIGZvciAoaSA9IDA7IGkgPCBucl9zZWdzOyBp KyspIHsKKyAgICAgICAgWGVuR3JhbnRDb3B5U2VnbWVudCAqc2VnID0gJnNlZ3NbaV07CisKKyAg ICAgICAgcmVmc1tpXSA9IHRvX2RvbWFpbiA/CisgICAgICAgICAgICBzZWctPmRlc3QuZm9yZWln bi5yZWYgOiBzZWctPnNvdXJjZS5mb3JlaWduLnJlZjsKKyAgICB9CisKKyAgICBwYWdlcyA9IHhl bmdudHRhYl9tYXBfZG9tYWluX2dyYW50X3JlZnMoeGVuZGV2LT5nbnR0YWJkZXYsIG5yX3NlZ3Ms CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhlbl9kb21pZCwg cmVmcywgcHJvdCk7CisgICAgaWYgKCFwYWdlcykgeworICAgICAgICB4ZW5fcHZfcHJpbnRmKHhl bmRldiwgMCwKKyAgICAgICAgICAgICAgICAgICAgICAieGVuZ250dGFiX21hcF9kb21haW5fZ3Jh bnRfcmVmcyBmYWlsZWQ6ICVzXG4iLAorICAgICAgICAgICAgICAgICAgICAgIHN0cmVycm9yKGVy cm5vKSk7CisgICAgICAgIGdfZnJlZShyZWZzKTsKKyAgICAgICAgcmV0dXJuIC0xOworICAgIH0K KworICAgIGZvciAoaSA9IDA7IGkgPCBucl9zZWdzOyBpKyspIHsKKyAgICAgICAgWGVuR3JhbnRD b3B5U2VnbWVudCAqc2VnID0gJnNlZ3NbaV07CisgICAgICAgIHZvaWQgKnBhZ2UgPSBwYWdlcyAr IChpICogWENfUEFHRV9TSVpFKTsKKworICAgICAgICBpZiAodG9fZG9tYWluKSB7CisgICAgICAg ICAgICBtZW1jcHkocGFnZSArIHNlZy0+ZGVzdC5mb3JlaWduLm9mZnNldCwgc2VnLT5zb3VyY2Uu dmlydCwKKyAgICAgICAgICAgICAgICAgICBzZWctPmxlbik7CisgICAgICAgIH0gZWxzZSB7Cisg ICAgICAgICAgICBtZW1jcHkoc2VnLT5kZXN0LnZpcnQsIHBhZ2UgKyBzZWctPnNvdXJjZS5mb3Jl aWduLm9mZnNldCwKKyAgICAgICAgICAgICAgICAgICBzZWctPmxlbik7CisgICAgICAgIH0KKyAg ICB9CisKKyAgICBpZiAoeGVuZ250dGFiX3VubWFwKHhlbmRldi0+Z250dGFiZGV2LCBwYWdlcywg bnJfc2VncykpIHsKKyAgICAgICAgeGVuX3B2X3ByaW50Zih4ZW5kZXYsIDAsICJ4ZW5nbnR0YWJf dW5tYXAgZmFpbGVkOiAlc1xuIiwKKyAgICAgICAgICAgICAgICAgICAgICBzdHJlcnJvcihlcnJu bykpOworICAgIH0KKworICAgIGdfZnJlZShyZWZzKTsKKyAgICByZXR1cm4gMDsKK30KKwogaW50 IHhlbl9iZV9jb3B5X2dyYW50X3JlZnMoc3RydWN0IFhlbkRldmljZSAqeGVuZGV2LAogICAgICAg ICAgICAgICAgICAgICAgICAgICAgYm9vbCB0b19kb21haW4sCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICBYZW5HcmFudENvcHlTZWdtZW50IHNlZ3NbXSwKQEAgLTE1Nyw2ICsyMDYsMTAgQEAg aW50IHhlbl9iZV9jb3B5X2dyYW50X3JlZnMoc3RydWN0IFhlbkRldmljZSAqeGVuZGV2LAogCiAg ICAgYXNzZXJ0KHhlbmRldi0+b3BzLT5mbGFncyAmIERFVk9QU19GTEFHX05FRURfR05UREVWKTsK IAorICAgIGlmICgheGVuX2ZlYXR1cmVfZ3JhbnRfY29weSkgeworICAgICAgICByZXR1cm4gY29t cGF0X2NvcHlfZ3JhbnRfcmVmcyh4ZW5kZXYsIHRvX2RvbWFpbiwgc2VncywgbnJfc2Vncyk7Cisg ICAgfQorCiAgICAgeGVuZ250dGFiX3NlZ3MgPSBnX25ldzAoeGVuZ250dGFiX2dyYW50X2NvcHlf c2VnbWVudF90LCBucl9zZWdzKTsKIAogICAgIGZvciAoaSA9IDA7IGkgPCBucl9zZWdzOyBpKysp IHsKLS0gCjIuMS40CgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX18KWGVuLWRldmVsIG1haWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlzdHMueGVucHJvamVjdC5v cmcKaHR0cHM6Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL3hlbi1kZXZl bA==