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 kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id F19A4C35274 for ; Mon, 18 Dec 2023 23:01:29 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 24C906B0075; Mon, 18 Dec 2023 18:01:29 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 1D60B6B0078; Mon, 18 Dec 2023 18:01:29 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 076D26B007B; Mon, 18 Dec 2023 18:01:29 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0016.hostedemail.com [216.40.44.16]) by kanga.kvack.org (Postfix) with ESMTP id E51F36B0075 for ; Mon, 18 Dec 2023 18:01:28 -0500 (EST) Received: from smtpin09.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay02.hostedemail.com (Postfix) with ESMTP id BCDD7120859 for ; Mon, 18 Dec 2023 23:01:28 +0000 (UTC) X-FDA: 81581462256.09.7787BEC Received: from smtp-fw-80008.amazon.com (smtp-fw-80008.amazon.com [99.78.197.219]) by imf20.hostedemail.com (Postfix) with ESMTP id 53C1D1C0030 for ; Mon, 18 Dec 2023 23:01:25 +0000 (UTC) Authentication-Results: imf20.hostedemail.com; dkim=pass header.d=amazon.com header.s=amazon201209 header.b="N+ox8I/y"; spf=pass (imf20.hostedemail.com: domain of "prvs=709e3e692=graf@amazon.de" designates 99.78.197.219 as permitted sender) smtp.mailfrom="prvs=709e3e692=graf@amazon.de"; dmarc=pass (policy=quarantine) header.from=amazon.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1702940485; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=BKnuJnSOr7AXqCS4JEaUZGmhItcYW0ApYK2shnoxWNA=; b=Yd9CHDkGYjeBsf8oq1RZ2uFByHVQNNPE+SabVgXWxBadNs8LMxJXsnW4Anm335aW6suCIY 5vDiYiWvJU4J5v24SA1XCrTiWH4TvPzQEoBW74JZ5GAChnpGmvwvezAKlyIV0mvAXlaMOC EQ1Tu6EJEWWsghg/nDoeY/XZ6efe/hY= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1702940485; a=rsa-sha256; cv=none; b=ABn5WKj577nN3GOev42JpLLI2m53kOWfLzaNQC3UAGKh3YH+66i6WI/e6pZt31Pg2vNk5i 5EFA9BvE90QEDmzS0pD9C2eTftbHOE/r7okoWtth0WKb71i1Fdxpy4HGs+9fYLBaWnAf/b 0U1c5f1NwkXhgXEXdxngTeAVvvZ1fds= ARC-Authentication-Results: i=1; imf20.hostedemail.com; dkim=pass header.d=amazon.com header.s=amazon201209 header.b="N+ox8I/y"; spf=pass (imf20.hostedemail.com: domain of "prvs=709e3e692=graf@amazon.de" designates 99.78.197.219 as permitted sender) smtp.mailfrom="prvs=709e3e692=graf@amazon.de"; dmarc=pass (policy=quarantine) header.from=amazon.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amazon.com; i=@amazon.com; q=dns/txt; s=amazon201209; t=1702940485; x=1734476485; h=message-id:date:mime-version:subject:to:cc:references: from:in-reply-to:content-transfer-encoding; bh=BKnuJnSOr7AXqCS4JEaUZGmhItcYW0ApYK2shnoxWNA=; b=N+ox8I/yPWHigBUo8dJWBaKE+wRhHBCS8te42gDuHFkPDkv9x9UG8pRt E1EbderHnK/fu+PXZsZnovjcZVodRaTblVEJyH7XHybbH7FC5foo4a6Ql nQwPIRg/gJKjdP2NwMDI9favyPMe7wedaH2DYOWPxeFiq5IBshEPckjxH 4=; X-IronPort-AV: E=Sophos;i="6.04,286,1695686400"; d="scan'208";a="52164912" Received: from pdx4-co-svc-p1-lb2-vlan3.amazon.com (HELO email-inbound-relay-iad-1d-m6i4x-153b24bc.us-east-1.amazon.com) ([10.25.36.214]) by smtp-border-fw-80008.pdx80.corp.amazon.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 18 Dec 2023 23:01:18 +0000 Received: from smtpout.prod.us-west-2.prod.farcaster.email.amazon.dev (iad7-ws-svc-p70-lb3-vlan3.iad.amazon.com [10.32.235.38]) by email-inbound-relay-iad-1d-m6i4x-153b24bc.us-east-1.amazon.com (Postfix) with ESMTPS id D02B4C605B; Mon, 18 Dec 2023 23:01:10 +0000 (UTC) Received: from EX19MTAUWA001.ant.amazon.com [10.0.7.35:5473] by smtpin.naws.us-west-2.prod.farcaster.email.amazon.dev [10.0.33.64:2525] with esmtp (Farcaster) id 5f7bb7c5-6180-43fc-ad28-77aacdf6c520; Mon, 18 Dec 2023 23:01:10 +0000 (UTC) X-Farcaster-Flow-ID: 5f7bb7c5-6180-43fc-ad28-77aacdf6c520 Received: from EX19D020UWC004.ant.amazon.com (10.13.138.149) by EX19MTAUWA001.ant.amazon.com (10.250.64.204) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1118.40; Mon, 18 Dec 2023 23:01:10 +0000 Received: from [0.0.0.0] (10.253.83.51) by EX19D020UWC004.ant.amazon.com (10.13.138.149) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1118.40; Mon, 18 Dec 2023 23:01:04 +0000 Message-ID: Date: Tue, 19 Dec 2023 00:01:02 +0100 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH 06/15] arm64: Add KHO support To: Rob Herring CC: , , , , , , , , Eric Biederman , "H. Peter Anvin" , Andy Lutomirski , Peter Zijlstra , Steven Rostedt , Andrew Morton , "Mark Rutland" , Tom Lendacky , Ashish Kalra , James Gowans , Stanislav Kinsburskii , , , , Anthony Yznaga , Usama Arif , "David Woodhouse" , Benjamin Herrenschmidt References: <20231213000452.88295-1-graf@amazon.com> <20231213000452.88295-7-graf@amazon.com> <20231214223604.GA1045434-robh@kernel.org> Content-Language: en-US From: Alexander Graf In-Reply-To: <20231214223604.GA1045434-robh@kernel.org> X-Originating-IP: [10.253.83.51] X-ClientProxiedBy: EX19D042UWA003.ant.amazon.com (10.13.139.44) To EX19D020UWC004.ant.amazon.com (10.13.138.149) Content-Type: text/plain; charset="utf-8"; format="flowed" Content-Transfer-Encoding: base64 X-Stat-Signature: r9fbh1d1wtf9db4i3f6febbqmr8nyp34 X-Rspamd-Server: rspam10 X-Rspamd-Queue-Id: 53C1D1C0030 X-Rspam-User: X-HE-Tag: 1702940485-542897 X-HE-Meta: U2FsdGVkX18HwfS6qBxdSNzBdzo0h4IW1OFxtML6V9FBCigJ1sDClQDhp0iAblj24+5Ky0wdEZbYEJDaNpeT/t/38TSNRdN4uD0va/bEYsOGwqTEchNghVEJdsm4XQMCgTdSsqBYiVWGmaE1g48Elxbky1jwKf1GzV0B5yte87wIx4W5X0Gy5EheglMw+mH1KmigmYeaHDmerzdd4WW08IeKpSzFQSYDCjTL2UQ2SlZXbS1qzVQ7+6EEtyMcEy5El2abpkS3hr2ESmdnnL2asczhP1C4PevJZzRH5betoJE4007za2qy5LmOBfx59wHrA1BjBj3SnH7aDR6HgtO6y63vXc4pnsXeMmAERH3PMUF0gmlQtihxUgvdawFdsfmu6KjOnl781Wjg5FKUyAPbO0zHGtpixnrpLo6cX/ZmKUy/HiRuN53pQ717HGoBXrc8Jry/RAM5N/QeIubclABAHMuXZop0PzjCLOXA9gHsdg+iZvrayeBNVLhb65NJ6qmm+U8o33zJudfvochnAWg/DNlX/Ly5UH5EPCdtzO8xmMlfNLNmqEpGcvAFOZrQAacDK1oop+Yz+QdVl+KKQ+8/GDgiumLfJmZ+m5jQf/6Md0pcbs5dwxa/42Q+PZYdPcLFDdRjhqtDxXsYJW5vDEfuT9AWtrB/Wmukz1ZArRIlUyflRt2b0T8xHCG+FokhwFlBOsH083WfPMWXc2gFZyDJOE7UBf0NYCue+wP694Do7fmFNV53uGxp7U0K0FXv2xuaCpubkZXIxXMF9SC0L3XjouS7Jv0JuVP0cB4cDSnBR6iQ3JHnPGy39XtPTaYkcL1JwMjas1MPj1S+Oau/DuLnitivTU3xCzp7ShjKqXlctfrzNQxxfJq+vAKmxbfYJJftC7D8inxJDJQsTHBqYdDqU5MGcQntVVakoserGYJieEdHDD3ZUgqvv70rysTnrc/4+pz/SRKeWNNNjtnzHuk oz07GPHp P8qDui1DWGdydbcfXgBt4ELFyBoCqdctaLwgn40QIdG6aZ/W8/roWWX/yI3ts/1kF4UB/XwXxWu7cz4TvbT7qO5MJv0IMPV2PaxBbNbVePsf6kJaBk7N1FKjJmHx3dS4oe9HkSRrCyPDIHYRC+ZFPA0SS8ZVwqOhERhDFRW8sF6dZbCK22DuoYNEUWqt6I9FPcf1ypIYMsRZnc/obUjy23KFoh1MwSf0sOKU0AwL7BP+xwnpxxL9xhYabIJgvzKjOB92+96d3ZmwuECXWgza+5zISn6DqV+cgIX0t46c3HxtO8UFaH8wuoWCU1BF3/L87pYtm8gGwjEDIOAivroR/Y9bBx01KjAkoP+M+y/sMtxLoiSpKNWmf5R2l8Q8mimRG5auhZX1n1ngVHFSbdRnM+W9cq/WEzW2dKH24Ed6jHGudCZBvCbbWT5i6PnmeDk/XmgI2j6ke2sRnd+PaCt0zDdZHkMkFM2319acqxgz2j0z8mXmfMB8IoOMcQqM6G/YNmiWVSYQTqGS5PW8b+UJP/BC2vu9bektNu/8j5vhkKXMVpaf4RWyoXe7cTl/BGHvDDa3dgrzky1Elhz56/aw95plQ/KE8bqCS2StEoJ6+9hdW+p3fviM6cM16S0KIo7WV+QY1Ajs26h9NHm7aB5gNCyoPSrny3ozuqSMCl95b31GBkk8= X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: SGV5IFJvYiEKCk9uIDE0LjEyLjIzIDIzOjM2LCBSb2IgSGVycmluZyB3cm90ZToKPiBPbiBXZWQs IERlYyAxMywgMjAyMyBhdCAxMjowNDo0M0FNICswMDAwLCBBbGV4YW5kZXIgR3JhZiB3cm90ZToK Pj4gV2Ugbm93IGhhdmUgYWxsIGJpdHMgaW4gcGxhY2UgdG8gc3VwcG9ydCBLSE8ga2V4ZWNzLiBU aGlzIHBhdGNoIGFkZHMKPj4gYXdhcmVuZXNzIG9mIEtITyBpbiB0aGUga2V4ZWMgZmlsZSBhcyB3 ZWxsIGFzIGJvb3QgcGF0aCBmb3IgYXJtNjQgYW5kCj4+IGFkZHMgdGhlIHJlc3BlY3RpdmUga2Nv bmZpZyBvcHRpb24gdG8gdGhlIGFyY2hpdGVjdHVyZSBzbyB0aGF0IGl0IGNhbgo+PiB1c2UgS0hP IHN1Y2Nlc3NmdWxseS4KPj4KPj4gU2lnbmVkLW9mZi1ieTogQWxleGFuZGVyIEdyYWYgPGdyYWZA YW1hem9uLmNvbT4KPj4gLS0tCj4+ICAgYXJjaC9hcm02NC9LY29uZmlnICAgICAgICB8IDEyICsr KysrKysrKysrKwo+PiAgIGFyY2gvYXJtNjQva2VybmVsL3NldHVwLmMgfCAgMiArKwo+PiAgIGFy Y2gvYXJtNjQvbW0vaW5pdC5jICAgICAgfCAgOCArKysrKysrKwo+PiAgIGRyaXZlcnMvb2YvZmR0 LmMgICAgICAgICAgfCA0MSArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysK Pj4gICBkcml2ZXJzL29mL2tleGVjLmMgICAgICAgIHwgMzYgKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKwo+PiAgIDUgZmlsZXMgY2hhbmdlZCwgOTkgaW5zZXJ0aW9ucygrKQo+Pgo+ PiBkaWZmIC0tZ2l0IGEvYXJjaC9hcm02NC9LY29uZmlnIGIvYXJjaC9hcm02NC9LY29uZmlnCj4+ IGluZGV4IDdiMDcxYTAwNDI1ZC4uMWJhMzM4Y2U3NTk4IDEwMDY0NAo+PiAtLS0gYS9hcmNoL2Fy bTY0L0tjb25maWcKPj4gKysrIGIvYXJjaC9hcm02NC9LY29uZmlnCj4+IEBAIC0xNTAxLDYgKzE1 MDEsMTggQEAgY29uZmlnIEFSQ0hfU1VQUE9SVFNfQ1JBU0hfRFVNUAo+PiAgIGNvbmZpZyBBUkNI X0hBU19HRU5FUklDX0NSQVNIS0VSTkVMX1JFU0VSVkFUSU9OCj4+ICAgICAgICBkZWZfYm9vbCBD UkFTSF9DT1JFCj4+Cj4+ICtjb25maWcgS0VYRUNfS0hPCj4+ICsgICAgIGJvb2wgImtleGVjIGhh bmRvdmVyIgo+PiArICAgICBkZXBlbmRzIG9uIEtFWEVDCj4+ICsgICAgIHNlbGVjdCBNRU1CTE9D S19TQ1JBVENICj4+ICsgICAgIHNlbGVjdCBMSUJGRFQKPj4gKyAgICAgc2VsZWN0IENNQQo+PiAr ICAgICBoZWxwCj4+ICsgICAgICAgQWxsb3cga2V4ZWMgdG8gaGFuZCBvdmVyIHN0YXRlIGFjcm9z cyBrZXJuZWxzIGJ5IGdlbmVyYXRpbmcgYW5kCj4+ICsgICAgICAgcGFzc2luZyBhZGRpdGlvbmFs IG1ldGFkYXRhIHRvIHRoZSB0YXJnZXQga2VybmVsLiBUaGlzIGlzIHVzZWZ1bAo+PiArICAgICAg IHRvIGtlZXAgZGF0YSBvciBzdGF0ZSBhbGl2ZSBhY3Jvc3MgdGhlIGtleGVjLiBGb3IgdGhpcyB0 byB3b3JrLAo+PiArICAgICAgIGJvdGggc291cmNlIGFuZCB0YXJnZXQga2VybmVscyBuZWVkIHRv IGhhdmUgdGhpcyBvcHRpb24gZW5hYmxlZC4KPiBXaHkgZG8gd2UgaGF2ZSB0aGUgc2FtZSBrY29u ZmlnIGVudHJ5IHR3aWNlPyBIZXJlIGFuZCB4ODYuCgoKVGhpcyB3YXMgaG93IHRoZSBrZXhlYyBj b25maWcgb3B0aW9ucyB3ZXJlIGRvbmUgd2hlbiBJIHdyb3RlIHRoZSBwYXRjaGVzIApvcmlnaW5h bGx5LiBTaW5jZSB0aGVuLCBsb29rcyBsaWtlIEVyaWMgRGVWb2xkZXIgaGFzIGNsZWFuZWQgdXAg dGhpbmdzIApxdWl0ZSBuaWNlbHkuIEknbGwgYWRhcHQgdGhlIG5ldyB3YXkuCgoKPgo+PiArCj4+ ICAgY29uZmlnIFRSQU5TX1RBQkxFCj4+ICAgICAgICBkZWZfYm9vbCB5Cj4+ICAgICAgICBkZXBl bmRzIG9uIEhJQkVSTkFUSU9OIHx8IEtFWEVDX0NPUkUKPj4gZGlmZiAtLWdpdCBhL2FyY2gvYXJt NjQva2VybmVsL3NldHVwLmMgYi9hcmNoL2FybTY0L2tlcm5lbC9zZXR1cC5jCj4+IGluZGV4IDQx N2E4YTg2YjJkYi4uODAzNWI2NzNkOTZkIDEwMDY0NAo+PiAtLS0gYS9hcmNoL2FybTY0L2tlcm5l bC9zZXR1cC5jCj4+ICsrKyBiL2FyY2gvYXJtNjQva2VybmVsL3NldHVwLmMKPj4gQEAgLTM0Niw2 ICszNDYsOCBAQCB2b2lkIF9faW5pdCBfX25vX3Nhbml0aXplX2FkZHJlc3Mgc2V0dXBfYXJjaChj aGFyICoqY21kbGluZV9wKQo+Pgo+PiAgICAgICAgcGFnaW5nX2luaXQoKTsKPj4KPj4gKyAgICAg a2hvX3Jlc2VydmVfbWVtKCk7Cj4+ICsKPj4gICAgICAgIGFjcGlfdGFibGVfdXBncmFkZSgpOwo+ Pgo+PiAgICAgICAgLyogUGFyc2UgdGhlIEFDUEkgdGFibGVzIGZvciBwb3NzaWJsZSBib290LXRp bWUgY29uZmlndXJhdGlvbiAqLwo+PiBkaWZmIC0tZ2l0IGEvYXJjaC9hcm02NC9tbS9pbml0LmMg Yi9hcmNoL2FybTY0L21tL2luaXQuYwo+PiBpbmRleCA3NGMxZGI4Y2UyNzEuLjI1NGQ4MmYzMzgz YSAxMDA2NDQKPj4gLS0tIGEvYXJjaC9hcm02NC9tbS9pbml0LmMKPj4gKysrIGIvYXJjaC9hcm02 NC9tbS9pbml0LmMKPj4gQEAgLTM1OCw2ICszNTgsOCBAQCB2b2lkIF9faW5pdCBib290bWVtX2lu aXQodm9pZCkKPj4gICAgICAgICAqLwo+PiAgICAgICAgYXJjaF9yZXNlcnZlX2NyYXNoa2VybmVs KCk7Cj4+Cj4+ICsgICAgIGtob19yZXNlcnZlKCk7Cj4+ICsKPiByZXNlcnZlIHdoYXQ/IEl0IGlz IG5vdCBvYnZpb3VzIHdoYXQgdGhlIGRpZmZlcmVuY2UgYmV0d2Vlbgo+IGtob19yZXNlcnZlX21l bSgpIGFuZCBraG9fcmVzZXJ2ZSgpIGFyZS4KCgpZZWFoLCBJIGFncmVlLiBJIHdhcyBzdHJ1Z2ds aW5nIHRvIGZpbmQgZ29vZCBuYW1lcyBmb3IgdGhlbS4gV2hhdCB0aGV5IApkbyBpczoKCmtob19y ZXNlcnZlKCkgLSBSZXNlcnZlIENNQSBtZW1vcnkgZm9yIGxhdGVyIGtleGVjLiBXZSB1c2UgdGhp cyBtZW1vcnkgCnJlZ2lvbiBhcyBzY3JhdGNoIG1lbW9yeSBsYXRlci4Ka2hvX3Jlc2VydmVfbWVt KCkgLSBQb3N0LUtITy4gQ3JlYXRlcyBtZW1vcnkgcmVzZXJ2YXRpb25zIGluc2lkZSAKbWVtYmxv Y2tzIGZvciBwcmUtS0hPIGhhbmRlZCBvdmVyIG1lbW9yeS4KCkZvciB2MiwgSSdsbCBjaGFuZ2Ug dGhlbSB0byBraG9fcmVzZXJ2ZV9zY3JhdGNoKCkgYW5kIApraG9fcmVzZXJ2ZV9wcmV2aW91c19t ZW0oKSB1bmxlc3MgeW91IGhhdmUgYmV0dGVyIGlkZWFzIDopCgoKPgo+PiAgICAgICAgbWVtYmxv Y2tfZHVtcF9hbGwoKTsKPj4gICB9Cj4+Cj4+IEBAIC0zODYsNiArMzg4LDEyIEBAIHZvaWQgX19p bml0IG1lbV9pbml0KHZvaWQpCj4+ICAgICAgICAvKiB0aGlzIHdpbGwgcHV0IGFsbCB1bnVzZWQg bG93IG1lbW9yeSBvbnRvIHRoZSBmcmVlbGlzdHMgKi8KPj4gICAgICAgIG1lbWJsb2NrX2ZyZWVf YWxsKCk7Cj4+Cj4+ICsgICAgIC8qCj4+ICsgICAgICAqIE5vdyB0aGF0IGFsbCBLSE8gcGFnZXMg YXJlIG1hcmtlZCBhcyByZXNlcnZlZCwgbGV0J3MgZmxpcCB0aGVtIGJhY2sKPj4gKyAgICAgICog dG8gbm9ybWFsIHBhZ2VzIHdpdGggYWNjdXJhdGUgcmVmY291bnQuCj4+ICsgICAgICAqLwo+PiAr ICAgICBraG9fcG9wdWxhdGVfcmVmY291bnQoKTsKPj4gKwo+PiAgICAgICAgLyoKPj4gICAgICAg ICAqIENoZWNrIGJvdW5kYXJpZXMgdHdpY2U6IFNvbWUgZnVuZGFtZW50YWwgaW5jb25zaXN0ZW5j aWVzIGNhbiBiZQo+PiAgICAgICAgICogZGV0ZWN0ZWQgYXQgYnVpbGQgdGltZSBhbHJlYWR5Lgo+ PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9vZi9mZHQuYyBiL2RyaXZlcnMvb2YvZmR0LmMKPj4gaW5k ZXggYmY1MDJiYThkYTk1Li5hZjk1MTM5MzUxZWQgMTAwNjQ0Cj4+IC0tLSBhL2RyaXZlcnMvb2Yv ZmR0LmMKPj4gKysrIGIvZHJpdmVycy9vZi9mZHQuYwo+PiBAQCAtMTAwNiw2ICsxMDA2LDQ0IEBA IHZvaWQgX19pbml0IGVhcmx5X2luaXRfZHRfY2hlY2tfZm9yX3VzYWJsZV9tZW1fcmFuZ2Uodm9p ZCkKPj4gICAgICAgICAgICAgICAgbWVtYmxvY2tfYWRkKHJnbltpXS5iYXNlLCByZ25baV0uc2l6 ZSk7Cj4+ICAgfQo+Pgo+PiArLyoqCj4+ICsgKiBlYXJseV9pbml0X2R0X2NoZWNrX2tobyAtIERl Y29kZSBpbmZvIHJlcXVpcmVkIGZvciBrZXhlYyBoYW5kb3ZlciBmcm9tIERUCj4+ICsgKi8KPj4g K3ZvaWQgX19pbml0IGVhcmx5X2luaXRfZHRfY2hlY2tfa2hvKHZvaWQpCj4+ICt7Cj4+ICsjaWZk ZWYgQ09ORklHX0tFWEVDX0tITwo+IGlmICghSVNfRU5BQkxFRChDT05GSUdfS0VYRUNfS0hPKSkK PiAgICByZXR1cm47Cj4KPiBZb3UnbGwgbmVlZCBhIGtob19wb3B1bGF0ZSgpIHN0dWIuCgoKQWx3 YXlzIGhhcHB5IHRvIHJlbW92ZSAjaWZkZWZzIDopCgoKPgo+PiArICAgICB1bnNpZ25lZCBsb25n IG5vZGUgPSBjaG9zZW5fbm9kZV9vZmZzZXQ7Cj4+ICsgICAgIHU2NCBraG9fc3RhcnQsIHNjcmF0 Y2hfc3RhcnQsIHNjcmF0Y2hfc2l6ZSwgbWVtX3N0YXJ0LCBtZW1fc2l6ZTsKPj4gKyAgICAgY29u c3QgX19iZTMyICpwOwo+PiArICAgICBpbnQgbDsKPj4gKwo+PiArICAgICBpZiAoKGxvbmcpbm9k ZSA8IDApCj4+ICsgICAgICAgICAgICAgcmV0dXJuOwo+PiArCj4+ICsgICAgIHAgPSBvZl9nZXRf ZmxhdF9kdF9wcm9wKG5vZGUsICJsaW51eCxraG8tZHQiLCAmbCk7Cj4+ICsgICAgIGlmIChsICE9 IChkdF9yb290X2FkZHJfY2VsbHMgKyBkdF9yb290X3NpemVfY2VsbHMpICogc2l6ZW9mKF9fYmUz MikpCj4+ICsgICAgICAgICAgICAgcmV0dXJuOwo+PiArCj4+ICsgICAgIGtob19zdGFydCA9IGR0 X21lbV9uZXh0X2NlbGwoZHRfcm9vdF9hZGRyX2NlbGxzLCAmcCk7Cj4+ICsKPj4gKyAgICAgcCA9 IG9mX2dldF9mbGF0X2R0X3Byb3Aobm9kZSwgImxpbnV4LGtoby1zY3JhdGNoIiwgJmwpOwo+PiAr ICAgICBpZiAobCAhPSAoZHRfcm9vdF9hZGRyX2NlbGxzICsgZHRfcm9vdF9zaXplX2NlbGxzKSAq IHNpemVvZihfX2JlMzIpKQo+PiArICAgICAgICAgICAgIHJldHVybjsKPj4gKwo+PiArICAgICBz Y3JhdGNoX3N0YXJ0ID0gZHRfbWVtX25leHRfY2VsbChkdF9yb290X2FkZHJfY2VsbHMsICZwKTsK Pj4gKyAgICAgc2NyYXRjaF9zaXplID0gZHRfbWVtX25leHRfY2VsbChkdF9yb290X2FkZHJfY2Vs bHMsICZwKTsKPj4gKwo+PiArICAgICBwID0gb2ZfZ2V0X2ZsYXRfZHRfcHJvcChub2RlLCAibGlu dXgsa2hvLW1lbSIsICZsKTsKPj4gKyAgICAgaWYgKGwgIT0gKGR0X3Jvb3RfYWRkcl9jZWxscyAr IGR0X3Jvb3Rfc2l6ZV9jZWxscykgKiBzaXplb2YoX19iZTMyKSkKPj4gKyAgICAgICAgICAgICBy ZXR1cm47Cj4+ICsKPj4gKyAgICAgbWVtX3N0YXJ0ID0gZHRfbWVtX25leHRfY2VsbChkdF9yb290 X2FkZHJfY2VsbHMsICZwKTsKPj4gKyAgICAgbWVtX3NpemUgPSBkdF9tZW1fbmV4dF9jZWxsKGR0 X3Jvb3RfYWRkcl9jZWxscywgJnApOwo+PiArCj4+ICsgICAgIGtob19wb3B1bGF0ZShraG9fc3Rh cnQsIHNjcmF0Y2hfc3RhcnQsIHNjcmF0Y2hfc2l6ZSwgbWVtX3N0YXJ0LCBtZW1fc2l6ZSk7Cj4+ ICsjZW5kaWYKPj4gK30KPj4gKwo+PiAgICNpZmRlZiBDT05GSUdfU0VSSUFMX0VBUkxZQ09OCj4+ Cj4+ICAgaW50IF9faW5pdCBlYXJseV9pbml0X2R0X3NjYW5fY2hvc2VuX3N0ZG91dCh2b2lkKQo+ PiBAQCAtMTMwNCw2ICsxMzQyLDkgQEAgdm9pZCBfX2luaXQgZWFybHlfaW5pdF9kdF9zY2FuX25v ZGVzKHZvaWQpCj4+Cj4+ICAgICAgICAvKiBIYW5kbGUgbGludXgsdXNhYmxlLW1lbW9yeS1yYW5n ZSBwcm9wZXJ0eSAqLwo+PiAgICAgICAgZWFybHlfaW5pdF9kdF9jaGVja19mb3JfdXNhYmxlX21l bV9yYW5nZSgpOwo+PiArCj4+ICsgICAgIC8qIEhhbmRsZSBrZXhlYyBoYW5kb3ZlciAqLwo+PiAr ICAgICBlYXJseV9pbml0X2R0X2NoZWNrX2tobygpOwo+PiAgIH0KPj4KPj4gICBib29sIF9faW5p dCBlYXJseV9pbml0X2R0X3NjYW4odm9pZCAqcGFyYW1zKQo+PiBkaWZmIC0tZ2l0IGEvZHJpdmVy cy9vZi9rZXhlYy5jIGIvZHJpdmVycy9vZi9rZXhlYy5jCj4+IGluZGV4IDY4Mjc4MzQwY2VjZi4u YTYxMmU2YmI4Yzc1IDEwMDY0NAo+PiAtLS0gYS9kcml2ZXJzL29mL2tleGVjLmMKPj4gKysrIGIv ZHJpdmVycy9vZi9rZXhlYy5jCj4+IEBAIC0yNjQsNiArMjY0LDM3IEBAIHN0YXRpYyBpbmxpbmUg aW50IHNldHVwX2ltYV9idWZmZXIoY29uc3Qgc3RydWN0IGtpbWFnZSAqaW1hZ2UsIHZvaWQgKmZk dCwKPj4gICB9Cj4+ICAgI2VuZGlmIC8qIENPTkZJR19JTUFfS0VYRUMgKi8KPj4KPj4gK3N0YXRp YyBpbnQga2hvX2FkZF9jaG9zZW4oY29uc3Qgc3RydWN0IGtpbWFnZSAqaW1hZ2UsIHZvaWQgKmZk dCwgaW50IGNob3Nlbl9ub2RlKQo+PiArewo+PiArICAgICBpbnQgcmV0ID0gMDsKPj4gKwo+PiAr I2lmZGVmIENPTkZJR19LRVhFQ19LSE8KPiBkaXR0bwo+Cj4gVGhvdWdoIHBlcmhhcHMgaW1hZ2Ut PmtobyBpcyBub3QgZGVmaW5lZD8KCgpDb3JyZWN0LCBpdCBpcyBub3QuIEJ1dCBJJ20gaGFwcHkg dG8gaGF2ZSBhIGZldyBsb2NhbCB2YXJpYWJsZXMgdGhhdCBJIApzdGFzaCB0aGUgaW1hZ2UtPmto byBjb250ZW50cyBpbnNpZGUgYW4gaWZkZWYgaW50byBzbyB3ZSBjYW4gYXQgbGVhc3QgCmNvbXBp bGUgY2hlY2sgYWxsIGxpYmZkdCBpbnZvY2F0aW9ucy4KCgpBbGV4CgoKCgpBbWF6b24gRGV2ZWxv cG1lbnQgQ2VudGVyIEdlcm1hbnkgR21iSApLcmF1c2Vuc3RyLiAzOAoxMDExNyBCZXJsaW4KR2Vz Y2hhZWZ0c2Z1ZWhydW5nOiBDaHJpc3RpYW4gU2NobGFlZ2VyLCBKb25hdGhhbiBXZWlzcwpFaW5n ZXRyYWdlbiBhbSBBbXRzZ2VyaWNodCBDaGFybG90dGVuYnVyZyB1bnRlciBIUkIgMTQ5MTczIEIK U2l0ejogQmVybGluClVzdC1JRDogREUgMjg5IDIzNyA4NzkKCgo=