From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andre Przywara Subject: Re: [PATCH 20/27] xen/arm: page: Use ARMv8 naming to improve readability Date: Wed, 23 Aug 2017 12:42:15 +0100 Message-ID: References: <20170814142418.13267-1-julien.grall@arm.com> <20170814142418.13267-21-julien.grall@arm.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20170814142418.13267-21-julien.grall@arm.com> Content-Language: en-GB List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: Julien Grall , xen-devel@lists.xen.org Cc: sstabellini@kernel.org List-Id: xen-devel@lists.xenproject.org SGksCgpPbiAxNC8wOC8xNyAxNToyNCwgSnVsaWVuIEdyYWxsIHdyb3RlOgo+IFRoaXMgaXMgYmFz ZWQgb24gdGhlIExpbnV4IEFSTXY4IG5hbWluZyBzY2hlbWUgKHNlZSBhcmNoL2FybTY0L21tL3By b2MuUykuIEVhY2gKPiB0eXBlIHdpbGwgY29udGFpbiAiTk9STUFMIiBvciAiREVWSUNFIiB0byBt YWtlIGNsZWFyIHdoZXRoZXIgZWFjaCBhdHRyaWJ1dGUKPiB0YXJnZXRzIGRldmljZSBvciBub3Jt YWwgbWVtb3J5LgoKWWVzLCB0aGF0IG1ha2VzIHNlbnNlIGFuZCBpbXByb3ZlcyByZWFkYWJpbGl0 eSBhcyB0aGUgbmFtaW5nIG1hdGNoZXMgdGhlCnNwZWMgYW5kIGlzIG1vcmUgaW50dWl0aXZlLiBB bHNvIGl0IGxvb2tzIGNvcnJlY3QgdG8gbWUuCgpIb3dldmVyIEkgZmVlbCBpdCB3b3VsZCBiZSBt b3JlIGhlbHBmdWwgaXMgdGhpcyBwYXRjaGVzIGNvbWVzIGJlZm9yZSB0aGUKcHJldmlvdXMgb25l IHdoaWNoIHJld29ya3MgdGhlIE1BSVIgY29uc3RydWN0aW9uLgoKSG93ZXZlciBmb3IgdGhpcyBw YXRjaDoKCj4gU2lnbmVkLW9mZi1ieTogSnVsaWVuIEdyYWxsIDxqdWxpZW4uZ3JhbGxAYXJtLmNv bT4KClJldmlld2VkLWJ5OiBBbmRyZSBQcnp5d2FyYSA8YW5kcmUucHJ6eXdhcmFAYXJtLmNvbT4K CkNoZWVycywKQW5kcmUuCgo+IC0tLQo+ICB4ZW4vYXJjaC9hcm0va2VybmVsLmMgICAgICAgICAg ICAgfCAgMiArLQo+ICB4ZW4vYXJjaC9hcm0vbW0uYyAgICAgICAgICAgICAgICAgfCAyOCArKysr KysrKysrKysrLS0tLS0tLS0tLS0tLQo+ICB4ZW4vYXJjaC9hcm0vcGxhdGZvcm1zL3ZleHByZXNz LmMgfCAgMiArLQo+ICB4ZW4vZHJpdmVycy92aWRlby9hcm1faGRsY2QuYyAgICAgfCAgMiArLQo+ ICB4ZW4vaW5jbHVkZS9hc20tYXJtL3BhZ2UuaCAgICAgICAgfCA0MiArKysrKysrKysrKysrKysr KysrLS0tLS0tLS0tLS0tLS0tLS0tLS0KPiAgNSBmaWxlcyBjaGFuZ2VkLCAzOCBpbnNlcnRpb25z KCspLCAzOCBkZWxldGlvbnMoLSkKPiAKPiBkaWZmIC0tZ2l0IGEveGVuL2FyY2gvYXJtL2tlcm5l bC5jIGIveGVuL2FyY2gvYXJtL2tlcm5lbC5jCj4gaW5kZXggOWMxODNmOTZkYS4uYTEyYmFhODZl NyAxMDA2NDQKPiAtLS0gYS94ZW4vYXJjaC9hcm0va2VybmVsLmMKPiArKysgYi94ZW4vYXJjaC9h cm0va2VybmVsLmMKPiBAQCAtNTQsNyArNTQsNyBAQCB2b2lkIGNvcHlfZnJvbV9wYWRkcih2b2lk ICpkc3QsIHBhZGRyX3QgcGFkZHIsIHVuc2lnbmVkIGxvbmcgbGVuKQo+ICAgICAgICAgIHMgPSBw YWRkciAmIChQQUdFX1NJWkUtMSk7Cj4gICAgICAgICAgbCA9IG1pbihQQUdFX1NJWkUgLSBzLCBs ZW4pOwo+ICAKPiAtICAgICAgICBzZXRfZml4bWFwKEZJWE1BUF9NSVNDLCBtYWRkcl90b19tZm4o cGFkZHIpLCBNVF9CVUZGRVJBQkxFKTsKPiArICAgICAgICBzZXRfZml4bWFwKEZJWE1BUF9NSVND LCBtYWRkcl90b19tZm4ocGFkZHIpLCBNVF9OT1JNQUxfTkMpOwo+ICAgICAgICAgIG1lbWNweShk c3QsIHNyYyArIHMsIGwpOwo+ICAgICAgICAgIGNsZWFuX2RjYWNoZV92YV9yYW5nZShkc3QsIGwp Owo+ICAKPiBkaWZmIC0tZ2l0IGEveGVuL2FyY2gvYXJtL21tLmMgYi94ZW4vYXJjaC9hcm0vbW0u Ywo+IGluZGV4IDQ1OTc0ODQ2YTkuLmNlMTg1OGZiZjMgMTAwNjQ0Cj4gLS0tIGEveGVuL2FyY2gv YXJtL21tLmMKPiArKysgYi94ZW4vYXJjaC9hcm0vbW0uYwo+IEBAIC0yOTAsNyArMjkwLDcgQEAg c3RhdGljIGlubGluZSBscGFlX3QgbWZuX3RvX3hlbl9lbnRyeShtZm5fdCBtZm4sIHVuc2lnbmVk IGF0dHIpCj4gIAo+ICAgICAgc3dpdGNoICggYXR0ciApCj4gICAgICB7Cj4gLSAgICBjYXNlIE1U X0JVRkZFUkFCTEU6Cj4gKyAgICBjYXNlIE1UX05PUk1BTF9OQzoKPiAgICAgICAgICAvKgo+ICAg ICAgICAgICAqIEFSTSBBUk06IE92ZXJsYXlpbmcgdGhlIHNoYXJlYWJpbGl0eSBhdHRyaWJ1dGUg KERESQo+ICAgICAgICAgICAqIDA0MDZDLmIgQjMtMTM3NiB0byAxMzc3KQo+IEBAIC0zMDUsOCAr MzA1LDggQEAgc3RhdGljIGlubGluZSBscGFlX3QgbWZuX3RvX3hlbl9lbnRyeShtZm5fdCBtZm4s IHVuc2lnbmVkIGF0dHIpCj4gICAgICAgICAgICovCj4gICAgICAgICAgZS5wdC5zaCA9IExQQUVf U0hfT1VURVI7Cj4gICAgICAgICAgYnJlYWs7Cj4gLSAgICBjYXNlIE1UX1VOQ0FDSEVEOgo+IC0g ICAgY2FzZSBNVF9ERVZfU0hBUkVEOgo+ICsgICAgY2FzZSBNVF9ERVZJQ0VfbkduUm5FOgo+ICsg ICAgY2FzZSBNVF9ERVZJQ0VfbkduUkU6Cj4gICAgICAgICAgLyoKPiAgICAgICAgICAgKiBTaGFy ZWFiaWxpdHkgaXMgaWdub3JlZCBmb3Igbm9uLU5vcm1hbCBtZW1vcnksIE91dGVyIGlzIGFzCj4g ICAgICAgICAgICogZ29vZCBhcyBhbnl0aGluZy4KPiBAQCAtMzY5LDcgKzM2OSw3IEBAIHN0YXRp YyB2b2lkIF9faW5pdCBjcmVhdGVfbWFwcGluZ3MobHBhZV90ICpzZWNvbmQsCj4gIAo+ICAgICAg Y291bnQgPSBucl9tZm5zIC8gTFBBRV9FTlRSSUVTOwo+ICAgICAgcCA9IHNlY29uZCArIHNlY29u ZF9saW5lYXJfb2Zmc2V0KHZpcnRfb2Zmc2V0KTsKPiAtICAgIHB0ZSA9IG1mbl90b194ZW5fZW50 cnkoX21mbihiYXNlX21mbiksIE1UX1dSSVRFQUxMT0MpOwo+ICsgICAgcHRlID0gbWZuX3RvX3hl bl9lbnRyeShfbWZuKGJhc2VfbWZuKSwgTVRfTk9STUFMKTsKPiAgICAgIGlmICggZ3JhbnVsYXJp dHkgPT0gMTYgKiBMUEFFX0VOVFJJRVMgKQo+ICAgICAgICAgIHB0ZS5wdC5jb250aWcgPSAxOyAg LyogVGhlc2UgbWFwcyBhcmUgaW4gMTYtZW50cnkgY29udGlndW91cyBjaHVua3MuICovCj4gICAg ICBmb3IgKCBpID0gMDsgaSA8IGNvdW50OyBpKysgKQo+IEBAIC00MjIsNyArNDIyLDcgQEAgdm9p ZCAqbWFwX2RvbWFpbl9wYWdlKG1mbl90IG1mbikKPiAgICAgICAgICBlbHNlIGlmICggbWFwW3Ns b3RdLnB0LmF2YWlsID09IDAgKQo+ICAgICAgICAgIHsKPiAgICAgICAgICAgICAgLyogQ29tbWFu ZGVlciB0aGlzIDJNQiBzbG90ICovCj4gLSAgICAgICAgICAgIHB0ZSA9IG1mbl90b194ZW5fZW50 cnkoX21mbihzbG90X21mbiksIE1UX1dSSVRFQUxMT0MpOwo+ICsgICAgICAgICAgICBwdGUgPSBt Zm5fdG9feGVuX2VudHJ5KF9tZm4oc2xvdF9tZm4pLCBNVF9OT1JNQUwpOwo+ICAgICAgICAgICAg ICBwdGUucHQuYXZhaWwgPSAxOwo+ICAgICAgICAgICAgICB3cml0ZV9wdGUobWFwICsgc2xvdCwg cHRlKTsKPiAgICAgICAgICAgICAgYnJlYWs7Cj4gQEAgLTU0Myw3ICs1NDMsNyBAQCBzdGF0aWMg aW5saW5lIGxwYWVfdCBwdGVfb2ZfeGVuYWRkcih2YWRkcl90IHZhKQo+ICB7Cj4gICAgICBwYWRk cl90IG1hID0gdmEgKyBwaHlzX29mZnNldDsKPiAgCj4gLSAgICByZXR1cm4gbWZuX3RvX3hlbl9l bnRyeShtYWRkcl90b19tZm4obWEpLCBNVF9XUklURUFMTE9DKTsKPiArICAgIHJldHVybiBtZm5f dG9feGVuX2VudHJ5KG1hZGRyX3RvX21mbihtYSksIE1UX05PUk1BTCk7Cj4gIH0KPiAgCj4gIC8q IE1hcCB0aGUgRkRUIGluIHRoZSBlYXJseSBib290IHBhZ2UgdGFibGUgKi8KPiBAQCAtNjUyLDcg KzY1Miw3IEBAIHZvaWQgX19pbml0IHNldHVwX3BhZ2V0YWJsZXModW5zaWduZWQgbG9uZyBib290 X3BoeXNfb2Zmc2V0LCBwYWRkcl90IHhlbl9wYWRkcikKPiAgICAgIC8qIEluaXRpYWxpc2UgeGVu IHNlY29uZCBsZXZlbCBlbnRyaWVzIC4uLiAqLwo+ICAgICAgLyogLi4uIFhlbidzIHRleHQgZXRj ICovCj4gIAo+IC0gICAgcHRlID0gbWZuX3RvX3hlbl9lbnRyeShtYWRkcl90b19tZm4oeGVuX3Bh ZGRyKSwgTVRfV1JJVEVBTExPQyk7Cj4gKyAgICBwdGUgPSBtZm5fdG9feGVuX2VudHJ5KG1hZGRy X3RvX21mbih4ZW5fcGFkZHIpLCBNVF9OT1JNQUwpOwo+ICAgICAgcHRlLnB0LnhuID0gMDsvKiBD b250YWlucyBvdXIgdGV4dCBtYXBwaW5nISAqLwo+ICAgICAgeGVuX3NlY29uZFtzZWNvbmRfdGFi bGVfb2Zmc2V0KFhFTl9WSVJUX1NUQVJUKV0gPSBwdGU7Cj4gIAo+IEBAIC02NjksNyArNjY5LDcg QEAgdm9pZCBfX2luaXQgc2V0dXBfcGFnZXRhYmxlcyh1bnNpZ25lZCBsb25nIGJvb3RfcGh5c19v ZmZzZXQsIHBhZGRyX3QgeGVuX3BhZGRyKQo+ICAKPiAgICAgIC8qIC4uLiBCb290IE1pc2MgYXJl YSBmb3IgeGVuIHJlbG9jYXRpb24gKi8KPiAgICAgIGRlc3RfdmEgPSBCT09UX1JFTE9DX1ZJUlRf U1RBUlQ7Cj4gLSAgICBwdGUgPSBtZm5fdG9feGVuX2VudHJ5KG1hZGRyX3RvX21mbih4ZW5fcGFk ZHIpLCBNVF9XUklURUFMTE9DKTsKPiArICAgIHB0ZSA9IG1mbl90b194ZW5fZW50cnkobWFkZHJf dG9fbWZuKHhlbl9wYWRkciksIE1UX05PUk1BTCk7Cj4gICAgICAvKiBNYXAgdGhlIGRlc3RpbmF0 aW9uIGluIHhlbl9zZWNvbmQuICovCj4gICAgICB4ZW5fc2Vjb25kW3NlY29uZF90YWJsZV9vZmZz ZXQoZGVzdF92YSldID0gcHRlOwo+ICAgICAgLyogTWFwIHRoZSBkZXN0aW5hdGlvbiBpbiBib290 X3NlY29uZC4gKi8KPiBAQCAtNzAwLDcgKzcwMCw3IEBAIHZvaWQgX19pbml0IHNldHVwX3BhZ2V0 YWJsZXModW5zaWduZWQgbG9uZyBib290X3BoeXNfb2Zmc2V0LCBwYWRkcl90IHhlbl9wYWRkcikK PiAgICAgICAgICB1bnNpZ25lZCBsb25nIHZhID0gWEVOX1ZJUlRfU1RBUlQgKyAoaSA8PCBQQUdF X1NISUZUKTsKPiAgICAgICAgICBpZiAoICFpc19rZXJuZWwodmEpICkKPiAgICAgICAgICAgICAg YnJlYWs7Cj4gLSAgICAgICAgcHRlID0gbWZuX3RvX3hlbl9lbnRyeShtZm4sIE1UX1dSSVRFQUxM T0MpOwo+ICsgICAgICAgIHB0ZSA9IG1mbl90b194ZW5fZW50cnkobWZuLCBNVF9OT1JNQUwpOwo+ ICAgICAgICAgIHB0ZS5wdC50YWJsZSA9IDE7IC8qIDRrIG1hcHBpbmdzIGFsd2F5cyBoYXZlIHRo aXMgYml0IHNldCAqLwo+ICAgICAgICAgIGlmICggaXNfa2VybmVsX3RleHQodmEpIHx8IGlzX2tl cm5lbF9pbml0dGV4dCh2YSkgKQo+ICAgICAgICAgIHsKPiBAQCAtNzcxLDcgKzc3MSw3IEBAIGlu dCBpbml0X3NlY29uZGFyeV9wYWdldGFibGVzKGludCBjcHUpCj4gICAgICBmb3IgKCBpID0gMDsg aSA8IERPTUhFQVBfU0VDT05EX1BBR0VTOyBpKysgKQo+ICAgICAgewo+ICAgICAgICAgIHB0ZSA9 IG1mbl90b194ZW5fZW50cnkodmlydF90b19tZm4oZG9taGVhcCtpKkxQQUVfRU5UUklFUyksCj4g LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNVF9XUklURUFMTE9DKTsKPiArICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIE1UX05PUk1BTCk7Cj4gICAgICAgICAgcHRlLnB0LnRh YmxlID0gMTsKPiAgICAgICAgICB3cml0ZV9wdGUoJmZpcnN0W2ZpcnN0X3RhYmxlX29mZnNldChE T01IRUFQX1ZJUlRfU1RBUlQraSpGSVJTVF9TSVpFKV0sIHB0ZSk7Cj4gICAgICB9Cj4gQEAgLTg2 OSwxMyArODY5LDEzIEBAIHZvaWQgX19pbml0IHNldHVwX3hlbmhlYXBfbWFwcGluZ3ModW5zaWdu ZWQgbG9uZyBiYXNlX21mbiwKPiAgICAgICAgICAgICAgbWZuX3QgZmlyc3RfbWZuID0gYWxsb2Nf Ym9vdF9wYWdlcygxLCAxKTsKPiAgCj4gICAgICAgICAgICAgIGNsZWFyX3BhZ2UobWZuX3RvX3Zp cnQoZmlyc3RfbWZuKSk7Cj4gLSAgICAgICAgICAgIHB0ZSA9IG1mbl90b194ZW5fZW50cnkoZmly c3RfbWZuLCBNVF9XUklURUFMTE9DKTsKPiArICAgICAgICAgICAgcHRlID0gbWZuX3RvX3hlbl9l bnRyeShmaXJzdF9tZm4sIE1UX05PUk1BTCk7Cj4gICAgICAgICAgICAgIHB0ZS5wdC50YWJsZSA9 IDE7Cj4gICAgICAgICAgICAgIHdyaXRlX3B0ZShwLCBwdGUpOwo+ICAgICAgICAgICAgICBmaXJz dCA9IG1mbl90b192aXJ0KGZpcnN0X21mbik7Cj4gICAgICAgICAgfQo+ICAKPiAtICAgICAgICBw dGUgPSBtZm5fdG9feGVuX2VudHJ5KF9tZm4obWZuKSwgTVRfV1JJVEVBTExPQyk7Cj4gKyAgICAg ICAgcHRlID0gbWZuX3RvX3hlbl9lbnRyeShfbWZuKG1mbiksIE1UX05PUk1BTCk7Cj4gICAgICAg ICAgLyogVE9ETzogU2V0IHB0ZS5wdC5jb250aWcgd2hlbiBhcHByb3ByaWF0ZS4gKi8KPiAgICAg ICAgICB3cml0ZV9wdGUoJmZpcnN0W2ZpcnN0X3RhYmxlX29mZnNldCh2YWRkcildLCBwdGUpOwo+ ICAKPiBAQCAtOTE1LDcgKzkxNSw3IEBAIHZvaWQgX19pbml0IHNldHVwX2ZyYW1ldGFibGVfbWFw cGluZ3MocGFkZHJfdCBwcywgcGFkZHJfdCBwZSkKPiAgICAgIGZvciAoIGkgPSAwOyBpIDwgbnJf c2Vjb25kOyBpKysgKQo+ICAgICAgewo+ICAgICAgICAgIGNsZWFyX3BhZ2UobWZuX3RvX3ZpcnQo bWZuX2FkZChzZWNvbmRfYmFzZSwgaSkpKTsKPiAtICAgICAgICBwdGUgPSBtZm5fdG9feGVuX2Vu dHJ5KG1mbl9hZGQoc2Vjb25kX2Jhc2UsIGkpLCBNVF9XUklURUFMTE9DKTsKPiArICAgICAgICBw dGUgPSBtZm5fdG9feGVuX2VudHJ5KG1mbl9hZGQoc2Vjb25kX2Jhc2UsIGkpLCBNVF9OT1JNQUwp Owo+ICAgICAgICAgIHB0ZS5wdC50YWJsZSA9IDE7Cj4gICAgICAgICAgd3JpdGVfcHRlKCZ4ZW5f Zmlyc3RbZmlyc3RfdGFibGVfb2Zmc2V0KEZSQU1FVEFCTEVfVklSVF9TVEFSVCkraV0sIHB0ZSk7 Cj4gICAgICB9Cj4gQEAgLTk2OSw3ICs5NjksNyBAQCBzdGF0aWMgaW50IGNyZWF0ZV94ZW5fdGFi bGUobHBhZV90ICplbnRyeSkKPiAgICAgIGlmICggcCA9PSBOVUxMICkKPiAgICAgICAgICByZXR1 cm4gLUVOT01FTTsKPiAgICAgIGNsZWFyX3BhZ2UocCk7Cj4gLSAgICBwdGUgPSBtZm5fdG9feGVu X2VudHJ5KHZpcnRfdG9fbWZuKHApLCBNVF9XUklURUFMTE9DKTsKPiArICAgIHB0ZSA9IG1mbl90 b194ZW5fZW50cnkodmlydF90b19tZm4ocCksIE1UX05PUk1BTCk7Cj4gICAgICBwdGUucHQudGFi bGUgPSAxOwo+ICAgICAgd3JpdGVfcHRlKGVudHJ5LCBwdGUpOwo+ICAgICAgcmV0dXJuIDA7Cj4g ZGlmZiAtLWdpdCBhL3hlbi9hcmNoL2FybS9wbGF0Zm9ybXMvdmV4cHJlc3MuYyBiL3hlbi9hcmNo L2FybS9wbGF0Zm9ybXMvdmV4cHJlc3MuYwo+IGluZGV4IDliYWRiYzA3OWQuLmRmMmM0YjViZWMg MTAwNjQ0Cj4gLS0tIGEveGVuL2FyY2gvYXJtL3BsYXRmb3Jtcy92ZXhwcmVzcy5jCj4gKysrIGIv eGVuL2FyY2gvYXJtL3BsYXRmb3Jtcy92ZXhwcmVzcy5jCj4gQEAgLTY1LDcgKzY1LDcgQEAgaW50 IHZleHByZXNzX3N5c2NmZyhpbnQgd3JpdGUsIGludCBmdW5jdGlvbiwgaW50IGRldmljZSwgdWlu dDMyX3QgKmRhdGEpCj4gICAgICB1aW50MzJfdCAqc3lzY2ZnID0gKHVpbnQzMl90ICopIEZJWE1B UF9BRERSKEZJWE1BUF9NSVNDKTsKPiAgICAgIGludCByZXQgPSAtMTsKPiAgCj4gLSAgICBzZXRf Zml4bWFwKEZJWE1BUF9NSVNDLCBtYWRkcl90b19tZm4oVjJNX1NZU19NTUlPX0JBU0UpLCBNVF9E RVZfU0hBUkVEKTsKPiArICAgIHNldF9maXhtYXAoRklYTUFQX01JU0MsIG1hZGRyX3RvX21mbihW Mk1fU1lTX01NSU9fQkFTRSksIE1UX0RFVklDRV9uR25SRSk7Cj4gIAo+ICAgICAgaWYgKCBzeXNj ZmdbVjJNX1NZU19DRkdDVFJMLzRdICYgVjJNX1NZU19DRkdfU1RBUlQgKQo+ICAgICAgICAgIGdv dG8gb3V0Owo+IGRpZmYgLS1naXQgYS94ZW4vZHJpdmVycy92aWRlby9hcm1faGRsY2QuYyBiL3hl bi9kcml2ZXJzL3ZpZGVvL2FybV9oZGxjZC5jCj4gaW5kZXggNWZhN2Y1MThiMS4uMTE3NTM5OWRi YyAxMDA2NDQKPiAtLS0gYS94ZW4vZHJpdmVycy92aWRlby9hcm1faGRsY2QuYwo+ICsrKyBiL3hl bi9kcml2ZXJzL3ZpZGVvL2FybV9oZGxjZC5jCj4gQEAgLTIyNyw3ICsyMjcsNyBAQCB2b2lkIF9f aW5pdCB2aWRlb19pbml0KHZvaWQpCj4gICAgICAvKiB1c2VzIEZJWE1BUF9NSVNDICovCj4gICAg ICBzZXRfcGl4Y2xvY2sodmlkZW9tb2RlLT5waXhjbG9jayk7Cj4gIAo+IC0gICAgc2V0X2ZpeG1h cChGSVhNQVBfTUlTQywgbWFkZHJfdG9fbWZuKGhkbGNkX3N0YXJ0KSwgTVRfREVWX1NIQVJFRCk7 Cj4gKyAgICBzZXRfZml4bWFwKEZJWE1BUF9NSVNDLCBtYWRkcl90b19tZm4oaGRsY2Rfc3RhcnQp LCBNVF9ERVZJQ0VfbkduUkUpOwo+ICAgICAgSERMQ0RbSERMQ0RfQ09NTUFORF0gPSAwOwo+ICAK PiAgICAgIEhETENEW0hETENEX0xJTkVMRU5HVEhdID0gdmlkZW9tb2RlLT54cmVzICogYnl0ZXNf cGVyX3BpeGVsOwo+IGRpZmYgLS1naXQgYS94ZW4vaW5jbHVkZS9hc20tYXJtL3BhZ2UuaCBiL3hl bi9pbmNsdWRlL2FzbS1hcm0vcGFnZS5oCj4gaW5kZXggODZiMjI3YzI5MS4uZDlkYWM5MmU3MyAx MDA2NDQKPiAtLS0gYS94ZW4vaW5jbHVkZS9hc20tYXJtL3BhZ2UuaAo+ICsrKyBiL3hlbi9pbmNs dWRlL2FzbS1hcm0vcGFnZS5oCj4gQEAgLTI5LDQzICsyOSw0MyBAQAo+ICAgKiByZWdpc3RlcnMs IGFzIGRlZmluZWQgYWJvdmUuCj4gICAqCj4gICAqLwo+IC0jZGVmaW5lIE1UX1VOQ0FDSEVEICAg ICAgMHgwCj4gLSNkZWZpbmUgTVRfQlVGRkVSQUJMRSAgICAweDEKPiAtI2RlZmluZSBNVF9XUklU RVRIUk9VR0ggIDB4Mgo+IC0jZGVmaW5lIE1UX1dSSVRFQkFDSyAgICAgMHgzCj4gLSNkZWZpbmUg TVRfREVWX1NIQVJFRCAgICAweDQKPiAtI2RlZmluZSBNVF9XUklURUFMTE9DICAgIDB4Nwo+ICsj ZGVmaW5lIE1UX0RFVklDRV9uR25SbkUgMHgwCj4gKyNkZWZpbmUgTVRfTk9STUFMX05DICAgICAw eDEKPiArI2RlZmluZSBNVF9OT1JNQUxfV1QgICAgIDB4Mgo+ICsjZGVmaW5lIE1UX05PUk1BTF9X QiAgICAgMHgzCj4gKyNkZWZpbmUgTVRfREVWSUNFX25HblJFICAweDQKPiArI2RlZmluZSBNVF9O T1JNQUwgICAgICAgIDB4Nwo+ICAKPiAgLyoKPiAgICogTFBBRSBNZW1vcnkgcmVnaW9uIGF0dHJp YnV0ZXMuIEluZGV4ZWQgYnkgdGhlIEF0dHJJbmRleCBiaXRzIG9mIGEKPiAgICogTFBBRSBlbnRy eTsgdGhlIDgtYml0IGZpZWxkcyBhcmUgcGFja2VkIGxpdHRsZS1lbmRpYW4gaW50byBNQUlSMCBh bmQgTUFJUjEuCj4gICAqCj4gICAqICAgICAgICAgICAgICAgICAgICBhaSAgICBlbmNvZGluZwo+ IC0gKiAgIE1UX1VOQ0FDSEVEICAgICAgMDAwICAgMDAwMCAwMDAwICAtLSBTdHJvbmdseSBPcmRl cmVkCj4gLSAqICAgTVRfQlVGRkVSQUJMRSAgICAwMDEgICAwMTAwIDAxMDAgIC0tIE5vbi1DYWNo ZWFibGUKPiAtICogICBNVF9XUklURVRIUk9VR0ggIDAxMCAgIDEwMTAgMTAxMCAgLS0gV3JpdGUt dGhyb3VnaAo+IC0gKiAgIE1UX1dSSVRFQkFDSyAgICAgMDExICAgMTExMCAxMTEwICAtLSBXcml0 ZS1iYWNrCj4gLSAqICAgTVRfREVWX1NIQVJFRCAgICAxMDAgICAwMDAwIDAxMDAgIC0tIERldmlj ZQo+ICsgKiAgIE1UX0RFVklDRV9uR25SRSAgMDAwICAgMDAwMCAwMDAwICAtLSBTdHJvbmdseSBP cmRlcmVkL0RldmljZSBuR25SbkUKPiArICogICBNVF9OT1JNQUxfTkMgICAgIDAwMSAgIDAxMDAg MDEwMCAgLS0gTm9uLUNhY2hlYWJsZQo+ICsgKiAgIE1UX05PUk1BTF9XVCAgICAgMDEwICAgMTAx MCAxMDEwICAtLSBXcml0ZS10aHJvdWdoCj4gKyAqICAgTVRfTk9STUFMX1dCICAgICAwMTEgICAx MTEwIDExMTAgIC0tIFdyaXRlLWJhY2sKPiArICogICBNVF9ERVZJQ0VfbkduUkUgIDEwMCAgIDAw MDAgMDEwMCAgLS0gRGV2aWNlIG5HblJFCj4gICAqICAgPz8gICAgICAgICAgICAgICAxMDEKPiAg ICogICByZXNlcnZlZCAgICAgICAgIDExMAo+IC0gKiAgIE1UX1dSSVRFQUxMT0MgICAgMTExICAg MTExMSAxMTExICAtLSBXcml0ZS1iYWNrIHdyaXRlLWFsbG9jYXRlCj4gKyAqICAgTVRfTk9STUFM ICAgICAgICAxMTEgICAxMTExIDExMTEgIC0tIFdyaXRlLWJhY2sgd3JpdGUtYWxsb2NhdGUKPiAg ICoKPiAgICovCj4gICNkZWZpbmUgTUFJUihhdHRyLCBtdCkgKF9BQyhhdHRyLCBVTEwpIDw8ICgo bXQpICogOCkpCj4gIAo+IC0jZGVmaW5lIE1BSVJWQUwgKE1BSVIoMHgwMCwgTVRfVU5DQUNIRUQp ICAgICB8IFwKPiAtICAgICAgICAgICAgICAgICBNQUlSKDB4NDQsIE1UX0JVRkZFUkFCTEUpICAg fCBcCj4gLSAgICAgICAgICAgICAgICAgTUFJUigweGFhLCBNVF9XUklURVRIUk9VR0gpIHwgXAo+ IC0gICAgICAgICAgICAgICAgIE1BSVIoMHhlZSwgTVRfV1JJVEVCQUNLKSAgICB8IFwKPiAtICAg ICAgICAgICAgICAgICBNQUlSKDB4MDQsIE1UX0RFVl9TSEFSRUQpICAgfCBcCj4gLSAgICAgICAg ICAgICAgICAgTUFJUigweGZmLCBNVF9XUklURUFMTE9DKSkKPiArI2RlZmluZSBNQUlSVkFMIChN QUlSKDB4MDAsIE1UX0RFVklDRV9uR25SbkUpfCBcCj4gKyAgICAgICAgICAgICAgICAgTUFJUigw eDQ0LCBNVF9OT1JNQUxfTkMpICAgIHwgXAo+ICsgICAgICAgICAgICAgICAgIE1BSVIoMHhhYSwg TVRfTk9STUFMX1dUKSAgICB8IFwKPiArICAgICAgICAgICAgICAgICBNQUlSKDB4ZWUsIE1UX05P Uk1BTF9XQikgICAgfCBcCj4gKyAgICAgICAgICAgICAgICAgTUFJUigweDA0LCBNVF9ERVZJQ0Vf bkduUkUpIHwgXAo+ICsgICAgICAgICAgICAgICAgIE1BSVIoMHhmZiwgTVRfTk9STUFMKSkKPiAg Cj4gICNkZWZpbmUgTUFJUjBWQUwgKE1BSVJWQUwgJiAweGZmZmZmZmZmKQo+ICAjZGVmaW5lIE1B SVIxVkFMIChNQUlSVkFMID4+IDMyKQo+ICAKPiAtI2RlZmluZSBQQUdFX0hZUEVSVklTT1IgICAg ICAgICAoTVRfV1JJVEVBTExPQykKPiAtI2RlZmluZSBQQUdFX0hZUEVSVklTT1JfTk9DQUNIRSAo TVRfREVWX1NIQVJFRCkKPiAtI2RlZmluZSBQQUdFX0hZUEVSVklTT1JfV0MgICAgICAoTVRfQlVG RkVSQUJMRSkKPiArI2RlZmluZSBQQUdFX0hZUEVSVklTT1IgICAgICAgICAoTVRfTk9STUFMKQo+ ICsjZGVmaW5lIFBBR0VfSFlQRVJWSVNPUl9OT0NBQ0hFIChNVF9ERVZJQ0VfbkduUkUpCj4gKyNk ZWZpbmUgUEFHRV9IWVBFUlZJU09SX1dDICAgICAgKE1UX05PUk1BTF9OQykKPiAgCj4gIC8qCj4g ICAqIERlZmluZXMgZm9yIGNoYW5naW5nIHRoZSBoeXBlcnZpc29yIFBURSAucm8gYW5kIC5ueCBi aXRzLiBUaGlzIGlzIG9ubHkgdG8gYmUKPiAKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fClhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3Rz Lnhlbi5vcmcKaHR0cHM6Ly9saXN0cy54ZW4ub3JnL3hlbi1kZXZlbAo=