From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andrew Cooper Subject: [PATCH v8 07/17] x86/cmdline: Introduce a command line option to disable IBRS/IBPB, STIBP and IBPB Date: Fri, 12 Jan 2018 18:00:57 +0000 Message-ID: <1515780067-31735-8-git-send-email-andrew.cooper3@citrix.com> References: <1515780067-31735-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: <1515780067-31735-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 SW5zdGVhZCBvZiBnYWluaW5nIHlldCBhbm90aGVyIHRvcCBsZXZlbCBib29sZWFuLCBpbnRyb2R1 Y2UgYSBtb3JlIGdlbmVyaWMKY3B1aWQ9IG9wdGlvbi4gIEFsc28gaW50cm9kdWNlIGEgaGVscGVy IGZ1bmN0aW9uIHRvIHBhcnNlIGEgZ2VuZXJpYyBib29sZWFuCnZhbHVlLgoKU2lnbmVkLW9mZi1i eTogQW5kcmV3IENvb3BlciA8YW5kcmV3LmNvb3BlcjNAY2l0cml4LmNvbT4KUmV2aWV3ZWQtYnk6 IEphbiBCZXVsaWNoIDxqYmV1bGljaEBzdXNlLmNvbT4KLS0tCiBkb2NzL21pc2MveGVuLWNvbW1h bmQtbGluZS5tYXJrZG93biB8IDEyICsrKysrKysrKysrKwogeGVuL2FyY2gveDg2L2NwdWlkLmMg ICAgICAgICAgICAgICAgfCAzNSArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwog eGVuL2NvbW1vbi9rZXJuZWwuYyAgICAgICAgICAgICAgICAgfCAyMyArKysrKysrKysrKysrKysr KysrKysrKwogeGVuL2luY2x1ZGUveGVuL2xpYi5oICAgICAgICAgICAgICAgfCAgNyArKysrKysr CiA0IGZpbGVzIGNoYW5nZWQsIDc3IGluc2VydGlvbnMoKykKCmRpZmYgLS1naXQgYS9kb2NzL21p c2MveGVuLWNvbW1hbmQtbGluZS5tYXJrZG93biBiL2RvY3MvbWlzYy94ZW4tY29tbWFuZC1saW5l Lm1hcmtkb3duCmluZGV4IDk2ZTU3YzIuLmI0MmFiYzYgMTAwNjQ0Ci0tLSBhL2RvY3MvbWlzYy94 ZW4tY29tbWFuZC1saW5lLm1hcmtkb3duCisrKyBiL2RvY3MvbWlzYy94ZW4tY29tbWFuZC1saW5l Lm1hcmtkb3duCkBAIC00NzEsNiArNDcxLDE4IEBAIGNob2ljZSBvZiBgZG9tMC1rZXJuZWxgIGlz IGRlcHJlY2F0ZWQgYW5kIG5vdCBzdXBwb3J0ZWQgYnkgYWxsIERvbTAga2VybmVscy4KICAgcmVz cGVjdGl2ZWx5LgogKiBgdmVyYm9zZWAgb3B0aW9uIGNhbiBiZSBpbmNsdWRlZCBhcyBhIHN0cmlu ZyBvciBhbHNvIGFzIGB2ZXJib3NlPTxpbnRlZ2VyPmAKIAorIyMjIGNwdWlkICh4ODYpCis+IGA9 IExpc3Qgb2YgY29tbWEgc2VwYXJhdGVkIGJvb2xlYW5zYAorCitUaGlzIG9wdGlvbiBhbGxvd3Mg Zm9yIGZpbmUgdHVuaW5nIG9mIHRoZSBmYWNpbGl0aWVzIFhlbiB3aWxsIHVzZSwgYWZ0ZXIKK2Fj Y291bnRpbmcgZm9yIGhhcmR3YXJlIGNhcGFiaWxpdGllcyBhcyBlbnVtZXJhdGVkIHZpYSBDUFVJ RC4KKworQ3VycmVudGx5IGFjY2VwdGVkOgorCitUaGUgU3BlY3VsYXRpb24gQ29udHJvbCBoYXJk d2FyZSBmZWF0dXJlcyBgaWJyc2JgLCBgc3RpYnBgLCBgaWJwYmAgYXJlIHVzZWQgYnkKK2RlZmF1 bHQgaWYgYXZhaWFibGUuICBUaGV5IGNhbiBiZSBpZ25vcmVkLCBlLmcuIGBuby1pYnJzYmAsIGF0 IHdoaWNoIHBvaW50IFhlbgord29uJ3QgdXNlIHRoZW0gaXRzZWxmLCBhbmQgd29uJ3Qgb2ZmZXIg dGhlbSB0byBndWVzdHMuCisKICMjIyBjcHVpZFxfbWFza1xfY3B1IChBTUQgb25seSkKID4gYD0g ZmFtXzBmX3Jldl9jIHwgZmFtXzBmX3Jldl9kIHwgZmFtXzBmX3Jldl9lIHwgZmFtXzBmX3Jldl9m IHwgZmFtXzBmX3Jldl9nIHwgZmFtXzEwX3Jldl9iIHwgZmFtXzEwX3Jldl9jIHwgZmFtXzExX3Jl dl9iYAogCmRpZmYgLS1naXQgYS94ZW4vYXJjaC94ODYvY3B1aWQuYyBiL3hlbi9hcmNoL3g4Ni9j cHVpZC5jCmluZGV4IDVlZTgyZDMuLjJlZjcxZDIgMTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL3g4Ni9j cHVpZC5jCisrKyBiL3hlbi9hcmNoL3g4Ni9jcHVpZC5jCkBAIC0xOCw2ICsxOCw0MSBAQCBzdGF0 aWMgY29uc3QgdWludDMyX3QgaHZtX3NoYWRvd19mZWF0dXJlbWFza1tdID0gSU5JVF9IVk1fU0hB RE9XX0ZFQVRVUkVTOwogc3RhdGljIGNvbnN0IHVpbnQzMl90IGh2bV9oYXBfZmVhdHVyZW1hc2tb XSA9IElOSVRfSFZNX0hBUF9GRUFUVVJFUzsKIHN0YXRpYyBjb25zdCB1aW50MzJfdCBkZWVwX2Zl YXR1cmVzW10gPSBJTklUX0RFRVBfRkVBVFVSRVM7CiAKK3N0YXRpYyBpbnQgX19pbml0IHBhcnNl X3hlbl9jcHVpZChjb25zdCBjaGFyICpzKQoreworICAgIGNvbnN0IGNoYXIgKnNzOworICAgIGlu dCB2YWwsIHJjID0gMDsKKworICAgIGRvIHsKKyAgICAgICAgc3MgPSBzdHJjaHIocywgJywnKTsK KyAgICAgICAgaWYgKCAhc3MgKQorICAgICAgICAgICAgc3MgPSBzdHJjaHIocywgJ1wwJyk7CisK KyAgICAgICAgaWYgKCAodmFsID0gcGFyc2VfYm9vbGVhbigiaWJwYiIsIHMsIHNzKSkgPj0gMCAp CisgICAgICAgIHsKKyAgICAgICAgICAgIGlmICggIXZhbCApCisgICAgICAgICAgICAgICAgc2V0 dXBfY2xlYXJfY3B1X2NhcChYODZfRkVBVFVSRV9JQlBCKTsKKyAgICAgICAgfQorICAgICAgICBl bHNlIGlmICggKHZhbCA9IHBhcnNlX2Jvb2xlYW4oImlicnNiIiwgcywgc3MpKSA+PSAwICkKKyAg ICAgICAgeworICAgICAgICAgICAgaWYgKCAhdmFsICkKKyAgICAgICAgICAgICAgICBzZXR1cF9j bGVhcl9jcHVfY2FwKFg4Nl9GRUFUVVJFX0lCUlNCKTsKKyAgICAgICAgfQorICAgICAgICBlbHNl IGlmICggKHZhbCA9IHBhcnNlX2Jvb2xlYW4oInN0aWJwIiwgcywgc3MpKSA+PSAwICkKKyAgICAg ICAgeworICAgICAgICAgICAgaWYgKCAhdmFsICkKKyAgICAgICAgICAgICAgICBzZXR1cF9jbGVh cl9jcHVfY2FwKFg4Nl9GRUFUVVJFX1NUSUJQKTsKKyAgICAgICAgfQorICAgICAgICBlbHNlCisg ICAgICAgICAgICByYyA9IC1FSU5WQUw7CisKKyAgICAgICAgcyA9IHNzICsgMTsKKyAgICB9IHdo aWxlICggKnNzICk7CisKKyAgICByZXR1cm4gcmM7Cit9CitjdXN0b21fcGFyYW0oImNwdWlkIiwg cGFyc2VfeGVuX2NwdWlkKTsKKwogI2RlZmluZSBFTVBUWV9MRUFGICgoc3RydWN0IGNwdWlkX2xl YWYpe30pCiBzdGF0aWMgdm9pZCB6ZXJvX2xlYXZlcyhzdHJ1Y3QgY3B1aWRfbGVhZiAqbCwKICAg ICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGludCBmaXJzdCwgdW5zaWduZWQgaW50IGxh c3QpCmRpZmYgLS1naXQgYS94ZW4vY29tbW9uL2tlcm5lbC5jIGIveGVuL2NvbW1vbi9rZXJuZWwu YwppbmRleCA4ZDEzN2M1Li4xOWY5YmFkIDEwMDY0NAotLS0gYS94ZW4vY29tbW9uL2tlcm5lbC5j CisrKyBiL3hlbi9jb21tb24va2VybmVsLmMKQEAgLTI0NCw2ICsyNDQsMjkgQEAgaW50IHBhcnNl X2Jvb2woY29uc3QgY2hhciAqcywgY29uc3QgY2hhciAqZSkKICAgICByZXR1cm4gLTE7CiB9CiAK K2ludCBwYXJzZV9ib29sZWFuKGNvbnN0IGNoYXIgKm5hbWUsIGNvbnN0IGNoYXIgKnMsIGNvbnN0 IGNoYXIgKmUpCit7CisgICAgc2l6ZV90IHNsZW4sIG5sZW47CisgICAgaW50IHZhbCA9ICEhc3Ry bmNtcChzLCAibm8tIiwgMyk7CisKKyAgICBpZiAoICF2YWwgKQorICAgICAgICBzICs9IDM7CisK KyAgICBzbGVuID0gZSA/ICh7IEFTU0VSVChlID49IHMpOyBlIC0gczsgfSkgOiBzdHJsZW4ocyk7 CisgICAgbmxlbiA9IHN0cmxlbihuYW1lKTsKKworICAgIC8qIERvZXMgcyBub3cgc3RhcnQgd2l0 aCBuYW1lPyAqLworICAgIGlmICggc2xlbiA8IG5sZW4gfHwgc3RybmNtcChzLCBuYW1lLCBubGVu KSApCisgICAgICAgIHJldHVybiAtMTsKKworICAgIHN3aXRjaCAoIHNbbmxlbl0gKQorICAgIHsK KyAgICBjYXNlICdcMCc6IHJldHVybiB2YWw7CisgICAgY2FzZSAnPSc6ICByZXR1cm4gcGFyc2Vf Ym9vbCgmc1tubGVuICsgMV0sIGUpOworICAgIGRlZmF1bHQ6ICAgcmV0dXJuIC0xOworICAgIH0K K30KKwogdW5zaWduZWQgaW50IHRhaW50ZWQ7CiAKIC8qKgpkaWZmIC0tZ2l0IGEveGVuL2luY2x1 ZGUveGVuL2xpYi5oIGIveGVuL2luY2x1ZGUveGVuL2xpYi5oCmluZGV4IGVkMDBhZTEuLjFkOTc3 MTMgMTAwNjQ0Ci0tLSBhL3hlbi9pbmNsdWRlL3hlbi9saWIuaAorKysgYi94ZW4vaW5jbHVkZS94 ZW4vbGliLmgKQEAgLTc0LDYgKzc0LDEzIEBAIHZvaWQgY21kbGluZV9wYXJzZShjb25zdCBjaGFy ICpjbWRsaW5lKTsKIGludCBydW50aW1lX3BhcnNlKGNvbnN0IGNoYXIgKmxpbmUpOwogaW50IHBh cnNlX2Jvb2woY29uc3QgY2hhciAqcywgY29uc3QgY2hhciAqZSk7CiAKKy8qKgorICogR2l2ZW4g YSBzcGVjaWZpYyBuYW1lLCBwYXJzZXMgYSBzdHJpbmcgb2YgdGhlIGZvcm06CisgKiAgIFtuby1d JE5BTUVbPS4uLl0KKyAqIHJldHVybmluZyAwIG9yIDEgZm9yIGEgcmVjb2duaXNlZCBib29sZWFu LCBvciAtMSBmb3IgYW4gZXJyb3IuCisgKi8KK2ludCBwYXJzZV9ib29sZWFuKGNvbnN0IGNoYXIg Km5hbWUsIGNvbnN0IGNoYXIgKnMsIGNvbnN0IGNoYXIgKmUpOworCiAvKiNkZWZpbmUgREVCVUdf VFJBQ0VfRFVNUCovCiAjaWZkZWYgREVCVUdfVFJBQ0VfRFVNUAogZXh0ZXJuIHZvaWQgZGVidWd0 cmFjZV9kdW1wKHZvaWQpOwotLSAKMi4xLjQKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fXwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0 cy54ZW5wcm9qZWN0Lm9yZwpodHRwczovL2xpc3RzLnhlbnByb2plY3Qub3JnL21haWxtYW4vbGlz dGluZm8veGVuLWRldmVs