From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Zhang, Jerry (Junwei)" Subject: Re: [PATCH] drm/amdgpu: correctly sign extend 48bit addresses v3 Date: Wed, 29 Aug 2018 10:03:56 +0800 Message-ID: <5B85FF0C.7080308@amd.com> References: <20180828121716.17269-1-christian.koenig@amd.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20180828121716.17269-1-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: =?UTF-8?B?Q2hyaXN0aWFuIEvDtm5pZw==?= , amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org T24gMDgvMjgvMjAxOCAwODoxNyBQTSwgQ2hyaXN0aWFuIEvDtm5pZyB3cm90ZToKPiBDb3JyZWN0 IHNpZ24gZXh0ZW5kIHRoZSBHTUMgYWRkcmVzc2VzIHRvIDQ4Yml0LgoKQ291bGQgeW91IGV4cGxh aW4gYSBiaXQgbW9yZSB3aHkgdG8gZXh0ZW5kIHRoZSBzaWduPwp0aGUgYWRkcmVzcyBpcyB1aW50 NjRfdC4gaXMgaWYgZmFpbGVkIGluIHNvbWUgY2FzZT8KCiA+IC0vKiBWQSBob2xlIGZvciA0OGJp dCBhZGRyZXNzZXMgb24gVmVnYTEwICovCiA+IC0jZGVmaW5lIEFNREdQVV9WQV9IT0xFX1NUQVJU CQkJMHgwMDAwODAwMDAwMDAwMDAwVUxMCiA+IC0jZGVmaW5lIEFNREdQVV9WQV9IT0xFX0VORAkJ CTB4ZmZmZjgwMDAwMDAwMDAwMFVMTAoKQlRXLCB0aGUgaG9sZSBmb3IgNDhiaXQgaXMgYWN0dWFs bHkgNDcgYml0IGxlZnQsIGFueSBiYWNrZ3JvdW5kIGZvciB0aGF0PwoKUmVnYXJkcywKSmVycnkK Cj4KPiB2Mjogc2lnbiBleHRlbmRpbmcgdHVybmVkIG91dCBlYXNpZXIgdGhhbiB0aG91Z2h0Lgo+ IHYzOiBjbGVhbiB1cCB0aGUgZGVmaW5lcyBhbmQgbW92ZSB0aGVtIGludG8gYW1kZ3B1X2dtYy5o IGFzIHdlbGwKPgo+IFNpZ25lZC1vZmYtYnk6IENocmlzdGlhbiBLw7ZuaWcgPGNocmlzdGlhbi5r b2VuaWdAYW1kLmNvbT4KPiAtLS0KPiAgIGRyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdw dV9hbWRrZmQuYyB8ICAyICstCj4gICBkcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVf Y3MuYyAgICAgfCAgMiArLQo+ICAgZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X2dl bS5jICAgIHwgMTAgKysrKy0tLS0tCj4gICBkcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRn cHVfZ21jLmggICAgfCAyNiArKysrKysrKysrKysrKysrKysrKysrCj4gICBkcml2ZXJzL2dwdS9k cm0vYW1kL2FtZGdwdS9hbWRncHVfa21zLmMgICAgfCAgOCArKystLS0tCj4gICBkcml2ZXJzL2dw dS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfb2JqZWN0LmMgfCAgMiArLQo+ICAgZHJpdmVycy9ncHUv ZHJtL2FtZC9hbWRncHUvYW1kZ3B1X3ZpcnQuYyAgIHwgIDYgKystLS0KPiAgIGRyaXZlcnMvZ3B1 L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV92bS5jICAgICB8ICA3ICsrKy0tLQo+ICAgZHJpdmVycy9n cHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X3ZtLmggICAgIHwgMTMgLS0tLS0tLS0tLS0KPiAgIDkg ZmlsZXMgY2hhbmdlZCwgNDQgaW5zZXJ0aW9ucygrKSwgMzIgZGVsZXRpb25zKC0pCj4KPiBkaWZm IC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X2FtZGtmZC5jIGIvZHJp dmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X2FtZGtmZC5jCj4gaW5kZXggOGM2NTJlY2M0 ZjlhLi5iYzVjY2ZjYTY4YzUgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRn cHUvYW1kZ3B1X2FtZGtmZC5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1k Z3B1X2FtZGtmZC5jCj4gQEAgLTEzNSw3ICsxMzUsNyBAQCB2b2lkIGFtZGdwdV9hbWRrZmRfZGV2 aWNlX2luaXQoc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYpCj4gICAJCQkubnVtX3F1ZXVlX3Bl cl9waXBlID0gYWRldi0+Z2Z4Lm1lYy5udW1fcXVldWVfcGVyX3BpcGUsCj4gICAJCQkuZ3B1dm1f c2l6ZSA9IG1pbihhZGV2LT52bV9tYW5hZ2VyLm1heF9wZm4KPiAgIAkJCQkJICA8PCBBTURHUFVf R1BVX1BBR0VfU0hJRlQsCj4gLQkJCQkJICBBTURHUFVfVkFfSE9MRV9TVEFSVCksCj4gKwkJCQkJ ICBBTURHUFVfR01DX0hPTEVfU1RBUlQpLAo+ICAgCQkJLmRybV9yZW5kZXJfbWlub3IgPSBhZGV2 LT5kZGV2LT5yZW5kZXItPmluZGV4Cj4gICAJCX07Cj4KPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9n cHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X2NzLmMgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdw dS9hbWRncHVfY3MuYwo+IGluZGV4IGRkNzM0OTcwZTE2Ny4uZWYyYmZjMDRiNDFjIDEwMDY0NAo+ IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9jcy5jCj4gKysrIGIvZHJp dmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X2NzLmMKPiBAQCAtODM1LDcgKzgzNSw3IEBA IHN0YXRpYyBpbnQgYW1kZ3B1X2NzX3ZtX2hhbmRsaW5nKHN0cnVjdCBhbWRncHVfY3NfcGFyc2Vy ICpwKQo+ICAgCQkJaWYgKGNodW5rLT5jaHVua19pZCAhPSBBTURHUFVfQ0hVTktfSURfSUIpCj4g ICAJCQkJY29udGludWU7Cj4KPiAtCQkJdmFfc3RhcnQgPSBjaHVua19pYi0+dmFfc3RhcnQgJiBB TURHUFVfVkFfSE9MRV9NQVNLOwo+ICsJCQl2YV9zdGFydCA9IGNodW5rX2liLT52YV9zdGFydCAm IEFNREdQVV9HTUNfSE9MRV9NQVNLOwo+ICAgCQkJciA9IGFtZGdwdV9jc19maW5kX21hcHBpbmco cCwgdmFfc3RhcnQsICZhb2JqLCAmbSk7Cj4gICAJCQlpZiAocikgewo+ICAgCQkJCURSTV9FUlJP UigiSUIgdmFfc3RhcnQgaXMgaW52YWxpZFxuIik7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1 L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9nZW0uYyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1 L2FtZGdwdV9nZW0uYwo+IGluZGV4IDcxNzkyZDgyMGFlMC4uZDMwYTA4Mzg4NTFiIDEwMDY0NAo+ IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9nZW0uYwo+ICsrKyBiL2Ry aXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9nZW0uYwo+IEBAIC01NzIsMTYgKzU3Miwx NiBAQCBpbnQgYW1kZ3B1X2dlbV92YV9pb2N0bChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCB2b2lk ICpkYXRhLAo+ICAgCQlyZXR1cm4gLUVJTlZBTDsKPiAgIAl9Cj4KPiAtCWlmIChhcmdzLT52YV9h ZGRyZXNzID49IEFNREdQVV9WQV9IT0xFX1NUQVJUICYmCj4gLQkgICAgYXJncy0+dmFfYWRkcmVz cyA8IEFNREdQVV9WQV9IT0xFX0VORCkgewo+ICsJaWYgKGFyZ3MtPnZhX2FkZHJlc3MgPj0gQU1E R1BVX0dNQ19IT0xFX1NUQVJUICYmCj4gKwkgICAgYXJncy0+dmFfYWRkcmVzcyA8IEFNREdQVV9H TUNfSE9MRV9FTkQpIHsKPiAgIAkJZGV2X2RiZygmZGV2LT5wZGV2LT5kZXYsCj4gICAJCQkidmFf YWRkcmVzcyAweCVMWCBpcyBpbiBWQSBob2xlIDB4JUxYLTB4JUxYXG4iLAo+IC0JCQlhcmdzLT52 YV9hZGRyZXNzLCBBTURHUFVfVkFfSE9MRV9TVEFSVCwKPiAtCQkJQU1ER1BVX1ZBX0hPTEVfRU5E KTsKPiArCQkJYXJncy0+dmFfYWRkcmVzcywgQU1ER1BVX0dNQ19IT0xFX1NUQVJULAo+ICsJCQlB TURHUFVfR01DX0hPTEVfRU5EKTsKPiAgIAkJcmV0dXJuIC1FSU5WQUw7Cj4gICAJfQo+Cj4gLQlh cmdzLT52YV9hZGRyZXNzICY9IEFNREdQVV9WQV9IT0xFX01BU0s7Cj4gKwlhcmdzLT52YV9hZGRy ZXNzICY9IEFNREdQVV9HTUNfSE9MRV9NQVNLOwo+Cj4gICAJaWYgKChhcmdzLT5mbGFncyAmIH52 YWxpZF9mbGFncykgJiYgKGFyZ3MtPmZsYWdzICYgfnBydF9mbGFncykpIHsKPiAgIAkJZGV2X2Ri ZygmZGV2LT5wZGV2LT5kZXYsICJpbnZhbGlkIGZsYWdzIGNvbWJpbmF0aW9uIDB4JTA4WFxuIiwK PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X2dtYy5oIGIv ZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X2dtYy5oCj4gaW5kZXggMGQyYzlmNjVj YTEzLi45ZDljN2E5ZjU0ZTQgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRn cHUvYW1kZ3B1X2dtYy5oCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1 X2dtYy5oCj4gQEAgLTMwLDYgKzMwLDE5IEBACj4KPiAgICNpbmNsdWRlICJhbWRncHVfaXJxLmgi Cj4KPiArLyogVkEgaG9sZSBmb3IgNDhiaXQgYWRkcmVzc2VzIG9uIFZlZ2ExMCAqLwo+ICsjZGVm aW5lIEFNREdQVV9HTUNfSE9MRV9TVEFSVAkweDAwMDA4MDAwMDAwMDAwMDBVTEwKPiArI2RlZmlu ZSBBTURHUFVfR01DX0hPTEVfRU5ECTB4ZmZmZjgwMDAwMDAwMDAwMFVMTAo+ICsKPiArLyoKPiAr ICogSGFyZHdhcmUgaXMgcHJvZ3JhbW1lZCBhcyBpZiB0aGUgaG9sZSBkb2Vzbid0IGV4aXN0cyB3 aXRoIHN0YXJ0IGFuZCBlbmQKPiArICogYWRkcmVzcyB2YWx1ZXMuCj4gKyAqCj4gKyAqIFRoaXMg bWFzayBpcyB1c2VkIHRvIHJlbW92ZSB0aGUgdXBwZXIgMTZiaXRzIG9mIHRoZSBWQSBhbmQgc28g Y29tZSB1cCB3aXRoCj4gKyAqIHRoZSBsaW5lYXIgYWRkciB2YWx1ZS4KPiArICovCj4gKyNkZWZp bmUgQU1ER1BVX0dNQ19IT0xFX01BU0sJMHgwMDAwZmZmZmZmZmZmZmZmVUxMCj4gKwo+ICAgc3Ry dWN0IGZpcm13YXJlOwo+Cj4gICAvKgo+IEBAIC0xMzEsNiArMTQ0LDE5IEBAIHN0YXRpYyBpbmxp bmUgYm9vbCBhbWRncHVfZ21jX3ZyYW1fZnVsbF92aXNpYmxlKHN0cnVjdCBhbWRncHVfZ21jICpn bWMpCj4gICAJcmV0dXJuIChnbWMtPnJlYWxfdnJhbV9zaXplID09IGdtYy0+dmlzaWJsZV92cmFt X3NpemUpOwo+ICAgfQo+Cj4gKy8qKgo+ICsgKiBhbWRncHVfZ21jX3NpZ25fZXh0ZW5kIC0gc2ln biBleHRlbmQgdGhlIGdpdmVuIGdtYyBhZGRyZXNzCj4gKyAqCj4gKyAqIEBhZGRyOiBhZGRyZXNz IHRvIGV4dGVuZAo+ICsgKi8KPiArc3RhdGljIGlubGluZSB1aW50NjRfdCBhbWRncHVfZ21jX3Np Z25fZXh0ZW5kKHVpbnQ2NF90IGFkZHIpCj4gK3sKPiArCWlmIChhZGRyID49IEFNREdQVV9HTUNf SE9MRV9TVEFSVCkKPiArCQlhZGRyIHw9IEFNREdQVV9HTUNfSE9MRV9FTkQ7Cj4gKwo+ICsJcmV0 dXJuIGFkZHI7Cj4gK30KPiArCj4gICB2b2lkIGFtZGdwdV9nbWNfZ2V0X3BkZV9mb3JfYm8oc3Ry dWN0IGFtZGdwdV9ibyAqYm8sIGludCBsZXZlbCwKPiAgIAkJCSAgICAgICB1aW50NjRfdCAqYWRk ciwgdWludDY0X3QgKmZsYWdzKTsKPiAgIHVpbnQ2NF90IGFtZGdwdV9nbWNfcGRfYWRkcihzdHJ1 Y3QgYW1kZ3B1X2JvICpibyk7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1k Z3B1L2FtZGdwdV9rbXMuYyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9rbXMu Ywo+IGluZGV4IDljNGU0NTkzNmFkZS4uMjlhYzM4NzNlZWIwIDEwMDY0NAo+IC0tLSBhL2RyaXZl cnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9rbXMuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2Ry bS9hbWQvYW1kZ3B1L2FtZGdwdV9rbXMuYwo+IEBAIC02NTUsMTEgKzY1NSwxMSBAQCBzdGF0aWMg aW50IGFtZGdwdV9pbmZvX2lvY3RsKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHZvaWQgKmRhdGEs IHN0cnVjdCBkcm1fZmlsZQo+Cj4gICAJCWRldl9pbmZvLnZpcnR1YWxfYWRkcmVzc19vZmZzZXQg PSBBTURHUFVfVkFfUkVTRVJWRURfU0laRTsKPiAgIAkJZGV2X2luZm8udmlydHVhbF9hZGRyZXNz X21heCA9Cj4gLQkJCW1pbih2bV9zaXplLCBBTURHUFVfVkFfSE9MRV9TVEFSVCk7Cj4gKwkJCW1p bih2bV9zaXplLCBBTURHUFVfR01DX0hPTEVfU1RBUlQpOwo+Cj4gLQkJaWYgKHZtX3NpemUgPiBB TURHUFVfVkFfSE9MRV9TVEFSVCkgewo+IC0JCQlkZXZfaW5mby5oaWdoX3ZhX29mZnNldCA9IEFN REdQVV9WQV9IT0xFX0VORDsKPiAtCQkJZGV2X2luZm8uaGlnaF92YV9tYXggPSBBTURHUFVfVkFf SE9MRV9FTkQgfCB2bV9zaXplOwo+ICsJCWlmICh2bV9zaXplID4gQU1ER1BVX0dNQ19IT0xFX1NU QVJUKSB7Cj4gKwkJCWRldl9pbmZvLmhpZ2hfdmFfb2Zmc2V0ID0gQU1ER1BVX0dNQ19IT0xFX0VO RDsKPiArCQkJZGV2X2luZm8uaGlnaF92YV9tYXggPSBBTURHUFVfR01DX0hPTEVfRU5EIHwgdm1f c2l6ZTsKPiAgIAkJfQo+ICAgCQlkZXZfaW5mby52aXJ0dWFsX2FkZHJlc3NfYWxpZ25tZW50ID0g bWF4KChpbnQpUEFHRV9TSVpFLCBBTURHUFVfR1BVX1BBR0VfU0laRSk7Cj4gICAJCWRldl9pbmZv LnB0ZV9mcmFnbWVudF9zaXplID0gKDEgPDwgYWRldi0+dm1fbWFuYWdlci5mcmFnbWVudF9zaXpl KSAqIEFNREdQVV9HUFVfUEFHRV9TSVpFOwo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0v YW1kL2FtZGdwdS9hbWRncHVfb2JqZWN0LmMgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9h bWRncHVfb2JqZWN0LmMKPiBpbmRleCA1ZGRkNGU4NzQ4MGIuLjljM2NjMjM0ODhjMiAxMDA2NDQK PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfb2JqZWN0LmMKPiArKysg Yi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfb2JqZWN0LmMKPiBAQCAtMTM3MCw3 ICsxMzcwLDcgQEAgdTY0IGFtZGdwdV9ib19ncHVfb2Zmc2V0KHN0cnVjdCBhbWRncHVfYm8gKmJv KQo+ICAgCVdBUk5fT05fT05DRShiby0+dGJvLm1lbS5tZW1fdHlwZSA9PSBUVE1fUExfVlJBTSAm Jgo+ICAgCQkgICAgICEoYm8tPmZsYWdzICYgQU1ER1BVX0dFTV9DUkVBVEVfVlJBTV9DT05USUdV T1VTKSk7Cj4KPiAtCXJldHVybiBiby0+dGJvLm9mZnNldDsKPiArCXJldHVybiBhbWRncHVfZ21j X3NpZ25fZXh0ZW5kKGJvLT50Ym8ub2Zmc2V0KTsKPiAgIH0KPgo+ICAgLyoqCj4gZGlmZiAtLWdp dCBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV92aXJ0LmMgYi9kcml2ZXJzL2dw dS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfdmlydC5jCj4gaW5kZXggMzg4NTYzNjU1ODBkLi5mMmYz NThhYTA1OTcgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1 X3ZpcnQuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV92aXJ0LmMK PiBAQCAtMjgsOSArMjgsNyBAQCB1aW50NjRfdCBhbWRncHVfY3NhX3ZhZGRyKHN0cnVjdCBhbWRn cHVfZGV2aWNlICphZGV2KQo+ICAgCXVpbnQ2NF90IGFkZHIgPSBhZGV2LT52bV9tYW5hZ2VyLm1h eF9wZm4gPDwgQU1ER1BVX0dQVV9QQUdFX1NISUZUOwo+Cj4gICAJYWRkciAtPSBBTURHUFVfVkFf UkVTRVJWRURfU0laRTsKPiAtCj4gLQlpZiAoYWRkciA+PSBBTURHUFVfVkFfSE9MRV9TVEFSVCkK PiAtCQlhZGRyIHw9IEFNREdQVV9WQV9IT0xFX0VORDsKPiArCWFkZHIgPSBhbWRncHVfZ21jX3Np Z25fZXh0ZW5kKGFkZHIpOwo+Cj4gICAJcmV0dXJuIGFkZHI7Cj4gICB9Cj4gQEAgLTczLDcgKzcx LDcgQEAgdm9pZCBhbWRncHVfZnJlZV9zdGF0aWNfY3NhKHN0cnVjdCBhbWRncHVfZGV2aWNlICph ZGV2KSB7Cj4gICBpbnQgYW1kZ3B1X21hcF9zdGF0aWNfY3NhKHN0cnVjdCBhbWRncHVfZGV2aWNl ICphZGV2LCBzdHJ1Y3QgYW1kZ3B1X3ZtICp2bSwKPiAgIAkJCSAgc3RydWN0IGFtZGdwdV9ib192 YSAqKmJvX3ZhKQo+ICAgewo+IC0JdWludDY0X3QgY3NhX2FkZHIgPSBhbWRncHVfY3NhX3ZhZGRy KGFkZXYpICYgQU1ER1BVX1ZBX0hPTEVfTUFTSzsKPiArCXVpbnQ2NF90IGNzYV9hZGRyID0gYW1k Z3B1X2NzYV92YWRkcihhZGV2KSAmIEFNREdQVV9HTUNfSE9MRV9NQVNLOwo+ICAgCXN0cnVjdCB3 d19hY3F1aXJlX2N0eCB0aWNrZXQ7Cj4gICAJc3RydWN0IGxpc3RfaGVhZCBsaXN0Owo+ICAgCXN0 cnVjdCBhbWRncHVfYm9fbGlzdF9lbnRyeSBwZDsKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUv ZHJtL2FtZC9hbWRncHUvYW1kZ3B1X3ZtLmMgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9h bWRncHVfdm0uYwo+IGluZGV4IDFmNGI4ZGZjMDQ1Ni4uOGJiYmEwMTI3ZTQyIDEwMDY0NAo+IC0t LSBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV92bS5jCj4gKysrIGIvZHJpdmVy cy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X3ZtLmMKPiBAQCAtMzk5LDcgKzM5OSw3IEBAIHN0 YXRpYyBpbnQgYW1kZ3B1X3ZtX2NsZWFyX2JvKHN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2LAo+ ICAgCQlpZiAobGV2ZWwgPT0gYWRldi0+dm1fbWFuYWdlci5yb290X2xldmVsKSB7Cj4gICAJCQlh dHNfZW50cmllcyA9IGFtZGdwdV92bV9sZXZlbF9zaGlmdChhZGV2LCBsZXZlbCk7Cj4gICAJCQlh dHNfZW50cmllcyArPSBBTURHUFVfR1BVX1BBR0VfU0hJRlQ7Cj4gLQkJCWF0c19lbnRyaWVzID0g QU1ER1BVX1ZBX0hPTEVfU1RBUlQgPj4gYXRzX2VudHJpZXM7Cj4gKwkJCWF0c19lbnRyaWVzID0g QU1ER1BVX0dNQ19IT0xFX1NUQVJUID4+IGF0c19lbnRyaWVzOwo+ICAgCQkJYXRzX2VudHJpZXMg PSBtaW4oYXRzX2VudHJpZXMsIGVudHJpZXMpOwo+ICAgCQkJZW50cmllcyAtPSBhdHNfZW50cmll czsKPiAgIAkJfSBlbHNlIHsKPiBAQCAtNjI5LDcgKzYyOSw3IEBAIGludCBhbWRncHVfdm1fYWxs b2NfcHRzKHN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2LAo+ICAgCWVhZGRyID0gc2FkZHIgKyBz aXplIC0gMTsKPgo+ICAgCWlmICh2bS0+cHRlX3N1cHBvcnRfYXRzKQo+IC0JCWF0cyA9IHNhZGRy IDwgQU1ER1BVX1ZBX0hPTEVfU1RBUlQ7Cj4gKwkJYXRzID0gc2FkZHIgPCBBTURHUFVfR01DX0hP TEVfU1RBUlQ7Cj4KPiAgIAlzYWRkciAvPSBBTURHUFVfR1BVX1BBR0VfU0laRTsKPiAgIAllYWRk ciAvPSBBTURHUFVfR1BVX1BBR0VfU0laRTsKPiBAQCAtMTkzNCw3ICsxOTM0LDggQEAgaW50IGFt ZGdwdV92bV9jbGVhcl9mcmVlZChzdHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRldiwKPiAgIAkJCXN0 cnVjdCBhbWRncHVfYm9fdmFfbWFwcGluZywgbGlzdCk7Cj4gICAJCWxpc3RfZGVsKCZtYXBwaW5n LT5saXN0KTsKPgo+IC0JCWlmICh2bS0+cHRlX3N1cHBvcnRfYXRzICYmIG1hcHBpbmctPnN0YXJ0 IDwgQU1ER1BVX1ZBX0hPTEVfU1RBUlQpCj4gKwkJaWYgKHZtLT5wdGVfc3VwcG9ydF9hdHMgJiYK PiArCQkgICAgbWFwcGluZy0+c3RhcnQgPCBBTURHUFVfR01DX0hPTEVfU1RBUlQpCj4gICAJCQlp bml0X3B0ZV92YWx1ZSA9IEFNREdQVV9QVEVfREVGQVVMVF9BVEM7Cj4KPiAgIAkJciA9IGFtZGdw dV92bV9ib191cGRhdGVfbWFwcGluZyhhZGV2LCBOVUxMLCBOVUxMLCB2bSwKPiBkaWZmIC0tZ2l0 IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X3ZtLmggYi9kcml2ZXJzL2dwdS9k cm0vYW1kL2FtZGdwdS9hbWRncHVfdm0uaAo+IGluZGV4IDk0ZmU0Nzg5MGFkZi4uMmNlNDUyMTk4 MDE3IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV92bS5o Cj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X3ZtLmgKPiBAQCAtMTAx LDE5ICsxMDEsNiBAQCBzdHJ1Y3QgYW1kZ3B1X2JvX2xpc3RfZW50cnk7Cj4gICAvKiBoYXJkY29k ZSB0aGF0IGxpbWl0IGZvciBub3cgKi8KPiAgICNkZWZpbmUgQU1ER1BVX1ZBX1JFU0VSVkVEX1NJ WkUJCQkoMVVMTCA8PCAyMCkKPgo+IC0vKiBWQSBob2xlIGZvciA0OGJpdCBhZGRyZXNzZXMgb24g VmVnYTEwICovCj4gLSNkZWZpbmUgQU1ER1BVX1ZBX0hPTEVfU1RBUlQJCQkweDAwMDA4MDAwMDAw MDAwMDBVTEwKPiAtI2RlZmluZSBBTURHUFVfVkFfSE9MRV9FTkQJCQkweGZmZmY4MDAwMDAwMDAw MDBVTEwKPiAtCj4gLS8qCj4gLSAqIEhhcmR3YXJlIGlzIHByb2dyYW1tZWQgYXMgaWYgdGhlIGhv bGUgZG9lc24ndCBleGlzdHMgd2l0aCBzdGFydCBhbmQgZW5kCj4gLSAqIGFkZHJlc3MgdmFsdWVz Lgo+IC0gKgo+IC0gKiBUaGlzIG1hc2sgaXMgdXNlZCB0byByZW1vdmUgdGhlIHVwcGVyIDE2Yml0 cyBvZiB0aGUgVkEgYW5kIHNvIGNvbWUgdXAgd2l0aAo+IC0gKiB0aGUgbGluZWFyIGFkZHIgdmFs dWUuCj4gLSAqLwo+IC0jZGVmaW5lIEFNREdQVV9WQV9IT0xFX01BU0sJCQkweDAwMDBmZmZmZmZm ZmZmZmZVTEwKPiAtCj4gICAvKiBtYXggdm1pZHMgZGVkaWNhdGVkIGZvciBwcm9jZXNzICovCj4g ICAjZGVmaW5lIEFNREdQVV9WTV9NQVhfUkVTRVJWRURfVk1JRAkxCj4KPgpfX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwphbWQtZ2Z4IG1haWxpbmcgbGlzdAph bWQtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9y Zy9tYWlsbWFuL2xpc3RpbmZvL2FtZC1nZngK