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 5E646A04B5; Wed, 30 Sep 2020 20:55:52 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 813231D57D; Wed, 30 Sep 2020 20:55:49 +0200 (CEST) Received: from mga07.intel.com (mga07.intel.com [134.134.136.100]) by dpdk.org (Postfix) with ESMTP id 847041D57A for ; Wed, 30 Sep 2020 20:55:47 +0200 (CEST) IronPort-SDR: sdutEM1D7XTqbqej8eZhEn5OuQHGOdYzFt0nzO3cDpEzkSfBM5WbZzpHf7b0likQ6ZUGjw9XsF 6ajd/SKIcIpw== X-IronPort-AV: E=McAfee;i="6000,8403,9760"; a="226661323" X-IronPort-AV: E=Sophos;i="5.77,322,1596524400"; d="scan'208";a="226661323" X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga003.jf.intel.com ([10.7.209.27]) by orsmga105.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 30 Sep 2020 11:55:37 -0700 IronPort-SDR: f7tF5Z/Jhrr/n/K7iv0s/XBtqCYtuHq/tXa4P8TtCJOVUkx0hSeIqiqh3Jz5p3h3/Ds/cZ948/ HvN9Qme1B0Rg== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.77,322,1596524400"; d="scan'208";a="308264776" Received: from fmsmsx602.amr.corp.intel.com ([10.18.126.82]) by orsmga003.jf.intel.com with ESMTP; 30 Sep 2020 11:55:35 -0700 Received: from fmsmsx603.amr.corp.intel.com (10.18.126.83) by fmsmsx602.amr.corp.intel.com (10.18.126.82) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5; Wed, 30 Sep 2020 11:55:33 -0700 Received: from fmsedg601.ED.cps.intel.com (10.1.192.135) by fmsmsx603.amr.corp.intel.com (10.18.126.83) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5 via Frontend Transport; Wed, 30 Sep 2020 11:55:33 -0700 Received: from NAM12-DM6-obe.outbound.protection.outlook.com (104.47.59.171) by edgegateway.intel.com (192.55.55.70) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.1713.5; Wed, 30 Sep 2020 11:55:32 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=CVRm5YJAeXo6hSKkG6SGEJ4e99QkN5YkKFKODsA1GJqqbVDy78OR11+Qq0VehMHtKfw5zdz6/uvazD2vJxMxUxOZ87LBBeJBZ87FKaVmigD6CRdqJ1mCqY7Rr53zd0IZ8kHGAt6q6bB9AmjbzN2c5us6YnoUJcSR2zXL1ieYgn4kOd3DPYZpwA23H/LBPaUronwNN1LE89kzorH2aPR8vIHvjGaw+YF9hF9WdwpsJ1nlyF7sIHadbXMnekDIvM47ZXG8auhnvqbZ4Nt3dVx+aL3UpBsoCJIF3PXE22qLfnyvNBRpVanNasqdrSSR+Ln0Of39hbZtnNymOFe/Q8DdGw== 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=omQ2/LOPnUciFeG+w/29VtKPwZL3VWmAyP53RAAweJI=; b=QnlBImDZaWZzD6QnGFOzZ2xok2/2wsUOJaoXftiRFXo4POxuc2lLR1J9zfDcGtTLvhOTrvqudujWnMf7lOfFt2g4zpPAx0bZ2cKnP7zz7o/hZlV77m8tRZfGT7jCBwoxyguGoD+jEDNjqjk4EL8kjvrc+lZfFc5FUUBmoPbsbCIL549+Q5n+OYqam34Tb/JmO6LfLarkpvJTmcEbnUDHuSnOkBHDcSq5m4sXu9CxKEN/ulGeQpGlgzhrQYS/0eAcmVQVbyqJmL940d3qN03IDmuxesumrR5d+qrKdFTZEElTIt6GsztNUmhb4ohpRm5OHifth+v2PVUuEEUt6gN51A== 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=omQ2/LOPnUciFeG+w/29VtKPwZL3VWmAyP53RAAweJI=; b=ir8D8KQUCfNs2NX41STjJIB37sd8dtSlJRcvwrpYDmlIHR6CGzr0pokS4hE0C5dWcBDf4gw04r8ih0plD8/cdRa1srYeyljiWt9kCY+jNVpZdkeZBuRi2IXAq3HLMNmpfWcoqHFhgATsKIJEmqDw/6W/Er754j7ubAl7MIWgPh8= Received: from BY5PR11MB4451.namprd11.prod.outlook.com (2603:10b6:a03:1cb::30) by BY5PR11MB4385.namprd11.prod.outlook.com (2603:10b6:a03:1c0::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3433.34; Wed, 30 Sep 2020 18:55:30 +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.3412.028; Wed, 30 Sep 2020 18:55:29 +0000 From: "Chautru, Nicolas" To: Tom Rix , "dev@dpdk.org" , "akhil.goyal@nxp.com" CC: "Richardson, Bruce" , "Xu, Rosen" , "dave.burley@accelercomm.com" , "aidan.goddard@accelercomm.com" , "Yigit, Ferruh" , "Liu, Tianjiao" Thread-Topic: [dpdk-dev] [PATCH v9 06/10] baseband/acc100: add HARQ loopback support Thread-Index: AQHWlffimGS/xagcvUCtW30kTYA15KmBcYiAgAAYazA= Date: Wed, 30 Sep 2020 18:55:26 +0000 Message-ID: References: <1597796731-57841-12-git-send-email-nicolas.chautru@intel.com> <1601339385-117424-1-git-send-email-nicolas.chautru@intel.com> <1601339385-117424-7-git-send-email-nicolas.chautru@intel.com> <555d00f3-ebeb-84c4-c856-1bd5516d21f5@redhat.com> In-Reply-To: <555d00f3-ebeb-84c4-c856-1bd5516d21f5@redhat.com> 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: da4f8bdb-0cc5-4a15-de4a-08d8657266e5 x-ms-traffictypediagnostic: BY5PR11MB4385: 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:7691; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: 6wr1n/X6bGanAorjg4MCYORZcECVR5vspAjF7lV78bvinQebjngHn8WrsJiB7byWontroyQG4reJogbp1uRg898Vr94uzJCGb1T93D183AeR+2nIxaIYSPW7e1XPSQSe9UgitC//lYcOzNY5P6umeJylb4kLEFS8vg3LV8rstyxOEVuYQ9LTd2h9KKCOteL+HFNbSh3dkQz29WNOFRg36llLM+J1AcdGu7fEPhObIh7ZJpldshqi69d+TvJRn14wtjEaquKLbbD1mVEOex4ct91TO5SKpapltNbu70TXKWLfOUMNUqsuYiyO2SjqGXEbuXGYVDBhPyECKPWw6tgvSQ== 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)(346002)(376002)(39860400002)(396003)(136003)(8676002)(4326008)(52536014)(5660300002)(71200400001)(86362001)(6666004)(478600001)(66556008)(76116006)(66946007)(66476007)(7696005)(53546011)(6506007)(66446008)(64756008)(186003)(26005)(54906003)(110136005)(8936002)(316002)(55016002)(2906002)(33656002)(9686003)(83380400001)(107886003); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata: 7JteteYlof36JHMSEkKU/7QWrWjYEnPdrjdXBASVWN5YX0274zlaLBL+P1+/GuIC+rgnD5ZiLDJmxe1thLpl/iIF17cqEE2jvnLpcnsRgKSRv3P8El90ztEoV7c9WONPLr3KXmBsZe22zTGw7IFc84006eSDC9zLyzSMIkUJl2kbroYctfHPpDrRmDqhcVrdPbAoq4sOXTVMz/wuGG1VanJBl7/24O/+e/Zz+s638XHLf99h6ZTWCS22UKvN0oe1KYnZspOCdxKVEbFolsaKf3BrRnwOOF0HEKlYNx1dJCT1ManN/LmNoSZ4bLF1SC9vavUM3H+VHiZ12zBUqAaxy9j5DppEx4crmhBn74Tlk2gOevTDACorK34D8HxdYKqbEV3KS9Tdm4cRQ4/qjk8wbEpzyHwJRJEg0GAXBwcf3MKXM8Wg5v328UoXi1ybtHV1pqhhaRlglmaniv2dV35We7m5ikvgCL7MSVvKqXekBPH+kLf4lSQhp0DvgHZIJmUziNtwc36YsJ9iwzWPBuZB/YRDPV/rdI+gypY1+IUHeVbON46KM3c2azWfSh7CO1LunJMsfrszBMWvwRba5E4+DkmBNcYzwvcDI+z8qUMdaxMQUc2fQlle/sGrdGYdKKEqoAmRyvKh+xWJUHv5Oa9hNQ== 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: da4f8bdb-0cc5-4a15-de4a-08d8657266e5 X-MS-Exchange-CrossTenant-originalarrivaltime: 30 Sep 2020 18:55:27.6986 (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: 4FngzCFcINOE0KgMfdUM6teq6GyVJey+6CcMx6iG+6VzzHKyyD6F/2ZiYnBrvFwe1ZlQfJOJZjEqYtBDlhb4Gwi+p2PrPTKW+scBId9D0EU= X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY5PR11MB4385 X-OriginatorOrg: intel.com Subject: Re: [dpdk-dev] [PATCH v9 06/10] baseband/acc100: add HARQ loopback support 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" SGkgVG9tLCANCg0KDQo+IEZyb206IFRvbSBSaXggPHRyaXhAcmVkaGF0LmNvbT4NCj4gT24gOS8y OC8yMCA1OjI5IFBNLCBOaWNvbGFzIENoYXV0cnUgd3JvdGU6DQo+ID4gQWRkaXRpb25hbCBzdXBw b3J0IGZvciBIQVJRIG1lbW9yeSBsb29wYmFjaw0KPiA+DQo+ID4gU2lnbmVkLW9mZi1ieTogTmlj b2xhcyBDaGF1dHJ1IDxuaWNvbGFzLmNoYXV0cnVAaW50ZWwuY29tPg0KPiA+IEFja2VkLWJ5OiBM aXUgVGlhbmppYW8gPFRpYW5qaWFvLmxpdUBpbnRlbC5jb20+DQo+ID4gLS0tDQo+ID4gIGRyaXZl cnMvYmFzZWJhbmQvYWNjMTAwL3J0ZV9hY2MxMDBfcG1kLmMgfCAxNTgNCj4gPiArKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrDQo+ID4gIDEgZmlsZSBjaGFuZ2VkLCAxNTggaW5zZXJ0aW9u cygrKQ0KPiA+DQo+ID4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvYmFzZWJhbmQvYWNjMTAwL3J0ZV9h Y2MxMDBfcG1kLmMNCj4gPiBiL2RyaXZlcnMvYmFzZWJhbmQvYWNjMTAwL3J0ZV9hY2MxMDBfcG1k LmMNCj4gPiBpbmRleCBiMjIzNTQ3Li5lNDg0YzBhIDEwMDY0NA0KPiA+IC0tLSBhL2RyaXZlcnMv YmFzZWJhbmQvYWNjMTAwL3J0ZV9hY2MxMDBfcG1kLmMNCj4gPiArKysgYi9kcml2ZXJzL2Jhc2Vi YW5kL2FjYzEwMC9ydGVfYWNjMTAwX3BtZC5jDQo+ID4gQEAgLTY1OCw2ICs2NTgsNyBAQA0KPiA+ DQo+IAlSVEVfQkJERVZfTERQQ19IUV9DT01CSU5FX0lOX0VOQUJMRSB8DQo+ID4NCj4gCVJURV9C QkRFVl9MRFBDX0hRX0NPTUJJTkVfT1VUX0VOQUJMRSB8ICAjaWZkZWYNCj4gQUNDMTAwX0VYVF9N RU0NCj4gPiArDQo+IAlSVEVfQkJERVZfTERQQ19JTlRFUk5BTF9IQVJRX01FTU9SWV9MT09QQkFD SyB8DQo+ID4NCj4gCVJURV9CQkRFVl9MRFBDX0lOVEVSTkFMX0hBUlFfTUVNT1JZX0lOX0VOQUJM RSB8DQo+ID4NCj4gCVJURV9CQkRFVl9MRFBDX0lOVEVSTkFMX0hBUlFfTUVNT1JZX09VVF9FTkFC TEUgfA0KPiAjZW5kaWYgQEANCj4gPiAtMTQ4MCwxMiArMTQ4MSwxNjkgQEANCj4gPiAgCXJldHVy biAxOw0KPiA+ICB9DQo+ID4NCj4gPiArc3RhdGljIGlubGluZSBpbnQNCj4gPiAraGFycV9sb29w YmFjayhzdHJ1Y3QgYWNjMTAwX3F1ZXVlICpxLCBzdHJ1Y3QgcnRlX2JiZGV2X2RlY19vcCAqb3As DQo+ID4gKwkJdWludDE2X3QgdG90YWxfZW5xdWV1ZWRfY2JzKSB7DQo+ID4gKwlzdHJ1Y3QgYWNj MTAwX2Zjd19sZCAqZmN3Ow0KPiA+ICsJdW5pb24gYWNjMTAwX2RtYV9kZXNjICpkZXNjOw0KPiA+ ICsJaW50IG5leHRfdHJpcGxldCA9IDE7DQo+ID4gKwlzdHJ1Y3QgcnRlX21idWYgKmhxX291dHB1 dF9oZWFkLCAqaHFfb3V0cHV0Ow0KPiA+ICsJdWludDE2X3QgaGFycV9pbl9sZW5ndGggPSBvcC0N Cj4gPmxkcGNfZGVjLmhhcnFfY29tYmluZWRfaW5wdXQubGVuZ3RoOw0KPiA+ICsJaWYgKGhhcnFf aW5fbGVuZ3RoID09IDApIHsNCj4gPiArCQlydGVfYmJkZXZfbG9nKEVSUiwgIkxvb3BiYWNrIG9m IGludmFsaWQgbnVsbCBzaXplXG4iKTsNCj4gPiArCQlyZXR1cm4gLUVJTlZBTDsNCj4gPiArCX0N Cj4gPiArDQo+ID4gKwlpbnQgaF9jb21wID0gY2hlY2tfYml0KG9wLT5sZHBjX2RlYy5vcF9mbGFn cywNCj4gPiArCQkJUlRFX0JCREVWX0xEUENfSEFSUV82QklUX0NPTVBSRVNTSU9ODQo+ID4gKwkJ CSkgPyAxIDogMDsNCj4gDQo+IGJvb2wNCg0KTm90IGluIHRoYXQgY2FzZSBhcyB0aGlzIGlzIHVz ZWQgZXhwbGljdGx5IGFzIGFuIGludGVnZXIgaW4gdGhlIEZDVy4gDQoNClRoYW5rcw0KTmljDQoN Cg0KPiANCj4gVG9tDQo+IA0KPiA+ICsJaWYgKGhfY29tcCA9PSAxKQ0KPiA+ICsJCWhhcnFfaW5f bGVuZ3RoID0gaGFycV9pbl9sZW5ndGggKiA4IC8gNjsNCj4gPiArCWhhcnFfaW5fbGVuZ3RoID0g UlRFX0FMSUdOKGhhcnFfaW5fbGVuZ3RoLCA2NCk7DQo+ID4gKwl1aW50MTZfdCBoYXJxX2RtYV9s ZW5ndGhfaW4gPSAoaF9jb21wID09IDApID8NCj4gPiArCQkJaGFycV9pbl9sZW5ndGggOg0KPiA+ ICsJCQloYXJxX2luX2xlbmd0aCAqIDYgLyA4Ow0KPiA+ICsJdWludDE2X3QgaGFycV9kbWFfbGVu Z3RoX291dCA9IGhhcnFfZG1hX2xlbmd0aF9pbjsNCj4gPiArCWJvb2wgZGRyX21lbV9pbiA9IGNo ZWNrX2JpdChvcC0+bGRwY19kZWMub3BfZmxhZ3MsDQo+ID4gKw0KPiAJUlRFX0JCREVWX0xEUENf SU5URVJOQUxfSEFSUV9NRU1PUllfSU5fRU5BQkxFKTsNCj4gPiArCXVuaW9uIGFjYzEwMF9oYXJx X2xheW91dF9kYXRhICpoYXJxX2xheW91dCA9IHEtPmQtPmhhcnFfbGF5b3V0Ow0KPiA+ICsJdWlu dDE2X3QgaGFycV9pbmRleCA9IChkZHJfbWVtX2luID8NCj4gPiArCQkJb3AtPmxkcGNfZGVjLmhh cnFfY29tYmluZWRfaW5wdXQub2Zmc2V0IDoNCj4gPiArCQkJb3AtPmxkcGNfZGVjLmhhcnFfY29t YmluZWRfb3V0cHV0Lm9mZnNldCkNCj4gPiArCQkJLyBBQ0MxMDBfSEFSUV9PRkZTRVQ7DQo+ID4g Kw0KPiA+ICsJdWludDE2X3QgZGVzY19pZHggPSAoKHEtPnN3X3JpbmdfaGVhZCArIHRvdGFsX2Vu cXVldWVkX2NicykNCj4gPiArCQkJJiBxLT5zd19yaW5nX3dyYXBfbWFzayk7DQo+ID4gKwlkZXNj ID0gcS0+cmluZ19hZGRyICsgZGVzY19pZHg7DQo+ID4gKwlmY3cgPSAmZGVzYy0+cmVxLmZjd19s ZDsNCj4gPiArCS8qIFNldCB0aGUgRkNXIGZyb20gbG9vcGJhY2sgaW50byBERFIgKi8NCj4gPiAr CW1lbXNldChmY3csIDAsIHNpemVvZihzdHJ1Y3QgYWNjMTAwX2Zjd19sZCkpOw0KPiA+ICsJZmN3 LT5GQ1d2ZXJzaW9uID0gQUNDMTAwX0ZDV19WRVI7DQo+ID4gKwlmY3ctPnFtID0gMjsNCj4gPiAr CWZjdy0+WmMgPSAzODQ7DQo+ID4gKwlpZiAoaGFycV9pbl9sZW5ndGggPCAxNiAqIE5fWkNfMSkN Cj4gPiArCQlmY3ctPlpjID0gMTY7DQo+ID4gKwlmY3ctPm5jYiA9IGZjdy0+WmMgKiBOX1pDXzE7 DQo+ID4gKwlmY3ctPnJtX2UgPSAyOw0KPiA+ICsJZmN3LT5oY2luX2VuID0gMTsNCj4gPiArCWZj dy0+aGNvdXRfZW4gPSAxOw0KPiA+ICsNCj4gPiArCXJ0ZV9iYmRldl9sb2coREVCVUcsICJMb29w YmFjayBJTiAlZCBJbmRleCAlZCBvZmZzZXQgJWQgbGVuZ3RoDQo+ICVkICVkXG4iLA0KPiA+ICsJ CQlkZHJfbWVtX2luLCBoYXJxX2luZGV4LA0KPiA+ICsJCQloYXJxX2xheW91dFtoYXJxX2luZGV4 XS5vZmZzZXQsIGhhcnFfaW5fbGVuZ3RoLA0KPiA+ICsJCQloYXJxX2RtYV9sZW5ndGhfaW4pOw0K PiA+ICsNCj4gPiArCWlmIChkZHJfbWVtX2luICYmIChoYXJxX2xheW91dFtoYXJxX2luZGV4XS5v ZmZzZXQgPiAwKSkgew0KPiA+ICsJCWZjdy0+aGNpbl9zaXplMCA9IGhhcnFfbGF5b3V0W2hhcnFf aW5kZXhdLnNpemUwOw0KPiA+ICsJCWZjdy0+aGNpbl9vZmZzZXQgPSBoYXJxX2xheW91dFtoYXJx X2luZGV4XS5vZmZzZXQ7DQo+ID4gKwkJZmN3LT5oY2luX3NpemUxID0gaGFycV9pbl9sZW5ndGgg LSBmY3ctPmhjaW5fb2Zmc2V0Ow0KPiA+ICsJCWhhcnFfZG1hX2xlbmd0aF9pbiA9IChmY3ctPmhj aW5fc2l6ZTAgKyBmY3ctPmhjaW5fc2l6ZTEpOw0KPiA+ICsJCWlmIChoX2NvbXAgPT0gMSkNCj4g PiArCQkJaGFycV9kbWFfbGVuZ3RoX2luID0gaGFycV9kbWFfbGVuZ3RoX2luICogNiAvIDg7DQo+ ID4gKwl9IGVsc2Ugew0KPiA+ICsJCWZjdy0+aGNpbl9zaXplMCA9IGhhcnFfaW5fbGVuZ3RoOw0K PiA+ICsJfQ0KPiA+ICsJaGFycV9sYXlvdXRbaGFycV9pbmRleF0udmFsID0gMDsNCj4gPiArCXJ0 ZV9iYmRldl9sb2coREVCVUcsICJMb29wYmFjayBGQ1cgQ29uZmlnICVkICVkICVkXG4iLA0KPiA+ ICsJCQlmY3ctPmhjaW5fc2l6ZTAsIGZjdy0+aGNpbl9vZmZzZXQsIGZjdy0+aGNpbl9zaXplMSk7 DQo+ID4gKwlmY3ctPmhjb3V0X3NpemUwID0gaGFycV9pbl9sZW5ndGg7DQo+ID4gKwlmY3ctPmhj aW5fZGVjb21wX21vZGUgPSBoX2NvbXA7DQo+ID4gKwlmY3ctPmhjb3V0X2NvbXBfbW9kZSA9IGhf Y29tcDsNCg0Kc2VlIGhlcmUNCg0KPiA+ICsJZmN3LT5nYWluX2kgPSAxOw0KPiA+ICsJZmN3LT5n YWluX2ggPSAxOw0KPiA+ICsNCj4gPiArCS8qIFNldCB0aGUgcHJlZml4IG9mIGRlc2NyaXB0b3Iu IFRoaXMgY291bGQgYmUgZG9uZSBhdCBwb2xsaW5nICovDQo+ID4gKwlkZXNjLT5yZXEud29yZDAg PSBBQ0MxMDBfRE1BX0RFU0NfVFlQRTsNCj4gPiArCWRlc2MtPnJlcS53b3JkMSA9IDA7IC8qKjwg VGltZXN0YW1wIGNvdWxkIGJlIGRpc2FibGVkICovDQo+ID4gKwlkZXNjLT5yZXEud29yZDIgPSAw Ow0KPiA+ICsJZGVzYy0+cmVxLndvcmQzID0gMDsNCj4gPiArCWRlc2MtPnJlcS5udW1DQnMgPSAx Ow0KPiA+ICsNCj4gPiArCS8qIE51bGwgTExSIGlucHV0IGZvciBEZWNvZGVyICovDQo+ID4gKwlk ZXNjLT5yZXEuZGF0YV9wdHJzW25leHRfdHJpcGxldF0uYWRkcmVzcyA9DQo+ID4gKwkJCXEtPmxi X2luX2FkZHJfcGh5czsNCj4gPiArCWRlc2MtPnJlcS5kYXRhX3B0cnNbbmV4dF90cmlwbGV0XS5i bGVuID0gMjsNCj4gPiArCWRlc2MtPnJlcS5kYXRhX3B0cnNbbmV4dF90cmlwbGV0XS5ibGtpZCA9 IEFDQzEwMF9ETUFfQkxLSURfSU47DQo+ID4gKwlkZXNjLT5yZXEuZGF0YV9wdHJzW25leHRfdHJp cGxldF0ubGFzdCA9IDA7DQo+ID4gKwlkZXNjLT5yZXEuZGF0YV9wdHJzW25leHRfdHJpcGxldF0u ZG1hX2V4dCA9IDA7DQo+ID4gKwluZXh0X3RyaXBsZXQrKzsNCj4gPiArDQo+ID4gKwkvKiBIQVJR IENvbWJpbmUgaW5wdXQgZnJvbSBlaXRoZXIgTWVtb3J5IGludGVyZmFjZSAqLw0KPiA+ICsJaWYg KCFkZHJfbWVtX2luKSB7DQo+ID4gKwkJbmV4dF90cmlwbGV0ID0gYWNjMTAwX2RtYV9maWxsX2Js a190eXBlX291dCgmZGVzYy0+cmVxLA0KPiA+ICsJCQkJb3AtPmxkcGNfZGVjLmhhcnFfY29tYmlu ZWRfaW5wdXQuZGF0YSwNCj4gPiArCQkJCW9wLT5sZHBjX2RlYy5oYXJxX2NvbWJpbmVkX2lucHV0 Lm9mZnNldCwNCj4gPiArCQkJCWhhcnFfZG1hX2xlbmd0aF9pbiwNCj4gPiArCQkJCW5leHRfdHJp cGxldCwNCj4gPiArCQkJCUFDQzEwMF9ETUFfQkxLSURfSU5fSEFSUSk7DQo+ID4gKwl9IGVsc2Ug ew0KPiA+ICsJCWRlc2MtPnJlcS5kYXRhX3B0cnNbbmV4dF90cmlwbGV0XS5hZGRyZXNzID0NCj4g PiArCQkJCW9wLT5sZHBjX2RlYy5oYXJxX2NvbWJpbmVkX2lucHV0Lm9mZnNldDsNCj4gPiArCQlk ZXNjLT5yZXEuZGF0YV9wdHJzW25leHRfdHJpcGxldF0uYmxlbiA9DQo+ID4gKwkJCQloYXJxX2Rt YV9sZW5ndGhfaW47DQo+ID4gKwkJZGVzYy0+cmVxLmRhdGFfcHRyc1tuZXh0X3RyaXBsZXRdLmJs a2lkID0NCj4gPiArCQkJCUFDQzEwMF9ETUFfQkxLSURfSU5fSEFSUTsNCj4gPiArCQlkZXNjLT5y ZXEuZGF0YV9wdHJzW25leHRfdHJpcGxldF0uZG1hX2V4dCA9IDE7DQo+ID4gKwkJbmV4dF90cmlw bGV0Kys7DQo+ID4gKwl9DQo+ID4gKwlkZXNjLT5yZXEuZGF0YV9wdHJzW25leHRfdHJpcGxldCAt IDFdLmxhc3QgPSAxOw0KPiA+ICsJZGVzYy0+cmVxLm0yZGxlbiA9IG5leHRfdHJpcGxldDsNCj4g PiArDQo+ID4gKwkvKiBEcm9wcGVkIGRlY29kZXIgaGFyZCBvdXRwdXQgKi8NCj4gPiArCWRlc2Mt PnJlcS5kYXRhX3B0cnNbbmV4dF90cmlwbGV0XS5hZGRyZXNzID0NCj4gPiArCQkJcS0+bGJfb3V0 X2FkZHJfcGh5czsNCj4gPiArCWRlc2MtPnJlcS5kYXRhX3B0cnNbbmV4dF90cmlwbGV0XS5ibGVu ID0gQllURVNfSU5fV09SRDsNCj4gPiArCWRlc2MtPnJlcS5kYXRhX3B0cnNbbmV4dF90cmlwbGV0 XS5ibGtpZCA9DQo+IEFDQzEwMF9ETUFfQkxLSURfT1VUX0hBUkQ7DQo+ID4gKwlkZXNjLT5yZXEu ZGF0YV9wdHJzW25leHRfdHJpcGxldF0ubGFzdCA9IDA7DQo+ID4gKwlkZXNjLT5yZXEuZGF0YV9w dHJzW25leHRfdHJpcGxldF0uZG1hX2V4dCA9IDA7DQo+ID4gKwluZXh0X3RyaXBsZXQrKzsNCj4g PiArDQo+ID4gKwkvKiBIQVJRIENvbWJpbmUgb3V0cHV0IHRvIGVpdGhlciBNZW1vcnkgaW50ZXJm YWNlICovDQo+ID4gKwlpZiAoY2hlY2tfYml0KG9wLT5sZHBjX2RlYy5vcF9mbGFncywNCj4gPiAr DQo+IAlSVEVfQkJERVZfTERQQ19JTlRFUk5BTF9IQVJRX01FTU9SWV9PVVRfRU5BQkxFDQo+ID4g KwkJCSkpIHsNCj4gPiArCQlkZXNjLT5yZXEuZGF0YV9wdHJzW25leHRfdHJpcGxldF0uYWRkcmVz cyA9DQo+ID4gKwkJCQlvcC0+bGRwY19kZWMuaGFycV9jb21iaW5lZF9vdXRwdXQub2Zmc2V0Ow0K PiA+ICsJCWRlc2MtPnJlcS5kYXRhX3B0cnNbbmV4dF90cmlwbGV0XS5ibGVuID0NCj4gPiArCQkJ CWhhcnFfZG1hX2xlbmd0aF9vdXQ7DQo+ID4gKwkJZGVzYy0+cmVxLmRhdGFfcHRyc1tuZXh0X3Ry aXBsZXRdLmJsa2lkID0NCj4gPiArCQkJCUFDQzEwMF9ETUFfQkxLSURfT1VUX0hBUlE7DQo+ID4g KwkJZGVzYy0+cmVxLmRhdGFfcHRyc1tuZXh0X3RyaXBsZXRdLmRtYV9leHQgPSAxOw0KPiA+ICsJ CW5leHRfdHJpcGxldCsrOw0KPiA+ICsJfSBlbHNlIHsNCj4gPiArCQlocV9vdXRwdXRfaGVhZCA9 IG9wLQ0KPiA+bGRwY19kZWMuaGFycV9jb21iaW5lZF9vdXRwdXQuZGF0YTsNCj4gPiArCQlocV9v dXRwdXQgPSBvcC0+bGRwY19kZWMuaGFycV9jb21iaW5lZF9vdXRwdXQuZGF0YTsNCj4gPiArCQlu ZXh0X3RyaXBsZXQgPSBhY2MxMDBfZG1hX2ZpbGxfYmxrX3R5cGVfb3V0KA0KPiA+ICsJCQkJJmRl c2MtPnJlcSwNCj4gPiArCQkJCW9wLT5sZHBjX2RlYy5oYXJxX2NvbWJpbmVkX291dHB1dC5kYXRh LA0KPiA+ICsJCQkJb3AtPmxkcGNfZGVjLmhhcnFfY29tYmluZWRfb3V0cHV0Lm9mZnNldCwNCj4g PiArCQkJCWhhcnFfZG1hX2xlbmd0aF9vdXQsDQo+ID4gKwkJCQluZXh0X3RyaXBsZXQsDQo+ID4g KwkJCQlBQ0MxMDBfRE1BX0JMS0lEX09VVF9IQVJRKTsNCj4gPiArCQkvKiBIQVJRIG91dHB1dCAq Lw0KPiA+ICsJCW1idWZfYXBwZW5kKGhxX291dHB1dF9oZWFkLCBocV9vdXRwdXQsDQo+IGhhcnFf ZG1hX2xlbmd0aF9vdXQpOw0KPiA+ICsJCW9wLT5sZHBjX2RlYy5oYXJxX2NvbWJpbmVkX291dHB1 dC5sZW5ndGggPQ0KPiA+ICsJCQkJaGFycV9kbWFfbGVuZ3RoX291dDsNCj4gPiArCX0NCj4gPiAr CWRlc2MtPnJlcS5kYXRhX3B0cnNbbmV4dF90cmlwbGV0IC0gMV0ubGFzdCA9IDE7DQo+ID4gKwlk ZXNjLT5yZXEuZDJtbGVuID0gbmV4dF90cmlwbGV0IC0gZGVzYy0+cmVxLm0yZGxlbjsNCj4gPiAr CWRlc2MtPnJlcS5vcF9hZGRyID0gb3A7DQo+ID4gKw0KPiA+ICsJLyogT25lIENCIChvbmUgb3Ap IHdhcyBzdWNjZXNzZnVsbHkgcHJlcGFyZWQgdG8gZW5xdWV1ZSAqLw0KPiA+ICsJcmV0dXJuIDE7 DQo+ID4gK30NCj4gPiArDQo+ID4gIC8qKiBFbnF1ZXVlIG9uZSBkZWNvZGUgb3BlcmF0aW9ucyBm b3IgQUNDMTAwIGRldmljZSBpbiBDQiBtb2RlICovDQo+ID4gc3RhdGljIGlubGluZSBpbnQgIGVu cXVldWVfbGRwY19kZWNfb25lX29wX2NiKHN0cnVjdCBhY2MxMDBfcXVldWUgKnEsDQo+ID4gc3Ry dWN0IHJ0ZV9iYmRldl9kZWNfb3AgKm9wLA0KPiA+ICAJCXVpbnQxNl90IHRvdGFsX2VucXVldWVk X2NicywgYm9vbCBzYW1lX29wKSAgew0KPiA+ICAJaW50IHJldDsNCj4gPiArCWlmICh1bmxpa2Vs eShjaGVja19iaXQob3AtPmxkcGNfZGVjLm9wX2ZsYWdzLA0KPiA+ICsNCj4gCVJURV9CQkRFVl9M RFBDX0lOVEVSTkFMX0hBUlFfTUVNT1JZX0xPT1BCQUNLKSkpIHsNCj4gPiArCQlyZXQgPSBoYXJx X2xvb3BiYWNrKHEsIG9wLCB0b3RhbF9lbnF1ZXVlZF9jYnMpOw0KPiA+ICsJCXJldHVybiByZXQ7 DQo+ID4gKwl9DQo+ID4NCj4gPiAgCXVuaW9uIGFjYzEwMF9kbWFfZGVzYyAqZGVzYzsNCj4gPiAg CXVpbnQxNl90IGRlc2NfaWR4ID0gKChxLT5zd19yaW5nX2hlYWQgKyB0b3RhbF9lbnF1ZXVlZF9j YnMpDQoNCg==