From mboxrd@z Thu Jan 1 00:00:00 1970 From: Feng Wu Subject: [PATCH v8 7/7] VMX: Fixup PI descriptor when cpu is offline Date: Fri, 18 Nov 2016 09:57:24 +0800 Message-ID: <1479434244-10223-8-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 V2hlbiBjcHUgaXMgb2ZmbGluZSwgd2UgbmVlZCB0byBtb3ZlIGFsbCB0aGUgdmNwdXMgaW4gaXRz IGJsb2NraW5nCmxpc3QgdG8gYW5vdGhlciBvbmxpbmUgY3B1LCB0aGlzIHBhdGNoIGhhbmRsZXMg aXQuCgpTaWduZWQtb2ZmLWJ5OiBGZW5nIFd1IDxmZW5nLnd1QGludGVsLmNvbT4KUmV2aWV3ZWQt Ynk6IEphbiBCZXVsaWNoIDxqYmV1bGljaEBzdXNlLmNvbT4KLS0tCnY3OgotIFBhc3MgdW5zaWdu ZWQgaW50IHRvIHZteF9waV9kZXNjX2ZpeHVwKCkKCnY2OgotIENhcmVmdWxseSBzdXBwcmVzcyAn U04nIHRvIGF2b2lkIG1pc3Npbmcgbm90aWZpY2F0aW9uIGV2ZW50CmR1cmluZyBtb3ZpbmcgdGhl IHZjcHUgdG8gdGhlIG5ldyBsaXN0Cgp2NToKLSBBZGQgc29tZSBjb21tZW50cyB0byBleHBsYWlu IHdoeSBpdCBkb2Vzbid0IGNhdXNlIGRlYWRsb2NrCmZvciB0aGUgQUJCQSBkZWFkbG9jayBzY2Vu YXJpby4KCnY0OgotIFJlbW92ZSB0aGUgcG9pbnRsZXNzIGNoZWNrIHNpbmNlIHdlIGFyZSBpbiBt YWNoaW5lIHN0b3AKY29udGV4dCBhbmQgbm8gb3RoZXIgY3B1cyBnbyBkb3duIGluIHBhcmFsbGVs LgoKIHhlbi9hcmNoL3g4Ni9odm0vdm14L3ZtY3MuYyAgICAgICB8ICAxICsKIHhlbi9hcmNoL3g4 Ni9odm0vdm14L3ZteC5jICAgICAgICB8IDcwICsrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKwogeGVuL2luY2x1ZGUvYXNtLXg4Ni9odm0vdm14L3ZteC5oIHwgIDEgKwogMyBm aWxlcyBjaGFuZ2VkLCA3MiBpbnNlcnRpb25zKCspCgpkaWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2 L2h2bS92bXgvdm1jcy5jIGIveGVuL2FyY2gveDg2L2h2bS92bXgvdm1jcy5jCmluZGV4IGU4ZTM2 MTYuLjE4NDZlMjUgMTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL3g4Ni9odm0vdm14L3ZtY3MuYworKysg Yi94ZW4vYXJjaC94ODYvaHZtL3ZteC92bWNzLmMKQEAgLTU3OCw2ICs1NzgsNyBAQCB2b2lkIHZt eF9jcHVfZGVhZCh1bnNpZ25lZCBpbnQgY3B1KQogICAgIHZteF9mcmVlX3ZtY3MocGVyX2NwdSh2 bXhvbl9yZWdpb24sIGNwdSkpOwogICAgIHBlcl9jcHUodm14b25fcmVnaW9uLCBjcHUpID0gMDsK ICAgICBudm14X2NwdV9kZWFkKGNwdSk7CisgICAgdm14X3BpX2Rlc2NfZml4dXAoY3B1KTsKIH0K IAogaW50IHZteF9jcHVfdXAodm9pZCkKZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni9odm0vdm14 L3ZteC5jIGIveGVuL2FyY2gveDg2L2h2bS92bXgvdm14LmMKaW5kZXggYTFmNzkwMy4uNjE0ZDUz OCAxMDA2NDQKLS0tIGEveGVuL2FyY2gveDg2L2h2bS92bXgvdm14LmMKKysrIGIveGVuL2FyY2gv eDg2L2h2bS92bXgvdm14LmMKQEAgLTIwMyw2ICsyMDMsNzYgQEAgc3RhdGljIHZvaWQgdm14X3Bp X2RvX3Jlc3VtZShzdHJ1Y3QgdmNwdSAqdikKICAgICB2bXhfcGlfdW5ibG9ja192Y3B1KHYpOwog fQogCit2b2lkIHZteF9waV9kZXNjX2ZpeHVwKHVuc2lnbmVkIGludCBjcHUpCit7CisgICAgdW5z aWduZWQgaW50IG5ld19jcHUsIGRlc3Q7CisgICAgdW5zaWduZWQgbG9uZyBmbGFnczsKKyAgICBz dHJ1Y3QgYXJjaF92bXhfc3RydWN0ICp2bXgsICp0bXA7CisgICAgc3BpbmxvY2tfdCAqbmV3X2xv Y2ssICpvbGRfbG9jayA9ICZwZXJfY3B1KHZteF9waV9ibG9ja2luZywgY3B1KS5sb2NrOworICAg IHN0cnVjdCBsaXN0X2hlYWQgKmJsb2NrZWRfdmNwdXMgPSAmcGVyX2NwdSh2bXhfcGlfYmxvY2tp bmcsIGNwdSkubGlzdDsKKworICAgIGlmICggIWlvbW11X2ludHBvc3QgKQorICAgICAgICByZXR1 cm47CisKKyAgICAvKgorICAgICAqIFdlIGFyZSBpbiB0aGUgY29udGV4dCBvZiBDUFVfREVBRCBv ciBDUFVfVVBfQ0FOQ0VMRUQgbm90aWZpY2F0aW9uLAorICAgICAqIGFuZCBpdCBpcyBpbXBvc3Np YmxlIGZvciBhIHNlY29uZCBDUFUgZ28gZG93biBpbiBwYXJhbGxlbC4gU28gd2UKKyAgICAgKiBj YW4gc2FmZWx5IGFjcXVpcmUgdGhlIG9sZCBjcHUncyBsb2NrIGFuZCB0aGVuIGFjcXVpcmUgdGhl IG5ld19jcHUncworICAgICAqIGxvY2sgYWZ0ZXIgdGhhdC4KKyAgICAgKi8KKyAgICBzcGluX2xv Y2tfaXJxc2F2ZShvbGRfbG9jaywgZmxhZ3MpOworCisgICAgbGlzdF9mb3JfZWFjaF9lbnRyeV9z YWZlKHZteCwgdG1wLCBibG9ja2VkX3ZjcHVzLCBwaV9ibG9ja2luZy5saXN0KQorICAgIHsKKyAg ICAgICAgLyoKKyAgICAgICAgICogU3VwcHJlc3Mgbm90aWZpY2F0aW9uIG9yIHdlIG1heSBtaXNz IGFuIGludGVycnVwdCB3aGVuIHRoZQorICAgICAgICAgKiB0YXJnZXQgY3B1IGlzIGR5aW5nLgor ICAgICAgICAgKi8KKyAgICAgICAgcGlfc2V0X3NuKCZ2bXgtPnBpX2Rlc2MpOworCisgICAgICAg IC8qCisgICAgICAgICAqIENoZWNrIHdoZXRoZXIgYSBub3RpZmljYXRpb24gaXMgcGVuZGluZyBi ZWZvcmUgZG9pbmcgdGhlCisgICAgICAgICAqIG1vdmVtZW50LCBpZiB0aGF0IGlzIHRoZSBjYXNl IHdlIG5lZWQgdG8gd2FrZSB1cCBpdCBkaXJlY3RseQorICAgICAgICAgKiBvdGhlciB0aGFuIG1v dmluZyBpdCB0byB0aGUgbmV3IGNwdSdzIGxpc3QuCisgICAgICAgICAqLworICAgICAgICBpZiAo IHBpX3Rlc3Rfb24oJnZteC0+cGlfZGVzYykgKQorICAgICAgICB7CisgICAgICAgICAgICBsaXN0 X2RlbCgmdm14LT5waV9ibG9ja2luZy5saXN0KTsKKyAgICAgICAgICAgIHZteC0+cGlfYmxvY2tp bmcubG9jayA9IE5VTEw7CisgICAgICAgICAgICB2Y3B1X3VuYmxvY2soY29udGFpbmVyX29mKHZt eCwgc3RydWN0IHZjcHUsIGFyY2guaHZtX3ZteCkpOworICAgICAgICB9CisgICAgICAgIGVsc2UK KyAgICAgICAgeworICAgICAgICAgICAgLyoKKyAgICAgICAgICAgICAqIFdlIG5lZWQgdG8gZmlu ZCBhbiBvbmxpbmUgY3B1IGFzIHRoZSBORFNUIG9mIHRoZSBQSSBkZXNjcmlwdG9yLCBpdAorICAg ICAgICAgICAgICogZG9lc24ndCBtYXR0ZXIgd2hldGhlciBpdCBpcyB3aXRoaW4gdGhlIGNwdXBv b2wgb2YgdGhlIGRvbWFpbiBvcgorICAgICAgICAgICAgICogbm90LiBBcyBsb25nIGFzIGl0IGlz IG9ubGluZSwgdGhlIHZDUFUgd2lsbCBiZSB3b2tlbiB1cCBvbmNlIHRoZQorICAgICAgICAgICAg ICogbm90aWZpY2F0aW9uIGV2ZW50IGFycml2ZXMuCisgICAgICAgICAgICAgKi8KKyAgICAgICAg ICAgIG5ld19jcHUgPSBjcHVtYXNrX2FueSgmY3B1X29ubGluZV9tYXApOworICAgICAgICAgICAg bmV3X2xvY2sgPSAmcGVyX2NwdSh2bXhfcGlfYmxvY2tpbmcsIG5ld19jcHUpLmxvY2s7CisKKyAg ICAgICAgICAgIHNwaW5fbG9jayhuZXdfbG9jayk7CisKKyAgICAgICAgICAgIEFTU0VSVCh2bXgt PnBpX2Jsb2NraW5nLmxvY2sgPT0gb2xkX2xvY2spOworCisgICAgICAgICAgICBkZXN0ID0gY3B1 X3BoeXNpY2FsX2lkKG5ld19jcHUpOworICAgICAgICAgICAgd3JpdGVfYXRvbWljKCZ2bXgtPnBp X2Rlc2MubmRzdCwKKyAgICAgICAgICAgICAgICAgICAgICAgICB4MmFwaWNfZW5hYmxlZCA/IGRl c3QgOiBNQVNLX0lOU1IoZGVzdCwgUElfeEFQSUNfTkRTVF9NQVNLKSk7CisKKyAgICAgICAgICAg IGxpc3RfbW92ZSgmdm14LT5waV9ibG9ja2luZy5saXN0LAorICAgICAgICAgICAgICAgICAgICAg ICZwZXJfY3B1KHZteF9waV9ibG9ja2luZywgbmV3X2NwdSkubGlzdCk7CisgICAgICAgICAgICB2 bXgtPnBpX2Jsb2NraW5nLmxvY2sgPSBuZXdfbG9jazsKKworICAgICAgICAgICAgc3Bpbl91bmxv Y2sobmV3X2xvY2spOworICAgICAgICB9CisKKyAgICAgICAgcGlfY2xlYXJfc24oJnZteC0+cGlf ZGVzYyk7CisgICAgfQorCisgICAgc3Bpbl91bmxvY2tfaXJxcmVzdG9yZShvbGRfbG9jaywgZmxh Z3MpOworfQorCiAvKiBUaGlzIGZ1bmN0aW9uIGlzIGNhbGxlZCB3aGVuIHBjaWRldnNfbG9jayBp cyBoZWxkICovCiB2b2lkIHZteF9waV9ob29rc19hc3NpZ24oc3RydWN0IGRvbWFpbiAqZCkKIHsK ZGlmZiAtLWdpdCBhL3hlbi9pbmNsdWRlL2FzbS14ODYvaHZtL3ZteC92bXguaCBiL3hlbi9pbmNs dWRlL2FzbS14ODYvaHZtL3ZteC92bXguaAppbmRleCAyZjA0MzVjLi41YzhmZTVkIDEwMDY0NAot LS0gYS94ZW4vaW5jbHVkZS9hc20teDg2L2h2bS92bXgvdm14LmgKKysrIGIveGVuL2luY2x1ZGUv YXNtLXg4Ni9odm0vdm14L3ZteC5oCkBAIC01NjksNiArNTY5LDcgQEAgdm9pZCBmcmVlX3AybV9o YXBfZGF0YShzdHJ1Y3QgcDJtX2RvbWFpbiAqcDJtKTsKIHZvaWQgcDJtX2luaXRfaGFwX2RhdGEo c3RydWN0IHAybV9kb21haW4gKnAybSk7CiAKIHZvaWQgdm14X3BpX3Blcl9jcHVfaW5pdCh1bnNp Z25lZCBpbnQgY3B1KTsKK3ZvaWQgdm14X3BpX2Rlc2NfZml4dXAodW5zaWduZWQgaW50IGNwdSk7 CiAKIHZvaWQgdm14X3BpX2hvb2tzX2Fzc2lnbihzdHJ1Y3QgZG9tYWluICpkKTsKIHZvaWQgdm14 X3BpX2hvb2tzX2RlYXNzaWduKHN0cnVjdCBkb21haW4gKmQpOwotLSAKMi4xLjAKCgpfX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpYZW4tZGV2ZWwgbWFpbGlu ZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54ZW4ub3JnCmh0dHBzOi8vbGlzdHMueGVuLm9yZy94ZW4t ZGV2ZWwK