Received: by 2002:ac0:bc90:0:0:0:0:0 with SMTP id a16csp396849img; Thu, 21 Mar 2019 00:00:07 -0700 (PDT) X-Google-Smtp-Source: APXvYqzFlm786N/TMJldXME/lMnlCdvXM2wMamGS7Pu4Pys4QMpa87/OnCuTTUSlr9lGFXmmg234 X-Received: by 2002:a62:4414:: with SMTP id r20mr1863715pfa.37.1553151606928; Thu, 21 Mar 2019 00:00:06 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1553151606; cv=none; d=google.com; s=arc-20160816; b=leuvJJPL2blI2McctfFMW3yyNBLpFC0T/jofc/th9UazxKzQSfBC7sYmMjx1KhYxIA n46GUHA6qeyNJhOq77QVfaKlCu/AtlMxNMUTUa29ybrWaDf9z7cWyL1Ig0wAjQ0ZCRYf FsuV6GKI2xSRKBwEyK+vkaQSXqTVt3c58/jMnKzFNZWosFgtiTLw7hb1ZPD0Fi6yMEs6 ncBpO0H8kad4M9vPwkBwgFaO7lhboWb+RpwrqgaSiUiN+EsQYQAqo40pOCiYB5JchFvY 5TZRxST78PuS6xrI7Az6hFpv2FAt19GFBr8JcbOshotiiqDFK2PC24bH5uuOBIeFshzu 5PtA== 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=1gspJmELTahn33NnuTP71hu+aXvz9NAoSCvlU1I16eg=; b=nmTMpWn0HYutx08chOI2IRWNrDDLqTdAgcpHfBmMiozz3KZNLeKF6L/nEqRI74+M4F NebARj4HSByTIZo3CfIMlF39ZBzFq1R0rY3a9mnCF/aTaRzQyk8EKmlTW+LlI2Z7h46D GIejq3CyC1m0cJRzThBHW/iVx/VllmNmJNhLHrmgtBVGleLKANRL4/iClx0TbRxY2hi/ 7TSwIwbHbQV7RtxqwqMe18ZhgqiaRspG9N/9KImIVmRDTj3eDPEzYPctxIqNtPR5XhQ2 BjmxWcJKl2OOSkI7yk64IDYi9PPi7MTyCKDbwnevXoFUm7eSyLiIAtoLApjCu4356IEI rmgg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@amdcloud.onmicrosoft.com header.s=selector1-amd-com header.b=JgJSHARP; 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 a89si4083925pla.362.2019.03.20.23.59.40; Thu, 21 Mar 2019 00:00: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=JgJSHARP; 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 S1727857AbfCUG6Z (ORCPT + 99 others); Thu, 21 Mar 2019 02:58:25 -0400 Received: from mail-eopbgr780040.outbound.protection.outlook.com ([40.107.78.40]:43168 "EHLO NAM03-BY2-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1726645AbfCUG6Z (ORCPT ); Thu, 21 Mar 2019 02:58:25 -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=1gspJmELTahn33NnuTP71hu+aXvz9NAoSCvlU1I16eg=; b=JgJSHARPetKQyrD3Fwx12qi0+1iDLts8ZLIXo7/QO1fGBmWiITslJYTNBqfv75j3GXPGDFCb4sMIuqngo1l5BySxtBeaI6rjcBFlzHSsuAUKtQ5/U/nWgNnSt6PAZkqYymTQCWeDz5OJNd1jgjvFCoU4yVnmBsAqeYZLci2+/kg= Received: from SN6PR12MB2800.namprd12.prod.outlook.com (52.135.107.150) by SN6PR12MB2704.namprd12.prod.outlook.com (52.135.103.33) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1709.14; Thu, 21 Mar 2019 06:58:10 +0000 Received: from SN6PR12MB2800.namprd12.prod.outlook.com ([fe80::3d38:28e0:e1b5:215b]) by SN6PR12MB2800.namprd12.prod.outlook.com ([fe80::3d38:28e0:e1b5:215b%4]) with mapi id 15.20.1730.013; Thu, 21 Mar 2019 06:58:10 +0000 From: "Pan, Xinhui" To: Nathan Chancellor , Stephen Hines CC: "Koenig, Christian" , "Deucher, Alexander" , "Zhou, David(ChunMing)" , "amd-gfx@lists.freedesktop.org" , "dri-devel@lists.freedesktop.org" , "linux-kernel@vger.kernel.org" , "clang-built-linux@googlegroups.com" Subject: RE: Clang warning in drivers/gpu/drm/amd/amdgpu/amdgpu_ras.c Thread-Topic: Clang warning in drivers/gpu/drm/amd/amdgpu/amdgpu_ras.c Thread-Index: AQHU3rdvxNmFG67CBEah8A4XIlBblqYTucrwgAA1PQCAAFSEgIAAWa+AgAANCwCAAP6dMA== Date: Thu, 21 Mar 2019 06:58:10 +0000 Message-ID: References: <20190320005406.GA16412@archlinux-ryzen> <20190320043440.GA23335@archlinux-ryzen> <63518f1f-b808-77b0-aac6-ee1ece669c4b@amd.com> <20190320154450.GA20310@archlinux-ryzen> In-Reply-To: <20190320154450.GA20310@archlinux-ryzen> Accept-Language: zh-CN, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: spf=none (sender IP is ) smtp.mailfrom=Xinhui.Pan@amd.com; x-originating-ip: [180.167.199.189] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: d6dc7cc5-15de-4b07-51e9-08d6adca9460 x-ms-office365-filtering-ht: Tenant x-microsoft-antispam: BCL:0;PCL:0;RULEID:(2390118)(7020095)(4652040)(8989299)(4534185)(4627221)(201703031133081)(201702281549075)(8990200)(5600127)(711020)(4605104)(4618075)(2017052603328)(7153060)(7193020);SRVR:SN6PR12MB2704; x-ms-traffictypediagnostic: SN6PR12MB2704: x-ms-exchange-purlcount: 2 x-microsoft-antispam-prvs: x-forefront-prvs: 0983EAD6B2 x-forefront-antispam-report: SFV:NSPM;SFS:(10009020)(39860400002)(346002)(366004)(396003)(136003)(376002)(189003)(53754006)(13464003)(199004)(72206003)(966005)(476003)(478600001)(446003)(14454004)(11346002)(8676002)(8936002)(6116002)(486006)(3846002)(186003)(33656002)(81166006)(86362001)(81156014)(71200400001)(68736007)(71190400001)(5660300002)(74316002)(25786009)(66066001)(4326008)(305945005)(256004)(14444005)(2906002)(229853002)(99286004)(7736002)(93886005)(105586002)(7696005)(76176011)(52536014)(26005)(53546011)(6506007)(110136005)(102836004)(6246003)(6306002)(53936002)(9686003)(55016002)(54906003)(6436002)(97736004)(316002)(106356001);DIR:OUT;SFP:1101;SCL:1;SRVR:SN6PR12MB2704;H:SN6PR12MB2800.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: PXyfEtCaqH/ibcrWZAzJs151BCa1GAaLFjiHNPoZ1tyLI0GYmFnBoOHUHZhmHQUQzXBrmyOdj53B84B0/gkIA+j6rMEkIa9GrIJAotcNbI1qVsUpw096I4Um2Jmesj7jSmyRYC1cckwHGmrj+jvd8zxtqU1lMJfhhE+LQM0eaK6x9J1Nu7b558OLxkuEjfNHMNiTAefFqL6jaNH6dHcIVE9vDYdzpvdCd6tVZ9Ka9IUFUPAtSN1hSEvyH64Gvgt6x0SgQMqDYblMGv1fg4tdMCa7uRAVU1zWvV1+6QPh2GEHxekfzAYxN4OHTmu4rbGSeGQLOSvNb13Bko0N6niQU47Z4Zw+1nEdoTeTDU96Nx0EBVZCgFOwsD+gwaXjFDw3V0ls0+PPasnwCketjp6IStknbjW+LZaVNuqrN+a6TM0= 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: d6dc7cc5-15de-4b07-51e9-08d6adca9460 X-MS-Exchange-CrossTenant-originalarrivaltime: 21 Mar 2019 06:58:10.2442 (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: SN6PR12MB2704 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org SSBhbSBnb2luZyB0byBhcHBseSB5b3VyIGZpeCBwYXRjaCBpbiBteSBicmFuY2guDQoNClRoYW5r cw0KeGluaHVpDQoNCi0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQpGcm9tOiBOYXRoYW4gQ2hh bmNlbGxvciA8bmF0ZWNoYW5jZWxsb3JAZ21haWwuY29tPiANClNlbnQ6IDIwMTnlubQz5pyIMjDm l6UgMjM6NDUNClRvOiBTdGVwaGVuIEhpbmVzIDxzcmhpbmVzQGdvb2dsZS5jb20+DQpDYzogS29l bmlnLCBDaHJpc3RpYW4gPENocmlzdGlhbi5Lb2VuaWdAYW1kLmNvbT47IFBhbiwgWGluaHVpIDxY aW5odWkuUGFuQGFtZC5jb20+OyBEZXVjaGVyLCBBbGV4YW5kZXIgPEFsZXhhbmRlci5EZXVjaGVy QGFtZC5jb20+OyBaaG91LCBEYXZpZChDaHVuTWluZykgPERhdmlkMS5aaG91QGFtZC5jb20+OyBh bWQtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZzsgZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9w Lm9yZzsgbGludXgta2VybmVsQHZnZXIua2VybmVsLm9yZzsgY2xhbmctYnVpbHQtbGludXhAZ29v Z2xlZ3JvdXBzLmNvbQ0KU3ViamVjdDogUmU6IENsYW5nIHdhcm5pbmcgaW4gZHJpdmVycy9ncHUv ZHJtL2FtZC9hbWRncHUvYW1kZ3B1X3Jhcy5jDQoNCk9uIFdlZCwgTWFyIDIwLCAyMDE5IGF0IDA3 OjU4OjA5QU0gLTA3MDAsIFN0ZXBoZW4gSGluZXMgd3JvdGU6DQo+IFdoeSBhcmUgdGhlcmUgMiBk aWZmZXJlbnQgZW51bXMgZm9yIHRoaXMgc2FtZSB0aGluZyBhdCBhbGw/IEJ5IA0KPiBjYXN0aW5n LCB5b3UgYXJlIHJlZHVjaW5nIHR5cGUgc2FmZXR5IGluIHRoZSBrZXJuZWwsIHdoaWNoIGNhbiBj YXVzZSANCj4gYnVncyBsYXRlciAoc2hvdWxkIHRoZSB0d28gZW51bXMgZGl2ZXJnZSBpbiBlbmNv ZGluZykuIEluIG15IG9waW5pb24sIA0KPiB0aGUgcHJvcGVyIHNvbHV0aW9uIGlzIHRvIHJlbW92 ZSBvbmUgb2YgdGhlIGVudW1zIG9yIHByb3ZpZGUgYW4gDQo+IGV4cGxpY2l0IGhlbHBlciB0aGF0 IGRvZXMgdGhlIGNvbnZlcnNpb24gKGFsb25nIHdpdGggYXNzZXJ0aW9ucyBmb3IgDQo+IGhhbmRs aW5nIGFueSB1bmV4cGVjdGVkIGNhc2VzKS4gVGhlIGhlbHBlciBmdW5jdGlvbiBzaG91bGQgbm90 IGJlIA0KPiBkb2luZyBhIGRpcmVjdCBjYXN0LCBzaW5jZSBhIGJ1ZyBjb3VsZCBjaGFuZ2UgdGhl IGludGVnZXIgdmFsdWUgb2Ygb25lIA0KPiAob3IgYm90aCkgb2YgdGhlc2UgZW51bXMgc28gdGhh dCB0aGV5IGRvbid0IG1hdGNoIHVwLg0KPiANCj4gVGhhbmtzLA0KPiBTdGV2ZQ0KPiANCg0KSW5k ZWVkLCBJIHdvdWxkIHN1Z2dlc3Qgc29tZXRoaW5nIGxpa2UgdGhpcyAoaWYgdGhpcyB3YXMgdG8g YmUgYSBidWlsZCB0aW1lIGVycm9yLCB0aGlzIHdvdWxkIG5lZWQgdG8gYmUgYSBtYWNybyBpbnN0 ZWFkIG9mIGEgZnVuY3Rpb24pOg0KDQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9h bWRncHUvYW1kZ3B1X3Jhcy5jIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X3Jh cy5jDQppbmRleCBhNzE2NjhiOGE3ZDAuLjQ1MTQ3OGNmNGYzNSAxMDA2NDQNCi0tLSBhL2RyaXZl cnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9yYXMuYw0KKysrIGIvZHJpdmVycy9ncHUvZHJt L2FtZC9hbWRncHUvYW1kZ3B1X3Jhcy5jDQpAQCAtNTQxLDEzICs1NDEsMTMgQEAgaW50IGFtZGdw dV9yYXNfZmVhdHVyZV9lbmFibGUoc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYsDQogDQogCWlm ICghZW5hYmxlKSB7DQogCQlpbmZvLmRpc2FibGVfZmVhdHVyZXMgPSAoc3RydWN0IHRhX3Jhc19k aXNhYmxlX2ZlYXR1cmVzX2lucHV0KSB7DQotCQkJLmJsb2NrX2lkID0gIGhlYWQtPmJsb2NrLA0K LQkJCS5lcnJvcl90eXBlID0gaGVhZC0+dHlwZSwNCisJCQkuYmxvY2tfaWQgPSAgYW1kZ3B1X3Jh c19ibG9ja190b190YShoZWFkLT5ibG9jayksDQorCQkJLmVycm9yX3R5cGUgPSBhbWRncHVfcmFz X2Vycm9yX3RvX3RhKGhlYWQtPnR5cGUpLA0KIAkJfTsNCiAJfSBlbHNlIHsNCiAJCWluZm8uZW5h YmxlX2ZlYXR1cmVzID0gKHN0cnVjdCB0YV9yYXNfZW5hYmxlX2ZlYXR1cmVzX2lucHV0KSB7DQot CQkJLmJsb2NrX2lkID0gIGhlYWQtPmJsb2NrLA0KLQkJCS5lcnJvcl90eXBlID0gaGVhZC0+dHlw ZSwNCisJCQkuYmxvY2tfaWQgPSAgYW1kZ3B1X3Jhc19ibG9ja190b190YShoZWFkLT5ibG9jayks DQorCQkJLmVycm9yX3R5cGUgPSBhbWRncHVfcmFzX2Vycm9yX3RvX3RhKGhlYWQtPnR5cGUpLA0K IAkJfTsNCiAJfQ0KIA0KQEAgLTY0Nyw4ICs2NDcsOCBAQCBpbnQgYW1kZ3B1X3Jhc19lcnJvcl9p bmplY3Qoc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYsICB7DQogCXN0cnVjdCByYXNfbWFuYWdl ciAqb2JqID0gYW1kZ3B1X3Jhc19maW5kX29iaihhZGV2LCAmaW5mby0+aGVhZCk7DQogCXN0cnVj dCB0YV9yYXNfdHJpZ2dlcl9lcnJvcl9pbnB1dCBibG9ja19pbmZvID0gew0KLQkJLmJsb2NrX2lk ID0gaW5mby0+aGVhZC5ibG9jaywNCi0JCS5pbmplY3RfZXJyb3JfdHlwZSA9IGluZm8tPmhlYWQu dHlwZSwNCisJCS5ibG9ja19pZCA9IGFtZGdwdV9yYXNfYmxvY2tfdG9fdGEoaW5mby0+aGVhZC5i bG9jayksDQorCQkuaW5qZWN0X2Vycm9yX3R5cGUgPSBhbWRncHVfcmFzX2Vycm9yX3RvX3RhKGlu Zm8tPmhlYWQudHlwZSksDQogCQkuc3ViX2Jsb2NrX2luZGV4ID0gaW5mby0+aGVhZC5zdWJfYmxv Y2tfaW5kZXgsDQogCQkuYWRkcmVzcyA9IGluZm8tPmFkZHJlc3MsDQogCQkudmFsdWUgPSBpbmZv LT52YWx1ZSwNCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVf cmFzLmggYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfcmFzLmgNCmluZGV4IDdh MzUzMTZiYWFiMC4uYzg1NzZhYjZlMDU3IDEwMDY0NA0KLS0tIGEvZHJpdmVycy9ncHUvZHJtL2Ft ZC9hbWRncHUvYW1kZ3B1X3Jhcy5oDQorKysgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9h bWRncHVfcmFzLmgNCkBAIC0xOTcsNiArMTk3LDY0IEBAIHN0YXRpYyBpbmxpbmUgaW50IGFtZGdw dV9yYXNfcmVzZXRfZ3B1KHN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2LA0KIAlyZXR1cm4gMDsN CiB9DQogDQorc3RhdGljIGlubGluZSBlbnVtIHRhX3Jhc19ibG9jaw0KK2FtZGdwdV9yYXNfYmxv Y2tfdG9fdGEoZW51bSBhbWRncHVfcmFzX2Jsb2NrIGJsb2NrKSB7DQorCXN3aXRjaCAoYmxvY2sp IHsNCisJY2FzZSBBTURHUFVfUkFTX0JMT0NLX19VTUM6DQorCQlyZXR1cm4gVEFfUkFTX0JMT0NL X19VTUM7DQorCWNhc2UgQU1ER1BVX1JBU19CTE9DS19fU0RNQToNCisJCXJldHVybiBUQV9SQVNf QkxPQ0tfX1NETUE7DQorCWNhc2UgQU1ER1BVX1JBU19CTE9DS19fR0ZYOg0KKwkJcmV0dXJuIFRB X1JBU19CTE9DS19fR0ZYOw0KKwljYXNlIEFNREdQVV9SQVNfQkxPQ0tfX01NSFVCOg0KKwkJcmV0 dXJuIFRBX1JBU19CTE9DS19fTU1IVUI7DQorCWNhc2UgQU1ER1BVX1JBU19CTE9DS19fQVRIVUI6 DQorCQlyZXR1cm4gVEFfUkFTX0JMT0NLX19BVEhVQjsNCisJY2FzZSBBTURHUFVfUkFTX0JMT0NL X19QQ0lFX0JJRjoNCisJCXJldHVybiBUQV9SQVNfQkxPQ0tfX1BDSUVfQklGOw0KKwljYXNlIEFN REdQVV9SQVNfQkxPQ0tfX0hEUDoNCisJCXJldHVybiBUQV9SQVNfQkxPQ0tfX0hEUDsNCisJY2Fz ZSBBTURHUFVfUkFTX0JMT0NLX19YR01JX1dBRkw6DQorCQlyZXR1cm4gVEFfUkFTX0JMT0NLX19Y R01JX1dBRkw7DQorCWNhc2UgQU1ER1BVX1JBU19CTE9DS19fREY6DQorCQlyZXR1cm4gVEFfUkFT X0JMT0NLX19ERjsNCisJY2FzZSBBTURHUFVfUkFTX0JMT0NLX19TTU46DQorCQlyZXR1cm4gVEFf UkFTX0JMT0NLX19TTU47DQorCWNhc2UgQU1ER1BVX1JBU19CTE9DS19fU0VNOg0KKwkJcmV0dXJu IFRBX1JBU19CTE9DS19fU0VNOw0KKwljYXNlIEFNREdQVV9SQVNfQkxPQ0tfX01QMDoNCisJCXJl dHVybiBUQV9SQVNfQkxPQ0tfX01QMDsNCisJY2FzZSBBTURHUFVfUkFTX0JMT0NLX19NUDE6DQor CQlyZXR1cm4gVEFfUkFTX0JMT0NLX19NUDE7DQorCWNhc2UgQU1ER1BVX1JBU19CTE9DS19fRlVT RToNCisJCXJldHVybiBUQV9SQVNfQkxPQ0tfX0ZVU0U7DQorCWRlZmF1bHQ6DQorCQlXQVJOKDEs ICJhbWRncHVfcmFzX2Jsb2NrX3RvX3RhIGZlbGwgdGhyb3VnaCB3aXRoIGEgdmFsdWUgb2YgJWRc biIsIGJsb2NrKTsNCisJCXJldHVybiBUQV9SQVNfQkxPQ0tfX1VNQzsNCisJfQ0KK30NCisNCitz dGF0aWMgaW5saW5lIGVudW0gdGFfcmFzX2Vycm9yX3R5cGUNCithbWRncHVfcmFzX2Vycm9yX3Rv X3RhKGVudW0gYW1kZ3B1X3Jhc19lcnJvcl90eXBlIGVycm9yKSB7DQorCXN3aXRjaCAoZXJyb3Ip IHsNCisJY2FzZSBBTURHUFVfUkFTX0VSUk9SX19OT05FOg0KKwkJcmV0dXJuIFRBX1JBU19FUlJP Ul9fTk9ORTsNCisJY2FzZSBBTURHUFVfUkFTX0VSUk9SX19QQVJJVFk6DQorCQlyZXR1cm4gVEFf UkFTX0VSUk9SX19QQVJJVFk7DQorCWNhc2UgQU1ER1BVX1JBU19FUlJPUl9fU0lOR0xFX0NPUlJF Q1RBQkxFOg0KKwkJcmV0dXJuIFRBX1JBU19FUlJPUl9fU0lOR0xFX0NPUlJFQ1RBQkxFOw0KKwlj YXNlIEFNREdQVV9SQVNfRVJST1JfX01VTFRJX1VOQ09SUkVDVEFCTEU6DQorCQlyZXR1cm4gVEFf UkFTX0VSUk9SX19NVUxUSV9VTkNPUlJFQ1RBQkxFOw0KKwljYXNlIEFNREdQVV9SQVNfRVJST1Jf X1BPSVNPTjoNCisJCXJldHVybiBUQV9SQVNfRVJST1JfX1BPSVNPTjsNCisJZGVmYXVsdDoNCisJ CVdBUk4oMSwgImFtZGdwdV9yYXNfZXJyb3JfdG9fdGEgZmVsbCB0aHJvdWdoIHdpdGggYSB2YWx1 ZSBvZiAlZFxuIiwgZXJyb3IpOw0KKwkJcmV0dXJuIFRBX1JBU19FUlJPUl9fTk9ORTsNCisJfQ0K K30NCisNCiAvKiBjYWxsZWQgaW4gaXBfaW5pdCBhbmQgaXBfZmluaSAqLw0KIGludCBhbWRncHVf cmFzX2luaXQoc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYpOyAgdm9pZCBhbWRncHVfcmFzX3Bv c3RfaW5pdChzdHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRldik7DQoNCj4gT24gV2VkLCBNYXIgMjAs IDIwMTkgYXQgMjozNyBBTSBLb2VuaWcsIENocmlzdGlhbiANCj4gPENocmlzdGlhbi5Lb2VuaWdA YW1kLmNvbT4NCj4gd3JvdGU6DQo+IA0KPiA+IEFtIDIwLjAzLjE5IHVtIDA1OjM0IHNjaHJpZWIg TmF0aGFuIENoYW5jZWxsb3I6DQo+ID4gPiBPbiBXZWQsIE1hciAyMCwgMjAxOSBhdCAwMTozMToy N0FNICswMDAwLCBQYW4sIFhpbmh1aSB3cm90ZToNCj4gPiA+PiB0aGVzZSB0d28gZW51bWVyYXRl ZCB0eXBlcyBhcmUgc2FtZSBmb3Igbm93LiBib3RoIG9mIHRoZW0gbWlnaHQgDQo+ID4gPj4gY2hh bmdlDQo+ID4gaW4gdGhlIGZ1dHVyZS4NCj4gPiA+Pg0KPiA+ID4+IEkgaGF2ZSBub3QgdXNlZCBj bGFuZywgYnV0IHdvdWxkICAuYmxvY2tfaWQgPSAgKGludCloZWFkLT5ibG9jayANCj4gPiA+PiBm aXgNCj4gPiB5b3VyIHdhcm5pbmc/IElmIHN1Y2ggY2hhbmdlIGlzIGFjY2VwdGFibGUsIEkgY2Fu IG1ha2Ugb25lIHRoZW4uDQo+ID4gPj4NCj4gPiA+PiBUaGFua3MNCj4gPiA+PiB4aW5odWkNCj4g PiA+Pg0KPiA+ID4+DQo+ID4gPj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gPiA+PiBG cm9tOiBOYXRoYW4gQ2hhbmNlbGxvciA8bmF0ZWNoYW5jZWxsb3JAZ21haWwuY29tPg0KPiA+ID4+ IFNlbnQ6IDIwMTnlubQz5pyIMjDml6UgODo1NA0KPiA+ID4+IFRvOiBEZXVjaGVyLCBBbGV4YW5k ZXIgPEFsZXhhbmRlci5EZXVjaGVyQGFtZC5jb20+OyBLb2VuaWcsIA0KPiA+ID4+IENocmlzdGlh biA8DQo+ID4gQ2hyaXN0aWFuLktvZW5pZ0BhbWQuY29tPjsgWmhvdSwgRGF2aWQoQ2h1bk1pbmcp IA0KPiA+IDxEYXZpZDEuWmhvdUBhbWQuY29tPjsgUGFuLCBYaW5odWkgPFhpbmh1aS5QYW5AYW1k LmNvbT4NCj4gPiA+PiBDYzogYW1kLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmc7IA0KPiA+ID4+ IGRyaS1kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5vcmc7DQo+ID4gbGludXgta2VybmVsQHZnZXIu a2VybmVsLm9yZzsgY2xhbmctYnVpbHQtbGludXhAZ29vZ2xlZ3JvdXBzLmNvbQ0KPiA+ID4+IFN1 YmplY3Q6IENsYW5nIHdhcm5pbmcgaW4gZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1 X3Jhcy5jDQo+ID4gPj4NCj4gPiA+PiBIaSBhbGwsDQo+ID4gPj4NCj4gPiA+PiBUaGUgaW50cm9k dWN0aW9uIG9mIHRoaXMgZmlsZSBpbiBjb21taXQgZGJkMjQ5YzI0NDI3IA0KPiA+ID4+ICgiZHJt L2FtZGdwdTogYWRkDQo+ID4gYW1kZ3B1X3Jhcy5jIHRvIHN1cHBvcnQgcmFzICh2MikiKSBpbnRy b2R1Y2VzIHRoZSBmb2xsb3dpbmcgQ2xhbmcNCj4gPiA+PiB3YXJuaW5nczoNCj4gPiA+Pg0KPiA+ ID4+IGRyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9yYXMuYzo1NDQ6MjM6IHdhcm5p bmc6IGltcGxpY2l0DQo+ID4gY29udmVyc2lvbiBmcm9tIGVudW1lcmF0aW9uIHR5cGUgJ2VudW0g YW1kZ3B1X3Jhc19ibG9jaycgdG8gDQo+ID4gZGlmZmVyZW50IGVudW1lcmF0aW9uIHR5cGUgJ2Vu dW0gdGFfcmFzX2Jsb2NrJyBbLVdlbnVtLWNvbnZlcnNpb25dDQo+ID4gPj4gICAgICAgICAgICAg ICAgICAgICAgICAgIC5ibG9ja19pZCA9ICBoZWFkLT5ibG9jaywNCj4gPiA+PiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIH5+fn5+fl5+fn5+DQo+ID4gPj4gZHJpdmVycy9n cHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X3Jhcy5jOjU0NToyNDogd2FybmluZzogaW1wbGljaXQN Cj4gPiBjb252ZXJzaW9uIGZyb20gZW51bWVyYXRpb24gdHlwZSAnZW51bSBhbWRncHVfcmFzX2Vy cm9yX3R5cGUnIHRvIA0KPiA+IGRpZmZlcmVudCBlbnVtZXJhdGlvbiB0eXBlICdlbnVtIHRhX3Jh c19lcnJvcl90eXBlJyANCj4gPiBbLVdlbnVtLWNvbnZlcnNpb25dDQo+ID4gPj4gICAgICAgICAg ICAgICAgICAgICAgICAgIC5lcnJvcl90eXBlID0gaGVhZC0+dHlwZSwNCj4gPiA+PiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB+fn5+fn5efn5+DQo+ID4gPj4gZHJpdmVy cy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X3Jhcy5jOjU0OToyMzogd2FybmluZzogaW1wbGlj aXQNCj4gPiBjb252ZXJzaW9uIGZyb20gZW51bWVyYXRpb24gdHlwZSAnZW51bSBhbWRncHVfcmFz X2Jsb2NrJyB0byANCj4gPiBkaWZmZXJlbnQgZW51bWVyYXRpb24gdHlwZSAnZW51bSB0YV9yYXNf YmxvY2snIFstV2VudW0tY29udmVyc2lvbl0NCj4gPiA+PiAgICAgICAgICAgICAgICAgICAgICAg ICAgLmJsb2NrX2lkID0gIGhlYWQtPmJsb2NrLA0KPiA+ID4+ICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgfn5+fn5+Xn5+fn4NCj4gPiA+PiBkcml2ZXJzL2dwdS9kcm0vYW1k L2FtZGdwdS9hbWRncHVfcmFzLmM6NTUwOjI0OiB3YXJuaW5nOiBpbXBsaWNpdA0KPiA+IGNvbnZl cnNpb24gZnJvbSBlbnVtZXJhdGlvbiB0eXBlICdlbnVtIGFtZGdwdV9yYXNfZXJyb3JfdHlwZScg dG8gDQo+ID4gZGlmZmVyZW50IGVudW1lcmF0aW9uIHR5cGUgJ2VudW0gdGFfcmFzX2Vycm9yX3R5 cGUnIA0KPiA+IFstV2VudW0tY29udmVyc2lvbl0NCj4gPiA+PiAgICAgICAgICAgICAgICAgICAg ICAgICAgLmVycm9yX3R5cGUgPSBoZWFkLT50eXBlLA0KPiA+ID4+ICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIH5+fn5+fl5+fn4NCj4gPiA+PiBkcml2ZXJzL2dwdS9kcm0v YW1kL2FtZGdwdS9hbWRncHVfcmFzLmM6NjUwOjI2OiB3YXJuaW5nOiBpbXBsaWNpdA0KPiA+IGNv bnZlcnNpb24gZnJvbSBlbnVtZXJhdGlvbiB0eXBlICdlbnVtIGFtZGdwdV9yYXNfYmxvY2snIHRv IA0KPiA+IGRpZmZlcmVudCBlbnVtZXJhdGlvbiB0eXBlICdlbnVtIHRhX3Jhc19ibG9jaycgWy1X ZW51bS1jb252ZXJzaW9uXQ0KPiA+ID4+ICAgICAgICAgICAgICAgICAgLmJsb2NrX2lkID0gaW5m by0+aGVhZC5ibG9jaywNCj4gPiA+PiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH5+fn5+ fn5+fn5+Xn5+fn4NCj4gPiA+PiBkcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfcmFz LmM6NjUxOjM1OiB3YXJuaW5nOiBpbXBsaWNpdA0KPiA+IGNvbnZlcnNpb24gZnJvbSBlbnVtZXJh dGlvbiB0eXBlICdlbnVtIGFtZGdwdV9yYXNfZXJyb3JfdHlwZScgdG8gDQo+ID4gZGlmZmVyZW50 IGVudW1lcmF0aW9uIHR5cGUgJ2VudW0gdGFfcmFzX2Vycm9yX3R5cGUnIA0KPiA+IFstV2VudW0t Y29udmVyc2lvbl0NCj4gPiA+PiAgICAgICAgICAgICAgICAgIC5pbmplY3RfZXJyb3JfdHlwZSA9 IGluZm8tPmhlYWQudHlwZSwNCj4gPiA+PiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIH5+fn5+fn5+fn5+Xn5+fg0KPiA+ID4+IDYgd2FybmluZ3MgZ2VuZXJhdGVkLg0KPiA+ ID4+DQo+ID4gPj4gTm9ybWFsbHksIEkgd291bGQgc2VudCBhIGZpeCBmb3IgdGhpcyBteXNlbGYg YnV0IEkgYW0gbm90IA0KPiA+ID4+IGVudGlyZWx5IHN1cmUNCj4gPiB3aHkgdGhlc2UgdHdvIGVu dW1lcmF0ZWQgdHlwZXMgZXhpc3Qgd2hlbiBvbmUgd291bGQgZG8gc2luY2UgdGhleSANCj4gPiBo YXZlIHRoZSBzYW1lIHZhbHVlcyBtaW51cyB0aGUgcHJlZml4LiBJbiBmYWN0LCB0aGUgDQo+ID4g dGFfcmFzX3tibG9jayxlcnJvcl90eXBlfSB2YWx1ZXMgYXJlIG5ldmVyIHVzZWQgYXNpZGUgZnJv bSBiZWluZyANCj4gPiBkZWZpbmVkLiBTb21lIGNsYXJpZmljYXRpb24gd291bGQgYmUgYXBwcmVj aWF0ZWQuDQo+ID4gPj4NCj4gPiA+PiBUaGFuayB5b3UsDQo+ID4gPj4gTmF0aGFuDQo+ID4gPiBI aSBYaW5odWksDQo+ID4gPg0KPiA+ID4gWWVzLCBleHBsaWNpdGx5IGNhc3RpbmcgdGhlc2Ugc2l4 IHNwb3RzIHRvIGludCB3b3VsZCByZXNvbHZlIHRoaXMgDQo+ID4gPiB3YXJuaW5nLg0KPiA+DQo+ ID4gQW5vdGhlciBxdWVzdGlvbiBpcyBpZiBpdCBpcyBzdWNoIGEgZ29vZCBpZGVhIHRvIGp1c3Qg c2lsZW5jZSB0aGUgd2FybmluZz8NCj4gPg0KPiA+IE1heWJlIGFkZCBhIGFtZGdwdV9yYXNfZXJy b3JfdG9fdGEoKSBoZWxwZXIgdG8gZG8gdGhpcyBjYXN0aW5nPw0KPiA+DQo+ID4gV2hlbiB0aGUg ZW51bXMgZHJpZnQgYXdheSBmcm9tIGVhY2ggb3RoZXIgdGhlbiB3ZSBjYW4gc3RpbGwgYWRkIA0K PiA+IHdhcm5pbmdzIHRvIHRoYXQgaGVscGVyIHRvIG1ha2Ugc3VyZSB3ZSBkb24ndCBhY2NpZGVu dGFsbHkgY2FzdCANCj4gPiBpbnZhbGlkIHZhbHVlcyBhcm91bmQuDQo+ID4NCj4gPiBSZWdhcmRz LA0KPiA+IENocmlzdGlhbi4NCj4gPg0KPiA+ID4NCj4gPiA+IFRoYW5rIHlvdSBmb3IgdGhlIHF1 aWNrIHJlc3BvbnNlIQ0KPiA+ID4gTmF0aGFuDQo+ID4NCj4gPiAtLQ0KPiA+IFlvdSByZWNlaXZl ZCB0aGlzIG1lc3NhZ2UgYmVjYXVzZSB5b3UgYXJlIHN1YnNjcmliZWQgdG8gdGhlIEdvb2dsZSAN Cj4gPiBHcm91cHMgIkNsYW5nIEJ1aWx0IExpbnV4IiBncm91cC4NCj4gPiBUbyB1bnN1YnNjcmli ZSBmcm9tIHRoaXMgZ3JvdXAgYW5kIHN0b3AgcmVjZWl2aW5nIGVtYWlscyBmcm9tIGl0LCANCj4g PiBzZW5kIGFuIGVtYWlsIHRvIGNsYW5nLWJ1aWx0LWxpbnV4K3Vuc3Vic2NyaWJlQGdvb2dsZWdy b3Vwcy5jb20uDQo+ID4gVG8gcG9zdCB0byB0aGlzIGdyb3VwLCBzZW5kIGVtYWlsIHRvIGNsYW5n LWJ1aWx0LWxpbnV4QGdvb2dsZWdyb3Vwcy5jb20uDQo+ID4gVG8gdmlldyB0aGlzIGRpc2N1c3Np b24gb24gdGhlIHdlYiB2aXNpdCANCj4gPiBodHRwczovL2dyb3Vwcy5nb29nbGUuY29tL2QvbXNn aWQvY2xhbmctYnVpbHQtbGludXgvNjM1MThmMWYtYjgwOC03Nw0KPiA+IGIwLWFhYzYtZWUxZWNl NjY5YzRiJTQwYW1kLmNvbQ0KPiA+IC4NCj4gPiBGb3IgbW9yZSBvcHRpb25zLCB2aXNpdCBodHRw czovL2dyb3Vwcy5nb29nbGUuY29tL2Qvb3B0b3V0Lg0KPiA+DQo=