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 F30A5C46CA2 for ; Mon, 18 Dec 2023 11:00:07 +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=iT29XAOk0Zp9wlE7LDsEE9CYNk842Vtu+m2YOyQQypI=; b=GgeqKPC8lLfO+7 j2EMeRsJkd1XXy/GLXNxrUx/AXz/mvW2/zRIk0F5TcvOSKALpLR4HHnRXzZxk20j5I3t//clzhqj9 yvIYrOQUj4S2+NTJZR+BVIPKENtDc3B49k4QfnhyVc9iEb0BUNlk6kGWx2H3O3mEX5wnO26wbKz8s 5kH2JqxuGRfTR40y43RY0x4Eg9EV+aJOKYKZ61I5ihj3yxBfpB0j77darmOo87SrN0PKPIVeH+nR4 9ngRBKccOTzamS4HrXoZawYu9yA95Rf4j1ny+BKB2QgmhQH8dc1TLiUZe4Q16X+VyX+ti84cqh/ak 8+zW64FygfUKjdlSF/QA==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.96 #2 (Red Hat Linux)) id 1rFBLY-009xJl-2E; Mon, 18 Dec 2023 10:59:40 +0000 Received: from foss.arm.com ([217.140.110.172]) by bombadil.infradead.org with esmtp (Exim 4.96 #2 (Red Hat Linux)) id 1rFBLU-009xIz-35 for linux-arm-kernel@lists.infradead.org; Mon, 18 Dec 2023 10:59:39 +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 F20AA1FB; Mon, 18 Dec 2023 03:00:18 -0800 (PST) Received: from raptor (unknown [172.31.20.19]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 748C23F738; Mon, 18 Dec 2023 02:59:29 -0800 (PST) Date: Mon, 18 Dec 2023 10:59:26 +0000 From: Alexandru Elisei To: Rob Herring Cc: catalin.marinas@arm.com, will@kernel.org, oliver.upton@linux.dev, maz@kernel.org, james.morse@arm.com, suzuki.poulose@arm.com, yuzenghui@huawei.com, arnd@arndb.de, akpm@linux-foundation.org, mingo@redhat.com, peterz@infradead.org, juri.lelli@redhat.com, vincent.guittot@linaro.org, dietmar.eggemann@arm.com, rostedt@goodmis.org, bsegall@google.com, mgorman@suse.de, bristot@redhat.com, vschneid@redhat.com, mhiramat@kernel.org, rppt@kernel.org, hughd@google.com, pcc@google.com, steven.price@arm.com, anshuman.khandual@arm.com, vincenzo.frascino@arm.com, david@redhat.com, eugenis@google.com, kcc@google.com, hyesoo.yu@samsung.com, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, kvmarm@lists.linux.dev, linux-fsdevel@vger.kernel.org, linux-arch@vger.kernel.org, linux-mm@kvack.org, linux-trace-kernel@vger.kernel.org Subject: Re: [PATCH RFC v2 11/27] arm64: mte: Reserve tag storage memory Message-ID: References: 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-20231218_025937_090491_0B25D5F4 X-CRM114-Status: GOOD ( 71.33 ) 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 SGksCgpPbiBUaHUsIERlYyAxNCwgMjAyMyBhdCAxMjo1NToxNFBNIC0wNjAwLCBSb2IgSGVycmlu ZyB3cm90ZToKPiBPbiBUaHUsIERlYyAxNCwgMjAyMyBhdCA5OjQ14oCvQU0gQWxleGFuZHJ1IEVs aXNlaQo+IDxhbGV4YW5kcnUuZWxpc2VpQGFybS5jb20+IHdyb3RlOgo+ID4KPiA+IEhpLAo+ID4K PiA+IE9uIFdlZCwgRGVjIDEzLCAyMDIzIGF0IDAyOjMwOjQyUE0gLTA2MDAsIFJvYiBIZXJyaW5n IHdyb3RlOgo+ID4gPiBPbiBXZWQsIERlYyAxMywgMjAyMyBhdCAxMTo0NOKAr0FNIEFsZXhhbmRy dSBFbGlzZWkKPiA+ID4gPGFsZXhhbmRydS5lbGlzZWlAYXJtLmNvbT4gd3JvdGU6Cj4gPiA+ID4K PiA+ID4gPiBPbiBXZWQsIERlYyAxMywgMjAyMyBhdCAxMToyMjoxN0FNIC0wNjAwLCBSb2IgSGVy cmluZyB3cm90ZToKPiA+ID4gPiA+IE9uIFdlZCwgRGVjIDEzLCAyMDIzIGF0IDg6NTHigK9BTSBB bGV4YW5kcnUgRWxpc2VpCj4gPiA+ID4gPiA8YWxleGFuZHJ1LmVsaXNlaUBhcm0uY29tPiB3cm90 ZToKPiA+ID4gPiA+ID4KPiA+ID4gPiA+ID4gSGksCj4gPiA+ID4gPiA+Cj4gPiA+ID4gPiA+IE9u IFdlZCwgRGVjIDEzLCAyMDIzIGF0IDA4OjA2OjQ0QU0gLTA2MDAsIFJvYiBIZXJyaW5nIHdyb3Rl Ogo+ID4gPiA+ID4gPiA+IE9uIFdlZCwgRGVjIDEzLCAyMDIzIGF0IDc6MDXigK9BTSBBbGV4YW5k cnUgRWxpc2VpCj4gPiA+ID4gPiA+ID4gPGFsZXhhbmRydS5lbGlzZWlAYXJtLmNvbT4gd3JvdGU6 Cj4gPiA+ID4gPiA+ID4gPgo+ID4gPiA+ID4gPiA+ID4gSGkgUm9iLAo+ID4gPiA+ID4gPiA+ID4K PiA+ID4gPiA+ID4gPiA+IE9uIFR1ZSwgRGVjIDEyLCAyMDIzIGF0IDEyOjQ0OjA2UE0gLTA2MDAs IFJvYiBIZXJyaW5nIHdyb3RlOgo+ID4gPiA+ID4gPiA+ID4gPiBPbiBUdWUsIERlYyAxMiwgMjAy MyBhdCAxMDozOOKAr0FNIEFsZXhhbmRydSBFbGlzZWkKPiA+ID4gPiA+ID4gPiA+ID4gPGFsZXhh bmRydS5lbGlzZWlAYXJtLmNvbT4gd3JvdGU6Cj4gPiA+ID4gPiA+ID4gPiA+ID4KPiA+ID4gPiA+ ID4gPiA+ID4gPiBIaSBSb2IsCj4gPiA+ID4gPiA+ID4gPiA+ID4KPiA+ID4gPiA+ID4gPiA+ID4g PiBUaGFuayB5b3Ugc28gbXVjaCBmb3IgdGhlIGZlZWRiYWNrLCBJJ20gbm90IHZlcnkgZmFtaWxp YXIgd2l0aCBkZXZpY2UgdHJlZSwKPiA+ID4gPiA+ID4gPiA+ID4gPiBhbmQgYW55IGNvbW1lbnRz IGFyZSB2ZXJ5IHVzZWZ1bC4KPiA+ID4gPiA+ID4gPiA+ID4gPgo+ID4gPiA+ID4gPiA+ID4gPiA+ IE9uIE1vbiwgRGVjIDExLCAyMDIzIGF0IDExOjI5OjQwQU0gLTA2MDAsIFJvYiBIZXJyaW5nIHdy b3RlOgo+ID4gPiA+ID4gPiA+ID4gPiA+ID4gT24gU3VuLCBOb3YgMTksIDIwMjMgYXQgMTA6NTni gK9BTSBBbGV4YW5kcnUgRWxpc2VpCj4gPiA+ID4gPiA+ID4gPiA+ID4gPiA8YWxleGFuZHJ1LmVs aXNlaUBhcm0uY29tPiB3cm90ZToKPiA+ID4gPiA+ID4gPiA+ID4gPiA+ID4KPiA+ID4gPiA+ID4g PiA+ID4gPiA+ID4gQWxsb3cgdGhlIGtlcm5lbCB0byBnZXQgdGhlIHNpemUgYW5kIGxvY2F0aW9u IG9mIHRoZSBNVEUgdGFnIHN0b3JhZ2UKPiA+ID4gPiA+ID4gPiA+ID4gPiA+ID4gcmVnaW9ucyBm cm9tIHRoZSBEVEIuIFRoaXMgbWVtb3J5IGlzIG1hcmtlZCBhcyByZXNlcnZlZCBmb3Igbm93Lgo+ ID4gPiA+ID4gPiA+ID4gPiA+ID4gPgo+ID4gPiA+ID4gPiA+ID4gPiA+ID4gPiBUaGUgRFRCIG5v ZGUgZm9yIHRoZSB0YWcgc3RvcmFnZSByZWdpb24gaXMgZGVmaW5lZCBhczoKPiA+ID4gPiA+ID4g PiA+ID4gPiA+ID4KPiA+ID4gPiA+ID4gPiA+ID4gPiA+ID4gICAgICAgICB0YWdzMDogdGFnLXN0 b3JhZ2VAOGY4MDAwMDAwIHsKPiA+ID4gPiA+ID4gPiA+ID4gPiA+ID4gICAgICAgICAgICAgICAg IGNvbXBhdGlibGUgPSAiYXJtLG10ZS10YWctc3RvcmFnZSI7Cj4gPiA+ID4gPiA+ID4gPiA+ID4g PiA+ICAgICAgICAgICAgICAgICByZWcgPSA8MHgwOCAweGY4MDAwMDAwIDB4MDAgMHg0MDAwMDAw PjsKPiA+ID4gPiA+ID4gPiA+ID4gPiA+ID4gICAgICAgICAgICAgICAgIGJsb2NrLXNpemUgPSA8 MHgxMDAwPjsKPiA+ID4gPiA+ID4gPiA+ID4gPiA+ID4gICAgICAgICAgICAgICAgIG1lbW9yeSA9 IDwmbWVtb3J5MD47ICAgIC8vIEFzc29jaWF0ZWQgdGFnZ2VkIG1lbW9yeSBub2RlCj4gPiA+ID4g PiA+ID4gPiA+ID4gPiA+ICAgICAgICAgfTsKPiA+ID4gPiA+ID4gPiA+ID4gPiA+Cj4gPiA+ID4g PiA+ID4gPiA+ID4gPiBJIHNraW1tZWQgdGhydSB0aGUgZGlzY3Vzc2lvbiBzb21lLiBJZiB0aGlz IG1lbW9yeSByYW5nZSBpcyB3aXRoaW4KPiA+ID4gPiA+ID4gPiA+ID4gPiA+IG1haW4gUkFNLCB0 aGVuIGl0IGRlZmluaXRlbHkgYmVsb25ncyBpbiAvcmVzZXJ2ZWQtbWVtb3J5Lgo+ID4gPiA+ID4g PiA+ID4gPiA+Cj4gPiA+ID4gPiA+ID4gPiA+ID4gT2ssIHdpbGwgZG8gdGhhdC4KPiA+ID4gPiA+ ID4gPiA+ID4gPgo+ID4gPiA+ID4gPiA+ID4gPiA+IElmIHlvdSBkb24ndCBtaW5kLCB3aHkgZG8g eW91IHNheSB0aGF0IGl0IGRlZmluaXRlbHkgYmVsb25ncyBpbgo+ID4gPiA+ID4gPiA+ID4gPiA+ IHJlc2VydmVkLW1lbW9yeT8gSSdtIG5vdCB0cnlpbmcgdG8gYXJndWUgb3RoZXJ3aXNlLCBJJ20g Y3VyaW91cyBhYm91dCB0aGUKPiA+ID4gPiA+ID4gPiA+ID4gPiBtb3RpdmF0aW9uLgo+ID4gPiA+ ID4gPiA+ID4gPgo+ID4gPiA+ID4gPiA+ID4gPiBTaW1wbHkgc28gdGhhdCAvbWVtb3J5IG5vZGVz IGRlc2NyaWJlIGFsbCBwb3NzaWJsZSBtZW1vcnkgYW5kCj4gPiA+ID4gPiA+ID4gPiA+IC9yZXNl cnZlZC1tZW1vcnkgaXMganVzdCBhZGRpbmcgcmVzdHJpY3Rpb25zLiBJdCdzIGFsc28gYmVjYXVz ZQo+ID4gPiA+ID4gPiA+ID4gPiAvcmVzZXJ2ZWQtbWVtb3J5IGlzIHdoYXQgZ2V0cyBoYW5kbGVk IGVhcmx5LCBhbmQgd2UgZG9uJ3QgbmVlZAo+ID4gPiA+ID4gPiA+ID4gPiBtdWx0aXBsZSB0aGlu Z3MgdG8gaGFuZGxlIGVhcmx5Lgo+ID4gPiA+ID4gPiA+ID4gPgo+ID4gPiA+ID4gPiA+ID4gPiA+ IFRhZyBzdG9yYWdlIGlzIG5vdCBETUEgYW5kIGNhbiBsaXZlIGFueXdoZXJlIGluIG1lbW9yeS4K PiA+ID4gPiA+ID4gPiA+ID4KPiA+ID4gPiA+ID4gPiA+ID4gVGhlbiB3aHkgcHV0IGl0IGluIERU IGF0IGFsbD8gVGhlIG9ubHkgcmVhc29uIENNQSBpcyB0aGVyZSBpcyB0byBzZXQKPiA+ID4gPiA+ ID4gPiA+ID4gdGhlIHNpemUuIEl0J3Mgbm90IGV2ZW4gY2xlYXIgdG8gbWUgd2UgbmVlZCBDTUEg aW4gRFQgZWl0aGVyLiBUaGUKPiA+ID4gPiA+ID4gPiA+ID4gcmVhc29uaW5nIGxvbmcgYWdvIHdh cyB0aGUga2VybmVsIGRpZG4ndCBkbyBhIGdvb2Qgam9iIG9mIG1vdmluZyBhbmQKPiA+ID4gPiA+ ID4gPiA+ID4gcmVjbGFpbWluZyBjb250aWd1b3VzIHNwYWNlLCBidXQgdGhhdCdzIHN1cHBvc2Vk IHRvIGJlIGJldHRlciBub3cgKGFuZAo+ID4gPiA+ID4gPiA+ID4gPiBtb3N0IGgvdyBmaWd1cmVk IG91dCB0aGV5IG5lZWQgSU9NTVVzKS4KPiA+ID4gPiA+ID4gPiA+ID4KPiA+ID4gPiA+ID4gPiA+ ID4gQnV0IGZvciB0YWcgc3RvcmFnZSB5b3Uga25vdyB0aGUgc2l6ZSBhcyBpdCBpcyBhIGZ1bmN0 aW9uIG9mIHRoZQo+ID4gPiA+ID4gPiA+ID4gPiBtZW1vcnkgc2l6ZSwgcmlnaHQ/IEFmdGVyIGFs bCwgeW91IGFyZSB2YWxpZGF0aW5nIHRoZSBzaXplIGlzIGNvcnJlY3QuCj4gPiA+ID4gPiA+ID4g PiA+IEkgZ3Vlc3MgdGhlcmUgaXMgc3RpbGwgdGhlIGFzcGVjdCBvZiB3aGV0aGVyIHlvdSB3YW50 IGVuYWJsZSBNVEUgb3IKPiA+ID4gPiA+ID4gPiA+ID4gbm90IHdoaWNoIGNvdWxkIGJlIGRvbmUg aW4gYSB2YXJpZXR5IG9mIHdheXMuCj4gPiA+ID4gPiA+ID4gPgo+ID4gPiA+ID4gPiA+ID4gT2gs IHNvcnJ5LCBteSBiYWQsIEkgc2hvdWxkIGhhdmUgYmVlbiBjbGVhcmVyIGFib3V0IHRoaXMuIEkg ZG9uJ3Qgd2FudCB0bwo+ID4gPiA+ID4gPiA+ID4gcHV0IGl0IGluIHRoZSBEVCBhcyBhICJsaW51 eCxjbWEiIG5vZGUuIEJ1dCBJIHdhbnQgaXQgdG8gYmUgbWFuYWdlZCBieSBDTUEuCj4gPiA+ID4g PiA+ID4KPiA+ID4gPiA+ID4gPiBZZXMsIEkgdW5kZXJzdGFuZCwgYnV0IG15IHBvaW50IHJlbWFp bnMuIFdoeSBkbyB5b3UgbmVlZCB0aGlzIGluIERUPwo+ID4gPiA+ID4gPiA+IElmIHRoZSBsb2Nh dGlvbiBkb2Vzbid0IG1hdHRlciBhbmQgeW91IGNhbiBjYWxjdWxhdGUgdGhlIHNpemUgZnJvbSB0 aGUKPiA+ID4gPiA+ID4gPiBtZW1vcnkgc2l6ZSwgd2hhdCBlbHNlIGlzIHRoZXJlIHRvIGFkZCB0 byB0aGUgRFQ/Cj4gPiA+ID4gPiA+Cj4gPiA+ID4gPiA+IEkgYW0gYWZyYWlkIHRoZXJlIGhhcyBi ZWVuIGEgbWlzdW5kZXJzdGFuZGluZy4gV2hhdCBkbyB5b3UgbWVhbiBieQo+ID4gPiA+ID4gPiAi bG9jYXRpb24gZG9lc24ndCBtYXR0ZXIiPwo+ID4gPiA+ID4KPiA+ID4gPiA+IFlvdSBzYWlkOgo+ ID4gPiA+ID4gPiBUYWcgc3RvcmFnZSBpcyBub3QgRE1BIGFuZCBjYW4gbGl2ZSBhbnl3aGVyZSBp biBtZW1vcnkuCj4gPiA+ID4gPgo+ID4gPiA+ID4gV2hpY2ggSSB0b29rIGFzIHRoZSBrZXJuZWwg Y2FuIGZpZ3VyZSBvdXQgd2hlcmUgdG8gcHV0IGl0LiBCdXQgbWF5YmUKPiA+ID4gPiA+IHlvdSBt ZWFudCB0aGUgaC93IHBsYXRmb3JtIGNhbiBoYXJkIGNvZGUgaXQgdG8gYmUgYW55d2hlcmUgaW4g bWVtb3J5Pwo+ID4gPiA+ID4gSWYgc28sIHRoZW4geWVzLCBEVCBpcyBuZWVkZWQuCj4gPiA+ID4K PiA+ID4gPiBBaCwgSSBzZWUsIHNvcnJ5IGZvciBub3QgYmVpbmcgY2xlYXIgZW5vdWdoLCB5b3Ug YXJlIGNvcnJlY3Q6IHRhZyBzdG9yYWdlCj4gPiA+ID4gaXMgYSBoYXJkd2FyZSBwcm9wZXJ0eSwg YW5kIHNvZnR3YXJlIG5lZWRzIGEgbWVjaGFuaXNtIChpbiB0aGlzIGNhc2UsIHRoZQo+ID4gPiA+ IGR0KSB0byBkaXNjb3ZlciBpdHMgcHJvcGVydGllcy4KPiA+ID4gPgo+ID4gPiA+ID4KPiA+ID4g PiA+ID4gQXQgdGhlIHZlcnkgbGVhc3QsIExpbnV4IG5lZWRzIHRvIGtub3cgdGhlIGFkZHJlc3Mg YW5kIHNpemUgb2YgYSBtZW1vcnkKPiA+ID4gPiA+ID4gcmVnaW9uIHRvIHVzZSBpdC4gVGhlIHNl cmllcyBpcyBhYm91dCB1c2luZyB0aGUgdGFnIHN0b3JhZ2UgbWVtb3J5IGZvcgo+ID4gPiA+ID4g PiBkYXRhLiBUYWcgc3RvcmFnZSBjYW5ub3QgYmUgZGVzY3JpYmVkIGFzIGEgcmVndWxhciBtZW1v cnkgbm9kZSBiZWNhdXNlIGl0Cj4gPiA+ID4gPiA+IGNhbm5vdCBiZSB0YWdnZWQgKGFuZCBub3Jt YWwgbWVtb3J5IGNhbikuCj4gPiA+ID4gPgo+ID4gPiA+ID4gSWYgdGhlIHRhZyBzdG9yYWdlIGxp dmVzIGluIHRoZSBtaWRkbGUgb2YgbWVtb3J5LCB0aGVuIGl0IHdvdWxkIGJlCj4gPiA+ID4gPiBk ZXNjcmliZWQgaW4gdGhlIG1lbW9yeSBub2RlLCBidXQgcmVtb3ZlZCBieSBiZWluZyBpbiByZXNl cnZlZC1tZW1vcnkKPiA+ID4gPiA+IG5vZGUuCj4gPiA+ID4KPiA+ID4gPiBJIGRvbid0IGZvbGxv dy4gV291bGQgeW91IG1pbmQgZ29pbmcgaW50byBtb3JlIGRldGFpbHM/Cj4gPiA+Cj4gPiA+IEl0 IGdvZXMgYmFjayB0byB3aGF0IEkgc2FpZCBlYXJsaWVyIGFib3V0IC9tZW1vcnkgbm9kZXMgZGVz Y3JpYmluZyBhbGwKPiA+ID4gdGhlIG1lbW9yeS4gVGhlcmUncyBubyByZWFzb24gdG8gcmVzZXJ2 ZSBtZW1vcnkgaWYgeW91IGhhdmVuJ3QKPiA+ID4gZGVzY3JpYmVkIHRoYXQgcmFuZ2UgYXMgbWVt b3J5IHRvIGJlZ2luIHdpdGguIE9uZSBjb3VsZCBwcmVzdW1hYmx5Cj4gPiA+IGp1c3QgaGF2ZSBh IG1lbW9yeSBub2RlIGZvciBlYWNoIGNvbnRpZ3VvdXMgY2h1bmsgYW5kIG5vdCBuZWVkCj4gPiA+ IC9yZXNlcnZlZC1tZW1vcnkgKGlnbm9yaW5nIHRoZSBuZWVkIHRvIHNheSB3aGF0IHRoaW5ncyBh cmUgcmVzZXJ2ZWQKPiA+ID4gZm9yKS4gVGhhdCB3b3VsZCBiZWNvbWUgdmVyeSBkaWZmaWN1bHQg dG8gYWRqdXN0LiBOb3RlIHRoYXQgdGhlIGtlcm5lbAo+ID4gPiBoYXMgYSBoYXJkY29kZWQgbGlt aXQgb2YgNjQgcmVzZXJ2ZWQgcmVnaW9ucyBjdXJyZW50bHkgYW5kIHRoYXQgaXMgbm90Cj4gPiA+ IGVub3VnaCBmb3Igc29tZSBwZW9wbGUuIFNlZW1zIGxpa2UgYSBsb3QsIGJ1dCBJIGhhdmUgbm8g aWRlYSBob3cgdGhleQo+ID4gPiBhcmUgKGFiKXVzaW5nIC9yZXNlcnZlZC1tZW1vcnkuCj4gPgo+ ID4gQWgsIEkgc2VlIHdoYXQgeW91IG1lYW4sIHJlc2VydmVkIG1lbW9yeSBpcyBhYm91dCBtYXJr aW5nIGV4aXN0aW5nIG1lbW9yeQo+ID4gKGZyb20gYSAvbWVtb3J5IG5vZGUpIGFzIHNwZWNpYWws IG5vdCBhYm91dCBhZGRpbmcgbmV3IG1lbW9yeS4KPiA+Cj4gPiBBZnRlciB0aGUgbWVtYmxvY2sg YWxsb2NhdG9yIGlzIGluaXRpYWxpemVkLCB0aGUga2VybmVsIGNhbiB1c2UgaXQgZm9yIGl0cwo+ ID4gb3duIGFsbG9jYXRpb25zLiBLZXJuZWwgYWxsb2NhdGlvbnMgYXJlIG5vdCBtb3ZhYmxlLgo+ ID4KPiA+IFdoZW4gYSBwYWdlIGlzIGFsbG9jYXRlZCBhcyB0YWdnZWQsIHRoZSBhc3NvY2lhdGVk IHRhZyBzdG9yYWdlIGNhbm5vdCBiZQo+ID4gdXNlZCBmb3IgZGF0YSwgb3RoZXJ3aXNlIHRoZSB0 YWdzIHdvdWxkIGNvcnJ1cHQgdGhhdCBkYXRhLiBUbyBhdm9pZCB0aGlzLAo+ID4gdGhlIHJlcXVp cmVtZW50IGlzIHRoYXQgdGFnIHN0b3JhZ2UgcGFnZXMgYXJlIG9ubHkgdXNlZCBmb3IgbW92YWJs ZQo+ID4gYWxsb2NhdGlvbnMuIFdoZW4gYSBwYWdlIGlzIGFsbG9jYXRlZCBhcyB0YWdnZWQsIHRo ZSBkYXRhIGluIHRoZSBhc3NvY2lhdGVkCj4gPiB0YWcgc3RvcmFnZSBpcyBtaWdyYXRlZCBhbmQg dGhlIHRhZyBzdG9yYWdlIGlzIHRha2VuIGZyb20gdGhlIHBhZ2UKPiA+IGFsbG9jYXRvciAodmlh IGFsbG9jX2NvbnRpZ19yYW5nZSgpKS4KPiA+Cj4gPiBNeSB1bmRlcnN0YW5kaW5nIGlzIHRoYXQg dGhlIG1lbWJsb2NrIGFsbG9jYXRvciBjYW4gdXNlIGFsbCB0aGUgbWVtb3J5IGZyb20KPiA+IGEg L21lbW9yeSBub2RlLiBJZiB0aGUgdGFncyBzdG9yYWdlIG1lbW9yeSBpcyBkZWNsYXJlZCBpbiBh IC9tZW1vcnkgbm9kZSwKPiA+IHRoZXJlIGV4aXN0cyB0aGUgcG9zc2liaWxpdHkgdGhhdCBMaW51 eCB3aWxsIHVzZSB0YWcgc3RvcmFnZSBtZW1vcnkgZm9yIGl0cwo+ID4gb3duIGFsbG9jYXRpb24s IHdoaWNoIHdvdWxkIG1ha2UgdGhhdCB0YWdzIHN0b3JhZ2UgbWVtb3J5IHVubW92YWJsZSwgYW5k Cj4gPiB0aHVzIHVudXNhYmxlIGZvciBzdG9yaW5nIHRhZ3MuCj4gCj4gTm8sIGJlY2F1c2UgdGhl IHRhZyBzdG9yYWdlIHdvdWxkIGJlIHJlc2VydmVkIGluIC9yZXNlcnZlZC1tZW1vcnkuCj4gCj4g T2YgY291cnNlLCB0aGUgYXJjaCBjb2RlIGNvdWxkIGRvIHNvbWV0aGluZyBiZXR3ZWVuIHNjYW5u aW5nIC9tZW1vcnkKPiBub2RlcyBhbmQgL3Jlc2VydmVkLW1lbW9yeSwgYnV0IHRoYXQgd291bGQg YmUgYnJva2VuIGFyY2ggY29kZS4KPiBJZGVhbGx5LCB0aGVyZSB3b3VsZG4ndCBiZSBhbnkgYXJj aCBjb2RlIGluIGJldHdlZW4gdGhvc2UgMiBwb2ludHMsCj4gYnV0IGl0J3MgY29tcGxpY2F0ZWQu IEl0IHVzZWQgdG8gbWFpbmx5IGJlIHBvd2VycGMsIGJ1dCB3ZSBrZWVwIGFkZGluZwo+IHRvIHRo ZSBjb21wbGV4aXR5IG9uIGFybTY0LgoKQWgsIHllcywgdGhhdHMgd2hhdCBJIHdhcyByZWZlcnJp bmcgdG8sIHRoZSBmYWN0IHRoYXQgdGhlIG1lbW9yeSBub2RlcyBhcmUKcGFyc2VkIGluIHNldHVw X2FyY2ggLT4gc2V0dXBfbWFjaGluZV9mZHQgLT4gZWFybHlfaW5pdF9kdF9zY2FuLCBhbmQgdGhl CnJlc2VydmVkIG1lbW9yeSBpcyBwYXJzZWQgbGF0ZXIgaW4gc2V0dXBfYXJjaCAtPiBhcm02NF9t ZW1ibG9ja19pbml0LgoKSWYgdGhlIHJ1bGUgaXMgdGhhdCBubyBtZW1ibG9jayBhbGxvY2F0aW9u cyBjYW4gdGFrZSBwbGFjZSBiZXR3ZWVuCnNldHVwX21hY2hpbmVfZmR0KCkgYW5kIGFybTY0X21l bWJsb2NrX2luaXQoKSwgdGhlbiBwdXR0aW5nIHRhZyBzdG9yYWdlIGluCmEgL21lbW9yeSBub2Rl IHdpbGwgd29yaywgdGhhbmsgeW91IGZvciB0aGUgY2xhcmlmaWNhdGlvbi4KCj4gCj4gPiBMb29r aW5nIGF0IGVhcmx5X2luaXRfZHRfc2Nhbl9tZW1vcnkoKSwgZXZlbiBpZiBhIC9tZW1vcnkgbm9k ZSBpZiBtYXJrZWQgYXQKPiA+IGhvdHBsdWdnYWJsZSwgbWVtYmxvY2sgd2lsbCBzdGlsbCB1c2Ug aXQsIHVubGVzcyAibW92YWJsZV9ub2RlIiBpcyBzZXQgb24KPiA+IHRoZSBrZXJuZWwgY29tbWFu ZCBsaW5lLgo+ID4KPiA+IFRoYXQncyB0aGUgcmVhc29uIHdoeSBJJ20gbm90IGRlc2NyaWJpbmcg dGFnIHN0b3JhZ2UgaW4gYSAvbWVtb3J5IG5vZGUuICBJcwo+ID4gdGhlcmUgd2F5IHRvIHRlbGwg dGhlIG1lbWJsb2NrIGFsbG9jYXRvciBub3QgdG8gdXNlIG1lbW9yeSBmcm9tIGEgL21lbW9yeQo+ ID4gbm9kZT8KPiA+Cj4gPiA+Cj4gPiA+IExldCBtZSBnaXZlIGFuIGV4YW1wbGUuIFByZXN1bWFi bHkgdXNpbmcgTVRFIGF0IGFsbCBpcyBjb25maWd1cmFibGUuCj4gPiA+IElmIHlvdSBib290IGEg a2VybmVsIHdpdGggTVRFIGRpc2FibGVkIChvciBvbGRlciBhbmQgbm90IHN1cHBvcnRpbmcKPiA+ ID4gaXQpLCB0aGVuIEknZCBhc3N1bWUgeW91J2Qgd2FudCB0byB1c2UgdGhlIHRhZyBzdG9yYWdl IGZvciByZWd1bGFyCj4gPiA+IG1lbW9yeS4gV2VsbCwgSWYgdGFnIHN0b3JhZ2UgaXMgYWxyZWFk eSBwYXJ0IG9mIC9tZW1vcnksIHRoZW4gYWxsIHlvdQo+ID4gPiBoYXZlIHRvIGRvIGlzIGlnbm9y ZSB0aGUgdGFnIHJlc2VydmVkLW1lbW9yeSByZWdpb24uIFR3ZWFraW5nIHRoZQo+ID4gPiBtZW1v cnkgbm9kZXMgd291bGQgYmUgbW9yZSB3b3JrLgo+ID4KPiA+IFJpZ2h0IG5vdywgbWVtb3J5IGlz IGFkZGVkIHZpYSBtZW1ibG9ja19yZXNlcnZlKCksIGFuZCBpZiBNVEUgaXMgZGlzYWJsZWQKPiA+ IChmb3IgZXhhbXBsZSwgdmlhIHRoZSBrZXJuZWwgY29tbWFuZCBsaW5lKSwgdGhlIGNvZGUgY2Fs bHMKPiA+IGZyZWVfcmVzZXJ2ZWRfcGFnZSgpIGZvciBlYWNoIHRhZyBzdG9yYWdlIHBhZ2UuIEkg ZmluZCB0aGF0IHN0cmFpZ2h0Zm93YXJkCj4gPiB0byBpbXBsZW1lbnQuCj4gCj4gQnV0IGJldHRl ciB0byBqdXN0IG5vdCByZXNlcnZlIHRoZSByZWdpb24gaW4gdGhlIGZpcnN0IHBsYWNlLiBBbHNv LCBpdAo+IG5lZWRzIHRvIGJlIHNpbXBsZSBlbm91Z2ggdG8gYmFjayBwb3J0LgoKSSBkb24ndCB0 aGluayB0aGF0IHdvcmtzIC0gcmVzZXJ2ZWQgbWVtb3J5IGlzIHBhcnNlZCBpbiBzZXR1cF9hcmNo IC0+CmFybTY0X21lbWJsb2NrX2luaXQsIGFuZCB0aGUgY3B1IGNhcGFiaWxpdGllcyBhcmUgaW5p dGlhbGl6ZWQgbGF0ZXIsIGluCnNtcF9wcmVwYXJlX2Jvb3RfY3B1LgoKPiAKPiBBbHNvLCBkb2Vz IGZyZWVfcmVzZXJ2ZWRfcGFnZSgpIHdvcmsgb24gcmFuZ2VzIG91dHNpZGUgb2YgbWVtYmxvY2sK PiByYW5nZSAoZS5nLiBiZXlvbmQgZW5kX29mX0RSQU0oKSk/IElmIHRoZSB0YWcgc3RvcmFnZSBo YXBwZW5lZCB0byBsaXZlCj4gYXQgdGhlIGVuZCBvZiBEUkFNIGFuZCB5b3Ugc2hvcnRlbiB0aGUg L21lbW9yeSBub2RlIHNpemUgdG8gcmVtb3ZlIHRhZwo+IHN0b3JhZ2UsIGlzIGl0IHN0aWxsIGdv aW5nIHRvIHdvcms/CgpUYWcgc3RvcmFnZSBtZW1vcnkgaXMgZGlzY292ZXJlZCBpbiAyIHN0YWdl ZDogZmlyc3QgaXQgaXMgYWRkZWQgdG8gbWVtYmxvY2sKd2l0aCBtZW1ibG9ja19hZGQoKSwgdGhl biByZXNlcnZlZCB3aXRoIG1lbWJsb2NrX3Jlc2VydmUoKS4gIFRoaXMgaXMKcGVyZm9ybWVkIGlu IHNldHVwX2FyY2goKSwgYWZ0ZXIgc2V0dXBfbWFjaGluZV9mZHQoKSwgYW5kIGJlZm9yZQphcm02 NF9tZW1ibG9ja19pbml0KCkuIFRoZSB0YWcgdG9yYWdlIGNvZGUga2VlcHMgYW4gYXJyYXkgb2Yg dGhlIGRpc2NvdmVyZWQKdGFnIHJlZ2lvbnMuIFRoaXMgaXMgaW1wbGVtZW50ZWQgaW4gdGhpcyBw YXRjaC4KClRoZSBuZXh0IHBhdGNoIFsxXSBhZGRzIGFuIGFyY2hfaW5pdGNhbGwgdGhhdCBjaGVj a3MgaWYKbWVtYmxvY2tfZW5kX29mX0RSQU0oKSBpcyBsZXNzIHRoYW4gdGhlIHVwcGVyIGFkZHJl c3Mgb2YgYSB0YWcgc3RvcmFnZQpyZWdpb24uIElmIHRoYXQgaXMgdGhlIGNhc2UsIHRoZW4gdGFn IHN0b3JhZ2UgbWVtb3J5IGlzIGtlcHQgYXMgcmVzZXJ2ZWQKYW5kIHJlbWFpbnMgdW51c2VkIGJ5 IHRoZSBrZXJuZWwuCgpUaGUgbmV4dCBjaGVjayBpcyBmb3IgbXRlIGVuYWJsZWQ6IGlmIGl0IGlz IGRpc2FibGVkLCB0aGVuIHRoZSBwYWdlcyBhcmUKdW5yZXNlcnZlZCBieSBkb2luZyBmcmVlX3Jl c2VydmVkX3BhZ2UoKS4KCkFuZCBmaW5hbGx5LCBpZiBhbGwgdGhlIGNoZWNrcyBwYXNzLCB0aGUg dGFnIHN0b3JhZ2UgcGFnZXMgYXJlIHB1dCBvbiB0aGUKTUlHUkFURV9DTUEgbGlzdHMgd2l0aCBp bml0X2NtYV9yZXNlcnZlZF9wYWdlYmxvY2soKS4KClsxXSBodHRwczovL2xvcmUua2VybmVsLm9y Zy9hbGwvMjAyMzExMTkxNjU3MjEuOTg0OS0xMi1hbGV4YW5kcnUuZWxpc2VpQGFybS5jb20vCgpU aGFua3MsCkFsZXgKCj4gCj4gUm9iCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fXwpsaW51eC1hcm0ta2VybmVsIG1haWxpbmcgbGlzdApsaW51eC1hcm0ta2Vy bmVsQGxpc3RzLmluZnJhZGVhZC5vcmcKaHR0cDovL2xpc3RzLmluZnJhZGVhZC5vcmcvbWFpbG1h bi9saXN0aW5mby9saW51eC1hcm0ta2VybmVsCg==