From mboxrd@z Thu Jan 1 00:00:00 1970 From: Roger Pau Monne Subject: [PATCH v1 06/12] libxl: synchronize device removal when using driver domains Date: Wed, 2 Oct 2013 11:24:28 +0200 Message-ID: <1380705874-58491-7-git-send-email-roger.pau@citrix.com> References: <1380705874-58491-1-git-send-email-roger.pau@citrix.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.xen.org with esmtp (Exim 4.72) (envelope-from ) id 1VRIfj-0008Bg-Eu for xen-devel@lists.xenproject.org; Wed, 02 Oct 2013 09:24:43 +0000 In-Reply-To: <1380705874-58491-1-git-send-email-roger.pau@citrix.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xen.org Errors-To: xen-devel-bounces@lists.xen.org To: xen-devel@lists.xenproject.org Cc: Ian Jackson , Ian Campbell , Roger Pau Monne List-Id: xen-devel@lists.xenproject.org U3luY2hyb25pemUgdGhlIGNsZWFuIHVwIG9mIHRoZSBiYWNrZW5kIGZyb20gdGhlIHRvb2xzdGFj ayBkb21haW4gd2hlbgp0aGUgZHJpdmVyIGRvbWFpbiBoYXMgYWN0dWFsbHkgZmluaXNoZWQgY2xv c2luZyB0aGUgYmFja2VuZCBmb3IgdGhlCmRldmljZS4KClRoaXMgaXMgYWNjb21wbGlzaGVkIGJ5 IHdhaXRpbmcgZm9yIHRoZSBkcml2ZXIgZG9tYWluIHRvICByZW1vdmUgdGhlCmRpcmVjdG9yeSBj b250YWluaW5nIHRoZSBiYWNrZW5kIGtleXMsIHRoZW4gdGhlIHRvb2xzdGFjayBkb21haW4gd2ls bApmaW5pc2ggdGhlIGNsZWFudXAgYnkgcmVtb3ZpbmcgdGhlIGVtcHR5IGZvbGRlcnMgb24gdGhl IGJhY2tlbmQgcGF0aC4KClNpZ25lZC1vZmYtYnk6IFJvZ2VyIFBhdSBNb25uw6kgPHJvZ2VyLnBh dUBjaXRyaXguY29tPgpDYzogSWFuIEphY2tzb24gPElhbi5KYWNrc29uQGV1LmNpdHJpeC5jb20+ CkNjOiBJYW4gQ2FtcGJlbGwgPGlhbi5jYW1wYmVsbEBjaXRyaXguY29tPgotLS0KQ2hhbmdlcyBz aW5jZSBSRkM6CiAqIFRoaXMgcGF0Y2ggaGFzIGJlZW4gcmV3b3JrZWQgdG8gc3luY2hyb25pemUg dGhlIHRvb2xzdGFjayBhbmQgdGhlCiAgIGRyaXZlciBkb21haW4sIGJ5IG1ha2luZyB0aGUgZHJp dmVyIGRvbWFpbiBvbmx5IHJlbW92ZSB0aGUgZmlyc3QKICAgZGlyZWN0b3J5IG9mIHRoZSBiYWNr ZW5kIHBhdGgsIGFuZCB0aGUgdG9vbHN0YWNrIGRvbWFpbiByZW1vdmUgdGhlCiAgIHJlc3QuCi0t LQogdG9vbHMvbGlieGwvbGlieGxfZGV2aWNlLmMgICB8ICAgODIgKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKy0KIHRvb2xzL2xpYnhsL2xpYnhsX2ludGVybmFsLmggfCAg ICAyICsKIDIgZmlsZXMgY2hhbmdlZCwgODIgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkK CmRpZmYgLS1naXQgYS90b29scy9saWJ4bC9saWJ4bF9kZXZpY2UuYyBiL3Rvb2xzL2xpYnhsL2xp YnhsX2RldmljZS5jCmluZGV4IGQ3MjZmMGIuLmZiYWIwZDUgMTAwNjQ0Ci0tLSBhL3Rvb2xzL2xp YnhsL2xpYnhsX2RldmljZS5jCisrKyBiL3Rvb2xzL2xpYnhsL2xpYnhsX2RldmljZS5jCkBAIC03 MjIsNiArNzIyLDE0IEBAIHN0YXRpYyB2b2lkIGRldmljZV9ob3RwbHVnX2NoaWxkX2RlYXRoX2Ni KGxpYnhsX19lZ2MgKmVnYywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIGxpYnhsX19ldl9jaGlsZCAqY2hpbGQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBwaWRfdCBwaWQsIGludCBzdGF0dXMpOwogCitzdGF0aWMgdm9pZCBkZXZp Y2VfZGVzdHJveV9iZV90aW1lb3V0X2NiKGxpYnhsX19lZ2MgKmVnYywgbGlieGxfX2V2X3RpbWUg KmV2LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzdHJ1 Y3QgdGltZXZhbCAqcmVxdWVzdGVkX2Ficyk7CisKK3N0YXRpYyB2b2lkIGRldmljZV9kZXN0cm95 X2JlX3dhdGNoX2NiKGxpYnhsX19lZ2MgKmVnYywKKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIGxpYnhsX19ldl94c3dhdGNoICp3YXRjaCwKKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKndhdGNoX3BhdGgsCisgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyICpldmVudF9wYXRoKTsKKwog c3RhdGljIHZvaWQgZGV2aWNlX2hvdHBsdWdfZG9uZShsaWJ4bF9fZWdjICplZ2MsIGxpYnhsX19h b19kZXZpY2UgKmFvZGV2KTsKIAogc3RhdGljIHZvaWQgZGV2aWNlX2hvdHBsdWdfY2xlYW4obGli eGxfX2djICpnYywgbGlieGxfX2FvX2RldmljZSAqYW9kZXYpOwpAQCAtOTMyLDggKzk0MCwzMiBA QCBzdGF0aWMgdm9pZCBkZXZpY2VfaG90cGx1ZyhsaWJ4bF9fZWdjICplZ2MsIGxpYnhsX19hb19k ZXZpY2UgKmFvZGV2KQogICAgICAqLwogICAgIHJjID0gbGlieGxfX2dldF9kb21pZChnYywgJmRv bWlkKTsKICAgICBpZiAocmMpIGdvdG8gb3V0OwotICAgIGlmIChhb2Rldi0+ZGV2LT5iYWNrZW5k X2RvbWlkICE9IGRvbWlkKQotICAgICAgICBnb3RvIG91dDsKKyAgICBpZiAoYW9kZXYtPmRldi0+ YmFja2VuZF9kb21pZCAhPSBkb21pZCkgeworICAgICAgICBpZiAoYW9kZXYtPmFjdGlvbiAhPSBM SUJYTF9fREVWSUNFX0FDVElPTl9SRU1PVkUpCisgICAgICAgICAgICBnb3RvIG91dDsKKworICAg ICAgICAvKiBXYWl0IGZvciB0aGUgZHJpdmVyIGRvbWFpbiB0byByZW1vdmUgdGhlIGJhY2tlbmQg cGF0aCAqLworICAgICAgICBsaWJ4bF9fZXZfdGltZV9pbml0KCZhb2Rldi0+dGltZW91dCk7Cisg ICAgICAgIGxpYnhsX19ldl94c3dhdGNoX2luaXQoJmFvZGV2LT54c193YXRjaCk7CisKKyAgICAg ICAgcmMgPSBsaWJ4bF9fZXZfdGltZV9yZWdpc3Rlcl9yZWwoZ2MsICZhb2Rldi0+dGltZW91dCwK KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGV2aWNlX2Rlc3Ryb3lf YmVfdGltZW91dF9jYiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg TElCWExfREVTVFJPWV9USU1FT1VUICogMTAwMCk7CisgICAgICAgIGlmIChyYykgeworICAgICAg ICAgICAgTE9HKEVSUk9SLCAic2V0dXAgb2YgeHMgd2F0Y2ggdGltZW91dCBmYWlsZWQiKTsKKyAg ICAgICAgICAgIGdvdG8gb3V0OworICAgICAgICB9CisKKyAgICAgICAgcmMgPSBsaWJ4bF9fZXZf eHN3YXRjaF9yZWdpc3RlcihnYywgJmFvZGV2LT54c193YXRjaCwKKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBkZXZpY2VfZGVzdHJveV9iZV93YXRjaF9jYiwKKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiZV9wYXRoKTsKKyAgICAgICAgaWYg KHJjKSB7CisgICAgICAgICAgICBMT0coRVJST1IsICJzZXR1cCBvZiB4cyB3YXRjaCBmb3IgJXMg ZmFpbGVkIiwgYmVfcGF0aCk7CisgICAgICAgICAgICBsaWJ4bF9fZXZfdGltZV9kZXJlZ2lzdGVy KGdjLCAmYW9kZXYtPnRpbWVvdXQpOworICAgICAgICAgICAgZ290byBvdXQ7CisgICAgICAgIH0K KyAgICAgICAgcmV0dXJuOworICAgIH0KIAogICAgIC8qIENoZWNrIGlmIHdlIGhhdmUgdG8gZXhl Y3V0ZSBob3RwbHVnIHNjcmlwdHMgZm9yIHRoaXMgZGV2aWNlCiAgICAgICogYW5kIHJldHVybiB0 aGUgbmVjZXNzYXJ5IGFyZ3MvZW52IHZhcnMgZm9yIGV4ZWN1dGlvbiAqLwpAQCAtMTA1MSw2ICsx MDgzLDUyIEBAIGVycm9yOgogICAgIGRldmljZV9ob3RwbHVnX2RvbmUoZWdjLCBhb2Rldik7CiB9 CiAKK3N0YXRpYyB2b2lkIGRldmljZV9kZXN0cm95X2JlX3RpbWVvdXRfY2IobGlieGxfX2VnYyAq ZWdjLCBsaWJ4bF9fZXZfdGltZSAqZXYsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIGNvbnN0IHN0cnVjdCB0aW1ldmFsICpyZXF1ZXN0ZWRfYWJzKQoreworICAgIGxp YnhsX19hb19kZXZpY2UgKmFvZGV2ID0gQ09OVEFJTkVSX09GKGV2LCAqYW9kZXYsIHRpbWVvdXQp OworICAgIFNUQVRFX0FPX0dDKGFvZGV2LT5hbyk7CisKKyAgICBsaWJ4bF9fZXZfdGltZV9kZXJl Z2lzdGVyKGdjLCAmYW9kZXYtPnRpbWVvdXQpOworICAgIGxpYnhsX19ldl94c3dhdGNoX2RlcmVn aXN0ZXIoZ2MsICZhb2Rldi0+eHNfd2F0Y2gpOworCisgICAgTE9HKEVSUk9SLCAidGltZWQgb3V0 IHdoaWxlIHdhaXRpbmcgZm9yICVzIHRvIGJlIHJlbW92ZWQiLAorICAgICAgICAgICAgICAgbGli eGxfX2RldmljZV9iYWNrZW5kX3BhdGgoZ2MsIGFvZGV2LT5kZXYpKTsKKworICAgIGFvZGV2LT5y YyA9IEVSUk9SX1RJTUVET1VUOworCisgICAgZGV2aWNlX2hvdHBsdWdfZG9uZShlZ2MsIGFvZGV2 KTsKKyAgICByZXR1cm47Cit9CisKK3N0YXRpYyB2b2lkIGRldmljZV9kZXN0cm95X2JlX3dhdGNo X2NiKGxpYnhsX19lZ2MgKmVnYywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIGxpYnhsX19ldl94c3dhdGNoICp3YXRjaCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIGNvbnN0IGNoYXIgKndhdGNoX3BhdGgsCisgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyICpldmVudF9wYXRoKQoreworICAgIGxpYnhs X19hb19kZXZpY2UgKmFvZGV2ID0gQ09OVEFJTkVSX09GKHdhdGNoLCAqYW9kZXYsIHhzX3dhdGNo KTsKKyAgICBTVEFURV9BT19HQyhhb2Rldi0+YW8pOworICAgIGNvbnN0IGNoYXIgKmRpcjsKKyAg ICBpbnQgcmM7CisKKyAgICByYyA9IGxpYnhsX194c19yZWFkX2NoZWNrZWQoZ2MsIFhCVF9OVUxM LCB3YXRjaF9wYXRoLCAmZGlyKTsKKyAgICBpZiAocmMpIHsKKyAgICAgICAgTE9HKEVSUk9SLCAi dW5hYmxlIHRvIHJlYWQgYmFja2VuZCBwYXRoOiAlcyIsIHdhdGNoX3BhdGgpOworICAgICAgICBh b2Rldi0+cmMgPSByYzsKKyAgICAgICAgZ290byBvdXQ7CisgICAgfQorICAgIGlmIChkaXIpIHsK KyAgICAgICAgLyogYmFja2VuZCBwYXRoIHN0aWxsIGV4aXN0cywgd2FpdCBhIGxpdHRsZSBsb25n ZXIuLi4gKi8KKyAgICAgICAgcmV0dXJuOworICAgIH0KKworb3V0OgorICAgIC8qIFdlIGFyZSBk b25lLCBiYWNrZW5kIHBhdGggbm8gbG9uZ2VyIGV4aXN0cyAqLworICAgIGxpYnhsX19ldl90aW1l X2RlcmVnaXN0ZXIoZ2MsICZhb2Rldi0+dGltZW91dCk7CisgICAgbGlieGxfX2V2X3hzd2F0Y2hf ZGVyZWdpc3RlcihnYywgJmFvZGV2LT54c193YXRjaCk7CisgICAgZGV2aWNlX2hvdHBsdWdfZG9u ZShlZ2MsIGFvZGV2KTsKK30KKwogc3RhdGljIHZvaWQgZGV2aWNlX2hvdHBsdWdfZG9uZShsaWJ4 bF9fZWdjICplZ2MsIGxpYnhsX19hb19kZXZpY2UgKmFvZGV2KQogewogICAgIFNUQVRFX0FPX0dD KGFvZGV2LT5hbyk7CmRpZmYgLS1naXQgYS90b29scy9saWJ4bC9saWJ4bF9pbnRlcm5hbC5oIGIv dG9vbHMvbGlieGwvbGlieGxfaW50ZXJuYWwuaAppbmRleCAzYjc0NzI2Li43Yjg2ZmI0IDEwMDY0 NAotLS0gYS90b29scy9saWJ4bC9saWJ4bF9pbnRlcm5hbC5oCisrKyBiL3Rvb2xzL2xpYnhsL2xp YnhsX2ludGVybmFsLmgKQEAgLTE4ODIsNiArMTg4Miw4IEBAIHN0cnVjdCBsaWJ4bF9fYW9fZGV2 aWNlIHsKICAgICBsaWJ4bF9fZXZfZGV2c3RhdGUgYmFja2VuZF9kczsKICAgICAvKiBCb2RnZSBm b3IgUWVtdSBkZXZpY2VzLCBhbHNvIHVzZWQgZm9yIHRpbWVvdXQgb2YgaG90cGx1ZyBleGVjdXRp b24gKi8KICAgICBsaWJ4bF9fZXZfdGltZSB0aW1lb3V0OworICAgIC8qIHhlbnN0b3JlIHdhdGNo IGZvciBiYWNrZW5kIHBhdGggb2YgZHJpdmVyIGRvbWFpbnMgKi8KKyAgICBsaWJ4bF9fZXZfeHN3 YXRjaCB4c193YXRjaDsKICAgICAvKiBkZXZpY2UgaG90cGx1ZyBleGVjdXRpb24gKi8KICAgICBj b25zdCBjaGFyICp3aGF0OwogICAgIGludCBudW1fZXhlYzsKLS0gCjEuNy43LjUgKEFwcGxlIEdp dC0yNikKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpY ZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54ZW4ub3JnCmh0dHA6Ly9saXN0 cy54ZW4ub3JnL3hlbi1kZXZlbAo=