From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-9.8 required=3.0 tests=BAYES_00,DKIM_ADSP_CUSTOM_MED, DKIM_INVALID,DKIM_SIGNED,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY, SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 6D8C4C433DF for ; Wed, 5 Aug 2020 05:43:55 +0000 (UTC) Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 37FB922B40 for ; Wed, 5 Aug 2020 05:43:55 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=fail reason="signature verification failed" (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="ohe2UyAw" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 37FB922B40 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=gmail.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=dri-devel-bounces@lists.freedesktop.org Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 717C06E083; Wed, 5 Aug 2020 05:43:54 +0000 (UTC) Received: from mail-yb1-xb42.google.com (mail-yb1-xb42.google.com [IPv6:2607:f8b0:4864:20::b42]) by gabe.freedesktop.org (Postfix) with ESMTPS id 3B50B6E083 for ; Wed, 5 Aug 2020 05:43:53 +0000 (UTC) Received: by mail-yb1-xb42.google.com with SMTP id c18so15770142ybr.1 for ; Tue, 04 Aug 2020 22:43:53 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc:content-transfer-encoding; bh=1ChuoyXhs7LsTIpGdxUViGNIxTtffn4jrvtwxAoz3iU=; b=ohe2UyAwzcaoVrwWEPbsebafYQ8dcVqnzgCHR1/itk+MgF0llu+FXCej1pzjeMstwv d6J5JVmZ0uIeFCRPKGBHQfV+V3dEt2woheDm+Fhvawx8hALA9GTJ0+6dP7XCOMIoB91v R6i/Yc2rXBQNyMVFIz43mXxDD13hxXrFcHTQt2moeNmGx55+Ze60g9m4D+JaZuuTMilc ikM/aFT3SZkqc6VyIiz+XuS+CQ3gHFrfrJ8pQsla3KAnqWooJYtttIT/+J5npwA0ojMT qrUp3Ryg3cJV91tObpnXBPF1Ho2EZ3wqdaftX8rcZ8kITaOiu5Yluc/VmJQd43N2aFRd vF6g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc:content-transfer-encoding; bh=1ChuoyXhs7LsTIpGdxUViGNIxTtffn4jrvtwxAoz3iU=; b=aUkaCWLydFRbELHa1CCGYU4YPUkgqpP7mInd4A7WRP2XiWhfwimZjfDx6RnRUnC4PJ bTL02mwOMytNpVdKSm3HxvnS4Nb3d2rsd9ObCa6dcHpsqXQTQ5OZh1NmYxB61L4DNvWs pZ40GnE4lxBsEcVhQK8mRFfY8uoQVQtbq/WGsoy0iT5q95gAQ4b+ENfEB1vVEj/Hs6UE VGw9AZ8NaOVOEa6D4lZJ95BamjV3/JaXEmNxCfsZSE/lJ/iMOieAutMPb56NJ2yzuVJN UrYmpQqPTG2XisMyGCxDNvDwhGVWPF0fZ0NGxyzbFakXPHlfMZOluwxJ9j292SwYT1QY GliA== X-Gm-Message-State: AOAM533cDzChVpUfmhicWqYzrRz5shq3rVveAY0354U2XjPVz6A4MqqQ q8YAD6eFO6lKaFHB3h3eGz0+zYTZnJsi/N6zE9U= X-Google-Smtp-Source: ABdhPJwXJbl4dG+7jAUYGnuAg8pDtD+sKJejA2aTzrL4cgkClK/HdOGHmST6TLMB150X0kcFPNEu8jPIDqnh7HYO4ec= X-Received: by 2002:a25:cbc5:: with SMTP id b188mr2212756ybg.268.1596606232343; Tue, 04 Aug 2020 22:43:52 -0700 (PDT) MIME-Version: 1.0 References: <20200804025632.3868079-1-airlied@gmail.com> <20200804025632.3868079-27-airlied@gmail.com> <9e4160a3-b73a-b1e0-8fc8-f07732257a01@amd.com> In-Reply-To: <9e4160a3-b73a-b1e0-8fc8-f07732257a01@amd.com> From: Ben Skeggs Date: Wed, 5 Aug 2020 15:43:41 +1000 Message-ID: Subject: Re: [PATCH 26/59] drm/ttm: start allowing drivers to use new takedown path (v2) To: =?UTF-8?Q?Christian_K=C3=B6nig?= X-BeenThere: dri-devel@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Direct Rendering Infrastructure - Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: sroland@vmware.com, ML dri-devel , linux-graphics-maintainer@vmware.com, Ben Skeggs , Gerd Hoffmann Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" T24gVHVlLCA0IEF1ZyAyMDIwIGF0IDIxOjIwLCBDaHJpc3RpYW4gS8O2bmlnIDxjaHJpc3RpYW4u a29lbmlnQGFtZC5jb20+IHdyb3RlOgo+Cj4gQW0gMDQuMDguMjAgdW0gMDQ6NTUgc2NocmllYiBE YXZlIEFpcmxpZToKPiA+IEZyb206IERhdmUgQWlybGllIDxhaXJsaWVkQHJlZGhhdC5jb20+Cj4g Pgo+ID4gQWxsb3cgdGhlIHRha2Vkb3duIHBhdGggY2FsbGJhY2sgdG8gYmUgb3B0aW9uYWwgYXMg d2VsbC4KPiA+Cj4gPiB2MjogdXNlIGZpbmkgZm9yIHJhbmdlIG1hbmFnZXIKPiA+IFNpZ25lZC1v ZmYtYnk6IERhdmUgQWlybGllIDxhaXJsaWVkQHJlZGhhdC5jb20+Cj4KPiBSZXZpZXdlZC1ieTog Q2hyaXN0aWFuIEvDtm5pZyA8Y2hyaXN0aWFuLmtvZW5pZ0BhbWQuY29tPgpSZXZpZXdlZC1ieTog QmVuIFNrZWdncyA8YnNrZWdnc0ByZWRoYXQuY29tPgoKPgo+ID4gLS0tCj4gPiAgIGRyaXZlcnMv Z3B1L2RybS90dG0vdHRtX2JvLmMgICAgICAgICB8IDEyICsrKysrKystLS0tLQo+ID4gICBkcml2 ZXJzL2dwdS9kcm0vdHRtL3R0bV9ib19tYW5hZ2VyLmMgfCAyMSArKysrKysrKysrKysrKysrKysr LS0KPiA+ICAgaW5jbHVkZS9kcm0vdHRtL3R0bV9ib19kcml2ZXIuaCAgICAgIHwgMjQgKysrKysr KysrKysrKysrKysrKysrKysrCj4gPiAgIDMgZmlsZXMgY2hhbmdlZCwgNTAgaW5zZXJ0aW9ucygr KSwgNyBkZWxldGlvbnMoLSkKPiA+Cj4gPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3R0 bS90dG1fYm8uYyBiL2RyaXZlcnMvZ3B1L2RybS90dG0vdHRtX2JvLmMKPiA+IGluZGV4IDEyN2Ew YjYyYmY5OC4uYTQ1MDM4Yzc0ZGU2IDEwMDY0NAo+ID4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL3R0 bS90dG1fYm8uYwo+ID4gKysrIGIvZHJpdmVycy9ncHUvZHJtL3R0bS90dG1fYm8uYwo+ID4gQEAg LTE0MDcsOCArMTQwNyw4IEBAIGludCB0dG1fYm9fY3JlYXRlKHN0cnVjdCB0dG1fYm9fZGV2aWNl ICpiZGV2LAo+ID4gICB9Cj4gPiAgIEVYUE9SVF9TWU1CT0wodHRtX2JvX2NyZWF0ZSk7Cj4gPgo+ ID4gLXN0YXRpYyBpbnQgdHRtX2JvX2ZvcmNlX2xpc3RfY2xlYW4oc3RydWN0IHR0bV9ib19kZXZp Y2UgKmJkZXYsCj4gPiAtICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgdHRt X21lbV90eXBlX21hbmFnZXIgKm1hbikKPiA+ICtpbnQgdHRtX21lbV90eXBlX21hbmFnZXJfZm9y Y2VfbGlzdF9jbGVhbihzdHJ1Y3QgdHRtX2JvX2RldmljZSAqYmRldiwKPiA+ICsgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgdHRtX21lbV90eXBlX21hbmFnZXIg Km1hbikKPiA+ICAgewo+ID4gICAgICAgc3RydWN0IHR0bV9vcGVyYXRpb25fY3R4IGN0eCA9IHsK PiA+ICAgICAgICAgICAgICAgLmludGVycnVwdGlibGUgPSBmYWxzZSwKPiA+IEBAIC0xNDUwLDYg KzE0NTAsNyBAQCBzdGF0aWMgaW50IHR0bV9ib19mb3JjZV9saXN0X2NsZWFuKHN0cnVjdCB0dG1f Ym9fZGV2aWNlICpiZGV2LAo+ID4KPiA+ICAgICAgIHJldHVybiAwOwo+ID4gICB9Cj4gPiArRVhQ T1JUX1NZTUJPTCh0dG1fbWVtX3R5cGVfbWFuYWdlcl9mb3JjZV9saXN0X2NsZWFuKTsKPiA+Cj4g PiAgIGludCB0dG1fYm9fY2xlYW5fbW0oc3RydWN0IHR0bV9ib19kZXZpY2UgKmJkZXYsIHVuc2ln bmVkIG1lbV90eXBlKQo+ID4gICB7Cj4gPiBAQCAtMTQ3MiwxMyArMTQ3MywxNCBAQCBpbnQgdHRt X2JvX2NsZWFuX21tKHN0cnVjdCB0dG1fYm9fZGV2aWNlICpiZGV2LCB1bnNpZ25lZCBtZW1fdHlw ZSkKPiA+Cj4gPiAgICAgICByZXQgPSAwOwo+ID4gICAgICAgaWYgKG1lbV90eXBlID4gMCkgewo+ ID4gLSAgICAgICAgICAgICByZXQgPSB0dG1fYm9fZm9yY2VfbGlzdF9jbGVhbihiZGV2LCBtYW4p Owo+ID4gKyAgICAgICAgICAgICByZXQgPSB0dG1fbWVtX3R5cGVfbWFuYWdlcl9mb3JjZV9saXN0 X2NsZWFuKGJkZXYsIG1hbik7Cj4gPiAgICAgICAgICAgICAgIGlmIChyZXQpIHsKPiA+ICAgICAg ICAgICAgICAgICAgICAgICBwcl9lcnIoIkNsZWFudXAgZXZpY3Rpb24gZmFpbGVkXG4iKTsKPiA+ ICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gcmV0Owo+ID4gICAgICAgICAgICAgICB9Cj4g Pgo+ID4gLSAgICAgICAgICAgICByZXQgPSAoKm1hbi0+ZnVuYy0+dGFrZWRvd24pKG1hbik7Cj4g PiArICAgICAgICAgICAgIGlmIChtYW4tPmZ1bmMtPnRha2Vkb3duKQo+ID4gKyAgICAgICAgICAg ICAgICAgICAgIHJldCA9ICgqbWFuLT5mdW5jLT50YWtlZG93bikobWFuKTsKPiA+ICAgICAgIH0K PiA+Cj4gPiAgICAgICB0dG1fbWVtX3R5cGVfbWFuYWdlcl9jbGVhbnVwKG1hbik7Cj4gPiBAQCAt MTUwMSw3ICsxNTAzLDcgQEAgaW50IHR0bV9ib19ldmljdF9tbShzdHJ1Y3QgdHRtX2JvX2Rldmlj ZSAqYmRldiwgdW5zaWduZWQgbWVtX3R5cGUpCj4gPiAgICAgICAgICAgICAgIHJldHVybiAwOwo+ ID4gICAgICAgfQo+ID4KPiA+IC0gICAgIHJldHVybiB0dG1fYm9fZm9yY2VfbGlzdF9jbGVhbihi ZGV2LCBtYW4pOwo+ID4gKyAgICAgcmV0dXJuIHR0bV9tZW1fdHlwZV9tYW5hZ2VyX2ZvcmNlX2xp c3RfY2xlYW4oYmRldiwgbWFuKTsKPiA+ICAgfQo+ID4gICBFWFBPUlRfU1lNQk9MKHR0bV9ib19l dmljdF9tbSk7Cj4gPgo+ID4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS90dG0vdHRtX2Jv X21hbmFnZXIuYyBiL2RyaXZlcnMvZ3B1L2RybS90dG0vdHRtX2JvX21hbmFnZXIuYwo+ID4gaW5k ZXggYjU2YzY5NjFiMjc4Li45NmRhMjJiZTY3MmIgMTAwNjQ0Cj4gPiAtLS0gYS9kcml2ZXJzL2dw dS9kcm0vdHRtL3R0bV9ib19tYW5hZ2VyLmMKPiA+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS90dG0v dHRtX2JvX21hbmFnZXIuYwo+ID4gQEAgLTEyOSw3ICsxMjksNyBAQCBpbnQgdHRtX3JhbmdlX21h bl9pbml0KHN0cnVjdCB0dG1fYm9fZGV2aWNlICpiZGV2LAo+ID4gICB9Cj4gPiAgIEVYUE9SVF9T WU1CT0wodHRtX3JhbmdlX21hbl9pbml0KTsKPiA+Cj4gPiAtc3RhdGljIGludCB0dG1fYm9fbWFu X3Rha2Vkb3duKHN0cnVjdCB0dG1fbWVtX3R5cGVfbWFuYWdlciAqbWFuKQo+ID4gK3N0YXRpYyBp bnQgdHRtX2JvX21hbl90YWtlZG93bl9wcml2YXRlKHN0cnVjdCB0dG1fbWVtX3R5cGVfbWFuYWdl ciAqbWFuKQo+ID4gICB7Cj4gPiAgICAgICBzdHJ1Y3QgdHRtX3JhbmdlX21hbmFnZXIgKnJtYW4g PSAoc3RydWN0IHR0bV9yYW5nZV9tYW5hZ2VyICopIG1hbi0+cHJpdjsKPiA+ICAgICAgIHN0cnVj dCBkcm1fbW0gKm1tID0gJnJtYW4tPm1tOwo+ID4gQEAgLTE0Niw2ICsxNDYsMjMgQEAgc3RhdGlj IGludCB0dG1fYm9fbWFuX3Rha2Vkb3duKHN0cnVjdCB0dG1fbWVtX3R5cGVfbWFuYWdlciAqbWFu KQo+ID4gICAgICAgcmV0dXJuIC1FQlVTWTsKPiA+ICAgfQo+ID4KPiA+ICtpbnQgdHRtX3Jhbmdl X21hbl9maW5pKHN0cnVjdCB0dG1fYm9fZGV2aWNlICpiZGV2LAo+ID4gKyAgICAgICAgICAgICAg ICAgICAgc3RydWN0IHR0bV9tZW1fdHlwZV9tYW5hZ2VyICptYW4pCj4gPiArewo+ID4gKyAgICAg aW50IHJldDsKPiA+ICsKPiA+ICsgICAgIHR0bV9tZW1fdHlwZV9tYW5hZ2VyX2Rpc2FibGUobWFu KTsKPiA+ICsKPiA+ICsgICAgIHJldCA9IHR0bV9tZW1fdHlwZV9tYW5hZ2VyX2ZvcmNlX2xpc3Rf Y2xlYW4oYmRldiwgbWFuKTsKPiA+ICsgICAgIGlmIChyZXQpCj4gPiArICAgICAgICAgICAgIHJl dHVybiByZXQ7Cj4gPiArCj4gPiArICAgICB0dG1fYm9fbWFuX3Rha2Vkb3duX3ByaXZhdGUobWFu KTsKPiA+ICsgICAgIHR0bV9tZW1fdHlwZV9tYW5hZ2VyX2NsZWFudXAobWFuKTsKPiA+ICsgICAg IHJldHVybiAwOwo+ID4gK30KPiA+ICtFWFBPUlRfU1lNQk9MKHR0bV9yYW5nZV9tYW5fZmluaSk7 Cj4gPiArCj4gPiAgIHN0YXRpYyB2b2lkIHR0bV9ib19tYW5fZGVidWcoc3RydWN0IHR0bV9tZW1f dHlwZV9tYW5hZ2VyICptYW4sCj4gPiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3Qg ZHJtX3ByaW50ZXIgKnByaW50ZXIpCj4gPiAgIHsKPiA+IEBAIC0xNTcsNyArMTc0LDcgQEAgc3Rh dGljIHZvaWQgdHRtX2JvX21hbl9kZWJ1ZyhzdHJ1Y3QgdHRtX21lbV90eXBlX21hbmFnZXIgKm1h biwKPiA+ICAgfQo+ID4KPiA+ICAgc3RhdGljIGNvbnN0IHN0cnVjdCB0dG1fbWVtX3R5cGVfbWFu YWdlcl9mdW5jIHR0bV9ib19tYW5hZ2VyX2Z1bmMgPSB7Cj4gPiAtICAgICAudGFrZWRvd24gPSB0 dG1fYm9fbWFuX3Rha2Vkb3duLAo+ID4gKyAgICAgLnRha2Vkb3duID0gdHRtX2JvX21hbl90YWtl ZG93bl9wcml2YXRlLAo+ID4gICAgICAgLmdldF9ub2RlID0gdHRtX2JvX21hbl9nZXRfbm9kZSwK PiA+ICAgICAgIC5wdXRfbm9kZSA9IHR0bV9ib19tYW5fcHV0X25vZGUsCj4gPiAgICAgICAuZGVi dWcgPSB0dG1fYm9fbWFuX2RlYnVnCj4gPiBkaWZmIC0tZ2l0IGEvaW5jbHVkZS9kcm0vdHRtL3R0 bV9ib19kcml2ZXIuaCBiL2luY2x1ZGUvZHJtL3R0bS90dG1fYm9fZHJpdmVyLmgKPiA+IGluZGV4 IDQxYmZhNTE0YzI5ZC4uOWI0YzIyYWJjMjJjIDEwMDY0NAo+ID4gLS0tIGEvaW5jbHVkZS9kcm0v dHRtL3R0bV9ib19kcml2ZXIuaAo+ID4gKysrIGIvaW5jbHVkZS9kcm0vdHRtL3R0bV9ib19kcml2 ZXIuaAo+ID4gQEAgLTcwNiw2ICs3MDYsMTggQEAgc3RhdGljIGlubGluZSB2b2lkIHR0bV9tZW1f dHlwZV9tYW5hZ2VyX2NsZWFudXAoc3RydWN0IHR0bV9tZW1fdHlwZV9tYW5hZ2VyICptYW4KPiA+ ICAgICAgIG1hbi0+bW92ZSA9IE5VTEw7Cj4gPiAgIH0KPiA+Cj4gPiArLyoKPiA+ICsgKiB0dG1f bWVtX3R5cGVfbWFuYWdlcl9mb3JjZV9saXN0X2NsZWFuCj4gPiArICoKPiA+ICsgKiBAYmRldiAt IGRldmljZSB0byB1c2UKPiA+ICsgKiBAbWFuIC0gbWFuYWdlciB0byB1c2UKPiA+ICsgKgo+ID4g KyAqIEZvcmNlIGFsbCB0aGUgb2JqZWN0cyBvdXQgb2YgYSBtZW1vcnkgbWFuYWdlciB1bnRpbCBj bGVhbi4KPiA+ICsgKiBQYXJ0IG9mIG1lbW9yeSBtYW5hZ2VyIGNsZWFudXAgc2VxdWVuY2UuCj4g PiArICovCj4gPiAraW50IHR0bV9tZW1fdHlwZV9tYW5hZ2VyX2ZvcmNlX2xpc3RfY2xlYW4oc3Ry dWN0IHR0bV9ib19kZXZpY2UgKmJkZXYsCj4gPiArICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgc3RydWN0IHR0bV9tZW1fdHlwZV9tYW5hZ2VyICptYW4pOwo+ID4gKwo+ID4g ICAvKgo+ID4gICAgKiB0dG1fYm9fdXRpbC5jCj4gPiAgICAqLwo+ID4gQEAgLTgzNSw2ICs4NDcs MTcgQEAgaW50IHR0bV9yYW5nZV9tYW5faW5pdChzdHJ1Y3QgdHRtX2JvX2RldmljZSAqYmRldiwK PiA+ICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCB0dG1fbWVtX3R5cGVfbWFuYWdlciAqbWFu LAo+ID4gICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgbG9uZyBwX3NpemUpOwo+ID4KPiA+ ICsvKioKPiA+ICsgKiB0dG1fcmFuZ2VfbWFuX2ZpbmkKPiA+ICsgKgo+ID4gKyAqIEBiZGV2OiB0 dG0gZGV2aWNlCj4gPiArICogQHR5cGU6IG1lbW9yeSBtYW5hZ2VyIHR5cGUKPiA+ICsgKgo+ID4g KyAqIFJlbW92ZSB0aGUgZ2VuZXJpYyByYW5nZSBtYW5hZ2VyIGZyb20gYSBzbG90IGFuZCB0ZWFy IGl0IGRvd24uCj4gPiArICovCj4gPiAraW50IHR0bV9yYW5nZV9tYW5fZmluaShzdHJ1Y3QgdHRt X2JvX2RldmljZSAqYmRldiwKPiA+ICsgICAgICAgICAgICAgICAgICAgIHN0cnVjdCB0dG1fbWVt X3R5cGVfbWFuYWdlciAqbWFuKTsKPiA+ICsKPiA+ICAgLyoqCj4gPiAgICAqIHR0bV9tZW1fdHlw ZV9tYW5hZ2VyX2RlYnVnCj4gPiAgICAqCj4gPiBAQCAtODQzLDQgKzg2Niw1IEBAIGludCB0dG1f cmFuZ2VfbWFuX2luaXQoc3RydWN0IHR0bV9ib19kZXZpY2UgKmJkZXYsCj4gPiAgICAqLwo+ID4g ICB2b2lkIHR0bV9tZW1fdHlwZV9tYW5hZ2VyX2RlYnVnKHN0cnVjdCB0dG1fbWVtX3R5cGVfbWFu YWdlciAqbWFuLAo+ID4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IGRybV9w cmludGVyICpwKTsKPiA+ICsKPiA+ICAgI2VuZGlmCj4KPiBfX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fXwo+IGRyaS1kZXZlbCBtYWlsaW5nIGxpc3QKPiBkcmkt ZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCj4gaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5v cmcvbWFpbG1hbi9saXN0aW5mby9kcmktZGV2ZWwKX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX18KZHJpLWRldmVsIG1haWxpbmcgbGlzdApkcmktZGV2ZWxAbGlz dHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4v bGlzdGluZm8vZHJpLWRldmVsCg==