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 819E0C74A5B for ; Wed, 29 Mar 2023 12:42:11 +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=oB6MXnO1i+aEcJ+SmpK30S6g4MnsUtvwbJB1kJInC0A=; b=l9tjIQtio7RqyZ fgaNQO5cA0ov0AdZW9jWBAQLe/frl0RktOK4DrZF9yNe/Dlaszm00SCxG55a8ccBNijs4YSKaP0A9 hC3yj1k0OepRJDF3Icc5WFBE8ldoYPQbwXImOw9C+5+qXHN0VwwzZBUCp1E5zzylimuiB3ZaEImtU GyYYW0GG7wSUw6Y4HQb6XwDubeiSa5xDqjq+nbGhDG0qwxXIK5bU0dbr73LfSlN5Y0woGUp7IFHb5 doX/hTZeXhsGdaGYKuLc+xcer5eU9yLfsP0uAxpXQPsWBAuU60Y+0BK4UFZdhRy1OUXkMRnf/fXFk c6bdpuZHhQT2Bx3PZpig==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.96 #2 (Red Hat Linux)) id 1phV77-000DTe-0n; Wed, 29 Mar 2023 12:41:17 +0000 Received: from desiato.infradead.org ([2001:8b0:10b:1:d65d:64ff:fe57:4e05]) by bombadil.infradead.org with esmtps (Exim 4.96 #2 (Red Hat Linux)) id 1phV76-000DT8-02 for linux-arm-kernel@bombadil.infradead.org; Wed, 29 Mar 2023 12:41:16 +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=LA5hL94sdSAXcmgLU/dwaB0Vckfvbat3lwJYrj31c/E=; b=d8ABe/EVRNWa/6HGnRtmWi+bWo UAq6QE56rwAlFIWOwkTa97dX+h4G2t3iV4O5AzhLquarkTrWoJYY6Z4X9cvxtu6XactCmrqaksHO5 yjtrPkrKTBx0goN7hGba5FUfFFu1CEOaE6K83YA/6cJYkUPeN5TS8E7gYK7JyvC4QG4A3tMLt9is0 QKv3GRkrl5n3dqo4KjAy485bLk6a3zHqj7cDf0rCq8VHzYLZc20R6YzKcVm6gYu34b8V+DL6iAm6d ayl9bjzY/hZaJIH0dzkRrqblD78T714FXu6nyKT3EXNq7/c1fToyydfPD26pwQk7p6Xe7LOkNSYrw nYSvjRRw==; Received: from [187.19.239.165] (helo=quaco.ghostprotocols.net) by desiato.infradead.org with esmtpsa (Exim 4.96 #2 (Red Hat Linux)) id 1phV72-006qZu-2k; Wed, 29 Mar 2023 12:41:13 +0000 Received: by quaco.ghostprotocols.net (Postfix, from userid 1000) id B3D304052D; Wed, 29 Mar 2023 09:41:08 -0300 (-03) Date: Wed, 29 Mar 2023 09:41:08 -0300 From: Arnaldo Carvalho de Melo To: Mike Leach Cc: linux-perf-users@vger.kernel.org, linux-arm-kernel@lists.infradead.org, coresight@lists.linaro.org, linux-kernel@vger.kernel.org, suzuki.poulose@arm.com, leo.yan@linaro.org, peterz@infradead.org, mingo@redhat.com, will@kernel.org, john.garry@huawei.com, mark.rutland@arm.com, alexander.shishkin@linux.intel.com, jolsa@redhat.com, namhyung@kernel.org, gankulkarni@os.amperecomputing.com, darren@os.amperecomputing.com, James Clark Subject: Re: [PATCH v8 1/3] perf: cs-etm: Move mapping of Trace ID and cpu into helper function Message-ID: References: <20230329111422.3693-1-mike.leach@linaro.org> <20230329111422.3693-2-mike.leach@linaro.org> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <20230329111422.3693-2-mike.leach@linaro.org> 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 RW0gV2VkLCBNYXIgMjksIDIwMjMgYXQgMTI6MTQ6MjBQTSArMDEwMCwgTWlrZSBMZWFjaCBlc2Ny ZXZldToKPiBUaGUgaW5mb3JtYXRpb24gdG8gYXNzb2NpYXRlIFRyYWNlIElEIGFuZCBDUFUgd2ls bCBiZSBjaGFuZ2luZy4KPiAKPiBEcml2ZXJzIHdpbGwgc3RhcnQgb3V0cHV0dGluZyB0aGlzIGFz IGEgaGFyZHdhcmUgSUQgcGFja2V0IGluIHRoZSBkYXRhCj4gZmlsZSB3aGljaCBpZiBwcmVzZW50 IHdpbGwgYmUgdXNlZCBpbiBwcmVmZXJlbmNlIHRvIHRoZSBBVVhJTkZPIHZhbHVlcy4KCiAgQ0Mg ICAgICAvdG1wL2J1aWxkL3BlcmYtdG9vbHMtbmV4dC91dGlsL3N5bWJvbC1lbGYubwogIExEICAg ICAgL3RtcC9idWlsZC9wZXJmLXRvb2xzLW5leHQvdXRpbC9jcy1ldG0tZGVjb2Rlci9wZXJmLWlu Lm8KdXRpbC9jcy1ldG0uYzogSW4gZnVuY3Rpb24g4oCYY3NfZXRtX19wcm9jZXNzX2F1eHRyYWNl X2luZm9fZnVsbOKAmToKdXRpbC9jcy1ldG0uYzoyODY2OjI2OiBlcnJvcjogdW51c2VkIHZhcmlh YmxlIOKAmGlub2Rl4oCZIFstV2Vycm9yPXVudXNlZC12YXJpYWJsZV0KIDI4NjYgfCAgICAgICAg IHN0cnVjdCBpbnRfbm9kZSAqaW5vZGU7CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAg IF5+fn5+CmNjMTogYWxsIHdhcm5pbmdzIGJlaW5nIHRyZWF0ZWQgYXMgZXJyb3JzCm1ha2VbNF06 ICoqKiBbL3Zhci9ob21lL2FjbWUvZ2l0L3BlcmYtdG9vbHMtbmV4dC90b29scy9idWlsZC9NYWtl ZmlsZS5idWlsZDo5NzogL3RtcC9idWlsZC9wZXJmLXRvb2xzLW5leHQvdXRpbC9jcy1ldG0ub10g RXJyb3IgMQptYWtlWzRdOiAqKiogV2FpdGluZyBmb3IgdW5maW5pc2hlZCBqb2JzLi4uLgpnbWFr ZVszXTogKioqIFsvdmFyL2hvbWUvYWNtZS9naXQvcGVyZi10b29scy1uZXh0L3Rvb2xzL2J1aWxk L01ha2VmaWxlLmJ1aWxkOjE0MDogdXRpbF0gRXJyCgpUcnlpbmcgdG8gZml4Li4uCiAKPiBUbyBw cmVwYXJlIGZvciB0aGlzIHdlIHByb3ZpZGUgYSBoZWxwZXIgZnVuY3Rpb25zIHRvIGRvIHRoZSBp bmRpdmlkdWFsIElECj4gbWFwcGluZywgYW5kIG9uZSB0byBleHRyYWN0IHRoZSBJRHMgZnJvbSB0 aGUgY29tcGxldGVkIG1ldGFkYXRhIGJsb2Nrcy4KPiAKPiBTaWduZWQtb2ZmLWJ5OiBNaWtlIExl YWNoIDxtaWtlLmxlYWNoQGxpbmFyby5vcmc+Cj4gUmV2aWV3ZWQtYnk6IEphbWVzIENsYXJrIDxq YW1lcy5jbGFya0Bhcm0uY29tPgo+IEFja2VkLWJ5OiBTdXp1a2kgSyBQb3Vsb3NlIDxzdXp1a2ku cG91bG9zZUBhcm0uY29tPgo+IC0tLQo+ICB0b29scy9pbmNsdWRlL2xpbnV4L2NvcmVzaWdodC1w bXUuaCB8ICA1ICsrCj4gIHRvb2xzL3BlcmYvdXRpbC9jcy1ldG0uYyAgICAgICAgICAgIHwgOTEg KysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0KPiAgdG9vbHMvcGVyZi91dGlsL2NzLWV0bS5o ICAgICAgICAgICAgfCAxNCArKysrLQo+ICAzIGZpbGVzIGNoYW5nZWQsIDc3IGluc2VydGlvbnMo KyksIDMzIGRlbGV0aW9ucygtKQo+IAo+IGRpZmYgLS1naXQgYS90b29scy9pbmNsdWRlL2xpbnV4 L2NvcmVzaWdodC1wbXUuaCBiL3Rvb2xzL2luY2x1ZGUvbGludXgvY29yZXNpZ2h0LXBtdS5oCj4g aW5kZXggNmMyZmQ2Y2M1YTk4Li5kYjljN2MwYWJiNmEgMTAwNjQ0Cj4gLS0tIGEvdG9vbHMvaW5j bHVkZS9saW51eC9jb3Jlc2lnaHQtcG11LmgKPiArKysgYi90b29scy9pbmNsdWRlL2xpbnV4L2Nv cmVzaWdodC1wbXUuaAo+IEBAIC03LDkgKzcsMTQgQEAKPiAgI2lmbmRlZiBfTElOVVhfQ09SRVNJ R0hUX1BNVV9ICj4gICNkZWZpbmUgX0xJTlVYX0NPUkVTSUdIVF9QTVVfSAo+ICAKPiArI2luY2x1 ZGUgPGxpbnV4L2JpdHMuaD4KPiArCj4gICNkZWZpbmUgQ09SRVNJR0hUX0VUTV9QTVVfTkFNRSAi Y3NfZXRtIgo+ICAjZGVmaW5lIENPUkVTSUdIVF9FVE1fUE1VX1NFRUQgIDB4MTAKPiAgCj4gKy8q IENvcmVTaWdodCB0cmFjZSBJRCBpcyBjdXJyZW50bHkgdGhlIGJvdHRvbSA3IGJpdHMgb2YgdGhl IHZhbHVlICovCj4gKyNkZWZpbmUgQ09SRVNJR0hUX1RSQUNFX0lEX1ZBTF9NQVNLCUdFTk1BU0so NiwgMCkKPiArCj4gIC8qCj4gICAqIEJlbG93IGFyZSB0aGUgZGVmaW5pdGlvbiBvZiBiaXQgb2Zm c2V0cyBmb3IgcGVyZiBvcHRpb24sIGFuZCB3b3JrcyBhcwo+ICAgKiBhcmJpdHJhcnkgdmFsdWVz IGZvciBhbGwgRVRNIHZlcnNpb25zLgo+IGRpZmYgLS1naXQgYS90b29scy9wZXJmL3V0aWwvY3Mt ZXRtLmMgYi90b29scy9wZXJmL3V0aWwvY3MtZXRtLmMKPiBpbmRleCBmNjViYWM1ZGRiZGIuLmY2 Y2EwN2Y2OGIyNSAxMDA2NDQKPiAtLS0gYS90b29scy9wZXJmL3V0aWwvY3MtZXRtLmMKPiArKysg Yi90b29scy9wZXJmL3V0aWwvY3MtZXRtLmMKPiBAQCAtMTk2LDYgKzE5NiwzMCBAQCBpbnQgY3Nf ZXRtX19nZXRfcGlkX2ZtdCh1OCB0cmFjZV9jaGFuX2lkLCB1NjQgKnBpZF9mbXQpCj4gIAlyZXR1 cm4gMDsKPiAgfQo+ICAKPiArc3RhdGljIGludCBjc19ldG1fX21hcF90cmFjZV9pZCh1OCB0cmFj ZV9jaGFuX2lkLCB1NjQgKmNwdV9tZXRhZGF0YSkKPiArewo+ICsJc3RydWN0IGludF9ub2RlICpp bm9kZTsKPiArCj4gKwkvKiBHZXQgYW4gUkIgbm9kZSBmb3IgdGhpcyBDUFUgKi8KPiArCWlub2Rl ID0gaW50bGlzdF9fZmluZG5ldyh0cmFjZWlkX2xpc3QsIHRyYWNlX2NoYW5faWQpOwo+ICsKPiAr CS8qIFNvbWV0aGluZyB3ZW50IHdyb25nLCBubyBuZWVkIHRvIGNvbnRpbnVlICovCj4gKwlpZiAo IWlub2RlKQo+ICsJCXJldHVybiAtRU5PTUVNOwo+ICsKPiArCS8qCj4gKwkgKiBUaGUgbm9kZSBm b3IgdGhhdCBDUFUgc2hvdWxkIG5vdCBiZSB0YWtlbi4KPiArCSAqIEJhY2sgb3V0IGlmIHRoYXQn cyB0aGUgY2FzZS4KPiArCSAqLwo+ICsJaWYgKGlub2RlLT5wcml2KQo+ICsJCXJldHVybiAtRUlO VkFMOwo+ICsKPiArCS8qIEFsbCBnb29kLCBhc3NvY2lhdGUgdGhlIHRyYWNlSUQgd2l0aCB0aGUg bWV0YWRhdGEgcG9pbnRlciAqLwo+ICsJaW5vZGUtPnByaXYgPSBjcHVfbWV0YWRhdGE7Cj4gKwo+ ICsJcmV0dXJuIDA7Cj4gK30KPiArCj4gIHZvaWQgY3NfZXRtX19ldG1xX3NldF90cmFjZWlkX3F1 ZXVlX3RpbWVzdGFtcChzdHJ1Y3QgY3NfZXRtX3F1ZXVlICpldG1xLAo+ICAJCQkJCSAgICAgIHU4 IHRyYWNlX2NoYW5faWQpCj4gIHsKPiBAQCAtMjgwNCw2ICsyODI4LDM2IEBAIHN0YXRpYyBib29s IGNzX2V0bV9faGFzX3ZpcnR1YWxfdHModTY0ICoqbWV0YWRhdGEsIGludCBudW1fY3B1KQo+ICAJ cmV0dXJuIHRydWU7Cj4gIH0KPiAgCj4gKy8qIG1hcCB0cmFjZSBpZHMgdG8gY29ycmVjdCBtZXRh ZGF0YSBibG9jaywgZnJvbSBpbmZvcm1hdGlvbiBpbiBtZXRhZGF0YSAqLwo+ICtzdGF0aWMgaW50 IGNzX2V0bV9fbWFwX3RyYWNlX2lkc19tZXRhZGF0YShpbnQgbnVtX2NwdSwgdTY0ICoqbWV0YWRh dGEpCj4gK3sKPiArCXU2NCBjc19ldG1fbWFnaWM7Cj4gKwl1OCB0cmFjZV9jaGFuX2lkOwo+ICsJ aW50IGksIGVycjsKPiArCj4gKwlmb3IgKGkgPSAwOyBpIDwgbnVtX2NwdTsgaSsrKSB7Cj4gKwkJ Y3NfZXRtX21hZ2ljID0gbWV0YWRhdGFbaV1bQ1NfRVRNX01BR0lDXTsKPiArCQlzd2l0Y2ggKGNz X2V0bV9tYWdpYykgewo+ICsJCWNhc2UgX19wZXJmX2NzX2V0bXYzX21hZ2ljOgo+ICsJCQl0cmFj ZV9jaGFuX2lkID0gKHU4KSgobWV0YWRhdGFbaV1bQ1NfRVRNX0VUTVRSQUNFSURSXSkgJgo+ICsJ CQkJCSAgICAgQ09SRVNJR0hUX1RSQUNFX0lEX1ZBTF9NQVNLKTsKPiArCQkJYnJlYWs7Cj4gKwkJ Y2FzZSBfX3BlcmZfY3NfZXRtdjRfbWFnaWM6Cj4gKwkJY2FzZSBfX3BlcmZfY3NfZXRlX21hZ2lj Ogo+ICsJCQl0cmFjZV9jaGFuX2lkID0gKHU4KSgobWV0YWRhdGFbaV1bQ1NfRVRNVjRfVFJDVFJB Q0VJRFJdKSAmCj4gKwkJCQkJICAgICAgQ09SRVNJR0hUX1RSQUNFX0lEX1ZBTF9NQVNLKTsKPiAr CQkJYnJlYWs7Cj4gKwkJZGVmYXVsdDoKPiArCQkJLyogdW5rbm93biBtYWdpYyBudW1iZXIgKi8K PiArCQkJcmV0dXJuIC1FSU5WQUw7Cj4gKwkJfQo+ICsJCWVyciA9IGNzX2V0bV9fbWFwX3RyYWNl X2lkKHRyYWNlX2NoYW5faWQsIG1ldGFkYXRhW2ldKTsKPiArCQlpZiAoZXJyKQo+ICsJCQlyZXR1 cm4gZXJyOwo+ICsJfQo+ICsJcmV0dXJuIDA7Cj4gK30KPiArCj4gIGludCBjc19ldG1fX3Byb2Nl c3NfYXV4dHJhY2VfaW5mb19mdWxsKHVuaW9uIHBlcmZfZXZlbnQgKmV2ZW50LAo+ICAJCQkJICAg ICAgIHN0cnVjdCBwZXJmX3Nlc3Npb24gKnNlc3Npb24pCj4gIHsKPiBAQCAtMjgxNCw3ICsyODY4 LDcgQEAgaW50IGNzX2V0bV9fcHJvY2Vzc19hdXh0cmFjZV9pbmZvX2Z1bGwodW5pb24gcGVyZl9l dmVudCAqZXZlbnQsCj4gIAlpbnQgZXZlbnRfaGVhZGVyX3NpemUgPSBzaXplb2Yoc3RydWN0IHBl cmZfZXZlbnRfaGVhZGVyKTsKPiAgCWludCB0b3RhbF9zaXplID0gYXV4dHJhY2VfaW5mby0+aGVh ZGVyLnNpemU7Cj4gIAlpbnQgcHJpdl9zaXplID0gMDsKPiAtCWludCBudW1fY3B1LCB0cmNpZHJf aWR4Owo+ICsJaW50IG51bV9jcHU7Cj4gIAlpbnQgZXJyID0gMDsKPiAgCWludCBpLCBqOwo+ICAJ dTY0ICpwdHIgPSBOVUxMOwo+IEBAIC0yODUzLDIzICsyOTA3LDEzIEBAIGludCBjc19ldG1fX3By b2Nlc3NfYXV4dHJhY2VfaW5mb19mdWxsKHVuaW9uIHBlcmZfZXZlbnQgKmV2ZW50LAo+ICAJCQkJ Y3NfZXRtX19jcmVhdGVfbWV0YV9ibGsocHRyLCAmaSwKPiAgCQkJCQkJCUNTX0VUTV9QUklWX01B WCwKPiAgCQkJCQkJCUNTX0VUTV9OUl9UUkNfUEFSQU1TX1YwKTsKPiAtCj4gLQkJCS8qIFRoZSB0 cmFjZUlEIGlzIG91ciBoYW5kbGUgKi8KPiAtCQkJdHJjaWRyX2lkeCA9IENTX0VUTV9FVE1UUkFD RUlEUjsKPiAtCj4gIAkJfSBlbHNlIGlmIChwdHJbaV0gPT0gX19wZXJmX2NzX2V0bXY0X21hZ2lj KSB7Cj4gIAkJCW1ldGFkYXRhW2pdID0KPiAgCQkJCWNzX2V0bV9fY3JlYXRlX21ldGFfYmxrKHB0 ciwgJmksCj4gIAkJCQkJCQlDU19FVE1WNF9QUklWX01BWCwKPiAgCQkJCQkJCUNTX0VUTVY0X05S X1RSQ19QQVJBTVNfVjApOwo+IC0KPiAtCQkJLyogVGhlIHRyYWNlSUQgaXMgb3VyIGhhbmRsZSAq Lwo+IC0JCQl0cmNpZHJfaWR4ID0gQ1NfRVRNVjRfVFJDVFJBQ0VJRFI7Cj4gIAkJfSBlbHNlIGlm IChwdHJbaV0gPT0gX19wZXJmX2NzX2V0ZV9tYWdpYykgewo+ICAJCQltZXRhZGF0YVtqXSA9IGNz X2V0bV9fY3JlYXRlX21ldGFfYmxrKHB0ciwgJmksIENTX0VURV9QUklWX01BWCwgLTEpOwo+IC0K PiAtCQkJLyogRVRFIHNoYXJlcyBmaXJzdCBwYXJ0IG9mIG1ldGFkYXRhIHdpdGggRVRNdjQgKi8K PiAtCQkJdHJjaWRyX2lkeCA9IENTX0VUTVY0X1RSQ1RSQUNFSURSOwo+ICAJCX0gZWxzZSB7Cj4g IAkJCXVpX19lcnJvcigiQ1MgRVRNIFRyYWNlOiBVbnJlY29nbmlzZWQgbWFnaWMgbnVtYmVyICUj IlBSSXg2NCIuIEZpbGUgY291bGQgYmUgZnJvbSBhIG5ld2VyIHZlcnNpb24gb2YgcGVyZi5cbiIs Cj4gIAkJCQkgIHB0cltpXSk7Cj4gQEAgLTI4ODEsMjYgKzI5MjUsNiBAQCBpbnQgY3NfZXRtX19w cm9jZXNzX2F1eHRyYWNlX2luZm9fZnVsbCh1bmlvbiBwZXJmX2V2ZW50ICpldmVudCwKPiAgCQkJ ZXJyID0gLUVOT01FTTsKPiAgCQkJZ290byBlcnJfZnJlZV9tZXRhZGF0YTsKPiAgCQl9Cj4gLQo+ IC0JCS8qIEdldCBhbiBSQiBub2RlIGZvciB0aGlzIENQVSAqLwo+IC0JCWlub2RlID0gaW50bGlz dF9fZmluZG5ldyh0cmFjZWlkX2xpc3QsIG1ldGFkYXRhW2pdW3RyY2lkcl9pZHhdKTsKPiAtCj4g LQkJLyogU29tZXRoaW5nIHdlbnQgd3JvbmcsIG5vIG5lZWQgdG8gY29udGludWUgKi8KPiAtCQlp ZiAoIWlub2RlKSB7Cj4gLQkJCWVyciA9IC1FTk9NRU07Cj4gLQkJCWdvdG8gZXJyX2ZyZWVfbWV0 YWRhdGE7Cj4gLQkJfQo+IC0KPiAtCQkvKgo+IC0JCSAqIFRoZSBub2RlIGZvciB0aGF0IENQVSBz aG91bGQgbm90IGJlIHRha2VuLgo+IC0JCSAqIEJhY2sgb3V0IGlmIHRoYXQncyB0aGUgY2FzZS4K PiAtCQkgKi8KPiAtCQlpZiAoaW5vZGUtPnByaXYpIHsKPiAtCQkJZXJyID0gLUVJTlZBTDsKPiAt CQkJZ290byBlcnJfZnJlZV9tZXRhZGF0YTsKPiAtCQl9Cj4gLQkJLyogQWxsIGdvb2QsIGFzc29j aWF0ZSB0aGUgdHJhY2VJRCB3aXRoIHRoZSBtZXRhZGF0YSBwb2ludGVyICovCj4gLQkJaW5vZGUt PnByaXYgPSBtZXRhZGF0YVtqXTsKPiAgCX0KPiAgCj4gIAkvKgo+IEBAIC0yOTk0LDYgKzMwMTgs MTEgQEAgaW50IGNzX2V0bV9fcHJvY2Vzc19hdXh0cmFjZV9pbmZvX2Z1bGwodW5pb24gcGVyZl9l dmVudCAqZXZlbnQsCj4gIAlpZiAoZXJyKQo+ICAJCWdvdG8gZXJyX2RlbGV0ZV90aHJlYWQ7Cj4g IAo+ICsJLyogYmVmb3JlIGF1eCByZWNvcmRzIGFyZSBxdWV1ZWQsIG5lZWQgdG8gbWFwIG1ldGFk YXRhIHRvIHRyYWNlIElEcyAqLwo+ICsJZXJyID0gY3NfZXRtX19tYXBfdHJhY2VfaWRzX21ldGFk YXRhKG51bV9jcHUsIG1ldGFkYXRhKTsKPiArCWlmIChlcnIpCj4gKwkJZ290byBlcnJfZGVsZXRl X3RocmVhZDsKPiArCj4gIAllcnIgPSBjc19ldG1fX3F1ZXVlX2F1eF9yZWNvcmRzKHNlc3Npb24p Owo+ICAJaWYgKGVycikKPiAgCQlnb3RvIGVycl9kZWxldGVfdGhyZWFkOwo+IGRpZmYgLS1naXQg YS90b29scy9wZXJmL3V0aWwvY3MtZXRtLmggYi90b29scy9wZXJmL3V0aWwvY3MtZXRtLmgKPiBp bmRleCA5OGE0ZjcxMTNkMmYuLjZkMzA3OGUwNDJiNCAxMDA2NDQKPiAtLS0gYS90b29scy9wZXJm L3V0aWwvY3MtZXRtLmgKPiArKysgYi90b29scy9wZXJmL3V0aWwvY3MtZXRtLmgKPiBAQCAtMjks MTMgKzI5LDE3IEBAIGVudW0gewo+ICAvKgo+ICAgKiBVcGRhdGUgdGhlIHZlcnNpb24gZm9yIG5l dyBmb3JtYXQuCj4gICAqCj4gLSAqIE5ldyB2ZXJzaW9uIDEgZm9ybWF0IGFkZHMgYSBwYXJhbSBj b3VudCB0byB0aGUgcGVyIGNwdSBtZXRhZGF0YS4KPiArICogVmVyc2lvbiAxOiBmb3JtYXQgYWRk cyBhIHBhcmFtIGNvdW50IHRvIHRoZSBwZXIgY3B1IG1ldGFkYXRhLgo+ICAgKiBUaGlzIGFsbG93 cyBlYXN5IGFkZGluZyBvZiBuZXcgbWV0YWRhdGEgcGFyYW1ldGVycy4KPiAgICogUmVxdWlyZXMg dGhhdCBuZXcgcGFyYW1zIGFsd2F5cyBhZGRlZCBhZnRlciBjdXJyZW50IG9uZXMuCj4gICAqIEFs c28gYWxsb3dzIGNsaWVudCByZWFkZXIgdG8gaGFuZGxlIGZpbGUgdmVyc2lvbnMgdGhhdCBhcmUg ZGlmZmVyZW50IGJ5Cj4gICAqIGNoZWNraW5nIHRoZSBudW1iZXIgb2YgcGFyYW1zIGluIHRoZSBm aWxlIHZzIHRoZSBudW1iZXIgZXhwZWN0ZWQuCj4gKyAqCj4gKyAqIFZlcnNpb24gMjogRHJpdmVy cyB3aWxsIHVzZSBQRVJGX1JFQ09SRF9BVVhfT1VUUFVUX0hXX0lEIHRvIG91dHB1dAo+ICsgKiBD b3JlU2lnaHQgVHJhY2UgSUQuIC4uLlRSQUNFSURSIG1ldGFkYXRhIHdpbGwgYmUgc2V0IHRvIHVu dXNlZCBJRC4KPiAgICovCj4gLSNkZWZpbmUgQ1NfSEVBREVSX0NVUlJFTlRfVkVSU0lPTiAxCj4g KyNkZWZpbmUgQ1NfSEVBREVSX0NVUlJFTlRfVkVSU0lPTgkyCj4gKyNkZWZpbmUgQ1NfQVVYX0hX X0lEX1ZFUlNJT05fTUlOCTIKPiAgCj4gIC8qIEJlZ2lubmluZyBvZiBoZWFkZXIgY29tbW9uIHRv IGJvdGggRVRNdjMgYW5kIFY0ICovCj4gIGVudW0gewo+IEBAIC05Nyw2ICsxMDEsMTIgQEAgZW51 bSB7Cj4gIAlDU19FVEVfUFJJVl9NQVgKPiAgfTsKPiAgCj4gKy8qCj4gKyAqIENoZWNrIGZvciB2 YWxpZCBDb3JlU2lnaHQgdHJhY2UgSUQuIElmIGFuIGludmFsaWQgdmFsdWUgaXMgcHJlc2VudCBp biB0aGUgbWV0YWRhdGEsCj4gKyAqIHRoZW4gSURzIGFyZSBwcmVzZW50IGluIHRoZSBoYXJkd2Fy ZSBJRCBwYWNrZXQgaW4gdGhlIGRhdGEgZmlsZS4KPiArICovCj4gKyNkZWZpbmUgQ1NfSVNfVkFM SURfVFJBQ0VfSUQoaWQpICgoaWQgPiAwKSAmJiAoaWQgPCAweDcwKSkKPiArCj4gIC8qCj4gICAq IEVUTXYzIGV4Y2VwdGlvbiBlbmNvZGluZyBudW1iZXI6Cj4gICAqIFNlZSBFbWJlZGRlZCBUcmFj ZSBNYWNyb2NlbGwgc3BlY2lmaWNhdGlvbiAoQVJNIElISSAwMDE0USkKPiAtLSAKPiAyLjMyLjAK PiAKCi0tIAoKLSBBcm5hbGRvCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fXwpsaW51eC1hcm0ta2VybmVsIG1haWxpbmcgbGlzdApsaW51eC1hcm0ta2VybmVs QGxpc3RzLmluZnJhZGVhZC5vcmcKaHR0cDovL2xpc3RzLmluZnJhZGVhZC5vcmcvbWFpbG1hbi9s aXN0aW5mby9saW51eC1hcm0ta2VybmVsCg==