From mboxrd@z Thu Jan 1 00:00:00 1970 From: Igor Druzhinin Subject: [PATCH v3 2/4] xen/mapcache: add an ability to create dummy mappings Date: Mon, 10 Jul 2017 23:40:01 +0100 Message-ID: <1499726403-10129-3-git-send-email-igor.druzhinin@citrix.com> References: <1499726403-10129-1-git-send-email-igor.druzhinin@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 1dUhLw-0007Ad-6q for xen-devel@lists.xenproject.org; Mon, 10 Jul 2017 22:40:28 +0000 In-Reply-To: <1499726403-10129-1-git-send-email-igor.druzhinin@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, qemu-devel@nongnu.org Cc: anthony.perard@citrix.com, Igor Druzhinin , sstabellini@kernel.org, paul.durrant@citrix.com, pbonzini@redhat.com List-Id: xen-devel@lists.xenproject.org RHVtbXlzIGFyZSBzaW1wbGUgYW5vbnltb3VzIG1hcHBpbmdzIHRoYXQgYXJlIHBsYWNlZCBpbnN0 ZWFkCm9mIHJlZ3VsYXIgZm9yZWlnbiBtYXBwaW5ncyBpbiBjZXJ0YWluIHNpdHVhdGlvbnMgd2hl biB3ZSBuZWVkCnRvIHBvc3Rwb25lIHRoZSBhY3R1YWwgbWFwcGluZyBidXQgc3RpbGwgaGF2ZSB0 byBnaXZlIGEKbWVtb3J5IHJlZ2lvbiB0byBRRU1VIHRvIHBsYXkgd2l0aC4KClRoaXMgaXMgcGxh bm5lZCB0byBiZSB1c2VkIGZvciByZXN0b3JlIG9uIFhlbi4KClNpZ25lZC1vZmYtYnk6IElnb3Ig RHJ1emhpbmluIDxpZ29yLmRydXpoaW5pbkBjaXRyaXguY29tPgpSZXZpZXdlZC1ieTogUGF1bCBE dXJyYW50IDxwYXVsLmR1cnJhbnRAY2l0cml4LmNvbT4KUmV2aWV3ZWQtYnk6IFN0ZWZhbm8gU3Rh YmVsbGluaSA8c3N0YWJlbGxpbmlAa2VybmVsLm9yZz4KLS0tCiBody9pMzg2L3hlbi94ZW4tbWFw Y2FjaGUuYyB8IDQ0ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0t CiAxIGZpbGUgY2hhbmdlZCwgMzYgaW5zZXJ0aW9ucygrKSwgOCBkZWxldGlvbnMoLSkKCmRpZmYg LS1naXQgYS9ody9pMzg2L3hlbi94ZW4tbWFwY2FjaGUuYyBiL2h3L2kzODYveGVuL3hlbi1tYXBj YWNoZS5jCmluZGV4IGU2MDE1NmMuLjM5Y2I1MTEgMTAwNjQ0Ci0tLSBhL2h3L2kzODYveGVuL3hl bi1tYXBjYWNoZS5jCisrKyBiL2h3L2kzODYveGVuL3hlbi1tYXBjYWNoZS5jCkBAIC01Myw2ICs1 Myw4IEBAIHR5cGVkZWYgc3RydWN0IE1hcENhY2hlRW50cnkgewogICAgIHVpbnQ4X3QgKnZhZGRy X2Jhc2U7CiAgICAgdW5zaWduZWQgbG9uZyAqdmFsaWRfbWFwcGluZzsKICAgICB1aW50OF90IGxv Y2s7CisjZGVmaW5lIFhFTl9NQVBDQUNIRV9FTlRSWV9EVU1NWSAoMSA8PCAwKQorICAgIHVpbnQ4 X3QgZmxhZ3M7CiAgICAgaHdhZGRyIHNpemU7CiAgICAgc3RydWN0IE1hcENhY2hlRW50cnkgKm5l eHQ7CiB9IE1hcENhY2hlRW50cnk7CkBAIC0xNTAsNyArMTUyLDggQEAgdm9pZCB4ZW5fbWFwX2Nh Y2hlX2luaXQocGh5c19vZmZzZXRfdG9fZ2FkZHJfdCBmLCB2b2lkICpvcGFxdWUpCiAKIHN0YXRp YyB2b2lkIHhlbl9yZW1hcF9idWNrZXQoTWFwQ2FjaGVFbnRyeSAqZW50cnksCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIGh3YWRkciBzaXplLAotICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBod2FkZHIgYWRkcmVzc19pbmRleCkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg aHdhZGRyIGFkZHJlc3NfaW5kZXgsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvb2wg ZHVtbXkpCiB7CiAgICAgdWludDhfdCAqdmFkZHJfYmFzZTsKICAgICB4ZW5fcGZuX3QgKnBmbnM7 CkBAIC0xNzcsMTEgKzE4MCwyNSBAQCBzdGF0aWMgdm9pZCB4ZW5fcmVtYXBfYnVja2V0KE1hcENh Y2hlRW50cnkgKmVudHJ5LAogICAgICAgICBwZm5zW2ldID0gKGFkZHJlc3NfaW5kZXggPDwgKE1D QUNIRV9CVUNLRVRfU0hJRlQtWENfUEFHRV9TSElGVCkpICsgaTsKICAgICB9CiAKLSAgICB2YWRk cl9iYXNlID0geGVuZm9yZWlnbm1lbW9yeV9tYXAoeGVuX2ZtZW0sIHhlbl9kb21pZCwgUFJPVF9S RUFEfFBST1RfV1JJVEUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5i X3BmbiwgcGZucywgZXJyKTsKLSAgICBpZiAodmFkZHJfYmFzZSA9PSBOVUxMKSB7Ci0gICAgICAg IHBlcnJvcigieGVuZm9yZWlnbm1lbW9yeV9tYXAiKTsKLSAgICAgICAgZXhpdCgtMSk7CisgICAg aWYgKCFkdW1teSkgeworICAgICAgICB2YWRkcl9iYXNlID0geGVuZm9yZWlnbm1lbW9yeV9tYXAo eGVuX2ZtZW0sIHhlbl9kb21pZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBQUk9UX1JFQUQgfCBQUk9UX1dSSVRFLAorICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIG5iX3BmbiwgcGZucywgZXJyKTsKKyAgICAgICAgaWYgKHZhZGRy X2Jhc2UgPT0gTlVMTCkgeworICAgICAgICAgICAgcGVycm9yKCJ4ZW5mb3JlaWdubWVtb3J5X21h cCIpOworICAgICAgICAgICAgZXhpdCgtMSk7CisgICAgICAgIH0KKyAgICB9IGVsc2UgeworICAg ICAgICAvKgorICAgICAgICAgKiBXZSBjcmVhdGUgZHVtbXkgbWFwcGluZ3Mgd2hlcmUgd2UgYXJl IHVuYWJsZSB0byBjcmVhdGUgYSBmb3JlaWduCisgICAgICAgICAqIG1hcHBpbmcgaW1tZWRpYXRl bHkgZHVlIHRvIGNlcnRhaW4gY2lyY3Vtc3RhbmNlcyAoaS5lLiBvbiByZXN1bWUgbm93KQorICAg ICAgICAgKi8KKyAgICAgICAgdmFkZHJfYmFzZSA9IG1tYXAoTlVMTCwgc2l6ZSwgUFJPVF9SRUFE IHwgUFJPVF9XUklURSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgTUFQX0FOT04gfCBNQVBf U0hBUkVELCAtMSwgMCk7CisgICAgICAgIGlmICh2YWRkcl9iYXNlID09IE5VTEwpIHsKKyAgICAg ICAgICAgIHBlcnJvcigibW1hcCIpOworICAgICAgICAgICAgZXhpdCgtMSk7CisgICAgICAgIH0K ICAgICB9CiAKICAgICBlbnRyeS0+dmFkZHJfYmFzZSA9IHZhZGRyX2Jhc2U7CkBAIC0xOTAsNiAr MjA3LDEyIEBAIHN0YXRpYyB2b2lkIHhlbl9yZW1hcF9idWNrZXQoTWFwQ2FjaGVFbnRyeSAqZW50 cnksCiAgICAgZW50cnktPnZhbGlkX21hcHBpbmcgPSAodW5zaWduZWQgbG9uZyAqKSBnX21hbGxv YzAoc2l6ZW9mKHVuc2lnbmVkIGxvbmcpICoKICAgICAgICAgICAgIEJJVFNfVE9fTE9OR1Moc2l6 ZSA+PiBYQ19QQUdFX1NISUZUKSk7CiAKKyAgICBpZiAoZHVtbXkpIHsKKyAgICAgICAgZW50cnkt PmZsYWdzIHw9IFhFTl9NQVBDQUNIRV9FTlRSWV9EVU1NWTsKKyAgICB9IGVsc2UgeworICAgICAg ICBlbnRyeS0+ZmxhZ3MgJj0gfihYRU5fTUFQQ0FDSEVfRU5UUllfRFVNTVkpOworICAgIH0KKwog ICAgIHJhbV9ibG9ja19ub3RpZnlfYWRkKGVudHJ5LT52YWRkcl9iYXNlLCBlbnRyeS0+c2l6ZSk7 CiAgICAgYml0bWFwX3plcm8oZW50cnktPnZhbGlkX21hcHBpbmcsIG5iX3Bmbik7CiAgICAgZm9y IChpID0gMDsgaSA8IG5iX3BmbjsgaSsrKSB7CkBAIC0yMTEsNiArMjM0LDcgQEAgc3RhdGljIHVp bnQ4X3QgKnhlbl9tYXBfY2FjaGVfdW5sb2NrZWQoaHdhZGRyIHBoeXNfYWRkciwgaHdhZGRyIHNp emUsCiAgICAgaHdhZGRyIGNhY2hlX3NpemUgPSBzaXplOwogICAgIGh3YWRkciB0ZXN0X2JpdF9z aXplOwogICAgIGJvb2wgdHJhbnNsYXRlZCA9IGZhbHNlOworICAgIGJvb2wgZHVtbXkgPSBmYWxz ZTsKIAogdHJ5YWdhaW46CiAgICAgYWRkcmVzc19pbmRleCAgPSBwaHlzX2FkZHIgPj4gTUNBQ0hF X0JVQ0tFVF9TSElGVDsKQEAgLTI2MiwxNCArMjg2LDE0IEBAIHRyeWFnYWluOgogICAgIGlmICgh ZW50cnkpIHsKICAgICAgICAgZW50cnkgPSBnX21hbGxvYzAoc2l6ZW9mIChNYXBDYWNoZUVudHJ5 KSk7CiAgICAgICAgIHBlbnRyeS0+bmV4dCA9IGVudHJ5OwotICAgICAgICB4ZW5fcmVtYXBfYnVj a2V0KGVudHJ5LCBjYWNoZV9zaXplLCBhZGRyZXNzX2luZGV4KTsKKyAgICAgICAgeGVuX3JlbWFw X2J1Y2tldChlbnRyeSwgY2FjaGVfc2l6ZSwgYWRkcmVzc19pbmRleCwgZHVtbXkpOwogICAgIH0g ZWxzZSBpZiAoIWVudHJ5LT5sb2NrKSB7CiAgICAgICAgIGlmICghZW50cnktPnZhZGRyX2Jhc2Ug fHwgZW50cnktPnBhZGRyX2luZGV4ICE9IGFkZHJlc3NfaW5kZXggfHwKICAgICAgICAgICAgICAg ICBlbnRyeS0+c2l6ZSAhPSBjYWNoZV9zaXplIHx8CiAgICAgICAgICAgICAgICAgIXRlc3RfYml0 cyhhZGRyZXNzX29mZnNldCA+PiBYQ19QQUdFX1NISUZULAogICAgICAgICAgICAgICAgICAgICB0 ZXN0X2JpdF9zaXplID4+IFhDX1BBR0VfU0hJRlQsCiAgICAgICAgICAgICAgICAgICAgIGVudHJ5 LT52YWxpZF9tYXBwaW5nKSkgewotICAgICAgICAgICAgeGVuX3JlbWFwX2J1Y2tldChlbnRyeSwg Y2FjaGVfc2l6ZSwgYWRkcmVzc19pbmRleCk7CisgICAgICAgICAgICB4ZW5fcmVtYXBfYnVja2V0 KGVudHJ5LCBjYWNoZV9zaXplLCBhZGRyZXNzX2luZGV4LCBkdW1teSk7CiAgICAgICAgIH0KICAg ICB9CiAKQEAgLTI4Miw2ICszMDYsMTAgQEAgdHJ5YWdhaW46CiAgICAgICAgICAgICB0cmFuc2xh dGVkID0gdHJ1ZTsKICAgICAgICAgICAgIGdvdG8gdHJ5YWdhaW47CiAgICAgICAgIH0KKyAgICAg ICAgaWYgKCFkdW1teSAmJiBydW5zdGF0ZV9jaGVjayhSVU5fU1RBVEVfSU5NSUdSQVRFKSkgewor ICAgICAgICAgICAgZHVtbXkgPSB0cnVlOworICAgICAgICAgICAgZ290byB0cnlhZ2FpbjsKKyAg ICAgICAgfQogICAgICAgICB0cmFjZV94ZW5fbWFwX2NhY2hlX3JldHVybihOVUxMKTsKICAgICAg ICAgcmV0dXJuIE5VTEw7CiAgICAgfQotLSAKMi43LjQKCgpfX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fXwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZl bEBsaXN0cy54ZW4ub3JnCmh0dHBzOi8vbGlzdHMueGVuLm9yZy94ZW4tZGV2ZWwK