From mboxrd@z Thu Jan 1 00:00:00 1970 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 Subject: [v2,1/1] EDAC, skx_edac: Add address translation for non-volatile DIMMs From: Borislav Petkov Message-Id: <20181020170206.GD28301@zn.tnic> Date: Sat, 20 Oct 2018 19:02:06 +0200 To: Qiuxu Zhuo Cc: tony.luck@intel.com, mchehab@osg.samsung.com, arozansk@redhat.com, linux-edac@vger.kernel.org List-ID: T24gU2F0LCBPY3QgMjAsIDIwMTggYXQgMTA6MzA6MjhQTSArMDgwMCwgUWl1eHUgWmh1byB3cm90 ZToKPiBDdXJyZW50IHNreF9lZGFjIGRyaXZlciBkb2Vzbid0IHN1cHBvcnQgYWRkcmVzcyB0cmFu c2xhdGlvbiBmb3IKPiBub24tdm9sYXRpbGUgRElNTXMuCj4gCj4gVGhlIEFDUEkgQURYTCBEU00g bWV0aG9kIHN1cHBvcnQgYWRkcmVzcyB0cmFuc2xhdGlvbiBmb3IgYm90aAo+IHZvbGF0aWxlIERJ TU1zIGFuZCBub24tdm9sYXRpbGUgRElNTXMuIFNvIHN3aXRjaCBza3hfZWRhYyB0byB1c2UKPiB0 aGUgd3JhcHBlZCBBQ1BJIERTTSBtZXRob2RzLCBpZiB0aGV5IGFyZSBzdXBwb3J0ZWQgYW5kIHRo ZXJlIGFyZQo+IG5vbi12b2xhdGlsZSBESU1NcyBwb3B1bGF0ZWQgb24gdGhlIHN5c3RlbS4KPiAK PiAoVGhlIGRlYnVnZnMgY2xlYW51cCBhbmQgdGVzdCBmb3IgQURYTCBEU00gZGVjb2Rpbmcgd2ls bCBiZSBhZGRlZAo+ICBpbiBsYXRlciBjb21taXRzKS4KPiAKPiBTaWduZWQtb2ZmLWJ5OiBRaXV4 dSBaaHVvIDxxaXV4dS56aHVvQGludGVsLmNvbT4KPiBTaWduZWQtb2ZmLWJ5OiBUb255IEx1Y2sg PHRvbnkubHVja0BpbnRlbC5jb20+CgpUaGlzIFNPQiBjaGFpbiBpcyB3cm9uZy4gSWYgVG9ueSBj by1kZXZlbG9wZWQgdGhpcyBwYXRjaCwgdGhlbiB5b3UgbmVlZAp0byBkbyBzb21ldGhpbmcgbGlr ZSB0aGlzOgoKQ28tRGV2ZWxvcGVkLWJ5OiBUb255IEx1Y2sgPHRvbnkubHVja0BpbnRlbC5jb20+ ClNpZ25lZC1vZmYtYnk6IFFpdXh1IFpodW8gPHFpdXh1LnpodW9AaW50ZWwuY29tPgoKPiAtLS0K PiAgUGFzcyB0ZXN0Ogo+ICAgICAgQXBwbHkgdGhlIHBhdGNoIG9uIHRvcCBvZiBCb3JpcycgZWRh Yy1mb3ItNC4yMC1za3gtMyBicmFuY2gKPiAgICAgIGFuZCBhZGQgdGhlIHRlc3QgY29kZSBhcyBi ZWxvdyBpbiBkZWJ1Z2ZzX3U2NF9zZXQoKToKPiAKPiAgICAgICAgICAgc3RydWN0IG1jZSBtOwo+ ICAgICAgICAgICBtZW1zZXQoJm0sIDAsIHNpemVvZihtKSk7Cj4gICAgICAgICAgIG0uc3RhdHVz ID0gTUNJX1NUQVRVU19BRERSViArIDB4OTA7Cj4gICAgICAgICAgIG0uc3RhdHVzIHw9IEJJVF9V TEwoTUNJX1NUQVRVU19DRUNfU0hJRlQpOwo+ICAgICAgICAgICBtLmFkZHIgPSB2YWw7Cj4gICAg ICAgICAgIHNreF9tY2VfY2hlY2tfZXJyb3IoTlVMTCwgMCwgJm0pOwo+ICAgICAgCj4gICAgICBE ZWNvZGluZyB2aWEgQURYTCBEU00gYW5kIHZpYSBvcmlnaW5hbCBza3hfZWRhYyBjb2RlCj4gICAg ICB3b3JrZWQgd2VsbCBvbiBTa3lsYWtlLTJTICsgQklPUyB3aXRoIEFEWEwgRFNNIHN1cHBvcnQu Cj4gCj4gIGRyaXZlcnMvZWRhYy9LY29uZmlnICAgIHwgICAxICsKPiAgZHJpdmVycy9lZGFjL3Nr eF9lZGFjLmMgfCAyMDcgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLQo+ ICAyIGZpbGVzIGNoYW5nZWQsIDE4OSBpbnNlcnRpb25zKCspLCAxOSBkZWxldGlvbnMoLSkKPiAK PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9lZGFjL0tjb25maWcgYi9kcml2ZXJzL2VkYWMvS2NvbmZp Zwo+IGluZGV4IDU3MzA0YjJlOTg5Zi4uZmZkMzQ5YzEyNDc5IDEwMDY0NAo+IC0tLSBhL2RyaXZl cnMvZWRhYy9LY29uZmlnCj4gKysrIGIvZHJpdmVycy9lZGFjL0tjb25maWcKPiBAQCAtMjM0LDYg KzIzNCw3IEBAIGNvbmZpZyBFREFDX1NLWAo+ICAJZGVwZW5kcyBvbiBQQ0kgJiYgWDg2XzY0ICYm IFg4Nl9NQ0VfSU5URUwgJiYgUENJX01NQ09ORklHCj4gIAlkZXBlbmRzIG9uIEFDUElfTkZJVCB8 fCAhQUNQSV9ORklUICMgaWYgQUNQSV9ORklUPW0sIEVEQUNfU0tYIGNhbid0IGJlIHkKPiAgCXNl bGVjdCBETUkKPiArCXNlbGVjdCBBQ1BJX0FEWEwKPiAgCWhlbHAKPiAgCSAgU3VwcG9ydCBmb3Ig ZXJyb3IgZGV0ZWN0aW9uIGFuZCBjb3JyZWN0aW9uIHRoZSBJbnRlbAo+ICAJICBTa3lsYWtlIHNl cnZlciBJbnRlZ3JhdGVkIE1lbW9yeSBDb250cm9sbGVycy4gSWYgeW91cgo+IGRpZmYgLS1naXQg YS9kcml2ZXJzL2VkYWMvc2t4X2VkYWMuYyBiL2RyaXZlcnMvZWRhYy9za3hfZWRhYy5jCj4gaW5k ZXggZGQyMDllMGRkOWFiLi4xYTE5MTczZjE2ODUgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9lZGFj L3NreF9lZGFjLmMKPiArKysgYi9kcml2ZXJzL2VkYWMvc2t4X2VkYWMuYwo+IEBAIC0yNiw2ICsy Niw3IEBACj4gICNpbmNsdWRlIDxsaW51eC9iaXRtYXAuaD4KPiAgI2luY2x1ZGUgPGxpbnV4L21h dGg2NC5oPgo+ICAjaW5jbHVkZSA8bGludXgvbW9kX2RldmljZXRhYmxlLmg+Cj4gKyNpbmNsdWRl IDxsaW51eC9hZHhsLmg+Cj4gICNpbmNsdWRlIDxhY3BpL25maXQuaD4KPiAgI2luY2x1ZGUgPGFz bS9jcHVfZGV2aWNlX2lkLmg+Cj4gICNpbmNsdWRlIDxhc20vaW50ZWwtZmFtaWx5Lmg+Cj4gQEAg LTM1LDYgKzM2LDcgQEAKPiAgI2luY2x1ZGUgImVkYWNfbW9kdWxlLmgiCj4gIAo+ICAjZGVmaW5l IEVEQUNfTU9EX1NUUiAgICAic2t4X2VkYWMiCj4gKyNkZWZpbmUgTVNHX1NJWkUJMTAyNAo+ICAK PiAgLyoKPiAgICogRGVidWcgbWFjcm9zCj4gQEAgLTU0LDYgKzU2LDI5IEBACj4gIHN0YXRpYyBM SVNUX0hFQUQoc2t4X2VkYWNfbGlzdCk7Cj4gIAo+ICBzdGF0aWMgdTY0IHNreF90b2xtLCBza3hf dG9obTsKPiArc3RhdGljIGNoYXIgKnNreF9tc2c7Cj4gK3N0YXRpYyBpbnQgbnZkaW1tX2NvdW50 OwoKdW5zaWduZWQgaW50LCBvciBjYW4geW91IGhhdmUgbmVnYXRpdmUgbnZkaW1tIGNvdW50cz8K Cj4gKwo+ICtlbnVtIHsKPiArCUlOREVYX1NPQ0tFVCwKPiArCUlOREVYX01FTUNUUkwsCj4gKwlJ TkRFWF9DSEFOTkVMLAo+ICsJSU5ERVhfRElNTSwKPiArCUlOREVYX01BWAo+ICt9Owo+ICsKPiAr c3RhdGljIGNvbnN0IGNoYXIgKiBjb25zdCBjb21wb25lbnRfbmFtZXNbXSA9IHsKPiArCVtJTkRF WF9TT0NLRVRdCT0gIlByb2Nlc3NvclNvY2tldElkIiwKPiArCVtJTkRFWF9NRU1DVFJMXQk9ICJN ZW1vcnlDb250cm9sbGVySWQiLAo+ICsJW0lOREVYX0NIQU5ORUxdCT0gIkNoYW5uZWxJZCIsCj4g KwlbSU5ERVhfRElNTV0JPSAiRGltbVNsb3RJZCIsCj4gK307Cj4gKwo+ICtzdGF0aWMgaW50IGNv bXBvbmVudF9pbmRpY2VzW0FSUkFZX1NJWkUoY29tcG9uZW50X25hbWVzKV07Cj4gK3N0YXRpYyBp bnQgYWR4bF9jb21wb25lbnRfY291bnQ7Cj4gK3N0YXRpYyBjb25zdCBjaGFyICogY29uc3QgKmFk eGxfY29tcG9uZW50X25hbWVzOwo+ICtzdGF0aWMgdTY0ICphZHhsX3ZhbHVlczsKPiArc3RhdGlj IGNoYXIgKmFkeGxfbXNnOwo+ICAKPiAgI2RlZmluZSBOVU1fSU1DCQkJMgkvKiBtZW1vcnkgY29u dHJvbGxlcnMgcGVyIHNvY2tldCAqLwo+ICAjZGVmaW5lIE5VTV9DSEFOTkVMUwkJMwkvKiBjaGFu bmVscyBwZXIgbWVtb3J5IGNvbnRyb2xsZXIgKi8KPiBAQCAtMTAwLDEzICsxMjUsMTMgQEAgc3Ry dWN0IHNreF9wdnQgewo+ICBzdHJ1Y3QgZGVjb2RlZF9hZGRyIHsKPiAgCXN0cnVjdCBza3hfZGV2 ICpkZXY7Cj4gIAl1NjQJYWRkcjsKPiAtCWludAlzb2NrZXQ7Cj4gLQlpbnQJaW1jOwo+IC0JaW50 CWNoYW5uZWw7Cj4gKwl1NjQJc29ja2V0Owo+ICsJdTY0CWltYzsKPiArCXU2NAljaGFubmVsOwoK VGhpcyBpcyBudXRzISBXaHkgYXJlIHRob3NlIHRocmVlIHU2ND8KCklmIGFkeGxfdmFsdWVzIGlz IGEgYnVuY2ggb2YgdTY0cyB0aGF0IGRvZXNuJ3QgbWVhbiB5b3Ugc2hvdWxkIGRvIHRoYXQKd2l0 aCB0aGUgZGVjb2RlZCBhZGRyZXNzIHZhbHVlcyB0b28sIGRvZXMgaXQ/IFlvdSBuZWVkIHRvIGNh c3QgdGhlbSBhbGwKaW4gc2t4X2FkeGxfZGVjb2RlKCkuCgo+ICAJdTY0CWNoYW5fYWRkcjsKPiAg CWludAlza3R3YXlzOwo+ICAJaW50CWNoYW53YXlzOwo+IC0JaW50CWRpbW07Cj4gKwl1NjQJZGlt bTsKCkRpdHRvLgoKPiAgCWludAlyYW5rOwo+ICAJaW50CWNoYW5uZWxfcmFuazsKPiAgCXU2NAly YW5rX2FkZHJlc3M7Cj4gQEAgLTM5Myw2ICs0MTgsOCBAQCBzdGF0aWMgaW50IGdldF9udmRpbW1f aW5mbyhzdHJ1Y3QgZGltbV9pbmZvICpkaW1tLCBzdHJ1Y3Qgc2t4X2ltYyAqaW1jLAo+ICAJdTE2 IGZsYWdzOwo+ICAJdTY0IHNpemUgPSAwOwo+ICAKPiArCW52ZGltbV9jb3VudCsrOwo+ICsKPiAg CWRldl9oYW5kbGUgPSBBQ1BJX05GSVRfQlVJTERfREVWSUNFX0hBTkRMRShkaW1tbm8sIGNoYW4s IGltYy0+bG1jLAo+ICAJCQkJCQkgICBpbWMtPnNyY19pZCwgMCk7Cj4gIAo+IEBAIC02ODIsNyAr NzA5LDcgQEAgc3RhdGljIGJvb2wgc2t4X3NhZF9kZWNvZGUoc3RydWN0IGRlY29kZWRfYWRkciAq cmVzKQo+ICAJcmVzLT5pbWMgPSBHRVRfQklURklFTEQoZC0+bWNyb3V0ZSwgbGNoYW4gKiAzLCBs Y2hhbiAqIDMgKyAyKTsKPiAgCXJlcy0+Y2hhbm5lbCA9IEdFVF9CSVRGSUVMRChkLT5tY3JvdXRl LCBsY2hhbiAqIDIgKyAxOCwgbGNoYW4gKiAyICsgMTkpOwo+ICAKPiAtCWVkYWNfZGJnKDIsICIl bGx4OiBzb2NrZXQ9JWQgaW1jPSVkIGNoYW5uZWw9JWRcbiIsCj4gKwllZGFjX2RiZygyLCAiJWxs eDogc29ja2V0PSVsbHUgaW1jPSVsbHUgY2hhbm5lbD0lbGx1XG4iLAoKQW5kIHRoZW4gdGhpcyBj aGFuZ2UgaXMgbm90IG5lZWRlZC4KCj4gIAkJIHJlcy0+YWRkciwgcmVzLT5zb2NrZXQsIHJlcy0+ aW1jLCByZXMtPmNoYW5uZWwpOwo+ICAJcmV0dXJuIHRydWU7Cj4gIH0KPiBAQCAtODE4LDcgKzg0 NSw3IEBAIHN0YXRpYyBib29sIHNreF9yaXJfZGVjb2RlKHN0cnVjdCBkZWNvZGVkX2FkZHIgKnJl cykKPiAgCXJlcy0+ZGltbSA9IGNoYW5fcmFuayAvIDQ7Cj4gIAlyZXMtPnJhbmsgPSBjaGFuX3Jh bmsgJSA0Owo+ICAKPiAtCWVkYWNfZGJnKDIsICIlbGx4OiBkaW1tPSVkIHJhbms9JWQgY2hhbl9y YW5rPSVkIHJhbmtfYWRkcj0lbGx4XG4iLAo+ICsJZWRhY19kYmcoMiwgIiVsbHg6IGRpbW09JWxs dSByYW5rPSVkIGNoYW5fcmFuaz0lZCByYW5rX2FkZHI9JWxseFxuIiwKClRoaXMgb25lIHRvby4K Cj4gIAkJIHJlcy0+YWRkciwgcmVzLT5kaW1tLCByZXMtPnJhbmssCj4gIAkJIHJlcy0+Y2hhbm5l bF9yYW5rLCByZXMtPnJhbmtfYWRkcmVzcyk7Cj4gIAlyZXR1cm4gdHJ1ZTsKCi4uLgoKPiArc3Rh dGljIHZvaWQgX19pbml0IHNreF9hZHhsX2dldCh2b2lkKQo+ICt7Cj4gKwljb25zdCBjaGFyICog Y29uc3QgKm5hbWVzOwo+ICsJaW50IGksIGo7Cj4gKwo+ICsJbmFtZXMgPSBhZHhsX2dldF9jb21w b25lbnRfbmFtZXMoKTsKPiArCWlmICghbmFtZXMpIHsKPiArCQlza3hfcHJpbnRrKEtFUk5fTk9U SUNFLCAiTm8gZmlybXdhcmUgc3VwcG9ydCBmb3IgYWRkcmVzcyB0cmFuc2xhdGlvbi4iKTsKPiAr CQlza3hfcHJpbnRrKEtFUk5fQ09OVCwgIiBPbmx5IGRlY29kaW5nIEREUjQgYWRkcmVzcyFcbiIp Owo+ICsJCXJldHVybjsKPiArCX0KPiArCj4gKwlmb3IgKGkgPSAwOyBpIDwgSU5ERVhfTUFYOyBp KyspIHsKPiArCQlmb3IgKGogPSAwOyBuYW1lc1tqXTsgaisrKSB7Cj4gKwkJCWlmICghc3RyY21w KGNvbXBvbmVudF9uYW1lc1tpXSwgbmFtZXNbal0pKSB7Cj4gKwkJCQljb21wb25lbnRfaW5kaWNl c1tpXSA9IGo7Cj4gKwkJCQlicmVhazsKPiArCQkJfQo+ICsJCX0KPiArCj4gKwkJaWYgKCFuYW1l c1tqXSkKPiArCQkJZ290byBlcnI7Cj4gKwl9Cj4gKwo+ICsJYWR4bF9jb21wb25lbnRfbmFtZXMg PSBuYW1lczsKPiArCXdoaWxlICgqbmFtZXMrKykKPiArCQlhZHhsX2NvbXBvbmVudF9jb3VudCsr Owo+ICsKPiArCWFkeGxfdmFsdWVzID0ga2NhbGxvYyhhZHhsX2NvbXBvbmVudF9jb3VudCwgc2l6 ZW9mKCphZHhsX3ZhbHVlcyksCj4gKwkJCSAgICAgIEdGUF9LRVJORUwpOwo+ICsJaWYgKCFhZHhs X3ZhbHVlcykgewo+ICsJCWFkeGxfY29tcG9uZW50X2NvdW50ID0gMDsKPiArCQllZGFjX2RiZygw LCAiTm8gbWVtb3J5IGZvciBhZHhsX2RlY29kZSgpXG4iKTsKPiArCX0KPiArCj4gKwlhZHhsX21z ZyA9IGt6YWxsb2MoTVNHX1NJWkUsIEdGUF9LRVJORUwpOwo+ICsJaWYgKCFhZHhsX21zZykgewo+ ICsJCWFkeGxfY29tcG9uZW50X2NvdW50ID0gMDsKPiArCQlrZnJlZShhZHhsX3ZhbHVlcyk7Cj4g KwkJZWRhY19kYmcoMCwgIk5vIG1lbW9yeSBmb3IgYWR4bF9tc2dcbiIpOwo+ICsJfQo+ICsKPiAr CXJldHVybjsKPiArZXJyOgo+ICsJc2t4X3ByaW50ayhLRVJOX0VSUiwgIiclcycgaXMgbm90IG1h dGNoZWQgZnJvbSBEU00gcGFyYW1ldGVyczogIiwKPiArCQkgICBjb21wb25lbnRfbmFtZXNbaV0p Owo+ICsJZm9yIChqID0gMDsgbmFtZXNbal07IGorKykKPiArCQlza3hfcHJpbnRrKEtFUk5fQ09O VCwgIiVzICIsIG5hbWVzW2pdKTsKPiArCXNreF9wcmludGsoS0VSTl9DT05ULCAiXG4iKTsKPiAr fQo+ICsKPiArc3RhdGljIHZvaWQgX19leGl0IHNreF9hZHhsX3B1dCh2b2lkKQo+ICt7Cj4gKwlr ZnJlZShhZHhsX3ZhbHVlcyk7Cj4gKwlrZnJlZShhZHhsX21zZyk7Cj4gK30KPiArCj4gIC8qCj4g ICAqIHNreF9pbml0Ogo+ICAgKgltYWtlIHN1cmUgd2UgYXJlIHJ1bm5pbmcgb24gdGhlIGNvcnJl Y3QgY3B1IG1vZGVsCj4gQEAgLTExNTgsNiArMTMxNCwxNiBAQCBzdGF0aWMgaW50IF9faW5pdCBz a3hfaW5pdCh2b2lkKQo+ICAJCX0KPiAgCX0KPiAgCj4gKwlza3hfbXNnID0ga3phbGxvYyhNU0df U0laRSwgR0ZQX0tFUk5FTCk7Cj4gKwlpZiAoIXNreF9tc2cpIHsKPiArCQllZGFjX2RiZygyLCAi Tm8gbWVtb3J5IGZvciBza3hfbXNnXG4iKTsKCldBUk5JTkc6IFBvc3NpYmxlIHVubmVjZXNzYXJ5 ICdvdXQgb2YgbWVtb3J5JyBtZXNzYWdlCiMzNTg6IEZJTEU6IGRyaXZlcnMvZWRhYy9za3hfZWRh Yy5jOjEzMTk6CisgICAgICAgaWYgKCFza3hfbXNnKSB7CisgICAgICAgICAgICAgICBlZGFjX2Ri ZygyLCAiTm8gbWVtb3J5IGZvciBza3hfbXNnXG4iKTsKCllvdSBoYXZlIGEgY291cGxlIG1vcmUg YWxsb2NhdGlvbiBlcnJvciBtZXNzYWdlcyB3aGljaCB5b3UgZG9uJ3QgbmVlZAplaXRoZXIuCg==