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 Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 01A2DCEACEF for ; Mon, 17 Nov 2025 09:30:53 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender:Content-Type: Content-Transfer-Encoding:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:In-Reply-To:From:References:Cc:To:Subject: MIME-Version:Date:Message-ID:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=NDVl6OuBs/rnlA+IrIM4EH5uAsUdS6h4ZTQ1w1WjJYc=; b=DC3QYmOIXF7vTQ XdEdccpu2vaKhdmZAtkSd3Er5ZIijwinE2ugyyuTqkMjysIEaSWdflLi4sHNb8U2JMMXcmkC4/c3w jmF4K7YrOu7vh6uBXy7oMfr5QwJy1OeAQYXeqXM4nSTDxYz6B97TRQSbAIvizHdoTiXRYHuqW/eWt meejhl/9y/vTcMzCsTQCBGhuM8C6kWnbc9+kiD9ms7rYaVnZhLu3PWw1NKg9r77zPx0Ho+ICfripv nLJvDTrDgGOkY0ugKct+qvzgxpPEI9sUTLpMGmx/MdfiMdJQ/SA+8P0Gr+iRl9goyb35UJ2lRRpdj CHXiYVdk6DkAlvkCZBOw==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98.2 #2 (Red Hat Linux)) id 1vKvZJ-0000000FnbO-2WhY; Mon, 17 Nov 2025 09:30:41 +0000 Received: from mail-pj1-x102e.google.com ([2607:f8b0:4864:20::102e]) by bombadil.infradead.org with esmtps (Exim 4.98.2 #2 (Red Hat Linux)) id 1vKvZG-0000000Fnb0-121f for opensbi@lists.infradead.org; Mon, 17 Nov 2025 09:30:40 +0000 Received: by mail-pj1-x102e.google.com with SMTP id 98e67ed59e1d1-3418ad69672so2844924a91.3 for ; Mon, 17 Nov 2025 01:30:37 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1763371837; x=1763976637; darn=lists.infradead.org; h=content-transfer-encoding:in-reply-to:from:content-language :references:cc:to:subject:user-agent:mime-version:date:message-id :from:to:cc:subject:date:message-id:reply-to; bh=IXQpVy0AxHY6/RPosLb+yWrZjarbiShZgmDiZq+WNiY=; b=h9L83H6gIU4Y9hb86XxhQ178bFyAmghPOYVyY6VodPvvv2OTDeR2abFnIPk7cJWXbM BM12/ogetShNlMp49gaeYea8PiPrPH3IhBVB8gDWfrtG/dpVzDM2WOgfxRqvwuZh2iNe UPLZPSRxUtseK4EAsOUoqHXsU8KNa6D6/H5blmlezu7t/kDbRHaL3I5M0KIVLn8YqiCn jeJ5SDDlop4pRUp5vUVrVL3+cj8SwSz8aW+YJSPNIwWw6RofdyljlJkBYK0qis7LaoA2 4kPraupqT7RduqeoAdH23foAHnQNtBLknXad/izov9kEoWL+Jmldm59Z00N2Z7dqDOaJ URQA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1763371837; x=1763976637; h=content-transfer-encoding:in-reply-to:from:content-language :references:cc:to:subject:user-agent:mime-version:date:message-id :x-gm-gg:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=IXQpVy0AxHY6/RPosLb+yWrZjarbiShZgmDiZq+WNiY=; b=YAlgkgPVdqICMxi1uI5ijFQvbAJmbDuNcvCDatjuufyCAnUTTFCHYJX6WHRvi/8PqZ sEzKY1X+hkxvcx5Z0HB40ZZqlsSwQ4FoI1sgVIH641q2u4A5nVLsyog+Eh01/wP0ZTAh g1Vmr/+8Uf7crBbvGps6xAIHLtvXZe6ogpg4VxVaEvvq/8nre9TiOZl+NNWm6P8ORGwY EDqW7YNKQU3MsOMOEdSyd4qVZYDFYNjSMeVUFAxeCh3FHzXUrBD6UkbsLiDDzfYWpBTt gLGRxdMFAE+hZlWcau38qLV+aZ8aaAdOKdMnSuyW/waEOQ39ZYVvwsy7YMXfpq7FXAGs BEmA== X-Gm-Message-State: AOJu0YwpNRYaF0D77tL/LUMbHGEPp7PB5v/9kHLIaYTIlJmkdzgUTpTJ pjl5kyvyG+K/WaY6xLE/C6KG6duKjPblSwq6k4R03hEsIVSE8rMliSSTVELwDQ== X-Gm-Gg: ASbGnctE7iDeJ1skcqKyjYSyvg09PJEmRMYq7jSNuIWVoN+rZjrP8dGd3FzMQc2dQDC Uryz2HGE5KMuP8SGmzrudoFu/uo44meFzB5I/iwn4wpNCmHNHN58Ft2AfJY2kD+PPNb/VhZGJj5 S8P60d9ofSVSNO+ZkLgGpBcLZoVhFB4t7cUZbajnGUijD5NjhKJQtRahRsNorkvJdK/cZCXDwxL 0yC7UemxFF6xGAJrCtAxlxwp5xSfQSySTj8GK1fBB/EdZ1rt1JyF6aAfMefcLAP4XKl5IeupM0x CuXKRbxetiL6Y+/ylNDsAqqfrY5bYwZx+Lpa7Pjp3hUYRzFf3QDZYP4t0M+QG5DmLEFzgysxtgB vmPzPT/2vdXO7B8SjnhzeLF//bLyYm8lA18G5/d/QFKc+YURUYq2XLCut6PRS7NwuHi0KN/bFTt CV+nJMRpqz9X6rZQyUuPwyBng= X-Google-Smtp-Source: AGHT+IFm9fPn5WTZmwLC768i9POD3sEDOzhcSYXkV9xrFZuX216yYjSIJNLiC7JvzB+yV2by5x590Q== X-Received: by 2002:a17:90b:2244:b0:32e:7c34:70cf with SMTP id 98e67ed59e1d1-343fa754977mr13540937a91.36.1763371837241; Mon, 17 Nov 2025 01:30:37 -0800 (PST) Received: from [192.168.0.13] ([172.92.174.155]) by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-343ea5fbb4csm7012210a91.0.2025.11.17.01.30.36 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Mon, 17 Nov 2025 01:30:36 -0800 (PST) Message-ID: <6d2f3906-5c9d-4ce2-b222-44b05071b9ec@gmail.com> Date: Mon, 17 Nov 2025 01:29:03 -0800 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH v2 0/5] Initial ESWIN/EIC7700 support To: Anup Patel Cc: opensbi@lists.infradead.org, linmin@eswincomputing.com, pinkesh.vaghela@einfochips.com, gaohan@iscas.ac.cn, samuel@sholland.org, wangxiang@iscas.ac.cn References: <20251117054846.1335-1-ganboing@gmail.com> Content-Language: en-US From: Bo Gan In-Reply-To: X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20251117_013038_298644_02443CFA X-CRM114-Status: GOOD ( 33.77 ) X-BeenThere: opensbi@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Transfer-Encoding: base64 Content-Type: text/plain; charset="utf-8"; Format="flowed" Sender: "opensbi" Errors-To: opensbi-bounces+opensbi=archiver.kernel.org@lists.infradead.org SGkgQW51cCwKClRoYW5rcyBmb3IgdGhlIHByb21wdCByZXBseS4gU2VlIGlubGluZS4KCk9uIDEx LzE3LzI1IDAwOjA0LCBBbnVwIFBhdGVsIHdyb3RlOgo+IE9uIE1vbiwgTm92IDE3LCAyMDI1IGF0 IDExOjIw4oCvQU0gQm8gR2FuIDxnYW5ib2luZ0BnbWFpbC5jb20+IHdyb3RlOgo+Pgo+PiBFSUM3 NzAwIGlzIHRoZSBTb0MgdXNlZCBpbiBIaUZpdmUgUDU1MCBhbmQgTWlsay1WIE1lZ3Jlei4gVGhp cyBTb0MgaXMKPj4gY3VycmVudGx5IG9uZSBvZiB0aGUgb25seSBvZmYtdGhlLXNoZWxmIGJvYXJk L2NoaXBzIHRoYXQgc3VwcG9ydCBICj4+IGV4dGVuc2lvbiwgYWx0aG91Z2ggaXQncyB2MC42LjEu IEl0IGFsc28gc3VwcG9ydHMgcHJlLXJhdGlmaWVkIE4tdHJhY2UuCj4+IEFkZCBzdXBwb3J0IGZv ciBpdCBzbyBwZW9wbGUgY2FuIGJlbmVmaXQgZnJvbSBsYXRlc3QgT3BlblNCSSBmZWF0dXJlcy4K Pj4KPj4gVGhlIGRldmljZS10cmVlIG9mIEhpRml2ZSBQNTUwIGhhcyBiZWVuIHVwc3RyZWFtZWQg dG8gTGludXg6Cj4+IGh0dHBzOi8vbG9yZS5rZXJuZWwub3JnL2FsbC8yMDI1MDgyNTEzMjQyNy4x NjE4MDg5LTEtcGlua2VzaC52YWdoZWxhQGVpbmZvY2hpcHMuY29tLwo+PiBIb3dldmVyIFUtYm9v dCBpcyBub3QsIGFuZCB0aGVyZSBhcmUgYnVncyBpbiB2ZW5kb3IgVS1ib290IGRldmljZS10cmVl LAo+PiBhbmQgYWxzbyBpbmNvbnNpc3RlbmNpZXMgYmV0d2VlbiB0aGUgdHdvLiBUaHVzLCB0aGlz IHBhdGNoIGlzIGNvZGVkIHdpdGgKPj4gdGhlIHVwc3RyZWFtZWQgZGV2aWNlLXRyZWUgYXMgdGhl IHJlZmVyZW5jZSwgYnV0IHRlc3RlZCB3aXRoIHRoZSBwYXRjaGVkCj4+IHZlbmRvciBVLWJvb3Qg ZGV2aWNlIHRyZWUgYXMgYEZXX0ZEVF9QQVRIYC4gVGhlIHBhdGNoZWQgdmVuZG9yIFUtYm9vdCBp cwo+PiBob3N0ZWQgaGVyZTogaHR0cHM6Ly9naXRodWIuY29tL2dhbmJvaW5nL3UtYm9vdC1laWM3 eC90cmVlL2VpYzd4LWR0LWZpeAo+PiBSZWZlciB0byBQQVRDSCA1LzUgZm9yIHRoZSBpbnN0cnVj dGlvbnMgb24gYnVpbGRpbmcgdGhlIGZpcm13YXJlIGJsb2IKPj4gYW5kIGxhdW5jaCBpdCB0aHJv dWdoIFVBUlQgYm9vdC4KPj4KPj4gVGhlIG1ham9yIGNvbXBsaWNhdGlvbiBvZiB0aGlzIGNoaXAg aXMgdGhhdCBpdCByZXF1aXJlcyBjZXJ0YWluIG1lbW9yeQo+PiByZWdpb25zIHRvIGJlIGJsb2Nr ZWQgd2l0aCBQTVAgZW50cmllcyB0byBwcmV2ZW50IHNwZWN1bGF0aXZlIGV4ZWN1dGlvbgo+PiBv ciBIVyBwcmVmZXRjaGVyIGZyb20gdG91Y2hpbmcgdGhlbSB0byBhdm9pZCBidXMgZXJyb3JzLiBB bHNvIGR1ZSB0byB0aGUKPj4gZmFjdCB0aGF0IHRoaXMgU29DIGhhbmRsZXMgY2FjaGUgaW5jb2hl cmVudCBETUEgYnkgbWFwcGluZyBtZW1vcnkgdHdpY2UsCj4+IG9uZSBhcyBjYWNoZWQsIGFuZCB0 aGUgb3RoZXIgYXMgdW5jYWNoZWQsIHdlIGFsc28gbmVlZCBhbiBleHRyYSBQTVAgdG8KPj4gcHJv dGVjdCB0aGUgT3BlblNCSSBpbiB0aGUgdW5jYWNoZWQgcG9ydGlvbiBpbiBhZGRyZXNzIHNwYWNl LiBGb2xsb3dpbmcKPj4gY2hhbmdlcyBhcmUgbWFkZSB0byBsaWIvIGFuZCBmaXJtd2FyZS8gdG8g bWFrZSBpdCBwb3NzaWJsZToKPj4KPj4gICAtIEFsbG93IHBsYXRmb3JtIHRvIG92ZXJyaWRlIHBt cF8odW4pY29uZmlndXJlCj4+ICAgLSBBZGQgaGVscGVyIGZ1bmN0aW9uIGZvciBzZXR0aW5ncyBQ TVAgVE9SCj4+ICAgLSBBZGQgaGVscGVyIGZ1bmN0aW9uIHRvIGNoZWNrIGlmIG1lbXJlZ2lvbnMg YXJlIGRpc2pvaW50Cj4+ICAgLSBJbnRyb2R1Y2UgRklSTVdBUkVfUEFDS0VEX1JYUlcgZm9yIGRp c2FibGluZyBwb3dlci1vZi0yIFJXIHNwbGl0Cj4gCj4gUE1QIFRPUiBlbnRyaWVzIGFyZSBub3Qg Z29pbmcgdG8gZmx5LiBBbHNvLCBhZGRpbmcgc2VwYXJhdGUgY29uZmlnCj4gb3B0aW9uIEZJUk1X QVJFX1BBQ0tFRF9SWFJXIGFuZCBzZXBhcmF0ZSBkZWZjb25maWcgZm9yCj4gRUlDNzcwWCAgbWVh bnMgZGlzdHJvcyBjYW4ndCB1c2UgdGhlIHNhbWUgZndfZHlhbm1pYy5iaW4gb24KPiBFSUM3NzBY ICBhbmQgb3RoZXIgcGxhdGZvcm1zLgo+IAo+IElmIFBNUCBUT1IgaXMgYmVpbmcgdXNlZCBvbmx5 IHRvIHNhdmUgb25lIFBNUCBlbnRyeSB0aGVuIHRoZXJlCj4gYXJlIGJldHRlciB3YXlzIHRvIGFj aGlldmUgdGhpcy4KPiAKCk9rYXkuIEkgdGhpbmsgSSd2ZSBmb3VuZCBhIHdheSB0byB1c2UgTkFQ T1QgdG8gYWNoaWV2ZSB0aGUgc2FtZSBlZmZlY3QuCgpNZW1vcnkgUG9ydCAoZGllIDApCiAgIOKU nOKUgCAweDAwXzgwMDBfMDAwMCAtIDB4MTBfODAwMF8wMDAwIGRpZSAwIG1lbW9yeSAoY2FjaGVk KQogICDilJTilIAgMHgxMF84MDAwXzAwMDAgLSAweDgwXzAwMDBfMDAwMCAoaG9sZSkKCk1lbW9y eSBQb3J0IChkaWUgMSkKICAg4pSc4pSAIDB4MDBfODAwMF8wMDAwIC0gMHgyMF8wMDAwXzAwMDAg KGhvbGUpCiAgIOKUnOKUgCAweDIwXzAwMDBfMDAwMCAtIDB4MzBfMDAwMF8wMDAwIGRpZSAxIG1l bW9yeSAoY2FjaGVkKQogICDilJTilIAgMHgzMF8wMDAwXzAwMDAgLSAweDgwXzAwMDBfMDAwMCAo aG9sZSkKCkJ5IGRlZmF1bHQsIGZvciBib3RoIGRpZSAwLzE6CgogICBOQVBPVFswXSAgIC4uLi4u LiAgIE1SV1gsU1UoKSAgX19fXyBPcGVuU0JJIGluIGNhY2hlZCBtZW0KICAgTkFQT1RbMV0gICAu Li4uLi4gICBNUldYLFNVKCkgIF9fX18gT3BlblNCSSBpbiB1bmNhY2hlZCBtZW0KICAgTkFQT1Rb Mi01XSAgICAgICAgICAgICAgICAgICAgIDxmcmVlPgogICBOQVBPVFs2XSBbMHgwLCAweDgwXzAw MDBfMDAwMCkgTF9fXwogICBOQVBPVFs3XSAgICAgICAuLi4uLi4gICAgICAgICAgPHJlc2VydmVk PgoKRm9yIGRpZSAwIGluIHJvb3QgZG9tYWluOgoKICAgTkFQT1RbMF0gICAgICAgLi4uLi4uICAg ICAgICAgIE0oUldYKVNVKCkgX19fXyBPcGVuU0JJIGluIGNhY2hlZCBtZW0KICAgTkFQT1RbMV0g ICAgICAgLi4uLi4uICAgICAgICAgIE0oUldYKVNVKCkgX19fXyBPcGVuU0JJIGluIHVuY2FjaGVk IG1lbQogICBOQVBPVFsyXSAgICAgICAgIFsweDIwMF8wMDAwLCAweDIwMV8wMDAwKSBfX19fIE0o UlcpU1UoKSBDTElOVAogICBOQVBPVFszXSAgICAgICBbMHgyMDAwXzAwMDAsIDB4NDAwMF8wMDAw KSBMX19fIGZvciBkaWUgMSBwNTUwCiAgIE5BUE9UWzRdICAgICAgICAgICAgWzB4MCwgMHgxMF8w MDAwXzAwMDApIF9SV1ggTSgpIFNVKFJXWCkKICAgTkFQT1RbNV0gWzB4MTBfMDAwMF8wMDAwLCAw eDEwXzgwMDBfMDAwMCkgX1JXWCBNKCkgU1UoUldYKQogICBOQVBPVFs2XSAgICAgICAgICAgIFsw eDAsIDB4ODBfMDAwMF8wMDAwKSBMX19fCiAgIE5BUE9UWzddICAgICAgICBbMHgwLCAweGZmZmZm ZmZmZmZmZmZmZmYpIF9SV1ggTSgpIFNVKFJXWCkKClNpbWlsYXJseSwgZm9yIGRpZSAxLCB1c2U6 CgoKICBOQVBPVFswXSAgICAgICAuLi4uLi4gICAgICAgICAgTShSV1gpU1UoKSBfX19fIE9wZW5T QkkgaW4gY2FjaGVkIG1lbQogIE5BUE9UWzFdICAgICAgIC4uLi4uLiAgICAgICAgICBNKFJXWClT VSgpIF9fX18gT3BlblNCSSBpbiB1bmNhY2hlZCBtZW0KICBOQVBPVFsyXSAgICAgICAgIFsweDQw MF8wMDAwLCAweDQwMV8wMDAwKSBfX19fIE0oUlcpU1UoKSBDTElOVAogIE5BUE9UWzNdICAgICAg ICAgICAgICAgWzB4MCwgMHgyMDAwXzAwMDApIExfX18gZm9yIGRpZSAwIHA1NTAKICBOQVBPVFs0 XSAgICAgICAgICAgICAgIFsweDAsIDB4ODAwMF8wMDAwKSBfUldYIE0oKSBTVShSV1gpCiAgTkFQ T1RbNV0gWzB4MjBfMDAwMF8wMDAwLCAweDMwXzgwMDBfMDAwMCkgX1JXWCBNKCkgU1UoUldYKQog IE5BUE9UWzZdICAgICAgICAgICAgWzB4MCwgMHg4MF8wMDAwXzAwMDApIExfX18KICBOQVBPVFs3 XSAgICAgICAgWzB4MCwgMHhmZmZmZmZmZmZmZmZmZmZmKSBfUldYIE0oKSBTVShSV1gpCgpJdCds bCB3b3JrIGFsc28gZm9yIG5vbi1yb290IGRvbWFpbiBoYXJ0cywgYW5kIGFjdHVhbGx5IGJldHRl ciBpZiBpdApkb2Vzbid0IGNvbnRhaW4gYSAiY2F0Y2ggYWxsIiByZWdpb24gKG9yZGVyID09IF9f cmlzY3ZfeGxlbikuIEhvd2V2ZXIsCmNvbXBhcmVkIHRvIHRoZSBUT1IgYXBwcm9hY2gsIGl0IGNv bnN1bWVzIDEgbW9yZSBQTVAgb24gZGllIDAgZm9yIHJvb3QKZG9tYWluIG9yIGFueSBkb21haW4g d2l0aCBhICJjYXRjaCBhbGwiIHJlZ2lvbiwgYW5kIHdlJ3ZlIHVzZWQgdXAgYWxsCmVudHJpZXMu IFRoZXJlJ3Mgbm8gcm9vbSBmb3IgbW9yZSwgc28gd2UgY2FuJ3QgZG8gc29tZXRoaW5nIGxpa2Ug YQp0cnVzdGVkL3VudHJ1c3RlZC1kb21haW4gc2NlbmFyaW8gYXMgZG9jdW1lbnRlZCBpbiBkb21h aW5fc3VwcG9ydC5tZCwKYmVjYXVzZSB3ZSBjYW4ndCBibG9jayB0aGUgYWNjZXNzIG9mIHRkb21h aW4gbWVtb3J5IHJlZ2lvbiBpbiB1ZG9tYWluLgpJJ20gbm90IHN1cmUgaWYgdGhpcyBpcyBhbiBp c3N1ZSBhdCB0aGlzIHBvaW50LiBQZXJoYXBzIGl0IGNvdWxkIGJlCndoZW4gc29tZW9uZSB0cmll cyBvdXQgVEVFPyBJIGRvbid0IGhhdmUgdGhlIGFuc3dlciB0b2RheS4KCj4gRm9yIGV4YW1wbGUs IHlvdSBjYW4gZG8gdGhlIGZvbGxvd2luZyAuLi4KPiAKPiBkaWZmIC0tZ2l0IGEvaW5jbHVkZS9z Ymkvc2JpX3BsYXRmb3JtLmggYi9pbmNsdWRlL3NiaS9zYmlfcGxhdGZvcm0uaAo+IGluZGV4IGQ3 NWMxMmRlLi45OTMyZmUwYyAxMDA2NDQKPiAtLS0gYS9pbmNsdWRlL3NiaS9zYmlfcGxhdGZvcm0u aAo+ICsrKyBiL2luY2x1ZGUvc2JpL3NiaV9wbGF0Zm9ybS5oCj4gQEAgLTc2LDYgKzc2LDkgQEAg c3RydWN0IHNiaV9wbGF0Zm9ybV9vcGVyYXRpb25zIHsKPiAgICAgICAvKiBDaGVjayBpZiBzcGVj aWZpZWQgSEFSVCBpcyBhbGxvd2VkIHRvIGRvIGNvbGQgYm9vdCAqLwo+ICAgICAgIGJvb2wgKCpj b2xkX2Jvb3RfYWxsb3dlZCkodTMyIGhhcnRpZCk7Cj4gCj4gKyAgICAvKiBDaGVjayBpZiBwbGF0 Zm9ybSByZXF1aXJlcyBzaW5nbGUgZmlybXdhcmUgcmVnaW9uICovCj4gKyAgICBib29sICgqc2lu Z2xlX2Z3X3JlZ2lvbikodm9pZCk7Cj4gKwoKU291bmRzIGdvb2QuIEknbGwgbWFrZSB0aGUgY2hh bmdlIGluIG5leHQgdmVyc2lvbi4KCkJvCgo+ICAgICAgIC8qIFBsYXRmb3JtIG5hc2NlbnQgaW5p dGlhbGl6YXRpb24gKi8KPiAgICAgICBpbnQgKCpuYXNjZW50X2luaXQpKHZvaWQpOwo+IAo+IEBA IC0zNDcsNiArMzUwLDIzIEBAIHN0YXRpYyBpbmxpbmUgYm9vbCBzYmlfcGxhdGZvcm1fY29sZF9i b290X2FsbG93ZWQoCj4gICAgICAgcmV0dXJuIHRydWU7Cj4gICB9Cj4gCj4gKy8qKgo+ICsgKiBD aGVjayB3aGV0aGVyIHBsYXRmb3JtIHJlcXVpcmVzIHNpbmdsZSBmaXJtd2FyZSByZWdpb24KPiAr ICoKPiArICogTm90ZTogU2luZ2xlIGZpcm13YXJlIHJlZ2lvbiBvbmx5IHdvcmtzIHdpdGggbGVn YWN5IFBNUCBiZWNhdXNlIHdpdGgKPiArICogU21lcG1wIE0tbW9kZSBvbmx5IHJlZ2lvbnMgY2Fu J3QgaGF2ZSBSV1ggcGVybWlzc2lvbnMuCj4gKyAqCj4gKyAqIEBwYXJhbSBwbGF0IHBvaW50ZXIg dG8gc3RydWN0IHNiaV9wbGF0Zm9ybQo+ICsgKgo+ICsgKiBAcmV0dXJuIHRydWUgaWYgc2luZ2xl IGZpcm13YXJlIHJlZ2lvbiByZXF1aXJlZCBhbmQgZmFsc2Ugb3RoZXJ3aXNlCj4gKyAqLwo+ICtz dGF0aWMgaW5saW5lIGJvb2wgc2JpX3BsYXRmb3JtX3NpbmdsZV9md19yZWdpb24oY29uc3Qgc3Ry dWN0Cj4gc2JpX3BsYXRmb3JtICpwbGF0KQo+ICt7Cj4gKyAgICBpZiAocGxhdCAmJiBzYmlfcGxh dGZvcm1fb3BzKHBsYXQpLT5zaW5nbGVfZndfcmVnaW9uKQo+ICsgICAgICAgIHJldHVybiBzYmlf cGxhdGZvcm1fb3BzKHBsYXQpLT5zaW5nbGVfZndfcmVnaW9uKCk7Cj4gKyAgICByZXR1cm4gZmFs c2U7Cj4gK30KPiArCj4gICAvKioKPiAgICAqIE5hc2NlbnQgKHZlcnkgZWFybHkpIGluaXRpYWxp emF0aW9uIGZvciBjdXJyZW50IEhBUlQKPiAgICAqCj4gZGlmZiAtLWdpdCBhL2xpYi9zYmkvc2Jp X2RvbWFpbi5jIGIvbGliL3NiaS9zYmlfZG9tYWluLmMKPiBpbmRleCBkYTBmMDU1Ny4uYmY3NGJh NjcgMTAwNjQ0Cj4gLS0tIGEvbGliL3NiaS9zYmlfZG9tYWluLmMKPiArKysgYi9saWIvc2JpL3Ni aV9kb21haW4uYwo+IEBAIC05MDQsMTggKzkwNCwyNyBAQCBpbnQgc2JpX2RvbWFpbl9pbml0KHN0 cnVjdCBzYmlfc2NyYXRjaCAqc2NyYXRjaCwKPiB1MzIgY29sZF9oYXJ0aWQpCj4gICAgICAgcm9v dC5wb3NzaWJsZV9oYXJ0cyA9IHJvb3RfaG1hc2s7Cj4gCj4gICAgICAgLyogUm9vdCBkb21haW4g ZmlybXdhcmUgbWVtb3J5IHJlZ2lvbiAqLwo+IC0gICAgc2JpX2RvbWFpbl9tZW1yZWdpb25faW5p dChzY3JhdGNoLT5md19zdGFydCwgc2NyYXRjaC0+Zndfcndfb2Zmc2V0LAo+IC0gICAgICAgICAg ICAgICAgICAoU0JJX0RPTUFJTl9NRU1SRUdJT05fTV9SRUFEQUJMRSB8Cj4gLSAgICAgICAgICAg ICAgICAgICBTQklfRE9NQUlOX01FTVJFR0lPTl9NX0VYRUNVVEFCTEUgfAo+IC0gICAgICAgICAg ICAgICAgICAgU0JJX0RPTUFJTl9NRU1SRUdJT05fRlcpLAo+IC0gICAgICAgICAgICAgICAgICAm cm9vdF9tZW1yZWdzW3Jvb3RfbWVtcmVnc19jb3VudCsrXSk7Cj4gLQo+IC0gICAgc2JpX2RvbWFp bl9tZW1yZWdpb25faW5pdCgoc2NyYXRjaC0+Zndfc3RhcnQgKyBzY3JhdGNoLT5md19yd19vZmZz ZXQpLAo+IC0gICAgICAgICAgICAgICAgICAoc2NyYXRjaC0+Zndfc2l6ZSAtIHNjcmF0Y2gtPmZ3 X3J3X29mZnNldCksCj4gLSAgICAgICAgICAgICAgICAgIChTQklfRE9NQUlOX01FTVJFR0lPTl9N X1JFQURBQkxFIHwKPiAtICAgICAgICAgICAgICAgICAgIFNCSV9ET01BSU5fTUVNUkVHSU9OX01f V1JJVEFCTEUgfAo+IC0gICAgICAgICAgICAgICAgICAgU0JJX0RPTUFJTl9NRU1SRUdJT05fRlcp LAo+IC0gICAgICAgICAgICAgICAgICAmcm9vdF9tZW1yZWdzW3Jvb3RfbWVtcmVnc19jb3VudCsr XSk7Cj4gKyAgICBpZiAoc2JpX3BsYXRmb3JtX3NpbmdsZV9md19yZWdpb24oc2JpX3BsYXRmb3Jt X3B0cihzY3JhdGNoKSkpIHsKPiArICAgICAgICBzYmlfZG9tYWluX21lbXJlZ2lvbl9pbml0KHNj cmF0Y2gtPmZ3X3N0YXJ0LCBzY3JhdGNoLT5md19zaXplLAo+ICsgICAgICAgICAgICAgICAgICAg ICAgKFNCSV9ET01BSU5fTUVNUkVHSU9OX01fUkVBREFCTEUgfAo+ICsgICAgICAgICAgICAgICAg ICAgICAgIFNCSV9ET01BSU5fTUVNUkVHSU9OX01fV1JJVEFCTEUgfAo+ICsgICAgICAgICAgICAg ICAgICAgICAgIFNCSV9ET01BSU5fTUVNUkVHSU9OX01fRVhFQ1VUQUJMRSB8Cj4gKyAgICAgICAg ICAgICAgICAgICAgICAgU0JJX0RPTUFJTl9NRU1SRUdJT05fRlcpLAo+ICsgICAgICAgICAgICAg ICAgICAgICAgJnJvb3RfbWVtcmVnc1tyb290X21lbXJlZ3NfY291bnQrK10pOwo+ICsgICAgfSBl bHNlewo+ICsgICAgICAgIHNiaV9kb21haW5fbWVtcmVnaW9uX2luaXQoc2NyYXRjaC0+Zndfc3Rh cnQsIHNjcmF0Y2gtPmZ3X3J3X29mZnNldCwKPiArICAgICAgICAgICAgICAgICAgICAgIChTQklf RE9NQUlOX01FTVJFR0lPTl9NX1JFQURBQkxFIHwKPiArICAgICAgICAgICAgICAgICAgICAgICBT QklfRE9NQUlOX01FTVJFR0lPTl9NX0VYRUNVVEFCTEUgfAo+ICsgICAgICAgICAgICAgICAgICAg ICAgIFNCSV9ET01BSU5fTUVNUkVHSU9OX0ZXKSwKPiArICAgICAgICAgICAgICAgICAgICAgICZy b290X21lbXJlZ3Nbcm9vdF9tZW1yZWdzX2NvdW50KytdKTsKPiArCj4gKyAgICAgICAgc2JpX2Rv bWFpbl9tZW1yZWdpb25faW5pdCgoc2NyYXRjaC0+Zndfc3RhcnQgKyBzY3JhdGNoLT5md19yd19v ZmZzZXQpLAo+ICsgICAgICAgICAgICAgICAgICAgICAgKHNjcmF0Y2gtPmZ3X3NpemUgLSBzY3Jh dGNoLT5md19yd19vZmZzZXQpLAo+ICsgICAgICAgICAgICAgICAgICAgICAgKFNCSV9ET01BSU5f TUVNUkVHSU9OX01fUkVBREFCTEUgfAo+ICsgICAgICAgICAgICAgICAgICAgICAgIFNCSV9ET01B SU5fTUVNUkVHSU9OX01fV1JJVEFCTEUgfAo+ICsgICAgICAgICAgICAgICAgICAgICAgIFNCSV9E T01BSU5fTUVNUkVHSU9OX0ZXKSwKPiArICAgICAgICAgICAgICAgICAgICAgICZyb290X21lbXJl Z3Nbcm9vdF9tZW1yZWdzX2NvdW50KytdKTsKPiArICAgIH0KPiAKPiAgICAgICByb290LmZ3X3Jl Z2lvbl9pbml0ZWQgPSB0cnVlOwo+IAo+IFJlZ2FyZHMsCj4gQW51cAoKCi0tIApvcGVuc2JpIG1h aWxpbmcgbGlzdApvcGVuc2JpQGxpc3RzLmluZnJhZGVhZC5vcmcKaHR0cDovL2xpc3RzLmluZnJh ZGVhZC5vcmcvbWFpbG1hbi9saXN0aW5mby9vcGVuc2JpCg==