From mboxrd@z Thu Jan 1 00:00:00 1970 From: Toshi Kani Subject: [PATCH v3 1/7] x86/mm/pat: Add support of non-default PAT MSR setting Date: Wed, 23 Mar 2016 15:41:57 -0600 Message-ID: <1458769323-24491-2-git-send-email-toshi.kani__7559.83257336101$1458766280$gmane$org@hpe.com> References: <1458769323-24491-1-git-send-email-toshi.kani@hpe.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail6.bemta5.messagelabs.com ([195.245.231.135]) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1aipiv-0000OF-B5 for xen-devel@lists.xenproject.org; Wed, 23 Mar 2016 20:49:49 +0000 In-Reply-To: <1458769323-24491-1-git-send-email-toshi.kani@hpe.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: mingo@kernel.org, bp@suse.de, hpa@zytor.com, tglx@linutronix.de Cc: jgross@suse.com, Toshi Kani , mcgrof@suse.com, x86@kernel.org, linux-kernel@vger.kernel.org, paul.gortmaker@windriver.com, xen-devel@lists.xenproject.org, elliott@hpe.com List-Id: xen-devel@lists.xenproject.org SW4gcHJlcGFyYXRpb24gZm9yIGZpeGluZyBhIHJlZ3Jlc3Npb24gY2F1c2VkIGJ5ICdjb21taXQg OWNkMjVhYWMxZjQ0CigieDg2L21tL3BhdDogRW11bGF0ZSBQQVQgd2hlbiBpdCBpcyBkaXNhYmxl ZCIpJywgUEFUIG5lZWRzIHRvCnN1cHBvcnQgYSBjYXNlIHRoYXQgUEFUIE1TUiBpcyBpbml0aWFs aXplZCB3aXRoIGEgbm9uLWRlZmF1bHQKdmFsdWUuCgpXaGVuIHBhdF9pbml0KCkgaXMgY2FsbGVk IGFuZCBQQVQgaXMgZGlzYWJsZWQsIGl0IGluaXRpYWxpemVzClBBVCB0YWJsZSB3aXRoIHRoZSBC SU9TIGRlZmF1bHQgdmFsdWUuIFhlbiwgaG93ZXZlciwgc2V0cyBQQVQgTVNSCndpdGggYSBub24t ZGVmYXVsdCB2YWx1ZSB0byBlbmFibGUgV0MuIFRoaXMgY2F1c2VzIGluY29uc2lzdGVuY3kKYmV0 d2VlbiBQQVQgdGFibGUgYW5kIFBBVCBNU1Igd2hlbiBQQVQgaXMgc2V0IHRvIGRpc2FibGUgb24g WGVuLgoKQ2hhbmdlIHBhdF9pbml0KCkgdG8gaGFuZGxlIHRoZSBQQVQgZGlzYWJsZSBjYXNlcyBw cm9wZXJseS4gIEFkZAppbml0X2NhY2hlX21vZGVzKCkgdG8gaGFuZGxlIHR3byBjYXNlcyB3aGVu IFBBVCBpcyBzZXQgdG8gZGlzYWJsZS4KIDEuIENQVSBzdXBwb3J0cyBQQVQ6IFNldCBQQVQgdGFi bGUgdG8gYmUgY29uc2lzdGVudCB3aXRoIFBBVCBNU1IuCiAyLiBDUFUgZG9lcyBub3Qgc3VwcG9y dCBQQVQ6IFNldCBQQVQgdGFibGUgdG8gYmUgY29uc2lzdGVudCB3aXRoCiAgICBQV1QgYW5kIFBD RCBiaXRzIGluIGEgUFRFLgoKTm90ZSwgX19pbml0X2NhY2hlX21vZGVzKCksIHJlbmFtZWQgZnJv bSBwYXRfaW5pdF9jYWNoZV9tb2RlcygpLAp3aWxsIGJlIGNoYW5nZWQgdG8gYSBzdGF0aWMgZnVu Y3Rpb24gaW4gYSBsYXRlciBwYXRjaC4KClNpZ25lZC1vZmYtYnk6IFRvc2hpIEthbmkgPHRvc2hp LmthbmlAaHBlLmNvbT4KQ2M6IEJvcmlzbGF2IFBldGtvdiA8YnBAc3VzZS5kZT4KQ2M6IEx1aXMg Ui4gUm9kcmlndWV6IDxtY2dyb2ZAc3VzZS5jb20+CkNjOiBKdWVyZ2VuIEdyb3NzIDxqZ3Jvc3NA c3VzZS5jb20+CkNjOiBJbmdvIE1vbG5hciA8bWluZ29Aa2VybmVsLm9yZz4KQ2M6IEguIFBldGVy IEFudmluIDxocGFAenl0b3IuY29tPgpDYzogVGhvbWFzIEdsZWl4bmVyIDx0Z2x4QGxpbnV0cm9u aXguZGU+Ci0tLQogYXJjaC94ODYvaW5jbHVkZS9hc20vcGF0LmggfCAgICAyICsKIGFyY2gveDg2 L21tL3BhdC5jICAgICAgICAgIHwgICA3MyArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr Ky0tLS0tLS0tLS0tLQogYXJjaC94ODYveGVuL2VubGlnaHRlbi5jICAgfCAgICAyICsKIDMgZmls ZXMgY2hhbmdlZCwgNTUgaW5zZXJ0aW9ucygrKSwgMjIgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0 IGEvYXJjaC94ODYvaW5jbHVkZS9hc20vcGF0LmggYi9hcmNoL3g4Ni9pbmNsdWRlL2FzbS9wYXQu aAppbmRleCBjYTZjMjI4Li45N2VhNTViIDEwMDY0NAotLS0gYS9hcmNoL3g4Ni9pbmNsdWRlL2Fz bS9wYXQuaAorKysgYi9hcmNoL3g4Ni9pbmNsdWRlL2FzbS9wYXQuaApAQCAtNiw3ICs2LDcgQEAK IAogYm9vbCBwYXRfZW5hYmxlZCh2b2lkKTsKIGV4dGVybiB2b2lkIHBhdF9pbml0KHZvaWQpOwot dm9pZCBwYXRfaW5pdF9jYWNoZV9tb2Rlcyh1NjQpOwordm9pZCBfX2luaXRfY2FjaGVfbW9kZXMo dTY0KTsKIAogZXh0ZXJuIGludCByZXNlcnZlX21lbXR5cGUodTY0IHN0YXJ0LCB1NjQgZW5kLAog CQllbnVtIHBhZ2VfY2FjaGVfbW9kZSByZXFfcGNtLCBlbnVtIHBhZ2VfY2FjaGVfbW9kZSAqcmV0 X3BjbSk7CmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9tbS9wYXQuYyBiL2FyY2gveDg2L21tL3BhdC5j CmluZGV4IDA0ZTJlNzEuLjFkYTU1YTUgMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L21tL3BhdC5jCisr KyBiL2FyY2gveDg2L21tL3BhdC5jCkBAIC0xODEsNyArMTgxLDcgQEAgc3RhdGljIGVudW0gcGFn ZV9jYWNoZV9tb2RlIHBhdF9nZXRfY2FjaGVfbW9kZSh1bnNpZ25lZCBwYXRfdmFsLCBjaGFyICpt c2cpCiAgKiBjb25maWd1cmF0aW9uLgogICogVXNpbmcgbG93ZXIgaW5kaWNlcyBpcyBwcmVmZXJy ZWQsIHNvIHdlIHN0YXJ0IHdpdGggaGlnaGVzdCBpbmRleC4KICAqLwotdm9pZCBwYXRfaW5pdF9j YWNoZV9tb2Rlcyh1NjQgcGF0KQordm9pZCBfX2luaXRfY2FjaGVfbW9kZXModTY0IHBhdCkKIHsK IAllbnVtIHBhZ2VfY2FjaGVfbW9kZSBjYWNoZTsKIAljaGFyIHBhdF9tc2dbMzNdOwpAQCAtMjA3 LDkgKzIwNyw2IEBAIHN0YXRpYyB2b2lkIHBhdF9ic3BfaW5pdCh1NjQgcGF0KQogCQlyZXR1cm47 CiAJfQogCi0JaWYgKCFwYXRfZW5hYmxlZCgpKQotCQlnb3RvIGRvbmU7Ci0KIAlyZG1zcmwoTVNS X0lBMzJfQ1JfUEFULCB0bXBfcGF0KTsKIAlpZiAoIXRtcF9wYXQpIHsKIAkJcGF0X2Rpc2FibGUo IlBBVCBNU1IgaXMgMCwgZGlzYWJsZWQuIik7CkBAIC0yMTgsMTUgKzIxNSwxMSBAQCBzdGF0aWMg dm9pZCBwYXRfYnNwX2luaXQodTY0IHBhdCkKIAogCXdybXNybChNU1JfSUEzMl9DUl9QQVQsIHBh dCk7CiAKLWRvbmU6Ci0JcGF0X2luaXRfY2FjaGVfbW9kZXMocGF0KTsKKwlfX2luaXRfY2FjaGVf bW9kZXMocGF0KTsKIH0KIAogc3RhdGljIHZvaWQgcGF0X2FwX2luaXQodTY0IHBhdCkKIHsKLQlp ZiAoIXBhdF9lbmFibGVkKCkpCi0JCXJldHVybjsKLQogCWlmICghY3B1X2hhc19wYXQpIHsKIAkJ LyoKIAkJICogSWYgdGhpcyBoYXBwZW5zIHdlIGFyZSBvbiBhIHNlY29uZGFyeSBDUFUsIGJ1dCBz d2l0Y2hlZCB0bwpAQCAtMjM4LDE4ICsyMzEsMzIgQEAgc3RhdGljIHZvaWQgcGF0X2FwX2luaXQo dTY0IHBhdCkKIAl3cm1zcmwoTVNSX0lBMzJfQ1JfUEFULCBwYXQpOwogfQogCi12b2lkIHBhdF9p bml0KHZvaWQpCitzdGF0aWMgdm9pZCBpbml0X2NhY2hlX21vZGVzKHZvaWQpCiB7Ci0JdTY0IHBh dDsKLQlzdHJ1Y3QgY3B1aW5mb194ODYgKmMgPSAmYm9vdF9jcHVfZGF0YTsKKwl1NjQgcGF0ID0g MDsKKwlzdGF0aWMgaW50IGluaXRfY21fZG9uZTsKIAotCWlmICghcGF0X2VuYWJsZWQoKSkgewor CWlmIChpbml0X2NtX2RvbmUpCisJCXJldHVybjsKKworCWlmIChib290X2NwdV9oYXMoWDg2X0ZF QVRVUkVfUEFUKSkgeworCQkvKgorCQkgKiBDUFUgc3VwcG9ydHMgUEFULiBTZXQgUEFUIHRhYmxl IHRvIGJlIGNvbnNpc3RlbnQgd2l0aAorCQkgKiBQQVQgTVNSLiBUaGlzIGNhc2Ugc3VwcG9ydHMg Im5vcGF0IiBib290IG9wdGlvbiwgYW5kCisJCSAqIHZpcnR1YWwgbWFjaGluZSBlbnZpcm9ubWVu dHMgd2hpY2ggc3VwcG9ydCBQQVQgd2l0aG91dAorCQkgKiBNVFJScy4gSW4gc3BlY2lmaWMsIFhl biBoYXMgdW5pcXVlIHNldHVwIHRvIFBBVCBNU1IuCisJCSAqCisJCSAqIElmIFBBVCBNU1IgcmV0 dXJucyAwLCBpdCBpcyBjb25zaWRlcmVkIGludmFsaWQgYW5kIGVtdWxhdGVzCisJCSAqIGFzIE5v IFBBVC4KKwkJICovCisJCXJkbXNybChNU1JfSUEzMl9DUl9QQVQsIHBhdCk7CisJfQorCisJaWYg KCFwYXQpIHsKIAkJLyoKIAkJICogTm8gUEFULiBFbXVsYXRlIHRoZSBQQVQgdGFibGUgdGhhdCBj b3JyZXNwb25kcyB0byB0aGUgdHdvCi0JCSAqIGNhY2hlIGJpdHMsIFBXVCAoV3JpdGUgVGhyb3Vn aCkgYW5kIFBDRCAoQ2FjaGUgRGlzYWJsZSkuIFRoaXMKLQkJICogc2V0dXAgaXMgdGhlIHNhbWUg YXMgdGhlIEJJT1MgZGVmYXVsdCBzZXR1cCB3aGVuIHRoZSBzeXN0ZW0KLQkJICogaGFzIFBBVCBi dXQgdGhlICJub3BhdCIgYm9vdCBvcHRpb24gaGFzIGJlZW4gc3BlY2lmaWVkLiBUaGlzCi0JCSAq IGVtdWxhdGVkIFBBVCB0YWJsZSBpcyB1c2VkIHdoZW4gTVNSX0lBMzJfQ1JfUEFUIHJldHVybnMg MC4KKwkJICogY2FjaGUgYml0cywgUFdUIChXcml0ZSBUaHJvdWdoKSBhbmQgUENEIChDYWNoZSBE aXNhYmxlKS4KKwkJICogVGhpcyBzZXR1cCBpcyBhbHNvIHRoZSBzYW1lIGFzIHRoZSBCSU9TIGRl ZmF1bHQgc2V0dXAuCiAJCSAqCiAJCSAqIFBURSBlbmNvZGluZzoKIAkJICoKQEAgLTI2NiwxMCAr MjczLDM2IEBAIHZvaWQgcGF0X2luaXQodm9pZCkKIAkJICovCiAJCXBhdCA9IFBBVCgwLCBXQikg fCBQQVQoMSwgV1QpIHwgUEFUKDIsIFVDX01JTlVTKSB8IFBBVCgzLCBVQykgfAogCQkgICAgICBQ QVQoNCwgV0IpIHwgUEFUKDUsIFdUKSB8IFBBVCg2LCBVQ19NSU5VUykgfCBQQVQoNywgVUMpOwor CX0KKworCV9faW5pdF9jYWNoZV9tb2RlcyhwYXQpOworCisJaW5pdF9jbV9kb25lID0gMTsKK30K KworLyoqCisgKiBwYXRfaW5pdCAtIEluaXRpYWxpemUgUEFUIE1TUiBhbmQgUEFUIHRhYmxlCisg KgorICogVGhpcyBmdW5jdGlvbiBpbml0aWFsaXplcyBQQVQgTVNSIGFuZCBQQVQgdGFibGUgd2l0 aCBhbiBPUy1kZWZpbmVkIHZhbHVlCisgKiB0byBlbmFibGUgYWRkaXRpb25hbCBjYWNoZSBhdHRy aWJ1dGVzLCBXQyBhbmQgV1QuCisgKgorICogVGhpcyBmdW5jdGlvbiBtdXN0IGJlIGNhbGxlZCBv biBhbGwgQ1BVcyB1c2luZyB0aGUgc3BlY2lmaWMgc2VxdWVuY2Ugb2YKKyAqIG9wZXJhdGlvbnMg ZGVmaW5lZCBpbiBJbnRlbCBTRE0uIG10cnJfcmVuZGV6dm91c19oYW5kbGVyKCkgcHJvdmlkZXMg dGhpcworICogcHJvY2VkdXJlIGZvciBQQVQuCisgKi8KK3ZvaWQgcGF0X2luaXQodm9pZCkKK3sK Kwl1NjQgcGF0OworCXN0cnVjdCBjcHVpbmZvX3g4NiAqYyA9ICZib290X2NwdV9kYXRhOworCisJ aWYgKCFwYXRfZW5hYmxlZCgpKSB7CisJCWluaXRfY2FjaGVfbW9kZXMoKTsKKwkJcmV0dXJuOwor CX0KIAotCX0gZWxzZSBpZiAoKGMtPng4Nl92ZW5kb3IgPT0gWDg2X1ZFTkRPUl9JTlRFTCkgJiYK LQkJICAgKCgoYy0+eDg2ID09IDB4NikgJiYgKGMtPng4Nl9tb2RlbCA8PSAweGQpKSB8fAotCQkg ICAgKChjLT54ODYgPT0gMHhmKSAmJiAoYy0+eDg2X21vZGVsIDw9IDB4NikpKSkgeworCWlmICgo Yy0+eDg2X3ZlbmRvciA9PSBYODZfVkVORE9SX0lOVEVMKSAmJgorCSAgICAoKChjLT54ODYgPT0g MHg2KSAmJiAoYy0+eDg2X21vZGVsIDw9IDB4ZCkpIHx8CisJICAgICAoKGMtPng4NiA9PSAweGYp ICYmIChjLT54ODZfbW9kZWwgPD0gMHg2KSkpKSB7CiAJCS8qCiAJCSAqIFBBVCBzdXBwb3J0IHdp dGggdGhlIGxvd2VyIGZvdXIgZW50cmllcy4gSW50ZWwgUGVudGl1bSAyLAogCQkgKiAzLCBNLCBh bmQgNCBhcmUgYWZmZWN0ZWQgYnkgUEFUIGVycmF0YSwgd2hpY2ggbWFrZXMgdGhlCmRpZmYgLS1n aXQgYS9hcmNoL3g4Ni94ZW4vZW5saWdodGVuLmMgYi9hcmNoL3g4Ni94ZW4vZW5saWdodGVuLmMK aW5kZXggMjM3OWE1YS4uZjQyOTZiNiAxMDA2NDQKLS0tIGEvYXJjaC94ODYveGVuL2VubGlnaHRl bi5jCisrKyBiL2FyY2gveDg2L3hlbi9lbmxpZ2h0ZW4uYwpAQCAtMTYyMyw3ICsxNjIzLDcgQEAg YXNtbGlua2FnZSBfX3Zpc2libGUgdm9pZCBfX2luaXQgeGVuX3N0YXJ0X2tlcm5lbCh2b2lkKQog CSAqIGNvbmZpZ3VyYXRpb24uCiAJICovCiAJcmRtc3JsKE1TUl9JQTMyX0NSX1BBVCwgcGF0KTsK LQlwYXRfaW5pdF9jYWNoZV9tb2RlcyhwYXQpOworCV9faW5pdF9jYWNoZV9tb2RlcyhwYXQpOwog CiAJLyoga2VlcCB1c2luZyBYZW4gZ2R0IGZvciBub3c7IG5vIHVyZ2VudCBuZWVkIHRvIGNoYW5n ZSBpdCAqLwogCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f XwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54ZW4ub3JnCmh0dHA6Ly9s aXN0cy54ZW4ub3JnL3hlbi1kZXZlbAo=