From mboxrd@z Thu Jan 1 00:00:00 1970 From: He Chen Subject: [PATCH v7] xen/sm{e, a}p: allow disabling sm{e, a}p for Xen itself Date: Sun, 9 Oct 2016 16:20:48 +0800 Message-ID: <1476001248-14277-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 1bt9Mp-0000qf-FP for xen-devel@lists.xenproject.org; Sun, 09 Oct 2016 08:21:55 +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 , Paul Lai , Feng Wu , Jan Beulich , He Chao List-Id: xen-devel@lists.xenproject.org RnJvbTogSGUgQ2hhbyA8aGUuY2hlbkBsaW51eC5pbnRlbC5jb20+CgpTTUVQL1NNQVAgaXMgYSBz ZWN1cml0eSBmZWF0dXJlIHRvIHByZXZlbnQga2VybmVsIGV4ZWN1dGluZy9hY2Nlc3NpbmcKdXNl ciBhZGRyZXNzIGludm9sdW50YXJpbHksIGFueSBzdWNoIGJlaGF2aW9yIHdpbGwgbGVhZCB0byBh IHBhZ2UgZmF1bHQuCgpTTUVQL1NNQVAgaXMgb3BlbiAoaW4gQ1I0KSBmb3IgYm90aCBYZW4gYW5k IEhWTSBndWVzdCBpbiBlYXJsaWVyIGNvZGUuClNNRVAvU01BUCBiaXQgc2V0IGluIFhlbiBDUjQg d291bGQgZW5mb3JjZSBzZWN1cml0eSBjaGVja2luZyBmb3IgMzItYml0ClBWIGd1ZXN0IHdoaWNo IHdpbGwgc3VmZmVyIHVua25vd24gU01FUC9TTUFQIHBhZ2UgZmF1bHQgd2hlbiBndWVzdAprZXJu ZWwgYXR0ZW1wdCB0byBhY2Nlc3MgdXNlciBhZGRyZXNzIGFsdGhvdWdoIFNNRVAvU01BUCBpcyBj bG9zZSBmb3IKUFYgZ3Vlc3RzLgoKVGhpcyBwYXRjaCBpbnRyb2R1Y2VzIGEgbmV3IGJvb3Qgb3B0 aW9uIHZhbHVlICJodm0iIGZvciAic217ZSxhfXAiLCBpdAppcyBnb2luZyB0byBkaWFibGUgU01F UC9TTUFQIGZvciBYZW4gaHlwZXJ2aXNvciB3aGlsZSBlbmFibGUgdGhlbSBmb3IKSFZNLiBJbiB0 aGlzIHdheSwgMzItYml0IFBWIGd1ZXN0IHdpbGwgbm90IHN1ZmZlciBTTUVQL1NNQVAgc2VjdXJp dHkKaXNzdWUuIFVzZXJzIGNhbiBjaG9vc2Ugd2hldGhlciBvcGVuIFNNRVAvU01BUCBmb3IgWGVu IGl0c2VsZiwKZXNwZWNpYWxseSB3aGVuIHRoZXkgYXJlIGdvaW5nIHRvIHJ1biAzMi1iaXQgUFYg Z3Vlc3RzLgoKU2lnbmVkLW9mZi1ieTogSGUgQ2hlbiA8aGUuY2hlbkBsaW51eC5pbnRlbC5jb20+ Ci0tLQpDaGFuZ2VzIGluIHY3OgoqIGJ1Z2ZpeDogZml4IHRoZSBidWcgdGhhdCB0aGlzIHBhdGNo IGRvZXNuJ3Qgd29yayBvbiBtYWNoaW5lIHdpdGhvdXQgU01BUC4KKiB0ZXN0OiBUaGlzIHBhdGNo IGhhcyBub3QgYmVlbiB0ZXN0ZWQgKG9uIDMyLWJpdCBQViBlbnZpcm9ubWVudCkuCiAgICAgICAg UmVhbGx5IHNvcnJ5IGZvciB0aGF0IHNpbmNlIEkgaGF2ZSB0b29rIHNldmVyYWwgZGF5cyB0cnlp bmcgdG8KICAgICAgICBzZXR1cCBhIDMyLWJpdCBQViBndWVzdCBidXQgZmluYWxseSBmYWlsZWQu CgpDaGFuZ2VzIGluIHY2OgoqIGZpeCBzbXtlLGF9cCBwYXJhbWV0ZXJzIHBhcnNlciBmbG93LgoK Q2hhbmdlcyBpbiB2NToKKiByZWZpbmUgc217ZSxhfXAgcGFyYW1ldGVycyBwYXJzZXIgZmxvdy4K KiByZXBsYWNlIGNwdV9oYXNfc217ZSxhfXAgd2l0aCBib290X2NwdV9oYXMoWDg2X0ZFQVRVUkVf WEVOX1NNe0UsQX1QKS4KKiByZWZpbmUgZG9jcy4KCkNoYW5nZXMgaW4gdjQ6CiogaW50cm9kdWNl IDIgbmV3IHN5bnRoZXRpYyBmZWF0dXJlcyBYODZfRkVBVFVSRV9YRU5fU01FUCBhbmQKICBYODZf RkVBVFVSRV9YRU5fU01BUCBmb3IgWGVuIGl0c2VsZi4KKiBhZGp1c3QgU017RSxBfVAgcmVsYXRl ZCBpbnN0cnVjdGlvbiBwYXRjaGluZyBjb2RlLgoqIGNvbW1pdCBtZXNzYWdlIHJlZmluZW1lbnQu CgpDaGFuZ2VzIGluIHYzOgoqIGZpeCBib290IG9wdGlvbnMuCiogZml4IENSNCAmIG1tdV9jcjRf ZmVhdHVyZXMgb3BlcmF0aW9ucy4KKiBkaXNhYmxlIFNNRVAvU01BUCBmb3IgRG9tMC4KKiBjb21t aXQgbWVzc2FnZSByZWZpbmVtZW50LgoKQ2hhbmdlcyBpbiB2MjoKKiBhbGxvdyAiaHZtIiBhcyBh IHZhbHVlIHRvICJzbWVwIiBhbmQgInNtYXAiIGNvbW1hbmQgbGluZSBvcHRpb25zLgoqIGNsZWFy IFNNRVAvU01BUCBDUFVJRCBiaXRzIGZvciBwdiBndWVzdHMgaWYgdGhleSBhcmUgc2V0IHRvIGh2 bSBvbmx5LgoqIHJlZmluZSBkb2NzLgoqIHJld3JpdGUgY29tbWl0IG1lc3NhZ2UuCi0tLQogZG9j cy9taXNjL3hlbi1jb21tYW5kLWxpbmUubWFya2Rvd24gfCAxMCArKystLS0KIHhlbi9hcmNoL3g4 Ni9zZXR1cC5jICAgICAgICAgICAgICAgIHwgNzIgKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrLS0tLS0tLQogeGVuL2luY2x1ZGUvYXNtLXg4Ni9hc21fZGVmbnMuaCAgICAgfCAxMCArKyst LS0KIHhlbi9pbmNsdWRlL2FzbS14ODYvY3B1ZmVhdHVyZS5oICAgIHwgIDIgKysKIDQgZmlsZXMg Y2hhbmdlZCwgNzMgaW5zZXJ0aW9ucygrKSwgMjEgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEv ZG9jcy9taXNjL3hlbi1jb21tYW5kLWxpbmUubWFya2Rvd24gYi9kb2NzL21pc2MveGVuLWNvbW1h bmQtbGluZS5tYXJrZG93bgppbmRleCA4ZmY1N2ZhLi5iMDZiNmFjIDEwMDY0NAotLS0gYS9kb2Nz L21pc2MveGVuLWNvbW1hbmQtbGluZS5tYXJrZG93bgorKysgYi9kb2NzL21pc2MveGVuLWNvbW1h bmQtbGluZS5tYXJrZG93bgpAQCAtMTQzMywxOSArMTQzMywyMSBAQCBlbmFibGluZyBtb3JlIHNv Y2tldHMgYW5kIGNvcmVzIHRvIGdvIGludG8gZGVlcGVyIHNsZWVwIHN0YXRlcy4KIAogU2V0IHRo ZSBzZXJpYWwgdHJhbnNtaXQgYnVmZmVyIHNpemUuCiAKLSMjIyBzbWVwCisjIyMgc21hcAogPiBg PSA8Ym9vbGVhbj5gCiAKID4gRGVmYXVsdDogYHRydWVgCiAKLUZsYWcgdG8gZW5hYmxlIFN1cGVy dmlzb3IgTW9kZSBFeGVjdXRpb24gUHJvdGVjdGlvbgorRmxhZyB0byBlbmFibGUgU3VwZXJ2aXNv ciBNb2RlIEFjY2VzcyBQcmV2ZW50aW9uCitVc2UgYHNtYXA9aHZtYCB0byBhbGxvdyBTTUFQIHVz ZSBieSBIVk0gZ3Vlc3RzIG9ubHkuCiAKLSMjIyBzbWFwCisjIyMgc21lcAogPiBgPSA8Ym9vbGVh bj5gCiAKID4gRGVmYXVsdDogYHRydWVgCiAKLUZsYWcgdG8gZW5hYmxlIFN1cGVydmlzb3IgTW9k ZSBBY2Nlc3MgUHJldmVudGlvbgorRmxhZyB0byBlbmFibGUgU3VwZXJ2aXNvciBNb2RlIEV4ZWN1 dGlvbiBQcm90ZWN0aW9uCitVc2UgYHNtZXA9aHZtYCB0byBhbGxvdyBTTUVQIHVzZSBieSBIVk0g Z3Vlc3RzIG9ubHkuCiAKICMjIyBzbmJcX2lnZFxfcXVpcmsKID4gYD0gPGJvb2xlYW4+IHwgY2Fw IHwgPGludGVnZXI+YApkaWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2L3NldHVwLmMgYi94ZW4vYXJj aC94ODYvc2V0dXAuYwppbmRleCA4YWU4OTdhLi5mM2VkMjQ3IDEwMDY0NAotLS0gYS94ZW4vYXJj aC94ODYvc2V0dXAuYworKysgYi94ZW4vYXJjaC94ODYvc2V0dXAuYwpAQCAtNjEsMTQgKzYxLDYg QEAgYm9vbGVhbl9wYXJhbSgibm9zbXAiLCBvcHRfbm9zbXApOwogc3RhdGljIHVuc2lnbmVkIGlu dCBfX2luaXRkYXRhIG1heF9jcHVzOwogaW50ZWdlcl9wYXJhbSgibWF4Y3B1cyIsIG1heF9jcHVz KTsKIAotLyogc21lcDogRW5hYmxlL2Rpc2FibGUgU3VwZXJ2aXNvciBNb2RlIEV4ZWN1dGlvbiBQ cm90ZWN0aW9uIChkZWZhdWx0IG9uKS4gKi8KLXN0YXRpYyBib29sX3QgX19pbml0ZGF0YSBvcHRf c21lcCA9IDE7Ci1ib29sZWFuX3BhcmFtKCJzbWVwIiwgb3B0X3NtZXApOwotCi0vKiBzbWFwOiBF bmFibGUvZGlzYWJsZSBTdXBlcnZpc29yIE1vZGUgQWNjZXNzIFByZXZlbnRpb24gKGRlZmF1bHQg b24pLiAqLwotc3RhdGljIGJvb2xfdCBfX2luaXRkYXRhIG9wdF9zbWFwID0gMTsKLWJvb2xlYW5f cGFyYW0oInNtYXAiLCBvcHRfc21hcCk7Ci0KIHVuc2lnbmVkIGxvbmcgX19yZWFkX21vc3RseSBj cjRfcHYzMl9tYXNrOwogCiAvKiBCb290IGRvbTAgaW4gcHZoIG1vZGUgKi8KQEAgLTExMiw2ICsx MDQsNTggQEAgc3RydWN0IGNwdWluZm9feDg2IF9fcmVhZF9tb3N0bHkgYm9vdF9jcHVfZGF0YSA9 IHsgMCwgMCwgMCwgMCwgLTEgfTsKIAogdW5zaWduZWQgbG9uZyBfX3JlYWRfbW9zdGx5IG1tdV9j cjRfZmVhdHVyZXMgPSBYRU5fTUlOSU1BTF9DUjQ7CiAKKy8qIHNtZXA6IEVuYWJsZS9kaXNhYmxl IFN1cGVydmlzb3IgTW9kZSBFeGVjdXRpb24gUHJvdGVjdGlvbiAoZGVmYXVsdCBvbikuICovCisj ZGVmaW5lIFNNRVBfSFZNX09OTFkgKC0xKQorc3RhdGljIHM4IF9faW5pdGRhdGEgb3B0X3NtZXAg PSAxOworc3RhdGljIHZvaWQgX19pbml0IHBhcnNlX3NtZXBfcGFyYW0oY2hhciAqcykKK3sKKyAg ICBpZiAoICEqcyApCisgICAgeworICAgICAgICBvcHRfc21lcCA9IDE7CisgICAgICAgIHJldHVy bjsKKyAgICB9CisKKyAgICBzd2l0Y2ggKCBwYXJzZV9ib29sKHMpICkKKyAgICB7CisgICAgY2Fz ZSAwOgorICAgICAgICBvcHRfc21lcCA9IDA7CisgICAgICAgIHJldHVybjsKKyAgICBjYXNlIDE6 CisgICAgICAgIG9wdF9zbWVwID0gMTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIGlm ICggIXN0cmNtcChzLCAiaHZtIikgKQorICAgICAgICBvcHRfc21lcCA9IFNNRVBfSFZNX09OTFk7 Cit9CitjdXN0b21fcGFyYW0oInNtZXAiLCBwYXJzZV9zbWVwX3BhcmFtKTsKKworLyogc21hcDog RW5hYmxlL2Rpc2FibGUgU3VwZXJ2aXNvciBNb2RlIEFjY2VzcyBQcmV2ZW50aW9uIChkZWZhdWx0 IG9uKS4gKi8KKyNkZWZpbmUgU01BUF9IVk1fT05MWSAoLTEpCitzdGF0aWMgczggX19pbml0ZGF0 YSBvcHRfc21hcCA9IDE7CitzdGF0aWMgdm9pZCBfX2luaXQgcGFyc2Vfc21hcF9wYXJhbShjaGFy ICpzKQoreworICAgIGlmICggISpzICkKKyAgICB7CisgICAgICAgIG9wdF9zbWFwID0gMTsKKyAg ICAgICAgcmV0dXJuOworICAgIH0KKworICAgIHN3aXRjaCAoIHBhcnNlX2Jvb2wocykgKQorICAg IHsKKyAgICBjYXNlIDA6CisgICAgICAgIG9wdF9zbWFwID0gMDsKKyAgICAgICAgcmV0dXJuOwor ICAgIGNhc2UgMToKKyAgICAgICAgb3B0X3NtYXAgPSAxOworICAgICAgICByZXR1cm47CisgICAg fQorCisgICAgaWYgKCAhc3RyY21wKHMsICJodm0iKSApCisgICAgICAgIG9wdF9zbWFwID0gU01B UF9IVk1fT05MWTsKK30KK2N1c3RvbV9wYXJhbSgic21hcCIsIHBhcnNlX3NtYXBfcGFyYW0pOwor CiBib29sX3QgX19yZWFkX21vc3RseSBhY3BpX2Rpc2FibGVkOwogYm9vbF90IF9faW5pdGRhdGEg YWNwaV9mb3JjZTsKIHN0YXRpYyBjaGFyIF9faW5pdGRhdGEgYWNwaV9wYXJhbVsxMF0gPSAiIjsK QEAgLTE0MDQsMTIgKzE0NDgsMTYgQEAgdm9pZCBfX2luaXQgbm9yZXR1cm4gX19zdGFydF94ZW4o dW5zaWduZWQgbG9uZyBtYmlfcCkKIAogICAgIGlmICggIW9wdF9zbWVwICkKICAgICAgICAgc2V0 dXBfY2xlYXJfY3B1X2NhcChYODZfRkVBVFVSRV9TTUVQKTsKLSAgICBpZiAoIGNwdV9oYXNfc21l cCApCisgICAgZWxzZSBpZiAoIGNwdV9oYXNfc21lcCAmJiBvcHRfc21lcCA9PSAxICkKKyAgICAg ICAgX19zZXRfYml0KFg4Nl9GRUFUVVJFX1hFTl9TTUVQLCBib290X2NwdV9kYXRhLng4Nl9jYXBh YmlsaXR5KTsKKyAgICBpZiAoIGJvb3RfY3B1X2hhcyhYODZfRkVBVFVSRV9YRU5fU01FUCkgKQog ICAgICAgICBzZXRfaW5fY3I0KFg4Nl9DUjRfU01FUCk7CiAKICAgICBpZiAoICFvcHRfc21hcCAp CiAgICAgICAgIHNldHVwX2NsZWFyX2NwdV9jYXAoWDg2X0ZFQVRVUkVfU01BUCk7Ci0gICAgaWYg KCBjcHVfaGFzX3NtYXAgKQorICAgIGVsc2UgaWYgKCBjcHVfaGFzX3NtYXAgJiYgb3B0X3NtYXAg PT0gMSApCisgICAgICAgIF9fc2V0X2JpdChYODZfRkVBVFVSRV9YRU5fU01BUCwgYm9vdF9jcHVf ZGF0YS54ODZfY2FwYWJpbGl0eSk7CisgICAgaWYgKCBib290X2NwdV9oYXMoWDg2X0ZFQVRVUkVf WEVOX1NNQVApICkKICAgICAgICAgc2V0X2luX2NyNChYODZfQ1I0X1NNQVApOwogCiAgICAgY3I0 X3B2MzJfbWFzayA9IG1tdV9jcjRfZmVhdHVyZXMgJiBYRU5fQ1I0X1BWMzJfQklUUzsKQEAgLTE1 NTEsNyArMTU5OSw3IEBAIHZvaWQgX19pbml0IG5vcmV0dXJuIF9fc3RhcnRfeGVuKHVuc2lnbmVk IGxvbmcgbWJpX3ApCiAgICAgICogVGhpcyBzYXZlcyBhIGxhcmdlIG51bWJlciBvZiBjb3JuZXIg Y2FzZXMgaW50ZXJhY3Rpb25zIHdpdGgKICAgICAgKiBjb3B5X2Zyb21fdXNlcigpLgogICAgICAq LwotICAgIGlmICggY3B1X2hhc19zbWFwICkKKyAgICBpZiAoIGJvb3RfY3B1X2hhcyhYODZfRkVB VFVSRV9YRU5fU01BUCkgKQogICAgIHsKICAgICAgICAgY3I0X3B2MzJfbWFzayAmPSB+WDg2X0NS NF9TTUFQOwogICAgICAgICB3cml0ZV9jcjQocmVhZF9jcjQoKSAmIH5YODZfQ1I0X1NNQVApOwpA QCAtMTU3MSw3ICsxNjE5LDcgQEAgdm9pZCBfX2luaXQgbm9yZXR1cm4gX19zdGFydF94ZW4odW5z aWduZWQgbG9uZyBtYmlfcCkKICAgICAgICAgICAgICAgICAgICAgICAgIGJvb3RzdHJhcF9tYXAs IGNtZGxpbmUpICE9IDApCiAgICAgICAgIHBhbmljKCJDb3VsZCBub3Qgc2V0IHVwIERPTTAgZ3Vl c3QgT1MiKTsKIAotICAgIGlmICggY3B1X2hhc19zbWFwICkKKyAgICBpZiAoIGJvb3RfY3B1X2hh cyhYODZfRkVBVFVSRV9YRU5fU01BUCkgKQogICAgIHsKICAgICAgICAgd3JpdGVfY3I0KHJlYWRf Y3I0KCkgfCBYODZfQ1I0X1NNQVApOwogICAgICAgICBjcjRfcHYzMl9tYXNrIHw9IFg4Nl9DUjRf U01BUDsKZGlmZiAtLWdpdCBhL3hlbi9pbmNsdWRlL2FzbS14ODYvYXNtX2RlZm5zLmggYi94ZW4v aW5jbHVkZS9hc20teDg2L2FzbV9kZWZucy5oCmluZGV4IGUzNmU3OGYuLmYxYzZmYTEgMTAwNjQ0 Ci0tLSBhL3hlbi9pbmNsdWRlL2FzbS14ODYvYXNtX2RlZm5zLmgKKysrIGIveGVuL2luY2x1ZGUv YXNtLXg4Ni9hc21fZGVmbnMuaApAQCAtMjA1LDcgKzIwNSw3IEBAIHZvaWQgcmV0X2Zyb21faW50 cih2b2lkKTsKICAgICAgICAgLnBvcHNlY3Rpb247ICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgXAogICAgICAgICAucHVzaHNlY3Rpb24gLmFsdGluc3Ry dWN0aW9ucywgImEiOyAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCiAgICAgICAgIGFsdGlu c3RydWN0aW9uX2VudHJ5IDY2MWIsIDY2MWIsIFg4Nl9GRUFUVVJFX0FMV0FZUywgMywgMDsgICAg IFwKLSAgICAgICAgYWx0aW5zdHJ1Y3Rpb25fZW50cnkgNjYxYiwgNjYyYiwgWDg2X0ZFQVRVUkVf U01BUCwgMywgMzsgICAgICAgXAorICAgICAgICBhbHRpbnN0cnVjdGlvbl9lbnRyeSA2NjFiLCA2 NjJiLCBYODZfRkVBVFVSRV9YRU5fU01BUCwgMywgMzsgICAgICAgXAogICAgICAgICAucG9wc2Vj dGlvbgogCiAjZGVmaW5lIEFTTV9TVEFDIEFTTV9BQyhTVEFDKQpAQCAtMjE3LDIxICsyMTcsMjEg QEAgdm9pZCByZXRfZnJvbV9pbnRyKHZvaWQpOwogICAgICAgICA2Njg6IGNhbGwgY3I0X3B2MzJf cmVzdG9yZTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKICAgICAgICAgLnNlY3Rp b24gLmFsdGluc3RydWN0aW9ucywgImEiOyAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCiAg ICAgICAgIGFsdGluc3RydWN0aW9uX2VudHJ5IDY2N2IsIDY2N2IsIFg4Nl9GRUFUVVJFX0FMV0FZ UywgNSwgMDsgXAotICAgICAgICBhbHRpbnN0cnVjdGlvbl9lbnRyeSA2NjdiLCA2NjhiLCBYODZf RkVBVFVSRV9TTUVQLCA1LCA1OyAgIFwKLSAgICAgICAgYWx0aW5zdHJ1Y3Rpb25fZW50cnkgNjY3 YiwgNjY4YiwgWDg2X0ZFQVRVUkVfU01BUCwgNSwgNTsgICBcCisgICAgICAgIGFsdGluc3RydWN0 aW9uX2VudHJ5IDY2N2IsIDY2OGIsIFg4Nl9GRUFUVVJFX1hFTl9TTUVQLCA1LCA1OyAgIFwKKyAg ICAgICAgYWx0aW5zdHJ1Y3Rpb25fZW50cnkgNjY3YiwgNjY4YiwgWDg2X0ZFQVRVUkVfWEVOX1NN QVAsIDUsIDU7ICAgXAogICAgICAgICAucG9wc2VjdGlvbgogCiAjZWxzZQogc3RhdGljIGFsd2F5 c19pbmxpbmUgdm9pZCBjbGFjKHZvaWQpCiB7CiAgICAgLyogTm90ZTogYSBiYXJyaWVyIGlzIGlt cGxpY2l0IGluIGFsdGVybmF0aXZlKCkgKi8KLSAgICBhbHRlcm5hdGl2ZShBU01fTk9QMywgX19z dHJpbmdpZnkoX19BU01fQ0xBQyksIFg4Nl9GRUFUVVJFX1NNQVApOworICAgIGFsdGVybmF0aXZl KEFTTV9OT1AzLCBfX3N0cmluZ2lmeShfX0FTTV9DTEFDKSwgWDg2X0ZFQVRVUkVfWEVOX1NNQVAp OwogfQogCiBzdGF0aWMgYWx3YXlzX2lubGluZSB2b2lkIHN0YWModm9pZCkKIHsKICAgICAvKiBO b3RlOiBhIGJhcnJpZXIgaXMgaW1wbGljaXQgaW4gYWx0ZXJuYXRpdmUoKSAqLwotICAgIGFsdGVy bmF0aXZlKEFTTV9OT1AzLCBfX3N0cmluZ2lmeShfX0FTTV9TVEFDKSwgWDg2X0ZFQVRVUkVfU01B UCk7CisgICAgYWx0ZXJuYXRpdmUoQVNNX05PUDMsIF9fc3RyaW5naWZ5KF9fQVNNX1NUQUMpLCBY ODZfRkVBVFVSRV9YRU5fU01BUCk7CiB9CiAjZW5kaWYKIApkaWZmIC0tZ2l0IGEveGVuL2luY2x1 ZGUvYXNtLXg4Ni9jcHVmZWF0dXJlLmggYi94ZW4vaW5jbHVkZS9hc20teDg2L2NwdWZlYXR1cmUu aAppbmRleCBiY2RmNWQ2Li4yODc0MTlmIDEwMDY0NAotLS0gYS94ZW4vaW5jbHVkZS9hc20teDg2 L2NwdWZlYXR1cmUuaAorKysgYi94ZW4vaW5jbHVkZS9hc20teDg2L2NwdWZlYXR1cmUuaApAQCAt MTcsNiArMTcsOCBAQCBYRU5fQ1BVRkVBVFVSRShDUFVJRF9GQVVMVElORywgIChGU0NBUElOVFMr MCkqMzIrIDYpIC8qIGNwdWlkIGZhdWx0aW5nICovCiBYRU5fQ1BVRkVBVFVSRShDTEZMVVNIX01P TklUT1IsIChGU0NBUElOVFMrMCkqMzIrIDcpIC8qIGNsZmx1c2ggcmVxZCB3aXRoIG1vbml0b3Ig Ki8KIFhFTl9DUFVGRUFUVVJFKEFQRVJGTVBFUkYsICAgICAgKEZTQ0FQSU5UUyswKSozMisgOCkg LyogQVBFUkZNUEVSRiAqLwogWEVOX0NQVUZFQVRVUkUoTUZFTkNFX1JEVFNDLCAgICAoRlNDQVBJ TlRTKzApKjMyKyA5KSAvKiBNRkVOQ0Ugc3luY2hyb25pemVzIFJEVFNDICovCitYRU5fQ1BVRkVB VFVSRShYRU5fU01FUCwgICAgICAgIChGU0NBUElOVFMrMCkqMzIrIDEwKSAvKiBTTUVQIGdldHMg dXNlZCBieSBYZW4gaXRzZWxmICovCitYRU5fQ1BVRkVBVFVSRShYRU5fU01BUCwgICAgICAgIChG U0NBUElOVFMrMCkqMzIrIDExKSAvKiBTTUFQIGdldHMgdXNlZCBieSBYZW4gaXRzZWxmICovCiAK ICNkZWZpbmUgTkNBUElOVFMgKEZTQ0FQSU5UUyArIDEpIC8qIE4gMzItYml0IHdvcmRzIHdvcnRo IG9mIGluZm8gKi8KIAotLSAKMi43LjQKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fXwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54 ZW4ub3JnCmh0dHBzOi8vbGlzdHMueGVuLm9yZy94ZW4tZGV2ZWwK