Received: by 2002:a25:ab43:0:0:0:0:0 with SMTP id u61csp6041524ybi; Wed, 29 May 2019 01:48:52 -0700 (PDT) X-Google-Smtp-Source: APXvYqxwTISpupOhH+YvhsPc5g2D5NGD1DnD9ivGzvTkiOZ4vMToG2Ympz0zj8Umg5GtRXtEqqWJ X-Received: by 2002:a17:902:108a:: with SMTP id c10mr139502554pla.48.1559119732693; Wed, 29 May 2019 01:48:52 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1559119732; cv=none; d=google.com; s=arc-20160816; b=X4nEnXJXkFjB6qq6S5wU9dzGDr2CJbZOeDefefUthD7sBcuRSnriaYxrdkiTNN+N6+ mhDPj447KuSwjDZV3ek39C93EW5v1O20hLFsMvroFKqqIH0sKomT+jAKVkWWiZUiB4gE UIJbqFCvQNQ2dYiRXhV0kTlSjBvD+w1Br3Gs8NoQb9Wdj9dE6883uc7OEwrdP3n4KEcF w3EbsmXs4GLBysZV/F5BGR5BvtTh5QI/tOHv5Ula7YDviwlIK5Nj1r0xsWfMcgEVakZd FMNJj8FubDmTNfeihqR3dO73LZygc5WbXAPpNznFsD0rD/z6VUEcc7Xu4TSnucx1nZAJ e0ZA== 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 :dkim-signature; bh=vGqf9qtafHxeR6/co378KEK8dLyYIV4i6j5Du4cXTz8=; b=QnHEfSFIe0TZjAdCakKF5fTevr5vBG6xZNIgZL5i2JX0hG3Xs1aDkVzLEcXmunjPF/ jMQ+eFj8b5ktW4kHS3qYLIHhKwN54BER8X3m7SMSWlioEpCn19K5R3TOr+vPi+Jzb6et PtI6iRcPo8TU71VxTJ8y6mbbsn9gYsqqcU7pFRytZrB5/Y56NI0QCaBawc7NtmW0zrOk ryjb9VK+8vhBjXGNmCI0iNZAVxwEocFTJJ/ME5EQMMEtvvBret18gXFLHzMISADx4mQz C2UmZ2GvH1tRKWsnX2fsRFnIQKcPPmGXKxZa5B7NAjghyXHPCcyFYYrJnT3kCd7kUifp 6qoA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@marvell.com header.s=pfpt0818 header.b=bgI6po2y; dkim=pass header.i=@marvell.onmicrosoft.com header.s=selector2-marvell-onmicrosoft-com header.b=HR77H30o; 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; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=marvell.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id q16si23958872plr.238.2019.05.29.01.48.37; Wed, 29 May 2019 01:48:52 -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=@marvell.com header.s=pfpt0818 header.b=bgI6po2y; dkim=pass header.i=@marvell.onmicrosoft.com header.s=selector2-marvell-onmicrosoft-com header.b=HR77H30o; 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; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=marvell.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726489AbfE2Iod (ORCPT + 99 others); Wed, 29 May 2019 04:44:33 -0400 Received: from mx0b-0016f401.pphosted.com ([67.231.156.173]:49478 "EHLO mx0b-0016f401.pphosted.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726131AbfE2Io3 (ORCPT ); Wed, 29 May 2019 04:44:29 -0400 Received: from pps.filterd (m0045851.ppops.net [127.0.0.1]) by mx0b-0016f401.pphosted.com (8.16.0.27/8.16.0.27) with SMTP id x4T8dpBE017806; Wed, 29 May 2019 01:44:17 -0700 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=marvell.com; h=from : to : cc : subject : date : message-id : references : in-reply-to : content-type : content-transfer-encoding : mime-version; s=pfpt0818; bh=vGqf9qtafHxeR6/co378KEK8dLyYIV4i6j5Du4cXTz8=; b=bgI6po2ySOqv4Lsfxo/qCirmMwag+xJmdoC8b5GOd0Fy3JJfEYvVSwZj/SSXpQHmY0ZN vqUuFNwamvnH2LxVTOOfchBd4wFpgRpI09rP8n5mVr2DGSjTmU0Ok5msbImX41ppcttK /V2cMXq30d70GNZDcwK38h1zVMdjqLg0IkTX2Ww68WyW9ZT5hTFpax8DKPtPGHUbkiUJ KAizNKb5YxHDVz45ntVHztois65g5rzjXfCEoJJq/b8h3tJ5MfiHlaS17LtnR12NyCaW 1RgR+UobIeHOXNRYO/h4ZINee7PA7ujq+Am3bjAw4LOhwfy3W5OAzmq802jxJ9E6DxN6 lQ== Received: from sc-exch01.marvell.com ([199.233.58.181]) by mx0b-0016f401.pphosted.com with ESMTP id 2sskp88p46-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-SHA384 bits=256 verify=NOT); Wed, 29 May 2019 01:44:17 -0700 Received: from SC-EXCH01.marvell.com (10.93.176.81) by SC-EXCH01.marvell.com (10.93.176.81) with Microsoft SMTP Server (TLS) id 15.0.1367.3; Wed, 29 May 2019 01:44:15 -0700 Received: from NAM03-CO1-obe.outbound.protection.outlook.com (104.47.40.54) by SC-EXCH01.marvell.com (10.93.176.81) with Microsoft SMTP Server (TLS) id 15.0.1367.3 via Frontend Transport; Wed, 29 May 2019 01:44:15 -0700 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=marvell.onmicrosoft.com; s=selector2-marvell-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=vGqf9qtafHxeR6/co378KEK8dLyYIV4i6j5Du4cXTz8=; b=HR77H30oidTNxTdgpaiGFLDZRussftlYBzngKkSpqpbM7LFPz8DO2J68JlRp4p1Dq6MI2QiYFh0z6yUzNcvNQ1zOWWWuGcNqE4xTq25NHFnDd7FKrnwnlDSR3a4d+oT3/zfVIomCVtNg3qZ+hFXBLnDiAY1jHTsifQt3tIO9JmI= Received: from MN2PR18MB3408.namprd18.prod.outlook.com (10.255.238.217) by MN2PR18MB3437.namprd18.prod.outlook.com (10.255.239.22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1922.20; Wed, 29 May 2019 08:44:10 +0000 Received: from MN2PR18MB3408.namprd18.prod.outlook.com ([fe80::7c9a:f3bf:fe2e:fe4a]) by MN2PR18MB3408.namprd18.prod.outlook.com ([fe80::7c9a:f3bf:fe2e:fe4a%4]) with mapi id 15.20.1922.021; Wed, 29 May 2019 08:44:10 +0000 From: Robert Richter To: Borislav Petkov , Tony Luck , "James Morse" , Mauro Carvalho Chehab , Jason Baron , Qiuxu Zhuo , "Tero Kristo" CC: "linux-edac@vger.kernel.org" , "linux-kernel@vger.kernel.org" , Robert Richter Subject: [PATCH 03/21] EDAC: Kill EDAC_DIMM_PTR() macro Thread-Topic: [PATCH 03/21] EDAC: Kill EDAC_DIMM_PTR() macro Thread-Index: AQHVFfqvtHJHBX/ovUG+VmPPDrz2CQ== Date: Wed, 29 May 2019 08:44:10 +0000 Message-ID: <20190529084344.28562-4-rrichter@marvell.com> References: <20190529084344.28562-1-rrichter@marvell.com> In-Reply-To: <20190529084344.28562-1-rrichter@marvell.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-clientproxiedby: AM6PR01CA0046.eurprd01.prod.exchangelabs.com (2603:10a6:20b:e0::23) To MN2PR18MB3408.namprd18.prod.outlook.com (2603:10b6:208:16c::25) x-ms-exchange-messagesentrepresentingtype: 1 x-mailer: git-send-email 2.20.1 x-originating-ip: [78.54.13.57] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 33e64680-c615-48fd-3485-08d6e411d18c x-microsoft-antispam: BCL:0;PCL:0;RULEID:(2390118)(7020095)(4652040)(8989299)(4534185)(4627221)(201703031133081)(201702281549075)(8990200)(5600148)(711020)(4605104)(1401327)(2017052603328)(7193020);SRVR:MN2PR18MB3437; x-ms-traffictypediagnostic: MN2PR18MB3437: x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:142; x-forefront-prvs: 0052308DC6 x-forefront-antispam-report: SFV:NSPM;SFS:(10009020)(366004)(346002)(396003)(376002)(39860400002)(136003)(189003)(199004)(8936002)(4326008)(53936002)(50226002)(110136005)(107886003)(68736007)(36756003)(5660300002)(54906003)(11346002)(26005)(186003)(52116002)(2906002)(2616005)(476003)(446003)(6506007)(14454004)(66476007)(25786009)(478600001)(386003)(86362001)(486006)(81166006)(81156014)(8676002)(305945005)(316002)(7736002)(256004)(99286004)(76176011)(6512007)(6436002)(73956011)(64756008)(66446008)(30864003)(66556008)(66066001)(3846002)(66946007)(1076003)(6486002)(102836004)(71190400001)(71200400001)(6116002);DIR:OUT;SFP:1101;SCL:1;SRVR:MN2PR18MB3437;H:MN2PR18MB3408.namprd18.prod.outlook.com;FPR:;SPF:None;LANG:en;PTR:InfoNoRecords;MX:1;A:1; received-spf: None (protection.outlook.com: marvell.com does not designate permitted sender hosts) x-ms-exchange-senderadcheck: 1 x-microsoft-antispam-message-info: dgwhgRLDMjBTW1xGDynb2vdUT9MlhuYNALtgUqBWgs2/KnLSsTJoG9bZVsWg62HQZbnHCr8TcYbD0MiyWAKlH7zkljfc01gIpM382fUunKCJ0HWDmqn7Ruqk0cc6z63zOuFSabzU8zCHe0ST2mPgPCVTdHVXheMTWWvlmDCkn/MaIG0OIaEYrWJSJNLyQqgstMSGHPdh1S0cy2itZovMIgZevya7JojwWO5X7P1iw+sgXIhan4l94U/mG9rps+0EuNVFiee2i+33TNBkaLPbr/3ikZ+rOUlDRtdzHz7+sGOna8k9J8fnOd13XZRu/9TAZm26ZFNAh5MtWW3ZGfDmfdwU4/IS5CU45IZ+H0cQv+LhXDP8NNU2EE0fZde6qvszz/3G4bYy9pqJABsCAjNwXpModSxbuTALk3nv1zVGOFk= Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-MS-Exchange-CrossTenant-Network-Message-Id: 33e64680-c615-48fd-3485-08d6e411d18c X-MS-Exchange-CrossTenant-originalarrivaltime: 29 May 2019 08:44:10.4480 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 70e1fb47-1155-421d-87fc-2e58f638b6e0 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: rrichter@marvell.com X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR18MB3437 X-OriginatorOrg: marvell.com X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:,, definitions=2019-05-29_05:,, signatures=0 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org R2V0IHJpZCBvZiB0aGlzIG1hY3JvIGFuZCBpbnN0ZWFkIHVzZSB0aGUgbmV3IGZ1bmN0aW9uDQpl ZGFjX2dldF9kaW1tKCkuIEFsc28gaW50cm9kdWNlIHRoZSBlZGFjX2dldF9kaW1tX2J5X2luZGV4 KCkgZnVuY3Rpb24NCmZvciBsYXRlciB1c2UuDQoNClNlbWFudGljIHBhdGNoIHVzZWQ6DQoNCkBA IGV4cHJlc3Npb24gbWNpLCBhLCBiLGM7IEBADQoNCi1FREFDX0RJTU1fUFRSKG1jaS0+bGF5ZXJz LCBtY2ktPmRpbW1zLCBtY2ktPm5fbGF5ZXJzLCBhLCBiLCBjKQ0KK2VkYWNfZ2V0X2RpbW0obWNp LCBhLCBiLCBjKQ0KDQpTaWduZWQtb2ZmLWJ5OiBSb2JlcnQgUmljaHRlciA8cnJpY2h0ZXJAbWFy dmVsbC5jb20+DQotLS0NCiBkcml2ZXJzL2VkYWMvZWRhY19tYy5jICAgICAgfCAgMSArDQogZHJp dmVycy9lZGFjL2doZXNfZWRhYy5jICAgIHwgIDggKystLQ0KIGRyaXZlcnMvZWRhYy9pMTBubV9i YXNlLmMgICB8ICAzICstDQogZHJpdmVycy9lZGFjL2kzMjAwX2VkYWMuYyAgIHwgIDMgKy0NCiBk cml2ZXJzL2VkYWMvaTUwMDBfZWRhYy5jICAgfCAgNSArLS0NCiBkcml2ZXJzL2VkYWMvaTUxMDBf ZWRhYy5jICAgfCAgMyArLQ0KIGRyaXZlcnMvZWRhYy9pNTQwMF9lZGFjLmMgICB8ICA0ICstDQog ZHJpdmVycy9lZGFjL2k3MzAwX2VkYWMuYyAgIHwgIDMgKy0NCiBkcml2ZXJzL2VkYWMvaTdjb3Jl X2VkYWMuYyAgfCAgMyArLQ0KIGRyaXZlcnMvZWRhYy9pZTMxMjAwX2VkYWMuYyB8ICA3ICstLS0N CiBkcml2ZXJzL2VkYWMvcG5kMl9lZGFjLmMgICAgfCAgNCArLQ0KIGRyaXZlcnMvZWRhYy9zYl9l ZGFjLmMgICAgICB8ICAyICstDQogZHJpdmVycy9lZGFjL3NreF9iYXNlLmMgICAgIHwgIDMgKy0N CiBkcml2ZXJzL2VkYWMvdGlfZWRhYy5jICAgICAgfCAgMiArLQ0KIGluY2x1ZGUvbGludXgvZWRh Yy5oICAgICAgICB8IDg0ICsrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0NCiAx NSBmaWxlcyBjaGFuZ2VkLCA3MyBpbnNlcnRpb25zKCspLCA2MiBkZWxldGlvbnMoLSkNCg0KZGlm ZiAtLWdpdCBhL2RyaXZlcnMvZWRhYy9lZGFjX21jLmMgYi9kcml2ZXJzL2VkYWMvZWRhY19tYy5j DQppbmRleCA2NDkyMmM4ZmE3ZTMuLjVmNTY1ZTU5NDliMyAxMDA2NDQNCi0tLSBhL2RyaXZlcnMv ZWRhYy9lZGFjX21jLmMNCisrKyBiL2RyaXZlcnMvZWRhYy9lZGFjX21jLmMNCkBAIC00MzksNiAr NDM5LDcgQEAgc3RydWN0IG1lbV9jdGxfaW5mbyAqZWRhY19tY19hbGxvYyh1bnNpZ25lZCBtY19u dW0sDQogCQkJZ290byBlcnJvcjsNCiAJCW1jaS0+ZGltbXNbb2ZmXSA9IGRpbW07DQogCQlkaW1t LT5tY2kgPSBtY2k7DQorCQlkaW1tLT5pZHggPSBvZmY7DQogDQogCQkvKg0KIAkJICogQ29weSBE SU1NIGxvY2F0aW9uIGFuZCBpbml0aWFsaXplIGl0Lg0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvZWRh Yy9naGVzX2VkYWMuYyBiL2RyaXZlcnMvZWRhYy9naGVzX2VkYWMuYw0KaW5kZXggNDkzOTZiZjZh ZDg4Li40MmFmYTI2MDRkYjMgMTAwNjQ0DQotLS0gYS9kcml2ZXJzL2VkYWMvZ2hlc19lZGFjLmMN CisrKyBiL2RyaXZlcnMvZWRhYy9naGVzX2VkYWMuYw0KQEAgLTEwMCw5ICsxMDAsOCBAQCBzdGF0 aWMgdm9pZCBnaGVzX2VkYWNfZG1pZGVjb2RlKGNvbnN0IHN0cnVjdCBkbWlfaGVhZGVyICpkaCwg dm9pZCAqYXJnKQ0KIA0KIAlpZiAoZGgtPnR5cGUgPT0gRE1JX0VOVFJZX01FTV9ERVZJQ0UpIHsN CiAJCXN0cnVjdCBtZW1kZXZfZG1pX2VudHJ5ICplbnRyeSA9IChzdHJ1Y3QgbWVtZGV2X2RtaV9l bnRyeSAqKWRoOw0KLQkJc3RydWN0IGRpbW1faW5mbyAqZGltbSA9IEVEQUNfRElNTV9QVFIobWNp LT5sYXllcnMsIG1jaS0+ZGltbXMsDQotCQkJCQkJICAgICAgIG1jaS0+bl9sYXllcnMsDQotCQkJ CQkJICAgICAgIGRpbW1fZmlsbC0+Y291bnQsIDAsIDApOw0KKwkJc3RydWN0IGRpbW1faW5mbyAq ZGltbSA9IGVkYWNfZ2V0X2RpbW0obWNpLCBkaW1tX2ZpbGwtPmNvdW50LA0KKwkJCQkJCSAgICAg ICAwLCAwKTsNCiAJCXUxNiByZHJfbWFzayA9IEJJVCg3KSB8IEJJVCgxMyk7DQogDQogCQlpZiAo ZW50cnktPnNpemUgPT0gMHhmZmZmKSB7DQpAQCAtNTI5LDggKzUyOCw3IEBAIGludCBnaGVzX2Vk YWNfcmVnaXN0ZXIoc3RydWN0IGdoZXMgKmdoZXMsIHN0cnVjdCBkZXZpY2UgKmRldikNCiAJCWRp bW1fZmlsbC5tY2kgPSBtY2k7DQogCQlkbWlfd2FsayhnaGVzX2VkYWNfZG1pZGVjb2RlLCAmZGlt bV9maWxsKTsNCiAJfSBlbHNlIHsNCi0JCXN0cnVjdCBkaW1tX2luZm8gKmRpbW0gPSBFREFDX0RJ TU1fUFRSKG1jaS0+bGF5ZXJzLCBtY2ktPmRpbW1zLA0KLQkJCQkJCSAgICAgICBtY2ktPm5fbGF5 ZXJzLCAwLCAwLCAwKTsNCisJCXN0cnVjdCBkaW1tX2luZm8gKmRpbW0gPSBlZGFjX2dldF9kaW1t KG1jaSwgMCwgMCwgMCk7DQogDQogCQlkaW1tLT5ucl9wYWdlcyA9IDE7DQogCQlkaW1tLT5ncmFp biA9IDEyODsNCmRpZmYgLS1naXQgYS9kcml2ZXJzL2VkYWMvaTEwbm1fYmFzZS5jIGIvZHJpdmVy cy9lZGFjL2kxMG5tX2Jhc2UuYw0KaW5kZXggYzMzNGZiN2M2M2RmLi5iYzdjOTkwYjU3YTUgMTAw NjQ0DQotLS0gYS9kcml2ZXJzL2VkYWMvaTEwbm1fYmFzZS5jDQorKysgYi9kcml2ZXJzL2VkYWMv aTEwbm1fYmFzZS5jDQpAQCAtMTUyLDggKzE1Miw3IEBAIHN0YXRpYyBpbnQgaTEwbm1fZ2V0X2Rp bW1fY29uZmlnKHN0cnVjdCBtZW1fY3RsX2luZm8gKm1jaSkNCiANCiAJCW5kaW1tcyA9IDA7DQog CQlmb3IgKGogPSAwOyBqIDwgSTEwTk1fTlVNX0RJTU1TOyBqKyspIHsNCi0JCQlkaW1tID0gRURB Q19ESU1NX1BUUihtY2ktPmxheWVycywgbWNpLT5kaW1tcywNCi0JCQkJCSAgICAgbWNpLT5uX2xh eWVycywgaSwgaiwgMCk7DQorCQkJZGltbSA9IGVkYWNfZ2V0X2RpbW0obWNpLCBpLCBqLCAwKTsN CiAJCQltdHIgPSBJMTBOTV9HRVRfRElNTU1UUihpbWMsIGksIGopOw0KIAkJCW1jZGRydGNmZyA9 IEkxME5NX0dFVF9NQ0REUlRDRkcoaW1jLCBpLCBqKTsNCiAJCQllZGFjX2RiZygxLCAiZGltbW10 ciAweCV4IG1jZGRydGNmZyAweCV4IChtYyVkIGNoJWQgZGltbSVkKVxuIiwNCmRpZmYgLS1naXQg YS9kcml2ZXJzL2VkYWMvaTMyMDBfZWRhYy5jIGIvZHJpdmVycy9lZGFjL2kzMjAwX2VkYWMuYw0K aW5kZXggMjk5YjQ0MTY0N2NkLi40MzJiMzc1YTQwNzUgMTAwNjQ0DQotLS0gYS9kcml2ZXJzL2Vk YWMvaTMyMDBfZWRhYy5jDQorKysgYi9kcml2ZXJzL2VkYWMvaTMyMDBfZWRhYy5jDQpAQCAtMzky LDggKzM5Miw3IEBAIHN0YXRpYyBpbnQgaTMyMDBfcHJvYmUxKHN0cnVjdCBwY2lfZGV2ICpwZGV2 LCBpbnQgZGV2X2lkeCkNCiAJCXVuc2lnbmVkIGxvbmcgbnJfcGFnZXM7DQogDQogCQlmb3IgKGog PSAwOyBqIDwgbnJfY2hhbm5lbHM7IGorKykgew0KLQkJCXN0cnVjdCBkaW1tX2luZm8gKmRpbW0g PSBFREFDX0RJTU1fUFRSKG1jaS0+bGF5ZXJzLCBtY2ktPmRpbW1zLA0KLQkJCQkJCQkgICAgICAg bWNpLT5uX2xheWVycywgaSwgaiwgMCk7DQorCQkJc3RydWN0IGRpbW1faW5mbyAqZGltbSA9IGVk YWNfZ2V0X2RpbW0obWNpLCBpLCBqLCAwKTsNCiANCiAJCQlucl9wYWdlcyA9IGRyYl90b19ucl9w YWdlcyhkcmJzLCBzdGFja2VkLCBqLCBpKTsNCiAJCQlpZiAobnJfcGFnZXMgPT0gMCkNCmRpZmYg LS1naXQgYS9kcml2ZXJzL2VkYWMvaTUwMDBfZWRhYy5jIGIvZHJpdmVycy9lZGFjL2k1MDAwX2Vk YWMuYw0KaW5kZXggMDc4YTczNTFiZjA1Li4xYTZmNjljODU5YWIgMTAwNjQ0DQotLS0gYS9kcml2 ZXJzL2VkYWMvaTUwMDBfZWRhYy5jDQorKysgYi9kcml2ZXJzL2VkYWMvaTUwMDBfZWRhYy5jDQpA QCAtMTI3NSw5ICsxMjc1LDggQEAgc3RhdGljIGludCBpNTAwMF9pbml0X2Nzcm93cyhzdHJ1Y3Qg bWVtX2N0bF9pbmZvICptY2kpDQogCQkJaWYgKCFNVFJfRElNTVNfUFJFU0VOVChtdHIpKQ0KIAkJ CQljb250aW51ZTsNCiANCi0JCQlkaW1tID0gRURBQ19ESU1NX1BUUihtY2ktPmxheWVycywgbWNp LT5kaW1tcywgbWNpLT5uX2xheWVycywNCi0JCQkJICAgICAgIGNoYW5uZWwgLyBNQVhfQlJBTkNI RVMsDQotCQkJCSAgICAgICBjaGFubmVsICUgTUFYX0JSQU5DSEVTLCBzbG90KTsNCisJCQlkaW1t ID0gZWRhY19nZXRfZGltbShtY2ksIGNoYW5uZWwgLyBNQVhfQlJBTkNIRVMsDQorCQkJCQkgICAg IGNoYW5uZWwgJSBNQVhfQlJBTkNIRVMsIHNsb3QpOw0KIA0KIAkJCWNzcm93X21lZ3MgPSBwdnQt PmRpbW1faW5mb1tzbG90XVtjaGFubmVsXS5tZWdhYnl0ZXM7DQogCQkJZGltbS0+Z3JhaW4gPSA4 Ow0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvZWRhYy9pNTEwMF9lZGFjLmMgYi9kcml2ZXJzL2VkYWMv aTUxMDBfZWRhYy5jDQppbmRleCBiNTA2ZWVmNmIxNDYuLjM5YmE3ZjI0MTRhZSAxMDA2NDQNCi0t LSBhL2RyaXZlcnMvZWRhYy9pNTEwMF9lZGFjLmMNCisrKyBiL2RyaXZlcnMvZWRhYy9pNTEwMF9l ZGFjLmMNCkBAIC04NTgsOCArODU4LDcgQEAgc3RhdGljIHZvaWQgaTUxMDBfaW5pdF9jc3Jvd3Mo c3RydWN0IG1lbV9jdGxfaW5mbyAqbWNpKQ0KIAkJaWYgKCFucGFnZXMpDQogCQkJY29udGludWU7 DQogDQotCQlkaW1tID0gRURBQ19ESU1NX1BUUihtY2ktPmxheWVycywgbWNpLT5kaW1tcywgbWNp LT5uX2xheWVycywNCi0JCQkgICAgICAgY2hhbiwgcmFuaywgMCk7DQorCQlkaW1tID0gZWRhY19n ZXRfZGltbShtY2ksIGNoYW4sIHJhbmssIDApOw0KIA0KIAkJZGltbS0+bnJfcGFnZXMgPSBucGFn ZXM7DQogCQlkaW1tLT5ncmFpbiA9IDMyOw0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvZWRhYy9pNTQw MF9lZGFjLmMgYi9kcml2ZXJzL2VkYWMvaTU0MDBfZWRhYy5jDQppbmRleCA2ZjhiY2RiOTI1NmEu LmE1MGE4NzA3MzM3YiAxMDA2NDQNCi0tLSBhL2RyaXZlcnMvZWRhYy9pNTQwMF9lZGFjLmMNCisr KyBiL2RyaXZlcnMvZWRhYy9pNTQwMF9lZGFjLmMNCkBAIC0xMTk2LDggKzExOTYsOCBAQCBzdGF0 aWMgaW50IGk1NDAwX2luaXRfZGltbXMoc3RydWN0IG1lbV9jdGxfaW5mbyAqbWNpKQ0KIAkJCWlm ICghTVRSX0RJTU1TX1BSRVNFTlQobXRyKSkNCiAJCQkJY29udGludWU7DQogDQotCQkJZGltbSA9 IEVEQUNfRElNTV9QVFIobWNpLT5sYXllcnMsIG1jaS0+ZGltbXMsIG1jaS0+bl9sYXllcnMsDQot CQkJCSAgICAgICBjaGFubmVsIC8gMiwgY2hhbm5lbCAlIDIsIHNsb3QpOw0KKwkJCWRpbW0gPSBl ZGFjX2dldF9kaW1tKG1jaSwgY2hhbm5lbCAvIDIsIGNoYW5uZWwgJSAyLA0KKwkJCQkJICAgICBz bG90KTsNCiANCiAJCQlzaXplX21iID0gIHB2dC0+ZGltbV9pbmZvW3Nsb3RdW2NoYW5uZWxdLm1l Z2FieXRlczsNCiANCmRpZmYgLS1naXQgYS9kcml2ZXJzL2VkYWMvaTczMDBfZWRhYy5jIGIvZHJp dmVycy9lZGFjL2k3MzAwX2VkYWMuYw0KaW5kZXggNmI1YTU1NGJhOGU0Li5iNzZiZTY5ZjBkNzQg MTAwNjQ0DQotLS0gYS9kcml2ZXJzL2VkYWMvaTczMDBfZWRhYy5jDQorKysgYi9kcml2ZXJzL2Vk YWMvaTczMDBfZWRhYy5jDQpAQCAtNzk2LDggKzc5Niw3IEBAIHN0YXRpYyBpbnQgaTczMDBfaW5p dF9jc3Jvd3Moc3RydWN0IG1lbV9jdGxfaW5mbyAqbWNpKQ0KIAkJCWZvciAoY2ggPSAwOyBjaCA8 IG1heF9jaGFubmVsOyBjaCsrKSB7DQogCQkJCWludCBjaGFubmVsID0gdG9fY2hhbm5lbChjaCwg YnJhbmNoKTsNCiANCi0JCQkJZGltbSA9IEVEQUNfRElNTV9QVFIobWNpLT5sYXllcnMsIG1jaS0+ ZGltbXMsDQotCQkJCQkgICAgICAgbWNpLT5uX2xheWVycywgYnJhbmNoLCBjaCwgc2xvdCk7DQor CQkJCWRpbW0gPSBlZGFjX2dldF9kaW1tKG1jaSwgYnJhbmNoLCBjaCwgc2xvdCk7DQogDQogCQkJ CWRpbmZvID0gJnB2dC0+ZGltbV9pbmZvW3Nsb3RdW2NoYW5uZWxdOw0KIA0KZGlmZiAtLWdpdCBh L2RyaXZlcnMvZWRhYy9pN2NvcmVfZWRhYy5jIGIvZHJpdmVycy9lZGFjL2k3Y29yZV9lZGFjLmMN CmluZGV4IDQwMjk3NTUwMzEzYS4uNGQ3YWZjZDU1NjI2IDEwMDY0NA0KLS0tIGEvZHJpdmVycy9l ZGFjL2k3Y29yZV9lZGFjLmMNCisrKyBiL2RyaXZlcnMvZWRhYy9pN2NvcmVfZWRhYy5jDQpAQCAt NTg3LDggKzU4Nyw3IEBAIHN0YXRpYyBpbnQgZ2V0X2RpbW1fY29uZmlnKHN0cnVjdCBtZW1fY3Rs X2luZm8gKm1jaSkNCiAJCQlpZiAoIURJTU1fUFJFU0VOVChkaW1tX2RvZFtqXSkpDQogCQkJCWNv bnRpbnVlOw0KIA0KLQkJCWRpbW0gPSBFREFDX0RJTU1fUFRSKG1jaS0+bGF5ZXJzLCBtY2ktPmRp bW1zLCBtY2ktPm5fbGF5ZXJzLA0KLQkJCQkgICAgICAgaSwgaiwgMCk7DQorCQkJZGltbSA9IGVk YWNfZ2V0X2RpbW0obWNpLCBpLCBqLCAwKTsNCiAJCQliYW5rcyA9IG51bWJhbmsoTUNfRE9EX05V TUJBTksoZGltbV9kb2Rbal0pKTsNCiAJCQlyYW5rcyA9IG51bXJhbmsoTUNfRE9EX05VTVJBTkso ZGltbV9kb2Rbal0pKTsNCiAJCQlyb3dzID0gbnVtcm93KE1DX0RPRF9OVU1ST1coZGltbV9kb2Rb al0pKTsNCmRpZmYgLS1naXQgYS9kcml2ZXJzL2VkYWMvaWUzMTIwMF9lZGFjLmMgYi9kcml2ZXJz L2VkYWMvaWUzMTIwMF9lZGFjLmMNCmluZGV4IGFhYzliOWIzNjBiOC4uYTJiNGQ4MGRkYzU3IDEw MDY0NA0KLS0tIGEvZHJpdmVycy9lZGFjL2llMzEyMDBfZWRhYy5jDQorKysgYi9kcml2ZXJzL2Vk YWMvaWUzMTIwMF9lZGFjLmMNCkBAIC00NjcsOSArNDY3LDcgQEAgc3RhdGljIGludCBpZTMxMjAw X3Byb2JlMShzdHJ1Y3QgcGNpX2RldiAqcGRldiwgaW50IGRldl9pZHgpDQogDQogCQkJaWYgKGRp bW1faW5mb1tqXVtpXS5kdWFsX3JhbmspIHsNCiAJCQkJbnJfcGFnZXMgPSBucl9wYWdlcyAvIDI7 DQotCQkJCWRpbW0gPSBFREFDX0RJTU1fUFRSKG1jaS0+bGF5ZXJzLCBtY2ktPmRpbW1zLA0KLQkJ CQkJCSAgICAgbWNpLT5uX2xheWVycywgKGkgKiAyKSArIDEsDQotCQkJCQkJICAgICBqLCAwKTsN CisJCQkJZGltbSA9IGVkYWNfZ2V0X2RpbW0obWNpLCAoaSAqIDIpICsgMSwgaiwgMCk7DQogCQkJ CWRpbW0tPm5yX3BhZ2VzID0gbnJfcGFnZXM7DQogCQkJCWVkYWNfZGJnKDAsICJzZXQgbnIgcGFn ZXM6IDB4JWx4XG4iLCBucl9wYWdlcyk7DQogCQkJCWRpbW0tPmdyYWluID0gODsgLyoganVzdCBh IGd1ZXNzICovDQpAQCAtNDgwLDggKzQ3OCw3IEBAIHN0YXRpYyBpbnQgaWUzMTIwMF9wcm9iZTEo c3RydWN0IHBjaV9kZXYgKnBkZXYsIGludCBkZXZfaWR4KQ0KIAkJCQlkaW1tLT5kdHlwZSA9IERF Vl9VTktOT1dOOw0KIAkJCQlkaW1tLT5lZGFjX21vZGUgPSBFREFDX1VOS05PV047DQogCQkJfQ0K LQkJCWRpbW0gPSBFREFDX0RJTU1fUFRSKG1jaS0+bGF5ZXJzLCBtY2ktPmRpbW1zLA0KLQkJCQkJ ICAgICBtY2ktPm5fbGF5ZXJzLCBpICogMiwgaiwgMCk7DQorCQkJZGltbSA9IGVkYWNfZ2V0X2Rp bW0obWNpLCBpICogMiwgaiwgMCk7DQogCQkJZGltbS0+bnJfcGFnZXMgPSBucl9wYWdlczsNCiAJ CQllZGFjX2RiZygwLCAic2V0IG5yIHBhZ2VzOiAweCVseFxuIiwgbnJfcGFnZXMpOw0KIAkJCWRp bW0tPmdyYWluID0gODsgLyogc2FtZSBndWVzcyAqLw0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvZWRh Yy9wbmQyX2VkYWMuYyBiL2RyaXZlcnMvZWRhYy9wbmQyX2VkYWMuYw0KaW5kZXggOTAzYTRmMWZh ZGNjLi4yZjdkY2FmZDg0YjEgMTAwNjQ0DQotLS0gYS9kcml2ZXJzL2VkYWMvcG5kMl9lZGFjLmMN CisrKyBiL2RyaXZlcnMvZWRhYy9wbmQyX2VkYWMuYw0KQEAgLTEyMzQsNyArMTIzNCw3IEBAIHN0 YXRpYyB2b2lkIGFwbF9nZXRfZGltbV9jb25maWcoc3RydWN0IG1lbV9jdGxfaW5mbyAqbWNpKQ0K IAkJaWYgKCEoY2hhbl9tYXNrICYgQklUKGkpKSkNCiAJCQljb250aW51ZTsNCiANCi0JCWRpbW0g PSBFREFDX0RJTU1fUFRSKG1jaS0+bGF5ZXJzLCBtY2ktPmRpbW1zLCBtY2ktPm5fbGF5ZXJzLCBp LCAwLCAwKTsNCisJCWRpbW0gPSBlZGFjX2dldF9kaW1tKG1jaSwgaSwgMCwgMCk7DQogCQlpZiAo IWRpbW0pIHsNCiAJCQllZGFjX2RiZygwLCAiTm8gYWxsb2NhdGVkIERJTU0gZm9yIGNoYW5uZWwg JWRcbiIsIGkpOw0KIAkJCWNvbnRpbnVlOw0KQEAgLTEzMTQsNyArMTMxNCw3IEBAIHN0YXRpYyB2 b2lkIGRudl9nZXRfZGltbV9jb25maWcoc3RydWN0IG1lbV9jdGxfaW5mbyAqbWNpKQ0KIAkJCWlm ICghcmFua3Nfb2ZfZGltbVtqXSkNCiAJCQkJY29udGludWU7DQogDQotCQkJZGltbSA9IEVEQUNf RElNTV9QVFIobWNpLT5sYXllcnMsIG1jaS0+ZGltbXMsIG1jaS0+bl9sYXllcnMsIGksIGosIDAp Ow0KKwkJCWRpbW0gPSBlZGFjX2dldF9kaW1tKG1jaSwgaSwgaiwgMCk7DQogCQkJaWYgKCFkaW1t KSB7DQogCQkJCWVkYWNfZGJnKDAsICJObyBhbGxvY2F0ZWQgRElNTSBmb3IgY2hhbm5lbCAlZCBE SU1NICVkXG4iLCBpLCBqKTsNCiAJCQkJY29udGludWU7DQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9l ZGFjL3NiX2VkYWMuYyBiL2RyaXZlcnMvZWRhYy9zYl9lZGFjLmMNCmluZGV4IDkzNTNjM2ZjN2Mw NS4uNWRmYTliYTFjMjUyIDEwMDY0NA0KLS0tIGEvZHJpdmVycy9lZGFjL3NiX2VkYWMuYw0KKysr IGIvZHJpdmVycy9lZGFjL3NiX2VkYWMuYw0KQEAgLTE2MjMsNyArMTYyMyw3IEBAIHN0YXRpYyBp bnQgX19wb3B1bGF0ZV9kaW1tcyhzdHJ1Y3QgbWVtX2N0bF9pbmZvICptY2ksDQogCQl9DQogDQog CQlmb3IgKGogPSAwOyBqIDwgbWF4X2RpbW1zX3Blcl9jaGFubmVsOyBqKyspIHsNCi0JCQlkaW1t ID0gRURBQ19ESU1NX1BUUihtY2ktPmxheWVycywgbWNpLT5kaW1tcywgbWNpLT5uX2xheWVycywg aSwgaiwgMCk7DQorCQkJZGltbSA9IGVkYWNfZ2V0X2RpbW0obWNpLCBpLCBqLCAwKTsNCiAJCQlp ZiAocHZ0LT5pbmZvLnR5cGUgPT0gS05JR0hUU19MQU5ESU5HKSB7DQogCQkJCXBjaV9yZWFkX2Nv bmZpZ19kd29yZChwdnQtPmtubC5wY2lfY2hhbm5lbFtpXSwNCiAJCQkJCWtubF9tdHJfcmVnLCAm bXRyKTsNCmRpZmYgLS1naXQgYS9kcml2ZXJzL2VkYWMvc2t4X2Jhc2UuYyBiL2RyaXZlcnMvZWRh Yy9za3hfYmFzZS5jDQppbmRleCBhZGFlNGM4NDhjYTEuLjZhODI4ZDZjMDg1MiAxMDA2NDQNCi0t LSBhL2RyaXZlcnMvZWRhYy9za3hfYmFzZS5jDQorKysgYi9kcml2ZXJzL2VkYWMvc2t4X2Jhc2Uu Yw0KQEAgLTE3Nyw4ICsxNzcsNyBAQCBzdGF0aWMgaW50IHNreF9nZXRfZGltbV9jb25maWcoc3Ry dWN0IG1lbV9jdGxfaW5mbyAqbWNpKQ0KIAkJcGNpX3JlYWRfY29uZmlnX2R3b3JkKGltYy0+Y2hh bltpXS5jZGV2LCAweDhDLCAmYW1hcCk7DQogCQlwY2lfcmVhZF9jb25maWdfZHdvcmQoaW1jLT5j aGFuW2ldLmNkZXYsIDB4NDAwLCAmbWNkZHJ0Y2ZnKTsNCiAJCWZvciAoaiA9IDA7IGogPCBTS1hf TlVNX0RJTU1TOyBqKyspIHsNCi0JCQlkaW1tID0gRURBQ19ESU1NX1BUUihtY2ktPmxheWVycywg bWNpLT5kaW1tcywNCi0JCQkJCSAgICAgbWNpLT5uX2xheWVycywgaSwgaiwgMCk7DQorCQkJZGlt bSA9IGVkYWNfZ2V0X2RpbW0obWNpLCBpLCBqLCAwKTsNCiAJCQlwY2lfcmVhZF9jb25maWdfZHdv cmQoaW1jLT5jaGFuW2ldLmNkZXYsDQogCQkJCQkgICAgICAweDgwICsgNCAqIGosICZtdHIpOw0K IAkJCWlmIChJU19ESU1NX1BSRVNFTlQobXRyKSkgew0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvZWRh Yy90aV9lZGFjLmMgYi9kcml2ZXJzL2VkYWMvdGlfZWRhYy5jDQppbmRleCA2YWMyNmQxYjkyOWYu LjhiZTNlODlhNTEwZSAxMDA2NDQNCi0tLSBhL2RyaXZlcnMvZWRhYy90aV9lZGFjLmMNCisrKyBi L2RyaXZlcnMvZWRhYy90aV9lZGFjLmMNCkBAIC0xMzUsNyArMTM1LDcgQEAgc3RhdGljIHZvaWQg dGlfZWRhY19zZXR1cF9kaW1tKHN0cnVjdCBtZW1fY3RsX2luZm8gKm1jaSwgdTMyIHR5cGUpDQog CXUzMiB2YWw7DQogCXUzMiBtZW1zaXplOw0KIA0KLQlkaW1tID0gRURBQ19ESU1NX1BUUihtY2kt PmxheWVycywgbWNpLT5kaW1tcywgbWNpLT5uX2xheWVycywgMCwgMCwgMCk7DQorCWRpbW0gPSBl ZGFjX2dldF9kaW1tKG1jaSwgMCwgMCwgMCk7DQogDQogCXZhbCA9IHRpX2VkYWNfcmVhZGwoZWRh YywgRU1JRl9TRFJBTV9DT05GSUcpOw0KIA0KZGlmZiAtLWdpdCBhL2luY2x1ZGUvbGludXgvZWRh Yy5oIGIvaW5jbHVkZS9saW51eC9lZGFjLmgNCmluZGV4IDM0MmRhYmRhOWM3ZS4uMTM2N2EzZmM1 NDRmIDEwMDY0NA0KLS0tIGEvaW5jbHVkZS9saW51eC9lZGFjLmgNCisrKyBiL2luY2x1ZGUvbGlu dXgvZWRhYy5oDQpAQCAtNDAzLDM3ICs0MDMsNiBAQCBzdHJ1Y3QgZWRhY19tY19sYXllciB7DQog CV9faTsJCQkJCQkJCVwNCiB9KQ0KIA0KLS8qKg0KLSAqIEVEQUNfRElNTV9QVFIgLSBNYWNybyBy ZXNwb25zaWJsZSB0byBnZXQgYSBwb2ludGVyIGluc2lkZSBhIHBvaW50ZXIgYXJyYXkNCi0gKgkJ ICAgZm9yIHRoZSBlbGVtZW50IGdpdmVuIGJ5IFtsYXllcjAsbGF5ZXIxLGxheWVyMl0gcG9zaXRp b24NCi0gKg0KLSAqIEBsYXllcnM6CWEgc3RydWN0IGVkYWNfbWNfbGF5ZXIgYXJyYXksIGRlc2Ny aWJpbmcgaG93IG1hbnkgZWxlbWVudHMNCi0gKgkJd2VyZSBhbGxvY2F0ZWQgZm9yIGVhY2ggbGF5 ZXINCi0gKiBAdmFyOgluYW1lIG9mIHRoZSB2YXIgd2hlcmUgd2Ugd2FudCB0byBnZXQgdGhlIHBv aW50ZXINCi0gKgkJKGxpa2UgbWNpLT5kaW1tcykNCi0gKiBAbmxheWVyczoJTnVtYmVyIG9mIGxh eWVycyBhdCB0aGUgQGxheWVycyBhcnJheQ0KLSAqIEBsYXllcjA6CWxheWVyMCBwb3NpdGlvbg0K LSAqIEBsYXllcjE6CWxheWVyMSBwb3NpdGlvbi4gVW51c2VkIGlmIG5fbGF5ZXJzIDwgMg0KLSAq IEBsYXllcjI6CWxheWVyMiBwb3NpdGlvbi4gVW51c2VkIGlmIG5fbGF5ZXJzIDwgMw0KLSAqDQot ICogRm9yIDEgbGF5ZXIsIHRoaXMgbWFjcm8gcmV0dXJucyAidmFyW2xheWVyMF0iOw0KLSAqDQot ICogRm9yIDIgbGF5ZXJzLCB0aGlzIG1hY3JvIGlzIHNpbWlsYXIgdG8gYWxsb2NhdGUgYSBiaS1k aW1lbnNpb25hbCBhcnJheQ0KLSAqIGFuZCB0byByZXR1cm4gInZhcltsYXllcjBdW2xheWVyMV0i Ow0KLSAqDQotICogRm9yIDMgbGF5ZXJzLCB0aGlzIG1hY3JvIGlzIHNpbWlsYXIgdG8gYWxsb2Nh dGUgYSB0cmktZGltZW5zaW9uYWwgYXJyYXkNCi0gKiBhbmQgdG8gcmV0dXJuICJ2YXJbbGF5ZXIw XVtsYXllcjFdW2xheWVyMl0iOw0KLSAqLw0KLSNkZWZpbmUgRURBQ19ESU1NX1BUUihsYXllcnMs IHZhciwgbmxheWVycywgbGF5ZXIwLCBsYXllcjEsIGxheWVyMikgKHsJXA0KLQl0eXBlb2YoKnZh cikgX19wOwkJCQkJCVwNCi0JaW50IF9fX2kgPSBFREFDX0RJTU1fT0ZGKGxheWVycywgbmxheWVy cywgbGF5ZXIwLCBsYXllcjEsIGxheWVyMik7CVwNCi0JaWYgKF9fX2kgPCAwKQkJCQkJCQlcDQot CQlfX3AgPSBOVUxMOwkJCQkJCVwNCi0JZWxzZQkJCQkJCQkJXA0KLQkJX19wID0gKHZhcilbX19f aV07CQkJCQlcDQotCV9fcDsJCQkJCQkJCVwNCi19KQ0KLQ0KIHN0cnVjdCBkaW1tX2luZm8gew0K IAlzdHJ1Y3QgZGV2aWNlIGRldjsNCiANCkBAIC00NDMsNiArNDEyLDcgQEAgc3RydWN0IGRpbW1f aW5mbyB7DQogCXVuc2lnbmVkIGxvY2F0aW9uW0VEQUNfTUFYX0xBWUVSU107DQogDQogCXN0cnVj dCBtZW1fY3RsX2luZm8gKm1jaTsJLyogdGhlIHBhcmVudCAqLw0KKwlpbnQgaWR4OwkJCS8qIGlu ZGV4IHdpdGhpbiB0aGUgcGFyZW50IGRpbW0gYXJyYXkgKi8NCiANCiAJdTMyIGdyYWluOwkJLyog Z3JhbnVsYXJpdHkgb2YgcmVwb3J0ZWQgZXJyb3IgaW4gYnl0ZXMgKi8NCiAJZW51bSBkZXZfdHlw ZSBkdHlwZTsJLyogbWVtb3J5IGRldmljZSB0eXBlICovDQpAQCAtNjY5LDQgKzYzOSw1NiBAQCBz dHJ1Y3QgbWVtX2N0bF9pbmZvIHsNCiAJYm9vbCBmYWtlX2luamVjdF91ZTsNCiAJdTE2IGZha2Vf aW5qZWN0X2NvdW50Ow0KIH07DQorDQorLyoqDQorICogZWRhY19nZXRfZGltbV9ieV9pbmRleCAt IEdldCBESU1NIGluZm8gZnJvbSBhIG1lbW9yeSBjb250cm9sbGVyDQorICogICAgICAgICAgICAg ICAgICAgICAgICAgIGdpdmVuIGJ5IGFuIGluZGV4DQorICoNCisgKiBAbWNpOglhIHN0cnVjdCBt ZW1fY3RsX2luZm8NCisgKiBAaW5kZXg6CWluZGV4IGluIHRoZSBtZW1vcnkgY29udHJvbGxlcidz IERJTU0gYXJyYXkNCisgKg0KKyAqIFJldHVybnMgYSBzdHJ1Y3QgZGltbV9pbmZvKi4NCisgKi8N CitzdGF0aWMgaW5saW5lIHN0cnVjdCBkaW1tX2luZm8gKg0KK2VkYWNfZ2V0X2RpbW1fYnlfaW5k ZXgoc3RydWN0IG1lbV9jdGxfaW5mbyAqbWNpLCBpbnQgaW5kZXgpDQorew0KKwlpZiAoaW5kZXgg PCAwIHx8IGluZGV4ID49IG1jaS0+dG90X2RpbW1zKQ0KKwkJcmV0dXJuIE5VTEw7DQorDQorCWlm IChXQVJOX09OX09OQ0UobWNpLT5kaW1tc1tpbmRleF0tPmlkeCAhPSBpbmRleCkpDQorCQlyZXR1 cm4gTlVMTDsNCisNCisJcmV0dXJuIG1jaS0+ZGltbXNbaW5kZXhdOw0KK30NCisNCisvKioNCisg KiBlZGFjX2dldF9kaW1tIC0gR2V0IERJTU0gaW5mbyBmcm9tIGEgbWVtb3J5IGNvbnRyb2xsZXIg Z2l2ZW4gYnkNCisgKiAgICAgICAgICAgICAgICAgW2xheWVyMCxsYXllcjEsbGF5ZXIyXSBwb3Np dGlvbg0KKyAqDQorICogQG1jaToJYSBzdHJ1Y3QgbWVtX2N0bF9pbmZvDQorICogQGxheWVyMDoJ bGF5ZXIwIHBvc2l0aW9uDQorICogQGxheWVyMToJbGF5ZXIxIHBvc2l0aW9uLiBVbnVzZWQgaWYg bl9sYXllcnMgPCAyDQorICogQGxheWVyMjoJbGF5ZXIyIHBvc2l0aW9uLiBVbnVzZWQgaWYgbl9s YXllcnMgPCAzDQorICoNCisgKiBGb3IgMSBsYXllciwgdGhpcyBtYWNybyByZXR1cm5zICJkaW1t c1tsYXllcjBdIjsNCisgKg0KKyAqIEZvciAyIGxheWVycywgdGhpcyBtYWNybyBpcyBzaW1pbGFy IHRvIGFsbG9jYXRlIGEgYmktZGltZW5zaW9uYWwgYXJyYXkNCisgKiBhbmQgdG8gcmV0dXJuICJk aW1tc1tsYXllcjBdW2xheWVyMV0iOw0KKyAqDQorICogRm9yIDMgbGF5ZXJzLCB0aGlzIG1hY3Jv IGlzIHNpbWlsYXIgdG8gYWxsb2NhdGUgYSB0cmktZGltZW5zaW9uYWwgYXJyYXkNCisgKiBhbmQg dG8gcmV0dXJuICJkaW1tc1tsYXllcjBdW2xheWVyMV1bbGF5ZXIyXSI7DQorICovDQorc3RhdGlj IGlubGluZSBzdHJ1Y3QgZGltbV9pbmZvICoNCitlZGFjX2dldF9kaW1tKHN0cnVjdCBtZW1fY3Rs X2luZm8gKm1jaSwgaW50IGxheWVyMCwgaW50IGxheWVyMSwgaW50IGxheWVyMikNCit7DQorCWlu dCBpbmRleCA9IGxheWVyMDsNCisNCisJaWYgKGluZGV4ID49IDAgJiYgbWNpLT5uX2xheWVycyA+ IDEpDQorCQlpbmRleCA9IGluZGV4ICogbWNpLT5sYXllcnNbMV0uc2l6ZSArIGxheWVyMTsNCisJ aWYgKGluZGV4ID49IDAgJiYgbWNpLT5uX2xheWVycyA+IDIpDQorCQlpbmRleCA9IGluZGV4ICog bWNpLT5sYXllcnNbMl0uc2l6ZSArIGxheWVyMjsNCisNCisJcmV0dXJuIGVkYWNfZ2V0X2RpbW1f YnlfaW5kZXgobWNpLCBpbmRleCk7DQorfQ0KKw0KICNlbmRpZg0KLS0gDQoyLjIwLjENCg0K