From mboxrd@z Thu Jan 1 00:00:00 1970 From: Huang Rui Subject: Re: [PATCH 2/9] drm/amdgpu: make function pointers mandatory Date: Tue, 25 Sep 2018 18:03:29 +0800 Message-ID: <20180925100328.GC30495@hr-amur2> References: <20180924123820.1873-1-christian.koenig@amd.com> <20180924123820.1873-2-christian.koenig@amd.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Content-Disposition: inline In-Reply-To: <20180924123820.1873-2-christian.koenig-5C7GfCeVMHo@public.gmane.org> List-Id: Discussion list for AMD gfx List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: amd-gfx-bounces-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Sender: "amd-gfx" To: Christian =?iso-8859-1?Q?K=F6nig?= Cc: amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org T24gTW9uLCBTZXAgMjQsIDIwMTggYXQgMDI6Mzg6MTNQTSArMDIwMCwgQ2hyaXN0aWFuIEvDtm5p ZyB3cm90ZToKPiBXZSBhbHdheXMgd2FudCB0aG9zZSB0byBiZSBzZXR1cCBjb3JyZWN0bHkuCj4g Cj4gU2lnbmVkLW9mZi1ieTogQ2hyaXN0aWFuIEvDtm5pZyA8Y2hyaXN0aWFuLmtvZW5pZ0BhbWQu Y29tPgoKUmV2aWV3ZWQtYnk6IEh1YW5nIFJ1aSA8cmF5Lmh1YW5nQGFtZC5jb20+Cgo+IC0tLQo+ ICBkcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9jaWtfaWguYyAgICAgIHwgIDMgKy0tCj4gIGRy aXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2Npa19zZG1hLmMgICAgfCAyMCArKysrKysrKy0tLS0t LS0tLS0tLQo+ICBkcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9jel9paC5jICAgICAgIHwgIDMg Ky0tCj4gIGRyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2RjZV92MTBfMC5jICAgfCAgMyArLS0K PiAgZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvZGNlX3YxMV8wLmMgICB8ICAzICstLQo+ICBk cml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9kY2VfdjZfMC5jICAgIHwgIDMgKy0tCj4gIGRyaXZl cnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2RjZV92OF8wLmMgICAgfCAgMyArLS0KPiAgZHJpdmVycy9n cHUvZHJtL2FtZC9hbWRncHUvZGNlX3ZpcnR1YWwuYyB8ICAzICstLQo+ICBkcml2ZXJzL2dwdS9k cm0vYW1kL2FtZGdwdS9nbWNfdjZfMC5jICAgIHwgIDMgKy0tCj4gIGRyaXZlcnMvZ3B1L2RybS9h bWQvYW1kZ3B1L2dtY192N18wLmMgICAgfCAgMyArLS0KPiAgZHJpdmVycy9ncHUvZHJtL2FtZC9h bWRncHUvZ21jX3Y4XzAuYyAgICB8ICAzICstLQo+ICBkcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdw dS9nbWNfdjlfMC5jICAgIHwgIDMgKy0tCj4gIGRyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2lj ZWxhbmRfaWguYyAgfCAgMyArLS0KPiAgZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvc2RtYV92 Ml80LmMgICB8IDIwICsrKysrKysrLS0tLS0tLS0tLS0tCj4gIGRyaXZlcnMvZ3B1L2RybS9hbWQv YW1kZ3B1L3NkbWFfdjNfMC5jICAgfCAyMCArKysrKysrKy0tLS0tLS0tLS0tLQo+ICBkcml2ZXJz L2dwdS9kcm0vYW1kL2FtZGdwdS9zZG1hX3Y0XzAuYyAgIHwgMjAgKysrKysrKystLS0tLS0tLS0t LS0KPiAgZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvc2lfZG1hLmMgICAgICB8IDIwICsrKysr KysrLS0tLS0tLS0tLS0tCj4gIGRyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L3NpX2loLmMgICAg ICAgfCAgMyArLS0KPiAgZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvdG9uZ2FfaWguYyAgICB8 ICAzICstLQo+ICBkcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS92ZWdhMTBfaWguYyAgIHwgIDMg Ky0tCj4gIDIwIGZpbGVzIGNoYW5nZWQsIDU1IGluc2VydGlvbnMoKyksIDkwIGRlbGV0aW9ucygt KQo+IAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9jaWtfaWguYyBi L2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2Npa19paC5jCj4gaW5kZXggNDRkMTBjMjE3MmY2 Li5lNzUxODNlMDk4MjAgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUv Y2lrX2loLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9jaWtfaWguYwo+IEBA IC00NjgsOCArNDY4LDcgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBhbWRncHVfaWhfZnVuY3MgY2lr X2loX2Z1bmNzID0gewo+ICAKPiAgc3RhdGljIHZvaWQgY2lrX2loX3NldF9pbnRlcnJ1cHRfZnVu Y3Moc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYpCj4gIHsKPiAtCWlmIChhZGV2LT5pcnEuaWhf ZnVuY3MgPT0gTlVMTCkKPiAtCQlhZGV2LT5pcnEuaWhfZnVuY3MgPSAmY2lrX2loX2Z1bmNzOwo+ ICsJYWRldi0+aXJxLmloX2Z1bmNzID0gJmNpa19paF9mdW5jczsKPiAgfQo+ICAKPiAgY29uc3Qg c3RydWN0IGFtZGdwdV9pcF9ibG9ja192ZXJzaW9uIGNpa19paF9pcF9ibG9jayA9Cj4gZGlmZiAt LWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2Npa19zZG1hLmMgYi9kcml2ZXJzL2dw dS9kcm0vYW1kL2FtZGdwdS9jaWtfc2RtYS5jCj4gaW5kZXggMTU0YjE0OTliMDdlLi5lZTlkNWM5 MmVkYjEgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvY2lrX3NkbWEu Ywo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2Npa19zZG1hLmMKPiBAQCAtMTM3 MCwxMCArMTM3MCw4IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgYW1kZ3B1X2J1ZmZlcl9mdW5jcyBj aWtfc2RtYV9idWZmZXJfZnVuY3MgPSB7Cj4gIAo+ICBzdGF0aWMgdm9pZCBjaWtfc2RtYV9zZXRf YnVmZmVyX2Z1bmNzKHN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2KQo+ICB7Cj4gLQlpZiAoYWRl di0+bW1hbi5idWZmZXJfZnVuY3MgPT0gTlVMTCkgewo+IC0JCWFkZXYtPm1tYW4uYnVmZmVyX2Z1 bmNzID0gJmNpa19zZG1hX2J1ZmZlcl9mdW5jczsKPiAtCQlhZGV2LT5tbWFuLmJ1ZmZlcl9mdW5j c19yaW5nID0gJmFkZXYtPnNkbWEuaW5zdGFuY2VbMF0ucmluZzsKPiAtCX0KPiArCWFkZXYtPm1t YW4uYnVmZmVyX2Z1bmNzID0gJmNpa19zZG1hX2J1ZmZlcl9mdW5jczsKPiArCWFkZXYtPm1tYW4u YnVmZmVyX2Z1bmNzX3JpbmcgPSAmYWRldi0+c2RtYS5pbnN0YW5jZVswXS5yaW5nOwo+ICB9Cj4g IAo+ICBzdGF0aWMgY29uc3Qgc3RydWN0IGFtZGdwdV92bV9wdGVfZnVuY3MgY2lrX3NkbWFfdm1f cHRlX2Z1bmNzID0gewo+IEBAIC0xMzg5LDE1ICsxMzg3LDEzIEBAIHN0YXRpYyB2b2lkIGNpa19z ZG1hX3NldF92bV9wdGVfZnVuY3Moc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYpCj4gIAlzdHJ1 Y3QgZHJtX2dwdV9zY2hlZHVsZXIgKnNjaGVkOwo+ICAJdW5zaWduZWQgaTsKPiAgCj4gLQlpZiAo YWRldi0+dm1fbWFuYWdlci52bV9wdGVfZnVuY3MgPT0gTlVMTCkgewo+IC0JCWFkZXYtPnZtX21h bmFnZXIudm1fcHRlX2Z1bmNzID0gJmNpa19zZG1hX3ZtX3B0ZV9mdW5jczsKPiAtCQlmb3IgKGkg PSAwOyBpIDwgYWRldi0+c2RtYS5udW1faW5zdGFuY2VzOyBpKyspIHsKPiAtCQkJc2NoZWQgPSAm YWRldi0+c2RtYS5pbnN0YW5jZVtpXS5yaW5nLnNjaGVkOwo+IC0JCQlhZGV2LT52bV9tYW5hZ2Vy LnZtX3B0ZV9ycXNbaV0gPQo+IC0JCQkJJnNjaGVkLT5zY2hlZF9ycVtEUk1fU0NIRURfUFJJT1JJ VFlfS0VSTkVMXTsKPiAtCQl9Cj4gLQkJYWRldi0+dm1fbWFuYWdlci52bV9wdGVfbnVtX3JxcyA9 IGFkZXYtPnNkbWEubnVtX2luc3RhbmNlczsKPiArCWFkZXYtPnZtX21hbmFnZXIudm1fcHRlX2Z1 bmNzID0gJmNpa19zZG1hX3ZtX3B0ZV9mdW5jczsKPiArCWZvciAoaSA9IDA7IGkgPCBhZGV2LT5z ZG1hLm51bV9pbnN0YW5jZXM7IGkrKykgewo+ICsJCXNjaGVkID0gJmFkZXYtPnNkbWEuaW5zdGFu Y2VbaV0ucmluZy5zY2hlZDsKPiArCQlhZGV2LT52bV9tYW5hZ2VyLnZtX3B0ZV9ycXNbaV0gPQo+ ICsJCQkmc2NoZWQtPnNjaGVkX3JxW0RSTV9TQ0hFRF9QUklPUklUWV9LRVJORUxdOwo+ICAJfQo+ ICsJYWRldi0+dm1fbWFuYWdlci52bV9wdGVfbnVtX3JxcyA9IGFkZXYtPnNkbWEubnVtX2luc3Rh bmNlczsKPiAgfQo+ICAKPiAgY29uc3Qgc3RydWN0IGFtZGdwdV9pcF9ibG9ja192ZXJzaW9uIGNp a19zZG1hX2lwX2Jsb2NrID0KPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRn cHUvY3pfaWguYyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2N6X2loLmMKPiBpbmRleCA5 NjBjMjllMTdkYTYuLjkzODVkYTFlMWU0MCAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0v YW1kL2FtZGdwdS9jel9paC5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvY3pf aWguYwo+IEBAIC00NDksOCArNDQ5LDcgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBhbWRncHVfaWhf ZnVuY3MgY3pfaWhfZnVuY3MgPSB7Cj4gIAo+ICBzdGF0aWMgdm9pZCBjel9paF9zZXRfaW50ZXJy dXB0X2Z1bmNzKHN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2KQo+ICB7Cj4gLQlpZiAoYWRldi0+ aXJxLmloX2Z1bmNzID09IE5VTEwpCj4gLQkJYWRldi0+aXJxLmloX2Z1bmNzID0gJmN6X2loX2Z1 bmNzOwo+ICsJYWRldi0+aXJxLmloX2Z1bmNzID0gJmN6X2loX2Z1bmNzOwo+ICB9Cj4gIAo+ICBj b25zdCBzdHJ1Y3QgYW1kZ3B1X2lwX2Jsb2NrX3ZlcnNpb24gY3pfaWhfaXBfYmxvY2sgPQo+IGRp ZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9kY2VfdjEwXzAuYyBiL2RyaXZl cnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2RjZV92MTBfMC5jCj4gaW5kZXggMzkxNmFhNmNjNGVjLi44 OWMwOWMzOTZmZTYgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvZGNl X3YxMF8wLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9kY2VfdjEwXzAuYwo+ IEBAIC0zNTcwLDggKzM1NzAsNyBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IGFtZGdwdV9kaXNwbGF5 X2Z1bmNzIGRjZV92MTBfMF9kaXNwbGF5X2Z1bmNzID0gewo+ICAKPiAgc3RhdGljIHZvaWQgZGNl X3YxMF8wX3NldF9kaXNwbGF5X2Z1bmNzKHN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2KQo+ICB7 Cj4gLQlpZiAoYWRldi0+bW9kZV9pbmZvLmZ1bmNzID09IE5VTEwpCj4gLQkJYWRldi0+bW9kZV9p bmZvLmZ1bmNzID0gJmRjZV92MTBfMF9kaXNwbGF5X2Z1bmNzOwo+ICsJYWRldi0+bW9kZV9pbmZv LmZ1bmNzID0gJmRjZV92MTBfMF9kaXNwbGF5X2Z1bmNzOwo+ICB9Cj4gIAo+ICBzdGF0aWMgY29u c3Qgc3RydWN0IGFtZGdwdV9pcnFfc3JjX2Z1bmNzIGRjZV92MTBfMF9jcnRjX2lycV9mdW5jcyA9 IHsKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvZGNlX3YxMV8wLmMg Yi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9kY2VfdjExXzAuYwo+IGluZGV4IDRmZmI2MTJh NGU1My4uY2Y2ZmFhYTA1ZGJiIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1k Z3B1L2RjZV92MTFfMC5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvZGNlX3Yx MV8wLmMKPiBAQCAtMzcwMiw4ICszNzAyLDcgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBhbWRncHVf ZGlzcGxheV9mdW5jcyBkY2VfdjExXzBfZGlzcGxheV9mdW5jcyA9IHsKPiAgCj4gIHN0YXRpYyB2 b2lkIGRjZV92MTFfMF9zZXRfZGlzcGxheV9mdW5jcyhzdHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRl dikKPiAgewo+IC0JaWYgKGFkZXYtPm1vZGVfaW5mby5mdW5jcyA9PSBOVUxMKQo+IC0JCWFkZXYt Pm1vZGVfaW5mby5mdW5jcyA9ICZkY2VfdjExXzBfZGlzcGxheV9mdW5jczsKPiArCWFkZXYtPm1v ZGVfaW5mby5mdW5jcyA9ICZkY2VfdjExXzBfZGlzcGxheV9mdW5jczsKPiAgfQo+ICAKPiAgc3Rh dGljIGNvbnN0IHN0cnVjdCBhbWRncHVfaXJxX3NyY19mdW5jcyBkY2VfdjExXzBfY3J0Y19pcnFf ZnVuY3MgPSB7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2RjZV92 Nl8wLmMgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9kY2VfdjZfMC5jCj4gaW5kZXggNDgw YzUzNDhhMTRmLi4zNzFhYTA1YmY1MzcgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2Ft ZC9hbWRncHUvZGNlX3Y2XzAuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2Rj ZV92Nl8wLmMKPiBAQCAtMzM3Niw4ICszMzc2LDcgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBhbWRn cHVfZGlzcGxheV9mdW5jcyBkY2VfdjZfMF9kaXNwbGF5X2Z1bmNzID0gewo+ICAKPiAgc3RhdGlj IHZvaWQgZGNlX3Y2XzBfc2V0X2Rpc3BsYXlfZnVuY3Moc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFk ZXYpCj4gIHsKPiAtCWlmIChhZGV2LT5tb2RlX2luZm8uZnVuY3MgPT0gTlVMTCkKPiAtCQlhZGV2 LT5tb2RlX2luZm8uZnVuY3MgPSAmZGNlX3Y2XzBfZGlzcGxheV9mdW5jczsKPiArCWFkZXYtPm1v ZGVfaW5mby5mdW5jcyA9ICZkY2VfdjZfMF9kaXNwbGF5X2Z1bmNzOwo+ICB9Cj4gIAo+ICBzdGF0 aWMgY29uc3Qgc3RydWN0IGFtZGdwdV9pcnFfc3JjX2Z1bmNzIGRjZV92Nl8wX2NydGNfaXJxX2Z1 bmNzID0gewo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9kY2Vfdjhf MC5jIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvZGNlX3Y4XzAuYwo+IGluZGV4IDc5NzE5 NjQ3NmM5NC4uMzBlNzZmMjQwN2MyIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hbWQv YW1kZ3B1L2RjZV92OF8wLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9kY2Vf djhfMC5jCj4gQEAgLTM0NTgsOCArMzQ1OCw3IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgYW1kZ3B1 X2Rpc3BsYXlfZnVuY3MgZGNlX3Y4XzBfZGlzcGxheV9mdW5jcyA9IHsKPiAgCj4gIHN0YXRpYyB2 b2lkIGRjZV92OF8wX3NldF9kaXNwbGF5X2Z1bmNzKHN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2 KQo+ICB7Cj4gLQlpZiAoYWRldi0+bW9kZV9pbmZvLmZ1bmNzID09IE5VTEwpCj4gLQkJYWRldi0+ bW9kZV9pbmZvLmZ1bmNzID0gJmRjZV92OF8wX2Rpc3BsYXlfZnVuY3M7Cj4gKwlhZGV2LT5tb2Rl X2luZm8uZnVuY3MgPSAmZGNlX3Y4XzBfZGlzcGxheV9mdW5jczsKPiAgfQo+ICAKPiAgc3RhdGlj IGNvbnN0IHN0cnVjdCBhbWRncHVfaXJxX3NyY19mdW5jcyBkY2VfdjhfMF9jcnRjX2lycV9mdW5j cyA9IHsKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvZGNlX3ZpcnR1 YWwuYyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2RjZV92aXJ0dWFsLmMKPiBpbmRleCAx NTI1NzYzNGE1M2EuLjJjYzQ4MGQ2NTM5NCAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0v YW1kL2FtZGdwdS9kY2VfdmlydHVhbC5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRn cHUvZGNlX3ZpcnR1YWwuYwo+IEBAIC02NDksOCArNjQ5LDcgQEAgc3RhdGljIGNvbnN0IHN0cnVj dCBhbWRncHVfZGlzcGxheV9mdW5jcyBkY2VfdmlydHVhbF9kaXNwbGF5X2Z1bmNzID0gewo+ICAK PiAgc3RhdGljIHZvaWQgZGNlX3ZpcnR1YWxfc2V0X2Rpc3BsYXlfZnVuY3Moc3RydWN0IGFtZGdw dV9kZXZpY2UgKmFkZXYpCj4gIHsKPiAtCWlmIChhZGV2LT5tb2RlX2luZm8uZnVuY3MgPT0gTlVM TCkKPiAtCQlhZGV2LT5tb2RlX2luZm8uZnVuY3MgPSAmZGNlX3ZpcnR1YWxfZGlzcGxheV9mdW5j czsKPiArCWFkZXYtPm1vZGVfaW5mby5mdW5jcyA9ICZkY2VfdmlydHVhbF9kaXNwbGF5X2Z1bmNz Owo+ICB9Cj4gIAo+ICBzdGF0aWMgaW50IGRjZV92aXJ0dWFsX3BhZ2VmbGlwKHN0cnVjdCBhbWRn cHVfZGV2aWNlICphZGV2LAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdw dS9nbWNfdjZfMC5jIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvZ21jX3Y2XzAuYwo+IGlu ZGV4IDQ0MTE0NjNjYTcxOS4uM2I4YWM0NDQyZjA2IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1 L2RybS9hbWQvYW1kZ3B1L2dtY192Nl8wLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2Ft ZGdwdS9nbWNfdjZfMC5jCj4gQEAgLTExODAsOCArMTE4MCw3IEBAIHN0YXRpYyBjb25zdCBzdHJ1 Y3QgYW1kZ3B1X2lycV9zcmNfZnVuY3MgZ21jX3Y2XzBfaXJxX2Z1bmNzID0gewo+ICAKPiAgc3Rh dGljIHZvaWQgZ21jX3Y2XzBfc2V0X2dtY19mdW5jcyhzdHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRl dikKPiAgewo+IC0JaWYgKGFkZXYtPmdtYy5nbWNfZnVuY3MgPT0gTlVMTCkKPiAtCQlhZGV2LT5n bWMuZ21jX2Z1bmNzID0gJmdtY192Nl8wX2dtY19mdW5jczsKPiArCWFkZXYtPmdtYy5nbWNfZnVu Y3MgPSAmZ21jX3Y2XzBfZ21jX2Z1bmNzOwo+ICB9Cj4gIAo+ICBzdGF0aWMgdm9pZCBnbWNfdjZf MF9zZXRfaXJxX2Z1bmNzKHN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2KQo+IGRpZmYgLS1naXQg YS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9nbWNfdjdfMC5jIGIvZHJpdmVycy9ncHUvZHJt L2FtZC9hbWRncHUvZ21jX3Y3XzAuYwo+IGluZGV4IGFlNzc2Y2U5YTQxNS4uODk5NjM0Y2U0MjM4 IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2dtY192N18wLmMKPiAr KysgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9nbWNfdjdfMC5jCj4gQEAgLTEzODgsOCAr MTM4OCw3IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgYW1kZ3B1X2lycV9zcmNfZnVuY3MgZ21jX3Y3 XzBfaXJxX2Z1bmNzID0gewo+ICAKPiAgc3RhdGljIHZvaWQgZ21jX3Y3XzBfc2V0X2dtY19mdW5j cyhzdHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRldikKPiAgewo+IC0JaWYgKGFkZXYtPmdtYy5nbWNf ZnVuY3MgPT0gTlVMTCkKPiAtCQlhZGV2LT5nbWMuZ21jX2Z1bmNzID0gJmdtY192N18wX2dtY19m dW5jczsKPiArCWFkZXYtPmdtYy5nbWNfZnVuY3MgPSAmZ21jX3Y3XzBfZ21jX2Z1bmNzOwo+ICB9 Cj4gIAo+ICBzdGF0aWMgdm9pZCBnbWNfdjdfMF9zZXRfaXJxX2Z1bmNzKHN0cnVjdCBhbWRncHVf ZGV2aWNlICphZGV2KQo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9n bWNfdjhfMC5jIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvZ21jX3Y4XzAuYwo+IGluZGV4 IDUzYWU0OWI4YmRlOC4uNzkxNDNjYTdjZmFjIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2Ry bS9hbWQvYW1kZ3B1L2dtY192OF8wLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdw dS9nbWNfdjhfMC5jCj4gQEAgLTE3MzMsOCArMTczMyw3IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3Qg YW1kZ3B1X2lycV9zcmNfZnVuY3MgZ21jX3Y4XzBfaXJxX2Z1bmNzID0gewo+ICAKPiAgc3RhdGlj IHZvaWQgZ21jX3Y4XzBfc2V0X2dtY19mdW5jcyhzdHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRldikK PiAgewo+IC0JaWYgKGFkZXYtPmdtYy5nbWNfZnVuY3MgPT0gTlVMTCkKPiAtCQlhZGV2LT5nbWMu Z21jX2Z1bmNzID0gJmdtY192OF8wX2dtY19mdW5jczsKPiArCWFkZXYtPmdtYy5nbWNfZnVuY3Mg PSAmZ21jX3Y4XzBfZ21jX2Z1bmNzOwo+ICB9Cj4gIAo+ICBzdGF0aWMgdm9pZCBnbWNfdjhfMF9z ZXRfaXJxX2Z1bmNzKHN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2KQo+IGRpZmYgLS1naXQgYS9k cml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9nbWNfdjlfMC5jIGIvZHJpdmVycy9ncHUvZHJtL2Ft ZC9hbWRncHUvZ21jX3Y5XzAuYwo+IGluZGV4IGFhZDNjN2M1ZmIzYS4uZjM1ZDdhNTU0YWQ1IDEw MDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2dtY192OV8wLmMKPiArKysg Yi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9nbWNfdjlfMC5jCj4gQEAgLTU5Myw4ICs1OTMs NyBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IGFtZGdwdV9nbWNfZnVuY3MgZ21jX3Y5XzBfZ21jX2Z1 bmNzID0gewo+ICAKPiAgc3RhdGljIHZvaWQgZ21jX3Y5XzBfc2V0X2dtY19mdW5jcyhzdHJ1Y3Qg YW1kZ3B1X2RldmljZSAqYWRldikKPiAgewo+IC0JaWYgKGFkZXYtPmdtYy5nbWNfZnVuY3MgPT0g TlVMTCkKPiAtCQlhZGV2LT5nbWMuZ21jX2Z1bmNzID0gJmdtY192OV8wX2dtY19mdW5jczsKPiAr CWFkZXYtPmdtYy5nbWNfZnVuY3MgPSAmZ21jX3Y5XzBfZ21jX2Z1bmNzOwo+ICB9Cj4gIAo+ICBz dGF0aWMgaW50IGdtY192OV8wX2Vhcmx5X2luaXQodm9pZCAqaGFuZGxlKQo+IGRpZmYgLS1naXQg YS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9pY2VsYW5kX2loLmMgYi9kcml2ZXJzL2dwdS9k cm0vYW1kL2FtZGdwdS9pY2VsYW5kX2loLmMKPiBpbmRleCA4NDJjNGI2NzdiNGQuLjQ1ZWYwYTgx OGUxMSAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9pY2VsYW5kX2lo LmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9pY2VsYW5kX2loLmMKPiBAQCAt NDQ3LDggKzQ0Nyw3IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgYW1kZ3B1X2loX2Z1bmNzIGljZWxh bmRfaWhfZnVuY3MgPSB7Cj4gIAo+ICBzdGF0aWMgdm9pZCBpY2VsYW5kX2loX3NldF9pbnRlcnJ1 cHRfZnVuY3Moc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYpCj4gIHsKPiAtCWlmIChhZGV2LT5p cnEuaWhfZnVuY3MgPT0gTlVMTCkKPiAtCQlhZGV2LT5pcnEuaWhfZnVuY3MgPSAmaWNlbGFuZF9p aF9mdW5jczsKPiArCWFkZXYtPmlycS5paF9mdW5jcyA9ICZpY2VsYW5kX2loX2Z1bmNzOwo+ICB9 Cj4gIAo+ICBjb25zdCBzdHJ1Y3QgYW1kZ3B1X2lwX2Jsb2NrX3ZlcnNpb24gaWNlbGFuZF9paF9p cF9ibG9jayA9Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L3NkbWFf djJfNC5jIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvc2RtYV92Ml80LmMKPiBpbmRleCBj NDAzYmRmOGFkNzAuLjBjNWE1NzZkZWUxMyAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0v YW1kL2FtZGdwdS9zZG1hX3YyXzQuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1 L3NkbWFfdjJfNC5jCj4gQEAgLTEyOTYsMTAgKzEyOTYsOCBAQCBzdGF0aWMgY29uc3Qgc3RydWN0 IGFtZGdwdV9idWZmZXJfZnVuY3Mgc2RtYV92Ml80X2J1ZmZlcl9mdW5jcyA9IHsKPiAgCj4gIHN0 YXRpYyB2b2lkIHNkbWFfdjJfNF9zZXRfYnVmZmVyX2Z1bmNzKHN0cnVjdCBhbWRncHVfZGV2aWNl ICphZGV2KQo+ICB7Cj4gLQlpZiAoYWRldi0+bW1hbi5idWZmZXJfZnVuY3MgPT0gTlVMTCkgewo+ IC0JCWFkZXYtPm1tYW4uYnVmZmVyX2Z1bmNzID0gJnNkbWFfdjJfNF9idWZmZXJfZnVuY3M7Cj4g LQkJYWRldi0+bW1hbi5idWZmZXJfZnVuY3NfcmluZyA9ICZhZGV2LT5zZG1hLmluc3RhbmNlWzBd LnJpbmc7Cj4gLQl9Cj4gKwlhZGV2LT5tbWFuLmJ1ZmZlcl9mdW5jcyA9ICZzZG1hX3YyXzRfYnVm ZmVyX2Z1bmNzOwo+ICsJYWRldi0+bW1hbi5idWZmZXJfZnVuY3NfcmluZyA9ICZhZGV2LT5zZG1h Lmluc3RhbmNlWzBdLnJpbmc7Cj4gIH0KPiAgCj4gIHN0YXRpYyBjb25zdCBzdHJ1Y3QgYW1kZ3B1 X3ZtX3B0ZV9mdW5jcyBzZG1hX3YyXzRfdm1fcHRlX2Z1bmNzID0gewo+IEBAIC0xMzE1LDE1ICsx MzEzLDEzIEBAIHN0YXRpYyB2b2lkIHNkbWFfdjJfNF9zZXRfdm1fcHRlX2Z1bmNzKHN0cnVjdCBh bWRncHVfZGV2aWNlICphZGV2KQo+ICAJc3RydWN0IGRybV9ncHVfc2NoZWR1bGVyICpzY2hlZDsK PiAgCXVuc2lnbmVkIGk7Cj4gIAo+IC0JaWYgKGFkZXYtPnZtX21hbmFnZXIudm1fcHRlX2Z1bmNz ID09IE5VTEwpIHsKPiAtCQlhZGV2LT52bV9tYW5hZ2VyLnZtX3B0ZV9mdW5jcyA9ICZzZG1hX3Yy XzRfdm1fcHRlX2Z1bmNzOwo+IC0JCWZvciAoaSA9IDA7IGkgPCBhZGV2LT5zZG1hLm51bV9pbnN0 YW5jZXM7IGkrKykgewo+IC0JCQlzY2hlZCA9ICZhZGV2LT5zZG1hLmluc3RhbmNlW2ldLnJpbmcu c2NoZWQ7Cj4gLQkJCWFkZXYtPnZtX21hbmFnZXIudm1fcHRlX3Jxc1tpXSA9Cj4gLQkJCQkmc2No ZWQtPnNjaGVkX3JxW0RSTV9TQ0hFRF9QUklPUklUWV9LRVJORUxdOwo+IC0JCX0KPiAtCQlhZGV2 LT52bV9tYW5hZ2VyLnZtX3B0ZV9udW1fcnFzID0gYWRldi0+c2RtYS5udW1faW5zdGFuY2VzOwo+ ICsJYWRldi0+dm1fbWFuYWdlci52bV9wdGVfZnVuY3MgPSAmc2RtYV92Ml80X3ZtX3B0ZV9mdW5j czsKPiArCWZvciAoaSA9IDA7IGkgPCBhZGV2LT5zZG1hLm51bV9pbnN0YW5jZXM7IGkrKykgewo+ ICsJCXNjaGVkID0gJmFkZXYtPnNkbWEuaW5zdGFuY2VbaV0ucmluZy5zY2hlZDsKPiArCQlhZGV2 LT52bV9tYW5hZ2VyLnZtX3B0ZV9ycXNbaV0gPQo+ICsJCQkmc2NoZWQtPnNjaGVkX3JxW0RSTV9T Q0hFRF9QUklPUklUWV9LRVJORUxdOwo+ICAJfQo+ICsJYWRldi0+dm1fbWFuYWdlci52bV9wdGVf bnVtX3JxcyA9IGFkZXYtPnNkbWEubnVtX2luc3RhbmNlczsKPiAgfQo+ICAKPiAgY29uc3Qgc3Ry dWN0IGFtZGdwdV9pcF9ibG9ja192ZXJzaW9uIHNkbWFfdjJfNF9pcF9ibG9jayA9Cj4gZGlmZiAt LWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L3NkbWFfdjNfMC5jIGIvZHJpdmVycy9n cHUvZHJtL2FtZC9hbWRncHUvc2RtYV92M18wLmMKPiBpbmRleCAyNjc3ZDZhMWJmNDIuLjI1ODdi OGRlOTE4YSAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9zZG1hX3Yz XzAuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L3NkbWFfdjNfMC5jCj4gQEAg LTE3MzYsMTAgKzE3MzYsOCBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IGFtZGdwdV9idWZmZXJfZnVu Y3Mgc2RtYV92M18wX2J1ZmZlcl9mdW5jcyA9IHsKPiAgCj4gIHN0YXRpYyB2b2lkIHNkbWFfdjNf MF9zZXRfYnVmZmVyX2Z1bmNzKHN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2KQo+ICB7Cj4gLQlp ZiAoYWRldi0+bW1hbi5idWZmZXJfZnVuY3MgPT0gTlVMTCkgewo+IC0JCWFkZXYtPm1tYW4uYnVm ZmVyX2Z1bmNzID0gJnNkbWFfdjNfMF9idWZmZXJfZnVuY3M7Cj4gLQkJYWRldi0+bW1hbi5idWZm ZXJfZnVuY3NfcmluZyA9ICZhZGV2LT5zZG1hLmluc3RhbmNlWzBdLnJpbmc7Cj4gLQl9Cj4gKwlh ZGV2LT5tbWFuLmJ1ZmZlcl9mdW5jcyA9ICZzZG1hX3YzXzBfYnVmZmVyX2Z1bmNzOwo+ICsJYWRl di0+bW1hbi5idWZmZXJfZnVuY3NfcmluZyA9ICZhZGV2LT5zZG1hLmluc3RhbmNlWzBdLnJpbmc7 Cj4gIH0KPiAgCj4gIHN0YXRpYyBjb25zdCBzdHJ1Y3QgYW1kZ3B1X3ZtX3B0ZV9mdW5jcyBzZG1h X3YzXzBfdm1fcHRlX2Z1bmNzID0gewo+IEBAIC0xNzU1LDE1ICsxNzUzLDEzIEBAIHN0YXRpYyB2 b2lkIHNkbWFfdjNfMF9zZXRfdm1fcHRlX2Z1bmNzKHN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2 KQo+ICAJc3RydWN0IGRybV9ncHVfc2NoZWR1bGVyICpzY2hlZDsKPiAgCXVuc2lnbmVkIGk7Cj4g IAo+IC0JaWYgKGFkZXYtPnZtX21hbmFnZXIudm1fcHRlX2Z1bmNzID09IE5VTEwpIHsKPiAtCQlh ZGV2LT52bV9tYW5hZ2VyLnZtX3B0ZV9mdW5jcyA9ICZzZG1hX3YzXzBfdm1fcHRlX2Z1bmNzOwo+ IC0JCWZvciAoaSA9IDA7IGkgPCBhZGV2LT5zZG1hLm51bV9pbnN0YW5jZXM7IGkrKykgewo+IC0J CQlzY2hlZCA9ICZhZGV2LT5zZG1hLmluc3RhbmNlW2ldLnJpbmcuc2NoZWQ7Cj4gLQkJCWFkZXYt PnZtX21hbmFnZXIudm1fcHRlX3Jxc1tpXSA9Cj4gLQkJCQkmc2NoZWQtPnNjaGVkX3JxW0RSTV9T Q0hFRF9QUklPUklUWV9LRVJORUxdOwo+IC0JCX0KPiAtCQlhZGV2LT52bV9tYW5hZ2VyLnZtX3B0 ZV9udW1fcnFzID0gYWRldi0+c2RtYS5udW1faW5zdGFuY2VzOwo+ICsJYWRldi0+dm1fbWFuYWdl ci52bV9wdGVfZnVuY3MgPSAmc2RtYV92M18wX3ZtX3B0ZV9mdW5jczsKPiArCWZvciAoaSA9IDA7 IGkgPCBhZGV2LT5zZG1hLm51bV9pbnN0YW5jZXM7IGkrKykgewo+ICsJCXNjaGVkID0gJmFkZXYt PnNkbWEuaW5zdGFuY2VbaV0ucmluZy5zY2hlZDsKPiArCQlhZGV2LT52bV9tYW5hZ2VyLnZtX3B0 ZV9ycXNbaV0gPQo+ICsJCQkmc2NoZWQtPnNjaGVkX3JxW0RSTV9TQ0hFRF9QUklPUklUWV9LRVJO RUxdOwo+ICAJfQo+ICsJYWRldi0+dm1fbWFuYWdlci52bV9wdGVfbnVtX3JxcyA9IGFkZXYtPnNk bWEubnVtX2luc3RhbmNlczsKPiAgfQo+ICAKPiAgY29uc3Qgc3RydWN0IGFtZGdwdV9pcF9ibG9j a192ZXJzaW9uIHNkbWFfdjNfMF9pcF9ibG9jayA9Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1 L2RybS9hbWQvYW1kZ3B1L3NkbWFfdjRfMC5jIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUv c2RtYV92NF8wLmMKPiBpbmRleCA5ZGE0YTFiZmY1YzUuLmEzZTJlZDE1ZmZmMiAxMDA2NDQKPiAt LS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9zZG1hX3Y0XzAuYwo+ICsrKyBiL2RyaXZl cnMvZ3B1L2RybS9hbWQvYW1kZ3B1L3NkbWFfdjRfMC5jCj4gQEAgLTE4MDcsMTAgKzE4MDcsOCBA QCBzdGF0aWMgY29uc3Qgc3RydWN0IGFtZGdwdV9idWZmZXJfZnVuY3Mgc2RtYV92NF8wX2J1ZmZl cl9mdW5jcyA9IHsKPiAgCj4gIHN0YXRpYyB2b2lkIHNkbWFfdjRfMF9zZXRfYnVmZmVyX2Z1bmNz KHN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2KQo+ICB7Cj4gLQlpZiAoYWRldi0+bW1hbi5idWZm ZXJfZnVuY3MgPT0gTlVMTCkgewo+IC0JCWFkZXYtPm1tYW4uYnVmZmVyX2Z1bmNzID0gJnNkbWFf djRfMF9idWZmZXJfZnVuY3M7Cj4gLQkJYWRldi0+bW1hbi5idWZmZXJfZnVuY3NfcmluZyA9ICZh ZGV2LT5zZG1hLmluc3RhbmNlWzBdLnJpbmc7Cj4gLQl9Cj4gKwlhZGV2LT5tbWFuLmJ1ZmZlcl9m dW5jcyA9ICZzZG1hX3Y0XzBfYnVmZmVyX2Z1bmNzOwo+ICsJYWRldi0+bW1hbi5idWZmZXJfZnVu Y3NfcmluZyA9ICZhZGV2LT5zZG1hLmluc3RhbmNlWzBdLnJpbmc7Cj4gIH0KPiAgCj4gIHN0YXRp YyBjb25zdCBzdHJ1Y3QgYW1kZ3B1X3ZtX3B0ZV9mdW5jcyBzZG1hX3Y0XzBfdm1fcHRlX2Z1bmNz ID0gewo+IEBAIC0xODI2LDE1ICsxODI0LDEzIEBAIHN0YXRpYyB2b2lkIHNkbWFfdjRfMF9zZXRf dm1fcHRlX2Z1bmNzKHN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2KQo+ICAJc3RydWN0IGRybV9n cHVfc2NoZWR1bGVyICpzY2hlZDsKPiAgCXVuc2lnbmVkIGk7Cj4gIAo+IC0JaWYgKGFkZXYtPnZt X21hbmFnZXIudm1fcHRlX2Z1bmNzID09IE5VTEwpIHsKPiAtCQlhZGV2LT52bV9tYW5hZ2VyLnZt X3B0ZV9mdW5jcyA9ICZzZG1hX3Y0XzBfdm1fcHRlX2Z1bmNzOwo+IC0JCWZvciAoaSA9IDA7IGkg PCBhZGV2LT5zZG1hLm51bV9pbnN0YW5jZXM7IGkrKykgewo+IC0JCQlzY2hlZCA9ICZhZGV2LT5z ZG1hLmluc3RhbmNlW2ldLnJpbmcuc2NoZWQ7Cj4gLQkJCWFkZXYtPnZtX21hbmFnZXIudm1fcHRl X3Jxc1tpXSA9Cj4gLQkJCQkmc2NoZWQtPnNjaGVkX3JxW0RSTV9TQ0hFRF9QUklPUklUWV9LRVJO RUxdOwo+IC0JCX0KPiAtCQlhZGV2LT52bV9tYW5hZ2VyLnZtX3B0ZV9udW1fcnFzID0gYWRldi0+ c2RtYS5udW1faW5zdGFuY2VzOwo+ICsJYWRldi0+dm1fbWFuYWdlci52bV9wdGVfZnVuY3MgPSAm c2RtYV92NF8wX3ZtX3B0ZV9mdW5jczsKPiArCWZvciAoaSA9IDA7IGkgPCBhZGV2LT5zZG1hLm51 bV9pbnN0YW5jZXM7IGkrKykgewo+ICsJCXNjaGVkID0gJmFkZXYtPnNkbWEuaW5zdGFuY2VbaV0u cmluZy5zY2hlZDsKPiArCQlhZGV2LT52bV9tYW5hZ2VyLnZtX3B0ZV9ycXNbaV0gPQo+ICsJCQkm c2NoZWQtPnNjaGVkX3JxW0RSTV9TQ0hFRF9QUklPUklUWV9LRVJORUxdOwo+ICAJfQo+ICsJYWRl di0+dm1fbWFuYWdlci52bV9wdGVfbnVtX3JxcyA9IGFkZXYtPnNkbWEubnVtX2luc3RhbmNlczsK PiAgfQo+ICAKPiAgY29uc3Qgc3RydWN0IGFtZGdwdV9pcF9ibG9ja192ZXJzaW9uIHNkbWFfdjRf MF9pcF9ibG9jayA9IHsKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUv c2lfZG1hLmMgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9zaV9kbWEuYwo+IGluZGV4IGZh ZmFmMjU5YjE3Yi4uYzM1MTBhNzAzZjlmIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9h bWQvYW1kZ3B1L3NpX2RtYS5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvc2lf ZG1hLmMKPiBAQCAtODYzLDEwICs4NjMsOCBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IGFtZGdwdV9i dWZmZXJfZnVuY3Mgc2lfZG1hX2J1ZmZlcl9mdW5jcyA9IHsKPiAgCj4gIHN0YXRpYyB2b2lkIHNp X2RtYV9zZXRfYnVmZmVyX2Z1bmNzKHN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2KQo+ICB7Cj4g LQlpZiAoYWRldi0+bW1hbi5idWZmZXJfZnVuY3MgPT0gTlVMTCkgewo+IC0JCWFkZXYtPm1tYW4u YnVmZmVyX2Z1bmNzID0gJnNpX2RtYV9idWZmZXJfZnVuY3M7Cj4gLQkJYWRldi0+bW1hbi5idWZm ZXJfZnVuY3NfcmluZyA9ICZhZGV2LT5zZG1hLmluc3RhbmNlWzBdLnJpbmc7Cj4gLQl9Cj4gKwlh ZGV2LT5tbWFuLmJ1ZmZlcl9mdW5jcyA9ICZzaV9kbWFfYnVmZmVyX2Z1bmNzOwo+ICsJYWRldi0+ bW1hbi5idWZmZXJfZnVuY3NfcmluZyA9ICZhZGV2LT5zZG1hLmluc3RhbmNlWzBdLnJpbmc7Cj4g IH0KPiAgCj4gIHN0YXRpYyBjb25zdCBzdHJ1Y3QgYW1kZ3B1X3ZtX3B0ZV9mdW5jcyBzaV9kbWFf dm1fcHRlX2Z1bmNzID0gewo+IEBAIC04ODIsMTUgKzg4MCwxMyBAQCBzdGF0aWMgdm9pZCBzaV9k bWFfc2V0X3ZtX3B0ZV9mdW5jcyhzdHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRldikKPiAgCXN0cnVj dCBkcm1fZ3B1X3NjaGVkdWxlciAqc2NoZWQ7Cj4gIAl1bnNpZ25lZCBpOwo+ICAKPiAtCWlmIChh ZGV2LT52bV9tYW5hZ2VyLnZtX3B0ZV9mdW5jcyA9PSBOVUxMKSB7Cj4gLQkJYWRldi0+dm1fbWFu YWdlci52bV9wdGVfZnVuY3MgPSAmc2lfZG1hX3ZtX3B0ZV9mdW5jczsKPiAtCQlmb3IgKGkgPSAw OyBpIDwgYWRldi0+c2RtYS5udW1faW5zdGFuY2VzOyBpKyspIHsKPiAtCQkJc2NoZWQgPSAmYWRl di0+c2RtYS5pbnN0YW5jZVtpXS5yaW5nLnNjaGVkOwo+IC0JCQlhZGV2LT52bV9tYW5hZ2VyLnZt X3B0ZV9ycXNbaV0gPQo+IC0JCQkJJnNjaGVkLT5zY2hlZF9ycVtEUk1fU0NIRURfUFJJT1JJVFlf S0VSTkVMXTsKPiAtCQl9Cj4gLQkJYWRldi0+dm1fbWFuYWdlci52bV9wdGVfbnVtX3JxcyA9IGFk ZXYtPnNkbWEubnVtX2luc3RhbmNlczsKPiArCWFkZXYtPnZtX21hbmFnZXIudm1fcHRlX2Z1bmNz ID0gJnNpX2RtYV92bV9wdGVfZnVuY3M7Cj4gKwlmb3IgKGkgPSAwOyBpIDwgYWRldi0+c2RtYS5u dW1faW5zdGFuY2VzOyBpKyspIHsKPiArCQlzY2hlZCA9ICZhZGV2LT5zZG1hLmluc3RhbmNlW2ld LnJpbmcuc2NoZWQ7Cj4gKwkJYWRldi0+dm1fbWFuYWdlci52bV9wdGVfcnFzW2ldID0KPiArCQkJ JnNjaGVkLT5zY2hlZF9ycVtEUk1fU0NIRURfUFJJT1JJVFlfS0VSTkVMXTsKPiAgCX0KPiArCWFk ZXYtPnZtX21hbmFnZXIudm1fcHRlX251bV9ycXMgPSBhZGV2LT5zZG1hLm51bV9pbnN0YW5jZXM7 Cj4gIH0KPiAgCj4gIGNvbnN0IHN0cnVjdCBhbWRncHVfaXBfYmxvY2tfdmVyc2lvbiBzaV9kbWFf aXBfYmxvY2sgPQo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9zaV9p aC5jIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvc2lfaWguYwo+IGluZGV4IDYwZGFkNjMw OThhMi4uOTc3MTFkMzI3NTI3IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1k Z3B1L3NpX2loLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9zaV9paC5jCj4g QEAgLTMwOCw4ICszMDgsNyBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IGFtZGdwdV9paF9mdW5jcyBz aV9paF9mdW5jcyA9IHsKPiAgCj4gIHN0YXRpYyB2b2lkIHNpX2loX3NldF9pbnRlcnJ1cHRfZnVu Y3Moc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYpCj4gIHsKPiAtCWlmIChhZGV2LT5pcnEuaWhf ZnVuY3MgPT0gTlVMTCkKPiAtCQlhZGV2LT5pcnEuaWhfZnVuY3MgPSAmc2lfaWhfZnVuY3M7Cj4g KwlhZGV2LT5pcnEuaWhfZnVuY3MgPSAmc2lfaWhfZnVuY3M7Cj4gIH0KPiAgCj4gIGNvbnN0IHN0 cnVjdCBhbWRncHVfaXBfYmxvY2tfdmVyc2lvbiBzaV9paF9pcF9ibG9jayA9Cj4gZGlmZiAtLWdp dCBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L3RvbmdhX2loLmMgYi9kcml2ZXJzL2dwdS9k cm0vYW1kL2FtZGdwdS90b25nYV9paC5jCj4gaW5kZXggNTI4NTNkOGE4ZmRkLi5hNzlhMzc3Njg4 OGEgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvdG9uZ2FfaWguYwo+ ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L3RvbmdhX2loLmMKPiBAQCAtNTEzLDgg KzUxMyw3IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgYW1kZ3B1X2loX2Z1bmNzIHRvbmdhX2loX2Z1 bmNzID0gewo+ICAKPiAgc3RhdGljIHZvaWQgdG9uZ2FfaWhfc2V0X2ludGVycnVwdF9mdW5jcyhz dHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRldikKPiAgewo+IC0JaWYgKGFkZXYtPmlycS5paF9mdW5j cyA9PSBOVUxMKQo+IC0JCWFkZXYtPmlycS5paF9mdW5jcyA9ICZ0b25nYV9paF9mdW5jczsKPiAr CWFkZXYtPmlycS5paF9mdW5jcyA9ICZ0b25nYV9paF9mdW5jczsKPiAgfQo+ICAKPiAgY29uc3Qg c3RydWN0IGFtZGdwdV9pcF9ibG9ja192ZXJzaW9uIHRvbmdhX2loX2lwX2Jsb2NrID0KPiBkaWZm IC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvdmVnYTEwX2loLmMgYi9kcml2ZXJz L2dwdS9kcm0vYW1kL2FtZGdwdS92ZWdhMTBfaWguYwo+IGluZGV4IGFjYmU1YTc3MDIwNy4uMzc0 ODdiNGNiZDZlIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L3ZlZ2Ex MF9paC5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvdmVnYTEwX2loLmMKPiBA QCAtNDk0LDggKzQ5NCw3IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgYW1kZ3B1X2loX2Z1bmNzIHZl Z2ExMF9paF9mdW5jcyA9IHsKPiAgCj4gIHN0YXRpYyB2b2lkIHZlZ2ExMF9paF9zZXRfaW50ZXJy dXB0X2Z1bmNzKHN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2KQo+ICB7Cj4gLQlpZiAoYWRldi0+ aXJxLmloX2Z1bmNzID09IE5VTEwpCj4gLQkJYWRldi0+aXJxLmloX2Z1bmNzID0gJnZlZ2ExMF9p aF9mdW5jczsKPiArCWFkZXYtPmlycS5paF9mdW5jcyA9ICZ2ZWdhMTBfaWhfZnVuY3M7Cj4gIH0K PiAgCj4gIGNvbnN0IHN0cnVjdCBhbWRncHVfaXBfYmxvY2tfdmVyc2lvbiB2ZWdhMTBfaWhfaXBf YmxvY2sgPQo+IC0tIAo+IDIuMTQuMQo+IAo+IF9fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fCj4gYW1kLWdmeCBtYWlsaW5nIGxpc3QKPiBhbWQtZ2Z4QGxpc3Rz LmZyZWVkZXNrdG9wLm9yZwo+IGh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4v bGlzdGluZm8vYW1kLWdmeApfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fXwphbWQtZ2Z4IG1haWxpbmcgbGlzdAphbWQtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9y ZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2FtZC1nZngK