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 01AEEA0561; Tue, 21 Apr 2020 10:30:27 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id B6E371D90F; Tue, 21 Apr 2020 10:30:26 +0200 (CEST) Received: from mga14.intel.com (mga14.intel.com [192.55.52.115]) by dpdk.org (Postfix) with ESMTP id 703531D8F3 for ; Tue, 21 Apr 2020 10:30:24 +0200 (CEST) IronPort-SDR: bTI4128iqAqDb0sLsNLpobJ98gZWk9fnZ1yZSjJ7jZ0SHxuRaSD/GXbLLos4LZcpoCWxwUPbOS RMw1kvMUBclQ== X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga003.fm.intel.com ([10.253.24.29]) by fmsmga103.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 21 Apr 2020 01:30:23 -0700 IronPort-SDR: puT/tKzpYZCg73Gkktw3gQPXeAv+3zbAtiS1RHfZPV2FrPwRyHNOiwkXh9ms1dU0ZyxAy4Eity 43SmNHuFF+hg== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.72,409,1580803200"; d="scan'208";a="300541156" Received: from orsmsx110.amr.corp.intel.com ([10.22.240.8]) by FMSMGA003.fm.intel.com with ESMTP; 21 Apr 2020 01:30:23 -0700 Received: from orsmsx603.amr.corp.intel.com (10.22.229.16) by ORSMSX110.amr.corp.intel.com (10.22.240.8) with Microsoft SMTP Server (TLS) id 14.3.439.0; Tue, 21 Apr 2020 01:30:23 -0700 Received: from orsmsx603.amr.corp.intel.com (10.22.229.16) by ORSMSX603.amr.corp.intel.com (10.22.229.16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5; Tue, 21 Apr 2020 01:30:22 -0700 Received: from ORSEDG002.ED.cps.intel.com (10.7.248.5) by orsmsx603.amr.corp.intel.com (10.22.229.16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256) id 15.1.1713.5 via Frontend Transport; Tue, 21 Apr 2020 01:30:22 -0700 Received: from NAM11-CO1-obe.outbound.protection.outlook.com (104.47.56.171) by edgegateway.intel.com (134.134.137.101) with Microsoft SMTP Server (TLS) id 14.3.439.0; Tue, 21 Apr 2020 01:30:19 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=BSLvcquvSxdfvTKrTL0/Og/oA3aOiGM4ydHBKEch6OHDLhYqCRZCfdz7q2RQr95FQRxgCELxgrA9R5MMcvJwZ9dEGxg2yxDRsezA6gJ1KPiio/F0Dv6NS3poEwbLqoM2zKH/G+jogypbNjd0k1AU0V1TKIkya17BhUVg0w54syizbEQf7B2l2MjCwpSrT+7UyG/y3H2DZgLiQg4EAX7dhHOUCUzVcIMuUekMGLJLfFon/TPiQUhmM4yToyiiwizINCamIhU21l2IHvAkgmw4OOEuVcR/3WeMQ/4VML3WZBP53IID5Ec1ApLIngqTxh9f71OXQkeH6Fw4mqXux/Fwfw== 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=KdFspmtAylZjDDaS7C9Y25pi3xB2XJot1CQB9ek4Jg4=; b=C2JwNBlACm3WwMhgetX17ZOi5IJziG1lHXMOi1II+DFYXPnYwHhsul6xrodnrOsmcqdc0PEORzQxu78on/DeLt8Fkacs36+vdnSukbg80Os9h68KZMbS5UND3J9yk9Sf5FKzrsSub1RGzzufieDvH/sOoiKBQUf72H3sQNj48lSLAcG7sK0kE9JxMZNwc1VhIoBsUpSwWUKtdSQXCY/ulN1KsDo1Ha6G8Heo9Ni2z1aJB9smzTClAUpw520KCu0QzktiIXseOORRh2ABdnyUC65RHkR2b0ipK1X9TQavrj4A0+HsFUXKr+xD1J0zQHEAOWJMPNeKfmkm/Feqbi7fHQ== 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=KdFspmtAylZjDDaS7C9Y25pi3xB2XJot1CQB9ek4Jg4=; b=s6cs0x61uRwpIkXlmXf/GzQafFHqgicE5KMTe8TZYPF02ULsAlchU/Wfg/Lq5D2ePGGzNxuHqC9eFyZal43IHeL6HZ7GXvIcFp761V7PyqC3e4jm35gR/wVQaS8Ki9wnJDmTkSQNRYpD4SrkQr1IhZgaED+dpY/dKvMe44OUfuA= Received: from BYAPR11MB2552.namprd11.prod.outlook.com (2603:10b6:a02:c7::22) by BYAPR11MB3768.namprd11.prod.outlook.com (2603:10b6:a03:fa::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2921.29; Tue, 21 Apr 2020 08:30:14 +0000 Received: from BYAPR11MB2552.namprd11.prod.outlook.com ([fe80::dd18:6352:15ad:d48b]) by BYAPR11MB2552.namprd11.prod.outlook.com ([fe80::dd18:6352:15ad:d48b%3]) with mapi id 15.20.2937.012; Tue, 21 Apr 2020 08:30:14 +0000 From: "Liang, Cunming" To: Jerin Jacob , "Fu, Patrick" CC: Maxime Coquelin , "dev@dpdk.org" , "Ye, Xiaolong" , "Hu, Jiayu" , "Wang, Zhihong" Thread-Topic: [dpdk-dev] [RFC] Accelerating Data Movement for DPDK vHost with DMA Engines Thread-Index: AdYUh8uPQ3eFooe1TrqrGBybiMJ/hAABqwgAAAD4G4AAAF4tgAABmmCAAAEAmYAAiiLxIAAPeYaAAAEThgAAAN55gAAADbWAAAAsjgAAHluOAAAG94WAAAIgpQA= Date: Tue, 21 Apr 2020 08:30:14 +0000 Message-ID: References: <89B17B9B05A1964E8D40D6090018F28151277ADF@SHSMSX107.ccr.corp.intel.com> <89B17B9B05A1964E8D40D6090018F28151277C5C@SHSMSX107.ccr.corp.intel.com> <8e4691c5-3e58-fb5d-f1f5-6b9c994c3949@redhat.com> <89B17B9B05A1964E8D40D6090018F28151277D4F@SHSMSX107.ccr.corp.intel.com> <0aaa4b51-f705-1dc4-db60-00e9084db2ea@redhat.com> <89B17B9B05A1964E8D40D6090018F2815127AE8D@SHSMSX107.ccr.corp.intel.com> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-version: 11.2.0.6 dlp-product: dlpe-windows dlp-reaction: no-action authentication-results: spf=none (sender IP is ) smtp.mailfrom=cunming.liang@intel.com; x-originating-ip: [192.55.52.200] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: efb4e15a-6f48-4277-1d8b-08d7e5ce3716 x-ms-traffictypediagnostic: BYAPR11MB3768: 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:10000; x-forefront-prvs: 038002787A x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:BYAPR11MB2552.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFTY:; SFS:(10019020)(396003)(376002)(39860400002)(346002)(136003)(366004)(54906003)(9686003)(8676002)(81156014)(110136005)(26005)(86362001)(8936002)(316002)(55016002)(186003)(53546011)(6506007)(478600001)(66946007)(7696005)(33656002)(76116006)(66446008)(107886003)(4326008)(64756008)(66556008)(66476007)(2906002)(52536014)(71200400001)(6636002)(5660300002); DIR:OUT; SFP:1102; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: 841cRxtECgiJk9/KKmGaRMI/h15bwXFweUxGg/BZp7I8rn0HkyD7Hoqh0z77//ra9GEvaWgtz8j7FzLsl47Hef9/UGF5Gz9ZoOLqOEDgnSONIIVDKJkJMp6uNTn/AiSLscgqlXn/4ozldhGDX1MX8JFDAjsTxGDypShcNxrwW20zT5pDWoOodBs8ByO5rV0o7YmI1OQsvJSwD2OuIi3E87fMeIOlzLGv7yI+8L21PPyLIGrssRyUUKvlGECOPMJ1CJZ2xdymASXIvSdgl/R7ondlenZKqzoyc0TJ2DBxu+cxcxs+zMgHzJNjHAjoHdCcy5Uckk8gYMpCSUYYRn8D8ZvQiVw0cOEcnPk2cadOoYN7j4rAHFmhFnRcOj3Nhw6CtZSQiJvISHmi/DUgYzq2Zudy3nMpdAgnIOsvqDrhdG9P7si09U/IdS0Ae9NM8nPF x-ms-exchange-antispam-messagedata: Q8oCOR2hRzpo92xpA7nvoD/FCYK8U5rm5vu+oQ/rd471zj4CeMj4HjyrNXfB37MWIgjewtbIojQO0/cp3xgeH4YKTu/8n0yAsUne2niBS1bZZqKdrao6NpJXXeG2oJAI2uabUnZb8afevskybAFw9Q== Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-MS-Exchange-CrossTenant-Network-Message-Id: efb4e15a-6f48-4277-1d8b-08d7e5ce3716 X-MS-Exchange-CrossTenant-originalarrivaltime: 21 Apr 2020 08:30:14.4145 (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: U/RmuS1yvgLYI0Pco4tl7z1IjQ4ZqpBqBY9tZJY7QVwLvO3mTp5uZI5x5r3LdVpeoTk9xh1tuqRePg7mttERqQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: BYAPR11MB3768 X-OriginatorOrg: intel.com Subject: Re: [dpdk-dev] [RFC] Accelerating Data Movement for DPDK vHost with DMA Engines 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" SGkgSmVyaW4sDQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogSmVyaW4g SmFjb2IgPGplcmluamFjb2JrQGdtYWlsLmNvbT4NCj4gU2VudDogVHVlc2RheSwgQXByaWwgMjEs IDIwMjAgMjowNCBQTQ0KPiBUbzogRnUsIFBhdHJpY2sgPHBhdHJpY2suZnVAaW50ZWwuY29tPg0K PiBDYzogTWF4aW1lIENvcXVlbGluIDxtYXhpbWUuY29xdWVsaW5AcmVkaGF0LmNvbT47IExpYW5n LCBDdW5taW5nDQo+IDxjdW5taW5nLmxpYW5nQGludGVsLmNvbT47IGRldkBkcGRrLm9yZzsgWWUs IFhpYW9sb25nDQo+IDx4aWFvbG9uZy55ZUBpbnRlbC5jb20+OyBIdSwgSmlheXUgPGppYXl1Lmh1 QGludGVsLmNvbT47IFdhbmcsIFpoaWhvbmcNCj4gPHpoaWhvbmcud2FuZ0BpbnRlbC5jb20+DQo+ IFN1YmplY3Q6IFJlOiBbZHBkay1kZXZdIFtSRkNdIEFjY2VsZXJhdGluZyBEYXRhIE1vdmVtZW50 IGZvciBEUERLIHZIb3N0IHdpdGgNCj4gRE1BIEVuZ2luZXMNCj4gDQo+IE9uIFR1ZSwgQXByIDIx LCAyMDIwIGF0IDg6MTQgQU0gRnUsIFBhdHJpY2sgPHBhdHJpY2suZnVAaW50ZWwuY29tPiB3cm90 ZToNCj4gPg0KPiA+IEhpIEplcmluDQo+IA0KPiBIaSBQYXRyaWNrLA0KPiANCj4gPg0KPiA+ID4g LS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gPiA+IEZyb206IEplcmluIEphY29iIDxqZXJp bmphY29ia0BnbWFpbC5jb20+DQo+ID4gPiBTZW50OiBNb25kYXksIEFwcmlsIDIwLCAyMDIwIDg6 MTUgUE0NCj4gPiA+IFRvOiBNYXhpbWUgQ29xdWVsaW4gPG1heGltZS5jb3F1ZWxpbkByZWRoYXQu Y29tPg0KPiA+ID4gQ2M6IExpYW5nLCBDdW5taW5nIDxjdW5taW5nLmxpYW5nQGludGVsLmNvbT47 IEZ1LCBQYXRyaWNrDQo+ID4gPiA8cGF0cmljay5mdUBpbnRlbC5jb20+OyBkZXZAZHBkay5vcmc7 IFllLCBYaWFvbG9uZw0KPiA+ID4gPHhpYW9sb25nLnllQGludGVsLmNvbT47IEh1LCBKaWF5dSA8 amlheXUuaHVAaW50ZWwuY29tPjsgV2FuZywNCj4gPiA+IFpoaWhvbmcgPHpoaWhvbmcud2FuZ0Bp bnRlbC5jb20+DQo+ID4gPiBTdWJqZWN0OiBSZTogW2RwZGstZGV2XSBbUkZDXSBBY2NlbGVyYXRp bmcgRGF0YSBNb3ZlbWVudCBmb3IgRFBESw0KPiA+ID4gdkhvc3Qgd2l0aCBETUEgRW5naW5lcw0K PiA+ID4NCj4gPiA+IE9uIE1vbiwgQXByIDIwLCAyMDIwIGF0IDU6NDAgUE0gTWF4aW1lIENvcXVl bGluDQo+ID4gPiA8bWF4aW1lLmNvcXVlbGluQHJlZGhhdC5jb20+IHdyb3RlOg0KPiA+ID4gPg0K PiA+ID4gPg0KPiA+ID4gPg0KPiA+ID4gPiBPbiA0LzIwLzIwIDI6MDggUE0sIEplcmluIEphY29i IHdyb3RlOg0KPiA+ID4gPiA+IE9uIE1vbiwgQXByIDIwLCAyMDIwIGF0IDU6MTQgUE0gTWF4aW1l IENvcXVlbGluDQo+ID4gPiA+ID4gPG1heGltZS5jb3F1ZWxpbkByZWRoYXQuY29tPiB3cm90ZToN Cj4gPiA+ID4gPj4NCj4gPiA+ID4gPj4NCj4gPiA+ID4gPj4NCj4gPiA+ID4gPj4gT24gNC8yMC8y MCAxOjEzIFBNLCBKZXJpbiBKYWNvYiB3cm90ZToNCj4gPiA+ID4gPj4+IE9uIE1vbiwgQXByIDIw LCAyMDIwIGF0IDE6MjkgUE0gTGlhbmcsIEN1bm1pbmcNCj4gPiA+IDxjdW5taW5nLmxpYW5nQGlu dGVsLmNvbT4gd3JvdGU6DQo+ID4gPiA+ID4+Pj4NCj4gPiA+ID4gPj4+Pg0KPiA+ID4gPiA+Pj4+ DQo+ID4gPiA+ID4+Pj4+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+ID4gPiA+ID4+Pj4+ IEZyb206IEplcmluIEphY29iIDxqZXJpbmphY29ia0BnbWFpbC5jb20+DQo+ID4gPiA+ID4+Pj4+ IFNlbnQ6IEZyaWRheSwgQXByaWwgMTcsIDIwMjAgNTo1NSBQTQ0KPiA+ID4gPiA+Pj4+PiBUbzog RnUsIFBhdHJpY2sgPHBhdHJpY2suZnVAaW50ZWwuY29tPg0KPiA+ID4gPiA+Pj4+PiBDYzogTWF4 aW1lIENvcXVlbGluIDxtYXhpbWUuY29xdWVsaW5AcmVkaGF0LmNvbT47DQo+ID4gPiBkZXZAZHBk ay5vcmc7DQo+ID4gPiA+ID4+Pj4+IFllLCBYaWFvbG9uZyA8eGlhb2xvbmcueWVAaW50ZWwuY29t PjsgSHUsIEppYXl1DQo+ID4gPiA+ID4+Pj4+IDxqaWF5dS5odUBpbnRlbC5jb20+OyBXYW5nLCBa aGlob25nDQo+ID4gPiA+ID4+Pj4+IDx6aGlob25nLndhbmdAaW50ZWwuY29tPjsgTGlhbmcsIEN1 bm1pbmcNCj4gPiA+ID4gPj4+Pj4gPGN1bm1pbmcubGlhbmdAaW50ZWwuY29tPg0KPiA+ID4gPiA+ Pj4+PiBTdWJqZWN0OiBSZTogW2RwZGstZGV2XSBbUkZDXSBBY2NlbGVyYXRpbmcgRGF0YSBNb3Zl bWVudCBmb3INCj4gPiA+ID4gPj4+Pj4gRFBESyB2SG9zdCB3aXRoIERNQSBFbmdpbmVzDQo+ID4g PiA+ID4+Pj4+DQo+ID4gPiA+ID4+Pj4+IE9uIEZyaSwgQXByIDE3LCAyMDIwIGF0IDI6NTYgUE0g RnUsIFBhdHJpY2sNCj4gPiA+ID4gPj4+Pj4gPHBhdHJpY2suZnVAaW50ZWwuY29tPg0KPiA+ID4g d3JvdGU6DQo+ID4gPiA+ID4+Pj4+Pg0KPiA+ID4gPiA+Pj4+Pj4NCj4gPiA+ID4gPj4+PiBbLi4u XQ0KPiA+ID4gPiA+Pj4+Pj4+Pg0KPiA+ID4gPiA+Pj4+Pj4+PiBJIGJlbGlldmUgaXQgZG9lc24n dCBjb25mbGljdC4gVGhlIHB1cnBvc2Ugb2YgdGhpcyBSRkMgaXMNCj4gPiA+ID4gPj4+Pj4+Pj4g dG8gY3JlYXRlIGFuIGFzeW5jDQo+ID4gPiA+ID4+Pj4+Pj4gZGF0YSBwYXRoIGluIHZob3N0LXVz ZXIgYW5kIHByb3ZpZGUgYSB3YXkgZm9yIGFwcGxpY2F0aW9ucw0KPiA+ID4gPiA+Pj4+Pj4+IHRv IHdvcmsgd2l0aCB0aGlzIG5ldyBwYXRoLiBkbWFkZXYgaXMgYW5vdGhlciB0b3BpYyB3aGljaA0K PiA+ID4gPiA+Pj4+Pj4+IGNvdWxkIGJlIGRpc2N1c3NlZCBzZXBhcmF0ZWx5LiBJZiB3ZSBkbyBo YXZlIHRoZSBkbWFkZXYNCj4gPiA+ID4gPj4+Pj4+PiBhdmFpbGFibGUgaW4gdGhlIGZ1dHVyZSwg dGhpcyB2aG9zdCBhc3luYyBkYXRhIHBhdGggY291bGQNCj4gPiA+ID4gPj4+Pj4+PiBjZXJ0YWlu bHkgYmUgYmFja2VkIGJ5IHRoZSBuZXcgZG1hIGFic3RyYWN0aW9uIHdpdGhvdXQNCj4gPiA+ID4g Pj4+Pj4+PiBtYWpvciBpbnRlcmZhY2UNCj4gPiA+IGNoYW5nZS4NCj4gPiA+ID4gPj4+Pj4+Pg0K PiA+ID4gPiA+Pj4+Pj4+IE1heWJlIHRoYXQgb25lIGFkdmFudGFnZSBvZiBhIGRtYWRldiBjbGFz cyBpcyB0aGF0IGl0DQo+ID4gPiA+ID4+Pj4+Pj4gd291bGQgYmUgZWFzaWVyIGFuZCBtb3JlIHRy YW5zcGFyZW50IGZvciB0aGUgYXBwbGljYXRpb24gdG8NCj4gY29uc3VtZS4NCj4gPiA+ID4gPj4+ Pj4+Pg0KPiA+ID4gPiA+Pj4+Pj4+IFRoZSBhcHBsaWNhdGlvbiB3b3VsZCByZWdpc3RlciBzb21l IERNQSBkZXZpY2VzLCBwYXNzIHRoZW0NCj4gPiA+ID4gPj4+Pj4+PiB0byB0aGUgVmhvc3QgbGli cmFyeSwgYW5kIHRoZW4NCj4gPiA+ID4gPj4+Pj4+PiBydGVfdmhvc3Rfc3VibWl0X2VucXVldWVf YnVyc3QgYW5kDQo+ID4gPiA+ID4+Pj4+Pj4gcnRlX3Zob3N0X3BvbGxfZW5xdWV1ZV9jb21wbGV0 ZWQgd291bGQgY2FsbCB0aGUgZG1hZGV2DQo+ID4gPiBjYWxsYmFja3MgZGlyZWN0bHkuDQo+ID4g PiA+ID4+Pj4+Pj4NCj4gPiA+ID4gPj4+Pj4+PiBEbyB5b3UgdGhpbmsgdGhhdCBjb3VsZCB3b3Jr Pw0KPiA+ID4gPiA+Pj4+Pj4+DQo+ID4gPiA+ID4+Pj4+PiBZZXMsIHRoaXMgaXMgYSB3b3JrYWJs ZSBtb2RlbC4gQXMgSSBzYWlkIGluIHByZXZpb3VzIHJlcGx5LA0KPiA+ID4gPiA+Pj4+Pj4gSSBo YXZlIG5vIG9iamVjdGlvbiB0bw0KPiA+ID4gPiA+Pj4+PiBtYWtlIHRoZSBkbWFkZXYuIEhvd2V2 ZXIsIHdoYXQgd2UgY3VycmVudGx5IHdhbnQgdG8gZG8gaXMNCj4gPiA+ID4gPj4+Pj4gY3JlYXRp bmcgdGhlIGFzeW5jIGRhdGEgcGF0aCBmb3Igdmhvc3QsIGFuZCB3ZSBhY3R1YWxseSBoYXZlDQo+ ID4gPiA+ID4+Pj4+IG5vIHByZWZlcmVuY2UgdG8gdGhlIHVuZGVybHlpbmcgRE1BIGRldmljZSBt b2RlbC4gSSBiZWxpZXZlDQo+ID4gPiA+ID4+Pj4+IG91ciBjdXJyZW50IGRlc2lnbiBvZiB0aGUg QVBJIHByb3RvIHR5cGUgL2RhdGEgc3RydWN0dXJlcw0KPiA+ID4gPiA+Pj4+PiBhcmUgcXVpdGUg Y29tbW9uIGZvciB2YXJpb3VzIERNQSBhY2NlbGVyYXRpb24gc29sdXRpb25zIGFuZA0KPiA+ID4g PiA+Pj4+PiB0aGVyZSBpcyBubw0KPiA+ID4gYmxvY2tlciBmb3IgYW55IG5ldyBETUEgZGV2aWNl IHRvIGFkYXB0IHRvIHRoZXNlIEFQSXMgb3IgZXh0ZW5kIHRvIGENCj4gPiA+IG5ldyBvbmUuDQo+ ID4gPiA+ID4+Pj4+DQo+ID4gPiA+ID4+Pj4+IElNTywgYXMgYSBkcml2ZXIgd3JpdGVyLCAgd2Ug c2hvdWxkIG5vdCBiZSB3cml0aW5nIFRXTyBETUENCj4gPiA+ID4gPj4+Pj4gZHJpdmVyLiBPbmUg Zm9yIHZob3N0IGFuZCBvdGhlciBvbmUgZm9yIHJhd2Rldi4NCj4gPiA+ID4gPj4+PiBJdCdzIHRo ZSBtb3N0IHNpbXBsZXN0IGNhc2UgaWYgc3RhdGljYWxseSAxOjEgbWFwcGluZyBkcml2ZXINCj4g PiA+ID4gPj4+PiAoZS5nLiB7cG9ydCwNCj4gPiA+IHF1ZXVlfSkgdG8gYSB2aG9zdCBzZXNzaW9u IHt2aWQsIHFpZH0uIEhvd2V2ZXIsIGl0J3Mgbm90IGVub3VnaA0KPiA+ID4gc2NhbGFibGUgdG8g aW50ZWdyYXRlIGRldmljZSBtb2RlbCB3aXRoIHZob3N0IGxpYnJhcnkuIFRoZXJlJ3JlIGENCj4g PiA+IGZldyBpbnRlbnRpb25zIGJlbG9uZyB0byBhcHAgbG9naWMgcmF0aGVyIHRoYW4gZHJpdmVy LCBlLmcuIDE6TiBsb2FkDQo+ID4gPiBiYWxhbmNpbmcsIHZhcmlvdXMgZGV2aWNlIHR5cGUgdXNh Z2VzIChlLmcuIHZob3N0IHpjb3B5IHZpYSBldGhkZXYpIGFuZCBldGMuDQo+ID4gPiA+ID4+Pg0K PiA+ID4gPiA+Pj4NCj4gPiA+ID4gPj4+IEJlZm9yZSBtb3ZpbmcgdG8gcmVwbHkgdG8gY29tbWVu dHMsIFdoaWNoIERNQSBlbmdpbmUgeW91IGFyZQ0KPiA+ID4gPiA+Pj4gcGxhbm5pbmcgdG8gaW50 ZWdyYXRlIHdpdGggdkhPU1Q/DQo+ID4gPiA+ID4+PiBJcyBpcyBpb2F0PyBpZiBub3QgaW9hdChk cml2ZXJzL3Jhdy9pb2F0LyksIEhvdyBkbyB5b3UgdGhpbmssDQo+ID4gPiA+ID4+PiBob3cgd2Ug Y2FuIGludGVncmF0ZSB0aGlzIElPQVQgRE1BIGVuZ2luZSB0byB2SE9TVCBhcyBhIHVzZSBjYXNl Pw0KPiA+ID4gPiA+Pj4NCj4gPiA+ID4gPj4NCj4gPiA+ID4gPj4gSSBndWVzcyBpdCBjb3VsZCBi ZSBkb25lIGluIHRoZSB2aG9zdCBleGFtcGxlLg0KPiA+ID4gPiA+DQo+ID4gPiA+ID4NCj4gPiA+ ID4gPiBDb3VsZCBub3Qgc2VlIGFueSByZWZlcmVuY2UgdG8gRE1BIGluICBleGFtcGxlcy92aG9z dCoNCj4gPiA+ID4gPg0KPiA+ID4gPg0KPiA+ID4gPiBUaGF0J3MgYmVjYXVzZSB3ZSBhcmUgZGlz Y3Vzc2luZyB0aGUgQVBJIHRvIGludHJvZHVjZSBETUEgc3VwcG9ydA0KPiA+ID4gPiBpbiB0aGlz IGV4YWN0IG1haWwgdGhyZWFkLCBub3RoaW5nIGhhcyBiZWVuIG1lcmdlZCB5ZXQuDQo+ID4gPg0K PiA+ID4gU29tZSBjb25mdXNpb24gaGVyZS4gT3JpZ2luYWwgcXVlc3Rpb24gd2FzLCAjIFRoaXMg aXMgYW4gUkZDIGZvciBETUENCj4gPiA+IHN1cHBvcnQgaW4gdkhPU1QgIyBXaGF0IGlzIHRoZSB1 bmRlcm5lYXRoIERNQSBlbmdpbmUgcGxhbm5lZCBmb3INCj4gPiA+IGhvb2tpbmcgdG8gdkhPU1Qg YXN5bmMgQVBJIGFzIGEgImltcGxlbWVudGF0aW9uIiBmb3IgdGhpcyBSRkM/DQo+ID4gPiAjIElm IGl0IGlvYXQsIEhvdyBkb2VzIHRoZSBpbnRlZ3JhdGlvbiB3b3JrIHdpdGggaW9hdCBleGl0aW5n DQo+ID4gPiByYXdkcml2ZXIgYW5kIG5ldyBBUEk/DQo+ID4gPiAjIGlmIGl0IG5vdCBpb2F0LCBX aGF0IGl0IHRha2VzIHRvIGFkZCBzdXBwb3J0IGlvYXQgYmFzZWQgRE1BIGVuZ2luZQ0KPiA+ID4g dG8gdkhPU1QgYXlzbmMgQVBJDQo+ID4gPg0KPiA+IEl0IG1vc3QgbGlrZWx5IHRoYXQgSU9BVCBj b3VsZCBiZSBsZXZlcmFnZWQgYXMgdGhlIGZpcnN0IGRlbW9uc3RyYXRpb24gb24gdGhlDQo+IGFz eW5jIERNQSBhY2NlbGVyYXRpb24gZm9yIHZIT1NULiBIb3dldmVyLCB0aGlzIGlzIG5laXRoZXIg YSBsaW1pdGF0aW9uIG5vciBkbyB3ZQ0KPiBkZXNpZ24gdGhpcyBSRkMgc3BlY2lmaWNhbGx5IGZv ciBJT0FULg0KPiA+IFdpdGggY3VycmVudCBSRkMgZGVzaWduLCB3ZSB3aWxsIG5lZWQgYXBwbGlj YXRpb25zIHRvIGltcGxlbWVudCBjYWxsYmFja3MNCj4gKHdoaWNoIHdpbGwgY2FsbCBpbnRvIHRo ZSBJT0FUIHBtZCBpbiBJT0FUIGNhc2UpIHRoYXQgY2FuIHdvcmsgd2l0aCB2SG9zdCBhc3luYw0K PiBwYXRoLg0KPiANCj4gVGhlbiBpdCB3b3VsZCBiZSBjYWxsaW5nIHNvbWUgUE1EIHNwZWNpZmlj IEFQSXMgZm9yIGRwYWEyX3FkbWEsIG9jdGVvbnR4Ml9kbWEsDQo+IGlvYXQgYW5kIHRoZXJlIHdp bGwgaXNzdWUgd2l0aCBpbnRlZ3JhdGluZyAgRE1BIGNvbnN1bWVyIGFzIHZIT1NUIGFuZCBhbm90 aGVyDQo+IGNvbnN1bWVyIHRvZ2V0aGVyLg0KVGhlIG1haW4gZWZmb3J0IGlzIHRvIGludHJvIGFz eW5jLW1vZGUgQVBJIGZvciB2aG9zdCBhbGxvd2luZyBleHRlcm5hbCBob29rcyBmb3IgcmF3IGJ1 ZmZlciAoVk0gYW5kL29yIGhvc3QgYXBwKSBhY2Nlc3MgcmVnYXJkbGVzcyBvZiB2aXJ0aW8gcmlu ZyBsYXlvdXQuDQpJdCBuZXZlciBmb3JjZXMgb3BzIHRvIGxldmVyYWdlIERNQSBkZXZpY2UsIHRo aW5rIGFib3V0IHJ4dHhfY2FsbGJhY2sgb2YgZXRoZGV2LiBUaGF0J3MgcHJldHR5IG11Y2ggYXBw J3Mgb3IgaGVscGVyIGxpYnJhcnkncyBmbGF2b3Igb2YgdGhlIG9wcy4NCklmIG5vdCBjb21mb3J0 YWJsZSB0byBkZW1vIG9wcyB3aXRoIGRtYSwgdGhhdCdzIGZpbmUgZm9yIHVzIHRvIGZvY3VzIG9u IENQVSBvbmx5IGFzIGEgaG9vayBwcm92aWRlciBpbiB0aGUgc2FtcGxlLCBhbmQgb21pdCAndy8g RE1BIGVuZ2luZScgZnJvbSBSRkMuDQoNCj4gVGhlIGNvcnJlY3QgYXBwcm9hY2ggaXMgdG8gY3Jl YXRlIGEgbmV3IGNsYXNzIGZvciBkbWEgbGlrZSBMaW51eCBhbmQgdkhPU1QNCj4gY29uc3VtZSBh cyBhIGNsaWVudCBzbyB0aGF0IGludGVncmF0aW9uIGFzcGVjdHMgYXJlIGludGFjdC4NCkknbSBj dXJpb3VzIHdoYXQncyB0aGUgdXNhZ2VzIHdoZW4gZHBhYTJfcWRtYSwgb2N0ZW9udHgyX2RtYSwg aW9hdCBiZWluZyBpbnRyb2R1Y2UgaW50byByYXcgZGV2aWNlLCB3aHkgdGhlc2UgdXNhZ2UgZG9u 4oCZdCBoYXZlIGV4Y3VzZSwgYnV0IHlvdSBiZWxpZXZlIHZob3N0IGhhcy4NClRoZXkgZXhpc3Rz IGZvciBhIHdoaWxlIGFzIGEgcmF3IGRldmljZS4gSWYgaXQncyBkbyBuZWNlc3NhcnksIHRoZXkn dmUgYWxyZWFkeSBidWlsdCBhIGNsYXNzLi4uIA0KQXMgeW91IHNhaWQsIHZob3N0IGlzIG9uZSBv ZiB0aGUgY2xpZW50IHRvIGNvbnN1bWUgYnV0IG5vdCBvd25zIGRldmljZSBjbGFzcywgbW9yZW92 ZXIgdGhlc2UgcmF3IGRldmljZSBpcyBub3QgdGhlIG9ubHkgJ3NlcnZlcicgdG8gdmhvc3QuDQpG b3IgeW91ciBjb25jZXJuLCBpdCB3b3J0aCBhIHNlcGFyYXRlIGNvbnZlcnNhdGlvbiBidXQgbm90 IGxpbWl0ZWQgZm9yIHZob3N0IGNhc2UuDQoNClRoYW5rcywNClN0ZXZlDQo+IA0KPiANCj4gDQo+ IA0KPiANCj4gPg0KPiA+IFRoYW5rcywNCj4gPg0KPiA+IFBhdHJpY2sNCj4gPg0KPiA+DQo=