From mboxrd@z Thu Jan 1 00:00:00 1970 From: Feng Wu Subject: [PATCH v3 2/6] VMX: Properly handle pi when all the assigned devices are removed Date: Wed, 31 Aug 2016 11:56:27 +0800 Message-ID: <1472615791-8664-3-git-send-email-feng.wu@intel.com> References: <1472615791-8664-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: <1472615791-8664-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 OiBGZW5nIFd1IDxmZW5nLnd1QGludGVsLmNvbT4KLS0tCiB4ZW4vYXJjaC94ODYvaHZtL3ZteC92 bXguYyB8IDM0ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKystLS0KIDEgZmlsZSBjaGFu Z2VkLCAzMSBpbnNlcnRpb25zKCspLCAzIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3hlbi9h cmNoL3g4Ni9odm0vdm14L3ZteC5jIGIveGVuL2FyY2gveDg2L2h2bS92bXgvdm14LmMKaW5kZXgg ZjVkMmQzYy4uYjg2OTcyOCAxMDA2NDQKLS0tIGEveGVuL2FyY2gveDg2L2h2bS92bXgvdm14LmMK KysrIGIveGVuL2FyY2gveDg2L2h2bS92bXgvdm14LmMKQEAgLTE1OCwxNCArMTU4LDEyIEBAIHN0 YXRpYyB2b2lkIHZteF9waV9zd2l0Y2hfdG8oc3RydWN0IHZjcHUgKnYpCiAgICAgcGlfY2xlYXJf c24ocGlfZGVzYyk7CiB9CiAKLXN0YXRpYyB2b2lkIHZteF9waV9kb19yZXN1bWUoc3RydWN0IHZj cHUgKnYpCitzdGF0aWMgdm9pZCB2bXhfcGlfcmVtb3ZlX3ZjcHVfZnJvbV9ibG9ja2luZ19saXN0 KHN0cnVjdCB2Y3B1ICp2KQogewogICAgIHVuc2lnbmVkIGxvbmcgZmxhZ3M7CiAgICAgc3Bpbmxv Y2tfdCAqcGlfYmxvY2tpbmdfbGlzdF9sb2NrOwogICAgIHN0cnVjdCBwaV9kZXNjICpwaV9kZXNj ID0gJnYtPmFyY2guaHZtX3ZteC5waV9kZXNjOwogCi0gICAgQVNTRVJUKCF0ZXN0X2JpdChfVlBG X2Jsb2NrZWQsICZ2LT5wYXVzZV9mbGFncykpOwotCiAgICAgLyoKICAgICAgKiBTZXQgJ05WJyBm aWVsZCBiYWNrIHRvIHBvc3RlZF9pbnRyX3ZlY3Rvciwgc28gdGhlCiAgICAgICogUG9zdGVkLUlu dGVycnVwdHMgY2FuIGJlIGRlbGl2ZXJlZCB0byB0aGUgdkNQVSB3aGVuCkBAIC0xOTgsNiArMTk2 LDIxIEBAIHN0YXRpYyB2b2lkIHZteF9waV9kb19yZXN1bWUoc3RydWN0IHZjcHUgKnYpCiAgICAg c3Bpbl91bmxvY2tfaXJxcmVzdG9yZShwaV9ibG9ja2luZ19saXN0X2xvY2ssIGZsYWdzKTsKIH0K IAorc3RhdGljIHZvaWQgdm14X3BpX2RvX3Jlc3VtZShzdHJ1Y3QgdmNwdSAqdikKK3sKKyAgICBB U1NFUlQoIXRlc3RfYml0KF9WUEZfYmxvY2tlZCwgJnYtPnBhdXNlX2ZsYWdzKSk7CisKKyAgICB2 bXhfcGlfcmVtb3ZlX3ZjcHVfZnJvbV9ibG9ja2luZ19saXN0KHYpOworfQorCitzdGF0aWMgdm9p ZCB2bXhfcGlfYmxvY2tpbmdfY2xlYW51cChzdHJ1Y3QgdmNwdSAqdikKK3sKKyAgICBpZiAoICFp b21tdV9pbnRwb3N0ICkKKyAgICAgICAgcmV0dXJuOworCisgICAgdm14X3BpX3JlbW92ZV92Y3B1 X2Zyb21fYmxvY2tpbmdfbGlzdCh2KTsKK30KKwogLyogVGhpcyBmdW5jdGlvbiBpcyBjYWxsZWQg d2hlbiBwY2lkZXZzX2xvY2sgaXMgaGVsZCAqLwogdm9pZCB2bXhfcGlfaG9va3NfYXNzaWduKHN0 cnVjdCBkb21haW4gKmQpCiB7CkBAIC0yMTMsMTMgKzIyNiwyOCBAQCB2b2lkIHZteF9waV9ob29r c19hc3NpZ24oc3RydWN0IGRvbWFpbiAqZCkKIC8qIFRoaXMgZnVuY3Rpb24gaXMgY2FsbGVkIHdo ZW4gcGNpZGV2c19sb2NrIGlzIGhlbGQgKi8KIHZvaWQgdm14X3BpX2hvb2tzX2RlYXNzaWduKHN0 cnVjdCBkb21haW4gKmQpCiB7CisgICAgc3RydWN0IHZjcHUgKnY7CisKICAgICBpZiAoICFpb21t dV9pbnRwb3N0IHx8ICFoYXNfaHZtX2NvbnRhaW5lcl9kb21haW4oZCkgKQogICAgICAgICByZXR1 cm47CiAKICAgICBBU1NFUlQoZC0+YXJjaC5odm1fZG9tYWluLnZteC52Y3B1X2Jsb2NrKTsKIAor ICAgIC8qCisgICAgICogUGF1c2luZyB0aGUgZG9tYWluIGNhbiBtYWtlIHN1cmUgdGhlIHZDUFUg aXMgbm90CisgICAgICogcnVubmluZyBhbmQgaGVuY2UgY2FsbGluZyB0aGUgaG9va3Mgc2ltdWx0 YW5lb3VzbHkKKyAgICAgKiB3aGVuIGRlYXNzaWduaW5nIHRoZSBQSSBob29rcyBhbmQgcmVtb3Zp bmcgdGhlIHZDUFUKKyAgICAgKiBmcm9tIHRoZSBibG9ja2luZyBsaXN0LgorICAgICAqLworICAg IGRvbWFpbl9wYXVzZShkKTsKKwogICAgIGQtPmFyY2guaHZtX2RvbWFpbi52bXgudmNwdV9ibG9j ayA9IE5VTEw7CiAgICAgZC0+YXJjaC5odm1fZG9tYWluLnZteC5waV9kb19yZXN1bWUgPSBOVUxM OworCisgICAgZm9yX2VhY2hfdmNwdSAoIGQsIHYgKQorICAgICAgICB2bXhfcGlfYmxvY2tpbmdf Y2xlYW51cCh2KTsKKworICAgIGRvbWFpbl91bnBhdXNlKGQpOwogfQogCiBzdGF0aWMgaW50IHZt eF9kb21haW5faW5pdGlhbGlzZShzdHJ1Y3QgZG9tYWluICpkKQotLSAKMi4xLjAKCgpfX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpYZW4tZGV2ZWwgbWFpbGlu ZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54ZW4ub3JnCmh0dHBzOi8vbGlzdHMueGVuLm9yZy94ZW4t ZGV2ZWwK