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 E7368A034C; Thu, 29 Sep 2022 23:14:52 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id DB9D540E5A; Thu, 29 Sep 2022 23:14:52 +0200 (CEST) Received: from mga11.intel.com (mga11.intel.com [192.55.52.93]) by mails.dpdk.org (Postfix) with ESMTP id 4984C40694 for ; Thu, 29 Sep 2022 23:14:51 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1664486091; x=1696022091; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=qh2KLAIEuminELW8pLwvYsjKt9z0bXxYtJym+GrowGw=; b=IU8iEOySMCWNtlTVapQ4jkawUwXezNVL3EsUGI0dlSyQIPebN6osrywh 9RjWMFhePeucUFgcgQ6p4q0dl+l752/fsdP6AUCKuSTZBox18X8ZZSLh9 1a6JEE7fEw3jlidjFOVZp8VTcOGzSvyfgwlfNwy6U1daTc2upOODBV1dE 6ZAg+UJY7YVMe+EYW3dgQO8PCLXFakciyJLEBKFDBa+7Jdhlcza8LxIUT N7Tvtmn0eptMgBQfRwv/Xdisoq+C+6vBQVC0dwQdDPHQQ7x4DCuG162Cr JUC4vjKz6gPf/Rzc5hwUCvU3/KARJBO2ANV/sqeLtr2CQRQ6rp9/V2NWU w==; X-IronPort-AV: E=McAfee;i="6500,9779,10485"; a="299629291" X-IronPort-AV: E=Sophos;i="5.93,356,1654585200"; d="scan'208";a="299629291" Received: from fmsmga003.fm.intel.com ([10.253.24.29]) by fmsmga102.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 29 Sep 2022 14:14:50 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6500,9779,10485"; a="711550293" X-IronPort-AV: E=Sophos;i="5.93,356,1654585200"; d="scan'208";a="711550293" Received: from fmsmsx601.amr.corp.intel.com ([10.18.126.81]) by FMSMGA003.fm.intel.com with ESMTP; 29 Sep 2022 14:14:50 -0700 Received: from fmsmsx612.amr.corp.intel.com (10.18.126.92) by fmsmsx601.amr.corp.intel.com (10.18.126.81) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.31; Thu, 29 Sep 2022 14:14:50 -0700 Received: from fmsedg602.ED.cps.intel.com (10.1.192.136) by fmsmsx612.amr.corp.intel.com (10.18.126.92) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.31 via Frontend Transport; Thu, 29 Sep 2022 14:14:50 -0700 Received: from NAM10-MW2-obe.outbound.protection.outlook.com (104.47.55.104) by edgegateway.intel.com (192.55.55.71) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2375.31; Thu, 29 Sep 2022 14:14:49 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=cT+ua6a7kQXpr5w2r+P9FaLQmwicdHQJZodes8+S39zPZbbFgPM5QxFssiGgFRbl4PnckW29h3wT5yG4g/TZANdVLi3mDDwSLJFt1o6XP9cLoFv/m3/b7cIPdOWmUz55hmRYnr1qipXVPhg6Pp/ydcbWEn1uYkLXx1w3ZM/S344c83QQK5onHJPWkhjOMnUhrsaGzCAYy/i49a+XaYxIQ+97r1Geu9zEkjbfZOn+ShrFW2JOJ0m39oOjweGLG1io8I/RpKgQ+mnNHEGN9y/qvFLCuTQRJpYtWFIxNQX8cFDmD9Aa0FNwzzH4UcPQjuOVGynOukIfWEPd9ShK/4lyjw== 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=qh2KLAIEuminELW8pLwvYsjKt9z0bXxYtJym+GrowGw=; b=T3z1WauXZd2Jtz86EtgssDgJ1qajw5V/NBu81eDKzfNXkyXMC5GTfCv/BIXoXT0E/gE+5KNK8fCGODcEBd1EL53rt+9ZA9rLvEUDheGY6xnP/BCZVJZl16hTsuMa82bXSLjAYvhinPqKYrixHCGfKx19EIjuxfbpMnDAHIWko8HAOK39LpQhTK+LOtSe7rBHS1/NHs9hXtRHUW59MJ7bxu8SnjfizsDQISYE82+MDFW9AAuyQ8wprH/gd8YNhZhQphiy1QLqFLNTZfXiHyn+32xaQtBemnGqKZ2noIWGxNq7xFCQIycFXtaaYiTJVmS/oIUylUm/j1+7Gxr39bhgHA== 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 Received: from BY5PR11MB4451.namprd11.prod.outlook.com (2603:10b6:a03:1cb::30) by PH7PR11MB6953.namprd11.prod.outlook.com (2603:10b6:510:204::6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5654.20; Thu, 29 Sep 2022 21:14:47 +0000 Received: from BY5PR11MB4451.namprd11.prod.outlook.com ([fe80::e6be:3feb:17fd:bdcf]) by BY5PR11MB4451.namprd11.prod.outlook.com ([fe80::e6be:3feb:17fd:bdcf%7]) with mapi id 15.20.5676.020; Thu, 29 Sep 2022 21:14:47 +0000 From: "Chautru, Nicolas" To: Maxime Coquelin , "dev@dpdk.org" , "thomas@monjalon.net" CC: "trix@redhat.com" , "mdr@ashroe.eu" , "Richardson, Bruce" , "hemant.agrawal@nxp.com" , "david.marchand@redhat.com" , "stephen@networkplumber.org" , "Vargas, Hernan" Subject: RE: [PATCH v6 10/14] baseband/acc: add support for FFT operations Thread-Topic: [PATCH v6 10/14] baseband/acc: add support for FFT operations Thread-Index: AQHYz6+65NgW+ZON8UODi80qMRoxaq3zT2IAgAOiEoA= Date: Thu, 29 Sep 2022 21:14:47 +0000 Message-ID: References: <20220924005048.20302-1-nicolas.chautru@intel.com> <20220924005048.20302-11-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.6.500.17 authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=intel.com; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: BY5PR11MB4451:EE_|PH7PR11MB6953:EE_ x-ms-office365-filtering-correlation-id: f5f97e7d-d286-46cc-10dd-08daa25fa3af x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: V34Mm/JeeNNNZOswKunNRhAByyDsXE7uNfAgX6u8lMwHbosZYGbwHL7FXUpSKMuj5dxPv6TJxC0zOb4QuHpXFD73/9Buk+NGNbbkxbBgaKn2WjH+8jB2ScMxZfnLy270i0sDreAzPQnkGJqXQtqHiB3PDdLf7XNyGjYEVl0LOR2U3AsHTpDp3rNnuwzRjUmITGe+ts8DZAadFZt3OEG7gT2/pGkz6nPlwgOwfRSUwvrLvfIATjM+KNWjy92qkDOnZ7IPe0dc+qo1/xYnnng5T2M0TwjrhKh3R1TakQN1Wjd62WChi3Qzil9R1JP36y8Hguz0+V7pN4lqbgzMdaZoPmlY2KrCshbGSfIX+u46GzwScS9eqKNCYJuqbwcj+ha1hf2wutwO+YmxgmhYiuXHmfn++Qu4vfuoLrKqOGb1gedoARXAW/H2AUAdVgTEhaCePCjXC9xDp13WiWLFbAJgxFwA3NhvLs/mEID51ZDmR8jBHAJYl7iWZ4O48U0GNxIbGAtIUN0i5rQNWeH4Mf3ak9r0fqfdCrT/CywW8Z7N4Y8kbGg3N3VB7oy716My5HzsSGTreCmK6RSIevHEDhdFamD5NnpkBZI3dZYJk5y78xjecUXNO22oAFzAe3bJ3VneIUazzPRmEshGh8F2+4ZhiBn15on+K4h3FIlnDcGmP1l772ToTIV6sNbMrk9zpTp6uFutbf+a7sG8yYfrEdgSGPVoVAxy2donAJou3g+Aw/5gminyqFZyr9pY9uiBHcNkX4IdjKyI3uCzidGapJUlKD64666byrJJREMJ5MbF6GM= 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:(13230022)(376002)(136003)(39860400002)(366004)(346002)(396003)(451199015)(41300700001)(38070700005)(186003)(122000001)(316002)(66556008)(8676002)(33656002)(2906002)(66446008)(76116006)(8936002)(64756008)(66476007)(86362001)(5660300002)(30864003)(52536014)(55016003)(107886003)(71200400001)(478600001)(9686003)(82960400001)(26005)(6506007)(66946007)(7696005)(38100700002)(54906003)(110136005)(53546011)(4326008)(83380400001)(461764006); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?ejdpZVlQNTdWRXd0Tks3OE5xVDEwU1J4RDNFSXNKVm1PYmVXejNHMmtRYWJF?= =?utf-8?B?VTZaWDNYVXZKdHlsb2FQM0ZmN0lCUUVDcmUxT3pSbEI0MFZvcE9UOEZvTjIw?= =?utf-8?B?RFhpdWtmaE91b0tycWM5TGxwMzAzd1pLbUVzbW9EcGFjY21vYmg4ZnBZVHpE?= =?utf-8?B?bDVGYXJtMFcvTkVrUWxQcmZTK2lhVWdWM1E5Ynl4Q0F6MTlHcWU5Z3FrNFdN?= =?utf-8?B?NjRkUkxWa2dFZS94V3NPZU1GakNUYTJwckxQY3g0amlhU3FzVGs0ZnR0U0FK?= =?utf-8?B?eEJGQmozS2J1ZUJmRmNEZmlVZWk2TEl0QXAvT2VEalVaRmZ3aEpIRTg1ZXZF?= =?utf-8?B?YUt6SHZNK0xQMlRBbE1XOElhSVhFVnpnRkFsTG5FR2xwVmN5N0FHK0p1UXRK?= =?utf-8?B?cVZzTTVzSE8zMHhyaG90bUxWMzc5d01FdnExT0NVUkNWdGpSZ0Zzcmw1dUJO?= =?utf-8?B?NzBiTXFCNkhrUVIxL21CUDY4bGVwRnBsY001a0lCZzNIQTNRMEpMNk4wbjFJ?= =?utf-8?B?ZkNaaHVRY29JcGQ5YUdaZ3IydXBxSlpFN2NaZDgwei9DNTQ2eUJZd2NMZE1Q?= =?utf-8?B?amtLZWszL3dhUHN1OXpCdWdSMXk1SzcyL1laQlRjQ3hFZ05ZbGt1Tmx0eTdH?= =?utf-8?B?WkQxZTl0bks5UU8zSFdwOFY0a0ZSSEd0UnRNR2xWRWNEckNlbHhNejFPaVlp?= =?utf-8?B?amlwS3YxSGNIVjRWME9aK0FYTUxzU2tTc0pSUHZwTm5qK1ZlMDJBbk5FT1hF?= =?utf-8?B?c2N5VGdJb1ZRbnpaRGREckM4bnRLejB3eE1OY0JqOVZPcHNEaVZXeTd2QXoy?= =?utf-8?B?YUllY3ZCb0xVOW1yNUZyMUNGeFpacWMzTnNrZ09ZMFFDU0g4UFlva2FLVTU4?= =?utf-8?B?YTFZVkZkRndZbzVlck54ZXRrTFJFaVdoUTVlMVBhQUFTRXd0NUV5UElrQXVQ?= =?utf-8?B?YTNDNDFMalE5TGtJZTdsYk9ka0dMV2hhcjZDM2RhWVRPcUFuaTRCdlZtbXZJ?= =?utf-8?B?NDRkdmN2RzMxUk4xL2hWa0MwdE9yNytyamlVUDFWdnZvTlBvQUhtUTFIYzVI?= =?utf-8?B?SEFxYlJlWTI1RTI1ZzRHNXU5QmhHNEJ1UmlIcFV5UzJJaWZkZitGTlFHd3pY?= =?utf-8?B?YnA2Y1VKQkt6NFhlUitZTG1Fc1MxVFZXRk1FK3NpSXg4T0hCVmMrZjhHN1pM?= =?utf-8?B?bzYwMWtzbUFiL0NhRWZsYW9WRXplSGl1bHFkOWpPM0h6d3I1WXB3VDhSZTlI?= =?utf-8?B?ZlBZYzh3cjhydHIxbmxBdnJkc0MrazV3eDExb1U1ZCtNaEQ0RTBqc2lJcjJ1?= =?utf-8?B?UkV3NnZtd0xjM29ZcEdqWk9YdXFzYkVIMUd2T1VObHphNmdybTdDSzZra0J2?= =?utf-8?B?dW82T1dEOU9meVpQRklxUjF0THJZcG9MMCtEM1hhY1Z3d1l0OHRRQmhIK3BO?= =?utf-8?B?T2xFYlVSbVc1UTBZTXhtSGxMUkJpK0ZPTXhEc0NOM2dvWlZGNVJ2MDJKUmJF?= =?utf-8?B?U0daTGFKRWN0UGNNWkxKTk8zcUFhZC9KK2RaT0haTDdXM2liR0Z4bXVrbnhY?= =?utf-8?B?R1dTUTI2WnB5cVhkQ2VMTUNZbTgxclcxNWY2YWZXeVVTcXM5ZTJPdjNLM3pD?= =?utf-8?B?VUNsNVNJVjQxeEM3ZFpPZUJOS0xnTUhUZDhia1NONW16aDlsbExFRG1IN0hm?= =?utf-8?B?WGVSTFJZazVyWHBOVTNJM0paM0FQbmxBU2Nub0FlN3l6akFYV3gzVFlVQmdo?= =?utf-8?B?Z2p2SFRDK2pONXpCdWlPa25RbTE1NFE0NVNnenlpWTYxT0EvMmE4dWZpVTVi?= =?utf-8?B?cWZTZVJJSHZKY0IraU95RkFIWW9ya3hqcDZmQWg3SEZObVhjYjlDYlNLNlk0?= =?utf-8?B?bVljNnFRb0JkOTdjR0orMld6Vng1R3I4N1RzT3ZtNysvUzRlay9iSkRnZTZi?= =?utf-8?B?WmNVVUoyMTZ5UndoRkpGeDJ6NC9yNWh1akpiY1lsemZrQU55RHA1NDl4UEIx?= =?utf-8?B?Y3pZdFVmbVNUb3lNckN5ZnY4T2M2S2hPREcwcmZyWWRaWW16Qmp0ZytTbG9O?= =?utf-8?B?VXVPbG5NTDh4L3AzdWhuUEFESEg4SFVybXNzbVhlc3hKVGZRU1JadjZDZVlP?= =?utf-8?Q?1HTfSdaFrFxettLP8UL3GsxgX?= 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: f5f97e7d-d286-46cc-10dd-08daa25fa3af X-MS-Exchange-CrossTenant-originalarrivaltime: 29 Sep 2022 21:14:47.7942 (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: B/vcpqdBH1cF6UVBtA5uXzxKmhin2mHjZFyIyIU9OK/LtQZD+0Qt3PLHEavvoMkl1U2uSreNKcgMpV2UG3Vx8W/s18ZmQWkhLSeHJQqiRyc= X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH7PR11MB6953 X-OriginatorOrg: intel.com 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 SGkgTWF4aW1lLCANCg0KPiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiBGcm9tOiBNYXhp bWUgQ29xdWVsaW4gPG1heGltZS5jb3F1ZWxpbkByZWRoYXQuY29tPg0KPiBTZW50OiBUdWVzZGF5 LCBTZXB0ZW1iZXIgMjcsIDIwMjIgNjo0NSBBTQ0KPiBUbzogQ2hhdXRydSwgTmljb2xhcyA8bmlj b2xhcy5jaGF1dHJ1QGludGVsLmNvbT47IGRldkBkcGRrLm9yZzsNCj4gdGhvbWFzQG1vbmphbG9u Lm5ldA0KPiBDYzogdHJpeEByZWRoYXQuY29tOyBtZHJAYXNocm9lLmV1OyBSaWNoYXJkc29uLCBC cnVjZQ0KPiA8YnJ1Y2UucmljaGFyZHNvbkBpbnRlbC5jb20+OyBoZW1hbnQuYWdyYXdhbEBueHAu Y29tOw0KPiBkYXZpZC5tYXJjaGFuZEByZWRoYXQuY29tOyBzdGVwaGVuQG5ldHdvcmtwbHVtYmVy Lm9yZzsgVmFyZ2FzLA0KPiBIZXJuYW4gPGhlcm5hbi52YXJnYXNAaW50ZWwuY29tPg0KPiBTdWJq ZWN0OiBSZTogW1BBVENIIHY2IDEwLzE0XSBiYXNlYmFuZC9hY2M6IGFkZCBzdXBwb3J0IGZvciBG RlQgb3BlcmF0aW9ucw0KPiANCj4gDQo+IA0KPiBPbiA5LzI0LzIyIDAyOjUwLCBOaWNvbGFzIENo YXV0cnUgd3JvdGU6DQo+ID4gRnJvbTogTmljIENoYXV0cnUgPG5pY29sYXMuY2hhdXRydUBpbnRl bC5jb20+DQo+ID4NCj4gPiBBZGQgZnVuY3Rpb25zIGFuZCBjYXBhYmlsaXR5IGZvciBGRlQgcHJv Y2Vzc2luZw0KPiA+DQo+ID4gU2lnbmVkLW9mZi1ieTogTmljIENoYXV0cnUgPG5pY29sYXMuY2hh dXRydUBpbnRlbC5jb20+DQo+ID4gLS0tDQo+ID4gICBkcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVf YWNjMjAwX3BtZC5jIHwgMjQyDQo+ICsrKysrKysrKysrKysrKysrKysrKysrKystDQo+ID4gICAx IGZpbGUgY2hhbmdlZCwgMjQwIGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pDQo+ID4NCj4g PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX2FjYzIwMF9wbWQuYw0KPiA+ IGIvZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX2FjYzIwMF9wbWQuYw0KPiA+IGluZGV4IGU4OTAx YzYwZDYuLjdmMmNkNzExNjYgMTAwNjQ0DQo+ID4gLS0tIGEvZHJpdmVycy9iYXNlYmFuZC9hY2Mv cnRlX2FjYzIwMF9wbWQuYw0KPiA+ICsrKyBiL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV9hY2My MDBfcG1kLmMNCj4gPiBAQCAtNzM1LDYgKzczNSwyMSBAQCBhY2MyMDBfZGV2X2luZm9fZ2V0KHN0 cnVjdCBydGVfYmJkZXYgKmRldiwNCj4gPiAgIAkJCS5udW1fYnVmZmVyc19zb2Z0X291dCA9IDAs DQo+ID4gICAJCQl9DQo+ID4gICAJCX0sDQo+ID4gKwkJew0KPiA+ICsJCQkudHlwZQk9IFJURV9C QkRFVl9PUF9GRlQsDQo+ID4gKwkJCS5jYXAuZmZ0ID0gew0KPiA+ICsJCQkJLmNhcGFiaWxpdHlf ZmxhZ3MgPQ0KPiA+ICsNCj4gCVJURV9CQkRFVl9GRlRfV0lORE9XSU5HIHwNCj4gPiArDQo+IAlS VEVfQkJERVZfRkZUX0NTX0FESlVTVE1FTlQgfA0KPiA+ICsNCj4gCVJURV9CQkRFVl9GRlRfREZU X0JZUEFTUyB8DQo+ID4gKw0KPiAJUlRFX0JCREVWX0ZGVF9JREZUX0JZUEFTUyB8DQo+ID4gKw0K PiAJUlRFX0JCREVWX0ZGVF9XSU5ET1dJTkdfQllQQVNTLA0KPiA+ICsJCQkJLm51bV9idWZmZXJz X3NyYyA9DQo+ID4gKw0KPiAJUlRFX0JCREVWX0xEUENfTUFYX0NPREVfQkxPQ0tTLA0KPiA+ICsJ CQkJLm51bV9idWZmZXJzX2RzdCA9DQo+ID4gKw0KPiAJUlRFX0JCREVWX0xEUENfTUFYX0NPREVf QkxPQ0tTLA0KPiA+ICsJCQl9DQo+ID4gKwkJfSwNCj4gPiAgIAkJUlRFX0JCREVWX0VORF9PRl9D QVBBQklMSVRJRVNfTElTVCgpDQo+ID4gICAJfTsNCj4gPg0KPiA+IEBAIC03NTcsMTIgKzc3Miwx MyBAQCBhY2MyMDBfZGV2X2luZm9fZ2V0KHN0cnVjdCBydGVfYmJkZXYgKmRldiwNCj4gPiAgIAkJ CWQtPmFjY19jb25mLnFfdWxfNWcubnVtX3Fncm91cHM7DQo+ID4gICAJZGV2X2luZm8tPm51bV9x dWV1ZXNbUlRFX0JCREVWX09QX0xEUENfRU5DXSA9IGQtDQo+ID5hY2NfY29uZi5xX2RsXzVnLm51 bV9hcXNfcGVyX2dyb3VwcyAqDQo+ID4gICAJCQlkLT5hY2NfY29uZi5xX2RsXzVnLm51bV9xZ3Jv dXBzOw0KPiA+IC0JZGV2X2luZm8tPm51bV9xdWV1ZXNbUlRFX0JCREVWX09QX0ZGVF0gPSAwOw0K PiA+ICsJZGV2X2luZm8tPm51bV9xdWV1ZXNbUlRFX0JCREVWX09QX0ZGVF0gPSBkLQ0KPiA+YWNj X2NvbmYucV9mZnQubnVtX2Fxc19wZXJfZ3JvdXBzICoNCj4gPiArCQkJZC0+YWNjX2NvbmYucV9m ZnQubnVtX3Fncm91cHM7DQo+ID4gICAJZGV2X2luZm8tPnF1ZXVlX3ByaW9yaXR5W1JURV9CQkRF Vl9PUF9UVVJCT19ERUNdID0gZC0NCj4gPmFjY19jb25mLnFfdWxfNGcubnVtX3Fncm91cHM7DQo+ ID4gICAJZGV2X2luZm8tPnF1ZXVlX3ByaW9yaXR5W1JURV9CQkRFVl9PUF9UVVJCT19FTkNdID0g ZC0NCj4gPmFjY19jb25mLnFfZGxfNGcubnVtX3Fncm91cHM7DQo+ID4gICAJZGV2X2luZm8tPnF1 ZXVlX3ByaW9yaXR5W1JURV9CQkRFVl9PUF9MRFBDX0RFQ10gPSBkLQ0KPiA+YWNjX2NvbmYucV91 bF81Zy5udW1fcWdyb3VwczsNCj4gPiAgIAlkZXZfaW5mby0+cXVldWVfcHJpb3JpdHlbUlRFX0JC REVWX09QX0xEUENfRU5DXSA9IGQtDQo+ID5hY2NfY29uZi5xX2RsXzVnLm51bV9xZ3JvdXBzOw0K PiA+IC0JZGV2X2luZm8tPnF1ZXVlX3ByaW9yaXR5W1JURV9CQkRFVl9PUF9GRlRdID0gMDsNCj4g PiArCWRldl9pbmZvLT5xdWV1ZV9wcmlvcml0eVtSVEVfQkJERVZfT1BfRkZUXSA9DQo+ID4gK2Qt PmFjY19jb25mLnFfZmZ0Lm51bV9xZ3JvdXBzOw0KPiA+ICAgCWRldl9pbmZvLT5tYXhfbnVtX3F1 ZXVlcyA9IDA7DQo+ID4gICAJZm9yIChpID0gUlRFX0JCREVWX09QX05PTkU7IGkgPD0gUlRFX0JC REVWX09QX0ZGVDsgaSsrKQ0KPiA+ICAgCQlkZXZfaW5mby0+bWF4X251bV9xdWV1ZXMgKz0gZGV2 X2luZm8tPm51bV9xdWV1ZXNbaV07DQo+IEBAIC0yOTAyLDYNCj4gPiArMjkxOCwyMjYgQEAgYWNj MjAwX2RlcXVldWVfbGRwY19kZWMoc3RydWN0IHJ0ZV9iYmRldl9xdWV1ZV9kYXRhDQo+ICpxX2Rh dGEsDQo+ID4gICAJcmV0dXJuIGk7DQo+ID4gICB9DQo+ID4NCj4gPiArLyogRmlsbCBpbiBhIGZy YW1lIGNvbnRyb2wgd29yZCBmb3IgRkZUIHByb2Nlc3NpbmcuICovIHN0YXRpYyBpbmxpbmUNCj4g PiArdm9pZCBhY2MyMDBfZmN3X2ZmdF9maWxsKHN0cnVjdCBydGVfYmJkZXZfZmZ0X29wICpvcCwg c3RydWN0DQo+ID4gK2FjY19mY3dfZmZ0ICpmY3cpIHsNCj4gPiArCWZjdy0+aW5fZnJhbWVfc2l6 ZSA9IG9wLT5mZnQuaW5wdXRfc2VxdWVuY2Vfc2l6ZTsNCj4gPiArCWZjdy0+bGVhZGluZ19wYWRf c2l6ZSA9IG9wLT5mZnQuaW5wdXRfbGVhZGluZ19wYWRkaW5nOw0KPiA+ICsJZmN3LT5vdXRfZnJh bWVfc2l6ZSA9IG9wLT5mZnQub3V0cHV0X3NlcXVlbmNlX3NpemU7DQo+ID4gKwlmY3ctPmxlYWRp bmdfZGVwYWRfc2l6ZSA9IG9wLT5mZnQub3V0cHV0X2xlYWRpbmdfZGVwYWRkaW5nOw0KPiA+ICsJ ZmN3LT5jc193aW5kb3dfc2VsID0gb3AtPmZmdC53aW5kb3dfaW5kZXhbMF0gKw0KPiA+ICsJCQko b3AtPmZmdC53aW5kb3dfaW5kZXhbMV0gPDwgOCkgKw0KPiA+ICsJCQkob3AtPmZmdC53aW5kb3df aW5kZXhbMl0gPDwgMTYpICsNCj4gPiArCQkJKG9wLT5mZnQud2luZG93X2luZGV4WzNdIDw8IDI0 KTsNCj4gPiArCWZjdy0+Y3Nfd2luZG93X3NlbDIgPSBvcC0+ZmZ0LndpbmRvd19pbmRleFs0XSAr DQo+ID4gKwkJCShvcC0+ZmZ0LndpbmRvd19pbmRleFs1XSA8PCA4KTsNCj4gPiArCWZjdy0+Y3Nf ZW5hYmxlX2JtYXAgPSBvcC0+ZmZ0LmNzX2JpdG1hcDsNCj4gPiArCWZjdy0+bnVtX2FudGVubmFz ID0gb3AtPmZmdC5udW1fYW50ZW5uYXNfbG9nMjsNCj4gPiArCWZjdy0+aWRmdF9zaXplID0gb3At PmZmdC5pZGZ0X2xvZzI7DQo+ID4gKwlmY3ctPmRmdF9zaXplID0gb3AtPmZmdC5kZnRfbG9nMjsN Cj4gPiArCWZjdy0+Y3Nfb2Zmc2V0ID0gb3AtPmZmdC5jc190aW1lX2FkanVzdG1lbnQ7DQo+ID4g KwlmY3ctPmlkZnRfc2hpZnQgPSBvcC0+ZmZ0LmlkZnRfc2hpZnQ7DQo+ID4gKwlmY3ctPmRmdF9z aGlmdCA9IG9wLT5mZnQuZGZ0X3NoaWZ0Ow0KPiA+ICsJZmN3LT5jc19tdWx0aXBsaWVyID0gb3At PmZmdC5uY3NfcmVjaXByb2NhbDsNCj4gPiArCWlmIChjaGVja19iaXQob3AtPmZmdC5vcF9mbGFn cywNCj4gPiArCQkJUlRFX0JCREVWX0ZGVF9JREZUX0JZUEFTUykpIHsNCj4gPiArCQlpZiAoY2hl Y2tfYml0KG9wLT5mZnQub3BfZmxhZ3MsDQo+ID4gKwkJCQlSVEVfQkJERVZfRkZUX1dJTkRPV0lO R19CWVBBU1MpKQ0KPiA+ICsJCQlmY3ctPmJ5cGFzcyA9IDI7DQo+ID4gKwkJZWxzZQ0KPiA+ICsJ CQlmY3ctPmJ5cGFzcyA9IDE7DQo+ID4gKwl9IGVsc2UgaWYgKGNoZWNrX2JpdChvcC0+ZmZ0Lm9w X2ZsYWdzLA0KPiA+ICsJCQlSVEVfQkJERVZfRkZUX0RGVF9CWVBBU1MpKQ0KPiA+ICsJCWZjdy0+ YnlwYXNzID0gMzsNCj4gPiArCWVsc2UNCj4gPiArCQlmY3ctPmJ5cGFzcyA9IDA7DQo+ID4gK30N Cj4gPiArDQo+ID4gK3N0YXRpYyBpbmxpbmUgaW50DQo+ID4gK2FjYzIwMF9kbWFfZGVzY19mZnRf ZmlsbChzdHJ1Y3QgcnRlX2JiZGV2X2ZmdF9vcCAqb3AsDQo+ID4gKwkJc3RydWN0IGFjY19kbWFf cmVxX2Rlc2MgKmRlc2MsDQo+ID4gKwkJc3RydWN0IHJ0ZV9tYnVmICppbnB1dCwgc3RydWN0IHJ0 ZV9tYnVmICpvdXRwdXQsDQo+ID4gKwkJdWludDMyX3QgKmluX29mZnNldCwgdWludDMyX3QgKm91 dF9vZmZzZXQpIHsNCj4gPiArCS8qIEZDVyBhbHJlYWR5IGRvbmUgKi8NCj4gPiArCWFjY19oZWFk ZXJfaW5pdChkZXNjKTsNCj4gPiArCWRlc2MtPmRhdGFfcHRyc1sxXS5hZGRyZXNzID0NCj4gPiAr CQkJcnRlX3BrdG1idWZfaW92YV9vZmZzZXQoaW5wdXQsICppbl9vZmZzZXQpOw0KPiA+ICsJZGVz Yy0+ZGF0YV9wdHJzWzFdLmJsZW4gPSBvcC0+ZmZ0LmlucHV0X3NlcXVlbmNlX3NpemUgKiA0Ow0K PiA+ICsJZGVzYy0+ZGF0YV9wdHJzWzFdLmJsa2lkID0gQUNDX0RNQV9CTEtJRF9JTjsNCj4gPiAr CWRlc2MtPmRhdGFfcHRyc1sxXS5sYXN0ID0gMTsNCj4gPiArCWRlc2MtPmRhdGFfcHRyc1sxXS5k bWFfZXh0ID0gMDsNCj4gPiArCWRlc2MtPmRhdGFfcHRyc1syXS5hZGRyZXNzID0NCj4gPiArCQkJ cnRlX3BrdG1idWZfaW92YV9vZmZzZXQob3V0cHV0LCAqb3V0X29mZnNldCk7DQo+ID4gKwlkZXNj LT5kYXRhX3B0cnNbMl0uYmxlbiA9IG9wLT5mZnQub3V0cHV0X3NlcXVlbmNlX3NpemUgKiA0Ow0K PiA+ICsJZGVzYy0+ZGF0YV9wdHJzWzJdLmJsa2lkID0gQUNDX0RNQV9CTEtJRF9PVVRfSEFSRDsN Cj4gPiArCWRlc2MtPmRhdGFfcHRyc1syXS5sYXN0ID0gMTsNCj4gPiArCWRlc2MtPmRhdGFfcHRy c1syXS5kbWFfZXh0ID0gMDsNCj4gPiArCWRlc2MtPm0yZGxlbiA9IDI7DQo+ID4gKwlkZXNjLT5k Mm1sZW4gPSAxOw0KPiA+ICsJZGVzYy0+aWJfYW50X29mZnNldCA9IG9wLT5mZnQuaW5wdXRfc2Vx dWVuY2Vfc2l6ZTsNCj4gPiArCWRlc2MtPm51bV9hbnQgPSBvcC0+ZmZ0Lm51bV9hbnRlbm5hc19s b2cyIC0gMzsNCj4gPiArCWludCBudW1fY3MgPSAwLCBpOw0KPiA+ICsJZm9yIChpID0gMDsgaSA8 IDEyOyBpKyspDQo+ID4gKwkJaWYgKGNoZWNrX2JpdChvcC0+ZmZ0LmNzX2JpdG1hcCwgMSA8PCBp KSkNCj4gPiArCQkJbnVtX2NzKys7DQo+ID4gKwlkZXNjLT5udW1fY3MgPSBudW1fY3M7DQo+ID4g KwlkZXNjLT5vYl9jeWNfb2Zmc2V0ID0gb3AtPmZmdC5vdXRwdXRfc2VxdWVuY2Vfc2l6ZTsNCj4g PiArCWRlc2MtPm9iX2FudF9vZmZzZXQgPSBvcC0+ZmZ0Lm91dHB1dF9zZXF1ZW5jZV9zaXplICog bnVtX2NzOw0KPiA+ICsJZGVzYy0+b3BfYWRkciA9IG9wOw0KPiA+ICsJcmV0dXJuIDA7DQo+ID4g K30NCj4gPiArDQo+ID4gKw0KPiA+ICsvKiogRW5xdWV1ZSBvbmUgRkZUIG9wZXJhdGlvbiBmb3Ig QUNDMjAwIGRldmljZSovIHN0YXRpYyBpbmxpbmUgaW50DQo+ID4gK2VucXVldWVfZmZ0X29uZV9v cChzdHJ1Y3QgYWNjX3F1ZXVlICpxLCBzdHJ1Y3QgcnRlX2JiZGV2X2ZmdF9vcCAqb3AsDQo+ID4g KwkJdWludDE2X3QgdG90YWxfZW5xdWV1ZWRfY2JzKQ0KPiA+ICt7DQo+ID4gKwl1bmlvbiBhY2Nf ZG1hX2Rlc2MgKmRlc2M7DQo+ID4gKwl1aW50MTZfdCBkZXNjX2lkeCA9ICgocS0+c3dfcmluZ19o ZWFkICsgdG90YWxfZW5xdWV1ZWRfY2JzKSAmIHEtDQo+ID5zd19yaW5nX3dyYXBfbWFzayk7DQo+ ID4gKwlkZXNjID0gcS0+cmluZ19hZGRyICsgZGVzY19pZHg7DQo+IA0KPiBEb24ndCBtaXggZGVj bGFyYXRpb25zICYgY29kZS4NCg0KVGhhbmtzLCB1cGRhdGVkIGluIHY3DQoNCj4gDQo+ID4gKwlz dHJ1Y3QgcnRlX21idWYgKmlucHV0LCAqb3V0cHV0Ow0KPiA+ICsJdWludDMyX3QgaW5fb2Zmc2V0 LCBvdXRfb2Zmc2V0Ow0KPiA+ICsJc3RydWN0IGFjY19mY3dfZmZ0ICpmY3c7DQo+ID4gKw0KPiA+ ICsJaW5wdXQgPSBvcC0+ZmZ0LmJhc2VfaW5wdXQuZGF0YTsNCj4gPiArCW91dHB1dCA9IG9wLT5m ZnQuYmFzZV9vdXRwdXQuZGF0YTsNCj4gPiArCWluX29mZnNldCA9IG9wLT5mZnQuYmFzZV9pbnB1 dC5vZmZzZXQ7DQo+ID4gKwlvdXRfb2Zmc2V0ID0gb3AtPmZmdC5iYXNlX291dHB1dC5vZmZzZXQ7 DQo+ID4gKwlmY3cgPSAmZGVzYy0+cmVxLmZjd19mZnQ7DQo+ID4gKw0KPiA+ICsJYWNjMjAwX2Zj d19mZnRfZmlsbChvcCwgZmN3KTsNCj4gPiArCWFjYzIwMF9kbWFfZGVzY19mZnRfZmlsbChvcCwg JmRlc2MtPnJlcSwgaW5wdXQsIG91dHB1dCwgJmluX29mZnNldCwNCj4gPiArJm91dF9vZmZzZXQp OyAjaWZkZWYgUlRFX0xJQlJURV9CQkRFVl9ERUJVRw0KPiA+ICsJcnRlX21lbWR1bXAoc3RkZXJy LCAiRkNXIiwgJmRlc2MtPnJlcS5mY3dfZmZ0LA0KPiA+ICsJCQlzaXplb2YoZGVzYy0+cmVxLmZj d19mZnQpKTsNCj4gPiArCXJ0ZV9tZW1kdW1wKHN0ZGVyciwgIlJlcSBEZXNjLiIsIGRlc2MsIHNp emVvZigqZGVzYykpOyAjZW5kaWYNCj4gPiArCXJldHVybiAxOw0KPiA+ICt9DQo+ID4gKw0KPiA+ ICsvKiBFbnF1ZXVlIGRlY29kZSBvcGVyYXRpb25zIGZvciBBQ0MyMDAgZGV2aWNlLiAqLyBzdGF0 aWMgdWludDE2X3QNCj4gPiArYWNjMjAwX2VucXVldWVfZmZ0KHN0cnVjdCBydGVfYmJkZXZfcXVl dWVfZGF0YSAqcV9kYXRhLA0KPiA+ICsJCXN0cnVjdCBydGVfYmJkZXZfZmZ0X29wICoqb3BzLCB1 aW50MTZfdCBudW0pIHsNCj4gPiArCXN0cnVjdCBhY2NfcXVldWUgKnE7DQo+ID4gKwlpbnQzMl90 IGFxX2F2YWlsLCBhdmFpbDsNCj4gPiArCXVpbnQxNl90IGk7DQo+ID4gKwl1bmlvbiBhY2NfZG1h X2Rlc2MgKmRlc2M7DQo+ID4gKwlpbnQgcmV0Ow0KPiA+ICsNCj4gPiArCWFxX2F2YWlsID0gYWNj X2FxX2F2YWlsKHFfZGF0YSwgbnVtKTsNCj4gPiArCWlmICh1bmxpa2VseSgoYXFfYXZhaWwgPD0g MCkgfHwgKG51bSA9PSAwKSkpDQo+ID4gKwkJcmV0dXJuIDA7DQo+ID4gKwlxID0gcV9kYXRhLT5x dWV1ZV9wcml2YXRlOw0KPiA+ICsJYXZhaWwgPSBhY2NfcmluZ19hdmFpbF9lbnEocSk7DQo+ID4g Kw0KPiA+ICsJZm9yIChpID0gMDsgaSA8IG51bTsgKytpKSB7DQo+ID4gKwkJLyogQ2hlY2sgaWYg dGhlcmUgYXJlIGF2YWlsYWJsZSBzcGFjZSBmb3IgZnVydGhlciBwcm9jZXNzaW5nICovDQo+ID4g KwkJaWYgKHVubGlrZWx5KGF2YWlsIDwgMSkpDQo+ID4gKwkJCWJyZWFrOw0KPiA+ICsJCWF2YWls IC09IDE7DQo+ID4gKwkJcmV0ID0gZW5xdWV1ZV9mZnRfb25lX29wKHEsIG9wc1tpXSwgaSk7DQo+ ID4gKwkJaWYgKHJldCA8IDApDQo+ID4gKwkJCWJyZWFrOw0KPiA+ICsJfQ0KPiA+ICsNCj4gPiAr CWlmICh1bmxpa2VseShpID09IDApKQ0KPiA+ICsJCXJldHVybiAwOyAvKiBOb3RoaW5nIHRvIGVu cXVldWUgKi8NCj4gPiArDQo+ID4gKwkvKiBTZXQgU0RvbmUgaW4gbGFzdCBDQiBpbiBlbnF1ZXVl ZCBvcHMgZm9yIENCIG1vZGUqLw0KPiA+ICsJZGVzYyA9IHEtPnJpbmdfYWRkciArICgocS0+c3df cmluZ19oZWFkICsgaSAtIDEpDQo+ID4gKwkJCSYgcS0+c3dfcmluZ193cmFwX21hc2spOw0KPiA+ ICsNCj4gPiArCWRlc2MtPnJlcS5zZG9uZV9lbmFibGUgPSAxOw0KPiA+ICsJZGVzYy0+cmVxLmly cV9lbmFibGUgPSBxLT5pcnFfZW5hYmxlOw0KPiA+ICsJYWNjX2RtYV9lbnF1ZXVlKHEsIGksICZx X2RhdGEtPnF1ZXVlX3N0YXRzKTsNCj4gPiArDQo+ID4gKwkvKiBVcGRhdGUgc3RhdHMgKi8NCj4g PiArCXFfZGF0YS0+cXVldWVfc3RhdHMuZW5xdWV1ZWRfY291bnQgKz0gaTsNCj4gPiArCXFfZGF0 YS0+cXVldWVfc3RhdHMuZW5xdWV1ZV9lcnJfY291bnQgKz0gbnVtIC0gaTsNCj4gPiArCXJldHVy biBpOw0KPiA+ICt9DQo+ID4gKw0KPiA+ICsNCj4gPiArLyogRGVxdWV1ZSBvbmUgRkZUIG9wZXJh dGlvbnMgZnJvbSBBQ0MyMDAgZGV2aWNlICovIHN0YXRpYyBpbmxpbmUgaW50DQo+ID4gK2RlcXVl dWVfZmZ0X29uZV9vcChzdHJ1Y3QgcnRlX2JiZGV2X3F1ZXVlX2RhdGEgKnFfZGF0YSwNCj4gPiAr CQlzdHJ1Y3QgYWNjX3F1ZXVlICpxLCBzdHJ1Y3QgcnRlX2JiZGV2X2ZmdF9vcCAqKnJlZl9vcCwN Cj4gPiArCQl1aW50MTZfdCBkZXF1ZXVlZF9jYnMsIHVpbnQzMl90ICphcV9kZXF1ZXVlZCkgew0K PiA+ICsJdW5pb24gYWNjX2RtYV9kZXNjICpkZXNjLCBhdG9tX2Rlc2M7DQo+ID4gKwl1bmlvbiBh Y2NfZG1hX3JzcF9kZXNjIHJzcDsNCj4gPiArCXN0cnVjdCBydGVfYmJkZXZfZmZ0X29wICpvcDsN Cj4gPiArDQo+ID4gKwlkZXNjID0gcS0+cmluZ19hZGRyICsgKChxLT5zd19yaW5nX3RhaWwgKyBk ZXF1ZXVlZF9jYnMpDQo+ID4gKwkJCSYgcS0+c3dfcmluZ193cmFwX21hc2spOw0KPiA+ICsJYXRv bV9kZXNjLmF0b21faGRyID0gX19hdG9taWNfbG9hZF9uKCh1aW50NjRfdCAqKWRlc2MsDQo+ID4g KwkJCV9fQVRPTUlDX1JFTEFYRUQpOw0KPiA+ICsNCj4gPiArCS8qIENoZWNrIGZkb25lIGJpdCAq Lw0KPiA+ICsJaWYgKCEoYXRvbV9kZXNjLnJzcC52YWwgJiBBQ0NfRkRPTkUpKQ0KPiA+ICsJCXJl dHVybiAtMTsNCj4gPiArDQo+ID4gKwlyc3AudmFsID0gYXRvbV9kZXNjLnJzcC52YWw7DQo+ID4g KyNpZmRlZiBSVEVfTElCUlRFX0JCREVWX0RFQlVHDQo+ID4gKwlydGVfbWVtZHVtcChzdGRlcnIs ICJSZXNwIiwgJmRlc2MtPnJzcC52YWwsDQo+ID4gKwkJCXNpemVvZihkZXNjLT5yc3AudmFsKSk7 DQo+ID4gKyNlbmRpZg0KPiA+ICsJLyogRGVxdWV1ZSAqLw0KPiA+ICsJb3AgPSBkZXNjLT5yZXEu b3BfYWRkcjsNCj4gPiArDQo+ID4gKwkvKiBDbGVhcmluZyBzdGF0dXMsIGl0IHdpbGwgYmUgc2V0 IGJhc2VkIG9uIHJlc3BvbnNlICovDQo+ID4gKwlvcC0+c3RhdHVzID0gMDsNCj4gPiArCW9wLT5z dGF0dXMgfD0gcnNwLmlucHV0X2VyciA8PCBSVEVfQkJERVZfREFUQV9FUlJPUjsNCj4gPiArCW9w LT5zdGF0dXMgfD0gcnNwLmRtYV9lcnIgPDwgUlRFX0JCREVWX0RSVl9FUlJPUjsNCj4gPiArCW9w LT5zdGF0dXMgfD0gcnNwLmZjd19lcnIgPDwgUlRFX0JCREVWX0RSVl9FUlJPUjsNCj4gPiArCWlm IChvcC0+c3RhdHVzICE9IDApDQo+ID4gKwkJcV9kYXRhLT5xdWV1ZV9zdGF0cy5kZXF1ZXVlX2Vy cl9jb3VudCsrOw0KPiA+ICsNCj4gPiArCS8qIENoZWNrIGlmIHRoaXMgaXMgdGhlIGxhc3QgZGVz YyBpbiBiYXRjaCAoQXRvbWljIFF1ZXVlKSAqLw0KPiA+ICsJaWYgKGRlc2MtPnJlcS5sYXN0X2Rl c2NfaW5fYmF0Y2gpIHsNCj4gPiArCQkoKmFxX2RlcXVldWVkKSsrOw0KPiA+ICsJCWRlc2MtPnJl cS5sYXN0X2Rlc2NfaW5fYmF0Y2ggPSAwOw0KPiA+ICsJfQ0KPiA+ICsJZGVzYy0+cnNwLnZhbCA9 IEFDQ19ETUFfREVTQ19UWVBFOw0KPiA+ICsJZGVzYy0+cnNwLmFkZF9pbmZvXzAgPSAwOw0KPiA+ ICsJKnJlZl9vcCA9IG9wOw0KPiA+ICsJLyogT25lIENCIChvcCkgd2FzIHN1Y2Nlc3NmdWxseSBk ZXF1ZXVlZCAqLw0KPiA+ICsJcmV0dXJuIDE7DQo+ID4gK30NCj4gPiArDQo+ID4gKw0KPiA+ICsv KiBEZXF1ZXVlIEZGVCBvcGVyYXRpb25zIGZyb20gQUNDMjAwIGRldmljZS4gKi8gc3RhdGljIHVp bnQxNl90DQo+ID4gK2FjYzIwMF9kZXF1ZXVlX2ZmdChzdHJ1Y3QgcnRlX2JiZGV2X3F1ZXVlX2Rh dGEgKnFfZGF0YSwNCj4gPiArCQlzdHJ1Y3QgcnRlX2JiZGV2X2ZmdF9vcCAqKm9wcywgdWludDE2 X3QgbnVtKSB7DQo+ID4gKwlzdHJ1Y3QgYWNjX3F1ZXVlICpxID0gcV9kYXRhLT5xdWV1ZV9wcml2 YXRlOw0KPiA+ICsJdWludDE2X3QgZGVxdWV1ZV9udW0sIGksIGRlcXVldWVkX2NicyA9IDA7DQo+ ID4gKwl1aW50MzJfdCBhdmFpbCA9IGFjY19yaW5nX2F2YWlsX2RlcShxKTsNCj4gPiArCXVpbnQz Ml90IGFxX2RlcXVldWVkID0gMDsNCj4gPiArCWludCByZXQ7DQo+ID4gKw0KPiA+ICsJZGVxdWV1 ZV9udW0gPSBSVEVfTUlOKGF2YWlsLCBudW0pOw0KPiA+ICsNCj4gPiArCWZvciAoaSA9IDA7IGkg PCBkZXF1ZXVlX251bTsgKytpKSB7DQo+ID4gKwkJcmV0ID0gZGVxdWV1ZV9mZnRfb25lX29wKHFf ZGF0YSwgcSwgJm9wc1tpXSwNCj4gZGVxdWV1ZWRfY2JzLCAmYXFfZGVxdWV1ZWQpOw0KPiA+ICsJ CWlmIChyZXQgPD0gMCkNCj4gPiArCQkJYnJlYWs7DQo+ID4gKwkJZGVxdWV1ZWRfY2JzICs9IHJl dDsNCj4gPiArCX0NCj4gPiArDQo+ID4gKwlxLT5hcV9kZXF1ZXVlZCArPSBhcV9kZXF1ZXVlZDsN Cj4gPiArCXEtPnN3X3JpbmdfdGFpbCArPSBkZXF1ZXVlZF9jYnM7DQo+ID4gKwkvKiBVcGRhdGUg ZW5xdWV1ZSBzdGF0cyAqLw0KPiA+ICsJcV9kYXRhLT5xdWV1ZV9zdGF0cy5kZXF1ZXVlZF9jb3Vu dCArPSBpOw0KPiA+ICsJcmV0dXJuIGk7DQo+ID4gK30NCj4gPiArDQo+ID4gICAvKiBJbml0aWFs aXphdGlvbiBGdW5jdGlvbiAqLw0KPiA+ICAgc3RhdGljIHZvaWQNCj4gPiAgIGFjYzIwMF9iYmRl dl9pbml0KHN0cnVjdCBydGVfYmJkZXYgKmRldiwgc3RydWN0IHJ0ZV9wY2lfZHJpdmVyICpkcnYp DQo+ID4gQEAgLTI5MTcsNiArMzE1Myw4IEBAIGFjYzIwMF9iYmRldl9pbml0KHN0cnVjdCBydGVf YmJkZXYgKmRldiwgc3RydWN0DQo+IHJ0ZV9wY2lfZHJpdmVyICpkcnYpDQo+ID4gICAJZGV2LT5l bnF1ZXVlX2xkcGNfZGVjX29wcyA9IGFjYzIwMF9lbnF1ZXVlX2xkcGNfZGVjOw0KPiA+ICAgCWRl di0+ZGVxdWV1ZV9sZHBjX2VuY19vcHMgPSBhY2MyMDBfZGVxdWV1ZV9sZHBjX2VuYzsNCj4gPiAg IAlkZXYtPmRlcXVldWVfbGRwY19kZWNfb3BzID0gYWNjMjAwX2RlcXVldWVfbGRwY19kZWM7DQo+ ID4gKwlkZXYtPmVucXVldWVfZmZ0X29wcyA9IGFjYzIwMF9lbnF1ZXVlX2ZmdDsNCj4gPiArCWRl di0+ZGVxdWV1ZV9mZnRfb3BzID0gYWNjMjAwX2RlcXVldWVfZmZ0Ow0KPiA+DQo+ID4gICAJKChz dHJ1Y3QgYWNjX2RldmljZSAqKSBkZXYtPmRhdGEtPmRldl9wcml2YXRlKS0+cGZfZGV2aWNlID0N Cj4gPiAgIAkJCSFzdHJjbXAoZHJ2LT5kcml2ZXIubmFtZSwNCg0K