From mboxrd@z Thu Jan 1 00:00:00 1970 From: Bhupinder Thakur Subject: [PATCH 06/14 v4] xen/arm: vpl011: Add a new domctl API to initialize vpl011 Date: Tue, 6 Jun 2017 15:33:39 +0530 Message-ID: <1496743419-15734-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 1dIBL5-0003oF-A7 for xen-devel@lists.xenproject.org; Tue, 06 Jun 2017 10:03:51 +0000 Received: by mail-pg0-f43.google.com with SMTP id k71so319258pgd.2 for ; Tue, 06 Jun 2017 03:03:46 -0700 (PDT) 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 QWRkIGEgbmV3IGRvbWN0bCBBUEkgdG8gaW5pdGlhbGl6ZSB2cGwwMTEuIEl0IHRha2VzIHRoZSBH Rk4gYW5kIGNvbnNvbGUKYmFja2VuZCBkb21pZCBhcyBpbnB1dCBhbmQgcmV0dXJucyBhbiBldmVu dCBjaGFubmVsIHRvIGJlIHVzZWQgZm9yCnNlbmRpbmcgYW5kIHJlY2VpdmluZyBldmVudHMgZnJv bSBYZW4uCgpYZW4gd2lsbCBjb21tdW5pY2F0ZSB3aXRoIHhlbmNvbnNvbGUgdXNpbmcgR0ZOIGFz IHRoZSByaW5nIGJ1ZmZlciBhbmQKdGhlIGV2ZW50IGNoYW5uZWwgdG8gdHJhbnNtaXQgYW5kIHJl Y2VpdmUgcGwwMTEgZGF0YSBvbiB0aGUgZ3Vlc3QgZG9tYWluJ3MKYmVoYWxmLgoKU2lnbmVkLW9m Zi1ieTogQmh1cGluZGVyIFRoYWt1ciA8Ymh1cGluZGVyLnRoYWt1ckBsaW5hcm8ub3JnPgotLS0K CkNoYW5nZXMgc2luY2UgdjM6Ci0gQWRkZWQgYSBuZXcgYXJjaCBzcGVjaWZpYyBmdW5jdGlvbiBs aWJ4bF9fYXJjaF9kb21haW5fY3JlYXRlX2ZpbmlzaCgpLCB3aGljaAogIGNhbGxzIHRoZSB2cGww MTEgaW5pdGlhbGl6YXRpb24gZnVuY3Rpb24uIEZvciB4ODYgdGhpcyBmdW5jdGlvbiBkb2VzIG5v dCBkbwogIGFueXRoaW5nLgotIGRvbWFpbl92cGwwMTFfaW5pdCgpIHRha2VzIGEgcG9pbnRlciB0 byBhIHN0cnVjdHVyZSB3aGljaCBjb250YWlucyBhbGwgdGhlIAogIHJlcXVpcmVkIGluZm9ybWF0 aW9uIHN1Y2ggYXMgY29uc29sZV9kb21pZCwgZ2ZuIGluc3RlYWQgb2YgcGFzc2luZyBwYXJhbWV0 ZXJzCiAgc2VwYXJhdGVseS4KLSBEcm9wcGVkIGEgRE9NQ1RMIEFQSSBkZWZpbmVkIGZvciBkZS1p bml0aWFsaXppbmcgdnBsMDExIGFzIHRoYXQgc2hvdWxkIGJlCiAgdGFrZW4gY2FyZSB3aGVuIHRo ZSBkb21haW4gaXMgZGVzdHJveWVkIChhbmQgbm90IGRlcGVuZGVudCBvbiB1c2Vyc3BhY2UgCiAg bGlicmFyaWVzL2FwcGxpY2F0aW9ucykuCgpDaGFuZ2VzIHNpbmNlIHYyOgotIFJlcGxhY2VkIHRo ZSBET01DVEwgQVBJcyBkZWZpbmVkIGZvciBnZXQvc2V0IG9mIGV2ZW50IGNoYW5uZWwgYW5kIEdG TiB3aXRoIAogIGEgc2V0IG9mIERPTUNUTCBBUElzIGZvciBpbml0aWFsaXppbmcgYW5kIGRlLWlu aXRpYWxpemluZyB2cGwwMTEgZW11bGF0aW9uLgoKIHRvb2xzL2xpYnhjL2luY2x1ZGUveGVuY3Ry bC5oIHwgMTcgKysrKysrKysrKysrKysrKysKIHRvb2xzL2xpYnhjL3hjX2RvbWFpbi5jICAgICAg IHwgMjMgKysrKysrKysrKysrKysrKysrKysrKwogdG9vbHMvbGlieGwvbGlieGxfYXJjaC5oICAg ICAgfCAgNyArKysrKysrCiB0b29scy9saWJ4bC9saWJ4bF9hcm0uYyAgICAgICB8IDE5ICsrKysr KysrKysrKysrKysrKysKIHRvb2xzL2xpYnhsL2xpYnhsX2RvbS5jICAgICAgIHwgIDYgKysrKyst CiB0b29scy9saWJ4bC9saWJ4bF94ODYuYyAgICAgICB8ICA4ICsrKysrKysrCiB4ZW4vYXJjaC9h cm0vZG9tYWluLmMgICAgICAgICB8ICAyICsrCiB4ZW4vYXJjaC9hcm0vZG9tY3RsLmMgICAgICAg ICB8IDQ0ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKystLS0KIHhlbi9p bmNsdWRlL3B1YmxpYy9kb21jdGwuaCAgIHwgMTIgKysrKysrKysrKysrCiA5IGZpbGVzIGNoYW5n ZWQsIDEzNCBpbnNlcnRpb25zKCspLCA0IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3Rvb2xz L2xpYnhjL2luY2x1ZGUveGVuY3RybC5oIGIvdG9vbHMvbGlieGMvaW5jbHVkZS94ZW5jdHJsLmgK aW5kZXggMTYyOWY0MS4uNzc0MjVkZCAxMDA2NDQKLS0tIGEvdG9vbHMvbGlieGMvaW5jbHVkZS94 ZW5jdHJsLmgKKysrIGIvdG9vbHMvbGlieGMvaW5jbHVkZS94ZW5jdHJsLmgKQEAgLTg4NCw2ICs4 ODQsMjMgQEAgaW50IHhjX3ZjcHVfZ2V0Y29udGV4dCh4Y19pbnRlcmZhY2UgKnhjaCwKICAgICAg ICAgICAgICAgICAgICAgICAgdWludDMyX3QgZG9taWQsCiAgICAgICAgICAgICAgICAgICAgICAg IHVpbnQzMl90IHZjcHUsCiAgICAgICAgICAgICAgICAgICAgICAgIHZjcHVfZ3Vlc3RfY29udGV4 dF9hbnlfdCAqY3R4dCk7CisvKioKKyAqIFRoaXMgZnVuY3Rpb24gaW5pdGlhbGl6ZXMgdGhlIHZw bDAxMSBlbXVsYXRpb24gYW5kIHJldHVybnMKKyAqIHRoZSBldmVudCB0byBiZSB1c2VkIGJ5IHRo ZSBiYWNrZW5kIGZvciBjb21tdW5pY2F0aW5nIHdpdGgKKyAqIHRoZSBlbXVsYXRpb24gY29kZS4K KyAqCisgKiBAcGFybSB4Y2ggYSBoYW5kbGUgdG8gYW4gb3BlbiBoeXBlcnZpc29yIGludGVyZmFj ZQorICogQHBhcm0gZG9taWQgdGhlIGRvbWFpbiB0byBnZXQgaW5mb3JtYXRpb24gZnJvbQorICog QHBhcm0gY29uc29sZV9kb21pZCB0aGUgZG9taWQgb2YgdGhlIGJhY2tlbmQgY29uc29sZQorICog QHBhcm0gZ2ZuIHRoZSBndWVzdCBwZm4gdG8gYmUgdXNlZCBhcyB0aGUgcmluZyBidWZmZXIKKyAq IEBwYXJtIGV2dGNobiB0aGUgZXZlbnQgY2hhbm5lbCB0byBiZSB1c2VkIGZvciBldmVudHMKKyAq IEByZXR1cm4gMCBvbiBzdWNjZXNzLCBuZWdhdGl2ZSBlcnJvciBvbiBmYWlsdXJlCisgKi8KK2lu dCB4Y19kb21fdnBsMDExX2luaXQoeGNfaW50ZXJmYWNlICp4Y2gsCisgICAgICAgICAgICAgICAg ICAgICAgIHVpbnQzMl90IGRvbWlkLAorICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBj b25zb2xlX2RvbWlkLAorICAgICAgICAgICAgICAgICAgICAgICB4ZW5fcGZuX3QgZ2ZuLAorICAg ICAgICAgICAgICAgICAgICAgICBldnRjaG5fcG9ydF90ICpldnRjaG4pOwogCiAvKioKICAqIFRo aXMgZnVuY3Rpb24gcmV0dXJucyBpbmZvcm1hdGlvbiBhYm91dCB0aGUgWFNBVkUgc3RhdGUgb2Yg YSBwYXJ0aWN1bGFyCmRpZmYgLS1naXQgYS90b29scy9saWJ4Yy94Y19kb21haW4uYyBiL3Rvb2xz L2xpYnhjL3hjX2RvbWFpbi5jCmluZGV4IDAwOTA5YWQ0Li5hOGVmZDVlIDEwMDY0NAotLS0gYS90 b29scy9saWJ4Yy94Y19kb21haW4uYworKysgYi90b29scy9saWJ4Yy94Y19kb21haW4uYwpAQCAt MzQzLDYgKzM0MywyOSBAQCBpbnQgeGNfZG9tYWluX2dldF9ndWVzdF93aWR0aCh4Y19pbnRlcmZh Y2UgKnhjaCwgdWludDMyX3QgZG9taWQsCiAgICAgcmV0dXJuIDA7CiB9CiAKK2ludCB4Y19kb21f dnBsMDExX2luaXQoeGNfaW50ZXJmYWNlICp4Y2gsCisgICAgICAgICAgICAgICAgICAgICAgIHVp bnQzMl90IGRvbWlkLAorICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBjb25zb2xlX2Rv bWlkLAorICAgICAgICAgICAgICAgICAgICAgICB4ZW5fcGZuX3QgZ2ZuLAorICAgICAgICAgICAg ICAgICAgICAgICBldnRjaG5fcG9ydF90ICpldnRjaG4pCit7CisgICAgREVDTEFSRV9ET01DVEw7 CisgICAgaW50IHJjID0gMDsKKworICAgIGRvbWN0bC5jbWQgPSBYRU5fRE9NQ1RMX3Z1YXJ0X29w OworICAgIGRvbWN0bC5kb21haW4gPSAoZG9taWRfdClkb21pZDsKKyAgICBkb21jdGwudS52dWFy dF9vcC5jbWQgPSBYRU5fRE9NQ1RMX1ZVQVJUX09QX0lOSVRfVlBMMDExOworICAgIGRvbWN0bC51 LnZ1YXJ0X29wLmNvbnNvbGVfZG9taWQgPSBjb25zb2xlX2RvbWlkOworICAgIGRvbWN0bC51LnZ1 YXJ0X29wLmdmbiA9IGdmbjsKKworICAgIGlmICggKHJjID0gZG9fZG9tY3RsKHhjaCwgJmRvbWN0 bCkpIDwgMCApCisgICAgICAgIHJldHVybiByYzsKKworICAgICpldnRjaG4gPSBkb21jdGwudS52 dWFydF9vcC5ldnRjaG47CisKKyAgICByZXR1cm4gcmM7Cit9CisKIGludCB4Y19kb21haW5fZ2V0 aW5mbyh4Y19pbnRlcmZhY2UgKnhjaCwKICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBm aXJzdF9kb21pZCwKICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQgbWF4X2RvbXMs CmRpZmYgLS1naXQgYS90b29scy9saWJ4bC9saWJ4bF9hcmNoLmggYi90b29scy9saWJ4bC9saWJ4 bF9hcmNoLmgKaW5kZXggNWUxZmM2MC4uZDFjYTljNiAxMDA2NDQKLS0tIGEvdG9vbHMvbGlieGwv bGlieGxfYXJjaC5oCisrKyBiL3Rvb2xzL2xpYnhsL2xpYnhsX2FyY2guaApAQCAtMzIsNiArMzIs MTMgQEAgX2hpZGRlbgogaW50IGxpYnhsX19hcmNoX2RvbWFpbl9jcmVhdGUobGlieGxfX2djICpn YywgbGlieGxfZG9tYWluX2NvbmZpZyAqZF9jb25maWcsCiAgICAgICAgICAgICAgICB1aW50MzJf dCBkb21pZCk7CiAKKy8qIGFyY2ggc3BlY2lmaWMgaW50ZXJuYWwgZG9tYWluIGNyZWF0aW9uIGZp bmlzaCBmdW5jdGlvbiAqLworX2hpZGRlbgoraW50IGxpYnhsX19hcmNoX2RvbWFpbl9jcmVhdGVf ZmluaXNoKGxpYnhsX19nYyAqZ2MsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgbGlieGxfZG9tYWluX2J1aWxkX2luZm8gKmluZm8sCisgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgdWludDMyX3QgZG9taWQsCisgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgbGlieGxfX2RvbWFpbl9idWlsZF9zdGF0ZSAqc3RhdGUpOworCiAvKiBzZXR1 cCBhcmNoIHNwZWNpZmljIGhhcmR3YXJlIGRlc2NyaXB0aW9uLCBpLmUuIERUQiBvbiBBUk0gKi8K IF9oaWRkZW4KIGludCBsaWJ4bF9fYXJjaF9kb21haW5faW5pdF9od19kZXNjcmlwdGlvbihsaWJ4 bF9fZ2MgKmdjLApkaWZmIC0tZ2l0IGEvdG9vbHMvbGlieGwvbGlieGxfYXJtLmMgYi90b29scy9s aWJ4bC9saWJ4bF9hcm0uYwppbmRleCBkODQyZDg4Li5iNjBkZmE5IDEwMDY0NAotLS0gYS90b29s cy9saWJ4bC9saWJ4bF9hcm0uYworKysgYi90b29scy9saWJ4bC9saWJ4bF9hcm0uYwpAQCAtMTA2 LDYgKzEwNiwyNSBAQCBpbnQgbGlieGxfX2FyY2hfZG9tYWluX2NyZWF0ZShsaWJ4bF9fZ2MgKmdj LCBsaWJ4bF9kb21haW5fY29uZmlnICpkX2NvbmZpZywKICAgICByZXR1cm4gMDsKIH0KIAoraW50 IGxpYnhsX19hcmNoX2RvbWFpbl9jcmVhdGVfZmluaXNoKGxpYnhsX19nYyAqZ2MsCisgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlieGxfZG9tYWluX2J1aWxkX2luZm8gKmlu Zm8sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgZG9taWQs CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlieGxfX2RvbWFpbl9idWls ZF9zdGF0ZSAqc3RhdGUpCit7CisgICAgaW50IHJldCA9IDA7CisKKyAgICBpZiAoIGluZm8tPmFy Y2hfYXJtLnZ1YXJ0ICYmCisgICAgICAgICAocmV0ID0geGNfZG9tX3ZwbDAxMV9pbml0KENUWC0+ eGNoLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkb21pZCwKKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RhdGUtPmNvbnNvbGVfZG9taWQsCisgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhjX2dldF92dWFydF9nZm4oKSwKKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgJnN0YXRlLT52dWFydF9wb3J0KSkgIT0gMCApIHsK KyAgICAgICAgTE9HKEVSUk9SLCAieGNfZG9tX3ZwbDAxMV9pbml0IGZhaWxlZFxuIik7CisgICAg fQorCisgICAgcmV0dXJuIHJldDsKK30KKwogaW50IGxpYnhsX19hcmNoX2V4dHJhX21lbW9yeShs aWJ4bF9fZ2MgKmdjLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBsaWJ4bF9k b21haW5fYnVpbGRfaW5mbyAqaW5mbywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWlu dDY0X3QgKm91dCkKZGlmZiAtLWdpdCBhL3Rvb2xzL2xpYnhsL2xpYnhsX2RvbS5jIGIvdG9vbHMv bGlieGwvbGlieGxfZG9tLmMKaW5kZXggNWQ5MTRhNS4uMTg3YzViZCAxMDA2NDQKLS0tIGEvdG9v bHMvbGlieGwvbGlieGxfZG9tLmMKKysrIGIvdG9vbHMvbGlieGwvbGlieGxfZG9tLmMKQEAgLTU4 Nyw3ICs1ODcsMTAgQEAgcmV0cnlfdHJhbnNhY3Rpb246CiAgICAgICAgICAgICBnb3RvIHJldHJ5 X3RyYW5zYWN0aW9uOwogICAgIHhzX2ludHJvZHVjZV9kb21haW4oY3R4LT54c2gsIGRvbWlkLCBz dGF0ZS0+c3RvcmVfbWZuLCBzdGF0ZS0+c3RvcmVfcG9ydCk7CiAgICAgZnJlZSh2bV9wYXRoKTsK LSAgICByZXR1cm4gMDsKKworICAgIHJjID0gbGlieGxfX2FyY2hfZG9tYWluX2NyZWF0ZV9maW5p c2goZ2MsIGluZm8sIGRvbWlkLCBzdGF0ZSk7CisKKyAgICByZXR1cm4gcmM7CiB9CiAKIHN0YXRp YyBpbnQgc2V0X3ZudW1hX2luZm8obGlieGxfX2djICpnYywgdWludDMyX3QgZG9taWQsCkBAIC03 ODgsNiArNzkxLDcgQEAgaW50IGxpYnhsX19idWlsZF9wdihsaWJ4bF9fZ2MgKmdjLCB1aW50MzJf dCBkb21pZCwKICAgICBpZiAoeGNfZG9tX3RyYW5zbGF0ZWQoZG9tKSkgewogICAgICAgICBzdGF0 ZS0+Y29uc29sZV9tZm4gPSBkb20tPmNvbnNvbGVfcGZuOwogICAgICAgICBzdGF0ZS0+c3RvcmVf bWZuID0gZG9tLT54ZW5zdG9yZV9wZm47CisgICAgICAgIHN0YXRlLT52dWFydF9nZm4gPSBkb20t PnZ1YXJ0X2dmbjsKICAgICB9IGVsc2UgewogICAgICAgICBzdGF0ZS0+Y29uc29sZV9tZm4gPSB4 Y19kb21fcDJtKGRvbSwgZG9tLT5jb25zb2xlX3Bmbik7CiAgICAgICAgIHN0YXRlLT5zdG9yZV9t Zm4gPSB4Y19kb21fcDJtKGRvbSwgZG9tLT54ZW5zdG9yZV9wZm4pOwpkaWZmIC0tZ2l0IGEvdG9v bHMvbGlieGwvbGlieGxfeDg2LmMgYi90b29scy9saWJ4bC9saWJ4bF94ODYuYwppbmRleCA0NTVm NmYwLi4zNTQ0MDI4IDEwMDY0NAotLS0gYS90b29scy9saWJ4bC9saWJ4bF94ODYuYworKysgYi90 b29scy9saWJ4bC9saWJ4bF94ODYuYwpAQCAtMzU4LDYgKzM1OCwxNCBAQCBvdXQ6CiAgICAgcmV0 dXJuIHJldDsKIH0KIAoraW50IGxpYnhsX19hcmNoX2RvbWFpbl9jcmVhdGVfZmluaXNoKGxpYnhs X19nYyAqZ2MsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlieGxfZG9t YWluX2J1aWxkX2luZm8gKmluZm8sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgdWludDMyX3QgZG9taWQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg bGlieGxfX2RvbWFpbl9idWlsZF9zdGF0ZSAqc3RhdGUpCit7CisgICAgcmV0dXJuIDA7Cit9CisK IGludCBsaWJ4bF9fYXJjaF9leHRyYV9tZW1vcnkobGlieGxfX2djICpnYywKICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgY29uc3QgbGlieGxfZG9tYWluX2J1aWxkX2luZm8gKmluZm8sCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ2NF90ICpvdXQpCmRpZmYgLS1naXQgYS94 ZW4vYXJjaC9hcm0vZG9tYWluLmMgYi94ZW4vYXJjaC9hcm0vZG9tYWluLmMKaW5kZXggNzYzMTBl ZC4uOWUxNTBiYSAxMDA2NDQKLS0tIGEveGVuL2FyY2gvYXJtL2RvbWFpbi5jCisrKyBiL3hlbi9h cmNoL2FybS9kb21haW4uYwpAQCAtNjY1LDYgKzY2NSw4IEBAIGZhaWw6CiAKIHZvaWQgYXJjaF9k b21haW5fZGVzdHJveShzdHJ1Y3QgZG9tYWluICpkKQogeworICAgIGRvbWFpbl92cGwwMTFfZGVp bml0KGQpOworCiAgICAgLyogSU9NTVUgcGFnZSB0YWJsZSBpcyBzaGFyZWQgd2l0aCBQMk0sIGFs d2F5cyBjYWxsCiAgICAgICogaW9tbXVfZG9tYWluX2Rlc3Ryb3koKSBiZWZvcmUgcDJtX3RlYXJk b3duKCkuCiAgICAgICovCmRpZmYgLS1naXQgYS94ZW4vYXJjaC9hcm0vZG9tY3RsLmMgYi94ZW4v YXJjaC9hcm0vZG9tY3RsLmMKaW5kZXggOTcxY2FlYy4uNzQxNjc5YiAxMDA2NDQKLS0tIGEveGVu L2FyY2gvYXJtL2RvbWN0bC5jCisrKyBiL3hlbi9hcmNoL2FybS9kb21jdGwuYwpAQCAtNSwxMyAr NSwxNSBAQAogICovCiAKICNpbmNsdWRlIDx4ZW4vdHlwZXMuaD4KLSNpbmNsdWRlIDx4ZW4vbGli Lmg+CisjaW5jbHVkZSA8cHVibGljL2RvbWN0bC5oPgogI2luY2x1ZGUgPHhlbi9lcnJuby5oPgot I2luY2x1ZGUgPHhlbi9zY2hlZC5oPgorI2luY2x1ZGUgPHhlbi9ndWVzdF9hY2Nlc3MuaD4KICNp bmNsdWRlIDx4ZW4vaHlwZXJjYWxsLmg+CiAjaW5jbHVkZSA8eGVuL2lvY2FwLmg+CisjaW5jbHVk ZSA8eGVuL2xpYi5oPgorI2luY2x1ZGUgPHhlbi9tbS5oPgorI2luY2x1ZGUgPHhlbi9zY2hlZC5o PgogI2luY2x1ZGUgPHhzbS94c20uaD4KLSNpbmNsdWRlIDxwdWJsaWMvZG9tY3RsLmg+CiAKIHZv aWQgYXJjaF9nZXRfZG9tYWluX2luZm8oY29uc3Qgc3RydWN0IGRvbWFpbiAqZCwKICAgICAgICAg ICAgICAgICAgICAgICAgICAgc3RydWN0IHhlbl9kb21jdGxfZ2V0ZG9tYWluaW5mbyAqaW5mbykK QEAgLTExOSw2ICsxMjEsNDIgQEAgbG9uZyBhcmNoX2RvX2RvbWN0bChzdHJ1Y3QgeGVuX2RvbWN0 bCAqZG9tY3RsLCBzdHJ1Y3QgZG9tYWluICpkLAogICAgICAgICBkLT5kaXNhYmxlX21pZ3JhdGUg PSBkb21jdGwtPnUuZGlzYWJsZV9taWdyYXRlLmRpc2FibGU7CiAgICAgICAgIHJldHVybiAwOwog CisgICAgY2FzZSBYRU5fRE9NQ1RMX3Z1YXJ0X29wOgorICAgIHsKKyAgICAgICAgaW50IHJjOwor ICAgICAgICBzdHJ1Y3QgeGVuX2RvbWN0bF92dWFydF9vcCAqdnVhcnRfb3AgPSAmZG9tY3RsLT51 LnZ1YXJ0X29wOworCisgICAgICAgIHN3aXRjaCh2dWFydF9vcC0+Y21kKQorICAgICAgICB7Cisg ICAgICAgIGNhc2UgWEVOX0RPTUNUTF9WVUFSVF9PUF9JTklUX1ZQTDAxMToKKworICAgICAgICAg ICAgaWYgKCAhZC0+Y3JlYXRpb25fZmluaXNoZWQgKQorICAgICAgICAgICAgeworICAgICAgICAg ICAgICAgIHN0cnVjdCB2cGwwMTFfaW5pdF9pbmZvIGluZm87CisKKyAgICAgICAgICAgICAgICBp bmZvLmNvbnNvbGVfZG9taWQgPSB2dWFydF9vcC0+Y29uc29sZV9kb21pZDsKKyAgICAgICAgICAg ICAgICBpbmZvLmdmbiA9IF9nZm4odnVhcnRfb3AtPmdmbik7CisKKyAgICAgICAgICAgICAgICBy YyA9IGRvbWFpbl92cGwwMTFfaW5pdChkLCAmaW5mbyk7CisgICAgICAgICAgICAgICAgaWYgKCAh cmMgKQorICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAgdnVhcnRfb3AtPmV2 dGNobiA9IGluZm8uZXZ0Y2huOworICAgICAgICAgICAgICAgICAgICByYyA9IF9fY29weV90b19n dWVzdCh1X2RvbWN0bCwgZG9tY3RsLCAxKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAg ICB9CisgICAgICAgICAgICBlbHNlCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgcmMg PSAtIEVQRVJNOworICAgICAgICAgICAgfQorICAgICAgICAgICAgYnJlYWs7CisKKyAgICAgICAg ZGVmYXVsdDoKKyAgICAgICAgICAgIHJjID0gLUVJTlZBTDsKKyAgICAgICAgICAgIGJyZWFrOwor ICAgICAgICB9CisKKyAgICAgICAgcmV0dXJuIHJjOworICAgIH0KICAgICBkZWZhdWx0OgogICAg IHsKICAgICAgICAgaW50IHJjOwpkaWZmIC0tZ2l0IGEveGVuL2luY2x1ZGUvcHVibGljL2RvbWN0 bC5oIGIveGVuL2luY2x1ZGUvcHVibGljL2RvbWN0bC5oCmluZGV4IGU2Y2YyMTEuLmM2ZmY0NTgg MTAwNjQ0Ci0tLSBhL3hlbi9pbmNsdWRlL3B1YmxpYy9kb21jdGwuaAorKysgYi94ZW4vaW5jbHVk ZS9wdWJsaWMvZG9tY3RsLmgKQEAgLTM2LDYgKzM2LDcgQEAKICNpbmNsdWRlICJncmFudF90YWJs ZS5oIgogI2luY2x1ZGUgImh2bS9zYXZlLmgiCiAjaW5jbHVkZSAibWVtb3J5LmgiCisjaW5jbHVk ZSAiZXZlbnRfY2hhbm5lbC5oIgogCiAjZGVmaW5lIFhFTl9ET01DVExfSU5URVJGQUNFX1ZFUlNJ T04gMHgwMDAwMDAwZAogCkBAIC0xMTM4LDYgKzExMzksMTUgQEAgc3RydWN0IHhlbl9kb21jdGxf cHNyX2NhdF9vcCB7CiAgICAgdWludDMyX3QgdGFyZ2V0OyAgICAvKiBJTiAqLwogICAgIHVpbnQ2 NF90IGRhdGE7ICAgICAgLyogSU4vT1VUICovCiB9OworCitzdHJ1Y3QgeGVuX2RvbWN0bF92dWFy dF9vcCB7CisjZGVmaW5lIFhFTl9ET01DVExfVlVBUlRfT1BfSU5JVF9WUEwwMTEgIDAKKyAgICAg ICAgdWludDMyX3QgY21kOyAgICAgICAgICAgLyogWEVOX0RPTUNUTF9WVUFSVF9PUF8qICovCisg ICAgICAgIHVpbnQzMl90IGNvbnNvbGVfZG9taWQ7IC8qIElOICovCisgICAgICAgIHhlbl9wZm5f dCBnZm47ICAgICAgICAgIC8qIElOICovCisgICAgICAgIGV2dGNobl9wb3J0X3QgZXZ0Y2huOyAg IC8qIE9VVCAqLworfTsKKwogdHlwZWRlZiBzdHJ1Y3QgeGVuX2RvbWN0bF9wc3JfY2F0X29wIHhl bl9kb21jdGxfcHNyX2NhdF9vcF90OwogREVGSU5FX1hFTl9HVUVTVF9IQU5ETEUoeGVuX2RvbWN0 bF9wc3JfY2F0X29wX3QpOwogCkBAIC0xMjE4LDYgKzEyMjgsNyBAQCBzdHJ1Y3QgeGVuX2RvbWN0 bCB7CiAjZGVmaW5lIFhFTl9ET01DVExfbW9uaXRvcl9vcCAgICAgICAgICAgICAgICAgICAgNzcK ICNkZWZpbmUgWEVOX0RPTUNUTF9wc3JfY2F0X29wICAgICAgICAgICAgICAgICAgICA3OAogI2Rl ZmluZSBYRU5fRE9NQ1RMX3NvZnRfcmVzZXQgICAgICAgICAgICAgICAgICAgIDc5CisjZGVmaW5l IFhFTl9ET01DVExfdnVhcnRfb3AgICAgICAgICAgICAgICAgICAgICAgODAKICNkZWZpbmUgWEVO X0RPTUNUTF9nZGJzeF9ndWVzdG1lbWlvICAgICAgICAgICAgMTAwMAogI2RlZmluZSBYRU5fRE9N Q1RMX2dkYnN4X3BhdXNldmNwdSAgICAgICAgICAgICAxMDAxCiAjZGVmaW5lIFhFTl9ET01DVExf Z2Ric3hfdW5wYXVzZXZjcHUgICAgICAgICAgIDEwMDIKQEAgLTEyODAsNiArMTI5MSw3IEBAIHN0 cnVjdCB4ZW5fZG9tY3RsIHsKICAgICAgICAgc3RydWN0IHhlbl9kb21jdGxfcHNyX2NtdF9vcCAg ICAgICAgcHNyX2NtdF9vcDsKICAgICAgICAgc3RydWN0IHhlbl9kb21jdGxfbW9uaXRvcl9vcCAg ICAgICAgbW9uaXRvcl9vcDsKICAgICAgICAgc3RydWN0IHhlbl9kb21jdGxfcHNyX2NhdF9vcCAg ICAgICAgcHNyX2NhdF9vcDsKKyAgICAgICAgc3RydWN0IHhlbl9kb21jdGxfdnVhcnRfb3AgICAg ICAgICAgdnVhcnRfb3A7CiAgICAgICAgIHVpbnQ4X3QgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHBhZFsxMjhdOwogICAgIH0gdTsKIH07Ci0tIAoyLjcuNAoKCl9fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fClhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVu LWRldmVsQGxpc3RzLnhlbi5vcmcKaHR0cHM6Ly9saXN0cy54ZW4ub3JnL3hlbi1kZXZlbAo=