From mboxrd@z Thu Jan 1 00:00:00 1970 From: Fred Herard Subject: Re: [PATCH] iscsi: Capture iscsi debug messages using tracepoints Date: Tue, 27 Nov 2018 17:18:24 -0500 Message-ID: <4f6bcdde-0534-21e3-d309-c3026ebc5e30@oracle.com> References: <1542819883-15685-1-git-send-email-fred.herard@oracle.com> <65d1a89a-da7c-892b-7231-69c509333811@suse.com> <43041a02-9ca4-5d30-4908-e62150d9b818@interlog.com> Reply-To: open-iscsi-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset="UTF-8"; format=flowed Content-Transfer-Encoding: base64 Return-path: Sender: open-iscsi-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org In-Reply-To: <43041a02-9ca4-5d30-4908-e62150d9b818-qazKcTl6WRFWk0Htik3J/w@public.gmane.org> Content-Language: en-US List-Post: , List-Help: , List-Archive: , List-Unsubscribe: , To: dgilbert-qazKcTl6WRFWk0Htik3J/w@public.gmane.org, Lee Duncan , open-iscsi-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org, linux-scsi-u79uwXL29TY76Z2rM5mHXA@public.gmane.org List-Id: linux-scsi@vger.kernel.org RG91ZywNCg0KUmVzcG9uc2UgaXMgaW5saW5lIGJlbG93Lg0KDQpPbiAxMS8yNi8yMDE4IDA4OjQx IFBNLCBEb3VnbGFzIEdpbGJlcnQgd3JvdGU6DQo+IExlZSwNCj4gU2VlIGFib3V0IDMvNCBvZiB0 aGUgd2F5IGRvd24geW91ciBwYXRjaC4NCj4NCj4gU3VtbWFyeTogaG93IGFib3V0IGdlbmVyYWxp emluZyB0aGUgbWVzc2FnZSBsb2dnaW5nIHRvIHRyYWNlZnMgc28gdGhlDQo+IHdob2xlIFNDU0kg c3Vic3lzdGVtIGNhbiB1c2UgaXQ/DQo+DQo+IERvdWcgR2lsYmVydA0KPg0KPg0KPiBPbiAyMDE4 LTExLTI2IDg6MDEgcC5tLiwgTGVlIER1bmNhbiB3cm90ZToNCj4+IE9uIDExLzIxLzE4IDk6MDQg QU0sIGZyZWQuaGVyYXJkQG9yYWNsZS5jb20gd3JvdGU6DQo+Pj4gRnJvbTogRnJlZCBIZXJhcmQg PGZyZWQuaGVyYXJkQG9yYWNsZS5jb20+DQo+Pj4NCj4+PiBUaGlzIGNvbW1pdCBlbmhhbmNlcyBp c2NzaSBpbml0aWF0b3IgbW9kdWxlcyB0byBjYXB0dXJlIGlzY3NpIGRlYnVnIA0KPj4+IG1lc3Nh Z2VzDQo+Pj4gdXNpbmcgbGludXgga2VybmVsIHRyYWNlcG9pbnQgZmFjaWxpdHk6DQo+Pj4NCj4+ PiBodHRwczovL3d3dy5rZXJuZWwub3JnL2RvYy9Eb2N1bWVudGF0aW9uL3RyYWNlL3RyYWNlcG9p bnRzLnR4dA0KPj4+DQo+Pj4gVGhlIGZvbGxvd2luZyB0cmFjZXBvaW50IGV2ZW50cyBoYXZlIGJl ZW4gY3JlYXRlZCB1bmRlciB0aGUgaXNjc2kgDQo+Pj4gdHJhY2Vwb2ludA0KPj4+IGV2ZW50IGdy b3VwOg0KPj4+DQo+Pj4gaXNjc2lfZGJnX2Nvbm4gLSB0byBjYXB0dXJlIGNvbm5lY3Rpb24gZGVi dWcgbWVzc2FnZXMgKGxpYmlzY3NpIG1vZHVsZSkNCj4+PiBpc2NzaV9kYmdfc2Vzc2lvbiAtIHRv IGNhcHR1cmUgc2Vzc2lvbiBkZWJ1ZyBtZXNzYWdlcyAobGliaXNjc2kgbW9kdWxlKQ0KPj4+IGlz Y3NpX2RiZ19laCAtIHRvIGNhcHR1cmUgZXJyb3IgaGFuZGxpbmcgZGVidWcgbWVzc2FnZXMgKGxp YmlzY3NpIA0KPj4+IG1vZHVsZSkNCj4+PiBpc2NzaV9kYmdfdGNwIC0gdG8gY2FwdHVyZSBpc2Nz aSB0Y3AgZGVidWcgbWVzc2FnZXMgKGxpYmlzY3NpX3RjcCANCj4+PiBtb2R1bGUpDQo+Pj4gaXNj c2lfZGJnX3N3X3RjcCAtIHRvIGNhcHR1cmUgaXNjc2kgc3cgdGNwIGRlYnVnIG1lc3NhZ2VzIChp c2NzaV90Y3AgDQo+Pj4gbW9kdWxlKQ0KPj4+IGlzY3NpX2RiZ190cmFuc19zZXNzaW9uIC0gdG8g Y3BhdHVyZSBpc2NzaSB0cmFzbnNwb3J0IHNlc3MgZGVidWcgDQo+Pj4gbWVzc2FnZXMNCj4+PiDC oMKgwqDCoChzY3NpX3RyYW5zcG9ydF9pc2NzaSBtb2R1bGUpDQo+Pj4gaXNjc2lfZGJnX3RyYW5z X2Nvbm4gLSB0byBjYXB0dXJlIGlzY3NpIHRhbnNwb3J0IGNvbm4gZGVidWcgbWVzc2FnZXMNCj4+ PiDCoMKgwqDCoChzY3NpX3RyYW5zcG9ydF9pc2NzaSBtb2R1bGUpDQo+Pj4NCj4+PiBTaWduZWQt b2ZmLWJ5OiBGcmVkIEhlcmFyZCA8ZnJlZC5oZXJhcmRAb3JhY2xlLmNvbT4NCj4+PiBSZXZpZXdl ZC1ieTogUmFqYW4gU2hhbm11Z2F2ZWx1IDxyYWphbi5zaGFubXVnYXZlbHVAb3JhY2xlLmNvbT4N Cj4+PiAtLS0NCj4+PiDCoCBkcml2ZXJzL3Njc2kvaXNjc2lfdGNwLmPCoMKgwqDCoMKgwqDCoMKg wqDCoMKgIHzCoMKgIDQgKysNCj4+PiDCoCBkcml2ZXJzL3Njc2kvbGliaXNjc2kuY8KgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoCB8wqAgMTAgKysrDQo+Pj4gwqAgZHJpdmVycy9zY3NpL2xpYmlzY3Np X3RjcC5jwqDCoMKgwqDCoMKgwqDCoCB8wqDCoCA0ICsrDQo+Pj4gwqAgZHJpdmVycy9zY3NpL3Nj c2lfdHJhbnNwb3J0X2lzY3NpLmMgfMKgIDM0ICsrKysrKysrLQ0KPj4+IMKgIGluY2x1ZGUvdHJh Y2UvZXZlbnRzL2lzY3NpLmjCoMKgwqDCoMKgwqDCoCB8IDEwNyANCj4+PiArKysrKysrKysrKysr KysrKysrKysrKysrKysrDQo+Pj4gwqAgNSBmaWxlcyBjaGFuZ2VkLCAxNTggaW5zZXJ0aW9ucygr KSwgMSBkZWxldGlvbigtKQ0KPj4+IMKgIGNyZWF0ZSBtb2RlIDEwMDY0NCBpbmNsdWRlL3RyYWNl L2V2ZW50cy9pc2NzaS5oDQo+Pj4NCj4+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9zY3NpL2lzY3Np X3RjcC5jIGIvZHJpdmVycy9zY3NpL2lzY3NpX3RjcC5jDQo+Pj4gaW5kZXggZTExZWZmNmIwZTk3 Li5jZjY0NzVhZjcyYjEgMTAwNjQ0DQo+Pj4gLS0tIGEvZHJpdmVycy9zY3NpL2lzY3NpX3RjcC5j DQo+Pj4gKysrIGIvZHJpdmVycy9zY3NpL2lzY3NpX3RjcC5jDQo+Pj4gQEAgLTQ0LDYgKzQ0LDcg QEANCj4+PiDCoCAjaW5jbHVkZSA8c2NzaS9zY3NpX2hvc3QuaD4NCj4+PiDCoCAjaW5jbHVkZSA8 c2NzaS9zY3NpLmg+DQo+Pj4gwqAgI2luY2x1ZGUgPHNjc2kvc2NzaV90cmFuc3BvcnRfaXNjc2ku aD4NCj4+PiArI2luY2x1ZGUgPHRyYWNlL2V2ZW50cy9pc2NzaS5oPg0KPj4+IMKgIMKgICNpbmNs dWRlICJpc2NzaV90Y3AuaCINCj4+PiDCoCBAQCAtNzIsNiArNzMsOSBAQCBNT0RVTEVfUEFSTV9E RVNDKGRlYnVnX2lzY3NpX3RjcCwgIlR1cm4gb24gDQo+Pj4gZGVidWdnaW5nIGZvciBpc2NzaV90 Y3AgbW9kdWxlICINCj4+PiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBpc2NzaV9jb25uX3By aW50ayhLRVJOX0lORk8sIF9jb25uLMKgwqDCoCBcDQo+Pj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAiJXMgIiBkYmdfZm10LMKgwqDCoCBcDQo+ Pj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBf X2Z1bmNfXywgIyNhcmcpO8KgwqDCoCBcDQo+Pj4gK8KgwqDCoMKgwqDCoMKgIGlzY3NpX2RiZ190 cmFjZSh0cmFjZV9pc2NzaV9kYmdfc3dfdGNwLMKgwqDCoMKgwqDCoMKgIFwNCj4+PiArwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgICYoX2Nvbm4pLT5jbHNfY29ubi0+ZGV2LMKgwqDCoCBc DQo+Pj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAiJXMgIiBkYmdfZm10LCBfX2Z1 bmNfXywgIyNhcmcpO1wNCj4+PiDCoMKgwqDCoMKgIH0gd2hpbGUgKDApOw0KPj4+IMKgIMKgIGRp ZmYgLS1naXQgYS9kcml2ZXJzL3Njc2kvbGliaXNjc2kuYyBiL2RyaXZlcnMvc2NzaS9saWJpc2Nz aS5jDQo+Pj4gaW5kZXggY2Y4YTE1ZTU0ZDgzLi4wODhlOTAzMDhjMWYgMTAwNjQ0DQo+Pj4gLS0t IGEvZHJpdmVycy9zY3NpL2xpYmlzY3NpLmMNCj4+PiArKysgYi9kcml2ZXJzL3Njc2kvbGliaXNj c2kuYw0KPj4+IEBAIC00MCw2ICs0MCw3IEBADQo+Pj4gwqAgI2luY2x1ZGUgPHNjc2kvc2NzaV90 cmFuc3BvcnQuaD4NCj4+PiDCoCAjaW5jbHVkZSA8c2NzaS9zY3NpX3RyYW5zcG9ydF9pc2NzaS5o Pg0KPj4+IMKgICNpbmNsdWRlIDxzY3NpL2xpYmlzY3NpLmg+DQo+Pj4gKyNpbmNsdWRlIDx0cmFj ZS9ldmVudHMvaXNjc2kuaD4NCj4+PiDCoCDCoCBzdGF0aWMgaW50IGlzY3NpX2RiZ19saWJfY29u bjsNCj4+PiDCoCBtb2R1bGVfcGFyYW1fbmFtZWQoZGVidWdfbGliaXNjc2lfY29ubiwgaXNjc2lf ZGJnX2xpYl9jb25uLCBpbnQsDQo+Pj4gQEAgLTY4LDYgKzY5LDkgQEAgTU9EVUxFX1BBUk1fREVT QyhkZWJ1Z19saWJpc2NzaV9laCwNCj4+PiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBpc2Nz aV9jb25uX3ByaW50ayhLRVJOX0lORk8sIF9jb25uLMKgwqDCoCBcDQo+Pj4gwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAiJXMgIiBkYmdfZm10LMKg wqDCoCBcDQo+Pj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoCBfX2Z1bmNfXywgIyNhcmcpO8KgwqDCoCBcDQo+Pj4gK8KgwqDCoMKgwqDCoMKgIGlz Y3NpX2RiZ190cmFjZSh0cmFjZV9pc2NzaV9kYmdfY29ubizCoMKgwqDCoMKgwqDCoCBcDQo+Pj4g K8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAmKF9jb25uKS0+Y2xzX2Nvbm4tPmRldizC oMKgwqAgXA0KPj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgIiVzICIgZGJnX2Zt dCwgX19mdW5jX18sICMjYXJnKTtcDQo+Pj4gwqDCoMKgwqDCoCB9IHdoaWxlICgwKTsNCj4+PiDC oCDCoCAjZGVmaW5lIElTQ1NJX0RCR19TRVNTSU9OKF9zZXNzaW9uLCBkYmdfZm10LCBhcmcuLi4p wqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBcDQo+Pj4gQEAgLTc2LDYgKzgwLDkgQEAgTU9EVUxFX1BB Uk1fREVTQyhkZWJ1Z19saWJpc2NzaV9laCwNCj4+PiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oCBpc2NzaV9zZXNzaW9uX3ByaW50ayhLRVJOX0lORk8sIF9zZXNzaW9uLMKgwqDCoCBcDQo+Pj4g wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAiJXMg IiBkYmdfZm10LMKgwqDCoMKgwqDCoMKgIFwNCj4+PiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIF9fZnVuY19fLCAjI2FyZyk7wqDCoMKgwqDCoMKg wqAgXA0KPj4+ICvCoMKgwqDCoMKgwqDCoCBpc2NzaV9kYmdfdHJhY2UodHJhY2VfaXNjc2lfZGJn X3Nlc3Npb24swqDCoMKgwqDCoMKgwqDCoCBcDQo+Pj4gKyAmKF9zZXNzaW9uKS0+Y2xzX3Nlc3Np b24tPmRldizCoMKgwqDCoMKgwqDCoCBcDQo+Pj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoCAiJXMgIiBkYmdfZm10LCBfX2Z1bmNfXywgIyNhcmcpO8KgwqDCoCBcDQo+Pj4gwqDCoMKg wqDCoCB9IHdoaWxlICgwKTsNCj4+PiDCoCDCoCAjZGVmaW5lIElTQ1NJX0RCR19FSChfc2Vzc2lv biwgZGJnX2ZtdCwgYXJnLi4uKcKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBcDQo+Pj4g QEAgLTg0LDYgKzkxLDkgQEAgTU9EVUxFX1BBUk1fREVTQyhkZWJ1Z19saWJpc2NzaV9laCwNCj4+ PiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBpc2NzaV9zZXNzaW9uX3ByaW50ayhLRVJOX0lO Rk8sIF9zZXNzaW9uLMKgwqDCoCBcDQo+Pj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAiJXMgIiBkYmdfZm10LMKgwqDCoMKgwqDCoMKgIFwNCj4+ PiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIF9f ZnVuY19fLCAjI2FyZyk7wqDCoMKgwqDCoMKgwqAgXA0KPj4+ICvCoMKgwqDCoMKgwqDCoCBpc2Nz aV9kYmdfdHJhY2UodHJhY2VfaXNjc2lfZGJnX2VoLMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgXA0K Pj4+ICsgJihfc2Vzc2lvbiktPmNsc19zZXNzaW9uLT5kZXYswqDCoMKgwqDCoMKgwqAgXA0KPj4+ ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgIiVzICIgZGJnX2ZtdCwgX19mdW5jX18s ICMjYXJnKTvCoMKgwqAgXA0KPj4+IMKgwqDCoMKgwqAgfSB3aGlsZSAoMCk7DQo+Pj4gwqAgwqAg aW5saW5lIHZvaWQgaXNjc2lfY29ubl9xdWV1ZV93b3JrKHN0cnVjdCBpc2NzaV9jb25uICpjb25u KQ0KPj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL3Njc2kvbGliaXNjc2lfdGNwLmMgYi9kcml2ZXJz L3Njc2kvbGliaXNjc2lfdGNwLmMNCj4+PiBpbmRleCA2M2ExZDY5ZmY1MTUuLmQ2NDFhNzJhZTAz MyAxMDA2NDQNCj4+PiAtLS0gYS9kcml2ZXJzL3Njc2kvbGliaXNjc2lfdGNwLmMNCj4+PiArKysg Yi9kcml2ZXJzL3Njc2kvbGliaXNjc2lfdGNwLmMNCj4+PiBAQCAtNDMsNiArNDMsNyBAQA0KPj4+ IMKgICNpbmNsdWRlIDxzY3NpL3Njc2lfaG9zdC5oPg0KPj4+IMKgICNpbmNsdWRlIDxzY3NpL3Nj c2kuaD4NCj4+PiDCoCAjaW5jbHVkZSA8c2NzaS9zY3NpX3RyYW5zcG9ydF9pc2NzaS5oPg0KPj4+ ICsjaW5jbHVkZSA8dHJhY2UvZXZlbnRzL2lzY3NpLmg+DQo+Pj4gwqAgwqAgI2luY2x1ZGUgImlz Y3NpX3RjcC5oIg0KPj4+IMKgIEBAIC02NSw2ICs2Niw5IEBAIE1PRFVMRV9QQVJNX0RFU0MoZGVi dWdfbGliaXNjc2lfdGNwLCAiVHVybiBvbiANCj4+PiBkZWJ1Z2dpbmcgZm9yIGxpYmlzY3NpX3Rj cCAiDQo+Pj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgaXNjc2lfY29ubl9wcmludGsoS0VS Tl9JTkZPLCBfY29ubizCoMKgwqAgXA0KPj4+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgIiVzICIgZGJnX2ZtdCzCoMKgwqAgXA0KPj4+IMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgX19mdW5jX18s ICMjYXJnKTvCoMKgwqAgXA0KPj4+ICvCoMKgwqDCoMKgwqDCoCBpc2NzaV9kYmdfdHJhY2UodHJh Y2VfaXNjc2lfZGJnX3RjcCzCoMKgwqDCoMKgwqDCoCBcDQo+Pj4gK8KgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoCAmKF9jb25uKS0+Y2xzX2Nvbm4tPmRldizCoMKgwqAgXA0KPj4+ICvCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgIiVzICIgZGJnX2ZtdCwgX19mdW5jX18sICMjYXJn KTtcDQo+Pj4gwqDCoMKgwqDCoCB9IHdoaWxlICgwKTsNCj4+PiDCoCDCoCBzdGF0aWMgaW50IGlz Y3NpX3RjcF9oZHJfcmVjdl9kb25lKHN0cnVjdCBpc2NzaV90Y3BfY29ubiAqdGNwX2Nvbm4sDQo+ Pj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvc2NzaS9zY3NpX3RyYW5zcG9ydF9pc2NzaS5jIA0KPj4+ IGIvZHJpdmVycy9zY3NpL3Njc2lfdHJhbnNwb3J0X2lzY3NpLmMNCj4+PiBpbmRleCBmNjU0MmMx NTllZDYuLjU4ZTAzMTBjZTI1OCAxMDA2NDQNCj4+PiAtLS0gYS9kcml2ZXJzL3Njc2kvc2NzaV90 cmFuc3BvcnRfaXNjc2kuYw0KPj4+ICsrKyBiL2RyaXZlcnMvc2NzaS9zY3NpX3RyYW5zcG9ydF9p c2NzaS5jDQo+Pj4gQEAgLTM3LDYgKzM3LDE4IEBADQo+Pj4gwqAgwqAgI2RlZmluZSBJU0NTSV9U UkFOU1BPUlRfVkVSU0lPTiAiMi4wLTg3MCINCj4+PiDCoCArI2RlZmluZSBDUkVBVEVfVFJBQ0Vf UE9JTlRTDQo+Pj4gKyNpbmNsdWRlIDx0cmFjZS9ldmVudHMvaXNjc2kuaD4NCj4+PiArDQo+Pj4g Ky8qDQo+Pj4gKyAqIEV4cG9ydCB0cmFjZXBvaW50IHN5bWJvbHMgdG8gYmUgdXNlZCBieSBvdGhl ciBtb2R1bGVzLg0KPj4+ICsgKi8NCj4+PiArRVhQT1JUX1RSQUNFUE9JTlRfU1lNQk9MX0dQTChp c2NzaV9kYmdfY29ubik7DQo+Pj4gK0VYUE9SVF9UUkFDRVBPSU5UX1NZTUJPTF9HUEwoaXNjc2lf ZGJnX2VoKTsNCj4+PiArRVhQT1JUX1RSQUNFUE9JTlRfU1lNQk9MX0dQTChpc2NzaV9kYmdfc2Vz c2lvbik7DQo+Pj4gK0VYUE9SVF9UUkFDRVBPSU5UX1NZTUJPTF9HUEwoaXNjc2lfZGJnX3RjcCk7 DQo+Pj4gK0VYUE9SVF9UUkFDRVBPSU5UX1NZTUJPTF9HUEwoaXNjc2lfZGJnX3N3X3RjcCk7DQo+ Pj4gKw0KPj4+IMKgIHN0YXRpYyBpbnQgZGJnX3Nlc3Npb247DQo+Pj4gwqAgbW9kdWxlX3BhcmFt X25hbWVkKGRlYnVnX3Nlc3Npb24sIGRiZ19zZXNzaW9uLCBpbnQsDQo+Pj4gwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgIFNfSVJVR08gfCBTX0lXVVNSKTsNCj4+PiBAQCAtNTksNiArNzEsOSBAQCBN T0RVTEVfUEFSTV9ERVNDKGRlYnVnX2Nvbm4sDQo+Pj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqAgaXNjc2lfY2xzX3Nlc3Npb25fcHJpbnRrKEtFUk5fSU5GTywgX3Nlc3Npb24sIFwNCj4+PiDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgICIlczog IiBkYmdfZm10LMKgwqDCoCBcDQo+Pj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoCBfX2Z1bmNfXywgIyNhcmcpO8KgwqDCoCBcDQo+Pj4gK8KgwqDC oMKgwqDCoMKgIGlzY3NpX2RiZ190cmFjZSh0cmFjZV9pc2NzaV9kYmdfdHJhbnNfc2Vzc2lvbiwg XA0KPj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgJihfc2Vzc2lvbiktPmRldizC oMKgwqDCoMKgwqDCoMKgwqDCoMKgIFwNCj4+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgICIlcyAiIGRiZ19mbXQsIF9fZnVuY19fLCAjI2FyZyk7wqDCoMKgIFwNCj4+PiDCoMKgwqDC oMKgIH0gd2hpbGUgKDApOw0KPj4+IMKgIMKgICNkZWZpbmUgSVNDU0lfREJHX1RSQU5TX0NPTk4o X2Nvbm4sIGRiZ19mbXQsIGFyZy4uLinCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIFwNCj4+PiBAQCAt NjYsNyArODEsMTAgQEAgTU9EVUxFX1BBUk1fREVTQyhkZWJ1Z19jb25uLA0KPj4+IMKgwqDCoMKg wqDCoMKgwqDCoCBpZiAoZGJnX2Nvbm4pwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoCBcDQo+Pj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgaXNjc2lfY2xz X2Nvbm5fcHJpbnRrKEtFUk5fSU5GTywgX2Nvbm4swqDCoMKgwqDCoMKgwqAgXA0KPj4+IMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAiJXM6ICIg ZGJnX2ZtdCzCoMKgwqDCoMKgwqDCoCBcDQo+Pj4gLcKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIF9fZnVuY19fLCAjI2FyZyk7wqDCoMKgIFwNCj4+PiAr wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgX19mdW5j X18sICMjYXJnKTvCoMKgwqDCoMKgwqDCoCBcDQo+Pj4gK8KgwqDCoMKgwqDCoMKgIGlzY3NpX2Ri Z190cmFjZSh0cmFjZV9pc2NzaV9kYmdfdHJhbnNfY29ubizCoMKgwqDCoMKgwqDCoCBcDQo+Pj4g K8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAmKF9jb25uKS0+ZGV2LMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoCBcDQo+Pj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oCAiJXMgIiBkYmdfZm10LCBfX2Z1bmNfXywgIyNhcmcpO8KgwqDCoCBcDQo+Pj4gwqDCoMKgwqDC oCB9IHdoaWxlICgwKTsNCj4+PiDCoCDCoCBzdHJ1Y3QgaXNjc2lfaW50ZXJuYWwgew0KPj4+IEBA IC00NDk3LDYgKzQ1MTUsMjAgQEAgaW50IGlzY3NpX3VucmVnaXN0ZXJfdHJhbnNwb3J0KHN0cnVj dCANCj4+PiBpc2NzaV90cmFuc3BvcnQgKnR0KQ0KPj4+IMKgIH0NCj4+PiDCoCBFWFBPUlRfU1lN Qk9MX0dQTChpc2NzaV91bnJlZ2lzdGVyX3RyYW5zcG9ydCk7DQo+Pj4gwqAgK3ZvaWQgaXNjc2lf ZGJnX3RyYWNlKHZvaWQgKCp0cmFjZSkoc3RydWN0IGRldmljZSAqZGV2LCBzdHJ1Y3QgDQo+Pj4g dmFfZm9ybWF0ICopLA0KPj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgc3RydWN0IGRldmlj ZSAqZGV2LCBjb25zdCBjaGFyICpmbXQsIC4uLikNCj4+PiArew0KPj4+ICvCoMKgwqAgc3RydWN0 IHZhX2Zvcm1hdCB2YWY7DQo+Pj4gK8KgwqDCoCB2YV9saXN0IGFyZ3M7DQo+Pj4gKw0KPj4+ICvC oMKgwqAgdmFfc3RhcnQoYXJncywgZm10KTsNCj4+PiArwqDCoMKgIHZhZi5mbXQgPSBmbXQ7DQo+ Pj4gK8KgwqDCoCB2YWYudmEgPSAmYXJnczsNCj4+PiArwqDCoMKgIHRyYWNlKGRldiwgJnZhZik7 DQo+Pj4gK8KgwqDCoCB2YV9lbmQoYXJncyk7DQo+Pj4gK30NCj4+PiArRVhQT1JUX1NZTUJPTF9H UEwoaXNjc2lfZGJnX3RyYWNlKTsNCj4+PiArDQo+Pj4gwqAgc3RhdGljIF9faW5pdCBpbnQgaXNj c2lfdHJhbnNwb3J0X2luaXQodm9pZCkNCj4+PiDCoCB7DQo+Pj4gwqDCoMKgwqDCoCBpbnQgZXJy Ow0KPj4+IGRpZmYgLS1naXQgYS9pbmNsdWRlL3RyYWNlL2V2ZW50cy9pc2NzaS5oIA0KPj4+IGIv aW5jbHVkZS90cmFjZS9ldmVudHMvaXNjc2kuaA0KPj4+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0DQo+ Pj4gaW5kZXggMDAwMDAwMDAwMDAwLi44NzQwOGZhZjZlNGUNCj4+PiAtLS0gL2Rldi9udWxsDQo+ Pj4gKysrIGIvaW5jbHVkZS90cmFjZS9ldmVudHMvaXNjc2kuaA0KPj4+IEBAIC0wLDAgKzEsMTA3 IEBADQo+Pj4gKyN1bmRlZiBUUkFDRV9TWVNURU0NCj4+PiArI2RlZmluZSBUUkFDRV9TWVNURU0g aXNjc2kNCj4+PiArDQo+Pj4gKyNpZiAhZGVmaW5lZChfVFJBQ0VfSVNDU0lfSCkgfHwgZGVmaW5l ZChUUkFDRV9IRUFERVJfTVVMVElfUkVBRCkNCj4+PiArI2RlZmluZSBfVFJBQ0VfSVNDU0lfSA0K Pj4+ICsNCj4+PiArI2luY2x1ZGUgPGxpbnV4L3RyYWNlcG9pbnQuaD4NCj4+PiArDQo+Pj4gKy8q IG1heCBkZWJ1ZyBtZXNzYWdlIGxlbmd0aCAqLw0KPj4+ICsjZGVmaW5lIElTQ1NJX01TR19NQVjC oMKgwqAgMjU2DQo+Pj4gKw0KPj4+ICsvKg0KPj4+ICsgKiBEZWNsYXJlIHRyYWNlcG9pbnQgaGVs cGVyIGZ1bmN0aW9uLg0KPj4+ICsgKi8NCj4+PiArdm9pZCBpc2NzaV9kYmdfdHJhY2Uodm9pZCAo KnRyYWNlKShzdHJ1Y3QgZGV2aWNlICpkZXYsIHN0cnVjdCANCj4+PiB2YV9mb3JtYXQgKiksDQo+ Pj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBzdHJ1Y3QgZGV2aWNlICpkZXYsIGNvbnN0IGNo YXIgKmZtdCwgLi4uKTsNCj4+PiArDQo+Pj4gKy8qDQo+Pj4gKyAqIERlY2xhcmUgZXZlbnQgY2xh c3MgZm9yIGlzY3NpIGRlYnVnIG1lc3NhZ2VzLg0KPj4+ICsgKi8NCj4+PiArREVDTEFSRV9FVkVO VF9DTEFTUyhpc2NzaV9sb2dfbXNnLA0KPg0KPiBDb3VsZCB0aGUgImkiIGJlIGRyb3BwZWQgZnJv bSB0aGUgc3RhcnQgb2YgdGhhdCBuYW1lLCB0aGF0IGlzOg0KPiDCoMKgwqAgREVDTEFSRV9FVkVO VF9DTEFTUyhzY3NpX2xvZ19tc2csDQo+DQo+IGFuZCB0aGF0IGFuZCB0aGUgZGVmaW5pdGlvbiB0 aGF0IGZvbGxvd3MgYmUgbW92ZWQgaW50bw0KPiDCoMKgwqAgaW5jbHVkZS90cmFjZS9ldmVudHMv c2NzaS5oID8/DQo+DQo+IFRoYXQgd291bGQgbWFrZSBpdCBhdmFpbGFibGUgdG8gYWxsIHRoZSBj dXJyZW50IFNDU0kgdXBwZXIgbGV2ZWwNCj4gZHJpdmVycyAoZS5nLiB0aGUgc2cgZHJpdmVyKSBh bmQgbG93ZXIgbGV2ZWwgZHJpdmVycyAoZS5nLg0KPiBzY3NpX2RlYnVnKS4NClRyYWNlcG9pbnQg ZG9lcyBub3QgZmFjaWxpdGF0ZSB0aGUgZXhwb3J0aW5nIG9mIGV2ZW50IGNsYXNzIChlLmcuIA0K RVhQT1JUX1RSQUNFUE9JTlRfU1lNQk9MIG1hY3JvIGV4cG9ydHMgdHJhY2Vwb2ludCBldmVudHMg YnV0IG5vdCBldmVudCANCmNsYXNzKS7CoCBBbHNvLCB0aGlzIGFwcHJvYWNoIGVuYWJsZXMgaXNj c2kgZXZlbnRzIHRvIGJlIGdyb3VwZWQuDQoNCi1GcmVkIEhlcmFyZA0KPg0KPiBEb3VnIEdpbGJl cnQNCj4NCg0KLS0gCllvdSByZWNlaXZlZCB0aGlzIG1lc3NhZ2UgYmVjYXVzZSB5b3UgYXJlIHN1 YnNjcmliZWQgdG8gdGhlIEdvb2dsZSBHcm91cHMgIm9wZW4taXNjc2kiIGdyb3VwLgpUbyB1bnN1 YnNjcmliZSBmcm9tIHRoaXMgZ3JvdXAgYW5kIHN0b3AgcmVjZWl2aW5nIGVtYWlscyBmcm9tIGl0 LCBzZW5kIGFuIGVtYWlsIHRvIG9wZW4taXNjc2krdW5zdWJzY3JpYmVAZ29vZ2xlZ3JvdXBzLmNv bS4KVG8gcG9zdCB0byB0aGlzIGdyb3VwLCBzZW5kIGVtYWlsIHRvIG9wZW4taXNjc2lAZ29vZ2xl Z3JvdXBzLmNvbS4KVmlzaXQgdGhpcyBncm91cCBhdCBodHRwczovL2dyb3Vwcy5nb29nbGUuY29t L2dyb3VwL29wZW4taXNjc2kuCkZvciBtb3JlIG9wdGlvbnMsIHZpc2l0IGh0dHBzOi8vZ3JvdXBz Lmdvb2dsZS5jb20vZC9vcHRvdXQuCg==