From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Lisovskiy, Stanislav" Subject: Re: [Intel-gfx] [PATCH v9 1/2] drm: content-type property for HDMI connector Date: Tue, 8 May 2018 07:18:20 +0000 Message-ID: <035aa98aa6d957641fd37e5eb767bf8531e22872.camel@intel.com> References: <20180507131641.3885-1-stanislav.lisovskiy@intel.com> <20180507131641.3885-2-stanislav.lisovskiy@intel.com> <20180507140537.GL12521@phenom.ffwll.local> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20180507140537.GL12521@phenom.ffwll.local> Content-Language: en-US Content-ID: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: "daniel@ffwll.ch" Cc: "intel-gfx@lists.freedesktop.org" , "dri-devel@lists.freedesktop.org" List-Id: dri-devel@lists.freedesktop.org T24gTW9uLCAyMDE4LTA1LTA3IGF0IDE2OjA1ICswMjAwLCBEYW5pZWwgVmV0dGVyIHdyb3RlOg0K PiBPbiBNb24sIE1heSAwNywgMjAxOCBhdCAwNDoxNjo0MFBNICswMzAwLCBTdGFuTGlzIHdyb3Rl Og0KPiA+IEZyb206IFN0YW5pc2xhdiBMaXNvdnNraXkgPHN0YW5pc2xhdi5saXNvdnNraXlAaW50 ZWwuY29tPg0KPiA+IA0KPiA+IEFkZGVkIGNvbnRlbnRfdHlwZSBwcm9wZXJ0eSB0byBkcm1fY29u bmVjdG9yX3N0YXRlDQo+ID4gaW4gb3JkZXIgdG8gcHJvcGVybHkgaGFuZGxlIGV4dGVybmFsIEhE TUkgVFYgY29udGVudC10eXBlIHNldHRpbmcuDQo+ID4gDQo+ID4gdjI6DQo+ID4gICogTW92ZWQg aGVscGVyIGZ1bmN0aW9uIHdoaWNoIGF0dGFjaGVzIGNvbnRlbnQgdHlwZSBwcm9wZXJ0eQ0KPiA+ ICAgIHRvIHRoZSBkcm0gY29yZSwgYXMgd2FzIHN1Z2dlc3RlZC4NCj4gPiAgICBSZW1vdmVkIHJl ZHVuZGFudCBjb25uZWN0b3Igc3RhdGUgaW5pdGlhbGl6YXRpb24uDQo+ID4gDQo+ID4gdjM6DQo+ ID4gICogUmVtb3ZlZCBjYXBzIGluIGRybV9jb250ZW50X3R5cGVfZW51bV9saXN0Lg0KPiA+ICAg IEFmdGVyIHNvbWUgZGlzY3Vzc2lvbiBpdCB0dXJuZWQgb3V0IHRoYXQgSERNSSBTcGVjIDEuNA0K PiA+ICAgIHdhcyB3cm9uZ2x5IGFzc3VtaW5nIHRoYXQgSVQgQ29udGVudChpdGMpIGJpdCBkb2Vz bid0IGFmZmVjdA0KPiA+ICAgIENvbnRlbnQgdHlwZSBzdGF0ZXMsIGhvd2V2ZXIgaXRjIGJpdCBu ZWVkcyB0byBiZSBtYW51cHVsYXRlZA0KPiA+ICAgIGFzIHdlbGwuIEluIG9yZGVyIHRvIG5vdCBl eHBvc2UgYWRkaXRpb25hbCBwcm9wZXJ0eSBmb3IgaXRjLA0KPiA+ICAgIGZvciBzYWtlIG9mIHNp bXBsaWNpdHkgaXQgd2FzIGRlY2lkZWQgdG8gYmluZCB0aG9zZSB0b2dldGhlcg0KPiA+ICAgIGlu IHNhbWUgImNvbnRlbnQgdHlwZSIgcHJvcGVydHkuDQo+ID4gDQo+ID4gdjQ6DQo+ID4gICogQWRk ZWQgaXRfY29udGVudCBjaGVja2luZyBpbg0KPiA+IGludGVsX2RpZ2l0YWxfY29ubmVjdG9yX2F0 b21pY19jaGVjay4NCj4gPiAgICBGaXhlZCBkb2N1bWVudGF0aW9uIGZvciBuZXcgY29udGVudCB0 eXBlIGVudW0uDQo+ID4gDQo+ID4gdjU6DQo+ID4gICogTW92ZWQgcGF0Y2ggcmV2aXNpb24ncyBk ZXNjcmlwdGlvbiB0byBjb21taXQgbWVzc2FnZXMuDQo+ID4gDQo+ID4gdjY6DQo+ID4gICogTWlu b3IgbmFtaW5nIGZpeCBmb3IgdGhlIGNvbnRlbnQgdHlwZSBlbnVtZXJhdGlvbiBzdHJpbmcuDQo+ ID4gDQo+ID4gdjc6DQo+ID4gICogRml4IHBhcmFtZXRlciBuYW1lIGZvciBkb2N1bWVudGF0aW9u IGFuZCBwYXJhbWV0ZXIgYWxpZ25tZW50DQo+ID4gICAgaW4gb3JkZXIgbm90IHRvIGdldCB3YXJu aW5nLiBBZGRlZCBDb250ZW50IFR5cGUgZGVzY3JpcHRpb24gdG8NCj4gPiAgICBuZXcgSERNSSBj b25uZWN0b3IgcHJvcGVydGllcyBzZWN0aW9uLg0KPiA+IA0KPiA+IHY4Og0KPiA+ICAqIFRocm93 biBhd2F5IHVubmVlZGVkIG51bWJlcnMgZnJvbSBIRE1JIGNvbnRlbnQtdHlwZSBwcm9wZXJ0eQ0K PiA+ICAgIGRlc2NyaXB0aW9uLiBTd2l0Y2ggdG8gc3RyaW5ncyBkZXNyaXB0aW9uIGluc3RlYWQg b2YgcGxhaW4NCj4gPiAgICBkZWZpbml0aW9ucy4NCj4gPiANCj4gPiB2OToNCj4gPiAgKiBNb3Zl ZCBhd2F5IGhkbWkgc3BlY2lmaWMgY29udGVudC10eXBlIGVudW0gZnJvbQ0KPiA+ICAgIGRybV9j b25uZWN0b3Jfc3RhdGUuIENvbnRlbnQgdHlwZSBwcm9wZXJ0eSBzaG91bGQgcHJvYmFibHkgbm90 DQo+ID4gICAgYmUgYm91bmQgdG8gYW55IHNwZWNpZmljIGNvbm5lY3RvciBpbnRlcmZhY2UgaW4N Cj4gPiAgICBkcm1fY29ubmVjdG9yX3N0YXRlLg0KPiA+ICAgIFNhbWUgcHJvYmFibHkgc2hvdWxk IGJlIGRvbmUgdG8gaGRtaV9waWN0dXJlX2FzcGVjdF9yYXRpb24gZW51bQ0KPiA+ICAgIHdoaWNo IGlzIGFsc28gY29udGFpbmVkIGluIGRybV9jb25uZWN0b3Jfc3RhdGUuIEFkZGVkIHNwZWNpYWwN Cj4gPiAgICBoZWxwZXIgZnVuY3Rpb24gdG8gZ2V0IGRlcml2ZSBoZG1pIHNwZWNpZmljIHJlbGV2 YW50IGluZm9mcmFtZQ0KPiA+ICAgIGZpZWxkcy4NCj4gPiANCj4gPiBTaWduZWQtb2ZmLWJ5OiBT dGFuaXNsYXYgTGlzb3Zza2l5IDxzdGFuaXNsYXYubGlzb3Zza2l5QGludGVsLmNvbT4NCj4gPiAt LS0NCj4gPiAgRG9jdW1lbnRhdGlvbi9ncHUvZHJtLWttcy5yc3QgICAgICAgIHwgIDYgKysrDQo+ ID4gIERvY3VtZW50YXRpb24vZ3B1L2ttcy1wcm9wZXJ0aWVzLmNzdiB8ICAxICsNCj4gPiAgZHJp dmVycy9ncHUvZHJtL2RybV9hdG9taWMuYyAgICAgICAgIHwgIDQgKysNCj4gPiAgZHJpdmVycy9n cHUvZHJtL2RybV9jb25uZWN0b3IuYyAgICAgIHwgNzQNCj4gPiArKysrKysrKysrKysrKysrKysr KysrKysrKysrDQo+ID4gIGRyaXZlcnMvZ3B1L2RybS9kcm1fZWRpZC5jICAgICAgICAgICB8IDU1 ICsrKysrKysrKysrKysrKysrKysrKw0KPiA+ICBpbmNsdWRlL2RybS9kcm1fY29ubmVjdG9yLmgg ICAgICAgICAgfCAxMiArKysrKw0KPiA+ICBpbmNsdWRlL2RybS9kcm1fZWRpZC5oICAgICAgICAg ICAgICAgfCAgNiArKysNCj4gPiAgaW5jbHVkZS9kcm0vZHJtX21vZGVfY29uZmlnLmggICAgICAg IHwgIDUgKysNCj4gPiAgaW5jbHVkZS91YXBpL2RybS9kcm1fbW9kZS5oICAgICAgICAgIHwgIDcg KysrDQo+ID4gIDkgZmlsZXMgY2hhbmdlZCwgMTcwIGluc2VydGlvbnMoKykNCj4gPiANCj4gPiBk aWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9ncHUvZHJtLWttcy5yc3QgYi9Eb2N1bWVudGF0aW9u L2dwdS9kcm0tDQo+ID4ga21zLnJzdA0KPiA+IGluZGV4IDFkZmZkMWFjNGNkNC4uZTIzM2MyNjI2 YmQwIDEwMDY0NA0KPiA+IC0tLSBhL0RvY3VtZW50YXRpb24vZ3B1L2RybS1rbXMucnN0DQo+ID4g KysrIGIvRG9jdW1lbnRhdGlvbi9ncHUvZHJtLWttcy5yc3QNCj4gPiBAQCAtNTE3LDYgKzUxNywx MiBAQCBTdGFuZGFyZCBDb25uZWN0b3IgUHJvcGVydGllcw0KPiA+ICAuLiBrZXJuZWwtZG9jOjog ZHJpdmVycy9ncHUvZHJtL2RybV9jb25uZWN0b3IuYw0KPiA+ICAgICA6ZG9jOiBzdGFuZGFyZCBj b25uZWN0b3IgcHJvcGVydGllcw0KPiA+ICANCj4gPiArSERNSSBTcGVjaWZpYyBDb25uZWN0b3Ig UHJvcGVydGllcw0KPiA+ICstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KPiA+ICsNCj4g PiArLi4ga2VybmVsLWRvYzo6IGRyaXZlcnMvZ3B1L2RybS9kcm1fY29ubmVjdG9yLmMNCj4gPiAr ICAgOmRvYzogSERNSSBjb25uZWN0b3IgcHJvcGVydGllcw0KPiA+ICsNCj4gPiAgUGxhbmUgQ29t cG9zaXRpb24gUHJvcGVydGllcw0KPiA+ICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQo+ ID4gIA0KPiA+IGRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL2dwdS9rbXMtcHJvcGVydGllcy5j c3YNCj4gPiBiL0RvY3VtZW50YXRpb24vZ3B1L2ttcy1wcm9wZXJ0aWVzLmNzdg0KPiA+IGluZGV4 IDA3ZWQyMmVhM2JkNi4uYmZkZTA0ZWRkZDE0IDEwMDY0NA0KPiA+IC0tLSBhL0RvY3VtZW50YXRp b24vZ3B1L2ttcy1wcm9wZXJ0aWVzLmNzdg0KPiA+ICsrKyBiL0RvY3VtZW50YXRpb24vZ3B1L2tt cy1wcm9wZXJ0aWVzLmNzdg0KPiA+IEBAIC0xNyw2ICsxNyw3IEBAIE93bmVyIE1vZHVsZS9Ecml2 ZXJzLEdyb3VwLFByb3BlcnR5DQo+ID4gTmFtZSxUeXBlLFByb3BlcnR5IFZhbHVlcyxPYmplY3Qg YXR0YWNoZWQsRGUNCj4gPiAgLFZpcnR1YWwgR1BVLOKAnHN1Z2dlc3RlZCBY4oCdLFJBTkdFLCJN aW49MCwNCj4gPiBNYXg9MHhmZmZmZmZmZiIsQ29ubmVjdG9yLHByb3BlcnR5IHRvIHN1Z2dlc3Qg YW4gWCBvZmZzZXQgZm9yIGENCj4gPiBjb25uZWN0b3INCj4gPiAgLCzigJxzdWdnZXN0ZWQgWeKA nSxSQU5HRSwiTWluPTAsIE1heD0weGZmZmZmZmZmIixDb25uZWN0b3IscHJvcGVydHkNCj4gPiB0 byBzdWdnZXN0IGFuIFkgb2Zmc2V0IGZvciBhIGNvbm5lY3Rvcg0KPiA+ICAsT3B0aW9uYWwsIiIi YXNwZWN0IHJhdGlvIiIiLEVOVU0sInsgIiJOb25lIiIsICIiNDozIiIsICIiMTY6OSIiDQo+ID4g fSIsQ29ubmVjdG9yLFREQg0KPiA+ICssT3B0aW9uYWwsIiIiY29udGVudCB0eXBlIiIiLEVOVU0s InsgIiJObyBEYXRhIiIsICIiR3JhcGhpY3MiIiwNCj4gPiAiIlBob3RvIiIsICIiQ2luZW1hIiIs ICIiR2FtZSIiIH0iLENvbm5lY3RvcixUQkQNCj4gPiAgaTkxNSxHZW5lcmljLCIiIkJyb2FkY2Fz dCBSR0IiIiIsRU5VTSwieyAiIkF1dG9tYXRpYyIiLCAiIkZ1bGwiIiwNCj4gPiAiIkxpbWl0ZWQg MTY6MjM1IiIgfSIsQ29ubmVjdG9yLCJXaGVuIHRoaXMgcHJvcGVydHkgaXMgc2V0IHRvDQo+ID4g TGltaXRlZCAxNjoyMzUgYW5kIENUTSBpcyBzZXQsIHRoZSBoYXJkd2FyZSB3aWxsIGJlIHByb2dy YW1tZWQgd2l0aA0KPiA+IHRoZSByZXN1bHQgb2YgdGhlIG11bHRpcGxpY2F0aW9uIG9mIENUTSBi eSB0aGUgbGltaXRlZCByYW5nZSBtYXRyaXgNCj4gPiB0byBlbnN1cmUgdGhlIHBpeGVscyBub3Jt YWx5IGluIHRoZSByYW5nZSAwLi4xLjAgYXJlIHJlbWFwcGVkIHRvDQo+ID4gdGhlIHJhbmdlIDE2 LzI1NS4uMjM1LzI1NS4iDQo+ID4gICws4oCcYXVkaW/igJ0sRU5VTSwieyAiImZvcmNlLWR2aSIi LCAiIm9mZiIiLCAiImF1dG8iIiwgIiJvbiIiDQo+ID4gfSIsQ29ubmVjdG9yLFRCRA0KPiA+ICAs U0RWTy1UVizigJxtb2Rl4oCdLEVOVU0sInsgIiJOVFNDX00iIiwgIiJOVFNDX0oiIiwgIiJOVFND XzQ0MyIiLA0KPiA+ICIiUEFMX0IiIiB9IGV0Yy4iLENvbm5lY3RvcixUQkQNCj4gPiBkaWZmIC0t Z2l0IGEvZHJpdmVycy9ncHUvZHJtL2RybV9hdG9taWMuYw0KPiA+IGIvZHJpdmVycy9ncHUvZHJt L2RybV9hdG9taWMuYw0KPiA+IGluZGV4IDNkOWFlMDU3YTZjZC4uNmMxZTFlNzc0NTE3IDEwMDY0 NA0KPiA+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fYXRvbWljLmMNCj4gPiArKysgYi9kcml2 ZXJzL2dwdS9kcm0vZHJtX2F0b21pYy5jDQo+ID4gQEAgLTEyNzAsNiArMTI3MCw4IEBAIHN0YXRp YyBpbnQNCj4gPiBkcm1fYXRvbWljX2Nvbm5lY3Rvcl9zZXRfcHJvcGVydHkoc3RydWN0IGRybV9j b25uZWN0b3IgKmNvbm5lY3RvciwNCj4gPiAgCQkJc3RhdGUtPmxpbmtfc3RhdHVzID0gdmFsOw0K PiA+ICAJfSBlbHNlIGlmIChwcm9wZXJ0eSA9PSBjb25maWctPmFzcGVjdF9yYXRpb19wcm9wZXJ0 eSkgew0KPiA+ICAJCXN0YXRlLT5waWN0dXJlX2FzcGVjdF9yYXRpbyA9IHZhbDsNCj4gPiArCX0g ZWxzZSBpZiAocHJvcGVydHkgPT0gY29uZmlnLT5jb250ZW50X3R5cGVfcHJvcGVydHkpIHsNCj4g PiArCQlzdGF0ZS0+Y29udGVudF90eXBlID0gdmFsOw0KPiA+ICAJfSBlbHNlIGlmIChwcm9wZXJ0 eSA9PSBjb25uZWN0b3ItPnNjYWxpbmdfbW9kZV9wcm9wZXJ0eSkgew0KPiA+ICAJCXN0YXRlLT5z Y2FsaW5nX21vZGUgPSB2YWw7DQo+ID4gIAl9IGVsc2UgaWYgKHByb3BlcnR5ID09IGNvbm5lY3Rv ci0NCj4gPiA+Y29udGVudF9wcm90ZWN0aW9uX3Byb3BlcnR5KSB7DQo+ID4gQEAgLTEzNTUsNiAr MTM1Nyw4IEBAIGRybV9hdG9taWNfY29ubmVjdG9yX2dldF9wcm9wZXJ0eShzdHJ1Y3QNCj4gPiBk cm1fY29ubmVjdG9yICpjb25uZWN0b3IsDQo+ID4gIAkJKnZhbCA9IHN0YXRlLT5saW5rX3N0YXR1 czsNCj4gPiAgCX0gZWxzZSBpZiAocHJvcGVydHkgPT0gY29uZmlnLT5hc3BlY3RfcmF0aW9fcHJv cGVydHkpIHsNCj4gPiAgCQkqdmFsID0gc3RhdGUtPnBpY3R1cmVfYXNwZWN0X3JhdGlvOw0KPiA+ ICsJfSBlbHNlIGlmIChwcm9wZXJ0eSA9PSBjb25maWctPmNvbnRlbnRfdHlwZV9wcm9wZXJ0eSkg ew0KPiA+ICsJCSp2YWwgPSBzdGF0ZS0+Y29udGVudF90eXBlOw0KPiA+ICAJfSBlbHNlIGlmIChw cm9wZXJ0eSA9PSBjb25uZWN0b3ItPnNjYWxpbmdfbW9kZV9wcm9wZXJ0eSkgew0KPiA+ICAJCSp2 YWwgPSBzdGF0ZS0+c2NhbGluZ19tb2RlOw0KPiA+ICAJfSBlbHNlIGlmIChwcm9wZXJ0eSA9PSBj b25uZWN0b3ItDQo+ID4gPmNvbnRlbnRfcHJvdGVjdGlvbl9wcm9wZXJ0eSkgew0KPiA+IGRpZmYg LS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vZHJtX2Nvbm5lY3Rvci5jDQo+ID4gYi9kcml2ZXJzL2dw dS9kcm0vZHJtX2Nvbm5lY3Rvci5jDQo+ID4gaW5kZXggYjNjZGU4OTdjZDgwLi5mZTYzMzk1ZjE1 OWQgMTAwNjQ0DQo+ID4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2RybV9jb25uZWN0b3IuYw0KPiA+ ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fY29ubmVjdG9yLmMNCj4gPiBAQCAtNzIwLDYgKzcy MCwxNCBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IGRybV9wcm9wX2VudW1fbGlzdA0KPiA+IGRybV9h c3BlY3RfcmF0aW9fZW51bV9saXN0W10gPSB7DQo+ID4gIAl7IERSTV9NT0RFX1BJQ1RVUkVfQVNQ RUNUXzE2XzksICIxNjo5IiB9LA0KPiA+ICB9Ow0KPiA+ICANCj4gPiArc3RhdGljIGNvbnN0IHN0 cnVjdCBkcm1fcHJvcF9lbnVtX2xpc3QNCj4gPiBkcm1fY29udGVudF90eXBlX2VudW1fbGlzdFtd ID0gew0KPiA+ICsJeyBEUk1fTU9ERV9DT05URU5UX1RZUEVfTk9fREFUQSwgIk5vIERhdGEiIH0s DQo+ID4gKwl7IERSTV9NT0RFX0NPTlRFTlRfVFlQRV9HUkFQSElDUywgIkdyYXBoaWNzIiB9LA0K PiA+ICsJeyBEUk1fTU9ERV9DT05URU5UX1RZUEVfUEhPVE8sICJQaG90byIgfSwNCj4gPiArCXsg RFJNX01PREVfQ09OVEVOVF9UWVBFX0NJTkVNQSwgIkNpbmVtYSIgfSwNCj4gPiArCXsgRFJNX01P REVfQ09OVEVOVF9UWVBFX0dBTUUsICJHYW1lIiB9LA0KPiA+ICt9Ow0KPiA+ICsNCj4gPiAgc3Rh dGljIGNvbnN0IHN0cnVjdCBkcm1fcHJvcF9lbnVtX2xpc3QNCj4gPiBkcm1fcGFuZWxfb3JpZW50 YXRpb25fZW51bV9saXN0W10gPSB7DQo+ID4gIAl7IERSTV9NT0RFX1BBTkVMX09SSUVOVEFUSU9O X05PUk1BTCwJIk5vcm1hbCIJDQo+ID4gfSwNCj4gPiAgCXsgRFJNX01PREVfUEFORUxfT1JJRU5U QVRJT05fQk9UVE9NX1VQLAkiVXBzaWRlDQo+ID4gRG93biIJfSwNCj4gPiBAQCAtOTk2LDYgKzEw MDQsNDUgQEAgaW50IGRybV9tb2RlX2NyZWF0ZV9kdmlfaV9wcm9wZXJ0aWVzKHN0cnVjdA0KPiA+ IGRybV9kZXZpY2UgKmRldikNCj4gPiAgfQ0KPiA+ICBFWFBPUlRfU1lNQk9MKGRybV9tb2RlX2Ny ZWF0ZV9kdmlfaV9wcm9wZXJ0aWVzKTsNCj4gPiAgDQo+ID4gKw0KPiA+ICsvKioNCj4gPiArICog RE9DOiBIRE1JIGNvbm5lY3RvciBwcm9wZXJ0aWVzDQo+ID4gKyAqDQo+ID4gKyAqIGNvbnRlbnQg dHlwZSAoSERNSSBzcGVjaWZpYyk6DQo+ID4gKyAqCUluZGljYXRlcyBjb250ZW50IHR5cGUgc2V0 dGluZyB0byBiZSB1c2VkIGluIEhETUkNCj4gPiBpbmZvZnJhbWVzIHRvIGluZGljYXRlDQo+ID4g KyAqCWNvbnRlbnQgdHlwZSBmb3IgdGhlIGV4dGVybmFsIGRldmljZSwgc28gdGhhdCBpdCBhZGp1 c3RzDQo+ID4gaXQncyBkaXNwbGF5DQo+ID4gKyAqCXNldHRpbmdzIGFjY29yZGluZ2x5Lg0KPiA+ ICsgKg0KPiA+ICsgKglUaGUgdmFsdWUgb2YgdGhpcyBwcm9wZXJ0eSBjYW4gYmUgb25lIG9mIHRo ZSBmb2xsb3dpbmc6DQo+ID4gKyAqDQo+ID4gKyAqCU5vIERhdGE6DQo+ID4gKyAqCQlDb250ZW50 IHR5cGUgaXMgdW5rbm93bg0KPiA+ICsgKglHcmFwaGljczoNCj4gPiArICoJCUNvbnRlbnQgdHlw ZSBpcyBncmFwaGljcw0KPiA+ICsgKglQaG90bzoNCj4gPiArICoJCUNvbnRlbnQgdHlwZSBpcyBw aG90bw0KPiA+ICsgKglDaW5lbWE6DQo+ID4gKyAqCQlDb250ZW50IHR5cGUgaXMgY2luZW1hDQo+ ID4gKyAqCUdhbWU6DQo+ID4gKyAqCQlDb250ZW50IHR5cGUgaXMgZ2FtZQ0KPiANCj4gTGlua3Mg dG8gdGhlIGZ1bmN0aW9uIHRoYXQgc2V0IHVwL3VzZSB0aGUgcHJvcGVydHkgd291bGQgYmUgZ29v ZA0KPiBoZXJlLg0KPiBJLmUuDQo+IA0KPiAJIkRyaXZlcnMgY2FuIHNldCB1cCB0aGlzIHByb3Bl cnR5IGJ5IGNhbGxpbmcNCj4gCWRybV9jb25uZWN0b3JfYXR0YWNoX2NvbnRlbnRfdHlwZV9wcm9w ZXJ0eSgpLiBEZWNvZGluZyB0bw0KPiAJaW5mb2ZyYW1lIHZhbHVlcyBpcyBkb25lIHRocm91Z2gN Cj4gCWRybV9oZG1pX2dldF9jb250ZW50X3R5cGVfZnJvbV9wcm9wZXJ0eSgpIGFuZA0KPiAJZHJt X2hkbWlfZ2V0X2l0Y19iaXRfZnJvbV9wcm9wZXJ0eSgpLiINCj4gDQo+IEFzaWRlOiBBIHNpbXBs ZSBoZWxwZXIgdGhhdCBjb21wdXRlcyB0aGUgY29ycmVjdCBpbmZvZnJhbWVzIGZyb20gdGhlDQo+ IGRybV9jb25uZWN0b3Jfc3RhdGUgYW5kIGRybV9kaXNwbGF5X2luZm8sIHdpdGhvdXQgZm9yY2lu ZyBkcml2ZXJzIHRvDQo+IGNhbGwNCj4gYSBnYXppbGxpb24gaW5kaXZpZHVhbCBoZWxwZXIgZnVu Y3Rpb25zIHdvdWxkIGJlIHJlYWwgbmljZS4gQnV0DQo+IHRoYXQncyBmb3INCj4gc29tZW9uZSBl bHNlIEkgdGhpbmsgLSBhbGwgdGhlIHZlcmJvc2l0eSBoZXJlIHNpbXBseSBhbm5veXMgbWUgYSBi aXQuDQo+IA0KPiBXaXRoIHRoZSBhYm92ZSBrZXJuZWxkb2MgcG9saXNoOg0KPiANCj4gQWNrZWQt Ynk6IERhbmllbCBWZXR0ZXIgPGRhbmllbC52ZXR0ZXJAZmZ3bGwuY2g+DQo+IC1EYW5pZWwNCg0K WWVwLCBJIHN1Z2dlc3RlZCB0aGF0LCBhZGRpbmcgc29tZSBzaW5nbGUgZnVuY3Rpb24gY291bGQg YmUgbW9yZSBwcm9wZXINCmFwcHJvYWNoIC0gdGhlcmUgaXMgZXZlbiBhbHJlYWR5IGEgZnVuY3Rp b24gY2FsbGVkDQpkcm1faGRtaV9hdmlfaW5mb2ZyYW1lX2Zyb21fZGlzcGxheV9tb2RlLCBJIGlu aXRpYWxseSBzdWdnZXN0ZWQgdGhhdA0KaXQgd291bGQgYmUgY29udmVuaWVudCB0byBhZGQgaXQg dGhlcmUsIGhvd2V2ZXIgYXMgSSB1bmRlcnN0b29kIGZyb20NCmRpc2N1c3Npb24gd2l0aCBWaWxs ZSwgbm90IGFsbCBkcml2ZXJzIHN1cHBvcnQgYXRvbWljIHByb3BlcnRpZXMsDQpvdGhlcndpc2Ug Y2VydGFpbmx5IGl0IHdvdWxkIGJlIG11Y2ggZWFzaWVyIHRvIGhhdmUgaXQgaW4gYSBzaW5nbGUN CmZ1bmN0aW9uLg0KDQo+ID4gKyAqLw0KPiA+ICsNCj4gPiArLyoqDQo+ID4gKyAqIGRybV9jb25u ZWN0b3JfYXR0YWNoX2NvbnRlbnRfdHlwZV9wcm9wZXJ0eSAtIGF0dGFjaCBjb250ZW50LQ0KPiA+ IHR5cGUgcHJvcGVydHkNCj4gPiArICogQGNvbm5lY3RvcjogY29ubmVjdG9yIHRvIGF0dGFjaCBj b250ZW50IHR5cGUgcHJvcGVydHkgb24uDQo+ID4gKyAqDQo+ID4gKyAqIENhbGxlZCBieSBhIGRy aXZlciB0aGUgZmlyc3QgdGltZSBhIEhETUkgY29ubmVjdG9yIGlzIG1hZGUuDQo+ID4gKyAqLw0K PiA+ICtpbnQgZHJtX2Nvbm5lY3Rvcl9hdHRhY2hfY29udGVudF90eXBlX3Byb3BlcnR5KHN0cnVj dA0KPiA+IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvcikNCj4gPiArew0KPiA+ICsJaWYgKCFkcm1f bW9kZV9jcmVhdGVfY29udGVudF90eXBlX3Byb3BlcnR5KGNvbm5lY3Rvci0NCj4gPiA+ZGV2KSkN Cj4gPiArCQlkcm1fb2JqZWN0X2F0dGFjaF9wcm9wZXJ0eSgmY29ubmVjdG9yLT5iYXNlLA0KPiA+ ICsJCQkJCSAgIGNvbm5lY3Rvci0+ZGV2LQ0KPiA+ID5tb2RlX2NvbmZpZy5jb250ZW50X3R5cGVf cHJvcGVydHksDQo+ID4gKwkJCQkJICAgRFJNX01PREVfQ09OVEVOVF9UWVBFX04NCj4gPiBPX0RB VEEpOw0KPiA+ICsJcmV0dXJuIDA7DQo+ID4gK30NCj4gPiArRVhQT1JUX1NZTUJPTChkcm1fY29u bmVjdG9yX2F0dGFjaF9jb250ZW50X3R5cGVfcHJvcGVydHkpOw0KPiA+ICsNCj4gPiAgLyoqDQo+ ID4gICAqIGRybV9jcmVhdGVfdHZfcHJvcGVydGllcyAtIGNyZWF0ZSBUViBzcGVjaWZpYyBjb25u ZWN0b3INCj4gPiBwcm9wZXJ0aWVzDQo+ID4gICAqIEBkZXY6IERSTSBkZXZpY2UNCj4gPiBAQCAt MTI2MCw2ICsxMzA3LDMzIEBAIGludA0KPiA+IGRybV9tb2RlX2NyZWF0ZV9hc3BlY3RfcmF0aW9f cHJvcGVydHkoc3RydWN0IGRybV9kZXZpY2UgKmRldikNCj4gPiAgfQ0KPiA+ICBFWFBPUlRfU1lN Qk9MKGRybV9tb2RlX2NyZWF0ZV9hc3BlY3RfcmF0aW9fcHJvcGVydHkpOw0KPiA+ICANCj4gPiAr LyoqDQo+ID4gKyAqIGRybV9tb2RlX2NyZWF0ZV9jb250ZW50X3R5cGVfcHJvcGVydHkgLSBjcmVh dGUgY29udGVudCB0eXBlDQo+ID4gcHJvcGVydHkNCj4gPiArICogQGRldjogRFJNIGRldmljZQ0K PiA+ICsgKg0KPiA+ICsgKiBDYWxsZWQgYnkgYSBkcml2ZXIgdGhlIGZpcnN0IHRpbWUgaXQncyBu ZWVkZWQsIG11c3QgYmUgYXR0YWNoZWQNCj4gPiB0byBkZXNpcmVkDQo+ID4gKyAqIGNvbm5lY3Rv cnMuDQo+ID4gKyAqDQo+ID4gKyAqIFJldHVybnM6DQo+ID4gKyAqIFplcm8gb24gc3VjY2Vzcywg bmVnYXRpdmUgZXJybm8gb24gZmFpbHVyZS4NCj4gPiArICovDQo+ID4gK2ludCBkcm1fbW9kZV9j cmVhdGVfY29udGVudF90eXBlX3Byb3BlcnR5KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpDQo+ID4g K3sNCj4gPiArCWlmIChkZXYtPm1vZGVfY29uZmlnLmNvbnRlbnRfdHlwZV9wcm9wZXJ0eSkNCj4g PiArCQlyZXR1cm4gMDsNCj4gPiArDQo+ID4gKwlkZXYtPm1vZGVfY29uZmlnLmNvbnRlbnRfdHlw ZV9wcm9wZXJ0eSA9DQo+ID4gKwkJZHJtX3Byb3BlcnR5X2NyZWF0ZV9lbnVtKGRldiwgMCwgImNv bnRlbnQgdHlwZSIsDQo+ID4gKwkJCQkJIGRybV9jb250ZW50X3R5cGVfZW51bV9saXMNCj4gPiB0 LA0KPiA+ICsJCQkJCSBBUlJBWV9TSVpFKGRybV9jb250ZW50X3R5DQo+ID4gcGVfZW51bV9saXN0 KSk7DQo+ID4gKw0KPiA+ICsJaWYgKGRldi0+bW9kZV9jb25maWcuY29udGVudF90eXBlX3Byb3Bl cnR5ID09IE5VTEwpDQo+ID4gKwkJcmV0dXJuIC1FTk9NRU07DQo+ID4gKw0KPiA+ICsJcmV0dXJu IDA7DQo+ID4gK30NCj4gPiArRVhQT1JUX1NZTUJPTChkcm1fbW9kZV9jcmVhdGVfY29udGVudF90 eXBlX3Byb3BlcnR5KTsNCj4gDQo+IERvIHdlIHJlYWxseSBuZWVkIHRvIGV4cG9ydCB0aGlzPyBE cml2ZXJzIHNob3VsZCBvbmx5IGNhbGwNCj4gZHJtX2Nvbm5lY3Rvcl9hdHRhY2hfY29udGVudF90 eXBlX3Byb3BlcnR5KCkgSSB0aGluayAuLi4NCg0KQWxsIG9mIHRob3NlIHByb3BlcnR5IGNyZWF0 aW9uIGZ1bmN0aW9ucyBhcmUgZXhwb3J0ZWQsIEkgd2FzIA0KanVzdCBmb2xsb3dpbmcgdGhvc2Ug YXMgZXhhbXBsZToNCg0KRVhQT1JUX1NZTUJPTChkcm1fbW9kZV9jcmVhdGVfdHZfcHJvcGVydGll cyk7DQpFWFBPUlRfU1lNQk9MKGRybV9tb2RlX2NyZWF0ZV9zY2FsaW5nX21vZGVfcHJvcGVydHkp Ow0KRVhQT1JUX1NZTUJPTChkcm1fbW9kZV9jcmVhdGVfYXNwZWN0X3JhdGlvX3Byb3BlcnR5KTsN Cg0KYW5kIHNvIG9uLiANCg0KPiANCj4gPiArDQo+ID4gIC8qKg0KPiA+ICAgKiBkcm1fbW9kZV9j cmVhdGVfc3VnZ2VzdGVkX29mZnNldF9wcm9wZXJ0aWVzIC0gY3JlYXRlIHN1Z2dlc3RzDQo+ID4g b2Zmc2V0IHByb3BlcnRpZXMNCj4gPiAgICogQGRldjogRFJNIGRldmljZQ0KPiA+IGRpZmYgLS1n aXQgYS9kcml2ZXJzL2dwdS9kcm0vZHJtX2VkaWQuYw0KPiA+IGIvZHJpdmVycy9ncHUvZHJtL2Ry bV9lZGlkLmMNCj4gPiBpbmRleCAxMzQwNjlmMzY0ODIuLjllY2RhMGIyYTRkOCAxMDA2NDQNCj4g PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vZHJtX2VkaWQuYw0KPiA+ICsrKyBiL2RyaXZlcnMvZ3B1 L2RybS9kcm1fZWRpZC5jDQo+ID4gQEAgLTQ4NjgsNiArNDg2OCwxNCBAQA0KPiA+IGRybV9oZG1p X2F2aV9pbmZvZnJhbWVfZnJvbV9kaXNwbGF5X21vZGUoc3RydWN0IGhkbWlfYXZpX2luZm9mcmFt ZQ0KPiA+ICpmcmFtZSwNCj4gPiAgDQo+ID4gIAlmcmFtZS0+cGljdHVyZV9hc3BlY3QgPSBIRE1J X1BJQ1RVUkVfQVNQRUNUX05PTkU7DQo+ID4gIA0KPiA+ICsJLyoNCj4gPiArCSAqIEFzIHNvbWUg ZHJpdmVycyBkb24ndCBzdXBwb3J0IGF0b21pYywgd2UgY2FuJ3QgdXNlDQo+ID4gY29ubmVjdG9y IHN0YXRlLg0KPiA+ICsJICogU28ganVzdCBpbml0aWFsaXplIHRoZSBmcmFtZSB3aXRoIGRlZmF1 bHQgdmFsdWVzLCBqdXN0DQo+ID4gdGhlIHNhbWUgd2F5DQo+ID4gKwkgKiBhcyBpdCdzIGRvbmUg d2l0aCBvdGhlciBwcm9wZXJ0aWVzIGhlcmUuDQo+ID4gKwkgKi8NCj4gPiArCWZyYW1lLT5jb250 ZW50X3R5cGUgPSBIRE1JX0NPTlRFTlRfVFlQRV9HUkFQSElDUzsNCj4gPiArCWZyYW1lLT5pdGMg PSAwOw0KPiA+ICsNCj4gPiAgCS8qDQo+ID4gIAkgKiBQb3B1bGF0ZSBwaWN0dXJlIGFzcGVjdCBy YXRpbyBmcm9tIGVpdGhlcg0KPiA+ICAJICogdXNlciBpbnB1dCAoaWYgc3BlY2lmaWVkKSBvciBm cm9tIHRoZSBDRUEgbW9kZSBsaXN0Lg0KPiA+IEBAIC00ODg2LDYgKzQ4OTQsNTMgQEANCj4gPiBk cm1faGRtaV9hdmlfaW5mb2ZyYW1lX2Zyb21fZGlzcGxheV9tb2RlKHN0cnVjdCBoZG1pX2F2aV9p bmZvZnJhbWUNCj4gPiAqZnJhbWUsDQo+ID4gIH0NCj4gPiAgRVhQT1JUX1NZTUJPTChkcm1faGRt aV9hdmlfaW5mb2ZyYW1lX2Zyb21fZGlzcGxheV9tb2RlKTsNCj4gPiAgDQo+ID4gKy8qKg0KPiA+ ICsgKiBkcm1faGRtaV9nZXRfaXRjX2JpdF9mcm9tX3Byb3BlcnR5KCkgLSBnZXQgdGhlIEhETUkg SVQgY29udGVudA0KPiA+IGJpdA0KPiA+ICsgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBmcm9tIGNvbnRlbnQgdHlwZQ0KPiA+IHByb3BlcnR5Lg0KPiA+ICsgKiBjb250 ZW50X3R5cGU6IENvbnRlbnQgdHlwZSBEUk0gcHJvcGVydHkgdmFsdWUNCj4gPiArICoNCj4gPiAr ICovDQo+ID4gK2Jvb2wNCj4gPiArZHJtX2hkbWlfZ2V0X2l0Y19iaXRfZnJvbV9wcm9wZXJ0eSh1 bnNpZ25lZCBpbnQgY29udGVudF90eXBlKQ0KPiA+ICt7DQo+ID4gKwkvKiBXaGVuZXZlciBzb21l dGhpbmcgZWxzZSB0aGFuICJObyBEYXRhIiwgSVQgQ29udGVudCBiaXQNCj4gPiBtdXN0IGJlIHNl dCAqLw0KPiA+ICsJcmV0dXJuIGNvbnRlbnRfdHlwZSAhPSBEUk1fTU9ERV9DT05URU5UX1RZUEVf Tk9fREFUQSA/DQo+ID4gdHJ1ZSA6IGZhbHNlOw0KPiA+ICt9DQo+ID4gK0VYUE9SVF9TWU1CT0wo ZHJtX2hkbWlfZ2V0X2l0Y19iaXRfZnJvbV9wcm9wZXJ0eSk7DQo+ID4gKw0KPiA+ICsvKioNCj4g PiArICogZHJtX2hkbWlfZ2V0X2NvbnRlbnRfdHlwZV9mcm9tX3Byb3BlcnR5KCkgLSBnZXQgdGhl IEhETUkNCj4gPiBjb250ZW50IHR5cGUgYml0cw0KPiA+ICsgKiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIGZyb20gY29udGVudCB0eXBlDQo+ID4gcHJvcGVydHku DQo+ID4gKyAqIGNvbnRlbnRfdHlwZTogQ29udGVudCB0eXBlIERSTSBwcm9wZXJ0eSB2YWx1ZQ0K PiA+ICsgKg0KPiA+ICsgKi8NCj4gPiArZW51bSBoZG1pX2NvbnRlbnRfdHlwZQ0KPiA+ICtkcm1f aGRtaV9nZXRfY29udGVudF90eXBlX2Zyb21fcHJvcGVydHkodW5zaWduZWQgaW50IGNvbnRlbnRf dHlwZSkNCj4gPiArew0KPiA+ICsJZW51bSBoZG1pX2NvbnRlbnRfdHlwZSByZXQ7DQo+ID4gKw0K PiA+ICsJc3dpdGNoIChjb250ZW50X3R5cGUpIHsNCj4gPiArCWNhc2UgRFJNX01PREVfQ09OVEVO VF9UWVBFX0dSQVBISUNTOg0KPiA+ICsJCXJldCA9IEhETUlfQ09OVEVOVF9UWVBFX0dSQVBISUNT Ow0KPiA+ICsJCWJyZWFrOw0KPiA+ICsJY2FzZSBEUk1fTU9ERV9DT05URU5UX1RZUEVfQ0lORU1B Og0KPiA+ICsJCXJldCA9IEhETUlfQ09OVEVOVF9UWVBFX0NJTkVNQTsNCj4gPiArCQlicmVhazsN Cj4gPiArCWNhc2UgRFJNX01PREVfQ09OVEVOVF9UWVBFX0dBTUU6DQo+ID4gKwkJcmV0ID0gSERN SV9DT05URU5UX1RZUEVfR0FNRTsNCj4gPiArCQlicmVhazsNCj4gPiArCWNhc2UgRFJNX01PREVf Q09OVEVOVF9UWVBFX1BIT1RPOg0KPiA+ICsJCXJldCA9IEhETUlfQ09OVEVOVF9UWVBFX1BIT1RP Ow0KPiA+ICsJCWJyZWFrOw0KPiA+ICsJZGVmYXVsdDoNCj4gPiArCQkvKiBHcmFwaGljcyBpcyB0 aGUgZGVmYXVsdCgwKSAqLw0KPiA+ICsJCXJldCA9IEhETUlfQ09OVEVOVF9UWVBFX0dSQVBISUNT Ow0KPiA+ICsJfQ0KPiA+ICsJcmV0dXJuIHJldDsNCj4gPiArfQ0KPiA+ICtFWFBPUlRfU1lNQk9M KGRybV9oZG1pX2dldF9jb250ZW50X3R5cGVfZnJvbV9wcm9wZXJ0eSk7DQo+ID4gKw0KPiA+ICsN Cj4gPiAgLyoqDQo+ID4gICAqIGRybV9oZG1pX2F2aV9pbmZvZnJhbWVfcXVhbnRfcmFuZ2UoKSAt IGZpbGwgdGhlIEhETUkgQVZJDQo+ID4gaW5mb2ZyYW1lDQo+ID4gICAqICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIHF1YW50aXphdGlvbiByYW5nZQ0KPiA+IGluZm9ybWF0 aW9uDQo+ID4gZGlmZiAtLWdpdCBhL2luY2x1ZGUvZHJtL2RybV9jb25uZWN0b3IuaA0KPiA+IGIv aW5jbHVkZS9kcm0vZHJtX2Nvbm5lY3Rvci5oDQo+ID4gaW5kZXggNjc1Y2MzZjhjZjg1Li4xNzhm YTNmM2Y1ZjcgMTAwNjQ0DQo+ID4gLS0tIGEvaW5jbHVkZS9kcm0vZHJtX2Nvbm5lY3Rvci5oDQo+ ID4gKysrIGIvaW5jbHVkZS9kcm0vZHJtX2Nvbm5lY3Rvci5oDQo+ID4gQEAgLTQxOCw2ICs0MTgs MTYgQEAgc3RydWN0IGRybV9jb25uZWN0b3Jfc3RhdGUgew0KPiA+ICAJICovDQo+ID4gIAllbnVt IGhkbWlfcGljdHVyZV9hc3BlY3QgcGljdHVyZV9hc3BlY3RfcmF0aW87DQo+ID4gIA0KPiA+ICsN Cj4gPiArCS8qKg0KPiA+ICsJICogQGNvbnRlbnRfdHlwZTogQ29ubmVjdG9yIHByb3BlcnR5IHRv IGNvbnRyb2wgdGhlDQo+ID4gKwkgKiBIRE1JIGluZm9mcmFtZSBjb250ZW50IHR5cGUgc2V0dGlu Zy4NCj4gPiArCSAqIFRoZSAlRFJNX01PREVfQ09OVEVOVF9UWVBFX1wqIHZhbHVlcyBtdWNoDQo+ ID4gKwkgKiBtYXRjaCB0aGUgdmFsdWVzLg0KPiA+ICsJICovDQo+ID4gKwl1bnNpZ25lZCBpbnQg Y29udGVudF90eXBlOw0KPiA+ICsNCj4gPiArDQo+ID4gIAkvKioNCj4gPiAgCSAqIEBzY2FsaW5n X21vZGU6IENvbm5lY3RvciBwcm9wZXJ0eSB0byBjb250cm9sIHRoZQ0KPiA+ICAJICogdXBzY2Fs aW5nLCBtb3N0bHkgdXNlZCBmb3IgYnVpbHQtaW4gcGFuZWxzLg0KPiA+IEBAIC0xMDg5LDExICsx MDk5LDEzIEBAIGludCBkcm1fbW9kZV9jcmVhdGVfdHZfcHJvcGVydGllcyhzdHJ1Y3QNCj4gPiBk cm1fZGV2aWNlICpkZXYsDQo+ID4gIAkJCQkgIHVuc2lnbmVkIGludCBudW1fbW9kZXMsDQo+ID4g IAkJCQkgIGNvbnN0IGNoYXIgKiBjb25zdCBtb2Rlc1tdKTsNCj4gPiAgaW50IGRybV9tb2RlX2Ny ZWF0ZV9zY2FsaW5nX21vZGVfcHJvcGVydHkoc3RydWN0IGRybV9kZXZpY2UgKmRldik7DQo+ID4g K2ludCBkcm1fY29ubmVjdG9yX2F0dGFjaF9jb250ZW50X3R5cGVfcHJvcGVydHkoc3RydWN0DQo+ ID4gZHJtX2Nvbm5lY3RvciAqZGV2KTsNCj4gPiAgaW50IGRybV9jb25uZWN0b3JfYXR0YWNoX3Nj YWxpbmdfbW9kZV9wcm9wZXJ0eShzdHJ1Y3QNCj4gPiBkcm1fY29ubmVjdG9yICpjb25uZWN0b3Is DQo+ID4gIAkJCQkJICAgICAgIHUzMg0KPiA+IHNjYWxpbmdfbW9kZV9tYXNrKTsNCj4gPiAgaW50 IGRybV9jb25uZWN0b3JfYXR0YWNoX2NvbnRlbnRfcHJvdGVjdGlvbl9wcm9wZXJ0eSgNCj4gPiAg CQlzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yKTsNCj4gPiAgaW50IGRybV9tb2RlX2Ny ZWF0ZV9hc3BlY3RfcmF0aW9fcHJvcGVydHkoc3RydWN0IGRybV9kZXZpY2UgKmRldik7DQo+ID4g K2ludCBkcm1fbW9kZV9jcmVhdGVfY29udGVudF90eXBlX3Byb3BlcnR5KHN0cnVjdCBkcm1fZGV2 aWNlICpkZXYpOw0KPiA+ICBpbnQgZHJtX21vZGVfY3JlYXRlX3N1Z2dlc3RlZF9vZmZzZXRfcHJv cGVydGllcyhzdHJ1Y3QgZHJtX2RldmljZQ0KPiA+ICpkZXYpOw0KPiA+ICANCj4gPiAgaW50IGRy bV9tb2RlX2Nvbm5lY3Rvcl9zZXRfcGF0aF9wcm9wZXJ0eShzdHJ1Y3QgZHJtX2Nvbm5lY3Rvcg0K PiA+ICpjb25uZWN0b3IsDQo+ID4gZGlmZiAtLWdpdCBhL2luY2x1ZGUvZHJtL2RybV9lZGlkLmgg Yi9pbmNsdWRlL2RybS9kcm1fZWRpZC5oDQo+ID4gaW5kZXggOGQ4OWE5YzM3NDhkLi40ZTI2NGM0 ZDhhOWIgMTAwNjQ0DQo+ID4gLS0tIGEvaW5jbHVkZS9kcm0vZHJtX2VkaWQuaA0KPiA+ICsrKyBi L2luY2x1ZGUvZHJtL2RybV9lZGlkLmgNCj4gPiBAQCAtMzUwLDYgKzM1MCwxMiBAQCBkcm1fbG9h ZF9lZGlkX2Zpcm13YXJlKHN0cnVjdCBkcm1fY29ubmVjdG9yDQo+ID4gKmNvbm5lY3RvcikNCj4g PiAgfQ0KPiA+ICAjZW5kaWYNCj4gPiAgDQo+ID4gK2Jvb2wNCj4gPiArZHJtX2hkbWlfZ2V0X2l0 Y19iaXRfZnJvbV9wcm9wZXJ0eSh1bnNpZ25lZCBpbnQgY29udGVudF90eXBlKTsNCj4gPiArDQo+ ID4gK2VudW0gaGRtaV9jb250ZW50X3R5cGUNCj4gPiArZHJtX2hkbWlfZ2V0X2NvbnRlbnRfdHlw ZV9mcm9tX3Byb3BlcnR5KHVuc2lnbmVkIGludA0KPiA+IGNvbnRlbnRfdHlwZSk7DQo+ID4gKw0K PiA+ICBpbnQNCj4gPiAgZHJtX2hkbWlfYXZpX2luZm9mcmFtZV9mcm9tX2Rpc3BsYXlfbW9kZShz dHJ1Y3QgaGRtaV9hdmlfaW5mb2ZyYW1lDQo+ID4gKmZyYW1lLA0KPiA+ICAJCQkJCSBjb25zdCBz dHJ1Y3QNCj4gPiBkcm1fZGlzcGxheV9tb2RlICptb2RlLA0KPiA+IGRpZmYgLS1naXQgYS9pbmNs dWRlL2RybS9kcm1fbW9kZV9jb25maWcuaA0KPiA+IGIvaW5jbHVkZS9kcm0vZHJtX21vZGVfY29u ZmlnLmgNCj4gPiBpbmRleCAzM2IzYTk2ZDY2ZDAuLmZiNDU4MzkxNzlkZCAxMDA2NDQNCj4gPiAt LS0gYS9pbmNsdWRlL2RybS9kcm1fbW9kZV9jb25maWcuaA0KPiA+ICsrKyBiL2luY2x1ZGUvZHJt L2RybV9tb2RlX2NvbmZpZy5oDQo+ID4gQEAgLTcyNiw2ICs3MjYsMTEgQEAgc3RydWN0IGRybV9t b2RlX2NvbmZpZyB7DQo+ID4gIAkgKiBIRE1JIGluZm9mcmFtZSBhc3BlY3QgcmF0aW8gc2V0dGlu Zy4NCj4gPiAgCSAqLw0KPiA+ICAJc3RydWN0IGRybV9wcm9wZXJ0eSAqYXNwZWN0X3JhdGlvX3By b3BlcnR5Ow0KPiA+ICsJLyoqDQo+ID4gKwkgKiBAY29udGVudF90eXBlX3Byb3BlcnR5OiBPcHRp b25hbCBjb25uZWN0b3IgcHJvcGVydHkgdG8NCj4gPiBjb250cm9sIHRoZQ0KPiA+ICsJICogSERN SSBpbmZvZnJhbWUgY29udGVudCB0eXBlIHNldHRpbmcuDQo+ID4gKwkgKi8NCj4gPiArCXN0cnVj dCBkcm1fcHJvcGVydHkgKmNvbnRlbnRfdHlwZV9wcm9wZXJ0eTsNCj4gPiAgCS8qKg0KPiA+ICAJ ICogQGRlZ2FtbWFfbHV0X3Byb3BlcnR5OiBPcHRpb25hbCBDUlRDIHByb3BlcnR5IHRvIHNldA0K PiA+IHRoZSBMVVQgdXNlZCB0bw0KPiA+ICAJICogY29udmVydCB0aGUgZnJhbWVidWZmZXIncyBj b2xvcnMgdG8gbGluZWFyIGdhbW1hLg0KPiA+IGRpZmYgLS1naXQgYS9pbmNsdWRlL3VhcGkvZHJt L2RybV9tb2RlLmgNCj4gPiBiL2luY2x1ZGUvdWFwaS9kcm0vZHJtX21vZGUuaA0KPiA+IGluZGV4 IDUwYmNmNDIxNGZmOS4uY2FkOWUwOWZmYWVlIDEwMDY0NA0KPiA+IC0tLSBhL2luY2x1ZGUvdWFw aS9kcm0vZHJtX21vZGUuaA0KPiA+ICsrKyBiL2luY2x1ZGUvdWFwaS9kcm0vZHJtX21vZGUuaA0K PiA+IEBAIC05NCw2ICs5NCwxMyBAQCBleHRlcm4gIkMiIHsNCj4gPiAgI2RlZmluZSBEUk1fTU9E RV9QSUNUVVJFX0FTUEVDVF80XzMJCTENCj4gPiAgI2RlZmluZSBEUk1fTU9ERV9QSUNUVVJFX0FT UEVDVF8xNl85CQkyDQo+ID4gIA0KPiA+ICsvKiBDb250ZW50IHR5cGUgb3B0aW9ucyAqLw0KPiA+ ICsjZGVmaW5lIERSTV9NT0RFX0NPTlRFTlRfVFlQRV9OT19EQVRBCQkwDQo+ID4gKyNkZWZpbmUg RFJNX01PREVfQ09OVEVOVF9UWVBFX0dSQVBISUNTCQkxDQo+ID4gKyNkZWZpbmUgRFJNX01PREVf Q09OVEVOVF9UWVBFX1BIT1RPCQkyDQo+ID4gKyNkZWZpbmUgRFJNX01PREVfQ09OVEVOVF9UWVBF X0NJTkVNQQkJMw0KPiA+ICsjZGVmaW5lIERSTV9NT0RFX0NPTlRFTlRfVFlQRV9HQU1FCQk0DQo+ ID4gKw0KPiA+ICAvKiBBc3BlY3QgcmF0aW8gZmxhZyBiaXRtYXNrICg0IGJpdHMgMjI6MTkpICov DQo+ID4gICNkZWZpbmUgRFJNX01PREVfRkxBR19QSUNfQVJfTUFTSwkJKDB4MEY8PDE5KQ0KPiA+ ICAjZGVmaW5lICBEUk1fTU9ERV9GTEFHX1BJQ19BUl9OT05FIFwNCj4gPiAtLSANCj4gPiAyLjE3 LjANCj4gPiANCj4gPiBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fXw0KPiA+IEludGVsLWdmeCBtYWlsaW5nIGxpc3QNCj4gPiBJbnRlbC1nZnhAbGlzdHMuZnJl ZWRlc2t0b3Aub3JnDQo+ID4gaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9s aXN0aW5mby9pbnRlbC1nZngNCj4gDQo+IA0KLS0gDQpCZXN0IFJlZ2FyZHMsDQoNCkxpc292c2tp eSBTdGFuaXNsYXYKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X18KZHJpLWRldmVsIG1haWxpbmcgbGlzdApkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3Jn Cmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZHJpLWRldmVs Cg==