From mboxrd@z Thu Jan 1 00:00:00 1970 From: Yi Sun Subject: [PATCH v11 06/23] x86: refactor psr: L3 CAT: implement get hw info flow. Date: Wed, 3 May 2017 16:44:06 +0800 Message-ID: <1493801063-38513-7-git-send-email-yi.y.sun@linux.intel.com> References: <1493801063-38513-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.bemta5.messagelabs.com ([195.245.231.135]) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1d5q2r-0000Zi-Ga for xen-devel@lists.xenproject.org; Wed, 03 May 2017 08:54:01 +0000 In-Reply-To: <1493801063-38513-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 ZWwuY29tPgotLS0KdjExOgogICAgLSBjaGFuZ2VzIGFib3V0ICdjb3NfbWF4JyBhbmQgJ2NibV9s ZW4nLgogICAgICAoc3VnZ2VzdGVkIGJ5IEphbiBCZXVsaWNoKQogICAgLSBjaGFuZ2UgYWJvdXQg J2ZlYXRfcHJvcHMnLgogICAgICAoc3VnZ2VzdGVkIGJ5IEphbiBCZXVsaWNoKQogICAgLSBkZWNs YXJlICdQU1JfU09DS0VUX0ZFQVRfVU5LTk9XTicgdG8gaGFuZGxlIGVycm9yIGNhc2UuCiAgICAg IChzdWdnZXN0ZWQgYnkgSmFuIEJldWxpY2gpCiAgICAtIHVzZSAnQVNTRVJUJyB0byBjaGVjayBk YXRhLgogICAgICAoc3VnZ2VzdGVkIGJ5IEphbiBCZXVsaWNoKQogICAgLSBmaXggY29tbWVudCBv ZiAnZ2V0X2ZlYXRfaW5mbycuCiAgICAgIChzdWdnZXN0ZWQgYnkgSmFuIEJldWxpY2gpCiAgICAt IGZpeCBhIGJ1ZyB3aGVuIGNoZWNraW5nICdmZWF0X3R5cGUnLgogICAgICAoc3VnZ2VzdGVkIGJ5 IEphbiBCZXVsaWNoKQp2MTA6CiAgICAtIHJlbW92ZSAnUFNSX1NPQ0tFVF9VTktOT1dOJyBhbmQg dXNlICdBU1NFUlRfVU5SRUFDSEFCTEUoKScgdG8gaGFuZGxlCiAgICAgIHRoaXMgY2FzZS4KICAg ICAgKHN1Z2dlc3RlZCBieSBKYW4gQmV1bGljaCkKICAgIC0gY2hlY2sgJ2ZlYXRfdHlwZScuCiAg ICAgIChzdWdnZXN0ZWQgYnkgSmFuIEJldWxpY2gpCiAgICAtIGFkanVzdCBtYWNyb3MgbmFtZXMg YW5kIHZhbHVlcyB0byBtYWtlIHRoZW0gbW9yZSBhcHByb3ByaWF0ZS4KICAgICAgKHN1Z2dlc3Rl ZCBieSBKYW4gQmV1bGljaCkKICAgIC0gdXNlICdmZWF0X2luaXRfZG9uZScuCiAgICAgIChzdWdn ZXN0ZWQgYnkgSmFuIEJldWxpY2gpCiAgICAtIGNoYW5nZXMgYWJvdXQgJ2NibV9sZW4nLgogICAg ICAoc3VnZ2VzdGVkIGJ5IEphbiBCZXVsaWNoKQp2OToKICAgIC0gcmVwbGFjZSBmZWF0dXJlIGxp c3QgaGFuZGxpbmcgdG8gZmVhdHVyZSBhcnJheSBoYW5kbGluZy4KICAgICAgKHN1Z2dlc3RlZCBi eSBSb2dlciBQYXUpCiAgICAtIGRlZmluZSAnUFNSX0lORk9fU0laRScuCiAgICAgIChzdWdnZXN0 ZWQgYnkgUm9nZXIgUGF1KQogICAgLSBmaXggY29kaW5nIHN0eWxlIGlzc3VlLgogICAgICAoc3Vn Z2VzdGVkIGJ5IFJvZ2VyIFBhdSBhbmQgSmFuIEJldWxpY2gpCiAgICAtIHVzZSAnQVJSQVlfU0la RScuCiAgICAgIChzdWdnZXN0ZWQgYnkgUm9nZXIgUGF1KQogICAgLSByZW5hbWUgJ2wzX2NhdF9n ZXRfZmVhdF9pbmZvJyB0byAnY2F0X2dldF9mZWF0X2luZm8nIHRvIG1ha2UgaXQgYSBjb21tb24K ICAgICAgZnVuY3Rpb24gZm9yIGJvdGggTDMvTDIgQ0FULgogICAgICAoc3VnZ2VzdGVkIGJ5IFJv Z2VyIFBhdSkKICAgIC0gbW92ZSBjb25zdGFudCB0byB0aGUgcmlnaHQgb2YgY29tcGFyaXNvbi4K ICAgICAgKHN1Z2dlc3RlZCBieSBXZWkgTGl1KQogICAgLSByZW1vdmUgd3JvbmcgY29tbWVudC4K ICAgICAgKHN1Z2dlc3RlZCBieSBKYW4gQmV1bGljaCkKICAgIC0gcmVuYW1lIG1hY3JvcyB1c2Vk IGJ5IHBzcl9nZXRfaW5mbyB0byBtYWtlIHRoZW0gbWVhbmluZ2Z1bC4KICAgICAgKHN1Z2dlc3Rl ZCBieSBKYW4gQmV1bGljaCkKICAgIC0gcmVtb3ZlIGFzc2lnbm1lbnQgZm9yICdQU1JfU09DS0VU X1VOS05PV04nLgogICAgICAoc3VnZ2VzdGVkIGJ5IEphbiBCZXVsaWNoKQogICAgLSByZXRhaW4g YmxhbmsgbGluZSBhZnRlciAnY2FzZSBYRU5fU1lTQ1RMX1BTUl9DQVRfZ2V0X2wzX2luZm8nLgog ICAgICAoc3VnZ2VzdGVkIGJ5IEphbiBCZXVsaWNoKQogICAgLSBtb2RpZnkgcGF0Y2ggdGl0bGUg dG8gaW5kaWNhdGUgJ0wzIENBVCcuCiAgICAgIChzdWdnZXN0ZWQgYnkgSmFuIEJldWxpY2gpCiAg ICAtIG1vdmUgY29tbW9uIGRhdGEgY2hlY2sgaW50byBjb21tb24gZnVuY3Rpb24uCiAgICAgIChz dWdnZXN0ZWQgYnkgSmFuIEJldWxpY2gpCnY2OgogICAgLSBmaXggY29kaW5nIHN0eWxlIGlzc3Vl LgogICAgICAoc3VnZ2VzdGVkIGJ5IEtvbnJhZCBSemVzenV0ZWsgV2lsaykKICAgIC0gZGVmaW5l ICdQU1JfU09DS0VUX1VOS05PV04nIGluICdwc3JfZmVhdF90eXBlJy4KICAgICAgKHN1Z2dlc3Rl ZCBieSBLb25yYWQgUnplc3p1dGVrIFdpbGspCiAgICAtIGNoYW5nZSAnLUVOT1RTT0NLJyB0byAn RVJBTkdFJy4KICAgICAgKHN1Z2dlc3RlZCBieSBLb25yYWQgUnplc3p1dGVrIFdpbGspCiAgICAt IG1vZGlmeSBwb3NpdGlvbiBvZiBtYWNyb3MgdG8gcmVtb3ZlIG9kZCBzcGFjaW5nIGluIHBzci5o LgogICAgICAoc3VnZ2VzdGVkIGJ5IEtvbnJhZCBSemVzenV0ZWsgV2lsaykKdjU6CiAgICAtIGNo YW5nZSAnZGF0W10nIHRvICdkYXRhW10nLgogICAgICAoc3VnZ2VzdGVkIGJ5IEphbiBCZXVsaWNo KQogICAgLSBtb2RpZnkgcGFyYW1ldGVyIHR5cGUgdG8gYXZvaWQgZml4ZWQgd2lkdGggdHlwZSB3 aGVuIHRoZXJlIGlzIG5vIHN1Y2gKICAgICAgaW50ZW50aW9uLgogICAgICAoc3VnZ2VzdGVkIGJ5 IEphbiBCZXVsaWNoKQogICAgLSB1c2UgJ2NvbnN0JyB3aGVuIGl0IGlzIHBvc3NpYmxlLgogICAg ICAoc3VnZ2VzdGVkIGJ5IEphbiBCZXVsaWNoKQogICAgLSBjaGVjayBmZWF0dXJlIHR5cGUgb3V0 c2lkZSBjYWxsYmFjayBmdW5jdGlvbi4KICAgICAgKHN1Z2dlc3RlZCBieSBKYW4gQmV1bGljaCkK ICAgIC0gbW9kaWZ5IG1hY3JvcyBuYW1lcyB0byBhZGQgcHJlZml4ICdQU1JfJyBhbmQgY2hhbmdl ICdDRFBfRkxBRycgdG8KICAgICAgJ1BTUl9GTEFHJy4KICAgICAgKHN1Z2dlc3RlZCBieSBKYW4g QmV1bGljaCkKdjQ6CiAgICAtIGNyZWF0ZSB0aGlzIHBhdGNoIHRvIG1ha2UgY29kZXMgZWFzaWVy IHRvIHVuZGVyc3RhbmQuCiAgICAgIChzdWdnZXN0ZWQgYnkgSmFuIEJldWxpY2gpCi0tLQogeGVu L2FyY2gveDg2L3Bzci5jICAgICAgICB8IDc1ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKy0tCiB4ZW4vYXJjaC94ODYvc3lzY3RsLmMgICAgIHwgMTkgKysrKysr KysrLS0tCiB4ZW4vaW5jbHVkZS9hc20teDg2L3Bzci5oIHwgMTYgKysrKysrLS0tLQogMyBmaWxl cyBjaGFuZ2VkLCA5OCBpbnNlcnRpb25zKCspLCAxMiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQg YS94ZW4vYXJjaC94ODYvcHNyLmMgYi94ZW4vYXJjaC94ODYvcHNyLmMKaW5kZXggYmRhMzI1ZC4u MmU2NTk1ZCAxMDA2NDQKLS0tIGEveGVuL2FyY2gveDg2L3Bzci5jCisrKyBiL3hlbi9hcmNoL3g4 Ni9wc3IuYwpAQCAtNjMsNiArNjMsNyBAQAogZW51bSBwc3JfZmVhdF90eXBlIHsKICAgICBQU1Jf U09DS0VUX0wzX0NBVCwKICAgICBQU1JfU09DS0VUX0ZFQVRfTlVNLAorICAgIFBTUl9TT0NLRVRf RkVBVF9VTktOT1dOLAogfTsKIAogLyoKQEAgLTEwMiw2ICsxMDMsMTAgQEAgc3RhdGljIGNvbnN0 IHN0cnVjdCBmZWF0X3Byb3BzIHsKICAgICAgKiB2YWx1ZXMgb25lIGJ5IG9uZS4KICAgICAgKi8K ICAgICBlbnVtIGNibV90eXBlIHR5cGVbUFNSX01BWF9DT1NfTlVNXTsKKworICAgIC8qIGdldF9m ZWF0X2luZm8gaXMgdXNlZCB0byByZXR1cm4gZmVhdHVyZSBIVyBpbmZvIHRocm91Z2ggc3lzY3Rs LiAqLworICAgIGJvb2wgKCpnZXRfZmVhdF9pbmZvKShjb25zdCBzdHJ1Y3QgZmVhdF9ub2RlICpm ZWF0LAorICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBkYXRhW10sIHVuc2lnbmVk IGludCBhcnJheV9sZW4pOwogfSAqZmVhdF9wcm9wc1tQU1JfU09DS0VUX0ZFQVRfTlVNXTsKIAog LyoKQEAgLTE3NSw2ICsxODAsMjIgQEAgc3RhdGljIHZvaWQgZnJlZV9zb2NrZXRfcmVzb3VyY2Vz KHVuc2lnbmVkIGludCBzb2NrZXQpCiAgICAgaW5mby0+ZmVhdF9pbml0ID0gZmFsc2U7CiB9CiAK K3N0YXRpYyBlbnVtIHBzcl9mZWF0X3R5cGUgcHNyX2NibV90eXBlX3RvX2ZlYXRfdHlwZShlbnVt IGNibV90eXBlIHR5cGUpCit7CisgICAgZW51bSBwc3JfZmVhdF90eXBlIGZlYXRfdHlwZSA9IFBT Ul9TT0NLRVRfRkVBVF9VTktOT1dOOworCisgICAgc3dpdGNoICggdHlwZSApCisgICAgeworICAg IGNhc2UgUFNSX0NCTV9UWVBFX0wzOgorICAgICAgICBmZWF0X3R5cGUgPSBQU1JfU09DS0VUX0wz X0NBVDsKKyAgICAgICAgYnJlYWs7CisgICAgZGVmYXVsdDoKKyAgICAgICAgQVNTRVJUX1VOUkVB Q0hBQkxFKCk7CisgICAgfQorCisgICAgcmV0dXJuIGZlYXRfdHlwZTsKK30KKwogLyogQ0FUIGNv bW1vbiBmdW5jdGlvbnMgaW1wbGVtZW50YXRpb24uICovCiBzdGF0aWMgdm9pZCBjYXRfaW5pdF9m ZWF0dXJlKGNvbnN0IHN0cnVjdCBjcHVpZF9sZWFmICpyZWdzLAogICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBzdHJ1Y3QgZmVhdF9ub2RlICpmZWF0LApAQCAtMjExLDkgKzIzMiwyMyBAQCBz dGF0aWMgdm9pZCBjYXRfaW5pdF9mZWF0dXJlKGNvbnN0IHN0cnVjdCBjcHVpZF9sZWFmICpyZWdz LAogICAgICAgICAgICBjcHVfdG9fc29ja2V0KHNtcF9wcm9jZXNzb3JfaWQoKSksIGZlYXQtPmNv c19tYXgsIGZlYXQtPmNibV9sZW4pOwogfQogCitzdGF0aWMgYm9vbCBjYXRfZ2V0X2ZlYXRfaW5m byhjb25zdCBzdHJ1Y3QgZmVhdF9ub2RlICpmZWF0LAorICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgdWludDMyX3QgZGF0YVtdLCB1bnNpZ25lZCBpbnQgYXJyYXlfbGVuKQoreworICAgIGlm ICggYXJyYXlfbGVuICE9IFBTUl9JTkZPX0FSUkFZX1NJWkUgKQorICAgICAgICByZXR1cm4gZmFs c2U7CisKKyAgICBkYXRhW1BTUl9JTkZPX0lEWF9DT1NfTUFYXSA9IGZlYXQtPmNvc19tYXg7Cisg ICAgZGF0YVtQU1JfSU5GT19JRFhfQ0FUX0NCTV9MRU5dID0gZmVhdC0+Y2JtX2xlbjsKKyAgICBk YXRhW1BTUl9JTkZPX0lEWF9DQVRfRkxBR10gPSAwOworCisgICAgcmV0dXJuIHRydWU7Cit9CisK IC8qIEwzIENBVCBwcm9wcyAqLwogc3RhdGljIHN0cnVjdCBmZWF0X3Byb3BzIGwzX2NhdF9wcm9w cyA9IHsKICAgICAuY29zX251bSA9IDEsCisgICAgLmdldF9mZWF0X2luZm8gPSBjYXRfZ2V0X2Zl YXRfaW5mbywKIH07CiAKIHN0YXRpYyB2b2lkIF9faW5pdCBwYXJzZV9wc3JfYm9vbChjaGFyICpz LCBjaGFyICp2YWx1ZSwgY2hhciAqZmVhdHVyZSwKQEAgLTQyNywxMCArNDYyLDQ0IEBAIHZvaWQg cHNyX2N0eHRfc3dpdGNoX3RvKHN0cnVjdCBkb21haW4gKmQpCiAgICAgfQogfQogCi1pbnQgcHNy X2dldF9jYXRfbDNfaW5mbyh1bnNpZ25lZCBpbnQgc29ja2V0LCB1aW50MzJfdCAqY2JtX2xlbiwK LSAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90ICpjb3NfbWF4LCB1aW50MzJfdCAqZmxh Z3MpCitzdGF0aWMgc3RydWN0IHBzcl9zb2NrZXRfaW5mbyAqZ2V0X3NvY2tldF9pbmZvKHVuc2ln bmVkIGludCBzb2NrZXQpCiB7Ci0gICAgcmV0dXJuIDA7CisgICAgaWYgKCAhc29ja2V0X2luZm8g KQorICAgICAgICByZXR1cm4gRVJSX1BUUigtRU5PREVWKTsKKworICAgIGlmICggc29ja2V0ID49 IG5yX3NvY2tldHMgKQorICAgICAgICByZXR1cm4gRVJSX1BUUigtRVJBTkdFKTsKKworICAgIGlm ICggIXNvY2tldF9pbmZvW3NvY2tldF0uZmVhdF9pbml0ICkKKyAgICAgICAgcmV0dXJuIEVSUl9Q VFIoLUVOT0VOVCk7CisKKyAgICByZXR1cm4gc29ja2V0X2luZm8gKyBzb2NrZXQ7Cit9CisKK2lu dCBwc3JfZ2V0X2luZm8odW5zaWduZWQgaW50IHNvY2tldCwgZW51bSBjYm1fdHlwZSB0eXBlLAor ICAgICAgICAgICAgICAgICB1aW50MzJfdCBkYXRhW10sIHVuc2lnbmVkIGludCBhcnJheV9sZW4p Cit7CisgICAgY29uc3Qgc3RydWN0IHBzcl9zb2NrZXRfaW5mbyAqaW5mbyA9IGdldF9zb2NrZXRf aW5mbyhzb2NrZXQpOworICAgIGNvbnN0IHN0cnVjdCBmZWF0X25vZGUgKmZlYXQ7CisgICAgZW51 bSBwc3JfZmVhdF90eXBlIGZlYXRfdHlwZTsKKworICAgIEFTU0VSVChkYXRhKTsKKworICAgIGlm ICggSVNfRVJSKGluZm8pICkKKyAgICAgICAgcmV0dXJuIFBUUl9FUlIoaW5mbyk7CisKKyAgICBm ZWF0X3R5cGUgPSBwc3JfY2JtX3R5cGVfdG9fZmVhdF90eXBlKHR5cGUpOworICAgIGlmICggZmVh dF90eXBlID49IEFSUkFZX1NJWkUoaW5mby0+ZmVhdHVyZXMpICkKKyAgICAgICAgcmV0dXJuIC1F Tk9FTlQ7CisKKyAgICBmZWF0ID0gaW5mby0+ZmVhdHVyZXNbZmVhdF90eXBlXTsKKyAgICBpZiAo ICFmZWF0IHx8ICFmZWF0X3Byb3BzW2ZlYXRfdHlwZV0gKQorICAgICAgICByZXR1cm4gLUVOT0VO VDsKKworICAgIGlmICggZmVhdF9wcm9wc1tmZWF0X3R5cGVdLT5nZXRfZmVhdF9pbmZvKGZlYXQs IGRhdGEsIGFycmF5X2xlbikgKQorICAgICAgICByZXR1cm4gMDsKKworICAgIHJldHVybiAtRUlO VkFMOwogfQogCiBpbnQgcHNyX2dldF9sM19jYm0oc3RydWN0IGRvbWFpbiAqZCwgdW5zaWduZWQg aW50IHNvY2tldCwKZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni9zeXNjdGwuYyBiL3hlbi9hcmNo L3g4Ni9zeXNjdGwuYwppbmRleCAyZjcwNTZlLi5jMjMyNzBkIDEwMDY0NAotLS0gYS94ZW4vYXJj aC94ODYvc3lzY3RsLmMKKysrIGIveGVuL2FyY2gveDg2L3N5c2N0bC5jCkBAIC0xNzUsMTQgKzE3 NSwyNSBAQCBsb25nIGFyY2hfZG9fc3lzY3RsKAogICAgICAgICBzd2l0Y2ggKCBzeXNjdGwtPnUu cHNyX2NhdF9vcC5jbWQgKQogICAgICAgICB7CiAgICAgICAgIGNhc2UgWEVOX1NZU0NUTF9QU1Jf Q0FUX2dldF9sM19pbmZvOgotICAgICAgICAgICAgcmV0ID0gcHNyX2dldF9jYXRfbDNfaW5mbyhz eXNjdGwtPnUucHNyX2NhdF9vcC50YXJnZXQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICZzeXNjdGwtPnUucHNyX2NhdF9vcC51LmwzX2luZm8uY2JtX2xlbiwKLSAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnN5c2N0bC0+dS5wc3JfY2F0X29wLnUu bDNfaW5mby5jb3NfbWF4LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAm c3lzY3RsLT51LnBzcl9jYXRfb3AudS5sM19pbmZvLmZsYWdzKTsKKyAgICAgICAgeworICAgICAg ICAgICAgdWludDMyX3QgZGF0YVtQU1JfSU5GT19BUlJBWV9TSVpFXTsKKworICAgICAgICAgICAg cmV0ID0gcHNyX2dldF9pbmZvKHN5c2N0bC0+dS5wc3JfY2F0X29wLnRhcmdldCwKKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBQU1JfQ0JNX1RZUEVfTDMsIGRhdGEsIEFSUkFZX1NJWkUo ZGF0YSkpOworICAgICAgICAgICAgaWYgKCByZXQgKQorICAgICAgICAgICAgICAgIGJyZWFrOwor CisgICAgICAgICAgICBzeXNjdGwtPnUucHNyX2NhdF9vcC51LmwzX2luZm8uY29zX21heCA9Cisg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGFbUFNSX0lORk9fSURYX0NP U19NQVhdOworICAgICAgICAgICAgc3lzY3RsLT51LnBzcl9jYXRfb3AudS5sM19pbmZvLmNibV9s ZW4gPQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhW1BTUl9JTkZP X0lEWF9DQVRfQ0JNX0xFTl07CisgICAgICAgICAgICBzeXNjdGwtPnUucHNyX2NhdF9vcC51Lmwz X2luZm8uZmxhZ3MgPQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRh W1BTUl9JTkZPX0lEWF9DQVRfRkxBR107CiAKICAgICAgICAgICAgIGlmICggIXJldCAmJiBfX2Nv cHlfZmllbGRfdG9fZ3Vlc3QodV9zeXNjdGwsIHN5c2N0bCwgdS5wc3JfY2F0X29wKSApCiAgICAg ICAgICAgICAgICAgcmV0ID0gLUVGQVVMVDsKICAgICAgICAgICAgIGJyZWFrOworICAgICAgICB9 CiAKICAgICAgICAgZGVmYXVsdDoKICAgICAgICAgICAgIHJldCA9IC1FT1BOT1RTVVBQOwpkaWZm IC0tZ2l0IGEveGVuL2luY2x1ZGUvYXNtLXg4Ni9wc3IuaCBiL3hlbi9pbmNsdWRlL2FzbS14ODYv cHNyLmgKaW5kZXggNTdmNDdlOS4uYWYzYTQ2NSAxMDA2NDQKLS0tIGEveGVuL2luY2x1ZGUvYXNt LXg4Ni9wc3IuaAorKysgYi94ZW4vaW5jbHVkZS9hc20teDg2L3Bzci5oCkBAIC0xOSwyMCArMTks MjYgQEAKICNpbmNsdWRlIDx4ZW4vdHlwZXMuaD4KIAogLyogQ0FUIGNwdWlkIGxldmVsICovCi0j ZGVmaW5lIFBTUl9DUFVJRF9MRVZFTF9DQVQgICAweDEwCisjZGVmaW5lIFBTUl9DUFVJRF9MRVZF TF9DQVQgICAgICAgICAgICAgMHgxMAogCiAvKiBSZXNvdXJjZSBUeXBlIEVudW1lcmF0aW9uICov CiAjZGVmaW5lIFBTUl9SRVNPVVJDRV9UWVBFX0wzICAgICAgICAgICAgMHgyCiAKIC8qIEwzIE1v bml0b3JpbmcgRmVhdHVyZXMgKi8KLSNkZWZpbmUgUFNSX0NNVF9MM19PQ0NVUEFOQ1kgICAgICAg ICAgIDB4MQorI2RlZmluZSBQU1JfQ01UX0wzX09DQ1VQQU5DWSAgICAgICAgICAgIDB4MQogCiAv KiBDRFAgQ2FwYWJpbGl0eSAqLwotI2RlZmluZSBQU1JfQ0FUX0NEUF9DQVBBQklMSVRZICAgICAg ICgxdSA8PCAyKQorI2RlZmluZSBQU1JfQ0FUX0NEUF9DQVBBQklMSVRZICAgICAgICAgICgxdSA8 PCAyKQogCiAvKiBMMyBDRFAgRW5hYmxlIGJpdCovCiAjZGVmaW5lIFBTUl9MM19RT1NfQ0RQX0VO QUJMRV9CSVQgICAgICAgMHgwCiAKKy8qIFVzZWQgYnkgcHNyX2dldF9pbmZvKCkgKi8KKyNkZWZp bmUgUFNSX0lORk9fSURYX0NPU19NQVggICAgICAgICAgICAwCisjZGVmaW5lIFBTUl9JTkZPX0lE WF9DQVRfQ0JNX0xFTiAgICAgICAgMQorI2RlZmluZSBQU1JfSU5GT19JRFhfQ0FUX0ZMQUcgICAg ICAgICAgIDIKKyNkZWZpbmUgUFNSX0lORk9fQVJSQVlfU0laRSAgICAgICAgICAgICAzCisKIHN0 cnVjdCBwc3JfY210X2wzIHsKICAgICB1bnNpZ25lZCBpbnQgZmVhdHVyZXM7CiAgICAgdW5zaWdu ZWQgaW50IHVwc2NhbGluZ19mYWN0b3I7CkBAIC02Myw4ICs2OSw4IEBAIGludCBwc3JfYWxsb2Nf cm1pZChzdHJ1Y3QgZG9tYWluICpkKTsKIHZvaWQgcHNyX2ZyZWVfcm1pZChzdHJ1Y3QgZG9tYWlu ICpkKTsKIHZvaWQgcHNyX2N0eHRfc3dpdGNoX3RvKHN0cnVjdCBkb21haW4gKmQpOwogCi1pbnQg cHNyX2dldF9jYXRfbDNfaW5mbyh1bnNpZ25lZCBpbnQgc29ja2V0LCB1aW50MzJfdCAqY2JtX2xl biwKLSAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90ICpjb3NfbWF4LCB1aW50MzJfdCAq ZmxhZ3MpOworaW50IHBzcl9nZXRfaW5mbyh1bnNpZ25lZCBpbnQgc29ja2V0LCBlbnVtIGNibV90 eXBlIHR5cGUsCisgICAgICAgICAgICAgICAgIHVpbnQzMl90IGRhdGFbXSwgdW5zaWduZWQgaW50 IGFycmF5X2xlbik7CiBpbnQgcHNyX2dldF9sM19jYm0oc3RydWN0IGRvbWFpbiAqZCwgdW5zaWdu ZWQgaW50IHNvY2tldCwKICAgICAgICAgICAgICAgICAgICB1aW50NjRfdCAqY2JtLCBlbnVtIGNi bV90eXBlIHR5cGUpOwogaW50IHBzcl9zZXRfbDNfY2JtKHN0cnVjdCBkb21haW4gKmQsIHVuc2ln bmVkIGludCBzb2NrZXQsCi0tIAoxLjkuMQoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fClhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3Rz Lnhlbi5vcmcKaHR0cHM6Ly9saXN0cy54ZW4ub3JnL3hlbi1kZXZlbAo=