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 67FA6CC6B1D for ; Fri, 3 Apr 2026 02:03:17 +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-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To: Message-Id:Date:Subject:Cc:To:From:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=2hBV/z6WnMN8zarYSWJsiC6Hw3JWsY0QiCBh/MxYFG8=; b=TlW7gunwFe1PGC 7NkOS8k3L7DxMWCt5Zy0hWi19Lxpw4Z4UBLFS+oLHT9/7RRtQ8vhKk+iwWL5f4bgG94qUs85Om2RU jbhEpODQhg0HIj9GF4LYZ/Rde+eLSXAxnCW0++DWHzh+NnU4oYYikMUHHPTl1JbluzGCh0a/SW6OZ 5xeco16yziySTpUzGeowE41bAvBMga7U+ynzIVH9h+GAChe6eSIyZTJNxdrxzpl1hnZQOqOia1hEx 3dd9o7VUg4wmIc5+fBvX0BW0NmbeUMiDlbeOPAhuxR0xdcXHzWjHl9X7cbbvjir2JC0+xM+HE9eNW lvrIjAXetFA6kyNPK0UQ==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98.2 #2 (Red Hat Linux)) id 1w8TsI-0000000150d-2P6f; Fri, 03 Apr 2026 02:03:06 +0000 Received: from out30-97.freemail.mail.aliyun.com ([115.124.30.97]) by bombadil.infradead.org with esmtps (Exim 4.98.2 #2 (Red Hat Linux)) id 1w8TsD-00000001508-1y2u; Fri, 03 Apr 2026 02:03:04 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.alibaba.com; s=default; t=1775181776; h=From:To:Subject:Date:Message-Id:MIME-Version:Content-Type; bh=OyHftAN8dhMQg9njDh58Weo7ed5uJBi0NSC4k8bM2NY=; b=UZ/DrhBZGlpVj6eaYvaAsoMsv5LwL+y70X4n/Cy3ssmSxP+Vjz2/qeaDkEM4AAPa9JMAXv0E0xhkIck7/vavlLTlAc6Xjk3hV56BbNEqCknmMvR20Ojnzt+IJJc5RF7dyFFc5kz+cKLAP5wTTK0062/ghGxwRdyvg49jPIoL/vQ= X-Alimail-AntiSpam: AC=PASS;BC=-1|-1;BR=01201311R111e4;CH=green;DM=||false|;DS=||;FP=0|-1|-1|-1|0|-1|-1|-1;HT=maildocker-contentspam033045133197;MF=fangyu.yu@linux.alibaba.com;NM=1;PH=DS;RN=18;SR=0;TI=SMTPD_---0X0IdJa6_1775181770; Received: from localhost.localdomain(mailfrom:fangyu.yu@linux.alibaba.com fp:SMTPD_---0X0IdJa6_1775181770 cluster:ay36) by smtp.aliyun-inc.com; Fri, 03 Apr 2026 10:02:51 +0800 From: fangyu.yu@linux.alibaba.com To: fangyu.yu@linux.alibaba.com, anup@brainfault.org Cc: alex@ghiti.fr, andrew.jones@oss.qualcomm.com, aou@eecs.berkeley.edu, atish.patra@linux.dev, corbet@lwn.net, guoren@kernel.org, kvm-riscv@lists.infradead.org, kvm@vger.kernel.org, linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org, linux-riscv@lists.infradead.org, palmer@dabbelt.com, pbonzini@redhat.com, pjw@kernel.org, radim.krcmar@oss.qualcomm.com, skhan@linuxfoundation.org Subject: Re: Re: Re: [PATCH v7 4/4] RISC-V: KVM: add KVM_CAP_RISCV_SET_HGATP_MODE Date: Fri, 3 Apr 2026 10:02:49 +0800 Message-Id: <20260403020249.36676-1-fangyu.yu@linux.alibaba.com> X-Mailer: git-send-email 2.39.3 (Apple Git-146) In-Reply-To: <20260403013137.32604-1-fangyu.yu@linux.alibaba.com> References: <20260403013137.32604-1-fangyu.yu@linux.alibaba.com> MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20260402_190302_181844_1B90EC3F X-CRM114-Status: GOOD ( 18.12 ) X-BeenThere: linux-riscv@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-riscv" Errors-To: linux-riscv-bounces+linux-riscv=archiver.kernel.org@lists.infradead.org Pj5PbiBUaHUsIEFwciAyLCAyMDI2IGF0IDY6NTPigK9QTSA8ZmFuZ3l1Lnl1QGxpbnV4LmFsaWJh YmEuY29tPiB3cm90ZToKPj4+Cj4+PiBGcm9tOiBGYW5neXUgWXUgPGZhbmd5dS55dUBsaW51eC5h bGliYWJhLmNvbT4KPj4+Cj4+PiBBZGQgYSBWTSBjYXBhYmlsaXR5IHRoYXQgYWxsb3dzIHVzZXJz cGFjZSB0byBzZWxlY3QgdGhlIEctc3RhZ2UgcGFnZSB0YWJsZQo+Pj4gZm9ybWF0IGJ5IHNldHRp bmcgSEdBVFAuTU9ERSBvbiBhIHBlci1WTSBiYXNpcy4KPj4+Cj4+PiBVc2Vyc3BhY2UgZW5hYmxl cyB0aGUgY2FwYWJpbGl0eSB2aWEgS1ZNX0VOQUJMRV9DQVAsIHBhc3NpbmcgdGhlIHJlcXVlc3Rl ZAo+Pj4gSEdBVFAuTU9ERSBpbiBhcmdzWzBdLiBUaGUgcmVxdWVzdCBpcyByZWplY3RlZCB3aXRo IC1FSU5WQUwgaWYgdGhlIG1vZGUgaXMKPj4+IG5vdCBzdXBwb3J0ZWQgYnkgdGhlIGhvc3QsIGFu ZCB3aXRoIC1FQlVTWSBpZiB0aGUgVk0gaGFzIGFscmVhZHkgYmVlbgo+Pj4gY29tbWl0dGVkIChl LmcuIHZDUFVzIGhhdmUgYmVlbiBjcmVhdGVkIG9yIGFueSBtZW1zbG90IGlzIHBvcHVsYXRlZCku Cj4+Pgo+Pj4gS1ZNX0NIRUNLX0VYVEVOU0lPTihLVk1fQ0FQX1JJU0NWX1NFVF9IR0FUUF9NT0RF KSByZXR1cm5zIGEgYml0bWFzayBvZiB0aGUKPj4+IEhHQVRQLk1PREUgZm9ybWF0cyBzdXBwb3J0 ZWQgYnkgdGhlIGhvc3QuCj4+Pgo+Pj4gU2lnbmVkLW9mZi1ieTogRmFuZ3l1IFl1IDxmYW5neXUu eXVAbGludXguYWxpYmFiYS5jb20+Cj4+PiBSZXZpZXdlZC1ieTogQW5kcmV3IEpvbmVzIDxhbmRy ZXcuam9uZXNAb3NzLnF1YWxjb21tLmNvbT4KPj4+IFJldmlld2VkLWJ5OiBHdW8gUmVuIDxndW9y ZW5Aa2VybmVsLm9yZz4KPj4+IC0tLQo+Pj4gIERvY3VtZW50YXRpb24vdmlydC9rdm0vYXBpLnJz dCB8IDI3ICsrKysrKysrKysrKysrKysrKysrKysrKysrKwo+Pj4gIGFyY2gvcmlzY3Yva3ZtL3Zt LmMgICAgICAgICAgICB8IDE4ICsrKysrKysrKysrKysrKystLQo+Pj4gIGluY2x1ZGUvdWFwaS9s aW51eC9rdm0uaCAgICAgICB8ICAxICsKPj4+ICAzIGZpbGVzIGNoYW5nZWQsIDQ0IGluc2VydGlv bnMoKyksIDIgZGVsZXRpb25zKC0pCj4+Pgo+Pj4gZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24v dmlydC9rdm0vYXBpLnJzdCBiL0RvY3VtZW50YXRpb24vdmlydC9rdm0vYXBpLnJzdAo+Pj4gaW5k ZXggMDMyNTE2NzgzZTk2Li45ZDdmNjk1OGZhODEgMTAwNjQ0Cj4+PiAtLS0gYS9Eb2N1bWVudGF0 aW9uL3ZpcnQva3ZtL2FwaS5yc3QKPj4+ICsrKyBiL0RvY3VtZW50YXRpb24vdmlydC9rdm0vYXBp LnJzdAo+Pj4gQEAgLTg5MDIsNiArODkwMiwzMyBAQCBoZWxwZnVsIGlmIHVzZXIgc3BhY2Ugd2Fu dHMgdG8gZW11bGF0ZSBpbnN0cnVjdGlvbnMgd2hpY2ggYXJlIG5vdAo+Pj4gIFRoaXMgY2FwYWJp bGl0eSBjYW4gYmUgZW5hYmxlZCBkeW5hbWljYWxseSBldmVuIGlmIFZDUFVzIHdlcmUgYWxyZWFk eQo+Pj4gIGNyZWF0ZWQgYW5kIGFyZSBydW5uaW5nLgo+Pj4KPj4+ICs3LjQ3IEtWTV9DQVBfUklT Q1ZfU0VUX0hHQVRQX01PREUKPj4+ICstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0K Pj4+ICsKPj4+ICs6QXJjaGl0ZWN0dXJlczogcmlzY3YKPj4+ICs6VHlwZTogVk0KPj4+ICs6UGFy YW1ldGVyczogYXJnc1swXSBjb250YWlucyB0aGUgcmVxdWVzdGVkIEhHQVRQIG1vZGUKPj4+ICs6 UmV0dXJuczoKPj4+ICsgIC0gMCBvbiBzdWNjZXNzLgo+Pj4gKyAgLSAtRUlOVkFMIGlmIGFyZ3Nb MF0gaXMgb3V0c2lkZSB0aGUgcmFuZ2Ugb2YgSEdBVFAgbW9kZXMgc3VwcG9ydGVkIGJ5IHRoZQo+ Pj4gKyAgICBoYXJkd2FyZS4KPj4+ICsgIC0gLUVCVVNZIGlmIHZDUFVzIGhhdmUgYWxyZWFkeSBi ZWVuIGNyZWF0ZWQgZm9yIHRoZSBWTSwgaWYgdGhlIFZNIGhhcyBhbnkKPj4+ICsgICAgbm9uLWVt cHR5IG1lbXNsb3RzLgo+Pj4gKwo+Pj4gK1RoaXMgY2FwYWJpbGl0eSBhbGxvd3MgdXNlcnNwYWNl IHRvIGV4cGxpY2l0bHkgc2VsZWN0IHRoZSBIR0FUUCBtb2RlIGZvcgo+Pj4gK3RoZSBWTS4gVGhl IHNlbGVjdGVkIG1vZGUgbXVzdCBiZSBzdXBwb3J0ZWQgYnkgYm90aCBLVk0gYW5kIGhhcmR3YXJl LiBUaGlzCj4+PiArY2FwYWJpbGl0eSBtdXN0IGJlIGVuYWJsZWQgYmVmb3JlIGNyZWF0aW5nIGFu eSB2Q1BVcyBvciBtZW1zbG90cy4KPj4+ICsKPj4+ICtJZiB0aGlzIGNhcGFiaWxpdHkgaXMgbm90 IGVuYWJsZWQsIEtWTSB3aWxsIHNlbGVjdCB0aGUgZGVmYXVsdCBIR0FUUCBtb2RlCj4+PiArYXV0 b21hdGljYWxseS4gVGhlIGRlZmF1bHQgaXMgdGhlIGhpZ2hlc3QgSEdBVFAuTU9ERSB2YWx1ZSBz dXBwb3J0ZWQgYnkKPj4+ICtoYXJkd2FyZS4KPj4+ICsKPj4+ICtgYEtWTV9DSEVDS19FWFRFTlNJ T04oS1ZNX0NBUF9SSVNDVl9TRVRfSEdBVFBfTU9ERSlgYCByZXR1cm5zIGEgYml0bWFzayBvZgo+ Pj4gK0hHQVRQLk1PREUgdmFsdWVzIHN1cHBvcnRlZCBieSB0aGUgaG9zdC4gQSByZXR1cm4gdmFs dWUgb2YgMCBpbmRpY2F0ZXMgdGhhdAo+Pj4gK3RoZSBjYXBhYmlsaXR5IGlzIG5vdCBzdXBwb3J0 ZWQuIFN1cHBvcnRlZC1tb2RlIGJpdG1hc2sgdXNlIEhHQVRQLk1PREUKPj4+ICtlbmNvZGluZ3Mg YXMgZGVmaW5lZCBieSB0aGUgUklTQy1WIHByaXZpbGVnZWQgc3BlY2lmaWNhdGlvbiwgc3VjaCBh cyBTdjM5eDQKPj4+ICtjb3JyZXNwb25kcyB0byBIR0FUUC5NT0RFPTgsIHNvIHVzZXJzcGFjZSBz aG91bGQgdGVzdCBiaXRtYXNrICYgQklUKDgpLgo+Pj4gKwo+Pj4gIDguIE90aGVyIGNhcGFiaWxp dGllcy4KPj4+ICA9PT09PT09PT09PT09PT09PT09PT09Cj4+Pgo+Pj4gZGlmZiAtLWdpdCBhL2Fy Y2gvcmlzY3Yva3ZtL3ZtLmMgYi9hcmNoL3Jpc2N2L2t2bS92bS5jCj4+PiBpbmRleCA0ZDgyYTg4 NjEwMmMuLjVlODJhM2FkM2FkMCAxMDA2NDQKPj4+IC0tLSBhL2FyY2gvcmlzY3Yva3ZtL3ZtLmMK Pj4+ICsrKyBiL2FyY2gvcmlzY3Yva3ZtL3ZtLmMKPj4+IEBAIC0yMDEsNiArMjAxLDkgQEAgaW50 IGt2bV92bV9pb2N0bF9jaGVja19leHRlbnNpb24oc3RydWN0IGt2bSAqa3ZtLCBsb25nIGV4dCkK Pj4+ICAgICAgICAgY2FzZSBLVk1fQ0FQX1ZNX0dQQV9CSVRTOgo+Pj4gICAgICAgICAgICAgICAg IHIgPSBrdm1fcmlzY3ZfZ3N0YWdlX2dwYV9iaXRzKGt2bS0+YXJjaC5wZ2RfbGV2ZWxzKTsKPj4+ ICAgICAgICAgICAgICAgICBicmVhazsKPj4+ICsgICAgICAgY2FzZSBLVk1fQ0FQX1JJU0NWX1NF VF9IR0FUUF9NT0RFOgo+Pj4gKyAgICAgICAgICAgICAgIHIgPSBrdm1fcmlzY3ZfZ2V0X2hnYXRw X21vZGVfbWFzaygpOwo+Pj4gKyAgICAgICAgICAgICAgIGJyZWFrOwo+Pgo+PkludHJvZHVjaW5n IGEgbmV3IFJJU0MtViBjYXBhYmlsaXR5IGxvb2tzIGEgYml0IGNvbXBsZXguCj4+SW5zdGVhZCBv ZiBLVk1fQ0FQX1JJU0NWX1NFVF9IR0FUUF9NT0RFLCB3ZSBjYW4KPj5zaW1wbHkgcmUtdXNlIEtW TV9DQVBfVk1fR1BBX0JJVFMuCj4+Cj4+VGhlIGt2bV92bV9pb2N0bF9jaGVja19leHRlbnNpb24o KSBmb3IgS1ZNX0NBUF9WTV9HUEFfQklUUwo+PnJldHVybiBudW1iZXIgb2YgR1BBIGJpdHMgd2hp Y2ggaW4tZGlyZWN0bHkgaW1wbGllcyB0aGUgdW5kZXJseWluZwo+PmhnYXRwLk1PREUuIEFzIHdl IGtub3csIGlmIGl0IHJldHVybiA1OSBiaXRzIEdQQSB0aGVuIGl0IG1lYW5zCj4+U3Y1N3g0IGlz IHRoZSBzZWxlY3RlZCBoZ2F0cC5NT0RFIGFuZCBTdjQ4eDQgYW5kIFN2Mzl4NCBtb2Rlcwo+PmFy ZSBhbHNvIHN1cHBvcnRlZCBhcy1wZXIgUklTQy1WIHByaXZpbGVnZWQgc3BlY2lmaWNhdGlvbi4K Pj4KPj5UaGUga3ZtX3ZtX2lvY3RsX2VuYWJsZV9jYXAoKSBmb3IgS1ZNX0NBUF9WTV9HUEFfQklU Uwo+PndpbGwgdGFrZSB0aGUgZGVzaXJlZCBudW1iZXIgb2YgR1BBIGJpdHMgYW5kIGRvd25zaXpl IHRoZSBzZWxlY3RlZAo+PmhnYXRwLk1PREUuIEZvciBleGFtcGxlLCBpZiB1c2VyLXNwYWNlIGFz ayBHUEEgYml0cyA8PSA1MCBhbmQKPj5HUEEgYml0cyA+IDQxIHRoZW4gd2Ugc2VsZWN0IFN2NDh4 NC4gSWYgdXNlci1zcGFjZSBhc2sgR1BBCj4+Yml0cyA8PSA0MSB0aGVuIHdlIHNlbGVjdCBTdjM5 eDQuIElmIHVzZXItc3BhY2UgYXNrIEdQQSBiaXRzIDw9IDU5Cj4+YW5kIEdQQSBiaXRzID4gNTAg dGhlbiB3ZSBzZWxlY3QgU3Y1N3g0Lgo+Pgo+Cj5UaGFua3MsIHRoYXQgbWFrZXMgc2Vuc2UuCj4K PkluIHY4IEnigJlsbCBkcm9wIEtWTV9DQVBfUklTQ1ZfU0VUX0hHQVRQX01PREUgYW5kIHJlLXVz ZSBLVk1fQ0FQX1ZNX0dQQV9CSVRTCj5mb3IgYm90aCBkaXNjb3ZlcnkgYW5kIHNlbGVjdGlvbi4K PgoKSGkgQW51cCwKCldoaWxlIHdvcmtpbmcgb24gdGhlIHJlc3BpbiByZXVzaW5nIEtWTV9DQVBf Vk1fR1BBX0JJVFMsIEkgcmVhbGl6ZWQKYSBwb3RlbnRpYWwgYW1iaWd1aXR5IGluIENIRUNLX0VY VEVOU0lPTiBzZW1hbnRpY3MgYW5kIHdhbnRlZCB0byBjb25maXJtIHRoZQppbnRlbmRlZCBBQkkg YmVmb3JlIHBvc3RpbmcgdjguCgpPbmUgY29uY2VybiBhYm91dCB0aGUgc2VtYW50aWNzOiB0b2Rh eSBLVk1fQ0hFQ0tfRVhURU5TSU9OKEtWTV9DQVBfVk1fR1BBX0JJVFMpCm9uIGEgVk0gZmQgbWF5 IGJlIGludGVycHJldGVkIGFzIOKAnHRoZSBHUEEgYml0cyBmb3IgdGhpcyBWTeKAnSAob3IgYXQg bGVhc3Qgd2hhdAp0aGlzIFZNIGNhbiB1c2UpLiBJZiB3ZSBhbHNvIHVzZSBLVk1fRU5BQkxFX0NB UChLVk1fQ0FQX1ZNX0dQQV9CSVRTKSB0byBkb3duc2l6ZQp0aGUgc2VsZWN0ZWQgSEdBVFAuTU9E RSBmb3IgYSBwYXJ0aWN1bGFyIFZNIChlLmcuIHRvIFN2NDh4NCA9PiA1MCBiaXRzKSwgdGhlbiBh CnN1YnNlcXVlbnQgQ0hFQ0tfRVhURU5TSU9OKEtWTV9DQVBfVk1fR1BBX0JJVFMpIG9uIHRoZSBz YW1lIFZNIGZkIHdvdWxkIHJldHVybiA1MC4KVXNlcnNwYWNlIG1pZ2h0IHRoZW4gYXNzdW1lIDUw IGlzIHRoZSBtYXhpbXVtIHN1cHBvcnRlZCBieSB0aGF0IFZNL2hvc3QgYW5kIGxvc2UKdGhlIGlu Zm9ybWF0aW9uIHRoYXQgdGhlIGhvc3QgYWN0dWFsbHkgc3VwcG9ydHMgNTkgKFN2NTd4NCkuCgpU aGFua3MsCkZhbmd5dQoKPlRoYW5rcywKPkZhbmd5dQo+Cj4+PiAgICAgICAgIGRlZmF1bHQ6Cj4+ PiAgICAgICAgICAgICAgICAgciA9IDA7Cj4+PiAgICAgICAgICAgICAgICAgYnJlYWs7Cj4+PiBA QCAtMjExLDEyICsyMTQsMjMgQEAgaW50IGt2bV92bV9pb2N0bF9jaGVja19leHRlbnNpb24oc3Ry dWN0IGt2bSAqa3ZtLCBsb25nIGV4dCkKPj4+Cj4+PiAgaW50IGt2bV92bV9pb2N0bF9lbmFibGVf Y2FwKHN0cnVjdCBrdm0gKmt2bSwgc3RydWN0IGt2bV9lbmFibGVfY2FwICpjYXApCj4+PiAgewo+ Pj4gKyAgICAgICBpZiAoY2FwLT5mbGFncykKPj4+ICsgICAgICAgICAgICAgICByZXR1cm4gLUVJ TlZBTDsKPj4+ICsKPj4+ICAgICAgICAgc3dpdGNoIChjYXAtPmNhcCkgewo+Pj4gICAgICAgICBj YXNlIEtWTV9DQVBfUklTQ1ZfTVBfU1RBVEVfUkVTRVQ6Cj4+PiAtICAgICAgICAgICAgICAgaWYg KGNhcC0+ZmxhZ3MpCj4+PiAtICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gLUVJTlZBTDsK Pj4+ICAgICAgICAgICAgICAgICBrdm0tPmFyY2gubXBfc3RhdGVfcmVzZXQgPSB0cnVlOwo+Pj4g ICAgICAgICAgICAgICAgIHJldHVybiAwOwo+Pj4gKyAgICAgICBjYXNlIEtWTV9DQVBfUklTQ1Zf U0VUX0hHQVRQX01PREU6Cj4+PiArICAgICAgICAgICAgICAgaWYgKCFrdm1fcmlzY3ZfaGdhdHBf bW9kZV9pc192YWxpZChjYXAtPmFyZ3NbMF0pKQo+Pj4gKyAgICAgICAgICAgICAgICAgICAgICAg cmV0dXJuIC1FSU5WQUw7Cj4+PiArCj4+PiArICAgICAgICAgICAgICAgaWYgKGt2bS0+Y3JlYXRl ZF92Y3B1cyB8fCAha3ZtX2FyZV9hbGxfbWVtc2xvdHNfZW1wdHkoa3ZtKSkKPj4+ICsgICAgICAg ICAgICAgICAgICAgICAgIHJldHVybiAtRUJVU1k7Cj4+PiArI2lmZGVmIENPTkZJR182NEJJVAo+ Pj4gKyAgICAgICAgICAgICAgIGt2bS0+YXJjaC5wZ2RfbGV2ZWxzID0gMyArIGNhcC0+YXJnc1sw XSAtIEhHQVRQX01PREVfU1YzOVg0Owo+Pj4gKyNlbmRpZgo+Pj4gKyAgICAgICAgICAgICAgIHJl dHVybiAwOwo+Pj4gICAgICAgICBkZWZhdWx0Ogo+Pj4gICAgICAgICAgICAgICAgIHJldHVybiAt RUlOVkFMOwo+Pj4gICAgICAgICB9Cj4+PiBkaWZmIC0tZ2l0IGEvaW5jbHVkZS91YXBpL2xpbnV4 L2t2bS5oIGIvaW5jbHVkZS91YXBpL2xpbnV4L2t2bS5oCj4+PiBpbmRleCA4MDM2NGQ0ZGJlYmIu LmE3NGE4MGZkNDA0NiAxMDA2NDQKPj4+IC0tLSBhL2luY2x1ZGUvdWFwaS9saW51eC9rdm0uaAo+ Pj4gKysrIGIvaW5jbHVkZS91YXBpL2xpbnV4L2t2bS5oCj4+PiBAQCAtOTg5LDYgKzk4OSw3IEBA IHN0cnVjdCBrdm1fZW5hYmxlX2NhcCB7Cj4+PiAgI2RlZmluZSBLVk1fQ0FQX0FSTV9TRUFfVE9f VVNFUiAyNDUKPj4+ICAjZGVmaW5lIEtWTV9DQVBfUzM5MF9VU0VSX09QRVJFWEVDIDI0Ngo+Pj4g ICNkZWZpbmUgS1ZNX0NBUF9TMzkwX0tFWU9QIDI0Nwo+Pj4gKyNkZWZpbmUgS1ZNX0NBUF9SSVND Vl9TRVRfSEdBVFBfTU9ERSAyNDgKPj4+Cj4+PiAgc3RydWN0IGt2bV9pcnFfcm91dGluZ19pcnFj aGlwIHsKPj4+ICAgICAgICAgX191MzIgaXJxY2hpcDsKPj4+IC0tCj4+PiAyLjUwLjEKPj4+Cj4+ Cj4+UmVnYXJkcywKPj5BbnVwCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fXwpsaW51eC1yaXNjdiBtYWlsaW5nIGxpc3QKbGludXgtcmlzY3ZAbGlzdHMuaW5m cmFkZWFkLm9yZwpodHRwOi8vbGlzdHMuaW5mcmFkZWFkLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2xp bnV4LXJpc2N2Cg==