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 C2616C77B75 for ; Tue, 23 May 2023 17:23:52 +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: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=d/KKaSI7Q/NG8iB2sEp+ixksxediv0LC9ssX7i3yD6Q=; b=Q0736soE4qHH2/ PQFe2uWlCDBVY2Mey11COSosEOZ5+WmhYJg89xZFJQCd6eYVRfaGav3VgG5Vj3EfuExnwOtJD2uLc 4v/yYL8nZUGOM+JlqllS9YjFuWElynapq771RkFcVJ0VRxJfY5rIAUOgNotvcwM3SG81QxsDzwuGC augnr0PIw/3IBhwIqxkwVs51dhSEDqM32/6bc0qaFD/WJKH0FLL/hJCRXbziI6za/RTBztdu49Flf DqW4susUrGO7a659PocVb1BFaC6r64e93v2ule+d7Q3Qm6nfvk7nqIlrM+08nNf2Qn2a+6pBDW1AG nbGqXv753mVhMzR8Zb3w==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.96 #2 (Red Hat Linux)) id 1q1VjN-00Ax4i-2P; Tue, 23 May 2023 17:23:29 +0000 Received: from mga02.intel.com ([134.134.136.20]) by bombadil.infradead.org with esmtps (Exim 4.96 #2 (Red Hat Linux)) id 1q1VjK-00Ax2r-2O for linux-arm-kernel@lists.infradead.org; Tue, 23 May 2023 17:23:28 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1684862606; x=1716398606; h=message-id:date:mime-version:subject:to:cc:references: from:in-reply-to:content-transfer-encoding; bh=87Z95siWRjdkd/65tF4ZasyKbHuXd1yug9Xmr5w0rz8=; b=lS09WujXzrbkZGADzjLwABp9jhSmjcjZNb796Q9D5hGxiJBVYXsB8lrZ 6wjqGX03o+ak11ZHX8ttfkGIJrhE+2fhFIOUH0WAwMNtM/crW1IGQm+Y8 ruUKuqvWqeFLpzoSpaUr3CBLOh7SgYXLI+cPjC8V2AS1lRtByN6lHez6o KDJzWJJLp95/bBHRoKGclYkUaHgV5d2mlwHQdDAVbB1jRWoMdXFgt2/LF 6iWRo5JWD/JAw5G5oiQOQxBKmUc09kawsbyzULeLpLEdgtmL4fuQI/KrS C47YuTYir60LocQGU/QyJp2/fdPW60GkzIulZy9jnzM/JKcZChth8WY8G A==; X-IronPort-AV: E=McAfee;i="6600,9927,10719"; a="342770517" X-IronPort-AV: E=Sophos;i="6.00,186,1681196400"; d="scan'208";a="342770517" Received: from orsmga002.jf.intel.com ([10.7.209.21]) by orsmga101.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 23 May 2023 10:23:17 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10719"; a="703985986" X-IronPort-AV: E=Sophos;i="6.00,187,1681196400"; d="scan'208";a="703985986" Received: from linux.intel.com ([10.54.29.200]) by orsmga002.jf.intel.com with ESMTP; 23 May 2023 10:23:15 -0700 Received: from [10.212.205.13] (kliang2-mobl1.ccr.corp.intel.com [10.212.205.13]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by linux.intel.com (Postfix) with ESMTPS id 56A025807C5; Tue, 23 May 2023 10:23:13 -0700 (PDT) Message-ID: <8da89d85-1ac3-04ee-fb27-27366ed1aeac@linux.intel.com> Date: Tue, 23 May 2023 13:23:12 -0400 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101 Thunderbird/102.11.0 Subject: Re: [PATCH v1 05/23] perf pmu: Remove perf_pmu__hybrid_mounted Content-Language: en-US To: Ian Rogers Cc: Suzuki K Poulose , Mike Leach , Leo Yan , John Garry , Will Deacon , James Clark , Peter Zijlstra , Ingo Molnar , Arnaldo Carvalho de Melo , Mark Rutland , Alexander Shishkin , Jiri Olsa , Namhyung Kim , Adrian Hunter , Kajol Jain , Jing Zhang , Ravi Bangoria , Madhavan Srinivasan , Athira Rajeev , Ming Wang , Huacai Chen , Sandipan Das , Dmitrii Dolgov <9erthalion6@gmail.com>, Sean Christopherson , Ali Saidi , Rob Herring , Thomas Richter , Kang Minchul , linux-kernel@vger.kernel.org, coresight@lists.linaro.org, linux-arm-kernel@lists.infradead.org, linux-perf-users@vger.kernel.org References: <20230517145803.559429-1-irogers@google.com> <20230517145803.559429-6-irogers@google.com> <1ea342ab-d68f-26e5-0043-f05b1886009e@linux.intel.com> <642c0b26-fcd8-8063-72d2-c74466c29785@linux.intel.com> From: "Liang, Kan" In-Reply-To: X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20230523_102326_848227_09220063 X-CRM114-Status: GOOD ( 42.00 ) 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 CgpPbiAyMDIzLTA1LTIyIDEwOjA2IGEubS4sIElhbiBSb2dlcnMgd3JvdGU6Cj4gT24gTW9uLCBN YXkgMjIsIDIwMjMgYXQgNDo1NeKAr0FNIExpYW5nLCBLYW4gPGthbi5saWFuZ0BsaW51eC5pbnRl bC5jb20+IHdyb3RlOgo+Pgo+Pgo+Pgo+PiBPbiAyMDIzLTA1LTIyIDE6MjEgYS5tLiwgSWFuIFJv Z2VycyB3cm90ZToKPj4+IE9uIFN1biwgTWF5IDIxLCAyMDIzIGF0IDEyOjIz4oCvUE0gTGlhbmcs IEthbiA8a2FuLmxpYW5nQGxpbnV4LmludGVsLmNvbT4gd3JvdGU6Cj4+Pj4KPj4+Pgo+Pj4+Cj4+ Pj4gT24gMjAyMy0wNS0xNyAxMDo1NyBhLm0uLCBJYW4gUm9nZXJzIHdyb3RlOgo+Pj4+PiBwZXJm X3BtdV9faHlicmlkX21vdW50ZWQgaXMgdXNlZCB0byBkZXRlY3Qgd2hldGhlciBjcHVfY29yZSBv cgo+Pj4+PiBjcHVfYXRvbQo+Pj4+Cj4+Pj4gQ3VycmVudGx5LCB0aGVyZSBhcmUgb25seSB0d28g Q1BVIHR5cGVzIGZvciBhIGh5YnJpZCBtYWNoaW5lLCBjb3JlIGFuZAo+Pj4+IGF0b20uIEJ1dCB0 aGVyZSBtYXkgYmUgbW9yZSBDUFUgdHlwZXMgYWRkZWQgbGF0ZXIuIFBsZWFzZSBzZWUgdGhlIENQ VUlECj4+Pj4gMUFIIEVBWCBlbnVtZXJhdGlvbiBpbiBTRE0gVk9MMi4gSXQgaGFzIHNldmVyYWwg cmVzZXJ2ZWQgZW5jb2RpbmdzIGZvcgo+Pj4+IENQVSB0eXBlcy4gSXQncyBiZXR0ZXIgbm90IHVz aW5nIHRoZSBoYXJkY29kZSBjcHVfY29yZS9jcHVfYXRvbSB0bwo+Pj4+IHJlcGxhY2UgdGhlIHBl cmZfcG11X19oeWJyaWRfbW91bnRlZCgpLgo+Pj4+Cj4+Pj4gVGhhbmtzLAo+Pj4+IEthbgo+Pj4K Pj4+IFRoaXMgaXMgY292ZXJlZCBieSBsYXRlciBwYXRjaGVzLiBTcGVjaWZpY2FsbHkgcGF0Y2hl cyBsaWtlOgo+Pj4gcGF0Y2ggNzogcGVyZiBwbXU6IEFkZCBpc19jb3JlIHRvIHBtdQo+Pj4gcGF0 Y2ggMjA6IFNwbGl0IHBtdXMgbGlzdCBpbnRvIGNvcmUgYW5kIHVuY29yZQo+Pj4KPj4+IFVsdGlt YXRlbHkgaW4gcG11cy5oIHdlIGhhdmUgdHdvIHNjYW4gcm91dGluZXMsIG9uZSBmb3IgYWxsIFBN VXMgYW5kCj4+PiBvbmUgZm9yIGNvcmUgUE1Vcy4gRm9yIGV2ZXJ5dGhpbmcgZXhjZXB0IGh5YnJp ZCAoYW5kIHRoZSBuYW1lIHZhcmllcyBhCj4+PiBiaXQgb24gQVJNKSB0aGUgY29yZSBzY2FuIG9u bHkgc2NhbnMgImNwdSIsIG9uIGh5YnJpZCBpdCBzY2Fucwo+Pj4gImNwdV9hdG9tIiBhbmQgImNw dV9jb3JlIi4gVGhlIGRldGVybWluYXRpb24gb2YgY29yZSB2cyB1bmNvcmUgaXMKPj4+IGRvbmUg d2l0aG91dCB1c2luZyB0aGUgbmFtZSwgc28gY2FuIHN1cHBvcnQgPjIgaHlicmlkIFBNVXMuIEF0 IHRoaXMKPj4+IHBvaW50IGluIHRoZSBwYXRjaCBzZXJpZXMgSSdtIHRyeWluZyB0byBzaW1wbGlm eSBldmVyeXRoaW5nIHNvIHRoYXQgSQo+Pj4gY2FuIHRoZW4gYnVpbGQgdGhlIHBtdXMgaW50ZXJm YWNlLgo+Pgo+PiBCdXQgaWYgd2UgYWRkIGEgbmV3IGNvcmUgdHlwZSAiY3B1X3doYXRldmVyIiBs YXRlciwgd2UgaGF2ZSB0byBoYXJkY29kZQo+PiB0aGUgbmV3IG5hbWUgdG8gdGhlIHBlcmYgdG9v bCwgcmlnaHQ/IFVzZXJzIGhhdmUgdG8gdXBkYXRlIHRoZSBwZXJmIHRvb2wKPj4gZm9yIHRoZSBu ZXcgcGxhdGZvcm1zLCBvdGhlcndpc2UgSSB0aGluayB0aGUgbmV3IHR5cGUgd2lsbCBiZSB0cmVh dGVkIGFzCj4+IGFuIHVuY29yZSBQTVUuCj4+Cj4+IFNpbmNlIHRoZSBoeWJyaWQgaXMgSW50ZWwg b25seSwgSSB0aGluayBpdCBtYXkgYmUgYmV0dGVyIG1vdmUgdGhlCj4+IGlzX3BtdV9oeWJyaWQo KSB0byBYODYgc3BlY2lmYyBjb2RlLiBGb3IgdGhlIEludGVsIG9ubHkgY29kZSwgd2UgYWxyZWFk eQo+PiBoYXZlIGEgbmFtaW5nIHJ1bGUgZm9yIHRoZSBoeWJyaWQgbmFtZSwgImNwdV8kIi4gU28g d2UgZG9uJ3QgbmVlZCB0bwo+PiB1cGRhdGUgdGhlIHRvb2wgZm9yIGV2ZXJ5IG5ldyBDUFUgdHlw ZS4KPj4KPj4gVGhhbmtzLAo+PiBLYW4KPiAKPiBJIGRvbid0IGRpc2FncmVlLCBidXQgZml4aW5n IGFsbCB1c2VzIG9mIGlzX3BtdV9oeWJyaWQgYW5kIHNpbWlsYXJseQo+IHBlcmZfcG11c19faGFz X2h5YnJpZCBpcyBnb2luZyB0byBhZGQgeWV0IG1vcmUgdG8gYSBtb2RlcmF0ZWx5IGxvbmcKPiBw YXRjaCBzZXJpZXMuIEkgdGhpbmsgaW4gbW9zdCBjYXNlcyBpc19wbXVfaHlicmlkIGNhbiBiZSBy ZXBsYWNlZCBieSBhCj4gY29yZSBvcmllbnRlZCBhbHRlcm5hdGl2ZS4gRm9yIGV4YW1wbGUsIGlu IHBtdS5jIHRoZXJlIGlzCj4gcGVyZl9wbXVfX2F1dG9fbWVyZ2Vfc3RhdHMgdGhhdCBub3JtYWxs eSByZXR1cm5zIHRydWUgdGhhdCB3ZSB3YW50IHRvCj4gbWVyZ2UgY291bnRzIGZvciB1bmNvcmUg b3Igbm9uLWh5YnJpZCBQTVVzLiBGb3IgaHlicmlkIGl0IHJldHVybnMKPiBmYWxzZSBzbyB0aGF0 IGNwdV9hdG9tIGFuZCBjcHVfY29yZSBjb3VudHMgYXJlbid0IG1lcmdlZC4gQSBjb3JlCj4gb3Jp ZW50ZWQgYWx0ZXJuYXRpdmUgd291bGQgYmUgdG8gcmV0dXJuIGZhbHNlIGlmIHRoZSBQTVUgaXMg Y29yZSBhbmQKPiB0aGUgbnVtYmVyIG9mIGNvcmUgUE1VcyBpcyA+MSAtIHRoaXMgYWxzbyBhdm9p ZHMgYW55IGhhcmQgY29kaW5nIG9mCj4gUE1VIG5hbWVzIGFuZCBhc3N1bWluZyA+MSBjb3JlIFBN VSBtZWFucyB0aGV5IGFsbCBiZWdpbiB3aXRoICJjcHVfIi4KCkknbSBPSyB3aXRoIHRoZSBhbHRl cm5hdGl2ZSBtZXRob2QuCgo+IAo+IFRoZSBzY29wZSBvZiBmaXhpbmcgdGhlIHJlbWFpbmluZyBp c19wbXVfaHlicmlkIGFuZCBwZXJmX3BtdXNfX2hhc19oeWJyaWQgaXM6CkkgZG9uJ3QgdGhpbmsg d2UgbmVlZCB0byBtb2RpZnkgZWFjaCBwbGFjZXMgbGlzdGVkIGJlbG93LgpXZSBqdXN0IG5lZWQg dG8gdXBkYXRlIGlzX3BtdV9oeWJyaWQoKSBhbmQgcGVyZl9wbXVzX19oYXNfaHlicmlkKCkuIEFu ZApwcm9iYWJseSB1c2UgaXNfcG11X2h5YnJpZCgpIHRvIHJlcGxhY2UgcGVyZl9wbXVfX3NraXBf ZW1wdHlfY3B1cygpLgpJIGRvbid0IHRoaW5rIHdlIG5lZWQgdG8gY2hhbmdlIHRoZSBpbnRlcmZh Y2UuCgpJdCBzaG91bGQgbm90IGJlIGEgYmlnIHBhdGNoLgoKSXMgdGhlcmUgYW55dGhpbmcgSSBt aXNzZWQ/CgpUaGFua3MsCkthbgo+IGBgYAo+ICQgZ3JlcCAtcm4gcGVyZl9wbXVzX19oYXNfaHli cmlkIHRvb2xzL3BlcmYKPiB0b29scy9wZXJmL3V0aWwvaGVhZGVyLmM6MTU5MjogIGlmIChwZXJm X3BtdXNfX2hhc19oeWJyaWQoKSkgewo+IHRvb2xzL3BlcmYvdXRpbC9tZW0tZXZlbnRzLmM6MTMy OiAgICAgICAgICAgICAgIGlmICghcGVyZl9wbXVzX19oYXNfaHlicmlkKCkpIHsKPiB0b29scy9w ZXJmL3V0aWwvbWVtLWV2ZW50cy5jOjE5OTogICAgICAgICAgICAgICBpZiAoIXBlcmZfcG11c19f aGFzX2h5YnJpZCgpKSB7Cj4gdG9vbHMvcGVyZi91dGlsL2V2c2VsLmM6MzEzOTogICBpZiAoIXBl cmZfcG11c19faGFzX2h5YnJpZCgpKQo+IHRvb2xzL3BlcmYvdXRpbC9wbXVzLmg6MjE6Ym9vbCBw ZXJmX3BtdXNfX2hhc19oeWJyaWQodm9pZCk7Cj4gdG9vbHMvcGVyZi91dGlsL3N0YXQtZGlzcGxh eS5jOjY4NDogICAgIGlmICghcGVyZl9wbXVzX19oYXNfaHlicmlkKCkpCj4gdG9vbHMvcGVyZi91 dGlsL21ldHJpY2dyb3VwLmM6Mjc3OiAgICAgIGJvb2wgYWxsX3BtdXMgPSAhc3RyY21wKHBtdSwK PiAiYWxsIikgfHwgIXBlcmZfcG11c19faGFzX2h5YnJpZCgpIHx8ICFpc19wbXVfaHlicmlkKHBt dSk7Cj4gdG9vbHMvcGVyZi91dGlsL3BtdXMuYzo0NzQ6Ym9vbCBwZXJmX3BtdXNfX2hhc19oeWJy aWQodm9pZCkKPiB0b29scy9wZXJmL3V0aWwvY3B1dG9wby5jOjQ3NzogIGlmICghcGVyZl9wbXVz X19oYXNfaHlicmlkKCkpCj4gdG9vbHMvcGVyZi90ZXN0cy9hdHRyLmM6MTg4OiAgICBpZiAocGVy Zl9wbXVzX19oYXNfaHlicmlkKCkpCj4gdG9vbHMvcGVyZi90ZXN0cy90b3BvbG9neS5jOjQ0OiBp ZiAoIXBlcmZfcG11c19faGFzX2h5YnJpZCgpKSB7Cj4gdG9vbHMvcGVyZi90ZXN0cy9wYXJzZS1t ZXRyaWMuYzozMDY6ICAgIGlmICghcGVyZl9wbXVzX19oYXNfaHlicmlkKCkpIHsKPiB0b29scy9w ZXJmL3Rlc3RzL3N3aXRjaC10cmFja2luZy5jOjM3ODogaWYgKHBlcmZfcG11c19faGFzX2h5YnJp ZCgpKSB7Cj4gdG9vbHMvcGVyZi9idWlsdGluLXJlY29yZC5jOjEyOTc6ICAgICAgICAgICBwZXJm X3BtdXNfX2hhc19oeWJyaWQoKSkgewo+IHRvb2xzL3BlcmYvYnVpbHRpbi1yZWNvcmQuYzoyMTk2 OiAgICAgICBpZiAoIXBlcmZfcG11c19faGFzX2h5YnJpZCgpKQo+IHRvb2xzL3BlcmYvYnVpbHRp bi1yZWNvcmQuYzo0MTk2OiAgICAgICByZWMtPm9wdHMudGFyZ2V0Lmh5YnJpZCA9Cj4gcGVyZl9w bXVzX19oYXNfaHlicmlkKCk7Cj4gdG9vbHMvcGVyZi9idWlsdGluLXN0YXQuYzoyNDYzOiB0YXJn ZXQuaHlicmlkID0gcGVyZl9wbXVzX19oYXNfaHlicmlkKCk7Cj4gdG9vbHMvcGVyZi9hcmNoL3g4 Ni91dGlsL3BlcmZfcmVncy5jOjI5NTogICAgICAgaWYgKHBlcmZfcG11c19faGFzX2h5YnJpZCgp KSB7Cj4gdG9vbHMvcGVyZi9hcmNoL3g4Ni91dGlsL2V2bGlzdC5jOjIxOiAgIGlmICghcGVyZl9w bXVzX19oYXNfaHlicmlkKCkpCj4gdG9vbHMvcGVyZi9hcmNoL3g4Ni90ZXN0cy9oeWJyaWQuYzoy ODQ6IGlmICghcGVyZl9wbXVzX19oYXNfaHlicmlkKCkpCj4gCj4gJCBncmVwIC1ybiBpc19wbXVf aHlicmlkIHRvb2xzL3BlcmYKPiB0b29scy9wZXJmL3V0aWwvcG11LmM6MTQzMzpib29sIGlzX3Bt dV9oeWJyaWQoY29uc3QgY2hhciAqbmFtZSkKPiB0b29scy9wZXJmL3V0aWwvcG11LmM6MTQ0NTog ICAgIHJldHVybiAhaXNfcG11X2h5YnJpZChwbXUtPm5hbWUpOwo+IHRvb2xzL3BlcmYvdXRpbC9w bXUuaDoyMjQ6Ym9vbCBpc19wbXVfaHlicmlkKGNvbnN0IGNoYXIgKm5hbWUpOwo+IHRvb2xzL3Bl cmYvdXRpbC9tZXRyaWNncm91cC5jOjI3NzogICAgICBib29sIGFsbF9wbXVzID0gIXN0cmNtcChw bXUsCj4gImFsbCIpIHx8ICFwZXJmX3BtdXNfXwo+IGhhc19oeWJyaWQoKSB8fCAhaXNfcG11X2h5 YnJpZChwbXUpOwo+IHRvb2xzL3BlcmYvdXRpbC9wbXVzLmM6NDgyOiAgICAgICAgICAgICAgICAg ICAgIGlmIChpc19wbXVfaHlicmlkKHBtdS0+bmFtZSkpIHsKPiBgYGAKPiAKPiBTbywgSSB0aGlu ayBpdCBtYWtlcyBzZW5zZSB0byBkbyBpdCBhcyBhIGZvbGxvdyB1cC4KPiAKPiBUaGFua3MsCj4g SWFuCj4gCj4+Pgo+Pj4gVGhhbmtzLAo+Pj4gSWFuCj4+Pgo+Pj4+PiBpcyBtb3VudGVkIHdpdGgg YSBub24tZW1wdHkgY3B1cyBmaWxlIGJ5Cj4+Pj4+IHBtdV9sb29rdXAuIHBtdV9sb29rdXAgd2ls bCBhdHRlbXB0IHRvIHJlYWQgdGhlIGNwdXMgZmlsZSB0b28gYW5kIHNvCj4+Pj4+IHRoZSBjaGVj ayBjYW4gYmUgZm9sZGVkIGludG8gdGhpcy4KPj4+Pj4KPj4+Pj4gQ2hlY2tpbmcgaHlicmlkX21v dW50ZWQgaW4gcG11X2lzX3VuY29yZSBpcyByZWR1bmRhbnQgYXMgdGhlIG5leHQKPj4+Pj4gY3B1 bWFzayByZWFkIHdpbGwgZmFpbCByZXR1cm5pbmcgZmFsc2UuCj4+Pj4+Cj4+Pj4+IFJlZHVjZSB0 aGUgc2NvcGUgb2YgcGVyZl9wbXVfX2ZpbmRfaHlicmlkX3BtdSBieSBtYWtpbmcgaXQgc3RhdGlj Lgo+Pj4+Pgo+Pj4+PiBTaWduZWQtb2ZmLWJ5OiBJYW4gUm9nZXJzIDxpcm9nZXJzQGdvb2dsZS5j b20+Cj4+Pj4+IC0tLQo+Pj4+PiAgdG9vbHMvcGVyZi91dGlsL3BtdS1oeWJyaWQuYyB8IDE1ICst LS0tLS0tLS0tLS0tLQo+Pj4+PiAgdG9vbHMvcGVyZi91dGlsL3BtdS1oeWJyaWQuaCB8ICAzIC0t LQo+Pj4+PiAgdG9vbHMvcGVyZi91dGlsL3BtdS5jICAgICAgICB8IDI2ICsrKysrKysrKysrKysr LS0tLS0tLS0tLS0tCj4+Pj4+ICAzIGZpbGVzIGNoYW5nZWQsIDE1IGluc2VydGlvbnMoKyksIDI5 IGRlbGV0aW9ucygtKQo+Pj4+Pgo+Pj4+PiBkaWZmIC0tZ2l0IGEvdG9vbHMvcGVyZi91dGlsL3Bt dS1oeWJyaWQuYyBiL3Rvb2xzL3BlcmYvdXRpbC9wbXUtaHlicmlkLmMKPj4+Pj4gaW5kZXggYmM0 Y2IwNzM4YzM1Li43ZmU5NDNkZDMyMTcgMTAwNjQ0Cj4+Pj4+IC0tLSBhL3Rvb2xzL3BlcmYvdXRp bC9wbXUtaHlicmlkLmMKPj4+Pj4gKysrIGIvdG9vbHMvcGVyZi91dGlsL3BtdS1oeWJyaWQuYwo+ Pj4+PiBAQCAtMTgsMjAgKzE4LDcgQEAKPj4+Pj4KPj4+Pj4gIExJU1RfSEVBRChwZXJmX3BtdV9f aHlicmlkX3BtdXMpOwo+Pj4+Pgo+Pj4+PiAtYm9vbCBwZXJmX3BtdV9faHlicmlkX21vdW50ZWQo Y29uc3QgY2hhciAqbmFtZSkKPj4+Pj4gLXsKPj4+Pj4gLSAgICAgaW50IGNwdTsKPj4+Pj4gLSAg ICAgY2hhciBwbXVfbmFtZVtQQVRIX01BWF07Cj4+Pj4+IC0gICAgIHN0cnVjdCBwZXJmX3BtdSBw bXUgPSB7Lm5hbWUgPSBwbXVfbmFtZX07Cj4+Pj4+IC0KPj4+Pj4gLSAgICAgaWYgKHN0cm5jbXAo bmFtZSwgImNwdV8iLCA0KSkKPj4+Pj4gLSAgICAgICAgICAgICByZXR1cm4gZmFsc2U7Cj4+Pj4+ IC0KPj4+Pj4gLSAgICAgc3RybGNweShwbXVfbmFtZSwgbmFtZSwgc2l6ZW9mKHBtdV9uYW1lKSk7 Cj4+Pj4+IC0gICAgIHJldHVybiBwZXJmX3BtdV9fc2Nhbl9maWxlKCZwbXUsICJjcHVzIiwgIiV1 IiwgJmNwdSkgPiAwOwo+Pj4+PiAtfQo+Pj4+PiAtCj4+Pj4+IC1zdHJ1Y3QgcGVyZl9wbXUgKnBl cmZfcG11X19maW5kX2h5YnJpZF9wbXUoY29uc3QgY2hhciAqbmFtZSkKPj4+Pj4gK3N0YXRpYyBz dHJ1Y3QgcGVyZl9wbXUgKnBlcmZfcG11X19maW5kX2h5YnJpZF9wbXUoY29uc3QgY2hhciAqbmFt ZSkKPj4+Pj4gIHsKPj4+Pj4gICAgICAgc3RydWN0IHBlcmZfcG11ICpwbXU7Cj4+Pj4+Cj4+Pj4+ IGRpZmYgLS1naXQgYS90b29scy9wZXJmL3V0aWwvcG11LWh5YnJpZC5oIGIvdG9vbHMvcGVyZi91 dGlsL3BtdS1oeWJyaWQuaAo+Pj4+PiBpbmRleCAyMDZiOTQ5MzE1MzEuLjhkYmNhZTkzNTAyMCAx MDA2NDQKPj4+Pj4gLS0tIGEvdG9vbHMvcGVyZi91dGlsL3BtdS1oeWJyaWQuaAo+Pj4+PiArKysg Yi90b29scy9wZXJmL3V0aWwvcG11LWh5YnJpZC5oCj4+Pj4+IEBAIC0xMyw5ICsxMyw2IEBAIGV4 dGVybiBzdHJ1Y3QgbGlzdF9oZWFkIHBlcmZfcG11X19oeWJyaWRfcG11czsKPj4+Pj4gICNkZWZp bmUgcGVyZl9wbXVfX2Zvcl9lYWNoX2h5YnJpZF9wbXUocG11KSAgIFwKPj4+Pj4gICAgICAgbGlz dF9mb3JfZWFjaF9lbnRyeShwbXUsICZwZXJmX3BtdV9faHlicmlkX3BtdXMsIGh5YnJpZF9saXN0 KQo+Pj4+Pgo+Pj4+PiAtYm9vbCBwZXJmX3BtdV9faHlicmlkX21vdW50ZWQoY29uc3QgY2hhciAq bmFtZSk7Cj4+Pj4+IC0KPj4+Pj4gLXN0cnVjdCBwZXJmX3BtdSAqcGVyZl9wbXVfX2ZpbmRfaHli cmlkX3BtdShjb25zdCBjaGFyICpuYW1lKTsKPj4+Pj4gIGJvb2wgcGVyZl9wbXVfX2lzX2h5YnJp ZChjb25zdCBjaGFyICpuYW1lKTsKPj4+Pj4KPj4+Pj4gIHN0YXRpYyBpbmxpbmUgaW50IHBlcmZf cG11X19oeWJyaWRfcG11X251bSh2b2lkKQo+Pj4+PiBkaWZmIC0tZ2l0IGEvdG9vbHMvcGVyZi91 dGlsL3BtdS5jIGIvdG9vbHMvcGVyZi91dGlsL3BtdS5jCj4+Pj4+IGluZGV4IDFlMGJlMjNkNGRk Ny4uNzI5YjFmMTY2ZjgwIDEwMDY0NAo+Pj4+PiAtLS0gYS90b29scy9wZXJmL3V0aWwvcG11LmMK Pj4+Pj4gKysrIGIvdG9vbHMvcGVyZi91dGlsL3BtdS5jCj4+Pj4+IEBAIC02MTcsOSArNjE3LDYg QEAgc3RhdGljIGJvb2wgcG11X2lzX3VuY29yZShpbnQgZGlyZmQsIGNvbnN0IGNoYXIgKm5hbWUp Cj4+Pj4+ICB7Cj4+Pj4+ICAgICAgIGludCBmZDsKPj4+Pj4KPj4+Pj4gLSAgICAgaWYgKHBlcmZf cG11X19oeWJyaWRfbW91bnRlZChuYW1lKSkKPj4+Pj4gLSAgICAgICAgICAgICByZXR1cm4gZmFs c2U7Cj4+Pj4+IC0KPj4+Pj4gICAgICAgZmQgPSBwZXJmX3BtdV9fcGF0aG5hbWVfZmQoZGlyZmQs IG5hbWUsICJjcHVtYXNrIiwgT19QQVRIKTsKPj4+Pj4gICAgICAgaWYgKGZkIDwgMCkKPj4+Pj4g ICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7Cj4+Pj4+IEBAIC04OTgsNiArODk1LDE2IEBAIHN0 YXRpYyBpbnQgcG11X21heF9wcmVjaXNlKGludCBkaXJmZCwgc3RydWN0IHBlcmZfcG11ICpwbXUp Cj4+Pj4+ICAgICAgIHJldHVybiBtYXhfcHJlY2lzZTsKPj4+Pj4gIH0KPj4+Pj4KPj4+Pj4gKy8q Kgo+Pj4+PiArICogcGVyZl9wbXVfX3NraXBfZW1wdHlfY3B1cygpIC0gc2hvdWxkIHBtdV9sb29r dXAgc2tpcCB0aGUgbmFtZWQgUE1VIGlmIHRoZQo+Pj4+PiArICogICAgICBjcHVzIG9yIGNwdW1h c2sgZmlsZSBpc24ndCBwcmVzZW50Pwo+Pj4+PiArICogQG5hbWU6IE5hbWUgb2YgUE1VLgo+Pj4+ PiArICovCj4+Pj4+ICtzdGF0aWMgYm9vbCBwZXJmX3BtdV9fc2tpcF9lbXB0eV9jcHVzKGNvbnN0 IGNoYXIgKm5hbWUpCj4+Pj4+ICt7Cj4+Pj4+ICsgICAgIHJldHVybiAhc3RyY21wKG5hbWUsICJj cHVfY29yZSIpIHx8ICFzdHJjbXAobmFtZSwgImNwdV9hdG9tIik7Cj4+Pj4+ICt9Cj4+Pj4+ICsK Pj4+Pj4gIHN0YXRpYyBzdHJ1Y3QgcGVyZl9wbXUgKnBtdV9sb29rdXAoaW50IGRpcmZkLCBjb25z dCBjaGFyICpsb29rdXBfbmFtZSkKPj4+Pj4gIHsKPj4+Pj4gICAgICAgc3RydWN0IHBlcmZfcG11 ICpwbXU7Cj4+Pj4+IEBAIC05MDUsMTUgKzkxMiw4IEBAIHN0YXRpYyBzdHJ1Y3QgcGVyZl9wbXUg KnBtdV9sb29rdXAoaW50IGRpcmZkLCBjb25zdCBjaGFyICpsb29rdXBfbmFtZSkKPj4+Pj4gICAg ICAgTElTVF9IRUFEKGFsaWFzZXMpOwo+Pj4+PiAgICAgICBfX3UzMiB0eXBlOwo+Pj4+PiAgICAg ICBjaGFyICpuYW1lID0gcG11X2ZpbmRfcmVhbF9uYW1lKGxvb2t1cF9uYW1lKTsKPj4+Pj4gLSAg ICAgYm9vbCBpc19oeWJyaWQgPSBwZXJmX3BtdV9faHlicmlkX21vdW50ZWQobmFtZSk7Cj4+Pj4+ ICAgICAgIGNoYXIgKmFsaWFzX25hbWU7Cj4+Pj4+Cj4+Pj4+IC0gICAgIC8qCj4+Pj4+IC0gICAg ICAqIENoZWNrIHBtdSBuYW1lIGZvciBoeWJyaWQgYW5kIHRoZSBwbXUgbWF5IGJlIGludmFsaWQg aW4gc3lzZnMKPj4+Pj4gLSAgICAgICovCj4+Pj4+IC0gICAgIGlmICghc3RybmNtcChuYW1lLCAi Y3B1XyIsIDQpICYmICFpc19oeWJyaWQpCj4+Pj4+IC0gICAgICAgICAgICAgcmV0dXJuIE5VTEw7 Cj4+Pj4+IC0KPj4+Pj4gICAgICAgLyoKPj4+Pj4gICAgICAgICogVGhlIHBtdSBkYXRhIHdlIHN0 b3JlICYgbmVlZCBjb25zaXN0cyBvZiB0aGUgcG11Cj4+Pj4+ICAgICAgICAqIHR5cGUgdmFsdWUg YW5kIGZvcm1hdCBkZWZpbml0aW9ucy4gTG9hZCBib3RoIHJpZ2h0Cj4+Pj4+IEBAIC05MzMsOCAr OTMzLDEwIEBAIHN0YXRpYyBzdHJ1Y3QgcGVyZl9wbXUgKnBtdV9sb29rdXAoaW50IGRpcmZkLCBj b25zdCBjaGFyICpsb29rdXBfbmFtZSkKPj4+Pj4gICAgICAgICAgICAgICByZXR1cm4gTlVMTDsK Pj4+Pj4KPj4+Pj4gICAgICAgcG11LT5jcHVzID0gcG11X2NwdW1hc2soZGlyZmQsIG5hbWUpOwo+ Pj4+PiAtICAgICBwbXUtPm5hbWUgPSBzdHJkdXAobmFtZSk7Cj4+Pj4+ICsgICAgIGlmICghcG11 LT5jcHVzICYmIHBlcmZfcG11X19za2lwX2VtcHR5X2NwdXMobmFtZSkpCj4+Pj4+ICsgICAgICAg ICAgICAgZ290byBlcnI7Cj4+Pj4+Cj4+Pj4+ICsgICAgIHBtdS0+bmFtZSA9IHN0cmR1cChuYW1l KTsKPj4+Pj4gICAgICAgaWYgKCFwbXUtPm5hbWUpCj4+Pj4+ICAgICAgICAgICAgICAgZ290byBl cnI7Cj4+Pj4+Cj4+Pj4+IEBAIC05NjQsNyArOTY2LDcgQEAgc3RhdGljIHN0cnVjdCBwZXJmX3Bt dSAqcG11X2xvb2t1cChpbnQgZGlyZmQsIGNvbnN0IGNoYXIgKmxvb2t1cF9uYW1lKQo+Pj4+PiAg ICAgICBsaXN0X3NwbGljZSgmYWxpYXNlcywgJnBtdS0+YWxpYXNlcyk7Cj4+Pj4+ICAgICAgIGxp c3RfYWRkX3RhaWwoJnBtdS0+bGlzdCwgJnBtdXMpOwo+Pj4+Pgo+Pj4+PiAtICAgICBpZiAoaXNf aHlicmlkKQo+Pj4+PiArICAgICBpZiAoIXN0cmNtcChuYW1lLCAiY3B1X2NvcmUiKSB8fCAhc3Ry Y21wKG5hbWUsICJjcHVfYXRvbSIpKQo+Pj4+PiAgICAgICAgICAgICAgIGxpc3RfYWRkX3RhaWwo JnBtdS0+aHlicmlkX2xpc3QsICZwZXJmX3BtdV9faHlicmlkX3BtdXMpOwo+Pj4+PiAgICAgICBl bHNlCj4+Pj4+ICAgICAgICAgICAgICAgSU5JVF9MSVNUX0hFQUQoJnBtdS0+aHlicmlkX2xpc3Qp OwoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KbGludXgt YXJtLWtlcm5lbCBtYWlsaW5nIGxpc3QKbGludXgtYXJtLWtlcm5lbEBsaXN0cy5pbmZyYWRlYWQu b3JnCmh0dHA6Ly9saXN0cy5pbmZyYWRlYWQub3JnL21haWxtYW4vbGlzdGluZm8vbGludXgtYXJt LWtlcm5lbAo=