From mboxrd@z Thu Jan 1 00:00:00 1970 From: Daniele Ceraolo Spurio Subject: Re: [PATCH 5/6] drm/i915: Remove inline from sseu helper functions Date: Wed, 1 May 2019 13:04:30 -0700 Message-ID: References: <20190501153450.30494-1-stuart.summers@intel.com> <20190501153450.30494-6-stuart.summers@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: Received: from mga06.intel.com (mga06.intel.com [134.134.136.31]) by gabe.freedesktop.org (Postfix) with ESMTPS id DB0A28929C for ; Wed, 1 May 2019 20:04:20 +0000 (UTC) In-Reply-To: <20190501153450.30494-6-stuart.summers@intel.com> Content-Language: en-US List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Stuart Summers , intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org Q2FuIHlvdSBlbGFib3JhdGUgYSBiaXQgbW9yZSBvbiB3aGF0J3MgdGhlIHJhdGlvbmFsZSBmb3Ig dGhpcz8gZG8geW91IApqdXN0IHdhbnQgdG8gYXZvaWQgaGF2aW5nIHRvbyBtYW55IGlubGluZXMg c2luY2UgdGhlIHBhdGhzIHRoZXkncmUgdXNlZCAKaW4gYXJlIG5vdCBjcml0aWNhbCwgb3IgZG8g eW91IGhhdmUgc29tZSBtb3JlIGZ1bmN0aW9uYWwgcmVhc29uPyBUaGlzIGlzIApub3QgYSBjcml0 aWMgdG8gdGhlIHBhdGNoLCBJIGp1c3Qgd2FudCB0byB1bmRlcnN0YW5kIHdoZXJlIHlvdSdyZSBj b21pbmcgCmZyb20gOykKCkJUVywgbG9va2luZyBhdCB0aGlzIHBhdGNoIEkgcmVhbGl6ZWQgdGhl cmUgYXJlIGEgZmV3IG1vcmUgCkRJVl9ST1VORF9VUCguLi4sIEJJVFNfUEVSX0JZVEUpIHRoYXQg Y291bGQgYmUgY29udmVydGVkIHRvIApHRU5fU1NFVV9TVFJJREUoKSBpbiBwYXRjaCAyLiBJIG5v dGljZWQgeW91IHVwZGF0ZSB0aGVtIHRvIGEgbmV3IAp2YXJpYWJsZSBpbiB0aGUgbmV4dCBwYXRj aCwgYnV0IGZvciBjb25zaXN0ZW5jeSBpdCBtaWdodCBzdGlsbCBiZSB3b3J0aCAKdXBkYXRpbmcg dGhlbSBhbGwgaW4gcGF0Y2ggMiBvciBhdCBsZWFzdCBtZW50aW9uIGluIHRoZSBjb21taXQgbWVz c2FnZSAKb2YgcGF0Y2ggMiB0aGF0IHRoZSByZW1haW5pbmcgY2FzZXMgYXJlIHVwZGF0ZWQgYnkg YSBmb2xsb3ctdXAgcGF0Y2ggaW4gCnRoZSBzZXJpZXMuIFBhdGNoIDIgaXMgcXVpdGUgc21hbGws IHNvIHlvdSBjb3VsZCBhbHNvIGp1c3Qgc3F1YXNoIGl0IAppbnRvIHBhdGNoIDYgdG8gYXZvaWQg dGhlIHNwbGl0LgoKRGFuaWVsZQoKT24gNS8xLzE5IDg6MzQgQU0sIFN0dWFydCBTdW1tZXJzIHdy b3RlOgo+IEFkZGl0aW9uYWxseSwgZW5zdXJlIHRoZXNlIGFyZSBhbGwgcHJlZml4ZWQgd2l0aCBp bnRlbF9zc2V1XyoKPiB0byBtYXRjaCB0aGUgY29udmVudGlvbiBvZiBvdGhlciBmdW5jdGlvbnMg aW4gaTkxNS4KPiAKPiBTaWduZWQtb2ZmLWJ5OiBTdHVhcnQgU3VtbWVycyA8c3R1YXJ0LnN1bW1l cnNAaW50ZWwuY29tPgo+IC0tLQo+ICAgZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvaW50ZWxfc3Nl dS5jICAgICB8IDU0ICsrKysrKysrKysrKysrKysrKysKPiAgIGRyaXZlcnMvZ3B1L2RybS9pOTE1 L2d0L2ludGVsX3NzZXUuaCAgICAgfCA1NyArKystLS0tLS0tLS0tLS0tLS0tLQo+ICAgZHJpdmVy cy9ncHUvZHJtL2k5MTUvaTkxNV9kZWJ1Z2ZzLmMgICAgICB8ICA2ICstLQo+ICAgZHJpdmVycy9n cHUvZHJtL2k5MTUvaTkxNV9kcnYuYyAgICAgICAgICB8ICAyICstCj4gICBkcml2ZXJzL2dwdS9k cm0vaTkxNS9pbnRlbF9kZXZpY2VfaW5mby5jIHwgNjkgKysrKysrKysrKysrLS0tLS0tLS0tLS0t Cj4gICA1IGZpbGVzIGNoYW5nZWQsIDEwMiBpbnNlcnRpb25zKCspLCA4NiBkZWxldGlvbnMoLSkK PiAKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvaW50ZWxfc3NldS5jIGIv ZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvaW50ZWxfc3NldS5jCj4gaW5kZXggN2Y0NDhmM2JlYTBi Li40YTBiODJmYzEwOGMgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvaW50 ZWxfc3NldS5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvaW50ZWxfc3NldS5jCj4g QEAgLTgsNiArOCw2MCBAQAo+ICAgI2luY2x1ZGUgImludGVsX2xyY19yZWcuaCIKPiAgICNpbmNs dWRlICJpbnRlbF9zc2V1LmgiCj4gICAKPiArdW5zaWduZWQgaW50Cj4gK2ludGVsX3NzZXVfc3Vi c2xpY2VfdG90YWwoY29uc3Qgc3RydWN0IHNzZXVfZGV2X2luZm8gKnNzZXUpCj4gK3sKPiArCXVu c2lnbmVkIGludCBpLCB0b3RhbCA9IDA7Cj4gKwo+ICsJZm9yIChpID0gMDsgaSA8IEFSUkFZX1NJ WkUoc3NldS0+c3Vic2xpY2VfbWFzayk7IGkrKykKPiArCQl0b3RhbCArPSBod2VpZ2h0OChzc2V1 LT5zdWJzbGljZV9tYXNrW2ldKTsKPiArCj4gKwlyZXR1cm4gdG90YWw7Cj4gK30KPiArCj4gK3Vu c2lnbmVkIGludAo+ICtpbnRlbF9zc2V1X3N1YnNsaWNlc19wZXJfc2xpY2UoY29uc3Qgc3RydWN0 IHNzZXVfZGV2X2luZm8gKnNzZXUsIHU4IHNsaWNlKQo+ICt7Cj4gKwlyZXR1cm4gaHdlaWdodDgo c3NldS0+c3Vic2xpY2VfbWFza1tzbGljZV0pOwo+ICt9Cj4gKwo+ICtzdGF0aWMgaW50IGludGVs X3NzZXVfZXVfaWR4KGNvbnN0IHN0cnVjdCBzc2V1X2Rldl9pbmZvICpzc2V1LCBpbnQgc2xpY2Us Cj4gKwkJCSAgICAgaW50IHN1YnNsaWNlKQo+ICt7Cj4gKwlpbnQgc3Vic2xpY2Vfc3RyaWRlID0g RElWX1JPVU5EX1VQKHNzZXUtPm1heF9ldXNfcGVyX3N1YnNsaWNlLAo+ICsJCQkJCSAgIEJJVFNf UEVSX0JZVEUpOwo+ICsJaW50IHNsaWNlX3N0cmlkZSA9IHNzZXUtPm1heF9zdWJzbGljZXMgKiBz dWJzbGljZV9zdHJpZGU7Cj4gKwo+ICsJcmV0dXJuIHNsaWNlICogc2xpY2Vfc3RyaWRlICsgc3Vi c2xpY2UgKiBzdWJzbGljZV9zdHJpZGU7Cj4gK30KPiArCj4gK3UxNiBpbnRlbF9zc2V1X2dldF9l dXMoY29uc3Qgc3RydWN0IHNzZXVfZGV2X2luZm8gKnNzZXUsIGludCBzbGljZSwKPiArCQkgICAg ICAgaW50IHN1YnNsaWNlKQo+ICt7Cj4gKwlpbnQgaSwgb2Zmc2V0ID0gaW50ZWxfc3NldV9ldV9p ZHgoc3NldSwgc2xpY2UsIHN1YnNsaWNlKTsKPiArCXUxNiBldV9tYXNrID0gMDsKPiArCj4gKwlm b3IgKGkgPSAwOwo+ICsJICAgICBpIDwgRElWX1JPVU5EX1VQKHNzZXUtPm1heF9ldXNfcGVyX3N1 YnNsaWNlLCBCSVRTX1BFUl9CWVRFKTsgaSsrKSB7Cj4gKwkJZXVfbWFzayB8PSAoKHUxNilzc2V1 LT5ldV9tYXNrW29mZnNldCArIGldKSA8PAo+ICsJCQkoaSAqIEJJVFNfUEVSX0JZVEUpOwo+ICsJ fQo+ICsKPiArCXJldHVybiBldV9tYXNrOwo+ICt9Cj4gKwo+ICt2b2lkIGludGVsX3NzZXVfc2V0 X2V1cyhzdHJ1Y3Qgc3NldV9kZXZfaW5mbyAqc3NldSwgaW50IHNsaWNlLCBpbnQgc3Vic2xpY2Us Cj4gKwkJCXUxNiBldV9tYXNrKQo+ICt7Cj4gKwlpbnQgaSwgb2Zmc2V0ID0gaW50ZWxfc3NldV9l dV9pZHgoc3NldSwgc2xpY2UsIHN1YnNsaWNlKTsKPiArCj4gKwlmb3IgKGkgPSAwOwo+ICsJICAg ICBpIDwgRElWX1JPVU5EX1VQKHNzZXUtPm1heF9ldXNfcGVyX3N1YnNsaWNlLCBCSVRTX1BFUl9C WVRFKTsgaSsrKSB7Cj4gKwkJc3NldS0+ZXVfbWFza1tvZmZzZXQgKyBpXSA9Cj4gKwkJCShldV9t YXNrID4+IChCSVRTX1BFUl9CWVRFICogaSkpICYgMHhmZjsKPiArCX0KPiArfQo+ICsKPiAgIHUz MiBpbnRlbF9zc2V1X21ha2VfcnBjcyhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSwKPiAg IAkJCSBjb25zdCBzdHJ1Y3QgaW50ZWxfc3NldSAqcmVxX3NzZXUpCj4gICB7Cj4gZGlmZiAtLWdp dCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L2ludGVsX3NzZXUuaCBiL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2d0L2ludGVsX3NzZXUuaAo+IGluZGV4IDAyOWU3MWQ4ZjE0MC4uNTZlMzcyMWFlODNm IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L2ludGVsX3NzZXUuaAo+ICsr KyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L2ludGVsX3NzZXUuaAo+IEBAIC02Myw1OCArNjMs MTcgQEAgaW50ZWxfc3NldV9mcm9tX2RldmljZV9pbmZvKGNvbnN0IHN0cnVjdCBzc2V1X2Rldl9p bmZvICpzc2V1KQo+ICAgCXJldHVybiB2YWx1ZTsKPiAgIH0KPiAgIAo+IC1zdGF0aWMgaW5saW5l IHVuc2lnbmVkIGludCBzc2V1X3N1YnNsaWNlX3RvdGFsKGNvbnN0IHN0cnVjdCBzc2V1X2Rldl9p bmZvICpzc2V1KQo+IC17Cj4gLQl1bnNpZ25lZCBpbnQgaSwgdG90YWwgPSAwOwo+IC0KPiAtCWZv ciAoaSA9IDA7IGkgPCBBUlJBWV9TSVpFKHNzZXUtPnN1YnNsaWNlX21hc2spOyBpKyspCj4gLQkJ dG90YWwgKz0gaHdlaWdodDgoc3NldS0+c3Vic2xpY2VfbWFza1tpXSk7Cj4gK3Vuc2lnbmVkIGlu dAo+ICtpbnRlbF9zc2V1X3N1YnNsaWNlX3RvdGFsKGNvbnN0IHN0cnVjdCBzc2V1X2Rldl9pbmZv ICpzc2V1KTsKPiAgIAo+IC0JcmV0dXJuIHRvdGFsOwo+IC19Cj4gK3Vuc2lnbmVkIGludAo+ICtp bnRlbF9zc2V1X3N1YnNsaWNlc19wZXJfc2xpY2UoY29uc3Qgc3RydWN0IHNzZXVfZGV2X2luZm8g KnNzZXUsIHU4IHNsaWNlKTsKPiAgIAo+IC1zdGF0aWMgaW5saW5lIHVuc2lnbmVkIGludAo+IC1z c2V1X3N1YnNsaWNlc19wZXJfc2xpY2UoY29uc3Qgc3RydWN0IHNzZXVfZGV2X2luZm8gKnNzZXUs IHU4IHNsaWNlKQo+IC17Cj4gLQlyZXR1cm4gaHdlaWdodDgoc3NldS0+c3Vic2xpY2VfbWFza1tz bGljZV0pOwo+IC19Cj4gLQo+IC1zdGF0aWMgaW5saW5lIGludCBzc2V1X2V1X2lkeChjb25zdCBz dHJ1Y3Qgc3NldV9kZXZfaW5mbyAqc3NldSwKPiAtCQkJICAgICAgaW50IHNsaWNlLCBpbnQgc3Vi c2xpY2UpCj4gLXsKPiAtCWludCBzdWJzbGljZV9zdHJpZGUgPSBESVZfUk9VTkRfVVAoc3NldS0+ bWF4X2V1c19wZXJfc3Vic2xpY2UsCj4gLQkJCQkJICAgQklUU19QRVJfQllURSk7Cj4gLQlpbnQg c2xpY2Vfc3RyaWRlID0gc3NldS0+bWF4X3N1YnNsaWNlcyAqIHN1YnNsaWNlX3N0cmlkZTsKPiAt Cj4gLQlyZXR1cm4gc2xpY2UgKiBzbGljZV9zdHJpZGUgKyBzdWJzbGljZSAqIHN1YnNsaWNlX3N0 cmlkZTsKPiAtfQo+ICt1MTYgaW50ZWxfc3NldV9nZXRfZXVzKGNvbnN0IHN0cnVjdCBzc2V1X2Rl dl9pbmZvICpzc2V1LCBpbnQgc2xpY2UsCj4gKwkJICAgICAgIGludCBzdWJzbGljZSk7Cj4gICAK PiAtc3RhdGljIGlubGluZSB1MTYgc3NldV9nZXRfZXVzKGNvbnN0IHN0cnVjdCBzc2V1X2Rldl9p bmZvICpzc2V1LAo+IC0JCQkgICAgICAgaW50IHNsaWNlLCBpbnQgc3Vic2xpY2UpCj4gLXsKPiAt CWludCBpLCBvZmZzZXQgPSBzc2V1X2V1X2lkeChzc2V1LCBzbGljZSwgc3Vic2xpY2UpOwo+IC0J dTE2IGV1X21hc2sgPSAwOwo+IC0KPiAtCWZvciAoaSA9IDA7Cj4gLQkgICAgIGkgPCBESVZfUk9V TkRfVVAoc3NldS0+bWF4X2V1c19wZXJfc3Vic2xpY2UsIEJJVFNfUEVSX0JZVEUpOyBpKyspIHsK PiAtCQlldV9tYXNrIHw9ICgodTE2KXNzZXUtPmV1X21hc2tbb2Zmc2V0ICsgaV0pIDw8Cj4gLQkJ CShpICogQklUU19QRVJfQllURSk7Cj4gLQl9Cj4gLQo+IC0JcmV0dXJuIGV1X21hc2s7Cj4gLX0K PiAtCj4gLXN0YXRpYyBpbmxpbmUgdm9pZCBzc2V1X3NldF9ldXMoc3RydWN0IHNzZXVfZGV2X2lu Zm8gKnNzZXUsCj4gLQkJCQlpbnQgc2xpY2UsIGludCBzdWJzbGljZSwgdTE2IGV1X21hc2spCj4g LXsKPiAtCWludCBpLCBvZmZzZXQgPSBzc2V1X2V1X2lkeChzc2V1LCBzbGljZSwgc3Vic2xpY2Up Owo+IC0KPiAtCWZvciAoaSA9IDA7Cj4gLQkgICAgIGkgPCBESVZfUk9VTkRfVVAoc3NldS0+bWF4 X2V1c19wZXJfc3Vic2xpY2UsIEJJVFNfUEVSX0JZVEUpOyBpKyspIHsKPiAtCQlzc2V1LT5ldV9t YXNrW29mZnNldCArIGldID0KPiAtCQkJKGV1X21hc2sgPj4gKEJJVFNfUEVSX0JZVEUgKiBpKSkg JiAweGZmOwo+IC0JfQo+IC19Cj4gK3ZvaWQgaW50ZWxfc3NldV9zZXRfZXVzKHN0cnVjdCBzc2V1 X2Rldl9pbmZvICpzc2V1LCBpbnQgc2xpY2UsIGludCBzdWJzbGljZSwKPiArCQkJdTE2IGV1X21h c2spOwo+ICAgCj4gICB1MzIgaW50ZWxfc3NldV9tYWtlX3JwY3Moc3RydWN0IGRybV9pOTE1X3By aXZhdGUgKmk5MTUsCj4gICAJCQkgY29uc3Qgc3RydWN0IGludGVsX3NzZXUgKnJlcV9zc2V1KTsK PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kZWJ1Z2ZzLmMgYi9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2RlYnVnZnMuYwo+IGluZGV4IGZlODU0YzYyOWEzMi4uM2Yz ZWU4M2FjMzE1IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZGVidWdm cy5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kZWJ1Z2ZzLmMKPiBAQCAtNDE1 OCw3ICs0MTU4LDcgQEAgc3RhdGljIHZvaWQgYnJvYWR3ZWxsX3NzZXVfZGV2aWNlX3N0YXR1cyhz dHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCj4gICAJCQkJUlVOVElNRV9JTkZPKGRl dl9wcml2KS0+c3NldS5zdWJzbGljZV9tYXNrW3NdOwo+ICAgCQl9Cj4gICAJCXNzZXUtPmV1X3Rv dGFsID0gc3NldS0+ZXVfcGVyX3N1YnNsaWNlICoKPiAtCQkJCSBzc2V1X3N1YnNsaWNlX3RvdGFs KHNzZXUpOwo+ICsJCQkJIGludGVsX3NzZXVfc3Vic2xpY2VfdG90YWwoc3NldSk7Cj4gICAKPiAg IAkJLyogc3VidHJhY3QgZnVzZWQgb2ZmIEVVKHMpIGZyb20gZW5hYmxlZCBzbGljZShzKSAqLwo+ ICAgCQlmb3IgKHMgPSAwOyBzIDwgZmxzKHNzZXUtPnNsaWNlX21hc2spOyBzKyspIHsKPiBAQCAt NDE4MiwxMCArNDE4MiwxMCBAQCBzdGF0aWMgdm9pZCBpOTE1X3ByaW50X3NzZXVfaW5mbyhzdHJ1 Y3Qgc2VxX2ZpbGUgKm0sIGJvb2wgaXNfYXZhaWxhYmxlX2luZm8sCj4gICAJc2VxX3ByaW50Ziht LCAiICAlcyBTbGljZSBUb3RhbDogJXVcbiIsIHR5cGUsCj4gICAJCSAgIGh3ZWlnaHQ4KHNzZXUt PnNsaWNlX21hc2spKTsKPiAgIAlzZXFfcHJpbnRmKG0sICIgICVzIFN1YnNsaWNlIFRvdGFsOiAl dVxuIiwgdHlwZSwKPiAtCQkgICBzc2V1X3N1YnNsaWNlX3RvdGFsKHNzZXUpKTsKPiArCQkgICBp bnRlbF9zc2V1X3N1YnNsaWNlX3RvdGFsKHNzZXUpKTsKPiAgIAlmb3IgKHMgPSAwOyBzIDwgZmxz KHNzZXUtPnNsaWNlX21hc2spOyBzKyspIHsKPiAgIAkJc2VxX3ByaW50ZihtLCAiICAlcyBTbGlj ZSVpIHN1YnNsaWNlczogJXVcbiIsIHR5cGUsCj4gLQkJCSAgIHMsIHNzZXVfc3Vic2xpY2VzX3Bl cl9zbGljZShzc2V1LCBzKSk7Cj4gKwkJCSAgIHMsIGludGVsX3NzZXVfc3Vic2xpY2VzX3Blcl9z bGljZShzc2V1LCBzKSk7Cj4gICAJfQo+ICAgCXNlcV9wcmludGYobSwgIiAgJXMgRVUgVG90YWw6 ICV1XG4iLCB0eXBlLAo+ICAgCQkgICBzc2V1LT5ldV90b3RhbCk7Cj4gZGlmZiAtLWdpdCBhL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1 X2Rydi5jCj4gaW5kZXggYzM3NjI0NGMxOWM0Li4xMzBjNTE0MGRiMGQgMTAwNjQ0Cj4gLS0tIGEv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2k5MTVfZHJ2LmMKPiBAQCAtMzc4LDcgKzM3OCw3IEBAIHN0YXRpYyBpbnQgaTkxNV9nZXRw YXJhbV9pb2N0bChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCB2b2lkICpkYXRhLAo+ICAgCQl2YWx1 ZSA9IGk5MTVfY21kX3BhcnNlcl9nZXRfdmVyc2lvbihkZXZfcHJpdik7Cj4gICAJCWJyZWFrOwo+ ICAgCWNhc2UgSTkxNV9QQVJBTV9TVUJTTElDRV9UT1RBTDoKPiAtCQl2YWx1ZSA9IHNzZXVfc3Vi c2xpY2VfdG90YWwoc3NldSk7Cj4gKwkJdmFsdWUgPSBpbnRlbF9zc2V1X3N1YnNsaWNlX3RvdGFs KHNzZXUpOwo+ICAgCQlpZiAoIXZhbHVlKQo+ICAgCQkJcmV0dXJuIC1FTk9ERVY7Cj4gICAJCWJy ZWFrOwo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kZXZpY2VfaW5m by5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGV2aWNlX2luZm8uYwo+IGluZGV4IDU1 OWNmMGQwNjI4ZS4uZTFkYmNjZjA0Y2Q5IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2ludGVsX2RldmljZV9pbmZvLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF9kZXZpY2VfaW5mby5jCj4gQEAgLTkwLDEwICs5MCwxMCBAQCBzdGF0aWMgdm9pZCBzc2V1X2R1 bXAoY29uc3Qgc3RydWN0IHNzZXVfZGV2X2luZm8gKnNzZXUsIHN0cnVjdCBkcm1fcHJpbnRlciAq cCkKPiAgIAo+ICAgCWRybV9wcmludGYocCwgInNsaWNlIHRvdGFsOiAldSwgbWFzaz0lMDR4XG4i LAo+ICAgCQkgICBod2VpZ2h0OChzc2V1LT5zbGljZV9tYXNrKSwgc3NldS0+c2xpY2VfbWFzayk7 Cj4gLQlkcm1fcHJpbnRmKHAsICJzdWJzbGljZSB0b3RhbDogJXVcbiIsIHNzZXVfc3Vic2xpY2Vf dG90YWwoc3NldSkpOwo+ICsJZHJtX3ByaW50ZihwLCAic3Vic2xpY2UgdG90YWw6ICV1XG4iLCBp bnRlbF9zc2V1X3N1YnNsaWNlX3RvdGFsKHNzZXUpKTsKPiAgIAlmb3IgKHMgPSAwOyBzIDwgc3Nl dS0+bWF4X3NsaWNlczsgcysrKSB7Cj4gICAJCWRybV9wcmludGYocCwgInNsaWNlJWQ6ICV1IHN1 YnNsaWNlcywgbWFzaz0lMDR4XG4iLAo+IC0JCQkgICBzLCBzc2V1X3N1YnNsaWNlc19wZXJfc2xp Y2Uoc3NldSwgcyksCj4gKwkJCSAgIHMsIGludGVsX3NzZXVfc3Vic2xpY2VzX3Blcl9zbGljZShz c2V1LCBzKSwKPiAgIAkJCSAgIHNzZXUtPnN1YnNsaWNlX21hc2tbc10pOwo+ICAgCX0KPiAgIAlk cm1fcHJpbnRmKHAsICJFVSB0b3RhbDogJXVcbiIsIHNzZXUtPmV1X3RvdGFsKTsKPiBAQCAtMTI2 LDExICsxMjYsMTEgQEAgdm9pZCBpbnRlbF9kZXZpY2VfaW5mb19kdW1wX3RvcG9sb2d5KGNvbnN0 IHN0cnVjdCBzc2V1X2Rldl9pbmZvICpzc2V1LAo+ICAgCj4gICAJZm9yIChzID0gMDsgcyA8IHNz ZXUtPm1heF9zbGljZXM7IHMrKykgewo+ICAgCQlkcm1fcHJpbnRmKHAsICJzbGljZSVkOiAldSBz dWJzbGljZShzKSAoMHglaGh4KTpcbiIsCj4gLQkJCSAgIHMsIHNzZXVfc3Vic2xpY2VzX3Blcl9z bGljZShzc2V1LCBzKSwKPiArCQkJICAgcywgaW50ZWxfc3NldV9zdWJzbGljZXNfcGVyX3NsaWNl KHNzZXUsIHMpLAo+ICAgCQkJICAgc3NldS0+c3Vic2xpY2VfbWFza1tzXSk7Cj4gICAKPiAgIAkJ Zm9yIChzcyA9IDA7IHNzIDwgc3NldS0+bWF4X3N1YnNsaWNlczsgc3MrKykgewo+IC0JCQl1MTYg ZW5hYmxlZF9ldXMgPSBzc2V1X2dldF9ldXMoc3NldSwgcywgc3MpOwo+ICsJCQl1MTYgZW5hYmxl ZF9ldXMgPSBpbnRlbF9zc2V1X2dldF9ldXMoc3NldSwgcywgc3MpOwo+ICAgCj4gICAJCQlkcm1f cHJpbnRmKHAsICJcdHN1YnNsaWNlJWQ6ICV1IEVVcyAoMHglaHgpXG4iLAo+ICAgCQkJCSAgIHNz LCBod2VpZ2h0MTYoZW5hYmxlZF9ldXMpLCBlbmFibGVkX2V1cyk7Cj4gQEAgLTE4MCw3ICsxODAs NyBAQCBzdGF0aWMgdm9pZCBnZW4xMV9zc2V1X2luZm9faW5pdChzdHJ1Y3QgZHJtX2k5MTVfcHJp dmF0ZSAqZGV2X3ByaXYpCj4gICAJCQlzc2V1LT5zdWJzbGljZV9tYXNrW3NdID0gKHNzX2VuID4+ IHNzX2lkeCkgJiBzc19lbl9tYXNrOwo+ICAgCQkJZm9yIChzcyA9IDA7IHNzIDwgc3NldS0+bWF4 X3N1YnNsaWNlczsgc3MrKykgewo+ICAgCQkJCWlmIChzc2V1LT5zdWJzbGljZV9tYXNrW3NdICYg QklUKHNzKSkKPiAtCQkJCQlzc2V1X3NldF9ldXMoc3NldSwgcywgc3MsIGV1X2VuKTsKPiArCQkJ CQlpbnRlbF9zc2V1X3NldF9ldXMoc3NldSwgcywgc3MsIGV1X2VuKTsKPiAgIAkJCX0KPiAgIAkJ fQo+ICAgCX0KPiBAQCAtMjIyLDMyICsyMjIsMzIgQEAgc3RhdGljIHZvaWQgZ2VuMTBfc3NldV9p bmZvX2luaXQoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQo+ICAgCS8qIFNsaWNl MCAqLwo+ICAgCWV1X2VuID0gfkk5MTVfUkVBRChHRU44X0VVX0RJU0FCTEUwKTsKPiAgIAlmb3Ig KHNzID0gMDsgc3MgPCBzc2V1LT5tYXhfc3Vic2xpY2VzOyBzcysrKQo+IC0JCXNzZXVfc2V0X2V1 cyhzc2V1LCAwLCBzcywgKGV1X2VuID4+ICg4ICogc3MpKSAmIGV1X21hc2spOwo+ICsJCWludGVs X3NzZXVfc2V0X2V1cyhzc2V1LCAwLCBzcywgKGV1X2VuID4+ICg4ICogc3MpKSAmIGV1X21hc2sp Owo+ICAgCS8qIFNsaWNlMSAqLwo+IC0Jc3NldV9zZXRfZXVzKHNzZXUsIDEsIDAsIChldV9lbiA+ PiAyNCkgJiBldV9tYXNrKTsKPiArCWludGVsX3NzZXVfc2V0X2V1cyhzc2V1LCAxLCAwLCAoZXVf ZW4gPj4gMjQpICYgZXVfbWFzayk7Cj4gICAJZXVfZW4gPSB+STkxNV9SRUFEKEdFTjhfRVVfRElT QUJMRTEpOwo+IC0Jc3NldV9zZXRfZXVzKHNzZXUsIDEsIDEsIGV1X2VuICYgZXVfbWFzayk7Cj4g KwlpbnRlbF9zc2V1X3NldF9ldXMoc3NldSwgMSwgMSwgZXVfZW4gJiBldV9tYXNrKTsKPiAgIAkv KiBTbGljZTIgKi8KPiAtCXNzZXVfc2V0X2V1cyhzc2V1LCAyLCAwLCAoZXVfZW4gPj4gOCkgJiBl dV9tYXNrKTsKPiAtCXNzZXVfc2V0X2V1cyhzc2V1LCAyLCAxLCAoZXVfZW4gPj4gMTYpICYgZXVf bWFzayk7Cj4gKwlpbnRlbF9zc2V1X3NldF9ldXMoc3NldSwgMiwgMCwgKGV1X2VuID4+IDgpICYg ZXVfbWFzayk7Cj4gKwlpbnRlbF9zc2V1X3NldF9ldXMoc3NldSwgMiwgMSwgKGV1X2VuID4+IDE2 KSAmIGV1X21hc2spOwo+ICAgCS8qIFNsaWNlMyAqLwo+IC0Jc3NldV9zZXRfZXVzKHNzZXUsIDMs IDAsIChldV9lbiA+PiAyNCkgJiBldV9tYXNrKTsKPiArCWludGVsX3NzZXVfc2V0X2V1cyhzc2V1 LCAzLCAwLCAoZXVfZW4gPj4gMjQpICYgZXVfbWFzayk7Cj4gICAJZXVfZW4gPSB+STkxNV9SRUFE KEdFTjhfRVVfRElTQUJMRTIpOwo+IC0Jc3NldV9zZXRfZXVzKHNzZXUsIDMsIDEsIGV1X2VuICYg ZXVfbWFzayk7Cj4gKwlpbnRlbF9zc2V1X3NldF9ldXMoc3NldSwgMywgMSwgZXVfZW4gJiBldV9t YXNrKTsKPiAgIAkvKiBTbGljZTQgKi8KPiAtCXNzZXVfc2V0X2V1cyhzc2V1LCA0LCAwLCAoZXVf ZW4gPj4gOCkgJiBldV9tYXNrKTsKPiAtCXNzZXVfc2V0X2V1cyhzc2V1LCA0LCAxLCAoZXVfZW4g Pj4gMTYpICYgZXVfbWFzayk7Cj4gKwlpbnRlbF9zc2V1X3NldF9ldXMoc3NldSwgNCwgMCwgKGV1 X2VuID4+IDgpICYgZXVfbWFzayk7Cj4gKwlpbnRlbF9zc2V1X3NldF9ldXMoc3NldSwgNCwgMSwg KGV1X2VuID4+IDE2KSAmIGV1X21hc2spOwo+ICAgCS8qIFNsaWNlNSAqLwo+IC0Jc3NldV9zZXRf ZXVzKHNzZXUsIDUsIDAsIChldV9lbiA+PiAyNCkgJiBldV9tYXNrKTsKPiArCWludGVsX3NzZXVf c2V0X2V1cyhzc2V1LCA1LCAwLCAoZXVfZW4gPj4gMjQpICYgZXVfbWFzayk7Cj4gICAJZXVfZW4g PSB+STkxNV9SRUFEKEdFTjEwX0VVX0RJU0FCTEUzKTsKPiAtCXNzZXVfc2V0X2V1cyhzc2V1LCA1 LCAxLCBldV9lbiAmIGV1X21hc2spOwo+ICsJaW50ZWxfc3NldV9zZXRfZXVzKHNzZXUsIDUsIDEs IGV1X2VuICYgZXVfbWFzayk7Cj4gICAKPiAgIAkvKiBEbyBhIHNlY29uZCBwYXNzIHdoZXJlIHdl IG1hcmsgdGhlIHN1YnNsaWNlcyBkaXNhYmxlZCBpZiBhbGwgdGhlaXIKPiAgIAkgKiBldXMgYXJl IG9mZi4KPiAgIAkgKi8KPiAgIAlmb3IgKHMgPSAwOyBzIDwgc3NldS0+bWF4X3NsaWNlczsgcysr KSB7Cj4gICAJCWZvciAoc3MgPSAwOyBzcyA8IHNzZXUtPm1heF9zdWJzbGljZXM7IHNzKyspIHsK PiAtCQkJaWYgKHNzZXVfZ2V0X2V1cyhzc2V1LCBzLCBzcykgPT0gMCkKPiArCQkJaWYgKGludGVs X3NzZXVfZ2V0X2V1cyhzc2V1LCBzLCBzcykgPT0gMCkKPiAgIAkJCQlzc2V1LT5zdWJzbGljZV9t YXNrW3NdICY9IH5CSVQoc3MpOwo+ICAgCQl9Cj4gICAJfQo+IEBAIC0yNjAsOSArMjYwLDEwIEBA IHN0YXRpYyB2b2lkIGdlbjEwX3NzZXVfaW5mb19pbml0KHN0cnVjdCBkcm1faTkxNV9wcml2YXRl ICpkZXZfcHJpdikKPiAgIAkgKiBFVSBpbiBhbnkgb25lIHN1YnNsaWNlIG1heSBiZSBmdXNlZCBv ZmYgZm9yIGRpZQo+ICAgCSAqIHJlY292ZXJ5Lgo+ICAgCSAqLwo+IC0Jc3NldS0+ZXVfcGVyX3N1 YnNsaWNlID0gc3NldV9zdWJzbGljZV90b3RhbChzc2V1KSA/Cj4gKwlzc2V1LT5ldV9wZXJfc3Vi c2xpY2UgPSBpbnRlbF9zc2V1X3N1YnNsaWNlX3RvdGFsKHNzZXUpID8KPiAgIAkJCQlESVZfUk9V TkRfVVAoc3NldS0+ZXVfdG90YWwsCj4gLQkJCQkJICAgICBzc2V1X3N1YnNsaWNlX3RvdGFsKHNz ZXUpKSA6IDA7Cj4gKwkJCQkJICAgICBpbnRlbF9zc2V1X3N1YnNsaWNlX3RvdGFsKHNzZXUpKSA6 Cj4gKwkJCQkwOwo+ICAgCj4gICAJLyogTm8gcmVzdHJpY3Rpb25zIG9uIFBvd2VyIEdhdGluZyAq Lwo+ICAgCXNzZXUtPmhhc19zbGljZV9wZyA9IDE7Cj4gQEAgLTI5MCw3ICsyOTEsNyBAQCBzdGF0 aWMgdm9pZCBjaGVycnl2aWV3X3NzZXVfaW5mb19pbml0KHN0cnVjdCBkcm1faTkxNV9wcml2YXRl ICpkZXZfcHJpdikKPiAgIAkJCSAgQ0hWX0ZHVF9FVV9ESVNfU1MwX1IxX1NISUZUKSA8PCA0KTsK PiAgIAo+ICAgCQlzc2V1LT5zdWJzbGljZV9tYXNrWzBdIHw9IEJJVCgwKTsKPiAtCQlzc2V1X3Nl dF9ldXMoc3NldSwgMCwgMCwgfmRpc2FibGVkX21hc2spOwo+ICsJCWludGVsX3NzZXVfc2V0X2V1 cyhzc2V1LCAwLCAwLCB+ZGlzYWJsZWRfbWFzayk7Cj4gICAJfQo+ICAgCj4gICAJaWYgKCEoZnVz ZSAmIENIVl9GR1RfRElTQUJMRV9TUzEpKSB7Cj4gQEAgLTMwMSw3ICszMDIsNyBAQCBzdGF0aWMg dm9pZCBjaGVycnl2aWV3X3NzZXVfaW5mb19pbml0KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpk ZXZfcHJpdikKPiAgIAkJCSAgQ0hWX0ZHVF9FVV9ESVNfU1MxX1IxX1NISUZUKSA8PCA0KTsKPiAg IAo+ICAgCQlzc2V1LT5zdWJzbGljZV9tYXNrWzBdIHw9IEJJVCgxKTsKPiAtCQlzc2V1X3NldF9l dXMoc3NldSwgMCwgMSwgfmRpc2FibGVkX21hc2spOwo+ICsJCWludGVsX3NzZXVfc2V0X2V1cyhz c2V1LCAwLCAxLCB+ZGlzYWJsZWRfbWFzayk7Cj4gICAJfQo+ICAgCj4gICAJc3NldS0+ZXVfdG90 YWwgPSBjb21wdXRlX2V1X3RvdGFsKHNzZXUpOwo+IEBAIC0zMTAsOCArMzExLDggQEAgc3RhdGlj IHZvaWQgY2hlcnJ5dmlld19zc2V1X2luZm9faW5pdChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAq ZGV2X3ByaXYpCj4gICAJICogQ0hWIGV4cGVjdGVkIHRvIGFsd2F5cyBoYXZlIGEgdW5pZm9ybSBk aXN0cmlidXRpb24gb2YgRVUKPiAgIAkgKiBhY3Jvc3Mgc3Vic2xpY2VzLgo+ICAgCSovCj4gLQlz c2V1LT5ldV9wZXJfc3Vic2xpY2UgPSBzc2V1X3N1YnNsaWNlX3RvdGFsKHNzZXUpID8KPiAtCQkJ CXNzZXUtPmV1X3RvdGFsIC8gc3NldV9zdWJzbGljZV90b3RhbChzc2V1KSA6Cj4gKwlzc2V1LT5l dV9wZXJfc3Vic2xpY2UgPSBpbnRlbF9zc2V1X3N1YnNsaWNlX3RvdGFsKHNzZXUpID8KPiArCQkJ CXNzZXUtPmV1X3RvdGFsIC8gaW50ZWxfc3NldV9zdWJzbGljZV90b3RhbChzc2V1KSA6Cj4gICAJ CQkJMDsKPiAgIAkvKgo+ICAgCSAqIENIViBzdXBwb3J0cyBzdWJzbGljZSBwb3dlciBnYXRpbmcg b24gZGV2aWNlcyB3aXRoIG1vcmUgdGhhbgo+IEBAIC0zMTksNyArMzIwLDcgQEAgc3RhdGljIHZv aWQgY2hlcnJ5dmlld19zc2V1X2luZm9faW5pdChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2 X3ByaXYpCj4gICAJICogbW9yZSB0aGFuIG9uZSBFVSBwYWlyIHBlciBzdWJzbGljZS4KPiAgIAkq Lwo+ICAgCXNzZXUtPmhhc19zbGljZV9wZyA9IDA7Cj4gLQlzc2V1LT5oYXNfc3Vic2xpY2VfcGcg PSBzc2V1X3N1YnNsaWNlX3RvdGFsKHNzZXUpID4gMTsKPiArCXNzZXUtPmhhc19zdWJzbGljZV9w ZyA9IGludGVsX3NzZXVfc3Vic2xpY2VfdG90YWwoc3NldSkgPiAxOwo+ICAgCXNzZXUtPmhhc19l dV9wZyA9IChzc2V1LT5ldV9wZXJfc3Vic2xpY2UgPiAyKTsKPiAgIH0KPiAgIAo+IEBAIC0zNjks NyArMzcwLDcgQEAgc3RhdGljIHZvaWQgZ2VuOV9zc2V1X2luZm9faW5pdChzdHJ1Y3QgZHJtX2k5 MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCj4gICAKPiAgIAkJCWV1X2Rpc2FibGVkX21hc2sgPSAoZXVf ZGlzYWJsZSA+PiAoc3MgKiA4KSkgJiBldV9tYXNrOwo+ICAgCj4gLQkJCXNzZXVfc2V0X2V1cyhz c2V1LCBzLCBzcywgfmV1X2Rpc2FibGVkX21hc2spOwo+ICsJCQlpbnRlbF9zc2V1X3NldF9ldXMo c3NldSwgcywgc3MsIH5ldV9kaXNhYmxlZF9tYXNrKTsKPiAgIAo+ICAgCQkJZXVfcGVyX3NzID0g c3NldS0+bWF4X2V1c19wZXJfc3Vic2xpY2UgLQo+ICAgCQkJCWh3ZWlnaHQ4KGV1X2Rpc2FibGVk X21hc2spOwo+IEBAIC0zOTMsOSArMzk0LDEwIEBAIHN0YXRpYyB2b2lkIGdlbjlfc3NldV9pbmZv X2luaXQoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQo+ICAgCSAqIHJlY292ZXJ5 LiBCWFQgaXMgZXhwZWN0ZWQgdG8gYmUgcGVyZmVjdGx5IHVuaWZvcm0gaW4gRVUKPiAgIAkgKiBk aXN0cmlidXRpb24uCj4gICAJKi8KPiAtCXNzZXUtPmV1X3Blcl9zdWJzbGljZSA9IHNzZXVfc3Vi c2xpY2VfdG90YWwoc3NldSkgPwo+ICsJc3NldS0+ZXVfcGVyX3N1YnNsaWNlID0gaW50ZWxfc3Nl dV9zdWJzbGljZV90b3RhbChzc2V1KSA/Cj4gICAJCQkJRElWX1JPVU5EX1VQKHNzZXUtPmV1X3Rv dGFsLAo+IC0JCQkJCSAgICAgc3NldV9zdWJzbGljZV90b3RhbChzc2V1KSkgOiAwOwo+ICsJCQkJ CSAgICAgaW50ZWxfc3NldV9zdWJzbGljZV90b3RhbChzc2V1KSkgOgo+ICsJCQkJMDsKPiAgIAkv Kgo+ICAgCSAqIFNLTCsgc3VwcG9ydHMgc2xpY2UgcG93ZXIgZ2F0aW5nIG9uIGRldmljZXMgd2l0 aCBtb3JlIHRoYW4KPiAgIAkgKiBvbmUgc2xpY2UsIGFuZCBzdXBwb3J0cyBFVSBwb3dlciBnYXRp bmcgb24gZGV2aWNlcyB3aXRoCj4gQEAgLTQwNyw3ICs0MDksNyBAQCBzdGF0aWMgdm9pZCBnZW45 X3NzZXVfaW5mb19pbml0KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKPiAgIAlz c2V1LT5oYXNfc2xpY2VfcGcgPQo+ICAgCQkhSVNfR0VOOV9MUChkZXZfcHJpdikgJiYgaHdlaWdo dDgoc3NldS0+c2xpY2VfbWFzaykgPiAxOwo+ICAgCXNzZXUtPmhhc19zdWJzbGljZV9wZyA9Cj4g LQkJSVNfR0VOOV9MUChkZXZfcHJpdikgJiYgc3NldV9zdWJzbGljZV90b3RhbChzc2V1KSA+IDE7 Cj4gKwkJSVNfR0VOOV9MUChkZXZfcHJpdikgJiYgaW50ZWxfc3NldV9zdWJzbGljZV90b3RhbChz c2V1KSA+IDE7Cj4gICAJc3NldS0+aGFzX2V1X3BnID0gc3NldS0+ZXVfcGVyX3N1YnNsaWNlID4g MjsKPiAgIAo+ICAgCWlmIChJU19HRU45X0xQKGRldl9wcml2KSkgewo+IEBAIC00NzcsNyArNDc5 LDcgQEAgc3RhdGljIHZvaWQgYnJvYWR3ZWxsX3NzZXVfaW5mb19pbml0KHN0cnVjdCBkcm1faTkx NV9wcml2YXRlICpkZXZfcHJpdikKPiAgIAkJCWV1X2Rpc2FibGVkX21hc2sgPQo+ICAgCQkJCWV1 X2Rpc2FibGVbc10gPj4gKHNzICogc3NldS0+bWF4X2V1c19wZXJfc3Vic2xpY2UpOwo+ICAgCj4g LQkJCXNzZXVfc2V0X2V1cyhzc2V1LCBzLCBzcywgfmV1X2Rpc2FibGVkX21hc2spOwo+ICsJCQlp bnRlbF9zc2V1X3NldF9ldXMoc3NldSwgcywgc3MsIH5ldV9kaXNhYmxlZF9tYXNrKTsKPiAgIAo+ ICAgCQkJbl9kaXNhYmxlZCA9IGh3ZWlnaHQ4KGV1X2Rpc2FibGVkX21hc2spOwo+ICAgCj4gQEAg LTQ5Niw5ICs0OTgsMTAgQEAgc3RhdGljIHZvaWQgYnJvYWR3ZWxsX3NzZXVfaW5mb19pbml0KHN0 cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKPiAgIAkgKiBzdWJzbGljZXMgd2l0aCB0 aGUgZXhjZXB0aW9uIHRoYXQgYW55IG9uZSBFVSBpbiBhbnkgb25lIHN1YnNsaWNlIG1heQo+ICAg CSAqIGJlIGZ1c2VkIG9mZiBmb3IgZGllIHJlY292ZXJ5Lgo+ICAgCSAqLwo+IC0Jc3NldS0+ZXVf cGVyX3N1YnNsaWNlID0gc3NldV9zdWJzbGljZV90b3RhbChzc2V1KSA/Cj4gKwlzc2V1LT5ldV9w ZXJfc3Vic2xpY2UgPSBpbnRlbF9zc2V1X3N1YnNsaWNlX3RvdGFsKHNzZXUpID8KPiAgIAkJCQlE SVZfUk9VTkRfVVAoc3NldS0+ZXVfdG90YWwsCj4gLQkJCQkJICAgICBzc2V1X3N1YnNsaWNlX3Rv dGFsKHNzZXUpKSA6IDA7Cj4gKwkJCQkJICAgICBpbnRlbF9zc2V1X3N1YnNsaWNlX3RvdGFsKHNz ZXUpKSA6Cj4gKwkJCQkwOwo+ICAgCj4gICAJLyoKPiAgIAkgKiBCRFcgc3VwcG9ydHMgc2xpY2Ug cG93ZXIgZ2F0aW5nIG9uIGRldmljZXMgd2l0aCBtb3JlIHRoYW4KPiBAQCAtNTYxLDggKzU2NCw4 IEBAIHN0YXRpYyB2b2lkIGhhc3dlbGxfc3NldV9pbmZvX2luaXQoc3RydWN0IGRybV9pOTE1X3By aXZhdGUgKmRldl9wcml2KQo+ICAgCj4gICAJZm9yIChzID0gMDsgcyA8IHNzZXUtPm1heF9zbGlj ZXM7IHMrKykgewo+ICAgCQlmb3IgKHNzID0gMDsgc3MgPCBzc2V1LT5tYXhfc3Vic2xpY2VzOyBz cysrKSB7Cj4gLQkJCXNzZXVfc2V0X2V1cyhzc2V1LCBzLCBzcywKPiAtCQkJCSAgICAgKDFVTCA8 PCBzc2V1LT5ldV9wZXJfc3Vic2xpY2UpIC0gMSk7Cj4gKwkJCWludGVsX3NzZXVfc2V0X2V1cyhz c2V1LCBzLCBzcywKPiArCQkJCQkgICAoMVVMIDw8IHNzZXUtPmV1X3Blcl9zdWJzbGljZSkgLSAx KTsKPiAgIAkJfQo+ICAgCX0KPiAgIAo+IApfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5m cmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0 aW5mby9pbnRlbC1nZng=