From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-9.0 required=3.0 tests=DKIM_SIGNED,DKIM_VALID, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY, SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id BFA14C28CC2 for ; Fri, 31 May 2019 23:45:26 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 8DE662700F for ; Fri, 31 May 2019 23:45:26 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (1024-bit key) header.d=amdcloud.onmicrosoft.com header.i=@amdcloud.onmicrosoft.com header.b="zBp2OdZb" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726955AbfEaXpX (ORCPT ); Fri, 31 May 2019 19:45:23 -0400 Received: from mail-eopbgr680060.outbound.protection.outlook.com ([40.107.68.60]:10465 "EHLO NAM04-BN3-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1726899AbfEaXpV (ORCPT ); Fri, 31 May 2019 19:45:21 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amdcloud.onmicrosoft.com; s=selector1-amdcloud-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=WjlXfYHYEJ9UZmbo78xOIv4jaEW9+/sgQWsaJ/Czqas=; b=zBp2OdZbvdrNAmDRqtvu0FX8tUMLyc1CtkR6mupDHjbkySaW3msHEZmieqTlpXHDyJUT8kyHXBioQxjyw0xQPSTwbNmCP2uSgayA3Y4to17Xja14YWMy55/8v6u8E8UolVqR5ck+fniTIOWe02jq5+7lsEYiEE55hqKVvtXXI3Y= Received: from SN6PR12MB2639.namprd12.prod.outlook.com (52.135.103.16) by SN6PR12MB2671.namprd12.prod.outlook.com (52.135.103.24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1943.17; Fri, 31 May 2019 23:45:13 +0000 Received: from SN6PR12MB2639.namprd12.prod.outlook.com ([fe80::69b5:19ac:b63d:2b82]) by SN6PR12MB2639.namprd12.prod.outlook.com ([fe80::69b5:19ac:b63d:2b82%3]) with mapi id 15.20.1922.021; Fri, 31 May 2019 23:45:13 +0000 From: "Ghannam, Yazen" To: "linux-edac@vger.kernel.org" CC: "Ghannam, Yazen" , "linux-kernel@vger.kernel.org" , "bp@alien8.de" Subject: [PATCH 2/8] EDAC/amd64: Support more than two controllers for chip selects handling Thread-Topic: [PATCH 2/8] EDAC/amd64: Support more than two controllers for chip selects handling Thread-Index: AQHVGArjP8ASCZySEUyWj7FP348Uiw== Date: Fri, 31 May 2019 23:45:12 +0000 Message-ID: <20190531234501.32826-3-Yazen.Ghannam@amd.com> References: <20190531234501.32826-1-Yazen.Ghannam@amd.com> In-Reply-To: <20190531234501.32826-1-Yazen.Ghannam@amd.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-clientproxiedby: SN6PR05CA0032.namprd05.prod.outlook.com (2603:10b6:805:de::45) To SN6PR12MB2639.namprd12.prod.outlook.com (2603:10b6:805:6f::16) authentication-results: spf=none (sender IP is ) smtp.mailfrom=Yazen.Ghannam@amd.com; x-ms-exchange-messagesentrepresentingtype: 1 x-mailer: git-send-email 2.17.1 x-originating-ip: [165.204.78.1] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 683937e1-fd7b-466a-06a6-08d6e62205c6 x-ms-office365-filtering-ht: Tenant x-microsoft-antispam: BCL:0;PCL:0;RULEID:(2390118)(7020095)(4652040)(8989299)(4534185)(4627221)(201703031133081)(201702281549075)(8990200)(5600148)(711020)(4605104)(1401327)(4618075)(2017052603328)(7193020);SRVR:SN6PR12MB2671; x-ms-traffictypediagnostic: SN6PR12MB2671: x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:390; x-forefront-prvs: 00540983E2 x-forefront-antispam-report: SFV:NSPM;SFS:(10009020)(39860400002)(346002)(376002)(136003)(366004)(396003)(189003)(199004)(5640700003)(25786009)(14444005)(6506007)(256004)(72206003)(2906002)(54906003)(6512007)(14454004)(186003)(86362001)(3846002)(6116002)(486006)(2501003)(71200400001)(6486002)(386003)(76176011)(2351001)(478600001)(71190400001)(52116002)(36756003)(6436002)(26005)(68736007)(6916009)(99286004)(446003)(66476007)(476003)(73956011)(66066001)(66946007)(2616005)(81156014)(305945005)(81166006)(1076003)(8936002)(316002)(7736002)(4326008)(8676002)(66446008)(64756008)(50226002)(53936002)(11346002)(5660300002)(66556008)(102836004);DIR:OUT;SFP:1101;SCL:1;SRVR:SN6PR12MB2671;H:SN6PR12MB2639.namprd12.prod.outlook.com;FPR:;SPF:None;LANG:en;PTR:InfoNoRecords;MX:1;A:1; received-spf: None (protection.outlook.com: amd.com does not designate permitted sender hosts) x-ms-exchange-senderadcheck: 1 x-microsoft-antispam-message-info: bNQcTPtWUqVmvN3BzewChvpkuDU/9k50rBfykQ13u4UkbzzfjkDFoaxNYEoo8OPCK8a68Hmlp1YvTUFCCwC8lOpnLekQ+pcRyiec9DNw1SbLFfRpIc8XsZGLeuT15OJU/M786ciygN7uDa1JDTp3S25GWeqaTfomZkvy1kGKPde2gXMDXHKXb2tq4v3+BtO/JKSnOUMm4lgiFsLmOiNs6mdCIEg1HsPu6nPvj6o+TG1SvAPB2AdSV1TjEA7VwqQWchBGV6Z+LM20aUMya3As+ZK5Lanq+T94dFc1VCOpLC/BWlTOQ7ySoB+SGGEbzgjM15EzncJLZzmkaZS7ws6QoaGoxF/msERrucl21BRc0tRSuX/Wk9prReU4K5YMvA8XXrXJufduUFXaVyTN7x9W2nZ2JpGQi0ZUceOFNDrtAcU= Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-Network-Message-Id: 683937e1-fd7b-466a-06a6-08d6e62205c6 X-MS-Exchange-CrossTenant-originalarrivaltime: 31 May 2019 23:45:12.3032 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: yghannam@amd.com X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN6PR12MB2671 Sender: linux-edac-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-edac@vger.kernel.org RnJvbTogWWF6ZW4gR2hhbm5hbSA8eWF6ZW4uZ2hhbm5hbUBhbWQuY29tPg0KDQpUaGUgc3RydWN0 IGNoaXBfc2VsZWN0IGFycmF5IHRoYXQncyB1c2VkIGZvciBzYXZpbmcgY2hpcCBzZWxlY3QgYmFz ZXMNCmFuZCBtYXNrcyBpcyBmaXhlZCBhdCBsZW5ndGggb2YgdHdvLiBUaGVyZSBzaG91bGQgYmUg b25lIHN0cnVjdA0KY2hpcF9zZWxlY3QgZm9yIGVhY2ggY29udHJvbGxlciwgc28gdGhpcyBhcnJh eSBzaG91bGQgYmUgaW5jcmVhc2VkIHRvDQpzdXBwb3J0IHN5c3RlbXMgdGhhdCBtYXkgaGF2ZSBt b3JlIHRoYW4gdHdvIGNvbnRyb2xsZXJzLg0KDQpJbmNyZWFzZSB0aGUgc2l6ZSBvZiB0aGUgc3Ry dWN0IGNoaXBfc2VsZWN0IGFycmF5IHRvIGVpZ2h0LCB3aGljaCBpcyB0aGUNCmxhcmdlc3QgbnVt YmVyIG9mIGNvbnRyb2xsZXJzIHBlciBkaWUgY3VycmVudGx5IHN1cHBvcnRlZCBvbiBBTUQNCnN5 c3RlbXMuDQoNCkFsc28sIGNhcnZlIG91dCB0aGUgRmFtaWx5IDE3aCsgcmVhZGluZyBvZiB0aGUg YmFzZXMvbWFza3MgaW50byBhDQpzZXBhcmF0ZSBmdW5jdGlvbi4gVGhpcyBlZmZlY3RpdmVseSBy ZXZlcnRzIHRoZSBvcmlnaW5hbCBiYXNlcy9tYXNrcw0KcmVhZGluZyBjb2RlIHRvIGJlZm9yZSBG YW1pbHkgMTdoIHN1cHBvcnQgd2FzIGFkZGVkLg0KDQpUaGlzIGlzIGEgc2Vjb25kIHZlcnNpb24g b2YgYSBjb21taXQgdGhhdCB3YXMgcmV2ZXJ0ZWQuDQoNCkZpeGVzOiA4ZGU5OTMwYTQ2MTggKCJS ZXZlcnQgIkVEQUMvYW1kNjQ6IFN1cHBvcnQgbW9yZSB0aGFuIHR3byBjb250cm9sbGVycyBmb3Ig Y2hpcCBzZWxlY3QgaGFuZGxpbmciIikNClNpZ25lZC1vZmYtYnk6IFlhemVuIEdoYW5uYW0gPHlh emVuLmdoYW5uYW1AYW1kLmNvbT4NCi0tLQ0KIGRyaXZlcnMvZWRhYy9hbWQ2NF9lZGFjLmMgfCAx MjIgKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tLS0NCiBkcml2ZXJzL2VkYWMv YW1kNjRfZWRhYy5oIHwgICA1ICstDQogMiBmaWxlcyBjaGFuZ2VkLCA2OSBpbnNlcnRpb25zKCsp LCA1OCBkZWxldGlvbnMoLSkNCg0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvZWRhYy9hbWQ2NF9lZGFj LmMgYi9kcml2ZXJzL2VkYWMvYW1kNjRfZWRhYy5jDQppbmRleCA5ZmEyZjIwNWYwNWMuLmRkNjBj ZjVhM2Q5NiAxMDA2NDQNCi0tLSBhL2RyaXZlcnMvZWRhYy9hbWQ2NF9lZGFjLmMNCisrKyBiL2Ry aXZlcnMvZWRhYy9hbWQ2NF9lZGFjLmMNCkBAIC05NDMsOTEgKzk0MywxMDEgQEAgc3RhdGljIHZv aWQgcHJlcF9jaGlwX3NlbGVjdHMoc3RydWN0IGFtZDY0X3B2dCAqcHZ0KQ0KIAkJcHZ0LT5jc2Vs c1swXS5iX2NudCA9IHB2dC0+Y3NlbHNbMV0uYl9jbnQgPSA0Ow0KIAkJcHZ0LT5jc2Vsc1swXS5t X2NudCA9IHB2dC0+Y3NlbHNbMV0ubV9jbnQgPSAyOw0KIAl9IGVsc2UgaWYgKHB2dC0+ZmFtID49 IDB4MTcpIHsNCi0JCXB2dC0+Y3NlbHNbMF0uYl9jbnQgPSBwdnQtPmNzZWxzWzFdLmJfY250ID0g NDsNCi0JCXB2dC0+Y3NlbHNbMF0ubV9jbnQgPSBwdnQtPmNzZWxzWzFdLm1fY250ID0gMjsNCisJ CWludCB1bWM7DQorDQorCQlmb3JfZWFjaF91bWModW1jKSB7DQorCQkJcHZ0LT5jc2Vsc1t1bWNd LmJfY250ID0gNDsNCisJCQlwdnQtPmNzZWxzW3VtY10ubV9jbnQgPSAyOw0KKwkJfQ0KKw0KIAl9 IGVsc2Ugew0KIAkJcHZ0LT5jc2Vsc1swXS5iX2NudCA9IHB2dC0+Y3NlbHNbMV0uYl9jbnQgPSA4 Ow0KIAkJcHZ0LT5jc2Vsc1swXS5tX2NudCA9IHB2dC0+Y3NlbHNbMV0ubV9jbnQgPSA0Ow0KIAl9 DQogfQ0KIA0KK3N0YXRpYyB2b2lkIHJlYWRfdW1jX2Jhc2VfbWFzayhzdHJ1Y3QgYW1kNjRfcHZ0 ICpwdnQpDQorew0KKwl1MzIgdW1jX2Jhc2VfcmVnLCB1bWNfbWFza19yZWc7DQorCXUzMiBiYXNl X3JlZywgbWFza19yZWc7DQorCXUzMiAqYmFzZSwgKm1hc2s7DQorCWludCBjcywgdW1jOw0KKw0K Kwlmb3JfZWFjaF91bWModW1jKSB7DQorCQl1bWNfYmFzZV9yZWcgPSBnZXRfdW1jX2Jhc2UodW1j KSArIFVNQ0NIX0JBU0VfQUREUjsNCisNCisJCWZvcl9lYWNoX2NoaXBfc2VsZWN0KGNzLCB1bWMs IHB2dCkgew0KKwkJCWJhc2UgPSAmcHZ0LT5jc2Vsc1t1bWNdLmNzYmFzZXNbY3NdOw0KKw0KKwkJ CWJhc2VfcmVnID0gdW1jX2Jhc2VfcmVnICsgKGNzICogNCk7DQorDQorCQkJaWYgKCFhbWRfc21u X3JlYWQocHZ0LT5tY19ub2RlX2lkLCBiYXNlX3JlZywgYmFzZSkpDQorCQkJCWVkYWNfZGJnKDAs ICIgIERDU0IlZFslZF09MHglMDh4IHJlZzogMHgleFxuIiwNCisJCQkJCSB1bWMsIGNzLCAqYmFz ZSwgYmFzZV9yZWcpOw0KKwkJfQ0KKw0KKwkJdW1jX21hc2tfcmVnID0gZ2V0X3VtY19iYXNlKHVt YykgKyBVTUNDSF9BRERSX01BU0s7DQorDQorCQlmb3JfZWFjaF9jaGlwX3NlbGVjdF9tYXNrKGNz LCB1bWMsIHB2dCkgew0KKwkJCW1hc2sgPSAmcHZ0LT5jc2Vsc1t1bWNdLmNzbWFza3NbY3NdOw0K Kw0KKwkJCW1hc2tfcmVnID0gdW1jX21hc2tfcmVnICsgKGNzICogNCk7DQorDQorCQkJaWYgKCFh bWRfc21uX3JlYWQocHZ0LT5tY19ub2RlX2lkLCBtYXNrX3JlZywgbWFzaykpDQorCQkJCWVkYWNf ZGJnKDAsICIgIERDU00lZFslZF09MHglMDh4IHJlZzogMHgleFxuIiwNCisJCQkJCSB1bWMsIGNz LCAqbWFzaywgbWFza19yZWcpOw0KKwkJfQ0KKwl9DQorfQ0KKw0KIC8qDQogICogRnVuY3Rpb24g MiBPZmZzZXQgRjEwX0RDU0IwOyByZWFkIGluIHRoZSBEQ1MgQmFzZSBhbmQgRENTIE1hc2sgcmVn aXN0ZXJzDQogICovDQogc3RhdGljIHZvaWQgcmVhZF9kY3RfYmFzZV9tYXNrKHN0cnVjdCBhbWQ2 NF9wdnQgKnB2dCkNCiB7DQotCWludCBiYXNlX3JlZzAsIGJhc2VfcmVnMSwgbWFza19yZWcwLCBt YXNrX3JlZzEsIGNzOw0KKwlpbnQgY3M7DQogDQogCXByZXBfY2hpcF9zZWxlY3RzKHB2dCk7DQog DQotCWlmIChwdnQtPnVtYykgew0KLQkJYmFzZV9yZWcwID0gZ2V0X3VtY19iYXNlKDApICsgVU1D Q0hfQkFTRV9BRERSOw0KLQkJYmFzZV9yZWcxID0gZ2V0X3VtY19iYXNlKDEpICsgVU1DQ0hfQkFT RV9BRERSOw0KLQkJbWFza19yZWcwID0gZ2V0X3VtY19iYXNlKDApICsgVU1DQ0hfQUREUl9NQVNL Ow0KLQkJbWFza19yZWcxID0gZ2V0X3VtY19iYXNlKDEpICsgVU1DQ0hfQUREUl9NQVNLOw0KLQl9 IGVsc2Ugew0KLQkJYmFzZV9yZWcwID0gRENTQjA7DQotCQliYXNlX3JlZzEgPSBEQ1NCMTsNCi0J CW1hc2tfcmVnMCA9IERDU00wOw0KLQkJbWFza19yZWcxID0gRENTTTE7DQotCX0NCisJaWYgKHB2 dC0+dW1jKQ0KKwkJcmV0dXJuIHJlYWRfdW1jX2Jhc2VfbWFzayhwdnQpOw0KIA0KIAlmb3JfZWFj aF9jaGlwX3NlbGVjdChjcywgMCwgcHZ0KSB7DQotCQlpbnQgcmVnMCAgID0gYmFzZV9yZWcwICsg KGNzICogNCk7DQotCQlpbnQgcmVnMSAgID0gYmFzZV9yZWcxICsgKGNzICogNCk7DQorCQlpbnQg cmVnMCAgID0gRENTQjAgKyAoY3MgKiA0KTsNCisJCWludCByZWcxICAgPSBEQ1NCMSArIChjcyAq IDQpOw0KIAkJdTMyICpiYXNlMCA9ICZwdnQtPmNzZWxzWzBdLmNzYmFzZXNbY3NdOw0KIAkJdTMy ICpiYXNlMSA9ICZwdnQtPmNzZWxzWzFdLmNzYmFzZXNbY3NdOw0KIA0KLQkJaWYgKHB2dC0+dW1j KSB7DQotCQkJaWYgKCFhbWRfc21uX3JlYWQocHZ0LT5tY19ub2RlX2lkLCByZWcwLCBiYXNlMCkp DQotCQkJCWVkYWNfZGJnKDAsICIgIERDU0IwWyVkXT0weCUwOHggcmVnOiAweCV4XG4iLA0KLQkJ CQkJIGNzLCAqYmFzZTAsIHJlZzApOw0KLQ0KLQkJCWlmICghYW1kX3Ntbl9yZWFkKHB2dC0+bWNf bm9kZV9pZCwgcmVnMSwgYmFzZTEpKQ0KLQkJCQllZGFjX2RiZygwLCAiICBEQ1NCMVslZF09MHgl MDh4IHJlZzogMHgleFxuIiwNCi0JCQkJCSBjcywgKmJhc2UxLCByZWcxKTsNCi0JCX0gZWxzZSB7 DQotCQkJaWYgKCFhbWQ2NF9yZWFkX2RjdF9wY2lfY2ZnKHB2dCwgMCwgcmVnMCwgYmFzZTApKQ0K LQkJCQllZGFjX2RiZygwLCAiICBEQ1NCMFslZF09MHglMDh4IHJlZzogRjJ4JXhcbiIsDQotCQkJ CQkgY3MsICpiYXNlMCwgcmVnMCk7DQorCQlpZiAoIWFtZDY0X3JlYWRfZGN0X3BjaV9jZmcocHZ0 LCAwLCByZWcwLCBiYXNlMCkpDQorCQkJZWRhY19kYmcoMCwgIiAgRENTQjBbJWRdPTB4JTA4eCBy ZWc6IEYyeCV4XG4iLA0KKwkJCQkgY3MsICpiYXNlMCwgcmVnMCk7DQogDQotCQkJaWYgKHB2dC0+ ZmFtID09IDB4ZikNCi0JCQkJY29udGludWU7DQorCQlpZiAocHZ0LT5mYW0gPT0gMHhmKQ0KKwkJ CWNvbnRpbnVlOw0KIA0KLQkJCWlmICghYW1kNjRfcmVhZF9kY3RfcGNpX2NmZyhwdnQsIDEsIHJl ZzAsIGJhc2UxKSkNCi0JCQkJZWRhY19kYmcoMCwgIiAgRENTQjFbJWRdPTB4JTA4eCByZWc6IEYy eCV4XG4iLA0KLQkJCQkJIGNzLCAqYmFzZTEsIChwdnQtPmZhbSA9PSAweDEwKSA/IHJlZzENCi0J CQkJCQkJCTogcmVnMCk7DQotCQl9DQorCQlpZiAoIWFtZDY0X3JlYWRfZGN0X3BjaV9jZmcocHZ0 LCAxLCByZWcwLCBiYXNlMSkpDQorCQkJZWRhY19kYmcoMCwgIiAgRENTQjFbJWRdPTB4JTA4eCBy ZWc6IEYyeCV4XG4iLA0KKwkJCQkgY3MsICpiYXNlMSwgKHB2dC0+ZmFtID09IDB4MTApID8gcmVn MQ0KKwkJCQkJCQk6IHJlZzApOw0KIAl9DQogDQogCWZvcl9lYWNoX2NoaXBfc2VsZWN0X21hc2so Y3MsIDAsIHB2dCkgew0KLQkJaW50IHJlZzAgICA9IG1hc2tfcmVnMCArIChjcyAqIDQpOw0KLQkJ aW50IHJlZzEgICA9IG1hc2tfcmVnMSArIChjcyAqIDQpOw0KKwkJaW50IHJlZzAgICA9IERDU00w ICsgKGNzICogNCk7DQorCQlpbnQgcmVnMSAgID0gRENTTTEgKyAoY3MgKiA0KTsNCiAJCXUzMiAq bWFzazAgPSAmcHZ0LT5jc2Vsc1swXS5jc21hc2tzW2NzXTsNCiAJCXUzMiAqbWFzazEgPSAmcHZ0 LT5jc2Vsc1sxXS5jc21hc2tzW2NzXTsNCiANCi0JCWlmIChwdnQtPnVtYykgew0KLQkJCWlmICgh YW1kX3Ntbl9yZWFkKHB2dC0+bWNfbm9kZV9pZCwgcmVnMCwgbWFzazApKQ0KLQkJCQllZGFjX2Ri ZygwLCAiICAgIERDU00wWyVkXT0weCUwOHggcmVnOiAweCV4XG4iLA0KLQkJCQkJIGNzLCAqbWFz azAsIHJlZzApOw0KLQ0KLQkJCWlmICghYW1kX3Ntbl9yZWFkKHB2dC0+bWNfbm9kZV9pZCwgcmVn MSwgbWFzazEpKQ0KLQkJCQllZGFjX2RiZygwLCAiICAgIERDU00xWyVkXT0weCUwOHggcmVnOiAw eCV4XG4iLA0KLQkJCQkJIGNzLCAqbWFzazEsIHJlZzEpOw0KLQkJfSBlbHNlIHsNCi0JCQlpZiAo IWFtZDY0X3JlYWRfZGN0X3BjaV9jZmcocHZ0LCAwLCByZWcwLCBtYXNrMCkpDQotCQkJCWVkYWNf ZGJnKDAsICIgICAgRENTTTBbJWRdPTB4JTA4eCByZWc6IEYyeCV4XG4iLA0KLQkJCQkJIGNzLCAq bWFzazAsIHJlZzApOw0KKwkJaWYgKCFhbWQ2NF9yZWFkX2RjdF9wY2lfY2ZnKHB2dCwgMCwgcmVn MCwgbWFzazApKQ0KKwkJCWVkYWNfZGJnKDAsICIgICAgRENTTTBbJWRdPTB4JTA4eCByZWc6IEYy eCV4XG4iLA0KKwkJCQkgY3MsICptYXNrMCwgcmVnMCk7DQogDQotCQkJaWYgKHB2dC0+ZmFtID09 IDB4ZikNCi0JCQkJY29udGludWU7DQorCQlpZiAocHZ0LT5mYW0gPT0gMHhmKQ0KKwkJCWNvbnRp bnVlOw0KIA0KLQkJCWlmICghYW1kNjRfcmVhZF9kY3RfcGNpX2NmZyhwdnQsIDEsIHJlZzAsIG1h c2sxKSkNCi0JCQkJZWRhY19kYmcoMCwgIiAgICBEQ1NNMVslZF09MHglMDh4IHJlZzogRjJ4JXhc biIsDQotCQkJCQkgY3MsICptYXNrMSwgKHB2dC0+ZmFtID09IDB4MTApID8gcmVnMQ0KLQkJCQkJ CQkJOiByZWcwKTsNCi0JCX0NCisJCWlmICghYW1kNjRfcmVhZF9kY3RfcGNpX2NmZyhwdnQsIDEs IHJlZzAsIG1hc2sxKSkNCisJCQllZGFjX2RiZygwLCAiICAgIERDU00xWyVkXT0weCUwOHggcmVn OiBGMngleFxuIiwNCisJCQkJIGNzLCAqbWFzazEsIChwdnQtPmZhbSA9PSAweDEwKSA/IHJlZzEN CisJCQkJCQkJOiByZWcwKTsNCiAJfQ0KIH0NCiANCmRpZmYgLS1naXQgYS9kcml2ZXJzL2VkYWMv YW1kNjRfZWRhYy5oIGIvZHJpdmVycy9lZGFjL2FtZDY0X2VkYWMuaA0KaW5kZXggOGY2NjQ3MmY3 YWRjLi40ZGNlNmEyYWM3NWYgMTAwNjQ0DQotLS0gYS9kcml2ZXJzL2VkYWMvYW1kNjRfZWRhYy5o DQorKysgYi9kcml2ZXJzL2VkYWMvYW1kNjRfZWRhYy5oDQpAQCAtOTYsNiArOTYsNyBAQA0KIC8q IEhhcmR3YXJlIGxpbWl0IG9uIENoaXBTZWxlY3Qgcm93cyBwZXIgTUMgYW5kIHByb2Nlc3NvcnMg cGVyIHN5c3RlbSAqLw0KICNkZWZpbmUgTlVNX0NISVBTRUxFQ1RTCQkJOA0KICNkZWZpbmUgRFJB TV9SQU5HRVMJCQk4DQorI2RlZmluZSBOVU1fQ09OVFJPTExFUlMJCQk4DQogDQogI2RlZmluZSBP TiB0cnVlDQogI2RlZmluZSBPRkYgZmFsc2UNCkBAIC0zNTEsOCArMzUyLDggQEAgc3RydWN0IGFt ZDY0X3B2dCB7DQogCXUzMiBkYmFtMDsJCS8qIERSQU0gQmFzZSBBZGRyZXNzIE1hcHBpbmcgcmVn IGZvciBEQ1QwICovDQogCXUzMiBkYmFtMTsJCS8qIERSQU0gQmFzZSBBZGRyZXNzIE1hcHBpbmcg cmVnIGZvciBEQ1QxICovDQogDQotCS8qIG9uZSBmb3IgZWFjaCBEQ1QgKi8NCi0Jc3RydWN0IGNo aXBfc2VsZWN0IGNzZWxzWzJdOw0KKwkvKiBvbmUgZm9yIGVhY2ggRENUL1VNQyAqLw0KKwlzdHJ1 Y3QgY2hpcF9zZWxlY3QgY3NlbHNbTlVNX0NPTlRST0xMRVJTXTsNCiANCiAJLyogRFJBTSBiYXNl IGFuZCBsaW1pdCBwYWlycyBGMXhbNzgsNzAsNjgsNjAsNTgsNTAsNDgsNDBdICovDQogCXN0cnVj dCBkcmFtX3JhbmdlIHJhbmdlc1tEUkFNX1JBTkdFU107DQotLSANCjIuMTcuMQ0KDQo=