From mboxrd@z Thu Jan 1 00:00:00 1970 From: Bhupinder Thakur Subject: [PATCH 10/25 v6] xen/arm: vpl011: Modify xenconsole functions to take console structure as input Date: Mon, 17 Jul 2017 18:36:40 +0530 Message-ID: <1500296815-10243-11-git-send-email-bhupinder.thakur@linaro.org> References: <1500296815-10243-1-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 1dX5kO-0004Mr-AB for xen-devel@lists.xenproject.org; Mon, 17 Jul 2017 13:07:36 +0000 Received: by mail-pf0-f179.google.com with SMTP id q85so76278138pfq.1 for ; Mon, 17 Jul 2017 06:07:34 -0700 (PDT) In-Reply-To: <1500296815-10243-1-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: xen-devel@lists.xenproject.org Cc: Wei Liu , Julien Grall , Stefano Stabellini , Ian Jackson List-Id: xen-devel@lists.xenproject.org WGVuY29uc29sZSBmdW5jdGlvbnMgdGFrZSBkb21haW4gc3RydWN0dXJlIGFzIGlucHV0LiBUaGVz ZSBmdW5jdGlvbnMgc2hhbGwgYmUKbW9kaWZpZWQgdG8gdGFrZSBjb25zb2xlIHN0cnVjdHVyZSBh cyBpbnB1dCBzaW5jZSB0aGVzZSBmdW5jdGlvbnMgdHlwaWNhbGx5IHBlcmZvcm0KY29uc29sZSBz cGVjaWZpYyBvcGVyYXRpb25zLgoKQWxzbyB0aGUgY29uc29sZSBzcGVjaWZpYyBmdW5jdGlvbnMg c3RhcnRpbmcgd2l0aCBwcmVmaXggImRvbWFpbl8iIHNoYWxsIGJlIG1vZGlmaWVkCnRvICJjb25z b2xlXyIgdG8gaW5kaWNhdGUgdGhhdCB0aGVzZSBhcmUgY29uc29sZSBzcGVjaWZpYyBmdW5jdGlv bnMuCgpUaGlzIHBhdGNoIGlzIGluIHByZXBhcmF0aW9uIHRvIHN1cHBvcnQgbXVsdGlwbGUgY29u c29sZXMgdG8gc3VwcG9ydCB2dWFydCBjb25zb2xlLgoKU2lnbmVkLW9mZi1ieTogQmh1cGluZGVy IFRoYWt1ciA8Ymh1cGluZGVyLnRoYWt1ckBsaW5hcm8ub3JnPgpBY2tlZC1ieTogU3RlZmFubyBT dGFiZWxsaW5pIDxzc3RhYmVsbGluaUBrZXJuZWwub3JnPgpBY2tlZC1ieTogV2VpIExpdSA8d2Vp LmxpdTJAY2l0cml4LmNvbT4KLS0tCkNDOiBJYW4gSmFja3NvbiA8aWFuLmphY2tzb25AZXUuY2l0 cml4LmNvbT4KQ0M6IFdlaSBMaXUgPHdlaS5saXUyQGNpdHJpeC5jb20+CkNDOiBTdGVmYW5vIFN0 YWJlbGxpbmkgPHNzdGFiZWxsaW5pQGtlcm5lbC5vcmc+CkNDOiBKdWxpZW4gR3JhbGwgPGp1bGll bi5ncmFsbEBhcm0uY29tPgoKQ2hhbmdlcyBzaW5jZSB2MzoKLSBUaGUgY2hhbmdlcyBpbiB4ZW5j b25zb2xlIGhhdmUgYmVlbiBzcGxpdCBpbnRvIGZvdXIgcGF0Y2hlcy4gVGhpcyBpcyB0aGUgc2Vj b25kIHBhdGNoLgoKIHRvb2xzL2NvbnNvbGUvZGFlbW9uL2lvLmMgfCA3OSArKysrKysrKysrKysr KysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogMSBmaWxlIGNoYW5nZWQsIDM4IGlu c2VydGlvbnMoKyksIDQxIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3Rvb2xzL2NvbnNvbGUv ZGFlbW9uL2lvLmMgYi90b29scy9jb25zb2xlL2RhZW1vbi9pby5jCmluZGV4IDZmNWM2OWMuLmEy YTM0OTYgMTAwNjQ0Ci0tLSBhL3Rvb2xzL2NvbnNvbGUvZGFlbW9uL2lvLmMKKysrIGIvdG9vbHMv Y29uc29sZS9kYWVtb24vaW8uYwpAQCAtMTYzLDEwICsxNjMsMTAgQEAgc3RhdGljIGludCB3cml0 ZV93aXRoX3RpbWVzdGFtcChpbnQgZmQsIGNvbnN0IGNoYXIgKmRhdGEsIHNpemVfdCBzeiwKIAly ZXR1cm4gMDsKIH0KIAotc3RhdGljIHZvaWQgYnVmZmVyX2FwcGVuZChzdHJ1Y3QgZG9tYWluICpk b20pCitzdGF0aWMgdm9pZCBidWZmZXJfYXBwZW5kKHN0cnVjdCBjb25zb2xlICpjb24pCiB7Ci0J c3RydWN0IGNvbnNvbGUgKmNvbiA9ICZkb20tPmNvbnNvbGU7CiAJc3RydWN0IGJ1ZmZlciAqYnVm ZmVyID0gJmNvbi0+YnVmZmVyOworCXN0cnVjdCBkb21haW4gKmRvbSA9IGNvbi0+ZDsKIAlYRU5D T05TX1JJTkdfSURYIGNvbnMsIHByb2QsIHNpemU7CiAJc3RydWN0IHhlbmNvbnNfaW50ZXJmYWNl ICppbnRmID0gY29uLT5pbnRlcmZhY2U7CiAKQEAgLTI5NiwxMiArMjk2LDEzIEBAIHN0YXRpYyBp bnQgY3JlYXRlX2h2X2xvZyh2b2lkKQogCXJldHVybiBmZDsKIH0KIAotc3RhdGljIGludCBjcmVh dGVfZG9tYWluX2xvZyhzdHJ1Y3QgZG9tYWluICpkb20pCitzdGF0aWMgaW50IGNyZWF0ZV9jb25z b2xlX2xvZyhzdHJ1Y3QgY29uc29sZSAqY29uKQogewogCWNoYXIgbG9nZmlsZVtQQVRIX01BWF07 CiAJY2hhciAqbmFtZXBhdGgsICpkYXRhLCAqczsKIAlpbnQgZmQ7CiAJdW5zaWduZWQgaW50IGxl bjsKKwlzdHJ1Y3QgZG9tYWluICpkb20gPSBjb24tPmQ7CiAKIAluYW1lcGF0aCA9IHhzX2dldF9k b21haW5fcGF0aCh4cywgZG9tLT5kb21pZCk7CiAJcyA9IHJlYWxsb2MobmFtZXBhdGgsIHN0cmxl bihuYW1lcGF0aCkgKyA2KTsKQEAgLTM0MiwxMCArMzQzLDggQEAgc3RhdGljIGludCBjcmVhdGVf ZG9tYWluX2xvZyhzdHJ1Y3QgZG9tYWluICpkb20pCiAJcmV0dXJuIGZkOwogfQogCi1zdGF0aWMg dm9pZCBkb21haW5fY2xvc2VfdHR5KHN0cnVjdCBkb21haW4gKmRvbSkKK3N0YXRpYyB2b2lkIGNv bnNvbGVfY2xvc2VfdHR5KHN0cnVjdCBjb25zb2xlICpjb24pCiB7Ci0Jc3RydWN0IGNvbnNvbGUg KmNvbiA9ICZkb20tPmNvbnNvbGU7Ci0KIAlpZiAoY29uLT5tYXN0ZXJfZmQgIT0gLTEpIHsKIAkJ Y2xvc2UoY29uLT5tYXN0ZXJfZmQpOwogCQljb24tPm1hc3Rlcl9mZCA9IC0xOwpAQCAtNDE3LDcg KzQxNiw3IEBAIHZvaWQgY2ZtYWtlcmF3KHN0cnVjdCB0ZXJtaW9zICp0ZXJtaW9zX3ApCiB9CiAj ZW5kaWYgLyogX19zdW5fXyAqLwogCi1zdGF0aWMgaW50IGRvbWFpbl9jcmVhdGVfdHR5KHN0cnVj dCBkb21haW4gKmRvbSkKK3N0YXRpYyBpbnQgY29uc29sZV9jcmVhdGVfdHR5KHN0cnVjdCBjb25z b2xlICpjb24pCiB7CiAJY29uc3QgY2hhciAqc2xhdmU7CiAJY2hhciAqcGF0aDsKQEAgLTQyNiw3 ICs0MjUsNyBAQCBzdGF0aWMgaW50IGRvbWFpbl9jcmVhdGVfdHR5KHN0cnVjdCBkb21haW4gKmRv bSkKIAljaGFyICpkYXRhOwogCXVuc2lnbmVkIGludCBsZW47CiAJc3RydWN0IHRlcm1pb3MgdGVy bTsKLQlzdHJ1Y3QgY29uc29sZSAqY29uID0gJmRvbS0+Y29uc29sZTsKKwlzdHJ1Y3QgZG9tYWlu ICpkb20gPSBjb24tPmQ7CiAKIAlhc3NlcnQoY29uLT5zbGF2ZV9mZCA9PSAtMSk7CiAJYXNzZXJ0 KGNvbi0+bWFzdGVyX2ZkID09IC0xKTsKQEAgLTQ4Nyw3ICs0ODYsNyBAQCBzdGF0aWMgaW50IGRv bWFpbl9jcmVhdGVfdHR5KHN0cnVjdCBkb21haW4gKmRvbSkKIAogCXJldHVybiAxOwogb3V0Ogot CWRvbWFpbl9jbG9zZV90dHkoZG9tKTsKKwljb25zb2xlX2Nsb3NlX3R0eShjb24pOwogCXJldHVy biAwOwogfQogIApAQCAtNTI2LDEwICs1MjUsOCBAQCBzdGF0aWMgaW50IHhzX2dhdGhlcihzdHJ1 Y3QgeHNfaGFuZGxlICp4cywgY29uc3QgY2hhciAqZGlyLCAuLi4pCiAJcmV0dXJuIHJldDsKIH0K IAotc3RhdGljIHZvaWQgZG9tYWluX3VubWFwX2ludGVyZmFjZShzdHJ1Y3QgZG9tYWluICpkb20p CitzdGF0aWMgdm9pZCBjb25zb2xlX3VubWFwX2ludGVyZmFjZShzdHJ1Y3QgY29uc29sZSAqY29u KQogewotCXN0cnVjdCBjb25zb2xlICpjb24gPSAmZG9tLT5jb25zb2xlOwotCiAJaWYgKGNvbi0+ aW50ZXJmYWNlID09IE5VTEwpCiAJCXJldHVybjsKIAlpZiAoeGd0X2hhbmRsZSAmJiBjb24tPnJp bmdfcmVmID09IC0xKQpAQCAtNTQwLDExICs1MzcsMTEgQEAgc3RhdGljIHZvaWQgZG9tYWluX3Vu bWFwX2ludGVyZmFjZShzdHJ1Y3QgZG9tYWluICpkb20pCiAJY29uLT5yaW5nX3JlZiA9IC0xOwog fQogIAotc3RhdGljIGludCBkb21haW5fY3JlYXRlX3Jpbmcoc3RydWN0IGRvbWFpbiAqZG9tKQor c3RhdGljIGludCBjb25zb2xlX2NyZWF0ZV9yaW5nKHN0cnVjdCBjb25zb2xlICpjb24pCiB7CiAJ aW50IGVyciwgcmVtb3RlX3BvcnQsIHJpbmdfcmVmLCByYzsKIAljaGFyICp0eXBlLCBwYXRoW1BB VEhfTUFYXTsKLQlzdHJ1Y3QgY29uc29sZSAqY29uID0gJmRvbS0+Y29uc29sZTsKKwlzdHJ1Y3Qg ZG9tYWluICpkb20gPSBjb24tPmQ7CiAKIAllcnIgPSB4c19nYXRoZXIoeHMsIGNvbi0+eHNwYXRo LAogCQkJInJpbmctcmVmIiwgIiV1IiwgJnJpbmdfcmVmLApAQCAtNTYzLDcgKzU2MCw3IEBAIHN0 YXRpYyBpbnQgZG9tYWluX2NyZWF0ZV9yaW5nKHN0cnVjdCBkb21haW4gKmRvbSkKIAogCS8qIElm IHVzaW5nIHJpbmdfcmVmIGFuZCBpdCBoYXMgY2hhbmdlZCwgcmVtYXAgKi8KIAlpZiAocmluZ19y ZWYgIT0gY29uLT5yaW5nX3JlZiAmJiBjb24tPnJpbmdfcmVmICE9IC0xKQotCQlkb21haW5fdW5t YXBfaW50ZXJmYWNlKGRvbSk7CisJCWNvbnNvbGVfdW5tYXBfaW50ZXJmYWNlKGNvbik7CiAKIAlp ZiAoIWNvbi0+aW50ZXJmYWNlICYmIHhndF9oYW5kbGUpIHsKIAkJLyogUHJlZmVyIHVzaW5nIGdy YW50IHRhYmxlICovCkBAIC02MjEsNyArNjE4LDcgQEAgc3RhdGljIGludCBkb21haW5fY3JlYXRl X3Jpbmcoc3RydWN0IGRvbWFpbiAqZG9tKQogCWNvbi0+cmVtb3RlX3BvcnQgPSByZW1vdGVfcG9y dDsKIAogCWlmIChjb24tPm1hc3Rlcl9mZCA9PSAtMSkgewotCQlpZiAoIWRvbWFpbl9jcmVhdGVf dHR5KGRvbSkpIHsKKwkJaWYgKCFjb25zb2xlX2NyZWF0ZV90dHkoY29uKSkgewogCQkJZXJyID0g ZXJybm87CiAJCQl4ZW5ldnRjaG5fY2xvc2UoY29uLT54Y2VfaGFuZGxlKTsKIAkJCWNvbi0+eGNl X2hhbmRsZSA9IE5VTEw7CkBAIC02MzIsNyArNjI5LDcgQEAgc3RhdGljIGludCBkb21haW5fY3Jl YXRlX3Jpbmcoc3RydWN0IGRvbWFpbiAqZG9tKQogCX0KIAogCWlmIChsb2dfZ3Vlc3QgJiYgKGNv bi0+bG9nX2ZkID09IC0xKSkKLQkJY29uLT5sb2dfZmQgPSBjcmVhdGVfZG9tYWluX2xvZyhkb20p OworCQljb24tPmxvZ19mZCA9IGNyZWF0ZV9jb25zb2xlX2xvZyhjb24pOwogCiAgb3V0OgogCXJl dHVybiBlcnI7CkBAIC02NDgsNyArNjQ1LDcgQEAgc3RhdGljIGJvb2wgd2F0Y2hfZG9tYWluKHN0 cnVjdCBkb21haW4gKmRvbSwgYm9vbCB3YXRjaCkKIAlpZiAod2F0Y2gpIHsKIAkJc3VjY2VzcyA9 IHhzX3dhdGNoKHhzLCBjb24tPnhzcGF0aCwgZG9taWRfc3RyKTsKIAkJaWYgKHN1Y2Nlc3MpCi0J CQlkb21haW5fY3JlYXRlX3JpbmcoZG9tKTsKKwkJCWNvbnNvbGVfY3JlYXRlX3JpbmcoY29uKTsK IAkJZWxzZQogCQkJeHNfdW53YXRjaCh4cywgY29uLT54c3BhdGgsIGRvbWlkX3N0cik7CiAJfSBl bHNlIHsKQEAgLTY5NSw2ICs2OTIsNyBAQCBzdGF0aWMgc3RydWN0IGRvbWFpbiAqY3JlYXRlX2Rv bWFpbihpbnQgZG9taWQpCiAJY29uLT5zbGF2ZV9mZCA9IC0xOwogCWNvbi0+bG9nX2ZkID0gLTE7 CiAJY29uLT54Y2VfcG9sbGZkX2lkeCA9IC0xOworCWNvbi0+ZCA9IGRvbTsKIAogCWNvbi0+bmV4 dF9wZXJpb2QgPSAoKGxvbmcgbG9uZyl0cy50dl9zZWMgKiAxMDAwKSArICh0cy50dl9uc2VjIC8g MTAwMDAwMCkgKyBSQVRFX0xJTUlUX1BFUklPRDsKIApAQCAtNzQ2LDcgKzc0NCw3IEBAIHN0YXRp YyB2b2lkIGNsZWFudXBfZG9tYWluKHN0cnVjdCBkb21haW4gKmQpCiB7CiAJc3RydWN0IGNvbnNv bGUgKmNvbiA9ICZkLT5jb25zb2xlOwogCi0JZG9tYWluX2Nsb3NlX3R0eShkKTsKKwljb25zb2xl X2Nsb3NlX3R0eShjb24pOwogCiAJaWYgKGNvbi0+bG9nX2ZkICE9IC0xKSB7CiAJCWNsb3NlKGNv bi0+bG9nX2ZkKTsKQEAgLTc2OCw3ICs3NjYsNyBAQCBzdGF0aWMgdm9pZCBzaHV0ZG93bl9kb21h aW4oc3RydWN0IGRvbWFpbiAqZCkKIAogCWQtPmlzX2RlYWQgPSB0cnVlOwogCXdhdGNoX2RvbWFp bihkLCBmYWxzZSk7Ci0JZG9tYWluX3VubWFwX2ludGVyZmFjZShkKTsKKwljb25zb2xlX3VubWFw X2ludGVyZmFjZShjb24pOwogCWlmIChjb24tPnhjZV9oYW5kbGUgIT0gTlVMTCkKIAkJeGVuZXZ0 Y2huX2Nsb3NlKGNvbi0+eGNlX2hhbmRsZSk7CiAJY29uLT54Y2VfaGFuZGxlID0gTlVMTDsKQEAg LTc5OSw5ICs3OTcsOCBAQCBzdGF0aWMgdm9pZCBlbnVtX2RvbWFpbnModm9pZCkKIAl9CiB9CiAK LXN0YXRpYyBpbnQgcmluZ19mcmVlX2J5dGVzKHN0cnVjdCBkb21haW4gKmRvbSkKK3N0YXRpYyBp bnQgcmluZ19mcmVlX2J5dGVzKHN0cnVjdCBjb25zb2xlICpjb24pCiB7Ci0Jc3RydWN0IGNvbnNv bGUgKmNvbiA9ICZkb20tPmNvbnNvbGU7CiAJc3RydWN0IHhlbmNvbnNfaW50ZXJmYWNlICppbnRm ID0gY29uLT5pbnRlcmZhY2U7CiAJWEVOQ09OU19SSU5HX0lEWCBjb25zLCBwcm9kLCBzcGFjZTsK IApAQCAtODE2LDMwICs4MTMsMzAgQEAgc3RhdGljIGludCByaW5nX2ZyZWVfYnl0ZXMoc3RydWN0 IGRvbWFpbiAqZG9tKQogCXJldHVybiAoc2l6ZW9mKGludGYtPmluKSAtIHNwYWNlKTsKIH0KIAot c3RhdGljIHZvaWQgZG9tYWluX2hhbmRsZV9icm9rZW5fdHR5KHN0cnVjdCBkb21haW4gKmRvbSwg aW50IHJlY3JlYXRlKQorc3RhdGljIHZvaWQgY29uc29sZV9oYW5kbGVfYnJva2VuX3R0eShzdHJ1 Y3QgY29uc29sZSAqY29uLCBpbnQgcmVjcmVhdGUpCiB7Ci0JZG9tYWluX2Nsb3NlX3R0eShkb20p OworCWNvbnNvbGVfY2xvc2VfdHR5KGNvbik7CiAKIAlpZiAocmVjcmVhdGUpIHsKLQkJZG9tYWlu X2NyZWF0ZV90dHkoZG9tKTsKKwkJY29uc29sZV9jcmVhdGVfdHR5KGNvbik7CiAJfSBlbHNlIHsK LQkJc2h1dGRvd25fZG9tYWluKGRvbSk7CisJCXNodXRkb3duX2RvbWFpbihjb24tPmQpOwogCX0K IH0KIAotc3RhdGljIHZvaWQgaGFuZGxlX3R0eV9yZWFkKHN0cnVjdCBkb21haW4gKmRvbSkKK3N0 YXRpYyB2b2lkIGhhbmRsZV90dHlfcmVhZChzdHJ1Y3QgY29uc29sZSAqY29uKQogewogCXNzaXpl X3QgbGVuID0gMDsKIAljaGFyIG1zZ1s4MF07CiAJaW50IGk7Ci0Jc3RydWN0IGNvbnNvbGUgKmNv biA9ICZkb20tPmNvbnNvbGU7CiAJc3RydWN0IHhlbmNvbnNfaW50ZXJmYWNlICppbnRmID0gY29u LT5pbnRlcmZhY2U7CisJc3RydWN0IGRvbWFpbiAqZG9tID0gY29uLT5kOwogCVhFTkNPTlNfUklO R19JRFggcHJvZDsKIAogCWlmIChkb20tPmlzX2RlYWQpCiAJCXJldHVybjsKIAotCWxlbiA9IHJp bmdfZnJlZV9ieXRlcyhkb20pOworCWxlbiA9IHJpbmdfZnJlZV9ieXRlcyhjb24pOwogCWlmIChs ZW4gPT0gMCkKIAkJcmV0dXJuOwogCkBAIC04NTMsNyArODUwLDcgQEAgc3RhdGljIHZvaWQgaGFu ZGxlX3R0eV9yZWFkKHN0cnVjdCBkb21haW4gKmRvbSkKIAkgKiBrZWVwIHRoZSBzbGF2ZSBvcGVu IGZvciB0aGUgZHVyYXRpb24uCiAJICovCiAJaWYgKGxlbiA8IDApIHsKLQkJZG9tYWluX2hhbmRs ZV9icm9rZW5fdHR5KGRvbSwgZG9tYWluX2lzX3ZhbGlkKGRvbS0+ZG9taWQpKTsKKwkJY29uc29s ZV9oYW5kbGVfYnJva2VuX3R0eShjb24sIGRvbWFpbl9pc192YWxpZChkb20tPmRvbWlkKSk7CiAJ fSBlbHNlIGlmIChkb21haW5faXNfdmFsaWQoZG9tLT5kb21pZCkpIHsKIAkJcHJvZCA9IGludGYt PmluX3Byb2Q7CiAJCWZvciAoaSA9IDA7IGkgPCBsZW47IGkrKykgewpAQCAtODY0LDE1ICs4NjEs MTUgQEAgc3RhdGljIHZvaWQgaGFuZGxlX3R0eV9yZWFkKHN0cnVjdCBkb21haW4gKmRvbSkKIAkJ aW50Zi0+aW5fcHJvZCA9IHByb2Q7CiAJCXhlbmV2dGNobl9ub3RpZnkoY29uLT54Y2VfaGFuZGxl LCBjb24tPmxvY2FsX3BvcnQpOwogCX0gZWxzZSB7Ci0JCWRvbWFpbl9jbG9zZV90dHkoZG9tKTsK KwkJY29uc29sZV9jbG9zZV90dHkoY29uKTsKIAkJc2h1dGRvd25fZG9tYWluKGRvbSk7CiAJfQog fQogCi1zdGF0aWMgdm9pZCBoYW5kbGVfdHR5X3dyaXRlKHN0cnVjdCBkb21haW4gKmRvbSkKK3N0 YXRpYyB2b2lkIGhhbmRsZV90dHlfd3JpdGUoc3RydWN0IGNvbnNvbGUgKmNvbikKIHsKIAlzc2l6 ZV90IGxlbjsKLQlzdHJ1Y3QgY29uc29sZSAqY29uID0gJmRvbS0+Y29uc29sZTsKKwlzdHJ1Y3Qg ZG9tYWluICpkb20gPSBjb24tPmQ7CiAKIAlpZiAoZG9tLT5pc19kZWFkKQogCQlyZXR1cm47CkBA IC04ODIsNyArODc5LDcgQEAgc3RhdGljIHZvaWQgaGFuZGxlX3R0eV93cml0ZShzdHJ1Y3QgZG9t YWluICpkb20pCiAgCWlmIChsZW4gPCAxKSB7CiAJCWRvbG9nKExPR19ERUJVRywgIldyaXRlIGZh aWxlZCBvbiBkb21haW4gJWQ6ICV6ZCwgJWRcbiIsCiAJCSAgICAgIGRvbS0+ZG9taWQsIGxlbiwg ZXJybm8pOwotCQlkb21haW5faGFuZGxlX2Jyb2tlbl90dHkoZG9tLCBkb21haW5faXNfdmFsaWQo ZG9tLT5kb21pZCkpOworCQljb25zb2xlX2hhbmRsZV9icm9rZW5fdHR5KGNvbiwgZG9tYWluX2lz X3ZhbGlkKGRvbS0+ZG9taWQpKTsKIAl9IGVsc2UgewogCQlidWZmZXJfYWR2YW5jZSgmY29uLT5i dWZmZXIsIGxlbik7CiAJfQpAQCAtOTAxLDcgKzg5OCw3IEBAIHN0YXRpYyB2b2lkIGhhbmRsZV9y aW5nX3JlYWQoc3RydWN0IGRvbWFpbiAqZG9tKQogCiAJY29uLT5ldmVudF9jb3VudCsrOwogCi0J YnVmZmVyX2FwcGVuZChkb20pOworCWJ1ZmZlcl9hcHBlbmQoY29uKTsKIAogCWlmIChjb24tPmV2 ZW50X2NvdW50IDwgUkFURV9MSU1JVF9BTExPV0FOQ0UpCiAJCSh2b2lkKXhlbmV2dGNobl91bm1h c2soY29uLT54Y2VfaGFuZGxlLCBwb3J0KTsKQEAgLTkyNSw3ICs5MjIsNyBAQCBzdGF0aWMgdm9p ZCBoYW5kbGVfeHModm9pZCkKIAkJLyogV2UgbWF5IGdldCB3YXRjaGVzIGZpcmluZyBmb3IgZG9t YWlucyB0aGF0IGhhdmUgcmVjZW50bHkKIAkJICAgYmVlbiByZW1vdmVkLCBzbyBkb20gbWF5IGJl IE5VTEwgaGVyZS4gKi8KIAkJaWYgKGRvbSAmJiBkb20tPmlzX2RlYWQgPT0gZmFsc2UpCi0JCQlk b21haW5fY3JlYXRlX3JpbmcoZG9tKTsKKwkJCWNvbnNvbGVfY3JlYXRlX3JpbmcoJmRvbS0+Y29u c29sZSk7CiAJfQogCiAJZnJlZSh2ZWMpOwpAQCAtOTc1LDcgKzk3Miw3IEBAIHN0YXRpYyB2b2lk IGhhbmRsZV9sb2dfcmVsb2FkKHZvaWQpCiAKIAkJCWlmIChjb24tPmxvZ19mZCAhPSAtMSkKIAkJ CQljbG9zZShjb24tPmxvZ19mZCk7Ci0JCQljb24tPmxvZ19mZCA9IGNyZWF0ZV9kb21haW5fbG9n KGQpOworCQkJY29uLT5sb2dfZmQgPSBjcmVhdGVfY29uc29sZV9sb2coY29uKTsKIAkJfQogCX0K IApAQCAtMTEyMSw3ICsxMTE4LDcgQEAgdm9pZCBoYW5kbGVfaW8odm9pZCkKIAogCQkJaWYgKGNv bi0+bWFzdGVyX2ZkICE9IC0xKSB7CiAJCQkJc2hvcnQgZXZlbnRzID0gMDsKLQkJCQlpZiAoIWQt PmlzX2RlYWQgJiYgcmluZ19mcmVlX2J5dGVzKGQpKQorCQkJCWlmICghZC0+aXNfZGVhZCAmJiBy aW5nX2ZyZWVfYnl0ZXMoY29uKSkKIAkJCQkJZXZlbnRzIHw9IFBPTExJTjsKIAogCQkJCWlmICgh YnVmZmVyX2VtcHR5KCZjb24tPmJ1ZmZlcikpCkBAIC0xMjA4LDE1ICsxMjA1LDE1IEBAIHZvaWQg aGFuZGxlX2lvKHZvaWQpCiAJCQlpZiAoY29uLT5tYXN0ZXJfZmQgIT0gLTEgJiYgY29uLT5tYXN0 ZXJfcG9sbGZkX2lkeCAhPSAtMSkgewogCQkJCWlmIChmZHNbY29uLT5tYXN0ZXJfcG9sbGZkX2lk eF0ucmV2ZW50cyAmCiAJCQkJICAgIH4oUE9MTElOfFBPTExPVVR8UE9MTFBSSSkpCi0JCQkJCWRv bWFpbl9oYW5kbGVfYnJva2VuX3R0eShkLAorCQkJCQljb25zb2xlX2hhbmRsZV9icm9rZW5fdHR5 KGNvbiwKIAkJCQkJCSAgIGRvbWFpbl9pc192YWxpZChkLT5kb21pZCkpOwogCQkJCWVsc2Ugewog CQkJCQlpZiAoZmRzW2Nvbi0+bWFzdGVyX3BvbGxmZF9pZHhdLnJldmVudHMgJgogCQkJCQkgICAg UE9MTElOKQotCQkJCQkJaGFuZGxlX3R0eV9yZWFkKGQpOworCQkJCQkJaGFuZGxlX3R0eV9yZWFk KGNvbik7CiAJCQkJCWlmIChmZHNbY29uLT5tYXN0ZXJfcG9sbGZkX2lkeF0ucmV2ZW50cyAmCiAJ CQkJCSAgICBQT0xMT1VUKQotCQkJCQkJaGFuZGxlX3R0eV93cml0ZShkKTsKKwkJCQkJCWhhbmRs ZV90dHlfd3JpdGUoY29uKTsKIAkJCQl9CiAJCQl9CiAKLS0gCjIuNy40CgoKX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KWGVuLWRldmVsIG1haWxpbmcgbGlz dApYZW4tZGV2ZWxAbGlzdHMueGVuLm9yZwpodHRwczovL2xpc3RzLnhlbi5vcmcveGVuLWRldmVs Cg==