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 X-Spam-Level: X-Spam-Status: No, score=-0.7 required=3.0 tests=DKIM_SIGNED,DKIM_VALID, FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM,HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED autolearn=no autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 86289CA9EAE for ; Tue, 29 Oct 2019 14:05:12 +0000 (UTC) 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 mail.kernel.org (Postfix) with ESMTPS id 4E11E2087E for ; Tue, 29 Oct 2019 14:05:12 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="JhwFunuE"; dkim=fail reason="signature verification failed" (1024-bit key) header.d=126.com header.i=@126.com header.b="O0+MvT9N" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 4E11E2087E Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=126.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-arm-kernel-bounces+infradead-linux-arm-kernel=archiver.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20170209; h=Sender: Content-Transfer-Encoding:Content-Type:Cc:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:Message-ID:MIME-Version:References: In-Reply-To:Subject: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=wBNLw7vRrXipaB/S+HfctC7d2ssGt9iVjBIj79+eJ+U=; b=JhwFunuEipCBEz 85RFwnoB0gBeZMWWH3begB0HTp0zBhXd84co+y58RRDzN0N6Bv3YaUVT3bvwjV5Xfj5prhor+Ek3r HnoqIHsnbGEztTq/1cE1ErtTHFkMadz4oWLotwyZ3KzWV9fUIUQIIqhFUklb3yidxDUn2eQv6v13m +MPv5tU+r6fhIxMlz8dSCrFTu3Q/p/NRa0geLUGU66F1lhA9GKl62iiPutIRdkzuJflgzFAZkvEcf h9QLcklUKr1Oj0segNXT1iBXzPniszr4NLroXeJZ1oPywsg95ujlvr9BOJovtvzUAHhA5YIcZAdwz acNKbyDm0lak9JfQanuQ==; Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) id 1iPS7I-0003wO-Cm; Tue, 29 Oct 2019 14:05:00 +0000 Received: from m15-35.126.com ([220.181.15.35]) by bombadil.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) id 1iPS7D-0003vE-B8 for linux-arm-kernel@lists.infradead.org; Tue, 29 Oct 2019 14:04:58 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=126.com; s=s110527; h=Date:From:Subject:MIME-Version:Message-ID; bh=6+nOM sBxJ+VSiG7kRhpCaqGJnz8gXtFTX3HH6i4Lw/E=; b=O0+MvT9NSOOS+zufOfBsY u0Nm8f3520Fd+YRr+2UYvCO5U90SCTXgMn3wxrSwjeCIGbt/zeh20U80tGStAbGo SG5tSt0DLy10sTaV0bgLmQdAIkh2xPtkQsblEN7dejgZwSZ47x4N0+7URo29+jWD Ay3LrzGQq1k47QynLoTq40= Received: from figure1802$126.com ( [192.102.204.37] ) by ajax-webmail-wmsvr35 (Coremail) ; Tue, 29 Oct 2019 22:04:42 +0800 (CST) X-Originating-IP: [192.102.204.37] Date: Tue, 29 Oct 2019 22:04:42 +0800 (CST) From: FF To: "Catalin Marinas" Subject: Re:Re: Re: about the ptep_set_access_flags() for hardware AF/DBM X-Priority: 3 X-Mailer: Coremail Webmail Server Version XT5.0.10 build 20190724(ac680a23) Copyright (c) 2002-2019 www.mailtech.cn 126com In-Reply-To: <20191029121153.GB11440@arrakis.emea.arm.com> References: <22add3c1.16c1.16e0ca535d4.Coremail.figure1802@126.com> <20191028184303.GB6619@arrakis.emea.arm.com> <1b0920d5.c4b.16e1501ef37.Coremail.figure1802@126.com> <20191029121153.GB11440@arrakis.emea.arm.com> MIME-Version: 1.0 Message-ID: <5050b726.85fa.16e17d5438a.Coremail.figure1802@126.com> X-Coremail-Locale: zh_CN X-CM-TRANSID: I8qowECZ90T7Rrhdw7ObAA--.39753W X-CM-SenderInfo: pilj32bhryija6rslhhfrp/1tbiJBNdXlpD91qr9gACsf X-Coremail-Antispam: 1U5529EdanIXcx71UUUUU7vcSsGvfC2KfnxnUU== X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20191029_070456_872357_8381D22E X-CRM114-Status: GOOD ( 19.47 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: mark.rutland@arm.com, steve.capper@arm.com, runninglinuxkernel@126.com, will.deacon@arm.com, julien.grall@arm.com, linux-arm-kernel Content-Type: text/plain; charset="gbk" Content-Transfer-Encoding: base64 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+infradead-linux-arm-kernel=archiver.kernel.org@lists.infradead.org CgpBdCAyMDE5LTEwLTI5IDIwOjExOjU0LCAiQ2F0YWxpbiBNYXJpbmFzIiA8Y2F0YWxpbi5tYXJp bmFzQGFybS5jb20+IHdyb3RlOgo+SGkgQmVuLAo+Cj5PbiBUdWUsIE9jdCAyOSwgMjAxOSBhdCAw ODo1NDozOEFNICswODAwLCBGRiB3cm90ZToKPj4gPk9uIFN1biwgT2N0IDI3LCAyMDE5IGF0IDA1 OjU2OjI0UE0gKzA4MDAsIEZGIHdyb3RlOgo+PiA+PiBIZXJlIGlzIHRoZSBzY2VuYXJpbzoKPj4g Pj4gQSBtb3JlIGNvbXBsZXggc2l0dWF0aW9uIGlzIHBvc3NpYmxlIHdoZW4gYWxsIENQVXMgc3Vw cG9ydCBoYXJkd2FyZQo+PiA+PiAgICBBRi9EQk06Cj4+ID4+IAo+PiA+PiAgICBhKSBJbml0aWFs IHN0YXRlOiBzaGFyZWFibGUgKyB3cml0YWJsZSB2bWEgYW5kIHB0ZV9ub25lKHB0ZSkKPj4gPj4g ICAgYikgUmVhZCBmYXVsdCB0YWtlbiBieSB0d28gdGhyZWFkcyBvZiB0aGUgc2FtZSBwcm9jZXNz IG9uIGRpZmZlcmVudAo+PiA+PiAgICAgICBDUFVzCj4+ID4+ICAgIGMpIENQVTAgdGFrZXMgdGhl IG1tYXBfc2VtIGFuZCBwcm9jZWVkcyB0byBoYW5kbGluZyB0aGUgZmF1bHQuIEl0Cj4+ID4+ICAg ICAgIGV2ZW50dWFsbHkgcmVhY2hlcyBkb19zZXRfcHRlKCkgd2hpY2ggc2V0cyBhIHdyaXRhYmxl ICsgY2xlYW4gcHRlLgo+PiA+PiAgICAgICBDUFUwIHJlbGVhc2VzIHRoZSBtbWFwX3NlbQo+PiA+ PiAgICBkKSBDUFUxIGFjcXVpcmVzIHRoZSBtbWFwX3NlbSBhbmQgcHJvY2VlZHMgdG8gaGFuZGxl X3B0ZV9mYXVsdCgpLiBUaGUKPj4gPj4gICAgICAgcHRlIGVudHJ5IGl0IHJlYWRzIGlzIHByZXNl bnQsIHdyaXRhYmxlIGFuZCBjbGVhbiBhbmQgaXQgY29udGludWVzCj4+ID4+ICAgICAgIHRvIHB0 ZV9ta3lvdW5nKCkKPj4gPj4gICAgZSkgQ1BVMSBjYWxscyBwdGVwX3NldF9hY2Nlc3NfZmxhZ3Mo KQo+PiA+PiAKPj4gPj4gICAgSWYgYmV0d2VlbiAoZCkgYW5kIChlKSB0aGUgaGFyZHdhcmUgKGFu b3RoZXIgQ1BVKSB1cGRhdGVzIHRoZSBkaXJ0eQo+PiA+PiAgICBzdGF0ZSAoY2xlYXJzIFBURV9S RE9OTFkpLCBDUFUxIHdpbGwgb3ZlcnJpZGUgdGhlIFBUUl9SRE9OTFkgYml0Cj4+ID4+ICAgIG1h cmtpbmcgdGhlIGVudHJ5IGNsZWFuIGFnYWluLgo+Wy4uLl0KPj4gaSB3YW50IHRvIGVsYWJvcmF0 ZSB0aGUgc2NlbmFyaW8sIGkgc2F3IHRoZSBmaXJzdCBwYXRjaCB0byBmaXggdGhlCj4+IHB0ZXBf c2V0X2FjY2Vzc19mbGFncygpIGZvciBoYXJkd2FyZSBBRi9EQk0gaXMgb24gTGludXggNC43LXJj MS4KPj4gY29tbWl0IGlkICI2NmRiZDZlNiIgLGFybTY0OiBJbXBsZW1lbnQgcHRlcF9zZXRfYWNj ZXNzX2ZsYWdzKCkgZm9yCj4+IGhhcmR3YXJlIEFGL0RCTQo+Cj5XaGF0IGFyZSB5b3UgdHJ5aW5n IHRvIHNvbHZlPyBwdGVwX3NldF9hY2Nlc3NfZmxhZ3MoKSBiZWluZyBhdG9taWMgaXMKPm5vdCBh bnkgd29yc2UuIERvIHlvdSB0aGluayB3ZSB3b3VsZG4ndCBuZWVkIHRoaXMgcGF0Y2g/Cj4KPj4g aSB0aGluayB5b3UgaGF2ZSBpc3N1ZSBvbiBMaW51eCA0LjYsIGxldCdzICBhc3N1bWUgdGhhdCB3 ZSBhcmUgbG9vayBhdAo+PiBMaW51eCA0LjYgc291cmNlIGNvZGUuCj4+IAo+PiAxLiBpbml0aWFs IHBoYXNlOiB3ZSB3YW50IHRvIGNyZWF0ZSBhIHNoYXJhYmxlK3dyaXRhYmxlIGZpbGUgbWFwcGlu Zwo+PiAgICBieSBtbWFwKCkgQVBJLCB0aGUgZmlsZXN5c3RlIGlzOmV4dDQKPgo+U2VlIG1vcmUg YmVsb3cgYnV0IEkgdGhpbmsgd2UgbWF5IG5lZWQgc2htIGluc3RlYWQgb2YgYSBmaWxlIG1hcHBp bmcgdG8KPnRyaWdnZXIgdGhlIHJhY2UgKHdoaWNoLCBCVFcsIGlzIHJhdGhlciB0aGVvcmV0aWNh bDsgSSBoYXZlbid0IHNlZW4gaXQKPmluIHByYWN0aWNlKS4KPgo+PiAgICBpbiBkb19tbWFwKCks IHRoZSB2bV9mbGFncyBzaG91bGQgYmUgc2V0IFZNX1JFQUQgfCBWTV9XUklURSB8IFZNX1NIQVJF RC4KPj4gICAgaW4gbW1hcF9yZWdpb24oKS0+dm1hX3NldF9wYWdlX3Byb3QoKSwgaXQgd2lsbCBs ZXQgdGhlIHNvbWUgc2hhcmVkCj4+ICAgIG1hcHBpZ25zIHdpbGwgd2FudCB0aGUgcGFnZXMgbWFy a2VkIHJlYWQtb25seSB0byB0cmFjayB3cml0ZQo+PiAgICBldmVudHMsIHNvIGl0IHdpbGwgY2xl YXIgdGhlIFZNX1NIQVJFRC4gc28gaXQgd2lsbCBnZXQgdGhlIHB0ZQo+PiAgICBhdHRyaWJ1dGUg ZnJvbSBwcm90ZWN0aW9uX21hcFtdIGlzIF9fUDAxMS4KPj4gICAgCj4+ICAgIEluIExpbnV4IDQu NiwgX19QMDExIGlzIFBBR0VfQ09QWToKPj4gICAgI2RlZmluZSBQQUdFX0NPUFkJCV9fcGdwcm90 KF9QQUdFX0RFRkFVTFQgfCBQVEVfVVNFUiB8IFBURV9ORyB8IFBURV9QWE4gfCBQVEVfVVhOKQo+ PiAgICAKPj4gICAgZm9yIFBBR0VfQ09QWSwgdGhlIFBURV9SRE9OTFkgYW5kIFBURV9XUklURShE TUIpIGFyZSB6ZXJvLgo+PiAgICBzbyB0aGUgdm1fZmxhZ3MgaXM6IFZNX1JFQUQgfCBWTV9XUklU RQo+Cj5XaGlsZSB5b3UgYXJlIHJpZ2h0IHRoYXQgUEFHRV9DT1BZIGhhcyBQVEVfUkRPTkxZIGFu ZCBQVEVfV1JJVEUgemVybywKPnNldF9wdGVfYXQoKSBpbiA0LjYgc2V0cyBQVEVfUkRPTkxZIGlm ICFQVEVfV1JJVEUuIFNvIHRoZSByZXN1bHRpbmcKPm1hcHBpbmcgaW4gdGhlIHBhZ2UgdGFibGUg aXMgcmVhZC1vbmx5Lgo+Cj5Bbnl3YXkgSSB0aGluayB3aXRoIHZtYV93YW50c193cml0ZW5vdGlm eSgpIHdlIGNhbid0IHRyaWdnZXIgdGhpcyByYWNlCj5zaW5jZSBpdCdzIGEgcHVyZWx5IHJlYWQt b25seSBmYXVsdCAocmVxdWlyZXMga2VybmVsIG5vdGlmaWNhdGlvbikuIFdoYXQKPndlIG5lZWQg aXMgdG8gZW5kIHVwIHdpdGggYSB3cml0YWJsZStjbGVhbiBlbnRyeSB3aGljaCBtZWFucyBWTV9T SEFSRUQKPnNldCBsZWFkaW5nIHRvIFBBR0VfU0hBUkVEIGF0dHJpYnV0ZXMgd2hpY2ggaGF2ZSBQ VEVfV1JJVEUvREJNIHNldC4gTm90ZQo+dGhhdCBzZXRfcHRlX2F0KCkgaW4gNC42IHdvdWxkIG1h cmsgdGhlIHBhZ2UgYXMgUFRFX1JET05MWSBzaW5jZQo+cHRlX3N3X2RpcnR5KCkgaXMgZmFsc2Uu Cj4KPj4gMi4gVGhyZWFkIDEgb24gQ1BVMCB3YW50IHRvIHdyaXRlIHRoaXMgcGFnZSwgcGFnZV9m YXVsdCB3aWxsIGJlIHRyaWdnZXIuCj4+ICAgIGluIGhhbmRsZV9wdGVfZmF1bHQtPmRvX2ZhdWx0 LT5kb19zaGFyZWRfZmF1bHQoKSwgaXQgd2lsbCBhbGxvY2F0ZQo+PiAgICBhIG5ldyBwYWdlIGNh Y2hlLCBhbmQgaW4gZG9fc2V0X3B0ZSgpLCBpdCB3aWxsIGNhbGw6Cj4+ICAgICJtYXliZV9ta3dy aXRlKHB0ZV9ta2RpcnR5KGVudHJ5KSwgdm1hKSIgdG8gc2V0IHRoZSBwdGUgZW50cnkuIHNvCj4+ ICAgIHRoZSBwdGUgYXR0cmlidXRlIHNob3VsZCBiZTogUFRFX0RJUlRZIHwgUFRFX1dSSVRFLgo+ Cj5ZZXMgYnV0IHRoZSBzY2VuYXJpbyBJIGhhZCBpbiBtaW5kIHdhcyBhIHJlYWQgZmF1bHQgaGVy ZSByYXRoZXIgdGhhbgo+d3JpdGUgd2hpY2ggd291bGQgc2V0IGEgUEFHRV9TSEFSRUQgYXR0cmli dXRlcyBlbmRpbmcgdXAgd2l0aAo+UFRFX1dSSVRFfFBURV9SRE9OTFkgKFBURV9XUklURSBpcyB0 aGUgUFRFX0RCTSBiaXQpLgo+Cj4+IDMuIFRocmVhZCAyIG9uIENQVTEgYWxzbyB3YW50IHRvIHJl YWQgdGhpcyBwYWdlIGJ1dCB0aGlzIHB0ZSBoYXMgbm90Cj4+ICAgIGNyZWF0ZSBieSBUaHJlYWQg MSwgc28gcGFnZV9mYXVsdCBoYXBwZW4uIGluIHB0ZV9vZmZzZXRfbWFwKCksIGl0Cj4+ICAgIGZv dW5kIHRoYXQgdGhlIHB0ZSBpcyBjcmVhdGVkIGJ5IFRocmVhZCAxLCBzbyBpdCB3aWxsIGRpcmVj dGx5Cj4+ICAgIGNhbGw6Cj4+ICAgIAo+PiAgICBlbnRyeSA9IHB0ZV9ta3lvdW5nKGVudHJ5KTsK Pj4gICAgcHRlcF9zZXRfYWNjZXNzX2ZsYWdzKCkKPj4gICAgCj4+ICAgIGluIHB0ZXBfc2V0X2Fj Y2Vzc19mbGFncywgaXQgd2lsbCBjYWxsIHNldF9wdGVfYXQoKSB0byBzZXQgcHRlLgo+PiAgICBi dXQgaW4gc2V0X3B0ZV9hdCgpIGZ1bmN0aW9uOgo+PiAgICAKPj4gICAgCWlmIChwdGVfcHJlc2Vu dChwdGUpKSB7Cj4+IAkJaWYgKHB0ZV9zd19kaXJ0eShwdGUpICYmIHB0ZV93cml0ZShwdGUpKQo+ PiAJCQlwdGVfdmFsKHB0ZSkgJj0gflBURV9SRE9OTFk7Cj4+IAkJZWxzZQo+PiAJCQlwdGVfdmFs KHB0ZSkgfD0gUFRFX1JET05MWTsKPj4gCQlpZiAocHRlX3VzZXIocHRlKSAmJiBwdGVfZXhlYyhw dGUpICYmICFwdGVfc3BlY2lhbChwdGUpKQo+PiAJCQlfX3N5bmNfaWNhY2hlX2RjYWNoZShwdGUs IGFkZHIpOwo+PiAJfQo+PiAJCj4+IAlpdCB3aWxsIGNsZWFuIHRoZSBQVEVfUkRPTkxZIGJpdCwg YmVjYXVzZSB0aGUgUFRFX0RJUlRZIHwKPj4gCVBURV9XUklURSBpcyBzZXQgaW4gb3VyIHNjZW5h cmlvLiBvdGhlcndpc2UsIGFueW9uZSBjbGVhbiB0aGUKPj4gCVBURV9ESVJUWSBiaXQsIHdobyB3 aWxsIGNsZWFuIHRoaXMgUFRFX0RJUlRZIGJpdD8KPgo+Q29ycmVjdCBmb3IgeW91ciBzY2VuYXJp byBidXQgbm90IGlmIHBvaW50IDIgaXMgYSByZWFkLgo+Cj4+IHNvIGkgYW0gdmVyeSBjb25mdXNp bmcgdGhlIHBhdGNoICJhcm02NDogSW1wbGVtZW50Cj4+IHB0ZXBfc2V0X2FjY2Vzc19mbGFncygp IGZvciBoYXJkd2FyZSBBRi9EQk0iIGNvbW1pdCBsb2cncyBzY2VucmlvLgo+PiB3b3VsZCB5b3Ug bGlrZSBwb2ludCBvdXQgd2hhdCBpIGFtIG1pc3Npbmc/Cj4KPklmIHBvaW50IDIgaXMgYSByZWFk IGZhdWx0LCB0aGF0IGdvZXMgdmlhIGRvX3JlYWRfZmF1bHQoKSBhbmQgdGhlIHB0ZQo+ZW5kcyB1 cCBhcyBjbGVhbiB3aXRoIFBURV9XUklURXxQVEVfUkRPTkxZIGlzIHNldCBzaW5jZSBpdCdzIG5v dAo+cHRlX3N3X2RpcnR5KCkgKGNoZWNrZWQgYnkgc2V0X3B0ZV9hdCgpKS4KPgo+VGhyZWFkIDIg b24gQ1BVMSB3b3VsZCBlbmQgdXAgY2FsbGluZyBwdGVwX3NldF9hY2Nlc3NfZmxhZ3MoKSBvbiBh Cj5yZWFkLW9ubHkgcHRlIHdpdGggREJNIHNldCBiZWNhdXNlIGl0IHRvb2sgYSByZWFkIGZhdWx0 IChzYW1lIGFzIFRocmVhZAo+MSkuCj4KPlRoZSBwcm9ibGVtIGFwcGVhcnMgaWYgYSBUaHJlYWQg MyBvbiBDUFUyIHBlcmZvcm1zIGEgd3JpdGUgYWNjZXNzIGluCj5wYXJhbGxlbCB3aXRoIHBvaW50 IDMgYWJvdmUuIENQVTIgc2VlcyB0aGUgcHRlIGFzIHZhbGlkLCBSRE9OTFkgYW5kIERCTQo+c2V0 LCBhbmQgcHJvY2VlZHMgdG8gY2xlYXJpbmcgdGhlIFJET05MWSBiaXQgaW4gaGFyZHdhcmUuIENQ VTEgdGhlbgo+b3ZlcnJpZGVzIHRoZSBQVEVfUkRPTkxZIGJpdCBpZiBwdGVwX3NldF9hY2Nlc3Nf ZmxhZ3MoKSBpcyBub3QgYXRvbWljLgo+Cj5Ob3cgeW91IG5lZWQgdG8gZmluZCBhIHZtX29wZXJh dGlvbnNfc3RydWN0IHRoYXQgYWxsb3dzIHNoYXJlZCwgd3JpdGFibGUKPmFuZCBjbGVhbiBtYXBw aW5ncyBhbmQgZG9lcyBub3Qgc2V0IC5wYWdlX21rd3JpdGUgKHNobV92bV9vcHMgaXMgb25lKS4K Pgo+LS0gCj5DYXRhbGluCgpoaSBDYXRhbGluOgoKQ29vbCEgVGhhbmtzIGZvciB5b3VyIHBvaW50 IG91dC4geW91IGFyZSByaWdodCwgd2Ugc2hvdWxkIHVzZSBzaG1lbSB0byByZXByb2R1Y2UgdGhp cyBpc3N1ZS4KTGV0J3MgZWxhYm9yYXRlIHRoaXMgc2NlbmFyaW8gb24gTGludXggNC42LgoKMS4g aW5pdGlhbCBwaGFzZTogd2Ugd2FudCB0byBjcmVhdGUgYSBzaGFyYWJsZSt3cml0YWJsZSBhbm9u IG1hcHBpbmcgYnkgbW1hcCgpIEFQSS4KICAgCiAgIGluIGRvX21tYXAoKSwgdGhlIHZtX2ZsYWdz IHNob3VsZCBiZSBzZXQgVk1fUkVBRCB8IFZNX1dSSVRFIHwgVk1fU0hBUkVELgogICBzbyBpbiB2 bV9nZXRfcGFnZV9wcm90KCksIGl0IHdpbGwgZ2V0IHRoZSBwdGUgYXR0cmlidXRlIGZyb20gcHJv dGVjdGlvbl9tYXBbXSBpcyBfX1MwMTEuCiAgIAogICBJbiBMaW51eCA0LjYsIF9fUDAxMSBpcyBQ QUdFX1NIQVJFRDoKCiAgI2RlZmluZSBfX1MwMTEgIFBBR0VfU0hBUkVECiAgI2RlZmluZSBQQUdF X1NIQVJFRAkJX19wZ3Byb3QoX1BBR0VfREVGQVVMVCB8IFBURV9VU0VSIHwgUFRFX05HIHwgUFRF X1BYTiB8IFBURV9VWE4gfCBQVEVfV1JJVEUpCiAgIAogICBmb3IgUEFHRV9TSEFSRUQsIHRoZSBQ VEVfUkRPTkxZIGlzIHplcm8sIGJ1dCBQVEVfV1JJVEUoRE1CKSBhcmUgMS4KICAgc28gdGhlIHZt X2ZsYWdzIGlzOiBWTV9SRUFEIHwgVk1fV1JJVEUgfCBWTV9TSEFSRUQKICAgCjIuIFRocmVhZCAx IG9uIENQVTAgd2FudCB0byByZWFkIHRoaXMgcGFnZSwgcGFnZV9mYXVsdCB3aWxsIGJlIHRyaWdn ZXIuCiAgIGluIGhhbmRsZV9wdGVfZmF1bHQtPmRvX2ZhdWx0LT5kb19yZWFkX2ZhdWx0KCksIGl0 IHdpbGwgYWxsb2NhdGUgYSBuZXcgcGFnZSBjYWNoZSwgYW5kIGluIGRvX3NldF9wdGUoKSwKICAg aW4gc2V0X3B0ZV9hdCgpIGluIExpbnV4IDQuNi4KICAgCiAgICAgICAJCWlmIChwdGVfc3dfZGly dHkocHRlKSAmJiBwdGVfd3JpdGUocHRlKSkKCQkJcHRlX3ZhbChwdGUpICY9IH5QVEVfUkRPTkxZ OwoJCQkJZWxzZQoJCQlwdGVfdmFsKHB0ZSkgfD0gUFRFX1JET05MWTsKCglpbiB0aGlzIHNjZW5y aW8sIFBURV9ESVJUWSBpcyBub3Qgc2V0LCBzbyBpdCB3aWxsIHNldCB0aGUgUFRFX1JET05MWS4K ICAgCiAgIHNvIHRoZSBwdGUgYXR0cmlidXRlIHNob3VsZCBiZTogUFRFX1dSSVRFIHwgUFRFX1JE T05MWS4KICAgCjMuIFRocmVhZCAyIG9uIENQVTEgYWxzbyB3YW50IHRvIHJlYWQgdGhpcyBwYWdl IGJ1dCB0aGlzIHB0ZSBoYXMgbm90IGNyZWF0ZSBieSBUaHJlYWQgMSwgc28gcGFnZV9mYXVsdCBo YXBwZW4uCiAgIGluIHB0ZV9vZmZzZXRfbWFwKCksIGl0IGZvdW5kIHRoYXQgdGhlIHB0ZSBpcyBj cmVhdGVkIGJ5IFRocmVhZCAxLCBzbyBpdCB3aWxsIGRpcmVjdGx5IGNhbGw6CiAgIAogICBlbnRy eSA9IHB0ZV9ta3lvdW5nKGVudHJ5KTsKICAgcHRlcF9zZXRfYWNjZXNzX2ZsYWdzKCkKICAKICAg aWYgaW4gdGhlIGludGVydmFsIGJldHdlZW4gcHRlX21reW91bmcoKSBhbmQgcHRlcF9zZXRfYWNj ZXNzX2ZsYWdzKCksIGlmIG90aGVyIHRocmVhZCBUMyB3YW50IHRvIHdyaXRlIHRoaXMgcGFnZSwg dGhlIGhhcmR3YXJlIERNQiB3aWxsCiAgIGNsZWFuIFBURV9SRE9OTFkgYXV0b21hdGljYWxseS4K ICAgCiAgIGFuZCB0aGUgVDIgZXhlY3V0ZSB0aGUgcHRlcF9zZXRfYWNjZXNzX2ZsYWdzKCksIGl0 IHdpbGwgc2V0IHRoZSBQVEVfUkRPTkxZIGJhY2ssIHNvIHdlIGxvc2UgdGhlIERpcnR5IHN0YXR1 cy4KClRoYW5rcywgQ2F0YWxpbiwgYW1hemluZ6OhCiAgIAoKQmVzdApCZW4gc2h1c2h1CgpfX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpsaW51eC1hcm0ta2Vy bmVsIG1haWxpbmcgbGlzdApsaW51eC1hcm0ta2VybmVsQGxpc3RzLmluZnJhZGVhZC5vcmcKaHR0 cDovL2xpc3RzLmluZnJhZGVhZC5vcmcvbWFpbG1hbi9saXN0aW5mby9saW51eC1hcm0ta2VybmVs Cg==