From mboxrd@z Thu Jan 1 00:00:00 1970 From: Oleksandr Grytsov Subject: [PATCH v6 07/13] libxl: change vkb to use generec add function Date: Tue, 12 Sep 2017 16:48:12 +0300 Message-ID: <1505224098-19330-8-git-send-email-al1img@gmail.com> References: <1505224098-19330-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 1drlYK-0005Vd-F0 for xen-devel@lists.xenproject.org; Tue, 12 Sep 2017 13:48:36 +0000 Received: by mail-lf0-f65.google.com with SMTP id l196so5390565lfl.3 for ; Tue, 12 Sep 2017 06:48:33 -0700 (PDT) In-Reply-To: <1505224098-19330-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 PgpBY2tlZC1ieTogV2VpIExpdSA8d2VpLmxpdTJAY2l0cml4LmNvbT4KLS0tCiB0b29scy9saWJ4 bC9saWJ4bF9jb25zb2xlLmMgIHwgNzQgKysrKysrKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0KIHRvb2xzL2xpYnhsL2xpYnhsX2NyZWF0ZS5jICAgfCAgNSArLS0KIHRvb2xz L2xpYnhsL2xpYnhsX2RtLmMgICAgICAgfCAgNiArKy0tCiB0b29scy9saWJ4bC9saWJ4bF9pbnRl cm5hbC5oIHwgIDYgKy0tLQogNCBmaWxlcyBjaGFuZ2VkLCAxOSBpbnNlcnRpb25zKCspLCA3MiBk ZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS90b29scy9saWJ4bC9saWJ4bF9jb25zb2xlLmMgYi90 b29scy9saWJ4bC9saWJ4bF9jb25zb2xlLmMKaW5kZXggNjE4MWIwNS4uZTRhMGRhZiAxMDA2NDQK LS0tIGEvdG9vbHMvbGlieGwvbGlieGxfY29uc29sZS5jCisrKyBiL3Rvb2xzL2xpYnhsL2xpYnhs X2NvbnNvbGUuYwpAQCAtNTgzLDExICs1ODMsMTAgQEAgaW50IGxpYnhsX2RldmljZV9jaGFubmVs X2dldGluZm8obGlieGxfY3R4ICpjdHgsIHVpbnQzMl90IGRvbWlkLAogICAgIHJldHVybiByYzsK IH0KIAotaW50IGxpYnhsX19kZXZpY2VfdmtiX3NldGRlZmF1bHQobGlieGxfX2djICpnYywgbGli eGxfZGV2aWNlX3ZrYiAqdmtiKQorc3RhdGljIGludCBsaWJ4bF9fZGV2aWNlX3ZrYl9zZXRkZWZh dWx0KGxpYnhsX19nYyAqZ2MsIHVpbnQzMl90IGRvbWlkLAorICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIGxpYnhsX2RldmljZV92a2IgKnZrYiwgYm9vbCBob3RwbHVnKQog ewotICAgIGludCByYzsKLSAgICByYyA9IGxpYnhsX19yZXNvbHZlX2RvbWlkKGdjLCB2a2ItPmJh Y2tlbmRfZG9tbmFtZSwgJnZrYi0+YmFja2VuZF9kb21pZCk7Ci0gICAgcmV0dXJuIHJjOworICAg IHJldHVybiBsaWJ4bF9fcmVzb2x2ZV9kb21pZChnYywgdmtiLT5iYWNrZW5kX2RvbW5hbWUsICZ2 a2ItPmJhY2tlbmRfZG9taWQpOwogfQogCiBzdGF0aWMgaW50IGxpYnhsX19kZXZpY2VfZnJvbV92 a2IobGlieGxfX2djICpnYywgdWludDMyX3QgZG9taWQsCkBAIC02MDQsNjYgKzYwMyw4IEBAIHN0 YXRpYyBpbnQgbGlieGxfX2RldmljZV9mcm9tX3ZrYihsaWJ4bF9fZ2MgKmdjLCB1aW50MzJfdCBk b21pZCwKICAgICByZXR1cm4gMDsKIH0KIAotaW50IGxpYnhsX2RldmljZV92a2JfYWRkKGxpYnhs X2N0eCAqY3R4LCB1aW50MzJfdCBkb21pZCwgbGlieGxfZGV2aWNlX3ZrYiAqdmtiLAotICAgICAg ICAgICAgICAgICAgICAgICAgIGNvbnN0IGxpYnhsX2FzeW5jb3BfaG93ICphb19ob3cpCi17Ci0g ICAgQU9fQ1JFQVRFKGN0eCwgZG9taWQsIGFvX2hvdyk7Ci0gICAgaW50IHJjOwotCi0gICAgcmMg PSBsaWJ4bF9fZGV2aWNlX3ZrYl9hZGQoZ2MsIGRvbWlkLCB2a2IpOwotICAgIGlmIChyYykgewot ICAgICAgICBMT0dEKEVSUk9SLCBkb21pZCwgIlVuYWJsZSB0byBhZGQgdmtiIGRldmljZSIpOwot ICAgICAgICBnb3RvIG91dDsKLSAgICB9Ci0KLW91dDoKLSAgICBsaWJ4bF9fYW9fY29tcGxldGUo ZWdjLCBhbywgcmMpOwotICAgIHJldHVybiBBT19JTlBST0dSRVNTOwotfQotCiBzdGF0aWMgTElC WExfREVGSU5FX1VQREFURV9ERVZJRCh2a2IsICJ2a2IiKQogCi1pbnQgbGlieGxfX2RldmljZV92 a2JfYWRkKGxpYnhsX19nYyAqZ2MsIHVpbnQzMl90IGRvbWlkLAotICAgICAgICAgICAgICAgICAg ICAgICAgICBsaWJ4bF9kZXZpY2VfdmtiICp2a2IpCi17Ci0gICAgZmxleGFycmF5X3QgKmZyb250 OwotICAgIGZsZXhhcnJheV90ICpiYWNrOwotICAgIGxpYnhsX19kZXZpY2UgZGV2aWNlOwotICAg IGludCByYzsKLQotICAgIHJjID0gbGlieGxfX2RldmljZV92a2Jfc2V0ZGVmYXVsdChnYywgdmti KTsKLSAgICBpZiAocmMpIGdvdG8gb3V0OwotCi0gICAgZnJvbnQgPSBmbGV4YXJyYXlfbWFrZShn YywgMTYsIDEpOwotICAgIGJhY2sgPSBmbGV4YXJyYXlfbWFrZShnYywgMTYsIDEpOwotCi0gICAg cmMgPSBsaWJ4bF9fZGV2aWNlX3ZrYl91cGRhdGVfZGV2aWQoZ2MsIGRvbWlkLCB2a2IpOwotICAg IGlmIChyYykgZ290byBvdXQ7Ci0KLSAgICByYyA9IGxpYnhsX19kZXZpY2VfZnJvbV92a2IoZ2Ms IGRvbWlkLCB2a2IsICZkZXZpY2UpOwotICAgIGlmIChyYyAhPSAwKSBnb3RvIG91dDsKLQotICAg IGZsZXhhcnJheV9hcHBlbmQoYmFjaywgImZyb250ZW5kLWlkIik7Ci0gICAgZmxleGFycmF5X2Fw cGVuZChiYWNrLCBHQ1NQUklOVEYoIiVkIiwgZG9taWQpKTsKLSAgICBmbGV4YXJyYXlfYXBwZW5k KGJhY2ssICJvbmxpbmUiKTsKLSAgICBmbGV4YXJyYXlfYXBwZW5kKGJhY2ssICIxIik7Ci0gICAg ZmxleGFycmF5X2FwcGVuZChiYWNrLCAic3RhdGUiKTsKLSAgICBmbGV4YXJyYXlfYXBwZW5kKGJh Y2ssIEdDU1BSSU5URigiJWQiLCBYZW5idXNTdGF0ZUluaXRpYWxpc2luZykpOwotCi0gICAgZmxl eGFycmF5X2FwcGVuZChmcm9udCwgImJhY2tlbmQtaWQiKTsKLSAgICBmbGV4YXJyYXlfYXBwZW5k KGZyb250LCBHQ1NQUklOVEYoIiVkIiwgdmtiLT5iYWNrZW5kX2RvbWlkKSk7Ci0gICAgZmxleGFy cmF5X2FwcGVuZChmcm9udCwgInN0YXRlIik7Ci0gICAgZmxleGFycmF5X2FwcGVuZChmcm9udCwg R0NTUFJJTlRGKCIlZCIsIFhlbmJ1c1N0YXRlSW5pdGlhbGlzaW5nKSk7Ci0KLSAgICBsaWJ4bF9f ZGV2aWNlX2dlbmVyaWNfYWRkKGdjLCBYQlRfTlVMTCwgJmRldmljZSwKLSAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIGxpYnhsX194c19rdnNfb2ZfZmxleGFycmF5KGdjLCBiYWNrKSwKLSAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpYnhsX194c19rdnNfb2ZfZmxleGFycmF5KGdj LCBmcm9udCksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOVUxMKTsKLSAgICByYyA9 IDA7Ci1vdXQ6Ci0gICAgcmV0dXJuIHJjOwotfQotCiBpbnQgbGlieGxfX2RldmljZV92ZmJfc2V0 ZGVmYXVsdChsaWJ4bF9fZ2MgKmdjLCBsaWJ4bF9kZXZpY2VfdmZiICp2ZmIpCiB7CiAgICAgaW50 IHJjOwpAQCAtNzg1LDggKzcyNiwxNyBAQCBvdXQ6CiAgKiAyLiBkeW5hbWljYWxseSBhZGQvcmVt b3ZlIHFlbXUgY2hhcmRldnMgdmlhIHFtcCBtZXNzYWdlcy4gKi8KIAogLyogdmtiICovCisKKyNk ZWZpbmUgbGlieGxfX2FkZF92a2JzIE5VTEwKKyNkZWZpbmUgbGlieGxfZGV2aWNlX3ZrYl9saXN0 IE5VTEwKKyNkZWZpbmUgbGlieGxfZGV2aWNlX3ZrYl9jb21wYXJlIE5VTEwKKwogTElCWExfREVG SU5FX0RFVklDRV9SRU1PVkUodmtiKQogCitERUZJTkVfREVWSUNFX1RZUEVfU1RSVUNUKHZrYiwK KyAgICAuc2tpcF9hdHRhY2ggPSAxCispOworCiAvKiB2ZmIgKi8KIExJQlhMX0RFRklORV9ERVZJ Q0VfUkVNT1ZFKHZmYikKIApkaWZmIC0tZ2l0IGEvdG9vbHMvbGlieGwvbGlieGxfY3JlYXRlLmMg Yi90b29scy9saWJ4bC9saWJ4bF9jcmVhdGUuYwppbmRleCAyNmFhMmE0Li44YzBjMTJkIDEwMDY0 NAotLS0gYS90b29scy9saWJ4bC9saWJ4bF9jcmVhdGUuYworKysgYi90b29scy9saWJ4bC9saWJ4 bF9jcmVhdGUuYwpAQCAtMTM0OSw3ICsxMzQ5LDcgQEAgc3RhdGljIHZvaWQgZG9tY3JlYXRlX2xh dW5jaF9kbShsaWJ4bF9fZWdjICplZ2MsIGxpYnhsX19tdWx0aWRldiAqbXVsdGlkZXYsCiAgICAg ICAgIH0KIAogICAgICAgICBsaWJ4bF9kZXZpY2VfdmtiX2luaXQoJnZrYik7Ci0gICAgICAgIGxp YnhsX19kZXZpY2VfdmtiX2FkZChnYywgZG9taWQsICZ2a2IpOworICAgICAgICBsaWJ4bF9fZGV2 aWNlX2FkZChnYywgZG9taWQsICZsaWJ4bF9fdmtiX2RldnR5cGUsICZ2a2IpOwogICAgICAgICBs aWJ4bF9kZXZpY2VfdmtiX2Rpc3Bvc2UoJnZrYik7CiAKICAgICAgICAgZGNzLT5zZHNzLmRtLmd1 ZXN0X2RvbWlkID0gZG9taWQ7CkBAIC0xMzc1LDcgKzEzNzUsOCBAQCBzdGF0aWMgdm9pZCBkb21j cmVhdGVfbGF1bmNoX2RtKGxpYnhsX19lZ2MgKmVnYywgbGlieGxfX211bHRpZGV2ICptdWx0aWRl diwKIAogICAgICAgICBmb3IgKGkgPSAwOyBpIDwgZF9jb25maWctPm51bV92ZmJzOyBpKyspIHsK ICAgICAgICAgICAgIGxpYnhsX19kZXZpY2VfdmZiX2FkZChnYywgZG9taWQsICZkX2NvbmZpZy0+ dmZic1tpXSk7Ci0gICAgICAgICAgICBsaWJ4bF9fZGV2aWNlX3ZrYl9hZGQoZ2MsIGRvbWlkLCAm ZF9jb25maWctPnZrYnNbaV0pOworICAgICAgICAgICAgbGlieGxfX2RldmljZV9hZGQoZ2MsIGRv bWlkLCAmbGlieGxfX3ZrYl9kZXZ0eXBlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg JmRfY29uZmlnLT52a2JzW2ldKTsKICAgICAgICAgfQogCiAgICAgICAgIGluaXRfY29uc29sZV9p bmZvKGdjLCAmY29uc29sZSwgMCk7CmRpZmYgLS1naXQgYS90b29scy9saWJ4bC9saWJ4bF9kbS5j IGIvdG9vbHMvbGlieGwvbGlieGxfZG0uYwppbmRleCBlZTIwOTMwLi4wNzEyYTM0IDEwMDY0NAot LS0gYS90b29scy9saWJ4bC9saWJ4bF9kbS5jCisrKyBiL3Rvb2xzL2xpYnhsL2xpYnhsX2RtLmMK QEAgLTE5ODYsOSArMTk4Niw5IEBAIHN0YXRpYyB2b2lkIHNwYXduX3N0dWJfbGF1bmNoX2RtKGxp YnhsX19lZ2MgKmVnYywKICAgICAgICAgICAgIGdvdG8gb3V0OwogICAgIH0KICAgICBpZiAoZG1f Y29uZmlnLT5udW1fdmticykgewotICAgICAgICByZXQgPSBsaWJ4bF9fZGV2aWNlX3ZrYl9hZGQo Z2MsIGRtX2RvbWlkLCAmZG1fY29uZmlnLT52a2JzWzBdKTsKLSAgICAgICAgaWYgKHJldCkKLSAg ICAgICAgICAgIGdvdG8gb3V0OworICAgICAgICByZXQgPSBsaWJ4bF9fZGV2aWNlX2FkZChnYywg ZG1fZG9taWQsICZsaWJ4bF9fdmtiX2RldnR5cGUsCisgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICZkbV9jb25maWctPnZrYnNbMF0pOworICAgICAgICBpZiAocmV0KSBnb3RvIG91dDsK ICAgICB9CiAKICAgICBpZiAoZ3Vlc3RfY29uZmlnLT5iX2luZm8udS5odm0uc2VyaWFsKQpkaWZm IC0tZ2l0IGEvdG9vbHMvbGlieGwvbGlieGxfaW50ZXJuYWwuaCBiL3Rvb2xzL2xpYnhsL2xpYnhs X2ludGVybmFsLmgKaW5kZXggODdmNmQzMi4uYzJlZjY3ZiAxMDA2NDQKLS0tIGEvdG9vbHMvbGli eGwvbGlieGxfaW50ZXJuYWwuaAorKysgYi90b29scy9saWJ4bC9saWJ4bF9pbnRlcm5hbC5oCkBA IC0xMjQ4LDcgKzEyNDgsNiBAQCBfaGlkZGVuIGludCBsaWJ4bF9fZGV2aWNlX2Rpc2tfc2V0ZGVm YXVsdChsaWJ4bF9fZ2MgKmdjLCB1aW50MzJfdCBkb21pZCwKIF9oaWRkZW4gaW50IGxpYnhsX19k ZXZpY2VfbmljX3NldGRlZmF1bHQobGlieGxfX2djICpnYywgdWludDMyX3QgZG9taWQsCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpYnhsX2RldmljZV9uaWMgKm5p YywgYm9vbCBob3RwbHVnKTsKIF9oaWRkZW4gaW50IGxpYnhsX19kZXZpY2VfdmZiX3NldGRlZmF1 bHQobGlieGxfX2djICpnYywgbGlieGxfZGV2aWNlX3ZmYiAqdmZiKTsKLV9oaWRkZW4gaW50IGxp YnhsX19kZXZpY2VfdmtiX3NldGRlZmF1bHQobGlieGxfX2djICpnYywgbGlieGxfZGV2aWNlX3Zr YiAqdmtiKTsKIF9oaWRkZW4gdm9pZCBsaWJ4bF9fcmRtX3NldGRlZmF1bHQobGlieGxfX2djICpn YywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlieGxfZG9tYWluX2J1aWxk X2luZm8gKmJfaW5mbyk7CiAKQEAgLTI2NTcsMTAgKzI2NTYsNiBAQCBzdHJ1Y3QgbGlieGxfX211 bHRpZGV2IHsKICAqIGl0J3MgYSB2YWxpZCBzdGF0ZS4KICAqLwogCi0vKiBJbnRlcm5hbCBmdW5j dGlvbiB0byBjb25uZWN0IGEgdmtiIGRldmljZSAqLwotX2hpZGRlbiBpbnQgbGlieGxfX2Rldmlj ZV92a2JfYWRkKGxpYnhsX19nYyAqZ2MsIHVpbnQzMl90IGRvbWlkLAotICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIGxpYnhsX2RldmljZV92a2IgKnZrYik7Ci0KIC8qIEludGVybmFs IGZ1bmN0aW9uIHRvIGNvbm5lY3QgYSB2ZmIgZGV2aWNlICovCiBfaGlkZGVuIGludCBsaWJ4bF9f ZGV2aWNlX3ZmYl9hZGQobGlieGxfX2djICpnYywgdWludDMyX3QgZG9taWQsCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgbGlieGxfZGV2aWNlX3ZmYiAqdmZiKTsKQEAgLTM1NTEs NiArMzU0Niw3IEBAIHN0YXRpYyBpbmxpbmUgaW50ICpsaWJ4bF9fZGV2aWNlX3R5cGVfZ2V0X251 bSgKICAgICByZXR1cm4gKGludCAqKSgodm9pZCAqKWRfY29uZmlnICsgZHQtPm51bV9vZmZzZXQp OwogfQogCitleHRlcm4gY29uc3Qgc3RydWN0IGxpYnhsX2RldmljZV90eXBlIGxpYnhsX192a2Jf ZGV2dHlwZTsKIGV4dGVybiBjb25zdCBzdHJ1Y3QgbGlieGxfZGV2aWNlX3R5cGUgbGlieGxfX2Rp c2tfZGV2dHlwZTsKIGV4dGVybiBjb25zdCBzdHJ1Y3QgbGlieGxfZGV2aWNlX3R5cGUgbGlieGxf X25pY19kZXZ0eXBlOwogZXh0ZXJuIGNvbnN0IHN0cnVjdCBsaWJ4bF9kZXZpY2VfdHlwZSBsaWJ4 bF9fdnRwbV9kZXZ0eXBlOwotLSAKMi43LjQKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fXwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0 cy54ZW4ub3JnCmh0dHBzOi8vbGlzdHMueGVuLm9yZy94ZW4tZGV2ZWwK