From mboxrd@z Thu Jan 1 00:00:00 1970 From: Yi Sun Subject: [PATCH v9 04/16] x86: a few optimizations to psr codes Date: Fri, 20 Oct 2017 16:28:16 +0800 Message-ID: <1508488108-7071-5-git-send-email-yi.y.sun@linux.intel.com> References: <1508488108-7071-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.bemta6.messagelabs.com ([193.109.254.103]) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1e5T0C-00066a-1Z for xen-devel@lists.xenproject.org; Fri, 20 Oct 2017 08:50:00 +0000 In-Reply-To: <1508488108-7071-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: Wei Liu , Yi Sun , Andrew Cooper , Jan Beulich , Chao Peng , =?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= List-Id: xen-devel@lists.xenproject.org VGhpcyBwYXRjaCByZWZpbmVzIHBzciBjb2RlczoKMS4gQ2hhbmdlIHR5cGUgb2YgJ2NhdF9pbml0 X2ZlYXR1cmUnIHRvICdib29sJyB0byByZW1vdmUgdGhlIHBvaW50bGVzcwogICByZXR1cm5pbmcg b2YgZXJyb3IgY29kZS4KMi4gTW92ZSBwcmludGsgaW4gJ2NhdF9pbml0X2ZlYXR1cmUnIHRvIHJl ZHVjZSBhIHJldHVybiBwYXRoLgozLiBEZWZpbmUgYSBsb2NhbCB2YXJpYWJsZSAnZmVhdF9tYXNr JyBpbiAncHNyX2NwdV9pbml0JyB0byByZWR1Y2UgY2FsbGluZyBvZgogICAnY3B1aWRfY291bnRf bGVhZigpJy4KNC4gQ2hhbmdlICdQU1JfSU5GT19JRFhfQ0FUX0ZMQUcnIHRvICdQU1JfSU5GT19J RFhfQ0FUX0ZMQUdTJy4KClNpZ25lZC1vZmYtYnk6IFlpIFN1biA8eWkueS5zdW5AbGludXguaW50 ZWwuY29tPgpSZXZpZXdlZC1ieTogUm9nZXIgUGF1IE1vbm7DqSA8cm9nZXIucGF1QGNpdHJpeC5j b20+CkFja2VkLWJ5OiBKYW4gQmV1bGljaCA8amJldWxpY2hAc3VzZS5jb20+Ci0tLQpDQzogSmFu IEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpDQzogQW5kcmV3IENvb3BlciA8YW5kcmV3LmNv b3BlcjNAY2l0cml4LmNvbT4KQ0M6IFdlaSBMaXUgPHdlaS5saXUyQGNpdHJpeC5jb20+CkNDOiBS b2dlciBQYXUgTW9ubsOpIDxyb2dlci5wYXVAY2l0cml4LmNvbT4KQ0M6IENoYW8gUGVuZyA8Y2hh by5wLnBlbmdAbGludXguaW50ZWwuY29tPgoKdjc6CiAgICAtIGFkanVzdCB0aGUgY2hlY2sgdG8g J2NhdF9pbml0X2ZlYXR1cmUnIGluICdwc3JfY3B1X2luaXQnLgogICAgICAoc3VnZ2VzdGVkIGJ5 IEphbiBCZXVsaWNoKQogICAgLSBjaGFuZ2UgJ1BTUl9JTkZPX0lEWF9DQVRfRkxBRycgdG8gJ1BT Ul9JTkZPX0lEWF9DQVRfRkxBR1MnLgogICAgICAoc3VnZ2VzdGVkIGJ5IEphbiBCZXVsaWNoKQp2 NjoKICAgIC0gcmVzdG9yZSAnd3JpdGVfbXNyKCknIHR5cGUgdG8gJ3ZvaWQnLgogICAgICAoc3Vn Z2VzdGVkIGJ5IEphbiBCZXVsaWNoIGFuZCBSb2dlciBQYXUgTW9ubsOpKQogICAgLSBjaGFuZ2Ug J2VieCcgaW4gJ3Bzcl9jcHVfaW5pdCcgdG8gJ2ZlYXRfbWFzaycuCiAgICAgIChzdWdnZXN0ZWQg YnkgSmFuIEJldWxpY2ggYW5kIFJvZ2VyIFBhdSBNb25uw6kpCnY1OgogICAgLSBjcmVhdGUgdGhp cyBwYXRjaCB0byBtYWtlIGNvZGVzIGNsZWFyZXIuCiAgICAgIChzdWdnZXN0ZWQgYnkgSmFuIEJl dWxpY2ggYW5kIFJvZ2VyIFBhdSBNb25uw6kpCi0tLQogeGVuL2FyY2gveDg2L3Bzci5jICAgICAg ICB8IDQ1ICsrKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogeGVu L2FyY2gveDg2L3N5c2N0bC5jICAgICB8ICA0ICsrLS0KIHhlbi9pbmNsdWRlL2FzbS14ODYvcHNy LmggfCAgMiArLQogMyBmaWxlcyBjaGFuZ2VkLCAyNSBpbnNlcnRpb25zKCspLCAyNiBkZWxldGlv bnMoLSkKCmRpZmYgLS1naXQgYS94ZW4vYXJjaC94ODYvcHNyLmMgYi94ZW4vYXJjaC94ODYvcHNy LmMKaW5kZXggN2Q4Mjk1ZS4uNThkMjAzZiAxMDA2NDQKLS0tIGEveGVuL2FyY2gveDg2L3Bzci5j CisrKyBiL3hlbi9hcmNoL3g4Ni9wc3IuYwpAQCAtMjczLDEwICsyNzMsMTAgQEAgc3RhdGljIGJv b2wgcHNyX2NoZWNrX2NibSh1bnNpZ25lZCBpbnQgY2JtX2xlbiwgdW5zaWduZWQgbG9uZyBjYm0p CiB9CiAKIC8qIENBVCBjb21tb24gZnVuY3Rpb25zIGltcGxlbWVudGF0aW9uLiAqLwotc3RhdGlj IGludCBjYXRfaW5pdF9mZWF0dXJlKGNvbnN0IHN0cnVjdCBjcHVpZF9sZWFmICpyZWdzLAotICAg ICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBmZWF0X25vZGUgKmZlYXQsCi0gICAgICAg ICAgICAgICAgICAgICAgICAgICAgc3RydWN0IHBzcl9zb2NrZXRfaW5mbyAqaW5mbywKLSAgICAg ICAgICAgICAgICAgICAgICAgICAgICBlbnVtIHBzcl9mZWF0X3R5cGUgdHlwZSkKK3N0YXRpYyBi b29sIGNhdF9pbml0X2ZlYXR1cmUoY29uc3Qgc3RydWN0IGNwdWlkX2xlYWYgKnJlZ3MsCisgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBmZWF0X25vZGUgKmZlYXQsCisgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBwc3Jfc29ja2V0X2luZm8gKmluZm8sCisgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIGVudW0gcHNyX2ZlYXRfdHlwZSB0eXBlKQogewogICAg IGNvbnN0IGNoYXIgKmNvbnN0IGNhdF9mZWF0X25hbWVbRkVBVF9UWVBFX05VTV0gPSB7CiAgICAg ICAgIFtGRUFUX1RZUEVfTDNfQ0FUXSA9ICJMMyBDQVQiLApAQCAtMjg2LDcgKzI4Niw3IEBAIHN0 YXRpYyBpbnQgY2F0X2luaXRfZmVhdHVyZShjb25zdCBzdHJ1Y3QgY3B1aWRfbGVhZiAqcmVncywK IAogICAgIC8qIE5vIHZhbGlkIHZhbHVlIHNvIGRvIG5vdCBlbmFibGUgZmVhdHVyZS4gKi8KICAg ICBpZiAoICFyZWdzLT5hIHx8ICFyZWdzLT5kICkKLSAgICAgICAgcmV0dXJuIC1FTk9FTlQ7Cisg ICAgICAgIHJldHVybiBmYWxzZTsKIAogICAgIGZlYXQtPmNibV9sZW4gPSAocmVncy0+YSAmIENB VF9DQk1fTEVOX01BU0spICsgMTsKICAgICBmZWF0LT5jb3NfbWF4ID0gbWluKG9wdF9jb3NfbWF4 LCByZWdzLT5kICYgQ0FUX0NPU19NQVhfTUFTSyk7CkBAIC0yOTYsNyArMjk2LDcgQEAgc3RhdGlj IGludCBjYXRfaW5pdF9mZWF0dXJlKGNvbnN0IHN0cnVjdCBjcHVpZF9sZWFmICpyZWdzLAogICAg IGNhc2UgRkVBVF9UWVBFX0wzX0NBVDoKICAgICBjYXNlIEZFQVRfVFlQRV9MMl9DQVQ6CiAgICAg ICAgIGlmICggZmVhdC0+Y29zX21heCA8IDEgKQotICAgICAgICAgICAgcmV0dXJuIC1FTk9FTlQ7 CisgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAKICAgICAgICAgLyogV2UgcmVzZXJ2ZSBjb3M9 MCBhcyBkZWZhdWx0IGNibSAoYWxsIGJpdHMgd2l0aGluIGNibV9sZW4gYXJlIDEpLiAqLwogICAg ICAgICBmZWF0LT5jb3NfcmVnX3ZhbFswXSA9IGNhdF9kZWZhdWx0X3ZhbChmZWF0LT5jYm1fbGVu KTsKQEAgLTMxMyw3ICszMTMsNyBAQCBzdGF0aWMgaW50IGNhdF9pbml0X2ZlYXR1cmUoY29uc3Qg c3RydWN0IGNwdWlkX2xlYWYgKnJlZ3MsCiAgICAgICAgIHVpbnQ2NF90IHZhbDsKIAogICAgICAg ICBpZiAoIGZlYXQtPmNvc19tYXggPCAzICkKLSAgICAgICAgICAgIHJldHVybiAtRU5PRU5UOwor ICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogCiAgICAgICAgIC8qIEN1dCBoYWxmIG9mIGNvc19t YXggd2hlbiBDRFAgaXMgZW5hYmxlZC4gKi8KICAgICAgICAgZmVhdC0+Y29zX21heCA9IChmZWF0 LT5jb3NfbWF4IC0gMSkgPj4gMTsKQEAgLTMzMiwyMCArMzMyLDE4IEBAIHN0YXRpYyBpbnQgY2F0 X2luaXRfZmVhdHVyZShjb25zdCBzdHJ1Y3QgY3B1aWRfbGVhZiAqcmVncywKICAgICB9CiAKICAg ICBkZWZhdWx0OgotICAgICAgICByZXR1cm4gLUVOT0VOVDsKKyAgICAgICAgcmV0dXJuIGZhbHNl OwogICAgIH0KIAogICAgIC8qIEFkZCB0aGlzIGZlYXR1cmUgaW50byBhcnJheS4gKi8KICAgICBp bmZvLT5mZWF0dXJlc1t0eXBlXSA9IGZlYXQ7CiAKLSAgICBpZiAoICFvcHRfY3B1X2luZm8gKQot ICAgICAgICByZXR1cm4gMDsKLQotICAgIHByaW50ayhYRU5MT0dfSU5GTyAiJXM6IGVuYWJsZWQg b24gc29ja2V0ICV1LCBjb3NfbWF4OiV1LCBjYm1fbGVuOiV1XG4iLAotICAgICAgICAgICBjYXRf ZmVhdF9uYW1lW3R5cGVdLCBjcHVfdG9fc29ja2V0KHNtcF9wcm9jZXNzb3JfaWQoKSksCi0gICAg ICAgICAgIGZlYXQtPmNvc19tYXgsIGZlYXQtPmNibV9sZW4pOworICAgIGlmICggb3B0X2NwdV9p bmZvICkKKyAgICAgICAgcHJpbnRrKFhFTkxPR19JTkZPICIlczogZW5hYmxlZCBvbiBzb2NrZXQg JXUsIGNvc19tYXg6JXUsIGNibV9sZW46JXVcbiIsCisgICAgICAgICAgICAgICBjYXRfZmVhdF9u YW1lW3R5cGVdLCBjcHVfdG9fc29ja2V0KHNtcF9wcm9jZXNzb3JfaWQoKSksCisgICAgICAgICAg ICAgICBmZWF0LT5jb3NfbWF4LCBmZWF0LT5jYm1fbGVuKTsKIAotICAgIHJldHVybiAwOworICAg IHJldHVybiB0cnVlOwogfQogCiBzdGF0aWMgYm9vbCBjYXRfZ2V0X2ZlYXRfaW5mbyhjb25zdCBz dHJ1Y3QgZmVhdF9ub2RlICpmZWF0LApAQCAtMzU2LDcgKzM1NCw3IEBAIHN0YXRpYyBib29sIGNh dF9nZXRfZmVhdF9pbmZvKGNvbnN0IHN0cnVjdCBmZWF0X25vZGUgKmZlYXQsCiAKICAgICBkYXRh W1BTUl9JTkZPX0lEWF9DT1NfTUFYXSA9IGZlYXQtPmNvc19tYXg7CiAgICAgZGF0YVtQU1JfSU5G T19JRFhfQ0FUX0NCTV9MRU5dID0gZmVhdC0+Y2JtX2xlbjsKLSAgICBkYXRhW1BTUl9JTkZPX0lE WF9DQVRfRkxBR10gPSAwOworICAgIGRhdGFbUFNSX0lORk9fSURYX0NBVF9GTEFHU10gPSAwOwog CiAgICAgcmV0dXJuIHRydWU7CiB9CkBAIC0zODMsNyArMzgxLDcgQEAgc3RhdGljIGJvb2wgbDNf Y2RwX2dldF9mZWF0X2luZm8oY29uc3Qgc3RydWN0IGZlYXRfbm9kZSAqZmVhdCwKICAgICBpZiAo ICFjYXRfZ2V0X2ZlYXRfaW5mbyhmZWF0LCBkYXRhLCBhcnJheV9sZW4pICkKICAgICAgICAgcmV0 dXJuIGZhbHNlOwogCi0gICAgZGF0YVtQU1JfSU5GT19JRFhfQ0FUX0ZMQUddIHw9IFhFTl9TWVND VExfUFNSX0NBVF9MM19DRFA7CisgICAgZGF0YVtQU1JfSU5GT19JRFhfQ0FUX0ZMQUdTXSB8PSBY RU5fU1lTQ1RMX1BTUl9DQVRfTDNfQ0RQOwogCiAgICAgcmV0dXJuIHRydWU7CiB9CkBAIC0xNDEz LDYgKzE0MTEsNyBAQCBzdGF0aWMgdm9pZCBwc3JfY3B1X2luaXQodm9pZCkKICAgICB1bnNpZ25l ZCBpbnQgc29ja2V0LCBjcHUgPSBzbXBfcHJvY2Vzc29yX2lkKCk7CiAgICAgc3RydWN0IGZlYXRf bm9kZSAqZmVhdDsKICAgICBzdHJ1Y3QgY3B1aWRfbGVhZiByZWdzOworICAgIHVpbnQzMl90IGZl YXRfbWFzazsKIAogICAgIGlmICggIXBzcl9hbGxvY19mZWF0X2VuYWJsZWQoKSB8fCAhYm9vdF9j cHVfaGFzKFg4Nl9GRUFUVVJFX1BRRSkgKQogICAgICAgICBnb3RvIGFzc29jX2luaXQ7CkBAIC0x NDMxLDcgKzE0MzAsOCBAQCBzdGF0aWMgdm9pZCBwc3JfY3B1X2luaXQodm9pZCkKICAgICBzcGlu X2xvY2tfaW5pdCgmaW5mby0+cmVmX2xvY2spOwogCiAgICAgY3B1aWRfY291bnRfbGVhZihQU1Jf Q1BVSURfTEVWRUxfQ0FULCAwLCAmcmVncyk7Ci0gICAgaWYgKCByZWdzLmIgJiBQU1JfUkVTT1VS Q0VfVFlQRV9MMyApCisgICAgZmVhdF9tYXNrID0gcmVncy5iOworICAgIGlmICggZmVhdF9tYXNr ICYgUFNSX1JFU09VUkNFX1RZUEVfTDMgKQogICAgIHsKICAgICAgICAgY3B1aWRfY291bnRfbGVh ZihQU1JfQ1BVSURfTEVWRUxfQ0FULCAxLCAmcmVncyk7CiAKQEAgLTE0MzksMjcgKzE0MzksMjYg QEAgc3RhdGljIHZvaWQgcHNyX2NwdV9pbml0KHZvaWQpCiAgICAgICAgIGZlYXRfbDMgPSBOVUxM OwogCiAgICAgICAgIGlmICggKHJlZ3MuYyAmIFBTUl9DQVRfQ0RQX0NBUEFCSUxJVFkpICYmIChv cHRfcHNyICYgUFNSX0NEUCkgJiYKLSAgICAgICAgICAgICAhY2F0X2luaXRfZmVhdHVyZSgmcmVn cywgZmVhdCwgaW5mbywgRkVBVF9UWVBFX0wzX0NEUCkgKQorICAgICAgICAgICAgIGNhdF9pbml0 X2ZlYXR1cmUoJnJlZ3MsIGZlYXQsIGluZm8sIEZFQVRfVFlQRV9MM19DRFApICkKICAgICAgICAg ICAgIGZlYXRfcHJvcHNbRkVBVF9UWVBFX0wzX0NEUF0gPSAmbDNfY2RwX3Byb3BzOwogCiAgICAg ICAgIC8qIElmIENEUCBpbml0IGZhaWxzLCB0cnkgdG8gd29yayBhcyBMMyBDQVQuICovCiAgICAg ICAgIGlmICggIWZlYXRfcHJvcHNbRkVBVF9UWVBFX0wzX0NEUF0gKQogICAgICAgICB7Ci0gICAg ICAgICAgICBpZiAoICFjYXRfaW5pdF9mZWF0dXJlKCZyZWdzLCBmZWF0LCBpbmZvLCBGRUFUX1RZ UEVfTDNfQ0FUKSApCisgICAgICAgICAgICBpZiAoIGNhdF9pbml0X2ZlYXR1cmUoJnJlZ3MsIGZl YXQsIGluZm8sIEZFQVRfVFlQRV9MM19DQVQpICkKICAgICAgICAgICAgICAgICBmZWF0X3Byb3Bz W0ZFQVRfVFlQRV9MM19DQVRdID0gJmwzX2NhdF9wcm9wczsKICAgICAgICAgICAgIGVsc2UKICAg ICAgICAgICAgICAgICBmZWF0X2wzID0gZmVhdDsKICAgICAgICAgfQogICAgIH0KIAotICAgIGNw dWlkX2NvdW50X2xlYWYoUFNSX0NQVUlEX0xFVkVMX0NBVCwgMCwgJnJlZ3MpOwotICAgIGlmICgg cmVncy5iICYgUFNSX1JFU09VUkNFX1RZUEVfTDIgKQorICAgIGlmICggZmVhdF9tYXNrICYgUFNS X1JFU09VUkNFX1RZUEVfTDIgKQogICAgIHsKICAgICAgICAgY3B1aWRfY291bnRfbGVhZihQU1Jf Q1BVSURfTEVWRUxfQ0FULCAyLCAmcmVncyk7CiAKICAgICAgICAgZmVhdCA9IGZlYXRfbDJfY2F0 OwogICAgICAgICBmZWF0X2wyX2NhdCA9IE5VTEw7Ci0gICAgICAgIGlmICggIWNhdF9pbml0X2Zl YXR1cmUoJnJlZ3MsIGZlYXQsIGluZm8sIEZFQVRfVFlQRV9MMl9DQVQpICkKKyAgICAgICAgaWYg KCBjYXRfaW5pdF9mZWF0dXJlKCZyZWdzLCBmZWF0LCBpbmZvLCBGRUFUX1RZUEVfTDJfQ0FUKSAp CiAgICAgICAgICAgICBmZWF0X3Byb3BzW0ZFQVRfVFlQRV9MMl9DQVRdID0gJmwyX2NhdF9wcm9w czsKICAgICAgICAgZWxzZQogICAgICAgICAgICAgZmVhdF9sMl9jYXQgPSBmZWF0OwpkaWZmIC0t Z2l0IGEveGVuL2FyY2gveDg2L3N5c2N0bC5jIGIveGVuL2FyY2gveDg2L3N5c2N0bC5jCmluZGV4 IDY4NjdlZTEuLjZkNDhjYWMgMTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL3g4Ni9zeXNjdGwuYworKysg Yi94ZW4vYXJjaC94ODYvc3lzY3RsLmMKQEAgLTE4OCw3ICsxODgsNyBAQCBsb25nIGFyY2hfZG9f c3lzY3RsKAogICAgICAgICAgICAgc3lzY3RsLT51LnBzcl9hbGxvYy51LmNhdF9pbmZvLmNibV9s ZW4gPQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhW1BTUl9JTkZP X0lEWF9DQVRfQ0JNX0xFTl07CiAgICAgICAgICAgICBzeXNjdGwtPnUucHNyX2FsbG9jLnUuY2F0 X2luZm8uZmxhZ3MgPQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRh W1BTUl9JTkZPX0lEWF9DQVRfRkxBR107CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIGRhdGFbUFNSX0lORk9fSURYX0NBVF9GTEFHU107CiAKICAgICAgICAgICAgIGlmICgg X19jb3B5X2ZpZWxkX3RvX2d1ZXN0KHVfc3lzY3RsLCBzeXNjdGwsIHUucHNyX2FsbG9jKSApCiAg ICAgICAgICAgICAgICAgcmV0ID0gLUVGQVVMVDsKQEAgLTIwNyw3ICsyMDcsNyBAQCBsb25nIGFy Y2hfZG9fc3lzY3RsKAogICAgICAgICAgICAgc3lzY3RsLT51LnBzcl9hbGxvYy51LmNhdF9pbmZv LmNibV9sZW4gPQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhW1BT Ul9JTkZPX0lEWF9DQVRfQ0JNX0xFTl07CiAgICAgICAgICAgICBzeXNjdGwtPnUucHNyX2FsbG9j LnUuY2F0X2luZm8uZmxhZ3MgPQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBkYXRhW1BTUl9JTkZPX0lEWF9DQVRfRkxBR107CisgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIGRhdGFbUFNSX0lORk9fSURYX0NBVF9GTEFHU107CiAKICAgICAgICAgICAg IGlmICggX19jb3B5X2ZpZWxkX3RvX2d1ZXN0KHVfc3lzY3RsLCBzeXNjdGwsIHUucHNyX2FsbG9j KSApCiAgICAgICAgICAgICAgICAgcmV0ID0gLUVGQVVMVDsKZGlmZiAtLWdpdCBhL3hlbi9pbmNs dWRlL2FzbS14ODYvcHNyLmggYi94ZW4vaW5jbHVkZS9hc20teDg2L3Bzci5oCmluZGV4IGNiM2Yw NjcuLmYxNTFmYTcgMTAwNjQ0Ci0tLSBhL3hlbi9pbmNsdWRlL2FzbS14ODYvcHNyLmgKKysrIGIv eGVuL2luY2x1ZGUvYXNtLXg4Ni9wc3IuaApAQCAtMzcsNyArMzcsNyBAQAogLyogVXNlZCBieSBw c3JfZ2V0X2luZm8oKSAqLwogI2RlZmluZSBQU1JfSU5GT19JRFhfQ09TX01BWCAgICAgICAgICAg IDAKICNkZWZpbmUgUFNSX0lORk9fSURYX0NBVF9DQk1fTEVOICAgICAgICAxCi0jZGVmaW5lIFBT Ul9JTkZPX0lEWF9DQVRfRkxBRyAgICAgICAgICAgMgorI2RlZmluZSBQU1JfSU5GT19JRFhfQ0FU X0ZMQUdTICAgICAgICAgIDIKICNkZWZpbmUgUFNSX0lORk9fQVJSQVlfU0laRSAgICAgICAgICAg ICAzCiAKIHN0cnVjdCBwc3JfY210X2wzIHsKLS0gCjEuOS4xCgoKX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX18KWGVuLWRldmVsIG1haWxpbmcgbGlzdApYZW4t ZGV2ZWxAbGlzdHMueGVuLm9yZwpodHRwczovL2xpc3RzLnhlbi5vcmcveGVuLWRldmVsCg==