From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from NAM01-BN3-obe.outbound.protection.outlook.com (mail-bn3nam01on0120.outbound.protection.outlook.com [104.47.33.120]) by dpdk.org (Postfix) with ESMTP id 297E85699 for ; Fri, 30 Sep 2016 20:16:14 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qlgc.onmicrosoft.com; s=selector1-qlogic-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=7W1vqn4ahq+BMqsnpZR7WspWRjcuuxvN3A4ICVlEXGI=; b=nb6vIXWBLt3quJN66dcdO/J/BqUeUfoswANVq9m8d47dI/dTvPsJzsXcXs6KKHHVJk06tBQjpdWE8g+yjVUAlH+e47AUPwZxvpClQmpsgt0Xy3aJuxqiCL66ugGbVZmbkm9K9Ce2mLc8eqZ0agas94+nL9ssAydqWEgCeaMV+Kg= Received: from CY1PR11MB0904.namprd11.prod.outlook.com (10.164.68.30) by CY1PR11MB0901.namprd11.prod.outlook.com (10.164.68.27) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id 15.1.639.5; Fri, 30 Sep 2016 18:16:12 +0000 Received: from CY1PR11MB0904.namprd11.prod.outlook.com ([10.164.68.30]) by CY1PR11MB0904.namprd11.prod.outlook.com ([10.164.68.30]) with mapi id 15.01.0639.013; Fri, 30 Sep 2016 18:16:12 +0000 From: Harish Patil To: Chas Williams <3chas3@gmail.com>, "dev@dpdk.org" Thread-Topic: [PATCH v2 10/10] bnx2x: Merge debug register operations into headers Thread-Index: AQHSG0a5FW4/Y2G2E0q6TJKiuq4+Ag== Date: Fri, 30 Sep 2016 18:16:11 +0000 Message-ID: References: <1475144449-22176-1-git-send-email-3chas3@gmail.com> <1475144449-22176-10-git-send-email-3chas3@gmail.com> In-Reply-To: <1475144449-22176-10-git-send-email-3chas3@gmail.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: user-agent: Microsoft-MacOutlook/14.3.9.131030 authentication-results: spf=none (sender IP is ) smtp.mailfrom=harish.patil@qlogic.com; x-ms-exchange-messagesentrepresentingtype: 1 x-originating-ip: [173.186.134.106] x-ms-office365-filtering-correlation-id: 199a976c-cf83-4d7d-f837-08d3e95ddc26 x-microsoft-exchange-diagnostics: 1; CY1PR11MB0901; 6:zo1hOwqTGxDTS5o0nx6+L+xs3F8iS1ok9Ma2jnrDFAybvYl6vJs3nvZhL8Rt7hoYMhUeXyqRhh8hMysxFuteyKlhD9QcE+5nzhhxBvv3sPzdI75DvcuFMRxqnR2pl/twtrb/l4AXC0oW6AmFQkCSgmdqTVUm9rT/w4SLryyHYlX6qCzp+ym9JJx64jNSN99mJAyP7TqGeUbAvQD2gcugy2YyrvRhGp40hvIfXWqCJzJ2qAcES7ZqnpeMGV+x18LQhXOKOuZAa/qM/aa9D1oKs/4uLOnVzY8tU6IdIw4lInI=; 5:S79E6mQ7Ohhwqe7le5io1/MKzSpxTpssa/UBYfqNqJaqciLSgduo35VQzy9v2zC+eMj03JGBjnilmOssSr2eDJx7h4NvD8AZCV8UmZppilW0O8fbOJQ8ZYIBZ4CvvUM8onBZypGlo91PWOlV4F1nhQ==; 24:cS8gut8rxqmcOBnGhKufj6jZsbpHIhUF4Q6DoQ44DKIEO0tAlZSom4lCKj5ASXfBTK2r0oRspXMIP9Zfz1/cL/OozT8hHSy7iKCgjElS7Jw=; 7:8tusoCQ7fbtmD5WsrgNgNR9WWrkmqjG6lwLJU4oiubdaj1ZYmQKZO+QVGuJ5WBS1+fTDuVguanhLpK3Y9BOBxMWv5ksO9opsUW94LkD7aXOfLx3qsWb0hvk6wlrRx/xUBn2k9E5RUfuylBVnWK/cL4snx9D5XqUzoLzBPNLvCCE9WDuEUmtHRr5q0PegbvfkXeDNFKXQJWpdSkaUKjaEhASlRI3AZLPGsdVrGE+ob5obIwWwoEDz0NkR75WjqLOohef3W57z2KjL3lJutXYgdP4GD0F62JWGjbf9VlvG2RxrIk5cRDzPYclx6MXxY0Ui x-microsoft-antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:CY1PR11MB0901; x-microsoft-antispam-prvs: x-exchange-antispam-report-test: UriScan:; x-exchange-antispam-report-cfa-test: BCL:0; PCL:0; RULEID:(6040176)(601004)(2401047)(8121501046)(5005006)(3002001)(10201501046); SRVR:CY1PR11MB0901; BCL:0; PCL:0; RULEID:; SRVR:CY1PR11MB0901; x-forefront-prvs: 008184426E x-forefront-antispam-report: SFV:NSPM; SFS:(10019020)(6009001)(7916002)(199003)(189002)(19580395003)(106356001)(66066001)(106116001)(19580405001)(105586002)(5002640100001)(305945005)(99286002)(11100500001)(81156014)(189998001)(97736004)(7736002)(3660700001)(4001350100001)(10400500002)(122556002)(107886002)(5001770100001)(81166006)(8676002)(68736007)(7846002)(5660300001)(3280700002)(92566002)(586003)(2501003)(36756003)(83506001)(9686002)(3846002)(102836003)(2900100001)(8936002)(77096005)(54356999)(2906002)(2950100002)(101416001)(15974865002)(87936001)(86362001)(76176999)(50986999)(6116002); DIR:OUT; SFP:1102; SCL:1; SRVR:CY1PR11MB0901; H:CY1PR11MB0904.namprd11.prod.outlook.com; FPR:; SPF:None; PTR:InfoNoRecords; A:1; MX:1; LANG:en; received-spf: None (protection.outlook.com: qlogic.com does not designate permitted sender hosts) spamdiagnosticoutput: 1:99 spamdiagnosticmetadata: NSPM Content-Type: text/plain; charset="utf-8" Content-ID: <7C1B2D136F2E9F439A7C7E42E958331A@namprd11.prod.outlook.com> Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: qlogic.com X-MS-Exchange-CrossTenant-originalarrivaltime: 30 Sep 2016 18:16:11.9089 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 0d68a1f9-1490-4d0e-8767-a87dab3ef2ba X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY1PR11MB0901 Subject: Re: [dpdk-dev] [PATCH v2 10/10] bnx2x: Merge debug register operations into headers X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: patches and discussions about DPDK List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 30 Sep 2016 18:16:14 -0000 Pg0KPlRoZSByZWdpc3RlciByZWFkL3dyaXRlcyBzaG91bGQganVzdCBiZSBzdGF0aWMgaW5saW5l IGluc3RlYWQgb2YNCj5hbHRlcm5hdGVseSBkZWZpbmVkIGFzIHJvdXRpbmVzIG9yIG1hY3JvcyBk ZXBlbmRpbmcgb24gdGhlIHN0YXR1cyBvZg0KPmRlYnVnZ2luZy4NCj4NCj5GaXggYm54MnhfcmVn X3JlYWQzMigpIHJldHVybmluZyAwIGR1cmluZyBkZWJ1ZyB1bmFsaWduZWQgcmVhZHMuDQo+DQo+ Rml4ZXM6IGI1YmY3NzE5MjIxZCAoImJueDJ4OiBkcml2ZXIgc3VwcG9ydCByb3V0aW5lcyIpDQo+ DQo+U2lnbmVkLW9mZi1ieTogQ2hhcyBXaWxsaWFtcyA8M2NoYXMzQGdtYWlsLmNvbT4NCj4tLS0N Cj4gZHJpdmVycy9uZXQvYm54MngvTWFrZWZpbGUgfCAgMSAtDQo+IGRyaXZlcnMvbmV0L2JueDJ4 L2JueDJ4LmggIHwgOTkNCj4rKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0t LS0tLS0tDQo+IGRyaXZlcnMvbmV0L2JueDJ4L2RlYnVnLmMgIHwgOTYNCj4tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KPiAzIGZpbGVzIGNoYW5nZWQsIDgwIGlu c2VydGlvbnMoKyksIDExNiBkZWxldGlvbnMoLSkNCj4gZGVsZXRlIG1vZGUgMTAwNjQ0IGRyaXZl cnMvbmV0L2JueDJ4L2RlYnVnLmMNCj4NCj5kaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvYm54Mngv TWFrZWZpbGUgYi9kcml2ZXJzL25ldC9ibngyeC9NYWtlZmlsZQ0KPmluZGV4IGFiNjk2ODAuLmU5 NzFmYjYgMTAwNjQ0DQo+LS0tIGEvZHJpdmVycy9uZXQvYm54MngvTWFrZWZpbGUNCj4rKysgYi9k cml2ZXJzL25ldC9ibngyeC9NYWtlZmlsZQ0KPkBAIC0yOCw3ICsyOCw2IEBAIFNSQ1MtJChDT05G SUdfUlRFX0xJQlJURV9CTlgyWF9QTUQpICs9IGJueDJ4X2V0aGRldi5jDQo+IFNSQ1MtJChDT05G SUdfUlRFX0xJQlJURV9CTlgyWF9QTUQpICs9IGVjb3JlX3NwLmMNCj4gU1JDUy0kKENPTkZJR19S VEVfTElCUlRFX0JOWDJYX1BNRCkgKz0gZWxpbmsuYw0KPiBTUkNTLSQoQ09ORklHX1JURV9MSUJS VEVfQk5YMlhfUE1EKSArPSBibngyeF92ZnBmLmMNCj4tU1JDUy0kKENPTkZJR19SVEVfTElCUlRF X0JOWDJYX0RFQlVHX1BFUklPRElDKSArPSBkZWJ1Zy5jDQo+IA0KPiAjIHRoaXMgbGliIGRlcGVu ZHMgdXBvbjoNCj4gREVQRElSUy0kKENPTkZJR19SVEVfTElCUlRFX0JOWDJYX1BNRCkgKz0gbGli L2xpYnJ0ZV9lYWwgbGliL2xpYnJ0ZV9ldGhlcg0KPmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC9i bngyeC9ibngyeC5oIGIvZHJpdmVycy9uZXQvYm54MngvYm54MnguaA0KPmluZGV4IGU0OTc5YWMu LmQxZGQ2YWEgMTAwNjQ0DQo+LS0tIGEvZHJpdmVycy9uZXQvYm54MngvYm54MnguaA0KPisrKyBi L2RyaXZlcnMvbmV0L2JueDJ4L2JueDJ4LmgNCj5AQCAtMTQxNCwzNCArMTQxNCw5NSBAQCBzdHJ1 Y3QgYm54MnhfZnVuY19pbml0X3BhcmFtcyB7DQo+ICNkZWZpbmUgQkFSMSAyDQo+ICNkZWZpbmUg QkFSMiA0DQo+IA0KPitzdGF0aWMgaW5saW5lIHZvaWQNCj4rYm54MnhfcmVnX3dyaXRlOChzdHJ1 Y3QgYm54Mnhfc29mdGMgKnNjLCBzaXplX3Qgb2Zmc2V0LCB1aW50OF90IHZhbCkNCj4rew0KPisJ UE1EX0RFQlVHX1BFUklPRElDX0xPRyhERUJVRywgIm9mZnNldD0weCUwOGx4IHZhbD0weCUwMngi LA0KPisJCQkgICAgICAgKHVuc2lnbmVkIGxvbmcpb2Zmc2V0LCB2YWwpOw0KPisJKigodm9sYXRp bGUgdWludDhfdCopDQo+KwkgICgodWludHB0cl90KXNjLT5iYXJbQkFSMF0uYmFzZV9hZGRyICsg b2Zmc2V0KSkgPSB2YWw7DQo+K30NCj4rDQo+K3N0YXRpYyBpbmxpbmUgdm9pZA0KPitibngyeF9y ZWdfd3JpdGUxNihzdHJ1Y3QgYm54Mnhfc29mdGMgKnNjLCBzaXplX3Qgb2Zmc2V0LCB1aW50MTZf dCB2YWwpDQo+K3sNCj4rI2lmZGVmIFJURV9MSUJSVEVfQk5YMlhfREVCVUdfUEVSSU9ESUMNCj4r CWlmICgob2Zmc2V0ICUgMikgIT0gMCkNCj4rCQlQTURfRFJWX0xPRyhOT1RJQ0UsICJVbmFsaWdu ZWQgMTYtYml0IHdyaXRlIHRvIDB4JTA4bHgiLA0KPisJCQkgICAgKHVuc2lnbmVkIGxvbmcpb2Zm c2V0KTsNCj4rI2VuZGlmDQo+KwlQTURfREVCVUdfUEVSSU9ESUNfTE9HKERFQlVHLCAib2Zmc2V0 PTB4JTA4bHggdmFsPTB4JTA0eCIsDQo+KwkJCSAgICAgICAodW5zaWduZWQgbG9uZylvZmZzZXQs IHZhbCk7DQo+KwkqKCh2b2xhdGlsZSB1aW50MTZfdCopDQo+KwkgICgodWludHB0cl90KXNjLT5i YXJbQkFSMF0uYmFzZV9hZGRyICsgb2Zmc2V0KSkgPSB2YWw7DQo+K30NCj4rDQo+K3N0YXRpYyBp bmxpbmUgdm9pZA0KPitibngyeF9yZWdfd3JpdGUzMihzdHJ1Y3QgYm54Mnhfc29mdGMgKnNjLCBz aXplX3Qgb2Zmc2V0LCB1aW50MzJfdCB2YWwpDQo+K3sNCj4gI2lmZGVmIFJURV9MSUJSVEVfQk5Y MlhfREVCVUdfUEVSSU9ESUMNCj4tdWludDhfdCBibngyeF9yZWdfcmVhZDgoc3RydWN0IGJueDJ4 X3NvZnRjICpzYywgc2l6ZV90IG9mZnNldCk7DQo+LXVpbnQxNl90IGJueDJ4X3JlZ19yZWFkMTYo c3RydWN0IGJueDJ4X3NvZnRjICpzYywgc2l6ZV90IG9mZnNldCk7DQo+LXVpbnQzMl90IGJueDJ4 X3JlZ19yZWFkMzIoc3RydWN0IGJueDJ4X3NvZnRjICpzYywgc2l6ZV90IG9mZnNldCk7DQo+Kwlp ZiAoKG9mZnNldCAlIDQpICE9IDApDQo+KwkJUE1EX0RSVl9MT0coTk9USUNFLCAiVW5hbGlnbmVk IDMyLWJpdCB3cml0ZSB0byAweCUwOGx4IiwNCj4rCQkJICAgICh1bnNpZ25lZCBsb25nKW9mZnNl dCk7DQo+KyNlbmRpZg0KPiANCj4tdm9pZCBibngyeF9yZWdfd3JpdGU4KHN0cnVjdCBibngyeF9z b2Z0YyAqc2MsIHNpemVfdCBvZmZzZXQsIHVpbnQ4X3QNCj52YWwpOw0KPi12b2lkIGJueDJ4X3Jl Z193cml0ZTE2KHN0cnVjdCBibngyeF9zb2Z0YyAqc2MsIHNpemVfdCBvZmZzZXQsIHVpbnQxNl90 DQo+dmFsKTsNCj4tdm9pZCBibngyeF9yZWdfd3JpdGUzMihzdHJ1Y3QgYm54Mnhfc29mdGMgKnNj LCBzaXplX3Qgb2Zmc2V0LCB1aW50MzJfdA0KPnZhbCk7DQo+LSNlbHNlDQo+LSNkZWZpbmUgYm54 MnhfcmVnX3dyaXRlOChzYywgb2Zmc2V0LCB2YWwpXA0KPi0JKigodm9sYXRpbGUgdWludDhfdCop KCh1aW50cHRyX3Qpc2MtPmJhcltCQVIwXS5iYXNlX2FkZHIgKyBvZmZzZXQpKSA9DQo+dmFsDQo+ KwlQTURfREVCVUdfUEVSSU9ESUNfTE9HKERFQlVHLCAib2Zmc2V0PTB4JTA4bHggdmFsPTB4JTA4 eCIsDQo+KwkJCSAgICAgICAodW5zaWduZWQgbG9uZylvZmZzZXQsIHZhbCk7DQo+KwkqKCh2b2xh dGlsZSB1aW50MzJfdCopDQo+KwkgICgodWludHB0cl90KXNjLT5iYXJbQkFSMF0uYmFzZV9hZGRy ICsgb2Zmc2V0KSkgPSB2YWw7DQo+K30NCj4rDQo+K3N0YXRpYyBpbmxpbmUgdWludDhfdA0KPiti bngyeF9yZWdfcmVhZDgoc3RydWN0IGJueDJ4X3NvZnRjICpzYywgc2l6ZV90IG9mZnNldCkNCj4r ew0KPisJdWludDhfdCB2YWw7DQo+Kw0KPisJdmFsID0gKHVpbnQ4X3QpKCooKHZvbGF0aWxlIHVp bnQ4X3QqKQ0KPisJCQkgICgodWludHB0cl90KSBzYy0+YmFyW0JBUjBdLmJhc2VfYWRkciArIG9m ZnNldCkpKTsNCj4rCVBNRF9ERUJVR19QRVJJT0RJQ19MT0coREVCVUcsICJvZmZzZXQ9MHglMDhs eCB2YWw9MHglMDJ4IiwNCj4rCQkJICAgICAgICh1bnNpZ25lZCBsb25nKW9mZnNldCwgdmFsKTsN Cj4rDQo+KwlyZXR1cm4gdmFsOw0KPit9DQo+Kw0KPitzdGF0aWMgaW5saW5lIHVpbnQxNl90DQo+ K2JueDJ4X3JlZ19yZWFkMTYoc3RydWN0IGJueDJ4X3NvZnRjICpzYywgc2l6ZV90IG9mZnNldCkN Cj4rew0KPisJdWludDE2X3QgdmFsOw0KPiANCj4tI2RlZmluZSBibngyeF9yZWdfd3JpdGUxNihz Yywgb2Zmc2V0LCB2YWwpXA0KPi0JKigodm9sYXRpbGUgdWludDE2X3QqKSgodWludHB0cl90KXNj LT5iYXJbQkFSMF0uYmFzZV9hZGRyICsgb2Zmc2V0KSkgPQ0KPnZhbA0KPisjaWZkZWYgUlRFX0xJ QlJURV9CTlgyWF9ERUJVR19QRVJJT0RJQw0KPisJaWYgKChvZmZzZXQgJSAyKSAhPSAwKQ0KPisJ CVBNRF9EUlZfTE9HKE5PVElDRSwgIlVuYWxpZ25lZCAxNi1iaXQgcmVhZCBmcm9tIDB4JTA4bHgi LA0KPisJCQkgICAgKHVuc2lnbmVkIGxvbmcpb2Zmc2V0KTsNCj4rI2VuZGlmDQo+IA0KPi0jZGVm aW5lIGJueDJ4X3JlZ193cml0ZTMyKHNjLCBvZmZzZXQsIHZhbClcDQo+LQkqKCh2b2xhdGlsZSB1 aW50MzJfdCopKCh1aW50cHRyX3Qpc2MtPmJhcltCQVIwXS5iYXNlX2FkZHIgKyBvZmZzZXQpKSA9 DQo+dmFsDQo+Kwl2YWwgPSAodWludDE2X3QpKCooKHZvbGF0aWxlIHVpbnQxNl90KikNCj4rCQkJ ICAgKCh1aW50cHRyX3QpIHNjLT5iYXJbQkFSMF0uYmFzZV9hZGRyICsgb2Zmc2V0KSkpOw0KPisJ UE1EX0RFQlVHX1BFUklPRElDX0xPRyhERUJVRywgIm9mZnNldD0weCUwOGx4IHZhbD0weCUwOHgi LA0KPisJCQkgICAgICAgKHVuc2lnbmVkIGxvbmcpb2Zmc2V0LCB2YWwpOw0KPiANCj4tI2RlZmlu ZSBibngyeF9yZWdfcmVhZDgoc2MsIG9mZnNldClcDQo+LQkoKigodm9sYXRpbGUgdWludDhfdCop KCh1aW50cHRyX3Qpc2MtPmJhcltCQVIwXS5iYXNlX2FkZHIgKyBvZmZzZXQpKSkNCj4rCXJldHVy biB2YWw7DQo+K30NCj4gDQo+LSNkZWZpbmUgYm54MnhfcmVnX3JlYWQxNihzYywgb2Zmc2V0KVwN Cj4tCSgqKCh2b2xhdGlsZSB1aW50MTZfdCopKCh1aW50cHRyX3Qpc2MtPmJhcltCQVIwXS5iYXNl X2FkZHIgKyBvZmZzZXQpKSkNCj4rc3RhdGljIGlubGluZSB1aW50MzJfdA0KPitibngyeF9yZWdf cmVhZDMyKHN0cnVjdCBibngyeF9zb2Z0YyAqc2MsIHNpemVfdCBvZmZzZXQpDQo+K3sNCj4rCXVp bnQzMl90IHZhbDsNCj4gDQo+LSNkZWZpbmUgYm54MnhfcmVnX3JlYWQzMihzYywgb2Zmc2V0KVwN Cj4tCSgqKCh2b2xhdGlsZSB1aW50MzJfdCopKCh1aW50cHRyX3Qpc2MtPmJhcltCQVIwXS5iYXNl X2FkZHIgKyBvZmZzZXQpKSkNCj4rI2lmZGVmIFJURV9MSUJSVEVfQk5YMlhfREVCVUdfUEVSSU9E SUMNCj4rCWlmICgob2Zmc2V0ICUgNCkgIT0gMCkNCj4rCQlQTURfRFJWX0xPRyhOT1RJQ0UsICJV bmFsaWduZWQgMzItYml0IHJlYWQgZnJvbSAweCUwOGx4IiwNCj4rCQkJICAgICh1bnNpZ25lZCBs b25nKW9mZnNldCk7DQo+ICNlbmRpZg0KPiANCj4rCXZhbCA9ICh1aW50MzJfdCkoKigodm9sYXRp bGUgdWludDMyX3QqKQ0KPisJCQkgICAoKHVpbnRwdHJfdCkgc2MtPmJhcltCQVIwXS5iYXNlX2Fk ZHIgKyBvZmZzZXQpKSk7DQo+KwlQTURfREVCVUdfUEVSSU9ESUNfTE9HKERFQlVHLCAib2Zmc2V0 PTB4JTA4bHggdmFsPTB4JTA4eCIsDQo+KwkJCSAgICAgICAodW5zaWduZWQgbG9uZylvZmZzZXQs IHZhbCk7DQo+Kw0KPisJcmV0dXJuIHZhbDsNCj4rfQ0KPisNCj4gI2RlZmluZSBSRUdfQUREUihz Yywgb2Zmc2V0KSAoKCh1aW50NjRfdClzYy0+YmFyW0JBUjBdLmJhc2VfYWRkcikgKw0KPihvZmZz ZXQpKQ0KPiANCj4gI2RlZmluZSBSRUdfUkQ4KHNjLCBvZmZzZXQpICBibngyeF9yZWdfcmVhZDgo c2MsIChvZmZzZXQpKQ0KPmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC9ibngyeC9kZWJ1Zy5jIGIv ZHJpdmVycy9uZXQvYm54MngvZGVidWcuYw0KPmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NA0KPmlu ZGV4IGNjNTA4NDUuLjAwMDAwMDANCj4tLS0gYS9kcml2ZXJzL25ldC9ibngyeC9kZWJ1Zy5jDQo+ KysrIC9kZXYvbnVsbA0KPkBAIC0xLDk2ICswLDAgQEANCj4tLyotDQo+LSAqIENvcHlyaWdodCAo YykgMjAwNy0yMDEzIFFMb2dpYyBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4NCj4t ICoNCj4tICogRXJpYyBEYXZpcyAgICAgICAgPGVkYXZpc0Bicm9hZGNvbS5jb20+DQo+LSAqIERh dmlkIENocmlzdGVuc2VuIDxkYXZpZGNoQGJyb2FkY29tLmNvbT4NCj4tICogR2FyeSBaYW1icmFu byAgICAgPHphbWJyYW5vQGJyb2FkY29tLmNvbT4NCj4tICoNCj4tICogQ29weXJpZ2h0IChjKSAy MDEzLTIwMTUgQnJvY2FkZSBDb21tdW5pY2F0aW9ucyBTeXN0ZW1zLCBJbmMuDQo+LSAqIENvcHly aWdodCAoYykgMjAxNSBRTG9naWMgQ29ycG9yYXRpb24uDQo+LSAqIEFsbCByaWdodHMgcmVzZXJ2 ZWQuDQo+LSAqIHd3dy5xbG9naWMuY29tDQo+LSAqDQo+LSAqIFNlZSBMSUNFTlNFLmJueDJ4X3Bt ZCBmb3IgY29weXJpZ2h0IGFuZCBsaWNlbnNpbmcgZGV0YWlscy4NCj4tICovDQo+LQ0KPi0jaW5j bHVkZSAiYm54MnguaCINCj4tDQo+LQ0KPi0vKg0KPi0gKiBEZWJ1ZyB2ZXJzaW9ucyBvZiB0aGUg OC8xNi8zMiBiaXQgT1MgcmVnaXN0ZXIgcmVhZC93cml0ZSBmdW5jdGlvbnMgdG8NCj4tICogY2Fw dHVyZS9kaXNwbGF5IHZhbHVlcyByZWFkL3dyaXR0ZW4gZnJvbS90byB0aGUgY29udHJvbGxlci4N Cj4tICovDQo+LXZvaWQNCj4tYm54MnhfcmVnX3dyaXRlOChzdHJ1Y3QgYm54Mnhfc29mdGMgKnNj LCBzaXplX3Qgb2Zmc2V0LCB1aW50OF90IHZhbCkNCj4tew0KPi0JUE1EX0RFQlVHX1BFUklPRElD X0xPRyhERUJVRywgIm9mZnNldD0weCUwOGx4IHZhbD0weCUwMngiLCAodW5zaWduZWQNCj5sb25n KW9mZnNldCwgdmFsKTsNCj4tCSooKHZvbGF0aWxlIHVpbnQ4X3QqKSgodWludHB0cl90KXNjLT5i YXJbQkFSMF0uYmFzZV9hZGRyICsgb2Zmc2V0KSkgPQ0KPnZhbDsNCj4tfQ0KPi0NCj4tdm9pZA0K Pi1ibngyeF9yZWdfd3JpdGUxNihzdHJ1Y3QgYm54Mnhfc29mdGMgKnNjLCBzaXplX3Qgb2Zmc2V0 LCB1aW50MTZfdCB2YWwpDQo+LXsNCj4tCWlmICgob2Zmc2V0ICUgMikgIT0gMCkgew0KPi0JCVBN RF9EUlZfTE9HKE5PVElDRSwgIlVuYWxpZ25lZCAxNi1iaXQgd3JpdGUgdG8gMHglMDhseCIsDQo+ LQkJCSAgICAodW5zaWduZWQgbG9uZylvZmZzZXQpOw0KPi0JfQ0KPi0NCj4tCVBNRF9ERUJVR19Q RVJJT0RJQ19MT0coREVCVUcsICJvZmZzZXQ9MHglMDhseCB2YWw9MHglMDR4IiwgKHVuc2lnbmVk DQo+bG9uZylvZmZzZXQsIHZhbCk7DQo+LQkqKCh2b2xhdGlsZSB1aW50MTZfdCopKCh1aW50cHRy X3Qpc2MtPmJhcltCQVIwXS5iYXNlX2FkZHIgKyBvZmZzZXQpKSA9DQo+dmFsOw0KPi19DQo+LQ0K Pi12b2lkDQo+LWJueDJ4X3JlZ193cml0ZTMyKHN0cnVjdCBibngyeF9zb2Z0YyAqc2MsIHNpemVf dCBvZmZzZXQsIHVpbnQzMl90IHZhbCkNCj4tew0KPi0JaWYgKChvZmZzZXQgJSA0KSAhPSAwKSB7 DQo+LQkJUE1EX0RSVl9MT0coTk9USUNFLCAiVW5hbGlnbmVkIDMyLWJpdCB3cml0ZSB0byAweCUw OGx4IiwNCj4tCQkJICAgICh1bnNpZ25lZCBsb25nKW9mZnNldCk7DQo+LQl9DQo+LQ0KPi0JUE1E X0RFQlVHX1BFUklPRElDX0xPRyhERUJVRywgIm9mZnNldD0weCUwOGx4IHZhbD0weCUwOHgiLCAo dW5zaWduZWQNCj5sb25nKW9mZnNldCwgdmFsKTsNCj4tCSooKHZvbGF0aWxlIHVpbnQzMl90Kiko KHVpbnRwdHJfdClzYy0+YmFyW0JBUjBdLmJhc2VfYWRkciArIG9mZnNldCkpID0NCj52YWw7DQo+ LX0NCj4tDQo+LXVpbnQ4X3QNCj4tYm54MnhfcmVnX3JlYWQ4KHN0cnVjdCBibngyeF9zb2Z0YyAq c2MsIHNpemVfdCBvZmZzZXQpDQo+LXsNCj4tCXVpbnQ4X3QgdmFsOw0KPi0NCj4tCXZhbCA9ICh1 aW50OF90KSgqKCh2b2xhdGlsZQ0KPnVpbnQ4X3QqKSgodWludHB0cl90KXNjLT5iYXJbQkFSMF0u YmFzZV9hZGRyICsgb2Zmc2V0KSkpOw0KPi0JUE1EX0RFQlVHX1BFUklPRElDX0xPRyhERUJVRywg Im9mZnNldD0weCUwOGx4IHZhbD0weCUwMngiLCAodW5zaWduZWQNCj5sb25nKW9mZnNldCwgdmFs KTsNCj4tDQo+LQlyZXR1cm4gdmFsOw0KPi19DQo+LQ0KPi11aW50MTZfdA0KPi1ibngyeF9yZWdf cmVhZDE2KHN0cnVjdCBibngyeF9zb2Z0YyAqc2MsIHNpemVfdCBvZmZzZXQpDQo+LXsNCj4tCXVp bnQxNl90IHZhbDsNCj4tDQo+LQlpZiAoKG9mZnNldCAlIDIpICE9IDApIHsNCj4tCQlQTURfRFJW X0xPRyhOT1RJQ0UsICJVbmFsaWduZWQgMTYtYml0IHJlYWQgZnJvbSAweCUwOGx4IiwNCj4tCQkJ ICAgICh1bnNpZ25lZCBsb25nKW9mZnNldCk7DQo+LQl9DQo+LQ0KPi0JdmFsID0gKHVpbnQxNl90 KSgqKCh2b2xhdGlsZQ0KPnVpbnQxNl90KikoKHVpbnRwdHJfdClzYy0+YmFyW0JBUjBdLmJhc2Vf YWRkciArIG9mZnNldCkpKTsNCj4tCVBNRF9ERUJVR19QRVJJT0RJQ19MT0coREVCVUcsICJvZmZz ZXQ9MHglMDhseCB2YWw9MHglMDh4IiwgKHVuc2lnbmVkDQo+bG9uZylvZmZzZXQsIHZhbCk7DQo+ LQ0KPi0JcmV0dXJuIHZhbDsNCj4tfQ0KPi0NCj4tdWludDMyX3QNCj4tYm54MnhfcmVnX3JlYWQz MihzdHJ1Y3QgYm54Mnhfc29mdGMgKnNjLCBzaXplX3Qgb2Zmc2V0KQ0KPi17DQo+LQl1aW50MzJf dCB2YWw7DQo+LQ0KPi0JaWYgKChvZmZzZXQgJSA0KSAhPSAwKSB7DQo+LQkJUE1EX0RSVl9MT0co Tk9USUNFLCAiVW5hbGlnbmVkIDMyLWJpdCByZWFkIGZyb20gMHglMDhseCIsDQo+LQkJCSAgICAo dW5zaWduZWQgbG9uZylvZmZzZXQpOw0KPi0JCXJldHVybiAwOw0KPi0JfQ0KPi0NCj4tCXZhbCA9 ICh1aW50MzJfdCkoKigodm9sYXRpbGUNCj51aW50MzJfdCopKCh1aW50cHRyX3Qpc2MtPmJhcltC QVIwXS5iYXNlX2FkZHIgKyBvZmZzZXQpKSk7DQo+LQlQTURfREVCVUdfUEVSSU9ESUNfTE9HKERF QlVHLCAib2Zmc2V0PTB4JTA4bHggdmFsPTB4JTA4eCIsICh1bnNpZ25lZA0KPmxvbmcpb2Zmc2V0 LCB2YWwpOw0KPi0NCj4tCXJldHVybiB2YWw7DQo+LX0NCj4tLSANCj4yLjcuNA0KPg0KPg0KVGhl cmUgaXMgbm8gY292ZXIgbGV0dGVyLiBTbyBwbGVhc2UgdHJlYXQgdGhpcyBhY2tpbmcgdGhlIHNl cmllcy4NCg0KQWNrZWQtYnk6IEhhcmlzaCBQYXRpbCA8aGFyaXNoLnBhdGlsQHFsb2dpYy5jb20+ DQoNCg0KDQo=