From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andrew Cooper Subject: [PATCH v6.5 16/26] x86/cmdline: Introduce a command line option to disable IBRS/IBPB, STIBP and IBPB Date: Thu, 4 Jan 2018 00:15:45 +0000 Message-ID: <1515024955-13390-17-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 , Jan Beulich List-Id: xen-devel@lists.xenproject.org SW5zdGVhZCBvZiBnYWluaW5nIHlldCBhbm90aGVyIHRvcCBsZXZlbCBib29sZWFuLCBpbnRyb2R1 Y2UgYSBtb3JlIGdlbmVyaWMKY3B1aWQ9IG9wdGlvbi4gIEFsc28gaW50cm9kdWNlIGEgaGVscGVy IGZ1bmN0aW9uIHRvIHBhcnNlIGEgZ2VuZXJpYyBib29sZWFuCnZhbHVlLgoKU2lnbmVkLW9mZi1i eTogQW5kcmV3IENvb3BlciA8YW5kcmV3LmNvb3BlcjNAY2l0cml4LmNvbT4KLS0tCkNDOiBKYW4g QmV1bGljaCA8SkJldWxpY2hAc3VzZS5jb20+Cgp2MzoKICogTmV3CnY0OgogKiBSZW5hbWUgInhl bi1jcHVpZCIgdG8gImNwdWlkIgogKiBBZGp1c3QgY29tbWVudCBpbiBwYXJzZV9ib29sZWFuKCkK LS0tCiBkb2NzL21pc2MveGVuLWNvbW1hbmQtbGluZS5tYXJrZG93biB8IDEyICsrKysrKysrKysr KwogeGVuL2FyY2gveDg2L2NwdWlkLmMgICAgICAgICAgICAgICAgfCAzNSArKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKwogeGVuL2NvbW1vbi9rZXJuZWwuYyAgICAgICAgICAgICAg ICAgfCAyMyArKysrKysrKysrKysrKysrKysrKysrKwogeGVuL2luY2x1ZGUveGVuL2xpYi5oICAg ICAgICAgICAgICAgfCAgNyArKysrKysrCiA0IGZpbGVzIGNoYW5nZWQsIDc3IGluc2VydGlvbnMo KykKCmRpZmYgLS1naXQgYS9kb2NzL21pc2MveGVuLWNvbW1hbmQtbGluZS5tYXJrZG93biBiL2Rv Y3MvbWlzYy94ZW4tY29tbWFuZC1saW5lLm1hcmtkb3duCmluZGV4IGM5ZGJmYmIuLjE5ZTEyYWMg MTAwNjQ0Ci0tLSBhL2RvY3MvbWlzYy94ZW4tY29tbWFuZC1saW5lLm1hcmtkb3duCisrKyBiL2Rv Y3MvbWlzYy94ZW4tY29tbWFuZC1saW5lLm1hcmtkb3duCkBAIC00NjksNiArNDY5LDE4IEBAIGNo b2ljZSBvZiBgZG9tMC1rZXJuZWxgIGlzIGRlcHJlY2F0ZWQgYW5kIG5vdCBzdXBwb3J0ZWQgYnkg YWxsIERvbTAga2VybmVscy4KICAgcmVzcGVjdGl2ZWx5LgogKiBgdmVyYm9zZWAgb3B0aW9uIGNh biBiZSBpbmNsdWRlZCBhcyBhIHN0cmluZyBvciBhbHNvIGFzIGB2ZXJib3NlPTxpbnRlZ2VyPmAK IAorIyMjIGNwdWlkICh4ODYpCis+IGA9IExpc3Qgb2YgY29tbWEgc2VwYXJhdGVkIGJvb2xlYW5z YAorCitUaGlzIG9wdGlvbiBhbGxvd3MgZm9yIGZpbmUgdHVuaW5nIG9mIHRoZSBmYWNpbGl0aWVz IFhlbiB3aWxsIHVzZSwgYWZ0ZXIKK2FjY291bnRpbmcgZm9yIGhhcmR3YXJlIGNhcGFiaWxpdGll cyBhcyBlbnVtZXJhdGVkIHZpYSBDUFVJRC4KKworQ3VycmVudGx5IGFjY2VwdGVkOgorCitUaGUg U3BlY3VsYXRpb24gQ29udHJvbCBoYXJkd2FyZSBmZWF0dXJlcyBgaWJyc2JgLCBgc3RpYnBgLCBg aWJwYmAgYXJlIHVzZWQgYnkKK2RlZmF1bHQgaWYgYXZhaWFibGUuICBUaGV5IGNhbiBiZSBpZ25v cmVkLCBlLmcuIGBuby1pYnJzYmAsIGF0IHdoaWNoIHBvaW50IFhlbgord29uJ3QgdXNlIHRoZW0g aXRzZWxmLCBhbmQgd29uJ3Qgb2ZmZXIgdGhlbSB0byBndWVzdHMuCisKICMjIyBjcHVpZFxfbWFz a1xfY3B1IChBTUQgb25seSkKID4gYD0gZmFtXzBmX3Jldl9jIHwgZmFtXzBmX3Jldl9kIHwgZmFt XzBmX3Jldl9lIHwgZmFtXzBmX3Jldl9mIHwgZmFtXzBmX3Jldl9nIHwgZmFtXzEwX3Jldl9iIHwg ZmFtXzEwX3Jldl9jIHwgZmFtXzExX3Jldl9iYAogCmRpZmYgLS1naXQgYS94ZW4vYXJjaC94ODYv Y3B1aWQuYyBiL3hlbi9hcmNoL3g4Ni9jcHVpZC5jCmluZGV4IDVlZTgyZDMuLjJlZjcxZDIgMTAw NjQ0Ci0tLSBhL3hlbi9hcmNoL3g4Ni9jcHVpZC5jCisrKyBiL3hlbi9hcmNoL3g4Ni9jcHVpZC5j CkBAIC0xOCw2ICsxOCw0MSBAQCBzdGF0aWMgY29uc3QgdWludDMyX3QgaHZtX3NoYWRvd19mZWF0 dXJlbWFza1tdID0gSU5JVF9IVk1fU0hBRE9XX0ZFQVRVUkVTOwogc3RhdGljIGNvbnN0IHVpbnQz Ml90IGh2bV9oYXBfZmVhdHVyZW1hc2tbXSA9IElOSVRfSFZNX0hBUF9GRUFUVVJFUzsKIHN0YXRp YyBjb25zdCB1aW50MzJfdCBkZWVwX2ZlYXR1cmVzW10gPSBJTklUX0RFRVBfRkVBVFVSRVM7CiAK K3N0YXRpYyBpbnQgX19pbml0IHBhcnNlX3hlbl9jcHVpZChjb25zdCBjaGFyICpzKQoreworICAg IGNvbnN0IGNoYXIgKnNzOworICAgIGludCB2YWwsIHJjID0gMDsKKworICAgIGRvIHsKKyAgICAg ICAgc3MgPSBzdHJjaHIocywgJywnKTsKKyAgICAgICAgaWYgKCAhc3MgKQorICAgICAgICAgICAg c3MgPSBzdHJjaHIocywgJ1wwJyk7CisKKyAgICAgICAgaWYgKCAodmFsID0gcGFyc2VfYm9vbGVh bigiaWJwYiIsIHMsIHNzKSkgPj0gMCApCisgICAgICAgIHsKKyAgICAgICAgICAgIGlmICggIXZh bCApCisgICAgICAgICAgICAgICAgc2V0dXBfY2xlYXJfY3B1X2NhcChYODZfRkVBVFVSRV9JQlBC KTsKKyAgICAgICAgfQorICAgICAgICBlbHNlIGlmICggKHZhbCA9IHBhcnNlX2Jvb2xlYW4oImli cnNiIiwgcywgc3MpKSA+PSAwICkKKyAgICAgICAgeworICAgICAgICAgICAgaWYgKCAhdmFsICkK KyAgICAgICAgICAgICAgICBzZXR1cF9jbGVhcl9jcHVfY2FwKFg4Nl9GRUFUVVJFX0lCUlNCKTsK KyAgICAgICAgfQorICAgICAgICBlbHNlIGlmICggKHZhbCA9IHBhcnNlX2Jvb2xlYW4oInN0aWJw Iiwgcywgc3MpKSA+PSAwICkKKyAgICAgICAgeworICAgICAgICAgICAgaWYgKCAhdmFsICkKKyAg ICAgICAgICAgICAgICBzZXR1cF9jbGVhcl9jcHVfY2FwKFg4Nl9GRUFUVVJFX1NUSUJQKTsKKyAg ICAgICAgfQorICAgICAgICBlbHNlCisgICAgICAgICAgICByYyA9IC1FSU5WQUw7CisKKyAgICAg ICAgcyA9IHNzICsgMTsKKyAgICB9IHdoaWxlICggKnNzICk7CisKKyAgICByZXR1cm4gcmM7Cit9 CitjdXN0b21fcGFyYW0oImNwdWlkIiwgcGFyc2VfeGVuX2NwdWlkKTsKKwogI2RlZmluZSBFTVBU WV9MRUFGICgoc3RydWN0IGNwdWlkX2xlYWYpe30pCiBzdGF0aWMgdm9pZCB6ZXJvX2xlYXZlcyhz dHJ1Y3QgY3B1aWRfbGVhZiAqbCwKICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGlu dCBmaXJzdCwgdW5zaWduZWQgaW50IGxhc3QpCmRpZmYgLS1naXQgYS94ZW4vY29tbW9uL2tlcm5l bC5jIGIveGVuL2NvbW1vbi9rZXJuZWwuYwppbmRleCA4ZDEzN2M1Li4xOWY5YmFkIDEwMDY0NAot LS0gYS94ZW4vY29tbW9uL2tlcm5lbC5jCisrKyBiL3hlbi9jb21tb24va2VybmVsLmMKQEAgLTI0 NCw2ICsyNDQsMjkgQEAgaW50IHBhcnNlX2Jvb2woY29uc3QgY2hhciAqcywgY29uc3QgY2hhciAq ZSkKICAgICByZXR1cm4gLTE7CiB9CiAKK2ludCBwYXJzZV9ib29sZWFuKGNvbnN0IGNoYXIgKm5h bWUsIGNvbnN0IGNoYXIgKnMsIGNvbnN0IGNoYXIgKmUpCit7CisgICAgc2l6ZV90IHNsZW4sIG5s ZW47CisgICAgaW50IHZhbCA9ICEhc3RybmNtcChzLCAibm8tIiwgMyk7CisKKyAgICBpZiAoICF2 YWwgKQorICAgICAgICBzICs9IDM7CisKKyAgICBzbGVuID0gZSA/ICh7IEFTU0VSVChlID49IHMp OyBlIC0gczsgfSkgOiBzdHJsZW4ocyk7CisgICAgbmxlbiA9IHN0cmxlbihuYW1lKTsKKworICAg IC8qIERvZXMgcyBub3cgc3RhcnQgd2l0aCBuYW1lPyAqLworICAgIGlmICggc2xlbiA8IG5sZW4g fHwgc3RybmNtcChzLCBuYW1lLCBubGVuKSApCisgICAgICAgIHJldHVybiAtMTsKKworICAgIHN3 aXRjaCAoIHNbbmxlbl0gKQorICAgIHsKKyAgICBjYXNlICdcMCc6IHJldHVybiB2YWw7CisgICAg Y2FzZSAnPSc6ICByZXR1cm4gcGFyc2VfYm9vbCgmc1tubGVuICsgMV0sIGUpOworICAgIGRlZmF1 bHQ6ICAgcmV0dXJuIC0xOworICAgIH0KK30KKwogdW5zaWduZWQgaW50IHRhaW50ZWQ7CiAKIC8q KgpkaWZmIC0tZ2l0IGEveGVuL2luY2x1ZGUveGVuL2xpYi5oIGIveGVuL2luY2x1ZGUveGVuL2xp Yi5oCmluZGV4IGVkMDBhZTEuLjFkOTc3MTMgMTAwNjQ0Ci0tLSBhL3hlbi9pbmNsdWRlL3hlbi9s aWIuaAorKysgYi94ZW4vaW5jbHVkZS94ZW4vbGliLmgKQEAgLTc0LDYgKzc0LDEzIEBAIHZvaWQg Y21kbGluZV9wYXJzZShjb25zdCBjaGFyICpjbWRsaW5lKTsKIGludCBydW50aW1lX3BhcnNlKGNv bnN0IGNoYXIgKmxpbmUpOwogaW50IHBhcnNlX2Jvb2woY29uc3QgY2hhciAqcywgY29uc3QgY2hh ciAqZSk7CiAKKy8qKgorICogR2l2ZW4gYSBzcGVjaWZpYyBuYW1lLCBwYXJzZXMgYSBzdHJpbmcg b2YgdGhlIGZvcm06CisgKiAgIFtuby1dJE5BTUVbPS4uLl0KKyAqIHJldHVybmluZyAwIG9yIDEg Zm9yIGEgcmVjb2duaXNlZCBib29sZWFuLCBvciAtMSBmb3IgYW4gZXJyb3IuCisgKi8KK2ludCBw YXJzZV9ib29sZWFuKGNvbnN0IGNoYXIgKm5hbWUsIGNvbnN0IGNoYXIgKnMsIGNvbnN0IGNoYXIg KmUpOworCiAvKiNkZWZpbmUgREVCVUdfVFJBQ0VfRFVNUCovCiAjaWZkZWYgREVCVUdfVFJBQ0Vf RFVNUAogZXh0ZXJuIHZvaWQgZGVidWd0cmFjZV9kdW1wKHZvaWQpOwotLSAKMi4xLjQKCgpfX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpYZW4tZGV2ZWwgbWFp bGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZwpodHRwczovL2xpc3RzLnhl bnByb2plY3Qub3JnL21haWxtYW4vbGlzdGluZm8veGVuLWRldmVs