From mboxrd@z Thu Jan 1 00:00:00 1970 From: Paul Durrant Subject: [PATCH v4 3/3] x86/viridian: implement the crash MSRs Date: Wed, 22 Mar 2017 12:15:24 +0000 Message-ID: <1490184924-20156-4-git-send-email-paul.durrant@citrix.com> References: <1490184924-20156-1-git-send-email-paul.durrant@citrix.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 1cqfBN-0003vb-C6 for xen-devel@lists.xenproject.org; Wed, 22 Mar 2017 12:16:05 +0000 In-Reply-To: <1490184924-20156-1-git-send-email-paul.durrant@citrix.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: Andrew Cooper , Paul Durrant , Ian Jackson List-Id: xen-devel@lists.xenproject.org U2VjdGlvbiAyLjQuNCBvZiB0aGUgSHlwZXJ2aXNvciBUb3AgTGV2ZWwgRnVuY3Rpb25hbCBTcGVj aWZpY2F0aW9uIHN0YXRlcwp0aGF0IGVuYWJsaW5nIGJpdCAxMCBpbiBFRFggb2YgQ1BVSUQgbGVh ZiAzIGFkdmVydGlzZXMgdG8gV2luZG93cyBhIHNldApvZiBNU1JzIGludG8gd2hpY2ggaXQgY2Fu IHdyaXRlIGNyYXNoIGluZm9ybWF0aW9uLgoKVGhpcyBwYXRjaCBhZHZlcnRpc2VzIHRoYXQgYml0 IGFuZCBpbXBsZW1lbnRzIHRoZSBNU1JzIHN1Y2ggdGhhdCBYZW4gY2FuCmxvZyB0aGUgaW5mb3Jt YXRpb24gaWYgYSBXaW5kb3dzIGd1ZXN0IGNyYXNoZXMuCgpTaWduZWQtb2ZmLWJ5OiBQYXVsIER1 cnJhbnQgPHBhdWwuZHVycmFudEBjaXRyaXguY29tPgpSZXZpZXdlZC1ieTogSmFuIEJldWxpY2gg PGpiZXVsaWNoQHN1c2UuY29tPgpSZXZpZXdlZC1ieTogV2VpIExpdSA8d2VpLmxpdTJAY2l0cml4 LmNvbT4KLS0tCkNjOiBJYW4gSmFja3NvbiA8aWFuLmphY2tzb25AZXUuY2l0cml4LmNvbT4KQ2M6 IFBhdWwgRHVycmFudCA8cGF1bC5kdXJyYW50QGNpdHJpeC5jb20+CkNjOiBBbmRyZXcgQ29vcGVy IDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPgoKdjQ6CiAtIE5hbWUgdGhlIHVuaW9uIGluIEhW X0NSQVNIX0NUTF9SRUdfQ09OVEVOVFMgdG8ga2VlcCBvbGRlciBnY2MgaGFwcHkKCnYzOgogLSBV c2UgV0FSTklORyBsZXZlbCBtZXNzYWdlIHJhdGhlciB0aGFuIElORk8KCnYyOgogLSBNYWtlIE1T UnMgcGVyLXZjcHUgcmF0aGVyIHRoYW4gcGVyLWRvbWFpbgogLSBGaXggaHlwZXJ2aXNvciBzdGFj ayBsZWFrCiAtIFJlcGxpY2F0ZSBCVUlMRF9CT0dfT04oKQogLSBVc2UgZ3ByaW50aygpIHJhdGhl ciB0aGFuIHByaW50aygpCi0tLQogZG9jcy9tYW4veGwuY2ZnLnBvZC41LmluICAgICAgICAgICB8 IDEwICsrKystLQogdG9vbHMvbGlieGwvbGlieGwuaCAgICAgICAgICAgICAgICB8ICA2ICsrKysK IHRvb2xzL2xpYnhsL2xpYnhsX2RvbS5jICAgICAgICAgICAgfCAgNCArKysKIHRvb2xzL2xpYnhs L2xpYnhsX3R5cGVzLmlkbCAgICAgICAgfCAgMSArCiB4ZW4vYXJjaC94ODYvaHZtL3ZpcmlkaWFu LmMgICAgICAgIHwgNjkgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKIHhl bi9pbmNsdWRlL2FzbS14ODYvaHZtL3ZpcmlkaWFuLmggfCAgMSArCiB4ZW4vaW5jbHVkZS9wdWJs aWMvaHZtL3BhcmFtcy5oICAgIHwgIDcgKysrLQogNyBmaWxlcyBjaGFuZ2VkLCA5NSBpbnNlcnRp b25zKCspLCAzIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RvY3MvbWFuL3hsLmNmZy5wb2Qu NS5pbiBiL2RvY3MvbWFuL3hsLmNmZy5wb2QuNS5pbgppbmRleCA1MjgwMmQ1Li45OTE5NjBiIDEw MDY0NAotLS0gYS9kb2NzL21hbi94bC5jZmcucG9kLjUuaW4KKysrIGIvZG9jcy9tYW4veGwuY2Zn LnBvZC41LmluCkBAIC0xNjAxLDExICsxNjAxLDE3IEBAIHBlci12Y3B1IGV2ZW50IGNoYW5uZWwg dXBjYWxsIHZlY3RvcnMuCiBOb3RlIHRoYXQgdGhpcyBlbmxpZ2h0ZW5tZW50IHdpbGwgaGF2ZSBu byBlZmZlY3QgaWYgdGhlIGd1ZXN0IGlzCiB1c2luZyBBUElDdiBwb3N0ZWQgaW50ZXJydXB0cy4K IAorPWl0ZW0gQjxjcmFzaF9jdGw+CisKK1RoaXMgZ3JvdXAgaW5jb3Jwb3JhdGVzIHRoZSBjcmFz aCBjb250cm9sIE1TUnMuIFRoZXNlIGVubGlnaHRlbm1lbnRzCithbGxvdyBXaW5kb3dzIHRvIHdy aXRlIGNyYXNoIGluZm9ybWF0aW9uIHN1Y2ggdGhhdCBpdCBjYW4gYmUgbG9nZ2VkCitieSBYZW4u CisKID1pdGVtIEI8ZGVmYXVsdHM+CiAKIFRoaXMgaXMgYSBzcGVjaWFsIHZhbHVlIHRoYXQgZW5h YmxlcyB0aGUgZGVmYXVsdCBzZXQgb2YgZ3JvdXBzLCB3aGljaAotaXMgY3VycmVudGx5IHRoZSBC PGJhc2U+LCBCPGZyZXE+LCBCPHRpbWVfcmVmX2NvdW50PiBhbmQgQjxhcGljX2Fzc2lzdD4KLWdy b3Vwcy4KK2lzIGN1cnJlbnRseSB0aGUgQjxiYXNlPiwgQjxmcmVxPiwgQjx0aW1lX3JlZl9jb3Vu dD4sIEI8YXBpY19hc3Npc3Q+CithbmQgQjxjcmFzaF9jdGw+IGdyb3Vwcy4KIAogPWl0ZW0gQjxh bGw+CiAKZGlmZiAtLWdpdCBhL3Rvb2xzL2xpYnhsL2xpYnhsLmggYi90b29scy9saWJ4bC9saWJ4 bC5oCmluZGV4IDcyZWMzOWQuLmFmNDU1ODIgMTAwNjQ0Ci0tLSBhL3Rvb2xzL2xpYnhsL2xpYnhs LmgKKysrIGIvdG9vbHMvbGlieGwvbGlieGwuaApAQCAtMjg4LDYgKzI4OCwxMiBAQAogI2RlZmlu ZSBMSUJYTF9IQVZFX1NDSEVEX0NSRURJVDJfUEFSQU1TIDEKIAogLyoKKyAqIExJQlhMX0hBVkVf Q1JBU0hfQ1RMIGluZGljYXRlcyB0aGF0IHRoZSAnY3Jhc2hfY3RsJyB2YWx1ZQorICogaXMgcHJl c2VudCBpbiB0aGUgdmlyaWRpYW4gZW5saWdodGVubWVudCBlbnVtZXJhdGlvbi4KKyAqLworI2Rl ZmluZSBMSUJYTF9IQVZFX0NSQVNIX0NUTCAxCisKKy8qCiAgKiBsaWJ4bCBBQkkgY29tcGF0aWJp bGl0eQogICoKICAqIFRoZSBvbmx5IGd1YXJhbnRlZSB3aGljaCBsaWJ4bCBtYWtlcyByZWdhcmRp bmcgQUJJIGNvbXBhdGliaWxpdHkKZGlmZiAtLWdpdCBhL3Rvb2xzL2xpYnhsL2xpYnhsX2RvbS5j IGIvdG9vbHMvbGlieGwvbGlieGxfZG9tLmMKaW5kZXggYzg4YjkwNC4uY2YwM2RlZCAxMDA2NDQK LS0tIGEvdG9vbHMvbGlieGwvbGlieGxfZG9tLmMKKysrIGIvdG9vbHMvbGlieGwvbGlieGxfZG9t LmMKQEAgLTIxNCw2ICsyMTQsNyBAQCBzdGF0aWMgaW50IGh2bV9zZXRfdmlyaWRpYW5fZmVhdHVy ZXMobGlieGxfX2djICpnYywgdWludDMyX3QgZG9taWQsCiAgICAgICAgIGxpYnhsX2JpdG1hcF9z ZXQoJmVubGlnaHRlbm1lbnRzLCBMSUJYTF9WSVJJRElBTl9FTkxJR0hURU5NRU5UX0ZSRVEpOwog ICAgICAgICBsaWJ4bF9iaXRtYXBfc2V0KCZlbmxpZ2h0ZW5tZW50cywgTElCWExfVklSSURJQU5f RU5MSUdIVEVOTUVOVF9USU1FX1JFRl9DT1VOVCk7CiAgICAgICAgIGxpYnhsX2JpdG1hcF9zZXQo JmVubGlnaHRlbm1lbnRzLCBMSUJYTF9WSVJJRElBTl9FTkxJR0hURU5NRU5UX0FQSUNfQVNTSVNU KTsKKyAgICAgICAgbGlieGxfYml0bWFwX3NldCgmZW5saWdodGVubWVudHMsIExJQlhMX1ZJUklE SUFOX0VOTElHSFRFTk1FTlRfQ1JBU0hfQ1RMKTsKICAgICB9CiAKICAgICBsaWJ4bF9mb3JfZWFj aF9zZXRfYml0KHYsIGluZm8tPnUuaHZtLnZpcmlkaWFuX2VuYWJsZSkgewpAQCAtMjU5LDYgKzI2 MCw5IEBAIHN0YXRpYyBpbnQgaHZtX3NldF92aXJpZGlhbl9mZWF0dXJlcyhsaWJ4bF9fZ2MgKmdj LCB1aW50MzJfdCBkb21pZCwKICAgICBpZiAobGlieGxfYml0bWFwX3Rlc3QoJmVubGlnaHRlbm1l bnRzLCBMSUJYTF9WSVJJRElBTl9FTkxJR0hURU5NRU5UX0FQSUNfQVNTSVNUKSkKICAgICAgICAg bWFzayB8PSBIVk1QVl9hcGljX2Fzc2lzdDsKIAorICAgIGlmIChsaWJ4bF9iaXRtYXBfdGVzdCgm ZW5saWdodGVubWVudHMsIExJQlhMX1ZJUklESUFOX0VOTElHSFRFTk1FTlRfQ1JBU0hfQ1RMKSkK KyAgICAgICAgbWFzayB8PSBIVk1QVl9jcmFzaF9jdGw7CisKICAgICBpZiAobWFzayAhPSAwICYm CiAgICAgICAgIHhjX2h2bV9wYXJhbV9zZXQoQ1RYLT54Y2gsCiAgICAgICAgICAgICAgICAgICAg ICAgICAgZG9taWQsCmRpZmYgLS1naXQgYS90b29scy9saWJ4bC9saWJ4bF90eXBlcy5pZGwgYi90 b29scy9saWJ4bC9saWJ4bF90eXBlcy5pZGwKaW5kZXggMjQ3NWE0ZC4uNjllNzg5YSAxMDA2NDQK LS0tIGEvdG9vbHMvbGlieGwvbGlieGxfdHlwZXMuaWRsCisrKyBiL3Rvb2xzL2xpYnhsL2xpYnhs X3R5cGVzLmlkbApAQCAtMjI0LDYgKzIyNCw3IEBAIGxpYnhsX3ZpcmlkaWFuX2VubGlnaHRlbm1l bnQgPSBFbnVtZXJhdGlvbigidmlyaWRpYW5fZW5saWdodGVubWVudCIsIFsKICAgICAoMywgInJl ZmVyZW5jZV90c2MiKSwKICAgICAoNCwgImhjYWxsX3JlbW90ZV90bGJfZmx1c2giKSwKICAgICAo NSwgImFwaWNfYXNzaXN0IiksCisgICAgKDYsICJjcmFzaF9jdGwiKSwKICAgICBdKQogCiBsaWJ4 bF9oZHR5cGUgPSBFbnVtZXJhdGlvbigiaGR0eXBlIiwgWwpkaWZmIC0tZ2l0IGEveGVuL2FyY2gv eDg2L2h2bS92aXJpZGlhbi5jIGIveGVuL2FyY2gveDg2L2h2bS92aXJpZGlhbi5jCmluZGV4IGUx OGE0NTMuLmM3YTNiNjAgMTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL3g4Ni9odm0vdmlyaWRpYW4uYwor KysgYi94ZW4vYXJjaC94ODYvaHZtL3ZpcmlkaWFuLmMKQEAgLTE1NCw2ICsxNTQsMTkgQEAgdHlw ZWRlZiBzdHJ1Y3QgewogICAgIHVpbnQ2NF90IFJlc2VydmVkODoxMDsKIH0gSFZfUEFSVElUSU9O X1BSSVZJTEVHRV9NQVNLOwogCit0eXBlZGVmIHVuaW9uIF9IVl9DUkFTSF9DVExfUkVHX0NPTlRF TlRTCit7CisgICAgdWludDY0X3QgQXNVSU5UNjQ7CisgICAgc3RydWN0CisgICAgeworICAgICAg ICB1aW50NjRfdCBSZXNlcnZlZDo2MzsKKyAgICAgICAgdWludDY0X3QgQ3Jhc2hOb3RpZnk6MTsK KyAgICB9IHU7Cit9IEhWX0NSQVNIX0NUTF9SRUdfQ09OVEVOVFM7CisKKy8qIFZpcmlkaWFuIENQ VUlEIGxlYWYgMywgSHlwZXJ2aXNvciBGZWF0dXJlIEluZGljYXRpb24gKi8KKyNkZWZpbmUgQ1BV SUQzRF9DUkFTSF9NU1JTICgxIDw8IDEwKQorCiAvKiBWaXJpZGlhbiBDUFVJRCBsZWFmIDQ6IElt cGxlbWVudGF0aW9uIFJlY29tbWVuZGF0aW9ucy4gKi8KICNkZWZpbmUgQ1BVSUQ0QV9IQ0FMTF9S RU1PVEVfVExCX0ZMVVNIICgxIDw8IDIpCiAjZGVmaW5lIENQVUlENEFfTVNSX0JBU0VEX0FQSUMg ICAgICAgICAoMSA8PCAzKQpAQCAtMjQ2LDYgKzI1OSwxMCBAQCB2b2lkIGNwdWlkX3ZpcmlkaWFu X2xlYXZlcyhjb25zdCBzdHJ1Y3QgdmNwdSAqdiwgdWludDMyX3QgbGVhZiwKIAogICAgICAgICBy ZXMtPmEgPSB1LmxvOwogICAgICAgICByZXMtPmIgPSB1LmhpOworCisgICAgICAgIGlmICggdmly aWRpYW5fZmVhdHVyZV9tYXNrKGQpICYgSFZNUFZfY3Jhc2hfY3RsICkKKyAgICAgICAgICAgIHJl cy0+ZCA9IENQVUlEM0RfQ1JBU0hfTVNSUzsKKwogICAgICAgICBicmVhazsKICAgICB9CiAKQEAg LTYwOSw2ICs2MjYsMzYgQEAgaW50IHdybXNyX3ZpcmlkaWFuX3JlZ3ModWludDMyX3QgaWR4LCB1 aW50NjRfdCB2YWwpCiAgICAgICAgICAgICB1cGRhdGVfcmVmZXJlbmNlX3RzYyhkLCAxKTsKICAg ICAgICAgYnJlYWs7CiAKKyAgICBjYXNlIEhWX1g2NF9NU1JfQ1JBU0hfUDA6CisgICAgY2FzZSBI Vl9YNjRfTVNSX0NSQVNIX1AxOgorICAgIGNhc2UgSFZfWDY0X01TUl9DUkFTSF9QMjoKKyAgICBj YXNlIEhWX1g2NF9NU1JfQ1JBU0hfUDM6CisgICAgY2FzZSBIVl9YNjRfTVNSX0NSQVNIX1A0Ogor ICAgICAgICBCVUlMRF9CVUdfT04oSFZfWDY0X01TUl9DUkFTSF9QNCAtIEhWX1g2NF9NU1JfQ1JB U0hfUDAgPj0KKyAgICAgICAgICAgICAgICAgICAgIEFSUkFZX1NJWkUodi0+YXJjaC5odm1fdmNw dS52aXJpZGlhbi5jcmFzaF9wYXJhbSkpOworCisgICAgICAgIGlkeCAtPSBIVl9YNjRfTVNSX0NS QVNIX1AwOworICAgICAgICB2LT5hcmNoLmh2bV92Y3B1LnZpcmlkaWFuLmNyYXNoX3BhcmFtW2lk eF0gPSB2YWw7CisgICAgICAgIGJyZWFrOworCisgICAgY2FzZSBIVl9YNjRfTVNSX0NSQVNIX0NU TDoKKyAgICB7CisgICAgICAgIEhWX0NSQVNIX0NUTF9SRUdfQ09OVEVOVFMgY3RsOworCisgICAg ICAgIGN0bC5Bc1VJTlQ2NCA9IHZhbDsKKworICAgICAgICBpZiAoICFjdGwudS5DcmFzaE5vdGlm eSApCisgICAgICAgICAgICBicmVhazsKKworICAgICAgICBncHJpbnRrKFhFTkxPR19XQVJOSU5H LCAiVklSSURJQU4gQ1JBU0g6ICVseCAlbHggJWx4ICVseCAlbHhcbiIsCisgICAgICAgICAgICAg ICAgdi0+YXJjaC5odm1fdmNwdS52aXJpZGlhbi5jcmFzaF9wYXJhbVswXSwKKyAgICAgICAgICAg ICAgICB2LT5hcmNoLmh2bV92Y3B1LnZpcmlkaWFuLmNyYXNoX3BhcmFtWzFdLAorICAgICAgICAg ICAgICAgIHYtPmFyY2guaHZtX3ZjcHUudmlyaWRpYW4uY3Jhc2hfcGFyYW1bMl0sCisgICAgICAg ICAgICAgICAgdi0+YXJjaC5odm1fdmNwdS52aXJpZGlhbi5jcmFzaF9wYXJhbVszXSwKKyAgICAg ICAgICAgICAgICB2LT5hcmNoLmh2bV92Y3B1LnZpcmlkaWFuLmNyYXNoX3BhcmFtWzRdKTsKKyAg ICAgICAgYnJlYWs7CisgICAgfQorCiAgICAgZGVmYXVsdDoKICAgICAgICAgaWYgKCBpZHggPj0g VklSSURJQU5fTVNSX01JTiAmJiBpZHggPD0gVklSSURJQU5fTVNSX01BWCApCiAgICAgICAgICAg ICBncHJpbnRrKFhFTkxPR19XQVJOSU5HLCAid3JpdGUgdG8gdW5pbXBsZW1lbnRlZCBNU1IgJSN4 XG4iLApAQCAtNzM2LDYgKzc4MywyOCBAQCBpbnQgcmRtc3JfdmlyaWRpYW5fcmVncyh1aW50MzJf dCBpZHgsIHVpbnQ2NF90ICp2YWwpCiAgICAgICAgIGJyZWFrOwogICAgIH0KIAorICAgIGNhc2Ug SFZfWDY0X01TUl9DUkFTSF9QMDoKKyAgICBjYXNlIEhWX1g2NF9NU1JfQ1JBU0hfUDE6CisgICAg Y2FzZSBIVl9YNjRfTVNSX0NSQVNIX1AyOgorICAgIGNhc2UgSFZfWDY0X01TUl9DUkFTSF9QMzoK KyAgICBjYXNlIEhWX1g2NF9NU1JfQ1JBU0hfUDQ6CisgICAgICAgIEJVSUxEX0JVR19PTihIVl9Y NjRfTVNSX0NSQVNIX1A0IC0gSFZfWDY0X01TUl9DUkFTSF9QMCA+PQorICAgICAgICAgICAgICAg ICAgICAgQVJSQVlfU0laRSh2LT5hcmNoLmh2bV92Y3B1LnZpcmlkaWFuLmNyYXNoX3BhcmFtKSk7 CisKKyAgICAgICAgaWR4IC09IEhWX1g2NF9NU1JfQ1JBU0hfUDA7CisgICAgICAgICp2YWwgPSB2 LT5hcmNoLmh2bV92Y3B1LnZpcmlkaWFuLmNyYXNoX3BhcmFtW2lkeF07CisgICAgICAgIGJyZWFr OworCisgICAgY2FzZSBIVl9YNjRfTVNSX0NSQVNIX0NUTDoKKyAgICB7CisgICAgICAgIEhWX0NS QVNIX0NUTF9SRUdfQ09OVEVOVFMgY3RsID0geworICAgICAgICAgICAgLnUuQ3Jhc2hOb3RpZnkg PSAxLAorICAgICAgICB9OworCisgICAgICAgICp2YWwgPSBjdGwuQXNVSU5UNjQ7CisgICAgICAg IGJyZWFrOworICAgIH0KKwogICAgIGRlZmF1bHQ6CiAgICAgICAgIGlmICggaWR4ID49IFZJUklE SUFOX01TUl9NSU4gJiYgaWR4IDw9IFZJUklESUFOX01TUl9NQVggKQogICAgICAgICAgICAgZ3By aW50ayhYRU5MT0dfV0FSTklORywgInJlYWQgZnJvbSB1bmltcGxlbWVudGVkIE1TUiAlI3hcbiIs CmRpZmYgLS1naXQgYS94ZW4vaW5jbHVkZS9hc20teDg2L2h2bS92aXJpZGlhbi5oIGIveGVuL2lu Y2x1ZGUvYXNtLXg4Ni9odm0vdmlyaWRpYW4uaAppbmRleCAyNzFjMzZkLi4zMDI1OWU5IDEwMDY0 NAotLS0gYS94ZW4vaW5jbHVkZS9hc20teDg2L2h2bS92aXJpZGlhbi5oCisrKyBiL3hlbi9pbmNs dWRlL2FzbS14ODYvaHZtL3ZpcmlkaWFuLmgKQEAgLTI2LDYgKzI2LDcgQEAgc3RydWN0IHZpcmlk aWFuX3ZjcHUKICAgICAgICAgdm9pZCAqdmE7CiAgICAgICAgIGludCB2ZWN0b3I7CiAgICAgfSB2 cF9hc3Npc3Q7CisgICAgdWludDY0X3QgY3Jhc2hfcGFyYW1bNV07CiB9OwogCiB1bmlvbiB2aXJp ZGlhbl9ndWVzdF9vc19pZApkaWZmIC0tZ2l0IGEveGVuL2luY2x1ZGUvcHVibGljL2h2bS9wYXJh bXMuaCBiL3hlbi9pbmNsdWRlL3B1YmxpYy9odm0vcGFyYW1zLmgKaW5kZXggNThjODQ3OC4uMTlj OWViOCAxMDA2NDQKLS0tIGEveGVuL2luY2x1ZGUvcHVibGljL2h2bS9wYXJhbXMuaAorKysgYi94 ZW4vaW5jbHVkZS9wdWJsaWMvaHZtL3BhcmFtcy5oCkBAIC0xMzUsMTMgKzEzNSwxOCBAQAogI2Rl ZmluZSBfSFZNUFZfYXBpY19hc3Npc3QgNQogI2RlZmluZSBIVk1QVl9hcGljX2Fzc2lzdCAoMSA8 PCBfSFZNUFZfYXBpY19hc3Npc3QpCiAKKy8qIEVuYWJsZSBjcmFzaCBNU1JzICovCisjZGVmaW5l IF9IVk1QVl9jcmFzaF9jdGwgNgorI2RlZmluZSBIVk1QVl9jcmFzaF9jdGwgKDEgPDwgX0hWTVBW X2NyYXNoX2N0bCkKKwogI2RlZmluZSBIVk1QVl9mZWF0dXJlX21hc2sgXAogICAgICAgICAoSFZN UFZfYmFzZV9mcmVxIHwgXAogICAgICAgICAgSFZNUFZfbm9fZnJlcSB8IFwKICAgICAgICAgIEhW TVBWX3RpbWVfcmVmX2NvdW50IHwgXAogICAgICAgICAgSFZNUFZfcmVmZXJlbmNlX3RzYyB8IFwK ICAgICAgICAgIEhWTVBWX2hjYWxsX3JlbW90ZV90bGJfZmx1c2ggfCBcCi0gICAgICAgICBIVk1Q Vl9hcGljX2Fzc2lzdCkKKyAgICAgICAgIEhWTVBWX2FwaWNfYXNzaXN0IHwgXAorICAgICAgICAg SFZNUFZfY3Jhc2hfY3RsKQogCiAjZW5kaWYKIAotLSAKMi4xLjQKCgpfX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhl bi1kZXZlbEBsaXN0cy54ZW4ub3JnCmh0dHBzOi8vbGlzdHMueGVuLm9yZy94ZW4tZGV2ZWwK