From mboxrd@z Thu Jan 1 00:00:00 1970 From: He Chen Subject: [PATCH v5] xen/sm{e, a}p: allow disabling sm{e, a}p for Xen itself Date: Fri, 2 Sep 2016 16:20:16 +0800 Message-ID: <1472804416-10877-1-git-send-email-he.chen@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail6.bemta5.messagelabs.com ([195.245.231.135]) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1bfjiV-0005Xw-8f for xen-devel@lists.xenproject.org; Fri, 02 Sep 2016 08:20:51 +0000 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 , Feng Wu , Jan Beulich List-Id: xen-devel@lists.xenproject.org U01FUC9TTUFQIGlzIGEgc2VjdXJpdHkgZmVhdHVyZSB0byBwcmV2ZW50IGtlcm5lbCBleGVjdXRp bmcvYWNjZXNzaW5nCnVzZXIgYWRkcmVzcyBpbnZvbHVudGFyaWx5LCBhbnkgc3VjaCBiZWhhdmlv ciB3aWxsIGxlYWQgdG8gYSBwYWdlIGZhdWx0LgoKU01FUC9TTUFQIGlzIG9wZW4gKGluIENSNCkg Zm9yIGJvdGggWGVuIGFuZCBIVk0gZ3Vlc3QgaW4gZWFybGllciBjb2RlLgpTTUVQL1NNQVAgYml0 IHNldCBpbiBYZW4gQ1I0IHdvdWxkIGVuZm9yY2Ugc2VjdXJpdHkgY2hlY2tpbmcgZm9yIDMyLWJp dApQViBndWVzdCB3aGljaCB3aWxsIHN1ZmZlciB1bmtub3duIFNNRVAvU01BUCBwYWdlIGZhdWx0 IHdoZW4gZ3Vlc3QKa2VybmVsIGF0dGVtcHQgdG8gYWNjZXNzIHVzZXIgYWRkcmVzcyBhbHRob3Vn aCBTTUVQL1NNQVAgaXMgY2xvc2UgZm9yClBWIGd1ZXN0cy4KClRoaXMgcGF0Y2ggaW50cm9kdWNl cyBhIG5ldyBib290IG9wdGlvbiB2YWx1ZSAiaHZtIiBmb3IgInNte2UsYX1wIiwgaXQKaXMgZ29p bmcgdG8gZGlhYmxlIFNNRVAvU01BUCBmb3IgWGVuIGh5cGVydmlzb3Igd2hpbGUgZW5hYmxlIHRo ZW0gZm9yCkhWTS4gSW4gdGhpcyB3YXksIDMyLWJpdCBQViBndWVzdCB3aWxsIG5vdCBzdWZmZXIg U01FUC9TTUFQIHNlY3VyaXR5Cmlzc3VlLiBVc2VycyBjYW4gY2hvb3NlIHdoZXRoZXIgb3BlbiBT TUVQL1NNQVAgZm9yIFhlbiBpdHNlbGYsCmVzcGVjaWFsbHkgd2hlbiB0aGV5IGFyZSBnb2luZyB0 byBydW4gMzItYml0IFBWIGd1ZXN0cy4KClNpZ25lZC1vZmYtYnk6IEhlIENoZW4gPGhlLmNoZW5A bGludXguaW50ZWwuY29tPgoKLS0tCkNoYW5nZXMgaW4gdjU6CiogcmVmaW5lIHNte2UsYX1wIHBh cmFtZXRlcnMgcGFyc2VyIGZsb3cuCiogcmVwbGFjZSBjcHVfaGFzX3Nte2UsYX1wIHdpdGggYm9v dF9jcHVfaGFzKFg4Nl9GRUFUVVJFX1hFTl9TTXtFLEF9UCkuCiogcmVmaW5lIGRvY3MuCgpDaGFu Z2VzIGluIHY0OgoqIGludHJvZHVjZSAyIG5ldyBzeW50aGV0aWMgZmVhdHVyZXMgWDg2X0ZFQVRV UkVfWEVOX1NNRVAgYW5kCiAgWDg2X0ZFQVRVUkVfWEVOX1NNQVAgZm9yIFhlbiBpdHNlbGYuCiog YWRqdXN0IFNNe0UsQX1QIHJlbGF0ZWQgaW5zdHJ1Y3Rpb24gcGF0Y2hpbmcgY29kZS4KKiBjb21t aXQgbWVzc2FnZSByZWZpbmVtZW50LgoKQ2hhbmdlcyBpbiB2MzoKKiBmaXggYm9vdCBvcHRpb25z LgoqIGZpeCBDUjQgJiBtbXVfY3I0X2ZlYXR1cmVzIG9wZXJhdGlvbnMuCiogZGlzYWJsZSBTTUVQ L1NNQVAgZm9yIERvbTAuCiogY29tbWl0IG1lc3NhZ2UgcmVmaW5lbWVudC4KCkNoYW5nZXMgaW4g djI6CiogYWxsb3cgImh2bSIgYXMgYSB2YWx1ZSB0byAic21lcCIgYW5kICJzbWFwIiBjb21tYW5k IGxpbmUgb3B0aW9ucy4KKiBjbGVhciBTTUVQL1NNQVAgQ1BVSUQgYml0cyBmb3IgcHYgZ3Vlc3Rz IGlmIHRoZXkgYXJlIHNldCB0byBodm0gb25seS4KKiByZWZpbmUgZG9jcy4KKiByZXdyaXRlIGNv bW1pdCBtZXNzYWdlLgotLS0KIGRvY3MvbWlzYy94ZW4tY29tbWFuZC1saW5lLm1hcmtkb3duIHwg IDIgKysKIHhlbi9hcmNoL3g4Ni9zZXR1cC5jICAgICAgICAgICAgICAgIHwgNTQgKysrKysrKysr KysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLQogeGVuL2luY2x1ZGUvYXNtLXg4Ni9hc21fZGVm bnMuaCAgICAgfCAxMCArKystLS0tCiB4ZW4vaW5jbHVkZS9hc20teDg2L2NwdWZlYXR1cmUuaCAg ICB8ICA0ICstLQogNCBmaWxlcyBjaGFuZ2VkLCA1MSBpbnNlcnRpb25zKCspLCAxOSBkZWxldGlv bnMoLSkKCmRpZmYgLS1naXQgYS9kb2NzL21pc2MveGVuLWNvbW1hbmQtbGluZS5tYXJrZG93biBi L2RvY3MvbWlzYy94ZW4tY29tbWFuZC1saW5lLm1hcmtkb3duCmluZGV4IDNhMjUwY2IuLjAyMjU5 NzQgMTAwNjQ0Ci0tLSBhL2RvY3MvbWlzYy94ZW4tY29tbWFuZC1saW5lLm1hcmtkb3duCisrKyBi L2RvY3MvbWlzYy94ZW4tY29tbWFuZC1saW5lLm1hcmtkb3duCkBAIC0xNDMzLDYgKzE0MzMsNyBA QCBTZXQgdGhlIHNlcmlhbCB0cmFuc21pdCBidWZmZXIgc2l6ZS4KID4gRGVmYXVsdDogYHRydWVg CiAKIEZsYWcgdG8gZW5hYmxlIFN1cGVydmlzb3IgTW9kZSBFeGVjdXRpb24gUHJvdGVjdGlvbgor VXNlIGBzbWVwPWh2bWAgdG8gYWxsb3cgU01FUCB1c2UgYnkgSFZNIGd1ZXN0cyBvbmx5LgogCiAj IyMgc21hcAogPiBgPSA8Ym9vbGVhbj5gCkBAIC0xNDQwLDYgKzE0NDEsNyBAQCBGbGFnIHRvIGVu YWJsZSBTdXBlcnZpc29yIE1vZGUgRXhlY3V0aW9uIFByb3RlY3Rpb24KID4gRGVmYXVsdDogYHRy dWVgCiAKIEZsYWcgdG8gZW5hYmxlIFN1cGVydmlzb3IgTW9kZSBBY2Nlc3MgUHJldmVudGlvbgor VXNlIGBzbWFwPWh2bWAgdG8gYWxsb3cgU01BUCB1c2UgYnkgSFZNIGd1ZXN0cyBvbmx5LgogCiAj IyMgc25iXF9pZ2RcX3F1aXJrCiA+IGA9IDxib29sZWFuPiB8IGNhcCB8IDxpbnRlZ2VyPmAKZGlm ZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni9zZXR1cC5jIGIveGVuL2FyY2gveDg2L3NldHVwLmMKaW5k ZXggMjE3Yzc3NS4uNTI1NmU5OSAxMDA2NDQKLS0tIGEveGVuL2FyY2gveDg2L3NldHVwLmMKKysr IGIveGVuL2FyY2gveDg2L3NldHVwLmMKQEAgLTYxLDE0ICs2MSw2IEBAIGJvb2xlYW5fcGFyYW0o Im5vc21wIiwgb3B0X25vc21wKTsKIHN0YXRpYyB1bnNpZ25lZCBpbnQgX19pbml0ZGF0YSBtYXhf Y3B1czsKIGludGVnZXJfcGFyYW0oIm1heGNwdXMiLCBtYXhfY3B1cyk7CiAKLS8qIHNtZXA6IEVu YWJsZS9kaXNhYmxlIFN1cGVydmlzb3IgTW9kZSBFeGVjdXRpb24gUHJvdGVjdGlvbiAoZGVmYXVs dCBvbikuICovCi1zdGF0aWMgYm9vbF90IF9faW5pdGRhdGEgb3B0X3NtZXAgPSAxOwotYm9vbGVh bl9wYXJhbSgic21lcCIsIG9wdF9zbWVwKTsKLQotLyogc21hcDogRW5hYmxlL2Rpc2FibGUgU3Vw ZXJ2aXNvciBNb2RlIEFjY2VzcyBQcmV2ZW50aW9uIChkZWZhdWx0IG9uKS4gKi8KLXN0YXRpYyBi b29sX3QgX19pbml0ZGF0YSBvcHRfc21hcCA9IDE7Ci1ib29sZWFuX3BhcmFtKCJzbWFwIiwgb3B0 X3NtYXApOwotCiB1bnNpZ25lZCBsb25nIF9fcmVhZF9tb3N0bHkgY3I0X3B2MzJfbWFzazsKIAog LyogQm9vdCBkb20wIGluIHB2aCBtb2RlICovCkBAIC0xMTEsNiArMTAzLDQ0IEBAIHN0cnVjdCBj cHVpbmZvX3g4NiBfX3JlYWRfbW9zdGx5IGJvb3RfY3B1X2RhdGEgPSB7IDAsIDAsIDAsIDAsIC0x IH07CiAKIHVuc2lnbmVkIGxvbmcgX19yZWFkX21vc3RseSBtbXVfY3I0X2ZlYXR1cmVzID0gWEVO X01JTklNQUxfQ1I0OwogCisvKiBzbWVwOiBFbmFibGUvZGlzYWJsZSBTdXBlcnZpc29yIE1vZGUg RXhlY3V0aW9uIFByb3RlY3Rpb24gKGRlZmF1bHQgb24pLiAqLworI2RlZmluZSBTTUVQX0hWTV9P TkxZICgtMSkKK3N0YXRpYyBzOCBfX2luaXRkYXRhIG9wdF9zbWVwID0gMTsKK3N0YXRpYyB2b2lk IF9faW5pdCBwYXJzZV9zbWVwX3BhcmFtKGNoYXIgKnMpCit7CisgICAgaWYgKCAhcGFyc2VfYm9v bChzKSApCisgICAgeworICAgICAgICBvcHRfc21lcCA9IDA7CisgICAgfQorICAgIGVsc2UgaWYg KCAhc3RyY21wKHMsICJodm0iKSApCisgICAgeworICAgICAgICBvcHRfc21lcCA9IFNNRVBfSFZN X09OTFk7CisgICAgfQorCisgICAgaWYgKCBvcHRfc21lcCA9PSAxICkKKyAgICAgICAgX19zZXRf Yml0KFg4Nl9GRUFUVVJFX1hFTl9TTUVQLCBib290X2NwdV9kYXRhLng4Nl9jYXBhYmlsaXR5KTsK K30KK2N1c3RvbV9wYXJhbSgic21lcCIsIHBhcnNlX3NtZXBfcGFyYW0pOworCisvKiBzbWFwOiBF bmFibGUvZGlzYWJsZSBTdXBlcnZpc29yIE1vZGUgQWNjZXNzIFByZXZlbnRpb24gKGRlZmF1bHQg b24pLiAqLworI2RlZmluZSBTTUFQX0hWTV9PTkxZICgtMSkKK3N0YXRpYyBzOCBfX2luaXRkYXRh IG9wdF9zbWFwID0gMTsKK3N0YXRpYyB2b2lkIF9faW5pdCBwYXJzZV9zbWFwX3BhcmFtKGNoYXIg KnMpCit7CisgICAgaWYgKCAhcGFyc2VfYm9vbChzKSApCisgICAgeworICAgICAgICBvcHRfc21h cCA9IDA7CisgICAgfQorICAgIGVsc2UgaWYgKCAhc3RyY21wKHMsICJodm0iKSApCisgICAgewor ICAgICAgICBvcHRfc21hcCA9IFNNQVBfSFZNX09OTFk7CisgICAgfQorCisgICAgaWYgKCBvcHRf c21hcCA9PSAxICkKKyAgICAgICAgX19zZXRfYml0KFg4Nl9GRUFUVVJFX1hFTl9TTUFQLCBib290 X2NwdV9kYXRhLng4Nl9jYXBhYmlsaXR5KTsKK30KK2N1c3RvbV9wYXJhbSgic21hcCIsIHBhcnNl X3NtYXBfcGFyYW0pOworCiBib29sX3QgX19yZWFkX21vc3RseSBhY3BpX2Rpc2FibGVkOwogYm9v bF90IF9faW5pdGRhdGEgYWNwaV9mb3JjZTsKIHN0YXRpYyBjaGFyIF9faW5pdGRhdGEgYWNwaV9w YXJhbVsxMF0gPSAiIjsKQEAgLTE0MDMsMTIgKzE0MzMsMTIgQEAgdm9pZCBfX2luaXQgbm9yZXR1 cm4gX19zdGFydF94ZW4odW5zaWduZWQgbG9uZyBtYmlfcCkKIAogICAgIGlmICggIW9wdF9zbWVw ICkKICAgICAgICAgc2V0dXBfY2xlYXJfY3B1X2NhcChYODZfRkVBVFVSRV9TTUVQKTsKLSAgICBp ZiAoIGNwdV9oYXNfc21lcCApCisgICAgaWYgKCBib290X2NwdV9oYXMoWDg2X0ZFQVRVUkVfWEVO X1NNRVApICkKICAgICAgICAgc2V0X2luX2NyNChYODZfQ1I0X1NNRVApOwogCiAgICAgaWYgKCAh b3B0X3NtYXAgKQogICAgICAgICBzZXR1cF9jbGVhcl9jcHVfY2FwKFg4Nl9GRUFUVVJFX1NNQVAp OwotICAgIGlmICggY3B1X2hhc19zbWFwICkKKyAgICBpZiAoIGJvb3RfY3B1X2hhcyhYODZfRkVB VFVSRV9YRU5fU01BUCkgKQogICAgICAgICBzZXRfaW5fY3I0KFg4Nl9DUjRfU01BUCk7CiAKICAg ICBjcjRfcHYzMl9tYXNrID0gbW11X2NyNF9mZWF0dXJlcyAmIFhFTl9DUjRfUFYzMl9CSVRTOwpA QCAtMTU1MCw3ICsxNTgwLDcgQEAgdm9pZCBfX2luaXQgbm9yZXR1cm4gX19zdGFydF94ZW4odW5z aWduZWQgbG9uZyBtYmlfcCkKICAgICAgKiBUaGlzIHNhdmVzIGEgbGFyZ2UgbnVtYmVyIG9mIGNv cm5lciBjYXNlcyBpbnRlcmFjdGlvbnMgd2l0aAogICAgICAqIGNvcHlfZnJvbV91c2VyKCkuCiAg ICAgICovCi0gICAgaWYgKCBjcHVfaGFzX3NtYXAgKQorICAgIGlmICggYm9vdF9jcHVfaGFzKFg4 Nl9GRUFUVVJFX1hFTl9TTUFQKSApCiAgICAgewogICAgICAgICBjcjRfcHYzMl9tYXNrICY9IH5Y ODZfQ1I0X1NNQVA7CiAgICAgICAgIHdyaXRlX2NyNChyZWFkX2NyNCgpICYgflg4Nl9DUjRfU01B UCk7CkBAIC0xNTcwLDcgKzE2MDAsNyBAQCB2b2lkIF9faW5pdCBub3JldHVybiBfX3N0YXJ0X3hl bih1bnNpZ25lZCBsb25nIG1iaV9wKQogICAgICAgICAgICAgICAgICAgICAgICAgYm9vdHN0cmFw X21hcCwgY21kbGluZSkgIT0gMCkKICAgICAgICAgcGFuaWMoIkNvdWxkIG5vdCBzZXQgdXAgRE9N MCBndWVzdCBPUyIpOwogCi0gICAgaWYgKCBjcHVfaGFzX3NtYXAgKQorICAgIGlmICggYm9vdF9j cHVfaGFzKFg4Nl9GRUFUVVJFX1hFTl9TTUFQKSApCiAgICAgewogICAgICAgICB3cml0ZV9jcjQo cmVhZF9jcjQoKSB8IFg4Nl9DUjRfU01BUCk7CiAgICAgICAgIGNyNF9wdjMyX21hc2sgfD0gWDg2 X0NSNF9TTUFQOwpkaWZmIC0tZ2l0IGEveGVuL2luY2x1ZGUvYXNtLXg4Ni9hc21fZGVmbnMuaCBi L3hlbi9pbmNsdWRlL2FzbS14ODYvYXNtX2RlZm5zLmgKaW5kZXggZTM2ZTc4Zi4uZjFjNmZhMSAx MDA2NDQKLS0tIGEveGVuL2luY2x1ZGUvYXNtLXg4Ni9hc21fZGVmbnMuaAorKysgYi94ZW4vaW5j bHVkZS9hc20teDg2L2FzbV9kZWZucy5oCkBAIC0yMDUsNyArMjA1LDcgQEAgdm9pZCByZXRfZnJv bV9pbnRyKHZvaWQpOwogICAgICAgICAucG9wc2VjdGlvbjsgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCiAgICAgICAgIC5wdXNoc2VjdGlvbiAuYWx0 aW5zdHJ1Y3Rpb25zLCAiYSI7ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKICAgICAgICAg YWx0aW5zdHJ1Y3Rpb25fZW50cnkgNjYxYiwgNjYxYiwgWDg2X0ZFQVRVUkVfQUxXQVlTLCAzLCAw OyAgICAgXAotICAgICAgICBhbHRpbnN0cnVjdGlvbl9lbnRyeSA2NjFiLCA2NjJiLCBYODZfRkVB VFVSRV9TTUFQLCAzLCAzOyAgICAgICBcCisgICAgICAgIGFsdGluc3RydWN0aW9uX2VudHJ5IDY2 MWIsIDY2MmIsIFg4Nl9GRUFUVVJFX1hFTl9TTUFQLCAzLCAzOyAgICAgICBcCiAgICAgICAgIC5w b3BzZWN0aW9uCiAKICNkZWZpbmUgQVNNX1NUQUMgQVNNX0FDKFNUQUMpCkBAIC0yMTcsMjEgKzIx NywyMSBAQCB2b2lkIHJldF9mcm9tX2ludHIodm9pZCk7CiAgICAgICAgIDY2ODogY2FsbCBjcjRf cHYzMl9yZXN0b3JlOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAogICAgICAgICAu c2VjdGlvbiAuYWx0aW5zdHJ1Y3Rpb25zLCAiYSI7ICAgICAgICAgICAgICAgICAgICAgICAgICAg IFwKICAgICAgICAgYWx0aW5zdHJ1Y3Rpb25fZW50cnkgNjY3YiwgNjY3YiwgWDg2X0ZFQVRVUkVf QUxXQVlTLCA1LCAwOyBcCi0gICAgICAgIGFsdGluc3RydWN0aW9uX2VudHJ5IDY2N2IsIDY2OGIs IFg4Nl9GRUFUVVJFX1NNRVAsIDUsIDU7ICAgXAotICAgICAgICBhbHRpbnN0cnVjdGlvbl9lbnRy eSA2NjdiLCA2NjhiLCBYODZfRkVBVFVSRV9TTUFQLCA1LCA1OyAgIFwKKyAgICAgICAgYWx0aW5z dHJ1Y3Rpb25fZW50cnkgNjY3YiwgNjY4YiwgWDg2X0ZFQVRVUkVfWEVOX1NNRVAsIDUsIDU7ICAg XAorICAgICAgICBhbHRpbnN0cnVjdGlvbl9lbnRyeSA2NjdiLCA2NjhiLCBYODZfRkVBVFVSRV9Y RU5fU01BUCwgNSwgNTsgICBcCiAgICAgICAgIC5wb3BzZWN0aW9uCiAKICNlbHNlCiBzdGF0aWMg YWx3YXlzX2lubGluZSB2b2lkIGNsYWModm9pZCkKIHsKICAgICAvKiBOb3RlOiBhIGJhcnJpZXIg aXMgaW1wbGljaXQgaW4gYWx0ZXJuYXRpdmUoKSAqLwotICAgIGFsdGVybmF0aXZlKEFTTV9OT1Az LCBfX3N0cmluZ2lmeShfX0FTTV9DTEFDKSwgWDg2X0ZFQVRVUkVfU01BUCk7CisgICAgYWx0ZXJu YXRpdmUoQVNNX05PUDMsIF9fc3RyaW5naWZ5KF9fQVNNX0NMQUMpLCBYODZfRkVBVFVSRV9YRU5f U01BUCk7CiB9CiAKIHN0YXRpYyBhbHdheXNfaW5saW5lIHZvaWQgc3RhYyh2b2lkKQogewogICAg IC8qIE5vdGU6IGEgYmFycmllciBpcyBpbXBsaWNpdCBpbiBhbHRlcm5hdGl2ZSgpICovCi0gICAg YWx0ZXJuYXRpdmUoQVNNX05PUDMsIF9fc3RyaW5naWZ5KF9fQVNNX1NUQUMpLCBYODZfRkVBVFVS RV9TTUFQKTsKKyAgICBhbHRlcm5hdGl2ZShBU01fTk9QMywgX19zdHJpbmdpZnkoX19BU01fU1RB QyksIFg4Nl9GRUFUVVJFX1hFTl9TTUFQKTsKIH0KICNlbmRpZgogCmRpZmYgLS1naXQgYS94ZW4v aW5jbHVkZS9hc20teDg2L2NwdWZlYXR1cmUuaCBiL3hlbi9pbmNsdWRlL2FzbS14ODYvY3B1ZmVh dHVyZS5oCmluZGV4IGJjZGY1ZDYuLjBmNjgxMGEgMTAwNjQ0Ci0tLSBhL3hlbi9pbmNsdWRlL2Fz bS14ODYvY3B1ZmVhdHVyZS5oCisrKyBiL3hlbi9pbmNsdWRlL2FzbS14ODYvY3B1ZmVhdHVyZS5o CkBAIC0xNyw2ICsxNyw4IEBAIFhFTl9DUFVGRUFUVVJFKENQVUlEX0ZBVUxUSU5HLCAgKEZTQ0FQ SU5UUyswKSozMisgNikgLyogY3B1aWQgZmF1bHRpbmcgKi8KIFhFTl9DUFVGRUFUVVJFKENMRkxV U0hfTU9OSVRPUiwgKEZTQ0FQSU5UUyswKSozMisgNykgLyogY2xmbHVzaCByZXFkIHdpdGggbW9u aXRvciAqLwogWEVOX0NQVUZFQVRVUkUoQVBFUkZNUEVSRiwgICAgICAoRlNDQVBJTlRTKzApKjMy KyA4KSAvKiBBUEVSRk1QRVJGICovCiBYRU5fQ1BVRkVBVFVSRShNRkVOQ0VfUkRUU0MsICAgIChG U0NBUElOVFMrMCkqMzIrIDkpIC8qIE1GRU5DRSBzeW5jaHJvbml6ZXMgUkRUU0MgKi8KK1hFTl9D UFVGRUFUVVJFKFhFTl9TTUVQLCAgICAgICAgKEZTQ0FQSU5UUyswKSozMisgMTApIC8qIFNNRVAg Z2V0cyB1c2VkIGJ5IFhlbiBpdHNlbGYgKi8KK1hFTl9DUFVGRUFUVVJFKFhFTl9TTUFQLCAgICAg ICAgKEZTQ0FQSU5UUyswKSozMisgMTEpIC8qIFNNQVAgZ2V0cyB1c2VkIGJ5IFhlbiBpdHNlbGYg Ki8KIAogI2RlZmluZSBOQ0FQSU5UUyAoRlNDQVBJTlRTICsgMSkgLyogTiAzMi1iaXQgd29yZHMg d29ydGggb2YgaW5mbyAqLwogCkBAIC02Niw4ICs2OCw2IEBAIFhFTl9DUFVGRUFUVVJFKE1GRU5D RV9SRFRTQywgICAgKEZTQ0FQSU5UUyswKSozMisgOSkgLyogTUZFTkNFIHN5bmNocm9uaXplcyBS RFRTCiAjZGVmaW5lIGNwdV9oYXNfcGFnZTFnYgkJYm9vdF9jcHVfaGFzKFg4Nl9GRUFUVVJFX1BB R0UxR0IpCiAjZGVmaW5lIGNwdV9oYXNfZnNnc2Jhc2UJYm9vdF9jcHVfaGFzKFg4Nl9GRUFUVVJF X0ZTR1NCQVNFKQogI2RlZmluZSBjcHVfaGFzX2FwZXJmbXBlcmYJYm9vdF9jcHVfaGFzKFg4Nl9G RUFUVVJFX0FQRVJGTVBFUkYpCi0jZGVmaW5lIGNwdV9oYXNfc21lcCAgICAgICAgICAgIGJvb3Rf Y3B1X2hhcyhYODZfRkVBVFVSRV9TTUVQKQotI2RlZmluZSBjcHVfaGFzX3NtYXAgICAgICAgICAg ICBib290X2NwdV9oYXMoWDg2X0ZFQVRVUkVfU01BUCkKICNkZWZpbmUgY3B1X2hhc19mcHVfc2Vs ICAgICAgICAgKCFib290X2NwdV9oYXMoWDg2X0ZFQVRVUkVfTk9fRlBVX1NFTCkpCiAjZGVmaW5l IGNwdV9oYXNfZmZ4c3IgICAgICAgICAgICgoYm9vdF9jcHVfZGF0YS54ODZfdmVuZG9yID09IFg4 Nl9WRU5ET1JfQU1EKSBcCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmJiBib290 X2NwdV9oYXMoWDg2X0ZFQVRVUkVfRkZYU1IpKQotLSAKMS45LjEKCgpfX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhl bi1kZXZlbEBsaXN0cy54ZW4ub3JnCmh0dHBzOi8vbGlzdHMueGVuLm9yZy94ZW4tZGV2ZWwK