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,4/4] x86/MCE/AMD: Carve out SMCA get_block_address() code From: Yazen Ghannam Message-Id: <20180215210943.11530-4-Yazen.Ghannam@amd.com> Date: Thu, 15 Feb 2018 15:09:43 -0600 To: linux-edac@vger.kernel.org Cc: Yazen Ghannam , linux-kernel@vger.kernel.org, bp@suse.de, tony.luck@intel.com, x86@kernel.org List-ID: RnJvbTogWWF6ZW4gR2hhbm5hbSA8eWF6ZW4uZ2hhbm5hbUBhbWQuY29tPgoKQ2FydmUgb3V0IHRo ZSBTTUNBIGNvZGUgaW4gZ2V0X2Jsb2NrX2FkZHJlc3MoKSBpbnRvIGEgc2VwYXJhdGUgaGVscGVy CmZ1bmN0aW9uLgoKTm8gZnVuY3Rpb25hbCBjaGFuZ2UuCgpTaWduZWQtb2ZmLWJ5OiBZYXplbiBH aGFubmFtIDx5YXplbi5naGFubmFtQGFtZC5jb20+Ci0tLQp2MS0+djI6CiogTmV3IGluIHRoaXMg c2VyaWVzLgoKIGFyY2gveDg2L2tlcm5lbC9jcHUvbWNoZWNrL21jZV9hbWQuYyB8IDU5ICsrKysr KysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tLQogMSBmaWxlIGNoYW5nZWQsIDMzIGluc2Vy dGlvbnMoKyksIDI2IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2FyY2gveDg2L2tlcm5lbC9j cHUvbWNoZWNrL21jZV9hbWQuYyBiL2FyY2gveDg2L2tlcm5lbC9jcHUvbWNoZWNrL21jZV9hbWQu YwppbmRleCAxMmJjMjg2M2E0ZDYuLjdjNDUxODUwZDhhYSAxMDA2NDQKLS0tIGEvYXJjaC94ODYv a2VybmVsL2NwdS9tY2hlY2svbWNlX2FtZC5jCisrKyBiL2FyY2gveDg2L2tlcm5lbC9jcHUvbWNo ZWNrL21jZV9hbWQuYwpAQCAtNDMxLDYgKzQzMSwzNyBAQCBzdGF0aWMgdm9pZCBkZWZlcnJlZF9l cnJvcl9pbnRlcnJ1cHRfZW5hYmxlKHN0cnVjdCBjcHVpbmZvX3g4NiAqYykKIAl3cm1zcihNU1Jf Q1VfREVGX0VSUiwgbG93LCBoaWdoKTsKIH0KIAorc3RhdGljIHUzMiBzbWNhX2dldF9ibG9ja19h ZGRyZXNzKHVuc2lnbmVkIGludCBjcHUsIHVuc2lnbmVkIGludCBiYW5rLAorCQkJCSAgdW5zaWdu ZWQgaW50IGJsb2NrKQoreworCXUzMiBhZGRyID0gMDsKKworCWlmIChzbWNhX2dldF9iYW5rX3R5 cGUoYmFuaykgPT0gU01DQV9SRVNFUlZFRCkKKwkJcmV0dXJuIGFkZHI7CisKKwlpZiAoIWJsb2Nr KSB7CisJCWFkZHIgPSBNU1JfQU1ENjRfU01DQV9NQ3hfTUlTQyhiYW5rKTsKKwl9IGVsc2Ugewor CQkvKgorCQkgKiBGb3IgU01DQSBlbmFibGVkIHByb2Nlc3NvcnMsIEJMS1BUUiBmaWVsZCBvZiB0 aGUKKwkJICogZmlyc3QgTUlTQyByZWdpc3RlciAoTUN4X01JU0MwKSBpbmRpY2F0ZXMgcHJlc2Vu Y2Ugb2YKKwkJICogYWRkaXRpb25hbCBNSVNDIHJlZ2lzdGVyIHNldCAoTUlTQzEtNCkuCisJCSAq LworCQl1MzIgbG93LCBoaWdoOworCisJCWlmIChyZG1zcl9zYWZlX29uX2NwdShjcHUsIE1TUl9B TUQ2NF9TTUNBX01DeF9DT05GSUcoYmFuayksICZsb3csICZoaWdoKSkKKwkJCXJldHVybiBhZGRy OworCisJCWlmICghKGxvdyAmIE1DSV9DT05GSUdfTUNBWCkpCisJCQlyZXR1cm4gYWRkcjsKKwor CQlpZiAoIXJkbXNyX3NhZmVfb25fY3B1KGNwdSwgTVNSX0FNRDY0X1NNQ0FfTUN4X01JU0MoYmFu ayksICZsb3csICZoaWdoKSAmJgorCQkgICAgKGxvdyAmIE1BU0tfQkxLUFRSX0xPKSkKKwkJCWFk ZHIgPSBNU1JfQU1ENjRfU01DQV9NQ3hfTUlTQ3koYmFuaywgYmxvY2sgLSAxKTsKKwl9CisJcmV0 dXJuIGFkZHI7Cit9CisKIHN0YXRpYyB1MzIgZ2V0X2Jsb2NrX2FkZHJlc3ModW5zaWduZWQgaW50 IGNwdSwgdTMyIGN1cnJlbnRfYWRkciwgdTMyIGxvdywgdTMyIGhpZ2gsCiAJCQkgICAgIHVuc2ln bmVkIGludCBiYW5rLCB1bnNpZ25lZCBpbnQgYmxvY2spCiB7CkBAIC00NTEsMzIgKzQ4Miw4IEBA IHN0YXRpYyB1MzIgZ2V0X2Jsb2NrX2FkZHJlc3ModW5zaWduZWQgaW50IGNwdSwgdTMyIGN1cnJl bnRfYWRkciwgdTMyIGxvdywgdTMyIGhpCiAJCX0KIAl9CiAKLQlpZiAobWNlX2ZsYWdzLnNtY2Ep IHsKLQkJaWYgKHNtY2FfZ2V0X2JhbmtfdHlwZShiYW5rKSA9PSBTTUNBX1JFU0VSVkVEKQotCQkJ cmV0dXJuIGFkZHI7Ci0KLQkJaWYgKCFibG9jaykgewotCQkJYWRkciA9IE1TUl9BTUQ2NF9TTUNB X01DeF9NSVNDKGJhbmspOwotCQl9IGVsc2UgewotCQkJLyoKLQkJCSAqIEZvciBTTUNBIGVuYWJs ZWQgcHJvY2Vzc29ycywgQkxLUFRSIGZpZWxkIG9mIHRoZQotCQkJICogZmlyc3QgTUlTQyByZWdp c3RlciAoTUN4X01JU0MwKSBpbmRpY2F0ZXMgcHJlc2VuY2Ugb2YKLQkJCSAqIGFkZGl0aW9uYWwg TUlTQyByZWdpc3RlciBzZXQgKE1JU0MxLTQpLgotCQkJICovCi0JCQl1MzIgbG93LCBoaWdoOwot Ci0JCQlpZiAocmRtc3Jfc2FmZV9vbl9jcHUoY3B1LCBNU1JfQU1ENjRfU01DQV9NQ3hfQ09ORklH KGJhbmspLCAmbG93LCAmaGlnaCkpCi0JCQkJcmV0dXJuIGFkZHI7Ci0KLQkJCWlmICghKGxvdyAm IE1DSV9DT05GSUdfTUNBWCkpCi0JCQkJcmV0dXJuIGFkZHI7Ci0KLQkJCWlmICghcmRtc3Jfc2Fm ZV9vbl9jcHUoY3B1LCBNU1JfQU1ENjRfU01DQV9NQ3hfTUlTQyhiYW5rKSwgJmxvdywgJmhpZ2gp ICYmCi0JCQkgICAgKGxvdyAmIE1BU0tfQkxLUFRSX0xPKSkKLQkJCQlhZGRyID0gTVNSX0FNRDY0 X1NNQ0FfTUN4X01JU0N5KGJhbmssIGJsb2NrIC0gMSk7Ci0JCX0KLQkJcmV0dXJuIGFkZHI7Ci0J fQorCWlmIChtY2VfZmxhZ3Muc21jYSkKKwkJcmV0dXJuIHNtY2FfZ2V0X2Jsb2NrX2FkZHJlc3Mo Y3B1LCBiYW5rLCBibG9jayk7CiAKIAkvKiBGYWxsIGJhY2sgdG8gbWV0aG9kIHdlIHVzZWQgZm9y IG9sZGVyIHByb2Nlc3NvcnM6ICovCiAJc3dpdGNoIChibG9jaykgewo=