From mboxrd@z Thu Jan 1 00:00:00 1970 From: Anthony PERARD Subject: [PATCH v6 08/11] libxl: QEMU startup sync based on QMP Date: Mon, 12 Nov 2018 16:49:27 +0000 Message-ID: <20181112164930.25893-9-anthony.perard@citrix.com> References: <20181112164930.25893-1-anthony.perard@citrix.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from all-amaz-eas1.inumbo.com ([34.197.232.57] helo=us1-amaz-eas2.inumbo.com) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1gMFP7-0000qi-Tk for xen-devel@lists.xenproject.org; Mon, 12 Nov 2018 16:49:37 +0000 In-Reply-To: <20181112164930.25893-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 VGhpcyBpcyBvbmx5IGFjdGl2YXRlZCB3aGVuIGRtX3Jlc3RyaWN0PTEsIGFzIGV4cGxhaW5lZCBp biB0aGUgcHJldmlvdXMKcGF0Y2ggImxpYnhsX2RtOiBQcmUtb3BlbiBRTVAgc29ja2V0IGZvciBR RU1VIgoKU2lnbmVkLW9mZi1ieTogQW50aG9ueSBQRVJBUkQgPGFudGhvbnkucGVyYXJkQGNpdHJp eC5jb20+ClJldmlld2VkLWJ5OiBSb2dlciBQYXUgTW9ubsOpIDxyb2dlci5wYXVAY2l0cml4LmNv bT4KLS0tCgpOb3RlczoKICAgIHY2OgogICAgICAgIGludmVudCBFUlJPUl9RRU1VX0FQSQogICAg ICAgIHJldHVybiBiZXR0ZXIgcmM6IEVSUk9SX1FFTVVfQVBJIG9yIEVSUk9SX05PVF9SRUFEWQog ICAgICAgIGVuaGFuY2UgbG9nIG1lc3NhZ2VzIChkZWJ1ZyBhbmQgZXJyb3IpCiAgICAKICAgIHY1 OgogICAgICAgIHJlbW92ZWQgZW1wdHkgc3VjY2VzcyBicmFuY2ggaW4gZGV2aWNlX21vZGVsX3Ft cF9jYigpCiAgICAgICAgY2FsbCBsaWJ4bF9fZXZfcW1wX2luaXQoKSBlYXJsaWVyIGluIGxpYnhs X19zcGF3bl9sb2NhbF9kbS4KICAgICAgICAgICAgb3RoZXJ3aXNlIHRoZSBlcnJvciBwYXRoIHdv dWxkIHVzZSBhbiB1bmluaXRpYWxpc2VkCiAgICAgICAgICAgIGxpYnhsX19ldl9xbXAuCiAgICAK ICAgIHY0OgogICAgICAgIG1vdmVkIHRvIGxpYnhsX19kbV9zcGF3bl8qIGZyb20gbGlieGxfX3Nw YXduXyoKCiB0b29scy9saWJ4bC9saWJ4bF9kbS5jICAgICAgIHwgNTUgKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrCiB0b29scy9saWJ4bC9saWJ4bF9pbnRlcm5hbC5oIHwgIDEg KwogdG9vbHMvbGlieGwvbGlieGxfdHlwZXMuaWRsICB8ICAxICsKIDMgZmlsZXMgY2hhbmdlZCwg NTcgaW5zZXJ0aW9ucygrKQoKZGlmZiAtLWdpdCBhL3Rvb2xzL2xpYnhsL2xpYnhsX2RtLmMgYi90 b29scy9saWJ4bC9saWJ4bF9kbS5jCmluZGV4IDNiZjFlMzc4OTQuLjI0MTdhYmU2NTEgMTAwNjQ0 Ci0tLSBhL3Rvb2xzL2xpYnhsL2xpYnhsX2RtLmMKKysrIGIvdG9vbHMvbGlieGwvbGlieGxfZG0u YwpAQCAtMjMxMyw2ICsyMzEzLDkgQEAgc3RhdGljIHZvaWQgZGV2aWNlX21vZGVsX3N0YXJ0dXBf ZmFpbGVkKGxpYnhsX19lZ2MgKmVnYywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBpbnQgcmMpOwogc3RhdGljIHZvaWQgZGV2aWNlX21vZGVsX2RldGFjaGVkKGxpYnhs X19lZ2MgKmVnYywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWJ4bF9fc3Bh d25fc3RhdGUgKnNwYXduKTsKK3N0YXRpYyB2b2lkIGRldmljZV9tb2RlbF9xbXBfY2IobGlieGxf X2VnYyAqZWdjLCBsaWJ4bF9fZXZfcW1wICpldiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgY29uc3QgbGlieGxfX2pzb25fb2JqZWN0ICpyZXNwb25zZSwKKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgaW50IHJjKTsKIAogLyogb3VyICJuZXh0IHN0ZXAiIGZ1bmN0aW9u LCBjYWxsZWQgZnJvbSB0aG9zZSBjYWxsYmFja3MgYW5kIGVsc2V3aGVyZSAqLwogc3RhdGljIHZv aWQgZGV2aWNlX21vZGVsX3NwYXduX291dGNvbWUobGlieGxfX2VnYyAqZWdjLApAQCAtMjM0Myw2 ICsyMzQ2LDggQEAgdm9pZCBsaWJ4bF9fc3Bhd25fbG9jYWxfZG0obGlieGxfX2VnYyAqZWdjLCBs aWJ4bF9fZG1fc3Bhd25fc3RhdGUgKmRtc3MpCiAgICAgY29uc3QgY2hhciAqZG07CiAgICAgaW50 IGRtX3N0YXRlX2ZkID0gLTE7CiAKKyAgICBsaWJ4bF9fZXZfcW1wX2luaXQoJmRtc3MtPnFtcCk7 CisKICAgICBpZiAobGlieGxfZGVmYm9vbF92YWwoYl9pbmZvLT5kZXZpY2VfbW9kZWxfc3R1YmRv bWFpbikpIHsKICAgICAgICAgYWJvcnQoKTsKICAgICB9CkBAIC0yNDUwLDYgKzI0NTUsMTYgQEAg cmV0cnlfdHJhbnNhY3Rpb246CiAgICAgc3Bhd24tPmZhaWx1cmVfY2IgPSBkZXZpY2VfbW9kZWxf c3RhcnR1cF9mYWlsZWQ7CiAgICAgc3Bhd24tPmRldGFjaGVkX2NiID0gZGV2aWNlX21vZGVsX2Rl dGFjaGVkOwogCisgICAgaWYgKHN0YXRlLT5kbV9tb25pdG9yX2ZkID49IDApIHsKKyAgICAgICAg LyogVGhlcmUgaXMgYSB2YWxpZCBRTVAgc29ja2V0IGF2YWlsYWJsZSBub3csCisgICAgICAgICAq IHVzZSBpdCB0byBmaW5kIG91dCB3aGVuIFFFTVUgaXMgcmVhZHkgKi8KKyAgICAgICAgZG1zcy0+ cW1wLmNhbGxiYWNrID0gZGV2aWNlX21vZGVsX3FtcF9jYjsKKyAgICAgICAgZG1zcy0+cW1wLmRv bWlkID0gZG9taWQ7CisgICAgICAgIGRtc3MtPnFtcC5mZCA9IC0xOworICAgICAgICByYyA9IGxp YnhsX19ldl9xbXBfc2VuZChnYywgJmRtc3MtPnFtcCwgInF1ZXJ5LXN0YXR1cyIsIE5VTEwpOwor ICAgICAgICBpZiAocmMpIGdvdG8gb3V0X2Nsb3NlOworICAgIH0KKwogICAgIHJjID0gbGlieGxf X3NwYXduX3NwYXduKGVnYywgc3Bhd24pOwogICAgIGlmIChyYyA8IDApCiAgICAgICAgIGdvdG8g b3V0X2Nsb3NlOwpAQCAtMjUyNCw2ICsyNTM5LDQ0IEBAIHN0YXRpYyB2b2lkIGRldmljZV9tb2Rl bF9kZXRhY2hlZChsaWJ4bF9fZWdjICplZ2MsCiAgICAgZGV2aWNlX21vZGVsX3NwYXduX291dGNv bWUoZWdjLCBkbXNzLCAwKTsKIH0KIAorc3RhdGljIHZvaWQgZGV2aWNlX21vZGVsX3FtcF9jYihs aWJ4bF9fZWdjICplZ2MsIGxpYnhsX19ldl9xbXAgKmV2LAorICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBjb25zdCBsaWJ4bF9fanNvbl9vYmplY3QgKnJlc3BvbnNlLAorICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmMpCit7CisgICAgRUdDX0dDOworICAgIGxpYnhs X19kbV9zcGF3bl9zdGF0ZSAqZG1zcyA9IENPTlRBSU5FUl9PRihldiwgKmRtc3MsIHFtcCk7Cisg ICAgY29uc3QgbGlieGxfX2pzb25fb2JqZWN0ICpvOworICAgIGNvbnN0IGNoYXIgKnN0YXR1czsK KworICAgIGxpYnhsX19ldl9xbXBfZGlzcG9zZShnYywgZXYpOworCisgICAgaWYgKHJjKQorICAg ICAgICBnb3RvIGZhaWxlZDsKKworICAgIG8gPSBsaWJ4bF9fanNvbl9tYXBfZ2V0KCJzdGF0dXMi LCByZXNwb25zZSwgSlNPTl9TVFJJTkcpOworICAgIGlmICghbykgeworICAgICAgICBMT0dEKEVS Uk9SLCBldi0+ZG9taWQsCisgICAgICAgICAgICAgIk1pc3NpbmcgXCJzdGF0dXNcIiBpbiByZXNw b25zZSB0byBcInF1ZXJ5LXN0YXR1c1wiIik7CisgICAgICAgIExPR0QoREVCVUcsIGV2LT5kb21p ZCwgIi4uIGluc3RlYWQsIGdvdDogJXMiLAorICAgICAgICAgICAgIGxpYnhsX19qc29uX29iamVj dF90b19qc29uKGdjLCByZXNwb25zZSkpOworICAgICAgICByYyA9IEVSUk9SX1FFTVVfQVBJOwor ICAgICAgICBnb3RvIGZhaWxlZDsKKyAgICB9CisgICAgc3RhdHVzID0gbGlieGxfX2pzb25fb2Jq ZWN0X2dldF9zdHJpbmcobyk7CisgICAgaWYgKHN0cmNtcChzdGF0dXMsICJydW5uaW5nIikpIHsK KyAgICAgICAgTE9HRChFUlJPUiwgZXYtPmRvbWlkLCAiVW5leHBlY3RlZCBRRU1VIHN0YXR1czog JXMiLCBzdGF0dXMpOworICAgICAgICByYyA9IEVSUk9SX05PVF9SRUFEWTsKKyAgICAgICAgZ290 byBmYWlsZWQ7CisgICAgfQorCisgICAgbGlieGxfX3NwYXduX2luaXRpYXRlX2RldGFjaChnYywg JmRtc3MtPnNwYXduKTsKKyAgICByZXR1cm47CisKK2ZhaWxlZDoKKyAgICBMT0dEKEVSUk9SLCBl di0+ZG9taWQsICJRRU1VIGRpZCBub3Qgc3RhcnQgcHJvcGVybHksIHJjPSVkIiwgcmMpOworICAg IGxpYnhsX19zcGF3bl9pbml0aWF0ZV9mYWlsdXJlKGdjLCAmZG1zcy0+c3Bhd24sIHJjKTsKK30K Kwogc3RhdGljIHZvaWQgZGV2aWNlX21vZGVsX3NwYXduX291dGNvbWUobGlieGxfX2VnYyAqZWdj LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlieGxfX2RtX3NwYXdu X3N0YXRlICpkbXNzLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50 IHJjKQpAQCAtMjU0Nyw2ICsyNjAwLDggQEAgc3RhdGljIHZvaWQgZGV2aWNlX21vZGVsX3NwYXdu X291dGNvbWUobGlieGxfX2VnYyAqZWdjLAogICAgICAgICB9CiAgICAgfQogCisgICAgbGlieGxf X2V2X3FtcF9kaXNwb3NlKGdjLCAmZG1zcy0+cW1wKTsKKwogIG91dDoKICAgICBkbXNzLT5jYWxs YmFjayhlZ2MsIGRtc3MsIHJjKTsKIH0KZGlmZiAtLWdpdCBhL3Rvb2xzL2xpYnhsL2xpYnhsX2lu dGVybmFsLmggYi90b29scy9saWJ4bC9saWJ4bF9pbnRlcm5hbC5oCmluZGV4IGI3NjhkMWIwOWYu LmRlMzg2MmM4MzkgMTAwNjQ0Ci0tLSBhL3Rvb2xzL2xpYnhsL2xpYnhsX2ludGVybmFsLmgKKysr IGIvdG9vbHMvbGlieGwvbGlieGxfaW50ZXJuYWwuaApAQCAtMzg5OCw2ICszODk4LDcgQEAgc3Ry dWN0IGxpYnhsX19kbV9zcGF3bl9zdGF0ZSB7CiAgICAgbGlieGxfZG9tYWluX2NvbmZpZyAqZ3Vl c3RfY29uZmlnOwogICAgIGxpYnhsX19kb21haW5fYnVpbGRfc3RhdGUgKmJ1aWxkX3N0YXRlOyAv KiByZWxhdGVzIHRvIGd1ZXN0X2RvbWlkICovCiAgICAgbGlieGxfX2RtX3NwYXduX2NiICpjYWxs YmFjazsKKyAgICBsaWJ4bF9fZXZfcW1wIHFtcDsKIH07CiAKIF9oaWRkZW4gdm9pZCBsaWJ4bF9f c3Bhd25fbG9jYWxfZG0obGlieGxfX2VnYyAqZWdjLCBsaWJ4bF9fZG1fc3Bhd25fc3RhdGUqKTsK ZGlmZiAtLWdpdCBhL3Rvb2xzL2xpYnhsL2xpYnhsX3R5cGVzLmlkbCBiL3Rvb2xzL2xpYnhsL2xp YnhsX3R5cGVzLmlkbAppbmRleCBmZWM0MmIyNjBjLi5hMDkxMjcxOGUwIDEwMDY0NAotLS0gYS90 b29scy9saWJ4bC9saWJ4bF90eXBlcy5pZGwKKysrIGIvdG9vbHMvbGlieGwvbGlieGxfdHlwZXMu aWRsCkBAIC03NSw2ICs3NSw3IEBAIGxpYnhsX2Vycm9yID0gRW51bWVyYXRpb24oImVycm9yIiwg WwogICAgICgtMjksICJRTVBfQ09NTUFORF9OT1RfRk9VTkQiKSwgIyB0aGUgcmVxdWVzdGVkIGNv bW1hbmQgaGFzIG5vdCBiZWVuIGZvdW5kCiAgICAgKC0zMCwgIlFNUF9ERVZJQ0VfTk9UX0FDVElW RSIpLCAjIGEgZGV2aWNlIGhhcyBmYWlsZWQgdG8gYmUgYmVjb21lIGFjdGl2ZQogICAgICgtMzEs ICJRTVBfREVWSUNFX05PVF9GT1VORCIpLCAjIHRoZSByZXF1ZXN0ZWQgZGV2aWNlIGhhcyBub3Qg YmVlbiBmb3VuZAorICAgICgtMzIsICJRRU1VX0FQSSIpLAogICAgIF0sIHZhbHVlX25hbWVzcGFj ZSA9ICIiKQogCiBsaWJ4bF9kb21haW5fdHlwZSA9IEVudW1lcmF0aW9uKCJkb21haW5fdHlwZSIs IFsKLS0gCkFudGhvbnkgUEVSQVJECgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX18KWGVuLWRldmVsIG1haWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlzdHMueGVu cHJvamVjdC5vcmcKaHR0cHM6Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9tYWlsbWFuL2xpc3RpbmZv L3hlbi1kZXZlbA==