From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 4B059A00C3; Wed, 21 Sep 2022 21:16:33 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 2FAED40691; Wed, 21 Sep 2022 21:16:33 +0200 (CEST) Received: from mx0b-0016f401.pphosted.com (mx0b-0016f401.pphosted.com [67.231.156.173]) by mails.dpdk.org (Postfix) with ESMTP id 1E1CD4067C for ; Wed, 21 Sep 2022 21:16:31 +0200 (CEST) Received: from pps.filterd (m0045851.ppops.net [127.0.0.1]) by mx0b-0016f401.pphosted.com (8.17.1.5/8.17.1.5) with ESMTP id 28LBPq0o032685; Wed, 21 Sep 2022 12:14:23 -0700 Received: from nam11-bn8-obe.outbound.protection.outlook.com (mail-bn8nam11lp2169.outbound.protection.outlook.com [104.47.58.169]) by mx0b-0016f401.pphosted.com (PPS) with ESMTPS id 3jr1qmht0j-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Wed, 21 Sep 2022 12:14:23 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Ll1xl05lw/Jk0s9Lg6wgg0+W6VoP4DW85Ig+Y9UXu8pFXkX/4IPRs79TSYTdKE+5wuyBFo8wwR9zLivmXCVAsbjDsa8xjC6+yb3OUX0dj8RN11whD6LGlalTBe77M27vvzMqiChHwg31BTAevMMUBdMg3sHO3ukHZySdQQieqbWzGqDRyPJnqVAkVXJzMOhtG7vFSs9N8Q/FLVlXE/FtxXeaGZwvFhAa+N0WVjrjpOr6pU8zJtdZAUnTmIXAYGsQiE6FpgNOgzDnV3y/9E3ZSz0rMdtjRSoQxlC5OojsM+njTVXcjHzwwu/jjdGihuFO7cQF1MgCAAiTES+J8rRUzw== 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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=6Q/HtxDK56BoLpxqqvbiSvGy07Lj6lXN2ztux424A9M=; b=XsxI2DujyXjQLPZrjTnh6LmLE/8On15htI7GcxOOxlDorzCsYZ0FloD2dX9rz8xOjVuJNVeLurUwKgFCXCX4aB9lxzMeQ71ASJiXw18hyXHziNG/tsXvQF8k9YeFI6AsBaVUZFGJQQTncSh1jZMTWsOdAfEcJ/krc0MkS/EqvcKzLkEF/lBDV3/LSxTGGX/ZBE+sqooT6ZuMPLCTxpnio7PRrN6a6eZBXAmsZR7B8s+RVmWor3sQfTrV2Ypj/Yr/bHgy6OFV3h3OjRZ2BVRbpKA8FHeJ+6hBFJHjbbXAcMV8rdANbVvuWWrtllshoJGDRCiNpFll1auSrC1zGBHiLg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=marvell.com; dmarc=pass action=none header.from=marvell.com; dkim=pass header.d=marvell.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=marvell.onmicrosoft.com; s=selector1-marvell-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=6Q/HtxDK56BoLpxqqvbiSvGy07Lj6lXN2ztux424A9M=; b=bBXoXAj5c148h/OGXtE5rWpE0VikkrIrfSpm2qQbU7fhOpML2y5CTuYemTpsRpoMLsaVj24V0iFWlzOyuxhT0fGQNUC1AAoqAkzhp6DDEzN/w1LPq7APCkKSWymOOe6lkG3OhxSxSCX1lu/OVI1IVx40TUIXBEXCrNlj7OxTMJs= Received: from CO6PR18MB4484.namprd18.prod.outlook.com (2603:10b6:5:359::9) by SA0PR18MB3695.namprd18.prod.outlook.com (2603:10b6:806:92::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5654.17; Wed, 21 Sep 2022 19:14:20 +0000 Received: from CO6PR18MB4484.namprd18.prod.outlook.com ([fe80::7cea:d050:5433:8c74]) by CO6PR18MB4484.namprd18.prod.outlook.com ([fe80::7cea:d050:5433:8c74%7]) with mapi id 15.20.5654.017; Wed, 21 Sep 2022 19:14:20 +0000 From: Akhil Goyal To: Nicolas Chautru , "dev@dpdk.org" , "thomas@monjalon.net" , "hemant.agrawal@nxp.com" CC: "maxime.coquelin@redhat.com" , "trix@redhat.com" , "mdr@ashroe.eu" , "bruce.richardson@intel.com" , "david.marchand@redhat.com" , "stephen@networkplumber.org" , "mingshan.zhang@intel.com" Subject: RE: [EXT] [PATCH v7 5/7] bbdev: add new operation for FFT processing Thread-Topic: [EXT] [PATCH v7 5/7] bbdev: add new operation for FFT processing Thread-Index: AQHYu9UeGuBoNySlj0WircZe8Pe52q3qYhZQ Date: Wed, 21 Sep 2022 19:14:19 +0000 Message-ID: References: <1655491040-183649-6-git-send-email-nicolas.chautru@intel.com> <1661796438-204861-1-git-send-email-nicolas.chautru@intel.com> <1661796438-204861-6-git-send-email-nicolas.chautru@intel.com> In-Reply-To: <1661796438-204861-6-git-send-email-nicolas.chautru@intel.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ms-publictraffictype: Email x-ms-traffictypediagnostic: CO6PR18MB4484:EE_|SA0PR18MB3695:EE_ x-ms-office365-filtering-correlation-id: b6bb8010-7a02-4312-9012-08da9c057c3e x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: c/+s+nZdeKJKqMKhTnHEYgqy5YEngHKDkQdJD9rs0Yrm3LXD7Py8G0gx4gRrozO0j46zGe+aHezMv9KcW9c3JE2sX7oB8H7vqwoHxsdpcXZyzaLh5H9y/WUnSzpG447ncuNwykLoTtDclsT1QYtSOB19Y7MFsh9cYnvf3Ynh4Zwz9l82q80hIesm4B/hehlPx5miFz7QosyWVfkxsz4IPyAE9Bqw2NSCp99s0sNK11gHblTjjyyI/NFHEGnTQolMmqEze1JbPCcUwB+9sXuGfeECq9kf6BNjBZ+D4icmakCtIjGuMuD5EzCFrqDOtKKzTyYE7wrMJyJD87tYecIme/TeqWAxdy/jHLO4wrLt5t3o9QszR6o6WzsTqn/jZDwI1c5Cy9JVQdUQfJIRT8qonQaDE+lfYEBh2PE1r00dpuT2GkiXIRMRRVgKR8lcFFf2KzOWfy8+A3Yql3EfCofPZ77XidFwinKlyA3XqRvUNbocKWUmhZQTqtH/uhtf/aLWsoJactP6/4HD/ModzEuxj4NA8noEyfELwzsX+SuIRzQEqHfSSCQGAWlULRZ9toqJpbf3N/5hgsaK1/14PLM/yReXnS2VxKh8RcggJdpJDVNFPEvA0CrNXfwnzG4xMRo4lhC83BTlVkVJ68o7QYoo35HRlAkZzEhAQHdwUjGGUc4kUsKJjGDEiioG0bM69VikT/kmPKvUk4DbNGNYYAqQx7mLxEu1/qD8hOvQqkUG2N+rNFBPjAY4xe54QZIiHkyl8pDVh/mq9Dopvdy3RceUbg== x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:CO6PR18MB4484.namprd18.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230022)(4636009)(136003)(346002)(396003)(376002)(366004)(39860400002)(451199015)(55016003)(76116006)(66446008)(38070700005)(4326008)(86362001)(66946007)(2906002)(66476007)(83380400001)(5660300002)(30864003)(64756008)(66556008)(7416002)(38100700002)(122000001)(33656002)(478600001)(52536014)(8936002)(71200400001)(9686003)(26005)(8676002)(54906003)(186003)(110136005)(41300700001)(316002)(55236004)(7696005)(6506007)(579004); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?WUI0a0M4M1FSN1lFQlU4N1RHVFV6eE10L3BSajRjaVY0K3ZEN09aRFJLWS85?= =?utf-8?B?QTFsWXMxN3hsSlNBSGVhV1k4WjMwWUpKaXQwb2JIbzdLWkJHK2lwdEJXT0hR?= =?utf-8?B?T0Z4cENRbEJWa21QZEtDaUNDcG45VXg2QmtUUkNxakw4NDFHWlJTQlUydVlV?= =?utf-8?B?TG96N3dFSXRzemlkdTlGQllOdG9QQmVtSkdlYk1XMFRFWEgzbU44RFpXSDlj?= =?utf-8?B?cFN3RkZHQ2lub0J2dWJNcXc1V1Z5QmRjQXphcmtSNGRpUWRmbE1nMisraUhY?= =?utf-8?B?eitMbVF4U1ZLR29OK01Fb3hheGEvdCtTQ1B5VmJ6Wk1QbzJTZHAwZi9EZHRr?= =?utf-8?B?RksxWjRWZWgydUx6dmFHZHZtMXR2bjFRZ0MwMTJDVkJva3Q0ZEFHVUZBbWgz?= =?utf-8?B?YldVQlRFUHNMRnM2enRSTTNKQ0FMeUNjb1N2Znh2ODFxS3dpVzlpaDNQemFo?= =?utf-8?B?eDB2Y3R2QjdaMDRKREhhYnBvdDUzV2QzVjYwZTBMLzFCNWVqdTZwbWNCOE9T?= =?utf-8?B?RFN1ZFZkTXlQZElKdzk2V3pYcHBtNnQ0Z3U4UmtUVlRQNDlEOUNVaFF4aVFW?= =?utf-8?B?N3dBNkNvMUVaTnh1WTd6Q1FiYy8yUmUwak1xbXI3RWl5c2Y2b2NMbTJCTWkv?= =?utf-8?B?RjlOMXRHbzBoRTUrUmM2MnBCK0w5bjdWMjc0clpLTnFlNEl5ZWI0OUdTckRL?= =?utf-8?B?RVAwZ2ZYVW82a3o4MWN1ZitPbWIrZmwvMjVjMFdYTWVuZUl3cjE2SjhLWlFS?= =?utf-8?B?SGtQTGlIUjJ1TjBrT2llRjV0V0Yzemd1TzlVOFZMb01LMkJ5MGM2dkZzeFlG?= =?utf-8?B?SXB3cjk5c1JDck80eE1KY0VoK2d0S29zLzU4QW10YndXWGEwL2RKdmUxOGVW?= =?utf-8?B?d0Z0K3dQdUcxTFBCM2ZhSmdKR3p5L2VpSW1IMWRjdkNBMHoybXF3NHlGMi9v?= =?utf-8?B?QWxEWHN5bVBFblZ4RDNpNnZMaHUxeU94S2w5RXFKcmgvV1hkK0piczY5Wklz?= =?utf-8?B?ZVllVkk5b2NIWmdPK0xXUVZWcFFqUE9UVDc2dFRWcHVTVllWMDVoKzNxSDh4?= =?utf-8?B?UkZBSm1tU1dWYm9KMi85Y09HZi9Ta0tadndhMndpVFBUaDkxV1Q2Y0VELzF4?= =?utf-8?B?WFZ0WEpIUVMwSVdKaG1YaW5ocTlkL3hzYkgwc0VpaHk1Z1ZuQXV2OFpHdjZX?= =?utf-8?B?bGpDUHd0K1M3THk5aG5QMzQzbHBjMnVjL0RJTGgwS2orNWxQRUcvQk8xR013?= =?utf-8?B?Rytkdml1bkFjalNITHZhc0lCckFMOTFzVU5EZ3h1M2dYcGUrVXhvbGd2WE9X?= =?utf-8?B?M1d1RDQ1dW9iNFpXNURnblFGNzVYNXM5TGVGcHUwNmExbEt0Zk9zOHJnYVIz?= =?utf-8?B?UkhOQjJvb2VXVWJDUWxPMXN5SkdoWmxJTG8rTE5FV0hMYlhIWkZvdnRqWHRt?= =?utf-8?B?N3FQZnd2YzI3Yzk2WGFGWWtkdFpXZWFLOFU5ZGNodDZMQklzU21JNGp0L0dY?= =?utf-8?B?cHRxSnVhT2dySUFJL1dwV3htV0JDUGVMbW5rSVFGeVBsSnNtRURpajduUitR?= =?utf-8?B?UXRWK2hMTzZrM2cxeUthUE9LdWhNbjJSUmdnY3Q1Vk5NOEdwWHVsMlptQWpS?= =?utf-8?B?NEplbENTTUVpTFR4Skx5bnFOVi9HUjE2Rmg3QkR1MFJGUkpIMkhUSkVaSWVP?= =?utf-8?B?MThJTE93YnBCRHd1eTNQeW93bUxsS0RDV1RpMmFiZmMzUHFiYVUyaXpzaTkz?= =?utf-8?B?azdXM1NidkRTeTVoOGozSUp3SWl0SGdaNGpFSlZWSkZBOVZpakpGZ1hFZ2d5?= =?utf-8?B?M2o1bFdZb2lMOGlwSElEVFJDaXgzRWFBR2ZQQ0xlYm9tYVhKVUt6alNTQTB6?= =?utf-8?B?ZjdDY3k1QlExOWpuMmZhaG95RDVoY0ZjWEFPQ0w3YWYyMVdqbDE1eTI0eFhm?= =?utf-8?B?RE5HcFhHYklsL0lGTVFNYWlxcm1jSHo4TDZzTW9hMDVRaHZyS3M4UEl5NU4r?= =?utf-8?B?Y1VUajc0NTk5d1NiZ0pWZmdCMTM2VUFxcEtsQnU1YUhKVnA4MEsrRHBJNVJF?= =?utf-8?B?UU5COWRYOHVqQ2l1RnFSL1BSN3ZZNjJvWXNFdEtEb2VpdVJtS0RBVWNnTDJn?= =?utf-8?Q?FzTXd7jY9+xpLai0eUbS/FR67?= Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: marvell.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: CO6PR18MB4484.namprd18.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: b6bb8010-7a02-4312-9012-08da9c057c3e X-MS-Exchange-CrossTenant-originalarrivaltime: 21 Sep 2022 19:14:19.8966 (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: bQk+nyhWyQ42PKRl+/oPvfKK2pDIw2VRkmPwPTg+YYd2STFRXkBibIOI6RFCHAvNFpFB/USdOPWsds68f+Cm2Q== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA0PR18MB3695 X-Proofpoint-GUID: LwnAqn20wjDjMc0E28eiX0khs7Jk3PVr X-Proofpoint-ORIG-GUID: LwnAqn20wjDjMc0E28eiX0khs7Jk3PVr X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.205,Aquarius:18.0.895,Hydra:6.0.528,FMLib:17.11.122.1 definitions=2022-09-21_09,2022-09-20_02,2022-06-22_01 X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org PiBFeHRlbnNpb24gb2YgYmJkZXYgb3BlcmF0aW9uIHRvIHN1cHBvcnQgRkZUIGJhc2VkIG9wZXJh dGlvbnMuDQo+IA0KPiBTaWduZWQtb2ZmLWJ5OiBOaWNvbGFzIENoYXV0cnUgPG5pY29sYXMuY2hh dXRydUBpbnRlbC5jb20+DQo+IEFja2VkLWJ5OiBIZW1hbnQgQWdyYXdhbCA8aGVtYW50LmFncmF3 YWxAbnhwLmNvbT4NCj4gQWNrZWQtYnk6IE1heGltZSBDb3F1ZWxpbiA8bWF4aW1lLmNvcXVlbGlu QHJlZGhhdC5jb20+DQo+IC0tLQ0KPiAgZG9jL2d1aWRlcy9wcm9nX2d1aWRlL2JiZGV2LnJzdCB8 IDEzMA0KPiArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKw0KPiAgbGliL2JiZGV2 L3J0ZV9iYmRldi5jICAgICAgICAgICB8ICAxMCArKy0NCj4gIGxpYi9iYmRldi9ydGVfYmJkZXYu aCAgICAgICAgICAgfCAgNzYgKysrKysrKysrKysrKysrKysrKysNCj4gIGxpYi9iYmRldi9ydGVf YmJkZXZfb3AuaCAgICAgICAgfCAxNDkNCj4gKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKw0KPiAgbGliL2JiZGV2L3ZlcnNpb24ubWFwICAgICAgICAgICB8ICAgNCArKw0K PiAgNSBmaWxlcyBjaGFuZ2VkLCAzNjggaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQ0KPiAN Cj4gZGlmZiAtLWdpdCBhL2RvYy9ndWlkZXMvcHJvZ19ndWlkZS9iYmRldi5yc3QNCj4gYi9kb2Mv Z3VpZGVzL3Byb2dfZ3VpZGUvYmJkZXYucnN0DQo+IGluZGV4IDcwZmEwMWEuLjVkY2M3YjUgMTAw NjQ0DQo+IC0tLSBhL2RvYy9ndWlkZXMvcHJvZ19ndWlkZS9iYmRldi5yc3QNCj4gKysrIGIvZG9j L2d1aWRlcy9wcm9nX2d1aWRlL2JiZGV2LnJzdA0KPiBAQCAtMTExOCw2ICsxMTE4LDEzNiBAQCBG aWd1cmUgOm51bXJlZjpgZmlndXJlX3R1cmJvX3RiX2RlY29kZWAgYWJvdmUNCj4gIHNob3dpbmcg dGhlIFR1cmJvIGRlY29kaW5nIG9mIENCcyB1c2luZyBCQkRFViBpbnRlcmZhY2UgaW4gVEItbW9k ZQ0KPiAgaXMgYWxzbyB2YWxpZCBmb3IgTERQQyBkZWNvZGUuDQo+IA0KPiArQkJERVYgRkZUIE9w ZXJhdGlvbg0KPiArfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fg0KPiArDQo+ICtUaGlzIG9w ZXJhdGlvbiBhbGxvd3MgdG8gcnVuIGEgY29tYmluYXRpb24gb2YgREZUIGFuZC9vciBJREZUIGFu ZC9vciB0aW1lLQ0KPiBkb21haW4gd2luZG93aW5nLg0KPiArVGhlc2UgY2FuIGJlIHVzZWQgaW4g YSBtb2R1bGFyIGZhc2hpb24gKHVzaW5nIGJ5cGFzcyBtb2Rlcykgb3IgYXMgYSBwcm9jZXNzaW5n DQo+IHBpcGVsaW5lDQo+ICt3aGljaCBjYW4gYmUgdXNlZCBmb3IgRkZULWJhc2VkIGJhc2ViYW5k IHNpZ25hbCBwcm9jZXNzaW5nLg0KPiArSW4gbW9yZSBkZXRhaWxzIGl0IGFsbG93cyA6DQo+ICst IHRvIHByb2Nlc3MgdGhlIGRhdGEgZmlyc3QgdGhyb3VnaCBhbiBJREZUIG9mIGFkanVzdGFibGUg c2l6ZSBhbmQgcGFkZGluZzsNCj4gKy0gdG8gcGVyZm9ybSB0aGUgd2luZG93aW5nIGFzIGEgcHJv Z3JhbW1hYmxlIGN5Y2xpYyBzaGlmdCBvZmZzZXQgb2YgdGhlIGRhdGENCj4gZm9sbG93ZWQgYnkg YQ0KPiArcG9pbnR3aXNlIG11bHRpcGxpY2F0aW9uIGJ5IGEgdGltZSBkb21haW4gd2luZG93Ow0K PiArLSB0byBwcm9jZXNzIHRoZSByZWxhdGVkIGRhdGEgdGhyb3VnaCBhIERGVCBvZiBhZGp1c3Rh YmxlIHNpemUgYW5kIGRlLXBhZGRpbmcNCj4gZm9yIGVhY2ggc3VjaCBjeWNsaWMNCj4gK3NoaWZ0 IG91dHB1dC4NCj4gKw0KPiArQSBmbGV4aWJsZSBudW1iZXIgb2YgUnggYW50ZW5uYXMgYXJlIGJl aW5nIHByb2Nlc3NlZCBpbiBwYXJhbGxlbCB3aXRoIHRoZSBzYW1lDQo+IGNvbmZpZ3VyYXRpb24u DQo+ICtUaGUgQVBJIGFsbG93cyBtb3JlIGdlbmVyYWxseSBmb3IgZmxleGliaWxpdHkgaW4gd2hh dCB0aGUgUE1EIG1heSBzdXBwb3J0DQo+IChjYXBhYmlsaXR5IGZsYWdzKSBhbmQNCj4gK2ZsZXhp YmlsaXR5IHRvIGFkanVzdCBzb21lIG9mIHRoZSBwYXJhbWV0ZXJzIG9mIHRoZSBwcm9jZXNzaW5n Lg0KPiArDQo+ICtUaGUgb3BlcmF0aW9uL2NhcGFiaWxpdHkgZmxhZ3MgdGhhdCBjYW4gYmUgc2V0 IGZvciBlYWNoIEZGVCBvcGVyYXRpb24gYXJlIGdpdmVuDQo+IGJlbG93Lg0KPiArDQo+ICsgICoq Tk9URToqKiBUaGUgYWN0dWFsIG9wZXJhdGlvbiBmbGFncyB0aGF0IG1heSBiZSB1c2VkIHdpdGgg YSBzcGVjaWZpYw0KPiArICBCQkRFViBQTUQgYXJlIGRlcGVuZGVudCBvbiB0aGUgZHJpdmVyIGNh cGFiaWxpdGllcyBhcyByZXBvcnRlZCB2aWENCj4gKyAgYGBydGVfYmJkZXZfaW5mb19nZXQoKWBg LCBhbmQgbWF5IGJlIGEgc3Vic2V0IG9mIHRob3NlIGJlbG93Lg0KPiArDQo+ICsrLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0rDQo+ICt8RGVzY3JpcHRpb24gb2YgRkZUIGNhcGFiaWxpdHkgZmxhZ3MgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICB8DQo+ICsrPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQo+ID09PT09Kw0KPiArfFJURV9CQkRF Vl9GRlRfV0lORE9XSU5HICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgfA0KPiArfCBTZXQgdG8gZW5hYmxlL3N1cHBvcnQgd2luZG93aW5nIGluIHRpbWUgZG9tYWlu ICAgICAgICAgICAgICAgICAgICAgfA0KPiArKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKw0KPiArfFJURV9CQkRFVl9G RlRfQ1NfQURKVVNUTUVOVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg fA0KPiArfCBTZXQgdG8gZW5hYmxlL3N1cHBvcnQgIHRoZSBjeWNsaWMgc2hpZnQgdGltZSBvZmZz ZXQgYWRqdXN0bWVudCAgICAgfA0KPiArKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKw0KPiArfFJURV9CQkRFVl9GRlRf REZUX0JZUEFTUyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfA0K PiArfCBTZXQgdG8gYnlwYXNzIHRoZSBERlQgYW5kIHVzZSBkaXJlY3RseSB0aGUgSURGVCBhcyBh biBvcHRpb24gICAgICAgfA0KPiArKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKw0KPiArfFJURV9CQkRFVl9GRlRfSURG VF9CWVBBU1MgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfA0KPiAr fCBTZXQgdG8gYnlwYXNzIHRoZSBJREZUIGFuZCB1c2UgZGlyZWN0bHkgdGhlIERGVCBhcyBhbiBv cHRpb24gICAgICAgfA0KPiArKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKw0KPiArfFJURV9CQkRFVl9GRlRfV0lORE9X SU5HX0JZUEFTUyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfA0KPiArfCBT ZXQgdG8gYnlwYXNzIHRoZSB0aW1lIGRvbWFpbiB3aW5kb3dpbmcgIGFzIGFuIG9wdGlvbiAgICAg ICAgICAgICAgfA0KPiArKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKw0KPiArfFJURV9CQkRFVl9GRlRfUE9XRVJfTUVB UyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfA0KPiArfCBTZXQg dG8gcHJvdmlkZSBhbiBvcHRpb25hbCBwb3dlciBtZWFzdXJlbWVudCBvZiB0aGUgREZUIG91dHB1 dCAgICAgfA0KPiArKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKw0KPiArfFJURV9CQkRFVl9GRlRfRlAxNl9JTlBVVCAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfA0KPiArfCBTZXQgaWYg dGhlIGlucHV0IGRhdGEgc2hhbGwgdXNlIEZQMTYgZm9ybWF0IGluc3RlYWQgb2YgSU5UMTYgICAg ICAgfA0KPiArKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tKw0KPiArfFJURV9CQkRFVl9GRlRfRlAxNl9PVVRQVVQgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfA0KPiArfCBTZXQgaWYgdGhl IG91dHB1dCBkYXRhIHNoYWxsIHVzZSBGUDE2IGZvcm1hdCBpbnN0ZWFkIG9mIElOVDE2ICAgICAg fA0KPiArKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tKw0KPiArDQo+ICtUaGUgc3RydWN0dXJlIHBhc3NlZCBmb3IgZWFj aCBGRlQgb3BlcmF0aW9uIGlzIGdpdmVuIGJlbG93LA0KPiArd2l0aCB0aGUgb3BlcmF0aW9uIGZs YWdzIGZvcm1pbmcgYSBiaXRtYXNrIGluIHRoZSBgYG9wX2ZsYWdzYGAgZmllbGQuDQo+ICsNCj4g Ky4uIGNvZGUtYmxvY2s6OiBjDQo+ICsNCj4gKyAgICBzdHJ1Y3QgcnRlX2JiZGV2X29wX2ZmdCB7 DQo+ICsgICAgICAgIHN0cnVjdCBydGVfYmJkZXZfb3BfZGF0YSBiYXNlX2lucHV0Ow0KPiArICAg ICAgICBzdHJ1Y3QgcnRlX2JiZGV2X29wX2RhdGEgYmFzZV9vdXRwdXQ7DQo+ICsgICAgICAgIHN0 cnVjdCBydGVfYmJkZXZfb3BfZGF0YSBwb3dlcl9tZWFzX291dHB1dDsNCj4gKyAgICAgICAgdWlu dDMyX3Qgb3BfZmxhZ3M7DQo+ICsgICAgICAgIHVpbnQxNl90IGlucHV0X3NlcXVlbmNlX3NpemU7 DQo+ICsgICAgICAgIHVpbnQxNl90IGlucHV0X2xlYWRpbmdfcGFkZGluZzsNCj4gKyAgICAgICAg dWludDE2X3Qgb3V0cHV0X3NlcXVlbmNlX3NpemU7DQo+ICsgICAgICAgIHVpbnQxNl90IG91dHB1 dF9sZWFkaW5nX2RlcGFkZGluZzsNCj4gKyAgICAgICAgdWludDhfdCB3aW5kb3dfaW5kZXhbUlRF X0JCREVWX01BWF9DU18yXTsNCj4gKyAgICAgICAgdWludDE2X3QgY3NfYml0bWFwOw0KPiArICAg ICAgICB1aW50OF90IG51bV9hbnRlbm5hc19sb2cyOw0KPiArICAgICAgICB1aW50OF90IGlkZnRf bG9nMjsNCj4gKyAgICAgICAgdWludDhfdCBkZnRfbG9nMjsNCj4gKyAgICAgICAgaW50OF90IGNz X3RpbWVfYWRqdXN0bWVudDsNCj4gKyAgICAgICAgaW50OF90IGlkZnRfc2hpZnQ7DQo+ICsgICAg ICAgIGludDhfdCBkZnRfc2hpZnQ7DQo+ICsgICAgICAgIHVpbnQxNl90IG5jc19yZWNpcHJvY2Fs Ow0KPiArICAgICAgICB1aW50MTZfdCBwb3dlcl9zaGlmdDsNCj4gKyAgICAgICAgdWludDE2X3Qg ZnAxNl9leHBfYWRqdXN0Ow0KPiArICAgIH07DQoNCldoeSBpcyB0aGlzIGNvZGVibG9jayBhZGRl ZCBpbiB0aGlzIGd1aWRlPyBJc24ndCBpdCBjb3ZlcmVkIGluIHRoZSBkb3h5Z2VuIEFQSSBkb2M/ DQoNCj4gKw0KPiArVGhlIEZGVCBwYXJhbWV0ZXJzIGFyZSBzZXQgb3V0IGluIHRoZSB0YWJsZSBi ZWxvdy4NCj4gKw0KPiArKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rDQo+ICt8UGFy YW1ldGVyICAgICAgICAgICAgICAgIHxEZXNjcmlwdGlvbiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwNCj4gKys9PT09PT09PT09PT09PT09PT09PT09 PT09Kz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCj4gPT09PT09PT09PT09 PT09PT09PT09PT09PSsNCj4gK3xiYXNlX2lucHV0ICAgICAgICAgICAgICAgfGlucHV0IGRhdGEg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfA0KPiAr Ky0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rDQo+ICt8YmFzZV9vdXRwdXQgICAgICAg ICAgICAgIHxvdXRwdXQgZGF0YSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHwNCj4gKystLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKw0KPiAr fHBvd2VyX21lYXNfb3V0cHV0ICAgICAgICB8b3B0aW9uYWwgb3V0cHV0IGRhdGEgd2l0aCBwb3dl ciBtZWFzdXJlbWVudCBvbg0KPiBERlQgb3V0cHV0ICAgICB8DQo+ICsrLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLSsNCj4gK3xvcF9mbGFncyAgICAgICAgICAgICAgICAgfGJpdG1hc2sg b2YgYWxsIGFjdGl2ZSBvcGVyYXRpb24gY2FwYWJpbGl0aWVzICAgICAgICAgICAgICAgICAgfA0K PiArKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rDQo+ICt8aW5wdXRfc2VxdWVuY2Vf c2l6ZSAgICAgIHxzaXplIG9mIHRoZSBpbnB1dCBzZXF1ZW5jZSBpbiAzMi1iaXRzIHBvaW50cyBw ZXINCj4gYW50ZW5uYSAgICAgIHwNCj4gKystLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t Kw0KPiArfGlucHV0X2xlYWRpbmdfcGFkZGluZyAgICB8bnVtYmVyIG9mIHBvaW50cyBwYWRkZWQg YXQgdGhlIHN0YXJ0IG9mIGlucHV0IGRhdGENCj4gfA0KPiArKy0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0rDQo+ICt8b3V0cHV0X3NlcXVlbmNlX3NpemUgICAgIHxzaXplIG9mIHRoZSBv dXRwdXQgc2VxdWVuY2UgcGVyIGFudGVubmEgYW5kIGN5Y2xpYw0KPiBzaGlmdCAgICAgIHwNCj4g KystLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKw0KPiArfG91dHB1dF9sZWFkaW5nX2Rl cGFkZGluZyB8bnVtYmVyIG9mIHBvaW50cyBkZS1wYWRkZWQgYXQgdGhlIHN0YXJ0IG9mDQo+IG91 dHB1dCBkYXRhICAgICAgICB8DQo+ICsrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsN Cj4gK3x3aW5kb3dfaW5kZXggICAgICAgICAgICAgfG9wdGlvbmFsIHdpbmRvd2luZyBwcm9maWxl IGluZGV4IHVzZWQgZm9yIGVhY2ggY3ljbGljDQo+IHNoaWZ0ICAgfA0KPiArKy0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0rDQo+ICt8Y3NfYml0bWFwICAgICAgICAgICAgICAgIHxiaXRt YXAgb2YgdGhlIGN5Y2xpYyBzaGlmdCBvdXRwdXQgcmVxdWVzdGVkIChMU0IgZm9yIGluZGV4DQo+ IDApIHwNCj4gKystLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKw0KPiArfG51bV9hbnRl bm5hc19sb2cyICAgICAgICB8bnVtYmVyIG9mIGFudGVubmFzIGFzIGEgbG9nMiAoMTAgbWFwcyB0 byAxMDI0Li4uKQ0KPiB8DQo+ICsrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsNCj4g K3xpZGZ0X2xvZzIgICAgICAgICAgICAgICAgfGlERlQgc2l6ZSBhcyBhIGxvZzIgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfA0KPiArKy0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0rDQo+ICt8ZGZ0X2xvZzIgICAgICAgICAgICAgICAgIHxERlQgc2l6ZSBh cyBhIGxvZzIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwNCj4g KystLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKw0KPiArfGNzX3RpbWVfYWRqdXN0bWVu dCAgICAgICB8YWRqdXN0bWVudCBvZiB0aW1lIHBvc2l0aW9uIG9mIGFsbCB0aGUgY3ljbGljIHNo aWZ0DQo+IG91dHB1dCAgICB8DQo+ICsrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsN Cj4gK3xpZGZ0X3NoaWZ0ICAgICAgICAgICAgICAgfHNoaWZ0IGRvd24gb2Ygc2lnbmFsIGxldmVs IHBvc3QgaURGVCAgICAgICAgICAgICAgICAgICAgICAgICAgfA0KPiArKy0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0rDQo+ICt8ZGZ0X3NoaWZ0ICAgICAgICAgICAgICAgIHxzaGlmdCBk b3duIG9mIHNpZ25hbCBsZXZlbCBwb3N0IERGVCAgICAgICAgICAgICAgICAgICAgICAgICAgIHwN Cj4gKystLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKw0KPiArfG5jc19yZWNpcHJvY2Fs ICAgICAgICAgICB8aW52ZXJzZSBvZiBtYXggbnVtYmVyIG9mIENTIG5vcm1hbGl6ZWQgdG8gMTVi IChpZS4gMjMxDQo+IGZvciAxMil8DQo+ICsrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LSsNCj4gK3xwb3dlcl9zaGlmdCAgICAgICAgICAgICAgfHNoaWZ0IGRvd24gb2YgbGV2ZWwgb2Yg cG93ZXIgbWVhc3VyZW1lbnQgd2hlbiBlbmFibGVkDQo+IHwNCj4gKystLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tKw0KPiArfGZwMTZfZXhwX2FkanVzdCAgICAgICAgICB8dmFsdWUgYWRk ZWQgdG8gRlAxNiBleHBvbmVudCBhdCBjb252ZXJzaW9uIGZyb20NCj4gSU5UMTYgICAgICAgICB8 DQo+ICsrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsNCj4gKw0KPiArVGhlIG1idWYg aW5wdXQgYGBiYXNlX2lucHV0YGAgaXMgbWFuZGF0b3J5IGZvciBhbGwgQkJERVYgUE1EcyBhbmQg aXMgdGhlDQo+ICtpbmNvbWluZyBkYXRhIGZvciB0aGUgcHJvY2Vzc2luZy4gSXRzIHNpemUgbWF5 IG5vdCBmaXQgaW50byBhbiBhY3R1YWwgbWJ1ZiwgYnV0DQo+IHRoZQ0KPiArc3RydWN0dXJlIGlz IHVzZWQgdG8gcGFzcyBpb3ZhIGFkZHJlc3MuDQo+ICtUaGUgbWJ1ZiBvdXRwdXQgYGBvdXRwdXRg YCBpcyBtYW5kYXRvcnkgYW5kIGlzIG91dHB1dCBvZiB0aGUgRkZUIHByb2Nlc3NpbmcNCj4gY2hh aW4uDQo+ICtFYWNoIHBvaW50IGlzIGEgY29tcGxleCBudW1iZXIgb2YgMzJiaXRzIDogZWl0aGVy IGFzIDIgSU5UMTYgb3IgYXMgMiBGUDE2IGJhc2VkDQo+IHdoZW4gdGhlIG9wdGlvbg0KPiArc3Vw cG9ydGVkLg0KPiArVGhlIGRhdGEgbGF5b3V0IGlzIGJhc2VkIG9uIGNvbnRpZ3VvdXMgY29uY2F0 ZW5hdGlvbiBvZiBvdXRwdXQgZGF0YSBmaXJzdCBieQ0KPiBjeWNsaWMgc2hpZnQgdGhlbg0KPiAr YnkgYW50ZW5uYS4NCj4gDQo+ICBTYW1wbGUgY29kZQ0KPiAgLS0tLS0tLS0tLS0NCj4gZGlmZiAt LWdpdCBhL2xpYi9iYmRldi9ydGVfYmJkZXYuYyBiL2xpYi9iYmRldi9ydGVfYmJkZXYuYw0KPiBp bmRleCAzODYzMGEyLi45ZDY1YmE4IDEwMDY0NA0KPiAtLS0gYS9saWIvYmJkZXYvcnRlX2JiZGV2 LmMNCj4gKysrIGIvbGliL2JiZGV2L3J0ZV9iYmRldi5jDQo+IEBAIC0yNCw3ICsyNCw3IEBADQo+ ICAjZGVmaW5lIERFVl9OQU1FICJCQkRFViINCj4gDQo+ICAvKiBOdW1iZXIgb2Ygc3VwcG9ydGVk IG9wZXJhdGlvbiB0eXBlcyAqLw0KPiAtI2RlZmluZSBCQkRFVl9PUF9UWVBFX0NPVU5UIDUNCj4g KyNkZWZpbmUgQkJERVZfT1BfVFlQRV9DT1VOVCA2DQo+IA0KPiAgLyogQkJEZXYgbGlicmFyeSBs b2dnaW5nIElEICovDQo+ICBSVEVfTE9HX1JFR0lTVEVSX0RFRkFVTFQoYmJkZXZfbG9ndHlwZSwg Tk9USUNFKTsNCj4gQEAgLTg1Miw2ICs4NTIsOSBAQCBzdHJ1Y3QgcnRlX2JiZGV2ICoNCj4gIAlj YXNlIFJURV9CQkRFVl9PUF9MRFBDX0VOQzoNCj4gIAkJcmVzdWx0ID0gc2l6ZW9mKHN0cnVjdCBy dGVfYmJkZXZfZW5jX29wKTsNCj4gIAkJYnJlYWs7DQo+ICsJY2FzZSBSVEVfQkJERVZfT1BfRkZU Og0KPiArCQlyZXN1bHQgPSBzaXplb2Yoc3RydWN0IHJ0ZV9iYmRldl9mZnRfb3ApOw0KPiArCQli cmVhazsNCj4gIAlkZWZhdWx0Og0KPiAgCQlicmVhazsNCj4gIAl9DQo+IEBAIC04NzUsNiArODc4 LDEwIEBAIHN0cnVjdCBydGVfYmJkZXYgKg0KPiAgCQlzdHJ1Y3QgcnRlX2JiZGV2X2VuY19vcCAq b3AgPSBlbGVtZW50Ow0KPiAgCQltZW1zZXQob3AsIDAsIG1lbXBvb2wtPmVsdF9zaXplKTsNCj4g IAkJb3AtPm1lbXBvb2wgPSBtZW1wb29sOw0KPiArCX0gZWxzZSBpZiAodHlwZSA9PSBSVEVfQkJE RVZfT1BfRkZUKSB7DQo+ICsJCXN0cnVjdCBydGVfYmJkZXZfZmZ0X29wICpvcCA9IGVsZW1lbnQ7 DQo+ICsJCW1lbXNldChvcCwgMCwgbWVtcG9vbC0+ZWx0X3NpemUpOw0KPiArCQlvcC0+bWVtcG9v bCA9IG1lbXBvb2w7DQo+ICAJfQ0KPiAgfQ0KPiANCj4gQEAgLTExMjUsNiArMTEzMiw3IEBAIHN0 cnVjdCBydGVfbWVtcG9vbCAqDQo+ICAJCSJSVEVfQkJERVZfT1BfVFVSQk9fRU5DIiwNCj4gIAkJ IlJURV9CQkRFVl9PUF9MRFBDX0RFQyIsDQo+ICAJCSJSVEVfQkJERVZfT1BfTERQQ19FTkMiLA0K PiArCQkiUlRFX0JCREVWX09QX0ZGVCIsDQo+ICAJfTsNCj4gDQo+ICAJaWYgKG9wX3R5cGUgPCBC QkRFVl9PUF9UWVBFX0NPVU5UKQ0KPiBkaWZmIC0tZ2l0IGEvbGliL2JiZGV2L3J0ZV9iYmRldi5o IGIvbGliL2JiZGV2L3J0ZV9iYmRldi5oDQo+IGluZGV4IGFjOTQxZDYuLmVkNTI4YjggMTAwNjQ0 DQo+IC0tLSBhL2xpYi9iYmRldi9ydGVfYmJkZXYuaA0KPiArKysgYi9saWIvYmJkZXYvcnRlX2Ji ZGV2LmgNCj4gQEAgLTQwMSw2ICs0MDEsMTIgQEAgdHlwZWRlZiB1aW50MTZfdCAoKnJ0ZV9iYmRl dl9lbnF1ZXVlX2RlY19vcHNfdCkoDQo+ICAJCXN0cnVjdCBydGVfYmJkZXZfZGVjX29wICoqb3Bz LA0KPiAgCQl1aW50MTZfdCBudW0pOw0KPiANCj4gKy8qKiBAaW50ZXJuYWwgRW5xdWV1ZSBmZnQg b3BlcmF0aW9ucyBmb3IgcHJvY2Vzc2luZyBvbiBxdWV1ZSBvZiBhIGRldmljZS4gKi8NCj4gK3R5 cGVkZWYgdWludDE2X3QgKCpydGVfYmJkZXZfZW5xdWV1ZV9mZnRfb3BzX3QpKA0KPiArCQlzdHJ1 Y3QgcnRlX2JiZGV2X3F1ZXVlX2RhdGEgKnFfZGF0YSwNCj4gKwkJc3RydWN0IHJ0ZV9iYmRldl9m ZnRfb3AgKipvcHMsDQo+ICsJCXVpbnQxNl90IG51bSk7DQo+ICsNCj4gIC8qKiBAaW50ZXJuYWwg RGVxdWV1ZSBlbmNvZGUgb3BlcmF0aW9ucyBmcm9tIGEgcXVldWUgb2YgYSBkZXZpY2UuICovDQo+ ICB0eXBlZGVmIHVpbnQxNl90ICgqcnRlX2JiZGV2X2RlcXVldWVfZW5jX29wc190KSgNCj4gIAkJ c3RydWN0IHJ0ZV9iYmRldl9xdWV1ZV9kYXRhICpxX2RhdGEsDQo+IEBAIC00MTEsNiArNDE3LDEx IEBAIHR5cGVkZWYgdWludDE2X3QgKCpydGVfYmJkZXZfZGVxdWV1ZV9kZWNfb3BzX3QpKA0KPiAg CQlzdHJ1Y3QgcnRlX2JiZGV2X3F1ZXVlX2RhdGEgKnFfZGF0YSwNCj4gIAkJc3RydWN0IHJ0ZV9i YmRldl9kZWNfb3AgKipvcHMsIHVpbnQxNl90IG51bSk7DQo+IA0KPiArLyoqIEBpbnRlcm5hbCBE ZXF1ZXVlIGZmdCBvcGVyYXRpb25zIGZyb20gYSBxdWV1ZSBvZiBhIGRldmljZS4gKi8NCj4gK3R5 cGVkZWYgdWludDE2X3QgKCpydGVfYmJkZXZfZGVxdWV1ZV9mZnRfb3BzX3QpKA0KPiArCQlzdHJ1 Y3QgcnRlX2JiZGV2X3F1ZXVlX2RhdGEgKnFfZGF0YSwNCj4gKwkJc3RydWN0IHJ0ZV9iYmRldl9m ZnRfb3AgKipvcHMsIHVpbnQxNl90IG51bSk7DQo+ICsNCj4gICNkZWZpbmUgUlRFX0JCREVWX05B TUVfTUFYX0xFTiAgNjQgIC8qKjwgTWF4IGxlbmd0aCBvZiBkZXZpY2UgbmFtZSAqLw0KPiANCj4g IC8qKg0KPiBAQCAtNDU5LDYgKzQ3MCwxMCBAQCBzdHJ1Y3QgX19ydGVfY2FjaGVfYWxpZ25lZCBy dGVfYmJkZXYgew0KPiAgCXJ0ZV9iYmRldl9kZXF1ZXVlX2VuY19vcHNfdCBkZXF1ZXVlX2xkcGNf ZW5jX29wczsNCj4gIAkvKiogRGVxdWV1ZSBkZWNvZGUgZnVuY3Rpb24gKi8NCj4gIAlydGVfYmJk ZXZfZGVxdWV1ZV9kZWNfb3BzX3QgZGVxdWV1ZV9sZHBjX2RlY19vcHM7DQo+ICsJLyoqIEVucXVl dWUgRkZUIGZ1bmN0aW9uICovDQo+ICsJcnRlX2JiZGV2X2VucXVldWVfZmZ0X29wc190IGVucXVl dWVfZmZ0X29wczsNCj4gKwkvKiogRGVxdWV1ZSBGRlQgZnVuY3Rpb24gKi8NCj4gKwlydGVfYmJk ZXZfZGVxdWV1ZV9mZnRfb3BzX3QgZGVxdWV1ZV9mZnRfb3BzOw0KPiAgCWNvbnN0IHN0cnVjdCBy dGVfYmJkZXZfb3BzICpkZXZfb3BzOyAgLyoqPCBGdW5jdGlvbnMgZXhwb3J0ZWQgYnkgUE1EDQo+ ICovDQo+ICAJc3RydWN0IHJ0ZV9iYmRldl9kYXRhICpkYXRhOyAgLyoqPCBQb2ludGVyIHRvIGRl dmljZSBkYXRhICovDQo+ICAJZW51bSBydGVfYmJkZXZfc3RhdGUgc3RhdGU7ICAvKio8IElmIGRl dmljZSBpcyBjdXJyZW50bHkgdXNlZCBvciBub3QgKi8NCj4gQEAgLTU5MSw2ICs2MDYsMzYgQEAg c3RydWN0IF9fcnRlX2NhY2hlX2FsaWduZWQgcnRlX2JiZGV2IHsNCj4gIAlyZXR1cm4gZGV2LT5l bnF1ZXVlX2xkcGNfZGVjX29wcyhxX2RhdGEsIG9wcywgbnVtX29wcyk7DQo+ICB9DQo+IA0KPiAr LyoqDQo+ICsgKiBFbnF1ZXVlIGEgYnVyc3Qgb2YgZmZ0IG9wZXJhdGlvbnMgdG8gYSBxdWV1ZSBv ZiB0aGUgZGV2aWNlLg0KDQpQbGVhc2UgYmUgY29uc2lzdGVudCBvZiB1c2luZyBmZnQgb3IgRkZU IGluIGNvbW1lbnRzLiBJdCBzaG91bGQgYmUgRkZUIGFsd2F5cyBpbiBjb21tZW50cy4NCg0KPiAr ICogVGhpcyBmdW5jdGlvbnMgb25seSBlbnF1ZXVlcyBhcyBtYW55IG9wZXJhdGlvbnMgYXMgY3Vy cmVudGx5IHBvc3NpYmxlIGFuZA0KPiArICogZG9lcyBub3QgYmxvY2sgdW50aWwgQHAgbnVtX29w cyBlbnRyaWVzIGluIHRoZSBxdWV1ZSBhcmUgYXZhaWxhYmxlLg0KPiArICogVGhpcyBmdW5jdGlv biBkb2VzIG5vdCBwcm92aWRlIGFueSBlcnJvciBub3RpZmljYXRpb24gdG8gYXZvaWQgdGhlDQo+ ICsgKiBjb3JyZXNwb25kaW5nIG92ZXJoZWFkLg0KPiArICoNCj4gKyAqIEBwYXJhbSBkZXZfaWQN Cj4gKyAqICAgVGhlIGlkZW50aWZpZXIgb2YgdGhlIGRldmljZS4NCj4gKyAqIEBwYXJhbSBxdWV1 ZV9pZA0KPiArICogICBUaGUgaW5kZXggb2YgdGhlIHF1ZXVlLg0KPiArICogQHBhcmFtIG9wcw0K PiArICogICBQb2ludGVyIGFycmF5IGNvbnRhaW5pbmcgb3BlcmF0aW9ucyB0byBiZSBlbnF1ZXVl ZCBNdXN0IGhhdmUgYXQgbGVhc3QNCj4gKyAqICAgQHAgbnVtX29wcyBlbnRyaWVzDQo+ICsgKiBA cGFyYW0gbnVtX29wcw0KPiArICogICBUaGUgbWF4aW11bSBudW1iZXIgb2Ygb3BlcmF0aW9ucyB0 byBlbnF1ZXVlLg0KPiArICoNCj4gKyAqIEByZXR1cm4NCj4gKyAqICAgVGhlIG51bWJlciBvZiBv cGVyYXRpb25zIGFjdHVhbGx5IGVucXVldWVkICh0aGlzIGlzIHRoZSBudW1iZXIgb2YNCj4gcHJv Y2Vzc2VkDQo+ICsgKiAgIGVudHJpZXMgaW4gdGhlIEBwIG9wcyBhcnJheSkuDQo+ICsgKi8NCj4g K19fcnRlX2V4cGVyaW1lbnRhbA0KPiArc3RhdGljIGlubGluZSB1aW50MTZfdA0KPiArcnRlX2Ji ZGV2X2VucXVldWVfZmZ0X29wcyh1aW50MTZfdCBkZXZfaWQsIHVpbnQxNl90IHF1ZXVlX2lkLA0K PiArCQlzdHJ1Y3QgcnRlX2JiZGV2X2ZmdF9vcCAqKm9wcywgdWludDE2X3QgbnVtX29wcykNCj4g K3sNCj4gKwlzdHJ1Y3QgcnRlX2JiZGV2ICpkZXYgPSAmcnRlX2JiZGV2X2RldmljZXNbZGV2X2lk XTsNCj4gKwlzdHJ1Y3QgcnRlX2JiZGV2X3F1ZXVlX2RhdGEgKnFfZGF0YSA9ICZkZXYtPmRhdGEt DQo+ID5xdWV1ZXNbcXVldWVfaWRdOw0KPiArCXJldHVybiBkZXYtPmVucXVldWVfZmZ0X29wcyhx X2RhdGEsIG9wcywgbnVtX29wcyk7DQo+ICt9DQo+IA0KPiAgLyoqDQo+ICAgKiBEZXF1ZXVlIGEg YnVyc3Qgb2YgcHJvY2Vzc2VkIGVuY29kZSBvcGVyYXRpb25zIGZyb20gYSBxdWV1ZSBvZiB0aGUg ZGV2aWNlLg0KPiBAQCAtNzE2LDYgKzc2MSwzNyBAQCBzdHJ1Y3QgX19ydGVfY2FjaGVfYWxpZ25l ZCBydGVfYmJkZXYgew0KPiAgCXJldHVybiBkZXYtPmRlcXVldWVfbGRwY19kZWNfb3BzKHFfZGF0 YSwgb3BzLCBudW1fb3BzKTsNCj4gIH0NCj4gDQo+ICsvKioNCj4gKyAqIERlcXVldWUgYSBidXJz dCBvZiBmZnQgb3BlcmF0aW9ucyBmcm9tIGEgcXVldWUgb2YgdGhlIGRldmljZS4NCj4gKyAqIFRo aXMgZnVuY3Rpb25zIHJldHVybnMgb25seSB0aGUgY3VycmVudCBjb250ZW50cyBvZiB0aGUgcXVl dWUsIGFuZCBkb2VzIG5vdA0KPiArICogYmxvY2sgdW50aWwgQCBudW1fb3BzIGlzIGF2YWlsYWJs ZS4NCj4gKyAqIFRoaXMgZnVuY3Rpb24gZG9lcyBub3QgcHJvdmlkZSBhbnkgZXJyb3Igbm90aWZp Y2F0aW9uIHRvIGF2b2lkIHRoZQ0KPiArICogY29ycmVzcG9uZGluZyBvdmVyaGVhZC4NCj4gKyAq DQo+ICsgKiBAcGFyYW0gZGV2X2lkDQo+ICsgKiAgIFRoZSBpZGVudGlmaWVyIG9mIHRoZSBkZXZp Y2UuDQo+ICsgKiBAcGFyYW0gcXVldWVfaWQNCj4gKyAqICAgVGhlIGluZGV4IG9mIHRoZSBxdWV1 ZS4NCj4gKyAqIEBwYXJhbSBvcHMNCj4gKyAqICAgUG9pbnRlciBhcnJheSB3aGVyZSBvcGVyYXRp b25zIHdpbGwgYmUgZGVxdWV1ZWQgdG8uIE11c3QgaGF2ZSBhdCBsZWFzdA0KPiArICogICBAcCBu dW1fb3BzIGVudHJpZXMNCj4gKyAqIEBwYXJhbSBudW1fb3BzDQo+ICsgKiAgIFRoZSBtYXhpbXVt IG51bWJlciBvZiBvcGVyYXRpb25zIHRvIGRlcXVldWUuDQo+ICsgKg0KPiArICogQHJldHVybg0K PiArICogICBUaGUgbnVtYmVyIG9mIG9wZXJhdGlvbnMgYWN0dWFsbHkgZGVxdWV1ZWQgKHRoaXMg aXMgdGhlIG51bWJlciBvZiBlbnRyaWVzDQo+ICsgKiAgIGNvcGllZCBpbnRvIHRoZSBAcCBvcHMg YXJyYXkpLg0KPiArICovDQo+ICtfX3J0ZV9leHBlcmltZW50YWwNCj4gK3N0YXRpYyBpbmxpbmUg dWludDE2X3QNCj4gK3J0ZV9iYmRldl9kZXF1ZXVlX2ZmdF9vcHModWludDE2X3QgZGV2X2lkLCB1 aW50MTZfdCBxdWV1ZV9pZCwNCj4gKwkJc3RydWN0IHJ0ZV9iYmRldl9mZnRfb3AgKipvcHMsIHVp bnQxNl90IG51bV9vcHMpDQo+ICt7DQo+ICsJc3RydWN0IHJ0ZV9iYmRldiAqZGV2ID0gJnJ0ZV9i YmRldl9kZXZpY2VzW2Rldl9pZF07DQo+ICsJc3RydWN0IHJ0ZV9iYmRldl9xdWV1ZV9kYXRhICpx X2RhdGEgPSAmZGV2LT5kYXRhLQ0KPiA+cXVldWVzW3F1ZXVlX2lkXTsNCj4gKwlyZXR1cm4gZGV2 LT5kZXF1ZXVlX2ZmdF9vcHMocV9kYXRhLCBvcHMsIG51bV9vcHMpOw0KPiArfQ0KPiArDQo+ICAv KiogRGVmaW5pdGlvbnMgb2YgZGV2aWNlIGV2ZW50IHR5cGVzICovDQo+ICBlbnVtIHJ0ZV9iYmRl dl9ldmVudF90eXBlIHsNCj4gIAlSVEVfQkJERVZfRVZFTlRfVU5LTk9XTiwgIC8qKjwgdW5rbm93 biBldmVudCB0eXBlICovDQo+IGRpZmYgLS1naXQgYS9saWIvYmJkZXYvcnRlX2JiZGV2X29wLmgg Yi9saWIvYmJkZXYvcnRlX2JiZGV2X29wLmgNCj4gaW5kZXggY2Q4MjQxOC4uYWZhMWE3MSAxMDA2 NDQNCj4gLS0tIGEvbGliL2JiZGV2L3J0ZV9iYmRldl9vcC5oDQo+ICsrKyBiL2xpYi9iYmRldi9y dGVfYmJkZXZfb3AuaA0KPiBAQCAtNDcsNiArNDcsOCBAQA0KPiAgI2RlZmluZSBSVEVfQkJERVZf VFVSQk9fTUFYX0NPREVfQkxPQ0tTICg2NCkNCj4gIC8qIExEUEM6ICBNYXhpbXVtIG51bWJlciBv ZiBDb2RlIEJsb2NrcyBpbiBUcmFuc3BvcnQgQmxvY2suKi8NCj4gICNkZWZpbmUgUlRFX0JCREVW X0xEUENfTUFYX0NPREVfQkxPQ0tTICgyNTYpDQo+ICsvKiAxMiBDUyBtYXhpbXVtICovDQo+ICsj ZGVmaW5lIFJURV9CQkRFVl9NQVhfQ1NfMiAoNikNCj4gDQo+ICAvKiogRmxhZ3MgZm9yIHR1cmJv IGRlY29kZXIgb3BlcmF0aW9uIGFuZCBjYXBhYmlsaXR5IHN0cnVjdHVyZSAqLw0KPiAgZW51bSBy dGVfYmJkZXZfb3BfdGRfZmxhZ19iaXRtYXNrcyB7DQo+IEBAIC0yMTEsNiArMjEzLDI2IEBAIGVu dW0gcnRlX2JiZGV2X29wX2xkcGNlbmNfZmxhZ19iaXRtYXNrcyB7DQo+ICAJUlRFX0JCREVWX0xE UENfRU5DX0NPTkNBVEVOQVRJT04gPSAoMVVMTCA8PCA3KQ0KPiAgfTsNCj4gDQo+ICsvKiogRmxh Z3MgZm9yIERGVCBvcGVyYXRpb24gYW5kIGNhcGFiaWxpdHkgc3RydWN0dXJlICovDQo+ICtlbnVt IHJ0ZV9iYmRldl9vcF9mZnRfZmxhZ19iaXRtYXNrcyB7DQo+ICsJLyoqIEZsZXhpYmxlIHdpbmRv d2luZyBjYXBhYmlsaXR5ICovDQo+ICsJUlRFX0JCREVWX0ZGVF9XSU5ET1dJTkcgPSAoMVVMTCA8 PCAwKSwNCj4gKwkvKiogRmxleGlibGUgYWRqdXN0bWVudCBvZiBDeWNsaWMgU2hpZnQgdGltZSBv ZmZzZXQgKi8NCj4gKwlSVEVfQkJERVZfRkZUX0NTX0FESlVTVE1FTlQgPSAoMVVMTCA8PCAxKSwN Cj4gKwkvKiogU2V0IGZvciBieXBhc3MgdGhlIERGVCBhbmQgZ2V0IGRpcmVjdGx5IGludG8gaURG VCBpbnB1dCAqLw0KPiArCVJURV9CQkRFVl9GRlRfREZUX0JZUEFTUyA9ICgxVUxMIDw8IDIpLA0K PiArCS8qKiBTZXQgZm9yIGJ5cGFzcyB0aGUgSURGVCBhbmQgZ2V0IGRpcmVjdGx5IHRoZSBERlQg b3V0cHV0ICovDQo+ICsJUlRFX0JCREVWX0ZGVF9JREZUX0JZUEFTUyA9ICgxVUxMIDw8IDMpLA0K PiArCS8qKiBTZXQgZm9yIGJ5cGFzcyB0aW1lIGRvbWFpbiB3aW5kb3dpbmcgKi8NCj4gKwlSVEVf QkJERVZfRkZUX1dJTkRPV0lOR19CWVBBU1MgPSAoMVVMTCA8PCA0KSwNCj4gKwkvKiogU2V0IGZv ciBvcHRpb25hbCBwb3dlciBtZWFzdXJlbWVudCBvbiBERlQgb3V0cHV0ICovDQo+ICsJUlRFX0JC REVWX0ZGVF9QT1dFUl9NRUFTID0gKDFVTEwgPDwgNSksDQo+ICsJLyoqIFNldCBpZiB0aGUgaW5w dXQgZGF0YSB1c2VkIEZQMTYgZm9ybWF0ICovDQo+ICsJUlRFX0JCREVWX0ZGVF9GUDE2X0lOUFVU ID0gKDFVTEwgPDwgNiksDQo+ICsJLyoqICBTZXQgaWYgdGhlIG91dHB1dCBkYXRhIHVzZXMgRlAx NiBmb3JtYXQgICovDQo+ICsJUlRFX0JCREVWX0ZGVF9GUDE2X09VVFBVVCA9ICgxVUxMIDw8IDcp DQo+ICt9Ow0KPiArDQo+ICAvKiogRmxhZ3MgZm9yIHRoZSBDb2RlIEJsb2NrL1RyYW5zcG9ydCBi bG9jayBtb2RlICAqLw0KPiAgZW51bSBydGVfYmJkZXZfb3BfY2JfbW9kZSB7DQo+ICAJLyoqIE9u ZSBvcGVyYXRpb24gaXMgb25lIG9yIGZyYWN0aW9uIG9mIG9uZSB0cmFuc3BvcnQgYmxvY2sgICov DQo+IEBAIC02ODksNiArNzExLDU1IEBAIHN0cnVjdCBydGVfYmJkZXZfb3BfbGRwY19lbmMgew0K PiAgCX07DQo+ICB9Ow0KPiANCj4gKy8qKiBPcGVyYXRpb24gc3RydWN0dXJlIGZvciBGRlQgcHJv Y2Vzc2luZy4NCj4gKyAqDQo+ICsgKiBUaGUgb3BlcmF0aW9uIHByb2Nlc3NlcyB0aGUgZGF0YSBm b3IgbXVsdGlwbGUgYW50ZW5uYXMgaW4gYSBzaW5nbGUgY2FsbA0KPiArICogKC5pLmUgZm9yIGFs bCB0aGUgUkVzIGJlbG9uZ2luZyB0byBhIGdpdmVuIFNSUyBzZXF1ZW5jZSBmb3IgaW5zdGFuY2Up DQo+ICsgKg0KPiArICogVGhlIG91dHB1dCBtYnVmIGRhdGEgc3RydWN0dXJlIGlzIGV4cGVjdGVk IHRvIGJlIGFsbG9jYXRlZCBieSB0aGUNCj4gKyAqIGFwcGxpY2F0aW9uIHdpdGggZW5vdWdoIHJv b20gZm9yIHRoZSBvdXRwdXQgZGF0YS4NCj4gKyAqLw0KPiArc3RydWN0IHJ0ZV9iYmRldl9vcF9m ZnQgew0KPiArCS8qKiBJbnB1dCBkYXRhIHN0YXJ0aW5nIGZyb20gZmlyc3QgYW50ZW5uYSAqLw0K PiArCXN0cnVjdCBydGVfYmJkZXZfb3BfZGF0YSBiYXNlX2lucHV0Ow0KPiArCS8qKiBPdXRwdXQg ZGF0YSBzdGFydGluZyBmcm9tIGZpcnN0IGFudGVubmEgYW5kIGZpcnN0IGN5Y2xpYyBzaGlmdCAq Lw0KPiArCXN0cnVjdCBydGVfYmJkZXZfb3BfZGF0YSBiYXNlX291dHB1dDsNCj4gKwkvKiogT3B0 aW9uYWwgcG93ZXIgbWVhc3VyZW1lbnQgb3V0cHV0IGRhdGEgKi8NCj4gKwlzdHJ1Y3QgcnRlX2Ji ZGV2X29wX2RhdGEgcG93ZXJfbWVhc19vdXRwdXQ7DQo+ICsJLyoqIEZsYWdzIGZyb20gcnRlX2Ji ZGV2X29wX2ZmdF9mbGFnX2JpdG1hc2tzICovDQo+ICsJdWludDMyX3Qgb3BfZmxhZ3M7DQo+ICsJ LyoqIElucHV0IHNlcXVlbmNlIHNpemUgaW4gMzItYml0cyBwb2ludHMgKi8NCj4gKwl1aW50MTZf dCBpbnB1dF9zZXF1ZW5jZV9zaXplOw0KPiArCS8qKiBQYWRkaW5nIGF0IHRoZSBzdGFydCBvZiB0 aGUgc2VxdWVuY2UgKi8NCj4gKwl1aW50MTZfdCBpbnB1dF9sZWFkaW5nX3BhZGRpbmc7DQo+ICsJ LyoqIE91dHB1dCBzZXF1ZW5jZSBzaXplIGluIDMyLWJpdHMgcG9pbnRzICovDQo+ICsJdWludDE2 X3Qgb3V0cHV0X3NlcXVlbmNlX3NpemU7DQo+ICsJLyoqIERlcGFkZGluZyBhdCB0aGUgc3RhcnQg b2YgdGhlIERGVCBvdXRwdXQgKi8NCj4gKwl1aW50MTZfdCBvdXRwdXRfbGVhZGluZ19kZXBhZGRp bmc7DQo+ICsJLyoqIFdpbmRvdyBpbmRleCBiZWluZyB1c2VkIGZvciBlYWNoIGN5Y2xpYyBzaGlm dCBvdXRwdXQgKi8NCj4gKwl1aW50OF90IHdpbmRvd19pbmRleFtSVEVfQkJERVZfTUFYX0NTXzJd Ow0KPiArCS8qKiBCaXRtYXAgb2YgdGhlIGN5Y2xpYyBzaGlmdCBvdXRwdXQgcmVxdWVzdGVkICov DQo+ICsJdWludDE2X3QgY3NfYml0bWFwOw0KPiArCS8qKiBOdW1iZXIgb2YgYW50ZW5uYXMgYXMg YSBsb2cyIOKAkyA4IHRvIDEyOCAqLw0KPiArCXVpbnQ4X3QgbnVtX2FudGVubmFzX2xvZzI7DQo+ ICsJLyoqIGlERlQgc2l6ZSBhcyBhIGxvZzIgLSAzMiB0byAyMDQ4ICovDQo+ICsJdWludDhfdCBp ZGZ0X2xvZzI7DQo+ICsJLyoqIERGVCBzaXplIGFzIGEgbG9nMiAtIDggdG8gMjA0OCAqLw0KPiAr CXVpbnQ4X3QgZGZ0X2xvZzI7DQo+ICsJLyoqIEFkanVzdG1lbnQgb2YgcG9zaXRpb24gb2YgdGhl IGN5Y2xpYyBzaGlmdHMgLSAtMzEgdG8gMzEgKi8NCj4gKwlpbnQ4X3QgY3NfdGltZV9hZGp1c3Rt ZW50Ow0KPiArCS8qKiBpREZUIHNoaWZ0IGRvd24gKi8NCj4gKwlpbnQ4X3QgaWRmdF9zaGlmdDsN Cj4gKwkvKiogREZUIHNoaWZ0IGRvd24gKi8NCj4gKwlpbnQ4X3QgZGZ0X3NoaWZ0Ow0KPiArCS8q KiBOQ1MgcmVjaXByb2NhbCBmYWN0b3IgICovDQo+ICsJdWludDE2X3QgbmNzX3JlY2lwcm9jYWw7 DQo+ICsJLyoqIHBvd2VyIG1lYXN1cmVtZW50IG91dCBzaGlmdCBkb3duICovDQo+ICsJdWludDE2 X3QgcG93ZXJfc2hpZnQ7DQo+ICsJLyoqIEFkanVzdCB0aGUgRlA2IGV4cG9uZW50IGZvciBJTlQ8 LT5GUDE2IGNvbnZlcnNpb24gKi8NCj4gKwl1aW50MTZfdCBmcDE2X2V4cF9hZGp1c3Q7DQo+ICt9 Ow0KPiArDQo+ICAvKiogTGlzdCBvZiB0aGUgY2FwYWJpbGl0aWVzIGZvciB0aGUgVHVyYm8gRGVj b2RlciAqLw0KPiAgc3RydWN0IHJ0ZV9iYmRldl9vcF9jYXBfdHVyYm9fZGVjIHsNCj4gIAkvKiog RmxhZ3MgZnJvbSBydGVfYmJkZXZfb3BfdGRfZmxhZ19iaXRtYXNrcyAqLw0KPiBAQCAtNzQxLDYg KzgxMiwxNiBAQCBzdHJ1Y3QgcnRlX2JiZGV2X29wX2NhcF9sZHBjX2VuYyB7DQo+ICAJdWludDE2 X3QgbnVtX2J1ZmZlcnNfZHN0Ow0KPiAgfTsNCj4gDQo+ICsvKiogTGlzdCBvZiB0aGUgY2FwYWJp bGl0aWVzIGZvciB0aGUgRkZUICovDQo+ICtzdHJ1Y3QgcnRlX2JiZGV2X29wX2NhcF9mZnQgew0K PiArCS8qKiBGbGFncyBmcm9tIHJ0ZV9iYmRldl9vcF9mZnRfZmxhZ19iaXRtYXNrcyAqLw0KPiAr CXVpbnQzMl90IGNhcGFiaWxpdHlfZmxhZ3M7DQo+ICsJLyoqIE51bSBpbnB1dCBjb2RlIGJsb2Nr IGJ1ZmZlcnMgKi8NCj4gKwl1aW50MTZfdCBudW1fYnVmZmVyc19zcmM7DQo+ICsJLyoqIE51bSBv dXRwdXQgY29kZSBibG9jayBidWZmZXJzICovDQo+ICsJdWludDE2X3QgbnVtX2J1ZmZlcnNfZHN0 Ow0KPiArfTsNCj4gKw0KPiAgLyoqIERpZmZlcmVudCBvcGVyYXRpb24gdHlwZXMgc3VwcG9ydGVk IGJ5IHRoZSBkZXZpY2UgKi8NCj4gIGVudW0gcnRlX2JiZGV2X29wX3R5cGUgew0KPiAgCVJURV9C QkRFVl9PUF9OT05FLCAgLyoqPCBEdW1teSBvcGVyYXRpb24gdGhhdCBkb2VzIG5vdGhpbmcgKi8N Cj4gQEAgLTc0OCw2ICs4MjksNyBAQCBlbnVtIHJ0ZV9iYmRldl9vcF90eXBlIHsNCj4gIAlSVEVf QkJERVZfT1BfVFVSQk9fRU5DLCAgLyoqPCBUdXJibyBlbmNvZGUgKi8NCj4gIAlSVEVfQkJERVZf T1BfTERQQ19ERUMsICAvKio8IExEUEMgZGVjb2RlICovDQo+ICAJUlRFX0JCREVWX09QX0xEUENf RU5DLCAgLyoqPCBMRFBDIGVuY29kZSAqLw0KPiArCVJURV9CQkRFVl9PUF9GRlQsICAvKio8IEZG VCAqLw0KPiAgCVJURV9CQkRFVl9PUF9UWVBFX1BBRERFRF9NQVggPSA4LCAgLyoqPCBNYXhpbXVt IG9wIHR5cGUNCj4gbnVtYmVyIGluY2x1ZGluZyBwYWRkaW5nICovDQo+ICB9Ow0KPiANCj4gQEAg LTc5MSw2ICs4NzMsMTggQEAgc3RydWN0IHJ0ZV9iYmRldl9kZWNfb3Agew0KPiAgCX07DQo+ICB9 Ow0KPiANCj4gKy8qKiBTdHJ1Y3R1cmUgc3BlY2lmeWluZyBhIHNpbmdsZSBmZnQgb3BlcmF0aW9u ICovDQo+ICtzdHJ1Y3QgcnRlX2JiZGV2X2ZmdF9vcCB7DQo+ICsJLyoqIFN0YXR1cyBvZiBvcGVy YXRpb24gdGhhdCB3YXMgcGVyZm9ybWVkICovDQo+ICsJaW50IHN0YXR1czsNCj4gKwkvKiogTWVt cG9vbCB3aGljaCBvcCBpbnN0YW5jZSBpcyBpbiAqLw0KPiArCXN0cnVjdCBydGVfbWVtcG9vbCAq bWVtcG9vbDsNCj4gKwkvKiogT3BhcXVlIHBvaW50ZXIgZm9yIHVzZXIgZGF0YSAqLw0KPiArCXZv aWQgKm9wYXF1ZV9kYXRhOw0KPiArCS8qKiBDb250YWlucyB0dXJibyBkZWNvZGVyIHNwZWNpZmlj IHBhcmFtZXRlcnMgKi8NCj4gKwlzdHJ1Y3QgcnRlX2JiZGV2X29wX2ZmdCBmZnQ7DQo+ICt9Ow0K PiArDQo+ICAvKiogT3BlcmF0aW9uIGNhcGFiaWxpdGllcyBzdXBwb3J0ZWQgYnkgYSBkZXZpY2Ug Ki8NCj4gIHN0cnVjdCBydGVfYmJkZXZfb3BfY2FwIHsNCj4gIAllbnVtIHJ0ZV9iYmRldl9vcF90 eXBlIHR5cGU7ICAvKio8IFR5cGUgb2Ygb3BlcmF0aW9uICovDQo+IEBAIC03OTksNiArODkzLDcg QEAgc3RydWN0IHJ0ZV9iYmRldl9vcF9jYXAgew0KPiAgCQlzdHJ1Y3QgcnRlX2JiZGV2X29wX2Nh cF90dXJib19lbmMgdHVyYm9fZW5jOw0KPiAgCQlzdHJ1Y3QgcnRlX2JiZGV2X29wX2NhcF9sZHBj X2RlYyBsZHBjX2RlYzsNCj4gIAkJc3RydWN0IHJ0ZV9iYmRldl9vcF9jYXBfbGRwY19lbmMgbGRw Y19lbmM7DQo+ICsJCXN0cnVjdCBydGVfYmJkZXZfb3BfY2FwX2ZmdCBmZnQ7DQo+ICAJfSBjYXA7 ICAvKio8IE9wZXJhdGlvbi10eXBlIHNwZWNpZmljIGNhcGFiaWxpdGllcyAqLw0KPiAgfTsNCj4g DQo+IEBAIC05MTgsNiArMTAxMyw0MiBAQCBzdHJ1Y3QgcnRlX21lbXBvb2wgKg0KPiAgfQ0KPiAN Cj4gIC8qKg0KPiArICogQnVsayBhbGxvY2F0ZSBmZnQgb3BlcmF0aW9ucyBmcm9tIGEgbWVtcG9v bCB3aXRoIHBhcmFtZXRlciBkZWZhdWx0cyByZXNldC4NCj4gKyAqDQo+ICsgKiBAcGFyYW0gbWVt cG9vbA0KPiArICogICBPcGVyYXRpb24gbWVtcG9vbCwgY3JlYXRlZCBieSBydGVfYmJkZXZfb3Bf cG9vbF9jcmVhdGUoKS4NCj4gKyAqIEBwYXJhbSBvcHMNCj4gKyAqICAgT3V0cHV0IGFycmF5IHRv IHBsYWNlIGFsbG9jYXRlZCBvcGVyYXRpb25zDQo+ICsgKiBAcGFyYW0gbnVtX29wcw0KPiArICog ICBOdW1iZXIgb2Ygb3BlcmF0aW9ucyB0byBhbGxvY2F0ZQ0KPiArICoNCj4gKyAqIEByZXR1cm5z DQo+ICsgKiAgIC0gMCBvbiBzdWNjZXNzDQo+ICsgKiAgIC0gRUlOVkFMIGlmIGludmFsaWQgbWVt cG9vbCBpcyBwcm92aWRlZA0KPiArICovDQo+ICtfX3J0ZV9leHBlcmltZW50YWwNCj4gK3N0YXRp YyBpbmxpbmUgaW50DQo+ICtydGVfYmJkZXZfZmZ0X29wX2FsbG9jX2J1bGsoc3RydWN0IHJ0ZV9t ZW1wb29sICptZW1wb29sLA0KPiArCQlzdHJ1Y3QgcnRlX2JiZGV2X2ZmdF9vcCAqKm9wcywgdWlu dDE2X3QgbnVtX29wcykNCj4gK3sNCj4gKwlzdHJ1Y3QgcnRlX2JiZGV2X29wX3Bvb2xfcHJpdmF0 ZSAqcHJpdjsNCj4gKwlpbnQgcmV0Ow0KPiArDQo+ICsJLyogQ2hlY2sgdHlwZSAqLw0KPiArCXBy aXYgPSAoc3RydWN0IHJ0ZV9iYmRldl9vcF9wb29sX3ByaXZhdGUgKikNCj4gKwkJCXJ0ZV9tZW1w b29sX2dldF9wcml2KG1lbXBvb2wpOw0KPiArCWlmICh1bmxpa2VseShwcml2LT50eXBlICE9IFJU RV9CQkRFVl9PUF9GRlQpKQ0KPiArCQlyZXR1cm4gLUVJTlZBTDsNCj4gKw0KPiArCS8qIEdldCBl bGVtZW50cyAqLw0KPiArCXJldCA9IHJ0ZV9tZW1wb29sX2dldF9idWxrKG1lbXBvb2wsICh2b2lk ICoqKW9wcywgbnVtX29wcyk7DQo+ICsJaWYgKHVubGlrZWx5KHJldCA8IDApKQ0KPiArCQlyZXR1 cm4gcmV0Ow0KPiArDQo+ICsJcmV0dXJuIDA7DQo+ICt9DQo+ICsNCj4gKy8qKg0KPiAgICogRnJl ZSBkZWNvZGUgb3BlcmF0aW9uIHN0cnVjdHVyZXMgdGhhdCB3ZXJlIGFsbG9jYXRlZCBieQ0KPiAg ICogcnRlX2JiZGV2X2RlY19vcF9hbGxvY19idWxrKCkuDQo+ICAgKiBBbGwgc3RydWN0dXJlcyBt dXN0IGJlbG9uZyB0byB0aGUgc2FtZSBtZW1wb29sLg0KPiBAQCAtOTUxLDYgKzEwODIsMjQgQEAg c3RydWN0IHJ0ZV9tZW1wb29sICoNCj4gIAkJcnRlX21lbXBvb2xfcHV0X2J1bGsob3BzWzBdLT5t ZW1wb29sLCAodm9pZCAqKilvcHMsDQo+IG51bV9vcHMpOw0KPiAgfQ0KPiANCj4gKy8qKg0KPiAr ICogRnJlZSBlbmNvZGUgb3BlcmF0aW9uIHN0cnVjdHVyZXMgdGhhdCB3ZXJlIGFsbG9jYXRlZCBi eQ0KPiArICogcnRlX2JiZGV2X2ZmdF9vcF9hbGxvY19idWxrKCkuDQoNClVzZSAqcnRlX2JiZGV2 X2ZmdF9vcF9hbGxvY19idWxrKg0KDQo+ICsgKiBBbGwgc3RydWN0dXJlcyBtdXN0IGJlbG9uZyB0 byB0aGUgc2FtZSBtZW1wb29sLg0KPiArICoNCj4gKyAqIEBwYXJhbSBvcHMNCj4gKyAqICAgT3Bl cmF0aW9uIHN0cnVjdHVyZXMNCj4gKyAqIEBwYXJhbSBudW1fb3BzDQo+ICsgKiAgIE51bWJlciBv ZiBzdHJ1Y3R1cmVzDQo+ICsgKi8NCj4gK19fcnRlX2V4cGVyaW1lbnRhbA0KPiArc3RhdGljIGlu bGluZSB2b2lkDQo+ICtydGVfYmJkZXZfZmZ0X29wX2ZyZWVfYnVsayhzdHJ1Y3QgcnRlX2JiZGV2 X2ZmdF9vcCAqKm9wcywgdW5zaWduZWQgaW50DQo+IG51bV9vcHMpDQo+ICt7DQo+ICsJaWYgKG51 bV9vcHMgPiAwKQ0KPiArCQlydGVfbWVtcG9vbF9wdXRfYnVsayhvcHNbMF0tPm1lbXBvb2wsICh2 b2lkICoqKW9wcywNCj4gbnVtX29wcyk7DQo+ICt9DQo+ICsNCj4gICNpZmRlZiBfX2NwbHVzcGx1 cw0KPiAgfQ0KPiAgI2VuZGlmDQo+IGRpZmYgLS1naXQgYS9saWIvYmJkZXYvdmVyc2lvbi5tYXAg Yi9saWIvYmJkZXYvdmVyc2lvbi5tYXANCj4gaW5kZXggZjBhMDcyZS4uMGNiZWFiMyAxMDA2NDQN Cj4gLS0tIGEvbGliL2JiZGV2L3ZlcnNpb24ubWFwDQo+ICsrKyBiL2xpYi9iYmRldi92ZXJzaW9u Lm1hcA0KPiBAQCAtNDUsNCArNDUsOCBAQCBFWFBFUklNRU5UQUwgew0KPiANCj4gIAkjIGFkZGVk IGluIDIyLjExDQo+ICAJcnRlX2JiZGV2X2RldmljZV9zdGF0dXNfc3RyOw0KPiArCXJ0ZV9iYmRl dl9lbnF1ZXVlX2ZmdF9vcHM7DQo+ICsJcnRlX2JiZGV2X2RlcXVldWVfZmZ0X29wczsNCj4gKwly dGVfYmJkZXZfZmZ0X29wX2FsbG9jX2J1bGs7DQo+ICsJcnRlX2JiZGV2X2ZmdF9vcF9mcmVlX2J1 bGs7DQo+ICB9Ow0KPiAtLQ0KPiAxLjguMy4xDQoNCg==