From mboxrd@z Thu Jan 1 00:00:00 1970 From: Feng Wu Subject: [PATCH v6 7/7] VMX: Fixup PI descriptor when cpu is offline Date: Fri, 28 Oct 2016 10:37:39 +0800 Message-ID: <1477622259-3476-8-git-send-email-feng.wu@intel.com> References: <1477622259-3476-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: <1477622259-3476-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 aXQuCgpTaWduZWQtb2ZmLWJ5OiBGZW5nIFd1IDxmZW5nLnd1QGludGVsLmNvbT4KLS0tCnY2Ogot IENhcmVmdWxseSBzdXBwcmVzcyAnU04nIHRvIGF2b2lkIG1pc3Npbmcgbm90aWZpY2F0aW9uIGV2 ZW50CmR1cmluZyBtb3ZpbmcgdGhlIHZjcHUgdG8gdGhlIG5ldyBsaXN0Cgp2NToKLSBBZGQgc29t ZSBjb21tZW50cyB0byBleHBsYWluIHdoeSBpdCBkb2Vzbid0IGNhdXNlIGRlYWRsb2NrCmZvciB0 aGUgQUJCQSBkZWFkbG9jayBzY2VuYXJpby4KCnY0OgotIFJlbW92ZSB0aGUgcG9pbnRsZXNzIGNo ZWNrIHNpbmNlIHdlIGFyZSBpbiBtYWNoaW5lIHN0b3AKY29udGV4dCBhbmQgbm8gb3RoZXIgY3B1 cyBnbyBkb3duIGluIHBhcmFsbGVsLgoKIHhlbi9hcmNoL3g4Ni9odm0vdm14L3ZtY3MuYyAgICAg ICB8ICAxICsKIHhlbi9hcmNoL3g4Ni9odm0vdm14L3ZteC5jICAgICAgICB8IDcwICsrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwogeGVuL2luY2x1ZGUvYXNtLXg4Ni9odm0v dm14L3ZteC5oIHwgIDEgKwogMyBmaWxlcyBjaGFuZ2VkLCA3MiBpbnNlcnRpb25zKCspCgpkaWZm IC0tZ2l0IGEveGVuL2FyY2gveDg2L2h2bS92bXgvdm1jcy5jIGIveGVuL2FyY2gveDg2L2h2bS92 bXgvdm1jcy5jCmluZGV4IGU4ZTM2MTYuLjE4NDZlMjUgMTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL3g4 Ni9odm0vdm14L3ZtY3MuYworKysgYi94ZW4vYXJjaC94ODYvaHZtL3ZteC92bWNzLmMKQEAgLTU3 OCw2ICs1NzgsNyBAQCB2b2lkIHZteF9jcHVfZGVhZCh1bnNpZ25lZCBpbnQgY3B1KQogICAgIHZt eF9mcmVlX3ZtY3MocGVyX2NwdSh2bXhvbl9yZWdpb24sIGNwdSkpOwogICAgIHBlcl9jcHUodm14 b25fcmVnaW9uLCBjcHUpID0gMDsKICAgICBudm14X2NwdV9kZWFkKGNwdSk7CisgICAgdm14X3Bp X2Rlc2NfZml4dXAoY3B1KTsKIH0KIAogaW50IHZteF9jcHVfdXAodm9pZCkKZGlmZiAtLWdpdCBh L3hlbi9hcmNoL3g4Ni9odm0vdm14L3ZteC5jIGIveGVuL2FyY2gveDg2L2h2bS92bXgvdm14LmMK aW5kZXggNTg2OTRjZS4uYTFkYzVmYSAxMDA2NDQKLS0tIGEveGVuL2FyY2gveDg2L2h2bS92bXgv dm14LmMKKysrIGIveGVuL2FyY2gveDg2L2h2bS92bXgvdm14LmMKQEAgLTIwMyw2ICsyMDMsNzYg QEAgc3RhdGljIHZvaWQgdm14X3BpX2RvX3Jlc3VtZShzdHJ1Y3QgdmNwdSAqdikKICAgICB2bXhf cGlfdW5ibG9ja192Y3B1KHYpOwogfQogCit2b2lkIHZteF9waV9kZXNjX2ZpeHVwKGludCBjcHUp Cit7CisgICAgdW5zaWduZWQgaW50IG5ld19jcHUsIGRlc3Q7CisgICAgdW5zaWduZWQgbG9uZyBm bGFnczsKKyAgICBzdHJ1Y3QgYXJjaF92bXhfc3RydWN0ICp2bXgsICp0bXA7CisgICAgc3Bpbmxv Y2tfdCAqbmV3X2xvY2ssICpvbGRfbG9jayA9ICZwZXJfY3B1KHZteF9waV9ibG9ja2luZywgY3B1 KS5sb2NrOworICAgIHN0cnVjdCBsaXN0X2hlYWQgKmJsb2NrZWRfdmNwdXMgPSAmcGVyX2NwdSh2 bXhfcGlfYmxvY2tpbmcsIGNwdSkubGlzdDsKKworICAgIGlmICggIWlvbW11X2ludHBvc3QgKQor ICAgICAgICByZXR1cm47CisKKyAgICAvKgorICAgICAqIFdlIGFyZSBpbiB0aGUgY29udGV4dCBv ZiBDUFVfREVBRCBvciBDUFVfVVBfQ0FOQ0VMRUQgbm90aWZpY2F0aW9uLAorICAgICAqIGFuZCBp dCBpcyBpbXBvc3NpYmxlIGZvciBhIHNlY29uZCBDUFUgZ28gZG93biBpbiBwYXJhbGxlbC4gU28g d2UKKyAgICAgKiBjYW4gc2FmZWx5IGFjcXVpcmUgdGhlIG9sZCBjcHUncyBsb2NrIGFuZCB0aGVu IGFjcXVpcmUgdGhlIG5ld19jcHUncworICAgICAqIGxvY2sgYWZ0ZXIgdGhhdC4KKyAgICAgKi8K KyAgICBzcGluX2xvY2tfaXJxc2F2ZShvbGRfbG9jaywgZmxhZ3MpOworCisgICAgbGlzdF9mb3Jf ZWFjaF9lbnRyeV9zYWZlKHZteCwgdG1wLCBibG9ja2VkX3ZjcHVzLCBwaV9ibG9ja2luZy5saXN0 KQorICAgIHsKKyAgICAgICAgLyoKKyAgICAgICAgICogU3VwcHJlc3Mgbm90aWZpY2F0aW9uIG9y IHdlIG1heSBtaXNzIGFuIGludGVycnVwdCB3aGVuIHRoZQorICAgICAgICAgKiB0YXJnZXQgY3B1 IGlzIGR5aW5nLgorICAgICAgICAgKi8KKyAgICAgICAgcGlfc2V0X3NuKCZ2bXgtPnBpX2Rlc2Mp OworCisgICAgICAgIC8qCisgICAgICAgICAqIENoZWNrIHdoZXRoZXIgYSBub3RpZmljYXRpb24g aXMgcGVuZGluZyBiZWZvcmUgZG9pbmcgdGhlCisgICAgICAgICAqIG1vdmVtZW50LCBpZiB0aGF0 IGlzIHRoZSBjYXNlIHdlIG5lZWQgdG8gd2FrZSB1cCBpdCBkaXJlY3RseQorICAgICAgICAgKiBv dGhlciB0aGFuIG1vdmluZyBpdCB0byB0aGUgbmV3IGNwdSdzIGxpc3QuCisgICAgICAgICAqLwor ICAgICAgICBpZiAoIHBpX3Rlc3Rfb24oJnZteC0+cGlfZGVzYykgKQorICAgICAgICB7CisgICAg ICAgICAgICBsaXN0X2RlbCgmdm14LT5waV9ibG9ja2luZy5saXN0KTsKKyAgICAgICAgICAgIHZt eC0+cGlfYmxvY2tpbmcubG9jayA9IE5VTEw7CisgICAgICAgICAgICB2Y3B1X3VuYmxvY2soY29u dGFpbmVyX29mKHZteCwgc3RydWN0IHZjcHUsIGFyY2guaHZtX3ZteCkpOworICAgICAgICB9Cisg ICAgICAgIGVsc2UKKyAgICAgICAgeworICAgICAgICAgICAgLyoKKyAgICAgICAgICAgICAqIFdl IG5lZWQgdG8gZmluZCBhbiBvbmxpbmUgY3B1IGFzIHRoZSBORFNUIG9mIHRoZSBQSSBkZXNjcmlw dG9yLCBpdAorICAgICAgICAgICAgICogZG9lc24ndCBtYXR0ZXIgd2hldGhlciBpdCBpcyB3aXRo aW4gdGhlIGNwdXBvb2wgb2YgdGhlIGRvbWFpbiBvcgorICAgICAgICAgICAgICogbm90LiBBcyBs b25nIGFzIGl0IGlzIG9ubGluZSwgdGhlIHZDUFUgd2lsbCBiZSB3b2tlbiB1cCBvbmNlIHRoZQor ICAgICAgICAgICAgICogbm90aWZpY2F0aW9uIGV2ZW50IGFycml2ZXMuCisgICAgICAgICAgICAg Ki8KKyAgICAgICAgICAgIG5ld19jcHUgPSBjcHVtYXNrX2FueSgmY3B1X29ubGluZV9tYXApOwor ICAgICAgICAgICAgbmV3X2xvY2sgPSAmcGVyX2NwdSh2bXhfcGlfYmxvY2tpbmcsIG5ld19jcHUp LmxvY2s7CisKKyAgICAgICAgICAgIHNwaW5fbG9jayhuZXdfbG9jayk7CisKKyAgICAgICAgICAg IEFTU0VSVCh2bXgtPnBpX2Jsb2NraW5nLmxvY2sgPT0gb2xkX2xvY2spOworCisgICAgICAgICAg ICBkZXN0ID0gY3B1X3BoeXNpY2FsX2lkKG5ld19jcHUpOworICAgICAgICAgICAgd3JpdGVfYXRv bWljKCZ2bXgtPnBpX2Rlc2MubmRzdCwKKyAgICAgICAgICAgICAgICAgICAgICAgICB4MmFwaWNf ZW5hYmxlZCA/IGRlc3QgOiBNQVNLX0lOU1IoZGVzdCwgUElfeEFQSUNfTkRTVF9NQVNLKSk7CisK KyAgICAgICAgICAgIGxpc3RfbW92ZSgmdm14LT5waV9ibG9ja2luZy5saXN0LAorICAgICAgICAg ICAgICAgICAgICAgICZwZXJfY3B1KHZteF9waV9ibG9ja2luZywgbmV3X2NwdSkubGlzdCk7Cisg ICAgICAgICAgICB2bXgtPnBpX2Jsb2NraW5nLmxvY2sgPSBuZXdfbG9jazsKKworICAgICAgICAg ICAgc3Bpbl91bmxvY2sobmV3X2xvY2spOworICAgICAgICB9CisKKyAgICAgICAgcGlfY2xlYXJf c24oJnZteC0+cGlfZGVzYyk7CisgICAgfQorCisgICAgc3Bpbl91bmxvY2tfaXJxcmVzdG9yZShv bGRfbG9jaywgZmxhZ3MpOworfQorCiAvKiBUaGlzIGZ1bmN0aW9uIGlzIGNhbGxlZCB3aGVuIHBj aWRldnNfbG9jayBpcyBoZWxkICovCiB2b2lkIHZteF9waV9ob29rc19hc3NpZ24oc3RydWN0IGRv bWFpbiAqZCkKIHsKZGlmZiAtLWdpdCBhL3hlbi9pbmNsdWRlL2FzbS14ODYvaHZtL3ZteC92bXgu aCBiL3hlbi9pbmNsdWRlL2FzbS14ODYvaHZtL3ZteC92bXguaAppbmRleCAyZjA0MzVjLi43YWVk MDFkIDEwMDY0NAotLS0gYS94ZW4vaW5jbHVkZS9hc20teDg2L2h2bS92bXgvdm14LmgKKysrIGIv eGVuL2luY2x1ZGUvYXNtLXg4Ni9odm0vdm14L3ZteC5oCkBAIC01NjksNiArNTY5LDcgQEAgdm9p ZCBmcmVlX3AybV9oYXBfZGF0YShzdHJ1Y3QgcDJtX2RvbWFpbiAqcDJtKTsKIHZvaWQgcDJtX2lu aXRfaGFwX2RhdGEoc3RydWN0IHAybV9kb21haW4gKnAybSk7CiAKIHZvaWQgdm14X3BpX3Blcl9j cHVfaW5pdCh1bnNpZ25lZCBpbnQgY3B1KTsKK3ZvaWQgdm14X3BpX2Rlc2NfZml4dXAoaW50IGNw dSk7CiAKIHZvaWQgdm14X3BpX2hvb2tzX2Fzc2lnbihzdHJ1Y3QgZG9tYWluICpkKTsKIHZvaWQg dm14X3BpX2hvb2tzX2RlYXNzaWduKHN0cnVjdCBkb21haW4gKmQpOwotLSAKMi4xLjAKCgpfX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpYZW4tZGV2ZWwgbWFp bGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54ZW4ub3JnCmh0dHBzOi8vbGlzdHMueGVuLm9yZy94 ZW4tZGV2ZWwK