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=-7.0 required=3.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI, SIGNED_OFF_BY,SPF_PASS autolearn=ham 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 23F72C43381 for ; Sun, 17 Mar 2019 13:38:23 +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 E5DF720896 for ; Sun, 17 Mar 2019 13:38:22 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="ior7UpAm" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org E5DF720896 Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=huawei.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-Type: Content-Transfer-Encoding:Cc:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:In-Reply-To:MIME-Version:Date:Message-ID:From: References:To:Subject:Reply-To:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=6JjaiB5RnBWR4v2RE+17q1ewekhOKQxM/w5/n4A6hFQ=; b=ior7UpAm8zt9kKOAdeyTaKRj/ 8rDoefYLOJoL6G2drpuzx3sbiyK4iThLsTQZsF8DRpUaI+dE3oKOkAN9xSongJ2+WXDJKIrt8iRwx VI4IBU7ddSGvKLJCxIv7boT1hYAPBhb1cpav+9pyJ1bOAKmZBUgQGQbeyOkxX2elYCf0DsH2kXcqQ Z+ngBBrzjPN0qra/t5TNobkehm8Jrj0aEFs3SO8VyQIbzP/3TFUpn3oezdZixmU8bJy6GO+MMbD43 +88UbqqVxRSZL9Ysu8VvQycNV15imJ7wyzrQwlZjqG7vxducjbOdsg0TWFOWvlrLXWlC1vTEYTBAd vZjuAOQ8w==; Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.90_1 #2 (Red Hat Linux)) id 1h5VzW-0008KP-4F; Sun, 17 Mar 2019 13:38:18 +0000 Received: from szxga07-in.huawei.com ([45.249.212.35] helo=huawei.com) by bombadil.infradead.org with esmtps (Exim 4.90_1 #2 (Red Hat Linux)) id 1h5VzO-0008JF-Ro for linux-arm-kernel@lists.infradead.org; Sun, 17 Mar 2019 13:38:16 +0000 Received: from DGGEMS410-HUB.china.huawei.com (unknown [172.30.72.60]) by Forcepoint Email with ESMTP id 33C0F348BBF1B99C3B46; Sun, 17 Mar 2019 21:37:59 +0800 (CST) Received: from [127.0.0.1] (10.184.12.158) by DGGEMS410-HUB.china.huawei.com (10.3.19.210) with Microsoft SMTP Server id 14.3.408.0; Sun, 17 Mar 2019 21:37:50 +0800 Subject: Re: [RFC] Question about TLB flush while set Stage-2 huge pages To: Suzuki K Poulose , References: <5f712cc6-0874-adbe-add6-46f5de24f36f@huawei.com> <1c0e07b9-73f0-efa4-c1b7-ad81789b42c5@huawei.com> <5188e3b9-5b5a-a6a7-7ef0-09b7b4f06af6@arm.com> <348d0b3b-c74b-7b39-ec30-85905c077c38@huawei.com> <20190314105537.GA15323@en101> <368bd218-ac1d-19b2-6e92-960b91afee8b@huawei.com> <6aea4049-7860-7144-a7be-14f856cdc789@arm.com> From: Zenghui Yu Message-ID: Date: Sun, 17 Mar 2019 21:34:11 +0800 User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:64.0) Gecko/20100101 Thunderbird/64.0 MIME-Version: 1.0 In-Reply-To: <6aea4049-7860-7144-a7be-14f856cdc789@arm.com> Content-Language: en-US X-Originating-IP: [10.184.12.158] X-CFilter-Loop: Reflected X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20190317_063814_965037_B72C8D2C X-CRM114-Status: GOOD ( 23.26 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: marc.zyngier@arm.com, catalin.marinas@arm.com, will.deacon@arm.com, christoffer.dall@arm.com, linux-kernel@vger.kernel.org, james.morse@arm.com, lishuo1@hisilicon.com, wanghaibin.wang@huawei.com, kvmarm@lists.cs.columbia.edu, linux-arm-kernel@lists.infradead.org, lious.lilei@hisilicon.com Content-Transfer-Encoding: base64 Content-Type: text/plain; charset="utf-8"; Format="flowed" Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+infradead-linux-arm-kernel=archiver.kernel.org@lists.infradead.org SGkgU3V6dWtpLAoKT24gMjAxOS8zLzE1IDIyOjU2LCBTdXp1a2kgSyBQb3Vsb3NlIHdyb3RlOgo+ IEhpIFpoZW5ndWksCgpzL1poZW5ndWkvWmhlbmcvCgooSSB0aGluayB5b3UgbXVzdCB3YW50ZWQg dG8gc2F5ICJIaSIgdG8gWmhlbmcgOi0pICkKCgpJIGhhdmUgbG9va2VkIGludG8geW91ciBwYXRj aCBhbmQgdGhlIGtlcm5lbCBsb2csIGFuZCBJIGJlbGlldmUgdGhhdAp5b3VyIHBhdGNoIGhhZCBh bHJlYWR5IGFkZHJlc3NlZCB0aGlzIGlzc3VlLiBCdXQgSSB0aGluayB3ZSBjYW4gZG8gaXQKYSBs aXR0bGUgYmV0dGVyIC0gdHdvIG1vcmUgcG9pbnRzIG5lZWQgdG8gYmUgaGFuZGxlZCB3aXRoIGNh dXRpb24uCgpUYWtlIFBNRCBodWdlcGFnZSAoUE1EX1NJWkUgPT0gMk0pIGZvciBleGFtcGxlOgoK PiAKPiBPbiAxNS8wMy8yMDE5IDA4OjIxLCBaaGVuZyBYaWFuZyB3cm90ZToKPj4gSGkgU3V6dWtp LAo+Pgo+PiBJIGhhdmUgdGVzdGVkIHRoaXMgcGF0Y2gsIFZNIGRvZXNuJ3QgaGFuZyBhbmQgd2Ug Z2V0IGV4cGVjdGVkIFdBUk5JTkcgCj4+IGxvZzoKPiAKPiBUaGFua3MgZm9yIHRoZSBxdWljayB0 ZXN0aW5nICEKPiAKPj4gSG93ZXZlciwgd2UgYWxzbyBnZXQgdGhlIGZvbGxvd2luZyB1bmV4cGVj dGVkIGxvZzoKPj4KPj4gW8KgIDkwOC4zMjk5MDBdIEJVRzogQmFkIHBhZ2Ugc3RhdGUgaW4gcHJv Y2VzcyBxZW11LWt2bcKgIHBmbjphMmZiNDFjZgo+PiBbwqAgOTA4LjMzOTQxNV0gcGFnZTpmZmZm N2UyOGJlZDA3M2MwIGNvdW50Oi00IG1hcGNvdW50OjAgCj4+IG1hcHBpbmc6MDAwMDAwMDAwMDAw MDAwMCBpbmRleDoweDAKPj4gW8KgIDkwOC4zMzk0MTZdIGZsYWdzOiAweDRmZmZmZTAwMDAwMDAw MDAoKQo+PiBbwqAgOTA4LjMzOTQxOF0gcmF3OiA0ZmZmZmUwMDAwMDAwMDAwIGRlYWQwMDAwMDAw MDAxMDAgZGVhZDAwMDAwMDAwMDIwMCAKPj4gMDAwMDAwMDAwMDAwMDAwMAo+PiBbwqAgOTA4LjMz OTQxOV0gcmF3OiAwMDAwMDAwMDAwMDAwMDAwIDAwMDAwMDAwMDAwMDAwMDAgZmZmZmZmZmNmZmZm ZmZmZiAKPj4gMDAwMDAwMDAwMDAwMDAwMAo+PiBbwqAgOTA4LjMzOTQyMF0gcGFnZSBkdW1wZWQg YmVjYXVzZTogbm9uemVybyBfcmVmY291bnQKPj4gW8KgIDkwOC4zMzk0MzddIENQVTogMzIgUElE OiA3MjU5OSBDb21tOiBxZW11LWt2bSBLZHVtcDogbG9hZGVkIAo+PiBUYWludGVkOiBHwqDCoMKg IELCoCBXwqDCoMKgwqDCoMKgwqAgNS4wLjArICMxCj4+IFvCoCA5MDguMzM5NDM4XSBDYWxsIHRy YWNlOgo+PiBbwqAgOTA4LjMzOTQzOV3CoCBkdW1wX2JhY2t0cmFjZSsweDAvMHgxODgKPj4gW8Kg IDkwOC4zMzk0NDFdwqAgc2hvd19zdGFjaysweDI0LzB4MzAKPj4gW8KgIDkwOC4zMzk0NDJdwqAg ZHVtcF9zdGFjaysweGE4LzB4Y2MKPj4gW8KgIDkwOC4zMzk0NDNdwqAgYmFkX3BhZ2UrMHhmMC8w eDE1MAo+PiBbwqAgOTA4LjMzOTQ0NV3CoCBmcmVlX3BhZ2VzX2NoZWNrX2JhZCsweDg0LzB4YTAK Pj4gW8KgIDkwOC4zMzk0NDZdwqAgZnJlZV9wY3BwYWdlc19idWxrKzB4NGI4LzB4NzUwCj4+IFvC oCA5MDguMzM5NDQ4XcKgIGZyZWVfdW5yZWZfcGFnZV9jb21taXQrMHgxM2MvMHgxOTgKPj4gW8Kg IDkwOC4zMzk0NDldwqAgZnJlZV91bnJlZl9wYWdlKzB4ODQvMHhhMAo+PiBbwqAgOTA4LjMzOTQ1 MV3CoCBfX2ZyZWVfcGFnZXMrMHg1OC8weDY4Cj4+IFvCoCA5MDguMzM5NDUyXcKgIHphcF9odWdl X3BtZCsweDI5MC8weDJkOAo+PiBbwqAgOTA4LjMzOTQ1NF3CoCB1bm1hcF9wYWdlX3JhbmdlKzB4 MmI0LzB4NDcwCj4+IFvCoCA5MDguMzM5NDU1XcKgIHVubWFwX3NpbmdsZV92bWErMHg5NC8weGU4 Cj4+IFvCoCA5MDguMzM5NDU3XcKgIHVubWFwX3ZtYXMrMHg4Yy8weDEwOAo+PiBbwqAgOTA4LjMz OTQ1OF3CoCBleGl0X21tYXArMHhkNC8weDE3OAo+PiBbwqAgOTA4LjMzOTQ1OV3CoCBtbXB1dCsw eDc0LzB4MTgwCj4+IFvCoCA5MDguMzM5NDYwXcKgIGRvX2V4aXQrMHgyYjQvMHg1YjAKPj4gW8Kg IDkwOC4zMzk0NjJdwqAgZG9fZ3JvdXBfZXhpdCsweDNjLzB4ZTAKPj4gW8KgIDkwOC4zMzk0NjNd wqAgX19hcm02NF9zeXNfZXhpdF9ncm91cCsweDI0LzB4MjgKPj4gW8KgIDkwOC4zMzk0NjVdwqAg ZWwwX3N2Y19jb21tb24rMHhhMC8weDE4MAo+PiBbwqAgOTA4LjMzOTQ2Nl3CoCBlbDBfc3ZjX2hh bmRsZXIrMHgzOC8weDc4Cj4+IFvCoCA5MDguMzM5NDY3XcKgIGVsMF9zdmMrMHg4LzB4Ywo+IAo+ IFRoYXRzIGJhZCwgd2Ugc2VlbSB0byBiZSBtYWtpbmcgdXB0byA0IHVuYmFsYW5jZWQgcHV0X3Bh Z2UoKS4KPiAKPj4+PiAtLS0KPj4+PiDCoMKgIHZpcnQva3ZtL2FybS9tbXUuYyB8IDUxIAo+Pj4+ ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tLQo+Pj4+ IMKgwqAgMSBmaWxlIGNoYW5nZWQsIDM1IGluc2VydGlvbnMoKyksIDE2IGRlbGV0aW9ucygtKQo+ Pj4+Cj4+Pj4gZGlmZiAtLWdpdCBhL3ZpcnQva3ZtL2FybS9tbXUuYyBiL3ZpcnQva3ZtL2FybS9t bXUuYwo+Pj4+IGluZGV4IDY2ZTBmYmI1Li4wNGIwZjliIDEwMDY0NAo+Pj4+IC0tLSBhL3ZpcnQv a3ZtL2FybS9tbXUuYwo+Pj4+ICsrKyBiL3ZpcnQva3ZtL2FybS9tbXUuYwo+Pj4+IEBAIC0xMDc2 LDI0ICsxMDc2LDM4IEBAIHN0YXRpYyBpbnQgc3RhZ2UyX3NldF9wbWRfaHVnZShzdHJ1Y3Qga3Zt IAo+Pj4+ICprdm0sIHN0cnVjdCBrdm1fbW11X21lbW9yeV9jYWNoZQo+Pj4+IMKgwqDCoMKgwqDC oMKgwqDCoMKgwqAgKiBTa2lwIHVwZGF0aW5nIHRoZSBwYWdlIHRhYmxlIGlmIHRoZSBlbnRyeSBp cwo+Pj4+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgKiB1bmNoYW5nZWQuCj4+Pj4gwqDCoMKgwqDC oMKgwqDCoMKgwqDCoCAqLwo+Pj4+IC3CoMKgwqDCoMKgwqDCoCBpZiAocG1kX3ZhbChvbGRfcG1k KSA9PSBwbWRfdmFsKCpuZXdfcG1kKSkKPj4+PiArwqDCoMKgwqDCoMKgwqAgaWYgKHBtZF92YWwo b2xkX3BtZCkgPT0gcG1kX3ZhbCgqbmV3X3BtZCkpIHsKPj4+PiDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgIHJldHVybiAwOwo+Pj4+IC0KPj4+PiArwqDCoMKgwqDCoMKgwqAgfSBlbHNlIGlm IChXQVJOX09OX09OQ0UoIXBtZF90aHBfb3JfaHVnZShvbGRfcG1kKSkpIHsKPj4+PiDCoMKgwqDC oMKgwqDCoMKgwqDCoCAvKgo+Pj4+IC3CoMKgwqDCoMKgwqDCoMKgICogTWFwcGluZyBpbiBodWdl IHBhZ2VzIHNob3VsZCBvbmx5IGhhcHBlbiB0aHJvdWdoIGEKPj4+PiAtwqDCoMKgwqDCoMKgwqDC oCAqIGZhdWx0LsKgIElmIGEgcGFnZSBpcyBtZXJnZWQgaW50byBhIHRyYW5zcGFyZW50IGh1Z2UK Pj4+PiAtwqDCoMKgwqDCoMKgwqDCoCAqIHBhZ2UsIHRoZSBpbmRpdmlkdWFsIHN1YnBhZ2VzIG9m IHRoYXQgaHVnZSBwYWdlCj4+Pj4gLcKgwqDCoMKgwqDCoMKgwqAgKiBzaG91bGQgYmUgdW5tYXBw ZWQgdGhyb3VnaCBNTVUgbm90aWZpZXJzIGJlZm9yZSB3ZQo+Pj4+IC3CoMKgwqDCoMKgwqDCoMKg ICogZ2V0IGhlcmUuCj4+Pj4gLcKgwqDCoMKgwqDCoMKgwqAgKgo+Pj4+IC3CoMKgwqDCoMKgwqDC oMKgICogTWVyZ2luZyBvZiBDb21wb3VuZFBhZ2VzIGlzIG5vdCBzdXBwb3J0ZWQ7IHRoZXkKPj4+ PiAtwqDCoMKgwqDCoMKgwqDCoCAqIHNob3VsZCBiZWNvbWUgc3BsaXR0aW5nIGZpcnN0LCB1bm1h cHBlZCwgbWVyZ2VkLAo+Pj4+IC3CoMKgwqDCoMKgwqDCoMKgICogYW5kIG1hcHBlZCBiYWNrIGlu IG9uLWRlbWFuZC4KPj4+PiArwqDCoMKgwqDCoMKgwqDCoCAqIElmIHdlIGhhdmUgUFRFIGxldmVs IG1hcHBpbmcgZm9yIHRoaXMgYmxvY2ssCj4+Pj4gK8KgwqDCoMKgwqDCoMKgwqAgKiB3ZSBtdXN0 IHVubWFwIGl0IHRvIGF2b2lkIGluY29uc2lzdGVudCBUTEIKPj4+PiArwqDCoMKgwqDCoMKgwqDC oCAqIHN0YXRlLiBXZSBjb3VsZCBlbmQgdXAgaW4gdGhpcyBzaXR1YXRpb24gaWYKPj4+PiArwqDC oMKgwqDCoMKgwqDCoCAqIHRoZSBtZW1vcnkgc2xvdCB3YXMgbWFya2VkIGZvciBkaXJ0eSBsb2dn aW5nCj4+Pj4gK8KgwqDCoMKgwqDCoMKgwqAgKiBhbmQgd2FzIHJldmVydGVkLCBsZWF2aW5nIFBU RSBsZXZlbCBtYXBwaW5ncwo+Pj4+ICvCoMKgwqDCoMKgwqDCoMKgICogZm9yIHRoZSBwYWdlcyBh Y2Nlc3NlZCBkdXJpbmcgdGhlIHBlcmlvZC4KPj4+PiArwqDCoMKgwqDCoMKgwqDCoCAqIE5vcm1h bCBUSFAgc3BsaXQvbWVyZ2UgZm9sbG93cyBtbXVfbm90aWZpZXIKPj4+PiArwqDCoMKgwqDCoMKg wqDCoCAqIGNhbGxiYWNrcyBhbmQgZG8gZ2V0IGhhbmRsZWQgYWNjb3JkaW5nbHkuCj4+Pj4gwqDC oMKgwqDCoMKgwqDCoMKgwqDCoCAqLwo+Pj4+IC3CoMKgwqDCoMKgwqDCoCBWTV9CVUdfT04ocG1k X3BmbihvbGRfcG1kKSAhPSBwbWRfcGZuKCpuZXdfcG1kKSk7Cj4+Pj4gK8KgwqDCoMKgwqDCoMKg wqDCoMKgwqAgdW5tYXBfc3RhZ2UyX3JhbmdlKGt2bSwgKGFkZHIgJiBTMl9QTURfTUFTSyksIAo+ Pj4+IFMyX1BNRF9TSVpFKTsKCkZpcnN0LCB1c2luZyB1bm1hcF9zdGFnZTJfcmFuZ2UoKSBoZXJl IGlzIG5vdCBxdWl0ZSBhcHByb3ByaWF0ZS4gU3VwcG9zZQp3ZSd2ZSBvbmx5IGFjY2Vzc2VkIG9u ZSAyTSBwYWdlIGluIEhQQSBbeCwgeCsxXUdpYiByYW5nZSwgd2l0aCBvdGhlcgpwYWdlcyB1bmFj Y2Vzc2VkLiAgV2hhdCB3aWxsIGhhcHBlbiBpZiB1bm1hcF9zdGFnZTJfcmFuZ2UodGhpc18yTV9w YWdlKT8KV2UnbGwgdW5leHBlY3RlZGx5IHJlYWNoIGNsZWFyX3N0YWdlMl9wdWRfZW50cnkoKSwg YW5kIHRoaW5ncyBhcmUgZ29pbmcKdG8gZ2V0IHJlYWxseSBiYWQuICBTbyB3ZSdkIGJldHRlciB1 c2UgdW5tYXBfc3RhZ2UyX3B0ZXMoKSBoZXJlIHNpbmNlIHdlCm9ubHkgd2FudCB0byB1bm1hcCBh IDJNIHJhbmdlLgoKClNlY29uZCwgY29uc2lkZXIgYmVsb3cgZnVuY3Rpb24gc3RhY2s6CgogICB1 bm1hcF9zdGFnZTJfcHRlcygpCiAgICAgY2xlYXJfc3RhZ2UyX3BtZF9lbnRyeSgpCiAgICAgICBw dXRfcGFnZSh2aXJ0X3RvX3BhZ2UocG1kKSkKCkl0IHNlZW1zIHRoYXQgd2UgaGF2ZSBvbmUgInJl ZHVuZGFudCIgcHV0X3BhZ2UoKSBoZXJlLCAodGh1cyBjb21lcyB0aGUKYmFkIGtlcm5lbCBsb2cg Li4uICwpIGJ1dCBhY3R1YWxseSB3ZSBkbyBub3QuICBCeSBzdGFnZTJfc2V0X3BtZF9odWdlKCks CnRoZSBQTUQgdGFibGUgZW50cnkgd2lsbCB0aGVuIHBvaW50IHRvIGEgMk0gYmxvY2sgKG9yaWdp bmFsbHkgcG9pbnRlZAp0byBhIFBURSB0YWJsZSksIHRoZSBfcmVmY291bnQgb2YgdGhpcyBQTUQt bGV2ZWwgdGFibGUgcGFnZSBzaG91bGQgX25vdF8KY2hhbmdlIGFmdGVyIHVubWFwX3N0YWdlMl9w dGVzKCkuICBTbyB3aGF0IHdlIHJlYWxseSBzaG91bGQgZG8gaXMgYWRkaW5nCmEgZ2V0X3BhZ2Uo KSBhZnRlciB1bm1hcHBpbmcgdG8ga2VlcCB0aGUgX3JlZmNvdW50IGEgYmFsYW5jZSEKCgp0aG91 Z2h0cyA/IEEgc2ltcGxlIHBhdGNoIGJlbG93IChiYXNlZCBvbiB5b3VycykgZm9yIGRldGFpbHMu CgoKdGhhbmtzLAoKemVuZ2h1aQoKCj4+Cj4+IEl0IHNlZW1zIHRoYXQga3ZtIGRlY3JlYXNlcyB0 aGUgX3JlZmNvdW50IG9mIHRoZSBwYWdlIHR3aWNlIGluIAo+PiB0cmFuc3BhcmVudF9odWdlcGFn ZV9hZGp1c3QoKQo+PiBhbmQgdW5tYXBfc3RhZ2UyX3JhbmdlKCkuCj4gCj4gQnV0IEkgdGhvdWdo dCB3ZSBzaG91bGQgYmUgZG9pbmcgdGhhdCBvbiB0aGUgaGVhZF9wYWdlIGFscmVhZHksIGFzIHRo aXMgCj4gaXMgVEhQLgo+IEkgd2lsbCB0YWtlIGEgbG9vayBhbmQgZ2V0IGJhY2sgdG8geW91IG9u IHRoaXMuIEJ0dywgaXMgaXQgcG9zc2libGUgZm9yIHlvdQo+IHRvIHR1cm4gb24gQ09ORklHX0RF QlVHX1ZNIGFuZCByZS1ydW4gd2l0aCB0aGUgYWJvdmUgcGF0Y2ggPwo+IAo+IEtpbmQgcmVnYXJk cwo+IFN1enVraQo+IAoKLS0tODwtLS0KCnRlc3Q6IGt2bTogYXJtOiBNYXliZSB0d28gbW9yZSBm aXhlcwoKQXBwbGllZCBiYXNlZCBvbiBTdXp1a2kncyBwYXRjaC4KClNpZ25lZC1vZmYtYnk6IFpl bmdodWkgWXUgPHl1emVuZ2h1aUBodWF3ZWkuY29tPgotLS0KICB2aXJ0L2t2bS9hcm0vbW11LmMg fCA4ICsrKysrKy0tCiAgMSBmaWxlIGNoYW5nZWQsIDYgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlv bnMoLSkKCmRpZmYgLS1naXQgYS92aXJ0L2t2bS9hcm0vbW11LmMgYi92aXJ0L2t2bS9hcm0vbW11 LmMKaW5kZXggMDU3NjVkZi4uY2NkNWQ1ZCAxMDA2NDQKLS0tIGEvdmlydC9rdm0vYXJtL21tdS5j CisrKyBiL3ZpcnQva3ZtL2FybS9tbXUuYwpAQCAtMTA4OSw3ICsxMDg5LDkgQEAgc3RhdGljIGlu dCBzdGFnZTJfc2V0X3BtZF9odWdlKHN0cnVjdCBrdm0gKmt2bSwgCnN0cnVjdCBrdm1fbW11X21l bW9yeV9jYWNoZQogIAkJICogTm9ybWFsIFRIUCBzcGxpdC9tZXJnZSBmb2xsb3dzIG1tdV9ub3Rp ZmllcgogIAkJICogY2FsbGJhY2tzIGFuZCBkbyBnZXQgaGFuZGxlZCBhY2NvcmRpbmdseS4KICAJ CSAqLwotCQkJdW5tYXBfc3RhZ2UyX3JhbmdlKGt2bSwgKGFkZHIgJiBTMl9QTURfTUFTSyksIFMy X1BNRF9TSVpFKTsKKwkJCWFkZHIgJj0gUzJfUE1EX01BU0s7CisJCQl1bm1hcF9zdGFnZTJfcHRl cyhrdm0sIHBtZCwgYWRkciwgYWRkciArIFMyX1BNRF9TSVpFKTsKKwkJCWdldF9wYWdlKHZpcnRf dG9fcGFnZShwbWQpKTsKICAJCX0gZWxzZSB7CgogIAkJCS8qCkBAIC0xMTM4LDcgKzExNDAsOSBA QCBzdGF0aWMgaW50IHN0YWdlMl9zZXRfcHVkX2h1Z2Uoc3RydWN0IGt2bSAqa3ZtLCAKc3RydWN0 IGt2bV9tbXVfbWVtb3J5X2NhY2hlICpjYWMKICAJaWYgKHN0YWdlMl9wdWRfcHJlc2VudChrdm0s IG9sZF9wdWQpKSB7CiAgCQkvKiBJZiB3ZSBoYXZlIFBURSBsZXZlbCBtYXBwaW5nLCB1bm1hcCB0 aGUgZW50aXJlIHJhbmdlICovCiAgCQlpZiAoV0FSTl9PTl9PTkNFKCFzdGFnZTJfcHVkX2h1Z2Uo a3ZtLCBvbGRfcHVkKSkpIHsKLQkJCXVubWFwX3N0YWdlMl9yYW5nZShrdm0sIGFkZHIgJiBTMl9Q VURfTUFTSywgUzJfUFVEX1NJWkUpOworCQkJYWRkciAmPSBTMl9QVURfTUFTSzsKKwkJCXVubWFw X3N0YWdlMl9wbWRzKGt2bSwgcHVkcCwgYWRkciwgYWRkciArIFMyX1BVRF9TSVpFKTsKKwkJCWdl dF9wYWdlKHZpcnRfdG9fcGFnZShwdWRwKSk7CiAgCQl9IGVsc2UgewogIAkJCXN0YWdlMl9wdWRf Y2xlYXIoa3ZtLCBwdWRwKTsKICAJCQlrdm1fdGxiX2ZsdXNoX3ZtaWRfaXBhKGt2bSwgYWRkcik7 Ci0tIAoxLjguMy4xCgoKCgoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fCmxpbnV4LWFybS1rZXJuZWwgbWFpbGluZyBsaXN0CmxpbnV4LWFybS1rZXJuZWxA bGlzdHMuaW5mcmFkZWFkLm9yZwpodHRwOi8vbGlzdHMuaW5mcmFkZWFkLm9yZy9tYWlsbWFuL2xp c3RpbmZvL2xpbnV4LWFybS1rZXJuZWwK