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=-21.2 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,INCLUDES_CR_TRAILER,INCLUDES_PATCH,MAILING_LIST_MULTI, MENTIONS_GIT_HOSTING,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED,USER_AGENT_SANE_1 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 8F2D0C433ED for ; Fri, 7 May 2021 15:27:46 +0000 (UTC) Received: from desiato.infradead.org (desiato.infradead.org [90.155.92.199]) (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 DF5426128B for ; Fri, 7 May 2021 15:27:45 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org DF5426128B Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=kernel.org Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=desiato.20200630; h=Sender:Content-Transfer-Encoding :Content-Type:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:In-Reply-To:MIME-Version:References:Message-ID: Subject:Cc:To:From:Date:Reply-To:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=nQaRzs2/bzjqmJpl0VGSDXdXRj3DcUnbLO0eyP/I4zg=; b=BVdqoZ4Ey5MlERxkEr+tTW24o 5IWFmv+ckS/kQLApwVdGRO7CL2Hg/cjRmSEBZfCpP2WOC5xj9Y06HIimU2n2O+5prCoC1ybHKQTiF EdC2DaTyGyb8vNSg/zj2X7ma1Vey5oK8SqhiwxkOcs7Z2ilofeOudcz12NiNk4xfpuImjcG3VsZUg fsDc9mS6Yjz2ebBxuErU86r4GmpLYYCeMudFroojV6ZXSQo4FuOr+4kVrJY6jiylJiQHETG13QtYm 7hf/EoTrZMzktAu3TBEVlU5nhSHqTHRGpnNJtOs1dKKbYcm0ARF0wqzc5Gnik+LAhmRHJooy85z7h NjM6r/UTw==; Received: from localhost ([::1] helo=desiato.infradead.org) by desiato.infradead.org with esmtp (Exim 4.94 #2 (Red Hat Linux)) id 1lf2MU-007Pda-4p; Fri, 07 May 2021 15:25:54 +0000 Received: from bombadil.infradead.org ([2607:7c80:54:e::133]) by desiato.infradead.org with esmtps (Exim 4.94 #2 (Red Hat Linux)) id 1lf2MP-007PdG-IN for linux-arm-kernel@desiato.infradead.org; Fri, 07 May 2021 15:25:49 +0000 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=bombadil.20210309; h=In-Reply-To:Content-Transfer-Encoding :Content-Type:MIME-Version:References:Message-ID:Subject:Cc:To:From:Date: Sender:Reply-To:Content-ID:Content-Description; bh=lhgbT1w+NvUfHhnpOUNVqkeOEiR5XMR0G4z7mTyh+LU=; b=cco1BMux4oFNneh4QBAdhgvLwY A3oMgmQCABUJbPuX4JwpSO0G1yUF5dKD+lydG3bMbpXBmDzWn7lXI1zJQK8qAIE40MqDA8PU15GN/ s2RRrKD/PXuq8UiV9UEr2sxBlbu2xnyFRadZR93yY1yLRRHYEIdax3UPIGdnqLY/D+ZTIacM7Locz 0LFIoMaBlrXpH02R+w6fNl+WM4nbmZd4oyG1wBFwGlMm5KX47OLUMoldT7qhk2PJf3E4TKpdxVvKo EBfX6r3aszEv3N1Ueih7+vqVFtC26yBYdEGVYy4v2HskqaGKQxrEGVEG0B3Poq4WVdjYx/P1SjjCB vRxa53RA==; Received: from mail.kernel.org ([198.145.29.99]) by bombadil.infradead.org with esmtps (Exim 4.94 #2 (Red Hat Linux)) id 1lf2MM-006xe5-Ab for linux-arm-kernel@lists.infradead.org; Fri, 07 May 2021 15:25:48 +0000 Received: by mail.kernel.org (Postfix) with ESMTPSA id 454566141F; Fri, 7 May 2021 15:25:45 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1620401145; bh=guSAf3Z8cwB+uKCKTgY4ghbe6wtYbxXBXcwzEq8gk18=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=BpJjPpCt6H3raOG6Y4go+bJbjhKbfad3MCT1h0u1XNvS6WMgoJ1OVIW/Wr7XtmXpO DSbWPLYGbnskgTZbEJkbZuqdmEX06Nr0TRi9cZRpbREYS2l3pIHwsvqGCwjZZFZiGp Az9wGrQZmMoXEH3qiDTiDuns/iWK8UIceGevEsGduYGBVuBvuoNGquXEvJa93nNsnY BfB0V/lsjdqQ6F6c7PbIiRl7BXo0IV8xEZuBFgyZgZLntzdpKlVjmCQqo8EAvxnky0 919MVKIg7/4+TihXa/lHcmuqGJdRuwnbLWx6ngctNmULJHEjeRTXzpSrY5IvJyUMrO i5eBo5KMSudSw== Received: by pali.im (Postfix) id 38B5C7E0; Fri, 7 May 2021 17:25:42 +0200 (CEST) Date: Fri, 7 May 2021 17:25:42 +0200 From: Pali =?utf-8?B?Um9ow6Fy?= To: Bjorn Helgaas Cc: Lorenzo Pieralisi , Thomas Petazzoni , Rob Herring , Bjorn Helgaas , Russell King , Marek =?utf-8?B?QmVow7pu?= , Remi Pommarel , Xogium , Tomasz Maciej Nowak , Marc Zyngier , linux-pci@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH 06/42] PCI: aardvark: Fix reporting CRS Software Visibility on emulated bridge Message-ID: <20210507152542.sd54lk7bk56qapf3@pali> References: <20210506153153.30454-7-pali@kernel.org> <20210507130307.GA1448097@bjorn-Precision-5520> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <20210507130307.GA1448097@bjorn-Precision-5520> User-Agent: NeoMutt/20180716 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20210507_082546_472667_69B1969A X-CRM114-Status: GOOD ( 44.62 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org T24gRnJpZGF5IDA3IE1heSAyMDIxIDA4OjAzOjA3IEJqb3JuIEhlbGdhYXMgd3JvdGU6Cj4gT24g VGh1LCBNYXkgMDYsIDIwMjEgYXQgMDU6MzE6MTdQTSArMDIwMCwgUGFsaSBSb2jDoXIgd3JvdGU6 Cj4gPiBDUlMgU29mdHdhcmUgVmlzaWJpbGl0eSBpcyBzdXBwb3J0ZWQgYW5kIGFsd2F5cyBlbmFi bGVkIGJ5IFBJTy4KPiA+IENvcnJlY3RseSByZXBvcnQgdGhpcyBpbmZvcm1hdGlvbiB2aWEgZW11 bGF0ZWQgcm9vdCBicmlkZ2UuCj4gCj4gTWF5YmUgc3BlbGwgb3V0ICJDb25maWd1cmF0aW9uIFJl cXVlc3QgUmV0cnkgU3RhdHVzIChDUlMpIFNvZnR3YXJlCj4gVmlzaWJpbGl0eSIgb25jZS4KPiAK PiBJJ20gZ3Vlc3NpbmcgdGhlIGFhcmR2YXJrIGhhcmR3YXJlIHNwZWMgaXMgcHJvcHJpZXRhcnks CgpTZWVtcyBzby4gSSBoYXZlIG5ldmVyIHNlZW4gYWFyZHZhcmsgaGFyZHdhcmUgb3Igc29mdHdh cmUgc3BlYy4gSSBoYXZlCmFscmVhZHkgYXNrZWQgTWFydmVsbCBtb3JlIHRpbWVzIGlmIHRoZXkg Y2FuIHByb3ZpZGUgbWUgZG9jdW1lbnRhdGlvbiwKYnV0IEkgaGF2ZSBub3QgcmVjZWl2ZWQgYW55 dGhpbmcgKHlldCkuCgpJIGhhdmUgYWNjZXNzIHRvIEEzNzIwIGRvY3VtZW50YXRpb24gd2hpY2gg aXMgYXZhaWxhYmxlIG9uIE1hcnZlbGwKQ3VzdG9tZXIgcG9ydGFsIGFuZCBpdCBjb250YWlucyBz ZWN0aW9uIGFib3V0IFBDSWUgb24gQTM3MjAuIEl0IGlzCmluY29tcGxldGUgYW5kIG1vc3RseSBi dWdneS4KClNvIG1vc3QgY29kZSBpcyB3cml0dGVuIGJ5IHRyaWFsICYgZXJyb3IgbWV0aG9kIGFu ZCBzaW1wbHkgb2JzZXJ2ZSBob3cKdGhpcyBoYXJkd2FyZSBiZWhhdmVzLiBMb3Qgb2YgdGhpbmdz IEkgY2FuIGp1c3QgZ3Vlc3MgaG93IHNob3VsZCB3b3JrLgpTZWUgZS5nLiBsb25nIGRlc2NyaXB0 aW9uIGluIHBhdGNoIDcvNDIgRml4IGxpbmsgdHJhaW5pbmcuCgo+IGJ1dCBjYW4geW91IGF0Cj4g bGVhc3QgaW5jbHVkZSBhIHJlZmVyZW5jZSB0byB0aGUgc2VjdGlvbiB0aGF0IHNheXMgQ1JTVklT IGlzCj4gc3VwcG9ydGVkIGFuZCBDUlNTVkUgaXMgZW5hYmxlZD8KClRoZXJlIGlzIG5vdGhpbmcg Oi0oCgo+IFdoYXQgaXMgUElPPyAgSSBhc3N1bWUgdGhpcyBpcyBzb21ldGhpbmcgb3RoZXIgdGhh biAicHJvZ3JhbW1lZCBJL08iPwoKSSdtIG5vdCBzdXJlIHdoYXQgUElPIGFiYnJldmlhdGlvbiBt ZWFucy4gQXMgSSBzYXcgdGhhdCBzb21ldGltZXMgcGVvcGxlCnJlZmVycyB0byBQQ0llIEkvTywg c29tZXRpbWVzIChnZW5lcmljKSBwcm9ncmFtbWVkIEkvTyBhbmQgc29tZXRpbWVzClBvc3RlZCBJ L08uCgpJIHdhcyBwcm9iYWJseSBub3QgYWNjdXJhdGUgaW4gYWxsIGNvbW1pdCBtZXNzYWdlcyBh cyBzb21lIG9mIHRoZXNlCnBhdGNoZXMgSSBoYXZlIHdyaXR0ZW4gbW9udGhzIGFnbyBhbmQgc29t ZSBqdXN0IGZldyBkYXlzIGFnby4KCkkgd2lsbCB0cnkgdG8gZXhwbGFpbiB3aGF0IFBJTyBtZWFu cyBpbiB0aGlzIGRyaXZlciBhbmQgY29udGV4dCBvZiBBMzcyMApQQ0llLiBJIHVuZGVyc3RhbmQg aXQgYXMgYSB3YXkgaG93IHRvIHNlbmQgUENJZSBtZXNzYWdlcy9wYWNrZXRzIGZyb20KQTM3MjAg UENJZSBjb250cm9sbGVyIHdpdGhvdXQgbmVlZCB0byBtYXAgUENJZSBhZGRyZXNzIHNwYWNlLiBB MzcyMCBIVwpwcm92aWRlcyByZWdpc3RlcnMgaW50byB3aGljaCB5b3UgZmlsbCBpbmZvcm1hdGlv biB3aGF0IGtpbmQgb2YgUENJZQptZXNzYWdlIHlvdSB3YW50IHRvIHNlbmQgKGUuZy4gY29uZmln IHJlYWQvd3JpdGUgb3IgbWVtb3J5IHJlYWQvd3JpdGUKdHJhbnNhY3Rpb25zLCBJTlR4IG9yIEVy cm9yIG9yIFNsb3QgUG93ZXIgb3IgVmVuZG9yIG1lc3NhZ2UpIGFuZCB0aGVuIGJ5CmFub3RoZXIg cmVnaXN0ZXIgeW91IHRyaWdnZXIgc2VuZGluZyBvZiB0aGlzIG1lc3NhZ2UgYW5kIHdhaXRpbmcg dW50aWwKcmVnaXN0ZXIgaW5kaWNhdGVzIHRoYXQgb3BlcmF0aW9uIGZpbmlzaGVkLgoKPiBJJ2Qg bGlrZSB0aGUgY29tbWl0IGxvZyB0byBzYXkgc29tZXRoaW5nIGFib3V0IHRoZSBlZmZlY3Qgb2Yg dGhpcwo+IGNoYW5nZSwgaS5lLiwgd2h5IGFyZSB3ZSBkb2luZyBpdD8KPiAKPiBGb3Igb25lIHRo aW5nLCBJIGV4cGVjdCBsc3BjaSB3aWxsIG5vdyBzaG93ICJSb290Q3RsOiAuLi4gQ1JTVmlzaWJs ZSsiCj4gYW5kICJSb290Q2FwOiBDUlNWaXNpYmxlKyIuCgpFeGFjdGx5LgoKPiBXaXRoIFBDSV9F WFBfUlRDQVBfQ1JTVklTIHNldCwgcGNpX2VuYWJsZV9jcnMoKSBzaG91bGQgbm93IHRyeSB0byBz ZXQKPiBQQ0lfRVhQX1JUQ1RMX0NSU1NWRSAod2hpY2ggSSB0aGluayBpcyBhIG5vLW9wIHNpbmNl Cj4gYWR2a19wY2lfYnJpZGdlX2VtdWxfcGNpZV9jb25mX3dyaXRlKCkgZG9lc24ndCBkbyBhbnl0 aGluZyB3aXRoCj4gUENJX0VYUF9SVENUTF9DUlNTVkUpLgoKYWFyZHZhcmsgaG9vayBmb3IgZW11 bCBicmlkZ2UgZG9lcyBub3RoaW5nIGZvciBQQ0lfRVhQX1JUQ1RMX0NSU1NWRS4KCj4gU28gQUZB SUNUIHRoaXMgaGFzIHplcm8gZWZmZWN0IG9uIHRoZSBrZXJuZWwuICBQb3NzaWJseSB3ZSAqc2hv dWxkKgo+IGJhc2Ugc29tZSBrZXJuZWwgYmVoYXZpb3Igb24gd2hldGhlciBQQ0lfRVhQX1JUQ1RM X0NSU1NWRSBpcyBzZXQsIGJ1dAo+IEkgZG9uJ3QgdGhpbmsgd2UgZG8gdG9kYXkuCgpJIHVuZGVy c3Rvb2QgQ1JTU1ZFIGJpdCB0aGF0IHdoZW4gaXQgaXMgZW5hYmxlZCB0aGVuIHJvb3QgY29tcGxl eCBzdGFydHMKcmV0dXJuaW5nIENSUyB3aGVuIHRyeWluZyB0byByZWFkIGRldmljZSt2ZW5kb3Ig aWQgZnJvbSBkZXZpY2Ugd2hpY2ggaXMKbm90IHJlYWR5IHlldC4gQW5kIGlmIENSU1NWRSBpcyBu b3QgZW5hYmxlZCB0aGVuIHJvb3QgY29tcGxleCBzaG91bGQKcmUtaXNzdWUgY29uZmlnIHJlcXVl c3QgdW50aWwgY29tcGxldGVzIHdpdGggbm9uLUNSUyBzdGF0dXMgYW5kIGRvIG5vdApyZXR1cm4g Q1JTLgoKQW5kIGJlY2F1c2UgSSBoYXZlIG5vdCBmb3VuZCBhbnkgd2F5IGhvdyB0byByZWNvbmZp Z3VyZSBhYXJkdmFyayB0byBhdXRvCnJlLWlzc3VlIGNvbmZpZyByZXF1ZXN0ICh3aGljaCBpcyB3 aGVuIENSU1NWRSBpcyBub3QgZW5hYmxlZCkgc3RhcnRlZCBieQpQSU8sIEkgaW5jbHVkZWQgdGhp cyBwYXRjaCB3aGljaCBzZXRzIENSU1NWRSBiaXQgaW4gZW11bGF0ZWQgYnJpZGdlIHRvCm1hdGNo IGV4cGVjdGVkIGJlaGF2aW9yLgoKSWYgbXkgdW5kZXJzdGFuZGluZyBpcyBpbmNvcnJlY3QgaGVy ZSwgcGxlYXNlIGxldCBtZSBrbm93IGFuZCBJIHVwZGF0ZQphbmQgZml4IHRoaXMgZHJpdmVyLgoK PiA+IFNpZ25lZC1vZmYtYnk6IFBhbGkgUm9ow6FyIDxwYWxpQGtlcm5lbC5vcmc+Cj4gPiBSZXZp ZXdlZC1ieTogTWFyZWsgQmVow7puIDxrYWJlbEBrZXJuZWwub3JnPgo+ID4gRml4ZXM6IDhhM2Vi ZDhkZTMyOCAoIlBDSTogYWFyZHZhcms6IEltcGxlbWVudCBlbXVsYXRlZCByb290IFBDSSBicmlk Z2UgY29uZmlnIHNwYWNlIikKPiA+IENjOiBzdGFibGVAdmdlci5rZXJuZWwub3JnCj4gCj4gQWdh aW4sIEkgdGhpbmsgdGhpcyBqdXN0IGFkZHMgZnVuY3Rpb25hbGl0eSBhbmQgZG9lc24ndCBmaXgg c29tZXRoaW5nCj4gdGhhdCB1c2VkIHRvIGJlIGJyb2tlbi4KPiAKPiBQZXIgWzFdLCBwYXRjaGVz IGZvciB0aGUgc3RhYmxlIGtlcm5lbCBzaG91bGQgYmUgZm9yIHNlcmlvdXMgaXNzdWVzCj4gbGlr ZSBhbiBvb3BzLCBoYW5nLCBkYXRhIGNvcnJ1cHRpb24sIGV0Yy4gIEkga25vdyBzdGFibGUga2Vy bmVsCj4gbWFpbnRhaW5lcnMgcGljayB1cCBhbGwgc29ydHMgb2Ygb3RoZXIgc3R1ZmYsIGJ1dCB0 aGF0J3MgdXAgdG8gdGhlbS4KPiBJIHRyeSB0byBsaW1pdCBzdGFibGUgdGFncyB0byByZWR1Y2Ug dGhlIHJpc2sgb2YgcmVncmVzc2luZy4KPiAKPiBbMV0gaHR0cHM6Ly9naXQua2VybmVsLm9yZy9w dWIvc2NtL2xpbnV4L2tlcm5lbC9naXQvdG9ydmFsZHMvbGludXguZ2l0L3RyZWUvRG9jdW1lbnRh dGlvbi9wcm9jZXNzL3N0YWJsZS1rZXJuZWwtcnVsZXMucnN0P2lkPXY1LjExCgpPaywgbm8gcHJv YmxlbS4gSSBjYW4gb21pdCBlaXRoZXIgQ0MsIEZpeGVzIG9yIGJvdGggdGFncy4KCj4gPiAtLS0K PiA+ICBkcml2ZXJzL3BjaS9jb250cm9sbGVyL3BjaS1hYXJkdmFyay5jIHwgMTQgKysrKysrKysr KysrKy0KPiA+ICAxIGZpbGUgY2hhbmdlZCwgMTMgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigt KQo+ID4gCj4gPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9wY2kvY29udHJvbGxlci9wY2ktYWFyZHZh cmsuYyBiL2RyaXZlcnMvcGNpL2NvbnRyb2xsZXIvcGNpLWFhcmR2YXJrLmMKPiA+IGluZGV4IDNm M2M3MjkyN2FmYi4uZTI5N2VjOWVjMzkwIDEwMDY0NAo+ID4gLS0tIGEvZHJpdmVycy9wY2kvY29u dHJvbGxlci9wY2ktYWFyZHZhcmsuYwo+ID4gKysrIGIvZHJpdmVycy9wY2kvY29udHJvbGxlci9w Y2ktYWFyZHZhcmsuYwo+ID4gQEAgLTU3OCw2ICs1NzgsOCBAQCBhZHZrX3BjaV9icmlkZ2VfZW11 bF9wY2llX2NvbmZfcmVhZChzdHJ1Y3QgcGNpX2JyaWRnZV9lbXVsICpicmlkZ2UsCj4gPiAgCWNh c2UgUENJX0VYUF9SVENUTDogewo+ID4gIAkJdTMyIHZhbCA9IGFkdmtfcmVhZGwocGNpZSwgUENJ RV9JU1IwX01BU0tfUkVHKTsKPiA+ICAJCSp2YWx1ZSA9ICh2YWwgJiBQQ0lFX01TR19QTV9QTUVf TUFTSykgPyAwIDogUENJX0VYUF9SVENUTF9QTUVJRTsKPiA+ICsJCSp2YWx1ZSB8PSBQQ0lfRVhQ X1JUQ1RMX0NSU1NWRTsKPiA+ICsJCSp2YWx1ZSB8PSBQQ0lfRVhQX1JUQ0FQX0NSU1ZJUyA8PCAx NjsKPiA+ICAJCXJldHVybiBQQ0lfQlJJREdFX0VNVUxfSEFORExFRDsKPiA+ICAJfQo+ID4gIAo+ ID4gQEAgLTY1OSw2ICs2NjEsNyBAQCBzdGF0aWMgc3RydWN0IHBjaV9icmlkZ2VfZW11bF9vcHMg YWR2a19wY2lfYnJpZGdlX2VtdWxfb3BzID0gewo+ID4gIHN0YXRpYyBpbnQgYWR2a19zd19wY2lf YnJpZGdlX2luaXQoc3RydWN0IGFkdmtfcGNpZSAqcGNpZSkKPiA+ICB7Cj4gPiAgCXN0cnVjdCBw Y2lfYnJpZGdlX2VtdWwgKmJyaWRnZSA9ICZwY2llLT5icmlkZ2U7Cj4gPiArCWludCByZXQ7Cj4g PiAgCj4gPiAgCWJyaWRnZS0+Y29uZi52ZW5kb3IgPQo+ID4gIAkJY3B1X3RvX2xlMTYoYWR2a19y ZWFkbChwY2llLCBQQ0lFX0NPUkVfREVWX0lEX1JFRykgJiAweGZmZmYpOwo+ID4gQEAgLTY4Miw3 ICs2ODUsMTYgQEAgc3RhdGljIGludCBhZHZrX3N3X3BjaV9icmlkZ2VfaW5pdChzdHJ1Y3QgYWR2 a19wY2llICpwY2llKQo+ID4gIAlicmlkZ2UtPmRhdGEgPSBwY2llOwo+ID4gIAlicmlkZ2UtPm9w cyA9ICZhZHZrX3BjaV9icmlkZ2VfZW11bF9vcHM7Cj4gPiAgCj4gPiAtCXJldHVybiBwY2lfYnJp ZGdlX2VtdWxfaW5pdChicmlkZ2UsIDApOwo+ID4gKwkvKiBQQ0llIGNvbmZpZyBzcGFjZSBjYW4g YmUgaW5pdGlhbGl6ZWQgYWZ0ZXIgcGNpX2JyaWRnZV9lbXVsX2luaXQoKSAqLwo+ID4gKwlyZXQg PSBwY2lfYnJpZGdlX2VtdWxfaW5pdChicmlkZ2UsIDApOwo+ID4gKwlpZiAocmV0IDwgMCkKPiA+ ICsJCXJldHVybiByZXQ7Cj4gPiArCj4gPiArCS8qIENvbXBsZXRpb24gUmV0cnkgU3RhdHVzIGlz IHN1cHBvcnRlZCBhbmQgYWx3YXlzIGVuYWJsZWQgYnkgUElPICovCj4gCj4gIkNSUyBTb2Z0d2Fy ZSBWaXNpYmlsaXR5Iiwgbm90ICJDb21wbGV0aW9uIFJldHJ5IFN0YXR1cyIuCj4gCj4gVGhlIENS U1NWRSBiaXQgaXMgKnN1cHBvc2VkKiB0byBiZSBSVywgcGVyIHNwZWMuICBJcyBpdCBSTyBvbiB0 aGlzCj4gaGFyZHdhcmU/CgpBcyBJIHdyb3RlIGFib3ZlLCBJIGRpZCBub3QgZmluZCBhIHdheSBo b3cgdG8gdHVybiBvZmYgQ1JTLgoKQTM3MjAgc3BlYyBkb2VzIG5vdCBtZW50aW9uIGFueSByZWdp c3RlciB3aGljaCBjb3VsZCBtYXAgdG8gUENJZSBSb290CkNhcGFiaWxpdGllcyBSZWdpc3Rlci4K Cj4gPiArCWJyaWRnZS0+cGNpZV9jb25mLnJvb3RjdGwgPSBjcHVfdG9fbGUxNihQQ0lfRVhQX1JU Q1RMX0NSU1NWRSk7Cj4gPiArCWJyaWRnZS0+cGNpZV9jb25mLnJvb3RjYXAgPSBjcHVfdG9fbGUx NihQQ0lfRVhQX1JUQ0FQX0NSU1ZJUyk7Cj4gPiArCj4gPiArCXJldHVybiAwOwo+ID4gIH0KPiA+ ICAKPiA+ICBzdGF0aWMgYm9vbCBhZHZrX3BjaWVfdmFsaWRfZGV2aWNlKHN0cnVjdCBhZHZrX3Bj aWUgKnBjaWUsIHN0cnVjdCBwY2lfYnVzICpidXMsCj4gPiAtLSAKPiA+IDIuMjAuMQo+ID4gCgpf X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpsaW51eC1hcm0t a2VybmVsIG1haWxpbmcgbGlzdApsaW51eC1hcm0ta2VybmVsQGxpc3RzLmluZnJhZGVhZC5vcmcK aHR0cDovL2xpc3RzLmluZnJhZGVhZC5vcmcvbWFpbG1hbi9saXN0aW5mby9saW51eC1hcm0ta2Vy bmVsCg==