From mboxrd@z Thu Jan 1 00:00:00 1970 From: Juergen Gross Subject: [PATCH v9 4/9] xen/x86: use invpcid for flushing the TLB Date: Thu, 26 Apr 2018 13:33:13 +0200 Message-ID: <20180426113318.21838-5-jgross@suse.com> References: <20180426113318.21838-1-jgross@suse.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1fBf9P-00020G-4y for xen-devel@lists.xenproject.org; Thu, 26 Apr 2018 11:33:23 +0000 In-Reply-To: <20180426113318.21838-1-jgross@suse.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" To: xen-devel@lists.xenproject.org Cc: Juergen Gross , andrew.cooper3@citrix.com, tim@xen.org, jbeulich@suse.com List-Id: xen-devel@lists.xenproject.org SWYgcG9zc2libGUgdXNlIHRoZSBJTlZQQ0lEIGluc3RydWN0aW9uIGZvciBmbHVzaGluZyB0aGUg VExCIGluc3RlYWQgb2YKdG9nZ2xpbmcgY3I0LnBnZSBmb3IgdGhhdCBwdXJwb3NlLgoKV2hpbGUg YXQgaXQgcmVtb3ZlIHRoZSBkZXBlbmRlbmN5IG9uIGNyNC5wZ2UgYmVpbmcgcmVxdWlyZWQgZm9y IG10cnIKbG9hZGluZywgYXMgdGhpcyB3aWxsIGJlIHJlcXVpcmVkIGxhdGVyIGFueXdheS4KCkFk ZCBhIGNvbW1hbmQgbGluZSBvcHRpb24gImludnBjaWQiIGZvciBjb250cm9sbGluZyB0aGUgdXNl IG9mCklOVlBDSUQgKGRlZmF1bHQgdG8gdHJ1ZSkuCgpTaWduZWQtb2ZmLWJ5OiBKdWVyZ2VuIEdy b3NzIDxqZ3Jvc3NAc3VzZS5jb20+ClJldmlld2VkLWJ5OiBKYW4gQmV1bGljaCA8amJldWxpY2hA c3VzZS5jb20+Ci0tLQpWNjoKLSByZXdvcmQgaW52cGNpZCBwYXJhbWV0ZXIgZGVzY3JpcHRpb24g KEFuZHJldyBDb29wZXIpCi0gYWRkIF9fcmVhZF9tb3N0bHkgdG8gdXNlX2ludnBjaWQgZGVmaW5p dGlvbiAoQW5kcmV3IENvb3BlcikKClY1OgotIHVzZSBwcmVfZmx1c2goKSBhcyBhbiBpbml0aWFs aXplciBpbiBkb190bGJfZmx1c2goKSAoSmFuIEJldWxpY2gpCi0gaW50cm9kdWNlIGJvb2xlYW4g dXNlX2ludnBjaWQgaW5zdGVhZCBvZiBjbGVhcmluZyBYODZfRkVBVFVSRV9JTlZQQ0lECiAgKEph biBCZXVsaWNoKQoKVjQ6Ci0gb3B0aW9uICJpbnZwY2lkIiBpbnN0ZWFkIG9mICJub2ludnBjaWQi IChKYW4gQmV1bGljaCkKClYzOgotIG5ldyBwYXRjaAotLS0KIGRvY3MvbWlzYy94ZW4tY29tbWFu ZC1saW5lLm1hcmtkb3duIHwgIDkgKysrKysrKysrCiB4ZW4vYXJjaC94ODYvY3B1L210cnIvZ2Vu ZXJpYy5jICAgICB8IDM3ICsrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0KIHhl bi9hcmNoL3g4Ni9mbHVzaHRsYi5jICAgICAgICAgICAgIHwgMjkgKysrKysrKysrKysrKysrKysr Ky0tLS0tLS0tLS0KIHhlbi9hcmNoL3g4Ni9zZXR1cC5jICAgICAgICAgICAgICAgIHwgIDggKysr KysrKysKIHhlbi9pbmNsdWRlL2FzbS14ODYvaW52cGNpZC5oICAgICAgIHwgIDIgKysKIDUgZmls ZXMgY2hhbmdlZCwgNjQgaW5zZXJ0aW9ucygrKSwgMjEgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0 IGEvZG9jcy9taXNjL3hlbi1jb21tYW5kLWxpbmUubWFya2Rvd24gYi9kb2NzL21pc2MveGVuLWNv bW1hbmQtbGluZS5tYXJrZG93bgppbmRleCAyMjBkMWJhMDIwLi5mODI2NGQ4YWJiIDEwMDY0NAot LS0gYS9kb2NzL21pc2MveGVuLWNvbW1hbmQtbGluZS5tYXJrZG93bgorKysgYi9kb2NzL21pc2Mv eGVuLWNvbW1hbmQtbGluZS5tYXJrZG93bgpAQCAtMTM4MCw2ICsxMzgwLDE1IEBAIEJlY2F1c2Ug cmVzcG9uc2liaWxpdHkgZm9yIEFQSUMgc2V0dXAgaXMgc2hhcmVkIGJldHdlZW4gWGVuIGFuZCB0 aGUKIGRvbWFpbiAwIGtlcm5lbCB0aGlzIG9wdGlvbiBpcyBhdXRvbWF0aWNhbGx5IHByb3BhZ2F0 ZWQgdG8gdGhlIGRvbWFpbgogMCBjb21tYW5kIGxpbmUuCiAKKyMjIyBpbnZwY2lkICh4ODYpCis+ IGA9IDxib29sZWFuPmAKKworPiBEZWZhdWx0OiBgdHJ1ZWAKKworQnkgZGVmYXVsdCwgWGVuIHdp bGwgdXNlIHRoZSBJTlZQQ0lEIGluc3RydWN0aW9uIGZvciBUTEIgbWFuYWdlbWVudCBpZgoraXQg aXMgYXZhaWxhYmxlLiAgVGhpcyBvcHRpb24gY2FuIGJlIHVzZWQgdG8gY2F1c2UgWGVuIHRvIGZh bGwgYmFjayB0bworb2xkZXIgbWVjaGFuaXNtcywgd2hpY2ggYXJlIGdlbmVyYWxseSBzbG93ZXIu CisKICMjIyBub2lycWJhbGFuY2UKID4gYD0gPGJvb2xlYW4+YAogCmRpZmYgLS1naXQgYS94ZW4v YXJjaC94ODYvY3B1L210cnIvZ2VuZXJpYy5jIGIveGVuL2FyY2gveDg2L2NwdS9tdHJyL2dlbmVy aWMuYwppbmRleCBlOWMwZTVlMDU5Li43YmEwYzNmMGZlIDEwMDY0NAotLS0gYS94ZW4vYXJjaC94 ODYvY3B1L210cnIvZ2VuZXJpYy5jCisrKyBiL3hlbi9hcmNoL3g4Ni9jcHUvbXRyci9nZW5lcmlj LmMKQEAgLTUsNiArNSw3IEBACiAjaW5jbHVkZSA8eGVuL21tLmg+CiAjaW5jbHVkZSA8eGVuL3N0 ZGJvb2wuaD4KICNpbmNsdWRlIDxhc20vZmx1c2h0bGIuaD4KKyNpbmNsdWRlIDxhc20vaW52cGNp ZC5oPgogI2luY2x1ZGUgPGFzbS9pby5oPgogI2luY2x1ZGUgPGFzbS9tdHJyLmg+CiAjaW5jbHVk ZSA8YXNtL21zci5oPgpAQCAtNDAwLDggKzQwMSwxMCBAQCBzdGF0aWMgREVGSU5FX1NQSU5MT0NL KHNldF9hdG9taWNpdHlfbG9jayk7CiAgKiBoYXMgYmVlbiBjYWxsZWQuCiAgKi8KIAotc3RhdGlj IHZvaWQgcHJlcGFyZV9zZXQodm9pZCkKK3N0YXRpYyBib29sIHByZXBhcmVfc2V0KHZvaWQpCiB7 CisJdW5zaWduZWQgbG9uZyBjcjQ7CisKIAkvKiAgTm90ZSB0aGF0IHRoaXMgaXMgbm90IGlkZWFs LCBzaW5jZSB0aGUgY2FjaGUgaXMgb25seSBmbHVzaGVkL2Rpc2FibGVkCiAJICAgZm9yIHRoaXMg Q1BVIHdoaWxlIHRoZSBNVFJScyBhcmUgY2hhbmdlZCwgYnV0IGNoYW5naW5nIHRoaXMgcmVxdWly ZXMKIAkgICBtb3JlIGludmFzaXZlIGNoYW5nZXMgdG8gdGhlIHdheSB0aGUga2VybmVsIGJvb3Rz ICAqLwpAQCAtNDEyLDE4ICs0MTUsMjQgQEAgc3RhdGljIHZvaWQgcHJlcGFyZV9zZXQodm9pZCkK IAl3cml0ZV9jcjAocmVhZF9jcjAoKSB8IFg4Nl9DUjBfQ0QpOwogCXdiaW52ZCgpOwogCi0JLyog IFRMQiBmbHVzaGluZyBoZXJlIHJlbGllcyBvbiBYZW4gYWx3YXlzIHVzaW5nIENSNC5QR0UuICov Ci0JQlVJTERfQlVHX09OKCEoWEVOX01JTklNQUxfQ1I0ICYgWDg2X0NSNF9QR0UpKTsKLQl3cml0 ZV9jcjQocmVhZF9jcjQoKSAmIH5YODZfQ1I0X1BHRSk7CisJY3I0ID0gcmVhZF9jcjQoKTsKKwlp ZiAoY3I0ICYgWDg2X0NSNF9QR0UpCisJCXdyaXRlX2NyNChjcjQgJiB+WDg2X0NSNF9QR0UpOwor CWVsc2UgaWYgKHVzZV9pbnZwY2lkKQorCQlpbnZwY2lkX2ZsdXNoX2FsbCgpOworCWVsc2UKKwkJ d3JpdGVfY3IzKHJlYWRfY3IzKCkpOwogCiAJLyogIFNhdmUgTVRSUiBzdGF0ZSAqLwogCXJkbXNy bChNU1JfTVRSUmRlZlR5cGUsIGRlZnR5cGUpOwogCiAJLyogIERpc2FibGUgTVRSUnMsIGFuZCBz ZXQgdGhlIGRlZmF1bHQgdHlwZSB0byB1bmNhY2hlZCAgKi8KIAltdHJyX3dybXNyKE1TUl9NVFJS ZGVmVHlwZSwgZGVmdHlwZSAmIH4weGNmZik7CisKKwlyZXR1cm4gY3I0ICYgWDg2X0NSNF9QR0U7 CiB9CiAKLXN0YXRpYyB2b2lkIHBvc3Rfc2V0KHZvaWQpCitzdGF0aWMgdm9pZCBwb3N0X3NldChi b29sIHBnZSkKIHsKIAkvKiBJbnRlbCAoUDYpIHN0YW5kYXJkIE1UUlJzICovCiAJbXRycl93cm1z cihNU1JfTVRSUmRlZlR5cGUsIGRlZnR5cGUpOwpAQCAtNDMyLDcgKzQ0MSwxMiBAQCBzdGF0aWMg dm9pZCBwb3N0X3NldCh2b2lkKQogCXdyaXRlX2NyMChyZWFkX2NyMCgpICYgflg4Nl9DUjBfQ0Qp OwogCiAJLyogIFJlZW5hYmxlIENSNC5QR0UgKGFsc28gZmx1c2hlcyB0aGUgVExCKSAqLwotCXdy aXRlX2NyNChyZWFkX2NyNCgpIHwgWDg2X0NSNF9QR0UpOworCWlmIChwZ2UpCisJCXdyaXRlX2Ny NChyZWFkX2NyNCgpIHwgWDg2X0NSNF9QR0UpOworCWVsc2UgaWYgKHVzZV9pbnZwY2lkKQorCQlp bnZwY2lkX2ZsdXNoX2FsbCgpOworCWVsc2UKKwkJd3JpdGVfY3IzKHJlYWRfY3IzKCkpOwogCiAJ c3Bpbl91bmxvY2soJnNldF9hdG9taWNpdHlfbG9jayk7CiB9CkBAIC00NDEsMTQgKzQ1NSwxNSBA QCBzdGF0aWMgdm9pZCBnZW5lcmljX3NldF9hbGwodm9pZCkKIHsKIAl1bnNpZ25lZCBsb25nIG1h c2ssIGNvdW50OwogCXVuc2lnbmVkIGxvbmcgZmxhZ3M7CisJYm9vbCBwZ2U7CiAKIAlsb2NhbF9p cnFfc2F2ZShmbGFncyk7Ci0JcHJlcGFyZV9zZXQoKTsKKwlwZ2UgPSBwcmVwYXJlX3NldCgpOwog CiAJLyogQWN0dWFsbHkgc2V0IHRoZSBzdGF0ZSAqLwogCW1hc2sgPSBzZXRfbXRycl9zdGF0ZSgp OwogCi0JcG9zdF9zZXQoKTsKKwlwb3N0X3NldChwZ2UpOwogCWxvY2FsX2lycV9yZXN0b3JlKGZs YWdzKTsKIAogCS8qICBVc2UgdGhlIGF0b21pYyBiaXRvcHMgdG8gdXBkYXRlIHRoZSBnbG9iYWwg bWFzayAgKi8KQEAgLTQ1Nyw3ICs0NzIsNiBAQCBzdGF0aWMgdm9pZCBnZW5lcmljX3NldF9hbGwo dm9pZCkKIAkJCXNldF9iaXQoY291bnQsICZzbXBfY2hhbmdlc19tYXNrKTsKIAkJbWFzayA+Pj0g MTsKIAl9Ci0JCiB9CiAKIHN0YXRpYyB2b2lkIGdlbmVyaWNfc2V0X210cnIodW5zaWduZWQgaW50 IHJlZywgdW5zaWduZWQgbG9uZyBiYXNlLApAQCAtNDc0LDExICs0ODgsMTIgQEAgc3RhdGljIHZv aWQgZ2VuZXJpY19zZXRfbXRycih1bnNpZ25lZCBpbnQgcmVnLCB1bnNpZ25lZCBsb25nIGJhc2Us CiB7CiAJdW5zaWduZWQgbG9uZyBmbGFnczsKIAlzdHJ1Y3QgbXRycl92YXJfcmFuZ2UgKnZyOwor CWJvb2wgcGdlOwogCiAJdnIgPSAmbXRycl9zdGF0ZS52YXJfcmFuZ2VzW3JlZ107CiAKIAlsb2Nh bF9pcnFfc2F2ZShmbGFncyk7Ci0JcHJlcGFyZV9zZXQoKTsKKwlwZ2UgPSBwcmVwYXJlX3NldCgp OwogCiAJaWYgKHNpemUgPT0gMCkgewogCQkvKiBUaGUgaW52YWxpZCBiaXQgaXMga2VwdCBpbiB0 aGUgbWFzaywgc28gd2Ugc2ltcGx5IGNsZWFyIHRoZQpAQCAtNDk5LDcgKzUxNCw3IEBAIHN0YXRp YyB2b2lkIGdlbmVyaWNfc2V0X210cnIodW5zaWduZWQgaW50IHJlZywgdW5zaWduZWQgbG9uZyBi YXNlLAogCQltdHJyX3dybXNyKE1TUl9JQTMyX01UUlJfUEhZU01BU0socmVnKSwgdnItPm1hc2sp OwogCX0KIAotCXBvc3Rfc2V0KCk7CisJcG9zdF9zZXQocGdlKTsKIAlsb2NhbF9pcnFfcmVzdG9y ZShmbGFncyk7CiB9CiAKZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni9mbHVzaHRsYi5jIGIveGVu L2FyY2gveDg2L2ZsdXNodGxiLmMKaW5kZXggMWFmOTIyMTYwNy4uYjY4MTdmMTgxNyAxMDA2NDQK LS0tIGEveGVuL2FyY2gveDg2L2ZsdXNodGxiLmMKKysrIGIveGVuL2FyY2gveDg2L2ZsdXNodGxi LmMKQEAgLTExLDYgKzExLDcgQEAKICNpbmNsdWRlIDx4ZW4vc21wLmg+CiAjaW5jbHVkZSA8eGVu L3NvZnRpcnEuaD4KICNpbmNsdWRlIDxhc20vZmx1c2h0bGIuaD4KKyNpbmNsdWRlIDxhc20vaW52 cGNpZC5oPgogI2luY2x1ZGUgPGFzbS9wYWdlLmg+CiAKIC8qIERlYnVnIGJ1aWxkczogV3JhcCBm cmVxdWVudGx5IHRvIHN0cmVzcy10ZXN0IHRoZSB3cmFwIGxvZ2ljLiAqLwpAQCAtNzIsNiArNzMs MjMgQEAgc3RhdGljIHZvaWQgcG9zdF9mbHVzaCh1MzIgdCkKICAgICB0aGlzX2NwdSh0bGJmbHVz aF90aW1lKSA9IHQ7CiB9CiAKK3N0YXRpYyB2b2lkIGRvX3RsYl9mbHVzaCh2b2lkKQoreworICAg IHUzMiB0ID0gcHJlX2ZsdXNoKCk7CisKKyAgICBpZiAoIHVzZV9pbnZwY2lkICkKKyAgICAgICAg aW52cGNpZF9mbHVzaF9hbGwoKTsKKyAgICBlbHNlCisgICAgeworICAgICAgICB1bnNpZ25lZCBs b25nIGNyNCA9IHJlYWRfY3I0KCk7CisKKyAgICAgICAgd3JpdGVfY3I0KGNyNCBeIFg4Nl9DUjRf UEdFKTsKKyAgICAgICAgd3JpdGVfY3I0KGNyNCk7CisgICAgfQorCisgICAgcG9zdF9mbHVzaCh0 KTsKK30KKwogdm9pZCBzd2l0Y2hfY3IzKHVuc2lnbmVkIGxvbmcgY3IzKQogewogICAgIHVuc2ln bmVkIGxvbmcgZmxhZ3MsIGNyNDsKQEAgLTExOSwxNiArMTM3LDcgQEAgdW5zaWduZWQgaW50IGZs dXNoX2FyZWFfbG9jYWwoY29uc3Qgdm9pZCAqdmEsIHVuc2lnbmVkIGludCBmbGFncykKICAgICAg ICAgICAgICAgICAgICAgICAgICAgIDogOiAibSIgKCooY29uc3QgY2hhciAqKSh2YSkpIDogIm1l bW9yeSIgKTsKICAgICAgICAgfQogICAgICAgICBlbHNlCi0gICAgICAgIHsKLSAgICAgICAgICAg IHUzMiB0ID0gcHJlX2ZsdXNoKCk7Ci0gICAgICAgICAgICB1bnNpZ25lZCBsb25nIGNyNCA9IHJl YWRfY3I0KCk7Ci0KLSAgICAgICAgICAgIHdyaXRlX2NyNChjcjQgJiB+WDg2X0NSNF9QR0UpOwot ICAgICAgICAgICAgYmFycmllcigpOwotICAgICAgICAgICAgd3JpdGVfY3I0KGNyNCk7Ci0KLSAg ICAgICAgICAgIHBvc3RfZmx1c2godCk7Ci0gICAgICAgIH0KKyAgICAgICAgICAgIGRvX3RsYl9m bHVzaCgpOwogICAgIH0KIAogICAgIGlmICggZmxhZ3MgJiBGTFVTSF9DQUNIRSApCmRpZmYgLS1n aXQgYS94ZW4vYXJjaC94ODYvc2V0dXAuYyBiL3hlbi9hcmNoL3g4Ni9zZXR1cC5jCmluZGV4IGY4 MDM5ODBiOTcuLjE2NGM0MmNiZjEgMTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL3g4Ni9zZXR1cC5jCisr KyBiL3hlbi9hcmNoL3g4Ni9zZXR1cC5jCkBAIC02Miw2ICs2MiwxMSBAQCBib29sZWFuX3BhcmFt KCJub3NtcCIsIG9wdF9ub3NtcCk7CiBzdGF0aWMgdW5zaWduZWQgaW50IF9faW5pdGRhdGEgbWF4 X2NwdXM7CiBpbnRlZ2VyX3BhcmFtKCJtYXhjcHVzIiwgbWF4X2NwdXMpOwogCisvKiBvcHRfaW52 cGNpZDogSWYgZmFsc2UsIGRvbid0IHVzZSBJTlZQQ0lEIGluc3RydWN0aW9uIGV2ZW4gaWYgYXZh aWxhYmxlLiAqLworc3RhdGljIGJvb2wgX19pbml0ZGF0YSBvcHRfaW52cGNpZCA9IHRydWU7Citi b29sZWFuX3BhcmFtKCJpbnZwY2lkIiwgb3B0X2ludnBjaWQpOworYm9vbCBfX3JlYWRfbW9zdGx5 IHVzZV9pbnZwY2lkOworCiB1bnNpZ25lZCBsb25nIF9fcmVhZF9tb3N0bHkgY3I0X3B2MzJfbWFz azsKIAogLyogKioqKiBMaW51eCBjb25maWcgb3B0aW9uOiBwcm9wYWdhdGVkIHRvIGRvbWFpbjAu ICovCkBAIC0xNTQ2LDYgKzE1NTEsOSBAQCB2b2lkIF9faW5pdCBub3JldHVybiBfX3N0YXJ0X3hl bih1bnNpZ25lZCBsb25nIG1iaV9wKQogICAgIGlmICggY3B1X2hhc19mc2dzYmFzZSApCiAgICAg ICAgIHNldF9pbl9jcjQoWDg2X0NSNF9GU0dTQkFTRSk7CiAKKyAgICBpZiAoIG9wdF9pbnZwY2lk ICYmIGNwdV9oYXNfaW52cGNpZCApCisgICAgICAgIHVzZV9pbnZwY2lkID0gdHJ1ZTsKKwogICAg IGluaXRfc3BlY3VsYXRpb25fbWl0aWdhdGlvbnMoKTsKIAogICAgIGluaXRfaWRsZV9kb21haW4o KTsKZGlmZiAtLWdpdCBhL3hlbi9pbmNsdWRlL2FzbS14ODYvaW52cGNpZC5oIGIveGVuL2luY2x1 ZGUvYXNtLXg4Ni9pbnZwY2lkLmgKaW5kZXggYjQ2NjI0YTg2NS4uZWRkOGI2ODcwNiAxMDA2NDQK LS0tIGEveGVuL2luY2x1ZGUvYXNtLXg4Ni9pbnZwY2lkLmgKKysrIGIveGVuL2luY2x1ZGUvYXNt LXg4Ni9pbnZwY2lkLmgKQEAgLTMsNiArMyw4IEBACiAKICNpbmNsdWRlIDx4ZW4vdHlwZXMuaD4K IAorZXh0ZXJuIGJvb2wgdXNlX2ludnBjaWQ7CisKICNkZWZpbmUgSU5WUENJRF9UWVBFX0lORElW X0FERFIgICAgICAwCiAjZGVmaW5lIElOVlBDSURfVFlQRV9TSU5HTEVfQ1RYVCAgICAgMQogI2Rl ZmluZSBJTlZQQ0lEX1RZUEVfQUxMX0lOQ0xfR0xPQkFMIDIKLS0gCjIuMTMuNgoKCl9fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fClhlbi1kZXZlbCBtYWlsaW5n IGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnCmh0dHBzOi8vbGlzdHMueGVucHJv amVjdC5vcmcvbWFpbG1hbi9saXN0aW5mby94ZW4tZGV2ZWw=