From mboxrd@z Thu Jan 1 00:00:00 1970 From: Chao Gao Subject: [PATCH v10 3/6] VMX: Fixup PI descriptor when cpu is offline Date: Wed, 15 Mar 2017 13:11:19 +0800 Message-ID: <1489554682-6126-4-git-send-email-chao.gao@intel.com> References: <1489554682-6126-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: <1489554682-6126-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+CgpXaGVuIGNwdSBpcyBvZmZsaW5lLCB3 ZSBuZWVkIHRvIG1vdmUgYWxsIHRoZSB2Y3B1cyBpbiBpdHMgYmxvY2tpbmcKbGlzdCB0byBhbm90 aGVyIG9ubGluZSBjcHUsIHRoaXMgcGF0Y2ggaGFuZGxlcyBpdC4KClNpZ25lZC1vZmYtYnk6IEZl bmcgV3UgPGZlbmcud3VAaW50ZWwuY29tPgpTaWduZWQtb2ZmLWJ5OiBDaGFvIEdhbyA8Y2hhby5n YW9AaW50ZWwuY29tPgpSZXZpZXdlZC1ieTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29t PgpBY2tlZC1ieTogS2V2aW4gVGlhbiA8a2V2aW4udGlhbkBpbnRlbC5jb20+Ci0tLQp2NzogCi0g UGFzcyB1bnNpZ25lZCBpbnQgdG8gdm14X3BpX2Rlc2NfZml4dXAoKQoKdjY6IAotIENhcmVmdWxs eSBzdXBwcmVzcyAnU04nIHRvIGF2b2lkIG1pc3Npbmcgbm90aWZpY2F0aW9uIGV2ZW50CmR1cmlu ZyBtb3ZpbmcgdGhlIHZjcHUgdG8gdGhlIG5ldyBsaXN0Cgp2NTogCi0gQWRkIHNvbWUgY29tbWVu dHMgdG8gZXhwbGFpbiB3aHkgaXQgZG9lc24ndCBjYXVzZSBkZWFkbG9jawpmb3IgdGhlIEFCQkEg ZGVhZGxvY2sgc2NlbmFyaW8uIAoKdjQ6IAotIFJlbW92ZSB0aGUgcG9pbnRsZXNzIGNoZWNrIHNp bmNlIHdlIGFyZSBpbiBtYWNoaW5lIHN0b3AKY29udGV4dCBhbmQgbm8gb3RoZXIgY3B1cyBnbyBk b3duIGluIHBhcmFsbGVsLgoKIHhlbi9hcmNoL3g4Ni9odm0vdm14L3ZtY3MuYyAgICAgICB8ICAx ICsKIHhlbi9hcmNoL3g4Ni9odm0vdm14L3ZteC5jICAgICAgICB8IDcwICsrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKwogeGVuL2luY2x1ZGUvYXNtLXg4Ni9odm0vdm14L3Zt eC5oIHwgIDEgKwogMyBmaWxlcyBjaGFuZ2VkLCA3MiBpbnNlcnRpb25zKCspCgpkaWZmIC0tZ2l0 IGEveGVuL2FyY2gveDg2L2h2bS92bXgvdm1jcy5jIGIveGVuL2FyY2gveDg2L2h2bS92bXgvdm1j cy5jCmluZGV4IDBjMWI3MTEuLmI3ZjZhNWUgMTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL3g4Ni9odm0v dm14L3ZtY3MuYworKysgYi94ZW4vYXJjaC94ODYvaHZtL3ZteC92bWNzLmMKQEAgLTU5MSw2ICs1 OTEsNyBAQCB2b2lkIHZteF9jcHVfZGVhZCh1bnNpZ25lZCBpbnQgY3B1KQogICAgIHZteF9mcmVl X3ZtY3MocGVyX2NwdSh2bXhvbl9yZWdpb24sIGNwdSkpOwogICAgIHBlcl9jcHUodm14b25fcmVn aW9uLCBjcHUpID0gMDsKICAgICBudm14X2NwdV9kZWFkKGNwdSk7CisgICAgdm14X3BpX2Rlc2Nf Zml4dXAoY3B1KTsKIH0KIAogaW50IHZteF9jcHVfdXAodm9pZCkKZGlmZiAtLWdpdCBhL3hlbi9h cmNoL3g4Ni9odm0vdm14L3ZteC5jIGIveGVuL2FyY2gveDg2L2h2bS92bXgvdm14LmMKaW5kZXgg ODk0ZDdkNC4uZGVlMDQ2MyAxMDA2NDQKLS0tIGEveGVuL2FyY2gveDg2L2h2bS92bXgvdm14LmMK KysrIGIveGVuL2FyY2gveDg2L2h2bS92bXgvdm14LmMKQEAgLTE5OSw2ICsxOTksNzYgQEAgc3Rh dGljIHZvaWQgdm14X3BpX2RvX3Jlc3VtZShzdHJ1Y3QgdmNwdSAqdikKICAgICB2bXhfcGlfdW5i bG9ja192Y3B1KHYpOwogfQogCit2b2lkIHZteF9waV9kZXNjX2ZpeHVwKHVuc2lnbmVkIGludCBj cHUpCit7CisgICAgdW5zaWduZWQgaW50IG5ld19jcHUsIGRlc3Q7CisgICAgdW5zaWduZWQgbG9u ZyBmbGFnczsKKyAgICBzdHJ1Y3QgYXJjaF92bXhfc3RydWN0ICp2bXgsICp0bXA7CisgICAgc3Bp bmxvY2tfdCAqbmV3X2xvY2ssICpvbGRfbG9jayA9ICZwZXJfY3B1KHZteF9waV9ibG9ja2luZywg Y3B1KS5sb2NrOworICAgIHN0cnVjdCBsaXN0X2hlYWQgKmJsb2NrZWRfdmNwdXMgPSAmcGVyX2Nw dSh2bXhfcGlfYmxvY2tpbmcsIGNwdSkubGlzdDsKKworICAgIGlmICggIWlvbW11X2ludHBvc3Qg KQorICAgICAgICByZXR1cm47CisKKyAgICAvKgorICAgICAqIFdlIGFyZSBpbiB0aGUgY29udGV4 dCBvZiBDUFVfREVBRCBvciBDUFVfVVBfQ0FOQ0VMRUQgbm90aWZpY2F0aW9uLAorICAgICAqIGFu ZCBpdCBpcyBpbXBvc3NpYmxlIGZvciBhIHNlY29uZCBDUFUgZ28gZG93biBpbiBwYXJhbGxlbC4g U28gd2UKKyAgICAgKiBjYW4gc2FmZWx5IGFjcXVpcmUgdGhlIG9sZCBjcHUncyBsb2NrIGFuZCB0 aGVuIGFjcXVpcmUgdGhlIG5ld19jcHUncworICAgICAqIGxvY2sgYWZ0ZXIgdGhhdC4KKyAgICAg Ki8KKyAgICBzcGluX2xvY2tfaXJxc2F2ZShvbGRfbG9jaywgZmxhZ3MpOworCisgICAgbGlzdF9m b3JfZWFjaF9lbnRyeV9zYWZlKHZteCwgdG1wLCBibG9ja2VkX3ZjcHVzLCBwaV9ibG9ja2luZy5s aXN0KQorICAgIHsKKyAgICAgICAgLyoKKyAgICAgICAgICogU3VwcHJlc3Mgbm90aWZpY2F0aW9u IG9yIHdlIG1heSBtaXNzIGFuIGludGVycnVwdCB3aGVuIHRoZQorICAgICAgICAgKiB0YXJnZXQg Y3B1IGlzIGR5aW5nLgorICAgICAgICAgKi8KKyAgICAgICAgcGlfc2V0X3NuKCZ2bXgtPnBpX2Rl c2MpOworCisgICAgICAgIC8qCisgICAgICAgICAqIENoZWNrIHdoZXRoZXIgYSBub3RpZmljYXRp b24gaXMgcGVuZGluZyBiZWZvcmUgZG9pbmcgdGhlCisgICAgICAgICAqIG1vdmVtZW50LCBpZiB0 aGF0IGlzIHRoZSBjYXNlIHdlIG5lZWQgdG8gd2FrZSB1cCBpdCBkaXJlY3RseQorICAgICAgICAg KiBvdGhlciB0aGFuIG1vdmluZyBpdCB0byB0aGUgbmV3IGNwdSdzIGxpc3QuCisgICAgICAgICAq LworICAgICAgICBpZiAoIHBpX3Rlc3Rfb24oJnZteC0+cGlfZGVzYykgKQorICAgICAgICB7Cisg ICAgICAgICAgICBsaXN0X2RlbCgmdm14LT5waV9ibG9ja2luZy5saXN0KTsKKyAgICAgICAgICAg IHZteC0+cGlfYmxvY2tpbmcubG9jayA9IE5VTEw7CisgICAgICAgICAgICB2Y3B1X3VuYmxvY2so Y29udGFpbmVyX29mKHZteCwgc3RydWN0IHZjcHUsIGFyY2guaHZtX3ZteCkpOworICAgICAgICB9 CisgICAgICAgIGVsc2UKKyAgICAgICAgeworICAgICAgICAgICAgLyoKKyAgICAgICAgICAgICAq IFdlIG5lZWQgdG8gZmluZCBhbiBvbmxpbmUgY3B1IGFzIHRoZSBORFNUIG9mIHRoZSBQSSBkZXNj cmlwdG9yLCBpdAorICAgICAgICAgICAgICogZG9lc24ndCBtYXR0ZXIgd2hldGhlciBpdCBpcyB3 aXRoaW4gdGhlIGNwdXBvb2wgb2YgdGhlIGRvbWFpbiBvcgorICAgICAgICAgICAgICogbm90LiBB cyBsb25nIGFzIGl0IGlzIG9ubGluZSwgdGhlIHZDUFUgd2lsbCBiZSB3b2tlbiB1cCBvbmNlIHRo ZQorICAgICAgICAgICAgICogbm90aWZpY2F0aW9uIGV2ZW50IGFycml2ZXMuCisgICAgICAgICAg ICAgKi8KKyAgICAgICAgICAgIG5ld19jcHUgPSBjcHVtYXNrX2FueSgmY3B1X29ubGluZV9tYXAp OworICAgICAgICAgICAgbmV3X2xvY2sgPSAmcGVyX2NwdSh2bXhfcGlfYmxvY2tpbmcsIG5ld19j cHUpLmxvY2s7CisKKyAgICAgICAgICAgIHNwaW5fbG9jayhuZXdfbG9jayk7CisKKyAgICAgICAg ICAgIEFTU0VSVCh2bXgtPnBpX2Jsb2NraW5nLmxvY2sgPT0gb2xkX2xvY2spOworCisgICAgICAg ICAgICBkZXN0ID0gY3B1X3BoeXNpY2FsX2lkKG5ld19jcHUpOworICAgICAgICAgICAgd3JpdGVf YXRvbWljKCZ2bXgtPnBpX2Rlc2MubmRzdCwKKyAgICAgICAgICAgICAgICAgICAgICAgICB4MmFw aWNfZW5hYmxlZCA/IGRlc3QgOiBNQVNLX0lOU1IoZGVzdCwgUElfeEFQSUNfTkRTVF9NQVNLKSk7 CisKKyAgICAgICAgICAgIGxpc3RfbW92ZSgmdm14LT5waV9ibG9ja2luZy5saXN0LAorICAgICAg ICAgICAgICAgICAgICAgICZwZXJfY3B1KHZteF9waV9ibG9ja2luZywgbmV3X2NwdSkubGlzdCk7 CisgICAgICAgICAgICB2bXgtPnBpX2Jsb2NraW5nLmxvY2sgPSBuZXdfbG9jazsKKworICAgICAg ICAgICAgc3Bpbl91bmxvY2sobmV3X2xvY2spOworICAgICAgICB9CisKKyAgICAgICAgcGlfY2xl YXJfc24oJnZteC0+cGlfZGVzYyk7CisgICAgfQorCisgICAgc3Bpbl91bmxvY2tfaXJxcmVzdG9y ZShvbGRfbG9jaywgZmxhZ3MpOworfQorCiAvKgogICogVG8gaGFuZGxlIHBvc3RlZCBpbnRlcnJ1 cHRzIGNvcnJlY3RseSwgd2UgbmVlZCB0byBzZXQgdGhlIGZvbGxvd2luZwogICogc3RhdGU6CmRp ZmYgLS1naXQgYS94ZW4vaW5jbHVkZS9hc20teDg2L2h2bS92bXgvdm14LmggYi94ZW4vaW5jbHVk ZS9hc20teDg2L2h2bS92bXgvdm14LmgKaW5kZXggMmI3ODFhYi4uNWVhZDU3YyAxMDA2NDQKLS0t IGEveGVuL2luY2x1ZGUvYXNtLXg4Ni9odm0vdm14L3ZteC5oCisrKyBiL3hlbi9pbmNsdWRlL2Fz bS14ODYvaHZtL3ZteC92bXguaApAQCAtNTk3LDYgKzU5Nyw3IEBAIHZvaWQgZnJlZV9wMm1faGFw X2RhdGEoc3RydWN0IHAybV9kb21haW4gKnAybSk7CiB2b2lkIHAybV9pbml0X2hhcF9kYXRhKHN0 cnVjdCBwMm1fZG9tYWluICpwMm0pOwogCiB2b2lkIHZteF9waV9wZXJfY3B1X2luaXQodW5zaWdu ZWQgaW50IGNwdSk7Cit2b2lkIHZteF9waV9kZXNjX2ZpeHVwKHVuc2lnbmVkIGludCBjcHUpOwog CiB2b2lkIHZteF9waV9ob29rc19hc3NpZ24oc3RydWN0IGRvbWFpbiAqZCk7CiB2b2lkIHZteF9w aV9ob29rc19kZWFzc2lnbihzdHJ1Y3QgZG9tYWluICpkKTsKLS0gCjEuOC4zLjEKCgpfX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpYZW4tZGV2ZWwgbWFpbGlu ZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54ZW4ub3JnCmh0dHBzOi8vbGlzdHMueGVuLm9yZy94ZW4t ZGV2ZWwK