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 2B25CC433DF for ; Wed, 5 Aug 2020 05:51:54 +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 F32EA2245C for ; Wed, 5 Aug 2020 05:51:53 +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="oQZoy5/w" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org F32EA2245C 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 7C4C66E4D7; Wed, 5 Aug 2020 05:51:53 +0000 (UTC) Received: from mail-yb1-xb43.google.com (mail-yb1-xb43.google.com [IPv6:2607:f8b0:4864:20::b43]) by gabe.freedesktop.org (Postfix) with ESMTPS id B24AC6E4D7 for ; Wed, 5 Aug 2020 05:51:51 +0000 (UTC) Received: by mail-yb1-xb43.google.com with SMTP id p191so6990211ybg.0 for ; Tue, 04 Aug 2020 22:51:51 -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=ixQDfc1N+lmsnYLFG02eyqxv2PkQqBwR+UvKNGm/r0M=; b=oQZoy5/wpOI7SzFJHp8jHWp+o/g3qaqvwz286Z5xqG3Ty4mVgmMwTiVMraFhIlp//k N0zrbC8Blk4pkkiC+ssh4vzEXxDXR76iIv5nd8p9GwvvcnUM6o9G5GboXbTvLCXH+0LO QrtGfp+VVeaca1wg84JG8+QYA1AtGhBoYpxx/CW9bNSlGqg8eNsF34OjNzMTRUF6K31q iPIPP+EX2LdokY7DaT14N2erLJDF9oGP9pGSbDPoArM0TiReZyeL7OjaPboZtba59301 dTH1BLDUYrnefwvFH6rk8KS7MabWOaCkaLy4XK3umZezGmD/6nOAOmzLgjw7NUydmsEW 8C2Q== 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=ixQDfc1N+lmsnYLFG02eyqxv2PkQqBwR+UvKNGm/r0M=; b=jTc1Qcjpe4nSSYC3IvRI7882P5HKGz2ZJEuMA5oJ0eSbqAtn0T8EkBSJGaC8qeCYWQ 6+W+9oVXDuVC8sAR1PJN2nOb46BwH2QuoLvpf70xOuYfiD+8Gd++LAkTiR3FzJ4L8ieL 414EjyPRBxERZ/RSZvtsUJXpKMqvcTt5ZWvhLdunrpXiU/ZoC+N9twJJXTy8JEc6kQ0+ Bn7LsveQ3wsCDSfDzg23waZ6NctG++gNXR6kG8EPMMg+ZtLH3QbOcwBrJO83Y1HxGAF1 xgQ3/mkowJOAD1U3YDSdbj/th6+UUoirIvNpHW2EGDXUjf1qj8nV6POdWlH9UfRAFVX8 KlPA== X-Gm-Message-State: AOAM533dA9N7qAAdpT9hMoeUXH2K+aibzG6uiK0ZMZKFDNnqHUkASrDa pCfpJOqQYd+F7OOqXJdb6kcby3bQy07TCdC5IW0= X-Google-Smtp-Source: ABdhPJzEqGPt3NiK8v2yJUrbwxnWmXGJYrV8lI+LZc+RurV6D9Uq3nPBdmpvuGJ2428AYKrFiObPZsNhL0YWEcCYtec= X-Received: by 2002:a25:4d41:: with SMTP id a62mr2608585ybb.83.1596606710823; Tue, 04 Aug 2020 22:51:50 -0700 (PDT) MIME-Version: 1.0 References: <20200804025632.3868079-1-airlied@gmail.com> <20200804025632.3868079-47-airlied@gmail.com> In-Reply-To: From: Ben Skeggs Date: Wed, 5 Aug 2020 15:51:39 +1000 Message-ID: Subject: Re: [PATCH 46/59] drm/ttm: make ttm_range_man_init/takedown take type + args 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" T24gVHVlLCA0IEF1ZyAyMDIwIGF0IDIxOjM1LCBDaHJpc3RpYW4gS8O2bmlnIDxjaHJpc3RpYW4u a29lbmlnQGFtZC5jb20+IHdyb3RlOgo+Cj4gQW0gMDQuMDguMjAgdW0gMDQ6NTYgc2NocmllYiBE YXZlIEFpcmxpZToKPiA+IEZyb206IERhdmUgQWlybGllIDxhaXJsaWVkQHJlZGhhdC5jb20+Cj4g Pgo+ID4gVGhpcyBtYWtlcyBpdCBlYXNpZXIgdG8gbW92ZSB0aGVzZSB0byBhIGRyaXZlciBhbGxv Y2F0ZWQgc3lzdGVtCj4gPgo+ID4gU2lnbmVkLW9mZi1ieTogRGF2ZSBBaXJsaWUgPGFpcmxpZWRA cmVkaGF0LmNvbT4KPgo+IFJldmlld2VkLWJ5OiBDaHJpc3RpYW4gS8O2bmlnIDxjaHJpc3RpYW4u a29lbmlnQGFtZC5jb20+ClJldmlld2VkLWJ5OiBCZW4gU2tlZ2dzIDxic2tlZ2dzQHJlZGhhdC5j b20+Cgo+Cj4gPiAtLS0KPiA+ICAgZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X3R0 bS5jIHwgMTUgKysrKystLS0tLS0tCj4gPiAgIGRyaXZlcnMvZ3B1L2RybS9kcm1fZ2VtX3ZyYW1f aGVscGVyLmMgICB8IDEwICsrKystLS0tCj4gPiAgIGRyaXZlcnMvZ3B1L2RybS9ub3V2ZWF1L25v dXZlYXVfdHRtLmMgICB8IDIyICsrKysrKysrKysrLS0tLS0tLQo+ID4gICBkcml2ZXJzL2dwdS9k cm0vcXhsL3F4bF90dG0uYyAgICAgICAgICAgfCAxMyArKysrLS0tLS0tLQo+ID4gICBkcml2ZXJz L2dwdS9kcm0vcmFkZW9uL3JhZGVvbl90dG0uYyAgICAgfCAzMSArKysrKysrKysrKystLS0tLS0t LS0tLS0tCj4gPiAgIGRyaXZlcnMvZ3B1L2RybS90dG0vdHRtX2JvX21hbmFnZXIuYyAgICB8IDE5 ICsrKysrKysrKysrLS0tLQo+ID4gICBkcml2ZXJzL2dwdS9kcm0vdm13Z2Z4L3Ztd2dmeF9kcnYu YyAgICAgfCAxMyArKysrLS0tLS0tLQo+ID4gICBpbmNsdWRlL2RybS90dG0vdHRtX2JvX2RyaXZl ci5oICAgICAgICAgfCAxMiArKysrKysrLS0tCj4gPiAgIDggZmlsZXMgY2hhbmdlZCwgNzAgaW5z ZXJ0aW9ucygrKSwgNjUgZGVsZXRpb25zKC0pCj4gPgo+ID4gZGlmZiAtLWdpdCBhL2RyaXZlcnMv Z3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV90dG0uYyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1k Z3B1L2FtZGdwdV90dG0uYwo+ID4gaW5kZXggMWJkODYwODc3ZjFlLi5iMTkwZDUwZGM5YmIgMTAw NjQ0Cj4gPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfdHRtLmMKPiA+ ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV90dG0uYwo+ID4gQEAgLTY3 LDEyICs2Nyw5IEBAIHN0YXRpYyBpbnQgYW1kZ3B1X3R0bV9pbml0X29uX2NoaXAoc3RydWN0IGFt ZGdwdV9kZXZpY2UgKmFkZXYsCj4gPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg dW5zaWduZWQgaW50IHR5cGUsCj4gPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg dWludDY0X3Qgc2l6ZSkKPiA+ICAgewo+ID4gLSAgICAgc3RydWN0IHR0bV9tZW1fdHlwZV9tYW5h Z2VyICptYW4gPSB0dG1fbWFuYWdlcl90eXBlKCZhZGV2LT5tbWFuLmJkZXYsIHR5cGUpOwo+ID4g LQo+ID4gLSAgICAgbWFuLT5hdmFpbGFibGVfY2FjaGluZyA9IFRUTV9QTF9GTEFHX1VOQ0FDSEVE Owo+ID4gLSAgICAgbWFuLT5kZWZhdWx0X2NhY2hpbmcgPSBUVE1fUExfRkxBR19VTkNBQ0hFRDsK PiA+IC0KPiA+IC0gICAgIHJldHVybiB0dG1fcmFuZ2VfbWFuX2luaXQoJmFkZXYtPm1tYW4uYmRl diwgbWFuLCBzaXplID4+IFBBR0VfU0hJRlQpOwo+ID4gKyAgICAgcmV0dXJuIHR0bV9yYW5nZV9t YW5faW5pdCgmYWRldi0+bW1hbi5iZGV2LCB0eXBlLAo+ID4gKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBUVE1fUExfRkxBR19VTkNBQ0hFRCwgVFRNX1BMX0ZMQUdfVU5DQUNIRUQsCj4g PiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZhbHNlLCBzaXplID4+IFBBR0VfU0hJ RlQpOwo+ID4gICB9Cj4gPgo+ID4gICAvKioKPiA+IEBAIC0yMDE0LDkgKzIwMTEsOSBAQCB2b2lk IGFtZGdwdV90dG1fZmluaShzdHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRldikKPiA+Cj4gPiAgICAg ICBhbWRncHVfdnJhbV9tZ3JfZmluaShhZGV2KTsKPiA+ICAgICAgIGFtZGdwdV9ndHRfbWdyX2Zp bmkoYWRldik7Cj4gPiAtICAgICB0dG1fcmFuZ2VfbWFuX2ZpbmkoJmFkZXYtPm1tYW4uYmRldiwg dHRtX21hbmFnZXJfdHlwZSgmYWRldi0+bW1hbi5iZGV2LCBBTURHUFVfUExfR0RTKSk7Cj4gPiAt ICAgICB0dG1fcmFuZ2VfbWFuX2ZpbmkoJmFkZXYtPm1tYW4uYmRldiwgdHRtX21hbmFnZXJfdHlw ZSgmYWRldi0+bW1hbi5iZGV2LCBBTURHUFVfUExfR1dTKSk7Cj4gPiAtICAgICB0dG1fcmFuZ2Vf bWFuX2ZpbmkoJmFkZXYtPm1tYW4uYmRldiwgdHRtX21hbmFnZXJfdHlwZSgmYWRldi0+bW1hbi5i ZGV2LCBBTURHUFVfUExfT0EpKTsKPiA+ICsgICAgIHR0bV9yYW5nZV9tYW5fZmluaSgmYWRldi0+ bW1hbi5iZGV2LCBBTURHUFVfUExfR0RTKTsKPiA+ICsgICAgIHR0bV9yYW5nZV9tYW5fZmluaSgm YWRldi0+bW1hbi5iZGV2LCBBTURHUFVfUExfR1dTKTsKPiA+ICsgICAgIHR0bV9yYW5nZV9tYW5f ZmluaSgmYWRldi0+bW1hbi5iZGV2LCBBTURHUFVfUExfT0EpOwo+ID4gICAgICAgdHRtX2JvX2Rl dmljZV9yZWxlYXNlKCZhZGV2LT5tbWFuLmJkZXYpOwo+ID4gICAgICAgYWRldi0+bW1hbi5pbml0 aWFsaXplZCA9IGZhbHNlOwo+ID4gICAgICAgRFJNX0lORk8oImFtZGdwdTogdHRtIGZpbmFsaXpl ZFxuIik7Cj4gPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2RybV9nZW1fdnJhbV9oZWxw ZXIuYyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fZ2VtX3ZyYW1faGVscGVyLmMKPiA+IGluZGV4IGEw MTc2OGFkYjk2ZC4uMjE4Nzc4N2YzOTdlIDEwMDY0NAo+ID4gLS0tIGEvZHJpdmVycy9ncHUvZHJt L2RybV9nZW1fdnJhbV9oZWxwZXIuYwo+ID4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2RybV9nZW1f dnJhbV9oZWxwZXIuYwo+ID4gQEAgLTExMDMsNyArMTEwMyw2IEBAIEVYUE9SVF9TWU1CT0woZHJt X3ZyYW1fbW1fZGVidWdmc19pbml0KTsKPiA+ICAgc3RhdGljIGludCBkcm1fdnJhbV9tbV9pbml0 KHN0cnVjdCBkcm1fdnJhbV9tbSAqdm1tLCBzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAo+ID4gICAg ICAgICAgICAgICAgICAgICAgICAgICB1aW50NjRfdCB2cmFtX2Jhc2UsIHNpemVfdCB2cmFtX3Np emUpCj4gPiAgIHsKPiA+IC0gICAgIHN0cnVjdCB0dG1fbWVtX3R5cGVfbWFuYWdlciAqbWFuID0g dHRtX21hbmFnZXJfdHlwZSgmdm1tLT5iZGV2LCBUVE1fUExfVlJBTSk7Cj4gPiAgICAgICBpbnQg cmV0Owo+ID4KPiA+ICAgICAgIHZtbS0+dnJhbV9iYXNlID0gdnJhbV9iYXNlOwo+ID4gQEAgLTEx MTYsOSArMTExNSwxMCBAQCBzdGF0aWMgaW50IGRybV92cmFtX21tX2luaXQoc3RydWN0IGRybV92 cmFtX21tICp2bW0sIHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCj4gPiAgICAgICBpZiAocmV0KQo+ ID4gICAgICAgICAgICAgICByZXR1cm4gcmV0Owo+ID4KPiA+IC0gICAgIG1hbi0+YXZhaWxhYmxl X2NhY2hpbmcgPSBUVE1fUExfRkxBR19VTkNBQ0hFRCB8IFRUTV9QTF9GTEFHX1dDOwo+ID4gLSAg ICAgbWFuLT5kZWZhdWx0X2NhY2hpbmcgPSBUVE1fUExfRkxBR19XQzsKPiA+IC0gICAgIHJldCA9 IHR0bV9yYW5nZV9tYW5faW5pdCgmdm1tLT5iZGV2LCBtYW4sIHZyYW1fc2l6ZSA+PiBQQUdFX1NI SUZUKTsKPiA+ICsgICAgIHJldCA9IHR0bV9yYW5nZV9tYW5faW5pdCgmdm1tLT5iZGV2LCBUVE1f UExfVlJBTSwKPiA+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUVE1fUExfRkxBR19V TkNBQ0hFRCB8IFRUTV9QTF9GTEFHX1dDLAo+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIFRUTV9QTF9GTEFHX1dDLCBmYWxzZSwKPiA+ICsgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICB2cmFtX3NpemUgPj4gUEFHRV9TSElGVCk7Cj4gPiAgICAgICBpZiAocmV0KQo+ID4gICAg ICAgICAgICAgICByZXR1cm4gcmV0Owo+ID4KPiA+IEBAIC0xMTI3LDcgKzExMjcsNyBAQCBzdGF0 aWMgaW50IGRybV92cmFtX21tX2luaXQoc3RydWN0IGRybV92cmFtX21tICp2bW0sIHN0cnVjdCBk cm1fZGV2aWNlICpkZXYsCj4gPgo+ID4gICBzdGF0aWMgdm9pZCBkcm1fdnJhbV9tbV9jbGVhbnVw KHN0cnVjdCBkcm1fdnJhbV9tbSAqdm1tKQo+ID4gICB7Cj4gPiAtICAgICB0dG1fcmFuZ2VfbWFu X2ZpbmkoJnZtbS0+YmRldiwgdHRtX21hbmFnZXJfdHlwZSgmdm1tLT5iZGV2LCBUVE1fUExfVlJB TSkpOwo+ID4gKyAgICAgdHRtX3JhbmdlX21hbl9maW5pKCZ2bW0tPmJkZXYsIFRUTV9QTF9WUkFN KTsKPiA+ICAgICAgIHR0bV9ib19kZXZpY2VfcmVsZWFzZSgmdm1tLT5iZGV2KTsKPiA+ICAgfQo+ ID4KPiA+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vbm91dmVhdS9ub3V2ZWF1X3R0bS5j IGIvZHJpdmVycy9ncHUvZHJtL25vdXZlYXUvbm91dmVhdV90dG0uYwo+ID4gaW5kZXggY2M2Y2Yw NDU1M2RkLi4xYzYzNjcyMzgyM2MgMTAwNjQ0Cj4gPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vbm91 dmVhdS9ub3V2ZWF1X3R0bS5jCj4gPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vbm91dmVhdS9ub3V2 ZWF1X3R0bS5jCj4gPiBAQCAtMTU2LDE2ICsxNTYsMTcgQEAgbm91dmVhdV90dG1faW5pdF9ob3N0 KHN0cnVjdCBub3V2ZWF1X2RybSAqZHJtLCB1OCBraW5kKQo+ID4gICBzdGF0aWMgaW50Cj4gPiAg IG5vdXZlYXVfdHRtX2luaXRfdnJhbShzdHJ1Y3Qgbm91dmVhdV9kcm0gKmRybSkKPiA+ICAgewo+ ID4gLSAgICAgc3RydWN0IHR0bV9tZW1fdHlwZV9tYW5hZ2VyICptYW4gPSB0dG1fbWFuYWdlcl90 eXBlKCZkcm0tPnR0bS5iZGV2LCBUVE1fUExfVlJBTSk7Cj4gPiAgICAgICBzdHJ1Y3QgbnZpZl9t bXUgKm1tdSA9ICZkcm0tPmNsaWVudC5tbXU7Cj4gPgo+ID4gLSAgICAgbWFuLT5hdmFpbGFibGVf Y2FjaGluZyA9IFRUTV9QTF9GTEFHX1VOQ0FDSEVEIHwgVFRNX1BMX0ZMQUdfV0M7Cj4gPiAtICAg ICBtYW4tPmRlZmF1bHRfY2FjaGluZyA9IFRUTV9QTF9GTEFHX1dDOwo+ID4gLQo+ID4gICAgICAg aWYgKGRybS0+Y2xpZW50LmRldmljZS5pbmZvLmZhbWlseSA+PSBOVl9ERVZJQ0VfSU5GT19WMF9U RVNMQSkgewo+ID4gKyAgICAgICAgICAgICBzdHJ1Y3QgdHRtX21lbV90eXBlX21hbmFnZXIgKm1h biA9IHR0bV9tYW5hZ2VyX3R5cGUoJmRybS0+dHRtLmJkZXYsIFRUTV9QTF9WUkFNKTsKPiA+ICsK PiA+ICAgICAgICAgICAgICAgLyogU29tZSBCQVJzIGRvIG5vdCBzdXBwb3J0IGJlaW5nIGlvcmVt YXBwZWQgV0MgKi8KPiA+ICAgICAgICAgICAgICAgY29uc3QgdTggdHlwZSA9IG1tdS0+dHlwZVtk cm0tPnR0bS50eXBlX3ZyYW1dLnR5cGU7Cj4gPgo+ID4gKyAgICAgICAgICAgICBtYW4tPmF2YWls YWJsZV9jYWNoaW5nID0gVFRNX1BMX0ZMQUdfVU5DQUNIRUQgfCBUVE1fUExfRkxBR19XQzsKPiA+ ICsgICAgICAgICAgICAgbWFuLT5kZWZhdWx0X2NhY2hpbmcgPSBUVE1fUExfRkxBR19XQzsKPiA+ ICsKPiA+ICAgICAgICAgICAgICAgaWYgKHR5cGUgJiBOVklGX01FTV9VTkNBQ0hFRCkgewo+ID4g ICAgICAgICAgICAgICAgICAgICAgIG1hbi0+YXZhaWxhYmxlX2NhY2hpbmcgPSBUVE1fUExfRkxB R19VTkNBQ0hFRDsKPiA+ICAgICAgICAgICAgICAgICAgICAgICBtYW4tPmRlZmF1bHRfY2FjaGlu ZyA9IFRUTV9QTF9GTEFHX1VOQ0FDSEVEOwo+ID4gQEAgLTE3OCw3ICsxNzksOSBAQCBub3V2ZWF1 X3R0bV9pbml0X3ZyYW0oc3RydWN0IG5vdXZlYXVfZHJtICpkcm0pCj4gPiAgICAgICAgICAgICAg IHR0bV9tZW1fdHlwZV9tYW5hZ2VyX3NldF91c2VkKG1hbiwgdHJ1ZSk7Cj4gPiAgICAgICAgICAg ICAgIHJldHVybiAwOwo+ID4gICAgICAgfSBlbHNlIHsKPiA+IC0gICAgICAgICAgICAgcmV0dXJu IHR0bV9yYW5nZV9tYW5faW5pdCgmZHJtLT50dG0uYmRldiwgbWFuLAo+ID4gKyAgICAgICAgICAg ICByZXR1cm4gdHRtX3JhbmdlX21hbl9pbml0KCZkcm0tPnR0bS5iZGV2LCBUVE1fUExfVlJBTSwK PiA+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUVE1fUExfRkxBR19V TkNBQ0hFRCB8IFRUTV9QTF9GTEFHX1dDLAo+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIFRUTV9QTF9GTEFHX1dDLCBmYWxzZSwKPiA+ICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBkcm0tPmdlbS52cmFtX2F2YWlsYWJsZSA+PiBQQUdFX1NI SUZUKTsKPiA+ICAgICAgIH0KPiA+ICAgfQo+ID4gQEAgLTE5Myw3ICsxOTYsNyBAQCBub3V2ZWF1 X3R0bV9maW5pX3ZyYW0oc3RydWN0IG5vdXZlYXVfZHJtICpkcm0pCj4gPiAgICAgICAgICAgICAg IHR0bV9tZW1fdHlwZV9tYW5hZ2VyX2ZvcmNlX2xpc3RfY2xlYW4oJmRybS0+dHRtLmJkZXYsIG1h bik7Cj4gPiAgICAgICAgICAgICAgIHR0bV9tZW1fdHlwZV9tYW5hZ2VyX2NsZWFudXAobWFuKTsK PiA+ICAgICAgIH0gZWxzZQo+ID4gLSAgICAgICAgICAgICB0dG1fcmFuZ2VfbWFuX2ZpbmkoJmRy bS0+dHRtLmJkZXYsIG1hbik7Cj4gPiArICAgICAgICAgICAgIHR0bV9yYW5nZV9tYW5fZmluaSgm ZHJtLT50dG0uYmRldiwgVFRNX1BMX1ZSQU0pOwo+ID4gICB9Cj4gPgo+ID4gICBzdGF0aWMgaW50 Cj4gPiBAQCAtMjE2LDkgKzIxOSwxMCBAQCBub3V2ZWF1X3R0bV9pbml0X2d0dChzdHJ1Y3Qgbm91 dmVhdV9kcm0gKmRybSkKPiA+ICAgICAgIGVsc2UgaWYgKCFkcm0tPmFncC5icmlkZ2UpCj4gPiAg ICAgICAgICAgICAgIG1hbi0+ZnVuYyA9ICZudjA0X2dhcnRfbWFuYWdlcjsKPiA+ICAgICAgIGVs c2UKPiA+IC0gICAgICAgICAgICAgcmV0dXJuIHR0bV9yYW5nZV9tYW5faW5pdCgmZHJtLT50dG0u YmRldiwgbWFuLAo+ID4gKyAgICAgICAgICAgICByZXR1cm4gdHRtX3JhbmdlX21hbl9pbml0KCZk cm0tPnR0bS5iZGV2LCBUVE1fUExfVFQsCj4gPiArICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgVFRNX1BMX0ZMQUdfVU5DQUNIRUQgfCBUVE1fUExfRkxBR19XQywKPiA+ICsg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUVE1fUExfRkxBR19XQywgdHJ1 ZSwKPiA+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplX3BhZ2Vz KTsKPiA+IC0KPiA+ICAgICAgIHR0bV9tZW1fdHlwZV9tYW5hZ2VyX2luaXQoJmRybS0+dHRtLmJk ZXYsIG1hbiwKPiA+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZV9wYWdlcyk7 Cj4gPiAgICAgICB0dG1fbWVtX3R5cGVfbWFuYWdlcl9zZXRfdXNlZChtYW4sIHRydWUpOwo+ID4g QEAgLTIzMiw3ICsyMzYsNyBAQCBub3V2ZWF1X3R0bV9maW5pX2d0dChzdHJ1Y3Qgbm91dmVhdV9k cm0gKmRybSkKPiA+Cj4gPiAgICAgICBpZiAoZHJtLT5jbGllbnQuZGV2aWNlLmluZm8uZmFtaWx5 IDwgTlZfREVWSUNFX0lORk9fVjBfVEVTTEEgJiYKPiA+ICAgICAgICAgICBkcm0tPmFncC5icmlk Z2UpCj4gPiAtICAgICAgICAgICAgIHR0bV9yYW5nZV9tYW5fZmluaSgmZHJtLT50dG0uYmRldiwg bWFuKTsKPiA+ICsgICAgICAgICAgICAgdHRtX3JhbmdlX21hbl9maW5pKCZkcm0tPnR0bS5iZGV2 LCBUVE1fUExfVFQpOwo+ID4gICAgICAgZWxzZSB7Cj4gPiAgICAgICAgICAgICAgIHR0bV9tZW1f dHlwZV9tYW5hZ2VyX2Rpc2FibGUobWFuKTsKPiA+ICAgICAgICAgICAgICAgdHRtX21lbV90eXBl X21hbmFnZXJfZm9yY2VfbGlzdF9jbGVhbigmZHJtLT50dG0uYmRldiwgbWFuKTsKPiA+IGRpZmYg LS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vcXhsL3F4bF90dG0uYyBiL2RyaXZlcnMvZ3B1L2RybS9x eGwvcXhsX3R0bS5jCj4gPiBpbmRleCA1N2M5NmY3MjcxZGIuLmI3MzY1YjJlNGM3ZiAxMDA2NDQK PiA+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9xeGwvcXhsX3R0bS5jCj4gPiArKysgYi9kcml2ZXJz L2dwdS9kcm0vcXhsL3F4bF90dG0uYwo+ID4gQEAgLTIxOSwxMiArMjE5LDggQEAgc3RhdGljIGlu dCBxeGxfdHRtX2luaXRfbWVtX3R5cGUoc3RydWN0IHF4bF9kZXZpY2UgKnFkZXYsCj4gPiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50IHR5cGUsCj4gPiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgdWludDY0X3Qgc2l6ZSkKPiA+ICAgewo+ID4gLSAgICAg c3RydWN0IHR0bV9tZW1fdHlwZV9tYW5hZ2VyICptYW4gPSB0dG1fbWFuYWdlcl90eXBlKCZxZGV2 LT5tbWFuLmJkZXYsIHR5cGUpOwo+ID4gLQo+ID4gLSAgICAgbWFuLT5hdmFpbGFibGVfY2FjaGlu ZyA9IFRUTV9QTF9NQVNLX0NBQ0hJTkc7Cj4gPiAtICAgICBtYW4tPmRlZmF1bHRfY2FjaGluZyA9 IFRUTV9QTF9GTEFHX0NBQ0hFRDsKPiA+IC0KPiA+IC0gICAgIHJldHVybiB0dG1fcmFuZ2VfbWFu X2luaXQoJnFkZXYtPm1tYW4uYmRldiwgbWFuLCBzaXplKTsKPiA+ICsgICAgIHJldHVybiB0dG1f cmFuZ2VfbWFuX2luaXQoJnFkZXYtPm1tYW4uYmRldiwgdHlwZSwgVFRNX1BMX01BU0tfQ0FDSElO RywKPiA+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVFRNX1BMX0ZMQUdfQ0FDSEVE LCBmYWxzZSwgc2l6ZSk7Cj4gPiAgIH0KPiA+Cj4gPiAgIGludCBxeGxfdHRtX2luaXQoc3RydWN0 IHF4bF9kZXZpY2UgKnFkZXYpCj4gPiBAQCAtMjY2LDkgKzI2Miw4IEBAIGludCBxeGxfdHRtX2lu aXQoc3RydWN0IHF4bF9kZXZpY2UgKnFkZXYpCj4gPgo+ID4gICB2b2lkIHF4bF90dG1fZmluaShz dHJ1Y3QgcXhsX2RldmljZSAqcWRldikKPiA+ICAgewo+ID4gLQo+ID4gLSAgICAgdHRtX3Jhbmdl X21hbl9maW5pKCZxZGV2LT5tbWFuLmJkZXYsIHR0bV9tYW5hZ2VyX3R5cGUoJnFkZXYtPm1tYW4u YmRldiwgVFRNX1BMX1ZSQU0pKTsKPiA+IC0gICAgIHR0bV9yYW5nZV9tYW5fZmluaSgmcWRldi0+ bW1hbi5iZGV2LCB0dG1fbWFuYWdlcl90eXBlKCZxZGV2LT5tbWFuLmJkZXYsIFRUTV9QTF9QUklW KSk7Cj4gPiArICAgICB0dG1fcmFuZ2VfbWFuX2ZpbmkoJnFkZXYtPm1tYW4uYmRldiwgVFRNX1BM X1ZSQU0pOwo+ID4gKyAgICAgdHRtX3JhbmdlX21hbl9maW5pKCZxZGV2LT5tbWFuLmJkZXYsIFRU TV9QTF9QUklWKTsKPiA+ICAgICAgIHR0bV9ib19kZXZpY2VfcmVsZWFzZSgmcWRldi0+bW1hbi5i ZGV2KTsKPiA+ICAgICAgIERSTV9JTkZPKCJxeGw6IHR0bSBmaW5hbGl6ZWRcbiIpOwo+ID4gICB9 Cj4gPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9yYWRlb25fdHRtLmMgYi9k cml2ZXJzL2dwdS9kcm0vcmFkZW9uL3JhZGVvbl90dG0uYwo+ID4gaW5kZXggMDNjMGEyNGU3NGM0 Li40NzRkMjE2MWRhMWUgMTAwNjQ0Cj4gPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3Jh ZGVvbl90dG0uYwo+ID4gKysrIGIvZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9yYWRlb25fdHRtLmMK PiA+IEBAIC02OCwzNSArNjgsMzQgQEAgc3RydWN0IHJhZGVvbl9kZXZpY2UgKnJhZGVvbl9nZXRf cmRldihzdHJ1Y3QgdHRtX2JvX2RldmljZSAqYmRldikKPiA+Cj4gPiAgIHN0YXRpYyBpbnQgcmFk ZW9uX3R0bV9pbml0X3ZyYW0oc3RydWN0IHJhZGVvbl9kZXZpY2UgKnJkZXYpCj4gPiAgIHsKPiA+ IC0gICAgIHN0cnVjdCB0dG1fbWVtX3R5cGVfbWFuYWdlciAqbWFuID0gdHRtX21hbmFnZXJfdHlw ZSgmcmRldi0+bW1hbi5iZGV2LCBUVE1fUExfVlJBTSk7Cj4gPiAtCj4gPiAtICAgICBtYW4tPmF2 YWlsYWJsZV9jYWNoaW5nID0gVFRNX1BMX0ZMQUdfVU5DQUNIRUQgfCBUVE1fUExfRkxBR19XQzsK PiA+IC0gICAgIG1hbi0+ZGVmYXVsdF9jYWNoaW5nID0gVFRNX1BMX0ZMQUdfV0M7Cj4gPiAtCj4g PiAtICAgICByZXR1cm4gdHRtX3JhbmdlX21hbl9pbml0KCZyZGV2LT5tbWFuLmJkZXYsIG1hbiwK PiA+ICsgICAgIHJldHVybiB0dG1fcmFuZ2VfbWFuX2luaXQoJnJkZXYtPm1tYW4uYmRldiwgVFRN X1BMX1ZSQU0sCj4gPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRUTV9QTF9GTEFH X1VOQ0FDSEVEIHwgVFRNX1BMX0ZMQUdfV0MsCj4gPiArICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIFRUTV9QTF9GTEFHX1dDLCBmYWxzZSwKPiA+ICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgcmRldi0+bWMucmVhbF92cmFtX3NpemUgPj4gUEFHRV9TSElGVCk7Cj4gPiAgIH0K PiA+Cj4gPiAgIHN0YXRpYyBpbnQgcmFkZW9uX3R0bV9pbml0X2d0dChzdHJ1Y3QgcmFkZW9uX2Rl dmljZSAqcmRldikKPiA+ICAgewo+ID4gLSAgICAgc3RydWN0IHR0bV9tZW1fdHlwZV9tYW5hZ2Vy ICptYW4gPSB0dG1fbWFuYWdlcl90eXBlKCZyZGV2LT5tbWFuLmJkZXYsIFRUTV9QTF9UVCk7Cj4g PiArICAgICB1aW50MzJfdCBhdmFpbGFibGVfY2FjaGluZywgZGVmYXVsdF9jYWNoaW5nOwo+ID4g Kwo+ID4gKyAgICAgYXZhaWxhYmxlX2NhY2hpbmcgPSBUVE1fUExfTUFTS19DQUNISU5HOwo+ID4g KyAgICAgZGVmYXVsdF9jYWNoaW5nID0gVFRNX1BMX0ZMQUdfQ0FDSEVEOwo+ID4KPiA+IC0gICAg IG1hbi0+YXZhaWxhYmxlX2NhY2hpbmcgPSBUVE1fUExfTUFTS19DQUNISU5HOwo+ID4gLSAgICAg bWFuLT5kZWZhdWx0X2NhY2hpbmcgPSBUVE1fUExfRkxBR19DQUNIRUQ7Cj4gPiAtICAgICBtYW4t PnVzZV90dCA9IHRydWU7Cj4gPiAgICNpZiBJU19FTkFCTEVEKENPTkZJR19BR1ApCj4gPiAgICAg ICBpZiAocmRldi0+ZmxhZ3MgJiBSQURFT05fSVNfQUdQKSB7Cj4gPiAgICAgICAgICAgICAgIGlm ICghcmRldi0+ZGRldi0+YWdwKSB7Cj4gPiAgICAgICAgICAgICAgICAgICAgICAgRFJNX0VSUk9S KCJBR1AgaXMgbm90IGVuYWJsZWRcbiIpOwo+ID4gICAgICAgICAgICAgICAgICAgICAgIHJldHVy biAtRUlOVkFMOwo+ID4gICAgICAgICAgICAgICB9Cj4gPiAtICAgICAgICAgICAgIG1hbi0+YXZh aWxhYmxlX2NhY2hpbmcgPSBUVE1fUExfRkxBR19VTkNBQ0hFRCB8Cj4gPiAtICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBUVE1fUExfRkxBR19XQzsKPiA+IC0gICAgICAgICAg ICAgbWFuLT5kZWZhdWx0X2NhY2hpbmcgPSBUVE1fUExfRkxBR19XQzsKPiA+ICsgICAgICAgICAg ICAgYXZhaWxhYmxlX2NhY2hpbmcgPSBUVE1fUExfRkxBR19VTkNBQ0hFRCB8Cj4gPiArICAgICAg ICAgICAgICAgICAgICAgVFRNX1BMX0ZMQUdfV0M7Cj4gPiArICAgICAgICAgICAgIGRlZmF1bHRf Y2FjaGluZyA9IFRUTV9QTF9GTEFHX1dDOwo+ID4gICAgICAgfQo+ID4gICAjZW5kaWYKPiA+Cj4g PiAtICAgICByZXR1cm4gdHRtX3JhbmdlX21hbl9pbml0KCZyZGV2LT5tbWFuLmJkZXYsIG1hbiwK PiA+ICsgICAgIHJldHVybiB0dG1fcmFuZ2VfbWFuX2luaXQoJnJkZXYtPm1tYW4uYmRldiwgVFRN X1BMX1RULAo+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhdmFpbGFibGVfY2Fj aGluZywKPiA+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVmYXVsdF9jYWNoaW5n LCB0cnVlLAo+ID4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZGV2LT5tYy5ndHRf c2l6ZSA+PiBQQUdFX1NISUZUKTsKPiA+ICAgfQo+ID4KPiA+IEBAIC04MjUsOCArODI0LDggQEAg dm9pZCByYWRlb25fdHRtX2Zpbmkoc3RydWN0IHJhZGVvbl9kZXZpY2UgKnJkZXYpCj4gPiAgICAg ICAgICAgICAgIH0KPiA+ICAgICAgICAgICAgICAgcmFkZW9uX2JvX3VucmVmKCZyZGV2LT5zdG9s ZW5fdmdhX21lbW9yeSk7Cj4gPiAgICAgICB9Cj4gPiAtICAgICB0dG1fcmFuZ2VfbWFuX2Zpbmko JnJkZXYtPm1tYW4uYmRldiwgdHRtX21hbmFnZXJfdHlwZSgmcmRldi0+bW1hbi5iZGV2LCBUVE1f UExfVlJBTSkpOwo+ID4gLSAgICAgdHRtX3JhbmdlX21hbl9maW5pKCZyZGV2LT5tbWFuLmJkZXYs IHR0bV9tYW5hZ2VyX3R5cGUoJnJkZXYtPm1tYW4uYmRldiwgVFRNX1BMX1RUKSk7Cj4gPiArICAg ICB0dG1fcmFuZ2VfbWFuX2ZpbmkoJnJkZXYtPm1tYW4uYmRldiwgVFRNX1BMX1ZSQU0pOwo+ID4g KyAgICAgdHRtX3JhbmdlX21hbl9maW5pKCZyZGV2LT5tbWFuLmJkZXYsIFRUTV9QTF9UVCk7Cj4g PiAgICAgICB0dG1fYm9fZGV2aWNlX3JlbGVhc2UoJnJkZXYtPm1tYW4uYmRldik7Cj4gPiAgICAg ICByYWRlb25fZ2FydF9maW5pKHJkZXYpOwo+ID4gICAgICAgcmRldi0+bW1hbi5pbml0aWFsaXpl ZCA9IGZhbHNlOwo+ID4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS90dG0vdHRtX2JvX21h bmFnZXIuYyBiL2RyaXZlcnMvZ3B1L2RybS90dG0vdHRtX2JvX21hbmFnZXIuYwo+ID4gaW5kZXgg ODZiZjVlNzFlOTU5Li5kODNjYjk2N2ExMDcgMTAwNjQ0Cj4gPiAtLS0gYS9kcml2ZXJzL2dwdS9k cm0vdHRtL3R0bV9ib19tYW5hZ2VyLmMKPiA+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS90dG0vdHRt X2JvX21hbmFnZXIuYwo+ID4gQEAgLTEwNywxOSArMTA3LDI3IEBAIHN0YXRpYyB2b2lkIHR0bV9i b19tYW5fcHV0X25vZGUoc3RydWN0IHR0bV9tZW1fdHlwZV9tYW5hZ2VyICptYW4sCj4gPiAgIHN0 YXRpYyBjb25zdCBzdHJ1Y3QgdHRtX21lbV90eXBlX21hbmFnZXJfZnVuYyB0dG1fYm9fbWFuYWdl cl9mdW5jOwo+ID4KPiA+ICAgaW50IHR0bV9yYW5nZV9tYW5faW5pdChzdHJ1Y3QgdHRtX2JvX2Rl dmljZSAqYmRldiwKPiA+IC0gICAgICAgICAgICAgICAgICAgIHN0cnVjdCB0dG1fbWVtX3R5cGVf bWFuYWdlciAqbWFuLAo+ID4gKyAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgdHlwZSwKPiA+ ICsgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IGF2YWlsYWJsZV9jYWNoaW5nLAo+ID4gKyAg ICAgICAgICAgICAgICAgICAgdWludDMyX3QgZGVmYXVsdF9jYWNoaW5nLAo+ID4gKyAgICAgICAg ICAgICAgICAgICAgYm9vbCB1c2VfdHQsCj4gPiAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25l ZCBsb25nIHBfc2l6ZSkKPiA+ICAgewo+ID4gKyAgICAgc3RydWN0IHR0bV9tZW1fdHlwZV9tYW5h Z2VyICptYW4gPSB0dG1fbWFuYWdlcl90eXBlKGJkZXYsIHR5cGUpOwo+ID4gICAgICAgc3RydWN0 IHR0bV9yYW5nZV9tYW5hZ2VyICpybWFuOwo+ID4KPiA+IC0gICAgIG1hbi0+ZnVuYyA9ICZ0dG1f Ym9fbWFuYWdlcl9mdW5jOwo+ID4gLQo+ID4gLSAgICAgdHRtX21lbV90eXBlX21hbmFnZXJfaW5p dChiZGV2LCBtYW4sIHBfc2l6ZSk7Cj4gPiArICAgICBtYW4tPmF2YWlsYWJsZV9jYWNoaW5nID0g YXZhaWxhYmxlX2NhY2hpbmc7Cj4gPiArICAgICBtYW4tPmRlZmF1bHRfY2FjaGluZyA9IGRlZmF1 bHRfY2FjaGluZzsKPiA+ICsgICAgIG1hbi0+dXNlX3R0ID0gdXNlX3R0Owo+ID4KPiA+ICAgICAg IHJtYW4gPSBremFsbG9jKHNpemVvZigqcm1hbiksIEdGUF9LRVJORUwpOwo+ID4gICAgICAgaWYg KCFybWFuKQo+ID4gICAgICAgICAgICAgICByZXR1cm4gLUVOT01FTTsKPiA+Cj4gPiArICAgICBt YW4tPmZ1bmMgPSAmdHRtX2JvX21hbmFnZXJfZnVuYzsKPiA+ICsKPiA+ICsgICAgIHR0bV9tZW1f dHlwZV9tYW5hZ2VyX2luaXQoYmRldiwgbWFuLCBwX3NpemUpOwo+ID4gKwo+ID4gICAgICAgZHJt X21tX2luaXQoJnJtYW4tPm1tLCAwLCBwX3NpemUpOwo+ID4gICAgICAgc3Bpbl9sb2NrX2luaXQo JnJtYW4tPmxvY2spOwo+ID4gICAgICAgbWFuLT5wcml2ID0gcm1hbjsKPiA+IEBAIC0xMzAsOCAr MTM4LDkgQEAgaW50IHR0bV9yYW5nZV9tYW5faW5pdChzdHJ1Y3QgdHRtX2JvX2RldmljZSAqYmRl diwKPiA+ICAgRVhQT1JUX1NZTUJPTCh0dG1fcmFuZ2VfbWFuX2luaXQpOwo+ID4KPiA+ICAgaW50 IHR0bV9yYW5nZV9tYW5fZmluaShzdHJ1Y3QgdHRtX2JvX2RldmljZSAqYmRldiwKPiA+IC0gICAg ICAgICAgICAgICAgICAgIHN0cnVjdCB0dG1fbWVtX3R5cGVfbWFuYWdlciAqbWFuKQo+ID4gKyAg ICAgICAgICAgICAgICAgICAgdW5zaWduZWQgdHlwZSkKPiA+ICAgewo+ID4gKyAgICAgc3RydWN0 IHR0bV9tZW1fdHlwZV9tYW5hZ2VyICptYW4gPSB0dG1fbWFuYWdlcl90eXBlKGJkZXYsIHR5cGUp Owo+ID4gICAgICAgc3RydWN0IHR0bV9yYW5nZV9tYW5hZ2VyICpybWFuID0gKHN0cnVjdCB0dG1f cmFuZ2VfbWFuYWdlciAqKSBtYW4tPnByaXY7Cj4gPiAgICAgICBzdHJ1Y3QgZHJtX21tICptbSA9 ICZybWFuLT5tbTsKPiA+ICAgICAgIGludCByZXQ7Cj4gPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9n cHUvZHJtL3Ztd2dmeC92bXdnZnhfZHJ2LmMgYi9kcml2ZXJzL2dwdS9kcm0vdm13Z2Z4L3Ztd2dm eF9kcnYuYwo+ID4gaW5kZXggNmVkOTJmMzhiNTRiLi43MTY4NDAzZmI0ZjggMTAwNjQ0Cj4gPiAt LS0gYS9kcml2ZXJzL2dwdS9kcm0vdm13Z2Z4L3Ztd2dmeF9kcnYuYwo+ID4gKysrIGIvZHJpdmVy cy9ncHUvZHJtL3Ztd2dmeC92bXdnZnhfZHJ2LmMKPiA+IEBAIC02MjYsMTMgKzYyNiw5IEBAIHN0 YXRpYyBpbnQgdm13X3ZyYW1fbWFuYWdlcl9pbml0KHN0cnVjdCB2bXdfcHJpdmF0ZSAqZGV2X3By aXYpCj4gPiAgICNpZmRlZiBDT05GSUdfVFJBTlNQQVJFTlRfSFVHRVBBR0UKPiA+ICAgICAgIHJl dCA9IHZtd190aHBfaW5pdChkZXZfcHJpdik7Cj4gPiAgICNlbHNlCj4gPiAtICAgICBzdHJ1Y3Qg dHRtX21lbV90eXBlX21hbmFnZXIgKm1hbiA9ICZkZXZfcHJpdi0+YmRldi5tYW5bVFRNX1BMX1ZS QU1dOwo+ID4gLQo+ID4gLSAgICAgbWFuLT5hdmFpbGFibGVfY2FjaGluZyA9IFRUTV9QTF9GTEFH X0NBQ0hFRDsKPiA+IC0gICAgIG1hbi0+ZGVmYXVsdF9jYWNoaW5nID0gVFRNX1BMX0ZMQUdfQ0FD SEVEOwo+ID4gLQo+ID4gLSAgICAgcmV0ID0gdHRtX3JhbmdlX21hbl9pbml0KCZkZXZfcHJpdi0+ YmRldiwgbWFuLAo+ID4gLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRldl9wcml2LT52 cmFtX3NpemUgPj4gUEFHRV9TSElGVCk7Cj4gPiArICAgICByZXQgPSB0dG1fcmFuZ2VfbWFuX2lu aXQoJmRldl9wcml2LT5iZGV2LCBUVE1fUExfVlJBTSwKPiA+ICsgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBUVE1fUExfRkxBR19DQUNIRUQsIFRUTV9QTF9GTEFHX0NBQ0hFRCwKPiA+ICsg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmYWxzZSwgZGV2X3ByaXYtPnZyYW1fc2l6ZSA+ PiBQQUdFX1NISUZUKTsKPiA+ICAgI2VuZGlmCj4gPiAgICAgICB0dG1fbWFuYWdlcl90eXBlKCZk ZXZfcHJpdi0+YmRldiwgVFRNX1BMX1ZSQU0pLT51c2VfdHlwZSA9IGZhbHNlOwo+ID4gICAgICAg cmV0dXJuIHJldDsKPiA+IEBAIC02NDMsOCArNjM5LDcgQEAgc3RhdGljIHZvaWQgdm13X3ZyYW1f bWFuYWdlcl9maW5pKHN0cnVjdCB2bXdfcHJpdmF0ZSAqZGV2X3ByaXYpCj4gPiAgICNpZmRlZiBD T05GSUdfVFJBTlNQQVJFTlRfSFVHRVBBR0UKPiA+ICAgICAgIHZtd190aHBfZmluaShkZXZfcHJp dik7Cj4gPiAgICNlbHNlCj4gPiAtICAgICB0dG1fYm9fbWFuX2ZpbmkoJmRldl9wcml2LT5iZGV2 LAo+ID4gLSAgICAgICAgICAgICAgICAgICAgIHR0bV9tYW5hZ2VyX3R5cGUoJmRldl9wcml2LT5i ZGV2LCBUVE1fUExfVlJBTSkpOwo+ID4gKyAgICAgdHRtX2JvX21hbl9maW5pKCZkZXZfcHJpdi0+ YmRldiwgVFRNX1BMX1ZSQU0pOwo+ID4gICAjZW5kaWYKPiA+ICAgfQo+ID4KPiA+IGRpZmYgLS1n aXQgYS9pbmNsdWRlL2RybS90dG0vdHRtX2JvX2RyaXZlci5oIGIvaW5jbHVkZS9kcm0vdHRtL3R0 bV9ib19kcml2ZXIuaAo+ID4gaW5kZXggNjk0MGQ4NWE1MzFhLi43ODljMWViMjY4NTkgMTAwNjQ0 Cj4gPiAtLS0gYS9pbmNsdWRlL2RybS90dG0vdHRtX2JvX2RyaXZlci5oCj4gPiArKysgYi9pbmNs dWRlL2RybS90dG0vdHRtX2JvX2RyaXZlci5oCj4gPiBAQCAtODQ1LDE0ICs4NDUsMjAgQEAgcGdw cm90X3QgdHRtX2lvX3Byb3QodWludDMyX3QgY2FjaGluZ19mbGFncywgcGdwcm90X3QgdG1wKTsK PiA+ICAgICogdHRtX3JhbmdlX21hbl9pbml0Cj4gPiAgICAqCj4gPiAgICAqIEBiZGV2OiB0dG0g ZGV2aWNlCj4gPiAtICogQG1hbjogdGhlIG1hbmFnZXIgdG8gaW5pdGlhbGlzZSB3aXRoIHRoZSBy YW5nZSBtYW5hZ2VyLgo+ID4gKyAqIEB0eXBlOiBtZW1vcnkgbWFuYWdlciB0eXBlCj4gPiArICog QGF2YWlsYWJsZV9jYWNoaW5nOiBUVE1fUExfRkxBR18qIGZvciBhbGxvd2VkIGNhY2hpbmcgbW9k ZXMKPiA+ICsgKiBAZGVmYXVsdF9jYWNoaW5nOiBkZWZhdWx0IGNhY2hpbmcgbW9kZQo+ID4gKyAq IEB1c2VfdHQ6IGlmIHRoZSBtZW1vcnkgbWFuYWdlciB1c2VzIHR0Cj4gPiAgICAqIEBwX3NpemU6 IHNpemUgb2YgYXJlYSB0byBiZSBtYW5hZ2VkIGluIHBhZ2VzLgo+ID4gICAgKgo+ID4gICAgKiBJ bml0aWFsaXNlIGEgZ2VuZXJpYyByYW5nZSBtYW5hZ2VyIGZvciB0aGUgc2VsZWN0ZWQgbWVtb3J5 IHR5cGUuCj4gPiAgICAqIFRoZSByYW5nZSBtYW5hZ2VyIGlzIGluc3RhbGxlZCBmb3IgdGhpcyBk ZXZpY2UgaW4gdGhlIHR5cGUgc2xvdC4KPiA+ICAgICovCj4gPiAgIGludCB0dG1fcmFuZ2VfbWFu X2luaXQoc3RydWN0IHR0bV9ib19kZXZpY2UgKmJkZXYsCj4gPiAtICAgICAgICAgICAgICAgICAg ICBzdHJ1Y3QgdHRtX21lbV90eXBlX21hbmFnZXIgKm1hbiwKPiA+ICsgICAgICAgICAgICAgICAg ICAgIHVuc2lnbmVkIHR5cGUsCj4gPiArICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBhdmFp bGFibGVfY2FjaGluZywKPiA+ICsgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IGRlZmF1bHRf Y2FjaGluZywKPiA+ICsgICAgICAgICAgICAgICAgICAgIGJvb2wgdXNlX3R0LAo+ID4gICAgICAg ICAgICAgICAgICAgICAgdW5zaWduZWQgbG9uZyBwX3NpemUpOwo+ID4KPiA+ICAgLyoqCj4gPiBA QCAtODY0LDcgKzg3MCw3IEBAIGludCB0dG1fcmFuZ2VfbWFuX2luaXQoc3RydWN0IHR0bV9ib19k ZXZpY2UgKmJkZXYsCj4gPiAgICAqIFJlbW92ZSB0aGUgZ2VuZXJpYyByYW5nZSBtYW5hZ2VyIGZy b20gYSBzbG90IGFuZCB0ZWFyIGl0IGRvd24uCj4gPiAgICAqLwo+ID4gICBpbnQgdHRtX3Jhbmdl X21hbl9maW5pKHN0cnVjdCB0dG1fYm9fZGV2aWNlICpiZGV2LAo+ID4gLSAgICAgICAgICAgICAg ICAgICAgc3RydWN0IHR0bV9tZW1fdHlwZV9tYW5hZ2VyICptYW4pOwo+ID4gKyAgICAgICAgICAg ICAgICAgICAgdW5zaWduZWQgdHlwZSk7Cj4gPgo+ID4gICAvKioKPiA+ICAgICogdHRtX21lbV90 eXBlX21hbmFnZXJfZGVidWcKPgo+IF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fCj4gZHJpLWRldmVsIG1haWxpbmcgbGlzdAo+IGRyaS1kZXZlbEBsaXN0cy5m cmVlZGVza3RvcC5vcmcKPiBodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xp c3RpbmZvL2RyaS1kZXZlbApfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fXwpkcmktZGV2ZWwgbWFpbGluZyBsaXN0CmRyaS1kZXZlbEBsaXN0cy5mcmVlZGVza3Rv cC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9kcmkt ZGV2ZWwK