From mboxrd@z Thu Jan 1 00:00:00 1970 From: Daniel Vetter Subject: Re: [PATCH 12/38] drm/fence: add fence to drm_pending_event Date: Thu, 2 Jun 2016 22:15:59 +0200 Message-ID: <20160602201559.GQ7231@phenom.ffwll.local> References: <1464818821-5736-1-git-send-email-daniel.vetter@ffwll.ch> <1464818821-5736-13-git-send-email-daniel.vetter@ffwll.ch> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-wm0-x241.google.com (mail-wm0-x241.google.com [IPv6:2a00:1450:400c:c09::241]) by gabe.freedesktop.org (Postfix) with ESMTPS id BC3D66EC41 for ; Thu, 2 Jun 2016 20:16:04 +0000 (UTC) Received: by mail-wm0-x241.google.com with SMTP id a136so18709098wme.0 for ; Thu, 02 Jun 2016 13:16:04 -0700 (PDT) Content-Disposition: inline In-Reply-To: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Sean Paul Cc: Daniel Vetter , Intel Graphics Development , Gustavo Padovan , DRI Development List-Id: intel-gfx@lists.freedesktop.org T24gVGh1LCBKdW4gMDIsIDIwMTYgYXQgMDI6NDk6MTNQTSAtMDQwMCwgU2VhbiBQYXVsIHdyb3Rl Ogo+IE9uIFdlZCwgSnVuIDEsIDIwMTYgYXQgNjowNiBQTSwgRGFuaWVsIFZldHRlciA8ZGFuaWVs LnZldHRlckBmZndsbC5jaD4gd3JvdGU6Cj4gPiBGcm9tOiBHdXN0YXZvIFBhZG92YW4gPGd1c3Rh dm8ucGFkb3ZhbkBjb2xsYWJvcmEuY28udWs+Cj4gPgo+ID4gTm93IGEgZHJtX3BlbmRpbmdfZXZl bnQgY2FuIGVpdGhlciBzZW5kIGEgcmVhbCBkcm1fZXZlbnQgb3Igc2lnbmFsIGEKPiA+IGZlbmNl LCBvciBib3RoLiBJdCBhbGxvdyB1cyB0byBzaWduYWwgdmlhIGZlbmNlcyB3aGVuIHRoZSBidWZm ZXIgaXMKPiA+IGRpc3BsYXllZCBvbiB0aGUgc2NyZWVuLiBXaGljaCBpbiB0dXJuIG1lYW5zIHRo YXQgdGhlIHByZXZpb3VzIGJ1ZmZlcgo+ID4gaXMgbm90IGluIHVzZSBhbnltb3JlIGFuZCBjYW4g YmUgZnJlZWQgb3Igc2VudCBiYWNrIHRvIGFub3RoZXIgZHJpdmVyCj4gPiBmb3IgcHJvY2Vzc2lu Zy4KPiA+Cj4gPiB2MjogQ29tbWVudHMgZnJvbSBEYW5pZWwgVmV0dGVyCj4gPiAgICAgICAgIC0g Y2FsbCBmZW5jZV9zaWduYWwgaW4gZHJtX3NlbmRfZXZlbnRfbG9ja2VkKCkKPiA+ICAgICAgICAg LSByZW1vdmUgdW5uZWVkZWQgIWUtPmV2ZW50IGNoZWNrCj4gPgo+ID4gdjM6IFJlbW92ZSBkcm1f cGVuZGluZ19ldmVudC0+ZGVzdHJveSB0byBmaXggYSBsZWFrIHdoZW4gZS0+ZmlsZV9wcml2Cj4g PiBpcyBub3Qgc2V0Lgo+ID4KPiA+IFNpZ25lZC1vZmYtYnk6IEd1c3Rhdm8gUGFkb3ZhbiA8Z3Vz dGF2by5wYWRvdmFuQGNvbGxhYm9yYS5jby51az4gKHYyKQo+ID4gU2lnbmVkLW9mZi1ieTogRGFu aWVsIFZldHRlciA8ZGFuaWVsLnZldHRlckBmZndsbC5jaD4KPiAKPiAKPiBJIHN1cHBvc2Ugb25l IGNvdWxkIGFyZ3VlIHRoYXQgdGhlIHMvZGVzdHJveS9rZnJlZS8gY2hhbmdlIG1pZ2h0Cj4gd2Fy cmFudCBhIHNlcGFyYXRlIGNoYW5nZSwgYnV0IHRoZSBwYXRjaCBpcyB2ZXJ5IHJlYWRhYmxlIGFz LWlzLCBzbzoKIApZZWFoIEkgZ290IHNvbWV3aGF0IGxhenkgd2l0aCB0aGlzIG9uZSA7LSkKCj4g UmV2aWV3ZWQtYnk6IFNlYW4gUGF1bCA8c2VhbnBhdWxAY2hyb21pdW0ub3JnPgoKVGhhbmtzIGZv ciB0aGUgcmV2aWV3LCBwYXRjaCBtZXJnZWQgdG8gZHJtLW1pc2MuCi1EYW5pZWwKCj4gCj4gPiAt LS0KPiA+ICBkcml2ZXJzL2dwdS9kcm0vZHJtX2F0b21pYy5jICAgICAgICAgICAgICAgIHwgMTkg KysrKysrKysrKysrKy0tLS0tLQo+ID4gIGRyaXZlcnMvZ3B1L2RybS9kcm1fZm9wcy5jICAgICAg ICAgICAgICAgICAgfCAxNiArKysrKysrKystLS0tLS0tCj4gPiAgZHJpdmVycy9ncHUvZHJtL25v dXZlYXUvbm91dmVhdV91c2lmLmMgICAgICB8ICAxIC0KPiA+ICBkcml2ZXJzL2dwdS9kcm0vcm9j a2NoaXAvcm9ja2NoaXBfZHJtX3ZvcC5jIHwgIDIgKy0KPiA+ICBpbmNsdWRlL2RybS9kcm1QLmgg ICAgICAgICAgICAgICAgICAgICAgICAgIHwgIDMgKystCj4gPiAgNSBmaWxlcyBjaGFuZ2VkLCAy NSBpbnNlcnRpb25zKCspLCAxNiBkZWxldGlvbnMoLSkKPiA+Cj4gPiBkaWZmIC0tZ2l0IGEvZHJp dmVycy9ncHUvZHJtL2RybV9hdG9taWMuYyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fYXRvbWljLmMK PiA+IGluZGV4IDUwOTNkODFmNjBmNy4uNWU0YjgyMGE5NzdjIDEwMDY0NAo+ID4gLS0tIGEvZHJp dmVycy9ncHUvZHJtL2RybV9hdG9taWMuYwo+ID4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2RybV9h dG9taWMuYwo+ID4gQEAgLTE0MTMsNyArMTQxMyw4IEBAIEVYUE9SVF9TWU1CT0woZHJtX2F0b21p Y19ub25ibG9ja2luZ19jb21taXQpOwo+ID4gICAqLwo+ID4KPiA+ICBzdGF0aWMgc3RydWN0IGRy bV9wZW5kaW5nX3ZibGFua19ldmVudCAqY3JlYXRlX3ZibGFua19ldmVudCgKPiA+IC0gICAgICAg ICAgICAgICBzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCBzdHJ1Y3QgZHJtX2ZpbGUgKmZpbGVfcHJp diwgdWludDY0X3QgdXNlcl9kYXRhKQo+ID4gKyAgICAgICAgICAgICAgIHN0cnVjdCBkcm1fZGV2 aWNlICpkZXYsIHN0cnVjdCBkcm1fZmlsZSAqZmlsZV9wcml2LAo+ID4gKyAgICAgICAgICAgICAg IHN0cnVjdCBmZW5jZSAqZmVuY2UsIHVpbnQ2NF90IHVzZXJfZGF0YSkKPiA+ICB7Cj4gPiAgICAg ICAgIHN0cnVjdCBkcm1fcGVuZGluZ192YmxhbmtfZXZlbnQgKmUgPSBOVUxMOwo+ID4gICAgICAg ICBpbnQgcmV0Owo+ID4gQEAgLTE0MjYsMTIgKzE0MjcsMTcgQEAgc3RhdGljIHN0cnVjdCBkcm1f cGVuZGluZ192YmxhbmtfZXZlbnQgKmNyZWF0ZV92YmxhbmtfZXZlbnQoCj4gPiAgICAgICAgIGUt PmV2ZW50LmJhc2UubGVuZ3RoID0gc2l6ZW9mKGUtPmV2ZW50KTsKPiA+ICAgICAgICAgZS0+ZXZl bnQudXNlcl9kYXRhID0gdXNlcl9kYXRhOwo+ID4KPiA+IC0gICAgICAgcmV0ID0gZHJtX2V2ZW50 X3Jlc2VydmVfaW5pdChkZXYsIGZpbGVfcHJpdiwgJmUtPmJhc2UsICZlLT5ldmVudC5iYXNlKTsK PiA+IC0gICAgICAgaWYgKHJldCkgewo+ID4gLSAgICAgICAgICAgICAgIGtmcmVlKGUpOwo+ID4g LSAgICAgICAgICAgICAgIHJldHVybiBOVUxMOwo+ID4gKyAgICAgICBpZiAoZmlsZV9wcml2KSB7 Cj4gPiArICAgICAgICAgICAgICAgcmV0ID0gZHJtX2V2ZW50X3Jlc2VydmVfaW5pdChkZXYsIGZp bGVfcHJpdiwgJmUtPmJhc2UsCj4gPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAmZS0+ZXZlbnQuYmFzZSk7Cj4gPiArICAgICAgICAgICAgICAgaWYgKHJldCkg ewo+ID4gKyAgICAgICAgICAgICAgICAgICAgICAga2ZyZWUoZSk7Cj4gPiArICAgICAgICAgICAg ICAgICAgICAgICByZXR1cm4gTlVMTDsKPiA+ICsgICAgICAgICAgICAgICB9Cj4gPiAgICAgICAg IH0KPiA+Cj4gPiArICAgICAgIGUtPmJhc2UuZmVuY2UgPSBmZW5jZTsKPiA+ICsKPiA+ICAgICAg ICAgcmV0dXJuIGU7Cj4gPiAgfQo+ID4KPiA+IEBAIC0xNjcxLDcgKzE2NzcsOCBAQCByZXRyeToK PiA+ICAgICAgICAgICAgICAgICBmb3JfZWFjaF9jcnRjX2luX3N0YXRlKHN0YXRlLCBjcnRjLCBj cnRjX3N0YXRlLCBpKSB7Cj4gPiAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgZHJtX3Bl bmRpbmdfdmJsYW5rX2V2ZW50ICplOwo+ID4KPiA+IC0gICAgICAgICAgICAgICAgICAgICAgIGUg PSBjcmVhdGVfdmJsYW5rX2V2ZW50KGRldiwgZmlsZV9wcml2LCBhcmctPnVzZXJfZGF0YSk7Cj4g PiArICAgICAgICAgICAgICAgICAgICAgICBlID0gY3JlYXRlX3ZibGFua19ldmVudChkZXYsIGZp bGVfcHJpdiwgTlVMTCwKPiA+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIGFyZy0+dXNlcl9kYXRhKTsKPiA+ICAgICAgICAgICAgICAgICAgICAgICAgIGlm ICghZSkgewo+ID4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXQgPSAtRU5PTUVN Owo+ID4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnb3RvIG91dDsKPiA+IGRpZmYg LS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vZHJtX2ZvcHMuYyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1f Zm9wcy5jCj4gPiBpbmRleCA4Njg4NzEwNjg5NTYuLjRjNGIzMGY3YTlmMiAxMDA2NDQKPiA+IC0t LSBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fZm9wcy5jCj4gPiArKysgYi9kcml2ZXJzL2dwdS9kcm0v ZHJtX2ZvcHMuYwo+ID4gQEAgLTI5NCw3ICsyOTQsNyBAQCBzdGF0aWMgdm9pZCBkcm1fZXZlbnRz X3JlbGVhc2Uoc3RydWN0IGRybV9maWxlICpmaWxlX3ByaXYpCj4gPiAgICAgICAgIC8qIFJlbW92 ZSB1bmNvbnN1bWVkIGV2ZW50cyAqLwo+ID4gICAgICAgICBsaXN0X2Zvcl9lYWNoX2VudHJ5X3Nh ZmUoZSwgZXQsICZmaWxlX3ByaXYtPmV2ZW50X2xpc3QsIGxpbmspIHsKPiA+ICAgICAgICAgICAg ICAgICBsaXN0X2RlbCgmZS0+bGluayk7Cj4gPiAtICAgICAgICAgICAgICAgZS0+ZGVzdHJveShl KTsKPiA+ICsgICAgICAgICAgICAgICBrZnJlZShlKTsKPiA+ICAgICAgICAgfQo+ID4KPiA+ICAg ICAgICAgc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmZGV2LT5ldmVudF9sb2NrLCBmbGFncyk7Cj4g PiBAQCAtNTI1LDcgKzUyNSw3IEBAIHB1dF9iYWNrX2V2ZW50Ogo+ID4gICAgICAgICAgICAgICAg ICAgICAgICAgfQo+ID4KPiA+ICAgICAgICAgICAgICAgICAgICAgICAgIHJldCArPSBsZW5ndGg7 Cj4gPiAtICAgICAgICAgICAgICAgICAgICAgICBlLT5kZXN0cm95KGUpOwo+ID4gKyAgICAgICAg ICAgICAgICAgICAgICAga2ZyZWUoZSk7Cj4gPiAgICAgICAgICAgICAgICAgfQo+ID4gICAgICAg ICB9Cj4gPiAgICAgICAgIG11dGV4X3VubG9jaygmZmlsZV9wcml2LT5ldmVudF9yZWFkX2xvY2sp Owo+ID4gQEAgLTYwMiw5ICs2MDIsNiBAQCBpbnQgZHJtX2V2ZW50X3Jlc2VydmVfaW5pdF9sb2Nr ZWQoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKPiA+ICAgICAgICAgbGlzdF9hZGQoJnAtPnBlbmRp bmdfbGluaywgJmZpbGVfcHJpdi0+cGVuZGluZ19ldmVudF9saXN0KTsKPiA+ICAgICAgICAgcC0+ ZmlsZV9wcml2ID0gZmlsZV9wcml2Owo+ID4KPiA+IC0gICAgICAgLyogd2UgKmNvdWxkKiBwYXNz IHRoaXMgaW4gYXMgYXJnLCBidXQgZXZlcnlvbmUgdXNlcyBrZnJlZTogKi8KPiA+IC0gICAgICAg cC0+ZGVzdHJveSA9ICh2b2lkICgqKSAoc3RydWN0IGRybV9wZW5kaW5nX2V2ZW50ICopKSBrZnJl ZTsKPiA+IC0KPiA+ICAgICAgICAgcmV0dXJuIDA7Cj4gPiAgfQo+ID4gIEVYUE9SVF9TWU1CT0wo ZHJtX2V2ZW50X3Jlc2VydmVfaW5pdF9sb2NrZWQpOwo+ID4gQEAgLTY2Nyw3ICs2NjQsNyBAQCB2 b2lkIGRybV9ldmVudF9jYW5jZWxfZnJlZShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAo+ID4gICAg ICAgICAgICAgICAgIGxpc3RfZGVsKCZwLT5wZW5kaW5nX2xpbmspOwo+ID4gICAgICAgICB9Cj4g PiAgICAgICAgIHNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJmRldi0+ZXZlbnRfbG9jaywgZmxhZ3Mp Owo+ID4gLSAgICAgICBwLT5kZXN0cm95KHApOwo+ID4gKyAgICAgICBrZnJlZShwKTsKPiA+ICB9 Cj4gPiAgRVhQT1JUX1NZTUJPTChkcm1fZXZlbnRfY2FuY2VsX2ZyZWUpOwo+ID4KPiA+IEBAIC02 ODksOCArNjg2LDEzIEBAIHZvaWQgZHJtX3NlbmRfZXZlbnRfbG9ja2VkKHN0cnVjdCBkcm1fZGV2 aWNlICpkZXYsIHN0cnVjdCBkcm1fcGVuZGluZ19ldmVudCAqZSkKPiA+ICB7Cj4gPiAgICAgICAg IGFzc2VydF9zcGluX2xvY2tlZCgmZGV2LT5ldmVudF9sb2NrKTsKPiA+Cj4gPiArICAgICAgIGlm IChlLT5mZW5jZSkgewo+ID4gKyAgICAgICAgICAgICAgIGZlbmNlX3NpZ25hbChlLT5mZW5jZSk7 Cj4gPiArICAgICAgICAgICAgICAgZmVuY2VfcHV0KGUtPmZlbmNlKTsKPiA+ICsgICAgICAgfQo+ ID4gKwo+ID4gICAgICAgICBpZiAoIWUtPmZpbGVfcHJpdikgewo+ID4gLSAgICAgICAgICAgICAg IGUtPmRlc3Ryb3koZSk7Cj4gPiArICAgICAgICAgICAgICAga2ZyZWUoZSk7Cj4gPiAgICAgICAg ICAgICAgICAgcmV0dXJuOwo+ID4gICAgICAgICB9Cj4gPgo+ID4gZGlmZiAtLWdpdCBhL2RyaXZl cnMvZ3B1L2RybS9ub3V2ZWF1L25vdXZlYXVfdXNpZi5jIGIvZHJpdmVycy9ncHUvZHJtL25vdXZl YXUvbm91dmVhdV91c2lmLmMKPiA+IGluZGV4IDY3NWU5ZTA3N2E5NS4uMDhmOWM2ZmEwZjdmIDEw MDY0NAo+ID4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL25vdXZlYXUvbm91dmVhdV91c2lmLmMKPiA+ ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9ub3V2ZWF1L25vdXZlYXVfdXNpZi5jCj4gPiBAQCAtMjEy LDcgKzIxMiw2IEBAIHVzaWZfbm90aWZ5X2dldChzdHJ1Y3QgZHJtX2ZpbGUgKmYsIHZvaWQgKmRh dGEsIHUzMiBzaXplLCB2b2lkICphcmd2LCB1MzIgYXJnYykKPiA+ICAgICAgICAgbnRmeS0+cC0+ YmFzZS5ldmVudCA9ICZudGZ5LT5wLT5lLmJhc2U7Cj4gPiAgICAgICAgIG50ZnktPnAtPmJhc2Uu ZmlsZV9wcml2ID0gZjsKPiA+ICAgICAgICAgbnRmeS0+cC0+YmFzZS5waWQgPSBjdXJyZW50LT5w aWQ7Cj4gPiAtICAgICAgIG50ZnktPnAtPmJhc2UuZGVzdHJveSA9KHZvaWQoKikoc3RydWN0IGRy bV9wZW5kaW5nX2V2ZW50ICopKWtmcmVlOwo+ID4gICAgICAgICBudGZ5LT5wLT5lLmJhc2UudHlw ZSA9IERSTV9OT1VWRUFVX0VWRU5UX05WSUY7Cj4gPiAgICAgICAgIG50ZnktPnAtPmUuYmFzZS5s ZW5ndGggPSBzaXplb2YobnRmeS0+cC0+ZS5iYXNlKSArIG50ZnktPnJlcGx5Owo+ID4KPiA+IGRp ZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vcm9ja2NoaXAvcm9ja2NoaXBfZHJtX3ZvcC5jIGIv ZHJpdmVycy9ncHUvZHJtL3JvY2tjaGlwL3JvY2tjaGlwX2RybV92b3AuYwo+ID4gaW5kZXggMWM0 ZDViNWE3MGEyLi41NTY3ZmI0M2U2NzQgMTAwNjQ0Cj4gPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0v cm9ja2NoaXAvcm9ja2NoaXBfZHJtX3ZvcC5jCj4gPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vcm9j a2NoaXAvcm9ja2NoaXBfZHJtX3ZvcC5jCj4gPiBAQCAtODg5LDcgKzg4OSw3IEBAIHN0YXRpYyB2 b2lkIHZvcF9jcnRjX2NhbmNlbF9wZW5kaW5nX3ZibGFuayhzdHJ1Y3QgZHJtX2NydGMgKmNydGMs Cj4gPiAgICAgICAgIGlmIChlICYmIGUtPmJhc2UuZmlsZV9wcml2ID09IGZpbGVfcHJpdikgewo+ ID4gICAgICAgICAgICAgICAgIHZvcC0+ZXZlbnQgPSBOVUxMOwo+ID4KPiA+IC0gICAgICAgICAg ICAgICBlLT5iYXNlLmRlc3Ryb3koJmUtPmJhc2UpOwo+ID4gKyAgICAgICAgICAgICAgIGtmcmVl KCZlLT5iYXNlKTsKPiA+ICAgICAgICAgICAgICAgICBmaWxlX3ByaXYtPmV2ZW50X3NwYWNlICs9 IHNpemVvZihlLT5ldmVudCk7Cj4gPiAgICAgICAgIH0KPiA+ICAgICAgICAgc3Bpbl91bmxvY2tf aXJxcmVzdG9yZSgmZHJtLT5ldmVudF9sb2NrLCBmbGFncyk7Cj4gPiBkaWZmIC0tZ2l0IGEvaW5j bHVkZS9kcm0vZHJtUC5oIGIvaW5jbHVkZS9kcm0vZHJtUC5oCj4gPiBpbmRleCBmNTFmYTQzMjg0 OTQuLjUxZjc1MWQxYzhhNCAxMDA2NDQKPiA+IC0tLSBhL2luY2x1ZGUvZHJtL2RybVAuaAo+ID4g KysrIGIvaW5jbHVkZS9kcm0vZHJtUC5oCj4gPiBAQCAtNTcsNiArNTcsNyBAQAo+ID4gICNpbmNs dWRlIDxsaW51eC90eXBlcy5oPgo+ID4gICNpbmNsdWRlIDxsaW51eC92bWFsbG9jLmg+Cj4gPiAg I2luY2x1ZGUgPGxpbnV4L3dvcmtxdWV1ZS5oPgo+ID4gKyNpbmNsdWRlIDxsaW51eC9mZW5jZS5o Pgo+ID4KPiA+ICAjaW5jbHVkZSA8YXNtL21tYW4uaD4KPiA+ICAjaW5jbHVkZSA8YXNtL3BnYWxs b2MuaD4KPiA+IEBAIC0yODMsMTIgKzI4NCwxMiBAQCBzdHJ1Y3QgZHJtX2lvY3RsX2Rlc2Mgewo+ ID4gIC8qIEV2ZW50IHF1ZXVlZCB1cCBmb3IgdXNlcnNwYWNlIHRvIHJlYWQgKi8KPiA+ICBzdHJ1 Y3QgZHJtX3BlbmRpbmdfZXZlbnQgewo+ID4gICAgICAgICBzdHJ1Y3QgZHJtX2V2ZW50ICpldmVu dDsKPiA+ICsgICAgICAgc3RydWN0IGZlbmNlICpmZW5jZTsKPiA+ICAgICAgICAgc3RydWN0IGxp c3RfaGVhZCBsaW5rOwo+ID4gICAgICAgICBzdHJ1Y3QgbGlzdF9oZWFkIHBlbmRpbmdfbGluazsK PiA+ICAgICAgICAgc3RydWN0IGRybV9maWxlICpmaWxlX3ByaXY7Cj4gPiAgICAgICAgIHBpZF90 IHBpZDsgLyogcGlkIG9mIHJlcXVlc3Rlciwgbm8gZ3VhcmFudGVlIGl0J3MgdmFsaWQgYnkgdGhl IHRpbWUKPiA+ICAgICAgICAgICAgICAgICAgICAgICB3ZSBkZWxpdmVyIHRoZSBldmVudCwgZm9y IHRyYWNpbmcgb25seSAqLwo+ID4gLSAgICAgICB2b2lkICgqZGVzdHJveSkoc3RydWN0IGRybV9w ZW5kaW5nX2V2ZW50ICpldmVudCk7Cj4gPiAgfTsKPiA+Cj4gPiAgLyogaW5pdGlhbCBpbXBsZW1l bnRhdG9uIHVzaW5nIGEgbGlua2VkIGxpc3QgLSB0b2RvIGhhc2h0YWIgKi8KPiA+IC0tCj4gPiAy LjguMQo+ID4KPiA+IF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fCj4gPiBkcmktZGV2ZWwgbWFpbGluZyBsaXN0Cj4gPiBkcmktZGV2ZWxAbGlzdHMuZnJlZWRl c2t0b3Aub3JnCj4gPiBodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3Rp bmZvL2RyaS1kZXZlbAoKLS0gCkRhbmllbCBWZXR0ZXIKU29mdHdhcmUgRW5naW5lZXIsIEludGVs IENvcnBvcmF0aW9uCmh0dHA6Ly9ibG9nLmZmd2xsLmNoCl9fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4 QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWls bWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=