From mboxrd@z Thu Jan 1 00:00:00 1970 From: Oleksandr Grytsov Subject: [PATCH v6 08/13] libxl: change vfb to use generec add function Date: Tue, 12 Sep 2017 16:48:13 +0300 Message-ID: <1505224098-19330-9-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-0005Vk-N9 for xen-devel@lists.xenproject.org; Tue, 12 Sep 2017 13:48:36 +0000 Received: by mail-lf0-f68.google.com with SMTP id h80so5384068lfe.1 for ; Tue, 12 Sep 2017 06:48:35 -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 bC9saWJ4bF9jb25zb2xlLmMgIHwgNjkgKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0KIHRvb2xzL2xpYnhsL2xpYnhsX2NyZWF0ZS5jICAgfCAgMyArLQogdG9vbHMv bGlieGwvbGlieGxfZG0uYyAgICAgICB8ICA2ICsrLS0KIHRvb2xzL2xpYnhsL2xpYnhsX2ludGVy bmFsLmggfCAgNiArLS0tCiA0IGZpbGVzIGNoYW5nZWQsIDI1IGluc2VydGlvbnMoKyksIDU5IGRl bGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3Rvb2xzL2xpYnhsL2xpYnhsX2NvbnNvbGUuYyBiL3Rv b2xzL2xpYnhsL2xpYnhsX2NvbnNvbGUuYwppbmRleCBlNGEwZGFmLi42ZGNhZDhhIDEwMDY0NAot LS0gYS90b29scy9saWJ4bC9saWJ4bF9jb25zb2xlLmMKKysrIGIvdG9vbHMvbGlieGwvbGlieGxf Y29uc29sZS5jCkBAIC02MDUsNyArNjA1LDggQEAgc3RhdGljIGludCBsaWJ4bF9fZGV2aWNlX2Zy b21fdmtiKGxpYnhsX19nYyAqZ2MsIHVpbnQzMl90IGRvbWlkLAogCiBzdGF0aWMgTElCWExfREVG SU5FX1VQREFURV9ERVZJRCh2a2IsICJ2a2IiKQogCi1pbnQgbGlieGxfX2RldmljZV92ZmJfc2V0 ZGVmYXVsdChsaWJ4bF9fZ2MgKmdjLCBsaWJ4bF9kZXZpY2VfdmZiICp2ZmIpCitzdGF0aWMgaW50 IGxpYnhsX19kZXZpY2VfdmZiX3NldGRlZmF1bHQobGlieGxfX2djICpnYywgdWludDMyX3QgZG9t aWQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlieGxfZGV2aWNl X3ZmYiAqdmZiLCBib29sIGhvdHBsdWcpCiB7CiAgICAgaW50IHJjOwogCkBAIC02NDEsNDcgKzY0 MiwxMyBAQCBzdGF0aWMgaW50IGxpYnhsX19kZXZpY2VfZnJvbV92ZmIobGlieGxfX2djICpnYywg dWludDMyX3QgZG9taWQsCiAgICAgcmV0dXJuIDA7CiB9CiAKLWludCBsaWJ4bF9kZXZpY2VfdmZi X2FkZChsaWJ4bF9jdHggKmN0eCwgdWludDMyX3QgZG9taWQsIGxpYnhsX2RldmljZV92ZmIgKnZm YiwKLSAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBsaWJ4bF9hc3luY29wX2hvdyAqYW9f aG93KQotewotICAgIEFPX0NSRUFURShjdHgsIGRvbWlkLCBhb19ob3cpOwotICAgIGludCByYzsK LQotICAgIHJjID0gbGlieGxfX2RldmljZV92ZmJfYWRkKGdjLCBkb21pZCwgdmZiKTsKLSAgICBp ZiAocmMpIHsKLSAgICAgICAgTE9HRChFUlJPUiwgZG9taWQsICJVbmFibGUgdG8gYWRkIHZmYiBk ZXZpY2UiKTsKLSAgICAgICAgZ290byBvdXQ7Ci0gICAgfQotCi1vdXQ6Ci0gICAgbGlieGxfX2Fv X2NvbXBsZXRlKGVnYywgYW8sIHJjKTsKLSAgICByZXR1cm4gQU9fSU5QUk9HUkVTUzsKLX0KLQog c3RhdGljIExJQlhMX0RFRklORV9VUERBVEVfREVWSUQodmZiLCAidmZiIikKIAotaW50IGxpYnhs X19kZXZpY2VfdmZiX2FkZChsaWJ4bF9fZ2MgKmdjLCB1aW50MzJfdCBkb21pZCwgbGlieGxfZGV2 aWNlX3ZmYiAqdmZiKQorc3RhdGljIGludCBsaWJ4bF9fc2V0X3hlbnN0b3JlX3ZmYihsaWJ4bF9f Z2MgKmdjLCB1aW50MzJfdCBkb21pZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgbGlieGxfZGV2aWNlX3ZmYiAqdmZiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIGZsZXhhcnJheV90ICpiYWNrLCBmbGV4YXJyYXlfdCAqZnJvbnQsCisgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgZmxleGFycmF5X3QgKnJvX2Zyb250KQogewotICAgIGZsZXhh cnJheV90ICpmcm9udDsKLSAgICBmbGV4YXJyYXlfdCAqYmFjazsKLSAgICBsaWJ4bF9fZGV2aWNl IGRldmljZTsKLSAgICBpbnQgcmM7Ci0KLSAgICByYyA9IGxpYnhsX19kZXZpY2VfdmZiX3NldGRl ZmF1bHQoZ2MsIHZmYik7Ci0gICAgaWYgKHJjKSBnb3RvIG91dDsKLQotICAgIGZyb250ID0gZmxl eGFycmF5X21ha2UoZ2MsIDE2LCAxKTsKLSAgICBiYWNrID0gZmxleGFycmF5X21ha2UoZ2MsIDE2 LCAxKTsKLQotICAgIHJjID0gbGlieGxfX2RldmljZV92ZmJfdXBkYXRlX2RldmlkKGdjLCBkb21p ZCwgdmZiKTsKLSAgICBpZiAocmMpIGdvdG8gb3V0OwotCi0gICAgcmMgPSBsaWJ4bF9fZGV2aWNl X2Zyb21fdmZiKGdjLCBkb21pZCwgdmZiLCAmZGV2aWNlKTsKLSAgICBpZiAocmMgIT0gMCkgZ290 byBvdXQ7Ci0KLSAgICBmbGV4YXJyYXlfYXBwZW5kX3BhaXIoYmFjaywgImZyb250ZW5kLWlkIiwg R0NTUFJJTlRGKCIlZCIsIGRvbWlkKSk7Ci0gICAgZmxleGFycmF5X2FwcGVuZF9wYWlyKGJhY2ss ICJvbmxpbmUiLCAiMSIpOwotICAgIGZsZXhhcnJheV9hcHBlbmRfcGFpcihiYWNrLCAic3RhdGUi LCBHQ1NQUklOVEYoIiVkIiwgWGVuYnVzU3RhdGVJbml0aWFsaXNpbmcpKTsKICAgICBmbGV4YXJy YXlfYXBwZW5kX3BhaXIoYmFjaywgInZuYyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgIGxp YnhsX2RlZmJvb2xfdmFsKHZmYi0+dm5jLmVuYWJsZSkgPyAiMSIgOiAiMCIpOwogICAgIGZsZXhh cnJheV9hcHBlbmRfcGFpcihiYWNrLCAidm5jbGlzdGVuIiwgdmZiLT52bmMubGlzdGVuKTsKQEAg LTcwMSwxNyArNjY4LDcgQEAgaW50IGxpYnhsX19kZXZpY2VfdmZiX2FkZChsaWJ4bF9fZ2MgKmdj LCB1aW50MzJfdCBkb21pZCwgbGlieGxfZGV2aWNlX3ZmYiAqdmZiKQogICAgICAgICBmbGV4YXJy YXlfYXBwZW5kX3BhaXIoYmFjaywgImRpc3BsYXkiLCB2ZmItPnNkbC5kaXNwbGF5KTsKICAgICB9 CiAKLSAgICBmbGV4YXJyYXlfYXBwZW5kX3BhaXIoZnJvbnQsICJiYWNrZW5kLWlkIiwKLSAgICAg ICAgICAgICAgICAgICAgICAgICAgR0NTUFJJTlRGKCIlZCIsIHZmYi0+YmFja2VuZF9kb21pZCkp OwotICAgIGZsZXhhcnJheV9hcHBlbmRfcGFpcihmcm9udCwgInN0YXRlIiwgR0NTUFJJTlRGKCIl ZCIsIFhlbmJ1c1N0YXRlSW5pdGlhbGlzaW5nKSk7Ci0KLSAgICBsaWJ4bF9fZGV2aWNlX2dlbmVy aWNfYWRkKGdjLCBYQlRfTlVMTCwgJmRldmljZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIGxpYnhsX194c19rdnNfb2ZfZmxleGFycmF5KGdjLCBiYWNrKSwKLSAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIGxpYnhsX194c19rdnNfb2ZfZmxleGFycmF5KGdjLCBmcm9udCksCi0g ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOVUxMKTsKLSAgICByYyA9IDA7Ci1vdXQ6Ci0g ICAgcmV0dXJuIHJjOworICAgIHJldHVybiAwOwogfQogCiAvKiBUaGUgZm9sbG93aW5nIGZ1bmN0 aW9ucyBhcmUgZGVmaW5lZDoKQEAgLTczNyw5ICs2OTQsMjEgQEAgREVGSU5FX0RFVklDRV9UWVBF X1NUUlVDVCh2a2IsCiAgICAgLnNraXBfYXR0YWNoID0gMQogKTsKIAorI2RlZmluZSBsaWJ4bF9f YWRkX3ZmYnMgTlVMTAorI2RlZmluZSBsaWJ4bF9kZXZpY2VfdmZiX2xpc3QgTlVMTAorI2RlZmlu ZSBsaWJ4bF9kZXZpY2VfdmZiX2NvbXBhcmUgTlVMTAorCiAvKiB2ZmIgKi8KIExJQlhMX0RFRklO RV9ERVZJQ0VfUkVNT1ZFKHZmYikKIAorREVGSU5FX0RFVklDRV9UWVBFX1NUUlVDVCh2ZmIsCisg ICAgLnNraXBfYXR0YWNoID0gMSwKKyAgICAuc2V0X3hlbnN0b3JlX2NvbmZpZyA9IChpbnQgKCop KGxpYnhsX19nYyAqLCB1aW50MzJfdCwgdm9pZCAqLAorICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgZmxleGFycmF5X3QgKmJhY2ssIGZsZXhhcnJheV90ICpmcm9udCwKKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZsZXhhcnJheV90ICpyb19mcm9udCkpCisg ICAgICAgICAgICAgICAgICAgICAgICAgICBsaWJ4bF9fc2V0X3hlbnN0b3JlX3ZmYgorKTsKKwog bGlieGxfeGVuX2NvbnNvbGVfcmVhZGVyICoKICAgICBsaWJ4bF94ZW5fY29uc29sZV9yZWFkX3N0 YXJ0KGxpYnhsX2N0eCAqY3R4LCBpbnQgY2xlYXIpCiB7CmRpZmYgLS1naXQgYS90b29scy9saWJ4 bC9saWJ4bF9jcmVhdGUuYyBiL3Rvb2xzL2xpYnhsL2xpYnhsX2NyZWF0ZS5jCmluZGV4IDhjMGMx MmQuLjcwMDQ4ZmUgMTAwNjQ0Ci0tLSBhL3Rvb2xzL2xpYnhsL2xpYnhsX2NyZWF0ZS5jCisrKyBi L3Rvb2xzL2xpYnhsL2xpYnhsX2NyZWF0ZS5jCkBAIC0xMzc0LDcgKzEzNzQsOCBAQCBzdGF0aWMg dm9pZCBkb21jcmVhdGVfbGF1bmNoX2RtKGxpYnhsX19lZ2MgKmVnYywgbGlieGxfX211bHRpZGV2 ICptdWx0aWRldiwKICAgICAgICAgbGlieGxfX2RldmljZSBkZXZpY2U7CiAKICAgICAgICAgZm9y IChpID0gMDsgaSA8IGRfY29uZmlnLT5udW1fdmZiczsgaSsrKSB7Ci0gICAgICAgICAgICBsaWJ4 bF9fZGV2aWNlX3ZmYl9hZGQoZ2MsIGRvbWlkLCAmZF9jb25maWctPnZmYnNbaV0pOworICAgICAg ICAgICAgbGlieGxfX2RldmljZV9hZGQoZ2MsIGRvbWlkLCAmbGlieGxfX3ZmYl9kZXZ0eXBlLAor ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJmRfY29uZmlnLT52ZmJzW2ldKTsKICAgICAg ICAgICAgIGxpYnhsX19kZXZpY2VfYWRkKGdjLCBkb21pZCwgJmxpYnhsX192a2JfZGV2dHlwZSwK ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZkX2NvbmZpZy0+dmtic1tpXSk7CiAgICAg ICAgIH0KZGlmZiAtLWdpdCBhL3Rvb2xzL2xpYnhsL2xpYnhsX2RtLmMgYi90b29scy9saWJ4bC9s aWJ4bF9kbS5jCmluZGV4IDA3MTJhMzQuLjI3NWZhYmMgMTAwNjQ0Ci0tLSBhL3Rvb2xzL2xpYnhs L2xpYnhsX2RtLmMKKysrIGIvdG9vbHMvbGlieGwvbGlieGxfZG0uYwpAQCAtMTk4MSw5ICsxOTgx LDkgQEAgc3RhdGljIHZvaWQgc3Bhd25fc3R1Yl9sYXVuY2hfZG0obGlieGxfX2VnYyAqZWdjLAog ICAgICAgICAgICAgZ290byBvdXQ7CiAgICAgfQogICAgIGlmIChkbV9jb25maWctPm51bV92ZmJz KSB7Ci0gICAgICAgIHJldCA9IGxpYnhsX19kZXZpY2VfdmZiX2FkZChnYywgZG1fZG9taWQsICZk bV9jb25maWctPnZmYnNbMF0pOwotICAgICAgICBpZiAocmV0KQotICAgICAgICAgICAgZ290byBv dXQ7CisgICAgICAgIHJldCA9IGxpYnhsX19kZXZpY2VfYWRkKGdjLCBkbV9kb21pZCwgJmxpYnhs X192ZmJfZGV2dHlwZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJmRtX2NvbmZp Zy0+dmZic1swXSk7CisgICAgICAgIGlmIChyZXQpIGdvdG8gb3V0OwogICAgIH0KICAgICBpZiAo ZG1fY29uZmlnLT5udW1fdmticykgewogICAgICAgICByZXQgPSBsaWJ4bF9fZGV2aWNlX2FkZChn YywgZG1fZG9taWQsICZsaWJ4bF9fdmtiX2RldnR5cGUsCmRpZmYgLS1naXQgYS90b29scy9saWJ4 bC9saWJ4bF9pbnRlcm5hbC5oIGIvdG9vbHMvbGlieGwvbGlieGxfaW50ZXJuYWwuaAppbmRleCBj MmVmNjdmLi42YjIxODEyIDEwMDY0NAotLS0gYS90b29scy9saWJ4bC9saWJ4bF9pbnRlcm5hbC5o CisrKyBiL3Rvb2xzL2xpYnhsL2xpYnhsX2ludGVybmFsLmgKQEAgLTEyNDcsNyArMTI0Nyw2IEBA IF9oaWRkZW4gaW50IGxpYnhsX19kZXZpY2VfZGlza19zZXRkZWZhdWx0KGxpYnhsX19nYyAqZ2Ms IHVpbnQzMl90IGRvbWlkLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgYm9vbCBob3RwbHVnKTsKIF9oaWRkZW4gaW50IGxpYnhsX19kZXZpY2VfbmljX3NldGRlZmF1 bHQobGlieGxfX2djICpnYywgdWludDMyX3QgZG9taWQsCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIGxpYnhsX2RldmljZV9uaWMgKm5pYywgYm9vbCBob3RwbHVnKTsK LV9oaWRkZW4gaW50IGxpYnhsX19kZXZpY2VfdmZiX3NldGRlZmF1bHQobGlieGxfX2djICpnYywg bGlieGxfZGV2aWNlX3ZmYiAqdmZiKTsKIF9oaWRkZW4gdm9pZCBsaWJ4bF9fcmRtX3NldGRlZmF1 bHQobGlieGxfX2djICpnYywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGli eGxfZG9tYWluX2J1aWxkX2luZm8gKmJfaW5mbyk7CiAKQEAgLTI2NTYsMTAgKzI2NTUsNiBAQCBz dHJ1Y3QgbGlieGxfX211bHRpZGV2IHsKICAqIGl0J3MgYSB2YWxpZCBzdGF0ZS4KICAqLwogCi0v KiBJbnRlcm5hbCBmdW5jdGlvbiB0byBjb25uZWN0IGEgdmZiIGRldmljZSAqLwotX2hpZGRlbiBp bnQgbGlieGxfX2RldmljZV92ZmJfYWRkKGxpYnhsX19nYyAqZ2MsIHVpbnQzMl90IGRvbWlkLAot ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpYnhsX2RldmljZV92ZmIgKnZmYik7 Ci0KIC8qIFdhaXRzIGZvciB0aGUgcGFzc2VkIGRldmljZSB0byByZWFjaCBzdGF0ZSBYZW5idXNT dGF0ZUluaXRXYWl0LgogICogVGhpcyBpcyBub3QgcmVhbGx5IHVzZWZ1bCBieSBpdHNlbGYsIGJ1 dCBpcyBpbXBvcnRhbnQgd2hlbiBleGVjdXRpbmcKICAqIGhvdHBsdWcgc2NyaXB0cywgc2luY2Ug d2UgbmVlZCB0byBiZSBzdXJlIHRoZSBkZXZpY2UgaXMgaW4gdGhlIGNvcnJlY3QKQEAgLTM1NDYs NiArMzU0MSw3IEBAIHN0YXRpYyBpbmxpbmUgaW50ICpsaWJ4bF9fZGV2aWNlX3R5cGVfZ2V0X251 bSgKICAgICByZXR1cm4gKGludCAqKSgodm9pZCAqKWRfY29uZmlnICsgZHQtPm51bV9vZmZzZXQp OwogfQogCitleHRlcm4gY29uc3Qgc3RydWN0IGxpYnhsX2RldmljZV90eXBlIGxpYnhsX192ZmJf ZGV2dHlwZTsKIGV4dGVybiBjb25zdCBzdHJ1Y3QgbGlieGxfZGV2aWNlX3R5cGUgbGlieGxfX3Zr Yl9kZXZ0eXBlOwogZXh0ZXJuIGNvbnN0IHN0cnVjdCBsaWJ4bF9kZXZpY2VfdHlwZSBsaWJ4bF9f ZGlza19kZXZ0eXBlOwogZXh0ZXJuIGNvbnN0IHN0cnVjdCBsaWJ4bF9kZXZpY2VfdHlwZSBsaWJ4 bF9fbmljX2RldnR5cGU7Ci0tIAoyLjcuNAoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fClhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3Rz Lnhlbi5vcmcKaHR0cHM6Ly9saXN0cy54ZW4ub3JnL3hlbi1kZXZlbAo=