From mboxrd@z Thu Jan 1 00:00:00 1970 From: Feng Wu Subject: [PATCH v8 2/7] VMX: Properly handle pi when all the assigned devices are removed Date: Fri, 18 Nov 2016 09:57:19 +0800 Message-ID: <1479434244-10223-3-git-send-email-feng.wu@intel.com> References: <1479434244-10223-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: <1479434244-10223-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 ZXItY3B1IGJsb2NraW5nIGxpc3QuCgpIZXJlIHdlIGNhbGwgdm14X3BpX3VuYmxvY2tfdmNwdSgp IHRvIHJlbW92ZSB0aGUgdkNQVSBmcm9tIHRoZSBibG9ja2luZyBsaXN0CmlmIGl0IGlzIG9uIHRo ZSBsaXN0LiBIb3dldmVyLCB0aGlzIGNvdWxkIGhhcHBlbiB3aGVuIHZteF92Y3B1X2Jsb2NrKCkg aXMKYmVpbmcgY2FsbGVkLCBoZW5jZSB3ZSBtaWdodCBpbmNvcnJlY3RseSBhZGQgdGhlIHZDUFUg dG8gdGhlIGJsb2NraW5nIGxpc3QKd2hpbGUgdGhlIGxhc3QgZGV2Y2llIGlzIGRldGFjaGVkIGZy b20gdGhlIGRvbWFpbi4gQ29uc2lkZXIgdGhhdCB0aGUgc2l0dWF0aW9uCmNhbiBvbmx5IG9jY3Vy IHdoZW4gZGV0YWNoaW5nIHRoZSBsYXN0IGRldmljZSBmcm9tIHRoZSBkb21haW4gYW5kIGl0IGlz IG5vdAphIGZyZXF1ZW50IG9wZXJhdGlvbiwgc28gd2UgdXNlIGRvbWFpbl9wYXVzZSBiZWZvcmUg dGhhdCwgd2hpY2ggaXMgY29uc2lkZXJlZAphcyBhbiBjbGVhbiBhbmQgbWFpbnRhaW5hYmxlIHNv bHV0aW9uIGZvciB0aGUgc2l0dWF0aW9uLgoKU2lnbmVkLW9mZi1ieTogRmVuZyBXdSA8ZmVuZy53 dUBpbnRlbC5jb20+ClJldmlld2VkLWJ5OiBKYW4gQmV1bGljaCA8amJldWxpY2hAc3VzZS5jb20+ Ci0tLQp2NzoKLSBQcmV2ZW50IHRoZSBkb21haW4gZnJvbSBwYXVzaW5nIGl0c2VsZi4KCnY2Ogot IENvbW1lbnRzIGNoYW5nZXMKLSBSZW5hbWUgdm14X3BpX2xpc3RfcmVtb3ZlKCkgdG8gdm14X3Bp X3VuYmxvY2tfdmNwdSgpCgp2NToKLSBSZW1vdmUgYSBuby1vcCB3cmFwcGVyCgp2NDoKLSBSZW5h bWUgc29tZSBmdW5jdGlvbnM6Cgl2bXhfcGlfcmVtb3ZlX3ZjcHVfZnJvbV9ibG9ja2luZ19saXN0 KCkgLT4gdm14X3BpX2xpc3RfcmVtb3ZlKCkKCXZteF9waV9ibG9ja2luZ19jbGVhbnVwKCkgLT4g dm14X3BpX2xpc3RfY2xlYW51cCgpCi0gUmVtb3ZlIHRoZSBjaGVjayBpbiB2bXhfcGlfbGlzdF9j bGVhbnVwKCkKLSBDb21tZW50cyBhZGp1c3RtZW50CgogeGVuL2FyY2gveDg2L2h2bS92bXgvdm14 LmMgICAgfCAyOCArKysrKysrKysrKysrKysrKysrKysrKystLS0tCiB4ZW4vZHJpdmVycy9wYXNz dGhyb3VnaC9wY2kuYyB8IDE0ICsrKysrKysrKysrKysrCiAyIGZpbGVzIGNoYW5nZWQsIDM4IGlu c2VydGlvbnMoKyksIDQgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2L2h2 bS92bXgvdm14LmMgYi94ZW4vYXJjaC94ODYvaHZtL3ZteC92bXguYwppbmRleCBmMzkxMWYyLi5h OGRjYWJlIDEwMDY0NAotLS0gYS94ZW4vYXJjaC94ODYvaHZtL3ZteC92bXguYworKysgYi94ZW4v YXJjaC94ODYvaHZtL3ZteC92bXguYwpAQCAtMTU4LDE0ICsxNTgsMTIgQEAgc3RhdGljIHZvaWQg dm14X3BpX3N3aXRjaF90byhzdHJ1Y3QgdmNwdSAqdikKICAgICBwaV9jbGVhcl9zbihwaV9kZXNj KTsKIH0KIAotc3RhdGljIHZvaWQgdm14X3BpX2RvX3Jlc3VtZShzdHJ1Y3QgdmNwdSAqdikKK3N0 YXRpYyB2b2lkIHZteF9waV91bmJsb2NrX3ZjcHUoc3RydWN0IHZjcHUgKnYpCiB7CiAgICAgdW5z aWduZWQgbG9uZyBmbGFnczsKICAgICBzcGlubG9ja190ICpwaV9ibG9ja2luZ19saXN0X2xvY2s7 CiAgICAgc3RydWN0IHBpX2Rlc2MgKnBpX2Rlc2MgPSAmdi0+YXJjaC5odm1fdm14LnBpX2Rlc2M7 CiAKLSAgICBBU1NFUlQoIXRlc3RfYml0KF9WUEZfYmxvY2tlZCwgJnYtPnBhdXNlX2ZsYWdzKSk7 Ci0KICAgICAvKgogICAgICAqIFNldCAnTlYnIGZpZWxkIGJhY2sgdG8gcG9zdGVkX2ludHJfdmVj dG9yLCBzbyB0aGUKICAgICAgKiBQb3N0ZWQtSW50ZXJydXB0cyBjYW4gYmUgZGVsaXZlcmVkIHRv IHRoZSB2Q1BVIHdoZW4KQEAgLTE3MywxMiArMTcxLDEyIEBAIHN0YXRpYyB2b2lkIHZteF9waV9k b19yZXN1bWUoc3RydWN0IHZjcHUgKnYpCiAgICAgICovCiAgICAgd3JpdGVfYXRvbWljKCZwaV9k ZXNjLT5udiwgcG9zdGVkX2ludHJfdmVjdG9yKTsKIAotICAgIC8qIFRoZSB2Q1BVIGlzIG5vdCBv biBhbnkgYmxvY2tpbmcgbGlzdC4gKi8KICAgICBwaV9ibG9ja2luZ19saXN0X2xvY2sgPSB2LT5h cmNoLmh2bV92bXgucGlfYmxvY2tpbmcubG9jazsKIAogICAgIC8qIFByZXZlbnQgdGhlIGNvbXBp bGVyIGZyb20gZWxpbWluYXRpbmcgdGhlIGxvY2FsIHZhcmlhYmxlLiovCiAgICAgc21wX3JtYigp OwogCisgICAgLyogVGhlIHZDUFUgaXMgbm90IG9uIGFueSBibG9ja2luZyBsaXN0LiAqLwogICAg IGlmICggcGlfYmxvY2tpbmdfbGlzdF9sb2NrID09IE5VTEwgKQogICAgICAgICByZXR1cm47CiAK QEAgLTE5OCw2ICsxOTYsMTMgQEAgc3RhdGljIHZvaWQgdm14X3BpX2RvX3Jlc3VtZShzdHJ1Y3Qg dmNwdSAqdikKICAgICBzcGluX3VubG9ja19pcnFyZXN0b3JlKHBpX2Jsb2NraW5nX2xpc3RfbG9j aywgZmxhZ3MpOwogfQogCitzdGF0aWMgdm9pZCB2bXhfcGlfZG9fcmVzdW1lKHN0cnVjdCB2Y3B1 ICp2KQoreworICAgIEFTU0VSVCghdGVzdF9iaXQoX1ZQRl9ibG9ja2VkLCAmdi0+cGF1c2VfZmxh Z3MpKTsKKworICAgIHZteF9waV91bmJsb2NrX3ZjcHUodik7Cit9CisKIC8qIFRoaXMgZnVuY3Rp b24gaXMgY2FsbGVkIHdoZW4gcGNpZGV2c19sb2NrIGlzIGhlbGQgKi8KIHZvaWQgdm14X3BpX2hv b2tzX2Fzc2lnbihzdHJ1Y3QgZG9tYWluICpkKQogewpAQCAtMjE1LDExICsyMjAsMjEgQEAgdm9p ZCB2bXhfcGlfaG9va3NfYXNzaWduKHN0cnVjdCBkb21haW4gKmQpCiAvKiBUaGlzIGZ1bmN0aW9u IGlzIGNhbGxlZCB3aGVuIHBjaWRldnNfbG9jayBpcyBoZWxkICovCiB2b2lkIHZteF9waV9ob29r c19kZWFzc2lnbihzdHJ1Y3QgZG9tYWluICpkKQogeworICAgIHN0cnVjdCB2Y3B1ICp2OworCiAg ICAgaWYgKCAhaW9tbXVfaW50cG9zdCB8fCAhaGFzX2h2bV9jb250YWluZXJfZG9tYWluKGQpICkK ICAgICAgICAgcmV0dXJuOwogCiAgICAgQVNTRVJUKGQtPmFyY2guaHZtX2RvbWFpbi52bXgudmNw dV9ibG9jayk7CiAKKyAgICAvKgorICAgICAqIFBhdXNpbmcgdGhlIGRvbWFpbiBjYW4gbWFrZSBz dXJlIHRoZSB2Q1BVIGlzIG5vdAorICAgICAqIHJ1bm5pbmcgYW5kIGhlbmNlIG5vdCBjYWxsaW5n IHRoZSBob29rcyBzaW11bHRhbmVvdXNseQorICAgICAqIHdoZW4gZGVhc3NpZ25pbmcgdGhlIFBJ IGhvb2tzIGFuZCByZW1vdmluZyB0aGUgdkNQVQorICAgICAqIGZyb20gdGhlIGJsb2NraW5nIGxp c3QuCisgICAgICovCisgICAgZG9tYWluX3BhdXNlKGQpOworCiAgICAgZC0+YXJjaC5odm1fZG9t YWluLnZteC52Y3B1X2Jsb2NrID0gTlVMTDsKICAgICBkLT5hcmNoLmh2bV9kb21haW4udm14LnBp X3N3aXRjaF9mcm9tID0gTlVMTDsKICAgICBkLT5hcmNoLmh2bV9kb21haW4udm14LnBpX2RvX3Jl c3VtZSA9IE5VTEw7CkBAIC0yMzAsNiArMjQ1LDExIEBAIHZvaWQgdm14X3BpX2hvb2tzX2RlYXNz aWduKHN0cnVjdCBkb21haW4gKmQpCiAgICAgICogYXNzaWduZWQgYW5kICJmcm9tIiBob29rIGlz IE5VTEwuIEhvd2V2ZXIsIGl0IGlzIG5vdCBzdHJhaWdodGZvcndhcmQKICAgICAgKiB0byBmaW5k IGEgY2xlYXIgc29sdXRpb24sIHNvIGp1c3QgbGVhdmUgaXQgaGVyZS4KICAgICAgKi8KKworICAg IGZvcl9lYWNoX3ZjcHUgKCBkLCB2ICkKKyAgICAgICAgdm14X3BpX3VuYmxvY2tfdmNwdSh2KTsK KworICAgIGRvbWFpbl91bnBhdXNlKGQpOwogfQogCiBzdGF0aWMgaW50IHZteF9kb21haW5faW5p dGlhbGlzZShzdHJ1Y3QgZG9tYWluICpkKQpkaWZmIC0tZ2l0IGEveGVuL2RyaXZlcnMvcGFzc3Ro cm91Z2gvcGNpLmMgYi94ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC9wY2kuYwppbmRleCA4YmNlMjEz Li5lNzE3MzJmIDEwMDY0NAotLS0gYS94ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC9wY2kuYworKysg Yi94ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC9wY2kuYwpAQCAtMTYwMiw2ICsxNjAyLDEzIEBAIGlu dCBpb21tdV9kb19wY2lfZG9tY3RsKAogICAgICAgICBicmVhazsKIAogICAgIGNhc2UgWEVOX0RP TUNUTF9hc3NpZ25fZGV2aWNlOgorICAgICAgICAvKiBubyBkb21haW5fcGF1c2UoKSAqLworICAg ICAgICBpZiAoIGQgPT0gY3VycmVudC0+ZG9tYWluICkKKyAgICAgICAgeworICAgICAgICAgICAg cmV0ID0gLUVJTlZBTDsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICB9CisKICAgICAgICAg cmV0ID0gLUVOT0RFVjsKICAgICAgICAgaWYgKCBkb21jdGwtPnUuYXNzaWduX2RldmljZS5kZXYg IT0gWEVOX0RPTUNUTF9ERVZfUENJICkKICAgICAgICAgICAgIGJyZWFrOwpAQCAtMTY0Miw2ICsx NjQ5LDEzIEBAIGludCBpb21tdV9kb19wY2lfZG9tY3RsKAogICAgICAgICBicmVhazsKIAogICAg IGNhc2UgWEVOX0RPTUNUTF9kZWFzc2lnbl9kZXZpY2U6CisgICAgICAgIC8qIG5vIGRvbWFpbl9w YXVzZSgpICovCisgICAgICAgIGlmICggZCA9PSBjdXJyZW50LT5kb21haW4gKQorICAgICAgICB7 CisgICAgICAgICAgICByZXQgPSAtRUlOVkFMOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAg IH0KKwogICAgICAgICByZXQgPSAtRU5PREVWOwogICAgICAgICBpZiAoIGRvbWN0bC0+dS5hc3Np Z25fZGV2aWNlLmRldiAhPSBYRU5fRE9NQ1RMX0RFVl9QQ0kgKQogICAgICAgICAgICAgYnJlYWs7 Ci0tIAoyLjEuMAoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fClhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbi5vcmcKaHR0cHM6 Ly9saXN0cy54ZW4ub3JnL3hlbi1kZXZlbAo=