From mboxrd@z Thu Jan 1 00:00:00 1970 From: Oleksandr Grytsov Subject: [PATCH v5 07/12] libxl: change vkb to use generec add function Date: Mon, 11 Sep 2017 20:14:57 +0300 Message-ID: <1505150102-30806-8-git-send-email-al1img@gmail.com> References: <1505150102-30806-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.bemta3.messagelabs.com ([195.245.230.39]) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1drSIz-0001vc-68 for xen-devel@lists.xenproject.org; Mon, 11 Sep 2017 17:15:29 +0000 Received: by mail-lf0-f66.google.com with SMTP id l196so4237673lfl.3 for ; Mon, 11 Sep 2017 10:15:27 -0700 (PDT) In-Reply-To: <1505150102-30806-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 PgotLS0KIHRvb2xzL2xpYnhsL2xpYnhsX2NvbnNvbGUuYyAgfCA3NCArKysrKysrLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogdG9vbHMvbGlieGwvbGlieGxfY3JlYXRlLmMg ICB8ICA1ICstLQogdG9vbHMvbGlieGwvbGlieGxfZG0uYyAgICAgICB8ICA2ICsrLS0KIHRvb2xz L2xpYnhsL2xpYnhsX2ludGVybmFsLmggfCAgNiArLS0tCiA0IGZpbGVzIGNoYW5nZWQsIDE5IGlu c2VydGlvbnMoKyksIDcyIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3Rvb2xzL2xpYnhsL2xp YnhsX2NvbnNvbGUuYyBiL3Rvb2xzL2xpYnhsL2xpYnhsX2NvbnNvbGUuYwppbmRleCA2MTgxYjA1 Li5lNGEwZGFmIDEwMDY0NAotLS0gYS90b29scy9saWJ4bC9saWJ4bF9jb25zb2xlLmMKKysrIGIv dG9vbHMvbGlieGwvbGlieGxfY29uc29sZS5jCkBAIC01ODMsMTEgKzU4MywxMCBAQCBpbnQgbGli eGxfZGV2aWNlX2NoYW5uZWxfZ2V0aW5mbyhsaWJ4bF9jdHggKmN0eCwgdWludDMyX3QgZG9taWQs CiAgICAgcmV0dXJuIHJjOwogfQogCi1pbnQgbGlieGxfX2RldmljZV92a2Jfc2V0ZGVmYXVsdChs aWJ4bF9fZ2MgKmdjLCBsaWJ4bF9kZXZpY2VfdmtiICp2a2IpCitzdGF0aWMgaW50IGxpYnhsX19k ZXZpY2VfdmtiX3NldGRlZmF1bHQobGlieGxfX2djICpnYywgdWludDMyX3QgZG9taWQsCisgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlieGxfZGV2aWNlX3ZrYiAqdmti LCBib29sIGhvdHBsdWcpCiB7Ci0gICAgaW50IHJjOwotICAgIHJjID0gbGlieGxfX3Jlc29sdmVf ZG9taWQoZ2MsIHZrYi0+YmFja2VuZF9kb21uYW1lLCAmdmtiLT5iYWNrZW5kX2RvbWlkKTsKLSAg ICByZXR1cm4gcmM7CisgICAgcmV0dXJuIGxpYnhsX19yZXNvbHZlX2RvbWlkKGdjLCB2a2ItPmJh Y2tlbmRfZG9tbmFtZSwgJnZrYi0+YmFja2VuZF9kb21pZCk7CiB9CiAKIHN0YXRpYyBpbnQgbGli eGxfX2RldmljZV9mcm9tX3ZrYihsaWJ4bF9fZ2MgKmdjLCB1aW50MzJfdCBkb21pZCwKQEAgLTYw NCw2NiArNjAzLDggQEAgc3RhdGljIGludCBsaWJ4bF9fZGV2aWNlX2Zyb21fdmtiKGxpYnhsX19n YyAqZ2MsIHVpbnQzMl90IGRvbWlkLAogICAgIHJldHVybiAwOwogfQogCi1pbnQgbGlieGxfZGV2 aWNlX3ZrYl9hZGQobGlieGxfY3R4ICpjdHgsIHVpbnQzMl90IGRvbWlkLCBsaWJ4bF9kZXZpY2Vf dmtiICp2a2IsCi0gICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgbGlieGxfYXN5bmNvcF9o b3cgKmFvX2hvdykKLXsKLSAgICBBT19DUkVBVEUoY3R4LCBkb21pZCwgYW9faG93KTsKLSAgICBp bnQgcmM7Ci0KLSAgICByYyA9IGxpYnhsX19kZXZpY2VfdmtiX2FkZChnYywgZG9taWQsIHZrYik7 Ci0gICAgaWYgKHJjKSB7Ci0gICAgICAgIExPR0QoRVJST1IsIGRvbWlkLCAiVW5hYmxlIHRvIGFk ZCB2a2IgZGV2aWNlIik7Ci0gICAgICAgIGdvdG8gb3V0OwotICAgIH0KLQotb3V0OgotICAgIGxp YnhsX19hb19jb21wbGV0ZShlZ2MsIGFvLCByYyk7Ci0gICAgcmV0dXJuIEFPX0lOUFJPR1JFU1M7 Ci19Ci0KIHN0YXRpYyBMSUJYTF9ERUZJTkVfVVBEQVRFX0RFVklEKHZrYiwgInZrYiIpCiAKLWlu dCBsaWJ4bF9fZGV2aWNlX3ZrYl9hZGQobGlieGxfX2djICpnYywgdWludDMyX3QgZG9taWQsCi0g ICAgICAgICAgICAgICAgICAgICAgICAgIGxpYnhsX2RldmljZV92a2IgKnZrYikKLXsKLSAgICBm bGV4YXJyYXlfdCAqZnJvbnQ7Ci0gICAgZmxleGFycmF5X3QgKmJhY2s7Ci0gICAgbGlieGxfX2Rl dmljZSBkZXZpY2U7Ci0gICAgaW50IHJjOwotCi0gICAgcmMgPSBsaWJ4bF9fZGV2aWNlX3ZrYl9z ZXRkZWZhdWx0KGdjLCB2a2IpOwotICAgIGlmIChyYykgZ290byBvdXQ7Ci0KLSAgICBmcm9udCA9 IGZsZXhhcnJheV9tYWtlKGdjLCAxNiwgMSk7Ci0gICAgYmFjayA9IGZsZXhhcnJheV9tYWtlKGdj LCAxNiwgMSk7Ci0KLSAgICByYyA9IGxpYnhsX19kZXZpY2VfdmtiX3VwZGF0ZV9kZXZpZChnYywg ZG9taWQsIHZrYik7Ci0gICAgaWYgKHJjKSBnb3RvIG91dDsKLQotICAgIHJjID0gbGlieGxfX2Rl dmljZV9mcm9tX3ZrYihnYywgZG9taWQsIHZrYiwgJmRldmljZSk7Ci0gICAgaWYgKHJjICE9IDAp IGdvdG8gb3V0OwotCi0gICAgZmxleGFycmF5X2FwcGVuZChiYWNrLCAiZnJvbnRlbmQtaWQiKTsK LSAgICBmbGV4YXJyYXlfYXBwZW5kKGJhY2ssIEdDU1BSSU5URigiJWQiLCBkb21pZCkpOwotICAg IGZsZXhhcnJheV9hcHBlbmQoYmFjaywgIm9ubGluZSIpOwotICAgIGZsZXhhcnJheV9hcHBlbmQo YmFjaywgIjEiKTsKLSAgICBmbGV4YXJyYXlfYXBwZW5kKGJhY2ssICJzdGF0ZSIpOwotICAgIGZs ZXhhcnJheV9hcHBlbmQoYmFjaywgR0NTUFJJTlRGKCIlZCIsIFhlbmJ1c1N0YXRlSW5pdGlhbGlz aW5nKSk7Ci0KLSAgICBmbGV4YXJyYXlfYXBwZW5kKGZyb250LCAiYmFja2VuZC1pZCIpOwotICAg IGZsZXhhcnJheV9hcHBlbmQoZnJvbnQsIEdDU1BSSU5URigiJWQiLCB2a2ItPmJhY2tlbmRfZG9t aWQpKTsKLSAgICBmbGV4YXJyYXlfYXBwZW5kKGZyb250LCAic3RhdGUiKTsKLSAgICBmbGV4YXJy YXlfYXBwZW5kKGZyb250LCBHQ1NQUklOVEYoIiVkIiwgWGVuYnVzU3RhdGVJbml0aWFsaXNpbmcp KTsKLQotICAgIGxpYnhsX19kZXZpY2VfZ2VuZXJpY19hZGQoZ2MsIFhCVF9OVUxMLCAmZGV2aWNl LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlieGxfX3hzX2t2c19vZl9mbGV4YXJy YXkoZ2MsIGJhY2spLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlieGxfX3hzX2t2 c19vZl9mbGV4YXJyYXkoZ2MsIGZyb250KSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IE5VTEwpOwotICAgIHJjID0gMDsKLW91dDoKLSAgICByZXR1cm4gcmM7Ci19Ci0KIGludCBsaWJ4 bF9fZGV2aWNlX3ZmYl9zZXRkZWZhdWx0KGxpYnhsX19nYyAqZ2MsIGxpYnhsX2RldmljZV92ZmIg KnZmYikKIHsKICAgICBpbnQgcmM7CkBAIC03ODUsOCArNzI2LDE3IEBAIG91dDoKICAqIDIuIGR5 bmFtaWNhbGx5IGFkZC9yZW1vdmUgcWVtdSBjaGFyZGV2cyB2aWEgcW1wIG1lc3NhZ2VzLiAqLwog CiAvKiB2a2IgKi8KKworI2RlZmluZSBsaWJ4bF9fYWRkX3ZrYnMgTlVMTAorI2RlZmluZSBsaWJ4 bF9kZXZpY2VfdmtiX2xpc3QgTlVMTAorI2RlZmluZSBsaWJ4bF9kZXZpY2VfdmtiX2NvbXBhcmUg TlVMTAorCiBMSUJYTF9ERUZJTkVfREVWSUNFX1JFTU9WRSh2a2IpCiAKK0RFRklORV9ERVZJQ0Vf VFlQRV9TVFJVQ1QodmtiLAorICAgIC5za2lwX2F0dGFjaCA9IDEKKyk7CisKIC8qIHZmYiAqLwog TElCWExfREVGSU5FX0RFVklDRV9SRU1PVkUodmZiKQogCmRpZmYgLS1naXQgYS90b29scy9saWJ4 bC9saWJ4bF9jcmVhdGUuYyBiL3Rvb2xzL2xpYnhsL2xpYnhsX2NyZWF0ZS5jCmluZGV4IDI2YWEy YTQuLjhjMGMxMmQgMTAwNjQ0Ci0tLSBhL3Rvb2xzL2xpYnhsL2xpYnhsX2NyZWF0ZS5jCisrKyBi L3Rvb2xzL2xpYnhsL2xpYnhsX2NyZWF0ZS5jCkBAIC0xMzQ5LDcgKzEzNDksNyBAQCBzdGF0aWMg dm9pZCBkb21jcmVhdGVfbGF1bmNoX2RtKGxpYnhsX19lZ2MgKmVnYywgbGlieGxfX211bHRpZGV2 ICptdWx0aWRldiwKICAgICAgICAgfQogCiAgICAgICAgIGxpYnhsX2RldmljZV92a2JfaW5pdCgm dmtiKTsKLSAgICAgICAgbGlieGxfX2RldmljZV92a2JfYWRkKGdjLCBkb21pZCwgJnZrYik7Cisg ICAgICAgIGxpYnhsX19kZXZpY2VfYWRkKGdjLCBkb21pZCwgJmxpYnhsX192a2JfZGV2dHlwZSwg JnZrYik7CiAgICAgICAgIGxpYnhsX2RldmljZV92a2JfZGlzcG9zZSgmdmtiKTsKIAogICAgICAg ICBkY3MtPnNkc3MuZG0uZ3Vlc3RfZG9taWQgPSBkb21pZDsKQEAgLTEzNzUsNyArMTM3NSw4IEBA IHN0YXRpYyB2b2lkIGRvbWNyZWF0ZV9sYXVuY2hfZG0obGlieGxfX2VnYyAqZWdjLCBsaWJ4bF9f bXVsdGlkZXYgKm11bHRpZGV2LAogCiAgICAgICAgIGZvciAoaSA9IDA7IGkgPCBkX2NvbmZpZy0+ bnVtX3ZmYnM7IGkrKykgewogICAgICAgICAgICAgbGlieGxfX2RldmljZV92ZmJfYWRkKGdjLCBk b21pZCwgJmRfY29uZmlnLT52ZmJzW2ldKTsKLSAgICAgICAgICAgIGxpYnhsX19kZXZpY2Vfdmti X2FkZChnYywgZG9taWQsICZkX2NvbmZpZy0+dmtic1tpXSk7CisgICAgICAgICAgICBsaWJ4bF9f ZGV2aWNlX2FkZChnYywgZG9taWQsICZsaWJ4bF9fdmtiX2RldnR5cGUsCisgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAmZF9jb25maWctPnZrYnNbaV0pOwogICAgICAgICB9CiAKICAgICAg ICAgaW5pdF9jb25zb2xlX2luZm8oZ2MsICZjb25zb2xlLCAwKTsKZGlmZiAtLWdpdCBhL3Rvb2xz L2xpYnhsL2xpYnhsX2RtLmMgYi90b29scy9saWJ4bC9saWJ4bF9kbS5jCmluZGV4IGVlMjA5MzAu LjA3MTJhMzQgMTAwNjQ0Ci0tLSBhL3Rvb2xzL2xpYnhsL2xpYnhsX2RtLmMKKysrIGIvdG9vbHMv bGlieGwvbGlieGxfZG0uYwpAQCAtMTk4Niw5ICsxOTg2LDkgQEAgc3RhdGljIHZvaWQgc3Bhd25f c3R1Yl9sYXVuY2hfZG0obGlieGxfX2VnYyAqZWdjLAogICAgICAgICAgICAgZ290byBvdXQ7CiAg ICAgfQogICAgIGlmIChkbV9jb25maWctPm51bV92a2JzKSB7Ci0gICAgICAgIHJldCA9IGxpYnhs X19kZXZpY2VfdmtiX2FkZChnYywgZG1fZG9taWQsICZkbV9jb25maWctPnZrYnNbMF0pOwotICAg ICAgICBpZiAocmV0KQotICAgICAgICAgICAgZ290byBvdXQ7CisgICAgICAgIHJldCA9IGxpYnhs X19kZXZpY2VfYWRkKGdjLCBkbV9kb21pZCwgJmxpYnhsX192a2JfZGV2dHlwZSwKKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgJmRtX2NvbmZpZy0+dmtic1swXSk7CisgICAgICAgIGlm IChyZXQpIGdvdG8gb3V0OwogICAgIH0KIAogICAgIGlmIChndWVzdF9jb25maWctPmJfaW5mby51 Lmh2bS5zZXJpYWwpCmRpZmYgLS1naXQgYS90b29scy9saWJ4bC9saWJ4bF9pbnRlcm5hbC5oIGIv dG9vbHMvbGlieGwvbGlieGxfaW50ZXJuYWwuaAppbmRleCA4N2Y2ZDMyLi5jMmVmNjdmIDEwMDY0 NAotLS0gYS90b29scy9saWJ4bC9saWJ4bF9pbnRlcm5hbC5oCisrKyBiL3Rvb2xzL2xpYnhsL2xp YnhsX2ludGVybmFsLmgKQEAgLTEyNDgsNyArMTI0OCw2IEBAIF9oaWRkZW4gaW50IGxpYnhsX19k ZXZpY2VfZGlza19zZXRkZWZhdWx0KGxpYnhsX19nYyAqZ2MsIHVpbnQzMl90IGRvbWlkLAogX2hp ZGRlbiBpbnQgbGlieGxfX2RldmljZV9uaWNfc2V0ZGVmYXVsdChsaWJ4bF9fZ2MgKmdjLCB1aW50 MzJfdCBkb21pZCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGli eGxfZGV2aWNlX25pYyAqbmljLCBib29sIGhvdHBsdWcpOwogX2hpZGRlbiBpbnQgbGlieGxfX2Rl dmljZV92ZmJfc2V0ZGVmYXVsdChsaWJ4bF9fZ2MgKmdjLCBsaWJ4bF9kZXZpY2VfdmZiICp2ZmIp OwotX2hpZGRlbiBpbnQgbGlieGxfX2RldmljZV92a2Jfc2V0ZGVmYXVsdChsaWJ4bF9fZ2MgKmdj LCBsaWJ4bF9kZXZpY2VfdmtiICp2a2IpOwogX2hpZGRlbiB2b2lkIGxpYnhsX19yZG1fc2V0ZGVm YXVsdChsaWJ4bF9fZ2MgKmdjLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBs aWJ4bF9kb21haW5fYnVpbGRfaW5mbyAqYl9pbmZvKTsKIApAQCAtMjY1NywxMCArMjY1Niw2IEBA IHN0cnVjdCBsaWJ4bF9fbXVsdGlkZXYgewogICogaXQncyBhIHZhbGlkIHN0YXRlLgogICovCiAK LS8qIEludGVybmFsIGZ1bmN0aW9uIHRvIGNvbm5lY3QgYSB2a2IgZGV2aWNlICovCi1faGlkZGVu IGludCBsaWJ4bF9fZGV2aWNlX3ZrYl9hZGQobGlieGxfX2djICpnYywgdWludDMyX3QgZG9taWQs Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlieGxfZGV2aWNlX3ZrYiAqdmti KTsKLQogLyogSW50ZXJuYWwgZnVuY3Rpb24gdG8gY29ubmVjdCBhIHZmYiBkZXZpY2UgKi8KIF9o aWRkZW4gaW50IGxpYnhsX19kZXZpY2VfdmZiX2FkZChsaWJ4bF9fZ2MgKmdjLCB1aW50MzJfdCBk b21pZCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWJ4bF9kZXZpY2VfdmZi ICp2ZmIpOwpAQCAtMzU1MSw2ICszNTQ2LDcgQEAgc3RhdGljIGlubGluZSBpbnQgKmxpYnhsX19k ZXZpY2VfdHlwZV9nZXRfbnVtKAogICAgIHJldHVybiAoaW50ICopKCh2b2lkICopZF9jb25maWcg KyBkdC0+bnVtX29mZnNldCk7CiB9CiAKK2V4dGVybiBjb25zdCBzdHJ1Y3QgbGlieGxfZGV2aWNl X3R5cGUgbGlieGxfX3ZrYl9kZXZ0eXBlOwogZXh0ZXJuIGNvbnN0IHN0cnVjdCBsaWJ4bF9kZXZp Y2VfdHlwZSBsaWJ4bF9fZGlza19kZXZ0eXBlOwogZXh0ZXJuIGNvbnN0IHN0cnVjdCBsaWJ4bF9k ZXZpY2VfdHlwZSBsaWJ4bF9fbmljX2RldnR5cGU7CiBleHRlcm4gY29uc3Qgc3RydWN0IGxpYnhs X2RldmljZV90eXBlIGxpYnhsX192dHBtX2RldnR5cGU7Ci0tIAoyLjcuNAoKCl9fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fClhlbi1kZXZlbCBtYWlsaW5nIGxp c3QKWGVuLWRldmVsQGxpc3RzLnhlbi5vcmcKaHR0cHM6Ly9saXN0cy54ZW4ub3JnL3hlbi1kZXZl bAo=