From mboxrd@z Thu Jan 1 00:00:00 1970 From: Yi Sun Subject: [PATCH v12 06/23] x86: refactor psr: L3 CAT: implement get hw info flow. Date: Wed, 14 Jun 2017 09:12:39 +0800 Message-ID: <1497402776-22348-7-git-send-email-yi.y.sun@linux.intel.com> References: <1497402776-22348-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 1dKx3t-0007ML-M0 for xen-devel@lists.xenproject.org; Wed, 14 Jun 2017 01:25:33 +0000 In-Reply-To: <1497402776-22348-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 ZWwuY29tPgpSZXZpZXdlZC1ieTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgotLS0K djEyOgogICAgLSB1c2UgJ0FTU0VSVF9VTlJFQUNIQUJMRSgpJyB0byByZWNvcmQgYnVnLgogICAg ICAoc3VnZ2VzdGVkIGJ5IEphbiBCZXVsaWNoKQp2MTE6CiAgICAtIGNoYW5nZXMgYWJvdXQgJ2Nv c19tYXgnIGFuZCAnY2JtX2xlbicuCiAgICAgIChzdWdnZXN0ZWQgYnkgSmFuIEJldWxpY2gpCiAg ICAtIGNoYW5nZSBhYm91dCAnZmVhdF9wcm9wcycuCiAgICAgIChzdWdnZXN0ZWQgYnkgSmFuIEJl dWxpY2gpCiAgICAtIGRlY2xhcmUgJ1BTUl9TT0NLRVRfRkVBVF9VTktOT1dOJyB0byBoYW5kbGUg ZXJyb3IgY2FzZS4KICAgICAgKHN1Z2dlc3RlZCBieSBKYW4gQmV1bGljaCkKICAgIC0gdXNlICdB U1NFUlQnIHRvIGNoZWNrIGRhdGEuCiAgICAgIChzdWdnZXN0ZWQgYnkgSmFuIEJldWxpY2gpCiAg ICAtIGZpeCBjb21tZW50IG9mICdnZXRfZmVhdF9pbmZvJy4KICAgICAgKHN1Z2dlc3RlZCBieSBK YW4gQmV1bGljaCkKICAgIC0gZml4IGEgYnVnIHdoZW4gY2hlY2tpbmcgJ2ZlYXRfdHlwZScuCiAg ICAgIChzdWdnZXN0ZWQgYnkgSmFuIEJldWxpY2gpCnYxMDoKICAgIC0gcmVtb3ZlICdQU1JfU09D S0VUX1VOS05PV04nIGFuZCB1c2UgJ0FTU0VSVF9VTlJFQUNIQUJMRSgpJyB0byBoYW5kbGUKICAg ICAgdGhpcyBjYXNlLgogICAgICAoc3VnZ2VzdGVkIGJ5IEphbiBCZXVsaWNoKQogICAgLSBjaGVj ayAnZmVhdF90eXBlJy4KICAgICAgKHN1Z2dlc3RlZCBieSBKYW4gQmV1bGljaCkKICAgIC0gYWRq dXN0IG1hY3JvcyBuYW1lcyBhbmQgdmFsdWVzIHRvIG1ha2UgdGhlbSBtb3JlIGFwcHJvcHJpYXRl LgogICAgICAoc3VnZ2VzdGVkIGJ5IEphbiBCZXVsaWNoKQogICAgLSB1c2UgJ2ZlYXRfaW5pdF9k b25lJy4KICAgICAgKHN1Z2dlc3RlZCBieSBKYW4gQmV1bGljaCkKICAgIC0gY2hhbmdlcyBhYm91 dCAnY2JtX2xlbicuCiAgICAgIChzdWdnZXN0ZWQgYnkgSmFuIEJldWxpY2gpCnY5OgogICAgLSBy ZXBsYWNlIGZlYXR1cmUgbGlzdCBoYW5kbGluZyB0byBmZWF0dXJlIGFycmF5IGhhbmRsaW5nLgog ICAgICAoc3VnZ2VzdGVkIGJ5IFJvZ2VyIFBhdSkKICAgIC0gZGVmaW5lICdQU1JfSU5GT19TSVpF Jy4KICAgICAgKHN1Z2dlc3RlZCBieSBSb2dlciBQYXUpCiAgICAtIGZpeCBjb2Rpbmcgc3R5bGUg aXNzdWUuCiAgICAgIChzdWdnZXN0ZWQgYnkgUm9nZXIgUGF1IGFuZCBKYW4gQmV1bGljaCkKICAg IC0gdXNlICdBUlJBWV9TSVpFJy4KICAgICAgKHN1Z2dlc3RlZCBieSBSb2dlciBQYXUpCiAgICAt IHJlbmFtZSAnbDNfY2F0X2dldF9mZWF0X2luZm8nIHRvICdjYXRfZ2V0X2ZlYXRfaW5mbycgdG8g bWFrZSBpdCBhIGNvbW1vbgogICAgICBmdW5jdGlvbiBmb3IgYm90aCBMMy9MMiBDQVQuCiAgICAg IChzdWdnZXN0ZWQgYnkgUm9nZXIgUGF1KQogICAgLSBtb3ZlIGNvbnN0YW50IHRvIHRoZSByaWdo dCBvZiBjb21wYXJpc29uLgogICAgICAoc3VnZ2VzdGVkIGJ5IFdlaSBMaXUpCiAgICAtIHJlbW92 ZSB3cm9uZyBjb21tZW50LgogICAgICAoc3VnZ2VzdGVkIGJ5IEphbiBCZXVsaWNoKQogICAgLSBy ZW5hbWUgbWFjcm9zIHVzZWQgYnkgcHNyX2dldF9pbmZvIHRvIG1ha2UgdGhlbSBtZWFuaW5nZnVs LgogICAgICAoc3VnZ2VzdGVkIGJ5IEphbiBCZXVsaWNoKQogICAgLSByZW1vdmUgYXNzaWdubWVu dCBmb3IgJ1BTUl9TT0NLRVRfVU5LTk9XTicuCiAgICAgIChzdWdnZXN0ZWQgYnkgSmFuIEJldWxp Y2gpCiAgICAtIHJldGFpbiBibGFuayBsaW5lIGFmdGVyICdjYXNlIFhFTl9TWVNDVExfUFNSX0NB VF9nZXRfbDNfaW5mbycuCiAgICAgIChzdWdnZXN0ZWQgYnkgSmFuIEJldWxpY2gpCiAgICAtIG1v ZGlmeSBwYXRjaCB0aXRsZSB0byBpbmRpY2F0ZSAnTDMgQ0FUJy4KICAgICAgKHN1Z2dlc3RlZCBi eSBKYW4gQmV1bGljaCkKICAgIC0gbW92ZSBjb21tb24gZGF0YSBjaGVjayBpbnRvIGNvbW1vbiBm dW5jdGlvbi4KICAgICAgKHN1Z2dlc3RlZCBieSBKYW4gQmV1bGljaCkKdjY6CiAgICAtIGZpeCBj b2Rpbmcgc3R5bGUgaXNzdWUuCiAgICAgIChzdWdnZXN0ZWQgYnkgS29ucmFkIFJ6ZXN6dXRlayBX aWxrKQogICAgLSBkZWZpbmUgJ1BTUl9TT0NLRVRfVU5LTk9XTicgaW4gJ3Bzcl9mZWF0X3R5cGUn LgogICAgICAoc3VnZ2VzdGVkIGJ5IEtvbnJhZCBSemVzenV0ZWsgV2lsaykKICAgIC0gY2hhbmdl ICctRU5PVFNPQ0snIHRvICdFUkFOR0UnLgogICAgICAoc3VnZ2VzdGVkIGJ5IEtvbnJhZCBSemVz enV0ZWsgV2lsaykKICAgIC0gbW9kaWZ5IHBvc2l0aW9uIG9mIG1hY3JvcyB0byByZW1vdmUgb2Rk IHNwYWNpbmcgaW4gcHNyLmguCiAgICAgIChzdWdnZXN0ZWQgYnkgS29ucmFkIFJ6ZXN6dXRlayBX aWxrKQp2NToKICAgIC0gY2hhbmdlICdkYXRbXScgdG8gJ2RhdGFbXScuCiAgICAgIChzdWdnZXN0 ZWQgYnkgSmFuIEJldWxpY2gpCiAgICAtIG1vZGlmeSBwYXJhbWV0ZXIgdHlwZSB0byBhdm9pZCBm aXhlZCB3aWR0aCB0eXBlIHdoZW4gdGhlcmUgaXMgbm8gc3VjaAogICAgICBpbnRlbnRpb24uCiAg ICAgIChzdWdnZXN0ZWQgYnkgSmFuIEJldWxpY2gpCiAgICAtIHVzZSAnY29uc3QnIHdoZW4gaXQg aXMgcG9zc2libGUuCiAgICAgIChzdWdnZXN0ZWQgYnkgSmFuIEJldWxpY2gpCiAgICAtIGNoZWNr IGZlYXR1cmUgdHlwZSBvdXRzaWRlIGNhbGxiYWNrIGZ1bmN0aW9uLgogICAgICAoc3VnZ2VzdGVk IGJ5IEphbiBCZXVsaWNoKQogICAgLSBtb2RpZnkgbWFjcm9zIG5hbWVzIHRvIGFkZCBwcmVmaXgg J1BTUl8nIGFuZCBjaGFuZ2UgJ0NEUF9GTEFHJyB0bwogICAgICAnUFNSX0ZMQUcnLgogICAgICAo c3VnZ2VzdGVkIGJ5IEphbiBCZXVsaWNoKQp2NDoKICAgIC0gY3JlYXRlIHRoaXMgcGF0Y2ggdG8g bWFrZSBjb2RlcyBlYXNpZXIgdG8gdW5kZXJzdGFuZC4KICAgICAgKHN1Z2dlc3RlZCBieSBKYW4g QmV1bGljaCkKLS0tCi0tLQogeGVuL2FyY2gveDg2L3Bzci5jICAgICAgICB8IDgxICsrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0tCiB4ZW4vYXJjaC94ODYvc3lz Y3RsLmMgICAgIHwgMTkgKysrKysrKystLS0KIHhlbi9pbmNsdWRlL2FzbS14ODYvcHNyLmggfCAx NiArKysrKysrLS0tCiAzIGZpbGVzIGNoYW5nZWQsIDEwNCBpbnNlcnRpb25zKCspLCAxMiBkZWxl dGlvbnMoLSkKCmRpZmYgLS1naXQgYS94ZW4vYXJjaC94ODYvcHNyLmMgYi94ZW4vYXJjaC94ODYv cHNyLmMKaW5kZXggOWZiMGRhOC4uMWNjYmQwMCAxMDA2NDQKLS0tIGEveGVuL2FyY2gveDg2L3Bz ci5jCisrKyBiL3hlbi9hcmNoL3g4Ni9wc3IuYwpAQCAtNjMsNiArNjMsNyBAQAogZW51bSBwc3Jf ZmVhdF90eXBlIHsKICAgICBQU1JfU09DS0VUX0wzX0NBVCwKICAgICBQU1JfU09DS0VUX0ZFQVRf TlVNLAorICAgIFBTUl9TT0NLRVRfRkVBVF9VTktOT1dOLAogfTsKIAogLyoKQEAgLTEwMiw2ICsx MDMsMTAgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBmZWF0X3Byb3BzIHsKICAgICAgKiB2YWx1ZXMg b25lIGJ5IG9uZS4KICAgICAgKi8KICAgICBlbnVtIGNibV90eXBlIHR5cGVbUFNSX01BWF9DT1Nf TlVNXTsKKworICAgIC8qIGdldF9mZWF0X2luZm8gaXMgdXNlZCB0byByZXR1cm4gZmVhdHVyZSBI VyBpbmZvIHRocm91Z2ggc3lzY3RsLiAqLworICAgIGJvb2wgKCpnZXRfZmVhdF9pbmZvKShjb25z dCBzdHJ1Y3QgZmVhdF9ub2RlICpmZWF0LAorICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50 MzJfdCBkYXRhW10sIHVuc2lnbmVkIGludCBhcnJheV9sZW4pOwogfSAqZmVhdF9wcm9wc1tQU1Jf U09DS0VUX0ZFQVRfTlVNXTsKIAogLyoKQEAgLTE3Niw2ICsxODEsMjIgQEAgc3RhdGljIHZvaWQg ZnJlZV9zb2NrZXRfcmVzb3VyY2VzKHVuc2lnbmVkIGludCBzb2NrZXQpCiAgICAgaW5mby0+ZmVh dF9pbml0ID0gZmFsc2U7CiB9CiAKK3N0YXRpYyBlbnVtIHBzcl9mZWF0X3R5cGUgcHNyX2NibV90 eXBlX3RvX2ZlYXRfdHlwZShlbnVtIGNibV90eXBlIHR5cGUpCit7CisgICAgZW51bSBwc3JfZmVh dF90eXBlIGZlYXRfdHlwZSA9IFBTUl9TT0NLRVRfRkVBVF9VTktOT1dOOworCisgICAgc3dpdGNo ICggdHlwZSApCisgICAgeworICAgIGNhc2UgUFNSX0NCTV9UWVBFX0wzOgorICAgICAgICBmZWF0 X3R5cGUgPSBQU1JfU09DS0VUX0wzX0NBVDsKKyAgICAgICAgYnJlYWs7CisgICAgZGVmYXVsdDoK KyAgICAgICAgQVNTRVJUX1VOUkVBQ0hBQkxFKCk7CisgICAgfQorCisgICAgcmV0dXJuIGZlYXRf dHlwZTsKK30KKwogLyogQ0FUIGNvbW1vbiBmdW5jdGlvbnMgaW1wbGVtZW50YXRpb24uICovCiBz dGF0aWMgdm9pZCBjYXRfaW5pdF9mZWF0dXJlKGNvbnN0IHN0cnVjdCBjcHVpZF9sZWFmICpyZWdz LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgZmVhdF9ub2RlICpmZWF0LApA QCAtMjEzLDEwICsyMzQsMjQgQEAgc3RhdGljIHZvaWQgY2F0X2luaXRfZmVhdHVyZShjb25zdCBz dHJ1Y3QgY3B1aWRfbGVhZiAqcmVncywKICAgICAgICAgICAgY3B1X3RvX3NvY2tldChzbXBfcHJv Y2Vzc29yX2lkKCkpLCBmZWF0LT5jb3NfbWF4LCBmZWF0LT5jYm1fbGVuKTsKIH0KIAorc3RhdGlj IGJvb2wgY2F0X2dldF9mZWF0X2luZm8oY29uc3Qgc3RydWN0IGZlYXRfbm9kZSAqZmVhdCwKKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IGRhdGFbXSwgdW5zaWduZWQgaW50 IGFycmF5X2xlbikKK3sKKyAgICBpZiAoIGFycmF5X2xlbiAhPSBQU1JfSU5GT19BUlJBWV9TSVpF ICkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgZGF0YVtQU1JfSU5GT19JRFhfQ09TX01B WF0gPSBmZWF0LT5jb3NfbWF4OworICAgIGRhdGFbUFNSX0lORk9fSURYX0NBVF9DQk1fTEVOXSA9 IGZlYXQtPmNibV9sZW47CisgICAgZGF0YVtQU1JfSU5GT19JRFhfQ0FUX0ZMQUddID0gMDsKKwor ICAgIHJldHVybiB0cnVlOworfQorCiAvKiBMMyBDQVQgcHJvcHMgKi8KIHN0YXRpYyBjb25zdCBz dHJ1Y3QgZmVhdF9wcm9wcyBsM19jYXRfcHJvcHMgPSB7CiAgICAgLmNvc19udW0gPSAxLAogICAg IC50eXBlWzBdID0gUFNSX0NCTV9UWVBFX0wzLAorICAgIC5nZXRfZmVhdF9pbmZvID0gY2F0X2dl dF9mZWF0X2luZm8sCiB9OwogCiBzdGF0aWMgdm9pZCBfX2luaXQgcGFyc2VfcHNyX2Jvb2woY2hh ciAqcywgY2hhciAqdmFsdWUsIGNoYXIgKmZlYXR1cmUsCkBAIC00MjksMTAgKzQ2NCw1MCBAQCB2 b2lkIHBzcl9jdHh0X3N3aXRjaF90byhzdHJ1Y3QgZG9tYWluICpkKQogICAgIH0KIH0KIAotaW50 IHBzcl9nZXRfY2F0X2wzX2luZm8odW5zaWduZWQgaW50IHNvY2tldCwgdWludDMyX3QgKmNibV9s ZW4sCi0gICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCAqY29zX21heCwgdWludDMyX3Qg KmZsYWdzKQorc3RhdGljIHN0cnVjdCBwc3Jfc29ja2V0X2luZm8gKmdldF9zb2NrZXRfaW5mbyh1 bnNpZ25lZCBpbnQgc29ja2V0KQogewotICAgIHJldHVybiAwOworICAgIGlmICggIXNvY2tldF9p bmZvICkKKyAgICAgICAgcmV0dXJuIEVSUl9QVFIoLUVOT0RFVik7CisKKyAgICBpZiAoIHNvY2tl dCA+PSBucl9zb2NrZXRzICkKKyAgICAgICAgcmV0dXJuIEVSUl9QVFIoLUVSQU5HRSk7CisKKyAg ICBpZiAoICFzb2NrZXRfaW5mb1tzb2NrZXRdLmZlYXRfaW5pdCApCisgICAgICAgIHJldHVybiBF UlJfUFRSKC1FTk9FTlQpOworCisgICAgcmV0dXJuIHNvY2tldF9pbmZvICsgc29ja2V0OworfQor CitpbnQgcHNyX2dldF9pbmZvKHVuc2lnbmVkIGludCBzb2NrZXQsIGVudW0gY2JtX3R5cGUgdHlw ZSwKKyAgICAgICAgICAgICAgICAgdWludDMyX3QgZGF0YVtdLCB1bnNpZ25lZCBpbnQgYXJyYXlf bGVuKQoreworICAgIGNvbnN0IHN0cnVjdCBwc3Jfc29ja2V0X2luZm8gKmluZm8gPSBnZXRfc29j a2V0X2luZm8oc29ja2V0KTsKKyAgICBjb25zdCBzdHJ1Y3QgZmVhdF9ub2RlICpmZWF0OworICAg IGVudW0gcHNyX2ZlYXRfdHlwZSBmZWF0X3R5cGU7CisKKyAgICBBU1NFUlQoZGF0YSk7CisKKyAg ICBpZiAoIElTX0VSUihpbmZvKSApCisgICAgICAgIHJldHVybiBQVFJfRVJSKGluZm8pOworCisg ICAgZmVhdF90eXBlID0gcHNyX2NibV90eXBlX3RvX2ZlYXRfdHlwZSh0eXBlKTsKKyAgICBpZiAo IGZlYXRfdHlwZSA+PSBBUlJBWV9TSVpFKGluZm8tPmZlYXR1cmVzKSApCisgICAgICAgIHJldHVy biAtRU5PRU5UOworCisgICAgZmVhdCA9IGluZm8tPmZlYXR1cmVzW2ZlYXRfdHlwZV07CisgICAg aWYgKCAhZmVhdCApCisgICAgICAgIHJldHVybiAtRU5PRU5UOworCisgICAgaWYgKCAhZmVhdF9w cm9wc1tmZWF0X3R5cGVdICkKKyAgICB7CisgICAgICAgIEFTU0VSVF9VTlJFQUNIQUJMRSgpOwor ICAgICAgICByZXR1cm4gLUVOT0VOVDsKKyAgICB9CisKKyAgICBpZiAoIGZlYXRfcHJvcHNbZmVh dF90eXBlXS0+Z2V0X2ZlYXRfaW5mbyhmZWF0LCBkYXRhLCBhcnJheV9sZW4pICkKKyAgICAgICAg cmV0dXJuIDA7CisKKyAgICByZXR1cm4gLUVJTlZBTDsKIH0KIAogaW50IHBzcl9nZXRfbDNfY2Jt KHN0cnVjdCBkb21haW4gKmQsIHVuc2lnbmVkIGludCBzb2NrZXQsCmRpZmYgLS1naXQgYS94ZW4v YXJjaC94ODYvc3lzY3RsLmMgYi94ZW4vYXJjaC94ODYvc3lzY3RsLmMKaW5kZXggMmY3MDU2ZS4u YzIzMjcwZCAxMDA2NDQKLS0tIGEveGVuL2FyY2gveDg2L3N5c2N0bC5jCisrKyBiL3hlbi9hcmNo L3g4Ni9zeXNjdGwuYwpAQCAtMTc1LDE0ICsxNzUsMjUgQEAgbG9uZyBhcmNoX2RvX3N5c2N0bCgK ICAgICAgICAgc3dpdGNoICggc3lzY3RsLT51LnBzcl9jYXRfb3AuY21kICkKICAgICAgICAgewog ICAgICAgICBjYXNlIFhFTl9TWVNDVExfUFNSX0NBVF9nZXRfbDNfaW5mbzoKLSAgICAgICAgICAg IHJldCA9IHBzcl9nZXRfY2F0X2wzX2luZm8oc3lzY3RsLT51LnBzcl9jYXRfb3AudGFyZ2V0LAot ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmc3lzY3RsLT51LnBzcl9jYXRf b3AudS5sM19pbmZvLmNibV9sZW4sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICZzeXNjdGwtPnUucHNyX2NhdF9vcC51LmwzX2luZm8uY29zX21heCwKLSAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgJnN5c2N0bC0+dS5wc3JfY2F0X29wLnUubDNfaW5m by5mbGFncyk7CisgICAgICAgIHsKKyAgICAgICAgICAgIHVpbnQzMl90IGRhdGFbUFNSX0lORk9f QVJSQVlfU0laRV07CisKKyAgICAgICAgICAgIHJldCA9IHBzcl9nZXRfaW5mbyhzeXNjdGwtPnUu cHNyX2NhdF9vcC50YXJnZXQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUFNSX0NC TV9UWVBFX0wzLCBkYXRhLCBBUlJBWV9TSVpFKGRhdGEpKTsKKyAgICAgICAgICAgIGlmICggcmV0 ICkKKyAgICAgICAgICAgICAgICBicmVhazsKKworICAgICAgICAgICAgc3lzY3RsLT51LnBzcl9j YXRfb3AudS5sM19pbmZvLmNvc19tYXggPQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBkYXRhW1BTUl9JTkZPX0lEWF9DT1NfTUFYXTsKKyAgICAgICAgICAgIHN5c2N0bC0+ dS5wc3JfY2F0X29wLnUubDNfaW5mby5jYm1fbGVuID0KKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgZGF0YVtQU1JfSU5GT19JRFhfQ0FUX0NCTV9MRU5dOworICAgICAgICAg ICAgc3lzY3RsLT51LnBzcl9jYXRfb3AudS5sM19pbmZvLmZsYWdzID0KKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgZGF0YVtQU1JfSU5GT19JRFhfQ0FUX0ZMQUddOwogCiAg ICAgICAgICAgICBpZiAoICFyZXQgJiYgX19jb3B5X2ZpZWxkX3RvX2d1ZXN0KHVfc3lzY3RsLCBz eXNjdGwsIHUucHNyX2NhdF9vcCkgKQogICAgICAgICAgICAgICAgIHJldCA9IC1FRkFVTFQ7CiAg ICAgICAgICAgICBicmVhazsKKyAgICAgICAgfQogCiAgICAgICAgIGRlZmF1bHQ6CiAgICAgICAg ICAgICByZXQgPSAtRU9QTk9UU1VQUDsKZGlmZiAtLWdpdCBhL3hlbi9pbmNsdWRlL2FzbS14ODYv cHNyLmggYi94ZW4vaW5jbHVkZS9hc20teDg2L3Bzci5oCmluZGV4IGQxNDY3MDYuLjk2MjVlOTAg MTAwNjQ0Ci0tLSBhL3hlbi9pbmNsdWRlL2FzbS14ODYvcHNyLmgKKysrIGIveGVuL2luY2x1ZGUv YXNtLXg4Ni9wc3IuaApAQCAtMTksMjAgKzE5LDI2IEBACiAjaW5jbHVkZSA8eGVuL3R5cGVzLmg+ CiAKIC8qIENBVCBjcHVpZCBsZXZlbCAqLwotI2RlZmluZSBQU1JfQ1BVSURfTEVWRUxfQ0FUICAg MHgxMAorI2RlZmluZSBQU1JfQ1BVSURfTEVWRUxfQ0FUICAgICAgICAgICAgIDB4MTAKIAogLyog UmVzb3VyY2UgVHlwZSBFbnVtZXJhdGlvbiAqLwogI2RlZmluZSBQU1JfUkVTT1VSQ0VfVFlQRV9M MyAgICAgICAgICAgIDB4MgogCiAvKiBMMyBNb25pdG9yaW5nIEZlYXR1cmVzICovCi0jZGVmaW5l IFBTUl9DTVRfTDNfT0NDVVBBTkNZICAgICAgICAgICAweDEKKyNkZWZpbmUgUFNSX0NNVF9MM19P Q0NVUEFOQ1kgICAgICAgICAgICAweDEKIAogLyogQ0RQIENhcGFiaWxpdHkgKi8KLSNkZWZpbmUg UFNSX0NBVF9DRFBfQ0FQQUJJTElUWSAgICAgICAoMXUgPDwgMikKKyNkZWZpbmUgUFNSX0NBVF9D RFBfQ0FQQUJJTElUWSAgICAgICAgICAoMXUgPDwgMikKIAogLyogTDMgQ0RQIEVuYWJsZSBiaXQq LwogI2RlZmluZSBQU1JfTDNfUU9TX0NEUF9FTkFCTEVfQklUICAgICAgIDB4MAogCisvKiBVc2Vk IGJ5IHBzcl9nZXRfaW5mbygpICovCisjZGVmaW5lIFBTUl9JTkZPX0lEWF9DT1NfTUFYICAgICAg ICAgICAgMAorI2RlZmluZSBQU1JfSU5GT19JRFhfQ0FUX0NCTV9MRU4gICAgICAgIDEKKyNkZWZp bmUgUFNSX0lORk9fSURYX0NBVF9GTEFHICAgICAgICAgICAyCisjZGVmaW5lIFBTUl9JTkZPX0FS UkFZX1NJWkUgICAgICAgICAgICAgMworCiBzdHJ1Y3QgcHNyX2NtdF9sMyB7CiAgICAgdW5zaWdu ZWQgaW50IGZlYXR1cmVzOwogICAgIHVuc2lnbmVkIGludCB1cHNjYWxpbmdfZmFjdG9yOwpAQCAt NjMsOCArNjksOCBAQCBpbnQgcHNyX2FsbG9jX3JtaWQoc3RydWN0IGRvbWFpbiAqZCk7CiB2b2lk IHBzcl9mcmVlX3JtaWQoc3RydWN0IGRvbWFpbiAqZCk7CiB2b2lkIHBzcl9jdHh0X3N3aXRjaF90 byhzdHJ1Y3QgZG9tYWluICpkKTsKIAotaW50IHBzcl9nZXRfY2F0X2wzX2luZm8odW5zaWduZWQg aW50IHNvY2tldCwgdWludDMyX3QgKmNibV9sZW4sCi0gICAgICAgICAgICAgICAgICAgICAgICB1 aW50MzJfdCAqY29zX21heCwgdWludDMyX3QgKmZsYWdzKTsKK2ludCBwc3JfZ2V0X2luZm8odW5z aWduZWQgaW50IHNvY2tldCwgZW51bSBjYm1fdHlwZSB0eXBlLAorICAgICAgICAgICAgICAgICB1 aW50MzJfdCBkYXRhW10sIHVuc2lnbmVkIGludCBhcnJheV9sZW4pOwogaW50IHBzcl9nZXRfbDNf Y2JtKHN0cnVjdCBkb21haW4gKmQsIHVuc2lnbmVkIGludCBzb2NrZXQsCiAgICAgICAgICAgICAg ICAgICAgdWludDY0X3QgKmNibSwgZW51bSBjYm1fdHlwZSB0eXBlKTsKIGludCBwc3Jfc2V0X2wz X2NibShzdHJ1Y3QgZG9tYWluICpkLCB1bnNpZ25lZCBpbnQgc29ja2V0LAotLSAKMS45LjEKCgpf X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpYZW4tZGV2ZWwg bWFpbGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54ZW4ub3JnCmh0dHBzOi8vbGlzdHMueGVuLm9y Zy94ZW4tZGV2ZWwK