From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tvrtko Ursulin Subject: Re: [PATCH v7 5/6] drm/i915: add query uAPI Date: Wed, 17 Jan 2018 10:10:34 +0000 Message-ID: References: <20180116191824.31079-1-lionel.g.landwerlin@intel.com> <20180116191824.31079-6-lionel.g.landwerlin@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) by gabe.freedesktop.org (Postfix) with ESMTPS id ADCCF6E3CC for ; Wed, 17 Jan 2018 10:10:36 +0000 (UTC) In-Reply-To: <20180116191824.31079-6-lionel.g.landwerlin@intel.com> Content-Language: en-GB List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Lionel Landwerlin , intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org Ck9uIDE2LzAxLzIwMTggMTk6MTgsIExpb25lbCBMYW5kd2VybGluIHdyb3RlOgo+IFRoZXJlIGFy ZSBhIG51bWJlciBvZiBpbmZvcm1hdGlvbiB0aGF0IGFyZSByZWFkYWJsZSBmcm9tIGhhcmR3YXJl Cj4gcmVnaXN0ZXJzIGFuZCB0aGF0IHdlIHdvdWxkIGxpa2UgdG8gbWFrZSBhY2Nlc3NpYmxlIHRv IHVzZXJzcGFjZS4gT25lCj4gcGFydGljdWxhciBleGFtcGxlIGlzIHRoZSB0b3BvbG9neSBvZiB0 aGUgZXhlY3V0aW9uIHVuaXRzIChob3cgYXJlCj4gZXhlY3V0aW9uIHVuaXRzIGdyb3VwZWQgaW4g c3Vic2xpY2VzIGFuZCBzbGljZXMgYW5kIGFsc28gd2hpY2ggb25lcwo+IGhhdmUgYmVlbiBmdXNl ZCBvZmYgZm9yIGRpZSByZWNvdmVyeSkuCj4gCj4gQXQgdGhlIG1vbWVudCB0aGUgR0VUX1BBUkFN IGlvY3RsIGNvdmVycyBzb21lIGJhc2ljIG5lZWRzLCBidXQKPiBnZW5lcmFsbHkgaXMgb25seSBh YmxlIHRvIHJldHVybiBhIHNpbmdsZSB2YWx1ZSBmb3IgZWFjaCBkZWZpbmVkCj4gcGFyYW1ldGVy LiBUaGlzIGlzIGEgYml0IHByb2JsZW1hdGljIHdpdGggdG9wb2xvZ3kgZGVzY3JpcHRpb25zIHdo aWNoCj4gYXJlIGFycmF5L21hcHMgb2YgYXZhaWxhYmxlIHVuaXRzLgo+IAo+IFRoaXMgY2hhbmdl IGludHJvZHVjZXMgYSBuZXcgaW9jdGwgdGhhdCBjYW4gZGVhbCB3aXRoIHJlcXVlc3RzIHRvIGZp bGwKPiBzdHJ1Y3R1cmVzIG9mIHBvdGVudGlhbGx5IHZhcmlhYmxlIGxlbmd0aHMuIFRoZSB1c2Vy IGlzIGV4cGVjdGVkIGZpbGwKPiBhIHF1ZXJ5IHdpdGggbGVuZ3RoIGZpZWxkcyBzZXQgYXQgMCBv biB0aGUgZmlyc3QgY2FsbCwgdGhlIGtlcm5lbCB0aGVuCj4gc2V0cyB0aGUgbGVuZ3RoIGZpZWxk cyB0byB0aGUgdGhlaXIgZXhwZWN0ZWQgdmFsdWVzLiBBIHNlY29uZCBjYWxsIHRvCj4gdGhlIGtl cm5lbCB3aXRoIGxlbmd0aCBmaWVsZHMgYXQgdGhlaXIgZXhwZWN0ZWQgdmFsdWVzIHdpbGwgdHJp Z2dlciBhCj4gY29weSBvZiB0aGUgZGF0YSB0byB0aGUgcG9pbnRlZCBtZW1vcnkgbG9jYXRpb25z Lgo+IAo+IFRoZSBzY29wZSBvZiB0aGlzIHVBUEkgaXMgb25seSB0byBwcm92aWRlIGluZm9ybWF0 aW9uIHRvIHVzZXJzcGFjZSwKPiBub3QgdG8gYWxsb3cgY29uZmlndXJhdGlvbiBvZiB0aGUgZGV2 aWNlLgo+IAo+IHYyOiBTaW1wbGlmeSBkaXNwYXRjaGVyIGNvZGUgaXRlcmF0aW9uIChUdnJ0a28p Cj4gICAgICBUd2VhayB1YXBpIGRybV9pOTE1X3F1ZXJ5X2l0ZW0gc3RydWN0dXJlIChUdnJ0a28p Cj4gCj4gdjM6IFJlbmFtZSBwYWQgZmllbGRzIGludG8gZmxhZ3MgKENocmlzKQo+ICAgICAgUmV0 dXJuIGVycm9yIG9uIGZsYWdzIGZpZWxkICE9IDAgKENocmlzKQo+ICAgICAgT25seSBjb3B5IGxl bmd0aCBiYWNrIHRvIHVzZXJzcGFjZSBpbiBkcm1faTkxNV9xdWVyeV9pdGVtIChDaHJpcykKPiAK PiB2NDogVXNlIGFycmF5IG9mIGZ1bmN0aW9ucyBpbnN0ZWFkIG9mIHN3aXRjaCAoQ2hyaXMpCj4g Cj4gU2lnbmVkLW9mZi1ieTogTGlvbmVsIExhbmR3ZXJsaW4gPGxpb25lbC5nLmxhbmR3ZXJsaW5A aW50ZWwuY29tPgo+IFJldmlld2VkLWJ5OiBUdnJ0a28gVXJzdWxpbiA8dHZydGtvLnVyc3VsaW5A aW50ZWwuY29tPgoKSSBoYWQgbm90IHJlYWQgdjMgYW5kIHY0IHlldCwgc28gbGV0cyBxdWlja2x5 IHNlZSBpZiBJIHN0aWxsIGFwcHJvdmUuLi4KCj4gLS0tCj4gICBkcml2ZXJzL2dwdS9kcm0vaTkx NS9NYWtlZmlsZSAgICAgfCAgMSArCj4gICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5j ICAgfCAgMSArCj4gICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oICAgfCAgMyArKwo+ ICAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9xdWVyeS5jIHwgNjkgKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrCj4gICBpbmNsdWRlL3VhcGkvZHJtL2k5MTVfZHJtLmgg ICAgICAgfCAzMiArKysrKysrKysrKysrKysrKysKPiAgIDUgZmlsZXMgY2hhbmdlZCwgMTA2IGlu c2VydGlvbnMoKykKPiAgIGNyZWF0ZSBtb2RlIDEwMDY0NCBkcml2ZXJzL2dwdS9kcm0vaTkxNS9p OTE1X3F1ZXJ5LmMKPiAKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvTWFrZWZp bGUgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9NYWtlZmlsZQo+IGluZGV4IDNiZGRkOGEwNjgwNi4u YjA0MTVhM2UyZDU5IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L01ha2VmaWxl Cj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvTWFrZWZpbGUKPiBAQCAtNjksNiArNjksNyBA QCBpOTE1LXkgKz0gaTkxNV9jbWRfcGFyc2VyLm8gXAo+ICAgCSAgaTkxNV9nZW1fdGltZWxpbmUu byBcCj4gICAJICBpOTE1X2dlbV91c2VycHRyLm8gXAo+ICAgCSAgaTkxNV9nZW1mcy5vIFwKPiAr CSAgaTkxNV9xdWVyeS5vIFwKPiAgIAkgIGk5MTVfdHJhY2VfcG9pbnRzLm8gXAo+ICAgCSAgaTkx NV92bWEubyBcCj4gICAJICBpbnRlbF9icmVhZGNydW1icy5vIFwKPiBkaWZmIC0tZ2l0IGEvZHJp dmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVf ZHJ2LmMKPiBpbmRleCA5Njk4MzVkM2NiY2QuLmQ5MmUxYjcyMzZmYyAxMDA2NDQKPiAtLS0gYS9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaTkxNV9kcnYuYwo+IEBAIC0yODI0LDYgKzI4MjQsNyBAQCBzdGF0aWMgY29uc3Qgc3RydWN0 IGRybV9pb2N0bF9kZXNjIGk5MTVfaW9jdGxzW10gPSB7Cj4gICAJRFJNX0lPQ1RMX0RFRl9EUlYo STkxNV9QRVJGX09QRU4sIGk5MTVfcGVyZl9vcGVuX2lvY3RsLCBEUk1fUkVOREVSX0FMTE9XKSwK PiAgIAlEUk1fSU9DVExfREVGX0RSVihJOTE1X1BFUkZfQUREX0NPTkZJRywgaTkxNV9wZXJmX2Fk ZF9jb25maWdfaW9jdGwsIERSTV9VTkxPQ0tFRHxEUk1fUkVOREVSX0FMTE9XKSwKPiAgIAlEUk1f SU9DVExfREVGX0RSVihJOTE1X1BFUkZfUkVNT1ZFX0NPTkZJRywgaTkxNV9wZXJmX3JlbW92ZV9j b25maWdfaW9jdGwsIERSTV9VTkxPQ0tFRHxEUk1fUkVOREVSX0FMTE9XKSwKPiArCURSTV9JT0NU TF9ERUZfRFJWKEk5MTVfUVVFUlksIGk5MTVfcXVlcnlfaW9jdGwsIERSTV9VTkxPQ0tFRHxEUk1f UkVOREVSX0FMTE9XKSwKPiAgIH07Cj4gICAKPiAgIHN0YXRpYyBzdHJ1Y3QgZHJtX2RyaXZlciBk cml2ZXIgPSB7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2Lmgg Yi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oCj4gaW5kZXggYzQyMDE1YjA1YjQ3Li5i MjYxNWE4ODkzNmUgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYu aAo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKPiBAQCAtMzYyMiw2ICsz NjIyLDkgQEAgZXh0ZXJuIHZvaWQgaTkxNV9wZXJmX2Zpbmkoc3RydWN0IGRybV9pOTE1X3ByaXZh dGUgKmRldl9wcml2KTsKPiAgIGV4dGVybiB2b2lkIGk5MTVfcGVyZl9yZWdpc3RlcihzdHJ1Y3Qg ZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpOwo+ICAgZXh0ZXJuIHZvaWQgaTkxNV9wZXJmX3Vu cmVnaXN0ZXIoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KTsKPiAgIAo+ICsvKiBp OTE1X3F1ZXJ5LmMgKi8KPiAraW50IGk5MTVfcXVlcnlfaW9jdGwoc3RydWN0IGRybV9kZXZpY2Ug KmRldiwgdm9pZCAqZGF0YSwgc3RydWN0IGRybV9maWxlICpmaWxlKTsKPiArCj4gICAvKiBpOTE1 X3N1c3BlbmQuYyAqLwo+ICAgZXh0ZXJuIGludCBpOTE1X3NhdmVfc3RhdGUoc3RydWN0IGRybV9p OTE1X3ByaXZhdGUgKmRldl9wcml2KTsKPiAgIGV4dGVybiBpbnQgaTkxNV9yZXN0b3JlX3N0YXRl KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdik7Cj4gZGlmZiAtLWdpdCBhL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2k5MTVfcXVlcnkuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVf cXVlcnkuYwo+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0Cj4gaW5kZXggMDAwMDAwMDAwMDAwLi41MTcz NmFmN2Y1NzMKPiAtLS0gL2Rldi9udWxsCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkx NV9xdWVyeS5jCj4gQEAgLTAsMCArMSw2OSBAQAo+ICsvKgo+ICsgKiBDb3B5cmlnaHQgwqkgMjAx NyBJbnRlbCBDb3Jwb3JhdGlvbgo+ICsgKgo+ICsgKiBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFu dGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYQo+ICsgKiBjb3B5 IG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhl ICJTb2Z0d2FyZSIpLAo+ICsgKiB0byBkZWFsIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3Ry aWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uCj4gKyAqIHRoZSByaWdodHMgdG8g dXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNl LAo+ICsgKiBhbmQvb3Igc2VsbCBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0 IHBlcnNvbnMgdG8gd2hvbSB0aGUKPiArICogU29mdHdhcmUgaXMgZnVybmlzaGVkIHRvIGRvIHNv LCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczoKPiArICoKPiArICogVGhlIGFi b3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2UgKGluY2x1ZGlu ZyB0aGUgbmV4dAo+ICsgKiBwYXJhZ3JhcGgpIHNoYWxsIGJlIGluY2x1ZGVkIGluIGFsbCBjb3Bp ZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlCj4gKyAqIFNvZnR3YXJlLgo+ICsgKgo+ ICsgKiBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBP RiBBTlkgS0lORCwgRVhQUkVTUyBPUgo+ICsgKiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBM SU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSwKPiArICogRklUTkVT UyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gIElOIE5PIEVW RU5UIFNIQUxMCj4gKyAqIFRIRSBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJM RSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSCj4gKyAqIExJQUJJTElUWSwgV0hFVEhF UiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HCj4g KyAqIEZST00sIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRI RSBVU0UgT1IgT1RIRVIgREVBTElOR1MKPiArICogSU4gVEhFIFNPRlRXQVJFLgo+ICsgKgo+ICsg Ki8KPiArCj4gKyNpbmNsdWRlICJpOTE1X2Rydi5oIgo+ICsjaW5jbHVkZSA8dWFwaS9kcm0vaTkx NV9kcm0uaD4KPiArCj4gK3N0YXRpYyBpbnQgKCogY29uc3QgaTkxNV9xdWVyeV9mdW5jc1tdKShz dHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCj4gKwkJCQkJc3RydWN0IGRybV9pOTE1 X3F1ZXJ5X2l0ZW0gKnF1ZXJ5X2l0ZW0pID0gewo+ICt9Owo+ICsKPiAraW50IGk5MTVfcXVlcnlf aW9jdGwoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgdm9pZCAqZGF0YSwgc3RydWN0IGRybV9maWxl ICpmaWxlKQo+ICt7Cj4gKwlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19p OTE1KGRldik7Cj4gKwlzdHJ1Y3QgZHJtX2k5MTVfcXVlcnkgKmFyZ3MgPSBkYXRhOwo+ICsJc3Ry dWN0IGRybV9pOTE1X3F1ZXJ5X2l0ZW0gX191c2VyICp1c2VyX2l0ZW1fcHRyID0KPiArCQl1NjRf dG9fdXNlcl9wdHIoYXJncy0+aXRlbXNfcHRyKTsKPiArCXUzMiBpOwo+ICsKPiArCWlmIChhcmdz LT5mbGFncyAhPSAwKQo+ICsJCXJldHVybiAtRUlOVkFMOwo+ICsKPiArCWZvciAoaSA9IDA7IGkg PCBhcmdzLT5udW1faXRlbXM7IGkrKywgdXNlcl9pdGVtX3B0cisrKSB7Cj4gKwkJc3RydWN0IGRy bV9pOTE1X3F1ZXJ5X2l0ZW0gaXRlbTsKPiArCQl1NjQgZnVuY19pZHg7Cj4gKwkJaW50IHJldDsK PiArCj4gKwkJaWYgKGNvcHlfZnJvbV91c2VyKCZpdGVtLCB1c2VyX2l0ZW1fcHRyLCBzaXplb2Yo aXRlbSkpKQo+ICsJCQlyZXR1cm4gLUVGQVVMVDsKPiArCj4gKwkJaWYgKGl0ZW0ucXVlcnlfaWQg PT0gMCB8fCBpdGVtLmZsYWdzICE9IDApCj4gKwkJCXJldHVybiAtRUlOVkFMOwoKSG93IGRvIHdl IGRlZmluZSBpdGVtLmZsYWdzPyBJIGFtIHRoaW5raW5nIGlmIGl0IHNob3VsZCBiZSBoYW5kbGVk IGhlcmUsIApvciBwZXJoYXBzIGluIHRoZSBpdGVtIGhhbmRsZXI/IFNvbWUgaXRlbXMgbWF5IGhh dmUgZmxhZ3MsIHNvbWUgbWF5IG5vdCwgCmF0IHNvbWUgcG9pbnQgYW5kIHRoZW4gdGhpcyBiZWNv bWVzIGF0IHRoZSB3cm9uZyBsZXZlbCBJIHRoaW5rLgoKPiArCj4gKwkJZnVuY19pZHggPSBpdGVt LnF1ZXJ5X2lkIC0gMTsKPiArCj4gKwkJaWYgKGZ1bmNfaWR4ID49IEFSUkFZX1NJWkUoaTkxNV9x dWVyeV9mdW5jcykpCj4gKwkJCXJldHVybiAtRUlOVkFMOwo+ICsKPiArCQlyZXQgPSBpOTE1X3F1 ZXJ5X2Z1bmNzW2Z1bmNfaWR4XShkZXZfcHJpdiwgJml0ZW0pOwo+ICsJCWlmIChyZXQgPCAwKQo+ ICsJCQlyZXR1cm4gcmV0OwoKT25lIGRvd25zaWRlIEkgY2FuIHRoaW5rIG9mLCBvZiB0aGUgdmZ1 bmMgYXBwcm9hY2gsIGlzIGlmIHdlIGRlY2lkZSB0byAKYWxsb2NhdGVkIGJpdC1ncm91cHMgb2Yg aXRlbSBpZHMgdG8gZGlmZmVyZW50IGNhdGVnb3JpZXMgb2Ygc3R1ZmYgYXQgCnNvbWUgcG9pbnQu IEJ1dCBJIGd1ZXNzIGl0J3MgdG9vIGh5cG90aGV0aWNhbCBmb3Igbm93LgoKPiArCj4gKwkJLyog T25seSB3cml0ZSB0aGUgbGVuZ3RoIGJhY2sgdG8gdXNlcnNwYWNlIGlmIHRoZXkgZGlmZmVyLiAq Lwo+ICsJCWlmIChyZXQgIT0gaXRlbS5sZW5ndGggJiYgcHV0X3VzZXIocmV0LCAmdXNlcl9pdGVt X3B0ci0+bGVuZ3RoKSkKPiArCQkJcmV0dXJuIC1FRkFVTFQ7CgpXb3VsZCBpdCBtYWtlIHNlbnNl IHRvIHJldHVybiB0aGUgZXJyb3IgY29kZSBpbiB1c2VyX2l0ZW1fcHRyLT5sZW5ndGggCihib3Ro IGZyb20gcHV0X3VzZXIsIGFuZCBmcm9tIHRoZSB2ZnVuYyksIHNvIHVzZXJzcGFjZSBjYW4gZGV0 ZWN0IHdoaWNoIAppdGVtIGluIHRoZSBsaXN0IG9mIHF1ZXJpZXMgd2FzIHRoZSBwcm9ibGVtYXRp YyBvbmU/IEl0IHdvdWxkIHByb2JhYmx5IAptZWFuIHJlLWRlZmluaW5nIHRoZSBsZW5ndGggZmll bGQgYXMgczMyLCBidXQgMiBHaUIgb2YgaXRlbSBibG9icyBzaG91bGQgCmJlIGVub3VnaCBmb3Ig ZXZlcnlvbmU/IDopCgo+ICsJfQo+ICsKPiArCXJldHVybiAwOwo+ICt9Cj4gZGlmZiAtLWdpdCBh L2luY2x1ZGUvdWFwaS9kcm0vaTkxNV9kcm0uaCBiL2luY2x1ZGUvdWFwaS9kcm0vaTkxNV9kcm0u aAo+IGluZGV4IDUzNmVlNGZlYmQ3NC4uMDdhMmEzNWE0Mjc3IDEwMDY0NAo+IC0tLSBhL2luY2x1 ZGUvdWFwaS9kcm0vaTkxNV9kcm0uaAo+ICsrKyBiL2luY2x1ZGUvdWFwaS9kcm0vaTkxNV9kcm0u aAo+IEBAIC0zMTgsNiArMzE4LDcgQEAgdHlwZWRlZiBzdHJ1Y3QgX2RybV9pOTE1X3NhcmVhIHsK PiAgICNkZWZpbmUgRFJNX0k5MTVfUEVSRl9PUEVOCQkweDM2Cj4gICAjZGVmaW5lIERSTV9JOTE1 X1BFUkZfQUREX0NPTkZJRwkweDM3Cj4gICAjZGVmaW5lIERSTV9JOTE1X1BFUkZfUkVNT1ZFX0NP TkZJRwkweDM4Cj4gKyNkZWZpbmUgRFJNX0k5MTVfUVVFUlkJCQkweDM5Cj4gICAKPiAgICNkZWZp bmUgRFJNX0lPQ1RMX0k5MTVfSU5JVAkJRFJNX0lPVyggRFJNX0NPTU1BTkRfQkFTRSArIERSTV9J OTE1X0lOSVQsIGRybV9pOTE1X2luaXRfdCkKPiAgICNkZWZpbmUgRFJNX0lPQ1RMX0k5MTVfRkxV U0gJCURSTV9JTyAoIERSTV9DT01NQU5EX0JBU0UgKyBEUk1fSTkxNV9GTFVTSCkKPiBAQCAtMzc1 LDYgKzM3Niw3IEBAIHR5cGVkZWYgc3RydWN0IF9kcm1faTkxNV9zYXJlYSB7Cj4gICAjZGVmaW5l IERSTV9JT0NUTF9JOTE1X1BFUkZfT1BFTglEUk1fSU9XKERSTV9DT01NQU5EX0JBU0UgKyBEUk1f STkxNV9QRVJGX09QRU4sIHN0cnVjdCBkcm1faTkxNV9wZXJmX29wZW5fcGFyYW0pCj4gICAjZGVm aW5lIERSTV9JT0NUTF9JOTE1X1BFUkZfQUREX0NPTkZJRwlEUk1fSU9XKERSTV9DT01NQU5EX0JB U0UgKyBEUk1fSTkxNV9QRVJGX0FERF9DT05GSUcsIHN0cnVjdCBkcm1faTkxNV9wZXJmX29hX2Nv bmZpZykKPiAgICNkZWZpbmUgRFJNX0lPQ1RMX0k5MTVfUEVSRl9SRU1PVkVfQ09ORklHCURSTV9J T1coRFJNX0NPTU1BTkRfQkFTRSArIERSTV9JOTE1X1BFUkZfUkVNT1ZFX0NPTkZJRywgX191NjQp Cj4gKyNkZWZpbmUgRFJNX0lPQ1RMX0k5MTVfUVVFUlkJCQlEUk1fSU9XUihEUk1fQ09NTUFORF9C QVNFICsgRFJNX0k5MTVfUVVFUlksIHN0cnVjdCBkcm1faTkxNV9xdWVyeSkKPiAgIAo+ICAgLyog QWxsb3cgZHJpdmVycyB0byBzdWJtaXQgYmF0Y2hidWZmZXJzIGRpcmVjdGx5IHRvIGhhcmR3YXJl LCByZWx5aW5nCj4gICAgKiBvbiB0aGUgc2VjdXJpdHkgbWVjaGFuaXNtcyBwcm92aWRlZCBieSBo YXJkd2FyZS4KPiBAQCAtMTYxMyw2ICsxNjE1LDM2IEBAIHN0cnVjdCBkcm1faTkxNV9wZXJmX29h X2NvbmZpZyB7Cj4gICAJX191NjQgZmxleF9yZWdzX3B0cjsKPiAgIH07Cj4gICAKPiArCj4gK3N0 cnVjdCBkcm1faTkxNV9xdWVyeV9pdGVtIHsKPiArCV9fdTY0IHF1ZXJ5X2lkOwo+ICsKPiArCS8q Cj4gKwkgKiBXaGVuIHNldCB0byB6ZXJvIGJ5IHVzZXJzcGFjZSwgdGhpcyBpcyBmaWxsZWQgd2l0 aCB0aGUgc2l6ZSBvZiB0aGUKPiArCSAqIGRhdGEgdG8gYmUgd3JpdHRlbiBhdCB0aGUgZGF0YV9w dHIgcG9pbnRlci4KPiArCSAqLwo+ICsJX191MzIgbGVuZ3RoOwo+ICsKPiArCV9fdTMyIGZsYWdz OwoKU2F5IGluIHRoZSBjb21tZW50IGl0J3MgdW51c2VkIGZvciBub3csIGhlcmUgYW5kIGJlbG93 LCBzbyBpdCBsb29rcyBsZXNzIAp3ZWlyZCBpbiBhIHNhbmR3aWNoIGJldHdlZW4gdHdvIGNvbW1l bnRlZCBmaWVsZHM/Cgo+ICsKPiArCS8qCj4gKwkgKiBEYXRhIHdpbGwgYmUgd3JpdHRlbiBhdCB0 aGUgbG9jYXRpb24gcG9pbnRlZCBieSBkYXRhX3B0ciB3aGVuIHRoZQo+ICsJICogdmFsdWUgb2Yg bGVuZ3RoIG1hdGNoZXMgdGhlIGxlbmd0aCBvZiB0aGUgZGF0YSB0byBiZSB3cml0dGVuIGJ5IHRo ZQo+ICsJICoga2VybmVsLgo+ICsJICovCj4gKwlfX3U2NCBkYXRhX3B0cjsKPiArfTsKPiArCj4g K3N0cnVjdCBkcm1faTkxNV9xdWVyeSB7Cj4gKwlfX3UzMiBudW1faXRlbXM7Cj4gKwlfX3UzMiBm bGFnczsKPiArCj4gKwkvKgo+ICsJICogVGhpcyBwb2ludCB0byBhbiBhcnJheSBvZiBudW1faXRl bXMgZHJtX2k5MTVfcXVlcnlfaXRlbSBzdHJ1Y3R1cmVzLgo+ICsJICovCj4gKwlfX3U2NCBpdGVt c19wdHI7Cj4gK307Cj4gKwo+ICAgI2lmIGRlZmluZWQoX19jcGx1c3BsdXMpCj4gICB9Cj4gICAj ZW5kaWYKPiAKClJlZ2FyZHMsCgpUdnJ0a28KX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMu ZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlz dGluZm8vaW50ZWwtZ2Z4Cg==