From mboxrd@z Thu Jan 1 00:00:00 1970 From: Anthony PERARD Subject: [PATCH v4 27/32] libxl: QEMU startup sync based on QMP Date: Fri, 27 Jul 2018 15:06:09 +0100 Message-ID: <20180727140614.13256-28-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 1fj3jZ-0008Kk-N9 for xen-devel@lists.xenproject.org; Fri, 27 Jul 2018 14:28:45 +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 VGhpcyBpcyBvbmx5IGFjdGl2YXRlZCB3aGVuIGRtX3Jlc3RyaWN0PTEsIGFzIGV4cGxhaW5lZCBp biB0aGUgcHJldmlvdXMKcGF0Y2ggImxpYnhsX2RtOiBQcmUtb3BlbiBRTVAgc29ja2V0IGZvciBR RU1VIgoKU2lnbmVkLW9mZi1ieTogQW50aG9ueSBQRVJBUkQgPGFudGhvbnkucGVyYXJkQGNpdHJp eC5jb20+Ci0tLQoKTm90ZXM6CiAgICB2NDoKICAgICAgICBtb3ZlZCB0byBsaWJ4bF9fZG1fc3Bh d25fKiBmcm9tIGxpYnhsX19zcGF3bl8qCgogdG9vbHMvbGlieGwvbGlieGxfZG0uYyAgICAgICB8 IDUyICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwogdG9vbHMvbGlieGwvbGli eGxfaW50ZXJuYWwuaCB8ICAxICsKIDIgZmlsZXMgY2hhbmdlZCwgNTMgaW5zZXJ0aW9ucygrKQoK ZGlmZiAtLWdpdCBhL3Rvb2xzL2xpYnhsL2xpYnhsX2RtLmMgYi90b29scy9saWJ4bC9saWJ4bF9k bS5jCmluZGV4IDllM2U1MDE0NTcuLjBjMTFlOTZhNWQgMTAwNjQ0Ci0tLSBhL3Rvb2xzL2xpYnhs L2xpYnhsX2RtLmMKKysrIGIvdG9vbHMvbGlieGwvbGlieGxfZG0uYwpAQCAtMjI5MCw2ICsyMjkw LDggQEAgc3RhdGljIHZvaWQgZGV2aWNlX21vZGVsX3N0YXJ0dXBfZmFpbGVkKGxpYnhsX19lZ2Mg KmVnYywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmMpOwog c3RhdGljIHZvaWQgZGV2aWNlX21vZGVsX2RldGFjaGVkKGxpYnhsX19lZ2MgKmVnYywKICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWJ4bF9fc3Bhd25fc3RhdGUgKnNwYXduKTsK K3N0YXRpYyB2b2lkIGRldmljZV9tb2RlbF9xbXBfY2IobGlieGxfX2VnYyAqZWdjLCBsaWJ4bF9f ZXZfcW1wICpldiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgbGlieGxf X2pzb25fb2JqZWN0ICpyZXNwb25zZSwgaW50IHJjKTsKIAogLyogb3VyICJuZXh0IHN0ZXAiIGZ1 bmN0aW9uLCBjYWxsZWQgZnJvbSB0aG9zZSBjYWxsYmFja3MgYW5kIGVsc2V3aGVyZSAqLwogc3Rh dGljIHZvaWQgZGV2aWNlX21vZGVsX3NwYXduX291dGNvbWUobGlieGxfX2VnYyAqZWdjLApAQCAt MjQyMSw2ICsyNDIzLDE3IEBAIHJldHJ5X3RyYW5zYWN0aW9uOgogICAgIHNwYXduLT5mYWlsdXJl X2NiID0gZGV2aWNlX21vZGVsX3N0YXJ0dXBfZmFpbGVkOwogICAgIHNwYXduLT5kZXRhY2hlZF9j YiA9IGRldmljZV9tb2RlbF9kZXRhY2hlZDsKIAorICAgIGxpYnhsX19ldl9xbXBfaW5pdCgmZG1z cy0+cW1wKTsKKyAgICBpZiAoZG1fbW9uaXRvcl9mZCA+PSAwKSB7CisgICAgICAgIC8qIFRoZXJl IGlzIGEgdmFsaWQgUU1QIHNvY2tldCBhdmFpbGFibGUgbm93LAorICAgICAgICAgKiB1c2UgaXQg dG8gZmluZCBvdXQgd2hlbiBRRU1VIGlzIHJlYWR5ICovCisgICAgICAgIGRtc3MtPnFtcC5jYWxs YmFjayA9IGRldmljZV9tb2RlbF9xbXBfY2I7CisgICAgICAgIGRtc3MtPnFtcC5kb21pZCA9IGRv bWlkOworICAgICAgICBkbXNzLT5xbXAuY2ZkID0gTlVMTDsKKyAgICAgICAgcmMgPSBsaWJ4bF9f ZXZfcW1wX3NlbmQoZ2MsICZkbXNzLT5xbXAsICJxdWVyeS1zdGF0dXMiLCBOVUxMKTsKKyAgICAg ICAgaWYgKHJjKSBnb3RvIG91dF9jbG9zZTsKKyAgICB9CisKICAgICByYyA9IGxpYnhsX19zcGF3 bl9zcGF3bihlZ2MsIHNwYXduKTsKICAgICBpZiAocmMgPCAwKQogICAgICAgICBnb3RvIG91dF9j bG9zZTsKQEAgLTI0OTAsNiArMjUwMyw0MyBAQCBzdGF0aWMgdm9pZCBkZXZpY2VfbW9kZWxfZGV0 YWNoZWQobGlieGxfX2VnYyAqZWdjLAogICAgIGRldmljZV9tb2RlbF9zcGF3bl9vdXRjb21lKGVn YywgZG1zcywgMCk7CiB9CiAKK3N0YXRpYyB2b2lkIGRldmljZV9tb2RlbF9xbXBfY2IobGlieGxf X2VnYyAqZWdjLCBsaWJ4bF9fZXZfcW1wICpldiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgY29uc3QgbGlieGxfX2pzb25fb2JqZWN0ICpyZXNwb25zZSwKKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgaW50IHJjKQoreworICAgIEVHQ19HQzsKKyAgICBsaWJ4bF9fZG1f c3Bhd25fc3RhdGUgKmRtc3MgPSBDT05UQUlORVJfT0YoZXYsICpkbXNzLCBxbXApOworICAgIGNv bnN0IGxpYnhsX19qc29uX29iamVjdCAqbzsKKyAgICBjb25zdCBjaGFyICpzdGF0dXM7CisKKyAg ICBsaWJ4bF9fZXZfcW1wX2Rpc3Bvc2UoZ2MsIGV2KTsKKworICAgIGlmIChyYykKKyAgICAgICAg Z290byBmYWlsZWQ7CisKKyAgICBvID0gbGlieGxfX2pzb25fbWFwX2dldCgic3RhdHVzIiwgcmVz cG9uc2UsIEpTT05fU1RSSU5HKTsKKyAgICBpZiAoIW8pIHsKKyAgICAgICAgTE9HRChERUJVRywg ZXYtPmRvbWlkLCAiUU1QIHVuZXhwZWN0ZWQgcmVzcG9uc2UiKTsKKyAgICAgICAgcmMgPSBFUlJP Ul9GQUlMOworICAgICAgICBnb3RvIGZhaWxlZDsKKyAgICB9CisgICAgc3RhdHVzID0gbGlieGxf X2pzb25fb2JqZWN0X2dldF9zdHJpbmcobyk7CisgICAgaWYgKCFzdHJjbXAoc3RhdHVzLCAicnVu bmluZyIpKSB7CisgICAgICAgIC8qIHN1Y2Nlc3MgKi8KKyAgICB9IGVsc2UgeworICAgICAgICBM T0dEKERFQlVHLCBldi0+ZG9taWQsICJVbmV4cGVjdGVkIFFFTVUgc3RhdHVzOiAlcyIsIHN0YXR1 cyk7CisgICAgICAgIHJjID0gRVJST1JfRkFJTDsKKyAgICAgICAgZ290byBmYWlsZWQ7CisgICAg fQorCisgICAgbGlieGxfX3NwYXduX2luaXRpYXRlX2RldGFjaChnYywgJmRtc3MtPnNwYXduKTsK KyAgICByZXR1cm47CisKK2ZhaWxlZDoKKyAgICBMT0dEKEVSUk9SLCBldi0+ZG9taWQsICJRRU1V IGRpZCBub3Qgc3RhcnQgcHJvcGVybHksIHJjPSVkIiwgcmMpOworICAgIGxpYnhsX19zcGF3bl9p bml0aWF0ZV9mYWlsdXJlKGdjLCAmZG1zcy0+c3Bhd24sIHJjKTsKK30KKwogc3RhdGljIHZvaWQg ZGV2aWNlX21vZGVsX3NwYXduX291dGNvbWUobGlieGxfX2VnYyAqZWdjLAogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlieGxfX2RtX3NwYXduX3N0YXRlICpkbXNzLAog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJjKQpAQCAtMjUxMyw2 ICsyNTYzLDggQEAgc3RhdGljIHZvaWQgZGV2aWNlX21vZGVsX3NwYXduX291dGNvbWUobGlieGxf X2VnYyAqZWdjLAogICAgICAgICB9CiAgICAgfQogCisgICAgbGlieGxfX2V2X3FtcF9kaXNwb3Nl KGdjLCAmZG1zcy0+cW1wKTsKKwogIG91dDoKICAgICBkbXNzLT5jYWxsYmFjayhlZ2MsIGRtc3Ms IHJjKTsKIH0KZGlmZiAtLWdpdCBhL3Rvb2xzL2xpYnhsL2xpYnhsX2ludGVybmFsLmggYi90b29s cy9saWJ4bC9saWJ4bF9pbnRlcm5hbC5oCmluZGV4IGI5NDY1N2E3ZjAuLjAxYzM4Njg3NDggMTAw NjQ0Ci0tLSBhL3Rvb2xzL2xpYnhsL2xpYnhsX2ludGVybmFsLmgKKysrIGIvdG9vbHMvbGlieGwv bGlieGxfaW50ZXJuYWwuaApAQCAtMzg5Myw2ICszODkzLDcgQEAgc3RydWN0IGxpYnhsX19kbV9z cGF3bl9zdGF0ZSB7CiAgICAgbGlieGxfZG9tYWluX2NvbmZpZyAqZ3Vlc3RfY29uZmlnOwogICAg IGxpYnhsX19kb21haW5fYnVpbGRfc3RhdGUgKmJ1aWxkX3N0YXRlOyAvKiByZWxhdGVzIHRvIGd1 ZXN0X2RvbWlkICovCiAgICAgbGlieGxfX2RtX3NwYXduX2NiICpjYWxsYmFjazsKKyAgICBsaWJ4 bF9fZXZfcW1wIHFtcDsKIH07CiAKIF9oaWRkZW4gdm9pZCBsaWJ4bF9fc3Bhd25fbG9jYWxfZG0o bGlieGxfX2VnYyAqZWdjLCBsaWJ4bF9fZG1fc3Bhd25fc3RhdGUqKTsKLS0gCkFudGhvbnkgUEVS QVJECgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KWGVu LWRldmVsIG1haWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKaHR0cHM6 Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL3hlbi1kZXZlbA==