From mboxrd@z Thu Jan 1 00:00:00 1970 From: Lucas Stach Subject: Re: [PATCH RFC 003/111] staging: etnaviv: add drm driver Date: Tue, 07 Apr 2015 12:27:31 +0200 Message-ID: <1428402451.2811.65.camel@pengutronix.de> References: <1427988653-754-1-git-send-email-l.stach@pengutronix.de> <1427988653-754-4-git-send-email-l.stach@pengutronix.de> <1428392117.2811.12.camel@pengutronix.de> <1428398410.2811.46.camel@pengutronix.de> <1428400029.2811.51.camel@pengutronix.de> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from metis.ext.pengutronix.de (metis.ext.pengutronix.de [92.198.50.35]) by gabe.freedesktop.org (Postfix) with ESMTP id DE9656E2CB for ; Tue, 7 Apr 2015 03:27:37 -0700 (PDT) In-Reply-To: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Christian Gmeiner Cc: Russell King , Sascha Hauer , DRI mailing list List-Id: dri-devel@lists.freedesktop.org QW0gRGllbnN0YWcsIGRlbiAwNy4wNC4yMDE1LCAxMTo1OCArMDIwMCBzY2hyaWViIENocmlzdGlh biBHbWVpbmVyOgo+IEhpIEx1Y2FzLgo+IAo+IDIwMTUtMDQtMDcgMTE6NDcgR01UKzAyOjAwIEx1 Y2FzIFN0YWNoIDxsLnN0YWNoQHBlbmd1dHJvbml4LmRlPjoKPiA+IEFtIERpZW5zdGFnLCBkZW4g MDcuMDQuMjAxNSwgMTE6NDAgKzAyMDAgc2NocmllYiBDaHJpc3RpYW4gR21laW5lcjoKPiA+PiAy MDE1LTA0LTA3IDExOjIwIEdNVCswMjowMCBMdWNhcyBTdGFjaCA8bC5zdGFjaEBwZW5ndXRyb25p eC5kZT46Cj4gPj4gPiBBbSBEaWVuc3RhZywgZGVuIDA3LjA0LjIwMTUsIDExOjA0ICswMjAwIHNj aHJpZWIgQ2hyaXN0aWFuIEdtZWluZXI6Cj4gPj4gPj4gSGkgTHVjYXMKPiA+PiA+Pgo+ID4+ID4+ IDIwMTUtMDQtMDcgOTozNSBHTVQrMDI6MDAgTHVjYXMgU3RhY2ggPGwuc3RhY2hAcGVuZ3V0cm9u aXguZGU+Ogo+ID4+ID4+ID4gQW0gU29ubnRhZywgZGVuIDA1LjA0LjIwMTUsIDIxOjI2ICswMjAw IHNjaHJpZWIgQ2hyaXN0aWFuIEdtZWluZXI6Cj4gPj4gPj4gPj4gMjAxNS0wNC0wMiAxNzoyOSBH TVQrMDI6MDAgTHVjYXMgU3RhY2ggPGwuc3RhY2hAcGVuZ3V0cm9uaXguZGU+Ogo+ID4+ID4+ID4+ ID4gRnJvbTogQ2hyaXN0aWFuIEdtZWluZXIgPGNocmlzdGlhbi5nbWVpbmVyQGdtYWlsLmNvbT4K PiA+PiA+PiA+PiA+Cj4gPj4gPj4gPj4gPiBUaGlzIGlzIGEgY29uc29saWRhdGlvbiBieSBSdXNz ZWxsIEtpbmcgb2YgQ2hyaXN0aWFuJ3MgZHJtIHdvcmsuCj4gPj4gPj4gPj4gPgo+ID4+ID4+ID4+ ID4gU2lnbmVkLW9mZi1ieTogQ2hyaXN0aWFuIEdtZWluZXIgPGNocmlzdGlhbi5nbWVpbmVyQGdt YWlsLmNvbT4KPiA+PiA+PiA+PiA+IFNpZ25lZC1vZmYtYnk6IFJ1c3NlbGwgS2luZyA8cm1rK2tl cm5lbEBhcm0ubGludXgub3JnLnVrPgo+ID4+ID4+ID4KPiA+PiA+PiA+PiA+IC0tLQo+ID4+ID4+ ID4gWy4uLl0KPiA+PiA+PiA+Cj4gPj4gPj4gPj4gPiArI2VuZGlmIC8qIFNUQVRFX0hJX1hNTCAq Lwo+ID4+ID4+ID4+ID4gZGlmZiAtLWdpdCBhL2luY2x1ZGUvdWFwaS9kcm0vZXRuYXZpdl9kcm0u aCBiL2luY2x1ZGUvdWFwaS9kcm0vZXRuYXZpdl9kcm0uaAo+ID4+ID4+ID4+ID4gbmV3IGZpbGUg bW9kZSAxMDA2NDQKPiA+PiA+PiA+PiA+IGluZGV4IDAwMDAwMDAwMDAwMC4uZjdiNWFjNmYzODQy Cj4gPj4gPj4gPj4gPiAtLS0gL2Rldi9udWxsCj4gPj4gPj4gPj4gPiArKysgYi9pbmNsdWRlL3Vh cGkvZHJtL2V0bmF2aXZfZHJtLmgKPiA+PiA+PiA+PiA+IEBAIC0wLDAgKzEsMjI1IEBACj4gPj4g Pj4gPj4gPiArLyoKPiA+PiA+PiA+PiA+ICsgKiBDb3B5cmlnaHQgKEMpIDIwMTMgUmVkIEhhdAo+ ID4+ID4+ID4+ID4gKyAqIEF1dGhvcjogUm9iIENsYXJrIDxyb2JkY2xhcmtAZ21haWwuY29tPgo+ ID4+ID4+ID4+ID4gKyAqCj4gPj4gPj4gPj4gPiArICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29m dHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkgaXQKPiA+PiA+PiA+ PiA+ICsgKiB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNl IHZlcnNpb24gMiBhcyBwdWJsaXNoZWQgYnkKPiA+PiA+PiA+PiA+ICsgKiB0aGUgRnJlZSBTb2Z0 d2FyZSBGb3VuZGF0aW9uLgo+ID4+ID4+ID4+ID4gKyAqCj4gPj4gPj4gPj4gPiArICogVGhpcyBw cm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWws IGJ1dCBXSVRIT1VUCj4gPj4gPj4gPj4gPiArICogQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4g dGhlIGltcGxpZWQgd2FycmFudHkgb2YgTUVSQ0hBTlRBQklMSVRZIG9yCj4gPj4gPj4gPj4gPiAr ICogRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVSBHZW5lcmFs IFB1YmxpYyBMaWNlbnNlIGZvcgo+ID4+ID4+ID4+ID4gKyAqIG1vcmUgZGV0YWlscy4KPiA+PiA+ PiA+PiA+ICsgKgo+ID4+ID4+ID4+ID4gKyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNv cHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFsb25nIHdpdGgKPiA+PiA+PiA+ PiA+ICsgKiB0aGlzIHByb2dyYW0uICBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xp Y2Vuc2VzLz4uCj4gPj4gPj4gPj4gPiArICovCj4gPj4gPj4gPj4gPiArCj4gPj4gPj4gPj4gPiAr I2lmbmRlZiBfX0VUTkFWSVZfRFJNX0hfXwo+ID4+ID4+ID4+ID4gKyNkZWZpbmUgX19FVE5BVklW X0RSTV9IX18KPiA+PiA+PiA+PiA+ICsKPiA+PiA+PiA+PiA+ICsjaW5jbHVkZSA8c3RkZGVmLmg+ Cj4gPj4gPj4gPj4gPiArI2luY2x1ZGUgPGRybS9kcm0uaD4KPiA+PiA+PiA+PiA+ICsKPiA+PiA+ PiA+PiA+ICsvKiBQbGVhc2Ugbm90ZSB0aGF0IG1vZGlmaWNhdGlvbnMgdG8gYWxsIHN0cnVjdHMg ZGVmaW5lZCBoZXJlIGFyZQo+ID4+ID4+ID4+ID4gKyAqIHN1YmplY3QgdG8gYmFja3dhcmRzLWNv bXBhdGliaWxpdHkgY29uc3RyYWludHM6Cj4gPj4gPj4gPj4gPiArICogIDEpIERvIG5vdCB1c2Ug cG9pbnRlcnMsIHVzZSB1aW50NjRfdCBpbnN0ZWFkIGZvciAzMiBiaXQgLyA2NCBiaXQKPiA+PiA+ PiA+PiA+ICsgKiAgICAgdXNlci9rZXJuZWwgY29tcGF0aWJpbGl0eQo+ID4+ID4+ID4+ID4gKyAq ICAyKSBLZWVwIGZpZWxkcyBhbGlnbmVkIHRvIHRoZWlyIHNpemUKPiA+PiA+PiA+PiA+ICsgKiAg MykgQmVjYXVzZSBvZiBob3cgZHJtX2lvY3RsKCkgd29ya3MsIHdlIGNhbiBhZGQgbmV3IGZpZWxk cyBhdAo+ID4+ID4+ID4+ID4gKyAqICAgICB0aGUgZW5kIG9mIGFuIGlvY3RsIGlmIHNvbWUgY2Fy ZSBpcyB0YWtlbjogZHJtX2lvY3RsKCkgd2lsbAo+ID4+ID4+ID4+ID4gKyAqICAgICB6ZXJvIG91 dCB0aGUgbmV3IGZpZWxkcyBhdCB0aGUgdGFpbCBvZiB0aGUgaW9jdGwsIHNvIGEgemVybwo+ID4+ ID4+ID4+ID4gKyAqICAgICB2YWx1ZSBzaG91bGQgaGF2ZSBhIGJhY2t3YXJkcyBjb21wYXRpYmxl IG1lYW5pbmcuICBBbmQgZm9yCj4gPj4gPj4gPj4gPiArICogICAgIG91dHB1dCBwYXJhbXMsIHVz ZXJzcGFjZSB3b24ndCBzZWUgdGhlIG5ld2x5IGFkZGVkIG91dHB1dAo+ID4+ID4+ID4+ID4gKyAq ICAgICBmaWVsZHMuLiBzbyB0aGF0IGhhcyB0byBiZSBzb21laG93IG9rLgo+ID4+ID4+ID4+ID4g KyAqLwo+ID4+ID4+ID4+ID4gKwo+ID4+ID4+ID4+ID4gKyNkZWZpbmUgRVROQV9QSVBFXzNEICAg ICAgMHgwMAo+ID4+ID4+ID4+ID4gKyNkZWZpbmUgRVROQV9QSVBFXzJEICAgICAgMHgwMQo+ID4+ ID4+ID4+ID4gKyNkZWZpbmUgRVROQV9QSVBFX1ZHICAgICAgMHgwMgo+ID4+ID4+ID4+ID4gKwo+ ID4+ID4+ID4+ID4gKyNkZWZpbmUgRVROQV9NQVhfUElQRVMgICAgMwo+ID4+ID4+ID4+ID4gKwo+ ID4+ID4+ID4+ID4gKy8qIHRpbWVvdXRzIGFyZSBzcGVjaWZpZWQgaW4gY2xvY2stbW9ub3Rvbmlj IGFic29sdXRlIHRpbWVzICh0byBzaW1wbGlmeQo+ID4+ID4+ID4+ID4gKyAqIHJlc3RhcnRpbmcg aW50ZXJydXB0ZWQgaW9jdGxzKS4gIFRoZSBmb2xsb3dpbmcgc3RydWN0IGlzIGxvZ2ljYWxseSB0 aGUKPiA+PiA+PiA+PiA+ICsgKiBzYW1lIGFzICdzdHJ1Y3QgdGltZXNwZWMnIGJ1dCAzMi82NGIg QUJJIHNhZmUuCj4gPj4gPj4gPj4gPiArICovCj4gPj4gPj4gPj4gPiArc3RydWN0IGRybV9ldG5h dml2X3RpbWVzcGVjIHsKPiA+PiA+PiA+PiA+ICsgICAgICAgaW50NjRfdCB0dl9zZWM7ICAgICAg ICAgIC8qIHNlY29uZHMgKi8KPiA+PiA+PiA+PiA+ICsgICAgICAgaW50NjRfdCB0dl9uc2VjOyAg ICAgICAgIC8qIG5hbm9zZWNvbmRzICovCj4gPj4gPj4gPj4gPiArfTsKPiA+PiA+PiA+PiA+ICsK PiA+PiA+PiA+PiA+ICsjZGVmaW5lIEVUTkFWSVZfUEFSQU1fR1BVX01PREVMICAgICAgICAgICAg ICAgICAgICAgMHgwMQo+ID4+ID4+ID4+ID4gKyNkZWZpbmUgRVROQVZJVl9QQVJBTV9HUFVfUkVW SVNJT04gICAgICAgICAgICAgICAgICAweDAyCj4gPj4gPj4gPj4gPiArI2RlZmluZSBFVE5BVklW X1BBUkFNX0dQVV9GRUFUVVJFU18wICAgICAgICAgICAgICAgIDB4MDMKPiA+PiA+PiA+PiA+ICsj ZGVmaW5lIEVUTkFWSVZfUEFSQU1fR1BVX0ZFQVRVUkVTXzEgICAgICAgICAgICAgICAgMHgwNAo+ ID4+ID4+ID4+ID4gKyNkZWZpbmUgRVROQVZJVl9QQVJBTV9HUFVfRkVBVFVSRVNfMiAgICAgICAg ICAgICAgICAweDA1Cj4gPj4gPj4gPj4gPiArI2RlZmluZSBFVE5BVklWX1BBUkFNX0dQVV9GRUFU VVJFU18zICAgICAgICAgICAgICAgIDB4MDYKPiA+PiA+PiA+PiA+ICsjZGVmaW5lIEVUTkFWSVZf UEFSQU1fR1BVX0ZFQVRVUkVTXzQgICAgICAgICAgICAgICAgMHgwNwo+ID4+ID4+ID4+ID4gKwo+ ID4+ID4+ID4+ID4gKyNkZWZpbmUgRVROQVZJVl9QQVJBTV9HUFVfU1RSRUFNX0NPVU5UICAgICAg ICAgICAgICAweDEwCj4gPj4gPj4gPj4gPiArI2RlZmluZSBFVE5BVklWX1BBUkFNX0dQVV9SRUdJ U1RFUl9NQVggICAgICAgICAgICAgIDB4MTEKPiA+PiA+PiA+PiA+ICsjZGVmaW5lIEVUTkFWSVZf UEFSQU1fR1BVX1RIUkVBRF9DT1VOVCAgICAgICAgICAgICAgMHgxMgo+ID4+ID4+ID4+ID4gKyNk ZWZpbmUgRVROQVZJVl9QQVJBTV9HUFVfVkVSVEVYX0NBQ0hFX1NJWkUgICAgICAgICAweDEzCj4g Pj4gPj4gPj4gPiArI2RlZmluZSBFVE5BVklWX1BBUkFNX0dQVV9TSEFERVJfQ09SRV9DT1VOVCAg ICAgICAgIDB4MTQKPiA+PiA+PiA+PiA+ICsjZGVmaW5lIEVUTkFWSVZfUEFSQU1fR1BVX1BJWEVM X1BJUEVTICAgICAgICAgICAgICAgMHgxNQo+ID4+ID4+ID4+ID4gKyNkZWZpbmUgRVROQVZJVl9Q QVJBTV9HUFVfVkVSVEVYX09VVFBVVF9CVUZGRVJfU0laRSAweDE2Cj4gPj4gPj4gPj4gPiArI2Rl ZmluZSBFVE5BVklWX1BBUkFNX0dQVV9CVUZGRVJfU0laRSAgICAgICAgICAgICAgIDB4MTcKPiA+ PiA+PiA+PiA+ICsjZGVmaW5lIEVUTkFWSVZfUEFSQU1fR1BVX0lOU1RSVUNUSU9OX0NPVU5UICAg ICAgICAgMHgxOAo+ID4+ID4+ID4+ID4gKyNkZWZpbmUgRVROQVZJVl9QQVJBTV9HUFVfTlVNX0NP TlNUQU5UUyAgICAgICAgICAgICAweDE5Cj4gPj4gPj4gPj4gPiArCj4gPj4gPj4gPj4gPiArLy8j ZGVmaW5lIE1TTV9QQVJBTV9HTUVNX1NJWkUgIDB4MDIKPiA+PiA+PiA+PiA+ICsKPiA+PiA+PiA+ PiA+ICtzdHJ1Y3QgZHJtX2V0bmF2aXZfcGFyYW0gewo+ID4+ID4+ID4+ID4gKyAgICAgICB1aW50 MzJfdCBwaXBlOyAgICAgICAgICAgLyogaW4sIEVUTkFfUElQRV94ICovCj4gPj4gPj4gPj4gPiAr ICAgICAgIHVpbnQzMl90IHBhcmFtOyAgICAgICAgICAvKiBpbiwgRVROQVZJVl9QQVJBTV94ICov Cj4gPj4gPj4gPj4gPiArICAgICAgIHVpbnQ2NF90IHZhbHVlOyAgICAgICAgICAvKiBvdXQgKGdl dF9wYXJhbSkgb3IgaW4gKHNldF9wYXJhbSkgKi8KPiA+PiA+PiA+PiA+ICt9Owo+ID4+ID4+ID4+ ID4gKwo+ID4+ID4+ID4+ID4gKy8qCj4gPj4gPj4gPj4gPiArICogR0VNIGJ1ZmZlcnM6Cj4gPj4g Pj4gPj4gPiArICovCj4gPj4gPj4gPj4gPiArCj4gPj4gPj4gPj4gPiArI2RlZmluZSBFVE5BX0JP X0NNRFNUUkVBTSAgICAweDAwMDAwMDAxCj4gPj4gPj4gPj4gPiArI2RlZmluZSBFVE5BX0JPX0NB Q0hFX01BU0sgICAweDAwMGYwMDAwCj4gPj4gPj4gPj4gPiArLyogY2FjaGUgbW9kZXMgKi8KPiA+ PiA+PiA+PiA+ICsjZGVmaW5lIEVUTkFfQk9fQ0FDSEVEICAgICAgIDB4MDAwMTAwMDAKPiA+PiA+ PiA+PiA+ICsjZGVmaW5lIEVUTkFfQk9fV0MgICAgICAgICAgIDB4MDAwMjAwMDAKPiA+PiA+PiA+ PiA+ICsjZGVmaW5lIEVUTkFfQk9fVU5DQUNIRUQgICAgIDB4MDAwNDAwMDAKPiA+PiA+PiA+PiA+ ICsKPiA+PiA+PiA+PiA+ICtzdHJ1Y3QgZHJtX2V0bmF2aXZfZ2VtX25ldyB7Cj4gPj4gPj4gPj4g PiArICAgICAgIHVpbnQ2NF90IHNpemU7ICAgICAgICAgICAvKiBpbiAqLwo+ID4+ID4+ID4+ID4g KyAgICAgICB1aW50MzJfdCBmbGFnczsgICAgICAgICAgLyogaW4sIG1hc2sgb2YgRVROQV9CT194 ICovCj4gPj4gPj4gPj4gPiArICAgICAgIHVpbnQzMl90IGhhbmRsZTsgICAgICAgICAvKiBvdXQg Ki8KPiA+PiA+PiA+PiA+ICt9Owo+ID4+ID4+ID4+ID4gKwo+ID4+ID4+ID4+ID4gK3N0cnVjdCBk cm1fZXRuYXZpdl9nZW1faW5mbyB7Cj4gPj4gPj4gPj4gPiArICAgICAgIHVpbnQzMl90IGhhbmRs ZTsgICAgICAgICAvKiBpbiAqLwo+ID4+ID4+ID4+ID4gKyAgICAgICB1aW50MzJfdCBwYWQ7Cj4g Pj4gPj4gPj4gPiArICAgICAgIHVpbnQ2NF90IG9mZnNldDsgICAgICAgICAvKiBvdXQsIG9mZnNl dCB0byBwYXNzIHRvIG1tYXAoKSAqLwo+ID4+ID4+ID4+ID4gK307Cj4gPj4gPj4gPj4gPiArCj4g Pj4gPj4gPj4gPiArI2RlZmluZSBFVE5BX1BSRVBfUkVBRCAgICAgICAgMHgwMQo+ID4+ID4+ID4+ ID4gKyNkZWZpbmUgRVROQV9QUkVQX1dSSVRFICAgICAgIDB4MDIKPiA+PiA+PiA+PiA+ICsjZGVm aW5lIEVUTkFfUFJFUF9OT1NZTkMgICAgICAweDA0Cj4gPj4gPj4gPj4gPiArCj4gPj4gPj4gPj4g PiArc3RydWN0IGRybV9ldG5hdml2X2dlbV9jcHVfcHJlcCB7Cj4gPj4gPj4gPj4gPiArICAgICAg IHVpbnQzMl90IGhhbmRsZTsgICAgICAgICAvKiBpbiAqLwo+ID4+ID4+ID4+ID4gKyAgICAgICB1 aW50MzJfdCBvcDsgICAgICAgICAgICAgLyogaW4sIG1hc2sgb2YgRVROQV9QUkVQX3ggKi8KPiA+ PiA+PiA+PiA+ICsgICAgICAgc3RydWN0IGRybV9ldG5hdml2X3RpbWVzcGVjIHRpbWVvdXQ7ICAg LyogaW4gKi8KPiA+PiA+PiA+PiA+ICt9Owo+ID4+ID4+ID4+ID4gKwo+ID4+ID4+ID4+ID4gK3N0 cnVjdCBkcm1fZXRuYXZpdl9nZW1fY3B1X2Zpbmkgewo+ID4+ID4+ID4+ID4gKyAgICAgICB1aW50 MzJfdCBoYW5kbGU7ICAgICAgICAgLyogaW4gKi8KPiA+PiA+PiA+PiA+ICt9Owo+ID4+ID4+ID4+ ID4gKwo+ID4+ID4+ID4+ID4gKy8qCj4gPj4gPj4gPj4gPiArICogQ21kc3RyZWFtIFN1Ym1pc3Np b246Cj4gPj4gPj4gPj4gPiArICovCj4gPj4gPj4gPj4gPiArCj4gPj4gPj4gPj4gPiArLyogVGhl IHZhbHVlIHdyaXR0ZW4gaW50byB0aGUgY21kc3RyZWFtIGlzIGxvZ2ljYWxseToKPiA+PiA+PiA+ PiA+ICsgKgo+ID4+ID4+ID4+ID4gKyAqICAgKChyZWxvY2J1Zi0+Z3B1YWRkciArIHJlbG9jX29m ZnNldCkgPDwgc2hpZnQpIHwgb3IKPiA+PiA+PiA+PiA+ICsgKgo+ID4+ID4+ID4+ID4gKyAqIFdo ZW4gd2UgaGF2ZSBHUFUncyB3LyA+MzJiaXQgcHRycywgaXQgc2hvdWxkIGJlIHBvc3NpYmxlIHRv IGRlYWwKPiA+PiA+PiA+PiA+ICsgKiB3aXRoIHRoaXMgYnkgZW1pdCdpbmcgdHdvIHJlbG9jIGVu dHJpZXMgd2l0aCBhcHByb3ByaWF0ZSBzaGlmdAo+ID4+ID4+ID4+ID4gKyAqIHZhbHVlcy4gIE9y IGEgbmV3IEVUTkFfU1VCTUlUX0NNRF94IHR5cGUgd291bGQgYWxzbyBiZSBhbiBvcHRpb24uCj4g Pj4gPj4gPj4gPiArICoKPiA+PiA+PiA+PiA+ICsgKiBOT1RFIHRoYXQgcmVsb2MncyBtdXN0IGJl IHNvcnRlZCBieSBvcmRlciBvZiBpbmNyZWFzaW5nIHN1Ym1pdF9vZmZzZXQsCj4gPj4gPj4gPj4g PiArICogb3RoZXJ3aXNlIEVJTlZBTC4KPiA+PiA+PiA+PiA+ICsgKi8KPiA+PiA+PiA+PiA+ICtz dHJ1Y3QgZHJtX2V0bmF2aXZfZ2VtX3N1Ym1pdF9yZWxvYyB7Cj4gPj4gPj4gPj4gPiArICAgICAg IHVpbnQzMl90IHN1Ym1pdF9vZmZzZXQ7ICAvKiBpbiwgb2Zmc2V0IGZyb20gc3VibWl0X2JvICov Cj4gPj4gPj4gPj4gPiArICAgICAgIHVpbnQzMl90IG9yOyAgICAgICAgICAgICAvKiBpbiwgdmFs dWUgT1InZCB3aXRoIHJlc3VsdCAqLwo+ID4+ID4+ID4+ID4gKyAgICAgICBpbnQzMl90ICBzaGlm dDsgICAgICAgICAgLyogaW4sIGFtb3VudCBvZiBsZWZ0IHNoaWZ0IChjYW4gYmUgbmVnYXRpdmUp ICovCj4gPj4gPj4gPj4gPiArICAgICAgIHVpbnQzMl90IHJlbG9jX2lkeDsgICAgICAvKiBpbiwg aW5kZXggb2YgcmVsb2NfYm8gYnVmZmVyICovCj4gPj4gPj4gPj4gPiArICAgICAgIHVpbnQ2NF90 IHJlbG9jX29mZnNldDsgICAvKiBpbiwgb2Zmc2V0IGZyb20gc3RhcnQgb2YgcmVsb2NfYm8gKi8K PiA+PiA+PiA+PiA+ICt9Owo+ID4+ID4+ID4+ID4gKwo+ID4+ID4+ID4+ID4gKy8qIHN1Ym1pdC10 eXBlczoKPiA+PiA+PiA+PiA+ICsgKiAgIEJVRiAtIHRoaXMgY21kIGJ1ZmZlciBpcyBleGVjdXRl ZCBub3JtYWxseS4KPiA+PiA+PiA+PiA+ICsgKiAgIElCX1RBUkdFVF9CVUYgLSB0aGlzIGNtZCBi dWZmZXIgaXMgYW4gSUIgdGFyZ2V0LiAgUmVsb2MncyBhcmUKPiA+PiA+PiA+PiA+ICsgKiAgICAg IHByb2Nlc3NlZCBub3JtYWxseSwgYnV0IHRoZSBrZXJuZWwgZG9lcyBub3Qgc2V0dXAgYW4gSUIg dG8KPiA+PiA+PiA+PiA+ICsgKiAgICAgIHRoaXMgYnVmZmVyIGluIHRoZSBmaXJzdC1sZXZlbCBy aW5nYnVmZmVyCj4gPj4gPj4gPj4gPiArICogICBDVFhfUkVTVE9SRV9CVUYgLSBvbmx5IGV4ZWN1 dGVkIGlmIHRoZXJlIGhhcyBiZWVuIGEgR1BVIGNvbnRleHQKPiA+PiA+PiA+PiA+ICsgKiAgICAg IHN3aXRjaCBzaW5jZSB0aGUgbGFzdCBTVUJNSVQgaW9jdGwKPiA+PiA+PiA+PiA+ICsgKi8KPiA+ PiA+PiA+PiA+ICsjZGVmaW5lIEVUTkFfU1VCTUlUX0NNRF9CVUYgICAgICAgICAgICAgMHgwMDAx Cj4gPj4gPj4gPj4gPiArI2RlZmluZSBFVE5BX1NVQk1JVF9DTURfSUJfVEFSR0VUX0JVRiAgIDB4 MDAwMgo+ID4+ID4+ID4+ID4gKyNkZWZpbmUgRVROQV9TVUJNSVRfQ01EX0NUWF9SRVNUT1JFX0JV RiAweDAwMDMgaXMgYQo+ID4+ID4+ID4+ID4gK3N0cnVjdCBkcm1fZXRuYXZpdl9nZW1fc3VibWl0 X2NtZCB7Cj4gPj4gPj4gPj4gPiArICAgICAgIHVpbnQzMl90IHR5cGU7ICAgICAgICAgICAvKiBp biwgb25lIG9mIEVUTkFfU1VCTUlUX0NNRF94ICovCj4gPj4gPj4gPj4KPiA+PiA+PiA+PiBEbyB3 ZSBuZWVkIGRpZmZlcmVudCB0eXBlcz8gSSBkaWQgbm90IHVzZSB0aGlzIGluIG15IGtlcm5lbCB0 cmVlLgo+ID4+ID4+ID4+Cj4gPj4gPj4gPgo+ID4+ID4+ID4gUGxlYXNlIGFsc28gbm90IHRoZSBj b21taXQgY2xlYW5pbmcgdGhpcyBBUEksIHdoaWNoIGNoYW5nZXMgdGhpcyBhIGJpdC4KPiA+PiA+ PiA+Cj4gPj4gPj4KPiA+PiA+PiBBaCB5ZXMuLiBJIHNlZSBpdC4KPiA+PiA+Pgo+ID4+ID4+ID4g QnV0IHllcyB3ZSBuZWVkIGRpZmZlcmVudCB0eXBlcy4gQXQgbGVhc3QgdGhlIGNvbnRleHQgcmVz dG9yZSBidWZmZXIKPiA+PiA+PiA+IHR5cGUgaXMgbmVlZGVkIHRvIHByb3Blcmx5IGltcGxlbWVu dCBHUFUgcG93ZXIgbWFuYWdlbWVudCBhbmQgY29udGV4dAo+ID4+ID4+ID4gc3dpdGNoaW5nLgo+ ID4+ID4+ID4KPiA+PiA+Pgo+ID4+ID4+IFdoYXQgcm9sZSBkb2VzIEdQVSBwb3dlciBtYW5hZ2Vt ZW50IHBsYXlzIGhlcmU/IEZvciB0aGUgY29udGV4dCBzd2l0Y2hpbmcKPiA+PiA+PiBpdCBjb3Vs ZCBtYWtlIHNlbnNlLiBCdXQgZm9yIHRoZSAyZCBjb3JlIHRoZSBjb250ZXh0IGlzIHNvIHNtYWxs IHRoYXQKPiA+PiA+PiBpdCBkb2VzIG5vdAo+ID4+ID4+IGh1cnQgdG8gc2VuZCBpdCB3aXRoIGV2 ZXJ5IGNvbW1hbmQgc3RyZWFtLiBGb3IgdGhlIDNkIGNvcmUgaXQgaXMgbXVjaAo+ID4+ID4+IGJp Z2dlciwgYnV0Cj4gPj4gPj4gdGhpcyBjb3VsZCBiZSBkb25lIGNvbXBsZXRlbHkgaW4gdGhlIGtl cm5lbC4gT3IgSSBhbSB3cm9uZyBoZXJlPwo+ID4+ID4+Cj4gPj4gPiBJZiB5b3UgcG93ZXIgZG93 biB0aGUgR1BVIHlvdSBsb29zZSB0aGUgY29udGV4dC4gWW91IGFyZSByaWdodCB0aGF0IHdlCj4g Pj4gPiBjb3VsZCBzYXZlL3Jlc3RvcmUgdGhlIGNvbnRleHQgZnJvbSBrZXJuZWwgc3BhY2UsIGJ1 dCB0aGF0IGlzIHJlYWxseQo+ID4+ID4gdGFraW5nIGEgdG9sbCBvbiBDUFUgdGltZS4gSXQgaXMg bXVjaCBiZXR0ZXIgdG8gaGF2ZSB1c2Vyc3BhY2UgcHJvdmlkZSBhCj4gPj4gPiBjb250ZXh0IGJ1 ZmZlciB0byBnZXQgdGhlIEdQVSBpbiB0aGUgZXhwZWN0ZWQgc3RhdGUsIGFzIHlvdSB0aGVuIG9u bHkKPiA+PiA+IG5lZWQgdG8gc3BsaWNlIHRoaXMgaW50byB0aGUgZXhlY3V0aW9uIHN0cmVhbSB0 byByZXN0b3JlIHRoZSBjb250ZXh0Cj4gPj4gPiBpbnN0ZWFkIG9mIHB1c2hpbmcgaXQgd2l0aCB0 aGUgQ1BVLiBSZWFkaW5nIGJhY2sgdGhlIGNvbnRleHQgb24gZXZlcnkKPiA+PiA+IHN3aXRjaCB3 aWxsIGtpbGwgYW55IHBlcmZvcm1hbmNlLgo+ID4+Cj4gPj4gQW5kIGZvciB0aGlzIHlvdSBuZWVk IGEgb3duIGNvbW1hbmQgdHlwZT8gVGhlIGNvbnRleHQgaXMgbm90aGluZyBzcGVjaWFsLiBPbmx5 Cj4gPj4gbG9hZCBzdGF0ZSBjb21tYW5kcyBpbiB0aGUgY29tbWFuZCBidWZmZXIuIFlvdSBjYW4g aGF2ZSBhbiBpbnRlcm5hbAo+ID4+IHJlcHJlc2VudGF0aW9uCj4gPj4gb2YgdGhlIGNvbnRleHQg aW4gdGhlIHVzZXIgc3BhY2UgKGFzIGxpYmV0bmF2aXYgZG9lcyBpdCByaWdodCBub3cgKWFuZAo+ ID4+IHdvcmsgd2l0aCBpdC4KPiA+PiBUaGVuIGlmIHlvdSB3YW50IHRvIHN1Ym1pdCBzb21lIHJl bmRlciBjYWxscyBldGMgeW91IGNhbiBsb29rIGlmIHRoZQo+ID4+IHN0YXRlIGlzIGRpcnR5IGFu ZCBzdWJtaXQKPiA+PiB0aGUgd2hvbGUgb3IgdGhlIGNoYW5nZXMgdmFsdWVzLiBTbyBJIGFtIG5v dCBzdXJlIGlmIHRoZXJlIGlzIGEgbmVlZAo+ID4+IGZvciBhIGNvbnRleHQKPiA+PiBidWZmZXIg dHlwZSBhcyBpdCBpcyBub3RoaW5nIHNwZWNpYWwuCj4gPgo+ID4gSG93IHdvdWxkIHRoZSB1c2Vy c3BhY2Uga25vdyBpZiBhbm90aGVyIHByb2Nlc3MgLyBhIEdQVSBoYW5nIC8gYSBwb3dlcgo+ID4g bWFuYWdlbWVudCBldmVudCBoYXMgZGlydGllZCB0aGUgc3RhdGUgb2YgdGhlIEdQVT8gSXQgaXMg b25seSB0aGUga2VybmVsCj4gPiB3aG8ga25vd3MgaWYgdGhlIHN0YXRlIG9mIHRoZSBHUFUgaGFz IGNoYW5nZWQgc2luY2UgdGhlIGxhc3Qgc3VibWl0IG9mCj4gPiB0aGlzIHByb2Nlc3MuCj4gPgo+ IAo+IE9rYXkgZ290IGl0Lgo+IAo+ID4gSW4gdGhlIGNvbW1vbiBjYXNlIHdoZW4gbm90aGluZyBo YXMgZGlzdHVyYmVkIHRoZSBjb250ZXh0IHdlIGRvbid0IHdhbnQKPiA+IHRvIGluc2VydCB0aGUg Y29udGV4dCBidWZmZXIsIGFzIHdlIHJlYWxseSB3YW50IG1pbmltYWwgc3RhdGUgdXBkYXRlcyBp bgo+ID4gdGhhdCBjYXNlLiBXZSBuZWVkIGEgd2F5IHRvIHRlbGwgdGhlIGtlcm5lbCB3aGljaCBj b21tYW5kIGJ1ZmZlciBpcyB0aGUKPiA+IGNvbnRleHQgYnVmZmVyLCBzbyB0aGUga2VybmVsIG9u bHkgc3BsaWNlcyB0aGlzIGJ1ZmZlciBpbnRvIHRoZSBzdHJlYW0KPiA+IGlmIHRoZSBjb250ZXh0 IGlzIGRpcnR5Lgo+IAo+IFNvIHRoZSBjb250ZXh0IGJ1ZmZlciBob2xkcyB0aGUgZnVsbCBHUFUg Y29udGV4dCBhbmQgdGhlIGtlcm5lbCBkb2VzIHRoZSBwYXJ0aWFsCj4gdXBkYXRlIG9mIHRoZSBj dXJyZW50IGhhcmR3YXJlIGNvbnRleHQuIFRoaXMgbWFrZXMgdGhlIHVzZXIgc3BhY2UgYSBsb3Qg c2ltcGxlcgo+IGFzIHdlIGNhbiBzZW5kIHRoZSB3aG9sZSBjb250ZXh0IGFuZCBkbyBub3QgbmVl ZCB0YWtlIGNhcmUgb2YgcGFydGlhbCB1cGRhdGVzLgo+IAo+IEkgbGlrZSB0aGUgaWRlYS4KPiAK SSBzdGlsbCB0aGluayB5b3VyIHVuZGVyc3RhbmRpbmcgaXMgbm90IGNvbXBsZXRlbHkgd2hhdCBJ IHdhbnRlZCB0byBzYXkKd2l0aCB0aGF0LgoKWW91IGFyZSByaWdodCB0aGF0IEkgd2FudCB0byBr aWNrIG91dCBhbGwgdGhpcyBzdGF0ZSB0cmFja2luZyBvbgppbmRpdmlkdWFsIHJlZ2lzdGVycy4g QnV0IEkgZG9uJ3Qgd2FudCB0byBtb3ZlIGl0IGludG8gdGhlIGtlcm5lbCwgYnV0CnNjcmFwIGl0 IGFsdG9nZXRoZXIuCgpMZXQgbWUgdHJ5IHRvIGV4cGxhaW4gdGhpcyBpbiBhIGJpdCBtb3JlIGRl dGFpbDoKCkZpcnN0IGxldCdzIHBvc3R1bGF0ZSB0aGF0IHdlIGFscmVhZHkgaGF2ZSBwcmV0dHkg Z29vZCBkaXJ0eSBzdGF0ZQp0cmFja2luZyBvbiB0aGUgZ2FsbGl1bSBzdGF0ZSBvYmplY3QgbGV2 ZWwuIEkgZG9uJ3QgdGhpbmsgaXQgYnV5cyB1cwphbnl0aGluZyB0byBkbyBtb3JlIGZpbmUgZ3Jh aW5lZCBzdGF0ZSB0cmFja2luZy4KClRoZSBnYWxsaXVtIHVzZXJzcGFjZSBkcml2ZXIgb25seSBw dXNoZXMgc3RhdGUgX2NoYW5nZXNfIHRvIGEgbm9ybWFsCmNvbW1hbmQgYnVmZmVyLiBGb3IgZXhh bXBsZSB0aGlzIG1lYW5zIHRoYXQgaWYgbm90aGluZyBoYXMgY2hhbmdlZCBzaW5jZQp0aGUgbGFz dCBzdWJtaXQgb2YgdGhpcyBwcm9jZXNzIGV4Y2VwdCBzb21lIHZlcnRleCBidWZmZXJzIHRoZSBv bmx5CnRoaW5nIHRoYXQgd2lsbCBiZSBjb250YWluZWQgaW4gdGhlIGNvbW1hbmQgYnVmZmVyIGFy ZSBhIGZldyBTRVRfU1RBVEVzCmZvciB0aGUgdmVydGV4IGJ1ZmZlciBhZGRyZXNzZXMgYW5kIHRo ZSBEUkFXIGNhbGwuCgpUaGUgY29udGV4dCBidWZmZXIgaW4gY29udHJhc3QgaG9sZHMgdGhlIGZ1 bGwgR1BVIGNvbnRleHQgYXMgb2YgdGhlIGxhc3QKZmx1c2guIFNvIGlmIHlvdSBmbHVzaCB0aGUg c3RyZWFtIE1FU0EgZHVtcHMgdGhlIGZ1bGwgR2FsbGl1bSBzdGF0ZSBpbnRvCnRoZSBjb250ZXh0 IGJ1ZmZlci4KCk5vdyBpZiB5b3Ugc3VibWl0IGJvdGggYnVmZmVycyB0b2dldGhlciB0aGUga2Vy bmVsIGNhbiBjaGVjayBpZiB5b3VyCmNvbnRleHQgaXMgc3RpbGwgdmFsaWQgKG5vdGhpbmcgb3Ro ZXIgaGFzIHRvdWNoZWQgdGhlIEdQVSBzaW5jZSB5b3VyCmxhc3Qgc3VibWl0KSBhbmQgaW4gdGhh dCBjYXNlIG9ubHkgc3BsaWNlIHRoZSBub3JtYWwgY29tbWFuZCBibyBpbnRvIHRoZQpzdHJlYW0u IElmIHNvbWV0aGluZyBoYXMgY2hhbmdlZCBzaW5jZSB5b3VyIGxhc3Qgc3VibWl0IHRoZSBrZXJu ZWwgd2lsbApzcGxpY2UgdGhlIGNvbnRleHQgYnVmZmVyIGZpcnN0LCB0aGVuIHRoZSBjb21tYW5k IGJ1ZmZlci4gVGhpcyB3YXkgeW91CmFsd2F5cyBnZXQgYSBwcmVkaWN0YWJsZSBzdGF0ZSB3aXRo b3V0IHRyYWNraW5nIGFueSBHUFUgc3RhdGUgb24gYQpyZWdpc3RlciBsZXZlbC4KClJlZ2FyZHMs Ckx1Y2FzCi0tIApQZW5ndXRyb25peCBlLksuICAgICAgICAgICAgIHwgTHVjYXMgU3RhY2ggICAg ICAgICAgICAgICAgIHwKSW5kdXN0cmlhbCBMaW51eCBTb2x1dGlvbnMgICB8IGh0dHA6Ly93d3cu cGVuZ3V0cm9uaXguZGUvICB8CgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fXwpkcmktZGV2ZWwgbWFpbGluZyBsaXN0CmRyaS1kZXZlbEBsaXN0cy5mcmVlZGVz a3RvcC5vcmcKaHR0cDovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2Ry aS1kZXZlbAo=