From mboxrd@z Thu Jan 1 00:00:00 1970 From: Chao Gao Subject: [PATCH v9 3/8] VMX: Properly handle pi when all the assigned devices are removed Date: Mon, 27 Feb 2017 09:45:44 +0800 Message-ID: <1488159949-15011-4-git-send-email-chao.gao@intel.com> References: <1488159949-15011-1-git-send-email-chao.gao@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1488159949-15011-1-git-send-email-chao.gao@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 , Feng Wu , Jun Nakajima , George Dunlap , Andrew Cooper , Dario Faggioli , Jan Beulich , Chao Gao List-Id: xen-devel@lists.xenproject.org RnJvbTogRmVuZyBXdSA8ZmVuZy53dUBpbnRlbC5jb20+CgpUaGlzIHBhdGNoIGhhbmRsZXMgc29t ZSBjb3JuZXIgY2FzZXMgd2hlbiB0aGUgbGFzdCBhc3NpZ25lZCBkZXZpY2UKaXMgcmVtb3ZlZCBm cm9tIHRoZSBkb21haW4uIEluIHRoaXMgY2FzZSB3ZSBzaG91bGQgY2FyZWZ1bGx5IGhhbmRsZQpw aSBkZXNjcmlwdG9yIGFuZCB0aGUgcGVyLWNwdSBibG9ja2luZyBsaXN0LCB0byBtYWtlIHN1cmU6 Ci0gYWxsIHRoZSBQSSBkZXNjcmlwdG9yIGFyZSBpbiB0aGUgcmlnaHQgc3RhdGUgd2hlbiBuZXh0 IHRpbWUgYQpkZXZpY2VzIGlzIGFzc2lnbmVkIHRvIHRoZSBkb21haW4gYWdhaW4uCi0gTm8gcmVt YWluaW5nIHZjcHVzIG9mIHRoZSBkb21haW4gaW4gdGhlIHBlci1jcHUgYmxvY2tpbmcgbGlzdC4K CkhlcmUgd2UgY2FsbCB2bXhfcGlfdW5ibG9ja192Y3B1KCkgdG8gcmVtb3ZlIHRoZSB2Q1BVIGZy b20gdGhlIGJsb2NraW5nIGxpc3QKaWYgaXQgaXMgb24gdGhlIGxpc3QuIEhvd2V2ZXIsIHRoaXMg Y291bGQgaGFwcGVuIHdoZW4gdm14X3ZjcHVfYmxvY2soKSBpcwpiZWluZyBjYWxsZWQsIGhlbmNl IHdlIG1pZ2h0IGluY29ycmVjdGx5IGFkZCB0aGUgdkNQVSB0byB0aGUgYmxvY2tpbmcgbGlzdAp3 aGlsZSB0aGUgbGFzdCBkZXZjaWUgaXMgZGV0YWNoZWQgZnJvbSB0aGUgZG9tYWluLiBDb25zaWRl ciB0aGF0IHRoZSBzaXR1YXRpb24KY2FuIG9ubHkgb2NjdXIgd2hlbiBkZXRhY2hpbmcgdGhlIGxh c3QgZGV2aWNlIGZyb20gdGhlIGRvbWFpbiBhbmQgaXQgaXMgbm90CmEgZnJlcXVlbnQgb3BlcmF0 aW9uLCBzbyB3ZSB1c2UgZG9tYWluX3BhdXNlIGJlZm9yZSB0aGF0LCB3aGljaCBpcyBjb25zaWRl cmVkCmFzIGFuIGNsZWFuIGFuZCBtYWludGFpbmFibGUgc29sdXRpb24gZm9yIHRoZSBzaXR1YXRp b24uCgpTaWduZWQtb2ZmLWJ5OiBGZW5nIFd1IDxmZW5nLnd1QGludGVsLmNvbT4KU2lnbmVkLW9m Zi1ieTogQ2hhbyBHYW8gPGNoYW8uZ2FvQGludGVsLmNvbT4KUmV2aWV3ZWQtYnk6IEphbiBCZXVs aWNoIDxqYmV1bGljaEBzdXNlLmNvbT4KLS0tCnY5OgotIEJhc2VkIG9uIFt2OCAyLzddLiBBZGQg YSBhc3NlcnRpb24gYmVmb3JlIGRvbWFpbiBwYXVzZS4KCnY3OiAKLSBQcmV2ZW50IHRoZSBkb21h aW4gZnJvbSBwYXVzaW5nIGl0c2VsZi4gCgp2NjogCi0gQ29tbWVudHMgY2hhbmdlcyAKLSBSZW5h bWUgdm14X3BpX2xpc3RfcmVtb3ZlKCkgdG8gdm14X3BpX3VuYmxvY2tfdmNwdSgpIAoKdjU6IAot IFJlbW92ZSBhIG5vLW9wIHdyYXBwZXIgCgp2NDogCi0gUmVuYW1lIHNvbWUgZnVuY3Rpb25zOiAK dm14X3BpX3JlbW92ZV92Y3B1X2Zyb21fYmxvY2tpbmdfbGlzdCgpIC0+IHZteF9waV9saXN0X3Jl bW92ZSgpIAp2bXhfcGlfYmxvY2tpbmdfY2xlYW51cCgpIC0+IHZteF9waV9saXN0X2NsZWFudXAo KSAKLSBSZW1vdmUgdGhlIGNoZWNrIGluIHZteF9waV9saXN0X2NsZWFudXAoKSAKLSBDb21tZW50 cyBhZGp1c3RtZW50IAoKIHhlbi9hcmNoL3g4Ni9odm0vdm14L3ZteC5jIHwgMjkgKysrKysrKysr KysrKysrKysrKysrKysrKy0tLS0KIDEgZmlsZSBjaGFuZ2VkLCAyNSBpbnNlcnRpb25zKCspLCA0 IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni9odm0vdm14L3ZteC5jIGIv eGVuL2FyY2gveDg2L2h2bS92bXgvdm14LmMKaW5kZXggNWZhMTZkZC4uYTdhNzBlNyAxMDA2NDQK LS0tIGEveGVuL2FyY2gveDg2L2h2bS92bXgvdm14LmMKKysrIGIveGVuL2FyY2gveDg2L2h2bS92 bXgvdm14LmMKQEAgLTE1NSwxNCArMTU1LDEyIEBAIHN0YXRpYyB2b2lkIHZteF9waV9zd2l0Y2hf dG8oc3RydWN0IHZjcHUgKnYpCiAgICAgcGlfY2xlYXJfc24ocGlfZGVzYyk7CiB9CiAKLXN0YXRp YyB2b2lkIHZteF9waV9kb19yZXN1bWUoc3RydWN0IHZjcHUgKnYpCitzdGF0aWMgdm9pZCB2bXhf cGlfdW5ibG9ja192Y3B1KHN0cnVjdCB2Y3B1ICp2KQogewogICAgIHVuc2lnbmVkIGxvbmcgZmxh Z3M7CiAgICAgc3BpbmxvY2tfdCAqcGlfYmxvY2tpbmdfbGlzdF9sb2NrOwogICAgIHN0cnVjdCBw aV9kZXNjICpwaV9kZXNjID0gJnYtPmFyY2guaHZtX3ZteC5waV9kZXNjOwogCi0gICAgQVNTRVJU KCF0ZXN0X2JpdChfVlBGX2Jsb2NrZWQsICZ2LT5wYXVzZV9mbGFncykpOwotCiAgICAgLyoKICAg ICAgKiBTZXQgJ05WJyBmaWVsZCBiYWNrIHRvIHBvc3RlZF9pbnRyX3ZlY3Rvciwgc28gdGhlCiAg ICAgICogUG9zdGVkLUludGVycnVwdHMgY2FuIGJlIGRlbGl2ZXJlZCB0byB0aGUgdkNQVSB3aGVu CkBAIC0xNzAsMTIgKzE2OCwxMiBAQCBzdGF0aWMgdm9pZCB2bXhfcGlfZG9fcmVzdW1lKHN0cnVj dCB2Y3B1ICp2KQogICAgICAqLwogICAgIHdyaXRlX2F0b21pYygmcGlfZGVzYy0+bnYsIHBvc3Rl ZF9pbnRyX3ZlY3Rvcik7CiAKLSAgICAvKiBUaGUgdkNQVSBpcyBub3Qgb24gYW55IGJsb2NraW5n IGxpc3QuICovCiAgICAgcGlfYmxvY2tpbmdfbGlzdF9sb2NrID0gdi0+YXJjaC5odm1fdm14LnBp X2Jsb2NraW5nLmxvY2s7CiAKICAgICAvKiBQcmV2ZW50IHRoZSBjb21waWxlciBmcm9tIGVsaW1p bmF0aW5nIHRoZSBsb2NhbCB2YXJpYWJsZS4qLwogICAgIHNtcF9ybWIoKTsKIAorICAgIC8qIFRo ZSB2Q1BVIGlzIG5vdCBvbiBhbnkgYmxvY2tpbmcgbGlzdC4gKi8KICAgICBpZiAoIHBpX2Jsb2Nr aW5nX2xpc3RfbG9jayA9PSBOVUxMICkKICAgICAgICAgcmV0dXJuOwogCkBAIC0xOTUsNiArMTkz LDEzIEBAIHN0YXRpYyB2b2lkIHZteF9waV9kb19yZXN1bWUoc3RydWN0IHZjcHUgKnYpCiAgICAg c3Bpbl91bmxvY2tfaXJxcmVzdG9yZShwaV9ibG9ja2luZ19saXN0X2xvY2ssIGZsYWdzKTsKIH0K IAorc3RhdGljIHZvaWQgdm14X3BpX2RvX3Jlc3VtZShzdHJ1Y3QgdmNwdSAqdikKK3sKKyAgICBB U1NFUlQoIXRlc3RfYml0KF9WUEZfYmxvY2tlZCwgJnYtPnBhdXNlX2ZsYWdzKSk7CisKKyAgICB2 bXhfcGlfdW5ibG9ja192Y3B1KHYpOworfQorCiAvKgogICogVG8gaGFuZGxlIHBvc3RlZCBpbnRl cnJ1cHRzIGNvcnJlY3RseSwgd2UgbmVlZCB0byBzZXQgdGhlIGZvbGxvd2luZwogICogc3RhdGU6 CkBAIC0yNTUsMTIgKzI2MCwyMyBAQCB2b2lkIHZteF9waV9ob29rc19hc3NpZ24oc3RydWN0IGRv bWFpbiAqZCkKIC8qIFRoaXMgZnVuY3Rpb24gaXMgY2FsbGVkIHdoZW4gcGNpZGV2c19sb2NrIGlz IGhlbGQgKi8KIHZvaWQgdm14X3BpX2hvb2tzX2RlYXNzaWduKHN0cnVjdCBkb21haW4gKmQpCiB7 CisgICAgc3RydWN0IHZjcHUgKnY7CisKICAgICBpZiAoICFpb21tdV9pbnRwb3N0IHx8ICFoYXNf aHZtX2NvbnRhaW5lcl9kb21haW4oZCkgKQogICAgICAgICByZXR1cm47CiAKICAgICBBU1NFUlQo ZC0+YXJjaC5odm1fZG9tYWluLnBpX29wcy52Y3B1X2Jsb2NrKTsKIAogICAgIC8qCisgICAgICog UGF1c2luZyB0aGUgZG9tYWluIGNhbiBtYWtlIHN1cmUgdGhlIHZDUFVzIGFyZSBub3QKKyAgICAg KiBydW5uaW5nIGFuZCBoZW5jZSBub3QgY2FsbGluZyB0aGUgaG9va3Mgc2ltdWx0YW5lb3VzbHkK KyAgICAgKiB3aGVuIGRlYXNzaWduaW5nIHRoZSBQSSBob29rcyBhbmQgcmVtb3ZpbmcgdGhlIHZD UFUKKyAgICAgKiBmcm9tIHRoZSBibG9ja2luZyBsaXN0LgorICAgICAqLworICAgIEFTU0VSVChj dXJyZW50LT5kb21haW4gIT0gZCk7CisgICAgZG9tYWluX3BhdXNlKGQpOworCisgICAgLyoKICAg ICAgKiBOb3RlIHRoYXQgd2UgZG9uJ3Qgc2V0ICdkLT5hcmNoLmh2bV9kb21haW4ucGlfb3BzLnN3 aXRjaF90bycgdG8gTlVMTAogICAgICAqIGhlcmUuIElmIHdlIGRlYXNzaWduIHRoZSBob29rcyB3 aGlsZSB0aGUgdkNQVSBpcyBydW5uYWJsZSBpbiB0aGUKICAgICAgKiBydW5xdWV1ZSB3aXRoICdT Ticgc2V0LCBhbGwgdGhlIGZ1dHVyZSBub3RpZmljYXRpb24gZXZlbnQgd2lsbCBiZQpAQCAtMjcw LDYgKzI4NiwxMSBAQCB2b2lkIHZteF9waV9ob29rc19kZWFzc2lnbihzdHJ1Y3QgZG9tYWluICpk KQogICAgIGQtPmFyY2guaHZtX2RvbWFpbi5waV9vcHMudmNwdV9ibG9jayA9IE5VTEw7CiAgICAg ZC0+YXJjaC5odm1fZG9tYWluLnBpX29wcy5zd2l0Y2hfZnJvbSA9IE5VTEw7CiAgICAgZC0+YXJj aC5odm1fZG9tYWluLnBpX29wcy5kb19yZXN1bWUgPSBOVUxMOworCisgICAgZm9yX2VhY2hfdmNw dSAoIGQsIHYgKQorICAgICAgICB2bXhfcGlfdW5ibG9ja192Y3B1KHYpOworCisgICAgZG9tYWlu X3VucGF1c2UoZCk7CiB9CiAKIHN0YXRpYyBpbnQgdm14X2RvbWFpbl9pbml0aWFsaXNlKHN0cnVj dCBkb21haW4gKmQpCi0tIAoxLjguMy4xCgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX18KWGVuLWRldmVsIG1haWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlzdHMu eGVuLm9yZwpodHRwczovL2xpc3RzLnhlbi5vcmcveGVuLWRldmVsCg==