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 82BB6A31F3 for ; Fri, 18 Oct 2019 18:42:49 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id DEAAF1C06C; Fri, 18 Oct 2019 18:42:48 +0200 (CEST) Received: from mx0b-0016f401.pphosted.com (mx0b-0016f401.pphosted.com [67.231.156.173]) by dpdk.org (Postfix) with ESMTP id C29A61BE94 for ; Fri, 18 Oct 2019 18:42:46 +0200 (CEST) Received: from pps.filterd (m0045851.ppops.net [127.0.0.1]) by mx0b-0016f401.pphosted.com (8.16.0.42/8.16.0.42) with SMTP id x9IGZxTN009807; Fri, 18 Oct 2019 09:42:45 -0700 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=marvell.com; h=from : to : cc : subject : date : message-id : references : in-reply-to : content-type : content-transfer-encoding : mime-version; s=pfpt0818; bh=la8ZJA90fxmksiA6cLO6n/Ylg1F/TmRweZFVkGnaEks=; b=Cy5Uekaq0ml1c1n05XWzBrHPKr0jWp7yhvkaW893cHXFbxbo55mCLhS9Jm9sjgo5ba2G PzcwY2sF/brnsuBFj/U/MRSOP8LrUigPvf8j27UzHQevB7lnto3L7GHx+UEJk2FHkLSi ZEAc928VhOQFv+CdS3/ys4j3GE80JpxfWVw1KLx7LZi+Pp0jrA/yEPWNl+G8MMyAQ/Vc kdJt9CLVQmVoMjk63f1Lwp6lxS8KdWg3585cHDqlOd+Hjn4BKcM3PdeEXpZ12ae62jFB gz5a4/pxZvApIL56Ktqmu24BebH+0DvbccvaNOvyH0+OmK5zZBMQbPgLwckJHnz+/UkP Mg== Received: from sc-exch02.marvell.com ([199.233.58.182]) by mx0b-0016f401.pphosted.com with ESMTP id 2vpj9bxca9-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-SHA384 bits=256 verify=NOT); Fri, 18 Oct 2019 09:42:45 -0700 Received: from SC-EXCH04.marvell.com (10.93.176.84) by SC-EXCH02.marvell.com (10.93.176.82) with Microsoft SMTP Server (TLS) id 15.0.1367.3; Fri, 18 Oct 2019 09:42:43 -0700 Received: from NAM04-BN3-obe.outbound.protection.outlook.com (104.47.46.58) by SC-EXCH04.marvell.com (10.93.176.84) with Microsoft SMTP Server (TLS) id 15.0.1367.3 via Frontend Transport; Fri, 18 Oct 2019 09:42:43 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=OoJjhQSLJduOfejaRgefy59fnJZp1PCcPi36oRxU6M1bpNpOJ+1zrAQdIeRyrvoAiFSLKItbCQu+xZG2oEG9AZR6RYduN0wCYMKX1EJ10IY7KiobKbvnulh0f/RVZMcZ3g/ec7y1Q7pnBI6fSaBZzzgJ53IdQpNbKBVgxnkqP64C1/QGSg0M7kPou3KHA0CkBbo5s9WVIgULO43dEJvWHm5Dcp7SckQhLimiDPsOXUHGr9OAHL4h3mYGbvWIvwBpOfNeKpG9iVGoq3IoFCLG9Lo/v0e5KoG5kaqKlstkjAUK2GvTjBxzlxR+h7gkgMZmn0R+1TZ+mV10KJO7/yvVRg== 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=la8ZJA90fxmksiA6cLO6n/Ylg1F/TmRweZFVkGnaEks=; b=nRt+9IIDUzFDPVSDKWJF7tIK4PoPscWwy+kCJuh11p5pDY8HZ+UnmEBekZ7qYjPkWIe3lzKFErugX/5PVx3+OiSyvUt1WdQwLipI8b73MWhfIT2C/85sX8kxQgGtzkbgbXeamLfi1rCCGuAW/mQp6obMexAlMmuj7PhYdiKHxWlXr0r5CGOhTFC5RizNzCezV7qqWeHJ6qB8vpDrulmyx7vPnV70R7QjVDmQFJ0GOej6AG6QLeabTy19hmxL56FvZ70NA0eZW7+0QO9WsMQKlkCUcGLMHTUMOl1u3WJkRSWhMD/k+hfVNDU0vLhMm+HcKoi0/4QocxJFm8Wo3F6ZkA== 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=selector2-marvell-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=la8ZJA90fxmksiA6cLO6n/Ylg1F/TmRweZFVkGnaEks=; b=Mnz9EmbFAVpkd7uP5hjsNv3kbJwzhApasDxXnxKgdEzu7hJGAJNxQk/AzwwRNwrglWldhHo4v0vg0vXG7CrmhxZlGpZfRnAF+K6TbIcltQnQYy5onQOUU0c0TxjOaI9XDbo8rIfsrD+Abtv8duO9KWZ1GalUpQNngDtX8EY6XF0= Received: from MWHPR18MB1645.namprd18.prod.outlook.com (10.173.241.137) by MWHPR18MB1375.namprd18.prod.outlook.com (10.173.243.135) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2347.16; Fri, 18 Oct 2019 16:42:41 +0000 Received: from MWHPR18MB1645.namprd18.prod.outlook.com ([fe80::b4fd:71ce:2bc4:7afb]) by MWHPR18MB1645.namprd18.prod.outlook.com ([fe80::b4fd:71ce:2bc4:7afb%3]) with mapi id 15.20.2347.024; Fri, 18 Oct 2019 16:42:41 +0000 From: Vamsi Krishna Attunuru To: Ferruh Yigit , "Yigit, Ferruh" , "olivier.matz@6wind.com" CC: "thomas@monjalon.net" , Jerin Jacob Kollanukkaran , "olivier.matz@6wind.com" , "anatoly.burakov@intel.com" , "arybchenko@solarflare.com" , "Kiran Kumar Kokkilagadda" , "dev@dpdk.org" Thread-Topic: [EXT] Re: [dpdk-dev] [PATCH v10 0/5] kni: add IOVA=VA support Thread-Index: AQHVU/myKT4BKgAuPEmOyX1G6ACmZ6dcNCSAgAFPekCAAFAYAIADIvUA Date: Fri, 18 Oct 2019 16:42:40 +0000 Message-ID: References: <20190729121313.30639-2-vattunuru@marvell.com> <20190816061252.17214-1-vattunuru@marvell.com> <165d7042-8276-1897-13a4-8f4d78b35fe6@intel.com> In-Reply-To: <165d7042-8276-1897-13a4-8f4d78b35fe6@intel.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [103.227.99.38] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: aed8b74e-5fff-4d2e-74ec-08d753ea315b x-ms-traffictypediagnostic: MWHPR18MB1375: x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:8882; x-forefront-prvs: 01949FE337 x-forefront-antispam-report: SFV:NSPM; SFS:(10009020)(4636009)(376002)(396003)(346002)(39860400002)(366004)(136003)(189003)(199004)(13464003)(4326008)(6506007)(7736002)(74316002)(6246003)(8676002)(86362001)(7696005)(53546011)(8936002)(81166006)(6436002)(81156014)(5660300002)(102836004)(52536014)(33656002)(55016002)(76176011)(9686003)(6116002)(3846002)(99286004)(305945005)(2906002)(64756008)(66446008)(76116006)(14444005)(25786009)(66556008)(486006)(256004)(14454004)(26005)(446003)(71200400001)(316002)(478600001)(71190400001)(110136005)(66066001)(11346002)(54906003)(476003)(2501003)(186003)(66946007)(229853002)(66476007); DIR:OUT; SFP:1101; SCL:1; SRVR:MWHPR18MB1375; H:MWHPR18MB1645.namprd18.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; MX:1; A:1; received-spf: None (protection.outlook.com: marvell.com does not designate permitted sender hosts) x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: qpaIrUmxr5aco5wwxN5W3kfD1afX8r3c0SQ07zxikP77HGkYA65ACkLOjD3qSdtDuEuWgZncUx/c8GnbhdqhTizIPRm0NUh5t9Vg+gPDFjmXHaMaVC7Os5wNk0p/QU2m8V1ujHyGjVptLz4Ay00ZBnEWaybsIXrRTK2vxb4fjYBZ74Q+sT59YKNVqLACWSLCyQF/E8796dIURx/MbLkxVLfuBbjGF6SorJyPvUToaiwgagd44eYbHT/My/H2kEYwapXACnnaIzfQr/lCmcVazxGkPDIyG9UhYgTNxDTFUBXk7ybBXDFy7AyNWYlelQxgY2LckO+OjXmp0bsCv76eLexjwbVtTlqssG68xg8GJ6GKL9f5Qe3Jdy568H5LZDXzr14gaZRkXM5rCvP6CQuyPgpKrPAhB9p5OqzgusUgmLs= Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-MS-Exchange-CrossTenant-Network-Message-Id: aed8b74e-5fff-4d2e-74ec-08d753ea315b X-MS-Exchange-CrossTenant-originalarrivaltime: 18 Oct 2019 16:42:40.9925 (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: oPX77E/VOdy1qbpIL6lSE26YWbsAKNgnB1gkdFfMR6n5ZSCJYgAv3J81x0ascpbqCxtxSpABJ+2oaajE/IZ/hQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: MWHPR18MB1375 X-OriginatorOrg: marvell.com X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:6.0.95,1.0.8 definitions=2019-10-18_04:2019-10-18,2019-10-18 signatures=0 Subject: Re: [dpdk-dev] [EXT] Re: [PATCH v10 0/5] kni: add IOVA=VA 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" DQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogRmVycnVoIFlpZ2l0IDxm ZXJydWgueWlnaXRAaW50ZWwuY29tPg0KPiBTZW50OiBXZWRuZXNkYXksIE9jdG9iZXIgMTYsIDIw MTkgOTo1MiBQTQ0KPiBUbzogVmFtc2kgS3Jpc2huYSBBdHR1bnVydSA8dmF0dHVudXJ1QG1hcnZl bGwuY29tPjsgWWlnaXQsIEZlcnJ1aA0KPiA8ZmVycnVoLnlpZ2l0QGxpbnV4LmludGVsLmNvbT4N Cj4gQ2M6IHRob21hc0Btb25qYWxvbi5uZXQ7IEplcmluIEphY29iIEtvbGxhbnVra2FyYW4gPGpl cmluakBtYXJ2ZWxsLmNvbT47DQo+IG9saXZpZXIubWF0ekA2d2luZC5jb207IGFuYXRvbHkuYnVy YWtvdkBpbnRlbC5jb207DQo+IGFyeWJjaGVua29Ac29sYXJmbGFyZS5jb207IEtpcmFuIEt1bWFy IEtva2tpbGFnYWRkYQ0KPiA8a2lyYW5rdW1hcmtAbWFydmVsbC5jb20+OyBkZXZAZHBkay5vcmcN Cj4gU3ViamVjdDogW0VYVF0gUmU6IFtkcGRrLWRldl0gW1BBVENIIHYxMCAwLzVdIGtuaTogYWRk IElPVkE9VkEgc3VwcG9ydA0KPiANCj4gRXh0ZXJuYWwgRW1haWwNCj4gDQo+IC0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0NCj4gT24gMTAvMTYvMjAxOSAxOjE3IFBNLCBWYW1zaSBLcmlzaG5hIEF0dHVudXJ1IHdyb3Rl Og0KPiA+DQo+ID4NCj4gPj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gPj4gRnJvbTog ZGV2IDxkZXYtYm91bmNlc0BkcGRrLm9yZz4gT24gQmVoYWxmIE9mIFlpZ2l0LCBGZXJydWgNCj4g Pj4gU2VudDogVHVlc2RheSwgT2N0b2JlciAxNSwgMjAxOSA5OjA1IFBNDQo+ID4+IFRvOiBWYW1z aSBLcmlzaG5hIEF0dHVudXJ1IDx2YXR0dW51cnVAbWFydmVsbC5jb20+OyBkZXZAZHBkay5vcmcN Cj4gPj4gQ2M6IHRob21hc0Btb25qYWxvbi5uZXQ7IEplcmluIEphY29iIEtvbGxhbnVra2FyYW4N Cj4gPj4gPGplcmluakBtYXJ2ZWxsLmNvbT47IG9saXZpZXIubWF0ekA2d2luZC5jb207IGZlcnJ1 aC55aWdpdEBpbnRlbC5jb207DQo+ID4+IGFuYXRvbHkuYnVyYWtvdkBpbnRlbC5jb207IGFyeWJj aGVua29Ac29sYXJmbGFyZS5jb207IEtpcmFuIEt1bWFyDQo+ID4+IEtva2tpbGFnYWRkYSA8a2ly YW5rdW1hcmtAbWFydmVsbC5jb20+DQo+ID4+IFN1YmplY3Q6IFJlOiBbZHBkay1kZXZdIFtQQVRD SCB2MTAgMC81XSBrbmk6IGFkZCBJT1ZBPVZBIHN1cHBvcnQNCj4gPj4NCj4gPj4gT24gOC8xNi8y MDE5IDc6MTIgQU0sIHZhdHR1bnVydUBtYXJ2ZWxsLmNvbSB3cm90ZToNCj4gPj4+IEZyb206IFZh bXNpIEF0dHVudXJ1IDx2YXR0dW51cnVAbWFydmVsbC5jb20+DQo+ID4+Pg0KPiA+Pj4gLS0tDQo+ ID4+PiBWMTAgQ2hhbmdlczoNCj4gPj4+ICogRml4ZWQgZnVuY3Rpb24gcmV0dXJuIGNvZGUgb24g ZmFpbHVyZSB3aGVuIG1pbl9jaHVua19zaXplID4gcGdfc3ouDQo+ID4+PiAqIE1hcmtlZCBuZXcg bWVtcG9vbCBwb3B1bGF0ZSByb3V0aW5lIGFzIEVYUEVSSU1FTlRBTC4NCj4gPj4+DQo+ID4+PiBW OSBDaGFuZ2VzOg0KPiA+Pj4gKiBVc2VkIHJ0ZV9tZW1wb29sX29wc19jYWxjX21lbV9zaXplKCkg aW5zdGVhZCBvZiBkZWZhdWx0IGhhbmRsZXIgaW4NCj4gPj4+IHRoZSBuZXcgbWVtcG9vbCBwb3B1 bGF0ZSByb3V0aW5lLg0KPiA+Pj4gKiBDaGVjayBtaW5fY2h1bmtfc2l6ZSBhbmQgcmV0dXJuIHZh bHVlcy4NCj4gPj4+ICogUmVtb3ZlZCBldGhkZXZfaW5mbyBtZW1zZXQgdG8gJzAnIGFuZCBtb3Zl ZCBwY2kgZGV2X2luZm8gcG9wdWxhdGUNCj4gPj4+IGludG8NCj4gPj4+IGtuaV9kZXZfcGNpX2Fk ZHJfZ2V0KCkgcm91dGluZS4NCj4gPj4+ICogQWRkcmVzc2VkIG1pc2MuIHJldmlldyBjb21tZW50 cy4NCj4gPj4+DQo+ID4+PiBWOCBDaGFuZ2VzOg0KPiA+Pj4gKiBSZW1vdmUgZGVmYXVsdCBtZW1w b29sIHBvcHVsYXRlKCkgcm91dGluZSBjaGFuZ2VzLg0KPiA+Pj4gKiBBZGQga25pIGFwcCBzcGVj aWZpYyBtZW1wb29sIGNyZWF0ZSAmIGZyZWUgcm91dGluZXMuDQo+ID4+PiAqIEFkZCBuZXcgbWVt cG9vbCBwb3B1bGF0ZSByb3V0aW5lIHRvIGFsbG9jYXRlIHBhZ2UtYWxpZ25lZA0KPiBtZW16b25l cw0KPiA+Pj4gd2l0aCBwYWdlIHNpemUgdG8gbWFrZSBzdXJlIGFsbCBtZW1wb29sIG9iamVjdHMg cmVzaWRlIG9uIGEgcGFnZS4NCj4gPj4+ICogVXBkYXRlIHJlbGVhc2Ugbm90ZXMgYW5kIG1hcCBm aWxlcy4NCj4gPj4+DQo+ID4+PiBWNyBDaGFuZ2VzOg0KPiA+Pj4gKiBSZW1vdmVkIHByZXZpb3Vz bHkgcHJvcG9zZWQgbWVtcG9vbCBmbGFnIGFuZCBtYWRlIHRob3NlIHBhZ2UNCj4gPj4+IGJvdW5k YXJ5IGNoZWNrcyBkZWZhdWx0IGluIG1lbXBvb2wgcG9wdWxhdGUoKSBleGNlcHQgZm9yIHRoZSBv YmplY3RzDQo+ID4+PiBzaXplIGJpZ2dlciB0aGFuIHRoZSBzaXplIG9mIHBhZ2UuDQo+ID4+PiAq IFJlbW92ZWQgS05JIGV4YW1wbGUgYXBwbGljYXRpb24gcmVsYXRlZCBjaGFuZ2VzIHNpbmNlIHBv b2wgcmVsYXRlZA0KPiA+Pj4gcmVxdWlyZW1lbnQgaXMgdGFrZW4gY2FyZSBpbiBtZW1wb29sIGxp Yi4NCj4gPj4+ICogQWxsIFBDSSBkZXYgcmVsYXRlZCBpbmZvIGlzIG1vdmVkIHVuZGVyIHJ0ZV9l YWxfaW92YV9tb2RlKCkgPT0gVkENCj4gY2hlY2suDQo+ID4+PiAqIEFkZGVkIHdyYXBwZXIgZnVu Y3Rpb25zIGluIEtOSSBtb2R1bGUgdG8gaGlkZSBJT1ZBIGNoZWNrcyBhbmQgbWFrZQ0KPiA+Pj4g YWRkcmVzcyB0cmFuc2xhdGlvbiByb3V0aW5lcyBtb3JlIHJlYWRhYmxlLg0KPiA+Pj4gKiBVcGRh dGVkIElPVkEgbW9kZSBjaGVja3MgdGhhdCBlbmZvcmNpbmcgSU9WQT1QQSBtb2RlIHdoZW4NCj4g SU9WQT1WQQ0KPiA+Pj4gbW9kZSBpcyBlbmFibGVkLg0KPiA+Pj4NCj4gPj4+IFY2IENoYW5nZXM6 DQo+ID4+PiAqIEFkZGVkIG5ldyBtZW1wb29sIGZsYWcgdG8gZW5zdXJlIG1idWYgbWVtb3J5IGlz IG5vdCBzY2F0dGVyZWQNCj4gPj4+IGFjcm9zcyBwYWdlIGJvdW5kYXJpZXMuDQo+ID4+PiAqIEFk ZGVkIEtOSSBrZXJuZWwgbW9kdWxlIHJlcXVpcmVkIFBDSSBkZXZpY2UgaW5mb3JtYXRpb24uDQo+ ID4+PiAqIE1vZGlmaWVkIEtOSSBleGFtcGxlIGFwcGxpY2F0aW9uIHRvIGNyZWF0ZSBtZW1wb29s IHdpdGggbmV3DQo+ID4+PiBtZW1wb29sIGZsYWcuDQo+ID4+Pg0KPiA+Pj4gVjUgY2hhbmdlczoN Cj4gPj4+ICogRml4ZWQgYnVpbGQgaXNzdWUgd2l0aCAzMmIgYnVpbGQNCj4gPj4+DQo+ID4+PiBW NCBjaGFuZ2VzOg0KPiA+Pj4gKiBGaXhlZCBidWlsZCBpc3N1ZXMgd2l0aCBvbGRlciBrZXJuZWwg dmVyc2lvbnMNCj4gPj4+ICogVGhpcyBhcHByb2FjaCB3aWxsIG9ubHkgd29yayB3aXRoIGtlcm5l bCBhYm92ZSA0LjQuMA0KPiA+Pj4NCj4gPj4+IFYzIENoYW5nZXM6DQo+ID4+PiAqIEFkZCBuZXcg YXBwcm9hY2ggdG8gd29yayBrbmkgd2l0aCBJT1ZBPVZBIG1vZGUgdXNpbmcNCj4gPj4+IGlvbW11 X2lvdmFfdG9fcGh5cyBBUEkuDQo+ID4+Pg0KPiA+Pj4gS2lyYW4gS3VtYXIgSyAoMSk6DQo+ID4+ PiAgIGtuaTogYWRkIElPVkE9VkEgc3VwcG9ydCBpbiBLTkkgbW9kdWxlDQo+ID4+Pg0KPiA+Pj4g VmFtc2kgQXR0dW51cnUgKDQpOg0KPiA+Pj4gICBtZW1wb29sOiBwb3B1bGF0ZSBtZW1wb29sIHdp dGggdGhlIHBhZ2Ugc2l6ZWQgY2h1bmtzDQo+ID4+PiAgIGtuaTogYWRkIElPVkE9VkEgc3VwcG9y dCBpbiBLTkkgbGliDQo+ID4+PiAgIGtuaTogYWRkIGFwcCBzcGVjaWZpYyBtZW1wb29sIGNyZWF0 ZSBhbmQgZnJlZSByb3V0aW5lcw0KPiA+Pj4gICBrbmk6IG1vZGlmeSBJT1ZBIG1vZGUgY2hlY2tz IHRvIHN1cHBvcnQgVkENCj4gPj4NCj4gPj4gSGkgVmFtc2ksDQo+ID4+DQo+ID4+IEkgYW0gYXdh cmUgdGhhdCB0aGlzIHBhdGNoc2V0IGlzIGFyb3VuZCBmb3IgYSBsb25nIHRpbWUsIGFuZCBJIGhh dmUNCj4gPj4gc2VlbiB5b3VyIHJlcXVlc3QgdG8gbWVyZ2UgaW4gMTkuMTEsIGJ1dCBhcyB5b3Ug Y2FuIHVuZGVyc3RhbmQgdGhlDQo+ID4+IGNvbmNlcm4gSSBoYXZlIGlzIHRvIGJyZWFrIEtOSSBv ciBleGlzdGluZyBLTkkgYXBwbGljYXRpb25zIHdoaWxlIHRyeWluZyB0bw0KPiBhZGQgdGhpcyBu ZXcgZmVhdHVyZS4NCj4gPj4NCj4gPj4gSW4gaGlnaCBsZXZlbCwgdGhlcmUgYXJlIHR3byBpc3N1 ZXMsDQo+ID4+DQo+ID4+IDEpIGtlcm5lbCBtb2R1bGVzIHVwZGF0ZXMgZXhwZWN0IHRoZXJlIHdp bGwgYmUgYSBiYWNrZWQgZGV2aWNlIG9mIHRoZQ0KPiA+PiBLTkkgd2hpY2ggaXMgbm90IGFsd2F5 cyB0cnVlOg0KPiA+Pg0KPiA+PiAgICAgICAgICBpZiAoZGV2X2luZm8uaW92YV9tb2RlKSB7DQo+ ID4+ICAjaWZkZWYgSEFWRV9JT1ZBX0FTX1ZBX1NVUFBPUlQNCj4gPj4gICAgICAgICAgICAgICAg ICBwY2kgPSBwY2lfZ2V0X2RldmljZShkZXZfaW5mby52ZW5kb3JfaWQsDQo+ID4+ICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGV2X2luZm8uZGV2aWNlX2lkLCBOVUxMKTsN Cj4gPj4gICAgICAgICAgICAgICAgICBpZiAocGNpID09IE5VTEwpIHsNCj4gPj4gICAgICAgICAg ICAgICAgICAgICAgICAgIHByX2VycigicGNpIGRldiBkb2VzIG5vdCBleGlzdFxuIik7DQo+ID4+ ICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gLUVOT0RFVjsNCj4gPj4gICAgICAgICAg ICAgICAgICB9DQo+ID4+DQo+ID4+IEZvciBleGFtcGxlIHRoaXMgYnJlYWtzOg0KPiA+PiAuL2J1 aWxkL2FwcC90ZXN0cG1kIC13MDowLjAgLS12ZGV2IG5ldF9rbmkwIC0tdmRldiBuZXRfa25pMSAg LS0gLWkNCj4gPg0KPiA+IFZhbXNpPiBZZXMsIHRoZXNlIGNhbiBiZSBmaXhlZCBieSBmb3JjaW5n IGlvbW11X21vZGUgdG8gUEEgZm9yDQo+ID4gdmRldiBvciB2ZGV2JnBkZXYgYmFzZWQgS05JIHVz ZWNhc2VzLg0KPiA+DQo+ID4+DQo+ID4+DQo+ID4+IDIpIEFwcGxpY2F0aW9ucyB3aWxsIGhhdmUg dG8gY2hhbmdlIHRoZSBBUEkgdG8gYWxsb2NhdGUgdGhlIG1lbXBvb2wuDQo+ID4+IElmIHRoZSB1 c2VyIHVwZ3JhZGVkIHRvIG5ldyB2ZXJzaW9uIG9mIERQREssIG5vdyBpdCBpcyBwb3NzaWJsZSB0 bw0KPiA+PiBoYXZlIGlvdmE9dmEgbW9kZSBhbmQgYXBwbGljYXRpb24gc2hvdWxkIHVzZSBuZXcg S05JIEFQSQ0KPiAncnRlX2tuaV9wa3RtYnVmX3Bvb2xfY3JlYXRlKCknDQo+ID4+IHRvIGFsbG9j YXRlIG1lbXBvb2wuIEFuZCBtb3N0IHByb2JhYmx5IGFwcGxpY2F0aW9uIHdpbGwgaGF2ZSBkYXRh cGF0aA0KPiA+PiBhbmQgd2lsbCB1c2UgdGhlIEtOSSBvbmx5IGZvciBleGNlcHRpb24gcGF0aCwg d2lsbCB0aGVyZSBiZSBhbnkNCj4gPj4gYWZmZWN0IHVzaW5nIEtOSSB2ZXJzaW9uIG9mIG1lbXBv b2wgYWxsb2M/DQo+ID4NCj4gPiBWYW1zaT4gVGhlcmUgd291bGQgbm90IGJlIGFueSBhZmZlY3Qg aW4gdXNpbmcgS05JIHZlcnNpb24gb2YgbWVtcG9vbC4NCj4gDQo+IElmIHlvdSB3ZXJlIGRldmVs b3BpbmcgYSBwcm9kdWN0LCB3b3VsZCB5b3UgcmVseSBvbiBhIEtOSSBBUEkgZm9yIHBrdF9tYnVm DQo+IGFsbG9jYXRpb24/IFdoYXQgaWYgdGhlcmUgaXMgYSBwcm9ibGVtLCB3aWxsIGl0IGJlIGFz IGVhc3kgYXMgbWVtcG9vbC9tYnVmDQo+IEFQSSB0byBmaWd1cmUgb3V0IGFuZCBmaXg/IEkgYW0g bm90IHN1cmUgYWJvdXQgcHVzaGluZyB1c2VycyB0byB0aGlzIGRpcmVjdGlvbj8NCg0KVmFtc2kg PiAgSWYgdXNlciB3YW50cyB0byBydW4gS05JIGFwcCBpbiBpb3ZhPXZhIG1vZGUsIG1lbXBvb2wg cG9wdWxhdGUgbmVlZHMgdG8gZW5zdXJlIG1idWYgd291bGQgbm90IGJlIGFsbG9jYXRlZCBmcm9t IGEgcGFnZSBib3VuZGFyeS4gSU1PIGFmdGVyIGhhdmluZyBjb25maWcgb3B0aW9uL2NtZCBsaW5l IHBhcmFtZXRlciB0byBlbmFibGUgS05JIGlvdmE9dmEgbW9kZSwgZXhpc3RpbmcgS05JIHdpbGwg YmUgaW50YWN0IGFuZCB0aGVzZSBtZW1wb29sIEFQSSBvbmx5IGJlIGNhbGxlZCB1cG9uIHJlcXVl c3QuIEkgd2lsbCBkb2N1bWVudCB0aGVzZSBkZXRhaWxzIGluIEtOSSBkb2N1bWVudC4gQmFzZWQg b24gZWFybGllciBjb21tZW50cyBhbmQgZGlzY3Vzc2lvbnMgd2l0aCBPbGl2aWVyIGFuZCBBbmRy ZXcgb24gdGhlIG1lbXBvb2wgcG9wdWxhdGUgcGF0Y2gsIHdlIGFycml2ZWQgYXQgdGhlc2Ugc29s dXRpb24uDQoNCkhpIE9saXZpZXIsIA0KUGxlYXNlIGxldCB1cyBrbm93IHlvdXIgdGhvdWdodHMg b24gdGhlc2UgcGF0Y2guIEkgYW0gb3BlbiB0byBhbnkgb2YgeW91ciBzdWdnZXN0aW9ucy9zb2x1 dGlvbiB0byBmaXggbWVtcG9vbCBwb3B1bGF0ZSBpc3N1ZSBmb3IgS05JIGlvdmE9dmEgdXNlIGNh c2UuDQogDQo+IA0KPiA+DQo+ID4+DQo+ID4+DQo+ID4+IEkgd291bGQgbGlrZSB0byBzZWUgS05J IGlzIGVuYWJsZWQgdmlhIGlvdmE9dmEgbW9kZSwgYnV0IGNhbiB3ZSBoYXZlDQo+ID4+IGl0IGxp bWl0ZWQgdG8gYSBzcGVjaWZpYyBjb21tYW5kIGxpbmUgYXJndW1lbnQgb3IgY29uZmlnIG9wdGlv bj8gVGhpcw0KPiA+PiBpbmNyZWFzZXMgdGhlIHRlc3Qgc3VyZmFjZSBidXQgYXQgbGVhc3Qgb2xk IGFwcGxpY2F0aW9uIGNhbiBjb250aW51ZQ0KPiA+PiB0byB3b3JrIGJ5IGRlZmF1bHQsIHdoYXQg ZG8geW91IHRoaW5rPw0KPiA+DQo+ID4gVmFtc2k+IFllcywgaXQncyBhcHByb3ByaWF0ZSB0byBj b250cm9sIHRoZSBtb2RlIHRvIGVuc3VyZSBvbGQgYXBwcyB3b3JrDQo+IGJ5IGRlZmF1bHQuDQo+ ID4gV2UgYXJlIGZpbmUgd2l0aCBoYXZpbmcgYSBjb21tYW5kIGxpbmUgYXJnIG9yIGNvbmZpZyBv cHRpb24gdG8gZW5hYmxlIEtOSQ0KPiBpbiBpb3ZhPXZhIG1vZGUuDQo+ID4gRWFybGllciB3ZSB0 aG91Z2h0IG9mIGhhdmluZyBzaW1pbGFyIGFwcHJvYWNoIHRoYXQgYWxzbyBjb250cm9scw0KPiA+ IG1lbXBvb2wgYWxsb2NhdGlvbiB1c2luZyBhIG5ld2VyIG1lbXBvb2wgZmxhZy4gQWZ0ZXIgbXVs dGlwbGUgcmV2aWV3cywNCj4gPiBmbGFnIGhhcyBiZWVuIGRpc2NhcmQgYW5kIGFkZGVkIGEgc2Vw YXJhdGUgbWVtcG9vbCBwb3B1bGF0ZSByb3V0aW5lIGZvcg0KPiB0aGVzZSB1c2VjYXNlLg0KPiAN Cj4gSSBkaWRuJ3QgbGlrZSB0aGUgaWRlYSBvZiBoYXZpbmcgYSBmbGFnIGluIG1lbXBvb2wgbGli cmFyeSwgYnV0IHBlcmhhcHMgd2UgY2FuDQo+IGhhdmUgaXQgaW4gS05JIHNjb3BlLg0KDQpWYW1z aT4gSSBmYWlsZWQgdG8gdW5kZXJzdGFuZCBLTkkgc2NvcGUgaGVyZSwgSU1PLCB0aG91Z2ggd2Ug aGF2ZSBmbGFnIGluIEtOSSBzY29wZSwgaXQgbmVlZHMgdG8gYmUgYWZmZWN0ZWQgaW4gbWVtcG9v bCBsaWIgcmlnaHQgZmluYWxseS4gDQoNCj4gDQo+ID4NCj4gPiBXaGVuIGNvbW1hbmQgbGluZSBh cmcvY29uZmlnIG9wdGlvbiBpcyBpbnRyb2R1Y2VkLCBmdW5jdGlvbmFsaXR5IHdpbGwgYmUNCj4g YXMgYmVsb3cuDQo+ID4gUGxlYXNlIGNvcnJlY3QgbWUgaWYgYW55IGNhc2VzIGFyZSBtaXNzZWQg b3Igbm90IGNvbnNpZGVyZWQuDQo+ID4gV2l0aG91dCBjb21tYW5kOg0KPiA+IEV4aXN0aW5nIEtO SSBpcyBpbnRhY3QsIGlvbW11IG1vZGUgd2lsbCBiZSBQQS4NCj4gDQo+ICsxDQo+IA0KPiA+IFdp dGggIGNvbW1hbmQ6DQo+ID4gUGRldi92ZGV2J3MgaW9tbXUgbW9kZSBpcyBjb25zaWRlcmVkIGFu ZCBhY2NvcmRpbmdseSBpb3ZhPXZhL3BhIGlzDQo+ID4gZW5hYmxlZC4gQXBwbGljYXRpb24gaXMg c3VwcG9zZWQgdG8gdXNlIEtOSSB2ZXJzaW9uIG9mIG1lbXBvb2wgYWxsb2MuDQo+IA0KPiArMQ0K PiANCj4gPiBJIHRoaW5rIHRoZXNlIG1lbXBvb2wgcXVpcmsgd2lsbCBnbyBhd2F5IHdoZW4gT2xp dmllcidzIG1lbXBvb2wNCj4gPiBwYXRjaHNldChSRkMpIGlzIG1lcmdlZC4NCj4gPg0KPiA+Pg0K PiA+PiBBbmQgSSB3aWxsIHB1dCBhIGZldyBtaW5vciBjb21tZW50cyB0byB0aGUgcGF0Y2hlcy4u Lg0KPiA+Pg0KPiA+DQoNCg==