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 633FAC433F5 for ; Tue, 7 Dec 2021 16:33:06 +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: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=rQbXNMqpJUuvswNpzOxnt8LZDLC+ByiedjNNV7+e00c=; b=TPwl7lMgt4/4Ve R6f7DHC0QXtnmhJvIKC6qXVKHK3amH3pqFTpYBDKEjSJyApIgPC0oDvvA4dsoSD0y5idj3KFRYvXm gl98chhu481xwTbjTp32IIuYdg8XQ/39n5/x08tu/Kx5Yr6I5ApAoSwdUf2kNmqNYG0z0U5Mo83gg 1dpDTrynk6VStpHd2D2DdA8fK5AggH4AcC7hLCGK9rnNv5iXFHZaKxe/pR3SpBwubMcgOvYMcdfqU t1To1p6xHa/GXTu8KRblRpdcL6eor/Q+GXb57UY6idDWqfjlhQxD3sP/FqTRs1gLPSiImXG4x1HVr ptISChLF/Vjn4ST4bQLA==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1mudNZ-009S8Q-Bn; Tue, 07 Dec 2021 16:31:45 +0000 Received: from foss.arm.com ([217.140.110.172]) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1mudNU-009S76-Nj for linux-arm-kernel@lists.infradead.org; Tue, 07 Dec 2021 16:31:42 +0000 Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id A71AF11D4; Tue, 7 Dec 2021 08:31:39 -0800 (PST) Received: from [10.57.34.58] (unknown [10.57.34.58]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id E436C3F73D; Tue, 7 Dec 2021 08:31:35 -0800 (PST) Message-ID: Date: Tue, 7 Dec 2021 16:31:31 +0000 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (Windows NT 10.0; rv:91.0) Gecko/20100101 Thunderbird/91.3.2 Subject: Re: [PATCH v2 2/6] hwtracing: Add trace function support for HiSilicon PCIe Tune and Trace device Content-Language: en-GB To: Yicong Yang , gregkh@linuxfoundation.org, helgaas@kernel.org, alexander.shishkin@linux.intel.com, lorenzo.pieralisi@arm.com, will@kernel.org, mark.rutland@arm.com, mathieu.poirier@linaro.org, suzuki.poulose@arm.com, mike.leach@linaro.org, leo.yan@linaro.org, jonathan.cameron@huawei.com, daniel.thompson@linaro.org, joro@8bytes.org, john.garry@huawei.com, shameerali.kolothum.thodi@huawei.com, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, coresight@lists.linaro.org, linux-pci@vger.kernel.org, linux-perf-users@vger.kernel.org, iommu@lists.linux-foundation.org Cc: zhangshaokun@hisilicon.com, liuqi115@huawei.com, linuxarm@huawei.com, prime.zeng@huawei.com References: <20211116090625.53702-1-yangyicong@hisilicon.com> <20211116090625.53702-3-yangyicong@hisilicon.com> <0b67745c-13dd-1fea-1b8b-d55212bad232@arm.com> <3644ad6e-d800-c84b-9d62-6dda8462450f@hisilicon.com> <38bfa372-54c8-2e81-adab-ca24051a0fe6@arm.com> <288856a6-d1eb-d4cc-f3ca-0134b7e4d1dc@hisilicon.com> From: Robin Murphy In-Reply-To: <288856a6-d1eb-d4cc-f3ca-0134b7e4d1dc@hisilicon.com> X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20211207_083140_897584_45D63941 X-CRM114-Status: GOOD ( 57.53 ) 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 T24gMjAyMS0xMS0yOSAwODoyMiwgWWljb25nIFlhbmcgdmlhIGlvbW11IHdyb3RlOgo+IE9uIDIw MjEvMTEvMjUgMjM6NDksIFJvYmluIE11cnBoeSB3cm90ZToKPj4gT24gMjAyMS0xMS0xOCAwOTow MSwgWWljb25nIFlhbmcgdmlhIGlvbW11IHdyb3RlOgo+Pj4gSGkgUm9iaW4sCj4+Pgo+Pj4gT24g MjAyMS8xMS8xNiAxOTozNywgWWljb25nIFlhbmcgd3JvdGU6Cj4+Pj4gT24gMjAyMS8xMS8xNiAx ODo1NiwgUm9iaW4gTXVycGh5IHdyb3RlOgo+Pj4+PiBPbiAyMDIxLTExLTE2IDA5OjA2LCBZaWNv bmcgWWFuZyB2aWEgaW9tbXUgd3JvdGU6Cj4+Pj4+IFsuLi5dCj4+Pj4+PiArLyoKPj4+Pj4+ICsg KiBHZXQgUk1SIGFkZHJlc3MgaWYgcHJvdmlkZWQgYnkgdGhlIGZpcm13YXJlLgo+Pj4+Pj4gKyAq IFJldHVybiAwIGlmIHRoZSBJT01NVSBkb2Vzbid0IHByZXNlbnQgb3IgdGhlIHBvbGljeSBvZiB0 aGUKPj4+Pj4+ICsgKiBJT01NVSBkb21haW4gaXMgcGFzc3Rocm91Z2ggb3Igd2UgZ2V0IGEgdXNh YmxlIFJNUiByZWdpb24uCj4+Pj4+PiArICogT3RoZXJ3aXNlIGEgbmVnYXRpdmUgdmFsdWUgaXMg cmV0dXJuZWQuCj4+Pj4+PiArICovCj4+Pj4+PiArc3RhdGljIGludCBoaXNpX3B0dF9nZXRfcm1y KHN0cnVjdCBoaXNpX3B0dCAqaGlzaV9wdHQpCj4+Pj4+PiArewo+Pj4+Pj4gK8KgwqDCoCBzdHJ1 Y3QgcGNpX2RldiAqcGRldiA9IGhpc2lfcHR0LT5wZGV2Owo+Pj4+Pj4gK8KgwqDCoCBzdHJ1Y3Qg aW9tbXVfZG9tYWluICppb21tdV9kb21haW47Cj4+Pj4+PiArwqDCoMKgIHN0cnVjdCBpb21tdV9y ZXN2X3JlZ2lvbiAqcmVnaW9uOwo+Pj4+Pj4gK8KgwqDCoCBMSVNUX0hFQUQobGlzdCk7Cj4+Pj4+ PiArCj4+Pj4+PiArwqDCoMKgIC8qCj4+Pj4+PiArwqDCoMKgwqAgKiBVc2UgZGlyZWN0IERNQSBp ZiBJT01NVSBkb2VzIG5vdCBwcmVzZW50IG9yIHRoZSBwb2xpY3kgb2YgdGhlCj4+Pj4+PiArwqDC oMKgwqAgKiBJT01NVSBkb21haW4gaXMgcGFzc3Rocm91Z2guCj4+Pj4+PiArwqDCoMKgwqAgKi8K Pj4+Pj4+ICvCoMKgwqAgaW9tbXVfZG9tYWluID0gaW9tbXVfZ2V0X2RvbWFpbl9mb3JfZGV2KCZw ZGV2LT5kZXYpOwo+Pj4+Pj4gK8KgwqDCoCBpZiAoIWlvbW11X2RvbWFpbiB8fCBpb21tdV9kb21h aW4tPnR5cGUgPT0gSU9NTVVfRE9NQUlOX0lERU5USVRZKQo+Pj4+Pj4gK8KgwqDCoMKgwqDCoMKg IHJldHVybiAwOwo+Pj4+Pj4gKwo+Pj4+Pj4gK8KgwqDCoCBpb21tdV9nZXRfcmVzdl9yZWdpb25z KCZwZGV2LT5kZXYsICZsaXN0KTsKPj4+Pj4+ICvCoMKgwqAgbGlzdF9mb3JfZWFjaF9lbnRyeShy ZWdpb24sICZsaXN0LCBsaXN0KQo+Pj4+Pj4gK8KgwqDCoMKgwqDCoMKgIGlmIChyZWdpb24tPnR5 cGUgPT0gSU9NTVVfUkVTVl9ESVJFQ1QgJiYKPj4+Pj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKg IHJlZ2lvbi0+bGVuZ3RoID49IEhJU0lfUFRUX1RSQUNFX0JVRkZFUl9TSVpFKSB7Cj4+Pj4+PiAr wqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBoaXNpX3B0dC0+dHJhY2VfY3RybC5oYXNfcm1yID0gdHJ1 ZTsKPj4+Pj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGhpc2lfcHR0LT50cmFjZV9jdHJsLnJt cl9hZGRyID0gcmVnaW9uLT5zdGFydDsKPj4+Pj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGhp c2lfcHR0LT50cmFjZV9jdHJsLnJtcl9sZW5ndGggPSByZWdpb24tPmxlbmd0aDsKPj4+Pj4+ICvC oMKgwqDCoMKgwqDCoMKgwqDCoMKgIGJyZWFrOwo+Pj4+Pj4gK8KgwqDCoMKgwqDCoMKgIH0KPj4+ Pj4+ICsKPj4+Pj4+ICvCoMKgwqAgaW9tbXVfcHV0X3Jlc3ZfcmVnaW9ucygmcGRldi0+ZGV2LCAm bGlzdCk7Cj4+Pj4+PiArwqDCoMKgIHJldHVybiBoaXNpX3B0dC0+dHJhY2VfY3RybC5oYXNfcm1y ID8gMCA6IC1FTk9NRU07Cj4+Pj4+PiArfQo+Pj4+Pgo+Pj4+PiBOby4KPj4+Pj4KPj4+Pj4gVGhl IHdob2xlIHBvaW50IG9mIFJNUnMgaXMgZm9yIGRldmljZXMgdGhhdCBhcmUgYWxyZWFkeSBjb25m aWd1cmVkIHRvIGFjY2VzcyB0aGUgZ2l2ZW4gYWRkcmVzcyByYW5nZSBpbiBhIG1hbm5lciBiZXlv bmQgdGhlIGtlcm5lbCdzIGNvbnRyb2wuIElmIHlvdSBjYW4gZG8gdGhpcywgaXQgcHJvdmVzIHRo YXQgeW91IHNob3VsZCBub3QgaGF2ZSBhbiBSTVIgaW4gdGhlIGZpcnN0IHBsYWNlLgo+Pj4+Pgo+ Pj4+PiBUaGUgbm90aW9uIG9mIGEga2VybmVsIGRyaXZlciBleHBsaWNpdGx5IGNvbmZpZ3VyaW5n IGl0cyBkZXZpY2UgdG8gRE1BIGludG8gYW55IHJhbmRvbSBSTVIgdGhhdCBsb29rcyBiaWcgZW5v dWdoIGlzIHNvIGVncmVnaW91c2x5IHdyb25nIHRoYXQgSSdtIGFsbW9zdCBsb3N0IGZvciB3b3Jk cy4uLgo+Pj4+Pgo+Pj4+Cj4+Pj4gb3VyIGJpb3Mgd2lsbCByZXNlcnZlIHN1Y2ggYSByZWdpb24g YW5kIHJlcG9ydGVkIGl0IHRocm91Z2ggaW9ydC4gdGhlIGRldmljZSB3aWxsIHdyaXRlIHRvIHRo ZSByZWdpb24gYW5kIGluIHRoZSBkcml2ZXIgd2UgbmVlZCB0byBhY2Nlc3MgdGhlIHJlZ2lvbgo+ Pj4+IHRvIGdldCB0aGUgdHJhY2VkIGRhdGEuIHRoZSByZWdpb24gaXMgcmVzZXJ2ZWQgZXhjbHVz aXZlbHkgYW5kIHdpbGwgbm90IGJlIGFjY2Vzc2VkIGJ5IGtlcm5lbCBvciBvdGhlciBkZXZpY2Vz Lgo+Pj4+Cj4+Pj4gaXMgaXQgb2sgdG8gbGV0IGJpb3MgY29uZmlndXJlIHRoZSBhZGRyZXNzIHRv IHRoZSBkZXZpY2UgYW5kIGZyb20gQ1BVIHNpZGUgd2UganVzdCByZWFkIGl0Pwo+Pj4+Cj4+Pgo+ Pj4gQW55IHN1Z2dlc3Rpb24/wqAgSXMgdGhpcyBzdGlsbCBhbiBpc3N1ZSB5b3UgY29uY2VybiBp ZiB3ZSBtb3ZlIHRoZSBjb25maWd1cmF0aW9uIG9mIHRoZSBkZXZpY2UgYWRkcmVzcyB0byBCSU9T IGFuZCBqdXN0IHJlYWQgZnJvbSB0aGUgQ1BVIHNpZGU/Cj4+Cj4+IElmIHRoZSBmaXJtd2FyZSBj b25maWd1cmVzIHRoZSBkZXZpY2Ugc28gdGhhdCBpdCdzIGFjdGl2ZWx5IHRyYWNpbmcgYW5kIHdy aXRpbmcgb3V0IHRvIG1lbW9yeSB3aGlsZSB0aGUga2VybmVsIGJvb3RzLCB0aGVuIHRoYXQgaXMg YSB2YWxpZCByZWFzb24gdG8gaGF2ZSBhbiBSTVIuIEhvd2V2ZXIgd2hhdCB5b3UncmUgZG9pbmcg aW4gdGhlIGRyaXZlciBpcyBzdGlsbCBjb21wbGV0ZSBub25zZW5zZS4gQXMgZmFyIGFzIEkgY2Fu IGZvbGxvdywgdGhlIHdheSBpdCdzIHdvcmtpbmcgaXMgdGhpczoKPj4KPj4gLSBBdCBwcm9iZSB0 aW1lLCB0aGUgaW5pdGlhbCBzdGF0ZSBvZiB0aGUgaGFyZHdhcmUgaXMgZW50aXJlbHkgaWdub3Jl ZC4gSWYgaXQgKmlzKiBhbHJlYWR5IGFjdGl2ZSwgdGhlcmUgYXBwZWFycyB0byBiZSBhIGZ1biBj aGFuY2Ugb2YgY3Jhc2hpbmcgaWYgVFJBQ0VfSU5UX01BU0sgaXMgY2xlYXIgYW5kIGFuIGludGVy cnVwdCBoYXBwZW5zIHRvIGZpcmUgYmVmb3JlIGFueW9uZSBoYXMgZ290IHJvdW5kIHRvIGNhbGxp bmcgcGVyZl9hdXhfb3V0cHV0X2JlZ2luKCkgdG8gbWFrZSB0cmFjZV9jdHJsLmhhbmRsZS5yYiBu b24tTlVMTC4KPj4KPj4gLSBMYXRlciwgb25jZSB0aGUgdXNlciBzdGFydHMgYSB0cmFjaW5nIHNl c3Npb24sIGEgYnVmZmVyIGlzIHNldCB1cCAqZWl0aGVyKiBhcyBhIGNvbXBsZXRlbHkgbm9ybWFs IERNQSBhbGxvY2F0aW9uLCBvciBieSBtZW1yZW1hcCgpaW5nIHNvbWUgcmFuZG9tIElPVkEgY2Fy dmVvdXQgd2hpY2ggbWF5IG9yIG1heSBub3QgYmUgd2hhdGV2ZXIgbWVtb3J5IHRoZSBmaXJtd2Fy ZSB3YXMgdHJhY2luZyB0by4KPj4KPj4gLSBUaGUgaGFyZHdhcmUgaXMgdGhlbiByZXNldCBhbmQg Y29tcGxldGVseSByZXByb2dyYW1tZWQgdG8gdXNlIHRoZSBuZXcgYnVmZmVyLCBhZ2FpbiB3aXRo b3V0IGFueSBjb25zaWRlcmF0aW9uIG9mIGl0cyBwcmV2aW91cyBzdGF0ZSAob3RoZXIgdGhhbiBw b3NzaWJseSB0aW1pbmcgb3V0IGFuZCBmYWlsaW5nIGlmIGl0J3MgYWxyZWFkeSBydW5uaW5nIGFu ZCB0aGF0IG1lYW5zIGl0IG5ldmVyIGdvZXMgaWRsZSkuCj4+Cj4+IFRoZXJlZm9yZSB0aGUgZHJp dmVyIGRvZXMgbm90IHNlZW0gdG8gcmVzcGVjdCBhbnkgcHJpb3IgY29uZmlndXJhdGlvbiBvZiB0 aGUgZGV2aWNlIGJ5IGZpcm13YXJlLCBkb2VzIG5vdCBzZWVtIHRvIGV4cGVjdCBpdCB0byBiZSBy dW5uaW5nIGF0IGJvb3QgdGltZSwgZG9lcyBub3Qgc2VlbSB0byBoYXZlIGFueSB3YXkgdG8gcHJl c2VydmUgYW5kIGV4cG9ydCBhbnkgdHJhY2UgZGF0YSBjYXB0dXJlZCBpbiBhbiBSTVIgaWYgaXQg KndhcyogcnVubmluZyBhdCBib290IHRpbWUsIGFuZCB0aHVzIHdpdGhvdXQgbG9zcyBvZiBnZW5l cmFsaXR5IGNvdWxkIHNpbXBseSB1c2UgdGhlIGRtYV9hbGxvY19jb2hlcmVudCgpIHBhdGggYWxs IHRoZSB0aW1lLiBBbSBJIG1pc3NpbmcgYW55dGhpbmc/Cj4+Cj4gCj4gVGhhbmtzIGZvciB0aGUg ZnVydGhlciBleHBsYW5hdGlvbiBhbmQgSSB0aGluayBJIHVuZGVyc3RhbmQgeW91ciBjb25jZXJu cyBtb3JlIGNsZWFyZXIuCj4gCj4gVGhlIHRyYWNlIGlzIG5vdCBzdXBwb3NlZCB0byBiZWdpbiBi eSB0aGUgZmlybXdhcmUgYXQgYm9vdCB0aW1lLiBEdWUgdG8gc29tZSBoYXJkd2FyZSByZXN0cmlj dGlvbiwgdGhlIGRldmljZSBjYW5ub3QgdHJhY2Ugd2l0aCBub24taWRlbnRpY2FsIG1hcHBpbmcu Cj4gU28gd2UnZCBsaWtlIHRvIHVzZSBSTVIgdG8gbWFrZSB0aGUgZGV2aWNlIHdvcmsgd2hlbiB0 aGUgZG1hIG1hcHBpbmcgaXMgbm9uLWlkZW50aWNhbC4gVGh1cyB3ZSBjaGVjayBoZXJlIHRvIGRl Y2lkZSB3aGV0aGVyIHRvIHVzZSBSTVIgb3Igbm90OiBpZiB0aGUgaW9tbXUKPiBpcyBub3QgcHJl c2VudGVkIG9yIGluIHRoZSBwYXNzdGhyb3VnaCBtb2RlLCB3ZSBjYW4gdXNlIGRpcmVjdCBETUEg YnkgZG1hX2FsbG9jX2NvaGVyZW50KCk7IGlmIHRoZSBpb21tdSBpcyBwcmVzZW50IGFuZCB0aGUg bW9kZSBpcyBub3QgcGFzc3Rocm91Z2gsIHdlIHRyeQo+IHRvIHJldHJpZXZlIFJNUiBvciB3ZSBm YWlsIHRoZSBwcm9iZS4gVGhlIGZpcm13YXJlIGlzIGV4cGVjdGVkIHRvIHJlc2VydmUgYSByYW5n ZSBvZiBtZW1vcnkgYW5kIHJlcG9ydHMgaXQgdG8gdGhlIGRyaXZlciBhbmQgaXMgbm90IGV4cGVj dGVkIHRvIGNvbmZpZ3VyZQo+IHRoZSB0cmFjZSBhbmQgZG8gYm9vdCB0aW1lIHRyYWNpbmcuCj4g Cj4+IEFzIHRoaW5ncyBzdGFuZCwgUk1ScyBhcmUgbm90IHlldCBzdXBwb3J0ZWQgdXBzdHJlYW0g KEZZSSB3ZSdyZSBzdGlsbCB3b3JraW5nIG9uIGZpeGluZyB0aGUgc3BlYy4uLiksIHNvIHRoZSBj b2RlIGFib3ZlIGlzIGF0IGJlc3QgZGVhZCwgYW5kIGF0IHdvcnN0IGFjdGl2ZWx5IHdyb25nLiBG dXJ0aGVybW9yZSwgaWYgdGhlIGV4cGVjdGVkIHVzYWdlIG1vZGVsICppcyogdGhhdCB0aGUga2Vy bmVsIGRyaXZlciBjb21wbGV0ZWx5IHJlc2V0cyBhbmQgcmVwcm9ncmFtcyB0aGUgaGFyZHdhcmUs IHRoZW4gZXZlbiBpZiB0aGVyZSBpcyBhbiBSTVIgZm9yIGJvb3QtdGltZSB0cmFjaW5nIEkgd291 bGQgcmF0aGVyIGV4cGVjdCBpdCB0byBiZSBmbGFnZ2VkIGFzIHJlbWFwcGFibGUsIGFuZCB0aHVz IHBvdGVudGlhbGx5IGVuZCB1cCBhcyBhbiBJT01NVV9SRVNWX0RJUkVDVF9SRUxBWEFCTEUgcmVz ZXJ2YXRpb24gd2hpY2ggeW91IHdvdWxkbid0IG1hdGNoIGFueXdheS4KPj4KPiAKPiBZZXMgdGhl IGZpcm13YXJlIGlzIG5vdCBleHBlY3RlZCB0byBzdGFydCB0aGUgdHJhY2UuIFdpbGwgY2hhbmdl IHRoZSBkZXNpcmVkIGZsYWcgdG8gSU9NTVVfUkVTVl9ESVJFQ1RfUkVMQVhBQkxFIGFuZCBoYXZl IGEgdGVzdC4KPiAKPj4gQW5kIGFmdGVyIGFsbCB0aGF0LCBpZiB5b3UgcmVhbGx5IGRvIGhhdmUg YSBnZW51aW5lIG5lZWQgdG8gcmVzcGVjdCBhbmQgcHJlc2VydmUgcHJpb3IgZmlybXdhcmUgY29u ZmlndXJhdGlvbiBvZiB0aGUgZGV2aWNlLCB0aGVuIEkgd291bGQgc3VyZWx5IGV4cGVjdCB0byBz ZWUgdGhlIGRyaXZlciBhY3R1YWxseSBkb2luZyBleGFjdGx5IHRoYXQuIFByZXN1bWFibHk6IGF0 IHByb2JlIHRpbWUsIGxvb2sgYXQgVFJBQ0VfQ1RSTDsgaWYgdGhlIGRldmljZSBpcyBhbHJlYWR5 IGNvbmZpZ3VyZWQsIHJlYWQgb3V0IHRoYXQgY29uZmlndXJhdGlvbiAtIGVzcGVjaWFsbHkgaW5j bHVkaW5nIFRSQUNFX0FERFJfKiAtIGFuZCBtYWtlIHN1cmUgdG8gcmV1c2UgaXQuIE5vdCBnbyBv ZmYgb24gYSB0YW5nZW50IGJsaW5kbHkgcG9raW5nIGludG8gaW50ZXJuYWwgSU9NTVUgQVBJIGFi c3RyYWN0aW9ucyBpbiB0aGUgdmFpbiBob3BlIHRoYXQgdGhlIGZpcnN0IHRoaW5nIHlvdSBmaW5k IGhhcHBlbnMgdG8gYmUgc29ydC1vZi1yZWxhdGVkIHRvIHRoZSBpbmZvcm1hdGlvbiB0aGF0IHlv dSBhY3R1YWxseSBjYXJlIGFib3V0Lgo+Pgo+IAo+IFllcywgd2UgZG8gbmVlZCBSTVIgdG8gbWFr ZSB0aGUgZGV2aWNlIHdvcmsgYXQgc2l0dWF0aW9uIHdoZXJlIHRoZSBtYXBwaW5nIGlzIG5vbi1p ZGVudGljYWwuCj4gCj4gV2UncmUgY2VydGFpbiB0aGF0IHRoZSBiaW9zIHdvbid0IHN0YXJ0IGFu ZCBjb25maWd1cmUgdGhlIHRyYWNlIGluIHRoaXMgZGV2aWNlJ3MgdXNhZ2UsIGlzIGl0IHN0aWxs IG5lY2Vzc2FyeSB0byBtYWtlCj4gZmlybXdhcmUgY29uZmlndXJlIHRoZSBUUkFDRV9BRERSXyog dG8gdGhlIGRldmljZT8KPiAKPiBBcyBzdWdnZXN0ZWQsIEkgdGhpbmsgSSdsbCBuZWVkIHRvIG1v ZGlmeSB0aGUgUk1SIGNvZGVzIGxpa2UKPiAKPiAtIGNoZWNrIFRSQUNFX0NUUkwsIGFuZCBzdG9w IGl0IGlmIGl0J3Mgc3RhcnRlZC4gKHdvbid0IGhhcHBlbiBidXQgY2hlY2sgZm9yIHNhbml0eSkK PiAtIGlmIHNtbXUgaXMgbm90IHByZXNlbnRlZCwgdXNlIGRpcmVjdCBETUEKPiAtIHRyeSB0byBy ZXRyaWV2ZSBSTVIgYWRkcmVzcyB3aXRoIGZsYWcgSU9NTVVfUkVTVl9ESVJFQ1RfUkVMQVhBQkxF ICwgaWYgcHJlc2VudGVkIHNldCBoaXNpX3B0dC0+aGFzX3Jtci4gaW4gdGhpcyBjYXNlIHdlIHdv bid0IHVzZSBkaXJlY3QgRE1BCj4gLSBjaGVjayBpZiB0aGUgVFJBQ0VfQUREUl8qIGhhcyBiZWVu IGNvbmZpZ3VyZWQuIGlmIHNvIGRvbid0IHJlY29uZmlndXJlIGl0IHdoZW4gdHJhY2UKPiAtIGlm IG5vIHJtciBidXQgc21tdSB3b3JrcyBpbiBwYXNzdGhyb3VnaCBtb2RlLCB1c2UgZGlyZWN0IERN QQo+IC0gb3RoZXJ3aXNlIGZhaWxzIHRoZSBwcm9iZQo+IAo+IElmIEkgbWlzcyBzb21ldGhpbmcg cGxlYXNlIHBvaW50IGl0IG91dC4KClRoYW5rcyBmb3IgY2xhcmlmeWluZy4gVW5mb3J0dW5hdGVs eSBpdCBhbHNvIGNvbmZpcm1zIG15IHN1c3BpY2lvbiB0aGF0IAp0aGlzIGlzIGV4YWN0bHkgdGhl IGtpbmQgb2YgbWlzdXNlIG9mIFJNUnMgdGhhdCB3ZSBkb24ndCB3YW50IHRvIApzdXBwb3J0LiBZ b3UgY2FuIGlnbm9yZSBtb3N0IG9mIHdoYXQgSSBzYWlkIGFib3ZlIHdoaWNoIGFwcGxpZXMgdG8g dGhlIApnZW51aW5lIFJNUiB1c2UtY2FzZSBvZiB0aGUgZGV2aWNlIGFscmVhZHkgYmVpbmcgY29u ZmlndXJlZC4KCklmIHRoZSBkZXZpY2UgcmVhbGx5IGNhbid0IGhhbmRsZSBTTU1VIHRyYW5zbGF0 aW9uIHRoZW4gdGhhdCBjYW4gYmUgCmRlYWx0IHdpdGggZW50aXJlbHkgd2l0aGluIExpbnV4LiBH aXZlIGl0IGEgaW9tbXVfZGVmX2RvbWFpbl90eXBlIHF1aXJrIAp0byBmb3JjZSBwYXNzdGhyb3Vn aDsgb3IgbWF5YmUgZmFpbCBwcm9iZSBpZiBhIERNQSBkb21haW4gaXMgcHJlc2VudCBhbmQgCnRl bGwgdGhlIHVzZXIgdG8gY2hhbmdlIHRoZSBkb21haW4gdHlwZSB2aWEgc3lzZnMgbWFudWFsbHk7 IG9yIG1heWJlIHNldCAKdXAgeW91ciBvd24gSU9NTVUgZG9tYWluIGFuZCBtYW51YWxseSBtYXAg dGhpbmdzIDE6MSBpZiB5b3UgcmVhbGx5IHdhbnQgCnRvOyB0aGVyZSBhcmUgcGxlbnR5IG9mIHBv c3NpYmxlIG9wdGlvbnMgZm9yIGltcGxlbWVudGluZyB0aGF0IGtpbmQgb2YgCmludGVybmFsIHNv ZnR3YXJlIHBvbGljeS4gQWJ1c2luZyBleHRlcm5hbCBmaXJtd2FyZSBtZWNoYW5pc21zIGlzIG5v dCBhIApyZWFzb25hYmxlIG9uZSwgaG93ZXZlci4KCkkgYWxzbyBjYW4ndCBoZWxwIGJlIGN1cmlv dXMgYXMgdG8gZXhhY3RseSAqd2h5KiB0aGUgZGV2aWNlIGRvZXNuJ3Qgd29yayAKd2l0aCB0cmFu c2xhdGlvbi4gSWYgaXQncyBhbiBSQ2lFUCB3aXRoIHNvbWUgZGlmZmVyZW50IHBhdGggdG8gbWVt b3J5IAp0aGF0IHBoeXNpY2FsbHkgYnlwYXNzZXMgdGhlIFNNTVUgY29tcGFyZWQgdG8gIm5vcm1h bCIgUENJZSB0cmFmZmljLCAKdGhlbiB0aGF0IHNob3VsZCBiZSBmaXhlZCBieSBoYXZpbmcgdGhl IElPUlQgbWFwcGluZ3MgZGVzY3JpYmUgdGhlIAp1bmRlcmx5aW5nIHRvcG9sb2d5IGNvcnJlY3Rs eSBpbiB0aGUgZmlyc3QgcGxhY2UuIElmIGl0IHR1cm5zIG91dCBqdXN0IAp0byBiZSB0aGUgY2Fz ZSB0aGF0IHRoZSBkZXZpY2Ugb25seSBhY3R1YWxseSBkcml2ZXMgZW5vdWdoIGFkZHJlc3MgYml0 cyAKdG8gY292ZXIgdGhlIHBoeXNpY2FsIG1lbW9yeSBtYXAsIGFuZCB1c2luZyB0cmFuc2xhdGlv biBoYXBwZW5zIHRvIApyZXN1bHQgaW4gSU9WQXMgbGFyZ2VyIHRoYW4gdGhhdCB3aGljaCB0aGVu IGdldCB0cnVuY2F0ZWQgYW5kIGdvIHdyb25nLCAKdGhhdCdzIGZpeGVkIGJ5IHNpbXBseSBzZXR0 aW5nIHRoZSByaWdodCBETUEgbWFzayBpbiB0aGUgZHJpdmVyLiBJZiBpdCdzIApzb21lIGNvbXBs aWNhdGVkIGludGVyY29ubmVjdCBsYXRlbmN5L2RlYWRsb2NrIHRoaW5nIHJlbGF0ZWQgdG8gCnRy YW5zbGF0aW9uIGRlbGF5cyBhcyB0cmFmZmljIGZsb3dzIHRocm91Z2ggdGhlIFNNTVUsIEknZCBl eHBlY3QgdGhhdCB0byAKbWF0dGVyIHJlZ2FyZGxlc3Mgb2Ygd2hldGhlciB0aGUgaW5wdXQgYWRk cmVzcyBoYXBwZW5zIHRvIG1hdGNoIHRoZSAKb3V0cHV0IGFkZHJlc3Mgb3Igbm90LiBBdCB0aGlz IHBvaW50IEknbSBzdGFydGluZyB0byBnZXQgc2xpZ2h0bHkgCnN1c3BpY2lvdXMgb2Ygd2hldGhl ciB3ZSdyZSBldmVuIHRyeWluZyB0byBzb2x2ZSB0aGUgcmlnaHQgcHJvYmxlbSBhdCBhbGwuCgpU aGFua3MsClJvYmluLgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX18KbGludXgtYXJtLWtlcm5lbCBtYWlsaW5nIGxpc3QKbGludXgtYXJtLWtlcm5lbEBsaXN0 cy5pbmZyYWRlYWQub3JnCmh0dHA6Ly9saXN0cy5pbmZyYWRlYWQub3JnL21haWxtYW4vbGlzdGlu Zm8vbGludXgtYXJtLWtlcm5lbAo=