From mboxrd@z Thu Jan 1 00:00:00 1970 From: Juergen Gross Subject: [PATCH v6 4/9] xen/x86: use invpcid for flushing the TLB Date: Tue, 10 Apr 2018 09:58:38 +0200 Message-ID: <20180410075843.6822-5-jgross@suse.com> References: <20180410075843.6822-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 1f5oB2-0005cM-7s for xen-devel@lists.xenproject.org; Tue, 10 Apr 2018 07:58:52 +0000 In-Reply-To: <20180410075843.6822-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, jbeulich@suse.com List-Id: xen-devel@lists.xenproject.org SWYgcG9zc2libGUgdXNlIHRoZSBJTlZQQ0lEIGluc3RydWN0aW9uIGZvciBmbHVzaGluZyB0aGUg VExCIGluc3RlYWQgb2YKdG9nZ2xpbmcgY3I0LnBnZSBmb3IgdGhhdCBwdXJwb3NlLgoKV2hpbGUg YXQgaXQgcmVtb3ZlIHRoZSBkZXBlbmRlbmN5IG9uIGNyNC5wZ2UgYmVpbmcgcmVxdWlyZWQgZm9y IG10cnIKbG9hZGluZywgYXMgdGhpcyB3aWxsIGJlIHJlcXVpcmVkIGxhdGVyIGFueXdheS4KCkFk ZCBhIGNvbW1hbmQgbGluZSBvcHRpb24gImludnBjaWQiIGZvciBjb250cm9sbGluZyB0aGUgdXNl IG9mCklOVlBDSUQgKGRlZmF1bHQgdG8gdHJ1ZSkuCgpTaWduZWQtb2ZmLWJ5OiBKdWVyZ2VuIEdy b3NzIDxqZ3Jvc3NAc3VzZS5jb20+Ci0tLQpWNjoKLSByZXdvcmQgaW52cGNpZCBwYXJhbWV0ZXIg ZGVzY3JpcHRpb24gKEFuZHJldyBDb29wZXIpCi0gYWRkIF9fcmVhZF9tb3N0bHkgdG8gdXNlX2lu dnBjaWQgZGVmaW5pdGlvbiAoQW5kcmV3IENvb3BlcikKClY1OgotIHVzZSBwcmVfZmx1c2goKSBh cyBhbiBpbml0aWFsaXplciBpbiBkb190bGJfZmx1c2goKSAoSmFuIEJldWxpY2gpCi0gaW50cm9k dWNlIGJvb2xlYW4gdXNlX2ludnBjaWQgaW5zdGVhZCBvZiBjbGVhcmluZyBYODZfRkVBVFVSRV9J TlZQQ0lECiAgKEphbiBCZXVsaWNoKQoKVjQ6Ci0gb3B0aW9uICJpbnZwY2lkIiBpbnN0ZWFkIG9m ICJub2ludnBjaWQiIChKYW4gQmV1bGljaCkKClYzOgotIG5ldyBwYXRjaAotLS0KIGRvY3MvbWlz Yy94ZW4tY29tbWFuZC1saW5lLm1hcmtkb3duIHwgIDkgKysrKysrKysrCiB4ZW4vYXJjaC94ODYv Y3B1L210cnIvZ2VuZXJpYy5jICAgICB8IDM3ICsrKysrKysrKysrKysrKysrKysrKysrKysrLS0t LS0tLS0tLS0KIHhlbi9hcmNoL3g4Ni9mbHVzaHRsYi5jICAgICAgICAgICAgIHwgMjkgKysrKysr KysrKysrKysrKysrKy0tLS0tLS0tLS0KIHhlbi9hcmNoL3g4Ni9zZXR1cC5jICAgICAgICAgICAg ICAgIHwgIDggKysrKysrKysKIHhlbi9pbmNsdWRlL2FzbS14ODYvaW52cGNpZC5oICAgICAgIHwg IDIgKysKIDUgZmlsZXMgY2hhbmdlZCwgNjQgaW5zZXJ0aW9ucygrKSwgMjEgZGVsZXRpb25zKC0p CgpkaWZmIC0tZ2l0IGEvZG9jcy9taXNjL3hlbi1jb21tYW5kLWxpbmUubWFya2Rvd24gYi9kb2Nz L21pc2MveGVuLWNvbW1hbmQtbGluZS5tYXJrZG93bgppbmRleCA2OGUwZGZiZWQ4Li44ZDQ4Y2Ux ZjZmIDEwMDY0NAotLS0gYS9kb2NzL21pc2MveGVuLWNvbW1hbmQtbGluZS5tYXJrZG93bgorKysg Yi9kb2NzL21pc2MveGVuLWNvbW1hbmQtbGluZS5tYXJrZG93bgpAQCAtMTM4MCw2ICsxMzgwLDE1 IEBAIEJlY2F1c2UgcmVzcG9uc2liaWxpdHkgZm9yIEFQSUMgc2V0dXAgaXMgc2hhcmVkIGJldHdl ZW4gWGVuIGFuZCB0aGUKIGRvbWFpbiAwIGtlcm5lbCB0aGlzIG9wdGlvbiBpcyBhdXRvbWF0aWNh bGx5IHByb3BhZ2F0ZWQgdG8gdGhlIGRvbWFpbgogMCBjb21tYW5kIGxpbmUuCiAKKyMjIyBpbnZw Y2lkICh4ODYpCis+IGA9IDxib29sZWFuPmAKKworPiBEZWZhdWx0OiBgdHJ1ZWAKKworQnkgZGVm YXVsdCwgWGVuIHdpbGwgdXNlIHRoZSBJTlZQQ0lEIGluc3RydWN0aW9uIGZvciBUTEIgbWFuYWdl bWVudCBpZgoraXQgaXMgYXZhaWxhYmxlLiAgVGhpcyBvcHRpb24gY2FuIGJlIHVzZWQgdG8gY2F1 c2UgWGVuIHRvIGZhbGwgYmFjayB0bworb2xkZXIgbWVjaGFuaXNtcywgd2hpY2ggYXJlIGdlbmVy YWxseSBzbG93ZXIuCisKICMjIyBub2lycWJhbGFuY2UKID4gYD0gPGJvb2xlYW4+YAogCmRpZmYg LS1naXQgYS94ZW4vYXJjaC94ODYvY3B1L210cnIvZ2VuZXJpYy5jIGIveGVuL2FyY2gveDg2L2Nw dS9tdHJyL2dlbmVyaWMuYwppbmRleCBlOWMwZTVlMDU5Li43YmEwYzNmMGZlIDEwMDY0NAotLS0g YS94ZW4vYXJjaC94ODYvY3B1L210cnIvZ2VuZXJpYy5jCisrKyBiL3hlbi9hcmNoL3g4Ni9jcHUv bXRyci9nZW5lcmljLmMKQEAgLTUsNiArNSw3IEBACiAjaW5jbHVkZSA8eGVuL21tLmg+CiAjaW5j bHVkZSA8eGVuL3N0ZGJvb2wuaD4KICNpbmNsdWRlIDxhc20vZmx1c2h0bGIuaD4KKyNpbmNsdWRl IDxhc20vaW52cGNpZC5oPgogI2luY2x1ZGUgPGFzbS9pby5oPgogI2luY2x1ZGUgPGFzbS9tdHJy Lmg+CiAjaW5jbHVkZSA8YXNtL21zci5oPgpAQCAtNDAwLDggKzQwMSwxMCBAQCBzdGF0aWMgREVG SU5FX1NQSU5MT0NLKHNldF9hdG9taWNpdHlfbG9jayk7CiAgKiBoYXMgYmVlbiBjYWxsZWQuCiAg Ki8KIAotc3RhdGljIHZvaWQgcHJlcGFyZV9zZXQodm9pZCkKK3N0YXRpYyBib29sIHByZXBhcmVf c2V0KHZvaWQpCiB7CisJdW5zaWduZWQgbG9uZyBjcjQ7CisKIAkvKiAgTm90ZSB0aGF0IHRoaXMg aXMgbm90IGlkZWFsLCBzaW5jZSB0aGUgY2FjaGUgaXMgb25seSBmbHVzaGVkL2Rpc2FibGVkCiAJ ICAgZm9yIHRoaXMgQ1BVIHdoaWxlIHRoZSBNVFJScyBhcmUgY2hhbmdlZCwgYnV0IGNoYW5naW5n IHRoaXMgcmVxdWlyZXMKIAkgICBtb3JlIGludmFzaXZlIGNoYW5nZXMgdG8gdGhlIHdheSB0aGUg a2VybmVsIGJvb3RzICAqLwpAQCAtNDEyLDE4ICs0MTUsMjQgQEAgc3RhdGljIHZvaWQgcHJlcGFy ZV9zZXQodm9pZCkKIAl3cml0ZV9jcjAocmVhZF9jcjAoKSB8IFg4Nl9DUjBfQ0QpOwogCXdiaW52 ZCgpOwogCi0JLyogIFRMQiBmbHVzaGluZyBoZXJlIHJlbGllcyBvbiBYZW4gYWx3YXlzIHVzaW5n IENSNC5QR0UuICovCi0JQlVJTERfQlVHX09OKCEoWEVOX01JTklNQUxfQ1I0ICYgWDg2X0NSNF9Q R0UpKTsKLQl3cml0ZV9jcjQocmVhZF9jcjQoKSAmIH5YODZfQ1I0X1BHRSk7CisJY3I0ID0gcmVh ZF9jcjQoKTsKKwlpZiAoY3I0ICYgWDg2X0NSNF9QR0UpCisJCXdyaXRlX2NyNChjcjQgJiB+WDg2 X0NSNF9QR0UpOworCWVsc2UgaWYgKHVzZV9pbnZwY2lkKQorCQlpbnZwY2lkX2ZsdXNoX2FsbCgp OworCWVsc2UKKwkJd3JpdGVfY3IzKHJlYWRfY3IzKCkpOwogCiAJLyogIFNhdmUgTVRSUiBzdGF0 ZSAqLwogCXJkbXNybChNU1JfTVRSUmRlZlR5cGUsIGRlZnR5cGUpOwogCiAJLyogIERpc2FibGUg TVRSUnMsIGFuZCBzZXQgdGhlIGRlZmF1bHQgdHlwZSB0byB1bmNhY2hlZCAgKi8KIAltdHJyX3dy bXNyKE1TUl9NVFJSZGVmVHlwZSwgZGVmdHlwZSAmIH4weGNmZik7CisKKwlyZXR1cm4gY3I0ICYg WDg2X0NSNF9QR0U7CiB9CiAKLXN0YXRpYyB2b2lkIHBvc3Rfc2V0KHZvaWQpCitzdGF0aWMgdm9p ZCBwb3N0X3NldChib29sIHBnZSkKIHsKIAkvKiBJbnRlbCAoUDYpIHN0YW5kYXJkIE1UUlJzICov CiAJbXRycl93cm1zcihNU1JfTVRSUmRlZlR5cGUsIGRlZnR5cGUpOwpAQCAtNDMyLDcgKzQ0MSwx MiBAQCBzdGF0aWMgdm9pZCBwb3N0X3NldCh2b2lkKQogCXdyaXRlX2NyMChyZWFkX2NyMCgpICYg flg4Nl9DUjBfQ0QpOwogCiAJLyogIFJlZW5hYmxlIENSNC5QR0UgKGFsc28gZmx1c2hlcyB0aGUg VExCKSAqLwotCXdyaXRlX2NyNChyZWFkX2NyNCgpIHwgWDg2X0NSNF9QR0UpOworCWlmIChwZ2Up CisJCXdyaXRlX2NyNChyZWFkX2NyNCgpIHwgWDg2X0NSNF9QR0UpOworCWVsc2UgaWYgKHVzZV9p bnZwY2lkKQorCQlpbnZwY2lkX2ZsdXNoX2FsbCgpOworCWVsc2UKKwkJd3JpdGVfY3IzKHJlYWRf Y3IzKCkpOwogCiAJc3Bpbl91bmxvY2soJnNldF9hdG9taWNpdHlfbG9jayk7CiB9CkBAIC00NDEs MTQgKzQ1NSwxNSBAQCBzdGF0aWMgdm9pZCBnZW5lcmljX3NldF9hbGwodm9pZCkKIHsKIAl1bnNp Z25lZCBsb25nIG1hc2ssIGNvdW50OwogCXVuc2lnbmVkIGxvbmcgZmxhZ3M7CisJYm9vbCBwZ2U7 CiAKIAlsb2NhbF9pcnFfc2F2ZShmbGFncyk7Ci0JcHJlcGFyZV9zZXQoKTsKKwlwZ2UgPSBwcmVw YXJlX3NldCgpOwogCiAJLyogQWN0dWFsbHkgc2V0IHRoZSBzdGF0ZSAqLwogCW1hc2sgPSBzZXRf bXRycl9zdGF0ZSgpOwogCi0JcG9zdF9zZXQoKTsKKwlwb3N0X3NldChwZ2UpOwogCWxvY2FsX2ly cV9yZXN0b3JlKGZsYWdzKTsKIAogCS8qICBVc2UgdGhlIGF0b21pYyBiaXRvcHMgdG8gdXBkYXRl IHRoZSBnbG9iYWwgbWFzayAgKi8KQEAgLTQ1Nyw3ICs0NzIsNiBAQCBzdGF0aWMgdm9pZCBnZW5l cmljX3NldF9hbGwodm9pZCkKIAkJCXNldF9iaXQoY291bnQsICZzbXBfY2hhbmdlc19tYXNrKTsK IAkJbWFzayA+Pj0gMTsKIAl9Ci0JCiB9CiAKIHN0YXRpYyB2b2lkIGdlbmVyaWNfc2V0X210cnIo dW5zaWduZWQgaW50IHJlZywgdW5zaWduZWQgbG9uZyBiYXNlLApAQCAtNDc0LDExICs0ODgsMTIg QEAgc3RhdGljIHZvaWQgZ2VuZXJpY19zZXRfbXRycih1bnNpZ25lZCBpbnQgcmVnLCB1bnNpZ25l ZCBsb25nIGJhc2UsCiB7CiAJdW5zaWduZWQgbG9uZyBmbGFnczsKIAlzdHJ1Y3QgbXRycl92YXJf cmFuZ2UgKnZyOworCWJvb2wgcGdlOwogCiAJdnIgPSAmbXRycl9zdGF0ZS52YXJfcmFuZ2VzW3Jl Z107CiAKIAlsb2NhbF9pcnFfc2F2ZShmbGFncyk7Ci0JcHJlcGFyZV9zZXQoKTsKKwlwZ2UgPSBw cmVwYXJlX3NldCgpOwogCiAJaWYgKHNpemUgPT0gMCkgewogCQkvKiBUaGUgaW52YWxpZCBiaXQg aXMga2VwdCBpbiB0aGUgbWFzaywgc28gd2Ugc2ltcGx5IGNsZWFyIHRoZQpAQCAtNDk5LDcgKzUx NCw3IEBAIHN0YXRpYyB2b2lkIGdlbmVyaWNfc2V0X210cnIodW5zaWduZWQgaW50IHJlZywgdW5z aWduZWQgbG9uZyBiYXNlLAogCQltdHJyX3dybXNyKE1TUl9JQTMyX01UUlJfUEhZU01BU0socmVn KSwgdnItPm1hc2spOwogCX0KIAotCXBvc3Rfc2V0KCk7CisJcG9zdF9zZXQocGdlKTsKIAlsb2Nh bF9pcnFfcmVzdG9yZShmbGFncyk7CiB9CiAKZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni9mbHVz aHRsYi5jIGIveGVuL2FyY2gveDg2L2ZsdXNodGxiLmMKaW5kZXggNzg4YzYxZDgxYS4uZmMzYjBh MzI2OCAxMDA2NDQKLS0tIGEveGVuL2FyY2gveDg2L2ZsdXNodGxiLmMKKysrIGIveGVuL2FyY2gv eDg2L2ZsdXNodGxiLmMKQEAgLTEwLDYgKzEwLDcgQEAKICNpbmNsdWRlIDx4ZW4vc2NoZWQuaD4K ICNpbmNsdWRlIDx4ZW4vc29mdGlycS5oPgogI2luY2x1ZGUgPGFzbS9mbHVzaHRsYi5oPgorI2lu Y2x1ZGUgPGFzbS9pbnZwY2lkLmg+CiAjaW5jbHVkZSA8YXNtL3BhZ2UuaD4KIAogLyogRGVidWcg YnVpbGRzOiBXcmFwIGZyZXF1ZW50bHkgdG8gc3RyZXNzLXRlc3QgdGhlIHdyYXAgbG9naWMuICov CkBAIC03MSw2ICs3MiwyMyBAQCBzdGF0aWMgdm9pZCBwb3N0X2ZsdXNoKHUzMiB0KQogICAgIHRo aXNfY3B1KHRsYmZsdXNoX3RpbWUpID0gdDsKIH0KIAorc3RhdGljIHZvaWQgZG9fdGxiX2ZsdXNo KHZvaWQpCit7CisgICAgdTMyIHQgPSBwcmVfZmx1c2goKTsKKworICAgIGlmICggdXNlX2ludnBj aWQgKQorICAgICAgICBpbnZwY2lkX2ZsdXNoX2FsbCgpOworICAgIGVsc2UKKyAgICB7CisgICAg ICAgIHVuc2lnbmVkIGxvbmcgY3I0ID0gcmVhZF9jcjQoKTsKKworICAgICAgICB3cml0ZV9jcjQo Y3I0IF4gWDg2X0NSNF9QR0UpOworICAgICAgICB3cml0ZV9jcjQoY3I0KTsKKyAgICB9CisKKyAg ICBwb3N0X2ZsdXNoKHQpOworfQorCiB2b2lkIHN3aXRjaF9jcjModW5zaWduZWQgbG9uZyBjcjMp CiB7CiAgICAgdW5zaWduZWQgbG9uZyBmbGFncywgY3I0OwpAQCAtMTE4LDE2ICsxMzYsNyBAQCB1 bnNpZ25lZCBpbnQgZmx1c2hfYXJlYV9sb2NhbChjb25zdCB2b2lkICp2YSwgdW5zaWduZWQgaW50 IGZsYWdzKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgOiA6ICJtIiAoKihjb25zdCBjaGFy ICopKHZhKSkgOiAibWVtb3J5IiApOwogICAgICAgICB9CiAgICAgICAgIGVsc2UKLSAgICAgICAg ewotICAgICAgICAgICAgdTMyIHQgPSBwcmVfZmx1c2goKTsKLSAgICAgICAgICAgIHVuc2lnbmVk IGxvbmcgY3I0ID0gcmVhZF9jcjQoKTsKLQotICAgICAgICAgICAgd3JpdGVfY3I0KGNyNCAmIH5Y ODZfQ1I0X1BHRSk7Ci0gICAgICAgICAgICBiYXJyaWVyKCk7Ci0gICAgICAgICAgICB3cml0ZV9j cjQoY3I0KTsKLQotICAgICAgICAgICAgcG9zdF9mbHVzaCh0KTsKLSAgICAgICAgfQorICAgICAg ICAgICAgZG9fdGxiX2ZsdXNoKCk7CiAgICAgfQogCiAgICAgaWYgKCBmbGFncyAmIEZMVVNIX0NB Q0hFICkKZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni9zZXR1cC5jIGIveGVuL2FyY2gveDg2L3Nl dHVwLmMKaW5kZXggODg3ZDc1YTk4MS4uNWFkY2MzNjE0NyAxMDA2NDQKLS0tIGEveGVuL2FyY2gv eDg2L3NldHVwLmMKKysrIGIveGVuL2FyY2gveDg2L3NldHVwLmMKQEAgLTYyLDYgKzYyLDExIEBA IGJvb2xlYW5fcGFyYW0oIm5vc21wIiwgb3B0X25vc21wKTsKIHN0YXRpYyB1bnNpZ25lZCBpbnQg X19pbml0ZGF0YSBtYXhfY3B1czsKIGludGVnZXJfcGFyYW0oIm1heGNwdXMiLCBtYXhfY3B1cyk7 CiAKKy8qIG9wdF9pbnZwY2lkOiBJZiBmYWxzZSwgZG9uJ3QgdXNlIElOVlBDSUQgaW5zdHJ1Y3Rp b24gZXZlbiBpZiBhdmFpbGFibGUuICovCitzdGF0aWMgYm9vbCBfX2luaXRkYXRhIG9wdF9pbnZw Y2lkID0gdHJ1ZTsKK2Jvb2xlYW5fcGFyYW0oImludnBjaWQiLCBvcHRfaW52cGNpZCk7Citib29s IF9fcmVhZF9tb3N0bHkgdXNlX2ludnBjaWQ7CisKIHVuc2lnbmVkIGxvbmcgX19yZWFkX21vc3Rs eSBjcjRfcHYzMl9tYXNrOwogCiAvKiAqKioqIExpbnV4IGNvbmZpZyBvcHRpb246IHByb3BhZ2F0 ZWQgdG8gZG9tYWluMC4gKi8KQEAgLTE1NDYsNiArMTU1MSw5IEBAIHZvaWQgX19pbml0IG5vcmV0 dXJuIF9fc3RhcnRfeGVuKHVuc2lnbmVkIGxvbmcgbWJpX3ApCiAgICAgaWYgKCBjcHVfaGFzX2Zz Z3NiYXNlICkKICAgICAgICAgc2V0X2luX2NyNChYODZfQ1I0X0ZTR1NCQVNFKTsKIAorICAgIGlm ICggb3B0X2ludnBjaWQgJiYgY3B1X2hhc19pbnZwY2lkICkKKyAgICAgICAgdXNlX2ludnBjaWQg PSB0cnVlOworCiAgICAgaW5pdF9zcGVjdWxhdGlvbl9taXRpZ2F0aW9ucygpOwogCiAgICAgaW5p dF9pZGxlX2RvbWFpbigpOwpkaWZmIC0tZ2l0IGEveGVuL2luY2x1ZGUvYXNtLXg4Ni9pbnZwY2lk LmggYi94ZW4vaW5jbHVkZS9hc20teDg2L2ludnBjaWQuaAppbmRleCBiNDY2MjRhODY1Li5lZGQ4 YjY4NzA2IDEwMDY0NAotLS0gYS94ZW4vaW5jbHVkZS9hc20teDg2L2ludnBjaWQuaAorKysgYi94 ZW4vaW5jbHVkZS9hc20teDg2L2ludnBjaWQuaApAQCAtMyw2ICszLDggQEAKIAogI2luY2x1ZGUg PHhlbi90eXBlcy5oPgogCitleHRlcm4gYm9vbCB1c2VfaW52cGNpZDsKKwogI2RlZmluZSBJTlZQ Q0lEX1RZUEVfSU5ESVZfQUREUiAgICAgIDAKICNkZWZpbmUgSU5WUENJRF9UWVBFX1NJTkdMRV9D VFhUICAgICAxCiAjZGVmaW5lIElOVlBDSURfVFlQRV9BTExfSU5DTF9HTE9CQUwgMgotLSAKMi4x My42CgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KWGVu LWRldmVsIG1haWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKaHR0cHM6 Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL3hlbi1kZXZlbA==