From mboxrd@z Thu Jan 1 00:00:00 1970 From: Anthony PERARD Subject: [PATCH v5 08/15] libxl_qmp: Handle messages from QEMU Date: Fri, 7 Sep 2018 16:10:57 +0100 Message-ID: <20180907151104.32306-9-anthony.perard@citrix.com> References: <20180907151104.32306-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 1fyIPe-0003Iu-Cr for xen-devel@lists.xenproject.org; Fri, 07 Sep 2018 15:11:10 +0000 In-Reply-To: <20180907151104.32306-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 , Ian Jackson , Wei Liu List-Id: xen-devel@lists.xenproject.org VGhpcyBwYXRjaCB3aWxsIGhhbmRsZSBtZXNzYWdlcyByZWNlaXZlZCwgYW5kIGNhbGxzIGNhbGxi YWNrcyBhc3NvY2lhdGVkCndpdGggdGhlIGxpYnhsX19ldl9xbXAgd2hlbiB0aGUgZXhwZWN0ZWQg cmVzcG9uc2UgaXMgcmVjZWl2ZWQuCgpUaGlzIGFsc28gcHJpbnQgZXJyb3IgbWVzc2FnZXMgZnJv bSBRTVAgb24gYmVoYWxmIG9mIHRoZSBjYWxsYmFjay4KClNpZ25lZC1vZmYtYnk6IEFudGhvbnkg UEVSQVJEIDxhbnRob255LnBlcmFyZEBjaXRyaXguY29tPgotLS0KCk5vdGVzOgogICAgdjU6CiAg ICAgICAgQWRkaW5nIGRlZmF1bHQ6YWJvcnQoKSBpbiBxbXBfZXZfaGFuZGxlX21lc3NhZ2UuCgog dG9vbHMvbGlieGwvbGlieGxfcW1wLmMgICAgICAgICAgICAgIHwgMTE5ICsrKysrKysrKysrKysr KysrKysrKysrKysrKwogdG9vbHMvbGlieGwvbGlieGxfdHlwZXMuaWRsICAgICAgICAgIHwgICA0 ICsKIHRvb2xzL2xpYnhsL2xpYnhsX3R5cGVzX2ludGVybmFsLmlkbCB8ICAgOCArKwogMyBmaWxl cyBjaGFuZ2VkLCAxMzEgaW5zZXJ0aW9ucygrKQoKZGlmZiAtLWdpdCBhL3Rvb2xzL2xpYnhsL2xp YnhsX3FtcC5jIGIvdG9vbHMvbGlieGwvbGlieGxfcW1wLmMKaW5kZXggMzUxZmIxYTI5Mi4uZmZi YzA1NTExMCAxMDA2NDQKLS0tIGEvdG9vbHMvbGlieGwvbGlieGxfcW1wLmMKKysrIGIvdG9vbHMv bGlieGwvbGlieGxfcW1wLmMKQEAgLTEzMzEsNiArMTMzMSwxMjEgQEAgc3RhdGljIGludCBxbXBf ZXZfcHJlcGFyZV9jbWQobGlieGxfX2djICpnYywKICAgICByZXR1cm4gMDsKIH0KIAorLyoKKyAq IEhhbmRsZSBtZXNzYWdlcyByZWNlaXZlZCBmcm9tIFFNUCBzZXJ2ZXIKKyAqLworCitzdGF0aWMg aW50IHFtcF9lcnJvcl9jbGFzc190b19saWJ4bF9lcnJvcl9jb2RlKGNvbnN0IGxpYnhsX19xbXBf ZXJyb3JfY2xhc3MgYykKK3sKKyAgICBzd2l0Y2ggKGMpIHsKKyAgICBjYXNlIExJQlhMX19RTVBf RVJST1JfQ0xBU1NfR0VORVJJQ0VSUk9SOgorICAgICAgICByZXR1cm4gRVJST1JfUU1QX0dFTkVS SUNfRVJST1I7CisgICAgY2FzZSBMSUJYTF9fUU1QX0VSUk9SX0NMQVNTX0NPTU1BTkROT1RGT1VO RDoKKyAgICAgICAgcmV0dXJuIEVSUk9SX1FNUF9DT01NQU5EX05PVF9GT1VORDsKKyAgICBjYXNl IExJQlhMX19RTVBfRVJST1JfQ0xBU1NfREVWSUNFTk9UQUNUSVZFOgorICAgICAgICByZXR1cm4g RVJST1JfUU1QX0RFVklDRV9OT1RfQUNUSVZFOworICAgIGNhc2UgTElCWExfX1FNUF9FUlJPUl9D TEFTU19ERVZJQ0VOT1RGT1VORDoKKyAgICAgICAgcmV0dXJuIEVSUk9SX1FNUF9ERVZJQ0VfTk9U X0ZPVU5EOworICAgIGRlZmF1bHQ6CisgICAgICAgIGFib3J0KCk7CisgICAgfQorfQorCisvKiBy ZXR1cm4gMSB3aGVuIGEgdXNlciBjYWxsYmFjayBhcyBiZWVuIGNhbGxlZCAqLworc3RhdGljIGlu dCBxbXBfZXZfaGFuZGxlX3Jlc3BvbnNlKGxpYnhsX19lZ2MgKmVnYywKKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBsaWJ4bF9fZXZfcW1wICpldiwKKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBjb25zdCBsaWJ4bF9fanNvbl9vYmplY3QgKnJlc3AsCisgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlieGxfX3FtcF9tZXNzYWdlX3R5cGUgdHlwZSkK K3sKKyAgICBFR0NfR0M7CisgICAgY29uc3QgbGlieGxfX2pzb25fb2JqZWN0ICpyZXNwb25zZTsK KyAgICBjb25zdCBsaWJ4bF9fanNvbl9vYmplY3QgKm87CisgICAgaW50IHJjOworICAgIGludCBp ZDsKKworICAgIG8gPSBsaWJ4bF9fanNvbl9tYXBfZ2V0KCJpZCIsIHJlc3AsIEpTT05fSU5URUdF Uik7CisgICAgaWYgKCFvKSB7CisgICAgICAgIGNvbnN0IGNoYXIgKmVycm9yX2Rlc2M7CisKKyAg ICAgICAgLyogdW5leHBlY3RlZCBtZXNzYWdlLCBhdHRlbXB0IHRvIGZpbmQgYW4gZXJyb3IgZGVz Y3JpcHRpb24gKi8KKyAgICAgICAgbyA9IGxpYnhsX19qc29uX21hcF9nZXQoImVycm9yIiwgcmVz cCwgSlNPTl9NQVApOworICAgICAgICBvID0gbGlieGxfX2pzb25fbWFwX2dldCgiZGVzYyIsIG8s IEpTT05fU1RSSU5HKTsKKyAgICAgICAgZXJyb3JfZGVzYyA9IGxpYnhsX19qc29uX29iamVjdF9n ZXRfc3RyaW5nKG8pOworICAgICAgICBpZiAoZXJyb3JfZGVzYykKKyAgICAgICAgICAgIExPR0Qo RVJST1IsIGV2LT5kb21pZCwgIiVzIiwgZXJyb3JfZGVzYyk7CisgICAgICAgIGVsc2UKKyAgICAg ICAgICAgIExPR0QoRVJST1IsIGV2LT5kb21pZCwgIlJlY2VpdmVkIHVuZXhwZWN0ZWQgbWVzc2Fn ZTogJXMiLAorICAgICAgICAgICAgICAgICBsaWJ4bF9fanNvbl9vYmplY3RfdG9fanNvbihnYywg cmVzcCkpOworICAgICAgICByZXR1cm4gMDsKKyAgICB9CisKKyAgICBpZCA9IGxpYnhsX19qc29u X29iamVjdF9nZXRfaW50ZWdlcihvKTsKKyAgICBpZiAoaWQgIT0gZXYtPmlkKQorICAgICAgICBy ZXR1cm4gMDsKKworICAgIHN3aXRjaCAodHlwZSkgeworICAgIGNhc2UgTElCWExfX1FNUF9NRVNT QUdFX1RZUEVfUkVUVVJOOiB7CisgICAgICAgIHJlc3BvbnNlID0gbGlieGxfX2pzb25fbWFwX2dl dCgicmV0dXJuIiwgcmVzcCwgSlNPTl9BTlkpOworICAgICAgICByYyA9IDA7CisgICAgICAgIGJy ZWFrOworICAgIH0KKyAgICBjYXNlIExJQlhMX19RTVBfTUVTU0FHRV9UWVBFX0VSUk9SOiB7Cisg ICAgICAgIGNvbnN0IGNoYXIgKnM7CisgICAgICAgIGNvbnN0IGxpYnhsX19qc29uX29iamVjdCAq ZXJyOworICAgICAgICBsaWJ4bF9fcW1wX2Vycm9yX2NsYXNzIGVycm9yX2NsYXNzOworCisgICAg ICAgIHJjID0gRVJST1JfRkFJTDsKKyAgICAgICAgcmVzcG9uc2UgPSBOVUxMOworCisgICAgICAg IGVyciA9IGxpYnhsX19qc29uX21hcF9nZXQoImVycm9yIiwgcmVzcCwgSlNPTl9NQVApOworICAg ICAgICBvID0gbGlieGxfX2pzb25fbWFwX2dldCgiY2xhc3MiLCBlcnIsIEpTT05fU1RSSU5HKTsK KyAgICAgICAgcyA9IGxpYnhsX19qc29uX29iamVjdF9nZXRfc3RyaW5nKG8pOworICAgICAgICBp ZiAocyAmJiAhbGlieGxfX3FtcF9lcnJvcl9jbGFzc19mcm9tX3N0cmluZyhzLCAmZXJyb3JfY2xh c3MpKQorICAgICAgICAgICAgcmMgPSBxbXBfZXJyb3JfY2xhc3NfdG9fbGlieGxfZXJyb3JfY29k ZShlcnJvcl9jbGFzcyk7CisKKyAgICAgICAgbyA9IGxpYnhsX19qc29uX21hcF9nZXQoImRlc2Mi LCBlcnIsIEpTT05fU1RSSU5HKTsKKyAgICAgICAgcyA9IGxpYnhsX19qc29uX29iamVjdF9nZXRf c3RyaW5nKG8pOworICAgICAgICBpZiAocykKKyAgICAgICAgICAgIExPR0QoRVJST1IsIGV2LT5k b21pZCwgIiVzIiwgcyk7CisKKyAgICAgICAgYnJlYWs7CisgICAgfQorICAgIGRlZmF1bHQ6Cisg ICAgICAgIGFib3J0KCk7CisgICAgfQorCisgICAgZXYtPmlkID0gLTE7CisgICAgZXYtPmNhbGxi YWNrKGVnYywgZXYsIHJlc3BvbnNlLCByYyk7IC8qIG11c3QgYmUgbGFzdCAqLworICAgIHJldHVy biAxOworfQorCisvKiByZXR1cm4gMSB3aGVuIGEgdXNlciBjYWxsYmFjayBhcyBiZWVuIGNhbGxl ZCAqLworc3RhdGljIGludCBxbXBfZXZfaGFuZGxlX21lc3NhZ2UobGlieGxfX2VnYyAqZWdjLAor ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlieGxfX2V2X3FtcCAqZXYsCisgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBsaWJ4bF9fanNvbl9vYmplY3QgKnJl c3ApCit7CisgICAgRUdDX0dDOworICAgIGxpYnhsX19xbXBfbWVzc2FnZV90eXBlIHR5cGUgPSBx bXBfcmVzcG9uc2VfdHlwZShyZXNwKTsKKworICAgIHN3aXRjaCAodHlwZSkgeworICAgIGNhc2Ug TElCWExfX1FNUF9NRVNTQUdFX1RZUEVfUU1QOgorICAgICAgICAvKiBncmVldGluZyBtZXNzYWdl ICovCisgICAgICAgIHJldHVybiAwOworICAgIGNhc2UgTElCWExfX1FNUF9NRVNTQUdFX1RZUEVf UkVUVVJOOgorICAgIGNhc2UgTElCWExfX1FNUF9NRVNTQUdFX1RZUEVfRVJST1I6CisgICAgICAg IHJldHVybiBxbXBfZXZfaGFuZGxlX3Jlc3BvbnNlKGVnYywgZXYsIHJlc3AsIHR5cGUpOworICAg IGNhc2UgTElCWExfX1FNUF9NRVNTQUdFX1RZUEVfRVZFTlQ6CisgICAgICAgIC8qIEV2ZW50IGFy ZSBpZ25vcmVkICovCisgICAgICAgIHJldHVybiAwOworICAgIGNhc2UgTElCWExfX1FNUF9NRVNT QUdFX1RZUEVfSU5WQUxJRDoKKyAgICAgICAgcmV0dXJuIDA7CisgICAgZGVmYXVsdDoKKyAgICAg ICAgYWJvcnQoKTsKKyAgICB9CisKKyAgICByZXR1cm4gMDsKK30KKwogLyoKICAqIFFNUCBGRCBj YWxsYmFja3MKICAqLwpAQCAtMTQyNiw2ICsxNTQxLDEwIEBAIHN0YXRpYyBpbnQgcW1wX2V2X2Nh bGxiYWNrX3JlYWRhYmxlKGxpYnhsX19lZ2MgKmVnYywgbGlieGxfX2V2X3FtcCAqZXYsIGludCBm ZCkKICAgICAgICAgICAgIGVuZCA9IE5VTEw7CiAKICAgICAgICAgTE9HX1FNUCgiSlNPTiBvYmpl Y3QgcmVjZWl2ZWQ6ICVzIiwgbGlieGxfX2pzb25fb2JqZWN0X3RvX2pzb24oZ2MsIG8pKTsKKwor ICAgICAgICAvKiBNdXN0IGJlIGxhc3QgYW5kIHJldHVybiB3aGVuIHRoZSB1c2VyIGNhbGxiYWNr IGlzIGNhbGxlZCAqLworICAgICAgICBpZiAocW1wX2V2X2hhbmRsZV9tZXNzYWdlKGVnYywgZXYs IG8pID09IDEpCisgICAgICAgICAgICByZXR1cm4gMDsKICAgICB9CiAKICAgICByZXR1cm4gMDsK ZGlmZiAtLWdpdCBhL3Rvb2xzL2xpYnhsL2xpYnhsX3R5cGVzLmlkbCBiL3Rvb2xzL2xpYnhsL2xp YnhsX3R5cGVzLmlkbAppbmRleCA0YTM4NTgwMWJhLi5lMTA0ZmVhOTQxIDEwMDY0NAotLS0gYS90 b29scy9saWJ4bC9saWJ4bF90eXBlcy5pZGwKKysrIGIvdG9vbHMvbGlieGwvbGlieGxfdHlwZXMu aWRsCkBAIC02OSw2ICs2OSwxMCBAQCBsaWJ4bF9lcnJvciA9IEVudW1lcmF0aW9uKCJlcnJvciIs IFsKICAgICAoLTIzLCAiTk9URk9VTkQiKSwKICAgICAoLTI0LCAiRE9NQUlOX0RFU1RST1lFRCIp LCAjIFRhcmdldCBkb21haW4gY2Vhc2VkIHRvIGV4aXN0IGR1cmluZyBvcAogICAgICgtMjUsICJG RUFUVVJFX1JFTU9WRUQiKSwgIyBGb3IgZnVuY3Rpb25hbGl0eSB0aGF0IGhhcyBiZWVuIHJlbW92 ZWQKKyAgICAoLTI2LCAiUU1QX0dFTkVSSUNfRVJST1IiKSwgIyB1bnNwZWNpZmllZCBxbXAgZXJy b3IKKyAgICAoLTI3LCAiUU1QX0NPTU1BTkRfTk9UX0ZPVU5EIiksICMgdGhlIHJlcXVlc3RlZCBj b21tYW5kIGhhcyBub3QgYmVlbiBmb3VuZAorICAgICgtMjgsICJRTVBfREVWSUNFX05PVF9BQ1RJ VkUiKSwgIyBhIGRldmljZSBoYXMgZmFpbGVkIHRvIGJlIGJlY29tZSBhY3RpdmUKKyAgICAoLTI5 LCAiUU1QX0RFVklDRV9OT1RfRk9VTkQiKSwgIyB0aGUgcmVxdWVzdGVkIGRldmljZSBoYXMgbm90 IGJlZW4gZm91bmQKICAgICBdLCB2YWx1ZV9uYW1lc3BhY2UgPSAiIikKIAogbGlieGxfZG9tYWlu X3R5cGUgPSBFbnVtZXJhdGlvbigiZG9tYWluX3R5cGUiLCBbCmRpZmYgLS1naXQgYS90b29scy9s aWJ4bC9saWJ4bF90eXBlc19pbnRlcm5hbC5pZGwgYi90b29scy9saWJ4bC9saWJ4bF90eXBlc19p bnRlcm5hbC5pZGwKaW5kZXggMzc0MDJlNDljYi4uMTUzNmQwMjIxNSAxMDA2NDQKLS0tIGEvdG9v bHMvbGlieGwvbGlieGxfdHlwZXNfaW50ZXJuYWwuaWRsCisrKyBiL3Rvb2xzL2xpYnhsL2xpYnhs X3R5cGVzX2ludGVybmFsLmlkbApAQCAtMTMsNiArMTMsMTQgQEAgbGlieGxfX3FtcF9tZXNzYWdl X3R5cGUgPSBFbnVtZXJhdGlvbigicW1wX21lc3NhZ2VfdHlwZSIsIFsKICAgICAoNSwgImludmFs aWQiKSwKICAgICBdKQogCitsaWJ4bF9fcW1wX2Vycm9yX2NsYXNzID0gRW51bWVyYXRpb24oInFt cF9lcnJvcl9jbGFzcyIsIFsKKyAgICAjIFFNUCBlcnJvciBjbGFzc2VzIGRlc2NyaWJlZCBpbiBR RU1VIHNvdXJjZXMgY29kZSAoUWFwaUVycm9yQ2xhc3MpCisgICAgKDEsICJHZW5lcmljRXJyb3Ii KSwKKyAgICAoMiwgIkNvbW1hbmROb3RGb3VuZCIpLAorICAgICgzLCAiRGV2aWNlTm90QWN0aXZl IiksCisgICAgKDQsICJEZXZpY2VOb3RGb3VuZCIpLAorICAgIF0pCisKIGxpYnhsX19kZXZpY2Vf a2luZCA9IEVudW1lcmF0aW9uKCJkZXZpY2Vfa2luZCIsIFsKICAgICAoMCwgIk5PTkUiKSwKICAg ICAoMSwgIlZJRiIpLAotLSAKQW50aG9ueSBQRVJBUkQKCgpfX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fXwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZl bEBsaXN0cy54ZW5wcm9qZWN0Lm9yZwpodHRwczovL2xpc3RzLnhlbnByb2plY3Qub3JnL21haWxt YW4vbGlzdGluZm8veGVuLWRldmVs