From mboxrd@z Thu Jan 1 00:00:00 1970 From: Bhupinder Thakur Subject: [PATCH 10/27 v8] xen/arm: vpl011: Modify xenconsole functions to take console structure as input Date: Mon, 28 Aug 2017 14:25:53 +0530 Message-ID: <1503910570-24427-11-git-send-email-bhupinder.thakur@linaro.org> References: <1503910570-24427-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.bemta6.messagelabs.com ([193.109.254.103]) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dmFqo-0004vf-KK for xen-devel@lists.xenproject.org; Mon, 28 Aug 2017 08:56:54 +0000 Received: by mail-pf0-f173.google.com with SMTP id c15so14535943pfm.2 for ; Mon, 28 Aug 2017 01:56:52 -0700 (PDT) In-Reply-To: <1503910570-24427-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 b25zb2xlIGhhdmUgYmVlbiBzcGxpdCBpbnRvIG11bHRpcGxlIHBhdGNoZXMuIFRoaXMgaXMgdGhl IHNlY29uZCBwYXRjaC4KCiB0b29scy9jb25zb2xlL2RhZW1vbi9pby5jIHwgNzkgKysrKysrKysr KysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIDEgZmlsZSBjaGFuZ2VkLCAz OCBpbnNlcnRpb25zKCspLCA0MSBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS90b29scy9jb25z b2xlL2RhZW1vbi9pby5jIGIvdG9vbHMvY29uc29sZS9kYWVtb24vaW8uYwppbmRleCA2ZjVjNjlj Li5hMmEzNDk2IDEwMDY0NAotLS0gYS90b29scy9jb25zb2xlL2RhZW1vbi9pby5jCisrKyBiL3Rv b2xzL2NvbnNvbGUvZGFlbW9uL2lvLmMKQEAgLTE2MywxMCArMTYzLDEwIEBAIHN0YXRpYyBpbnQg d3JpdGVfd2l0aF90aW1lc3RhbXAoaW50IGZkLCBjb25zdCBjaGFyICpkYXRhLCBzaXplX3Qgc3os CiAJcmV0dXJuIDA7CiB9CiAKLXN0YXRpYyB2b2lkIGJ1ZmZlcl9hcHBlbmQoc3RydWN0IGRvbWFp biAqZG9tKQorc3RhdGljIHZvaWQgYnVmZmVyX2FwcGVuZChzdHJ1Y3QgY29uc29sZSAqY29uKQog ewotCXN0cnVjdCBjb25zb2xlICpjb24gPSAmZG9tLT5jb25zb2xlOwogCXN0cnVjdCBidWZmZXIg KmJ1ZmZlciA9ICZjb24tPmJ1ZmZlcjsKKwlzdHJ1Y3QgZG9tYWluICpkb20gPSBjb24tPmQ7CiAJ WEVOQ09OU19SSU5HX0lEWCBjb25zLCBwcm9kLCBzaXplOwogCXN0cnVjdCB4ZW5jb25zX2ludGVy ZmFjZSAqaW50ZiA9IGNvbi0+aW50ZXJmYWNlOwogCkBAIC0yOTYsMTIgKzI5NiwxMyBAQCBzdGF0 aWMgaW50IGNyZWF0ZV9odl9sb2codm9pZCkKIAlyZXR1cm4gZmQ7CiB9CiAKLXN0YXRpYyBpbnQg Y3JlYXRlX2RvbWFpbl9sb2coc3RydWN0IGRvbWFpbiAqZG9tKQorc3RhdGljIGludCBjcmVhdGVf Y29uc29sZV9sb2coc3RydWN0IGNvbnNvbGUgKmNvbikKIHsKIAljaGFyIGxvZ2ZpbGVbUEFUSF9N QVhdOwogCWNoYXIgKm5hbWVwYXRoLCAqZGF0YSwgKnM7CiAJaW50IGZkOwogCXVuc2lnbmVkIGlu dCBsZW47CisJc3RydWN0IGRvbWFpbiAqZG9tID0gY29uLT5kOwogCiAJbmFtZXBhdGggPSB4c19n ZXRfZG9tYWluX3BhdGgoeHMsIGRvbS0+ZG9taWQpOwogCXMgPSByZWFsbG9jKG5hbWVwYXRoLCBz dHJsZW4obmFtZXBhdGgpICsgNik7CkBAIC0zNDIsMTAgKzM0Myw4IEBAIHN0YXRpYyBpbnQgY3Jl YXRlX2RvbWFpbl9sb2coc3RydWN0IGRvbWFpbiAqZG9tKQogCXJldHVybiBmZDsKIH0KIAotc3Rh dGljIHZvaWQgZG9tYWluX2Nsb3NlX3R0eShzdHJ1Y3QgZG9tYWluICpkb20pCitzdGF0aWMgdm9p ZCBjb25zb2xlX2Nsb3NlX3R0eShzdHJ1Y3QgY29uc29sZSAqY29uKQogewotCXN0cnVjdCBjb25z b2xlICpjb24gPSAmZG9tLT5jb25zb2xlOwotCiAJaWYgKGNvbi0+bWFzdGVyX2ZkICE9IC0xKSB7 CiAJCWNsb3NlKGNvbi0+bWFzdGVyX2ZkKTsKIAkJY29uLT5tYXN0ZXJfZmQgPSAtMTsKQEAgLTQx Nyw3ICs0MTYsNyBAQCB2b2lkIGNmbWFrZXJhdyhzdHJ1Y3QgdGVybWlvcyAqdGVybWlvc19wKQog fQogI2VuZGlmIC8qIF9fc3VuX18gKi8KIAotc3RhdGljIGludCBkb21haW5fY3JlYXRlX3R0eShz dHJ1Y3QgZG9tYWluICpkb20pCitzdGF0aWMgaW50IGNvbnNvbGVfY3JlYXRlX3R0eShzdHJ1Y3Qg Y29uc29sZSAqY29uKQogewogCWNvbnN0IGNoYXIgKnNsYXZlOwogCWNoYXIgKnBhdGg7CkBAIC00 MjYsNyArNDI1LDcgQEAgc3RhdGljIGludCBkb21haW5fY3JlYXRlX3R0eShzdHJ1Y3QgZG9tYWlu ICpkb20pCiAJY2hhciAqZGF0YTsKIAl1bnNpZ25lZCBpbnQgbGVuOwogCXN0cnVjdCB0ZXJtaW9z IHRlcm07Ci0Jc3RydWN0IGNvbnNvbGUgKmNvbiA9ICZkb20tPmNvbnNvbGU7CisJc3RydWN0IGRv bWFpbiAqZG9tID0gY29uLT5kOwogCiAJYXNzZXJ0KGNvbi0+c2xhdmVfZmQgPT0gLTEpOwogCWFz c2VydChjb24tPm1hc3Rlcl9mZCA9PSAtMSk7CkBAIC00ODcsNyArNDg2LDcgQEAgc3RhdGljIGlu dCBkb21haW5fY3JlYXRlX3R0eShzdHJ1Y3QgZG9tYWluICpkb20pCiAKIAlyZXR1cm4gMTsKIG91 dDoKLQlkb21haW5fY2xvc2VfdHR5KGRvbSk7CisJY29uc29sZV9jbG9zZV90dHkoY29uKTsKIAly ZXR1cm4gMDsKIH0KICAKQEAgLTUyNiwxMCArNTI1LDggQEAgc3RhdGljIGludCB4c19nYXRoZXIo c3RydWN0IHhzX2hhbmRsZSAqeHMsIGNvbnN0IGNoYXIgKmRpciwgLi4uKQogCXJldHVybiByZXQ7 CiB9CiAKLXN0YXRpYyB2b2lkIGRvbWFpbl91bm1hcF9pbnRlcmZhY2Uoc3RydWN0IGRvbWFpbiAq ZG9tKQorc3RhdGljIHZvaWQgY29uc29sZV91bm1hcF9pbnRlcmZhY2Uoc3RydWN0IGNvbnNvbGUg KmNvbikKIHsKLQlzdHJ1Y3QgY29uc29sZSAqY29uID0gJmRvbS0+Y29uc29sZTsKLQogCWlmIChj b24tPmludGVyZmFjZSA9PSBOVUxMKQogCQlyZXR1cm47CiAJaWYgKHhndF9oYW5kbGUgJiYgY29u LT5yaW5nX3JlZiA9PSAtMSkKQEAgLTU0MCwxMSArNTM3LDExIEBAIHN0YXRpYyB2b2lkIGRvbWFp bl91bm1hcF9pbnRlcmZhY2Uoc3RydWN0IGRvbWFpbiAqZG9tKQogCWNvbi0+cmluZ19yZWYgPSAt MTsKIH0KICAKLXN0YXRpYyBpbnQgZG9tYWluX2NyZWF0ZV9yaW5nKHN0cnVjdCBkb21haW4gKmRv bSkKK3N0YXRpYyBpbnQgY29uc29sZV9jcmVhdGVfcmluZyhzdHJ1Y3QgY29uc29sZSAqY29uKQog ewogCWludCBlcnIsIHJlbW90ZV9wb3J0LCByaW5nX3JlZiwgcmM7CiAJY2hhciAqdHlwZSwgcGF0 aFtQQVRIX01BWF07Ci0Jc3RydWN0IGNvbnNvbGUgKmNvbiA9ICZkb20tPmNvbnNvbGU7CisJc3Ry dWN0IGRvbWFpbiAqZG9tID0gY29uLT5kOwogCiAJZXJyID0geHNfZ2F0aGVyKHhzLCBjb24tPnhz cGF0aCwKIAkJCSJyaW5nLXJlZiIsICIldSIsICZyaW5nX3JlZiwKQEAgLTU2Myw3ICs1NjAsNyBA QCBzdGF0aWMgaW50IGRvbWFpbl9jcmVhdGVfcmluZyhzdHJ1Y3QgZG9tYWluICpkb20pCiAKIAkv KiBJZiB1c2luZyByaW5nX3JlZiBhbmQgaXQgaGFzIGNoYW5nZWQsIHJlbWFwICovCiAJaWYgKHJp bmdfcmVmICE9IGNvbi0+cmluZ19yZWYgJiYgY29uLT5yaW5nX3JlZiAhPSAtMSkKLQkJZG9tYWlu X3VubWFwX2ludGVyZmFjZShkb20pOworCQljb25zb2xlX3VubWFwX2ludGVyZmFjZShjb24pOwog CiAJaWYgKCFjb24tPmludGVyZmFjZSAmJiB4Z3RfaGFuZGxlKSB7CiAJCS8qIFByZWZlciB1c2lu ZyBncmFudCB0YWJsZSAqLwpAQCAtNjIxLDcgKzYxOCw3IEBAIHN0YXRpYyBpbnQgZG9tYWluX2Ny ZWF0ZV9yaW5nKHN0cnVjdCBkb21haW4gKmRvbSkKIAljb24tPnJlbW90ZV9wb3J0ID0gcmVtb3Rl X3BvcnQ7CiAKIAlpZiAoY29uLT5tYXN0ZXJfZmQgPT0gLTEpIHsKLQkJaWYgKCFkb21haW5fY3Jl YXRlX3R0eShkb20pKSB7CisJCWlmICghY29uc29sZV9jcmVhdGVfdHR5KGNvbikpIHsKIAkJCWVy ciA9IGVycm5vOwogCQkJeGVuZXZ0Y2huX2Nsb3NlKGNvbi0+eGNlX2hhbmRsZSk7CiAJCQljb24t PnhjZV9oYW5kbGUgPSBOVUxMOwpAQCAtNjMyLDcgKzYyOSw3IEBAIHN0YXRpYyBpbnQgZG9tYWlu X2NyZWF0ZV9yaW5nKHN0cnVjdCBkb21haW4gKmRvbSkKIAl9CiAKIAlpZiAobG9nX2d1ZXN0ICYm IChjb24tPmxvZ19mZCA9PSAtMSkpCi0JCWNvbi0+bG9nX2ZkID0gY3JlYXRlX2RvbWFpbl9sb2co ZG9tKTsKKwkJY29uLT5sb2dfZmQgPSBjcmVhdGVfY29uc29sZV9sb2coY29uKTsKIAogIG91dDoK IAlyZXR1cm4gZXJyOwpAQCAtNjQ4LDcgKzY0NSw3IEBAIHN0YXRpYyBib29sIHdhdGNoX2RvbWFp bihzdHJ1Y3QgZG9tYWluICpkb20sIGJvb2wgd2F0Y2gpCiAJaWYgKHdhdGNoKSB7CiAJCXN1Y2Nl c3MgPSB4c193YXRjaCh4cywgY29uLT54c3BhdGgsIGRvbWlkX3N0cik7CiAJCWlmIChzdWNjZXNz KQotCQkJZG9tYWluX2NyZWF0ZV9yaW5nKGRvbSk7CisJCQljb25zb2xlX2NyZWF0ZV9yaW5nKGNv bik7CiAJCWVsc2UKIAkJCXhzX3Vud2F0Y2goeHMsIGNvbi0+eHNwYXRoLCBkb21pZF9zdHIpOwog CX0gZWxzZSB7CkBAIC02OTUsNiArNjkyLDcgQEAgc3RhdGljIHN0cnVjdCBkb21haW4gKmNyZWF0 ZV9kb21haW4oaW50IGRvbWlkKQogCWNvbi0+c2xhdmVfZmQgPSAtMTsKIAljb24tPmxvZ19mZCA9 IC0xOwogCWNvbi0+eGNlX3BvbGxmZF9pZHggPSAtMTsKKwljb24tPmQgPSBkb207CiAKIAljb24t Pm5leHRfcGVyaW9kID0gKChsb25nIGxvbmcpdHMudHZfc2VjICogMTAwMCkgKyAodHMudHZfbnNl YyAvIDEwMDAwMDApICsgUkFURV9MSU1JVF9QRVJJT0Q7CiAKQEAgLTc0Niw3ICs3NDQsNyBAQCBz dGF0aWMgdm9pZCBjbGVhbnVwX2RvbWFpbihzdHJ1Y3QgZG9tYWluICpkKQogewogCXN0cnVjdCBj b25zb2xlICpjb24gPSAmZC0+Y29uc29sZTsKIAotCWRvbWFpbl9jbG9zZV90dHkoZCk7CisJY29u c29sZV9jbG9zZV90dHkoY29uKTsKIAogCWlmIChjb24tPmxvZ19mZCAhPSAtMSkgewogCQljbG9z ZShjb24tPmxvZ19mZCk7CkBAIC03NjgsNyArNzY2LDcgQEAgc3RhdGljIHZvaWQgc2h1dGRvd25f ZG9tYWluKHN0cnVjdCBkb21haW4gKmQpCiAKIAlkLT5pc19kZWFkID0gdHJ1ZTsKIAl3YXRjaF9k b21haW4oZCwgZmFsc2UpOwotCWRvbWFpbl91bm1hcF9pbnRlcmZhY2UoZCk7CisJY29uc29sZV91 bm1hcF9pbnRlcmZhY2UoY29uKTsKIAlpZiAoY29uLT54Y2VfaGFuZGxlICE9IE5VTEwpCiAJCXhl bmV2dGNobl9jbG9zZShjb24tPnhjZV9oYW5kbGUpOwogCWNvbi0+eGNlX2hhbmRsZSA9IE5VTEw7 CkBAIC03OTksOSArNzk3LDggQEAgc3RhdGljIHZvaWQgZW51bV9kb21haW5zKHZvaWQpCiAJfQog fQogCi1zdGF0aWMgaW50IHJpbmdfZnJlZV9ieXRlcyhzdHJ1Y3QgZG9tYWluICpkb20pCitzdGF0 aWMgaW50IHJpbmdfZnJlZV9ieXRlcyhzdHJ1Y3QgY29uc29sZSAqY29uKQogewotCXN0cnVjdCBj b25zb2xlICpjb24gPSAmZG9tLT5jb25zb2xlOwogCXN0cnVjdCB4ZW5jb25zX2ludGVyZmFjZSAq aW50ZiA9IGNvbi0+aW50ZXJmYWNlOwogCVhFTkNPTlNfUklOR19JRFggY29ucywgcHJvZCwgc3Bh Y2U7CiAKQEAgLTgxNiwzMCArODEzLDMwIEBAIHN0YXRpYyBpbnQgcmluZ19mcmVlX2J5dGVzKHN0 cnVjdCBkb21haW4gKmRvbSkKIAlyZXR1cm4gKHNpemVvZihpbnRmLT5pbikgLSBzcGFjZSk7CiB9 CiAKLXN0YXRpYyB2b2lkIGRvbWFpbl9oYW5kbGVfYnJva2VuX3R0eShzdHJ1Y3QgZG9tYWluICpk b20sIGludCByZWNyZWF0ZSkKK3N0YXRpYyB2b2lkIGNvbnNvbGVfaGFuZGxlX2Jyb2tlbl90dHko c3RydWN0IGNvbnNvbGUgKmNvbiwgaW50IHJlY3JlYXRlKQogewotCWRvbWFpbl9jbG9zZV90dHko ZG9tKTsKKwljb25zb2xlX2Nsb3NlX3R0eShjb24pOwogCiAJaWYgKHJlY3JlYXRlKSB7Ci0JCWRv bWFpbl9jcmVhdGVfdHR5KGRvbSk7CisJCWNvbnNvbGVfY3JlYXRlX3R0eShjb24pOwogCX0gZWxz ZSB7Ci0JCXNodXRkb3duX2RvbWFpbihkb20pOworCQlzaHV0ZG93bl9kb21haW4oY29uLT5kKTsK IAl9CiB9CiAKLXN0YXRpYyB2b2lkIGhhbmRsZV90dHlfcmVhZChzdHJ1Y3QgZG9tYWluICpkb20p CitzdGF0aWMgdm9pZCBoYW5kbGVfdHR5X3JlYWQoc3RydWN0IGNvbnNvbGUgKmNvbikKIHsKIAlz c2l6ZV90IGxlbiA9IDA7CiAJY2hhciBtc2dbODBdOwogCWludCBpOwotCXN0cnVjdCBjb25zb2xl ICpjb24gPSAmZG9tLT5jb25zb2xlOwogCXN0cnVjdCB4ZW5jb25zX2ludGVyZmFjZSAqaW50ZiA9 IGNvbi0+aW50ZXJmYWNlOworCXN0cnVjdCBkb21haW4gKmRvbSA9IGNvbi0+ZDsKIAlYRU5DT05T X1JJTkdfSURYIHByb2Q7CiAKIAlpZiAoZG9tLT5pc19kZWFkKQogCQlyZXR1cm47CiAKLQlsZW4g PSByaW5nX2ZyZWVfYnl0ZXMoZG9tKTsKKwlsZW4gPSByaW5nX2ZyZWVfYnl0ZXMoY29uKTsKIAlp ZiAobGVuID09IDApCiAJCXJldHVybjsKIApAQCAtODUzLDcgKzg1MCw3IEBAIHN0YXRpYyB2b2lk IGhhbmRsZV90dHlfcmVhZChzdHJ1Y3QgZG9tYWluICpkb20pCiAJICoga2VlcCB0aGUgc2xhdmUg b3BlbiBmb3IgdGhlIGR1cmF0aW9uLgogCSAqLwogCWlmIChsZW4gPCAwKSB7Ci0JCWRvbWFpbl9o YW5kbGVfYnJva2VuX3R0eShkb20sIGRvbWFpbl9pc192YWxpZChkb20tPmRvbWlkKSk7CisJCWNv bnNvbGVfaGFuZGxlX2Jyb2tlbl90dHkoY29uLCBkb21haW5faXNfdmFsaWQoZG9tLT5kb21pZCkp OwogCX0gZWxzZSBpZiAoZG9tYWluX2lzX3ZhbGlkKGRvbS0+ZG9taWQpKSB7CiAJCXByb2QgPSBp bnRmLT5pbl9wcm9kOwogCQlmb3IgKGkgPSAwOyBpIDwgbGVuOyBpKyspIHsKQEAgLTg2NCwxNSAr ODYxLDE1IEBAIHN0YXRpYyB2b2lkIGhhbmRsZV90dHlfcmVhZChzdHJ1Y3QgZG9tYWluICpkb20p CiAJCWludGYtPmluX3Byb2QgPSBwcm9kOwogCQl4ZW5ldnRjaG5fbm90aWZ5KGNvbi0+eGNlX2hh bmRsZSwgY29uLT5sb2NhbF9wb3J0KTsKIAl9IGVsc2UgewotCQlkb21haW5fY2xvc2VfdHR5KGRv bSk7CisJCWNvbnNvbGVfY2xvc2VfdHR5KGNvbik7CiAJCXNodXRkb3duX2RvbWFpbihkb20pOwog CX0KIH0KIAotc3RhdGljIHZvaWQgaGFuZGxlX3R0eV93cml0ZShzdHJ1Y3QgZG9tYWluICpkb20p CitzdGF0aWMgdm9pZCBoYW5kbGVfdHR5X3dyaXRlKHN0cnVjdCBjb25zb2xlICpjb24pCiB7CiAJ c3NpemVfdCBsZW47Ci0Jc3RydWN0IGNvbnNvbGUgKmNvbiA9ICZkb20tPmNvbnNvbGU7CisJc3Ry dWN0IGRvbWFpbiAqZG9tID0gY29uLT5kOwogCiAJaWYgKGRvbS0+aXNfZGVhZCkKIAkJcmV0dXJu OwpAQCAtODgyLDcgKzg3OSw3IEBAIHN0YXRpYyB2b2lkIGhhbmRsZV90dHlfd3JpdGUoc3RydWN0 IGRvbWFpbiAqZG9tKQogIAlpZiAobGVuIDwgMSkgewogCQlkb2xvZyhMT0dfREVCVUcsICJXcml0 ZSBmYWlsZWQgb24gZG9tYWluICVkOiAlemQsICVkXG4iLAogCQkgICAgICBkb20tPmRvbWlkLCBs ZW4sIGVycm5vKTsKLQkJZG9tYWluX2hhbmRsZV9icm9rZW5fdHR5KGRvbSwgZG9tYWluX2lzX3Zh bGlkKGRvbS0+ZG9taWQpKTsKKwkJY29uc29sZV9oYW5kbGVfYnJva2VuX3R0eShjb24sIGRvbWFp bl9pc192YWxpZChkb20tPmRvbWlkKSk7CiAJfSBlbHNlIHsKIAkJYnVmZmVyX2FkdmFuY2UoJmNv bi0+YnVmZmVyLCBsZW4pOwogCX0KQEAgLTkwMSw3ICs4OTgsNyBAQCBzdGF0aWMgdm9pZCBoYW5k bGVfcmluZ19yZWFkKHN0cnVjdCBkb21haW4gKmRvbSkKIAogCWNvbi0+ZXZlbnRfY291bnQrKzsK IAotCWJ1ZmZlcl9hcHBlbmQoZG9tKTsKKwlidWZmZXJfYXBwZW5kKGNvbik7CiAKIAlpZiAoY29u LT5ldmVudF9jb3VudCA8IFJBVEVfTElNSVRfQUxMT1dBTkNFKQogCQkodm9pZCl4ZW5ldnRjaG5f dW5tYXNrKGNvbi0+eGNlX2hhbmRsZSwgcG9ydCk7CkBAIC05MjUsNyArOTIyLDcgQEAgc3RhdGlj IHZvaWQgaGFuZGxlX3hzKHZvaWQpCiAJCS8qIFdlIG1heSBnZXQgd2F0Y2hlcyBmaXJpbmcgZm9y IGRvbWFpbnMgdGhhdCBoYXZlIHJlY2VudGx5CiAJCSAgIGJlZW4gcmVtb3ZlZCwgc28gZG9tIG1h eSBiZSBOVUxMIGhlcmUuICovCiAJCWlmIChkb20gJiYgZG9tLT5pc19kZWFkID09IGZhbHNlKQot CQkJZG9tYWluX2NyZWF0ZV9yaW5nKGRvbSk7CisJCQljb25zb2xlX2NyZWF0ZV9yaW5nKCZkb20t PmNvbnNvbGUpOwogCX0KIAogCWZyZWUodmVjKTsKQEAgLTk3NSw3ICs5NzIsNyBAQCBzdGF0aWMg dm9pZCBoYW5kbGVfbG9nX3JlbG9hZCh2b2lkKQogCiAJCQlpZiAoY29uLT5sb2dfZmQgIT0gLTEp CiAJCQkJY2xvc2UoY29uLT5sb2dfZmQpOwotCQkJY29uLT5sb2dfZmQgPSBjcmVhdGVfZG9tYWlu X2xvZyhkKTsKKwkJCWNvbi0+bG9nX2ZkID0gY3JlYXRlX2NvbnNvbGVfbG9nKGNvbik7CiAJCX0K IAl9CiAKQEAgLTExMjEsNyArMTExOCw3IEBAIHZvaWQgaGFuZGxlX2lvKHZvaWQpCiAKIAkJCWlm IChjb24tPm1hc3Rlcl9mZCAhPSAtMSkgewogCQkJCXNob3J0IGV2ZW50cyA9IDA7Ci0JCQkJaWYg KCFkLT5pc19kZWFkICYmIHJpbmdfZnJlZV9ieXRlcyhkKSkKKwkJCQlpZiAoIWQtPmlzX2RlYWQg JiYgcmluZ19mcmVlX2J5dGVzKGNvbikpCiAJCQkJCWV2ZW50cyB8PSBQT0xMSU47CiAKIAkJCQlp ZiAoIWJ1ZmZlcl9lbXB0eSgmY29uLT5idWZmZXIpKQpAQCAtMTIwOCwxNSArMTIwNSwxNSBAQCB2 b2lkIGhhbmRsZV9pbyh2b2lkKQogCQkJaWYgKGNvbi0+bWFzdGVyX2ZkICE9IC0xICYmIGNvbi0+ bWFzdGVyX3BvbGxmZF9pZHggIT0gLTEpIHsKIAkJCQlpZiAoZmRzW2Nvbi0+bWFzdGVyX3BvbGxm ZF9pZHhdLnJldmVudHMgJgogCQkJCSAgICB+KFBPTExJTnxQT0xMT1VUfFBPTExQUkkpKQotCQkJ CQlkb21haW5faGFuZGxlX2Jyb2tlbl90dHkoZCwKKwkJCQkJY29uc29sZV9oYW5kbGVfYnJva2Vu X3R0eShjb24sCiAJCQkJCQkgICBkb21haW5faXNfdmFsaWQoZC0+ZG9taWQpKTsKIAkJCQllbHNl IHsKIAkJCQkJaWYgKGZkc1tjb24tPm1hc3Rlcl9wb2xsZmRfaWR4XS5yZXZlbnRzICYKIAkJCQkJ ICAgIFBPTExJTikKLQkJCQkJCWhhbmRsZV90dHlfcmVhZChkKTsKKwkJCQkJCWhhbmRsZV90dHlf cmVhZChjb24pOwogCQkJCQlpZiAoZmRzW2Nvbi0+bWFzdGVyX3BvbGxmZF9pZHhdLnJldmVudHMg JgogCQkJCQkgICAgUE9MTE9VVCkKLQkJCQkJCWhhbmRsZV90dHlfd3JpdGUoZCk7CisJCQkJCQlo YW5kbGVfdHR5X3dyaXRlKGNvbik7CiAJCQkJfQogCQkJfQogCi0tIAoyLjcuNAoKCl9fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fClhlbi1kZXZlbCBtYWlsaW5n IGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbi5vcmcKaHR0cHM6Ly9saXN0cy54ZW4ub3JnL3hlbi1k ZXZlbAo=