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 15:09:52 +0800 Message-ID: <58B673C0.4070006@amd.com> References: <1488320089-22035-1-git-send-email-andresx7@gmail.com> <1488320089-22035-19-git-send-email-andresx7@gmail.com> <58B66FB8.8050300@amd.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <58B66FB8.8050300-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: Andres Rodriguez , amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org CgpPbiAyMDE35bm0MDPmnIgwMeaXpSAxNDo1MiwgemhvdWNtMSB3cm90ZToKPgo+Cj4gT24gMjAx N+W5tDAz5pyIMDHml6UgMDY6MTQsIEFuZHJlcyBSb2RyaWd1ZXogd3JvdGU6Cj4+IEFkZCBhIG5l dyBjb250ZXh0IGNyZWF0aW9uIHBhcmFtZXRlciB0byBleHByZXNzIGEgZ2xvYmFsIGNvbnRleHQg Cj4+IHByaW9yaXR5Lgo+Pgo+PiBDb250ZXh0cyBhbGxvY2F0ZWQgd2l0aCBBTURHUFVfQ1RYX1BS SU9SSVRZX0hJR0ggd2lsbCByZWNlaXZlIGhpZ2hlcgo+PiBwcmlvcml0eSB0byBzY2hlZHVsZXIg dGhlaXIgd29yayB0aGFuIEFNREdQVV9DVFhfUFJJT1JJVFlfTk9STUFMCj4+IChkZWZhdWx0KSBj b250ZXh0cy4KPj4KPj4gdjI6IEluc3RlYWQgb2YgdXNpbmcgZmxhZ3MsIHJlcHVycG9zZSBfX3Bh ZAo+PiB2MzogU3dhcCBlbnVtIHZhbHVlcyBvZiBfTk9STUFMIF9ISUdIIGZvciBiYWNrd2FyZHMg Y29tcGF0aWJpbGl0eQo+PiB2NDogVmFsaWRhdGUgdXNlcm1vZGUgcHJpb3JpdHkgYW5kIHN0b3Jl IGl0Cj4+Cj4+IFNpZ25lZC1vZmYtYnk6IEFuZHJlcyBSb2RyaWd1ZXogPGFuZHJlc3g3QGdtYWls LmNvbT4KPj4gLS0tCj4+ICAgZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1LmggICAg ICAgICAgIHwgIDEgKwo+PiAgIGRyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9jdHgu YyAgICAgICB8IDQxIAo+PiArKysrKysrKysrKysrKysrKysrKysrKy0tLS0KPj4gICBkcml2ZXJz L2dwdS9kcm0vYW1kL3NjaGVkdWxlci9ncHVfc2NoZWR1bGVyLmggfCAgMSArCj4+ICAgaW5jbHVk ZS91YXBpL2RybS9hbWRncHVfZHJtLmggICAgICAgICAgICAgICAgIHwgIDcgKysrKy0KPj4gICA0 IGZpbGVzIGNoYW5nZWQsIDQ0IGluc2VydGlvbnMoKyksIDYgZGVsZXRpb25zKC0pCj4+Cj4+IGRp ZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHUuaCAKPj4gYi9kcml2 ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHUuaAo+PiBpbmRleCBlMzBjNDdlLi4zNjZmNmQz IDEwMDY0NAo+PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHUuaAo+PiAr KysgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHUuaAo+PiBAQCAtNjY0LDIwICs2 NjQsMjEgQEAgc3RydWN0IGFtZGdwdV9jdHhfcmluZyB7Cj4+ICAgICAgIHN0cnVjdCBhbWRfc2No ZWRfZW50aXR5ICAgIGVudGl0eTsKPj4gICB9Owo+PiAgICAgc3RydWN0IGFtZGdwdV9jdHggewo+ PiAgICAgICBzdHJ1Y3Qga3JlZiAgICAgICAgcmVmY291bnQ7Cj4+ICAgICAgIHN0cnVjdCBhbWRn cHVfZGV2aWNlICAgICphZGV2Owo+PiAgICAgICB1bnNpZ25lZCAgICAgICAgcmVzZXRfY291bnRl cjsKPj4gICAgICAgc3BpbmxvY2tfdCAgICAgICAgcmluZ19sb2NrOwo+PiAgICAgICBzdHJ1Y3Qg ZG1hX2ZlbmNlICAgICoqZmVuY2VzOwo+PiAgICAgICBzdHJ1Y3QgYW1kZ3B1X2N0eF9yaW5nICAg IHJpbmdzW0FNREdQVV9NQVhfUklOR1NdOwo+PiArICAgIGludCAgICAgICAgICAgIHByaW9yaXR5 Owo+PiAgICAgICBib29sIHByZWFtYmxlX3ByZXNlbnRlZDsKPj4gICB9Owo+PiAgICAgc3RydWN0 IGFtZGdwdV9jdHhfbWdyIHsKPj4gICAgICAgc3RydWN0IGFtZGdwdV9kZXZpY2UgICAgKmFkZXY7 Cj4+ICAgICAgIHN0cnVjdCBtdXRleCAgICAgICAgbG9jazsKPj4gICAgICAgLyogcHJvdGVjdGVk IGJ5IGxvY2sgKi8KPj4gICAgICAgc3RydWN0IGlkciAgICAgICAgY3R4X2hhbmRsZXM7Cj4+ICAg fTsKPj4gICBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X2N0 eC5jIAo+PiBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9jdHguYwo+PiBpbmRl eCA0MDBjNjZiLi4yMmExNWQ2IDEwMDY0NAo+PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2Ft ZGdwdS9hbWRncHVfY3R4LmMKPj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1k Z3B1X2N0eC5jCj4+IEBAIC0xOCw0NyArMTgsNzUgQEAKPj4gICAgKiBPVEhFUiBMSUFCSUxJVFks IFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIAo+PiBPVEhFUldJU0Us Cj4+ICAgICogQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBT T0ZUV0FSRSBPUiBUSEUgCj4+IFVTRSBPUgo+PiAgICAqIE9USEVSIERFQUxJTkdTIElOIFRIRSBT T0ZUV0FSRS4KPj4gICAgKgo+PiAgICAqIEF1dGhvcnM6IG1vbmsgbGl1IDxtb25rLmxpdUBhbWQu Y29tPgo+PiAgICAqLwo+PiAgICAgI2luY2x1ZGUgPGRybS9kcm1QLmg+Cj4+ICAgI2luY2x1ZGUg ImFtZGdwdS5oIgo+PiAgIC1zdGF0aWMgaW50IGFtZGdwdV9jdHhfaW5pdChzdHJ1Y3QgYW1kZ3B1 X2RldmljZSAqYWRldiwgc3RydWN0IAo+PiBhbWRncHVfY3R4ICpjdHgpCj4+ICtzdGF0aWMgZW51 bSBhbWRfc2NoZWRfcHJpb3JpdHkgYW1kZ3B1X3RvX3NjaGVkX3ByaW9yaXR5KGludCAKPj4gYW1k Z3B1X3ByaW9yaXR5KQo+PiArewo+PiArICAgIHN3aXRjaCAoYW1kZ3B1X3ByaW9yaXR5KSB7Cj4+ ICsgICAgY2FzZSBBTURHUFVfQ1RYX1BSSU9SSVRZX0hJR0g6Cj4+ICsgICAgICAgIHJldHVybiBB TURfU0NIRURfUFJJT1JJVFlfSElHSDsKPj4gKyAgICBjYXNlIEFNREdQVV9DVFhfUFJJT1JJVFlf Tk9STUFMOgo+PiArICAgICAgICByZXR1cm4gQU1EX1NDSEVEX1BSSU9SSVRZX05PUk1BTDsKPj4g KyAgICBkZWZhdWx0Ogo+PiArICAgICAgICBXQVJOKDEsICJJbnZhbGlkIGNvbnRleHQgcHJpb3Jp dHkgJWRcbiIsIGFtZGdwdV9wcmlvcml0eSk7Cj4+ICsgICAgICAgIHJldHVybiBBTURfU0NIRURf UFJJT1JJVFlfTk9STUFMOwo+PiArICAgIH0KPj4gK30KPj4gKwo+PiArc3RhdGljIGludCBhbWRn cHVfY3R4X2luaXQoc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYsCj4+ICsgICAgICAgICAgICAg ICAgdWludDMyX3QgcHJpb3JpdHksCj4+ICsgICAgICAgICAgICAgICAgc3RydWN0IGFtZGdwdV9j dHggKmN0eCkKPj4gICB7Cj4+ICAgICAgIHVuc2lnbmVkIGksIGo7Cj4+ICAgICAgIGludCByOwo+ PiArICAgIGVudW0gYW1kX3NjaGVkX3ByaW9yaXR5IHNjaGVkX3ByaW9yaXR5Owo+PiArCj4+ICsg ICAgc2NoZWRfcHJpb3JpdHkgPSBhbWRncHVfdG9fc2NoZWRfcHJpb3JpdHkocHJpb3JpdHkpOwo+ PiArCj4+ICsgICAgaWYgKHByaW9yaXR5ID49IEFNREdQVV9DVFhfUFJJT1JJVFlfTlVNKQo+PiAr ICAgICAgICByZXR1cm4gLUVJTlZBTDsKPj4gKwo+PiArICAgIGlmIChzY2hlZF9wcmlvcml0eSA8 IDAgfHwgc2NoZWRfcHJpb3JpdHkgPj0gQU1EX1NDSEVEX01BWF9QUklPUklUWSkKPj4gKyAgICAg ICAgcmV0dXJuIC1FSU5WQUw7Cj4+ICsKPj4gKyAgICBpZiAoc2NoZWRfcHJpb3JpdHkgPT0gQU1E X1NDSEVEX1BSSU9SSVRZX0hJR0ggJiYgCj4+ICFjYXBhYmxlKENBUF9TWVNfQURNSU4pKQo+PiAr ICAgICAgICByZXR1cm4gLUVBQ0NFUzsKPj4gICAgICAgICBtZW1zZXQoY3R4LCAwLCBzaXplb2Yo KmN0eCkpOwo+PiAgICAgICBjdHgtPmFkZXYgPSBhZGV2Owo+PiArICAgIGN0eC0+cHJpb3JpdHkg PSBwcmlvcml0eTsKPiBzZWVtcyBub3QgdXNlZC4KSSBzZWUgY3R4LT5wcmlvcml0eSBpcyB1c2Vk IGluIGZvbGxvd2luZyBwYXRjaGVzLCBzbyBwbHMgcmVtb3ZlIGl0IHRoZXJlLgoKUmVnYXJkcywK RGF2aWQgWmhvdQo+Cj4gUmVnYXJkcywKPiBEYXZpZCBaaG91Cj4+ICAgICAgIGtyZWZfaW5pdCgm Y3R4LT5yZWZjb3VudCk7Cj4+ICAgICAgIHNwaW5fbG9ja19pbml0KCZjdHgtPnJpbmdfbG9jayk7 Cj4+ICAgICAgIGN0eC0+ZmVuY2VzID0ga2NhbGxvYyhhbWRncHVfc2NoZWRfam9icyAqIEFNREdQ VV9NQVhfUklOR1MsCj4+ICAgICAgICAgICAgICAgICAgICAgc2l6ZW9mKHN0cnVjdCBkbWFfZmVu Y2UqKSwgR0ZQX0tFUk5FTCk7Cj4+ICAgICAgIGlmICghY3R4LT5mZW5jZXMpCj4+ICAgICAgICAg ICByZXR1cm4gLUVOT01FTTsKPj4gICAgICAgICBmb3IgKGkgPSAwOyBpIDwgQU1ER1BVX01BWF9S SU5HUzsgKytpKSB7Cj4+ICAgICAgICAgICBjdHgtPnJpbmdzW2ldLnNlcXVlbmNlID0gMTsKPj4g ICAgICAgICAgIGN0eC0+cmluZ3NbaV0uZmVuY2VzID0gJmN0eC0+ZmVuY2VzW2FtZGdwdV9zY2hl ZF9qb2JzICogaV07Cj4+ICAgICAgIH0KPj4gICAgICAgICBjdHgtPnJlc2V0X2NvdW50ZXIgPSBh dG9taWNfcmVhZCgmYWRldi0+Z3B1X3Jlc2V0X2NvdW50ZXIpOwo+PiAgICAgICAgIC8qIGNyZWF0 ZSBjb250ZXh0IGVudGl0eSBmb3IgZWFjaCByaW5nICovCj4+ICAgICAgIGZvciAoaSA9IDA7IGkg PCBhZGV2LT5udW1fcmluZ3M7IGkrKykgewo+PiAgICAgICAgICAgc3RydWN0IGFtZGdwdV9yaW5n ICpyaW5nID0gYWRldi0+cmluZ3NbaV07Cj4+ICAgICAgICAgICBzdHJ1Y3QgYW1kX3NjaGVkX3Jx ICpycTsKPj4gICAtICAgICAgICBycSA9ICZyaW5nLT5zY2hlZC5zY2hlZF9ycVtBTURfU0NIRURf UFJJT1JJVFlfTk9STUFMXTsKPj4gKyAgICAgICAgcnEgPSAmcmluZy0+c2NoZWQuc2NoZWRfcnFb c2NoZWRfcHJpb3JpdHldOwo+PiAgICAgICAgICAgciA9IGFtZF9zY2hlZF9lbnRpdHlfaW5pdCgm cmluZy0+c2NoZWQsICZjdHgtPnJpbmdzW2ldLmVudGl0eSwKPj4gICAgICAgICAgICAgICAgICAg ICAgICAgcnEsIGFtZGdwdV9zY2hlZF9qb2JzKTsKPj4gICAgICAgICAgIGlmIChyKQo+PiAgICAg ICAgICAgICAgIGdvdG8gZmFpbGVkOwo+PiAgICAgICB9Cj4+ICAgICAgICAgcmV0dXJuIDA7Cj4+ ICAgICBmYWlsZWQ6Cj4+ICAgICAgIGZvciAoaiA9IDA7IGogPCBpOyBqKyspCj4+IEBAIC04Mywz OSArMTExLDQxIEBAIHN0YXRpYyB2b2lkIGFtZGdwdV9jdHhfZmluaShzdHJ1Y3QgYW1kZ3B1X2N0 eCAqY3R4KQo+PiAgICAgICBrZnJlZShjdHgtPmZlbmNlcyk7Cj4+ICAgICAgIGN0eC0+ZmVuY2Vz ID0gTlVMTDsKPj4gICAgICAgICBmb3IgKGkgPSAwOyBpIDwgYWRldi0+bnVtX3JpbmdzOyBpKysp Cj4+IGFtZF9zY2hlZF9lbnRpdHlfZmluaSgmYWRldi0+cmluZ3NbaV0tPnNjaGVkLAo+PiAgICAg ICAgICAgICAgICAgICAgICAgICAmY3R4LT5yaW5nc1tpXS5lbnRpdHkpOwo+PiAgIH0KPj4gICAg IHN0YXRpYyBpbnQgYW1kZ3B1X2N0eF9hbGxvYyhzdHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRldiwK Pj4gICAgICAgICAgICAgICAgICAgc3RydWN0IGFtZGdwdV9mcHJpdiAqZnByaXYsCj4+ICsgICAg ICAgICAgICAgICAgdWludDMyX3QgcHJpb3JpdHksCj4+ICAgICAgICAgICAgICAgICAgIHVpbnQz Ml90ICppZCkKPj4gICB7Cj4+ICAgICAgIHN0cnVjdCBhbWRncHVfY3R4X21nciAqbWdyID0gJmZw cml2LT5jdHhfbWdyOwo+PiAgICAgICBzdHJ1Y3QgYW1kZ3B1X2N0eCAqY3R4Owo+PiAgICAgICBp bnQgcjsKPj4gICAgICAgICBjdHggPSBrbWFsbG9jKHNpemVvZigqY3R4KSwgR0ZQX0tFUk5FTCk7 Cj4+ICAgICAgIGlmICghY3R4KQo+PiAgICAgICAgICAgcmV0dXJuIC1FTk9NRU07Cj4+ICAgICAg ICAgbXV0ZXhfbG9jaygmbWdyLT5sb2NrKTsKPj4gICAgICAgciA9IGlkcl9hbGxvYygmbWdyLT5j dHhfaGFuZGxlcywgY3R4LCAxLCAwLCBHRlBfS0VSTkVMKTsKPj4gICAgICAgaWYgKHIgPCAwKSB7 Cj4+ICAgICAgICAgICBtdXRleF91bmxvY2soJm1nci0+bG9jayk7Cj4+ICAgICAgICAgICBrZnJl ZShjdHgpOwo+PiAgICAgICAgICAgcmV0dXJuIHI7Cj4+ICAgICAgIH0KPj4gKwo+PiAgICAgICAq aWQgPSAodWludDMyX3QpcjsKPj4gLSAgICByID0gYW1kZ3B1X2N0eF9pbml0KGFkZXYsIGN0eCk7 Cj4+ICsgICAgciA9IGFtZGdwdV9jdHhfaW5pdChhZGV2LCBwcmlvcml0eSwgY3R4KTsKPj4gICAg ICAgaWYgKHIpIHsKPj4gICAgICAgICAgIGlkcl9yZW1vdmUoJm1nci0+Y3R4X2hhbmRsZXMsICpp ZCk7Cj4+ICAgICAgICAgICAqaWQgPSAwOwo+PiAgICAgICAgICAga2ZyZWUoY3R4KTsKPj4gICAg ICAgfQo+PiAgICAgICBtdXRleF91bmxvY2soJm1nci0+bG9jayk7Cj4+ICAgICAgIHJldHVybiBy Owo+PiAgIH0KPj4gICAgIHN0YXRpYyB2b2lkIGFtZGdwdV9jdHhfZG9fcmVsZWFzZShzdHJ1Y3Qg a3JlZiAqcmVmKQo+PiBAQCAtMTc5LDMyICsyMDksMzMgQEAgc3RhdGljIGludCBhbWRncHVfY3R4 X3F1ZXJ5KHN0cnVjdCAKPj4gYW1kZ3B1X2RldmljZSAqYWRldiwKPj4gICAgICAgY3R4LT5yZXNl dF9jb3VudGVyID0gcmVzZXRfY291bnRlcjsKPj4gICAgICAgICBtdXRleF91bmxvY2soJm1nci0+ bG9jayk7Cj4+ICAgICAgIHJldHVybiAwOwo+PiAgIH0KPj4gICAgIGludCBhbWRncHVfY3R4X2lv Y3RsKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHZvaWQgKmRhdGEsCj4+ICAgICAgICAgICAgICAg IHN0cnVjdCBkcm1fZmlsZSAqZmlscCkKPj4gICB7Cj4+ICAgICAgIGludCByOwo+PiAtICAgIHVp bnQzMl90IGlkOwo+PiArICAgIHVpbnQzMl90IGlkLCBwcmlvcml0eTsKPj4gICAgICAgICB1bmlv biBkcm1fYW1kZ3B1X2N0eCAqYXJncyA9IGRhdGE7Cj4+ICAgICAgIHN0cnVjdCBhbWRncHVfZGV2 aWNlICphZGV2ID0gZGV2LT5kZXZfcHJpdmF0ZTsKPj4gICAgICAgc3RydWN0IGFtZGdwdV9mcHJp diAqZnByaXYgPSBmaWxwLT5kcml2ZXJfcHJpdjsKPj4gICAgICAgICByID0gMDsKPj4gICAgICAg aWQgPSBhcmdzLT5pbi5jdHhfaWQ7Cj4+ICsgICAgcHJpb3JpdHkgPSBhcmdzLT5pbi5wcmlvcml0 eTsKPj4gICAgICAgICBzd2l0Y2ggKGFyZ3MtPmluLm9wKSB7Cj4+ICAgICAgIGNhc2UgQU1ER1BV X0NUWF9PUF9BTExPQ19DVFg6Cj4+IC0gICAgICAgIHIgPSBhbWRncHVfY3R4X2FsbG9jKGFkZXYs IGZwcml2LCAmaWQpOwo+PiArICAgICAgICByID0gYW1kZ3B1X2N0eF9hbGxvYyhhZGV2LCBmcHJp diwgcHJpb3JpdHksICZpZCk7Cj4+ICAgICAgICAgICBhcmdzLT5vdXQuYWxsb2MuY3R4X2lkID0g aWQ7Cj4+ICAgICAgICAgICBicmVhazsKPj4gICAgICAgY2FzZSBBTURHUFVfQ1RYX09QX0ZSRUVf Q1RYOgo+PiAgICAgICAgICAgciA9IGFtZGdwdV9jdHhfZnJlZShmcHJpdiwgaWQpOwo+PiAgICAg ICAgICAgYnJlYWs7Cj4+ICAgICAgIGNhc2UgQU1ER1BVX0NUWF9PUF9RVUVSWV9TVEFURToKPj4g ICAgICAgICAgIHIgPSBhbWRncHVfY3R4X3F1ZXJ5KGFkZXYsIGZwcml2LCBpZCwgJmFyZ3MtPm91 dCk7Cj4+ICAgICAgICAgICBicmVhazsKPj4gICAgICAgZGVmYXVsdDoKPj4gICAgICAgICAgIHJl dHVybiAtRUlOVkFMOwo+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9zY2hlZHVs ZXIvZ3B1X3NjaGVkdWxlci5oIAo+PiBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvc2NoZWR1bGVyL2dw dV9zY2hlZHVsZXIuaAo+PiBpbmRleCBkOGRjNjgxLi4yZTQ1OGRlIDEwMDY0NAo+PiAtLS0gYS9k cml2ZXJzL2dwdS9kcm0vYW1kL3NjaGVkdWxlci9ncHVfc2NoZWR1bGVyLmgKPj4gKysrIGIvZHJp dmVycy9ncHUvZHJtL2FtZC9zY2hlZHVsZXIvZ3B1X3NjaGVkdWxlci5oCj4+IEBAIC0xMDEsMjAg KzEwMSwyMSBAQCBzdGF0aWMgaW5saW5lIHN0cnVjdCBhbWRfc2NoZWRfZmVuY2UgCj4+ICp0b19h bWRfc2NoZWRfZmVuY2Uoc3RydWN0IGRtYV9mZW5jZSAqZikKPj4gICAqLwo+PiAgIHN0cnVjdCBh bWRfc2NoZWRfYmFja2VuZF9vcHMgewo+PiAgICAgICBzdHJ1Y3QgZG1hX2ZlbmNlICooKmRlcGVu ZGVuY3kpKHN0cnVjdCBhbWRfc2NoZWRfam9iICpzY2hlZF9qb2IpOwo+PiAgICAgICBzdHJ1Y3Qg ZG1hX2ZlbmNlICooKnJ1bl9qb2IpKHN0cnVjdCBhbWRfc2NoZWRfam9iICpzY2hlZF9qb2IpOwo+ PiAgICAgICB2b2lkICgqdGltZWRvdXRfam9iKShzdHJ1Y3QgYW1kX3NjaGVkX2pvYiAqc2NoZWRf am9iKTsKPj4gICAgICAgdm9pZCAoKmZyZWVfam9iKShzdHJ1Y3QgYW1kX3NjaGVkX2pvYiAqc2No ZWRfam9iKTsKPj4gICB9Owo+PiAgICAgZW51bSBhbWRfc2NoZWRfcHJpb3JpdHkgewo+PiAgICAg ICBBTURfU0NIRURfUFJJT1JJVFlfS0VSTkVMID0gMCwKPj4gKyAgICBBTURfU0NIRURfUFJJT1JJ VFlfSElHSCwKPj4gICAgICAgQU1EX1NDSEVEX1BSSU9SSVRZX05PUk1BTCwKPj4gICAgICAgQU1E X1NDSEVEX01BWF9QUklPUklUWQo+PiAgIH07Cj4+ICAgICAvKioKPj4gICAgKiBPbmUgc2NoZWR1 bGVyIGlzIGltcGxlbWVudGVkIGZvciBlYWNoIGhhcmR3YXJlIHJpbmcKPj4gICAqLwo+PiAgIHN0 cnVjdCBhbWRfZ3B1X3NjaGVkdWxlciB7Cj4+ICAgICAgIGNvbnN0IHN0cnVjdCBhbWRfc2NoZWRf YmFja2VuZF9vcHMgICAgKm9wczsKPj4gICAgICAgdWludDMyX3QgICAgICAgICAgICBod19zdWJt aXNzaW9uX2xpbWl0Owo+PiBkaWZmIC0tZ2l0IGEvaW5jbHVkZS91YXBpL2RybS9hbWRncHVfZHJt LmggCj4+IGIvaW5jbHVkZS91YXBpL2RybS9hbWRncHVfZHJtLmgKPj4gaW5kZXggYjVhZTc3NC4u Yjc1NjU5OSAxMDA2NDQKPj4gLS0tIGEvaW5jbHVkZS91YXBpL2RybS9hbWRncHVfZHJtLmgKPj4g KysrIGIvaW5jbHVkZS91YXBpL2RybS9hbWRncHVfZHJtLmgKPj4gQEAgLTE1MywyNyArMTUzLDMy IEBAIHVuaW9uIGRybV9hbWRncHVfYm9fbGlzdCB7Cj4+ICAgICAvKiBHUFUgcmVzZXQgc3RhdHVz ICovCj4+ICAgI2RlZmluZSBBTURHUFVfQ1RYX05PX1JFU0VUICAgICAgICAwCj4+ICAgLyogdGhp cyB0aGUgY29udGV4dCBjYXVzZWQgaXQgKi8KPj4gICAjZGVmaW5lIEFNREdQVV9DVFhfR1VJTFRZ X1JFU0VUICAgICAgICAxCj4+ICAgLyogc29tZSBvdGhlciBjb250ZXh0IGNhdXNlZCBpdCAqLwo+ PiAgICNkZWZpbmUgQU1ER1BVX0NUWF9JTk5PQ0VOVF9SRVNFVCAgICAyCj4+ICAgLyogdW5rbm93 biBjYXVzZSAqLwo+PiAgICNkZWZpbmUgQU1ER1BVX0NUWF9VTktOT1dOX1JFU0VUICAgIDMKPj4g ICArLyogQ29udGV4dCBwcmlvcml0eSBsZXZlbCAqLwo+PiArI2RlZmluZSBBTURHUFVfQ1RYX1BS SU9SSVRZX05PUk1BTCAgICAwCj4+ICsjZGVmaW5lIEFNREdQVV9DVFhfUFJJT1JJVFlfSElHSCAg ICAxCj4+ICsjZGVmaW5lIEFNREdQVV9DVFhfUFJJT1JJVFlfTlVNICAgICAgICAyCj4+ICsKPj4g ICBzdHJ1Y3QgZHJtX2FtZGdwdV9jdHhfaW4gewo+PiAgICAgICAvKiogQU1ER1BVX0NUWF9PUF8q ICovCj4+ICAgICAgIF9fdTMyICAgIG9wOwo+PiAgICAgICAvKiogRm9yIGZ1dHVyZSB1c2UsIG5v IGZsYWdzIGRlZmluZWQgc28gZmFyICovCj4+ICAgICAgIF9fdTMyICAgIGZsYWdzOwo+PiAgICAg ICBfX3UzMiAgICBjdHhfaWQ7Cj4+IC0gICAgX191MzIgICAgX3BhZDsKPj4gKyAgICBfX3UzMiAg ICBwcmlvcml0eTsKPj4gICB9Owo+PiAgICAgdW5pb24gZHJtX2FtZGdwdV9jdHhfb3V0IHsKPj4g ICAgICAgICAgIHN0cnVjdCB7Cj4+ICAgICAgICAgICAgICAgX191MzIgICAgY3R4X2lkOwo+PiAg ICAgICAgICAgICAgIF9fdTMyICAgIF9wYWQ7Cj4+ICAgICAgICAgICB9IGFsbG9jOwo+PiAgICAg ICAgICAgICBzdHJ1Y3Qgewo+PiAgICAgICAgICAgICAgIC8qKiBGb3IgZnV0dXJlIHVzZSwgbm8g ZmxhZ3MgZGVmaW5lZCBzbyBmYXIgKi8KPgo+IF9fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fCj4gYW1kLWdmeCBtYWlsaW5nIGxpc3QKPiBhbWQtZ2Z4QGxpc3Rz LmZyZWVkZXNrdG9wLm9yZwo+IGh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4v bGlzdGluZm8vYW1kLWdmeAoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX18KYW1kLWdmeCBtYWlsaW5nIGxpc3QKYW1kLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5v cmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9hbWQtZ2Z4 Cg==