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=-13.6 required=3.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS autolearn=unavailable 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 623D9C433ED for ; Wed, 28 Apr 2021 03:34:14 +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 E6A3361042 for ; Wed, 28 Apr 2021 03:34:13 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org E6A3361042 Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=jlekstrand.net 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 B92D16EA83; Wed, 28 Apr 2021 03:34:12 +0000 (UTC) Received: from mail-ed1-x534.google.com (mail-ed1-x534.google.com [IPv6:2a00:1450:4864:20::534]) by gabe.freedesktop.org (Postfix) with ESMTPS id D430D6EA81 for ; Wed, 28 Apr 2021 03:34:10 +0000 (UTC) Received: by mail-ed1-x534.google.com with SMTP id q6so13170147edr.3 for ; Tue, 27 Apr 2021 20:34:10 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=jlekstrand-net.20150623.gappssmtp.com; s=20150623; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc:content-transfer-encoding; bh=t+F/VQUWBWGtb7dQ/esxTekOyUSASRpoS6tDAaiGOA8=; b=Io6BM1QtPA5U/85SK85RCV6ufH0Wlhs0AgDD1VZDONtp0e4opEum9TSIwifeX/63sq sh23kD2uElwf0xgux+QOdW+QdMnS5u4vPq3zt+kLLTccbmfcOAW72ciDzl6VWKAvZBtV OKXi9yIjp+t1SOMRJM3PsPziIROgzcFg+l0aM68Mj9/OCYlVhN/HVhT20qtgbrkYSrLe hPJEsjkabTsCbC77OiiDHtkW/yy0F0+l+a3EGD4Vb4rnZ6U7p+sumgebSl1M7G4Gr+Ih lxwYX6eCU3YEFx8Y0Eivqyxdfu8OvbBGaBEPyY+bwL/qlV9fO/O3zjnCIKmtXSkvQzYm 62JA== 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=t+F/VQUWBWGtb7dQ/esxTekOyUSASRpoS6tDAaiGOA8=; b=AxZpnZz+iul1oSUf08qlFqJV5UKN5MvBbG++nA0Yu4bhqaO5UklIeU0enii/1hxX7s JDM0pzBmKP+lXtOGegaoaHLFfkotlYLIl/x1jDmHdd5IAryXDsIJ5mtXHYQCso+Vm4fl kqulX5sJdS+J35Hwr8XsRGS9UeV9aEcbLHjjub9ihVnwROdPCc9NZOrJwcMqHF0wNlM2 0PQr4rhE0If/Se0QpXt0pmLeOOD8W5enhm8Url1M5UFp37mtwAsvb8YdtIJR91/FvdC0 k/MBKmQgulouioQlZGtLNAWZQSMR2XEGN4qGlznfXHRxYkNsuxtJjZeoE6Ei0Pxxdycq Yocw== X-Gm-Message-State: AOAM5309NmZM4ggFRGF4FjyYNn0y4mWwDRsDp/qUm8fmNQpLtLzkzuTY 0lyNrmkWceKf3/O/BB9hSfHBkG0k4lkgus5KtmRRr162Ab0= X-Google-Smtp-Source: ABdhPJzIM7tjy7ZWAyLeiHkxoQ4nU843VSMeO+waZt8mvDl0bD++EbnjhvE/tQ2+UJ5bOxd0JZpnyuGxaEErkl4IubE= X-Received: by 2002:a05:6402:c8:: with SMTP id i8mr8387708edu.57.1619580849178; Tue, 27 Apr 2021 20:34:09 -0700 (PDT) MIME-Version: 1.0 References: <20210423223131.879208-1-jason@jlekstrand.net> <20210423223131.879208-2-jason@jlekstrand.net> In-Reply-To: From: Jason Ekstrand Date: Tue, 27 Apr 2021 22:33:57 -0500 Message-ID: Subject: Re: [PATCH 01/21] drm/i915: Drop I915_CONTEXT_PARAM_RINGSIZE To: Daniel Vetter 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: Intel GFX , Maling list - DRI developers Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" T24gVHVlLCBBcHIgMjcsIDIwMjEgYXQgNDozMiBBTSBEYW5pZWwgVmV0dGVyIDxkYW5pZWxAZmZ3 bGwuY2g+IHdyb3RlOgo+Cj4gT24gRnJpLCBBcHIgMjMsIDIwMjEgYXQgMDU6MzE6MTFQTSAtMDUw MCwgSmFzb24gRWtzdHJhbmQgd3JvdGU6Cj4gPiBUaGlzIHJldmVydHMgY29tbWl0IDg4YmU3NmNk YWZjNyAoImRybS9pOTE1OiBBbGxvdyB1c2Vyc3BhY2UgdG8gc3BlY2lmeQo+ID4gcmluZ3NpemUg b24gY29uc3RydWN0aW9uIikuICBUaGlzIEFQSSB3YXMgb3JpZ2luYWxseSBhZGRlZCBmb3IgT3Bl bkNMCj4gPiBidXQgdGhlIGNvbXB1dGUtcnVudGltZSBQUiBoYXMgc2F0IG9wZW4gZm9yIGEgeWVh ciB3aXRob3V0IGFjdGlvbiBzbyB3ZQo+ID4gY2FuIHN0aWxsIHB1bGwgaXQgb3V0IGlmIHdlIHdh bnQuICBJIGFyZ3VlIHdlIHNob3VsZCBkcm9wIGl0IGZvciB0aHJlZQo+ID4gcmVhc29uczoKPiA+ Cj4gPiAgMS4gSWYgdGhlIGNvbXB1dGUtcnVudGltZSBQUiBoYXMgc2F0IG9wZW4gZm9yIGEgeWVh ciwgdGhpcyBjbGVhcmx5Cj4gPiAgICAgaXNuJ3QgdGhhdCBpbXBvcnRhbnQuCj4gPgo+ID4gIDIu IEl0J3MgYSB2ZXJ5IGxlYWt5IEFQSS4gIFJpbmcgc2l6ZSBpcyBhbiBpbXBsZW1lbnRhdGlvbiBk ZXRhaWwgb2YgdGhlCj4gPiAgICAgY3VycmVudCBleGVjbGlzdCBzY2hlZHVsZXIgYW5kIHJlYWxs eSBvbmx5IG1ha2VzIHNlbnNlIHRoZXJlLiAgSXQKPiA+ICAgICBjYW4ndCBhcHBseSB0byB0aGUg b2xkZXIgcmluZy1idWZmZXIgc2NoZWR1bGVyIG9uIHByZS1leGVjbGlzdAo+ID4gICAgIGhhcmR3 YXJlIGJlY2F1c2UgdGhhdCdzIHNoYXJlZCBhY3Jvc3MgYWxsIGNvbnRleHRzIGFuZCBpdCB3b24n dAo+ID4gICAgIGFwcGx5IHRvIHRoZSBHdUMgc2NoZWR1bGVyIHRoYXQncyBpbiB0aGUgcGlwZWxp bmUuCj4gPgo+ID4gIDMuIEhhdmluZyB1c2Vyc3BhY2Ugc2V0IGEgcmluZyBzaXplIGluIGJ5dGVz IGlzIGEgYmFkIHNvbHV0aW9uIHRvIHRoZQo+ID4gICAgIHByb2JsZW0gb2YgaGF2aW5nIHRvbyBz bWFsbCBhIHJpbmcuICBUaGVyZSBpcyBubyB3YXkgdGhhdCB1c2Vyc3BhY2UKPiA+ICAgICBoYXMg dGhlIGluZm9ybWF0aW9uIHRvIGtub3cgaG93IHRvIHByb3Blcmx5IHNldCB0aGUgcmluZyBzaXpl IHNvCj4gPiAgICAgaXQncyBqdXN0IGdvaW5nIHRvIGRldGVjdCB0aGUgZmVhdHVyZSBhbmQgYWx3 YXlzIHNldCBpdCB0byB0aGUKPiA+ICAgICBtYXhpbXVtIG9mIDUxMksuICBUaGlzIGlzIHdoYXQg dGhlIGNvbXB1dGUtcnVudGltZSBQUiBkb2VzLiAgVGhlCj4gPiAgICAgc2NoZWR1bGVyIGluIGk5 MTUsIG9uIHRoZSBvdGhlciBoYW5kLCBkb2VzIGhhdmUgdGhlIGluZm9ybWF0aW9uIHRvCj4gPiAg ICAgbWFrZSBhbiBpbmZvcm1lZCBjaG9pY2UuICBJdCBjb3VsZCBkZXRlY3QgaWYgdGhlIHJpbmcg c2l6ZSBpcyBhCj4gPiAgICAgcHJvYmxlbSBhbmQgZ3JvdyBpdCBpdHNlbGYuICBPciwgaWYgdGhh dCdzIHRvbyBoYXJkLCB3ZSBjb3VsZCBqdXN0Cj4gPiAgICAgaW5jcmVhc2UgdGhlIGRlZmF1bHQg c2l6ZSBmcm9tIDE2SyB0byAzMksgb3IgZXZlbiA2NEsgaW5zdGVhZCBvZgo+ID4gICAgIHJlbHlp bmcgb24gdXNlcnNwYWNlIHRvIGRvIGl0Lgo+ID4KPiA+IExldCdzIGRyb3AgdGhpcyBBUEkgZm9y IG5vdyBhbmQsIGlmIHNvbWVvbmUgZGVjaWRlcyB0aGV5IHJlYWxseSBjYXJlCj4gPiBhYm91dCBz b2x2aW5nIHRoaXMgcHJvYmxlbSwgdGhleSBjYW4gZG8gaXQgcHJvcGVybHkuCj4gPgo+ID4gU2ln bmVkLW9mZi1ieTogSmFzb24gRWtzdHJhbmQgPGphc29uQGpsZWtzdHJhbmQubmV0Pgo+Cj4gVHdv IHRoaW5nczoKPiAtIEknbSBhc3N1bWluZyB5b3UgaGF2ZSBhbiBpZ3QgY2hhbmdlIHRvIG1ha2Ug c3VyZSB3ZSBnZXQgRUlOVkFMIGZvciBib3RoCj4gICBzZXQgYW5kIGdldHBhcmFtIG5vdz8gSnVz dCB0byBtYWtlIHN1cmUuCgpJJ3ZlIHdyaXR0ZW4gdXAgc29tZSBxdWljayB0ZXN0cy4gIEknbGwg c2VuZCB0aGVtIG91dCBpbiB0aGUgbmV4dAp2ZXJzaW9uIG9mIHRoZSBJR1Qgc2VyaWVzIG9yIGFz IGEgc2VwYXJhdGUgc2VyaWVzIGlmIHRoYXQgb25lIGdldHMKcmV2aWV3ZWQgd2l0aG91dCBjb21t ZW50ICh1bmxpa2VseSkuCgo+IC0gaW50ZWxfY29udGV4dC0+cmluZyBpcyBlaXRoZXIgYSByaW5n IHBvaW50ZXIgd2hlbiBDT05URVhUX0FMTE9DX0JJVCBpcwo+ICAgc2V0IGluIGNlLT5mbGFncywg b3IgdGhlIHNpemUgb2YgdGhlIHJpbmcgc3RvcmVkIGluIHRoZSBwb2ludGVyIGlmIG5vdC4KPiAg IEknbSBzZXJpb3VzbHkgaG9waW5nIHlvdSBnZXQgcmlkIG9mIHRoaXMgY29tcGxleGl0eSB3aXRo IHlvdXIKPiAgIHByb3RvLWNvbnRleHQgc2VyaWVzLCBhbmQgYWxzbyBkZWxldGUgX19pbnRlbF9j b250ZXh0X3Jpbmdfc2l6ZSgpIGluIHRoZQo+ICAgZW5kLiBUaGF0IGZ1bmN0aW9uIGhhcyBubyBi dXNpbmVzcyBleGlzdGluZyBpbW8uCgpJIGhhZG4ndCBkb25lIHRoYXQgeWV0LCBuby4gIEJ1dCBJ IHR5cGVkIHVwIGEgcGF0Y2ggdG9kYXkgd2hpY2ggSSdsbApzZW5kIG91dCB3aXRoIHRoZSBuZXh0 IHZlcnNpb24gb2YgdGhpcyBzZXJpZXMgd2hpY2ggZG9lcyB0aGlzLgoKLS1KYXNvbgoKPiAgIElm IG5vdCwgcGxlYXNlIG1ha2Ugc3VyZSB0aGF0J3MgdGhlIGNhc2UuCj4KPiBBc2lkZSBmcm9tIHRo ZXNlIHBhdGNoIGxvb2tzIGdvb2QuCj4KPiBSZXZpZXdlZC1ieTogRGFuaWVsIFZldHRlciA8ZGFu aWVsLnZldHRlckBmZndsbC5jaD4KPgo+ID4gLS0tCj4gPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUv TWFrZWZpbGUgICAgICAgICAgICAgICAgIHwgIDEgLQo+ID4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1 L2dlbS9pOTE1X2dlbV9jb250ZXh0LmMgICB8IDg1ICstLS0tLS0tLS0tLS0tLS0tLS0KPiA+ICBk cml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9pbnRlbF9jb250ZXh0X3BhcmFtLmMgfCA2MyAtLS0tLS0t LS0tLS0tLQo+ID4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L2ludGVsX2NvbnRleHRfcGFyYW0u aCB8ICAzIC0KPiA+ICBpbmNsdWRlL3VhcGkvZHJtL2k5MTVfZHJtLmggICAgICAgICAgICAgICAg ICAgfCAyMCArLS0tLQo+ID4gIDUgZmlsZXMgY2hhbmdlZCwgNCBpbnNlcnRpb25zKCspLCAxNjgg ZGVsZXRpb25zKC0pCj4gPiAgZGVsZXRlIG1vZGUgMTAwNjQ0IGRyaXZlcnMvZ3B1L2RybS9pOTE1 L2d0L2ludGVsX2NvbnRleHRfcGFyYW0uYwo+ID4KPiA+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dw dS9kcm0vaTkxNS9NYWtlZmlsZSBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L01ha2VmaWxlCj4gPiBp bmRleCBkMGQ5MzZkOTEzN2JjLi5hZmEyMjMzOGZhMzQzIDEwMDY0NAo+ID4gLS0tIGEvZHJpdmVy cy9ncHUvZHJtL2k5MTUvTWFrZWZpbGUKPiA+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L01h a2VmaWxlCj4gPiBAQCAtODgsNyArODgsNiBAQCBndC15ICs9IFwKPiA+ICAgICAgIGd0L2dlbjhf cHBndHQubyBcCj4gPiAgICAgICBndC9pbnRlbF9icmVhZGNydW1icy5vIFwKPiA+ICAgICAgIGd0 L2ludGVsX2NvbnRleHQubyBcCj4gPiAtICAgICBndC9pbnRlbF9jb250ZXh0X3BhcmFtLm8gXAo+ ID4gICAgICAgZ3QvaW50ZWxfY29udGV4dF9zc2V1Lm8gXAo+ID4gICAgICAgZ3QvaW50ZWxfZW5n aW5lX2NzLm8gXAo+ID4gICAgICAgZ3QvaW50ZWxfZW5naW5lX2hlYXJ0YmVhdC5vIFwKPiA+IGRp ZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9nZW0vaTkxNV9nZW1fY29udGV4dC5jIGIv ZHJpdmVycy9ncHUvZHJtL2k5MTUvZ2VtL2k5MTVfZ2VtX2NvbnRleHQuYwo+ID4gaW5kZXggZmQ4 ZWU1MmUxN2E0Ny4uZTUyYjg1YjhmOTIzZCAxMDA2NDQKPiA+IC0tLSBhL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2dlbS9pOTE1X2dlbV9jb250ZXh0LmMKPiA+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2dlbS9pOTE1X2dlbV9jb250ZXh0LmMKPiA+IEBAIC0xMzM1LDYzICsxMzM1LDYgQEAgc3Rh dGljIGludCBzZXRfcHBndHQoc3RydWN0IGRybV9pOTE1X2ZpbGVfcHJpdmF0ZSAqZmlsZV9wcml2 LAo+ID4gICAgICAgcmV0dXJuIGVycjsKPiA+ICB9Cj4gPgo+ID4gLXN0YXRpYyBpbnQgX19hcHBs eV9yaW5nc2l6ZShzdHJ1Y3QgaW50ZWxfY29udGV4dCAqY2UsIHZvaWQgKnN6KQo+ID4gLXsKPiA+ IC0gICAgIHJldHVybiBpbnRlbF9jb250ZXh0X3NldF9yaW5nX3NpemUoY2UsICh1bnNpZ25lZCBs b25nKXN6KTsKPiA+IC19Cj4gPiAtCj4gPiAtc3RhdGljIGludCBzZXRfcmluZ3NpemUoc3RydWN0 IGk5MTVfZ2VtX2NvbnRleHQgKmN0eCwKPiA+IC0gICAgICAgICAgICAgICAgICAgICBzdHJ1Y3Qg ZHJtX2k5MTVfZ2VtX2NvbnRleHRfcGFyYW0gKmFyZ3MpCj4gPiAtewo+ID4gLSAgICAgaWYgKCFI QVNfTE9HSUNBTF9SSU5HX0NPTlRFWFRTKGN0eC0+aTkxNSkpCj4gPiAtICAgICAgICAgICAgIHJl dHVybiAtRU5PREVWOwo+ID4gLQo+ID4gLSAgICAgaWYgKGFyZ3MtPnNpemUpCj4gPiAtICAgICAg ICAgICAgIHJldHVybiAtRUlOVkFMOwo+ID4gLQo+ID4gLSAgICAgaWYgKCFJU19BTElHTkVEKGFy Z3MtPnZhbHVlLCBJOTE1X0dUVF9QQUdFX1NJWkUpKQo+ID4gLSAgICAgICAgICAgICByZXR1cm4g LUVJTlZBTDsKPiA+IC0KPiA+IC0gICAgIGlmIChhcmdzLT52YWx1ZSA8IEk5MTVfR1RUX1BBR0Vf U0laRSkKPiA+IC0gICAgICAgICAgICAgcmV0dXJuIC1FSU5WQUw7Cj4gPiAtCj4gPiAtICAgICBp ZiAoYXJncy0+dmFsdWUgPiAxMjggKiBJOTE1X0dUVF9QQUdFX1NJWkUpCj4gPiAtICAgICAgICAg ICAgIHJldHVybiAtRUlOVkFMOwo+ID4gLQo+ID4gLSAgICAgcmV0dXJuIGNvbnRleHRfYXBwbHlf YWxsKGN0eCwKPiA+IC0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfX2FwcGx5X3Jpbmdz aXplLAo+ID4gLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF9faW50ZWxfY29udGV4dF9y aW5nX3NpemUoYXJncy0+dmFsdWUpKTsKPiA+IC19Cj4gPiAtCj4gPiAtc3RhdGljIGludCBfX2dl dF9yaW5nc2l6ZShzdHJ1Y3QgaW50ZWxfY29udGV4dCAqY2UsIHZvaWQgKmFyZykKPiA+IC17Cj4g PiAtICAgICBsb25nIHN6Owo+ID4gLQo+ID4gLSAgICAgc3ogPSBpbnRlbF9jb250ZXh0X2dldF9y aW5nX3NpemUoY2UpOwo+ID4gLSAgICAgR0VNX0JVR19PTihzeiA+IElOVF9NQVgpOwo+ID4gLQo+ ID4gLSAgICAgcmV0dXJuIHN6OyAvKiBzdG9wIG9uIGZpcnN0IGVuZ2luZSAqLwo+ID4gLX0KPiA+ IC0KPiA+IC1zdGF0aWMgaW50IGdldF9yaW5nc2l6ZShzdHJ1Y3QgaTkxNV9nZW1fY29udGV4dCAq Y3R4LAo+ID4gLSAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBkcm1faTkxNV9nZW1fY29udGV4 dF9wYXJhbSAqYXJncykKPiA+IC17Cj4gPiAtICAgICBpbnQgc3o7Cj4gPiAtCj4gPiAtICAgICBp ZiAoIUhBU19MT0dJQ0FMX1JJTkdfQ09OVEVYVFMoY3R4LT5pOTE1KSkKPiA+IC0gICAgICAgICAg ICAgcmV0dXJuIC1FTk9ERVY7Cj4gPiAtCj4gPiAtICAgICBpZiAoYXJncy0+c2l6ZSkKPiA+IC0g ICAgICAgICAgICAgcmV0dXJuIC1FSU5WQUw7Cj4gPiAtCj4gPiAtICAgICBzeiA9IGNvbnRleHRf YXBwbHlfYWxsKGN0eCwgX19nZXRfcmluZ3NpemUsIE5VTEwpOwo+ID4gLSAgICAgaWYgKHN6IDwg MCkKPiA+IC0gICAgICAgICAgICAgcmV0dXJuIHN6Owo+ID4gLQo+ID4gLSAgICAgYXJncy0+dmFs dWUgPSBzejsKPiA+IC0gICAgIHJldHVybiAwOwo+ID4gLX0KPiA+IC0KPiA+ICBpbnQKPiA+ICBp OTE1X2dlbV91c2VyX3RvX2NvbnRleHRfc3NldShzdHJ1Y3QgaW50ZWxfZ3QgKmd0LAo+ID4gICAg ICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0cnVjdCBkcm1faTkxNV9nZW1fY29udGV4 dF9wYXJhbV9zc2V1ICp1c2VyLAo+ID4gQEAgLTIwMzcsMTEgKzE5ODAsOCBAQCBzdGF0aWMgaW50 IGN0eF9zZXRwYXJhbShzdHJ1Y3QgZHJtX2k5MTVfZmlsZV9wcml2YXRlICpmcHJpdiwKPiA+ICAg ICAgICAgICAgICAgcmV0ID0gc2V0X3BlcnNpc3RlbmNlKGN0eCwgYXJncyk7Cj4gPiAgICAgICAg ICAgICAgIGJyZWFrOwo+ID4KPiA+IC0gICAgIGNhc2UgSTkxNV9DT05URVhUX1BBUkFNX1JJTkdT SVpFOgo+ID4gLSAgICAgICAgICAgICByZXQgPSBzZXRfcmluZ3NpemUoY3R4LCBhcmdzKTsKPiA+ IC0gICAgICAgICAgICAgYnJlYWs7Cj4gPiAtCj4gPiAgICAgICBjYXNlIEk5MTVfQ09OVEVYVF9Q QVJBTV9CQU5fUEVSSU9EOgo+ID4gKyAgICAgY2FzZSBJOTE1X0NPTlRFWFRfUEFSQU1fUklOR1NJ WkU6Cj4gPiAgICAgICBkZWZhdWx0Ogo+ID4gICAgICAgICAgICAgICByZXQgPSAtRUlOVkFMOwo+ ID4gICAgICAgICAgICAgICBicmVhazsKPiA+IEBAIC0yMDY5LDE4ICsyMDA5LDYgQEAgc3RhdGlj IGludCBjcmVhdGVfc2V0cGFyYW0oc3RydWN0IGk5MTVfdXNlcl9leHRlbnNpb24gX191c2VyICpl eHQsIHZvaWQgKmRhdGEpCj4gPiAgICAgICByZXR1cm4gY3R4X3NldHBhcmFtKGFyZy0+ZnByaXYs IGFyZy0+Y3R4LCAmbG9jYWwucGFyYW0pOwo+ID4gIH0KPiA+Cj4gPiAtc3RhdGljIGludCBjb3B5 X3Jpbmdfc2l6ZShzdHJ1Y3QgaW50ZWxfY29udGV4dCAqZHN0LAo+ID4gLSAgICAgICAgICAgICAg ICAgICAgICAgc3RydWN0IGludGVsX2NvbnRleHQgKnNyYykKPiA+IC17Cj4gPiAtICAgICBsb25n IHN6Owo+ID4gLQo+ID4gLSAgICAgc3ogPSBpbnRlbF9jb250ZXh0X2dldF9yaW5nX3NpemUoc3Jj KTsKPiA+IC0gICAgIGlmIChzeiA8IDApCj4gPiAtICAgICAgICAgICAgIHJldHVybiBzejsKPiA+ IC0KPiA+IC0gICAgIHJldHVybiBpbnRlbF9jb250ZXh0X3NldF9yaW5nX3NpemUoZHN0LCBzeik7 Cj4gPiAtfQo+ID4gLQo+ID4gIHN0YXRpYyBpbnQgY2xvbmVfZW5naW5lcyhzdHJ1Y3QgaTkxNV9n ZW1fY29udGV4dCAqZHN0LAo+ID4gICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgaTkxNV9n ZW1fY29udGV4dCAqc3JjKQo+ID4gIHsKPiA+IEBAIC0yMTI1LDEyICsyMDUzLDYgQEAgc3RhdGlj IGludCBjbG9uZV9lbmdpbmVzKHN0cnVjdCBpOTE1X2dlbV9jb250ZXh0ICpkc3QsCj4gPiAgICAg ICAgICAgICAgIH0KPiA+Cj4gPiAgICAgICAgICAgICAgIGludGVsX2NvbnRleHRfc2V0X2dlbShj bG9uZS0+ZW5naW5lc1tuXSwgZHN0KTsKPiA+IC0KPiA+IC0gICAgICAgICAgICAgLyogQ29weSBh Y3Jvc3MgdGhlIHByZWZlcnJlZCByaW5nc2l6ZSAqLwo+ID4gLSAgICAgICAgICAgICBpZiAoY29w eV9yaW5nX3NpemUoY2xvbmUtPmVuZ2luZXNbbl0sIGUtPmVuZ2luZXNbbl0pKSB7Cj4gPiAtICAg ICAgICAgICAgICAgICAgICAgX19mcmVlX2VuZ2luZXMoY2xvbmUsIG4gKyAxKTsKPiA+IC0gICAg ICAgICAgICAgICAgICAgICBnb3RvIGVycl91bmxvY2s7Cj4gPiAtICAgICAgICAgICAgIH0KPiA+ ICAgICAgIH0KPiA+ICAgICAgIGNsb25lLT5udW1fZW5naW5lcyA9IG47Cj4gPiAgICAgICBpOTE1 X3N3X2ZlbmNlX2NvbXBsZXRlKCZlLT5mZW5jZSk7Cj4gPiBAQCAtMjQ5MCwxMSArMjQxMiw4IEBA IGludCBpOTE1X2dlbV9jb250ZXh0X2dldHBhcmFtX2lvY3RsKHN0cnVjdCBkcm1fZGV2aWNlICpk ZXYsIHZvaWQgKmRhdGEsCj4gPiAgICAgICAgICAgICAgIGFyZ3MtPnZhbHVlID0gaTkxNV9nZW1f Y29udGV4dF9pc19wZXJzaXN0ZW50KGN0eCk7Cj4gPiAgICAgICAgICAgICAgIGJyZWFrOwo+ID4K PiA+IC0gICAgIGNhc2UgSTkxNV9DT05URVhUX1BBUkFNX1JJTkdTSVpFOgo+ID4gLSAgICAgICAg ICAgICByZXQgPSBnZXRfcmluZ3NpemUoY3R4LCBhcmdzKTsKPiA+IC0gICAgICAgICAgICAgYnJl YWs7Cj4gPiAtCj4gPiAgICAgICBjYXNlIEk5MTVfQ09OVEVYVF9QQVJBTV9CQU5fUEVSSU9EOgo+ ID4gKyAgICAgY2FzZSBJOTE1X0NPTlRFWFRfUEFSQU1fUklOR1NJWkU6Cj4gPiAgICAgICBkZWZh dWx0Ogo+ID4gICAgICAgICAgICAgICByZXQgPSAtRUlOVkFMOwo+ID4gICAgICAgICAgICAgICBi cmVhazsKPiA+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9pbnRlbF9jb250 ZXh0X3BhcmFtLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9pbnRlbF9jb250ZXh0X3BhcmFt LmMKPiA+IGRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAo+ID4gaW5kZXggNjVkY2QwOTAyNDVkNi4u MDAwMDAwMDAwMDAwMAo+ID4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvaW50ZWxfY29u dGV4dF9wYXJhbS5jCj4gPiArKysgL2Rldi9udWxsCj4gPiBAQCAtMSw2MyArMCwwIEBACj4gPiAt Ly8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IE1JVAo+ID4gLS8qCj4gPiAtICogQ29weXJpZ2h0 IMKpIDIwMTkgSW50ZWwgQ29ycG9yYXRpb24KPiA+IC0gKi8KPiA+IC0KPiA+IC0jaW5jbHVkZSAi aTkxNV9hY3RpdmUuaCIKPiA+IC0jaW5jbHVkZSAiaW50ZWxfY29udGV4dC5oIgo+ID4gLSNpbmNs dWRlICJpbnRlbF9jb250ZXh0X3BhcmFtLmgiCj4gPiAtI2luY2x1ZGUgImludGVsX3JpbmcuaCIK PiA+IC0KPiA+IC1pbnQgaW50ZWxfY29udGV4dF9zZXRfcmluZ19zaXplKHN0cnVjdCBpbnRlbF9j b250ZXh0ICpjZSwgbG9uZyBzeikKPiA+IC17Cj4gPiAtICAgICBpbnQgZXJyOwo+ID4gLQo+ID4g LSAgICAgaWYgKGludGVsX2NvbnRleHRfbG9ja19waW5uZWQoY2UpKQo+ID4gLSAgICAgICAgICAg ICByZXR1cm4gLUVJTlRSOwo+ID4gLQo+ID4gLSAgICAgZXJyID0gaTkxNV9hY3RpdmVfd2FpdCgm Y2UtPmFjdGl2ZSk7Cj4gPiAtICAgICBpZiAoZXJyIDwgMCkKPiA+IC0gICAgICAgICAgICAgZ290 byB1bmxvY2s7Cj4gPiAtCj4gPiAtICAgICBpZiAoaW50ZWxfY29udGV4dF9pc19waW5uZWQoY2Up KSB7Cj4gPiAtICAgICAgICAgICAgIGVyciA9IC1FQlVTWTsgLyogSW4gYWN0aXZlIHVzZSwgY29t ZSBiYWNrIGxhdGVyISAqLwo+ID4gLSAgICAgICAgICAgICBnb3RvIHVubG9jazsKPiA+IC0gICAg IH0KPiA+IC0KPiA+IC0gICAgIGlmICh0ZXN0X2JpdChDT05URVhUX0FMTE9DX0JJVCwgJmNlLT5m bGFncykpIHsKPiA+IC0gICAgICAgICAgICAgc3RydWN0IGludGVsX3JpbmcgKnJpbmc7Cj4gPiAt Cj4gPiAtICAgICAgICAgICAgIC8qIFJlcGxhY2UgdGhlIGV4aXN0aW5nIHJpbmdidWZmZXIgKi8K PiA+IC0gICAgICAgICAgICAgcmluZyA9IGludGVsX2VuZ2luZV9jcmVhdGVfcmluZyhjZS0+ZW5n aW5lLCBzeik7Cj4gPiAtICAgICAgICAgICAgIGlmIChJU19FUlIocmluZykpIHsKPiA+IC0gICAg ICAgICAgICAgICAgICAgICBlcnIgPSBQVFJfRVJSKHJpbmcpOwo+ID4gLSAgICAgICAgICAgICAg ICAgICAgIGdvdG8gdW5sb2NrOwo+ID4gLSAgICAgICAgICAgICB9Cj4gPiAtCj4gPiAtICAgICAg ICAgICAgIGludGVsX3JpbmdfcHV0KGNlLT5yaW5nKTsKPiA+IC0gICAgICAgICAgICAgY2UtPnJp bmcgPSByaW5nOwo+ID4gLQo+ID4gLSAgICAgICAgICAgICAvKiBDb250ZXh0IGltYWdlIHdpbGwg YmUgdXBkYXRlZCBvbiBuZXh0IHBpbiAqLwo+ID4gLSAgICAgfSBlbHNlIHsKPiA+IC0gICAgICAg ICAgICAgY2UtPnJpbmcgPSBfX2ludGVsX2NvbnRleHRfcmluZ19zaXplKHN6KTsKPiA+IC0gICAg IH0KPiA+IC0KPiA+IC11bmxvY2s6Cj4gPiAtICAgICBpbnRlbF9jb250ZXh0X3VubG9ja19waW5u ZWQoY2UpOwo+ID4gLSAgICAgcmV0dXJuIGVycjsKPiA+IC19Cj4gPiAtCj4gPiAtbG9uZyBpbnRl bF9jb250ZXh0X2dldF9yaW5nX3NpemUoc3RydWN0IGludGVsX2NvbnRleHQgKmNlKQo+ID4gLXsK PiA+IC0gICAgIGxvbmcgc3ogPSAodW5zaWduZWQgbG9uZylSRUFEX09OQ0UoY2UtPnJpbmcpOwo+ ID4gLQo+ID4gLSAgICAgaWYgKHRlc3RfYml0KENPTlRFWFRfQUxMT0NfQklULCAmY2UtPmZsYWdz KSkgewo+ID4gLSAgICAgICAgICAgICBpZiAoaW50ZWxfY29udGV4dF9sb2NrX3Bpbm5lZChjZSkp Cj4gPiAtICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIC1FSU5UUjsKPiA+IC0KPiA+IC0gICAg ICAgICAgICAgc3ogPSBjZS0+cmluZy0+c2l6ZTsKPiA+IC0gICAgICAgICAgICAgaW50ZWxfY29u dGV4dF91bmxvY2tfcGlubmVkKGNlKTsKPiA+IC0gICAgIH0KPiA+IC0KPiA+IC0gICAgIHJldHVy biBzejsKPiA+IC19Cj4gPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvaW50 ZWxfY29udGV4dF9wYXJhbS5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvaW50ZWxfY29udGV4 dF9wYXJhbS5oCj4gPiBpbmRleCAzZWNhY2M2NzVmNDE0Li5kZmZlZGQ5ODM2OTNkIDEwMDY0NAo+ ID4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvaW50ZWxfY29udGV4dF9wYXJhbS5oCj4g PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9pbnRlbF9jb250ZXh0X3BhcmFtLmgKPiA+ IEBAIC0xMCw5ICsxMCw2IEBACj4gPgo+ID4gICNpbmNsdWRlICJpbnRlbF9jb250ZXh0LmgiCj4g Pgo+ID4gLWludCBpbnRlbF9jb250ZXh0X3NldF9yaW5nX3NpemUoc3RydWN0IGludGVsX2NvbnRl eHQgKmNlLCBsb25nIHN6KTsKPiA+IC1sb25nIGludGVsX2NvbnRleHRfZ2V0X3Jpbmdfc2l6ZShz dHJ1Y3QgaW50ZWxfY29udGV4dCAqY2UpOwo+ID4gLQo+ID4gIHN0YXRpYyBpbmxpbmUgaW50Cj4g PiAgaW50ZWxfY29udGV4dF9zZXRfd2F0Y2hkb2dfdXMoc3RydWN0IGludGVsX2NvbnRleHQgKmNl LCB1NjQgdGltZW91dF91cykKPiA+ICB7Cj4gPiBkaWZmIC0tZ2l0IGEvaW5jbHVkZS91YXBpL2Ry bS9pOTE1X2RybS5oIGIvaW5jbHVkZS91YXBpL2RybS9pOTE1X2RybS5oCj4gPiBpbmRleCA2YTM0 MjQzYTc2NDZhLi42ZWVmYmM2ZGVjMDFmIDEwMDY0NAo+ID4gLS0tIGEvaW5jbHVkZS91YXBpL2Ry bS9pOTE1X2RybS5oCj4gPiArKysgYi9pbmNsdWRlL3VhcGkvZHJtL2k5MTVfZHJtLmgKPiA+IEBA IC0xNzIxLDI0ICsxNzIxLDggQEAgc3RydWN0IGRybV9pOTE1X2dlbV9jb250ZXh0X3BhcmFtIHsK PiA+ICAgKi8KPiA+ICAjZGVmaW5lIEk5MTVfQ09OVEVYVF9QQVJBTV9QRVJTSVNURU5DRSAgICAg ICAweGIKPiA+Cj4gPiAtLyoKPiA+IC0gKiBJOTE1X0NPTlRFWFRfUEFSQU1fUklOR1NJWkU6Cj4g PiAtICoKPiA+IC0gKiBTZXRzIHRoZSBzaXplIG9mIHRoZSBDUyByaW5nYnVmZmVyIHRvIHVzZSBm b3IgbG9naWNhbCByaW5nIGNvbnRleHRzLiBUaGlzCj4gPiAtICogYXBwbGllcyBhIGxpbWl0IG9m IGhvdyBtYW55IGJhdGNoZXMgY2FuIGJlIHF1ZXVlZCB0byBIVyBiZWZvcmUgdGhlIGNhbGxlcgo+ ID4gLSAqIGlzIGJsb2NrZWQgZHVlIHRvIGxhY2sgb2Ygc3BhY2UgZm9yIG1vcmUgY29tbWFuZHMu Cj4gPiAtICoKPiA+IC0gKiBPbmx5IHJlbGlhYmx5IHBvc3NpYmxlIHRvIGJlIHNldCBwcmlvciB0 byBmaXJzdCB1c2UsIGkuZS4gZHVyaW5nCj4gPiAtICogY29uc3RydWN0aW9uLiBBdCBhbnkgbGF0 ZXIgcG9pbnQsIHRoZSBjdXJyZW50IGV4ZWN1dGlvbiBtdXN0IGJlIGZsdXNoZWQgYXMKPiA+IC0g KiB0aGUgcmluZyBjYW4gb25seSBiZSBjaGFuZ2VkIHdoaWxlIHRoZSBjb250ZXh0IGlzIGlkbGUu IE5vdGUsIHRoZSByaW5nc2l6ZQo+ID4gLSAqIGNhbiBiZSBzcGVjaWZpZWQgYXMgYSBjb25zdHJ1 Y3RvciBwcm9wZXJ0eSwgc2VlCj4gPiAtICogSTkxNV9DT05URVhUX0NSRUFURV9FWFRfU0VUUEFS QU0sIGJ1dCBjYW4gYWxzbyBiZSBzZXQgbGF0ZXIgaWYgcmVxdWlyZWQuCj4gPiAtICoKPiA+IC0g KiBPbmx5IGFwcGxpZXMgdG8gdGhlIGN1cnJlbnQgc2V0IG9mIGVuZ2luZSBhbmQgbG9zdCB3aGVu IHRob3NlIGVuZ2luZXMKPiA+IC0gKiBhcmUgcmVwbGFjZWQgYnkgYSBuZXcgbWFwcGluZyAoc2Vl IEk5MTVfQ09OVEVYVF9QQVJBTV9FTkdJTkVTKS4KPiA+IC0gKgo+ID4gLSAqIE11c3QgYmUgYmV0 d2VlbiA0IC0gNTEyIEtpQiwgaW4gaW50ZXJ2YWxzIG9mIHBhZ2Ugc2l6ZSBbNCBLaUJdLgo+ID4g LSAqIERlZmF1bHQgaXMgMTYgS2lCLgo+ID4gKy8qIFRoaXMgQVBJIGhhcyBiZWVuIHJlbW92ZWQu ICBPbiB0aGUgb2ZmIGNoYW5jZSBzb21lb25lIHNvbWV3aGVyZSBoYXMKPiA+ICsgKiBhdHRlbXB0 ZWQgdG8gdXNlIGl0LCBuZXZlciByZS11c2UgdGhpcyBjb250ZXh0IHBhcmFtIG51bWJlci4KPiA+ ICAgKi8KPiA+ICAjZGVmaW5lIEk5MTVfQ09OVEVYVF9QQVJBTV9SSU5HU0laRSAgMHhjCj4gPiAg LyogTXVzdCBiZSBrZXB0IGNvbXBhY3QgLS0gbm8gaG9sZXMgYW5kIHdlbGwgZG9jdW1lbnRlZCAq Lwo+ID4gLS0KPiA+IDIuMzEuMQo+ID4KPiA+IF9fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fCj4gPiBkcmktZGV2ZWwgbWFpbGluZyBsaXN0Cj4gPiBkcmktZGV2 ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCj4gPiBodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9y Zy9tYWlsbWFuL2xpc3RpbmZvL2RyaS1kZXZlbAo+Cj4gLS0KPiBEYW5pZWwgVmV0dGVyCj4gU29m dHdhcmUgRW5naW5lZXIsIEludGVsIENvcnBvcmF0aW9uCj4gaHR0cDovL2Jsb2cuZmZ3bGwuY2gK X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KZHJpLWRldmVs IG1haWxpbmcgbGlzdApkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlz dHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZHJpLWRldmVsCg==