From mboxrd@z Thu Jan 1 00:00:00 1970 From: Bhupinder Thakur Subject: [PATCH 12/17 v5] xen/arm: vpl011: Modify xenconsole functions to take console structure as input Date: Thu, 22 Jun 2017 13:08:47 +0530 Message-ID: <1498117132-27139-13-git-send-email-bhupinder.thakur@linaro.org> References: <1498117132-27139-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 1dNwiL-0005mv-49 for xen-devel@lists.xenproject.org; Thu, 22 Jun 2017 07:39:41 +0000 Received: by mail-pf0-f180.google.com with SMTP id c73so5131531pfk.2 for ; Thu, 22 Jun 2017 00:39:38 -0700 (PDT) In-Reply-To: <1498117132-27139-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 dGFiZWxsaW5pIDxzc3RhYmVsbGluaUBrZXJuZWwub3JnPgotLS0KQ0M6IElhbiBKYWNrc29uIDxp YW4uamFja3NvbkBldS5jaXRyaXguY29tPgpDQzogV2VpIExpdSA8d2VpLmxpdTJAY2l0cml4LmNv bT4KQ0M6IFN0ZWZhbm8gU3RhYmVsbGluaSA8c3N0YWJlbGxpbmlAa2VybmVsLm9yZz4KQ0M6IEp1 bGllbiBHcmFsbCA8anVsaWVuLmdyYWxsQGFybS5jb20+CgpDaGFuZ2VzIHNpbmNlIHYzOgotIFRo ZSBjaGFuZ2VzIGluIHhlbmNvbnNvbGUgaGF2ZSBiZWVuIHNwbGl0IGludG8gZm91ciBwYXRjaGVz LiBUaGlzIGlzIHRoZSBzZWNvbmQgcGF0Y2guCgogdG9vbHMvY29uc29sZS9kYWVtb24vaW8uYyB8 IDc5ICsrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAxIGZp bGUgY2hhbmdlZCwgMzggaW5zZXJ0aW9ucygrKSwgNDEgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0 IGEvdG9vbHMvY29uc29sZS9kYWVtb24vaW8uYyBiL3Rvb2xzL2NvbnNvbGUvZGFlbW9uL2lvLmMK aW5kZXggNmY1YzY5Yy4uYTJhMzQ5NiAxMDA2NDQKLS0tIGEvdG9vbHMvY29uc29sZS9kYWVtb24v aW8uYworKysgYi90b29scy9jb25zb2xlL2RhZW1vbi9pby5jCkBAIC0xNjMsMTAgKzE2MywxMCBA QCBzdGF0aWMgaW50IHdyaXRlX3dpdGhfdGltZXN0YW1wKGludCBmZCwgY29uc3QgY2hhciAqZGF0 YSwgc2l6ZV90IHN6LAogCXJldHVybiAwOwogfQogCi1zdGF0aWMgdm9pZCBidWZmZXJfYXBwZW5k KHN0cnVjdCBkb21haW4gKmRvbSkKK3N0YXRpYyB2b2lkIGJ1ZmZlcl9hcHBlbmQoc3RydWN0IGNv bnNvbGUgKmNvbikKIHsKLQlzdHJ1Y3QgY29uc29sZSAqY29uID0gJmRvbS0+Y29uc29sZTsKIAlz dHJ1Y3QgYnVmZmVyICpidWZmZXIgPSAmY29uLT5idWZmZXI7CisJc3RydWN0IGRvbWFpbiAqZG9t ID0gY29uLT5kOwogCVhFTkNPTlNfUklOR19JRFggY29ucywgcHJvZCwgc2l6ZTsKIAlzdHJ1Y3Qg eGVuY29uc19pbnRlcmZhY2UgKmludGYgPSBjb24tPmludGVyZmFjZTsKIApAQCAtMjk2LDEyICsy OTYsMTMgQEAgc3RhdGljIGludCBjcmVhdGVfaHZfbG9nKHZvaWQpCiAJcmV0dXJuIGZkOwogfQog Ci1zdGF0aWMgaW50IGNyZWF0ZV9kb21haW5fbG9nKHN0cnVjdCBkb21haW4gKmRvbSkKK3N0YXRp YyBpbnQgY3JlYXRlX2NvbnNvbGVfbG9nKHN0cnVjdCBjb25zb2xlICpjb24pCiB7CiAJY2hhciBs b2dmaWxlW1BBVEhfTUFYXTsKIAljaGFyICpuYW1lcGF0aCwgKmRhdGEsICpzOwogCWludCBmZDsK IAl1bnNpZ25lZCBpbnQgbGVuOworCXN0cnVjdCBkb21haW4gKmRvbSA9IGNvbi0+ZDsKIAogCW5h bWVwYXRoID0geHNfZ2V0X2RvbWFpbl9wYXRoKHhzLCBkb20tPmRvbWlkKTsKIAlzID0gcmVhbGxv YyhuYW1lcGF0aCwgc3RybGVuKG5hbWVwYXRoKSArIDYpOwpAQCAtMzQyLDEwICszNDMsOCBAQCBz dGF0aWMgaW50IGNyZWF0ZV9kb21haW5fbG9nKHN0cnVjdCBkb21haW4gKmRvbSkKIAlyZXR1cm4g ZmQ7CiB9CiAKLXN0YXRpYyB2b2lkIGRvbWFpbl9jbG9zZV90dHkoc3RydWN0IGRvbWFpbiAqZG9t KQorc3RhdGljIHZvaWQgY29uc29sZV9jbG9zZV90dHkoc3RydWN0IGNvbnNvbGUgKmNvbikKIHsK LQlzdHJ1Y3QgY29uc29sZSAqY29uID0gJmRvbS0+Y29uc29sZTsKLQogCWlmIChjb24tPm1hc3Rl cl9mZCAhPSAtMSkgewogCQljbG9zZShjb24tPm1hc3Rlcl9mZCk7CiAJCWNvbi0+bWFzdGVyX2Zk ID0gLTE7CkBAIC00MTcsNyArNDE2LDcgQEAgdm9pZCBjZm1ha2VyYXcoc3RydWN0IHRlcm1pb3Mg KnRlcm1pb3NfcCkKIH0KICNlbmRpZiAvKiBfX3N1bl9fICovCiAKLXN0YXRpYyBpbnQgZG9tYWlu X2NyZWF0ZV90dHkoc3RydWN0IGRvbWFpbiAqZG9tKQorc3RhdGljIGludCBjb25zb2xlX2NyZWF0 ZV90dHkoc3RydWN0IGNvbnNvbGUgKmNvbikKIHsKIAljb25zdCBjaGFyICpzbGF2ZTsKIAljaGFy ICpwYXRoOwpAQCAtNDI2LDcgKzQyNSw3IEBAIHN0YXRpYyBpbnQgZG9tYWluX2NyZWF0ZV90dHko c3RydWN0IGRvbWFpbiAqZG9tKQogCWNoYXIgKmRhdGE7CiAJdW5zaWduZWQgaW50IGxlbjsKIAlz dHJ1Y3QgdGVybWlvcyB0ZXJtOwotCXN0cnVjdCBjb25zb2xlICpjb24gPSAmZG9tLT5jb25zb2xl OworCXN0cnVjdCBkb21haW4gKmRvbSA9IGNvbi0+ZDsKIAogCWFzc2VydChjb24tPnNsYXZlX2Zk ID09IC0xKTsKIAlhc3NlcnQoY29uLT5tYXN0ZXJfZmQgPT0gLTEpOwpAQCAtNDg3LDcgKzQ4Niw3 IEBAIHN0YXRpYyBpbnQgZG9tYWluX2NyZWF0ZV90dHkoc3RydWN0IGRvbWFpbiAqZG9tKQogCiAJ cmV0dXJuIDE7CiBvdXQ6Ci0JZG9tYWluX2Nsb3NlX3R0eShkb20pOworCWNvbnNvbGVfY2xvc2Vf dHR5KGNvbik7CiAJcmV0dXJuIDA7CiB9CiAgCkBAIC01MjYsMTAgKzUyNSw4IEBAIHN0YXRpYyBp bnQgeHNfZ2F0aGVyKHN0cnVjdCB4c19oYW5kbGUgKnhzLCBjb25zdCBjaGFyICpkaXIsIC4uLikK IAlyZXR1cm4gcmV0OwogfQogCi1zdGF0aWMgdm9pZCBkb21haW5fdW5tYXBfaW50ZXJmYWNlKHN0 cnVjdCBkb21haW4gKmRvbSkKK3N0YXRpYyB2b2lkIGNvbnNvbGVfdW5tYXBfaW50ZXJmYWNlKHN0 cnVjdCBjb25zb2xlICpjb24pCiB7Ci0Jc3RydWN0IGNvbnNvbGUgKmNvbiA9ICZkb20tPmNvbnNv bGU7Ci0KIAlpZiAoY29uLT5pbnRlcmZhY2UgPT0gTlVMTCkKIAkJcmV0dXJuOwogCWlmICh4Z3Rf aGFuZGxlICYmIGNvbi0+cmluZ19yZWYgPT0gLTEpCkBAIC01NDAsMTEgKzUzNywxMSBAQCBzdGF0 aWMgdm9pZCBkb21haW5fdW5tYXBfaW50ZXJmYWNlKHN0cnVjdCBkb21haW4gKmRvbSkKIAljb24t PnJpbmdfcmVmID0gLTE7CiB9CiAgCi1zdGF0aWMgaW50IGRvbWFpbl9jcmVhdGVfcmluZyhzdHJ1 Y3QgZG9tYWluICpkb20pCitzdGF0aWMgaW50IGNvbnNvbGVfY3JlYXRlX3Jpbmcoc3RydWN0IGNv bnNvbGUgKmNvbikKIHsKIAlpbnQgZXJyLCByZW1vdGVfcG9ydCwgcmluZ19yZWYsIHJjOwogCWNo YXIgKnR5cGUsIHBhdGhbUEFUSF9NQVhdOwotCXN0cnVjdCBjb25zb2xlICpjb24gPSAmZG9tLT5j b25zb2xlOworCXN0cnVjdCBkb21haW4gKmRvbSA9IGNvbi0+ZDsKIAogCWVyciA9IHhzX2dhdGhl cih4cywgY29uLT54c3BhdGgsCiAJCQkicmluZy1yZWYiLCAiJXUiLCAmcmluZ19yZWYsCkBAIC01 NjMsNyArNTYwLDcgQEAgc3RhdGljIGludCBkb21haW5fY3JlYXRlX3Jpbmcoc3RydWN0IGRvbWFp biAqZG9tKQogCiAJLyogSWYgdXNpbmcgcmluZ19yZWYgYW5kIGl0IGhhcyBjaGFuZ2VkLCByZW1h cCAqLwogCWlmIChyaW5nX3JlZiAhPSBjb24tPnJpbmdfcmVmICYmIGNvbi0+cmluZ19yZWYgIT0g LTEpCi0JCWRvbWFpbl91bm1hcF9pbnRlcmZhY2UoZG9tKTsKKwkJY29uc29sZV91bm1hcF9pbnRl cmZhY2UoY29uKTsKIAogCWlmICghY29uLT5pbnRlcmZhY2UgJiYgeGd0X2hhbmRsZSkgewogCQkv KiBQcmVmZXIgdXNpbmcgZ3JhbnQgdGFibGUgKi8KQEAgLTYyMSw3ICs2MTgsNyBAQCBzdGF0aWMg aW50IGRvbWFpbl9jcmVhdGVfcmluZyhzdHJ1Y3QgZG9tYWluICpkb20pCiAJY29uLT5yZW1vdGVf cG9ydCA9IHJlbW90ZV9wb3J0OwogCiAJaWYgKGNvbi0+bWFzdGVyX2ZkID09IC0xKSB7Ci0JCWlm ICghZG9tYWluX2NyZWF0ZV90dHkoZG9tKSkgeworCQlpZiAoIWNvbnNvbGVfY3JlYXRlX3R0eShj b24pKSB7CiAJCQllcnIgPSBlcnJubzsKIAkJCXhlbmV2dGNobl9jbG9zZShjb24tPnhjZV9oYW5k bGUpOwogCQkJY29uLT54Y2VfaGFuZGxlID0gTlVMTDsKQEAgLTYzMiw3ICs2MjksNyBAQCBzdGF0 aWMgaW50IGRvbWFpbl9jcmVhdGVfcmluZyhzdHJ1Y3QgZG9tYWluICpkb20pCiAJfQogCiAJaWYg KGxvZ19ndWVzdCAmJiAoY29uLT5sb2dfZmQgPT0gLTEpKQotCQljb24tPmxvZ19mZCA9IGNyZWF0 ZV9kb21haW5fbG9nKGRvbSk7CisJCWNvbi0+bG9nX2ZkID0gY3JlYXRlX2NvbnNvbGVfbG9nKGNv bik7CiAKICBvdXQ6CiAJcmV0dXJuIGVycjsKQEAgLTY0OCw3ICs2NDUsNyBAQCBzdGF0aWMgYm9v bCB3YXRjaF9kb21haW4oc3RydWN0IGRvbWFpbiAqZG9tLCBib29sIHdhdGNoKQogCWlmICh3YXRj aCkgewogCQlzdWNjZXNzID0geHNfd2F0Y2goeHMsIGNvbi0+eHNwYXRoLCBkb21pZF9zdHIpOwog CQlpZiAoc3VjY2VzcykKLQkJCWRvbWFpbl9jcmVhdGVfcmluZyhkb20pOworCQkJY29uc29sZV9j cmVhdGVfcmluZyhjb24pOwogCQllbHNlCiAJCQl4c191bndhdGNoKHhzLCBjb24tPnhzcGF0aCwg ZG9taWRfc3RyKTsKIAl9IGVsc2UgewpAQCAtNjk1LDYgKzY5Miw3IEBAIHN0YXRpYyBzdHJ1Y3Qg ZG9tYWluICpjcmVhdGVfZG9tYWluKGludCBkb21pZCkKIAljb24tPnNsYXZlX2ZkID0gLTE7CiAJ Y29uLT5sb2dfZmQgPSAtMTsKIAljb24tPnhjZV9wb2xsZmRfaWR4ID0gLTE7CisJY29uLT5kID0g ZG9tOwogCiAJY29uLT5uZXh0X3BlcmlvZCA9ICgobG9uZyBsb25nKXRzLnR2X3NlYyAqIDEwMDAp ICsgKHRzLnR2X25zZWMgLyAxMDAwMDAwKSArIFJBVEVfTElNSVRfUEVSSU9EOwogCkBAIC03NDYs NyArNzQ0LDcgQEAgc3RhdGljIHZvaWQgY2xlYW51cF9kb21haW4oc3RydWN0IGRvbWFpbiAqZCkK IHsKIAlzdHJ1Y3QgY29uc29sZSAqY29uID0gJmQtPmNvbnNvbGU7CiAKLQlkb21haW5fY2xvc2Vf dHR5KGQpOworCWNvbnNvbGVfY2xvc2VfdHR5KGNvbik7CiAKIAlpZiAoY29uLT5sb2dfZmQgIT0g LTEpIHsKIAkJY2xvc2UoY29uLT5sb2dfZmQpOwpAQCAtNzY4LDcgKzc2Niw3IEBAIHN0YXRpYyB2 b2lkIHNodXRkb3duX2RvbWFpbihzdHJ1Y3QgZG9tYWluICpkKQogCiAJZC0+aXNfZGVhZCA9IHRy dWU7CiAJd2F0Y2hfZG9tYWluKGQsIGZhbHNlKTsKLQlkb21haW5fdW5tYXBfaW50ZXJmYWNlKGQp OworCWNvbnNvbGVfdW5tYXBfaW50ZXJmYWNlKGNvbik7CiAJaWYgKGNvbi0+eGNlX2hhbmRsZSAh PSBOVUxMKQogCQl4ZW5ldnRjaG5fY2xvc2UoY29uLT54Y2VfaGFuZGxlKTsKIAljb24tPnhjZV9o YW5kbGUgPSBOVUxMOwpAQCAtNzk5LDkgKzc5Nyw4IEBAIHN0YXRpYyB2b2lkIGVudW1fZG9tYWlu cyh2b2lkKQogCX0KIH0KIAotc3RhdGljIGludCByaW5nX2ZyZWVfYnl0ZXMoc3RydWN0IGRvbWFp biAqZG9tKQorc3RhdGljIGludCByaW5nX2ZyZWVfYnl0ZXMoc3RydWN0IGNvbnNvbGUgKmNvbikK IHsKLQlzdHJ1Y3QgY29uc29sZSAqY29uID0gJmRvbS0+Y29uc29sZTsKIAlzdHJ1Y3QgeGVuY29u c19pbnRlcmZhY2UgKmludGYgPSBjb24tPmludGVyZmFjZTsKIAlYRU5DT05TX1JJTkdfSURYIGNv bnMsIHByb2QsIHNwYWNlOwogCkBAIC04MTYsMzAgKzgxMywzMCBAQCBzdGF0aWMgaW50IHJpbmdf ZnJlZV9ieXRlcyhzdHJ1Y3QgZG9tYWluICpkb20pCiAJcmV0dXJuIChzaXplb2YoaW50Zi0+aW4p IC0gc3BhY2UpOwogfQogCi1zdGF0aWMgdm9pZCBkb21haW5faGFuZGxlX2Jyb2tlbl90dHkoc3Ry dWN0IGRvbWFpbiAqZG9tLCBpbnQgcmVjcmVhdGUpCitzdGF0aWMgdm9pZCBjb25zb2xlX2hhbmRs ZV9icm9rZW5fdHR5KHN0cnVjdCBjb25zb2xlICpjb24sIGludCByZWNyZWF0ZSkKIHsKLQlkb21h aW5fY2xvc2VfdHR5KGRvbSk7CisJY29uc29sZV9jbG9zZV90dHkoY29uKTsKIAogCWlmIChyZWNy ZWF0ZSkgewotCQlkb21haW5fY3JlYXRlX3R0eShkb20pOworCQljb25zb2xlX2NyZWF0ZV90dHko Y29uKTsKIAl9IGVsc2UgewotCQlzaHV0ZG93bl9kb21haW4oZG9tKTsKKwkJc2h1dGRvd25fZG9t YWluKGNvbi0+ZCk7CiAJfQogfQogCi1zdGF0aWMgdm9pZCBoYW5kbGVfdHR5X3JlYWQoc3RydWN0 IGRvbWFpbiAqZG9tKQorc3RhdGljIHZvaWQgaGFuZGxlX3R0eV9yZWFkKHN0cnVjdCBjb25zb2xl ICpjb24pCiB7CiAJc3NpemVfdCBsZW4gPSAwOwogCWNoYXIgbXNnWzgwXTsKIAlpbnQgaTsKLQlz dHJ1Y3QgY29uc29sZSAqY29uID0gJmRvbS0+Y29uc29sZTsKIAlzdHJ1Y3QgeGVuY29uc19pbnRl cmZhY2UgKmludGYgPSBjb24tPmludGVyZmFjZTsKKwlzdHJ1Y3QgZG9tYWluICpkb20gPSBjb24t PmQ7CiAJWEVOQ09OU19SSU5HX0lEWCBwcm9kOwogCiAJaWYgKGRvbS0+aXNfZGVhZCkKIAkJcmV0 dXJuOwogCi0JbGVuID0gcmluZ19mcmVlX2J5dGVzKGRvbSk7CisJbGVuID0gcmluZ19mcmVlX2J5 dGVzKGNvbik7CiAJaWYgKGxlbiA9PSAwKQogCQlyZXR1cm47CiAKQEAgLTg1Myw3ICs4NTAsNyBA QCBzdGF0aWMgdm9pZCBoYW5kbGVfdHR5X3JlYWQoc3RydWN0IGRvbWFpbiAqZG9tKQogCSAqIGtl ZXAgdGhlIHNsYXZlIG9wZW4gZm9yIHRoZSBkdXJhdGlvbi4KIAkgKi8KIAlpZiAobGVuIDwgMCkg ewotCQlkb21haW5faGFuZGxlX2Jyb2tlbl90dHkoZG9tLCBkb21haW5faXNfdmFsaWQoZG9tLT5k b21pZCkpOworCQljb25zb2xlX2hhbmRsZV9icm9rZW5fdHR5KGNvbiwgZG9tYWluX2lzX3ZhbGlk KGRvbS0+ZG9taWQpKTsKIAl9IGVsc2UgaWYgKGRvbWFpbl9pc192YWxpZChkb20tPmRvbWlkKSkg ewogCQlwcm9kID0gaW50Zi0+aW5fcHJvZDsKIAkJZm9yIChpID0gMDsgaSA8IGxlbjsgaSsrKSB7 CkBAIC04NjQsMTUgKzg2MSwxNSBAQCBzdGF0aWMgdm9pZCBoYW5kbGVfdHR5X3JlYWQoc3RydWN0 IGRvbWFpbiAqZG9tKQogCQlpbnRmLT5pbl9wcm9kID0gcHJvZDsKIAkJeGVuZXZ0Y2huX25vdGlm eShjb24tPnhjZV9oYW5kbGUsIGNvbi0+bG9jYWxfcG9ydCk7CiAJfSBlbHNlIHsKLQkJZG9tYWlu X2Nsb3NlX3R0eShkb20pOworCQljb25zb2xlX2Nsb3NlX3R0eShjb24pOwogCQlzaHV0ZG93bl9k b21haW4oZG9tKTsKIAl9CiB9CiAKLXN0YXRpYyB2b2lkIGhhbmRsZV90dHlfd3JpdGUoc3RydWN0 IGRvbWFpbiAqZG9tKQorc3RhdGljIHZvaWQgaGFuZGxlX3R0eV93cml0ZShzdHJ1Y3QgY29uc29s ZSAqY29uKQogewogCXNzaXplX3QgbGVuOwotCXN0cnVjdCBjb25zb2xlICpjb24gPSAmZG9tLT5j b25zb2xlOworCXN0cnVjdCBkb21haW4gKmRvbSA9IGNvbi0+ZDsKIAogCWlmIChkb20tPmlzX2Rl YWQpCiAJCXJldHVybjsKQEAgLTg4Miw3ICs4NzksNyBAQCBzdGF0aWMgdm9pZCBoYW5kbGVfdHR5 X3dyaXRlKHN0cnVjdCBkb21haW4gKmRvbSkKICAJaWYgKGxlbiA8IDEpIHsKIAkJZG9sb2coTE9H X0RFQlVHLCAiV3JpdGUgZmFpbGVkIG9uIGRvbWFpbiAlZDogJXpkLCAlZFxuIiwKIAkJICAgICAg ZG9tLT5kb21pZCwgbGVuLCBlcnJubyk7Ci0JCWRvbWFpbl9oYW5kbGVfYnJva2VuX3R0eShkb20s IGRvbWFpbl9pc192YWxpZChkb20tPmRvbWlkKSk7CisJCWNvbnNvbGVfaGFuZGxlX2Jyb2tlbl90 dHkoY29uLCBkb21haW5faXNfdmFsaWQoZG9tLT5kb21pZCkpOwogCX0gZWxzZSB7CiAJCWJ1ZmZl cl9hZHZhbmNlKCZjb24tPmJ1ZmZlciwgbGVuKTsKIAl9CkBAIC05MDEsNyArODk4LDcgQEAgc3Rh dGljIHZvaWQgaGFuZGxlX3JpbmdfcmVhZChzdHJ1Y3QgZG9tYWluICpkb20pCiAKIAljb24tPmV2 ZW50X2NvdW50Kys7CiAKLQlidWZmZXJfYXBwZW5kKGRvbSk7CisJYnVmZmVyX2FwcGVuZChjb24p OwogCiAJaWYgKGNvbi0+ZXZlbnRfY291bnQgPCBSQVRFX0xJTUlUX0FMTE9XQU5DRSkKIAkJKHZv aWQpeGVuZXZ0Y2huX3VubWFzayhjb24tPnhjZV9oYW5kbGUsIHBvcnQpOwpAQCAtOTI1LDcgKzky Miw3IEBAIHN0YXRpYyB2b2lkIGhhbmRsZV94cyh2b2lkKQogCQkvKiBXZSBtYXkgZ2V0IHdhdGNo ZXMgZmlyaW5nIGZvciBkb21haW5zIHRoYXQgaGF2ZSByZWNlbnRseQogCQkgICBiZWVuIHJlbW92 ZWQsIHNvIGRvbSBtYXkgYmUgTlVMTCBoZXJlLiAqLwogCQlpZiAoZG9tICYmIGRvbS0+aXNfZGVh ZCA9PSBmYWxzZSkKLQkJCWRvbWFpbl9jcmVhdGVfcmluZyhkb20pOworCQkJY29uc29sZV9jcmVh dGVfcmluZygmZG9tLT5jb25zb2xlKTsKIAl9CiAKIAlmcmVlKHZlYyk7CkBAIC05NzUsNyArOTcy LDcgQEAgc3RhdGljIHZvaWQgaGFuZGxlX2xvZ19yZWxvYWQodm9pZCkKIAogCQkJaWYgKGNvbi0+ bG9nX2ZkICE9IC0xKQogCQkJCWNsb3NlKGNvbi0+bG9nX2ZkKTsKLQkJCWNvbi0+bG9nX2ZkID0g Y3JlYXRlX2RvbWFpbl9sb2coZCk7CisJCQljb24tPmxvZ19mZCA9IGNyZWF0ZV9jb25zb2xlX2xv Zyhjb24pOwogCQl9CiAJfQogCkBAIC0xMTIxLDcgKzExMTgsNyBAQCB2b2lkIGhhbmRsZV9pbyh2 b2lkKQogCiAJCQlpZiAoY29uLT5tYXN0ZXJfZmQgIT0gLTEpIHsKIAkJCQlzaG9ydCBldmVudHMg PSAwOwotCQkJCWlmICghZC0+aXNfZGVhZCAmJiByaW5nX2ZyZWVfYnl0ZXMoZCkpCisJCQkJaWYg KCFkLT5pc19kZWFkICYmIHJpbmdfZnJlZV9ieXRlcyhjb24pKQogCQkJCQlldmVudHMgfD0gUE9M TElOOwogCiAJCQkJaWYgKCFidWZmZXJfZW1wdHkoJmNvbi0+YnVmZmVyKSkKQEAgLTEyMDgsMTUg KzEyMDUsMTUgQEAgdm9pZCBoYW5kbGVfaW8odm9pZCkKIAkJCWlmIChjb24tPm1hc3Rlcl9mZCAh PSAtMSAmJiBjb24tPm1hc3Rlcl9wb2xsZmRfaWR4ICE9IC0xKSB7CiAJCQkJaWYgKGZkc1tjb24t Pm1hc3Rlcl9wb2xsZmRfaWR4XS5yZXZlbnRzICYKIAkJCQkgICAgfihQT0xMSU58UE9MTE9VVHxQ T0xMUFJJKSkKLQkJCQkJZG9tYWluX2hhbmRsZV9icm9rZW5fdHR5KGQsCisJCQkJCWNvbnNvbGVf aGFuZGxlX2Jyb2tlbl90dHkoY29uLAogCQkJCQkJICAgZG9tYWluX2lzX3ZhbGlkKGQtPmRvbWlk KSk7CiAJCQkJZWxzZSB7CiAJCQkJCWlmIChmZHNbY29uLT5tYXN0ZXJfcG9sbGZkX2lkeF0ucmV2 ZW50cyAmCiAJCQkJCSAgICBQT0xMSU4pCi0JCQkJCQloYW5kbGVfdHR5X3JlYWQoZCk7CisJCQkJ CQloYW5kbGVfdHR5X3JlYWQoY29uKTsKIAkJCQkJaWYgKGZkc1tjb24tPm1hc3Rlcl9wb2xsZmRf aWR4XS5yZXZlbnRzICYKIAkJCQkJICAgIFBPTExPVVQpCi0JCQkJCQloYW5kbGVfdHR5X3dyaXRl KGQpOworCQkJCQkJaGFuZGxlX3R0eV93cml0ZShjb24pOwogCQkJCX0KIAkJCX0KIAotLSAKMi43 LjQKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpYZW4t ZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54ZW4ub3JnCmh0dHBzOi8vbGlzdHMu eGVuLm9yZy94ZW4tZGV2ZWwK