From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from EUR02-HE1-obe.outbound.protection.outlook.com (mail-eopbgr10052.outbound.protection.outlook.com [40.107.1.52]) by dpdk.org (Postfix) with ESMTP id A5D441B4F7 for ; Fri, 1 Feb 2019 20:01:39 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com; s=selector1-arm-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=F8cB3B5dyi8UWjqDw5JkQXInVA67vF0qNvDHH7sH184=; b=ddlVqCocNkIbpBqnJATNkkY9cV2b3sp7R9+tLlT3XmXBxnBfx2RpKzC7cBVsJs4w8zugpk7LUg9WugeXc6C11lE9XjeC9SpiJXN+B9jX7RK05va8xeYV27L8ZQmQ9wIe0jeKwUMwwXrgYlKco4lIlgaWsaoVVoYU83TeToOp2IQ= Received: from HE1PR0801MB2076.eurprd08.prod.outlook.com (10.168.95.140) by HE1PR0801MB1883.eurprd08.prod.outlook.com (10.168.94.14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1580.20; Fri, 1 Feb 2019 19:01:37 +0000 Received: from HE1PR0801MB2076.eurprd08.prod.outlook.com ([fe80::f5e3:70fc:e834:3c42]) by HE1PR0801MB2076.eurprd08.prod.outlook.com ([fe80::f5e3:70fc:e834:3c42%3]) with mapi id 15.20.1558.025; Fri, 1 Feb 2019 19:01:37 +0000 From: Ola Liljedahl To: "gage.eads@intel.com" , "dev@dpdk.org" CC: "jerinj@marvell.com" , "chaozhu@linux.vnet.ibm.com" , nd , "bruce.richardson@intel.com" , "konstantin.ananyev@intel.com" , "hemant.agrawal@nxp.com" , "olivier.matz@6wind.com" , "arybchenko@solarflare.com" , "Gavin Hu (Arm Technology China)" , Honnappa Nagarahalli Thread-Topic: [dpdk-dev] [PATCH 1/1] eal: add 128-bit cmpset (x86-64 only) Thread-Index: AQHUty7+Hx+p+KOLIUunsbjUPnO+E6XFTIWAgAXPcGCAADbYgA== Date: Fri, 1 Feb 2019 19:01:36 +0000 Message-ID: <1549047709.20325.35.camel@arm.com> References: <20190128172945.27251-1-gage.eads@intel.com> <20190128172945.27251-2-gage.eads@intel.com> <1548716507.11472.96.camel@arm.com> <9184057F7FC11744A2107296B6B8EB1E541CE1FE@FMSMSX108.amr.corp.intel.com> In-Reply-To: <9184057F7FC11744A2107296B6B8EB1E541CE1FE@FMSMSX108.amr.corp.intel.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-mailer: Evolution 3.18.5.2-0ubuntu3.2 authentication-results: spf=none (sender IP is ) smtp.mailfrom=Ola.Liljedahl@arm.com; x-originating-ip: [158.174.8.16] x-ms-publictraffictype: Email x-microsoft-exchange-diagnostics: 1; HE1PR0801MB1883; 6:fpKWELuh+5lSiLcEoaxKMlBqUWfEW3BUEw24vEYThq+C2GmJpqFgQ+lxqtuP8HyrN2LC5KfDytF/RuT/JM0/hn0AoVZvaAPMvBo7XzW1bzS/GX1Lhm8ss6I6wspaLMOk+SvYM33B0RnKZyhpdCWxAc4yhAjMLiDxmq0QNX7Ydn3iFCfeKylxAdijqJt1BgLQi+mf2mwH4+1hDvKHssIVHBuMxh3guxHfZHW8Q5xHIEpBR0lLO8sXgxUFeWr+RaOcmT3CZ9l91eH2L1/kEJIGp6sWyl3qoIlCbtW9AdZgIOvdTnaMvMTgJG9eDK/g/VPDACCFzP6gu8nxiJ+i/yEFJNA75C7kh3wIck5jwb0QX5sRe9J4BK+A/NrodRnZDw1NI0tvZXG4BjFi/ePD8byqixMIWbM9yFFnCeg+wdwdB8wdwOwO2IkxHcmfEkST1DacWjOxHeIlmBF3Mj3/1xxfig==; 5:5uiLVyS3cigObdZMaeBw7aifhX0r8jiQqp6uui6/s3pztcbLEemtg9ybN2v7fA21HOnszrjc7x+B+W4MEoSuEUnS1IOEbbHjn+pGYpEV1qQ9or1RXtgftBzIPuOPfz9Jzln1i9rUNIMPamTvIhLKSzZzKC28KK1YftB1/jPFwKgVAqSniCUXKi8x4d5v8S6S0ZJ79F6OdGCzvGQHUj+HDA==; 7:UL2JnvPLWWmfynP5r37KCC3OpB/TIzNR9npN+pL0B6xwE15z59gr1kydlaxujCnf6jHheDA/sdo5w0rrfSxjySgWeyOZevMTBvNx44etktXIHPrYURaoOi6kowkjB2wVv7mlKGubmJxDjDzSwV7NkQ== x-ms-office365-filtering-correlation-id: 6308efa0-2713-4974-fb67-08d68877b104 x-ms-office365-filtering-ht: Tenant x-microsoft-antispam: BCL:0; PCL:0; RULEID:(2390118)(7020095)(4652040)(8989299)(4534185)(4627221)(201703031133081)(201702281549075)(8990200)(5600110)(711020)(4605077)(4618075)(2017052603328)(7153060)(7193020); SRVR:HE1PR0801MB1883; x-ms-traffictypediagnostic: HE1PR0801MB1883: x-ld-processed: f34e5979-57d9-4aaa-ad4d-b122a662184d,ExtAddr nodisclaimer: True x-microsoft-antispam-prvs: x-forefront-prvs: 09352FD734 x-forefront-antispam-report: SFV:NSPM; SFS:(10009020)(136003)(366004)(396003)(346002)(39860400002)(376002)(13464003)(189003)(199004)(72206003)(8676002)(305945005)(103116003)(6512007)(478600001)(25786009)(7736002)(6306002)(6116002)(2616005)(11346002)(71190400001)(6486002)(256004)(71200400001)(4326008)(2501003)(476003)(446003)(14454004)(6436002)(6246003)(66066001)(316002)(106356001)(186003)(54906003)(110136005)(93886005)(3846002)(105586002)(26005)(229853002)(14444005)(2906002)(99286004)(50226002)(86362001)(966005)(68736007)(81156014)(8936002)(36756003)(81166006)(97736004)(53936002)(486006)(76176011)(102836004)(53546011)(6506007)(99106002); DIR:OUT; SFP:1101; SCL:1; SRVR:HE1PR0801MB1883; H:HE1PR0801MB2076.eurprd08.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; MX:1; A:1; received-spf: None (protection.outlook.com: arm.com does not designate permitted sender hosts) x-ms-exchange-senderadcheck: 1 x-microsoft-antispam-message-info: J2m3gh/5XV99EFKgo6Eut2vZDQoZNdPblBPU5qEhYkZhVYv9n/8XapOC+jJknGLnbOuIob89Gp3xNeKOQ6aBwdx1oDFkezIbm3VOWTmiuefBNjWepDpMCVv5Q0jTnCHXwclMRIBAmxsqGCZBh3uTLSo9CTbETglYoGtHtKEq/QwCmpch/FA229TOljmeFLLRkEsAn/gNJKDaFZ1UBfwdIH2Zs65He/33Nm+YRLJanghofiqfRkAysCTtFlwXlSqY6t97oNSArdxPFzD0EKWPwtf5GZBS7Ba9NKG+WbBMRHwrg3hyp4xR4QaWtiCV1xGLbOCMpX8ZZNs5T4XLTHR+Tf2il4q3vGZbca8GmHqlRzaCuKiLMyAyQs415wkSFTN32G39RbbZRDM95yLU5jrSYKzIrkHgQI26Fv2EOWB67Ns= Content-Type: text/plain; charset="utf-8" Content-ID: Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-Network-Message-Id: 6308efa0-2713-4974-fb67-08d68877b104 X-MS-Exchange-CrossTenant-originalarrivaltime: 01 Feb 2019 19:01:36.9541 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: f34e5979-57d9-4aaa-ad4d-b122a662184d X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-Transport-CrossTenantHeadersStamped: HE1PR0801MB1883 Subject: Re: [dpdk-dev] [PATCH 1/1] eal: add 128-bit cmpset (x86-64 only) 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: , X-List-Received-Date: Fri, 01 Feb 2019 19:01:39 -0000 T24gRnJpLCAyMDE5LTAyLTAxIGF0IDE3OjA2ICswMDAwLCBFYWRzLCBHYWdlIHdyb3RlOg0KPiAN Cj4gPiANCj4gPiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiA+IEZyb206IE9sYSBMaWxq ZWRhaGwgW21haWx0bzpPbGEuTGlsamVkYWhsQGFybS5jb21dDQo+ID4gU2VudDogTW9uZGF5LCBK YW51YXJ5IDI4LCAyMDE5IDU6MDIgUE0NCj4gPiBUbzogRWFkcywgR2FnZSA8Z2FnZS5lYWRzQGlu dGVsLmNvbT47IGRldkBkcGRrLm9yZw0KPiA+IENjOiBhcnliY2hlbmtvQHNvbGFyZmxhcmUuY29t OyBqZXJpbmpAbWFydmVsbC5jb207DQo+ID4gY2hhb3podUBsaW51eC52bmV0LmlibS5jb207IG5k IDxuZEBhcm0uY29tPjsgUmljaGFyZHNvbiwgQnJ1Y2UNCj4gPiA8YnJ1Y2UucmljaGFyZHNvbkBp bnRlbC5jb20+OyBBbmFueWV2LCBLb25zdGFudGluDQo+ID4gPGtvbnN0YW50aW4uYW5hbnlldkBp bnRlbC5jb20+OyBoZW1hbnQuYWdyYXdhbEBueHAuY29tOw0KPiA+IG9saXZpZXIubWF0ekA2d2lu ZC5jb207IEhvbm5hcHBhIE5hZ2FyYWhhbGxpDQo+ID4gPEhvbm5hcHBhLk5hZ2FyYWhhbGxpQGFy bS5jb20+OyBHYXZpbiBIdSAoQXJtIFRlY2hub2xvZ3kgQ2hpbmEpDQo+ID4gPEdhdmluLkh1QGFy bS5jb20+DQo+ID4gU3ViamVjdDogUmU6IFtkcGRrLWRldl0gW1BBVENIIDEvMV0gZWFsOiBhZGQg MTI4LWJpdCBjbXBzZXQgKHg4Ni02NCBvbmx5KQ0KPiA+IA0KPiA+IE9uIE1vbiwgMjAxOS0wMS0y OCBhdCAxMToyOSAtMDYwMCwgR2FnZSBFYWRzIHdyb3RlOg0KPiA+ID4gDQo+ID4gPiBUaGlzIG9w ZXJhdGlvbiBjYW4gYmUgdXNlZCBmb3Igbm9uLWJsb2NraW5nIGFsZ29yaXRobXMsIHN1Y2ggYXMg YQ0KPiA+ID4gbm9uLWJsb2NraW5nIHN0YWNrIG9yIHJpbmcuDQo+ID4gPiANCj4gPiA+IFNpZ25l ZC1vZmYtYnk6IEdhZ2UgRWFkcyA8Z2FnZS5lYWRzQGludGVsLmNvbT4NCj4gPiA+IC0tLQ0KPiA+ ID4gwqAuLi4vY29tbW9uL2luY2x1ZGUvYXJjaC94ODYvcnRlX2F0b21pY182NC5owqDCoMKgwqDC oMKgwqDCoHwgMzEgKysrKysrKysrKysNCj4gPiA+IMKgbGliL2xpYnJ0ZV9lYWwvY29tbW9uL2lu Y2x1ZGUvZ2VuZXJpYy9ydGVfYXRvbWljLmggfCA2NQ0KPiA+ID4gKysrKysrKysrKysrKysrKysr KysrKw0KPiA+ID4gwqAyIGZpbGVzIGNoYW5nZWQsIDk2IGluc2VydGlvbnMoKykNCj4gPiA+IA0K PiA+ID4gZGlmZiAtLWdpdCBhL2xpYi9saWJydGVfZWFsL2NvbW1vbi9pbmNsdWRlL2FyY2gveDg2 L3J0ZV9hdG9taWNfNjQuaA0KPiA+ID4gYi9saWIvbGlicnRlX2VhbC9jb21tb24vaW5jbHVkZS9h cmNoL3g4Ni9ydGVfYXRvbWljXzY0LmgNCj4gPiA+IGluZGV4IGZkMmVjOWM1My4uYjdiOTBiODNl IDEwMDY0NA0KPiA+ID4gLS0tIGEvbGliL2xpYnJ0ZV9lYWwvY29tbW9uL2luY2x1ZGUvYXJjaC94 ODYvcnRlX2F0b21pY182NC5oDQo+ID4gPiArKysgYi9saWIvbGlicnRlX2VhbC9jb21tb24vaW5j bHVkZS9hcmNoL3g4Ni9ydGVfYXRvbWljXzY0LmgNCj4gPiA+IEBAIC0zNCw2ICszNCw3IEBADQo+ ID4gPiDCoC8qDQo+ID4gPiDCoCAqIEluc3BpcmVkIGZyb20gRnJlZUJTRCBzcmMvc3lzL2FtZDY0 L2luY2x1ZGUvYXRvbWljLmgNCj4gPiA+IMKgICogQ29weXJpZ2h0IChjKSAxOTk4IERvdWcgUmFi c29uDQo+ID4gPiArICogQ29weXJpZ2h0IChjKSAyMDE5IEludGVsIENvcnBvcmF0aW9uDQo+ID4g PiDCoCAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuDQo+ID4gPiDCoCAqLw0KPiA+ID4gDQo+ID4gPiBA QCAtNDYsNiArNDcsNyBAQA0KPiA+ID4gDQo+ID4gPiDCoCNpbmNsdWRlIDxzdGRpbnQuaD4NCj4g PiA+IMKgI2luY2x1ZGUgPHJ0ZV9jb21tb24uaD4NCj4gPiA+ICsjaW5jbHVkZSA8cnRlX2NvbXBh dC5oPg0KPiA+ID4gwqAjaW5jbHVkZSA8cnRlX2F0b21pYy5oPg0KPiA+ID4gDQo+ID4gPiDCoC8q LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSA2NCBiaXQgYXRvbWljIG9wZXJhdGlvbnMNCj4gPiA+ IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAtKi8gQEAgLTIwOCw0ICsyMTAsMzMgQEAgc3RhdGlj IGlubGluZSB2b2lkDQo+ID4gPiBydGVfYXRvbWljNjRfY2xlYXIocnRlX2F0b21pYzY0X3QgKnYp DQo+ID4gPiDCoH0NCj4gPiA+IMKgI2VuZGlmDQo+ID4gPiANCj4gPiA+ICtzdGF0aWMgaW5saW5l IGludCBfX3J0ZV9leHBlcmltZW50YWwNCj4gPiBfX3J0ZV9hbHdheXNfaW5saW5lPw0KPiA+IA0K PiA+ID4gDQo+ID4gPiArcnRlX2F0b21pYzEyOF9jbXBzZXQodm9sYXRpbGUgcnRlX2ludDEyOF90 ICpkc3QsDQo+ID4gTm8gbmVlZCB0byBkZWNsYXJlIHRoZSBsb2NhdGlvbiB2b2xhdGlsZS4gVm9s YXRpbGUgZG9lc24ndCBkbyB3aGF0IHlvdSB0aGluaw0KPiA+IGl0DQo+ID4gZG9lcy4NCj4gPiBo dHRwczovL3lvdXR1LmJlL2xrZ3N6a1BuVjhnP3Q9MTAyNw0KPiA+IA0KPiBJIG1hZGUgdGhpcyB2 b2xhdGlsZSB0byBtYXRjaCB0aGUgZXhpc3RpbmcgcnRlX2F0b21pY05fY21wc2V0IGRlZmluaXRp b25zLA0KPiB3aGljaCBwcmVzdW1hYmx5IGhhdmUgYSBnb29kIHJlYXNvbiBmb3IgdXNpbmcgdGhl IGtleXdvcmQuIE1haW50YWluZXJzLCBhbnkNCj4gaW5wdXQgaGVyZT8NCj4gDQo+ID4gDQo+ID4g DQo+ID4gPiANCj4gPiA+ICsJCcKgwqDCoMKgwqBydGVfaW50MTI4X3QgKmV4cCwNCj4gPiBJIHdv dWxkIGRlY2xhcmUgJ2V4cCcgY29uc3QgYXMgd2VsbCBhbmQgZG9jdW1lbnQgdGhhdCAnZXhwJyBp cyBub3QgdXBkYXRlZA0KPiA+ICh3aXRoDQo+ID4gdGhlIG9sZCB2YWx1ZSkgZm9yIGEgZmFpbHVy ZS4gVGhlIHJlYXNvbiBiZWluZyB0aGF0IEFSTXY4LjAvQUFyY2g2NCBjYW5ub3QNCj4gPiBhdG9t aWNhbGx5IHJlYWQgdGhlIG9sZCB2YWx1ZSB3aXRob3V0IGFsc28gd3JpdGluZyB0aGUgbG9jYXRp b24gYW5kIHRoYXQgaXMNCj4gPiBiYWQNCj4gPiBmb3IgcGVyZm9ybWFuY2UgKHVubmVjZXNzYXJ5 IHdyaXRlcyBsZWFkcyB0byB1bm5lY2Vzc2FyeSBjb250ZW50aW9uIGFuZA0KPiA+IHdvcnNlIHNj YWxhYmlsaXR5KS4gQW5kIHRoZSB1c2VyIG11c3QgYW55d2F5IHJlYWQgdGhlIGxvY2F0aW9uIChp biB0aGUgc3RhcnQNCj4gPiBvZg0KPiA+IHRoZSBjcml0aWNhbCBzZWN0aW9uKSB1c2luZyBlLmcu IG5vbi1hdG9taWMgNjQtYml0IHJlYWRzIHNvIHRoZXJlIGlzbid0DQo+ID4gYWN0dWFsbHkgYW55 DQo+ID4gcmVxdWlyZW1lbnQgZm9yIGFuIGF0b21pYyAxMjgtYml0IHJlYWQgb2YgdGhlIGxvY2F0 aW9uLg0KPiA+IA0KPiBXaWxsIGNoYW5nZSBpbiB2Mi4NCj4gDQo+ID4gDQo+ID4gPiANCj4gPiA+ IMKgcnRlX2ludDEyOF90ICpzcmMsDQo+ID4gY29uc3QgcnRlX2ludDEyOF90ICpzcmM/DQo+IFN1 cmUsIEkgZG9uJ3Qgc2VlIGFueSBoYXJtIGluIHVzaW5nIGNvbnN0Lg0KPiANCj4gPiANCj4gPiAN Cj4gPiBCdXQgd2h5IGFyZSB3ZSBub3QgcGFzc2luZyAnZXhwJyBhbmQgJ3NyYycgYnkgdmFsdWU/ IFRoYXQgd29ya3MgZ3JlYXQsIGV2ZW4NCj4gPiB3aXRoDQo+ID4gc3RydWN0cy4gUGFzc2luZyBi eSB2YWx1ZSBzaW1wbGlmaWVzIHRoZSBjb21waWxlcidzIGxpZmUsIGVzcGVjaWFsbHkgaWYgdGhl DQo+ID4gY2FsbCBpcw0KPiA+IGlubGluZWQuIEFzayBhIGNvbXBpbGVyIGRldmVsb3Blci4NCj4g SSByYW4gb2JqZHVtcCBvbiB0aGUgbmJfc3RhY2sgY29kZSB3aXRoIGJvdGggYXBwcm9hY2hlcywg YW5kIHBhc3MtYnktcmVmZXJlbmNlIA0KPiByZXN1bHRlZCBpbiBmZXdlciBvdmVyYWxsIHg4Nl82 NCBhc3NlbWJseSBvcHMuDQo+IFBCVjogMTAwIG9wcyBmb3IgcHVzaCwgOTcgb3BzIGZvciBwb3AN Cj4gUEJSOiA5MiBvcHMgZm9yIHB1c2gsIDg0IG9wcyBmb3IgcG9wDQpPSyBJIGhhdmUgbmV2ZXIg Y2hlY2tlZCB4ODZfNjQgY29kZSBnZW5lcmF0aW9uLi4uIEkgaGF2ZSBnb29kIGV4cGVyaWVuY2Vz IHdpdGgNCkFSTS9BQXJjaDY0LCBldmVyeXRoaW5nIHNlZW1zIHRvIGJlIGRvbmUgdXNpbmcgcmVn aXN0ZXJzLiBJIGFtIHN1cnByaXNlZCB0aGVyZQ0KaXMgYSBkaWZmZXJlbmNlLg0KDQpEaWQgYSBx dWljayBjaGVjayB3aXRoIGxmcmluZywgcGFzc2luZyAnc3JjJyAodGhpcmQgcGFyYW0pIGJ5IHJl ZmVyZW5jZSBhbmQgYnkNCnZhbHVlLiBObyBkaWZmZXJlbmNlIGluIGNvZGUgZ2VuZXJhdGlvbiBv biB4ODZfNjQuDQoNCkJ1dCBpZiB5b3UgaW5zaXN0IGxldCdzIGdvIHdpdGggUEJSLg0KDQo+IA0K PiAoVXNpbmcgdGhlIGluLXByb2dyZXNzIHY1IG5iX3N0YWNrIGNvZGUpDQo+IA0KPiBBbm90aGVy IGZhY3RvciAtLSB0aG91Z2ggbXVjaCBsZXNzIGNvbXBlbGxpbmcgLS0gaXMgdGhhdCB3aXRoIHBh c3MtYnktDQo+IHJlZmVyZW5jZSwgdGhlIHVzZXIgY2FuIGNyZWF0ZSBhIDE2QiBzdHJ1Y3R1cmUg YW5kIGNhc3QgaXQgdG8gcnRlX2ludDEyOF90DQo+IHdoZW4gdGhleSBjYWxsIHJ0ZV9hdG9taWMx MjhfY21wc2V0LCB3aGVyZWFzIHdpdGggcGFzcy1ieS12YWx1ZSB0aGV5IG5lZWQgdG8NCj4gcHV0 IHRoYXQgc3RydWN0IGluIGEgdW5pb24gd2l0aCBydGVfaW50MTI4X3QuDQpXaGljaCBpcyB3aGF0 IEkgYWx3YXlzIGRvIG5vd2FkYXlzLi4uIFRyeWluZyB0byB1c2UgYXMgZmV3IGNhc3RzIGFzIHBv c3NpYmxlIGFuZA0KbGllIHRvIHRoZSBjb21waWxlciBhcyBzZWxkb20gYXMgcG9zc2libGUuIEJ1 dCBJIGNhbiBzZWUgdGhlIGZyZWVkb20gcHJvdmlkZWQgYnkNCnRha2luZyBhIHBvaW50ZXIgdG8g c29tZXRoaW5nIGFuZCBjYXN0IGl0IGl0IHJ0ZV9pbnQxMjhfdCBwdHIgaW4gdGhlIGNhbGwNCnRv wqBydGVfYXRvbWljMTI4X2NtcHNldCgpLg0KDQpXb3VsZCBwcmVmZXIgYSBuYW1lIHRoYXQgaXMg bW9yZSBzaW1pbGFyIHRvIF9fYXRvbWljX2NvbXBhcmVfZXhjaGFuZ2UoKS4gRS5nLg0KcnRlX2F0 b21pYzEyOF9jb21wYXJlX2V4Y2hhbmdlKCkgKG9yIHBlcmhhcHMganVzdCBydGVfYXRvbWljMTI4 X2NtcHhjaGcpPyBBbGwNCnRoZSBydGVfYXRvbWljWFhfY21wc2V0KCkgZnVuY3Rpb25zIGRvIG5v dCB0YWtlIGFueSBtZW1vcnkgb3JkZXIgcGFyYW1ldGVycy4NCkZyb20gYW4gQXJtIHBlcnNwZWN0 aXZlLCB3ZSBhcmUgbm90IGhhcHB5IHdpdGggdGhhdC4NCg0KPiANCj4gPiANCj4gPiANCj4gPiA+ IA0KPiA+ID4gKwkJwqDCoMKgwqDCoHVuc2lnbmVkIGludCB3ZWFrLA0KPiA+ID4gKwkJwqDCoMKg wqDCoGVudW0gcnRlX2F0b21pY19tZW1tb2RlbF90IHN1Y2Nlc3MsDQo+ID4gPiArCQnCoMKgwqDC oMKgZW51bSBydGVfYXRvbWljX21lbW1vZGVsX3QgZmFpbHVyZSkgew0KPiA+ID4gKwlSVEVfU0VU X1VTRUQod2Vhayk7DQo+ID4gPiArCVJURV9TRVRfVVNFRChzdWNjZXNzKTsNCj4gPiA+ICsJUlRF X1NFVF9VU0VEKGZhaWx1cmUpOw0KPiA+ID4gKwl1aW50OF90IHJlczsNCj4gPiA+ICsNCj4gPiA+ ICsJYXNtIHZvbGF0aWxlICgNCj4gPiA+ICsJCcKgwqDCoMKgwqDCoE1QTE9DS0VEDQo+ID4gPiAr CQnCoMKgwqDCoMKgwqAiY21weGNoZzE2YiAlW2RzdF07Ig0KPiA+ID4gKwkJwqDCoMKgwqDCoMKg IiBzZXRlICVbcmVzXSINCj4gPiA+ICsJCcKgwqDCoMKgwqDCoDogW2RzdF0gIj1tIiAoZHN0LT52 YWxbMF0pLA0KPiA+ID4gKwkJCSI9QSIgKGV4cC0+dmFsWzBdKSwNCj4gPiA+ICsJCQlbcmVzXSAi PXIiIChyZXMpDQo+ID4gPiArCQnCoMKgwqDCoMKgwqA6ICJjIiAoc3JjLT52YWxbMV0pLA0KPiA+ ID4gKwkJCSJiIiAoc3JjLT52YWxbMF0pLA0KPiA+ID4gKwkJCSJtIiAoZHN0LT52YWxbMF0pLA0K PiA+ID4gKwkJCSJkIiAoZXhwLT52YWxbMV0pLA0KPiA+ID4gKwkJCSJhIiAoZXhwLT52YWxbMF0p DQo+ID4gPiArCQnCoMKgwqDCoMKgwqA6ICJtZW1vcnkiKTsNCj4gPiA+ICsNCj4gPiA+ICsJcmV0 dXJuIHJlczsNCj4gPiA+ICt9DQo+ID4gPiArDQo+ID4gPiDCoCNlbmRpZiAvKiBfUlRFX0FUT01J Q19YODZfNjRfSF8gKi8NCj4gPiA+IGRpZmYgLS1naXQgYS9saWIvbGlicnRlX2VhbC9jb21tb24v aW5jbHVkZS9nZW5lcmljL3J0ZV9hdG9taWMuaA0KPiA+ID4gYi9saWIvbGlicnRlX2VhbC9jb21t b24vaW5jbHVkZS9nZW5lcmljL3J0ZV9hdG9taWMuaA0KPiA+ID4gaW5kZXggYjk5YmE0Njg4Li44 ZDYxMmQ1NjYgMTAwNjQ0DQo+ID4gPiAtLS0gYS9saWIvbGlicnRlX2VhbC9jb21tb24vaW5jbHVk ZS9nZW5lcmljL3J0ZV9hdG9taWMuaA0KPiA+ID4gKysrIGIvbGliL2xpYnJ0ZV9lYWwvY29tbW9u L2luY2x1ZGUvZ2VuZXJpYy9ydGVfYXRvbWljLmgNCj4gPiA+IEBAIC0xNCw2ICsxNCw3IEBADQo+ ID4gPiANCj4gPiA+IMKgI2luY2x1ZGUgPHN0ZGludC5oPg0KPiA+ID4gwqAjaW5jbHVkZSA8cnRl X2NvbW1vbi5oPg0KPiA+ID4gKyNpbmNsdWRlIDxydGVfY29tcGF0Lmg+DQo+ID4gPiANCj4gPiA+ IMKgI2lmZGVmIF9fRE9YWUdFTl9fDQo+ID4gPiANCj4gPiA+IEBAIC0xMDgyLDQgKzEwODMsNjgg QEAgc3RhdGljIGlubGluZSB2b2lkDQo+ID4gPiBydGVfYXRvbWljNjRfY2xlYXIocnRlX2F0b21p YzY0X3QNCj4gPiA+ICp2KQ0KPiA+ID4gwqB9DQo+ID4gPiDCoCNlbmRpZg0KPiA+ID4gDQo+ID4g PiArLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gMTI4IGJpdCBhdG9taWMgb3BlcmF0aW9ucw0K PiA+ID4gKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KPiA+ID4gLSovDQo+ID4gPiArDQo+ID4g PiArLyoqDQo+ID4gPiArICogMTI4LWJpdCBpbnRlZ2VyIHN0cnVjdHVyZS4NCj4gPiA+ICsgKi8N Cj4gPiA+ICt0eXBlZGVmIHN0cnVjdCB7DQo+ID4gPiArCXVpbnQ2NF90IHZhbFsyXTsNCj4gPiA+ ICt9IF9fcnRlX2FsaWduZWQoMTYpIHJ0ZV9pbnQxMjhfdDsNCj4gPiBTbyB3ZSBjYW4ndCB1c2Ug X19pbnQxMjg/DQo+ID4gDQo+IEknbGwgcHV0IGl0IGluIGEgdW5pb24gd2l0aCB2YWxbMl0sIGlu IGNhc2UgYW55IGltcGxlbWVudGF0aW9ucyB3YW50IHRvIHVzZQ0KPiBpdC4NClRoaW5raW5nIG9u IHRoaXMgb25lIG1vcmUgdGltZSwgc2luY2UgdGhlIGlubGluZSBhc20gZnVuY3Rpb25zIChlLmcu IGZvciB4ODZfNjQNCmNtcHhjaGcxNmIgYW5kIGZvciBBQXJjaDY0IExEWFAvU1RYUCkgYW55d2F5 IHdpbGwgdXNlIDY0LWJpdCByZWdpc3RlcnMsIGl0IG1ha2VzDQptb3N0IHNlbnNlIHRvIG1ha2Ug cnRlX2ludDEyOF90IGEgc3RydWN0IG9mIDJ4NjRiLiBUaGUgcXVlc3Rpb24gaXMgd2hldGhlciB0 bw0KdXNlIGFuIGFycmF5IGxpa2UgYWJvdmUgb3IgYSBzdHJ1Y3Qgd2l0aCB0d28gZWxlbWVudHMg KHdoaWNoIEkgbm9ybWFsbHkgZG8NCmludGVybmFsbHkpLiBDYW4geW91IGNvbXBhcmUgY29kZSBn ZW5lcmF0aW9uIHdpdGggdGhlIGZvbGxvd2luZyBkZWZpbml0aW9uPw0KdHlwZWRlZiBzdHJ1Y3Qg ew0KwqAgwqAgwqAgwqAgdWludDY0X3QgbG8sIGhpOw0KfSBfX3J0ZV9hbGlnbmVkKDE2KSBydGVf aW50MTI4X3Q7DQoNCj4gDQo+IFRoYW5rcywNCj4gR2FnZQ0KPiANCj4gW3NuaXBdDQotLSANCk9s YSBMaWxqZWRhaGwsIE5ldHdvcmtpbmcgU3lzdGVtIEFyY2hpdGVjdCwgQXJtDQpQaG9uZSArNDY3 MDY4NjYzNzMsIFNreXBlIG9sYS5saWxqZWRhaGwNCg0K