From mboxrd@z Thu Jan 1 00:00:00 1970 From: Yi Sun Subject: [PATCH v10 07/25] x86: refactor psr: L3 CAT: implement get hw info flow. Date: Sat, 1 Apr 2017 21:53:38 +0800 Message-ID: <1491054836-30488-8-git-send-email-yi.y.sun@linux.intel.com> References: <1491054836-30488-1-git-send-email-yi.y.sun@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail6.bemta3.messagelabs.com ([195.245.230.39]) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1cuJTX-0005bR-6v for xen-devel@lists.xenproject.org; Sat, 01 Apr 2017 13:53:55 +0000 In-Reply-To: <1491054836-30488-1-git-send-email-yi.y.sun@linux.intel.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: kevin.tian@intel.com, wei.liu2@citrix.com, andrew.cooper3@citrix.com, dario.faggioli@citrix.com, he.chen@linux.intel.com, ian.jackson@eu.citrix.com, Yi Sun , mengxu@cis.upenn.edu, jbeulich@suse.com, chao.p.peng@linux.intel.com, roger.pau@citrix.com List-Id: xen-devel@lists.xenproject.org VGhpcyBwYXRjaCBpbXBsZW1lbnRzIGdldCBIVyBpbmZvIGZsb3cgaW5jbHVkaW5nIEwzIENBVCBj YWxsYmFjawpmdW5jdGlvbi4KCkl0IGFsc28gY2hhbmdlcyBzeXNjdGwgaW50ZXJmYWNlIHRvIG1h a2UgaXQgbW9yZSBnZW5lcmFsLgoKV2l0aCB0aGlzIHBhdGNoLCAncHNyLWh3aW5mbycgY2FuIHdv cmsgZm9yIEwzIENBVC4KClNpZ25lZC1vZmYtYnk6IFlpIFN1biA8eWkueS5zdW5AbGludXguaW50 ZWwuY29tPgotLS0KdjEwOgogICAgLSByZW1vdmUgJ1BTUl9TT0NLRVRfVU5LTk9XTicgYW5kIHVz ZSAnQVNTRVJUX1VOUkVBQ0hBQkxFKCknIHRvIGhhbmRsZQogICAgICB0aGlzIGNhc2UuCiAgICAg IChzdWdnZXN0ZWQgYnkgSmFuIEJldWxpY2gpCiAgICAtIGNoZWNrICdmZWF0X3R5cGUnLgogICAg ICAoc3VnZ2VzdGVkIGJ5IEphbiBCZXVsaWNoKQogICAgLSBhZGp1c3QgbWFjcm9zIG5hbWVzIGFu ZCB2YWx1ZXMgdG8gbWFrZSB0aGVtIG1vcmUgYXBwcm9wcmlhdGUuCiAgICAgIChzdWdnZXN0ZWQg YnkgSmFuIEJldWxpY2gpCiAgICAtIHVzZSAnZmVhdF9pbml0X2RvbmUnLgogICAgICAoc3VnZ2Vz dGVkIGJ5IEphbiBCZXVsaWNoKQogICAgLSBjaGFuZ2VzIGFib3V0ICdjYm1fbGVuJy4KICAgICAg KHN1Z2dlc3RlZCBieSBKYW4gQmV1bGljaCkKdjk6CiAgICAtIHJlcGxhY2UgZmVhdHVyZSBsaXN0 IGhhbmRsaW5nIHRvIGZlYXR1cmUgYXJyYXkgaGFuZGxpbmcuCiAgICAgIChzdWdnZXN0ZWQgYnkg Um9nZXIgUGF1KQogICAgLSBkZWZpbmUgJ1BTUl9JTkZPX1NJWkUnLgogICAgICAoc3VnZ2VzdGVk IGJ5IFJvZ2VyIFBhdSkKICAgIC0gZml4IGNvZGluZyBzdHlsZSBpc3N1ZS4KICAgICAgKHN1Z2dl c3RlZCBieSBSb2dlciBQYXUgYW5kIEphbiBCZXVsaWNoKQogICAgLSB1c2UgJ0FSUkFZX1NJWkUn LgogICAgICAoc3VnZ2VzdGVkIGJ5IFJvZ2VyIFBhdSkKICAgIC0gcmVuYW1lICdsM19jYXRfZ2V0 X2ZlYXRfaW5mbycgdG8gJ2NhdF9nZXRfZmVhdF9pbmZvJyB0byBtYWtlIGl0IGEgY29tbW9uCiAg ICAgIGZ1bmN0aW9uIGZvciBib3RoIEwzL0wyIENBVC4KICAgICAgKHN1Z2dlc3RlZCBieSBSb2dl ciBQYXUpCiAgICAtIG1vdmUgY29uc3RhbnQgdG8gdGhlIHJpZ2h0IG9mIGNvbXBhcmlzb24uCiAg ICAgIChzdWdnZXN0ZWQgYnkgV2VpIExpdSkKICAgIC0gcmVtb3ZlIHdyb25nIGNvbW1lbnQuCiAg ICAgIChzdWdnZXN0ZWQgYnkgSmFuIEJldWxpY2gpCiAgICAtIHJlbmFtZSBtYWNyb3MgdXNlZCBi eSBwc3JfZ2V0X2luZm8gdG8gbWFrZSB0aGVtIG1lYW5pbmdmdWwuCiAgICAgIChzdWdnZXN0ZWQg YnkgSmFuIEJldWxpY2gpCiAgICAtIHJlbW92ZSBhc3NpZ25tZW50IGZvciAnUFNSX1NPQ0tFVF9V TktOT1dOJy4KICAgICAgKHN1Z2dlc3RlZCBieSBKYW4gQmV1bGljaCkKICAgIC0gcmV0YWluIGJs YW5rIGxpbmUgYWZ0ZXIgJ2Nhc2UgWEVOX1NZU0NUTF9QU1JfQ0FUX2dldF9sM19pbmZvJy4KICAg ICAgKHN1Z2dlc3RlZCBieSBKYW4gQmV1bGljaCkKICAgIC0gbW9kaWZ5IHBhdGNoIHRpdGxlIHRv IGluZGljYXRlICdMMyBDQVQnLgogICAgICAoc3VnZ2VzdGVkIGJ5IEphbiBCZXVsaWNoKQogICAg LSBtb3ZlIGNvbW1vbiBkYXRhIGNoZWNrIGludG8gY29tbW9uIGZ1bmN0aW9uLgogICAgICAoc3Vn Z2VzdGVkIGJ5IEphbiBCZXVsaWNoKQp2NjoKICAgIC0gZml4IGNvZGluZyBzdHlsZSBpc3N1ZS4K ICAgICAgKHN1Z2dlc3RlZCBieSBLb25yYWQgUnplc3p1dGVrIFdpbGspCiAgICAtIGRlZmluZSAn UFNSX1NPQ0tFVF9VTktOT1dOJyBpbiAncHNyX2ZlYXRfdHlwZScuCiAgICAgIChzdWdnZXN0ZWQg YnkgS29ucmFkIFJ6ZXN6dXRlayBXaWxrKQogICAgLSBjaGFuZ2UgJy1FTk9UU09DSycgdG8gJ0VS QU5HRScuCiAgICAgIChzdWdnZXN0ZWQgYnkgS29ucmFkIFJ6ZXN6dXRlayBXaWxrKQogICAgLSBt b2RpZnkgcG9zaXRpb24gb2YgbWFjcm9zIHRvIHJlbW92ZSBvZGQgc3BhY2luZyBpbiBwc3IuaC4K ICAgICAgKHN1Z2dlc3RlZCBieSBLb25yYWQgUnplc3p1dGVrIFdpbGspCnY1OgogICAgLSBjaGFu Z2UgJ2RhdFtdJyB0byAnZGF0YVtdJy4KICAgICAgKHN1Z2dlc3RlZCBieSBKYW4gQmV1bGljaCkK ICAgIC0gbW9kaWZ5IHBhcmFtZXRlciB0eXBlIHRvIGF2b2lkIGZpeGVkIHdpZHRoIHR5cGUgd2hl biB0aGVyZSBpcyBubyBzdWNoCiAgICAgIGludGVudGlvbi4KICAgICAgKHN1Z2dlc3RlZCBieSBK YW4gQmV1bGljaCkKICAgIC0gdXNlICdjb25zdCcgd2hlbiBpdCBpcyBwb3NzaWJsZS4KICAgICAg KHN1Z2dlc3RlZCBieSBKYW4gQmV1bGljaCkKICAgIC0gY2hlY2sgZmVhdHVyZSB0eXBlIG91dHNp ZGUgY2FsbGJhY2sgZnVuY3Rpb24uCiAgICAgIChzdWdnZXN0ZWQgYnkgSmFuIEJldWxpY2gpCiAg ICAtIG1vZGlmeSBtYWNyb3MgbmFtZXMgdG8gYWRkIHByZWZpeCAnUFNSXycgYW5kIGNoYW5nZSAn Q0RQX0ZMQUcnIHRvCiAgICAgICdQU1JfRkxBRycuCiAgICAgIChzdWdnZXN0ZWQgYnkgSmFuIEJl dWxpY2gpCnY0OgogICAgLSBjcmVhdGUgdGhpcyBwYXRjaCB0byBtYWtlIGNvZGVzIGVhc2llciB0 byB1bmRlcnN0YW5kLgogICAgICAoc3VnZ2VzdGVkIGJ5IEphbiBCZXVsaWNoKQotLS0KIHhlbi9h cmNoL3g4Ni9wc3IuYyAgICAgICAgfCA3NSArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKystLQogeGVuL2FyY2gveDg2L3N5c2N0bC5jICAgICB8IDE5ICsrKysrKysr Ky0tLQogeGVuL2luY2x1ZGUvYXNtLXg4Ni9wc3IuaCB8IDE2ICsrKysrKy0tLS0KIDMgZmlsZXMg Y2hhbmdlZCwgOTggaW5zZXJ0aW9ucygrKSwgMTIgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEv eGVuL2FyY2gveDg2L3Bzci5jIGIveGVuL2FyY2gveDg2L3Bzci5jCmluZGV4IDM0MjEyMTkuLjM2 YWRlNDggMTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL3g4Ni9wc3IuYworKysgYi94ZW4vYXJjaC94ODYv cHNyLmMKQEAgLTkzLDYgKzkzLDEwIEBAIHN0cnVjdCBmZWF0X25vZGUgewogICAgICAgICB1bnNp Z25lZCBpbnQgY29zX251bTsKICAgICAgICAgdW5zaWduZWQgaW50IGNvc19tYXg7CiAgICAgICAg IHVuc2lnbmVkIGludCBjYm1fbGVuOworCisgICAgICAgIC8qIGdldF9mZWF0X2luZm8gaXMgdXNl ZCB0byBnZXQgZmVhdHVyZSBIVyBpbmZvLiAqLworICAgICAgICBib29sICgqZ2V0X2ZlYXRfaW5m bykoY29uc3Qgc3RydWN0IGZlYXRfbm9kZSAqZmVhdCwKKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIHVpbnQzMl90IGRhdGFbXSwgdW5zaWduZWQgaW50IGFycmF5X2xlbik7CiAgICAgfSAq cHJvcHM7CiAKICAgICB1aW50MzJfdCBjb3NfcmVnX3ZhbFtNQVhfQ09TX1JFR19DTlRdOwpAQCAt MTgzLDYgKzE4NywyMiBAQCBzdGF0aWMgYm9vbCBmZWF0X2luaXRfZG9uZShjb25zdCBzdHJ1Y3Qg cHNyX3NvY2tldF9pbmZvICppbmZvKQogICAgIHJldHVybiBmYWxzZTsKIH0KIAorc3RhdGljIGVu dW0gcHNyX2ZlYXRfdHlwZSBwc3JfY2JtX3R5cGVfdG9fZmVhdF90eXBlKGVudW0gY2JtX3R5cGUg dHlwZSkKK3sKKyAgICBlbnVtIHBzcl9mZWF0X3R5cGUgZmVhdF90eXBlOworCisgICAgc3dpdGNo ICggdHlwZSApCisgICAgeworICAgIGNhc2UgUFNSX0NCTV9UWVBFX0wzOgorICAgICAgICBmZWF0 X3R5cGUgPSBQU1JfU09DS0VUX0wzX0NBVDsKKyAgICAgICAgYnJlYWs7CisgICAgZGVmYXVsdDoK KyAgICAgICAgQVNTRVJUX1VOUkVBQ0hBQkxFKCk7CisgICAgfQorCisgICAgcmV0dXJuIGZlYXRf dHlwZTsKK30KKwogLyogQ0FUIGNvbW1vbiBmdW5jdGlvbnMgaW1wbGVtZW50YXRpb24uICovCiBz dGF0aWMgdm9pZCBjYXRfaW5pdF9mZWF0dXJlKGNvbnN0IHN0cnVjdCBjcHVpZF9sZWFmICpyZWdz LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgZmVhdF9ub2RlICpmZWF0LApA QCAtMjMyLDkgKzI1MiwyMyBAQCBzdGF0aWMgdm9pZCBjYXRfaW5pdF9mZWF0dXJlKGNvbnN0IHN0 cnVjdCBjcHVpZF9sZWFmICpyZWdzLAogICAgICAgICAgICBzb2NrZXQsIGZlYXQtPnByb3BzLT5j b3NfbWF4LCBmZWF0LT5wcm9wcy0+Y2JtX2xlbik7CiB9CiAKK3N0YXRpYyBib29sIGNhdF9nZXRf ZmVhdF9pbmZvKGNvbnN0IHN0cnVjdCBmZWF0X25vZGUgKmZlYXQsCisgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICB1aW50MzJfdCBkYXRhW10sIHVuc2lnbmVkIGludCBhcnJheV9sZW4pCit7 CisgICAgaWYgKCBhcnJheV9sZW4gIT0gUFNSX0lORk9fQVJSQVlfU0laRSApCisgICAgICAgIHJl dHVybiBmYWxzZTsKKworICAgIGRhdGFbUFNSX0lORk9fSURYX0NPU19NQVhdID0gZmVhdC0+cHJv cHMtPmNvc19tYXg7CisgICAgZGF0YVtQU1JfSU5GT19JRFhfQ0FUX0NCTV9MRU5dID0gZmVhdC0+ cHJvcHMtPmNibV9sZW47CisgICAgZGF0YVtQU1JfSU5GT19JRFhfQ0FUX0ZMQUddID0gMDsKKwor ICAgIHJldHVybiB0cnVlOworfQorCiAvKiBMMyBDQVQgb3BzICovCiBzdGF0aWMgc3RydWN0IGZl YXRfcHJvcHMgbDNfY2F0X3Byb3BzID0gewogICAgIC5jb3NfbnVtID0gMSwKKyAgICAuZ2V0X2Zl YXRfaW5mbyA9IGNhdF9nZXRfZmVhdF9pbmZvLAogfTsKIAogc3RhdGljIHZvaWQgX19pbml0IHBh cnNlX3Bzcl9ib29sKGNoYXIgKnMsIGNoYXIgKnZhbHVlLCBjaGFyICpmZWF0dXJlLApAQCAtNDQ2 LDEwICs0ODAsNDUgQEAgdm9pZCBwc3JfY3R4dF9zd2l0Y2hfdG8oc3RydWN0IGRvbWFpbiAqZCkK ICAgICB9CiB9CiAKLWludCBwc3JfZ2V0X2NhdF9sM19pbmZvKHVuc2lnbmVkIGludCBzb2NrZXQs IHVpbnQzMl90ICpjYm1fbGVuLAotICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgKmNv c19tYXgsIHVpbnQzMl90ICpmbGFncykKK3N0YXRpYyBzdHJ1Y3QgcHNyX3NvY2tldF9pbmZvICpn ZXRfc29ja2V0X2luZm8odW5zaWduZWQgaW50IHNvY2tldCkKIHsKLSAgICByZXR1cm4gMDsKKyAg ICBpZiAoICFzb2NrZXRfaW5mbyApCisgICAgICAgIHJldHVybiBFUlJfUFRSKC1FTk9ERVYpOwor CisgICAgaWYgKCBzb2NrZXQgPj0gbnJfc29ja2V0cyApCisgICAgICAgIHJldHVybiBFUlJfUFRS KC1FUkFOR0UpOworCisgICAgaWYgKCAhZmVhdF9pbml0X2RvbmUoc29ja2V0X2luZm8gKyBzb2Nr ZXQpICkKKyAgICAgICAgcmV0dXJuIEVSUl9QVFIoLUVOT0VOVCk7CisKKyAgICByZXR1cm4gc29j a2V0X2luZm8gKyBzb2NrZXQ7Cit9CisKK2ludCBwc3JfZ2V0X2luZm8odW5zaWduZWQgaW50IHNv Y2tldCwgZW51bSBjYm1fdHlwZSB0eXBlLAorICAgICAgICAgICAgICAgICB1aW50MzJfdCBkYXRh W10sIHVuc2lnbmVkIGludCBhcnJheV9sZW4pCit7CisgICAgY29uc3Qgc3RydWN0IHBzcl9zb2Nr ZXRfaW5mbyAqaW5mbyA9IGdldF9zb2NrZXRfaW5mbyhzb2NrZXQpOworICAgIGNvbnN0IHN0cnVj dCBmZWF0X25vZGUgKmZlYXQ7CisgICAgZW51bSBwc3JfZmVhdF90eXBlIGZlYXRfdHlwZTsKKwor ICAgIGlmICggSVNfRVJSKGluZm8pICkKKyAgICAgICAgcmV0dXJuIFBUUl9FUlIoaW5mbyk7CisK KyAgICBpZiAoICFkYXRhICkKKyAgICAgICAgcmV0dXJuIC1FSU5WQUw7CisKKyAgICBmZWF0X3R5 cGUgPSBwc3JfY2JtX3R5cGVfdG9fZmVhdF90eXBlKHR5cGUpOworICAgIGlmICggZmVhdF90eXBl ID4gQVJSQVlfU0laRShpbmZvLT5mZWF0dXJlcykgKQorICAgICAgICByZXR1cm4gLUVOT0VOVDsK KworICAgIGZlYXQgPSBpbmZvLT5mZWF0dXJlc1tmZWF0X3R5cGVdOworICAgIGlmICggIWZlYXQg KQorICAgICAgICByZXR1cm4gLUVOT0VOVDsKKworICAgIGlmICggZmVhdC0+cHJvcHMtPmdldF9m ZWF0X2luZm8oZmVhdCwgZGF0YSwgYXJyYXlfbGVuKSApCisgICAgICAgIHJldHVybiAwOworCisg ICAgcmV0dXJuIC1FSU5WQUw7CiB9CiAKIGludCBwc3JfZ2V0X2wzX2NibShzdHJ1Y3QgZG9tYWlu ICpkLCB1bnNpZ25lZCBpbnQgc29ja2V0LApkaWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2L3N5c2N0 bC5jIGIveGVuL2FyY2gveDg2L3N5c2N0bC5jCmluZGV4IDJmNzA1NmUuLmMyMzI3MGQgMTAwNjQ0 Ci0tLSBhL3hlbi9hcmNoL3g4Ni9zeXNjdGwuYworKysgYi94ZW4vYXJjaC94ODYvc3lzY3RsLmMK QEAgLTE3NSwxNCArMTc1LDI1IEBAIGxvbmcgYXJjaF9kb19zeXNjdGwoCiAgICAgICAgIHN3aXRj aCAoIHN5c2N0bC0+dS5wc3JfY2F0X29wLmNtZCApCiAgICAgICAgIHsKICAgICAgICAgY2FzZSBY RU5fU1lTQ1RMX1BTUl9DQVRfZ2V0X2wzX2luZm86Ci0gICAgICAgICAgICByZXQgPSBwc3JfZ2V0 X2NhdF9sM19pbmZvKHN5c2N0bC0+dS5wc3JfY2F0X29wLnRhcmdldCwKLSAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgJnN5c2N0bC0+dS5wc3JfY2F0X29wLnUubDNfaW5mby5j Ym1fbGVuLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmc3lzY3RsLT51 LnBzcl9jYXRfb3AudS5sM19pbmZvLmNvc19tYXgsCi0gICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICZzeXNjdGwtPnUucHNyX2NhdF9vcC51LmwzX2luZm8uZmxhZ3MpOworICAg ICAgICB7CisgICAgICAgICAgICB1aW50MzJfdCBkYXRhW1BTUl9JTkZPX0FSUkFZX1NJWkVdOwor CisgICAgICAgICAgICByZXQgPSBwc3JfZ2V0X2luZm8oc3lzY3RsLT51LnBzcl9jYXRfb3AudGFy Z2V0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBTUl9DQk1fVFlQRV9MMywgZGF0 YSwgQVJSQVlfU0laRShkYXRhKSk7CisgICAgICAgICAgICBpZiAoIHJldCApCisgICAgICAgICAg ICAgICAgYnJlYWs7CisKKyAgICAgICAgICAgIHN5c2N0bC0+dS5wc3JfY2F0X29wLnUubDNfaW5m by5jb3NfbWF4ID0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YVtQ U1JfSU5GT19JRFhfQ09TX01BWF07CisgICAgICAgICAgICBzeXNjdGwtPnUucHNyX2NhdF9vcC51 LmwzX2luZm8uY2JtX2xlbiA9CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IGRhdGFbUFNSX0lORk9fSURYX0NBVF9DQk1fTEVOXTsKKyAgICAgICAgICAgIHN5c2N0bC0+dS5w c3JfY2F0X29wLnUubDNfaW5mby5mbGFncyA9CisgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIGRhdGFbUFNSX0lORk9fSURYX0NBVF9GTEFHXTsKIAogICAgICAgICAgICAgaWYg KCAhcmV0ICYmIF9fY29weV9maWVsZF90b19ndWVzdCh1X3N5c2N0bCwgc3lzY3RsLCB1LnBzcl9j YXRfb3ApICkKICAgICAgICAgICAgICAgICByZXQgPSAtRUZBVUxUOwogICAgICAgICAgICAgYnJl YWs7CisgICAgICAgIH0KIAogICAgICAgICBkZWZhdWx0OgogICAgICAgICAgICAgcmV0ID0gLUVP UE5PVFNVUFA7CmRpZmYgLS1naXQgYS94ZW4vaW5jbHVkZS9hc20teDg2L3Bzci5oIGIveGVuL2lu Y2x1ZGUvYXNtLXg4Ni9wc3IuaAppbmRleCA1N2Y0N2U5Li5hZjNhNDY1IDEwMDY0NAotLS0gYS94 ZW4vaW5jbHVkZS9hc20teDg2L3Bzci5oCisrKyBiL3hlbi9pbmNsdWRlL2FzbS14ODYvcHNyLmgK QEAgLTE5LDIwICsxOSwyNiBAQAogI2luY2x1ZGUgPHhlbi90eXBlcy5oPgogCiAvKiBDQVQgY3B1 aWQgbGV2ZWwgKi8KLSNkZWZpbmUgUFNSX0NQVUlEX0xFVkVMX0NBVCAgIDB4MTAKKyNkZWZpbmUg UFNSX0NQVUlEX0xFVkVMX0NBVCAgICAgICAgICAgICAweDEwCiAKIC8qIFJlc291cmNlIFR5cGUg RW51bWVyYXRpb24gKi8KICNkZWZpbmUgUFNSX1JFU09VUkNFX1RZUEVfTDMgICAgICAgICAgICAw eDIKIAogLyogTDMgTW9uaXRvcmluZyBGZWF0dXJlcyAqLwotI2RlZmluZSBQU1JfQ01UX0wzX09D Q1VQQU5DWSAgICAgICAgICAgMHgxCisjZGVmaW5lIFBTUl9DTVRfTDNfT0NDVVBBTkNZICAgICAg ICAgICAgMHgxCiAKIC8qIENEUCBDYXBhYmlsaXR5ICovCi0jZGVmaW5lIFBTUl9DQVRfQ0RQX0NB UEFCSUxJVFkgICAgICAgKDF1IDw8IDIpCisjZGVmaW5lIFBTUl9DQVRfQ0RQX0NBUEFCSUxJVFkg ICAgICAgICAgKDF1IDw8IDIpCiAKIC8qIEwzIENEUCBFbmFibGUgYml0Ki8KICNkZWZpbmUgUFNS X0wzX1FPU19DRFBfRU5BQkxFX0JJVCAgICAgICAweDAKIAorLyogVXNlZCBieSBwc3JfZ2V0X2lu Zm8oKSAqLworI2RlZmluZSBQU1JfSU5GT19JRFhfQ09TX01BWCAgICAgICAgICAgIDAKKyNkZWZp bmUgUFNSX0lORk9fSURYX0NBVF9DQk1fTEVOICAgICAgICAxCisjZGVmaW5lIFBTUl9JTkZPX0lE WF9DQVRfRkxBRyAgICAgICAgICAgMgorI2RlZmluZSBQU1JfSU5GT19BUlJBWV9TSVpFICAgICAg ICAgICAgIDMKKwogc3RydWN0IHBzcl9jbXRfbDMgewogICAgIHVuc2lnbmVkIGludCBmZWF0dXJl czsKICAgICB1bnNpZ25lZCBpbnQgdXBzY2FsaW5nX2ZhY3RvcjsKQEAgLTYzLDggKzY5LDggQEAg aW50IHBzcl9hbGxvY19ybWlkKHN0cnVjdCBkb21haW4gKmQpOwogdm9pZCBwc3JfZnJlZV9ybWlk KHN0cnVjdCBkb21haW4gKmQpOwogdm9pZCBwc3JfY3R4dF9zd2l0Y2hfdG8oc3RydWN0IGRvbWFp biAqZCk7CiAKLWludCBwc3JfZ2V0X2NhdF9sM19pbmZvKHVuc2lnbmVkIGludCBzb2NrZXQsIHVp bnQzMl90ICpjYm1fbGVuLAotICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgKmNvc19t YXgsIHVpbnQzMl90ICpmbGFncyk7CitpbnQgcHNyX2dldF9pbmZvKHVuc2lnbmVkIGludCBzb2Nr ZXQsIGVudW0gY2JtX3R5cGUgdHlwZSwKKyAgICAgICAgICAgICAgICAgdWludDMyX3QgZGF0YVtd LCB1bnNpZ25lZCBpbnQgYXJyYXlfbGVuKTsKIGludCBwc3JfZ2V0X2wzX2NibShzdHJ1Y3QgZG9t YWluICpkLCB1bnNpZ25lZCBpbnQgc29ja2V0LAogICAgICAgICAgICAgICAgICAgIHVpbnQ2NF90 ICpjYm0sIGVudW0gY2JtX3R5cGUgdHlwZSk7CiBpbnQgcHNyX3NldF9sM19jYm0oc3RydWN0IGRv bWFpbiAqZCwgdW5zaWduZWQgaW50IHNvY2tldCwKLS0gCjEuOS4xCgoKX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KWGVuLWRldmVsIG1haWxpbmcgbGlzdApY ZW4tZGV2ZWxAbGlzdHMueGVuLm9yZwpodHRwczovL2xpc3RzLnhlbi5vcmcveGVuLWRldmVsCg==