From mboxrd@z Thu Jan 1 00:00:00 1970 From: Oleksandr Grytsov Subject: [PATCH v4 08/13] libxl: change vfb to use generec add function Date: Tue, 18 Jul 2017 17:25:25 +0300 Message-ID: <1500387930-16317-9-git-send-email-al1img@gmail.com> References: <1500387930-16317-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 1dXTRe-0002b0-OP for xen-devel@lists.xenproject.org; Tue, 18 Jul 2017 14:25:50 +0000 Received: by mail-lf0-f67.google.com with SMTP id p11so1998243lfd.1 for ; Tue, 18 Jul 2017 07:25:49 -0700 (PDT) In-Reply-To: <1500387930-16317-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 PgotLS0KIHRvb2xzL2xpYnhsL2xpYnhsX2NvbnNvbGUuYyAgfCA3NCArKysrKysrKysrKystLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogdG9vbHMvbGlieGwvbGlieGxfY3JlYXRlLmMg ICB8ICAzICstCiB0b29scy9saWJ4bC9saWJ4bF9kbS5jICAgICAgIHwgIDMgKy0KIHRvb2xzL2xp YnhsL2xpYnhsX2ludGVybmFsLmggfCAgNiArLS0tCiA0IGZpbGVzIGNoYW5nZWQsIDI1IGluc2Vy dGlvbnMoKyksIDYxIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3Rvb2xzL2xpYnhsL2xpYnhs X2NvbnNvbGUuYyBiL3Rvb2xzL2xpYnhsL2xpYnhsX2NvbnNvbGUuYwppbmRleCA0OGZjY2VjLi40 YWFlODJjIDEwMDY0NAotLS0gYS90b29scy9saWJ4bC9saWJ4bF9jb25zb2xlLmMKKysrIGIvdG9v bHMvbGlieGwvbGlieGxfY29uc29sZS5jCkBAIC02MDMsNyArNjAzLDggQEAgc3RhdGljIGludCBs aWJ4bF9fZGV2aWNlX2Zyb21fdmtiKGxpYnhsX19nYyAqZ2MsIHVpbnQzMl90IGRvbWlkLAogICAg IHJldHVybiAwOwogfQogCi1pbnQgbGlieGxfX2RldmljZV92ZmJfc2V0ZGVmYXVsdChsaWJ4bF9f Z2MgKmdjLCBsaWJ4bF9kZXZpY2VfdmZiICp2ZmIpCitzdGF0aWMgaW50IGxpYnhsX19kZXZpY2Vf dmZiX3NldGRlZmF1bHQobGlieGxfX2djICpnYywgdWludDMyX3QgZG9taWQsCisgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlieGxfZGV2aWNlX3ZmYiAqdmZiLCBib29s IGhvdHBsdWcpCiB7CiAgICAgaW50IHJjOwogCkBAIC02MzksNDkgKzY0MCwxMSBAQCBzdGF0aWMg aW50IGxpYnhsX19kZXZpY2VfZnJvbV92ZmIobGlieGxfX2djICpnYywgdWludDMyX3QgZG9taWQs CiAgICAgcmV0dXJuIDA7CiB9CiAKLWludCBsaWJ4bF9kZXZpY2VfdmZiX2FkZChsaWJ4bF9jdHgg KmN0eCwgdWludDMyX3QgZG9taWQsIGxpYnhsX2RldmljZV92ZmIgKnZmYiwKLSAgICAgICAgICAg ICAgICAgICAgICAgICBjb25zdCBsaWJ4bF9hc3luY29wX2hvdyAqYW9faG93KQorc3RhdGljIGlu dCBsaWJ4bF9fc2V0X3hlbnN0b3JlX3ZmYihsaWJ4bF9fZ2MgKmdjLCB1aW50MzJfdCBkb21pZCwK KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlieGxfZGV2aWNlX3ZmYiAqdmZi LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZsZXhhcnJheV90ICpiYWNrLCBm bGV4YXJyYXlfdCAqZnJvbnQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmxl eGFycmF5X3QgKnJvX2Zyb250KQogewotICAgIEFPX0NSRUFURShjdHgsIGRvbWlkLCBhb19ob3cp OwotICAgIGludCByYzsKLQotICAgIHJjID0gbGlieGxfX2RldmljZV92ZmJfYWRkKGdjLCBkb21p ZCwgdmZiKTsKLSAgICBpZiAocmMpIHsKLSAgICAgICAgTE9HRChFUlJPUiwgZG9taWQsICJVbmFi bGUgdG8gYWRkIHZmYiBkZXZpY2UiKTsKLSAgICAgICAgZ290byBvdXQ7Ci0gICAgfQotCi1vdXQ6 Ci0gICAgbGlieGxfX2FvX2NvbXBsZXRlKGVnYywgYW8sIHJjKTsKLSAgICByZXR1cm4gQU9fSU5Q Uk9HUkVTUzsKLX0KLQotaW50IGxpYnhsX19kZXZpY2VfdmZiX2FkZChsaWJ4bF9fZ2MgKmdjLCB1 aW50MzJfdCBkb21pZCwgbGlieGxfZGV2aWNlX3ZmYiAqdmZiKQotewotICAgIGZsZXhhcnJheV90 ICpmcm9udDsKLSAgICBmbGV4YXJyYXlfdCAqYmFjazsKLSAgICBsaWJ4bF9fZGV2aWNlIGRldmlj ZTsKLSAgICBpbnQgcmM7Ci0KLSAgICByYyA9IGxpYnhsX19kZXZpY2VfdmZiX3NldGRlZmF1bHQo Z2MsIHZmYik7Ci0gICAgaWYgKHJjKSBnb3RvIG91dDsKLQotICAgIGZyb250ID0gZmxleGFycmF5 X21ha2UoZ2MsIDE2LCAxKTsKLSAgICBiYWNrID0gZmxleGFycmF5X21ha2UoZ2MsIDE2LCAxKTsK LQotICAgIGlmICh2ZmItPmRldmlkID09IC0xKSB7Ci0gICAgICAgIGlmICgodmZiLT5kZXZpZCA9 IGxpYnhsX19kZXZpY2VfbmV4dGlkKGdjLCBkb21pZCwgInZmYiIpKSA8IDApIHsKLSAgICAgICAg ICAgIHJjID0gRVJST1JfRkFJTDsKLSAgICAgICAgICAgIGdvdG8gb3V0OwotICAgICAgICB9Ci0g ICAgfQotCi0gICAgcmMgPSBsaWJ4bF9fZGV2aWNlX2Zyb21fdmZiKGdjLCBkb21pZCwgdmZiLCAm ZGV2aWNlKTsKLSAgICBpZiAocmMgIT0gMCkgZ290byBvdXQ7Ci0KLSAgICBmbGV4YXJyYXlfYXBw ZW5kX3BhaXIoYmFjaywgImZyb250ZW5kLWlkIiwgR0NTUFJJTlRGKCIlZCIsIGRvbWlkKSk7Ci0g ICAgZmxleGFycmF5X2FwcGVuZF9wYWlyKGJhY2ssICJvbmxpbmUiLCAiMSIpOwotICAgIGZsZXhh cnJheV9hcHBlbmRfcGFpcihiYWNrLCAic3RhdGUiLCBHQ1NQUklOVEYoIiVkIiwgWGVuYnVzU3Rh dGVJbml0aWFsaXNpbmcpKTsKICAgICBmbGV4YXJyYXlfYXBwZW5kX3BhaXIoYmFjaywgInZuYyIs CiAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpYnhsX2RlZmJvb2xfdmFsKHZmYi0+dm5jLmVu YWJsZSkgPyAiMSIgOiAiMCIpOwogICAgIGZsZXhhcnJheV9hcHBlbmRfcGFpcihiYWNrLCAidm5j bGlzdGVuIiwgdmZiLT52bmMubGlzdGVuKTsKQEAgLTcwMSwxNyArNjY0LDcgQEAgaW50IGxpYnhs X19kZXZpY2VfdmZiX2FkZChsaWJ4bF9fZ2MgKmdjLCB1aW50MzJfdCBkb21pZCwgbGlieGxfZGV2 aWNlX3ZmYiAqdmZiKQogICAgICAgICBmbGV4YXJyYXlfYXBwZW5kX3BhaXIoYmFjaywgImRpc3Bs YXkiLCB2ZmItPnNkbC5kaXNwbGF5KTsKICAgICB9CiAKLSAgICBmbGV4YXJyYXlfYXBwZW5kX3Bh aXIoZnJvbnQsICJiYWNrZW5kLWlkIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgR0NTUFJJ TlRGKCIlZCIsIHZmYi0+YmFja2VuZF9kb21pZCkpOwotICAgIGZsZXhhcnJheV9hcHBlbmRfcGFp cihmcm9udCwgInN0YXRlIiwgR0NTUFJJTlRGKCIlZCIsIFhlbmJ1c1N0YXRlSW5pdGlhbGlzaW5n KSk7Ci0KLSAgICBsaWJ4bF9fZGV2aWNlX2dlbmVyaWNfYWRkKGdjLCBYQlRfTlVMTCwgJmRldmlj ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpYnhsX194c19rdnNfb2ZfZmxleGFy cmF5KGdjLCBiYWNrKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpYnhsX194c19r dnNfb2ZfZmxleGFycmF5KGdjLCBmcm9udCksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBOVUxMKTsKLSAgICByYyA9IDA7Ci1vdXQ6Ci0gICAgcmV0dXJuIHJjOworICAgIHJldHVybiAw OwogfQogCiAvKiBUaGUgZm9sbG93aW5nIGZ1bmN0aW9ucyBhcmUgZGVmaW5lZDoKQEAgLTczOCw4 ICs2OTEsMjEgQEAgREVGSU5FX0RFVklDRV9UWVBFX1NUUlVDVCh2a2IsCiAgICAgLnNraXBfYXR0 YWNoID0gMQogKTsKIAorI2RlZmluZSBsaWJ4bF9fYWRkX3ZmYnMgTlVMTAorI2RlZmluZSBsaWJ4 bF9kZXZpY2VfdmZiX2xpc3QgTlVMTAorI2RlZmluZSBsaWJ4bF9kZXZpY2VfdmZiX2NvbXBhcmUg TlVMTAorCiAvKiB2ZmIgKi8KIExJQlhMX0RFRklORV9ERVZJQ0VfUkVNT1ZFKHZmYikKK3N0YXRp YyBMSUJYTF9ERUZJTkVfVVBEQVRFX0RFVklEKHZmYiwgInZmYiIpCisKK0RFRklORV9ERVZJQ0Vf VFlQRV9TVFJVQ1QodmZiLAorICAgIC5za2lwX2F0dGFjaCA9IDEsCisgICAgLnNldF94ZW5zdG9y ZV9jb25maWcgPSAoaW50ICgqKShsaWJ4bF9fZ2MgKiwgdWludDMyX3QsIHZvaWQgKiwKKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZsZXhhcnJheV90ICpiYWNrLCBmbGV4YXJy YXlfdCAqZnJvbnQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmbGV4YXJy YXlfdCAqcm9fZnJvbnQpKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlieGxfX3NldF94 ZW5zdG9yZV92ZmIKKyk7CiAKIGxpYnhsX3hlbl9jb25zb2xlX3JlYWRlciAqCiAgICAgbGlieGxf eGVuX2NvbnNvbGVfcmVhZF9zdGFydChsaWJ4bF9jdHggKmN0eCwgaW50IGNsZWFyKQpkaWZmIC0t Z2l0IGEvdG9vbHMvbGlieGwvbGlieGxfY3JlYXRlLmMgYi90b29scy9saWJ4bC9saWJ4bF9jcmVh dGUuYwppbmRleCA5NjM0ODExLi44MDg5NzEzIDEwMDY0NAotLS0gYS90b29scy9saWJ4bC9saWJ4 bF9jcmVhdGUuYworKysgYi90b29scy9saWJ4bC9saWJ4bF9jcmVhdGUuYwpAQCAtMTM3MSw3ICsx MzcxLDggQEAgc3RhdGljIHZvaWQgZG9tY3JlYXRlX2xhdW5jaF9kbShsaWJ4bF9fZWdjICplZ2Ms IGxpYnhsX19tdWx0aWRldiAqbXVsdGlkZXYsCiAgICAgICAgIGxpYnhsX19kZXZpY2UgZGV2aWNl OwogCiAgICAgICAgIGZvciAoaSA9IDA7IGkgPCBkX2NvbmZpZy0+bnVtX3ZmYnM7IGkrKykgewot ICAgICAgICAgICAgbGlieGxfX2RldmljZV92ZmJfYWRkKGdjLCBkb21pZCwgJmRfY29uZmlnLT52 ZmJzW2ldKTsKKyAgICAgICAgICAgIGxpYnhsX19kZXZpY2VfYWRkKGdjLCBkb21pZCwgJmxpYnhs X192ZmJfZGV2dHlwZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZkX2NvbmZpZy0+ dmZic1tpXSk7CiAgICAgICAgICAgICBsaWJ4bF9fZGV2aWNlX2FkZChnYywgZG9taWQsICZsaWJ4 bF9fdmtiX2RldnR5cGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmZF9jb25maWct PnZrYnNbaV0pOwogICAgICAgICB9CmRpZmYgLS1naXQgYS90b29scy9saWJ4bC9saWJ4bF9kbS5j IGIvdG9vbHMvbGlieGwvbGlieGxfZG0uYwppbmRleCBiMzdmNDdlLi4wYTRmODExIDEwMDY0NAot LS0gYS90b29scy9saWJ4bC9saWJ4bF9kbS5jCisrKyBiL3Rvb2xzL2xpYnhsL2xpYnhsX2RtLmMK QEAgLTE5NzUsNyArMTk3NSw4IEBAIHN0YXRpYyB2b2lkIHNwYXduX3N0dWJfbGF1bmNoX2RtKGxp YnhsX19lZ2MgKmVnYywKICAgICAgICAgaWYgKHJldCkKICAgICAgICAgICAgIGdvdG8gb3V0Owog ICAgIH0KLSAgICByZXQgPSBsaWJ4bF9fZGV2aWNlX3ZmYl9hZGQoZ2MsIGRtX2RvbWlkLCAmZG1f Y29uZmlnLT52ZmJzWzBdKTsKKyAgICByZXQgPSBsaWJ4bF9fZGV2aWNlX2FkZChnYywgZG1fZG9t aWQsICZsaWJ4bF9fdmZiX2RldnR5cGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgJmRt X2NvbmZpZy0+dmZic1swXSk7CiAgICAgaWYgKHJldCkKICAgICAgICAgZ290byBvdXQ7CiAgICAg cmV0ID0gbGlieGxfX2RldmljZV9hZGQoZ2MsIGRtX2RvbWlkLCAmbGlieGxfX3ZrYl9kZXZ0eXBl LApkaWZmIC0tZ2l0IGEvdG9vbHMvbGlieGwvbGlieGxfaW50ZXJuYWwuaCBiL3Rvb2xzL2xpYnhs L2xpYnhsX2ludGVybmFsLmgKaW5kZXggNDk0NDBkNy4uMzZiNGQxZSAxMDA2NDQKLS0tIGEvdG9v bHMvbGlieGwvbGlieGxfaW50ZXJuYWwuaAorKysgYi90b29scy9saWJ4bC9saWJ4bF9pbnRlcm5h bC5oCkBAIC0xMjQ3LDcgKzEyNDcsNiBAQCBfaGlkZGVuIGludCBsaWJ4bF9fZGV2aWNlX2Rpc2tf c2V0ZGVmYXVsdChsaWJ4bF9fZ2MgKmdjLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgdWludDMyX3QgZG9taWQpOwogX2hpZGRlbiBpbnQgbGlieGxfX2RldmljZV9u aWNfc2V0ZGVmYXVsdChsaWJ4bF9fZ2MgKmdjLCBsaWJ4bF9kZXZpY2VfbmljICpuaWMsCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IGRvbWlkLCBib29s IGhvdHBsdWcpOwotX2hpZGRlbiBpbnQgbGlieGxfX2RldmljZV92ZmJfc2V0ZGVmYXVsdChsaWJ4 bF9fZ2MgKmdjLCBsaWJ4bF9kZXZpY2VfdmZiICp2ZmIpOwogX2hpZGRlbiBpbnQgbGlieGxfX2Rl dmljZV9wY2lfc2V0ZGVmYXVsdChsaWJ4bF9fZ2MgKmdjLCBsaWJ4bF9kZXZpY2VfcGNpICpwY2kp OwogX2hpZGRlbiB2b2lkIGxpYnhsX19yZG1fc2V0ZGVmYXVsdChsaWJ4bF9fZ2MgKmdjLAogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWJ4bF9kb21haW5fYnVpbGRfaW5mbyAq Yl9pbmZvKTsKQEAgLTI2NTcsMTAgKzI2NTYsNiBAQCBzdHJ1Y3QgbGlieGxfX211bHRpZGV2IHsK ICAqIGl0J3MgYSB2YWxpZCBzdGF0ZS4KICAqLwogCi0vKiBJbnRlcm5hbCBmdW5jdGlvbiB0byBj b25uZWN0IGEgdmZiIGRldmljZSAqLwotX2hpZGRlbiBpbnQgbGlieGxfX2RldmljZV92ZmJfYWRk KGxpYnhsX19nYyAqZ2MsIHVpbnQzMl90IGRvbWlkLAotICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIGxpYnhsX2RldmljZV92ZmIgKnZmYik7Ci0KIC8qIFdhaXRzIGZvciB0aGUgcGFz c2VkIGRldmljZSB0byByZWFjaCBzdGF0ZSBYZW5idXNTdGF0ZUluaXRXYWl0LgogICogVGhpcyBp cyBub3QgcmVhbGx5IHVzZWZ1bCBieSBpdHNlbGYsIGJ1dCBpcyBpbXBvcnRhbnQgd2hlbiBleGVj dXRpbmcKICAqIGhvdHBsdWcgc2NyaXB0cywgc2luY2Ugd2UgbmVlZCB0byBiZSBzdXJlIHRoZSBk ZXZpY2UgaXMgaW4gdGhlIGNvcnJlY3QKQEAgLTM1NDcsNiArMzU0Miw3IEBAIHN0YXRpYyBpbmxp bmUgaW50ICpsaWJ4bF9fZGV2aWNlX3R5cGVfZ2V0X251bSgKICAgICByZXR1cm4gKGludCAqKSgo dm9pZCAqKWRfY29uZmlnICsgZHQtPm51bV9vZmZzZXQpOwogfQogCitleHRlcm4gY29uc3Qgc3Ry dWN0IGxpYnhsX2RldmljZV90eXBlIGxpYnhsX192ZmJfZGV2dHlwZTsKIGV4dGVybiBjb25zdCBz dHJ1Y3QgbGlieGxfZGV2aWNlX3R5cGUgbGlieGxfX3ZrYl9kZXZ0eXBlOwogZXh0ZXJuIGNvbnN0 IHN0cnVjdCBsaWJ4bF9kZXZpY2VfdHlwZSBsaWJ4bF9fZGlza19kZXZ0eXBlOwogZXh0ZXJuIGNv bnN0IHN0cnVjdCBsaWJ4bF9kZXZpY2VfdHlwZSBsaWJ4bF9fbmljX2RldnR5cGU7Ci0tIAoyLjcu NAoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fClhlbi1k ZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbi5vcmcKaHR0cHM6Ly9saXN0cy54 ZW4ub3JnL3hlbi1kZXZlbAo=