From mboxrd@z Thu Jan 1 00:00:00 1970 From: Sinclair Yeh Subject: Re: [PATCH 3/3] gpu: drm: drivers: Convert printk(KERN_ to pr_ Date: Tue, 28 Feb 2017 11:49:41 -0800 Message-ID: <20170228194941.GA26284@vmware.com> References: <76355db47b31668bb64d996865ceee53bd66b11f.1488285953.git.joe@perches.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Content-Disposition: inline In-Reply-To: <76355db47b31668bb64d996865ceee53bd66b11f.1488285953.git.joe@perches.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Joe Perches Cc: Thomas Hellstrom , linux-arm-msm@vger.kernel.org, dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, Tomi Valkeinen , VMware Graphics , Ben Skeggs , Dave Airlie , nouveau@lists.freedesktop.org, Daniel Vetter , freedreno@lists.freedesktop.org, intel-gfx@lists.freedesktop.org List-Id: linux-arm-msm@vger.kernel.org Rm9yIGRybS92bXdnZng6ICBBY2tlZC1ieTogU2luY2xhaXIgWWVoIDxzeWVoQHZtd2FyZS5jb20+ CgpPbiBUdWUsIEZlYiAyOCwgMjAxNyBhdCAwNDo1NTo1NEFNIC0wODAwLCBKb2UgUGVyY2hlcyB3 cm90ZToKPiBVc2UgYSBtb3JlIGNvbW1vbiBsb2dnaW5nIHN0eWxlLgo+IAo+IE1pc2NlbGxhbmVh Ogo+IAo+IG8gQ29hbGVzY2UgZm9ybWF0cyBhbmQgcmVhbGlnbiBhcmd1bWVudHMKPiBvIE5lYXRl biBhIGZldyBtYWNyb3Mgbm93IHVzaW5nIHByXzxsZXZlbD4KPiAKPiBTaWduZWQtb2ZmLWJ5OiBK b2UgUGVyY2hlcyA8am9lQHBlcmNoZXMuY29tPgo+IC0tLQo+ICBkcml2ZXJzL2dwdS9kcm0vZ21h NTAwL2Nkdl9pbnRlbF9sdmRzLmMgICAgICAgfCAgOSArKysrLS0tLS0KPiAgZHJpdmVycy9ncHUv ZHJtL2dtYTUwMC9vYWt0cmFpbF9sdmRzLmMgICAgICAgIHwgMTggKysrKysrKysrLS0tLS0tLS0t Cj4gIGRyaXZlcnMvZ3B1L2RybS9nbWE1MDAvcHNiX2Rydi5oICAgICAgICAgICAgICB8ICA1ICsr LS0tCj4gIGRyaXZlcnMvZ3B1L2RybS9nbWE1MDAvcHNiX2ludGVsX2x2ZHMuYyAgICAgICB8ICA3 ICsrKy0tLS0KPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9zd19mZW5jZS5jICAgICAgICAg IHwgIDggKysrKy0tLS0KPiAgZHJpdmVycy9ncHUvZHJtL21nYWcyMDAvbWdhZzIwMF9tb2RlLmMg ICAgICAgIHwgIDIgKy0KPiAgZHJpdmVycy9ncHUvZHJtL21zbS9tc21fZHJ2LmMgICAgICAgICAg ICAgICAgIHwgIDIgKy0KPiAgZHJpdmVycy9ncHUvZHJtL25vdXZlYXUvbm91dmVhdV9hY3BpLmMg ICAgICAgIHwgIDcgKysrKy0tLQo+ICBkcml2ZXJzL2dwdS9kcm0vbm91dmVhdS9ub3V2ZWF1X3Zn YS5jICAgICAgICAgfCAgNCArKy0tCj4gIGRyaXZlcnMvZ3B1L2RybS9ub3V2ZWF1L252NTBfZGlz cGxheS5jICAgICAgICB8IDIyICsrKysrKysrKysrLS0tLS0tLS0tLS0KPiAgZHJpdmVycy9ncHUv ZHJtL25vdXZlYXUvbnZrbS9jb3JlL21tLmMgICAgICAgIHwgMTAgKysrKystLS0tLQo+ICBkcml2 ZXJzL2dwdS9kcm0vb21hcGRybS9kc3MvZHNpLmMgICAgICAgICAgICAgfCAxNyArKysrKysrKy0t LS0tLS0tLQo+ICBkcml2ZXJzL2dwdS9kcm0vb21hcGRybS9kc3MvZHNzLmMgICAgICAgICAgICAg fCAgMyArLS0KPiAgZHJpdmVycy9ncHUvZHJtL29tYXBkcm0vZHNzL2Rzcy5oICAgICAgICAgICAg IHwgMTUgKysrKysrLS0tLS0tLS0tCj4gIGRyaXZlcnMvZ3B1L2RybS9vbWFwZHJtL29tYXBfZ2Vt LmMgICAgICAgICAgICB8ICA1ICsrLS0tCj4gIGRyaXZlcnMvZ3B1L2RybS9yMTI4L3IxMjhfY2Nl LmMgICAgICAgICAgICAgICB8ICA3ICsrKy0tLS0KPiAgZHJpdmVycy9ncHUvZHJtL3R0bS90dG1f Ym8uYyAgICAgICAgICAgICAgICAgIHwgIDIgKy0KPiAgZHJpdmVycy9ncHUvZHJtL3Ztd2dmeC92 bXdnZnhfZmVuY2UuYyAgICAgICAgIHwgIDYgKystLS0tCj4gIGRyaXZlcnMvZ3B1L2RybS92bXdn Zngvdm13Z2Z4X2dtcmlkX21hbmFnZXIuYyB8ICAzICstLQo+ICBkcml2ZXJzL2dwdS9kcm0vdm13 Z2Z4L3Ztd2dmeF9yZXNvdXJjZS5jICAgICAgfCAgNCArKy0tCj4gIDIwIGZpbGVzIGNoYW5nZWQs IDcyIGluc2VydGlvbnMoKyksIDg0IGRlbGV0aW9ucygtKQo+IAo+IGRpZmYgLS1naXQgYS9kcml2 ZXJzL2dwdS9kcm0vZ21hNTAwL2Nkdl9pbnRlbF9sdmRzLmMgYi9kcml2ZXJzL2dwdS9kcm0vZ21h NTAwL2Nkdl9pbnRlbF9sdmRzLmMKPiBpbmRleCA1ZWZkYjdmYmI3ZWUuLmU2NDk2MGRiMzIyNCAx MDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vZ21hNTAwL2Nkdl9pbnRlbF9sdmRzLmMKPiAr KysgYi9kcml2ZXJzL2dwdS9kcm0vZ21hNTAwL2Nkdl9pbnRlbF9sdmRzLmMKPiBAQCAtMjg0LDgg KzI4NCw3IEBAIHN0YXRpYyBib29sIGNkdl9pbnRlbF9sdmRzX21vZGVfZml4dXAoc3RydWN0IGRy bV9lbmNvZGVyICplbmNvZGVyLAo+ICAJCQkgICAgaGVhZCkgewo+ICAJCWlmICh0bXBfZW5jb2Rl ciAhPSBlbmNvZGVyCj4gIAkJICAgICYmIHRtcF9lbmNvZGVyLT5jcnRjID09IGVuY29kZXItPmNy dGMpIHsKPiAtCQkJcHJpbnRrKEtFUk5fRVJSICJDYW4ndCBlbmFibGUgTFZEUyBhbmQgYW5vdGhl ciAiCj4gLQkJCSAgICAgICAiZW5jb2RlciBvbiB0aGUgc2FtZSBwaXBlXG4iKTsKPiArCQkJcHJf ZXJyKCJDYW4ndCBlbmFibGUgTFZEUyBhbmQgYW5vdGhlciBlbmNvZGVyIG9uIHRoZSBzYW1lIHBp cGVcbiIpOwo+ICAJCQlyZXR1cm4gZmFsc2U7Cj4gIAkJfQo+ICAJfQo+IEBAIC03NTYsMTMgKzc1 NSwxMyBAQCB2b2lkIGNkdl9pbnRlbF9sdmRzX2luaXQoc3RydWN0IGRybV9kZXZpY2UgKmRldiwK PiAgCj4gIGZhaWxlZF9maW5kOgo+ICAJbXV0ZXhfdW5sb2NrKCZkZXYtPm1vZGVfY29uZmlnLm11 dGV4KTsKPiAtCXByaW50ayhLRVJOX0VSUiAiRmFpbGVkIGZpbmRcbiIpOwo+ICsJcHJfZXJyKCJG YWlsZWQgZmluZFxuIik7Cj4gIAlwc2JfaW50ZWxfaTJjX2Rlc3Ryb3koZ21hX2VuY29kZXItPmRk Y19idXMpOwo+ICBmYWlsZWRfZGRjOgo+IC0JcHJpbnRrKEtFUk5fRVJSICJGYWlsZWQgRERDXG4i KTsKPiArCXByX2VycigiRmFpbGVkIEREQ1xuIik7Cj4gIAlwc2JfaW50ZWxfaTJjX2Rlc3Ryb3ko Z21hX2VuY29kZXItPmkyY19idXMpOwo+ICBmYWlsZWRfYmxjX2kyYzoKPiAtCXByaW50ayhLRVJO X0VSUiAiRmFpbGVkIEJMQ1xuIik7Cj4gKwlwcl9lcnIoIkZhaWxlZCBCTENcbiIpOwo+ICAJZHJt X2VuY29kZXJfY2xlYW51cChlbmNvZGVyKTsKPiAgCWRybV9jb25uZWN0b3JfY2xlYW51cChjb25u ZWN0b3IpOwo+ICAJa2ZyZWUobHZkc19wcml2KTsKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUv ZHJtL2dtYTUwMC9vYWt0cmFpbF9sdmRzLmMgYi9kcml2ZXJzL2dwdS9kcm0vZ21hNTAwL29ha3Ry YWlsX2x2ZHMuYwo+IGluZGV4IGY3MDM4ZjEyYWM3Ni4uZTY5NDNmZWYwNjExIDEwMDY0NAo+IC0t LSBhL2RyaXZlcnMvZ3B1L2RybS9nbWE1MDAvb2FrdHJhaWxfbHZkcy5jCj4gKysrIGIvZHJpdmVy cy9ncHUvZHJtL2dtYTUwMC9vYWt0cmFpbF9sdmRzLmMKPiBAQCAtMjU1LDE1ICsyNTUsMTUgQEAg c3RhdGljIHZvaWQgb2FrdHJhaWxfbHZkc19nZXRfY29uZmlndXJhdGlvbl9tb2RlKHN0cnVjdCBk cm1fZGV2aWNlICpkZXYsCj4gIAkJCQkoKHRpLT52YmxhbmtfaGkgPDwgOCkgfCB0aS0+dmJsYW5r X2xvKTsKPiAgCQltb2RlLT5jbG9jayA9IHRpLT5waXhlbF9jbG9jayAqIDEwOwo+ICAjaWYgMAo+ IC0JCXByaW50ayhLRVJOX0lORk8gImhkaXNwbGF5IGlzICVkXG4iLCBtb2RlLT5oZGlzcGxheSk7 Cj4gLQkJcHJpbnRrKEtFUk5fSU5GTyAidmRpc3BsYXkgaXMgJWRcbiIsIG1vZGUtPnZkaXNwbGF5 KTsKPiAtCQlwcmludGsoS0VSTl9JTkZPICJIU1MgaXMgJWRcbiIsIG1vZGUtPmhzeW5jX3N0YXJ0 KTsKPiAtCQlwcmludGsoS0VSTl9JTkZPICJIU0UgaXMgJWRcbiIsIG1vZGUtPmhzeW5jX2VuZCk7 Cj4gLQkJcHJpbnRrKEtFUk5fSU5GTyAiaHRvdGFsIGlzICVkXG4iLCBtb2RlLT5odG90YWwpOwo+ IC0JCXByaW50ayhLRVJOX0lORk8gIlZTUyBpcyAlZFxuIiwgbW9kZS0+dnN5bmNfc3RhcnQpOwo+ IC0JCXByaW50ayhLRVJOX0lORk8gIlZTRSBpcyAlZFxuIiwgbW9kZS0+dnN5bmNfZW5kKTsKPiAt CQlwcmludGsoS0VSTl9JTkZPICJ2dG90YWwgaXMgJWRcbiIsIG1vZGUtPnZ0b3RhbCk7Cj4gLQkJ cHJpbnRrKEtFUk5fSU5GTyAiY2xvY2sgaXMgJWRcbiIsIG1vZGUtPmNsb2NrKTsKPiArCQlwcl9p bmZvKCJoZGlzcGxheSBpcyAlZFxuIiwgbW9kZS0+aGRpc3BsYXkpOwo+ICsJCXByX2luZm8oInZk aXNwbGF5IGlzICVkXG4iLCBtb2RlLT52ZGlzcGxheSk7Cj4gKwkJcHJfaW5mbygiSFNTIGlzICVk XG4iLCBtb2RlLT5oc3luY19zdGFydCk7Cj4gKwkJcHJfaW5mbygiSFNFIGlzICVkXG4iLCBtb2Rl LT5oc3luY19lbmQpOwo+ICsJCXByX2luZm8oImh0b3RhbCBpcyAlZFxuIiwgbW9kZS0+aHRvdGFs KTsKPiArCQlwcl9pbmZvKCJWU1MgaXMgJWRcbiIsIG1vZGUtPnZzeW5jX3N0YXJ0KTsKPiArCQlw cl9pbmZvKCJWU0UgaXMgJWRcbiIsIG1vZGUtPnZzeW5jX2VuZCk7Cj4gKwkJcHJfaW5mbygidnRv dGFsIGlzICVkXG4iLCBtb2RlLT52dG90YWwpOwo+ICsJCXByX2luZm8oImNsb2NrIGlzICVkXG4i LCBtb2RlLT5jbG9jayk7Cj4gICNlbmRpZgo+ICAJCW1vZGVfZGV2LT5wYW5lbF9maXhlZF9tb2Rl ID0gbW9kZTsKPiAgCX0KPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2dtYTUwMC9wc2Jf ZHJ2LmggYi9kcml2ZXJzL2dwdS9kcm0vZ21hNTAwL3BzYl9kcnYuaAo+IGluZGV4IDgzZTIyZmQ0 Y2ZjMC4uODM2NjcwODdkNmU1IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9nbWE1MDAv cHNiX2Rydi5oCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2dtYTUwMC9wc2JfZHJ2LmgKPiBAQCAt OTA1LDkgKzkwNSw4IEBAIHN0YXRpYyBpbmxpbmUgdm9pZCBSRUdJU1RFUl9XUklURTgoc3RydWN0 IGRybV9kZXZpY2UgKmRldiwKPiAgI2RlZmluZSBQU0JfUlNHWDMyKF9vZmZzKQkJCQkJCVwKPiAg KHsJCQkJCQkJCQlcCj4gIAlpZiAoaW5sKGRldl9wcml2LT5hcG1fYmFzZSArIFBTQl9BUE1fU1RT KSAmIDB4MykgewkJXAo+IC0JCXByaW50ayhLRVJOX0VSUgkJCQkJCVwKPiAtCQkJImFjY2VzcyBz Z3ggd2hlbiBpdCdzIG9mZiEhIChSRUFEKSAlcywgJWRcbiIsCVwKPiAtCSAgICAgICBfX0ZJTEVf XywgX19MSU5FX18pOwkJCQkJXAo+ICsJCXByX2VycigiYWNjZXNzIHNneCB3aGVuIGl0J3Mgb2Zm ISEgKFJFQUQpICVzLCAlZFxuIiwJXAo+ICsJCSAgICAgICBfX0ZJTEVfXywgX19MSU5FX18pOwkJ CQlcCj4gIAkJbWVsYXkoMTAwMCk7CQkJCQkJXAo+ICAJfQkJCQkJCQkJXAo+ICAJaW9yZWFkMzIo ZGV2X3ByaXYtPnNneF9yZWcgKyAoX29mZnMpKTsJCQkJXAo+IGRpZmYgLS1naXQgYS9kcml2ZXJz L2dwdS9kcm0vZ21hNTAwL3BzYl9pbnRlbF9sdmRzLmMgYi9kcml2ZXJzL2dwdS9kcm0vZ21hNTAw L3BzYl9pbnRlbF9sdmRzLmMKPiBpbmRleCA0ODNmZGNlNzRlMzkuLjAwNjZmZTdlNjIyZSAxMDA2 NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vZ21hNTAwL3BzYl9pbnRlbF9sdmRzLmMKPiArKysg Yi9kcml2ZXJzL2dwdS9kcm0vZ21hNTAwL3BzYl9pbnRlbF9sdmRzLmMKPiBAQCAtMzg4LDExICsz ODgsMTEgQEAgYm9vbCBwc2JfaW50ZWxfbHZkc19tb2RlX2ZpeHVwKHN0cnVjdCBkcm1fZW5jb2Rl ciAqZW5jb2RlciwKPiAgCj4gIAkvKiBQU0IgcmVxdWlyZXMgdGhlIExWRFMgaXMgb24gcGlwZSBC LCBNUlNUIGhhcyBvbmx5IG9uZSBwaXBlIGFueXdheSAqLwo+ICAJaWYgKCFJU19NUlNUKGRldikg JiYgZ21hX2NydGMtPnBpcGUgPT0gMCkgewo+IC0JCXByaW50ayhLRVJOX0VSUiAiQ2FuJ3Qgc3Vw cG9ydCBMVkRTIG9uIHBpcGUgQVxuIik7Cj4gKwkJcHJfZXJyKCJDYW4ndCBzdXBwb3J0IExWRFMg b24gcGlwZSBBXG4iKTsKPiAgCQlyZXR1cm4gZmFsc2U7Cj4gIAl9Cj4gIAlpZiAoSVNfTVJTVChk ZXYpICYmIGdtYV9jcnRjLT5waXBlICE9IDApIHsKPiAtCQlwcmludGsoS0VSTl9FUlIgIk11c3Qg dXNlIFBJUEUgQVxuIik7Cj4gKwkJcHJfZXJyKCJNdXN0IHVzZSBQSVBFIEFcbiIpOwo+ICAJCXJl dHVybiBmYWxzZTsKPiAgCX0KPiAgCS8qIFNob3VsZCBuZXZlciBoYXBwZW4hISAqLwo+IEBAIC00 MDAsOCArNDAwLDcgQEAgYm9vbCBwc2JfaW50ZWxfbHZkc19tb2RlX2ZpeHVwKHN0cnVjdCBkcm1f ZW5jb2RlciAqZW5jb2RlciwKPiAgCQkJICAgIGhlYWQpIHsKPiAgCQlpZiAodG1wX2VuY29kZXIg IT0gZW5jb2Rlcgo+ICAJCSAgICAmJiB0bXBfZW5jb2Rlci0+Y3J0YyA9PSBlbmNvZGVyLT5jcnRj KSB7Cj4gLQkJCXByaW50ayhLRVJOX0VSUiAiQ2FuJ3QgZW5hYmxlIExWRFMgYW5kIGFub3RoZXIg Igo+IC0JCQkgICAgICAgImVuY29kZXIgb24gdGhlIHNhbWUgcGlwZVxuIik7Cj4gKwkJCXByX2Vy cigiQ2FuJ3QgZW5hYmxlIExWRFMgYW5kIGFub3RoZXIgZW5jb2RlciBvbiB0aGUgc2FtZSBwaXBl XG4iKTsKPiAgCQkJcmV0dXJuIGZhbHNlOwo+ICAJCX0KPiAgCX0KPiBkaWZmIC0tZ2l0IGEvZHJp dmVycy9ncHUvZHJtL2k5MTUvaTkxNV9zd19mZW5jZS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUv aTkxNV9zd19mZW5jZS5jCj4gaW5kZXggNDBmNGU1ZWZhZjgzLi5hMjc3ZjhlYjdiZWIgMTAwNjQ0 Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9zd19mZW5jZS5jCj4gKysrIGIvZHJp dmVycy9ncHUvZHJtL2k5MTUvaTkxNV9zd19mZW5jZS5jCj4gQEAgLTM5NSwxMCArMzk1LDEwIEBA IHN0YXRpYyB2b2lkIHRpbWVyX2k5MTVfc3dfZmVuY2Vfd2FrZSh1bnNpZ25lZCBsb25nIGRhdGEp Cj4gIHsKPiAgCXN0cnVjdCBpOTE1X3N3X2RtYV9mZW5jZV9jYiAqY2IgPSAoc3RydWN0IGk5MTVf c3dfZG1hX2ZlbmNlX2NiICopZGF0YTsKPiAgCj4gLQlwcmludGsoS0VSTl9XQVJOSU5HICJhc3lu Y2hyb25vdXMgd2FpdCBvbiBmZW5jZSAlczolczoleCB0aW1lZCBvdXRcbiIsCj4gLQkgICAgICAg Y2ItPmRtYS0+b3BzLT5nZXRfZHJpdmVyX25hbWUoY2ItPmRtYSksCj4gLQkgICAgICAgY2ItPmRt YS0+b3BzLT5nZXRfdGltZWxpbmVfbmFtZShjYi0+ZG1hKSwKPiAtCSAgICAgICBjYi0+ZG1hLT5z ZXFubyk7Cj4gKwlwcl93YXJuKCJhc3luY2hyb25vdXMgd2FpdCBvbiBmZW5jZSAlczolczoleCB0 aW1lZCBvdXRcbiIsCj4gKwkJY2ItPmRtYS0+b3BzLT5nZXRfZHJpdmVyX25hbWUoY2ItPmRtYSks Cj4gKwkJY2ItPmRtYS0+b3BzLT5nZXRfdGltZWxpbmVfbmFtZShjYi0+ZG1hKSwKPiArCQljYi0+ ZG1hLT5zZXFubyk7Cj4gIAlkbWFfZmVuY2VfcHV0KGNiLT5kbWEpOwo+ICAJY2ItPmRtYSA9IE5V TEw7Cj4gIAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vbWdhZzIwMC9tZ2FnMjAwX21v ZGUuYyBiL2RyaXZlcnMvZ3B1L2RybS9tZ2FnMjAwL21nYWcyMDBfbW9kZS5jCj4gaW5kZXggMzkz ODEyMGU1MDUxLi5mMmU5YjJiYzE4YTUgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL21n YWcyMDAvbWdhZzIwMF9tb2RlLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vbWdhZzIwMC9tZ2Fn MjAwX21vZGUuYwo+IEBAIC0xOTUsNyArMTk1LDcgQEAgc3RhdGljIGludCBtZ2FfZzIwMHNlX3Nl dF9wbGxzKHN0cnVjdCBtZ2FfZGV2aWNlICptZGV2LCBsb25nIGNsb2NrKQo+ICAJfQo+ICAKPiAg CWlmIChkZWx0YSA+IHBlcm1pdHRlZGRlbHRhKSB7Cj4gLQkJcHJpbnRrKEtFUk5fV0FSTklORyAi UExMIGRlbHRhIHRvbyBsYXJnZVxuIik7Cj4gKwkJcHJfd2FybigiUExMIGRlbHRhIHRvbyBsYXJn ZVxuIik7Cj4gIAkJcmV0dXJuIDE7Cj4gIAl9Cj4gIAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dw dS9kcm0vbXNtL21zbV9kcnYuYyBiL2RyaXZlcnMvZ3B1L2RybS9tc20vbXNtX2Rydi5jCj4gaW5k ZXggNzAyMjZlYWE1Y2FjLi40NjJlN2Q1YmQ4NzIgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUv ZHJtL21zbS9tc21fZHJ2LmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vbXNtL21zbV9kcnYuYwo+ IEBAIC0xNTIsNyArMTUyLDcgQEAgdTMyIG1zbV9yZWFkbChjb25zdCB2b2lkIF9faW9tZW0gKmFk ZHIpCj4gIHsKPiAgCXUzMiB2YWwgPSByZWFkbChhZGRyKTsKPiAgCWlmIChyZWdsb2cpCj4gLQkJ cHJpbnRrKEtFUk5fRVJSICJJTzpSICVwICUwOHhcbiIsIGFkZHIsIHZhbCk7Cj4gKwkJcHJfZXJy KCJJTzpSICVwICUwOHhcbiIsIGFkZHIsIHZhbCk7Cj4gIAlyZXR1cm4gdmFsOwo+ICB9Cj4gIAo+ IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vbm91dmVhdS9ub3V2ZWF1X2FjcGkuYyBiL2Ry aXZlcnMvZ3B1L2RybS9ub3V2ZWF1L25vdXZlYXVfYWNwaS5jCj4gaW5kZXggMTkzNTczZDE5MWU1 Li4zOTQ2OGMyMTgwMjcgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL25vdXZlYXUvbm91 dmVhdV9hY3BpLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vbm91dmVhdS9ub3V2ZWF1X2FjcGku Ywo+IEBAIC0zMjYsNyArMzI2LDcgQEAgc3RhdGljIGJvb2wgbm91dmVhdV9kc21fZGV0ZWN0KHZv aWQpCj4gIAkJbm91dmVhdV9kc21fcHJpdi5kaGFuZGxlID0gZGhhbmRsZTsKPiAgCQlhY3BpX2dl dF9uYW1lKG5vdXZlYXVfZHNtX3ByaXYuZGhhbmRsZSwgQUNQSV9GVUxMX1BBVEhOQU1FLAo+ICAJ CQkmYnVmZmVyKTsKPiAtCQlwcmludGsoS0VSTl9JTkZPICJWR0Egc3dpdGNoZXJvbzogZGV0ZWN0 ZWQgT3B0aW11cyBEU00gbWV0aG9kICVzIGhhbmRsZVxuIiwKPiArCQlwcl9pbmZvKCJWR0Egc3dp dGNoZXJvbzogZGV0ZWN0ZWQgT3B0aW11cyBEU00gbWV0aG9kICVzIGhhbmRsZVxuIiwKPiAgCQkJ YWNwaV9tZXRob2RfbmFtZSk7Cj4gIAkJaWYgKGhhc19wb3dlcl9yZXNvdXJjZXMpCj4gIAkJCXBy X2luZm8oIm5vdXZlYXU6IGRldGVjdGVkIFBSIHN1cHBvcnQsIHdpbGwgbm90IHVzZSBEU01cbiIp Owo+IEBAIC0zMzgsNyArMzM4LDcgQEAgc3RhdGljIGJvb2wgbm91dmVhdV9kc21fZGV0ZWN0KHZv aWQpCj4gIAkJbm91dmVhdV9kc21fcHJpdi5kaGFuZGxlID0gZGhhbmRsZTsKPiAgCQlhY3BpX2dl dF9uYW1lKG5vdXZlYXVfZHNtX3ByaXYuZGhhbmRsZSwgQUNQSV9GVUxMX1BBVEhOQU1FLAo+ICAJ CQkmYnVmZmVyKTsKPiAtCQlwcmludGsoS0VSTl9JTkZPICJWR0Egc3dpdGNoZXJvbzogZGV0ZWN0 ZWQgRFNNIHN3aXRjaGluZyBtZXRob2QgJXMgaGFuZGxlXG4iLAo+ICsJCXByX2luZm8oIlZHQSBz d2l0Y2hlcm9vOiBkZXRlY3RlZCBEU00gc3dpdGNoaW5nIG1ldGhvZCAlcyBoYW5kbGVcbiIsCj4g IAkJCWFjcGlfbWV0aG9kX25hbWUpOwo+ICAJCW5vdXZlYXVfZHNtX3ByaXYuZHNtX2RldGVjdGVk ID0gdHJ1ZTsKPiAgCQlyZXQgPSB0cnVlOwo+IEBAIC00MDYsNyArNDA2LDggQEAgc3RhdGljIGlu dCBub3V2ZWF1X3JvbV9jYWxsKGFjcGlfaGFuZGxlIHJvbV9oYW5kbGUsIHVpbnQ4X3QgKmJpb3Ms Cj4gIAo+ICAJc3RhdHVzID0gYWNwaV9ldmFsdWF0ZV9vYmplY3Qocm9tX2hhbmRsZSwgTlVMTCwg JnJvbV9hcmcsICZidWZmZXIpOwo+ICAJaWYgKEFDUElfRkFJTFVSRShzdGF0dXMpKSB7Cj4gLQkJ cHJpbnRrKEtFUk5fSU5GTyAiZmFpbGVkIHRvIGV2YWx1YXRlIFJPTSBnb3QgJXNcbiIsIGFjcGlf Zm9ybWF0X2V4Y2VwdGlvbihzdGF0dXMpKTsKPiArCQlwcl9pbmZvKCJmYWlsZWQgdG8gZXZhbHVh dGUgUk9NIGdvdCAlc1xuIiwKPiArCQkJYWNwaV9mb3JtYXRfZXhjZXB0aW9uKHN0YXR1cykpOwo+ ICAJCXJldHVybiAtRU5PREVWOwo+ICAJfQo+ICAJb2JqID0gKHVuaW9uIGFjcGlfb2JqZWN0ICop YnVmZmVyLnBvaW50ZXI7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9ub3V2ZWF1L25v dXZlYXVfdmdhLmMgYi9kcml2ZXJzL2dwdS9kcm0vbm91dmVhdS9ub3V2ZWF1X3ZnYS5jCj4gaW5k ZXggZWVmMjJjNmI5NjY1Li5jY2I1OTdlYWM1MzggMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUv ZHJtL25vdXZlYXUvbm91dmVhdV92Z2EuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9ub3V2ZWF1 L25vdXZlYXVfdmdhLmMKPiBAQCAtNDEsMTMgKzQxLDEzIEBAIG5vdXZlYXVfc3dpdGNoZXJvb19z ZXRfc3RhdGUoc3RydWN0IHBjaV9kZXYgKnBkZXYsCj4gIAkJcmV0dXJuOwo+ICAKPiAgCWlmIChz dGF0ZSA9PSBWR0FfU1dJVENIRVJPT19PTikgewo+IC0JCXByaW50ayhLRVJOX0VSUiAiVkdBIHN3 aXRjaGVyb286IHN3aXRjaGVkIG5vdXZlYXUgb25cbiIpOwo+ICsJCXByX2VycigiVkdBIHN3aXRj aGVyb286IHN3aXRjaGVkIG5vdXZlYXUgb25cbiIpOwo+ICAJCWRldi0+c3dpdGNoX3Bvd2VyX3N0 YXRlID0gRFJNX1NXSVRDSF9QT1dFUl9DSEFOR0lORzsKPiAgCQlub3V2ZWF1X3Btb3BzX3Jlc3Vt ZSgmcGRldi0+ZGV2KTsKPiAgCQlkcm1fa21zX2hlbHBlcl9wb2xsX2VuYWJsZShkZXYpOwo+ICAJ CWRldi0+c3dpdGNoX3Bvd2VyX3N0YXRlID0gRFJNX1NXSVRDSF9QT1dFUl9PTjsKPiAgCX0gZWxz ZSB7Cj4gLQkJcHJpbnRrKEtFUk5fRVJSICJWR0Egc3dpdGNoZXJvbzogc3dpdGNoZWQgbm91dmVh dSBvZmZcbiIpOwo+ICsJCXByX2VycigiVkdBIHN3aXRjaGVyb286IHN3aXRjaGVkIG5vdXZlYXUg b2ZmXG4iKTsKPiAgCQlkZXYtPnN3aXRjaF9wb3dlcl9zdGF0ZSA9IERSTV9TV0lUQ0hfUE9XRVJf Q0hBTkdJTkc7Cj4gIAkJZHJtX2ttc19oZWxwZXJfcG9sbF9kaXNhYmxlKGRldik7Cj4gIAkJbm91 dmVhdV9zd2l0Y2hlcm9vX29wdGltdXNfZHNtKCk7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1 L2RybS9ub3V2ZWF1L252NTBfZGlzcGxheS5jIGIvZHJpdmVycy9ncHUvZHJtL25vdXZlYXUvbnY1 MF9kaXNwbGF5LmMKPiBpbmRleCAwYjQ0NDBmZmJlYWUuLmZmNzQzN2IyNzYyZCAxMDA2NDQKPiAt LS0gYS9kcml2ZXJzL2dwdS9kcm0vbm91dmVhdS9udjUwX2Rpc3BsYXkuYwo+ICsrKyBiL2RyaXZl cnMvZ3B1L2RybS9ub3V2ZWF1L252NTBfZGlzcGxheS5jCj4gQEAgLTcwNSw3ICs3MDUsNyBAQCBl dm9fd2FpdCh2b2lkICpldm9jLCBpbnQgbnIpCj4gIAkJCQlicmVhazsKPiAgCQkpIDwgMCkgewo+ ICAJCQltdXRleF91bmxvY2soJmRtYWMtPmxvY2spOwo+IC0JCQlwcmludGsoS0VSTl9FUlIgIm5v dXZlYXU6IGV2byBjaGFubmVsIHN0YWxsZWRcbiIpOwo+ICsJCQlwcl9lcnIoIm5vdXZlYXU6IGV2 byBjaGFubmVsIHN0YWxsZWRcbiIpOwo+ICAJCQlyZXR1cm4gTlVMTDsKPiAgCQl9Cj4gIAo+IEBA IC03MjMsMTggKzcyMywxOCBAQCBldm9fa2ljayh1MzIgKnB1c2gsIHZvaWQgKmV2b2MpCj4gIAlt dXRleF91bmxvY2soJmRtYWMtPmxvY2spOwo+ICB9Cj4gIAo+IC0jZGVmaW5lIGV2b19tdGhkKHAs bSxzKSBkbyB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgXAo+IC0JY29uc3QgdTMyIF9tID0gKG0pLCBfcyA9IChzKTsgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBcCj4gLQlpZiAoZHJtX2RlYnVnICYgRFJNX1VUX0tNUykg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKPiAtCQlwcmludGso S0VSTl9FUlIgIiUwNHggJWQgJXNcbiIsIF9tLCBfcywgX19mdW5jX18pOyAgICAgICAgICAgICBc Cj4gLQkqKChwKSsrKSA9ICgoX3MgPDwgMTgpIHwgX20pOyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIFwKPiArI2RlZmluZSBldm9fbXRoZChwLCBtLCBzKSBkbyB7CQkJ CQkJXAo+ICsJY29uc3QgdTMyIF9tID0gKG0pLCBfcyA9IChzKTsJCQkJCVwKPiArCWlmIChkcm1f ZGVidWcgJiBEUk1fVVRfS01TKQkJCQkJXAo+ICsJCXByX2VycigiJTA0eCAlZCAlc1xuIiwgX20s IF9zLCBfX2Z1bmNfXyk7CQlcCj4gKwkqKChwKSsrKSA9ICgoX3MgPDwgMTgpIHwgX20pOwkJCQkJ XAo+ICB9IHdoaWxlKDApCj4gIAo+IC0jZGVmaW5lIGV2b19kYXRhKHAsZCkgZG8geyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAo+IC0JY29uc3Qg dTMyIF9kID0gKGQpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBcCj4gLQlpZiAoZHJtX2RlYnVnICYgRFJNX1VUX0tNUykgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKPiAtCQlwcmludGsoS0VSTl9FUlIgIlx0JTA4 eFxuIiwgX2QpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCj4gLQkqKChwKSsrKSA9 IF9kOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIFwKPiArI2RlZmluZSBldm9fZGF0YShwLCBkKSBkbyB7CQkJCQkJXAo+ICsJY29uc3QgdTMy IF9kID0gKGQpOwkJCQkJCVwKPiArCWlmIChkcm1fZGVidWcgJiBEUk1fVVRfS01TKQkJCQkJXAo+ ICsJCXByX2VycigiXHQlMDh4XG4iLCBfZCk7CQkJCQlcCj4gKwkqKChwKSsrKSA9IF9kOwkJCQkJ CQlcCj4gIH0gd2hpbGUoMCkKPiAgCj4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKPiBkaWZmIC0t Z2l0IGEvZHJpdmVycy9ncHUvZHJtL25vdXZlYXUvbnZrbS9jb3JlL21tLmMgYi9kcml2ZXJzL2dw dS9kcm0vbm91dmVhdS9udmttL2NvcmUvbW0uYwo+IGluZGV4IGZkMTlkNjUyYTdhYi4uNWM3ODkx MjM0ZWVhIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9ub3V2ZWF1L252a20vY29yZS9t bS5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL25vdXZlYXUvbnZrbS9jb3JlL21tLmMKPiBAQCAt MzEsMTUgKzMxLDE1IEBAIG52a21fbW1fZHVtcChzdHJ1Y3QgbnZrbV9tbSAqbW0sIGNvbnN0IGNo YXIgKmhlYWRlcikKPiAgewo+ICAJc3RydWN0IG52a21fbW1fbm9kZSAqbm9kZTsKPiAgCj4gLQlw cmludGsoS0VSTl9FUlIgIm52a206ICVzXG4iLCBoZWFkZXIpOwo+IC0JcHJpbnRrKEtFUk5fRVJS ICJudmttOiBub2RlIGxpc3Q6XG4iKTsKPiArCXByX2VycigibnZrbTogJXNcbiIsIGhlYWRlcik7 Cj4gKwlwcl9lcnIoIm52a206IG5vZGUgbGlzdDpcbiIpOwo+ICAJbGlzdF9mb3JfZWFjaF9lbnRy eShub2RlLCAmbW0tPm5vZGVzLCBubF9lbnRyeSkgewo+IC0JCXByaW50ayhLRVJOX0VSUiAibnZr bTogXHQlMDh4ICUwOHggJWRcbiIsCj4gKwkJcHJfZXJyKCJudmttOiBcdCUwOHggJTA4eCAlZFxu IiwKPiAgCQkgICAgICAgbm9kZS0+b2Zmc2V0LCBub2RlLT5sZW5ndGgsIG5vZGUtPnR5cGUpOwo+ ICAJfQo+IC0JcHJpbnRrKEtFUk5fRVJSICJudmttOiBmcmVlIGxpc3Q6XG4iKTsKPiArCXByX2Vy cigibnZrbTogZnJlZSBsaXN0OlxuIik7Cj4gIAlsaXN0X2Zvcl9lYWNoX2VudHJ5KG5vZGUsICZt bS0+ZnJlZSwgZmxfZW50cnkpIHsKPiAtCQlwcmludGsoS0VSTl9FUlIgIm52a206IFx0JTA4eCAl MDh4ICVkXG4iLAo+ICsJCXByX2VycigibnZrbTogXHQlMDh4ICUwOHggJWRcbiIsCj4gIAkJICAg ICAgIG5vZGUtPm9mZnNldCwgbm9kZS0+bGVuZ3RoLCBub2RlLT50eXBlKTsKPiAgCX0KPiAgfQo+ IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vb21hcGRybS9kc3MvZHNpLmMgYi9kcml2ZXJz L2dwdS9kcm0vb21hcGRybS9kc3MvZHNpLmMKPiBpbmRleCBmNzQ2MTVkMDA1YTguLjVlNTFhNTY0 OWVmYiAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vb21hcGRybS9kc3MvZHNpLmMKPiAr KysgYi9kcml2ZXJzL2dwdS9kcm0vb21hcGRybS9kc3MvZHNpLmMKPiBAQCAtNTgyLDE1ICs1ODIs MTQgQEAgc3RhdGljIHZvaWQgZHNpX3BlcmZfc2hvdyhzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpk c2lkZXYsIGNvbnN0IGNoYXIgKm5hbWUpCj4gIAo+ICAJdG90YWxfYnl0ZXMgPSBkc2ktPnVwZGF0 ZV9ieXRlczsKPiAgCj4gLQlwcmludGsoS0VSTl9JTkZPICJEU0koJXMpOiAldSB1cyArICV1IHVz ID0gJXUgdXMgKCV1SHopLCAiCj4gLQkJCSIldSBieXRlcywgJXUga2J5dGVzL3NlY1xuIiwKPiAt CQkJbmFtZSwKPiAtCQkJc2V0dXBfdXMsCj4gLQkJCXRyYW5zX3VzLAo+IC0JCQl0b3RhbF91cywK PiAtCQkJMTAwMCoxMDAwIC8gdG90YWxfdXMsCj4gLQkJCXRvdGFsX2J5dGVzLAo+IC0JCQl0b3Rh bF9ieXRlcyAqIDEwMDAgLyB0b3RhbF91cyk7Cj4gKwlwcl9pbmZvKCJEU0koJXMpOiAldSB1cyAr ICV1IHVzID0gJXUgdXMgKCV1SHopLCAldSBieXRlcywgJXUga2J5dGVzL3NlY1xuIiwKPiArCQlu YW1lLAo+ICsJCXNldHVwX3VzLAo+ICsJCXRyYW5zX3VzLAo+ICsJCXRvdGFsX3VzLAo+ICsJCTEw MDAgKiAxMDAwIC8gdG90YWxfdXMsCj4gKwkJdG90YWxfYnl0ZXMsCj4gKwkJdG90YWxfYnl0ZXMg KiAxMDAwIC8gdG90YWxfdXMpOwo+ICB9Cj4gICNlbHNlCj4gIHN0YXRpYyBpbmxpbmUgdm9pZCBk c2lfcGVyZl9tYXJrX3NldHVwKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKmRzaWRldikKPiBkaWZm IC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL29tYXBkcm0vZHNzL2Rzcy5jIGIvZHJpdmVycy9ncHUv ZHJtL29tYXBkcm0vZHNzL2Rzcy5jCj4gaW5kZXggMTQ4ODdkNWIwMmU1Li40ZTcyZDJmZWZiNGQg MTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL29tYXBkcm0vZHNzL2Rzcy5jCj4gKysrIGIv ZHJpdmVycy9ncHUvZHJtL29tYXBkcm0vZHNzL2Rzcy5jCj4gQEAgLTEyNTQsOCArMTI1NCw3IEBA IHN0YXRpYyBpbnQgZHNzX2JpbmQoc3RydWN0IGRldmljZSAqZGV2KQo+ICAJZHNzLmxjZF9jbGtf c291cmNlWzFdID0gRFNTX0NMS19TUkNfRkNLOwo+ICAKPiAgCXJldiA9IGRzc19yZWFkX3JlZyhE U1NfUkVWSVNJT04pOwo+IC0JcHJpbnRrKEtFUk5fSU5GTyAiT01BUCBEU1MgcmV2ICVkLiVkXG4i LAo+IC0JCQlGTERfR0VUKHJldiwgNywgNCksIEZMRF9HRVQocmV2LCAzLCAwKSk7Cj4gKwlwcl9p bmZvKCJPTUFQIERTUyByZXYgJWQuJWRcbiIsIEZMRF9HRVQocmV2LCA3LCA0KSwgRkxEX0dFVChy ZXYsIDMsIDApKTsKPiAgCj4gIAlkc3NfcnVudGltZV9wdXQoKTsKPiAgCj4gZGlmZiAtLWdpdCBh L2RyaXZlcnMvZ3B1L2RybS9vbWFwZHJtL2Rzcy9kc3MuaCBiL2RyaXZlcnMvZ3B1L2RybS9vbWFw ZHJtL2Rzcy9kc3MuaAo+IGluZGV4IDU2NDkzYjI5MDczMS4uNzhmNmZjNzU5NDhiIDEwMDY0NAo+ IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9vbWFwZHJtL2Rzcy9kc3MuaAo+ICsrKyBiL2RyaXZlcnMv Z3B1L2RybS9vbWFwZHJtL2Rzcy9kc3MuaAo+IEBAIC00MiwyOSArNDIsMjYgQEAKPiAgCj4gICNp ZmRlZiBEU1NfU1VCU1lTX05BTUUKPiAgI2RlZmluZSBEU1NFUlIoZm9ybWF0LCAuLi4pIFwKPiAt CXByaW50ayhLRVJOX0VSUiAib21hcGRzcyAiIERTU19TVUJTWVNfTkFNRSAiIGVycm9yOiAiIGZv cm1hdCwgXAo+IC0JIyMgX19WQV9BUkdTX18pCj4gKwlwcl9lcnIoIm9tYXBkc3MgIiBEU1NfU1VC U1lTX05BTUUgIiBlcnJvcjogIiBmb3JtYXQsICMjX19WQV9BUkdTX18pCj4gICNlbHNlCj4gICNk ZWZpbmUgRFNTRVJSKGZvcm1hdCwgLi4uKSBcCj4gLQlwcmludGsoS0VSTl9FUlIgIm9tYXBkc3Mg ZXJyb3I6ICIgZm9ybWF0LCAjIyBfX1ZBX0FSR1NfXykKPiArCXByX2Vycigib21hcGRzcyBlcnJv cjogIiBmb3JtYXQsICMjX19WQV9BUkdTX18pCj4gICNlbmRpZgo+ICAKPiAgI2lmZGVmIERTU19T VUJTWVNfTkFNRQo+ICAjZGVmaW5lIERTU0lORk8oZm9ybWF0LCAuLi4pIFwKPiAtCXByaW50ayhL RVJOX0lORk8gIm9tYXBkc3MgIiBEU1NfU1VCU1lTX05BTUUgIjogIiBmb3JtYXQsIFwKPiAtCSMj IF9fVkFfQVJHU19fKQo+ICsJcHJfaW5mbygib21hcGRzcyAiIERTU19TVUJTWVNfTkFNRSAiOiAi IGZvcm1hdCwgIyNfX1ZBX0FSR1NfXykKPiAgI2Vsc2UKPiAgI2RlZmluZSBEU1NJTkZPKGZvcm1h dCwgLi4uKSBcCj4gLQlwcmludGsoS0VSTl9JTkZPICJvbWFwZHNzOiAiIGZvcm1hdCwgIyMgX19W QV9BUkdTX18pCj4gKwlwcl9pbmZvKCJvbWFwZHNzOiAiIGZvcm1hdCwgIyMgX19WQV9BUkdTX18p Cj4gICNlbmRpZgo+ICAKPiAgI2lmZGVmIERTU19TVUJTWVNfTkFNRQo+ICAjZGVmaW5lIERTU1dB Uk4oZm9ybWF0LCAuLi4pIFwKPiAtCXByaW50ayhLRVJOX1dBUk5JTkcgIm9tYXBkc3MgIiBEU1Nf U1VCU1lTX05BTUUgIjogIiBmb3JtYXQsIFwKPiAtCSMjIF9fVkFfQVJHU19fKQo+ICsJcHJfd2Fy bigib21hcGRzcyAiIERTU19TVUJTWVNfTkFNRSAiOiAiIGZvcm1hdCwgIyNfX1ZBX0FSR1NfXykK PiAgI2Vsc2UKPiAgI2RlZmluZSBEU1NXQVJOKGZvcm1hdCwgLi4uKSBcCj4gLQlwcmludGsoS0VS Tl9XQVJOSU5HICJvbWFwZHNzOiAiIGZvcm1hdCwgIyMgX19WQV9BUkdTX18pCj4gKwlwcl93YXJu KCJvbWFwZHNzOiAiIGZvcm1hdCwgIyNfX1ZBX0FSR1NfXykKPiAgI2VuZGlmCj4gIAo+ICAvKiBP TUFQIFRSTSBnaXZlcyBiaXRmaWVsZHMgYXMgc3RhcnQ6ZW5kLCB3aGVyZSBzdGFydCBpcyB0aGUg aGlnaGVyIGJpdAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vb21hcGRybS9vbWFwX2dl bS5jIGIvZHJpdmVycy9ncHUvZHJtL29tYXBkcm0vb21hcF9nZW0uYwo+IGluZGV4IDVkNWE5ZjUx N2MzMC4uNjhhNzViODI5YjcxIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9vbWFwZHJt L29tYXBfZ2VtLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vb21hcGRybS9vbWFwX2dlbS5jCj4g QEAgLTExMDcsOSArMTEwNyw4IEBAIHN0YXRpYyBpbmxpbmUgYm9vbCBpc193YWl0aW5nKHN0cnVj dCBvbWFwX2dlbV9zeW5jX3dhaXRlciAqd2FpdGVyKQo+ICAKPiAgLyogbWFjcm8gZm9yIHN5bmMg ZGVidWcuLiAqLwo+ICAjZGVmaW5lIFNZTkNEQkcgMAo+IC0jZGVmaW5lIFNZTkMoZm10LCAuLi4p IGRvIHsgaWYgKFNZTkNEQkcpIFwKPiAtCQlwcmludGsoS0VSTl9FUlIgIiVzOiVkOiAiZm10Ilxu IiwgXAo+IC0JCQkJX19mdW5jX18sIF9fTElORV9fLCAjI19fVkFfQVJHU19fKTsgXAo+ICsjZGVm aW5lIFNZTkMoZm10LCAuLi4pIGRvIHsgaWYgKFNZTkNEQkcpCQkJCVwKPiArCQlwcl9lcnIoIiVz OiVkOiAiIGZtdCAiXG4iLCBfX2Z1bmNfXywgX19MSU5FX18sICMjX19WQV9BUkdTX18pOyBcCj4g IAl9IHdoaWxlICgwKQo+ICAKPiAgCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9yMTI4 L3IxMjhfY2NlLmMgYi9kcml2ZXJzL2dwdS9kcm0vcjEyOC9yMTI4X2NjZS5jCj4gaW5kZXggMTRm ZDgzYjVmNDk3Li5jOTg5MGFmZTY5ZDYgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL3Ix MjgvcjEyOF9jY2UuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9yMTI4L3IxMjhfY2NlLmMKPiBA QCAtMTQ5LDIwICsxNDksMTkgQEAgc3RhdGljIGludCByMTI4X2NjZV9sb2FkX21pY3JvY29kZShk cm1fcjEyOF9wcml2YXRlX3QgKmRldl9wcml2KQo+ICAKPiAgCXBkZXYgPSBwbGF0Zm9ybV9kZXZp Y2VfcmVnaXN0ZXJfc2ltcGxlKCJyMTI4X2NjZSIsIDAsIE5VTEwsIDApOwo+ICAJaWYgKElTX0VS UihwZGV2KSkgewo+IC0JCXByaW50ayhLRVJOX0VSUiAicjEyOF9jY2U6IEZhaWxlZCB0byByZWdp c3RlciBmaXJtd2FyZVxuIik7Cj4gKwkJcHJfZXJyKCJyMTI4X2NjZTogRmFpbGVkIHRvIHJlZ2lz dGVyIGZpcm13YXJlXG4iKTsKPiAgCQlyZXR1cm4gUFRSX0VSUihwZGV2KTsKPiAgCX0KPiAgCXJj ID0gcmVxdWVzdF9maXJtd2FyZSgmZncsIEZJUk1XQVJFX05BTUUsICZwZGV2LT5kZXYpOwo+ICAJ cGxhdGZvcm1fZGV2aWNlX3VucmVnaXN0ZXIocGRldik7Cj4gIAlpZiAocmMpIHsKPiAtCQlwcmlu dGsoS0VSTl9FUlIgInIxMjhfY2NlOiBGYWlsZWQgdG8gbG9hZCBmaXJtd2FyZSBcIiVzXCJcbiIs Cj4gKwkJcHJfZXJyKCJyMTI4X2NjZTogRmFpbGVkIHRvIGxvYWQgZmlybXdhcmUgXCIlc1wiXG4i LAo+ICAJCSAgICAgICBGSVJNV0FSRV9OQU1FKTsKPiAgCQlyZXR1cm4gcmM7Cj4gIAl9Cj4gIAo+ ICAJaWYgKGZ3LT5zaXplICE9IDI1NiAqIDgpIHsKPiAtCQlwcmludGsoS0VSTl9FUlIKPiAtCQkg ICAgICAgInIxMjhfY2NlOiBCb2d1cyBsZW5ndGggJXp1IGluIGZpcm13YXJlIFwiJXNcIlxuIiwK PiArCQlwcl9lcnIoInIxMjhfY2NlOiBCb2d1cyBsZW5ndGggJXp1IGluIGZpcm13YXJlIFwiJXNc IlxuIiwKPiAgCQkgICAgICAgZnctPnNpemUsIEZJUk1XQVJFX05BTUUpOwo+ICAJCXJjID0gLUVJ TlZBTDsKPiAgCQlnb3RvIG91dF9yZWxlYXNlOwo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9k cm0vdHRtL3R0bV9iby5jIGIvZHJpdmVycy9ncHUvZHJtL3R0bS90dG1fYm8uYwo+IGluZGV4IDE3 NDc4ZjM4ZGVhMy4uZGNhMmU4MDlhOTcwIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS90 dG0vdHRtX2JvLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vdHRtL3R0bV9iby5jCj4gQEAgLTk4 Miw3ICs5ODIsNyBAQCBpbnQgdHRtX2JvX21lbV9zcGFjZShzdHJ1Y3QgdHRtX2J1ZmZlcl9vYmpl Y3QgKmJvLAo+ICAJfQo+ICAKPiAgCWlmICghdHlwZV9mb3VuZCkgewo+IC0JCXByaW50ayhLRVJO X0VSUiBUVE1fUEZYICJObyBjb21wYXRpYmxlIG1lbW9yeSB0eXBlIGZvdW5kLlxuIik7Cj4gKwkJ cHJfZXJyKFRUTV9QRlggIk5vIGNvbXBhdGlibGUgbWVtb3J5IHR5cGUgZm91bmRcbiIpOwo+ICAJ CXJldHVybiAtRUlOVkFMOwo+ICAJfQo+ICAKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJt L3Ztd2dmeC92bXdnZnhfZmVuY2UuYyBiL2RyaXZlcnMvZ3B1L2RybS92bXdnZngvdm13Z2Z4X2Zl bmNlLmMKPiBpbmRleCA2NTQxZGQ4YjgyZGMuLmIzOTlmMDNhOTg4ZCAxMDA2NDQKPiAtLS0gYS9k cml2ZXJzL2dwdS9kcm0vdm13Z2Z4L3Ztd2dmeF9mZW5jZS5jCj4gKysrIGIvZHJpdmVycy9ncHUv ZHJtL3Ztd2dmeC92bXdnZnhfZmVuY2UuYwo+IEBAIC03MjgsOCArNzI4LDcgQEAgaW50IHZtd19m ZW5jZV9vYmpfd2FpdF9pb2N0bChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCB2b2lkICpkYXRhLAo+ ICAKPiAgCWJhc2UgPSB0dG1fYmFzZV9vYmplY3RfbG9va3VwKHRmaWxlLCBhcmctPmhhbmRsZSk7 Cj4gIAlpZiAodW5saWtlbHkoYmFzZSA9PSBOVUxMKSkgewo+IC0JCXByaW50ayhLRVJOX0VSUiAi V2FpdCBpbnZhbGlkIGZlbmNlIG9iamVjdCBoYW5kbGUgIgo+IC0JCSAgICAgICAiMHglMDhseC5c biIsCj4gKwkJcHJfZXJyKCJXYWl0IGludmFsaWQgZmVuY2Ugb2JqZWN0IGhhbmRsZSAweCUwOGx4 XG4iLAo+ICAJCSAgICAgICAodW5zaWduZWQgbG9uZylhcmctPmhhbmRsZSk7Cj4gIAkJcmV0dXJu IC1FSU5WQUw7Cj4gIAl9Cj4gQEAgLTc3Myw4ICs3NzIsNyBAQCBpbnQgdm13X2ZlbmNlX29ial9z aWduYWxlZF9pb2N0bChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCB2b2lkICpkYXRhLAo+ICAKPiAg CWJhc2UgPSB0dG1fYmFzZV9vYmplY3RfbG9va3VwKHRmaWxlLCBhcmctPmhhbmRsZSk7Cj4gIAlp ZiAodW5saWtlbHkoYmFzZSA9PSBOVUxMKSkgewo+IC0JCXByaW50ayhLRVJOX0VSUiAiRmVuY2Ug c2lnbmFsZWQgaW52YWxpZCBmZW5jZSBvYmplY3QgaGFuZGxlICIKPiAtCQkgICAgICAgIjB4JTA4 bHguXG4iLAo+ICsJCXByX2VycigiRmVuY2Ugc2lnbmFsZWQgaW52YWxpZCBmZW5jZSBvYmplY3Qg aGFuZGxlIDB4JTA4bHhcbiIsCj4gIAkJICAgICAgICh1bnNpZ25lZCBsb25nKWFyZy0+aGFuZGxl KTsKPiAgCQlyZXR1cm4gLUVJTlZBTDsKPiAgCX0KPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUv ZHJtL3Ztd2dmeC92bXdnZnhfZ21yaWRfbWFuYWdlci5jIGIvZHJpdmVycy9ncHUvZHJtL3Ztd2dm eC92bXdnZnhfZ21yaWRfbWFuYWdlci5jCj4gaW5kZXggZmVjNzM0OGNlYTJjLi5jMTkwMGY0Mzkw YTQgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL3Ztd2dmeC92bXdnZnhfZ21yaWRfbWFu YWdlci5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL3Ztd2dmeC92bXdnZnhfZ21yaWRfbWFuYWdl ci5jCj4gQEAgLTE1OSw4ICsxNTksNyBAQCBzdGF0aWMgaW50IHZtd19nbXJpZF9tYW5fdGFrZWRv d24oc3RydWN0IHR0bV9tZW1fdHlwZV9tYW5hZ2VyICptYW4pCj4gIHN0YXRpYyB2b2lkIHZtd19n bXJpZF9tYW5fZGVidWcoc3RydWN0IHR0bV9tZW1fdHlwZV9tYW5hZ2VyICptYW4sCj4gIAkJCQlj b25zdCBjaGFyICpwcmVmaXgpCj4gIHsKPiAtCXByaW50ayhLRVJOX0lORk8gIiVzOiBObyBkZWJ1 ZyBpbmZvIGF2YWlsYWJsZSBmb3IgdGhlIEdNUiAiCj4gLQkgICAgICAgImlkIG1hbmFnZXIuXG4i LCBwcmVmaXgpOwo+ICsJcHJfaW5mbygiJXM6IE5vIGRlYnVnIGluZm8gYXZhaWxhYmxlIGZvciB0 aGUgR01SIGlkIG1hbmFnZXJcbiIsIHByZWZpeCk7Cj4gIH0KPiAgCj4gIGNvbnN0IHN0cnVjdCB0 dG1fbWVtX3R5cGVfbWFuYWdlcl9mdW5jIHZtd19nbXJpZF9tYW5hZ2VyX2Z1bmMgPSB7Cj4gZGlm ZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS92bXdnZngvdm13Z2Z4X3Jlc291cmNlLmMgYi9kcml2 ZXJzL2dwdS9kcm0vdm13Z2Z4L3Ztd2dmeF9yZXNvdXJjZS5jCj4gaW5kZXggNjViM2YwMzY5NjM2 Li4yNzAzM2Q5NDRiMDggMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL3Ztd2dmeC92bXdn ZnhfcmVzb3VyY2UuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS92bXdnZngvdm13Z2Z4X3Jlc291 cmNlLmMKPiBAQCAtNzM2LDE0ICs3MzYsMTQgQEAgaW50IHZtd191c2VyX2RtYWJ1Zl9sb29rdXAo c3RydWN0IHR0bV9vYmplY3RfZmlsZSAqdGZpbGUsCj4gIAo+ICAJYmFzZSA9IHR0bV9iYXNlX29i amVjdF9sb29rdXAodGZpbGUsIGhhbmRsZSk7Cj4gIAlpZiAodW5saWtlbHkoYmFzZSA9PSBOVUxM KSkgewo+IC0JCXByaW50ayhLRVJOX0VSUiAiSW52YWxpZCBidWZmZXIgb2JqZWN0IGhhbmRsZSAw eCUwOGx4LlxuIiwKPiArCQlwcl9lcnIoIkludmFsaWQgYnVmZmVyIG9iamVjdCBoYW5kbGUgMHgl MDhseFxuIiwKPiAgCQkgICAgICAgKHVuc2lnbmVkIGxvbmcpaGFuZGxlKTsKPiAgCQlyZXR1cm4g LUVTUkNIOwo+ICAJfQo+ICAKPiAgCWlmICh1bmxpa2VseSh0dG1fYmFzZV9vYmplY3RfdHlwZShi YXNlKSAhPSB0dG1fYnVmZmVyX3R5cGUpKSB7Cj4gIAkJdHRtX2Jhc2Vfb2JqZWN0X3VucmVmKCZi YXNlKTsKPiAtCQlwcmludGsoS0VSTl9FUlIgIkludmFsaWQgYnVmZmVyIG9iamVjdCBoYW5kbGUg MHglMDhseC5cbiIsCj4gKwkJcHJfZXJyKCJJbnZhbGlkIGJ1ZmZlciBvYmplY3QgaGFuZGxlIDB4 JTA4bHhcbiIsCj4gIAkJICAgICAgICh1bnNpZ25lZCBsb25nKWhhbmRsZSk7Cj4gIAkJcmV0dXJu IC1FSU5WQUw7Cj4gIAl9Cj4gLS0gCj4gMi4xMC4wLnJjMi4xLmcwNTM0MzVjCj4gCl9fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmRyaS1kZXZlbCBtYWlsaW5n IGxpc3QKZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVk ZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2RyaS1kZXZlbAo=