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=-12.9 required=3.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI, MSGID_FROM_MTA_HEADER,NICE_REPLY_A,SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS, URIBL_BLOCKED,USER_AGENT_SANE_1 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 3E626C43464 for ; Fri, 18 Sep 2020 13:51:30 +0000 (UTC) Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id CB830206D9 for ; Fri, 18 Sep 2020 13:51:29 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=fail reason="signature verification failed" (1024-bit key) header.d=amdcloud.onmicrosoft.com header.i=@amdcloud.onmicrosoft.com header.b="wQNCYWST" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org CB830206D9 Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=amd.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=amd-gfx-bounces@lists.freedesktop.org Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 3E20C6E13C; Fri, 18 Sep 2020 13:51:29 +0000 (UTC) Received: from NAM11-DM6-obe.outbound.protection.outlook.com (mail-dm6nam11on2074.outbound.protection.outlook.com [40.107.223.74]) by gabe.freedesktop.org (Postfix) with ESMTPS id 3B4126E13C for ; Fri, 18 Sep 2020 13:51:27 +0000 (UTC) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=iRMhxycjeQsdCh/Ypg0Iz/dIuDr+wekEoqQ/jB8Gu9L4URzTNQZDEouRyrw7GsNcAmE726H/dhkwxfSZrOEZpFcYS/cVq9fEEaAsWlnZRr/hl7ZGHSvSzqc5fiwPD2fUeA2j0Quj/DzSU5tjFi4+ZlBb7m89yse0Sm6pSyrwbXQ8oO4ejQe1NeQ3sCDV5L/ff6cHvvLz2U0X7i4kV8fp/x/9sOTfMoQ59rMRYcuBPvFWCtQmgy4Jdp+03sDzJDpSRQ58aZ4ynwxol39D+bsnfqn31hsm+25NBgClBnpt763tdSipb7VJLaq+/HDQAwmbrLNWxj2LPYUvc/gkpz2S0g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=3qComGAX8HmR/Q7dDSs/SJ5R2O+lqP0DYZH//rQZjIU=; b=jgzKZNZfTgCoFLjE+MA7X4/xFoAQD/6XranVHK8cRoomDInysVyJ4wiDC+w1Yv8OgmEUG7m+DBQ3Y8Zk2SfEOBuwKbKGbhHWJr6tQ2xqisMCZFMMsur3ACZEMOupzxoP2L2wZULzGC+yLmodaRKrWVBEVNZm5MMqs57Ht51a6EIHbPDGWCpJh8BhxzlFotZtdnt1T9Zi4575zGHr0A5jdCBVtob2KCUzCE4NIyHMez+s/mo9vHiboQ8IUwCLHTW1YOj/tsP7qESse/U/HhtoUXhxSargpyTKf+h+VQy5ksync1OUXZKJJ8QnCbouDql/3nVhMXiGaMCnGC9IoXx1MQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=amd.com; dmarc=pass action=none header.from=amd.com; dkim=pass header.d=amd.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amdcloud.onmicrosoft.com; s=selector2-amdcloud-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=3qComGAX8HmR/Q7dDSs/SJ5R2O+lqP0DYZH//rQZjIU=; b=wQNCYWSTo0M9dae59SjyZa2GdD/BWnTgxVAw01yzcT5tkJ7F4Q9jZZ9k8uuWh3llT4BaLIsBxCJUFc47Lu7ZmXzqSGYMOF2ENS5o122PGSKV9uvxqz5CfgZu9KNfN5JSft2Il1A1mwjJybt5fLYo5pN7UN9FyxMNY+XNsxH6YEk= Authentication-Results: amd.com; dkim=none (message not signed) header.d=none;amd.com; dmarc=none action=none header.from=amd.com; Received: from MN2PR12MB3775.namprd12.prod.outlook.com (2603:10b6:208:159::19) by MN2PR12MB4142.namprd12.prod.outlook.com (2603:10b6:208:1dd::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3391.11; Fri, 18 Sep 2020 13:51:23 +0000 Received: from MN2PR12MB3775.namprd12.prod.outlook.com ([fe80::f8f7:7403:1c92:3a60]) by MN2PR12MB3775.namprd12.prod.outlook.com ([fe80::f8f7:7403:1c92:3a60%6]) with mapi id 15.20.3391.014; Fri, 18 Sep 2020 13:51:23 +0000 Subject: Re: [PATCH 3/3] drm/amdgpu: support indirect access reg outside of mmio bar (v2) To: "Russell, Kent" , "Zhang, Hawking" , "amd-gfx@lists.freedesktop.org" , "Deucher, Alexander" , "Wang, Kevin(Yang)" , "Chen, Guchun" References: <1600422710-27228-1-git-send-email-Hawking.Zhang@amd.com> <1600422710-27228-3-git-send-email-Hawking.Zhang@amd.com> <5117d8d3-833f-82a0-92cd-407e7d154750@gmail.com> From: =?UTF-8?Q?Christian_K=c3=b6nig?= Message-ID: Date: Fri, 18 Sep 2020 15:51:18 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.10.0 In-Reply-To: Content-Language: en-US X-ClientProxiedBy: AM0PR04CA0036.eurprd04.prod.outlook.com (2603:10a6:208:122::49) To MN2PR12MB3775.namprd12.prod.outlook.com (2603:10b6:208:159::19) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from [IPv6:2a02:908:1252:fb60:be8a:bd56:1f94:86e7] (2a02:908:1252:fb60:be8a:bd56:1f94:86e7) by AM0PR04CA0036.eurprd04.prod.outlook.com (2603:10a6:208:122::49) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3391.13 via Frontend Transport; Fri, 18 Sep 2020 13:51:22 +0000 X-Originating-IP: [2a02:908:1252:fb60:be8a:bd56:1f94:86e7] X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-HT: Tenant X-MS-Office365-Filtering-Correlation-Id: b8d1ba82-6618-4a75-5cd3-08d85bd9eddd X-MS-TrafficTypeDiagnostic: MN2PR12MB4142: X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:5236; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 9zHHWWJ4L1niD6dvbh4GEvb7mA6k1gL0vNfaxcOlx71ogKgJBLM0oUvD+hnOFx2oY1gCTWo03kfBKWR6d8UKgX/B/e0q29maCBmi/kApFBicj1A0VtuC3X9UvnjSoQYNZPd7cvZpSVEuWjFtAXeLARXzlR0ZDuNvppxhg0FswoR1Obi3RCIsMqHFiXbKeunEJ0ixBlgmeK3CcAMj9L5VDu78FLr7fl3HUhhQ0bm+FKWaFoNtbZ9s/3nDw5johKSAqGJ6lRvGwud8+JVHOk30dBM2wp1r0FNb3XJ63gChEqLKURnw/5I+bEpg2zorpmJTglpoiHvPVTeDyi/FTBHAWea/c0ftRvxDu7qVws1w1Q3vNMaCwBqj/PtkAPlnJfedW/61jHPoTER8rlCoDZAxHui1ERJvWiNw/Wm0A2u52Bt1XF4z0VN65pfH1ar9+qkwt8/eekQURwaP8hyZDo8XBLiWGceKjy7VUPZn2UCTBJU= X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:MN2PR12MB3775.namprd12.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(136003)(366004)(346002)(376002)(396003)(39860400002)(8936002)(186003)(5660300002)(16526019)(966005)(36756003)(30864003)(52116002)(66946007)(31696002)(316002)(86362001)(53546011)(2906002)(45080400002)(478600001)(6486002)(110136005)(8676002)(83380400001)(66574015)(6636002)(2616005)(66556008)(66476007)(6666004)(31686004)(921003)(43740500002); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData: F3PaItqPiXOuNYilg4R3hYwS+6d4P3DKG8SdKeeXixV7eclrOenwVu/Tf00vFYGLhO6uzHdquv7XyyT5y78Zi8qkmBK6iQUr5MT2tTWq9G5mZwWx4Tgih4X2c1qQSeVnzfHBVkjRReUbn5e/+DBDovoA5HBgIPiG6k03bdiib5zK8yRLgwcOe+h3s2XdeafN4/JDRFqVrhtUFrSh3NlwpCCMpWz8J0QLQO2nlDmG5d9Is1n2jNRwE+HieMXg8zHX50/pb9CrmqhupVl8WBcRow6hEHvdYEQdPbghl0oOO5fbw7W50lpFz2DDqfLDSAY+/m2DiUNkCO5usCtWDogbNydyxC04ZvgyLfZmaNPiDweDFxF1gJ/BWRhvr2ayCZ/x9tLhii20tVsjgRX4rqO/4p46HuXQS2GRlwo7D8edIOEN7jHKknk+OM+1pufAGwSEtL4Z1B3BxKl/I8X3f7RcalO16bcWrCFE7QbOgbqgFuZCylphk+FPox8xWZpErNnTXxuM5bDF69bejVrL5jNhdx7g1pezTcv405nAfvvhysICMBXIleDrJzi/qwYwiZpipML9i8gvtFsy+U1bd2BPqOsqQXUYgyPMKnWvWpymyBeoZSa6r+bPyunaFb0yolnmkXwqmglFujG6UZXA/WAEqi/067225ZzYV31zCg0T0y2sj6Wu2e1qH2JaD8L5uJ4F9CosylzqwmjL024yXbR4hw== X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-Network-Message-Id: b8d1ba82-6618-4a75-5cd3-08d85bd9eddd X-MS-Exchange-CrossTenant-AuthSource: MN2PR12MB3775.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 18 Sep 2020 13:51:23.6889 (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: pNl6nsPFIryPpHao0wy199m9MbaKZo8K+qV0yEPREtBfbc308gGPNfYgNAsqi74f X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR12MB4142 X-BeenThere: amd-gfx@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Discussion list for AMD gfx List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Transfer-Encoding: base64 Content-Type: text/plain; charset="utf-8"; Format="flowed" Errors-To: amd-gfx-bounces@lists.freedesktop.org Sender: "amd-gfx" WW91IGNvbW1lbnQgd2FzIGNsZWFyIGVub3VnaCwgSSBqdXN0IHdhbnRlZCB0byBleHBsYWluIGl0 IGlubGluZSBpbnN0ZWFkIApvZiByZWZlcmVuY2luZyB0aGUgZG9jdW1lbnRhdGlvbiA6KQoKQ2hy aXN0aWFuLgoKCkFtIDE4LjA5LjIwIHVtIDE1OjMyIHNjaHJpZWIgUnVzc2VsbCwgS2VudDoKPiBb QU1EIFB1YmxpYyBVc2VdCj4KPiBUaGFua3MgZm9yIGNsYXJpZnlpbmcgbXkgYW1iaWd1aXR5LCBD aHJpc3RpYW4uIEFuZCBmb3Igc2FuaXR5LCBJIGp1c3QgcmFuIGNoZWNrcGF0Y2ggb24gYSBsb2Nh bCBmaWxlIHdpdGggYW4gIn0gZWxzZSIgYW5kIGl0IGNhbWUgdXAgYXMgd2FybmluZy9lcnJvci1m cmVlLiBQZWN1bGlhci4KPgo+ICAgS2VudAo+Cj4+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0t Cj4+IEZyb206IEtvZW5pZywgQ2hyaXN0aWFuIDxDaHJpc3RpYW4uS29lbmlnQGFtZC5jb20+Cj4+ IFNlbnQ6IEZyaWRheSwgU2VwdGVtYmVyIDE4LCAyMDIwIDg6MTcgQU0KPj4gVG86IFJ1c3NlbGws IEtlbnQgPEtlbnQuUnVzc2VsbEBhbWQuY29tPjsgWmhhbmcsIEhhd2tpbmcgPEhhd2tpbmcuWmhh bmdAYW1kLmNvbT47Cj4+IGFtZC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnOyBEZXVjaGVyLCBB bGV4YW5kZXIgPEFsZXhhbmRlci5EZXVjaGVyQGFtZC5jb20+Owo+PiBXYW5nLCBLZXZpbihZYW5n KSA8S2V2aW4xLldhbmdAYW1kLmNvbT47IENoZW4sIEd1Y2h1biA8R3VjaHVuLkNoZW5AYW1kLmNv bT4KPj4gU3ViamVjdDogUmU6IFtQQVRDSCAzLzNdIGRybS9hbWRncHU6IHN1cHBvcnQgaW5kaXJl Y3QgYWNjZXNzIHJlZyBvdXRzaWRlIG9mIG1taW8gYmFyICh2MikKPj4KPj4gVG8gYmUgbW9yZSBw cmVjaXNlIHlvdSBjYW4gZWl0aGVyIHVzZSAiZWxzZSIgb3IgIn0gZWxzZSB7IiwgYnV0IGRvbid0 Cj4+IHVzZSAifSBlbHNlIiBvciAiZWxzZSB7Ii4KPj4KPj4gSW50ZXJlc3RpbmcgdGhhdCBjaGVj a3BhdGNoLnBsIGRvZXNuJ3QgY29tcGxhaW4sIEkgdGhvdWdodCB0aGF0IHRoaXMKPj4gd291bGQg YmUgY2hlY2tlZC4KPj4KPj4gUmVnYXJkcywKPj4gQ2hyaXN0aWFuLgo+Pgo+PiBBbSAxOC4wOS4y MCB1bSAxNDoxMiBzY2hyaWViIFJ1c3NlbGwsIEtlbnQ6Cj4+PiBbQU1EIFB1YmxpYyBVc2VdCj4+ Pgo+Pj4gSXQncyBwcmVmZXJyZWQgdG8gaGF2ZSBicmFjZXMgaWYgdGhlIGVsc2UgaGFzIGEgc2lu Z2xlIGxpbmU6Cj4+PiBodHRwczovL3d3dy5rZXJuZWwub3JnL2RvYy9odG1sL3Y0LjEwL3Byb2Nl c3MvY29kaW5nLXN0eWxlLmh0bWwjcGxhY2luZy1icmFjZXMtYW5kLQo+PiBzcGFjZXMKPj4+IFJp Z2h0IGFib3ZlICIzLjEpIFNwYWNlcyIKPj4+Cj4+PiAgICBLZW50Cj4+Pgo+Pj4+IC0tLS0tT3Jp Z2luYWwgTWVzc2FnZS0tLS0tCj4+Pj4gRnJvbTogYW1kLWdmeCA8YW1kLWdmeC1ib3VuY2VzQGxp c3RzLmZyZWVkZXNrdG9wLm9yZz4gT24gQmVoYWxmIE9mIFpoYW5nLCBIYXdraW5nCj4+Pj4gU2Vu dDogRnJpZGF5LCBTZXB0ZW1iZXIgMTgsIDIwMjAgODowNyBBTQo+Pj4+IFRvOiBLb2VuaWcsIENo cmlzdGlhbiA8Q2hyaXN0aWFuLktvZW5pZ0BhbWQuY29tPjsgYW1kLWdmeEBsaXN0cy5mcmVlZGVz a3RvcC5vcmc7Cj4+Pj4gRGV1Y2hlciwgQWxleGFuZGVyIDxBbGV4YW5kZXIuRGV1Y2hlckBhbWQu Y29tPjsgV2FuZywgS2V2aW4oWWFuZykKPj4+PiA8S2V2aW4xLldhbmdAYW1kLmNvbT47IENoZW4s IEd1Y2h1biA8R3VjaHVuLkNoZW5AYW1kLmNvbT4KPj4+PiBTdWJqZWN0OiBSRTogW1BBVENIIDMv M10gZHJtL2FtZGdwdTogc3VwcG9ydCBpbmRpcmVjdCBhY2Nlc3MgcmVnIG91dHNpZGUgb2YgbW1p byBiYXIKPj4gKHYyKQo+Pj4+IFtBTUQgUHVibGljIFVzZV0KPj4+Pgo+Pj4+PiArCX0gZWxzZQo+ Pj4+IFJFIC0gVGhpcyBzaG91bGQgdXNlICJ9IGVsc2UgeyIuIEFwYXJ0IGZyb20gdGhhdCBsb29r cyBnb29kIHRvIG1lLgo+Pj4+Cj4+Pj4gSGkgQ2hyaXMsCj4+Pj4KPj4+PiBTaW5jZSB0aGVyZSBp cyBvbmx5IG9uZSBsaW5lIHVuZGVyICJlbHNlIiwgSSBkcm9wcGVkIHRoZSAie30iLiBJIHRob3Vn aHQgdGhhdCBpcyBva2F5IGluCj4+IGN1cnJlbnQKPj4+PiBrZXJuZWwgY29kaW5nIHN0eWxlIGFu ZCBjaGVja3BhdGNoLnBsIGFsc28gc2hvd3Mgbm8gY29tcGxhaW4uCj4+Pj4KPj4+PiBTbyB5b3Ug bWVhbiB5b3Ugd2FudCB0aGUgY29kZSB0byBiZSB0aGUgZm9sbG93aW5nPwo+Pj4+Cj4+Pj4gfSBl bHNlIHsKPj4+PiAgICAgICAgICAgICAgICAgICByZXQgPSBhZGV2LT5wY2llX3JyZWcoYWRldiwg cmVnICogNCk7Cj4+Pj4gfQo+Pj4+Cj4+Pj4gSSBjYW4gbWFrZSB0aGUgY2hhbmdlIGFueXdheS4g RG9lcyB0aGF0IG1lYW4gSSBjYW4gZ2V0IHlvdXIgUkIgd2l0aCBjb2Rpbmcgc3R5bGUKPj4gY2hh bmdlCj4+Pj4gZm9yIHRoZSBzZXJpZXM/Cj4+Pj4KPj4+PiBSZWdhcmRzLAo+Pj4+IEhhd2tpbmcK Pj4+Pgo+Pj4+Cj4+Pj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0KPj4+PiBGcm9tOiBDaHJp c3RpYW4gS8O2bmlnIDxja29lbmlnLmxlaWNodHp1bWVya2VuQGdtYWlsLmNvbT4KPj4+PiBTZW50 OiBGcmlkYXksIFNlcHRlbWJlciAxOCwgMjAyMCAxOToyNwo+Pj4+IFRvOiBaaGFuZywgSGF3a2lu ZyA8SGF3a2luZy5aaGFuZ0BhbWQuY29tPjsgYW1kLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmc7 Cj4+IERldWNoZXIsCj4+Pj4gQWxleGFuZGVyIDxBbGV4YW5kZXIuRGV1Y2hlckBhbWQuY29tPjsg V2FuZywgS2V2aW4oWWFuZykKPj4+PiA8S2V2aW4xLldhbmdAYW1kLmNvbT47IEtvZW5pZywgQ2hy aXN0aWFuIDxDaHJpc3RpYW4uS29lbmlnQGFtZC5jb20+OyBDaGVuLAo+PiBHdWNodW4KPj4+PiA8 R3VjaHVuLkNoZW5AYW1kLmNvbT4KPj4+PiBTdWJqZWN0OiBSZTogW1BBVENIIDMvM10gZHJtL2Ft ZGdwdTogc3VwcG9ydCBpbmRpcmVjdCBhY2Nlc3MgcmVnIG91dHNpZGUgb2YgbW1pbyBiYXIKPj4g KHYyKQo+Pj4+IEFtIDE4LjA5LjIwIHVtIDExOjUxIHNjaHJpZWIgSGF3a2luZyBaaGFuZzoKPj4+ Pj4gc3VwcG9ydCBib3RoIGRpcmVjdCBhbmQgaW5kaXJlY3QgYWNjZXNzb3IgaW4gdW5pZmllZCBo ZWxwZXIgZnVuY3Rpb25zLgo+Pj4+Pgo+Pj4+PiB2MjogUmV0aXJlIGluZGlyZWN0IG1taW8gYWNj ZXNzIHZpYSBtbV9pbmRleC9kYXRhCj4+Pj4+Cj4+Pj4+IFNpZ25lZC1vZmYtYnk6IEhhd2tpbmcg WmhhbmcgPEhhd2tpbmcuWmhhbmdAYW1kLmNvbT4KPj4+Pj4gLS0tCj4+Pj4+ICAgICBkcml2ZXJz L2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHUuaCAgICAgICAgIHwgMjMgKysrLS0tLQo+Pj4+PiAg ICAgZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X2RlYnVnZnMuYyB8ICAyICstCj4+ Pj4+ICAgICBkcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfZGV2aWNlLmMgIHwgOTYg KysrKysrKysrKystLS0tLS0tLS0tLS0tLS0tLS0KPj4+Pj4gICAgIGRyaXZlcnMvZ3B1L2RybS9h bWQvYW1kZ3B1L2FtZGdwdV90cmFjZS5oICAgfCAgNCArLQo+Pj4+PiAgICAgNCBmaWxlcyBjaGFu Z2VkLCA1MSBpbnNlcnRpb25zKCspLCA3NCBkZWxldGlvbnMoLSkKPj4+Pj4KPj4+Pj4gZGlmZiAt LWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdS5oCj4+Pj4+IGIvZHJpdmVy cy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1LmgKPj4+Pj4gaW5kZXggNDBlZTQ0Yi4uNTAzNDFm MCAxMDA2NDQKPj4+Pj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1LmgK Pj4+Pj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1LmgKPj4+Pj4gQEAg LTEwMTksMTIgKzEwMTksMTMgQEAgaW50IGFtZGdwdV9ncHVfd2FpdF9mb3JfaWRsZShzdHJ1Y3QK Pj4+Pj4gYW1kZ3B1X2RldmljZSAqYWRldik7Cj4+Pj4+Cj4+Pj4+ICAgICB2b2lkIGFtZGdwdV9k ZXZpY2VfdnJhbV9hY2Nlc3Moc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYsIGxvZmZfdCBwb3Ms Cj4+Pj4+ICAgICAJCQkgICAgICAgdWludDMyX3QgKmJ1Ziwgc2l6ZV90IHNpemUsIGJvb2wgd3Jp dGUpOyAtdWludDMyX3QKPj4+Pj4gYW1kZ3B1X21tX3JyZWcoc3RydWN0IGFtZGdwdV9kZXZpY2Ug KmFkZXYsIHVpbnQzMl90IHJlZywKPj4+Pj4gK3VpbnQzMl90IGFtZGdwdV9kZXZpY2VfcnJlZyhz dHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRldiwKPj4+Pj4gKwkJCSAgICB1aW50MzJfdCByZWcsIHVp bnQzMl90IGFjY19mbGFncyk7IHZvaWQKPj4+Pj4gK2FtZGdwdV9kZXZpY2Vfd3JlZyhzdHJ1Y3Qg YW1kZ3B1X2RldmljZSAqYWRldiwKPj4+Pj4gKwkJCXVpbnQzMl90IHJlZywgdWludDMyX3QgdiwK Pj4+Pj4gICAgIAkJCXVpbnQzMl90IGFjY19mbGFncyk7Cj4+Pj4+IC12b2lkIGFtZGdwdV9tbV93 cmVnKHN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2LCB1aW50MzJfdCByZWcsIHVpbnQzMl90IHYs Cj4+Pj4+IC0JCSAgICB1aW50MzJfdCBhY2NfZmxhZ3MpOwo+Pj4+PiAtdm9pZCBhbWRncHVfbW1f d3JlZ19tbWlvX3JsYyhzdHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRldiwgdWludDMyX3QgcmVnLAo+ PiB1aW50MzJfdCB2LAo+Pj4+PiAtCQkgICAgdWludDMyX3QgYWNjX2ZsYWdzKTsKPj4+Pj4gK3Zv aWQgYW1kZ3B1X21tX3dyZWdfbW1pb19ybGMoc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYsCj4+ Pj4+ICsJCQkgICAgIHVpbnQzMl90IHJlZywgdWludDMyX3Qgdik7Cj4+Pj4+ICAgICB2b2lkIGFt ZGdwdV9tbV93cmVnOChzdHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRldiwgdWludDMyX3Qgb2Zmc2V0 LCB1aW50OF90Cj4+IHZhbHVlKTsKPj4+Pj4gICAgIHVpbnQ4X3QgYW1kZ3B1X21tX3JyZWc4KHN0 cnVjdCBhbWRncHVfZGV2aWNlICphZGV2LCB1aW50MzJfdAo+Pj4+PiBvZmZzZXQpOwo+Pj4+Pgo+ Pj4+PiBAQCAtMTA1NCw4ICsxMDU1LDggQEAgaW50IGVtdV9zb2NfYXNpY19pbml0KHN0cnVjdCBh bWRncHVfZGV2aWNlICphZGV2KTsKPj4+Pj4gICAgICAqLwo+Pj4+PiAgICAgI2RlZmluZSBBTURH UFVfUkVHU19OT19LSVEgICAgKDE8PDEpCj4+Pj4+Cj4+Pj4+IC0jZGVmaW5lIFJSRUczMl9OT19L SVEocmVnKSBhbWRncHVfbW1fcnJlZyhhZGV2LCAocmVnKSwKPj4+Pj4gQU1ER1BVX1JFR1NfTk9f S0lRKSAtI2RlZmluZSBXUkVHMzJfTk9fS0lRKHJlZywgdikKPj4+Pj4gYW1kZ3B1X21tX3dyZWco YWRldiwgKHJlZyksICh2KSwgQU1ER1BVX1JFR1NfTk9fS0lRKQo+Pj4+PiArI2RlZmluZSBSUkVH MzJfTk9fS0lRKHJlZykgYW1kZ3B1X2RldmljZV9ycmVnKGFkZXYsIChyZWcpLAo+Pj4+PiArQU1E R1BVX1JFR1NfTk9fS0lRKSAjZGVmaW5lIFdSRUczMl9OT19LSVEocmVnLCB2KQo+Pj4+PiArYW1k Z3B1X2RldmljZV93cmVnKGFkZXYsIChyZWcpLCAodiksIEFNREdQVV9SRUdTX05PX0tJUSkKPj4+ Pj4KPj4+Pj4gICAgICNkZWZpbmUgUlJFRzMyX0tJUShyZWcpIGFtZGdwdV9raXFfcnJlZyhhZGV2 LCAocmVnKSkKPj4+Pj4gICAgICNkZWZpbmUgV1JFRzMyX0tJUShyZWcsIHYpIGFtZGdwdV9raXFf d3JlZyhhZGV2LCAocmVnKSwgKHYpKSBAQAo+Pj4+PiAtMTA2Myw5ICsxMDY0LDkgQEAgaW50IGVt dV9zb2NfYXNpY19pbml0KHN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2KTsKPj4+Pj4gICAgICNk ZWZpbmUgUlJFRzgocmVnKSBhbWRncHVfbW1fcnJlZzgoYWRldiwgKHJlZykpCj4+Pj4+ICAgICAj ZGVmaW5lIFdSRUc4KHJlZywgdikgYW1kZ3B1X21tX3dyZWc4KGFkZXYsIChyZWcpLCAodikpCj4+ Pj4+Cj4+Pj4+IC0jZGVmaW5lIFJSRUczMihyZWcpIGFtZGdwdV9tbV9ycmVnKGFkZXYsIChyZWcp LCAwKSAtI2RlZmluZQo+Pj4+PiBEUkVHMzIocmVnKSBwcmludGsoS0VSTl9JTkZPICJSRUdJU1RF UjogIiAjcmVnICIgOiAweCUwOFhcbiIsCj4+Pj4+IGFtZGdwdV9tbV9ycmVnKGFkZXYsIChyZWcp LCAwKSkgLSNkZWZpbmUgV1JFRzMyKHJlZywgdikKPj4+Pj4gYW1kZ3B1X21tX3dyZWcoYWRldiwg KHJlZyksICh2KSwgMCkKPj4+Pj4gKyNkZWZpbmUgUlJFRzMyKHJlZykgYW1kZ3B1X2RldmljZV9y cmVnKGFkZXYsIChyZWcpLCAwKSAjZGVmaW5lCj4+Pj4+ICtEUkVHMzIocmVnKSBwcmludGsoS0VS Tl9JTkZPICJSRUdJU1RFUjogIiAjcmVnICIgOiAweCUwOFhcbiIsCj4+Pj4+ICthbWRncHVfZGV2 aWNlX3JyZWcoYWRldiwgKHJlZyksIDApKSAjZGVmaW5lIFdSRUczMihyZWcsIHYpCj4+Pj4+ICth bWRncHVfZGV2aWNlX3dyZWcoYWRldiwgKHJlZyksICh2KSwgMCkKPj4+Pj4gICAgICNkZWZpbmUg UkVHX1NFVChGSUVMRCwgdikgKCgodikgPDwgRklFTEQjI19TSElGVCkgJiBGSUVMRCMjX01BU0sp Cj4+Pj4+ICAgICAjZGVmaW5lIFJFR19HRVQoRklFTEQsIHYpICgoKHYpIDw8IEZJRUxEIyNfU0hJ RlQpICYgRklFTEQjI19NQVNLKQo+Pj4+PiAgICAgI2RlZmluZSBSUkVHMzJfUENJRShyZWcpIGFk ZXYtPnBjaWVfcnJlZyhhZGV2LCAocmVnKSkgQEAgLTExMTEsNwo+Pj4+PiArMTExMiw3IEBAIGlu dCBlbXVfc29jX2FzaWNfaW5pdChzdHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRldik7Cj4+Pj4+ICAg ICAJCVdSRUczMl9TTUMoX1JlZywgdG1wKTsgICAgICAgICAgICAgICAgICAgICAgICAgIFwKPj4+ Pj4gICAgIAl9IHdoaWxlICgwKQo+Pj4+Pgo+Pj4+PiAtI2RlZmluZSBEUkVHMzJfU1lTKHNxZiwg YWRldiwgcmVnKSBzZXFfcHJpbnRmKChzcWYpLCAjcmVnICIgOgo+Pj4+PiAweCUwOFhcbiIsIGFt ZGdwdV9tbV9ycmVnKChhZGV2KSwgKHJlZyksIGZhbHNlKSkKPj4+Pj4gKyNkZWZpbmUgRFJFRzMy X1NZUyhzcWYsIGFkZXYsIHJlZykgc2VxX3ByaW50Zigoc3FmKSwgI3JlZyAiIDoKPj4+Pj4gKzB4 JTA4WFxuIiwgYW1kZ3B1X2RldmljZV9ycmVnKChhZGV2KSwgKHJlZyksIGZhbHNlKSkKPj4+Pj4g ICAgICNkZWZpbmUgUlJFRzMyX0lPKHJlZykgYW1kZ3B1X2lvX3JyZWcoYWRldiwgKHJlZykpCj4+ Pj4+ICAgICAjZGVmaW5lIFdSRUczMl9JTyhyZWcsIHYpIGFtZGdwdV9pb193cmVnKGFkZXYsIChy ZWcpLCAodikpCj4+Pj4+Cj4+Pj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2Ft ZGdwdS9hbWRncHVfZGVidWdmcy5jCj4+Pj4+IGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUv YW1kZ3B1X2RlYnVnZnMuYwo+Pj4+PiBpbmRleCBhYmUwYzI3Li4yZDEyNWI4IDEwMDY0NAo+Pj4+ PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfZGVidWdmcy5jCj4+Pj4+ ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9kZWJ1Z2ZzLmMKPj4+Pj4g QEAgLTI2Nyw3ICsyNjcsNyBAQCBzdGF0aWMgaW50ICBhbWRncHVfZGVidWdmc19wcm9jZXNzX3Jl Z19vcChib29sIHJlYWQsIHN0cnVjdAo+PiBmaWxlCj4+Pj4gKmYsCj4+Pj4+ICAgICAJCX0gZWxz ZSB7Cj4+Pj4+ICAgICAJCQlyID0gZ2V0X3VzZXIodmFsdWUsICh1aW50MzJfdCAqKWJ1Zik7Cj4+ Pj4+ICAgICAJCQlpZiAoIXIpCj4+Pj4+IC0JCQkJYW1kZ3B1X21tX3dyZWdfbW1pb19ybGMoYWRl diwgKnBvcyA+PiAyLCB2YWx1ZSwgMCk7Cj4+Pj4+ICsJCQkJYW1kZ3B1X21tX3dyZWdfbW1pb19y bGMoYWRldiwgKnBvcyA+PiAyLCB2YWx1ZSk7Cj4+Pj4+ICAgICAJCX0KPj4+Pj4gICAgIAkJaWYg KHIpIHsKPj4+Pj4gICAgIAkJCXJlc3VsdCA9IHI7Cj4+Pj4+IGRpZmYgLS1naXQgYS9kcml2ZXJz L2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfZGV2aWNlLmMKPj4+Pj4gYi9kcml2ZXJzL2dwdS9k cm0vYW1kL2FtZGdwdS9hbWRncHVfZGV2aWNlLmMKPj4+Pj4gaW5kZXggNzc3ODViMi4uYmVlZjc2 NCAxMDA2NDQKPj4+Pj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X2Rl dmljZS5jCj4+Pj4+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9kZXZp Y2UuYwo+Pj4+PiBAQCAtMzAzLDEwICszMDMsMTAgQEAgdm9pZCBhbWRncHVfZGV2aWNlX3ZyYW1f YWNjZXNzKHN0cnVjdCBhbWRncHVfZGV2aWNlCj4+Pj4gKmFkZXYsIGxvZmZfdCBwb3MsCj4+Pj4+ ICAgICB9Cj4+Pj4+Cj4+Pj4+ICAgICAvKgo+Pj4+PiAtICogTU1JTyByZWdpc3RlciBhY2Nlc3Mg aGVscGVyIGZ1bmN0aW9ucy4KPj4+Pj4gKyAqIHJlZ2lzdGVyIGFjY2VzcyBoZWxwZXIgZnVuY3Rp b25zLgo+Pj4+PiAgICAgICovCj4+Pj4+ICAgICAvKioKPj4+Pj4gLSAqIGFtZGdwdV9tbV9ycmVn IC0gcmVhZCBhIG1lbW9yeSBtYXBwZWQgSU8gcmVnaXN0ZXIKPj4+Pj4gKyAqIGFtZGdwdV9kZXZp Y2VfcnJlZyAtIHJlYWQgYSBtZW1vcnkgbWFwcGVkIElPIG9yIGluZGlyZWN0IHJlZ2lzdGVyCj4+ Pj4+ICAgICAgKgo+Pj4+PiAgICAgICogQGFkZXY6IGFtZGdwdV9kZXZpY2UgcG9pbnRlcgo+Pj4+ PiAgICAgICogQHJlZzogZHdvcmQgYWxpZ25lZCByZWdpc3RlciBvZmZzZXQgQEAgLTMxNCwzMyAr MzE0LDI3IEBAIHZvaWQKPj4+Pj4gYW1kZ3B1X2RldmljZV92cmFtX2FjY2VzcyhzdHJ1Y3QgYW1k Z3B1X2RldmljZSAqYWRldiwgbG9mZl90IHBvcywKPj4+Pj4gICAgICAqCj4+Pj4+ICAgICAgKiBS ZXR1cm5zIHRoZSAzMiBiaXQgdmFsdWUgZnJvbSB0aGUgb2Zmc2V0IHNwZWNpZmllZC4KPj4+Pj4g ICAgICAqLwo+Pj4+PiAtdWludDMyX3QgYW1kZ3B1X21tX3JyZWcoc3RydWN0IGFtZGdwdV9kZXZp Y2UgKmFkZXYsIHVpbnQzMl90IHJlZywKPj4+Pj4gLQkJCXVpbnQzMl90IGFjY19mbGFncykKPj4+ Pj4gK3VpbnQzMl90IGFtZGdwdV9kZXZpY2VfcnJlZyhzdHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRl diwKPj4+Pj4gKwkJCSAgICB1aW50MzJfdCByZWcsIHVpbnQzMl90IGFjY19mbGFncykKPj4+Pj4g ICAgIHsKPj4+Pj4gICAgIAl1aW50MzJfdCByZXQ7Cj4+Pj4+Cj4+Pj4+ICAgICAJaWYgKGFkZXYt PmluX3BjaV9lcnJfcmVjb3ZlcnkpCj4+Pj4+ICAgICAJCXJldHVybiAwOwo+Pj4+Pgo+Pj4+PiAt CWlmICghKGFjY19mbGFncyAmIEFNREdQVV9SRUdTX05PX0tJUSkgJiYgYW1kZ3B1X3NyaW92X3J1 bnRpbWUoYWRldikgJiYKPj4+Pj4gLQkgICAgZG93bl9yZWFkX3RyeWxvY2soJmFkZXYtPnJlc2V0 X3NlbSkpIHsKPj4+Pj4gLQkJcmV0ID0gYW1kZ3B1X2tpcV9ycmVnKGFkZXYsIHJlZyk7Cj4+Pj4+ IC0JCXVwX3JlYWQoJmFkZXYtPnJlc2V0X3NlbSk7Cj4+Pj4+IC0JCXJldHVybiByZXQ7Cj4+Pj4+ IC0JfQo+Pj4+PiAtCj4+Pj4+IC0JaWYgKChyZWcgKiA0KSA8IGFkZXYtPnJtbWlvX3NpemUpCj4+ Pj4+IC0JCXJldCA9IHJlYWRsKCgodm9pZCBfX2lvbWVtICopYWRldi0+cm1taW8pICsgKHJlZyAq IDQpKTsKPj4+Pj4gLQllbHNlIHsKPj4+Pj4gLQkJdW5zaWduZWQgbG9uZyBmbGFnczsKPj4+Pj4g KwlpZiAoKHJlZyAqIDQpIDwgYWRldi0+cm1taW9fc2l6ZSkgewo+Pj4+PiArCQlpZiAoIShhY2Nf ZmxhZ3MgJiBBTURHUFVfUkVHU19OT19LSVEpICYmCj4+Pj4+ICsJCSAgICBhbWRncHVfc3Jpb3Zf cnVudGltZShhZGV2KSAmJgo+Pj4+PiArCQkgICAgZG93bl9yZWFkX3RyeWxvY2soJmFkZXYtPnJl c2V0X3NlbSkpIHsKPj4+Pj4gKwkJCXJldCA9IGFtZGdwdV9raXFfcnJlZyhhZGV2LCByZWcpOwo+ Pj4+PiArCQkJdXBfcmVhZCgmYWRldi0+cmVzZXRfc2VtKTsKPj4+Pj4gKwkJfSBlbHNlCj4+Pj4+ ICsJCQlyZXQgPSByZWFkbCgoKHZvaWQgX19pb21lbSAqKWFkZXYtPnJtbWlvKSArIChyZWcgKiA0 KSk7Cj4+Pj4+ICsJfSBlbHNlCj4+Pj4gVGhpcyBzaG91bGQgdXNlICJ9IGVsc2UgeyIuIEFwYXJ0 IGZyb20gdGhhdCBsb29rcyBnb29kIHRvIG1lLgo+Pj4+Cj4+Pj4gQ2hyaXN0aWFuLgo+Pj4+Cj4+ Pj4+ICsJCXJldCA9IGFkZXYtPnBjaWVfcnJlZyhhZGV2LCByZWcgKiA0KTsKPj4+Pj4KPj4+Pj4g LQkJc3Bpbl9sb2NrX2lycXNhdmUoJmFkZXYtPm1taW9faWR4X2xvY2ssIGZsYWdzKTsKPj4+Pj4g LQkJd3JpdGVsKChyZWcgKiA0KSwgKCh2b2lkIF9faW9tZW0gKilhZGV2LT5ybW1pbykgKyAobW1N TV9JTkRFWCAqIDQpKTsKPj4+Pj4gLQkJcmV0ID0gcmVhZGwoKCh2b2lkIF9faW9tZW0gKilhZGV2 LT5ybW1pbykgKyAobW1NTV9EQVRBICogNCkpOwo+Pj4+PiAtCQlzcGluX3VubG9ja19pcnFyZXN0 b3JlKCZhZGV2LT5tbWlvX2lkeF9sb2NrLCBmbGFncyk7Cj4+Pj4+IC0JfQo+Pj4+PiArCXRyYWNl X2FtZGdwdV9kZXZpY2VfcnJlZyhhZGV2LT5wZGV2LT5kZXZpY2UsIHJlZywgcmV0KTsKPj4+Pj4K Pj4+Pj4gLQl0cmFjZV9hbWRncHVfbW1fcnJlZyhhZGV2LT5wZGV2LT5kZXZpY2UsIHJlZywgcmV0 KTsKPj4+Pj4gICAgIAlyZXR1cm4gcmV0Owo+Pj4+PiAgICAgfQo+Pj4+Pgo+Pj4+PiBAQCAtMzk0 LDI5ICszODgsOCBAQCB2b2lkIGFtZGdwdV9tbV93cmVnOChzdHJ1Y3QgYW1kZ3B1X2RldmljZSAq YWRldiwKPj4gdWludDMyX3QKPj4+PiBvZmZzZXQsIHVpbnQ4X3QgdmFsdWUpCj4+Pj4+ICAgICAJ CUJVRygpOwo+Pj4+PiAgICAgfQo+Pj4+Pgo+Pj4+PiAtc3RhdGljIGlubGluZSB2b2lkIGFtZGdw dV9tbV93cmVnX21taW8oc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYsCj4+Pj4+IC0JCQkJICAg ICAgIHVpbnQzMl90IHJlZywgdWludDMyX3QgdiwKPj4+Pj4gLQkJCQkgICAgICAgdWludDMyX3Qg YWNjX2ZsYWdzKQo+Pj4+PiAtewo+Pj4+PiAtCWlmIChhZGV2LT5pbl9wY2lfZXJyX3JlY292ZXJ5 KQo+Pj4+PiAtCQlyZXR1cm47Cj4+Pj4+IC0KPj4+Pj4gLQl0cmFjZV9hbWRncHVfbW1fd3JlZyhh ZGV2LT5wZGV2LT5kZXZpY2UsIHJlZywgdik7Cj4+Pj4+IC0KPj4+Pj4gLQlpZiAoKHJlZyAqIDQp IDwgYWRldi0+cm1taW9fc2l6ZSkKPj4+Pj4gLQkJd3JpdGVsKHYsICgodm9pZCBfX2lvbWVtICop YWRldi0+cm1taW8pICsgKHJlZyAqIDQpKTsKPj4+Pj4gLQllbHNlIHsKPj4+Pj4gLQkJdW5zaWdu ZWQgbG9uZyBmbGFnczsKPj4+Pj4gLQo+Pj4+PiAtCQlzcGluX2xvY2tfaXJxc2F2ZSgmYWRldi0+ bW1pb19pZHhfbG9jaywgZmxhZ3MpOwo+Pj4+PiAtCQl3cml0ZWwoKHJlZyAqIDQpLCAoKHZvaWQg X19pb21lbSAqKWFkZXYtPnJtbWlvKSArIChtbU1NX0lOREVYICogNCkpOwo+Pj4+PiAtCQl3cml0 ZWwodiwgKCh2b2lkIF9faW9tZW0gKilhZGV2LT5ybW1pbykgKyAobW1NTV9EQVRBICogNCkpOwo+ Pj4+PiAtCQlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZhZGV2LT5tbWlvX2lkeF9sb2NrLCBmbGFn cyk7Cj4+Pj4+IC0JfQo+Pj4+PiAtfQo+Pj4+PiAtCj4+Pj4+ICAgICAvKioKPj4+Pj4gLSAqIGFt ZGdwdV9tbV93cmVnIC0gd3JpdGUgdG8gYSBtZW1vcnkgbWFwcGVkIElPIHJlZ2lzdGVyCj4+Pj4+ ICsgKiBhbWRncHVfZGV2aWNlX3dyZWcgLSB3cml0ZSB0byBhIG1lbW9yeSBtYXBwZWQgSU8gb3Ig aW5kaXJlY3QKPj4+Pj4gKyByZWdpc3Rlcgo+Pj4+PiAgICAgICoKPj4+Pj4gICAgICAqIEBhZGV2 OiBhbWRncHVfZGV2aWNlIHBvaW50ZXIKPj4+Pj4gICAgICAqIEByZWc6IGR3b3JkIGFsaWduZWQg cmVnaXN0ZXIgb2Zmc2V0IEBAIC00MjUsMjAgKzM5OCwyNSBAQCBzdGF0aWMKPj4+Pj4gaW5saW5l IHZvaWQgYW1kZ3B1X21tX3dyZWdfbW1pbyhzdHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRldiwKPj4+ Pj4gICAgICAqCj4+Pj4+ICAgICAgKiBXcml0ZXMgdGhlIHZhbHVlIHNwZWNpZmllZCB0byB0aGUg b2Zmc2V0IHNwZWNpZmllZC4KPj4+Pj4gICAgICAqLwo+Pj4+PiAtdm9pZCBhbWRncHVfbW1fd3Jl ZyhzdHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRldiwgdWludDMyX3QgcmVnLCB1aW50MzJfdCB2LAo+ Pj4+PiAtCQkgICAgdWludDMyX3QgYWNjX2ZsYWdzKQo+Pj4+PiArdm9pZCBhbWRncHVfZGV2aWNl X3dyZWcoc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYsCj4+Pj4+ICsJCQl1aW50MzJfdCByZWcs IHVpbnQzMl90IHYsCj4+Pj4+ICsJCQl1aW50MzJfdCBhY2NfZmxhZ3MpCj4+Pj4+ICAgICB7Cj4+ Pj4+ICAgICAJaWYgKGFkZXYtPmluX3BjaV9lcnJfcmVjb3ZlcnkpCj4+Pj4+ICAgICAJCXJldHVy bjsKPj4+Pj4KPj4+Pj4gLQlpZiAoIShhY2NfZmxhZ3MgJiBBTURHUFVfUkVHU19OT19LSVEpICYm IGFtZGdwdV9zcmlvdl9ydW50aW1lKGFkZXYpICYmCj4+Pj4+IC0JICAgIGRvd25fcmVhZF90cnls b2NrKCZhZGV2LT5yZXNldF9zZW0pKSB7Cj4+Pj4+IC0JCWFtZGdwdV9raXFfd3JlZyhhZGV2LCBy ZWcsIHYpOwo+Pj4+PiAtCQl1cF9yZWFkKCZhZGV2LT5yZXNldF9zZW0pOwo+Pj4+PiAtCQlyZXR1 cm47Cj4+Pj4+IC0JfQo+Pj4+PiArCWlmICgocmVnICogNCkgPCBhZGV2LT5ybW1pb19zaXplKSB7 Cj4+Pj4+ICsJCWlmICghKGFjY19mbGFncyAmIEFNREdQVV9SRUdTX05PX0tJUSkgJiYKPj4+Pj4g KwkJICAgIGFtZGdwdV9zcmlvdl9ydW50aW1lKGFkZXYpICYmCj4+Pj4+ICsJCSAgICBkb3duX3Jl YWRfdHJ5bG9jaygmYWRldi0+cmVzZXRfc2VtKSkgewo+Pj4+PiArCQkJYW1kZ3B1X2tpcV93cmVn KGFkZXYsIHJlZywgdik7Cj4+Pj4+ICsJCQl1cF9yZWFkKCZhZGV2LT5yZXNldF9zZW0pOwo+Pj4+ PiArCQl9IGVsc2UKPj4+Pj4gKwkJCXdyaXRlbCh2LCAoKHZvaWQgX19pb21lbSAqKWFkZXYtPnJt bWlvKSArIChyZWcgKiA0KSk7Cj4+Pj4+ICsJfSBlbHNlCj4+Pj4+ICsJCWFkZXYtPnBjaWVfd3Jl ZyhhZGV2LCByZWcgKiA0LCB2KTsKPj4+Pj4KPj4+Pj4gLQlhbWRncHVfbW1fd3JlZ19tbWlvKGFk ZXYsIHJlZywgdiwgYWNjX2ZsYWdzKTsKPj4+Pj4gKwl0cmFjZV9hbWRncHVfZGV2aWNlX3dyZWco YWRldi0+cGRldi0+ZGV2aWNlLCByZWcsIHYpOwo+Pj4+PiAgICAgfQo+Pj4+Pgo+Pj4+PiAgICAg LyoKPj4+Pj4gQEAgLTQ0NiwyMSArNDI0LDE5IEBAIHZvaWQgYW1kZ3B1X21tX3dyZWcoc3RydWN0 IGFtZGdwdV9kZXZpY2UgKmFkZXYsCj4+IHVpbnQzMl90Cj4+Pj4gcmVnLCB1aW50MzJfdCB2LAo+ Pj4+PiAgICAgICoKPj4+Pj4gICAgICAqIHRoaXMgZnVuY3Rpb24gaXMgaW52b2tlZCBvbmx5IHRo ZSBkZWJ1Z2ZzIHJlZ2lzdGVyIGFjY2Vzcwo+Pj4+PiAgICAgICogKi8KPj4+Pj4gLXZvaWQgYW1k Z3B1X21tX3dyZWdfbW1pb19ybGMoc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYsIHVpbnQzMl90 IHJlZywKPj4gdWludDMyX3QgdiwKPj4+Pj4gLQkJICAgIHVpbnQzMl90IGFjY19mbGFncykKPj4+ Pj4gK3ZvaWQgYW1kZ3B1X21tX3dyZWdfbW1pb19ybGMoc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFk ZXYsCj4+Pj4+ICsJCQkgICAgIHVpbnQzMl90IHJlZywgdWludDMyX3QgdikKPj4+Pj4gICAgIHsK Pj4+Pj4gICAgIAlpZiAoYWRldi0+aW5fcGNpX2Vycl9yZWNvdmVyeSkKPj4+Pj4gICAgIAkJcmV0 dXJuOwo+Pj4+Pgo+Pj4+PiAgICAgCWlmIChhbWRncHVfc3Jpb3ZfZnVsbGFjY2VzcyhhZGV2KSAm Jgo+Pj4+PiAtCQlhZGV2LT5nZngucmxjLmZ1bmNzICYmCj4+Pj4+IC0JCWFkZXYtPmdmeC5ybGMu ZnVuY3MtPmlzX3JsY2dfYWNjZXNzX3JhbmdlKSB7Cj4+Pj4+IC0KPj4+Pj4gKwkgICAgYWRldi0+ Z2Z4LnJsYy5mdW5jcyAmJgo+Pj4+PiArCSAgICBhZGV2LT5nZngucmxjLmZ1bmNzLT5pc19ybGNn X2FjY2Vzc19yYW5nZSkgewo+Pj4+PiAgICAgCQlpZiAoYWRldi0+Z2Z4LnJsYy5mdW5jcy0+aXNf cmxjZ19hY2Nlc3NfcmFuZ2UoYWRldiwgcmVnKSkKPj4+Pj4gICAgIAkJCXJldHVybiBhZGV2LT5n ZngucmxjLmZ1bmNzLT5ybGNnX3dyZWcoYWRldiwgcmVnLCB2KTsKPj4+Pj4gLQl9Cj4+Pj4+IC0K Pj4+Pj4gLQlhbWRncHVfbW1fd3JlZ19tbWlvKGFkZXYsIHJlZywgdiwgYWNjX2ZsYWdzKTsKPj4+ Pj4gKwl9IGVsc2UKPj4+Pj4gKwkJd3JpdGVsKHYsICgodm9pZCBfX2lvbWVtICopYWRldi0+cm1t aW8pICsgKHJlZyAqIDQpKTsKPj4+Pj4gICAgIH0KPj4+Pj4KPj4+Pj4gICAgIC8qKgo+Pj4+PiBk aWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X3RyYWNlLmgKPj4+ Pj4gYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfdHJhY2UuaAo+Pj4+PiBpbmRl eCA2M2U3MzRhLi41ZGEyMGZjIDEwMDY0NAo+Pj4+PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1k L2FtZGdwdS9hbWRncHVfdHJhY2UuaAo+Pj4+PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2Ft ZGdwdS9hbWRncHVfdHJhY2UuaAo+Pj4+PiBAQCAtMzUsNyArMzUsNyBAQAo+Pj4+PiAgICAgI2Rl ZmluZSBBTURHUFVfSk9CX0dFVF9USU1FTElORV9OQU1FKGpvYikgXAo+Pj4+Pgo+Pj4+PiBqb2It PmJhc2Uuc19mZW5jZS0+ZmluaXNoZWQub3BzLT5nZXRfdGltZWxpbmVfbmFtZSgmam9iLT5iYXNl LnNfZmVuY2UtCj4+Pj4+PiBmaW5pc2hlZCkKPj4+Pj4gLVRSQUNFX0VWRU5UKGFtZGdwdV9tbV9y cmVnLAo+Pj4+PiArVFJBQ0VfRVZFTlQoYW1kZ3B1X2RldmljZV9ycmVnLAo+Pj4+PiAgICAgCSAg ICBUUF9QUk9UTyh1bnNpZ25lZCBkaWQsIHVpbnQzMl90IHJlZywgdWludDMyX3QgdmFsdWUpLAo+ Pj4+PiAgICAgCSAgICBUUF9BUkdTKGRpZCwgcmVnLCB2YWx1ZSksCj4+Pj4+ICAgICAJICAgIFRQ X1NUUlVDVF9fZW50cnkoCj4+Pj4+IEBAIC01NCw3ICs1NCw3IEBAIFRSQUNFX0VWRU5UKGFtZGdw dV9tbV9ycmVnLAo+Pj4+PiAgICAgCQkgICAgICAodW5zaWduZWQgbG9uZylfX2VudHJ5LT52YWx1 ZSkKPj4+Pj4gICAgICk7Cj4+Pj4+Cj4+Pj4+IC1UUkFDRV9FVkVOVChhbWRncHVfbW1fd3JlZywK Pj4+Pj4gK1RSQUNFX0VWRU5UKGFtZGdwdV9kZXZpY2Vfd3JlZywKPj4+Pj4gICAgIAkgICAgVFBf UFJPVE8odW5zaWduZWQgZGlkLCB1aW50MzJfdCByZWcsIHVpbnQzMl90IHZhbHVlKSwKPj4+Pj4g ICAgIAkgICAgVFBfQVJHUyhkaWQsIHJlZywgdmFsdWUpLAo+Pj4+PiAgICAgCSAgICBUUF9TVFJV Q1RfX2VudHJ5KAo+Pj4+IF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fCj4+Pj4gYW1kLWdmeCBtYWlsaW5nIGxpc3QKPj4+PiBhbWQtZ2Z4QGxpc3RzLmZyZWVk ZXNrdG9wLm9yZwo+Pj4+Cj4+IGh0dHBzOi8vbmFtMTEuc2FmZWxpbmtzLnByb3RlY3Rpb24ub3V0 bG9vay5jb20vP3VybD1odHRwcyUzQSUyRiUyRmxpc3RzLmZyZWVkZXNrdG9wLm9yCj4+Pj4gZyUy Rm1haWxtYW4lMkZsaXN0aW5mbyUyRmFtZC0KPj4+Pgo+PiBnZngmYW1wO2RhdGE9MDIlN0MwMSU3 Q2tlbnQucnVzc2VsbCU0MGFtZC5jb20lN0NiMDRjYjI1MWRkMmE0OWZjMzIyYzA4ZDg1YmNiCj4+ IDVjMTAlN0MzZGQ4OTYxZmU0ODg0ZTYwOGUxMWE4MmQ5OTRlMTgzZCU3QzAlN0MwJTdDNjM3MzYw Mjc2Mjc4NDY4MjQxJmFtcDsKPj4+PiBzZGF0YT1keEZDYXN4VUlydmpQZm5mdDdFUXVNMUJGYk53 emdOU1dkUlgwbCUyQlYwbDglM0QmYW1wO3Jlc2VydmVkPTAKCl9fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fCmFtZC1nZnggbWFpbGluZyBsaXN0CmFtZC1nZnhA bGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxt YW4vbGlzdGluZm8vYW1kLWdmeAo=