From mboxrd@z Thu Jan 1 00:00:00 1970 Return-path: Received: from mx3-rdu2.redhat.com ([66.187.233.73] helo=mx1.redhat.com) by bombadil.infradead.org with esmtps (Exim 4.90_1 #2 (Red Hat Linux)) id 1fwzSS-0002Jl-8j for kexec@lists.infradead.org; Tue, 04 Sep 2018 00:44:42 +0000 Date: Tue, 4 Sep 2018 08:44:17 +0800 From: Dave Young Subject: Re: [PATCH 2/5 V6] x86/ioremap: strengthen the logic in early_memremap_pgprot_adjust() to adjust encryption mask Message-ID: <20180904004417.GA9842@dhcp-128-65.nay.redhat.com> References: <20180831081930.31561-1-lijiang@redhat.com> <20180831081930.31561-3-lijiang@redhat.com> <20180903024512.GA2568@dhcp-128-65.nay.redhat.com> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "kexec" Errors-To: kexec-bounces+dwmw2=infradead.org@lists.infradead.org To: lijiang Cc: thomas.lendacky@amd.com, bhe@redhat.com, joro@8bytes.org, kexec@lists.infradead.org, linux-kernel@vger.kernel.org, iommu@lists.linux-foundation.org, mingo@redhat.com, ebiederm@xmission.com, hpa@zytor.com, tglx@linutronix.de T24gMDkvMDMvMTggYXQgMTA6MDZwbSwgbGlqaWFuZyB3cm90ZToKPiDlnKggMjAxOOW5tDA55pyI MDPml6UgMTA6NDUsIERhdmUgWW91bmcg5YaZ6YGTOgo+ID4gT24gMDgvMzEvMTggYXQgMDQ6MTlw bSwgTGlhbmJvIEppYW5nIHdyb3RlOgo+ID4+IEZvciBrZHVtcCBrZXJuZWwsIHdoZW4gU01FIGlz IGVuYWJsZWQsIHRoZSBhY3BpIHRhYmxlIGFuZCBkbWkgdGFibGUgd2lsbCBuZWVkCj4gPj4gdG8g YmUgcmVtYXBwZWQgd2l0aG91dCB0aGUgbWVtb3J5IGVuY3J5cHRpb24gbWFzay4gU28gd2UgaGF2 ZSB0byBzdHJlbmd0aGVuCj4gPj4gdGhlIGxvZ2ljIGluIGVhcmx5X21lbXJlbWFwX3BncHJvdF9h ZGp1c3QoKSwgd2hpY2ggbWFrZXMgdXMgaGF2ZSBhbiBvcHBvcnR1bml0eQo+ID4+IHRvIGFkanVz dCB0aGUgbWVtb3J5IGVuY3J5cHRpb24gbWFzay4KPiA+Pgo+ID4+IFNpZ25lZC1vZmYtYnk6IExp YW5ibyBKaWFuZyA8bGlqaWFuZ0ByZWRoYXQuY29tPgo+ID4+IC0tLQo+ID4+ICBhcmNoL3g4Ni9t bS9pb3JlbWFwLmMgfCA5ICsrKysrKysrLQo+ID4+ICAxIGZpbGUgY2hhbmdlZCwgOCBpbnNlcnRp b25zKCspLCAxIGRlbGV0aW9uKC0pCj4gPj4KPiA+PiBkaWZmIC0tZ2l0IGEvYXJjaC94ODYvbW0v aW9yZW1hcC5jIGIvYXJjaC94ODYvbW0vaW9yZW1hcC5jCj4gPj4gaW5kZXggZTAxZTZjNjk1YWRk Li5mOWQ5YTM5OTU1ZjMgMTAwNjQ0Cj4gPj4gLS0tIGEvYXJjaC94ODYvbW0vaW9yZW1hcC5jCj4g Pj4gKysrIGIvYXJjaC94ODYvbW0vaW9yZW1hcC5jCj4gPj4gQEAgLTY4OSw4ICs2ODksMTUgQEAg cGdwcm90X3QgX19pbml0IGVhcmx5X21lbXJlbWFwX3BncHJvdF9hZGp1c3QocmVzb3VyY2Vfc2l6 ZV90IHBoeXNfYWRkciwKPiA+PiAgCWVuY3J5cHRlZF9wcm90ID0gdHJ1ZTsKPiA+PiAgCj4gPj4g IAlpZiAoc21lX2FjdGl2ZSgpKSB7Cj4gPj4gKyAgICAgICAgICAgICAgICAvKgo+ID4+ICsgICAg ICAgICAgICAgICAgICogSW4ga2R1bXAga2VybmVsLCB0aGUgYWNwaSB0YWJsZSBhbmQgZG1pIHRh YmxlIHdpbGwgbmVlZAo+ID4+ICsgICAgICAgICAgICAgICAgICogdG8gYmUgcmVtYXBwZWQgd2l0 aG91dCB0aGUgbWVtb3J5IGVuY3J5cHRpb24gbWFzay4gSGVyZQo+ID4+ICsgICAgICAgICAgICAg ICAgICogd2UgaGF2ZSB0byBzdHJlbmd0aGVuIHRoZSBsb2dpYyB0byBhZGp1c3QgdGhlIG1lbW9y eQo+ID4+ICsgICAgICAgICAgICAgICAgICogZW5jcnlwdGlvbiBtYXNrLgo+ID4gCj4gPiBBc3N1 bWUgdGhlIGFjcGkvZG1pIHRhYmxlcyBhcmUgaWRlbnRpY2FsIGZvciBib3RoIDFzdCBrZXJuZWwg YW5kIGtkdW1wCj4gPiBrZXJuZWwsIEknbSBub3Qgc3VyZSB3aGF0IGlzIHRoZSBkaWZmZXJlbmNl LCB3aHkgbmVlZCBzcGVjaWFsIGhhbmRsaW5nCj4gPiBmb3Iga2R1bXAuIENhbiB5b3UgYWRkIG1v cmUgZXhwbGFuYXRpb25zPwo+ID4gCj4gCj4gT2ssIGkgd2lsbCB1c2UgYSBkbWkgZXhhbXBsZSB0 byBleHBsYWluIHRoaXMgaXNzdWUuCj4gCj4gVGhlcmUgYXJlIHNpZ25pZmljYW50IGRpZmZlcmVu Y2VzIGFib3V0IEU4MjAgYmV0d2VlbiB0aGUgMXN0IGtlcm5lbCBhbmQga2R1bXAga2VybmVsLiBJ IHBhc3RlZCB0aGVtIGF0IGJvdHRvbS4KPiAKPiBGaXJzdGx5LCB3ZSBuZWVkIHRvIGtub3cgaG93 IHRoZXkgYXJlIGNhbGxlZC4KPiBfX2FjcGlfbWFwX3RhYmxlKClcICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvIGVhcmx5X21lbXJlbWFwX2lz X3NldHVwX2RhdGEoKQo+ICAgICAgICAgICAgICAgICAgICB8LT4gZWFybHlfbWVtcmVtYXAoKS0+ IGVhcmx5X21lbXJlbWFwX3BncHJvdF9hZGp1c3QoKS0+IHwgbWVtcmVtYXBfaXNfZWZpX2RhdGEo KQo+ICBkbWlfZWFybHlfcmVtYXAoKS8gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIFwgbWVtcmVtYXBfc2hvdWxkX21hcF9kZWNyeXB0ZWQoKS0+ IGU4MjBfX2dldF9lbnRyeV90eXBlKCkKPiAKPiBTZWNvbmRseSwgd2UgYWxzbyBuZWVkIHRvIHVu ZGVyc3RhbmQgdGhlIG1lbXJlbWFwX3Nob3VsZF9tYXBfZGVjcnlwdGVkKCksIHdoaWNoIGlzIGls bHVzdHJhdGVkIGJ5IHRoZSBmYWtlIGNvZGUuCj4gc3RhdGljIGJvb2wgbWVtcmVtYXBfc2hvdWxk X21hcF9kZWNyeXB0ZWQocmVzb3VyY2Vfc2l6ZV90IHBoeXNfYWRkciwKPiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBsb25nIHNpemUpCj4gewo+IAo+ ICAgICAvKiBjb2RlIC4uLiAqLwo+IAo+ICAgICBzd2l0Y2ggKGU4MjBfX2dldF9lbnRyeV90eXBl KHBoeXNfYWRkciwgcGh5c19hZGRyICsgc2l6ZSAtIDEpKSB7Cj4gICAgICAgICBjYXNlIEU4MjBf VFlQRV9SRVNFUlZFRDoKPiAgICAgICAgIGNhc2UgRTgyMF9UWVBFX0FDUEk6Cj4gICAgICAgICBj YXNlIEU4MjBfVFlQRV9OVlM6Cj4gICAgICAgICBjYXNlIEU4MjBfVFlQRV9VTlVTQUJMRToKPiAg ICAgICAgICAgICAgICAgLyogRm9yIFNFViwgdGhlc2UgYXJlYXMgYXJlIGVuY3J5cHRlZCAqLwo+ ICAgICAgICAgICAgICAgICBpZiAoc2V2X2FjdGl2ZSgpKQo+ICAgICAgICAgICAgICAgICAgICAg ICAgIGJyZWFrOwo+ICAgICAgICAgICAgICAgICAvKiBGYWxsdGhyb3VnaCAqLwo+IAo+ICAgICAg ICAgY2FzZSBFODIwX1RZUEVfUFJBTToKPiAgICAgICAgICAgICAgICAgLyogRm9yIFNNRSwgdGhl c2UgYXJlYXMgYXJlIGRlY3J5cHRlZCAqLwo+ICAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsK PiAgICAgICAgIGRlZmF1bHQ6Cj4gICAgICAgICAgICAgICAgIC8qIHRoZXNlIGFyZWFzIGFyZSBl bmNyeXB0ZWQgYnkgZGVmYXVsdCovCj4gICAgICAgICAgICAgICAgIGJyZWFrOwo+ICAgICB9Cj4g Cj4gICAgIHJldHVybiBmYWxzZTsKPiB9Cj4gCj4gRm9yIHRoZSBkbWkgY2FzZSwgdGhlIGRtaSBi YXNlIGFkZHJlc3MgaXMgMHg2Mjg2YjAwMCBpbiBteSB0ZXN0IG1hY2hpbmUuCj4gCj4gSW4gdGhl IDFzdCBrZXJuZWwsIHRoZSBlODIwX19nZXRfZW50cnlfdHlwZSgpIGNhbiBnZXQgYSB2YWxpZCBl bnRyeSBhbmQgdHlwZSBieSB0aGUgZG1pIGFkZHJlc3MsIGFuZCB3ZSBjYW4gYWxzbyBmaW5kIHRo ZSBkbWkgYmFzZSBhZGRyZXNzIGZyb20gZTgyMC4KPiAoc2VlIHRoZSAxc3Qga2VybmVsIGxvZykK PiAweDYyODZiMDAwIOKIiCBbbWVtIDB4MDAwMDAwMDA2Mjg2YjAwMC0weDAwMDAwMDAwNjI4NmVm ZmZdCj4gU28sIHRoZXNlIGFyZWFzIGFyZSBkZWNyeXB0ZWQgYWNjb3JkaW5nIHRvIHRoZSBtZW1y ZW1hcF9zaG91bGRfbWFwX2RlY3J5cHRlZCgpLgo+IAo+IEluIGtkdW1wIGtlcm5lbCwgdGhlIGRt aSBiYXNlIGFkZHJlc3MgaXMgc3RpbGwgMHg2Mjg2YjAwMCwgYnV0IHdlIGNhbiBub3QgZmluZCB0 aGUgZG1pIGJhc2UgYWRkcmVzcyBmcm9tIGU4MjAgYW55IG1vcmUuIFRoZSBlODIwX19nZXRfZW50 cnlfdHlwZSgpIGNhbgo+IG5vdCBnZXQgYSB2YWxpZCBlbnRyeSBhbmQgdHlwZSBieSB0aGUgZG1p IGJhc2UgYWRkcmVzcywgaXQgd2lsbCBnbyBpbnRvIHRoZSBkZWZhdWx0IGJyYW5jaC4gVGhhdCBp cyB0byBzYXksIHRoZXNlIGFyZWFzIGJlY29tZSBlbmNyeXB0ZWQuIEluIGZhY3QsIHRoZXNlCj4g YXJlYXMgYXJlIGFsc28gZGVjcnlwdGVkLCBzbyB3ZSBoYXZlIHRvIHN0cmVuZ3RoZW4gdGhlIGxv Z2ljIG9mIGFkanVzdGluZyB0aGUgbWVtb3J5IGVuY3J5cHRpb24gbWFzay4KPiAKPiAKPiBUaGUg MXN0IGtlcm5lbCBsb2c6Cj4gCj4gWyAgICAwLjAwMDAwMF0gQklPUy1wcm92aWRlZCBwaHlzaWNh bCBSQU0gbWFwOgo+IFsgICAgMC4wMDAwMDBdIEJJT1MtZTgyMDogW21lbSAweDAwMDAwMDAwMDAw MDAwMDAtMHgwMDAwMDAwMDAwMDhiZmZmXSB1c2FibGUKPiBbICAgIDAuMDAwMDAwXSBCSU9TLWU4 MjA6IFttZW0gMHgwMDAwMDAwMDAwMDhjMDAwLTB4MDAwMDAwMDAwMDA5ZmZmZl0gcmVzZXJ2ZWQK PiBbICAgIDAuMDAwMDAwXSBCSU9TLWU4MjA6IFttZW0gMHgwMDAwMDAwMDAwMGUwMDAwLTB4MDAw MDAwMDAwMDBmZmZmZl0gcmVzZXJ2ZWQKPiBbICAgIDAuMDAwMDAwXSBCSU9TLWU4MjA6IFttZW0g MHgwMDAwMDAwMDAwMTAwMDAwLTB4MDAwMDAwMDAyOTkyMGZmZl0gdXNhYmxlCj4gWyAgICAwLjAw MDAwMF0gQklPUy1lODIwOiBbbWVtIDB4MDAwMDAwMDAyOTkyMTAwMC0weDAwMDAwMDAwMjk5MjFm ZmZdIHJlc2VydmVkCj4gWyAgICAwLjAwMDAwMF0gQklPUy1lODIwOiBbbWVtIDB4MDAwMDAwMDAy OTkyMjAwMC0weDAwMDAwMDAwNjIyNTZmZmZdIHVzYWJsZQo+IFsgICAgMC4wMDAwMDBdIEJJT1Mt ZTgyMDogW21lbSAweDAwMDAwMDAwNjIyNTcwMDAtMHgwMDAwMDAwMDYyMzU2ZmZmXSByZXNlcnZl ZAo+IFsgICAgMC4wMDAwMDBdIEJJT1MtZTgyMDogW21lbSAweDAwMDAwMDAwNjIzNTcwMDAtMHgw MDAwMDAwMDYyMzVjZmZmXSBBQ1BJIGRhdGEKPiBbICAgIDAuMDAwMDAwXSBCSU9TLWU4MjA6IFtt ZW0gMHgwMDAwMDAwMDYyMzVkMDAwLTB4MDAwMDAwMDA2MjNkYmZmZl0gdXNhYmxlCj4gWyAgICAw LjAwMDAwMF0gQklPUy1lODIwOiBbbWVtIDB4MDAwMDAwMDA2MjNkYzAwMC0weDAwMDAwMDAwNjI2 MWJmZmZdIHJlc2VydmVkCj4gWyAgICAwLjAwMDAwMF0gQklPUy1lODIwOiBbbWVtIDB4MDAwMDAw MDA2MjYxYzAwMC0weDAwMDAwMDAwNjI2M2RmZmZdIHVzYWJsZQo+IFsgICAgMC4wMDAwMDBdIEJJ T1MtZTgyMDogW21lbSAweDAwMDAwMDAwNjI2M2UwMDAtMHgwMDAwMDAwMDYyNjlkZmZmXSByZXNl cnZlZAo+IFsgICAgMC4wMDAwMDBdIEJJT1MtZTgyMDogW21lbSAweDAwMDAwMDAwNjI2OWUwMDAt MHgwMDAwMDAwMDYyN2Q2ZmZmXSB1c2FibGUKPiBbICAgIDAuMDAwMDAwXSBCSU9TLWU4MjA6IFtt ZW0gMHgwMDAwMDAwMDYyN2Q3MDAwLTB4MDAwMDAwMDA2MjdlM2ZmZl0gQUNQSSBkYXRhCj4gWyAg ICAwLjAwMDAwMF0gQklPUy1lODIwOiBbbWVtIDB4MDAwMDAwMDA2MjdlNDAwMC0weDAwMDAwMDAw NjI3ZTRmZmZdIEFDUEkgTlZTCj4gWyAgICAwLjAwMDAwMF0gQklPUy1lODIwOiBbbWVtIDB4MDAw MDAwMDA2MjdlNTAwMC0weDAwMDAwMDAwNjI3ZThmZmZdIEFDUEkgZGF0YQo+IFsgICAgMC4wMDAw MDBdIEJJT1MtZTgyMDogW21lbSAweDAwMDAwMDAwNjI3ZTkwMDAtMHgwMDAwMDAwMDYyN2VhZmZm XSB1c2FibGUKPiBbICAgIDAuMDAwMDAwXSBCSU9TLWU4MjA6IFttZW0gMHgwMDAwMDAwMDYyN2Vi MDAwLTB4MDAwMDAwMDA2MjdlYmZmZl0gQUNQSSBkYXRhCj4gWyAgICAwLjAwMDAwMF0gQklPUy1l ODIwOiBbbWVtIDB4MDAwMDAwMDA2MjdlYzAwMC0weDAwMDAwMDAwNjI4NmFmZmZdIHVzYWJsZQo+ IFsgICAgMC4wMDAwMDBdIEJJT1MtZTgyMDogW21lbSAweDAwMDAwMDAwNjI4NmIwMDAtMHgwMDAw MDAwMDYyODZlZmZmXSByZXNlcnZlZAo+IFsgICAgMC4wMDAwMDBdIEJJT1MtZTgyMDogW21lbSAw eDAwMDAwMDAwNjI4NmYwMDAtMHgwMDAwMDAwMDY4MmY4ZmZmXSB1c2FibGUKPiBbICAgIDAuMDAw MDAwXSBCSU9TLWU4MjA6IFttZW0gMHgwMDAwMDAwMDY4MmY5MDAwLTB4MDAwMDAwMDA2OGIwNWZm Zl0gcmVzZXJ2ZWQKPiBbICAgIDAuMDAwMDAwXSBCSU9TLWU4MjA6IFttZW0gMHgwMDAwMDAwMDY4 YjA2MDAwLTB4MDAwMDAwMDA2OGIwOWZmZl0gQUNQSSBOVlMKPiBbICAgIDAuMDAwMDAwXSBCSU9T LWU4MjA6IFttZW0gMHgwMDAwMDAwMDY4YjBhMDAwLTB4MDAwMDAwMDA2OGIxYWZmZl0gcmVzZXJ2 ZWQKPiBbICAgIDAuMDAwMDAwXSBCSU9TLWU4MjA6IFttZW0gMHgwMDAwMDAwMDY4YjFiMDAwLTB4 MDAwMDAwMDA2OGIxZGZmZl0gQUNQSSBOVlMKPiBbICAgIDAuMDAwMDAwXSBCSU9TLWU4MjA6IFtt ZW0gMHgwMDAwMDAwMDY4YjFlMDAwLTB4MDAwMDAwMDA3MWQxZGZmZl0gdXNhYmxlCj4gWyAgICAw LjAwMDAwMF0gQklPUy1lODIwOiBbbWVtIDB4MDAwMDAwMDA3MWQxZTAwMC0weDAwMDAwMDAwNzFk MmRmZmZdIHJlc2VydmVkCj4gWyAgICAwLjAwMDAwMF0gQklPUy1lODIwOiBbbWVtIDB4MDAwMDAw MDA3MWQyZTAwMC0weDAwMDAwMDAwNzFkM2RmZmZdIEFDUEkgTlZTCj4gWyAgICAwLjAwMDAwMF0g QklPUy1lODIwOiBbbWVtIDB4MDAwMDAwMDA3MWQzZTAwMC0weDAwMDAwMDAwNzFkNGRmZmZdIEFD UEkgZGF0YQo+IFsgICAgMC4wMDAwMDBdIEJJT1MtZTgyMDogW21lbSAweDAwMDAwMDAwNzFkNGUw MDAtMHgwMDAwMDAwMDc3ZmZmZmZmXSB1c2FibGUKPiBbICAgIDAuMDAwMDAwXSBCSU9TLWU4MjA6 IFttZW0gMHgwMDAwMDAwMDc4MDAwMDAwLTB4MDAwMDAwMDA4ZmZmZmZmZl0gcmVzZXJ2ZWQKPiBb ICAgIDAuMDAwMDAwXSBCSU9TLWU4MjA6IFttZW0gMHgwMDAwMDAwMGZlZDgwMDAwLTB4MDAwMDAw MDBmZWQ4MGZmZl0gcmVzZXJ2ZWQKPiBbICAgIDAuMDAwMDAwXSBCSU9TLWU4MjA6IFttZW0gMHgw MDAwMDAwMTAwMDAwMDAwLTB4MDAwMDAwMDg3ZWZmZmZmZl0gdXNhYmxlCj4gWyAgICAwLjAwMDAw MF0gQklPUy1lODIwOiBbbWVtIDB4MDAwMDAwMDg3ZjAwMDAwMC0weDAwMDAwMDA4N2ZmZmZmZmZd IHJlc2VydmVkCj4gCj4gVGhlIGtkdW1wIGtlcm5lbCBsb2c6Cj4gCj4gWyAgICAwLjAwMDAwMF0g QklPUy1wcm92aWRlZCBwaHlzaWNhbCBSQU0gbWFwOgo+IFsgICAgMC4wMDAwMDBdIEJJT1MtZTgy MDogW21lbSAweDAwMDAwMDAwMDAwMDEwMDAtMHgwMDAwMDAwMDAwMDhiZmZmXSB1c2FibGUKPiBb ICAgIDAuMDAwMDAwXSBCSU9TLWU4MjA6IFttZW0gMHgwMDAwMDAwMDUyMDAwMDAwLTB4MDAwMDAw MDA2MWZmZmZmZl0gdXNhYmxlCj4gWyAgICAwLjAwMDAwMF0gQklPUy1lODIwOiBbbWVtIDB4MDAw MDAwMDA2MjJlZTAwMC0weDAwMDAwMDAwNjIzMDBmZmZdIEFDUEkgZGF0YQo+IFsgICAgMC4wMDAw MDBdIEJJT1MtZTgyMDogW21lbSAweDAwMDAwMDAwNjIzMDEwMDAtMHgwMDAwMDAwMDYyMzAxZmZm XSBBQ1BJIE5WUwo+IFsgICAgMC4wMDAwMDBdIEJJT1MtZTgyMDogW21lbSAweDAwMDAwMDAwNjI3 MDMwMDAtMHgwMDAwMDAwMDYyNzAzZmZmXSBBQ1BJIGRhdGEKPiBbICAgIDAuMDAwMDAwXSBCSU9T LWU4MjA6IFttZW0gMHgwMDAwMDAwMDYyNzM1MDAwLTB4MDAwMDAwMDA2MjczN2ZmZl0gQUNQSSBk YXRhCj4gWyAgICAwLjAwMDAwMF0gQklPUy1lODIwOiBbbWVtIDB4MDAwMDAwMDA2MjczYTAwMC0w eDAwMDAwMDAwNjI3M2FmZmZdIEFDUEkgZGF0YQo+IFsgICAgMC4wMDAwMDBdIEJJT1MtZTgyMDog W21lbSAweDAwMDAwMDAwNjhiMDYwMDAtMHgwMDAwMDAwMDY4YjA5ZmZmXSBBQ1BJIE5WUwo+IFsg ICAgMC4wMDAwMDBdIEJJT1MtZTgyMDogW21lbSAweDAwMDAwMDAwNjhiMWIwMDAtMHgwMDAwMDAw MDY4YjFkZmZmXSBBQ1BJIE5WUwo+IFsgICAgMC4wMDAwMDBdIEJJT1MtZTgyMDogW21lbSAweDAw MDAwMDAwNzFkMmUwMDAtMHgwMDAwMDAwMDcxZDNkZmZmXSBBQ1BJIE5WUwo+IFsgICAgMC4wMDAw MDBdIEJJT1MtZTgyMDogW21lbSAweDAwMDAwMDAwNzFkM2UwMDAtMHgwMDAwMDAwMDcxZDRkZmZm XSBBQ1BJIGRhdGEKPiBbICAgIDAuMDAwMDAwXSBCSU9TLWU4MjA6IFttZW0gMHgwMDAwMDAwN2Zl MDAwMDAwLTB4MDAwMDAwMDg3ZGY3MGZmZl0gdXNhYmxlCj4gCgpDYW4geW91IHByb3ZpZGUgdGhl IGVmaSBtZW1tYXAgZG1lc2c/ICBib290IHdpdGggZWZpPWRlYnVnPwoKPiA+PiArICAgICAgICAg ICAgICAgICAqLwo+ID4+ICAJCWlmIChlYXJseV9tZW1yZW1hcF9pc19zZXR1cF9kYXRhKHBoeXNf YWRkciwgc2l6ZSkgfHwKPiA+PiAtCQkgICAgbWVtcmVtYXBfaXNfZWZpX2RhdGEocGh5c19hZGRy LCBzaXplKSkKPiA+PiArCQkgICAgbWVtcmVtYXBfaXNfZWZpX2RhdGEocGh5c19hZGRyLCBzaXpl KSB8fAo+ID4+ICsJCSAgICBpc19rZHVtcF9rZXJuZWwoKSkKPiA+PiAgCQkJZW5jcnlwdGVkX3By b3QgPSBmYWxzZTsKPiA+PiAgCX0KPiA+PiAgCj4gPj4gLS0gCj4gPj4gMi4xNy4xCj4gPj4KPiA+ IAo+ID4gVGhhbmtzCj4gPiBEYXZlCj4gPiAKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fCmtleGVjIG1haWxpbmcgbGlzdAprZXhlY0BsaXN0cy5pbmZyYWRl YWQub3JnCmh0dHA6Ly9saXN0cy5pbmZyYWRlYWQub3JnL21haWxtYW4vbGlzdGluZm8va2V4ZWMK