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 A54D4C433F5 for ; Tue, 22 Mar 2022 21:19:43 +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=eL20MTyAjTHM7nTzbT9QeVWkxNKbmy6EfSdmTml/nHg=; b=GgFyJz0A+1+ToK kLIgpJrsJc1b2G1ApKY6WKE/XlhLQmLdfgSWTE+8o6kOu/8U2QNKjIW8d9LmHJIhOK35VgP1i6UaT zzXyKXMH2oKPqKfes0LTdPEVK/JE/zVR7REG5vT5mQjGi4ciI/Ny5JrSZXYFFaAiAXhcqeY39XYL/ LSVBCZO0FYu2hONpIq8oOzJ9tRqAbq4y43oiBWcobzjQY8CggBZEp04kTU0BOyrByIqGGfbIty7RV /nwQ8ApSl/PW5X9iPheZ2Gd9W39eDECs/FcC0/PB68ilsnusTCN2sCFDtFOu6ZjLnTTFgZecFuvk2 M1t+pCIczpkg//U5cVmw==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1nWltN-00CBZc-CC; Tue, 22 Mar 2022 21:18:13 +0000 Received: from desiato.infradead.org ([2001:8b0:10b:1:d65d:64ff:fe57:4e05]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1nWltJ-00CBZV-Cs for linux-arm-kernel@bombadil.infradead.org; Tue, 22 Mar 2022 21:18:09 +0000 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=desiato.20200630; h=In-Reply-To:Content-Transfer-Encoding: Content-Type:MIME-Version:References:Message-ID:Subject:Cc:To:From:Date: Sender:Reply-To:Content-ID:Content-Description; bh=MVbsf5kXktayCt5Nw49xP2BIa8OdZQF0jg2YHgPlgNI=; b=DGs9B08sn/EoNjmdFah847iJ6n MiaRNE51k5GzSUVzVlubje08GX0YC4RXLfU6udC89EpvNzliN4QLlIKOeFt7EtMNMq0sCFC4o0rWV B6V/cFA0EU4EIV7b+bN6TKR57NkOGL0uiT44wOSErdIK0y5wuyW+LGowCriadM9lXrubfqIdDMyqe LGf4ybF7IechymZ8abaUb/Q98AWRJonnAmXNv3bHvrQCxuxBpOWF1wgAHDO9YeE30gSM0IlpRmaGj IBf74ODUP4AxDLjmIraUFRYE/sg+Yt1XUzkcfFUWwVFRSaakLqM0IrQwM5bWw8fW6P3S7RE9PraI5 MO9ElOTw==; Received: from [187.19.238.43] (helo=quaco.ghostprotocols.net) by desiato.infradead.org with esmtpsa (Exim 4.94.2 #2 (Red Hat Linux)) id 1nWltG-003ZAs-89; Tue, 22 Mar 2022 21:18:07 +0000 Received: by quaco.ghostprotocols.net (Postfix, from userid 1000) id 447B240407; Tue, 22 Mar 2022 18:18:03 -0300 (-03) Date: Tue, 22 Mar 2022 18:18:03 -0300 From: Arnaldo Carvalho de Melo To: Ali Saidi Cc: linux-kernel@vger.kernel.org, linux-perf-users@vger.kernel.org, linux-arm-kernel@lists.infradead.org, german.gomez@arm.com, leo.yan@linaro.org, benh@kernel.crashing.org, Nick.Forrington@arm.com, alexander.shishkin@linux.intel.com, andrew.kilroy@arm.com, james.clark@arm.com, john.garry@huawei.com, jolsa@kernel.org, kjain@linux.ibm.com, lihuafei1@huawei.com, mark.rutland@arm.com, mathieu.poirier@linaro.org, mingo@redhat.com, namhyung@kernel.org, peterz@infradead.org, will@kernel.org Subject: Re: [PATCH v3 1/3] perf arm-spe: Use SPE data source for neoverse cores Message-ID: References: <20220318195913.17459-1-alisaidi@amazon.com> <20220318195913.17459-2-alisaidi@amazon.com> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <20220318195913.17459-2-alisaidi@amazon.com> X-Url: http://acmel.wordpress.com 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 RW0gRnJpLCBNYXIgMTgsIDIwMjIgYXQgMDc6NTk6MTFQTSArMDAwMCwgQWxpIFNhaWRpIGVzY3Jl dmV1Ogo+IFdoZW4gc3ludGhlc2l6aW5nIGRhdGEgZnJvbSBTUEUsIGF1Z21lbnQgdGhlIHR5cGUg d2l0aCBzb3VyY2UgaW5mb3JtYXRpb24KPiBmb3IgQXJtIE5lb3ZlcnNlIGNvcmVzLiBUaGUgZmll bGQgaXMgSU1QTERFRiBidXQgdGhlIE5lb3ZlcnNlIGNvcmVzIGFsbCB1c2UKPiB0aGUgc2FtZSBl bmNvZGluZy4gSSBjYW4ndCBmaW5kIGVuY29kaW5nIGluZm9ybWF0aW9uIGZvciBhbnkgb3RoZXIg U1BFCj4gaW1wbGVtZW50YXRpb25zIHRvIHVuaWZ5IHRoZWlyIGNob2ljZXMgd2l0aCBBcm0ncyB0 aHVzIHRoYXQgaXMgbGVmdCBmb3IKPiBmdXR1cmUgd29yay4KPiAKPiBUaGlzIGNoYW5nZSBwb3B1 bGF0ZXMgdGhlIG1lbV9sdmxfbnVtIGZvciBOZW92ZXJzZSBjb3JlcyBpbnN0ZWFkIG9mIHRoZQo+ IGRlcHJlY2F0ZWQgbWVtX2x2bCBuYW1lc3BhY2UuCj4gCj4gU2lnbmVkLW9mZi1ieTogQWxpIFNh aWRpIDxhbGlzYWlkaUBhbWF6b24uY29tPgo+IC0tLQo+ICAuLi4vdXRpbC9hcm0tc3BlLWRlY29k ZXIvYXJtLXNwZS1kZWNvZGVyLmMgICAgfCAgIDEgKwo+ICAuLi4vdXRpbC9hcm0tc3BlLWRlY29k ZXIvYXJtLXNwZS1kZWNvZGVyLmggICAgfCAgMTIgKysKPiAgdG9vbHMvcGVyZi91dGlsL2FybS1z cGUuYyAgICAgICAgICAgICAgICAgICAgIHwgMTA5ICsrKysrKysrKysrKysrKy0tLQo+ICAzIGZp bGVzIGNoYW5nZWQsIDEwOCBpbnNlcnRpb25zKCspLCAxNCBkZWxldGlvbnMoLSkKPiAKPiBkaWZm IC0tZ2l0IGEvdG9vbHMvcGVyZi91dGlsL2FybS1zcGUtZGVjb2Rlci9hcm0tc3BlLWRlY29kZXIu YyBiL3Rvb2xzL3BlcmYvdXRpbC9hcm0tc3BlLWRlY29kZXIvYXJtLXNwZS1kZWNvZGVyLmMKPiBp bmRleCA1ZTM5MGExYTc5YWIuLjA5MTk4N2RkMzk2NiAxMDA2NDQKPiAtLS0gYS90b29scy9wZXJm L3V0aWwvYXJtLXNwZS1kZWNvZGVyL2FybS1zcGUtZGVjb2Rlci5jCj4gKysrIGIvdG9vbHMvcGVy Zi91dGlsL2FybS1zcGUtZGVjb2Rlci9hcm0tc3BlLWRlY29kZXIuYwo+IEBAIC0yMjAsNiArMjIw LDcgQEAgc3RhdGljIGludCBhcm1fc3BlX3JlYWRfcmVjb3JkKHN0cnVjdCBhcm1fc3BlX2RlY29k ZXIgKmRlY29kZXIpCj4gIAo+ICAJCQlicmVhazsKPiAgCQljYXNlIEFSTV9TUEVfREFUQV9TT1VS Q0U6Cj4gKwkJCWRlY29kZXItPnJlY29yZC5zb3VyY2UgPSBwYXlsb2FkOwo+ICAJCQlicmVhazsK PiAgCQljYXNlIEFSTV9TUEVfQkFEOgo+ICAJCQlicmVhazsKPiBkaWZmIC0tZ2l0IGEvdG9vbHMv cGVyZi91dGlsL2FybS1zcGUtZGVjb2Rlci9hcm0tc3BlLWRlY29kZXIuaCBiL3Rvb2xzL3BlcmYv dXRpbC9hcm0tc3BlLWRlY29kZXIvYXJtLXNwZS1kZWNvZGVyLmgKPiBpbmRleCA2OWIzMTA4NGQ2 YmUuLmM4MWJmOTBjMDk5NiAxMDA2NDQKPiAtLS0gYS90b29scy9wZXJmL3V0aWwvYXJtLXNwZS1k ZWNvZGVyL2FybS1zcGUtZGVjb2Rlci5oCj4gKysrIGIvdG9vbHMvcGVyZi91dGlsL2FybS1zcGUt ZGVjb2Rlci9hcm0tc3BlLWRlY29kZXIuaAo+IEBAIC0yOSw2ICsyOSwxNyBAQCBlbnVtIGFybV9z cGVfb3BfdHlwZSB7Cj4gIAlBUk1fU1BFX1NUCQk9IDEgPDwgMSwKPiAgfTsKPiAgCj4gK2VudW0g YXJtX3NwZV9uZW92ZXJzZV9kYXRhX3NvdXJjZSB7Cj4gKwlBUk1fU1BFX05WX0wxRCAgICAgICAg PSAweDAsCj4gKwlBUk1fU1BFX05WX0wyICAgICAgICAgPSAweDgsCj4gKwlBUk1fU1BFX05WX1BF RVJfQ09SRSAgPSAweDksCj4gKwlBUk1fU1BFX05WX0xDTF9DTFNUUiAgPSAweGEsCj4gKwlBUk1f U1BFX05WX1NZU19DQUNIRSAgPSAweGIsCj4gKwlBUk1fU1BFX05WX1BFRVJfQ0xTVFIgPSAweGMs Cj4gKwlBUk1fU1BFX05WX1JFTU9URSAgICAgPSAweGQsCj4gKwlBUk1fU1BFX05WX0RSQU0gICAg ICAgPSAweGUsCj4gK307Cj4gKwo+ICBzdHJ1Y3QgYXJtX3NwZV9yZWNvcmQgewo+ICAJZW51bSBh cm1fc3BlX3NhbXBsZV90eXBlIHR5cGU7Cj4gIAlpbnQgZXJyOwo+IEBAIC00MCw2ICs1MSw3IEBA IHN0cnVjdCBhcm1fc3BlX3JlY29yZCB7Cj4gIAl1NjQgdmlydF9hZGRyOwo+ICAJdTY0IHBoeXNf YWRkcjsKPiAgCXU2NCBjb250ZXh0X2lkOwo+ICsJdTE2IHNvdXJjZTsKPiAgfTsKPiAgCj4gIHN0 cnVjdCBhcm1fc3BlX2luc247Cj4gZGlmZiAtLWdpdCBhL3Rvb2xzL3BlcmYvdXRpbC9hcm0tc3Bl LmMgYi90b29scy9wZXJmL3V0aWwvYXJtLXNwZS5jCj4gaW5kZXggZDJiNjRlM2Y1ODhiLi5hNDVk NjM4ZDJmMDYgMTAwNjQ0Cj4gLS0tIGEvdG9vbHMvcGVyZi91dGlsL2FybS1zcGUuYwo+ICsrKyBi L3Rvb2xzL3BlcmYvdXRpbC9hcm0tc3BlLmMKPiBAQCAtMzQsNiArMzQsNyBAQAo+ICAjaW5jbHVk ZSAiYXJtLXNwZS1kZWNvZGVyL2FybS1zcGUtZGVjb2Rlci5oIgo+ICAjaW5jbHVkZSAiYXJtLXNw ZS1kZWNvZGVyL2FybS1zcGUtcGt0LWRlY29kZXIuaCIKPiAgCj4gKyNpbmNsdWRlIDwuLi8uLi8u Li9hcmNoL2FybTY0L2luY2x1ZGUvYXNtL2NwdXR5cGUuaD4KClRoaXMgaXNuJ3Qgd29ya2luZyBm b3IgbWU6CgrirKJbYWNtZUB0b29sYm94IHBlcmZdJCBtYWtlIEJVSUxEX0JQRl9TS0VMPTEgQ09S RVNJR0hUPTEgUFlUSE9OPXB5dGhvbjMgTz0vdG1wL2J1aWxkL3BlcmYgLUMgdG9vbHMvcGVyZiBp bnN0YWxsLWJpbgo8U05JUD4KICBDQyAgICAgIC90bXAvYnVpbGQvcGVyZi91dGlsL3BhcnNlLWV2 ZW50cy1mbGV4Lm8KICBDQyAgICAgIC90bXAvYnVpbGQvcGVyZi91dGlsL2V4cHItZmxleC5vCiAg Q0MgICAgICAvdG1wL2J1aWxkL3BlcmYvdXRpbC9leHByLm8KICBMRCAgICAgIC90bXAvYnVpbGQv cGVyZi91dGlsL2ludGVsLXB0LWRlY29kZXIvcGVyZi1pbi5vCkluIGZpbGUgaW5jbHVkZWQgZnJv bSB1dGlsL2FybS1zcGUuYzozNzoKL3Zhci9ob21lL2FjbWUvZ2l0L3BlcmYvdG9vbHMvaW5jbHVk ZS91YXBpLy4uLy4uLy4uL2FyY2gvYXJtNjQvaW5jbHVkZS9hc20vY3B1dHlwZS5oOjE3MzoxMDog ZmF0YWwgZXJyb3I6IGFzbS9zeXNyZWcuaDogTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQogIDE3 MyB8ICNpbmNsdWRlIDxhc20vc3lzcmVnLmg+CiAgICAgIHwgICAgICAgICAgXn5+fn5+fn5+fn5+ fn4KY29tcGlsYXRpb24gdGVybWluYXRlZC4KbWFrZVs0XTogKioqIFsvdmFyL2hvbWUvYWNtZS9n aXQvcGVyZi90b29scy9idWlsZC9NYWtlZmlsZS5idWlsZDo5NjogL3RtcC9idWlsZC9wZXJmL3V0 aWwvYXJtLXNwZS5vXSBFcnJvciAxCm1ha2VbNF06ICoqKiBXYWl0aW5nIGZvciB1bmZpbmlzaGVk IGpvYnMuLi4uCm1ha2VbM106ICoqKiBbL3Zhci9ob21lL2FjbWUvZ2l0L3BlcmYvdG9vbHMvYnVp bGQvTWFrZWZpbGUuYnVpbGQ6MTM5OiB1dGlsXSBFcnJvciAyCm1ha2VbMl06ICoqKiBbTWFrZWZp bGUucGVyZjo2NjU6IC90bXAvYnVpbGQvcGVyZi9wZXJmLWluLm9dIEVycm9yIDIKbWFrZVsxXTog KioqIFtNYWtlZmlsZS5wZXJmOjI0MDogc3ViLW1ha2VdIEVycm9yIDIKbWFrZTogKioqIFtNYWtl ZmlsZToxMTM6IGluc3RhbGwtYmluXSBFcnJvciAyCm1ha2U6IExlYXZpbmcgZGlyZWN0b3J5ICcv dmFyL2hvbWUvYWNtZS9naXQvcGVyZi90b29scy9wZXJmJwoKCkNhbiB5b3UgcGxlYXNlIHRha2Ug YSBsb29rPwoKV2hhdCBJIGhhdmUgaXMgaW4gbXkgdG1wLnBlcmYvY29yZSBicmFuY2gsIHBlbmRp bmcgZnVydGhlciB0ZXN0cyB0byBtb3ZlCnRvIHBlcmYvY29yZSBhdCBnaXQ6Ly9naXQua2VybmVs Lm9yZy9wdWIvc2NtL2xpbnV4L2tlcm5lbC9naXQvYWNtZS9saW51eC5naXQKCkkgc2VlOgoKWW91 J3JlIGdldHRpbmcgb3V0IG9mIHRvb2xzLwoK4qyiW2FjbWVAdG9vbGJveCBwZXJmXSQgcmVhbHBh dGggL3Zhci9ob21lL2FjbWUvZ2l0L3BlcmYvdG9vbHMvaW5jbHVkZS91YXBpLy4uLy4uLy4uL2Fy Y2gvYXJtNjQvaW5jbHVkZS9hc20vY3B1dHlwZS5oCi92YXIvaG9tZS9hY21lL2dpdC9wZXJmL2Fy Y2gvYXJtNjQvaW5jbHVkZS9hc20vY3B1dHlwZS5oCuKsolthY21lQHRvb2xib3ggcGVyZl0kCgpZ b3UgY2FuJ3QgaW5jbHVkZSB0aGluZ3MgZnJvbSBvdXRzaWRlIHRvb2xzLyBpbnRvIHRvb2xzIGNv ZGUuIFNlZSB0aGlzOgoKLXJ3LXItLXItLS4gMSBhY21lIGFjbWUgNDQ1MDYgTWFyIDE0IDE3OjU1 IHRvb2xzL2FyY2gvYXJtNjQvaW5jbHVkZS9hc20vc3lzcmVnLmgK4qyiW2FjbWVAdG9vbGJveCBw ZXJmXSQgZ2l0IGxvZyB0b29scy9hcmNoL2FybTY0L2luY2x1ZGUvYXNtL3N5c3JlZy5oCmNvbW1p dCAyNzJhMDY3ZGYzYzg5ZjZmMjE3NmEzNTBmODg2NjE2MjVhMmM4YjNiCkF1dGhvcjogUmFnaGF2 ZW5kcmEgUmFvIEFuYW50YSA8cmFuYW50YUBnb29nbGUuY29tPgpEYXRlOiAgIFRodSBPY3QgNyAy MzozNDoyNiAyMDIxICswMDAwCgogICAgdG9vbHM6IGFybTY0OiBJbXBvcnQgc3lzcmVnLmgKCiAg ICBCcmluZy1pbiB0aGUga2VybmVsJ3MgYXJjaC9hcm02NC9pbmNsdWRlL2FzbS9zeXNyZWcuaAog ICAgaW50byB0b29scy8gZm9yIGFybTY0IHRvIG1ha2UgdXNlIG9mIGFsbCB0aGUgc3RhbmRhcmQK ICAgIHJlZ2lzdGVyIGRlZmluaXRpb25zIGluIGNvbnNpc3RlbmNlIHdpdGggdGhlIGtlcm5lbC4K CiAgICBNYWtlIHVzZSBvZiB0aGUgcmVnaXN0ZXIgcmVhZC93cml0ZSBkZWZpbml0aW9ucyBmcm9t CiAgICBzeXNyZWcuaCwgaW5zdGVhZCBvZiB0aGUgZXhpc3RpbmcgZGVmaW5pdGlvbnMuIEEgc3lu dGF4CiAgICBjb3JyZWN0aW9uIGlzIG5lZWRlZCBmb3IgdGhlIGZpbGVzIHRoYXQgdXNlIHdyaXRl X3N5c3JlZygpCiAgICB0byBtYWtlIGl0IGNvbXBsaWFudCB3aXRoIHRoZSBuZXcgKGtlcm5lbCdz KSBzeW50YXguCgogICAgUmV2aWV3ZWQtYnk6IEFuZHJldyBKb25lcyA8ZHJqb25lc0ByZWRoYXQu Y29tPgogICAgUmV2aWV3ZWQtYnk6IE9saXZlciBVcHRvbiA8b3VwdG9uQGdvb2dsZS5jb20+CiAg ICBTaWduZWQtb2ZmLWJ5OiBSYWdoYXZlbmRyYSBSYW8gQW5hbnRhIDxyYW5hbnRhQGdvb2dsZS5j b20+CiAgICBbbWF6OiBzcXVhc2hlZCB0d28gY29tbWl0cyBpbiBvcmRlciB0byBrZWVwIHRoZSBz ZXJpZXMgYmlzZWN0YWJsZV0KICAgIFNpZ25lZC1vZmYtYnk6IE1hcmMgWnluZ2llciA8bWF6QGtl cm5lbC5vcmc+CiAgICBMaW5rOiBodHRwczovL2xvcmUua2VybmVsLm9yZy9yLzIwMjExMDA3MjMz NDM5LjE4MjY4OTItMy1yYW5hbnRhQGdvb2dsZS5jb20KICAgIExpbms6IGh0dHBzOi8vbG9yZS5r ZXJuZWwub3JnL3IvMjAyMTEwMDcyMzM0MzkuMTgyNjg5Mi00LXJhbmFudGFAZ29vZ2xlLmNvbQri rKJbYWNtZUB0b29sYm94IHBlcmZdJAoKU28gd2UgbmVlZCB0byBicmluZyBhc20vY3B1dHlwZS5o IGFzIHdlbGwuCgpQbGVhc2UgdHJ5IGFkZGluZyB0aGF0IG9uZSBhcyBhIHByZXAgcGF0Y2ggYmVm b3JlIHRoZXNlIHRocmVlIGFuZCB0aGVuCnRlc3QgaXQgYW5kIHJlc3VibWl0LAoKVGhhbmtzLAoK LSBBcm5hbGRvCgo+ICAjZGVmaW5lIE1BWF9USU1FU1RBTVAgKH4wVUxMKQo+ICAKPiAgc3RydWN0 IGFybV9zcGUgewo+IEBAIC00NSw2ICs0Niw3IEBAIHN0cnVjdCBhcm1fc3BlIHsKPiAgCXN0cnVj dCBwZXJmX3Nlc3Npb24JCSpzZXNzaW9uOwo+ICAJc3RydWN0IG1hY2hpbmUJCQkqbWFjaGluZTsK PiAgCXUzMgkJCQlwbXVfdHlwZTsKPiArCXU2NAkJCQltaWRyOwo+ICAKPiAgCXN0cnVjdCBwZXJm X3RzY19jb252ZXJzaW9uCXRjOwo+ICAKPiBAQCAtMzk5LDMzICs0MDEsMTA5IEBAIHN0YXRpYyBi b29sIGFybV9zcGVfX2lzX21lbW9yeV9ldmVudChlbnVtIGFybV9zcGVfc2FtcGxlX3R5cGUgdHlw ZSkKPiAgCXJldHVybiBmYWxzZTsKPiAgfQo+ICAKPiAtc3RhdGljIHU2NCBhcm1fc3BlX19zeW50 aF9kYXRhX3NvdXJjZShjb25zdCBzdHJ1Y3QgYXJtX3NwZV9yZWNvcmQgKnJlY29yZCkKPiArc3Rh dGljIGNvbnN0IHN0cnVjdCBtaWRyX3JhbmdlIG5lb3ZlcnNlX3NwZVtdID0gewo+ICsJTUlEUl9B TExfVkVSU0lPTlMoTUlEUl9ORU9WRVJTRV9OMSksCj4gKwlNSURSX0FMTF9WRVJTSU9OUyhNSURS X05FT1ZFUlNFX04yKSwKPiArCXt9LAo+ICt9Owo+ICsKPiArCj4gK3N0YXRpYyB2b2lkIGFybV9z cGVfX3N5bnRoX2RhdGFfc291cmNlX25lb3ZlcnNlKGNvbnN0IHN0cnVjdCBhcm1fc3BlX3JlY29y ZCAqcmVjb3JkLAo+ICsJCQkJCQl1bmlvbiBwZXJmX21lbV9kYXRhX3NyYyAqZGF0YV9zcmMpCj4g IHsKPiAtCXVuaW9uIHBlcmZfbWVtX2RhdGFfc3JjCWRhdGFfc3JjID0geyAwIH07Cj4gKwkvKgo+ ICsJICogRXZlbiB0aG91Z2ggZm91ciBsZXZlbHMgb2YgY2FjaGUgaGllcmFyY2h5IGFyZSBwb3Nz aWJsZSwgbm8ga25vd24KPiArCSAqIHByb2R1Y3Rpb24gTmVvdmVyc2Ugc3lzdGVtcyBjdXJyZW50 bHkgaW5jbHVkZSBtb3JlIHRoYW4gdGhyZWUgbGV2ZWxzCj4gKwkgKiBzbyBmb3IgdGhlIHRpbWUg YmVpbmcgd2UgYXNzdW1lIHRocmVlIGV4aXN0LiBJZiBhIHByb2R1Y3Rpb24gc3lzdGVtCj4gKwkg KiBpcyBidWlsdCB3aXRoIGZvdXIgdGhlIHRoaXMgZnVuY3Rpb24gd291bGQgaGF2ZSB0byBiZSBj aGFuZ2VkIHRvCj4gKwkgKiBkZXRlY3QgdGhlIG51bWJlciBvZiBsZXZlbHMgZm9yIHJlcG9ydGlu Zy4KPiArCSAqLwo+ICAKPiAtCWlmIChyZWNvcmQtPm9wID09IEFSTV9TUEVfTEQpCj4gLQkJZGF0 YV9zcmMubWVtX29wID0gUEVSRl9NRU1fT1BfTE9BRDsKPiAtCWVsc2UKPiAtCQlkYXRhX3NyYy5t ZW1fb3AgPSBQRVJGX01FTV9PUF9TVE9SRTsKPiArCXN3aXRjaCAocmVjb3JkLT5zb3VyY2UpIHsK PiArCWNhc2UgQVJNX1NQRV9OVl9MMUQ6Cj4gKwkJZGF0YV9zcmMtPm1lbV9sdmwgPSBQRVJGX01F TV9MVkxfSElUOwo+ICsJCWRhdGFfc3JjLT5tZW1fbHZsX251bSA9IFBFUkZfTUVNX0xWTE5VTV9M MTsKPiArCQlicmVhazsKPiArCWNhc2UgQVJNX1NQRV9OVl9MMjoKPiArCQlkYXRhX3NyYy0+bWVt X2x2bCA9IFBFUkZfTUVNX0xWTF9ISVQ7Cj4gKwkJZGF0YV9zcmMtPm1lbV9sdmxfbnVtID0gUEVS Rl9NRU1fTFZMTlVNX0wyOwo+ICsJCWJyZWFrOwo+ICsJY2FzZSBBUk1fU1BFX05WX1BFRVJfQ09S RToKPiArCQlkYXRhX3NyYy0+bWVtX2x2bCA9IFBFUkZfTUVNX0xWTF9ISVQ7Cj4gKwkJZGF0YV9z cmMtPm1lbV9zbm9vcCA9IFBFUkZfTUVNX1NOT09QX0hJVE07Cj4gKwkJZGF0YV9zcmMtPm1lbV9s dmxfbnVtID0gUEVSRl9NRU1fTFZMTlVNX0FOWV9DQUNIRTsKPiArCQlicmVhazsKPiArCS8qCj4g KwkgKiBXZSBkb24ndCBrbm93IGlmIHRoaXMgaXMgTDEsIEwyIGJ1dCB3ZSBkbyBrbm93IGl0IHdh cyBhIGNhY2hlLTItY2FjaGUKPiArCSAqIHRyYW5zZmVyLCBzbyBzZXQgU05PT1BfSElUTQo+ICsJ ICovCj4gKwljYXNlIEFSTV9TUEVfTlZfTENMX0NMU1RSOgo+ICsJY2FzZSBBUk1fU1BFX05WX1BF RVJfQ0xTVFI6Cj4gKwkJZGF0YV9zcmMtPm1lbV9sdmwgPSBQRVJGX01FTV9MVkxfSElUOwo+ICsJ CWRhdGFfc3JjLT5tZW1fc25vb3AgPSBQRVJGX01FTV9TTk9PUF9ISVRNOwo+ICsJCWRhdGFfc3Jj LT5tZW1fbHZsX251bSA9IFBFUkZfTUVNX0xWTE5VTV9BTllfQ0FDSEU7Cj4gKwkJYnJlYWs7Cj4g KwkvKgo+ICsJICogU3lzdGVtIGNhY2hlIGlzIGFzc3VtZWQgdG8gYmUgTDMKPiArCSAqLwo+ICsJ Y2FzZSBBUk1fU1BFX05WX1NZU19DQUNIRToKPiArCQlkYXRhX3NyYy0+bWVtX2x2bCA9IFBFUkZf TUVNX0xWTF9ISVQ7Cj4gKwkJZGF0YV9zcmMtPm1lbV9sdmxfbnVtID0gUEVSRl9NRU1fTFZMTlVN X0wzOwo+ICsJCWJyZWFrOwo+ICsJLyoKPiArCSAqIFdlIGRvbid0IGtub3cgd2hhdCBsZXZlbCBp dCBoaXQgaW4sIGV4Y2VwdCBpdCBjYW1lIGZyb20gdGhlIG90aGVyCj4gKwkgKiBzb2NrZXQKPiAr CSAqLwo+ICsJY2FzZSBBUk1fU1BFX05WX1JFTU9URToKPiArCQlkYXRhX3NyYy0+bWVtX3Nub29w ID0gUEVSRl9NRU1fU05PT1BfSElUTTsKPiArCQlkYXRhX3NyYy0+bWVtX3JlbW90ZSA9IFBFUkZf TUVNX1JFTU9URV9SRU1PVEU7Cj4gKwkJYnJlYWs7Cj4gKwljYXNlIEFSTV9TUEVfTlZfRFJBTToK PiArCQlkYXRhX3NyYy0+bWVtX2x2bCA9IFBFUkZfTUVNX0xWTF9ISVQ7Cj4gKwkJZGF0YV9zcmMt Pm1lbV9sdmxfbnVtID0gUEVSRl9NRU1fTFZMTlVNX1JBTTsKPiArCQlicmVhazsKPiArCWRlZmF1 bHQ6Cj4gKwkJYnJlYWs7Cj4gKwl9Cj4gK30KPiAgCj4gK3N0YXRpYyB2b2lkIGFybV9zcGVfX3N5 bnRoX2RhdGFfc291cmNlX2dlbmVyaWMoY29uc3Qgc3RydWN0IGFybV9zcGVfcmVjb3JkICpyZWNv cmQsCj4gKwkJCQkJCXVuaW9uIHBlcmZfbWVtX2RhdGFfc3JjICpkYXRhX3NyYykKPiArewo+ICAJ aWYgKHJlY29yZC0+dHlwZSAmIChBUk1fU1BFX0xMQ19BQ0NFU1MgfCBBUk1fU1BFX0xMQ19NSVNT KSkgewo+IC0JCWRhdGFfc3JjLm1lbV9sdmwgPSBQRVJGX01FTV9MVkxfTDM7Cj4gKwkJZGF0YV9z cmMtPm1lbV9sdmwgPSBQRVJGX01FTV9MVkxfTDM7Cj4gIAo+ICAJCWlmIChyZWNvcmQtPnR5cGUg JiBBUk1fU1BFX0xMQ19NSVNTKQo+IC0JCQlkYXRhX3NyYy5tZW1fbHZsIHw9IFBFUkZfTUVNX0xW TF9NSVNTOwo+ICsJCQlkYXRhX3NyYy0+bWVtX2x2bCB8PSBQRVJGX01FTV9MVkxfTUlTUzsKPiAg CQllbHNlCj4gLQkJCWRhdGFfc3JjLm1lbV9sdmwgfD0gUEVSRl9NRU1fTFZMX0hJVDsKPiArCQkJ ZGF0YV9zcmMtPm1lbV9sdmwgfD0gUEVSRl9NRU1fTFZMX0hJVDsKPiAgCX0gZWxzZSBpZiAocmVj b3JkLT50eXBlICYgKEFSTV9TUEVfTDFEX0FDQ0VTUyB8IEFSTV9TUEVfTDFEX01JU1MpKSB7Cj4g LQkJZGF0YV9zcmMubWVtX2x2bCA9IFBFUkZfTUVNX0xWTF9MMTsKPiArCQlkYXRhX3NyYy0+bWVt X2x2bCA9IFBFUkZfTUVNX0xWTF9MMTsKPiAgCj4gIAkJaWYgKHJlY29yZC0+dHlwZSAmIEFSTV9T UEVfTDFEX01JU1MpCj4gLQkJCWRhdGFfc3JjLm1lbV9sdmwgfD0gUEVSRl9NRU1fTFZMX01JU1M7 Cj4gKwkJCWRhdGFfc3JjLT5tZW1fbHZsIHw9IFBFUkZfTUVNX0xWTF9NSVNTOwo+ICAJCWVsc2UK PiAtCQkJZGF0YV9zcmMubWVtX2x2bCB8PSBQRVJGX01FTV9MVkxfSElUOwo+ICsJCQlkYXRhX3Ny Yy0+bWVtX2x2bCB8PSBQRVJGX01FTV9MVkxfSElUOwo+ICAJfQo+ICAKPiAgCWlmIChyZWNvcmQt PnR5cGUgJiBBUk1fU1BFX1JFTU9URV9BQ0NFU1MpCj4gLQkJZGF0YV9zcmMubWVtX2x2bCB8PSBQ RVJGX01FTV9MVkxfUkVNX0NDRTE7Cj4gKwkJZGF0YV9zcmMtPm1lbV9sdmwgfD0gUEVSRl9NRU1f TFZMX1JFTV9DQ0UxOwo+ICt9Cj4gKwo+ICtzdGF0aWMgdTY0IGFybV9zcGVfX3N5bnRoX2RhdGFf c291cmNlKGNvbnN0IHN0cnVjdCBhcm1fc3BlX3JlY29yZCAqcmVjb3JkLCB1NjQgbWlkcikKPiAr ewo+ICsJdW5pb24gcGVyZl9tZW1fZGF0YV9zcmMJZGF0YV9zcmMgPSB7IDAgfTsKPiArCWJvb2wg aXNfbmVvdmVyc2UgPSBpc19taWRyX2luX3JhbmdlKG1pZHIsIG5lb3ZlcnNlX3NwZSk7Cj4gKwo+ ICsJaWYgKHJlY29yZC0+b3AgJiBBUk1fU1BFX0xEKQo+ICsJCWRhdGFfc3JjLm1lbV9vcCA9IFBF UkZfTUVNX09QX0xPQUQ7Cj4gKwllbHNlCj4gKwkJZGF0YV9zcmMubWVtX29wID0gUEVSRl9NRU1f T1BfU1RPUkU7Cj4gKwo+ICsJaWYgKGlzX25lb3ZlcnNlKQo+ICsJCWFybV9zcGVfX3N5bnRoX2Rh dGFfc291cmNlX25lb3ZlcnNlKHJlY29yZCwgJmRhdGFfc3JjKTsKPiArCWVsc2UKPiArCQlhcm1f c3BlX19zeW50aF9kYXRhX3NvdXJjZV9nZW5lcmljKHJlY29yZCwgJmRhdGFfc3JjKTsKPiAgCj4g IAlpZiAocmVjb3JkLT50eXBlICYgKEFSTV9TUEVfVExCX0FDQ0VTUyB8IEFSTV9TUEVfVExCX01J U1MpKSB7Cj4gIAkJZGF0YV9zcmMubWVtX2R0bGIgPSBQRVJGX01FTV9UTEJfV0s7Cj4gQEAgLTQ0 Niw3ICs1MjQsNyBAQCBzdGF0aWMgaW50IGFybV9zcGVfc2FtcGxlKHN0cnVjdCBhcm1fc3BlX3F1 ZXVlICpzcGVxKQo+ICAJdTY0IGRhdGFfc3JjOwo+ICAJaW50IGVycjsKPiAgCj4gLQlkYXRhX3Ny YyA9IGFybV9zcGVfX3N5bnRoX2RhdGFfc291cmNlKHJlY29yZCk7Cj4gKwlkYXRhX3NyYyA9IGFy bV9zcGVfX3N5bnRoX2RhdGFfc291cmNlKHJlY29yZCwgc3BlLT5taWRyKTsKPiAgCj4gIAlpZiAo c3BlLT5zYW1wbGVfZmxjKSB7Cj4gIAkJaWYgKHJlY29yZC0+dHlwZSAmIEFSTV9TUEVfTDFEX01J U1MpIHsKPiBAQCAtMTE4Myw2ICsxMjYxLDggQEAgaW50IGFybV9zcGVfcHJvY2Vzc19hdXh0cmFj ZV9pbmZvKHVuaW9uIHBlcmZfZXZlbnQgKmV2ZW50LAo+ICAJc3RydWN0IHBlcmZfcmVjb3JkX2F1 eHRyYWNlX2luZm8gKmF1eHRyYWNlX2luZm8gPSAmZXZlbnQtPmF1eHRyYWNlX2luZm87Cj4gIAlz aXplX3QgbWluX3N6ID0gc2l6ZW9mKHU2NCkgKiBBUk1fU1BFX0FVWFRSQUNFX1BSSVZfTUFYOwo+ ICAJc3RydWN0IHBlcmZfcmVjb3JkX3RpbWVfY29udiAqdGMgPSAmc2Vzc2lvbi0+dGltZV9jb252 Owo+ICsJY29uc3QgY2hhciAqY3B1aWQgPSBwZXJmX2Vudl9fY3B1aWQoc2Vzc2lvbi0+ZXZsaXN0 LT5lbnYpOwo+ICsJdTY0IG1pZHIgPSBzdHJ0b2woY3B1aWQsIE5VTEwsIDE2KTsKPiAgCXN0cnVj dCBhcm1fc3BlICpzcGU7Cj4gIAlpbnQgZXJyOwo+ICAKPiBAQCAtMTIwMiw2ICsxMjgyLDcgQEAg aW50IGFybV9zcGVfcHJvY2Vzc19hdXh0cmFjZV9pbmZvKHVuaW9uIHBlcmZfZXZlbnQgKmV2ZW50 LAo+ICAJc3BlLT5tYWNoaW5lID0gJnNlc3Npb24tPm1hY2hpbmVzLmhvc3Q7IC8qIE5vIGt2bSBz dXBwb3J0ICovCj4gIAlzcGUtPmF1eHRyYWNlX3R5cGUgPSBhdXh0cmFjZV9pbmZvLT50eXBlOwo+ ICAJc3BlLT5wbXVfdHlwZSA9IGF1eHRyYWNlX2luZm8tPnByaXZbQVJNX1NQRV9QTVVfVFlQRV07 Cj4gKwlzcGUtPm1pZHIgPSBtaWRyOwo+ICAKPiAgCXNwZS0+dGltZWxlc3NfZGVjb2RpbmcgPSBh cm1fc3BlX19pc190aW1lbGVzc19kZWNvZGluZyhzcGUpOwo+ICAKPiAtLSAKPiAyLjMyLjAKCi0t IAoKLSBBcm5hbGRvCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fXwpsaW51eC1hcm0ta2VybmVsIG1haWxpbmcgbGlzdApsaW51eC1hcm0ta2VybmVsQGxpc3Rz LmluZnJhZGVhZC5vcmcKaHR0cDovL2xpc3RzLmluZnJhZGVhZC5vcmcvbWFpbG1hbi9saXN0aW5m by9saW51eC1hcm0ta2VybmVsCg==