From mboxrd@z Thu Jan 1 00:00:00 1970 From: Oleksandr Tyshchenko Subject: Re: [RFC PATCH 04/31] cpufreq: make turbo settings to be configurable Date: Sat, 2 Dec 2017 19:25:19 +0200 Message-ID: References: <1510247421-24094-1-git-send-email-olekstysh@gmail.com> <1510247421-24094-5-git-send-email-olekstysh@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from us1-rack-dfw2.inumbo.com ([104.130.134.6]) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eLBXW-0003rr-Bh for xen-devel@lists.xenproject.org; Sat, 02 Dec 2017 17:25:22 +0000 Received: by mail-io0-x243.google.com with SMTP id 81so14499196iof.3 for ; Sat, 02 Dec 2017 09:25:20 -0800 (PST) In-Reply-To: List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" To: Stefano Stabellini Cc: Andrew Cooper , Oleksandr Dmytryshyn , Julien Grall , Oleksandr Tyshchenko , Jan Beulich , xen-devel@lists.xenproject.org List-Id: xen-devel@lists.xenproject.org SGkgU3RlZmFubwoKT24gU2F0LCBEZWMgMiwgMjAxNyBhdCAzOjA2IEFNLCBTdGVmYW5vIFN0YWJl bGxpbmkKPHNzdGFiZWxsaW5pQGtlcm5lbC5vcmc+IHdyb3RlOgo+IE9uIFRodSwgOSBOb3YgMjAx NywgT2xla3NhbmRyIFR5c2hjaGVua28gd3JvdGU6Cj4+IEZyb206IE9sZWtzYW5kciBEbXl0cnlz aHluIDxvbGVrc2FuZHIuZG15dHJ5c2h5bkBnbG9iYWxsb2dpYy5jb20+Cj4+Cj4+IFRoaXMgc2V0 dGluZ3MgaXMgbm90IG5lZWRlZCBmb3Igc29tZSBhcmNoaXRlY3R1cmVzLgo+PiBTbyBtYWtlIGl0 IHRvIGJlIGNvbmZpZ3VyYWJsZSBhbmQgdXNlIGl0IGZvciB4ODYKPj4gYXJjaGl0ZWN0dXJlLgo+ Pgo+PiBUaGlzIGlzIGEgcmViYXNlZCB2ZXJzaW9uIG9mIHRoZSBvcmlnaW5hbCBwYXRjaDoKPj4g aHR0cHM6Ly9saXN0cy54ZW4ub3JnL2FyY2hpdmVzL2h0bWwveGVuLWRldmVsLzIwMTQtMTEvbXNn MDA5NDIuaHRtbAo+Pgo+PiBTaWduZWQtb2ZmLWJ5OiBPbGVrc2FuZHIgRG15dHJ5c2h5biA8b2xl a3NhbmRyLmRteXRyeXNoeW5AZ2xvYmFsbG9naWMuY29tPgo+PiBTaWduZWQtb2ZmLWJ5OiBPbGVr c2FuZHIgVHlzaGNoZW5rbyA8b2xla3NhbmRyX3R5c2hjaGVua29AZXBhbS5jb20+Cj4+IENDOiBK YW4gQmV1bGljaCA8amJldWxpY2hAc3VzZS5jb20+Cj4+IENDOiBBbmRyZXcgQ29vcGVyIDxhbmRy ZXcuY29vcGVyM0BjaXRyaXguY29tPgo+PiBDQzogU3RlZmFubyBTdGFiZWxsaW5pIDxzc3RhYmVs bGluaUBrZXJuZWwub3JnPgo+PiBDQzogSnVsaWVuIEdyYWxsIDxqdWxpZW4uZ3JhbGxAbGluYXJv Lm9yZz4KPj4gLS0tCj4+ICB4ZW4vYXJjaC94ODYvS2NvbmZpZyAgICAgICAgICB8ICAxICsKPj4g IHhlbi9kcml2ZXJzL2NwdWZyZXEvS2NvbmZpZyAgIHwgIDMgKysrCj4+ICB4ZW4vZHJpdmVycy9j cHVmcmVxL3V0aWxpdHkuYyB8IDExICsrKysrKysrKystCj4+ICB4ZW4vZHJpdmVycy9wbS9zdGF0 LmMgICAgICAgICB8ICA2ICsrKysrKwo+PiAgeGVuL2luY2x1ZGUveGVuL2NwdWZyZXEuaCAgICAg fCAgNiArKysrKysKPj4gIDUgZmlsZXMgY2hhbmdlZCwgMjYgaW5zZXJ0aW9ucygrKSwgMSBkZWxl dGlvbigtKQo+Pgo+PiBkaWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2L0tjb25maWcgYi94ZW4vYXJj aC94ODYvS2NvbmZpZwo+PiBpbmRleCA4NmM4ZWNhLi5jMWVhYzFkIDEwMDY0NAo+PiAtLS0gYS94 ZW4vYXJjaC94ODYvS2NvbmZpZwo+PiArKysgYi94ZW4vYXJjaC94ODYvS2NvbmZpZwo+PiBAQCAt MjQsNiArMjQsNyBAQCBjb25maWcgWDg2Cj4+ICAgICAgIHNlbGVjdCBOVU1BCj4+ICAgICAgIHNl bGVjdCBWR0EKPj4gICAgICAgc2VsZWN0IEhBU19QTQo+PiArICAgICBzZWxlY3QgSEFTX0NQVV9U VVJCTwo+Pgo+PiAgY29uZmlnIEFSQ0hfREVGQ09ORklHCj4+ICAgICAgIHN0cmluZwo+PiBkaWZm IC0tZ2l0IGEveGVuL2RyaXZlcnMvY3B1ZnJlcS9LY29uZmlnIGIveGVuL2RyaXZlcnMvY3B1ZnJl cS9LY29uZmlnCj4+IGluZGV4IGNjZTgwZjQuLjQyN2VhMmEgMTAwNjQ0Cj4+IC0tLSBhL3hlbi9k cml2ZXJzL2NwdWZyZXEvS2NvbmZpZwo+PiArKysgYi94ZW4vZHJpdmVycy9jcHVmcmVxL0tjb25m aWcKPj4gQEAgLTEsMyArMSw2IEBACj4+Cj4+ICBjb25maWcgSEFTX0NQVUZSRVEKPj4gICAgICAg Ym9vbAo+PiArCj4+ICtjb25maWcgSEFTX0NQVV9UVVJCTwo+PiArICAgICBib29sCj4+IGRpZmYg LS1naXQgYS94ZW4vZHJpdmVycy9jcHVmcmVxL3V0aWxpdHkuYyBiL3hlbi9kcml2ZXJzL2NwdWZy ZXEvdXRpbGl0eS5jCj4+IGluZGV4IGE2ODdlNWEuLjI1YmY5ODMgMTAwNjQ0Cj4+IC0tLSBhL3hl bi9kcml2ZXJzL2NwdWZyZXEvdXRpbGl0eS5jCj4+ICsrKyBiL3hlbi9kcml2ZXJzL2NwdWZyZXEv dXRpbGl0eS5jCj4+IEBAIC0yMDksNyArMjA5LDkgQEAgaW50IGNwdWZyZXFfZnJlcXVlbmN5X3Rh YmxlX2NwdWluZm8oc3RydWN0IGNwdWZyZXFfcG9saWN5ICpwb2xpY3ksCj4+ICB7Cj4+ICAgICAg dW5zaWduZWQgaW50IG1pbl9mcmVxID0gfjA7Cj4+ICAgICAgdW5zaWduZWQgaW50IG1heF9mcmVx ID0gMDsKPj4gKyNpZmRlZiBDT05GSUdfSEFTX0NQVV9UVVJCTwo+PiAgICAgIHVuc2lnbmVkIGlu dCBzZWNvbmRfbWF4X2ZyZXEgPSAwOwo+PiArI2VuZGlmCj4+ICAgICAgdW5zaWduZWQgaW50IGk7 Cj4+Cj4+ICAgICAgZm9yIChpPTA7ICh0YWJsZVtpXS5mcmVxdWVuY3kgIT0gQ1BVRlJFUV9UQUJM RV9FTkQpOyBpKyspIHsKPj4gQEAgLTIyMSw2ICsyMjMsNyBAQCBpbnQgY3B1ZnJlcV9mcmVxdWVu Y3lfdGFibGVfY3B1aW5mbyhzdHJ1Y3QgY3B1ZnJlcV9wb2xpY3kgKnBvbGljeSwKPj4gICAgICAg ICAgaWYgKGZyZXEgPiBtYXhfZnJlcSkKPj4gICAgICAgICAgICAgIG1heF9mcmVxID0gZnJlcTsK Pj4gICAgICB9Cj4+ICsjaWZkZWYgQ09ORklHX0hBU19DUFVfVFVSQk8KPj4gICAgICBmb3IgKGk9 MDsgKHRhYmxlW2ldLmZyZXF1ZW5jeSAhPSBDUFVGUkVRX1RBQkxFX0VORCk7IGkrKykgewo+PiAg ICAgICAgICB1bnNpZ25lZCBpbnQgZnJlcSA9IHRhYmxlW2ldLmZyZXF1ZW5jeTsKPj4gICAgICAg ICAgaWYgKGZyZXEgPT0gQ1BVRlJFUV9FTlRSWV9JTlZBTElEIHx8IGZyZXEgPT0gbWF4X2ZyZXEp Cj4+IEBAIC0yMzQsOSArMjM3LDEzIEBAIGludCBjcHVmcmVxX2ZyZXF1ZW5jeV90YWJsZV9jcHVp bmZvKHN0cnVjdCBjcHVmcmVxX3BvbGljeSAqcG9saWN5LAo+PiAgICAgICAgICBwcmludGsoIm1h eF9mcmVxOiAldSAgICBzZWNvbmRfbWF4X2ZyZXE6ICV1XG4iLAo+PiAgICAgICAgICAgICAgICAg bWF4X2ZyZXEsIHNlY29uZF9tYXhfZnJlcSk7Cj4+Cj4+ICsgICAgcG9saWN5LT5jcHVpbmZvLnNl Y29uZF9tYXhfZnJlcSA9IHNlY29uZF9tYXhfZnJlcTsKPj4gKyNlbHNlIC8qICFDT05GSUdfSEFT X0NQVV9UVVJCTyAqLwo+PiArICAgIGlmIChjcHVmcmVxX3ZlcmJvc2UpCj4+ICsgICAgICAgIHBy aW50aygibWF4X2ZyZXE6ICV1XG4iLCBtYXhfZnJlcSk7Cj4+ICsjZW5kaWYgLyogQ09ORklHX0hB U19DUFVfVFVSQk8gKi8KPj4gICAgICBwb2xpY3ktPm1pbiA9IHBvbGljeS0+Y3B1aW5mby5taW5f ZnJlcSA9IG1pbl9mcmVxOwo+PiAgICAgIHBvbGljeS0+bWF4ID0gcG9saWN5LT5jcHVpbmZvLm1h eF9mcmVxID0gbWF4X2ZyZXE7Cj4+IC0gICAgcG9saWN5LT5jcHVpbmZvLnNlY29uZF9tYXhfZnJl cSA9IHNlY29uZF9tYXhfZnJlcTsKPj4KPj4gICAgICBpZiAocG9saWN5LT5taW4gPT0gfjApCj4+ ICAgICAgICAgIHJldHVybiAtRUlOVkFMOwo+PiBAQCAtMzkwLDYgKzM5Nyw3IEBAIGludCBjcHVm cmVxX2RyaXZlcl9nZXRhdmcodW5zaWduZWQgaW50IGNwdSwgdW5zaWduZWQgaW50IGZsYWcpCj4+ ICAgICAgcmV0dXJuIHBvbGljeS0+Y3VyOwo+PiAgfQo+Pgo+PiArI2lmZGVmIENPTkZJR19IQVNf Q1BVX1RVUkJPCj4+ICBpbnQgY3B1ZnJlcV91cGRhdGVfdHVyYm8oaW50IGNwdWlkLCBpbnQgbmV3 X3N0YXRlKQo+PiAgewo+PiAgICAgIHN0cnVjdCBjcHVmcmVxX3BvbGljeSAqcG9saWN5Owo+PiBA QCAtNDMwLDYgKzQzOCw3IEBAIGludCBjcHVmcmVxX2dldF90dXJib19zdGF0dXMoaW50IGNwdWlk KQo+PiAgICAgIHBvbGljeSA9IHBlcl9jcHUoY3B1ZnJlcV9jcHVfcG9saWN5LCBjcHVpZCk7Cj4+ ICAgICAgcmV0dXJuIHBvbGljeSAmJiBwb2xpY3ktPnR1cmJvID09IENQVUZSRVFfVFVSQk9fRU5B QkxFRDsKPj4gIH0KPj4gKyNlbmRpZiAvKiBDT05GSUdfSEFTX0NQVV9UVVJCTyAqLwo+Pgo+PiAg LyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKgo+PiAgICogICAgICAgICAgICAgICAgIFBPTElDWSAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKgo+Cj4gSSBhbSB3b25kZXJpbmcgaWYgd2Ug bmVlZCB0byBnbyBhcyBmYXIgYXMgI2lmZGVmJ2luZwo+IGNwdWZyZXFfdXBkYXRlX3R1cmJvLiBG b3IgdGhlIHNha2Ugb2YgcmVkdWNpbmcgdGhlIG51bWJlciBpZiAjaWZkZWYncywKPiB3b3VsZCBp dCBiZSBlbm91Z2ggaWYgd2Ugb25seSBtYWtlIHN1cmUgaXQgaXMgZGlzYWJsZWQ/Cj4KPiBJbiBv dGhlciB3b3JkcywgSSB3b3VsZCBrZWVwIHRoZSBjaGFuZ2VzIHRvIHN0YXQuYyBidXQgSSB3b3Vs ZCBsZWF2ZQo+IHV0aWxpdHkuYyBhbmQgY3B1ZnJlcS5oIHByZXR0eSBtdWNoIHVudG91Y2hlZC4K Clllcy4gSSB3YXMgdGhpbmtpbmcgYWJvdXQgZHJvcHBpbmcgdGhpcyBwYXRjaCBhdCBhbGwuIElm IHBsYXRmb3JtCmRvZXNuJ3Qgc3VwcG9ydCBDUFUgQm9vc3QsIHRoZSBwbGF0Zm9ybQpkcml2ZXIg c2hvdWxkIGp1c3QgaW5mb3JtIGZyYW1ld29yayBhYm91dCB0aGF0IChwb2xpY3ktPnR1cmJvID0K Q1BVRlJFUV9UVVJCT19VTlNVUFBPUlRFRCkuClRoYXQncyBhbGwuCgpjcHVmcmVxX3VwZGF0ZV90 dXJibygpIHdpbGwgcmV0dXJuIC1FT1BOT1RTVVBQIGlmIHNvbWVvbmUgdHJpZXMgdG8KZW5hYmxl L2Rpc2FibGUgdHVyYm8gbW9kZS4KY3B1ZnJlcV9nZXRfdHVyYm9fc3RhdHVzKCkgd2lsbCByZXR1 cm4gdGhhdCB0dXJibyBtb2RlICJpcyBub3QgZW5hYmxlZCIuCgpBbm90aGVyIHF1ZXN0aW9uIGlz IHNlY29uZF9tYXhfZnJlcS4gQXMgSSB1bmRlcnN0YW5kLCBpdCBpcyBoaWdoZXN0Cm5vbi10dXJi byBmcmVxdWVuY3kgY2FsY3VsYXRlZCBieSBmcmFtZXdvcmsgdG8gbGltaXQgdGFyZ2V0IGZyZXF1 ZW5jeQp3aGVuCnR1cmJvIG1vZGUgImlzIGRpc2FibGVkIi4gQW5kIFhlbiBhc3N1bWVzIHRoYXQg c2Vjb25kX21heF9mcmVxIGlzCmFsd2F5cyBQMSBpZiB0dXJibyBtb2RlIGlzIG9uLgpCdXQsIHRo ZXJlIG1pZ2h0IGJlIGEgY2FzZSB3aGVuIGEgZmV3IGhpZ2hlc3QgZnJlcXVlbmNpZXMgYXJlCnR1 cmJvLWZyZXF1ZW5jaWVzLiBTbywgSSBwcm9wb3NlIHRvIGFkZCBhbiBleHRyYSBmbGFnIGZvciBo YW5kbGluZwp0aGF0LgpTbywgZWFjaCBDUFVGcmVxIGRyaXZlciByZXNwb25zaWJpbGl0eSB3aWxs IGJlIHRvIG1hcmsKdHVyYm8tZnJlcXVlbmN5KGllcykgZm9yIHRoZSBmcmFtZXdvcmsgdG8gcHJv cGVybHkgY2FsY3VsYXRlCnNlY29uZF9tYXhfZnJlcS4KClNvbWV0aGluZyBsaWtlIHRoYXQ6Cgpk aWZmIC0tZ2l0IGEveGVuL2RyaXZlcnMvY3B1ZnJlcS91dGlsaXR5LmMgYi94ZW4vZHJpdmVycy9j cHVmcmVxL3V0aWxpdHkuYwppbmRleCAyNWJmOTgzLi4xMjJhODhiIDEwMDY0NAotLS0gYS94ZW4v ZHJpdmVycy9jcHVmcmVxL3V0aWxpdHkuYworKysgYi94ZW4vZHJpdmVycy9jcHVmcmVxL3V0aWxp dHkuYwpAQCAtMjI2LDcgKzIyNiw4IEBAIGludCBjcHVmcmVxX2ZyZXF1ZW5jeV90YWJsZV9jcHVp bmZvKHN0cnVjdApjcHVmcmVxX3BvbGljeSAqcG9saWN5LAogI2lmZGVmIENPTkZJR19IQVNfQ1BV X1RVUkJPCiAgICAgZm9yIChpPTA7ICh0YWJsZVtpXS5mcmVxdWVuY3kgIT0gQ1BVRlJFUV9UQUJM RV9FTkQpOyBpKyspIHsKICAgICAgICAgdW5zaWduZWQgaW50IGZyZXEgPSB0YWJsZVtpXS5mcmVx dWVuY3k7Ci0gICAgICAgIGlmIChmcmVxID09IENQVUZSRVFfRU5UUllfSU5WQUxJRCB8fCBmcmVx ID09IG1heF9mcmVxKQorICAgICAgICBpZiAoKGZyZXEgPT0gQ1BVRlJFUV9FTlRSWV9JTlZBTElE KSB8fAorICAgICAgICAgICAgKHRhYmxlW2ldLmZsYWdzICYgQ1BVRlJFUV9CT09TVF9GUkVRKSkK ICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICBpZiAoZnJlcSA+IHNlY29uZF9tYXhfZnJl cSkKICAgICAgICAgICAgIHNlY29uZF9tYXhfZnJlcSA9IGZyZXE7CmRpZmYgLS1naXQgYS94ZW4v aW5jbHVkZS94ZW4vY3B1ZnJlcS5oIGIveGVuL2luY2x1ZGUveGVuL2NwdWZyZXEuaAppbmRleCAy ZTBjMTZhLi43N2IyOWRhIDEwMDY0NAotLS0gYS94ZW4vaW5jbHVkZS94ZW4vY3B1ZnJlcS5oCisr KyBiL3hlbi9pbmNsdWRlL3hlbi9jcHVmcmVxLmgKQEAgLTIwNCw3ICsyMDQsMTEgQEAgdm9pZCBj cHVmcmVxX3ZlcmlmeV93aXRoaW5fbGltaXRzKHN0cnVjdApjcHVmcmVxX3BvbGljeSAqcG9saWN5 LAogI2RlZmluZSBDUFVGUkVRX0VOVFJZX0lOVkFMSUQgfjAKICNkZWZpbmUgQ1BVRlJFUV9UQUJM RV9FTkQgICAgIH4xCgorLyogU3BlY2lhbCBWYWx1ZXMgb2YgLmZsYWdzIGZpZWxkICovCisjZGVm aW5lIENQVUZSRVFfQk9PU1RfRlJFUSAgICAoMSA8PCAwKQorCiBzdHJ1Y3QgY3B1ZnJlcV9mcmVx dWVuY3lfdGFibGUgeworICAgICAgIHVuc2lnbmVkIGludCAgICBmbGFnczsKICAgICB1bnNpZ25l ZCBpbnQgICAgaW5kZXg7ICAgICAvKiBhbnkgKi8KICAgICB1bnNpZ25lZCBpbnQgICAgZnJlcXVl bmN5OyAvKiBrSHogLSBkb2Vzbid0IG5lZWQgdG8gYmUgaW4gYXNjZW5kaW5nCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICogb3JkZXIgKi8KCkJvdGggZXhpc3Rpbmcgb24geDg2IENQ VUZyZXEgZHJpdmVycyBqdXN0IG5lZWQgdG8gbWFyayBQMCBmcmVxdWVuY3kgYXMKYSB0dXJiby1m cmVxdWVuY3kgaWYgdHVyYm8gbW9kZSAiaXMgc3VwcG9ydGVkIi4gQW0gSSBjb3JyZWN0PwoKQW5k IHRoZSBtb3N0IGltcG9ydGFudCBxdWVzdGlvbiBpcyBob3cgdG8gcmVjb2duaXplIGluIFhlbiBv biBBUk0KKHVzaW5nIFNDUEkgcHJvdG9jb2wpIHdoaWNoIGZyZXF1ZW5jaWVzIGFyZSB0dXJiby1m cmVxdWVuY2llcwphY3R1YWxseT8gSSBjb3VsZG4ndCBmaW5kIGFueSBpbmZvcm1hdGlvbiByZWdh cmRpbmcgdGhhdCBpbiBwcm90b2NvbApkZXNjcmlwdGlvbi4KRm9yIERULWJhc2VkIENQVUZyZXEg aXQgaXMgbm90IGFuIGlzc3VlLCBzaW5jZSB0aGVyZSBpcyBhIHNwZWNpZmljCnByb3BlcnR5ICJ0 dXJiby1tb2RlIiB0byBtYXJrIGNvcnJlc3BvbmRpbmcgT1BQcy4gWzFdLgpCdXQgbmVpdGhlciBT Q1BJIERUIGJpbmRpbmdzIFsyXSBub3IgdGhlIFNDUEkgcHJvdG9jb2wgaXRzZWxmIFszXQptZW50 aW9ucyBhYm91dCBpdC4gUGVyaGFwcywgYWRkaXRpb25hbCBjb21tYW5kIHNob3VsZCBiZSBhZGRl ZCB0byBwYXNzCnN1Y2ggaW5mby4KClsxXSBodHRwczovL3d3dy5rZXJuZWwub3JnL2RvYy9Eb2N1 bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3Mvb3BwL29wcC50eHQKWzJdIGh0dHA6Ly9lbGl4 aXIuZnJlZS1lbGVjdHJvbnMuY29tL2xpbnV4L3Y0LjE1LXJjMS9zb3VyY2UvRG9jdW1lbnRhdGlv bi9kZXZpY2V0cmVlL2JpbmRpbmdzL2FybS9hcm0sc2NwaS50eHQKWzNdIGh0dHA6Ly9pbmZvY2Vu dGVyLmFybS5jb20vaGVscC90b3BpYy9jb20uYXJtLmRvYy5kdWkwOTIyZy9zY3BfbWVzc2FnZV9p bnRlcmZhY2VfdjFfMl9EVUkwOTIyR19lbi5wZGYKCj4KPgo+PiBkaWZmIC0tZ2l0IGEveGVuL2Ry aXZlcnMvcG0vc3RhdC5jIGIveGVuL2RyaXZlcnMvcG0vc3RhdC5jCj4+IGluZGV4IDJkYmRlMWMu LjEzM2U2NGQgMTAwNjQ0Cj4+IC0tLSBhL3hlbi9kcml2ZXJzL3BtL3N0YXQuYwo+PiArKysgYi94 ZW4vZHJpdmVycy9wbS9zdGF0LmMKPj4gQEAgLTI5MCw3ICsyOTAsMTEgQEAgc3RhdGljIGludCBn ZXRfY3B1ZnJlcV9wYXJhKHN0cnVjdCB4ZW5fc3lzY3RsX3BtX29wICpvcCkKPj4gICAgICAgICAg ICAgICZvcC0+dS5nZXRfcGFyYS51Lm9uZGVtYW5kLnNhbXBsaW5nX3JhdGUsCj4+ICAgICAgICAg ICAgICAmb3AtPnUuZ2V0X3BhcmEudS5vbmRlbWFuZC51cF90aHJlc2hvbGQpOwo+PiAgICAgIH0K Pj4gKyNpZmRlZiBDT05GSUdfSEFTX0NQVV9UVVJCTwo+PiAgICAgIG9wLT51LmdldF9wYXJhLnR1 cmJvX2VuYWJsZWQgPSBjcHVmcmVxX2dldF90dXJib19zdGF0dXMob3AtPmNwdWlkKTsKPj4gKyNl bHNlCj4+ICsgICAgb3AtPnUuZ2V0X3BhcmEudHVyYm9fZW5hYmxlZCA9IDA7Cj4+ICsjZW5kaWYK Pj4KPj4gICAgICByZXR1cm4gcmV0Owo+PiAgfQo+PiBAQCAtNDczLDYgKzQ3Nyw3IEBAIGludCBk b19wbV9vcChzdHJ1Y3QgeGVuX3N5c2N0bF9wbV9vcCAqb3ApCj4+ICAgICAgICAgIGJyZWFrOwo+ PiAgICAgIH0KPj4KPj4gKyNpZmRlZiBDT05GSUdfSEFTX0NQVV9UVVJCTwo+PiAgICAgIGNhc2Ug WEVOX1NZU0NUTF9wbV9vcF9lbmFibGVfdHVyYm86Cj4+ICAgICAgewo+PiAgICAgICAgICByZXQg PSBjcHVmcmVxX3VwZGF0ZV90dXJibyhvcC0+Y3B1aWQsIENQVUZSRVFfVFVSQk9fRU5BQkxFRCk7 Cj4+IEBAIC00ODQsNiArNDg5LDcgQEAgaW50IGRvX3BtX29wKHN0cnVjdCB4ZW5fc3lzY3RsX3Bt X29wICpvcCkKPj4gICAgICAgICAgcmV0ID0gY3B1ZnJlcV91cGRhdGVfdHVyYm8ob3AtPmNwdWlk LCBDUFVGUkVRX1RVUkJPX0RJU0FCTEVEKTsKPj4gICAgICAgICAgYnJlYWs7Cj4+ICAgICAgfQo+ PiArI2VuZGlmIC8qIENPTkZJR19IQVNfQ1BVX1RVUkJPICovCj4+Cj4+ICAgICAgZGVmYXVsdDoK Pj4gICAgICAgICAgcHJpbnRrKCJub3QgZGVmaW5lZCBzdWItaHlwZXJjYWxsIEAgZG9fcG1fb3Bc biIpOwo+PiBkaWZmIC0tZ2l0IGEveGVuL2luY2x1ZGUveGVuL2NwdWZyZXEuaCBiL3hlbi9pbmNs dWRlL3hlbi9jcHVmcmVxLmgKPj4gaW5kZXggMzBjNzBjOS4uMmUwYzE2YSAxMDA2NDQKPj4gLS0t IGEveGVuL2luY2x1ZGUveGVuL2NwdWZyZXEuaAo+PiArKysgYi94ZW4vaW5jbHVkZS94ZW4vY3B1 ZnJlcS5oCj4+IEBAIC0zOSw3ICszOSw5IEBAIGV4dGVybiBzdHJ1Y3QgYWNwaV9jcHVmcmVxX2Rh dGEgKmNwdWZyZXFfZHJ2X2RhdGFbTlJfQ1BVU107Cj4+Cj4+ICBzdHJ1Y3QgY3B1ZnJlcV9jcHVp bmZvIHsKPj4gICAgICB1bnNpZ25lZCBpbnQgICAgICAgIG1heF9mcmVxOwo+PiArI2lmZGVmIENP TkZJR19IQVNfQ1BVX1RVUkJPCj4+ICAgICAgdW5zaWduZWQgaW50ICAgICAgICBzZWNvbmRfbWF4 X2ZyZXE7ICAgIC8qIFAxIGlmIFR1cmJvIE1vZGUgaXMgb24gKi8KPj4gKyNlbmRpZgo+PiAgICAg IHVuc2lnbmVkIGludCAgICAgICAgbWluX2ZyZXE7Cj4+ICAgICAgdW5zaWduZWQgaW50ICAgICAg ICB0cmFuc2l0aW9uX2xhdGVuY3k7IC8qIGluIDEwXigtOSkgcyA9IG5hbm9zZWNvbmRzICovCj4+ ICB9Owo+PiBAQCAtNzIsOSArNzQsMTEgQEAgc3RydWN0IGNwdWZyZXFfcG9saWN5IHsKPj4KPj4g ICAgICBib29sX3QgICAgICAgICAgICAgIHJlc3VtZTsgLyogZmxhZyBmb3IgY3B1ZnJlcSAxc3Qg cnVuCj4+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqIFMzIHdha2V1cCwgaG90 cGx1ZyBjcHUsIGV0YyAqLwo+PiArI2lmZGVmIENPTkZJR19IQVNfQ1BVX1RVUkJPCj4+ICAgICAg czggICAgICAgICAgICAgICAgICB0dXJibzsgIC8qIHRyaXN0YXRlIGZsYWc6IDAgZm9yIHVuc3Vw cG9ydGVkCj4+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqIC0xIGZvciBkaXNh YmxlLCAxIGZvciBlbmFibGVkCj4+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAq IFNlZSBDUFVGUkVRX1RVUkJPXyogYmVsb3cgZm9yIGRlZmluZXMgKi8KPj4gKyNlbmRpZgo+PiAg ICAgIGJvb2xfdCAgICAgICAgICAgICAgYXBlcmZfbXBlcmY7IC8qIENQVSBoYXMgQVBFUkYvTVBF UkYgTVNScyAqLwo+PiAgfTsKPj4gIERFQ0xBUkVfUEVSX0NQVShzdHJ1Y3QgY3B1ZnJlcV9wb2xp Y3kgKiwgY3B1ZnJlcV9jcHVfcG9saWN5KTsKPj4gQEAgLTEzOCw4ICsxNDIsMTAgQEAgZXh0ZXJu IGludCBjcHVmcmVxX2RyaXZlcl9nZXRhdmcodW5zaWduZWQgaW50IGNwdSwgdW5zaWduZWQgaW50 IGZsYWcpOwo+PiAgI2RlZmluZSBDUFVGUkVRX1RVUkJPX1VOU1VQUE9SVEVEICAgMAo+PiAgI2Rl ZmluZSBDUFVGUkVRX1RVUkJPX0VOQUJMRUQgICAgICAgMQo+Pgo+PiArI2lmZGVmIENPTkZJR19I QVNfQ1BVX1RVUkJPCj4+ICBleHRlcm4gaW50IGNwdWZyZXFfdXBkYXRlX3R1cmJvKGludCBjcHVp ZCwgaW50IG5ld19zdGF0ZSk7Cj4+ICBleHRlcm4gaW50IGNwdWZyZXFfZ2V0X3R1cmJvX3N0YXR1 cyhpbnQgY3B1aWQpOwo+PiArI2VuZGlmCj4+Cj4+ICBzdGF0aWMgX19pbmxpbmVfXyBpbnQKPj4g IF9fY3B1ZnJlcV9nb3Zlcm5vcihzdHJ1Y3QgY3B1ZnJlcV9wb2xpY3kgKnBvbGljeSwgdW5zaWdu ZWQgaW50IGV2ZW50KQoKCgotLSAKUmVnYXJkcywKCk9sZWtzYW5kciBUeXNoY2hlbmtvCgpfX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpYZW4tZGV2ZWwgbWFp bGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZwpodHRwczovL2xpc3RzLnhl bnByb2plY3Qub3JnL21haWxtYW4vbGlzdGluZm8veGVuLWRldmVs