From mboxrd@z Thu Jan 1 00:00:00 1970 From: Anthony PERARD Subject: [PATCH v4 22/32] libxl_qmp: Handle messages from QEMU Date: Fri, 27 Jul 2018 15:06:04 +0100 Message-ID: <20180727140614.13256-23-anthony.perard@citrix.com> References: <20180727140614.13256-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 1fj3jg-0008Su-C8 for xen-devel@lists.xenproject.org; Fri, 27 Jul 2018 14:28:52 +0000 In-Reply-To: <20180727140614.13256-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 VGhpcyB3aWxsIGhhbmRsZXMgbWVzc2FnZXMgcmVjZWl2ZWQsIGFuZCBjYWxscyBjYWxsYmFja3Mg YXNzb2NpYXRlZCB3aXRoCnRoZSBsaWJ4bF9fZXZfcW1wIHdoZW4gdGhlIGV4cGVjdGVkIHJlc3Bv bnNlIGlzIHJlY2VpdmVkLgoKVGhpcyBhbHNvIHByaW50IGVycm9yIG1lc3NhZ2VzIGZyb20gUU1Q IG9uIGJlaGFsZiBvZiB0aGUgY2FsbGJhY2suCgpTaWduZWQtb2ZmLWJ5OiBBbnRob255IFBFUkFS RCA8YW50aG9ueS5wZXJhcmRAY2l0cml4LmNvbT4KLS0tCgpOb3RlczoKICAgIHY0OgogICAgICAg IFByb3ZpZGUgYW4gbGlieGwgZXJyb3IgY29kZSB0byBjYWxsYmFja3Mgb24gZXJyb3IgaW5zdGVh ZCBvZiBhCiAgICAgICAgcW1wX2Vycm9yX2NsYXNzCgogdG9vbHMvbGlieGwvbGlieGxfcW1wLmMg ICAgICAgICAgICAgIHwgMTE2ICsrKysrKysrKysrKysrKysrKysrKysrKysrKwogdG9vbHMvbGli eGwvbGlieGxfdHlwZXMuaWRsICAgICAgICAgIHwgICA0ICsKIHRvb2xzL2xpYnhsL2xpYnhsX3R5 cGVzX2ludGVybmFsLmlkbCB8ICAgOCArKwogMyBmaWxlcyBjaGFuZ2VkLCAxMjggaW5zZXJ0aW9u cygrKQoKZGlmZiAtLWdpdCBhL3Rvb2xzL2xpYnhsL2xpYnhsX3FtcC5jIGIvdG9vbHMvbGlieGwv bGlieGxfcW1wLmMKaW5kZXggYWFiZjlhZDVlNy4uZTY0OWI4MDU0ZCAxMDA2NDQKLS0tIGEvdG9v bHMvbGlieGwvbGlieGxfcW1wLmMKKysrIGIvdG9vbHMvbGlieGwvbGlieGxfcW1wLmMKQEAgLTEz MzAsNiArMTMzMCwxMTggQEAgc3RhdGljIGludCBxbXBfZXZfcHJlcGFyZV9jbWQobGlieGxfX2dj ICpnYywKICAgICByZXR1cm4gMDsKIH0KIAorLyoKKyAqIEhhbmRsZSBtZXNzYWdlcyByZWNlaXZl ZCBmcm9tIFFNUCBzZXJ2ZXIKKyAqLworCitzdGF0aWMgaW50IHFtcF9lcnJvcl9jbGFzc190b19s aWJ4bF9lcnJvcl9jb2RlKGNvbnN0IGxpYnhsX19xbXBfZXJyb3JfY2xhc3MgYykKK3sKKyAgICBz d2l0Y2ggKGMpIHsKKyAgICBjYXNlIExJQlhMX19RTVBfRVJST1JfQ0xBU1NfR0VORVJJQ0VSUk9S OgorICAgICAgICByZXR1cm4gRVJST1JfUU1QX0dFTkVSSUNfRVJST1I7CisgICAgY2FzZSBMSUJY TF9fUU1QX0VSUk9SX0NMQVNTX0NPTU1BTkROT1RGT1VORDoKKyAgICAgICAgcmV0dXJuIEVSUk9S X1FNUF9DT01NQU5EX05PVF9GT1VORDsKKyAgICBjYXNlIExJQlhMX19RTVBfRVJST1JfQ0xBU1Nf REVWSUNFTk9UQUNUSVZFOgorICAgICAgICByZXR1cm4gRVJST1JfUU1QX0RFVklDRV9OT1RfQUNU SVZFOworICAgIGNhc2UgTElCWExfX1FNUF9FUlJPUl9DTEFTU19ERVZJQ0VOT1RGT1VORDoKKyAg ICAgICAgcmV0dXJuIEVSUk9SX1FNUF9ERVZJQ0VfTk9UX0ZPVU5EOworICAgIGRlZmF1bHQ6Cisg ICAgICAgIGFib3J0KCk7CisgICAgfQorfQorCisvKiByZXR1cm4gMSB3aGVuIGEgdXNlciBjYWxs YmFjayBhcyBiZWVuIGNhbGxlZCAqLworc3RhdGljIGludCBxbXBfZXZfaGFuZGxlX3Jlc3BvbnNl KGxpYnhsX19lZ2MgKmVnYywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWJ4 bF9fZXZfcW1wICpldiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBs aWJ4bF9fanNvbl9vYmplY3QgKnJlc3AsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgbGlieGxfX3FtcF9tZXNzYWdlX3R5cGUgdHlwZSkKK3sKKyAgICBFR0NfR0M7CisgICAgY29u c3QgbGlieGxfX2pzb25fb2JqZWN0ICpyZXNwb25zZTsKKyAgICBjb25zdCBsaWJ4bF9fanNvbl9v YmplY3QgKm87CisgICAgaW50IHJjOworICAgIGludCBpZDsKKworICAgIG8gPSBsaWJ4bF9fanNv bl9tYXBfZ2V0KCJpZCIsIHJlc3AsIEpTT05fSU5URUdFUik7CisgICAgaWYgKCFvKSB7CisgICAg ICAgIGNvbnN0IGNoYXIgKmVycm9yX2Rlc2M7CisKKyAgICAgICAgLyogdW5leHBlY3RlZCBtZXNz YWdlLCBhdHRlbXB0IHRvIGZpbmQgYW4gZXJyb3IgZGVzY3JpcHRpb24gKi8KKyAgICAgICAgbyA9 IGxpYnhsX19qc29uX21hcF9nZXQoImVycm9yIiwgcmVzcCwgSlNPTl9NQVApOworICAgICAgICBv ID0gbGlieGxfX2pzb25fbWFwX2dldCgiZGVzYyIsIG8sIEpTT05fU1RSSU5HKTsKKyAgICAgICAg ZXJyb3JfZGVzYyA9IGxpYnhsX19qc29uX29iamVjdF9nZXRfc3RyaW5nKG8pOworICAgICAgICBp ZiAoZXJyb3JfZGVzYykKKyAgICAgICAgICAgIExPR0QoRVJST1IsIGV2LT5kb21pZCwgIiVzIiwg ZXJyb3JfZGVzYyk7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIExPR0QoRVJST1IsIGV2LT5k b21pZCwgIlJlY2VpdmVkIHVuZXhwZWN0ZWQgbWVzc2FnZTogJXMiLAorICAgICAgICAgICAgICAg ICBsaWJ4bF9fanNvbl9vYmplY3RfdG9fanNvbihnYywgcmVzcCkpOworICAgICAgICByZXR1cm4g MDsKKyAgICB9CisKKyAgICBpZCA9IGxpYnhsX19qc29uX29iamVjdF9nZXRfaW50ZWdlcihvKTsK KyAgICBpZiAoaWQgIT0gZXYtPmlkKQorICAgICAgICByZXR1cm4gMDsKKworICAgIHN3aXRjaCAo dHlwZSkgeworICAgIGNhc2UgTElCWExfX1FNUF9NRVNTQUdFX1RZUEVfUkVUVVJOOiB7CisgICAg ICAgIHJlc3BvbnNlID0gbGlieGxfX2pzb25fbWFwX2dldCgicmV0dXJuIiwgcmVzcCwgSlNPTl9B TlkpOworICAgICAgICByYyA9IDA7CisgICAgICAgIGJyZWFrOworICAgIH0KKyAgICBjYXNlIExJ QlhMX19RTVBfTUVTU0FHRV9UWVBFX0VSUk9SOiB7CisgICAgICAgIGNvbnN0IGNoYXIgKnM7Cisg ICAgICAgIGNvbnN0IGxpYnhsX19qc29uX29iamVjdCAqZXJyOworICAgICAgICBsaWJ4bF9fcW1w X2Vycm9yX2NsYXNzIGVycm9yX2NsYXNzOworCisgICAgICAgIHJjID0gRVJST1JfRkFJTDsKKyAg ICAgICAgcmVzcG9uc2UgPSBOVUxMOworCisgICAgICAgIGVyciA9IGxpYnhsX19qc29uX21hcF9n ZXQoImVycm9yIiwgcmVzcCwgSlNPTl9NQVApOworICAgICAgICBvID0gbGlieGxfX2pzb25fbWFw X2dldCgiY2xhc3MiLCBlcnIsIEpTT05fU1RSSU5HKTsKKyAgICAgICAgcyA9IGxpYnhsX19qc29u X29iamVjdF9nZXRfc3RyaW5nKG8pOworICAgICAgICBpZiAocyAmJiAhbGlieGxfX3FtcF9lcnJv cl9jbGFzc19mcm9tX3N0cmluZyhzLCAmZXJyb3JfY2xhc3MpKQorICAgICAgICAgICAgcmMgPSBx bXBfZXJyb3JfY2xhc3NfdG9fbGlieGxfZXJyb3JfY29kZShlcnJvcl9jbGFzcyk7CisKKyAgICAg ICAgbyA9IGxpYnhsX19qc29uX21hcF9nZXQoImRlc2MiLCBlcnIsIEpTT05fU1RSSU5HKTsKKyAg ICAgICAgcyA9IGxpYnhsX19qc29uX29iamVjdF9nZXRfc3RyaW5nKG8pOworICAgICAgICBpZiAo cykKKyAgICAgICAgICAgIExPR0QoRVJST1IsIGV2LT5kb21pZCwgIiVzIiwgcyk7CisKKyAgICAg ICAgYnJlYWs7CisgICAgfQorICAgIGRlZmF1bHQ6CisgICAgICAgIGFib3J0KCk7CisgICAgfQor CisgICAgZXYtPmlkID0gLTE7CisgICAgZXYtPmNhbGxiYWNrKGVnYywgZXYsIHJlc3BvbnNlLCBy Yyk7IC8qIG11c3QgYmUgbGFzdCAqLworICAgIHJldHVybiAxOworfQorCisvKiByZXR1cm4gMSB3 aGVuIGEgdXNlciBjYWxsYmFjayBhcyBiZWVuIGNhbGxlZCAqLworc3RhdGljIGludCBxbXBfZXZf aGFuZGxlX21lc3NhZ2UobGlieGxfX2VnYyAqZWdjLAorICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgbGlieGxfX2V2X3FtcCAqZXYsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBjb25zdCBsaWJ4bF9fanNvbl9vYmplY3QgKnJlc3ApCit7CisgICAgRUdDX0dDOworICAg IGxpYnhsX19xbXBfbWVzc2FnZV90eXBlIHR5cGUgPSBxbXBfcmVzcG9uc2VfdHlwZShyZXNwKTsK KworICAgIHN3aXRjaCAodHlwZSkgeworICAgIGNhc2UgTElCWExfX1FNUF9NRVNTQUdFX1RZUEVf UU1QOgorICAgICAgICAvKiBncmVldGluZyBtZXNzYWdlICovCisgICAgICAgIHJldHVybiAwOwor ICAgIGNhc2UgTElCWExfX1FNUF9NRVNTQUdFX1RZUEVfUkVUVVJOOgorICAgIGNhc2UgTElCWExf X1FNUF9NRVNTQUdFX1RZUEVfRVJST1I6CisgICAgICAgIHJldHVybiBxbXBfZXZfaGFuZGxlX3Jl c3BvbnNlKGVnYywgZXYsIHJlc3AsIHR5cGUpOworICAgIGNhc2UgTElCWExfX1FNUF9NRVNTQUdF X1RZUEVfRVZFTlQ6CisgICAgICAgIC8qIEV2ZW50IGFyZSBpZ25vcmVkICovCisgICAgICAgIHJl dHVybiAwOworICAgIGNhc2UgTElCWExfX1FNUF9NRVNTQUdFX1RZUEVfSU5WQUxJRDoKKyAgICAg ICAgcmV0dXJuIDA7CisgICAgfQorICAgIHJldHVybiAwOworfQorCiAvKgogICogUU1QIEZEIGNh bGxiYWNrcwogICovCkBAIC0xNDMyLDYgKzE1NDQsMTAgQEAgc3RhdGljIGludCBxbXBfZXZfY2Fs bGJhY2tfcmVhZGFibGUobGlieGxfX2VnYyAqZWdjLCBsaWJ4bF9fZXZfcW1wICpldiwgaW50IGZk KQogICAgICAgICAgICAgZW5kID0gTlVMTDsKIAogICAgICAgICBMT0dfUU1QKCJKU09OIG9iamVj dCByZWNlaXZlZDogJXMiLCBsaWJ4bF9fanNvbl9vYmplY3RfdG9fanNvbihnYywgbykpOworCisg ICAgICAgIC8qIE11c3QgYmUgbGFzdCBhbmQgcmV0dXJuIHdoZW4gdGhlIHVzZXIgY2FsbGJhY2sg aXMgY2FsbGVkICovCisgICAgICAgIGlmIChxbXBfZXZfaGFuZGxlX21lc3NhZ2UoZWdjLCBldiwg bykgPT0gMSkKKyAgICAgICAgICAgIHJldHVybiAwOwogICAgIH0KICAgICByZXR1cm4gMDsKIH0K 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