From mboxrd@z Thu Jan 1 00:00:00 1970 From: Samuel Pitoiset Subject: Re: [PATCH mesa v2 2/3] tgsi: Add support for global / private / input MEMORY Date: Wed, 16 Mar 2016 10:47:39 +0100 Message-ID: <56E92BBB.7030909@gmail.com> References: <1458118502-9016-1-git-send-email-hdegoede@redhat.com> <1458118502-9016-2-git-send-email-hdegoede@redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1458118502-9016-2-git-send-email-hdegoede-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: nouveau-bounces-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Sender: "Nouveau" To: Hans de Goede , Ilia Mirkin Cc: mesa-dev-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org, nouveau-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org List-Id: nouveau.vger.kernel.org UmV2aWV3ZWQtYnk6IFNhbXVlbCBQaXRvaXNldCA8c2FtdWVsLnBpdG9pc2V0QGdtYWlsLmNvbT4K CkJ0dywgdXN1YWxseSB3aGVuIHNvbWVvbmUgaGFzIHJldmlld2VkIHRoZSB2MSB3ZSBhZGQgKHYx KSBhZnRlciB0aGUgUmIgCnRhZywgbGlrZToKClJldmlld2VkLWJ5OiBYWFggKHYxKQoKT24gMDMv MTYvMjAxNiAwOTo1NSBBTSwgSGFucyBkZSBHb2VkZSB3cm90ZToKPiBFeHRlbmQgdGhlIE1FTU9S WSBmaWxlIHN1cHBvcnQgdG8gZGlmZmVyZW50aWF0ZSBiZXR3ZWVuIGdsb2JhbCwgcHJpdmF0ZQo+ IGFuZCBzaGFyZWQgbWVtb3J5LCBhcyB3ZWxsIGFzICJpbnB1dCIgbWVtb3J5Lgo+Cj4gIk1FTU9S WVt4XSwgSU5QVVQiIGlzIGludGVuZGVkIHRvIGFjY2VzcyBPcGVuQ0wga2VybmVsIHBhcmFtZXRl cnMsIGEKPiBzcGVjaWFsIG1lbW9yeSB0eXBlIGlzIGFkZGVkIGZvciB0aGlzLCBzaW5jZSB0aGUg YWN0dWFsIHN0b3JhZ2Ugb2YgdGhlc2UKPiAoZS5nLiBVQk8tcykgbWF5IGRpZmZlciBwZXIgaW1w bGVtZW50YXRpb24uIFRoZSB1cGxvYWRpbmcgb2Yga2VybmVsCj4gcGFyYW1ldGVycyBpcyBoYW5k bGVkIGJ5IGxhdW5jaF9ncmlkLCAiTUVNT1JZW3hdLCBJTlBVVCIgYWxsb3dzIGRyaXZlcnMKPiB0 byB1c2UgYW4gYWNjZXNzIG1lY2hhbmlzbSBmb3IgcGFyYW1ldGVyIHJlYWRzIHdoaWNoIG1hdGNo ZXMgd2l0aCB0aGUKPiB1cGxvYWQgbWV0aG9kLgo+Cj4gU2lnbmVkLW9mZi1ieTogSGFucyBkZSBH b2VkZSA8aGRlZ29lZGVAcmVkaGF0LmNvbT4KPiBSZXZpZXdlZC1ieTogSWxpYSBNaXJraW4gPGlt aXJraW5AYWx1bS5taXQuZWR1Pgo+IC0tLQo+IENoYW5nZXMgaW4gdjI6Cj4gLURyb3AgbWVudGlv biBvZiBHTFNMIGdsb2JhbCAvIEdMU0wgbG9jYWwgZnJvbSBjb21tZW50cwo+IC1DaGFuZ2UgVEdT SV9NRU1PUllfVFlQRV9MT0NBTCB0byBUR1NJX01FTU9SWV9UWVBFX1BSSVZBVEUKPiAtQWRkIFJl dmlld2VkLWJ5OiBJbGlhIE1pcmtpbiA8aW1pcmtpbkBhbHVtLm1pdC5lZHU+Cj4gLS0tCj4gICBz cmMvZ2FsbGl1bS9hdXhpbGlhcnkvdGdzaS90Z3NpX2J1aWxkLmMgICAgICAgICAgICB8ICA4ICsr Ky0tLS0KPiAgIHNyYy9nYWxsaXVtL2F1eGlsaWFyeS90Z3NpL3Rnc2lfZHVtcC5jICAgICAgICAg ICAgIHwgIDkgKysrKysrLS0KPiAgIHNyYy9nYWxsaXVtL2F1eGlsaWFyeS90Z3NpL3Rnc2lfdGV4 dC5jICAgICAgICAgICAgIHwgMTQgKysrKysrKysrKy0tCj4gICBzcmMvZ2FsbGl1bS9hdXhpbGlh cnkvdGdzaS90Z3NpX3VyZWcuYyAgICAgICAgICAgICB8IDI1ICsrKysrKysrKysrKy0tLS0tLS0t LS0KPiAgIHNyYy9nYWxsaXVtL2F1eGlsaWFyeS90Z3NpL3Rnc2lfdXJlZy5oICAgICAgICAgICAg IHwgIDIgKy0KPiAgIC4uLi9kcml2ZXJzL25vdXZlYXUvY29kZWdlbi9udjUwX2lyX2Zyb21fdGdz aS5jcHAgIHwgIDcgKysrLS0tCj4gICBzcmMvZ2FsbGl1bS9pbmNsdWRlL3BpcGUvcF9zaGFkZXJf dG9rZW5zLmggICAgICAgICB8IDEwICsrKysrKystLQo+ICAgc3JjL21lc2Evc3RhdGVfdHJhY2tl ci9zdF9nbHNsX3RvX3Rnc2kuY3BwICAgICAgICAgfCAgMiArLQo+ICAgOCBmaWxlcyBjaGFuZ2Vk LCA1MSBpbnNlcnRpb25zKCspLCAyNiBkZWxldGlvbnMoLSkKPgo+IGRpZmYgLS1naXQgYS9zcmMv Z2FsbGl1bS9hdXhpbGlhcnkvdGdzaS90Z3NpX2J1aWxkLmMgYi9zcmMvZ2FsbGl1bS9hdXhpbGlh cnkvdGdzaS90Z3NpX2J1aWxkLmMKPiBpbmRleCAxY2I5NWI5Li5hM2U2NTliIDEwMDY0NAo+IC0t LSBhL3NyYy9nYWxsaXVtL2F1eGlsaWFyeS90Z3NpL3Rnc2lfYnVpbGQuYwo+ICsrKyBiL3NyYy9n YWxsaXVtL2F1eGlsaWFyeS90Z3NpL3Rnc2lfYnVpbGQuYwo+IEBAIC0xMTEsNyArMTExLDcgQEAg dGdzaV9kZWZhdWx0X2RlY2xhcmF0aW9uKCB2b2lkICkKPiAgICAgIGRlY2xhcmF0aW9uLkxvY2Fs ID0gMDsKPiAgICAgIGRlY2xhcmF0aW9uLkFycmF5ID0gMDsKPiAgICAgIGRlY2xhcmF0aW9uLkF0 b21pYyA9IDA7Cj4gLSAgIGRlY2xhcmF0aW9uLlNoYXJlZCA9IDA7Cj4gKyAgIGRlY2xhcmF0aW9u Lk1lbVR5cGUgPSBUR1NJX01FTU9SWV9UWVBFX0dMT0JBTDsKPiAgICAgIGRlY2xhcmF0aW9uLlBh ZGRpbmcgPSAwOwo+Cj4gICAgICByZXR1cm4gZGVjbGFyYXRpb247Cj4gQEAgLTEyOCw3ICsxMjgs NyBAQCB0Z3NpX2J1aWxkX2RlY2xhcmF0aW9uKAo+ICAgICAgdW5zaWduZWQgbG9jYWwsCj4gICAg ICB1bnNpZ25lZCBhcnJheSwKPiAgICAgIHVuc2lnbmVkIGF0b21pYywKPiAtICAgdW5zaWduZWQg c2hhcmVkLAo+ICsgICB1bnNpZ25lZCBtZW1fdHlwZSwKPiAgICAgIHN0cnVjdCB0Z3NpX2hlYWRl ciAqaGVhZGVyICkKPiAgIHsKPiAgICAgIHN0cnVjdCB0Z3NpX2RlY2xhcmF0aW9uIGRlY2xhcmF0 aW9uOwo+IEBAIC0xNDYsNyArMTQ2LDcgQEAgdGdzaV9idWlsZF9kZWNsYXJhdGlvbigKPiAgICAg IGRlY2xhcmF0aW9uLkxvY2FsID0gbG9jYWw7Cj4gICAgICBkZWNsYXJhdGlvbi5BcnJheSA9IGFy cmF5Owo+ICAgICAgZGVjbGFyYXRpb24uQXRvbWljID0gYXRvbWljOwo+IC0gICBkZWNsYXJhdGlv bi5TaGFyZWQgPSBzaGFyZWQ7Cj4gKyAgIGRlY2xhcmF0aW9uLk1lbVR5cGUgPSBtZW1fdHlwZTsK PiAgICAgIGhlYWRlcl9ib2R5c2l6ZV9ncm93KCBoZWFkZXIgKTsKPgo+ICAgICAgcmV0dXJuIGRl Y2xhcmF0aW9uOwo+IEBAIC00MDYsNyArNDA2LDcgQEAgdGdzaV9idWlsZF9mdWxsX2RlY2xhcmF0 aW9uKAo+ICAgICAgICAgZnVsbF9kZWNsLT5EZWNsYXJhdGlvbi5Mb2NhbCwKPiAgICAgICAgIGZ1 bGxfZGVjbC0+RGVjbGFyYXRpb24uQXJyYXksCj4gICAgICAgICBmdWxsX2RlY2wtPkRlY2xhcmF0 aW9uLkF0b21pYywKPiAtICAgICAgZnVsbF9kZWNsLT5EZWNsYXJhdGlvbi5TaGFyZWQsCj4gKyAg ICAgIGZ1bGxfZGVjbC0+RGVjbGFyYXRpb24uTWVtVHlwZSwKPiAgICAgICAgIGhlYWRlciApOwo+ Cj4gICAgICBpZiAobWF4c2l6ZSA8PSBzaXplKQo+IGRpZmYgLS1naXQgYS9zcmMvZ2FsbGl1bS9h dXhpbGlhcnkvdGdzaS90Z3NpX2R1bXAuYyBiL3NyYy9nYWxsaXVtL2F1eGlsaWFyeS90Z3NpL3Rn c2lfZHVtcC5jCj4gaW5kZXggYzhiOTFiYi4uNmQzOWVmMiAxMDA2NDQKPiAtLS0gYS9zcmMvZ2Fs bGl1bS9hdXhpbGlhcnkvdGdzaS90Z3NpX2R1bXAuYwo+ICsrKyBiL3NyYy9nYWxsaXVtL2F1eGls aWFyeS90Z3NpL3Rnc2lfZHVtcC5jCj4gQEAgLTM2NSw4ICszNjUsMTMgQEAgaXRlcl9kZWNsYXJh dGlvbigKPiAgICAgIH0KPgo+ICAgICAgaWYgKGRlY2wtPkRlY2xhcmF0aW9uLkZpbGUgPT0gVEdT SV9GSUxFX01FTU9SWSkgewo+IC0gICAgICBpZiAoZGVjbC0+RGVjbGFyYXRpb24uU2hhcmVkKQo+ IC0gICAgICAgICBUWFQoIiwgU0hBUkVEIik7Cj4gKyAgICAgIHN3aXRjaCAoZGVjbC0+RGVjbGFy YXRpb24uTWVtVHlwZSkgewo+ICsgICAgICAvKiBOb3RlOiAsR0xPQkFMIGlzIG9wdGlvbmFsIC8g dGhlIGRlZmF1bHQgKi8KPiArICAgICAgY2FzZSBUR1NJX01FTU9SWV9UWVBFX0dMT0JBTDogIFRY VCgiLCBHTE9CQUwiKTsgIGJyZWFrOwo+ICsgICAgICBjYXNlIFRHU0lfTUVNT1JZX1RZUEVfU0hB UkVEOiAgVFhUKCIsIFNIQVJFRCIpOyAgYnJlYWs7Cj4gKyAgICAgIGNhc2UgVEdTSV9NRU1PUllf VFlQRV9QUklWQVRFOiBUWFQoIiwgUFJJVkFURSIpOyBicmVhazsKPiArICAgICAgY2FzZSBUR1NJ X01FTU9SWV9UWVBFX0lOUFVUOiAgIFRYVCgiLCBJTlBVVCIpOyAgIGJyZWFrOwo+ICsgICAgICB9 Cj4gICAgICB9Cj4KPiAgICAgIGlmIChkZWNsLT5EZWNsYXJhdGlvbi5GaWxlID09IFRHU0lfRklM RV9TQU1QTEVSX1ZJRVcpIHsKPiBkaWZmIC0tZ2l0IGEvc3JjL2dhbGxpdW0vYXV4aWxpYXJ5L3Rn c2kvdGdzaV90ZXh0LmMgYi9zcmMvZ2FsbGl1bS9hdXhpbGlhcnkvdGdzaS90Z3NpX3RleHQuYwo+ IGluZGV4IDc3NTk4ZDIuLjAyODYzM2MgMTAwNjQ0Cj4gLS0tIGEvc3JjL2dhbGxpdW0vYXV4aWxp YXJ5L3Rnc2kvdGdzaV90ZXh0LmMKPiArKysgYi9zcmMvZ2FsbGl1bS9hdXhpbGlhcnkvdGdzaS90 Z3NpX3RleHQuYwo+IEBAIC0xMzkwLDggKzEzOTAsMTggQEAgc3RhdGljIGJvb2xlYW4gcGFyc2Vf ZGVjbGFyYXRpb24oIHN0cnVjdCB0cmFuc2xhdGVfY3R4ICpjdHggKQo+ICAgICAgICAgICAgICAg Y3R4LT5jdXIgPSBjdXI7Cj4gICAgICAgICAgICB9Cj4gICAgICAgICB9IGVsc2UgaWYgKGZpbGUg PT0gVEdTSV9GSUxFX01FTU9SWSkgewo+IC0gICAgICAgICBpZiAoc3RyX21hdGNoX25vY2FzZV93 aG9sZSgmY3VyLCAiU0hBUkVEIikpIHsKPiAtICAgICAgICAgICAgZGVjbC5EZWNsYXJhdGlvbi5T aGFyZWQgPSAxOwo+ICsgICAgICAgICBpZiAoc3RyX21hdGNoX25vY2FzZV93aG9sZSgmY3VyLCAi R0xPQkFMIikpIHsKPiArICAgICAgICAgICAgLyogTm90ZSB0aGlzIGlzIGEgbm8tb3AgZ2xvYmFs IGlzIHRoZSBkZWZhdWx0ICovCj4gKyAgICAgICAgICAgIGRlY2wuRGVjbGFyYXRpb24uTWVtVHlw ZSA9IFRHU0lfTUVNT1JZX1RZUEVfR0xPQkFMOwo+ICsgICAgICAgICAgICBjdHgtPmN1ciA9IGN1 cjsKPiArICAgICAgICAgfSBlbHNlIGlmIChzdHJfbWF0Y2hfbm9jYXNlX3dob2xlKCZjdXIsICJT SEFSRUQiKSkgewo+ICsgICAgICAgICAgICBkZWNsLkRlY2xhcmF0aW9uLk1lbVR5cGUgPSBUR1NJ X01FTU9SWV9UWVBFX1NIQVJFRDsKPiArICAgICAgICAgICAgY3R4LT5jdXIgPSBjdXI7Cj4gKyAg ICAgICAgIH0gZWxzZSBpZiAoc3RyX21hdGNoX25vY2FzZV93aG9sZSgmY3VyLCAiUFJJVkFURSIp KSB7Cj4gKyAgICAgICAgICAgIGRlY2wuRGVjbGFyYXRpb24uTWVtVHlwZSA9IFRHU0lfTUVNT1JZ X1RZUEVfUFJJVkFURTsKPiArICAgICAgICAgICAgY3R4LT5jdXIgPSBjdXI7Cj4gKyAgICAgICAg IH0gZWxzZSBpZiAoc3RyX21hdGNoX25vY2FzZV93aG9sZSgmY3VyLCAiSU5QVVQiKSkgewo+ICsg ICAgICAgICAgICBkZWNsLkRlY2xhcmF0aW9uLk1lbVR5cGUgPSBUR1NJX01FTU9SWV9UWVBFX0lO UFVUOwo+ICAgICAgICAgICAgICAgY3R4LT5jdXIgPSBjdXI7Cj4gICAgICAgICAgICB9Cj4gICAg ICAgICB9IGVsc2Ugewo+IGRpZmYgLS1naXQgYS9zcmMvZ2FsbGl1bS9hdXhpbGlhcnkvdGdzaS90 Z3NpX3VyZWcuYyBiL3NyYy9nYWxsaXVtL2F1eGlsaWFyeS90Z3NpL3Rnc2lfdXJlZy5jCj4gaW5k ZXggYWIxZDAzNC4uNDk1ZGI5ZiAxMDA2NDQKPiAtLS0gYS9zcmMvZ2FsbGl1bS9hdXhpbGlhcnkv dGdzaS90Z3NpX3VyZWcuYwo+ICsrKyBiL3NyYy9nYWxsaXVtL2F1eGlsaWFyeS90Z3NpL3Rnc2lf dXJlZy5jCj4gQEAgLTE5MCw3ICsxOTAsNyBAQCBzdHJ1Y3QgdXJlZ19wcm9ncmFtCj4KPiAgICAg IHN0cnVjdCB1cmVnX3Rva2VucyBkb21haW5bMl07Cj4KPiAtICAgYm9vbCB1c2Vfc2hhcmVkX21l bW9yeTsKPiArICAgYm9vbCB1c2VfbWVtb3J5W1RHU0lfTUVNT1JZX1RZUEVfQ09VTlRdOwo+ICAg fTsKPgo+ICAgc3RhdGljIHVuaW9uIHRnc2lfYW55X3Rva2VuIGVycm9yX3Rva2Vuc1szMl07Cj4g QEAgLTcyOSwxMyArNzI5LDE0IEBAIHN0cnVjdCB1cmVnX3NyYyB1cmVnX0RFQ0xfYnVmZmVyKHN0 cnVjdCB1cmVnX3Byb2dyYW0gKnVyZWcsIHVuc2lnbmVkIG5yLAo+ICAgICAgcmV0dXJuIHJlZzsK PiAgIH0KPgo+IC0vKiBBbGxvY2F0ZSBhIHNoYXJlZCBtZW1vcnkgYXJlYS4KPiArLyogQWxsb2Nh dGUgYSBtZW1vcnkgYXJlYS4KPiAgICAqLwo+IC1zdHJ1Y3QgdXJlZ19zcmMgdXJlZ19ERUNMX3No YXJlZF9tZW1vcnkoc3RydWN0IHVyZWdfcHJvZ3JhbSAqdXJlZykKPiArc3RydWN0IHVyZWdfc3Jj IHVyZWdfREVDTF9tZW1vcnkoc3RydWN0IHVyZWdfcHJvZ3JhbSAqdXJlZywKPiArICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgbWVtb3J5X3R5cGUpCj4gICB7Cj4gLSAg IHN0cnVjdCB1cmVnX3NyYyByZWcgPSB1cmVnX3NyY19yZWdpc3RlcihUR1NJX0ZJTEVfTUVNT1JZ LCAwKTsKPiArICAgc3RydWN0IHVyZWdfc3JjIHJlZyA9IHVyZWdfc3JjX3JlZ2lzdGVyKFRHU0lf RklMRV9NRU1PUlksIG1lbW9yeV90eXBlKTsKPgo+IC0gICB1cmVnLT51c2Vfc2hhcmVkX21lbW9y eSA9IHRydWU7Cj4gKyAgIHVyZWctPnVzZV9tZW1vcnlbbWVtb3J5X3R5cGVdID0gdHJ1ZTsKPiAg ICAgIHJldHVybiByZWc7Cj4gICB9Cj4KPiBAQCAtMTY3Miw3ICsxNjczLDcgQEAgZW1pdF9kZWNs X2J1ZmZlcihzdHJ1Y3QgdXJlZ19wcm9ncmFtICp1cmVnLAo+ICAgfQo+Cj4gICBzdGF0aWMgdm9p ZAo+IC1lbWl0X2RlY2xfc2hhcmVkX21lbW9yeShzdHJ1Y3QgdXJlZ19wcm9ncmFtICp1cmVnKQo+ ICtlbWl0X2RlY2xfbWVtb3J5KHN0cnVjdCB1cmVnX3Byb2dyYW0gKnVyZWcsIHVuc2lnbmVkIG1l bW9yeV90eXBlKQo+ICAgewo+ICAgICAgdW5pb24gdGdzaV9hbnlfdG9rZW4gKm91dCA9IGdldF90 b2tlbnModXJlZywgRE9NQUlOX0RFQ0wsIDIpOwo+Cj4gQEAgLTE2ODEsMTEgKzE2ODIsMTEgQEAg ZW1pdF9kZWNsX3NoYXJlZF9tZW1vcnkoc3RydWN0IHVyZWdfcHJvZ3JhbSAqdXJlZykKPiAgICAg IG91dFswXS5kZWNsLk5yVG9rZW5zID0gMjsKPiAgICAgIG91dFswXS5kZWNsLkZpbGUgPSBUR1NJ X0ZJTEVfTUVNT1JZOwo+ICAgICAgb3V0WzBdLmRlY2wuVXNhZ2VNYXNrID0gVEdTSV9XUklURU1B U0tfWFlaVzsKPiAtICAgb3V0WzBdLmRlY2wuU2hhcmVkID0gdHJ1ZTsKPiArICAgb3V0WzBdLmRl Y2wuTWVtVHlwZSA9IG1lbW9yeV90eXBlOwo+Cj4gICAgICBvdXRbMV0udmFsdWUgPSAwOwo+IC0g ICBvdXRbMV0uZGVjbF9yYW5nZS5GaXJzdCA9IDA7Cj4gLSAgIG91dFsxXS5kZWNsX3JhbmdlLkxh c3QgPSAwOwo+ICsgICBvdXRbMV0uZGVjbF9yYW5nZS5GaXJzdCA9IG1lbW9yeV90eXBlOwo+ICsg ICBvdXRbMV0uZGVjbF9yYW5nZS5MYXN0ID0gbWVtb3J5X3R5cGU7Cj4gICB9Cj4KPiAgIHN0YXRp YyB2b2lkCj4gQEAgLTE4NjAsOCArMTg2MSwxMCBAQCBzdGF0aWMgdm9pZCBlbWl0X2RlY2xzKCBz dHJ1Y3QgdXJlZ19wcm9ncmFtICp1cmVnICkKPiAgICAgICAgIGVtaXRfZGVjbF9idWZmZXIodXJl ZywgdXJlZy0+YnVmZmVyW2ldLmluZGV4LCB1cmVnLT5idWZmZXJbaV0uYXRvbWljKTsKPiAgICAg IH0KPgo+IC0gICBpZiAodXJlZy0+dXNlX3NoYXJlZF9tZW1vcnkpCj4gLSAgICAgIGVtaXRfZGVj bF9zaGFyZWRfbWVtb3J5KHVyZWcpOwo+ICsgICBmb3IgKGkgPSAwOyBpIDwgVEdTSV9NRU1PUllf VFlQRV9DT1VOVDsgaSsrKSB7Cj4gKyAgICAgIGlmICh1cmVnLT51c2VfbWVtb3J5W2ldKQo+ICsg ICAgICAgICBlbWl0X2RlY2xfbWVtb3J5KHVyZWcsIGkpOwo+ICsgICB9Cj4KPiAgICAgIGlmICh1 cmVnLT5jb25zdF9kZWNscy5ucl9jb25zdGFudF9yYW5nZXMpIHsKPiAgICAgICAgIGZvciAoaSA9 IDA7IGkgPCB1cmVnLT5jb25zdF9kZWNscy5ucl9jb25zdGFudF9yYW5nZXM7IGkrKykgewo+IGRp ZmYgLS1naXQgYS9zcmMvZ2FsbGl1bS9hdXhpbGlhcnkvdGdzaS90Z3NpX3VyZWcuaCBiL3NyYy9n YWxsaXVtL2F1eGlsaWFyeS90Z3NpL3Rnc2lfdXJlZy5oCj4gaW5kZXggMDRhNjJhNi4uOTA4MGI1 NyAxMDA2NDQKPiAtLS0gYS9zcmMvZ2FsbGl1bS9hdXhpbGlhcnkvdGdzaS90Z3NpX3VyZWcuaAo+ ICsrKyBiL3NyYy9nYWxsaXVtL2F1eGlsaWFyeS90Z3NpL3Rnc2lfdXJlZy5oCj4gQEAgLTMzOCw3 ICszMzgsNyBAQCBzdHJ1Y3QgdXJlZ19zcmMKPiAgIHVyZWdfREVDTF9idWZmZXIoc3RydWN0IHVy ZWdfcHJvZ3JhbSAqdXJlZywgdW5zaWduZWQgbnIsIGJvb2wgYXRvbWljKTsKPgo+ICAgc3RydWN0 IHVyZWdfc3JjCj4gLXVyZWdfREVDTF9zaGFyZWRfbWVtb3J5KHN0cnVjdCB1cmVnX3Byb2dyYW0g KnVyZWcpOwo+ICt1cmVnX0RFQ0xfbWVtb3J5KHN0cnVjdCB1cmVnX3Byb2dyYW0gKnVyZWcsIHVu c2lnbmVkIG1lbW9yeV90eXBlKTsKPgo+ICAgc3RhdGljIGlubGluZSBzdHJ1Y3QgdXJlZ19zcmMK PiAgIHVyZWdfaW1tNGYoIHN0cnVjdCB1cmVnX3Byb2dyYW0gKnVyZWcsCj4gZGlmZiAtLWdpdCBh L3NyYy9nYWxsaXVtL2RyaXZlcnMvbm91dmVhdS9jb2RlZ2VuL252NTBfaXJfZnJvbV90Z3NpLmNw cCBiL3NyYy9nYWxsaXVtL2RyaXZlcnMvbm91dmVhdS9jb2RlZ2VuL252NTBfaXJfZnJvbV90Z3Np LmNwcAo+IGluZGV4IGQyODQ0NDYuLmZiN2NhY2EgMTAwNjQ0Cj4gLS0tIGEvc3JjL2dhbGxpdW0v ZHJpdmVycy9ub3V2ZWF1L2NvZGVnZW4vbnY1MF9pcl9mcm9tX3Rnc2kuY3BwCj4gKysrIGIvc3Jj L2dhbGxpdW0vZHJpdmVycy9ub3V2ZWF1L2NvZGVnZW4vbnY1MF9pcl9mcm9tX3Rnc2kuY3BwCj4g QEAgLTg2NCw3ICs4NjQsNyBAQCBwdWJsaWM6Cj4gICAgICBzdGQ6OnZlY3RvcjxSZXNvdXJjZT4g cmVzb3VyY2VzOwo+Cj4gICAgICBzdHJ1Y3QgTWVtb3J5RmlsZSB7Cj4gLSAgICAgIGJvb2wgc2hh cmVkOwo+ICsgICAgICB1aW50OF90IG1lbV90eXBlOyAvLyBUR1NJX01FTU9SWV9UWVBFXyoKPiAg ICAgIH07Cj4gICAgICBzdGQ6OnZlY3RvcjxNZW1vcnlGaWxlPiBtZW1vcnlGaWxlczsKPgo+IEBA IC0xMjIyLDcgKzEyMjIsNyBAQCBib29sIFNvdXJjZTo6c2NhbkRlY2xhcmF0aW9uKGNvbnN0IHN0 cnVjdCB0Z3NpX2Z1bGxfZGVjbGFyYXRpb24gKmRlY2wpCj4gICAgICAgICBicmVhazsKPiAgICAg IGNhc2UgVEdTSV9GSUxFX01FTU9SWToKPiAgICAgICAgIGZvciAoaSA9IGZpcnN0OyBpIDw9IGxh c3Q7ICsraSkKPiAtICAgICAgICAgbWVtb3J5RmlsZXNbaV0uc2hhcmVkID0gZGVjbC0+RGVjbGFy YXRpb24uU2hhcmVkOwo+ICsgICAgICAgICBtZW1vcnlGaWxlc1tpXS5tZW1fdHlwZSA9IGRlY2wt PkRlY2xhcmF0aW9uLk1lbVR5cGU7Cj4gICAgICAgICBicmVhazsKPiAgICAgIGNhc2UgVEdTSV9G SUxFX05VTEw6Cj4gICAgICBjYXNlIFRHU0lfRklMRV9URU1QT1JBUlk6Cj4gQEAgLTE1MjcsNyAr MTUyNyw4IEBAIENvbnZlcnRlcjo6bWFrZVN5bSh1aW50IHRnc2lGaWxlLCBpbnQgZmlsZUlkeCwg aW50IGlkeCwgaW50IGMsIHVpbnQzMl90IGFkZHJlc3MpCj4KPiAgICAgIHN5bS0+cmVnLmZpbGVJ bmRleCA9IGZpbGVJZHg7Cj4KPiAtICAgaWYgKHRnc2lGaWxlID09IFRHU0lfRklMRV9NRU1PUlkg JiYgY29kZS0+bWVtb3J5RmlsZXNbZmlsZUlkeF0uc2hhcmVkKQo+ICsgICBpZiAodGdzaUZpbGUg PT0gVEdTSV9GSUxFX01FTU9SWSAmJgo+ICsgICAgICAgY29kZS0+bWVtb3J5RmlsZXNbZmlsZUlk eF0ubWVtX3R5cGUgPT0gVEdTSV9NRU1PUllfVFlQRV9TSEFSRUQpCj4gICAgICAgICBzeW0tPnNl dEZpbGUoRklMRV9NRU1PUllfU0hBUkVEKTsKPgo+ICAgICAgaWYgKGlkeCA+PSAwKSB7Cj4gZGlm ZiAtLWdpdCBhL3NyYy9nYWxsaXVtL2luY2x1ZGUvcGlwZS9wX3NoYWRlcl90b2tlbnMuaCBiL3Ny Yy9nYWxsaXVtL2luY2x1ZGUvcGlwZS9wX3NoYWRlcl90b2tlbnMuaAo+IGluZGV4IDdhMzQ4NDEu LjY1ZDhhZDkgMTAwNjQ0Cj4gLS0tIGEvc3JjL2dhbGxpdW0vaW5jbHVkZS9waXBlL3Bfc2hhZGVy X3Rva2Vucy5oCj4gKysrIGIvc3JjL2dhbGxpdW0vaW5jbHVkZS9waXBlL3Bfc2hhZGVyX3Rva2Vu cy5oCj4gQEAgLTExNyw2ICsxMTcsMTIgQEAgZW51bSB0Z3NpX2ZpbGVfdHlwZSB7Cj4gICAjZGVm aW5lIFRHU0lfQ1lMSU5EUklDQUxfV1JBUF9aICgxIDw8IDIpCj4gICAjZGVmaW5lIFRHU0lfQ1lM SU5EUklDQUxfV1JBUF9XICgxIDw8IDMpCj4KPiArI2RlZmluZSBUR1NJX01FTU9SWV9UWVBFX0dM T0JBTCAgICAgICAgMCAvKiBPcGVuQ0wgZ2xvYmFsICAgICAgICAgICAgICAqLwo+ICsjZGVmaW5l IFRHU0lfTUVNT1JZX1RZUEVfU0hBUkVEICAgICAgICAxIC8qIE9wZW5DTCBsb2NhbCAvIEdMU0wg c2hhcmVkICovCj4gKyNkZWZpbmUgVEdTSV9NRU1PUllfVFlQRV9QUklWQVRFICAgICAgIDIgLyog T3BlbkNMIHByaXZhdGUgICAgICAgICAgICAgKi8KPiArI2RlZmluZSBUR1NJX01FTU9SWV9UWVBF X0lOUFVUICAgICAgICAgMyAvKiBPcGVuQ0wga2VybmVsIGlucHV0IHBhcmFtcyAqLwo+ICsjZGVm aW5lIFRHU0lfTUVNT1JZX1RZUEVfQ09VTlQgICAgICAgICA0Cj4gKwo+ICAgc3RydWN0IHRnc2lf ZGVjbGFyYXRpb24KPiAgIHsKPiAgICAgIHVuc2lnbmVkIFR5cGUgICAgICAgIDogNDsgIC8qKjwg VEdTSV9UT0tFTl9UWVBFX0RFQ0xBUkFUSU9OICovCj4gQEAgLTEzMCw4ICsxMzYsOCBAQCBzdHJ1 Y3QgdGdzaV9kZWNsYXJhdGlvbgo+ICAgICAgdW5zaWduZWQgTG9jYWwgICAgICAgOiAxOyAgLyoq PCBvcHRpbWl6ZSBhcyBzdWJyb3V0aW5lIGxvY2FsIHZhcmlhYmxlPyAqLwo+ICAgICAgdW5zaWdu ZWQgQXJyYXkgICAgICAgOiAxOyAgLyoqPCBleHRyYSBhcnJheSBpbmZvPyAqLwo+ICAgICAgdW5z aWduZWQgQXRvbWljICAgICAgOiAxOyAgLyoqPCBhdG9taWMgb25seT8gZm9yIFRHU0lfRklMRV9C VUZGRVIgKi8KPiAtICAgdW5zaWduZWQgU2hhcmVkICAgICAgOiAxOyAgLyoqPCBzaGFyZWQgc3Rv cmFnZSBmb3IgVEdTSV9GSUxFX01FTU9SWSAqLwo+IC0gICB1bnNpZ25lZCBQYWRkaW5nICAgICA6 IDQ7Cj4gKyAgIHVuc2lnbmVkIE1lbVR5cGUgICAgIDogMjsgIC8qKjwgVEdTSV9NRU1PUllfVFlQ RV94IGZvciBUR1NJX0ZJTEVfTUVNT1JZICovCj4gKyAgIHVuc2lnbmVkIFBhZGRpbmcgICAgIDog MzsKPiAgIH07Cj4KPiAgIHN0cnVjdCB0Z3NpX2RlY2xhcmF0aW9uX3JhbmdlCj4gZGlmZiAtLWdp dCBhL3NyYy9tZXNhL3N0YXRlX3RyYWNrZXIvc3RfZ2xzbF90b190Z3NpLmNwcCBiL3NyYy9tZXNh L3N0YXRlX3RyYWNrZXIvc3RfZ2xzbF90b190Z3NpLmNwcAo+IGluZGV4IDE4NDE0MDUuLmZmMmUw ODIgMTAwNjQ0Cj4gLS0tIGEvc3JjL21lc2Evc3RhdGVfdHJhY2tlci9zdF9nbHNsX3RvX3Rnc2ku Y3BwCj4gKysrIGIvc3JjL21lc2Evc3RhdGVfdHJhY2tlci9zdF9nbHNsX3RvX3Rnc2kuY3BwCj4g QEAgLTYzNDUsNyArNjM0NSw3IEBAIHN0X3RyYW5zbGF0ZV9wcm9ncmFtKAo+ICAgICAgfQo+Cj4g ICAgICBpZiAocHJvZ3JhbS0+dXNlX3NoYXJlZF9tZW1vcnkpCj4gLSAgICAgIHQtPnNoYXJlZF9t ZW1vcnkgPSB1cmVnX0RFQ0xfc2hhcmVkX21lbW9yeSh1cmVnKTsKPiArICAgICAgdC0+c2hhcmVk X21lbW9yeSA9IHVyZWdfREVDTF9tZW1vcnkodXJlZywgVEdTSV9NRU1PUllfVFlQRV9TSEFSRUQp Owo+Cj4gICAgICBmb3IgKGkgPSAwOyBpIDwgcHJvZ3JhbS0+c2hhZGVyLT5OdW1JbWFnZXM7IGkr Kykgewo+ICAgICAgICAgaWYgKHByb2dyYW0tPmltYWdlc191c2VkICYgKDEgPDwgaSkpIHsKPgpf X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpOb3V2ZWF1IG1h aWxpbmcgbGlzdApOb3V2ZWF1QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZy ZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL25vdXZlYXUK