From mboxrd@z Thu Jan 1 00:00:00 1970 From: Roger Pau =?utf-8?B?TW9ubsOp?= Subject: Re: RT Xen on ARM - R-Car series Date: Fri, 1 Feb 2019 17:53:14 +0100 Message-ID: <20190201165314.ofuvpddlfpzbc247@mac> References: <15f42687-9aa6-e9ed-c306-b6b267a16292@arm.com> <78963b40-e8e8-db41-ee16-d4ca64baa37a@gmail.com> <201eb8d4-aa51-9ad3-e655-3f4fa0cee348@arm.com> <4e777fcf-6630-5aff-a8d2-781d3f705123@arm.com> <2a651c5d-3f94-378d-baf9-f52cab0cdc62@arm.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Content-Disposition: inline In-Reply-To: <2a651c5d-3f94-378d-baf9-f52cab0cdc62@arm.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" To: Julien Grall Cc: Andrii Anisov , Stefano Stabellini , "LOPEZ, FUENTES NACARINO Jairo Eduardo" , xen-devel@lists.xen.org List-Id: xen-devel@lists.xenproject.org T24gVGh1LCBKYW4gMzEsIDIwMTkgYXQgMTE6MTQ6MzdQTSArMDAwMCwgSnVsaWVuIEdyYWxsIHdy b3RlOgo+IEhpIFN0ZWZhbm8sCj4gCj4gT24gMS8zMS8xOSA5OjU2IFBNLCBTdGVmYW5vIFN0YWJl bGxpbmkgd3JvdGU6Cj4gPiBPbiBUaHUsIDMxIEphbiAyMDE5LCBKdWxpZW4gR3JhbGwgd3JvdGU6 Cj4gPiA+IE9uIDMxLzAxLzIwMTkgMTI6MDAsIEFuZHJpaSBBbmlzb3Ygd3JvdGU6Cj4gPiA+ID4g SGVsbG8gSnVsaWVuLAo+ID4gPiA+IAo+ID4gPiA+IE9uIDMxLjAxLjE5IDEzOjM3LCBKdWxpZW4g R3JhbGwgd3JvdGU6Cj4gPiA+ID4gPiA+IE9uIG15IHNpZGUgSSBqdXN0IGNvbW1lbnRlZCBvdXQg dGhhdCBwcmludGssIGJlY2F1c2UgaXQgcmVuZGVycyBhIGRlYnVnCj4gPiA+ID4gPiA+IGJ1aWxk IHVudXNhYmxlLgo+ID4gPiA+ID4gCj4gPiA+ID4gPiAuLi4gaWYgaXQgaXMgdW51c2FibGUsIHdo eSBkb24ndCB5b3UgdHJ5IHRvIHRhY2tsZSB0aGUgcHJvYmxlbT8KPiA+ID4gPiBCZWNhdXNlIG9m Li4uCj4gPiA+ID4gCj4gPiA+ID4gPiBUaGlzIGlzIGluIG15IGxvbmcgZXZlciBncm93aW5nIGxp c3Qgb2YgdGhpbmdzIHRvCj4gPiA+ID4gCj4gPiA+ID4gLi4uIGJlIGRvbmUuCj4gPiA+ID4gCj4g PiA+ID4gU29tZSBvZiB0aGluZ3MgZ2V0IHNvbHV0aW9ucywgc29tZSBXQXMuCj4gPiA+IAo+ID4g PiBJIGNhbid0IHNlZSBhIGdvb2Qgd29ya2Fyb3VuZCBmb3IgdGhpcy4gQXQgc29tZSBwb2ludCBz b21lb25lIHdvdWxkIGhhdmUgdG8KPiA+ID4gcGljayBpdCB1cCByYXRoZXIgdGhhbiBidWlsZGlu ZyBhIGhvdXNlIG9mIGNhcmRzLgo+ID4gCj4gPiBJIHJhbiBpbnRvIHRoaXMgcHJvYmxlbSBhcyB3 ZWxsIG5vdCB0b28gbG9uZyBhZ28gdG9vLiBJdCBpcyB2ZXJ5Cj4gPiBhbm5veWluZyBhbmQgaXQg aXMgYmFzaWNhbGx5IGltcG9zc2libGUgdG8gd29yay1hcm91bmQsIHRoZSBvbmx5IHRoaW5nCj4g PiBwb3NzaWJsZSB3b3VsZCBiZSB0byBzdXBwcmVzcyB0aGUgd2FybmluZywgYnV0IHRoYXQgZG9l c24ndCBldmVuIGNvdW50Cj4gPiBhcyBhIHdvcmstYXJvdW5kIDotKQo+IAo+IEkgYW0gc3VyZSBJ IHdpbGwgcmVncmV0IHRvIGhhdmUgc2FpZCB0aGF0LCBidXQgSSB3aWxsIGZvciBmYWlybmVzcyA6 KS4KPiAKPiBJZiBzZWN1cml0eSBpcyBub3QgYSBjb25jZXJuIHdpdGhpbiB0aGUgZ3Vlc3QsIHRo ZW4geW91IGNhbiBkaXNhYmxlIGtwdGkKPiAoZWl0aGVyIHZpYSBLY29uZmlnIG9yIGNvbW1hbmQg bGluZSkuIEFsbCB0aGUgZXJyb3JzIHNob3VsZCBnbyBhd2F5IGZvcgo+IExpbnV4IGd1ZXN0Lgo+ IAo+ID4gCj4gPiBUaGUgd2F5IGZvcndhcmQgaXMgdG8gbW9kaWZ5IHRoZSBleGlzdGluZwo+ID4g VkNQVU9QX3JlZ2lzdGVyX3J1bnN0YXRlX21lbW9yeV9hcmVhIGludGVyZmFjZS4gSSBsaWtlZCBK dWxpZW4ncyBpZGVhIGluCj4gPiBodHRwczovL2xpc3RzLnhlbnByb2plY3Qub3JnL2FyY2hpdmVz L2h0bWwveGVuLWRldmVsLzIwMTgtMDMvbXNnMDAyMjcuaHRtbDoKPiA+IHdlIGRvbid0IG5lY2Vz c2FyaWx5IG5lZWQgdG8gY2hhbmdlIHRoZSBwYXJhbWV0ZXJzIG9mIHRoZSBoeXBlcmNhbGxzCj4g PiBmcm9tIGEgZ3Vlc3QgdmlydHVhbCBhZGRyZXNzIHRvIGEgZ3Vlc3QgcGh5c2ljYWwgYWRkcmVz cy4gSXQgc2hvdWxkIGJlCj4gPiBlbm91Z2ggdG8gY29udmVydCB0aGUgZ3Vlc3QgdmlydHVhbCBh ZGRyZXNzIGludG8gYSBndWVzdCBwaHlzaWNhbAo+ID4gYWRkcmVzcyBpbiBYZW4gd2hlbiBWQ1BV T1BfcmVnaXN0ZXJfcnVuc3RhdGVfbWVtb3J5X2FyZWEgaXMgY2FsbGVkCj4gPiAoeGVuL2NvbW1v bi9kb21haW4uYzpWQ1BVT1BfcmVnaXN0ZXJfcnVuc3RhdGVfbWVtb3J5X2FyZWEpLCB0aGVuIHN0 b3JlCj4gPiB0aGUgZ3Vlc3QgcGh5c2ljYWwgYWRkcmVzcyBvciBpdHMgbWFwcGluZyBpbiB2LT5y dW5zdGF0ZV9ndWVzdCAodGhlIHR5cGUKPiA+IG9mIHJ1bnN0YXRlX2d1ZXN0IG5lZWRzIHRvIGNo YW5nZSkgYW5kIGFsd2F5cyB1c2UgdGhlIGd1ZXN0IHBoeXNpY2FsCj4gPiBhZGRyZXNzIGZvciBm dXR1cmUgdXBkYXRlcyBvbiB0aGUgcnVuc3RhdGUgbWVtb3J5IGFyZWEuCj4gCj4gSSB3b3VsZCBs b3ZlIHRvIHNheSBpdCBpcyB0aGF0IGVhc3kgOikuIEhvd2V2ZXIsIHRoZXJlIGFyZSBzb21lIHJl c2VhcmNoIHRvCj4gZG8gcmVnYXJkaW5nIGhvdyB0aGlzIGlzIHVzZWQgYnkgZ3Vlc3RzIHRvZGF5 LiBUaGUgaHlwZXJjYWxsIGlzIHRha2luZyBhCj4gdmlydHVhbCBhZGRyZXNzLCBzbyB0ZWNobmlj YWxseSBpdCB3b3VsZCBiZSBwb3NzaWJsZSBmb3IgYSBndWVzdCB0byBwYXNzIGEKPiBub24gcGFn ZS1hbGlnbmVkIHZpcnR1YWwgYWRkcmVzcy4gU28gdGhpcyB3b3VsZCBzcGFuIG9udG8gdHdvIGJ1 ZmZlcnMgKGl0Cj4gc2VlbXMgdG8gaGFwcGVuIG9uIG9sZGVyIExpbnV4KS4KPiAKPiBGdXJ0aGVy bW9yZSwgYmVjYXVzZSB0aGlzIGlzIGEgdmlydHVhbCBhZGRyZXNzLCBhIGd1ZXNzIHdvdWxkIGJl IGZyZWUgdG8KPiBtb2RpZnkgdGhlIG1hcHBpbmcgYXQgYW55IHRpbWUuCj4gCj4gU28gaWYgd2Ug d2FudCB0byB1c2UgZ3Vlc3QgcGh5c2ljYWwgYWRkcmVzcyBpbiBYZW4sIHdlIG5lZWQgdG8ga25v dyBpZiBpdAo+IHdpbGwgbm90IGJyZWFrIGFueSBjdXJyZW50IGd1ZXN0LiBUaGlzIHdvdWxkIGFs c28gcHJvYmFibHkgbmVlZHMgdG8gYmUKPiBkb2N1bWVudGVkIGluIHRoZSBpbnRlcmZhY2UuCj4g Cj4gV2l0aCB0aGUgY3VycmVudCBpbnRlcmZhY2Ugd29ya2Fyb3VuZCwgd2UgYXJlIHN0aWxsIHBs YXlpbmcgd2l0aCBkZXZpbCAoc2VlCj4gWzJdKS4gU28gaXQgd291bGQgYmUgbmljZSB0byBnZXQg YSBuZXcgaW50ZXJmYWNlIHRoYXQgZG9lcyBub3QgdXNlIHZpcnR1YWwKPiBhZGRyZXNzLgoKU28s IEkndmUgZ290IGEgaGFja3kgcGF0Y2ggdG8gJ2ZpeCcgdGhpcyBvbiB4ODYsIGJ5IHRha2luZyBh IHJlZmVyZW5jZQp0byB0aGUgbWZuIGJlaGluZCB0aGUgdmlydHVhbCBhZGRyZXNzIHByb3ZpZGVk IHdoZW4gc2V0dGluZyB1cCB0aGUKaHlwZXJjYWxsIGFuZCBtYXBwaW5nIGl0IGluIFhlbi4gVGhp cyBob3dldmVyIGRvZXNuJ3Qgd29yayBvbiBBUk0gZHVlCnRvIHRoZSBsYWNrIG9mIHBhZ2luZ19n dmFfdG9fZ2ZuLiBJIGd1ZXNzIHRoZXJlJ3Mgc29tZXRoaW5nIHNpbWlsYXIgdG8KdHJhbnNsYXRl IGEgZ3Vlc3QgdmlydHVhbCBhZGRyZXNzIGludG8gYSBnZm4gb3IgYSBtZm4/CgpJJ3ZlIG9ubHkg dGVzdGVkIHRoaXMgdmVyeSBzbGlnaHRseSwgc28gdGhlcmUgbWlnaHQgYmUgZHJhZ29ucy4uLgoK QW55d2F5LCB0aGlzIGlzIHdoYXQgSSBoYXZlIHNvIGZhcjoKCi0tLTg8LS0tCmNvbW1pdCA5Yjg4 YzRhYmE2NDFhYmQxODgxNDRjNGJhZDFkNjkzNDU2MjU2NzhmCkF1dGhvcjogUm9nZXIgUGF1IE1v bm5lIDxyb2dlci5wYXVAY2l0cml4LmNvbT4KRGF0ZTogICBGcmkgRmViIDEgMTI6MTM6NDcgMjAx OSArMDEwMAoKICAgIGtlZXAgcnVuc3RhdGUgYXJlYSBtYXBwZWQKCmRpZmYgLS1naXQgYS94ZW4v YXJjaC9hcm0vZG9tYWluLmMgYi94ZW4vYXJjaC9hcm0vZG9tYWluLmMKaW5kZXggNmRjNjMzZWQ1 MC4uY2ZkNjBlZDdhNyAxMDA2NDQKLS0tIGEveGVuL2FyY2gvYXJtL2RvbWFpbi5jCisrKyBiL3hl bi9hcmNoL2FybS9kb21haW4uYwpAQCAtMjc3LDI5ICsyNzcsMjMgQEAgc3RhdGljIHZvaWQgY3R4 dF9zd2l0Y2hfdG8oc3RydWN0IHZjcHUgKm4pCiAvKiBVcGRhdGUgcGVyLVZDUFUgZ3Vlc3QgcnVu c3RhdGUgc2hhcmVkIG1lbW9yeSBhcmVhIChpZiByZWdpc3RlcmVkKS4gKi8KIHN0YXRpYyB2b2lk IHVwZGF0ZV9ydW5zdGF0ZV9hcmVhKHN0cnVjdCB2Y3B1ICp2KQogewotICAgIHZvaWQgX191c2Vy ICpndWVzdF9oYW5kbGUgPSBOVUxMOwotCi0gICAgaWYgKCBndWVzdF9oYW5kbGVfaXNfbnVsbChy dW5zdGF0ZV9ndWVzdCh2KSkgKQorICAgIGlmICggIXYtPnJ1bnN0YXRlX2d1ZXN0KHYpICkKICAg ICAgICAgcmV0dXJuOwogCiAgICAgaWYgKCBWTV9BU1NJU1Qodi0+ZG9tYWluLCBydW5zdGF0ZV91 cGRhdGVfZmxhZykgKQogICAgIHsKLSAgICAgICAgZ3Vlc3RfaGFuZGxlID0gJnYtPnJ1bnN0YXRl X2d1ZXN0LnAtPnN0YXRlX2VudHJ5X3RpbWUgKyAxOwotICAgICAgICBndWVzdF9oYW5kbGUtLTsK ICAgICAgICAgdi0+cnVuc3RhdGUuc3RhdGVfZW50cnlfdGltZSB8PSBYRU5fUlVOU1RBVEVfVVBE QVRFOwotICAgICAgICBfX3Jhd19jb3B5X3RvX2d1ZXN0KGd1ZXN0X2hhbmRsZSwKLSAgICAgICAg ICAgICAgICAgICAgICAgICAgICAodm9pZCAqKSgmdi0+cnVuc3RhdGUuc3RhdGVfZW50cnlfdGlt ZSArIDEpIC0gMSwgMSk7CisgICAgICAgIHYtPnJ1bnN0YXRlX2d1ZXN0LT5zdGF0ZV9lbnRyeV90 aW1lIHw9IFhFTl9SVU5TVEFURV9VUERBVEU7CiAgICAgICAgIHNtcF93bWIoKTsKICAgICB9CiAK LSAgICBfX2NvcHlfdG9fZ3Vlc3QocnVuc3RhdGVfZ3Vlc3QodiksICZ2LT5ydW5zdGF0ZSwgMSk7 CisgICAgbWVtY3B5KHYtPnJ1bnN0YXRlX2d1ZXN0LCAmdi0+cnVuc3RhdGUsIHNpemVvZih2LT5y dW5zdGF0ZSkpOwogCi0gICAgaWYgKCBndWVzdF9oYW5kbGUgKQorICAgIGlmICggVk1fQVNTSVNU KHYtPmRvbWFpbiwgcnVuc3RhdGVfdXBkYXRlX2ZsYWcpICkKICAgICB7CiAgICAgICAgIHYtPnJ1 bnN0YXRlLnN0YXRlX2VudHJ5X3RpbWUgJj0gflhFTl9SVU5TVEFURV9VUERBVEU7CiAgICAgICAg IHNtcF93bWIoKTsKLSAgICAgICAgX19yYXdfY29weV90b19ndWVzdChndWVzdF9oYW5kbGUsCi0g ICAgICAgICAgICAgICAgICAgICAgICAgICAgKHZvaWQgKikoJnYtPnJ1bnN0YXRlLnN0YXRlX2Vu dHJ5X3RpbWUgKyAxKSAtIDEsIDEpOworICAgICAgICB2LT5ydW5zdGF0ZV9ndWVzdC0+c3RhdGVf ZW50cnlfdGltZSAmPSB+WEVOX1JVTlNUQVRFX1VQREFURTsKICAgICB9CiB9CiAKZGlmZiAtLWdp dCBhL3hlbi9hcmNoL3g4Ni9kb21haW4uYyBiL3hlbi9hcmNoL3g4Ni9kb21haW4uYwppbmRleCAz MmRjNDI1M2ZmLi5iODZkOGQ5NGM3IDEwMDY0NAotLS0gYS94ZW4vYXJjaC94ODYvZG9tYWluLmMK KysrIGIveGVuL2FyY2gveDg2L2RvbWFpbi5jCkBAIC0xNjA0LDI2ICsxNjA0LDIyIEBAIHZvaWQg cGFyYXZpcnRfY3R4dF9zd2l0Y2hfdG8oc3RydWN0IHZjcHUgKnYpCiB9CiAKIC8qIFVwZGF0ZSBw ZXItVkNQVSBndWVzdCBydW5zdGF0ZSBzaGFyZWQgbWVtb3J5IGFyZWEgKGlmIHJlZ2lzdGVyZWQp LiAqLwotYm9vbCB1cGRhdGVfcnVuc3RhdGVfYXJlYShzdHJ1Y3QgdmNwdSAqdikKK3ZvaWQgdXBk YXRlX3J1bnN0YXRlX2FyZWEoc3RydWN0IHZjcHUgKnYpCiB7Ci0gICAgYm9vbCByYzsKICAgICBz dHJ1Y3QgZ3Vlc3RfbWVtb3J5X3BvbGljeSBwb2xpY3kgPSB7IC5uZXN0ZWRfZ3Vlc3RfbW9kZSA9 IGZhbHNlIH07Ci0gICAgdm9pZCBfX3VzZXIgKmd1ZXN0X2hhbmRsZSA9IE5VTEw7CiAKLSAgICBp ZiAoIGd1ZXN0X2hhbmRsZV9pc19udWxsKHJ1bnN0YXRlX2d1ZXN0KHYpKSApCi0gICAgICAgIHJl dHVybiB0cnVlOworICAgIGlmICggIXYtPnJ1bnN0YXRlX2d1ZXN0ICkKKyAgICAgICAgcmV0dXJu OwogCiAgICAgdXBkYXRlX2d1ZXN0X21lbW9yeV9wb2xpY3kodiwgJnBvbGljeSk7CiAKICAgICBp ZiAoIFZNX0FTU0lTVCh2LT5kb21haW4sIHJ1bnN0YXRlX3VwZGF0ZV9mbGFnKSApCiAgICAgewot ICAgICAgICBndWVzdF9oYW5kbGUgPSBoYXNfMzJiaXRfc2hpbmZvKHYtPmRvbWFpbikKLSAgICAg ICAgICAgID8gJnYtPnJ1bnN0YXRlX2d1ZXN0LmNvbXBhdC5wLT5zdGF0ZV9lbnRyeV90aW1lICsg MQotICAgICAgICAgICAgOiAmdi0+cnVuc3RhdGVfZ3Vlc3QubmF0aXZlLnAtPnN0YXRlX2VudHJ5 X3RpbWUgKyAxOwotICAgICAgICBndWVzdF9oYW5kbGUtLTsKICAgICAgICAgdi0+cnVuc3RhdGUu c3RhdGVfZW50cnlfdGltZSB8PSBYRU5fUlVOU1RBVEVfVVBEQVRFOwotICAgICAgICBfX3Jhd19j b3B5X3RvX2d1ZXN0KGd1ZXN0X2hhbmRsZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAo dm9pZCAqKSgmdi0+cnVuc3RhdGUuc3RhdGVfZW50cnlfdGltZSArIDEpIC0gMSwgMSk7CisgICAg ICAgIGlmICggaGFzXzMyYml0X3NoaW5mbygodiktPmRvbWFpbikgKQorICAgICAgICAgICAgdi0+ Y29tcGF0X3J1bnN0YXRlX2d1ZXN0LT5zdGF0ZV9lbnRyeV90aW1lIHw9IFhFTl9SVU5TVEFURV9V UERBVEU7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIHYtPnJ1bnN0YXRlX2d1ZXN0LT5zdGF0 ZV9lbnRyeV90aW1lIHw9IFhFTl9SVU5TVEFURV9VUERBVEU7CiAgICAgICAgIHNtcF93bWIoKTsK ICAgICB9CiAKQEAgLTE2MzIsMzEgKzE2MjgsMjIgQEAgYm9vbCB1cGRhdGVfcnVuc3RhdGVfYXJl YShzdHJ1Y3QgdmNwdSAqdikKICAgICAgICAgc3RydWN0IGNvbXBhdF92Y3B1X3J1bnN0YXRlX2lu Zm8gaW5mbzsKIAogICAgICAgICBYTEFUX3ZjcHVfcnVuc3RhdGVfaW5mbygmaW5mbywgJnYtPnJ1 bnN0YXRlKTsKLSAgICAgICAgX19jb3B5X3RvX2d1ZXN0KHYtPnJ1bnN0YXRlX2d1ZXN0LmNvbXBh dCwgJmluZm8sIDEpOwotICAgICAgICByYyA9IHRydWU7CisgICAgICAgIG1lbWNweSh2LT5jb21w YXRfcnVuc3RhdGVfZ3Vlc3QsICZpbmZvLCBzaXplb2YoaW5mbykpOwogICAgIH0KICAgICBlbHNl Ci0gICAgICAgIHJjID0gX19jb3B5X3RvX2d1ZXN0KHJ1bnN0YXRlX2d1ZXN0KHYpLCAmdi0+cnVu c3RhdGUsIDEpICE9Ci0gICAgICAgICAgICAgc2l6ZW9mKHYtPnJ1bnN0YXRlKTsKKyAgICAgICAg bWVtY3B5KHYtPnJ1bnN0YXRlX2d1ZXN0LCAmdi0+cnVuc3RhdGUsIHNpemVvZih2LT5ydW5zdGF0 ZSkpOwogCi0gICAgaWYgKCBndWVzdF9oYW5kbGUgKQorICAgIGlmICggVk1fQVNTSVNUKHYtPmRv bWFpbiwgcnVuc3RhdGVfdXBkYXRlX2ZsYWcpICkKICAgICB7CiAgICAgICAgIHYtPnJ1bnN0YXRl LnN0YXRlX2VudHJ5X3RpbWUgJj0gflhFTl9SVU5TVEFURV9VUERBVEU7CiAgICAgICAgIHNtcF93 bWIoKTsKLSAgICAgICAgX19yYXdfY29weV90b19ndWVzdChndWVzdF9oYW5kbGUsCi0gICAgICAg ICAgICAgICAgICAgICAgICAgICAgKHZvaWQgKikoJnYtPnJ1bnN0YXRlLnN0YXRlX2VudHJ5X3Rp bWUgKyAxKSAtIDEsIDEpOworICAgICAgICBpZiAoIGhhc18zMmJpdF9zaGluZm8oKHYpLT5kb21h aW4pICkKKyAgICAgICAgICAgIHYtPmNvbXBhdF9ydW5zdGF0ZV9ndWVzdC0+c3RhdGVfZW50cnlf dGltZSAmPSB+WEVOX1JVTlNUQVRFX1VQREFURTsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAg di0+cnVuc3RhdGVfZ3Vlc3QtPnN0YXRlX2VudHJ5X3RpbWUgJj0gflhFTl9SVU5TVEFURV9VUERB VEU7CiAgICAgfQogCiAgICAgdXBkYXRlX2d1ZXN0X21lbW9yeV9wb2xpY3kodiwgJnBvbGljeSk7 Ci0KLSAgICByZXR1cm4gcmM7Ci19Ci0KLXN0YXRpYyB2b2lkIF91cGRhdGVfcnVuc3RhdGVfYXJl YShzdHJ1Y3QgdmNwdSAqdikKLXsKLSAgICBpZiAoICF1cGRhdGVfcnVuc3RhdGVfYXJlYSh2KSAm JiBpc19wdl92Y3B1KHYpICYmCi0gICAgICAgICAhKHYtPmFyY2guZmxhZ3MgJiBURl9rZXJuZWxf bW9kZSkgKQotICAgICAgICB2LT5hcmNoLnB2Lm5lZWRfdXBkYXRlX3J1bnN0YXRlX2FyZWEgPSAx OwogfQogCiBzdGF0aWMgaW5saW5lIGJvb2wgbmVlZF9mdWxsX2dkdChjb25zdCBzdHJ1Y3QgZG9t YWluICpkKQpAQCAtMTc3OSw3ICsxNzY2LDcgQEAgdm9pZCBjb250ZXh0X3N3aXRjaChzdHJ1Y3Qg dmNwdSAqcHJldiwgc3RydWN0IHZjcHUgKm5leHQpCiAKICAgICBpZiAoIHByZXYgIT0gbmV4dCAp CiAgICAgewotICAgICAgICBfdXBkYXRlX3J1bnN0YXRlX2FyZWEocHJldik7CisgICAgICAgIHVw ZGF0ZV9ydW5zdGF0ZV9hcmVhKHByZXYpOwogICAgICAgICB2cG11X3N3aXRjaF9mcm9tKHByZXYp OwogICAgICAgICBucDJtX3NjaGVkdWxlKE5QMk1fU0NIRURMRV9PVVQpOwogICAgIH0KQEAgLTE4 NDEsNyArMTgyOCw3IEBAIHZvaWQgY29udGV4dF9zd2l0Y2goc3RydWN0IHZjcHUgKnByZXYsIHN0 cnVjdCB2Y3B1ICpuZXh0KQogCiAgICAgaWYgKCBwcmV2ICE9IG5leHQgKQogICAgIHsKLSAgICAg ICAgX3VwZGF0ZV9ydW5zdGF0ZV9hcmVhKG5leHQpOworICAgICAgICB1cGRhdGVfcnVuc3RhdGVf YXJlYShuZXh0KTsKIAogICAgICAgICAvKiBNdXN0IGJlIGRvbmUgd2l0aCBpbnRlcnJ1cHRzIGVu YWJsZWQgKi8KICAgICAgICAgdnBtdV9zd2l0Y2hfdG8obmV4dCk7CmRpZmYgLS1naXQgYS94ZW4v YXJjaC94ODYvaHZtL2RvbTBfYnVpbGQuYyBiL3hlbi9hcmNoL3g4Ni9odm0vZG9tMF9idWlsZC5j CmluZGV4IGE1NzFkMTVjMTMuLjMwNDZiZDRiYzkgMTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL3g4Ni9o dm0vZG9tMF9idWlsZC5jCisrKyBiL3hlbi9hcmNoL3g4Ni9odm0vZG9tMF9idWlsZC5jCkBAIC00 MjEsNyArNDIxLDcgQEAgc3RhdGljIGludCBfX2luaXQgcHZoX3NldHVwX3AybShzdHJ1Y3QgZG9t YWluICpkKQogICAgIHB2aF9zZXR1cF9lODIwKGQsIG5yX3BhZ2VzKTsKICAgICBkbyB7CiAgICAg ICAgIHByZWVtcHRlZCA9IGZhbHNlOwotICAgICAgICBwYWdpbmdfc2V0X2FsbG9jYXRpb24oZCwg ZG9tMF9wYWdpbmdfcGFnZXMoZCwgbnJfcGFnZXMpLAorICAgICAgICBwYWdpbmdfc2V0X2FsbG9j YXRpb24oZCwgZG9tMF9wYWdpbmdfcGFnZXMoZCwgbnJfcGFnZXMpICogMTAsCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAmcHJlZW1wdGVkKTsKICAgICAgICAgcHJvY2Vzc19wZW5kaW5n X3NvZnRpcnFzKCk7CiAgICAgfSB3aGlsZSAoIHByZWVtcHRlZCApOwpkaWZmIC0tZ2l0IGEveGVu L2FyY2gveDg2L3B2L2RvbWFpbi5jIGIveGVuL2FyY2gveDg2L3B2L2RvbWFpbi5jCmluZGV4IDdl ODRiMDQwODIuLjAyN2JjZjRlYjAgMTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL3g4Ni9wdi9kb21haW4u YworKysgYi94ZW4vYXJjaC94ODYvcHYvZG9tYWluLmMKQEAgLTMxMyw5ICszMTMsNiBAQCBzdGF0 aWMgdm9pZCBfdG9nZ2xlX2d1ZXN0X3B0KHN0cnVjdCB2Y3B1ICp2KQogICAgIGlmICggISh2LT5h cmNoLmZsYWdzICYgVEZfa2VybmVsX21vZGUpICkKICAgICAgICAgcmV0dXJuOwogCi0gICAgaWYg KCB2LT5hcmNoLnB2Lm5lZWRfdXBkYXRlX3J1bnN0YXRlX2FyZWEgJiYgdXBkYXRlX3J1bnN0YXRl X2FyZWEodikgKQotICAgICAgICB2LT5hcmNoLnB2Lm5lZWRfdXBkYXRlX3J1bnN0YXRlX2FyZWEg PSAwOwotCiAgICAgaWYgKCB2LT5hcmNoLnB2LnBlbmRpbmdfc3lzdGVtX3RpbWUudmVyc2lvbiAm JgogICAgICAgICAgdXBkYXRlX3NlY29uZGFyeV9zeXN0ZW1fdGltZSh2LCAmdi0+YXJjaC5wdi5w ZW5kaW5nX3N5c3RlbV90aW1lKSApCiAgICAgICAgIHYtPmFyY2gucHYucGVuZGluZ19zeXN0ZW1f dGltZS52ZXJzaW9uID0gMDsKZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni94ODZfNjQvZG9tYWlu LmMgYi94ZW4vYXJjaC94ODYveDg2XzY0L2RvbWFpbi5jCmluZGV4IGM0NmRjY2MyNWEuLjk3MzRj ZDM5ZWYgMTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL3g4Ni94ODZfNjQvZG9tYWluLmMKKysrIGIveGVu L2FyY2gveDg2L3g4Nl82NC9kb21haW4uYwpAQCAtMjIsMzQgKzIyLDIxIEBAIGFyY2hfY29tcGF0 X3ZjcHVfb3AoCiAgICAgewogICAgIGNhc2UgVkNQVU9QX3JlZ2lzdGVyX3J1bnN0YXRlX21lbW9y eV9hcmVhOgogICAgIHsKLSAgICAgICAgc3RydWN0IGNvbXBhdF92Y3B1X3JlZ2lzdGVyX3J1bnN0 YXRlX21lbW9yeV9hcmVhIGFyZWE7Ci0gICAgICAgIHN0cnVjdCBjb21wYXRfdmNwdV9ydW5zdGF0 ZV9pbmZvIGluZm87Ci0KLSAgICAgICAgYXJlYS5hZGRyLnAgPSAwOworICAgICAgICB1bmlvbiB7 CisgICAgICAgICAgICBzdHJ1Y3QgY29tcGF0X3ZjcHVfcmVnaXN0ZXJfcnVuc3RhdGVfbWVtb3J5 X2FyZWEgY29tcGF0OworICAgICAgICAgICAgc3RydWN0IHZjcHVfcmVnaXN0ZXJfcnVuc3RhdGVf bWVtb3J5X2FyZWEgbmF0aXZlOworICAgICAgICB9IGFyZWEgPSB7IH07CiAKICAgICAgICAgcmMg PSAtRUZBVUxUOwotICAgICAgICBpZiAoIGNvcHlfZnJvbV9ndWVzdCgmYXJlYS5hZGRyLmgsIGFy ZywgMSkgKQorICAgICAgICBpZiAoIGNvcHlfZnJvbV9ndWVzdCgmYXJlYS5jb21wYXQuYWRkci52 LCBhcmcsIDEpICkKICAgICAgICAgICAgIGJyZWFrOwogCi0gICAgICAgIGlmICggYXJlYS5hZGRy LmguYyAhPSBhcmVhLmFkZHIucCB8fAotICAgICAgICAgICAgICFjb21wYXRfaGFuZGxlX29rYXko YXJlYS5hZGRyLmgsIDEpICkKKyAgICAgICAgdW5tYXBfcnVuc3RhdGVfYXJlYSh2KTsKKyAgICAg ICAgcmMgPSBtYXBfcnVuc3RhdGVfYXJlYSh2LCAmYXJlYS5uYXRpdmUpOworICAgICAgICBpZiAo IHJjICkKICAgICAgICAgICAgIGJyZWFrOwogCi0gICAgICAgIHJjID0gMDsKLSAgICAgICAgZ3Vl c3RfZnJvbV9jb21wYXRfaGFuZGxlKHYtPnJ1bnN0YXRlX2d1ZXN0LmNvbXBhdCwgYXJlYS5hZGRy LmgpOwotCi0gICAgICAgIGlmICggdiA9PSBjdXJyZW50ICkKLSAgICAgICAgewotICAgICAgICAg ICAgWExBVF92Y3B1X3J1bnN0YXRlX2luZm8oJmluZm8sICZ2LT5ydW5zdGF0ZSk7Ci0gICAgICAg IH0KLSAgICAgICAgZWxzZQotICAgICAgICB7Ci0gICAgICAgICAgICBzdHJ1Y3QgdmNwdV9ydW5z dGF0ZV9pbmZvIHJ1bnN0YXRlOwotCi0gICAgICAgICAgICB2Y3B1X3J1bnN0YXRlX2dldCh2LCAm cnVuc3RhdGUpOwotICAgICAgICAgICAgWExBVF92Y3B1X3J1bnN0YXRlX2luZm8oJmluZm8sICZy dW5zdGF0ZSk7Ci0gICAgICAgIH0KLSAgICAgICAgX19jb3B5X3RvX2d1ZXN0KHYtPnJ1bnN0YXRl X2d1ZXN0LmNvbXBhdCwgJmluZm8sIDEpOworICAgICAgICB1cGRhdGVfcnVuc3RhdGVfYXJlYSh2 KTsKIAogICAgICAgICBicmVhazsKICAgICB9CmRpZmYgLS1naXQgYS94ZW4vY29tbW9uL2RvbWFp bi5jIGIveGVuL2NvbW1vbi9kb21haW4uYwppbmRleCBjNjIzZGFlYzU2Li40YTRjNGE0MTRkIDEw MDY0NAotLS0gYS94ZW4vY29tbW9uL2RvbWFpbi5jCisrKyBiL3hlbi9jb21tb24vZG9tYWluLmMK QEAgLTExNzcsNyArMTE3Nyw3IEBAIGludCBkb21haW5fc29mdF9yZXNldChzdHJ1Y3QgZG9tYWlu ICpkKQogCiAgICAgZm9yX2VhY2hfdmNwdSAoIGQsIHYgKQogICAgIHsKLSAgICAgICAgc2V0X3hl bl9ndWVzdF9oYW5kbGUocnVuc3RhdGVfZ3Vlc3QodiksIE5VTEwpOworICAgICAgICB1bm1hcF9y dW5zdGF0ZV9hcmVhKHYpOwogICAgICAgICB1bm1hcF92Y3B1X2luZm8odik7CiAgICAgfQogCkBA IC0xMzE4LDYgKzEzMTgsODQgQEAgdm9pZCB1bm1hcF92Y3B1X2luZm8oc3RydWN0IHZjcHUgKnYp CiAgICAgcHV0X3BhZ2VfYW5kX3R5cGUobWZuX3RvX3BhZ2UobWZuKSk7CiB9CiAKK2ludCBtYXBf cnVuc3RhdGVfYXJlYShzdHJ1Y3QgdmNwdSAqdiwKKyAgICAgICAgICAgICAgICAgICAgICBzdHJ1 Y3QgdmNwdV9yZWdpc3Rlcl9ydW5zdGF0ZV9tZW1vcnlfYXJlYSAqYXJlYSkKK3sKKyAgICB1bnNp Z25lZCBsb25nIG9mZnNldDsKKyAgICB1bnNpZ25lZCBpbnQgaTsKKyAgICBzdHJ1Y3QgZG9tYWlu ICpkID0gdi0+ZG9tYWluOworICAgIHNpemVfdCBzaXplID0KKyNpZmRlZiBDT05GSUdfQ09NUEFU CisgICAgICAgIGhhc18zMmJpdF9zaGluZm8oKHYpLT5kb21haW4pID8gc2l6ZW9mKCp2LT5jb21w YXRfcnVuc3RhdGVfZ3Vlc3QpIDoKKyNlbmRpZgorICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHNpemVvZigqdi0+cnVuc3RhdGVfZ3Vlc3QpOworCisgICAgaWYgKCB2LT5y dW5zdGF0ZV9ndWVzdCApCisgICAgeworICAgICAgICBBU1NFUlRfVU5SRUFDSEFCTEUoKTsKKyAg ICAgICAgcmV0dXJuIC1FQlVTWTsKKyAgICB9CisKKyAgICBvZmZzZXQgPSBhcmVhLT5hZGRyLnAg JiB+UEFHRV9NQVNLOworCisgICAgZm9yICggaSA9IDA7IGkgPCBBUlJBWV9TSVpFKHYtPnJ1bnN0 YXRlX21mbik7IGkrKyApCisgICAgeworICAgICAgICBwMm1fdHlwZV90IHQ7CisgICAgICAgIHVp bnQzMl90IHBmZWMgPSBQRkVDX3BhZ2VfcHJlc2VudDsKKyAgICAgICAgZ2ZuX3QgZ2ZuID0gX2dm bihwYWdpbmdfZ3ZhX3RvX2dmbih2LCBhcmVhLT5hZGRyLnAsICZwZmVjKSk7CisgICAgICAgIHN0 cnVjdCBwYWdlX2luZm8gKnBnOworCisgICAgICAgIGlmICggZ2ZuX2VxKGdmbiwgSU5WQUxJRF9H Rk4pICkKKyAgICAgICAgICAgIHJldHVybiAtRUZBVUxUOworCisgICAgICAgIHYtPnJ1bnN0YXRl X21mbltpXSA9IGdldF9nZm4oZCwgZ2ZuX3goZ2ZuKSwgJnQpOworICAgICAgICBpZiAoIHQgIT0g cDJtX3JhbV9ydyB8fCBtZm5fZXEodi0+cnVuc3RhdGVfbWZuW2ldLCBJTlZBTElEX01GTikgKQor ICAgICAgICAgICAgcmV0dXJuIC1FRkFVTFQ7CisKKyAgICAgICAgcGcgPSBtZm5fdG9fcGFnZSh2 LT5ydW5zdGF0ZV9tZm5baV0pOworICAgICAgICBpZiAoICFwZyB8fCAhZ2V0X3BhZ2VfdHlwZShw ZywgUEdUX3dyaXRhYmxlX3BhZ2UpICkKKyAgICAgICAgeworICAgICAgICAgICAgcHV0X2dmbihk LCBnZm5feChnZm4pKTsKKyAgICAgICAgICAgIHJldHVybiAtRUZBVUxUOworICAgICAgICB9CisK KyAgICAgICAgcHV0X2dmbihkLCBnZm5feChnZm4pKTsKKworICAgICAgICBpZiAoIFBGTl9ET1dO KGdmbl94KGdmbikgKyBzaXplKSA9PSBQRk5fRE9XTihnZm5feChnZm4pKSApCisgICAgICAgICAg ICBicmVhazsKKworICAgICAgICBhcmVhLT5hZGRyLnAgKz0gUEFHRV9TSVpFIC0gb2Zmc2V0Owor ICAgIH0KKworICAgIHYtPnJ1bnN0YXRlX25yID0gaSArIDE7CisKKyAgICB2LT5ydW5zdGF0ZV9n dWVzdCA9IHZtYXAodi0+cnVuc3RhdGVfbWZuLCB2LT5ydW5zdGF0ZV9ucik7CisgICAgaWYgKCAh di0+cnVuc3RhdGVfZ3Vlc3QgKQorICAgIHsKKyAgICAgICAgZm9yICggaSA9IDA7IGkgPCB2LT5y dW5zdGF0ZV9ucjsgaSsrKQorICAgICAgICAgICAgcHV0X3BhZ2VfYW5kX3R5cGUobWZuX3RvX3Bh Z2Uodi0+cnVuc3RhdGVfbWZuW2ldKSk7CisgICAgICAgIHJldHVybiAtRUZBVUxUOworICAgIH0K KyAgICB2LT5ydW5zdGF0ZV9ndWVzdCA9ICh2b2lkICopdi0+cnVuc3RhdGVfZ3Vlc3QgKyBvZmZz ZXQ7CisKKyAgICByZXR1cm4gMDsKK30KKwordm9pZCB1bm1hcF9ydW5zdGF0ZV9hcmVhKHN0cnVj dCB2Y3B1ICp2KQoreworICAgIHVuc2lnbmVkIGludCBpOworCisgICAgaWYgKCAhdi0+cnVuc3Rh dGVfZ3Vlc3QgKQorICAgICAgICByZXR1cm47CisKKyAgICB2dW5tYXAodi0+cnVuc3RhdGVfZ3Vl c3QpOworICAgIGZvciAoIGkgPSAwOyBpIDwgdi0+cnVuc3RhdGVfbnI7IGkrKyApCisgICAgICAg IHB1dF9wYWdlX2FuZF90eXBlKG1mbl90b19wYWdlKHYtPnJ1bnN0YXRlX21mbltpXSkpOworCisg ICAgdi0+cnVuc3RhdGVfZ3Vlc3QgPSBOVUxMOworICAgIHYtPnJ1bnN0YXRlX25yID0gMDsKK30K KwogaW50IGRlZmF1bHRfaW5pdGlhbGlzZV92Y3B1KHN0cnVjdCB2Y3B1ICp2LCBYRU5fR1VFU1Rf SEFORExFX1BBUkFNKHZvaWQpIGFyZykKIHsKICAgICBzdHJ1Y3QgdmNwdV9ndWVzdF9jb250ZXh0 ICpjdHh0OwpAQCAtMTQ5NSwyNyArMTU3MywxNyBAQCBsb25nIGRvX3ZjcHVfb3AoaW50IGNtZCwg dW5zaWduZWQgaW50IHZjcHVpZCwgWEVOX0dVRVNUX0hBTkRMRV9QQVJBTSh2b2lkKSBhcmcpCiAg ICAgY2FzZSBWQ1BVT1BfcmVnaXN0ZXJfcnVuc3RhdGVfbWVtb3J5X2FyZWE6CiAgICAgewogICAg ICAgICBzdHJ1Y3QgdmNwdV9yZWdpc3Rlcl9ydW5zdGF0ZV9tZW1vcnlfYXJlYSBhcmVhOwotICAg ICAgICBzdHJ1Y3QgdmNwdV9ydW5zdGF0ZV9pbmZvIHJ1bnN0YXRlOwogCiAgICAgICAgIHJjID0g LUVGQVVMVDsKICAgICAgICAgaWYgKCBjb3B5X2Zyb21fZ3Vlc3QoJmFyZWEsIGFyZywgMSkgKQog ICAgICAgICAgICAgYnJlYWs7CiAKLSAgICAgICAgaWYgKCAhZ3Vlc3RfaGFuZGxlX29rYXkoYXJl YS5hZGRyLmgsIDEpICkKKyAgICAgICAgdW5tYXBfcnVuc3RhdGVfYXJlYSh2KTsKKyAgICAgICAg cmMgPSBtYXBfcnVuc3RhdGVfYXJlYSh2LCAmYXJlYSk7CisgICAgICAgIGlmICggcmMgKQogICAg ICAgICAgICAgYnJlYWs7CiAKLSAgICAgICAgcmMgPSAwOwotICAgICAgICBydW5zdGF0ZV9ndWVz dCh2KSA9IGFyZWEuYWRkci5oOwotCi0gICAgICAgIGlmICggdiA9PSBjdXJyZW50ICkKLSAgICAg ICAgewotICAgICAgICAgICAgX19jb3B5X3RvX2d1ZXN0KHJ1bnN0YXRlX2d1ZXN0KHYpLCAmdi0+ cnVuc3RhdGUsIDEpOwotICAgICAgICB9Ci0gICAgICAgIGVsc2UKLSAgICAgICAgewotICAgICAg ICAgICAgdmNwdV9ydW5zdGF0ZV9nZXQodiwgJnJ1bnN0YXRlKTsKLSAgICAgICAgICAgIF9fY29w eV90b19ndWVzdChydW5zdGF0ZV9ndWVzdCh2KSwgJnJ1bnN0YXRlLCAxKTsKLSAgICAgICAgfQor ICAgICAgICB1cGRhdGVfcnVuc3RhdGVfYXJlYSh2KTsKIAogICAgICAgICBicmVhazsKICAgICB9 CmRpZmYgLS1naXQgYS94ZW4vaW5jbHVkZS9hc20teDg2L2RvbWFpbi5oIGIveGVuL2luY2x1ZGUv YXNtLXg4Ni9kb21haW4uaAppbmRleCAyNzdmOTlmNjMzLi43MGIzYWViOWE4IDEwMDY0NAotLS0g YS94ZW4vaW5jbHVkZS9hc20teDg2L2RvbWFpbi5oCisrKyBiL3hlbi9pbmNsdWRlL2FzbS14ODYv ZG9tYWluLmgKQEAgLTU1NCw3ICs1NTQsNiBAQCBzdHJ1Y3QgcHZfdmNwdQogICAgIHVpbnQzMl90 IGRyN19lbXVsOwogCiAgICAgLyogRGVmZXJyZWQgVkEtYmFzZWQgdXBkYXRlIHN0YXRlLiAqLwot ICAgIGJvb2xfdCBuZWVkX3VwZGF0ZV9ydW5zdGF0ZV9hcmVhOwogICAgIHN0cnVjdCB2Y3B1X3Rp bWVfaW5mbyBwZW5kaW5nX3N5c3RlbV90aW1lOwogfTsKIApAQCAtNjQ2LDcgKzY0NSw3IEBAIHN0 cnVjdCBndWVzdF9tZW1vcnlfcG9saWN5CiB2b2lkIHVwZGF0ZV9ndWVzdF9tZW1vcnlfcG9saWN5 KHN0cnVjdCB2Y3B1ICp2LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3Qg Z3Vlc3RfbWVtb3J5X3BvbGljeSAqcG9saWN5KTsKIAotYm9vbCB1cGRhdGVfcnVuc3RhdGVfYXJl YShzdHJ1Y3QgdmNwdSAqKTsKK3ZvaWQgdXBkYXRlX3J1bnN0YXRlX2FyZWEoc3RydWN0IHZjcHUg Kik7CiBib29sIHVwZGF0ZV9zZWNvbmRhcnlfc3lzdGVtX3RpbWUoc3RydWN0IHZjcHUgKiwKICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgdmNwdV90aW1lX2luZm8gKik7 CiAKZGlmZiAtLWdpdCBhL3hlbi9pbmNsdWRlL3hlbi9kb21haW4uaCBiL3hlbi9pbmNsdWRlL3hl bi9kb21haW4uaAppbmRleCBkMWJmYzgyZjU3Li4wOTBhNTRkZjk3IDEwMDY0NAotLS0gYS94ZW4v aW5jbHVkZS94ZW4vZG9tYWluLmgKKysrIGIveGVuL2luY2x1ZGUveGVuL2RvbWFpbi5oCkBAIC0x MTgsNCArMTE4LDkgQEAgc3RydWN0IHZudW1hX2luZm8gewogCiB2b2lkIHZudW1hX2Rlc3Ryb3ko c3RydWN0IHZudW1hX2luZm8gKnZudW1hKTsKIAorc3RydWN0IHZjcHVfcmVnaXN0ZXJfcnVuc3Rh dGVfbWVtb3J5X2FyZWE7CitpbnQgbWFwX3J1bnN0YXRlX2FyZWEoc3RydWN0IHZjcHUgKnYsCisg ICAgICAgICAgICAgICAgICAgICAgc3RydWN0IHZjcHVfcmVnaXN0ZXJfcnVuc3RhdGVfbWVtb3J5 X2FyZWEgKmFyZWEpOwordm9pZCB1bm1hcF9ydW5zdGF0ZV9hcmVhKHN0cnVjdCB2Y3B1ICp2KTsK KwogI2VuZGlmIC8qIF9fWEVOX0RPTUFJTl9IX18gKi8KZGlmZiAtLWdpdCBhL3hlbi9pbmNsdWRl L3hlbi9zY2hlZC5oIGIveGVuL2luY2x1ZGUveGVuL3NjaGVkLmgKaW5kZXggODZmMTViMTFlMC4u Y2I0YmVjOWUwYyAxMDA2NDQKLS0tIGEveGVuL2luY2x1ZGUveGVuL3NjaGVkLmgKKysrIGIveGVu L2luY2x1ZGUveGVuL3NjaGVkLmgKQEAgLTE2MywxNSArMTYzLDE1IEBAIHN0cnVjdCB2Y3B1CiAg ICAgdm9pZCAgICAgICAgICAgICpzY2hlZF9wcml2OyAgICAvKiBzY2hlZHVsZXItc3BlY2lmaWMg ZGF0YSAqLwogCiAgICAgc3RydWN0IHZjcHVfcnVuc3RhdGVfaW5mbyBydW5zdGF0ZTsKKyAgICBt Zm5fdCBydW5zdGF0ZV9tZm5bMl07CisgICAgdW5zaWduZWQgaW50IHJ1bnN0YXRlX25yOwogI2lm bmRlZiBDT05GSUdfQ09NUEFUCi0jIGRlZmluZSBydW5zdGF0ZV9ndWVzdCh2KSAoKHYpLT5ydW5z dGF0ZV9ndWVzdCkKLSAgICBYRU5fR1VFU1RfSEFORExFKHZjcHVfcnVuc3RhdGVfaW5mb190KSBy dW5zdGF0ZV9ndWVzdDsgLyogZ3Vlc3QgYWRkcmVzcyAqLworICAgIHN0cnVjdCB2Y3B1X3J1bnN0 YXRlX2luZm8gKnJ1bnN0YXRlX2d1ZXN0OwogI2Vsc2UKLSMgZGVmaW5lIHJ1bnN0YXRlX2d1ZXN0 KHYpICgodiktPnJ1bnN0YXRlX2d1ZXN0Lm5hdGl2ZSkKICAgICB1bmlvbiB7Ci0gICAgICAgIFhF Tl9HVUVTVF9IQU5ETEUodmNwdV9ydW5zdGF0ZV9pbmZvX3QpIG5hdGl2ZTsKLSAgICAgICAgWEVO X0dVRVNUX0hBTkRMRSh2Y3B1X3J1bnN0YXRlX2luZm9fY29tcGF0X3QpIGNvbXBhdDsKLSAgICB9 IHJ1bnN0YXRlX2d1ZXN0OyAvKiBndWVzdCBhZGRyZXNzICovCisgICAgICAgIHN0cnVjdCB2Y3B1 X3J1bnN0YXRlX2luZm8gKnJ1bnN0YXRlX2d1ZXN0OworICAgICAgICBzdHJ1Y3QgY29tcGF0X3Zj cHVfcnVuc3RhdGVfaW5mbyAqY29tcGF0X3J1bnN0YXRlX2d1ZXN0OworICAgIH07CiAjZW5kaWYK IAogICAgIC8qIGxhc3QgdGltZSB3aGVuIHZDUFUgaXMgc2NoZWR1bGVkIG91dCAqLwoKCl9fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fClhlbi1kZXZlbCBtYWls aW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnCmh0dHBzOi8vbGlzdHMueGVu cHJvamVjdC5vcmcvbWFpbG1hbi9saXN0aW5mby94ZW4tZGV2ZWw=