From mboxrd@z Thu Jan 1 00:00:00 1970 From: Dave Gordon Subject: Re: [PATCH] drm/i915/guc: Add GuC css header parser Date: Tue, 13 Oct 2015 12:13:30 +0100 Message-ID: <561CE75A.3030200@intel.com> References: <1443206749-7900-1-git-send-email-yu.dai@intel.com> <1443475844-11162-1-git-send-email-yu.dai@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by gabe.freedesktop.org (Postfix) with ESMTP id 3EE246E3DF for ; Tue, 13 Oct 2015 04:13:34 -0700 (PDT) In-Reply-To: <1443475844-11162-1-git-send-email-yu.dai@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: intel-gfx@lists.freedesktop.org, Alex Dai List-Id: intel-gfx@lists.freedesktop.org T24gMjgvMDkvMTUgMjI6MzAsIHl1LmRhaUBpbnRlbC5jb20gd3JvdGU6Cj4gRnJvbTogQWxleCBE YWkgPHl1LmRhaUBpbnRlbC5jb20+Cj4KPiBUaGUgc2l6ZSAvIG9mZnNldCBpbmZvcm1hdGlvbiBv ZiBhbGwgZmlybXdhcmUgaW5ncmVkaWVudHMgYXJlCj4gbm93IGNhY3VsYXRlZCBmcm9tIGhlYWRl ci4gRHJpdmVyIHdpbGwgdmFsaWRhdGUgdGhlIGhlYWRlciBhbmQKPiByc2Ega2V5IHNpemUuIElm IGFueSBjb21wb25lbnQgaXMgb3V0IG9mIGJvdW5kYXJ5LCBkcml2ZXIgd2lsbAo+IHJlamVjdCB0 aGUgbG9hZGluZyB0b28uCj4KPiB2NDogTm93IHVzaW5nICdzaXplX2R3JyBmb3IgdGhvc2UgZGVm aW5lZCBpbiBjc3NfaGVhZGVyCj4KPiB2MzogMSkgTW92ZSBET0MgdG8gaW50ZWxfZ3VjX2Z3aWYu aCByaWdodCBiZWZvcmUgY3NzX2hlYWRlcgo+IGRlZmluaXRpb24uIEFkZCBtb3JlIGNvbW1lbnRz Lgo+ICAgICAgMikgQ2hhbmdlICdzaXplJyB0byAnbGVuJyBvciAnbGVuZ3RoJyB0byBhdm9pZCBj b25mdXNpb24uCj4gICAgICAzKSBBZGQgVU9TX1JTQV9TQ1JBVENIX01BWF9DT1VOVCBhY2NvcmRp bmcgdG8gQlNwZWMuIEFuZAo+IGRyaXZlciB2YWxpZGF0ZSBzaXplIG9mIFJTQSBrZXkgbm93Lgo+ ICAgICAgNCkgQWRkIGZ3IGNvbXBvbmVudCBzaXplL29mZnNldCBpbmZvIHRvIGludGVsX2d1Y19m dy4KPgo+IHYyOiBBZGQgaW5kZW50IGludG8gRE9DIHRvIG1ha2UgZml4ZWQtd2lkdGggZm9ybWF0 IHJhdGhlciB0aGFuCj4gY2hhbmdlIHRoZSB0bXBsLgo+Cj4gdjE6IDEpIGd1Y19jc3NfaGVhZGVy IGlzIGRlZmluZWQgYXMgX19wYWNrZWQgbm93Cj4gICAgICAyKSBBZGQgYW5kIGNvcnJlY3QgR3VD IHJlbGF0ZWQgdG9waWNzIGluIGtlcm5lbC9Eb2MKPgo+IFNpZ25lZC1vZmYtYnk6IEFsZXggRGFp IDx5dS5kYWlAaW50ZWwuY29tPgo+IC0tLQo+ICAgRG9jdW1lbnRhdGlvbi9Eb2NCb29rL2RybS50 bXBsICAgICAgICAgIHwgIDkgKysrLQo+ICAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kZWJ1 Z2ZzLmMgICAgIHwgIDYgKysrCj4gICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2d1Y19yZWcu aCAgICAgfCAgMSArCj4gICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9ndWMuaCAgICAgICAg fCAgOCArKy0KPiAgIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2d1Y19md2lmLmggICB8IDcy ICsrKysrKysrKysrKysrKysrKysrKysrKysKPiAgIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X2d1Y19sb2FkZXIuYyB8IDkzICsrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLQo+ICAg NiBmaWxlcyBjaGFuZ2VkLCAxNTEgaW5zZXJ0aW9ucygrKSwgMzggZGVsZXRpb25zKC0pCgpUaGUg Y29kZSBsb29rcyBPSzsgdGhlIENTUyBoZWFkZXIgZmllbGRzIGFyZSBhZGVxdWF0ZWx5IGNoZWNr ZWQgbm93LCBzbzoKClJldmlld2VkLWJ5OiBEYXZlIEdvcmRvbiA8ZGF2aWQucy5nb3Jkb25AaW50 ZWwuY29tPgoKd2l0aCBvbmUgbm90ZSBhYm91dCB0aGUgRG9jQm9vayBjaGFuZ2UgYmVsb3c6Cgo+ IGRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL0RvY0Jvb2svZHJtLnRtcGwgYi9Eb2N1bWVudGF0 aW9uL0RvY0Jvb2svZHJtLnRtcGwKPiBpbmRleCAzMDhiMTQxLi5iN2Q3ZTEzIDEwMDY0NAo+IC0t LSBhL0RvY3VtZW50YXRpb24vRG9jQm9vay9kcm0udG1wbAo+ICsrKyBiL0RvY3VtZW50YXRpb24v RG9jQm9vay9kcm0udG1wbAo+IEBAIC00MTU1LDE0ICs0MTU1LDE5IEBAIGludCBudW1faW9jdGxz Ozwvc3lub3BzaXM+Cj4gICAgICAgICA8dGl0bGU+R3VDLWJhc2VkIENvbW1hbmQgU3VibWlzc2lv bjwvdGl0bGU+Cj4gICAgICAgICA8c2VjdDI+Cj4gICAgICAgICAgIDx0aXRsZT5HdUM8L3RpdGxl Pgo+IC0hUGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2d1Y19sb2FkZXIuYyBHdUMtc3BlY2lm aWMgZmlybXdhcmUgbG9hZGVyCj4gKyFQZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZ3VjX2xv YWRlci5jIEd1QwoKV2FzIHRoaXMgaW50ZW5kZWQ/ICJHdUMiIGRvZXNuJ3QgY29udmV5IG11Y2gs IHNvIEknZCBzdWdnZXN0IGtlZXAgdGhlIApvcmlnaW5hbCBvciBzaG9ydGVuIGl0IHRvICJHdUMg RmlybXdhcmUgTG9hZGVyIiwgb3IgZXZlbiAiR3VDIExvYWRlciIsIApidXQgbm90IHRvIGp1c3Qg Ikd1QyIuCgouRGF2ZS4KCj4gICAhSWRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2d1Y19sb2Fk ZXIuYwo+ICAgICAgICAgPC9zZWN0Mj4KPiAgICAgICAgIDxzZWN0Mj4KPiAgICAgICAgICAgPHRp dGxlPkd1QyBDbGllbnQ8L3RpdGxlPgo+IC0hUGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ3Vj X3N1Ym1pc3Npb24uYyBHdUMtYmFzZWQgY29tbWFuZCBzdWJtaXNzaXNvbgo+ICshUGRyaXZlcnMv Z3B1L2RybS9pOTE1L2k5MTVfZ3VjX3N1Ym1pc3Npb24uYyBHdUMgQ2xpZW50Cj4gICAhSWRyaXZl cnMvZ3B1L2RybS9pOTE1L2k5MTVfZ3VjX3N1Ym1pc3Npb24uYwo+ICAgICAgICAgPC9zZWN0Mj4K PiArICAgICAgPHNlY3QyPgo+ICsgICAgICAgIDx0aXRsZT5HdUMgRmlybXdhcmUgTGF5b3V0PC90 aXRsZT4KPiArIVBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9ndWNfZndpZi5oIEd1QyBGaXJt d2FyZSBMYXlvdXQKPiArIUlkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9ndWNfZndpZi5oCj4g KyAgICAgIDwvc2VjdDI+Cj4gICAgICAgPC9zZWN0MT4KPgo+ICAgICAgIDxzZWN0MT4KPiBkaWZm IC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kZWJ1Z2ZzLmMgYi9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pOTE1X2RlYnVnZnMuYwo+IGluZGV4IGFmYTc5ODIuLjAyNjkzZDYgMTAwNjQ0 Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kZWJ1Z2ZzLmMKPiArKysgYi9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2RlYnVnZnMuYwo+IEBAIC0yMzk2LDYgKzIzOTYsMTIgQEAg c3RhdGljIGludCBpOTE1X2d1Y19sb2FkX3N0YXR1c19pbmZvKHN0cnVjdCBzZXFfZmlsZSAqbSwg dm9pZCAqZGF0YSkKPiAgIAkJZ3VjX2Z3LT5ndWNfZndfbWFqb3Jfd2FudGVkLCBndWNfZnctPmd1 Y19md19taW5vcl93YW50ZWQpOwo+ICAgCXNlcV9wcmludGYobSwgIlx0dmVyc2lvbiBmb3VuZDog JWQuJWRcbiIsCj4gICAJCWd1Y19mdy0+Z3VjX2Z3X21ham9yX2ZvdW5kLCBndWNfZnctPmd1Y19m d19taW5vcl9mb3VuZCk7Cj4gKwlzZXFfcHJpbnRmKG0sICJcdGhlYWRlcjogb2Zmc2V0IGlzICVk OyBzaXplID0gJWRcbiIsCj4gKwkJZ3VjX2Z3LT5oZWFkZXJfb2Zmc2V0LCBndWNfZnctPmhlYWRl cl9zaXplKTsKPiArCXNlcV9wcmludGYobSwgIlx0dUNvZGU6IG9mZnNldCBpcyAlZDsgc2l6ZSA9 ICVkXG4iLAo+ICsJCWd1Y19mdy0+dWNvZGVfb2Zmc2V0LCBndWNfZnctPnVjb2RlX3NpemUpOwo+ ICsJc2VxX3ByaW50ZihtLCAiXHRSU0E6IG9mZnNldCBpcyAlZDsgc2l6ZSA9ICVkXG4iLAo+ICsJ CWd1Y19mdy0+cnNhX29mZnNldCwgZ3VjX2Z3LT5yc2Ffc2l6ZSk7Cj4KPiAgIAl0bXAgPSBJOTE1 X1JFQUQoR1VDX1NUQVRVUyk7Cj4KPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUv aTkxNV9ndWNfcmVnLmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2d1Y19yZWcuaAo+IGlu ZGV4IGM0Y2IxYzAuLmI1MWI4MjggMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUv aTkxNV9ndWNfcmVnLmgKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2d1Y19yZWcu aAo+IEBAIC00Miw2ICs0Miw3IEBACj4gICAjZGVmaW5lIFNPRlRfU0NSQVRDSChuKQkJCSgweGMx ODAgKyAoKG4pICogNCkpCj4KPiAgICNkZWZpbmUgVU9TX1JTQV9TQ1JBVENIKGkpCQkoMHhjMjAw ICsgKGkpICogNCkKPiArI2RlZmluZSAgIFVPU19SU0FfU0NSQVRDSF9NQVhfQ09VTlQJICA2NAo+ ICAgI2RlZmluZSBETUFfQUREUl8wX0xPVwkJCTB4YzMwMAo+ICAgI2RlZmluZSBETUFfQUREUl8w X0hJR0gJCQkweGMzMDQKPiAgICNkZWZpbmUgRE1BX0FERFJfMV9MT1cJCQkweGMzMDgKPiBkaWZm IC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZ3VjLmggYi9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pbnRlbF9ndWMuaAo+IGluZGV4IDRlYzJkMjcuLjYzZTczZjMgMTAwNjQ0Cj4gLS0t IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZ3VjLmgKPiArKysgYi9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pbnRlbF9ndWMuaAo+IEBAIC03NiwxMSArNzYsMTcgQEAgc3RydWN0IGludGVsX2d1 Y19mdyB7Cj4gICAJdWludDE2X3QJCQlndWNfZndfbWlub3Jfd2FudGVkOwo+ICAgCXVpbnQxNl90 CQkJZ3VjX2Z3X21ham9yX2ZvdW5kOwo+ICAgCXVpbnQxNl90CQkJZ3VjX2Z3X21pbm9yX2ZvdW5k Owo+ICsKPiArCXVpbnQzMl90IGhlYWRlcl9zaXplOwo+ICsJdWludDMyX3QgaGVhZGVyX29mZnNl dDsKPiArCXVpbnQzMl90IHJzYV9zaXplOwo+ICsJdWludDMyX3QgcnNhX29mZnNldDsKPiArCXVp bnQzMl90IHVjb2RlX3NpemU7Cj4gKwl1aW50MzJfdCB1Y29kZV9vZmZzZXQ7Cj4gICB9Owo+Cj4g ICBzdHJ1Y3QgaW50ZWxfZ3VjIHsKPiAgIAlzdHJ1Y3QgaW50ZWxfZ3VjX2Z3IGd1Y19mdzsKPiAt Cj4gICAJdWludDMyX3QgbG9nX2ZsYWdzOwo+ICAgCXN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0 ICpsb2dfb2JqOwo+Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2d1 Y19md2lmLmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9ndWNfZndpZi5oCj4gaW5kZXgg ZTFmNDdiYS4uNWI0NjMzYiAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF9ndWNfZndpZi5oCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZ3VjX2Z3aWYu aAo+IEBAIC0xMjIsNiArMTIyLDc4IEBACj4KPiAgICNkZWZpbmUgR1VDX0NUTF9NQVhfRFdPUkRT CQkoR1VDX0NUTF9SU1JWRCArIDEpCj4KPiArLyoqCj4gKyAqIERPQzogR3VDIEZpcm13YXJlIExh eW91dAo+ICsgKgo+ICsgKiBUaGUgR3VDIGZpcm13YXJlIGxheW91dCBsb29rcyBsaWtlIHRoaXM6 Cj4gKyAqCj4gKyAqICAgICArLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsKPiArICog ICAgIHwgICAgICAgIGd1Y19jc3NfaGVhZGVyICAgICAgICAgfAo+ICsgKiAgICAgfCBjb250YWlu cyBtYWpvci9taW5vciB2ZXJzaW9uICB8Cj4gKyAqICAgICArLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLSsKPiArICogICAgIHwgICAgICAgICAgICAgdUNvZGUgICAgICAgICAgICAgfAo+ ICsgKiAgICAgKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rCj4gKyAqICAgICB8ICAg ICAgICAgUlNBIHNpZ25hdHVyZSAgICAgICAgIHwKPiArICogICAgICstLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tKwo+ICsgKiAgICAgfCAgICAgICAgICBtb2R1bHVzIGtleSAgICAgICAg ICB8Cj4gKyAqICAgICArLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsKPiArICogICAg IHwgICAgICAgICAgZXhwb25lbnQgdmFsICAgICAgICAgfAo+ICsgKiAgICAgKy0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0rCj4gKyAqCj4gKyAqIFRoZSBmaXJtd2FyZSBtYXkgb3IgbWF5 IG5vdCBoYXZlIG1vZHVsdXMga2V5IGFuZCBleHBvbmVudCBkYXRhLiBUaGUgaGVhZGVyLAo+ICsg KiB1Q29kZSBhbmQgUlNBIHNpZ25hdHVyZSBhcmUgbXVzdC1oYXZlIGNvbXBvbmVudHMgdGhhdCB3 aWxsIGJlIHVzZWQgYnkgZHJpdmVyLgo+ICsgKiBMZW5ndGggb2YgZWFjaCBjb21wb25lbnRzLCB3 aGljaCBpcyBhbGwgaW4gZHdvcmRzLCBjYW4gYmUgZm91bmQgaW4gaGVhZGVyLgo+ICsgKiBJbiB0 aGUgY2FzZSB0aGF0IG1vZHVsdXMgYW5kIGV4cG9uZW50IGFyZSBub3QgcHJlc2VudCBpbiBmdywg YS5rLmEgdHJ1bmNhdGVkCj4gKyAqIGltYWdlLCB0aGUgbGVuZ3RoIHZhbHVlIHN0aWxsIGFwcGVh cnMgaW4gaGVhZGVyLgo+ICsgKgo+ICsgKiBEcml2ZXIgd2lsbCBkbyBzb21lIGJhc2ljIGZ3IHNp emUgdmFsaWRhdGlvbiBiYXNlZCBvbiB0aGUgZm9sbG93aW5nIHJ1bGVzOgo+ICsgKgo+ICsgKiAx LiBIZWFkZXIsIHVDb2RlIGFuZCBSU0EgYXJlIG11c3QtaGF2ZSBjb21wb25lbnRzLgo+ICsgKiAy LiBBbGwgZmlybXdhcmUgY29tcG9uZW50cywgaWYgdGhleSBwcmVzZW50LCBhcmUgaW4gdGhlIHNl cXVlbmNlIGlsbHVzdHJhdGVkCj4gKyAqIGluIHRoZSBsYXlvdXQgdGFibGUgYWJvdmUuCj4gKyAq IDMuIExlbmd0aCBpbmZvIG9mIGVhY2ggY29tcG9uZW50IGNhbiBiZSBmb3VuZCBpbiBoZWFkZXIs IGluIGR3b3Jkcy4KPiArICogNC4gTW9kdWx1cyBhbmQgZXhwb25lbnQga2V5IGFyZSBub3QgcmVx dWlyZWQgYnkgZHJpdmVyLiBUaGV5IG1heSBub3QgYXBwZWFyCj4gKyAqIGluIGZ3LiBTbyBkcml2 ZXIgd2lsbCBsb2FkIGEgdHJ1bmNhdGVkIGZpcm13YXJlIGluIHRoaXMgY2FzZS4KPiArKi8KPiAr Cj4gK3N0cnVjdCBndWNfY3NzX2hlYWRlciB7Cj4gKwl1aW50MzJfdCBtb2R1bGVfdHlwZTsKPiAr CS8qIGhlYWRlcl9zaXplIGluY2x1ZGVzIGFsbCBub24tdUNvZGUgYml0cywgaW5jbHVkaW5nIGNz c19oZWFkZXIsIHJzYQo+ICsJICoga2V5LCBtb2R1bHVzIGtleSBhbmQgZXhwb25lbnQgZGF0YS4g Ki8KPiArCXVpbnQzMl90IGhlYWRlcl9zaXplX2R3Owo+ICsJdWludDMyX3QgaGVhZGVyX3ZlcnNp b247Cj4gKwl1aW50MzJfdCBtb2R1bGVfaWQ7Cj4gKwl1aW50MzJfdCBtb2R1bGVfdmVuZG9yOwo+ ICsJdW5pb24gewo+ICsJCXN0cnVjdCB7Cj4gKwkJCXVpbnQ4X3QgZGF5Owo+ICsJCQl1aW50OF90 IG1vbnRoOwo+ICsJCQl1aW50MTZfdCB5ZWFyOwo+ICsJCX07Cj4gKwkJdWludDMyX3QgZGF0ZTsK PiArCX07Cj4gKwl1aW50MzJfdCBzaXplX2R3OyAvKiB1Q29kZSBwbHVzIGhlYWRlcl9zaXplX2R3 ICovCj4gKwl1aW50MzJfdCBrZXlfc2l6ZV9kdzsKPiArCXVpbnQzMl90IG1vZHVsdXNfc2l6ZV9k dzsKPiArCXVpbnQzMl90IGV4cG9uZW50X3NpemVfZHc7Cj4gKwl1bmlvbiB7Cj4gKwkJc3RydWN0 IHsKPiArCQkJdWludDhfdCBob3VyOwo+ICsJCQl1aW50OF90IG1pbjsKPiArCQkJdWludDE2X3Qg c2VjOwo+ICsJCX07Cj4gKwkJdWludDMyX3QgdGltZTsKPiArCX07Cj4gKwo+ICsJY2hhciB1c2Vy bmFtZVs4XTsKPiArCWNoYXIgYnVpbGRudW1iZXJbMTJdOwo+ICsJdWludDMyX3QgZGV2aWNlX2lk Owo+ICsJdWludDMyX3QgZ3VjX3N3X3ZlcnNpb247Cj4gKwl1aW50MzJfdCBwcm9kX3ByZXByb2Rf Znc7Cj4gKwl1aW50MzJfdCByZXNlcnZlZFsxMl07Cj4gKwl1aW50MzJfdCBoZWFkZXJfaW5mbzsK PiArfSBfX3BhY2tlZDsKPiArCj4gICBzdHJ1Y3QgZ3VjX2Rvb3JiZWxsX2luZm8gewo+ICAgCXUz MiBkYl9zdGF0dXM7Cj4gICAJdTMyIGNvb2tpZTsKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaW50ZWxfZ3VjX2xvYWRlci5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxf Z3VjX2xvYWRlci5jCj4gaW5kZXggNWQxN2I2My4uM2E3ZjA4ZSAxMDA2NDQKPiAtLS0gYS9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9ndWNfbG9hZGVyLmMKPiArKysgYi9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pbnRlbF9ndWNfbG9hZGVyLmMKPiBAQCAtMjE4LDE2ICsyMTgsNiBAQCBzdGF0aWMg aW5saW5lIGJvb2wgZ3VjX3Vjb2RlX3Jlc3BvbnNlKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpk ZXZfcHJpdiwKPiAgIC8qCj4gICAgKiBUcmFuc2ZlciB0aGUgZmlybXdhcmUgaW1hZ2UgdG8gUkFN IGZvciBleGVjdXRpb24gYnkgdGhlIG1pY3JvY29udHJvbGxlci4KPiAgICAqCj4gLSAqIEd1QyBG aXJtd2FyZSBsYXlvdXQ6Cj4gLSAqICstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKyAg LS0tLQo+IC0gKiB8ICAgICAgICAgIENTUyBoZWFkZXIgICAgICAgICAgIHwgIDEyOEIKPiAtICog fCBjb250YWlucyBtYWpvci9taW5vciB2ZXJzaW9uICB8Cj4gLSAqICstLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tKyAgLS0tLQo+IC0gKiB8ICAgICAgICAgICAgIHVDb2RlICAgICAgICAg ICAgIHwKPiAtICogKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rICAtLS0tCj4gLSAq IHwgICAgICAgICBSU0Egc2lnbmF0dXJlICAgICAgICAgfCAgMjU2Qgo+IC0gKiArLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsgIC0tLS0KPiAtICoKPiAgICAqIEFyY2hpdGVjdHVyYWxs eSwgdGhlIERNQSBlbmdpbmUgaXMgYmlkaXJlY3Rpb25hbCwgYW5kIGNhbiBwb3RlbnRpYWxseSBl dmVuCj4gICAgKiB0cmFuc2ZlciBiZXR3ZWVuIEdUVCBsb2NhdGlvbnMuIFRoaXMgZnVuY3Rpb25h bGl0eSBpcyBsZWZ0IG91dCBvZiB0aGUgQVBJCj4gICAgKiBmb3Igbm93IGFzIHRoZXJlIGlzIG5v IG5lZWQgZm9yIGl0Lgo+IEBAIC0yMzUsMzMgKzIyNSwyOSBAQCBzdGF0aWMgaW5saW5lIGJvb2wg Z3VjX3Vjb2RlX3Jlc3BvbnNlKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKPiAg ICAqIE5vdGUgdGhhdCBHdUMgbmVlZHMgdGhlIENTUyBoZWFkZXIgcGx1cyB1S2VybmVsIGNvZGUg dG8gYmUgY29waWVkIGJ5IHRoZQo+ICAgICogRE1BIGVuZ2luZSBpbiBvbmUgb3BlcmF0aW9uLCB3 aGVyZWFzIHRoZSBSU0Egc2lnbmF0dXJlIGlzIGxvYWRlZCB2aWEgTU1JTy4KPiAgICAqLwo+IC0K PiAtI2RlZmluZSBVT1NfQ1NTX0hFQURFUl9PRkZTRVQJCTAKPiAtI2RlZmluZSBVT1NfVkVSX01J Tk9SX09GRlNFVAkJMHg0NAo+IC0jZGVmaW5lIFVPU19WRVJfTUFKT1JfT0ZGU0VUCQkweDQ2Cj4g LSNkZWZpbmUgVU9TX0NTU19IRUFERVJfU0laRQkJMHg4MAo+IC0jZGVmaW5lIFVPU19SU0FfU0lH X1NJWkUJCTB4MTAwCj4gLQo+ICAgc3RhdGljIGludCBndWNfdWNvZGVfeGZlcl9kbWEoc3RydWN0 IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQo+ICAgewo+ICAgCXN0cnVjdCBpbnRlbF9ndWNf ZncgKmd1Y19mdyA9ICZkZXZfcHJpdi0+Z3VjLmd1Y19mdzsKPiAgIAlzdHJ1Y3QgZHJtX2k5MTVf Z2VtX29iamVjdCAqZndfb2JqID0gZ3VjX2Z3LT5ndWNfZndfb2JqOwo+ICAgCXVuc2lnbmVkIGxv bmcgb2Zmc2V0Owo+ICAgCXN0cnVjdCBzZ190YWJsZSAqc2cgPSBmd19vYmotPnBhZ2VzOwo+IC0J dTMyIHN0YXR1cywgdWNvZGVfc2l6ZSwgcnNhW1VPU19SU0FfU0lHX1NJWkUgLyBzaXplb2YodTMy KV07Cj4gKwl1MzIgc3RhdHVzLCByc2FbVU9TX1JTQV9TQ1JBVENIX01BWF9DT1VOVF07Cj4gICAJ aW50IGksIHJldCA9IDA7Cj4KPiAtCS8qIHVDb2RlIHNpemUsIGFsc28gaXMgd2hlcmUgUlNBIHNp Z25hdHVyZSBzdGFydHMgKi8KPiAtCW9mZnNldCA9IHVjb2RlX3NpemUgPSBndWNfZnctPmd1Y19m d19zaXplIC0gVU9TX1JTQV9TSUdfU0laRTsKPiAtCUk5MTVfV1JJVEUoRE1BX0NPUFlfU0laRSwg dWNvZGVfc2l6ZSk7Cj4gKwkvKiB3aGVyZSBSU0Egc2lnbmF0dXJlIHN0YXJ0cyAqLwo+ICsJb2Zm c2V0ID0gZ3VjX2Z3LT5yc2Ffb2Zmc2V0Owo+Cj4gICAJLyogQ29weSBSU0Egc2lnbmF0dXJlIGZy b20gdGhlIGZ3IGltYWdlIHRvIEhXIGZvciB2ZXJpZmljYXRpb24gKi8KPiAtCXNnX3Bjb3B5X3Rv X2J1ZmZlcihzZy0+c2dsLCBzZy0+bmVudHMsIHJzYSwgVU9TX1JTQV9TSUdfU0laRSwgb2Zmc2V0 KTsKPiAtCWZvciAoaSA9IDA7IGkgPCBVT1NfUlNBX1NJR19TSVpFIC8gc2l6ZW9mKHUzMik7IGkr KykKPiArCXNnX3Bjb3B5X3RvX2J1ZmZlcihzZy0+c2dsLCBzZy0+bmVudHMsIHJzYSwgc2l6ZW9m KHJzYSksIG9mZnNldCk7Cj4gKwlmb3IgKGkgPSAwOyBpIDwgVU9TX1JTQV9TQ1JBVENIX01BWF9D T1VOVDsgaSsrKQo+ICAgCQlJOTE1X1dSSVRFKFVPU19SU0FfU0NSQVRDSChpKSwgcnNhW2ldKTsK Pgo+ICsJLyogVGhlIGhlYWRlciBwbHVzIHVDb2RlIHdpbGwgYmUgY29waWVkIHRvIFdPUENNIHZp YSBETUEsIGV4Y2x1ZGluZyBhbnkKPiArCSAqIG90aGVyIGNvbXBvbmVudHMgKi8KPiArCUk5MTVf V1JJVEUoRE1BX0NPUFlfU0laRSwgZ3VjX2Z3LT5oZWFkZXJfc2l6ZSArIGd1Y19mdy0+dWNvZGVf c2l6ZSk7Cj4gKwo+ICAgCS8qIFNldCB0aGUgc291cmNlIGFkZHJlc3MgZm9yIHRoZSBuZXcgYmxv YiAqLwo+IC0Jb2Zmc2V0ID0gaTkxNV9nZW1fb2JqX2dndHRfb2Zmc2V0KGZ3X29iaik7Cj4gKwlv ZmZzZXQgPSBpOTE1X2dlbV9vYmpfZ2d0dF9vZmZzZXQoZndfb2JqKSArIGd1Y19mdy0+aGVhZGVy X29mZnNldDsKPiAgIAlJOTE1X1dSSVRFKERNQV9BRERSXzBfTE9XLCBsb3dlcl8zMl9iaXRzKG9m ZnNldCkpOwo+ICAgCUk5MTVfV1JJVEUoRE1BX0FERFJfMF9ISUdILCB1cHBlcl8zMl9iaXRzKG9m ZnNldCkgJiAweEZGRkYpOwo+Cj4gQEAgLTQ2NSwxMCArNDUxLDggQEAgc3RhdGljIHZvaWQgZ3Vj X2Z3X2ZldGNoKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHN0cnVjdCBpbnRlbF9ndWNfZncgKmd1 Y19mdykKPiAgIHsKPiAgIAlzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqOwo+ICAgCWNv bnN0IHN0cnVjdCBmaXJtd2FyZSAqZnc7Cj4gLQljb25zdCB1OCAqY3NzX2hlYWRlcjsKPiAtCWNv bnN0IHNpemVfdCBtaW5zaXplID0gVU9TX0NTU19IRUFERVJfU0laRSArIFVPU19SU0FfU0lHX1NJ WkU7Cj4gLQljb25zdCBzaXplX3QgbWF4c2l6ZSA9IEdVQ19XT1BDTV9TSVpFX1ZBTFVFICsgVU9T X1JTQV9TSUdfU0laRQo+IC0JCQktIDB4ODAwMDsgLyogMzJrIHJlc2VydmVkICg4SyBzdGFjayAr IDI0ayBjb250ZXh0KSAqLwo+ICsJc3RydWN0IGd1Y19jc3NfaGVhZGVyICpjc3M7Cj4gKwlzaXpl X3Qgc2l6ZTsKPiAgIAlpbnQgZXJyOwo+Cj4gICAJRFJNX0RFQlVHX0RSSVZFUigiYmVmb3JlIHJl cXVlc3RpbmcgZmlybXdhcmU6IEd1QyBmdyBmZXRjaCBzdGF0dXMgJXNcbiIsCj4gQEAgLTQ4Miwx MiArNDY2LDUyIEBAIHN0YXRpYyB2b2lkIGd1Y19md19mZXRjaChzdHJ1Y3QgZHJtX2RldmljZSAq ZGV2LCBzdHJ1Y3QgaW50ZWxfZ3VjX2Z3ICpndWNfZncpCj4KPiAgIAlEUk1fREVCVUdfRFJJVkVS KCJmZXRjaCBHdUMgZncgZnJvbSAlcyBzdWNjZWVkZWQsIGZ3ICVwXG4iLAo+ICAgCQlndWNfZnct Pmd1Y19md19wYXRoLCBmdyk7Cj4gLQlEUk1fREVCVUdfRFJJVkVSKCJmaXJtd2FyZSBmaWxlIHNp emUgJXp1IChtaW5pbXVtICV6dSwgbWF4aW11bSAlenUpXG4iLAo+IC0JCWZ3LT5zaXplLCBtaW5z aXplLCBtYXhzaXplKTsKPgo+IC0JLyogQ2hlY2sgdGhlIHNpemUgb2YgdGhlIGJsb2IgYmVmb2Ug ZXhhbWluaW5nIGJ1ZmZlciBjb250ZW50cyAqLwo+IC0JaWYgKGZ3LT5zaXplIDwgbWluc2l6ZSB8 fCBmdy0+c2l6ZSA+IG1heHNpemUpCj4gKwkvKiBDaGVjayB0aGUgc2l6ZSBvZiB0aGUgYmxvYiBi ZWZvcmUgZXhhbWluaW5nIGJ1ZmZlciBjb250ZW50cyAqLwo+ICsJaWYgKGZ3LT5zaXplIDwgc2l6 ZW9mKHN0cnVjdCBndWNfY3NzX2hlYWRlcikpIHsKPiArCQlEUk1fRVJST1IoIkZpcm13YXJlIGhl YWRlciBpcyBtaXNzaW5nXG4iKTsKPiAgIAkJZ290byBmYWlsOwo+ICsJfQo+ICsKPiArCWNzcyA9 IChzdHJ1Y3QgZ3VjX2Nzc19oZWFkZXIgKilmdy0+ZGF0YTsKPiArCj4gKwkvKiBGaXJtd2FyZSBi aXRzIGFsd2F5cyBzdGFydCBmcm9tIGhlYWRlciAqLwo+ICsJZ3VjX2Z3LT5oZWFkZXJfb2Zmc2V0 ID0gMDsKPiArCWd1Y19mdy0+aGVhZGVyX3NpemUgPSAoY3NzLT5oZWFkZXJfc2l6ZV9kdyAtIGNz cy0+bW9kdWx1c19zaXplX2R3IC0KPiArCQljc3MtPmtleV9zaXplX2R3IC0gY3NzLT5leHBvbmVu dF9zaXplX2R3KSAqIHNpemVvZih1MzIpOwo+ICsKPiArCWlmIChndWNfZnctPmhlYWRlcl9zaXpl ICE9IHNpemVvZihzdHJ1Y3QgZ3VjX2Nzc19oZWFkZXIpKSB7Cj4gKwkJRFJNX0VSUk9SKCJDU1Mg aGVhZGVyIGRlZmluaXRpb24gbWlzbWF0Y2hcbiIpOwo+ICsJCWdvdG8gZmFpbDsKPiArCX0KPiAr Cj4gKwkvKiB0aGVuLCB1Q29kZSAqLwo+ICsJZ3VjX2Z3LT51Y29kZV9vZmZzZXQgPSBndWNfZnct PmhlYWRlcl9vZmZzZXQgKyBndWNfZnctPmhlYWRlcl9zaXplOwo+ICsJZ3VjX2Z3LT51Y29kZV9z aXplID0gKGNzcy0+c2l6ZV9kdyAtIGNzcy0+aGVhZGVyX3NpemVfZHcpICogc2l6ZW9mKHUzMik7 Cj4gKwo+ICsJLyogbm93IFJTQSAqLwo+ICsJaWYgKGNzcy0+a2V5X3NpemVfZHcgIT0gVU9TX1JT QV9TQ1JBVENIX01BWF9DT1VOVCkgewo+ICsJCURSTV9FUlJPUigiUlNBIGtleSBzaXplIGlzIGJh ZFxuIik7Cj4gKwkJZ290byBmYWlsOwo+ICsJfQo+ICsJZ3VjX2Z3LT5yc2Ffb2Zmc2V0ID0gZ3Vj X2Z3LT51Y29kZV9vZmZzZXQgKyBndWNfZnctPnVjb2RlX3NpemU7Cj4gKwlndWNfZnctPnJzYV9z aXplID0gY3NzLT5rZXlfc2l6ZV9kdyAqIHNpemVvZih1MzIpOwo+ICsKPiArCS8qIEF0IGxlYXN0 LCBpdCBzaG91bGQgaGF2ZSBoZWFkZXIsIHVDb2RlIGFuZCBSU0EuIFNpemUgb2YgYWxsIHRocmVl LiAqLwo+ICsJc2l6ZSA9IGd1Y19mdy0+aGVhZGVyX3NpemUgKyBndWNfZnctPnVjb2RlX3NpemUg KyBndWNfZnctPnJzYV9zaXplOwo+ICsJaWYgKGZ3LT5zaXplIDwgc2l6ZSkgewo+ICsJCURSTV9F UlJPUigiTWlzc2luZyBmaXJtd2FyZSBjb21wb25lbnRzXG4iKTsKPiArCQlnb3RvIGZhaWw7Cj4g Kwl9Cj4gKwo+ICsJLyogSGVhZGVyIGFuZCB1Q29kZSB3aWxsIGJlIGxvYWRlZCB0byBXT1BDTS4g U2l6ZSBvZiB0aGUgdHdvLiAqLwo+ICsJc2l6ZSA9IGd1Y19mdy0+aGVhZGVyX3NpemUgKyBndWNf ZnctPnVjb2RlX3NpemU7Cj4gKwo+ICsJLyogVG9wIDMyayBvZiBXT1BDTSBpcyByZXNlcnZlZCAo OEsgc3RhY2sgKyAyNGsgUkM2IGNvbnRleHQpLiAqLwo+ICsJaWYgKHNpemUgPiBHVUNfV09QQ01f U0laRV9WQUxVRSAtIDB4ODAwMCkgewo+ICsJCURSTV9FUlJPUigiRmlybXdhcmUgaXMgdG9vIGxh cmdlIHRvIGZpdCBpbiBXT1BDTVxuIik7Cj4gKwkJZ290byBmYWlsOwo+ICsJfQo+Cj4gICAJLyoK PiAgIAkgKiBUaGUgR3VDIGZpcm13YXJlIGltYWdlIGhhcyB0aGUgdmVyc2lvbiBudW1iZXIgZW1i ZWRkZWQgYXQgYSB3ZWxsLWtub3duCj4gQEAgLTQ5NSw5ICs1MTksOCBAQCBzdGF0aWMgdm9pZCBn dWNfZndfZmV0Y2goc3RydWN0IGRybV9kZXZpY2UgKmRldiwgc3RydWN0IGludGVsX2d1Y19mdyAq Z3VjX2Z3KQo+ICAgCSAqIFRXTyBieXRlcyBlYWNoIChpLmUuIHUxNiksIGFsdGhvdWdoIGFsbCBw b2ludGVycyBhbmQgb2Zmc2V0cyBhcmUgZGVmaW5lZAo+ICAgCSAqIGluIHRlcm1zIG9mIGJ5dGVz ICh1OCkuCj4gICAJICovCj4gLQljc3NfaGVhZGVyID0gZnctPmRhdGEgKyBVT1NfQ1NTX0hFQURF Ul9PRkZTRVQ7Cj4gLQlndWNfZnctPmd1Y19md19tYWpvcl9mb3VuZCA9ICoodTE2ICopKGNzc19o ZWFkZXIgKyBVT1NfVkVSX01BSk9SX09GRlNFVCk7Cj4gLQlndWNfZnctPmd1Y19md19taW5vcl9m b3VuZCA9ICoodTE2ICopKGNzc19oZWFkZXIgKyBVT1NfVkVSX01JTk9SX09GRlNFVCk7Cj4gKwln dWNfZnctPmd1Y19md19tYWpvcl9mb3VuZCA9IGNzcy0+Z3VjX3N3X3ZlcnNpb24gPj4gMTY7Cj4g KwlndWNfZnctPmd1Y19md19taW5vcl9mb3VuZCA9IGNzcy0+Z3VjX3N3X3ZlcnNpb24gJiAweEZG RkY7Cj4KPiAgIAlpZiAoZ3VjX2Z3LT5ndWNfZndfbWFqb3JfZm91bmQgIT0gZ3VjX2Z3LT5ndWNf ZndfbWFqb3Jfd2FudGVkIHx8Cj4gICAJICAgIGd1Y19mdy0+Z3VjX2Z3X21pbm9yX2ZvdW5kIDwg Z3VjX2Z3LT5ndWNfZndfbWlub3Jfd2FudGVkKSB7Cj4KCl9fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4 QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxt YW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==