From mboxrd@z Thu Jan 1 00:00:00 1970 From: =?UTF-8?B?Q2hyaXN0aWFuIEvDtm5pZw==?= Subject: Re: [PATCH 1/2] drm/radeon: Only enable and handle pageflip interrupts when needed Date: Mon, 30 Jun 2014 14:31:59 +0200 Message-ID: <53B158BF.5060907@vodafone.de> References: <1403774992-3323-1-git-send-email-michel@daenzer.net> <53ABF846.4080401@vodafone.de> <53ACDDBC.80201@daenzer.net> <53AD28EB.1020304@vodafone.de> <53AD3D14.1040504@daenzer.net> <53AD4BD6.5080401@vodafone.de> <53B12F38.2050208@daenzer.net> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: Received: from pegasos-out.vodafone.de (pegasos-out.vodafone.de [80.84.1.38]) by gabe.freedesktop.org (Postfix) with ESMTP id 6D9756E0DF for ; Mon, 30 Jun 2014 05:32:15 -0700 (PDT) Received: from localhost (localhost.localdomain [127.0.0.1]) by pegasos-out.vodafone.de (Rohrpostix2 Daemon) with ESMTP id 15EC36E5E1F for ; Mon, 30 Jun 2014 14:32:13 +0200 (CEST) Received: from pegasos-out.vodafone.de ([127.0.0.1]) by localhost (rohrpostix2.prod.vfnet.de [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 0gRi6fFwGnU0 for ; Mon, 30 Jun 2014 14:32:07 +0200 (CEST) In-Reply-To: <53B12F38.2050208@daenzer.net> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: =?UTF-8?B?TWljaGVsIETDpG56ZXI=?= Cc: dri-devel@lists.freedesktop.org List-Id: dri-devel@lists.freedesktop.org QW0gMzAuMDYuMjAxNCAxMTozNCwgc2NocmllYiBNaWNoZWwgRMOkbnplcjoKPiBPbiAyNy4wNi4y MDE0IDE5OjQ3LCBDaHJpc3RpYW4gS8O2bmlnIHdyb3RlOgo+PiBBbSAyNy4wNi4yMDE0IDExOjQ0 LCBzY2hyaWViIE1pY2hlbCBEw6RuemVyOgo+Pj4gT24gMjcuMDYuMjAxNCAxNzoxOCwgQ2hyaXN0 aWFuIEvDtm5pZyB3cm90ZToKPj4+PiBBbSAyNy4wNi4yMDE0IDA0OjU4LCBzY2hyaWViIE1pY2hl bCBEw6RuemVyOgo+Pj4+PiBPbiAyNi4wNi4yMDE0IDE5OjM5LCBDaHJpc3RpYW4gS8O2bmlnIHdy b3RlOgo+Pj4+Pj4gQW0gMjYuMDYuMjAxNCAxMToyOSwgc2NocmllYiBNaWNoZWwgRMOkbnplcjoK Pj4+Pj4+PiBGcm9tOiBNaWNoZWwgRMOkbnplciA8bWljaGVsLmRhZW56ZXJAYW1kLmNvbT4KPj4+ Pj4+Pgo+Pj4+Pj4+IFByZXZlbnRzIHJhZGVvbl9jcnRjX2hhbmRsZV9mbGlwKCkgZnJvbSBydW5u aW5nIGJlZm9yZQo+Pj4+Pj4+IHJhZGVvbl9mbGlwX3dvcmtfZnVuYygpLCByZXN1bHRpbmcgaW4g YSBrZXJuZWwgcGFuaWMgZHVlIHRvCj4+Pj4+Pj4gdGhlIEJVR19PTigpIGluIGRybV92Ymxhbmtf cHV0KCkuCj4+Pj4+Pj4KPj4+Pj4+PiBUZXN0ZWQtYnk6IERpZXRlciBOw7x0emVsIDxEaWV0ZXJA bnVldHplbC1oaC5kZT4gU2lnbmVkLW9mZi1ieToKPj4+Pj4+PiBNaWNoZWwgRMOkbnplciA8bWlj aGVsLmRhZW56ZXJAYW1kLmNvbT4KPj4+Pj4+IERvZXMgcGF0Y2ggIzIgYWxvbmUgZml4ZXMgdGhl IHByb2JsZW0gYXMgd2VsbD8KPj4+Pj4gSXQgc2hvdWxkIGF2b2lkIHRoZSBwYW5pYyBhcyB3ZWxs Lgo+IEkndmUgc2VudCBhIHYyIG9mIHRoYXQgcGF0Y2ggd2l0aCBhbiB1cGRhdGVkIGNvbW1pdCBs b2cuIEFsZXgsIHBsZWFzZSBnZXQKPiB0aGF0IGludG8gMy4xNiBBU0FQIHRvIHByZXZlbnQgcGVv cGxlIGZyb20gcnVubmluZyBpbnRvIHRoZSBwYW5pYy4KPgo+Cj4+Pj4+PiBJIHdvdWxkIHJhdGhl ciB3YW50IHRvIGF2b2lkIHR1cm5pbmcgdGhlIHBmbGlwIGludGVycnVwdCBvbiBhbmQKPj4+Pj4+ IG9mZi4KPj4+Pj4gV2hhdCdzIHRoZSBwcm9ibGVtIHdpdGggdGhhdD8gSXQncyBub3QgbGlrZSB3 ZSdyZSBzYXZpbmcgYW55Cj4+Pj4+IHJlZ2lzdGVyIHdyaXRlcyBieSBub3QgZG9pbmcgaXQuCj4+ Pj4gV2UgZG9uJ3Q/IEFzIGZhciBhcyBJIGNhbiBzZWUgd2UgcmVwcm9ncmFtIGFsbCBpbnRlcnJ1 cHQgcmVnaXN0ZXJzCj4+Pj4gaWYgYW55IG9mIHRoZSBpbnRlcnJ1cHRzIGNoYW5nZWQsCj4+PiBN YXliZSBJJ20gbWlzc2luZyBzb21ldGhpbmcsIGJ1dDogcmFkZW9uX2lycV9rbXNfcGZsaXBfaXJx X2dldC9wdXQoKQo+Pj4gY2FsbCByYWRlb25faXJxX3NldCgpIGV2ZXJ5IHRpbWUsIGFzIHRoZXJl IGNhbiBvbmx5IGJlIG9uZSBhY3RpdmUgcGFnZQo+Pj4gZmxpcCBwZXIgQ1JUQy4gQW5kIHJhZGVv bl9pcnFfc2V0KCkgYWx3YXlzIHdyaXRlcyB0aGUgc2FtZSByZWdpc3RlcnMsCj4+PiBvbmx5IHRo ZSBiaXRzIGl0IHdyaXRlcyB0byB0aGVtIGNoYW5nZSBkZXBlbmRpbmcgb24gd2hpY2ggaW50ZXJy dXB0cyB0aGUKPj4+IGRyaXZlciBpcyBjdXJyZW50bHkgaW50ZXJlc3RlZCBpbi4KPj4gV2UgZmly c3QgdHVybiBvbiB0aGUgdmJsYW5rIGludGVycnVwdCB3aGljaCByZXN1bHRzIGluIGEKPj4gcmFk ZW9uX2lycV9zZXQoKSBhbmQgdGhlbiB0dXJuIG9uIHRoZSBwZmxpcCwgd2hpY2ggcmVzdWx0cyBp biBhbm90aGVyCj4+IHJhZGVvbl9pcnFfc2V0KCkgLgo+IFRoZSBEUk0gY29yZSBkZWxheXMgZGlz YWJsaW5nIHRoZSBoYXJkd2FyZSB2YmxhbmsgaW50ZXJydXB0LCBzbwo+IHJhZGVvbl9pcnFfc2V0 KCkgc2hvdWxkIG9ubHkgYmUgY2FsbGVkIG9uY2UgZm9yIHRoYXQuCj4KPiByYWRlb25faXJxX2tt c19wZmxpcF9pcnFfZ2V0L3B1dCgpIGFsd2F5cyBjYWxsIHJhZGVvbl9pcnFfc2V0KCkgZXZlbiBi ZWZvcmUKPiBteSBjaGFuZ2VzLgo+Cj4KPiBBbnl3YXksIGZvciB0aGUgaXNzdWVzIHN1cnJvdW5k aW5nIHRoZSBwZmxpcCBpbnRlcnJ1cHQsIEkgdG9vayBhIHN0ZXAgYmFjawo+IGFuZCBjb25zaWRl cmVkIGEgZnVuZGFtZW50YWxseSBkaWZmZXJlbnQgYXBwcm9hY2g6IEl0IG9jY3VycmVkIHRvIG1l IHRoYXQgYQo+IGxvdCBvZiB0aGUgaXNzdWVzIHdlJ3ZlIGJlZW4gc3RydWdnbGluZyB3aXRoIGFy ZSByZWxhdGVkIHRvIHByb2dyYW1taW5nIHRoZQo+IGZsaXBzIHRvIHRoZSBoYXJkd2FyZSBzdWNo IHRoYXQgdGhleSBleGVjdXRlIGR1cmluZyB0aGUgdmVydGljYWwgYmxhbmsKPiBwZXJpb2QuIFdl IGRvbid0IGtub3cgZXhhY3RseSB3aGVuIHRoZSBoYXJkd2FyZSB1cGRhdGUgaGFwcGVucyBvciB3 aGVuIHdvdWxkCj4gYmUgYSBnb29kIHRpbWUgdG8gcHJvZ3JhbSB0aGUgZmxpcC4gU28gd2h5IGJv dGhlciB3aXRoIHRoYXQgYXQgYWxsPwpJJ3ZlIGNvbnNpZGVyZWQgdGhpcyBhcyB3ZWxsLCBidXQg YXQgdGhpcyB0aW1lIHN0aWxsIGhvcGVkIHRoYXQgd2UgY291bGQgCmNvbXBsZXRlbHkgcmVwbGFj ZSB0aGUgdmJsYW5rIGludGVycnVwdCB3aXRoIHRoZSBwZmxpcCBpbnRlcnJ1cHQuCgo+IFRoZSBw YXRjaCBiZWxvdyAob25seSBmbGVzaGVkIG91dCBmb3IgQ0lLKSBtb3ZlcyB0aGUgcHJvZ3JhbW1p bmcgb2YgdGhlCj4gZmxpcCB0byB0aGUgaGFyZHdhcmUgYmFjayB0byB0aGUgdmVydGljYWwgYmxh bmsgaW50ZXJydXB0IGhhbmRsZXIsIGJ1dAo+IGNoYW5nZXMgaXQgdG8gZXhlY3V0ZSBkdXJpbmcg dGhlIGhvcml6b250YWwgYmxhbmsgcGVyaW9kLiBJbiBhZGRpdGlvbiB0bwo+IGFsbG93aW5nIHRo ZSBwZmxpcCBpbnRlcnJ1cHQgaGFuZGxpbmcsIHJhZGVvbl9jcnRjX2hhbmRsZV92YmxhbmsoKSBh bmQKPiByYWRlb25fZmxpcF9wZW5kaW5nKCkgdG8gYmUgcmVtb3ZlZCwgdGhpcyBzaG91bGQgbWFr ZSBhZGRpbmcgc3VwcG9ydCBmb3IKPiBhc3luY2hyb25vdXMgZmxpcHMgdHJpdmlhbCBhbmQgc3Vw cG9ydCBmb3IgcmVwbGFjaW5nIHBlbmRpbmcgZmxpcHMgbXVjaAo+IGVhc2llci4gV2hhdCBkbyB5 b3UgdGhpbms/Ckl0IGFsc28gYWxsb3dzIHVzIHRvIHN0b3AgZmlkZGxpbmcgd2l0aCB0aGUgdXBk YXRlIHBlbmRpbmcgYml0IGFzIHdlbGwsIAplLmcuIG5vIG1vcmUgYnVzeSB3YWl0aW5nIGZvciBp dCB0byBiZWNvbWUgaGlnaCBpbiBldmVyZ3JlZW5fcGFnZV9mbGlwLgoKQW5kIGFzIGZhciBhcyBJ IGNhbiBzZWUgaXQgc3RpbGwgc3VwcG9ydCBhbGwgbm90IHNvIHRyaXZpYWwgdXNlIGNhc2VzIAps aWtlIHN3aXRjaGluZyB0byBoYmxhbmsgaWYgcmVuZGVyaW5nIGlzbid0IGNvbXBsZXRlZCBiZWZv cmUgYSBjZXJ0YWluIAp0aW1lb3V0IGFuZCBkeW5hbWljIHJlZnJlc2ggZXRjLi4uCgpZZWFoLCBz b3VuZHMgbGlrZSBhIHJlYWxseSBnb29kIGlkZWEgdG8gbWUuCgo+PiBUaGUgZGVsYXkgYmV0d2Vl biB2Ymxhbmsgc3RhcnQgYW5kIHRoZSBmbGlwIGJlaW5nIGV4ZWN1dGVkIHNlZW1lZCB0byBiZQo+ PiBkZXBlbmRpbmcgb24gdGhlIHBpeGVsIGNsb2NrICh3aGljaCBtYWtlcyBzZW5zZSBiZWNhdXNl IHRoZSBDUlRDIGlzCj4+IGRyaXZlbiBieSBpdCksIHNvIHdoZW4gaXQgbWlnaHQgd29yayBvayBm b3IgYSA1MEh6IG1vZGUgd2UgY2FuIHN0aWxsIHJ1bgo+PiBpbnRvIHByb2JsZW1zIHdpdGggMjRI eiBtb2Rlcy4KPiBJIGNvdWxkbid0IHNlZSBhbnkgdGVhcmluZyB3aXRoIHRoaXMgcGF0Y2ggYXQg NjQweDQ4MCBhdCA2MCBIeiBhbmQgcmVkdWNlZAo+IGJsYW5raW5nLCB3aGljaCBzaG91bGQgaGF2 ZSBhIGxvd2VyIHBpeGVsIGNsb2NrIGFuZCBzaG9ydGVyIHZlcnRpY2FsIGJsYW5rCj4gcGVyaW9k IHRoYW4gMTkyMHgxMDgwIGF0IDI0IEh6PwoKSW4gdGhlb3J5IHRoYXQgc2hvdWxkIGRvIHRoZSB0 cmljayBhcyB3ZWxsLiBCdXQgbGV0J3MganVzdCBtYWtlIHBhdGNoZXMgCmZvciBpdCBhbmQgdGhl biB3ZSBjYW4gbWFrZSBhIHJlcXVlc3QgdG8gdGhlIHBlb3BsZSB3aG8gb3JpZ2luYWxseSAKcmVw b3J0ZWQgdGhlIHByb2JsZW0gdG8gdGVzdCB0aGUgd2hvbGUgaW1wbGVtZW50YXRpb24uCgpUaGF0 IHNob3VsZCBnaXZlIHVzIGVub3VnaCBjb25maWRlbmNlIHRoYXQgaXQgd2lsbCB3b3JrIGNvcnJl Y3RseSwKQ2hyaXN0aWFuLgoKPgo+Cj4gY29tbWl0IDdiMjg2MTU4OWYwNWM1YzVjNzUyMTA4Y2Ux MDUxNjFlYmMwZDZiZjUKPiBBdXRob3I6IE1pY2hlbCBEw6RuemVyIDxtaWNoZWwuZGFlbnplckBh bWQuY29tPgo+IERhdGU6ICAgTW9uIEp1biAzMCAxNzo1NzowMSAyMDE0ICswOTAwCj4KPiAgICAg IGRybS9yYWRlb246IFByb2dyYW0gcGFnZSBmbGlwcyB0byBleGVjdXRlIGluIGhibGFuayBpbnN0 ZWFkIG9mIHZibGFuawo+Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vYXRv bWJpb3NfY3J0Yy5jIGIvZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9hdG9tYmlvc19jcnRjLmMKPiBp bmRleCBlOTExODk4Li4yODQyMDEzIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9yYWRl b24vYXRvbWJpb3NfY3J0Yy5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9hdG9tYmlv c19jcnRjLmMKPiBAQCAtMTI4NCw2ICsxMjg0LDEwIEBAIHN0YXRpYyBpbnQgZGNlNF9jcnRjX2Rv X3NldF9iYXNlKHN0cnVjdCBkcm1fY3J0YyAqY3J0YywKPiAgICAgICAgICAgICAgICAgIGJyZWFr Owo+ICAgICAgICAgIH0KPgo+ICsgICAgICAgLyogTWFrZSBzdXJlIHVwZGF0ZXMgaGFwcGVuIGF0 IHZlcnRpY2FsIGJsYW5rICovCj4gKyAgICAgICBXUkVHMzIoRVZFUkdSRUVOX0dSUEhfRkxJUF9D T05UUk9MICsgcmFkZW9uX2NydGMtPmNydGNfb2Zmc2V0LCAwKTsKPiArICAgICAgIFdSRUczMihF VkVSR1JFRU5fTUFTVEVSX1VQREFURV9NT0RFICsgcmFkZW9uX2NydGMtPmNydGNfb2Zmc2V0LCAw KTsKPiArCj4gICAgICAgICAgV1JFRzMyKEVWRVJHUkVFTl9HUlBIX1BSSU1BUllfU1VSRkFDRV9B RERSRVNTX0hJR0ggKyByYWRlb25fY3J0Yy0+Y3J0Y19vZmZzZXQsCj4gICAgICAgICAgICAgICAg IHVwcGVyXzMyX2JpdHMoZmJfbG9jYXRpb24pKTsKPiAgICAgICAgICBXUkVHMzIoRVZFUkdSRUVO X0dSUEhfU0VDT05EQVJZX1NVUkZBQ0VfQUREUkVTU19ISUdIICsgcmFkZW9uX2NydGMtPmNydGNf b2Zmc2V0LAo+IEBAIC0xMzIxLDE1ICsxMzI1LDYgQEAgc3RhdGljIGludCBkY2U0X2NydGNfZG9f c2V0X2Jhc2Uoc3RydWN0IGRybV9jcnRjICpjcnRjLAo+ICAgICAgICAgIFdSRUczMihFVkVSR1JF RU5fVklFV1BPUlRfU0laRSArIHJhZGVvbl9jcnRjLT5jcnRjX29mZnNldCwKPiAgICAgICAgICAg ICAgICAgKHZpZXdwb3J0X3cgPDwgMTYpIHwgdmlld3BvcnRfaCk7Cj4KPiAtICAgICAgIC8qIHBh Z2VmbGlwIHNldHVwICovCj4gLSAgICAgICAvKiBtYWtlIHN1cmUgZmxpcCBpcyBhdCB2YiByYXRo ZXIgdGhhbiBoYiAqLwo+IC0gICAgICAgdG1wID0gUlJFRzMyKEVWRVJHUkVFTl9HUlBIX0ZMSVBf Q09OVFJPTCArIHJhZGVvbl9jcnRjLT5jcnRjX29mZnNldCk7Cj4gLSAgICAgICB0bXAgJj0gfkVW RVJHUkVFTl9HUlBIX1NVUkZBQ0VfVVBEQVRFX0hfUkVUUkFDRV9FTjsKPiAtICAgICAgIFdSRUcz MihFVkVSR1JFRU5fR1JQSF9GTElQX0NPTlRST0wgKyByYWRlb25fY3J0Yy0+Y3J0Y19vZmZzZXQs IHRtcCk7Cj4gLQo+IC0gICAgICAgLyogc2V0IHBhZ2VmbGlwIHRvIGhhcHBlbiBhbnl3aGVyZSBp biB2YmxhbmsgaW50ZXJ2YWwgKi8KPiAtICAgICAgIFdSRUczMihFVkVSR1JFRU5fTUFTVEVSX1VQ REFURV9NT0RFICsgcmFkZW9uX2NydGMtPmNydGNfb2Zmc2V0LCAwKTsKPiAtCj4gICAgICAgICAg aWYgKCFhdG9taWMgJiYgZmIgJiYgZmIgIT0gY3J0Yy0+cHJpbWFyeS0+ZmIpIHsKPiAgICAgICAg ICAgICAgICAgIHJhZGVvbl9mYiA9IHRvX3JhZGVvbl9mcmFtZWJ1ZmZlcihmYik7Cj4gICAgICAg ICAgICAgICAgICByYm8gPSBnZW1fdG9fcmFkZW9uX2JvKHJhZGVvbl9mYi0+b2JqKTsKPiBkaWZm IC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9jaWsuYyBiL2RyaXZlcnMvZ3B1L2RybS9y YWRlb24vY2lrLmMKPiBpbmRleCAwZjRiMzhmLi5kMGE5OTRjIDEwMDY0NAo+IC0tLSBhL2RyaXZl cnMvZ3B1L2RybS9yYWRlb24vY2lrLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL2Np ay5jCj4gQEAgLTcxNDMsMjUgKzcxNDMsNiBAQCBpbnQgY2lrX2lycV9zZXQoc3RydWN0IHJhZGVv bl9kZXZpY2UgKnJkZXYpCj4gICAgICAgICAgICAgICAgICBXUkVHMzIoTEJfSU5URVJSVVBUX01B U0sgKyBFVkVSR1JFRU5fQ1JUQzVfUkVHSVNURVJfT0ZGU0VULCBjcnRjNik7Cj4gICAgICAgICAg fQo+Cj4gLSAgICAgICBpZiAocmRldi0+bnVtX2NydGMgPj0gMikgewo+IC0gICAgICAgICAgICAg ICBXUkVHMzIoR1JQSF9JTlRfQ09OVFJPTCArIEVWRVJHUkVFTl9DUlRDMF9SRUdJU1RFUl9PRkZT RVQsCj4gLSAgICAgICAgICAgICAgICAgICAgICBHUlBIX1BGTElQX0lOVF9NQVNLKTsKPiAtICAg ICAgICAgICAgICAgV1JFRzMyKEdSUEhfSU5UX0NPTlRST0wgKyBFVkVSR1JFRU5fQ1JUQzFfUkVH SVNURVJfT0ZGU0VULAo+IC0gICAgICAgICAgICAgICAgICAgICAgR1JQSF9QRkxJUF9JTlRfTUFT Syk7Cj4gLSAgICAgICB9Cj4gLSAgICAgICBpZiAocmRldi0+bnVtX2NydGMgPj0gNCkgewo+IC0g ICAgICAgICAgICAgICBXUkVHMzIoR1JQSF9JTlRfQ09OVFJPTCArIEVWRVJHUkVFTl9DUlRDMl9S RUdJU1RFUl9PRkZTRVQsCj4gLSAgICAgICAgICAgICAgICAgICAgICBHUlBIX1BGTElQX0lOVF9N QVNLKTsKPiAtICAgICAgICAgICAgICAgV1JFRzMyKEdSUEhfSU5UX0NPTlRST0wgKyBFVkVSR1JF RU5fQ1JUQzNfUkVHSVNURVJfT0ZGU0VULAo+IC0gICAgICAgICAgICAgICAgICAgICAgR1JQSF9Q RkxJUF9JTlRfTUFTSyk7Cj4gLSAgICAgICB9Cj4gLSAgICAgICBpZiAocmRldi0+bnVtX2NydGMg Pj0gNikgewo+IC0gICAgICAgICAgICAgICBXUkVHMzIoR1JQSF9JTlRfQ09OVFJPTCArIEVWRVJH UkVFTl9DUlRDNF9SRUdJU1RFUl9PRkZTRVQsCj4gLSAgICAgICAgICAgICAgICAgICAgICBHUlBI X1BGTElQX0lOVF9NQVNLKTsKPiAtICAgICAgICAgICAgICAgV1JFRzMyKEdSUEhfSU5UX0NPTlRS T0wgKyBFVkVSR1JFRU5fQ1JUQzVfUkVHSVNURVJfT0ZGU0VULAo+IC0gICAgICAgICAgICAgICAg ICAgICAgR1JQSF9QRkxJUF9JTlRfTUFTSyk7Cj4gLSAgICAgICB9Cj4gLQo+ICAgICAgICAgIFdS RUczMihEQ19IUEQxX0lOVF9DT05UUk9MLCBocGQxKTsKPiAgICAgICAgICBXUkVHMzIoRENfSFBE Ml9JTlRfQ09OVFJPTCwgaHBkMik7Cj4gICAgICAgICAgV1JFRzMyKERDX0hQRDNfSU5UX0NPTlRS T0wsIGhwZDMpOwo+IEBAIC03MjE1LDEyICs3MTk2LDYgQEAgc3RhdGljIGlubGluZSB2b2lkIGNp a19pcnFfYWNrKHN0cnVjdCByYWRlb25fZGV2aWNlICpyZGV2KQo+ICAgICAgICAgICAgICAgICAg ICAgICAgICBFVkVSR1JFRU5fQ1JUQzVfUkVHSVNURVJfT0ZGU0VUKTsKPiAgICAgICAgICB9Cj4K PiAtICAgICAgIGlmIChyZGV2LT5pcnEuc3RhdF9yZWdzLmNpay5kMWdycGhfaW50ICYgR1JQSF9Q RkxJUF9JTlRfT0NDVVJSRUQpCj4gLSAgICAgICAgICAgICAgIFdSRUczMihHUlBIX0lOVF9TVEFU VVMgKyBFVkVSR1JFRU5fQ1JUQzBfUkVHSVNURVJfT0ZGU0VULAo+IC0gICAgICAgICAgICAgICAg ICAgICAgR1JQSF9QRkxJUF9JTlRfQ0xFQVIpOwo+IC0gICAgICAgaWYgKHJkZXYtPmlycS5zdGF0 X3JlZ3MuY2lrLmQyZ3JwaF9pbnQgJiBHUlBIX1BGTElQX0lOVF9PQ0NVUlJFRCkKPiAtICAgICAg ICAgICAgICAgV1JFRzMyKEdSUEhfSU5UX1NUQVRVUyArIEVWRVJHUkVFTl9DUlRDMV9SRUdJU1RF Ul9PRkZTRVQsCj4gLSAgICAgICAgICAgICAgICAgICAgICBHUlBIX1BGTElQX0lOVF9DTEVBUik7 Cj4gICAgICAgICAgaWYgKHJkZXYtPmlycS5zdGF0X3JlZ3MuY2lrLmRpc3BfaW50ICYgTEJfRDFf VkJMQU5LX0lOVEVSUlVQVCkKPiAgICAgICAgICAgICAgICAgIFdSRUczMihMQl9WQkxBTktfU1RB VFVTICsgRVZFUkdSRUVOX0NSVEMwX1JFR0lTVEVSX09GRlNFVCwgVkJMQU5LX0FDSyk7Cj4gICAg ICAgICAgaWYgKHJkZXYtPmlycS5zdGF0X3JlZ3MuY2lrLmRpc3BfaW50ICYgTEJfRDFfVkxJTkVf SU5URVJSVVBUKQo+IEBAIC03MjMxLDEyICs3MjA2LDYgQEAgc3RhdGljIGlubGluZSB2b2lkIGNp a19pcnFfYWNrKHN0cnVjdCByYWRlb25fZGV2aWNlICpyZGV2KQo+ICAgICAgICAgICAgICAgICAg V1JFRzMyKExCX1ZMSU5FX1NUQVRVUyArIEVWRVJHUkVFTl9DUlRDMV9SRUdJU1RFUl9PRkZTRVQs IFZMSU5FX0FDSyk7Cj4KPiAgICAgICAgICBpZiAocmRldi0+bnVtX2NydGMgPj0gNCkgewo+IC0g ICAgICAgICAgICAgICBpZiAocmRldi0+aXJxLnN0YXRfcmVncy5jaWsuZDNncnBoX2ludCAmIEdS UEhfUEZMSVBfSU5UX09DQ1VSUkVEKQo+IC0gICAgICAgICAgICAgICAgICAgICAgIFdSRUczMihH UlBIX0lOVF9TVEFUVVMgKyBFVkVSR1JFRU5fQ1JUQzJfUkVHSVNURVJfT0ZGU0VULAo+IC0gICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBHUlBIX1BGTElQX0lOVF9DTEVBUik7Cj4gLSAgICAg ICAgICAgICAgIGlmIChyZGV2LT5pcnEuc3RhdF9yZWdzLmNpay5kNGdycGhfaW50ICYgR1JQSF9Q RkxJUF9JTlRfT0NDVVJSRUQpCj4gLSAgICAgICAgICAgICAgICAgICAgICAgV1JFRzMyKEdSUEhf SU5UX1NUQVRVUyArIEVWRVJHUkVFTl9DUlRDM19SRUdJU1RFUl9PRkZTRVQsCj4gLSAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIEdSUEhfUEZMSVBfSU5UX0NMRUFSKTsKPiAgICAgICAgICAg ICAgICAgIGlmIChyZGV2LT5pcnEuc3RhdF9yZWdzLmNpay5kaXNwX2ludF9jb250MiAmIExCX0Qz X1ZCTEFOS19JTlRFUlJVUFQpCj4gICAgICAgICAgICAgICAgICAgICAgICAgIFdSRUczMihMQl9W QkxBTktfU1RBVFVTICsgRVZFUkdSRUVOX0NSVEMyX1JFR0lTVEVSX09GRlNFVCwgVkJMQU5LX0FD Syk7Cj4gICAgICAgICAgICAgICAgICBpZiAocmRldi0+aXJxLnN0YXRfcmVncy5jaWsuZGlzcF9p bnRfY29udDIgJiBMQl9EM19WTElORV9JTlRFUlJVUFQpCj4gQEAgLTcyNDgsMTIgKzcyMTcsNiBA QCBzdGF0aWMgaW5saW5lIHZvaWQgY2lrX2lycV9hY2soc3RydWN0IHJhZGVvbl9kZXZpY2UgKnJk ZXYpCj4gICAgICAgICAgfQo+Cj4gICAgICAgICAgaWYgKHJkZXYtPm51bV9jcnRjID49IDYpIHsK PiAtICAgICAgICAgICAgICAgaWYgKHJkZXYtPmlycS5zdGF0X3JlZ3MuY2lrLmQ1Z3JwaF9pbnQg JiBHUlBIX1BGTElQX0lOVF9PQ0NVUlJFRCkKPiAtICAgICAgICAgICAgICAgICAgICAgICBXUkVH MzIoR1JQSF9JTlRfU1RBVFVTICsgRVZFUkdSRUVOX0NSVEM0X1JFR0lTVEVSX09GRlNFVCwKPiAt ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR1JQSF9QRkxJUF9JTlRfQ0xFQVIpOwo+IC0g ICAgICAgICAgICAgICBpZiAocmRldi0+aXJxLnN0YXRfcmVncy5jaWsuZDZncnBoX2ludCAmIEdS UEhfUEZMSVBfSU5UX09DQ1VSUkVEKQo+IC0gICAgICAgICAgICAgICAgICAgICAgIFdSRUczMihH UlBIX0lOVF9TVEFUVVMgKyBFVkVSR1JFRU5fQ1JUQzVfUkVHSVNURVJfT0ZGU0VULAo+IC0gICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBHUlBIX1BGTElQX0lOVF9DTEVBUik7Cj4gICAgICAg ICAgICAgICAgICBpZiAocmRldi0+aXJxLnN0YXRfcmVncy5jaWsuZGlzcF9pbnRfY29udDQgJiBM Ql9ENV9WQkxBTktfSU5URVJSVVBUKQo+ICAgICAgICAgICAgICAgICAgICAgICAgICBXUkVHMzIo TEJfVkJMQU5LX1NUQVRVUyArIEVWRVJHUkVFTl9DUlRDNF9SRUdJU1RFUl9PRkZTRVQsIFZCTEFO S19BQ0spOwo+ICAgICAgICAgICAgICAgICAgaWYgKHJkZXYtPmlycS5zdGF0X3JlZ3MuY2lrLmRp c3BfaW50X2NvbnQ0ICYgTEJfRDVfVkxJTkVfSU5URVJSVVBUKQo+IEBAIC03NDU5LDcgKzc0MjIs NyBAQCByZXN0YXJ0X2loOgo+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICB3YWtlX3VwKCZyZGV2LT5pcnEudmJsYW5rX3F1ZXVlKTsKPiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KPiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIGlmIChhdG9taWNfcmVhZCgmcmRldi0+aXJxLnBmbGlwWzBdKSkK PiAtICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByYWRlb25f Y3J0Y19oYW5kbGVfdmJsYW5rKHJkZXYsIDApOwo+ICsgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIHJhZGVvbl9jcnRjX2hhbmRsZV9mbGlwKHJkZXYsIDApOwo+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmRldi0+aXJxLnN0YXRf cmVncy5jaWsuZGlzcF9pbnQgJj0gfkxCX0QxX1ZCTEFOS19JTlRFUlJVUFQ7Cj4gICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBEUk1fREVCVUcoIklIOiBEMSB2Ymxhbmtc biIpOwo+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KPiBAQCAtNzQ4NSw3ICs3 NDQ4LDcgQEAgcmVzdGFydF9paDoKPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgd2FrZV91cCgmcmRldi0+aXJxLnZibGFua19xdWV1ZSk7Cj4gICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9Cj4gICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBpZiAoYXRvbWljX3JlYWQoJnJkZXYtPmlycS5wZmxpcFsx XSkpCj4gLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmFk ZW9uX2NydGNfaGFuZGxlX3ZibGFuayhyZGV2LCAxKTsKPiArICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICByYWRlb25fY3J0Y19oYW5kbGVfZmxpcChyZGV2LCAx KTsKPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJkZXYtPmlycS5z dGF0X3JlZ3MuY2lrLmRpc3BfaW50X2NvbnQgJj0gfkxCX0QyX1ZCTEFOS19JTlRFUlJVUFQ7Cj4g ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBEUk1fREVCVUcoIklIOiBE MiB2YmxhbmtcbiIpOwo+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KPiBAQCAt NzUxMSw3ICs3NDc0LDcgQEAgcmVzdGFydF9paDoKPiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgd2FrZV91cCgmcmRldi0+aXJxLnZibGFua19xdWV1ZSk7 Cj4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9Cj4gICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoYXRvbWljX3JlYWQoJnJkZXYtPmly cS5wZmxpcFsyXSkpCj4gLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgcmFkZW9uX2NydGNfaGFuZGxlX3ZibGFuayhyZGV2LCAyKTsKPiArICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByYWRlb25fY3J0Y19oYW5kbGVfZmxp cChyZGV2LCAyKTsKPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJk ZXYtPmlycS5zdGF0X3JlZ3MuY2lrLmRpc3BfaW50X2NvbnQyICY9IH5MQl9EM19WQkxBTktfSU5U RVJSVVBUOwo+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRFJNX0RF QlVHKCJJSDogRDMgdmJsYW5rXG4iKTsKPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICB9Cj4gQEAgLTc1MzcsNyArNzUwMCw3IEBAIHJlc3RhcnRfaWg6Cj4gICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdha2VfdXAoJnJkZXYtPmlycS52Ymxh bmtfcXVldWUpOwo+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQo+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGF0b21pY19yZWFk KCZyZGV2LT5pcnEucGZsaXBbM10pKQo+IC0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIHJhZGVvbl9jcnRjX2hhbmRsZV92YmxhbmsocmRldiwgMyk7Cj4gKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmFkZW9uX2NydGNf aGFuZGxlX2ZsaXAocmRldiwgMyk7Cj4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICByZGV2LT5pcnEuc3RhdF9yZWdzLmNpay5kaXNwX2ludF9jb250MyAmPSB+TEJfRDRf VkJMQU5LX0lOVEVSUlVQVDsKPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIERSTV9ERUJVRygiSUg6IEQ0IHZibGFua1xuIik7Cj4gICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgfQo+IEBAIC03NTYzLDcgKzc1MjYsNyBAQCByZXN0YXJ0X2loOgo+ICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3YWtlX3VwKCZyZGV2 LT5pcnEudmJsYW5rX3F1ZXVlKTsKPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIH0KPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChh dG9taWNfcmVhZCgmcmRldi0+aXJxLnBmbGlwWzRdKSkKPiAtICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICByYWRlb25fY3J0Y19oYW5kbGVfdmJsYW5rKHJkZXYs IDQpOwo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJh ZGVvbl9jcnRjX2hhbmRsZV9mbGlwKHJkZXYsIDQpOwo+ICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgcmRldi0+aXJxLnN0YXRfcmVncy5jaWsuZGlzcF9pbnRfY29udDQg Jj0gfkxCX0Q1X1ZCTEFOS19JTlRFUlJVUFQ7Cj4gICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBEUk1fREVCVUcoIklIOiBENSB2YmxhbmtcbiIpOwo+ICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIH0KPiBAQCAtNzU4OSw3ICs3NTUyLDcgQEAgcmVzdGFydF9p aDoKPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2Fr ZV91cCgmcmRldi0+aXJxLnZibGFua19xdWV1ZSk7Cj4gICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICB9Cj4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBpZiAoYXRvbWljX3JlYWQoJnJkZXYtPmlycS5wZmxpcFs1XSkpCj4gLSAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmFkZW9uX2NydGNfaGFuZGxlX3Zi bGFuayhyZGV2LCA1KTsKPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICByYWRlb25fY3J0Y19oYW5kbGVfZmxpcChyZGV2LCA1KTsKPiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJkZXYtPmlycS5zdGF0X3JlZ3MuY2lrLmRpc3Bf aW50X2NvbnQ1ICY9IH5MQl9ENl9WQkxBTktfSU5URVJSVVBUOwo+ICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgRFJNX0RFQlVHKCJJSDogRDYgdmJsYW5rXG4iKTsKPiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9Cj4gQEAgLTc2MDUsMTUgKzc1NjgsNiBA QCByZXN0YXJ0X2loOgo+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwo+ ICAgICAgICAgICAgICAgICAgICAgICAgICB9Cj4gICAgICAgICAgICAgICAgICAgICAgICAgIGJy ZWFrOwo+IC0gICAgICAgICAgICAgICBjYXNlIDg6IC8qIEQxIHBhZ2UgZmxpcCAqLwo+IC0gICAg ICAgICAgICAgICBjYXNlIDEwOiAvKiBEMiBwYWdlIGZsaXAgKi8KPiAtICAgICAgICAgICAgICAg Y2FzZSAxMjogLyogRDMgcGFnZSBmbGlwICovCj4gLSAgICAgICAgICAgICAgIGNhc2UgMTQ6IC8q IEQ0IHBhZ2UgZmxpcCAqLwo+IC0gICAgICAgICAgICAgICBjYXNlIDE2OiAvKiBENSBwYWdlIGZs aXAgKi8KPiAtICAgICAgICAgICAgICAgY2FzZSAxODogLyogRDYgcGFnZSBmbGlwICovCj4gLSAg ICAgICAgICAgICAgICAgICAgICAgRFJNX0RFQlVHKCJJSDogRCVkIGZsaXBcbiIsICgoc3JjX2lk IC0gOCkgPj4gMSkgKyAxKTsKPiAtICAgICAgICAgICAgICAgICAgICAgICByYWRlb25fY3J0Y19o YW5kbGVfZmxpcChyZGV2LCAoc3JjX2lkIC0gOCkgPj4gMSk7Cj4gLSAgICAgICAgICAgICAgICAg ICAgICAgYnJlYWs7Cj4gICAgICAgICAgICAgICAgICBjYXNlIDQyOiAvKiBIUEQgaG90cGx1ZyAq Lwo+ICAgICAgICAgICAgICAgICAgICAgICAgICBzd2l0Y2ggKHNyY19kYXRhKSB7Cj4gICAgICAg ICAgICAgICAgICAgICAgICAgIGNhc2UgMDoKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJt L3JhZGVvbi9ldmVyZ3JlZW4uYyBiL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vZXZlcmdyZWVuLmMK PiBpbmRleCAwNDQzMTgzLi40Nzk4ZDYxIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9y YWRlb24vZXZlcmdyZWVuLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL2V2ZXJncmVl bi5jCj4gQEAgLTEzMTcsNyArMTMxNywxMCBAQCB2b2lkIGV2ZXJncmVlbl9wYWdlX2ZsaXAoc3Ry dWN0IHJhZGVvbl9kZXZpY2UgKnJkZXYsIGludCBjcnRjX2lkLCB1NjQgY3J0Y19iYXNlKQo+ICAg ewo+ICAgICAgICAgIHN0cnVjdCByYWRlb25fY3J0YyAqcmFkZW9uX2NydGMgPSByZGV2LT5tb2Rl X2luZm8uY3J0Y3NbY3J0Y19pZF07Cj4gICAgICAgICAgdTMyIHRtcCA9IFJSRUczMihFVkVSR1JF RU5fR1JQSF9VUERBVEUgKyByYWRlb25fY3J0Yy0+Y3J0Y19vZmZzZXQpOwo+IC0gICAgICAgaW50 IGk7Cj4gKwo+ICsgICAgICAgLyogVGFrZSBzdXJmYWNlIHVwZGF0ZXMgYXQgaG9yaXpvbnRhbCBi bGFuayAqLwo+ICsgICAgICAgV1JFRzMyKEVWRVJHUkVFTl9HUlBIX0ZMSVBfQ09OVFJPTCArIHJh ZGVvbl9jcnRjLT5jcnRjX29mZnNldCwKPiArICAgICAgICAgICAgICBFVkVSR1JFRU5fR1JQSF9T VVJGQUNFX1VQREFURV9IX1JFVFJBQ0VfRU4pOwo+Cj4gICAgICAgICAgLyogTG9jayB0aGUgZ3Jh cGhpY3MgdXBkYXRlIGxvY2sgKi8KPiAgICAgICAgICB0bXAgfD0gRVZFUkdSRUVOX0dSUEhfVVBE QVRFX0xPQ0s7Cj4gQEAgLTEzMzQsMTUgKzEzMzcsNyBAQCB2b2lkIGV2ZXJncmVlbl9wYWdlX2Zs aXAoc3RydWN0IHJhZGVvbl9kZXZpY2UgKnJkZXYsIGludCBjcnRjX2lkLCB1NjQgY3J0Y19iYXNl KQo+ICAgICAgICAgIFdSRUczMihFVkVSR1JFRU5fR1JQSF9QUklNQVJZX1NVUkZBQ0VfQUREUkVT UyArIHJhZGVvbl9jcnRjLT5jcnRjX29mZnNldCwKPiAgICAgICAgICAgICAgICAgKHUzMiljcnRj X2Jhc2UpOwo+Cj4gLSAgICAgICAvKiBXYWl0IGZvciB1cGRhdGVfcGVuZGluZyB0byBnbyBoaWdo LiAqLwo+IC0gICAgICAgZm9yIChpID0gMDsgaSA8IHJkZXYtPnVzZWNfdGltZW91dDsgaSsrKSB7 Cj4gLSAgICAgICAgICAgICAgIGlmIChSUkVHMzIoRVZFUkdSRUVOX0dSUEhfVVBEQVRFICsgcmFk ZW9uX2NydGMtPmNydGNfb2Zmc2V0KSAmIEVWRVJHUkVFTl9HUlBIX1NVUkZBQ0VfVVBEQVRFX1BF TkRJTkcpCj4gLSAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7Cj4gLSAgICAgICAgICAgICAg IHVkZWxheSgxKTsKPiAtICAgICAgIH0KPiAtICAgICAgIERSTV9ERUJVRygiVXBkYXRlIHBlbmRp bmcgbm93IGhpZ2guIFVubG9ja2luZyB2dXBkYXRlX2xvY2suXG4iKTsKPiAtCj4gLSAgICAgICAv KiBVbmxvY2sgdGhlIGxvY2ssIHNvIGRvdWJsZS1idWZmZXJpbmcgY2FuIHRha2UgcGxhY2UgaW5z aWRlIHZibGFuayAqLwo+ICsgICAgICAgLyogVW5sb2NrIHRoZSBsb2NrLCBzbyBkb3VibGUtYnVm ZmVyaW5nIGNhbiB0YWtlIHBsYWNlIGluc2lkZSBoYmxhbmsgKi8KPiAgICAgICAgICB0bXAgJj0g fkVWRVJHUkVFTl9HUlBIX1VQREFURV9MT0NLOwo+ICAgICAgICAgIFdSRUczMihFVkVSR1JFRU5f R1JQSF9VUERBVEUgKyByYWRlb25fY3J0Yy0+Y3J0Y19vZmZzZXQsIHRtcCk7Cj4gICB9Cj4gZGlm ZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vcmFkZW9uLmggYi9kcml2ZXJzL2dwdS9k cm0vcmFkZW9uL3JhZGVvbi5oCj4gaW5kZXggOGU4ZWYwOC4uYzhiN2YyNiAxMDA2NDQKPiAtLS0g YS9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3JhZGVvbi5oCj4gKysrIGIvZHJpdmVycy9ncHUvZHJt L3JhZGVvbi9yYWRlb24uaAo+IEBAIC02ODEsNiArNjgxLDcgQEAgc3RydWN0IHJhZGVvbl9mbGlw X3dvcmsgewo+ICAgICAgICAgIHN0cnVjdCB3b3JrX3N0cnVjdCAgICAgICAgICAgICAgdW5waW5f d29yazsKPiAgICAgICAgICBzdHJ1Y3QgcmFkZW9uX2RldmljZSAgICAgICAgICAgICpyZGV2Owo+ ICAgICAgICAgIGludCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY3J0Y19pZDsKPiArICAg ICAgIHVpbnQ2NF90ICAgICAgICAgICAgICAgICAgICAgICAgYmFzZTsKPiAgICAgICAgICBzdHJ1 Y3QgZHJtX2ZyYW1lYnVmZmVyICAgICAgICAgICpmYjsKPiAgICAgICAgICBzdHJ1Y3QgZHJtX3Bl bmRpbmdfdmJsYW5rX2V2ZW50ICpldmVudDsKPiAgICAgICAgICBzdHJ1Y3QgcmFkZW9uX2JvICAg ICAgICAgICAgICAgICpvbGRfcmJvOwo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vcmFk ZW9uL3JhZGVvbl9kaXNwbGF5LmMgYi9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3JhZGVvbl9kaXNw bGF5LmMKPiBpbmRleCA2NTg4MmNkLi45YTc1NTRjIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1 L2RybS9yYWRlb24vcmFkZW9uX2Rpc3BsYXkuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9yYWRl b24vcmFkZW9uX2Rpc3BsYXkuYwo+IEBAIC0zNTQsNiArMzU0LDkgQEAgdm9pZCByYWRlb25fY3J0 Y19oYW5kbGVfZmxpcChzdHJ1Y3QgcmFkZW9uX2RldmljZSAqcmRldiwgaW50IGNydGNfaWQpCj4g ICAgICAgICAgICAgICAgICByZXR1cm47Cj4gICAgICAgICAgfQo+Cj4gKyAgICAgICAvKiBkbyB0 aGUgZmxpcCAobW1pbykgKi8KPiArICAgICAgIHJhZGVvbl9wYWdlX2ZsaXAocmRldiwgcmFkZW9u X2NydGMtPmNydGNfaWQsIHdvcmstPmJhc2UpOwo+ICsKPiAgICAgICAgICAvKiBQYWdlZmxpcCBj b21wbGV0ZWQuIENsZWFuIHVwLiAqLwo+ICAgICAgICAgIHJhZGVvbl9jcnRjLT5mbGlwX3N0YXR1 cyA9IFJBREVPTl9GTElQX05PTkU7Cj4gICAgICAgICAgcmFkZW9uX2NydGMtPmZsaXBfd29yayA9 IE5VTEw7Cj4gQEAgLTQ3OSw5ICs0ODIsNyBAQCBzdGF0aWMgdm9pZCByYWRlb25fZmxpcF93b3Jr X2Z1bmMoc3RydWN0IHdvcmtfc3RydWN0ICpfX3dvcmspCj4gICAgICAgICAgLyogc2V0IHRoZSBw cm9wZXIgaW50ZXJydXB0ICovCj4gICAgICAgICAgcmFkZW9uX2lycV9rbXNfcGZsaXBfaXJxX2dl dChyZGV2LCByYWRlb25fY3J0Yy0+Y3J0Y19pZCk7Cj4KPiAtICAgICAgIC8qIGRvIHRoZSBmbGlw IChtbWlvKSAqLwo+IC0gICAgICAgcmFkZW9uX3BhZ2VfZmxpcChyZGV2LCByYWRlb25fY3J0Yy0+ Y3J0Y19pZCwgYmFzZSk7Cj4gLQo+ICsgICAgICAgd29yay0+YmFzZSA9IGJhc2U7Cj4gICAgICAg ICAgcmFkZW9uX2NydGMtPmZsaXBfc3RhdHVzID0gUkFERU9OX0ZMSVBfU1VCTUlUVEVEOwo+ICAg ICAgICAgIHNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJmNydGMtPmRldi0+ZXZlbnRfbG9jaywgZmxh Z3MpOwo+ICAgICAgICAgIHVwX3JlYWQoJnJkZXYtPmV4Y2x1c2l2ZV9sb2NrKTsKPgo+CgpfX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpkcmktZGV2ZWwgbWFp bGluZyBsaXN0CmRyaS1kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cDovL2xpc3RzLmZy ZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2RyaS1kZXZlbAo=