From mboxrd@z Thu Jan 1 00:00:00 1970 From: Feng Wu Subject: [PATCH v6 2/7] VMX: Properly handle pi when all the assigned devices are removed Date: Fri, 28 Oct 2016 10:37:34 +0800 Message-ID: <1477622259-3476-3-git-send-email-feng.wu@intel.com> References: <1477622259-3476-1-git-send-email-feng.wu@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1477622259-3476-1-git-send-email-feng.wu@intel.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: xen-devel@lists.xen.org Cc: kevin.tian@intel.com, Feng Wu , george.dunlap@eu.citrix.com, andrew.cooper3@citrix.com, dario.faggioli@citrix.com, jbeulich@suse.com List-Id: xen-devel@lists.xenproject.org VGhpcyBwYXRjaCBoYW5kbGVzIHNvbWUgY29ybmVyIGNhc2VzIHdoZW4gdGhlIGxhc3QgYXNzaWdu ZWQgZGV2aWNlCmlzIHJlbW92ZWQgZnJvbSB0aGUgZG9tYWluLiBJbiB0aGlzIGNhc2Ugd2Ugc2hv dWxkIGNhcmVmdWxseSBoYW5kbGUKcGkgZGVzY3JpcHRvciBhbmQgdGhlIHBlci1jcHUgYmxvY2tp bmcgbGlzdCwgdG8gbWFrZSBzdXJlOgotIGFsbCB0aGUgUEkgZGVzY3JpcHRvciBhcmUgaW4gdGhl IHJpZ2h0IHN0YXRlIHdoZW4gbmV4dCB0aW1lIGEKZGV2aWNlcyBpcyBhc3NpZ25lZCB0byB0aGUg ZG9tYWluIGFnYWluLgotIE5vIHJlbWFpbmluZyB2Y3B1cyBvZiB0aGUgZG9tYWluIGluIHRoZSBw ZXItY3B1IGJsb2NraW5nIGxpc3QuCgpIZXJlIHdlIGNhbGwgdm14X3BpX2xpc3RfcmVtb3ZlKCkg dG8gcmVtb3ZlIHRoZSB2Q1BVIGZyb20gdGhlIGJsb2NraW5nIGxpc3QKaWYgaXQgaXMgb24gdGhl IGxpc3QuIEhvd2V2ZXIsIHRoaXMgY291bGQgaGFwcGVuIHdoZW4gdm14X3ZjcHVfYmxvY2soKSBp cwpiZWluZyBjYWxsZWQsIGhlbmNlIHdlIG1pZ2h0IGluY29ycmVjdGx5IGFkZCB0aGUgdkNQVSB0 byB0aGUgYmxvY2tpbmcgbGlzdAp3aGlsZSB0aGUgbGFzdCBkZXZjaWUgaXMgZGV0YWNoZWQgZnJv bSB0aGUgZG9tYWluLiBDb25zaWRlciB0aGF0IHRoZSBzaXR1YXRpb24KY2FuIG9ubHkgb2NjdXIg d2hlbiBkZXRhY2hpbmcgdGhlIGxhc3QgZGV2aWNlIGZyb20gdGhlIGRvbWFpbiBhbmQgaXQgaXMg bm90CmEgZnJlcXVlbnQgb3BlcmF0aW9uLCBzbyB3ZSB1c2UgZG9tYWluX3BhdXNlIGJlZm9yZSB0 aGF0LCB3aGljaCBpcyBjb25zaWRlcmVkCmFzIGFuIGNsZWFuIGFuZCBtYWludGFpbmFibGUgc29s dXRpb24gZm9yIHRoZSBzaXR1YXRpb24uCgpTaWduZWQtb2ZmLWJ5OiBGZW5nIFd1IDxmZW5nLnd1 QGludGVsLmNvbT4KLS0tCnY2OgotIENvbW1lbnRzIGNoYW5nZXMKLSBSZW5hbWUgdm14X3BpX2xp c3RfcmVtb3ZlKCkgdG8gdm14X3BpX3VuYmxvY2tfdmNwdSgpCgp2NToKLSBSZW1vdmUgYSBuby1v cCB3cmFwcGVyCgp2NDoKLSBSZW5hbWUgc29tZSBmdW5jdGlvbnM6Cgl2bXhfcGlfcmVtb3ZlX3Zj cHVfZnJvbV9ibG9ja2luZ19saXN0KCkgLT4gdm14X3BpX2xpc3RfcmVtb3ZlKCkKCXZteF9waV9i bG9ja2luZ19jbGVhbnVwKCkgLT4gdm14X3BpX2xpc3RfY2xlYW51cCgpCi0gUmVtb3ZlIHRoZSBj aGVjayBpbiB2bXhfcGlfbGlzdF9jbGVhbnVwKCkKLSBDb21tZW50cyBhZGp1c3RtZW50CgogeGVu L2FyY2gveDg2L2h2bS92bXgvdm14LmMgfCAyOCArKysrKysrKysrKysrKysrKysrKysrKystLS0t CiAxIGZpbGUgY2hhbmdlZCwgMjQgaW5zZXJ0aW9ucygrKSwgNCBkZWxldGlvbnMoLSkKCmRpZmYg LS1naXQgYS94ZW4vYXJjaC94ODYvaHZtL3ZteC92bXguYyBiL3hlbi9hcmNoL3g4Ni9odm0vdm14 L3ZteC5jCmluZGV4IGZhYWE5ODcuLjUwOGJlN2MgMTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL3g4Ni9o dm0vdm14L3ZteC5jCisrKyBiL3hlbi9hcmNoL3g4Ni9odm0vdm14L3ZteC5jCkBAIC0xNTgsMTQg KzE1OCwxMiBAQCBzdGF0aWMgdm9pZCB2bXhfcGlfc3dpdGNoX3RvKHN0cnVjdCB2Y3B1ICp2KQog ICAgIHBpX2NsZWFyX3NuKHBpX2Rlc2MpOwogfQogCi1zdGF0aWMgdm9pZCB2bXhfcGlfZG9fcmVz dW1lKHN0cnVjdCB2Y3B1ICp2KQorc3RhdGljIHZvaWQgdm14X3BpX3VuYmxvY2tfdmNwdShzdHJ1 Y3QgdmNwdSAqdikKIHsKICAgICB1bnNpZ25lZCBsb25nIGZsYWdzOwogICAgIHNwaW5sb2NrX3Qg KnBpX2Jsb2NraW5nX2xpc3RfbG9jazsKICAgICBzdHJ1Y3QgcGlfZGVzYyAqcGlfZGVzYyA9ICZ2 LT5hcmNoLmh2bV92bXgucGlfZGVzYzsKIAotICAgIEFTU0VSVCghdGVzdF9iaXQoX1ZQRl9ibG9j a2VkLCAmdi0+cGF1c2VfZmxhZ3MpKTsKLQogICAgIC8qCiAgICAgICogU2V0ICdOVicgZmllbGQg YmFjayB0byBwb3N0ZWRfaW50cl92ZWN0b3IsIHNvIHRoZQogICAgICAqIFBvc3RlZC1JbnRlcnJ1 cHRzIGNhbiBiZSBkZWxpdmVyZWQgdG8gdGhlIHZDUFUgd2hlbgpAQCAtMTczLDEyICsxNzEsMTIg QEAgc3RhdGljIHZvaWQgdm14X3BpX2RvX3Jlc3VtZShzdHJ1Y3QgdmNwdSAqdikKICAgICAgKi8K ICAgICB3cml0ZV9hdG9taWMoJnBpX2Rlc2MtPm52LCBwb3N0ZWRfaW50cl92ZWN0b3IpOwogCi0g ICAgLyogVGhlIHZDUFUgaXMgbm90IG9uIGFueSBibG9ja2luZyBsaXN0LiAqLwogICAgIHBpX2Js b2NraW5nX2xpc3RfbG9jayA9IHYtPmFyY2guaHZtX3ZteC5waV9ibG9ja2luZy5sb2NrOwogCiAg ICAgLyogUHJldmVudCB0aGUgY29tcGlsZXIgZnJvbSBlbGltaW5hdGluZyB0aGUgbG9jYWwgdmFy aWFibGUuKi8KICAgICBzbXBfcm1iKCk7CiAKKyAgICAvKiBUaGUgdkNQVSBpcyBub3Qgb24gYW55 IGJsb2NraW5nIGxpc3QuICovCiAgICAgaWYgKCBwaV9ibG9ja2luZ19saXN0X2xvY2sgPT0gTlVM TCApCiAgICAgICAgIHJldHVybjsKIApAQCAtMTk4LDYgKzE5NiwxMyBAQCBzdGF0aWMgdm9pZCB2 bXhfcGlfZG9fcmVzdW1lKHN0cnVjdCB2Y3B1ICp2KQogICAgIHNwaW5fdW5sb2NrX2lycXJlc3Rv cmUocGlfYmxvY2tpbmdfbGlzdF9sb2NrLCBmbGFncyk7CiB9CiAKK3N0YXRpYyB2b2lkIHZteF9w aV9kb19yZXN1bWUoc3RydWN0IHZjcHUgKnYpCit7CisgICAgQVNTRVJUKCF0ZXN0X2JpdChfVlBG X2Jsb2NrZWQsICZ2LT5wYXVzZV9mbGFncykpOworCisgICAgdm14X3BpX3VuYmxvY2tfdmNwdSh2 KTsKK30KKwogLyogVGhpcyBmdW5jdGlvbiBpcyBjYWxsZWQgd2hlbiBwY2lkZXZzX2xvY2sgaXMg aGVsZCAqLwogdm9pZCB2bXhfcGlfaG9va3NfYXNzaWduKHN0cnVjdCBkb21haW4gKmQpCiB7CkBA IC0yMTUsMTEgKzIyMCwyMSBAQCB2b2lkIHZteF9waV9ob29rc19hc3NpZ24oc3RydWN0IGRvbWFp biAqZCkKIC8qIFRoaXMgZnVuY3Rpb24gaXMgY2FsbGVkIHdoZW4gcGNpZGV2c19sb2NrIGlzIGhl bGQgKi8KIHZvaWQgdm14X3BpX2hvb2tzX2RlYXNzaWduKHN0cnVjdCBkb21haW4gKmQpCiB7Cisg ICAgc3RydWN0IHZjcHUgKnY7CisKICAgICBpZiAoICFpb21tdV9pbnRwb3N0IHx8ICFoYXNfaHZt X2NvbnRhaW5lcl9kb21haW4oZCkgKQogICAgICAgICByZXR1cm47CiAKICAgICBBU1NFUlQoZC0+ YXJjaC5odm1fZG9tYWluLnZteC52Y3B1X2Jsb2NrKTsKIAorICAgIC8qCisgICAgICogUGF1c2lu ZyB0aGUgZG9tYWluIGNhbiBtYWtlIHN1cmUgdGhlIHZDUFUgaXMgbm90CisgICAgICogcnVubmlu ZyBhbmQgaGVuY2Ugbm90IGNhbGxpbmcgdGhlIGhvb2tzIHNpbXVsdGFuZW91c2x5CisgICAgICog d2hlbiBkZWFzc2lnbmluZyB0aGUgUEkgaG9va3MgYW5kIHJlbW92aW5nIHRoZSB2Q1BVCisgICAg ICogZnJvbSB0aGUgYmxvY2tpbmcgbGlzdC4KKyAgICAgKi8KKyAgICBkb21haW5fcGF1c2UoZCk7 CisKICAgICBkLT5hcmNoLmh2bV9kb21haW4udm14LnZjcHVfYmxvY2sgPSBOVUxMOwogICAgIGQt PmFyY2guaHZtX2RvbWFpbi52bXgucGlfZG9fcmVzdW1lID0gTlVMTDsKICAgICBkLT5hcmNoLmh2 bV9kb21haW4udm14LnBpX3N3aXRjaF9mcm9tID0gTlVMTDsKQEAgLTIyOSw2ICsyNDQsMTEgQEAg dm9pZCB2bXhfcGlfaG9va3NfZGVhc3NpZ24oc3RydWN0IGRvbWFpbiAqZCkKICAgICAgKiBpcyBp biB0aGUgcHJvY2VzcyBvZiBnZXR0aW5nIGFzc2lnbmVkIGFuZCAiZnJvbSIgaG9vayBpcyBOVUxM LiBIb3dldmVyLAogICAgICAqIGl0IGlzIG5vdCBzdHJhaWdodGZvcndhcmQgdG8gZmluZCBhIGNs ZWFyIHNvbHV0aW9uLCBzbyBqdXN0IGxlYXZlIGl0IGhlcmUuCiAgICAgICovCisKKyAgICBmb3Jf ZWFjaF92Y3B1ICggZCwgdiApCisgICAgICAgIHZteF9waV91bmJsb2NrX3ZjcHUodik7CisKKyAg ICBkb21haW5fdW5wYXVzZShkKTsKIH0KIAogc3RhdGljIGludCB2bXhfZG9tYWluX2luaXRpYWxp c2Uoc3RydWN0IGRvbWFpbiAqZCkKLS0gCjIuMS4wCgoKX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX18KWGVuLWRldmVsIG1haWxpbmcgbGlzdApYZW4tZGV2ZWxA bGlzdHMueGVuLm9yZwpodHRwczovL2xpc3RzLnhlbi5vcmcveGVuLWRldmVsCg==