From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from huawei.com (szxga08-in.huawei.com [45.249.212.255]) by dpdk.org (Postfix) with ESMTP id B8B1C322C for ; Wed, 6 Mar 2019 04:06:04 +0100 (CET) Received: from DGGEML403-HUB.china.huawei.com (unknown [172.30.72.55]) by Forcepoint Email with ESMTP id D993FD538694FF2AC6BA; Wed, 6 Mar 2019 11:06:02 +0800 (CST) Received: from DGGEML424-HUB.china.huawei.com (10.1.199.41) by DGGEML403-HUB.china.huawei.com (10.3.17.33) with Microsoft SMTP Server (TLS) id 14.3.408.0; Wed, 6 Mar 2019 11:06:02 +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 11:05:52 +0800 From: "Zhaohui (zhaohui, Polestar)" To: "dev@dpdk.org" , "shahafs@mellanox.com" , "yskoh@mellanox.com" CC: xudingke , chenchanghu , wangyunjian Thread-Topic: =?gb2312?B?IFtkcGRrLWRldl0gU2VnZmF1bHQgd2hlbiBlYWwgdGhyZWFkIGV4ZWN1dGlu?= =?gb2312?B?ZyBtbHg1IG5pY6GucyBsc2MgZXZlbnQ=?= Thread-Index: AdTTwhfWH9y8X4ClSLK4/Cyg9KkQKg== Date: Wed, 6 Mar 2019 03:05:52 +0000 Message-ID: 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="gb2312" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-CFilter-Loop: Reflected X-Mailman-Approved-At: Wed, 06 Mar 2019 16:59:28 +0100 Subject: [dpdk-dev] =?gb2312?b?ICBTZWdmYXVsdCB3aGVuIGVhbCB0aHJlYWQgZXhl?= =?gb2312?b?Y3V0aW5nIG1seDUgbmljoa5zIGxzYyBldmVudA==?= 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 03:06:05 -0000 SGk6DQogICAgSSB0aGluayB0aGUgZmxvdyBsaXN0IG1heSBiZSBhY2Nlc3NlZCBpbiB0aGUgc2Ft ZSB0aW1lIGJ5IHR3byBkaWZmZXJlbnQgdGhyZWFkcyBhbmQgbWF5IGNhdXNlIHNvbWUgZXJyb3Jz LiBEbyBpdCBuZWVkIGEgbG9jayB0byBwcm90ZWN0IHRoZSBmbG93IGxpc3Q/DQoNCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRoYW5rcw0KICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBZdW5qaWFuDQooZ2RiKSBidA0K IzAgMHgwMDAwN2Y1NGM5NjQxMjM3IGluIHJhaXNlICgpIGZyb20gL3Vzci9saWI2NC9saWJjLnNv LjYNCiMxIDB4MDAwMDdmNTRjOTY0MjkyOCBpbiBhYm9ydCAoKSBmcm9tIC91c3IvbGliNjQvbGli Yy5zby42DQojMiAweDAwMDAwMDAwMDA2YTg3NDkgaW4gUEFUX2Fib3J0ICgpDQojMyAweDAwMDAw MDAwMDA2YTU4OGQgaW4gcGF0Y2hJbGxJbnNIYW5kbGVyICgpDQojNCA8c2lnbmFsIGhhbmRsZXIg Y2FsbGVkPg0KIzUgMHgwMDAwN2Y1NGM2YWNkMmM4IGluIGZsb3dfbGlzdF9kZXN0cm95IChkZXY9 ZGV2QGVudHJ5PTB4YWQ4OTQwIDxydGVfZXRoX2RldmljZXMrMTY1MTI+LCBmbG93PTB4MTQ0NGIx YjAwLCBsaXN0PTB4MTQ0NTVlNjE4KSBhdCAvdXNyL3NyYy9kZWJ1Zy9kcGRrLW1seDQtcG1kLTE4 LjExL2RyaXZlcnMvbmV0L21seDUvbWx4NV9mbG93LmM6MjE1MA0KIzYgMHgwMDAwN2Y1NGM2YWNm ZTFiIGluIG1seDVfZmxvd19saXN0X2ZsdXNoIChkZXY9MHhhZDg5NDAgPHJ0ZV9ldGhfZGV2aWNl cysxNjUxMj4sIGxpc3Q9MHgxNDQ1NWU2MTgpIGF0IC91c3Ivc3JjL2RlYnVnL2RwZGstbWx4NC1w bWQtMTguMTEvZHJpdmVycy9uZXQvbWx4NS9tbHg1X2Zsb3cuYzoyMTcwDQojNyAweDAwMDA3ZjU0 YzZhYzVjYzQgaW4gbWx4NV90cmFmZmljX2Rpc2FibGUgKGRldj08b3B0aW1pemVkIG91dD4pIGF0 IC91c3Ivc3JjL2RlYnVnL2RwZGstbWx4NC1wbWQtMTguMTEvZHJpdmVycy9uZXQvbWx4NS9tbHg1 X3RyaWdnZXIuYzozODQNCiM4IDB4MDAwMDdmNTRjNmFjNjM3ZCBpbiBtbHg1X3RyYWZmaWNfcmVz dGFydCAoZGV2PTB4YWQ4OTQwIDxydGVfZXRoX2RldmljZXMrMTY1MTI+KSBhdCAvdXNyL3NyYy9k ZWJ1Zy9kcGRrLW1seDQtcG1kLTE4LjExL2RyaXZlcnMvbmV0L21seDUvbWx4NV90cmlnZ2VyLmM6 NDAwDQojOSAweDAwMDA3ZjU0ZDFkYjNiYmEgaW4gcnRlX2V0aF9kZXZfZGVmYXVsdF9tYWNfYWRk cl9zZXQgKHBvcnRfaWQ9PG9wdGltaXplZCBvdXQ+LCBhZGRyPTB4MTQwMjAwZjQwKSBhdCAvdXNy L3NyYy9kZWJ1Zy9kcGRrLTE4LjExL2xpYi9saWJydGVfZXRoZGV2L3J0ZV9ldGhkZXYuYzozMjMw DQojMTAgMHgwMDAwN2Y1NGNkOGRlZTgxIGluIG1hY19hZGRyZXNzX3NsYXZlc191cGRhdGUgKGJv bmRlZF9ldGhfZGV2PWJvbmRlZF9ldGhfZGV2QGVudHJ5PTB4YWQ0OGMwIDxydGVfZXRoX2Rldmlj ZXM+KSBhdCAvdXNyL3NyYy9kZWJ1Zy9kcGRrLTE4LjExL2RyaXZlcnMvbmV0L2JvbmRpbmcvcnRl X2V0aF9ib25kX3BtZC5jOjE4NDINCiMxMSAweDAwMDA3ZjU0Y2Q4ZTBjMzEgaW4gYm9uZF9ldGhk ZXZfbHNjX2V2ZW50X2NhbGxiYWNrIChwb3J0X2lkPTxvcHRpbWl6ZWQgb3V0PiwgdHlwZT08b3B0 aW1pemVkIG91dD4sIHBhcmFtPTxvcHRpbWl6ZWQgb3V0PiwgcmV0X3BhcmFtPTxvcHRpbWl6ZWQg b3V0PikgYXQgL3Vzci9zcmMvZGVidWcvZHBkay0xOC4xMS9kcml2ZXJzL25ldC9ib25kaW5nL3J0 ZV9ldGhfYm9uZF9wbWQuYzozMDcwDQojMTIgMHgwMDAwN2Y1NGNkOGUxMTdiIGluIGJvbmRfZXRo ZGV2X3NsYXZlX2xzY19kZWxheSAoY2JfYXJnPTB4YWQ0OGMwIDxydGVfZXRoX2RldmljZXM+KSBh dCAvdXNyL3NyYy9kZWJ1Zy9kcGRrLTE4LjExL2RyaXZlcnMvbmV0L2JvbmRpbmcvcnRlX2V0aF9i b25kX3BtZC5jOjIyOTgNCiMxMyAweDAwMDA3ZjU0ZDI1ZWJlNWYgaW4gZWFsX2FsYXJtX2NhbGxi YWNrIChhcmc9PG9wdGltaXplZCBvdXQ+KSBhdCAvdXNyL3NyYy9kZWJ1Zy9kcGRrLTE4LjExL2xp Yi9saWJydGVfZWFsL2xpbnV4YXBwL2VhbC9lYWxfYWxhcm0uYzo5MA0KIzE0IDB4MDAwMDdmNTRk MjVlYThhYSBpbiBlYWxfaW50cl9wcm9jZXNzX2ludGVycnVwdHMgKG5mZHM9PG9wdGltaXplZCBv dXQ+LCBldmVudHM9PG9wdGltaXplZCBvdXQ+KSBhdCAvdXNyL3NyYy9kZWJ1Zy9kcGRrLTE4LjEx L2xpYi9saWJydGVfZWFsL2xpbnV4YXBwL2VhbC9lYWxfaW50ZXJydXB0cy5jOjgzOA0KIzE1IGVh bF9pbnRyX2hhbmRsZV9pbnRlcnJ1cHRzICh0b3RhbGZkcz08b3B0aW1pemVkIG91dD4sIHBmZD0y MSkgYXQgL3Vzci9zcmMvZGVidWcvZHBkay0xOC4xMS9saWIvbGlicnRlX2VhbC9saW51eGFwcC9l YWwvZWFsX2ludGVycnVwdHMuYzo4ODUNCiMxNiBlYWxfaW50cl90aHJlYWRfbWFpbiAoYXJnPTxv cHRpbWl6ZWQgb3V0PikgYXQgL3Vzci9zcmMvZGVidWcvZHBkay0xOC4xMS9saWIvbGlicnRlX2Vh bC9saW51eGFwcC9lYWwvZWFsX2ludGVycnVwdHMuYzo5NjUNCiMxNyAweDAwMDA3ZjU0Y2FkZTZk ZDUgaW4gc3RhcnRfdGhyZWFkICgpIGZyb20gL3Vzci9saWI2NC9saWJwdGhyZWFkLnNvLjANCiMx OCAweDAwMDA3ZjU0Yzk3MDk1MGQgaW4gY2xvbmUgKCkgZnJvbSAvdXNyL2xpYjY0L2xpYmMuc28u Ng0KDQoNCkluIG9yZGVyIHRvIHNvbHZlIHRoaXMgcHJvYmxlbShjb3JlIGR1bXApLiBTb21ldGhp bmcgbW9kaWZpZWQgbGlrZSB0aGlzOqOoTG9va2luZyBmb3J3YXJkIHRvIHlvdXIgcmVwbHmjqQ0K DQpGcm9tOiB6aGFvaHVpOCA8emhhb2h1aThAaHVhd2VpLmNvbT4NCi0tLQ0KIGRyaXZlcnMvbmV0 L21seDUvbWx4NS5jICAgICAgICAgfCAgMSArDQogZHJpdmVycy9uZXQvbWx4NS9tbHg1LmggICAg ICAgICB8ICAxICsNCiBkcml2ZXJzL25ldC9tbHg1L21seDVfZmxvdy5jICAgICB8ICAzMyArKysr KysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0NCiBkcml2ZXJzL25ldC9tbHg1L21seDVfdHJp Z2dlci5jICAgfCAgMTIgKysrKysrKysrKystDQogNCBmaWxlcyBjaGFuZ2VkLCAzOSBpbnNlcnRp b25zKCspLCA4IGRlbGV0aW9ucygtKQ0KDQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvbWx4NS9t bHg1LmMgYi9kcml2ZXJzL25ldC9tbHg1L21seDUuYw0KaW5kZXggOWU1Y2FiMS4uZThhZTgxNiAx MDA2NDQNCi0tLSBhL2RyaXZlcnMvbmV0L21seDUvbWx4NS5jDQorKysgYi9kcml2ZXJzL25ldC9t bHg1L21seDUuYw0KQEAgLTExOTUsNiArMTE5NSw3IEBADQogCQkJcHJpdi0+dGNmX2NvbnRleHQg PSBOVUxMOw0KIAkJfQ0KIAl9DQorCXJ0ZV9yd2xvY2tfaW5pdCgmcHJpdi0+Zmxvd3Nfcndsb2Nr KTsNCiAJVEFJTFFfSU5JVCgmcHJpdi0+Zmxvd3MpOw0KIAlUQUlMUV9JTklUKCZwcml2LT5jdHJs X2Zsb3dzKTsNCiAJLyogSGludCBsaWJtbHg1IHRvIHVzZSBQTUQgYWxsb2NhdG9yIGZvciBkYXRh IHBsYW5lIHJlc291cmNlcyAqLw0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L21seDUvbWx4NS5o IGIvZHJpdmVycy9uZXQvbWx4NS9tbHg1LmgNCmluZGV4IGJjNTAwYjIuLmNiODY1N2MgMTAwNjQ0 DQotLS0gYS9kcml2ZXJzL25ldC9tbHg1L21seDUuaA0KKysrIGIvZHJpdmVycy9uZXQvbWx4NS9t bHg1LmgNCkBAIC0yMDIsNiArMjAyLDcgQEAgc3RydWN0IHByaXYgew0KIAl1bnNpZ25lZCBpbnQg KCpyZXRhX2lkeClbXTsgLyogUkVUQSBpbmRleCB0YWJsZS4gKi8NCiAJdW5zaWduZWQgaW50IHJl dGFfaWR4X247IC8qIFJFVEEgaW5kZXggc2l6ZS4gKi8NCiAJc3RydWN0IG1seDVfZHJvcCBkcm9w X3F1ZXVlOyAvKiBGbG93IGRyb3AgcXVldWVzLiAqLw0KKwlydGVfcndsb2NrX3QgZmxvd3Nfcnds b2NrOyAvKiBmbG93cyBMb2NrLiAqLw0KIAlzdHJ1Y3QgbWx4NV9mbG93cyBmbG93czsgLyogUlRF IEZsb3cgcnVsZXMuICovDQogCXN0cnVjdCBtbHg1X2Zsb3dzIGN0cmxfZmxvd3M7IC8qIENvbnRy b2wgZmxvdyBydWxlcy4gKi8NCiAJTElTVF9IRUFEKGNvdW50ZXJzLCBtbHg1X2Zsb3dfY291bnRl cikgZmxvd19jb3VudGVyczsNCmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC9tbHg1L21seDVfZmxv dy5jIGIvZHJpdmVycy9uZXQvbWx4NS9tbHg1X2Zsb3cuYw0KaW5kZXggOTdkYzNlMS4uMmMxODYw MiAxMDA2NDQNCi0tLSBhL2RyaXZlcnMvbmV0L21seDUvbWx4NV9mbG93LmMNCisrKyBiL2RyaXZl cnMvbmV0L21seDUvbWx4NV9mbG93LmMNCkBAIC0yMTIxLDkgKzIxMjEsMTMgQEAgc3RydWN0IHJ0 ZV9mbG93ICoNCiAJCSBjb25zdCBzdHJ1Y3QgcnRlX2Zsb3dfYWN0aW9uIGFjdGlvbnNbXSwNCiAJ CSBzdHJ1Y3QgcnRlX2Zsb3dfZXJyb3IgKmVycm9yKQ0KIHsNCi0JcmV0dXJuIGZsb3dfbGlzdF9j cmVhdGUoZGV2LA0KKwlzdHJ1Y3QgcnRlX2Zsb3cgKiBmbG93Ow0KKwlydGVfcndsb2NrX3dyaXRl X2xvY2soJigoc3RydWN0IHByaXYgKilkZXYtPmRhdGEtPmRldl9wcml2YXRlKS0+Zmxvd3Nfcnds b2NrKTsNCisJZmxvdyA9IGZsb3dfbGlzdF9jcmVhdGUoZGV2LA0KIAkJCQkmKChzdHJ1Y3QgcHJp diAqKWRldi0+ZGF0YS0+ZGV2X3ByaXZhdGUpLT5mbG93cywNCiAJCQkJYXR0ciwgaXRlbXMsIGFj dGlvbnMsIGVycm9yKTsNCisJcnRlX3J3bG9ja193cml0ZV91bmxvY2soJigoc3RydWN0IHByaXYg KilkZXYtPmRhdGEtPmRldl9wcml2YXRlKS0+Zmxvd3Nfcndsb2NrKTsNCisJcmV0dXJuIGZsb3c7 DQogfQ0KIA0KIC8qKg0KQEAgLTIyMzUsMTIgKzIyMzksMTMgQEAgc3RydWN0IHJ0ZV9mbG93ICoN CiAJc3RydWN0IHByaXYgKnByaXYgPSBkZXYtPmRhdGEtPmRldl9wcml2YXRlOw0KIAlzdHJ1Y3Qg cnRlX2Zsb3cgKmZsb3c7DQogCWludCByZXQgPSAwOw0KLQ0KKwlydGVfcndsb2NrX3JlYWRfbG9j aygmcHJpdi0+Zmxvd3Nfcndsb2NrKTsNCiAJVEFJTFFfRk9SRUFDSChmbG93LCAmcHJpdi0+Zmxv d3MsIG5leHQpIHsNCiAJCURSVl9MT0coREVCVUcsICJwb3J0ICV1IGZsb3cgJXAgc3RpbGwgcmVm ZXJlbmNlZCIsDQogCQkJZGV2LT5kYXRhLT5wb3J0X2lkLCAodm9pZCAqKWZsb3cpOw0KIAkJKyty ZXQ7DQogCX0NCisJcnRlX3J3bG9ja19yZWFkX3VubG9jaygmcHJpdi0+Zmxvd3Nfcndsb2NrKTsN CiAJcmV0dXJuIHJldDsNCiB9DQogDQpAQCAtMjMyMCwxMCArMjMyNSwxNCBAQCBzdHJ1Y3QgcnRl X2Zsb3cgKg0KIAl9DQogCWZvciAoaSA9IDA7IGkgIT0gcHJpdi0+cmV0YV9pZHhfbjsgKytpKQ0K IAkJcXVldWVbaV0gPSAoKnByaXYtPnJldGFfaWR4KVtpXTsNCisJcnRlX3J3bG9ja193cml0ZV9s b2NrKCZwcml2LT5mbG93c19yd2xvY2spOw0KIAlmbG93ID0gZmxvd19saXN0X2NyZWF0ZShkZXYs ICZwcml2LT5jdHJsX2Zsb3dzLA0KIAkJCQkmYXR0ciwgaXRlbXMsIGFjdGlvbnMsICZlcnJvcik7 DQotCWlmICghZmxvdykNCisJaWYgKCFmbG93KSB7DQorCQlydGVfcndsb2NrX3dyaXRlX3VubG9j aygmcHJpdi0+Zmxvd3Nfcndsb2NrKTsNCiAJCXJldHVybiAtcnRlX2Vycm5vOw0KKwl9DQorCXJ0 ZV9yd2xvY2tfd3JpdGVfdW5sb2NrKCZwcml2LT5mbG93c19yd2xvY2spOw0KIAlyZXR1cm4gMDsN CiB9DQogDQpAQCAtMjM2MCw4ICsyMzY5LDkgQEAgc3RydWN0IHJ0ZV9mbG93ICoNCiAJCSAgc3Ry dWN0IHJ0ZV9mbG93X2Vycm9yICplcnJvciBfX3J0ZV91bnVzZWQpDQogew0KIAlzdHJ1Y3QgcHJp diAqcHJpdiA9IGRldi0+ZGF0YS0+ZGV2X3ByaXZhdGU7DQotDQorCXJ0ZV9yd2xvY2tfd3JpdGVf bG9jaygmcHJpdi0+Zmxvd3Nfcndsb2NrKTsNCiAJZmxvd19saXN0X2Rlc3Ryb3koZGV2LCAmcHJp di0+Zmxvd3MsIGZsb3cpOw0KKwlydGVfcndsb2NrX3dyaXRlX3VubG9jaygmcHJpdi0+Zmxvd3Nf cndsb2NrKTsNCiAJcmV0dXJuIDA7DQogfQ0KIA0KQEAgLTIzNzYsOCArMjM4Niw5IEBAIHN0cnVj dCBydGVfZmxvdyAqDQogCQlzdHJ1Y3QgcnRlX2Zsb3dfZXJyb3IgKmVycm9yIF9fcnRlX3VudXNl ZCkNCiB7DQogCXN0cnVjdCBwcml2ICpwcml2ID0gZGV2LT5kYXRhLT5kZXZfcHJpdmF0ZTsNCi0N CisJcnRlX3J3bG9ja193cml0ZV9sb2NrKCZwcml2LT5mbG93c19yd2xvY2spOw0KIAltbHg1X2Zs b3dfbGlzdF9mbHVzaChkZXYsICZwcml2LT5mbG93cyk7DQorCXJ0ZV9yd2xvY2tfd3JpdGVfdW5s b2NrKCZwcml2LT5mbG93c19yd2xvY2spOw0KIAlyZXR1cm4gMDsNCiB9DQogDQpAQCAtMjcyOSwx NyArMjc0MCwyMiBAQCBzdHJ1Y3QgcnRlX2Zsb3cgKg0KIAlyZXQgPSBmbG93X2ZkaXJfZmlsdGVy X2NvbnZlcnQoZGV2LCBmZGlyX2ZpbHRlciwgZmRpcl9mbG93KTsNCiAJaWYgKHJldCkNCiAJCWdv dG8gZXJyb3I7DQorCXJ0ZV9yd2xvY2tfd3JpdGVfbG9jaygmcHJpdi0+Zmxvd3Nfcndsb2NrKTsN CiAJZmxvdyA9IGZsb3dfZmRpcl9maWx0ZXJfbG9va3VwKGRldiwgZmRpcl9mbG93KTsNCiAJaWYg KGZsb3cpIHsNCiAJCXJ0ZV9lcnJubyA9IEVFWElTVDsNCisJCXJ0ZV9yd2xvY2tfd3JpdGVfdW5s b2NrKCZwcml2LT5mbG93c19yd2xvY2spOw0KIAkJZ290byBlcnJvcjsNCiAJfQ0KIAlmbG93ID0g Zmxvd19saXN0X2NyZWF0ZShkZXYsICZwcml2LT5mbG93cywgJmZkaXJfZmxvdy0+YXR0ciwNCiAJ CQkJZmRpcl9mbG93LT5pdGVtcywgZmRpcl9mbG93LT5hY3Rpb25zLCBOVUxMKTsNCi0JaWYgKCFm bG93KQ0KKwlpZiAoIWZsb3cpIHsNCisJCXJ0ZV9yd2xvY2tfd3JpdGVfdW5sb2NrKCZwcml2LT5m bG93c19yd2xvY2spOw0KIAkJZ290byBlcnJvcjsNCisJfQ0KIAlhc3NlcnQoIWZsb3ctPmZkaXIp Ow0KIAlmbG93LT5mZGlyID0gZmRpcl9mbG93Ow0KKwlydGVfcndsb2NrX3dyaXRlX3VubG9jaygm cHJpdi0+Zmxvd3Nfcndsb2NrKTsNCiAJRFJWX0xPRyhERUJVRywgInBvcnQgJXUgY3JlYXRlZCBG RElSIGZsb3cgJXAiLA0KIAkJZGV2LT5kYXRhLT5wb3J0X2lkLCAodm9pZCAqKWZsb3cpOw0KIAly ZXR1cm4gMDsNCkBAIC0yNzczLDYgKzI3ODksNyBAQCBzdHJ1Y3QgcnRlX2Zsb3cgKg0KIAlyZXQg PSBmbG93X2ZkaXJfZmlsdGVyX2NvbnZlcnQoZGV2LCBmZGlyX2ZpbHRlciwgJmZkaXJfZmxvdyk7 DQogCWlmIChyZXQpDQogCQlyZXR1cm4gLXJ0ZV9lcnJubzsNCisJcnRlX3J3bG9ja193cml0ZV9s b2NrKCZwcml2LT5mbG93c19yd2xvY2spOw0KIAlmbG93ID0gZmxvd19mZGlyX2ZpbHRlcl9sb29r dXAoZGV2LCAmZmRpcl9mbG93KTsNCiAJaWYgKCFmbG93KSB7DQogCQlydGVfZXJybm8gPSBFTk9F TlQ7DQpAQCAtMjc4MSw2ICsyNzk4LDcgQEAgc3RydWN0IHJ0ZV9mbG93ICoNCiAJZmxvd19saXN0 X2Rlc3Ryb3koZGV2LCAmcHJpdi0+Zmxvd3MsIGZsb3cpOw0KIAlEUlZfTE9HKERFQlVHLCAicG9y dCAldSBkZWxldGVkIEZESVIgZmxvdyAlcCIsDQogCQlkZXYtPmRhdGEtPnBvcnRfaWQsICh2b2lk ICopZmxvdyk7DQorCXJ0ZV9yd2xvY2tfd3JpdGVfdW5sb2NrKCZwcml2LT5mbG93c19yd2xvY2sp Ow0KIAlyZXR1cm4gMDsNCiB9DQogDQpAQCAtMjgxNyw4ICsyODM1LDkgQEAgc3RydWN0IHJ0ZV9m bG93ICoNCiBmbG93X2ZkaXJfZmlsdGVyX2ZsdXNoKHN0cnVjdCBydGVfZXRoX2RldiAqZGV2KQ0K IHsNCiAJc3RydWN0IHByaXYgKnByaXYgPSBkZXYtPmRhdGEtPmRldl9wcml2YXRlOw0KLQ0KKwly dGVfcndsb2NrX3dyaXRlX2xvY2soJnByaXYtPmZsb3dzX3J3bG9jayk7DQogCW1seDVfZmxvd19s aXN0X2ZsdXNoKGRldiwgJnByaXYtPmZsb3dzKTsNCisJcnRlX3J3bG9ja193cml0ZV91bmxvY2so JnByaXYtPmZsb3dzX3J3bG9jayk7DQogfQ0KIA0KIC8qKg0KZGlmZiAtLWdpdCBhL2RyaXZlcnMv bmV0L21seDUvbWx4NV90cmlnZ2VyLmMgYi9kcml2ZXJzL25ldC9tbHg1L21seDVfdHJpZ2dlci5j DQppbmRleCBlMmE5YmI3Li5iOTVjN2NmIDEwMDY0NA0KLS0tIGEvZHJpdmVycy9uZXQvbWx4NS9t bHg1X3RyaWdnZXIuYw0KKysrIGIvZHJpdmVycy9uZXQvbWx4NS9tbHg1X3RyaWdnZXIuYw0KQEAg LTE4OCwxMiArMTg4LDE1IEBADQogCQkJZGV2LT5kYXRhLT5wb3J0X2lkKTsNCiAJCWdvdG8gZXJy b3I7DQogCX0NCisJcnRlX3J3bG9ja19yZWFkX2xvY2soJnByaXYtPmZsb3dzX3J3bG9jayk7DQog CXJldCA9IG1seDVfZmxvd19zdGFydChkZXYsICZwcml2LT5mbG93cyk7DQogCWlmIChyZXQpIHsN CiAJCURSVl9MT0coREVCVUcsICJwb3J0ICV1IGZhaWxlZCB0byBzZXQgZmxvd3MiLA0KIAkJCWRl di0+ZGF0YS0+cG9ydF9pZCk7DQorCQlydGVfcndsb2NrX3JlYWRfdW5sb2NrKCZwcml2LT5mbG93 c19yd2xvY2spOw0KIAkJZ290byBlcnJvcjsNCiAJfQ0KKwlydGVfcndsb2NrX3JlYWRfdW5sb2Nr KCZwcml2LT5mbG93c19yd2xvY2spOw0KIAlkZXYtPnR4X3BrdF9idXJzdCA9IG1seDVfc2VsZWN0 X3R4X2Z1bmN0aW9uKGRldik7DQogCWRldi0+cnhfcGt0X2J1cnN0ID0gbWx4NV9zZWxlY3Rfcnhf ZnVuY3Rpb24oZGV2KTsNCiAJbWx4NV9kZXZfaW50ZXJydXB0X2hhbmRsZXJfaW5zdGFsbChkZXYp Ow0KQEAgLTIwMiw3ICsyMDUsOSBAQA0KIAlyZXQgPSBydGVfZXJybm87IC8qIFNhdmUgcnRlX2Vy cm5vIGJlZm9yZSBjbGVhbnVwLiAqLw0KIAkvKiBSb2xsYmFjay4gKi8NCiAJZGV2LT5kYXRhLT5k ZXZfc3RhcnRlZCA9IDA7DQorCXJ0ZV9yd2xvY2tfd3JpdGVfbG9jaygmcHJpdi0+Zmxvd3Nfcnds b2NrKTsNCiAJbWx4NV9mbG93X3N0b3AoZGV2LCAmcHJpdi0+Zmxvd3MpOw0KKwlydGVfcndsb2Nr X3dyaXRlX3VubG9jaygmcHJpdi0+Zmxvd3Nfcndsb2NrKTsNCiAJbWx4NV90cmFmZmljX2Rpc2Fi bGUoZGV2KTsNCiAJbWx4NV90eHFfc3RvcChkZXYpOw0KIAltbHg1X3J4cV9zdG9wKGRldik7DQpA QCAtMjMwLDcgKzIzNSw5IEBADQogCXJ0ZV93bWIoKTsNCiAJdXNsZWVwKDEwMDAgKiBwcml2LT5y eHFzX24pOw0KIAlEUlZfTE9HKERFQlVHLCAicG9ydCAldSBzdG9wcGluZyBkZXZpY2UiLCBkZXYt PmRhdGEtPnBvcnRfaWQpOw0KKwlydGVfcndsb2NrX3dyaXRlX2xvY2soJnByaXYtPmZsb3dzX3J3 bG9jayk7DQogCW1seDVfZmxvd19zdG9wKGRldiwgJnByaXYtPmZsb3dzKTsNCisJcnRlX3J3bG9j a193cml0ZV91bmxvY2soJnByaXYtPmZsb3dzX3J3bG9jayk7DQogCW1seDVfdHJhZmZpY19kaXNh YmxlKGRldik7DQogCW1seDVfcnhfaW50cl92ZWNfZGlzYWJsZShkZXYpOw0KIAltbHg1X2Rldl9p bnRlcnJ1cHRfaGFuZGxlcl91bmluc3RhbGwoZGV2KTsNCkBAIC0zNjQsNyArMzcxLDkgQEANCiAJ cmV0dXJuIDA7DQogZXJyb3I6DQogCXJldCA9IHJ0ZV9lcnJubzsgLyogU2F2ZSBydGVfZXJybm8g YmVmb3JlIGNsZWFudXAuICovDQorCXJ0ZV9yd2xvY2tfd3JpdGVfbG9jaygmcHJpdi0+Zmxvd3Nf cndsb2NrKTsNCiAJbWx4NV9mbG93X2xpc3RfZmx1c2goZGV2LCAmcHJpdi0+Y3RybF9mbG93cyk7 DQorCXJ0ZV9yd2xvY2tfd3JpdGVfdW5sb2NrKCZwcml2LT5mbG93c19yd2xvY2spOw0KIAlydGVf ZXJybm8gPSByZXQ7IC8qIFJlc3RvcmUgcnRlX2Vycm5vLiAqLw0KIAlyZXR1cm4gLXJ0ZV9lcnJu bzsNCiB9DQpAQCAtMzgwLDggKzM4OSw5IEBADQogbWx4NV90cmFmZmljX2Rpc2FibGUoc3RydWN0 IHJ0ZV9ldGhfZGV2ICpkZXYpDQogew0KIAlzdHJ1Y3QgcHJpdiAqcHJpdiA9IGRldi0+ZGF0YS0+ ZGV2X3ByaXZhdGU7DQotDQorCXJ0ZV9yd2xvY2tfd3JpdGVfbG9jaygmcHJpdi0+Zmxvd3Nfcnds b2NrKTsNCiAJbWx4NV9mbG93X2xpc3RfZmx1c2goZGV2LCAmcHJpdi0+Y3RybF9mbG93cyk7DQor CXJ0ZV9yd2xvY2tfd3JpdGVfdW5sb2NrKCZwcml2LT5mbG93c19yd2xvY2spOw0KIH0NCiANCg0K LS0tLS3Tyrz+1K28/i0tLS0tDQq3orz+yMs6IHdhbmd5dW5qaWFuIA0Kt6LLzcqxvOQ6IDIwMTnE 6jLUwjIyyNUgMTU6MzQNCsrVvP7IyzogZGV2QGRwZGsub3JnOyBzaGFoYWZzQG1lbGxhbm94LmNv bTsgeXNrb2hAbWVsbGFub3guY29tDQqzrcvNOiB4dWRpbmdrZSA8eHVkaW5na2VAaHVhd2VpLmNv bT47IFpoYW9odWkgKHpoYW9odWksIFBvbGVzdGFyKSA8emhhb2h1aThAaHVhd2VpLmNvbT4NCtb3 zOI6IFtkcGRrLWRldl0gU2VnZmF1bHQgd2hlbiBlYWwgdGhyZWFkIGV4ZWN1dGluZyBtbHg1IG5p Y6GucyBsc2MgZXZlbnQNCg0K