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 78241C001DB for ; Mon, 14 Aug 2023 02:59:26 +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=BRTNDSnYYiz7KL/3XEcIbQbbsCLsng6XSGKXCv7ttuQ=; b=AkjH/YeAUZNmgrtMYmwjYQwEgE 4lUlWn0iQCQGC9D4wqt+3wO6vYnJf5tp/16xvDdhqXwTAHbMJRtJNDWk5CgppsZCbkJpLS0yEs71c bn3vUUSBbyst7vA8rwe2ATdPhB7eot+iMGCFAKNqNDU99iKviFwYo5+7/KPh0on9eM2HGIeChky7w UkaiOFxOxNb/2J5fombjhwIDEwOwsYzVVuB+VtmND8zNnFd/lFq/HUnEhN9RK2dJ6OQ34qdqlNnYf KVrpBD3EaSv3TC0xpBmmnXZhnY4OmgFYNqzzYy23nrHCVlO3AAZ0JneJ5Lsi+C+kIkxK2BFrYrR30 ccufOqBg==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.96 #2 (Red Hat Linux)) id 1qVNnF-00G2k2-0h; Mon, 14 Aug 2023 02:58:57 +0000 Received: from mail-bn8nam04on2071d.outbound.protection.outlook.com ([2a01:111:f400:7e8d::71d] helo=NAM04-BN8-obe.outbound.protection.outlook.com) by bombadil.infradead.org with esmtps (Exim 4.96 #2 (Red Hat Linux)) id 1qVNnB-00G2jP-2h for linux-arm-kernel@lists.infradead.org; Mon, 14 Aug 2023 02:58:55 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=SunaOrdSI3DbJPUEl9+gMzmK65n7WxoKoGXdsejEiuwcDPAu8qYMWgnfCMUk9Pav7Rq8m89QLzo2cjc4/QZQVs0EkmpI3B0VCvBRi9HJd/HnTfSoxz3/ivkJqEzc/s5a1nAPrDlpUW7GK5CHBfWd9ja/6y1YHRHq3xyF37H3cJhJADwU3kJzL3xhTA5qr8vVHYeaV1SpqpIf+ESRJS/8JM0vuuEClpnqJsynXD/yONvEiFRG9cv3rb9fIU4wtzliHQDdavDc+CPQJ8efAtLYXfZYcKLcunvfuYQwS5ot/h/R3nTyQ+KB0SK9W2VB9y53Rl6u1fZHP45LZx2l/kxbKA== 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=XntEMejKOI7oM06vsNefA2LRa8+eokZEMy9le+Abwzw=; b=aR9RqndqcwW1nVqJHQN0r0qLJ2/jP6020yLQMF7ij8p25SeKXHuy0+5i1H93Giu0G5qYBqZrgmvEZKCC1mWEgm7Ozzb+l50SV0hf3qOx8yOgI1IXh9nZ4CX6PxB+JVdX8tzbxInZJzmQS7bv5vWOQx5iTGIqFRdimPhTp6b8BpL6kbkW1VBseMcJbvuDqL6aflxtg6F6ILR9zF5LqysY2FSxBCarJ57DE4l27bVRKVveoCgFDSAWseqY2Afl6rx9lZPfdYqJn8TghTL9RNjpoj3kM5cnRmNNSm4TIGvhvQpGwelkslIxSecVILvVzMwhjnw0jp8aFz4kFYYmVDTIqg== 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=XntEMejKOI7oM06vsNefA2LRa8+eokZEMy9le+Abwzw=; b=mdNUCn5m3u8DyTMJ72OD02905uY4KAyrjplkhcPaB3npvtTonHxXFy6VxsFzS+rfctFI1n58gMh7obUSe9Z4zakTfo8RtRBkA9cF5BQ8hsr76x4e8mMUGBzSG1s+H4aPpwt+BNEdhVNPNksllMPDAmjPxSNxCUlbrQqq2MEB/wE= 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 SA1PR01MB7280.prod.exchangelabs.com (2603:10b6:806:1f3::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6678.24; Mon, 14 Aug 2023 02:58:43 +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.022; Mon, 14 Aug 2023 02:58:43 +0000 Message-ID: <1ce05000-264e-1fda-d193-8b27c3c293d8@amperemail.onmicrosoft.com> Date: Mon, 14 Aug 2023 10:58:32 +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 , kvmarm@lists.linux.dev, linux-arm-kernel@lists.infradead.org, kvm@vger.kernel.org Cc: James Morse , Suzuki K Poulose , Oliver Upton , Zenghui Yu , Huang Shijie , Mark Rutland , Will Deacon , Frank Wang References: <20230811180520.131727-1-maz@kernel.org> From: Shijie Huang In-Reply-To: <20230811180520.131727-1-maz@kernel.org> X-ClientProxiedBy: CH2PR18CA0028.namprd18.prod.outlook.com (2603:10b6:610:4f::38) To DM8PR01MB6824.prod.exchangelabs.com (2603:10b6:8:23::24) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DM8PR01MB6824:EE_|SA1PR01MB7280:EE_ X-MS-Office365-Filtering-Correlation-Id: 1a65d94b-a52d-4b13-7eee-08db9c725e7c X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 4Mwhcu+B87Bo3fSm8cCuKdQmqAUhJnpmG2pfs5NZ0idUjhSh11CU2Zfa4Eq21ZiP5tC0eSx6v7fJTvY1u79CsCwedBPcWj8HT3oBvqa09ECn8ev585LZgtMhjr31quUcff/wHgs+RHQLBEPmemLzH+pYpdrFuAYYaLKIP1CvY6GYpEFtTKPgmLEJrMKSpV6m4jak8hhBIcQdEh9bfFEd2FjPLIv5pwdH1/YnLnWj0dF0J4mwtgZt67jZ6M3/AI6eggNmOF9HxHsOKnb1HCewAalC0Orzy1esZC0Ju9U1fm2l0LycpbBGIRKMMc23p2N+ZL4QKdms3exm+WY0YB/sKsZVnP+qIscyH4KQMz+bDZd+XV5qTaPe85UTNe+ijItLPmUjzIJlks9IzGoAH9qyb1b6ZjbBpDL3AE63IySqUsINDZIJp7KARrtbaCY41NW6Gl3F47cIUkhfn4uM7L70h90oCzZUpnhYA5FQJvz2rbiwI3S+9r/QRgGdDS5oyuqMYF3AVD+hpr+bBHgArI9gDskR7iK00TMVDZ6r2vwDNvT6i1gHXlJWbFwie/htZuFso+sobawP9uY5ELghfP2Lnx9pK6xU+9SoK0GKeoaLYtpLZdk+OfeQSgh1yN4Xbj2i 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)(396003)(376002)(366004)(39840400004)(346002)(186006)(1800799006)(451199021)(31686004)(6486002)(52116002)(966005)(6512007)(54906003)(6666004)(31696002)(38350700002)(38100700002)(83380400001)(83170400001)(6506007)(107886003)(2906002)(478600001)(42882007)(2616005)(41300700001)(8936002)(8676002)(26005)(7416002)(5660300002)(316002)(66476007)(66556008)(66946007)(4326008)(43740500002);DIR:OUT;SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?b3Y5c0F0Z2FudUFjYVVSRjRQbTZZamZzY3lPRFhOSE9DenU0OVJwVVFXQXlB?= =?utf-8?B?S2tUdlBKTEh0RVB5dnp5RUwrNlQxM2RwTGZ0eWRYSFI5RFhSb2Vkc29uYWRm?= =?utf-8?B?N3k1RkUxQU9CVTZuYU9HcWNXMjFNVHlzOUdjZWxidE1XNXpFT0YrdzBPZVF5?= =?utf-8?B?UzlKNWd5U3RFZm1INzNpUmIxMWNnTVpsaWwzVDVuVnd4LzdWN01CWjJVd1J1?= =?utf-8?B?RXltMUFheDd5dDBGKzZ6VmtSd0ZBalg1S3ZUeE5uQWN2UkNrYjh3L1VMT01B?= =?utf-8?B?Vkd6akwrak95YUpiaW0vclYxREJPOG5ENGJyWTJ5SGZsaDZrS2FweVhhQ0RU?= =?utf-8?B?aUw2Z1BnUmZacndMTlFMTVhTbW5jNktIdERiVkdMb3QzOEpRbEZZc01GdVNn?= =?utf-8?B?aWN5dmtuVjBrUEgzMk1td3Z3YXhTUklXM1pCZW9xM29hd1JsdGo1RlNLY3RG?= =?utf-8?B?MWJkalEzdGhnZ212SlBrdy82eGx6dnZEVmtwK2VpUk1tY3ZBd1BQak5XUlUx?= =?utf-8?B?UUcyK3prR3g2aitFTkNBUHJKUlhlTDZGbFZHZXVIb1JvLzFtcUgyZ3I1eWVq?= =?utf-8?B?ZjcwdlNzUTQ0VHpVNDdPbnZEbElVWnJDR3BpckkxUVVPL2F1eW9zZTVSeFBq?= =?utf-8?B?TUgrM05aazU4cER2UnRxcGppaHhRbm4zdXQxSk5RemxrbnNYcXc3V1NDa1hO?= =?utf-8?B?MSs4WnlHOWFzRDdPdmVLQXc1MVFsQmVvaHlSNkdvRWRWckZycmhWUlpWVUJt?= =?utf-8?B?KzUyTldUTlZxR3FDbGV4ZUV6NFVXYWhick9qYmNsbTVkeGNuYjVkTzRoYU13?= =?utf-8?B?SzNuenRjWXptelRDOG5oREpOeU9GMy9zSjU1ZVlFQ2VVNnUvbmlxMHp0V05I?= =?utf-8?B?WnE0bGp6UlFiRmh5UDN3UjRwazhaSGlhZG1yeE9VVERRckdwdGJPQndxSVZ6?= =?utf-8?B?bTF6cFh4c0ZtQytUbVRYUEVJU0xJamlYZFk4cUxKSkxZQk9EM3ZzR3NYcW9y?= =?utf-8?B?dUtwMGQweVU3VXQ0SVc3WTlzZlhIRDIyVlowdTVGYjlyeWRZN2F6UG0yZXZl?= =?utf-8?B?Ull2UmZacjZER0tIYkF4Q2ZWYldWOFhHZWRsN3F1WXpqSE5ENW41TTVvRzdC?= =?utf-8?B?UkdyOGJlMnRubHNzRXZUN1krRVdlcUo0OW5KRERNN3hDTTZPQnhsTDNqVDZq?= =?utf-8?B?T3J1cnRxR2V0dFlSWnJQL3JRVkI5QTd0Kzd5b2FaM0E2eTlCbEo2Q0s5Tzda?= =?utf-8?B?QjBQV0VoSjAvZW1FMjJySlpJSmlVRzRtOGxocnV2eGdXRGZPZ2tnSlN2cHIw?= =?utf-8?B?WHBXWTdpVW4vS1lXMURQR3VGa0tPV05sSGJpUGl3dFBmZXJmc2k3czlvT05t?= =?utf-8?B?bDY0WkRCamxNODlXOXhLcjlyalBtdnhFNGhoNmYvMmo5RlhEMXBkdys3eVFx?= =?utf-8?B?QWh4dFlNMk1GSzlkWWx6MFREbXF0dnRJN0NXN05Rd04rU2xsZVVCcTRra1VX?= =?utf-8?B?SzFWVEsrbXdVaDFZc3p0TVNCcTFXQ0g5RnZodGhEVnBkaEIyZkZXRkM1MkhG?= =?utf-8?B?cU5UOVFjMG9JZk9Lb1V5a000SjBGQ0dsS0kvWm9Gc2tFRElEWGpEQXFzTjhs?= =?utf-8?B?RW5UZlBVZm9Nc1E5dkxwWHU1a1pPbFFLZzlHODd3MjVaSVM0aXowKy9uaWlV?= =?utf-8?B?UVdQNWxVQ05FSDJCcUVqQWg5OXpvMVNLditmMUNpSG56YmhINDFOZ0lOWmNI?= =?utf-8?B?WWYxaTdTdm95NmlOcVZ4RStLSWlJVTk1UFd2cDNmVUxEd0JnMlB6aGs4TFJ4?= =?utf-8?B?SVRBMG9hNDRNRXNGTWJRRk14RHFnYnJLeERBK2RMUkxsVWI0aFlEeThjQWcv?= =?utf-8?B?azhGbzhKYityUHRNd01YRFREcWlZbEExTUF0QWZ3T2YxRzZQTGFEZGJnQWpK?= =?utf-8?B?TlNFNmljZmdmRFk1dklKWFE0cGdNY2FDOXdaQ1ArUXpUcXR6NzgvNUFUVUJo?= =?utf-8?B?T24xWklhd1FtNlVtUkpuWkx3VVNDcWNiaVZuWTU2R0hSY1NzMHdqL2UveXJ0?= =?utf-8?B?MkdoSUdUb0VHUUF4QnpyWEZKejduZzBHSEJiL0ZEYTlDNURZd2dXK3oxR01n?= =?utf-8?B?S0d2bXJBdDlqTysveEZ5NmFzWWN5S2dUNTJBb1I5U1gyM0ZUbDZTQkhVQjZs?= =?utf-8?Q?CxWP+vp5Xwi/mJYAiQwx9Uk=3D?= X-OriginatorOrg: amperemail.onmicrosoft.com X-MS-Exchange-CrossTenant-Network-Message-Id: 1a65d94b-a52d-4b13-7eee-08db9c725e7c X-MS-Exchange-CrossTenant-AuthSource: DM8PR01MB6824.prod.exchangelabs.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Aug 2023 02:58:43.0103 (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: cCqBbYGuXNXpYxKtC6ks/v4pNg5RGtXLT3cXT/RGMGjbiwnCw3c5+w0ukX2Oz1AS8yhe+h62vRmJT+9nglvhgvnpJeZ44PiGd6EIx4EJG7JTB6bSVXuz2ZcdzYmFTszN X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA1PR01MB7280 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20230813_195853_946997_5618EE2D X-CRM114-Status: GOOD ( 30.50 ) 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 SGkgTWFyYywKCuWcqCAyMDIzLzgvMTIgMjowNSwgTWFyYyBaeW5naWVyIOWGmemBkzoKPiBIdWFu ZyBTaGlqaWUgcmVwb3J0cyB0aGF0LCB3aGVuIHByb2ZpbGluZyBhIGd1ZXN0IGZyb20gdGhlIGhv c3QKPiB3aXRoIGEgbnVtYmVyIG9mIGV2ZW50cyB0aGF0IGV4Y2VlZHMgdGhlIG51bWJlciBvZiBh dmFpbGFibGUKPiBjb3VudGVycywgdGhlIHJlcG9ydGVkIGNvdW50cyBhcmUgd2lsZGx5IGluYWNj dXJhdGUuIFdpdGhvdXQKPiB0aGUgY291bnRlciBvdmVyc3Vic2NyaXB0aW9uLCB0aGUgcmVwb3J0 ZWQgY291bnRzIGFyZSBjb3JyZWN0Lgo+Cj4gVGhlaXIgaW52ZXN0aWdhdGlvbiBpbmRpY2F0ZXMg dGhhdCB1cG9uIGNvdW50ZXIgcm90YXRpb24gKHdoaWNoCj4gdGFrZXMgcGxhY2Ugb24gdGhlIGJh Y2sgb2YgYSB0aW1lciBpbnRlcnJ1cHQpLCB3ZSBmYWlsIHRvCj4gcmUtYXBwbHkgdGhlIGd1ZXN0 IEVMMCBlbmFibGluZywgbGVhZGluZyB0byB0aGUgY291bnRpbmcgb2YgaG9zdAo+IGV2ZW50cyBp bnN0ZWFkIG9mIGd1ZXN0IGV2ZW50cy4KPgo+IEluIG9yZGVyIHRvIHNvbHZlIHRoaXMsIGFkZCB5 ZXQgYW5vdGhlciBob29rIGJldHdlZW4gdGhlIGhvc3QgUE1VCj4gZHJpdmVyIGFuZCBLVk0sIHJl LWFwcGx5aW5nIHRoZSBndWVzdCBFTDAgY29uZmlndXJhdGlvbiBpZiB0aGUKPiByaWdodCBjb25k aXRpb25zIGFwcGx5ICh0aGUgaG9zdCBpcyBWSEUsIHdlIGFyZSBpbiBpbnRlcnJ1cHQKPiBjb250 ZXh0LCBhbmQgd2UgaW50ZXJydXB0ZWQgYSBydW5uaW5nIHZjcHUpLiBUaGlzIHRyaWdnZXJzIGEg bmV3Cj4gdmNwdSByZXF1ZXN0IHdoaWNoIHdpbGwgYXBwbHkgdGhlIGNvcnJlY3QgY29uZmlndXJh dGlvbiBvbiBndWVzdAo+IHJlZW50cnkuCj4KPiBXaXRoIHRoaXMsIHdlIGhhdmUgdGhlIGNvcnJl Y3QgY291bnRzLCBldmVuIHdoZW4gdGhlIGNvdW50ZXJzIGFyZQo+IG92ZXJzdWJzY3JpYmVkLgo+ Cj4gUmVwb3J0ZWQtYnk6IEh1YW5nIFNoaWppZSA8c2hpamllQG9zLmFtcGVyZWNvbXB1dGluZy5j b20+Cj4gU3VnZ2VzdGVkLWJ5OiBPbGl2ZXIgVXB0b24gPG9saXZlci51cHRvbkBsaW51eC5kZXY+ Cj4gU2lnbmVkLW9mZi1ieTogTWFyYyBaeW5naWVyIDxtYXpAa2VybmVsLm9yZz4KPiBDYzogTWFy ayBSdXRsYW5kIDxtYXJrLnJ1dGxhbmRAYXJtLmNvbT4KPiBDYzogV2lsbCBEZWFjb24gPHdpbGxA a2VybmVsLm9yZz4KPiBMaW5rOiBodHRwczovL2xvcmUua2VybmVsLm9yZy9yLzIwMjMwODA5MDEz OTUzLjc2OTItMS1zaGlqaWVAb3MuYW1wZXJlY29tcHV0aW5nLmNvbQo+IC0tLQo+ICAgYXJjaC9h cm02NC9pbmNsdWRlL2FzbS9rdm1faG9zdC5oIHwgIDEgKwo+ICAgYXJjaC9hcm02NC9rdm0vYXJt LmMgICAgICAgICAgICAgIHwgIDMgKysrCj4gICBhcmNoL2FybTY0L2t2bS9wbXUuYyAgICAgICAg ICAgICAgfCAxOCArKysrKysrKysrKysrKysrKysKPiAgIGRyaXZlcnMvcGVyZi9hcm1fcG11djMu YyAgICAgICAgICB8ICAyICsrCj4gICBpbmNsdWRlL2t2bS9hcm1fcG11LmggICAgICAgICAgICAg fCAgMiArKwo+ICAgNSBmaWxlcyBjaGFuZ2VkLCAyNiBpbnNlcnRpb25zKCspCj4KPiBkaWZmIC0t Z2l0IGEvYXJjaC9hcm02NC9pbmNsdWRlL2FzbS9rdm1faG9zdC5oIGIvYXJjaC9hcm02NC9pbmNs dWRlL2FzbS9rdm1faG9zdC5oCj4gaW5kZXggZDNkZDA1YmJmZTIzLi41NTMwNDBlMGUzNzUgMTAw NjQ0Cj4gLS0tIGEvYXJjaC9hcm02NC9pbmNsdWRlL2FzbS9rdm1faG9zdC5oCj4gKysrIGIvYXJj aC9hcm02NC9pbmNsdWRlL2FzbS9rdm1faG9zdC5oCj4gQEAgLTQ5LDYgKzQ5LDcgQEAKPiAgICNk ZWZpbmUgS1ZNX1JFUV9SRUxPQURfR0lDdjQJS1ZNX0FSQ0hfUkVRKDQpCj4gICAjZGVmaW5lIEtW TV9SRVFfUkVMT0FEX1BNVQlLVk1fQVJDSF9SRVEoNSkKPiAgICNkZWZpbmUgS1ZNX1JFUV9TVVNQ RU5ECQlLVk1fQVJDSF9SRVEoNikKPiArI2RlZmluZSBLVk1fUkVRX1JFU1lOQ19QTVVfRUwwCUtW TV9BUkNIX1JFUSg3KQo+ICAgCj4gICAjZGVmaW5lIEtWTV9ESVJUWV9MT0dfTUFOVUFMX0NBUFMg ICAoS1ZNX0RJUlRZX0xPR19NQU5VQUxfUFJPVEVDVF9FTkFCTEUgfCBcCj4gICAJCQkJICAgICBL Vk1fRElSVFlfTE9HX0lOSVRJQUxMWV9TRVQpCj4gZGlmZiAtLWdpdCBhL2FyY2gvYXJtNjQva3Zt L2FybS5jIGIvYXJjaC9hcm02NC9rdm0vYXJtLmMKPiBpbmRleCA3MmRjNTNhNzVkMWMuLjk3OGIw NDExMDgyZiAxMDA2NDQKPiAtLS0gYS9hcmNoL2FybTY0L2t2bS9hcm0uYwo+ICsrKyBiL2FyY2gv YXJtNjQva3ZtL2FybS5jCj4gQEAgLTgwMyw2ICs4MDMsOSBAQCBzdGF0aWMgaW50IGNoZWNrX3Zj cHVfcmVxdWVzdHMoc3RydWN0IGt2bV92Y3B1ICp2Y3B1KQo+ICAgCQkJa3ZtX3BtdV9oYW5kbGVf cG1jcih2Y3B1LAo+ICAgCQkJCQkgICAgX192Y3B1X3N5c19yZWcodmNwdSwgUE1DUl9FTDApKTsK PiAgIAo+ICsJCWlmIChrdm1fY2hlY2tfcmVxdWVzdChLVk1fUkVRX1JFU1lOQ19QTVVfRUwwLCB2 Y3B1KSkKPiArCQkJa3ZtX3ZjcHVfcG11X3Jlc3RvcmVfZ3Vlc3QodmNwdSk7Cj4gKwo+ICAgCQlp ZiAoa3ZtX2NoZWNrX3JlcXVlc3QoS1ZNX1JFUV9TVVNQRU5ELCB2Y3B1KSkKPiAgIAkJCXJldHVy biBrdm1fdmNwdV9zdXNwZW5kKHZjcHUpOwo+ICAgCj4gZGlmZiAtLWdpdCBhL2FyY2gvYXJtNjQv a3ZtL3BtdS5jIGIvYXJjaC9hcm02NC9rdm0vcG11LmMKPiBpbmRleCAxMjFmMWExNGM4MjkuLjBl ZWEyMjVmZDA5YSAxMDA2NDQKPiAtLS0gYS9hcmNoL2FybTY0L2t2bS9wbXUuYwo+ICsrKyBiL2Fy Y2gvYXJtNjQva3ZtL3BtdS5jCj4gQEAgLTIzNiwzICsyMzYsMjEgQEAgYm9vbCBrdm1fc2V0X3Bt dXNlcmVucih1NjQgdmFsKQo+ICAgCWN0eHRfc3lzX3JlZyhoY3R4dCwgUE1VU0VSRU5SX0VMMCkg PSB2YWw7Cj4gICAJcmV0dXJuIHRydWU7Cj4gICB9Cj4gKwo+ICsvKgo+ICsgKiBJZiB3ZSBpbnRl cnJ1cHRlZCB0aGUgZ3Vlc3QgdG8gdXBkYXRlIHRoZSBob3N0IFBNVSBjb250ZXh0LCBtYWtlCj4g KyAqIHN1cmUgd2UgcmUtYXBwbHkgdGhlIGd1ZXN0IEVMMCBzdGF0ZS4KPiArICovCj4gK3ZvaWQg a3ZtX3ZjcHVfcG11X3Jlc3luY19lbDAodm9pZCkKPiArewo+ICsJc3RydWN0IGt2bV92Y3B1ICp2 Y3B1Owo+ICsKPiArCWlmICghaGFzX3ZoZSgpIHx8ICFpbl9pbnRlcnJ1cHQoKSkKPiArCQlyZXR1 cm47Cj4gKwo+ICsJdmNwdSA9IGt2bV9nZXRfcnVubmluZ192Y3B1KCk7Cj4gKwlpZiAoIXZjcHUp Cj4gKwkJcmV0dXJuOwo+ICsKPiArCWt2bV9tYWtlX3JlcXVlc3QoS1ZNX1JFUV9SRVNZTkNfUE1V X0VMMCwgdmNwdSk7Cj4gK30KPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9wZXJmL2FybV9wbXV2My5j IGIvZHJpdmVycy9wZXJmL2FybV9wbXV2My5jCj4gaW5kZXggMDhiM2ExYmYwZWY2Li42YTNkODE3 NmY1NGEgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9wZXJmL2FybV9wbXV2My5jCj4gKysrIGIvZHJp dmVycy9wZXJmL2FybV9wbXV2My5jCj4gQEAgLTc3Miw2ICs3NzIsOCBAQCBzdGF0aWMgdm9pZCBh cm12OHBtdV9zdGFydChzdHJ1Y3QgYXJtX3BtdSAqY3B1X3BtdSkKPiAgIAo+ICAgCS8qIEVuYWJs ZSBhbGwgY291bnRlcnMgKi8KPiAgIAlhcm12OHBtdV9wbWNyX3dyaXRlKGFybXY4cG11X3BtY3Jf cmVhZCgpIHwgQVJNVjhfUE1VX1BNQ1JfRSk7Cj4gKwo+ICsJa3ZtX3ZjcHVfcG11X3Jlc3luY19l bDAoKTsKPiAgIH0KCkkgcmVhZCB0aGUgcGVyZiBjb2RlIGFnYWluLCBhbmQgZmluZCBpdCBtYXli ZSBub3QgZ29vZCB0byBkbyBpdCBpbiAKYXJtdjhwbXVfc3RhcnQuCgogwqDCoCBBc3N1bWUgd2Ug aW5zdGFsbCBhIG5ldyBwZXJmIGV2ZW50IHRvIGEgQ1BVICJ4IiBmcm9tIENQVSAwLMKgIGEgVk0g Cmd1ZXN0IGlzIHJ1bm5pbmcgb24gQ1BVICJ4IjoKCiDCoMKgwqAgcGVyZl9ldmVudF9vcGVuKCkg LS0+IHBlcmZfaW5zdGFsbF9pbl9jb250ZXh0KCkgLS0+CgogwqDCoMKgIGNhbGwgdGhpcyBmdW5j dGlvbiBpbsKgIElQSSBpbnRlcnJ1cHQ6IF9fX3BlcmZfaW5zdGFsbF9pbl9jb250ZXh0KCkuCgog wqDCoCBhcm12OHBtdV9zdGFydCgpIHdpbGwgYmUgY2FsbGVkIGluIF9fX3BlcmZfaW5zdGFsbF9p bl9jb250ZXh0KCkgaW4gSVBJLgoKIMKgwqAgc28ga3ZtX3ZjcHVfcG11X3Jlc3luY19lbDAoKSB3 aWxsIF9tYWtlXyBhIHJlcXVlc3QgYnkgbWVldGluZyB0aGUgCmNvbmRpdGlvbnM6CgogwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgIDEuKSBpbiBpbnRlcnJ1cHQgY29udGV4dC4KCiDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqAgMi4pIGEgZ3Vlc3QgaXMgcnVubmluZyBvbiB0aGlzIENQVS4KCgpCdXQg aW4gYWN0dWFsbHksIHRoZSByZXF1ZXN0IHNob3VsZCBub3Qgc2VuZCBvdXQuCgpQbGVhc2UgY29y cmVjdCBtZSBpZiBJIGFtIHdyb25nLgoKSU1ITywgdGhlIGJlc3Qgc29sdXRpb24gaXMgYWRkwqAg YSBob29rIGluIHRoZSBwZXJmL2NvcmUgY29kZSwgYW5kIG1ha2UgCnRoZSByZXF1ZXN0IHRoZXJl LgoKSSB3aWxsIHNlbmQgbXkgdjMgcGF0Y2guCgoKVGhhbmtzCgpIdWFuZyBTaGlqaWUKCgoKCgoK PiAgIAo+ICAgc3RhdGljIHZvaWQgYXJtdjhwbXVfc3RvcChzdHJ1Y3QgYXJtX3BtdSAqY3B1X3Bt dSkKPiBkaWZmIC0tZ2l0IGEvaW5jbHVkZS9rdm0vYXJtX3BtdS5oIGIvaW5jbHVkZS9rdm0vYXJt X3BtdS5oCj4gaW5kZXggODQ3ZGE2ZmMyNzEzLi4zYThhNzBhNjA3OTQgMTAwNjQ0Cj4gLS0tIGEv aW5jbHVkZS9rdm0vYXJtX3BtdS5oCj4gKysrIGIvaW5jbHVkZS9rdm0vYXJtX3BtdS5oCj4gQEAg LTc0LDYgKzc0LDcgQEAgaW50IGt2bV9hcm1fcG11X3YzX2VuYWJsZShzdHJ1Y3Qga3ZtX3ZjcHUg KnZjcHUpOwo+ICAgc3RydWN0IGt2bV9wbXVfZXZlbnRzICprdm1fZ2V0X3BtdV9ldmVudHModm9p ZCk7Cj4gICB2b2lkIGt2bV92Y3B1X3BtdV9yZXN0b3JlX2d1ZXN0KHN0cnVjdCBrdm1fdmNwdSAq dmNwdSk7Cj4gICB2b2lkIGt2bV92Y3B1X3BtdV9yZXN0b3JlX2hvc3Qoc3RydWN0IGt2bV92Y3B1 ICp2Y3B1KTsKPiArdm9pZCBrdm1fdmNwdV9wbXVfcmVzeW5jX2VsMCh2b2lkKTsKPiAgIAo+ICAg I2RlZmluZSBrdm1fdmNwdV9oYXNfcG11KHZjcHUpCQkJCQlcCj4gICAJKHRlc3RfYml0KEtWTV9B Uk1fVkNQVV9QTVVfVjMsICh2Y3B1KS0+YXJjaC5mZWF0dXJlcykpCj4gQEAgLTE3MSw2ICsxNzIs NyBAQCBzdGF0aWMgaW5saW5lIHU4IGt2bV9hcm1fcG11X2dldF9wbXV2ZXJfbGltaXQodm9pZCkK PiAgIHsKPiAgIAlyZXR1cm4gMDsKPiAgIH0KPiArc3RhdGljIGlubGluZSB2b2lkIGt2bV92Y3B1 X3BtdV9yZXN5bmNfZWwwKHZvaWQpIHt9Cj4gICAKPiAgICNlbmRpZgo+ICAgCgpfX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpsaW51eC1hcm0ta2VybmVsIG1h aWxpbmcgbGlzdApsaW51eC1hcm0ta2VybmVsQGxpc3RzLmluZnJhZGVhZC5vcmcKaHR0cDovL2xp c3RzLmluZnJhZGVhZC5vcmcvbWFpbG1hbi9saXN0aW5mby9saW51eC1hcm0ta2VybmVsCg==