From mboxrd@z Thu Jan 1 00:00:00 1970 From: Sergey Dyasli Subject: [PATCH v3 2/9] x86/np2m: flush all np2m objects on nested INVEPT Date: Tue, 3 Oct 2017 16:20:57 +0100 Message-ID: <20171003152104.1432-3-sergey.dyasli@citrix.com> References: <20171003152104.1432-1-sergey.dyasli@citrix.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20171003152104.1432-1-sergey.dyasli@citrix.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: Sergey Dyasli , Kevin Tian , Jun Nakajima , George Dunlap , Andrew Cooper , Tim Deegan , George Dunlap , Jan Beulich , Boris Ostrovsky , Suravee Suthikulpanit List-Id: xen-devel@lists.xenproject.org QXQgdGhlIG1vbWVudCwgbnZteF9oYW5kbGVfaW52ZXB0KCkgdXBkYXRlcyB0aGUgY3VycmVudCBu cDJtIGp1c3QgdG8KZmx1c2ggaXQuICBJbnN0ZWFkIGludHJvZHVjZSBhIGZ1bmN0aW9uLCBucDJt X2ZsdXNoX2Jhc2UoKSwgd2hpY2ggd2lsbApsb29rIHVwIHRoZSBucDJtIGJhc2UgcG9pbnRlciBh bmQgY2FsbCBwMm1fZmx1c2hfdGFibGUoKSBpbnN0ZWFkLgoKVW5mb3J0dW5hdGVseSwgc2luY2Ug d2UgZG9uJ3Qga25vdyB3aGljaCBwMm0gYSBnaXZlbiB2Y3B1IGlzIHVzaW5nLCB3ZQptdXN0IGZs dXNoIGFsbCBwMm1zIHRoYXQgc2hhcmUgdGhhdCBiYXNlIHBvaW50ZXIuCgpDb252ZXJ0IHAybV9m bHVzaF90YWJsZSgpIGludG8gcDJtX2ZsdXNoX3RhYmxlX2xvY2tlZCgpIGluIG9yZGVyIG5vdAp0 byByZWxlYXNlIHRoZSBwMm1fbG9jayBhZnRlciBucDJtX2Jhc2UgY2hlY2suCgpTaWduZWQtb2Zm LWJ5OiBTZXJnZXkgRHlhc2xpIDxzZXJnZXkuZHlhc2xpQGNpdHJpeC5jb20+ClNpZ25lZC1vZmYt Ynk6IEdlb3JnZSBEdW5sYXAgPGdlb3JnZS5kdW5sYXBAY2l0cml4LmNvbT4KLS0tCnYyIC0tPiB2 MzoKLSBDb21taXQgbWVzc2FnZSB1cGRhdGUKLS0tCiB4ZW4vYXJjaC94ODYvaHZtL3ZteC92dm14 LmMgfCAgNyArLS0tLS0tCiB4ZW4vYXJjaC94ODYvbW0vcDJtLmMgICAgICAgfCAzNSArKysrKysr KysrKysrKysrKysrKysrKysrKysrKy0tLS0tLQogeGVuL2luY2x1ZGUvYXNtLXg4Ni9wMm0uaCAg IHwgIDIgKysKIDMgZmlsZXMgY2hhbmdlZCwgMzIgaW5zZXJ0aW9ucygrKSwgMTIgZGVsZXRpb25z KC0pCgpkaWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2L2h2bS92bXgvdnZteC5jIGIveGVuL2FyY2gv eDg2L2h2bS92bXgvdnZteC5jCmluZGV4IGNkMGVlMGEzMDcuLmQzMzNhYTZkNzggMTAwNjQ0Ci0t LSBhL3hlbi9hcmNoL3g4Ni9odm0vdm14L3Z2bXguYworKysgYi94ZW4vYXJjaC94ODYvaHZtL3Zt eC92dm14LmMKQEAgLTE5MTAsMTIgKzE5MTAsNyBAQCBpbnQgbnZteF9oYW5kbGVfaW52ZXB0KHN0 cnVjdCBjcHVfdXNlcl9yZWdzICpyZWdzKQogICAgIHsKICAgICBjYXNlIElOVkVQVF9TSU5HTEVf Q09OVEVYVDoKICAgICB7Ci0gICAgICAgIHN0cnVjdCBwMm1fZG9tYWluICpwMm0gPSBwMm1fZ2V0 X25lc3RlZHAybShjdXJyZW50LCBlcHRwKTsKLSAgICAgICAgaWYgKCBwMm0gKQotICAgICAgICB7 Ci0gICAgICAgICAgICBwMm1fZmx1c2goY3VycmVudCwgcDJtKTsKLSAgICAgICAgICAgIGVwdF9z eW5jX2RvbWFpbihwMm0pOwotICAgICAgICB9CisgICAgICAgIG5wMm1fZmx1c2hfYmFzZShjdXJy ZW50LCBlcHRwKTsKICAgICAgICAgYnJlYWs7CiAgICAgfQogICAgIGNhc2UgSU5WRVBUX0FMTF9D T05URVhUOgpkaWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2L21tL3AybS5jIGIveGVuL2FyY2gveDg2 L21tL3AybS5jCmluZGV4IDI3YjkwZWI4MTUuLmI3NTg4YjJlYzEgMTAwNjQ0Ci0tLSBhL3hlbi9h cmNoL3g4Ni9tbS9wMm0uYworKysgYi94ZW4vYXJjaC94ODYvbW0vcDJtLmMKQEAgLTE3MTEsMTUg KzE3MTEsMTQgQEAgcDJtX2dldGxydV9uZXN0ZWRwMm0oc3RydWN0IGRvbWFpbiAqZCwgc3RydWN0 IHAybV9kb21haW4gKnAybSkKICAgICByZXR1cm4gcDJtOwogfQogCi0vKiBSZXNldCB0aGlzIHAy bSB0YWJsZSB0byBiZSBlbXB0eSAqLwogc3RhdGljIHZvaWQKLXAybV9mbHVzaF90YWJsZShzdHJ1 Y3QgcDJtX2RvbWFpbiAqcDJtKQorcDJtX2ZsdXNoX3RhYmxlX2xvY2tlZChzdHJ1Y3QgcDJtX2Rv bWFpbiAqcDJtKQogewogICAgIHN0cnVjdCBwYWdlX2luZm8gKnRvcCwgKnBnOwogICAgIHN0cnVj dCBkb21haW4gKmQgPSBwMm0tPmRvbWFpbjsKICAgICBtZm5fdCBtZm47CiAKLSAgICBwMm1fbG9j ayhwMm0pOworICAgIEFTU0VSVChwMm1fbG9ja2VkX2J5X21lKHAybSkpOwogCiAgICAgLyoKICAg ICAgKiAiSG9zdCIgcDJtIHRhYmxlcyBjYW4gaGF2ZSBzaGFyZWQgZW50cmllcyAmYyB0aGF0IG5l ZWQgYSBiaXQgbW9yZSBjYXJlCkBAIC0xNzMyLDEwICsxNzMxLDcgQEAgcDJtX2ZsdXNoX3RhYmxl KHN0cnVjdCBwMm1fZG9tYWluICpwMm0pCiAKICAgICAvKiBObyBuZWVkIHRvIGZsdXNoIGlmIGl0 J3MgYWxyZWFkeSBlbXB0eSAqLwogICAgIGlmICggcDJtX2lzX25lc3RlZHAybShwMm0pICYmIHAy bS0+bnAybV9iYXNlID09IFAyTV9CQVNFX0VBRERSICkKLSAgICB7Ci0gICAgICAgIHAybV91bmxv Y2socDJtKTsKICAgICAgICAgcmV0dXJuOwotICAgIH0KIAogICAgIC8qIFRoaXMgaXMgbm8gbG9u Z2VyIGEgdmFsaWQgbmVzdGVkIHAybSBmb3IgYW55IGFkZHJlc3Mgc3BhY2UgKi8KICAgICBwMm0t Pm5wMm1fYmFzZSA9IFAyTV9CQVNFX0VBRERSOwpAQCAtMTc1NSw3ICsxNzUxLDE0IEBAIHAybV9m bHVzaF90YWJsZShzdHJ1Y3QgcDJtX2RvbWFpbiAqcDJtKQogICAgICAgICAgICAgZC0+YXJjaC5w YWdpbmcuZnJlZV9wYWdlKGQsIHBnKTsKICAgICB9CiAgICAgcGFnZV9saXN0X2FkZCh0b3AsICZw Mm0tPnBhZ2VzKTsKK30KIAorLyogUmVzZXQgdGhpcyBwMm0gdGFibGUgdG8gYmUgZW1wdHkgKi8K K3N0YXRpYyB2b2lkCitwMm1fZmx1c2hfdGFibGUoc3RydWN0IHAybV9kb21haW4gKnAybSkKK3sK KyAgICBwMm1fbG9jayhwMm0pOworICAgIHAybV9mbHVzaF90YWJsZV9sb2NrZWQocDJtKTsKICAg ICBwMm1fdW5sb2NrKHAybSk7CiB9CiAKQEAgLTE3NzYsNiArMTc3OSwyNiBAQCBwMm1fZmx1c2hf bmVzdGVkcDJtKHN0cnVjdCBkb21haW4gKmQpCiAgICAgICAgIHAybV9mbHVzaF90YWJsZShkLT5h cmNoLm5lc3RlZF9wMm1baV0pOwogfQogCit2b2lkIG5wMm1fZmx1c2hfYmFzZShzdHJ1Y3QgdmNw dSAqdiwgdW5zaWduZWQgbG9uZyBucDJtX2Jhc2UpCit7CisgICAgc3RydWN0IGRvbWFpbiAqZCA9 IHYtPmRvbWFpbjsKKyAgICBzdHJ1Y3QgcDJtX2RvbWFpbiAqcDJtOworICAgIHVuc2lnbmVkIGlu dCBpOworCisgICAgbnAybV9iYXNlICY9IH4oMHhmZmZ1bGwpOworCisgICAgbmVzdGVkcDJtX2xv Y2soZCk7CisgICAgZm9yICggaSA9IDA7IGkgPCBNQVhfTkVTVEVEUDJNOyBpKysgKQorICAgIHsK KyAgICAgICAgcDJtID0gZC0+YXJjaC5uZXN0ZWRfcDJtW2ldOworICAgICAgICBwMm1fbG9jayhw Mm0pOworICAgICAgICBpZiAoIHAybS0+bnAybV9iYXNlID09IG5wMm1fYmFzZSApCisgICAgICAg ICAgICBwMm1fZmx1c2hfdGFibGVfbG9ja2VkKHAybSk7CisgICAgICAgIHAybV91bmxvY2socDJt KTsKKyAgICB9CisgICAgbmVzdGVkcDJtX3VubG9jayhkKTsKK30KKwogc3RhdGljIHZvaWQgYXNz aWduX25wMm0oc3RydWN0IHZjcHUgKnYsIHN0cnVjdCBwMm1fZG9tYWluICpwMm0pCiB7CiAgICAg c3RydWN0IG5lc3RlZHZjcHUgKm52ID0gJnZjcHVfbmVzdGVkaHZtKHYpOwpkaWZmIC0tZ2l0IGEv eGVuL2luY2x1ZGUvYXNtLXg4Ni9wMm0uaCBiL3hlbi9pbmNsdWRlL2FzbS14ODYvcDJtLmgKaW5k ZXggMzM4MzE3YTc4Mi4uY2U1MGUzN2Y0NiAxMDA2NDQKLS0tIGEveGVuL2luY2x1ZGUvYXNtLXg4 Ni9wMm0uaAorKysgYi94ZW4vaW5jbHVkZS9hc20teDg2L3AybS5oCkBAIC03NzIsNiArNzcyLDgg QEAgaW50IHAybV9wdF9oYW5kbGVfZGVmZXJyZWRfY2hhbmdlcyh1aW50NjRfdCBncGEpOwogdm9p ZCBwMm1fZmx1c2goc3RydWN0IHZjcHUgKnYsIHN0cnVjdCBwMm1fZG9tYWluICpwMm0pOwogLyog Rmx1c2hlcyBhbGwgbmVzdGVkIHAybSB0YWJsZXMgKi8KIHZvaWQgcDJtX2ZsdXNoX25lc3RlZHAy bShzdHJ1Y3QgZG9tYWluICpkKTsKKy8qIEZsdXNoZXMgYWxsIG5wMm0gb2JqZWN0cyB3aXRoIHRo ZSBzcGVjaWZpZWQgbnAybV9iYXNlICovCit2b2lkIG5wMm1fZmx1c2hfYmFzZShzdHJ1Y3QgdmNw dSAqdiwgdW5zaWduZWQgbG9uZyBucDJtX2Jhc2UpOwogCiB2b2lkIG5lc3RlZHAybV93cml0ZV9w Mm1fZW50cnkoc3RydWN0IHAybV9kb21haW4gKnAybSwgdW5zaWduZWQgbG9uZyBnZm4sCiAgICAg bDFfcGdlbnRyeV90ICpwLCBsMV9wZ2VudHJ5X3QgbmV3LCB1bnNpZ25lZCBpbnQgbGV2ZWwpOwot LSAKMi4xMS4wCgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X18KWGVuLWRldmVsIG1haWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlzdHMueGVuLm9yZwpodHRwczov L2xpc3RzLnhlbi5vcmcveGVuLWRldmVsCg==