From mboxrd@z Thu Jan 1 00:00:00 1970 From: Bhupinder Thakur Subject: [PATCH 09/14 v4] xen/arm: vpl011: Modify xenconsole functions to take console structure as input Date: Tue, 6 Jun 2017 22:55:24 +0530 Message-ID: <1496769929-23355-10-git-send-email-bhupinder.thakur@linaro.org> References: <1496769929-23355-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.bemta3.messagelabs.com ([195.245.230.39]) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dIIF3-0001lZ-1i for xen-devel@lists.xenproject.org; Tue, 06 Jun 2017 17:26:05 +0000 Received: by mail-pg0-f47.google.com with SMTP id a70so29742029pge.3 for ; Tue, 06 Jun 2017 10:26:03 -0700 (PDT) In-Reply-To: <1496769929-23355-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 IFRoYWt1ciA8Ymh1cGluZGVyLnRoYWt1ckBsaW5hcm8ub3JnPgotLS0KQ0M6IGlqCkNDOiB3bApD Qzogc3MKQ0M6IGpnCgpDaGFuZ2VzIHNpbmNlIHYzOgotIFRoZSBjaGFuZ2VzIGluIHhlbmNvbnNv bGUgaGF2ZSBiZWVuIHNwbGl0IGludG8gZm91ciBwYXRjaGVzLiBUaGlzIGlzIHRoZSBzZWNvbmQg cGF0Y2guCgogdG9vbHMvY29uc29sZS9kYWVtb24vaW8uYyB8IDgyICsrKysrKysrKysrKysrKysr KysrKysrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAxIGZpbGUgY2hhbmdlZCwgNDEgaW5zZXJ0 aW9ucygrKSwgNDEgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvdG9vbHMvY29uc29sZS9kYWVt b24vaW8uYyBiL3Rvb2xzL2NvbnNvbGUvZGFlbW9uL2lvLmMKaW5kZXggMDQwMmRkZi4uYzVkZDA4 ZCAxMDA2NDQKLS0tIGEvdG9vbHMvY29uc29sZS9kYWVtb24vaW8uYworKysgYi90b29scy9jb25z b2xlL2RhZW1vbi9pby5jCkBAIC0xNjMsMTAgKzE2MywxMCBAQCBzdGF0aWMgaW50IHdyaXRlX3dp dGhfdGltZXN0YW1wKGludCBmZCwgY29uc3QgY2hhciAqZGF0YSwgc2l6ZV90IHN6LAogCXJldHVy biAwOwogfQogCi1zdGF0aWMgdm9pZCBidWZmZXJfYXBwZW5kKHN0cnVjdCBkb21haW4gKmRvbSkK K3N0YXRpYyB2b2lkIGJ1ZmZlcl9hcHBlbmQoc3RydWN0IGNvbnNvbGUgKmNvbikKIHsKLQlzdHJ1 Y3QgY29uc29sZSAqY29uID0gJmRvbS0+Y29uc29sZTsKIAlzdHJ1Y3QgYnVmZmVyICpidWZmZXIg PSAmY29uLT5idWZmZXI7CisJc3RydWN0IGRvbWFpbiAqZG9tID0gY29uLT5kOwogCVhFTkNPTlNf UklOR19JRFggY29ucywgcHJvZCwgc2l6ZTsKIAlzdHJ1Y3QgeGVuY29uc19pbnRlcmZhY2UgKmlu dGYgPSBjb24tPmludGVyZmFjZTsKIApAQCAtMjk2LDEyICsyOTYsMTMgQEAgc3RhdGljIGludCBj cmVhdGVfaHZfbG9nKHZvaWQpCiAJcmV0dXJuIGZkOwogfQogCi1zdGF0aWMgaW50IGNyZWF0ZV9k b21haW5fbG9nKHN0cnVjdCBkb21haW4gKmRvbSkKK3N0YXRpYyBpbnQgY3JlYXRlX2NvbnNvbGVf bG9nKHN0cnVjdCBjb25zb2xlICpjb24pCiB7CiAJY2hhciBsb2dmaWxlW1BBVEhfTUFYXTsKIAlj aGFyICpuYW1lcGF0aCwgKmRhdGEsICpzOwogCWludCBmZDsKIAl1bnNpZ25lZCBpbnQgbGVuOwor CXN0cnVjdCBkb21haW4gKmRvbSA9IGNvbi0+ZDsKIAogCW5hbWVwYXRoID0geHNfZ2V0X2RvbWFp bl9wYXRoKHhzLCBkb20tPmRvbWlkKTsKIAlzID0gcmVhbGxvYyhuYW1lcGF0aCwgc3RybGVuKG5h bWVwYXRoKSArIDYpOwpAQCAtMzQyLDEwICszNDMsOCBAQCBzdGF0aWMgaW50IGNyZWF0ZV9kb21h aW5fbG9nKHN0cnVjdCBkb21haW4gKmRvbSkKIAlyZXR1cm4gZmQ7CiB9CiAKLXN0YXRpYyB2b2lk IGRvbWFpbl9jbG9zZV90dHkoc3RydWN0IGRvbWFpbiAqZG9tKQorc3RhdGljIHZvaWQgY29uc29s ZV9jbG9zZV90dHkoc3RydWN0IGNvbnNvbGUgKmNvbikKIHsKLQlzdHJ1Y3QgY29uc29sZSAqY29u ID0gJmRvbS0+Y29uc29sZTsKLQogCWlmIChjb24tPm1hc3Rlcl9mZCAhPSAtMSkgewogCQljbG9z ZShjb24tPm1hc3Rlcl9mZCk7CiAJCWNvbi0+bWFzdGVyX2ZkID0gLTE7CkBAIC00MTcsNyArNDE2 LDcgQEAgdm9pZCBjZm1ha2VyYXcoc3RydWN0IHRlcm1pb3MgKnRlcm1pb3NfcCkKIH0KICNlbmRp ZiAvKiBfX3N1bl9fICovCiAKLXN0YXRpYyBpbnQgZG9tYWluX2NyZWF0ZV90dHkoc3RydWN0IGRv bWFpbiAqZG9tKQorc3RhdGljIGludCBjb25zb2xlX2NyZWF0ZV90dHkoc3RydWN0IGNvbnNvbGUg KmNvbikKIHsKIAljb25zdCBjaGFyICpzbGF2ZTsKIAljaGFyICpwYXRoOwpAQCAtNDI2LDcgKzQy NSw3IEBAIHN0YXRpYyBpbnQgZG9tYWluX2NyZWF0ZV90dHkoc3RydWN0IGRvbWFpbiAqZG9tKQog CWNoYXIgKmRhdGE7CiAJdW5zaWduZWQgaW50IGxlbjsKIAlzdHJ1Y3QgdGVybWlvcyB0ZXJtOwot CXN0cnVjdCBjb25zb2xlICpjb24gPSAmZG9tLT5jb25zb2xlOworCXN0cnVjdCBkb21haW4gKmRv bSA9IGNvbi0+ZDsKIAogCWFzc2VydChjb24tPnNsYXZlX2ZkID09IC0xKTsKIAlhc3NlcnQoY29u LT5tYXN0ZXJfZmQgPT0gLTEpOwpAQCAtNDg3LDcgKzQ4Niw3IEBAIHN0YXRpYyBpbnQgZG9tYWlu X2NyZWF0ZV90dHkoc3RydWN0IGRvbWFpbiAqZG9tKQogCiAJcmV0dXJuIDE7CiBvdXQ6Ci0JZG9t YWluX2Nsb3NlX3R0eShkb20pOworCWNvbnNvbGVfY2xvc2VfdHR5KGNvbik7CiAJcmV0dXJuIDA7 CiB9CiAgCkBAIC01MjYsMTAgKzUyNSw4IEBAIHN0YXRpYyBpbnQgeHNfZ2F0aGVyKHN0cnVjdCB4 c19oYW5kbGUgKnhzLCBjb25zdCBjaGFyICpkaXIsIC4uLikKIAlyZXR1cm4gcmV0OwogfQogCi1z dGF0aWMgdm9pZCBkb21haW5fdW5tYXBfaW50ZXJmYWNlKHN0cnVjdCBkb21haW4gKmRvbSkKK3N0 YXRpYyB2b2lkIGNvbnNvbGVfdW5tYXBfaW50ZXJmYWNlKHN0cnVjdCBjb25zb2xlICpjb24pCiB7 Ci0Jc3RydWN0IGNvbnNvbGUgKmNvbiA9ICZkb20tPmNvbnNvbGU7Ci0KIAlpZiAoY29uLT5pbnRl cmZhY2UgPT0gTlVMTCkKIAkJcmV0dXJuOwogCWlmICh4Z3RfaGFuZGxlICYmIGNvbi0+cmluZ19y ZWYgPT0gLTEpCkBAIC01NDAsMTEgKzUzNywxMSBAQCBzdGF0aWMgdm9pZCBkb21haW5fdW5tYXBf aW50ZXJmYWNlKHN0cnVjdCBkb21haW4gKmRvbSkKIAljb24tPnJpbmdfcmVmID0gLTE7CiB9CiAg Ci1zdGF0aWMgaW50IGRvbWFpbl9jcmVhdGVfcmluZyhzdHJ1Y3QgZG9tYWluICpkb20pCitzdGF0 aWMgaW50IGNvbnNvbGVfY3JlYXRlX3Jpbmcoc3RydWN0IGNvbnNvbGUgKmNvbikKIHsKIAlpbnQg ZXJyLCByZW1vdGVfcG9ydCwgcmluZ19yZWYsIHJjOwogCWNoYXIgKnR5cGUsIHBhdGhbUEFUSF9N QVhdOwotCXN0cnVjdCBjb25zb2xlICpjb24gPSAmZG9tLT5jb25zb2xlOworCXN0cnVjdCBkb21h aW4gKmRvbSA9IGNvbi0+ZDsKIAogCWVyciA9IHhzX2dhdGhlcih4cywgY29uLT5jb25zcGF0aCwK IAkJCSJyaW5nLXJlZiIsICIldSIsICZyaW5nX3JlZiwKQEAgLTU2Myw3ICs1NjAsNyBAQCBzdGF0 aWMgaW50IGRvbWFpbl9jcmVhdGVfcmluZyhzdHJ1Y3QgZG9tYWluICpkb20pCiAKIAkvKiBJZiB1 c2luZyByaW5nX3JlZiBhbmQgaXQgaGFzIGNoYW5nZWQsIHJlbWFwICovCiAJaWYgKHJpbmdfcmVm ICE9IGNvbi0+cmluZ19yZWYgJiYgY29uLT5yaW5nX3JlZiAhPSAtMSkKLQkJZG9tYWluX3VubWFw X2ludGVyZmFjZShkb20pOworCQljb25zb2xlX3VubWFwX2ludGVyZmFjZShjb24pOwogCiAJaWYg KCFjb24tPmludGVyZmFjZSAmJiB4Z3RfaGFuZGxlKSB7CiAJCS8qIFByZWZlciB1c2luZyBncmFu dCB0YWJsZSAqLwpAQCAtNjIxLDcgKzYxOCw3IEBAIHN0YXRpYyBpbnQgZG9tYWluX2NyZWF0ZV9y aW5nKHN0cnVjdCBkb21haW4gKmRvbSkKIAljb24tPnJlbW90ZV9wb3J0ID0gcmVtb3RlX3BvcnQ7 CiAKIAlpZiAoY29uLT5tYXN0ZXJfZmQgPT0gLTEpIHsKLQkJaWYgKCFkb21haW5fY3JlYXRlX3R0 eShkb20pKSB7CisJCWlmICghY29uc29sZV9jcmVhdGVfdHR5KGNvbikpIHsKIAkJCWVyciA9IGVy cm5vOwogCQkJeGVuZXZ0Y2huX2Nsb3NlKGRvbS0+eGNlX2hhbmRsZSk7CiAJCQlkb20tPnhjZV9o YW5kbGUgPSBOVUxMOwpAQCAtNjMyLDcgKzYyOSw3IEBAIHN0YXRpYyBpbnQgZG9tYWluX2NyZWF0 ZV9yaW5nKHN0cnVjdCBkb21haW4gKmRvbSkKIAl9CiAKIAlpZiAobG9nX2d1ZXN0ICYmIChjb24t PmxvZ19mZCA9PSAtMSkpCi0JCWNvbi0+bG9nX2ZkID0gY3JlYXRlX2RvbWFpbl9sb2coZG9tKTsK KwkJY29uLT5sb2dfZmQgPSBjcmVhdGVfY29uc29sZV9sb2coY29uKTsKIAogIG91dDoKIAlyZXR1 cm4gZXJyOwpAQCAtNjQ4LDcgKzY0NSw3IEBAIHN0YXRpYyBib29sIHdhdGNoX2RvbWFpbihzdHJ1 Y3QgZG9tYWluICpkb20sIGJvb2wgd2F0Y2gpCiAJaWYgKHdhdGNoKSB7CiAJCXN1Y2Nlc3MgPSB4 c193YXRjaCh4cywgY29uLT5jb25zcGF0aCwgZG9taWRfc3RyKTsKIAkJaWYgKHN1Y2Nlc3MpCi0J CQlkb21haW5fY3JlYXRlX3JpbmcoZG9tKTsKKwkJCWNvbnNvbGVfY3JlYXRlX3JpbmcoY29uKTsK IAkJZWxzZQogCQkJeHNfdW53YXRjaCh4cywgY29uLT5jb25zcGF0aCwgZG9taWRfc3RyKTsKIAl9 IGVsc2UgewpAQCAtNjk0LDYgKzY5MSw3IEBAIHN0YXRpYyBzdHJ1Y3QgZG9tYWluICpjcmVhdGVf ZG9tYWluKGludCBkb21pZCkKIAljb24tPm1hc3Rlcl9wb2xsZmRfaWR4ID0gLTE7CiAJY29uLT5z bGF2ZV9mZCA9IC0xOwogCWNvbi0+bG9nX2ZkID0gLTE7CisJY29uLT5kID0gZG9tOwogCWRvbS0+ eGNlX3BvbGxmZF9pZHggPSAtMTsKIAogCWRvbS0+bmV4dF9wZXJpb2QgPSAoKGxvbmcgbG9uZyl0 cy50dl9zZWMgKiAxMDAwKSArICh0cy50dl9uc2VjIC8gMTAwMDAwMCkgKyBSQVRFX0xJTUlUX1BF UklPRDsKQEAgLTc0Niw3ICs3NDQsNyBAQCBzdGF0aWMgdm9pZCBjbGVhbnVwX2RvbWFpbihzdHJ1 Y3QgZG9tYWluICpkKQogewogCXN0cnVjdCBjb25zb2xlICpjb24gPSAmZC0+Y29uc29sZTsKIAot CWRvbWFpbl9jbG9zZV90dHkoZCk7CisJY29uc29sZV9jbG9zZV90dHkoY29uKTsKIAogCWlmIChj b24tPmxvZ19mZCAhPSAtMSkgewogCQljbG9zZShjb24tPmxvZ19mZCk7CkBAIC03NjQsOSArNzYy LDExIEBAIHN0YXRpYyB2b2lkIGNsZWFudXBfZG9tYWluKHN0cnVjdCBkb21haW4gKmQpCiAKIHN0 YXRpYyB2b2lkIHNodXRkb3duX2RvbWFpbihzdHJ1Y3QgZG9tYWluICpkKQogeworCXN0cnVjdCBj b25zb2xlICpjb24gPSAmZC0+Y29uc29sZTsKKwogCWQtPmlzX2RlYWQgPSB0cnVlOwogCXdhdGNo X2RvbWFpbihkLCBmYWxzZSk7Ci0JZG9tYWluX3VubWFwX2ludGVyZmFjZShkKTsKKwljb25zb2xl X3VubWFwX2ludGVyZmFjZShjb24pOwogCWlmIChkLT54Y2VfaGFuZGxlICE9IE5VTEwpCiAJCXhl bmV2dGNobl9jbG9zZShkLT54Y2VfaGFuZGxlKTsKIAlkLT54Y2VfaGFuZGxlID0gTlVMTDsKQEAg LTc5Nyw5ICs3OTcsOCBAQCBzdGF0aWMgdm9pZCBlbnVtX2RvbWFpbnModm9pZCkKIAl9CiB9CiAK LXN0YXRpYyBpbnQgcmluZ19mcmVlX2J5dGVzKHN0cnVjdCBkb21haW4gKmRvbSkKK3N0YXRpYyBp bnQgcmluZ19mcmVlX2J5dGVzKHN0cnVjdCBjb25zb2xlICpjb24pCiB7Ci0Jc3RydWN0IGNvbnNv bGUgKmNvbiA9ICZkb20tPmNvbnNvbGU7CiAJc3RydWN0IHhlbmNvbnNfaW50ZXJmYWNlICppbnRm ID0gY29uLT5pbnRlcmZhY2U7CiAJWEVOQ09OU19SSU5HX0lEWCBjb25zLCBwcm9kLCBzcGFjZTsK IApAQCAtODE0LDMwICs4MTMsMzAgQEAgc3RhdGljIGludCByaW5nX2ZyZWVfYnl0ZXMoc3RydWN0 IGRvbWFpbiAqZG9tKQogCXJldHVybiAoc2l6ZW9mKGludGYtPmluKSAtIHNwYWNlKTsKIH0KIAot c3RhdGljIHZvaWQgZG9tYWluX2hhbmRsZV9icm9rZW5fdHR5KHN0cnVjdCBkb21haW4gKmRvbSwg aW50IHJlY3JlYXRlKQorc3RhdGljIHZvaWQgY29uc29sZV9oYW5kbGVfYnJva2VuX3R0eShzdHJ1 Y3QgY29uc29sZSAqY29uLCBpbnQgcmVjcmVhdGUpCiB7Ci0JZG9tYWluX2Nsb3NlX3R0eShkb20p OworCWNvbnNvbGVfY2xvc2VfdHR5KGNvbik7CiAKIAlpZiAocmVjcmVhdGUpIHsKLQkJZG9tYWlu X2NyZWF0ZV90dHkoZG9tKTsKKwkJY29uc29sZV9jcmVhdGVfdHR5KGNvbik7CiAJfSBlbHNlIHsK LQkJc2h1dGRvd25fZG9tYWluKGRvbSk7CisJCXNodXRkb3duX2RvbWFpbihjb24tPmQpOwogCX0K IH0KIAotc3RhdGljIHZvaWQgaGFuZGxlX3R0eV9yZWFkKHN0cnVjdCBkb21haW4gKmRvbSkKK3N0 YXRpYyB2b2lkIGhhbmRsZV90dHlfcmVhZChzdHJ1Y3QgY29uc29sZSAqY29uKQogewogCXNzaXpl X3QgbGVuID0gMDsKIAljaGFyIG1zZ1s4MF07CiAJaW50IGk7Ci0Jc3RydWN0IGNvbnNvbGUgKmNv biA9ICZkb20tPmNvbnNvbGU7CiAJc3RydWN0IHhlbmNvbnNfaW50ZXJmYWNlICppbnRmID0gY29u LT5pbnRlcmZhY2U7CisJc3RydWN0IGRvbWFpbiAqZG9tID0gY29uLT5kOwogCVhFTkNPTlNfUklO R19JRFggcHJvZDsKIAogCWlmIChkb20tPmlzX2RlYWQpCiAJCXJldHVybjsKIAotCWxlbiA9IHJp bmdfZnJlZV9ieXRlcyhkb20pOworCWxlbiA9IHJpbmdfZnJlZV9ieXRlcyhjb24pOwogCWlmIChs ZW4gPT0gMCkKIAkJcmV0dXJuOwogCkBAIC04NTEsNyArODUwLDcgQEAgc3RhdGljIHZvaWQgaGFu ZGxlX3R0eV9yZWFkKHN0cnVjdCBkb21haW4gKmRvbSkKIAkgKiBrZWVwIHRoZSBzbGF2ZSBvcGVu IGZvciB0aGUgZHVyYXRpb24uCiAJICovCiAJaWYgKGxlbiA8IDApIHsKLQkJZG9tYWluX2hhbmRs ZV9icm9rZW5fdHR5KGRvbSwgZG9tYWluX2lzX3ZhbGlkKGRvbS0+ZG9taWQpKTsKKwkJY29uc29s ZV9oYW5kbGVfYnJva2VuX3R0eShjb24sIGRvbWFpbl9pc192YWxpZChkb20tPmRvbWlkKSk7CiAJ fSBlbHNlIGlmIChkb21haW5faXNfdmFsaWQoZG9tLT5kb21pZCkpIHsKIAkJcHJvZCA9IGludGYt PmluX3Byb2Q7CiAJCWZvciAoaSA9IDA7IGkgPCBsZW47IGkrKykgewpAQCAtODYyLDE1ICs4NjEs MTUgQEAgc3RhdGljIHZvaWQgaGFuZGxlX3R0eV9yZWFkKHN0cnVjdCBkb21haW4gKmRvbSkKIAkJ aW50Zi0+aW5fcHJvZCA9IHByb2Q7CiAJCXhlbmV2dGNobl9ub3RpZnkoZG9tLT54Y2VfaGFuZGxl LCBjb24tPmxvY2FsX3BvcnQpOwogCX0gZWxzZSB7Ci0JCWRvbWFpbl9jbG9zZV90dHkoZG9tKTsK KwkJY29uc29sZV9jbG9zZV90dHkoY29uKTsKIAkJc2h1dGRvd25fZG9tYWluKGRvbSk7CiAJfQog fQogCi1zdGF0aWMgdm9pZCBoYW5kbGVfdHR5X3dyaXRlKHN0cnVjdCBkb21haW4gKmRvbSkKK3N0 YXRpYyB2b2lkIGhhbmRsZV90dHlfd3JpdGUoc3RydWN0IGNvbnNvbGUgKmNvbikKIHsKIAlzc2l6 ZV90IGxlbjsKLQlzdHJ1Y3QgY29uc29sZSAqY29uID0gJmRvbS0+Y29uc29sZTsKKwlzdHJ1Y3Qg ZG9tYWluICpkb20gPSBjb24tPmQ7CiAKIAlpZiAoZG9tLT5pc19kZWFkKQogCQlyZXR1cm47CkBA IC04ODAsNyArODc5LDcgQEAgc3RhdGljIHZvaWQgaGFuZGxlX3R0eV93cml0ZShzdHJ1Y3QgZG9t YWluICpkb20pCiAgCWlmIChsZW4gPCAxKSB7CiAJCWRvbG9nKExPR19ERUJVRywgIldyaXRlIGZh aWxlZCBvbiBkb21haW4gJWQ6ICV6ZCwgJWRcbiIsCiAJCSAgICAgIGRvbS0+ZG9taWQsIGxlbiwg ZXJybm8pOwotCQlkb21haW5faGFuZGxlX2Jyb2tlbl90dHkoZG9tLCBkb21haW5faXNfdmFsaWQo ZG9tLT5kb21pZCkpOworCQljb25zb2xlX2hhbmRsZV9icm9rZW5fdHR5KGNvbiwgZG9tYWluX2lz X3ZhbGlkKGRvbS0+ZG9taWQpKTsKIAl9IGVsc2UgewogCQlidWZmZXJfYWR2YW5jZSgmY29uLT5i dWZmZXIsIGxlbik7CiAJfQpAQCAtODg5LDYgKzg4OCw3IEBAIHN0YXRpYyB2b2lkIGhhbmRsZV90 dHlfd3JpdGUoc3RydWN0IGRvbWFpbiAqZG9tKQogc3RhdGljIHZvaWQgaGFuZGxlX3JpbmdfcmVh ZChzdHJ1Y3QgZG9tYWluICpkb20pCiB7CiAJeGVuZXZ0Y2huX3BvcnRfb3JfZXJyb3JfdCBwb3J0 OworCXN0cnVjdCBjb25zb2xlICpjb24gPSAmZG9tLT5jb25zb2xlOwogCiAJaWYgKGRvbS0+aXNf ZGVhZCkKIAkJcmV0dXJuOwpAQCAtODk4LDcgKzg5OCw3IEBAIHN0YXRpYyB2b2lkIGhhbmRsZV9y aW5nX3JlYWQoc3RydWN0IGRvbWFpbiAqZG9tKQogCiAJZG9tLT5ldmVudF9jb3VudCsrOwogCi0J YnVmZmVyX2FwcGVuZChkb20pOworCWJ1ZmZlcl9hcHBlbmQoY29uKTsKIAogCWlmIChkb20tPmV2 ZW50X2NvdW50IDwgUkFURV9MSU1JVF9BTExPV0FOQ0UpCiAJCSh2b2lkKXhlbmV2dGNobl91bm1h c2soZG9tLT54Y2VfaGFuZGxlLCBwb3J0KTsKQEAgLTkyMiw3ICs5MjIsNyBAQCBzdGF0aWMgdm9p ZCBoYW5kbGVfeHModm9pZCkKIAkJLyogV2UgbWF5IGdldCB3YXRjaGVzIGZpcmluZyBmb3IgZG9t YWlucyB0aGF0IGhhdmUgcmVjZW50bHkKIAkJICAgYmVlbiByZW1vdmVkLCBzbyBkb20gbWF5IGJl IE5VTEwgaGVyZS4gKi8KIAkJaWYgKGRvbSAmJiBkb20tPmlzX2RlYWQgPT0gZmFsc2UpCi0JCQlk b21haW5fY3JlYXRlX3JpbmcoZG9tKTsKKwkJCWNvbnNvbGVfY3JlYXRlX3JpbmcoJmRvbS0+Y29u c29sZSk7CiAJfQogCiAJZnJlZSh2ZWMpOwpAQCAtOTcyLDcgKzk3Miw3IEBAIHN0YXRpYyB2b2lk IGhhbmRsZV9sb2dfcmVsb2FkKHZvaWQpCiAKIAkJCWlmIChjb24tPmxvZ19mZCAhPSAtMSkKIAkJ CQljbG9zZShjb24tPmxvZ19mZCk7Ci0JCQljb24tPmxvZ19mZCA9IGNyZWF0ZV9kb21haW5fbG9n KGQpOworCQkJY29uLT5sb2dfZmQgPSBjcmVhdGVfY29uc29sZV9sb2coY29uKTsKIAkJfQogCX0K IApAQCAtMTExOCw3ICsxMTE4LDcgQEAgdm9pZCBoYW5kbGVfaW8odm9pZCkKIAogCQkJaWYgKGNv bi0+bWFzdGVyX2ZkICE9IC0xKSB7CiAJCQkJc2hvcnQgZXZlbnRzID0gMDsKLQkJCQlpZiAoIWQt PmlzX2RlYWQgJiYgcmluZ19mcmVlX2J5dGVzKGQpKQorCQkJCWlmICghZC0+aXNfZGVhZCAmJiBy aW5nX2ZyZWVfYnl0ZXMoY29uKSkKIAkJCQkJZXZlbnRzIHw9IFBPTExJTjsKIAogCQkJCWlmICgh YnVmZmVyX2VtcHR5KCZjb24tPmJ1ZmZlcikpCkBAIC0xMjAxLDE1ICsxMjAxLDE1IEBAIHZvaWQg aGFuZGxlX2lvKHZvaWQpCiAJCQlpZiAoY29uLT5tYXN0ZXJfZmQgIT0gLTEgJiYgY29uLT5tYXN0 ZXJfcG9sbGZkX2lkeCAhPSAtMSkgewogCQkJCWlmIChmZHNbY29uLT5tYXN0ZXJfcG9sbGZkX2lk eF0ucmV2ZW50cyAmCiAJCQkJICAgIH4oUE9MTElOfFBPTExPVVR8UE9MTFBSSSkpCi0JCQkJCWRv bWFpbl9oYW5kbGVfYnJva2VuX3R0eShkLAorCQkJCQljb25zb2xlX2hhbmRsZV9icm9rZW5fdHR5 KGNvbiwKIAkJCQkJCSAgIGRvbWFpbl9pc192YWxpZChkLT5kb21pZCkpOwogCQkJCWVsc2Ugewog CQkJCQlpZiAoZmRzW2Nvbi0+bWFzdGVyX3BvbGxmZF9pZHhdLnJldmVudHMgJgogCQkJCQkgICAg UE9MTElOKQotCQkJCQkJaGFuZGxlX3R0eV9yZWFkKGQpOworCQkJCQkJaGFuZGxlX3R0eV9yZWFk KGNvbik7CiAJCQkJCWlmIChmZHNbY29uLT5tYXN0ZXJfcG9sbGZkX2lkeF0ucmV2ZW50cyAmCiAJ CQkJCSAgICBQT0xMT1VUKQotCQkJCQkJaGFuZGxlX3R0eV93cml0ZShkKTsKKwkJCQkJCWhhbmRs ZV90dHlfd3JpdGUoY29uKTsKIAkJCQl9CiAJCQl9CiAKLS0gCjIuNy40CgoKX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KWGVuLWRldmVsIG1haWxpbmcgbGlz dApYZW4tZGV2ZWxAbGlzdHMueGVuLm9yZwpodHRwczovL2xpc3RzLnhlbi5vcmcveGVuLWRldmVs Cg==