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 0003FA00E6 for ; Tue, 9 Jul 2019 16:00:40 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 8CF531B99F; Tue, 9 Jul 2019 16:00:38 +0200 (CEST) Received: from mx0b-0016f401.pphosted.com (mx0b-0016f401.pphosted.com [67.231.156.173]) by dpdk.org (Postfix) with ESMTP id 9D9411B99B for ; Tue, 9 Jul 2019 16:00:37 +0200 (CEST) Received: from pps.filterd (m0045851.ppops.net [127.0.0.1]) by mx0b-0016f401.pphosted.com (8.16.0.27/8.16.0.27) with SMTP id x69E0b5M005641; Tue, 9 Jul 2019 07:00:37 -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=c2DcvrN6mGvUxOUSE4DQw//p82KTc4GcH22VVTcQWxs=; b=Y/9RZ1BTz/slu2TZaKYkjIMK08C+ZNgMvN2gdg8MEyvYjY/VDgSKC5o9uXs4gk/kzFsy XagVt+3OBYCgvey/g1whB6DOrIHsDheJ5yzlmxXvTLTIw+GQjvg2I8IqCCRCaFyUcL30 gJ7hrBRcagbgZyr6JA6Hzs3jdc61DXqnME5Es53pIpQMtxL3bwu+X0rPFk0pB7xwsKl/ Dxp1cAJAUJyPZKDZVIkQHcSsDtPvVPGtL/ISreSq7HU/ePTPhAgmjtRkssEqoOePZ+zm qRmdCVeE5twx4G46RRz/wZNezuVwXrIvDUpS4Xgd5vURtCu3xt6GnDEqarB903u2/+so hQ== Received: from sc-exch02.marvell.com ([199.233.58.182]) by mx0b-0016f401.pphosted.com with ESMTP id 2tmn10hgmr-2 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-SHA384 bits=256 verify=NOT); Tue, 09 Jul 2019 07:00:36 -0700 Received: from SC-EXCH02.marvell.com (10.93.176.82) by SC-EXCH02.marvell.com (10.93.176.82) with Microsoft SMTP Server (TLS) id 15.0.1367.3; Tue, 9 Jul 2019 07:00:34 -0700 Received: from NAM01-SN1-obe.outbound.protection.outlook.com (104.47.32.51) by SC-EXCH02.marvell.com (10.93.176.82) with Microsoft SMTP Server (TLS) id 15.0.1367.3 via Frontend Transport; Tue, 9 Jul 2019 07:00:34 -0700 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=c2DcvrN6mGvUxOUSE4DQw//p82KTc4GcH22VVTcQWxs=; b=MVoT4id4L6Hw++ea1erw3/j2Kb/khqiRlzDFiJ9tMWZERDiATKXaW8ZyNiNoGNi1LIcGqo5ZCmVo/NNteLFpibL1mCnUvQLgElMgw8LNuTRDC3YxXLQx8ya/b6izyrJYXAU1xI8S9DO+xMp2UxddVQtBOIxk81GbJPFkgzwXPdo= Received: from BYAPR18MB2424.namprd18.prod.outlook.com (20.179.91.149) by BYAPR18MB2984.namprd18.prod.outlook.com (20.179.60.16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2052.18; Tue, 9 Jul 2019 14:00:30 +0000 Received: from BYAPR18MB2424.namprd18.prod.outlook.com ([fe80::2d42:12b6:aa2e:2862]) by BYAPR18MB2424.namprd18.prod.outlook.com ([fe80::2d42:12b6:aa2e:2862%4]) with mapi id 15.20.2052.020; Tue, 9 Jul 2019 14:00:30 +0000 From: Jerin Jacob Kollanukkaran To: "Burakov, Anatoly" , David Marchand CC: dev , Thomas Monjalon , Ben Walker Thread-Topic: [EXT] Re: [dpdk-dev] [PATCH] bus/pci: fix IOVA as VA mode selection Thread-Index: AQHVNZjhKCgNV8u1jkap7TUrzrcEwqbBDcAAgAAE4qCAAPgBgIAAFxWQgAAJQYCAAAKmUIAAHB2AgAADOEA= Date: Tue, 9 Jul 2019 14:00:29 +0000 Message-ID: References: <20190708142450.51597-1-jerinj@marvell.com> <0947c33d-b3be-1acc-f98e-3635cc5658d2@intel.com> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [106.200.248.176] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: f417b1db-5b11-4edf-e128-08d70475cd70 x-microsoft-antispam: BCL:0; PCL:0; RULEID:(2390118)(7020095)(4652040)(8989299)(4534185)(4627221)(201703031133081)(201702281549075)(8990200)(5600148)(711020)(4605104)(1401327)(2017052603328)(7193020); SRVR:BYAPR18MB2984; x-ms-traffictypediagnostic: BYAPR18MB2984: x-ms-exchange-purlcount: 4 x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:10000; x-forefront-prvs: 0093C80C01 x-forefront-antispam-report: SFV:NSPM; SFS:(10009020)(4636009)(366004)(136003)(39860400002)(346002)(376002)(396003)(199004)(189003)(13464003)(6306002)(966005)(53546011)(55016002)(6246003)(6436002)(53936002)(54906003)(110136005)(9686003)(102836004)(316002)(33656002)(99286004)(66066001)(6116002)(3846002)(229853002)(2906002)(68736007)(7696005)(73956011)(446003)(76176011)(5660300002)(186003)(74316002)(25786009)(486006)(7736002)(11346002)(71200400001)(71190400001)(86362001)(476003)(66556008)(66476007)(14454004)(66946007)(478600001)(66446008)(26005)(4326008)(305945005)(256004)(14444005)(8936002)(8676002)(81166006)(76116006)(64756008)(6506007)(52536014)(81156014); DIR:OUT; SFP:1101; SCL:1; SRVR:BYAPR18MB2984; H:BYAPR18MB2424.namprd18.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; A:1; MX:1; received-spf: None (protection.outlook.com: marvell.com does not designate permitted sender hosts) x-ms-exchange-senderadcheck: 1 x-microsoft-antispam-message-info: UvvPP8HT0p3gfhKEWyqZawIe7jKySSH2UF9hcYT3chuxarGzCsVSRtC2S1OslZ5XTWsKdNU27uJtX0KHLtuPwgS7XnnkXP+Y/lEQ/8bxmMGv0AYX8yj/UkEC54X2TKbB/NMzpqf3cWPZ3BlD3jVSgGUrAYUbvMmTBdHIUgfPLMjPu/iyjJiezPvUCPjS1eP6CvtauSaHrGzHG3E9AQKmg/9ouVGzIUIvKgKcm0v7+ahmZK5FXMvcTjvI1OuGB/EwiEFWKjfrUPH8576VoLGbHQ3wBaSNjy/9EcCcGbWN92Ic0Kg88s20CNaJAa8Rv+7MZ7P3B0VOwWEUP79iCSD/4iXXCGRLFZpVM5Q6Cxx2qxGNIRXYqvbihN0PvqNp480uIy4NMd1eOUzREt43ZVynxJzFu0Gj/Xu1PjEYdUiRRkU= Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-MS-Exchange-CrossTenant-Network-Message-Id: f417b1db-5b11-4edf-e128-08d70475cd70 X-MS-Exchange-CrossTenant-originalarrivaltime: 09 Jul 2019 14:00:29.9047 (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: jerinj@marvell.com X-MS-Exchange-Transport-CrossTenantHeadersStamped: BYAPR18MB2984 X-OriginatorOrg: marvell.com X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:, , definitions=2019-07-09_05:, , signatures=0 Subject: Re: [dpdk-dev] [EXT] Re: [PATCH] bus/pci: fix IOVA as VA mode selection 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" PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiBGcm9tOiBCdXJha292LCBBbmF0b2x5IDxh bmF0b2x5LmJ1cmFrb3ZAaW50ZWwuY29tPg0KPiBTZW50OiBUdWVzZGF5LCBKdWx5IDksIDIwMTkg NzowMCBQTQ0KPiBUbzogSmVyaW4gSmFjb2IgS29sbGFudWtrYXJhbiA8amVyaW5qQG1hcnZlbGwu Y29tPjsgRGF2aWQgTWFyY2hhbmQNCj4gPGRhdmlkLm1hcmNoYW5kQHJlZGhhdC5jb20+DQo+IENj OiBkZXYgPGRldkBkcGRrLm9yZz47IFRob21hcyBNb25qYWxvbiA8dGhvbWFzQG1vbmphbG9uLm5l dD47IEJlbg0KPiBXYWxrZXIgPGJlbmphbWluLndhbGtlckBpbnRlbC5jb20+DQo+IFN1YmplY3Q6 IFJlOiBbRVhUXSBSZTogW2RwZGstZGV2XSBbUEFUQ0hdIGJ1cy9wY2k6IGZpeCBJT1ZBIGFzIFZB IG1vZGUNCj4gc2VsZWN0aW9uDQo+IA0KPiBPbiAwOS1KdWwtMTkgMToxMSBQTSwgSmVyaW4gSmFj b2IgS29sbGFudWtrYXJhbiB3cm90ZToNCj4gPj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0N Cj4gPj4gRnJvbTogQnVyYWtvdiwgQW5hdG9seSA8YW5hdG9seS5idXJha292QGludGVsLmNvbT4N Cj4gPj4gU2VudDogVHVlc2RheSwgSnVseSA5LCAyMDE5IDU6MTAgUE0NCj4gPj4gVG86IEplcmlu IEphY29iIEtvbGxhbnVra2FyYW4gPGplcmluakBtYXJ2ZWxsLmNvbT47IERhdmlkIE1hcmNoYW5k DQo+ID4+IDxkYXZpZC5tYXJjaGFuZEByZWRoYXQuY29tPg0KPiA+PiBDYzogZGV2IDxkZXZAZHBk ay5vcmc+OyBUaG9tYXMgTW9uamFsb24gPHRob21hc0Btb25qYWxvbi5uZXQ+Ow0KPiBCZW4NCj4g Pj4gV2Fsa2VyIDxiZW5qYW1pbi53YWxrZXJAaW50ZWwuY29tPg0KPiA+PiBTdWJqZWN0OiBSZTog W0VYVF0gUmU6IFtkcGRrLWRldl0gW1BBVENIXSBidXMvcGNpOiBmaXggSU9WQSBhcyBWQQ0KPiA+ PiBtb2RlIHNlbGVjdGlvbg0KPiA+Pj4+PiBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fDQo+ID4+Pj4+DQo+ID4+Pj4+IE9uIE1vbiwgSnVsIDgsIDIwMTkgYXQgNDoyNSBQ TSA8bWFpbHRvOmplcmluakBtYXJ2ZWxsLmNvbT4gd3JvdGU6DQo+ID4+Pj4+IEZyb206IEplcmlu IEphY29iIDxtYWlsdG86amVyaW5qQG1hcnZlbGwuY29tPg0KPiA+Pj4+Pg0KPiA+Pj4+PiBFeGlz dGluZyBsb2dpYyBmYWlscyB0byBzZWxlY3QgSU9WQSBtb2RlIGFzIFZBIGlmIGRyaXZlciByZXF1 ZXN0DQo+ID4+Pj4+IHRvIGVuYWJsZSBJT1ZBIGFzIFZBLg0KPiA+Pj4+Pg0KPiA+Pj4+PiBJT1ZB IGFzIFZBIGhhcyBtb3JlIHN0cmljdCByZXF1aXJlbWVudCB0aGFuIG90aGVyIG1vZGVzLCBzbw0K PiA+Pj4+PiBlbmFibGluZyBwb3NpdGl2ZSBsb2dpYyBmb3IgSU9WQSBhcyBWQSBzZWxlY3Rpb24u DQo+ID4+Pj4+DQo+ID4+Pj4+IFRoaXMgcGF0Y2ggYWxzbyB1cGRhdGVzIHRoZSBkZWZhdWx0IElP VkEgbW9kZSBhcyBQQSBmb3IgUENJDQo+ID4+Pj4+IGRldmljZXMgYXMgaXQgaGFzIHRvIGRlYWwg d2l0aCBETUEgZW5naW5lcyB1bmxpa2UgdGhlIHZpcnR1YWwNCj4gPj4+Pj4gZGV2aWNlcyB0aGF0 IG1heSBuZWVkIG9ubHkgSU9WQSBhcyBEQy4NCj4gPj4+Pj4NCj4gPj4+Pj4gV2UgaGF2ZSB0aHJl ZSBjYXNlczoNCj4gPj4+Pj4gLSBkcml2ZXIvaHcgc3VwcG9ydHMgSU9WQSBhcyBQQSBvbmx5DQo+ ID4+Pj4+DQo+ID4+Pj4+IFtKZXJpbl0gSXQgaXMgbm90IGRyaXZlciBjYXAsIGl0IGlzIG1vcmUg b2Ygc3lzdGVtIGNhcChJT01NVSB2cw0KPiA+Pj4+PiBub24gSU9NTVUpLiBXZSBhcmUgYWxyZWFk eSBhZGRyZXNzaW5nIHRoYXQgY2FzZQ0KPiA+Pj4+DQo+ID4+Pj4gSSBkb24ndCBnZXQgaG93IHRo aXMgd29ya3MuIEhvdyBkb2VzICJzeXN0ZW0gY2FwYWJpbGl0eSIgYWZmZWN0DQo+ID4+Pj4gd2hh dCB0aGUgZGV2aWNlIGl0c2VsZiBzdXBwb3J0cz8gQXJlIHdlIHRvIGFzc3VtZSB0aGF0ICphbGwq DQo+ID4+Pj4gaGFyZHdhcmUgc3VwcG9ydCBJT1ZBIGFzIFZBIGJ5IGRlZmF1bHQ/ICJTeXN0ZW0g Y2FwYWJpbGl0eSIgaXMgbW9yZQ0KPiA+Pj4+IG9mIGEgYnVzIGlzc3VlIHRoYW4gYW4gaW5kaXZp ZHVhbCBkZXZpY2UgaXNzdWUsIGlzIGl0IG5vdD8NCj4gPj4+DQo+ID4+PiBXaGF0IEkgbWVhbnQg aXMsIHN1cHBvcnRpbmcgVkEgdnMgUEEgaXMgZnVuY3Rpb24gb2YgSU9NTVUobm90IHRoZQ0KPiA+ Pj4gZGV2aWNlDQo+ID4+IGF0dHJpYnV0ZSkuDQo+ID4+PiBJZS4gRGV2aWNlIG1ha2VzIHRoZSAg YnVzIG1hc3RlciByZXF1ZXN0LCBpZiBJT01NVSBhdmFpbGFibGUgYW5kDQo+ID4+PiBlbmFibGVk IGluIHRoZSBTWVNURU0gLCBJdCBnb2VzIG92ZXIgSU9NTVUgIGFuZCB0cmFuc2xhdGUgdGhlIElP VkENCj4gPj4+IHRvDQo+ID4+IHBoeXNpY2FsIGFkZHJlc3MuDQo+ID4+Pg0KPiA+Pj4gQW5vdGhl ciB3YXkgdG8gcHV0IGlzLCBJcyB0aGVyZSBhbnkgX1BDSWVfIGRldmljZSB3aGljaA0KPiA+Pj4g bmVlZC9yZXF1aXJlcyBSVEVfUENJX0RSVl9ORUVEX0lPVkFfQVNfUEEgaW4NCj4gPj4+IHJ0ZV9w Y2lfZHJpdmVyLmRydl9mbGFncw0KPiA+Pj4NCj4gPj4+DQo+ID4+DQo+ID4+IFByZXZpb3VzbHks IGFzIGZhciBhcyBpIGNhbiB0ZWxsLCB0aGUgZmxhZyB3YXMgdXNlZCB0byBpbmRpY2F0ZQ0KPiA+ PiBzdXBwb3J0IGZvciBJT1ZBIGFzIFZBIG1vZGUsIG5vdCAqcmVxdWlyZW1lbnQqIGZvciBJT1ZB IGFzIFZBIG1vZGUuDQo+ID4+IEZvciBleGFtcGxlLCB0aGVyZSBhcmUgbXVsdGlwbGUgcGF0Y2hl cyBbMV1bMl1bM11bNF0gKGknbSBzdXJlIGkgY2FuDQo+ID4+IGZpbmQgbW9yZSEpIHRoYXQgYWRk ZWQgSU9WQSBhcyBWQSBzdXBwb3J0IHRvIHZhcmlvdXMgZHJpdmVycywgYW5kDQo+ID4+IHRoZXkg YWxsIHdlcmUgd29yZGVkIGl0IGluIHRoaXMgZXhhY3Qgd2F5DQo+ID4+IC0gInN1cHBvcnQgZm9y IElPVkEgYXMgVkEgbW9kZSIsIG5vdCAicmVxdWlyZSBJT1ZBIGFzIFZBIG1vZGUiLiBBcw0KPiA+ PiBmYXIgYXMgaSBjYW4gdGVsbCwgbm9uZSBvZiB0aGVzZSBkcml2ZXJzICpyZXF1aXJlKiBJT1ZB IGFzIFZBIG1vZGUgLQ0KPiA+PiB0aGV5IG1lcmVseSB1c2UgdGhpcyBmbGFnIHRvIGluZGljYXRl IHN1cHBvcnQgZm9yIGl0Lg0KPiA+DQo+ID4gU29tZSBjbGFzcyBvZiBkZXZpY2VzIE5FRUQgSU9W QSBhcyBWQSBmb3IgcGVyZm9ybWFuY2UgcmVhc29ucy4NCj4gPiBTcGVjaWFsbHkgdGhlIGRldmlj ZXMgaGFzIEhXIG1lbXBvb2wgYWxsb2NhdG9ycy4gT24gdGhvc2UgZGV2aWNlcyBJZg0KPiA+IHdl IGRvbuKAmXQgdXNlIElPVkEgYXMgVkEsIFVwb24gZ2V0dGluZyBwYWNrZXQgZnJvbSBkZXZpY2Us IEl0IG5lZWRzIHRvDQo+ID4gZ28gb3ZlciBydGVfbWVtX2lvdmEydmlydCgpIHBlciBwYWNrZXQg c2VlIGRyaXZlci9uZXQvZHBwYTIuIFdoaWNoIGhhcw0KPiByZWFsIHBlcmZvcm1hbmNlIGlzc3Vl Lg0KPiANCj4gSSB3b3VsZG4ndCBjbGFzc2lmeSB0aGlzIGFzICJuZWVkaW5nIiBJT1ZBLiAiTmVl ZCIgaW1wbGllcyBpdCBjYW5ub3Qgd29yaw0KPiB3aXRob3V0IGl0LCB3aGVyZWFzIGluIHRoaXMg Y2FzZSBpdCdzIG1vcmUgb2YgYSAiaGlnaGx5IHJlY29tbWVuZGVkIiByYXRoZXINCj4gdGhhbiAi bmVlZCIuDQoNCkl0IGlzICJuZWVkIiBhcyBwZXJmb3JtYW5jZSBpcyBob3JyaWJsZSB3aXRob3V0 IGl0IGFzIGlzIHBlciBwYWNrZXQgU1cgdHJhbnNsYXRpb24uDQpBICJuZWVkIiBmb3IgRFBESyBw ZXJmb3JtYW5jZSBwZXJzcGVjdGl2ZS4NCg0KPiANCj4gPj4NCj4gPj4gTm93IHN1ZGRlbmx5IGl0 IHR1cm5zIG91dCB0aGF0IHNvbWVvbmUgc29tZXdoZXJlICJrbmV3IiB0aGF0ICJJT1ZBDQo+IGFz DQo+ID4+IFZBIiBmbGFnIGluIFBDSSBkcml2ZXJzIGlzIHN1cHBvc2VkIHRvIGluZGljYXRlICpy ZXF1aXJlbWVudCogYW5kIG5vdA0KPiA+PiBzdXBwb3J0LCBhbmQgaXQgYXBwZWFycyB0aGF0IHRo aXMga25vd2xlZGdlIHdhcyBub3QgY29tbXVuaWNhdGVkIG5vcg0KPiA+PiBkb2N1bWVudGVkIGFu eXdoZXJlLCBhbmQgaXMgbm93IHRyZWF0ZWQgYXMgY29tbW9uIGtub3dsZWRnZS4NCj4gPg0KPiA+ IEkgdGhpbmssIHRoZSBjb25mdXNpb24gaGVyZSBpcywgIEkgd2FzIHVuZGVyIGltcHJlc3Npb24g dGhhdCAjIElmDQo+ID4gZGV2aWNlIHN1cHBvcnRzIElPVkEgYXMgVkEgYW5kIHN5c3RlbSBydW5z IHdpdGggSU9NTVUgdGhlbiB0aGUgIGRwZGsNCj4gPiBzaG91bGQgcnVuIGluIElPVkEgYXMgVkEg bW9kZS4NCj4gPiBJZiBhYm92ZSBzdGF0ZW1lbnQgdHJ1ZSB0aGVuIHdlIGRvbuKAmXQgcmVhbGx5 IG5lZWQgYSBuZXcgZmxhZy4NCj4gDQo+IEV4YWN0bHkuIEFuZCB0aGUgZmxhZyB1c2VkIHRvIGlu ZGljYXRlIHRoYXQgdGhlIGRldmljZSAqc3VwcG9ydHMqIElPVkEgYXMgVkEsDQo+IG5vdCB0aGF0 IGl0ICpyZXF1aXJlcyogaXQuDQo+IA0KPiA+DQo+ID4gQ291cGxlIG9mIHBvaW50cyB0byBtYWtl IGZvcndhcmQgcHJvZ3Jlc3M6DQo+ID4gIyBJZiB3ZSB0aGluaywgdGhlcmUgaXMgYSB1c2UgY2Fz ZSB3aGVyZSBkZXZpY2UgaXMgSU9WQSBhcyBWQSBBbmQNCj4gPiBzeXN0ZW0gcnVucyBpbiBJT01N VSBtb2RlIHRoZW4gZm9yIHNvbWUgcmVhc29uIERQREsgbmVlZHMgdG8gcnVuIGluDQo+IFBBDQo+ ID4gbW9kZS4gSWYgc28sIHdlIG5lZWQgdG8gY3JlYXRlIHR3byBmbGFncyBSVEVfUENJX0RSVl9J T1ZBX0FTX1ZBIC0gaXQNCj4gPiBjYW4gcnVuIGVpdGhlciBtb2Rlcw0KPiANCj4gVGhlcmUgYXJl IHVzZSBjYXNlcyAtIEtOSSBhbmQgaWdiX3VpbyBjb21lIHRvIG1pbmQuIFdoZXRoZXIgSU9NTVUg dXNlcw0KPiBWQSBvciBQQSBpcyBhIGRpZmZlcmVudCBmcm9tIHdoZXRoZXIgSU9NTVUgaXMgaW4g dXNlIC0gdGhlcmUgaXMgbm8gbGF3IHRoYXQNCj4gc3RhdGVzIHRoYXQsIHdoZW4gdXNpbmcgSU9N TVUsIElPVkEgaGF2ZSB0byBoYXZlIDE6MSBtYXBwaW5nIHdpdGggVkEuDQo+IElPTU1VIHJlcXVp cmVtZW50IGRvZXMgbm90IG5lY2Vzc2FyaWx5IGltcGx5IElPVkEgYXMgVkEgLSBpdCBpcyBwZXJm ZWN0bHkNCj4gbGVnYWwgdG8gcHJvZ3JhbSBJT01NVSB0byB1c2UgSU9WQSBhcyBQQSAod2hpY2gg d2UgY3VycmVudGx5IGRvIHdoZW4gd2UNCj4gZS5nLiB1c2UgVkZJTyBmb3Igc29tZSBkZXZpY2Vz IGFuZCBpZ2JfdWlvIGZvciBvdGhlcnMpLg0KDQpGb3IgS05JLCB3ZSBhbHJlYWR5IHN1Ym1pdHRl ZCBhIHBhdGNoIHRvIHN1cHBvcnQgSU9WQSBhcyBWQS4NCkkgZG9u4oCZdCBrbm93IGFib3V0IGln Yl91aW8sIGlmIElPVkEgYXMgUEEsIHdlIG1pZ2h0IGFzIHdlbGwgZGlzYWJsZSBJT01NVS4NCklz IGlnYl91aW8gZW5hYmxlcyBJT01NVT8gSSBkb27igJl0IHNlZSBhbnkgcmVmZXJlbmNlLg0KZ3Jl cCAtcmkgImlvbW11IiBrZXJuZWwvbGludXgvaWdiX3Vpby8NCg0KQWdhaW4sIGl0IGlzIG5vdCBk ZXZpY2UgYXR0cmlidXRlLCBpdCBpcyBzeXN0ZW0gYXR0cmlidXRlLiBJbiBjdXJyZW50IEtOSSBj YXNlIGl0DQpGYWxsIGJhY2tzIHRvIFBBIGlycmVzcGVjdGl2ZSBvZiBkZXZpY2UgY2FwYWJpbGl0 eSBzbyB3ZSBkb27igJl0IG5lZWQgYW55DQpzZXBhcmF0ZSBmbGFnIGZyb20gZHJpdmVyLg0KDQpF dmVuIGlmIHdlIGludHJvZHVjZSBhIGZsYWcsIHdoYXQgaXQgaXMgc3VwcG9zZWQgdG8gZG8/DQoN Cj4gDQo+ID4gUlRFX1BDSV9EUlZfTkVFRF9JT1ZBX0FTX1ZBIC0gaXQgY2FuIHJ1biBvbmx5IG9u IElPVkEgYXMgVkENCj4gDQo+IElmIHdlJ3JlIGFkZGluZyBhIGZsYWcsIHdlIG1pZ2h0IGFzIHdl bGwgbm90IGNyZWF0ZSBhIGNvbmZ1c2lvbiBhbmQgZG8gaXQNCj4gY29uc2lzdGVudGx5LiBJZiBJ T1ZBIGFzIFBBIGlzIHN1cHBvcnRlZCwgaGF2ZSBhIGZsYWcgdG8gaW5kaWNhdGUgdGhhdC4gSWYg SU9WQQ0KPiBhcyBWQSBpcyBzdXBwb3J0ZWQsIGhhdmUgYSBmbGFnIHRvIGluZGljYXRlIHRoYXQu IEFic2VuY2Ugb2YgZWl0aGVyIGZsYWcgaW1wbGllcw0KDQpTbyBpbiB3aGF0IGNhdGVnb3J5IGk0 MGUgZHJpdmVyIGNvbWVzPyBCeSBkZWZhdWx0LCBwY2kgYnVzIHNob3VsZCByZXR1cm4gUEEgZm9y IGNsYXNzLg0KSWYgVkEgc3VwcG9ydGVkIHRoZW4gcmV0dXJuIFZBLg0KU28gaG93IG5ldyBmbGFn IHdpbGwgaGVscD8gDQoNCj4gaW5hYmlsaXR5IHRvIHdvcmsgaW4gdGhhdCBtb2RlLiBJIGRvbid0 IHNlZSBob3cgdGhpcyBpcyBsZXNzIGNsZWFyIGFuZCBzZWxmLQ0KPiBkb2N1bWVudGluZyB0aGFu IGhhdmluZyB0d28gSU9WQSBhcyBWQS1yZWxhdGVkIGZsYWdzIHRoYXQgaGF2ZSBzbGlnaHRseQ0K PiBkaWZmZXJlbnQgbWVhbmluZyBhbmQgaW1wbHkgdGhpbmdzIG5vdCBvdGhlcndpc2Ugc3RhdGVk IGV4cGxpY2l0bHkuDQo+IA0KPiA+ICMgV2l0aCB0b3Agb2YgdHJlZSwgQ3VycmVudGx5IGl0IG5l dmVyIHJ1bnMgaW4gSU9WQSBhcyBWQSBtb2RlLg0KPiA+IFRoYXTigJlzIGEgc2VwYXJhdGUgcHJv YmxlbSB0byBmaXguIFdoaWNoIGVmZmVjdCBhbGwgdGhlIGRldmljZXMNCj4gPiBDdXJyZW50bHkg c3VwcG9ydGluZyBSVEVfUENJX0RSVl9JT1ZBX0FTX1ZBLiBJZSBldmVuIHRob3VnaCBEZXZpY2UN Cj4gPiBzdXBwb3J0IFJURV9QQ0lfRFJWX0lPVkFfQVNfVkEsIGl0IGlzIG5vdCBydW5uaW5nIFdp dGggSU9NTVUNCj4gPiBwcm90ZWN0aW9uIGFuZC9vciByb290IHByaXZpbGVnZSBpcyByZXF1aXJl ZCB0byBydW4gRFBESy4NCg0KV2hhdCdzIHlvdXIgdmlldyBvbiB0aGlzIGV4aXN0aW5nIHByb2Js ZW0/DQoNCg0KPiA+DQo+ID4NCj4gPj4NCj4gPj4gWzFdIGh0dHA6Ly9wYXRjaHdvcmsuZHBkay5v cmcvcGF0Y2gvNTMyMDYvDQo+ID4+IFsyXSBodHRwOi8vcGF0Y2h3b3JrLmRwZGsub3JnL3BhdGNo LzUwMjc0Lw0KPiA+PiBbM10gaHR0cDovL3BhdGNod29yay5kcGRrLm9yZy9wYXRjaC81MDk5MS8N Cj4gPj4gWzRdIGh0dHA6Ly9wYXRjaHdvcmsuZHBkay5vcmcvcGF0Y2gvNDYxMzQvDQo+ID4+DQo+ ID4+IC0tDQo+ID4+IFRoYW5rcywNCj4gPj4gQW5hdG9seQ0KPiANCj4gDQo+IC0tDQo+IFRoYW5r cywNCj4gQW5hdG9seQ0K