From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id 1B545A04B1; Tue, 6 Oct 2020 01:51:33 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id D2F062B82; Tue, 6 Oct 2020 01:51:30 +0200 (CEST) Received: from mga11.intel.com (mga11.intel.com [192.55.52.93]) by dpdk.org (Postfix) with ESMTP id 66D5125B3 for ; Tue, 6 Oct 2020 01:51:28 +0200 (CEST) IronPort-SDR: s+I+62aosX4HiCpz1JZsVXz6KkONfVWD09XUTdvhhfyxalVENfVpDHYL/sBikrKtvbdhmrhp5U ervlE42ZlGag== X-IronPort-AV: E=McAfee;i="6000,8403,9765"; a="160891897" X-IronPort-AV: E=Sophos;i="5.77,341,1596524400"; d="scan'208";a="160891897" X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga006.jf.intel.com ([10.7.209.51]) by fmsmga102.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 05 Oct 2020 16:51:26 -0700 IronPort-SDR: ZjAFNyIZwc0lyyimWjprP4YfJfBgRu6ohm9miW/Ty4rRmc+wZoi811RD3WWLHZvDCvD0Itf9B2 68c2yo2ooh7w== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.77,341,1596524400"; d="scan'208";a="315043246" Received: from orsmsx604.amr.corp.intel.com ([10.22.229.17]) by orsmga006.jf.intel.com with ESMTP; 05 Oct 2020 16:03:09 -0700 Received: from orsmsx601.amr.corp.intel.com (10.22.229.14) by ORSMSX604.amr.corp.intel.com (10.22.229.17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5; Mon, 5 Oct 2020 09:38:58 -0700 Received: from ORSEDG602.ED.cps.intel.com (10.7.248.7) by orsmsx601.amr.corp.intel.com (10.22.229.14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5 via Frontend Transport; Mon, 5 Oct 2020 09:38:58 -0700 Received: from NAM10-BN7-obe.outbound.protection.outlook.com (104.47.70.103) by edgegateway.intel.com (134.134.137.103) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.1713.5; Mon, 5 Oct 2020 09:38:57 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Vw1VijT4DE1E8nJvcLzMGg/vOj8EnL7eAB42afbQSYYrot0tER0Q/fEinF3qizi999arwbyp8xXAAww7y+0SzOgMnYwvUPm687wTOkJpqYkhMM/is80AIlJKLNgbYWimqnDgRVtGfBYFBIVg8BIkHPH8JkzI+iiT77ao1XlTV+FxzEdmP9yzKkNYOAGm0gZLhTEVdU7EUm5CqEQ1FjDrg3fT/v1ej1MYfAZA/EhR7zETst2EYG8/IlMwgLh8I5d18NqRAQhLWhziLS0LKTK7t3EMwHPr7OiXz+Z/EyxgkcjYcKEZ0wkTawfBeR5QbjlCtVfk+OJfK8AWqFjO4eahiQ== 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=xsLzoxoZavFi3R7EIFnyZPL6x447WqdTTWpXEIKc3c0=; b=ThivH/H/UeDn4N8IrBO8hf/t/PI0CAuar4rwaOP9DJpd08dU2inSLssv2q0z+HJ3sNxOyvwzspkXfY1tOge6dsdafYz5FTpYfjJYBy0iqKW/prSQGO/9F4/Cdn1dYpBf0aXZVWxP5egeZgZennQ4GPXsDFvmkFa2HL5BNZgj1T7q21EB85rv6Wl8EaLAVShYrHlvrmay3G0XhUsr+QZJGvtU00fRvYOECA+Mf770rNKN8TB2rn0pVJbC80y1y6WmeSVxRdMPVKVFU3bgzpPpoidUgXCda65Fo/IvPRDdXnGkJkelsodvjnoU+OXK8KHerE24qGWYvDRAzms2P2HWvw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com; dkim=pass header.d=intel.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=intel.onmicrosoft.com; s=selector2-intel-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=xsLzoxoZavFi3R7EIFnyZPL6x447WqdTTWpXEIKc3c0=; b=JlBhpRjpCsDQ0Qu9xbHCLPKAH0ZhmtBcn9L315lmSkkDNMVdATEa6GMvTuz/A8YDAH3axBa1iRz/ozPBq9KMquFx6rJMZxULYc6KX2BqoM12yUvMiJ/wznALC56VCdGWCXJ5XAsWM9x7ApaxGE7vnP5cGTFDCTP0Zw8YMZkFyYo= Received: from BY5PR11MB4451.namprd11.prod.outlook.com (2603:10b6:a03:1cb::30) by BY5PR11MB3878.namprd11.prod.outlook.com (2603:10b6:a03:182::31) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3433.39; Mon, 5 Oct 2020 16:38:51 +0000 Received: from BY5PR11MB4451.namprd11.prod.outlook.com ([fe80::4162:97e1:7d04:a508]) by BY5PR11MB4451.namprd11.prod.outlook.com ([fe80::4162:97e1:7d04:a508%7]) with mapi id 15.20.3433.044; Mon, 5 Oct 2020 16:38:51 +0000 From: "Chautru, Nicolas" To: Tom Rix , "dev@dpdk.org" , "akhil.goyal@nxp.com" CC: "Richardson, Bruce" , "Xu, Rosen" , "maxime.coquelin@redhat.com" , "Yigit, Ferruh" , "Liu, Tianjiao" Thread-Topic: [PATCH v11 03/10] baseband/acc100: add info get function Thread-Index: AQHWmFfYk/BxJ8g6pEi7zva673TKl6mHoNAAgAGXucA= Date: Mon, 5 Oct 2020 16:38:51 +0000 Message-ID: References: <1597796731-57841-12-git-send-email-nicolas.chautru@intel.com> <1601600481-174133-1-git-send-email-nicolas.chautru@intel.com> <1601600481-174133-4-git-send-email-nicolas.chautru@intel.com> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-product: dlpe-windows dlp-reaction: no-action dlp-version: 11.5.1.3 authentication-results: redhat.com; dkim=none (message not signed) header.d=none;redhat.com; dmarc=none action=none header.from=intel.com; x-originating-ip: [45.28.143.88] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 6750dd25-fe75-4b00-fbc5-08d8694d2468 x-ms-traffictypediagnostic: BY5PR11MB3878: x-ld-processed: 46c98d88-e344-4ed4-8496-4ed7712e255d,ExtAddr x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:765; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: oN+nDTrU32Clct4mH6Ke8+34ZrqsaLDu5rwXmAlHUp5mJ+4En/R0ccmAMK2yumDE8kQTW3VIHXB9AUmCV1DFuB7en8ZgYhGxjLVdgM/93ekW4uLTupM2VtaHuKe4mDxm9Pul9HW/PICH/GxyTLOpNwqJr+pc82UmL/jnAyq1fxzxPYH9G46vW3xzRE8Rtd9aP9B9DzDcajSGCk1Eyv3R180x0V5185kTIDEQXeXUmy9EIms1Cz3Sx9fPl557Y9y3Xpk/7HG4CAnLSBX/zHylck7t7iXO2g6d2+AY/o7RMljdF9urj3a84zdMiMZxYfUfB3h9qb8gH1GjT+lHUkUv7g== x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:BY5PR11MB4451.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(366004)(39860400002)(396003)(136003)(346002)(376002)(33656002)(4326008)(316002)(86362001)(107886003)(52536014)(8936002)(66946007)(5660300002)(6506007)(53546011)(26005)(55016002)(9686003)(66556008)(66476007)(76116006)(71200400001)(7696005)(186003)(66446008)(30864003)(110136005)(83380400001)(64756008)(2906002)(54906003)(478600001)(8676002); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata: kCWDXdAd5Ko4jIjGqL5ygAgCuNd7u1IVeZWFjBHbR8PzMqiiBSN90y9yubbO9sUezbKQT0nM1FX3CX2nzfNeA4RmIbyvu7AAd8Nis+pZB3HHv5J4pRbtDAs8g/oMIqgtL3LjxpmXf1eZoLU8uSr32DrCbRTq/3QQJnSzc8DpVqko53xagNs3CrJCzP72Y7pcwS0UaVwz1nfdsiYj27OBijLlhYYvkbjK1maHWrDhQ292P1a1VmeCKNAtn9KJuucaYklJ925Wl3iS0hJdrllzKyQhhfuqCE44YVxLss9mdWNke7yWfYlE+MxC3ufr3SQ3uCAnHMeB3GhAcbVU4b5eX5j9c5bwFK9pifhWSQQsr04Pc8b9mc1xE9XgPVRopk2zikMk3XIUxx6czGFPC7L0n8r1VwES4yE4wHAcB0OZeyDhnIWlT6aq/yn7Fy/7/ijCsG5Yd5VRSH9329C20BFnR5yGLZl2A64nHiqV3gZB4uauwUIJ4LaK4SrewxvqEMkRIAiY/877Rm3h3vQ+8cPj/3qVrUYMGPN9GHbG8oZTKw6cTnRW55+xTxOhsfEYod/+aWWbdt/n1RoVeo0BRG3R0ztX5kXwTX+y053lcsvHCXX3kbXhhITOvfphuhxixj+YapRH/i4RhUG9B11R/OxZYQ== Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: BY5PR11MB4451.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 6750dd25-fe75-4b00-fbc5-08d8694d2468 X-MS-Exchange-CrossTenant-originalarrivaltime: 05 Oct 2020 16:38:51.5134 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 46c98d88-e344-4ed4-8496-4ed7712e255d X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: eDLyW7P5jkLBbbxkZ6/40dnvE3mpdTgEm++wzunhcqoMBT6cxyIsctWGlXVl25TTi1jFrwQ2d5W21minAQf8pYoPQNFs3rap7gPqZECkP3s= X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY5PR11MB3878 X-OriginatorOrg: intel.com Subject: Re: [dpdk-dev] [PATCH v11 03/10] baseband/acc100: add info get function X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" SGkgVG9tDQoNCj4gRnJvbTogVG9tIFJpeCA8dHJpeEByZWRoYXQuY29tPj4gDQo+IA0KPiBPbiAx MC8xLzIwIDY6MDEgUE0sIE5pY29sYXMgQ2hhdXRydSB3cm90ZToNCj4gPiBBZGQgaW4gdGhlICJp bmZvX2dldCIgZnVuY3Rpb24gdG8gdGhlIGRyaXZlciwgdG8gYWxsb3cgdXMgdG8gcXVlcnkgdGhl DQo+ID4gZGV2aWNlLg0KPiA+IE5vIHByb2Nlc3NpbmcgY2FwYWJpbGl0eSBhcmUgYXZhaWxhYmxl IHlldC4NCj4gPiBMaW5raW5nIGJiZGV2LXRlc3QgdG8gc3VwcG9ydCB0aGUgUE1EIHdpdGggbnVs bCBjYXBhYmlsaXR5Lg0KPiA+DQo+ID4gU2lnbmVkLW9mZi1ieTogTmljb2xhcyBDaGF1dHJ1IDxu aWNvbGFzLmNoYXV0cnVAaW50ZWwuY29tPg0KPiA+IEFja2VkLWJ5OiBMaXUgVGlhbmppYW8gPFRp YW5qaWFvLmxpdUBpbnRlbC5jb20+DQo+ID4gLS0tDQo+ID4gIGFwcC90ZXN0LWJiZGV2L21lc29u LmJ1aWxkICAgICAgICAgICAgICAgfCAgIDMgKw0KPiA+ICBkcml2ZXJzL2Jhc2ViYW5kL2FjYzEw MC9ydGVfYWNjMTAwX2NmZy5oIHwgIDk2ICsrKysrKysrKysrKysNCj4gPiBkcml2ZXJzL2Jhc2Vi YW5kL2FjYzEwMC9ydGVfYWNjMTAwX3BtZC5jIHwgMjI5DQo+ID4gKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKw0KPiA+IGRyaXZlcnMvYmFzZWJhbmQvYWNjMTAwL3J0ZV9hY2MxMDBfcG1k LmggfCAgMTAgKysNCj4gPiAgNCBmaWxlcyBjaGFuZ2VkLCAzMzggaW5zZXJ0aW9ucygrKQ0KPiA+ ICBjcmVhdGUgbW9kZSAxMDA2NDQgZHJpdmVycy9iYXNlYmFuZC9hY2MxMDAvcnRlX2FjYzEwMF9j ZmcuaA0KPiA+DQo+ID4gZGlmZiAtLWdpdCBhL2FwcC90ZXN0LWJiZGV2L21lc29uLmJ1aWxkIGIv YXBwL3Rlc3QtYmJkZXYvbWVzb24uYnVpbGQNCj4gPiBpbmRleCAxOGFiNmE4Li5mYmQ4YWUzIDEw MDY0NA0KPiA+IC0tLSBhL2FwcC90ZXN0LWJiZGV2L21lc29uLmJ1aWxkDQo+ID4gKysrIGIvYXBw L3Rlc3QtYmJkZXYvbWVzb24uYnVpbGQNCj4gPiBAQCAtMTIsMyArMTIsNiBAQCBlbmRpZg0KPiA+ ICBpZiBkcGRrX2NvbmYuaGFzKCdSVEVfTElCUlRFX1BNRF9CQkRFVl9GUEdBXzVHTlJfRkVDJykN Cj4gPiAgCWRlcHMgKz0gWydwbWRfYmJkZXZfZnBnYV81Z25yX2ZlYyddDQo+ID4gIGVuZGlmDQo+ ID4gK2lmIGRwZGtfY29uZi5oYXMoJ1JURV9MSUJSVEVfUE1EX0JCREVWX0FDQzEwMCcpDQo+ID4g KwlkZXBzICs9IFsncG1kX2JiZGV2X2FjYzEwMCddDQo+ID4gK2VuZGlmDQo+ID4gXCBObyBuZXds aW5lIGF0IGVuZCBvZiBmaWxlDQo+ID4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvYmFzZWJhbmQvYWNj MTAwL3J0ZV9hY2MxMDBfY2ZnLmgNCj4gPiBiL2RyaXZlcnMvYmFzZWJhbmQvYWNjMTAwL3J0ZV9h Y2MxMDBfY2ZnLmgNCj4gPiBuZXcgZmlsZSBtb2RlIDEwMDY0NA0KPiA+IGluZGV4IDAwMDAwMDAu LmExZDQzZWYNCj4gPiAtLS0gL2Rldi9udWxsDQo+ID4gKysrIGIvZHJpdmVycy9iYXNlYmFuZC9h Y2MxMDAvcnRlX2FjYzEwMF9jZmcuaA0KPiA+IEBAIC0wLDAgKzEsOTYgQEANCj4gPiArLyogU1BE WC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0zLUNsYXVzZQ0KPiA+ICsgKiBDb3B5cmlnaHQoYykg MjAyMCBJbnRlbCBDb3Jwb3JhdGlvbiAgKi8NCj4gPiArDQo+ID4gKyNpZm5kZWYgX1JURV9BQ0Mx MDBfQ0ZHX0hfDQo+ID4gKyNkZWZpbmUgX1JURV9BQ0MxMDBfQ0ZHX0hfDQo+ID4gKw0KPiA+ICsv KioNCj4gPiArICogQGZpbGUgcnRlX2FjYzEwMF9jZmcuaA0KPiA+ICsgKg0KPiA+ICsgKiBGdW5j dGlvbnMgZm9yIGNvbmZpZ3VyaW5nIEFDQzEwMCBIVywgZXhwb3NlZCBkaXJlY3RseSB0byBhcHBs aWNhdGlvbnMuDQo+ID4gKyAqIENvbmZpZ3VyYXRpb24gcmVsYXRlZCB0byBlbmNvZGluZy9kZWNv ZGluZyBpcyBkb25lIHRocm91Z2ggdGhlDQo+ID4gKyAqIGxpYnJ0ZV9iYmRldiBsaWJyYXJ5Lg0K PiA+ICsgKg0KPiA+ICsgKiBAd2FybmluZw0KPiA+ICsgKiBAYiBFWFBFUklNRU5UQUw6IHRoaXMg QVBJIG1heSBjaGFuZ2Ugd2l0aG91dCBwcmlvciBub3RpY2UgICovDQo+ID4gKw0KPiA+ICsjaW5j bHVkZSA8c3RkaW50Lmg+DQo+ID4gKyNpbmNsdWRlIDxzdGRib29sLmg+DQo+ID4gKw0KPiA+ICsj aWZkZWYgX19jcGx1c3BsdXMNCj4gPiArZXh0ZXJuICJDIiB7DQo+ID4gKyNlbmRpZg0KPiA+ICsv Kio8IE51bWJlciBvZiBWaXJ0dWFsIEZ1bmN0aW9ucyBBQ0MxMDAgc3VwcG9ydHMgKi8gI2RlZmlu ZQ0KPiA+ICtSVEVfQUNDMTAwX05VTV9WRlMgMTYNCj4gDQo+IEkgd2FzIGV4cGVjdGluZyB0aGUg ZGVmaW5pdGlvbiBvZiBSVEVfQUNDMTAwX05VTV9WRlMgdG8gYmUgcmVtb3ZlZC4NCj4gDQo+IEFu ZCBpdHMgdXNlcyByZXBsYWNlZCB3aXRoIEFDQzEwMF9OVU1fVkZTLg0KPiANCj4gb3INCj4gDQo+ ICNkZWZpbmUgUlRFX0FDQzEwMF9OVU1fVkZTIEFDQzEwMF9OVU1fVkZTDQo+IA0KDQpZZXMgaXQg d2FzIGFjdHVhbGx5IG9uIHB1cnBvc2UgdG8ga2VlcCB0aGF0IHBpZWNlIG9mIGNvZGUgcG9ydGFi bGUgb3V0c2lkZSBvZiBEUERLIGlmIHJlcXVpcmVkLiANCk9uZSBpcyByZWxhdGVkIHRvIHRoZSBQ TUQgZ2VuZXJpYyBmdW5jdGlvbiwgdGhlIG90aGVyIG9uZSBpcyB1c2VkIGZvciB0aGUgY29uZmln dXJhdGlvbiBmdW5jdGlvbiBvbmx5LiANCklmIHlvdSBmZWVsIHN0cm9uZ2x5IGFib3V0IHRoaXMg SSBjb3VsZCBjaGFuZ2UuIA0KDQo+ID4gKw0KPiA+ICsvKioNCj4gPiArICogRGVmaW5pdGlvbiBv ZiBRdWV1ZSBUb3BvbG9neSBmb3IgQUNDMTAwIENvbmZpZ3VyYXRpb24NCj4gPiArICogU29tZSBs ZXZlbCBvZiBkZXRhaWxzIGlzIGFic3RyYWN0ZWQgb3V0IHRvIGV4cG9zZSBhIGNsZWFuDQo+ID4g K2ludGVyZmFjZQ0KPiA+ICsgKiBnaXZlbiB0aGF0IGNvbXByZWhlbnNpdmUgZmxleGliaWxpdHkg aXMgbm90IHJlcXVpcmVkICAqLyBzdHJ1Y3QNCj4gPiArcnRlX2FjYzEwMF9xdWV1ZV90b3BvbG9n eSB7DQo+ID4gKwkvKiogTnVtYmVyIG9mIFFHcm91cHMgaW4gaW5jcmVtZW50YWwgb3JkZXIgb2Yg cHJpb3JpdHkgKi8NCj4gPiArCXVpbnQxNl90IG51bV9xZ3JvdXBzOw0KPiA+ICsJLyoqDQo+ID4g KwkgKiBBbGwgUUdyb3VwcyBoYXZlIHRoZSBzYW1lIG51bWJlciBvZiBBUXMgaGVyZS4NCj4gPiAr CSAqIE5vdGUgOiBDb3VsZCBiZSBtYWRlIGEgMTYtYXJyYXkgaWYgbW9yZSBmbGV4aWJpbGl0eSBp cyByZWFsbHkNCj4gPiArCSAqIHJlcXVpcmVkDQo+ID4gKwkgKi8NCj4gPiArCXVpbnQxNl90IG51 bV9hcXNfcGVyX2dyb3VwczsNCj4gPiArCS8qKg0KPiA+ICsJICogRGVwdGggb2YgdGhlIEFRcyBp cyB0aGUgc2FtZSBvZiBhbGwgUUdyb3VwcyBoZXJlLiBMb2cyIEVudW0gOiAyXk4NCj4gPiArCSAq IE5vdGUgOiBDb3VsZCBiZSBtYWRlIGEgMTYtYXJyYXkgaWYgbW9yZSBmbGV4aWJpbGl0eSBpcyBy ZWFsbHkNCj4gPiArCSAqIHJlcXVpcmVkDQo+ID4gKwkgKi8NCj4gPiArCXVpbnQxNl90IGFxX2Rl cHRoX2xvZzI7DQo+ID4gKwkvKioNCj4gPiArCSAqIEluZGV4IG9mIHRoZSBmaXJzdCBRdWV1ZSBH cm91cCBJbmRleCAtIGFzc3VtaW5nIGNvbnRpZ3VpdHkNCj4gPiArCSAqIEluaXRpYWxpemVkIGFz IC0xDQo+ID4gKwkgKi8NCj4gPiArCWludDhfdCBmaXJzdF9xZ3JvdXBfaW5kZXg7DQo+ID4gK307 DQo+ID4gKw0KPiA+ICsvKioNCj4gPiArICogRGVmaW5pdGlvbiBvZiBBcmJpdHJhdGlvbiByZWxh dGVkIHBhcmFtZXRlcnMgZm9yIEFDQzEwMA0KPiA+ICtDb25maWd1cmF0aW9uICAqLyBzdHJ1Y3Qg cnRlX2FjYzEwMF9hcmJpdHJhdGlvbiB7DQo+ID4gKwkvKiogRGVmYXVsdCBXZWlnaHQgZm9yIFZG IEZhaXJuZXNzIEFyYml0cmF0aW9uICovDQo+ID4gKwl1aW50MTZfdCByb3VuZF9yb2Jpbl93ZWln aHQ7DQo+ID4gKwl1aW50MzJfdCBnYnJfdGhyZXNob2xkMTsgLyoqPCBHdWFyYW50ZWVkIEJpdHJh dGUgVGhyZXNob2xkIDEgKi8NCj4gPiArCXVpbnQzMl90IGdicl90aHJlc2hvbGQyOyAvKio8IEd1 YXJhbnRlZWQgQml0cmF0ZSBUaHJlc2hvbGQgMiAqLyB9Ow0KPiA+ICsNCj4gPiArLyoqDQo+ID4g KyAqIFN0cnVjdHVyZSB0byBwYXNzIEFDQzEwMCBjb25maWd1cmF0aW9uLg0KPiA+ICsgKiBOb3Rl OiBhbGwgVkYgQnVuZGxlcyB3aWxsIGhhdmUgdGhlIHNhbWUgY29uZmlndXJhdGlvbi4NCj4gPiAr ICovDQo+ID4gK3N0cnVjdCBydGVfYWNjMTAwX2NvbmYgew0KPiA+ICsJYm9vbCBwZl9tb2RlX2Vu OyAvKio8IDEgaWYgUEYgaXMgdXNlZCBmb3IgZGF0YXBsYW5lLCAwIGZvciBWRnMgKi8NCj4gPiAr CS8qKiAxIGlmIGlucHV0ICcxJyBiaXQgaXMgcmVwcmVzZW50ZWQgYnkgYSBwb3NpdGl2ZSBMTFIg dmFsdWUsIDAgaWYgJzEnDQo+ID4gKwkgKiBiaXQgaXMgcmVwcmVzZW50ZWQgYnkgYSBuZWdhdGl2 ZSB2YWx1ZS4NCj4gPiArCSAqLw0KPiA+ICsJYm9vbCBpbnB1dF9wb3NfbGxyXzFfYml0Ow0KPiA+ ICsJLyoqIDEgaWYgb3V0cHV0ICcxJyBiaXQgaXMgcmVwcmVzZW50ZWQgYnkgYSBwb3NpdGl2ZSB2 YWx1ZSwgMCBpZiAnMScNCj4gPiArCSAqIGJpdCBpcyByZXByZXNlbnRlZCBieSBhIG5lZ2F0aXZl IHZhbHVlLg0KPiA+ICsJICovDQo+ID4gKwlib29sIG91dHB1dF9wb3NfbGxyXzFfYml0Ow0KPiA+ ICsJdWludDE2X3QgbnVtX3ZmX2J1bmRsZXM7IC8qKjwgTnVtYmVyIG9mIFZGIGJ1bmRsZXMgdG8g c2V0dXAgKi8NCj4gPiArCS8qKiBRdWV1ZSB0b3BvbG9neSBmb3IgZWFjaCBvcGVyYXRpb24gdHlw ZSAqLw0KPiA+ICsJc3RydWN0IHJ0ZV9hY2MxMDBfcXVldWVfdG9wb2xvZ3kgcV91bF80ZzsNCj4g PiArCXN0cnVjdCBydGVfYWNjMTAwX3F1ZXVlX3RvcG9sb2d5IHFfZGxfNGc7DQo+ID4gKwlzdHJ1 Y3QgcnRlX2FjYzEwMF9xdWV1ZV90b3BvbG9neSBxX3VsXzVnOw0KPiA+ICsJc3RydWN0IHJ0ZV9h Y2MxMDBfcXVldWVfdG9wb2xvZ3kgcV9kbF81ZzsNCj4gPiArCS8qKiBBcmJpdHJhdGlvbiBjb25m aWd1cmF0aW9uIGZvciBlYWNoIG9wZXJhdGlvbiB0eXBlICovDQo+ID4gKwlzdHJ1Y3QgcnRlX2Fj YzEwMF9hcmJpdHJhdGlvbiBhcmJfdWxfNGdbUlRFX0FDQzEwMF9OVU1fVkZTXTsNCj4gPiArCXN0 cnVjdCBydGVfYWNjMTAwX2FyYml0cmF0aW9uIGFyYl9kbF80Z1tSVEVfQUNDMTAwX05VTV9WRlNd Ow0KPiA+ICsJc3RydWN0IHJ0ZV9hY2MxMDBfYXJiaXRyYXRpb24gYXJiX3VsXzVnW1JURV9BQ0Mx MDBfTlVNX1ZGU107DQo+ID4gKwlzdHJ1Y3QgcnRlX2FjYzEwMF9hcmJpdHJhdGlvbiBhcmJfZGxf NWdbUlRFX0FDQzEwMF9OVU1fVkZTXTsgfTsNCj4gPiArDQo+ID4gKyNpZmRlZiBfX2NwbHVzcGx1 cw0KPiA+ICt9DQo+ID4gKyNlbmRpZg0KPiA+ICsNCj4gPiArI2VuZGlmIC8qIF9SVEVfQUNDMTAw X0NGR19IXyAqLw0KPiA+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2Jhc2ViYW5kL2FjYzEwMC9ydGVf YWNjMTAwX3BtZC5jDQo+ID4gYi9kcml2ZXJzL2Jhc2ViYW5kL2FjYzEwMC9ydGVfYWNjMTAwX3Bt ZC5jDQo+ID4gaW5kZXggMWI0Y2QxMy4uZmNiYTc3ZSAxMDA2NDQNCj4gPiAtLS0gYS9kcml2ZXJz L2Jhc2ViYW5kL2FjYzEwMC9ydGVfYWNjMTAwX3BtZC5jDQo+ID4gKysrIGIvZHJpdmVycy9iYXNl YmFuZC9hY2MxMDAvcnRlX2FjYzEwMF9wbWQuYw0KPiA+IEBAIC0yNiw2ICsyNiwxODggQEANCj4g PiAgUlRFX0xPR19SRUdJU1RFUihhY2MxMDBfbG9ndHlwZSwgcG1kLmJiLmFjYzEwMCwgTk9USUNF KTsgICNlbmRpZg0KPiA+DQo+ID4gKy8qIFJlYWQgYSByZWdpc3RlciBvZiBhIEFDQzEwMCBkZXZp Y2UgKi8gc3RhdGljIGlubGluZSB1aW50MzJfdA0KPiA+ICthY2MxMDBfcmVnX3JlYWQoc3RydWN0 IGFjYzEwMF9kZXZpY2UgKmQsIHVpbnQzMl90IG9mZnNldCkgew0KPiA+ICsNCj4gPiArCXZvaWQg KnJlZ19hZGRyID0gUlRFX1BUUl9BREQoZC0+bW1pb19iYXNlLCBvZmZzZXQpOw0KPiA+ICsJdWlu dDMyX3QgcmV0ID0gKigodm9sYXRpbGUgdWludDMyX3QgKikocmVnX2FkZHIpKTsNCj4gPiArCXJl dHVybiBydGVfbGVfdG9fY3B1XzMyKHJldCk7DQo+ID4gK30NCj4gPiArDQo+ID4gKy8qIENhbGN1 bGF0ZSB0aGUgb2Zmc2V0IG9mIHRoZSBlbnF1ZXVlIHJlZ2lzdGVyICovIHN0YXRpYyBpbmxpbmUN Cj4gPiArdWludDMyX3QgcXVldWVfb2Zmc2V0KGJvb2wgcGZfZGV2aWNlLCB1aW50OF90IHZmX2lk LCB1aW50OF90IHFncnBfaWQsDQo+ID4gK3VpbnQxNl90IGFxX2lkKSB7DQo+ID4gKwlpZiAocGZf ZGV2aWNlKQ0KPiA+ICsJCXJldHVybiAoKHZmX2lkIDw8IDEyKSArIChxZ3JwX2lkIDw8IDcpICsg KGFxX2lkIDw8IDMpICsNCj4gPiArCQkJCUhXUGZRbWdySW5ncmVzc0FxKTsNCj4gPiArCWVsc2UN Cj4gPiArCQlyZXR1cm4gKChxZ3JwX2lkIDw8IDcpICsgKGFxX2lkIDw8IDMpICsNCj4gPiArCQkJ CUhXVmZRbWdySW5ncmVzc0FxKTsNCj4gPiArfQ0KPiA+ICsNCj4gPiArZW51bSB7VUxfNEcgPSAw LCBVTF81RywgRExfNEcsIERMXzVHLCBOVU1fQUNDfTsNCj4gPiArDQo+ID4gKy8qIFJldHVybiB0 aGUgcXVldWUgdG9wb2xvZ3kgZm9yIGEgUXVldWUgR3JvdXAgSW5kZXggKi8gc3RhdGljIGlubGlu ZQ0KPiA+ICt2b2lkIHF0b3BGcm9tQWNjKHN0cnVjdCBydGVfYWNjMTAwX3F1ZXVlX3RvcG9sb2d5 ICoqcXRvcCwgaW50DQo+ID4gK2FjY19lbnVtLA0KPiA+ICsJCXN0cnVjdCBydGVfYWNjMTAwX2Nv bmYgKmFjYzEwMF9jb25mKSB7DQo+ID4gKwlzdHJ1Y3QgcnRlX2FjYzEwMF9xdWV1ZV90b3BvbG9n eSAqcF9xdG9wOw0KPiA+ICsJcF9xdG9wID0gTlVMTDsNCj4gPiArCXN3aXRjaCAoYWNjX2VudW0p IHsNCj4gPiArCWNhc2UgVUxfNEc6DQo+ID4gKwkJcF9xdG9wID0gJihhY2MxMDBfY29uZi0+cV91 bF80Zyk7DQo+ID4gKwkJYnJlYWs7DQo+ID4gKwljYXNlIFVMXzVHOg0KPiA+ICsJCXBfcXRvcCA9 ICYoYWNjMTAwX2NvbmYtPnFfdWxfNWcpOw0KPiA+ICsJCWJyZWFrOw0KPiA+ICsJY2FzZSBETF80 RzoNCj4gPiArCQlwX3F0b3AgPSAmKGFjYzEwMF9jb25mLT5xX2RsXzRnKTsNCj4gPiArCQlicmVh azsNCj4gPiArCWNhc2UgRExfNUc6DQo+ID4gKwkJcF9xdG9wID0gJihhY2MxMDBfY29uZi0+cV9k bF81Zyk7DQo+ID4gKwkJYnJlYWs7DQo+ID4gKwlkZWZhdWx0Og0KPiA+ICsJCS8qIE5PVFJFQUNI RUQgKi8NCj4gPiArCQlydGVfYmJkZXZfbG9nKEVSUiwgIlVuZXhwZWN0ZWQgZXJyb3IgZXZhbHVh dGluZw0KPiBxdG9wRnJvbUFjYyIpOw0KPiA+ICsJCWJyZWFrOw0KPiA+ICsJfQ0KPiA+ICsJKnF0 b3AgPSBwX3F0b3A7DQo+ID4gK30NCj4gPiArDQo+ID4gK3N0YXRpYyB2b2lkDQo+ID4gK2luaXRR VG9wKHN0cnVjdCBydGVfYWNjMTAwX2NvbmYgKmFjYzEwMF9jb25mKSB7DQo+ID4gKwlhY2MxMDBf Y29uZi0+cV91bF80Zy5udW1fYXFzX3Blcl9ncm91cHMgPSAwOw0KPiA+ICsJYWNjMTAwX2NvbmYt PnFfdWxfNGcubnVtX3Fncm91cHMgPSAwOw0KPiA+ICsJYWNjMTAwX2NvbmYtPnFfdWxfNGcuZmly c3RfcWdyb3VwX2luZGV4ID0gLTE7DQo+ID4gKwlhY2MxMDBfY29uZi0+cV91bF81Zy5udW1fYXFz X3Blcl9ncm91cHMgPSAwOw0KPiA+ICsJYWNjMTAwX2NvbmYtPnFfdWxfNWcubnVtX3Fncm91cHMg PSAwOw0KPiA+ICsJYWNjMTAwX2NvbmYtPnFfdWxfNWcuZmlyc3RfcWdyb3VwX2luZGV4ID0gLTE7 DQo+ID4gKwlhY2MxMDBfY29uZi0+cV9kbF80Zy5udW1fYXFzX3Blcl9ncm91cHMgPSAwOw0KPiA+ ICsJYWNjMTAwX2NvbmYtPnFfZGxfNGcubnVtX3Fncm91cHMgPSAwOw0KPiA+ICsJYWNjMTAwX2Nv bmYtPnFfZGxfNGcuZmlyc3RfcWdyb3VwX2luZGV4ID0gLTE7DQo+ID4gKwlhY2MxMDBfY29uZi0+ cV9kbF81Zy5udW1fYXFzX3Blcl9ncm91cHMgPSAwOw0KPiA+ICsJYWNjMTAwX2NvbmYtPnFfZGxf NWcubnVtX3Fncm91cHMgPSAwOw0KPiA+ICsJYWNjMTAwX2NvbmYtPnFfZGxfNWcuZmlyc3RfcWdy b3VwX2luZGV4ID0gLTE7IH0NCj4gPiArDQo+ID4gK3N0YXRpYyBpbmxpbmUgdm9pZA0KPiA+ICt1 cGRhdGVRdG9wKHVpbnQ4X3QgYWNjLCB1aW50OF90IHFnLCBzdHJ1Y3QgcnRlX2FjYzEwMF9jb25m DQo+ICphY2MxMDBfY29uZiwNCj4gPiArCQlzdHJ1Y3QgYWNjMTAwX2RldmljZSAqZCkgew0KPiA+ ICsJdWludDMyX3QgcmVnOw0KPiA+ICsJc3RydWN0IHJ0ZV9hY2MxMDBfcXVldWVfdG9wb2xvZ3kg KnFfdG9wID0gTlVMTDsNCj4gPiArCXF0b3BGcm9tQWNjKCZxX3RvcCwgYWNjLCBhY2MxMDBfY29u Zik7DQo+ID4gKwlpZiAodW5saWtlbHkocV90b3AgPT0gTlVMTCkpDQo+ID4gKwkJcmV0dXJuOw0K PiA+ICsJdWludDE2X3QgYXE7DQo+ID4gKwlxX3RvcC0+bnVtX3Fncm91cHMrKzsNCj4gPiArCWlm IChxX3RvcC0+Zmlyc3RfcWdyb3VwX2luZGV4ID09IC0xKSB7DQo+ID4gKwkJcV90b3AtPmZpcnN0 X3Fncm91cF9pbmRleCA9IHFnOw0KPiA+ICsJCS8qIENhbiBiZSBvcHRpbWl6ZWQgdG8gYXNzdW1l IGFsbCBhcmUgZW5hYmxlZCBieSBkZWZhdWx0ICovDQo+ID4gKwkJcmVnID0gYWNjMTAwX3JlZ19y ZWFkKGQsIHF1ZXVlX29mZnNldChkLT5wZl9kZXZpY2UsDQo+ID4gKwkJCQkwLCBxZywgQUNDMTAw X05VTV9BUVMgLSAxKSk7DQo+ID4gKwkJaWYgKHJlZyAmIEFDQzEwMF9RVUVVRV9FTkFCTEUpIHsN Cj4gPiArCQkJcV90b3AtPm51bV9hcXNfcGVyX2dyb3VwcyA9IEFDQzEwMF9OVU1fQVFTOw0KPiA+ ICsJCQlyZXR1cm47DQo+ID4gKwkJfQ0KPiA+ICsJCXFfdG9wLT5udW1fYXFzX3Blcl9ncm91cHMg PSAwOw0KPiA+ICsJCWZvciAoYXEgPSAwOyBhcSA8IEFDQzEwMF9OVU1fQVFTOyBhcSsrKSB7DQo+ ID4gKwkJCXJlZyA9IGFjYzEwMF9yZWdfcmVhZChkLCBxdWV1ZV9vZmZzZXQoZC0NCj4gPnBmX2Rl dmljZSwNCj4gPiArCQkJCQkwLCBxZywgYXEpKTsNCj4gPiArCQkJaWYgKHJlZyAmIEFDQzEwMF9R VUVVRV9FTkFCTEUpDQo+ID4gKwkJCQlxX3RvcC0+bnVtX2Fxc19wZXJfZ3JvdXBzKys7DQo+ID4g KwkJfQ0KPiA+ICsJfQ0KPiA+ICt9DQo+ID4gKw0KPiA+ICsvKiBGZXRjaCBjb25maWd1cmF0aW9u IGVuYWJsZWQgZm9yIHRoZSBQRi9WRiB1c2luZyBNTUlPIFJlYWQgKHNsb3cpDQo+ID4gKyovIHN0 YXRpYyBpbmxpbmUgdm9pZCBmZXRjaF9hY2MxMDBfY29uZmlnKHN0cnVjdCBydGVfYmJkZXYgKmRl dikgew0KPiA+ICsJc3RydWN0IGFjYzEwMF9kZXZpY2UgKmQgPSBkZXYtPmRhdGEtPmRldl9wcml2 YXRlOw0KPiA+ICsJc3RydWN0IHJ0ZV9hY2MxMDBfY29uZiAqYWNjMTAwX2NvbmYgPSAmZC0+YWNj MTAwX2NvbmY7DQo+ID4gKwljb25zdCBzdHJ1Y3QgYWNjMTAwX3JlZ2lzdHJ5X2FkZHIgKnJlZ19h ZGRyOw0KPiA+ICsJdWludDhfdCBhY2MsIHFnOw0KPiA+ICsJdWludDMyX3QgcmVnLCByZWdfYXEs IHJlZ19sZW4wLCByZWdfbGVuMTsNCj4gPiArCXVpbnQzMl90IHJlZ19tb2RlOw0KPiA+ICsNCj4g PiArCS8qIE5vIG5lZWQgdG8gcmV0cmlldmUgdGhlIGNvbmZpZ3VyYXRpb24gaXMgYWxyZWFkeSBk b25lICovDQo+ID4gKwlpZiAoZC0+Y29uZmlndXJlZCkNCj4gPiArCQlyZXR1cm47DQo+ID4gKw0K PiA+ICsJLyogQ2hvb3NlIGNvcnJlY3QgcmVnaXN0cnkgYWRkcmVzc2VzIGZvciB0aGUgZGV2aWNl IHR5cGUgKi8NCj4gPiArCWlmIChkLT5wZl9kZXZpY2UpDQo+ID4gKwkJcmVnX2FkZHIgPSAmcGZf cmVnX2FkZHI7DQo+ID4gKwllbHNlDQo+ID4gKwkJcmVnX2FkZHIgPSAmdmZfcmVnX2FkZHI7DQo+ ID4gKw0KPiA+ICsJZC0+ZGRyX3NpemUgPSAoMSArIGFjYzEwMF9yZWdfcmVhZChkLCByZWdfYWRk ci0+ZGRyX3JhbmdlKSkgPDwgMTA7DQo+ID4gKw0KPiA+ICsJLyogU2luZ2xlIFZGIEJ1bmRsZSBi eSBWRiAqLw0KPiA+ICsJYWNjMTAwX2NvbmYtPm51bV92Zl9idW5kbGVzID0gMTsNCj4gPiArCWlu aXRRVG9wKGFjYzEwMF9jb25mKTsNCj4gPiArDQo+ID4gKwlzdHJ1Y3QgcnRlX2FjYzEwMF9xdWV1 ZV90b3BvbG9neSAqcV90b3AgPSBOVUxMOw0KPiA+ICsJaW50IHFtYW5fZnVuY19pZFtBQ0MxMDBf TlVNX0FDQ1NdID0ge0FDQzEwMF9BQ0NNQVBfMCwNCj4gQUNDMTAwX0FDQ01BUF8xLA0KPiA+ICsJ CQlBQ0MxMDBfQUNDTUFQXzIsIEFDQzEwMF9BQ0NNQVBfMywNCj4gQUNDMTAwX0FDQ01BUF80fTsN Cj4gPiArCXJlZyA9IGFjYzEwMF9yZWdfcmVhZChkLCByZWdfYWRkci0+cW1hbl9ncm91cF9mdW5j KTsNCj4gPiArCWZvciAocWcgPSAwOyBxZyA8IEFDQzEwMF9OVU1fUUdSUFNfUEVSX1dPUkQ7IHFn KyspIHsNCj4gPiArCQlyZWdfYXEgPSBhY2MxMDBfcmVnX3JlYWQoZCwNCj4gPiArCQkJCXF1ZXVl X29mZnNldChkLT5wZl9kZXZpY2UsIDAsIHFnLCAwKSk7DQo+ID4gKwkJaWYgKHJlZ19hcSAmIEFD QzEwMF9RVUVVRV9FTkFCTEUpIHsNCj4gPiArCQkJdWludDMyX3QgaWR4ID0gKHJlZyA+PiAocWcg KiA0KSkgJiAweDc7DQo+ID4gKwkJCWlmIChpZHggPj0gQUNDMTAwX05VTV9BQ0NTKQ0KPiA+ICsJ CQkJYnJlYWs7DQo+IA0KPiBhICdjb250aW51ZScgd291bGQgYmUgYmV0dGVyDQo+IA0KPiBvciBy ZXZlcnNlIHRoZSBjaGVjaw0KPiANCj4gaWYgKGlkeCA8IEFDQzEwMF9OVU1fQUNDUykgew0KPiAN Cj4gwqDCoMKgIGFjYyA9IHFtYW5fZnVuY19pZCAuLg0KPiANCj4gfQ0KDQpJIGNhbiBjaGFuZ2Uu IA0KUGxlYXNlIGNvbmZpcm0gd2hhdCB5b3UgdGhpbmsgb24gdGhlIHByZXZpb3VzIG9uZS4gSSB3 b3VsZCB0byBnZXQgZmluYWwgYnkgdG9tb3Jyb3cgbGF0ZXN0Lg0KDQpUaGFua3MNCk5pYw0KDQoN Cj4gDQo+IFRvbQ0KPiANCj4gPiArCQkJYWNjID0gcW1hbl9mdW5jX2lkW2lkeF07DQo+ID4gKwkJ CXVwZGF0ZVF0b3AoYWNjLCBxZywgYWNjMTAwX2NvbmYsIGQpOw0KPiA+ICsJCX0NCj4gPiArCX0N Cj4gPiArDQo+ID4gKwkvKiBDaGVjayB0aGUgZGVwdGggb2YgdGhlIEFRcyovDQo+ID4gKwlyZWdf bGVuMCA9IGFjYzEwMF9yZWdfcmVhZChkLCByZWdfYWRkci0+ZGVwdGhfbG9nMF9vZmZzZXQpOw0K PiA+ICsJcmVnX2xlbjEgPSBhY2MxMDBfcmVnX3JlYWQoZCwgcmVnX2FkZHItPmRlcHRoX2xvZzFf b2Zmc2V0KTsNCj4gPiArCWZvciAoYWNjID0gMDsgYWNjIDwgTlVNX0FDQzsgYWNjKyspIHsNCj4g PiArCQlxdG9wRnJvbUFjYygmcV90b3AsIGFjYywgYWNjMTAwX2NvbmYpOw0KPiA+ICsJCWlmIChx X3RvcC0+Zmlyc3RfcWdyb3VwX2luZGV4IDwNCj4gQUNDMTAwX05VTV9RR1JQU19QRVJfV09SRCkN Cj4gPiArCQkJcV90b3AtPmFxX2RlcHRoX2xvZzIgPSAocmVnX2xlbjAgPj4NCj4gPiArCQkJCQko cV90b3AtPmZpcnN0X3Fncm91cF9pbmRleCAqIDQpKQ0KPiA+ICsJCQkJCSYgMHhGOw0KPiA+ICsJ CWVsc2UNCj4gPiArCQkJcV90b3AtPmFxX2RlcHRoX2xvZzIgPSAocmVnX2xlbjEgPj4NCj4gPiAr CQkJCQkoKHFfdG9wLT5maXJzdF9xZ3JvdXBfaW5kZXggLQ0KPiA+ICsJCQkJCUFDQzEwMF9OVU1f UUdSUFNfUEVSX1dPUkQpICoNCj4gNCkpDQo+ID4gKwkJCQkJJiAweEY7DQo+ID4gKwl9DQo+ID4g Kw0KPiA+ICsJLyogUmVhZCBQRiBtb2RlICovDQo+ID4gKwlpZiAoZC0+cGZfZGV2aWNlKSB7DQo+ ID4gKwkJcmVnX21vZGUgPSBhY2MxMDBfcmVnX3JlYWQoZCwgSFdQZkhpUGZNb2RlKTsNCj4gPiAr CQlhY2MxMDBfY29uZi0+cGZfbW9kZV9lbiA9IChyZWdfbW9kZSA9PSBBQ0MxMDBfUEZfVkFMKQ0K PiA/IDEgOiAwOw0KPiA+ICsJfQ0KPiA+ICsNCj4gPiArCXJ0ZV9iYmRldl9sb2dfZGVidWcoDQo+ ID4gKwkJCSIlcyBDb25maWcgTExSIFNJR04gSU4vT1VUICVzICVzIFFHICV1ICV1ICV1ICV1DQo+ IEFRICV1ICV1ICV1ICV1IExlbiAldSAldSAldSAldVxuIiwNCj4gPiArCQkJKGQtPnBmX2Rldmlj ZSkgPyAiUEYiIDogIlZGIiwNCj4gPiArCQkJKGFjYzEwMF9jb25mLT5pbnB1dF9wb3NfbGxyXzFf Yml0KSA/ICJQT1MiIDogIk5FRyIsDQo+ID4gKwkJCShhY2MxMDBfY29uZi0+b3V0cHV0X3Bvc19s bHJfMV9iaXQpID8gIlBPUyIgOg0KPiAiTkVHIiwNCj4gPiArCQkJYWNjMTAwX2NvbmYtPnFfdWxf NGcubnVtX3Fncm91cHMsDQo+ID4gKwkJCWFjYzEwMF9jb25mLT5xX2RsXzRnLm51bV9xZ3JvdXBz LA0KPiA+ICsJCQlhY2MxMDBfY29uZi0+cV91bF81Zy5udW1fcWdyb3VwcywNCj4gPiArCQkJYWNj MTAwX2NvbmYtPnFfZGxfNWcubnVtX3Fncm91cHMsDQo+ID4gKwkJCWFjYzEwMF9jb25mLT5xX3Vs XzRnLm51bV9hcXNfcGVyX2dyb3VwcywNCj4gPiArCQkJYWNjMTAwX2NvbmYtPnFfZGxfNGcubnVt X2Fxc19wZXJfZ3JvdXBzLA0KPiA+ICsJCQlhY2MxMDBfY29uZi0+cV91bF81Zy5udW1fYXFzX3Bl cl9ncm91cHMsDQo+ID4gKwkJCWFjYzEwMF9jb25mLT5xX2RsXzVnLm51bV9hcXNfcGVyX2dyb3Vw cywNCj4gPiArCQkJYWNjMTAwX2NvbmYtPnFfdWxfNGcuYXFfZGVwdGhfbG9nMiwNCj4gPiArCQkJ YWNjMTAwX2NvbmYtPnFfZGxfNGcuYXFfZGVwdGhfbG9nMiwNCj4gPiArCQkJYWNjMTAwX2NvbmYt PnFfdWxfNWcuYXFfZGVwdGhfbG9nMiwNCj4gPiArCQkJYWNjMTAwX2NvbmYtPnFfZGxfNWcuYXFf ZGVwdGhfbG9nMik7DQo+ID4gK30NCj4gPiArDQo+ID4gIC8qIEZyZWUgNjRNQiBtZW1vcnkgdXNl ZCBmb3Igc29mdHdhcmUgcmluZ3MgKi8gIHN0YXRpYyBpbnQNCj4gPiBhY2MxMDBfZGV2X2Nsb3Nl KHN0cnVjdCBydGVfYmJkZXYgKmRldiAgX19ydGVfdW51c2VkKSBAQCAtMzMsOA0KPiArMjE1LDU1 DQo+ID4gQEANCj4gPiAgCXJldHVybiAwOw0KPiA+ICB9DQo+ID4NCj4gPiArLyogR2V0IEFDQzEw MCBkZXZpY2UgaW5mbyAqLw0KPiA+ICtzdGF0aWMgdm9pZA0KPiA+ICthY2MxMDBfZGV2X2luZm9f Z2V0KHN0cnVjdCBydGVfYmJkZXYgKmRldiwNCj4gPiArCQlzdHJ1Y3QgcnRlX2JiZGV2X2RyaXZl cl9pbmZvICpkZXZfaW5mbykgew0KPiA+ICsJc3RydWN0IGFjYzEwMF9kZXZpY2UgKmQgPSBkZXYt PmRhdGEtPmRldl9wcml2YXRlOw0KPiA+ICsNCj4gPiArCXN0YXRpYyBjb25zdCBzdHJ1Y3QgcnRl X2JiZGV2X29wX2NhcCBiYmRldl9jYXBhYmlsaXRpZXNbXSA9IHsNCj4gPiArCQlSVEVfQkJERVZf RU5EX09GX0NBUEFCSUxJVElFU19MSVNUKCkNCj4gPiArCX07DQo+ID4gKw0KPiA+ICsJc3RhdGlj IHN0cnVjdCBydGVfYmJkZXZfcXVldWVfY29uZiBkZWZhdWx0X3F1ZXVlX2NvbmY7DQo+ID4gKwlk ZWZhdWx0X3F1ZXVlX2NvbmYuc29ja2V0ID0gZGV2LT5kYXRhLT5zb2NrZXRfaWQ7DQo+ID4gKwlk ZWZhdWx0X3F1ZXVlX2NvbmYucXVldWVfc2l6ZSA9IEFDQzEwMF9NQVhfUVVFVUVfREVQVEg7DQo+ ID4gKw0KPiA+ICsJZGV2X2luZm8tPmRyaXZlcl9uYW1lID0gZGV2LT5kZXZpY2UtPmRyaXZlci0+ bmFtZTsNCj4gPiArDQo+ID4gKwkvKiBSZWFkIGFuZCBzYXZlIHRoZSBwb3B1bGF0ZWQgY29uZmln IGZyb20gQUNDMTAwIHJlZ2lzdGVycyAqLw0KPiA+ICsJZmV0Y2hfYWNjMTAwX2NvbmZpZyhkZXYp Ow0KPiA+ICsNCj4gPiArCS8qIFRoaXMgaXNuJ3QgaWRlYWwgYmVjYXVzZSBpdCByZXBvcnRzIHRo ZSBtYXhpbXVtIG51bWJlciBvZiBxdWV1ZXMNCj4gYnV0DQo+ID4gKwkgKiBkb2VzIG5vdCBwcm92 aWRlIGluZm8gb24gaG93IG1hbnkgY2FuIGJlIHVwbGluay9kb3dubGluayBvcg0KPiBkaWZmZXJl bnQNCj4gPiArCSAqIHByaW9yaXRpZXMNCj4gPiArCSAqLw0KPiA+ICsJZGV2X2luZm8tPm1heF9u dW1fcXVldWVzID0NCj4gPiArCQkJZC0+YWNjMTAwX2NvbmYucV9kbF81Zy5udW1fYXFzX3Blcl9n cm91cHMgKg0KPiA+ICsJCQlkLT5hY2MxMDBfY29uZi5xX2RsXzVnLm51bV9xZ3JvdXBzICsNCj4g PiArCQkJZC0+YWNjMTAwX2NvbmYucV91bF81Zy5udW1fYXFzX3Blcl9ncm91cHMgKg0KPiA+ICsJ CQlkLT5hY2MxMDBfY29uZi5xX3VsXzVnLm51bV9xZ3JvdXBzICsNCj4gPiArCQkJZC0+YWNjMTAw X2NvbmYucV9kbF80Zy5udW1fYXFzX3Blcl9ncm91cHMgKg0KPiA+ICsJCQlkLT5hY2MxMDBfY29u Zi5xX2RsXzRnLm51bV9xZ3JvdXBzICsNCj4gPiArCQkJZC0+YWNjMTAwX2NvbmYucV91bF80Zy5u dW1fYXFzX3Blcl9ncm91cHMgKg0KPiA+ICsJCQlkLT5hY2MxMDBfY29uZi5xX3VsXzRnLm51bV9x Z3JvdXBzOw0KPiA+ICsJZGV2X2luZm8tPnF1ZXVlX3NpemVfbGltID0gQUNDMTAwX01BWF9RVUVV RV9ERVBUSDsNCj4gPiArCWRldl9pbmZvLT5oYXJkd2FyZV9hY2NlbGVyYXRlZCA9IHRydWU7DQo+ ID4gKwlkZXZfaW5mby0+bWF4X2RsX3F1ZXVlX3ByaW9yaXR5ID0NCj4gPiArCQkJZC0+YWNjMTAw X2NvbmYucV9kbF80Zy5udW1fcWdyb3VwcyAtIDE7DQo+ID4gKwlkZXZfaW5mby0+bWF4X3VsX3F1 ZXVlX3ByaW9yaXR5ID0NCj4gPiArCQkJZC0+YWNjMTAwX2NvbmYucV91bF80Zy5udW1fcWdyb3Vw cyAtIDE7DQo+ID4gKwlkZXZfaW5mby0+ZGVmYXVsdF9xdWV1ZV9jb25mID0gZGVmYXVsdF9xdWV1 ZV9jb25mOw0KPiA+ICsJZGV2X2luZm8tPmNwdV9mbGFnX3JlcXMgPSBOVUxMOw0KPiA+ICsJZGV2 X2luZm8tPm1pbl9hbGlnbm1lbnQgPSA2NDsNCj4gPiArCWRldl9pbmZvLT5jYXBhYmlsaXRpZXMg PSBiYmRldl9jYXBhYmlsaXRpZXM7DQo+ID4gKwlkZXZfaW5mby0+aGFycV9idWZmZXJfc2l6ZSA9 IGQtPmRkcl9zaXplOyB9DQo+ID4gKw0KPiA+ICBzdGF0aWMgY29uc3Qgc3RydWN0IHJ0ZV9iYmRl dl9vcHMgYWNjMTAwX2JiZGV2X29wcyA9IHsNCj4gPiAgCS5jbG9zZSA9IGFjYzEwMF9kZXZfY2xv c2UsDQo+ID4gKwkuaW5mb19nZXQgPSBhY2MxMDBfZGV2X2luZm9fZ2V0LA0KPiA+ICB9Ow0KPiA+ DQo+ID4gIC8qIEFDQzEwMCBQQ0kgUEYgYWRkcmVzcyBtYXAgKi8NCj4gPiBkaWZmIC0tZ2l0IGEv ZHJpdmVycy9iYXNlYmFuZC9hY2MxMDAvcnRlX2FjYzEwMF9wbWQuaA0KPiA+IGIvZHJpdmVycy9i YXNlYmFuZC9hY2MxMDAvcnRlX2FjYzEwMF9wbWQuaA0KPiA+IGluZGV4IDY1MjVkNjYuLjA5OTY1 YzggMTAwNjQ0DQo+ID4gLS0tIGEvZHJpdmVycy9iYXNlYmFuZC9hY2MxMDAvcnRlX2FjYzEwMF9w bWQuaA0KPiA+ICsrKyBiL2RyaXZlcnMvYmFzZWJhbmQvYWNjMTAwL3J0ZV9hY2MxMDBfcG1kLmgN Cj4gPiBAQCAtNyw2ICs3LDcgQEANCj4gPg0KPiA+ICAjaW5jbHVkZSAiYWNjMTAwX3BmX2VudW0u aCINCj4gPiAgI2luY2x1ZGUgImFjYzEwMF92Zl9lbnVtLmgiDQo+ID4gKyNpbmNsdWRlICJydGVf YWNjMTAwX2NmZy5oIg0KPiA+DQo+ID4gIC8qIEhlbHBlciBtYWNybyBmb3IgbG9nZ2luZyAqLw0K PiA+ICAjZGVmaW5lIHJ0ZV9iYmRldl9sb2cobGV2ZWwsIGZtdCwgLi4uKSBcIEBAIC05OCw2ICs5 OSwxMyBAQCAgI2RlZmluZQ0KPiA+IEFDQzEwMF9TSUdfVUxfNEdfTEFTVCAyMQ0KPiA+ICAjZGVm aW5lIEFDQzEwMF9TSUdfRExfNEcgICAgICAyNw0KPiA+ICAjZGVmaW5lIEFDQzEwMF9TSUdfRExf NEdfTEFTVCAzMQ0KPiA+ICsjZGVmaW5lIEFDQzEwMF9OVU1fQUNDUyAgICAgICA1DQo+ID4gKyNk ZWZpbmUgQUNDMTAwX0FDQ01BUF8wICAgICAgIDANCj4gPiArI2RlZmluZSBBQ0MxMDBfQUNDTUFQ XzEgICAgICAgMg0KPiA+ICsjZGVmaW5lIEFDQzEwMF9BQ0NNQVBfMiAgICAgICAxDQo+ID4gKyNk ZWZpbmUgQUNDMTAwX0FDQ01BUF8zICAgICAgIDMNCj4gPiArI2RlZmluZSBBQ0MxMDBfQUNDTUFQ XzQgICAgICAgNA0KPiA+ICsjZGVmaW5lIEFDQzEwMF9QRl9WQUwgICAgICAgICAyDQo+ID4NCj4g PiAgLyogbWF4IG51bWJlciBvZiBpdGVyYXRpb25zIHRvIGFsbG9jYXRlIG1lbW9yeSBibG9jayBm b3IgYWxsIHJpbmdzICovDQo+ID4gI2RlZmluZSBBQ0MxMDBfU1dfUklOR19NRU1fQUxMT0NfQVRU RU1QVFMgNSBAQCAtNTE3LDYgKzUyNSw4DQo+IEBAIHN0cnVjdA0KPiA+IGFjYzEwMF9yZWdpc3Ry eV9hZGRyIHsNCj4gPiAgLyogUHJpdmF0ZSBkYXRhIHN0cnVjdHVyZSBmb3IgZWFjaCBBQ0MxMDAg ZGV2aWNlICovICBzdHJ1Y3QNCj4gPiBhY2MxMDBfZGV2aWNlIHsNCj4gPiAgCXZvaWQgKm1taW9f YmFzZTsgIC8qKjwgQmFzZSBhZGRyZXNzIG9mIE1NSU8gcmVnaXN0ZXJzIChCQVIwKSAqLw0KPiA+ ICsJdWludDMyX3QgZGRyX3NpemU7IC8qIFNpemUgaW4ga0IgKi8NCj4gPiArCXN0cnVjdCBydGVf YWNjMTAwX2NvbmYgYWNjMTAwX2NvbmY7IC8qIEFDQzEwMCBJbml0aWFsIGNvbmZpZ3VyYXRpb24N Cj4gPiArKi8NCj4gPiAgCWJvb2wgcGZfZGV2aWNlOyAvKio8IFRydWUgaWYgdGhpcyBpcyBhIFBG IEFDQzEwMCBkZXZpY2UgKi8NCj4gPiAgCWJvb2wgY29uZmlndXJlZDsgLyoqPCBUcnVlIGlmIHRo aXMgQUNDMTAwIGRldmljZSBpcyBjb25maWd1cmVkICovDQo+ID4gfTsNCg0K