From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Deucher, Alexander" Subject: RE: [PATCH 3/3] drm/amdgpu: Add kernel parameter to control use of ECC/EDC. Date: Mon, 26 Jun 2017 16:21:15 +0000 Message-ID: References: <1496781172-23297-1-git-send-email-David.Panariti@amd.com> <1496781172-23297-4-git-send-email-David.Panariti@amd.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: Content-Language: en-US List-Id: Discussion list for AMD gfx List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: amd-gfx-bounces-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Sender: "amd-gfx" To: "Panariti, David" , "amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org" PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiBGcm9tOiBQYW5hcml0aSwgRGF2aWQNCj4g U2VudDogTW9uZGF5LCBKdW5lIDI2LCAyMDE3IDEyOjA2IFBNDQo+IFRvOiBEZXVjaGVyLCBBbGV4 YW5kZXI7IGFtZC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnDQo+IFN1YmplY3Q6IFJFOiBbUEFU Q0ggMy8zXSBkcm0vYW1kZ3B1OiBBZGQga2VybmVsIHBhcmFtZXRlciB0byBjb250cm9sIHVzZQ0K PiBvZiBFQ0MvRURDLg0KPiANCj4gPj4gPiBJJ2Qgc3VnZ2VzdCBzZXR0aW5nIGFtZGdwdV9lY2Nf ZmxhZ3MgdG8gQU1EX0VDQ19TVVBQT1JUX0JFU1QgYnkNCj4gPj4gPiBkZWZhdWx0LiAgVGhhdCBj YW4gYmUgb3VyIGFzaWMgc3BlY2lmaWMgZGVmYXVsdCBzZXR0aW5nLiAgSW4gdGhlDQo+ID4+ID4g Y2FzZSBvZiBDWiwgdGhhdCB3aWxsIGJlIGRpc2FibGVkIHVudGlsIHdlIGRlY2lkZSB0byBlbmFi bGUgRURDIGJ5DQo+IGRlZmF1bHQuDQo+ID4+IFtkYXZlcF0gSSdtIGNvbmZ1c2VkLiAgRUNDLi4u QkVTVCB3aWxsIGNhdXNlIEVEQyB0byBiZSBlbmFibGVkLg0KPiA+PiBJIHVzZWQgRUNDIGFzIHRo ZSBnZW5lcmljIHRlcm0gZm9yIEVDQyBhbmQgRURDLCBzaW5jZSBFQ0Mgc2VlbXMgbW9yZQ0KPiA+ PiBiYXNpYyAoRURDIGlzIGJ1aWx0IG9uIHRvcCBvZiBFQ0MpLg0KPiA+PiBJZiBJIHVuZGVyc3Rh bmQgeW91LCB3ZSBjYW4ndCBkbyB3aGF0IHlvdSB3YW50IHdpdGggdGhlIGN1cnJlbnQgc2V0dXAu DQo+IA0KPiA+SSdtIHNheWluZyB3ZSBtYWtlIEVDQ19CRVNUIHRoZSBkZWZhdWx0IGNvbmZpZyAo ZmVlbCBmcmVlIHRvIHJlLW5hbWUgaWYNCj4gRUNDX0RFRkFVTFQpLiAgRWFjaCBhc2ljIGNhbiBo YXZlIGEgZGlmZmVyZW50IGRlZmF1bHQgZGVwZW5kaW5nDQo+ID5vbiB3aGF0IGZlYXR1cmVzIGFy ZSByZWFkeS4gIFNvIGZvciBDWiwgd2UnZCBtYWtlIEVDQ19CRVNUIGVxdWl2YWxlbnQgdG8NCj4g ZGlzYWJsaW5nIEVDQyBmb3Igbm93LiAgSWYgYSB1c2VyIHdhbnRzIHRvIGZvcmNlIGl0IG9uLCB0 aGV5IGNhbg0KPiA+c2V0IEVDQ19FREMuICBPbmNlIEVEQyBpcyBzdGFibGUgb24gQ1osIHdlIGNh biBtYWtlIEVDQ19CRVNUIGJlDQo+IGVxdWl2YWxlbnQgdG8gRUNDX0VEQy4gIFRoZSB3YXkgdGhl IGRlZmF1bHQgKEVDQ19CRVNUKSBhbHdheXMgbWFwcw0KPiA+dG8gdGhlIGJlc3QgYXZhaWxhYmxl IGNvbWJpbmF0aW9uIGluIHRoYXQgdmVyc2lvbiBvZiB0aGUgZHJpdmVyLg0KPiANCj4gVGhhdCdz IG5vdCBob3cgSSBtZWFudCBpdCB0byB3b3JrIFdSVCBCRVNULg0KPiBFYWNoIGFzaWMgd2lsbCBo YXZlIGEgREVGQVVMVCwgYnV0IHRoYXQgaXNuJ3Qgd2hhdCBCRVNUIG1lYW5zLg0KPiBDWiBpcyBh IGdvb2QgZXhhbXBsZSAod2hlbiBmdWxseSBpbXBsZW1lbnRlZCkuICBERUZBVUxUIGZvciBDWiBp cw0KPiBldmVyeXRoaW5nIGV4Y2VwdCBIQUxULCBzaW5jZSwgSU1PIG9waW5pb24sIG1vc3QgcGVv cGxlIGRvIG5vdCB3YW50IHRvDQo+IGhhbmcgb3IgcmVib290Lg0KPiBCRVNUIGZvciBDWiB3b3Vs ZCBiZSBldmVyeXRoaW5nIGEgcGVyc29uIG1vc3QgaW50ZXJlc3RlZCBpbiByZWxpYWJpbGl0eSB3 b3VsZA0KPiB3YW50LCB3aGljaCBJTU8sIGluY2x1ZGVzIEhBTFQvcmVib290Lg0KPiBTaW1pbGFy IGlzIGlmIHNvbWV0aGluZyBsaWtlIHBlcmZvcm1hbmNlIGRlZ3JhZGF0aW9uIGlzIHJlYWxseSBi YWQsIERFRkFVTFQNCj4gd291bGQgYmUgT0ZGLiBCRVNUIHdvdWxkIGJlIE9OLCBlLmcuLCBpZiB0 aGUgdXNlcidzIGFwcCBkb2Vzbid0IHRyaWdnZXIgdGhlDQo+IHBlcmZvcm1hbmNlIHByb2JsZW0u DQo+IFRoZSBCRVNUIGJpdCBpcyBpbiBhIGZpeGVkIHBvc2l0aW9uLCBzbyB0aGF0IGN1c3RvbWVy cyBkb24ndCBuZWVkIHRvIHdvcnJ5DQo+IHdoYXQgYml0cyBhcmUgbmVlZGVkIGZvciB0aGUgbW9z dCByZWxpYWJsZSBwZXJmb3JtYW5jZSAoaW4gb3VyIG9waW5pb24pIG9uIGENCj4gZ2l2ZW4gYXNp Yy4NCj4gQW5kIGlmIGEgY3VzdG9tZXIgKG9yIGRldmVsb3Blcikgd2FudHMgc29tZSBhcmJpdHJh cnkgc2V0IG9mIGZlYXR1cmVzLCB0aGV5DQo+IGNhbiBzZXQgYml0cyBhcyB0aGV5IHdhbnQuDQo+ IA0KPiBJIHRoaW5rIERFRkFVTFQgd2lsbCBtYWtlIG1vc3QgcGVvcGxlIGhhcHB5Lg0KPiBCRVNU IGFsbG93cyBwZW9wbGUgd2hvIGFyZSBpbnRlcmVzdGVkIGluIGV2ZXJ5dGhpbmcgdGhleSBjYW4g Z2V0LCByZWdhcmRsZXNzDQo+IG9mIGFueSBpc3N1ZXMgdGhhdCBicmluZ3Mgd2l0aCBpdC4gSXQg aXMgcmVxdWVzdGVkIHNpbXBseSBieSB1c2luZyBhIGZpeGVkIHBhcmFtDQo+IHZhbHVlICgweDAx KSBmb3IgYW55IGFzaWMuDQo+IFRoaXMgcHJvYmFibHkgc2hvdWxkIG5vdCBpbmNsdWRlIGZlYXR1 cmVzIHRoYXQgaGF2ZSBhbnkga2luZCBvZiBmYXRhbCBmbGF3DQo+IHN1Y2ggYXMgdGhlIFZlZ2Ex MCBIQk0gRUNDIGlzc3VlLiAgV2hlbiBmaXhlZCwgaXQgY2FuIGJlIGFkZGVkIHRvIERFRkFVTFQu DQo+IEFuZCBhbGxvd2luZyBwZXItZmVhdHVyZSBjb250cm9sIGFsbG93cyBhbnlvbmUgdG8gZG8g cHJlY2lzZWx5IHdoYXQgdGhleQ0KPiB3YW50Lg0KPiAiRWZmb3J0IiBpbmNyZWFzZXMgYXMgdGhl IG51bWJlciBvZiBpbnRlcmVzdGVkIHVzZXJzIGRlY3JlYXNlcy4NCj4gDQoNCkkgd291bGQgbGlr ZSB0byBiZSBhYmxlIHRvIGhhdmUgZGlmZmVyZW50IGRlZmF1bHQgc2V0dGluZ3Mgb24gYWxsIGFz aWNzIHdpdGhvdXQgcmVxdWlyaW5nIGV4cGxpY2l0bHkgc2V0dGluZyB0aGUgb3B0aW9uIGZvciBl YWNoIGNoaXAuICBJZiB0aGVyZSBpcyBhIGJlc3Qgc2V0dGluZyBpdCBzaG91bGQgYmUgdGhlIGRl ZmF1bHQuICBCRVNUIGltcGxpZXMgaXQncyB0aGUgYmVzdCBvcHRpb24gc28gdXNlcnMgd2lsbCB0 cnkgaXQgd2hldGhlciBpdCBtYWtlcyBzZW5zZSBvciBub3QuICBJZiB5b3Ugd2FudCB0byBlbmFi bGUgc29tZXRoaW5nIHRoYXQgaXMgbm90IHRoZSBkZWZhdWx0LCB0aGVuIHlvdSBuZWVkIHRvIGV4 cGxpY2l0bHkgYXNrIGZvciBpdC4gIEJFU1QgY291bGQgYmUgZGVmaW5lZCBhcyAweGZmZmZmZmZm IHNpbmNlIGVhY2ggYXNpYyB3b3VsZCBvbmx5IGxvb2sgYXQgdGhlIG1hc2tlZCBiaXRzIGZvciB0 aGUgZmVhdHVyZXMgaXQgc3VwcG9ydHMuICBJIHdvdWxkIHByZWZlciBub3QgdG8gY2FsbCBpdCBC RVNUIHRob3VnaC4gIE1heWJlIEFMTC4NCg0KUkFTX05PTkUgMA0KUkFTX0RFRkFVTFQgKDEgPDwg MCkNClJBU19WUkFNX0VDQyAoMSA8PCAxKQ0KUkFTX1NSQU1fRURDICgxIDw8IDIpDQouLi4NClJB U19BTEwgMHhmZmZmZmZmZg0KDQpBbGV4DQoNCj4gVXNpbmcgZGVmaW5lcyBpbiB0aGUgaW5pdCBj b2RlIHdpbGwgYmUgYSBwcm9ibGVtIGlmIHRoZXJlIGlzIG1vcmUgdGhhbiBvbmUga2luZA0KPiBv ZiBhc2ljIGludm9sdmVkIG9yIGEgc2luZ2xlIGFzaWMgdGhhdCB0aGUgdXNlciB3YW50cyB0byB1 c2Ugd2l0aCBkaWZmZXJlbnQNCj4gcGFyYW1ldGVycy4gIEhvd2V2ZXIsIHRoaXMgZG9lc24ndCBz ZWVtIHRvIGJlIGEgaGlnaCBwcmlvcml0eS4NCj4gSWYgd2UgZG8gd2FudCB0byB3b3JyeSBhYm91 dCBpdCwgdGhlbiB3ZSdsbCBuZWVkIHRvIHB1dCB0aGUgdmFsdWVzIGludG8gdGhlDQo+IGFtZGdw dV9nZnggc3RydWN0Lg0KPiANCj4gcmVnYXJkcywNCj4gZGF2ZXANCj4gDQo+ID4gLS0tLS1Pcmln aW5hbCBNZXNzYWdlLS0tLS0NCj4gPiBGcm9tOiBEZXVjaGVyLCBBbGV4YW5kZXINCj4gPiBTZW50 OiBUdWVzZGF5LCBKdW5lIDA2LCAyMDE3IDY6MTYgUE0NCj4gPiBUbzogUGFuYXJpdGksIERhdmlk IDxEYXZpZC5QYW5hcml0aUBhbWQuY29tPjsgYW1kLQ0KPiA+IGdmeEBsaXN0cy5mcmVlZGVza3Rv cC5vcmcNCj4gPiBTdWJqZWN0OiBSRTogW1BBVENIIDMvM10gZHJtL2FtZGdwdTogQWRkIGtlcm5l bCBwYXJhbWV0ZXIgdG8gY29udHJvbA0KPiB1c2UNCj4gPiBvZiBFQ0MvRURDLg0KPiA+DQo+ID4g PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiA+ID4gRnJvbTogUGFuYXJpdGksIERhdmlk DQo+ID4gPiBTZW50OiBUdWVzZGF5LCBKdW5lIDA2LCAyMDE3IDU6NTAgUE0NCj4gPiA+IFRvOiBE ZXVjaGVyLCBBbGV4YW5kZXI7IGFtZC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnDQo+ID4gPiBT dWJqZWN0OiBSRTogW1BBVENIIDMvM10gZHJtL2FtZGdwdTogQWRkIGtlcm5lbCBwYXJhbWV0ZXIg dG8gY29udHJvbA0KPiA+ID4gdXNlIG9mIEVDQy9FREMuDQo+ID4gPg0KPiA+ID4gUmF0aGVyIHRo YW4gaW5saW5pbmcgdGhpcyBpbiBhIG51bWJlciBvZiBwbGFjZXMsIFJlIHZlcmJvc2l0eToNCj4g PiA+IEkndmUgd29ya2VkIGluIGVtYmVkZGVkIGVudmlyb25tZW50cyBhbmQgd2hlbiBkZWFsaW5n IHdpdGgNCj4gPiA+IGludGVybWl0dGVudCBwcm9ibGVtcyBpdCdzIG5pY2UgdG8gaGF2ZSBhbGwg b2YgdGhlIGluZm9ybWF0aW9uIEFTQVANCj4gPiA+IHJhdGhlciB0aGFuIHdhaXRpbmcgZm9yIGEg cHJvYmxlbSB0byByZW9jY3VyLCBlc3BlY2lhbGx5IGlmIGl0J3MgdmVyeQ0KPiA+IGludGVybWl0 dGVudC4NCj4gPiA+IEkgd291bGQndmUgcHJlZmVycmVkIG1vcmUuDQo+ID4gPiBTaW5jZSBpdCBv bmx5IHNob3dzIHVwIGhhcHBlbnMgb24gQ1osIGl0IGFkZHMgbGl0dGxlIHRvIHRoZSBvdXRwdXQu DQo+ID4gPiBJIGxpa2UgdG8gc2hvdyB0aGUgcmVhc29ucyB3aHkgRURDIGRpZG4ndCBoYXBwZW4s IGhlbmNlIHRoZSBiYWNrd2FyZHMNCj4gPiA+IGxvb2tpbmcgbWVzc2FnZXMuDQo+ID4gPiBJbiB0 aGlzIHBhcnRpY3VsYXIgY2FzZSwgIHdpdGhvdXQgdGhlICIuLi4gbm90IHJlcXVlc3RlZC4uLiIg d2UgY2FuJ3QNCj4gPiA+IHRlbGwgaWYgaXQgd2FzIHRoZSBmbGFncyBvciB0aGUgcmluZyBiZWlu ZyB1bnJlYWR5IHRoYXQgbWFkZSB1cyBiYWlsIGVhcmxpZXIuDQo+ID4NCj4gPiBJJ20gZmluZSB3 aXRoIGEgbWVzc2FnZSBhYm91dCBFREMgZWl0aGVyIGJlaW5nIGVuYWJsZWQgb3IgZGlzYWJsZWQs IGJ1dCBhDQo+ID4gYnVuY2ggb2YgcmFuZG9tIGRlYnVnIHN0YXRlbWVudHMgYWxvbmcgdGhlIHdh eSBhcmUgdG9vIG11Y2guICBUaGV5DQo+IHRlbmQNCj4gPiB0byBqdXN0IGNhdXNlIGNvbmZ1c2lv biBhbmQgY2x1dHRlciB1cCB0aGUgbG9ncy4NCj4gPg0KPiA+ID4NCj4gPiA+ID4gLS0tLS1Pcmln aW5hbCBNZXNzYWdlLS0tLS0NCj4gPiA+ID4gRnJvbTogRGV1Y2hlciwgQWxleGFuZGVyDQo+ID4g PiA+IFNlbnQ6IFR1ZXNkYXksIEp1bmUgMDYsIDIwMTcgNToyMiBQTQ0KPiA+ID4gPiBUbzogUGFu YXJpdGksIERhdmlkIDxEYXZpZC5QYW5hcml0aUBhbWQuY29tPjsgYW1kLQ0KPiA+ID4gPiBnZnhA bGlzdHMuZnJlZWRlc2t0b3Aub3JnDQo+ID4gPiA+IENjOiBQYW5hcml0aSwgRGF2aWQgPERhdmlk LlBhbmFyaXRpQGFtZC5jb20+DQo+ID4gPiA+IFN1YmplY3Q6IFJFOiBbUEFUQ0ggMy8zXSBkcm0v YW1kZ3B1OiBBZGQga2VybmVsIHBhcmFtZXRlciB0byBjb250cm9sDQo+ID4gPiB1c2UNCj4gPiA+ ID4gb2YgRUNDL0VEQy4NCj4gPiA+ID4NCj4gPiA+ID4gPiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2Ut LS0tLQ0KPiA+ID4gPiA+IEZyb206IGFtZC1nZnggW21haWx0bzphbWQtZ2Z4LWJvdW5jZXNAbGlz dHMuZnJlZWRlc2t0b3Aub3JnXSBPbg0KPiA+ID4gQmVoYWxmDQo+ID4gPiA+ID4gT2YgRGF2aWQg UGFuYXJpdGkNCj4gPiA+ID4gPiBTZW50OiBUdWVzZGF5LCBKdW5lIDA2LCAyMDE3IDQ6MzMgUE0N Cj4gPiA+ID4gPiBUbzogYW1kLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcNCj4gPiA+ID4gPiBD YzogUGFuYXJpdGksIERhdmlkDQo+ID4gPiA+ID4gU3ViamVjdDogW1BBVENIIDMvM10gZHJtL2Ft ZGdwdTogQWRkIGtlcm5lbCBwYXJhbWV0ZXIgdG8gY29udHJvbA0KPiA+ID4gPiA+IHVzZSBvZiBF Q0MvRURDLg0KPiA+ID4gPiA+DQo+ID4gPiA+ID4gQWxsb3cgdmFyaW91cyBraW5kcyBvZiBtZW1v cnkgaW50ZWdyaXR5IG1ldGhvZHMgKGUuZy4gRUNDL0VEQykgdG8NCj4gPiA+ID4gPiBiZSBlbmFi bGVkIG9yIGRpc2FibGVkLiAgQnkgZGVmYXVsdCwgYWxsIGZlYXR1cmVzIGFyZSBkaXNhYmxlZC4N Cj4gPiA+ID4gPg0KPiA+ID4gPiA+IEVEQyBpcyBFcnJvciBEZXRlY3Rpb24gYW5kIENvcnJlY3Rp b24uICBJdCBjYW4gZGV0ZWN0IEVDQyBlcnJvcnMNCj4gPiA+ID4gPiBhbmQgZG8gMCBvciBtb3Jl IG9mOiBjb3VudCBTRUMgKHNpbmdsZSBlcnJvciBjb3JyZWN0ZWQpIGFuZCBERUQNCj4gPiA+ID4g PiAoZG91YmxlIGVycm9yIGRldGVjdGVkLCBpLmUuIHVuY29ycmVjdGVkIEVDQyBlcnJvciksIGhh bHQgdGhlDQo+ID4gPiA+ID4gYWZmZWN0ZWQgYmxvY2ssDQo+ID4gPiA+IGludGVycnVwdCB0aGUg Q1BVLg0KPiA+ID4gPiA+IEN1cnJlbnRseSwgb25seSBjb3VudGluZyBlcnJvcnMgaXMgc3VwcG9y dGVkLg0KPiA+ID4gPiA+DQo+ID4gPiA+ID4gRml4ZWQgYSB3aGl0ZXNwYWNlIGVycm9yLg0KPiA+ ID4gPiA+DQo+ID4gPiA+ID4gU2lnbmVkLW9mZi1ieTogRGF2aWQgUGFuYXJpdGkgPERhdmlkLlBh bmFyaXRpQGFtZC5jb20+DQo+ID4gPiA+ID4gLS0tDQo+ID4gPiA+ID4gIGRyaXZlcnMvZ3B1L2Ry bS9hbWQvYW1kZ3B1L2FtZGdwdS5oICAgICAgfCAgMSArDQo+ID4gPiA+ID4gIGRyaXZlcnMvZ3B1 L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9kcnYuYyAgfCAgNCArKysrDQo+ID4gPiA+ID4gIGRyaXZl cnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2dmeF92OF8wLmMgICAgfCAyOA0KPiA+ID4gPiA+ICsrKysr KysrKysrKysrKysrKysrKysrKysrLS0NCj4gPiA+ID4gPiAgZHJpdmVycy9ncHUvZHJtL2FtZC9p bmNsdWRlL2FtZF9zaGFyZWQuaCB8IDE0ICsrKysrKysrKysrKysrDQo+ID4gPiA+ID4gIDQgZmls ZXMgY2hhbmdlZCwgNDUgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkNCj4gPiA+ID4gPg0K PiA+ID4gPiA+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHUu aA0KPiA+ID4gPiA+IGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1LmgNCj4gPiA+ ID4gPiBpbmRleCBhNmY1MWViLi4zZTkzMGVlIDEwMDY0NA0KPiA+ID4gPiA+IC0tLSBhL2RyaXZl cnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdS5oDQo+ID4gPiA+ID4gKysrIGIvZHJpdmVycy9n cHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1LmgNCj4gPiA+ID4gPiBAQCAtMTE2LDYgKzExNiw3IEBA IGV4dGVybiBpbnQgYW1kZ3B1X2NudGxfc2JfYnVmX3Blcl9zZTsNCj4gZXh0ZXJuDQo+ID4gPiBp bnQNCj4gPiA+ID4gPiBhbWRncHVfcGFyYW1fYnVmX3Blcl9zZTsgIGV4dGVybiBpbnQgYW1kZ3B1 X2pvYl9oYW5nX2xpbWl0Ow0KPiA+ID4gZXh0ZXJuDQo+ID4gPiA+ID4gaW50IGFtZGdwdV9sYnB3 Ow0KPiA+ID4gPiA+ICtleHRlcm4gdW5zaWduZWQgYW1kZ3B1X2VjY19mbGFnczsNCj4gPiA+ID4g Pg0KPiA+ID4gPiA+ICAjZGVmaW5lIEFNREdQVV9ERUZBVUxUX0dUVF9TSVpFX01CCQkzMDcyVUxM IC8qDQo+ID4gPiAzR0IgYnkNCj4gPiA+ID4gPiBkZWZhdWx0ICovDQo+ID4gPiA+ID4gICNkZWZp bmUgQU1ER1BVX1dBSVRfSURMRV9USU1FT1VUX0lOX01TCSAgICAgICAgMzAwMA0KPiA+ID4gPiA+ IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfZHJ2LmMNCj4g PiA+ID4gPiBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9kcnYuYw0KPiA+ID4g PiA+IGluZGV4IGM0ODI1ZmYuLjk3MjY2MGQgMTAwNjQ0DQo+ID4gPiA+ID4gLS0tIGEvZHJpdmVy cy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X2Rydi5jDQo+ID4gPiA+ID4gKysrIGIvZHJpdmVy cy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X2Rydi5jDQo+ID4gPiA+ID4gQEAgLTExNSw2ICsx MTUsNyBAQCBpbnQgYW1kZ3B1X2NudGxfc2JfYnVmX3Blcl9zZSA9IDA7ICBpbnQNCj4gPiA+ID4g PiBhbWRncHVfcGFyYW1fYnVmX3Blcl9zZSA9IDA7ICBpbnQgYW1kZ3B1X2pvYl9oYW5nX2xpbWl0 ID0gMDsgIGludA0KPiA+ID4gPiA+IGFtZGdwdV9sYnB3ID0gLTE7DQo+ID4gPiA+ID4gK3Vuc2ln bmVkIGFtZGdwdV9lY2NfZmxhZ3MgPSAwOw0KPiA+ID4gPg0KPiA+ID4gPiBJJ2Qgc3VnZ2VzdCBz ZXR0aW5nIGFtZGdwdV9lY2NfZmxhZ3MgdG8gQU1EX0VDQ19TVVBQT1JUX0JFU1QgYnkNCj4gPiA+ ID4gZGVmYXVsdC4gIFRoYXQgY2FuIGJlIG91ciBhc2ljIHNwZWNpZmljIGRlZmF1bHQgc2V0dGlu Zy4gIEluIHRoZQ0KPiA+ID4gPiBjYXNlIG9mIENaLCB0aGF0IHdpbGwgYmUgZGlzYWJsZWQgdW50 aWwgd2UgZGVjaWRlIHRvIGVuYWJsZSBFREMgYnkNCj4gZGVmYXVsdC4NCj4gPiA+IFtkYXZlcF0g SSdtIGNvbmZ1c2VkLiAgRUNDLi4uQkVTVCB3aWxsIGNhdXNlIEVEQyB0byBiZSBlbmFibGVkLg0K PiA+ID4gSSB1c2VkIEVDQyBhcyB0aGUgZ2VuZXJpYyB0ZXJtIGZvciBFQ0MgYW5kIEVEQywgc2lu Y2UgRUNDIHNlZW1zIG1vcmUNCj4gPiA+IGJhc2ljIChFREMgaXMgYnVpbHQgb24gdG9wIG9mIEVD QykuDQo+ID4gPiBJZiBJIHVuZGVyc3RhbmQgeW91LCB3ZSBjYW4ndCBkbyB3aGF0IHlvdSB3YW50 IHdpdGggdGhlIGN1cnJlbnQgc2V0dXAuDQo+ID4NCj4gPiBJJ20gc2F5aW5nIHdlIG1ha2UgRUND X0JFU1QgdGhlIGRlZmF1bHQgY29uZmlnIChmZWVsIGZyZWUgdG8gcmUtbmFtZSBpZg0KPiA+IEVD Q19ERUZBVUxUKS4gIEVhY2ggYXNpYyBjYW4gaGF2ZSBhIGRpZmZlcmVudCBkZWZhdWx0IGRlcGVu ZGluZyBvbiB3aGF0DQo+ID4gZmVhdHVyZXMgYXJlIHJlYWR5LiAgU28gZm9yIENaLCB3ZSdkIG1h a2UgRUNDX0JFU1QgZXF1aXZhbGVudCB0byBkaXNhYmxpbmcNCj4gPiBFQ0MgZm9yIG5vdy4gIElm IGEgdXNlciB3YW50cyB0byBmb3JjZSBpdCBvbiwgdGhleSBjYW4gc2V0IEVDQ19FREMuICBPbmNl DQo+IEVEQw0KPiA+IGlzIHN0YWJsZSBvbiBDWiwgd2UgY2FuIG1ha2UgRUNDX0JFU1QgYmUgZXF1 aXZhbGVudCB0byBFQ0NfRURDLiAgVGhlIHdheQ0KPiA+IHRoZSBkZWZhdWx0IChFQ0NfQkVTVCkg YWx3YXlzIG1hcHMgdG8gdGhlIGJlc3QgYXZhaWxhYmxlIGNvbWJpbmF0aW9uIGluDQo+IHRoYXQN Cj4gPiB2ZXJzaW9uIG9mIHRoZSBkcml2ZXIuDQo+ID4NCj4gPiBFLmcuLCBpbiB0aGUgY3VycmVu dCBnZng4IGNvZGU6DQo+ID4NCj4gPiBpZiAoKGFtZGdwdV9lY2NfZmxhZ3MgJiBFQ0NfRURDKSAm JiBlZGNfZnVzZV9lbmFibGVkKSB7DQo+ID4gICAgIC8vIGVuYWJsZSBFREMNCj4gPiAgICAgZ290 byBlbmFibGVfZWRjOw0KPiA+IH0gZWxzZSB7DQo+ID4gICAgIC8vIGRpc2FibGUgRURDDQo+ID4g ICAgIHJldHVybiAwOw0KPiA+IH0NCj4gPg0KPiA+IFRoZW4gaWYgd2Ugd2FudCB0byBlbmFibGUg RURDIGJ5IGRlZmF1bHQsIHdlJ2QgY2hhbmdlIHRoZSBjb2RlIGxpa2Ugc286DQo+ID4NCj4gPiBp ZiAoKChhbWRncHVfZWNjX2ZsYWdzID09IEVDQ19FREMpIHx8IChhbWRncHVfZWNjX2ZsYWdzICYg RUNDX0VEQykpDQo+ICYmDQo+ID4gZWRjX2Z1c2VfZW5hYmxlZCkgew0KPiA+ICAgICAvLyBlbmFi bGUgRURDDQo+ID4gICAgIGdvdG8gZW5hYmxlX2VkYzsNCj4gPiB9IGVsc2Ugew0KPiA+ICAgICAv LyBkaXNhYmxlIEVEQw0KPiA+ICAgICByZXR1cm4gMDsNCj4gPiB9DQo+ID4NCj4gPiBUaGF0IHdh eSB3ZSBjYW4gaGF2ZSBkaWZmZXJlbnQgRUNDIGZlYXR1cmVzIGVuYWJsZWQgYnkgZGVmYXVsdCBm b3IgZWFjaA0KPiBhc2ljDQo+ID4gZmFtaWx5IHdpdGhvdXQgbmVlZGluZyB0byBzcGVjaWZ5IGNv bW1hbmQgbGluZSBvcHRpb25zLg0KPiA+DQo+ID4gQWxleA0KPiA+DQo+ID4gPg0KPiA+ID4gPg0K PiA+ID4gPiA+DQo+ID4gPiA+ID4gIE1PRFVMRV9QQVJNX0RFU0ModnJhbWxpbWl0LCAiUmVzdHJp Y3QgVlJBTSBmb3IgdGVzdGluZywgaW4NCj4gPiA+ID4gPiBtZWdhYnl0ZXMiKTsgIG1vZHVsZV9w YXJhbV9uYW1lZCh2cmFtbGltaXQsDQo+IGFtZGdwdV92cmFtX2xpbWl0LA0KPiA+ID4gaW50LA0K PiA+ID4gPiA+IDA2MDApOyBAQCAtNzk1LDYgKzc5Niw5IEBAIHN0YXRpYyBzdHJ1Y3QgcGNpX2Ry aXZlcg0KPiA+ID4gPiA+IGFtZGdwdV9rbXNfcGNpX2RyaXZlciA9IHsNCj4gPiA+ID4gPiAgCS5k cml2ZXIucG0gPSAmYW1kZ3B1X3BtX29wcywNCj4gPiA+ID4gPiAgfTsNCj4gPiA+ID4gPg0KPiA+ ID4gPiA+ICtNT0RVTEVfUEFSTV9ERVNDKGVjY19mbGFncywgIkVDQy9FREMgZW5hYmxlIGZsYWdz ICgwID0gZGlzYWJsZQ0KPiA+ID4gPiA+IEVDQy9FREMgKGRlZmF1bHQpKSIpOw0KPiA+ID4gPiA+ ICttb2R1bGVfcGFyYW1fbmFtZWQoZWNjX2ZsYWdzLCBhbWRncHVfZWNjX2ZsYWdzLCB1aW50LCAw NDQ0KTsNCj4gPiA+ID4gPiArDQo+ID4gPiA+ID4NCj4gPiA+ID4gPg0KPiA+ID4gPiA+ICBzdGF0 aWMgaW50IF9faW5pdCBhbWRncHVfaW5pdCh2b2lkKSBkaWZmIC0tZ2l0DQo+ID4gPiA+ID4gYS9k cml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9nZnhfdjhfMC5jDQo+ID4gPiA+ID4gYi9kcml2ZXJz L2dwdS9kcm0vYW1kL2FtZGdwdS9nZnhfdjhfMC5jDQo+ID4gPiA+ID4gaW5kZXggNDZlNzY2ZS4u M2I1Njg1YyAxMDA2NDQNCj4gPiA+ID4gPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdw dS9nZnhfdjhfMC5jDQo+ID4gPiA+ID4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUv Z2Z4X3Y4XzAuYw0KPiA+ID4gPiA+IEBAIC0xODI0LDcgKzE4MjQsMTcgQEAgc3RhdGljIGludA0K PiA+ID4gPiA+IGdmeF92OF8wX2RvX2VkY19ncHJfd29ya2Fyb3VuZHMoc3RydWN0IGFtZGdwdV9k ZXZpY2UgKmFkZXYpDQo+ID4gPiA+ID4gIAlpZiAoZGlzX2JpdCkgew0KPiA+ID4gPiA+ICAJCS8q IE9uIENhcnJpem8sIEVEQyBtYXkgYmUgcGVybWFuZW50bHkgZGlzYWJsZWQgYnkgYQ0KPiBmdXNl LiAqLw0KPiA+ID4gPiA+ICAJCURSTV9JTkZPKCJDWiBFREMgaGFyZHdhcmUgaXMgZGlzYWJsZWQs DQo+IEdDX0VEQ19DT05GSUc6DQo+ID4gPiA+ID4gMHglMDh4LlxuIiwNCj4gPiA+ID4gPiAtCQkJ dG1wKTsNCj4gPiA+ID4gPiArCQkJIHRtcCk7DQo+ID4gPiA+ID4gKwkJcmV0dXJuIDA7DQo+ID4g PiA+ID4gKwl9DQo+ID4gPiA+ID4gKw0KPiA+ID4gPiA+ICsJLyoNCj4gPiA+ID4gPiArCSAqIENo ZWNrIGlmIEVEQyBoYXMgYmVlbiByZXF1ZXN0ZWQgYnkgYSBrZXJuZWwgcGFyYW1ldGVyLg0KPiA+ ID4gPiA+ICsJICogRm9yIENhcnJpem8sIEVEQyBpcyB0aGUgYmVzdC9zYWZlc3QgbW9kZSBXUlQg ZXJyb3INCj4gaGFuZGxpbmcuDQo+ID4gPiA+ID4gKwkgKi8NCj4gPiA+ID4gPiArCWlmICghKGFt ZGdwdV9lY2NfZmxhZ3MNCj4gPiA+ID4gPiArCSAgICAgICYgKEFNRF9FQ0NfU1VQUE9SVF9CRVNU IHwNCj4gQU1EX0VDQ19TVVBQT1JUX0VEQykpKSB7DQo+ID4gPiA+ID4gKwkJRFJNX0lORk8oIkVE QyBzdXBwb3J0IGhhcyBub3QgYmVlbg0KPiByZXF1ZXN0ZWQuXG4iKTsNCj4gPiA+ID4NCj4gPiA+ ID4gQ2FuIGRyb3AgdGhpcyBkZWJ1Z2dpbmcgc3RhdGVtZW50IG9yIG1ha2UgaXQgRFJNX0RFQlVH Lg0KPiA+ID4gW2RhdmVwXSBTZWUgdG9wIHBvc3QuDQo+ID4gPiA+DQo+ID4gPiA+ID4gIAkJcmV0 dXJuIDA7DQo+ID4gPiA+ID4gIAl9DQo+ID4gPiA+ID4NCj4gPiA+ID4gPiBAQCAtMTk2Miw2ICsx OTcyLDIwIEBAIHN0YXRpYyBpbnQNCj4gPiA+ID4gPiBnZnhfdjhfMF9kb19lZGNfZ3ByX3dvcmth cm91bmRzKHN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2KQ0KPiA+ID4gPiA+ICAJCWdvdG8gZmFp bDsNCj4gPiA+ID4gPiAgCX0NCj4gPiA+ID4gPg0KPiA+ID4gPiA+ICsJLyogMDAgLSBHQl9FRENf REVEX01PREVfTE9HOiBDb3VudCBERUQgZXJyb3JzIGJ1dCBkbw0KPiBub3QgaGFsdA0KPiA+ID4g PiA+ICovDQo+ID4gPiA+ID4gKwl0bXAgPSBSRUdfU0VUX0ZJRUxEKHRtcCwgR0JfRURDX01PREUs IERFRF9NT0RFLCAwKTsNCj4gPiA+ID4gPiArCS8qIERvIG5vdCBwcm9wYWdhdGUgdGhlIGVycm9y cyB0byB0aGUgbmV4dCBibG9jay4gKi8NCj4gPiA+ID4gPiArCXRtcCA9IFJFR19TRVRfRklFTEQo dG1wLCBHQl9FRENfTU9ERSwgUFJPUF9GRUQsIDApOw0KPiA+ID4gPiA+ICsJV1JFRzMyKG1tR0Jf RURDX01PREUsIHRtcCk7DQo+ID4gPiA+ID4gKw0KPiA+ID4gPiA+ICsJdG1wID0gUlJFRzMyKG1t Q0NfR0NfRURDX0NPTkZJRyk7DQo+ID4gPiA+ID4gKw0KPiA+ID4gPiA+ICsJLyoNCj4gPiA+ID4g PiArCSAqIENsZWFyIEVEQ19ESVNBQkxFIGJpdCBzbyB0aGUgY291bnRlcnMgYXJlIGF2YWlsYWJs ZS4NCj4gPiA+ID4gPiArCSAqLw0KPiA+ID4gPiA+ICsJdG1wID0gUkVHX1NFVF9GSUVMRCh0bXAs IENDX0dDX0VEQ19DT05GSUcsIERJU19FREMsDQo+IDApOw0KPiA+ID4gPiA+ICsJV1JFRzMyKG1t Q0NfR0NfRURDX0NPTkZJRywgdG1wKTsNCj4gPiA+ID4gPiArDQo+ID4gPiA+ID4gIAlnZnhfdjhf MF9lZGNfY2xlYXJfY291bnRlcnMoYWRldik7DQo+ID4gPiA+ID4NCj4gPiA+ID4gPiAgZmFpbDoN Cj4gPiA+ID4gPiBAQCAtNTU0OCw3ICs1NTcyLDcgQEAgc3RhdGljIGludCBnZnhfdjhfMF9wcmVf c29mdF9yZXNldCh2b2lkDQo+ID4gPiAqaGFuZGxlKQ0KPiA+ID4gPiA+ICAJCWdmeF92OF8wX2Nw X2NvbXB1dGVfZW5hYmxlKGFkZXYsIGZhbHNlKTsNCj4gPiA+ID4gPiAgCX0NCj4gPiA+ID4gPg0K PiA+ID4gPiA+IC0gICAgICAgcmV0dXJuIDA7DQo+ID4gPiA+ID4gKwlyZXR1cm4gMDsNCj4gPiA+ ID4gPiAgfQ0KPiA+ID4gPiA+DQo+ID4gPiA+ID4gIHN0YXRpYyBpbnQgZ2Z4X3Y4XzBfc29mdF9y ZXNldCh2b2lkICpoYW5kbGUpIGRpZmYgLS1naXQNCj4gPiA+ID4gPiBhL2RyaXZlcnMvZ3B1L2Ry bS9hbWQvaW5jbHVkZS9hbWRfc2hhcmVkLmgNCj4gPiA+ID4gPiBiL2RyaXZlcnMvZ3B1L2RybS9h bWQvaW5jbHVkZS9hbWRfc2hhcmVkLmgNCj4gPiA+ID4gPiBpbmRleCAwZjU4ZTk1Li4xY2YzMGFh IDEwMDY0NA0KPiA+ID4gPiA+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvaW5jbHVkZS9hbWRf c2hhcmVkLmgNCj4gPiA+ID4gPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2luY2x1ZGUvYW1k X3NoYXJlZC5oDQo+ID4gPiA+ID4gQEAgLTE4Nyw2ICsxODcsMjAgQEAgZW51bSBhbWRfZmFuX2N0 cmxfbW9kZSB7DQo+ID4gPiA+ID4gICNkZWZpbmUgQU1EX1BHX1NVUFBPUlRfR0ZYX1FVSUNLX01H CQkoMSA8PCAxMSkNCj4gPiA+ID4gPiAgI2RlZmluZSBBTURfUEdfU1VQUE9SVF9HRlhfUElQRUxJ TkUJCSgxIDw8IDEyKQ0KPiA+ID4gPiA+DQo+ID4gPiA+ID4gKy8qDQo+ID4gPiA+ID4gKyAqIEVD QyBmbGFncw0KPiA+ID4gPiA+ICsgKiBBbGxvd3MgdGhlIHVzZXIgdG8gY2hvb3NlIHdoYXQga2lu ZCBvZiBlcnJvcg0KPiA+ID4gPiA+ICtkZXRlY3Rpb24vY29ycmVjdGlvbiBpcw0KPiA+ID4gPiA+ IHVzZWQuDQo+ID4gPiA+ID4gKyAqIEN1cnJlbnRseSwgRURDIGlzIHN1cHBvcnRlZCBvbiBDYXJy aXpvLg0KPiA+ID4gPiA+ICsgKg0KPiA+ID4gPiA+ICsgKiBUaGUgQU1EX0VDQ19TVVBQT1JUX0JF U1QgYml0IGlzIHVzZWQgdG8gYWxsb3cgYSB1c2VyIHRvIGhhdmUNCj4gPiA+ID4gPiArIHRoZQ0K PiA+ID4gPiA+IGRyaXZlcg0KPiA+ID4gPiA+ICsgKiBzZXQgd2hhdCBpdCB0aGlua3MgaXMgYmVz dC9zYWZlc3QgbW9kZS4gIFRoaXMgbWF5IG5vdCBiZSB0aGUNCj4gPiA+ID4gPiArc2FtZSBhcyB0 aGUNCj4gPiA+ID4gPiArICogZGVmYXVsdCwgZGVwZW5kaW5nIG9uIHRoZSBHUFUgYW5kIHRoZSBh cHBsaWNhdGlvbi4NCj4gPiA+ID4gPiArICogVXNpbmcgYSBzaW5nbGUgYml0IG1ha2VzIGl0IGVh c3kgdG8gcmVxdWVzdCB0aGUgYmVzdCBzdXBwb3J0DQo+ID4gPiA+ID4gK3dpdGhvdXQNCj4gPiA+ ID4gPiArICogbmVlZGluZyB0byBrbm93IGFsbCBjdXJyZW50bHkgc3VwcG9ydGVkIG1vZGVzLg0K PiA+ID4gPiA+ICsgKi8NCj4gPiA+ID4gPiArI2RlZmluZSBBTURfRUNDX1NVUFBPUlRfQkVTVAkJ CSgxIDw8IDApDQo+ID4gPiA+ID4gKyNkZWZpbmUgQU1EX0VDQ19TVVBQT1JUX0VEQwkJCSgxIDw8 IDEpDQo+ID4gPiA+ID4gKw0KPiA+ID4gPiA+ICBlbnVtIGFtZF9wbV9zdGF0ZV90eXBlIHsNCj4g PiA+ID4gPiAgCS8qIG5vdCB1c2VkIGZvciBkcG0gKi8NCj4gPiA+ID4gPiAgCVBPV0VSX1NUQVRF X1RZUEVfREVGQVVMVCwNCj4gPiA+ID4gPiAtLQ0KPiA+ID4gPiA+IDIuNy40DQo+ID4gPiA+ID4N Cj4gPiA+ID4gPiBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f Xw0KPiA+ID4gPiA+IGFtZC1nZnggbWFpbGluZyBsaXN0DQo+ID4gPiA+ID4gYW1kLWdmeEBsaXN0 cy5mcmVlZGVza3RvcC5vcmcNCj4gPiA+ID4gPiBodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9y Zy9tYWlsbWFuL2xpc3RpbmZvL2FtZC1nZngNCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fCmFtZC1nZnggbWFpbGluZyBsaXN0CmFtZC1nZnhAbGlzdHMuZnJl ZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGlu Zm8vYW1kLWdmeAo=