From mboxrd@z Thu Jan 1 00:00:00 1970 From: Konrad Rzeszutek Wilk Subject: Re: [PATCH 09/11] xen/arm: vpl011: Modify domain_create_ring in xenconsole to map the ring buffer and event channel Date: Fri, 3 Mar 2017 16:46:08 -0500 Message-ID: <20170303214608.GA19035@char.us.ORACLE.com> References: <1487676368-22356-1-git-send-email-bhupinder.thakur@linaro.org> <1487676368-22356-10-git-send-email-bhupinder.thakur@linaro.org> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail6.bemta5.messagelabs.com ([195.245.231.135]) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1cjv1r-0006n6-Cv for xen-devel@lists.xenproject.org; Fri, 03 Mar 2017 21:46:23 +0000 Content-Disposition: inline In-Reply-To: <1487676368-22356-10-git-send-email-bhupinder.thakur@linaro.org> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: Bhupinder Thakur Cc: xen-devel@lists.xenproject.org, Julien Grall , Stefano Stabellini List-Id: xen-devel@lists.xenproject.org T24gVHVlLCBGZWIgMjEsIDIwMTcgYXQgMDQ6NTY6MDZQTSArMDUzMCwgQmh1cGluZGVyIFRoYWt1 ciB3cm90ZToKPiBNb2RmaWNhdGlvbiBpbiBkb21haW5fY3JlYXRlX3JpbmcoKToKPiAgICAgLSBC aW5kIHRvIHRoZSB2cGwwMTEgZXZlbnQgY2hhbm5lbCBvYnRhaW5lZCBmcm9tIHRoZSB4ZW4gc3Rv cmUgYXMgYSBuZXcgcGFyYW1ldGVyCj4gICAgIC0gTWFwIHRoZSBQRk4gdG8gaXRzIGFkZHJlc3Mg c3BhY2UgdG8gYmUgdXNlZCBhcyBJTi9PVVQgcmluZyBidWZmZXJzLiBJdCBvYnRhaW5zCj4gICAg ICAgdGhlIFBGTiBmcm9tIHRoZSB4ZW4gc3RvcmUgYXMgYSBuZXcgcGFyYW1ldGVyCj4gCj4gU2ln bmVkLW9mZi1ieTogQmh1cGluZGVyIFRoYWt1ciA8Ymh1cGluZGVyLnRoYWt1ckBsaW5hcm8ub3Jn Pgo+IC0tLQo+ICB0b29scy9jb25zb2xlL2RhZW1vbi9pby5jIHwgMTI4ICsrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0KPiAgMSBmaWxlIGNoYW5nZWQsIDExMCBp bnNlcnRpb25zKCspLCAxOCBkZWxldGlvbnMoLSkKPiAKPiBkaWZmIC0tZ2l0IGEvdG9vbHMvY29u c29sZS9kYWVtb24vaW8uYyBiL3Rvb2xzL2NvbnNvbGUvZGFlbW9uL2lvLmMKPiBpbmRleCA3ZTZh ODg2Li5iMWFhNjE1IDEwMDY0NAo+IC0tLSBhL3Rvb2xzL2NvbnNvbGUvZGFlbW9uL2lvLmMKPiAr KysgYi90b29scy9jb25zb2xlL2RhZW1vbi9pby5jCj4gQEAgLTEwMSwxMyArMTAxLDE4IEBAIHN0 cnVjdCBkb21haW4gewo+ICAJc3RydWN0IGRvbWFpbiAqbmV4dDsKPiAgCWNoYXIgKmNvbnNwYXRo Owo+ICAJaW50IHJpbmdfcmVmOwo+ICsJaW50IHZwbDAxMV9yaW5nX3JlZjsKPiAgCXhlbmV2dGNo bl9wb3J0X29yX2Vycm9yX3QgbG9jYWxfcG9ydDsKPiAgCXhlbmV2dGNobl9wb3J0X29yX2Vycm9y X3QgcmVtb3RlX3BvcnQ7Cj4gKwl4ZW5ldnRjaG5fcG9ydF9vcl9lcnJvcl90IHZwbDAxMV9sb2Nh bF9wb3J0Owo+ICsJeGVuZXZ0Y2huX3BvcnRfb3JfZXJyb3JfdCB2cGwwMTFfcmVtb3RlX3BvcnQ7 Cj4gIAl4ZW5ldnRjaG5faGFuZGxlICp4Y2VfaGFuZGxlOwo+ICAJaW50IHhjZV9wb2xsZmRfaWR4 Owo+ICAJc3RydWN0IHhlbmNvbnNfaW50ZXJmYWNlICppbnRlcmZhY2U7Cj4gKwlzdHJ1Y3QgeGVu Y29uc19pbnRlcmZhY2UgKnZwbDAxMV9pbnRlcmZhY2U7Cj4gIAlpbnQgZXZlbnRfY291bnQ7Cj4g IAlsb25nIGxvbmcgbmV4dF9wZXJpb2Q7Cj4gKwlib29sIHZwbDAxMV9pbml0aWFsaXplZDsKPiAg fTsKPiAgCj4gIHN0YXRpYyBzdHJ1Y3QgZG9tYWluICpkb21faGVhZDsKPiBAQCAtNTI5LDkgKzUz NCw1OCBAQCBzdGF0aWMgdm9pZCBkb21haW5fdW5tYXBfaW50ZXJmYWNlKHN0cnVjdCBkb21haW4g KmRvbSkKPiAgCWRvbS0+cmluZ19yZWYgPSAtMTsKPiAgfQo+ICAgCj4gK3N0YXRpYyB2b2lkIGRv bWFpbl91bm1hcF92cGwwMTFfaW50ZXJmYWNlKHN0cnVjdCBkb21haW4gKmRvbSkKPiArewo+ICsJ aWYgKCBkb20tPnZwbDAxMV9pbnRlcmZhY2UgPT0gTlVMTCApCj4gKyAgICAgICAgcmV0dXJuOwo+ ICsKPiArCWlmICggeGd0X2hhbmRsZSAmJiBkb20tPnZwbDAxMV9yaW5nX3JlZiA9PSAtMSApCj4g KwkJeGVuZ250dGFiX3VubWFwKHhndF9oYW5kbGUsIGRvbS0+dnBsMDExX2ludGVyZmFjZSwgMSk7 CgpUaGlzIGNvZGUgdXNlcyBpdHMgb3duIHN0eWxlZ3VpZGUsIHdoaWNoIG1lYW5zOgogLSBVc2Ug dGFicyBpbnN0ZWFkIG9mIHNwYWNlcy4gQW5kIG9ubHkgb25lIGhlcmUgKGFuZCBpbiB0aGUgYWJv dmUgcmV0dXJuKQogLSBObyBzcGFjZXMgYmV0d2VlbiAoICkuCgoKPiArCWVsc2UKPiArCQltdW5t YXAoZG9tLT52cGwwMTFfaW50ZXJmYWNlLCBYQ19QQUdFX1NJWkUpOwo+ICsJZG9tLT52cGwwMTFf aW50ZXJmYWNlID0gTlVMTDsKPiArCWRvbS0+dnBsMDExX3JpbmdfcmVmID0gLTE7Cj4gK30KCgpI bSBvbiBzZWNvbmQgdGhvdWdodCwgdGhpcyBsb29rcyBsaWtlIGRvbWFpbl91bm1hcF9pbnRlcmZh Y2UuIENhbiB5b3UganVzdApyZXBsaWNhdGUgaXQgdG8gYmUgbGlrZSBpdD8KCk9yIGJldHRlciB5 ZXQuIENvdWxkIHlvdSBjaGFuZ2UgdGhlIGRvbWFpbl91bm1hcF9pbnRlcmZhY2UgdG8KYWNjZXB0 IHR3byBwYXJhbWV0ZXJzOiBhIHZvaWQgcG9pbnRlciB0byB0aGUgaW50ZXJmYWNlIGFuZAogYSBw b2ludGVyIHRvIHRoZSByaW5nX3JlZj8KClRoYXQgd2F5IHlvdSBjb3VsZCBkbzoKIGRvbWFpbl91 bm1hcF9pbnRlcmZhY2UoJmRvbS0+aW50ZXJmYWNlLCAmZG9tLT5yaW5nX3JlZik7CiBkb21haW5f dW5tYXBfaW50ZXJmYWNlKCZkb20tPnZwbDAxMV9pbnRlcmZhY2UsICZkb20tPnZwbDAxMV9yaW5n X3JlZik7CgpBbmQgeW91IHdvdWxkIHJldXNlIHRoZSBmdW5jdGlvbj8KCgo+ICsKPiAraW50IGJp bmRfZXZlbnRfY2hhbm5lbChzdHJ1Y3QgZG9tYWluICpkb20sIGludCBuZXdfcnBvcnQsIGludCAq bHBvcnQsIGludCAqcnBvcnQpCj4gK3sKPiArCWludCBlcnIgPSAwLCByYzsKPiArCj4gKwkvKiBH byBubyBmdXJ0aGVyIGlmIHBvcnQgaGFzIG5vdCBjaGFuZ2VkIGFuZCB3ZSBhcmUgc3RpbGwgYm91 bmQuICovCj4gKwlpZiAoIG5ld19ycG9ydCA9PSAqcnBvcnQgKSB7CgpBZ2Fpbiwgbm8gc3BhY2Vz IGhlcmUuCgo+ICsJCXhjX2V2dGNobl9zdGF0dXNfdCBzdGF0dXMgPSB7Cj4gKwkJLmRvbSA9IERP TUlEX1NFTEYsCj4gKwkJLnBvcnQgPSAqbHBvcnQgfTsKCj4gKwlpZiAoKHhjX2V2dGNobl9zdGF0 dXMoeGMsICZzdGF0dXMpID09IDApICYmCgpTaG91bGRuJ3QgdGhpcyBoYXZlIGFuIHRhYiBpbiBm cm9udCBpdD8gSXQgaXMgcGFydCBvZiB0aGUgJ2lmIChuZXdfcnBvcnQgPT0gKnJwb3J0KScgY29u ZGl0aW9uYWwKYWZ0ZXIgYWxsLgoKPiArCQkoc3RhdHVzLnN0YXR1cyA9PSBFVlRDSE5TVEFUX2lu dGVyZG9tYWluKSkKPiArCQlnb3RvIG91dDsKPiArCX0KPiArCj4gKwkvKiBpbml0aWFsaXplIHRo ZSBwb3J0cyAqLwoKUGxlYXNlIHJlbW92ZSB0aGlzIGNvbW1lbnQKPiArCSpscG9ydCA9IC0xOwo+ ICsJKnJwb3J0ID0gLTE7Cj4gKyAKPiArCS8qIGJpbmQgdG8gbmV3IHJlbW90ZSBwb3J0ICovCgpB bmQgdGhpcyBvbmUuLgo+ICsJcmMgPSB4ZW5ldnRjaG5fYmluZF9pbnRlcmRvbWFpbihkb20tPnhj ZV9oYW5kbGUsCj4gKwlkb20tPmRvbWlkLCBuZXdfcnBvcnQpOwoKSHVoPyB0aGF0IHNob3VsZCBo YXZlIGJlZW4gbW92ZWQgdG8gYmUgdW5kZXIgKC4KCj4gKwo+ICsJaWYgKCByYyA9PSAtMSApIHsK Cldyb25nIHN0eWxlIGd1aWRlLiBObyBzcGFjZXMuCgo+ICsJCWVyciA9IGVycm5vOwo+ICsJCXhl bmV2dGNobl9jbG9zZShkb20tPnhjZV9oYW5kbGUpOwo+ICsJCWRvbS0+eGNlX2hhbmRsZSA9IE5V TEw7Cj4gKwkJZ290byBvdXQ7Cj4gKwl9Cj4gKwo+ICsJLyogc3RvcmUgbmV3IGxvY2FsIGFuZCBy ZW1vdGUgZXZlbnQgY2hhbm5lbCBwb3J0cyAqLwoKUGxlYXNlIHJlbW92ZSB0aGlzIGNvbW1lbnQu Cgo+ICsJKmxwb3J0ID0gcmM7Cj4gKwkqcnBvcnQgPSBuZXdfcnBvcnQ7Cj4gK291dDoKPiArCXJl dHVybiBlcnI7Cj4gK30KPiArIAo+ICBzdGF0aWMgaW50IGRvbWFpbl9jcmVhdGVfcmluZyhzdHJ1 Y3QgZG9tYWluICpkb20pCj4gIHsKPiAtCWludCBlcnIsIHJlbW90ZV9wb3J0LCByaW5nX3JlZiwg cmM7Cj4gKwlpbnQgZXJyLCByZW1vdGVfcG9ydCwgcmluZ19yZWYsIHZwbDAxMV9yZW1vdGVfcG9y dCwgdnBsMDExX3JpbmdfcmVmOwo+ICAJY2hhciAqdHlwZSwgcGF0aFtQQVRIX01BWF07Cj4gIAo+ ICAJZXJyID0geHNfZ2F0aGVyKHhzLCBkb20tPmNvbnNwYXRoLAo+IEBAIC01NDEsNiArNTk1LDIw IEBAIHN0YXRpYyBpbnQgZG9tYWluX2NyZWF0ZV9yaW5nKHN0cnVjdCBkb21haW4gKmRvbSkKPiAg CWlmIChlcnIpCj4gIAkJZ290byBvdXQ7Cj4gIAo+ICsJLyoKPiArCSogaWYgdGhlIHZwbDAxMSBw YXJhbWV0ZXJzIGFyZSBub3QgYXZhaWxhYmxlIG9yIGFyZSBub3QgaW5pdGlhbGl6ZWQKPiArCSog dGhlIHZwbDAxMSBjb25zb2xlIGlzIG5vdCBhdmFpbGFibGUKCkkgd291bGQganVzdCBjaGFuZ2Ug dGhpcyB0bzoKCi8qIHZwbDAxMSBpcyBvcHRpb25hbC4gKi8KCj4gKwkqLwo+ICsJZXJyID0geHNf Z2F0aGVyKHhzLCBkb20tPmNvbnNwYXRoLAo+ICsJCSJ2cGwwMTEtcmluZy1yZWYiLCAiJXUiLCAm dnBsMDExX3JpbmdfcmVmLAo+ICsJCSJ2cGwwMTEtcG9ydCIsICIlaSIsICZ2cGwwMTFfcmVtb3Rl X3BvcnQsCgpIb3cgY29tZSB5b3UgZG9uJ3QgdXNlICV1IGZvciBib3RoPwoKPiArCQlOVUxMKTsK PiArCj4gKwlpZiAoIGVyciB8fCB2cGwwMTFfcmluZ19yZWYgPT0gLTEgKQo+ICsJCWRvbS0+dnBs MDExX2luaXRpYWxpemVkID0gZmFsc2U7Cj4gKwllbHNlCj4gKwkJZG9tLT52cGwwMTFfaW5pdGlh bGl6ZWQgPSB0cnVlOwo+ICsKPiAgCXNucHJpbnRmKHBhdGgsIHNpemVvZihwYXRoKSwgIiVzL3R5 cGUiLCBkb20tPmNvbnNwYXRoKTsKPiAgCXR5cGUgPSB4c19yZWFkKHhzLCBYQlRfTlVMTCwgcGF0 aCwgTlVMTCk7Cj4gIAlpZiAodHlwZSAmJiBzdHJjbXAodHlwZSwgInhlbmNvbnNvbGVkIikgIT0g MCkgewo+IEBAIC01NTMsNiArNjIxLDEyIEBAIHN0YXRpYyBpbnQgZG9tYWluX2NyZWF0ZV9yaW5n KHN0cnVjdCBkb21haW4gKmRvbSkKPiAgCWlmIChyaW5nX3JlZiAhPSBkb20tPnJpbmdfcmVmICYm IGRvbS0+cmluZ19yZWYgIT0gLTEpCj4gIAkJZG9tYWluX3VubWFwX2ludGVyZmFjZShkb20pOwo+ ICAKPiArCS8qIElmIHVzaW5nIHZwbDAxMSByaW5nX3JlZiBhbmQgaXQgaGFzIGNoYW5nZWQsIHJl bWFwICovCj4gKwlpZiAoIGRvbS0+dnBsMDExX2luaXRpYWxpemVkICYmIAo+ICsJCXZwbDAxMV9y aW5nX3JlZiAhPSBkb20tPnZwbDAxMV9yaW5nX3JlZiAmJiAKPiArCQlkb20tPnZwbDAxMV9yaW5n X3JlZiAhPSAtMSApCgpTb21ldGhpbmcgaXMgb2ZmIGhlcmUuIE9yIG1heWJlIGl0IGlzIG15IGVk aXRvci4gQnV0IEkgd291bGQgdGhpbmsgdGhhdCB0aGUgY29uZHRpb25hbHMKIHNob3VsZCBiZSBv biB0aGUgc2FtZSBsaW5lLiBBbHNvLCBubyBzcGFjZXMgaGVyZS4KCj4gKwkJZG9tYWluX3VubWFw X3ZwbDAxMV9pbnRlcmZhY2UoZG9tKTsKPiArCj4gIAlpZiAoIWRvbS0+aW50ZXJmYWNlICYmIHhn dF9oYW5kbGUpIHsKPiAgCQkvKiBQcmVmZXIgdXNpbmcgZ3JhbnQgdGFibGUgKi8KPiAgCQlkb20t PmludGVyZmFjZSA9IHhlbmdudHRhYl9tYXBfZ3JhbnRfcmVmKHhndF9oYW5kbGUsCj4gQEAgLTU2 MCw2ICs2MzQsOCBAQCBzdGF0aWMgaW50IGRvbWFpbl9jcmVhdGVfcmluZyhzdHJ1Y3QgZG9tYWlu ICpkb20pCj4gIAkJCVBST1RfUkVBRHxQUk9UX1dSSVRFKTsKPiAgCQlkb20tPnJpbmdfcmVmID0g LTE7Cj4gIAl9Cj4gKwo+ICsJLyogbWFwIFBWIGNvbnNvbGUgcmluZyBidWZmZXIgKi8KCj8/IFBs ZWFzZSByZW1vdmUgdGhhdC4KPiAgCWlmICghZG9tLT5pbnRlcmZhY2UpIHsKPiAgCQkvKiBGYWxs IGJhY2sgdG8geGNfbWFwX2ZvcmVpZ25fcmFuZ2UgKi8KPiAgCQlkb20tPmludGVyZmFjZSA9IHhj X21hcF9mb3JlaWduX3JhbmdlKAo+IEBAIC01NzMsMTggKzY0OSwyMSBAQCBzdGF0aWMgaW50IGRv bWFpbl9jcmVhdGVfcmluZyhzdHJ1Y3QgZG9tYWluICpkb20pCj4gIAkJZG9tLT5yaW5nX3JlZiA9 IHJpbmdfcmVmOwo+ICAJfQo+ICAKPiAtCS8qIEdvIG5vIGZ1cnRoZXIgaWYgcG9ydCBoYXMgbm90 IGNoYW5nZWQgYW5kIHdlIGFyZSBzdGlsbCBib3VuZC4gKi8KPiAtCWlmIChyZW1vdGVfcG9ydCA9 PSBkb20tPnJlbW90ZV9wb3J0KSB7Cj4gLQkJeGNfZXZ0Y2huX3N0YXR1c190IHN0YXR1cyA9IHsK PiAtCQkJLmRvbSA9IERPTUlEX1NFTEYsCj4gLQkJCS5wb3J0ID0gZG9tLT5sb2NhbF9wb3J0IH07 Cj4gLQkJaWYgKCh4Y19ldnRjaG5fc3RhdHVzKHhjLCAmc3RhdHVzKSA9PSAwKSAmJgo+IC0JCSAg ICAoc3RhdHVzLnN0YXR1cyA9PSBFVlRDSE5TVEFUX2ludGVyZG9tYWluKSkKPiArCS8qIG1hcCB2 cGwwMTEgY29uc29sZSByaW5nIGJ1ZmZlciAqLwoKcy9tYXAvTWFwLyBhbmQgYWxzbyBhZGQgcGVy aW9kIGF0IHRoZSBlbmQgcGxlYXNlLgoKPiArCWlmICggZG9tLT52cGwwMTFfaW5pdGlhbGl6ZWQg JiYgIWRvbS0+dnBsMDExX2ludGVyZmFjZSApIHsKPiArCj4gKwkJLyogRmFsbCBiYWNrIHRvIHhj X21hcF9mb3JlaWduX3JhbmdlICovCj4gKwkJZG9tLT52cGwwMTFfaW50ZXJmYWNlID0geGNfbWFw X2ZvcmVpZ25fcmFuZ2UoCj4gKwkJeGMsIGRvbS0+ZG9taWQsIFhDX1BBR0VfU0laRSwKPiArCQlQ Uk9UX1JFQUR8UFJPVF9XUklURSwKPiArCQkodW5zaWduZWQgbG9uZyl2cGwwMTFfcmluZ19yZWYp OwoKV2hhdCBoYXBwZW5kIGhlcmU/IElzIG15IGVkaXRvciBtaXhlZCB1cD8gSSB3b3VsZCB0aGlu ayB0aGF0IHRob3NlCndvdWxkIGEgYml0IHNoaWZ0ZWQgb3Zlcj8KCj4gKwkJaWYgKCBkb20tPnZw bDAxMV9pbnRlcmZhY2UgPT0gTlVMTCApIHsKCk5vIHNwYWNlcyAuLgo+ICsJCQllcnIgPSBFSU5W QUw7Cj4gIAkJCWdvdG8gb3V0Owo+ICsJCX0KPiArCQlkb20tPnZwbDAxMV9yaW5nX3JlZiA9IHZw bDAxMV9yaW5nX3JlZjsKPiAgCX0KPiAgCj4gLQlkb20tPmxvY2FsX3BvcnQgPSAtMTsKPiAtCWRv bS0+cmVtb3RlX3BvcnQgPSAtMTsKPiAgCWlmIChkb20tPnhjZV9oYW5kbGUgIT0gTlVMTCkKPiAg CQl4ZW5ldnRjaG5fY2xvc2UoZG9tLT54Y2VfaGFuZGxlKTsKPiAgCj4gQEAgLTU5NiwxNyArNjc1 LDI0IEBAIHN0YXRpYyBpbnQgZG9tYWluX2NyZWF0ZV9yaW5nKHN0cnVjdCBkb21haW4gKmRvbSkK PiAgCQlnb3RvIG91dDsKPiAgCX0KPiAgIAo+IC0JcmMgPSB4ZW5ldnRjaG5fYmluZF9pbnRlcmRv bWFpbihkb20tPnhjZV9oYW5kbGUsCj4gLQkJZG9tLT5kb21pZCwgcmVtb3RlX3BvcnQpOwo+IC0K PiAtCWlmIChyYyA9PSAtMSkgewo+IC0JCWVyciA9IGVycm5vOwo+ICsJLyogYmluZCBQViBjb25z b2xlIGNoYW5uZWwgKi8KPiArCWVyciA9IGJpbmRfZXZlbnRfY2hhbm5lbChkb20sIHJlbW90ZV9w b3J0LCAmZG9tLT5sb2NhbF9wb3J0LCAmZG9tLT5yZW1vdGVfcG9ydCk7Cj4gKwlpZiAoZXJyKQo+ ICsJewoKeyBpcyBvbiB0aGUgc2FtZSBsaW5lIGFzIGlmIChlcnIpIAoKPiAgCQl4ZW5ldnRjaG5f Y2xvc2UoZG9tLT54Y2VfaGFuZGxlKTsKPiAtCQlkb20tPnhjZV9oYW5kbGUgPSBOVUxMOwoKV2h5 PyBXZSBhcmUgc3RpbGwgY2xvc2luZyBpdC4uCgo+ICAJCWdvdG8gb3V0Owo+ICAJfQo+IC0JZG9t LT5sb2NhbF9wb3J0ID0gcmM7Cj4gLQlkb20tPnJlbW90ZV9wb3J0ID0gcmVtb3RlX3BvcnQ7Cj4g Kwo+ICsJLyogYmluZCB2cGwwMTEgY29uc29sZSBjaGFubmVsICovCgpVcHBlcmNhc2UgcGxlYXNl IGFuZCBwZXJpb2QuCgo+ICsJaWYgKCBkb20tPnZwbDAxMV9pbml0aWFsaXplZCApCj4gKwl7Cgp7 IGlzIG9uIHRoZSBzYW1lIGxpbmUgYXMgaWYgaW4gdGhpcyBjb2RlLgoKPiArCQllcnIgPSBiaW5k X2V2ZW50X2NoYW5uZWwoZG9tLCB2cGwwMTFfcmVtb3RlX3BvcnQsICZkb20tPnZwbDAxMV9sb2Nh bF9wb3J0LCAmZG9tLT52cGwwMTFfcmVtb3RlX3BvcnQpOwo+ICsJCWlmIChlcnIpCj4gKwkJewoK RGl0dG8uCj4gKwkJCXhlbmV2dGNobl9jbG9zZShkb20tPnhjZV9oYW5kbGUpOwoKTm8geGNlX2hh bmRsZSA9IE5VTEw/Cgo+ICsJCQlnb3RvIG91dDsKPiArCQl9Cj4gKwl9Cj4gIAo+ICAJaWYgKGRv bS0+bWFzdGVyX2ZkID09IC0xKSB7Cj4gIAkJaWYgKCFkb21haW5fY3JlYXRlX3R0eShkb20pKSB7 Cj4gQEAgLTYxNSw2ICs3MDEsOSBAQCBzdGF0aWMgaW50IGRvbWFpbl9jcmVhdGVfcmluZyhzdHJ1 Y3QgZG9tYWluICpkb20pCj4gIAkJCWRvbS0+eGNlX2hhbmRsZSA9IE5VTEw7Cj4gIAkJCWRvbS0+ bG9jYWxfcG9ydCA9IC0xOwo+ICAJCQlkb20tPnJlbW90ZV9wb3J0ID0gLTE7Cj4gKwkJCWRvbS0+ dnBsMDExX2xvY2FsX3BvcnQgPSAtMTsKPiArCQkJZG9tLT52cGwwMTFfcmVtb3RlX3BvcnQgPSAt MTsKPiArCQkJZG9tLT52cGwwMTFfaW5pdGlhbGl6ZWQgPSBmYWxzZTsKPiAgCQkJZ290byBvdXQ7 Cj4gIAkJfQo+ICAJfQo+IEBAIC02ODQsOCArNzczLDExIEBAIHN0YXRpYyBzdHJ1Y3QgZG9tYWlu ICpjcmVhdGVfZG9tYWluKGludCBkb21pZCkKPiAgCWRvbS0+bmV4dF9wZXJpb2QgPSAoKGxvbmcg bG9uZyl0cy50dl9zZWMgKiAxMDAwKSArICh0cy50dl9uc2VjIC8gMTAwMDAwMCkgKyBSQVRFX0xJ TUlUX1BFUklPRDsKPiAgCj4gIAlkb20tPnJpbmdfcmVmID0gLTE7Cj4gKwlkb20tPnZwbDAxMV9y aW5nX3JlZiA9IC0xOwo+ICAJZG9tLT5sb2NhbF9wb3J0ID0gLTE7Cj4gIAlkb20tPnJlbW90ZV9w b3J0ID0gLTE7Cj4gKwlkb20tPnZwbDAxMV9sb2NhbF9wb3J0ID0gLTE7Cj4gKwlkb20tPnZwbDAx MV9yZW1vdGVfcG9ydCA9IC0xOwo+ICAKPiAgCWlmICghd2F0Y2hfZG9tYWluKGRvbSwgdHJ1ZSkp Cj4gIAkJZ290byBvdXQ7Cj4gLS0gCj4gMi43LjQKPiAKPiAKPiBfX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fXwo+IFhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKPiBY ZW4tZGV2ZWxAbGlzdHMueGVuLm9yZwo+IGh0dHBzOi8vbGlzdHMueGVuLm9yZy94ZW4tZGV2ZWwK Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fClhlbi1kZXZl bCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbi5vcmcKaHR0cHM6Ly9saXN0cy54ZW4u b3JnL3hlbi1kZXZlbAo=