From mboxrd@z Thu Jan 1 00:00:00 1970 From: Chao Gao Subject: [PATCH v9 4/8] VMX: Make sure PI is in proper state before install the hooks Date: Mon, 27 Feb 2017 09:45:45 +0800 Message-ID: <1488159949-15011-5-git-send-email-chao.gao@intel.com> References: <1488159949-15011-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: <1488159949-15011-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+CgpXZSBtYXkgaGl0IHRoZSBsYXN0IEFT U0VSVCgpIGluIHZteF92Y3B1X2Jsb2NrIGluIHRoZSBjdXJyZW50IGNvZGUsCnNpbmNlIHZteF92 Y3B1X2Jsb2NrKCkgbWF5IGdldCBjYWxsZWQgYmVmb3JlIHZteF9waV9zd2l0Y2hfdG8oKQpoYXMg YmVlbiBpbnN0YWxsZWQgb3IgZXhlY3V0ZWQuIEhlcmUgV2UgdXNlIGNtcHhjaGcgdG8gdXBkYXRl CnRoZSBORFNUIGZpZWxkLCB0aGlzIGNhbiBtYWtlIHN1cmUgd2Ugb25seSB1cGRhdGUgdGhlIE5E U1Qgd2hlbgp2bXhfcGlfc3dpdGNoX3RvKCkgaGFzIG5vdCBiZWVuIGNhbGxlZC4gU28gdGhlIE5E U1QgaXMgaW4gYQpwcm9wZXIgc3RhdGUgaW4gdm14X3ZjcHVfYmxvY2soKS4KClN1Z2dlc3RlZC1i eTogSmFuIEJldWxpY2ggPEpCZXVsaWNoQHN1c2UuY29tPgpTaWduZWQtb2ZmLWJ5OiBGZW5nIFd1 IDxmZW5nLnd1QGludGVsLmNvbT4KU2lnbmVkLW9mZi1ieTogQ2hhbyBHYW8gPGNoYW8uZ2FvQGlu dGVsLmNvbT4KUmV2aWV3ZWQtYnk6IEphbiBCZXVsaWNoIDxqYmV1bGljaEBzdXNlLmNvbT4KQWNr ZWQtYnk6IEtldmluIFRpYW4gPGtldmluLnRpYW5AaW50ZWwuY29tPgotLS0KdjY6IAotIENvbW1l bnRzIGNoYW5nZXMgCi0gRGVmaW5lIG1hY3JvICdBUElDX0lOVkFMSURfREVTVCcgZm9yICcweGZm ZmZmZmZmJyAKCnY1OiAKLSBVc2UgMHhmZmZmZmZmZiBhcyB0aGUgaW52YWxpZCB2YWx1ZSBmb3Ig TkRTVCBmaWVsZC4gCgp2NDogCi0gVGhpcyBwYXRjaCBpcyBwcmV2aW91c2x5IGNhbGxlZCAiUGF1 c2UvVW5wYXVzZSB0aGUgZG9tYWluIGJlZm9yZS9hZnRlcgphc3NpZ25pbmcgUEkgaG9va3MiIAot IFJlbW92ZSB0aGUgcGF1c2UvdW5wYXVzZSBtZXRob2QgCi0gVXNlIGNtcHhjaGcgdG8gdXBkYXRl IE5EU1QgCgogeGVuL2FyY2gveDg2L2h2bS92bXgvdm1jcy5jICAgICAgIHwgMTMgKysrKystLS0t LS0tLQogeGVuL2FyY2gveDg2L2h2bS92bXgvdm14LmMgICAgICAgIHwgMjcgKysrKysrKysrKysr KysrKysrKysrKysrKystCiB4ZW4vaW5jbHVkZS9hc20teDg2L2h2bS92bXgvdm14LmggfCAgMiAr KwogMyBmaWxlcyBjaGFuZ2VkLCAzMyBpbnNlcnRpb25zKCspLCA5IGRlbGV0aW9ucygtKQoKZGlm ZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni9odm0vdm14L3ZtY3MuYyBiL3hlbi9hcmNoL3g4Ni9odm0v dm14L3ZtY3MuYwppbmRleCAwYjc3ZGJjLi43OTA1ZDNlIDEwMDY0NAotLS0gYS94ZW4vYXJjaC94 ODYvaHZtL3ZteC92bWNzLmMKKysrIGIveGVuL2FyY2gveDg2L2h2bS92bXgvdm1jcy5jCkBAIC05 NTYsMTYgKzk1NiwxMyBAQCB2b2lkIHZpcnR1YWxfdm1jc192bXdyaXRlKGNvbnN0IHN0cnVjdCB2 Y3B1ICp2LCB1MzIgdm1jc19lbmNvZGluZywgdTY0IHZhbCkKICAqLwogc3RhdGljIHZvaWQgcGlf ZGVzY19pbml0KHN0cnVjdCB2Y3B1ICp2KQogewotICAgIHVpbnQzMl90IGRlc3Q7Ci0KICAgICB2 LT5hcmNoLmh2bV92bXgucGlfZGVzYy5udiA9IHBvc3RlZF9pbnRyX3ZlY3RvcjsKIAotICAgIGRl c3QgPSBjcHVfcGh5c2ljYWxfaWQodi0+cHJvY2Vzc29yKTsKLQotICAgIGlmICggeDJhcGljX2Vu YWJsZWQgKQotICAgICAgICB2LT5hcmNoLmh2bV92bXgucGlfZGVzYy5uZHN0ID0gZGVzdDsKLSAg ICBlbHNlCi0gICAgICAgIHYtPmFyY2guaHZtX3ZteC5waV9kZXNjLm5kc3QgPSBNQVNLX0lOU1Io ZGVzdCwgUElfeEFQSUNfTkRTVF9NQVNLKTsKKyAgICAvKgorICAgICAqIE1hcmsgTkRTVCBhcyBp bnZhbGlkLCB0aGVuIHdlIGNhbiB1c2UgdGhpcyBpbnZhbGlkIHZhbHVlIGFzIGEKKyAgICAgKiBt YXJrZXIgdG8gd2hldGhlciB1cGRhdGUgTkRTVCBvciBub3QgaW4gdm14X3BpX2hvb2tzX2Fzc2ln bigpLgorICAgICAqLworICAgIHYtPmFyY2guaHZtX3ZteC5waV9kZXNjLm5kc3QgPSBBUElDX0lO VkFMSURfREVTVDsKIH0KIAogc3RhdGljIGludCBjb25zdHJ1Y3Rfdm1jcyhzdHJ1Y3QgdmNwdSAq dikKZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni9odm0vdm14L3ZteC5jIGIveGVuL2FyY2gveDg2 L2h2bS92bXgvdm14LmMKaW5kZXggYTdhNzBlNy4uZTAzNzg2YiAxMDA2NDQKLS0tIGEveGVuL2Fy Y2gveDg2L2h2bS92bXgvdm14LmMKKysrIGIveGVuL2FyY2gveDg2L2h2bS92bXgvdm14LmMKQEAg LTI0NiwxNCArMjQ2LDM5IEBAIHN0YXRpYyB2b2lkIHZteF9waV9kb19yZXN1bWUoc3RydWN0IHZj cHUgKnYpCiAvKiBUaGlzIGZ1bmN0aW9uIGlzIGNhbGxlZCB3aGVuIHBjaWRldnNfbG9jayBpcyBo ZWxkICovCiB2b2lkIHZteF9waV9ob29rc19hc3NpZ24oc3RydWN0IGRvbWFpbiAqZCkKIHsKKyAg ICBzdHJ1Y3QgdmNwdSAqdjsKKwogICAgIGlmICggIWlvbW11X2ludHBvc3QgfHwgIWhhc19odm1f Y29udGFpbmVyX2RvbWFpbihkKSApCiAgICAgICAgIHJldHVybjsKIAogICAgIEFTU0VSVCghZC0+ YXJjaC5odm1fZG9tYWluLnBpX29wcy52Y3B1X2Jsb2NrKTsKIAotICAgIGQtPmFyY2guaHZtX2Rv bWFpbi5waV9vcHMudmNwdV9ibG9jayA9IHZteF92Y3B1X2Jsb2NrOworICAgIC8qCisgICAgICog V2UgY2FyZWZ1bGx5IGhhbmRsZSB0aGUgdGltaW5nIGhlcmU6CisgICAgICogLSBJbnN0YWxsIHRo ZSBjb250ZXh0IHN3aXRjaCBmaXJzdAorICAgICAqIC0gVGhlbiBzZXQgdGhlIE5EU1QgZmllbGQK KyAgICAgKiAtIEluc3RhbGwgdGhlIGJsb2NrIGFuZCByZXN1bWUgaG9va3MgaW4gdGhlIGVuZAor ICAgICAqCisgICAgICogVGhpcyBjYW4gbWFrZSBzdXJlIHRoZSBQSSAoZXNwZWNpYWxseSB0aGUg TkRTVCBmZWlsZCkgaXMKKyAgICAgKiBpbiBwcm9wZXIgc3RhdGUgd2hlbiB3ZSBjYWxsIHZteF92 Y3B1X2Jsb2NrKCkuCisgICAgICovCiAgICAgZC0+YXJjaC5odm1fZG9tYWluLnBpX29wcy5zd2l0 Y2hfZnJvbSA9IHZteF9waV9zd2l0Y2hfZnJvbTsKICAgICBkLT5hcmNoLmh2bV9kb21haW4ucGlf b3BzLnN3aXRjaF90byA9IHZteF9waV9zd2l0Y2hfdG87CisKKyAgICBmb3JfZWFjaF92Y3B1ICgg ZCwgdiApCisgICAgeworICAgICAgICB1bnNpZ25lZCBpbnQgZGVzdCA9IGNwdV9waHlzaWNhbF9p ZCh2LT5wcm9jZXNzb3IpOworICAgICAgICBzdHJ1Y3QgcGlfZGVzYyAqcGlfZGVzYyA9ICZ2LT5h cmNoLmh2bV92bXgucGlfZGVzYzsKKworICAgICAgICAvKgorICAgICAgICAgKiBXZSBkb24ndCBu ZWVkIHRvIHVwZGF0ZSBORFNUIGlmIHZteF9waV9zd2l0Y2hfdG8oKQorICAgICAgICAgKiBoYXMg YWxyZWFkeSBnb3QgY2FsbGVkLgorICAgICAgICAgKi8KKyAgICAgICAgKHZvaWQpY21weGNoZygm cGlfZGVzYy0+bmRzdCwgQVBJQ19JTlZBTElEX0RFU1QsCisgICAgICAgICAgICAgICAgeDJhcGlj X2VuYWJsZWQgPyBkZXN0IDogTUFTS19JTlNSKGRlc3QsIFBJX3hBUElDX05EU1RfTUFTSykpOwor ICAgIH0KKworICAgIGQtPmFyY2guaHZtX2RvbWFpbi5waV9vcHMudmNwdV9ibG9jayA9IHZteF92 Y3B1X2Jsb2NrOwogICAgIGQtPmFyY2guaHZtX2RvbWFpbi5waV9vcHMuZG9fcmVzdW1lID0gdm14 X3BpX2RvX3Jlc3VtZTsKIH0KIApkaWZmIC0tZ2l0IGEveGVuL2luY2x1ZGUvYXNtLXg4Ni9odm0v dm14L3ZteC5oIGIveGVuL2luY2x1ZGUvYXNtLXg4Ni9odm0vdm14L3ZteC5oCmluZGV4IGY0MTgz ZDkuLjAwZTZmMGQgMTAwNjQ0Ci0tLSBhL3hlbi9pbmNsdWRlL2FzbS14ODYvaHZtL3ZteC92bXgu aAorKysgYi94ZW4vaW5jbHVkZS9hc20teDg2L2h2bS92bXgvdm14LmgKQEAgLTYwMSw2ICs2MDEs OCBAQCB2b2lkIHZteF9waV9wZXJfY3B1X2luaXQodW5zaWduZWQgaW50IGNwdSk7CiB2b2lkIHZt eF9waV9ob29rc19hc3NpZ24oc3RydWN0IGRvbWFpbiAqZCk7CiB2b2lkIHZteF9waV9ob29rc19k ZWFzc2lnbihzdHJ1Y3QgZG9tYWluICpkKTsKIAorI2RlZmluZSBBUElDX0lOVkFMSURfREVTVCAg ICAgICAgICAgMHhmZmZmZmZmZgorCiAvKiBFUFQgdmlvbGF0aW9uIHF1YWxpZmljYXRpb25zIGRl ZmluaXRpb25zICovCiB0eXBlZGVmIHVuaW9uIGVwdF9xdWFsIHsKICAgICB1bnNpZ25lZCBsb25n IHJhdzsKLS0gCjEuOC4zLjEKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fXwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54ZW4ub3Jn Cmh0dHBzOi8vbGlzdHMueGVuLm9yZy94ZW4tZGV2ZWwK