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 DD5EBC77B61 for ; Tue, 25 Apr 2023 01:46:21 +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:In-Reply-To:MIME-Version:References: Message-ID:Subject:Cc:To:From:Date:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=p9N/bu3ANGuD7eBpzqQeyTpzaJjAOw8pW4yedEImWHY=; b=zKYFW1tBANsacD 6kkL5wVjPNcX39OYrL4UTloVfnJKj3FRSy3LJS0nfS8GBLZFrNb1Mn1G+GSQsOIvfSHeUWO3ysOSS d+vWLTaLNJTx+IQYBGP0P7HxS2llAQ4ciIwj8a9Wuq1eMMhoK4yFdvyxeu7tsR+wOKO/tAY9d0D/Y arzZxWfe5gbsSHSE3n0z9F1PVr2WTfoLisrmMRxtk58kioRoW7y7NIOojaMu32jQde2YKhuDBlm2W kQteepicn/JTyxt29cypy7Tvms71w1B3zHEtoKvJ7CBsxozjKvtOLj4eWo+9PdfM1M8Uw4zihT6Z3 v65zW+XJ32TTsOKXmmCQ==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.96 #2 (Red Hat Linux)) id 1pr7kE-0000G6-1S; Tue, 25 Apr 2023 01:45:26 +0000 Received: from mail-pl1-x62a.google.com ([2607:f8b0:4864:20::62a]) by bombadil.infradead.org with esmtps (Exim 4.96 #2 (Red Hat Linux)) id 1pr7kB-0000Er-2F for linux-arm-kernel@lists.infradead.org; Tue, 25 Apr 2023 01:45:25 +0000 Received: by mail-pl1-x62a.google.com with SMTP id d9443c01a7336-1a9290a6f96so578795ad.1 for ; Mon, 24 Apr 2023 18:45:17 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20221208; t=1682387117; x=1684979117; h=in-reply-to:content-transfer-encoding:content-disposition :mime-version:references:message-id:subject:cc:to:from:date:from:to :cc:subject:date:message-id:reply-to; bh=fNs0pUTvP1d4kW6KiccRdby8kAtqOyOOnmaY53ILjo4=; b=gKEa1LL3o2+xw+wePXTydV+rcr9Ex4hicbcKO/7xjFyHSfGvPjJkL9Bzgp5PvDHBrk KNEvdVuAemDTCbscp0Lu15YTOm76I7i6+ZYX30CHnxULuvxF0x74QALRry4nAeZz5Y4N SR4d0pv8w60kskieQZLMZ/nJB+hhcJwxFpCuM5sF8O3e0vFM22oYFB6RzmUiuoR2G2jn QEMkjen0i2vAD9ull9M4gXsvTI3SZ43mxcBnw+uHSCne/2QdQ2gBMts+yytY8FBE7MAA 5Al0jPgoIkp27/4XqIZJ9GMZjNX3wUEM6k4QA+MAWcINfGc6pEIVAZA406QzWiue9Kpa v+Bw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1682387117; x=1684979117; h=in-reply-to:content-transfer-encoding:content-disposition :mime-version:references:message-id:subject:cc:to:from:date :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=fNs0pUTvP1d4kW6KiccRdby8kAtqOyOOnmaY53ILjo4=; b=lxqXuVzBseYuiniyKilBdqLD6f/gofJq7FnCfeaKORiVJgF7STNCewY6VGnW7Im/dG Niokg8K+M40mOuGSn4xpGDKO6HTHA/PIcI/V3K+gNAiWo9YGLgY1yZ4twQ+KOrinBaCL cb0vpt7HFgZ/31PQpAw+NSHDsNcysXWqslVIRcvwc4hzzvssdR3afR4w9WZkkB+eezwh SH11rwtFvhl9HvOWBlhKDNT3+ex8aRO6gbmcipezGg9XA6W6gQUKZG1HYyCYZSroLZCo IWgBbqi3i8JJOu2Kx4uyYFGYVs2wT3+t9l8e3oWG0wv3ya2qAukhssWMr5D3tVETp0OS kGjg== X-Gm-Message-State: AC+VfDx5oEfjsTdvve7ZdTDEZI98F2Kn2h3om2iGF9yP2q2HKe1i1ihA lCTpu08MVpt3KDR4dUdQXBdgRw== X-Google-Smtp-Source: ACHHUZ6yMuR0KL6S7F8pQVQGZbspyS4K1EVM25hPSv5iLwSvlUGa5nXvVfgPYjXfCNKZ+2YFiYQejw== X-Received: by 2002:a17:902:f691:b0:1a1:c3bf:810b with SMTP id l17-20020a170902f69100b001a1c3bf810bmr136917plg.6.1682387116794; Mon, 24 Apr 2023 18:45:16 -0700 (PDT) Received: from google.com (223.103.125.34.bc.googleusercontent.com. [34.125.103.223]) by smtp.gmail.com with ESMTPSA id i12-20020a62870c000000b0063b7f3250e9sm7960372pfe.7.2023.04.24.18.45.15 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 24 Apr 2023 18:45:15 -0700 (PDT) Date: Mon, 24 Apr 2023 18:45:11 -0700 From: Reiji Watanabe To: Jing Zhang Cc: KVM , KVMARM , ARMLinux , Marc Zyngier , Oliver Upton , Will Deacon , Paolo Bonzini , James Morse , Alexandru Elisei , Suzuki K Poulose , Fuad Tabba , Raghavendra Rao Ananta Subject: Re: [PATCH v6 4/6] KVM: arm64: Use per guest ID register for ID_AA64DFR0_EL1.PMUVer Message-ID: <20230425014511.ipwj7gr4d4ai5als@google.com> References: <20230404035344.4043856-1-jingzhangos@google.com> <20230404035344.4043856-5-jingzhangos@google.com> <20230419034042.r56jdectha4asyqi@google.com> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20230424_184523_779695_B70F6655 X-CRM114-Status: GOOD ( 34.74 ) 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-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org SGkgSmluZywKCk9uIE1vbiwgQXByIDI0LCAyMDIzIGF0IDEyOjA3OjMxUE0gLTA3MDAsIEppbmcg Wmhhbmcgd3JvdGU6Cj4gSGkgUmVpamksCj4gCj4gT24gVHVlLCBBcHIgMTgsIDIwMjMgYXQgODo0 MOKAr1BNIFJlaWppIFdhdGFuYWJlIDxyZWlqaXdAZ29vZ2xlLmNvbT4gd3JvdGU6Cj4gPgo+ID4g SGkgSmluZywKPiA+Cj4gPiBPbiBUdWUsIEFwciAwNCwgMjAyMyBhdCAwMzo1Mzo0MkFNICswMDAw LCBKaW5nIFpoYW5nIHdyb3RlOgo+ID4gPiBXaXRoIHBlciBndWVzdCBJRCByZWdpc3RlcnMsIFBN VXZlciBzZXR0aW5ncyBmcm9tIHVzZXJzcGFjZQo+ID4gPiBjYW4gYmUgc3RvcmVkIGluIGl0cyBj b3JyZXNwb25kaW5nIElEIHJlZ2lzdGVyLgo+ID4gPgo+ID4gPiBObyBmdW5jdGlvbmFsIGNoYW5n ZSBpbnRlbmRlZC4KPiA+ID4KPiA+ID4gU2lnbmVkLW9mZi1ieTogSmluZyBaaGFuZyA8amluZ3po YW5nb3NAZ29vZ2xlLmNvbT4KPiA+ID4gLS0tCj4gPiA+ICBhcmNoL2FybTY0L2luY2x1ZGUvYXNt L2t2bV9ob3N0LmggfCAxMSArKystLS0tCj4gPiA+ICBhcmNoL2FybTY0L2t2bS9hcm0uYyAgICAg ICAgICAgICAgfCAgNiAtLS0tCj4gPiA+ICBhcmNoL2FybTY0L2t2bS9pZF9yZWdzLmMgICAgICAg ICAgfCA1MCArKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0tCj4gPiA+ICBpbmNsdWRlL2t2 bS9hcm1fcG11LmggICAgICAgICAgICAgfCAgNSArKy0tCj4gPiA+ICA0IGZpbGVzIGNoYW5nZWQs IDQ5IGluc2VydGlvbnMoKyksIDIzIGRlbGV0aW9ucygtKQo+ID4gPgo+ID4gPiBkaWZmIC0tZ2l0 IGEvYXJjaC9hcm02NC9pbmNsdWRlL2FzbS9rdm1faG9zdC5oIGIvYXJjaC9hcm02NC9pbmNsdWRl L2FzbS9rdm1faG9zdC5oCj4gPiA+IGluZGV4IDY3YTU1MTc3ZmQ4My4uZGE0NmEyNzI5NTgxIDEw MDY0NAo+ID4gPiAtLS0gYS9hcmNoL2FybTY0L2luY2x1ZGUvYXNtL2t2bV9ob3N0LmgKPiA+ID4g KysrIGIvYXJjaC9hcm02NC9pbmNsdWRlL2FzbS9rdm1faG9zdC5oCj4gPiA+IEBAIC0yMzcsNiAr MjM3LDEyIEBAIHN0cnVjdCBrdm1fYXJjaCB7Cj4gPiA+ICAjZGVmaW5lIEtWTV9BUkNIX0ZMQUdf RUwxXzMyQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNAo+ID4gPiAgICAgICAvKiBQ U0NJIFNZU1RFTV9TVVNQRU5EIGVuYWJsZWQgZm9yIHRoZSBndWVzdCAqLwo+ID4gPiAgI2RlZmlu ZSBLVk1fQVJDSF9GTEFHX1NZU1RFTV9TVVNQRU5EX0VOQUJMRUQgICAgICAgICA1Cj4gPiA+ICsg ICAgIC8qCj4gPiA+ICsgICAgICAqIEFBNjRERlIwX0VMMS5QTVV2ZXIgd2FzIHNldCBhcyBJRF9B QTY0REZSMF9FTDFfUE1VVmVyX0lNUF9ERUYKPiA+ID4gKyAgICAgICogb3IgREZSMF9FTDEuUGVy Zk1vbiB3YXMgc2V0IGFzIElEX0RGUjBfRUwxX1BlcmZNb25fSU1QREVGIGZyb20KPiA+ID4gKyAg ICAgICogdXNlcnNwYWNlIGZvciBWQ1BVcyB3aXRob3V0IFBNVS4KPiA+ID4gKyAgICAgICovCj4g PiA+ICsjZGVmaW5lIEtWTV9BUkNIX0ZMQUdfVkNQVV9IQVNfSU1QX0RFRl9QTVUgICAgICAgICAg IDYKPiA+ID4KPiA+ID4gICAgICAgdW5zaWduZWQgbG9uZyBmbGFnczsKPiA+ID4KPiA+ID4gQEAg LTI0OSwxMSArMjU1LDYgQEAgc3RydWN0IGt2bV9hcmNoIHsKPiA+ID4KPiA+ID4gICAgICAgY3B1 bWFza192YXJfdCBzdXBwb3J0ZWRfY3B1czsKPiA+ID4KPiA+ID4gLSAgICAgc3RydWN0IHsKPiA+ ID4gLSAgICAgICAgICAgICB1OCBpbXA6NDsKPiA+ID4gLSAgICAgICAgICAgICB1OCB1bmltcDo0 Owo+ID4gPiAtICAgICB9IGRmcjBfcG11dmVyOwo+ID4gPiAtCj4gPiA+ICAgICAgIC8qIEh5cGVy Y2FsbCBmZWF0dXJlcyBmaXJtd2FyZSByZWdpc3RlcnMnIGRlc2NyaXB0b3IgKi8KPiA+ID4gICAg ICAgc3RydWN0IGt2bV9zbWNjY19mZWF0dXJlcyBzbWNjY19mZWF0Owo+ID4gPgo+ID4gPiBkaWZm IC0tZ2l0IGEvYXJjaC9hcm02NC9rdm0vYXJtLmMgYi9hcmNoL2FybTY0L2t2bS9hcm0uYwo+ID4g PiBpbmRleCA2NGUxYzE5ZTVhOWIuLjNmZTI4ZDU0NWI1NCAxMDA2NDQKPiA+ID4gLS0tIGEvYXJj aC9hcm02NC9rdm0vYXJtLmMKPiA+ID4gKysrIGIvYXJjaC9hcm02NC9rdm0vYXJtLmMKPiA+ID4g QEAgLTEzOCwxMiArMTM4LDYgQEAgaW50IGt2bV9hcmNoX2luaXRfdm0oc3RydWN0IGt2bSAqa3Zt LCB1bnNpZ25lZCBsb25nIHR5cGUpCj4gPiA+ICAgICAgIGt2bV9hcm1faW5pdF9oeXBlcmNhbGxz KGt2bSk7Cj4gPiA+ICAgICAgIGt2bV9hcm1faW5pdF9pZF9yZWdzKGt2bSk7Cj4gPiA+Cj4gPiA+ IC0gICAgIC8qCj4gPiA+IC0gICAgICAqIEluaXRpYWxpc2UgdGhlIGRlZmF1bHQgUE1VdmVyIGJl Zm9yZSB0aGVyZSBpcyBhIGNoYW5jZSB0bwo+ID4gPiAtICAgICAgKiBjcmVhdGUgYW4gYWN0dWFs IFBNVS4KPiA+ID4gLSAgICAgICovCj4gPiA+IC0gICAgIGt2bS0+YXJjaC5kZnIwX3BtdXZlci5p bXAgPSBrdm1fYXJtX3BtdV9nZXRfcG11dmVyX2xpbWl0KCk7Cj4gPiA+IC0KPiA+ID4gICAgICAg cmV0dXJuIDA7Cj4gPiA+Cj4gPiA+ICBlcnJfZnJlZV9jcHVtYXNrOgo+ID4gPiBkaWZmIC0tZ2l0 IGEvYXJjaC9hcm02NC9rdm0vaWRfcmVncy5jIGIvYXJjaC9hcm02NC9rdm0vaWRfcmVncy5jCj4g PiA+IGluZGV4IDI5MTMxMWIxZWNjYS4uNmY2NWQzMDY5M2ZlIDEwMDY0NAo+ID4gPiAtLS0gYS9h cmNoL2FybTY0L2t2bS9pZF9yZWdzLmMKPiA+ID4gKysrIGIvYXJjaC9hcm02NC9rdm0vaWRfcmVn cy5jCj4gPiA+IEBAIC0yMSw5ICsyMSwxMiBAQAo+ID4gPiAgc3RhdGljIHU4IHZjcHVfcG11dmVy KGNvbnN0IHN0cnVjdCBrdm1fdmNwdSAqdmNwdSkKPiA+ID4gIHsKPiA+ID4gICAgICAgaWYgKGt2 bV92Y3B1X2hhc19wbXUodmNwdSkpCj4gPiA+IC0gICAgICAgICAgICAgcmV0dXJuIHZjcHUtPmt2 bS0+YXJjaC5kZnIwX3BtdXZlci5pbXA7Cj4gPiA+ICsgICAgICAgICAgICAgcmV0dXJuIEZJRUxE X0dFVChBUk02NF9GRUFUVVJFX01BU0soSURfQUE2NERGUjBfRUwxX1BNVVZlciksCj4gPiA+ICsg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJRFJFRyh2Y3B1LT5rdm0sIFNZU19JRF9BQTY0 REZSMF9FTDEpKTsKPiA+ID4gKyAgICAgZWxzZSBpZiAodGVzdF9iaXQoS1ZNX0FSQ0hfRkxBR19W Q1BVX0hBU19JTVBfREVGX1BNVSwgJnZjcHUtPmt2bS0+YXJjaC5mbGFncykpCj4gPiA+ICsgICAg ICAgICAgICAgcmV0dXJuIElEX0FBNjRERlIwX0VMMV9QTVVWZXJfSU1QX0RFRjsKPiA+ID4KPiA+ ID4gLSAgICAgcmV0dXJuIHZjcHUtPmt2bS0+YXJjaC5kZnIwX3BtdXZlci51bmltcDsKPiA+ID4g KyAgICAgcmV0dXJuIDA7Cj4gPiA+ICB9Cj4gPiA+Cj4gPiA+ICBzdGF0aWMgdTggcGVyZm1vbl90 b19wbXV2ZXIodTggcGVyZm1vbikKPiA+ID4gQEAgLTI1NCwxMCArMjU3LDIwIEBAIHN0YXRpYyBp bnQgc2V0X2lkX2FhNjRkZnIwX2VsMShzdHJ1Y3Qga3ZtX3ZjcHUgKnZjcHUsCj4gPiA+ICAgICAg IGlmICh2YWwpCj4gPiA+ICAgICAgICAgICAgICAgcmV0dXJuIC1FSU5WQUw7Cj4gPiA+Cj4gPiA+ IC0gICAgIGlmICh2YWxpZF9wbXUpCj4gPiA+IC0gICAgICAgICAgICAgdmNwdS0+a3ZtLT5hcmNo LmRmcjBfcG11dmVyLmltcCA9IHBtdXZlcjsKPiA+ID4gLSAgICAgZWxzZQo+ID4gPiAtICAgICAg ICAgICAgIHZjcHUtPmt2bS0+YXJjaC5kZnIwX3BtdXZlci51bmltcCA9IHBtdXZlcjsKPiA+ID4g KyAgICAgaWYgKHZhbGlkX3BtdSkgewo+ID4gPiArICAgICAgICAgICAgIG11dGV4X2xvY2soJnZj cHUtPmt2bS0+YXJjaC5jb25maWdfbG9jayk7Cj4gPiA+ICsgICAgICAgICAgICAgSURSRUcodmNw dS0+a3ZtLCBTWVNfSURfQUE2NERGUjBfRUwxKSAmPSB+SURfQUE2NERGUjBfRUwxX1BNVVZlcl9N QVNLOwo+ID4gPiArICAgICAgICAgICAgIElEUkVHKHZjcHUtPmt2bSwgU1lTX0lEX0FBNjRERlIw X0VMMSkgfD0gRklFTERfUFJFUChJRF9BQTY0REZSMF9FTDFfUE1VVmVyX01BU0ssCj4gPiA+ICsg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIHBtdXZlcik7Cj4gPiA+ICsKPiA+ID4gKyAgICAgICAgICAgICBJRFJFRyh2Y3B1LT5r dm0sIFNZU19JRF9ERlIwX0VMMSkgJj0gfklEX0RGUjBfRUwxX1BlcmZNb25fTUFTSzsKPiA+ID4g KyAgICAgICAgICAgICBJRFJFRyh2Y3B1LT5rdm0sIFNZU19JRF9ERlIwX0VMMSkgfD0gRklFTERf UFJFUChJRF9ERlIwX0VMMV9QZXJmTW9uX01BU0ssCj4gPiA+ICsgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcG11dmVyX3RvX3BlcmZt b24ocG11dmVyKSk7Cj4gPgo+ID4gQXMgdGhvc2UgY291bGQgYmUgcmVhZCB3aXRob3V0IGFjcXVp cmluZyB0aGUgbG9jaywgSSBkb24ndCB0aGluawo+ID4gd2Ugc2hvdWxkIGV4cG9zZSB0aGUgaW50 ZXJtZWRpYXRlIHN0YXRlIG9mIHRoZSByZWdpc3RlciB2YWx1ZXMuCj4gSSB3aWxsIHByb3RlY3Qg YWxsIHJlYWRzL3dyaXRlcyB0byBLVk0gc2NvcGUgZW11bGF0ZWQgSUQgcmVnaXN0ZXJzCj4gd2l0 aCB0aGUgbG9jay4KCk9yIEkgdGhpbmsgd2UgY291bGQgcmVzb2x2ZSBpdCBieSB3cml0aW5nIHRo ZSBuZXcgdmFsdWUgYXRvbWljYWxseQooY29weSB0aGUgdmFsdWUgdG8gYSBsb2NhbCB2YXJpYWJs ZSwgc2V0IHRoZSBsb2NhbCB2YXJpYWJsZSB0byB0aGUKbmV3IHZhbHVlLCBhbmQgdXBkYXRlIHRo ZSBJRF9SRUcgdmFsdWUgd2l0aCBXUklURV9PTkNFKS4KClRoYW5rIHlvdSwKUmVpamkKCgo+ID4K PiA+Cj4gPiA+ICsgICAgICAgICAgICAgbXV0ZXhfdW5sb2NrKCZ2Y3B1LT5rdm0tPmFyY2guY29u ZmlnX2xvY2spOwo+ID4gPiArICAgICB9IGVsc2Ugewo+ID4gPiArICAgICAgICAgICAgIGFzc2ln bl9iaXQoS1ZNX0FSQ0hfRkxBR19WQ1BVX0hBU19JTVBfREVGX1BNVSwgJnZjcHUtPmt2bS0+YXJj aC5mbGFncywKPiA+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgIHBtdXZlciA9PSBJRF9BQTY0 REZSMF9FTDFfUE1VVmVyX0lNUF9ERUYpOwo+ID4gPiArICAgICB9Cj4gPiA+Cj4gPiA+ICAgICAg IHJldHVybiAwOwo+ID4gPiAgfQo+ID4gPiBAQCAtMjk0LDEwICszMDcsMTkgQEAgc3RhdGljIGlu dCBzZXRfaWRfZGZyMF9lbDEoc3RydWN0IGt2bV92Y3B1ICp2Y3B1LAo+ID4gPiAgICAgICBpZiAo dmFsKQo+ID4gPiAgICAgICAgICAgICAgIHJldHVybiAtRUlOVkFMOwo+ID4gPgo+ID4gPiAtICAg ICBpZiAodmFsaWRfcG11KQo+ID4gPiAtICAgICAgICAgICAgIHZjcHUtPmt2bS0+YXJjaC5kZnIw X3BtdXZlci5pbXAgPSBwZXJmbW9uX3RvX3BtdXZlcihwZXJmbW9uKTsKPiA+ID4gLSAgICAgZWxz ZQo+ID4gPiAtICAgICAgICAgICAgIHZjcHUtPmt2bS0+YXJjaC5kZnIwX3BtdXZlci51bmltcCA9 IHBlcmZtb25fdG9fcG11dmVyKHBlcmZtb24pOwo+ID4gPiArICAgICBpZiAodmFsaWRfcG11KSB7 Cj4gPiA+ICsgICAgICAgICAgICAgbXV0ZXhfbG9jaygmdmNwdS0+a3ZtLT5hcmNoLmNvbmZpZ19s b2NrKTsKPiA+ID4gKyAgICAgICAgICAgICBJRFJFRyh2Y3B1LT5rdm0sIFNZU19JRF9ERlIwX0VM MSkgJj0gfklEX0RGUjBfRUwxX1BlcmZNb25fTUFTSzsKPiA+ID4gKyAgICAgICAgICAgICBJRFJF Ryh2Y3B1LT5rdm0sIFNZU19JRF9ERlIwX0VMMSkgfD0gRklFTERfUFJFUChJRF9ERlIwX0VMMV9Q ZXJmTW9uX01BU0ssIHBlcmZtb24pOwo+ID4gPiArCj4gPiA+ICsgICAgICAgICAgICAgSURSRUco dmNwdS0+a3ZtLCBTWVNfSURfQUE2NERGUjBfRUwxKSAmPSB+SURfQUE2NERGUjBfRUwxX1BNVVZl cl9NQVNLOwo+ID4gPiArICAgICAgICAgICAgIElEUkVHKHZjcHUtPmt2bSwgU1lTX0lEX0FBNjRE RlIwX0VMMSkgfD0gRklFTERfUFJFUChJRF9BQTY0REZSMF9FTDFfUE1VVmVyX01BU0ssCj4gPiA+ ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIHBlcmZtb25fdG9fcG11dmVyKHBlcmZtb24pKTsKPiA+Cj4gPiBJIGhhdmUgdGhl IHNhbWUgY29tbWVudCBhcyBzZXRfaWRfYWE2NGRmcjBfZWwxKCkuCj4gPgo+ID4gVGhhbmsgeW91 LAo+ID4gUmVpamkKPiA+Cj4gPiA+ICsgICAgICAgICAgICAgbXV0ZXhfdW5sb2NrKCZ2Y3B1LT5r dm0tPmFyY2guY29uZmlnX2xvY2spOwo+ID4gPiArICAgICB9IGVsc2Ugewo+ID4gPiArICAgICAg ICAgICAgIGFzc2lnbl9iaXQoS1ZNX0FSQ0hfRkxBR19WQ1BVX0hBU19JTVBfREVGX1BNVSwgJnZj cHUtPmt2bS0+YXJjaC5mbGFncywKPiA+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgIHBlcmZt b24gPT0gSURfREZSMF9FTDFfUGVyZk1vbl9JTVBERUYpOwo+ID4gPiArICAgICB9Cj4gPiA+Cj4g PiA+ICAgICAgIHJldHVybiAwOwo+ID4gPiAgfQo+ID4gPiBAQCAtNTAzLDQgKzUyNSwxMiBAQCB2 b2lkIGt2bV9hcm1faW5pdF9pZF9yZWdzKHN0cnVjdCBrdm0gKmt2bSkKPiA+ID4gICAgICAgfQo+ ID4gPgo+ID4gPiAgICAgICBJRFJFRyhrdm0sIFNZU19JRF9BQTY0UEZSMF9FTDEpID0gdmFsOwo+ ID4gPiArCj4gPiA+ICsgICAgIC8qCj4gPiA+ICsgICAgICAqIEluaXRpYWxpc2UgdGhlIGRlZmF1 bHQgUE1VdmVyIGJlZm9yZSB0aGVyZSBpcyBhIGNoYW5jZSB0bwo+ID4gPiArICAgICAgKiBjcmVh dGUgYW4gYWN0dWFsIFBNVS4KPiA+ID4gKyAgICAgICovCj4gPiA+ICsgICAgIElEUkVHKGt2bSwg U1lTX0lEX0FBNjRERlIwX0VMMSkgJj0gfkFSTTY0X0ZFQVRVUkVfTUFTSyhJRF9BQTY0REZSMF9F TDFfUE1VVmVyKTsKPiA+ID4gKyAgICAgSURSRUcoa3ZtLCBTWVNfSURfQUE2NERGUjBfRUwxKSB8 PSBGSUVMRF9QUkVQKEFSTTY0X0ZFQVRVUkVfTUFTSyhJRF9BQTY0REZSMF9FTDFfUE1VVmVyKSwK PiA+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IGt2bV9hcm1fcG11X2dldF9wbXV2ZXJfbGltaXQoKSk7Cj4gPiA+ICB9Cj4gPiA+IGRpZmYgLS1n aXQgYS9pbmNsdWRlL2t2bS9hcm1fcG11LmggYi9pbmNsdWRlL2t2bS9hcm1fcG11LmgKPiA+ID4g aW5kZXggNjI4Nzc1MzM0ZDVlLi44NTZhYzU5YjY4MjEgMTAwNjQ0Cj4gPiA+IC0tLSBhL2luY2x1 ZGUva3ZtL2FybV9wbXUuaAo+ID4gPiArKysgYi9pbmNsdWRlL2t2bS9hcm1fcG11LmgKPiA+ID4g QEAgLTkyLDggKzkyLDkgQEAgdm9pZCBrdm1fdmNwdV9wbXVfcmVzdG9yZV9ob3N0KHN0cnVjdCBr dm1fdmNwdSAqdmNwdSk7Cj4gPiA+ICAvKgo+ID4gPiAgICogRXZhbHVhdGVzIGFzIHRydWUgd2hl biBlbXVsYXRpbmcgUE1VdjNwNSwgYW5kIGZhbHNlIG90aGVyd2lzZS4KPiA+ID4gICAqLwo+ID4g PiAtI2RlZmluZSBrdm1fcG11X2lzXzNwNSh2Y3B1KSAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgXAo+ID4gPiAtICAgICAodmNwdS0+a3ZtLT5hcmNoLmRmcjBfcG11dmVy LmltcCA+PSBJRF9BQTY0REZSMF9FTDFfUE1VVmVyX1YzUDUpCj4gPiA+ICsjZGVmaW5lIGt2bV9w bXVfaXNfM3A1KHZjcHUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBcCj4gPiA+ICsgICAgICAoRklFTERfR0VUKEFSTTY0X0ZF QVRVUkVfTUFTSyhJRF9BQTY0REZSMF9FTDFfUE1VVmVyKSwgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBcCj4gPiA+ICsgICAgICAgICAgICAgIElEUkVHKHZjcHUtPmt2bSwgU1lTX0lE X0FBNjRERlIwX0VMMSkpID49IElEX0FBNjRERlIwX0VMMV9QTVVWZXJfVjNQNSkKPiA+ID4KPiA+ ID4gIHU4IGt2bV9hcm1fcG11X2dldF9wbXV2ZXJfbGltaXQodm9pZCk7Cj4gPiA+Cj4gPiA+IC0t Cj4gPiA+IDIuNDAuMC4zNDguZ2Y5MzhiMDkzNjYtZ29vZwo+ID4gPgo+IFRoYW5rcywKPiBKaW5n CgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpsaW51eC1h cm0ta2VybmVsIG1haWxpbmcgbGlzdApsaW51eC1hcm0ta2VybmVsQGxpc3RzLmluZnJhZGVhZC5v cmcKaHR0cDovL2xpc3RzLmluZnJhZGVhZC5vcmcvbWFpbG1hbi9saXN0aW5mby9saW51eC1hcm0t a2VybmVsCg==