From mboxrd@z Thu Jan 1 00:00:00 1970 From: Yi Sun Subject: [PATCH v9 08/25] x86: refactor psr: L3 CAT: implement get value flow. Date: Thu, 16 Mar 2017 19:07:58 +0800 Message-ID: <1489662495-5375-9-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 1coTLx-0004G6-Ae for xen-devel@lists.xenproject.org; Thu, 16 Mar 2017 11:13:57 +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 VGhlcmUgaXMgYW4gaW50ZXJmYWNlIGluIHVzZXIgc3BhY2UgdG8gc2hvdyBmZWF0dXJlIHZhbHVl IG9mCmRvbWFpbnMuCgpUaGlzIHBhdGNoIGltcGxlbWVudHMgZ2V0IHZhbHVlIGZsb3cgaW4gaHlw ZXJ2aXNvciBpbmNsdWRpbmcKTDMgQ0FUIGNhbGxiYWNrIGZ1bmN0aW9uLgoKSXQgYWxzbyBjaGFu Z2VzIGRvbWN0bCBpbnRlcmZhY2UgdG8gbWFrZSBpdCBtb3JlIGdlbmVyYWwuCgpXaXRoIHRoaXMg cGF0Y2gsICdwc3ItY2F0LXNob3cnIGNhbiB3b3JrIGZvciBMMyBDQVQgYnV0IG5vdCBmb3IKTDMg Y29kZS9kYXRhIHdoaWNoIGlzIGltcGxlbWVudGVkIGluIHBhdGNoICJ4ODY6IHJlZmFjdG9yIHBz cjoKaW1wbGVtZW50IGdldCB2YWx1ZSBmbG93IGZvciBDRFAuIi4KClNpZ25lZC1vZmYtYnk6IFlp IFN1biA8eWkueS5zdW5AbGludXguaW50ZWwuY29tPgpSZXZpZXdlZC1ieTogS29ucmFkIFJ6ZXN6 dXRlayBXaWxrIDxrb25yYWQud2lsa0BvcmFjbGUuY29tPgotLS0Kdjk6CiAgICAtIGFkZCBjb21t aXQgbWVzc2FnZSB0byBleHBsYWluIHRoZXJlIGlzIGFuIHVzZXIgc3BhY2UgaW50ZXJmYWNlLgog ICAgLSByZW5hbWUgJ2wzX2NhdF9nZXRfdmFsJyB0byAnY2F0X2dldF92YWwnIHRvIGNvdmVyIGFs bCBMMy9MMiBDQVQgZmVhdHVyZXMuCiAgICAgIChzdWdnZXN0ZWQgYnkgUm9nZXIgUGF1KQogICAg LSByZXBsYWNlIGZlYXR1cmUgbGlzdCBoYW5kbGluZyB0byBmZWF0dXJlIGFycmF5IGhhbmRsaW5n LgogICAgICAoc3VnZ2VzdGVkIGJ5IFJvZ2VyIFBhdSkKICAgIC0gY2hhbmdlIHBhcmFtZXRlciBv ZiAncHNyX2dldCcuIFVzZSAncHNyX2Nvc19pZHMnIGRpcmVjdGx5IHRvIHJlcGxhY2UKICAgICAg ZG9tYWluLiBBbHNvIGRlY2xhcmUgaXQgdG8gJ2NvbnN0Jy4KICAgICAgKHN1Z2dlc3RlZCBieSBK YW4gQmV1bGljaCkKICAgIC0gY2hhbmdlIGNvZGUgZmxvdyB0byByZW1vdmUgJ3Bzcl9nZXQnIGJ1 dCBhZGQgJ3Bzcl9nZXRfZmVhdCcgdG8gbWFrZSBjb2RlcwogICAgICBtb3JlIHJlYXNvbmFibGUu CiAgICAgIChzdWdnZXN0ZWQgYnkgSmFuIEJldWxpY2gpCiAgICAtIG1vZGlmeSBwYXRjaCB0aXRs ZSB0byBpbmRpY2F0ZSAnTDMgQ0FUJy4KICAgICAgKHN1Z2dlc3RlZCBieSBKYW4gQmV1bGljaCkK ICAgIC0gbW92ZSBjb3MgY2hlY2sgaW50byBjb21tb24gZnVuY3Rpb24gYmVjYXVzZSB0aGlzIGNo ZWNrIGlzIHJlcXVpcmVkIGJ5IGFsbAogICAgICBmZWF0dXJlcy4KICAgICAgKHN1Z2dlc3RlZCBi eSBKYW4gQmV1bGljaCkKICAgIC0gZml4IGNvZGluZyBzdHlsZSBpc3N1ZS4KICAgICAgKHN1Z2dl c3RlZCBieSBKYW4gQmV1bGljaCkKICAgIC0gY2hhbmdlcyBhYm91dCAndWludDY0X3QnIHRvICd1 aW50MzJfdCcuLgogICAgICAoc3VnZ2VzdGVkIGJ5IEphbiBCZXVsaWNoKQp2NzoKICAgIC0gcmVu YW1lICdfX3Bzcl9nZXQnIHRvICdwc3JfZ2V0Jy4KICAgICAgKHN1Z2dlc3RlZCBieSBXZWkgTGl1 KQp2NjoKICAgIC0gbW9kaWZ5IGNvbW1pdCBtZXNzYWdlIHRvIG1ha2UgaXQgY2xlYXJlci4KICAg ICAgKHN1Z2dlc3RlZCBieSBLb25yYWQgUnplc3p1dGVrIFdpbGspCiAgICAtIHJlbW92ZSBvbmUg ZXh0cmEgc3BhY2UgaW4gY29kZS4KICAgICAgKHN1Z2dlc3RlZCBieSBLb25yYWQgUnplc3p1dGVr IFdpbGspCiAgICAtIHJlbW92ZSB1bm5lY2Vzc2FyeSBjb21tZW50LgogICAgICAoc3VnZ2VzdGVk IGJ5IEtvbnJhZCBSemVzenV0ZWsgV2lsaykKICAgIC0gd3JpdGUgYSBoZWxwZXIgZnVuY3Rpb24g dG8gbW92ZSBnZXQgaW5mbyBhbmQgZ2V0IHZhbCBmdW5jdGlvbnMgaW50bwogICAgICBpdC4gQmVj YXVzZSBtb3N0IGNvZGVzIG9mICdnZXRfaW5mbycgYW5kICdnZXRfdmFsJyBhcmUgc2FtZS4KICAg ICAgKHN1Z2dlc3RlZCBieSBLb25yYWQgUnplc3p1dGVrIFdpbGspCnY1OgogICAgLSByZW5hbWUg J2RhdFtdJyB0byAnZGF0YVtdJwogICAgICAoc3VnZ2VzdGVkIGJ5IEphbiBCZXVsaWNoKQogICAg LSBtb2RpZnkgdmFyaWFibGVzIG5hbWVzIHRvIG1ha2UgdGhlbSBiZXR0ZXIsIGUuZy4gJ2ZlYXRf dG1wJyB0byAnZmVhdCcuCiAgICAgIChzdWdnZXN0ZWQgYnkgSmFuIEJldWxpY2gpCiAgICAtIGNo ZWNrIGlmIGZlYXR1cmUgdHlwZSBtYXRjaCBpbiBjYWxsZXIgb2YgZmVhdHVyZSBjYWxsYmFjayBm dW5jdGlvbi4KICAgICAgKHN1Z2dlc3RlZCBieSBKYW4gQmV1bGljaCkKdjQ6CiAgICAtIGNyZWF0 ZSB0aGlzIHBhdGNoIHRvIG1ha2UgY29kZXMgZWFzaWVyIHRvIHVuZGVyc3RhbmQuCiAgICAgIChz dWdnZXN0ZWQgYnkgSmFuIEJldWxpY2gpCi0tLQogeGVuL2FyY2gveDg2L2RvbWN0bC5jICAgICB8 IDIxICsrKysrKysrKy0tLS0tLS0tCiB4ZW4vYXJjaC94ODYvcHNyLmMgICAgICAgIHwgNTggKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0KIHhlbi9pbmNsdWRl L2FzbS14ODYvcHNyLmggfCAgNCArKy0tCiAzIGZpbGVzIGNoYW5nZWQsIDY1IGluc2VydGlvbnMo KyksIDE4IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni9kb21jdGwuYyBi L3hlbi9hcmNoL3g4Ni9kb21jdGwuYwppbmRleCAwMmI0OGU4Li5lNzE0ZDFkIDEwMDY0NAotLS0g YS94ZW4vYXJjaC94ODYvZG9tY3RsLmMKKysrIGIveGVuL2FyY2gveDg2L2RvbWN0bC5jCkBAIC0x NDU1LDIzICsxNDU1LDI2IEBAIGxvbmcgYXJjaF9kb19kb21jdGwoCiAgICAgICAgICAgICBicmVh azsKIAogICAgICAgICBjYXNlIFhFTl9ET01DVExfUFNSX0NBVF9PUF9HRVRfTDNfQ0JNOgotICAg ICAgICAgICAgcmV0ID0gcHNyX2dldF9sM19jYm0oZCwgZG9tY3RsLT51LnBzcl9jYXRfb3AudGFy Z2V0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJmRvbWN0bC0+dS5wc3JfY2F0 X29wLmRhdGEsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQU1JfQ0JNX1RZUEVf TDMpOworICAgICAgICAgICAgZG9tY3RsLT51LnBzcl9jYXRfb3AuZGF0YSA9IDA7CisgICAgICAg ICAgICByZXQgPSBwc3JfZ2V0X3ZhbChkLCBkb21jdGwtPnUucHNyX2NhdF9vcC50YXJnZXQsCisg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAodWludDMyX3QgKikmZG9tY3RsLT51LnBzcl9j YXRfb3AuZGF0YSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBTUl9DQk1fVFlQRV9M Myk7CiAgICAgICAgICAgICBjb3B5YmFjayA9IDE7CiAgICAgICAgICAgICBicmVhazsKIAogICAg ICAgICBjYXNlIFhFTl9ET01DVExfUFNSX0NBVF9PUF9HRVRfTDNfQ09ERToKLSAgICAgICAgICAg IHJldCA9IHBzcl9nZXRfbDNfY2JtKGQsIGRvbWN0bC0+dS5wc3JfY2F0X29wLnRhcmdldCwKLSAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZkb21jdGwtPnUucHNyX2NhdF9vcC5kYXRh LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUFNSX0NCTV9UWVBFX0wzX0NPREUp OworICAgICAgICAgICAgZG9tY3RsLT51LnBzcl9jYXRfb3AuZGF0YSA9IDA7CisgICAgICAgICAg ICByZXQgPSBwc3JfZ2V0X3ZhbChkLCBkb21jdGwtPnUucHNyX2NhdF9vcC50YXJnZXQsCisgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAodWludDMyX3QgKikmZG9tY3RsLT51LnBzcl9jYXRf b3AuZGF0YSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBTUl9DQk1fVFlQRV9MM19D T0RFKTsKICAgICAgICAgICAgIGNvcHliYWNrID0gMTsKICAgICAgICAgICAgIGJyZWFrOwogCiAg ICAgICAgIGNhc2UgWEVOX0RPTUNUTF9QU1JfQ0FUX09QX0dFVF9MM19EQVRBOgotICAgICAgICAg ICAgcmV0ID0gcHNyX2dldF9sM19jYm0oZCwgZG9tY3RsLT51LnBzcl9jYXRfb3AudGFyZ2V0LAot ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJmRvbWN0bC0+dS5wc3JfY2F0X29wLmRh dGEsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQU1JfQ0JNX1RZUEVfTDNfREFU QSk7CisgICAgICAgICAgICBkb21jdGwtPnUucHNyX2NhdF9vcC5kYXRhID0gMDsKKyAgICAgICAg ICAgIHJldCA9IHBzcl9nZXRfdmFsKGQsIGRvbWN0bC0+dS5wc3JfY2F0X29wLnRhcmdldCwKKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICh1aW50MzJfdCAqKSZkb21jdGwtPnUucHNyX2Nh dF9vcC5kYXRhLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUFNSX0NCTV9UWVBFX0wz X0RBVEEpOwogICAgICAgICAgICAgY29weWJhY2sgPSAxOwogICAgICAgICAgICAgYnJlYWs7CiAK ZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni9wc3IuYyBiL3hlbi9hcmNoL3g4Ni9wc3IuYwppbmRl eCA4MzM1OGUzLi41MzEwNWY1IDEwMDY0NAotLS0gYS94ZW4vYXJjaC94ODYvcHNyLmMKKysrIGIv eGVuL2FyY2gveDg2L3Bzci5jCkBAIC05Nyw2ICs5NywxMCBAQCBzdHJ1Y3QgZmVhdF9ub2RlIHsK ICAgICAgICAgLyogZ2V0X2ZlYXRfaW5mbyBpcyB1c2VkIHRvIGdldCBmZWF0dXJlIEhXIGluZm8u ICovCiAgICAgICAgIGJvb2wgKCpnZXRfZmVhdF9pbmZvKShjb25zdCBzdHJ1Y3QgZmVhdF9ub2Rl ICpmZWF0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgZGF0YVtdLCB1 bnNpZ25lZCBpbnQgYXJyYXlfbGVuKTsKKworICAgICAgICAvKiBnZXRfdmFsIGlzIHVzZWQgdG8g Z2V0IGZlYXR1cmUgQ09TIHJlZ2lzdGVyIHZhbHVlLiAqLworICAgICAgICB2b2lkICgqZ2V0X3Zh bCkoY29uc3Qgc3RydWN0IGZlYXRfbm9kZSAqZmVhdCwgdW5zaWduZWQgaW50IGNvcywKKyAgICAg ICAgICAgICAgICAgICAgICAgIGVudW0gY2JtX3R5cGUgdHlwZSwgdWludDMyX3QgKnZhbCk7CiAg ICAgfSBvcHM7CiAKICAgICAvKiBFbmNhcHN1bGF0ZSBmZWF0dXJlIHNwZWNpZmljIEhXIGluZm8g aGVyZS4gKi8KQEAgLTI3NSwxMCArMjc5LDE3IEBAIHN0YXRpYyBib29sIGNhdF9nZXRfZmVhdF9p bmZvKGNvbnN0IHN0cnVjdCBmZWF0X25vZGUgKmZlYXQsCiAgICAgcmV0dXJuIHRydWU7CiB9CiAK K3N0YXRpYyB2b2lkIGNhdF9nZXRfdmFsKGNvbnN0IHN0cnVjdCBmZWF0X25vZGUgKmZlYXQsIHVu c2lnbmVkIGludCBjb3MsCisgICAgICAgICAgICAgICAgICAgICAgICBlbnVtIGNibV90eXBlIHR5 cGUsIHVpbnQzMl90ICp2YWwpCit7CisgICAgKnZhbCA9IGZlYXQtPmNvc19yZWdfdmFsW2Nvc107 Cit9CisKIC8qIEwzIENBVCBvcHMgKi8KIHN0YXRpYyBjb25zdCBzdHJ1Y3QgZmVhdF9vcHMgbDNf Y2F0X29wcyA9IHsKICAgICAuZ2V0X2Nvc19tYXggPSBjYXRfZ2V0X2Nvc19tYXgsCiAgICAgLmdl dF9mZWF0X2luZm8gPSBjYXRfZ2V0X2ZlYXRfaW5mbywKKyAgICAuZ2V0X3ZhbCA9IGNhdF9nZXRf dmFsLAogfTsKIAogc3RhdGljIHZvaWQgX19pbml0IHBhcnNlX3Bzcl9ib29sKGNoYXIgKnMsIGNo YXIgKnZhbHVlLCBjaGFyICpmZWF0dXJlLApAQCAtNTA0LDIxICs1MTUsMzAgQEAgc3RhdGljIHN0 cnVjdCBwc3Jfc29ja2V0X2luZm8gKmdldF9zb2NrZXRfaW5mbyh1bnNpZ25lZCBpbnQgc29ja2V0 KQogICAgIHJldHVybiBzb2NrZXRfaW5mbyArIHNvY2tldDsKIH0KIAotaW50IHBzcl9nZXRfaW5m byh1bnNpZ25lZCBpbnQgc29ja2V0LCBlbnVtIGNibV90eXBlIHR5cGUsCi0gICAgICAgICAgICAg ICAgIHVpbnQzMl90IGRhdGFbXSwgdW5zaWduZWQgaW50IGFycmF5X2xlbikKK3N0YXRpYyBjb25z dCBzdHJ1Y3QgZmVhdF9ub2RlICogcHNyX2dldF9mZWF0KHVuc2lnbmVkIGludCBzb2NrZXQsCisg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbnVtIGNibV90eXBl IHR5cGUpCiB7CiAgICAgY29uc3Qgc3RydWN0IHBzcl9zb2NrZXRfaW5mbyAqaW5mbyA9IGdldF9z b2NrZXRfaW5mbyhzb2NrZXQpOwogICAgIGNvbnN0IHN0cnVjdCBmZWF0X25vZGUgKmZlYXQ7CiAg ICAgZW51bSBwc3JfZmVhdF90eXBlIGZlYXRfdHlwZTsKIAogICAgIGlmICggSVNfRVJSKGluZm8p ICkKLSAgICAgICAgcmV0dXJuIFBUUl9FUlIoaW5mbyk7CisgICAgICAgIHJldHVybiBOVUxMOwor CisgICAgZmVhdF90eXBlID0gcHNyX2NibV90eXBlX3RvX2ZlYXRfdHlwZSh0eXBlKTsKKyAgICBm ZWF0ID0gaW5mby0+ZmVhdHVyZXNbZmVhdF90eXBlXTsKKyAgICByZXR1cm4gZmVhdDsKK30KKwor aW50IHBzcl9nZXRfaW5mbyh1bnNpZ25lZCBpbnQgc29ja2V0LCBlbnVtIGNibV90eXBlIHR5cGUs CisgICAgICAgICAgICAgICAgIHVpbnQzMl90IGRhdGFbXSwgdW5zaWduZWQgaW50IGFycmF5X2xl bikKK3sKKyAgICBjb25zdCBzdHJ1Y3QgZmVhdF9ub2RlICpmZWF0OwogCiAgICAgaWYgKCAhZGF0 YSApCiAgICAgICAgIHJldHVybiAtRUlOVkFMOwogCi0gICAgZmVhdF90eXBlID0gcHNyX2NibV90 eXBlX3RvX2ZlYXRfdHlwZSh0eXBlKTsKLSAgICBmZWF0ID0gaW5mby0+ZmVhdHVyZXNbZmVhdF90 eXBlXTsKKyAgICBmZWF0ID0gcHNyX2dldF9mZWF0KHNvY2tldCwgdHlwZSk7CiAgICAgaWYgKCAh ZmVhdCApCiAgICAgICAgIHJldHVybiAtRU5PRU5UOwogCkBAIC01MjgsOSArNTQ4LDMzIEBAIGlu dCBwc3JfZ2V0X2luZm8odW5zaWduZWQgaW50IHNvY2tldCwgZW51bSBjYm1fdHlwZSB0eXBlLAog ICAgIHJldHVybiAtRUlOVkFMOwogfQogCi1pbnQgcHNyX2dldF9sM19jYm0oc3RydWN0IGRvbWFp biAqZCwgdW5zaWduZWQgaW50IHNvY2tldCwKLSAgICAgICAgICAgICAgICAgICB1aW50NjRfdCAq Y2JtLCBlbnVtIGNibV90eXBlIHR5cGUpCitpbnQgcHNyX2dldF92YWwoc3RydWN0IGRvbWFpbiAq ZCwgdW5zaWduZWQgaW50IHNvY2tldCwKKyAgICAgICAgICAgICAgICB1aW50MzJfdCAqdmFsLCBl bnVtIGNibV90eXBlIHR5cGUpCiB7CisgICAgY29uc3Qgc3RydWN0IGZlYXRfbm9kZSAqZmVhdDsK KyAgICB1bnNpZ25lZCBpbnQgY29zOworCisgICAgaWYgKCAhZCB8fCAhdmFsICkKKyAgICAgICAg cmV0dXJuIC1FSU5WQUw7CisKKyAgICBmZWF0ID0gcHNyX2dldF9mZWF0KHNvY2tldCwgdHlwZSk7 CisgICAgaWYgKCAhZmVhdCApCisgICAgICAgIHJldHVybiAtRU5PRU5UOworCisgICAgY29zID0g ZC0+YXJjaC5wc3JfY29zX2lkc1tzb2NrZXRdOworICAgIC8qCisgICAgICogSWYgaW5wdXQgY29z IGV4Y2VlZHMgY3VycmVudCBmZWF0dXJlJ3MgY29zX21heCwgd2Ugc2hvdWxkIHJldHVybiBpdHMK KyAgICAgKiBkZWZhdWx0IHZhbHVlIHdoaWNoIGlzIHN0b3JlZCBpbiBjb3MgMC4gVGhpcyBjYXNl IG9ubHkgaGFwcGVucworICAgICAqIHdoZW4gbW9yZSB0aGFuIHR3byBmZWF0dXJlcyBlbmFibGVk IGNvbmN1cnJlbnRseSBhbmQgYXQgbGVhc3Qgb25lCisgICAgICogZmVhdHVyZXMncyBjb3NfbWF4 IGlzIGJpZ2dlciB0aGFuIG90aGVycy4gV2hlbiBhIGRvbWFpbidzIHdvcmtpbmcgY29zCisgICAg ICogaWQgaXMgYmlnZ2VyIHRoYW4gc29tZSBmZWF0dXJlcycgY29zX21heCwgSFcgYXV0b21hdGlj YWxseSB3b3JrcyBhcworICAgICAqIGRlZmF1bHQgdmFsdWUgZm9yIHRob3NlIGZlYXR1cmVzIHdo aWNoIGNvc19tYXggaXMgc21hbGxlci4KKyAgICAgKi8KKyAgICBpZiAoIGNvcyA+IGZlYXQtPm9w cy5nZXRfY29zX21heChmZWF0KSApCisgICAgICAgIGNvcyA9IDA7CisKKyAgICBmZWF0LT5vcHMu Z2V0X3ZhbChmZWF0LCBjb3MsIHR5cGUsIHZhbCk7CisKICAgICByZXR1cm4gMDsKIH0KIApkaWZm IC0tZ2l0IGEveGVuL2luY2x1ZGUvYXNtLXg4Ni9wc3IuaCBiL3hlbi9pbmNsdWRlL2FzbS14ODYv cHNyLmgKaW5kZXggZTI3ZTY4NS4uY2QwMDczMyAxMDA2NDQKLS0tIGEveGVuL2luY2x1ZGUvYXNt LXg4Ni9wc3IuaAorKysgYi94ZW4vaW5jbHVkZS9hc20teDg2L3Bzci5oCkBAIC03Miw4ICs3Miw4 IEBAIHZvaWQgcHNyX2N0eHRfc3dpdGNoX3RvKHN0cnVjdCBkb21haW4gKmQpOwogCiBpbnQgcHNy X2dldF9pbmZvKHVuc2lnbmVkIGludCBzb2NrZXQsIGVudW0gY2JtX3R5cGUgdHlwZSwKICAgICAg ICAgICAgICAgICAgdWludDMyX3QgZGF0YVtdLCB1bnNpZ25lZCBpbnQgYXJyYXlfbGVuKTsKLWlu dCBwc3JfZ2V0X2wzX2NibShzdHJ1Y3QgZG9tYWluICpkLCB1bnNpZ25lZCBpbnQgc29ja2V0LAot ICAgICAgICAgICAgICAgICAgIHVpbnQ2NF90ICpjYm0sIGVudW0gY2JtX3R5cGUgdHlwZSk7Citp bnQgcHNyX2dldF92YWwoc3RydWN0IGRvbWFpbiAqZCwgdW5zaWduZWQgaW50IHNvY2tldCwKKyAg ICAgICAgICAgICAgICB1aW50MzJfdCAqdmFsLCBlbnVtIGNibV90eXBlIHR5cGUpOwogaW50IHBz cl9zZXRfbDNfY2JtKHN0cnVjdCBkb21haW4gKmQsIHVuc2lnbmVkIGludCBzb2NrZXQsCiAgICAg ICAgICAgICAgICAgICAgdWludDY0X3QgY2JtLCBlbnVtIGNibV90eXBlIHR5cGUpOwogCi0tIAox LjkuMQoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fClhl bi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbi5vcmcKaHR0cHM6Ly9saXN0 cy54ZW4ub3JnL3hlbi1kZXZlbAo=