From mboxrd@z Thu Jan 1 00:00:00 1970 From: Feng Wu Subject: [PATCH v4 2/6] VMX: Properly handle pi when all the assigned devices are removed Date: Wed, 21 Sep 2016 10:37:46 +0800 Message-ID: <1474425470-3629-3-git-send-email-feng.wu@intel.com> References: <1474425470-3629-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: <1474425470-3629-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 VGhpcyBwYXRjaCBoYW5kbGVzIHNvbWUgY29uY2VybiBjYXNlcyB3aGVuIHRoZSBsYXN0IGFzc2ln bmVkIGRldmljZQppcyByZW1vdmVkIGZyb20gdGhlIGRvbWFpbi4gSW4gdGhpcyBjYXNlIHdlIHNo b3VsZCBjYXJlZnVsbHkgaGFuZGxlCnBpIGRlc2NyaXB0b3IgYW5kIHRoZSBwZXItY3B1IGJsb2Nr aW5nIGxpc3QsIHRvIG1ha2Ugc3VyZToKLSBhbGwgdGhlIFBJIGRlc2NyaXB0b3IgYXJlIGluIHRo ZSByaWdodCBzdGF0ZSB3aGVuIG5leHQgdGltZSBhCmRldmljZXMgaXMgYXNzaWduZWQgdG8gdGhl IGRvbWFpbiBhZ2Fpbi4KLSBObyByZW1haW5pbmcgdmNwdXMgb2YgdGhlIGRvbWFpbiBpbiB0aGUg cGVyLWNwdSBibG9ja2luZyBsaXN0LgoKQmFzaWNhbGx5LCB3ZSBwYXVzZSB0aGUgZG9tYWluIGJl Zm9yZSB6YXBwaW5nIHRoZSBQSSBob29rcyBhbmQKcmVtb3ZpbmcgdGhlIHZDUFUgZnJvbSB0aGUg YmxvY2tpbmcgbGlzdCwgdGhlbiB1bnBhdXNlIGl0IGFmdGVyCnRoYXQuCgpTaWduZWQtb2ZmLWJ5 OiBGZW5nIFd1IDxmZW5nLnd1QGludGVsLmNvbT4KLS0tCnY0OgotIFJlbmFtZSBzb21lIGZ1bmN0 aW9uczoKCXZteF9waV9yZW1vdmVfdmNwdV9mcm9tX2Jsb2NraW5nX2xpc3QoKSAtPiB2bXhfcGlf bGlzdF9yZW1vdmUoKQoJdm14X3BpX2Jsb2NraW5nX2NsZWFudXAoKSAtPiB2bXhfcGlfbGlzdF9j bGVhbnVwKCkKLSBSZW1vdmUgdGhlIGNoZWNrIGluIHZteF9waV9saXN0X2NsZWFudXAoKQotIENv bW1lbnRzIGFkanVzdG1lbnQKCiB4ZW4vYXJjaC94ODYvaHZtL3ZteC92bXguYyB8IDMzICsrKysr KysrKysrKysrKysrKysrKysrKysrKysrLS0tLQogMSBmaWxlIGNoYW5nZWQsIDI5IGluc2VydGlv bnMoKyksIDQgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2L2h2bS92bXgv dm14LmMgYi94ZW4vYXJjaC94ODYvaHZtL3ZteC92bXguYwppbmRleCAzNTU5MzZhLi43MzA1ZjQw IDEwMDY0NAotLS0gYS94ZW4vYXJjaC94ODYvaHZtL3ZteC92bXguYworKysgYi94ZW4vYXJjaC94 ODYvaHZtL3ZteC92bXguYwpAQCAtMTU4LDE0ICsxNTgsMTIgQEAgc3RhdGljIHZvaWQgdm14X3Bp X3N3aXRjaF90byhzdHJ1Y3QgdmNwdSAqdikKICAgICBwaV9jbGVhcl9zbihwaV9kZXNjKTsKIH0K IAotc3RhdGljIHZvaWQgdm14X3BpX2RvX3Jlc3VtZShzdHJ1Y3QgdmNwdSAqdikKK3N0YXRpYyB2 b2lkIHZteF9waV9saXN0X3JlbW92ZShzdHJ1Y3QgdmNwdSAqdikKIHsKICAgICB1bnNpZ25lZCBs b25nIGZsYWdzOwogICAgIHNwaW5sb2NrX3QgKnBpX2Jsb2NraW5nX2xpc3RfbG9jazsKICAgICBz dHJ1Y3QgcGlfZGVzYyAqcGlfZGVzYyA9ICZ2LT5hcmNoLmh2bV92bXgucGlfZGVzYzsKIAotICAg IEFTU0VSVCghdGVzdF9iaXQoX1ZQRl9ibG9ja2VkLCAmdi0+cGF1c2VfZmxhZ3MpKTsKLQogICAg IC8qCiAgICAgICogU2V0ICdOVicgZmllbGQgYmFjayB0byBwb3N0ZWRfaW50cl92ZWN0b3IsIHNv IHRoZQogICAgICAqIFBvc3RlZC1JbnRlcnJ1cHRzIGNhbiBiZSBkZWxpdmVyZWQgdG8gdGhlIHZD UFUgd2hlbgpAQCAtMTczLDEyICsxNzEsMTIgQEAgc3RhdGljIHZvaWQgdm14X3BpX2RvX3Jlc3Vt ZShzdHJ1Y3QgdmNwdSAqdikKICAgICAgKi8KICAgICB3cml0ZV9hdG9taWMoJnBpX2Rlc2MtPm52 LCBwb3N0ZWRfaW50cl92ZWN0b3IpOwogCi0gICAgLyogVGhlIHZDUFUgaXMgbm90IG9uIGFueSBi bG9ja2luZyBsaXN0LiAqLwogICAgIHBpX2Jsb2NraW5nX2xpc3RfbG9jayA9IHYtPmFyY2guaHZt X3ZteC5waV9ibG9ja2luZy5sb2NrOwogCiAgICAgLyogUHJldmVudCB0aGUgY29tcGlsZXIgZnJv bSBlbGltaW5hdGluZyB0aGUgbG9jYWwgdmFyaWFibGUuKi8KICAgICBzbXBfcm1iKCk7CiAKKyAg ICAvKiBUaGUgdkNQVSBpcyBub3Qgb24gYW55IGJsb2NraW5nIGxpc3QuICovCiAgICAgaWYgKCBw aV9ibG9ja2luZ19saXN0X2xvY2sgPT0gTlVMTCApCiAgICAgICAgIHJldHVybjsKIApAQCAtMTk4 LDYgKzE5NiwxOCBAQCBzdGF0aWMgdm9pZCB2bXhfcGlfZG9fcmVzdW1lKHN0cnVjdCB2Y3B1ICp2 KQogICAgIHNwaW5fdW5sb2NrX2lycXJlc3RvcmUocGlfYmxvY2tpbmdfbGlzdF9sb2NrLCBmbGFn cyk7CiB9CiAKK3N0YXRpYyB2b2lkIHZteF9waV9kb19yZXN1bWUoc3RydWN0IHZjcHUgKnYpCit7 CisgICAgQVNTRVJUKCF0ZXN0X2JpdChfVlBGX2Jsb2NrZWQsICZ2LT5wYXVzZV9mbGFncykpOwor CisgICAgdm14X3BpX2xpc3RfcmVtb3ZlKHYpOworfQorCitzdGF0aWMgdm9pZCB2bXhfcGlfbGlz dF9jbGVhbnVwKHN0cnVjdCB2Y3B1ICp2KQoreworICAgIHZteF9waV9saXN0X3JlbW92ZSh2KTsK K30KKwogLyogVGhpcyBmdW5jdGlvbiBpcyBjYWxsZWQgd2hlbiBwY2lkZXZzX2xvY2sgaXMgaGVs ZCAqLwogdm9pZCB2bXhfcGlfaG9va3NfYXNzaWduKHN0cnVjdCBkb21haW4gKmQpCiB7CkBAIC0y MTUsMTMgKzIyNSwyOCBAQCB2b2lkIHZteF9waV9ob29rc19hc3NpZ24oc3RydWN0IGRvbWFpbiAq ZCkKIC8qIFRoaXMgZnVuY3Rpb24gaXMgY2FsbGVkIHdoZW4gcGNpZGV2c19sb2NrIGlzIGhlbGQg Ki8KIHZvaWQgdm14X3BpX2hvb2tzX2RlYXNzaWduKHN0cnVjdCBkb21haW4gKmQpCiB7CisgICAg c3RydWN0IHZjcHUgKnY7CisKICAgICBpZiAoICFpb21tdV9pbnRwb3N0IHx8ICFoYXNfaHZtX2Nv bnRhaW5lcl9kb21haW4oZCkgKQogICAgICAgICByZXR1cm47CiAKICAgICBBU1NFUlQoZC0+YXJj aC5odm1fZG9tYWluLnZteC52Y3B1X2Jsb2NrKTsKIAorICAgIC8qCisgICAgICogUGF1c2luZyB0 aGUgZG9tYWluIGNhbiBtYWtlIHN1cmUgdGhlIHZDUFUgaXMgbm90CisgICAgICogcnVubmluZyBh bmQgaGVuY2UgY2FsbGluZyB0aGUgaG9va3Mgc2ltdWx0YW5lb3VzbHkKKyAgICAgKiB3aGVuIGRl YXNzaWduaW5nIHRoZSBQSSBob29rcyBhbmQgcmVtb3ZpbmcgdGhlIHZDUFUKKyAgICAgKiBmcm9t IHRoZSBibG9ja2luZyBsaXN0LgorICAgICAqLworICAgIGRvbWFpbl9wYXVzZShkKTsKKwogICAg IGQtPmFyY2guaHZtX2RvbWFpbi52bXgudmNwdV9ibG9jayA9IE5VTEw7CiAgICAgZC0+YXJjaC5o dm1fZG9tYWluLnZteC5waV9kb19yZXN1bWUgPSBOVUxMOworCisgICAgZm9yX2VhY2hfdmNwdSAo IGQsIHYgKQorICAgICAgICB2bXhfcGlfbGlzdF9jbGVhbnVwKHYpOworCisgICAgZG9tYWluX3Vu cGF1c2UoZCk7CiB9CiAKIHN0YXRpYyBpbnQgdm14X2RvbWFpbl9pbml0aWFsaXNlKHN0cnVjdCBk b21haW4gKmQpCi0tIAoyLjEuMAoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fClhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbi5v cmcKaHR0cHM6Ly9saXN0cy54ZW4ub3JnL3hlbi1kZXZlbAo=