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 34A3EA0350; Tue, 23 Jun 2020 12:42:55 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 707711D606; Tue, 23 Jun 2020 12:42:54 +0200 (CEST) Received: from mga03.intel.com (mga03.intel.com [134.134.136.65]) by dpdk.org (Postfix) with ESMTP id 364E71D600 for ; Tue, 23 Jun 2020 12:42:53 +0200 (CEST) IronPort-SDR: /k4qhiTXHU6Px0Dyt9RH5qtY4/rUkSoILGgs2MlUxFfdFzv5v2EK51CL5xuFndbeJRk2OToJBZ nzSzQGwQJPdQ== X-IronPort-AV: E=McAfee;i="6000,8403,9660"; a="144021864" X-IronPort-AV: E=Sophos;i="5.75,271,1589266800"; d="scan'208";a="144021864" X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga006.jf.intel.com ([10.7.209.51]) by orsmga103.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 23 Jun 2020 03:42:52 -0700 IronPort-SDR: HDzZ7uWgOKULAkbELDPVA8q3itKXyMYzd1HodWCsZaoDSYeuWlSkrfJgXsutnP2RxKy7q4wP6J Y8eg+9jvO8oA== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.75,271,1589266800"; d="scan'208";a="279075463" Received: from orsmsx105.amr.corp.intel.com ([10.22.225.132]) by orsmga006.jf.intel.com with ESMTP; 23 Jun 2020 03:42:52 -0700 Received: from orsmsx154.amr.corp.intel.com (10.22.226.12) by ORSMSX105.amr.corp.intel.com (10.22.225.132) with Microsoft SMTP Server (TLS) id 14.3.439.0; Tue, 23 Jun 2020 03:42:51 -0700 Received: from ORSEDG002.ED.cps.intel.com (10.7.248.5) by ORSMSX154.amr.corp.intel.com (10.22.226.12) with Microsoft SMTP Server (TLS) id 14.3.439.0; Tue, 23 Jun 2020 03:42:51 -0700 Received: from NAM10-MW2-obe.outbound.protection.outlook.com (104.47.55.101) by edgegateway.intel.com (134.134.137.101) with Microsoft SMTP Server (TLS) id 14.3.439.0; Tue, 23 Jun 2020 03:42:51 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=a41fmbDjQSlsYtKag6gXWJTshSUxp+HPFw264KK2LDQXlZZOl9+RPnjGlgn5knEUnsQ6RtgEmhgcy2HImI3NnN1zuOfCbfbecBNQ8kwXRDhT/+n0Im1avNGtP+NoKAhB8N9OkUjZ0zKvhBS7G4sAgMI2GeZ4bkWPVsXoUzWzam953HzTr5Y9396eXW+DPaAQTVcCOy9eNhmEBnDts3xJGZuTW9gZCJ5m4vFuzeko9HBxwRd6eFcWgib0bRS2AsbcKIRhigoxZgfA97pMFHtt+i7HhYW+2ULfbARNR23EFwGLFVNZObjQpmR1NXLJqLFNQ5eeZG6Bz7nb5OI0U25/Aw== 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=xviwIKE6thgb3Jg6cjbzFAkMFkLRCuhRdcQLwMBTpxg=; b=ecERiw/SwmEK3Sp94aTmWWYqflKhKIeRJK/Agk2Cw42fouZAg/POJx/rRxXa6WrHm5lGFEq/u7PUk7vT52M61Jxdc9sz+eQm0D0uz/64Aoy+0KcXsZPfhjuCAscp4AIIY8NZovIz8hB9C7+rpVgHEt4yiJVWUa3BXCoyPY8YeZozoWqYESpvoObIJgsfjeafrZv680TZO9CIhNfF/DKM4DV9eP03MILDa3tI3v22P+sA72wthgT/vq2MNHoafdPMqTS2lQMm6v9MVFpXkXCeun1SbnWRfGBRUXzXrFfpEz+8kZwCb+KkLYyHfe2YcW7hRXKl7wdBQw+Wexdl6mfK2g== 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=xviwIKE6thgb3Jg6cjbzFAkMFkLRCuhRdcQLwMBTpxg=; b=W+tJWWNAwchcy8J427bW0QQBZOD5R1u3vodyb1MGFZT9ELKG2QQ+z8uTy1gV9kwYvwTUiVSO/zfsP4oaN3hLNGvZpOBEmzQzgXtj5Z5PJZJVqD/1hD7jpMD549u+k9h//eKjPNCMTsDG5fWXgYMpXmylHX9HavITPvIx9Ox24eo= Received: from BN8PR11MB3795.namprd11.prod.outlook.com (2603:10b6:408:82::31) by BN6PR11MB1443.namprd11.prod.outlook.com (2603:10b6:405:8::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3109.22; Tue, 23 Jun 2020 10:42:50 +0000 Received: from BN8PR11MB3795.namprd11.prod.outlook.com ([fe80::c96e:e522:e0dc:490c]) by BN8PR11MB3795.namprd11.prod.outlook.com ([fe80::c96e:e522:e0dc:490c%7]) with mapi id 15.20.3109.027; Tue, 23 Jun 2020 10:42:50 +0000 From: "Wang, Xiao W" To: Maxime Coquelin , Matan Azrad , "Ye, Xiaolong" , Shahaf Shuler , "amorenoz@redhat.com" , "Slava Ovsiienko" , "dev@dpdk.org" , "Xia, Chenbo" , "Xu, Rosen" , "Pei, Andy" CC: "jasowang@redhat.com" , "lulu@redhat.com" Thread-Topic: [PATCH 9/9] vhost: only use vDPA config workaround if needed Thread-Index: AQHWKcYyIYDNs6ns3kSVboLPPgJJSqjNG+KAgAFv7oCAAAyHgIABjiAAgAAixACAAGh5gIAHHysAgATyDwCAABeSgIAAF90AgAEwcICAAA5bAIAIEFHw Date: Tue, 23 Jun 2020 10:42:49 +0000 Message-ID: References: <20200514080218.1435344-1-maxime.coquelin@redhat.com> <20200514080218.1435344-10-maxime.coquelin@redhat.com> <0216165f-aedd-06c7-5a90-2cd0d238b143@redhat.com> <97528794-aa14-37da-a5bb-1e1d46e9127a@redhat.com> <64c59e91-79ef-bc55-bc64-1995cfb03c84@redhat.com> <095af180-bb29-e890-5197-8bfbb8ea4c41@redhat.com> <7cdc8505-a667-81a3-b8ed-22dd34b958f7@redhat.com> <2be968ed-8f9f-1f1b-b53b-8656dc7c4277@redhat.com> In-Reply-To: <2be968ed-8f9f-1f1b-b53b-8656dc7c4277@redhat.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: 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: [192.102.204.45] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 2e6b3f8a-3ef5-4292-7cd5-08d817622d04 x-ms-traffictypediagnostic: BN6PR11MB1443: 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:8273; x-forefront-prvs: 04433051BF x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: 1mWbWsyy9jPSoFL9i5I6gLVeP16MbL2HvaXDrp073qpj43vaKLP6nSdMwR+KFDcSR0AFH8BdovJplQAXD51BfkC9eOH9YpK0ZNW7XUN1SN25+IpBz/H4fZ8AVTBYRgOdMuNAEZ4N0lq2YQmk5DDclE2m/G9kiq5z2bpqLdgC5CBo7J6S5YYlbNSvzIpHyKJEgnsIV8jv7F7kWHSrPhpP6aditla+MITRq5RGvi2DfpPusPmroIBoG+nO30CoDFRxAfj5y44f6DUERxvg63hu9ZCXoivNbibtYKW4gUmy0m6FkKLY1J59AMJ3Il5LFEsmeZ0XnTVN1Stx5APJoKL7RBR147uy1UpOMuMOa+FVZNswmVfLxURJyaUNHZ+ETWyO x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:BN8PR11MB3795.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFTY:; SFS:(4636009)(346002)(396003)(366004)(376002)(136003)(39860400002)(33656002)(86362001)(76116006)(186003)(478600001)(316002)(6506007)(52536014)(53546011)(26005)(66446008)(6636002)(7696005)(71200400001)(54906003)(110136005)(8936002)(5660300002)(55016002)(9686003)(64756008)(66476007)(66556008)(66946007)(8676002)(2906002)(83380400001)(4326008)(921003); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata: Asi9rzgm5+2LSeWBi7vbRE2xSGu2AFYoKd1pR1O1w/ODzrlRWmKXuD8xq/7C2ae+8L4CZtbjLNH/3YH0PzHJnOaeLUCF8uMu2xA6ltGOsUjLTLLBcbntG1ZQZ98v3jzwSVCjGoYVmXqtWH+9nZp8TYPL5vSF05ZKXAL3SGrjf4qwqsPELmE0sMQ4J8+kQHXL/QFCe84p3gU8qk/p22QYoOJBuW8JlKX6W0LwBfpoKnQFm4pwY0jTLUQ9TgNUqu2Cj91708Mg+xKR/RPGff9l3onMSHLv7iF/paHLsmPqczECvc7LGJ8nplj5TLViOmolYXCgS1Ehah/Rm9Q4o+c6PMcLN+sffrfq2jxpSdS+WjfwLgfx/6C+mvXYdvmPbk4pLAXDfNObP7UbTrmK231ufhOG8E7b7sI0fWt0rRegIr4zhEMm/bHZFVIcHvC9S33+pC2ekOPWhffcOEEGITe1vJZddk9zsxwCz3rngq1kjl/3pMQDBPl1l/SW4f+lWdk4 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-MS-Exchange-CrossTenant-Network-Message-Id: 2e6b3f8a-3ef5-4292-7cd5-08d817622d04 X-MS-Exchange-CrossTenant-originalarrivaltime: 23 Jun 2020 10:42:49.9789 (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: rnSVNDTuSy5JbQ9YTO67hLa/JvGrWc7aB7CuagCVAQv+rbwn9osatBfnh70eXzph5Zfh2FJkuPdLqCojI2zqPg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN6PR11MB1443 X-OriginatorOrg: intel.com Subject: Re: [dpdk-dev] [PATCH 9/9] vhost: only use vDPA config workaround if needed 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" SGksDQoNClRoZSBvcmlnaW5hbCBpc3N1ZSBpcyB3aXRoIGxlZ2FjeSBRRU1VIChlLmcuUUVNVXYy LjYsIHdpdGggY2VudG9zNy4yIGFzIGd1ZXN0IGtlcm5lbCwgd2l0aG91dCBzZXRfdnJpbmdfc3Rh dHVzIGFzIGFuIGluZGljYXRvcikuDQpGb3IgYSBub3JtYWwgYm9vdCwgdGhlIGxhc3QgMiBtZXNz YWdlcyBhcmUgc2V0X3ZyaW5nX2tpY2sgYW5kIHNldF92cmluZ19jYWxsLCBpbnNpZGUgdGhlIHNl dF92cmluZ19raWNrIGhhbmRsaW5nLA0KdmlydGlvX2lzX3JlYWR5KCkgd2lsbCByZXR1cmUgdHJ1 ZSAoYmVjYXVzZSBvZiB0aGF0IHNwZWNpYWwgdmVyeSBlYXJseSBzZXRfdnJpbmdfY2FsbCBtZXNz YWdlKS4gVGhlbg0KdmRwYSBkZXZfY29uZmlnIGlzIGNhbGxlZCwgYW5kIHRoZSBmYWtlIGNhbGwg ZmQgaXMgdXNlZC4gQXMgYSByZXN1bHQsIHRoZSB2aXJ0aW8ga2VybmVsIGRyaXZlciBpbiBWTSB3 aWxsIG5vdA0KcmVjZWl2ZSBpbnRlcnJ1cHQuDQoNCisxIGZvciBpbnRyb2R1Y2luZyBTRVRfU1RB VFVTIHRvIG1ha2UgdGhpbmdzIGNsZWFyZXIuDQpJRkNWRiBkcml2ZXIgaGFzbid0IGFkZGVkIHN1 cHBvcnQgZm9yIE1RIGFuZCAuc2V0X3ZyaW5nX3N0YXRlIG9wcywgc28gbm8gbmVlZCB0byB0ZXN0 LA0KDQpKdXN0IGN1cmlvdXMgYWJvdXQgTVEgbGl2ZSBtaWdyYXRpb24gY2FzZSwgb24gdGhlIGRz dCBzaWRlLCB3aWxsIHRoaXMgU0VUX1NUQVRVUyBtc2cgY29tZXMgdG8gdmhvc3QtdXNlcj8gYW5k IFdoZW4/DQoNCkJScywNClhpYW8NCg0KPiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiBG cm9tOiBNYXhpbWUgQ29xdWVsaW4gPG1heGltZS5jb3F1ZWxpbkByZWRoYXQuY29tPg0KPiBTZW50 OiBUaHVyc2RheSwgSnVuZSAxOCwgMjAyMCAzOjMxIFBNDQo+IFRvOiBNYXRhbiBBenJhZCA8bWF0 YW5AbWVsbGFub3guY29tPjsgWWUsIFhpYW9sb25nDQo+IDx4aWFvbG9uZy55ZUBpbnRlbC5jb20+ OyBTaGFoYWYgU2h1bGVyIDxzaGFoYWZzQG1lbGxhbm94LmNvbT47DQo+IGFtb3Jlbm96QHJlZGhh dC5jb207IFdhbmcsIFhpYW8gVyA8eGlhby53LndhbmdAaW50ZWwuY29tPjsgU2xhdmENCj4gT3Zz aWllbmtvIDx2aWFjaGVzbGF2b0BtZWxsYW5veC5jb20+OyBkZXZAZHBkay5vcmcNCj4gQ2M6IGph c293YW5nQHJlZGhhdC5jb207IGx1bHVAcmVkaGF0LmNvbQ0KPiBTdWJqZWN0OiBSZTogW1BBVENI IDkvOV0gdmhvc3Q6IG9ubHkgdXNlIHZEUEEgY29uZmlnIHdvcmthcm91bmQgaWYgbmVlZGVkDQo+ IA0KPiANCj4gDQo+IE9uIDYvMTgvMjAgODozOSBBTSwgTWF0YW4gQXpyYWQgd3JvdGU6DQo+ID4g SEkgTWF4aW1lDQo+ID4NCj4gPiBGcm9tOiBNYXhpbWUgQ29xdWVsaW46DQo+ID4+IE9uIDYvMTcv MjAgMTowNCBQTSwgTWF0YW4gQXpyYWQgd3JvdGU6DQo+ID4+DQo+ID4+Pj4+IERvbuKAmXQgeW91 IHRoaW5rIHRoYXQgb25seSBlbmFibGVkIHF1ZXVlcyBtdXN0IGJlIGZ1bGx5IGluaXRpYWxpemVk DQo+ID4+Pj4+IHdoZW4NCj4gPj4+PiB0aGVpciBzdGF0dXMgaXMgY2hhbmdlZCBmcm9tIGRpc2Fi bGVkIHRvIGVuYWJsZWQ/DQo+ID4+Pj4+IFNvLCB5b3UgY2FuIGFzc3VtZSB0aGF0IGRpc2FibGVk IHF1ZXVlcyBjYW4gc3RheSAibm90IGZ1bGx5DQo+IGluaXRpYWxpemVkIi4uLg0KPiA+Pj4+DQo+ ID4+Pj4gVGhhdCBtYXkgd29yayBidXQgbWlnaHQgbm90IGJlIGZvbGxvd2luZyB0aGUgVmlydGlv IHNwZWMgYXMgd2l0aCAxLjANCj4gPj4+PiB3ZSBzaG91bGRuJ3QgcHJvY2VzcyB0aGUgcmluZ3Mg YmVmb3JlIERSSVZFUl9PSyBpcyBzZXQgKGJ1dCB3ZSBjYW5ub3QNCj4gPj4+PiBiZSBzdXJlIHdl IGZvbGxvdyBpdCBhbnl3YXkgd2l0aG91dCBTRVRfU1RBVFVTIHN1cHBvcnQpLg0KPiA+Pj4+DQo+ ID4+Pj4gSSBwcm9wb3NlIHRvIGNvb2sgYSBwYXRjaCBkb2luZyB0aGUgZm9sbG93aW5nOg0KPiA+ Pj4+IDEuIHZpcnRpb19pc19yZWFkeSgpIHdpbGwgb25seSBlbnN1cmUgdGhlIGZpcnN0IHF1ZXVl IHBhaXIgaXMgcmVhZHkNCj4gPj4+PiAoaS5lLiBlbmFibGVkIGFuZCBjb25maWd1cmVkKS4gTWVh bmluZyB0aGF0IGFwcCdzIG5ld19kZXZpY2UgY2FsbGJhY2sNCj4gPj4+PiBhbmQgdkRQQSBkcml2 ZXJzIGRldl9jb25mIGNhbGxiYWNrIHdpbGwgYmUgY2FsbGVkIHdpdGggb25seSB0aGUgZmlyc3QN Cj4gPj4+PiBxdWV1ZSBwYWlyIGNvbmZpZ3VyZWQgYW5kIGVuYWJsZWQuDQo+ID4+Pj4NCj4gPj4+ PiAyLiBCZWZvcmUgaGFuZGxpbmcgYSBuZXcgdmhvc3QtdXNlciByZXF1ZXN0LCBpdCBzYXZlcyB0 aGUgcmVhZHkNCj4gPj4+PiBzdGF0dXMgZm9yIGV2ZXJ5IHF1ZXVlIHBhaXIuDQo+ID4+Pj4NCj4g Pj4+PiAzLiBTYW1lIGhhbmRsaW5nIG9mIHRoZSByZXF1ZXN0cywgZXhjZXB0IHRoYXQgd2Ugd29u J3Qgbm90aWZ5IHRoZQ0KPiA+Pj4+IHZkcGEgZHJpdmVyIGFuZCB0aGUgYXBwbGljYXRpb24gb2Yg dnJpbmcgc3RhdGUgY2hhbmdlcyBpbiB0aGUNCj4gPj4+PiBWSE9TVF9VU0VSX1NFVF9WUklOR19F TkFCTEUgaGFuZGxlci4NCj4gPj4+Pg0KPiA+Pj4+IDQuIE9uY2UgdGhlIFZob3N0LXVzZXIgcmVx dWVzdCBpcyBoYW5kbGVkLCBpdCBjb21wYXJlcyB0aGUgbmV3IHJlYWR5DQo+ID4+Pj4gc3RhdHVz IGZvZSBldmVyeSBxdWV1ZXMgd2l0aCB0aGUgb2xkIG9uZSBhbmQgc2VuZCBxdWV1ZSBzdGF0ZSBl dmVudA0KPiA+Pj4+IGNoYW5nZXMgYWNjb3JkaW5nbHkuDQo+ID4+Pg0KPiA+Pj4gTG9va3MgdmVy eSBuaWNlIHRvIG1lLg0KPiA+Pg0KPiA+PiBDb29sIQ0KPiA+Pg0KPiA+Pj4gTW9yZSBwb2ludHM6 DQo+ID4+PiBCeSB0aGlzIG1ldGhvZCBzb21lIHF1ZXVlcyBtYXkgYmUgY29uZmlndXJlZCBieSB0 aGUgc2V0X3ZyaW5nX3N0YXRlDQo+ID4+IG9wZXJhdGlvbiBzbyB0aGUgbmV4dCBjYWxscyBhcmUg ZXhwZWN0ZWQgdG8gYmUgY2FsbGVkIGZvciBlYWNoIHF1ZXVlIGJ5IHRoZQ0KPiA+PiBkcml2ZXIg ZnJvbSB0aGUgc2V0X3ZyaW5nX3N0YXRlIGNhbGxiYWNrIDoNCj4gPj4+IDEuIHJ0ZV92aG9zdF9l bmFibGVfZ3Vlc3Rfbm90aWZpY2F0aW9uDQo+ID4+PiAJVGhpcyBvbmUgdGFrZXMgZGF0YXBhdGgg bG9jayBzbyB3ZSBuZWVkIHRvIGJlIHN1cmUgdGhhdCBkYXRhcGF0aA0KPiA+PiBsb2NrIGlzIG5v dCBsb2NrZWQgb24gdGhpcyBxdWV1ZSBmcm9tIHRoZSBzYW1lIGNhbGxlciB0aHJlYWQgKG1heWJl IHRvIG5vdA0KPiA+PiB0YWtlcyBkYXRhcGF0aCBsb2NrcyB3aGVuIHZkcGEgaXMgY29uZmlndXJl ZCBhdCBhbGwpLg0KPiA+Pg0KPiA+PiBHb29kIHBvaW50LCBJIGFncmVlIHdlIHNob3VsZG4ndCBu ZWVkIHRvIHVzZSB0aGUgYWNjZXNzIGxvY2sgd2hlbiB2ZHBhIGlzDQo+ID4+IGNvbmZpZ3VyZWQu IFdlIG1heSB3YW50IHRvIGRvY3VtZW50IHRoYXQgYWxsIHRoZSBjb250cm9sIHBhdGggaXMNCj4g YXNzdW1lZCB0bw0KPiA+PiBiZSBzaW5nbGUgdGhyZWFkIHRob3VnaC4NCj4gPj4NCj4gPj4NCj4g Pj4+IDIuIHJ0ZV92aG9zdF9ob3N0X25vdGlmaWVyX2N0cmwNCj4gPj4+IAlUaGlzIGZ1bmN0aW9u IEFQSSBpcyBwZXIgZGV2aWNlIGFuZCBub3QgcGVyIHF1ZXVlLCBtYXliZSB3ZSBuZWVkIHRvDQo+ ID4+IGNoYW5nZSB0aGlzIGZ1bmN0aW9uIHRvIGJlIHBlciBxdWV1ZSAoYWRkIG5ldyBmb3Igbm93 IGFuZCBkZXByZWNhdGUgdGhlDQo+ID4+IG9sZCBvbmUgaW4gMjAuMTEpLg0KPiA+Pg0KPiA+PiBU aGlzIG9uZSBpcyBzdGlsbCBleHBlcmltZW50YWwsIHNvIG5vIGlzc3VlIGluIHJld29ya2luZyB0 aGUgQVBJIHRvIG1ha2UgaXQNCj4gcGVyDQo+ID4+IHF1ZXVlIHdpdGhvdXQgZGVwcmVjYXRpb24g bm90aWNlLg0KPiA+Pg0KPiA+Pj4gMy4gTmVlZCB0byBiZSBzdXJlIHRoYXQgaWYgcmVhZHkgcXVl dWUgY29uZmlndXJhdGlvbiBpcyBjaGFuZ2VkIGFmdGVyDQo+ID4+IGRldl9jb25mLCB3ZSBzaG91 bGQgbm90aWZ5IGl0IHRvIHRoZSBkcml2ZXIuIChtYXliZSBieQ0KPiA+PiBzZXRfdnJpbmdfc3Rh dGUoZGlzYWJsKSBhbmQgc2V0X3ZyaW5nX3N0YXRlKGVuYWJsZSkpLg0KPiA+Pg0KPiA+PiBBZ3Jl ZSwgSSdtIG5vdCBzdXJlIHlldCBpZiB3ZSBzaG91bGQganVzdCB0b2dnbGUgc2V0X3ZyaW5nX3N0 YXRlIGFzIHlvdQ0KPiA+PiBwcm9wb3Nlcywgb3IgaWYgd2Ugc2hvdWxkIGhhdmUgYSBuZXcgY2Fs bGJhY2sgZm9yIHRoaXMuDQo+ID4NCj4gPiBBY3R1YWxseSwgd2hlbiB0aGUgcXVldWUgY29uZmln dXJhdGlvbiBpcyBjaGFuZ2VkLCB0aGVyZSBpcyBvbmUgbW9tZW50DQo+IHRoYXQgY29uZmlndXJh dGlvbiBpcyBub3QgdmFsaWQgKGluIHRoZSB3cml0ZSB0aW1lKS4NCj4gPiBTbyBtYXliZSBpdCBt YWtlcyBzZW5zZSB0byB0b2dnbGUuDQo+ID4NCj4gPiBCdXQgdGhlcmUgaXMgb25lIG1vcmUgb3B0 aW9uOg0KPiA+DQo+ID4gSXQgZG9lc24ndCBtYWtlIHNlbnNlIHRoYXQgYWZ0ZXIgY29uZmlndXJh dGlvbiBjaGFuZ2UgdGhlIFFFTVUgd2lsbCBub3QNCj4gc2VuZCBWSE9TVF9VU0VSX1NFVF9WUklO R19FTkFCTEUgbWFzc2FnZS4NCj4gDQo+IEFncmVlLg0KPiA+IFNvIG1heWJlIHdlIG5lZWQgdG8g Y2FsbCBzZXRfdnJpbmdfc3RhdGUgaW4gdGhlIG5leHQgZXZlbnRzOg0KPiA+IAkxLiBxdWV1ZSBi ZWNvbWVzIHJlYWR5IChlbmFibGVkIGFuZCBmdWxseSBjb25maWd1cmVkKSAtDQo+IHNldF92cmlu Z19zdGF0ZShlbmFibGUpLg0KPiA+IAkyLiBxdWV1ZSBiZWNvbWVzIG5vdCByZWFkeSAtIHNldF92 cmluZ19zdGF0ZShkaXNhYmxlKS4NCj4gPiAJMy4gcXVldWUgc3RheSByZWFkeSBhbmQgVkhPU1Rf VVNFUl9TRVRfVlJJTkdfRU5BQkxFIG1hc3NhZ2UNCj4gd2FzIGhhbmRsZWQgLSBzZXRfdnJpbmdf c3RhdGUoZW5hYmxlKS4NCj4gPg0KPiA+IFRoZW4gd2UgbmVlZCB0byBkb2N1bWVudCB0aGF0IGV2 ZXJ5IHNldF92cmluZ19zdGF0ZSBjYWxsIG1heSBwb2ludCBvbg0KPiBjb25maWd1cmF0aW9uIGNo YW5nZXMgaW4gdGhlIHF1ZXVlIGV2ZW4gaWYgdGhlIHN0YXRlIHdhcyBub3QgY2hhbmdlZC4NCj4g Pg0KPiA+IFdoYXQgZG8geW91IHRoaW5rPw0KPiANCj4gSSB0aGluayBpdCBpcyB3b3J0aCBhIHRy eS4NCj4gDQo+IFRoYW5rcywNCj4gTWF4aW1lDQoNCg==