From mboxrd@z Thu Jan 1 00:00:00 1970 From: Wei Liu Subject: Re: [RFC] libxl hotplug / unplug emulated devices Date: Fri, 20 May 2016 18:45:04 +0100 Message-ID: <20160520174504.GF31272@citrix.com> References: <20160520163451.GB31272@citrix.com> <22335.15764.94991.14504@mariner.uk.xensource.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail6.bemta3.messagelabs.com ([195.245.230.39]) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1b3oU8-0008EW-Vn for xen-devel@lists.xenproject.org; Fri, 20 May 2016 17:45:17 +0000 Content-Disposition: inline In-Reply-To: <22335.15764.94991.14504@mariner.uk.xensource.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: Ian Jackson Cc: Anthony PERARD , Xen-devel , Wei Liu , George Dunlap List-Id: xen-devel@lists.xenproject.org T24gRnJpLCBNYXkgMjAsIDIwMTYgYXQgMDU6Mzg6NDRQTSArMDEwMCwgSWFuIEphY2tzb24gd3Jv dGU6Cj4gV2VpIExpdSB3cml0ZXMgKCJbUkZDXSBsaWJ4bCBob3RwbHVnIC8gdW5wbHVnIGVtdWxh dGVkIGRldmljZXMiKToKPiA+IFJlY2VudGx5IEkgZ290IGEgcmVwb3J0IG9uIHhlbi11c2Vyc0Ag YWJvdXQgeGwgbmV0d29yay1hdHRhY2ggbm90Cj4gPiB3b3JraW5nIGZvciBIVk0gZ3Vlc3QuCj4g PiAKPiA+IEkgdHJ5IHRvIHVzZQo+ID4gICB4bCBuZXR3b3JrLWF0dGFjaCBqZXNzaWUtaHZtICdi cmlkZ2U9eGVuYnIwJwo+ID4gYW5kIHZpZi1icmlkZ2Ugc2NyaXB0IGNvbXBsYWlucyB0aGF0IGl0 IGNhbid0IGFkZCB2aWZYWC1lbXUgdG8gYnJpZGdlLgo+ID4gCj4gPiBUaGUgdW5kZXJseWluZyBp c3N1ZSBpcyB0aGF0IHRoZSB2aWYgc3BlYyBwcm92aWRlZCBkZWZhdWx0cyB0bwo+ID4gZW11bGF0 ZWQgbmljLCBidXQgbGlieGwgb25seSBwb3B1bGF0ZXMgYSBwdiBuaWMgYnV0IGRvZXNuJ3QgY2Fs bCBvdXQKPiA+IHZpYSBRTVAgdG8gUUVNVSB0byBwb3B1bGF0ZSBvbmUuIE5vdGUgdGhhdCB0aGlz IGlzc3VlIG5vdCBvbmx5IGFmZmVjdHMKPiA+IG5pYyBkZXZpY2UgYnV0IGVzc2VudGlhbGx5IGFs bCBkZXZpY2UgdHlwZXMuCj4gCj4gSXMgaXQgcmVhbGx5IHNlbnNpYmxlIHRvIG9mZmVyIGVtdWxh dGVkIG5pYyBob3RwbHVnID8gIFRoYXQnZCBiZQo+IHByZXNlbnRlZCB0byB0aGUgZ3Vlc3QgYXMg cGNpIGhvdHBsdWcsIEkgZ3Vlc3MgPwo+IAo+ID4gSSBhbHNvIGV4cGVyaW1lbnRlZCB3aXRoIGJs b2NrIGRldmljZToKPiA+ICAgeGwgYmxvY2stYXR0YWNoIGplc3NpZS1odm0gJ3BoeTovZGV2L0RB VEEvZGlzayxoZGIsdycKPiA+IGFuZCBpdCBzdWNjZWVkLCBvbmx5IHB2IGRpc2sgaXMgcG9wdWxh dGVkIHRob3VnaC4KPiAKPiBUaGF0J3Mgd2hhdCBJIHdvdWxkIGhhdmUgZXhwZWN0ZWQuCj4gCj4g TWF5YmUgdGhlIGZpeCBzaG91bGQgYmUgdGhhdCB4bCBuZXR3b3JrLWF0dGFjaCBzaG91bGQgZGVm YXVsdCBob3RwbHVnCj4gbmljcyB0byBwdiBvbmx5Lgo+IAoKSGVyZSBpcyBhIHBhdGNoIHRvIGRv IHRoaXMuIDotKQoKLS0tODwtLS0KRnJvbSAwYTBhMGFjNzZmODI1OTgzYmIxM2Q3MGU0NmE1OWNh YmIwNWVkNzdiIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBXZWkgTGl1IDx3ZWkubGl1 MkBjaXRyaXguY29tPgpEYXRlOiBGcmksIDIwIE1heSAyMDE2IDE4OjE2OjA1ICswMTAwClN1Ympl Y3Q6IFtQQVRDSCBmb3ItNC43XSBsaWJ4bDogbmljIHR5cGUgZGVmYXVsdHMgdG8gdmlmIGluIGhv dHBsdWcgZm9yIGh2bSBndWVzdAoKV2UgZG9uJ3Qgc3VwcG9ydCBwbHVnZ2luZyBpbiBlbXVsYXRl ZCBuaWMgdG8gYSBIVk0gZ3Vlc3QuCgpUaGUgInVwZGF0ZV9qc29uIiBmbGFnIGlzIG9ubHkgc2V0 IHdoZW4gZG9pbmcgaG90cGx1Zywgc28gdXNlIHRoYXQgYXMgYW4KaW5kaWNhdG9yIGluIGxpYnhs X19kZXZpY2VfbmljX2FkZC4gVGhlIG5ldyBob3RwbHVnIGZsYWcgdG8gX3NldGRlZmF1bHQKZnVu Y3Rpb24gc2hvdWxkIGJlIGZhbHNlIGluIGFsbCBvdGhlciBsb2NhdGlvbnMuCgpUaGlzIHRoZW4g cmVxdWlyZXMgc2F2aW5nIG5pYyB0eXBlIGluIEpTT04gZmlsZSwgYmVjYXVzZSB3ZSBkb24ndCB3 YW50CnRoZSByZWNlaXZpbmcgZW5kIHRvIHJlY2FsY3VsYXRlIHRoZSBuaWMgdHlwZS4KClNpZ25l ZC1vZmYtYnk6IFdlaSBMaXUgPHdlaS5saXUyQGNpdHJpeC5jb20+Ci0tLQogdG9vbHMvbGlieGwv bGlieGwuYyAgICAgICAgICB8IDYgKysrLS0tCiB0b29scy9saWJ4bC9saWJ4bF9jcmVhdGUuYyAg IHwgMyArKy0KIHRvb2xzL2xpYnhsL2xpYnhsX2RtLmMgICAgICAgfCAzICsrLQogdG9vbHMvbGli eGwvbGlieGxfaW50ZXJuYWwuaCB8IDMgKystCiA0IGZpbGVzIGNoYW5nZWQsIDkgaW5zZXJ0aW9u cygrKSwgNiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS90b29scy9saWJ4bC9saWJ4bC5jIGIv dG9vbHMvbGlieGwvbGlieGwuYwppbmRleCBjMzlkNzQ1Li42MmU5Mjk0IDEwMDY0NAotLS0gYS90 b29scy9saWJ4bC9saWJ4bC5jCisrKyBiL3Rvb2xzL2xpYnhsL2xpYnhsLmMKQEAgLTMzMTksNyAr MzMxOSw3IEBAIG91dDoKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCiAKIGludCBsaWJ4bF9fZGV2 aWNlX25pY19zZXRkZWZhdWx0KGxpYnhsX19nYyAqZ2MsIGxpYnhsX2RldmljZV9uaWMgKm5pYywK LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IGRvbWlkKQorICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgZG9taWQsIGJvb2wgaG90cGx1ZykK IHsKICAgICBpbnQgcmM7CiAKQEAgLTMzNTgsNyArMzM1OCw3IEBAIGludCBsaWJ4bF9fZGV2aWNl X25pY19zZXRkZWZhdWx0KGxpYnhsX19nYyAqZ2MsIGxpYnhsX2RldmljZV9uaWMgKm5pYywKICAg ICBjYXNlIExJQlhMX0RPTUFJTl9UWVBFX0hWTToKICAgICAgICAgaWYgKCFuaWMtPm5pY3R5cGUp IHsKICAgICAgICAgICAgIGlmIChsaWJ4bF9fZGV2aWNlX21vZGVsX3ZlcnNpb25fcnVubmluZyhn YywgZG9taWQpID09Ci0gICAgICAgICAgICAgICAgTElCWExfREVWSUNFX01PREVMX1ZFUlNJT05f Tk9ORSkKKyAgICAgICAgICAgICAgICBMSUJYTF9ERVZJQ0VfTU9ERUxfVkVSU0lPTl9OT05FIHx8 IGhvdHBsdWcpCiAgICAgICAgICAgICAgICAgbmljLT5uaWN0eXBlID0gTElCWExfTklDX1RZUEVf VklGOwogICAgICAgICAgICAgZWxzZQogICAgICAgICAgICAgICAgIG5pYy0+bmljdHlwZSA9IExJ QlhMX05JQ19UWVBFX1ZJRl9JT0VNVTsKQEAgLTM0MTEsNyArMzQxMSw3IEBAIHZvaWQgbGlieGxf X2RldmljZV9uaWNfYWRkKGxpYnhsX19lZ2MgKmVnYywgdWludDMyX3QgZG9taWQsCiAgICAgbGli eGxfZGV2aWNlX25pY19pbml0KCZuaWNfc2F2ZWQpOwogICAgIGxpYnhsX2RldmljZV9uaWNfY29w eShDVFgsICZuaWNfc2F2ZWQsIG5pYyk7CiAKLSAgICByYyA9IGxpYnhsX19kZXZpY2VfbmljX3Nl dGRlZmF1bHQoZ2MsIG5pYywgZG9taWQpOworICAgIHJjID0gbGlieGxfX2RldmljZV9uaWNfc2V0 ZGVmYXVsdChnYywgbmljLCBkb21pZCwgYW9kZXYtPnVwZGF0ZV9qc29uKTsKICAgICBpZiAocmMp IGdvdG8gb3V0OwogCiAgICAgZnJvbnQgPSBmbGV4YXJyYXlfbWFrZShnYywgMTYsIDEpOwpkaWZm IC0tZ2l0IGEvdG9vbHMvbGlieGwvbGlieGxfY3JlYXRlLmMgYi90b29scy9saWJ4bC9saWJ4bF9j cmVhdGUuYwppbmRleCA1MDAwYmQwLi43ZTU3MjE1IDEwMDY0NAotLS0gYS90b29scy9saWJ4bC9s aWJ4bF9jcmVhdGUuYworKysgYi90b29scy9saWJ4bC9saWJ4bF9jcmVhdGUuYwpAQCAtOTQ2LDcg Kzk0Niw4IEBAIHN0YXRpYyB2b2lkIGluaXRpYXRlX2RvbWFpbl9jcmVhdGUobGlieGxfX2VnYyAq ZWdjLAogICAgICAgICAgKiBjYWxsZWQgbGlieGxfZGV2aWNlX25pY19hZGQgd2hlbiBkb21jcmVh dGVfbGF1bmNoX2RtIGdldHMgY2FsbGVkLAogICAgICAgICAgKiBidXQgcWVtdSBuZWVkcyB0aGUg bmljIGluZm9ybWF0aW9uIHRvIGJlIGNvbXBsZXRlLgogICAgICAgICAgKi8KLSAgICAgICAgcmV0 ID0gbGlieGxfX2RldmljZV9uaWNfc2V0ZGVmYXVsdChnYywgJmRfY29uZmlnLT5uaWNzW2ldLCBk b21pZCk7CisgICAgICAgIHJldCA9IGxpYnhsX19kZXZpY2VfbmljX3NldGRlZmF1bHQoZ2MsICZk X2NvbmZpZy0+bmljc1tpXSwgZG9taWQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgZmFsc2UpOwogICAgICAgICBpZiAocmV0KSB7CiAgICAgICAgICAgICBMT0co RVJST1IsICJVbmFibGUgdG8gc2V0IG5pYyBkZWZhdWx0cyBmb3IgbmljICVkIiwgaSk7CiAgICAg ICAgICAgICBnb3RvIGVycm9yX291dDsKZGlmZiAtLWdpdCBhL3Rvb2xzL2xpYnhsL2xpYnhsX2Rt LmMgYi90b29scy9saWJ4bC9saWJ4bF9kbS5jCmluZGV4IDRhZmYzMjNhLi42NWRjZWVlIDEwMDY0 NAotLS0gYS90b29scy9saWJ4bC9saWJ4bF9kbS5jCisrKyBiL3Rvb2xzL2xpYnhsL2xpYnhsX2Rt LmMKQEAgLTE4MDksNyArMTgwOSw4IEBAIHN0YXRpYyB2b2lkIHNwYXduX3N0dWJfbGF1bmNoX2Rt KGxpYnhsX19lZ2MgKmVnYywKICAgICAgICAgICogY2FsbGVkIGxpYnhsX2RldmljZV9uaWNfYWRk IGF0IHRoaXMgcG9pbnQsIGJ1dCBxZW11IG5lZWRzCiAgICAgICAgICAqIHRoZSBuaWMgaW5mb3Jt YXRpb24gdG8gYmUgY29tcGxldGUuCiAgICAgICAgICAqLwotICAgICAgICByZXQgPSBsaWJ4bF9f ZGV2aWNlX25pY19zZXRkZWZhdWx0KGdjLCAmZG1fY29uZmlnLT5uaWNzW2ldLCBkbV9kb21pZCk7 CisgICAgICAgIHJldCA9IGxpYnhsX19kZXZpY2VfbmljX3NldGRlZmF1bHQoZ2MsICZkbV9jb25m aWctPm5pY3NbaV0sIGRtX2RvbWlkLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIGZhbHNlKTsKICAgICAgICAgaWYgKHJldCkKICAgICAgICAgICAgIGdvdG8gb3V0 OwogICAgIH0KZGlmZiAtLWdpdCBhL3Rvb2xzL2xpYnhsL2xpYnhsX2ludGVybmFsLmggYi90b29s cy9saWJ4bC9saWJ4bF9pbnRlcm5hbC5oCmluZGV4IGM3OTE0MTguLmZhYzU3NTEgMTAwNjQ0Ci0t LSBhL3Rvb2xzL2xpYnhsL2xpYnhsX2ludGVybmFsLmgKKysrIGIvdG9vbHMvbGlieGwvbGlieGxf aW50ZXJuYWwuaApAQCAtMTIxNyw3ICsxMjE3LDcgQEAgX2hpZGRlbiBpbnQgbGlieGxfX2Rldmlj ZV9kaXNrX3NldGRlZmF1bHQobGlieGxfX2djICpnYywKICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIGxpYnhsX2RldmljZV9kaXNrICpkaXNrLAogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgZG9taWQpOwogX2hpZGRlbiBp bnQgbGlieGxfX2RldmljZV9uaWNfc2V0ZGVmYXVsdChsaWJ4bF9fZ2MgKmdjLCBsaWJ4bF9kZXZp Y2VfbmljICpuaWMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVp bnQzMl90IGRvbWlkKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg dWludDMyX3QgZG9taWQsIGJvb2wgaG90cGx1Zyk7CiBfaGlkZGVuIGludCBsaWJ4bF9fZGV2aWNl X3Z0cG1fc2V0ZGVmYXVsdChsaWJ4bF9fZ2MgKmdjLCBsaWJ4bF9kZXZpY2VfdnRwbSAqdnRwbSk7 CiBfaGlkZGVuIGludCBsaWJ4bF9fZGV2aWNlX3ZmYl9zZXRkZWZhdWx0KGxpYnhsX19nYyAqZ2Ms IGxpYnhsX2RldmljZV92ZmIgKnZmYik7CiBfaGlkZGVuIGludCBsaWJ4bF9fZGV2aWNlX3ZrYl9z ZXRkZWZhdWx0KGxpYnhsX19nYyAqZ2MsIGxpYnhsX2RldmljZV92a2IgKnZrYik7CkBAIC00MDk1 LDYgKzQwOTUsNyBAQCBzdGF0aWMgaW5saW5lIHZvaWQgbGlieGxfX3VwZGF0ZV9jb25maWdfbmlj KGxpYnhsX19nYyAqZ2MsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIGxpYnhsX2RldmljZV9uaWMgKnNyYykKIHsKICAgICBkc3QtPmRldmlkID0gc3JjLT5kZXZp ZDsKKyAgICBkc3QtPm5pY3R5cGUgPSBzcmMtPm5pY3R5cGU7CiAgICAgbGlieGxfbWFjX2NvcHko Q1RYLCAmZHN0LT5tYWMsICZzcmMtPm1hYyk7CiB9CiAKLS0gCjIuMS40CgpfX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0 Clhlbi1kZXZlbEBsaXN0cy54ZW4ub3JnCmh0dHA6Ly9saXN0cy54ZW4ub3JnL3hlbi1kZXZlbAo=