From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tvrtko Ursulin Subject: Re: [PATCH 5/6] drm/i915: add query uAPI Date: Thu, 11 Jan 2018 12:19:48 +0000 Message-ID: <70295384-7b38-771c-feb7-7f9fa8a40c29@linux.intel.com> References: <20171218153520.14181-1-lionel.g.landwerlin@intel.com> <20171218153520.14181-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 mga01.intel.com (mga01.intel.com [192.55.52.88]) by gabe.freedesktop.org (Postfix) with ESMTPS id 8A2976E847 for ; Thu, 11 Jan 2018 12:19:50 +0000 (UTC) In-Reply-To: <20171218153520.14181-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 Ck9uIDE4LzEyLzIwMTcgMTU6MzUsIExpb25lbCBMYW5kd2VybGluIHdyb3RlOgo+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+IFNpZ25lZC1vZmYtYnk6IExpb25lbCBMYW5kd2VybGluIDxsaW9uZWwuZy5sYW5k d2VybGluQGludGVsLmNvbT4KPiAtLS0KPiAgIGRyaXZlcnMvZ3B1L2RybS9pOTE1L01ha2VmaWxl ICAgICB8ICAxICsKPiAgIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmMgICB8ICAxICsK PiAgIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmggICB8ICAzICsrKwo+ICAgZHJpdmVy cy9ncHUvZHJtL2k5MTUvaTkxNV9xdWVyeS5jIHwgNTIgKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrCj4gICBpbmNsdWRlL3VhcGkvZHJtL2k5MTVfZHJtLmggICAgICAgfCAz MSArKysrKysrKysrKysrKysrKysrKysrKwo+ICAgNSBmaWxlcyBjaGFuZ2VkLCA4OCBpbnNlcnRp b25zKCspCj4gICBjcmVhdGUgbW9kZSAxMDA2NDQgZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9x dWVyeS5jCj4gCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L01ha2VmaWxlIGIv ZHJpdmVycy9ncHUvZHJtL2k5MTUvTWFrZWZpbGUKPiBpbmRleCAwOTFhZWYyODE5NjMuLjk2Mjdl N2UzMDlkYyAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9NYWtlZmlsZQo+ICsr KyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L01ha2VmaWxlCj4gQEAgLTY5LDYgKzY5LDcgQEAgaTkx NS15ICs9IGk5MTVfY21kX3BhcnNlci5vIFwKPiAgIAkgIGk5MTVfZ2VtX3RpbWVsaW5lLm8gXAo+ ICAgCSAgaTkxNV9nZW1fdXNlcnB0ci5vIFwKPiAgIAkgIGk5MTVfZ2VtZnMubyBcCj4gKwkgIGk5 MTVfcXVlcnkubyBcCj4gICAJICBpOTE1X3RyYWNlX3BvaW50cy5vIFwKPiAgIAkgIGk5MTVfdm1h Lm8gXAo+ICAgCSAgaW50ZWxfYnJlYWRjcnVtYnMubyBcCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2k5MTVfZHJ2LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5j Cj4gaW5kZXggOGI5OWU0MTVjMzQ1Li5hOTBlZDlmMmI3NTkgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5 MTVfZHJ2LmMKPiBAQCAtMjgxNCw2ICsyODE0LDcgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBkcm1f aW9jdGxfZGVzYyBpOTE1X2lvY3Rsc1tdID0gewo+ICAgCURSTV9JT0NUTF9ERUZfRFJWKEk5MTVf UEVSRl9PUEVOLCBpOTE1X3BlcmZfb3Blbl9pb2N0bCwgRFJNX1JFTkRFUl9BTExPVyksCj4gICAJ RFJNX0lPQ1RMX0RFRl9EUlYoSTkxNV9QRVJGX0FERF9DT05GSUcsIGk5MTVfcGVyZl9hZGRfY29u ZmlnX2lvY3RsLCBEUk1fVU5MT0NLRUR8RFJNX1JFTkRFUl9BTExPVyksCj4gICAJRFJNX0lPQ1RM X0RFRl9EUlYoSTkxNV9QRVJGX1JFTU9WRV9DT05GSUcsIGk5MTVfcGVyZl9yZW1vdmVfY29uZmln X2lvY3RsLCBEUk1fVU5MT0NLRUR8RFJNX1JFTkRFUl9BTExPVyksCj4gKwlEUk1fSU9DVExfREVG X0RSVihJOTE1X1FVRVJZLCBpOTE1X3F1ZXJ5X2lvY3RsLCBEUk1fVU5MT0NLRUR8RFJNX1JFTkRF Ul9BTExPVyksCj4gICB9Owo+ICAgCj4gICBzdGF0aWMgc3RydWN0IGRybV9kcml2ZXIgZHJpdmVy ID0gewo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oIGIvZHJp dmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaAo+IGluZGV4IDgyZmM1OTA3OGM2YS4uMzQxNWEz ZDIzOTljIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKPiAr KysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oCj4gQEAgLTQwODQsNiArNDA4NCw5 IEBAIGV4dGVybiB2b2lkIGk5MTVfcGVyZl9maW5pKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpk ZXZfcHJpdik7Cj4gICBleHRlcm4gdm9pZCBpOTE1X3BlcmZfcmVnaXN0ZXIoc3RydWN0IGRybV9p OTE1X3ByaXZhdGUgKmRldl9wcml2KTsKPiAgIGV4dGVybiB2b2lkIGk5MTVfcGVyZl91bnJlZ2lz dGVyKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdik7Cj4gICAKPiArLyogaTkxNV9x dWVyeS5jICovCj4gK2ludCBpOTE1X3F1ZXJ5X2lvY3RsKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYs IHZvaWQgKmRhdGEsIHN0cnVjdCBkcm1fZmlsZSAqZmlsZSk7Cj4gKwo+ICAgLyogaTkxNV9zdXNw ZW5kLmMgKi8KPiAgIGV4dGVybiBpbnQgaTkxNV9zYXZlX3N0YXRlKHN0cnVjdCBkcm1faTkxNV9w cml2YXRlICpkZXZfcHJpdik7Cj4gICBleHRlcm4gaW50IGk5MTVfcmVzdG9yZV9zdGF0ZShzdHJ1 Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpOwo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pOTE1X3F1ZXJ5LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3F1ZXJ5 LmMKPiBuZXcgZmlsZSBtb2RlIDEwMDY0NAo+IGluZGV4IDAwMDAwMDAwMDAwMC4uMjI3YTI4OTc4 MTkwCj4gLS0tIC9kZXYvbnVsbAo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcXVl cnkuYwo+IEBAIC0wLDAgKzEsNTIgQEAKPiArLyoKPiArICogQ29weXJpZ2h0IMKpIDIwMTcgSW50 ZWwgQ29ycG9yYXRpb24KPiArICoKPiArICogUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwg ZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEKPiArICogY29weSBvZiB0 aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSAiU29m dHdhcmUiKSwKPiArICogdG8gZGVhbCBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlv biwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbgo+ICsgKiB0aGUgcmlnaHRzIHRvIHVzZSwg Y29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwKPiAr ICogYW5kL29yIHNlbGwgY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJz b25zIHRvIHdob20gdGhlCj4gKyAqIFNvZnR3YXJlIGlzIGZ1cm5pc2hlZCB0byBkbyBzbywgc3Vi amVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6Cj4gKyAqCj4gKyAqIFRoZSBhYm92ZSBj b3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIChpbmNsdWRpbmcgdGhl IG5leHQKPiArICogcGFyYWdyYXBoKSBzaGFsbCBiZSBpbmNsdWRlZCBpbiBhbGwgY29waWVzIG9y IHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZQo+ICsgKiBTb2Z0d2FyZS4KPiArICoKPiArICog VEhFIFNPRlRXQVJFIElTIFBST1ZJREVEICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5Z IEtJTkQsIEVYUFJFU1MgT1IKPiArICogSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRF RCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksCj4gKyAqIEZJVE5FU1MgRk9S IEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuICBJTiBOTyBFVkVOVCBT SEFMTAo+ICsgKiBUSEUgQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9S IEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUgo+ICsgKiBMSUFCSUxJVFksIFdIRVRIRVIgSU4g QU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORwo+ICsgKiBG Uk9NLCBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNF IE9SIE9USEVSIERFQUxJTkdTCj4gKyAqIElOIFRIRSBTT0ZUV0FSRS4KPiArICoKPiArICovCj4g Kwo+ICsjaW5jbHVkZSAiaTkxNV9kcnYuaCIKPiArI2luY2x1ZGUgPHVhcGkvZHJtL2k5MTVfZHJt Lmg+Cj4gKwo+ICtpbnQgaTkxNV9xdWVyeV9pb2N0bChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCB2 b2lkICpkYXRhLCBzdHJ1Y3QgZHJtX2ZpbGUgKmZpbGUpCj4gK3sKPiArCXN0cnVjdCBkcm1faTkx NV9xdWVyeSAqYXJncyA9IGRhdGE7CgpBbiBhbHRlcm5hdGl2ZSBJIHRoaW5rIGNvdWxkIGJlOgoK c3RydWN0IGRybV9pOTE1X3F1ZXJ5X2l0ZW0gX191c2VyICp1c2VyX2l0ZW1fcHRyID0gCnU2NF90 b191c2VyX3B0cihhcmdzLT5pdGVtc19wdHIpOwoKPiArCXUzMiBpOwo+ICsKPiArCWZvciAoaSA9 IDA7IGkgPCBhcmdzLT5udW1faXRlbXM7IGkrKykgewoKaSsrLCB1c2VyX2l0ZW1fcHRyKysKCj4g KwkJc3RydWN0IGRybV9pOTE1X3F1ZXJ5X2l0ZW0gaXRlbTsKPiArCQl1NjQgaXRlbV91c2VyX3B0 ciA9IGFyZ3MtPml0ZW1zX3B0ciArIHNpemVvZihpdGVtKSAqIGk7ClNvIHlvdSBjYW4gZHJvcCB0 aGlzIGxpbmUuCgo+ICsKPiArCQlpZiAoY29weV9mcm9tX3VzZXIoJml0ZW0sIHU2NF90b191c2Vy X3B0cihpdGVtX3VzZXJfcHRyKSwKPiArCQkJCSAgIHNpemVvZihpdGVtKSkpCj4gKwkJCXJldHVy biAtRUZBVUxUOwoKQW5kIGRyb3AgdTY0X3RvX3VzZXJfcHRyIGZyb20gaGVyZS4uLgoKPiArCj4g KwkJc3dpdGNoIChpdGVtLnF1ZXJ5X2lkKSB7Cj4gKwkJZGVmYXVsdDoKPiArCQkJcmV0dXJuIC1F SU5WQUw7Cj4gKwkJfQo+ICsKPiArCQlpZiAoY29weV90b191c2VyKHU2NF90b191c2VyX3B0cihp dGVtX3VzZXJfcHRyKSwgJml0ZW0sCgouLi4gYW5kIGhlcmUuCgo+ICsJCQkJIHNpemVvZihpdGVt KSkpCj4gKwkJCXJldHVybiAtRUZBVUxUOwo+ICsJfQo+ICsKPiArCXJldHVybiAwOwo+ICt9Cj4g ZGlmZiAtLWdpdCBhL2luY2x1ZGUvdWFwaS9kcm0vaTkxNV9kcm0uaCBiL2luY2x1ZGUvdWFwaS9k cm0vaTkxNV9kcm0uaAo+IGluZGV4IDUzNmVlNGZlYmQ3NC4uODdkZDhiMTU1NDhjIDEwMDY0NAo+ IC0tLSBhL2luY2x1ZGUvdWFwaS9kcm0vaTkxNV9kcm0uaAo+ICsrKyBiL2luY2x1ZGUvdWFwaS9k cm0vaTkxNV9kcm0uaAo+IEBAIC0zMTgsNiArMzE4LDcgQEAgdHlwZWRlZiBzdHJ1Y3QgX2RybV9p OTE1X3NhcmVhIHsKPiAgICNkZWZpbmUgRFJNX0k5MTVfUEVSRl9PUEVOCQkweDM2Cj4gICAjZGVm aW5lIERSTV9JOTE1X1BFUkZfQUREX0NPTkZJRwkweDM3Cj4gICAjZGVmaW5lIERSTV9JOTE1X1BF UkZfUkVNT1ZFX0NPTkZJRwkweDM4Cj4gKyNkZWZpbmUgRFJNX0k5MTVfUVVFUlkJCQkweDM5Cj4g ICAKPiAgICNkZWZpbmUgRFJNX0lPQ1RMX0k5MTVfSU5JVAkJRFJNX0lPVyggRFJNX0NPTU1BTkRf QkFTRSArIERSTV9JOTE1X0lOSVQsIGRybV9pOTE1X2luaXRfdCkKPiAgICNkZWZpbmUgRFJNX0lP Q1RMX0k5MTVfRkxVU0gJCURSTV9JTyAoIERSTV9DT01NQU5EX0JBU0UgKyBEUk1fSTkxNV9GTFVT SCkKPiBAQCAtMzc1LDYgKzM3Niw3IEBAIHR5cGVkZWYgc3RydWN0IF9kcm1faTkxNV9zYXJlYSB7 Cj4gICAjZGVmaW5lIERSTV9JT0NUTF9JOTE1X1BFUkZfT1BFTglEUk1fSU9XKERSTV9DT01NQU5E X0JBU0UgKyBEUk1fSTkxNV9QRVJGX09QRU4sIHN0cnVjdCBkcm1faTkxNV9wZXJmX29wZW5fcGFy YW0pCj4gICAjZGVmaW5lIERSTV9JT0NUTF9JOTE1X1BFUkZfQUREX0NPTkZJRwlEUk1fSU9XKERS TV9DT01NQU5EX0JBU0UgKyBEUk1fSTkxNV9QRVJGX0FERF9DT05GSUcsIHN0cnVjdCBkcm1faTkx NV9wZXJmX29hX2NvbmZpZykKPiAgICNkZWZpbmUgRFJNX0lPQ1RMX0k5MTVfUEVSRl9SRU1PVkVf Q09ORklHCURSTV9JT1coRFJNX0NPTU1BTkRfQkFTRSArIERSTV9JOTE1X1BFUkZfUkVNT1ZFX0NP TkZJRywgX191NjQpCj4gKyNkZWZpbmUgRFJNX0lPQ1RMX0k5MTVfUVVFUlkJCQlEUk1fSU9XKERS TV9DT01NQU5EX0JBU0UgKyBEUk1fSTkxNV9RVUVSWSwgc3RydWN0IGRybV9pOTE1X3F1ZXJ5KQoK RFJNX0lPV1IgSSB0aGluay4KCj4gICAKPiAgIC8qIEFsbG93IGRyaXZlcnMgdG8gc3VibWl0IGJh dGNoYnVmZmVycyBkaXJlY3RseSB0byBoYXJkd2FyZSwgcmVseWluZwo+ICAgICogb24gdGhlIHNl Y3VyaXR5IG1lY2hhbmlzbXMgcHJvdmlkZWQgYnkgaGFyZHdhcmUuCj4gQEAgLTE2MTMsNiArMTYx NSwzNSBAQCBzdHJ1Y3QgZHJtX2k5MTVfcGVyZl9vYV9jb25maWcgewo+ICAgCV9fdTY0IGZsZXhf cmVnc19wdHI7Cj4gICB9Owo+ICAgCj4gKwo+ICtzdHJ1Y3QgZHJtX2k5MTVfcXVlcnlfaXRlbSB7 Cj4gKwlfX3UzMiBxdWVyeV9pZDsKCk1heWJlIG1ha2UgaXQgNjQtYml0LCBqdXN0IGluIGNhc2Ug d2UgZ2V0IGEgbmVlZCB0byByZXNlcnZlIGJsb2NrcyBvZiAKYml0cyBzbyB3ZSBoYXZlIHNvbWUg bW9yZSBzcGFjZSB0aGVuLgoKPiArCj4gKwkvKgo+ICsJICogV2hlbiBsZWZ0IHRvIDAgYnkgdXNl cnNwYWNlLCB0aGlzIGlzIGZpbGxlZCB3aXRoIHRoZSBzaXplIHRoZSBkYXRhCgpzL2xlZnQgdG8g MC9zZXQgdG8gemVyby8/CnMvdGhlIGRhdGEvb2YgdGhlIGRhdGEvCgo+ICsJICogdG8gYmUgd3Jp dHRlbiBhdCB0aGUgcXVlcnlfZGF0YSBwb2ludGVyLgoKcy9xdWVyeV9kYXRhL2RhdGFfcHRyLyA/ IE9yIHJlbmFtZSB0aGUgZmllbGQgdG8gcXVlcnlfZGF0YSAtIEkgZG9uJ3QgCmhhdmUgYSBjYXNl IGZvciBvbmUgdmVyc3VzIHRoZSBvdGhlci4KCj4gKwkgKi8KPiArCV9fdTMyIGxlbmd0aDsKPiAr Cj4gKwkvKgo+ICsJICogRGF0YSB3aWxsIGJlIHdyaXR0ZW4gYXQgdGhlIGxvY2F0aW9uIHBvaW50 ZWQgYnkgZGF0YV9wdHIgd2hlbiB0aGUKPiArCSAqIHZhbHVlIG9mIGxlbmd0aCBtYXRjaGVzIHRo ZSBsZW5ndGggb2YgdGhlIGRhdGEgdG8gYmUgd3JpdHRlbiBieSB0aGUKPiArCSAqIGtlcm5lbC4K PiArCSAqLwo+ICsJX191NjQgZGF0YV9wdHI7ID4gK307Cj4gKwo+ICtzdHJ1Y3QgZHJtX2k5MTVf cXVlcnkgewo+ICsJX191MzIgbnVtX2l0ZW1zOwo+ICsJX191MzIgX3BhZDsKPiArCj4gKwkvKgo+ ICsJICogVGhpcyBwb2ludHMgYW4gYXJyYXkgb2Ygc3RydWN0IGRybV9pOTE1X3F1ZXJ5X2l0ZW0g b2YgbGVuZ3RoCgoiVGhpcyBwb2ludCB0byBhbiBhcnJheSBvZiBudW1faXRlbXMgZHJtX2k5MTVf cXVlcnlfaXRlbSBzdHJ1Y3R1cmVzIiA/Cgo+ICsJICogbnVtX2l0ZW1zLgo+ICsJICovCj4gKwlf X3U2NCBpdGVtc19wdHI7Cj4gK307Cj4gKwo+ICAgI2lmIGRlZmluZWQoX19jcGx1c3BsdXMpCj4g ICB9Cj4gICAjZW5kaWYKPiAKCkJ1dCBpbiBnZW5lcmFsIHRoaXMgd29ya3MgZm9yIG1lLgoKQ2Fu J3QgcmVtZW1iZXIgd2hvIGxhc3QgdGltZSByYWlzZWQgYSBjb21wbGFpbnQgYWJvdXQgZGlzcGF0 Y2hlciwgd2l0aGluIAphIGRpc3BhdGNoZXIsIHdpdGhpbi4uLCBidXQgd2UgY2FuJ3QgaGF2ZSBp dCBhbGwuIEl0J3MgZWl0aGVyIG5lc3RlZCAKZGlzcGF0Y2hlcnMsIG9yIG11bHRpcGxlIHNpbmds ZSBwdXJwb3NlIGlvY3Rscywgb3Igc3lzZnMuIEV4ZWN1dGl2ZSAKZGVjaXNpb24gdGltZS4gOikK CkFnYWluLCB0aGlzIGFwcHJvYWNoIGxvb2tzIHF1aXRlIGVhc3kgdG8gZXh0ZW5kLCBhbmQgd2l0 aCBsb3cgCmJvaWxlcnBsYXRlIGNvZGUgcmVxdWlyZW1lbnRzIHNvIGl0IGxvb2tzIGdvb2QgdG8g bWUuCgpSZWdhcmRzLAoKVHZydGtvCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVk ZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZv L2ludGVsLWdmeAo=