From mboxrd@z Thu Jan 1 00:00:00 1970 From: Volodymyr Babchuk Subject: Re: [PATCH v4 08/11] arm: PSCI: use definitions provided by asm/smccc.h Date: Fri, 25 Aug 2017 14:00:21 +0300 Message-ID: References: <1503347275-13039-1-git-send-email-volodymyr_babchuk@epam.com> <1503347275-13039-9-git-send-email-volodymyr_babchuk@epam.com> <2b9cc492-3411-34e7-0456-7df193e9ba52@arm.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <2b9cc492-3411-34e7-0456-7df193e9ba52@arm.com> Content-Language: en-US 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: "Edgar E . Iglesias" , Stefano Stabellini List-Id: xen-devel@lists.xenproject.org SGksCgpPbiAyNC4wOC4xNyAyMDoyMiwgSnVsaWVuIEdyYWxsIHdyb3RlOgo+IEhpIFZvbG9keW15 ciwKPiAKPiBPbiAyMS8wOC8xNyAyMToyNywgVm9sb2R5bXlyIEJhYmNodWsgd3JvdGU6Cj4+IHNt Y2NjLmggcHJvdmlkZXMgZGVmaW5pdGlvbnMgdG8gY29uc3RydWN0IFNNQyBjYWxsIGZ1bmN0aW9u IG51bWJlciAKPj4gYWNjb3JkaW5nCj4+IHRvIFNNQ0NDLiBXZSBkb24ndCBuZWVkIG11bHRpcGxl IGRlZmluaXRpb25zIGZvciBvbmUgdGhpbmcsIGFuZCAKPj4gZGVmaW5pdGlvbnMKPj4gaW4gc21j Y2MuaCBhcmUgbW9yZSBnZW5lcmljIHRoYW4gb25lcyB1c2VkIGluIHBzY2kuaC4KPj4KPj4gU28g cHNjaS5oIHdpbGwgb25seSBwcm92aWRlIGZ1bmN0aW9uIGNvZGVzLCB3aGlsZSB3aG9sZSBTTUMg ZnVuY3Rpb24KPj4gaWRlbnRpZmllciB3aWxsIGJlIGNvbnN0cnVjdGVkIHVzaW5nIGdlbmVyaWMg bWFjcm9zIGZyb20gc21jY2MuaC4KPj4KPj4gUFNDSV8wXzJfRk5feHh4IHdhcyBkZWxpYmVyYXRl bHkgcmVuYW1lZCB0byBQU0NJXzBfMl9GVU5DX3h4eCwgYmVjYXVzZSAKPj4gdGhpcwo+PiBpcyBh IG5ldyBlbnRpdHkuIEl0IGNhbiBsZWFkIHRvIHByb2JsZW1zLCBpZiB3ZSdsbCBqdXN0IGNoYW5n ZSB2YWx1ZSBvZgo+PiBQU0NJXzBfMl9GTl94eHggd2l0aG91dCByZW5hbWluZyBpdC4KPiAKPiBJ IGRvbid0IHRoaW5rICJuZXcgZW50aXR5IiBpcyBhIGdvb2QgcmVhc29uIHRvIHJlbmFtZSB0aGVt LiBBbmQgdGhlIAo+IHByZXZpb3VzIG5hbWluZyB3YXMga2luZCBvZiBuaWNlIHRvIHJlYWQuIE1v cmUgdGhhdCB5b3Ugc3RpbGwgdXNlIAo+IFBTQ0lfMF8yX0ZOezMyLDY0fS4gV2Ugc2hvdWxkIGRl ZmluaXRlbHkgc3RheSBjb25zaXN0ZW50IGluIG5hbWluZy4KPiAKPiBTbyB3aGF0IGlzIHRoZSBl eGFjdCBwcm9ibGVtPyBJcyBpdCBiZWNhdXNlIHlvdSBhcmUgd29ycnkgdG8gbWlzcyBzb21lIAo+ IG9mIHRoZW0/CkFjdHVhbGx5IHllcy4gVGhhdCBoZWxwZWQgbWUgdG8gZmluZCByZWZlcmVuY2Vz IHRvIFBTQ0kgY29kZSBpbiBzZWF0dGxlLmMKCj4+Cj4+IFRoaXMgY2hhbmdlIGFsc28gYWZmZWN0 cyB2c21jLmMgYW5kIHNlYXR0bGUuYywgYmVjYXVzZSB0aGV5IGJvdGggdXNlIFBTQ0kKPj4gZnVu Y3Rpb24gbnVtYmVycy4KPiAKPiBUaGlzIHBhcmFncmFwaCBjb3VsZCBiZSBkcm9wcGVkLgo+IAo+ Pgo+PiBTaWduZWQtb2ZmLWJ5OiBWb2xvZHlteXIgQmFiY2h1ayA8dm9sb2R5bXlyX2JhYmNodWtA ZXBhbS5jb20+Cj4+IC0tLQo+Pgo+PiAgKiBSZXdvcmtlZCBkZWZpbml0aW9ucyB0byBtaW5pbWl6 ZSB0aGVpciBsZW5naHQKPj4gICogRGVzY3JpYmVkIHdoeSBJIHJlcGxhY2VkIFBTQ0lfMF8yX0ZO X3h4eCB3aXRoIFBTQ0lfMF8yX0ZVTkNfeHh4Cj4+Cj4+IC0tLQo+PiAgeGVuL2FyY2gvYXJtL3Bs YXRmb3Jtcy9zZWF0dGxlLmMgfCAgNSArKystLQo+PiAgeGVuL2FyY2gvYXJtL3BzY2kuYyAgICAg ICAgICAgICAgfCAxMCArKysrLS0tLS0KPj4gIHhlbi9hcmNoL2FybS92c21jLmMgICAgICAgICAg ICAgIHwgMjQgKysrKysrKysrKystLS0tLS0tLS0tLQo+PiAgeGVuL2luY2x1ZGUvYXNtLWFybS9w c2NpLmggICAgICAgfCA0NCAKPj4gKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tLS0t LS0tLQo+PiAgNCBmaWxlcyBjaGFuZ2VkLCA0MCBpbnNlcnRpb25zKCspLCA0MyBkZWxldGlvbnMo LSkKPj4KPj4gZGlmZiAtLWdpdCBhL3hlbi9hcmNoL2FybS9wbGF0Zm9ybXMvc2VhdHRsZS5jIAo+ PiBiL3hlbi9hcmNoL2FybS9wbGF0Zm9ybXMvc2VhdHRsZS5jCj4+IGluZGV4IDg2ZGNlOTEuLmZi MmFkMTMgMTAwNjQ0Cj4+IC0tLSBhL3hlbi9hcmNoL2FybS9wbGF0Zm9ybXMvc2VhdHRsZS5jCj4+ ICsrKyBiL3hlbi9hcmNoL2FybS9wbGF0Zm9ybXMvc2VhdHRsZS5jCj4+IEBAIC0xOSw2ICsxOSw3 IEBACj4+Cj4+ICAjaW5jbHVkZSA8YXNtL3BsYXRmb3JtLmg+Cj4+ICAjaW5jbHVkZSA8YXNtL3Bz Y2kuaD4KPj4gKyNpbmNsdWRlIDxhc20vdnNtYy5oPgo+IAo+IEFnYWluLCB2c21jLmggc3RhbmRz IGZvciAidmlydHVhbCBTTUMiLiBIZXJlIHlvdSB1c2UgZm9yIHRoZSAicGh5c2ljYWwgCj4gU01D Ii4gU28gcGxlYXNlIGRvbid0IGluY2x1ZGUgdnNtYy5oIGhlcmUuCj4gCj4+Cj4+ICBzdGF0aWMg Y29uc3QgY2hhciAqIGNvbnN0IHNlYXR0bGVfZHRfY29tcGF0W10gX19pbml0Y29uc3QgPQo+PiAg ewo+PiBAQCAtMzMsMTIgKzM0LDEyIEBAIHN0YXRpYyBjb25zdCBjaGFyICogY29uc3Qgc2VhdHRs ZV9kdF9jb21wYXRbXSAKPj4gX19pbml0Y29uc3QgPQo+PiAgICovCj4+ICBzdGF0aWMgdm9pZCBz ZWF0dGxlX3N5c3RlbV9yZXNldCh2b2lkKQo+PiAgewo+PiAtICAgIGNhbGxfc21jKFBTQ0lfMF8y X0ZOX1NZU1RFTV9SRVNFVCwgMCwgMCwgMCk7Cj4+ICsgICAgY2FsbF9zbWMoUFNDSV8wXzJfRk4z MihTWVNURU1fUkVTRVQpLCAwLCAwLCAwKTsKPj4gIH0KPj4KPj4gIHN0YXRpYyB2b2lkIHNlYXR0 bGVfc3lzdGVtX29mZih2b2lkKQo+PiAgewo+PiAtICAgIGNhbGxfc21jKFBTQ0lfMF8yX0ZOX1NZ U1RFTV9PRkYsIDAsIDAsIDApOwo+PiArICAgIGNhbGxfc21jKFBTQ0lfMF8yX0ZOMzIoU1lTVEVN X09GRiksIDAsIDAsIDApOwo+PiAgfQo+Pgo+PiAgUExBVEZPUk1fU1RBUlQoc2VhdHRsZSwgIlNF QVRUTEUiKQo+PiBkaWZmIC0tZ2l0IGEveGVuL2FyY2gvYXJtL3BzY2kuYyBiL3hlbi9hcmNoL2Fy bS9wc2NpLmMKPj4gaW5kZXggMzRlZTk3ZS4uNjQ1ZmU1OCAxMDA2NDQKPj4gLS0tIGEveGVuL2Fy Y2gvYXJtL3BzY2kuYwo+PiArKysgYi94ZW4vYXJjaC9hcm0vcHNjaS5jCj4+IEBAIC0zMSw5ICsz MSw5IEBACj4+ICAgKiAobmF0aXZlLXdpZHRoKSBmdW5jdGlvbiBJRC4KPj4gICAqLwo+PiAgI2lm ZGVmIENPTkZJR19BUk1fNjQKPj4gLSNkZWZpbmUgUFNDSV8wXzJfRk5fTkFUSVZFKG5hbWUpICAg IFBTQ0lfMF8yX0ZONjRfIyNuYW1lCj4+ICsjZGVmaW5lIFBTQ0lfMF8yX0ZOX05BVElWRShuYW1l KSAgIFBTQ0lfMF8yX0ZONjQobmFtZSkKPj4gICNlbHNlCj4+IC0jZGVmaW5lIFBTQ0lfMF8yX0ZO X05BVElWRShuYW1lKSAgICBQU0NJXzBfMl9GTl8jI25hbWUKPj4gKyNkZWZpbmUgUFNDSV8wXzJf Rk5fTkFUSVZFKG5hbWUpICAgUFNDSV8wXzJfRk4zMihuYW1lKQo+PiAgI2VuZGlmCj4+Cj4+ICB1 aW50MzJfdCBwc2NpX3ZlcjsKPj4gQEAgLTQ4LDEzICs0OCwxMyBAQCBpbnQgY2FsbF9wc2NpX2Nw dV9vbihpbnQgY3B1KQo+PiAgdm9pZCBjYWxsX3BzY2lfc3lzdGVtX29mZih2b2lkKQo+PiAgewo+ PiAgICAgIGlmICggcHNjaV92ZXIgPiBQU0NJX1ZFUlNJT04oMCwgMSkgKQo+PiAtICAgICAgICBj YWxsX3NtYyhQU0NJXzBfMl9GTl9TWVNURU1fT0ZGLCAwLCAwLCAwKTsKPj4gKyAgICAgICAgY2Fs bF9zbWMoUFNDSV8wXzJfRk4zMihTWVNURU1fT0ZGKSwgMCwgMCwgMCk7Cj4+ICB9Cj4+Cj4+ICB2 b2lkIGNhbGxfcHNjaV9zeXN0ZW1fcmVzZXQodm9pZCkKPj4gIHsKPj4gICAgICBpZiAoIHBzY2lf dmVyID4gUFNDSV9WRVJTSU9OKDAsIDEpICkKPj4gLSAgICAgICAgY2FsbF9zbWMoUFNDSV8wXzJf Rk5fU1lTVEVNX1JFU0VULCAwLCAwLCAwKTsKPj4gKyAgICAgICAgY2FsbF9zbWMoUFNDSV8wXzJf Rk4zMihTWVNURU1fUkVTRVQpLCAwLCAwLCAwKTsKPj4gIH0KPj4KPj4gIGludCBfX2luaXQgcHNj aV9pc19zbWNfbWV0aG9kKGNvbnN0IHN0cnVjdCBkdF9kZXZpY2Vfbm9kZSAqcHNjaSkKPj4gQEAg LTE0NCw3ICsxNDQsNyBAQCBpbnQgX19pbml0IHBzY2lfaW5pdF8wXzIodm9pZCkKPj4gICAgICAg ICAgfQo+PiAgICAgIH0KPj4KPj4gLSAgICBwc2NpX3ZlciA9IGNhbGxfc21jKFBTQ0lfMF8yX0ZO X1BTQ0lfVkVSU0lPTiwgMCwgMCwgMCk7Cj4+ICsgICAgcHNjaV92ZXIgPSBjYWxsX3NtYyhQU0NJ XzBfMl9GTjMyKFBTQ0lfVkVSU0lPTiksIDAsIDAsIDApOwo+Pgo+PiAgICAgIC8qIEZvciB0aGUg bW9tZW50LCB3ZSBvbmx5IHN1cHBvcnQgUFNDSSAwLjIgYW5kIFBTQ0kgMS54ICovCj4+ICAgICAg aWYgKCBwc2NpX3ZlciAhPSBQU0NJX1ZFUlNJT04oMCwgMikgJiYgCj4+IFBTQ0lfVkVSU0lPTl9N QUpPUihwc2NpX3ZlcikgIT0gMSApCj4+IGRpZmYgLS1naXQgYS94ZW4vYXJjaC9hcm0vdnNtYy5j IGIveGVuL2FyY2gvYXJtL3ZzbWMuYwo+PiBpbmRleCA5NTZkNGVmLi40NmEyZmRlIDEwMDY0NAo+ PiAtLS0gYS94ZW4vYXJjaC9hcm0vdnNtYy5jCj4+ICsrKyBiL3hlbi9hcmNoL2FybS92c21jLmMK Pj4gQEAgLTEwMiw3ICsxMDIsNyBAQCBzdGF0aWMgYm9vbCBoYW5kbGVfcHNjaV8wX3goc3RydWN0 IGNwdV91c2VyX3JlZ3MgCj4+ICpyZWdzKQo+PiAgLyogaGVscGVyIGZ1bmN0aW9uIGZvciBjaGVj a2luZyBhcm0gbW9kZSAzMi82NCBiaXQgKi8KPj4gIHN0YXRpYyBpbmxpbmUgaW50IHBzY2lfbW9k ZV9jaGVjayhzdHJ1Y3QgZG9tYWluICpkLCByZWdpc3Rlcl90IGZpZCkKPj4gIHsKPj4gLSAgICBy ZXR1cm4gISggaXNfNjRiaXRfZG9tYWluKGQpXiggKGZpZCAmIFBTQ0lfMF8yXzY0QklUKSA+PiAz MCApICk7Cj4+ICsgICAgcmV0dXJuIGlzXzY0Yml0X2RvbWFpbihkKSB8fCAhQVJNX1NNQ0NDX0lT XzY0KGZpZCk7Cj4gCj4gSSBkb24ndCBzZWUgYW55IHJlYXNvbiB0byBkbyB0aGUgcmVuYW1pbmcg aW4gcHNjaV9tb2RlX2NoZWNrIGdpdmVuIHRoYXQgCj4geW91IHdpbGwgcmVtb3ZlIHRoaXMgZnVu Y3Rpb24gaW4gdGhlIG5leHQgcGF0Y2guClllcCwgYnV0IGluIGNvbW1lbnRzIGZvciB0aGUgcHJl dmlvdXMgc2VyaWVzIHlvdSBhc2tlZCBtZSB0byBtYWtlIHRoaXMgY29kZQplYXNpZXIgdG8gcmVh ZCA6KQpQU0NJXzBfMl82NEJJVCBpcyBkcm9wcGVkIG5vdywgc28gSSBoYWQgdG8gdXNlIGxvbmcg ZGVmaW5pdGlvbnMgZnJvbSBzbWNjYy5oCgo+PiAgfQo+Pgo+PiAgLyogUFNDSSAwLjIgaW50ZXJm YWNlIGFuZCBvdGhlciBTdGFuZGFyZCBTZWN1cmUgQ2FsbHMgKi8KPj4gQEAgLTExMiwzNCArMTEy LDM0IEBAIHN0YXRpYyBib29sIGhhbmRsZV9zc3NjKHN0cnVjdCBjcHVfdXNlcl9yZWdzICpyZWdz KQo+Pgo+PiAgICAgIHN3aXRjaCAoIEFSTV9TTUNDQ19GVU5DX05VTShmaWQpICkKPj4gICAgICB7 Cj4+IC0gICAgY2FzZSBBUk1fU01DQ0NfRlVOQ19OVU0oUFNDSV8wXzJfRk5fUFNDSV9WRVJTSU9O KToKPj4gKyAgICBjYXNlIFBTQ0lfMF8yX0ZVTkNfUFNDSV9WRVJTSU9OOgo+PiAgICAgICAgICBw ZXJmY19pbmNyKHZwc2NpX3ZlcnNpb24pOwo+PiAgICAgICAgICBQU0NJX1NFVF9SRVNVTFQocmVn cywgZG9fcHNjaV8wXzJfdmVyc2lvbigpKTsKPj4gICAgICAgICAgcmV0dXJuIHRydWU7Cj4+IC0g ICAgY2FzZSBBUk1fU01DQ0NfRlVOQ19OVU0oUFNDSV8wXzJfRk5fQ1BVX09GRik6Cj4+ICsgICAg Y2FzZSBQU0NJXzBfMl9GVU5DX0NQVV9PRkY6Cj4+ICAgICAgICAgIHBlcmZjX2luY3IodnBzY2lf Y3B1X29mZik7Cj4+ICAgICAgICAgIFBTQ0lfU0VUX1JFU1VMVChyZWdzLCBkb19wc2NpXzBfMl9j cHVfb2ZmKCkpOwo+PiAgICAgICAgICByZXR1cm4gdHJ1ZTsKPj4gLSAgICBjYXNlIEFSTV9TTUND Q19GVU5DX05VTShQU0NJXzBfMl9GTl9NSUdSQVRFX0lORk9fVFlQRSk6Cj4+ICsgICAgY2FzZSBQ U0NJXzBfMl9GVU5DX01JR1JBVEVfSU5GT19UWVBFOgo+PiAgICAgICAgICBwZXJmY19pbmNyKHZw c2NpX21pZ3JhdGVfaW5mb190eXBlKTsKPj4gICAgICAgICAgUFNDSV9TRVRfUkVTVUxUKHJlZ3Ms IGRvX3BzY2lfMF8yX21pZ3JhdGVfaW5mb190eXBlKCkpOwo+PiAgICAgICAgICByZXR1cm4gdHJ1 ZTsKPj4gLSAgICBjYXNlIEFSTV9TTUNDQ19GVU5DX05VTShQU0NJXzBfMl9GTl9NSUdSQVRFX0lO Rk9fVVBfQ1BVKToKPj4gKyAgICBjYXNlIFBTQ0lfMF8yX0ZVTkNfTUlHUkFURV9JTkZPX1VQX0NQ VToKPj4gICAgICAgICAgcGVyZmNfaW5jcih2cHNjaV9taWdyYXRlX2luZm9fdXBfY3B1KTsKPj4g ICAgICAgICAgaWYgKCBwc2NpX21vZGVfY2hlY2soY3VycmVudC0+ZG9tYWluLCBmaWQpICkKPj4g ICAgICAgICAgICAgIFBTQ0lfU0VUX1JFU1VMVChyZWdzLCBkb19wc2NpXzBfMl9taWdyYXRlX2lu Zm9fdXBfY3B1KCkpOwo+PiAgICAgICAgICByZXR1cm4gdHJ1ZTsKPj4gLSAgICBjYXNlIEFSTV9T TUNDQ19GVU5DX05VTShQU0NJXzBfMl9GTl9TWVNURU1fT0ZGKToKPj4gKyAgICBjYXNlIFBTQ0lf MF8yX0ZVTkNfU1lTVEVNX09GRjoKPj4gICAgICAgICAgcGVyZmNfaW5jcih2cHNjaV9zeXN0ZW1f b2ZmKTsKPj4gICAgICAgICAgZG9fcHNjaV8wXzJfc3lzdGVtX29mZigpOwo+PiAgICAgICAgICBQ U0NJX1NFVF9SRVNVTFQocmVncywgUFNDSV9JTlRFUk5BTF9GQUlMVVJFKTsKPj4gLSAgICAgICAg cmV0dXJuIHRydWU7Cj4+IC0gICAgY2FzZSBBUk1fU01DQ0NfRlVOQ19OVU0oUFNDSV8wXzJfRk5f U1lTVEVNX1JFU0VUKToKPj4gKyAgICAgICByZXR1cm4gdHJ1ZTsKPj4gKyAgICBjYXNlIFBTQ0lf MF8yX0ZVTkNfU1lTVEVNX1JFU0VUOgo+PiAgICAgICAgICBwZXJmY19pbmNyKHZwc2NpX3N5c3Rl bV9yZXNldCk7Cj4+ICAgICAgICAgIGRvX3BzY2lfMF8yX3N5c3RlbV9yZXNldCgpOwo+PiAgICAg ICAgICBQU0NJX1NFVF9SRVNVTFQocmVncywgUFNDSV9JTlRFUk5BTF9GQUlMVVJFKTsKPj4gICAg ICAgICAgcmV0dXJuIHRydWU7Cj4+IC0gICAgY2FzZSBBUk1fU01DQ0NfRlVOQ19OVU0oUFNDSV8w XzJfRk5fQ1BVX09OKToKPj4gKyAgICBjYXNlIFBTQ0lfMF8yX0ZVTkNfQ1BVX09OOgo+PiAgICAg ICAgICBwZXJmY19pbmNyKHZwc2NpX2NwdV9vbik7Cj4+ICAgICAgICAgIGlmICggcHNjaV9tb2Rl X2NoZWNrKGN1cnJlbnQtPmRvbWFpbiwgZmlkKSApCj4+ICAgICAgICAgIHsKPj4gQEAgLTE0OSw3 ICsxNDksNyBAQCBzdGF0aWMgYm9vbCBoYW5kbGVfc3NzYyhzdHJ1Y3QgY3B1X3VzZXJfcmVncyAq cmVncykKPj4gICAgICAgICAgICAgIFBTQ0lfU0VUX1JFU1VMVChyZWdzLCBkb19wc2NpXzBfMl9j cHVfb24odmNwdWlkLCBlcG9pbnQsIAo+PiBjaWQpKTsKPj4gICAgICAgICAgfQo+PiAgICAgICAg ICByZXR1cm4gdHJ1ZTsKPj4gLSAgICBjYXNlIEFSTV9TTUNDQ19GVU5DX05VTShQU0NJXzBfMl9G Tl9DUFVfU1VTUEVORCk6Cj4+ICsgICAgY2FzZSBQU0NJXzBfMl9GVU5DX0NQVV9TVVNQRU5EOgo+ PiAgICAgICAgICBwZXJmY19pbmNyKHZwc2NpX2NwdV9zdXNwZW5kKTsKPj4gICAgICAgICAgaWYg KCBwc2NpX21vZGVfY2hlY2soY3VycmVudC0+ZG9tYWluLCBmaWQpICkKPj4gICAgICAgICAgewo+ PiBAQCAtMTU5LDcgKzE1OSw3IEBAIHN0YXRpYyBib29sIGhhbmRsZV9zc3NjKHN0cnVjdCBjcHVf dXNlcl9yZWdzICpyZWdzKQo+PiAgICAgICAgICAgICAgUFNDSV9TRVRfUkVTVUxUKHJlZ3MsIGRv X3BzY2lfMF8yX2NwdV9zdXNwZW5kKHBzdGF0ZSwgCj4+IGVwb2ludCwgY2lkKSk7Cj4+ICAgICAg ICAgIH0KPj4gICAgICAgICAgcmV0dXJuIHRydWU7Cj4+IC0gICAgY2FzZSBBUk1fU01DQ0NfRlVO Q19OVU0oUFNDSV8wXzJfRk5fQUZGSU5JVFlfSU5GTyk6Cj4+ICsgICAgY2FzZSBQU0NJXzBfMl9G VU5DX0FGRklOSVRZX0lORk86Cj4+ICAgICAgICAgIHBlcmZjX2luY3IodnBzY2lfY3B1X2FmZmlu aXR5X2luZm8pOwo+PiAgICAgICAgICBpZiAoIHBzY2lfbW9kZV9jaGVjayhjdXJyZW50LT5kb21h aW4sIGZpZCkgKQo+PiAgICAgICAgICB7Cj4+IEBAIC0xNjgsNyArMTY4LDcgQEAgc3RhdGljIGJv b2wgaGFuZGxlX3Nzc2Moc3RydWN0IGNwdV91c2VyX3JlZ3MgKnJlZ3MpCj4+ICAgICAgICAgICAg ICBQU0NJX1NFVF9SRVNVTFQocmVncywgZG9fcHNjaV8wXzJfYWZmaW5pdHlfaW5mbyh0YWZmLCAK Pj4gbGFmZikpOwo+PiAgICAgICAgICB9Cj4+ICAgICAgICAgIHJldHVybiB0cnVlOwo+PiAtICAg IGNhc2UgQVJNX1NNQ0NDX0ZVTkNfTlVNKFBTQ0lfMF8yX0ZOX01JR1JBVEUpOgo+PiArICAgIGNh c2UgUFNDSV8wXzJfRlVOQ19NSUdSQVRFOgo+PiAgICAgICAgICBwZXJmY19pbmNyKHZwc2NpX2Nw dV9taWdyYXRlKTsKPj4gICAgICAgICAgaWYgKCBwc2NpX21vZGVfY2hlY2soY3VycmVudC0+ZG9t YWluLCBmaWQpICkKPj4gICAgICAgICAgewo+PiBkaWZmIC0tZ2l0IGEveGVuL2luY2x1ZGUvYXNt LWFybS9wc2NpLmggYi94ZW4vaW5jbHVkZS9hc20tYXJtL3BzY2kuaAo+PiBpbmRleCBiZTI0NThh Li4xNGZiOThmIDEwMDY0NAo+PiAtLS0gYS94ZW4vaW5jbHVkZS9hc20tYXJtL3BzY2kuaAo+PiAr KysgYi94ZW4vaW5jbHVkZS9hc20tYXJtL3BzY2kuaAo+PiBAQCAtMSw2ICsxLDggQEAKPj4gICNp Zm5kZWYgX19BU01fUFNDSV9IX18KPj4gICNkZWZpbmUgX19BU01fUFNDSV9IX18KPj4KPj4gKyNp bmNsdWRlIDxhc20vc21jY2MuaD4KPj4gKwo+PiAgLyogUFNDSSByZXR1cm4gdmFsdWVzIChpbmNs dXNpdmUgb2YgYWxsIFBTQ0kgdmVyc2lvbnMpICovCj4+ICAjZGVmaW5lIFBTQ0lfU1VDQ0VTUyAg ICAgICAgICAgICAgICAgMAo+PiAgI2RlZmluZSBQU0NJX05PVF9TVVBQT1JURUQgICAgICAgICAg LTEKPj4gQEAgLTQxLDMwICs0MywyNCBAQCByZWdpc3Rlcl90IGRvX3BzY2lfMF8yX21pZ3JhdGVf aW5mb191cF9jcHUodm9pZCk7Cj4+ICB2b2lkIGRvX3BzY2lfMF8yX3N5c3RlbV9vZmYodm9pZCk7 Cj4+ICB2b2lkIGRvX3BzY2lfMF8yX3N5c3RlbV9yZXNldCh2b2lkKTsKPj4KPj4gLS8qIFBTQ0kg djAuMiBpbnRlcmZhY2UgKi8KPiAKPiBXaHkgZGlkIHlvdSBkcm9wIHRoaXMgY29tbWVudD8KPiAK Pj4gLSNkZWZpbmUgUFNDSV8wXzJfRk5fQkFTRSAgICAgICAgMHg4NDAwMDAwMAo+PiAtI2RlZmlu ZSBQU0NJXzBfMl9GTihuKSAgICAgICAgICAoUFNDSV8wXzJfRk5fQkFTRSArIChuKSkKPj4gLSNk ZWZpbmUgUFNDSV8wXzJfNjRCSVQgICAgICAgICAgMHg0MDAwMDAwMAo+PiAtI2RlZmluZSBQU0NJ XzBfMl9GTjY0X0JBU0UgICAgICBcCj4+IC0gICAgICAgICAgICAgICAgICAgICAgICAoUFNDSV8w XzJfRk5fQkFTRSArIFBTQ0lfMF8yXzY0QklUKQo+PiAtI2RlZmluZSBQU0NJXzBfMl9GTjY0KG4p ICAgICAgICAoUFNDSV8wXzJfRk42NF9CQVNFICsgKG4pKQo+PiAtCj4+IC0jZGVmaW5lIFBTQ0lf MF8yX0ZOX1BTQ0lfVkVSU0lPTiAgICAgICAgUFNDSV8wXzJfRk4oMCkKPj4gLSNkZWZpbmUgUFND SV8wXzJfRk5fQ1BVX1NVU1BFTkQgICAgICAgICBQU0NJXzBfMl9GTigxKQo+PiAtI2RlZmluZSBQ U0NJXzBfMl9GTl9DUFVfT0ZGICAgICAgICAgICAgIFBTQ0lfMF8yX0ZOKDIpCj4+IC0jZGVmaW5l IFBTQ0lfMF8yX0ZOX0NQVV9PTiAgICAgICAgICAgICAgUFNDSV8wXzJfRk4oMykKPj4gLSNkZWZp bmUgUFNDSV8wXzJfRk5fQUZGSU5JVFlfSU5GTyAgICAgICBQU0NJXzBfMl9GTig0KQo+PiAtI2Rl ZmluZSBQU0NJXzBfMl9GTl9NSUdSQVRFICAgICAgICAgICAgIFBTQ0lfMF8yX0ZOKDUpCj4+IC0j ZGVmaW5lIFBTQ0lfMF8yX0ZOX01JR1JBVEVfSU5GT19UWVBFICAgUFNDSV8wXzJfRk4oNikKPj4g LSNkZWZpbmUgUFNDSV8wXzJfRk5fTUlHUkFURV9JTkZPX1VQX0NQVSBQU0NJXzBfMl9GTig3KQo+ PiAtI2RlZmluZSBQU0NJXzBfMl9GTl9TWVNURU1fT0ZGICAgICAgICAgIFBTQ0lfMF8yX0ZOKDgp Cj4+IC0jZGVmaW5lIFBTQ0lfMF8yX0ZOX1NZU1RFTV9SRVNFVCAgICAgICAgUFNDSV8wXzJfRk4o OSkKPj4gLQo+PiAtI2RlZmluZSBQU0NJXzBfMl9GTjY0X0NQVV9TVVNQRU5EICAgICAgIFBTQ0lf MF8yX0ZONjQoMSkKPj4gLSNkZWZpbmUgUFNDSV8wXzJfRk42NF9DUFVfT04gICAgICAgICAgICBQ U0NJXzBfMl9GTjY0KDMpCj4+IC0jZGVmaW5lIFBTQ0lfMF8yX0ZONjRfQUZGSU5JVFlfSU5GTyAg ICAgUFNDSV8wXzJfRk42NCg0KQo+PiAtI2RlZmluZSBQU0NJXzBfMl9GTjY0X01JR1JBVEUgICAg ICAgICAgIFBTQ0lfMF8yX0ZONjQoNSkKPj4gLSNkZWZpbmUgUFNDSV8wXzJfRk42NF9NSUdSQVRF X0lORk9fVVBfQ1BVICAgUFNDSV8wXzJfRk42NCg3KQo+PiArI2RlZmluZSBQU0NJXzBfMl9GTjMy KG5hbWUpIAo+PiBBUk1fU01DQ0NfQ0FMTF9WQUwoQVJNX1NNQ0NDX0ZBU1RfQ0FMTCwgICAgICAg ICAgICAgXAo+PiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAK Pj4gQVJNX1NNQ0NDX1NNQ18zMiwgICAgICAgICAgICAgICAgICAgXAo+PiArICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKPj4gQVJNX1NNQ0NDX09XTkVSX1NUQU5E QVJELCAgICAgICAgICAgXAo+PiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBQU0NJXzBfMl9GVU5DXyMjbmFtZSkKPiAKPiBUaGUgaW5kZW50YXRpb24gbG9va3Mg d3JvbmcgaGVyZS4KPiAKPj4gKyNkZWZpbmUgUFNDSV8wXzJfRk42NChuYW1lKSAKPj4gQVJNX1NN Q0NDX0NBTExfVkFMKEFSTV9TTUNDQ19GQVNUX0NBTEwsICAgICAgICAgICAgIFwKPj4gKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCj4+IEFSTV9TTUNDQ19TTUNf NjQsICAgICAgICAgICAgICAgICAgIFwKPj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgCj4+IEFSTV9TTUNDQ19PV05FUl9TVEFOREFSRCwgICAgICAgICAgIFwK Pj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUFNDSV8wXzJf RlVOQ18jI25hbWUpCj4gCj4gCj4gRGl0dG8uCj4gCj4+ICsjZGVmaW5lIFBTQ0lfMF8yX0ZVTkNf UFNDSV9WRVJTSU9OICAgICAgICAwCj4+ICsjZGVmaW5lIFBTQ0lfMF8yX0ZVTkNfQ1BVX1NVU1BF TkQgICAgICAgICAxCj4+ICsjZGVmaW5lIFBTQ0lfMF8yX0ZVTkNfQ1BVX09GRiAgICAgICAgICAg ICAyCj4+ICsjZGVmaW5lIFBTQ0lfMF8yX0ZVTkNfQ1BVX09OICAgICAgICAgICAgICAzCj4+ICsj ZGVmaW5lIFBTQ0lfMF8yX0ZVTkNfQUZGSU5JVFlfSU5GTyAgICAgICA0Cj4+ICsjZGVmaW5lIFBT Q0lfMF8yX0ZVTkNfTUlHUkFURSAgICAgICAgICAgICA1Cj4+ICsjZGVmaW5lIFBTQ0lfMF8yX0ZV TkNfTUlHUkFURV9JTkZPX1RZUEUgICA2Cj4+ICsjZGVmaW5lIFBTQ0lfMF8yX0ZVTkNfTUlHUkFU RV9JTkZPX1VQX0NQVSA3Cj4+ICsjZGVmaW5lIFBTQ0lfMF8yX0ZVTkNfU1lTVEVNX09GRiAgICAg ICAgICA4Cj4+ICsjZGVmaW5lIFBTQ0lfMF8yX0ZVTkNfU1lTVEVNX1JFU0VUICAgICAgICA5Cj4+ Cj4+ICAvKiBQU0NJIHYwLjIgYWZmaW5pdHkgbGV2ZWwgc3RhdGUgcmV0dXJuZWQgYnkgQUZGSU5J VFlfSU5GTyAqLwo+PiAgI2RlZmluZSBQU0NJXzBfMl9BRkZJTklUWV9MRVZFTF9PTiAgICAgIDAK Pj4KPiAKPiBDaGVlcnMsCj4gCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fXwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54ZW4ub3Jn Cmh0dHBzOi8vbGlzdHMueGVuLm9yZy94ZW4tZGV2ZWwK