From mboxrd@z Thu Jan 1 00:00:00 1970 From: Greg Kroah-Hartman Subject: [PATCH 4.6 23/56] x86/mm/pat: Add support of non-default PAT MSR setting Date: Sun, 14 Aug 2016 22:37:27 +0200 Message-ID: <20160814202505.879138924@linuxfoundation.org> References: <20160814202504.908694181@linuxfoundation.org> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail6.bemta6.messagelabs.com ([193.109.254.103]) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1bZ2Gl-0008Vx-IV for xen-devel@lists.xenproject.org; Sun, 14 Aug 2016 20:44:31 +0000 In-Reply-To: <20160814202504.908694181@linuxfoundation.org> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: linux-kernel@vger.kernel.org Cc: Juergen Gross , Denys Vlasenko , xen-devel@lists.xenproject.org, Toshi Kani , Peter Zijlstra , Greg Kroah-Hartman , "Luis R. Rodriguez" , "H. Peter Anvin" , stable@vger.kernel.org, Andy Lutomirski , paul.gortmaker@windriver.com, Ingo Molnar , Borislav Petkov , Brian Gerst , Toshi Kani , Andrew Morton , Borislav Petkov , Linus Torvalds , Thomas Gleixner , elliott@hpe.com List-Id: xen-devel@lists.xenproject.org NC42LXN0YWJsZSByZXZpZXcgcGF0Y2guICBJZiBhbnlvbmUgaGFzIGFueSBvYmplY3Rpb25zLCBw bGVhc2UgbGV0IG1lIGtub3cuCgotLS0tLS0tLS0tLS0tLS0tLS0KCkZyb206IFRvc2hpIEthbmkg PHRvc2hpLmthbmlAaHBlLmNvbT4KCmNvbW1pdCAwMmYwMzdkNjQxZGM2NjcyYmU1Y2ZlNzg3NWE0 OGFiOTliOTViMTU0IHVwc3RyZWFtLgoKSW4gcHJlcGFyYXRpb24gZm9yIGZpeGluZyBhIHJlZ3Jl c3Npb24gY2F1c2VkIGJ5OgoKICA5Y2QyNWFhYzFmNDQgKCJ4ODYvbW0vcGF0OiBFbXVsYXRlIFBB VCB3aGVuIGl0IGlzIGRpc2FibGVkIiknCgouLi4gUEFUIG5lZWRzIHRvIHN1cHBvcnQgYSBjYXNl IHRoYXQgUEFUIE1TUiBpcyBpbml0aWFsaXplZCB3aXRoIGEKbm9uLWRlZmF1bHQgdmFsdWUuCgpX aGVuIHBhdF9pbml0KCkgaXMgY2FsbGVkIGFuZCBQQVQgaXMgZGlzYWJsZWQsIGl0IGluaXRpYWxp emVzIHRoZQpQQVQgdGFibGUgd2l0aCB0aGUgQklPUyBkZWZhdWx0IHZhbHVlLiBYZW4sIGhvd2V2 ZXIsIHNldHMgUEFUIE1TUgp3aXRoIGEgbm9uLWRlZmF1bHQgdmFsdWUgdG8gZW5hYmxlIFdDLiBU aGlzIGNhdXNlcyBpbmNvbnNpc3RlbmN5CmJldHdlZW4gdGhlIFBBVCB0YWJsZSBhbmQgUEFUIE1T UiB3aGVuIFBBVCBpcyBzZXQgdG8gZGlzYWJsZSBvbiBYZW4uCgpDaGFuZ2UgcGF0X2luaXQoKSB0 byBoYW5kbGUgdGhlIFBBVCBkaXNhYmxlIGNhc2VzIHByb3Blcmx5LiAgQWRkCmluaXRfY2FjaGVf bW9kZXMoKSB0byBoYW5kbGUgdHdvIGNhc2VzIHdoZW4gUEFUIGlzIHNldCB0byBkaXNhYmxlLgoK IDEuIENQVSBzdXBwb3J0cyBQQVQ6IFNldCBQQVQgdGFibGUgdG8gYmUgY29uc2lzdGVudCB3aXRo IFBBVCBNU1IuCiAyLiBDUFUgZG9lcyBub3Qgc3VwcG9ydCBQQVQ6IFNldCBQQVQgdGFibGUgdG8g YmUgY29uc2lzdGVudCB3aXRoCiAgICBQV1QgYW5kIFBDRCBiaXRzIGluIGEgUFRFLgoKTm90ZSwg X19pbml0X2NhY2hlX21vZGVzKCksIHJlbmFtZWQgZnJvbSBwYXRfaW5pdF9jYWNoZV9tb2Rlcygp LAp3aWxsIGJlIGNoYW5nZWQgdG8gYSBzdGF0aWMgZnVuY3Rpb24gaW4gYSBsYXRlciBwYXRjaC4K ClNpZ25lZC1vZmYtYnk6IFRvc2hpIEthbmkgPHRvc2hpLmthbmlAaHBlLmNvbT4KUmV2aWV3ZWQt Ynk6IFRob21hcyBHbGVpeG5lciA8dGdseEBsaW51dHJvbml4LmRlPgpDYzogQW5kcmV3IE1vcnRv biA8YWtwbUBsaW51eC1mb3VuZGF0aW9uLm9yZz4KQ2M6IEFuZHkgTHV0b21pcnNraSA8bHV0b0Bh bWFjYXBpdGFsLm5ldD4KQ2M6IEJvcmlzbGF2IFBldGtvdiA8YnBAYWxpZW44LmRlPgpDYzogQm9y aXNsYXYgUGV0a292IDxicEBzdXNlLmRlPgpDYzogQnJpYW4gR2Vyc3QgPGJyZ2Vyc3RAZ21haWwu Y29tPgpDYzogRGVueXMgVmxhc2Vua28gPGR2bGFzZW5rQHJlZGhhdC5jb20+CkNjOiBILiBQZXRl ciBBbnZpbiA8aHBhQHp5dG9yLmNvbT4KQ2M6IEp1ZXJnZW4gR3Jvc3MgPGpncm9zc0BzdXNlLmNv bT4KQ2M6IExpbnVzIFRvcnZhbGRzIDx0b3J2YWxkc0BsaW51eC1mb3VuZGF0aW9uLm9yZz4KQ2M6 IEx1aXMgUi4gUm9kcmlndWV6IDxtY2dyb2ZAc3VzZS5jb20+CkNjOiBQZXRlciBaaWpsc3RyYSA8 cGV0ZXJ6QGluZnJhZGVhZC5vcmc+CkNjOiBUb3NoaSBLYW5pIDx0b3NoaS5rYW5pQGhwLmNvbT4K Q2M6IGVsbGlvdHRAaHBlLmNvbQpDYzoga29ucmFkLndpbGtAb3JhY2xlLmNvbQpDYzogcGF1bC5n b3J0bWFrZXJAd2luZHJpdmVyLmNvbQpDYzogeGVuLWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3Jn Ckxpbms6IGh0dHA6Ly9sa21sLmtlcm5lbC5vcmcvci8xNDU4NzY5MzIzLTI0NDkxLTItZ2l0LXNl bmQtZW1haWwtdG9zaGkua2FuaUBocGUuY29tClNpZ25lZC1vZmYtYnk6IEluZ28gTW9sbmFyIDxt aW5nb0BrZXJuZWwub3JnPgpTaWduZWQtb2ZmLWJ5OiBHcmVnIEtyb2FoLUhhcnRtYW4gPGdyZWdr aEBsaW51eGZvdW5kYXRpb24ub3JnPgoKLS0tCiBhcmNoL3g4Ni9pbmNsdWRlL2FzbS9wYXQuaCB8 ICAgIDIgLQogYXJjaC94ODYvbW0vcGF0LmMgICAgICAgICAgfCAgIDczICsrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLQogYXJjaC94ODYveGVuL2VubGlnaHRlbi5j ICAgfCAgICAyIC0KIDMgZmlsZXMgY2hhbmdlZCwgNTUgaW5zZXJ0aW9ucygrKSwgMjIgZGVsZXRp b25zKC0pCgotLS0gYS9hcmNoL3g4Ni9pbmNsdWRlL2FzbS9wYXQuaAorKysgYi9hcmNoL3g4Ni9p bmNsdWRlL2FzbS9wYXQuaApAQCAtNiw3ICs2LDcgQEAKIAogYm9vbCBwYXRfZW5hYmxlZCh2b2lk KTsKIGV4dGVybiB2b2lkIHBhdF9pbml0KHZvaWQpOwotdm9pZCBwYXRfaW5pdF9jYWNoZV9tb2Rl cyh1NjQpOwordm9pZCBfX2luaXRfY2FjaGVfbW9kZXModTY0KTsKIAogZXh0ZXJuIGludCByZXNl cnZlX21lbXR5cGUodTY0IHN0YXJ0LCB1NjQgZW5kLAogCQllbnVtIHBhZ2VfY2FjaGVfbW9kZSBy ZXFfcGNtLCBlbnVtIHBhZ2VfY2FjaGVfbW9kZSAqcmV0X3BjbSk7Ci0tLSBhL2FyY2gveDg2L21t L3BhdC5jCisrKyBiL2FyY2gveDg2L21tL3BhdC5jCkBAIC0xODEsNyArMTgxLDcgQEAgc3RhdGlj IGVudW0gcGFnZV9jYWNoZV9tb2RlIHBhdF9nZXRfY2FjaAogICogY29uZmlndXJhdGlvbi4KICAq IFVzaW5nIGxvd2VyIGluZGljZXMgaXMgcHJlZmVycmVkLCBzbyB3ZSBzdGFydCB3aXRoIGhpZ2hl c3QgaW5kZXguCiAgKi8KLXZvaWQgcGF0X2luaXRfY2FjaGVfbW9kZXModTY0IHBhdCkKK3ZvaWQg X19pbml0X2NhY2hlX21vZGVzKHU2NCBwYXQpCiB7CiAJZW51bSBwYWdlX2NhY2hlX21vZGUgY2Fj aGU7CiAJY2hhciBwYXRfbXNnWzMzXTsKQEAgLTIwNyw5ICsyMDcsNiBAQCBzdGF0aWMgdm9pZCBw YXRfYnNwX2luaXQodTY0IHBhdCkKIAkJcmV0dXJuOwogCX0KIAotCWlmICghcGF0X2VuYWJsZWQo KSkKLQkJZ290byBkb25lOwotCiAJcmRtc3JsKE1TUl9JQTMyX0NSX1BBVCwgdG1wX3BhdCk7CiAJ aWYgKCF0bXBfcGF0KSB7CiAJCXBhdF9kaXNhYmxlKCJQQVQgTVNSIGlzIDAsIGRpc2FibGVkLiIp OwpAQCAtMjE4LDE1ICsyMTUsMTEgQEAgc3RhdGljIHZvaWQgcGF0X2JzcF9pbml0KHU2NCBwYXQp CiAKIAl3cm1zcmwoTVNSX0lBMzJfQ1JfUEFULCBwYXQpOwogCi1kb25lOgotCXBhdF9pbml0X2Nh Y2hlX21vZGVzKHBhdCk7CisJX19pbml0X2NhY2hlX21vZGVzKHBhdCk7CiB9CiAKIHN0YXRpYyB2 b2lkIHBhdF9hcF9pbml0KHU2NCBwYXQpCiB7Ci0JaWYgKCFwYXRfZW5hYmxlZCgpKQotCQlyZXR1 cm47Ci0KIAlpZiAoIWNwdV9oYXNfcGF0KSB7CiAJCS8qCiAJCSAqIElmIHRoaXMgaGFwcGVucyB3 ZSBhcmUgb24gYSBzZWNvbmRhcnkgQ1BVLCBidXQgc3dpdGNoZWQgdG8KQEAgLTIzOCwxOCArMjMx LDMyIEBAIHN0YXRpYyB2b2lkIHBhdF9hcF9pbml0KHU2NCBwYXQpCiAJd3Jtc3JsKE1TUl9JQTMy X0NSX1BBVCwgcGF0KTsKIH0KIAotdm9pZCBwYXRfaW5pdCh2b2lkKQorc3RhdGljIHZvaWQgaW5p dF9jYWNoZV9tb2Rlcyh2b2lkKQogewotCXU2NCBwYXQ7Ci0Jc3RydWN0IGNwdWluZm9feDg2ICpj ID0gJmJvb3RfY3B1X2RhdGE7CisJdTY0IHBhdCA9IDA7CisJc3RhdGljIGludCBpbml0X2NtX2Rv bmU7CiAKLQlpZiAoIXBhdF9lbmFibGVkKCkpIHsKKwlpZiAoaW5pdF9jbV9kb25lKQorCQlyZXR1 cm47CisKKwlpZiAoYm9vdF9jcHVfaGFzKFg4Nl9GRUFUVVJFX1BBVCkpIHsKKwkJLyoKKwkJICog Q1BVIHN1cHBvcnRzIFBBVC4gU2V0IFBBVCB0YWJsZSB0byBiZSBjb25zaXN0ZW50IHdpdGgKKwkJ ICogUEFUIE1TUi4gVGhpcyBjYXNlIHN1cHBvcnRzICJub3BhdCIgYm9vdCBvcHRpb24sIGFuZAor CQkgKiB2aXJ0dWFsIG1hY2hpbmUgZW52aXJvbm1lbnRzIHdoaWNoIHN1cHBvcnQgUEFUIHdpdGhv dXQKKwkJICogTVRSUnMuIEluIHNwZWNpZmljLCBYZW4gaGFzIHVuaXF1ZSBzZXR1cCB0byBQQVQg TVNSLgorCQkgKgorCQkgKiBJZiBQQVQgTVNSIHJldHVybnMgMCwgaXQgaXMgY29uc2lkZXJlZCBp bnZhbGlkIGFuZCBlbXVsYXRlcworCQkgKiBhcyBObyBQQVQuCisJCSAqLworCQlyZG1zcmwoTVNS X0lBMzJfQ1JfUEFULCBwYXQpOworCX0KKworCWlmICghcGF0KSB7CiAJCS8qCiAJCSAqIE5vIFBB VC4gRW11bGF0ZSB0aGUgUEFUIHRhYmxlIHRoYXQgY29ycmVzcG9uZHMgdG8gdGhlIHR3bwotCQkg KiBjYWNoZSBiaXRzLCBQV1QgKFdyaXRlIFRocm91Z2gpIGFuZCBQQ0QgKENhY2hlIERpc2FibGUp LiBUaGlzCi0JCSAqIHNldHVwIGlzIHRoZSBzYW1lIGFzIHRoZSBCSU9TIGRlZmF1bHQgc2V0dXAg d2hlbiB0aGUgc3lzdGVtCi0JCSAqIGhhcyBQQVQgYnV0IHRoZSAibm9wYXQiIGJvb3Qgb3B0aW9u IGhhcyBiZWVuIHNwZWNpZmllZC4gVGhpcwotCQkgKiBlbXVsYXRlZCBQQVQgdGFibGUgaXMgdXNl ZCB3aGVuIE1TUl9JQTMyX0NSX1BBVCByZXR1cm5zIDAuCisJCSAqIGNhY2hlIGJpdHMsIFBXVCAo V3JpdGUgVGhyb3VnaCkgYW5kIFBDRCAoQ2FjaGUgRGlzYWJsZSkuCisJCSAqIFRoaXMgc2V0dXAg aXMgYWxzbyB0aGUgc2FtZSBhcyB0aGUgQklPUyBkZWZhdWx0IHNldHVwLgogCQkgKgogCQkgKiBQ VEUgZW5jb2Rpbmc6CiAJCSAqCkBAIC0yNjYsMTAgKzI3MywzNiBAQCB2b2lkIHBhdF9pbml0KHZv aWQpCiAJCSAqLwogCQlwYXQgPSBQQVQoMCwgV0IpIHwgUEFUKDEsIFdUKSB8IFBBVCgyLCBVQ19N SU5VUykgfCBQQVQoMywgVUMpIHwKIAkJICAgICAgUEFUKDQsIFdCKSB8IFBBVCg1LCBXVCkgfCBQ QVQoNiwgVUNfTUlOVVMpIHwgUEFUKDcsIFVDKTsKKwl9CisKKwlfX2luaXRfY2FjaGVfbW9kZXMo cGF0KTsKKworCWluaXRfY21fZG9uZSA9IDE7Cit9CisKKy8qKgorICogcGF0X2luaXQgLSBJbml0 aWFsaXplIFBBVCBNU1IgYW5kIFBBVCB0YWJsZQorICoKKyAqIFRoaXMgZnVuY3Rpb24gaW5pdGlh bGl6ZXMgUEFUIE1TUiBhbmQgUEFUIHRhYmxlIHdpdGggYW4gT1MtZGVmaW5lZCB2YWx1ZQorICog dG8gZW5hYmxlIGFkZGl0aW9uYWwgY2FjaGUgYXR0cmlidXRlcywgV0MgYW5kIFdULgorICoKKyAq IFRoaXMgZnVuY3Rpb24gbXVzdCBiZSBjYWxsZWQgb24gYWxsIENQVXMgdXNpbmcgdGhlIHNwZWNp ZmljIHNlcXVlbmNlIG9mCisgKiBvcGVyYXRpb25zIGRlZmluZWQgaW4gSW50ZWwgU0RNLiBtdHJy X3JlbmRlenZvdXNfaGFuZGxlcigpIHByb3ZpZGVzIHRoaXMKKyAqIHByb2NlZHVyZSBmb3IgUEFU LgorICovCit2b2lkIHBhdF9pbml0KHZvaWQpCit7CisJdTY0IHBhdDsKKwlzdHJ1Y3QgY3B1aW5m b194ODYgKmMgPSAmYm9vdF9jcHVfZGF0YTsKKworCWlmICghcGF0X2VuYWJsZWQoKSkgeworCQlp bml0X2NhY2hlX21vZGVzKCk7CisJCXJldHVybjsKKwl9CiAKLQl9IGVsc2UgaWYgKChjLT54ODZf dmVuZG9yID09IFg4Nl9WRU5ET1JfSU5URUwpICYmCi0JCSAgICgoKGMtPng4NiA9PSAweDYpICYm IChjLT54ODZfbW9kZWwgPD0gMHhkKSkgfHwKLQkJICAgICgoYy0+eDg2ID09IDB4ZikgJiYgKGMt Png4Nl9tb2RlbCA8PSAweDYpKSkpIHsKKwlpZiAoKGMtPng4Nl92ZW5kb3IgPT0gWDg2X1ZFTkRP Ul9JTlRFTCkgJiYKKwkgICAgKCgoYy0+eDg2ID09IDB4NikgJiYgKGMtPng4Nl9tb2RlbCA8PSAw eGQpKSB8fAorCSAgICAgKChjLT54ODYgPT0gMHhmKSAmJiAoYy0+eDg2X21vZGVsIDw9IDB4Nikp KSkgewogCQkvKgogCQkgKiBQQVQgc3VwcG9ydCB3aXRoIHRoZSBsb3dlciBmb3VyIGVudHJpZXMu IEludGVsIFBlbnRpdW0gMiwKIAkJICogMywgTSwgYW5kIDQgYXJlIGFmZmVjdGVkIGJ5IFBBVCBl cnJhdGEsIHdoaWNoIG1ha2VzIHRoZQotLS0gYS9hcmNoL3g4Ni94ZW4vZW5saWdodGVuLmMKKysr IGIvYXJjaC94ODYveGVuL2VubGlnaHRlbi5jCkBAIC0xNjIzLDcgKzE2MjMsNyBAQCBhc21saW5r YWdlIF9fdmlzaWJsZSB2b2lkIF9faW5pdCB4ZW5fc3RhCiAJICogY29uZmlndXJhdGlvbi4KIAkg Ki8KIAlyZG1zcmwoTVNSX0lBMzJfQ1JfUEFULCBwYXQpOwotCXBhdF9pbml0X2NhY2hlX21vZGVz KHBhdCk7CisJX19pbml0X2NhY2hlX21vZGVzKHBhdCk7CiAKIAkvKiBrZWVwIHVzaW5nIFhlbiBn ZHQgZm9yIG5vdzsgbm8gdXJnZW50IG5lZWQgdG8gY2hhbmdlIGl0ICovCiAKCgoKX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KWGVuLWRldmVsIG1haWxpbmcg bGlzdApYZW4tZGV2ZWxAbGlzdHMueGVuLm9yZwpodHRwczovL2xpc3RzLnhlbi5vcmcveGVuLWRl dmVsCg==