From mboxrd@z Thu Jan 1 00:00:00 1970 From: Oleksandr Grytsov Subject: [PATCH v3 06/11] libxl: implement vdispl get info function Date: Tue, 27 Jun 2017 13:03:22 +0300 Message-ID: <1498557807-10810-7-git-send-email-al1img@gmail.com> References: <1498557807-10810-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 1dPnLT-0007GM-8d for xen-devel@lists.xenproject.org; Tue, 27 Jun 2017 10:03:43 +0000 Received: by mail-lf0-f66.google.com with SMTP id g21so2306448lfk.1 for ; Tue, 27 Jun 2017 03:03:41 -0700 (PDT) In-Reply-To: <1498557807-10810-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: wei.liu2@citrix.com, ian.jackson@eu.citrix.com, Oleksandr Grytsov List-Id: xen-devel@lists.xenproject.org RnJvbTogT2xla3NhbmRyIEdyeXRzb3YgPG9sZWtzYW5kcl9ncnl0c292QGVwYW0uY29tPgoKQWRk IGltcGxlbWVudGF0aW9uIG9mIGxpYnhsX2RldmljZV92ZGlzcGxfZ2V0aW5mby4KVGhpcyBmdW5j dGlvbiByZXR1cm5zIGV4dGVuZGVkIGluZm9ybWF0aW9uIGFib3V0CnNlbGVjdGVkIHZkaXNwbCBk ZXZpY2UuCgpTaWduZWQtb2ZmLWJ5OiBPbGVrc2FuZHIgR3J5dHNvdiA8b2xla3NhbmRyX2dyeXRz b3ZAZXBhbS5jb20+Ci0tLQogdG9vbHMvbGlieGwvbGlieGxfdmRpc3BsLmMgfCAxMTUgKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKystCiAxIGZpbGUgY2hhbmdlZCwg MTE0IGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKCmRpZmYgLS1naXQgYS90b29scy9saWJ4 bC9saWJ4bF92ZGlzcGwuYyBiL3Rvb2xzL2xpYnhsL2xpYnhsX3ZkaXNwbC5jCmluZGV4IDRlY2Vi NzEuLjFhNmM4YjcgMTAwNjQ0Ci0tLSBhL3Rvb2xzL2xpYnhsL2xpYnhsX3ZkaXNwbC5jCisrKyBi L3Rvb2xzL2xpYnhsL2xpYnhsX3ZkaXNwbC5jCkBAIC0xODksMTEgKzE4OSwxMjQgQEAgdm9pZCBs aWJ4bF9kZXZpY2VfdmRpc3BsX2xpc3RfZnJlZShsaWJ4bF9kZXZpY2VfdmRpc3BsKiBsaXN0LCBp bnQgbnVtKQogICAgIGxpYnhsX19kZXZpY2VfbGlzdF9mcmVlKCZsaWJ4bF9fdmRpc3BsX2RldnR5 cGUsIGxpc3QsIG51bSk7CiB9CiAKK3N0YXRpYyBpbnQgbGlieGxfX2RldmljZV92ZGlzcGxfZ2V0 Y29ubmVjdG9ycyhsaWJ4bF9jdHggKmN0eCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBjb25zdCBjaGFyICpwYXRoLAorICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIGxpYnhsX3ZkaXNwbGluZm8gKmluZm8pCit7CisgICAg R0NfSU5JVChjdHgpOworICAgIGNoYXIgKmNvbm5lY3RvciA9IE5VTEw7CisgICAgY2hhciAqY29u bmVjdG9yX3BhdGggPSBOVUxMOworICAgIGludCBpLCByYzsKKworICAgIEdDTkVXX0FSUkFZKGNv bm5lY3Rvcl9wYXRoLCAxMjgpOworCisgICAgaW5mby0+bnVtX2Nvbm5lY3RvcnMgPSAwOworCisg ICAgcmMgPSBzbnByaW50Zihjb25uZWN0b3JfcGF0aCwgMTI4LCAiJXMvJWQiLCBwYXRoLCBpbmZv LT5udW1fY29ubmVjdG9ycyk7CisgICAgaWYgKHJjIDwgMCkgZ290byBvdXQ7CisKKyAgICB3aGls ZSgoY29ubmVjdG9yID0geHNfcmVhZChjdHgtPnhzaCwgWEJUX05VTEwsIGNvbm5lY3Rvcl9wYXRo LCBOVUxMKSkKKyAgICAgICAgICAhPSBOVUxMKSB7CisgICAgICAgIGZyZWUoY29ubmVjdG9yKTsK KworICAgICAgICByYyA9IHNucHJpbnRmKGNvbm5lY3Rvcl9wYXRoLCAxMjgsICIlcy8lZCIsCisg ICAgICAgICAgICAgICAgICAgICAgcGF0aCwgKytpbmZvLT5udW1fY29ubmVjdG9ycyk7CisgICAg ICAgIGlmIChyYyA8IDApIGdvdG8gb3V0OworICAgIH0KKworICAgIGluZm8tPmNvbm5lY3RvcnMg PSBsaWJ4bF9fY2FsbG9jKE5PR0MsIGluZm8tPm51bV9jb25uZWN0b3JzLAorICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIHNpemVvZigqaW5mby0+Y29ubmVjdG9ycykpOworCisg ICAgZm9yIChpID0gMDsgaSA8IGluZm8tPm51bV9jb25uZWN0b3JzOyBpKyspIHsKKyAgICAgICAg Y2hhciAqdmFsdWU7CisKKyAgICAgICAgc25wcmludGYoY29ubmVjdG9yX3BhdGgsIDEyOCwgIiVz LyVkL2lkIiwgcGF0aCwgaSk7CisgICAgICAgIGluZm8tPmNvbm5lY3RvcnNbaV0uaWQgPSB4c19y ZWFkKGN0eC0+eHNoLCBYQlRfTlVMTCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgY29ubmVjdG9yX3BhdGgsIE5VTEwpOworICAgICAgICBpZiAoaW5mby0+Y29ubmVj dG9yc1tpXS5pZCA9PSBOVUxMKSB7IHJjID0gRVJST1JfRkFJTDsgZ290byBvdXQ7IH0KKworICAg ICAgICBzbnByaW50Zihjb25uZWN0b3JfcGF0aCwgMTI4LCAiJXMvJWQvcmVzb2x1dGlvbiIsIHBh dGgsIGkpOworICAgICAgICB2YWx1ZSA9IHhzX3JlYWQoY3R4LT54c2gsIFhCVF9OVUxMLCBjb25u ZWN0b3JfcGF0aCwgTlVMTCk7CisgICAgICAgIGlmICh2YWx1ZSA9PSBOVUxMKSB7IHJjID0gRVJS T1JfRkFJTDsgZ290byBvdXQ7IH0KKworICAgICAgICByYyA9IHNzY2FuZih2YWx1ZSwgIiV1eCV1 IiwgJmluZm8tPmNvbm5lY3RvcnNbaV0ud2lkdGgsCisgICAgICAgICAgICAgICAgICAgJmluZm8t PmNvbm5lY3RvcnNbaV0uaGVpZ2h0KTsKKyAgICAgICAgZnJlZSh2YWx1ZSk7CisgICAgICAgIGlm IChyYyAhPSAyKSB7CisgICAgICAgICAgICByYyA9IEVSUk9SX0ZBSUw7IGdvdG8gb3V0OworICAg ICAgICB9CisKKyAgICAgICAgc25wcmludGYoY29ubmVjdG9yX3BhdGgsIDEyOCwgIiVzLyVkL3Jl cS1yaW5nLXJlZiIsIHBhdGgsIGkpOworICAgICAgICB2YWx1ZSA9IHhzX3JlYWQoY3R4LT54c2gs IFhCVF9OVUxMLCBjb25uZWN0b3JfcGF0aCwgTlVMTCk7CisgICAgICAgIGluZm8tPmNvbm5lY3Rv cnNbaV0ucmVxX3JyZWYgPSB2YWx1ZSA/IHN0cnRvdWwodmFsdWUsIE5VTEwsIDEwKSA6IC0xOwor ICAgICAgICBmcmVlKHZhbHVlKTsKKworICAgICAgICBzbnByaW50Zihjb25uZWN0b3JfcGF0aCwg MTI4LCAiJXMvJWQvcmVxLWV2ZW50LWNoYW5uZWwiLCBwYXRoLCBpKTsKKyAgICAgICAgdmFsdWUg PSB4c19yZWFkKGN0eC0+eHNoLCBYQlRfTlVMTCwgY29ubmVjdG9yX3BhdGgsIE5VTEwpOworICAg ICAgICBpbmZvLT5jb25uZWN0b3JzW2ldLnJlcV9ldnRjaCA9IHZhbHVlID8gc3RydG91bCh2YWx1 ZSwgTlVMTCwgMTApIDogLTE7CisgICAgICAgIGZyZWUodmFsdWUpOworCisgICAgICAgIHNucHJp bnRmKGNvbm5lY3Rvcl9wYXRoLCAxMjgsICIlcy8lZC9ldnQtcmluZy1yZWYiLCBwYXRoLCBpKTsK KyAgICAgICAgdmFsdWUgPSB4c19yZWFkKGN0eC0+eHNoLCBYQlRfTlVMTCwgY29ubmVjdG9yX3Bh dGgsIE5VTEwpOworICAgICAgICBpbmZvLT5jb25uZWN0b3JzW2ldLmV2dF9ycmVmID0gdmFsdWUg PyBzdHJ0b3VsKHZhbHVlLCBOVUxMLCAxMCkgOiAtMTsKKyAgICAgICAgZnJlZSh2YWx1ZSk7CisK KyAgICAgICAgc25wcmludGYoY29ubmVjdG9yX3BhdGgsIDEyOCwgIiVzLyVkL2V2dC1ldmVudC1j aGFubmVsIiwgcGF0aCwgaSk7CisgICAgICAgIHZhbHVlID0geHNfcmVhZChjdHgtPnhzaCwgWEJU X05VTEwsIGNvbm5lY3Rvcl9wYXRoLCBOVUxMKTsKKyAgICAgICAgaW5mby0+Y29ubmVjdG9yc1tp XS5ldnRfZXZ0Y2ggPSB2YWx1ZSA/IHN0cnRvdWwodmFsdWUsIE5VTEwsIDEwKSA6IC0xOworICAg ICAgICBmcmVlKHZhbHVlKTsKKyAgICB9CisKKyAgICByYyA9IDA7CisKK291dDoKKyAgICByZXR1 cm4gcmM7Cit9CisKIGludCBsaWJ4bF9kZXZpY2VfdmRpc3BsX2dldGluZm8obGlieGxfY3R4ICpj dHgsIHVpbnQzMl90IGRvbWlkLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWJ4 bF9kZXZpY2VfdmRpc3BsICp2ZGlzcGwsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IGxpYnhsX3ZkaXNwbGluZm8gKmluZm8pCiB7Ci0gICAgIHJldHVybiAwOworICAgIEdDX0lOSVQo Y3R4KTsKKyAgICBjaGFyICpsaWJ4bF9wYXRoLCAqZG9tcGF0aCwgKmRldnBhdGg7CisgICAgY2hh ciAqdmFsOworICAgIGludCByYzsKKworICAgIGxpYnhsX3ZkaXNwbGluZm9faW5pdChpbmZvKTsK KyAgICBkb21wYXRoID0gbGlieGxfX3hzX2dldF9kb21wYXRoKGdjLCBkb21pZCk7CisgICAgaW5m by0+ZGV2aWQgPSB2ZGlzcGwtPmRldmlkOworCisgICAgZGV2cGF0aCA9IEdDU1BSSU5URigiJXMv ZGV2aWNlL3ZkaXNwbC8lZCIsIGRvbXBhdGgsIGluZm8tPmRldmlkKTsKKyAgICBsaWJ4bF9wYXRo ID0gR0NTUFJJTlRGKCIlcy9kZXZpY2UvdmRpc3BsLyVkIiwKKyAgICAgICAgICAgICAgICAgICAg ICAgICAgIGxpYnhsX194c19saWJ4bF9wYXRoKGdjLCBkb21pZCksCisgICAgICAgICAgICAgICAg ICAgICAgICAgICBpbmZvLT5kZXZpZCk7CisgICAgaW5mby0+YmFja2VuZCA9IHhzX3JlYWQoY3R4 LT54c2gsIFhCVF9OVUxMLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdDU1BSSU5URigi JXMvYmFja2VuZCIsIGxpYnhsX3BhdGgpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5V TEwpOworICAgIGlmICghaW5mby0+YmFja2VuZCkgeyByYyA9IEVSUk9SX0ZBSUw7IGdvdG8gb3V0 OyB9CisKKyAgICByYyA9IGxpYnhsX19iYWNrZW5kcGF0aF9wYXJzZV9kb21pZChnYywgaW5mby0+ YmFja2VuZCwgJmluZm8tPmJhY2tlbmRfaWQpOworICAgIGlmIChyYykgZ290byBvdXQ7CisKKyAg ICB2YWwgPSBsaWJ4bF9feHNfcmVhZChnYywgWEJUX05VTEwsIEdDU1BSSU5URigiJXMvc3RhdGUi LCBkZXZwYXRoKSk7CisgICAgaW5mby0+c3RhdGUgPSB2YWwgPyBzdHJ0b3VsKHZhbCwgTlVMTCwg MTApIDogLTE7CisKKyAgICBpbmZvLT5mcm9udGVuZCA9IHhzX3JlYWQoY3R4LT54c2gsIFhCVF9O VUxMLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHQ1NQUklOVEYoIiVzL2Zyb250ZW5k IiwgbGlieGxfcGF0aCksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5VTEwpOworICAg IGluZm8tPmZyb250ZW5kX2lkID0gZG9taWQ7CisKKyAgICB2YWwgPSBsaWJ4bF9feHNfcmVhZChn YywgWEJUX05VTEwsIEdDU1BSSU5URigiJXMvYmVfYWxsb2MiLCBkZXZwYXRoKSk7CisgICAgaW5m by0+YmVfYWxsb2MgPSB2YWwgPyBzdHJ0b3VsKHZhbCwgTlVMTCwgMTApIDogMDsKKworICAgIHJj ID0gbGlieGxfX2RldmljZV92ZGlzcGxfZ2V0Y29ubmVjdG9ycyhjdHgsIGRldnBhdGgsIGluZm8p OworICAgIGlmIChyYykgZ290byBvdXQ7CisKKyAgICByYyA9IDA7CisKK291dDoKKyAgICAgR0Nf RlJFRTsKKyAgICAgcmV0dXJuIHJjOwogfQogCiBMSUJYTF9ERUZJTkVfREVWSUNFX0FERCh2ZGlz cGwpCi0tIAoyLjcuNAoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fClhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbi5vcmcKaHR0 cHM6Ly9saXN0cy54ZW4ub3JnL3hlbi1kZXZlbAo=