Received: by 2002:a05:7412:8521:b0:e2:908c:2ebd with SMTP id t33csp838409rdf; Fri, 3 Nov 2023 18:01:24 -0700 (PDT) X-Google-Smtp-Source: AGHT+IHmlNzgApNZ/7u5zT6QzazdHD5vl4mKhsBMwREILqagMbBPZk71CluYnfiTXqlZ3cnuWmni X-Received: by 2002:a05:6358:52c1:b0:16b:42bc:75fc with SMTP id z1-20020a05635852c100b0016b42bc75fcmr5614071rwz.8.1699059684497; Fri, 03 Nov 2023 18:01:24 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1699059684; cv=none; d=google.com; s=arc-20160816; b=vJmla927asgDGO6x353+1S9JKf+0QIz4RkkE9KX+WUnw76E3CrqLtWzwGuV4hWaE7O vxHjmZD5rv4PcUIO97ylMAdqdi/ugdReuvZsWhbXhqrNy9CVLAzZsD7xyzZrdUwISvfx Shfs1gQOGBNrZNYDS1epIKyeWRhy3NfrXX4LnrtEK2gvdnpZFSjOy/lqeVeaB42GVmfb 4ssEpmFhDxoHvViWojF7IsKCIb0d9vkViy8+1sA6hV6pK7OdGE4mvxLDOl2/N6vS6y1j NV5+vlVeg7p4y9AusE9HEoVa7/COCoGczRj7v/qyHCtFnsR66DL83k+7MK6NVrj2CUV5 nNjg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:message-id:mime-version :content-transfer-encoding:references:in-reply-to:subject:cc:to:from :date:dkim-signature; bh=87tJXe0ntlY/fmu8veABAhG6Z7vqcpS50CdI8l5puuM=; fh=8+PT5aK54oWBNdigCI4bKBqaMn1eAKCbFBTQaIuBkoQ=; b=SsKe4O5t29jagHtMmeh0RDHI0vU51cV/GP4iFLNlVBYaded1cQ3Q11rtzqBKoWPKe3 a1GQu+VgsTX8G653M5rl6DkgylfZ4ZSSc38n3oZqa+VyhCqG39aJCprZBYm3fhtzSB01 PTmnP1XHHDX90RFvAxpcvH4IqVWADoOz3c+UT0BjigX/ismx3jIsZWCLazgIfowhDGSO daEomzTMMpXRJ4yzvw+8UiDGcjzTxvFy/zPFbjUVfBZXHare//iR1AzbtfZ47ForacB2 R0fH6d0Z7iV/K75J/QTvCFq/bMzJM17sHnB+ookHLzw+NvBMvc27wyz5nQqUqxWH3xwf xuuQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@126.com header.s=s110527 header.b=nxzESeJR; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:8 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=126.com Return-Path: Received: from fry.vger.email (fry.vger.email. [2620:137:e000::3:8]) by mx.google.com with ESMTPS id p27-20020a635b1b000000b005ac50a019b3si2504835pgb.745.2023.11.03.18.01.24 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 03 Nov 2023 18:01:24 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:8 as permitted sender) client-ip=2620:137:e000::3:8; Authentication-Results: mx.google.com; dkim=neutral (body hash did not verify) header.i=@126.com header.s=s110527 header.b=nxzESeJR; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:8 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=126.com Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by fry.vger.email (Postfix) with ESMTP id 42815829F1EF; Fri, 3 Nov 2023 18:01:18 -0700 (PDT) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.10 at fry.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231672AbjKDBBG (ORCPT + 99 others); Fri, 3 Nov 2023 21:01:06 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:37078 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229864AbjKDBBF (ORCPT ); Fri, 3 Nov 2023 21:01:05 -0400 Received: from m1524.mail.126.com (m1524.mail.126.com [220.181.15.24]) by lindbergh.monkeyblade.net (Postfix) with ESMTP id 0533ED50; Fri, 3 Nov 2023 18:00:58 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=126.com; s=s110527; h=Date:From:Subject:Content-Type:MIME-Version: Message-ID; bh=6zQfb+8twt4T4FD2mQ4A4tTb1mluKFRDvk1KlxsrBK4=; b=n xzESeJRAlwObEdw5a4GFmXx0aYrmCTlmGRuTZrKYsp0+SyhnmNQZnvsmlMn7v4ch bEV+lB5HeEOV3Gc2pvNW3SYJ7lpvkJ1klEtUSg0eZHzVvbB4vzknMCIPtPf1dVS5 1/ZmnKdOfNZ/B7TAUXJiJtS1pA+YqwOTX3NQYHpQt4= Received: from figure1802$126.com ( [183.193.16.145] ) by ajax-webmail-wmsvr24 (Coremail) ; Sat, 4 Nov 2023 08:58:10 +0800 (CST) X-Originating-IP: [183.193.16.145] Date: Sat, 4 Nov 2023 08:58:10 +0800 (CST) From: Ben To: "Anup Patel" Cc: "Palmer Dabbelt" , "Paul Walmsley" , "Thomas Gleixner" , "Rob Herring" , "Krzysztof Kozlowski" , "Frank Rowand" , "Conor Dooley" , devicetree@vger.kernel.org, "Saravana Kannan" , "Marc Zyngier" , "Anup Patel" , linux-kernel@vger.kernel.org, =?UTF-8?Q?Bj=C3=B6rn_T=C3=B6pel?= , "Atish Patra" , linux-riscv@lists.infradead.org, "Andrew Jones" Subject: Re:[PATCH v11 12/14] irqchip/riscv-aplic: Add support for MSI-mode X-Priority: 3 X-Mailer: Coremail Webmail Server Version XT5.0.14 build 20230109(dcb5de15) Copyright (c) 2002-2023 www.mailtech.cn 126com In-Reply-To: <20231023172800.315343-13-apatel@ventanamicro.com> References: <20231023172800.315343-1-apatel@ventanamicro.com> <20231023172800.315343-13-apatel@ventanamicro.com> X-NTES-SC: AL_QuySC/yetkwi5iCZbekfm08Xhew/XsK1vfkm3I5QN5FwjAnkxyI9b2VZAGbp4uS2DDCzvAKNSwF1w+lFZ4JIfqg0k76SzIPhAEayQPBd9VSaeQ== Content-Transfer-Encoding: base64 Content-Type: text/plain; charset=UTF-8 MIME-Version: 1.0 Message-ID: <22d5d9e9.258.18b97d65ce7.Coremail.figure1802@126.com> X-Coremail-Locale: zh_CN X-CM-TRANSID: GMqowAD3H3kjl0Vl+44YAA--.30406W X-CM-SenderInfo: pilj32bhryija6rslhhfrp/1tbiqAcdXlpECV3s7wAGsj X-Coremail-Antispam: 1U5529EdanIXcx71UUUUU7vcSsGvfC2KfnxnUU== X-Spam-Status: No, score=-0.3 required=5.0 tests=DKIM_INVALID,DKIM_SIGNED, FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM,HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on fry.vger.email Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (fry.vger.email [0.0.0.0]); Fri, 03 Nov 2023 18:01:18 -0700 (PDT) QXQgMjAyMy0xMC0yNCAwMToyNzo1OCwgIkFudXAgUGF0ZWwiIDxhcGF0ZWxAdmVudGFuYW1pY3Jv LmNvbT4gd3JvdGU6Cj5UaGUgUklTQy1WIGFkdmFuY2VkIHBsYXRmb3JtLWxldmVsIGludGVycnVw dCBjb250cm9sbGVyIChBUExJQykgaGFzCj50d28gbW9kZXMgb2Ygb3BlcmF0aW9uOiAxKSBEaXJl Y3QgbW9kZSBhbmQgMikgTVNJIG1vZGUuCj4oRm9yIG1vcmUgZGV0YWlscywgcmVmZXIgaHR0cHM6 Ly9naXRodWIuY29tL3Jpc2N2L3Jpc2N2LWFpYSkKPgo+SW4gQVBMSUMgTVNJLW1vZGUsIHdpcmVk IGludGVycnVwdHMgYXJlIGZvcndhcmVkIGFzIG1lc3NhZ2Ugc2lnbmFsZWQKPmludGVycnVwdHMg KE1TSXMpIHRvIENQVXMgdmlhIElNU0lDLgo+Cj5XZSBleHRlbmQgdGhlIGV4aXN0aW5nIEFQTElD IGlycWNoaXAgZHJpdmVyIHRvIHN1cHBvcnQgTVNJLW1vZGUgZm9yCj5SSVNDLVYgcGxhdGZvcm1z IGhhdmluZyBib3RoIHdpcmVkIGludGVycnVwdHMgYW5kIE1TSXMuCj4KPlNpZ25lZC1vZmYtYnk6 IEFudXAgUGF0ZWwgPGFwYXRlbEB2ZW50YW5hbWljcm8uY29tPgo+LS0tCj4gZHJpdmVycy9pcnFj aGlwL0tjb25maWcgICAgICAgICAgICAgICAgfCAgIDYgKwo+IGRyaXZlcnMvaXJxY2hpcC9NYWtl ZmlsZSAgICAgICAgICAgICAgIHwgICAxICsKPiBkcml2ZXJzL2lycWNoaXAvaXJxLXJpc2N2LWFw bGljLW1haW4uYyB8ICAgMiArLQo+IGRyaXZlcnMvaXJxY2hpcC9pcnEtcmlzY3YtYXBsaWMtbWFp bi5oIHwgICA4ICsKPiBkcml2ZXJzL2lycWNoaXAvaXJxLXJpc2N2LWFwbGljLW1zaS5jICB8IDI4 NSArKysrKysrKysrKysrKysrKysrKysrKysrCj4gNSBmaWxlcyBjaGFuZ2VkLCAzMDEgaW5zZXJ0 aW9ucygrKSwgMSBkZWxldGlvbigtKQo+IGNyZWF0ZSBtb2RlIDEwMDY0NCBkcml2ZXJzL2lycWNo aXAvaXJxLXJpc2N2LWFwbGljLW1zaS5jCj4KPmRpZmYgLS1naXQgYS9kcml2ZXJzL2lycWNoaXAv S2NvbmZpZyBiL2RyaXZlcnMvaXJxY2hpcC9LY29uZmlnCj5pbmRleCAxOTk2Y2M2ZjY2NmEuLjdh ZGM0ZGJlMDdmZiAxMDA2NDQKPi0tLSBhL2RyaXZlcnMvaXJxY2hpcC9LY29uZmlnCj4rKysgYi9k cml2ZXJzL2lycWNoaXAvS2NvbmZpZwo+QEAgLTU1MSw2ICs1NTEsMTIgQEAgY29uZmlnIFJJU0NW X0FQTElDCj4gCWRlcGVuZHMgb24gUklTQ1YKPiAJc2VsZWN0IElSUV9ET01BSU5fSElFUkFSQ0hZ Cj4gCj4rY29uZmlnIFJJU0NWX0FQTElDX01TSQo+Kwlib29sCj4rCWRlcGVuZHMgb24gUklTQ1Zf QVBMSUMKPisJc2VsZWN0IEdFTkVSSUNfTVNJX0lSUQo+KwlkZWZhdWx0IFJJU0NWX0FQTElDCj4r Cj4gY29uZmlnIFJJU0NWX0lNU0lDCj4gCWJvb2wKPiAJZGVwZW5kcyBvbiBSSVNDVgo+ZGlmZiAt LWdpdCBhL2RyaXZlcnMvaXJxY2hpcC9NYWtlZmlsZSBiL2RyaXZlcnMvaXJxY2hpcC9NYWtlZmls ZQo+aW5kZXggN2Y4Mjg5NzkwZWQ4Li40Nzk5NWZkYjJjNjAgMTAwNjQ0Cj4tLS0gYS9kcml2ZXJz L2lycWNoaXAvTWFrZWZpbGUKPisrKyBiL2RyaXZlcnMvaXJxY2hpcC9NYWtlZmlsZQo+QEAgLTk2 LDYgKzk2LDcgQEAgb2JqLSQoQ09ORklHX0NTS1lfTVBJTlRDKQkJKz0gaXJxLWNza3ktbXBpbnRj Lm8KPiBvYmotJChDT05GSUdfQ1NLWV9BUEJfSU5UQykJCSs9IGlycS1jc2t5LWFwYi1pbnRjLm8K PiBvYmotJChDT05GSUdfUklTQ1ZfSU5UQykJCSs9IGlycS1yaXNjdi1pbnRjLm8KPiBvYmotJChD T05GSUdfUklTQ1ZfQVBMSUMpCQkrPSBpcnEtcmlzY3YtYXBsaWMtbWFpbi5vIGlycS1yaXNjdi1h cGxpYy1kaXJlY3Qubwo+K29iai0kKENPTkZJR19SSVNDVl9BUExJQ19NU0kpCQkrPSBpcnEtcmlz Y3YtYXBsaWMtbXNpLm8KPiBvYmotJChDT05GSUdfUklTQ1ZfSU1TSUMpCQkrPSBpcnEtcmlzY3Yt aW1zaWMtc3RhdGUubyBpcnEtcmlzY3YtaW1zaWMtZWFybHkubyBpcnEtcmlzY3YtaW1zaWMtcGxh dGZvcm0ubwo+IG9iai0kKENPTkZJR19TSUZJVkVfUExJQykJCSs9IGlycS1zaWZpdmUtcGxpYy5v Cj4gb2JqLSQoQ09ORklHX0lNWF9JUlFTVEVFUikJCSs9IGlycS1pbXgtaXJxc3RlZXIubwo+ZGlm ZiAtLWdpdCBhL2RyaXZlcnMvaXJxY2hpcC9pcnEtcmlzY3YtYXBsaWMtbWFpbi5jIGIvZHJpdmVy cy9pcnFjaGlwL2lycS1yaXNjdi1hcGxpYy1tYWluLmMKPmluZGV4IDg3NDUwNzA4YTczMy4uZDFi MzQyYjY2NTUxIDEwMDY0NAo+LS0tIGEvZHJpdmVycy9pcnFjaGlwL2lycS1yaXNjdi1hcGxpYy1t YWluLmMKPisrKyBiL2RyaXZlcnMvaXJxY2hpcC9pcnEtcmlzY3YtYXBsaWMtbWFpbi5jCj5AQCAt MjA1LDcgKzIwNSw3IEBAIHN0YXRpYyBpbnQgYXBsaWNfcHJvYmUoc3RydWN0IHBsYXRmb3JtX2Rl dmljZSAqcGRldikKPiAJCW1zaV9tb2RlID0gb2ZfcHJvcGVydHlfcHJlc2VudCh0b19vZl9ub2Rl KGRldi0+Zndub2RlKSwKPiAJCQkJCQkibXNpLXBhcmVudCIpOwo+IAlpZiAobXNpX21vZGUpCj4t CQlyYyA9IC1FTk9ERVY7Cj4rCQlyYyA9IGFwbGljX21zaV9zZXR1cChkZXYsIHJlZ3MpOwo+IAll bHNlCj4gCQlyYyA9IGFwbGljX2RpcmVjdF9zZXR1cChkZXYsIHJlZ3MpOwo+IAlpZiAocmMpIHsK PmRpZmYgLS1naXQgYS9kcml2ZXJzL2lycWNoaXAvaXJxLXJpc2N2LWFwbGljLW1haW4uaCBiL2Ry aXZlcnMvaXJxY2hpcC9pcnEtcmlzY3YtYXBsaWMtbWFpbi5oCj5pbmRleCA0NzRhMDQyMjkzMzQu Ljc4MjY3ZWM1ODA5OCAxMDA2NDQKPi0tLSBhL2RyaXZlcnMvaXJxY2hpcC9pcnEtcmlzY3YtYXBs aWMtbWFpbi5oCj4rKysgYi9kcml2ZXJzL2lycWNoaXAvaXJxLXJpc2N2LWFwbGljLW1haW4uaAo+ QEAgLTQxLDUgKzQxLDEzIEBAIHZvaWQgYXBsaWNfaW5pdF9od19nbG9iYWwoc3RydWN0IGFwbGlj X3ByaXYgKnByaXYsIGJvb2wgbXNpX21vZGUpOwo+IGludCBhcGxpY19zZXR1cF9wcml2KHN0cnVj dCBhcGxpY19wcml2ICpwcml2LCBzdHJ1Y3QgZGV2aWNlICpkZXYsCj4gCQkgICAgIHZvaWQgX19p b21lbSAqcmVncyk7Cj4gaW50IGFwbGljX2RpcmVjdF9zZXR1cChzdHJ1Y3QgZGV2aWNlICpkZXYs IHZvaWQgX19pb21lbSAqcmVncyk7Cj4rI2lmZGVmIENPTkZJR19SSVNDVl9BUExJQ19NU0kKPitp bnQgYXBsaWNfbXNpX3NldHVwKHN0cnVjdCBkZXZpY2UgKmRldiwgdm9pZCBfX2lvbWVtICpyZWdz KTsKPisjZWxzZQo+K3N0YXRpYyBpbmxpbmUgaW50IGFwbGljX21zaV9zZXR1cChzdHJ1Y3QgZGV2 aWNlICpkZXYsIHZvaWQgX19pb21lbSAqcmVncykKPit7Cj4rCXJldHVybiAtRU5PREVWOwo+K30K PisjZW5kaWYKPiAKPiAjZW5kaWYKPmRpZmYgLS1naXQgYS9kcml2ZXJzL2lycWNoaXAvaXJxLXJp c2N2LWFwbGljLW1zaS5jIGIvZHJpdmVycy9pcnFjaGlwL2lycS1yaXNjdi1hcGxpYy1tc2kuYwo+ bmV3IGZpbGUgbW9kZSAxMDA2NDQKPmluZGV4IDAwMDAwMDAwMDAwMC4uMDg2ZDAwZTA0MjllCj4t LS0gL2Rldi9udWxsCj4rKysgYi9kcml2ZXJzL2lycWNoaXAvaXJxLXJpc2N2LWFwbGljLW1zaS5j Cj5AQCAtMCwwICsxLDI4NSBAQAo+Ky8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4w Cj4rLyoKPisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgV2VzdGVybiBEaWdpdGFsIENvcnBvcmF0aW9u IG9yIGl0cyBhZmZpbGlhdGVzLgo+KyAqIENvcHlyaWdodCAoQykgMjAyMiBWZW50YW5hIE1pY3Jv IFN5c3RlbXMgSW5jLgo+KyAqLwo+Kwo+KyNpbmNsdWRlIDxsaW51eC9iaXRvcHMuaD4KPisjaW5j bHVkZSA8bGludXgvY3B1Lmg+Cj4rI2luY2x1ZGUgPGxpbnV4L2ludGVycnVwdC5oPgo+KyNpbmNs dWRlIDxsaW51eC9pcnFjaGlwLmg+Cj4rI2luY2x1ZGUgPGxpbnV4L2lycWNoaXAvcmlzY3YtYXBs aWMuaD4KPisjaW5jbHVkZSA8bGludXgvaXJxY2hpcC9yaXNjdi1pbXNpYy5oPgo+KyNpbmNsdWRl IDxsaW51eC9tb2R1bGUuaD4KPisjaW5jbHVkZSA8bGludXgvbXNpLmg+Cj4rI2luY2x1ZGUgPGxp bnV4L29mX2lycS5oPgo+KyNpbmNsdWRlIDxsaW51eC9wbGF0Zm9ybV9kZXZpY2UuaD4KPisjaW5j bHVkZSA8bGludXgvcHJpbnRrLmg+Cj4rI2luY2x1ZGUgPGxpbnV4L3NtcC5oPgo+Kwo+KyNpbmNs dWRlICJpcnEtcmlzY3YtYXBsaWMtbWFpbi5oIgo+Kwo+K3N0YXRpYyB2b2lkIGFwbGljX21zaV9p cnFfdW5tYXNrKHN0cnVjdCBpcnFfZGF0YSAqZCkKPit7Cj4rCWFwbGljX2lycV91bm1hc2soZCk7 Cj4rCWlycV9jaGlwX3VubWFza19wYXJlbnQoZCk7Cj4rfQo+Kwo+K3N0YXRpYyB2b2lkIGFwbGlj X21zaV9pcnFfbWFzayhzdHJ1Y3QgaXJxX2RhdGEgKmQpCj4rewo+KwlhcGxpY19pcnFfbWFzayhk KTsKPisJaXJxX2NoaXBfbWFza19wYXJlbnQoZCk7Cj4rfQo+Kwo+K3N0YXRpYyB2b2lkIGFwbGlj X21zaV9pcnFfZW9pKHN0cnVjdCBpcnFfZGF0YSAqZCkKPit7Cj4rCXN0cnVjdCBhcGxpY19wcml2 ICpwcml2ID0gaXJxX2RhdGFfZ2V0X2lycV9jaGlwX2RhdGEoZCk7Cj4rCXUzMiByZWdfb2ZmLCBy ZWdfbWFzazsKPisKPisJLyoKPisJICogRU9JIGhhbmRsaW5nIG9ubHkgcmVxdWlyZWQgb25seSBm b3IgbGV2ZWwtdHJpZ2dlcmVkCj4rCSAqIGludGVycnVwdHMgaW4gQVBMSUMgTVNJIG1vZGUuCj4r CSAqLwo+Kwo+KwlyZWdfb2ZmID0gQVBMSUNfQ0xSSVBfQkFTRSArICgoZC0+aHdpcnEgLyBBUExJ Q19JUlFCSVRTX1BFUl9SRUcpICogNCk7Cj4rCXJlZ19tYXNrID0gQklUKGQtPmh3aXJxICUgQVBM SUNfSVJRQklUU19QRVJfUkVHKTsKPisJc3dpdGNoIChpcnFkX2dldF90cmlnZ2VyX3R5cGUoZCkp IHsKPisJY2FzZSBJUlFfVFlQRV9MRVZFTF9MT1c6Cj4rCQlpZiAoIShyZWFkbChwcml2LT5yZWdz ICsgcmVnX29mZikgJiByZWdfbWFzaykpCj4rCQkJd3JpdGVsKGQtPmh3aXJxLCBwcml2LT5yZWdz ICsgQVBMSUNfU0VUSVBOVU1fTEUpOwo+KwkJYnJlYWs7Cj4rCWNhc2UgSVJRX1RZUEVfTEVWRUxf SElHSDoKPisJCWlmIChyZWFkbChwcml2LT5yZWdzICsgcmVnX29mZikgJiByZWdfbWFzaykKPisJ CQl3cml0ZWwoZC0+aHdpcnEsIHByaXYtPnJlZ3MgKyBBUExJQ19TRVRJUE5VTV9MRSk7Cj4rCQli cmVhazsKPisJfQo+K30KPisKPitzdGF0aWMgc3RydWN0IGlycV9jaGlwIGFwbGljX21zaV9jaGlw ID0gewo+KwkubmFtZQkJPSAiQVBMSUMtTVNJIiwKPisJLmlycV9tYXNrCT0gYXBsaWNfbXNpX2ly cV9tYXNrLAo+KwkuaXJxX3VubWFzawk9IGFwbGljX21zaV9pcnFfdW5tYXNrLAo+KwkuaXJxX3Nl dF90eXBlCT0gYXBsaWNfaXJxX3NldF90eXBlLAo+KwkuaXJxX2VvaQk9IGFwbGljX21zaV9pcnFf ZW9pLAo+KyNpZmRlZiBDT05GSUdfU01QCj4rCS5pcnFfc2V0X2FmZmluaXR5ID0gaXJxX2NoaXBf c2V0X2FmZmluaXR5X3BhcmVudCwKPisjZW5kaWYKPisJLmZsYWdzCQk9IElSUUNISVBfU0VUX1RZ UEVfTUFTS0VEIHwKPisJCQkgIElSUUNISVBfU0tJUF9TRVRfV0FLRSB8Cj4rCQkJICBJUlFDSElQ X01BU0tfT05fU1VTUEVORCwKPit9Owo+Kwo+K3N0YXRpYyBpbnQgYXBsaWNfbXNpX2lycWRvbWFp bl90cmFuc2xhdGUoc3RydWN0IGlycV9kb21haW4gKmQsCj4rCQkJCQkgc3RydWN0IGlycV9md3Nw ZWMgKmZ3c3BlYywKPisJCQkJCSB1bnNpZ25lZCBsb25nICpod2lycSwKPisJCQkJCSB1bnNpZ25l ZCBpbnQgKnR5cGUpCj4rewo+KwlzdHJ1Y3QgYXBsaWNfcHJpdiAqcHJpdiA9IHBsYXRmb3JtX21z aV9nZXRfaG9zdF9kYXRhKGQpOwo+Kwo+KwlyZXR1cm4gYXBsaWNfaXJxZG9tYWluX3RyYW5zbGF0 ZShmd3NwZWMsIHByaXYtPmdzaV9iYXNlLCBod2lycSwgdHlwZSk7Cj4rfQo+Kwo+K3N0YXRpYyBp bnQgYXBsaWNfbXNpX2lycWRvbWFpbl9hbGxvYyhzdHJ1Y3QgaXJxX2RvbWFpbiAqZG9tYWluLAo+ KwkJCQkgICAgIHVuc2lnbmVkIGludCB2aXJxLCB1bnNpZ25lZCBpbnQgbnJfaXJxcywKPisJCQkJ ICAgICB2b2lkICphcmcpCj4rewo+KwlpbnQgaSwgcmV0Owo+Kwl1bnNpZ25lZCBpbnQgdHlwZTsK PisJaXJxX2h3X251bWJlcl90IGh3aXJxOwo+KwlzdHJ1Y3QgaXJxX2Z3c3BlYyAqZndzcGVjID0g YXJnOwo+KwlzdHJ1Y3QgYXBsaWNfcHJpdiAqcHJpdiA9IHBsYXRmb3JtX21zaV9nZXRfaG9zdF9k YXRhKGRvbWFpbik7Cj4rCj4rCXJldCA9IGFwbGljX2lycWRvbWFpbl90cmFuc2xhdGUoZndzcGVj LCBwcml2LT5nc2lfYmFzZSwgJmh3aXJxLCAmdHlwZSk7Cj4rCWlmIChyZXQpCj4rCQlyZXR1cm4g cmV0OwoKSW4geW91ciBwYXRjaHNldCwgdGhlIHdpcmVkIElSUSBhbmQgSVJRIG9mIHBsYXRmb3Jt IGRldmljZSB3aWxsIGdvIGludG8gQVBMSUMtTVNJIGRvbWFpbiBmaXJzdGx5LgpMZXQgbWUgYXNz dW1lIGhlcmUgaXMgYSBNU0kgSVJRIG5vdCB3aXJlZCBJUlEgb24gYSBkZXZpY2UsIGFuZCBpdCBp cyBhIHBsYXRmb3JtIGRldmljZSBpbiBzeXN0ZW0uCnNvIGluIGFwbGljX2lycWRvbWFpbl90cmFu c2xhdGUoKSBmdW5jdGlvbiwgaXQgd2lsbCBwYXJzZSB0aGUgQVBMSUMgcGh5c2ljYWwgSVJRIG51 bWJlciBieSBmd3NwZWMtPnBhcmFtWzBdLApidXQgdGhpcyBpcyBub3QgYSB3cmllZCBJUlEsIGl0 IGlzIGEgTVNJIElSUSwgaXQgc2hvdWxkIG5vdCBoYXMgYSBBUExJQyBwaHlzaWNhbCBJUlEgbnVt YmVyLCB0aGUgaHdpcnEgbnVtYmVyIHNob3VsZCBiZSBhbGxvY2F0ZWQgYnkgTVNJIGJpdG1hcCwK d2hhdCB2YWx1ZSB3aWxsIGJlIHBhcnNlIGJ5IERUUz8gemVybyBvciBuZWdhdGl2ZT8gCgppZiB0 aGlzIGlzIGEgbm9uZXhpc3RlbnQgcGh5c2ljYWwgSVJRIG51bWJlciBmb3IgQVBMSUMsIGluIGFw bGljX21zaV9pcnFfdW5tYXNrKCktPmFwbGljX2lycV91bm1hc2soKSwgaG93IGl0IHdvcmtzPwoK d3JpdGVsKGQtPmh3aXJxLCBwcml2LT5yZWdzICsgQVBMSUNfU0VUSUVOVU0pOwoKCg==