From mboxrd@z Thu Jan 1 00:00:00 1970 From: Oleksandr Tyshchenko Subject: [RFC PATCH 23/31] xen/arm: Add Xen changes to mailbox infrastructure Date: Thu, 9 Nov 2017 19:10:13 +0200 Message-ID: <1510247421-24094-24-git-send-email-olekstysh@gmail.com> References: <1510247421-24094-1-git-send-email-olekstysh@gmail.com> 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 1eCqLz-0004W3-9x for xen-devel@lists.xenproject.org; Thu, 09 Nov 2017 17:10:59 +0000 Received: by mail-lf0-f68.google.com with SMTP id a132so8047767lfa.7 for ; Thu, 09 Nov 2017 09:10:58 -0800 (PST) In-Reply-To: <1510247421-24094-1-git-send-email-olekstysh@gmail.com> 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: Oleksandr Tyshchenko , Stefano Stabellini , Julien Grall List-Id: xen-devel@lists.xenproject.org RnJvbTogT2xla3NhbmRyIFR5c2hjaGVua28gPG9sZWtzYW5kcl90eXNoY2hlbmtvQGVwYW0uY29t PgoKTW9kaWZ5IHRoZSBkaXJlY3QgcG9ydGVkIG1haWxib3ggaW5mcmFzdHJ1Y3R1cmUgdG8gYmUK ZnVuY3Rpb25hbCBpbnNpZGUgWGVuLgoKSW5jbHVkZSAid3JhcHBlcnMuaCIgd2hpY2ggY29udGFp bnMgYWxsIHJlcXVpcmVkIHRoaW5ncyB0aGUgZGlyZWN0CnBvcnRlZCBjb2RlIHJlbGllcyBvbi4K CkltcG9ydGFudCBub3RlOiB0aGUgdXNhZ2Ugb2YgZHVtbXkgIndhaXQtZm9yLWNvbXBsZXRpb24i IGJhc2VkIG9uCmJ1c3kgbG9vcCByZXN0cmljdHMgdXMgZnJvbSB1c2luZyB0aW1lciBiYXNlZCBw b2xsaW5nLgpTbywgcHJldmVudCBtYWlsYm94IGNvbnRyb2xsZXJzICh3aGljaCBuZWVkIHBvbGxp bmcgdGltZXIgaW52b2x2ZWQpCmZyb20gYmVpbmcgcmVnaXN0ZXJlZC4KClNpZ25lZC1vZmYtYnk6 IE9sZWtzYW5kciBUeXNoY2hlbmtvIDxvbGVrc2FuZHJfdHlzaGNoZW5rb0BlcGFtLmNvbT4KQ0M6 IFN0ZWZhbm8gU3RhYmVsbGluaSA8c3N0YWJlbGxpbmlAa2VybmVsLm9yZz4KQ0M6IEp1bGllbiBH cmFsbCA8anVsaWVuLmdyYWxsQGxpbmFyby5vcmc+Ci0tLQogeGVuL2FyY2gvYXJtL2NwdWZyZXEv bWFpbGJveC5jICAgICAgICAgICAgfCA1MSArKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0t CiB4ZW4vYXJjaC9hcm0vY3B1ZnJlcS9tYWlsYm94LmggICAgICAgICAgICB8IDE0ICsrKysrKysr KwogeGVuL2FyY2gvYXJtL2NwdWZyZXEvbWFpbGJveF9jbGllbnQuaCAgICAgfCAxOCArKysrKysr KysrKwogeGVuL2FyY2gvYXJtL2NwdWZyZXEvbWFpbGJveF9jb250cm9sbGVyLmggfCAyMiArKysr KysrKysrKysrCiA0IGZpbGVzIGNoYW5nZWQsIDEwMiBpbnNlcnRpb25zKCspLCAzIGRlbGV0aW9u cygtKQoKZGlmZiAtLWdpdCBhL3hlbi9hcmNoL2FybS9jcHVmcmVxL21haWxib3guYyBiL3hlbi9h cmNoL2FybS9jcHVmcmVxL21haWxib3guYwppbmRleCA1MzdmNGY2Li43YTM0ZTM2IDEwMDY0NAot LS0gYS94ZW4vYXJjaC9hcm0vY3B1ZnJlcS9tYWlsYm94LmMKKysrIGIveGVuL2FyY2gvYXJtL2Nw dWZyZXEvbWFpbGJveC5jCkBAIC03LDggKzcsMTYgQEAKICAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVl IHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiAgKiBpdCB1 bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIHZlcnNpb24g MiBhcwogICogcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24uCisgKgor ICogQmFzZWQgb24gTGludXggZHJpdmVycy9tYWlsYm94L21haWxib3guYworICogPT4gY29tbWl0 IGI3MTMzZDZmY2Q5YTllYjQ2MzMzNTdkNGEyNzQzMGQ0ZTBjNzk0YWQKKyAqCisgKiBYZW4gbW9k aWZpY2F0aW9uOgorICogT2xla3NhbmRyIFR5c2hjaGVua28gPE9sZWtzYW5kcl9UeXNoY2hlbmtv QGVwYW0uY29tPgorICogQ29weXJpZ2h0IChDKSAyMDE3IEVQQU0gU3lzdGVtcyBJbmMuCiAgKi8K IAorI2lmIDAKICNpbmNsdWRlIDxsaW51eC9pbnRlcnJ1cHQuaD4KICNpbmNsdWRlIDxsaW51eC9z cGlubG9jay5oPgogI2luY2x1ZGUgPGxpbnV4L211dGV4Lmg+CkBAIC0yMCw4ICsyOCwxNiBAQAog I2luY2x1ZGUgPGxpbnV4L2JpdG9wcy5oPgogI2luY2x1ZGUgPGxpbnV4L21haWxib3hfY2xpZW50 Lmg+CiAjaW5jbHVkZSA8bGludXgvbWFpbGJveF9jb250cm9sbGVyLmg+CisjZW5kaWYKKworI2lu Y2x1ZGUgPHhlbi9kZXZpY2VfdHJlZS5oPgorI2luY2x1ZGUgPHhlbi9lcnIuaD4KKyNpbmNsdWRl IDx4ZW4veG1hbGxvYy5oPgogCiAjaW5jbHVkZSAibWFpbGJveC5oIgorI2luY2x1ZGUgIm1haWxi b3hfY2xpZW50LmgiCisjaW5jbHVkZSAibWFpbGJveF9jb250cm9sbGVyLmgiCisjaW5jbHVkZSAi d3JhcHBlcnMuaCIKIAogc3RhdGljIExJU1RfSEVBRChtYm94X2NvbnMpOwogc3RhdGljIERFRklO RV9NVVRFWChjb25fbXV0ZXgpOwpAQCAtODUsOSArMTAxLDExIEBAIHN0YXRpYyB2b2lkIG1zZ19z dWJtaXQoc3RydWN0IG1ib3hfY2hhbiAqY2hhbikKIGV4aXQ6CiAJc3Bpbl91bmxvY2tfaXJxcmVz dG9yZSgmY2hhbi0+bG9jaywgZmxhZ3MpOwogCisjaWYgMCAvKiBXZSBkb24ndCBzdXBwb3J0IHRp bWVyIGJhc2VkIHBvbGxpbmcuICovCiAJaWYgKCFlcnIgJiYgKGNoYW4tPnR4ZG9uZV9tZXRob2Qg JiBUWERPTkVfQllfUE9MTCkpCiAJCS8qIGtpY2sgc3RhcnQgdGhlIHRpbWVyIGltbWVkaWF0ZWx5 IHRvIGF2b2lkIGRlbGF5cyAqLwogCQlocnRpbWVyX3N0YXJ0KCZjaGFuLT5tYm94LT5wb2xsX2hy dCwgMCwgSFJUSU1FUl9NT0RFX1JFTCk7CisjZW5kaWYKIH0KIAogc3RhdGljIHZvaWQgdHhfdGlj ayhzdHJ1Y3QgbWJveF9jaGFuICpjaGFuLCBpbnQgcikKQEAgLTExNCw2ICsxMzIsNyBAQCBzdGF0 aWMgdm9pZCB0eF90aWNrKHN0cnVjdCBtYm94X2NoYW4gKmNoYW4sIGludCByKQogCQljb21wbGV0 ZSgmY2hhbi0+dHhfY29tcGxldGUpOwogfQogCisjaWYgMCAvKiBXZSBkb24ndCBzdXBwb3J0IHRp bWVyIGJhc2VkIHBvbGxpbmcuICovCiBzdGF0aWMgZW51bSBocnRpbWVyX3Jlc3RhcnQgdHhkb25l X2hydGltZXIoc3RydWN0IGhydGltZXIgKmhydGltZXIpCiB7CiAJc3RydWN0IG1ib3hfY29udHJv bGxlciAqbWJveCA9CkBAIC0xMzksNiArMTU4LDcgQEAgc3RhdGljIGVudW0gaHJ0aW1lcl9yZXN0 YXJ0IHR4ZG9uZV9ocnRpbWVyKHN0cnVjdCBocnRpbWVyICpocnRpbWVyKQogCX0KIAlyZXR1cm4g SFJUSU1FUl9OT1JFU1RBUlQ7CiB9CisjZW5kaWYKIAogLyoqCiAgKiBtYm94X2NoYW5fcmVjZWl2 ZWRfZGF0YSAtIEEgd2F5IGZvciBjb250cm9sbGVyIGRyaXZlciB0byBwdXNoIGRhdGEKQEAgLTM3 NCw3ICszOTQsNyBAQCBzdHJ1Y3QgbWJveF9jaGFuICptYm94X3JlcXVlc3RfY2hhbm5lbF9ieW5h bWUoc3RydWN0IG1ib3hfY2xpZW50ICpjbCwKIAkJCQkJICAgICAgY29uc3QgY2hhciAqbmFtZSkK IHsKIAlzdHJ1Y3QgZGV2aWNlX25vZGUgKm5wID0gY2wtPmRldi0+b2Zfbm9kZTsKLQlzdHJ1Y3Qg cHJvcGVydHkgKnByb3A7CisJY29uc3Qgc3RydWN0IHByb3BlcnR5ICpwcm9wOwogCWNvbnN0IGNo YXIgKm1ib3hfbmFtZTsKIAlpbnQgaW5kZXggPSAwOwogCkBAIC00NTIsMTMgKzQ3MiwyNiBAQCBp bnQgbWJveF9jb250cm9sbGVyX3JlZ2lzdGVyKHN0cnVjdCBtYm94X2NvbnRyb2xsZXIgKm1ib3gp CiAJaWYgKCFtYm94IHx8ICFtYm94LT5kZXYgfHwgIW1ib3gtPm9wcyB8fCAhbWJveC0+bnVtX2No YW5zKQogCQlyZXR1cm4gLUVJTlZBTDsKIAorCS8qCisJICogVW5mb3J0dW5hdGVseSwgaGVyZSB3 ZSBoYXZlIHRvIHByZXZlbnQgc29tZSBjb250cm9sbGVycyAod2hpY2ggbmVlZAorCSAqIHBvbGxp bmcgdGltZXIgaW52b2x2ZWQpIGZyb20gYmVpbmcgcmVnaXN0ZXJlZC4gVGhlIHBvc3NpYmxlIGNv bnRyb2xsZXIKKwkgKiBtdXN0IGhhdmUgYm90aCBUWC1Eb25lIGFuZCBSWC1Eb25lIGlycXMgb3Ig dG8gYmUgY29tcGxldGVseSBzeW5jaHJvbm91cy4KKwkgKi8KKwlpZiAoIW1ib3gtPnJ4ZG9uZV9h dXRvKSB7CisJCWRldl9lcnIobWJveC0+ZGV2LCAicnggcG9sbGluZyBtZXRob2QgaXMgbm90IHN1 cHBvcnRlZFxuIik7CisJCXJldHVybiAtRUlOVkFMOworCX0KKwogCWlmIChtYm94LT50eGRvbmVf aXJxKQogCQl0eGRvbmUgPSBUWERPTkVfQllfSVJROwotCWVsc2UgaWYgKG1ib3gtPnR4ZG9uZV9w b2xsKQotCQl0eGRvbmUgPSBUWERPTkVfQllfUE9MTDsKKwllbHNlIGlmIChtYm94LT50eGRvbmVf cG9sbCkgeworCQlkZXZfZXJyKG1ib3gtPmRldiwgInR4IHBvbGxpbmcgbWV0aG9kIGlzIG5vdCBz dXBwb3J0ZWRcbiIpOworCQlyZXR1cm4gLUVJTlZBTDsKKwl9CiAJZWxzZSAvKiBJdCBoYXMgdG8g YmUgQUNLIHRoZW4gKi8KIAkJdHhkb25lID0gVFhET05FX0JZX0FDSzsKIAorI2lmIDAgLyogV2Ug ZG9uJ3Qgc3VwcG9ydCB0aW1lciBiYXNlZCBwb2xsaW5nLiAqLwogCWlmICh0eGRvbmUgPT0gVFhE T05FX0JZX1BPTEwpIHsKIAogCQlpZiAoIW1ib3gtPm9wcy0+bGFzdF90eF9kb25lKSB7CkBAIC00 NzAsNiArNTAzLDcgQEAgaW50IG1ib3hfY29udHJvbGxlcl9yZWdpc3RlcihzdHJ1Y3QgbWJveF9j b250cm9sbGVyICptYm94KQogCQkJICAgICBIUlRJTUVSX01PREVfUkVMKTsKIAkJbWJveC0+cG9s bF9ocnQuZnVuY3Rpb24gPSB0eGRvbmVfaHJ0aW1lcjsKIAl9CisjZW5kaWYKIAogCWZvciAoaSA9 IDA7IGkgPCBtYm94LT5udW1fY2hhbnM7IGkrKykgewogCQlzdHJ1Y3QgbWJveF9jaGFuICpjaGFu ID0gJm1ib3gtPmNoYW5zW2ldOwpAQCAtNTA5LDkgKzU0MywyMCBAQCB2b2lkIG1ib3hfY29udHJv bGxlcl91bnJlZ2lzdGVyKHN0cnVjdCBtYm94X2NvbnRyb2xsZXIgKm1ib3gpCiAJZm9yIChpID0g MDsgaSA8IG1ib3gtPm51bV9jaGFuczsgaSsrKQogCQltYm94X2ZyZWVfY2hhbm5lbCgmbWJveC0+ Y2hhbnNbaV0pOwogCisjaWYgMCAvKiBXZSBkb24ndCBzdXBwb3J0IHRpbWVyIGJhc2VkIHBvbGxp bmcuICovCiAJaWYgKG1ib3gtPnR4ZG9uZV9wb2xsKQogCQlocnRpbWVyX2NhbmNlbCgmbWJveC0+ cG9sbF9ocnQpOworI2VuZGlmCiAKIAltdXRleF91bmxvY2soJmNvbl9tdXRleCk7CiB9CiBFWFBP UlRfU1lNQk9MX0dQTChtYm94X2NvbnRyb2xsZXJfdW5yZWdpc3Rlcik7CisKKy8qCisgKiBMb2Nh bCB2YXJpYWJsZXM6CisgKiBtb2RlOiBDCisgKiBjLWZpbGUtc3R5bGU6ICJCU0QiCisgKiBjLWJh c2ljLW9mZnNldDogOAorICogaW5kZW50LXRhYnMtbW9kZTogdAorICogRW5kOgorICovCmRpZmYg LS1naXQgYS94ZW4vYXJjaC9hcm0vY3B1ZnJlcS9tYWlsYm94LmggYi94ZW4vYXJjaC9hcm0vY3B1 ZnJlcS9tYWlsYm94LmgKaW5kZXggNDU2YmE2OC4uZWQ4ZmQ0MiAxMDA2NDQKLS0tIGEveGVuL2Fy Y2gvYXJtL2NwdWZyZXEvbWFpbGJveC5oCisrKyBiL3hlbi9hcmNoL2FybS9jcHVmcmVxL21haWxi b3guaApAQCAtMiw2ICsyLDExIEBACiAgKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsg eW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQogICogaXQgdW5kZXIgdGhlIHRl cm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSB2ZXJzaW9uIDIgYXMKICAqIHB1 Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLgorICoKKyAqIEJhc2VkIG9u IExpbnV4IGRyaXZlcnMvbWFpbGJveC9tYWlsYm94LmgKKyAqID0+IGNvbW1pdCA4NmMyMmY4Yzlh M2I3MWQ0MmQzOGJmY2Q4MDM3MmRlNzJmNTczNzEzCisgKgorICogTm8gWGVuIG1vZGlmaWNhdGlv bi4KICAqLwogCiAjaWZuZGVmIF9fTUFJTEJPWF9ICkBAIC0xMiwzICsxNywxMiBAQAogI2RlZmlu ZSBUWERPTkVfQllfQUNLCUJJVCgyKSAvKiBTL1cgQUNLIHJlY2V2aWVkIGJ5IENsaWVudCB0aWNr cyB0aGUgVFggKi8KIAogI2VuZGlmIC8qIF9fTUFJTEJPWF9IICovCisKKy8qCisgKiBMb2NhbCB2 YXJpYWJsZXM6CisgKiBtb2RlOiBDCisgKiBjLWZpbGUtc3R5bGU6ICJCU0QiCisgKiBjLWJhc2lj LW9mZnNldDogOAorICogaW5kZW50LXRhYnMtbW9kZTogdAorICogRW5kOgorICovCmRpZmYgLS1n aXQgYS94ZW4vYXJjaC9hcm0vY3B1ZnJlcS9tYWlsYm94X2NsaWVudC5oIGIveGVuL2FyY2gvYXJt L2NwdWZyZXEvbWFpbGJveF9jbGllbnQuaAppbmRleCA0NDM0ODcxLi5kNmRlZDhiIDEwMDY0NAot LS0gYS94ZW4vYXJjaC9hcm0vY3B1ZnJlcS9tYWlsYm94X2NsaWVudC5oCisrKyBiL3hlbi9hcmNo L2FybS9jcHVmcmVxL21haWxib3hfY2xpZW50LmgKQEAgLTUsMTMgKzUsMjIgQEAKICAqIFRoaXMg cHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3Ig bW9kaWZ5CiAgKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBM aWNlbnNlIHZlcnNpb24gMiBhcwogICogcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZv dW5kYXRpb24uCisgKgorICogQmFzZWQgb24gTGludXggaW5jbHVkZS9saW51eC9tYWlsYm94X2Ns aWVudC5oCisgKiA9PiBjb21taXQgZGZhYmRlMjA2YWExMGFlNzFhODliYTc1ZTY4YjFmNThhNjMz NmEwNQorICoKKyAqIE5vIFhlbiBtb2RpZmljYXRpb24uCiAgKi8KIAogI2lmbmRlZiBfX01BSUxC T1hfQ0xJRU5UX0gKICNkZWZpbmUgX19NQUlMQk9YX0NMSUVOVF9ICiAKKyNpZiAwCiAjaW5jbHVk ZSA8bGludXgvb2YuaD4KICNpbmNsdWRlIDxsaW51eC9kZXZpY2UuaD4KKyNlbmRpZgorCisjaW5j bHVkZSA8YXNtL2RldmljZS5oPgogCiBzdHJ1Y3QgbWJveF9jaGFuOwogCkBAIC00OSwzICs1OCwx MiBAQCBib29sIG1ib3hfY2xpZW50X3BlZWtfZGF0YShzdHJ1Y3QgbWJveF9jaGFuICpjaGFuKTsg LyogYXRvbWljICovCiB2b2lkIG1ib3hfZnJlZV9jaGFubmVsKHN0cnVjdCBtYm94X2NoYW4gKmNo YW4pOyAvKiBtYXkgc2xlZXAgKi8KIAogI2VuZGlmIC8qIF9fTUFJTEJPWF9DTElFTlRfSCAqLwor CisvKgorICogTG9jYWwgdmFyaWFibGVzOgorICogbW9kZTogQworICogYy1maWxlLXN0eWxlOiAi QlNEIgorICogYy1iYXNpYy1vZmZzZXQ6IDgKKyAqIGluZGVudC10YWJzLW1vZGU6IHQKKyAqIEVu ZDoKKyAqLwpkaWZmIC0tZ2l0IGEveGVuL2FyY2gvYXJtL2NwdWZyZXEvbWFpbGJveF9jb250cm9s bGVyLmggYi94ZW4vYXJjaC9hcm0vY3B1ZnJlcS9tYWlsYm94X2NvbnRyb2xsZXIuaAppbmRleCAw NWM2ZTQ1Li45M2FiNjJkIDEwMDY0NAotLS0gYS94ZW4vYXJjaC9hcm0vY3B1ZnJlcS9tYWlsYm94 X2NvbnRyb2xsZXIuaAorKysgYi94ZW4vYXJjaC9hcm0vY3B1ZnJlcS9tYWlsYm94X2NvbnRyb2xs ZXIuaApAQCAtMiwxNiArMiwyNyBAQAogICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7 IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKICAqIGl0IHVuZGVyIHRoZSB0 ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgdmVyc2lvbiAyIGFzCiAgKiBw dWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbi4KKyAqCisgKiBCYXNlZCBv biBMaW51eCBpbmNsdWRlL2xpbnV4L21haWxib3hfY29udHJvbGxlci5oCisgKiA9PiBjb21taXQg MGNjNjc5NDVlYTU5MzNkNTNkYjY5NjA2MzEyY2Y1MmY1NTNkMWI4MQorICoKKyAqIFhlbiBtb2Rp ZmljYXRpb246CisgKiBPbGVrc2FuZHIgVHlzaGNoZW5rbyA8T2xla3NhbmRyX1R5c2hjaGVua29A ZXBhbS5jb20+CisgKiBDb3B5cmlnaHQgKEMpIDIwMTcgRVBBTSBTeXN0ZW1zIEluYy4KICAqLwog CiAjaWZuZGVmIF9fTUFJTEJPWF9DT05UUk9MTEVSX0gKICNkZWZpbmUgX19NQUlMQk9YX0NPTlRS T0xMRVJfSAogCisjaWYgMAogI2luY2x1ZGUgPGxpbnV4L29mLmg+CiAjaW5jbHVkZSA8bGludXgv dHlwZXMuaD4KICNpbmNsdWRlIDxsaW51eC9ocnRpbWVyLmg+CiAjaW5jbHVkZSA8bGludXgvZGV2 aWNlLmg+CiAjaW5jbHVkZSA8bGludXgvY29tcGxldGlvbi5oPgorI2VuZGlmCisKKyNpbmNsdWRl ICJ3cmFwcGVycy5oIgogCiBzdHJ1Y3QgbWJveF9jaGFuOwogCkBAIC04Nyw3ICs5OCw5IEBAIHN0 cnVjdCBtYm94X2NvbnRyb2xsZXIgewogCXN0cnVjdCBtYm94X2NoYW4gKigqb2ZfeGxhdGUpKHN0 cnVjdCBtYm94X2NvbnRyb2xsZXIgKm1ib3gsCiAJCQkJICAgICAgY29uc3Qgc3RydWN0IG9mX3Bo YW5kbGVfYXJncyAqc3ApOwogCS8qIEludGVybmFsIHRvIEFQSSAqLworI2lmIDAgLyogV2UgZG9u J3Qgc3VwcG9ydCB0aW1lciBiYXNlZCBwb2xsaW5nLiAqLwogCXN0cnVjdCBocnRpbWVyIHBvbGxf aHJ0OworI2VuZGlmCiAJc3RydWN0IGxpc3RfaGVhZCBub2RlOwogfTsKIApAQCAtMTM3LDMgKzE1 MCwxMiBAQCB2b2lkIG1ib3hfY2hhbl9yZWNlaXZlZF9kYXRhKHN0cnVjdCBtYm94X2NoYW4gKmNo YW4sIHZvaWQgKmRhdGEpOyAvKiBhdG9taWMgKi8KIHZvaWQgbWJveF9jaGFuX3R4ZG9uZShzdHJ1 Y3QgbWJveF9jaGFuICpjaGFuLCBpbnQgcik7IC8qIGF0b21pYyAqLwogCiAjZW5kaWYgLyogX19N QUlMQk9YX0NPTlRST0xMRVJfSCAqLworCisvKgorICogTG9jYWwgdmFyaWFibGVzOgorICogbW9k ZTogQworICogYy1maWxlLXN0eWxlOiAiQlNEIgorICogYy1iYXNpYy1vZmZzZXQ6IDgKKyAqIGlu ZGVudC10YWJzLW1vZGU6IHQKKyAqIEVuZDoKKyAqLwotLSAKMi43LjQKCgpfX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0 Clhlbi1kZXZlbEBsaXN0cy54ZW4ub3JnCmh0dHBzOi8vbGlzdHMueGVuLm9yZy94ZW4tZGV2ZWwK