From mboxrd@z Thu Jan 1 00:00:00 1970 From: Feng Wu Subject: [PATCH v5 2/7] VMX: Properly handle pi when all the assigned devices are removed Date: Tue, 11 Oct 2016 08:57:48 +0800 Message-ID: <1476147473-30970-3-git-send-email-feng.wu@intel.com> References: <1476147473-30970-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: <1476147473-30970-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 cGVyLWNwdSBibG9ja2luZyBsaXN0LgoKSGVyZSB3ZSBjYWxsIHZteF9waV9saXN0X3JlbW92ZSgp IHRvIHJlbW92ZSB0aGUgdkNQVSBmcm9tIHRoZSBibG9ja2luZyBsaXN0CmlmIGl0IGlzIG9uIHRo ZSBsaXN0LiBIb3dldmVyLCB0aGlzIGNvdWxkIGhhcHBlbiB3aGVuIHZteF92Y3B1X2Jsb2NrKCkg aXMKYmVpbmcgY2FsbGVkLCBoZW5jZSB3ZSBtaWdodCBpbmNvcnJlY3RseSBhZGQgdGhlIHZDUFUg dG8gdGhlIGJsb2NraW5nIGxpc3QKd2hpbGUgdGhlIGxhc3QgZGV2Y2llIGlzIGRldGFjaGVkIGZy b20gdGhlIGRvbWFpbi4gQ29uc2lkZXIgdGhhdCB0aGUgc2l0dWF0aW9uCmNhbiBvbmx5IG9jY3Vy IHdoZW4gZGV0YWNoaW5nIHRoZSBsYXN0IGRldmljZSBmcm9tIHRoZSBkb21haW4gYW5kIGl0IGlz IG5vdAphIGZyZXF1ZW50IG9wZXJhdGlvbiwgc28gd2UgdXNlIGRvbWFpbl9wYXVzZSBiZWZvcmUg dGhhdCwgd2hpY2ggaXMgY29uc2lkZXJlZAphcyBhbiBjbGVhbiBhbmQgbWFpbnRhaW5hYmxlIHNv bHV0aW9uIGZvciB0aGUgc2l0dWF0aW9uLgoKU2lnbmVkLW9mZi1ieTogRmVuZyBXdSA8ZmVuZy53 dUBpbnRlbC5jb20+Ci0tLQp2NToKLSBSZW1vdmUgYSBuby1vcCB3cmFwcGVyCgogeGVuL2FyY2gv eDg2L2h2bS92bXgvdm14LmMgfCAyOCArKysrKysrKysrKysrKysrKysrKysrKystLS0tCiAxIGZp bGUgY2hhbmdlZCwgMjQgaW5zZXJ0aW9ucygrKSwgNCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQg YS94ZW4vYXJjaC94ODYvaHZtL3ZteC92bXguYyBiL3hlbi9hcmNoL3g4Ni9odm0vdm14L3ZteC5j CmluZGV4IDYyM2Q1YmMuLmQyMTA1MTYgMTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL3g4Ni9odm0vdm14 L3ZteC5jCisrKyBiL3hlbi9hcmNoL3g4Ni9odm0vdm14L3ZteC5jCkBAIC0xNjMsMTQgKzE2Mywx MiBAQCBzdGF0aWMgdm9pZCB2bXhfcGlfc3dpdGNoX3RvKHN0cnVjdCB2Y3B1ICp2KQogICAgIHBp X2NsZWFyX3NuKHBpX2Rlc2MpOwogfQogCi1zdGF0aWMgdm9pZCB2bXhfcGlfZG9fcmVzdW1lKHN0 cnVjdCB2Y3B1ICp2KQorc3RhdGljIHZvaWQgdm14X3BpX2xpc3RfcmVtb3ZlKHN0cnVjdCB2Y3B1 ICp2KQogewogICAgIHVuc2lnbmVkIGxvbmcgZmxhZ3M7CiAgICAgc3BpbmxvY2tfdCAqcGlfYmxv Y2tpbmdfbGlzdF9sb2NrOwogICAgIHN0cnVjdCBwaV9kZXNjICpwaV9kZXNjID0gJnYtPmFyY2gu aHZtX3ZteC5waV9kZXNjOwogCi0gICAgQVNTRVJUKCF0ZXN0X2JpdChfVlBGX2Jsb2NrZWQsICZ2 LT5wYXVzZV9mbGFncykpOwotCiAgICAgLyoKICAgICAgKiBTZXQgJ05WJyBmaWVsZCBiYWNrIHRv IHBvc3RlZF9pbnRyX3ZlY3Rvciwgc28gdGhlCiAgICAgICogUG9zdGVkLUludGVycnVwdHMgY2Fu IGJlIGRlbGl2ZXJlZCB0byB0aGUgdkNQVSB3aGVuCkBAIC0xNzgsMTIgKzE3NiwxMiBAQCBzdGF0 aWMgdm9pZCB2bXhfcGlfZG9fcmVzdW1lKHN0cnVjdCB2Y3B1ICp2KQogICAgICAqLwogICAgIHdy aXRlX2F0b21pYygmcGlfZGVzYy0+bnYsIHBvc3RlZF9pbnRyX3ZlY3Rvcik7CiAKLSAgICAvKiBU aGUgdkNQVSBpcyBub3Qgb24gYW55IGJsb2NraW5nIGxpc3QuICovCiAgICAgcGlfYmxvY2tpbmdf bGlzdF9sb2NrID0gdi0+YXJjaC5odm1fdm14LnBpX2Jsb2NraW5nLmxvY2s7CiAKICAgICAvKiBQ cmV2ZW50IHRoZSBjb21waWxlciBmcm9tIGVsaW1pbmF0aW5nIHRoZSBsb2NhbCB2YXJpYWJsZS4q LwogICAgIHNtcF9ybWIoKTsKIAorICAgIC8qIFRoZSB2Q1BVIGlzIG5vdCBvbiBhbnkgYmxvY2tp bmcgbGlzdC4gKi8KICAgICBpZiAoIHBpX2Jsb2NraW5nX2xpc3RfbG9jayA9PSBOVUxMICkKICAg ICAgICAgcmV0dXJuOwogCkBAIC0yMDMsNiArMjAxLDEzIEBAIHN0YXRpYyB2b2lkIHZteF9waV9k b19yZXN1bWUoc3RydWN0IHZjcHUgKnYpCiAgICAgc3Bpbl91bmxvY2tfaXJxcmVzdG9yZShwaV9i bG9ja2luZ19saXN0X2xvY2ssIGZsYWdzKTsKIH0KIAorc3RhdGljIHZvaWQgdm14X3BpX2RvX3Jl c3VtZShzdHJ1Y3QgdmNwdSAqdikKK3sKKyAgICBBU1NFUlQoIXRlc3RfYml0KF9WUEZfYmxvY2tl ZCwgJnYtPnBhdXNlX2ZsYWdzKSk7CisKKyAgICB2bXhfcGlfbGlzdF9yZW1vdmUodik7Cit9CisK IC8qIFRoaXMgZnVuY3Rpb24gaXMgY2FsbGVkIHdoZW4gcGNpZGV2c19sb2NrIGlzIGhlbGQgKi8K IHZvaWQgdm14X3BpX2hvb2tzX2Fzc2lnbihzdHJ1Y3QgZG9tYWluICpkKQogewpAQCAtMjIwLDE0 ICsyMjUsMjkgQEAgdm9pZCB2bXhfcGlfaG9va3NfYXNzaWduKHN0cnVjdCBkb21haW4gKmQpCiAv KiBUaGlzIGZ1bmN0aW9uIGlzIGNhbGxlZCB3aGVuIHBjaWRldnNfbG9jayBpcyBoZWxkICovCiB2 b2lkIHZteF9waV9ob29rc19kZWFzc2lnbihzdHJ1Y3QgZG9tYWluICpkKQogeworICAgIHN0cnVj dCB2Y3B1ICp2OworCiAgICAgaWYgKCAhaW9tbXVfaW50cG9zdCB8fCAhaGFzX2h2bV9jb250YWlu ZXJfZG9tYWluKGQpICkKICAgICAgICAgcmV0dXJuOwogCiAgICAgQVNTRVJUKGQtPmFyY2guaHZt X2RvbWFpbi52bXgudmNwdV9ibG9jayk7CiAKKyAgICAvKgorICAgICAqIFBhdXNpbmcgdGhlIGRv bWFpbiBjYW4gbWFrZSBzdXJlIHRoZSB2Q1BVIGlzIG5vdAorICAgICAqIHJ1bm5pbmcgYW5kIGhl bmNlIGNhbGxpbmcgdGhlIGhvb2tzIHNpbXVsdGFuZW91c2x5CisgICAgICogd2hlbiBkZWFzc2ln bmluZyB0aGUgUEkgaG9va3MgYW5kIHJlbW92aW5nIHRoZSB2Q1BVCisgICAgICogZnJvbSB0aGUg YmxvY2tpbmcgbGlzdC4KKyAgICAgKi8KKyAgICBkb21haW5fcGF1c2UoZCk7CisKICAgICBkLT5h cmNoLmh2bV9kb21haW4udm14LnZjcHVfYmxvY2sgPSBOVUxMOwogICAgIGQtPmFyY2guaHZtX2Rv bWFpbi52bXgucGlfZG9fcmVzdW1lID0gTlVMTDsKICAgICBkLT5hcmNoLmh2bV9kb21haW4udm14 LnBpX3N3aXRjaF9mcm9tID0gTlVMTDsKKworICAgIGZvcl9lYWNoX3ZjcHUgKCBkLCB2ICkKKyAg ICAgICAgdm14X3BpX2xpc3RfcmVtb3ZlKHYpOworCisgICAgZG9tYWluX3VucGF1c2UoZCk7CiB9 CiAKIHN0YXRpYyBpbnQgdm14X2RvbWFpbl9pbml0aWFsaXNlKHN0cnVjdCBkb21haW4gKmQpCi0t IAoyLjEuMAoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f Clhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbi5vcmcKaHR0cHM6Ly9s aXN0cy54ZW4ub3JnL3hlbi1kZXZlbAo=