From mboxrd@z Thu Jan 1 00:00:00 1970 From: Chao Gao Subject: [PATCH v11 4/6] VMX: Fixup PI descriptor when cpu is offline Date: Wed, 29 Mar 2017 13:11:53 +0800 Message-ID: <1490764315-7162-5-git-send-email-chao.gao@intel.com> References: <1490764315-7162-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: <1490764315-7162-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+Ci0tLQogeGVuL2Fy Y2gveDg2L2h2bS92bXgvdm1jcy5jICAgICAgIHwgIDEgKwogeGVuL2FyY2gveDg2L2h2bS92bXgv dm14LmMgICAgICAgIHwgNzAgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr CiB4ZW4vaW5jbHVkZS9hc20teDg2L2h2bS92bXgvdm14LmggfCAgMSArCiAzIGZpbGVzIGNoYW5n ZWQsIDcyIGluc2VydGlvbnMoKykKCmRpZmYgLS1naXQgYS94ZW4vYXJjaC94ODYvaHZtL3ZteC92 bWNzLmMgYi94ZW4vYXJjaC94ODYvaHZtL3ZteC92bWNzLmMKaW5kZXggOTM0Njc0Yy4uOTljNzdi OSAxMDA2NDQKLS0tIGEveGVuL2FyY2gveDg2L2h2bS92bXgvdm1jcy5jCisrKyBiL3hlbi9hcmNo L3g4Ni9odm0vdm14L3ZtY3MuYwpAQCAtNTkxLDYgKzU5MSw3IEBAIHZvaWQgdm14X2NwdV9kZWFk KHVuc2lnbmVkIGludCBjcHUpCiAgICAgdm14X2ZyZWVfdm1jcyhwZXJfY3B1KHZteG9uX3JlZ2lv biwgY3B1KSk7CiAgICAgcGVyX2NwdSh2bXhvbl9yZWdpb24sIGNwdSkgPSAwOwogICAgIG52bXhf Y3B1X2RlYWQoY3B1KTsKKyAgICB2bXhfcGlfZGVzY19maXh1cChjcHUpOwogfQogCiBpbnQgdm14 X2NwdV91cCh2b2lkKQpkaWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2L2h2bS92bXgvdm14LmMgYi94 ZW4vYXJjaC94ODYvaHZtL3ZteC92bXguYwppbmRleCBkMjAxOTU2Li4yNWY5ZWM5IDEwMDY0NAot LS0gYS94ZW4vYXJjaC94ODYvaHZtL3ZteC92bXguYworKysgYi94ZW4vYXJjaC94ODYvaHZtL3Zt eC92bXguYwpAQCAtMTk5LDYgKzE5OSw3NiBAQCBzdGF0aWMgdm9pZCB2bXhfcGlfZG9fcmVzdW1l KHN0cnVjdCB2Y3B1ICp2KQogICAgIHZteF9waV91bmJsb2NrX3ZjcHUodik7CiB9CiAKK3ZvaWQg dm14X3BpX2Rlc2NfZml4dXAodW5zaWduZWQgaW50IGNwdSkKK3sKKyAgICB1bnNpZ25lZCBpbnQg bmV3X2NwdSwgZGVzdDsKKyAgICB1bnNpZ25lZCBsb25nIGZsYWdzOworICAgIHN0cnVjdCBhcmNo X3ZteF9zdHJ1Y3QgKnZteCwgKnRtcDsKKyAgICBzcGlubG9ja190ICpuZXdfbG9jaywgKm9sZF9s b2NrID0gJnBlcl9jcHUodm14X3BpX2Jsb2NraW5nLCBjcHUpLmxvY2s7CisgICAgc3RydWN0IGxp c3RfaGVhZCAqYmxvY2tlZF92Y3B1cyA9ICZwZXJfY3B1KHZteF9waV9ibG9ja2luZywgY3B1KS5s aXN0OworCisgICAgaWYgKCAhaW9tbXVfaW50cG9zdCApCisgICAgICAgIHJldHVybjsKKworICAg IC8qCisgICAgICogV2UgYXJlIGluIHRoZSBjb250ZXh0IG9mIENQVV9ERUFEIG9yIENQVV9VUF9D QU5DRUxFRCBub3RpZmljYXRpb24sCisgICAgICogYW5kIGl0IGlzIGltcG9zc2libGUgZm9yIGEg c2Vjb25kIENQVSBnbyBkb3duIGluIHBhcmFsbGVsLiBTbyB3ZQorICAgICAqIGNhbiBzYWZlbHkg YWNxdWlyZSB0aGUgb2xkIGNwdSdzIGxvY2sgYW5kIHRoZW4gYWNxdWlyZSB0aGUgbmV3X2NwdSdz CisgICAgICogbG9jayBhZnRlciB0aGF0LgorICAgICAqLworICAgIHNwaW5fbG9ja19pcnFzYXZl KG9sZF9sb2NrLCBmbGFncyk7CisKKyAgICBsaXN0X2Zvcl9lYWNoX2VudHJ5X3NhZmUodm14LCB0 bXAsIGJsb2NrZWRfdmNwdXMsIHBpX2Jsb2NraW5nLmxpc3QpCisgICAgeworICAgICAgICAvKgor ICAgICAgICAgKiBTdXBwcmVzcyBub3RpZmljYXRpb24gb3Igd2UgbWF5IG1pc3MgYW4gaW50ZXJy dXB0IHdoZW4gdGhlCisgICAgICAgICAqIHRhcmdldCBjcHUgaXMgZHlpbmcuCisgICAgICAgICAq LworICAgICAgICBwaV9zZXRfc24oJnZteC0+cGlfZGVzYyk7CisKKyAgICAgICAgLyoKKyAgICAg ICAgICogQ2hlY2sgd2hldGhlciBhIG5vdGlmaWNhdGlvbiBpcyBwZW5kaW5nIGJlZm9yZSBkb2lu ZyB0aGUKKyAgICAgICAgICogbW92ZW1lbnQsIGlmIHRoYXQgaXMgdGhlIGNhc2Ugd2UgbmVlZCB0 byB3YWtlIHVwIGl0IGRpcmVjdGx5CisgICAgICAgICAqIG90aGVyIHRoYW4gbW92aW5nIGl0IHRv IHRoZSBuZXcgY3B1J3MgbGlzdC4KKyAgICAgICAgICovCisgICAgICAgIGlmICggcGlfdGVzdF9v bigmdm14LT5waV9kZXNjKSApCisgICAgICAgIHsKKyAgICAgICAgICAgIGxpc3RfZGVsKCZ2bXgt PnBpX2Jsb2NraW5nLmxpc3QpOworICAgICAgICAgICAgdm14LT5waV9ibG9ja2luZy5sb2NrID0g TlVMTDsKKyAgICAgICAgICAgIHZjcHVfdW5ibG9jayhjb250YWluZXJfb2Yodm14LCBzdHJ1Y3Qg dmNwdSwgYXJjaC5odm1fdm14KSk7CisgICAgICAgIH0KKyAgICAgICAgZWxzZQorICAgICAgICB7 CisgICAgICAgICAgICAvKgorICAgICAgICAgICAgICogV2UgbmVlZCB0byBmaW5kIGFuIG9ubGlu ZSBjcHUgYXMgdGhlIE5EU1Qgb2YgdGhlIFBJIGRlc2NyaXB0b3IsIGl0CisgICAgICAgICAgICAg KiBkb2Vzbid0IG1hdHRlciB3aGV0aGVyIGl0IGlzIHdpdGhpbiB0aGUgY3B1cG9vbCBvZiB0aGUg ZG9tYWluIG9yCisgICAgICAgICAgICAgKiBub3QuIEFzIGxvbmcgYXMgaXQgaXMgb25saW5lLCB0 aGUgdkNQVSB3aWxsIGJlIHdva2VuIHVwIG9uY2UgdGhlCisgICAgICAgICAgICAgKiBub3RpZmlj YXRpb24gZXZlbnQgYXJyaXZlcy4KKyAgICAgICAgICAgICAqLworICAgICAgICAgICAgbmV3X2Nw dSA9IGNwdW1hc2tfYW55KCZjcHVfb25saW5lX21hcCk7CisgICAgICAgICAgICBuZXdfbG9jayA9 ICZwZXJfY3B1KHZteF9waV9ibG9ja2luZywgbmV3X2NwdSkubG9jazsKKworICAgICAgICAgICAg c3Bpbl9sb2NrKG5ld19sb2NrKTsKKworICAgICAgICAgICAgQVNTRVJUKHZteC0+cGlfYmxvY2tp bmcubG9jayA9PSBvbGRfbG9jayk7CisKKyAgICAgICAgICAgIGRlc3QgPSBjcHVfcGh5c2ljYWxf aWQobmV3X2NwdSk7CisgICAgICAgICAgICB3cml0ZV9hdG9taWMoJnZteC0+cGlfZGVzYy5uZHN0 LAorICAgICAgICAgICAgICAgICAgICAgICAgIHgyYXBpY19lbmFibGVkID8gZGVzdCA6IE1BU0tf SU5TUihkZXN0LCBQSV94QVBJQ19ORFNUX01BU0spKTsKKworICAgICAgICAgICAgbGlzdF9tb3Zl KCZ2bXgtPnBpX2Jsb2NraW5nLmxpc3QsCisgICAgICAgICAgICAgICAgICAgICAgJnBlcl9jcHUo dm14X3BpX2Jsb2NraW5nLCBuZXdfY3B1KS5saXN0KTsKKyAgICAgICAgICAgIHZteC0+cGlfYmxv Y2tpbmcubG9jayA9IG5ld19sb2NrOworCisgICAgICAgICAgICBzcGluX3VubG9jayhuZXdfbG9j ayk7CisgICAgICAgIH0KKworICAgICAgICBwaV9jbGVhcl9zbigmdm14LT5waV9kZXNjKTsKKyAg ICB9CisKKyAgICBzcGluX3VubG9ja19pcnFyZXN0b3JlKG9sZF9sb2NrLCBmbGFncyk7Cit9CisK IC8qCiAgKiBUbyBoYW5kbGUgcG9zdGVkIGludGVycnVwdHMgY29ycmVjdGx5LCB3ZSBuZWVkIHRv IHNldCB0aGUgZm9sbG93aW5nCiAgKiBzdGF0ZToKZGlmZiAtLWdpdCBhL3hlbi9pbmNsdWRlL2Fz bS14ODYvaHZtL3ZteC92bXguaCBiL3hlbi9pbmNsdWRlL2FzbS14ODYvaHZtL3ZteC92bXguaApp bmRleCAyYjc4MWFiLi41ZWFkNTdjIDEwMDY0NAotLS0gYS94ZW4vaW5jbHVkZS9hc20teDg2L2h2 bS92bXgvdm14LmgKKysrIGIveGVuL2luY2x1ZGUvYXNtLXg4Ni9odm0vdm14L3ZteC5oCkBAIC01 OTcsNiArNTk3LDcgQEAgdm9pZCBmcmVlX3AybV9oYXBfZGF0YShzdHJ1Y3QgcDJtX2RvbWFpbiAq cDJtKTsKIHZvaWQgcDJtX2luaXRfaGFwX2RhdGEoc3RydWN0IHAybV9kb21haW4gKnAybSk7CiAK IHZvaWQgdm14X3BpX3Blcl9jcHVfaW5pdCh1bnNpZ25lZCBpbnQgY3B1KTsKK3ZvaWQgdm14X3Bp X2Rlc2NfZml4dXAodW5zaWduZWQgaW50IGNwdSk7CiAKIHZvaWQgdm14X3BpX2hvb2tzX2Fzc2ln bihzdHJ1Y3QgZG9tYWluICpkKTsKIHZvaWQgdm14X3BpX2hvb2tzX2RlYXNzaWduKHN0cnVjdCBk b21haW4gKmQpOwotLSAKMS44LjMuMQoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fClhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhl bi5vcmcKaHR0cHM6Ly9saXN0cy54ZW4ub3JnL3hlbi1kZXZlbAo=