From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andrew Cooper Subject: [PATCH v6.5 24/26] x86/ctxt: Issue a speculation barrier between vcpu contexts Date: Thu, 4 Jan 2018 00:15:53 +0000 Message-ID: <1515024955-13390-25-git-send-email-andrew.cooper3@citrix.com> References: <1515024955-13390-1-git-send-email-andrew.cooper3@citrix.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1515024955-13390-1-git-send-email-andrew.cooper3@citrix.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" To: Xen-devel Cc: Andrew Cooper List-Id: xen-devel@lists.xenproject.org U2lnbmVkLW9mZi1ieTogQW5kcmV3IENvb3BlciA8YW5kcmV3LmNvb3BlcjNAY2l0cml4LmNvbT4K UmV2aWV3ZWQtYnk6IEphbiBCZXVsaWNoIDxqYmV1bGljaEBzdXNlLmNvbT4KLS0tCnY0OgogKiBB ZGp1c3QgZm9yIEFNRCBjaGFuZ2VzCi0tLQogZG9jcy9taXNjL3hlbi1jb21tYW5kLWxpbmUubWFy a2Rvd24gfCAgNSArKysrLQogeGVuL2FyY2gveDg2L2RvbWFpbi5jICAgICAgICAgICAgICAgfCAg MyArKysKIHhlbi9hcmNoL3g4Ni9zcGVjX2N0cmwuYyAgICAgICAgICAgIHwgMTMgKysrKysrKysr Ky0tLQogeGVuL2luY2x1ZGUvYXNtLXg4Ni9jcHVmZWF0dXJlLmggICAgfCAgMSArCiA0IGZpbGVz IGNoYW5nZWQsIDE4IGluc2VydGlvbnMoKyksIDQgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEv ZG9jcy9taXNjL3hlbi1jb21tYW5kLWxpbmUubWFya2Rvd24gYi9kb2NzL21pc2MveGVuLWNvbW1h bmQtbGluZS5tYXJrZG93bgppbmRleCA4YmZmZTQ0Li42NWQ5NGYyIDEwMDY0NAotLS0gYS9kb2Nz L21pc2MveGVuLWNvbW1hbmQtbGluZS5tYXJrZG93bgorKysgYi9kb2NzL21pc2MveGVuLWNvbW1h bmQtbGluZS5tYXJrZG93bgpAQCAtMjQ2LDcgKzI0Niw3IEBAIGVub3VnaC4gU2V0dGluZyB0aGlz IHRvIGEgaGlnaCB2YWx1ZSBtYXkgY2F1c2UgYm9vdCBmYWlsdXJlLCBwYXJ0aWN1bGFybHkgaWYK IHRoZSBOTUkgd2F0Y2hkb2cgaXMgYWxzbyBlbmFibGVkLgogCiAjIyMgYnRpICh4ODYpCi0+IGA9 IExpc3Qgb2YgWyB0aHVuaz1yZXRwb2xpbmV8bGZlbmNlfHBsYWluLCBpYnJzPTxib29sPiwgcnNi X3t2bWV4aXQsbmF0aXZlfT1ib29sIF1gCis+IGA9IExpc3Qgb2YgWyB0aHVuaz1yZXRwb2xpbmV8 bGZlbmNlfHBsYWluLCBpYnJzPTxib29sPiwgaWJwYj08Ym9vbD4sIHJzYl97dm1leGl0LG5hdGl2 ZX09Ym9vbCBdYAogCiBCcmFuY2ggVGFyZ2V0IEluamVjdGlvbiBjb250cm9scy4gIEJ5IGRlZmF1 bHQsIFhlbiB3aWxsIHBpY2sgdGhlIG1vc3QKIGFwcHJvcHJpYXRlIEJUSSBtaXRpZ2F0aW9ucyBi YXNlZCBvbiBjb21waWxlZCBpbiBzdXBwb3J0LCBsb2FkZWQgbWljcm9jb2RlLApAQCAtMjYzLDYg KzI2Myw5IEBAIE9uIGhhcmR3YXJlIHN1cHBvcnRpbmcgSUJSUywgdGhlIGBpYnJzPWAgb3B0aW9u IGNhbiBiZSB1c2VkIHRvIGZvcmNlIG9yCiBwcmV2ZW50IFhlbiB1c2luZyB0aGUgZmVhdHVyZSBp dHNlbGYuICBJZiBYZW4gaXMgbm90IHVzaW5nIElCUlMgaXRzZWxmLAogZnVuY3Rpb25hbGl0eSBp cyBzdGlsbCBzZXQgdXAgc28gSUJSUyBjYW4gYmUgdmlydHVhbGlzZWQgZm9yIGd1ZXN0cy4KIAor T24gaGFyZHdhcmUgc3VwcG9ydGluZyBJQlBCLCB0aGUgYGlicGI9YCBvcHRpb24gY2FuIGJlIHVz ZWQgdG8gcHJldmVudCBYZW4KK2Zyb20gaXNzdWluZyBCcmFuY2ggUHJlZGljdGlvbiBCYXJyaWVy cyBvbiB2Y3B1IGNvbnRleHQgc3dpdGNoZXMuCisKIFRoZSBgcnNiX3ZtZXhpdD1gIGFuZCBgcnNi X25hdGl2ZT1gIG9wdGlvbnMgY2FuIGJlIHVzZWQgdG8gZmluZSB0dW5lIHdoZW4gdGhlCiBSU0Ig Z2V0cyBvdmVyd3JpdHRlbi4gIFRoZXJlIGFyZSBpbmRpdmlkdWFsIGNvbnRyb2xzIGZvciBhbiBl bnRyeSBmcm9tIEhWTQogY29udGV4dCwgYW5kIGFuIGVudHJ5IGZyb20gYSBuYXRpdmUgKFBWIG9y IFhlbikgY29udGV4dC4KZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni9kb21haW4uYyBiL3hlbi9h cmNoL3g4Ni9kb21haW4uYwppbmRleCA2OTgzNDZlLi42MjAwMmYxIDEwMDY0NAotLS0gYS94ZW4v YXJjaC94ODYvZG9tYWluLmMKKysrIGIveGVuL2FyY2gveDg2L2RvbWFpbi5jCkBAIC0xNzMyLDYg KzE3MzIsOSBAQCB2b2lkIGNvbnRleHRfc3dpdGNoKHN0cnVjdCB2Y3B1ICpwcmV2LCBzdHJ1Y3Qg dmNwdSAqbmV4dCkKICAgICAgICAgfQogCiAgICAgICAgIGN0eHRfc3dpdGNoX2xldmVsbGluZyhu ZXh0KTsKKworICAgICAgICBpZiAoIGNwdV9oYXNfeGVuX2licGIgKQorICAgICAgICAgICAgd3Jt c3JsKE1TUl9QUkVEX0NNRCwgUFJFRF9DTURfSUJQQik7CiAgICAgfQogCiAgICAgY29udGV4dF9z YXZlZChwcmV2KTsKZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni9zcGVjX2N0cmwuYyBiL3hlbi9h cmNoL3g4Ni9zcGVjX2N0cmwuYwppbmRleCBiYmY4Zjk2Li43OWFlZGY3IDEwMDY0NAotLS0gYS94 ZW4vYXJjaC94ODYvc3BlY19jdHJsLmMKKysrIGIveGVuL2FyY2gveDg2L3NwZWNfY3RybC5jCkBA IC0zMiw3ICszMiw3IEBAIGVudW0gaW5kX3RodW5rIHsKICAgICBUSFVOS19MRkVOQ0UsCiAgICAg VEhVTktfSk1QLAogfSBvcHRfdGh1bmsgX19pbml0ZGF0YSA9IFRIVU5LX0RFRkFVTFQ7Ci1pbnQg b3B0X2licnMgX19pbml0ZGF0YSA9IC0xOworaW50IG9wdF9pYnJzIF9faW5pdGRhdGEgPSAtMSwg b3B0X2licGIgX19pbml0ZGF0YSA9IC0xOwogaW50IG9wdF9yc2JfbmF0aXZlIF9faW5pdGRhdGEg PSAtMSwgb3B0X3JzYl92bWV4aXQgX19pbml0ZGF0YSA9IC0xOwogCiBzdGF0aWMgaW50IF9faW5p dCBwYXJzZV9idGkoY29uc3QgY2hhciAqcykKQEAgLTYwLDYgKzYwLDggQEAgc3RhdGljIGludCBf X2luaXQgcGFyc2VfYnRpKGNvbnN0IGNoYXIgKnMpCiAgICAgICAgIH0KICAgICAgICAgZWxzZSBp ZiAoICh2YWwgPSBwYXJzZV9ib29sZWFuKCJpYnJzIiwgcywgc3MpKSA+PSAwICkKICAgICAgICAg ICAgIG9wdF9pYnJzID0gdmFsOworICAgICAgICBlbHNlIGlmICggKHZhbCA9IHBhcnNlX2Jvb2xl YW4oImlicGIiLCBzLCBzcykpID49IDAgKQorICAgICAgICAgICAgb3B0X2licGIgPSB2YWw7CiAg ICAgICAgIGVsc2UgaWYgKCAodmFsID0gcGFyc2VfYm9vbGVhbigicnNiX25hdGl2ZSIsIHMsIHNz KSkgPj0gMCApCiAgICAgICAgICAgICBvcHRfcnNiX25hdGl2ZSA9IHZhbDsKICAgICAgICAgZWxz ZSBpZiAoICh2YWwgPSBwYXJzZV9ib29sZWFuKCJyc2Jfdm1leGl0Iiwgcywgc3MpKSA+PSAwICkK QEAgLTEwMiwxMyArMTA0LDE0IEBAIHN0YXRpYyB2b2lkIF9faW5pdCBwcmludF9kZXRhaWxzKGVu dW0gaW5kX3RodW5rIHRodW5rKQogICAgICAgICBwcmludGsoWEVOTE9HX0RFQlVHICIgIENvbXBp bGVkLWluIHN1cHBvcnQ6IElORElSRUNUX1RIVU5LXG4iKTsKIAogICAgIHByaW50ayhYRU5MT0df SU5GTwotICAgICAgICAgICAiQlRJIG1pdGlnYXRpb25zOiBUaHVuayAlcywgT3RoZXJzOiVzJXMl cyVzXG4iLAorICAgICAgICAgICAiQlRJIG1pdGlnYXRpb25zOiBUaHVuayAlcywgT3RoZXJzOiVz JXMlcyVzJXNcbiIsCiAgICAgICAgICAgIHRodW5rID09IFRIVU5LX05PTkUgICAgICA/ICJOL0Ei IDoKICAgICAgICAgICAgdGh1bmsgPT0gVEhVTktfUkVUUE9MSU5FID8gIlJFVFBPTElORSIgOgog ICAgICAgICAgICB0aHVuayA9PSBUSFVOS19MRkVOQ0UgICAgPyAiTEZFTkNFIiA6CiAgICAgICAg ICAgIHRodW5rID09IFRIVU5LX0pNUCAgICAgICA/ICJKTVAiIDogIj8iLAogICAgICAgICAgICBi b290X2NwdV9oYXMoWDg2X0ZFQVRVUkVfWEVOX0lCUlNfU0VUKSAgICA/ICIgSUJSUysiIDoKICAg ICAgICAgICAgYm9vdF9jcHVfaGFzKFg4Nl9GRUFUVVJFX1hFTl9JQlJTX0NMRUFSKSAgPyAiIElC UlMtIiAgICAgIDogIiIsCisgICAgICAgICAgIGNwdV9oYXNfeGVuX2licGIgICAgICAgICAgICAg ICAgICAgICAgICAgID8gIiBJQlBCIiAgICAgICA6ICIiLAogICAgICAgICAgICBjcHVfaGFzX3hl bl9zbWVwICAgICAgICAgICAgICAgICAgICAgICAgICA/ICIgU01FUCIgICAgICAgOiAiIiwKICAg ICAgICAgICAgKGJvb3RfY3B1X2hhcyhYODZfRkVBVFVSRV9SU0JfVk1FWElUKSB8fAogICAgICAg ICAgICAgYm9vdF9jcHVfaGFzKFg4Nl9GRUFUVVJFX1JTQl9WTUVYSVRfU1MpKSA/ICIgUlNCX1ZN RVhJVCIgOiAiIiwKQEAgLTE3OSw3ICsxODIsNyBAQCB2b2lkIF9faW5pdCBpbml0X3NwZWN1bGF0 aW9uX21pdGlnYXRpb25zKHZvaWQpCiAgICAgICogSGFzIHRoZSB1c2VyIHNwZWNpZmllZCBhbnkg Y3VzdG9tIEJUSSBtaXRpZ2F0aW9ucz8gIElmIHNvLCBmb2xsb3cgdGhlaXIKICAgICAgKiBpbnN0 cnVjdGlvbnMgZXhhY3RseSBhbmQgZGlzYWJsZSBhbGwgaGV1cmlzdGljcy4KICAgICAgKi8KLSAg ICBpZiAoIG9wdF90aHVuayAhPSBUSFVOS19ERUZBVUxUIHx8IG9wdF9pYnJzICE9IC0xIHx8Cisg ICAgaWYgKCBvcHRfdGh1bmsgIT0gVEhVTktfREVGQVVMVCB8fCBvcHRfaWJycyAhPSAtMSB8fCBv cHRfaWJycyAhPSAtMSB8fAogICAgICAgICAgb3B0X3JzYl9uYXRpdmUgIT0gLTEgfHwgb3B0X3Jz Yl92bWV4aXQgIT0gLTEgKQogICAgIHsKICAgICAgICAgdGh1bmsgPSBvcHRfdGh1bms7CkBAIC0z MDcsNiArMzEwLDEwIEBAIHZvaWQgX19pbml0IGluaXRfc3BlY3VsYXRpb25fbWl0aWdhdGlvbnMo dm9pZCkKICAgICAgICAgfQogICAgIH0KIAorICAgIGlmICggKGJvb3RfY3B1X2hhcyhYODZfRkVB VFVSRV9JQlJTQikgfHwKKyAgICAgICAgICBib290X2NwdV9oYXMoWDg2X0ZFQVRVUkVfSUJQQikp ICYmIG9wdF9pYnBiICkKKyAgICAgICAgc2V0dXBfZm9yY2VfY3B1X2NhcChYODZfRkVBVFVSRV9Y RU5fSUJQQik7CisKICAgICBwcmludF9kZXRhaWxzKHRodW5rKTsKIH0KIApkaWZmIC0tZ2l0IGEv eGVuL2luY2x1ZGUvYXNtLXg4Ni9jcHVmZWF0dXJlLmggYi94ZW4vaW5jbHVkZS9hc20teDg2L2Nw dWZlYXR1cmUuaAppbmRleCBiNzY2N2I0Li5mMWMzMGYxIDEwMDY0NAotLS0gYS94ZW4vaW5jbHVk ZS9hc20teDg2L2NwdWZlYXR1cmUuaAorKysgYi94ZW4vaW5jbHVkZS9hc20teDg2L2NwdWZlYXR1 cmUuaApAQCAtMTA5LDYgKzEwOSw3IEBACiAjZGVmaW5lIGNwdV9oYXNfYXBlcmZtcGVyZiAgICAg IGJvb3RfY3B1X2hhcyhYODZfRkVBVFVSRV9BUEVSRk1QRVJGKQogI2RlZmluZSBjcHVfaGFzX3hl bl9zbWVwICAgICAgICBib290X2NwdV9oYXMoWDg2X0ZFQVRVUkVfWEVOX1NNRVApCiAjZGVmaW5l IGNwdV9oYXNfbGZlbmNlX2Rpc3BhdGNoIGJvb3RfY3B1X2hhcyhYODZfRkVBVFVSRV9MRkVOQ0Vf RElTUEFUQ0gpCisjZGVmaW5lIGNwdV9oYXNfeGVuX2licGIgICAgICAgIGJvb3RfY3B1X2hhcyhY ODZfRkVBVFVSRV9YRU5fSUJQQikKIAogZW51bSBfY2FjaGVfdHlwZSB7CiAgICAgQ0FDSEVfVFlQ RV9OVUxMID0gMCwKLS0gCjIuMS40CgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX18KWGVuLWRldmVsIG1haWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlzdHMueGVu cHJvamVjdC5vcmcKaHR0cHM6Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9tYWlsbWFuL2xpc3RpbmZv L3hlbi1kZXZlbA==