From mboxrd@z Thu Jan 1 00:00:00 1970 From: Roger Pau =?utf-8?B?TW9ubsOp?= Subject: Re: [PATCH v4 22/32] libxl_qmp: Handle messages from QEMU Date: Thu, 2 Aug 2018 13:17:37 +0200 Message-ID: <20180802111737.bxzbk6cododv2dmj@mac> References: <20180727140614.13256-1-anthony.perard@citrix.com> <20180727140614.13256-23-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 1flBc3-0003W6-Ts for xen-devel@lists.xenproject.org; Thu, 02 Aug 2018 11:17:47 +0000 Content-Disposition: inline In-Reply-To: <20180727140614.13256-23-anthony.perard@citrix.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" To: Anthony PERARD Cc: xen-devel@lists.xenproject.org, Ian Jackson , Wei Liu List-Id: xen-devel@lists.xenproject.org T24gRnJpLCBKdWwgMjcsIDIwMTggYXQgMDM6MDY6MDRQTSArMDEwMCwgQW50aG9ueSBQRVJBUkQg d3JvdGU6Cj4gVGhpcyB3aWxsIGhhbmRsZXMgbWVzc2FnZXMgcmVjZWl2ZWQsIGFuZCBjYWxscyBj YWxsYmFja3MgYXNzb2NpYXRlZCB3aXRoCiAgICAgICAgICAgIF4gaGFuZGxlCgpJJ20gbm90IHN1 cmUgSSB1bmRlcnN0YW5kIHdoYXQncyAnVGhpcycgaW4gdGhlIGNvbnRleHQuIFdvdWxkIGJlIGdv b2QKaWYgeW91IGNvdWxkIHNwZWxsIG91dCB3aGF0ICdUaGlzJyByZWZlcnMgdG8gSU1PLgoKPiB0 aGUgbGlieGxfX2V2X3FtcCB3aGVuIHRoZSBleHBlY3RlZCByZXNwb25zZSBpcyByZWNlaXZlZC4K PiAKPiBUaGlzIGFsc28gcHJpbnQgZXJyb3IgbWVzc2FnZXMgZnJvbSBRTVAgb24gYmVoYWxmIG9m IHRoZSBjYWxsYmFjay4KPiAKPiBTaWduZWQtb2ZmLWJ5OiBBbnRob255IFBFUkFSRCA8YW50aG9u eS5wZXJhcmRAY2l0cml4LmNvbT4KPiAtLS0KPiAKPiBOb3RlczoKPiAgICAgdjQ6Cj4gICAgICAg ICBQcm92aWRlIGFuIGxpYnhsIGVycm9yIGNvZGUgdG8gY2FsbGJhY2tzIG9uIGVycm9yIGluc3Rl YWQgb2YgYQo+ICAgICAgICAgcW1wX2Vycm9yX2NsYXNzCj4gCj4gIHRvb2xzL2xpYnhsL2xpYnhs X3FtcC5jICAgICAgICAgICAgICB8IDExNiArKysrKysrKysrKysrKysrKysrKysrKysrKysKPiAg dG9vbHMvbGlieGwvbGlieGxfdHlwZXMuaWRsICAgICAgICAgIHwgICA0ICsKPiAgdG9vbHMvbGli eGwvbGlieGxfdHlwZXNfaW50ZXJuYWwuaWRsIHwgICA4ICsrCj4gIDMgZmlsZXMgY2hhbmdlZCwg MTI4IGluc2VydGlvbnMoKykKPiAKPiBkaWZmIC0tZ2l0IGEvdG9vbHMvbGlieGwvbGlieGxfcW1w LmMgYi90b29scy9saWJ4bC9saWJ4bF9xbXAuYwo+IGluZGV4IGFhYmY5YWQ1ZTcuLmU2NDliODA1 NGQgMTAwNjQ0Cj4gLS0tIGEvdG9vbHMvbGlieGwvbGlieGxfcW1wLmMKPiArKysgYi90b29scy9s aWJ4bC9saWJ4bF9xbXAuYwo+IEBAIC0xMzMwLDYgKzEzMzAsMTE4IEBAIHN0YXRpYyBpbnQgcW1w X2V2X3ByZXBhcmVfY21kKGxpYnhsX19nYyAqZ2MsCj4gICAgICByZXR1cm4gMDsKPiAgfQo+ICAK PiArLyoKPiArICogSGFuZGxlIG1lc3NhZ2VzIHJlY2VpdmVkIGZyb20gUU1QIHNlcnZlcgo+ICsg Ki8KPiArCj4gK3N0YXRpYyBpbnQgcW1wX2Vycm9yX2NsYXNzX3RvX2xpYnhsX2Vycm9yX2NvZGUo Y29uc3QgbGlieGxfX3FtcF9lcnJvcl9jbGFzcyBjKQo+ICt7Cj4gKyAgICBzd2l0Y2ggKGMpIHsK PiArICAgIGNhc2UgTElCWExfX1FNUF9FUlJPUl9DTEFTU19HRU5FUklDRVJST1I6Cj4gKyAgICAg ICAgcmV0dXJuIEVSUk9SX1FNUF9HRU5FUklDX0VSUk9SOwo+ICsgICAgY2FzZSBMSUJYTF9fUU1Q X0VSUk9SX0NMQVNTX0NPTU1BTkROT1RGT1VORDoKPiArICAgICAgICByZXR1cm4gRVJST1JfUU1Q X0NPTU1BTkRfTk9UX0ZPVU5EOwo+ICsgICAgY2FzZSBMSUJYTF9fUU1QX0VSUk9SX0NMQVNTX0RF VklDRU5PVEFDVElWRToKPiArICAgICAgICByZXR1cm4gRVJST1JfUU1QX0RFVklDRV9OT1RfQUNU SVZFOwo+ICsgICAgY2FzZSBMSUJYTF9fUU1QX0VSUk9SX0NMQVNTX0RFVklDRU5PVEZPVU5EOgo+ ICsgICAgICAgIHJldHVybiBFUlJPUl9RTVBfREVWSUNFX05PVF9GT1VORDsKPiArICAgIGRlZmF1 bHQ6Cj4gKyAgICAgICAgYWJvcnQoKTsKPiArICAgIH0KPiArfQo+ICsKPiArLyogcmV0dXJuIDEg d2hlbiBhIHVzZXIgY2FsbGJhY2sgYXMgYmVlbiBjYWxsZWQgKi8KPiArc3RhdGljIGludCBxbXBf ZXZfaGFuZGxlX3Jlc3BvbnNlKGxpYnhsX19lZ2MgKmVnYywKPiArICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIGxpYnhsX19ldl9xbXAgKmV2LAo+ICsgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgY29uc3QgbGlieGxfX2pzb25fb2JqZWN0ICpyZXNwLAo+ICsgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlieGxfX3FtcF9tZXNzYWdlX3R5cGUgdHlwZSkK PiArewo+ICsgICAgRUdDX0dDOwo+ICsgICAgY29uc3QgbGlieGxfX2pzb25fb2JqZWN0ICpyZXNw b25zZTsKPiArICAgIGNvbnN0IGxpYnhsX19qc29uX29iamVjdCAqbzsKPiArICAgIGludCByYzsK PiArICAgIGludCBpZDsKPiArCj4gKyAgICBvID0gbGlieGxfX2pzb25fbWFwX2dldCgiaWQiLCBy ZXNwLCBKU09OX0lOVEVHRVIpOwo+ICsgICAgaWYgKCFvKSB7Cj4gKyAgICAgICAgY29uc3QgY2hh ciAqZXJyb3JfZGVzYzsKPiArCj4gKyAgICAgICAgLyogdW5leHBlY3RlZCBtZXNzYWdlLCBhdHRl bXB0IHRvIGZpbmQgYW4gZXJyb3IgZGVzY3JpcHRpb24gKi8KPiArICAgICAgICBvID0gbGlieGxf X2pzb25fbWFwX2dldCgiZXJyb3IiLCByZXNwLCBKU09OX01BUCk7Cj4gKyAgICAgICAgbyA9IGxp YnhsX19qc29uX21hcF9nZXQoImRlc2MiLCBvLCBKU09OX1NUUklORyk7Cj4gKyAgICAgICAgZXJy b3JfZGVzYyA9IGxpYnhsX19qc29uX29iamVjdF9nZXRfc3RyaW5nKG8pOwo+ICsgICAgICAgIGlm IChlcnJvcl9kZXNjKQo+ICsgICAgICAgICAgICBMT0dEKEVSUk9SLCBldi0+ZG9taWQsICIlcyIs IGVycm9yX2Rlc2MpOwo+ICsgICAgICAgIGVsc2UKPiArICAgICAgICAgICAgTE9HRChFUlJPUiwg ZXYtPmRvbWlkLCAiUmVjZWl2ZWQgdW5leHBlY3RlZCBtZXNzYWdlOiAlcyIsCj4gKyAgICAgICAg ICAgICAgICAgbGlieGxfX2pzb25fb2JqZWN0X3RvX2pzb24oZ2MsIHJlc3ApKTsKPiArICAgICAg ICByZXR1cm4gMDsKPiArICAgIH0KPiArCj4gKyAgICBpZCA9IGxpYnhsX19qc29uX29iamVjdF9n ZXRfaW50ZWdlcihvKTsKPiArICAgIGlmIChpZCAhPSBldi0+aWQpCj4gKyAgICAgICAgcmV0dXJu IDA7Cj4gKwo+ICsgICAgc3dpdGNoICh0eXBlKSB7Cj4gKyAgICBjYXNlIExJQlhMX19RTVBfTUVT U0FHRV9UWVBFX1JFVFVSTjogewo+ICsgICAgICAgIHJlc3BvbnNlID0gbGlieGxfX2pzb25fbWFw X2dldCgicmV0dXJuIiwgcmVzcCwgSlNPTl9BTlkpOwo+ICsgICAgICAgIHJjID0gMDsKPiArICAg ICAgICBicmVhazsKPiArICAgIH0KPiArICAgIGNhc2UgTElCWExfX1FNUF9NRVNTQUdFX1RZUEVf RVJST1I6IHsKPiArICAgICAgICBjb25zdCBjaGFyICpzOwo+ICsgICAgICAgIGNvbnN0IGxpYnhs X19qc29uX29iamVjdCAqZXJyOwo+ICsgICAgICAgIGxpYnhsX19xbXBfZXJyb3JfY2xhc3MgZXJy b3JfY2xhc3M7Cj4gKwo+ICsgICAgICAgIHJjID0gRVJST1JfRkFJTDsKPiArICAgICAgICByZXNw b25zZSA9IE5VTEw7Cj4gKwo+ICsgICAgICAgIGVyciA9IGxpYnhsX19qc29uX21hcF9nZXQoImVy cm9yIiwgcmVzcCwgSlNPTl9NQVApOwo+ICsgICAgICAgIG8gPSBsaWJ4bF9fanNvbl9tYXBfZ2V0 KCJjbGFzcyIsIGVyciwgSlNPTl9TVFJJTkcpOwo+ICsgICAgICAgIHMgPSBsaWJ4bF9fanNvbl9v YmplY3RfZ2V0X3N0cmluZyhvKTsKCllvdSBjb3VsZCBpbml0IGVyciBhbmQgcyBhdCBkZWZpbml0 aW9uIHRpbWUuCgo+ICsgICAgICAgIGlmIChzICYmICFsaWJ4bF9fcW1wX2Vycm9yX2NsYXNzX2Zy b21fc3RyaW5nKHMsICZlcnJvcl9jbGFzcykpCj4gKyAgICAgICAgICAgIHJjID0gcW1wX2Vycm9y X2NsYXNzX3RvX2xpYnhsX2Vycm9yX2NvZGUoZXJyb3JfY2xhc3MpOwo+ICsKPiArICAgICAgICBv ID0gbGlieGxfX2pzb25fbWFwX2dldCgiZGVzYyIsIGVyciwgSlNPTl9TVFJJTkcpOwo+ICsgICAg ICAgIHMgPSBsaWJ4bF9fanNvbl9vYmplY3RfZ2V0X3N0cmluZyhvKTsKPiArICAgICAgICBpZiAo cykKPiArICAgICAgICAgICAgTE9HRChFUlJPUiwgZXYtPmRvbWlkLCAiJXMiLCBzKTsKPiArCj4g KyAgICAgICAgYnJlYWs7Cj4gKyAgICB9Cj4gKyAgICBkZWZhdWx0Ogo+ICsgICAgICAgIGFib3J0 KCk7Cj4gKyAgICB9Cj4gKwo+ICsgICAgZXYtPmlkID0gLTE7Cj4gKyAgICBldi0+Y2FsbGJhY2so ZWdjLCBldiwgcmVzcG9uc2UsIHJjKTsgLyogbXVzdCBiZSBsYXN0ICovCj4gKyAgICByZXR1cm4g MTsKPiArfQo+ICsKPiArLyogcmV0dXJuIDEgd2hlbiBhIHVzZXIgY2FsbGJhY2sgYXMgYmVlbiBj YWxsZWQgKi8KPiArc3RhdGljIGludCBxbXBfZXZfaGFuZGxlX21lc3NhZ2UobGlieGxfX2VnYyAq ZWdjLAo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWJ4bF9fZXZfcW1wICpl diwKPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgbGlieGxfX2pzb25f b2JqZWN0ICpyZXNwKQo+ICt7Cj4gKyAgICBFR0NfR0M7Cj4gKyAgICBsaWJ4bF9fcW1wX21lc3Nh Z2VfdHlwZSB0eXBlID0gcW1wX3Jlc3BvbnNlX3R5cGUocmVzcCk7Cj4gKwo+ICsgICAgc3dpdGNo ICh0eXBlKSB7Cj4gKyAgICBjYXNlIExJQlhMX19RTVBfTUVTU0FHRV9UWVBFX1FNUDoKPiArICAg ICAgICAvKiBncmVldGluZyBtZXNzYWdlICovCj4gKyAgICAgICAgcmV0dXJuIDA7Cj4gKyAgICBj YXNlIExJQlhMX19RTVBfTUVTU0FHRV9UWVBFX1JFVFVSTjoKPiArICAgIGNhc2UgTElCWExfX1FN UF9NRVNTQUdFX1RZUEVfRVJST1I6Cj4gKyAgICAgICAgcmV0dXJuIHFtcF9ldl9oYW5kbGVfcmVz cG9uc2UoZWdjLCBldiwgcmVzcCwgdHlwZSk7Cj4gKyAgICBjYXNlIExJQlhMX19RTVBfTUVTU0FH RV9UWVBFX0VWRU5UOgo+ICsgICAgICAgIC8qIEV2ZW50IGFyZSBpZ25vcmVkICovCj4gKyAgICAg ICAgcmV0dXJuIDA7Cj4gKyAgICBjYXNlIExJQlhMX19RTVBfTUVTU0FHRV9UWVBFX0lOVkFMSUQ6 Cj4gKyAgICAgICAgcmV0dXJuIDA7CgpNaWdodCBiZSBnb29kIHRvIGhhdmUgYSAnZGVmYXVsdCcg bGFibGUgaGVyZSBhbmQgcHJpbnQgc29tZSBkZWJ1ZwptZXNzYWdlIGFib3V0IHJlY2VpdmluZyBh biB1bmtub3duIFFNUCBtZXNzYWdlIHR5cGU/Cgo+ICsgICAgfQo+ICsgICAgcmV0dXJuIDA7Cj4g K30KPiArCj4gIC8qCj4gICAqIFFNUCBGRCBjYWxsYmFja3MKPiAgICovCj4gQEAgLTE0MzIsNiAr MTU0NCwxMCBAQCBzdGF0aWMgaW50IHFtcF9ldl9jYWxsYmFja19yZWFkYWJsZShsaWJ4bF9fZWdj ICplZ2MsIGxpYnhsX19ldl9xbXAgKmV2LCBpbnQgZmQpCj4gICAgICAgICAgICAgIGVuZCA9IE5V TEw7Cj4gIAo+ICAgICAgICAgIExPR19RTVAoIkpTT04gb2JqZWN0IHJlY2VpdmVkOiAlcyIsIGxp YnhsX19qc29uX29iamVjdF90b19qc29uKGdjLCBvKSk7Cj4gKwo+ICsgICAgICAgIC8qIE11c3Qg YmUgbGFzdCBhbmQgcmV0dXJuIHdoZW4gdGhlIHVzZXIgY2FsbGJhY2sgaXMgY2FsbGVkICovCj4g KyAgICAgICAgaWYgKHFtcF9ldl9oYW5kbGVfbWVzc2FnZShlZ2MsIGV2LCBvKSA9PSAxKQo+ICsg ICAgICAgICAgICByZXR1cm4gMDsKPiAgICAgIH0KPiAgICAgIHJldHVybiAwOwo+ICB9Cj4gZGlm ZiAtLWdpdCBhL3Rvb2xzL2xpYnhsL2xpYnhsX3R5cGVzLmlkbCBiL3Rvb2xzL2xpYnhsL2xpYnhs X3R5cGVzLmlkbAo+IGluZGV4IDRhMzg1ODAxYmEuLmUxMDRmZWE5NDEgMTAwNjQ0Cj4gLS0tIGEv dG9vbHMvbGlieGwvbGlieGxfdHlwZXMuaWRsCj4gKysrIGIvdG9vbHMvbGlieGwvbGlieGxfdHlw ZXMuaWRsCj4gQEAgLTY5LDYgKzY5LDEwIEBAIGxpYnhsX2Vycm9yID0gRW51bWVyYXRpb24oImVy cm9yIiwgWwo+ICAgICAgKC0yMywgIk5PVEZPVU5EIiksCj4gICAgICAoLTI0LCAiRE9NQUlOX0RF U1RST1lFRCIpLCAjIFRhcmdldCBkb21haW4gY2Vhc2VkIHRvIGV4aXN0IGR1cmluZyBvcAo+ICAg ICAgKC0yNSwgIkZFQVRVUkVfUkVNT1ZFRCIpLCAjIEZvciBmdW5jdGlvbmFsaXR5IHRoYXQgaGFz IGJlZW4gcmVtb3ZlZAo+ICsgICAgKC0yNiwgIlFNUF9HRU5FUklDX0VSUk9SIiksICMgdW5zcGVj aWZpZWQgcW1wIGVycm9yCj4gKyAgICAoLTI3LCAiUU1QX0NPTU1BTkRfTk9UX0ZPVU5EIiksICMg dGhlIHJlcXVlc3RlZCBjb21tYW5kIGhhcyBub3QgYmVlbiBmb3VuZAo+ICsgICAgKC0yOCwgIlFN UF9ERVZJQ0VfTk9UX0FDVElWRSIpLCAjIGEgZGV2aWNlIGhhcyBmYWlsZWQgdG8gYmUgYmVjb21l IGFjdGl2ZQo+ICsgICAgKC0yOSwgIlFNUF9ERVZJQ0VfTk9UX0ZPVU5EIiksICMgdGhlIHJlcXVl c3RlZCBkZXZpY2UgaGFzIG5vdCBiZWVuIGZvdW5kCgpEbyB3ZSByZWFsbHkgbmVlZCBzdWNoIGdy YW51bGFyaXR5IGZvciBRTVAgZXJyb3JzPyBJc24ndCBpdCBlbm91Z2ggdG8KaGF2ZSBhIHNpbmds ZSBFUlJPUl9RTVAgb3Igc2ltaWxhcj8KClRoYW5rcywgUm9nZXIuCgpfX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhl bi1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZwpodHRwczovL2xpc3RzLnhlbnByb2plY3Qub3Jn L21haWxtYW4vbGlzdGluZm8veGVuLWRldmVs