Received: by 2002:a25:4158:0:0:0:0:0 with SMTP id o85csp5364797yba; Tue, 30 Apr 2019 13:34:06 -0700 (PDT) X-Google-Smtp-Source: APXvYqxprs0SfXkN0ul+Ttdg4qxVDWai2OG8v2C7qvfU6udfLx7vTvAj9A5u451AQ+z5J57hTV2h X-Received: by 2002:a62:4558:: with SMTP id s85mr75106051pfa.171.1556656446533; Tue, 30 Apr 2019 13:34:06 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1556656446; cv=none; d=google.com; s=arc-20160816; b=K1eotM3tFW23P77DS66tPRQobSPxKwyRo08doCJ57ro35RK1a0orKBkvwLd3f7Mbg3 gnA+8EbZuY33gDltzLBU7nxnEmT83UE4w4cO7quDgNmhjEXRfcJS6gFKsh9G2iEGHRpx ApyLvtQ54eekmR440KQneI4kBTRG5Qj/rDUerZNQQFQTnJpY8TEz3ZphCFUGUwOaVd03 80JW/v7jJlDOLjWKidoYDPumg6krj4z+ClTaMZkjrFtrRc/Fh6aEuqIHnceSyctgXKqy zQgyloVQYkBaubT+qhY5u0fazr1ycE1vr4LJmeadie/+2zjDYpPz0yMcIMLyaEVb7gur SzUQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:mime-version:content-transfer-encoding :content-language:accept-language:in-reply-to:references:message-id :date:thread-index:thread-topic:subject:cc:to:from:dkim-signature; bh=W/monNWLEXYDAT6oM0LuJn22S0eOEOHn/IW3PTxZKvc=; b=gKTkeNTtWpoIfKyN7mojSJuFAHk7b5nPyvZSl/vMIpQ/mgC2ZS2SBAMHMzYYdaMDfs wEnJystRMuHKPozshj87kbux+2bc/QDgyYIVRY6UkBYnHNGv55skr/HA257TQ9oK3+e1 WU1xDmnyp6s1OGchLYQzBZT4CGjGIwE2ywg+WkSHLVJoQUtrSodJ5MYq8SVdcSe4iwU7 +TUZfwUYwuJvQHXVrAdn7ynEu9tBV7wLJR03iLTffUszOuKOVL7lfyM6OIC7If425kVx rVTglBaiEHGM4XudTRDaLKBoATnDu9f0JBuBcyn9ha0HBCZ16pGnZLa3bp1N0TsMecFC 1xYA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@amdcloud.onmicrosoft.com header.s=selector1-amd-com header.b=qyDjxuJu; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id y24si37728785plr.255.2019.04.30.13.33.50; Tue, 30 Apr 2019 13:34:06 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@amdcloud.onmicrosoft.com header.s=selector1-amd-com header.b=qyDjxuJu; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727205AbfD3Ucj (ORCPT + 99 others); Tue, 30 Apr 2019 16:32:39 -0400 Received: from mail-eopbgr710040.outbound.protection.outlook.com ([40.107.71.40]:6224 "EHLO NAM05-BY2-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1727125AbfD3Ucg (ORCPT ); Tue, 30 Apr 2019 16:32:36 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amdcloud.onmicrosoft.com; s=selector1-amd-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=W/monNWLEXYDAT6oM0LuJn22S0eOEOHn/IW3PTxZKvc=; b=qyDjxuJuOtv3T6X5iaUNDV9bVVBjA9qZMA5pGLvvqutu1M4JVgLqSctxPysC7NO2dYF0ho+P8PGfbl0iC/I5JQ1eDS3sw2zk4ZVnJBCTqLcnbZIT/F1Jse4F8xhkikqAwoK71YrsUFzZ2sFqUCaW+El1sQLflk6MFhZZEkd6NCY= Received: from SN6PR12MB2639.namprd12.prod.outlook.com (52.135.103.16) by SN6PR12MB2640.namprd12.prod.outlook.com (52.135.103.17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1835.12; Tue, 30 Apr 2019 20:32:20 +0000 Received: from SN6PR12MB2639.namprd12.prod.outlook.com ([fe80::d8ec:7415:96b0:afe0]) by SN6PR12MB2639.namprd12.prod.outlook.com ([fe80::d8ec:7415:96b0:afe0%2]) with mapi id 15.20.1835.018; Tue, 30 Apr 2019 20:32:20 +0000 From: "Ghannam, Yazen" To: "linux-edac@vger.kernel.org" CC: "Ghannam, Yazen" , "linux-kernel@vger.kernel.org" , "bp@suse.de" , "tony.luck@intel.com" , "x86@kernel.org" Subject: [PATCH v3 4/6] x86/MCE: Make number of MCA banks per_cpu Thread-Topic: [PATCH v3 4/6] x86/MCE: Make number of MCA banks per_cpu Thread-Index: AQHU/5PPM7ZBD2KPAEGkkqngr+ktbQ== Date: Tue, 30 Apr 2019 20:32:20 +0000 Message-ID: <20190430203206.104163-5-Yazen.Ghannam@amd.com> References: <20190430203206.104163-1-Yazen.Ghannam@amd.com> In-Reply-To: <20190430203206.104163-1-Yazen.Ghannam@amd.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-clientproxiedby: SN6PR02CA0019.namprd02.prod.outlook.com (2603:10b6:805:a2::32) 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: ee811037-0f39-4999-986b-08d6cdaaf177 x-ms-office365-filtering-ht: Tenant x-microsoft-antispam: BCL:0;PCL:0;RULEID:(2390118)(7020095)(4652040)(8989299)(4534185)(4627221)(201703031133081)(201702281549075)(8990200)(5600141)(711020)(4605104)(4618075)(2017052603328)(7193020);SRVR:SN6PR12MB2640; x-ms-traffictypediagnostic: SN6PR12MB2640: x-ms-exchange-purlcount: 1 x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:184; x-forefront-prvs: 00235A1EEF x-forefront-antispam-report: SFV:NSPM;SFS:(10009020)(376002)(366004)(39860400002)(346002)(396003)(136003)(199004)(189003)(14454004)(53936002)(4326008)(50226002)(1076003)(30864003)(478600001)(6116002)(3846002)(97736004)(5640700003)(26005)(8676002)(66946007)(66476007)(6512007)(73956011)(2501003)(8936002)(316002)(6436002)(6306002)(66446008)(71200400001)(86362001)(81156014)(36756003)(71190400001)(81166006)(66556008)(64756008)(66066001)(6916009)(54906003)(486006)(15650500001)(68736007)(5660300002)(6506007)(76176011)(305945005)(25786009)(256004)(14444005)(52116002)(7736002)(966005)(476003)(2906002)(446003)(72206003)(11346002)(2616005)(2351001)(386003)(102836004)(186003)(99286004)(6486002);DIR:OUT;SFP:1101;SCL:1;SRVR:SN6PR12MB2640;H:SN6PR12MB2639.namprd12.prod.outlook.com;FPR:;SPF:None;LANG:en;PTR:InfoNoRecords;A:1;MX: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: DYqjaGyyzWVhraZ5+kzQEPfZCI+FB0a8x1LIjiDf6Dd3ZQQpvKL7vpDyUliV0ycaCL8+A43gpdATIOMMwQECNFNkCM19TH/BkTYXp7hmIxkWnR1JM0tOkvreF5zthK6+8r06xyfH6JjlvcB0UV77ceUiEa+63+0AHjE3icb870hsiP9aG0pZcZTZxErK9FxKiniL76zD+W6paZ2PajPmjtrt3ug0P/6wbERPQVQKuDd2h3w/wT33ihlKypabnRRvAxtmXtXeeQHd186lyTe9Japm6GTbvkPilZkgdhF8UUj1wcFO51ZhZlT/c1fAusK6Px1YLu+SthmVMUZNSM9MeMjMifRUcltPzZfT+z1uJwl30kRZycWaqh73W3xKEZFdTA5EFcN0uWYlRZwJW8n11auci9Zolo/Awvk+obWijSY= 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: ee811037-0f39-4999-986b-08d6cdaaf177 X-MS-Exchange-CrossTenant-originalarrivaltime: 30 Apr 2019 20:32:20.2928 (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-Transport-CrossTenantHeadersStamped: SN6PR12MB2640 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org RnJvbTogWWF6ZW4gR2hhbm5hbSA8eWF6ZW4uZ2hhbm5hbUBhbWQuY29tPg0KDQpUaGUgbnVtYmVy IG9mIE1DQSBiYW5rcyBpcyBwcm92aWRlZCBwZXIgbG9naWNhbCBDUFUuIEhpc3RvcmljYWxseSwg dGhpcw0KbnVtYmVyIGhhcyBiZWVuIHRoZSBzYW1lIGFjcm9zcyBhbGwgQ1BVcywgYnV0IHRoaXMg aXMgbm90IGFuDQphcmNoaXRlY3R1cmFsIGd1YXJhbnRlZS4gRnV0dXJlIEFNRCBzeXN0ZW1zIG1h eSBoYXZlIE1DQSBiYW5rIGNvdW50cw0KdGhhdCB2YXJ5IGJldHdlZW4gbG9naWNhbCBDUFVzIGlu IGEgc3lzdGVtLg0KDQpUaGlzIGlzc3VlIHdhcyBwYXJ0aWFsbHkgYWRkcmVzc2VkIGluDQoNCjAw NmMwNzcwNDFkYyAoIng4Ni9tY2U6IEhhbmRsZSB2YXJ5aW5nIE1DQSBiYW5rIGNvdW50cyIpDQoN CmJ5IGFsbG9jYXRpbmcgc3RydWN0dXJlcyB1c2luZyB0aGUgbWF4aW11bSBudW1iZXIgb2YgTUNB IGJhbmtzIGFuZCBieQ0Kc2F2aW5nIHRoZSBtYXhpbXVtIE1DQSBiYW5rIGNvdW50IGluIGEgc3lz dGVtIGFzIHRoZSBnbG9iYWwgY291bnQuIFRoaXMNCm1lYW5zIHRoYXQgc29tZSBleHRyYSBzdHJ1 Y3R1cmVzIGFyZSBhbGxvY2F0ZWQuIEFsc28sIHRoaXMgbWVhbnMgdGhhdA0KQ1BVcyB3aWxsIHNw ZW5kIG1vcmUgdGltZSBpbiB0aGUgI01DIGFuZCBvdGhlciBoYW5kbGVycyBjaGVja2luZyBleHRy YQ0KTUNBIGJhbmtzLg0KDQpEZWZpbmUgdGhlIG51bWJlciBvZiBNQ0EgYmFua3MgYXMgYSBwZXJf Y3B1IHZhcmlhYmxlLiBSZXBsYWNlIGFsbCB1c2VzDQpvZiBtY2FfY2ZnLmJhbmtzIHdpdGggdGhp cy4NCg0KQWxzbywgdXNlIHRoZSBwZXJfY3B1IGJhbmsgY291bnQgd2hlbiBhbGxvY2F0aW5nIHBl cl9jcHUgc3RydWN0dXJlcy4NCg0KU2lnbmVkLW9mZi1ieTogWWF6ZW4gR2hhbm5hbSA8eWF6ZW4u Z2hhbm5hbUBhbWQuY29tPg0KLS0tDQpMaW5rOg0KaHR0cHM6Ly9sa21sLmtlcm5lbC5vcmcvci8y MDE5MDQxMTIwMTc0My40MzE5NS01LVlhemVuLkdoYW5uYW1AYW1kLmNvbQ0KDQp2Mi0+djM6DQoq IERyb3AgcHJfZGVidWcoKSBtZXNzYWdlLg0KKiBDaGFuZ2UgY29tbWl0IHJlZmVyZW5jZSBmb3Jt YXQuDQoNCnYxLT52MjoNCiogRHJvcCBleHBvcnQgb2YgbmV3IHZhcmlhYmxlIGFuZCBsZWF2ZSBp bmplY3RvciBjb2RlIGFzLWlzLg0KKiBBZGQgIm1jZV8iIHByZWZpeCB0byBuZXcgIm51bV9iYW5r cyIgdmFyaWFibGUuDQoNCiBhcmNoL3g4Ni9rZXJuZWwvY3B1L21jZS9hbWQuYyAgICAgIHwgMTcg KysrKysrLS0tLS0NCiBhcmNoL3g4Ni9rZXJuZWwvY3B1L21jZS9jb3JlLmMgICAgIHwgNDcgKysr KysrKysrKysrKysrKystLS0tLS0tLS0tLS0tDQogYXJjaC94ODYva2VybmVsL2NwdS9tY2UvaW50 ZXJuYWwuaCB8ICAyICstDQogMyBmaWxlcyBjaGFuZ2VkLCAzNiBpbnNlcnRpb25zKCspLCAzMCBk ZWxldGlvbnMoLSkNCg0KZGlmZiAtLWdpdCBhL2FyY2gveDg2L2tlcm5lbC9jcHUvbWNlL2FtZC5j IGIvYXJjaC94ODYva2VybmVsL2NwdS9tY2UvYW1kLmMNCmluZGV4IGQ0ZDZlNGI3ZjlkYy4uOWY3 MjlkNTA2NzZjIDEwMDY0NA0KLS0tIGEvYXJjaC94ODYva2VybmVsL2NwdS9tY2UvYW1kLmMNCisr KyBiL2FyY2gveDg2L2tlcm5lbC9jcHUvbWNlL2FtZC5jDQpAQCAtNDk1LDcgKzQ5NSw3IEBAIHN0 YXRpYyB1MzIgZ2V0X2Jsb2NrX2FkZHJlc3ModTMyIGN1cnJlbnRfYWRkciwgdTMyIGxvdywgdTMy IGhpZ2gsDQogew0KIAl1MzIgYWRkciA9IDAsIG9mZnNldCA9IDA7DQogDQotCWlmICgoYmFuayA+ PSBtY2FfY2ZnLmJhbmtzKSB8fCAoYmxvY2sgPj0gTlJfQkxPQ0tTKSkNCisJaWYgKChiYW5rID49 IHBlcl9jcHUobWNlX251bV9iYW5rcywgY3B1KSkgfHwgKGJsb2NrID49IE5SX0JMT0NLUykpDQog CQlyZXR1cm4gYWRkcjsNCiANCiAJaWYgKG1jZV9mbGFncy5zbWNhKQ0KQEAgLTYzMSw3ICs2MzEs OCBAQCB2b2lkIG1jZV9hbWRfZmVhdHVyZV9pbml0KHN0cnVjdCBjcHVpbmZvX3g4NiAqYykNCiAJ dW5zaWduZWQgaW50IGJhbmssIGJsb2NrLCBjcHUgPSBzbXBfcHJvY2Vzc29yX2lkKCk7DQogCWlu dCBvZmZzZXQgPSAtMTsNCiANCi0JZm9yIChiYW5rID0gMDsgYmFuayA8IG1jYV9jZmcuYmFua3M7 ICsrYmFuaykgew0KKw0KKwlmb3IgKGJhbmsgPSAwOyBiYW5rIDwgdGhpc19jcHVfcmVhZChtY2Vf bnVtX2JhbmtzKTsgKytiYW5rKSB7DQogCQlpZiAobWNlX2ZsYWdzLnNtY2EpDQogCQkJc21jYV9j b25maWd1cmUoYmFuaywgY3B1KTsNCiANCkBAIC05NzYsNyArOTc3LDcgQEAgc3RhdGljIHZvaWQg YW1kX2RlZmVycmVkX2Vycm9yX2ludGVycnVwdCh2b2lkKQ0KIHsNCiAJdW5zaWduZWQgaW50IGJh bms7DQogDQotCWZvciAoYmFuayA9IDA7IGJhbmsgPCBtY2FfY2ZnLmJhbmtzOyArK2JhbmspDQor CWZvciAoYmFuayA9IDA7IGJhbmsgPCB0aGlzX2NwdV9yZWFkKG1jZV9udW1fYmFua3MpOyArK2Jh bmspDQogCQlsb2dfZXJyb3JfZGVmZXJyZWQoYmFuayk7DQogfQ0KIA0KQEAgLTEwMTcsNyArMTAx OCw3IEBAIHN0YXRpYyB2b2lkIGFtZF90aHJlc2hvbGRfaW50ZXJydXB0KHZvaWQpDQogCXN0cnVj dCB0aHJlc2hvbGRfYmxvY2sgKmZpcnN0X2Jsb2NrID0gTlVMTCwgKmJsb2NrID0gTlVMTCwgKnRt cCA9IE5VTEw7DQogCXVuc2lnbmVkIGludCBiYW5rLCBjcHUgPSBzbXBfcHJvY2Vzc29yX2lkKCk7 DQogDQotCWZvciAoYmFuayA9IDA7IGJhbmsgPCBtY2FfY2ZnLmJhbmtzOyArK2JhbmspIHsNCisJ Zm9yIChiYW5rID0gMDsgYmFuayA8IHRoaXNfY3B1X3JlYWQobWNlX251bV9iYW5rcyk7ICsrYmFu aykgew0KIAkJaWYgKCEocGVyX2NwdShiYW5rX21hcCwgY3B1KSAmICgxIDw8IGJhbmspKSkNCiAJ CQljb250aW51ZTsNCiANCkBAIC0xMjA0LDcgKzEyMDUsNyBAQCBzdGF0aWMgaW50IGFsbG9jYXRl X3RocmVzaG9sZF9ibG9ja3ModW5zaWduZWQgaW50IGNwdSwgdW5zaWduZWQgaW50IGJhbmssDQog CXUzMiBsb3csIGhpZ2g7DQogCWludCBlcnI7DQogDQotCWlmICgoYmFuayA+PSBtY2FfY2ZnLmJh bmtzKSB8fCAoYmxvY2sgPj0gTlJfQkxPQ0tTKSkNCisJaWYgKChiYW5rID49IHBlcl9jcHUobWNl X251bV9iYW5rcywgY3B1KSkgfHwgKGJsb2NrID49IE5SX0JMT0NLUykpDQogCQlyZXR1cm4gMDsN CiANCiAJaWYgKHJkbXNyX3NhZmVfb25fY3B1KGNwdSwgYWRkcmVzcywgJmxvdywgJmhpZ2gpKQ0K QEAgLTE0MzgsNyArMTQzOSw3IEBAIGludCBtY2VfdGhyZXNob2xkX3JlbW92ZV9kZXZpY2UodW5z aWduZWQgaW50IGNwdSkNCiB7DQogCXVuc2lnbmVkIGludCBiYW5rOw0KIA0KLQlmb3IgKGJhbmsg PSAwOyBiYW5rIDwgbWNhX2NmZy5iYW5rczsgKytiYW5rKSB7DQorCWZvciAoYmFuayA9IDA7IGJh bmsgPCBwZXJfY3B1KG1jZV9udW1fYmFua3MsIGNwdSk7ICsrYmFuaykgew0KIAkJaWYgKCEocGVy X2NwdShiYW5rX21hcCwgY3B1KSAmICgxIDw8IGJhbmspKSkNCiAJCQljb250aW51ZTsNCiAJCXRo cmVzaG9sZF9yZW1vdmVfYmFuayhjcHUsIGJhbmspOw0KQEAgLTE0NTksMTQgKzE0NjAsMTQgQEAg aW50IG1jZV90aHJlc2hvbGRfY3JlYXRlX2RldmljZSh1bnNpZ25lZCBpbnQgY3B1KQ0KIAlpZiAo YnApDQogCQlyZXR1cm4gMDsNCiANCi0JYnAgPSBrY2FsbG9jKG1jYV9jZmcuYmFua3MsIHNpemVv ZihzdHJ1Y3QgdGhyZXNob2xkX2JhbmsgKiksDQorCWJwID0ga2NhbGxvYyhwZXJfY3B1KG1jZV9u dW1fYmFua3MsIGNwdSksIHNpemVvZihzdHJ1Y3QgdGhyZXNob2xkX2JhbmsgKiksDQogCQkgICAg IEdGUF9LRVJORUwpOw0KIAlpZiAoIWJwKQ0KIAkJcmV0dXJuIC1FTk9NRU07DQogDQogCXBlcl9j cHUodGhyZXNob2xkX2JhbmtzLCBjcHUpID0gYnA7DQogDQotCWZvciAoYmFuayA9IDA7IGJhbmsg PCBtY2FfY2ZnLmJhbmtzOyArK2JhbmspIHsNCisJZm9yIChiYW5rID0gMDsgYmFuayA8IHBlcl9j cHUobWNlX251bV9iYW5rcywgY3B1KTsgKytiYW5rKSB7DQogCQlpZiAoIShwZXJfY3B1KGJhbmtf bWFwLCBjcHUpICYgKDEgPDwgYmFuaykpKQ0KIAkJCWNvbnRpbnVlOw0KIAkJZXJyID0gdGhyZXNo b2xkX2NyZWF0ZV9iYW5rKGNwdSwgYmFuayk7DQpkaWZmIC0tZ2l0IGEvYXJjaC94ODYva2VybmVs L2NwdS9tY2UvY29yZS5jIGIvYXJjaC94ODYva2VybmVsL2NwdS9tY2UvY29yZS5jDQppbmRleCA2 NjM0N2JkYzhiMDguLjk4NmRlODMwZjI2ZSAxMDA2NDQNCi0tLSBhL2FyY2gveDg2L2tlcm5lbC9j cHUvbWNlL2NvcmUuYw0KKysrIGIvYXJjaC94ODYva2VybmVsL2NwdS9tY2UvY29yZS5jDQpAQCAt NjQsNiArNjQsOCBAQCBzdGF0aWMgREVGSU5FX01VVEVYKG1jZV9zeXNmc19tdXRleCk7DQogDQog REVGSU5FX1BFUl9DUFUodW5zaWduZWQsIG1jZV9leGNlcHRpb25fY291bnQpOw0KIA0KK0RFRklO RV9QRVJfQ1BVX1JFQURfTU9TVExZKHU4LCBtY2VfbnVtX2JhbmtzKTsNCisNCiBzdHJ1Y3QgbWNl X2Jhbmsgew0KIAl1NjQJCQljdGw7CQkJLyogc3ViZXZlbnRzIHRvIGVuYWJsZSAqLw0KIAlib29s CQkJaW5pdDsJCQkvKiBpbml0aWFsaXNlIGJhbms/ICovDQpAQCAtNzAwLDcgKzcwMiw3IEBAIGJv b2wgbWFjaGluZV9jaGVja19wb2xsKGVudW0gbWNwX2ZsYWdzIGZsYWdzLCBtY2VfYmFua3NfdCAq YikNCiAJaWYgKGZsYWdzICYgTUNQX1RJTUVTVEFNUCkNCiAJCW0udHNjID0gcmR0c2MoKTsNCiAN Ci0JZm9yIChpID0gMDsgaSA8IG1jYV9jZmcuYmFua3M7IGkrKykgew0KKwlmb3IgKGkgPSAwOyBp IDwgdGhpc19jcHVfcmVhZChtY2VfbnVtX2JhbmtzKTsgaSsrKSB7DQogCQlpZiAoIW1jZV9iYW5r c1tpXS5jdGwgfHwgIXRlc3RfYml0KGksICpiKSkNCiAJCQljb250aW51ZTsNCiANCkBAIC04MDIs NyArODA0LDcgQEAgc3RhdGljIGludCBtY2Vfbm9fd2F5X291dChzdHJ1Y3QgbWNlICptLCBjaGFy ICoqbXNnLCB1bnNpZ25lZCBsb25nICp2YWxpZHAsDQogCWNoYXIgKnRtcDsNCiAJaW50IGk7DQog DQotCWZvciAoaSA9IDA7IGkgPCBtY2FfY2ZnLmJhbmtzOyBpKyspIHsNCisJZm9yIChpID0gMDsg aSA8IHRoaXNfY3B1X3JlYWQobWNlX251bV9iYW5rcyk7IGkrKykgew0KIAkJbS0+c3RhdHVzID0g bWNlX3JkbXNybChtc3Jfb3BzLnN0YXR1cyhpKSk7DQogCQlpZiAoIShtLT5zdGF0dXMgJiBNQ0lf U1RBVFVTX1ZBTCkpDQogCQkJY29udGludWU7DQpAQCAtMTA4Miw3ICsxMDg0LDcgQEAgc3RhdGlj IHZvaWQgbWNlX2NsZWFyX3N0YXRlKHVuc2lnbmVkIGxvbmcgKnRvY2xlYXIpDQogew0KIAlpbnQg aTsNCiANCi0JZm9yIChpID0gMDsgaSA8IG1jYV9jZmcuYmFua3M7IGkrKykgew0KKwlmb3IgKGkg PSAwOyBpIDwgdGhpc19jcHVfcmVhZChtY2VfbnVtX2JhbmtzKTsgaSsrKSB7DQogCQlpZiAodGVz dF9iaXQoaSwgdG9jbGVhcikpDQogCQkJbWNlX3dybXNybChtc3Jfb3BzLnN0YXR1cyhpKSwgMCk7 DQogCX0NCkBAIC0xMTQwLDcgKzExNDIsNyBAQCBzdGF0aWMgdm9pZCBfX21jX3NjYW5fYmFua3Mo c3RydWN0IG1jZSAqbSwgc3RydWN0IG1jZSAqZmluYWwsDQogCXN0cnVjdCBtY2FfY29uZmlnICpj ZmcgPSAmbWNhX2NmZzsNCiAJaW50IHNldmVyaXR5LCBpOw0KIA0KLQlmb3IgKGkgPSAwOyBpIDwg Y2ZnLT5iYW5rczsgaSsrKSB7DQorCWZvciAoaSA9IDA7IGkgPCB0aGlzX2NwdV9yZWFkKG1jZV9u dW1fYmFua3MpOyBpKyspIHsNCiAJCV9fY2xlYXJfYml0KGksIHRvY2xlYXIpOw0KIAkJaWYgKCF0 ZXN0X2JpdChpLCB2YWxpZF9iYW5rcykpDQogCQkJY29udGludWU7DQpAQCAtMTQ4MCwxNCArMTQ4 MiwxNSBAQCBFWFBPUlRfU1lNQk9MX0dQTChtY2Vfbm90aWZ5X2lycSk7DQogDQogc3RhdGljIGlu dCBfX21jaGVja19jcHVfbWNlX2JhbmtzX2luaXQodm9pZCkNCiB7DQorCXU4IG5fYmFua3MgPSB0 aGlzX2NwdV9yZWFkKG1jZV9udW1fYmFua3MpOw0KIAlzdHJ1Y3QgbWNlX2JhbmsgKm1jZV9iYW5r czsNCiAJaW50IGk7DQogDQotCW1jZV9iYW5rcyA9IGtjYWxsb2MoTUFYX05SX0JBTktTLCBzaXpl b2Yoc3RydWN0IG1jZV9iYW5rKSwgR0ZQX0tFUk5FTCk7DQorCW1jZV9iYW5rcyA9IGtjYWxsb2Mo bl9iYW5rcywgc2l6ZW9mKHN0cnVjdCBtY2VfYmFuayksIEdGUF9LRVJORUwpOw0KIAlpZiAoIW1j ZV9iYW5rcykNCiAJCXJldHVybiAtRU5PTUVNOw0KIA0KLQlmb3IgKGkgPSAwOyBpIDwgTUFYX05S X0JBTktTOyBpKyspIHsNCisJZm9yIChpID0gMDsgaSA8IG5fYmFua3M7IGkrKykgew0KIAkJc3Ry dWN0IG1jZV9iYW5rICpiID0gJm1jZV9iYW5rc1tpXTsNCiANCiAJCWItPmN0bCA9IC0xVUxMOw0K QEAgLTE1MDksMTAgKzE1MTIsMTQgQEAgc3RhdGljIGludCBfX21jaGVja19jcHVfY2FwX2luaXQo dm9pZCkNCiAJcmRtc3JsKE1TUl9JQTMyX01DR19DQVAsIGNhcCk7DQogDQogCWIgPSBjYXAgJiBN Q0dfQkFOS0NOVF9NQVNLOw0KLQlpZiAoV0FSTl9PTl9PTkNFKGIgPiBNQVhfTlJfQkFOS1MpKQ0K Kw0KKwlpZiAoYiA+IE1BWF9OUl9CQU5LUykgew0KKwkJcHJfd2FybigiQ1BVJWQ6IFVzaW5nIG9u bHkgJXUgbWFjaGluZSBjaGVjayBiYW5rcyBvdXQgb2YgJXVcbiIsDQorCQkJc21wX3Byb2Nlc3Nv cl9pZCgpLCBNQVhfTlJfQkFOS1MsIGIpOw0KIAkJYiA9IE1BWF9OUl9CQU5LUzsNCisJfQ0KIA0K LQltY2FfY2ZnLmJhbmtzID0gbWF4KG1jYV9jZmcuYmFua3MsIGIpOw0KKwl0aGlzX2NwdV93cml0 ZShtY2VfbnVtX2JhbmtzLCBiKTsNCiANCiAJaWYgKCF0aGlzX2NwdV9yZWFkKG1jZV9iYW5rc19w ZXJjcHUpKSB7DQogCQlpbnQgZXJyID0gX19tY2hlY2tfY3B1X21jZV9iYW5rc19pbml0KCk7DQpA QCAtMTU1Nyw3ICsxNTY0LDcgQEAgc3RhdGljIHZvaWQgX19tY2hlY2tfY3B1X2luaXRfY2xlYXJf YmFua3Modm9pZCkNCiAJc3RydWN0IG1jZV9iYW5rICptY2VfYmFua3MgPSB0aGlzX2NwdV9yZWFk KG1jZV9iYW5rc19wZXJjcHUpOw0KIAlpbnQgaTsNCiANCi0JZm9yIChpID0gMDsgaSA8IG1jYV9j ZmcuYmFua3M7IGkrKykgew0KKwlmb3IgKGkgPSAwOyBpIDwgdGhpc19jcHVfcmVhZChtY2VfbnVt X2JhbmtzKTsgaSsrKSB7DQogCQlzdHJ1Y3QgbWNlX2JhbmsgKmIgPSAmbWNlX2JhbmtzW2ldOw0K IA0KIAkJaWYgKCFiLT5pbml0KQ0KQEAgLTE2MDgsNyArMTYxNSw3IEBAIHN0YXRpYyBpbnQgX19t Y2hlY2tfY3B1X2FwcGx5X3F1aXJrcyhzdHJ1Y3QgY3B1aW5mb194ODYgKmMpDQogDQogCS8qIFRo aXMgc2hvdWxkIGJlIGRpc2FibGVkIGJ5IHRoZSBCSU9TLCBidXQgaXNuJ3QgYWx3YXlzICovDQog CWlmIChjLT54ODZfdmVuZG9yID09IFg4Nl9WRU5ET1JfQU1EKSB7DQotCQlpZiAoYy0+eDg2ID09 IDE1ICYmIGNmZy0+YmFua3MgPiA0KSB7DQorCQlpZiAoYy0+eDg2ID09IDE1ICYmIHRoaXNfY3B1 X3JlYWQobWNlX251bV9iYW5rcykgPiA0KSB7DQogCQkJLyoNCiAJCQkgKiBkaXNhYmxlIEdBUlQg VEJMIHdhbGsgZXJyb3IgcmVwb3J0aW5nLCB3aGljaA0KIAkJCSAqIHRyaXBzIG9mZiBpbmNvcnJl Y3RseSB3aXRoIHRoZSBJT01NVSAmIDN3YXJlDQpAQCAtMTYyNyw3ICsxNjM0LDcgQEAgc3RhdGlj IGludCBfX21jaGVja19jcHVfYXBwbHlfcXVpcmtzKHN0cnVjdCBjcHVpbmZvX3g4NiAqYykNCiAJ CSAqIFZhcmlvdXMgSzdzIHdpdGggYnJva2VuIGJhbmsgMCBhcm91bmQuIEFsd2F5cyBkaXNhYmxl DQogCQkgKiBieSBkZWZhdWx0Lg0KIAkJICovDQotCQlpZiAoYy0+eDg2ID09IDYgJiYgY2ZnLT5i YW5rcyA+IDApDQorCQlpZiAoYy0+eDg2ID09IDYgJiYgdGhpc19jcHVfcmVhZChtY2VfbnVtX2Jh bmtzKSA+IDApDQogCQkJbWNlX2JhbmtzWzBdLmN0bCA9IDA7DQogDQogCQkvKg0KQEAgLTE2NDks NyArMTY1Niw3IEBAIHN0YXRpYyBpbnQgX19tY2hlY2tfY3B1X2FwcGx5X3F1aXJrcyhzdHJ1Y3Qg Y3B1aW5mb194ODYgKmMpDQogCQkgKiB2YWxpZCBldmVudCBsYXRlciwgbWVyZWx5IGRvbid0IHdy aXRlIENUTDAuDQogCQkgKi8NCiANCi0JCWlmIChjLT54ODYgPT0gNiAmJiBjLT54ODZfbW9kZWwg PCAweDFBICYmIGNmZy0+YmFua3MgPiAwKQ0KKwkJaWYgKGMtPng4NiA9PSA2ICYmIGMtPng4Nl9t b2RlbCA8IDB4MUEgJiYgdGhpc19jcHVfcmVhZChtY2VfbnVtX2JhbmtzKSA+IDApDQogCQkJbWNl X2JhbmtzWzBdLmluaXQgPSAwOw0KIA0KIAkJLyoNCkBAIC0xODgzLDcgKzE4OTAsNyBAQCBzdGF0 aWMgdm9pZCBfX21jZV9kaXNhYmxlX2Jhbmsodm9pZCAqYXJnKQ0KIA0KIHZvaWQgbWNlX2Rpc2Fi bGVfYmFuayhpbnQgYmFuaykNCiB7DQotCWlmIChiYW5rID49IG1jYV9jZmcuYmFua3MpIHsNCisJ aWYgKGJhbmsgPj0gdGhpc19jcHVfcmVhZChtY2VfbnVtX2JhbmtzKSkgew0KIAkJcHJfd2FybihG V19CVUcNCiAJCQkiSWdub3JpbmcgcmVxdWVzdCB0byBkaXNhYmxlIGludmFsaWQgTUNBIGJhbmsg JWQuXG4iLA0KIAkJCWJhbmspOw0KQEAgLTE5NzIsNyArMTk3OSw3IEBAIHN0YXRpYyB2b2lkIG1j ZV9kaXNhYmxlX2Vycm9yX3JlcG9ydGluZyh2b2lkKQ0KIAlzdHJ1Y3QgbWNlX2JhbmsgKm1jZV9i YW5rcyA9IHRoaXNfY3B1X3JlYWQobWNlX2JhbmtzX3BlcmNwdSk7DQogCWludCBpOw0KIA0KLQlm b3IgKGkgPSAwOyBpIDwgbWNhX2NmZy5iYW5rczsgaSsrKSB7DQorCWZvciAoaSA9IDA7IGkgPCB0 aGlzX2NwdV9yZWFkKG1jZV9udW1fYmFua3MpOyBpKyspIHsNCiAJCXN0cnVjdCBtY2VfYmFuayAq YiA9ICZtY2VfYmFua3NbaV07DQogDQogCQlpZiAoYi0+aW5pdCkNCkBAIC0yMDgzLDcgKzIwOTAs NyBAQCBzdGF0aWMgc3NpemVfdCBzaG93X2Jhbmsoc3RydWN0IGRldmljZSAqcywgc3RydWN0IGRl dmljZV9hdHRyaWJ1dGUgKmF0dHIsDQogCXU4IGJhbmsgPSBhdHRyX3RvX2JhbmsoYXR0ciktPmJh bms7DQogCXN0cnVjdCBtY2VfYmFuayAqYjsNCiANCi0JaWYgKGJhbmsgPj0gbWNhX2NmZy5iYW5r cykNCisJaWYgKGJhbmsgPj0gcGVyX2NwdShtY2VfbnVtX2JhbmtzLCBzLT5pZCkpDQogCQlyZXR1 cm4gLUVJTlZBTDsNCiANCiAJYiA9ICZwZXJfY3B1KG1jZV9iYW5rc19wZXJjcHUsIHMtPmlkKVti YW5rXTsNCkBAIC0yMTAxLDcgKzIxMDgsNyBAQCBzdGF0aWMgc3NpemVfdCBzZXRfYmFuayhzdHJ1 Y3QgZGV2aWNlICpzLCBzdHJ1Y3QgZGV2aWNlX2F0dHJpYnV0ZSAqYXR0ciwNCiAJaWYgKGtzdHJ0 b3U2NChidWYsIDAsICZuZXcpIDwgMCkNCiAJCXJldHVybiAtRUlOVkFMOw0KIA0KLQlpZiAoYmFu ayA+PSBtY2FfY2ZnLmJhbmtzKQ0KKwlpZiAoYmFuayA+PSBwZXJfY3B1KG1jZV9udW1fYmFua3Ms IHMtPmlkKSkNCiAJCXJldHVybiAtRUlOVkFMOw0KIA0KIAliID0gJnBlcl9jcHUobWNlX2Jhbmtz X3BlcmNwdSwgcy0+aWQpW2JhbmtdOw0KQEAgLTIyNTMsNyArMjI2MCw3IEBAIHN0YXRpYyBpbnQg bWNlX2RldmljZV9jcmVhdGUodW5zaWduZWQgaW50IGNwdSkNCiAJCWlmIChlcnIpDQogCQkJZ290 byBlcnJvcjsNCiAJfQ0KLQlmb3IgKGogPSAwOyBqIDwgbWNhX2NmZy5iYW5rczsgaisrKSB7DQor CWZvciAoaiA9IDA7IGogPCBwZXJfY3B1KG1jZV9udW1fYmFua3MsIGNwdSk7IGorKykgew0KIAkJ ZXJyID0gZGV2aWNlX2NyZWF0ZV9maWxlKGRldiwgJm1jZV9iYW5rX2RldnNbal0uYXR0cik7DQog CQlpZiAoZXJyKQ0KIAkJCWdvdG8gZXJyb3IyOw0KQEAgLTIyODUsNyArMjI5Miw3IEBAIHN0YXRp YyB2b2lkIG1jZV9kZXZpY2VfcmVtb3ZlKHVuc2lnbmVkIGludCBjcHUpDQogCWZvciAoaSA9IDA7 IG1jZV9kZXZpY2VfYXR0cnNbaV07IGkrKykNCiAJCWRldmljZV9yZW1vdmVfZmlsZShkZXYsIG1j ZV9kZXZpY2VfYXR0cnNbaV0pOw0KIA0KLQlmb3IgKGkgPSAwOyBpIDwgbWNhX2NmZy5iYW5rczsg aSsrKQ0KKwlmb3IgKGkgPSAwOyBpIDwgcGVyX2NwdShtY2VfbnVtX2JhbmtzLCBjcHUpOyBpKysp DQogCQlkZXZpY2VfcmVtb3ZlX2ZpbGUoZGV2LCAmbWNlX2JhbmtfZGV2c1tpXS5hdHRyKTsNCiAN CiAJZGV2aWNlX3VucmVnaXN0ZXIoZGV2KTsNCkBAIC0yMzE1LDcgKzIzMjIsNyBAQCBzdGF0aWMg dm9pZCBtY2VfcmVlbmFibGVfY3B1KHZvaWQpDQogDQogCWlmICghY3B1aHBfdGFza3NfZnJvemVu KQ0KIAkJY21jaV9yZWVuYWJsZSgpOw0KLQlmb3IgKGkgPSAwOyBpIDwgbWNhX2NmZy5iYW5rczsg aSsrKSB7DQorCWZvciAoaSA9IDA7IGkgPCB0aGlzX2NwdV9yZWFkKG1jZV9udW1fYmFua3MpOyBp KyspIHsNCiAJCXN0cnVjdCBtY2VfYmFuayAqYiA9ICZtY2VfYmFua3NbaV07DQogDQogCQlpZiAo Yi0+aW5pdCkNCkBAIC0yNTAzLDggKzI1MTAsNiBAQCBFWFBPUlRfU1lNQk9MX0dQTChtY3NhZmVf a2V5KTsNCiANCiBzdGF0aWMgaW50IF9faW5pdCBtY2hlY2tfbGF0ZV9pbml0KHZvaWQpDQogew0K LQlwcl9pbmZvKCJVc2luZyAlZCBNQ0UgYmFua3NcbiIsIG1jYV9jZmcuYmFua3MpOw0KLQ0KIAlp ZiAobWNhX2NmZy5yZWNvdmVyeSkNCiAJCXN0YXRpY19icmFuY2hfaW5jKCZtY3NhZmVfa2V5KTsN CiANCmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9rZXJuZWwvY3B1L21jZS9pbnRlcm5hbC5oIGIvYXJj aC94ODYva2VybmVsL2NwdS9tY2UvaW50ZXJuYWwuaA0KaW5kZXggMzViM2U1YzAyYzFjLi41MjE1 ZGNkMDE2MTQgMTAwNjQ0DQotLS0gYS9hcmNoL3g4Ni9rZXJuZWwvY3B1L21jZS9pbnRlcm5hbC5o DQorKysgYi9hcmNoL3g4Ni9rZXJuZWwvY3B1L21jZS9pbnRlcm5hbC5oDQpAQCAtMTE4LDcgKzEx OCw2IEBAIHN0cnVjdCBtY2FfY29uZmlnIHsNCiAJICAgICAgYmlvc19jbWNpX3RocmVzaG9sZAk6 IDEsDQogCSAgICAgIF9fcmVzZXJ2ZWQJCTogNTk7DQogDQotCXU4IGJhbmtzOw0KIAlzOCBib290 bG9nOw0KIAlpbnQgdG9sZXJhbnQ7DQogCWludCBtb25hcmNoX3RpbWVvdXQ7DQpAQCAtMTI3LDYg KzEyNiw3IEBAIHN0cnVjdCBtY2FfY29uZmlnIHsNCiB9Ow0KIA0KIGV4dGVybiBzdHJ1Y3QgbWNh X2NvbmZpZyBtY2FfY2ZnOw0KK0RFQ0xBUkVfUEVSX0NQVV9SRUFEX01PU1RMWSh1OCwgbWNlX251 bV9iYW5rcyk7DQogDQogc3RydWN0IG1jZV92ZW5kb3JfZmxhZ3Mgew0KIAkvKg0KLS0gDQoyLjE3 LjENCg0K