From mboxrd@z Thu Jan 1 00:00:00 1970 From: Oleksandr Grytsov Subject: [PATCH v1 4/6] libxl: vkb add list and info functions Date: Wed, 1 Nov 2017 17:05:05 +0200 Message-ID: <1509548707-6134-5-git-send-email-al1img@gmail.com> References: <1509548707-6134-1-git-send-email-al1img@gmail.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 1e9ua2-0005K1-8m for xen-devel@lists.xenproject.org; Wed, 01 Nov 2017 15:05:22 +0000 Received: by mail-lf0-f68.google.com with SMTP id r135so2113555lfe.5 for ; Wed, 01 Nov 2017 08:05:20 -0700 (PDT) In-Reply-To: <1509548707-6134-1-git-send-email-al1img@gmail.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: ian.jackson@eu.citrix.com, wei.liu2@citrix.com, Oleksandr Grytsov List-Id: xen-devel@lists.xenproject.org RnJvbTogT2xla3NhbmRyIEdyeXRzb3YgPG9sZWtzYW5kcl9ncnl0c292QGVwYW0uY29tPgoKU2ln bmVkLW9mZi1ieTogT2xla3NhbmRyIEdyeXRzb3YgPG9sZWtzYW5kcl9ncnl0c292QGVwYW0uY29t PgotLS0KIHRvb2xzL2xpYnhsL2xpYnhsLmggICAgICAgICB8ICAxMCArKysrCiB0b29scy9saWJ4 bC9saWJ4bF90eXBlcy5pZGwgfCAgMTEgKysrKwogdG9vbHMvbGlieGwvbGlieGxfdXRpbHMuaCAg IHwgICAzICsrCiB0b29scy9saWJ4bC9saWJ4bF92a2IuYyAgICAgfCAxMjkgKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0KIDQgZmlsZXMgY2hhbmdlZCwgMTUwIGlu c2VydGlvbnMoKyksIDMgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvdG9vbHMvbGlieGwvbGli eGwuaCBiL3Rvb2xzL2xpYnhsL2xpYnhsLmgKaW5kZXggYWNiNzNjZS4uZjJmODQ0MiAxMDA2NDQK LS0tIGEvdG9vbHMvbGlieGwvbGlieGwuaAorKysgYi90b29scy9saWJ4bC9saWJ4bC5oCkBAIC0x OTUwLDYgKzE5NTAsMTYgQEAgaW50IGxpYnhsX2RldmljZV92a2JfZGVzdHJveShsaWJ4bF9jdHgg KmN0eCwgdWludDMyX3QgZG9taWQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0 IGxpYnhsX2FzeW5jb3BfaG93ICphb19ob3cpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg TElCWExfRVhURVJOQUxfQ0FMTEVSU19PTkxZOwogCitsaWJ4bF9kZXZpY2VfdmtiICpsaWJ4bF9k ZXZpY2VfdmtiX2xpc3QobGlieGxfY3R4ICpjdHgsCisgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgdWludDMyX3QgZG9taWQsIGludCAqbnVtKQorICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIExJQlhMX0VYVEVSTkFMX0NBTExFUlNfT05MWTsKK3Zv aWQgbGlieGxfZGV2aWNlX3ZrYl9saXN0X2ZyZWUobGlieGxfZGV2aWNlX3ZrYiogbGlzdCwgaW50 IG51bSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTElCWExfRVhURVJOQUxfQ0FM TEVSU19PTkxZOworaW50IGxpYnhsX2RldmljZV92a2JfZ2V0aW5mbyhsaWJ4bF9jdHggKmN0eCwg dWludDMyX3QgZG9taWQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpYnhsX2Rldmlj ZV92a2IgKnZrYiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlieGxfdmtiaW5mbyAq dmtiaW5mbykKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTElCWExfRVhURVJOQUxfQ0FM TEVSU19PTkxZOworCiAvKiBGcmFtZWJ1ZmZlciAqLwogaW50IGxpYnhsX2RldmljZV92ZmJfYWRk KGxpYnhsX2N0eCAqY3R4LCB1aW50MzJfdCBkb21pZCwgbGlieGxfZGV2aWNlX3ZmYiAqdmZiLAog ICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGxpYnhsX2FzeW5jb3BfaG93ICphb19ob3cp CmRpZmYgLS1naXQgYS90b29scy9saWJ4bC9saWJ4bF90eXBlcy5pZGwgYi90b29scy9saWJ4bC9s aWJ4bF90eXBlcy5pZGwKaW5kZXggYzM4NzZhMi4uZDE5YWY0NiAxMDA2NDQKLS0tIGEvdG9vbHMv bGlieGwvbGlieGxfdHlwZXMuaWRsCisrKyBiL3Rvb2xzL2xpYnhsL2xpYnhsX3R5cGVzLmlkbApA QCAtMTAxNSw2ICsxMDE1LDE3IEBAIGxpYnhsX3ZzbmRpbmZvID0gU3RydWN0KCJ2c25kaW5mbyIs IFsKICAgICAoInBjbXMiLCBBcnJheShsaWJ4bF9wY21pbmZvLCAibnVtX3ZzbmRfcGNtcyIpKQog ICAgIF0pCiAKK2xpYnhsX3ZrYmluZm8gPSBTdHJ1Y3QoInZrYmluZm8iLCBbCisgICAgKCJiYWNr ZW5kIiwgc3RyaW5nKSwKKyAgICAoImJhY2tlbmRfaWQiLCB1aW50MzIpLAorICAgICgiZnJvbnRl bmQiLCBzdHJpbmcpLAorICAgICgiZnJvbnRlbmRfaWQiLCB1aW50MzIpLAorICAgICgiZGV2aWQi LCBsaWJ4bF9kZXZpZCksCisgICAgKCJzdGF0ZSIsIGludGVnZXIpLAorICAgICgiZXZ0Y2giLCBp bnRlZ2VyKSwKKyAgICAoInJyZWYiLCBpbnRlZ2VyKQorICAgIF0sIGRpcj1ESVJfT1VUKQorCiAj IE5VTUEgbm9kZSBjaGFyYWN0ZXJpc3RpY3M6IHNpemUgYW5kIGZyZWUgYXJlIGhvdyBtdWNoIG1l bW9yeSBpdCBoYXMsIGFuZCBob3cKICMgbXVjaCBvZiBpdCBpcyBmcmVlLCByZXNwZWN0aXZlbHku IGRpc3RzIGlzIGFuIGFycmF5IG9mIGRpc3RhbmNlcyBmcm9tIHRoaXMKICMgbm9kZSB0byBlYWNo IG90aGVyIG5vZGUuCmRpZmYgLS1naXQgYS90b29scy9saWJ4bC9saWJ4bF91dGlscy5oIGIvdG9v bHMvbGlieGwvbGlieGxfdXRpbHMuaAppbmRleCA1NDU1NzUyLi40NDQwOWFmIDEwMDY0NAotLS0g YS90b29scy9saWJ4bC9saWJ4bF91dGlscy5oCisrKyBiL3Rvb2xzL2xpYnhsL2xpYnhsX3V0aWxz LmgKQEAgLTc5LDYgKzc5LDkgQEAgaW50IGxpYnhsX2RldmlkX3RvX2RldmljZV92dHBtKGxpYnhs X2N0eCAqY3R4LCB1aW50MzJfdCBkb21pZCwKIGludCBsaWJ4bF9kZXZpZF90b19kZXZpY2VfdXNi Y3RybChsaWJ4bF9jdHggKmN0eCwgdWludDMyX3QgZG9taWQsCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgaW50IGRldmlkLCBsaWJ4bF9kZXZpY2VfdXNiY3RybCAqdXNiY3RybCk7 CiAKK2ludCBsaWJ4bF9kZXZpZF90b19kZXZpY2VfdmtiKGxpYnhsX2N0eCAqY3R4LCB1aW50MzJf dCBkb21pZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBkZXZpZCwgbGlieGxf ZGV2aWNlX3ZrYiAqdmtiKTsKKwogaW50IGxpYnhsX2RldmlkX3RvX2RldmljZV92ZGlzcGwobGli eGxfY3R4ICpjdHgsIHVpbnQzMl90IGRvbWlkLAogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgaW50IGRldmlkLCBsaWJ4bF9kZXZpY2VfdmRpc3BsICp2ZGlzcGwpOwogCmRpZmYgLS1n aXQgYS90b29scy9saWJ4bC9saWJ4bF92a2IuYyBiL3Rvb2xzL2xpYnhsL2xpYnhsX3ZrYi5jCmlu ZGV4IDg4YWIxODYuLjcyYWU1M2QgMTAwNjQ0Ci0tLSBhL3Rvb2xzL2xpYnhsL2xpYnhsX3ZrYi5j CisrKyBiL3Rvb2xzL2xpYnhsL2xpYnhsX3ZrYi5jCkBAIC0xMyw2ICsxMyw3IEBACiAgKi8KIAog I2luY2x1ZGUgImxpYnhsX2ludGVybmFsLmgiCisjaW5jbHVkZSA8eGVuL2lvL2tiZGlmLmg+CiAK IHN0YXRpYyBpbnQgbGlieGxfX2RldmljZV92a2Jfc2V0ZGVmYXVsdChsaWJ4bF9fZ2MgKmdjLCB1 aW50MzJfdCBkb21pZCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBs aWJ4bF9kZXZpY2VfdmtiICp2a2IsIGJvb2wgaG90cGx1ZykKQEAgLTYyLDYgKzYzLDQ1IEBAIHN0 YXRpYyBpbnQgbGlieGxfX3NldF94ZW5zdG9yZV92a2IobGlieGxfX2djICpnYywgdWludDMyX3Qg ZG9taWQsCiAgICAgcmV0dXJuIDA7CiB9CiAKK3N0YXRpYyBpbnQgbGlieGxfX3ZrYl9mcm9tX3hl bnN0b3JlKGxpYnhsX19nYyAqZ2MsIGNvbnN0IGNoYXIgKmxpYnhsX3BhdGgsCisgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBsaWJ4bF9kZXZpZCBkZXZpZCwKKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIGxpYnhsX2RldmljZV92a2IgKnZrYikKK3sKKyAgICBj b25zdCBjaGFyICpiZV9wYXRoLCAqYmVfdHlwZSwgKmZlX3BhdGg7CisgICAgaW50IHJjOworCisg ICAgdmtiLT5kZXZpZCA9IGRldmlkOworCisgICAgcmMgPSBsaWJ4bF9feHNfcmVhZF9tYW5kYXRv cnkoZ2MsIFhCVF9OVUxMLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdDU1BS SU5URigiJXMvYmFja2VuZCIsIGxpYnhsX3BhdGgpLAorICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICZiZV9wYXRoKTsKKyAgICBpZiAocmMpIGdvdG8gb3V0OworCisgICAgcmMgPSBs aWJ4bF9feHNfcmVhZF9tYW5kYXRvcnkoZ2MsIFhCVF9OVUxMLAorICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIEdDU1BSSU5URigiJXMvZnJvbnRlbmQiLCBsaWJ4bF9wYXRoKSwKKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmZmVfcGF0aCk7CisgICAgaWYgKHJjKSBn b3RvIG91dDsKKworICAgIHJjID0gbGlieGxfX3hzX3JlYWRfbWFuZGF0b3J5KGdjLCBYQlRfTlVM TCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHQ1NQUklOVEYoIiVzL2JhY2tl bmQtdHlwZSIsIGxpYnhsX3BhdGgpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICZiZV90eXBlKTsKKyAgICBpZiAocmMpIGdvdG8gb3V0OworCisgICAgcmMgPSBsaWJ4bF92a2Jf YmFja2VuZF9mcm9tX3N0cmluZyhiZV90eXBlLCAmdmtiLT5iYWNrZW5kX3R5cGUpOworICAgIGlm IChyYykgZ290byBvdXQ7CisKKyAgICB2a2ItPmlkID0geHNfcmVhZChDVFgtPnhzaCwgWEJUX05V TEwsIEdDU1BSSU5URigiJXMvaWQiLCBmZV9wYXRoKSwgTlVMTCk7CisKKyAgICByYyA9IGxpYnhs X19iYWNrZW5kcGF0aF9wYXJzZV9kb21pZChnYywgYmVfcGF0aCwgJnZrYi0+YmFja2VuZF9kb21p ZCk7CisgICAgaWYgKHJjKSBnb3RvIG91dDsKKworICAgIHJjID0gMDsKKworb3V0OgorCisgICAg cmV0dXJuIHJjOworfQorCiBpbnQgbGlieGxfZGV2aWNlX3ZrYl9hZGQobGlieGxfY3R4ICpjdHgs IHVpbnQzMl90IGRvbWlkLCBsaWJ4bF9kZXZpY2VfdmtiICp2a2IsCiAgICAgICAgICAgICAgICAg ICAgICAgICAgY29uc3QgbGlieGxfYXN5bmNvcF9ob3cgKmFvX2hvdykKIHsKQEAgLTc5LDE5ICsx MTksMTAyIEBAIG91dDoKICAgICByZXR1cm4gQU9fSU5QUk9HUkVTUzsKIH0KIAoraW50IGxpYnhs X2RldmlkX3RvX2RldmljZV92a2IobGlieGxfY3R4ICpjdHgsIHVpbnQzMl90IGRvbWlkLAorICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGRldmlkLCBsaWJ4bF9kZXZpY2VfdmtiICp2 a2IpCit7CisgICAgR0NfSU5JVChjdHgpOworCisgICAgbGlieGxfZGV2aWNlX3ZrYiAqdmticyA9 IE5VTEw7CisgICAgaW50IG4sIGk7CisgICAgaW50IHJjOworCisgICAgbGlieGxfZGV2aWNlX3Zr Yl9pbml0KHZrYik7CisKKyAgICB2a2JzID0gbGlieGxfX2RldmljZV9saXN0KGdjLCAmbGlieGxf X3ZrYl9kZXZ0eXBlLCBkb21pZCwgJm4pOworCisgICAgaWYgKCF2a2JzKSB7IHJjID0gRVJST1Jf Tk9URk9VTkQ7IGdvdG8gb3V0OyB9CisKKyAgICBmb3IgKGkgPSAwOyBpIDwgbjsgKytpKSB7Cisg ICAgICAgIGlmIChkZXZpZCA9PSB2a2JzW2ldLmRldmlkKSB7CisgICAgICAgICAgICBsaWJ4bF9k ZXZpY2VfdmtiX2NvcHkoY3R4LCB2a2IsICZ2a2JzW2ldKTsKKyAgICAgICAgICAgIHJjID0gMDsK KyAgICAgICAgICAgIGdvdG8gb3V0OworICAgICAgICB9CisgICAgfQorCisgICAgcmMgPSBFUlJP Ul9OT1RGT1VORDsKKworb3V0OgorCisgICAgaWYgKHZrYnMpCisgICAgICAgIGxpYnhsX19kZXZp Y2VfbGlzdF9mcmVlKCZsaWJ4bF9fdmtiX2RldnR5cGUsIHZrYnMsIG4pOworCisgICAgR0NfRlJF RTsKKyAgICByZXR1cm4gcmM7Cit9CisKK2ludCBsaWJ4bF9kZXZpY2VfdmtiX2dldGluZm8obGli eGxfY3R4ICpjdHgsIHVpbnQzMl90IGRvbWlkLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBsaWJ4bF9kZXZpY2VfdmtiICp2a2IsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxp YnhsX3ZrYmluZm8gKmluZm8pCit7CisgICAgR0NfSU5JVChjdHgpOworICAgIGNoYXIgKmxpYnhs X3BhdGgsICpkb21wYXRoLCAqZGV2cGF0aDsKKyAgICBjaGFyICp2YWw7CisgICAgaW50IHJjOwor CisgICAgbGlieGxfdmtiaW5mb19pbml0KGluZm8pOworICAgIGRvbXBhdGggPSBsaWJ4bF9feHNf Z2V0X2RvbXBhdGgoZ2MsIGRvbWlkKTsKKyAgICBpbmZvLT5kZXZpZCA9IHZrYi0+ZGV2aWQ7CisK KyAgICBkZXZwYXRoID0gR0NTUFJJTlRGKCIlcy9kZXZpY2UvdmtiZC8lZCIsIGRvbXBhdGgsIGlu Zm8tPmRldmlkKTsKKyAgICBsaWJ4bF9wYXRoID0gR0NTUFJJTlRGKCIlcy9kZXZpY2UvdmtiZC8l ZCIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWJ4bF9feHNfbGlieGxfcGF0aChnYywg ZG9taWQpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5mby0+ZGV2aWQpOworICAgIGlu Zm8tPmJhY2tlbmQgPSB4c19yZWFkKGN0eC0+eHNoLCBYQlRfTlVMTCwKKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICBHQ1NQUklOVEYoIiVzL2JhY2tlbmQiLCBsaWJ4bF9wYXRoKSwKKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICBOVUxMKTsKKyAgICBpZiAoIWluZm8tPmJhY2tlbmQpIHsg cmMgPSBFUlJPUl9GQUlMOyBnb3RvIG91dDsgfQorCisgICAgcmMgPSBsaWJ4bF9fYmFja2VuZHBh dGhfcGFyc2VfZG9taWQoZ2MsIGluZm8tPmJhY2tlbmQsICZpbmZvLT5iYWNrZW5kX2lkKTsKKyAg ICBpZiAocmMpIGdvdG8gb3V0OworCisgICAgdmFsID0gbGlieGxfX3hzX3JlYWQoZ2MsIFhCVF9O VUxMLCBHQ1NQUklOVEYoIiVzL3N0YXRlIiwgZGV2cGF0aCkpOworICAgIGluZm8tPnN0YXRlID0g dmFsID8gc3RydG91bCh2YWwsIE5VTEwsIDEwKSA6IC0xOworCisgICAgaW5mby0+ZnJvbnRlbmQg PSB4c19yZWFkKGN0eC0+eHNoLCBYQlRfTlVMTCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgR0NTUFJJTlRGKCIlcy9mcm9udGVuZCIsIGxpYnhsX3BhdGgpLAorICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBOVUxMKTsKKyAgICBpbmZvLT5mcm9udGVuZF9pZCA9IGRvbWlkOworCisg ICAgdmFsID0gbGlieGxfX3hzX3JlYWQoZ2MsIFhCVF9OVUxMLAorICAgICAgICAgIEdDU1BSSU5U RigiJXMvIlhFTktCRF9GSUVMRF9FVlRfQ0hBTk5FTCwgZGV2cGF0aCkpOworICAgIGluZm8tPmV2 dGNoID0gdmFsID8gc3RydG91bCh2YWwsIE5VTEwsIDEwKSA6IC0xOworCisgICAgdmFsID0gbGli eGxfX3hzX3JlYWQoZ2MsIFhCVF9OVUxMLAorICAgICAgICAgIEdDU1BSSU5URigiJXMvIlhFTktC RF9GSUVMRF9SSU5HX0dSRUYsIGRldnBhdGgpKTsKKyAgICBpbmZvLT5ycmVmID0gdmFsID8gc3Ry dG91bCh2YWwsIE5VTEwsIDEwKSA6IC0xOworCisgICAgcmMgPSAwOworCitvdXQ6CisgICAgIEdD X0ZSRUU7CisgICAgIHJldHVybiByYzsKK30KKwogc3RhdGljIExJQlhMX0RFRklORV9VUERBVEVf REVWSUQodmtiLCAidmtiZCIpCiAKICNkZWZpbmUgbGlieGxfX2FkZF92a2JzIE5VTEwKLSNkZWZp bmUgbGlieGxfZGV2aWNlX3ZrYl9saXN0IE5VTEwKICNkZWZpbmUgbGlieGxfZGV2aWNlX3ZrYl9j b21wYXJlIE5VTEwKIAorTElCWExfREVGSU5FX0RFVklDRV9MSVNUKHZrYikKIExJQlhMX0RFRklO RV9ERVZJQ0VfUkVNT1ZFKHZrYikKIAotREVGSU5FX0RFVklDRV9UWVBFX1NUUlVDVF9YKHZrYiwg dmtiLCB2a2JkCitERUZJTkVfREVWSUNFX1RZUEVfU1RSVUNUX1godmtiLCB2a2IsIHZrYmQsCiAg ICAgLnNraXBfYXR0YWNoID0gMSwKICAgICAuZG1fbmVlZGVkICAgPSAoZGV2aWNlX2RtX25lZWRl ZF9mbl90KWxpYnhsX19kZXZpY2VfdmtiX2RtX25lZWRlZCwKICAgICAuc2V0X3hlbnN0b3JlX2Nv bmZpZyAgID0gKGRldmljZV9zZXRfeGVuc3RvcmVfY29uZmlnX2ZuX3QpCi0gICAgICAgICAgICAg ICAgICAgICAgICAgICAgIGxpYnhsX19zZXRfeGVuc3RvcmVfdmtiCisgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIGxpYnhsX19zZXRfeGVuc3RvcmVfdmtiLAorICAgIC5mcm9tX3hlbnN0b3Jl ID0gKGRldmljZV9mcm9tX3hlbnN0b3JlX2ZuX3QpbGlieGxfX3ZrYl9mcm9tX3hlbnN0b3JlCiAp OwogCiAvKgotLSAKMi43LjQKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fXwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54ZW4ub3Jn Cmh0dHBzOi8vbGlzdHMueGVuLm9yZy94ZW4tZGV2ZWwK