From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andrew Cooper Subject: [PATCH v6.5 26/26] x86/idle: Clear SPEC_CTRL while idle Date: Thu, 4 Jan 2018 00:15:55 +0000 Message-ID: <1515024955-13390-27-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 T24gY29udGVtcG9yYXJ5IGhhcmR3YXJlLCBzZXR0aW5nIElCUlMvU1RJQlAgaGFzIGEgcGVyZm9y bWFuY2UgaW1wYWN0IG9uCmFkamFjZW50IGh5cGVydGhyZWFkcy4gIEl0IGlzIHRoZXJlZm9yZSBy ZWNvbW1lbmRlZCB0byBjbGVhciB0aGUgc2V0dGluZwpiZWZvcmUgYmVjb21pbmcgaWRsZSwgdG8g YXZvaWQgYW4gaWRsZSBjb3JlIHByZXZlbnRpbmcgYWRqYWNlbnQgdXNlcnNwYWNlCmV4ZWN1dGlv biBmcm9tIHJ1bm5pbmcgYXQgZnVsbCBwZXJmb3JtYW5jZS4KCkNhcmUgbXVzdCBiZSB0YWtlbiB0 byBlbnN1cmUgdGhlcmUgYXJlIG5vIHJldCBvciBpbmRpcmVjdCBicmFuY2ggaW5zdHJ1Y3Rpb25z CmJldHdlZW4gc3BlY19jdHJsX3tlbnRlcixleGl0fV9pZGxlKCkgaW52b2NhdGlvbnMsIHdoaWNo IGFyZSBmb3JjZWQgYWx3YXlzCmlubGluZS4gIENhcmUgbXVzdCBhbHNvIGJlIHRha2VuIHRvIGF2 b2lkIHVzaW5nIHNwZWNfY3RybF9lbnRlcl9pZGxlKCkgYmV0d2VlbgpmbHVzaGluZyBjYWNoZXMg YW5kIGJlY29taW5nIGlkbGUsIGluIGNhc2VzIHdoZXJlIHRoYXQgbWF0dGVycy4KClNpZ25lZC1v ZmYtYnk6IEFuZHJldyBDb29wZXIgPGFuZHJldy5jb29wZXIzQGNpdHJpeC5jb20+Ci0tLQp2MjoK ICogVXNlIHNwZWNfY3RybF97ZW50ZXIsZXhpdH1faWRsZSgpIHJhdGhlciB0aGFuIG9wZW5jb2Rp bmcKdjM6CiAqIFJlaW1wbGVtZW50IGFsbW9zdCBmcm9tIHNjcmF0Y2guCnY0OgogKiBTcGVsbGlu ZyBmaXhlcy4KICogRHJvcCBrIGNvbnN0cmFpbnRzLiAgVGhleSBhcmVuJ3QgYWN0dWFsbHkgbW9k aWZpZXJzLgotLS0KIHhlbi9hcmNoL3g4Ni9hY3BpL2NwdV9pZGxlLmMgICAgfCAyMSArKysrKysr KysrKysrKysrKysrKysKIHhlbi9hcmNoL3g4Ni9jcHUvbXdhaXQtaWRsZS5jICAgfCAgNyArKysr KysrCiB4ZW4vYXJjaC94ODYvZG9tYWluLmMgICAgICAgICAgIHwgIDggKysrKysrKysKIHhlbi9p bmNsdWRlL2FzbS14ODYvc3BlY19jdHJsLmggfCAzNCArKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrCiA0IGZpbGVzIGNoYW5nZWQsIDcwIGluc2VydGlvbnMoKykKCmRpZmYgLS1naXQg YS94ZW4vYXJjaC94ODYvYWNwaS9jcHVfaWRsZS5jIGIveGVuL2FyY2gveDg2L2FjcGkvY3B1X2lk bGUuYwppbmRleCBjYjFjNWRhLi4zZjcyYmRhIDEwMDY0NAotLS0gYS94ZW4vYXJjaC94ODYvYWNw aS9jcHVfaWRsZS5jCisrKyBiL3hlbi9hcmNoL3g4Ni9hY3BpL2NwdV9pZGxlLmMKQEAgLTU1LDYg KzU1LDcgQEAKICNpbmNsdWRlIDxhc20vbXdhaXQuaD4KICNpbmNsdWRlIDx4ZW4vbm90aWZpZXIu aD4KICNpbmNsdWRlIDx4ZW4vY3B1Lmg+CisjaW5jbHVkZSA8YXNtL3NwZWNfY3RybC5oPgogCiAv KiNkZWZpbmUgREVCVUdfUE1fQ1gqLwogCkBAIC00MTQsOCArNDE1LDE0IEBAIHZvaWQgbXdhaXRf aWRsZV93aXRoX2hpbnRzKHVuc2lnbmVkIGludCBlYXgsIHVuc2lnbmVkIGludCBlY3gpCiAgICAg ICovCiAgICAgaWYgKCAoZXhwaXJlcyA+IE5PVygpIHx8IGV4cGlyZXMgPT0gMCkgJiYgIXNvZnRp cnFfcGVuZGluZyhjcHUpICkKICAgICB7CisgICAgICAgIHN0cnVjdCBjcHVfaW5mbyAqaW5mbyA9 IGdldF9jcHVfaW5mbygpOworCiAgICAgICAgIGNwdW1hc2tfc2V0X2NwdShjcHUsICZjcHVpZGxl X213YWl0X2ZsYWdzKTsKKworICAgICAgICBzcGVjX2N0cmxfZW50ZXJfaWRsZShpbmZvKTsKICAg ICAgICAgX19td2FpdChlYXgsIGVjeCk7CisgICAgICAgIHNwZWNfY3RybF9leGl0X2lkbGUoaW5m byk7CisKICAgICAgICAgY3B1bWFza19jbGVhcl9jcHUoY3B1LCAmY3B1aWRsZV9td2FpdF9mbGFn cyk7CiAgICAgfQogCkBAIC00MzAsNiArNDM3LDggQEAgc3RhdGljIHZvaWQgYWNwaV9wcm9jZXNz b3JfZmZoX2NzdGF0ZV9lbnRlcihzdHJ1Y3QgYWNwaV9wcm9jZXNzb3JfY3ggKmN4KQogCiBzdGF0 aWMgdm9pZCBhY3BpX2lkbGVfZG9fZW50cnkoc3RydWN0IGFjcGlfcHJvY2Vzc29yX2N4ICpjeCkK IHsKKyAgICBzdHJ1Y3QgY3B1X2luZm8gKmluZm8gPSBnZXRfY3B1X2luZm8oKTsKKwogICAgIHN3 aXRjaCAoIGN4LT5lbnRyeV9tZXRob2QgKQogICAgIHsKICAgICBjYXNlIEFDUElfQ1NUQVRFX0VN X0ZGSDoKQEAgLTQzNywxNSArNDQ2LDE5IEBAIHN0YXRpYyB2b2lkIGFjcGlfaWRsZV9kb19lbnRy eShzdHJ1Y3QgYWNwaV9wcm9jZXNzb3JfY3ggKmN4KQogICAgICAgICBhY3BpX3Byb2Nlc3Nvcl9m ZmhfY3N0YXRlX2VudGVyKGN4KTsKICAgICAgICAgcmV0dXJuOwogICAgIGNhc2UgQUNQSV9DU1RB VEVfRU1fU1lTSU86CisgICAgICAgIHNwZWNfY3RybF9lbnRlcl9pZGxlKGluZm8pOwogICAgICAg ICAvKiBJTyBwb3J0IGJhc2VkIEMtc3RhdGUgKi8KICAgICAgICAgaW5iKGN4LT5hZGRyZXNzKTsK ICAgICAgICAgLyogRHVtbXkgd2FpdCBvcCAtIG11c3QgZG8gc29tZXRoaW5nIHVzZWxlc3MgYWZ0 ZXIgUF9MVkwyIHJlYWQKICAgICAgICAgICAgYmVjYXVzZSBjaGlwc2V0cyBjYW5ub3QgZ3VhcmFu dGVlIHRoYXQgU1RQQ0xLIyBzaWduYWwKICAgICAgICAgICAgZ2V0cyBhc3NlcnRlZCBpbiB0aW1l IHRvIGZyZWV6ZSBleGVjdXRpb24gcHJvcGVybHkuICovCiAgICAgICAgIGlubChwbXRtcl9pb3Bv cnQpOworICAgICAgICBzcGVjX2N0cmxfZXhpdF9pZGxlKGluZm8pOwogICAgICAgICByZXR1cm47 CiAgICAgY2FzZSBBQ1BJX0NTVEFURV9FTV9IQUxUOgorICAgICAgICBzcGVjX2N0cmxfZW50ZXJf aWRsZShpbmZvKTsKICAgICAgICAgc2FmZV9oYWx0KCk7CisgICAgICAgIHNwZWNfY3RybF9leGl0 X2lkbGUoaW5mbyk7CiAgICAgICAgIGxvY2FsX2lycV9kaXNhYmxlKCk7CiAgICAgICAgIHJldHVy bjsKICAgICB9CkBAIC01NzMsNyArNTg2LDEzIEBAIHN0YXRpYyB2b2lkIGFjcGlfcHJvY2Vzc29y X2lkbGUodm9pZCkKICAgICAgICAgaWYgKCBwbV9pZGxlX3NhdmUgKQogICAgICAgICAgICAgcG1f aWRsZV9zYXZlKCk7CiAgICAgICAgIGVsc2UKKyAgICAgICAgeworICAgICAgICAgICAgc3RydWN0 IGNwdV9pbmZvICppbmZvID0gZ2V0X2NwdV9pbmZvKCk7CisKKyAgICAgICAgICAgIHNwZWNfY3Ry bF9lbnRlcl9pZGxlKGluZm8pOwogICAgICAgICAgICAgc2FmZV9oYWx0KCk7CisgICAgICAgICAg ICBzcGVjX2N0cmxfZXhpdF9pZGxlKGluZm8pOworICAgICAgICB9CiAgICAgICAgIHJldHVybjsK ICAgICB9CiAKQEAgLTc1Miw2ICs3NzEsNyBAQCB2b2lkIGFjcGlfZGVhZF9pZGxlKHZvaWQpCiAg ICAgICAgICAqIE90aGVyd2lzZSwgQ1BVIG1heSBzdGlsbCBob2xkIGRpcnR5IGRhdGEsIGJyZWFr aW5nIGNhY2hlIGNvaGVyZW5jeSwKICAgICAgICAgICogbGVhZGluZyB0byBzdHJhbmdlIGVycm9y cy4KICAgICAgICAgICovCisgICAgICAgIHNwZWNfY3RybF9lbnRlcl9pZGxlKGdldF9jcHVfaW5m bygpKTsKICAgICAgICAgd2JpbnZkKCk7CiAKICAgICAgICAgd2hpbGUgKCAxICkKQEAgLTc4MSw2 ICs4MDEsNyBAQCB2b2lkIGFjcGlfZGVhZF9pZGxlKHZvaWQpCiAgICAgICAgIHUzMiBhZGRyZXNz ID0gY3gtPmFkZHJlc3M7CiAgICAgICAgIHUzMiBwbXRtcl9pb3BvcnRfbG9jYWwgPSBwbXRtcl9p b3BvcnQ7CiAKKyAgICAgICAgc3BlY19jdHJsX2VudGVyX2lkbGUoZ2V0X2NwdV9pbmZvKCkpOwog ICAgICAgICB3YmludmQoKTsKIAogICAgICAgICB3aGlsZSAoIDEgKQpkaWZmIC0tZ2l0IGEveGVu L2FyY2gveDg2L2NwdS9td2FpdC1pZGxlLmMgYi94ZW4vYXJjaC94ODYvY3B1L213YWl0LWlkbGUu YwppbmRleCA3NjJkZmYxLi5lMzU3ZjI5IDEwMDY0NAotLS0gYS94ZW4vYXJjaC94ODYvY3B1L213 YWl0LWlkbGUuYworKysgYi94ZW4vYXJjaC94ODYvY3B1L213YWl0LWlkbGUuYwpAQCAtNTgsNiAr NTgsNyBAQAogI2luY2x1ZGUgPGFzbS9ocGV0Lmg+CiAjaW5jbHVkZSA8YXNtL213YWl0Lmg+CiAj aW5jbHVkZSA8YXNtL21zci5oPgorI2luY2x1ZGUgPGFzbS9zcGVjX2N0cmwuaD4KICNpbmNsdWRl IDxhY3BpL2NwdWZyZXEvY3B1ZnJlcS5oPgogCiAjZGVmaW5lIE1XQUlUX0lETEVfVkVSU0lPTiAi MC40LjEiCkBAIC03MzYsNyArNzM3LDEzIEBAIHN0YXRpYyB2b2lkIG13YWl0X2lkbGUodm9pZCkK IAkJaWYgKHBtX2lkbGVfc2F2ZSkKIAkJCXBtX2lkbGVfc2F2ZSgpOwogCQllbHNlCisJCXsKKwkJ CXN0cnVjdCBjcHVfaW5mbyAqaW5mbyA9IGdldF9jcHVfaW5mbygpOworCisJCQlzcGVjX2N0cmxf ZW50ZXJfaWRsZShpbmZvKTsKIAkJCXNhZmVfaGFsdCgpOworCQkJc3BlY19jdHJsX2V4aXRfaWRs ZShpbmZvKTsKKwkJfQogCQlyZXR1cm47CiAJfQogCmRpZmYgLS1naXQgYS94ZW4vYXJjaC94ODYv ZG9tYWluLmMgYi94ZW4vYXJjaC94ODYvZG9tYWluLmMKaW5kZXggNjIwMDJmMS4uMzkyZTRmMyAx MDA2NDQKLS0tIGEveGVuL2FyY2gveDg2L2RvbWFpbi5jCisrKyBiL3hlbi9hcmNoL3g4Ni9kb21h aW4uYwpAQCAtNTUsNiArNTUsNyBAQAogI2luY2x1ZGUgPGFzbS9odm0vdmlyaWRpYW4uaD4KICNp bmNsdWRlIDxhc20vZGVidWdyZWcuaD4KICNpbmNsdWRlIDxhc20vbXNyLmg+CisjaW5jbHVkZSA8 YXNtL3NwZWNfY3RybC5oPgogI2luY2x1ZGUgPGFzbS90cmFwcy5oPgogI2luY2x1ZGUgPGFzbS9u bWkuaD4KICNpbmNsdWRlIDxhc20vbWNlLmg+CkBAIC03NCw5ICs3NSwxNSBAQCB2b2lkICgqZGVh ZF9pZGxlKSAodm9pZCkgX19yZWFkX21vc3RseSA9IGRlZmF1bHRfZGVhZF9pZGxlOwogCiBzdGF0 aWMgdm9pZCBkZWZhdWx0X2lkbGUodm9pZCkKIHsKKyAgICBzdHJ1Y3QgY3B1X2luZm8gKmluZm8g PSBnZXRfY3B1X2luZm8oKTsKKwogICAgIGxvY2FsX2lycV9kaXNhYmxlKCk7CiAgICAgaWYgKCBj cHVfaXNfaGFsdGFibGUoc21wX3Byb2Nlc3Nvcl9pZCgpKSApCisgICAgeworICAgICAgICBzcGVj X2N0cmxfZW50ZXJfaWRsZShpbmZvKTsKICAgICAgICAgc2FmZV9oYWx0KCk7CisgICAgICAgIHNw ZWNfY3RybF9leGl0X2lkbGUoaW5mbyk7CisgICAgfQogICAgIGVsc2UKICAgICAgICAgbG9jYWxf aXJxX2VuYWJsZSgpOwogfQpAQCAtODgsNiArOTUsNyBAQCB2b2lkIGRlZmF1bHRfZGVhZF9pZGxl KHZvaWQpCiAgICAgICogaGVsZCBieSB0aGUgQ1BVcyBzcGlubmluZyBoZXJlIGluZGVmaW5pdGVs eSwgYW5kIGdldCBkaXNjYXJkZWQgYnkKICAgICAgKiBhIHN1YnNlcXVlbnQgSU5JVC4KICAgICAg Ki8KKyAgICBzcGVjX2N0cmxfZW50ZXJfaWRsZShnZXRfY3B1X2luZm8oKSk7CiAgICAgd2JpbnZk KCk7CiAgICAgZm9yICggOyA7ICkKICAgICAgICAgaGFsdCgpOwpkaWZmIC0tZ2l0IGEveGVuL2lu Y2x1ZGUvYXNtLXg4Ni9zcGVjX2N0cmwuaCBiL3hlbi9pbmNsdWRlL2FzbS14ODYvc3BlY19jdHJs LmgKaW5kZXggMjlhMzFhOS4uMjBlOWE1YiAxMDA2NDQKLS0tIGEveGVuL2luY2x1ZGUvYXNtLXg4 Ni9zcGVjX2N0cmwuaAorKysgYi94ZW4vaW5jbHVkZS9hc20teDg2L3NwZWNfY3RybC5oCkBAIC0y MCw3ICsyMCw5IEBACiAjaWZuZGVmIF9fWDg2X1NQRUNfQ1RSTF9IX18KICNkZWZpbmUgX19YODZf U1BFQ19DVFJMX0hfXwogCisjaW5jbHVkZSA8YXNtL2FsdGVybmF0aXZlLmg+CiAjaW5jbHVkZSA8 YXNtL2N1cnJlbnQuaD4KKyNpbmNsdWRlIDxhc20vbXNyLWluZGV4Lmg+CiAKIHZvaWQgaW5pdF9z cGVjdWxhdGlvbl9taXRpZ2F0aW9ucyh2b2lkKTsKIApAQCAtMzEsNiArMzMsMzggQEAgc3RhdGlj IGlubGluZSB2b2lkIGluaXRfc2hhZG93X3NwZWNfY3RybF9zdGF0ZSh2b2lkKQogICAgIGluZm8t PnNoYWRvd19zcGVjX2N0cmwgPSBpbmZvLT51c2Vfc2hhZG93X3NwZWNfY3RybCA9IDA7CiB9CiAK Ky8qIFdBUk5JTkchIGByZXRgLCBgY2FsbCAqYCwgYGptcCAqYCBub3Qgc2FmZSBhZnRlciB0aGlz IGNhbGwuICovCitzdGF0aWMgYWx3YXlzX2lubGluZSB2b2lkIHNwZWNfY3RybF9lbnRlcl9pZGxl KHN0cnVjdCBjcHVfaW5mbyAqaW5mbykKK3sKKyAgICB1aW50MzJfdCB2YWwgPSAwOworCisgICAg LyoKKyAgICAgKiBMYXRjaCB0aGUgbmV3IHNoYWRvdyB2YWx1ZSwgdGhlbiBlbmFibGUgc2hhZG93 aW5nLCB0aGVuIHVwZGF0ZSB0aGUgTVNSLgorICAgICAqIFRoZXJlIGFyZSBubyBTTVAgaXNzdWVz IGhlcmU7IG9ubHkgbG9jYWwgcHJvY2Vzc29yIG9yZGVyaW5nIGNvbmNlcm5zLgorICAgICAqLwor ICAgIGluZm8tPnNoYWRvd19zcGVjX2N0cmwgPSB2YWw7CisgICAgYmFycmllcigpOworICAgIGlu Zm8tPnVzZV9zaGFkb3dfc3BlY19jdHJsID0gdHJ1ZTsKKyAgICBiYXJyaWVyKCk7CisgICAgYXNt IHZvbGF0aWxlIChBTFRFUk5BVElWRShBU01fTk9QMywgIndybXNyIiwgWDg2X0ZFQVRVUkVfWEVO X0lCUlNfU0VUKQorICAgICAgICAgICAgICAgICAgOjogImEiICh2YWwpLCAiYyIgKE1TUl9TUEVD X0NUUkwpLCAiZCIgKDApIDogIm1lbW9yeSIpOworfQorCisvKiBXQVJOSU5HISBgcmV0YCwgYGNh bGwgKmAsIGBqbXAgKmAgbm90IHNhZmUgYmVmb3JlIHRoaXMgY2FsbC4gKi8KK3N0YXRpYyBhbHdh eXNfaW5saW5lIHZvaWQgc3BlY19jdHJsX2V4aXRfaWRsZShzdHJ1Y3QgY3B1X2luZm8gKmluZm8p Cit7CisgICAgdWludDMyX3QgdmFsID0gU1BFQ19DVFJMX0lCUlM7CisKKyAgICAvKgorICAgICAq IERpc2FibGUgc2hhZG93aW5nIGJlZm9yZSB1cGRhdGluZyB0aGUgTVNSLiAgVGhlcmUgYXJlIG5v IFNNUCBpc3N1ZXMKKyAgICAgKiBoZXJlOyBvbmx5IGxvY2FsIHByb2Nlc3NvciBvcmRlcmluZyBj b25jZXJucy4KKyAgICAgKi8KKyAgICBpbmZvLT51c2Vfc2hhZG93X3NwZWNfY3RybCA9IGZhbHNl OworICAgIGJhcnJpZXIoKTsKKyAgICBhc20gdm9sYXRpbGUgKEFMVEVSTkFUSVZFKEFTTV9OT1Az LCAid3Jtc3IiLCBYODZfRkVBVFVSRV9YRU5fSUJSU19TRVQpCisgICAgICAgICAgICAgICAgICA6 OiAiYSIgKHZhbCksICJjIiAoTVNSX1NQRUNfQ1RSTCksICJkIiAoMCkgOiAibWVtb3J5Iik7Cit9 CisKICNlbmRpZiAvKiAhX19YODZfU1BFQ19DVFJMX0hfXyAqLwogCiAvKgotLSAKMi4xLjQKCgpf X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpYZW4tZGV2ZWwg bWFpbGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZwpodHRwczovL2xpc3Rz LnhlbnByb2plY3Qub3JnL21haWxtYW4vbGlzdGluZm8veGVuLWRldmVs