From mboxrd@z Thu Jan 1 00:00:00 1970 From: Konrad Rzeszutek Wilk Subject: Re: [PATCH v1 6/9] livepatch: Initial ARM64 support. Date: Tue, 16 Aug 2016 22:45:58 -0400 Message-ID: <20160817024552.GA29431@localhost.localdomain> References: <1471216074-3007-1-git-send-email-konrad.wilk@oracle.com> <1471216074-3007-7-git-send-email-konrad.wilk@oracle.com> <57B197BC0200007800105CCA@prv-mh.provo.novell.com> <20160815140934.GE26970@char.us.oracle.com> <57B1EC6D0200007800106011@prv-mh.provo.novell.com> <97cb0b0f-2b8f-bed0-9b2e-788dc97a043a@arm.com> <20160815151743.GN26970@char.us.oracle.com> <814840f8-cf04-b80f-f310-53bf53522f74@arm.com> <8e1149ed-88be-27d6-0d72-a07750ae3615@citrix.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail6.bemta6.messagelabs.com ([193.109.254.103]) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1bZqs2-0004Ub-F0 for xen-devel@lists.xenproject.org; Wed, 17 Aug 2016 02:46:22 +0000 Content-Disposition: inline In-Reply-To: <8e1149ed-88be-27d6-0d72-a07750ae3615@citrix.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: Andrew Cooper Cc: sstabellini@kernel.org, ross.lagerwall@citrix.com, Julien Grall , Jan Beulich , xen-devel@lists.xenproject.org List-Id: xen-devel@lists.xenproject.org T24gTW9uLCBBdWcgMTUsIDIwMTYgYXQgMDQ6Mjc6MTJQTSArMDEwMCwgQW5kcmV3IENvb3BlciB3 cm90ZToKPiBPbiAxNS8wOC8xNiAxNjoyNSwgSnVsaWVuIEdyYWxsIHdyb3RlOgo+ID4KPiA+Cj4g PiBPbiAxNS8wOC8yMDE2IDE3OjE3LCBLb25yYWQgUnplc3p1dGVrIFdpbGsgd3JvdGU6Cj4gPj4g T24gTW9uLCBBdWcgMTUsIDIwMTYgYXQgMDQ6NTc6MjZQTSArMDIwMCwgSnVsaWVuIEdyYWxsIHdy b3RlOgo+ID4+PiBIaSBKYW4gYW5kIEtvbnJhZCwKPiA+Pj4KPiA+Pj4gT24gMTUvMDgvMjAxNiAx NjoyMywgSmFuIEJldWxpY2ggd3JvdGU6Cj4gPj4+Pj4+PiBPbiAxNS4wOC4xNiBhdCAxNjowOSwg PGtvbnJhZC53aWxrQG9yYWNsZS5jb20+IHdyb3RlOgo+ID4+Pj4+IE9uIE1vbiwgQXVnIDE1LCAy MDE2IGF0IDAyOjIxOjQ4QU0gLTA2MDAsIEphbiBCZXVsaWNoIHdyb3RlOgo+ID4+Pj4+Pj4+PiBP biAxNS4wOC4xNiBhdCAwMTowNywgPGtvbnJhZC53aWxrQG9yYWNsZS5jb20+IHdyb3RlOgo+ID4+ Pj4+Pj4gQEAgLTcxMSw5ICs3MTEsMTUgQEAgc3RhdGljIGludCBwcmVwYXJlX3BheWxvYWQoc3Ry dWN0IHBheWxvYWQKPiA+Pj4+Pj4+ICpwYXlsb2FkLAo+ID4+Pj4+Pj4gICAgICAgICAgICAgICAg ICByZXR1cm4gLUVJTlZBTDsKPiA+Pj4+Pj4+ICAgICAgICAgICAgICB9Cj4gPj4+Pj4+PiAgICAg ICAgICB9Cj4gPj4+Pj4+PiArI2lmbmRlZiBDT05GSUdfQVJNCj4gPj4+Pj4+PiAgICAgICAgICBh cHBseV9hbHRlcm5hdGl2ZXNfbm9jaGVjayhzdGFydCwgZW5kKTsKPiA+Pj4+Pj4+ICsjZWxzZQo+ ID4+Pj4+Pj4gKyAgICAgICAgYXBwbHlfYWx0ZXJuYXRpdmVzKHN0YXJ0LCBzZWMtPnNlYy0+c2hf c2l6ZSk7Cj4gPj4+Pj4+PiArI2VuZGlmCj4gPj4+Pj4+Cj4gPj4+Pj4+IENvbmRpdGlvbmFscyBs aWtlIHRoaXMgYXJlIHVnbHkgLSBjYW4ndCB0aGlzIGJlIHByb3Blcmx5IGFic3RyYWN0ZWQ/Cj4g Pj4+Pj4KPiA+Pj4+PiBZZXMsIEkgY2FuIGludHJvZHVjZSBhbiBhcHBseV9hbHRlcm5hdGl2ZXNf bm9jaGVjayBvbiBBUk0gdGhhdCB3aWxsCj4gPj4+Pj4gaGF2YSB0aGUgc2FtZSBzZXQgb2YgYXJn dW1lbnRzIG9uIHg4Ni4KPiA+Pj4+Pgo+ID4+Pj4+IE9yIEkgY2FuIG1ha2UgYSBuZXcgZnVuY3Rp b24gbmFtZT8KPiA+Pj4+Cj4gPj4+PiBFaXRoZXIgd2F5IGlzIGZpbmUgd2l0aCBtZSwgd2l0aCBh IHNsaWdodCBwcmVmZXJlbmNlIHRvIHRoZSBmb3JtZXIKPiA+Pj4+IG9uZS4KPiA+Pj4KPiA+Pj4g SSBhbSBmaW5lIHdpdGggdGhlIHByb3RvdHlwZSBvZiB0aGUgZnVuY3Rpb24KPiA+Pj4gYXBwbHlf YWx0ZXJuYXRpdmVzX25vY2hlY2sgYnV0Cj4gPj4+IEkgZG9uJ3QgdGhpbmsgdGhlIG5hbWUgaXMg cmVsZXZhbnQgZm9yIEFSTS4KPiA+Pj4KPiA+Pj4gSXMgdGhlcmUgYW55IHJlYXNvbiB3ZSBkb24n dCB3YW50IHRvIGNhbGwgZGlyZWN0bHkKPiA+Pj4gYXBwbHlfYWx0ZXJuYXRpdmVzIGluCj4gPj4+ IHg4Nj8KPiA+Pgo+ID4+IEl0IGFzc3VtZXMgKGFuZCBoYXMgYW4gQVNTRVJUKSB0aGF0IGl0IGlz IGNhbGxlZCB3aXRoIGludGVycnVwdHMKPiA+PiBkaXNhYmxlZC4KPiA+PiBBbmQgd2UgZG9uJ3Qg bmVlZCB0byBkbyB0aGF0IChhcyBkdXJpbmcgbGl2ZXBhdGNoIGxvYWRpbmcgd2UgY2FuCj4gPj4g bW9kaWZ5IHRoZQo+ID4+IGxpdmVwYXRjaCBwYXlsb2FkIHdpdGhvdXQgd29ycnlpbmcgYWJvdXQg aW50ZXJydXB0cykuCj4gPgo+ID4gT2gsIGl0IG1ha2VzIG1vcmUgc2Vuc2Ugbm93Lgo+ID4KPiA+ Pgo+ID4+IFAuUy4KPiA+PiBsb2FkaW5nICE9IGFwcGx5aW5nLgo+ID4+Cj4gPj4gSSBjb3VsZCBk byBhIHBhdGNoIHdoZXJlIHdlIHJlbmFtZSAnYXBwbHlfYWx0ZXJuYXRpdmVzJyAtPgo+ID4+ICdh cHBseV9hbHRlcm5hdGl2ZXNfYm9vdCcKPiA+PiBhbmQgJ2FwcGx5X2FsdGVybmF0aXZlc19ub2No ZWNrJyB0byAnYXBwbHlfYWx0ZXJuYXRpdmVzJy4KPiAKPiBUaGUgb25seSByZWFzb24gYXBwbHlf YWx0ZXJuYXRpdmVzKCkgaXMgbmFtZWQgdGh1c2x5IGlzIHRvIG1hdGNoIExpbnV4LiAKPiBJIGFt IG5vdCBmdXNzZWQgaWYgaXQgY2hhbmdlcy4KCldvdWxkIHRoaXMgYmUgT0sgd2l0aCBmb2xrcz8K ClRoZXJlIGlzIGEgYml0IG9mIGRpc3JlcHJhbmN5IC0gQVJNIGhhcyAnY29uc3Qgc3RydWN0IGFs dF9pbnN0ciAqJwp3aGVyZSB0aGUgJ2NvbnN0JyBnZXRzIGRyb3BwZWQgbGF0ZXIgb24uIFRoYXQg Y2FuJ3QgYmUgZG9uZSB4ODYKYXMgJ2FwcGx5X2FsdGVybmF0aXZlcycgYXQgdGhlIGdlY2tvIG1v ZGlmaWVzIHRoZSBzdHJ1Y3R1cmUuCgpUaG91Z2h0cz8gTWFrZSBpdCB0aGUgc2FtZSBvbiBBUk0g YW5kIHg4Nj8KCkZyb20gMmMyNmQ0ZDIxNDkyNmNkMjNiNzNmOThjMWZkYWVjZDk4YjAxMGRhNiBN b24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogS29ucmFkIFJ6ZXN6dXRlayBXaWxrIDxrb25y YWQud2lsa0BvcmFjbGUuY29tPgpEYXRlOiBUdWUsIDE2IEF1ZyAyMDE2IDIyOjIwOjU0IC0wNDAw ClN1YmplY3Q6IFtQQVRDSF0gYWx0ZXJuYXRpdmVzOiB4ODYgcmVuYW1lIGFuZCBjaGFuZ2UgcGFy YW1ldGVycyBvbiBBUk0KCk9uIHg4NiB3ZSByZW5hbWUgJ2FwcGx5X2FsdGVybmF0aXZlcycgLT4g J2FwcGx5X2FsdGVybmF0aXZlc19ib290JwphbmQgJ2FwcGx5X2FsdGVybmF0aXZlc19ub2NoZWNr JyB0byAnYXBwbHlfYWx0ZXJuYXRpdmVzJy4KCk9uIEFSTSB3ZSBjaGFuZ2UgdGhlIHBhcmFtZXRl cnMgZm9yICdhcHBseV9hbHRlcm5hdGl2ZXMnCnRvIGJlIG9mICdjb25zdCBzdHJ1Y3QgYWx0X2lu c3RyIConIGluc3RlYWQgb2Ygdm9pZCBwb2ludGVyIGFuZApzaXplIGxlbmd0aC4KClNpZ25lZC1v ZmYtYnk6IEtvbnJhZCBSemVzenV0ZWsgV2lsayA8a29ucmFkLndpbGtAb3JhY2xlLmNvbT4KCi0t LQpDYzogU3RlZmFubyBTdGFiZWxsaW5pIDxzc3RhYmVsbGluaUBrZXJuZWwub3JnPgpDYzogSnVs aWVuIEdyYWxsIDxqdWxpZW4uZ3JhbGxAYXJtLmNvbT4KQ2M6IEFuZHJldyBDb29wZXIgPGFuZHJl dy5jb29wZXIzQGNpdHJpeC5jb20+CkNjOiBKYW4gQmV1bGljaCA8SkJldWxpY2hAc3VzZS5jb20+ Cgp2My4xOiBGaXJzdCBzdWJtaXNzaW9uLgotLS0KIHhlbi9hcmNoL2FybS9hbHRlcm5hdGl2ZS5j ICAgICAgICB8IDQgKystLQogeGVuL2FyY2gveDg2L2FsdGVybmF0aXZlLmMgICAgICAgIHwgOCAr KysrLS0tLQogeGVuL2NvbW1vbi9saXZlcGF0Y2guYyAgICAgICAgICAgIHwgMiArLQogeGVuL2lu Y2x1ZGUvYXNtLWFybS9hbHRlcm5hdGl2ZS5oIHwgMiArLQogeGVuL2luY2x1ZGUvYXNtLXg4Ni9h bHRlcm5hdGl2ZS5oIHwgNSArKy0tLQogNSBmaWxlcyBjaGFuZ2VkLCAxMCBpbnNlcnRpb25zKCsp LCAxMSBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS94ZW4vYXJjaC9hcm0vYWx0ZXJuYXRpdmUu YyBiL3hlbi9hcmNoL2FybS9hbHRlcm5hdGl2ZS5jCmluZGV4IGJmNDEwMWMuLmFiYTA2ZGIgMTAw NjQ0Ci0tLSBhL3hlbi9hcmNoL2FybS9hbHRlcm5hdGl2ZS5jCisrKyBiL3hlbi9hcmNoL2FybS9h bHRlcm5hdGl2ZS5jCkBAIC0yMDAsMTEgKzIwMCwxMSBAQCB2b2lkIF9faW5pdCBhcHBseV9hbHRl cm5hdGl2ZXNfYWxsKHZvaWQpCiAgICAgQlVHX09OKHJldCk7CiB9CiAKLWludCBhcHBseV9hbHRl cm5hdGl2ZXModm9pZCAqc3RhcnQsIHNpemVfdCBsZW5ndGgpCitpbnQgYXBwbHlfYWx0ZXJuYXRp dmVzKGNvbnN0IHN0cnVjdCBhbHRfaW5zdHIgKnN0YXJ0LCBjb25zdCBzdHJ1Y3QgYWx0X2luc3Ry ICplbmQpCiB7CiAgICAgY29uc3Qgc3RydWN0IGFsdF9yZWdpb24gcmVnaW9uID0gewogICAgICAg ICAuYmVnaW4gPSBzdGFydCwKLSAgICAgICAgLmVuZCA9IHN0YXJ0ICsgbGVuZ3RoLAorICAgICAg ICAuZW5kID0gZW5kLAogICAgIH07CiAKICAgICByZXR1cm4gX19hcHBseV9hbHRlcm5hdGl2ZXMo JnJlZ2lvbik7CmRpZmYgLS1naXQgYS94ZW4vYXJjaC94ODYvYWx0ZXJuYXRpdmUuYyBiL3hlbi9h cmNoL3g4Ni9hbHRlcm5hdGl2ZS5jCmluZGV4IGZkODUyOGUuLjdhZGRjMmMgMTAwNjQ0Ci0tLSBh L3hlbi9hcmNoL3g4Ni9hbHRlcm5hdGl2ZS5jCisrKyBiL3hlbi9hcmNoL3g4Ni9hbHRlcm5hdGl2 ZS5jCkBAIC0xNDQsNyArMTQ0LDcgQEAgc3RhdGljIHZvaWQgKmluaXRfb3JfbGl2ZXBhdGNoIHRl eHRfcG9rZSh2b2lkICphZGRyLCBjb25zdCB2b2lkICpvcGNvZGUsIHNpemVfdAogICogQVBzIGhh dmUgbGVzcyBjYXBhYmlsaXRpZXMgdGhhbiB0aGUgYm9vdCBwcm9jZXNzb3IgYXJlIG5vdCBoYW5k bGVkLgogICogVG91Z2guIE1ha2Ugc3VyZSB5b3UgZGlzYWJsZSBzdWNoIGZlYXR1cmVzIGJ5IGhh bmQuCiAgKi8KLXZvaWQgaW5pdF9vcl9saXZlcGF0Y2ggYXBwbHlfYWx0ZXJuYXRpdmVzX25vY2hl Y2soc3RydWN0IGFsdF9pbnN0ciAqc3RhcnQsIHN0cnVjdCBhbHRfaW5zdHIgKmVuZCkKK3ZvaWQg aW5pdF9vcl9saXZlcGF0Y2ggYXBwbHlfYWx0ZXJuYXRpdmVzKHN0cnVjdCBhbHRfaW5zdHIgKnN0 YXJ0LCBzdHJ1Y3QgYWx0X2luc3RyICplbmQpCiB7CiAgICAgc3RydWN0IGFsdF9pbnN0ciAqYTsK ICAgICB1OCAqaW5zdHIsICpyZXBsYWNlbWVudDsKQEAgLTE4Nyw3ICsxODcsNyBAQCB2b2lkIGlu aXRfb3JfbGl2ZXBhdGNoIGFwcGx5X2FsdGVybmF0aXZlc19ub2NoZWNrKHN0cnVjdCBhbHRfaW5z dHIgKnN0YXJ0LCBzdHJ1YwogICogVGhpcyByb3V0aW5lIGlzIGNhbGxlZCB3aXRoIGxvY2FsIGlu dGVycnVwdCBkaXNhYmxlZCBhbmQgdXNlZCBkdXJpbmcKICAqIGJvb3R1cC4KICAqLwotdm9pZCBf X2luaXQgYXBwbHlfYWx0ZXJuYXRpdmVzKHN0cnVjdCBhbHRfaW5zdHIgKnN0YXJ0LCBzdHJ1Y3Qg YWx0X2luc3RyICplbmQpCit2b2lkIF9faW5pdCBhcHBseV9hbHRlcm5hdGl2ZXNfYm9vdChzdHJ1 Y3QgYWx0X2luc3RyICpzdGFydCwgc3RydWN0IGFsdF9pbnN0ciAqZW5kKQogewogICAgIHVuc2ln bmVkIGxvbmcgY3IwID0gcmVhZF9jcjAoKTsKIApAQCAtMTk2LDcgKzE5Niw3IEBAIHZvaWQgX19p bml0IGFwcGx5X2FsdGVybmF0aXZlcyhzdHJ1Y3QgYWx0X2luc3RyICpzdGFydCwgc3RydWN0IGFs dF9pbnN0ciAqZW5kKQogICAgIC8qIERpc2FibGUgV1AgdG8gYWxsb3cgYXBwbGljYXRpb24gb2Yg YWx0ZXJuYXRpdmVzIHRvIHJlYWQtb25seSBwYWdlcy4gKi8KICAgICB3cml0ZV9jcjAoY3IwICYg flg4Nl9DUjBfV1ApOwogCi0gICAgYXBwbHlfYWx0ZXJuYXRpdmVzX25vY2hlY2soc3RhcnQsIGVu ZCk7CisgICAgYXBwbHlfYWx0ZXJuYXRpdmVzKHN0YXJ0LCBlbmQpOwogCiAgICAgLyogUmVpbnN0 YXRlIFdQLiAqLwogICAgIHdyaXRlX2NyMChjcjApOwpAQCAtMjI1LDcgKzIyNSw3IEBAIHZvaWQg X19pbml0IGFsdGVybmF0aXZlX2luc3RydWN0aW9ucyh2b2lkKQogICAgICAqIGV4cGVjdCBhIG1h Y2hpbmUgY2hlY2sgdG8gY2F1c2UgdW5kdWUgcHJvYmxlbXMgZHVyaW5nIHRvIGNvZGUKICAgICAg KiBwYXRjaGluZy4KICAgICAgKi8KLSAgICBhcHBseV9hbHRlcm5hdGl2ZXMoX19hbHRfaW5zdHJ1 Y3Rpb25zLCBfX2FsdF9pbnN0cnVjdGlvbnNfZW5kKTsKKyAgICBhcHBseV9hbHRlcm5hdGl2ZXNf Ym9vdChfX2FsdF9pbnN0cnVjdGlvbnMsIF9fYWx0X2luc3RydWN0aW9uc19lbmQpOwogCiAgICAg c2V0X25taV9jYWxsYmFjayhzYXZlZF9ubWlfY2FsbGJhY2spOwogfQpkaWZmIC0tZ2l0IGEveGVu L2NvbW1vbi9saXZlcGF0Y2guYyBiL3hlbi9jb21tb24vbGl2ZXBhdGNoLmMKaW5kZXggMjM4NDky YS4uNDQ1ODc1MSAxMDA2NDQKLS0tIGEveGVuL2NvbW1vbi9saXZlcGF0Y2guYworKysgYi94ZW4v Y29tbW9uL2xpdmVwYXRjaC5jCkBAIC02OTgsNyArNjk4LDcgQEAgc3RhdGljIGludCBwcmVwYXJl X3BheWxvYWQoc3RydWN0IHBheWxvYWQgKnBheWxvYWQsCiAgICAgICAgICAgICAgICAgcmV0dXJu IC1FSU5WQUw7CiAgICAgICAgICAgICB9CiAgICAgICAgIH0KLSAgICAgICAgYXBwbHlfYWx0ZXJu YXRpdmVzX25vY2hlY2soc3RhcnQsIGVuZCk7CisgICAgICAgIGFwcGx5X2FsdGVybmF0aXZlcyhz dGFydCwgZW5kKTsKICAgICB9CiAKICAgICBzZWMgPSBsaXZlcGF0Y2hfZWxmX3NlY19ieV9uYW1l KGVsZiwgIi5leF90YWJsZSIpOwpkaWZmIC0tZ2l0IGEveGVuL2luY2x1ZGUvYXNtLWFybS9hbHRl cm5hdGl2ZS5oIGIveGVuL2luY2x1ZGUvYXNtLWFybS9hbHRlcm5hdGl2ZS5oCmluZGV4IDU4ZDVm YTcuLmI2ZmE4MjcgMTAwNjQ0Ci0tLSBhL3hlbi9pbmNsdWRlL2FzbS1hcm0vYWx0ZXJuYXRpdmUu aAorKysgYi94ZW4vaW5jbHVkZS9hc20tYXJtL2FsdGVybmF0aXZlLmgKQEAgLTI2LDcgKzI2LDcg QEAgc3RydWN0IGFsdF9pbnN0ciB7CiAjZGVmaW5lIEFMVF9SRVBMX1BUUihhKSAgICAgX19BTFRf UFRSKGEsIGFsdF9vZmZzZXQpCiAKIHZvaWQgX19pbml0IGFwcGx5X2FsdGVybmF0aXZlc19hbGwo dm9pZCk7Ci1pbnQgYXBwbHlfYWx0ZXJuYXRpdmVzKHZvaWQgKnN0YXJ0LCBzaXplX3QgbGVuZ3Ro KTsKK2ludCBhcHBseV9hbHRlcm5hdGl2ZXMoY29uc3Qgc3RydWN0IGFsdF9pbnN0ciAqc3RhcnQs IGNvbnN0IHN0cnVjdCBhbHRfaW5zdHIgKmVuZCk7CiAKICNkZWZpbmUgQUxUSU5TVFJfRU5UUlko ZmVhdHVyZSkJCQkJCQkgICAgICBcCiAJIiAud29yZCA2NjFiIC0gLlxuIgkJCQkvKiBsYWJlbCAg ICAgICAgICAgKi8gXApkaWZmIC0tZ2l0IGEveGVuL2luY2x1ZGUvYXNtLXg4Ni9hbHRlcm5hdGl2 ZS5oIGIveGVuL2luY2x1ZGUvYXNtLXg4Ni9hbHRlcm5hdGl2ZS5oCmluZGV4IGI3MmM0MDEuLjQ3 ZmExYmUgMTAwNjQ0Ci0tLSBhL3hlbi9pbmNsdWRlL2FzbS14ODYvYWx0ZXJuYXRpdmUuaAorKysg Yi94ZW4vaW5jbHVkZS9hc20teDg2L2FsdGVybmF0aXZlLmgKQEAgLTI4LDEwICsyOCw5IEBAIHN0 cnVjdCBhbHRfaW5zdHIgewogI2RlZmluZSBBTFRfUkVQTF9QVFIoYSkgICAgIF9fQUxUX1BUUihh LCByZXBsX29mZnNldCkKIAogZXh0ZXJuIHZvaWQgYWRkX25vcHModm9pZCAqaW5zbnMsIHVuc2ln bmVkIGludCBsZW4pOwotLyogU2ltaWxhciB0byBhcHBseV9hbHRlcm5hdGl2ZXMgZXhjZXB0IGl0 IGNhbiBiZSBydW4gd2l0aCBJUlFzIGVuYWJsZWQuICovCi1leHRlcm4gdm9pZCBhcHBseV9hbHRl cm5hdGl2ZXNfbm9jaGVjayhzdHJ1Y3QgYWx0X2luc3RyICpzdGFydCwKLSAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBhbHRfaW5zdHIgKmVuZCk7CisvKiBTaW1p bGFyIHRvIGFwcGx5X2FsdGVybmF0aXZlc19ib290IGV4Y2VwdCBpdCBjYW4gYmUgcnVuIHdpdGgg SVJRcyBlbmFibGVkLiAqLwogZXh0ZXJuIHZvaWQgYXBwbHlfYWx0ZXJuYXRpdmVzKHN0cnVjdCBh bHRfaW5zdHIgKnN0YXJ0LCBzdHJ1Y3QgYWx0X2luc3RyICplbmQpOworZXh0ZXJuIHZvaWQgYXBw bHlfYWx0ZXJuYXRpdmVzX2Jvb3Qoc3RydWN0IGFsdF9pbnN0ciAqc3RhcnQsIHN0cnVjdCBhbHRf aW5zdHIgKmVuZCk7CiBleHRlcm4gdm9pZCBhbHRlcm5hdGl2ZV9pbnN0cnVjdGlvbnModm9pZCk7 CiAKICNkZWZpbmUgT0xESU5TVFIob2xkaW5zdHIpICAgICAgIjY2MTpcblx0IiBvbGRpbnN0ciAi XG42NjI6XG4iCi0tIAoyLjQuMTEKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fXwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54ZW4u b3JnCmh0dHBzOi8vbGlzdHMueGVuLm9yZy94ZW4tZGV2ZWwK