From mboxrd@z Thu Jan 1 00:00:00 1970 From: Daniel Vetter Subject: Re: [PATCH 1/5] drm/i915: Turn __raw_i915_read8() & co. in to inline functions Date: Thu, 22 Oct 2015 15:32:11 +0200 Message-ID: <20151022133210.GY16848@phenom.ffwll.local> References: <1445517300-28173-1-git-send-email-ville.syrjala@linux.intel.com> <1445517300-28173-2-git-send-email-ville.syrjala@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-wi0-f182.google.com (mail-wi0-f182.google.com [209.85.212.182]) by gabe.freedesktop.org (Postfix) with ESMTPS id 131286E099 for ; Thu, 22 Oct 2015 06:32:15 -0700 (PDT) Received: by wicll6 with SMTP id ll6so135602436wic.0 for ; Thu, 22 Oct 2015 06:32:13 -0700 (PDT) Content-Disposition: inline In-Reply-To: <1445517300-28173-2-git-send-email-ville.syrjala@linux.intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: ville.syrjala@linux.intel.com Cc: intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org T24gVGh1LCBPY3QgMjIsIDIwMTUgYXQgMDM6MzQ6NTZQTSArMDMwMCwgdmlsbGUuc3lyamFsYUBs aW51eC5pbnRlbC5jb20gd3JvdGU6Cj4gRnJvbTogVmlsbGUgU3lyasOkbMOkIDx2aWxsZS5zeXJq YWxhQGxpbnV4LmludGVsLmNvbT4KPiAKPiBUaGVyZSdzIG5vIG5lZWQgZm9yIF9fcmF3X2k5MTVf cmVhZDgoKSAmIGNvLiBib3QgYmUgbWFjcm9zLCBzbyBtYWtlIHRoZW0KCnMvYm90L2JlCgo+IGlu bGluZSBmdW5jaXRvbnMuIFRvIGF2b2lkIHR5cG8gbWlzdGFrZXMgZ2VuZXJhdGUgdGhlIGlubGlu ZSBmdW5jdGlvbnMKCnMvZnVuY2l0b25zL2Z1bmN0aW9ucy8KCj4gdXNpbmcgcHJlcHJvY2Vzc29y IHRlbXBsYXRlcy4KPiAKPiBXZSBoYXZlIGEgZmV3IHVzZXJzIG9mIHRoZSByYXcgcmVnaXN0ZXIg YWNjZXMgZnVuY3Rpb25zIG91dHNpZGUKPiBpbnRlbF91bmNvcmUuYywgc28gbGV0J3MgYWxzbyBt b3ZlIHRoZSBmdW5jdGlvbnMgaW50byBpbnRlbF9kcnYuaC4KPiAKPiBXaGlsZSBkb2luZyB0aGF0 IHN3aXRjaCBJOTE1X1JFQURfRlcoKSAmIGNvLiB0byB1c2UgdGhlCj4gX19yYXdfaTkxNV9yZWFk KCkgZnVuY3Rpb25zLCBhbmQgdXNlIHRoZSBfRlcgbWFjcm9zIGV2ZXJ5d2hlcmUKPiBvdXRzaWRl IGludGVsX3VuY29yZS5jIHdoZXJlIHdlIHdhbnQgdG8gcmVhZCByZWdpc3RlcnMgd2l0aG91dAo+ IGdyYWJiaW5nIGZvcmNld2FrZSBhbmQgd2hhdG5vdC4gVGhlIG9ubHkgZXhjZXB0aW9uIGlzCj4g aTkxNV9jaGVja192Z3B1KCkgd2hpY2ggaXRzZWxmIGdldHMgY2FsbGVkIGZyb20gaW50ZWxfdW5j b3JlLmMsCj4gc28gdXNpbmcgdGhlIF9fcmF3X2k5MTVfcmVhZCBzdHVmZiB0aGVyZSBzZWVtcyBh cHByb3ByaWF0ZS4KPiAKPiB2MjogU3F1YXNoIGluIHRoZSBpbnRlbF91bmNvcmUuYy0+aTkxNV9k cnYuaCBtb3ZlCj4gICAgIENvbnZlcnQgSTkxNV9SRUFEX0ZXKCkgdG8gdXNlIF9fcmF3X2k5MTVf cmVhZCgpLCBhbmQgdXNlCj4gICAgIEk5MTVfUkVBRF9GVygpIG91dHNpZGUgb2YgaW50ZWxfdW5j b3JlLmMgKENocmlzKQo+IAo+IFNpZ25lZC1vZmYtYnk6IFZpbGxlIFN5cmrDpGzDpCA8dmlsbGUu c3lyamFsYUBsaW51eC5pbnRlbC5jb20+CgpSZXZpZXdlZC1ieTogRGFuaWVsIFZldHRlciA8ZGFu aWVsLnZldHRlckBmZndsbC5jaD4KCj4gLS0tCj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVf ZGVidWdmcy5jIHwgIDIgKy0KPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaCAgICAg fCAzMCArKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0KPiAgZHJpdmVycy9ncHUvZHJtL2k5 MTUvaTkxNV9pcnEuYyAgICAgfCAxMCArKysrLS0tLS0tCj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1 L2k5MTVfdmdwdS5jICAgIHwgIDYgKysrLS0tCj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X3VuY29yZS5jIHwgMTQgKy0tLS0tLS0tLS0tLS0KPiAgNSBmaWxlcyBjaGFuZ2VkLCAzNyBpbnNl cnRpb25zKCspLCAyNSBkZWxldGlvbnMoLSkKPiAKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaTkxNV9kZWJ1Z2ZzLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2RlYnVn ZnMuYwo+IGluZGV4IGVjYTk0ZDAuLjg5YmE1NDkgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaTkxNV9kZWJ1Z2ZzLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1 X2RlYnVnZnMuYwo+IEBAIC0xNTIzLDcgKzE1MjMsNyBAQCBzdGF0aWMgaW50IGdlbjZfZHJwY19p bmZvKHN0cnVjdCBzZXFfZmlsZSAqbSkKPiAgCQlzZXFfcHJpbnRmKG0sICJSQyBpbmZvcm1hdGlv biBhY2N1cmF0ZTogJXNcbiIsIHllc25vKGNvdW50IDwgNTEpKTsKPiAgCX0KPiAgCj4gLQlndF9j b3JlX3N0YXR1cyA9IHJlYWRsKGRldl9wcml2LT5yZWdzICsgR0VONl9HVF9DT1JFX1NUQVRVUyk7 Cj4gKwlndF9jb3JlX3N0YXR1cyA9IEk5MTVfUkVBRF9GVyhHRU42X0dUX0NPUkVfU1RBVFVTKTsK PiAgCXRyYWNlX2k5MTVfcmVnX3J3KGZhbHNlLCBHRU42X0dUX0NPUkVfU1RBVFVTLCBndF9jb3Jl X3N0YXR1cywgNCwgdHJ1ZSk7Cj4gIAo+ICAJcnBtb2RlY3RsMSA9IEk5MTVfUkVBRChHRU42X1JQ X0NPTlRST0wpOwo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5o IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaAo+IGluZGV4IDlhMTVlYmUuLjAxZmRj NzAgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaAo+ICsrKyBi L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKPiBAQCAtMzQ1Miw2ICszNDUyLDMyIEBA IGludCBpbnRlbF9mcmVxX29wY29kZShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYs IGludCB2YWwpOwo+ICAjZGVmaW5lIFBPU1RJTkdfUkVBRChyZWcpCSh2b2lkKUk5MTVfUkVBRF9O T1RSQUNFKHJlZykKPiAgI2RlZmluZSBQT1NUSU5HX1JFQUQxNihyZWcpCSh2b2lkKUk5MTVfUkVB RDE2X05PVFJBQ0UocmVnKQo+ICAKPiArI2RlZmluZSBfX3Jhd19yZWFkKHgsIHMpIFwKPiArc3Rh dGljIGlubGluZSB1aW50IyN4IyNfdCBfX3Jhd19pOTE1X3JlYWQjI3goc3RydWN0IGRybV9pOTE1 X3ByaXZhdGUgKmRldl9wcml2LCBcCj4gKwkJCQkJICAgICB1aW50MzJfdCByZWcpIFwKPiAreyBc Cj4gKwlyZXR1cm4gcmVhZCMjcyhkZXZfcHJpdi0+cmVncyArIHJlZyk7IFwKPiArfQo+ICsKPiAr I2RlZmluZSBfX3Jhd193cml0ZSh4LCBzKSBcCj4gK3N0YXRpYyBpbmxpbmUgdm9pZCBfX3Jhd19p OTE1X3dyaXRlIyN4KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwgXAo+ICsJCQkJ ICAgICAgIHVpbnQzMl90IHJlZywgdWludCMjeCMjX3QgdmFsKSBcCj4gK3sgXAo+ICsJd3JpdGUj I3ModmFsLCBkZXZfcHJpdi0+cmVncyArIHJlZyk7IFwKPiArfQo+ICtfX3Jhd19yZWFkKDgsIGIp Cj4gK19fcmF3X3JlYWQoMTYsIHcpCj4gK19fcmF3X3JlYWQoMzIsIGwpCj4gK19fcmF3X3JlYWQo NjQsIHEpCj4gKwo+ICtfX3Jhd193cml0ZSg4LCBiKQo+ICtfX3Jhd193cml0ZSgxNiwgdykKPiAr X19yYXdfd3JpdGUoMzIsIGwpCj4gK19fcmF3X3dyaXRlKDY0LCBxKQo+ICsKPiArI3VuZGVmIF9f cmF3X3JlYWQKPiArI3VuZGVmIF9fcmF3X3dyaXRlCj4gKwo+ICAvKiBUaGVzZSBhcmUgdW50cmFj ZWQgbW1pby1hY2Nlc3NvcnMgdGhhdCBhcmUgb25seSB2YWxpZCB0byBiZSB1c2VkIGluc2lkZQo+ ICAgKiBjcml0aWNpYWwgc2VjdGlvbnMgaW5zaWRlIElSUSBoYW5kbGVycyB3aGVyZSBmb3JjZXdh a2UgaXMgZXhwbGljaXRseQo+ICAgKiBjb250cm9sbGVkLgo+IEBAIC0zNDU5LDggKzM0ODUsOCBA QCBpbnQgaW50ZWxfZnJlcV9vcGNvZGUoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2 LCBpbnQgdmFsKTsKPiAgICogTm90ZTogU2hvdWxkIG9ubHkgYmUgdXNlZCBiZXR3ZWVuIGludGVs X3VuY29yZV9mb3JjZXdha2VfaXJxbG9jaygpIGFuZAo+ICAgKiBpbnRlbF91bmNvcmVfZm9yY2V3 YWtlX2lycXVubG9jaygpLgo+ICAgKi8KPiAtI2RlZmluZSBJOTE1X1JFQURfRlcocmVnX18pIHJl YWRsKGRldl9wcml2LT5yZWdzICsgKHJlZ19fKSkKPiAtI2RlZmluZSBJOTE1X1dSSVRFX0ZXKHJl Z19fLCB2YWxfXykgd3JpdGVsKHZhbF9fLCBkZXZfcHJpdi0+cmVncyArIChyZWdfXykpCj4gKyNk ZWZpbmUgSTkxNV9SRUFEX0ZXKHJlZ19fKSBfX3Jhd19pOTE1X3JlYWQzMihkZXZfcHJpdiwgKHJl Z19fKSkKPiArI2RlZmluZSBJOTE1X1dSSVRFX0ZXKHJlZ19fLCB2YWxfXykgX19yYXdfaTkxNV93 cml0ZTMyKGRldl9wcml2LCAocmVnX18pLCAodmFsX18pKQo+ICAjZGVmaW5lIFBPU1RJTkdfUkVB RF9GVyhyZWdfXykgKHZvaWQpSTkxNV9SRUFEX0ZXKHJlZ19fKQo+ICAKPiAgLyogIkJyb2FkY2Fz dCBSR0IiIHByb3BlcnR5ICovCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5 MTVfaXJxLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2lycS5jCj4gaW5kZXggOWNhZjIy Yy4uYTBlZDU4ZCAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2lycS5j Cj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9pcnEuYwo+IEBAIC03MTcsOSArNzE3 LDcgQEAgc3RhdGljIHUzMiBnNHhfZ2V0X3ZibGFua19jb3VudGVyKHN0cnVjdCBkcm1fZGV2aWNl ICpkZXYsIHVuc2lnbmVkIGludCBwaXBlKQo+ICAJcmV0dXJuIEk5MTVfUkVBRChQSVBFX0ZSTUNP VU5UX0c0WChwaXBlKSk7Cj4gIH0KPiAgCj4gLS8qIHJhdyByZWFkcywgb25seSBmb3IgZmFzdCBy ZWFkcyBvZiBkaXNwbGF5IGJsb2NrLCBubyBuZWVkIGZvciBmb3JjZXdha2UgZXRjLiAqLwo+IC0j ZGVmaW5lIF9fcmF3X2k5MTVfcmVhZDMyKGRldl9wcml2X18sIHJlZ19fKSByZWFkbCgoZGV2X3By aXZfXyktPnJlZ3MgKyAocmVnX18pKQo+IC0KPiArLyogSTkxNV9SRUFEX0ZXLCBvbmx5IGZvciBm YXN0IHJlYWRzIG9mIGRpc3BsYXkgYmxvY2ssIG5vIG5lZWQgZm9yIGZvcmNld2FrZSBldGMuICov Cj4gIHN0YXRpYyBpbnQgX19pbnRlbF9nZXRfY3J0Y19zY2FubGluZShzdHJ1Y3QgaW50ZWxfY3J0 YyAqY3J0YykKPiAgewo+ICAJc3RydWN0IGRybV9kZXZpY2UgKmRldiA9IGNydGMtPmJhc2UuZGV2 Owo+IEBAIC03MzMsOSArNzMxLDkgQEAgc3RhdGljIGludCBfX2ludGVsX2dldF9jcnRjX3NjYW5s aW5lKHN0cnVjdCBpbnRlbF9jcnRjICpjcnRjKQo+ICAJCXZ0b3RhbCAvPSAyOwo+ICAKPiAgCWlm IChJU19HRU4yKGRldikpCj4gLQkJcG9zaXRpb24gPSBfX3Jhd19pOTE1X3JlYWQzMihkZXZfcHJp diwgUElQRURTTChwaXBlKSkgJiBEU0xfTElORU1BU0tfR0VOMjsKPiArCQlwb3NpdGlvbiA9IEk5 MTVfUkVBRF9GVyhQSVBFRFNMKHBpcGUpKSAmIERTTF9MSU5FTUFTS19HRU4yOwo+ICAJZWxzZQo+ IC0JCXBvc2l0aW9uID0gX19yYXdfaTkxNV9yZWFkMzIoZGV2X3ByaXYsIFBJUEVEU0wocGlwZSkp ICYgRFNMX0xJTkVNQVNLX0dFTjM7Cj4gKwkJcG9zaXRpb24gPSBJOTE1X1JFQURfRlcoUElQRURT TChwaXBlKSkgJiBEU0xfTElORU1BU0tfR0VOMzsKPiAgCj4gIAkvKgo+ICAJICogT24gSFNXLCB0 aGUgRFNMIHJlZyAoMHg3MDAwMCkgYXBwZWFycyB0byByZXR1cm4gMCBpZiB3ZQo+IEBAIC04Mjcs NyArODI1LDcgQEAgc3RhdGljIGludCBpOTE1X2dldF9jcnRjX3NjYW5vdXRwb3Moc3RydWN0IGRy bV9kZXZpY2UgKmRldiwgdW5zaWduZWQgaW50IHBpcGUsCj4gIAkJICogV2UgY2FuIHNwbGl0IHRo aXMgaW50byB2ZXJ0aWNhbCBhbmQgaG9yaXpvbnRhbAo+ICAJCSAqIHNjYW5vdXQgcG9zaXRpb24u Cj4gIAkJICovCj4gLQkJcG9zaXRpb24gPSAoX19yYXdfaTkxNV9yZWFkMzIoZGV2X3ByaXYsIFBJ UEVGUkFNRVBJWEVMKHBpcGUpKSAmIFBJUEVfUElYRUxfTUFTSykgPj4gUElQRV9QSVhFTF9TSElG VDsKPiArCQlwb3NpdGlvbiA9IChJOTE1X1JFQURfRlcoUElQRUZSQU1FUElYRUwocGlwZSkpICYg UElQRV9QSVhFTF9NQVNLKSA+PiBQSVBFX1BJWEVMX1NISUZUOwo+ICAKPiAgCQkvKiBjb252ZXJ0 IHRvIHBpeGVsIGNvdW50cyAqLwo+ICAJCXZibF9zdGFydCAqPSBodG90YWw7Cj4gZGlmZiAtLWdp dCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfdmdwdS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaTkxNV92Z3B1LmMKPiBpbmRleCA1ZWVlNzViLi5kZWE3NDI5IDEwMDY0NAo+IC0tLSBhL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfdmdwdS5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaTkxNV92Z3B1LmMKPiBAQCAtNjksMTMgKzY5LDEzIEBAIHZvaWQgaTkxNV9jaGVja192Z3B1 KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCj4gIAlpZiAoIUlTX0hBU1dFTEwoZGV2KSkKPiAgCQly ZXR1cm47Cj4gIAo+IC0JbWFnaWMgPSByZWFkcShkZXZfcHJpdi0+cmVncyArIHZndGlmX3JlZyht YWdpYykpOwo+ICsJbWFnaWMgPSBfX3Jhd19pOTE1X3JlYWQ2NChkZXZfcHJpdiwgdmd0aWZfcmVn KG1hZ2ljKSk7Cj4gIAlpZiAobWFnaWMgIT0gVkdUX01BR0lDKQo+ICAJCXJldHVybjsKPiAgCj4g IAl2ZXJzaW9uID0gSU5URUxfVkdUX0lGX1ZFUlNJT05fRU5DT0RFKAo+IC0JCXJlYWR3KGRldl9w cml2LT5yZWdzICsgdmd0aWZfcmVnKHZlcnNpb25fbWFqb3IpKSwKPiAtCQlyZWFkdyhkZXZfcHJp di0+cmVncyArIHZndGlmX3JlZyh2ZXJzaW9uX21pbm9yKSkpOwo+ICsJCV9fcmF3X2k5MTVfcmVh ZDE2KGRldl9wcml2LCB2Z3RpZl9yZWcodmVyc2lvbl9tYWpvcikpLAo+ICsJCV9fcmF3X2k5MTVf cmVhZDE2KGRldl9wcml2LCB2Z3RpZl9yZWcodmVyc2lvbl9taW5vcikpKTsKPiAgCWlmICh2ZXJz aW9uICE9IElOVEVMX1ZHVF9JRl9WRVJTSU9OKSB7Cj4gIAkJRFJNX0lORk8oIlZHVCBpbnRlcmZh Y2UgdmVyc2lvbiBtaXNtYXRjaCFcbiIpOwo+ICAJCXJldHVybjsKPiBkaWZmIC0tZ2l0IGEvZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfdW5jb3JlLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p bnRlbF91bmNvcmUuYwo+IGluZGV4IDE2NjNlYTUuLjhkZmVhYzkgMTAwNjQ0Cj4gLS0tIGEvZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfdW5jb3JlLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pbnRlbF91bmNvcmUuYwo+IEBAIC0yOSwxOSArMjksNyBAQAo+ICAKPiAgI2RlZmluZSBG T1JDRVdBS0VfQUNLX1RJTUVPVVRfTVMgNTAKPiAgCj4gLSNkZWZpbmUgX19yYXdfaTkxNV9yZWFk OChkZXZfcHJpdl9fLCByZWdfXykgcmVhZGIoKGRldl9wcml2X18pLT5yZWdzICsgKHJlZ19fKSkK PiAtI2RlZmluZSBfX3Jhd19pOTE1X3dyaXRlOChkZXZfcHJpdl9fLCByZWdfXywgdmFsX18pIHdy aXRlYih2YWxfXywgKGRldl9wcml2X18pLT5yZWdzICsgKHJlZ19fKSkKPiAtCj4gLSNkZWZpbmUg X19yYXdfaTkxNV9yZWFkMTYoZGV2X3ByaXZfXywgcmVnX18pIHJlYWR3KChkZXZfcHJpdl9fKS0+ cmVncyArIChyZWdfXykpCj4gLSNkZWZpbmUgX19yYXdfaTkxNV93cml0ZTE2KGRldl9wcml2X18s IHJlZ19fLCB2YWxfXykgd3JpdGV3KHZhbF9fLCAoZGV2X3ByaXZfXyktPnJlZ3MgKyAocmVnX18p KQo+IC0KPiAtI2RlZmluZSBfX3Jhd19pOTE1X3JlYWQzMihkZXZfcHJpdl9fLCByZWdfXykgcmVh ZGwoKGRldl9wcml2X18pLT5yZWdzICsgKHJlZ19fKSkKPiAtI2RlZmluZSBfX3Jhd19pOTE1X3dy aXRlMzIoZGV2X3ByaXZfXywgcmVnX18sIHZhbF9fKSB3cml0ZWwodmFsX18sIChkZXZfcHJpdl9f KS0+cmVncyArIChyZWdfXykpCj4gLQo+IC0jZGVmaW5lIF9fcmF3X2k5MTVfcmVhZDY0KGRldl9w cml2X18sIHJlZ19fKSByZWFkcSgoZGV2X3ByaXZfXyktPnJlZ3MgKyAocmVnX18pKQo+IC0jZGVm aW5lIF9fcmF3X2k5MTVfd3JpdGU2NChkZXZfcHJpdl9fLCByZWdfXywgdmFsX18pIHdyaXRlcSh2 YWxfXywgKGRldl9wcml2X18pLT5yZWdzICsgKHJlZ19fKSkKPiAtCj4gLSNkZWZpbmUgX19yYXdf cG9zdGluZ19yZWFkKGRldl9wcml2X18sIHJlZ19fKSAodm9pZClfX3Jhd19pOTE1X3JlYWQzMihk ZXZfcHJpdl9fLCByZWdfXykKPiArI2RlZmluZSBfX3Jhd19wb3N0aW5nX3JlYWQoZGV2X3ByaXZf XywgcmVnX18pICh2b2lkKV9fcmF3X2k5MTVfcmVhZDMyKChkZXZfcHJpdl9fKSwgKHJlZ19fKSkK PiAgCj4gIHN0YXRpYyBjb25zdCBjaGFyICogY29uc3QgZm9yY2V3YWtlX2RvbWFpbl9uYW1lc1td ID0gewo+ICAJInJlbmRlciIsCj4gLS0gCj4gMi40LjkKPiAKPiBfX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fXwo+IEludGVsLWdmeCBtYWlsaW5nIGxpc3QKPiBJ bnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCj4gaHR0cDovL2xpc3RzLmZyZWVkZXNrdG9w Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAoKLS0gCkRhbmllbCBWZXR0ZXIKU29mdHdh cmUgRW5naW5lZXIsIEludGVsIENvcnBvcmF0aW9uCmh0dHA6Ly9ibG9nLmZmd2xsLmNoCl9fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWls aW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwOi8vbGlzdHMuZnJl ZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==