From mboxrd@z Thu Jan 1 00:00:00 1970 From: Oleksandr Grytsov Subject: [PATCH v4 02/13] libxl: add generic functions to get and free device list Date: Tue, 18 Jul 2017 17:25:19 +0300 Message-ID: <1500387930-16317-3-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.bemta6.messagelabs.com ([193.109.254.103]) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dXTRX-0002Uh-0Q for xen-devel@lists.xenproject.org; Tue, 18 Jul 2017 14:25:43 +0000 Received: by mail-lf0-f68.google.com with SMTP id p11so1997273lfd.1 for ; Tue, 18 Jul 2017 07:25:41 -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 RnJvbTogT2xla3NhbmRyIEdyeXRzb3YgPG9sZWtzYW5kcl9ncnl0c292QGVwYW0uY29tPgoKQWRk IGxpYnhsX19kZXZpY2VfbGlzdCBhbmQgbGlieGxfX2RldmljZV9saXN0X2ZyZWUKZnVuY3Rpb25z IHRvIGhhbmRsZSBkZXZpY2UgbGlzdCB1c2luZyB0aGUgZGV2aWNlCmZyYW1ld29yay4KClNpZ25l ZC1vZmYtYnk6IE9sZWtzYW5kciBHcnl0c292IDxvbGVrc2FuZHJfZ3J5dHNvdkBlcGFtLmNvbT4K LS0tCiB0b29scy9saWJ4bC9saWJ4bF9kZXZpY2UuYyAgIHwgNjYgKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysKIHRvb2xzL2xpYnhsL2xpYnhsX2ludGVybmFsLmgg fCAgOCArKysrKysKIDIgZmlsZXMgY2hhbmdlZCwgNzQgaW5zZXJ0aW9ucygrKQoKZGlmZiAtLWdp dCBhL3Rvb2xzL2xpYnhsL2xpYnhsX2RldmljZS5jIGIvdG9vbHMvbGlieGwvbGlieGxfZGV2aWNl LmMKaW5kZXggMDcxNjVmMC4uZjFkNDg0OCAxMDA2NDQKLS0tIGEvdG9vbHMvbGlieGwvbGlieGxf ZGV2aWNlLmMKKysrIGIvdG9vbHMvbGlieGwvbGlieGxfZGV2aWNlLmMKQEAgLTE5OTEsNiArMTk5 MSw3MiBAQCBvdXQ6CiAgICAgcmV0dXJuIHJjOwogfQogCit2b2lkICpsaWJ4bF9fZGV2aWNlX2xp c3QobGlieGxfX2djICpnYywgY29uc3Qgc3RydWN0IGxpYnhsX2RldmljZV90eXBlICpkdCwKKyAg ICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBkb21pZCwgY29uc3QgY2hhciogbmFtZSwg aW50ICpudW0pCit7CisgICAgdm9pZCAqciA9IE5VTEw7CisgICAgdm9pZCAqbGlzdCA9IE5VTEw7 CisgICAgdm9pZCAqaXRlbSA9IE5VTEw7CisgICAgY2hhciAqbGlieGxfcGF0aDsKKyAgICBjaGFy ICoqZGlyID0gTlVMTDsKKyAgICB1bnNpZ25lZCBpbnQgbmRpcnMgPSAwOworICAgIGludCByYzsK KworICAgICpudW0gPSAwOworCisgICAgbGlieGxfcGF0aCA9IEdDU1BSSU5URigiJXMvZGV2aWNl LyVzIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpYnhsX194c19saWJ4bF9wYXRoKGdj LCBkb21pZCksIG5hbWUpOworCisgICAgZGlyID0gbGlieGxfX3hzX2RpcmVjdG9yeShnYywgWEJU X05VTEwsIGxpYnhsX3BhdGgsICZuZGlycyk7CisKKyAgICBpZiAoZGlyICYmIG5kaXJzKSB7Cisg ICAgICAgIGxpc3QgPSBsaWJ4bF9fbWFsbG9jKE5PR0MsIGR0LT5kZXZfZWxlbV9zaXplICogbmRp cnMpOworICAgICAgICB2b2lkICplbmQgPSAodWludDhfdCAqKWxpc3QgKyBuZGlycyAqIGR0LT5k ZXZfZWxlbV9zaXplOworICAgICAgICBpdGVtID0gbGlzdDsKKworICAgICAgICB3aGlsZSAoaXRl bSA8IGVuZCkgeworICAgICAgICAgICAgZHQtPmluaXQoaXRlbSk7CisKKyAgICAgICAgICAgIGlm IChkdC0+ZnJvbV94ZW5zdG9yZSkgeworICAgICAgICAgICAgICAgIGNoYXIqIGRldmljZV9saWJ4 bF9wYXRoID0gR0NTUFJJTlRGKCIlcy8lcyIsIGxpYnhsX3BhdGgsICpkaXIpOworICAgICAgICAg ICAgICAgIHJjID0gZHQtPmZyb21feGVuc3RvcmUoZ2MsIGRldmljZV9saWJ4bF9wYXRoLCBhdG9p KCpkaXIpLCBpdGVtKTsKKyAgICAgICAgICAgICAgICBpZiAocmMpIGdvdG8gb3V0OworICAgICAg ICAgICAgfQorCisgICAgICAgICAgICBpdGVtID0gKHVpbnQ4X3QqKWl0ZW0gKyBkdC0+ZGV2X2Vs ZW1fc2l6ZTsKKyAgICAgICAgICAgICsrZGlyOworICAgICAgICB9CisgICAgfQorCisgICAgKm51 bSA9IG5kaXJzOworICAgIHIgPSBsaXN0OworICAgIGxpc3QgPSBOVUxMOworCitvdXQ6CisKKyAg ICBpZiAobGlzdCkgeworICAgICAgICAqbnVtID0gMDsKKyAgICAgICAgd2hpbGUoaXRlbSA+PSBs aXN0KSB7CisgICAgICAgICAgICBkdC0+ZGlzcG9zZShpdGVtKTsKKyAgICAgICAgICAgIGl0ZW0g PSAodWludDhfdCopaXRlbSAtIGR0LT5kZXZfZWxlbV9zaXplOworICAgICAgICB9CisgICAgICAg IGZyZWUobGlzdCk7CisgICAgfQorCisgICAgcmV0dXJuIHI7Cit9CisKK3ZvaWQgbGlieGxfX2Rl dmljZV9saXN0X2ZyZWUoY29uc3Qgc3RydWN0IGxpYnhsX2RldmljZV90eXBlICpkdCwKKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgdm9pZCAqbGlzdCwgaW50IG51bSkKK3sKKyAgICBpbnQg aTsKKworICAgIGZvciAoaSA9IDA7IGkgPCBudW07IGkrKykKKyAgICAgICAgZHQtPmRpc3Bvc2Uo KHVpbnQ4X3QqKWxpc3QgKyBpICogZHQtPmRldl9lbGVtX3NpemUpOworCisgICAgZnJlZShsaXN0 KTsKK30KKwogLyoKICAqIExvY2FsIHZhcmlhYmxlczoKICAqIG1vZGU6IEMKZGlmZiAtLWdpdCBh L3Rvb2xzL2xpYnhsL2xpYnhsX2ludGVybmFsLmggYi90b29scy9saWJ4bC9saWJ4bF9pbnRlcm5h bC5oCmluZGV4IDA3NWRmZTMuLjI3MWFjODkgMTAwNjQ0Ci0tLSBhL3Rvb2xzL2xpYnhsL2xpYnhs X2ludGVybmFsLmgKKysrIGIvdG9vbHMvbGlieGwvbGlieGxfaW50ZXJuYWwuaApAQCAtMzUwNiw2 ICszNTA2LDcgQEAgc3RydWN0IGxpYnhsX2RldmljZV90eXBlIHsKICAgICBpbnQgKCpkbV9uZWVk ZWQpKHZvaWQgKiwgdW5zaWduZWQpOwogICAgIHZvaWQgKCp1cGRhdGVfY29uZmlnKShsaWJ4bF9f Z2MgKiwgdm9pZCAqLCB2b2lkICopOwogICAgIGludCAoKnVwZGF0ZV9kZXZpZCkobGlieGxfX2dj ICosIHVpbnQzMl90LCB2b2lkICopOworICAgIGludCAoKmZyb21feGVuc3RvcmUpKGxpYnhsX19n YyAqLCBjb25zdCBjaGFyICosIGxpYnhsX2RldmlkLCB2b2lkICopOwogICAgIGludCAoKnNldF94 ZW5zdG9yZV9jb25maWcpKGxpYnhsX19nYyAqLCB1aW50MzJfdCwgdm9pZCAqLCBmbGV4YXJyYXlf dCAqLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZsZXhhcnJheV90ICosIGZsZXhh cnJheV90ICopOwogfTsKQEAgLTQzODYsNiArNDM4NywxMyBAQCB2b2lkIGxpYnhsX19kZXZpY2Vf YWRkX2FzeW5jKGxpYnhsX19lZ2MgKmVnYywgdWludDMyX3QgZG9taWQsCiBpbnQgbGlieGxfX2Rl dmljZV9hZGQobGlieGxfX2djICpnYywgdWludDMyX3QgZG9taWQsCiAgICAgICAgICAgICAgICAg ICAgICAgY29uc3Qgc3RydWN0IGxpYnhsX2RldmljZV90eXBlICpkdCwgdm9pZCAqdHlwZSk7CiAK Ky8qIENhbGxlciBpcyByZXNwb25zaWJsZSBmb3IgZnJlZWluZyB0aGUgbWVtb3J5IGJ5IGNhbGxp bmcKKyAqIGxpYnhsX19kZXZpY2VfbGlzdF9mcmVlCisgKi8KK3ZvaWQqIGxpYnhsX19kZXZpY2Vf bGlzdChsaWJ4bF9fZ2MgKmdjLCBjb25zdCBzdHJ1Y3QgbGlieGxfZGV2aWNlX3R5cGUgKmR0LAor ICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IGRvbWlkLCBjb25zdCBjaGFyKiBuYW1l LCBpbnQgKm51bSk7Cit2b2lkIGxpYnhsX19kZXZpY2VfbGlzdF9mcmVlKGNvbnN0IHN0cnVjdCBs aWJ4bF9kZXZpY2VfdHlwZSAqZHQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZvaWQg Kmxpc3QsIGludCBudW0pOwogI2VuZGlmCiAKIC8qCi0tIAoyLjcuNAoKCl9fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fClhlbi1kZXZlbCBtYWlsaW5nIGxpc3QK WGVuLWRldmVsQGxpc3RzLnhlbi5vcmcKaHR0cHM6Ly9saXN0cy54ZW4ub3JnL3hlbi1kZXZlbAo=