From mboxrd@z Thu Jan 1 00:00:00 1970 From: Anthony PERARD Subject: [PATCH v3 31/31] libxl: QEMU startup sync based on QMP Date: Fri, 1 Jun 2018 15:37:20 +0100 Message-ID: <20180601143720.24637-32-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 1fOlVi-0002DK-BX for xen-devel@lists.xenproject.org; Fri, 01 Jun 2018 14:58:34 +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 VGhpcyBpcyBvbmx5IGFjdGl2YXRlZCB3aGVuIGRtX3Jlc3RyaWN0PTEsIGFzIGV4cGxhaW5lZCBp biB0aGUgcHJldmlvdXMKcGF0Y2ggImxpYnhsX2RtOiBQcmUtb3BlbiBRTVAgc29ja2V0IGZvciBR RU1VIgoKU2lnbmVkLW9mZi1ieTogQW50aG9ueSBQRVJBUkQgPGFudGhvbnkucGVyYXJkQGNpdHJp eC5jb20+Ci0tLQogdG9vbHMvbGlieGwvbGlieGxfZG0uYyAgICAgICB8ICA3ICsrKysrKwogdG9v bHMvbGlieGwvbGlieGxfZXhlYy5jICAgICB8IDQ0ICsrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKwogdG9vbHMvbGlieGwvbGlieGxfaW50ZXJuYWwuaCB8ICA1ICsrKysKIDMgZmls ZXMgY2hhbmdlZCwgNTYgaW5zZXJ0aW9ucygrKQoKZGlmZiAtLWdpdCBhL3Rvb2xzL2xpYnhsL2xp YnhsX2RtLmMgYi90b29scy9saWJ4bC9saWJ4bF9kbS5jCmluZGV4IDEwYjM1ZDgyMmEuLjRlODll MDlmYzggMTAwNjQ0Ci0tLSBhL3Rvb2xzL2xpYnhsL2xpYnhsX2RtLmMKKysrIGIvdG9vbHMvbGli eGwvbGlieGxfZG0uYwpAQCAtMjM5OCw2ICsyMzk4LDEzIEBAIHJldHJ5X3RyYW5zYWN0aW9uOgog ICAgIHNwYXduLT5mYWlsdXJlX2NiID0gZGV2aWNlX21vZGVsX3N0YXJ0dXBfZmFpbGVkOwogICAg IHNwYXduLT5kZXRhY2hlZF9jYiA9IGRldmljZV9tb2RlbF9kZXRhY2hlZDsKIAorICAgIHNwYXdu LT5xbXBfZG9taWQgPSBJTlZBTElEX0RPTUlEOworICAgIGlmIChkbV9tb25pdG9yX2ZkID49IDAp IHsKKyAgICAgICAgLyogVGhlcmUgaXMgYSB2YWxpZCBRTVAgc29ja2V0IGF2YWlsYWJsZSBub3cs IGhhdmUgbGlieGxfX3NwYXduX3NwYXduCisgICAgICAgICAqIHVzZSBpdCB0byBmaW5kIG91dCB3 aGVuIFFFTVUgaXMgcmVhZHkgKi8KKyAgICAgICAgc3Bhd24tPnFtcF9kb21pZCA9IGRvbWlkOwor ICAgIH0KKwogICAgIHJjID0gbGlieGxfX3NwYXduX3NwYXduKGVnYywgc3Bhd24pOwogICAgIGlm IChyYyA8IDApCiAgICAgICAgIGdvdG8gb3V0X2Nsb3NlOwpkaWZmIC0tZ2l0IGEvdG9vbHMvbGli eGwvbGlieGxfZXhlYy5jIGIvdG9vbHMvbGlieGwvbGlieGxfZXhlYy5jCmluZGV4IDAyZTZjOTE3 ZjAuLmU2MTI5N2VkMmYgMTAwNjQ0Ci0tLSBhL3Rvb2xzL2xpYnhsL2xpYnhsX2V4ZWMuYworKysg Yi90b29scy9saWJ4bC9saWJ4bF9leGVjLmMKQEAgLTI1OCw2ICsyNTgsOSBAQCBlcnI6CiAvKiBF dmVudCBjYWxsYmFja3MuICovCiBzdGF0aWMgdm9pZCBzcGF3bl93YXRjaF9ldmVudChsaWJ4bF9f ZWdjICplZ2MsIGxpYnhsX194c3dhaXRfc3RhdGUgKnhzd2EsCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBpbnQgcmMsIGNvbnN0IGNoYXIgKnhzZGF0YSk7CitzdGF0aWMgdm9pZCBzcGF3 bl9xbXBfY2FsbGJhY2sobGlieGxfX2VnYyAqZWdjLCBsaWJ4bF9fZXZfcW1wICpldiwKKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBsaWJ4bF9fanNvbl9vYmplY3QgKnJlc3Bv bnNlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpYnhsX19xbXBfZXJyb3JfY2xh c3MgZXJyb3IpOwogc3RhdGljIHZvaWQgc3Bhd25fbWlkZGxlX2RlYXRoKGxpYnhsX19lZ2MgKmVn YywgbGlieGxfX2V2X2NoaWxkICpjaGlsZHcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgcGlkX3QgcGlkLCBpbnQgc3RhdHVzKTsKIApAQCAtMjcyLDYgKzI3NSw3IEBAIHZvaWQgbGli eGxfX3NwYXduX2luaXQobGlieGxfX3NwYXduX3N0YXRlICpzcykKIHsKICAgICBsaWJ4bF9fZXZf Y2hpbGRfaW5pdCgmc3MtPm1pZCk7CiAgICAgbGlieGxfX3hzd2FpdF9pbml0KCZzcy0+eHN3YWl0 KTsKKyAgICBsaWJ4bF9fZXZfcW1wX2luaXQoJnNzLT5ldl9xbXApOwogfQogCiBpbnQgbGlieGxf X3NwYXduX3NwYXduKGxpYnhsX19lZ2MgKmVnYywgbGlieGxfX3NwYXduX3N0YXRlICpzcykKQEAg LTI5MSw2ICsyOTUsMTEgQEAgaW50IGxpYnhsX19zcGF3bl9zcGF3bihsaWJ4bF9fZWdjICplZ2Ms IGxpYnhsX19zcGF3bl9zdGF0ZSAqc3MpCiAgICAgc3MtPnhzd2FpdC5jYWxsYmFjayA9IHNwYXdu X3dhdGNoX2V2ZW50OwogICAgIHJjID0gbGlieGxfX3hzd2FpdF9zdGFydChnYywgJnNzLT54c3dh aXQpOwogICAgIGlmIChyYykgZ290byBvdXRfZXJyOworICAgIGlmIChzcy0+cW1wX2RvbWlkICE9 IElOVkFMSURfRE9NSUQpIHsKKyAgICAgICAgcmMgPSBsaWJ4bF9fZXZfcW1wX3JlZ2lzdGVyKGdj LCAmc3MtPmV2X3FtcCwgc3Bhd25fcW1wX2NhbGxiYWNrLAorICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgc3MtPnFtcF9kb21pZCwgInF1ZXJ5LXN0YXR1cyIsIE5VTEwpOworICAg ICAgICBpZiAocmMpIGdvdG8gb3V0X2VycjsKKyAgICB9CiAKICAgICBwaWRfdCBtaWRkbGUgPSBs aWJ4bF9fZXZfY2hpbGRfZm9yayhnYywgJnNzLT5taWQsIHNwYXduX21pZGRsZV9kZWF0aCk7CiAg ICAgaWYgKG1pZGRsZSA9PS0xKSB7IHJjID0gRVJST1JfRkFJTDsgZ290byBvdXRfZXJyOyB9CkBA IC0zNDcsNiArMzU2LDcgQEAgc3RhdGljIHZvaWQgc3Bhd25fY2xlYW51cChsaWJ4bF9fZ2MgKmdj LCBsaWJ4bF9fc3Bhd25fc3RhdGUgKnNzKQogewogICAgIGFzc2VydCghbGlieGxfX2V2X2NoaWxk X2ludXNlKCZzcy0+bWlkKSk7CiAgICAgbGlieGxfX3hzd2FpdF9zdG9wKGdjLCAmc3MtPnhzd2Fp dCk7CisgICAgbGlieGxfX2V2X3FtcF9kZXJlZ2lzdGVyKGdjLCAmc3MtPmV2X3FtcCk7CiB9CiAK IHN0YXRpYyB2b2lkIHNwYXduX2RldGFjaChsaWJ4bF9fZ2MgKmdjLCBsaWJ4bF9fc3Bhd25fc3Rh dGUgKnNzKQpAQCAtMzU5LDYgKzM2OSw3IEBAIHN0YXRpYyB2b2lkIHNwYXduX2RldGFjaChsaWJ4 bF9fZ2MgKmdjLCBsaWJ4bF9fc3Bhd25fc3RhdGUgKnNzKQogICAgIGFzc2VydChsaWJ4bF9fZXZf Y2hpbGRfaW51c2UoJnNzLT5taWQpKTsKICAgICBhc3NlcnQoc3MtPmRldGFjaGluZyB8fCBzcy0+ cmMpOwogICAgIGxpYnhsX194c3dhaXRfc3RvcChnYywgJnNzLT54c3dhaXQpOworICAgIGxpYnhs X19ldl9xbXBfZGVyZWdpc3RlcihnYywgJnNzLT5ldl9xbXApOwogCiAgICAgcGlkX3QgY2hpbGQg PSBzcy0+bWlkLnBpZDsKICAgICByID0ga2lsbChjaGlsZCwgU0lHS0lMTCk7CkBAIC0zOTksNiAr NDEwLDM5IEBAIHN0YXRpYyB2b2lkIHNwYXduX3dhdGNoX2V2ZW50KGxpYnhsX19lZ2MgKmVnYywg bGlieGxfX3hzd2FpdF9zdGF0ZSAqeHN3YSwKICAgICBzcy0+Y29uZmlybV9jYihlZ2MsIHNzLCBw KTsgLyogbXVzdCBiZSBsYXN0ICovCiB9CiAKK3N0YXRpYyB2b2lkIHNwYXduX3FtcF9jYWxsYmFj ayhsaWJ4bF9fZWdjICplZ2MsIGxpYnhsX19ldl9xbXAgKmV2LAorICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIGNvbnN0IGxpYnhsX19qc29uX29iamVjdCAqcmVzcG9uc2UsCisgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgbGlieGxfX3FtcF9lcnJvcl9jbGFzcyBlcnJvcikKK3sK KyAgICBFR0NfR0M7CisgICAgbGlieGxfX3NwYXduX3N0YXRlICpzcyA9IENPTlRBSU5FUl9PRihl diwgKnNzLCBldl9xbXApOworICAgIGNvbnN0IGxpYnhsX19qc29uX29iamVjdCAqbzsKKyAgICBj b25zdCBjaGFyICpzdGF0dXM7CisKKyAgICBpZiAoZXJyb3IpIHsKKyAgICAgICAgZ290byBmYWls ZWQ7CisgICAgfQorICAgIG8gPSBsaWJ4bF9fanNvbl9tYXBfZ2V0KCJzdGF0dXMiLCByZXNwb25z ZSwgSlNPTl9TVFJJTkcpOworICAgIGlmICghbykgeworICAgICAgICBMT0dEKERFQlVHLCBldi0+ ZG9taWQsICJRTVAgdW5leHBlY3RlZCByZXNwb25zZSIpOworICAgICAgICBnb3RvIGZhaWxlZDsK KyAgICB9CisgICAgc3RhdHVzID0gbGlieGxfX2pzb25fb2JqZWN0X2dldF9zdHJpbmcobyk7Cisg ICAgaWYgKCFzdHJjbXAoc3RhdHVzLCAicnVubmluZyIpKSB7CisgICAgICAgIC8qIHN1Y2Nlc3Mg Ki8KKyAgICB9IGVsc2UgeworICAgICAgICBMT0dEKERFQlVHLCBldi0+ZG9taWQsICJVbmV4cGVj dGVkIFFFTVUgc3RhdHVzOiAlcyIsIHN0YXR1cyk7CisgICAgICAgIGdvdG8gZmFpbGVkOworICAg IH0KKworICAgIHNzLT5jb25maXJtX2NiKGVnYywgc3MsIHN0YXR1cyk7IC8qIG11c3QgYmUgbGFz dCAqLworICAgIHJldHVybjsKKworZmFpbGVkOgorICAgIExPR0QoRVJST1IsIGV2LT5kb21pZCwg IlFFTVUgZGlkIG5vdCBzdGFydCBwcm9wZXJseSIpOworICAgIHNwYXduX2ZhaWwoZWdjLCBzcywg RVJST1JfRkFJTCk7IC8qIG11c3QgYmUgbGFzdCAqLworfQorCiBzdGF0aWMgdm9pZCBzcGF3bl9t aWRkbGVfZGVhdGgobGlieGxfX2VnYyAqZWdjLCBsaWJ4bF9fZXZfY2hpbGQgKmNoaWxkdywKICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwaWRfdCBwaWQsIGludCBzdGF0dXMpCiAgICAg LyogT24gZW50cnksIGlzIEF0dGFjaGVkIG9yIERldGFjaGluZyAqLwpkaWZmIC0tZ2l0IGEvdG9v bHMvbGlieGwvbGlieGxfaW50ZXJuYWwuaCBiL3Rvb2xzL2xpYnhsL2xpYnhsX2ludGVybmFsLmgK aW5kZXggMzcxYjI3ZTg2Ni4uNjFjYzhjOWYwYyAxMDA2NDQKLS0tIGEvdG9vbHMvbGlieGwvbGli eGxfaW50ZXJuYWwuaAorKysgYi90b29scy9saWJ4bC9saWJ4bF9pbnRlcm5hbC5oCkBAIC0xNjAz LDExICsxNjAzLDE2IEBAIHN0cnVjdCBsaWJ4bF9fc3Bhd25fc3RhdGUgewogICAgIGxpYnhsX19z cGF3bl9jb25maXJtX2NiICpjb25maXJtX2NiOwogICAgIGxpYnhsX19zcGF3bl9kZXRhY2hlZF9j YiAqZGV0YWNoZWRfY2I7CiAKKyAgICAvKiBJZiBxbXBfZG9taWQgIT0gSU5WQUxJRF9ET01JRCwg dGhlbiBsaWJ4bF9fc3Bhd25fc3Bhd24gd2lsbCBhbHNvIHVzZSBRTVAKKyAgICAgKiB0byBmaW5k IG91dCB3aGVuIHRoZSBwcm9jZXNzIGlzIHN0YXJ0ZWQgKi8KKyAgICB1aW50MzJfdCBxbXBfZG9t aWQ7CisKICAgICAvKiByZW1haW5pbmcgZmllbGRzIGFyZSBwcml2YXRlIHRvIGxpYnhsX3NwYXdu Xy4uLiAqLwogICAgIGludCBkZXRhY2hpbmc7IC8qIHdlIGFyZSBpbiBEZXRhY2hpbmcgKi8KICAg ICBpbnQgcmM7IC8qIG1pZ2h0IGJlIG5vbi0wIHdoZW5ldmVyIHdlIGFyZSBub3QgSWRsZSAqLwog ICAgIGxpYnhsX19ldl9jaGlsZCBtaWQ7IC8qIGFsd2F5cyBpbiB1c2Ugd2hlbmV2ZXIgd2UgYXJl IG5vdCBJZGxlICovCiAgICAgbGlieGxfX3hzd2FpdF9zdGF0ZSB4c3dhaXQ7CisgICAgbGlieGxf X2V2X3FtcCBldl9xbXA7CiB9OwogCiBzdGF0aWMgaW5saW5lIGludCBsaWJ4bF9fc3Bhd25faW51 c2UoY29uc3QgbGlieGxfX3NwYXduX3N0YXRlICpzcykKLS0gCkFudGhvbnkgUEVSQVJECgoKX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KWGVuLWRldmVsIG1h aWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKaHR0cHM6Ly9saXN0cy54 ZW5wcm9qZWN0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL3hlbi1kZXZlbA==