From mboxrd@z Thu Jan 1 00:00:00 1970 From: Yi Sun Subject: [PATCH v9 07/25] x86: refactor psr: L3 CAT: implement get hw info flow. Date: Thu, 16 Mar 2017 19:07:57 +0800 Message-ID: <1489662495-5375-8-git-send-email-yi.y.sun@linux.intel.com> References: <1489662495-5375-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 1coTLt-0004Af-U9 for xen-devel@lists.xenproject.org; Thu, 16 Mar 2017 11:13:54 +0000 In-Reply-To: <1489662495-5375-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 ZWwuY29tPgpSZXZpZXdlZC1ieTogS29ucmFkIFJ6ZXN6dXRlayBXaWxrIDxrb25yYWQud2lsa0Bv cmFjbGUuY29tPgpSZXZpZXdlZC1ieTogV2VpIExpdSA8d2VpLmxpdTJAY2l0cml4LmNvbT4KLS0t CnY5OgogICAgLSByZXBsYWNlIGZlYXR1cmUgbGlzdCBoYW5kbGluZyB0byBmZWF0dXJlIGFycmF5 IGhhbmRsaW5nLgogICAgICAoc3VnZ2VzdGVkIGJ5IFJvZ2VyIFBhdSkKICAgIC0gZGVmaW5lICdQ U1JfSU5GT19TSVpFJy4KICAgICAgKHN1Z2dlc3RlZCBieSBSb2dlciBQYXUpCiAgICAtIGZpeCBj b2Rpbmcgc3R5bGUgaXNzdWUuCiAgICAgIChzdWdnZXN0ZWQgYnkgUm9nZXIgUGF1IGFuZCBKYW4g QmV1bGljaCkKICAgIC0gdXNlICdBUlJBWV9TSVpFJy4KICAgICAgKHN1Z2dlc3RlZCBieSBSb2dl ciBQYXUpCiAgICAtIHJlbmFtZSAnbDNfY2F0X2dldF9mZWF0X2luZm8nIHRvICdjYXRfZ2V0X2Zl YXRfaW5mbycgdG8gbWFrZSBpdCBhIGNvbW1vbgogICAgICBmdW5jdGlvbiBmb3IgYm90aCBMMy9M MiBDQVQuCiAgICAgIChzdWdnZXN0ZWQgYnkgUm9nZXIgUGF1KQogICAgLSBtb3ZlIGNvbnN0YW50 IHRvIHRoZSByaWdodCBvZiBjb21wYXJpc29uLgogICAgICAoc3VnZ2VzdGVkIGJ5IFdlaSBMaXUp CiAgICAtIHJlbW92ZSB3cm9uZyBjb21tZW50LgogICAgICAoc3VnZ2VzdGVkIGJ5IEphbiBCZXVs aWNoKQogICAgLSByZW5hbWUgbWFjcm9zIHVzZWQgYnkgcHNyX2dldF9pbmZvIHRvIG1ha2UgdGhl bSBtZWFuaW5nZnVsLgogICAgICAoc3VnZ2VzdGVkIGJ5IEphbiBCZXVsaWNoKQogICAgLSByZW1v dmUgYXNzaWdubWVudCBmb3IgJ1BTUl9TT0NLRVRfVU5LTk9XTicuCiAgICAgIChzdWdnZXN0ZWQg YnkgSmFuIEJldWxpY2gpCiAgICAtIHJldGFpbiBibGFuayBsaW5lIGFmdGVyICdjYXNlIFhFTl9T WVNDVExfUFNSX0NBVF9nZXRfbDNfaW5mbycuCiAgICAgIChzdWdnZXN0ZWQgYnkgSmFuIEJldWxp Y2gpCiAgICAtIG1vZGlmeSBwYXRjaCB0aXRsZSB0byBpbmRpY2F0ZSAnTDMgQ0FUJy4KICAgICAg KHN1Z2dlc3RlZCBieSBKYW4gQmV1bGljaCkKICAgIC0gbW92ZSBjb21tb24gZGF0YSBjaGVjayBp bnRvIGNvbW1vbiBmdW5jdGlvbi4KICAgICAgKHN1Z2dlc3RlZCBieSBKYW4gQmV1bGljaCkKdjY6 CiAgICAtIGZpeCBjb2Rpbmcgc3R5bGUgaXNzdWUuCiAgICAgIChzdWdnZXN0ZWQgYnkgS29ucmFk IFJ6ZXN6dXRlayBXaWxrKQogICAgLSBkZWZpbmUgJ1BTUl9TT0NLRVRfVU5LTk9XTicgaW4gJ3Bz cl9mZWF0X3R5cGUnLgogICAgICAoc3VnZ2VzdGVkIGJ5IEtvbnJhZCBSemVzenV0ZWsgV2lsaykK ICAgIC0gY2hhbmdlICctRU5PVFNPQ0snIHRvICdFUkFOR0UnLgogICAgICAoc3VnZ2VzdGVkIGJ5 IEtvbnJhZCBSemVzenV0ZWsgV2lsaykKICAgIC0gbW9kaWZ5IHBvc2l0aW9uIG9mIG1hY3JvcyB0 byByZW1vdmUgb2RkIHNwYWNpbmcgaW4gcHNyLmguCiAgICAgIChzdWdnZXN0ZWQgYnkgS29ucmFk IFJ6ZXN6dXRlayBXaWxrKQp2NToKICAgIC0gY2hhbmdlICdkYXRbXScgdG8gJ2RhdGFbXScuCiAg ICAgIChzdWdnZXN0ZWQgYnkgSmFuIEJldWxpY2gpCiAgICAtIG1vZGlmeSBwYXJhbWV0ZXIgdHlw ZSB0byBhdm9pZCBmaXhlZCB3aWR0aCB0eXBlIHdoZW4gdGhlcmUgaXMgbm8gc3VjaAogICAgICBp bnRlbnRpb24uCiAgICAgIChzdWdnZXN0ZWQgYnkgSmFuIEJldWxpY2gpCiAgICAtIHVzZSAnY29u c3QnIHdoZW4gaXQgaXMgcG9zc2libGUuCiAgICAgIChzdWdnZXN0ZWQgYnkgSmFuIEJldWxpY2gp CiAgICAtIGNoZWNrIGZlYXR1cmUgdHlwZSBvdXRzaWRlIGNhbGxiYWNrIGZ1bmN0aW9uLgogICAg ICAoc3VnZ2VzdGVkIGJ5IEphbiBCZXVsaWNoKQogICAgLSBtb2RpZnkgbWFjcm9zIG5hbWVzIHRv IGFkZCBwcmVmaXggJ1BTUl8nIGFuZCBjaGFuZ2UgJ0NEUF9GTEFHJyB0bwogICAgICAnUFNSX0ZM QUcnLgogICAgICAoc3VnZ2VzdGVkIGJ5IEphbiBCZXVsaWNoKQp2NDoKICAgIC0gY3JlYXRlIHRo aXMgcGF0Y2ggdG8gbWFrZSBjb2RlcyBlYXNpZXIgdG8gdW5kZXJzdGFuZC4KICAgICAgKHN1Z2dl c3RlZCBieSBKYW4gQmV1bGljaCkKLS0tCiB4ZW4vYXJjaC94ODYvcHNyLmMgICAgICAgIHwgNzQg KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0KIHhlbi9hcmNo L3g4Ni9zeXNjdGwuYyAgICAgfCAxNCArKysrKystLS0KIHhlbi9pbmNsdWRlL2FzbS14ODYvcHNy LmggfCAxNyArKysrKysrLS0tLQogMyBmaWxlcyBjaGFuZ2VkLCA5MyBpbnNlcnRpb25zKCspLCAx MiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS94ZW4vYXJjaC94ODYvcHNyLmMgYi94ZW4vYXJj aC94ODYvcHNyLmMKaW5kZXggYTZhODA4MS4uODMzNThlMyAxMDA2NDQKLS0tIGEveGVuL2FyY2gv eDg2L3Bzci5jCisrKyBiL3hlbi9hcmNoL3g4Ni9wc3IuYwpAQCAtNjAsNiArNjAsNyBAQCBlbnVt IHBzcl9mZWF0X3R5cGUgewogICAgIFBTUl9TT0NLRVRfTDNfQ0RQLAogICAgIFBTUl9TT0NLRVRf TDJfQ0FULAogICAgIFBTUl9TT0NLRVRfTUFYX0ZFQVQsCisgICAgUFNSX1NPQ0tFVF9VTktOT1dO LAogfTsKIAogLyogQ0FUL0NEUCBIVyBpbmZvIGRhdGEgc3RydWN0dXJlLiAqLwpAQCAtOTIsNiAr OTMsMTAgQEAgc3RydWN0IGZlYXRfbm9kZSB7CiAgICAgc3RydWN0IGZlYXRfb3BzIHsKICAgICAg ICAgLyogZ2V0X2Nvc19tYXggaXMgdXNlZCB0byBnZXQgZmVhdHVyZSdzIGNvc19tYXguICovCiAg ICAgICAgIHVuc2lnbmVkIGludCAoKmdldF9jb3NfbWF4KShjb25zdCBzdHJ1Y3QgZmVhdF9ub2Rl ICpmZWF0KTsKKworICAgICAgICAvKiBnZXRfZmVhdF9pbmZvIGlzIHVzZWQgdG8gZ2V0IGZlYXR1 cmUgSFcgaW5mby4gKi8KKyAgICAgICAgYm9vbCAoKmdldF9mZWF0X2luZm8pKGNvbnN0IHN0cnVj dCBmZWF0X25vZGUgKmZlYXQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJf dCBkYXRhW10sIHVuc2lnbmVkIGludCBhcnJheV9sZW4pOwogICAgIH0gb3BzOwogCiAgICAgLyog RW5jYXBzdWxhdGUgZmVhdHVyZSBzcGVjaWZpYyBIVyBpbmZvIGhlcmUuICovCkBAIC0xODUsNiAr MTkwLDIzIEBAIHN0YXRpYyB2b2lkIGZyZWVfZmVhdHVyZShzdHJ1Y3QgcHNyX3NvY2tldF9pbmZv ICppbmZvKQogICAgIH0KIH0KIAorc3RhdGljIGVudW0gcHNyX2ZlYXRfdHlwZSBwc3JfY2JtX3R5 cGVfdG9fZmVhdF90eXBlKGVudW0gY2JtX3R5cGUgdHlwZSkKK3sKKyAgICBlbnVtIHBzcl9mZWF0 X3R5cGUgZmVhdF90eXBlOworCisgICAgc3dpdGNoICggdHlwZSApCisgICAgeworICAgIGNhc2Ug UFNSX0NCTV9UWVBFX0wzOgorICAgICAgICBmZWF0X3R5cGUgPSBQU1JfU09DS0VUX0wzX0NBVDsK KyAgICAgICAgYnJlYWs7CisgICAgZGVmYXVsdDoKKyAgICAgICAgZmVhdF90eXBlID0gUFNSX1NP Q0tFVF9VTktOT1dOOworICAgICAgICBicmVhazsKKyAgICB9CisKKyAgICByZXR1cm4gZmVhdF90 eXBlOworfQorCiAvKiBDQVQgY29tbW9uIGZ1bmN0aW9ucyBpbXBsZW1lbnRhdGlvbi4gKi8KIHN0 YXRpYyB2b2lkIGNhdF9pbml0X2ZlYXR1cmUoc3RydWN0IGNwdWlkX2xlYWYgcmVncywKICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IGZlYXRfbm9kZSAqZmVhdCwKQEAgLTI0MCw5 ICsyNjIsMjMgQEAgc3RhdGljIHVuc2lnbmVkIGludCBjYXRfZ2V0X2Nvc19tYXgoY29uc3Qgc3Ry dWN0IGZlYXRfbm9kZSAqZmVhdCkKICAgICByZXR1cm4gZmVhdC0+aW5mby5jYXRfaW5mby5jb3Nf bWF4OwogfQogCitzdGF0aWMgYm9vbCBjYXRfZ2V0X2ZlYXRfaW5mbyhjb25zdCBzdHJ1Y3QgZmVh dF9ub2RlICpmZWF0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgZGF0 YVtdLCB1bnNpZ25lZCBpbnQgYXJyYXlfbGVuKQoreworICAgIGlmICggYXJyYXlfbGVuICE9IFBT Ul9JTkZPX0NBVF9TSVpFICkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgZGF0YVtQU1Jf SU5GT19JRFhfQ0JNX0xFTl0gPSBmZWF0LT5pbmZvLmNhdF9pbmZvLmNibV9sZW47CisgICAgZGF0 YVtQU1JfSU5GT19JRFhfQ09TX01BWF0gPSBmZWF0LT5pbmZvLmNhdF9pbmZvLmNvc19tYXg7Cisg ICAgZGF0YVtQU1JfSU5GT19JRFhfRkxBR10gPSAwOworCisgICAgcmV0dXJuIHRydWU7Cit9CisK IC8qIEwzIENBVCBvcHMgKi8KIHN0YXRpYyBjb25zdCBzdHJ1Y3QgZmVhdF9vcHMgbDNfY2F0X29w cyA9IHsKICAgICAuZ2V0X2Nvc19tYXggPSBjYXRfZ2V0X2Nvc19tYXgsCisgICAgLmdldF9mZWF0 X2luZm8gPSBjYXRfZ2V0X2ZlYXRfaW5mbywKIH07CiAKIHN0YXRpYyB2b2lkIF9faW5pdCBwYXJz ZV9wc3JfYm9vbChjaGFyICpzLCBjaGFyICp2YWx1ZSwgY2hhciAqZmVhdHVyZSwKQEAgLTQ1NCwx MCArNDkwLDQyIEBAIHZvaWQgcHNyX2N0eHRfc3dpdGNoX3RvKHN0cnVjdCBkb21haW4gKmQpCiAg ICAgfQogfQogCi1pbnQgcHNyX2dldF9jYXRfbDNfaW5mbyh1bnNpZ25lZCBpbnQgc29ja2V0LCB1 aW50MzJfdCAqY2JtX2xlbiwKLSAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90ICpjb3Nf bWF4LCB1aW50MzJfdCAqZmxhZ3MpCitzdGF0aWMgc3RydWN0IHBzcl9zb2NrZXRfaW5mbyAqZ2V0 X3NvY2tldF9pbmZvKHVuc2lnbmVkIGludCBzb2NrZXQpCiB7Ci0gICAgcmV0dXJuIDA7CisgICAg aWYgKCAhc29ja2V0X2luZm8gKQorICAgICAgICByZXR1cm4gRVJSX1BUUigtRU5PREVWKTsKKwor ICAgIGlmICggc29ja2V0ID49IG5yX3NvY2tldHMgKQorICAgICAgICByZXR1cm4gRVJSX1BUUigt RVJBTkdFKTsKKworICAgIGlmICggIXNvY2tldF9pbmZvW3NvY2tldF0uZmVhdF9tYXNrICkKKyAg ICAgICAgcmV0dXJuIEVSUl9QVFIoLUVOT0VOVCk7CisKKyAgICByZXR1cm4gc29ja2V0X2luZm8g KyBzb2NrZXQ7Cit9CisKK2ludCBwc3JfZ2V0X2luZm8odW5zaWduZWQgaW50IHNvY2tldCwgZW51 bSBjYm1fdHlwZSB0eXBlLAorICAgICAgICAgICAgICAgICB1aW50MzJfdCBkYXRhW10sIHVuc2ln bmVkIGludCBhcnJheV9sZW4pCit7CisgICAgY29uc3Qgc3RydWN0IHBzcl9zb2NrZXRfaW5mbyAq aW5mbyA9IGdldF9zb2NrZXRfaW5mbyhzb2NrZXQpOworICAgIGNvbnN0IHN0cnVjdCBmZWF0X25v ZGUgKmZlYXQ7CisgICAgZW51bSBwc3JfZmVhdF90eXBlIGZlYXRfdHlwZTsKKworICAgIGlmICgg SVNfRVJSKGluZm8pICkKKyAgICAgICAgcmV0dXJuIFBUUl9FUlIoaW5mbyk7CisKKyAgICBpZiAo ICFkYXRhICkKKyAgICAgICAgcmV0dXJuIC1FSU5WQUw7CisKKyAgICBmZWF0X3R5cGUgPSBwc3Jf Y2JtX3R5cGVfdG9fZmVhdF90eXBlKHR5cGUpOworICAgIGZlYXQgPSBpbmZvLT5mZWF0dXJlc1tm ZWF0X3R5cGVdOworICAgIGlmICggIWZlYXQgKQorICAgICAgICByZXR1cm4gLUVOT0VOVDsKKwor ICAgIGlmICggZmVhdC0+b3BzLmdldF9mZWF0X2luZm8oZmVhdCwgZGF0YSwgYXJyYXlfbGVuKSAp CisgICAgICAgIHJldHVybiAwOworCisgICAgcmV0dXJuIC1FSU5WQUw7CiB9CiAKIGludCBwc3Jf Z2V0X2wzX2NibShzdHJ1Y3QgZG9tYWluICpkLCB1bnNpZ25lZCBpbnQgc29ja2V0LApkaWZmIC0t Z2l0IGEveGVuL2FyY2gveDg2L3N5c2N0bC5jIGIveGVuL2FyY2gveDg2L3N5c2N0bC5jCmluZGV4 IDJmNzA1NmUuLmFhYjNkMmQgMTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL3g4Ni9zeXNjdGwuYworKysg Yi94ZW4vYXJjaC94ODYvc3lzY3RsLmMKQEAgLTE3NSwxNCArMTc1LDIwIEBAIGxvbmcgYXJjaF9k b19zeXNjdGwoCiAgICAgICAgIHN3aXRjaCAoIHN5c2N0bC0+dS5wc3JfY2F0X29wLmNtZCApCiAg ICAgICAgIHsKICAgICAgICAgY2FzZSBYRU5fU1lTQ1RMX1BTUl9DQVRfZ2V0X2wzX2luZm86Ci0g ICAgICAgICAgICByZXQgPSBwc3JfZ2V0X2NhdF9sM19pbmZvKHN5c2N0bC0+dS5wc3JfY2F0X29w LnRhcmdldCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnN5c2N0bC0+ dS5wc3JfY2F0X29wLnUubDNfaW5mby5jYm1fbGVuLAotICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAmc3lzY3RsLT51LnBzcl9jYXRfb3AudS5sM19pbmZvLmNvc19tYXgsCi0g ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZzeXNjdGwtPnUucHNyX2NhdF9v cC51LmwzX2luZm8uZmxhZ3MpOworICAgICAgICB7CisgICAgICAgICAgICB1aW50MzJfdCBkYXRh W1BTUl9JTkZPX0NBVF9TSVpFXTsKKworICAgICAgICAgICAgcmV0ID0gcHNyX2dldF9pbmZvKHN5 c2N0bC0+dS5wc3JfY2F0X29wLnRhcmdldCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBQU1JfQ0JNX1RZUEVfTDMsIGRhdGEsIEFSUkFZX1NJWkUoZGF0YSkpOworCisgICAgICAgICAg ICBzeXNjdGwtPnUucHNyX2NhdF9vcC51LmwzX2luZm8uY2JtX2xlbiA9IGRhdGFbUFNSX0lORk9f SURYX0NCTV9MRU5dOworICAgICAgICAgICAgc3lzY3RsLT51LnBzcl9jYXRfb3AudS5sM19pbmZv LmNvc19tYXggPSBkYXRhW1BTUl9JTkZPX0lEWF9DT1NfTUFYXTsKKyAgICAgICAgICAgIHN5c2N0 bC0+dS5wc3JfY2F0X29wLnUubDNfaW5mby5mbGFncyAgID0gZGF0YVtQU1JfSU5GT19JRFhfRkxB R107CiAKICAgICAgICAgICAgIGlmICggIXJldCAmJiBfX2NvcHlfZmllbGRfdG9fZ3Vlc3QodV9z eXNjdGwsIHN5c2N0bCwgdS5wc3JfY2F0X29wKSApCiAgICAgICAgICAgICAgICAgcmV0ID0gLUVG QVVMVDsKICAgICAgICAgICAgIGJyZWFrOworICAgICAgICB9CiAKICAgICAgICAgZGVmYXVsdDoK ICAgICAgICAgICAgIHJldCA9IC1FT1BOT1RTVVBQOwpkaWZmIC0tZ2l0IGEveGVuL2luY2x1ZGUv YXNtLXg4Ni9wc3IuaCBiL3hlbi9pbmNsdWRlL2FzbS14ODYvcHNyLmgKaW5kZXggNTdmNDdlOS4u ZTI3ZTY4NSAxMDA2NDQKLS0tIGEveGVuL2luY2x1ZGUvYXNtLXg4Ni9wc3IuaAorKysgYi94ZW4v aW5jbHVkZS9hc20teDg2L3Bzci5oCkBAIC0xOSwyMCArMTksMjcgQEAKICNpbmNsdWRlIDx4ZW4v dHlwZXMuaD4KIAogLyogQ0FUIGNwdWlkIGxldmVsICovCi0jZGVmaW5lIFBTUl9DUFVJRF9MRVZF TF9DQVQgICAweDEwCisjZGVmaW5lIFBTUl9DUFVJRF9MRVZFTF9DQVQgICAgICAgICAgICAgMHgx MAogCiAvKiBSZXNvdXJjZSBUeXBlIEVudW1lcmF0aW9uICovCiAjZGVmaW5lIFBTUl9SRVNPVVJD RV9UWVBFX0wzICAgICAgICAgICAgMHgyCiAKIC8qIEwzIE1vbml0b3JpbmcgRmVhdHVyZXMgKi8K LSNkZWZpbmUgUFNSX0NNVF9MM19PQ0NVUEFOQ1kgICAgICAgICAgIDB4MQorI2RlZmluZSBQU1Jf Q01UX0wzX09DQ1VQQU5DWSAgICAgICAgICAgIDB4MQogCiAvKiBDRFAgQ2FwYWJpbGl0eSAqLwot I2RlZmluZSBQU1JfQ0FUX0NEUF9DQVBBQklMSVRZICAgICAgICgxdSA8PCAyKQorI2RlZmluZSBQ U1JfQ0FUX0NEUF9DQVBBQklMSVRZICAgICAgICAgICgxdSA8PCAyKQogCiAvKiBMMyBDRFAgRW5h YmxlIGJpdCovCiAjZGVmaW5lIFBTUl9MM19RT1NfQ0RQX0VOQUJMRV9CSVQgICAgICAgMHgwCiAK Ky8qIFVzZWQgYnkgcHNyX2dldF9pbmZvKCkgKi8KKyNkZWZpbmUgUFNSX0lORk9fSURYX0NCTV9M RU4gICAgICAgICAgICAwCisjZGVmaW5lIFBTUl9JTkZPX0lEWF9DT1NfTUFYICAgICAgICAgICAg MQorI2RlZmluZSBQU1JfSU5GT19JRFhfRkxBRyAgICAgICAgICAgICAgIDIKKyNkZWZpbmUgUFNS X0lORk9fQ0FUX1NJWkUgICAgICAgICAgICAgICAzCisKKwogc3RydWN0IHBzcl9jbXRfbDMgewog ICAgIHVuc2lnbmVkIGludCBmZWF0dXJlczsKICAgICB1bnNpZ25lZCBpbnQgdXBzY2FsaW5nX2Zh Y3RvcjsKQEAgLTYzLDggKzcwLDggQEAgaW50IHBzcl9hbGxvY19ybWlkKHN0cnVjdCBkb21haW4g KmQpOwogdm9pZCBwc3JfZnJlZV9ybWlkKHN0cnVjdCBkb21haW4gKmQpOwogdm9pZCBwc3JfY3R4 dF9zd2l0Y2hfdG8oc3RydWN0IGRvbWFpbiAqZCk7CiAKLWludCBwc3JfZ2V0X2NhdF9sM19pbmZv KHVuc2lnbmVkIGludCBzb2NrZXQsIHVpbnQzMl90ICpjYm1fbGVuLAotICAgICAgICAgICAgICAg ICAgICAgICAgdWludDMyX3QgKmNvc19tYXgsIHVpbnQzMl90ICpmbGFncyk7CitpbnQgcHNyX2dl dF9pbmZvKHVuc2lnbmVkIGludCBzb2NrZXQsIGVudW0gY2JtX3R5cGUgdHlwZSwKKyAgICAgICAg ICAgICAgICAgdWludDMyX3QgZGF0YVtdLCB1bnNpZ25lZCBpbnQgYXJyYXlfbGVuKTsKIGludCBw c3JfZ2V0X2wzX2NibShzdHJ1Y3QgZG9tYWluICpkLCB1bnNpZ25lZCBpbnQgc29ja2V0LAogICAg ICAgICAgICAgICAgICAgIHVpbnQ2NF90ICpjYm0sIGVudW0gY2JtX3R5cGUgdHlwZSk7CiBpbnQg cHNyX3NldF9sM19jYm0oc3RydWN0IGRvbWFpbiAqZCwgdW5zaWduZWQgaW50IHNvY2tldCwKLS0g CjEuOS4xCgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18K WGVuLWRldmVsIG1haWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlzdHMueGVuLm9yZwpodHRwczovL2xp c3RzLnhlbi5vcmcveGVuLWRldmVsCg==