From mboxrd@z Thu Jan 1 00:00:00 1970 From: Oleksandr Grytsov Subject: [PATCH v6 02/13] libxl: add generic functions to get and free device list Date: Tue, 12 Sep 2017 16:48:07 +0300 Message-ID: <1505224098-19330-3-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.bemta3.messagelabs.com ([195.245.230.39]) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1drlYD-0005SP-8J for xen-devel@lists.xenproject.org; Tue, 12 Sep 2017 13:48:29 +0000 Received: by mail-lf0-f68.google.com with SMTP id y15so5396231lfd.0 for ; Tue, 12 Sep 2017 06:48:27 -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 RnJvbTogT2xla3NhbmRyIEdyeXRzb3YgPG9sZWtzYW5kcl9ncnl0c292QGVwYW0uY29tPgoKQWRk IGxpYnhsX19kZXZpY2VfbGlzdCBhbmQgbGlieGxfX2RldmljZV9saXN0X2ZyZWUKZnVuY3Rpb25z IHRvIGhhbmRsZSBkZXZpY2UgbGlzdCB1c2luZyB0aGUgZGV2aWNlCmZyYW1ld29yay4KClNpZ25l ZC1vZmYtYnk6IE9sZWtzYW5kciBHcnl0c292IDxvbGVrc2FuZHJfZ3J5dHNvdkBlcGFtLmNvbT4K QWNrZWQtYnk6IFdlaSBMaXUgPHdlaS5saXUyQGNpdHJpeC5jb20+Ci0tLQogdG9vbHMvbGlieGwv bGlieGxfZGV2aWNlLmMgICB8IDYxICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrCiB0b29scy9saWJ4bC9saWJ4bF9pbnRlcm5hbC5oIHwgIDggKysrKysrCiAyIGZp bGVzIGNoYW5nZWQsIDY5IGluc2VydGlvbnMoKykKCmRpZmYgLS1naXQgYS90b29scy9saWJ4bC9s aWJ4bF9kZXZpY2UuYyBiL3Rvb2xzL2xpYnhsL2xpYnhsX2RldmljZS5jCmluZGV4IDMyOTZlODMu LjQ4N2JlMjggMTAwNjQ0Ci0tLSBhL3Rvb2xzL2xpYnhsL2xpYnhsX2RldmljZS5jCisrKyBiL3Rv b2xzL2xpYnhsL2xpYnhsX2RldmljZS5jCkBAIC0xOTkwLDYgKzE5OTAsNjcgQEAgb3V0OgogICAg IHJldHVybiByYzsKIH0KIAordm9pZCAqbGlieGxfX2RldmljZV9saXN0KGxpYnhsX19nYyAqZ2Ms IGNvbnN0IHN0cnVjdCBsaWJ4bF9kZXZpY2VfdHlwZSAqZHQsCisgICAgICAgICAgICAgICAgICAg ICAgICAgdWludDMyX3QgZG9taWQsIGNvbnN0IGNoYXIqIG5hbWUsIGludCAqbnVtKQoreworICAg IHZvaWQgKnIgPSBOVUxMOworICAgIHZvaWQgKmxpc3QgPSBOVUxMOworICAgIHZvaWQgKml0ZW0g PSBOVUxMOworICAgIGNoYXIgKmxpYnhsX3BhdGg7CisgICAgY2hhciAqKmRpciA9IE5VTEw7Cisg ICAgdW5zaWduZWQgaW50IG5kaXJzID0gMDsKKyAgICBpbnQgcmM7CisKKyAgICAqbnVtID0gMDsK KworICAgIGxpYnhsX3BhdGggPSBHQ1NQUklOVEYoIiVzL2RldmljZS8lcyIsCisgICAgICAgICAg ICAgICAgICAgICAgICAgICBsaWJ4bF9feHNfbGlieGxfcGF0aChnYywgZG9taWQpLCBuYW1lKTsK KworICAgIGRpciA9IGxpYnhsX194c19kaXJlY3RvcnkoZ2MsIFhCVF9OVUxMLCBsaWJ4bF9wYXRo LCAmbmRpcnMpOworCisgICAgaWYgKGRpciAmJiBuZGlycykgeworICAgICAgICBsaXN0ID0gbGli eGxfX21hbGxvYyhOT0dDLCBkdC0+ZGV2X2VsZW1fc2l6ZSAqIG5kaXJzKTsKKyAgICAgICAgaXRl bSA9IGxpc3Q7CisKKyAgICAgICAgd2hpbGUgKCpudW0gPCBuZGlycykgeworICAgICAgICAgICAg ZHQtPmluaXQoaXRlbSk7CisgICAgICAgICAgICArKygqbnVtKTsKKworICAgICAgICAgICAgaWYg KGR0LT5mcm9tX3hlbnN0b3JlKSB7CisgICAgICAgICAgICAgICAgY2hhciAqZGV2aWNlX2xpYnhs X3BhdGggPSBHQ1NQUklOVEYoIiVzLyVzIiwgbGlieGxfcGF0aCwgKmRpcik7CisgICAgICAgICAg ICAgICAgcmMgPSBkdC0+ZnJvbV94ZW5zdG9yZShnYywgZGV2aWNlX2xpYnhsX3BhdGgsIGF0b2ko KmRpciksIGl0ZW0pOworICAgICAgICAgICAgICAgIGlmIChyYykgZ290byBvdXQ7CisgICAgICAg ICAgICB9CisKKyAgICAgICAgICAgIGl0ZW0gPSAodWludDhfdCAqKWl0ZW0gKyBkdC0+ZGV2X2Vs ZW1fc2l6ZTsKKyAgICAgICAgICAgICsrZGlyOworICAgICAgICB9CisgICAgfQorCisgICAgciA9 IGxpc3Q7CisgICAgbGlzdCA9IE5VTEw7CisKK291dDoKKworICAgIGlmIChsaXN0KSB7CisgICAg ICAgIGxpYnhsX19kZXZpY2VfbGlzdF9mcmVlKGR0LCBsaXN0LCAqbnVtKTsKKyAgICAgICAgKm51 bSA9IDA7CisgICAgfQorCisgICAgcmV0dXJuIHI7Cit9CisKK3ZvaWQgbGlieGxfX2RldmljZV9s aXN0X2ZyZWUoY29uc3Qgc3RydWN0IGxpYnhsX2RldmljZV90eXBlICpkdCwKKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgdm9pZCAqbGlzdCwgaW50IG51bSkKK3sKKyAgICBpbnQgaTsKKwor ICAgIGZvciAoaSA9IDA7IGkgPCBudW07IGkrKykKKyAgICAgICAgZHQtPmRpc3Bvc2UoKHVpbnQ4 X3QqKWxpc3QgKyBpICogZHQtPmRldl9lbGVtX3NpemUpOworCisgICAgZnJlZShsaXN0KTsKK30K KwogLyoKICAqIExvY2FsIHZhcmlhYmxlczoKICAqIG1vZGU6IEMKZGlmZiAtLWdpdCBhL3Rvb2xz L2xpYnhsL2xpYnhsX2ludGVybmFsLmggYi90b29scy9saWJ4bC9saWJ4bF9pbnRlcm5hbC5oCmlu ZGV4IGM5OWVmM2IuLmM5NGExMTcgMTAwNjQ0Ci0tLSBhL3Rvb2xzL2xpYnhsL2xpYnhsX2ludGVy bmFsLmgKKysrIGIvdG9vbHMvbGlieGwvbGlieGxfaW50ZXJuYWwuaApAQCAtMzUwNSw2ICszNTA1 LDcgQEAgc3RydWN0IGxpYnhsX2RldmljZV90eXBlIHsKICAgICBpbnQgKCpkbV9uZWVkZWQpKHZv aWQgKiwgdW5zaWduZWQpOwogICAgIHZvaWQgKCp1cGRhdGVfY29uZmlnKShsaWJ4bF9fZ2MgKiwg dm9pZCAqLCB2b2lkICopOwogICAgIGludCAoKnVwZGF0ZV9kZXZpZCkobGlieGxfX2djICosIHVp bnQzMl90LCB2b2lkICopOworICAgIGludCAoKmZyb21feGVuc3RvcmUpKGxpYnhsX19nYyAqLCBj b25zdCBjaGFyICosIGxpYnhsX2RldmlkLCB2b2lkICopOwogICAgIGludCAoKnNldF94ZW5zdG9y ZV9jb25maWcpKGxpYnhsX19nYyAqLCB1aW50MzJfdCwgdm9pZCAqLCBmbGV4YXJyYXlfdCAqLAog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZsZXhhcnJheV90ICosIGZsZXhhcnJheV90 ICopOwogfTsKQEAgLTQzODUsNiArNDM4NiwxMyBAQCB2b2lkIGxpYnhsX19kZXZpY2VfYWRkX2Fz eW5jKGxpYnhsX19lZ2MgKmVnYywgdWludDMyX3QgZG9taWQsCiBpbnQgbGlieGxfX2RldmljZV9h ZGQobGlieGxfX2djICpnYywgdWludDMyX3QgZG9taWQsCiAgICAgICAgICAgICAgICAgICAgICAg Y29uc3Qgc3RydWN0IGxpYnhsX2RldmljZV90eXBlICpkdCwgdm9pZCAqdHlwZSk7CiAKKy8qIENh bGxlciBpcyByZXNwb25zaWJsZSBmb3IgZnJlZWluZyB0aGUgbWVtb3J5IGJ5IGNhbGxpbmcKKyAq IGxpYnhsX19kZXZpY2VfbGlzdF9mcmVlCisgKi8KK3ZvaWQqIGxpYnhsX19kZXZpY2VfbGlzdChs aWJ4bF9fZ2MgKmdjLCBjb25zdCBzdHJ1Y3QgbGlieGxfZGV2aWNlX3R5cGUgKmR0LAorICAgICAg ICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IGRvbWlkLCBjb25zdCBjaGFyKiBuYW1lLCBpbnQg Km51bSk7Cit2b2lkIGxpYnhsX19kZXZpY2VfbGlzdF9mcmVlKGNvbnN0IHN0cnVjdCBsaWJ4bF9k ZXZpY2VfdHlwZSAqZHQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZvaWQgKmxpc3Qs IGludCBudW0pOwogI2VuZGlmCiAKIC8qCi0tIAoyLjcuNAoKCl9fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fClhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRl dmVsQGxpc3RzLnhlbi5vcmcKaHR0cHM6Ly9saXN0cy54ZW4ub3JnL3hlbi1kZXZlbAo=