From mboxrd@z Thu Jan 1 00:00:00 1970 From: Stefano Stabellini Subject: Re: [PATCH 06/14 v4] xen/arm: vpl011: Add a new domctl API to initialize vpl011 Date: Tue, 6 Jun 2017 16:26:24 -0700 (PDT) Message-ID: References: <1496769929-23355-1-git-send-email-bhupinder.thakur@linaro.org> <1496769929-23355-7-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 1dINrp-0002XN-RX for xen-devel@lists.xenproject.org; Tue, 06 Jun 2017 23:26:30 +0000 In-Reply-To: <1496769929-23355-7-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: Bhupinder Thakur Cc: xen-devel@lists.xenproject.org, Julien Grall , Stefano Stabellini , Ian Jackson , Wei Liu List-Id: xen-devel@lists.xenproject.org T24gVHVlLCA2IEp1biAyMDE3LCBCaHVwaW5kZXIgVGhha3VyIHdyb3RlOgo+IEFkZCBhIG5ldyBk b21jdGwgQVBJIHRvIGluaXRpYWxpemUgdnBsMDExLiBJdCB0YWtlcyB0aGUgR0ZOIGFuZCBjb25z b2xlCj4gYmFja2VuZCBkb21pZCBhcyBpbnB1dCBhbmQgcmV0dXJucyBhbiBldmVudCBjaGFubmVs IHRvIGJlIHVzZWQgZm9yCj4gc2VuZGluZyBhbmQgcmVjZWl2aW5nIGV2ZW50cyBmcm9tIFhlbi4K PiAKPiBYZW4gd2lsbCBjb21tdW5pY2F0ZSB3aXRoIHhlbmNvbnNvbGUgdXNpbmcgR0ZOIGFzIHRo ZSByaW5nIGJ1ZmZlciBhbmQKPiB0aGUgZXZlbnQgY2hhbm5lbCB0byB0cmFuc21pdCBhbmQgcmVj ZWl2ZSBwbDAxMSBkYXRhIG9uIHRoZSBndWVzdCBkb21haW4ncwo+IGJlaGFsZi4KPiAKPiBTaWdu ZWQtb2ZmLWJ5OiBCaHVwaW5kZXIgVGhha3VyIDxiaHVwaW5kZXIudGhha3VyQGxpbmFyby5vcmc+ Cj4gLS0tCj4gQ0M6IGlqCj4gQ0M6IHdsCj4gQ0M6IHNzCj4gQ0M6IGpnCj4gCj4gQ2hhbmdlcyBz aW5jZSB2MzoKPiAtIEFkZGVkIGEgbmV3IGFyY2ggc3BlY2lmaWMgZnVuY3Rpb24gbGlieGxfX2Fy Y2hfZG9tYWluX2NyZWF0ZV9maW5pc2goKSwgd2hpY2gKPiAgIGNhbGxzIHRoZSB2cGwwMTEgaW5p dGlhbGl6YXRpb24gZnVuY3Rpb24uIEZvciB4ODYgdGhpcyBmdW5jdGlvbiBkb2VzIG5vdCBkbwo+ ICAgYW55dGhpbmcuCj4gLSBkb21haW5fdnBsMDExX2luaXQoKSB0YWtlcyBhIHBvaW50ZXIgdG8g YSBzdHJ1Y3R1cmUgd2hpY2ggY29udGFpbnMgYWxsIHRoZSAKPiAgIHJlcXVpcmVkIGluZm9ybWF0 aW9uIHN1Y2ggYXMgY29uc29sZV9kb21pZCwgZ2ZuIGluc3RlYWQgb2YgcGFzc2luZyBwYXJhbWV0 ZXJzCj4gICBzZXBhcmF0ZWx5Lgo+IC0gRHJvcHBlZCBhIERPTUNUTCBBUEkgZGVmaW5lZCBmb3Ig ZGUtaW5pdGlhbGl6aW5nIHZwbDAxMSBhcyB0aGF0IHNob3VsZCBiZQo+ICAgdGFrZW4gY2FyZSB3 aGVuIHRoZSBkb21haW4gaXMgZGVzdHJveWVkIChhbmQgbm90IGRlcGVuZGVudCBvbiB1c2Vyc3Bh Y2UgCj4gICBsaWJyYXJpZXMvYXBwbGljYXRpb25zKS4KPiAKPiBDaGFuZ2VzIHNpbmNlIHYyOgo+ IC0gUmVwbGFjZWQgdGhlIERPTUNUTCBBUElzIGRlZmluZWQgZm9yIGdldC9zZXQgb2YgZXZlbnQg Y2hhbm5lbCBhbmQgR0ZOIHdpdGggCj4gICBhIHNldCBvZiBET01DVEwgQVBJcyBmb3IgaW5pdGlh bGl6aW5nIGFuZCBkZS1pbml0aWFsaXppbmcgdnBsMDExIGVtdWxhdGlvbi4KPiAKPiAgdG9vbHMv bGlieGMvaW5jbHVkZS94ZW5jdHJsLmggfCAxNyArKysrKysrKysrKysrKysrKwo+ICB0b29scy9s aWJ4Yy94Y19kb21haW4uYyAgICAgICB8IDIzICsrKysrKysrKysrKysrKysrKysrKysKPiAgdG9v bHMvbGlieGwvbGlieGxfYXJjaC5oICAgICAgfCAgNyArKysrKysrCj4gIHRvb2xzL2xpYnhsL2xp YnhsX2FybS5jICAgICAgIHwgMTkgKysrKysrKysrKysrKysrKysrKwo+ICB0b29scy9saWJ4bC9s aWJ4bF9kb20uYyAgICAgICB8ICA2ICsrKysrLQo+ICB0b29scy9saWJ4bC9saWJ4bF94ODYuYyAg ICAgICB8ICA4ICsrKysrKysrCj4gIHhlbi9hcmNoL2FybS9kb21haW4uYyAgICAgICAgIHwgIDIg KysKPiAgeGVuL2FyY2gvYXJtL2RvbWN0bC5jICAgICAgICAgfCA0NCArKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrLS0tCj4gIHhlbi9pbmNsdWRlL3B1YmxpYy9kb21jdGwu aCAgIHwgMTIgKysrKysrKysrKysrCj4gIDkgZmlsZXMgY2hhbmdlZCwgMTM0IGluc2VydGlvbnMo KyksIDQgZGVsZXRpb25zKC0pCj4gCj4gZGlmZiAtLWdpdCBhL3Rvb2xzL2xpYnhjL2luY2x1ZGUv eGVuY3RybC5oIGIvdG9vbHMvbGlieGMvaW5jbHVkZS94ZW5jdHJsLmgKPiBpbmRleCAxNjI5ZjQx Li43NzQyNWRkIDEwMDY0NAo+IC0tLSBhL3Rvb2xzL2xpYnhjL2luY2x1ZGUveGVuY3RybC5oCj4g KysrIGIvdG9vbHMvbGlieGMvaW5jbHVkZS94ZW5jdHJsLmgKPiBAQCAtODg0LDYgKzg4NCwyMyBA QCBpbnQgeGNfdmNwdV9nZXRjb250ZXh0KHhjX2ludGVyZmFjZSAqeGNoLAo+ICAgICAgICAgICAg ICAgICAgICAgICAgIHVpbnQzMl90IGRvbWlkLAo+ICAgICAgICAgICAgICAgICAgICAgICAgIHVp bnQzMl90IHZjcHUsCj4gICAgICAgICAgICAgICAgICAgICAgICAgdmNwdV9ndWVzdF9jb250ZXh0 X2FueV90ICpjdHh0KTsKPiArLyoqCj4gKyAqIFRoaXMgZnVuY3Rpb24gaW5pdGlhbGl6ZXMgdGhl IHZwbDAxMSBlbXVsYXRpb24gYW5kIHJldHVybnMKPiArICogdGhlIGV2ZW50IHRvIGJlIHVzZWQg YnkgdGhlIGJhY2tlbmQgZm9yIGNvbW11bmljYXRpbmcgd2l0aAo+ICsgKiB0aGUgZW11bGF0aW9u IGNvZGUuCj4gKyAqCj4gKyAqIEBwYXJtIHhjaCBhIGhhbmRsZSB0byBhbiBvcGVuIGh5cGVydmlz b3IgaW50ZXJmYWNlCj4gKyAqIEBwYXJtIGRvbWlkIHRoZSBkb21haW4gdG8gZ2V0IGluZm9ybWF0 aW9uIGZyb20KPiArICogQHBhcm0gY29uc29sZV9kb21pZCB0aGUgZG9taWQgb2YgdGhlIGJhY2tl bmQgY29uc29sZQo+ICsgKiBAcGFybSBnZm4gdGhlIGd1ZXN0IHBmbiB0byBiZSB1c2VkIGFzIHRo ZSByaW5nIGJ1ZmZlcgo+ICsgKiBAcGFybSBldnRjaG4gdGhlIGV2ZW50IGNoYW5uZWwgdG8gYmUg dXNlZCBmb3IgZXZlbnRzCj4gKyAqIEByZXR1cm4gMCBvbiBzdWNjZXNzLCBuZWdhdGl2ZSBlcnJv ciBvbiBmYWlsdXJlCj4gKyAqLwo+ICtpbnQgeGNfZG9tX3ZwbDAxMV9pbml0KHhjX2ludGVyZmFj ZSAqeGNoLAo+ICsgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IGRvbWlkLAo+ICsgICAg ICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IGNvbnNvbGVfZG9taWQsCj4gKyAgICAgICAgICAg ICAgICAgICAgICAgeGVuX3Bmbl90IGdmbiwKPiArICAgICAgICAgICAgICAgICAgICAgICBldnRj aG5fcG9ydF90ICpldnRjaG4pOwo+ICAKPiAgLyoqCj4gICAqIFRoaXMgZnVuY3Rpb24gcmV0dXJu cyBpbmZvcm1hdGlvbiBhYm91dCB0aGUgWFNBVkUgc3RhdGUgb2YgYSBwYXJ0aWN1bGFyCj4gZGlm ZiAtLWdpdCBhL3Rvb2xzL2xpYnhjL3hjX2RvbWFpbi5jIGIvdG9vbHMvbGlieGMveGNfZG9tYWlu LmMKPiBpbmRleCAwMDkwOWFkNC4uYThlZmQ1ZSAxMDA2NDQKPiAtLS0gYS90b29scy9saWJ4Yy94 Y19kb21haW4uYwo+ICsrKyBiL3Rvb2xzL2xpYnhjL3hjX2RvbWFpbi5jCj4gQEAgLTM0Myw2ICsz NDMsMjkgQEAgaW50IHhjX2RvbWFpbl9nZXRfZ3Vlc3Rfd2lkdGgoeGNfaW50ZXJmYWNlICp4Y2gs IHVpbnQzMl90IGRvbWlkLAo+ICAgICAgcmV0dXJuIDA7Cj4gIH0KPiAgCj4gK2ludCB4Y19kb21f dnBsMDExX2luaXQoeGNfaW50ZXJmYWNlICp4Y2gsCj4gKyAgICAgICAgICAgICAgICAgICAgICAg dWludDMyX3QgZG9taWQsCj4gKyAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgY29uc29s ZV9kb21pZCwKPiArICAgICAgICAgICAgICAgICAgICAgICB4ZW5fcGZuX3QgZ2ZuLAo+ICsgICAg ICAgICAgICAgICAgICAgICAgIGV2dGNobl9wb3J0X3QgKmV2dGNobikKPiArewo+ICsgICAgREVD TEFSRV9ET01DVEw7Cj4gKyAgICBpbnQgcmMgPSAwOwo+ICsKPiArICAgIGRvbWN0bC5jbWQgPSBY RU5fRE9NQ1RMX3Z1YXJ0X29wOwo+ICsgICAgZG9tY3RsLmRvbWFpbiA9IChkb21pZF90KWRvbWlk Owo+ICsgICAgZG9tY3RsLnUudnVhcnRfb3AuY21kID0gWEVOX0RPTUNUTF9WVUFSVF9PUF9JTklU X1ZQTDAxMTsKPiArICAgIGRvbWN0bC51LnZ1YXJ0X29wLmNvbnNvbGVfZG9taWQgPSBjb25zb2xl X2RvbWlkOwo+ICsgICAgZG9tY3RsLnUudnVhcnRfb3AuZ2ZuID0gZ2ZuOwo+ICsKPiArICAgIGlm ICggKHJjID0gZG9fZG9tY3RsKHhjaCwgJmRvbWN0bCkpIDwgMCApCj4gKyAgICAgICAgcmV0dXJu IHJjOwo+ICsKPiArICAgICpldnRjaG4gPSBkb21jdGwudS52dWFydF9vcC5ldnRjaG47Cj4gKwo+ ICsgICAgcmV0dXJuIHJjOwo+ICt9CgpJdCBsb29rcyBsaWtlIHRoaXMgZnVuY3Rpb24gc2hvdWxk IGJlIGluIG9uZSBvZiB0aGUgYXJtIHNwZWNpZmljIGZpbGVzLApzdWNoIGFzIHhjX2RvbV9hcm0u YyAob3RoZXJ3aXNlIGl0IGJlY29tZXMgYXZhaWxhYmxlIHRvIHg4NiB0b28pLgoKCj4gIGludCB4 Y19kb21haW5fZ2V0aW5mbyh4Y19pbnRlcmZhY2UgKnhjaCwKPiAgICAgICAgICAgICAgICAgICAg ICAgIHVpbnQzMl90IGZpcnN0X2RvbWlkLAo+ICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWdu ZWQgaW50IG1heF9kb21zLAo+IGRpZmYgLS1naXQgYS90b29scy9saWJ4bC9saWJ4bF9hcmNoLmgg Yi90b29scy9saWJ4bC9saWJ4bF9hcmNoLmgKPiBpbmRleCA1ZTFmYzYwLi5kMWNhOWM2IDEwMDY0 NAo+IC0tLSBhL3Rvb2xzL2xpYnhsL2xpYnhsX2FyY2guaAo+ICsrKyBiL3Rvb2xzL2xpYnhsL2xp YnhsX2FyY2guaAo+IEBAIC0zMiw2ICszMiwxMyBAQCBfaGlkZGVuCj4gIGludCBsaWJ4bF9fYXJj aF9kb21haW5fY3JlYXRlKGxpYnhsX19nYyAqZ2MsIGxpYnhsX2RvbWFpbl9jb25maWcgKmRfY29u ZmlnLAo+ICAgICAgICAgICAgICAgICB1aW50MzJfdCBkb21pZCk7Cj4gIAo+ICsvKiBhcmNoIHNw ZWNpZmljIGludGVybmFsIGRvbWFpbiBjcmVhdGlvbiBmaW5pc2ggZnVuY3Rpb24gKi8KPiArX2hp ZGRlbgo+ICtpbnQgbGlieGxfX2FyY2hfZG9tYWluX2NyZWF0ZV9maW5pc2gobGlieGxfX2djICpn YywKPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpYnhsX2RvbWFpbl9i dWlsZF9pbmZvICppbmZvLAo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg dWludDMyX3QgZG9taWQsCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBs aWJ4bF9fZG9tYWluX2J1aWxkX3N0YXRlICpzdGF0ZSk7Cj4gKwo+ICAvKiBzZXR1cCBhcmNoIHNw ZWNpZmljIGhhcmR3YXJlIGRlc2NyaXB0aW9uLCBpLmUuIERUQiBvbiBBUk0gKi8KPiAgX2hpZGRl bgo+ICBpbnQgbGlieGxfX2FyY2hfZG9tYWluX2luaXRfaHdfZGVzY3JpcHRpb24obGlieGxfX2dj ICpnYywKPiBkaWZmIC0tZ2l0IGEvdG9vbHMvbGlieGwvbGlieGxfYXJtLmMgYi90b29scy9saWJ4 bC9saWJ4bF9hcm0uYwo+IGluZGV4IGQ4NDJkODguLmI2MGRmYTkgMTAwNjQ0Cj4gLS0tIGEvdG9v bHMvbGlieGwvbGlieGxfYXJtLmMKPiArKysgYi90b29scy9saWJ4bC9saWJ4bF9hcm0uYwo+IEBA IC0xMDYsNiArMTA2LDI1IEBAIGludCBsaWJ4bF9fYXJjaF9kb21haW5fY3JlYXRlKGxpYnhsX19n YyAqZ2MsIGxpYnhsX2RvbWFpbl9jb25maWcgKmRfY29uZmlnLAo+ICAgICAgcmV0dXJuIDA7Cj4g IH0KPiAgCj4gK2ludCBsaWJ4bF9fYXJjaF9kb21haW5fY3JlYXRlX2ZpbmlzaChsaWJ4bF9fZ2Mg KmdjLAo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlieGxfZG9tYWlu X2J1aWxkX2luZm8gKmluZm8sCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICB1aW50MzJfdCBkb21pZCwKPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IGxpYnhsX19kb21haW5fYnVpbGRfc3RhdGUgKnN0YXRlKQo+ICt7Cj4gKyAgICBpbnQgcmV0ID0g MDsKPiArCj4gKyAgICBpZiAoIGluZm8tPmFyY2hfYXJtLnZ1YXJ0ICYmCj4gKyAgICAgICAgIChy ZXQgPSB4Y19kb21fdnBsMDExX2luaXQoQ1RYLT54Y2gsCj4gKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgZG9taWQsCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgc3RhdGUtPmNvbnNvbGVfZG9taWQsCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgeGNfZ2V0X3Z1YXJ0X2dmbigpLAo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICZzdGF0ZS0+dnVhcnRfcG9ydCkpICE9IDAgKSB7Cj4gKyAgICAgICAgTE9HKEVSUk9S LCAieGNfZG9tX3ZwbDAxMV9pbml0IGZhaWxlZFxuIik7Cj4gKyAgICB9Cj4gKwo+ICsgICAgcmV0 dXJuIHJldDsKPiArfQo+ICsKPiAgaW50IGxpYnhsX19hcmNoX2V4dHJhX21lbW9yeShsaWJ4bF9f Z2MgKmdjLAo+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGxpYnhsX2RvbWFp bl9idWlsZF9pbmZvICppbmZvLAo+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ2 NF90ICpvdXQpCj4gZGlmZiAtLWdpdCBhL3Rvb2xzL2xpYnhsL2xpYnhsX2RvbS5jIGIvdG9vbHMv bGlieGwvbGlieGxfZG9tLmMKPiBpbmRleCA1ZDkxNGE1Li4xODdjNWJkIDEwMDY0NAo+IC0tLSBh L3Rvb2xzL2xpYnhsL2xpYnhsX2RvbS5jCj4gKysrIGIvdG9vbHMvbGlieGwvbGlieGxfZG9tLmMK PiBAQCAtNTg3LDcgKzU4NywxMCBAQCByZXRyeV90cmFuc2FjdGlvbjoKPiAgICAgICAgICAgICAg Z290byByZXRyeV90cmFuc2FjdGlvbjsKPiAgICAgIHhzX2ludHJvZHVjZV9kb21haW4oY3R4LT54 c2gsIGRvbWlkLCBzdGF0ZS0+c3RvcmVfbWZuLCBzdGF0ZS0+c3RvcmVfcG9ydCk7Cj4gICAgICBm cmVlKHZtX3BhdGgpOwo+IC0gICAgcmV0dXJuIDA7Cj4gKwo+ICsgICAgcmMgPSBsaWJ4bF9fYXJj aF9kb21haW5fY3JlYXRlX2ZpbmlzaChnYywgaW5mbywgZG9taWQsIHN0YXRlKTsKPiArCj4gKyAg ICByZXR1cm4gcmM7Cj4gIH0KPiAgCj4gIHN0YXRpYyBpbnQgc2V0X3ZudW1hX2luZm8obGlieGxf X2djICpnYywgdWludDMyX3QgZG9taWQsCj4gQEAgLTc4OCw2ICs3OTEsNyBAQCBpbnQgbGlieGxf X2J1aWxkX3B2KGxpYnhsX19nYyAqZ2MsIHVpbnQzMl90IGRvbWlkLAo+ICAgICAgaWYgKHhjX2Rv bV90cmFuc2xhdGVkKGRvbSkpIHsKPiAgICAgICAgICBzdGF0ZS0+Y29uc29sZV9tZm4gPSBkb20t PmNvbnNvbGVfcGZuOwo+ICAgICAgICAgIHN0YXRlLT5zdG9yZV9tZm4gPSBkb20tPnhlbnN0b3Jl X3BmbjsKPiArICAgICAgICBzdGF0ZS0+dnVhcnRfZ2ZuID0gZG9tLT52dWFydF9nZm47Cj4gICAg ICB9IGVsc2Ugewo+ICAgICAgICAgIHN0YXRlLT5jb25zb2xlX21mbiA9IHhjX2RvbV9wMm0oZG9t LCBkb20tPmNvbnNvbGVfcGZuKTsKPiAgICAgICAgICBzdGF0ZS0+c3RvcmVfbWZuID0geGNfZG9t X3AybShkb20sIGRvbS0+eGVuc3RvcmVfcGZuKTsKCnZ1YXJ0X2dmbiB3YXMgaW50cm9kdWNlZCBp biBwYXRjaCAjNCwgd2h5IGFyZSB3ZSBzZXR0aW5nIGl0IG9ubHkgbm93PwoKCj4gZGlmZiAtLWdp dCBhL3Rvb2xzL2xpYnhsL2xpYnhsX3g4Ni5jIGIvdG9vbHMvbGlieGwvbGlieGxfeDg2LmMKPiBp bmRleCA0NTVmNmYwLi4zNTQ0MDI4IDEwMDY0NAo+IC0tLSBhL3Rvb2xzL2xpYnhsL2xpYnhsX3g4 Ni5jCj4gKysrIGIvdG9vbHMvbGlieGwvbGlieGxfeDg2LmMKPiBAQCAtMzU4LDYgKzM1OCwxNCBA QCBvdXQ6Cj4gICAgICByZXR1cm4gcmV0Owo+ICB9Cj4gIAo+ICtpbnQgbGlieGxfX2FyY2hfZG9t YWluX2NyZWF0ZV9maW5pc2gobGlieGxfX2djICpnYywKPiArICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIGxpYnhsX2RvbWFpbl9idWlsZF9pbmZvICppbmZvLAo+ICsgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgZG9taWQsCj4gKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWJ4bF9fZG9tYWluX2J1aWxkX3N0YXRlICpz dGF0ZSkKPiArewo+ICsgICAgcmV0dXJuIDA7Cj4gK30KPiArCj4gIGludCBsaWJ4bF9fYXJjaF9l eHRyYV9tZW1vcnkobGlieGxfX2djICpnYywKPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBjb25zdCBsaWJ4bF9kb21haW5fYnVpbGRfaW5mbyAqaW5mbywKPiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICB1aW50NjRfdCAqb3V0KQo+IGRpZmYgLS1naXQgYS94ZW4vYXJjaC9hcm0v ZG9tYWluLmMgYi94ZW4vYXJjaC9hcm0vZG9tYWluLmMKPiBpbmRleCA3NjMxMGVkLi45ZTE1MGJh IDEwMDY0NAo+IC0tLSBhL3hlbi9hcmNoL2FybS9kb21haW4uYwo+ICsrKyBiL3hlbi9hcmNoL2Fy bS9kb21haW4uYwo+IEBAIC02NjUsNiArNjY1LDggQEAgZmFpbDoKPiAgCj4gIHZvaWQgYXJjaF9k b21haW5fZGVzdHJveShzdHJ1Y3QgZG9tYWluICpkKQo+ICB7Cj4gKyAgICBkb21haW5fdnBsMDEx X2RlaW5pdChkKTsKPiArCj4gICAgICAvKiBJT01NVSBwYWdlIHRhYmxlIGlzIHNoYXJlZCB3aXRo IFAyTSwgYWx3YXlzIGNhbGwKPiAgICAgICAqIGlvbW11X2RvbWFpbl9kZXN0cm95KCkgYmVmb3Jl IHAybV90ZWFyZG93bigpLgo+ICAgICAgICovCgpJIGNhbm5vdCBmaW5kIHRoZSBkZWZpbml0aW9u IG9mIGRvbWFpbl92cGwwMTFfZGVpbml0CgoKPiBkaWZmIC0tZ2l0IGEveGVuL2FyY2gvYXJtL2Rv bWN0bC5jIGIveGVuL2FyY2gvYXJtL2RvbWN0bC5jCj4gaW5kZXggOTcxY2FlYy4uNzQxNjc5YiAx MDA2NDQKPiAtLS0gYS94ZW4vYXJjaC9hcm0vZG9tY3RsLmMKPiArKysgYi94ZW4vYXJjaC9hcm0v ZG9tY3RsLmMKPiBAQCAtNSwxMyArNSwxNSBAQAo+ICAgKi8KPiAgCj4gICNpbmNsdWRlIDx4ZW4v dHlwZXMuaD4KPiAtI2luY2x1ZGUgPHhlbi9saWIuaD4KPiArI2luY2x1ZGUgPHB1YmxpYy9kb21j dGwuaD4KPiAgI2luY2x1ZGUgPHhlbi9lcnJuby5oPgo+IC0jaW5jbHVkZSA8eGVuL3NjaGVkLmg+ Cj4gKyNpbmNsdWRlIDx4ZW4vZ3Vlc3RfYWNjZXNzLmg+Cj4gICNpbmNsdWRlIDx4ZW4vaHlwZXJj YWxsLmg+Cj4gICNpbmNsdWRlIDx4ZW4vaW9jYXAuaD4KPiArI2luY2x1ZGUgPHhlbi9saWIuaD4K PiArI2luY2x1ZGUgPHhlbi9tbS5oPgo+ICsjaW5jbHVkZSA8eGVuL3NjaGVkLmg+Cj4gICNpbmNs dWRlIDx4c20veHNtLmg+Cj4gLSNpbmNsdWRlIDxwdWJsaWMvZG9tY3RsLmg+Cj4gIAo+ICB2b2lk IGFyY2hfZ2V0X2RvbWFpbl9pbmZvKGNvbnN0IHN0cnVjdCBkb21haW4gKmQsCj4gICAgICAgICAg ICAgICAgICAgICAgICAgICAgc3RydWN0IHhlbl9kb21jdGxfZ2V0ZG9tYWluaW5mbyAqaW5mbykK PiBAQCAtMTE5LDYgKzEyMSw0MiBAQCBsb25nIGFyY2hfZG9fZG9tY3RsKHN0cnVjdCB4ZW5fZG9t Y3RsICpkb21jdGwsIHN0cnVjdCBkb21haW4gKmQsCj4gICAgICAgICAgZC0+ZGlzYWJsZV9taWdy YXRlID0gZG9tY3RsLT51LmRpc2FibGVfbWlncmF0ZS5kaXNhYmxlOwo+ICAgICAgICAgIHJldHVy biAwOwo+ICAKPiArICAgIGNhc2UgWEVOX0RPTUNUTF92dWFydF9vcDoKPiArICAgIHsKPiArICAg ICAgICBpbnQgcmM7Cj4gKyAgICAgICAgc3RydWN0IHhlbl9kb21jdGxfdnVhcnRfb3AgKnZ1YXJ0 X29wID0gJmRvbWN0bC0+dS52dWFydF9vcDsKPiArCj4gKyAgICAgICAgc3dpdGNoKHZ1YXJ0X29w LT5jbWQpCj4gKyAgICAgICAgewo+ICsgICAgICAgIGNhc2UgWEVOX0RPTUNUTF9WVUFSVF9PUF9J TklUX1ZQTDAxMToKPiArCj4gKyAgICAgICAgICAgIGlmICggIWQtPmNyZWF0aW9uX2ZpbmlzaGVk ICkKPiArICAgICAgICAgICAgewo+ICsgICAgICAgICAgICAgICAgc3RydWN0IHZwbDAxMV9pbml0 X2luZm8gaW5mbzsKPiArCj4gKyAgICAgICAgICAgICAgICBpbmZvLmNvbnNvbGVfZG9taWQgPSB2 dWFydF9vcC0+Y29uc29sZV9kb21pZDsKPiArICAgICAgICAgICAgICAgIGluZm8uZ2ZuID0gX2dm bih2dWFydF9vcC0+Z2ZuKTsKPiArCj4gKyAgICAgICAgICAgICAgICByYyA9IGRvbWFpbl92cGww MTFfaW5pdChkLCAmaW5mbyk7Cj4gKyAgICAgICAgICAgICAgICBpZiAoICFyYyApCj4gKyAgICAg ICAgICAgICAgICB7Cj4gKyAgICAgICAgICAgICAgICAgICAgdnVhcnRfb3AtPmV2dGNobiA9IGlu Zm8uZXZ0Y2huOwo+ICsgICAgICAgICAgICAgICAgICAgIHJjID0gX19jb3B5X3RvX2d1ZXN0KHVf ZG9tY3RsLCBkb21jdGwsIDEpOwo+ICsgICAgICAgICAgICAgICAgfQo+ICsgICAgICAgICAgICB9 Cj4gKyAgICAgICAgICAgIGVsc2UKPiArICAgICAgICAgICAgewo+ICsgICAgICAgICAgICAgICAg cmMgPSAtIEVQRVJNOwo+ICsgICAgICAgICAgICB9Cj4gKyAgICAgICAgICAgIGJyZWFrOwo+ICsK PiArICAgICAgICBkZWZhdWx0Ogo+ICsgICAgICAgICAgICByYyA9IC1FSU5WQUw7Cj4gKyAgICAg ICAgICAgIGJyZWFrOwo+ICsgICAgICAgIH0KPiArCj4gKyAgICAgICAgcmV0dXJuIHJjOwo+ICsg ICAgfQo+ICAgICAgZGVmYXVsdDoKPiAgICAgIHsKPiAgICAgICAgICBpbnQgcmM7Cj4gZGlmZiAt LWdpdCBhL3hlbi9pbmNsdWRlL3B1YmxpYy9kb21jdGwuaCBiL3hlbi9pbmNsdWRlL3B1YmxpYy9k b21jdGwuaAo+IGluZGV4IGU2Y2YyMTEuLmM2ZmY0NTggMTAwNjQ0Cj4gLS0tIGEveGVuL2luY2x1 ZGUvcHVibGljL2RvbWN0bC5oCj4gKysrIGIveGVuL2luY2x1ZGUvcHVibGljL2RvbWN0bC5oCj4g QEAgLTM2LDYgKzM2LDcgQEAKPiAgI2luY2x1ZGUgImdyYW50X3RhYmxlLmgiCj4gICNpbmNsdWRl ICJodm0vc2F2ZS5oIgo+ICAjaW5jbHVkZSAibWVtb3J5LmgiCj4gKyNpbmNsdWRlICJldmVudF9j aGFubmVsLmgiCj4gIAo+ICAjZGVmaW5lIFhFTl9ET01DVExfSU5URVJGQUNFX1ZFUlNJT04gMHgw MDAwMDAwZAo+ICAKPiBAQCAtMTEzOCw2ICsxMTM5LDE1IEBAIHN0cnVjdCB4ZW5fZG9tY3RsX3Bz cl9jYXRfb3Agewo+ICAgICAgdWludDMyX3QgdGFyZ2V0OyAgICAvKiBJTiAqLwo+ICAgICAgdWlu dDY0X3QgZGF0YTsgICAgICAvKiBJTi9PVVQgKi8KPiAgfTsKPiArCj4gK3N0cnVjdCB4ZW5fZG9t Y3RsX3Z1YXJ0X29wIHsKPiArI2RlZmluZSBYRU5fRE9NQ1RMX1ZVQVJUX09QX0lOSVRfVlBMMDEx ICAwCj4gKyAgICAgICAgdWludDMyX3QgY21kOyAgICAgICAgICAgLyogWEVOX0RPTUNUTF9WVUFS VF9PUF8qICovCj4gKyAgICAgICAgdWludDMyX3QgY29uc29sZV9kb21pZDsgLyogSU4gKi8KPiAr ICAgICAgICB4ZW5fcGZuX3QgZ2ZuOyAgICAgICAgICAvKiBJTiAqLwo+ICsgICAgICAgIGV2dGNo bl9wb3J0X3QgZXZ0Y2huOyAgIC8qIE9VVCAqLwo+ICt9Owo+ICsKPiAgdHlwZWRlZiBzdHJ1Y3Qg eGVuX2RvbWN0bF9wc3JfY2F0X29wIHhlbl9kb21jdGxfcHNyX2NhdF9vcF90Owo+ICBERUZJTkVf WEVOX0dVRVNUX0hBTkRMRSh4ZW5fZG9tY3RsX3Bzcl9jYXRfb3BfdCk7Cj4gIAo+IEBAIC0xMjE4 LDYgKzEyMjgsNyBAQCBzdHJ1Y3QgeGVuX2RvbWN0bCB7Cj4gICNkZWZpbmUgWEVOX0RPTUNUTF9t b25pdG9yX29wICAgICAgICAgICAgICAgICAgICA3Nwo+ICAjZGVmaW5lIFhFTl9ET01DVExfcHNy X2NhdF9vcCAgICAgICAgICAgICAgICAgICAgNzgKPiAgI2RlZmluZSBYRU5fRE9NQ1RMX3NvZnRf cmVzZXQgICAgICAgICAgICAgICAgICAgIDc5Cj4gKyNkZWZpbmUgWEVOX0RPTUNUTF92dWFydF9v cCAgICAgICAgICAgICAgICAgICAgICA4MAo+ICAjZGVmaW5lIFhFTl9ET01DVExfZ2Ric3hfZ3Vl c3RtZW1pbyAgICAgICAgICAgIDEwMDAKPiAgI2RlZmluZSBYRU5fRE9NQ1RMX2dkYnN4X3BhdXNl dmNwdSAgICAgICAgICAgICAxMDAxCj4gICNkZWZpbmUgWEVOX0RPTUNUTF9nZGJzeF91bnBhdXNl dmNwdSAgICAgICAgICAgMTAwMgo+IEBAIC0xMjgwLDYgKzEyOTEsNyBAQCBzdHJ1Y3QgeGVuX2Rv bWN0bCB7Cj4gICAgICAgICAgc3RydWN0IHhlbl9kb21jdGxfcHNyX2NtdF9vcCAgICAgICAgcHNy X2NtdF9vcDsKPiAgICAgICAgICBzdHJ1Y3QgeGVuX2RvbWN0bF9tb25pdG9yX29wICAgICAgICBt b25pdG9yX29wOwo+ICAgICAgICAgIHN0cnVjdCB4ZW5fZG9tY3RsX3Bzcl9jYXRfb3AgICAgICAg IHBzcl9jYXRfb3A7Cj4gKyAgICAgICAgc3RydWN0IHhlbl9kb21jdGxfdnVhcnRfb3AgICAgICAg ICAgdnVhcnRfb3A7Cj4gICAgICAgICAgdWludDhfdCAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgcGFkWzEyOF07Cj4gICAgICB9IHU7Cj4gIH07Cj4gLS0gCj4gMi43LjQKPiAKCl9fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fClhlbi1kZXZlbCBtYWlsaW5n IGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbi5vcmcKaHR0cHM6Ly9saXN0cy54ZW4ub3JnL3hlbi1k ZXZlbAo=