From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from huawei.com (szxga02-in.huawei.com [45.249.212.188]) by dpdk.org (Postfix) with ESMTP id 9DD654C9D for ; Wed, 6 Mar 2019 10:42:38 +0100 (CET) Received: from DGGEML404-HUB.china.huawei.com (unknown [172.30.72.56]) by Forcepoint Email with ESMTP id 050C6C06CA7247793E5A; Wed, 6 Mar 2019 17:42:35 +0800 (CST) Received: from DGGEML424-HUB.china.huawei.com (10.1.199.41) by DGGEML404-HUB.china.huawei.com (10.3.17.39) with Microsoft SMTP Server (TLS) id 14.3.408.0; Wed, 6 Mar 2019 17:42:34 +0800 Received: from DGGEML529-MBX.china.huawei.com ([169.254.6.187]) by dggeml424-hub.china.huawei.com ([10.1.199.41]) with mapi id 14.03.0415.000; Wed, 6 Mar 2019 17:42:27 +0800 From: "Zhaohui (zhaohui, Polestar)" To: Shahaf Shuler , "dev@dpdk.org" , Yongseok Koh , Chas Williams , "Declan Doherty" CC: xudingke , chenchanghu , wangyunjian Thread-Topic: =?utf-8?B?IFtkcGRrLWRldl0gU2VnZmF1bHQgd2hlbiBlYWwgdGhyZWFkIGV4ZWN1dGlu?= =?utf-8?B?ZyBtbHg1IG5pY+KAmHMgbHNjIGV2ZW50?= Thread-Index: AdTTwhfWH9y8X4ClSLK4/Cyg9KkQKgAH3PlwAAdtWvA= Date: Wed, 6 Mar 2019 09:42:26 +0000 Message-ID: References: In-Reply-To: Accept-Language: en-US Content-Language: zh-CN X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [10.62.33.217] Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-CFilter-Loop: Reflected X-Mailman-Approved-At: Wed, 06 Mar 2019 17:00:18 +0100 Subject: [dpdk-dev] =?utf-8?b?562U5aSNOiAgIFNlZ2ZhdWx0IHdoZW4gZWFsIHRocmVh?= =?utf-8?q?d_executing_mlx5_nic=E2=80=98s_lsc_event?= 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: Wed, 06 Mar 2019 09:42:40 -0000 SGkgV2lsbGlhbXPvvJoNCglXZSBoYXZlIHNvbWUgcXVlc3Rpb25zIHRoYXQgbmVlZCB5b3VyIGhl bHAuIEFib3V0IOKAnFNlZ2ZhdWx0IHdoZW4gZWFsIHRocmVhZCBleGVjdXRpbmcgbWx4NSBuaWPi gJhzIGxzYyBldmVudOKAnS4NCkluIG9yZGVyIHRvIHNvbHZlIHRoaXMgcHJvYmxlbShjb3JlIGR1 bXApLCBXaGF0IHNob3VsZCB3ZSBkbz8oIExvb2tpbmcgZm9yd2FyZCB0byB5b3VyIHJlcGx577yJ DQoJCQkJCQkJCQkJCQkJCQkJCQkJCVRoYW5rcw0KCQkJCQkJCQkJCQkgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBieSB6aGFvaHVpDQoNCi0tLS0t6YKu5Lu25Y6f5Lu2LS0tLS0N CuWPkeS7tuS6ujogU2hhaGFmIFNodWxlciBbbWFpbHRvOnNoYWhhZnNAbWVsbGFub3guY29tXSAN CuWPkemAgeaXtumXtDogMjAxOeW5tDPmnIg25pelIDE0OjAzDQrmlLbku7bkuro6IFpoYW9odWkg KHpoYW9odWksIFBvbGVzdGFyKSA8emhhb2h1aThAaHVhd2VpLmNvbT47IGRldkBkcGRrLm9yZzsg WW9uZ3Nlb2sgS29oIDx5c2tvaEBtZWxsYW5veC5jb20+DQrmioTpgIE6IHh1ZGluZ2tlIDx4dWRp bmdrZUBodWF3ZWkuY29tPjsgY2hlbmNoYW5naHUgPGNoZW5jaGFuZ2h1QGh1YXdlaS5jb20+OyB3 YW5neXVuamlhbiA8d2FuZ3l1bmppYW5AaHVhd2VpLmNvbT4NCuS4u+mimDogUkU6IFtkcGRrLWRl dl0gU2VnZmF1bHQgd2hlbiBlYWwgdGhyZWFkIGV4ZWN1dGluZyBtbHg1IG5pY+KAmHMgbHNjIGV2 ZW50DQoNCkhpIFl1bmppYW4sDQoNCldlZG5lc2RheSwgTWFyY2ggNiwgMjAxOSA1OjA2IEFNLCBa aGFvaHVpICh6aGFvaHVpLCBQb2xlc3Rhcik6DQo+IFN1YmplY3Q6IFtkcGRrLWRldl0gU2VnZmF1 bHQgd2hlbiBlYWwgdGhyZWFkIGV4ZWN1dGluZyBtbHg1IG5pY+KAmHMgbHNjIA0KPiBldmVudA0K PiANCj4gSGk6DQo+ICAgICBJIHRoaW5rIHRoZSBmbG93IGxpc3QgbWF5IGJlIGFjY2Vzc2VkIGlu IHRoZSBzYW1lIHRpbWUgYnkgdHdvIA0KPiBkaWZmZXJlbnQgdGhyZWFkcyBhbmQgbWF5IGNhdXNl IHNvbWUgZXJyb3JzLiBEbyBpdCBuZWVkIGEgbG9jayB0byBwcm90ZWN0IHRoZSBmbG93IGxpc3Q/ DQoNCkluIGdlbmVyYWwgaXQgaXMgdGhlIGFwcGxpY2F0aW9uIHJlc3BvbnNpYmlsaXR5IHRvIHN5 bmNocm9uaXplIHRoZSBjb250cm9sIGJldHdlZW4gdGhlIGRpZmZlcmVudCB0aHJlYWRzLiBUaGUg UE1EIGRvZXMgbm90IHN1cHBvcnQgbXVsdGktdGhyZWFkIGNvbnRyb2wgd2hhdCBzbyBldmVyLiAN Cg0KT24gdGhpcyBzcGVjaWZpYyBjYXNlLCB3aGVuIHdvcmtpbmcgb24gdG9wIG9mIGJvbmQsIHRo ZSBib25kIHJlYWN0cyB0byB0aGUgTFNDIGV2ZW50IHdoaWxlLCBJIGFzc3VtZSwgeW91ciBhcHBs aWNhdGlvbiBpcyBpbnNlcnRpbmcvZGVsZXRpbmcgcnVsZXMgdXNpbmcgcnRlX2Zsb3cgQVBJcy4g DQoNClRoZSByaWdodCBmaXggc2hvdWxkIGJlIGZvciB0aGUgYm9uZCBQTUQgdG8gbXV0ZXggYmVm b3JlIGNhbGxpbmcgcnRlX2V0aF9kZXZfZGVmYXVsdF9tYWNfYWRkcl9zZXQuIA0KDQo+IA0KPiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUaGFua3MNCj4gICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCj4gWXVuamlh bg0KPiAoZ2RiKSBidA0KPiAjMCAweDAwMDA3ZjU0Yzk2NDEyMzcgaW4gcmFpc2UgKCkgZnJvbSAv dXNyL2xpYjY0L2xpYmMuc28uNg0KPiAjMSAweDAwMDA3ZjU0Yzk2NDI5MjggaW4gYWJvcnQgKCkg ZnJvbSAvdXNyL2xpYjY0L2xpYmMuc28uNg0KPiAjMiAweDAwMDAwMDAwMDA2YTg3NDkgaW4gUEFU X2Fib3J0ICgpDQo+ICMzIDB4MDAwMDAwMDAwMDZhNTg4ZCBpbiBwYXRjaElsbEluc0hhbmRsZXIg KCkNCj4gIzQgPHNpZ25hbCBoYW5kbGVyIGNhbGxlZD4NCj4gIzUgMHgwMDAwN2Y1NGM2YWNkMmM4 IGluIGZsb3dfbGlzdF9kZXN0cm95IChkZXY9ZGV2QGVudHJ5PTB4YWQ4OTQwIA0KPiA8cnRlX2V0 aF9kZXZpY2VzKzE2NTEyPiwgZmxvdz0weDE0NDRiMWIwMCwgbGlzdD0weDE0NDU1ZTYxOCkgYXQN Cj4gL3Vzci9zcmMvZGVidWcvZHBkay1tbHg0LXBtZC0xOC4xMS9kcml2ZXJzL25ldC9tbHg1L21s eDVfZmxvdy5jOjIxNTANCj4gIzYgMHgwMDAwN2Y1NGM2YWNmZTFiIGluIG1seDVfZmxvd19saXN0 X2ZsdXNoIChkZXY9MHhhZDg5NDAgDQo+IDxydGVfZXRoX2RldmljZXMrMTY1MTI+LCBsaXN0PTB4 MTQ0NTVlNjE4KSBhdCANCj4gL3Vzci9zcmMvZGVidWcvZHBkay1tbHg0LQ0KPiBwbWQtMTguMTEv ZHJpdmVycy9uZXQvbWx4NS9tbHg1X2Zsb3cuYzoyMTcwDQo+ICM3IDB4MDAwMDdmNTRjNmFjNWNj NCBpbiBtbHg1X3RyYWZmaWNfZGlzYWJsZSAoZGV2PTxvcHRpbWl6ZWQgb3V0PikgYXQNCj4gL3Vz ci9zcmMvZGVidWcvZHBkay1tbHg0LXBtZC0xOC4xMS9kcml2ZXJzL25ldC9tbHg1L21seDVfdHJp Z2dlci5jOjM4NA0KPiAjOCAweDAwMDA3ZjU0YzZhYzYzN2QgaW4gbWx4NV90cmFmZmljX3Jlc3Rh cnQgKGRldj0weGFkODk0MA0KPiA8cnRlX2V0aF9kZXZpY2VzKzE2NTEyPikgYXQgL3Vzci9zcmMv ZGVidWcvZHBkay1tbHg0LXBtZC0NCj4gMTguMTEvZHJpdmVycy9uZXQvbWx4NS9tbHg1X3RyaWdn ZXIuYzo0MDANCj4gIzkgMHgwMDAwN2Y1NGQxZGIzYmJhIGluIHJ0ZV9ldGhfZGV2X2RlZmF1bHRf bWFjX2FkZHJfc2V0IA0KPiAocG9ydF9pZD08b3B0aW1pemVkIG91dD4sIGFkZHI9MHgxNDAyMDBm NDApIGF0IC91c3Ivc3JjL2RlYnVnL2RwZGstDQo+IDE4LjExL2xpYi9saWJydGVfZXRoZGV2L3J0 ZV9ldGhkZXYuYzozMjMwDQo+ICMxMCAweDAwMDA3ZjU0Y2Q4ZGVlODEgaW4gbWFjX2FkZHJlc3Nf c2xhdmVzX3VwZGF0ZQ0KPiAoYm9uZGVkX2V0aF9kZXY9Ym9uZGVkX2V0aF9kZXZAZW50cnk9MHhh ZDQ4YzAgPHJ0ZV9ldGhfZGV2aWNlcz4pIGF0IA0KPiAvdXNyL3NyYy9kZWJ1Zy9kcGRrLQ0KPiAx OC4xMS9kcml2ZXJzL25ldC9ib25kaW5nL3J0ZV9ldGhfYm9uZF9wbWQuYzoxODQyDQo+ICMxMSAw eDAwMDA3ZjU0Y2Q4ZTBjMzEgaW4gYm9uZF9ldGhkZXZfbHNjX2V2ZW50X2NhbGxiYWNrIA0KPiAo cG9ydF9pZD08b3B0aW1pemVkIG91dD4sIHR5cGU9PG9wdGltaXplZCBvdXQ+LCBwYXJhbT08b3B0 aW1pemVkIG91dD4sIA0KPiByZXRfcGFyYW09PG9wdGltaXplZCBvdXQ+KSBhdCAvdXNyL3NyYy9k ZWJ1Zy9kcGRrLQ0KPiAxOC4xMS9kcml2ZXJzL25ldC9ib25kaW5nL3J0ZV9ldGhfYm9uZF9wbWQu YzozMDcwDQo+ICMxMiAweDAwMDA3ZjU0Y2Q4ZTExN2IgaW4gYm9uZF9ldGhkZXZfc2xhdmVfbHNj X2RlbGF5IChjYl9hcmc9MHhhZDQ4YzANCj4gPHJ0ZV9ldGhfZGV2aWNlcz4pIGF0IC91c3Ivc3Jj L2RlYnVnL2RwZGstDQo+IDE4LjExL2RyaXZlcnMvbmV0L2JvbmRpbmcvcnRlX2V0aF9ib25kX3Bt ZC5jOjIyOTgNCj4gIzEzIDB4MDAwMDdmNTRkMjVlYmU1ZiBpbiBlYWxfYWxhcm1fY2FsbGJhY2sg KGFyZz08b3B0aW1pemVkIG91dD4pIGF0DQo+IC91c3Ivc3JjL2RlYnVnL2RwZGstMTguMTEvbGli L2xpYnJ0ZV9lYWwvbGludXhhcHAvZWFsL2VhbF9hbGFybS5jOjkwDQo+ICMxNCAweDAwMDA3ZjU0 ZDI1ZWE4YWEgaW4gZWFsX2ludHJfcHJvY2Vzc19pbnRlcnJ1cHRzIChuZmRzPTxvcHRpbWl6ZWQN Cj4gb3V0PiwgZXZlbnRzPTxvcHRpbWl6ZWQgb3V0PikgYXQgL3Vzci9zcmMvZGVidWcvZHBkay0N Cj4gMTguMTEvbGliL2xpYnJ0ZV9lYWwvbGludXhhcHAvZWFsL2VhbF9pbnRlcnJ1cHRzLmM6ODM4 DQo+ICMxNSBlYWxfaW50cl9oYW5kbGVfaW50ZXJydXB0cyAodG90YWxmZHM9PG9wdGltaXplZCBv dXQ+LCBwZmQ9MjEpIGF0DQo+IC91c3Ivc3JjL2RlYnVnL2RwZGstMTguMTEvbGliL2xpYnJ0ZV9l YWwvbGludXhhcHAvZWFsL2VhbF9pbnRlcnJ1cHRzLmMNCj4gOjg4NQ0KPiAjMTYgZWFsX2ludHJf dGhyZWFkX21haW4gKGFyZz08b3B0aW1pemVkIG91dD4pIGF0IC91c3Ivc3JjL2RlYnVnL2RwZGst DQo+IDE4LjExL2xpYi9saWJydGVfZWFsL2xpbnV4YXBwL2VhbC9lYWxfaW50ZXJydXB0cy5jOjk2 NQ0KPiAjMTcgMHgwMDAwN2Y1NGNhZGU2ZGQ1IGluIHN0YXJ0X3RocmVhZCAoKSBmcm9tIA0KPiAv dXNyL2xpYjY0L2xpYnB0aHJlYWQuc28uMA0KPiAjMTggMHgwMDAwN2Y1NGM5NzA5NTBkIGluIGNs b25lICgpIGZyb20gL3Vzci9saWI2NC9saWJjLnNvLjYNCj4gDQo+IA0KPiBJbiBvcmRlciB0byBz b2x2ZSB0aGlzIHByb2JsZW0oY29yZSBkdW1wKS4gU29tZXRoaW5nIG1vZGlmaWVkIGxpa2UgDQo+ IHRoaXM677yIDQo+IExvb2tpbmcgZm9yd2FyZCB0byB5b3VyIHJlcGx577yJDQo+IA0KPiBGcm9t OiB6aGFvaHVpOCA8emhhb2h1aThAaHVhd2VpLmNvbT4NCj4gLS0tDQo+ICBkcml2ZXJzL25ldC9t bHg1L21seDUuYyAgICAgICAgIHwgIDEgKw0KPiAgZHJpdmVycy9uZXQvbWx4NS9tbHg1LmggICAg ICAgICB8ICAxICsNCj4gIGRyaXZlcnMvbmV0L21seDUvbWx4NV9mbG93LmMgICAgIHwgIDMzICsr KysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tDQo+IC0NCj4gIGRyaXZlcnMvbmV0L21seDUv bWx4NV90cmlnZ2VyLmMgICB8ICAxMiArKysrKysrKysrKy0NCj4gIDQgZmlsZXMgY2hhbmdlZCwg MzkgaW5zZXJ0aW9ucygrKSwgOCBkZWxldGlvbnMoLSkNCj4gDQo+IGRpZmYgLS1naXQgYS9kcml2 ZXJzL25ldC9tbHg1L21seDUuYyBiL2RyaXZlcnMvbmV0L21seDUvbWx4NS5jIGluZGV4DQo+IDll NWNhYjEuLmU4YWU4MTYgMTAwNjQ0DQo+IC0tLSBhL2RyaXZlcnMvbmV0L21seDUvbWx4NS5jDQo+ ICsrKyBiL2RyaXZlcnMvbmV0L21seDUvbWx4NS5jDQo+IEBAIC0xMTk1LDYgKzExOTUsNyBAQA0K PiAgCQkJcHJpdi0+dGNmX2NvbnRleHQgPSBOVUxMOw0KPiAgCQl9DQo+ICAJfQ0KPiArCXJ0ZV9y d2xvY2tfaW5pdCgmcHJpdi0+Zmxvd3Nfcndsb2NrKTsNCj4gIAlUQUlMUV9JTklUKCZwcml2LT5m bG93cyk7DQo+ICAJVEFJTFFfSU5JVCgmcHJpdi0+Y3RybF9mbG93cyk7DQo+ICAJLyogSGludCBs aWJtbHg1IHRvIHVzZSBQTUQgYWxsb2NhdG9yIGZvciBkYXRhIHBsYW5lIHJlc291cmNlcyAqLyAN Cj4gZGlmZiAtLSBnaXQgYS9kcml2ZXJzL25ldC9tbHg1L21seDUuaCBiL2RyaXZlcnMvbmV0L21s eDUvbWx4NS5oIGluZGV4IA0KPiBiYzUwMGIyLi5jYjg2NTdjIDEwMDY0NA0KPiAtLS0gYS9kcml2 ZXJzL25ldC9tbHg1L21seDUuaA0KPiArKysgYi9kcml2ZXJzL25ldC9tbHg1L21seDUuaA0KPiBA QCAtMjAyLDYgKzIwMiw3IEBAIHN0cnVjdCBwcml2IHsNCj4gIAl1bnNpZ25lZCBpbnQgKCpyZXRh X2lkeClbXTsgLyogUkVUQSBpbmRleCB0YWJsZS4gKi8NCj4gIAl1bnNpZ25lZCBpbnQgcmV0YV9p ZHhfbjsgLyogUkVUQSBpbmRleCBzaXplLiAqLw0KPiAgCXN0cnVjdCBtbHg1X2Ryb3AgZHJvcF9x dWV1ZTsgLyogRmxvdyBkcm9wIHF1ZXVlcy4gKi8NCj4gKwlydGVfcndsb2NrX3QgZmxvd3Nfcnds b2NrOyAvKiBmbG93cyBMb2NrLiAqLw0KPiAgCXN0cnVjdCBtbHg1X2Zsb3dzIGZsb3dzOyAvKiBS VEUgRmxvdyBydWxlcy4gKi8NCj4gIAlzdHJ1Y3QgbWx4NV9mbG93cyBjdHJsX2Zsb3dzOyAvKiBD b250cm9sIGZsb3cgcnVsZXMuICovDQo+ICAJTElTVF9IRUFEKGNvdW50ZXJzLCBtbHg1X2Zsb3df Y291bnRlcikgZmxvd19jb3VudGVyczsgZGlmZiAtLWdpdCANCj4gYS9kcml2ZXJzL25ldC9tbHg1 L21seDVfZmxvdy5jIGIvZHJpdmVycy9uZXQvbWx4NS9tbHg1X2Zsb3cuYyBpbmRleA0KPiA5N2Rj M2UxLi4yYzE4NjAyIDEwMDY0NA0KPiAtLS0gYS9kcml2ZXJzL25ldC9tbHg1L21seDVfZmxvdy5j DQo+ICsrKyBiL2RyaXZlcnMvbmV0L21seDUvbWx4NV9mbG93LmMNCj4gQEAgLTIxMjEsOSArMjEy MSwxMyBAQCBzdHJ1Y3QgcnRlX2Zsb3cgKg0KPiAgCQkgY29uc3Qgc3RydWN0IHJ0ZV9mbG93X2Fj dGlvbiBhY3Rpb25zW10sDQo+ICAJCSBzdHJ1Y3QgcnRlX2Zsb3dfZXJyb3IgKmVycm9yKQ0KPiAg ew0KPiAtCXJldHVybiBmbG93X2xpc3RfY3JlYXRlKGRldiwNCj4gKwlzdHJ1Y3QgcnRlX2Zsb3cg KiBmbG93Ow0KPiArCXJ0ZV9yd2xvY2tfd3JpdGVfbG9jaygmKChzdHJ1Y3QgcHJpdiAqKWRldi0+ ZGF0YS0+ZGV2X3ByaXZhdGUpLQ0KPiA+Zmxvd3Nfcndsb2NrKTsNCj4gKwlmbG93ID0gZmxvd19s aXN0X2NyZWF0ZShkZXYsDQo+ICAJCQkJJigoc3RydWN0IHByaXYgKilkZXYtPmRhdGEtPmRldl9w cml2YXRlKS0NCj4gPmZsb3dzLA0KPiAgCQkJCWF0dHIsIGl0ZW1zLCBhY3Rpb25zLCBlcnJvcik7 DQo+ICsJcnRlX3J3bG9ja193cml0ZV91bmxvY2soJigoc3RydWN0IHByaXYgKilkZXYtPmRhdGEt PmRldl9wcml2YXRlKS0NCj4gPmZsb3dzX3J3bG9jayk7DQo+ICsJcmV0dXJuIGZsb3c7DQo+ICB9 DQo+IA0KPiAgLyoqDQo+IEBAIC0yMjM1LDEyICsyMjM5LDEzIEBAIHN0cnVjdCBydGVfZmxvdyAq DQo+ICAJc3RydWN0IHByaXYgKnByaXYgPSBkZXYtPmRhdGEtPmRldl9wcml2YXRlOw0KPiAgCXN0 cnVjdCBydGVfZmxvdyAqZmxvdzsNCj4gIAlpbnQgcmV0ID0gMDsNCj4gLQ0KPiArCXJ0ZV9yd2xv Y2tfcmVhZF9sb2NrKCZwcml2LT5mbG93c19yd2xvY2spOw0KPiAgCVRBSUxRX0ZPUkVBQ0goZmxv dywgJnByaXYtPmZsb3dzLCBuZXh0KSB7DQo+ICAJCURSVl9MT0coREVCVUcsICJwb3J0ICV1IGZs b3cgJXAgc3RpbGwgcmVmZXJlbmNlZCIsDQo+ICAJCQlkZXYtPmRhdGEtPnBvcnRfaWQsICh2b2lk ICopZmxvdyk7DQo+ICAJCSsrcmV0Ow0KPiAgCX0NCj4gKwlydGVfcndsb2NrX3JlYWRfdW5sb2Nr KCZwcml2LT5mbG93c19yd2xvY2spOw0KPiAgCXJldHVybiByZXQ7DQo+ICB9DQo+IA0KPiBAQCAt MjMyMCwxMCArMjMyNSwxNCBAQCBzdHJ1Y3QgcnRlX2Zsb3cgKg0KPiAgCX0NCj4gIAlmb3IgKGkg PSAwOyBpICE9IHByaXYtPnJldGFfaWR4X247ICsraSkNCj4gIAkJcXVldWVbaV0gPSAoKnByaXYt PnJldGFfaWR4KVtpXTsNCj4gKwlydGVfcndsb2NrX3dyaXRlX2xvY2soJnByaXYtPmZsb3dzX3J3 bG9jayk7DQo+ICAJZmxvdyA9IGZsb3dfbGlzdF9jcmVhdGUoZGV2LCAmcHJpdi0+Y3RybF9mbG93 cywNCj4gIAkJCQkmYXR0ciwgaXRlbXMsIGFjdGlvbnMsICZlcnJvcik7DQo+IC0JaWYgKCFmbG93 KQ0KPiArCWlmICghZmxvdykgew0KPiArCQlydGVfcndsb2NrX3dyaXRlX3VubG9jaygmcHJpdi0+ Zmxvd3Nfcndsb2NrKTsNCj4gIAkJcmV0dXJuIC1ydGVfZXJybm87DQo+ICsJfQ0KPiArCXJ0ZV9y d2xvY2tfd3JpdGVfdW5sb2NrKCZwcml2LT5mbG93c19yd2xvY2spOw0KPiAgCXJldHVybiAwOw0K PiAgfQ0KPiANCj4gQEAgLTIzNjAsOCArMjM2OSw5IEBAIHN0cnVjdCBydGVfZmxvdyAqDQo+ICAJ CSAgc3RydWN0IHJ0ZV9mbG93X2Vycm9yICplcnJvciBfX3J0ZV91bnVzZWQpICB7DQo+ICAJc3Ry dWN0IHByaXYgKnByaXYgPSBkZXYtPmRhdGEtPmRldl9wcml2YXRlOw0KPiAtDQo+ICsJcnRlX3J3 bG9ja193cml0ZV9sb2NrKCZwcml2LT5mbG93c19yd2xvY2spOw0KPiAgCWZsb3dfbGlzdF9kZXN0 cm95KGRldiwgJnByaXYtPmZsb3dzLCBmbG93KTsNCj4gKwlydGVfcndsb2NrX3dyaXRlX3VubG9j aygmcHJpdi0+Zmxvd3Nfcndsb2NrKTsNCj4gIAlyZXR1cm4gMDsNCj4gIH0NCj4gDQo+IEBAIC0y Mzc2LDggKzIzODYsOSBAQCBzdHJ1Y3QgcnRlX2Zsb3cgKg0KPiAgCQlzdHJ1Y3QgcnRlX2Zsb3df ZXJyb3IgKmVycm9yIF9fcnRlX3VudXNlZCkgIHsNCj4gIAlzdHJ1Y3QgcHJpdiAqcHJpdiA9IGRl di0+ZGF0YS0+ZGV2X3ByaXZhdGU7DQo+IC0NCj4gKwlydGVfcndsb2NrX3dyaXRlX2xvY2soJnBy aXYtPmZsb3dzX3J3bG9jayk7DQo+ICAJbWx4NV9mbG93X2xpc3RfZmx1c2goZGV2LCAmcHJpdi0+ Zmxvd3MpOw0KPiArCXJ0ZV9yd2xvY2tfd3JpdGVfdW5sb2NrKCZwcml2LT5mbG93c19yd2xvY2sp Ow0KPiAgCXJldHVybiAwOw0KPiAgfQ0KPiANCj4gQEAgLTI3MjksMTcgKzI3NDAsMjIgQEAgc3Ry dWN0IHJ0ZV9mbG93ICoNCj4gIAlyZXQgPSBmbG93X2ZkaXJfZmlsdGVyX2NvbnZlcnQoZGV2LCBm ZGlyX2ZpbHRlciwgZmRpcl9mbG93KTsNCj4gIAlpZiAocmV0KQ0KPiAgCQlnb3RvIGVycm9yOw0K PiArCXJ0ZV9yd2xvY2tfd3JpdGVfbG9jaygmcHJpdi0+Zmxvd3Nfcndsb2NrKTsNCj4gIAlmbG93 ID0gZmxvd19mZGlyX2ZpbHRlcl9sb29rdXAoZGV2LCBmZGlyX2Zsb3cpOw0KPiAgCWlmIChmbG93 KSB7DQo+ICAJCXJ0ZV9lcnJubyA9IEVFWElTVDsNCj4gKwkJcnRlX3J3bG9ja193cml0ZV91bmxv Y2soJnByaXYtPmZsb3dzX3J3bG9jayk7DQo+ICAJCWdvdG8gZXJyb3I7DQo+ICAJfQ0KPiAgCWZs b3cgPSBmbG93X2xpc3RfY3JlYXRlKGRldiwgJnByaXYtPmZsb3dzLCAmZmRpcl9mbG93LT5hdHRy LA0KPiAgCQkJCWZkaXJfZmxvdy0+aXRlbXMsIGZkaXJfZmxvdy0+YWN0aW9ucywgTlVMTCk7DQo+ IC0JaWYgKCFmbG93KQ0KPiArCWlmICghZmxvdykgew0KPiArCQlydGVfcndsb2NrX3dyaXRlX3Vu bG9jaygmcHJpdi0+Zmxvd3Nfcndsb2NrKTsNCj4gIAkJZ290byBlcnJvcjsNCj4gKwl9DQo+ICAJ YXNzZXJ0KCFmbG93LT5mZGlyKTsNCj4gIAlmbG93LT5mZGlyID0gZmRpcl9mbG93Ow0KPiArCXJ0 ZV9yd2xvY2tfd3JpdGVfdW5sb2NrKCZwcml2LT5mbG93c19yd2xvY2spOw0KPiAgCURSVl9MT0co REVCVUcsICJwb3J0ICV1IGNyZWF0ZWQgRkRJUiBmbG93ICVwIiwNCj4gIAkJZGV2LT5kYXRhLT5w b3J0X2lkLCAodm9pZCAqKWZsb3cpOw0KPiAgCXJldHVybiAwOw0KPiBAQCAtMjc3Myw2ICsyNzg5 LDcgQEAgc3RydWN0IHJ0ZV9mbG93ICoNCj4gIAlyZXQgPSBmbG93X2ZkaXJfZmlsdGVyX2NvbnZl cnQoZGV2LCBmZGlyX2ZpbHRlciwgJmZkaXJfZmxvdyk7DQo+ICAJaWYgKHJldCkNCj4gIAkJcmV0 dXJuIC1ydGVfZXJybm87DQo+ICsJcnRlX3J3bG9ja193cml0ZV9sb2NrKCZwcml2LT5mbG93c19y d2xvY2spOw0KPiAgCWZsb3cgPSBmbG93X2ZkaXJfZmlsdGVyX2xvb2t1cChkZXYsICZmZGlyX2Zs b3cpOw0KPiAgCWlmICghZmxvdykgew0KPiAgCQlydGVfZXJybm8gPSBFTk9FTlQ7DQo+IEBAIC0y NzgxLDYgKzI3OTgsNyBAQCBzdHJ1Y3QgcnRlX2Zsb3cgKg0KPiAgCWZsb3dfbGlzdF9kZXN0cm95 KGRldiwgJnByaXYtPmZsb3dzLCBmbG93KTsNCj4gIAlEUlZfTE9HKERFQlVHLCAicG9ydCAldSBk ZWxldGVkIEZESVIgZmxvdyAlcCIsDQo+ICAJCWRldi0+ZGF0YS0+cG9ydF9pZCwgKHZvaWQgKilm bG93KTsNCj4gKwlydGVfcndsb2NrX3dyaXRlX3VubG9jaygmcHJpdi0+Zmxvd3Nfcndsb2NrKTsN Cj4gIAlyZXR1cm4gMDsNCj4gIH0NCj4gDQo+IEBAIC0yODE3LDggKzI4MzUsOSBAQCBzdHJ1Y3Qg cnRlX2Zsb3cgKiAgZmxvd19mZGlyX2ZpbHRlcl9mbHVzaChzdHJ1Y3QgDQo+IHJ0ZV9ldGhfZGV2 ICpkZXYpICB7DQo+ICAJc3RydWN0IHByaXYgKnByaXYgPSBkZXYtPmRhdGEtPmRldl9wcml2YXRl Ow0KPiAtDQo+ICsJcnRlX3J3bG9ja193cml0ZV9sb2NrKCZwcml2LT5mbG93c19yd2xvY2spOw0K PiAgCW1seDVfZmxvd19saXN0X2ZsdXNoKGRldiwgJnByaXYtPmZsb3dzKTsNCj4gKwlydGVfcnds b2NrX3dyaXRlX3VubG9jaygmcHJpdi0+Zmxvd3Nfcndsb2NrKTsNCj4gIH0NCj4gDQo+ICAvKioN Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L21seDUvbWx4NV90cmlnZ2VyLmMgDQo+IGIvZHJp dmVycy9uZXQvbWx4NS9tbHg1X3RyaWdnZXIuYyBpbmRleCBlMmE5YmI3Li5iOTVjN2NmIDEwMDY0 NA0KPiAtLS0gYS9kcml2ZXJzL25ldC9tbHg1L21seDVfdHJpZ2dlci5jDQo+ICsrKyBiL2RyaXZl cnMvbmV0L21seDUvbWx4NV90cmlnZ2VyLmMNCj4gQEAgLTE4OCwxMiArMTg4LDE1IEBADQo+ICAJ CQlkZXYtPmRhdGEtPnBvcnRfaWQpOw0KPiAgCQlnb3RvIGVycm9yOw0KPiAgCX0NCj4gKwlydGVf cndsb2NrX3JlYWRfbG9jaygmcHJpdi0+Zmxvd3Nfcndsb2NrKTsNCj4gIAlyZXQgPSBtbHg1X2Zs b3dfc3RhcnQoZGV2LCAmcHJpdi0+Zmxvd3MpOw0KPiAgCWlmIChyZXQpIHsNCj4gIAkJRFJWX0xP RyhERUJVRywgInBvcnQgJXUgZmFpbGVkIHRvIHNldCBmbG93cyIsDQo+ICAJCQlkZXYtPmRhdGEt PnBvcnRfaWQpOw0KPiArCQlydGVfcndsb2NrX3JlYWRfdW5sb2NrKCZwcml2LT5mbG93c19yd2xv Y2spOw0KPiAgCQlnb3RvIGVycm9yOw0KPiAgCX0NCj4gKwlydGVfcndsb2NrX3JlYWRfdW5sb2Nr KCZwcml2LT5mbG93c19yd2xvY2spOw0KPiAgCWRldi0+dHhfcGt0X2J1cnN0ID0gbWx4NV9zZWxl Y3RfdHhfZnVuY3Rpb24oZGV2KTsNCj4gIAlkZXYtPnJ4X3BrdF9idXJzdCA9IG1seDVfc2VsZWN0 X3J4X2Z1bmN0aW9uKGRldik7DQo+ICAJbWx4NV9kZXZfaW50ZXJydXB0X2hhbmRsZXJfaW5zdGFs bChkZXYpOw0KPiBAQCAtMjAyLDcgKzIwNSw5IEBADQo+ICAJcmV0ID0gcnRlX2Vycm5vOyAvKiBT YXZlIHJ0ZV9lcnJubyBiZWZvcmUgY2xlYW51cC4gKi8NCj4gIAkvKiBSb2xsYmFjay4gKi8NCj4g IAlkZXYtPmRhdGEtPmRldl9zdGFydGVkID0gMDsNCj4gKwlydGVfcndsb2NrX3dyaXRlX2xvY2so JnByaXYtPmZsb3dzX3J3bG9jayk7DQo+ICAJbWx4NV9mbG93X3N0b3AoZGV2LCAmcHJpdi0+Zmxv d3MpOw0KPiArCXJ0ZV9yd2xvY2tfd3JpdGVfdW5sb2NrKCZwcml2LT5mbG93c19yd2xvY2spOw0K PiAgCW1seDVfdHJhZmZpY19kaXNhYmxlKGRldik7DQo+ICAJbWx4NV90eHFfc3RvcChkZXYpOw0K PiAgCW1seDVfcnhxX3N0b3AoZGV2KTsNCj4gQEAgLTIzMCw3ICsyMzUsOSBAQA0KPiAgCXJ0ZV93 bWIoKTsNCj4gIAl1c2xlZXAoMTAwMCAqIHByaXYtPnJ4cXNfbik7DQo+ICAJRFJWX0xPRyhERUJV RywgInBvcnQgJXUgc3RvcHBpbmcgZGV2aWNlIiwgZGV2LT5kYXRhLT5wb3J0X2lkKTsNCj4gKwly dGVfcndsb2NrX3dyaXRlX2xvY2soJnByaXYtPmZsb3dzX3J3bG9jayk7DQo+ICAJbWx4NV9mbG93 X3N0b3AoZGV2LCAmcHJpdi0+Zmxvd3MpOw0KPiArCXJ0ZV9yd2xvY2tfd3JpdGVfdW5sb2NrKCZw cml2LT5mbG93c19yd2xvY2spOw0KPiAgCW1seDVfdHJhZmZpY19kaXNhYmxlKGRldik7DQo+ICAJ bWx4NV9yeF9pbnRyX3ZlY19kaXNhYmxlKGRldik7DQo+ICAJbWx4NV9kZXZfaW50ZXJydXB0X2hh bmRsZXJfdW5pbnN0YWxsKGRldik7DQo+IEBAIC0zNjQsNyArMzcxLDkgQEANCj4gIAlyZXR1cm4g MDsNCj4gIGVycm9yOg0KPiAgCXJldCA9IHJ0ZV9lcnJubzsgLyogU2F2ZSBydGVfZXJybm8gYmVm b3JlIGNsZWFudXAuICovDQo+ICsJcnRlX3J3bG9ja193cml0ZV9sb2NrKCZwcml2LT5mbG93c19y d2xvY2spOw0KPiAgCW1seDVfZmxvd19saXN0X2ZsdXNoKGRldiwgJnByaXYtPmN0cmxfZmxvd3Mp Ow0KPiArCXJ0ZV9yd2xvY2tfd3JpdGVfdW5sb2NrKCZwcml2LT5mbG93c19yd2xvY2spOw0KPiAg CXJ0ZV9lcnJubyA9IHJldDsgLyogUmVzdG9yZSBydGVfZXJybm8uICovDQo+ICAJcmV0dXJuIC1y dGVfZXJybm87DQo+ICB9DQo+IEBAIC0zODAsOCArMzg5LDkgQEANCj4gIG1seDVfdHJhZmZpY19k aXNhYmxlKHN0cnVjdCBydGVfZXRoX2RldiAqZGV2KSAgew0KPiAgCXN0cnVjdCBwcml2ICpwcml2 ID0gZGV2LT5kYXRhLT5kZXZfcHJpdmF0ZTsNCj4gLQ0KPiArCXJ0ZV9yd2xvY2tfd3JpdGVfbG9j aygmcHJpdi0+Zmxvd3Nfcndsb2NrKTsNCj4gIAltbHg1X2Zsb3dfbGlzdF9mbHVzaChkZXYsICZw cml2LT5jdHJsX2Zsb3dzKTsNCj4gKwlydGVfcndsb2NrX3dyaXRlX3VubG9jaygmcHJpdi0+Zmxv d3Nfcndsb2NrKTsNCj4gIH0NCj4gDQo+IA0KPiAtLS0tLemCruS7tuWOn+S7ti0tLS0tDQo+IOWP keS7tuS6ujogd2FuZ3l1bmppYW4NCj4g5Y+R6YCB5pe26Ze0OiAyMDE55bm0MuaciDIy5pelIDE1 OjM0DQo+IOaUtuS7tuS6ujogZGV2QGRwZGsub3JnOyBzaGFoYWZzQG1lbGxhbm94LmNvbTsgeXNr b2hAbWVsbGFub3guY29tDQo+IOaKhOmAgTogeHVkaW5na2UgPHh1ZGluZ2tlQGh1YXdlaS5jb20+ OyBaaGFvaHVpICh6aGFvaHVpLCBQb2xlc3RhcikgDQo+IDx6aGFvaHVpOEBodWF3ZWkuY29tPg0K PiDkuLvpopg6IFtkcGRrLWRldl0gU2VnZmF1bHQgd2hlbiBlYWwgdGhyZWFkIGV4ZWN1dGluZyBt bHg1IG5pY+KAmHMgbHNjIGV2ZW50DQoNCg==