From mboxrd@z Thu Jan 1 00:00:00 1970 From: Paul Durrant Subject: [PATCH v5 3/3] x86/viridian: implement the crash MSRs Date: Wed, 22 Mar 2017 15:28:09 +0000 Message-ID: <1490196489-16021-4-git-send-email-paul.durrant@citrix.com> References: <1490196489-16021-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.bemta3.messagelabs.com ([195.245.230.39]) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1cqiC5-0004mx-Fx for xen-devel@lists.xenproject.org; Wed, 22 Mar 2017 15:29:01 +0000 In-Reply-To: <1490196489-16021-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 IDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPgoKdjU6CiAtIEZpeCBMSUJYTF9IQVZFXy4uLiBu YW1lCgp2NDoKIC0gTmFtZSB0aGUgdW5pb24gaW4gSFZfQ1JBU0hfQ1RMX1JFR19DT05URU5UUyB0 byBrZWVwIG9sZGVyIGdjYyBoYXBweQoKdjM6CiAtIFVzZSBXQVJOSU5HIGxldmVsIG1lc3NhZ2Ug cmF0aGVyIHRoYW4gSU5GTwoKdjI6CiAtIE1ha2UgTVNScyBwZXItdmNwdSByYXRoZXIgdGhhbiBw ZXItZG9tYWluCiAtIEZpeCBoeXBlcnZpc29yIHN0YWNrIGxlYWsKIC0gUmVwbGljYXRlIEJVSUxE X0JPR19PTigpCiAtIFVzZSBncHJpbnRrKCkgcmF0aGVyIHRoYW4gcHJpbnRrKCkKLS0tCiBkb2Nz L21hbi94bC5jZmcucG9kLjUuaW4gICAgICAgICAgIHwgMTAgKysrKy0tCiB0b29scy9saWJ4bC9s aWJ4bC5oICAgICAgICAgICAgICAgIHwgIDYgKysrKwogdG9vbHMvbGlieGwvbGlieGxfZG9tLmMg ICAgICAgICAgICB8ICA0ICsrKwogdG9vbHMvbGlieGwvbGlieGxfdHlwZXMuaWRsICAgICAgICB8 ICAxICsKIHhlbi9hcmNoL3g4Ni9odm0vdmlyaWRpYW4uYyAgICAgICAgfCA2OSArKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKwogeGVuL2luY2x1ZGUvYXNtLXg4Ni9odm0vdmly aWRpYW4uaCB8ICAxICsKIHhlbi9pbmNsdWRlL3B1YmxpYy9odm0vcGFyYW1zLmggICAgfCAgNyAr KystCiA3IGZpbGVzIGNoYW5nZWQsIDk1IGluc2VydGlvbnMoKyksIDMgZGVsZXRpb25zKC0pCgpk aWZmIC0tZ2l0IGEvZG9jcy9tYW4veGwuY2ZnLnBvZC41LmluIGIvZG9jcy9tYW4veGwuY2ZnLnBv ZC41LmluCmluZGV4IDUyODAyZDUuLjk5MTk2MGIgMTAwNjQ0Ci0tLSBhL2RvY3MvbWFuL3hsLmNm Zy5wb2QuNS5pbgorKysgYi9kb2NzL21hbi94bC5jZmcucG9kLjUuaW4KQEAgLTE2MDEsMTEgKzE2 MDEsMTcgQEAgcGVyLXZjcHUgZXZlbnQgY2hhbm5lbCB1cGNhbGwgdmVjdG9ycy4KIE5vdGUgdGhh dCB0aGlzIGVubGlnaHRlbm1lbnQgd2lsbCBoYXZlIG5vIGVmZmVjdCBpZiB0aGUgZ3Vlc3QgaXMK IHVzaW5nIEFQSUN2IHBvc3RlZCBpbnRlcnJ1cHRzLgogCis9aXRlbSBCPGNyYXNoX2N0bD4KKwor VGhpcyBncm91cCBpbmNvcnBvcmF0ZXMgdGhlIGNyYXNoIGNvbnRyb2wgTVNScy4gVGhlc2UgZW5s aWdodGVubWVudHMKK2FsbG93IFdpbmRvd3MgdG8gd3JpdGUgY3Jhc2ggaW5mb3JtYXRpb24gc3Vj aCB0aGF0IGl0IGNhbiBiZSBsb2dnZWQKK2J5IFhlbi4KKwogPWl0ZW0gQjxkZWZhdWx0cz4KIAog VGhpcyBpcyBhIHNwZWNpYWwgdmFsdWUgdGhhdCBlbmFibGVzIHRoZSBkZWZhdWx0IHNldCBvZiBn cm91cHMsIHdoaWNoCi1pcyBjdXJyZW50bHkgdGhlIEI8YmFzZT4sIEI8ZnJlcT4sIEI8dGltZV9y ZWZfY291bnQ+IGFuZCBCPGFwaWNfYXNzaXN0PgotZ3JvdXBzLgoraXMgY3VycmVudGx5IHRoZSBC PGJhc2U+LCBCPGZyZXE+LCBCPHRpbWVfcmVmX2NvdW50PiwgQjxhcGljX2Fzc2lzdD4KK2FuZCBC PGNyYXNoX2N0bD4gZ3JvdXBzLgogCiA9aXRlbSBCPGFsbD4KIApkaWZmIC0tZ2l0IGEvdG9vbHMv bGlieGwvbGlieGwuaCBiL3Rvb2xzL2xpYnhsL2xpYnhsLmgKaW5kZXggNzJlYzM5ZC4uODMzZjg2 NiAxMDA2NDQKLS0tIGEvdG9vbHMvbGlieGwvbGlieGwuaAorKysgYi90b29scy9saWJ4bC9saWJ4 bC5oCkBAIC0yODgsNiArMjg4LDEyIEBACiAjZGVmaW5lIExJQlhMX0hBVkVfU0NIRURfQ1JFRElU Ml9QQVJBTVMgMQogCiAvKgorICogTElCWExfSEFWRV9WSVJJRElBTl9DUkFTSF9DVEwgaW5kaWNh dGVzIHRoYXQgdGhlICdjcmFzaF9jdGwnIHZhbHVlCisgKiBpcyBwcmVzZW50IGluIHRoZSB2aXJp ZGlhbiBlbmxpZ2h0ZW5tZW50IGVudW1lcmF0aW9uLgorICovCisjZGVmaW5lIExJQlhMX0hBVkVf VklSSURJQU5fQ1JBU0hfQ1RMIDEKKworLyoKICAqIGxpYnhsIEFCSSBjb21wYXRpYmlsaXR5CiAg KgogICogVGhlIG9ubHkgZ3VhcmFudGVlIHdoaWNoIGxpYnhsIG1ha2VzIHJlZ2FyZGluZyBBQkkg Y29tcGF0aWJpbGl0eQpkaWZmIC0tZ2l0IGEvdG9vbHMvbGlieGwvbGlieGxfZG9tLmMgYi90b29s cy9saWJ4bC9saWJ4bF9kb20uYwppbmRleCBjODhiOTA0Li5jZjAzZGVkIDEwMDY0NAotLS0gYS90 b29scy9saWJ4bC9saWJ4bF9kb20uYworKysgYi90b29scy9saWJ4bC9saWJ4bF9kb20uYwpAQCAt MjE0LDYgKzIxNCw3IEBAIHN0YXRpYyBpbnQgaHZtX3NldF92aXJpZGlhbl9mZWF0dXJlcyhsaWJ4 bF9fZ2MgKmdjLCB1aW50MzJfdCBkb21pZCwKICAgICAgICAgbGlieGxfYml0bWFwX3NldCgmZW5s aWdodGVubWVudHMsIExJQlhMX1ZJUklESUFOX0VOTElHSFRFTk1FTlRfRlJFUSk7CiAgICAgICAg IGxpYnhsX2JpdG1hcF9zZXQoJmVubGlnaHRlbm1lbnRzLCBMSUJYTF9WSVJJRElBTl9FTkxJR0hU RU5NRU5UX1RJTUVfUkVGX0NPVU5UKTsKICAgICAgICAgbGlieGxfYml0bWFwX3NldCgmZW5saWdo dGVubWVudHMsIExJQlhMX1ZJUklESUFOX0VOTElHSFRFTk1FTlRfQVBJQ19BU1NJU1QpOworICAg ICAgICBsaWJ4bF9iaXRtYXBfc2V0KCZlbmxpZ2h0ZW5tZW50cywgTElCWExfVklSSURJQU5fRU5M SUdIVEVOTUVOVF9DUkFTSF9DVEwpOwogICAgIH0KIAogICAgIGxpYnhsX2Zvcl9lYWNoX3NldF9i aXQodiwgaW5mby0+dS5odm0udmlyaWRpYW5fZW5hYmxlKSB7CkBAIC0yNTksNiArMjYwLDkgQEAg c3RhdGljIGludCBodm1fc2V0X3ZpcmlkaWFuX2ZlYXR1cmVzKGxpYnhsX19nYyAqZ2MsIHVpbnQz Ml90IGRvbWlkLAogICAgIGlmIChsaWJ4bF9iaXRtYXBfdGVzdCgmZW5saWdodGVubWVudHMsIExJ QlhMX1ZJUklESUFOX0VOTElHSFRFTk1FTlRfQVBJQ19BU1NJU1QpKQogICAgICAgICBtYXNrIHw9 IEhWTVBWX2FwaWNfYXNzaXN0OwogCisgICAgaWYgKGxpYnhsX2JpdG1hcF90ZXN0KCZlbmxpZ2h0 ZW5tZW50cywgTElCWExfVklSSURJQU5fRU5MSUdIVEVOTUVOVF9DUkFTSF9DVEwpKQorICAgICAg ICBtYXNrIHw9IEhWTVBWX2NyYXNoX2N0bDsKKwogICAgIGlmIChtYXNrICE9IDAgJiYKICAgICAg ICAgeGNfaHZtX3BhcmFtX3NldChDVFgtPnhjaCwKICAgICAgICAgICAgICAgICAgICAgICAgICBk b21pZCwKZGlmZiAtLWdpdCBhL3Rvb2xzL2xpYnhsL2xpYnhsX3R5cGVzLmlkbCBiL3Rvb2xzL2xp YnhsL2xpYnhsX3R5cGVzLmlkbAppbmRleCAyNDc1YTRkLi42OWU3ODlhIDEwMDY0NAotLS0gYS90 b29scy9saWJ4bC9saWJ4bF90eXBlcy5pZGwKKysrIGIvdG9vbHMvbGlieGwvbGlieGxfdHlwZXMu aWRsCkBAIC0yMjQsNiArMjI0LDcgQEAgbGlieGxfdmlyaWRpYW5fZW5saWdodGVubWVudCA9IEVu dW1lcmF0aW9uKCJ2aXJpZGlhbl9lbmxpZ2h0ZW5tZW50IiwgWwogICAgICgzLCAicmVmZXJlbmNl X3RzYyIpLAogICAgICg0LCAiaGNhbGxfcmVtb3RlX3RsYl9mbHVzaCIpLAogICAgICg1LCAiYXBp Y19hc3Npc3QiKSwKKyAgICAoNiwgImNyYXNoX2N0bCIpLAogICAgIF0pCiAKIGxpYnhsX2hkdHlw ZSA9IEVudW1lcmF0aW9uKCJoZHR5cGUiLCBbCmRpZmYgLS1naXQgYS94ZW4vYXJjaC94ODYvaHZt L3ZpcmlkaWFuLmMgYi94ZW4vYXJjaC94ODYvaHZtL3ZpcmlkaWFuLmMKaW5kZXggNGM2NWRkYy4u OTg2ZmRlNSAxMDA2NDQKLS0tIGEveGVuL2FyY2gveDg2L2h2bS92aXJpZGlhbi5jCisrKyBiL3hl bi9hcmNoL3g4Ni9odm0vdmlyaWRpYW4uYwpAQCAtMTU0LDYgKzE1NCwxOSBAQCB0eXBlZGVmIHN0 cnVjdCB7CiAgICAgdWludDY0X3QgUmVzZXJ2ZWQ4OjEwOwogfSBIVl9QQVJUSVRJT05fUFJJVklM RUdFX01BU0s7CiAKK3R5cGVkZWYgdW5pb24gX0hWX0NSQVNIX0NUTF9SRUdfQ09OVEVOVFMKK3sK KyAgICB1aW50NjRfdCBBc1VJTlQ2NDsKKyAgICBzdHJ1Y3QKKyAgICB7CisgICAgICAgIHVpbnQ2 NF90IFJlc2VydmVkOjYzOworICAgICAgICB1aW50NjRfdCBDcmFzaE5vdGlmeToxOworICAgIH0g dTsKK30gSFZfQ1JBU0hfQ1RMX1JFR19DT05URU5UUzsKKworLyogVmlyaWRpYW4gQ1BVSUQgbGVh ZiAzLCBIeXBlcnZpc29yIEZlYXR1cmUgSW5kaWNhdGlvbiAqLworI2RlZmluZSBDUFVJRDNEX0NS QVNIX01TUlMgKDEgPDwgMTApCisKIC8qIFZpcmlkaWFuIENQVUlEIGxlYWYgNDogSW1wbGVtZW50 YXRpb24gUmVjb21tZW5kYXRpb25zLiAqLwogI2RlZmluZSBDUFVJRDRBX0hDQUxMX1JFTU9URV9U TEJfRkxVU0ggKDEgPDwgMikKICNkZWZpbmUgQ1BVSUQ0QV9NU1JfQkFTRURfQVBJQyAgICAgICAg ICgxIDw8IDMpCkBAIC0yNDYsNiArMjU5LDEwIEBAIHZvaWQgY3B1aWRfdmlyaWRpYW5fbGVhdmVz KGNvbnN0IHN0cnVjdCB2Y3B1ICp2LCB1aW50MzJfdCBsZWFmLAogCiAgICAgICAgIHJlcy0+YSA9 IHUubG87CiAgICAgICAgIHJlcy0+YiA9IHUuaGk7CisKKyAgICAgICAgaWYgKCB2aXJpZGlhbl9m ZWF0dXJlX21hc2soZCkgJiBIVk1QVl9jcmFzaF9jdGwgKQorICAgICAgICAgICAgcmVzLT5kID0g Q1BVSUQzRF9DUkFTSF9NU1JTOworCiAgICAgICAgIGJyZWFrOwogICAgIH0KIApAQCAtNjA5LDYg KzYyNiwzNiBAQCBpbnQgd3Jtc3JfdmlyaWRpYW5fcmVncyh1aW50MzJfdCBpZHgsIHVpbnQ2NF90 IHZhbCkKICAgICAgICAgICAgIHVwZGF0ZV9yZWZlcmVuY2VfdHNjKGQsIDEpOwogICAgICAgICBi cmVhazsKIAorICAgIGNhc2UgSFZfWDY0X01TUl9DUkFTSF9QMDoKKyAgICBjYXNlIEhWX1g2NF9N U1JfQ1JBU0hfUDE6CisgICAgY2FzZSBIVl9YNjRfTVNSX0NSQVNIX1AyOgorICAgIGNhc2UgSFZf WDY0X01TUl9DUkFTSF9QMzoKKyAgICBjYXNlIEhWX1g2NF9NU1JfQ1JBU0hfUDQ6CisgICAgICAg IEJVSUxEX0JVR19PTihIVl9YNjRfTVNSX0NSQVNIX1A0IC0gSFZfWDY0X01TUl9DUkFTSF9QMCA+ PQorICAgICAgICAgICAgICAgICAgICAgQVJSQVlfU0laRSh2LT5hcmNoLmh2bV92Y3B1LnZpcmlk aWFuLmNyYXNoX3BhcmFtKSk7CisKKyAgICAgICAgaWR4IC09IEhWX1g2NF9NU1JfQ1JBU0hfUDA7 CisgICAgICAgIHYtPmFyY2guaHZtX3ZjcHUudmlyaWRpYW4uY3Jhc2hfcGFyYW1baWR4XSA9IHZh bDsKKyAgICAgICAgYnJlYWs7CisKKyAgICBjYXNlIEhWX1g2NF9NU1JfQ1JBU0hfQ1RMOgorICAg IHsKKyAgICAgICAgSFZfQ1JBU0hfQ1RMX1JFR19DT05URU5UUyBjdGw7CisKKyAgICAgICAgY3Rs LkFzVUlOVDY0ID0gdmFsOworCisgICAgICAgIGlmICggIWN0bC51LkNyYXNoTm90aWZ5ICkKKyAg ICAgICAgICAgIGJyZWFrOworCisgICAgICAgIGdwcmludGsoWEVOTE9HX1dBUk5JTkcsICJWSVJJ RElBTiBDUkFTSDogJWx4ICVseCAlbHggJWx4ICVseFxuIiwKKyAgICAgICAgICAgICAgICB2LT5h cmNoLmh2bV92Y3B1LnZpcmlkaWFuLmNyYXNoX3BhcmFtWzBdLAorICAgICAgICAgICAgICAgIHYt PmFyY2guaHZtX3ZjcHUudmlyaWRpYW4uY3Jhc2hfcGFyYW1bMV0sCisgICAgICAgICAgICAgICAg di0+YXJjaC5odm1fdmNwdS52aXJpZGlhbi5jcmFzaF9wYXJhbVsyXSwKKyAgICAgICAgICAgICAg ICB2LT5hcmNoLmh2bV92Y3B1LnZpcmlkaWFuLmNyYXNoX3BhcmFtWzNdLAorICAgICAgICAgICAg ICAgIHYtPmFyY2guaHZtX3ZjcHUudmlyaWRpYW4uY3Jhc2hfcGFyYW1bNF0pOworICAgICAgICBi cmVhazsKKyAgICB9CisKICAgICBkZWZhdWx0OgogICAgICAgICBpZiAoIGlkeCA+PSBWSVJJRElB Tl9NU1JfTUlOICYmIGlkeCA8PSBWSVJJRElBTl9NU1JfTUFYICkKICAgICAgICAgICAgIGdwcmlu dGsoWEVOTE9HX1dBUk5JTkcsICJ3cml0ZSB0byB1bmltcGxlbWVudGVkIE1TUiAlI3hcbiIsCkBA IC03MzYsNiArNzgzLDI4IEBAIGludCByZG1zcl92aXJpZGlhbl9yZWdzKHVpbnQzMl90IGlkeCwg dWludDY0X3QgKnZhbCkKICAgICAgICAgYnJlYWs7CiAgICAgfQogCisgICAgY2FzZSBIVl9YNjRf TVNSX0NSQVNIX1AwOgorICAgIGNhc2UgSFZfWDY0X01TUl9DUkFTSF9QMToKKyAgICBjYXNlIEhW X1g2NF9NU1JfQ1JBU0hfUDI6CisgICAgY2FzZSBIVl9YNjRfTVNSX0NSQVNIX1AzOgorICAgIGNh c2UgSFZfWDY0X01TUl9DUkFTSF9QNDoKKyAgICAgICAgQlVJTERfQlVHX09OKEhWX1g2NF9NU1Jf Q1JBU0hfUDQgLSBIVl9YNjRfTVNSX0NSQVNIX1AwID49CisgICAgICAgICAgICAgICAgICAgICBB UlJBWV9TSVpFKHYtPmFyY2guaHZtX3ZjcHUudmlyaWRpYW4uY3Jhc2hfcGFyYW0pKTsKKworICAg ICAgICBpZHggLT0gSFZfWDY0X01TUl9DUkFTSF9QMDsKKyAgICAgICAgKnZhbCA9IHYtPmFyY2gu aHZtX3ZjcHUudmlyaWRpYW4uY3Jhc2hfcGFyYW1baWR4XTsKKyAgICAgICAgYnJlYWs7CisKKyAg ICBjYXNlIEhWX1g2NF9NU1JfQ1JBU0hfQ1RMOgorICAgIHsKKyAgICAgICAgSFZfQ1JBU0hfQ1RM X1JFR19DT05URU5UUyBjdGwgPSB7CisgICAgICAgICAgICAudS5DcmFzaE5vdGlmeSA9IDEsCisg ICAgICAgIH07CisKKyAgICAgICAgKnZhbCA9IGN0bC5Bc1VJTlQ2NDsKKyAgICAgICAgYnJlYWs7 CisgICAgfQorCiAgICAgZGVmYXVsdDoKICAgICAgICAgaWYgKCBpZHggPj0gVklSSURJQU5fTVNS X01JTiAmJiBpZHggPD0gVklSSURJQU5fTVNSX01BWCApCiAgICAgICAgICAgICBncHJpbnRrKFhF TkxPR19XQVJOSU5HLCAicmVhZCBmcm9tIHVuaW1wbGVtZW50ZWQgTVNSICUjeFxuIiwKZGlmZiAt LWdpdCBhL3hlbi9pbmNsdWRlL2FzbS14ODYvaHZtL3ZpcmlkaWFuLmggYi94ZW4vaW5jbHVkZS9h c20teDg2L2h2bS92aXJpZGlhbi5oCmluZGV4IDI3MWMzNmQuLjMwMjU5ZTkgMTAwNjQ0Ci0tLSBh L3hlbi9pbmNsdWRlL2FzbS14ODYvaHZtL3ZpcmlkaWFuLmgKKysrIGIveGVuL2luY2x1ZGUvYXNt LXg4Ni9odm0vdmlyaWRpYW4uaApAQCAtMjYsNiArMjYsNyBAQCBzdHJ1Y3QgdmlyaWRpYW5fdmNw dQogICAgICAgICB2b2lkICp2YTsKICAgICAgICAgaW50IHZlY3RvcjsKICAgICB9IHZwX2Fzc2lz dDsKKyAgICB1aW50NjRfdCBjcmFzaF9wYXJhbVs1XTsKIH07CiAKIHVuaW9uIHZpcmlkaWFuX2d1 ZXN0X29zX2lkCmRpZmYgLS1naXQgYS94ZW4vaW5jbHVkZS9wdWJsaWMvaHZtL3BhcmFtcy5oIGIv eGVuL2luY2x1ZGUvcHVibGljL2h2bS9wYXJhbXMuaAppbmRleCA1OGM4NDc4Li4xOWM5ZWI4IDEw MDY0NAotLS0gYS94ZW4vaW5jbHVkZS9wdWJsaWMvaHZtL3BhcmFtcy5oCisrKyBiL3hlbi9pbmNs dWRlL3B1YmxpYy9odm0vcGFyYW1zLmgKQEAgLTEzNSwxMyArMTM1LDE4IEBACiAjZGVmaW5lIF9I Vk1QVl9hcGljX2Fzc2lzdCA1CiAjZGVmaW5lIEhWTVBWX2FwaWNfYXNzaXN0ICgxIDw8IF9IVk1Q Vl9hcGljX2Fzc2lzdCkKIAorLyogRW5hYmxlIGNyYXNoIE1TUnMgKi8KKyNkZWZpbmUgX0hWTVBW X2NyYXNoX2N0bCA2CisjZGVmaW5lIEhWTVBWX2NyYXNoX2N0bCAoMSA8PCBfSFZNUFZfY3Jhc2hf Y3RsKQorCiAjZGVmaW5lIEhWTVBWX2ZlYXR1cmVfbWFzayBcCiAgICAgICAgIChIVk1QVl9iYXNl X2ZyZXEgfCBcCiAgICAgICAgICBIVk1QVl9ub19mcmVxIHwgXAogICAgICAgICAgSFZNUFZfdGlt ZV9yZWZfY291bnQgfCBcCiAgICAgICAgICBIVk1QVl9yZWZlcmVuY2VfdHNjIHwgXAogICAgICAg ICAgSFZNUFZfaGNhbGxfcmVtb3RlX3RsYl9mbHVzaCB8IFwKLSAgICAgICAgIEhWTVBWX2FwaWNf YXNzaXN0KQorICAgICAgICAgSFZNUFZfYXBpY19hc3Npc3QgfCBcCisgICAgICAgICBIVk1QVl9j cmFzaF9jdGwpCiAKICNlbmRpZgogCi0tIAoyLjEuNAoKCl9fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fClhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVs QGxpc3RzLnhlbi5vcmcKaHR0cHM6Ly9saXN0cy54ZW4ub3JnL3hlbi1kZXZlbAo=