From mboxrd@z Thu Jan 1 00:00:00 1970 From: Remy Bohmer Subject: Re: How to change the ISR kthread priority in 2.6.26 series Date: Wed, 27 May 2009 20:55:04 +0200 Message-ID: <3efb10970905271155l36717a9dq4d6e4eef5f9518ca@mail.gmail.com> References: <971214.98609.qm@web59809.mail.ac4.yahoo.com> <000401c9de9e$43037970$a852c70a@dlh.st.com> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary=00163642661b9fbdc4046ae9616a Cc: linux-rt-users@vger.kernel.org To: Suresh Kumar SHUKLA Return-path: Received: from mail-fx0-f168.google.com ([209.85.220.168]:33992 "EHLO mail-fx0-f168.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1757833AbZE0SzF (ORCPT ); Wed, 27 May 2009 14:55:05 -0400 Received: by fxm12 with SMTP id 12so3141998fxm.37 for ; Wed, 27 May 2009 11:55:05 -0700 (PDT) In-Reply-To: <000401c9de9e$43037970$a852c70a@dlh.st.com> Sender: linux-rt-users-owner@vger.kernel.org List-ID: --00163642661b9fbdc4046ae9616a Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Hello Suresh, > In driver init function after registering IRQ, I want to raise the thread > priority to default + 1, but am unable to find the suitable API's. > I am using 2.6.26 series with rt-patch. I use the attached patches for this. Did not found the time yet to push them upstream. (But they were discussed about quite some time ago on lkml and the comments are reworked.) Apply these patches in this order: 1. add-map-functionality-to-kernel-cmdline.patch 2. changing_interrupt_prios_from_kernel_cmdline.patch 3. changing_softirq_prios_from_kernel_cmdline.patch Kind regards, Remy --00163642661b9fbdc4046ae9616a Content-Type: text/x-diff; charset=US-ASCII; name="add-map-functionality-to-kernel-cmdline.patch" Content-Disposition: attachment; filename="add-map-functionality-to-kernel-cmdline.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: f_fv8e439n0 QWRkIGdlbmVyaWMgcm91dGluZSBmb3IgcGFyc2luZyBtYXAtbGlrZSBvcHRpb25zIG9uIGtlcm5l bCBjbWQtbGluZQoKVGhpcyBwYXRjaCBhZGRzIGEgZ2VuZXJpYyByb3V0aW5lIHRvIHRoZSBrZXJu ZWwsIHNvIHRoYXQgYSBtYXAgb2YKc2V0dGluZ3MgY2FuIGJlIGVudGVyZWQgb24gdGhlIGtlcm5l bCBjb21tYW5kbGluZS4KClNpZ25lZC1vZmYtYnk6IFJlbXkgQm9obWVyIDxsaW51eEBib2htZXIu bmV0PgoKLS0tCi0tLQogaW5jbHVkZS9saW51eC9rZXJuZWwuaCB8ICAgIDEgCiBsaWIvY21kbGlu ZS5jICAgICAgICAgIHwgICA3OCArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrLS0tCiAyIGZpbGVzIGNoYW5nZWQsIDc1IGluc2VydGlvbnMoKyksIDQgZGVsZXRp b25zKC0pCgpJbmRleDogbGludXgtMi42LjI2L2luY2x1ZGUvbGludXgva2VybmVsLmgKPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PQotLS0gbGludXgtMi42LjI2Lm9yaWcvaW5jbHVkZS9saW51eC9rZXJuZWwuaAkyMDA5LTAz LTEwIDIyOjM1OjUwLjAwMDAwMDAwMCArMDEwMAorKysgbGludXgtMi42LjI2L2luY2x1ZGUvbGlu dXgva2VybmVsLmgJMjAwOS0wMy0xMCAyMjo0MjozNi4wMDAwMDAwMDAgKzAxMDAKQEAgLTE3NCw2 ICsxNzQsNyBAQCBleHRlcm4gaW50IHZzc2NhbmYoY29uc3QgY2hhciAqLCBjb25zdCBjCiAKIGV4 dGVybiBpbnQgZ2V0X29wdGlvbihjaGFyICoqc3RyLCBpbnQgKnBpbnQpOwogZXh0ZXJuIGNoYXIg KmdldF9vcHRpb25zKGNvbnN0IGNoYXIgKnN0ciwgaW50IG5pbnRzLCBpbnQgKmludHMpOworZXh0 ZXJuIGludCBnZXRfbWFwX29wdGlvbihjb25zdCBjaGFyICpzdHIsIGNvbnN0IGNoYXIgKmtleSwg aW50ICpwaW50KTsKIGV4dGVybiB1bnNpZ25lZCBsb25nIGxvbmcgbWVtcGFyc2UoY2hhciAqcHRy LCBjaGFyICoqcmV0cHRyKTsKIAogZXh0ZXJuIGludCBjb3JlX2tlcm5lbF90ZXh0KHVuc2lnbmVk IGxvbmcgYWRkcik7CkluZGV4OiBsaW51eC0yLjYuMjYvbGliL2NtZGxpbmUuYwo9PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 Ci0tLSBsaW51eC0yLjYuMjYub3JpZy9saWIvY21kbGluZS5jCTIwMDgtMDctMTMgMjM6NTE6Mjku MDAwMDAwMDAwICswMjAwCisrKyBsaW51eC0yLjYuMjYvbGliL2NtZGxpbmUuYwkyMDA5LTAzLTEw IDIyOjQyOjM2LjAwMDAwMDAwMCArMDEwMApAQCAtMTUsNiArMTUsNyBAQAogI2luY2x1ZGUgPGxp bnV4L21vZHVsZS5oPgogI2luY2x1ZGUgPGxpbnV4L2tlcm5lbC5oPgogI2luY2x1ZGUgPGxpbnV4 L3N0cmluZy5oPgorI2luY2x1ZGUgPGFzbS9zZXR1cC5oPgogCiAvKgogICoJSWYgYSBoeXBoZW4g d2FzIGZvdW5kIGluIGdldF9vcHRpb24sIHRoaXMgd2lsbCBoYW5kbGUgdGhlCkBAIC02Nyw2ICs2 OCw3IEBAIGludCBnZXRfb3B0aW9uIChjaGFyICoqc3RyLCBpbnQgKnBpbnQpCiAKIAlyZXR1cm4g MTsKIH0KK0VYUE9SVF9TWU1CT0woZ2V0X29wdGlvbik7CiAKIC8qKgogICoJZ2V0X29wdGlvbnMg LSBQYXJzZSBhIHN0cmluZyBpbnRvIGEgbGlzdCBvZiBpbnRlZ2VycwpAQCAtMTEyLDYgKzExNCw3 OCBAQCBjaGFyICpnZXRfb3B0aW9ucyhjb25zdCBjaGFyICpzdHIsIGludCBuCiAJaW50c1swXSA9 IGkgLSAxOwogCXJldHVybiAoY2hhciAqKXN0cjsKIH0KK0VYUE9SVF9TWU1CT0woZ2V0X29wdGlv bnMpOworCitzdGF0aWMgaW50CitwYXJzZV9tYXBfZmllbGQoY29uc3QgY2hhciAqa2V5LCBjb25z dCBjaGFyICpzdWJzdHIsIGludCBsZW4sIGludCAqcGludCkKK3sKKwlpbnQgZm91bmQgPSAwOwor CisJaWYgKGxlbiAhPSAwKSB7CisJCWlmIChrZXkpIHsKKwkJCS8qIGNoZWNrIGlmIHRoZSBmaXJz dCBwYXJ0IG9mIHRoZSBrZXkgbWF0Y2hlcyAqLworCQkJaWYgKCFzdHJuY21wKHN1YnN0ciwga2V5 LCBzdHJsZW4oa2V5KSkpIHsKKwkJCQljb25zdCBjaGFyICpzdHJ2YWwgPSBzdWJzdHIgKyBzdHJs ZW4oa2V5KTsKKwkJCQkvKiBOb3cgdGhlIG5leHQgY2hhciBtdXN0IGJlIGEgJzonLAorCQkJCQlp ZiBub3QsIHNlYXJjaCBmb3IgdGhlIG5leHQgbWF0Y2ggKi8KKwkJCQlpZiAoKnN0cnZhbCA9PSAn OicpIHsKKwkJCQkJc3RydmFsKys7CisJCQkJCWlmICgobGVuIC0gKHN0cnZhbCAtIHN1YnN0cikp ID4gMCkgeworCQkJCQkJKnBpbnQgPSAoaW50KQorCQkJCQkJCXNpbXBsZV9zdHJ0b2woc3RydmFs LAorCQkJCQkJCQlOVUxMLCAxMCk7CisJCQkJCQlmb3VuZCA9IDE7CisJCQkJCX0KKwkJCQl9CisJ CQl9CisJCX0gZWxzZSB7CisJCQkvKiBDaGVjayBmb3IgdGhlIGFic2VuY2Ugb2YgYW55ICc6JyAq LworCQkJaWYgKHN0cm5jaHIoc3Vic3RyLCBsZW4sICc6JykgPT0gTlVMTCkgeworCQkJCSpwaW50 ID0gKGludCkgc2ltcGxlX3N0cnRvbChzdWJzdHIsIE5VTEwsIDEwKTsKKwkJCQlmb3VuZCA9IDE7 CisJCQl9CisJCX0KKwl9CisKKwlyZXR1cm4gZm91bmQ7Cit9CisKKy8qKgorICoJZ2V0X21hcF9v cHRpb24gLSBQYXJzZSBpbnRlZ2VyIGZyb20gYW4gb3B0aW9uIG1hcAorICoJQHN0cjogb3B0aW9u IHN0cmluZworICoJQGtleTogVGhlIGtleSBpbnNpZGUgdGhlIG1hcCwgY2FuIGJlIE5VTEwKKyAq CUBwaW50OiAob3V0cHV0KSBpbnRlZ2VyIHZhbHVlIHBhcnNlZCBmcm9tIHRoZSBtYXAgQHN0cgor ICoKKyAqCVRoaXMgZnVuY3Rpb24gcGFyc2VzIGFuIGludGVnZXIgZnJvbSBhbiBvcHRpb24gbWFw IGxpa2UKKyAqICAgICAgICAgICBzb21lX21hcD1rZXkxOjk5LGtleTI6OTgsLi4uLGtleU46Tk4s Tk4KKyAqCU9ubHkgdGhlIHZhbHVlIG9mIHRoZSBmaXJzdCBtYXRjaCBpcyByZXR1cm5lZCwgb3Ig aWYgbm8KKyAqCWtleSBvcHRpb24gaXMgZ2l2ZW4gKGtleSA9IE5VTEwpIHRoZSB2YWx1ZSBvZiB0 aGUgZmlyc3QKKyAqCWZpZWxkIHdpdGhvdXQgYSAnOicgaXMgcmV0dXJuZWQuCisgKgorICoJUmV0 dXJuIHZhbHVlczoKKyAqCTAgLSBrZXkgKG9yIGRlZmF1bHQpIG5vdCBmb3VuZCBvciBpcyBpbnZh bGlkCisgKgkxIC0ga2V5IGZvdW5kIGFuZCBpcyB2YWxpZAorICovCitpbnQgZ2V0X21hcF9vcHRp b24oY29uc3QgY2hhciAqc3RyLCBjb25zdCBjaGFyICprZXksIGludCAqcGludCkKK3sKKwljb25z dCBjaGFyICpzdGFydCA9IHN0cjsKKwljb25zdCBjaGFyICplbmQgPSBzdHI7CisJaW50IGZvdW5k ID0gMDsKKworCWRvIHsKKwkJZW5kKys7CisJCS8qIFNlYXJjaCBhIGZvciBhIGZpZWxkIHNlcGVy YXRlZCBieSAnLCcgKi8KKwkJaWYgKCgqZW5kID09ICcsJykgfHwgKCplbmQgPT0gJ1wwJykpIHsK KwkJCWZvdW5kID0gcGFyc2VfbWFwX2ZpZWxkKGtleSwgc3RhcnQsIGVuZCAtIHN0YXJ0LCBwaW50 KTsKKworCQkJLyogc2V0IHN0YXJ0IHRvIGJlZ2lubmluZyBvZiBuZXh0IGZpZWxkICovCisJCQlz dGFydCA9IGVuZCArIDE7CisJCX0KKwl9IHdoaWxlICgoKmVuZCkgJiYgKCFmb3VuZCkpOworCisJ cmV0dXJuIGZvdW5kOworfQorRVhQT1JUX1NZTUJPTChnZXRfbWFwX29wdGlvbik7CiAKIC8qKgog ICoJbWVtcGFyc2UgLSBwYXJzZSBhIHN0cmluZyB3aXRoIG1lbSBzdWZmaXhlcyBpbnRvIGEgbnVt YmVyCkBAIC0xNDYsOCArMjIwLDQgQEAgdW5zaWduZWQgbG9uZyBsb25nIG1lbXBhcnNlIChjaGFy ICpwdHIsIAogCX0KIAlyZXR1cm4gcmV0OwogfQotCi0KIEVYUE9SVF9TWU1CT0wobWVtcGFyc2Up OwotRVhQT1JUX1NZTUJPTChnZXRfb3B0aW9uKTsKLUVYUE9SVF9TWU1CT0woZ2V0X29wdGlvbnMp Owo= --00163642661b9fbdc4046ae9616a Content-Type: text/x-diff; charset=US-ASCII; name="changing_interrupt_prios_from_kernel_cmdline.patch" Content-Disposition: attachment; filename="changing_interrupt_prios_from_kernel_cmdline.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: f_fv8e5c2l1 VGhlIFJULXBhdGNoIG9yaWdpbmFsbHkgY3JlYXRlcyBhbGwgaXRzIElSUS10aHJlYWRzIGF0IHBy aW9yaXR5IDUwLgpPZiBjb3Vyc2UsIHRoaXMgaXMgbm90IGEgdXNhYmxlIGRlZmF1bHQgZm9yIG1h bnkgcmVhbHRpbWUgc3lzdGVtcwphbmQgdGhlcmVmb3IgdGhlc2UgcHJpb3JpdGllcyBoYXMgdG8g YmUgdHVuZWFibGUgZm9yIGVhY2ggUlQtc3lzdGVtLgpCdXQsIGN1cnJlbnRseSB0aGVyZSBpcyBu byB3YXkgd2l0aGluIHRoZSBrZXJuZWwgdG8gYWRqdXN0IHRoaXMgdG8KdGhlIG5lZWRzIG9mIHRo ZSB1c2VyLiBTb21lIHNjcmlwdHMgYXJlIGZsb2F0aW5nIGFyb3VuZCB0byBkbyB0aGlzCmZyb20g dXNlcnNwYWNlLCBidXQgZm9yIHNldmVyYWwgYXBwbGljYXRpb25zIHRoZSBwcmlvcml0aWVzIHNo b3VsZAphbHJlYWR5IGJlIHNldCBwcm9wZXJseSBieSB0aGUga2VybmVsIGl0c2VsZiBiZWZvcmUg dXNlcmxhbmQgaXMKc3RhcnRlZC4KClRoaXMgcGF0Y2ggY2hhbmdlcyB0aGlzIGJ5IGFkZGluZyBh IGtlcm5lbCBjbWQtbGluZSBvcHRpb24gdGhhdCBjYW4KaGFuZGxlIGEgbWFwIG9mIHByaW9yaXRp ZXMuCkl0IGlzIGJhc2VkIG9uIHRoZSBuYW1lIG9mIHRoZSBkcml2ZXIgdGhhdCByZXF1ZXN0cyBh biBpbnRlcnJ1cHQsIGl0CmRvZXMgTk9UIHVzZSB0aGUgSVJRLUlEIHRvIHByaW9yaXRpemUgYSBj ZXJ0YWluIElSUSB0aHJlYWQuClRoaXMgaXMgZGVzaWduZWQgdGhpcyB3YXkgYmVjYXVzZSBhY3Jv c3Mgc2V2ZXJhbCBoYXJkd2FyZS1ib2FyZHMgdGhlCklSUS1JRHMgY2FuIGNoYW5nZSwgYnV0IG5v dCBuZWNlc3NhcmlseSB0aGUgZHJpdmVycyAKKGludGVycnVwdCBoYW5kbGVycykgbmFtZS4KCgpS ZW1hcmtzOgoqIFRoZXJlIGlzIGEgY2hlY2sgZm9yIGNvbmZsaWN0cyBhZGRlZCwgZm9yIHNpdHVh dGlvbnMgd2hlcmUgCiAgSVJRLXNoYXJpbmcgaXMgZGV0ZWN0ZWQgd2l0aCBkaWZmZXJlbnQgcHJp b3JpdGllcyByZXF1ZXN0ZWQKICBvbiB0aGUga2VybmVsIGNtZC1saW5lLgoqIFByaW9yaXRpZXMg YXJlIG9ubHkgc2V0IGF0IGNyZWF0aW9uIHRpbWUgb2YgdGhlIElSUS10aHJlYWQuCiogSWYgdXNl cmxhbmQgb3ZlcnJ1bGVzLCBpdCBpcyBOT1QgcmVzdG9yZWQgYnkgdGhpcyBjb2RlLgoqIGlmIG5v IG5ldyBrZXJuZWwgY21kbGluZSBvcHRpb25zIGFyZSBnaXZlbiwgdGhlIGtlcm5lbCB3b3Jrcwog IGFzIGJlZm9yZSwgYW5kIGFsbCBJUlEtdGhyZWFkcyBzdGFydCBhdCA1MC4KKiBObyB3aWxkY2Fy ZHMgYXJlIHN1cHBvcnRlZCBvbiB0aGUgY21kbGluZS4KClNlZSBrZXJuZWwvRG9jdW1lbnRhdGlv bi9rZXJuZWwtcGFyYW1ldGVycy50eHQgZm9yIHVzYWdlIGluZm8uCgpTaWduZWQtb2ZmLWJ5OiBS ZW15IEJvaG1lciA8bGludXhAYm9obWVyLm5ldD4KCi0tLQogRG9jdW1lbnRhdGlvbi9rZXJuZWwt cGFyYW1ldGVycy50eHQgfCAgICA2ICsrCiBpbmNsdWRlL2xpbnV4L2lycS5oICAgICAgICAgICAg ICAgICB8ICAgIDEgCiBrZXJuZWwvS2NvbmZpZy5wcmVlbXB0ICAgICAgICAgICAgICB8ICAgMTcg KysrKysKIGtlcm5lbC9pcnEvbWFuYWdlLmMgICAgICAgICAgICAgICAgIHwgIDEwNSArKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0KIDQgZmlsZXMgY2hhbmdlZCwgMTE4IGluc2Vy dGlvbnMoKyksIDExIGRlbGV0aW9ucygtKQoKSW5kZXg6IGxpbnV4LTIuNi4yNi9Eb2N1bWVudGF0 aW9uL2tlcm5lbC1wYXJhbWV0ZXJzLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBsaW51eC0yLjYuMjYub3Jp Zy9Eb2N1bWVudGF0aW9uL2tlcm5lbC1wYXJhbWV0ZXJzLnR4dAkyMDA5LTAzLTE1IDIxOjQ4OjIx LjAwMDAwMDAwMCArMDEwMAorKysgbGludXgtMi42LjI2L0RvY3VtZW50YXRpb24va2VybmVsLXBh cmFtZXRlcnMudHh0CTIwMDktMDMtMTUgMjI6MDU6MDUuMDAwMDAwMDAwICswMTAwCkBAIC04ODEs NiArODgxLDEyIEBAIGFuZCBpcyBiZXR3ZWVuIDI1NiBhbmQgNDA5NiBjaGFyYWN0ZXJzLiAKIAlp cHM9CQlbSFcsU0NTSV0gQWRhcHRlYyAvIElCTSBTZXJ2ZVJBSUQgY29udHJvbGxlcgogCQkJU2Vl IGhlYWRlciBvZiBkcml2ZXJzL3Njc2kvaXBzLmMuCiAKKwlwbWFwX2hpcnE9CVtJUlEtdGhyZWFk aW5nXSBMaXN0IG9mIHByaW9yaXRpZXMgZWFjaCBpbnRlcnJ1cHQKKwkJCXRocmVhZCBtdXN0IGhh dmUuIFVzZWQgdG8gb3ZlcnJ1bGUgdGhlIGxpc3QgcHJvdmlkZWQKKwkJCWJ5IENPTkZJR19QUkVF TVBUX0hBUkRJUlFTX1BSSU9SSVRJRVMKKwkJCUZvcm1hdDogcG1hcF9oaXJxPW1lZ2FzYXM6OTAs ZXRoMDo0MCw1MAorCQkJVGhlIGZpcnN0IGZpZWxkIHdpdGhvdXQgJzonLCBpcyB0aGUgZGVmYXVs dCBwcmlvLgorCiAJcG9ydHM9CQlbSVBfVlNfRlRQXSBJUFZTIGZ0cCBoZWxwZXIgbW9kdWxlCiAJ CQlEZWZhdWx0IGlzIDIxLgogCQkJVXAgdG8gOCAoSVBfVlNfQVBQX01BWF9QT1JUUykgcG9ydHMK SW5kZXg6IGxpbnV4LTIuNi4yNi9pbmNsdWRlL2xpbnV4L2lycS5oCj09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIGxp bnV4LTIuNi4yNi5vcmlnL2luY2x1ZGUvbGludXgvaXJxLmgJMjAwOS0wMy0xNSAyMTo0MzowOC4w MDAwMDAwMDAgKzAxMDAKKysrIGxpbnV4LTIuNi4yNi9pbmNsdWRlL2xpbnV4L2lycS5oCTIwMDkt MDMtMTUgMjE6NDg6MjEuMDAwMDAwMDAwICswMTAwCkBAIC0xNzAsNiArMTcwLDcgQEAgc3RydWN0 IGlycV9kZXNjIHsKIAl1bnNpZ25lZCBpbnQJCWlycXNfdW5oYW5kbGVkOwogCXVuc2lnbmVkIGxv bmcJCWxhc3RfdW5oYW5kbGVkOwkvKiBBZ2luZyB0aW1lciBmb3IgdW5oYW5kbGVkIGNvdW50ICov CiAJc3RydWN0IHRhc2tfc3RydWN0CSp0aHJlYWQ7CisJaW50ICAgICAgICAgICAgICAgICAgICAg cnRfcHJpbzsKIAl3YWl0X3F1ZXVlX2hlYWRfdAl3YWl0X2Zvcl9oYW5kbGVyOwogCWN5Y2xlc190 CQl0aW1lc3RhbXA7CiAJcmF3X3NwaW5sb2NrX3QJCWxvY2s7CkluZGV4OiBsaW51eC0yLjYuMjYv a2VybmVsL2lycS9tYW5hZ2UuYwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBsaW51eC0yLjYuMjYub3JpZy9rZXJu ZWwvaXJxL21hbmFnZS5jCTIwMDktMDMtMTUgMjE6NDM6MDguMDAwMDAwMDAwICswMTAwCisrKyBs aW51eC0yLjYuMjYva2VybmVsL2lycS9tYW5hZ2UuYwkyMDA5LTAzLTE1IDIyOjAzOjAyLjAwMDAw MDAwMCArMDEwMApAQCAtMTQsOSArMTQsMTQgQEAKICNpbmNsdWRlIDxsaW51eC9zeXNjYWxscy5o PgogI2luY2x1ZGUgPGxpbnV4L2ludGVycnVwdC5oPgogI2luY2x1ZGUgPGxpbnV4L3NsYWIuaD4K KyNpbmNsdWRlIDxsaW51eC9saXN0Lmg+CiAKICNpbmNsdWRlICJpbnRlcm5hbHMuaCIKIAorI2lm ZGVmIENPTkZJR19QUkVFTVBUX0hBUkRJUlFTCitzdGF0aWMgY2hhciAqY21kbGluZTsKKyNlbmRp ZgorCiAjaWZkZWYgQ09ORklHX1NNUAogCiAvKioKQEAgLTI2Niw3ICsyNzEsNyBAQCB2b2lkIHJl Y2FsY3VsYXRlX2Rlc2NfZmxhZ3Moc3RydWN0IGlycV9kCiAJCQlkZXNjLT5zdGF0dXMgfD0gSVJR X05PREVMQVk7CiB9CiAKLXN0YXRpYyBpbnQgc3RhcnRfaXJxX3RocmVhZChpbnQgaXJxLCBzdHJ1 Y3QgaXJxX2Rlc2MgKmRlc2MpOworc3RhdGljIGludCBzdGFydF9pcnFfdGhyZWFkKGludCBpcnEs IHN0cnVjdCBpcnFfZGVzYyAqZGVzYywgaW50IHByaW8pOwogCiAvKgogICogSW50ZXJuYWwgZnVu Y3Rpb24gdGhhdCB0ZWxscyB0aGUgYXJjaGl0ZWN0dXJlIGNvZGUgd2hldGhlciBhCkBAIC0yOTks NiArMzA0LDggQEAgdm9pZCBjb21wYXRfaXJxX2NoaXBfc2V0X2RlZmF1bHRfaGFuZGxlcgogCQlk ZXNjLT5oYW5kbGVfaXJxID0gTlVMTDsKIH0KIAorc3RhdGljIGludCBnZXRfaXJxX3ByaW8oY29u c3QgY2hhciAqbmFtZSk7CisKIC8qCiAgKiBJbnRlcm5hbCBmdW5jdGlvbiB0byByZWdpc3RlciBh biBpcnFhY3Rpb24gLSB0eXBpY2FsbHkgdXNlZCB0bwogICogYWxsb2NhdGUgc3BlY2lhbCBpbnRl cnJ1cHRzIHRoYXQgYXJlIHBhcnQgb2YgdGhlIGFyY2hpdGVjdHVyZS4KQEAgLTMzNCw3ICszNDEs NyBAQCBpbnQgc2V0dXBfaXJxKHVuc2lnbmVkIGludCBpcnEsIHN0cnVjdCBpCiAJfQogCiAJaWYg KCEobmV3LT5mbGFncyAmIElSUUZfTk9ERUxBWSkpCi0JCWlmIChzdGFydF9pcnFfdGhyZWFkKGly cSwgZGVzYykpCisJCWlmIChzdGFydF9pcnFfdGhyZWFkKGlycSwgZGVzYywgZ2V0X2lycV9wcmlv KG5ldy0+bmFtZSkpKQogCQkJcmV0dXJuIC1FTk9NRU07CiAJLyoKIAkgKiBUaGUgZm9sbG93aW5n IGJsb2NrIG9mIGNvZGUgaGFzIHRvIGJlIGV4ZWN1dGVkIGF0b21pY2FsbHkKQEAgLTgxMywxMSAr ODIwLDcgQEAgc3RhdGljIGludCBkb19pcnFkKHZvaWQgKiBfX2Rlc2MpCiAjZW5kaWYKIAljdXJy ZW50LT5mbGFncyB8PSBQRl9OT0ZSRUVaRSB8IFBGX0hBUkRJUlE7CiAKLQkvKgotCSAqIFNldCBp cnEgdGhyZWFkIHByaW9yaXR5IHRvIFNDSEVEX0ZJRk8vNTA6Ci0JICovCi0JcGFyYW0uc2NoZWRf cHJpb3JpdHkgPSBNQVhfVVNFUl9SVF9QUklPLzI7Ci0KKwlwYXJhbS5zY2hlZF9wcmlvcml0eSA9 IGRlc2MtPnJ0X3ByaW87CiAJc3lzX3NjaGVkX3NldHNjaGVkdWxlcihjdXJyZW50LT5waWQsIFND SEVEX0ZJRk8sICZwYXJhbSk7CiAKIAl3aGlsZSAoIWt0aHJlYWRfc2hvdWxkX3N0b3AoKSkgewpA QCAtODQ0LDExICs4NDcsMjAgQEAgc3RhdGljIGludCBkb19pcnFkKHZvaWQgKiBfX2Rlc2MpCiAK IHN0YXRpYyBpbnQgb2tfdG9fY3JlYXRlX2lycV90aHJlYWRzOwogCi1zdGF0aWMgaW50IHN0YXJ0 X2lycV90aHJlYWQoaW50IGlycSwgc3RydWN0IGlycV9kZXNjICpkZXNjKQorc3RhdGljIGludCBz dGFydF9pcnFfdGhyZWFkKGludCBpcnEsIHN0cnVjdCBpcnFfZGVzYyAqZGVzYywgaW50IHByaW8p CiB7Ci0JaWYgKGRlc2MtPnRocmVhZCB8fCAhb2tfdG9fY3JlYXRlX2lycV90aHJlYWRzKQorCWlm ICghb2tfdG9fY3JlYXRlX2lycV90aHJlYWRzKQogCQlyZXR1cm4gMDsKIAorCWlmIChkZXNjLT50 aHJlYWQpIHsKKwkJaWYgKGRlc2MtPnJ0X3ByaW8gIT0gcHJpbykKKwkJCXByaW50ayhLRVJOX05P VElDRQorCQkJICAgICAgICJpcnFkOiBJbnRlcnJ1cHQgc2hhcmluZyBkZXRlY3RlZCB3aXRoICIK KwkJCSAgICAgICAiY29uZmxpY3RpbmcgdGhyZWFkIHByaW9yaXRpZXMsIGlycTolZCFcbiIsIGly cSk7CisJCXJldHVybiAwOworCX0KKworCWRlc2MtPnJ0X3ByaW8gPSBwcmlvOwogCWRlc2MtPnRo cmVhZCA9IGt0aHJlYWRfY3JlYXRlKGRvX2lycWQsIGRlc2MsICJJUlEtJWQiLCBpcnEpOwogCWlm ICghZGVzYy0+dGhyZWFkKSB7CiAJCXByaW50ayhLRVJOX0VSUiAiaXJxZDogY291bGQgbm90IGNy ZWF0ZSBJUlEgdGhyZWFkICVkIVxuIiwgaXJxKTsKQEAgLTg3NSwxMyArODg3LDEzIEBAIHZvaWQg X19pbml0IGluaXRfaGFyZGlycXModm9pZCkKIAkJaXJxX2Rlc2NfdCAqZGVzYyA9IGlycV9kZXNj ICsgaTsKIAogCQlpZiAoZGVzYy0+YWN0aW9uICYmICEoZGVzYy0+c3RhdHVzICYgSVJRX05PREVM QVkpKQotCQkJc3RhcnRfaXJxX3RocmVhZChpLCBkZXNjKTsKKwkJCXN0YXJ0X2lycV90aHJlYWQo aSwgZGVzYywgZ2V0X2lycV9wcmlvKE5VTEwpKTsKIAl9CiB9CiAKICNlbHNlCiAKLXN0YXRpYyBp bnQgc3RhcnRfaXJxX3RocmVhZChpbnQgaXJxLCBzdHJ1Y3QgaXJxX2Rlc2MgKmRlc2MpCitzdGF0 aWMgaW50IHN0YXJ0X2lycV90aHJlYWQoaW50IGlycSwgc3RydWN0IGlycV9kZXNjICpkZXNjLCBp bnQgcHJpbykKIHsKIAlyZXR1cm4gMDsKIH0KQEAgLTg5NSwzICs5MDcsNzQgQEAgdm9pZCBfX2lu aXQgZWFybHlfaW5pdF9oYXJkaXJxcyh2b2lkKQogCWZvciAoaSA9IDA7IGkgPCBOUl9JUlFTOyBp KyspCiAJCWluaXRfd2FpdHF1ZXVlX2hlYWQoJmlycV9kZXNjW2ldLndhaXRfZm9yX2hhbmRsZXIp OwogfQorCisjaWZkZWYgQ09ORklHX1BSRUVNUFRfSEFSRElSUVMKKworc3RhdGljIGludCBjaGVj a19wcmlvX3JhbmdlKGludCBwcmlvKQoreworCWlmICgocHJpbyA8PSAwKSB8fCAocHJpbyA+PSBN QVhfVVNFUl9SVF9QUklPKSkKKwkJcHJpbyA9IE1BWF9VU0VSX1JUX1BSSU8vMjsKKworCXJldHVy biBwcmlvOworfQorCitzdGF0aWMgaW50IGdldF9kZWZhdWx0X2lycV9wcmlvKGNvbnN0IGNoYXIg KnByaW9fbWFwKQoreworCWludCBwcmlvOworCisJaWYgKCFnZXRfbWFwX29wdGlvbihwcmlvX21h cCwgTlVMTCwgJnByaW8pKQorCQlwcmlvID0gTUFYX1VTRVJfUlRfUFJJTy8yOworCisJcmV0dXJu IHByaW87Cit9CisKKy8qCisgKiBMb29rdXAgdGhlIGludGVycnVwdCB0aHJlYWQgcHJpb3JpdHkK KyAqIEEgbWFwIGZvciB0aGUgcHJpb3JpdGllcyBjYW4gYmUgZ2l2ZW4gb24gdGhlIGtlcm5lbCBj b21tYW5kbGluZSBvciBLY29uZmlnLgorICogaWYgbmFtZSBpcyBOVUxMLCBvciBubyBsaXN0IGlz IGF2YWlsYWJsZSwgdGhlIGRlZmF1bHQgcHJpbyBpcyB1c2VkLgorICovCitzdGF0aWMgaW50IGdl dF9pcnFfcHJpbyhjb25zdCBjaGFyICpuYW1lKQoreworCWludCAgcHJpbzsKKwljaGFyICpwcmlv X21hcCA9IGNtZGxpbmU7CisKKwkvKiBJZiBubyBjb21tYW5kbGluZSBvcHRpb25zLCB1c2UgdGhy ZWFkIHByaW8gZGVmYXVsdHMgZnJvbSBLY29uZmlnLiovCisJaWYgKCFwcmlvX21hcCkKKwkJcHJp b19tYXAgPSBDT05GSUdfUFJFRU1QVF9IQVJESVJRU19QUklPUklUSUVTOworCisJaWYgKCFnZXRf bWFwX29wdGlvbihwcmlvX21hcCwgbmFtZSwgJnByaW8pKQorCQlwcmlvID0gZ2V0X2RlZmF1bHRf aXJxX3ByaW8ocHJpb19tYXApOworCisJcHJpbyA9IGNoZWNrX3ByaW9fcmFuZ2UocHJpbyk7CisK KwlyZXR1cm4gcHJpbzsKK30KKworLyoKKyAqIFN0b3JlIHRoZSBwb2ludGVyIHRvIHRoZSBhcmd1 bWVudHMgaW4gYSBnbG9iYWwgdmFyLCBhbmQgc3RvcmUgdGhlCisgKiBkZWZhdWx0IHByaW8gZ2xv YmFsbHkKKyAqLworc3RhdGljIGludCBfX2luaXQgaXJxX3ByaW9fbWFwX3NldHVwKGNoYXIgKnN0 cikKK3sKKwlpZiAoIXN0cikgLyogc2FuaXR5IGNoZWNrICovCisJCXJldHVybiAxOworCisJY21k bGluZQk9IHN0cjsgLyogc3RvcmUgaXQgZm9yIGxhdGVyIHVzZSAqLworCXJldHVybiAxOworfQor CisvKgorICogVGhlIGNvbW1hbmRsaW5lIGxvb2tzIGxpa2UgdGhpczogcG1hcF9oaXJxPW1lZ2Fz YXM6OTAsZXRoMDo0MCw1MAorICogVGhlIGZpcnN0IGZpZWxkIHdpdGhvdXQgdGhlICc6JyBpcyB1 c2VkIGFzIHRoZSBkZWZhdWx0IGZvciBhbGwgaXJxLXRocmVhZHMuCisgKiBUaGVyZSBpcyBhIGNo ZWNrIGZvciBjb25mbGljdHMgb24gaXJxLXNoYXJpbmcuCisgKiBUaGUgcHJpb3JpdGllcyBhcmUg b25seSBzZXQgb24gY3JlYXRpb24gb2YgdGhlIGludGVycnVwdCB0aHJlYWRzLCB0aHVzIGF0Cisg KiB0aGUgdGltZSBhIGRyaXZlciB1c2VzIGEgY2VydGFpbiBpbnRlcnJ1cHQgdGhyZWFkIGZvciB0 aGUgZmlyc3QgdGltZS4KKyAqIFVua25vd24gb3IgcmVkdW5kYW50IGZpZWxkcyBhcmUgaWdub3Jl ZC4KKyAqLworX19zZXR1cCgicG1hcF9oaXJxPSIsIGlycV9wcmlvX21hcF9zZXR1cCk7CisjZWxz ZQorc3RhdGljIGludCBnZXRfaXJxX3ByaW8oY29uc3QgY2hhciAqbmFtZSkKK3sKKwlyZXR1cm4g NTA7Cit9CisjZW5kaWYKSW5kZXg6IGxpbnV4LTIuNi4yNi9rZXJuZWwvS2NvbmZpZy5wcmVlbXB0 Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT0KLS0tIGxpbnV4LTIuNi4yNi5vcmlnL2tlcm5lbC9LY29uZmlnLnByZWVtcHQJ MjAwOS0wMy0xNSAyMTo0MzowOC4wMDAwMDAwMDAgKzAxMDAKKysrIGxpbnV4LTIuNi4yNi9rZXJu ZWwvS2NvbmZpZy5wcmVlbXB0CTIwMDktMDMtMTUgMjI6MDU6MDUuMDAwMDAwMDAwICswMTAwCkBA IC0xMjEsNiArMTIxLDIzIEBAIGNvbmZpZyBQUkVFTVBUX0hBUkRJUlFTCiAKIAkgIFNheSBOIGlm IHlvdSBhcmUgdW5zdXJlLgogCitjb25maWcgUFJFRU1QVF9IQVJESVJRU19QUklPUklUSUVTCisJ c3RyaW5nICJUaHJlYWQgSGFyZGlycXMgcHJpb3JpdGllcyIKKwlkZWZhdWx0ICI1MCIKKwlkZXBl bmRzIG9uIFBSRUVNUFRfSEFSRElSUVMKKwloZWxwCisJICBUaGlzIG9wdGlvbiBzcGVjaWZpZXMg dGhlIHByaW9yaXR5IG9mIGVhY2ggaW50ZXJydXB0IHRocmVhZC4KKworCSAgRm9ybWF0OiBtZWdh c2FzOjkwLGV0aDA6NDAsNTAKKwkgIFRoZSBmaXJzdCBmaWVsZCB3aXRob3V0ICc6JywgaXMgdGhl IGRlZmF1bHQgcHJpb3JpdHkgdG8gYmUgdXNlZC4KKwkgIFRoZSBzdHJpbmcgdG8gYmUgdXNlZCBp cyB0aGUgbmFtZSBvZiB0aGUgaW50ZXJydXB0IGhhbmRsZXIsIGFuZAorCSAgY2FuIGJlIGZvdW5k IGluICdjYXQgL3Byb2MvaW50ZXJydXB0cycuCisKKwkgIFRoaXMgbGluZSBjYW4gYmUgb3ZlcnJ1 bGVkIG9uIHRoZSBrZXJuZWwgY29tbWFuZCBsaW5lIHRocm91Z2gKKwkgIHRoZSBwbWFwX2hpcnEg b3B0aW9uLiBTZWUgRG9jdW1lbnRhdGlvbi9rZXJuZWwtcGFyYW1ldGVycy50eHQKKworCSAgTGVh dmUgZGVmYXVsdCAoNTApIGlmIHlvdSBhcmUgdW5zdXJlLgorCiBjb25maWcgUFJFRU1QVF9SQ1UK IAlib29sICJQcmVlbXB0aWJsZSBSQ1UiCiAJZGVwZW5kcyBvbiBQUkVFTVBUCg== --00163642661b9fbdc4046ae9616a Content-Type: text/x-diff; charset=US-ASCII; name="changing_softirq_prios_from_kernel_cmdline.patch" Content-Disposition: attachment; filename="changing_softirq_prios_from_kernel_cmdline.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: f_fv8e5hhu2 VGhlIFJULXBhdGNoIG9yaWdpbmFsbHkgY3JlYXRlcyBhbGwgaXRzIHNvZnRpcnEtdGhyZWFkcyBh dApwcmlvcml0eSA1MC4gT2YgY291cnNlLCB0aGlzIGlzIG5vdCBhIHVzYWJsZSBkZWZhdWx0IGZv ciBtYW55CnJlYWx0aW1lIHN5c3RlbXMgYW5kIHRoZXJlZm9yIHRoZXNlIHByaW9yaXRpZXMgaGFz IHRvIGJlIHR1bmVhYmxlCmZvciBlYWNoIFJULXN5c3RlbS4gQnV0LCBjdXJyZW50bHkgdGhlcmUg aXMgbm8gd2F5IHdpdGhpbiB0aGUKa2VybmVsIHRvIGFkanVzdCB0aGlzIHRvIHRoZSBuZWVkcyBv ZiB0aGUgdXNlci4gU29tZSBzY3JpcHRzCmFyZSBmbG9hdGluZyBhcm91bmQgdG8gZG8gdGhpcyBm cm9tIHVzZXJzcGFjZSwgYnV0IGZvciBzZXZlcmFsCmFwcGxpY2F0aW9ucyB0aGUgcHJpb3JpdGll cyBzaG91bGQgYWxyZWFkeSBiZSBzZXQgcHJvcGVybHkgYnkKdGhlIGtlcm5lbCBpdHNlbGYgYmVm b3JlIHVzZXJsYW5kIGlzIHN0YXJ0ZWQuCgpUaGlzIHBhdGNoIGNoYW5nZXMgdGhpcyBieSBhZGRp bmcgYSBrZXJuZWwgY21kLWxpbmUgb3B0aW9uIHRoYXQKY2FuIGhhbmRsZSBhIG1hcCBvZiBwcmlv cml0aWVzLgoKUmVtYXJrczoKKiBQcmlvcml0aWVzIGFyZSBvbmx5IHNldCBhdCBjcmVhdGlvbiB0 aW1lIG9mIHRoZSBzb2Z0aXJxLgoqIFByaW9yaXRpZXMgaGFzIHRvIGJlIHNldCBwZXItY3B1Lgoq IElmIHVzZXJsYW5kIG92ZXJydWxlcywgaXQgaXMgTk9UIHJlc3RvcmVkIGJ5IHRoaXMgY29kZS4K KiBpZiBubyBuZXcga2VybmVsIGNtZGxpbmUgb3B0aW9ucyBhcmUgZ2l2ZW4sIHRoZSBrZXJuZWwg d29ya3MKICBhcyBiZWZvcmUsIGFuZCBhbGwgc29mdGlycXMgc3RhcnQgYXQgNTAuCiogTm8gd2ls ZGNhcmRzIGFyZSBzdXBwb3J0ZWQgb24gdGhlIGNtZGxpbmUuCgpTZWUga2VybmVsL0RvY3VtZW50 YXRpb24va2VybmVsLXBhcmFtZXRlcnMudHh0IGZvciB1c2FnZSBpbmZvLgoKU2lnbmVkLW9mZi1i eTogUmVteSBCb2htZXIgPGxpbnV4QGJvaG1lci5uZXQ+CgotLS0KIERvY3VtZW50YXRpb24va2Vy bmVsLXBhcmFtZXRlcnMudHh0IHwgICAxMCArKysKIGtlcm5lbC9LY29uZmlnLnByZWVtcHQgICAg ICAgICAgICAgIHwgICAxNiArKysrKwoga2VybmVsL3NvZnRpcnEuYyAgICAgICAgICAgICAgICAg ICAgfCAgMTA5ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLQogMyBmaWxlcyBj aGFuZ2VkLCAxMTggaW5zZXJ0aW9ucygrKSwgMTcgZGVsZXRpb25zKC0pCgpJbmRleDogbGludXgt Mi42LjI2L0RvY3VtZW50YXRpb24va2VybmVsLXBhcmFtZXRlcnMudHh0Cj09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t IGxpbnV4LTIuNi4yNi5vcmlnL0RvY3VtZW50YXRpb24va2VybmVsLXBhcmFtZXRlcnMudHh0CTIw MDktMDMtMTUgMjE6NDg6MjEuMDAwMDAwMDAwICswMTAwCisrKyBsaW51eC0yLjYuMjYvRG9jdW1l bnRhdGlvbi9rZXJuZWwtcGFyYW1ldGVycy50eHQJMjAwOS0wMy0xNSAyMTo0ODoyMS4wMDAwMDAw MDAgKzAxMDAKQEAgLTg4Nyw2ICs4ODcsMTYgQEAgYW5kIGlzIGJldHdlZW4gMjU2IGFuZCA0MDk2 IGNoYXJhY3RlcnMuIAogCQkJRm9ybWF0OiBwbWFwX2hpcnE9bWVnYXNhczo5MCxldGgwOjQwLDUw CiAJCQlUaGUgZmlyc3QgZmllbGQgd2l0aG91dCAnOicsIGlzIHRoZSBkZWZhdWx0IHByaW8uCiAK KwlwbWFwX3NpcnE9CVtJUlEtdGhyZWFkaW5nXSBMaXN0IG9mIHByaW9yaXRpZXMgZWFjaCBzb2Z0 aXJxCisJCQl0aHJlYWQgbXVzdCBoYXZlLiBVc2VkIHRvIG92ZXJydWxlIHRoZSBsaXN0IHByb3Zp ZGVkCisJCQlieSBDT05GSUdfUFJFRU1QVF9TT0ZUSVJRU19QUklPUklUSUVTCisJCQlGb3JtYXQ6 IHBtYXBfc2lycT1ibG9jay8wOjkwLHNjaGVkLzA6NzUsNTAKKwkJCVRoZSBwcmlvcml0aWVzIGhh dmUgdG8gYmUgc3BlY2lmaWVkIHBlci1jcHUuCisJCQlUaGUgZmlyc3QgZmllbGQgd2l0aG91dCAn OicsIGlzIHRoZSBkZWZhdWx0IHByaW8uCisJCQlUaGUgbmFtZXMgaGF2ZSB0byBtYXRjaCB0aGUg c29mdGlycV9uYW1lc1tdIHRhYmxlIGluCisJCQlrZXJuZWwvc29mdGlycS5jLCAodGh1cyB3aXRo b3V0ICdzb2Z0aXJxLScgcHJlZml4KSB0bworCQkJa2VlcCB0aGUgY21kLWxpbmUgc2hvcnQuCisK IAlwb3J0cz0JCVtJUF9WU19GVFBdIElQVlMgZnRwIGhlbHBlciBtb2R1bGUKIAkJCURlZmF1bHQg aXMgMjEuCiAJCQlVcCB0byA4IChJUF9WU19BUFBfTUFYX1BPUlRTKSBwb3J0cwpJbmRleDogbGlu dXgtMi42LjI2L2tlcm5lbC9zb2Z0aXJxLmMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gbGludXgtMi42LjI2Lm9y aWcva2VybmVsL3NvZnRpcnEuYwkyMDA5LTAzLTE1IDIxOjQzOjA4LjAwMDAwMDAwMCArMDEwMAor KysgbGludXgtMi42LjI2L2tlcm5lbC9zb2Z0aXJxLmMJMjAwOS0wMy0xNSAyMTo1NTo1MC4wMDAw MDAwMDAgKzAxMDAKQEAgLTY4LDYgKzY4LDkgQEAgc3RydWN0IHNvZnRpcnFkYXRhIHsKIAogc3Rh dGljIERFRklORV9QRVJfQ1BVKHN0cnVjdCBzb2Z0aXJxZGF0YSBbTUFYX1NPRlRJUlFdLCBrc29m dGlycWQpOwogCitzdGF0aWMgY2hhciAqY21kbGluZTsKKworCiAjaWZkZWYgQ09ORklHX1BSRUVN UFRfU09GVElSUVMKIC8qCiAgKiBQcmVlbXB0aW5nIHRoZSBzb2Z0aXJxIGNhdXNlcyBjYXNlcyB0 aGF0IHdvdWxkIG5vdCBiZSBhCkBAIC03MjUsMTAgKzcyOCwyOCBAQCBFWFBPUlRfU1lNQk9MKHRh c2tsZXRfdW5sb2NrX3dhaXQpOwogCiAjZW5kaWYKIAorc3RhdGljIGNvbnN0IGNoYXIgKnNvZnRp cnFfbmFtZXMgW10gPQoreworICBbSElfU09GVElSUV0JCT0gImhpZ2giLAorICBbU0NIRURfU09G VElSUV0JPSAic2NoZWQiLAorICBbVElNRVJfU09GVElSUV0JPSAidGltZXIiLAorICBbTkVUX1RY X1NPRlRJUlFdCT0gIm5ldC10eCIsCisgIFtORVRfUlhfU09GVElSUV0JPSAibmV0LXJ4IiwKKyAg W0JMT0NLX1NPRlRJUlFdCT0gImJsb2NrIiwKKyAgW1RBU0tMRVRfU09GVElSUV0JPSAidGFza2xl dCIsCisjaWZkZWYgQ09ORklHX0hJR0hfUkVTX1RJTUVSUworICBbSFJUSU1FUl9TT0ZUSVJRXQk9 ICJocnRpbWVyIiwKKyNlbmRpZgorICBbUkNVX1NPRlRJUlFdCQk9ICJyY3UiLAorfTsKKworc3Rh dGljIGludCBnZXRfc29mdGlycV9wcmlvKGNvbnN0IGNoYXIgKm5hbWUpOworCiBzdGF0aWMgaW50 IGtzb2Z0aXJxZCh2b2lkICogX19kYXRhKQogewotCXN0cnVjdCBzY2hlZF9wYXJhbSBwYXJhbSA9 IHsgLnNjaGVkX3ByaW9yaXR5ID0gTUFYX1VTRVJfUlRfUFJJTy8yIH07CisJc3RydWN0IHNjaGVk X3BhcmFtIHBhcmFtID0geyAwLCB9OwogCXN0cnVjdCBzb2Z0aXJxZGF0YSAqZGF0YSA9IF9fZGF0 YTsKKwljaGFyIGJ1Zls1MF07CiAJdTMyIHNvZnRpcnFfbWFzayA9ICgxIDw8IGRhdGEtPm5yKTsK IAlzdHJ1Y3Qgc29mdGlycV9hY3Rpb24gKmg7CiAJaW50IGNwdSA9IGRhdGEtPmNwdTsKQEAgLTcz Niw4ICs3NTcsMTIgQEAgc3RhdGljIGludCBrc29mdGlycWQodm9pZCAqIF9fZGF0YSkKICNpZmRl ZiBDT05GSUdfUFJFRU1QVF9TT0ZUSVJRUwogCWluaXRfd2FpdHF1ZXVlX2hlYWQoJmRhdGEtPndh aXQpOwogI2VuZGlmCi0KKwkvKiBMb29rdXAgdGhlIHByaW9yaXR5IG9mIHRoaXMgc29mdGlycSwg YW5kIHNldCB0aGUgcHJpbyBhY2NvcmRpbmdseSAqLworCXNucHJpbnRmKGJ1Ziwgc2l6ZW9mKGJ1 ZiksICIlcy8lbHUiLAorCQkgc29mdGlycV9uYW1lc1tkYXRhLT5ucl0sIGRhdGEtPmNwdSk7CisJ cGFyYW0uc2NoZWRfcHJpb3JpdHkgPSBnZXRfc29mdGlycV9wcmlvKGJ1Zik7CiAJc3lzX3NjaGVk X3NldHNjaGVkdWxlcihjdXJyZW50LT5waWQsIFNDSEVEX0ZJRk8sICZwYXJhbSk7CisKIAljdXJy ZW50LT5mbGFncyB8PSBQRl9TT0ZUSVJROwogCXNldF9jdXJyZW50X3N0YXRlKFRBU0tfSU5URVJS VVBUSUJMRSk7CiAKQEAgLTg3MywyMSArODk4LDYgQEAgdm9pZCB0YWtlb3Zlcl90YXNrbGV0cyh1 bnNpZ25lZCBpbnQgY3B1KQogfQogI2VuZGlmIC8qIENPTkZJR19IT1RQTFVHX0NQVSAqLwogCi1z dGF0aWMgY29uc3QgY2hhciAqc29mdGlycV9uYW1lcyBbXSA9Ci17Ci0gIFtISV9TT0ZUSVJRXQkJ PSAiaGlnaCIsCi0gIFtTQ0hFRF9TT0ZUSVJRXQk9ICJzY2hlZCIsCi0gIFtUSU1FUl9TT0ZUSVJR XQk9ICJ0aW1lciIsCi0gIFtORVRfVFhfU09GVElSUV0JPSAibmV0LXR4IiwKLSAgW05FVF9SWF9T T0ZUSVJRXQk9ICJuZXQtcngiLAotICBbQkxPQ0tfU09GVElSUV0JPSAiYmxvY2siLAotICBbVEFT S0xFVF9TT0ZUSVJRXQk9ICJ0YXNrbGV0IiwKLSNpZmRlZiBDT05GSUdfSElHSF9SRVNfVElNRVJT Ci0gIFtIUlRJTUVSX1NPRlRJUlFdCT0gImhydGltZXIiLAotI2VuZGlmCi0gIFtSQ1VfU09GVElS UV0JCT0gInJjdSIsCi19OwotCiBzdGF0aWMgaW50IF9fY3B1aW5pdCBjcHVfY2FsbGJhY2soc3Ry dWN0IG5vdGlmaWVyX2Jsb2NrICpuZmIsCiAJCQkJICB1bnNpZ25lZCBsb25nIGFjdGlvbiwKIAkJ CQkgIHZvaWQgKmhjcHUpCkBAIC0xMDE0LDMgKzEwMjQsNjggQEAgaW50IG9uX2VhY2hfY3B1KHZv aWQgKCpmdW5jKSAodm9pZCAqaW5mbwogfQogRVhQT1JUX1NZTUJPTChvbl9lYWNoX2NwdSk7CiAj ZW5kaWYKKworc3RhdGljIGludCBjaGVja19wcmlvX3JhbmdlKGludCBwcmlvKQoreworCWlmICgo cHJpbyA8PSAwKSB8fCAocHJpbyA+PSBNQVhfVVNFUl9SVF9QUklPKSkKKwkJcHJpbyA9IE1BWF9V U0VSX1JUX1BSSU8vMjsKKworCXJldHVybiBwcmlvOworfQorCitzdGF0aWMgaW50IGdldF9kZWZh dWx0X2lycV9wcmlvKGNvbnN0IGNoYXIgKnByaW9fbWFwKQoreworCWludCBwcmlvOworCisJaWYg KCFnZXRfbWFwX29wdGlvbihwcmlvX21hcCwgTlVMTCwgJnByaW8pKQorCQlwcmlvID0gTUFYX1VT RVJfUlRfUFJJTy8yOworCisJcmV0dXJuIHByaW87Cit9CisKKy8qCisgKiBMb29rdXAgdGhlIHNv ZnRpcnEgdGhyZWFkIHByaW9yaXR5LgorICogQSBtYXAgZm9yIHRoZSBwcmlvcml0aWVzIGNhbiBi ZSBnaXZlbiBvbiB0aGUga2VybmVsIGNvbW1hbmRsaW5lIG9yIEtjb25maWcuCisgKiBpZiBuYW1l IGlzIE5VTEwgdGhlIGRlZmF1bHQgcHJpbyBpcyB1c2VkLgorICovCitzdGF0aWMgaW50IGdldF9z b2Z0aXJxX3ByaW8oY29uc3QgY2hhciAqbmFtZSkKK3sKKwlpbnQgIHByaW87CisJY2hhciAqcHJp b19tYXAgPSBjbWRsaW5lOworCisJLyogSWYgbm8gY29tbWFuZGxpbmUgb3B0aW9ucywgdXNlIHRo cmVhZCBwcmlvIGRlZmF1bHRzIGZyb20gS2NvbmZpZy4qLworI2lmZGVmIENPTkZJR19QUkVFTVBU X1NPRlRJUlFTX1BSSU9SSVRJRVMKKwlpZiAoIXByaW9fbWFwKQorCQlwcmlvX21hcCA9IENPTkZJ R19QUkVFTVBUX1NPRlRJUlFTX1BSSU9SSVRJRVM7CisjZW5kaWYKKwlpZiAoIWdldF9tYXBfb3B0 aW9uKHByaW9fbWFwLCBuYW1lLCAmcHJpbykpCisJCXByaW8gPSBnZXRfZGVmYXVsdF9pcnFfcHJp byhwcmlvX21hcCk7CisKKwlwcmlvID0gY2hlY2tfcHJpb19yYW5nZShwcmlvKTsKKworCXJldHVy biBwcmlvOworfQorCisvKgorICogU3RvcmUgdGhlIHBvaW50ZXIgdG8gdGhlIGFyZ3VtZW50cyBp biBhIGdsb2JhbCB2YXIsIGFuZCBzdG9yZSB0aGUKKyAqIGRlZmF1bHQgcHJpbyBnbG9iYWxseQor ICovCitzdGF0aWMgaW50IF9faW5pdCBzb2Z0aXJxX3ByaW9fbWFwX3NldHVwKGNoYXIgKnN0cikK K3sKKwlpZiAoIXN0cikgLyogc2FuaXR5IGNoZWNrICovCisJCXJldHVybiAxOworCisJY21kbGlu ZQkJPSBzdHI7IC8qIHN0b3JlIGl0IGZvciBsYXRlciB1c2UgKi8KKwlyZXR1cm4gMTsKK30KKwor LyoKKyAqIFRoZSBjb21tYW5kbGluZSBsb29rcyBsaWtlIHRoaXM6CisgKiAgICAgICAgICAgICAg ICAgcG1hcF9zaXJxPWJsb2NrLzA6OTAsc2NoZWQvMDo3NSw1MAorICogVGhlIGZpcnN0IGZpZWxk IHdpdGhvdXQgdGhlICc6JyBpcyB1c2VkIGFzIHRoZSBkZWZhdWx0IGZvciBhbGwKKyAqIHNvZnQt aXJxLXRocmVhZHMuIFRoZSBwcmlvcml0aWVzIGFyZSBvbmx5IHNldCBvbiBjcmVhdGlvbiBvZiB0 aGUKKyAqIHNvZnRpcnEgdGhyZWFkcy4gVW5rbm93biBvciByZWR1bmRhbnQgZmllbGRzIGFyZSBp Z25vcmVkLgorICogVGhlIG5hbWVzIGhhdmUgdG8gbWF0Y2ggdGhlIHNvZnRpcnFfbmFtZXNbXSB0 YWJsZSB3aXRob3V0ICdzb2Z0aXJxLScgcHJlZml4CisgKiB0byBrZWVwIHRoZSBjbWQtbGluZSBz aG9ydC4KKyAqLworX19zZXR1cCgicG1hcF9zaXJxPSIsIHNvZnRpcnFfcHJpb19tYXBfc2V0dXAp OwpJbmRleDogbGludXgtMi42LjI2L2tlcm5lbC9LY29uZmlnLnByZWVtcHQKPT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot LS0gbGludXgtMi42LjI2Lm9yaWcva2VybmVsL0tjb25maWcucHJlZW1wdAkyMDA5LTAzLTE1IDIx OjQ4OjIxLjAwMDAwMDAwMCArMDEwMAorKysgbGludXgtMi42LjI2L2tlcm5lbC9LY29uZmlnLnBy ZWVtcHQJMjAwOS0wMy0xNSAyMTo0ODoyMS4wMDAwMDAwMDAgKzAxMDAKQEAgLTEwMiw2ICsxMDIs MjIgQEAgY29uZmlnIFBSRUVNUFRfU09GVElSUVMKIAogCSAgU2F5IE4gaWYgeW91IGFyZSB1bnN1 cmUuCiAKK2NvbmZpZyBQUkVFTVBUX1NPRlRJUlFTX1BSSU9SSVRJRVMKKwlzdHJpbmcgIlRocmVh ZCBTb2Z0aXJxcyBwcmlvcml0aWVzIgorCWRlZmF1bHQgIjUwIgorCWRlcGVuZHMgb24gUFJFRU1Q VF9TT0ZUSVJRUworCWhlbHAKKwkgIFRoaXMgb3B0aW9uIHNwZWNpZmllcyB0aGUgcHJpb3JpdHkg b2YgZWFjaCBzb2Z0LWlycSB0aHJlYWQuCisKKwkgIEZvcm1hdDogImJsb2NrLzA6OTAsc2NoZWQv MDo3NSw1MCIKKwkgIFRoZSBwcmlvcml0aWVzIGhhdmUgdG8gYmUgc3BlY2lmaWVkIHBlci1jcHUu CisJICBUaGUgZmlyc3QgZmllbGQgd2l0aG91dCAnOicsIGlzIHRoZSBkZWZhdWx0IHByaW8uCisJ ICBUaGUgbmFtZXMgaGF2ZSB0byBtYXRjaCB0aGUgc29mdGlycV9uYW1lc1tdIHRhYmxlIGluCisJ ICBrZXJuZWwvc29mdGlycS5jLCAodGh1cyB3aXRob3V0ICdzb2Z0aXJxLScgcHJlZml4KSB0bwor CSAga2VlcCB0aGUgY21kLWxpbmUgc2hvcnQuCisKKwkgIExlYXZlIGRlZmF1bHQgKDUwKSBpZiB5 b3UgYXJlIHVuc3VyZS4KKwogY29uZmlnIFBSRUVNUFRfSEFSRElSUVMKIAlib29sICJUaHJlYWQg SGFyZGlycXMiCiAJZGVmYXVsdCBuCg== --00163642661b9fbdc4046ae9616a--