From mboxrd@z Thu Jan 1 00:00:00 1970 From: Anthony PERARD Subject: [PATCH v3 14/31] libxl_qmp_ev: Introduce libxl__ev_qmp_start() to connect to QMP Date: Fri, 1 Jun 2018 15:37:03 +0100 Message-ID: <20180601143720.24637-15-anthony.perard@citrix.com> References: <20180601143720.24637-1-anthony.perard@citrix.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from us1-rack-dfw2.inumbo.com ([104.130.134.6]) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1fOlVs-0002H8-8O for xen-devel@lists.xenproject.org; Fri, 01 Jun 2018 14:58:44 +0000 In-Reply-To: <20180601143720.24637-1-anthony.perard@citrix.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" To: xen-devel@lists.xenproject.org Cc: Anthony PERARD , Wei Liu , Ian Jackson List-Id: xen-devel@lists.xenproject.org VGhpcyBpcyBhIGZpcnN0IHBhdGNoIHRvIGltcGxlbWVudCBsaWJ4bF9fZXZfcW1wLCBpdCBvbmx5 IGNvbm5lY3QgdG8gdGhlClFNUCBzb2NrZXQgb2YgUUVNVSBhbmQgcmVnaXN0ZXIgYSBjYWxsYmFj ayB0aGF0IGRvZXMgbm90aGluZy4KCkNhbGxiYWNrIGZ1bmN0aW9ucyB3aWxsIGJlIGltcGxlbWVu dGVkIGluIGZvbGxvd2luZyBwYXRjaGVzLgoKU2lnbmVkLW9mZi1ieTogQW50aG9ueSBQRVJBUkQg PGFudGhvbnkucGVyYXJkQGNpdHJpeC5jb20+Ci0tLQpUT0RPOgpUaGlzIHdvdWxkIHByb2JhYmx5 IG5lZWRzIHRvIGhhdmUgYSBsaXN0IGluIENUWCwgd2l0aCBzdGF0ZSBmb3IKZGlmZmVyZW50IGRv bWlkLgotLS0KIHRvb2xzL2xpYnhsL2xpYnhsLmMgICAgICAgICAgfCAgIDQgKysKIHRvb2xzL2xp YnhsL2xpYnhsX2ludGVybmFsLmggfCAgIDggKysrCiB0b29scy9saWJ4bC9saWJ4bF9xbXAuYyAg ICAgIHwgMTA2ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCiAzIGZpbGVzIGNo YW5nZWQsIDExOCBpbnNlcnRpb25zKCspCgpkaWZmIC0tZ2l0IGEvdG9vbHMvbGlieGwvbGlieGwu YyBiL3Rvb2xzL2xpYnhsL2xpYnhsLmMKaW5kZXggYjQxYWRlOWZkYS4uYjNmYjhjMWY4YiAxMDA2 NDQKLS0tIGEvdG9vbHMvbGlieGwvbGlieGwuYworKysgYi90b29scy9saWJ4bC9saWJ4bC5jCkBA IC0xNjIsNiArMTYyLDEwIEBAIGludCBsaWJ4bF9jdHhfZnJlZShsaWJ4bF9jdHggKmN0eCkKICAg ICBhc3NlcnQoIWxpYnhsX19ldl9mZF9pc3JlZ2lzdGVyZWQoJmN0eC0+ZXZ0Y2huX2VmZCkpOwog ICAgIGFzc2VydCghbGlieGxfX2V2X2ZkX2lzcmVnaXN0ZXJlZCgmY3R4LT5zaWdjaGxkX3NlbGZw aXBlX2VmZCkpOwogCisgICAgbGlieGxfX2V2X3FtcF9zdG9wKGdjLCBjdHgtPnFtcF9ldik7Cisg ICAgZnJlZShjdHgtPnFtcF9ldik7CisgICAgY3R4LT5xbXBfZXYgPSBOVUxMOworCiAgICAgLyog Tm93IHRoZXJlIHNob3VsZCBiZSBubyBtb3JlIGV2ZW50cyByZXF1ZXN0ZWQgZnJvbSB0aGUgYXBw bGljYXRpb246ICovCiAKICAgICBhc3NlcnQoTElCWExfTElTVF9FTVBUWSgmY3R4LT5lZmRzKSk7 CmRpZmYgLS1naXQgYS90b29scy9saWJ4bC9saWJ4bF9pbnRlcm5hbC5oIGIvdG9vbHMvbGlieGwv bGlieGxfaW50ZXJuYWwuaAppbmRleCAxMmJiZmU0YTYzLi5kOWVlYmZkOThiIDEwMDY0NAotLS0g YS90b29scy9saWJ4bC9saWJ4bF9pbnRlcm5hbC5oCisrKyBiL3Rvb2xzL2xpYnhsL2xpYnhsX2lu dGVybmFsLmgKQEAgLTIwMSw2ICsyMDEsNyBAQCB0eXBlZGVmIHN0cnVjdCBsaWJ4bF9fYW8gbGli eGxfX2FvOwogdHlwZWRlZiBzdHJ1Y3QgbGlieGxfX2FvcF9vY2N1cnJlZCBsaWJ4bF9fYW9wX29j Y3VycmVkOwogdHlwZWRlZiBzdHJ1Y3QgbGlieGxfX29zZXZlbnRfaG9va19uZXh1cyBsaWJ4bF9f b3NldmVudF9ob29rX25leHVzOwogdHlwZWRlZiBzdHJ1Y3QgbGlieGxfX29zZXZlbnRfaG9va19u ZXhpIGxpYnhsX19vc2V2ZW50X2hvb2tfbmV4aTsKK3R5cGVkZWYgc3RydWN0IGxpYnhsX19ldl9x bXBfc3RhdGUgbGlieGxfX2V2X3FtcF9zdGF0ZTsKIAogdHlwZWRlZiBzdHJ1Y3QgbGlieGxfX2Rv bWFpbl9jcmVhdGVfc3RhdGUgbGlieGxfX2RvbWFpbl9jcmVhdGVfc3RhdGU7CiB0eXBlZGVmIHZv aWQgbGlieGxfX2RvbWFpbl9jcmVhdGVfY2Ioc3RydWN0IGxpYnhsX19lZ2MgKmVnYywKQEAgLTUw Myw2ICs1MDQsOSBAQCBzdHJ1Y3QgbGlieGxfX2N0eCB7CiAgICAgTElCWExfTElTVF9FTlRSWShs aWJ4bF9jdHgpIHNpZ2NobGRfdXNlcnNfZW50cnk7CiAKICAgICBsaWJ4bF92ZXJzaW9uX2luZm8g dmVyc2lvbl9pbmZvOworCisgICAgLy8gRklYTUU6IE1heSBuZWVkIGEgbGlzdCwgd2l0aCBvbiBz dGF0ZSBmb3IgZWFjaCBkb21pZAorICAgIGxpYnhsX19ldl9xbXBfc3RhdGUgKnFtcF9ldjsKIH07 CiAKIC8qCkBAIC00NDE4LDYgKzQ0MjIsMTAgQEAgc3RhdGljIGlubGluZSBib29sIGxpYnhsX19z dHJpbmdfaXNfZGVmYXVsdChjaGFyICoqcykKIHsKICAgICByZXR1cm4gKnMgPT0gTlVMTDsKIH0K KworX2hpZGRlbiBsaWJ4bF9fZXZfcW1wX3N0YXRlICpsaWJ4bF9fZXZfcW1wX3N0YXJ0KGxpYnhs X19nYyAqZ2MsIHVpbnQzMl90IGRvbWlkKTsKKy8qIEFsbG93IHRvIGRpc2Nvbm5lY3QgZnJvbSBh IFFNUCBzZXJ2ZXIgYW5kIGZyZWUgcmVzc291cmNlcyAqLworX2hpZGRlbiB2b2lkIGxpYnhsX19l dl9xbXBfc3RvcChsaWJ4bF9fZ2MgKiwgbGlieGxfX2V2X3FtcF9zdGF0ZSAqcW1wKTsKICNlbmRp ZgogCiAvKgpkaWZmIC0tZ2l0IGEvdG9vbHMvbGlieGwvbGlieGxfcW1wLmMgYi90b29scy9saWJ4 bC9saWJ4bF9xbXAuYwppbmRleCA5ZjRjM2Y1YzIwLi4wNzdjYWM5YzhhIDEwMDY0NAotLS0gYS90 b29scy9saWJ4bC9saWJ4bF9xbXAuYworKysgYi90b29scy9saWJ4bC9saWJ4bF9xbXAuYwpAQCAt MTM1MSw2ICsxMzUxLDExMiBAQCBpbnQgbGlieGxfX3FtcF9pbml0aWFsaXphdGlvbnMobGlieGxf X2djICpnYywgdWludDMyX3QgZG9taWQsCiAgICAgcmV0dXJuIHJldDsKIH0KIAorLyogLS0tLS0t LS0tLS0tIEltcGxlbWVudGF0aW9uIG9mIGxpYnhsX19ldl9xbXAgLS0tLS0tLS0tLS0tLS0tLSAq LworCitzdHJ1Y3QgbGlieGxfX2V2X3FtcF9zdGF0ZSB7CisgICAgbGlieGxfX2NhcmVmZCAqY2Zk OworICAgIGxpYnhsX19ldl9mZCBlZmQ7CisgICAgdWludDMyX3QgZG9taWQ7Cit9OworCitzdGF0 aWMgdm9pZCBldl9xbXBfZmRfY2FsbGJhY2sobGlieGxfX2VnYyAqZWdjLCBsaWJ4bF9fZXZfZmQg KmV2X2ZkLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBmZCwgc2hvcnQgZXZl bnRzLCBzaG9ydCByZXZlbnRzKQoreworfQorCitzdGF0aWMgdm9pZCBsaWJ4bF9fZXZfcW1wX3N0 YXRlX2luaXQobGlieGxfX2V2X3FtcF9zdGF0ZSAqcW1wKQoreworICAgIHFtcC0+ZG9taWQgPSBJ TlZBTElEX0RPTUlEOworICAgIHFtcC0+Y2ZkID0gTlVMTDsKKyAgICBsaWJ4bF9fZXZfZmRfaW5p dCgmcW1wLT5lZmQpOworfQorCitsaWJ4bF9fZXZfcW1wX3N0YXRlICpsaWJ4bF9fZXZfcW1wX3N0 YXJ0KGxpYnhsX19nYyAqZ2MsIHVpbnQzMl90IGRvbWlkKQoreworICAgIGludCByYywgcjsKKyAg ICBzdHJ1Y3Qgc29ja2FkZHJfdW4gdW47CisgICAgY29uc3QgY2hhciAqcW1wX3NvY2tldF9wYXRo OworICAgIGxpYnhsX19ldl9xbXBfc3RhdGUgKnFtcDsKKworICAgIENUWF9MT0NLOworCisgICAg aWYgKCFDVFgtPnFtcF9ldikgeworICAgICAgICBxbXAgPSBsaWJ4bF9fbWFsbG9jKE5PR0MsIHNp emVvZigqcW1wKSk7CisgICAgICAgIENUWC0+cW1wX2V2ID0gcW1wOworICAgICAgICBsaWJ4bF9f ZXZfcW1wX3N0YXRlX2luaXQocW1wKTsKKyAgICB9IGVsc2UgeworICAgICAgICBxbXAgPSBDVFgt PnFtcF9ldjsKKyAgICB9CisKKyAgICBpZiAobGlieGxfX2V2X2ZkX2lzcmVnaXN0ZXJlZCgmcW1w LT5lZmQpKSB7CisgICAgICAgIExPRyhERUJVRywgInJldXNpbmcgY29ubmVjdGlvbjogJWQgPT0g JWQiLCBkb21pZCwgcW1wLT5kb21pZCk7CisgICAgICAgIGFzc2VydChkb21pZCA9PSBxbXAtPmRv bWlkKTsKKyAgICAgICAgcmMgPSAwOworICAgICAgICBnb3RvIG91dDsKKyAgICB9CisKKyAgICBx bXAtPmRvbWlkID0gZG9taWQ7CisKKyAgICBxbXBfc29ja2V0X3BhdGggPSBHQ1NQUklOVEYoIiVz L3FtcC1saWJ4bC0lZCIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpYnhsX19y dW5fZGlyX3BhdGgoKSwgZG9taWQpOworCisgICAgTE9HRChERUJVRywgZG9taWQsICJTdGFydGlu ZyBuZXcgUU1QIGV2ZW50IGhhbmRsZXIiKTsKKyAgICBsaWJ4bF9fY2FyZWZkX2JlZ2luKCk7Cisg ICAgcW1wLT5jZmQgPSBsaWJ4bF9fY2FyZWZkX29wZW5lZChDVFgsIHNvY2tldChBRl9VTklYLCBT T0NLX1NUUkVBTSwgMCkpOworICAgIGlmICghcW1wLT5jZmQpIHsKKyAgICAgICAgTE9HRUQoRVJS T1IsIGRvbWlkLCAic29ja2V0KCkgZmFpbGVkIik7CisgICAgICAgIHJjID0gRVJST1JfRkFJTDsK KyAgICAgICAgZ290byBvdXQ7CisgICAgfQorICAgIHJjID0gbGlieGxfZmRfc2V0X25vbmJsb2Nr KENUWCwgbGlieGxfX2NhcmVmZF9mZChxbXAtPmNmZCksIDEpOworICAgIGlmIChyYykKKyAgICAg ICAgZ290byBvdXQ7CisKKyAgICBpZiAoc2l6ZW9mKHVuLnN1bl9wYXRoKSA8PSBzdHJsZW4ocW1w X3NvY2tldF9wYXRoKSkgeworICAgICAgICByYyA9IC0xOworICAgICAgICBnb3RvIG91dDsKKyAg ICB9CisgICAgbWVtc2V0KCZ1biwgMCwgc2l6ZW9mKHVuKSk7CisgICAgdW4uc3VuX2ZhbWlseSA9 IEFGX1VOSVg7CisgICAgYXNzZXJ0KHN0cmxlbihxbXBfc29ja2V0X3BhdGgpIDw9IHNpemVvZih1 bi5zdW5fcGF0aCkpOworICAgIHN0cm5jcHkodW4uc3VuX3BhdGgsIHFtcF9zb2NrZXRfcGF0aCwg c2l6ZW9mKHVuLnN1bl9wYXRoKSk7CisKKyAgICByID0gY29ubmVjdChsaWJ4bF9fY2FyZWZkX2Zk KHFtcC0+Y2ZkKSwKKyAgICAgICAgICAgICAgICAoc3RydWN0IHNvY2thZGRyICopICZ1biwgc2l6 ZW9mKHVuKSk7CisgICAgaWYgKHIpIHsKKyAgICAgICAgTE9HRUQoRVJST1IsIGRvbWlkLCAiRmFp bGVkIHRvIGNvbm5lY3QgdG8gUU1QIHNvY2tldCAlcyIsCisgICAgICAgICAgICAgIHFtcF9zb2Nr ZXRfcGF0aCk7CisgICAgICAgIHJjID0gRVJST1JfRkFJTDsKKyAgICAgICAgZ290byBvdXQ7Cisg ICAgfQorCisgICAgcmMgPSBsaWJ4bF9fZXZfZmRfcmVnaXN0ZXIoZ2MsICZxbXAtPmVmZCwKKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBldl9xbXBfZmRfY2FsbGJhY2ssCisgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgbGlieGxfX2NhcmVmZF9mZChxbXAtPmNmZCksCisgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgUE9MTElOKTsKKworb3V0OgorICAgIGlmIChyYykK KyAgICAgICAgbGlieGxfX2V2X3FtcF9zdG9wKGdjLCBxbXApOworICAgIENUWF9VTkxPQ0s7Cisg ICAgcmV0dXJuIHFtcDsKK30KKwordm9pZCBsaWJ4bF9fZXZfcW1wX3N0b3AobGlieGxfX2djICpn YywgbGlieGxfX2V2X3FtcF9zdGF0ZSAqcW1wKQoreworICAgIGlmICghcW1wKQorICAgICAgICBy ZXR1cm47CisKKyAgICBDVFhfTE9DSzsKKworICAgIExPR0QoREVCVUcsIHFtcC0+ZG9taWQsICJT dG9wcGluZyBRTVAgaGFuZGxlciIpOworCisgICAgbGlieGxfX2V2X2ZkX2RlcmVnaXN0ZXIoZ2Ms ICZxbXAtPmVmZCk7CisgICAgbGlieGxfX2NhcmVmZF9jbG9zZShxbXAtPmNmZCk7CisgICAgcW1w LT5jZmQgPSBOVUxMOworCisgICAgQ1RYX1VOTE9DSzsKK30KIC8qCiAgKiBMb2NhbCB2YXJpYWJs ZXM6CiAgKiBtb2RlOiBDCi0tIApBbnRob255IFBFUkFSRAoKCl9fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fClhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRl dmVsQGxpc3RzLnhlbnByb2plY3Qub3JnCmh0dHBzOi8vbGlzdHMueGVucHJvamVjdC5vcmcvbWFp bG1hbi9saXN0aW5mby94ZW4tZGV2ZWw=