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 160ADC001DE for ; Tue, 15 Aug 2023 07:40:38 +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:MIME-Version:In-Reply-To:From:References:Cc:To: Subject: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=FNDAPdmCZI23MwMqVfVGe5gvdtnLAlE75/mskL2Arcs=; b=R9/u+5vjB/2UbyNy9l97nJ3hxm aQGbUYC3H8WXjqXzR8l/X6jMZb4VQlLIM4DNM9Q8GUUcHSQNMXy4m2g05j2DNtNvPj073MpwR1sBu PtqDz39B0W56T/JfjorbdLqW2ZroyH8Qb1yP+Ib3z7MhlUfJpURmfi+l0ql8jd1KJYw+S34a9uGeo HBREeG+6j4tfSXz9yq7kWkzmo9L03i+Ds/G3zR+qEv3fAbAtGAew1A948uv67O+cO7Rq0GDXKeNbS H9whnlS80yrj64qmlRAcAZ3BOkomo/mBaZvvBqFb6+g61SMox79/jLWiV506gAKe9KkuOhj2s6vIQ lKxQOoNw==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.96 #2 (Red Hat Linux)) id 1qVoet-00156D-0L; Tue, 15 Aug 2023 07:40:07 +0000 Received: from mail-mw2nam12on20700.outbound.protection.outlook.com ([2a01:111:f400:fe5a::700] helo=NAM12-MW2-obe.outbound.protection.outlook.com) by bombadil.infradead.org with esmtps (Exim 4.96 #2 (Red Hat Linux)) id 1qVoep-00155m-2k for linux-arm-kernel@lists.infradead.org; Tue, 15 Aug 2023 07:40:05 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=lt1MIbszIPT8vxEms1LERcPxxqXKJjANouTF+4vB2jFJhW98Qor3/fVlxtkhSZG2AdH8XvGIb0QqILvqmXLdwkM2gcNpbrWi7MmAYVeebXIE7uqxAqHWw7dyn6lYoCUYzo23SEs1WUcd1B92qxoug8/SP1xlkzswaZ5L6Tx9HIFxP6wGjATZ5NUIveLtotOD0+FRwwKO8pizFSiOsEt3F/8WfDqw+uENqVND744+384TUDsIykmep9St1rsgpChhP5BsaKU9sPY8PM91vGfs8+p6h/PYQAHKgtgccL0w9M/EinXKDXSmagV6tU4SBfiksbklHddFjUbShyEr63bdLA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=Qig99UihoqRsVrvoPEbekC86kU+VhDhkNt799FPy7bU=; b=C058VjTMqiAoZmHgYmE+rIuTLqKYi0LkBOuQmFa8Rch/8wWtefNIPdrI/tWvwYX9AvzGGmWBfvwwOB1onDX8bv+sKOEAbdSW9eCox9OdC/AJK9rPNx/uST0cqKwSquDhF94YTUmhzWGOT4YnQL9vGMH0QD88NfiMXgzPP5gphFLmNlV/eSKMgGlafufaogiqFNa5UwuZ/nDjiSOpz4EMQG4IoCOF/FeDJgT2vIWyicYhmkaY75lfRu/Riodt60ZxU1OGMVJDhE1ERn1EtUC8WmRx2qPzNhPfYz1HSf2xRpbY/sJEjxiVIwcyiDil3RqCBZFEZb1DvxoLjn6BfyBpxg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=os.amperecomputing.com; dmarc=pass action=none header.from=amperemail.onmicrosoft.com; dkim=pass header.d=amperemail.onmicrosoft.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amperemail.onmicrosoft.com; s=selector1-amperemail-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=Qig99UihoqRsVrvoPEbekC86kU+VhDhkNt799FPy7bU=; b=OdAm2YmTU7whd1MLHKA39O7dUCc7SYIvBypgMcfGStnnnDO8k2V7A8J+FB4kNeQxlOClZUqOm/ulyllt31t8vVjMwt2WwR4k+0HHamlrDtcUL6uAZV9n0D/U9QcNrHaz1V/J0wBiOKdTylCXAcMiuttAjcN60yrC+VUlj3pGC3w= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=amperemail.onmicrosoft.com; Received: from DM8PR01MB6824.prod.exchangelabs.com (2603:10b6:8:23::24) by SJ0PR01MB6205.prod.exchangelabs.com (2603:10b6:a03:297::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6678.26; Tue, 15 Aug 2023 07:24:28 +0000 Received: from DM8PR01MB6824.prod.exchangelabs.com ([fe80::d62f:d774:15b0:4a40]) by DM8PR01MB6824.prod.exchangelabs.com ([fe80::d62f:d774:15b0:4a40%4]) with mapi id 15.20.6678.025; Tue, 15 Aug 2023 07:24:28 +0000 Message-ID: Date: Tue, 15 Aug 2023 15:24:18 +0800 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101 Thunderbird/102.14.0 Subject: Re: [PATCH] KVM: arm64: pmu: Resync EL0 state on counter rotation To: Marc Zyngier Cc: kvmarm@lists.linux.dev, linux-arm-kernel@lists.infradead.org, kvm@vger.kernel.org, James Morse , Suzuki K Poulose , Oliver Upton , Zenghui Yu , Huang Shijie , Mark Rutland , Will Deacon , Frank Wang References: <20230811180520.131727-1-maz@kernel.org> <1ce05000-264e-1fda-d193-8b27c3c293d8@amperemail.onmicrosoft.com> <87msysq0qe.wl-maz@kernel.org> From: Shijie Huang In-Reply-To: <87msysq0qe.wl-maz@kernel.org> X-ClientProxiedBy: CH0PR03CA0263.namprd03.prod.outlook.com (2603:10b6:610:e5::28) To DM8PR01MB6824.prod.exchangelabs.com (2603:10b6:8:23::24) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DM8PR01MB6824:EE_|SJ0PR01MB6205:EE_ X-MS-Office365-Filtering-Correlation-Id: 22efbef6-9cef-4e4d-41b1-08db9d60a8d5 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 3zcfTvVy7VP0ly0s6ZwY2JBhzW/c8GO3wwtTmoLABGHw6BVWoMWpTOVEj5ZgzIHQjRAmQo9eK9UiQibOSAuYu1ksy8zFVlEdySUkWRF8isYenBY6PfhFD6oLXrxUD9MEaGjWnrK0HsK86espZjVMRssVnHdyUtjiTxeIM0ELf/B34PmI3H10ZzFXxAWuUu60GCj1sOensjrIg4Tmb18ixQj8tgVGd2uvoV6FIEG28R+oMq5nElrmE+csTE1xPsywwF6Mqc4B6DiGOMdkMHG9IXe/UlBKe7F+Jow+uOx8iqCeKlAaqjawZZhRzJksmxqkLkKVckDBHO7Cv6qyRQzATNlWGskOQ4wGRbL/y+k9yYz0frMFBWQPAmaHDKczUcG9nQqGaRi3MbfZ25t5D2X4bz8ANgA2uqAXQ/HhaGdoAtM6Aqxa3IrZ5t5MMZ+EqGn+VUgrosi+BMT4i4KrHJJJOyvqwWu3Ru8RwvHJL8Kl+H2yG/hinPBw17py3aWgsYkwUT7yX8m1WkqEB/ABWjJMk9tcAkLsfxZ6x9wU3i6Si39KguHe0Femrse7ojjTtb6oJrynqmhLpn3bzL55gmtwCM7/a0YsVQp07l5CoHKAOXXGb0DQicOUVTIQu0zAUkmPhlAeeRjdoIWxs9eHMpptqA== X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM8PR01MB6824.prod.exchangelabs.com;PTR:;CAT:NONE;SFS:(13230028)(136003)(39850400004)(366004)(346002)(396003)(376002)(451199021)(186006)(1800799006)(26005)(107886003)(42882007)(6512007)(52116002)(2616005)(83380400001)(6506007)(41300700001)(54906003)(66476007)(66556008)(66946007)(6916009)(2906002)(316002)(5660300002)(8936002)(8676002)(7416002)(4326008)(478600001)(6666004)(6486002)(966005)(83170400001)(31696002)(38100700002)(38350700002)(31686004)(43740500002);DIR:OUT;SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?NHlMWnRaa0cxWldtQkYzYUVkTEtEVlQyWlNiem5hc0VvMzZtRzRWaFY5WkJa?= =?utf-8?B?TzhtNmdnV1h5Mzh6RjBBcHJlNHFGSS9EMGtEajVuUXh0MUFEeHNldnRnYjRG?= =?utf-8?B?cTl1SGtmb0JKY3RHSG1PaEJ6MXQ1eVFYbnJmYUs0dmYwelJaa3MyZFJ3N3pB?= =?utf-8?B?S1hDalBtWVkwbUoxMDhBbFJ4b2Q3ZHRGbVdiNzFoV0lKQ0RFU2lvVFYzNmp5?= =?utf-8?B?VFloNTFaT3BSMUdsWnpncG83K3JwN3hWWFF4WmVaUjZKWDF6UzdKTC9UTVNU?= =?utf-8?B?dGwwbEd6bnFkTmRYa256UjRDK3g2ajRCcUlEVzhqRUhTdHE2ZUx3bDJ1QWhC?= =?utf-8?B?YXd0akRMV3h2ais0b1gyaG8xeGdOV0o4TVVQUm90S3M0ellZdTFicHFOLzY2?= =?utf-8?B?Ui9XaXQ0UzBNQnowRStSY0VCNFdmS3lSNDZWbGpCTWJsNS9RWlJzQUpDVWJG?= =?utf-8?B?TkFiUElDR1NIWFNMdnNkR09GelpudVBTenVuWXZjdzNEOWsrVVpBdUxXR3VT?= =?utf-8?B?L1ZQYkNQN3QvUG1jaEFkMm5lSlVJWW10RWwyL1U0OWhLZnVSd245ZmJycjA3?= =?utf-8?B?VnZNOGpNaG5tVTEwRzNDMkJteWpXbTl5QTY1WEVUZEdzN01zNkRIUFdxUitv?= =?utf-8?B?dWtEcHlIVE1wbHM4ZWRyU3J3WmdwNk0wcEZKS1MrSml3Q0N3Q3E1Y2NJSVhF?= =?utf-8?B?Y3dnQi8vREtKUFlZSU85T096MmpVRWs2S3dSR1M2VHdRS25TbWxHQmVQdGUv?= =?utf-8?B?WmN0em4xYXl2Z3AxRzA2WXhwNW90RFB4K2VXcTJ6MGZIS0owYUJZN0JKUklk?= =?utf-8?B?S1VqTFhhVG5CQkFTL2JLSkRFQzdOOWY0VDc5QUtaVmR6amhZU1VMVExqK3h6?= =?utf-8?B?MVlaT0kzd0tqVkJZTjAzN2JYek15WjI4VXZCK0NYU2hPenpOOSt0Rnh1Lyth?= =?utf-8?B?MzZYclZQRVQ1MkMrMTBjbHM5UmRCMGlEZll1QVZqZWszdzVNR1EzSmJ2UGRE?= =?utf-8?B?cjNCdGJJQWFhYTZpUzJSSDZxNlZFUENRMWt3TEtvRHdPZzFTSFo2RDduZjhC?= =?utf-8?B?aURyMDVZYmoyQ3EzUHArWVZxTTlaMnZhWTFvd3ZOVWhqb2lRTFFtOE5yTWxO?= =?utf-8?B?S1B1bEFiODZxKzBWY0tzNWh3VThMNFMrR0VGRlg3YTh4UVVFNEU5NWJiZ0ky?= =?utf-8?B?Q3c0dFhFUEFsdGYrZ1p0NUU1TUFIL09DbUR4bElSdkN6ZU83SUNJYVFyWW1K?= =?utf-8?B?Z3RHaU1MN2czZUgrV0c2dlJQa2NEUVpKaWcvMTF3a3ZPWXVyb0pMRy84eDlw?= =?utf-8?B?UEFXN2lpK2VGZm9HemxwR0tiQWU1VC81Sll0bjAvQlB4ZGlDNGx4blA5dXZs?= =?utf-8?B?OFhGTUtkL2JRdUQ0RFplZWdkNVRPcmxpNWpDMWhQb21PaGdkWFZIVzhvaWRZ?= =?utf-8?B?SndwL1dpUm9nUjY5bkpWblVZSHI3dmRHcTFKakxJd0FGZnZnd29FWExKK2o4?= =?utf-8?B?RTcvelpxbVhsK0d6aFZ6STJ4Q2JsSHdCRzJoYzhubVk5TXR4Y0VPQ3BPSHkv?= =?utf-8?B?ZVB0MzZTbTR4T0ZSbVVzRk1XQTR5cFc2bzRtdEFxU1NhM1c1NGdLdzB0ZTZH?= =?utf-8?B?OVZidG5PQ2RBMVJER0dMZm1CcGY4TjJNb1BkRU9KajE5RkptWUtxQ0ovRzQ1?= =?utf-8?B?djd2TXpZQ3p1anlwRWNzY09PNnIyc1UvNEs2V3VyQnpGa0U3NVNHR3FjdkJx?= =?utf-8?B?Uk5XRHFyM3BtVVhLU0doVVpQV0QzbmRzTlc2L3JDcGYyY0ZQWWc1eE1FWDJy?= =?utf-8?B?aVNNL3JZWnlldG5tWkhqZmQ2cTIrc0w5S2lzNHhkaHdORTl1ZFBCUWhqaGlL?= =?utf-8?B?Q20rdnZ2OGhVNGs0b2Z2VGhMRjNDNk1OTzJrWHo4NjkxVHFmcm5pOUNvVDV2?= =?utf-8?B?cUFUajkzTWlKNTI5eVhEYkZuTGhLazlka2xDeVJqS3dnM3crVXlKY1RMTitJ?= =?utf-8?B?OG0xWmtoT2RhVE9Mc1ZHNElCaFN2VldXQ1JSd3QzNWs1cTZmbDM2VHltQlov?= =?utf-8?B?WklucWVkWFAyNmIvbVBQV0hOMGpBVDdtWjI2UjVnY2V5ak5wb1NBaVlDeUNn?= =?utf-8?B?a1lTTjNvd0RkY2JWS2JPQXM2dWF5LzdXMjJQZklpY3JQUlhvQzJES2ZWT1hm?= =?utf-8?Q?9o7tzf70/biIiAPSKHt4z1Q=3D?= X-OriginatorOrg: amperemail.onmicrosoft.com X-MS-Exchange-CrossTenant-Network-Message-Id: 22efbef6-9cef-4e4d-41b1-08db9d60a8d5 X-MS-Exchange-CrossTenant-AuthSource: DM8PR01MB6824.prod.exchangelabs.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Aug 2023 07:24:27.9769 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 3bc2b170-fd94-476d-b0ce-4229bdc904a7 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: Y7u1/Tn6CQ4haJqeh/qr6UjuVNH/uvloiXVPf1oxAgTG4hDLUHzXqQ7fYuNcqWXJxYeQXW3vvSgO27k0ZXUthq+5bTp41SaTS6F2i8//BOCLyU/xq0z02mOdnOHT2WQZ X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR01MB6205 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20230815_004003_935576_27A79C76 X-CRM114-Status: GOOD ( 28.40 ) 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-Transfer-Encoding: base64 Content-Type: text/plain; charset="utf-8"; Format="flowed" Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org SGkgTWFyYywKCuWcqCAyMDIzLzgvMTUgMTQ6MjcsIE1hcmMgWnluZ2llciDlhpnpgZM6Cj4gT24g TW9uLCAxNCBBdWcgMjAyMyAwMzo1ODozMiArMDEwMCwKPiBTaGlqaWUgSHVhbmcgPHNoaWppZUBh bXBlcmVtYWlsLm9ubWljcm9zb2Z0LmNvbT4gd3JvdGU6Cj4+IEhpIE1hcmMsCj4+Cj4+IOWcqCAy MDIzLzgvMTIgMjowNSwgTWFyYyBaeW5naWVyIOWGmemBkzoKPj4+IEh1YW5nIFNoaWppZSByZXBv cnRzIHRoYXQsIHdoZW4gcHJvZmlsaW5nIGEgZ3Vlc3QgZnJvbSB0aGUgaG9zdAo+Pj4gd2l0aCBh IG51bWJlciBvZiBldmVudHMgdGhhdCBleGNlZWRzIHRoZSBudW1iZXIgb2YgYXZhaWxhYmxlCj4+ PiBjb3VudGVycywgdGhlIHJlcG9ydGVkIGNvdW50cyBhcmUgd2lsZGx5IGluYWNjdXJhdGUuIFdp dGhvdXQKPj4+IHRoZSBjb3VudGVyIG92ZXJzdWJzY3JpcHRpb24sIHRoZSByZXBvcnRlZCBjb3Vu dHMgYXJlIGNvcnJlY3QuCj4+Pgo+Pj4gVGhlaXIgaW52ZXN0aWdhdGlvbiBpbmRpY2F0ZXMgdGhh dCB1cG9uIGNvdW50ZXIgcm90YXRpb24gKHdoaWNoCj4+PiB0YWtlcyBwbGFjZSBvbiB0aGUgYmFj ayBvZiBhIHRpbWVyIGludGVycnVwdCksIHdlIGZhaWwgdG8KPj4+IHJlLWFwcGx5IHRoZSBndWVz dCBFTDAgZW5hYmxpbmcsIGxlYWRpbmcgdG8gdGhlIGNvdW50aW5nIG9mIGhvc3QKPj4+IGV2ZW50 cyBpbnN0ZWFkIG9mIGd1ZXN0IGV2ZW50cy4KPj4+Cj4+PiBJbiBvcmRlciB0byBzb2x2ZSB0aGlz LCBhZGQgeWV0IGFub3RoZXIgaG9vayBiZXR3ZWVuIHRoZSBob3N0IFBNVQo+Pj4gZHJpdmVyIGFu ZCBLVk0sIHJlLWFwcGx5aW5nIHRoZSBndWVzdCBFTDAgY29uZmlndXJhdGlvbiBpZiB0aGUKPj4+ IHJpZ2h0IGNvbmRpdGlvbnMgYXBwbHkgKHRoZSBob3N0IGlzIFZIRSwgd2UgYXJlIGluIGludGVy cnVwdAo+Pj4gY29udGV4dCwgYW5kIHdlIGludGVycnVwdGVkIGEgcnVubmluZyB2Y3B1KS4gVGhp cyB0cmlnZ2VycyBhIG5ldwo+Pj4gdmNwdSByZXF1ZXN0IHdoaWNoIHdpbGwgYXBwbHkgdGhlIGNv cnJlY3QgY29uZmlndXJhdGlvbiBvbiBndWVzdAo+Pj4gcmVlbnRyeS4KPj4+Cj4+PiBXaXRoIHRo aXMsIHdlIGhhdmUgdGhlIGNvcnJlY3QgY291bnRzLCBldmVuIHdoZW4gdGhlIGNvdW50ZXJzIGFy ZQo+Pj4gb3ZlcnN1YnNjcmliZWQuCj4+Pgo+Pj4gUmVwb3J0ZWQtYnk6IEh1YW5nIFNoaWppZSA8 c2hpamllQG9zLmFtcGVyZWNvbXB1dGluZy5jb20+Cj4+PiBTdWdnZXN0ZWQtYnk6IE9saXZlciBV cHRvbiA8b2xpdmVyLnVwdG9uQGxpbnV4LmRldj4KPj4+IFNpZ25lZC1vZmYtYnk6IE1hcmMgWnlu Z2llciA8bWF6QGtlcm5lbC5vcmc+Cj4+PiBDYzogTWFyayBSdXRsYW5kIDxtYXJrLnJ1dGxhbmRA YXJtLmNvbT4KPj4+IENjOiBXaWxsIERlYWNvbiA8d2lsbEBrZXJuZWwub3JnPgo+Pj4gTGluazog aHR0cHM6Ly9sb3JlLmtlcm5lbC5vcmcvci8yMDIzMDgwOTAxMzk1My43NjkyLTEtc2hpamllQG9z LmFtcGVyZWNvbXB1dGluZy5jb20KPj4+IC0tLQo+Pj4gICAgYXJjaC9hcm02NC9pbmNsdWRlL2Fz bS9rdm1faG9zdC5oIHwgIDEgKwo+Pj4gICAgYXJjaC9hcm02NC9rdm0vYXJtLmMgICAgICAgICAg ICAgIHwgIDMgKysrCj4+PiAgICBhcmNoL2FybTY0L2t2bS9wbXUuYyAgICAgICAgICAgICAgfCAx OCArKysrKysrKysrKysrKysrKysKPj4+ICAgIGRyaXZlcnMvcGVyZi9hcm1fcG11djMuYyAgICAg ICAgICB8ICAyICsrCj4+PiAgICBpbmNsdWRlL2t2bS9hcm1fcG11LmggICAgICAgICAgICAgfCAg MiArKwo+Pj4gICAgNSBmaWxlcyBjaGFuZ2VkLCAyNiBpbnNlcnRpb25zKCspCj4+Pgo+Pj4gZGlm ZiAtLWdpdCBhL2FyY2gvYXJtNjQvaW5jbHVkZS9hc20va3ZtX2hvc3QuaCBiL2FyY2gvYXJtNjQv aW5jbHVkZS9hc20va3ZtX2hvc3QuaAo+Pj4gaW5kZXggZDNkZDA1YmJmZTIzLi41NTMwNDBlMGUz NzUgMTAwNjQ0Cj4+PiAtLS0gYS9hcmNoL2FybTY0L2luY2x1ZGUvYXNtL2t2bV9ob3N0LmgKPj4+ ICsrKyBiL2FyY2gvYXJtNjQvaW5jbHVkZS9hc20va3ZtX2hvc3QuaAo+Pj4gQEAgLTQ5LDYgKzQ5 LDcgQEAKPj4+ICAgICNkZWZpbmUgS1ZNX1JFUV9SRUxPQURfR0lDdjQJS1ZNX0FSQ0hfUkVRKDQp Cj4+PiAgICAjZGVmaW5lIEtWTV9SRVFfUkVMT0FEX1BNVQlLVk1fQVJDSF9SRVEoNSkKPj4+ICAg ICNkZWZpbmUgS1ZNX1JFUV9TVVNQRU5ECQlLVk1fQVJDSF9SRVEoNikKPj4+ICsjZGVmaW5lIEtW TV9SRVFfUkVTWU5DX1BNVV9FTDAJS1ZNX0FSQ0hfUkVRKDcpCj4+PiAgICAgICNkZWZpbmUgS1ZN X0RJUlRZX0xPR19NQU5VQUxfQ0FQUwo+Pj4gKEtWTV9ESVJUWV9MT0dfTUFOVUFMX1BST1RFQ1Rf RU5BQkxFIHwgXAo+Pj4gICAgCQkJCSAgICAgS1ZNX0RJUlRZX0xPR19JTklUSUFMTFlfU0VUKQo+ Pj4gZGlmZiAtLWdpdCBhL2FyY2gvYXJtNjQva3ZtL2FybS5jIGIvYXJjaC9hcm02NC9rdm0vYXJt LmMKPj4+IGluZGV4IDcyZGM1M2E3NWQxYy4uOTc4YjA0MTEwODJmIDEwMDY0NAo+Pj4gLS0tIGEv YXJjaC9hcm02NC9rdm0vYXJtLmMKPj4+ICsrKyBiL2FyY2gvYXJtNjQva3ZtL2FybS5jCj4+PiBA QCAtODAzLDYgKzgwMyw5IEBAIHN0YXRpYyBpbnQgY2hlY2tfdmNwdV9yZXF1ZXN0cyhzdHJ1Y3Qg a3ZtX3ZjcHUgKnZjcHUpCj4+PiAgICAJCQlrdm1fcG11X2hhbmRsZV9wbWNyKHZjcHUsCj4+PiAg ICAJCQkJCSAgICBfX3ZjcHVfc3lzX3JlZyh2Y3B1LCBQTUNSX0VMMCkpOwo+Pj4gICAgKwkJaWYg KGt2bV9jaGVja19yZXF1ZXN0KEtWTV9SRVFfUkVTWU5DX1BNVV9FTDAsIHZjcHUpKQo+Pj4gKwkJ CWt2bV92Y3B1X3BtdV9yZXN0b3JlX2d1ZXN0KHZjcHUpOwo+Pj4gKwo+Pj4gICAgCQlpZiAoa3Zt X2NoZWNrX3JlcXVlc3QoS1ZNX1JFUV9TVVNQRU5ELCB2Y3B1KSkKPj4+ICAgIAkJCXJldHVybiBr dm1fdmNwdV9zdXNwZW5kKHZjcHUpOwo+Pj4gICAgZGlmZiAtLWdpdCBhL2FyY2gvYXJtNjQva3Zt L3BtdS5jIGIvYXJjaC9hcm02NC9rdm0vcG11LmMKPj4+IGluZGV4IDEyMWYxYTE0YzgyOS4uMGVl YTIyNWZkMDlhIDEwMDY0NAo+Pj4gLS0tIGEvYXJjaC9hcm02NC9rdm0vcG11LmMKPj4+ICsrKyBi L2FyY2gvYXJtNjQva3ZtL3BtdS5jCj4+PiBAQCAtMjM2LDMgKzIzNiwyMSBAQCBib29sIGt2bV9z ZXRfcG11c2VyZW5yKHU2NCB2YWwpCj4+PiAgICAJY3R4dF9zeXNfcmVnKGhjdHh0LCBQTVVTRVJF TlJfRUwwKSA9IHZhbDsKPj4+ICAgIAlyZXR1cm4gdHJ1ZTsKPj4+ICAgIH0KPj4+ICsKPj4+ICsv Kgo+Pj4gKyAqIElmIHdlIGludGVycnVwdGVkIHRoZSBndWVzdCB0byB1cGRhdGUgdGhlIGhvc3Qg UE1VIGNvbnRleHQsIG1ha2UKPj4+ICsgKiBzdXJlIHdlIHJlLWFwcGx5IHRoZSBndWVzdCBFTDAg c3RhdGUuCj4+PiArICovCj4+PiArdm9pZCBrdm1fdmNwdV9wbXVfcmVzeW5jX2VsMCh2b2lkKQo+ Pj4gK3sKPj4+ICsJc3RydWN0IGt2bV92Y3B1ICp2Y3B1Owo+Pj4gKwo+Pj4gKwlpZiAoIWhhc192 aGUoKSB8fCAhaW5faW50ZXJydXB0KCkpCj4+PiArCQlyZXR1cm47Cj4+PiArCj4+PiArCXZjcHUg PSBrdm1fZ2V0X3J1bm5pbmdfdmNwdSgpOwo+Pj4gKwlpZiAoIXZjcHUpCj4+PiArCQlyZXR1cm47 Cj4+PiArCj4+PiArCWt2bV9tYWtlX3JlcXVlc3QoS1ZNX1JFUV9SRVNZTkNfUE1VX0VMMCwgdmNw dSk7Cj4+PiArfQo+Pj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvcGVyZi9hcm1fcG11djMuYyBiL2Ry aXZlcnMvcGVyZi9hcm1fcG11djMuYwo+Pj4gaW5kZXggMDhiM2ExYmYwZWY2Li42YTNkODE3NmY1 NGEgMTAwNjQ0Cj4+PiAtLS0gYS9kcml2ZXJzL3BlcmYvYXJtX3BtdXYzLmMKPj4+ICsrKyBiL2Ry aXZlcnMvcGVyZi9hcm1fcG11djMuYwo+Pj4gQEAgLTc3Miw2ICs3NzIsOCBAQCBzdGF0aWMgdm9p ZCBhcm12OHBtdV9zdGFydChzdHJ1Y3QgYXJtX3BtdSAqY3B1X3BtdSkKPj4+ICAgICAgCS8qIEVu YWJsZSBhbGwgY291bnRlcnMgKi8KPj4+ICAgIAlhcm12OHBtdV9wbWNyX3dyaXRlKGFybXY4cG11 X3BtY3JfcmVhZCgpIHwgQVJNVjhfUE1VX1BNQ1JfRSk7Cj4+PiArCj4+PiArCWt2bV92Y3B1X3Bt dV9yZXN5bmNfZWwwKCk7Cj4+PiAgICB9Cj4+IEkgcmVhZCB0aGUgcGVyZiBjb2RlIGFnYWluLCBh bmQgZmluZCBpdCBtYXliZSBub3QgZ29vZCB0byBkbyBpdCBpbgo+PiBhcm12OHBtdV9zdGFydC4K Pj4KPj4gIMKgwqAgQXNzdW1lIHdlIGluc3RhbGwgYSBuZXcgcGVyZiBldmVudCB0byBhIENQVSAi eCIgZnJvbSBDUFUgMCzCoCBhIFZNCj4+IGd1ZXN0IGlzIHJ1bm5pbmcgb24gQ1BVICJ4IjoKPj4K Pj4gIMKgwqDCoCBwZXJmX2V2ZW50X29wZW4oKSAtLT4gcGVyZl9pbnN0YWxsX2luX2NvbnRleHQo KSAtLT4KPj4KPj4gIMKgwqDCoCBjYWxsIHRoaXMgZnVuY3Rpb24gaW7CoCBJUEkgaW50ZXJydXB0 OiBfX19wZXJmX2luc3RhbGxfaW5fY29udGV4dCgpLgo+Pgo+PiAgwqDCoCBhcm12OHBtdV9zdGFy dCgpIHdpbGwgYmUgY2FsbGVkIGluIF9fX3BlcmZfaW5zdGFsbF9pbl9jb250ZXh0KCkgaW4gSVBJ Lgo+Pgo+PiAgwqDCoCBzbyBrdm1fdmNwdV9wbXVfcmVzeW5jX2VsMCgpIHdpbGwgX21ha2VfIGEg cmVxdWVzdCBieSBtZWV0aW5nIHRoZQo+PiBjb25kaXRpb25zOgo+Pgo+PiAgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgIDEuKSBpbiBpbnRlcnJ1cHQgY29udGV4dC4KPj4KPj4gIMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoCAyLikgYSBndWVzdCBpcyBydW5uaW5nIG9uIHRoaXMgQ1BVLgo+Pgo+Pgo+ PiBCdXQgaW4gYWN0dWFsbHksIHRoZSByZXF1ZXN0IHNob3VsZCBub3Qgc2VuZCBvdXQuCj4gV2h5 IHNob3VsZG4ndCBpdCBiZSBhcHBsaWVkPyBUaGlzIGlzbid0IHN1cHBvc2VkIHRvIGJlIGFsd2F5 cwo+IG5lY2Vzc2FyeSwgYnV0IGl0IG5lZWRzIHRvIGJlIGFwcGxpZWQgd2hlbmV2ZXIgdGhlcmUg aXMgYSBwb3NzaWJpbGl0eQo+IGZvciBjb3VudGVycyB0byBiZSB1cGRhdGVkIGJlaGluZCBvdXIg YmFjaywgc29tZXRoaW5nIHRoYXQgaXMgYSBwcmV0dHkKPiBldmVudCBhbnl3YXkuCgpva2F5LgoK Cj4+IFBsZWFzZSBjb3JyZWN0IG1lIGlmIEkgYW0gd3JvbmcuCj4+Cj4+IElNSE8sIHRoZSBiZXN0 IHNvbHV0aW9uIGlzIGFkZMKgIGEgaG9vayBpbiB0aGUgcGVyZi9jb3JlIGNvZGUsIGFuZCBtYWtl Cj4+IHRoZSByZXF1ZXN0IHRoZXJlLgo+IEkgZGlzYWdyZWUuIEknbSBzdGlsbCBjb21wbGV0ZWx5 IG9wcG9zZWQgdG8gYW55dGhpbmcgdGhhdCB3aWxsIGFkZAo+IHN1Y2ggYSBob29rIGluIHRoZSBj b3JlIHBlcmYgY29kZSwgc3BlY2lhbGx5IGFzIGEgd2VhayBzeW1ib2wuIFRoZQo+IGludGVyYWN0 aW9ucyBtdXN0IGJlIHN0cmljdGx5IGJldHdlZW4gdGhlIFBNVXYzIGRyaXZlciBhbmQgS1ZNLAo+ IGJlY2F1c2UgdGhleSBhcmUgdGhlIG9ubHkgcGFydGllcyBpbnZvbHZlZCBoZXJlLgo+Cj4gSSB3 aWxsICpub3QqIHRha2Ugc3VjaCBhIHBhdGNoLgoKb2theSwgcGxlYXNlIGlnbm9yZSBteSB2MyBw YXRjaC4KClRlc3RlZF9ieTogSHVhbmcgU2hpamllIDxzaGlqaWVAb3MuYW1wZXJlY29tcHV0aW5n LmNvbT4KCgpUaGFua3MKCkh1YW5nIFNoaWppZQoKPgo+IAlNLgo+CgpfX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpsaW51eC1hcm0ta2VybmVsIG1haWxpbmcg bGlzdApsaW51eC1hcm0ta2VybmVsQGxpc3RzLmluZnJhZGVhZC5vcmcKaHR0cDovL2xpc3RzLmlu ZnJhZGVhZC5vcmcvbWFpbG1hbi9saXN0aW5mby9saW51eC1hcm0ta2VybmVsCg==