From mboxrd@z Thu Jan 1 00:00:00 1970 From: Yi Sun Subject: [PATCH v14 07/23] x86: refactor psr: L3 CAT: implement get value flow. Date: Sat, 15 Jul 2017 08:31:40 +0800 Message-ID: <1500078716-5928-8-git-send-email-yi.y.sun@linux.intel.com> References: <1500078716-5928-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 1dWBLA-0001xW-Vm for xen-devel@lists.xenproject.org; Sat, 15 Jul 2017 00:53:49 +0000 In-Reply-To: <1500078716-5928-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, 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 ZXJ2aXNvci4KCkl0IGFsc28gY2hhbmdlcyBkb21jdGwgaW50ZXJmYWNlIHRvIG1ha2UgaXQgbW9y ZSBnZW5lcmFsLgoKV2l0aCB0aGlzIHBhdGNoLCAncHNyLWNhdC1zaG93JyBjYW4gd29yayBmb3Ig TDMgQ0FUIGJ1dCBub3QgZm9yCkwzIGNvZGUvZGF0YSB3aGljaCBpcyBpbXBsZW1lbnRlZCBpbiBD RFAgcmVsYXRlZCBwYXRjaGVzLgoKU2lnbmVkLW9mZi1ieTogWWkgU3VuIDx5aS55LnN1bkBsaW51 eC5pbnRlbC5jb20+ClJldmlld2VkLWJ5OiBKYW4gQmV1bGljaCA8amJldWxpY2hAc3VzZS5jb20+ Ci0tLQp2MTQ6CiAgICAtIHJlYmFzZSBkb21jdGwuYyBvbiBsYXRlc3QgY29kZTogYm9vbF90IGlz IHJlcGxhY2VkIGJ5IGJvb2wuCnYxMjoKICAgIC0gcmVtb3ZlICdwc3JfZ2V0X2ZlYXRfYW5kX3R5 cGUnIGFuZCBpbXBsZW1lbnQgaXRzIGZ1bmN0aW9uYWxpdHkgaW4KICAgICAgJ3Bzcl9nZXRfdmFs Jy4KICAgIC0gdXNlICdBU1NFUlRfVU5SRUFDSEFCTEUnIHRvIHJlY29yZCBlcnJvci4KICAgICAg KHN1Z2dlc3RlZCBieSBKYW4gQmV1bGljaCkKICAgIC0gcmV0dXJuIHN1Y2Nlc3Mgb25seSBpZiB0 aGUgJ3ZhbCcgaXMgc2V0IGluICdwc3JfZ2V0X3ZhbCcuCiAgICAgIChzdWdnZXN0ZWQgYnkgSmFu IEJldWxpY2gpCnYxMToKICAgIC0gZGVjbGFyZSBhICdzd2l0Y2goKScgd2lkZSB2YXJpYWJsZSAn dmFsMzInIGluIGRvbWN0bC4KICAgICAgKHN1Z2dlc3RlZCBieSBKYW4gQmV1bGljaCkKICAgIC0g cmVtb3ZlICdnZXRfdmFsJyBjYWxsYmFjayBmdW5jdGlvbiB3aGljaCBpcyByZXBsYWNlZCBieSBn ZW5lcmljIGNvZGVzLgogICAgICAoc3VnZ2VzdGVkIGJ5IEphbiBCZXVsaWNoKQogICAgLSBmaXgg Y29kaW5nIHN0eWxlIGlzc3VlLgogICAgICAoc3VnZ2VzdGVkIGJ5IEphbiBCZXVsaWNoKQogICAg LSBkbyBub3QgJ0FTU0VSVCcgZG9tYWluIHBvaW50ZXIuCiAgICAgIChzdWdnZXN0ZWQgYnkgSmFu IEJldWxpY2gpCiAgICAtIG1vZGlmeSBjb21taXQgbWVzc2FnZS4KdjEwOgogICAgLSB1c2UgYW4g aW50ZXJtZWRpYXRlIHZhcmlhYmxlIHRvIGdldCB2YWx1ZSBhbmQgYXZvaWQgY2FzdCBpbiBkb21j dGwuCiAgICAgIChzdWdnZXN0ZWQgYnkgSmFuIEJldWxpY2gpCiAgICAtIHJlbW92ZSAndHlwZScg aW4gJ2dldF92YWwnIHBhcmFtZXRlcnMgYW5kIHdpbGwgYWRkIGl0IGJhY2sgd2hlbgogICAgICBp bXBsZW1lbnRpbmcgQ0RQLgogICAgICAoc3VnZ2VzdGVkIGJ5IEphbiBCZXVsaWNoKQogICAgLSBy ZW1vdmUgdW5uZWNlc3NhcnkgdmFyaWFibGUgYW5kIHJldHVybiBlcnJvciBhYm91dCAnaW5mbycg aW4KICAgICAgJ3Bzcl9nZXRfZmVhdCcuCiAgICAgIChzdWdnZXN0ZWQgYnkgSmFuIEJldWxpY2gp CiAgICAtIHVzZSAnQVNTRVJUJyB0byBjaGVjayBpbnB1dCBwYXJhbWV0ZXIgaW4gJ3Bzcl9nZXRf dmFsJy4KICAgICAgKHN1Z2dlc3RlZCBieSBKYW4gQmV1bGljaCkKICAgIC0gY2hhbmdlcyBhYm91 dCAnZmVhdF9wcm9wcycuCiAgICAgIChzdWdnZXN0ZWQgYnkgSmFuIEJldWxpY2gpCnY5OgogICAg LSBhZGQgY29tbWl0IG1lc3NhZ2UgdG8gZXhwbGFpbiB0aGVyZSBpcyBhbiB1c2VyIHNwYWNlIGlu dGVyZmFjZS4KICAgIC0gcmVuYW1lICdsM19jYXRfZ2V0X3ZhbCcgdG8gJ2NhdF9nZXRfdmFsJyB0 byBjb3ZlciBhbGwgTDMvTDIgQ0FUIGZlYXR1cmVzLgogICAgICAoc3VnZ2VzdGVkIGJ5IFJvZ2Vy IFBhdSkKICAgIC0gcmVwbGFjZSBmZWF0dXJlIGxpc3QgaGFuZGxpbmcgdG8gZmVhdHVyZSBhcnJh eSBoYW5kbGluZy4KICAgICAgKHN1Z2dlc3RlZCBieSBSb2dlciBQYXUpCiAgICAtIGNoYW5nZSBw YXJhbWV0ZXIgb2YgJ3Bzcl9nZXQnLiBVc2UgJ3Bzcl9jb3NfaWRzJyBkaXJlY3RseSB0byByZXBs YWNlCiAgICAgIGRvbWFpbi4gQWxzbyBkZWNsYXJlIGl0IHRvICdjb25zdCcuCiAgICAgIChzdWdn ZXN0ZWQgYnkgSmFuIEJldWxpY2gpCiAgICAtIGNoYW5nZSBjb2RlIGZsb3cgdG8gcmVtb3ZlICdw c3JfZ2V0JyBidXQgYWRkICdwc3JfZ2V0X2ZlYXQnIHRvIG1ha2UgY29kZXMKICAgICAgbW9yZSBy ZWFzb25hYmxlLgogICAgICAoc3VnZ2VzdGVkIGJ5IEphbiBCZXVsaWNoKQogICAgLSBtb2RpZnkg cGF0Y2ggdGl0bGUgdG8gaW5kaWNhdGUgJ0wzIENBVCcuCiAgICAgIChzdWdnZXN0ZWQgYnkgSmFu IEJldWxpY2gpCiAgICAtIG1vdmUgY29zIGNoZWNrIGludG8gY29tbW9uIGZ1bmN0aW9uIGJlY2F1 c2UgdGhpcyBjaGVjayBpcyByZXF1aXJlZCBieSBhbGwKICAgICAgZmVhdHVyZXMuCiAgICAgIChz dWdnZXN0ZWQgYnkgSmFuIEJldWxpY2gpCiAgICAtIGZpeCBjb2Rpbmcgc3R5bGUgaXNzdWUuCiAg ICAgIChzdWdnZXN0ZWQgYnkgSmFuIEJldWxpY2gpCiAgICAtIGNoYW5nZXMgYWJvdXQgJ3VpbnQ2 NF90JyB0byAndWludDMyX3QnLgogICAgICAoc3VnZ2VzdGVkIGJ5IEphbiBCZXVsaWNoKQp2NzoK ICAgIC0gcmVuYW1lICdfX3Bzcl9nZXQnIHRvICdwc3JfZ2V0Jy4KICAgICAgKHN1Z2dlc3RlZCBi eSBXZWkgTGl1KQp2NjoKICAgIC0gbW9kaWZ5IGNvbW1pdCBtZXNzYWdlIHRvIG1ha2UgaXQgY2xl YXJlci4KICAgICAgKHN1Z2dlc3RlZCBieSBLb25yYWQgUnplc3p1dGVrIFdpbGspCiAgICAtIHJl bW92ZSBvbmUgZXh0cmEgc3BhY2UgaW4gY29kZS4KICAgICAgKHN1Z2dlc3RlZCBieSBLb25yYWQg Unplc3p1dGVrIFdpbGspCiAgICAtIHJlbW92ZSB1bm5lY2Vzc2FyeSBjb21tZW50LgogICAgICAo c3VnZ2VzdGVkIGJ5IEtvbnJhZCBSemVzenV0ZWsgV2lsaykKICAgIC0gd3JpdGUgYSBoZWxwZXIg ZnVuY3Rpb24gdG8gbW92ZSBnZXQgaW5mbyBhbmQgZ2V0IHZhbCBmdW5jdGlvbnMgaW50bwogICAg ICBpdC4gQmVjYXVzZSBtb3N0IGNvZGVzIG9mICdnZXRfaW5mbycgYW5kICdnZXRfdmFsJyBhcmUg c2FtZS4KICAgICAgKHN1Z2dlc3RlZCBieSBLb25yYWQgUnplc3p1dGVrIFdpbGspCnY1OgogICAg LSByZW5hbWUgJ2RhdFtdJyB0byAnZGF0YVtdJwogICAgICAoc3VnZ2VzdGVkIGJ5IEphbiBCZXVs aWNoKQogICAgLSBtb2RpZnkgdmFyaWFibGVzIG5hbWVzIHRvIG1ha2UgdGhlbSBiZXR0ZXIsIGUu Zy4gJ2ZlYXRfdG1wJyB0byAnZmVhdCcuCiAgICAgIChzdWdnZXN0ZWQgYnkgSmFuIEJldWxpY2gp CiAgICAtIGNoZWNrIGlmIGZlYXR1cmUgdHlwZSBtYXRjaCBpbiBjYWxsZXIgb2YgZmVhdHVyZSBj YWxsYmFjayBmdW5jdGlvbi4KICAgICAgKHN1Z2dlc3RlZCBieSBKYW4gQmV1bGljaCkKdjQ6CiAg ICAtIGNyZWF0ZSB0aGlzIHBhdGNoIHRvIG1ha2UgY29kZXMgZWFzaWVyIHRvIHVuZGVyc3RhbmQu CiAgICAgIChzdWdnZXN0ZWQgYnkgSmFuIEJldWxpY2gpCi0tLQogeGVuL2FyY2gveDg2L2RvbWN0 bC5jICAgICB8IDIwICsrKysrKysrKystLS0tLS0tLS0KIHhlbi9hcmNoL3g4Ni9wc3IuYyAgICAg ICAgfCA1MSArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0tLQog eGVuL2luY2x1ZGUvYXNtLXg4Ni9wc3IuaCB8ICA0ICsrLS0KIDMgZmlsZXMgY2hhbmdlZCwgNjEg aW5zZXJ0aW9ucygrKSwgMTQgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2 L2RvbWN0bC5jIGIveGVuL2FyY2gveDg2L2RvbWN0bC5jCmluZGV4IDdmYTU4YjQuLmFiZmE2OGEg MTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL3g4Ni9kb21jdGwuYworKysgYi94ZW4vYXJjaC94ODYvZG9t Y3RsLmMKQEAgLTE0MTksNiArMTQxOSw4IEBAIGxvbmcgYXJjaF9kb19kb21jdGwoCiAgICAgY2Fz ZSBYRU5fRE9NQ1RMX3Bzcl9jYXRfb3A6CiAgICAgICAgIHN3aXRjaCAoIGRvbWN0bC0+dS5wc3Jf Y2F0X29wLmNtZCApCiAgICAgICAgIHsKKyAgICAgICAgICAgIHVpbnQzMl90IHZhbDMyOworCiAg ICAgICAgIGNhc2UgWEVOX0RPTUNUTF9QU1JfQ0FUX09QX1NFVF9MM19DQk06CiAgICAgICAgICAg ICByZXQgPSBwc3Jfc2V0X2wzX2NibShkLCBkb21jdGwtPnUucHNyX2NhdF9vcC50YXJnZXQsCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkb21jdGwtPnUucHNyX2NhdF9vcC5kYXRh LApAQCAtMTQzOCwyMyArMTQ0MCwyMyBAQCBsb25nIGFyY2hfZG9fZG9tY3RsKAogICAgICAgICAg ICAgYnJlYWs7CiAKICAgICAgICAgY2FzZSBYRU5fRE9NQ1RMX1BTUl9DQVRfT1BfR0VUX0wzX0NC TToKLSAgICAgICAgICAgIHJldCA9IHBzcl9nZXRfbDNfY2JtKGQsIGRvbWN0bC0+dS5wc3JfY2F0 X29wLnRhcmdldCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZkb21jdGwtPnUu cHNyX2NhdF9vcC5kYXRhLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUFNSX0NC TV9UWVBFX0wzKTsKKyAgICAgICAgICAgIHJldCA9IHBzcl9nZXRfdmFsKGQsIGRvbWN0bC0+dS5w c3JfY2F0X29wLnRhcmdldCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZ2YWwzMiwg UFNSX0NCTV9UWVBFX0wzKTsKKyAgICAgICAgICAgIGRvbWN0bC0+dS5wc3JfY2F0X29wLmRhdGEg PSB2YWwzMjsKICAgICAgICAgICAgIGNvcHliYWNrID0gdHJ1ZTsKICAgICAgICAgICAgIGJyZWFr OwogCiAgICAgICAgIGNhc2UgWEVOX0RPTUNUTF9QU1JfQ0FUX09QX0dFVF9MM19DT0RFOgotICAg ICAgICAgICAgcmV0ID0gcHNyX2dldF9sM19jYm0oZCwgZG9tY3RsLT51LnBzcl9jYXRfb3AudGFy Z2V0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJmRvbWN0bC0+dS5wc3JfY2F0 X29wLmRhdGEsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQU1JfQ0JNX1RZUEVf TDNfQ09ERSk7CisgICAgICAgICAgICByZXQgPSBwc3JfZ2V0X3ZhbChkLCBkb21jdGwtPnUucHNy X2NhdF9vcC50YXJnZXQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmdmFsMzIsIFBT Ul9DQk1fVFlQRV9MM19DT0RFKTsKKyAgICAgICAgICAgIGRvbWN0bC0+dS5wc3JfY2F0X29wLmRh dGEgPSB2YWwzMjsKICAgICAgICAgICAgIGNvcHliYWNrID0gdHJ1ZTsKICAgICAgICAgICAgIGJy ZWFrOwogCiAgICAgICAgIGNhc2UgWEVOX0RPTUNUTF9QU1JfQ0FUX09QX0dFVF9MM19EQVRBOgot ICAgICAgICAgICAgcmV0ID0gcHNyX2dldF9sM19jYm0oZCwgZG9tY3RsLT51LnBzcl9jYXRfb3Au dGFyZ2V0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJmRvbWN0bC0+dS5wc3Jf Y2F0X29wLmRhdGEsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQU1JfQ0JNX1RZ UEVfTDNfREFUQSk7CisgICAgICAgICAgICByZXQgPSBwc3JfZ2V0X3ZhbChkLCBkb21jdGwtPnUu cHNyX2NhdF9vcC50YXJnZXQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmdmFsMzIs IFBTUl9DQk1fVFlQRV9MM19EQVRBKTsKKyAgICAgICAgICAgIGRvbWN0bC0+dS5wc3JfY2F0X29w LmRhdGEgPSB2YWwzMjsKICAgICAgICAgICAgIGNvcHliYWNrID0gdHJ1ZTsKICAgICAgICAgICAg IGJyZWFrOwogCmRpZmYgLS1naXQgYS94ZW4vYXJjaC94ODYvcHNyLmMgYi94ZW4vYXJjaC94ODYv cHNyLmMKaW5kZXggMjBkMDgzZS4uMGZlNjNkZCAxMDA2NDQKLS0tIGEveGVuL2FyY2gveDg2L3Bz ci5jCisrKyBiL3hlbi9hcmNoL3g4Ni9wc3IuYwpAQCAtNTI0LDEwICs1MjQsNTUgQEAgaW50IHBz cl9nZXRfaW5mbyh1bnNpZ25lZCBpbnQgc29ja2V0LCBlbnVtIGNibV90eXBlIHR5cGUsCiAgICAg cmV0dXJuIC1FSU5WQUw7CiB9CiAKLWludCBwc3JfZ2V0X2wzX2NibShzdHJ1Y3QgZG9tYWluICpk LCB1bnNpZ25lZCBpbnQgc29ja2V0LAotICAgICAgICAgICAgICAgICAgIHVpbnQ2NF90ICpjYm0s IGVudW0gY2JtX3R5cGUgdHlwZSkKK2ludCBwc3JfZ2V0X3ZhbChzdHJ1Y3QgZG9tYWluICpkLCB1 bnNpZ25lZCBpbnQgc29ja2V0LAorICAgICAgICAgICAgICAgIHVpbnQzMl90ICp2YWwsIGVudW0g Y2JtX3R5cGUgdHlwZSkKIHsKLSAgICByZXR1cm4gMDsKKyAgICBjb25zdCBzdHJ1Y3QgcHNyX3Nv Y2tldF9pbmZvICppbmZvID0gZ2V0X3NvY2tldF9pbmZvKHNvY2tldCk7CisgICAgY29uc3Qgc3Ry dWN0IGZlYXRfbm9kZSAqZmVhdDsKKyAgICBlbnVtIHBzcl9mZWF0X3R5cGUgZmVhdF90eXBlOwor ICAgIHVuc2lnbmVkIGludCBjb3MsIGk7CisKKyAgICBBU1NFUlQodmFsKTsKKworICAgIGlmICgg SVNfRVJSKGluZm8pICkKKyAgICAgICAgcmV0dXJuIFBUUl9FUlIoaW5mbyk7CisKKyAgICBmZWF0 X3R5cGUgPSBwc3JfY2JtX3R5cGVfdG9fZmVhdF90eXBlKHR5cGUpOworICAgIGlmICggZmVhdF90 eXBlID49IEFSUkFZX1NJWkUoaW5mby0+ZmVhdHVyZXMpICkKKyAgICAgICAgcmV0dXJuIC1FTk9F TlQ7CisKKyAgICBmZWF0ID0gaW5mby0+ZmVhdHVyZXNbZmVhdF90eXBlXTsKKyAgICBpZiAoICFm ZWF0ICkKKyAgICAgICAgcmV0dXJuIC1FTk9FTlQ7CisKKyAgICBpZiAoICFmZWF0X3Byb3BzW2Zl YXRfdHlwZV0gKQorICAgIHsKKyAgICAgICAgQVNTRVJUX1VOUkVBQ0hBQkxFKCk7CisgICAgICAg IHJldHVybiAtRU5PRU5UOworICAgIH0KKworICAgIGNvcyA9IGQtPmFyY2gucHNyX2Nvc19pZHNb c29ja2V0XTsKKyAgICAvKgorICAgICAqIElmIGlucHV0IGNvcyBleGNlZWRzIGN1cnJlbnQgZmVh dHVyZSdzIGNvc19tYXgsIHdlIHNob3VsZCByZXR1cm4gaXRzCisgICAgICogZGVmYXVsdCB2YWx1 ZSB3aGljaCBpcyBzdG9yZWQgaW4gY29zIDAuIFRoaXMgY2FzZSBvbmx5IGhhcHBlbnMKKyAgICAg KiB3aGVuIG1vcmUgdGhhbiB0d28gZmVhdHVyZXMgZW5hYmxlZCBjb25jdXJyZW50bHkgYW5kIGF0 IGxlYXN0IG9uZQorICAgICAqIGZlYXR1cmVzJ3MgY29zX21heCBpcyBiaWdnZXIgdGhhbiBvdGhl cnMuIFdoZW4gYSBkb21haW4ncyB3b3JraW5nIGNvcworICAgICAqIGlkIGlzIGJpZ2dlciB0aGFu IHNvbWUgZmVhdHVyZXMnIGNvc19tYXgsIEhXIGF1dG9tYXRpY2FsbHkgd29ya3MgYXMKKyAgICAg KiBkZWZhdWx0IHZhbHVlIGZvciB0aG9zZSBmZWF0dXJlcyB3aGljaCBjb3NfbWF4IGlzIHNtYWxs ZXIuCisgICAgICovCisgICAgaWYgKCBjb3MgPiBmZWF0LT5jb3NfbWF4ICkKKyAgICAgICAgY29z ID0gMDsKKworICAgIGZvciAoIGkgPSAwOyBpIDwgZmVhdF9wcm9wc1tmZWF0X3R5cGVdLT5jb3Nf bnVtOyBpKysgKQorICAgIHsKKyAgICAgICAgaWYgKCB0eXBlID09IGZlYXRfcHJvcHNbZmVhdF90 eXBlXS0+dHlwZVtpXSApCisgICAgICAgIHsKKyAgICAgICAgICAgICp2YWwgPSBmZWF0LT5jb3Nf cmVnX3ZhbFtjb3MgKiBmZWF0X3Byb3BzW2ZlYXRfdHlwZV0tPmNvc19udW0gKyBpXTsKKyAgICAg ICAgICAgIHJldHVybiAwOworICAgICAgICB9CisgICAgfQorCisgICAgcmV0dXJuIC1FSU5WQUw7 CiB9CiAKIGludCBwc3Jfc2V0X2wzX2NibShzdHJ1Y3QgZG9tYWluICpkLCB1bnNpZ25lZCBpbnQg c29ja2V0LApkaWZmIC0tZ2l0IGEveGVuL2luY2x1ZGUvYXNtLXg4Ni9wc3IuaCBiL3hlbi9pbmNs dWRlL2FzbS14ODYvcHNyLmgKaW5kZXggOGQxNTMyOC4uMGU5NjBiZiAxMDA2NDQKLS0tIGEveGVu L2luY2x1ZGUvYXNtLXg4Ni9wc3IuaAorKysgYi94ZW4vaW5jbHVkZS9hc20teDg2L3Bzci5oCkBA IC03Miw4ICs3Miw4IEBAIHZvaWQgcHNyX2N0eHRfc3dpdGNoX3RvKHN0cnVjdCBkb21haW4gKmQp OwogCiBpbnQgcHNyX2dldF9pbmZvKHVuc2lnbmVkIGludCBzb2NrZXQsIGVudW0gY2JtX3R5cGUg dHlwZSwKICAgICAgICAgICAgICAgICAgdWludDMyX3QgZGF0YVtdLCB1bnNpZ25lZCBpbnQgYXJy YXlfbGVuKTsKLWludCBwc3JfZ2V0X2wzX2NibShzdHJ1Y3QgZG9tYWluICpkLCB1bnNpZ25lZCBp bnQgc29ja2V0LAotICAgICAgICAgICAgICAgICAgIHVpbnQ2NF90ICpjYm0sIGVudW0gY2JtX3R5 cGUgdHlwZSk7CitpbnQgcHNyX2dldF92YWwoc3RydWN0IGRvbWFpbiAqZCwgdW5zaWduZWQgaW50 IHNvY2tldCwKKyAgICAgICAgICAgICAgICB1aW50MzJfdCAqdmFsLCBlbnVtIGNibV90eXBlIHR5 cGUpOwogaW50IHBzcl9zZXRfbDNfY2JtKHN0cnVjdCBkb21haW4gKmQsIHVuc2lnbmVkIGludCBz b2NrZXQsCiAgICAgICAgICAgICAgICAgICAgdWludDY0X3QgY2JtLCBlbnVtIGNibV90eXBlIHR5 cGUpOwogCi0tIAoxLjkuMQoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fClhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbi5vcmcK aHR0cHM6Ly9saXN0cy54ZW4ub3JnL3hlbi1kZXZlbAo=