From mboxrd@z Thu Jan 1 00:00:00 1970 From: zhoucm1 Subject: Re: [PATCH 18/22] drm/amdgpu: add flag for high priority contexts v4 Date: Wed, 1 Mar 2017 14:52:40 +0800 Message-ID: <58B66FB8.8050300@amd.com> References: <1488320089-22035-1-git-send-email-andresx7@gmail.com> <1488320089-22035-19-git-send-email-andresx7@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1488320089-22035-19-git-send-email-andresx7-Re5JQEeQqe8AvxtiuMwx3w@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: Andres Rodriguez , amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org CgpPbiAyMDE35bm0MDPmnIgwMeaXpSAwNjoxNCwgQW5kcmVzIFJvZHJpZ3VleiB3cm90ZToKPiBB ZGQgYSBuZXcgY29udGV4dCBjcmVhdGlvbiBwYXJhbWV0ZXIgdG8gZXhwcmVzcyBhIGdsb2JhbCBj b250ZXh0IHByaW9yaXR5Lgo+Cj4gQ29udGV4dHMgYWxsb2NhdGVkIHdpdGggQU1ER1BVX0NUWF9Q UklPUklUWV9ISUdIIHdpbGwgcmVjZWl2ZSBoaWdoZXIKPiBwcmlvcml0eSB0byBzY2hlZHVsZXIg dGhlaXIgd29yayB0aGFuIEFNREdQVV9DVFhfUFJJT1JJVFlfTk9STUFMCj4gKGRlZmF1bHQpIGNv bnRleHRzLgo+Cj4gdjI6IEluc3RlYWQgb2YgdXNpbmcgZmxhZ3MsIHJlcHVycG9zZSBfX3BhZAo+ IHYzOiBTd2FwIGVudW0gdmFsdWVzIG9mIF9OT1JNQUwgX0hJR0ggZm9yIGJhY2t3YXJkcyBjb21w YXRpYmlsaXR5Cj4gdjQ6IFZhbGlkYXRlIHVzZXJtb2RlIHByaW9yaXR5IGFuZCBzdG9yZSBpdAo+ Cj4gU2lnbmVkLW9mZi1ieTogQW5kcmVzIFJvZHJpZ3VleiA8YW5kcmVzeDdAZ21haWwuY29tPgo+ IC0tLQo+ICAgZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1LmggICAgICAgICAgIHwg IDEgKwo+ICAgZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X2N0eC5jICAgICAgIHwg NDEgKysrKysrKysrKysrKysrKysrKysrKystLS0tCj4gICBkcml2ZXJzL2dwdS9kcm0vYW1kL3Nj aGVkdWxlci9ncHVfc2NoZWR1bGVyLmggfCAgMSArCj4gICBpbmNsdWRlL3VhcGkvZHJtL2FtZGdw dV9kcm0uaCAgICAgICAgICAgICAgICAgfCAgNyArKysrLQo+ICAgNCBmaWxlcyBjaGFuZ2VkLCA0 NCBpbnNlcnRpb25zKCspLCA2IGRlbGV0aW9ucygtKQo+Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMv Z3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdS5oIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUv YW1kZ3B1LmgKPiBpbmRleCBlMzBjNDdlLi4zNjZmNmQzIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMv Z3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdS5oCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9h bWRncHUvYW1kZ3B1LmgKPiBAQCAtNjY0LDIwICs2NjQsMjEgQEAgc3RydWN0IGFtZGdwdV9jdHhf cmluZyB7Cj4gICAJc3RydWN0IGFtZF9zY2hlZF9lbnRpdHkJZW50aXR5Owo+ICAgfTsKPiAgIAo+ ICAgc3RydWN0IGFtZGdwdV9jdHggewo+ICAgCXN0cnVjdCBrcmVmCQlyZWZjb3VudDsKPiAgIAlz dHJ1Y3QgYW1kZ3B1X2RldmljZSAgICAqYWRldjsKPiAgIAl1bnNpZ25lZAkJcmVzZXRfY291bnRl cjsKPiAgIAlzcGlubG9ja190CQlyaW5nX2xvY2s7Cj4gICAJc3RydWN0IGRtYV9mZW5jZQkqKmZl bmNlczsKPiAgIAlzdHJ1Y3QgYW1kZ3B1X2N0eF9yaW5nCXJpbmdzW0FNREdQVV9NQVhfUklOR1Nd Owo+ICsJaW50CQkJcHJpb3JpdHk7Cj4gICAJYm9vbCBwcmVhbWJsZV9wcmVzZW50ZWQ7Cj4gICB9 Owo+ICAgCj4gICBzdHJ1Y3QgYW1kZ3B1X2N0eF9tZ3Igewo+ICAgCXN0cnVjdCBhbWRncHVfZGV2 aWNlCSphZGV2Owo+ICAgCXN0cnVjdCBtdXRleAkJbG9jazsKPiAgIAkvKiBwcm90ZWN0ZWQgYnkg bG9jayAqLwo+ICAgCXN0cnVjdCBpZHIJCWN0eF9oYW5kbGVzOwo+ICAgfTsKPiAgIAo+IGRpZmYg LS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfY3R4LmMgYi9kcml2ZXJz L2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfY3R4LmMKPiBpbmRleCA0MDBjNjZiLi4yMmExNWQ2 IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9jdHguYwo+ ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9jdHguYwo+IEBAIC0xOCw0 NyArMTgsNzUgQEAKPiAgICAqIE9USEVSIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04g T0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLAo+ICAgICogQVJJU0lORyBGUk9NLCBPVVQg T0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SCj4gICAg KiBPVEhFUiBERUFMSU5HUyBJTiBUSEUgU09GVFdBUkUuCj4gICAgKgo+ICAgICogQXV0aG9yczog bW9uayBsaXUgPG1vbmsubGl1QGFtZC5jb20+Cj4gICAgKi8KPiAgIAo+ICAgI2luY2x1ZGUgPGRy bS9kcm1QLmg+Cj4gICAjaW5jbHVkZSAiYW1kZ3B1LmgiCj4gICAKPiAtc3RhdGljIGludCBhbWRn cHVfY3R4X2luaXQoc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYsIHN0cnVjdCBhbWRncHVfY3R4 ICpjdHgpCj4gK3N0YXRpYyBlbnVtIGFtZF9zY2hlZF9wcmlvcml0eSBhbWRncHVfdG9fc2NoZWRf cHJpb3JpdHkoaW50IGFtZGdwdV9wcmlvcml0eSkKPiArewo+ICsJc3dpdGNoIChhbWRncHVfcHJp b3JpdHkpIHsKPiArCWNhc2UgQU1ER1BVX0NUWF9QUklPUklUWV9ISUdIOgo+ICsJCXJldHVybiBB TURfU0NIRURfUFJJT1JJVFlfSElHSDsKPiArCWNhc2UgQU1ER1BVX0NUWF9QUklPUklUWV9OT1JN QUw6Cj4gKwkJcmV0dXJuIEFNRF9TQ0hFRF9QUklPUklUWV9OT1JNQUw7Cj4gKwlkZWZhdWx0Ogo+ ICsJCVdBUk4oMSwgIkludmFsaWQgY29udGV4dCBwcmlvcml0eSAlZFxuIiwgYW1kZ3B1X3ByaW9y aXR5KTsKPiArCQlyZXR1cm4gQU1EX1NDSEVEX1BSSU9SSVRZX05PUk1BTDsKPiArCX0KPiArfQo+ ICsKPiArc3RhdGljIGludCBhbWRncHVfY3R4X2luaXQoc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFk ZXYsCj4gKwkJCQl1aW50MzJfdCBwcmlvcml0eSwKPiArCQkJCXN0cnVjdCBhbWRncHVfY3R4ICpj dHgpCj4gICB7Cj4gICAJdW5zaWduZWQgaSwgajsKPiAgIAlpbnQgcjsKPiArCWVudW0gYW1kX3Nj aGVkX3ByaW9yaXR5IHNjaGVkX3ByaW9yaXR5Owo+ICsKPiArCXNjaGVkX3ByaW9yaXR5ID0gYW1k Z3B1X3RvX3NjaGVkX3ByaW9yaXR5KHByaW9yaXR5KTsKPiArCj4gKwlpZiAocHJpb3JpdHkgPj0g QU1ER1BVX0NUWF9QUklPUklUWV9OVU0pCj4gKwkJcmV0dXJuIC1FSU5WQUw7Cj4gKwo+ICsJaWYg KHNjaGVkX3ByaW9yaXR5IDwgMCB8fCBzY2hlZF9wcmlvcml0eSA+PSBBTURfU0NIRURfTUFYX1BS SU9SSVRZKQo+ICsJCXJldHVybiAtRUlOVkFMOwo+ICsKPiArCWlmIChzY2hlZF9wcmlvcml0eSA9 PSBBTURfU0NIRURfUFJJT1JJVFlfSElHSCAmJiAhY2FwYWJsZShDQVBfU1lTX0FETUlOKSkKPiAr CQlyZXR1cm4gLUVBQ0NFUzsKPiAgIAo+ICAgCW1lbXNldChjdHgsIDAsIHNpemVvZigqY3R4KSk7 Cj4gICAJY3R4LT5hZGV2ID0gYWRldjsKPiArCWN0eC0+cHJpb3JpdHkgPSBwcmlvcml0eTsKc2Vl bXMgbm90IHVzZWQuCgpSZWdhcmRzLApEYXZpZCBaaG91Cj4gICAJa3JlZl9pbml0KCZjdHgtPnJl ZmNvdW50KTsKPiAgIAlzcGluX2xvY2tfaW5pdCgmY3R4LT5yaW5nX2xvY2spOwo+ICAgCWN0eC0+ ZmVuY2VzID0ga2NhbGxvYyhhbWRncHVfc2NoZWRfam9icyAqIEFNREdQVV9NQVhfUklOR1MsCj4g ICAJCQkgICAgICBzaXplb2Yoc3RydWN0IGRtYV9mZW5jZSopLCBHRlBfS0VSTkVMKTsKPiAgIAlp ZiAoIWN0eC0+ZmVuY2VzKQo+ICAgCQlyZXR1cm4gLUVOT01FTTsKPiAgIAo+ICAgCWZvciAoaSA9 IDA7IGkgPCBBTURHUFVfTUFYX1JJTkdTOyArK2kpIHsKPiAgIAkJY3R4LT5yaW5nc1tpXS5zZXF1 ZW5jZSA9IDE7Cj4gICAJCWN0eC0+cmluZ3NbaV0uZmVuY2VzID0gJmN0eC0+ZmVuY2VzW2FtZGdw dV9zY2hlZF9qb2JzICogaV07Cj4gICAJfQo+ICAgCj4gICAJY3R4LT5yZXNldF9jb3VudGVyID0g YXRvbWljX3JlYWQoJmFkZXYtPmdwdV9yZXNldF9jb3VudGVyKTsKPiAgIAo+ICAgCS8qIGNyZWF0 ZSBjb250ZXh0IGVudGl0eSBmb3IgZWFjaCByaW5nICovCj4gICAJZm9yIChpID0gMDsgaSA8IGFk ZXYtPm51bV9yaW5nczsgaSsrKSB7Cj4gICAJCXN0cnVjdCBhbWRncHVfcmluZyAqcmluZyA9IGFk ZXYtPnJpbmdzW2ldOwo+ICAgCQlzdHJ1Y3QgYW1kX3NjaGVkX3JxICpycTsKPiAgIAo+IC0JCXJx ID0gJnJpbmctPnNjaGVkLnNjaGVkX3JxW0FNRF9TQ0hFRF9QUklPUklUWV9OT1JNQUxdOwo+ICsJ CXJxID0gJnJpbmctPnNjaGVkLnNjaGVkX3JxW3NjaGVkX3ByaW9yaXR5XTsKPiAgIAkJciA9IGFt ZF9zY2hlZF9lbnRpdHlfaW5pdCgmcmluZy0+c2NoZWQsICZjdHgtPnJpbmdzW2ldLmVudGl0eSwK PiAgIAkJCQkJICBycSwgYW1kZ3B1X3NjaGVkX2pvYnMpOwo+ICAgCQlpZiAocikKPiAgIAkJCWdv dG8gZmFpbGVkOwo+ICAgCX0KPiAgIAo+ICAgCXJldHVybiAwOwo+ICAgCj4gICBmYWlsZWQ6Cj4g ICAJZm9yIChqID0gMDsgaiA8IGk7IGorKykKPiBAQCAtODMsMzkgKzExMSw0MSBAQCBzdGF0aWMg dm9pZCBhbWRncHVfY3R4X2Zpbmkoc3RydWN0IGFtZGdwdV9jdHggKmN0eCkKPiAgIAlrZnJlZShj dHgtPmZlbmNlcyk7Cj4gICAJY3R4LT5mZW5jZXMgPSBOVUxMOwo+ICAgCj4gICAJZm9yIChpID0g MDsgaSA8IGFkZXYtPm51bV9yaW5nczsgaSsrKQo+ICAgCQlhbWRfc2NoZWRfZW50aXR5X2Zpbmko JmFkZXYtPnJpbmdzW2ldLT5zY2hlZCwKPiAgIAkJCQkgICAgICAmY3R4LT5yaW5nc1tpXS5lbnRp dHkpOwo+ICAgfQo+ICAgCj4gICBzdGF0aWMgaW50IGFtZGdwdV9jdHhfYWxsb2Moc3RydWN0IGFt ZGdwdV9kZXZpY2UgKmFkZXYsCj4gICAJCQkgICAgc3RydWN0IGFtZGdwdV9mcHJpdiAqZnByaXYs Cj4gKwkJCSAgICB1aW50MzJfdCBwcmlvcml0eSwKPiAgIAkJCSAgICB1aW50MzJfdCAqaWQpCj4g ICB7Cj4gICAJc3RydWN0IGFtZGdwdV9jdHhfbWdyICptZ3IgPSAmZnByaXYtPmN0eF9tZ3I7Cj4g ICAJc3RydWN0IGFtZGdwdV9jdHggKmN0eDsKPiAgIAlpbnQgcjsKPiAgIAo+ICAgCWN0eCA9IGtt YWxsb2Moc2l6ZW9mKCpjdHgpLCBHRlBfS0VSTkVMKTsKPiAgIAlpZiAoIWN0eCkKPiAgIAkJcmV0 dXJuIC1FTk9NRU07Cj4gICAKPiAgIAltdXRleF9sb2NrKCZtZ3ItPmxvY2spOwo+ICAgCXIgPSBp ZHJfYWxsb2MoJm1nci0+Y3R4X2hhbmRsZXMsIGN0eCwgMSwgMCwgR0ZQX0tFUk5FTCk7Cj4gICAJ aWYgKHIgPCAwKSB7Cj4gICAJCW11dGV4X3VubG9jaygmbWdyLT5sb2NrKTsKPiAgIAkJa2ZyZWUo Y3R4KTsKPiAgIAkJcmV0dXJuIHI7Cj4gICAJfQo+ICsKPiAgIAkqaWQgPSAodWludDMyX3QpcjsK PiAtCXIgPSBhbWRncHVfY3R4X2luaXQoYWRldiwgY3R4KTsKPiArCXIgPSBhbWRncHVfY3R4X2lu aXQoYWRldiwgcHJpb3JpdHksIGN0eCk7Cj4gICAJaWYgKHIpIHsKPiAgIAkJaWRyX3JlbW92ZSgm bWdyLT5jdHhfaGFuZGxlcywgKmlkKTsKPiAgIAkJKmlkID0gMDsKPiAgIAkJa2ZyZWUoY3R4KTsK PiAgIAl9Cj4gICAJbXV0ZXhfdW5sb2NrKCZtZ3ItPmxvY2spOwo+ICAgCXJldHVybiByOwo+ICAg fQo+ICAgCj4gICBzdGF0aWMgdm9pZCBhbWRncHVfY3R4X2RvX3JlbGVhc2Uoc3RydWN0IGtyZWYg KnJlZikKPiBAQCAtMTc5LDMyICsyMDksMzMgQEAgc3RhdGljIGludCBhbWRncHVfY3R4X3F1ZXJ5 KHN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2LAo+ICAgCWN0eC0+cmVzZXRfY291bnRlciA9IHJl c2V0X2NvdW50ZXI7Cj4gICAKPiAgIAltdXRleF91bmxvY2soJm1nci0+bG9jayk7Cj4gICAJcmV0 dXJuIDA7Cj4gICB9Cj4gICAKPiAgIGludCBhbWRncHVfY3R4X2lvY3RsKHN0cnVjdCBkcm1fZGV2 aWNlICpkZXYsIHZvaWQgKmRhdGEsCj4gICAJCSAgICAgc3RydWN0IGRybV9maWxlICpmaWxwKQo+ ICAgewo+ICAgCWludCByOwo+IC0JdWludDMyX3QgaWQ7Cj4gKwl1aW50MzJfdCBpZCwgcHJpb3Jp dHk7Cj4gICAKPiAgIAl1bmlvbiBkcm1fYW1kZ3B1X2N0eCAqYXJncyA9IGRhdGE7Cj4gICAJc3Ry dWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYgPSBkZXYtPmRldl9wcml2YXRlOwo+ICAgCXN0cnVjdCBh bWRncHVfZnByaXYgKmZwcml2ID0gZmlscC0+ZHJpdmVyX3ByaXY7Cj4gICAKPiAgIAlyID0gMDsK PiAgIAlpZCA9IGFyZ3MtPmluLmN0eF9pZDsKPiArCXByaW9yaXR5ID0gYXJncy0+aW4ucHJpb3Jp dHk7Cj4gICAKPiAgIAlzd2l0Y2ggKGFyZ3MtPmluLm9wKSB7Cj4gICAJY2FzZSBBTURHUFVfQ1RY X09QX0FMTE9DX0NUWDoKPiAtCQlyID0gYW1kZ3B1X2N0eF9hbGxvYyhhZGV2LCBmcHJpdiwgJmlk KTsKPiArCQlyID0gYW1kZ3B1X2N0eF9hbGxvYyhhZGV2LCBmcHJpdiwgcHJpb3JpdHksICZpZCk7 Cj4gICAJCWFyZ3MtPm91dC5hbGxvYy5jdHhfaWQgPSBpZDsKPiAgIAkJYnJlYWs7Cj4gICAJY2Fz ZSBBTURHUFVfQ1RYX09QX0ZSRUVfQ1RYOgo+ICAgCQlyID0gYW1kZ3B1X2N0eF9mcmVlKGZwcml2 LCBpZCk7Cj4gICAJCWJyZWFrOwo+ICAgCWNhc2UgQU1ER1BVX0NUWF9PUF9RVUVSWV9TVEFURToK PiAgIAkJciA9IGFtZGdwdV9jdHhfcXVlcnkoYWRldiwgZnByaXYsIGlkLCAmYXJncy0+b3V0KTsK PiAgIAkJYnJlYWs7Cj4gICAJZGVmYXVsdDoKPiAgIAkJcmV0dXJuIC1FSU5WQUw7Cj4gZGlmZiAt LWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvc2NoZWR1bGVyL2dwdV9zY2hlZHVsZXIuaCBiL2Ry aXZlcnMvZ3B1L2RybS9hbWQvc2NoZWR1bGVyL2dwdV9zY2hlZHVsZXIuaAo+IGluZGV4IGQ4ZGM2 ODEuLjJlNDU4ZGUgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2FtZC9zY2hlZHVsZXIv Z3B1X3NjaGVkdWxlci5oCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9zY2hlZHVsZXIvZ3B1 X3NjaGVkdWxlci5oCj4gQEAgLTEwMSwyMCArMTAxLDIxIEBAIHN0YXRpYyBpbmxpbmUgc3RydWN0 IGFtZF9zY2hlZF9mZW5jZSAqdG9fYW1kX3NjaGVkX2ZlbmNlKHN0cnVjdCBkbWFfZmVuY2UgKmYp Cj4gICAqLwo+ICAgc3RydWN0IGFtZF9zY2hlZF9iYWNrZW5kX29wcyB7Cj4gICAJc3RydWN0IGRt YV9mZW5jZSAqKCpkZXBlbmRlbmN5KShzdHJ1Y3QgYW1kX3NjaGVkX2pvYiAqc2NoZWRfam9iKTsK PiAgIAlzdHJ1Y3QgZG1hX2ZlbmNlICooKnJ1bl9qb2IpKHN0cnVjdCBhbWRfc2NoZWRfam9iICpz Y2hlZF9qb2IpOwo+ICAgCXZvaWQgKCp0aW1lZG91dF9qb2IpKHN0cnVjdCBhbWRfc2NoZWRfam9i ICpzY2hlZF9qb2IpOwo+ICAgCXZvaWQgKCpmcmVlX2pvYikoc3RydWN0IGFtZF9zY2hlZF9qb2Ig KnNjaGVkX2pvYik7Cj4gICB9Owo+ICAgCj4gICBlbnVtIGFtZF9zY2hlZF9wcmlvcml0eSB7Cj4g ICAJQU1EX1NDSEVEX1BSSU9SSVRZX0tFUk5FTCA9IDAsCj4gKwlBTURfU0NIRURfUFJJT1JJVFlf SElHSCwKPiAgIAlBTURfU0NIRURfUFJJT1JJVFlfTk9STUFMLAo+ICAgCUFNRF9TQ0hFRF9NQVhf UFJJT1JJVFkKPiAgIH07Cj4gICAKPiAgIC8qKgo+ICAgICogT25lIHNjaGVkdWxlciBpcyBpbXBs ZW1lbnRlZCBmb3IgZWFjaCBoYXJkd2FyZSByaW5nCj4gICAqLwo+ICAgc3RydWN0IGFtZF9ncHVf c2NoZWR1bGVyIHsKPiAgIAljb25zdCBzdHJ1Y3QgYW1kX3NjaGVkX2JhY2tlbmRfb3BzCSpvcHM7 Cj4gICAJdWludDMyX3QJCQlod19zdWJtaXNzaW9uX2xpbWl0Owo+IGRpZmYgLS1naXQgYS9pbmNs dWRlL3VhcGkvZHJtL2FtZGdwdV9kcm0uaCBiL2luY2x1ZGUvdWFwaS9kcm0vYW1kZ3B1X2RybS5o Cj4gaW5kZXggYjVhZTc3NC4uYjc1NjU5OSAxMDA2NDQKPiAtLS0gYS9pbmNsdWRlL3VhcGkvZHJt L2FtZGdwdV9kcm0uaAo+ICsrKyBiL2luY2x1ZGUvdWFwaS9kcm0vYW1kZ3B1X2RybS5oCj4gQEAg LTE1MywyNyArMTUzLDMyIEBAIHVuaW9uIGRybV9hbWRncHVfYm9fbGlzdCB7Cj4gICAKPiAgIC8q IEdQVSByZXNldCBzdGF0dXMgKi8KPiAgICNkZWZpbmUgQU1ER1BVX0NUWF9OT19SRVNFVAkJMAo+ ICAgLyogdGhpcyB0aGUgY29udGV4dCBjYXVzZWQgaXQgKi8KPiAgICNkZWZpbmUgQU1ER1BVX0NU WF9HVUlMVFlfUkVTRVQJCTEKPiAgIC8qIHNvbWUgb3RoZXIgY29udGV4dCBjYXVzZWQgaXQgKi8K PiAgICNkZWZpbmUgQU1ER1BVX0NUWF9JTk5PQ0VOVF9SRVNFVAkyCj4gICAvKiB1bmtub3duIGNh dXNlICovCj4gICAjZGVmaW5lIEFNREdQVV9DVFhfVU5LTk9XTl9SRVNFVAkzCj4gICAKPiArLyog Q29udGV4dCBwcmlvcml0eSBsZXZlbCAqLwo+ICsjZGVmaW5lIEFNREdQVV9DVFhfUFJJT1JJVFlf Tk9STUFMCTAKPiArI2RlZmluZSBBTURHUFVfQ1RYX1BSSU9SSVRZX0hJR0gJMQo+ICsjZGVmaW5l IEFNREdQVV9DVFhfUFJJT1JJVFlfTlVNCQkyCj4gKwo+ICAgc3RydWN0IGRybV9hbWRncHVfY3R4 X2luIHsKPiAgIAkvKiogQU1ER1BVX0NUWF9PUF8qICovCj4gICAJX191MzIJb3A7Cj4gICAJLyoq IEZvciBmdXR1cmUgdXNlLCBubyBmbGFncyBkZWZpbmVkIHNvIGZhciAqLwo+ICAgCV9fdTMyCWZs YWdzOwo+ICAgCV9fdTMyCWN0eF9pZDsKPiAtCV9fdTMyCV9wYWQ7Cj4gKwlfX3UzMglwcmlvcml0 eTsKPiAgIH07Cj4gICAKPiAgIHVuaW9uIGRybV9hbWRncHVfY3R4X291dCB7Cj4gICAJCXN0cnVj dCB7Cj4gICAJCQlfX3UzMgljdHhfaWQ7Cj4gICAJCQlfX3UzMglfcGFkOwo+ICAgCQl9IGFsbG9j Owo+ICAgCj4gICAJCXN0cnVjdCB7Cj4gICAJCQkvKiogRm9yIGZ1dHVyZSB1c2UsIG5vIGZsYWdz IGRlZmluZWQgc28gZmFyICovCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fXwphbWQtZ2Z4IG1haWxpbmcgbGlzdAphbWQtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9w Lm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2FtZC1n ZngK