From mboxrd@z Thu Jan 1 00:00:00 1970 From: Oleksandr Tyshchenko Subject: [RFC PATCH 06/31] cpufreq: make cpufreq driver more generalizable Date: Thu, 9 Nov 2017 19:09:56 +0200 Message-ID: <1510247421-24094-7-git-send-email-olekstysh@gmail.com> References: <1510247421-24094-1-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 mail6.bemta6.messagelabs.com ([193.109.254.103]) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eCqLg-0003xk-5C for xen-devel@lists.xenproject.org; Thu, 09 Nov 2017 17:10:40 +0000 Received: by mail-lf0-f65.google.com with SMTP id e143so8033822lfg.12 for ; Thu, 09 Nov 2017 09:10:39 -0800 (PST) In-Reply-To: <1510247421-24094-1-git-send-email-olekstysh@gmail.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: xen-devel@lists.xenproject.org Cc: Stefano Stabellini , Andrew Cooper , Oleksandr Dmytryshyn , Julien Grall , Oleksandr Tyshchenko , Jan Beulich List-Id: xen-devel@lists.xenproject.org RnJvbTogT2xla3NhbmRyIERteXRyeXNoeW4gPG9sZWtzYW5kci5kbXl0cnlzaHluQGdsb2JhbGxv Z2ljLmNvbT4KCkZpcnN0IGltcGxlbWVudGF0aW9uIG9mIHRoZSBjcHVmcmVxIGRyaXZlciBoYXMg YmVlbgp3cml0dGVuIHdpdGggeDg2IGluIG1pbmQuIFRoaXMgcGF0Y2ggbWFrZXMgcG9zc2libGUK dGhlIGNwdWZyZXEgZHJpdmVyIGJlIHdvcmtpbmcgb24gYm90aCB4ODYgYW5kIGFybQphcmNoaXRl Y3R1cmVzLgoKVGhpcyBpcyBhIHJlYmFzZWQgdmVyc2lvbiBvZiB0aGUgb3JpZ2luYWwgcGF0Y2g6 Cmh0dHBzOi8vbGlzdHMueGVuLm9yZy9hcmNoaXZlcy9odG1sL3hlbi1kZXZlbC8yMDE0LTExL21z ZzAwOTMyLmh0bWwKClNpZ25lZC1vZmYtYnk6IE9sZWtzYW5kciBEbXl0cnlzaHluIDxvbGVrc2Fu ZHIuZG15dHJ5c2h5bkBnbG9iYWxsb2dpYy5jb20+ClNpZ25lZC1vZmYtYnk6IE9sZWtzYW5kciBU eXNoY2hlbmtvIDxvbGVrc2FuZHJfdHlzaGNoZW5rb0BlcGFtLmNvbT4KQ0M6IEphbiBCZXVsaWNo IDxqYmV1bGljaEBzdXNlLmNvbT4KQ0M6IEFuZHJldyBDb29wZXIgPGFuZHJldy5jb29wZXIzQGNp dHJpeC5jb20+CkNDOiBTdGVmYW5vIFN0YWJlbGxpbmkgPHNzdGFiZWxsaW5pQGtlcm5lbC5vcmc+ CkNDOiBKdWxpZW4gR3JhbGwgPGp1bGllbi5ncmFsbEBsaW5hcm8ub3JnPgotLS0KIHhlbi9kcml2 ZXJzL2NwdWZyZXEvY3B1ZnJlcS5jICAgIHwgODEgKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKy0tLQogeGVuL2luY2x1ZGUvcHVibGljL3BsYXRmb3JtLmggICAgfCAgMSArCiB4 ZW4vaW5jbHVkZS94ZW4vcHJvY2Vzc29yX3BlcmYuaCB8ICA2ICsrKwogMyBmaWxlcyBjaGFuZ2Vk LCA4MiBpbnNlcnRpb25zKCspLCA2IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3hlbi9kcml2 ZXJzL2NwdWZyZXEvY3B1ZnJlcS5jIGIveGVuL2RyaXZlcnMvY3B1ZnJlcS9jcHVmcmVxLmMKaW5k ZXggYWI5MDllMi4uNjRlMWFlNyAxMDA2NDQKLS0tIGEveGVuL2RyaXZlcnMvY3B1ZnJlcS9jcHVm cmVxLmMKKysrIGIveGVuL2RyaXZlcnMvY3B1ZnJlcS9jcHVmcmVxLmMKQEAgLTQyLDcgKzQyLDYg QEAKICNpbmNsdWRlIDxhc20vaW8uaD4KICNpbmNsdWRlIDxhc20vcHJvY2Vzc29yLmg+CiAjaW5j bHVkZSA8YXNtL3BlcmNwdS5oPgotI2luY2x1ZGUgPGFjcGkvYWNwaS5oPgogI2luY2x1ZGUgPHhl bi9jcHVmcmVxLmg+CiAKIHN0YXRpYyB1bnNpZ25lZCBpbnQgX19yZWFkX21vc3RseSB1c3JfbWlu X2ZyZXE7CkBAIC0yMDYsNiArMjA1LDcgQEAgaW50IGNwdWZyZXFfYWRkX2NwdSh1bnNpZ25lZCBp bnQgY3B1KQogICAgIH0gZWxzZSB7CiAgICAgICAgIC8qIGRvbWFpbiBzYW5pdHkgY2hlY2sgdW5k ZXIgd2hhdGV2ZXIgY29vcmRpbmF0aW9uIHR5cGUgKi8KICAgICAgICAgZmlyc3RjcHUgPSBjcHVt YXNrX2ZpcnN0KGNwdWZyZXFfZG9tLT5tYXApOworI2lmZGVmIENPTkZJR19BQ1BJCiAgICAgICAg IGlmICgocGVyZi0+ZG9tYWluX2luZm8uY29vcmRfdHlwZSAhPQogICAgICAgICAgICAgcHJvY2Vz c29yX3BtaW5mb1tmaXJzdGNwdV0tPnBlcmYuZG9tYWluX2luZm8uY29vcmRfdHlwZSkgfHwKICAg ICAgICAgICAgIChwZXJmLT5kb21haW5faW5mby5udW1fcHJvY2Vzc29ycyAhPQpAQCAtMjIxLDYg KzIyMSwxOSBAQCBpbnQgY3B1ZnJlcV9hZGRfY3B1KHVuc2lnbmVkIGludCBjcHUpCiAgICAgICAg ICAgICAgICAgKTsKICAgICAgICAgICAgIHJldHVybiAtRUlOVkFMOwogICAgICAgICB9CisjZWxz ZSAvKiAhQ09ORklHX0FDUEkgKi8KKyAgICAgICAgaWYgKChwZXJmLT5kb21haW5faW5mby5udW1f cHJvY2Vzc29ycyAhPQorICAgICAgICAgICAgcHJvY2Vzc29yX3BtaW5mb1tmaXJzdGNwdV0tPnBl cmYuZG9tYWluX2luZm8ubnVtX3Byb2Nlc3NvcnMpKSB7CisKKyAgICAgICAgICAgIHByaW50ayhL RVJOX1dBUk5JTkcgImNwdWZyZXEgZmFpbCB0byBhZGQgQ1BVJWQ6IgorICAgICAgICAgICAgICAg ICAgICJpbmNvcnJlY3QgbnVtIHByb2Nlc3NvcnMgKCUiUFJJdTY0IiksICIKKyAgICAgICAgICAg ICAgICAgICAiZXhwZWN0KCUiUFJJdTY0IilcbiIsCisgICAgICAgICAgICAgICAgICAgY3B1LCBw ZXJmLT5kb21haW5faW5mby5udW1fcHJvY2Vzc29ycywKKyAgICAgICAgICAgICAgICAgICBwcm9j ZXNzb3JfcG1pbmZvW2ZpcnN0Y3B1XS0+cGVyZi5kb21haW5faW5mby5udW1fcHJvY2Vzc29ycwor ICAgICAgICAgICAgICAgICk7CisgICAgICAgICAgICByZXR1cm4gLUVJTlZBTDsKKyAgICAgICAg fQorI2VuZGlmIC8qIENPTkZJR19BQ1BJICovCiAgICAgfQogCiAgICAgaWYgKCFkb21leGlzdCB8 fCBod19hbGwpIHsKQEAgLTM4MCw2ICszOTMsNyBAQCBpbnQgY3B1ZnJlcV9kZWxfY3B1KHVuc2ln bmVkIGludCBjcHUpCiAgICAgcmV0dXJuIDA7CiB9CiAKKyNpZmRlZiBDT05GSUdfQUNQSQogc3Rh dGljIHZvaWQgcHJpbnRfUENUKHN0cnVjdCB4ZW5fcGN0X3JlZ2lzdGVyICpwdHIpCiB7CiAgICAg cHJpbnRrKCJcdF9QQ1Q6IGRlc2NyaXB0b3I9JWQsIGxlbmd0aD0lZCwgc3BhY2VfaWQ9JWQsICIK QEAgLTM4NywxMiArNDAxLDE0IEBAIHN0YXRpYyB2b2lkIHByaW50X1BDVChzdHJ1Y3QgeGVuX3Bj dF9yZWdpc3RlciAqcHRyKQogICAgICAgICAgICBwdHItPmRlc2NyaXB0b3IsIHB0ci0+bGVuZ3Ro LCBwdHItPnNwYWNlX2lkLCBwdHItPmJpdF93aWR0aCwKICAgICAgICAgICAgcHRyLT5iaXRfb2Zm c2V0LCBwdHItPnJlc2VydmVkLCBwdHItPmFkZHJlc3MpOwogfQorI2VuZGlmIC8qIENPTkZJR19B Q1BJICovCiAKIHN0YXRpYyB2b2lkIHByaW50X1BTUyhzdHJ1Y3QgeGVuX3Byb2Nlc3Nvcl9weCAq cHRyLCBpbnQgY291bnQpCiB7CiAgICAgaW50IGk7CiAgICAgcHJpbnRrKCJcdF9QU1M6IHN0YXRl X2NvdW50PSVkXG4iLCBjb3VudCk7CiAgICAgZm9yIChpPTA7IGk8Y291bnQ7IGkrKyl7CisjaWZk ZWYgQ09ORklHX0FDUEkKICAgICAgICAgcHJpbnRrKCJcdFN0YXRlJWQ6ICUiUFJJZDY0Ik1IeiAl IlBSSWQ2NCJtVyAlIlBSSWQ2NCJ1cyAiCiAgICAgICAgICAgICAgICAiJSJQUklkNjQidXMgJSMi UFJJeDY0IiAlIyJQUkl4NjQiXG4iLAogICAgICAgICAgICAgICAgaSwKQEAgLTQwMiwxNSArNDE4 LDI2IEBAIHN0YXRpYyB2b2lkIHByaW50X1BTUyhzdHJ1Y3QgeGVuX3Byb2Nlc3Nvcl9weCAqcHRy LCBpbnQgY291bnQpCiAgICAgICAgICAgICAgICBwdHJbaV0uYnVzX21hc3Rlcl9sYXRlbmN5LAog ICAgICAgICAgICAgICAgcHRyW2ldLmNvbnRyb2wsCiAgICAgICAgICAgICAgICBwdHJbaV0uc3Rh dHVzKTsKKyNlbHNlIC8qICFDT05GSUdfQUNQSSAqLworICAgICAgICBwcmludGsoIlx0U3RhdGUl ZDogJSJQUklkNjQiTUh6ICUiUFJJZDY0InVzXG4iLAorICAgICAgICAgICAgICAgaSwKKyAgICAg ICAgICAgICAgIHB0cltpXS5jb3JlX2ZyZXF1ZW5jeSwKKyAgICAgICAgICAgICAgIHB0cltpXS50 cmFuc2l0aW9uX2xhdGVuY3kpOworI2VuZGlmIC8qIENPTkZJR19BQ1BJICovCiAgICAgfQogfQog CiBzdGF0aWMgdm9pZCBwcmludF9QU0QoIHN0cnVjdCB4ZW5fcHNkX3BhY2thZ2UgKnB0cikKIHsK KyNpZmRlZiBDT05GSUdfQUNQSQogICAgIHByaW50aygiXHRfUFNEOiBudW1fZW50cmllcz0lIlBS SWQ2NCIgcmV2PSUiUFJJZDY0CiAgICAgICAgICAgICIgZG9tYWluPSUiUFJJZDY0IiBjb29yZF90 eXBlPSUiUFJJZDY0IiBudW1fcHJvY2Vzc29ycz0lIlBSSWQ2NCJcbiIsCiAgICAgICAgICAgIHB0 ci0+bnVtX2VudHJpZXMsIHB0ci0+cmV2aXNpb24sIHB0ci0+ZG9tYWluLCBwdHItPmNvb3JkX3R5 cGUsCiAgICAgICAgICAgIHB0ci0+bnVtX3Byb2Nlc3NvcnMpOworI2Vsc2UgLyogIUNPTkZJR19B Q1BJICovCisgICAgcHJpbnRrKCJcdF9QU0Q6ICBkb21haW49JSJQUklkNjQiIG51bV9wcm9jZXNz b3JzPSUiUFJJZDY0IlxuIiwKKyAgICAgICAgICAgcHRyLT5kb21haW4sIHB0ci0+bnVtX3Byb2Nl c3NvcnMpOworI2VuZGlmIC8qIENPTkZJR19BQ1BJICovCiB9CiAKIHN0YXRpYyB2b2lkIHByaW50 X1BQQyh1bnNpZ25lZCBpbnQgcGxhdGZvcm1fbGltaXQpCkBAIC00MTgsMTMgKzQ0NSw1MyBAQCBz dGF0aWMgdm9pZCBwcmludF9QUEModW5zaWduZWQgaW50IHBsYXRmb3JtX2xpbWl0KQogICAgIHBy aW50aygiXHRfUFBDOiAlZFxuIiwgcGxhdGZvcm1fbGltaXQpOwogfQogCitzdGF0aWMgaW5saW5l IGJvb2wgaXNfcHNzX2RhdGEoc3RydWN0IHhlbl9wcm9jZXNzb3JfcGVyZm9ybWFuY2UgKnB4KQor eworI2lmZGVmIENPTkZJR19BQ1BJCisgICAgcmV0dXJuIHB4LT5mbGFncyAmIFhFTl9QWF9QU1M7 CisjZWxzZQorICAgIHJldHVybiBweC0+ZmxhZ3MgPT0gWEVOX1BYX0RBVEE7CisjZW5kaWYKK30K Kworc3RhdGljIGlubGluZSBib29sIGlzX3BzZF9kYXRhKHN0cnVjdCB4ZW5fcHJvY2Vzc29yX3Bl cmZvcm1hbmNlICpweCkKK3sKKyNpZmRlZiBDT05GSUdfQUNQSQorICAgIHJldHVybiBweC0+Zmxh Z3MgJiBYRU5fUFhfUFNEOworI2Vsc2UKKyAgICByZXR1cm4gcHgtPmZsYWdzID09IFhFTl9QWF9E QVRBOworI2VuZGlmCit9CisKK3N0YXRpYyBpbmxpbmUgYm9vbCBpc19wcGNfZGF0YShzdHJ1Y3Qg eGVuX3Byb2Nlc3Nvcl9wZXJmb3JtYW5jZSAqcHgpCit7CisjaWZkZWYgQ09ORklHX0FDUEkKKyAg ICByZXR1cm4gcHgtPmZsYWdzICYgWEVOX1BYX1BQQzsKKyNlbHNlCisgICAgcmV0dXJuIHB4LT5m bGFncyA9PSBYRU5fUFhfREFUQTsKKyNlbmRpZgorfQorCitzdGF0aWMgaW5saW5lIGJvb2wgaXNf YWxsX2RhdGEoc3RydWN0IHhlbl9wcm9jZXNzb3JfcGVyZm9ybWFuY2UgKnB4KQoreworI2lmZGVm IENPTkZJR19BQ1BJCisgICAgcmV0dXJuIHB4LT5mbGFncyA9PSAoIFhFTl9QWF9QQ1QgfCBYRU5f UFhfUFNTIHwgWEVOX1BYX1BTRCB8IFhFTl9QWF9QUEMgKTsKKyNlbHNlCisgICAgcmV0dXJuIHB4 LT5mbGFncyA9PSBYRU5fUFhfREFUQTsKKyNlbmRpZgorfQorCiBpbnQgc2V0X3B4X3BtaW5mbyh1 aW50MzJfdCBhY3BpX2lkLCBzdHJ1Y3QgeGVuX3Byb2Nlc3Nvcl9wZXJmb3JtYW5jZSAqZG9tMF9w eF9pbmZvKQogewogICAgIGludCByZXQ9MCwgY3B1aWQ7CiAgICAgc3RydWN0IHByb2Nlc3Nvcl9w bWluZm8gKnBtcHQ7CiAgICAgc3RydWN0IHByb2Nlc3Nvcl9wZXJmb3JtYW5jZSAqcHhwdDsKIAor I2lmZGVmIENPTkZJR19BQ1BJCiAgICAgY3B1aWQgPSBnZXRfY3B1X2lkKGFjcGlfaWQpOworI2Vs c2UKKyAgICBjcHVpZCA9IGFjcGlfaWQ7CisjZW5kaWYKICAgICBpZiAoIGNwdWlkIDwgMCB8fCAh ZG9tMF9weF9pbmZvKQogICAgIHsKICAgICAgICAgcmV0ID0gLUVJTlZBTDsKQEAgLTQ0Niw2ICs1 MTMsOCBAQCBpbnQgc2V0X3B4X3BtaW5mbyh1aW50MzJfdCBhY3BpX2lkLCBzdHJ1Y3QgeGVuX3By b2Nlc3Nvcl9wZXJmb3JtYW5jZSAqZG9tMF9weF9pbgogICAgICAgICBwcm9jZXNzb3JfcG1pbmZv W2NwdWlkXSA9IHBtcHQ7CiAgICAgfQogICAgIHB4cHQgPSAmcG1wdC0+cGVyZjsKKworI2lmZGVm IENPTkZJR19BQ1BJCiAgICAgcG1wdC0+YWNwaV9pZCA9IGFjcGlfaWQ7CiAgICAgcG1wdC0+aWQg PSBjcHVpZDsKIApAQCAtNDcyLDggKzU0MSw5IEBAIGludCBzZXRfcHhfcG1pbmZvKHVpbnQzMl90 IGFjcGlfaWQsIHN0cnVjdCB4ZW5fcHJvY2Vzc29yX3BlcmZvcm1hbmNlICpkb20wX3B4X2luCiAg ICAgICAgICAgICBwcmludF9QQ1QoJnB4cHQtPnN0YXR1c19yZWdpc3Rlcik7CiAgICAgICAgIH0K ICAgICB9CisjZW5kaWYgLyogQ09ORklHX0FDUEkgKi8KIAotICAgIGlmICggZG9tMF9weF9pbmZv LT5mbGFncyAmIFhFTl9QWF9QU1MgKSAKKyAgICBpZiAoIGlzX3Bzc19kYXRhKGRvbTBfcHhfaW5m bykgKQogICAgIHsKICAgICAgICAgLyogY2FwYWJpbGl0eSBjaGVjayAqLwogICAgICAgICBpZiAo ZG9tMF9weF9pbmZvLT5zdGF0ZV9jb3VudCA8PSAxKQpAQCAtNTAwLDcgKzU3MCw3IEBAIGludCBz ZXRfcHhfcG1pbmZvKHVpbnQzMl90IGFjcGlfaWQsIHN0cnVjdCB4ZW5fcHJvY2Vzc29yX3BlcmZv cm1hbmNlICpkb20wX3B4X2luCiAgICAgICAgICAgICBwcmludF9QU1MocHhwdC0+c3RhdGVzLHB4 cHQtPnN0YXRlX2NvdW50KTsKICAgICB9CiAKLSAgICBpZiAoIGRvbTBfcHhfaW5mby0+ZmxhZ3Mg JiBYRU5fUFhfUFNEICkKKyAgICBpZiAoIGlzX3BzZF9kYXRhKGRvbTBfcHhfaW5mbykgKQogICAg IHsKICAgICAgICAgLyogY2hlY2sgZG9tYWluIGNvb3JkaW5hdGlvbiAqLwogICAgICAgICBpZiAo ZG9tMF9weF9pbmZvLT5zaGFyZWRfdHlwZSAhPSBDUFVGUkVRX1NIQVJFRF9UWVBFX0FMTCAmJgpA QCAtNTIwLDcgKzU5MCw3IEBAIGludCBzZXRfcHhfcG1pbmZvKHVpbnQzMl90IGFjcGlfaWQsIHN0 cnVjdCB4ZW5fcHJvY2Vzc29yX3BlcmZvcm1hbmNlICpkb20wX3B4X2luCiAgICAgICAgICAgICBw cmludF9QU0QoJnB4cHQtPmRvbWFpbl9pbmZvKTsKICAgICB9CiAKLSAgICBpZiAoIGRvbTBfcHhf aW5mby0+ZmxhZ3MgJiBYRU5fUFhfUFBDICkKKyAgICBpZiAoIGlzX3BwY19kYXRhKGRvbTBfcHhf aW5mbykgKQogICAgIHsKICAgICAgICAgcHhwdC0+cGxhdGZvcm1fbGltaXQgPSBkb20wX3B4X2lu Zm8tPnBsYXRmb3JtX2xpbWl0OwogCkBAIC01MzQsOCArNjA0LDcgQEAgaW50IHNldF9weF9wbWlu Zm8odWludDMyX3QgYWNwaV9pZCwgc3RydWN0IHhlbl9wcm9jZXNzb3JfcGVyZm9ybWFuY2UgKmRv bTBfcHhfaW4KICAgICAgICAgfQogICAgIH0KIAotICAgIGlmICggZG9tMF9weF9pbmZvLT5mbGFn cyA9PSAoIFhFTl9QWF9QQ1QgfCBYRU5fUFhfUFNTIHwKLSAgICAgICAgICAgICAgICBYRU5fUFhf UFNEIHwgWEVOX1BYX1BQQyApICkKKyAgICBpZiAoIGlzX2FsbF9kYXRhKGRvbTBfcHhfaW5mbykg KQogICAgIHsKICAgICAgICAgcHhwdC0+aW5pdCA9IFhFTl9QWF9JTklUOwogCmRpZmYgLS1naXQg YS94ZW4vaW5jbHVkZS9wdWJsaWMvcGxhdGZvcm0uaCBiL3hlbi9pbmNsdWRlL3B1YmxpYy9wbGF0 Zm9ybS5oCmluZGV4IDk0ZGJjM2YuLjMyODU3OWMgMTAwNjQ0Ci0tLSBhL3hlbi9pbmNsdWRlL3B1 YmxpYy9wbGF0Zm9ybS5oCisrKyBiL3hlbi9pbmNsdWRlL3B1YmxpYy9wbGF0Zm9ybS5oCkBAIC0z ODQsNiArMzg0LDcgQEAgREVGSU5FX1hFTl9HVUVTVF9IQU5ETEUoeGVucGZfZ2V0aWRsZXRpbWVf dCk7CiAjZGVmaW5lIFhFTl9QWF9QU1MgICAyCiAjZGVmaW5lIFhFTl9QWF9QUEMgICA0CiAjZGVm aW5lIFhFTl9QWF9QU0QgICA4CisjZGVmaW5lIFhFTl9QWF9EQVRBICAxNgogCiBzdHJ1Y3QgeGVu X3Bvd2VyX3JlZ2lzdGVyIHsKICAgICB1aW50MzJfdCAgICAgc3BhY2VfaWQ7CmRpZmYgLS1naXQg YS94ZW4vaW5jbHVkZS94ZW4vcHJvY2Vzc29yX3BlcmYuaCBiL3hlbi9pbmNsdWRlL3hlbi9wcm9j ZXNzb3JfcGVyZi5oCmluZGV4IGQ4YTFiYTYuLmFmZGNjZjIgMTAwNjQ0Ci0tLSBhL3hlbi9pbmNs dWRlL3hlbi9wcm9jZXNzb3JfcGVyZi5oCisrKyBiL3hlbi9pbmNsdWRlL3hlbi9wcm9jZXNzb3Jf cGVyZi5oCkBAIC0zLDcgKzMsOSBAQAogCiAjaW5jbHVkZSA8cHVibGljL3BsYXRmb3JtLmg+CiAj aW5jbHVkZSA8cHVibGljL3N5c2N0bC5oPgorI2lmZGVmIENPTkZJR19BQ1BJCiAjaW5jbHVkZSA8 eGVuL2FjcGkuaD4KKyNlbmRpZgogCiAjZGVmaW5lIFhFTl9QWF9JTklUIDB4ODAwMDAwMDAKIApA QCAtMjQsOCArMjYsMTAgQEAgaW50ICBjcHVmcmVxX2RlbF9jcHUodW5zaWduZWQgaW50KTsKIHN0 cnVjdCBwcm9jZXNzb3JfcGVyZm9ybWFuY2UgewogICAgIHVpbnQzMl90IHN0YXRlOwogICAgIHVp bnQzMl90IHBsYXRmb3JtX2xpbWl0OworI2lmZGVmIENPTkZJR19BQ1BJCiAgICAgc3RydWN0IHhl bl9wY3RfcmVnaXN0ZXIgY29udHJvbF9yZWdpc3RlcjsKICAgICBzdHJ1Y3QgeGVuX3BjdF9yZWdp c3RlciBzdGF0dXNfcmVnaXN0ZXI7CisjZW5kaWYKICAgICB1aW50MzJfdCBzdGF0ZV9jb3VudDsK ICAgICBzdHJ1Y3QgeGVuX3Byb2Nlc3Nvcl9weCAqc3RhdGVzOwogICAgIHN0cnVjdCB4ZW5fcHNk X3BhY2thZ2UgZG9tYWluX2luZm87CkBAIC0zNSw4ICszOSwxMCBAQCBzdHJ1Y3QgcHJvY2Vzc29y X3BlcmZvcm1hbmNlIHsKIH07CiAKIHN0cnVjdCBwcm9jZXNzb3JfcG1pbmZvIHsKKyNpZmRlZiBD T05GSUdfQUNQSQogICAgIHVpbnQzMl90IGFjcGlfaWQ7CiAgICAgdWludDMyX3QgaWQ7CisjZW5k aWYKICAgICBzdHJ1Y3QgcHJvY2Vzc29yX3BlcmZvcm1hbmNlICAgIHBlcmY7CiB9OwogCi0tIAoy LjcuNAoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fClhl bi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbi5vcmcKaHR0cHM6Ly9saXN0 cy54ZW4ub3JnL3hlbi1kZXZlbAo=