From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andrew Cooper Subject: [PATCH 03/10] x86/spec_ctrl: Merge bti_ist_info and use_shadow_spec_ctrl into spec_ctrl_flags Date: Fri, 11 May 2018 11:38:07 +0100 Message-ID: <1526035094-14343-4-git-send-email-andrew.cooper3@citrix.com> References: <1526035094-14343-1-git-send-email-andrew.cooper3@citrix.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1526035094-14343-1-git-send-email-andrew.cooper3@citrix.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" To: Xen-devel Cc: Juergen Gross , Andrew Cooper , Wei Liu , Jan Beulich , =?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= List-Id: xen-devel@lists.xenproject.org QWxsIDMgYml0cyBvZiBpbmZvcm1hdGlvbiBoZXJlIGFyZSBjb250cm9sIGZsYWdzIGZvciB0aGUg ZW50cnkvZXhpdCBjb2RlCmJlaGF2aW91ci4gIFRyZWF0IHRoZW0gYXMgc3VjaCwgcmF0aGVyIHRo YW4gaGF2aW5nIHR3byBkaWZmZXJlbnQgdmFyaWFibGVzLgoKU2lnbmVkLW9mZi1ieTogQW5kcmV3 IENvb3BlciA8YW5kcmV3LmNvb3BlcjNAY2l0cml4LmNvbT4KLS0tCkNDOiBKYW4gQmV1bGljaCA8 SkJldWxpY2hAc3VzZS5jb20+CkNDOiBXZWkgTGl1IDx3ZWkubGl1MkBjaXRyaXguY29tPgpDQzog Um9nZXIgUGF1IE1vbm7DqSA8cm9nZXIucGF1QGNpdHJpeC5jb20+CkNDOiBKdWVyZ2VuIEdyb3Nz IDxqZ3Jvc3NAc3VzZS5jb20+Ci0tLQogeGVuL2FyY2gveDg2L2FjcGkvcG93ZXIuYyAgICAgICAg ICAgfCAgNCArKy0tCiB4ZW4vYXJjaC94ODYvc3BlY19jdHJsLmMgICAgICAgICAgICB8IDEwICsr KystLS0tCiB4ZW4vYXJjaC94ODYveDg2XzY0L2FzbS1vZmZzZXRzLmMgICB8ICAzICstLQogeGVu L2luY2x1ZGUvYXNtLXg4Ni9jdXJyZW50LmggICAgICAgfCAgMyArLS0KIHhlbi9pbmNsdWRlL2Fz bS14ODYvc3BlY19jdHJsLmggICAgIHwgMTAgKysrKy0tLS0KIHhlbi9pbmNsdWRlL2FzbS14ODYv c3BlY19jdHJsX2FzbS5oIHwgNDYgKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0t LQogNiBmaWxlcyBjaGFuZ2VkLCA0MCBpbnNlcnRpb25zKCspLCAzNiBkZWxldGlvbnMoLSkKCmRp ZmYgLS1naXQgYS94ZW4vYXJjaC94ODYvYWNwaS9wb3dlci5jIGIveGVuL2FyY2gveDg2L2FjcGkv cG93ZXIuYwppbmRleCBiYjBkMDk1Li5hNzA0YzdjIDEwMDY0NAotLS0gYS94ZW4vYXJjaC94ODYv YWNwaS9wb3dlci5jCisrKyBiL3hlbi9hcmNoL3g4Ni9hY3BpL3Bvd2VyLmMKQEAgLTIxNSw3ICsy MTUsNyBAQCBzdGF0aWMgaW50IGVudGVyX3N0YXRlKHUzMiBzdGF0ZSkKICAgICBjaSA9IGdldF9j cHVfaW5mbygpOwogICAgIHNwZWNfY3RybF9lbnRlcl9pZGxlKGNpKTsKICAgICAvKiBBdm9pZCBO TUkvI01DIHVzaW5nIE1TUl9TUEVDX0NUUkwgdW50aWwgd2UndmUgcmVsb2FkZWQgbWljcm9jb2Rl LiAqLwotICAgIGNpLT5idGlfaXN0X2luZm8gPSAwOworICAgIGNpLT5zcGVjX2N0cmxfZmxhZ3Mg Jj0gflNDRl9pc3Rfd3Jtc3I7CiAKICAgICBBQ1BJX0ZMVVNIX0NQVV9DQUNIRSgpOwogCkBAIC0y NTksNyArMjU5LDcgQEAgc3RhdGljIGludCBlbnRlcl9zdGF0ZSh1MzIgc3RhdGUpCiAgICAgICAg IHBhbmljKCJNaXNzaW5nIHByZXZpb3VzbHkgYXZhaWxhYmxlIGZlYXR1cmUocykuIik7CiAKICAg ICAvKiBSZS1lbmFibGVkIGRlZmF1bHQgTk1JLyNNQyB1c2Ugb2YgTVNSX1NQRUNfQ1RSTC4gKi8K LSAgICBjaS0+YnRpX2lzdF9pbmZvID0gZGVmYXVsdF9idGlfaXN0X2luZm87CisgICAgY2ktPnNw ZWNfY3RybF9mbGFncyB8PSAoZGVmYXVsdF9zcGVjX2N0cmxfZmxhZ3MgJiBTQ0ZfaXN0X3dybXNy KTsKICAgICBzcGVjX2N0cmxfZXhpdF9pZGxlKGNpKTsKIAogIGRvbmU6CmRpZmYgLS1naXQgYS94 ZW4vYXJjaC94ODYvc3BlY19jdHJsLmMgYi94ZW4vYXJjaC94ODYvc3BlY19jdHJsLmMKaW5kZXgg NjYzM2M2NC4uMWFkM2ZmNSAxMDA2NDQKLS0tIGEveGVuL2FyY2gveDg2L3NwZWNfY3RybC5jCisr KyBiL3hlbi9hcmNoL3g4Ni9zcGVjX2N0cmwuYwpAQCAtMzksNyArMzksNyBAQCBzdGF0aWMgYm9v bCBfX2luaXRkYXRhIG9wdF9yc2JfbmF0aXZlID0gdHJ1ZTsKIHN0YXRpYyBib29sIF9faW5pdGRh dGEgb3B0X3JzYl92bWV4aXQgPSB0cnVlOwogYm9vbCBfX3JlYWRfbW9zdGx5IG9wdF9pYnBiID0g dHJ1ZTsKIHVpbnQ4X3QgX19yZWFkX21vc3RseSBkZWZhdWx0X3hlbl9zcGVjX2N0cmw7Ci11aW50 OF90IF9fcmVhZF9tb3N0bHkgZGVmYXVsdF9idGlfaXN0X2luZm87Cit1aW50OF90IF9fcmVhZF9t b3N0bHkgZGVmYXVsdF9zcGVjX2N0cmxfZmxhZ3M7CiAKIHN0YXRpYyBpbnQgX19pbml0IHBhcnNl X2J0aShjb25zdCBjaGFyICpzKQogewpAQCAtMzc0LDcgKzM3NCw3IEBAIHZvaWQgX19pbml0IGlu aXRfc3BlY3VsYXRpb25fbWl0aWdhdGlvbnModm9pZCkKICAgICAgICAgZWxzZQogICAgICAgICAg ICAgc2V0dXBfZm9yY2VfY3B1X2NhcChYODZfRkVBVFVSRV9YRU5fSUJSU19DTEVBUik7CiAKLSAg ICAgICAgZGVmYXVsdF9idGlfaXN0X2luZm8gfD0gQlRJX0lTVF9XUk1TUjsKKyAgICAgICAgZGVm YXVsdF9zcGVjX2N0cmxfZmxhZ3MgfD0gU0NGX2lzdF93cm1zcjsKICAgICB9CiAKICAgICAvKgpA QCAtMzkzLDcgKzM5Myw3IEBAIHZvaWQgX19pbml0IGluaXRfc3BlY3VsYXRpb25fbWl0aWdhdGlv bnModm9pZCkKICAgICBpZiAoIG9wdF9yc2JfbmF0aXZlICkKICAgICB7CiAgICAgICAgIHNldHVw X2ZvcmNlX2NwdV9jYXAoWDg2X0ZFQVRVUkVfUlNCX05BVElWRSk7Ci0gICAgICAgIGRlZmF1bHRf YnRpX2lzdF9pbmZvIHw9IEJUSV9JU1RfUlNCOworICAgICAgICBkZWZhdWx0X3NwZWNfY3RybF9m bGFncyB8PSBTQ0ZfaXN0X3JzYjsKICAgICB9CiAKICAgICAvKgpAQCAtNDA3LDcgKzQwNyw3IEBA IHZvaWQgX19pbml0IGluaXRfc3BlY3VsYXRpb25fbWl0aWdhdGlvbnModm9pZCkKICAgICBpZiAo ICFib290X2NwdV9oYXMoWDg2X0ZFQVRVUkVfSUJSU0IpICYmICFib290X2NwdV9oYXMoWDg2X0ZF QVRVUkVfSUJQQikgKQogICAgICAgICBvcHRfaWJwYiA9IGZhbHNlOwogCi0gICAgLyogKFJlKWlu aXQgQlNQIHN0YXRlIG5vdyB0aGF0IGRlZmF1bHRfYnRpX2lzdF9pbmZvIGhhcyBiZWVuIGNhbGN1 bGF0ZWQuICovCisgICAgLyogKFJlKWluaXQgQlNQIHN0YXRlIG5vdyB0aGF0IGRlZmF1bHRfc3Bl Y19jdHJsX2ZsYWdzIGhhcyBiZWVuIGNhbGN1bGF0ZWQuICovCiAgICAgaW5pdF9zaGFkb3dfc3Bl Y19jdHJsX3N0YXRlKCk7CiAKICAgICB4cHRpX2luaXRfZGVmYXVsdChmYWxzZSk7CkBAIC00MjEs NiArNDIxLDggQEAgdm9pZCBfX2luaXQgaW5pdF9zcGVjdWxhdGlvbl9taXRpZ2F0aW9ucyh2b2lk KQogCiBzdGF0aWMgdm9pZCBfX2luaXQgX19tYXliZV91bnVzZWQgYnVpbGRfYXNzZXJ0aW9ucyh2 b2lkKQogeworICAgIC8qIFRoZSBvcHRpbWlzZWQgYXNzZW1ibHkgcmVsaWVzIG9uIHRoaXMgYWxp YXMuICovCisgICAgQlVJTERfQlVHX09OKFNDRl91c2Vfc2hhZG93ICE9IDEpOwogfQogCiAvKgpk aWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2L3g4Nl82NC9hc20tb2Zmc2V0cy5jIGIveGVuL2FyY2gv eDg2L3g4Nl82NC9hc20tb2Zmc2V0cy5jCmluZGV4IGY4MGQzYjcuLjU5NTdjNzYgMTAwNjQ0Ci0t LSBhL3hlbi9hcmNoL3g4Ni94ODZfNjQvYXNtLW9mZnNldHMuYworKysgYi94ZW4vYXJjaC94ODYv eDg2XzY0L2FzbS1vZmZzZXRzLmMKQEAgLTEzNSw4ICsxMzUsNyBAQCB2b2lkIF9fZHVtbXlfXyh2 b2lkKQogICAgIE9GRlNFVChDUFVJTkZPX3B2X2NyMywgc3RydWN0IGNwdV9pbmZvLCBwdl9jcjMp OwogICAgIE9GRlNFVChDUFVJTkZPX3NoYWRvd19zcGVjX2N0cmwsIHN0cnVjdCBjcHVfaW5mbywg c2hhZG93X3NwZWNfY3RybCk7CiAgICAgT0ZGU0VUKENQVUlORk9feGVuX3NwZWNfY3RybCwgc3Ry dWN0IGNwdV9pbmZvLCB4ZW5fc3BlY19jdHJsKTsKLSAgICBPRkZTRVQoQ1BVSU5GT191c2Vfc2hh ZG93X3NwZWNfY3RybCwgc3RydWN0IGNwdV9pbmZvLCB1c2Vfc2hhZG93X3NwZWNfY3RybCk7Ci0g ICAgT0ZGU0VUKENQVUlORk9fYnRpX2lzdF9pbmZvLCBzdHJ1Y3QgY3B1X2luZm8sIGJ0aV9pc3Rf aW5mbyk7CisgICAgT0ZGU0VUKENQVUlORk9fc3BlY19jdHJsX2ZsYWdzLCBzdHJ1Y3QgY3B1X2lu Zm8sIHNwZWNfY3RybF9mbGFncyk7CiAgICAgT0ZGU0VUKENQVUlORk9fcm9vdF9wZ3RfY2hhbmdl ZCwgc3RydWN0IGNwdV9pbmZvLCByb290X3BndF9jaGFuZ2VkKTsKICAgICBPRkZTRVQoQ1BVSU5G T191c2VfcHZfY3IzLCBzdHJ1Y3QgY3B1X2luZm8sIHVzZV9wdl9jcjMpOwogICAgIERFRklORShD UFVJTkZPX3NpemVvZiwgc2l6ZW9mKHN0cnVjdCBjcHVfaW5mbykpOwpkaWZmIC0tZ2l0IGEveGVu L2luY2x1ZGUvYXNtLXg4Ni9jdXJyZW50LmggYi94ZW4vaW5jbHVkZS9hc20teDg2L2N1cnJlbnQu aAppbmRleCAyMDBlOTM1Li41YmQ2NGIyIDEwMDY0NAotLS0gYS94ZW4vaW5jbHVkZS9hc20teDg2 L2N1cnJlbnQuaAorKysgYi94ZW4vaW5jbHVkZS9hc20teDg2L2N1cnJlbnQuaApAQCAtNTUsOCAr NTUsNyBAQCBzdHJ1Y3QgY3B1X2luZm8gewogICAgIC8qIFNlZSBhc20teDg2L3NwZWNfY3RybF9h c20uaCBmb3IgdXNhZ2UuICovCiAgICAgdW5zaWduZWQgaW50IHNoYWRvd19zcGVjX2N0cmw7CiAg ICAgdWludDhfdCAgICAgIHhlbl9zcGVjX2N0cmw7Ci0gICAgYm9vbCAgICAgICAgIHVzZV9zaGFk b3dfc3BlY19jdHJsOwotICAgIHVpbnQ4X3QgICAgICBidGlfaXN0X2luZm87CisgICAgdWludDhf dCAgICAgIHNwZWNfY3RybF9mbGFnczsKIAogICAgIC8qCiAgICAgICogVGhlIGZvbGxvd2luZyBm aWVsZCBjb250cm9scyBjb3B5aW5nIG9mIHRoZSBMNCBwYWdlIHRhYmxlIG9mIDY0LWJpdApkaWZm IC0tZ2l0IGEveGVuL2luY2x1ZGUvYXNtLXg4Ni9zcGVjX2N0cmwuaCBiL3hlbi9pbmNsdWRlL2Fz bS14ODYvc3BlY19jdHJsLmgKaW5kZXggMGM3NjYzYS4uZDViZDRkZiAxMDA2NDQKLS0tIGEveGVu L2luY2x1ZGUvYXNtLXg4Ni9zcGVjX2N0cmwuaAorKysgYi94ZW4vaW5jbHVkZS9hc20teDg2L3Nw ZWNfY3RybC5oCkBAIC0yOCw3ICsyOCw3IEBAIHZvaWQgaW5pdF9zcGVjdWxhdGlvbl9taXRpZ2F0 aW9ucyh2b2lkKTsKIAogZXh0ZXJuIGJvb2wgb3B0X2licGI7CiBleHRlcm4gdWludDhfdCBkZWZh dWx0X3hlbl9zcGVjX2N0cmw7Ci1leHRlcm4gdWludDhfdCBkZWZhdWx0X2J0aV9pc3RfaW5mbzsK K2V4dGVybiB1aW50OF90IGRlZmF1bHRfc3BlY19jdHJsX2ZsYWdzOwogCiBleHRlcm4gdWludDhf dCBvcHRfeHB0aTsKICNkZWZpbmUgT1BUX1hQVElfRE9NMCAgMHgwMQpAQCAtMzgsOSArMzgsOSBA QCBzdGF0aWMgaW5saW5lIHZvaWQgaW5pdF9zaGFkb3dfc3BlY19jdHJsX3N0YXRlKHZvaWQpCiB7 CiAgICAgc3RydWN0IGNwdV9pbmZvICppbmZvID0gZ2V0X2NwdV9pbmZvKCk7CiAKLSAgICBpbmZv LT5zaGFkb3dfc3BlY19jdHJsID0gaW5mby0+dXNlX3NoYWRvd19zcGVjX2N0cmwgPSAwOworICAg IGluZm8tPnNoYWRvd19zcGVjX2N0cmwgPSAwOwogICAgIGluZm8tPnhlbl9zcGVjX2N0cmwgPSBk ZWZhdWx0X3hlbl9zcGVjX2N0cmw7Ci0gICAgaW5mby0+YnRpX2lzdF9pbmZvID0gZGVmYXVsdF9i dGlfaXN0X2luZm87CisgICAgaW5mby0+c3BlY19jdHJsX2ZsYWdzID0gZGVmYXVsdF9zcGVjX2N0 cmxfZmxhZ3M7CiB9CiAKIC8qIFdBUk5JTkchIGByZXRgLCBgY2FsbCAqYCwgYGptcCAqYCBub3Qg c2FmZSBhZnRlciB0aGlzIGNhbGwuICovCkBAIC01NCw3ICs1NCw3IEBAIHN0YXRpYyBhbHdheXNf aW5saW5lIHZvaWQgc3BlY19jdHJsX2VudGVyX2lkbGUoc3RydWN0IGNwdV9pbmZvICppbmZvKQog ICAgICAqLwogICAgIGluZm8tPnNoYWRvd19zcGVjX2N0cmwgPSB2YWw7CiAgICAgYmFycmllcigp OwotICAgIGluZm8tPnVzZV9zaGFkb3dfc3BlY19jdHJsID0gdHJ1ZTsKKyAgICBpbmZvLT5zcGVj X2N0cmxfZmxhZ3MgfD0gU0NGX3VzZV9zaGFkb3c7CiAgICAgYmFycmllcigpOwogICAgIGFzbSB2 b2xhdGlsZSAoIEFMVEVSTkFUSVZFKEFTTV9OT1AzLCAid3Jtc3IiLCBYODZfRkVBVFVSRV9YRU5f SUJSU19TRVQpCiAgICAgICAgICAgICAgICAgICAgOjogImEiICh2YWwpLCAiYyIgKE1TUl9TUEVD X0NUUkwpLCAiZCIgKDApIDogIm1lbW9yeSIgKTsKQEAgLTY5LDcgKzY5LDcgQEAgc3RhdGljIGFs d2F5c19pbmxpbmUgdm9pZCBzcGVjX2N0cmxfZXhpdF9pZGxlKHN0cnVjdCBjcHVfaW5mbyAqaW5m bykKICAgICAgKiBEaXNhYmxlIHNoYWRvd2luZyBiZWZvcmUgdXBkYXRpbmcgdGhlIE1TUi4gIFRo ZXJlIGFyZSBubyBTTVAgaXNzdWVzCiAgICAgICogaGVyZTsgb25seSBsb2NhbCBwcm9jZXNzb3Ig b3JkZXJpbmcgY29uY2VybnMuCiAgICAgICovCi0gICAgaW5mby0+dXNlX3NoYWRvd19zcGVjX2N0 cmwgPSBmYWxzZTsKKyAgICBpbmZvLT5zcGVjX2N0cmxfZmxhZ3MgJj0gflNDRl91c2Vfc2hhZG93 OwogICAgIGJhcnJpZXIoKTsKICAgICBhc20gdm9sYXRpbGUgKCBBTFRFUk5BVElWRShBU01fTk9Q MywgIndybXNyIiwgWDg2X0ZFQVRVUkVfWEVOX0lCUlNfU0VUKQogICAgICAgICAgICAgICAgICAg IDo6ICJhIiAodmFsKSwgImMiIChNU1JfU1BFQ19DVFJMKSwgImQiICgwKSA6ICJtZW1vcnkiICk7 CmRpZmYgLS1naXQgYS94ZW4vaW5jbHVkZS9hc20teDg2L3NwZWNfY3RybF9hc20uaCBiL3hlbi9p bmNsdWRlL2FzbS14ODYvc3BlY19jdHJsX2FzbS5oCmluZGV4IGU4ZThmOWEuLjk3ZGEwOGIgMTAw NjQ0Ci0tLSBhL3hlbi9pbmNsdWRlL2FzbS14ODYvc3BlY19jdHJsX2FzbS5oCisrKyBiL3hlbi9p bmNsdWRlL2FzbS14ODYvc3BlY19jdHJsX2FzbS5oCkBAIC0yMCw5ICsyMCwxMCBAQAogI2lmbmRl ZiBfX1g4Nl9TUEVDX0NUUkxfQVNNX0hfXwogI2RlZmluZSBfX1g4Nl9TUEVDX0NUUkxfQVNNX0hf XwogCi0vKiBFbmNvZGluZyBvZiB0aGUgYm90dG9tIGJpdHMgaW4gY3B1aW5mby5idGlfaXN0X2lu Zm8gKi8KLSNkZWZpbmUgQlRJX0lTVF9XUk1TUiAoMSA8PCAxKQotI2RlZmluZSBCVElfSVNUX1JT QiAgICgxIDw8IDIpCisvKiBFbmNvZGluZyBvZiBjcHVpbmZvLnNwZWNfY3RybF9mbGFncyAqLwor I2RlZmluZSBTQ0ZfdXNlX3NoYWRvdyAoMSA8PCAwKQorI2RlZmluZSBTQ0ZfaXN0X3dybXNyICAo MSA8PCAxKQorI2RlZmluZSBTQ0ZfaXN0X3JzYiAgICAoMSA8PCAyKQogCiAjaWZkZWYgX19BU1NF TUJMWV9fCiAjaW5jbHVkZSA8YXNtL21zci1pbmRleC5oPgpAQCAtNDksMjAgKzUwLDIwIEBACiAg KiBhZnRlciBWTUVYSVQuICBUaGUgVk1FWElULXNwZWNpZmljIGNvZGUgcmVhZHMgTVNSX1NQRUNf Q1RSTCBhbmQgdXBkYXRlcwogICogY3VycmVudCBiZWZvcmUgbG9hZGluZyBYZW4ncyBNU1JfU1BF Q19DVFJMIHNldHRpbmcuCiAgKgotICogRmFjdG9yIDIgaXMgaGFyZGVyLiAgV2UgbWFpbnRhaW4g YSBzaGFkb3dfc3BlY19jdHJsIHZhbHVlLCBhbmQKLSAqIHVzZV9zaGFkb3dfc3BlY19jdHJsIGJv b2xlYW4gcGVyIGNwdS4gIFRoZSBzeW5jaHJvbm91cyB1c2UgaXM6CisgKiBGYWN0b3IgMiBpcyBo YXJkZXIuICBXZSBtYWludGFpbiBhIHNoYWRvd19zcGVjX2N0cmwgdmFsdWUsIGFuZCBhIHVzZV9z aGFkb3cKKyAqIGJvb2xlYW4gaW4gdGhlIHBlciBjcHUgc3BlY19jdHJsX2ZsYWdzLiAgVGhlIHN5 bmNocm9ub3VzIHVzZSBpczoKICAqCiAgKiAgMSkgU3RvcmUgZ3Vlc3QgdmFsdWUgaW4gc2hhZG93 X3NwZWNfY3RybAotICogIDIpIFNldCB1c2Vfc2hhZG93X3NwZWNfY3RybCBib29sZWFuCisgKiAg MikgU2V0IHRoZSB1c2Vfc2hhZG93IGJvb2xlYW4KICAqICAzKSBMb2FkIGd1ZXN0IHZhbHVlIGlu dG8gTVNSX1NQRUNfQ1RSTAogICogIDQpIEV4aXQgdG8gZ3Vlc3QKICAqICA1KSBFbnRyeSBmcm9t IGd1ZXN0Ci0gKiAgNikgQ2xlYXIgdXNlX3NoYWRvd19zcGVjX2N0cmwgYm9vbGVhbgorICogIDYp IENsZWFyIHRoZSB1c2Vfc2hhZG93IGJvb2xlYW4KICAqICA3KSBMb2FkIFhlbidzIHZhbHVlIGlu dG8gTVNSX1NQRUNfQ1RSTAogICoKICAqIFRoZSBhc3luY2hyb25vdXMgdXNlIGZvciBpbnRlcnJ1 cHRzL2V4Y2VwdGlvbnMgaXM6CiAgKiAgLSAgU2V0L2NsZWFyIElCUlMgb24gZW50cnkgdG8gWGVu Ci0gKiAgLSAgT24gZXhpdCB0byBYZW4sIGNoZWNrIHVzZV9zaGFkb3dfc3BlY19jdHJsCisgKiAg LSAgT24gZXhpdCB0byBYZW4sIGNoZWNrIHVzZV9zaGFkb3cKICAqICAtICBJZiBzZXQsIGxvYWQg c2hhZG93X3NwZWNfY3RybAogICoKICAqIFRoZXJlZm9yZSwgYW4gaW50ZXJydXB0L2V4Y2VwdGlv biB3aGljaCBoaXRzIHRoZSBzeW5jaHJvbm91cyBwYXRoIGJldHdlZW4KQEAgLTEzNCw3ICsxMzUs NyBAQAogICAgIHhvciAlZWR4LCAlZWR4CiAKICAgICAvKiBDbGVhciBTUEVDX0NUUkwgc2hhZG93 aW5nICpiZWZvcmUqIGxvYWRpbmcgWGVuJ3MgdmFsdWUuICovCi0gICAgbW92YiAlZGwsIENQVUlO Rk9fdXNlX3NoYWRvd19zcGVjX2N0cmwoJXJzcCkKKyAgICBhbmRiICR+U0NGX3VzZV9zaGFkb3cs IENQVUlORk9fc3BlY19jdHJsX2ZsYWdzKCVyc3ApCiAKICAgICAvKiBMb2FkIFhlbidzIGludGVu ZGVkIHZhbHVlLiAqLwogICAgIG1vdiAkXGlicnNfdmFsLCAlZWF4CkBAIC0xNjAsMTIgKzE2MSwx NCBAQAogICAgICAqIGJsb2NrIHNvIGNhbGN1bGF0ZSB0aGUgcG9zaXRpb24gZGlyZWN0bHkuCiAg ICAgICovCiAgICAgLmlmIFxtYXliZXhlbgorICAgICAgICB4b3IgJWVheCwgJWVheAogICAgICAg ICAvKiBCcmFuY2hsZXNzIGBpZiAoICF4ZW4gKSBjbGVhcl9zaGFkb3dpbmdgICovCiAgICAgICAg IHRlc3RiICQzLCBVUkVHU19jcyglcnNwKQotICAgICAgICBzZXR6ICVhbAotICAgICAgICBhbmQg JWFsLCBTVEFDS19DUFVJTkZPX0ZJRUxEKHVzZV9zaGFkb3dfc3BlY19jdHJsKSglcjE0KQorICAg ICAgICBzZXRueiAlYWwKKyAgICAgICAgbm90ICVlYXgKKyAgICAgICAgYW5kICVhbCwgU1RBQ0tf Q1BVSU5GT19GSUVMRChzcGVjX2N0cmxfZmxhZ3MpKCVyMTQpCiAgICAgLmVsc2UKLSAgICAgICAg bW92YiAlZGwsIENQVUlORk9fdXNlX3NoYWRvd19zcGVjX2N0cmwoJXJzcCkKKyAgICAgICAgYW5k YiAkflNDRl91c2Vfc2hhZG93LCBDUFVJTkZPX3NwZWNfY3RybF9mbGFncyglcnNwKQogICAgIC5l bmRpZgogCiAgICAgLyogTG9hZCBYZW4ncyBpbnRlbmRlZCB2YWx1ZS4gKi8KQEAgLTE4NCw4ICsx ODcsOCBAQAogICovCiAgICAgeG9yICVlZHgsICVlZHgKIAotICAgIGNtcGIgJWRsLCBTVEFDS19D UFVJTkZPX0ZJRUxEKHVzZV9zaGFkb3dfc3BlY19jdHJsKSglcmJ4KQotICAgIGplIC5MXEBfc2tp cAorICAgIHRlc3RiICRTQ0ZfdXNlX3NoYWRvdywgU1RBQ0tfQ1BVSU5GT19GSUVMRChzcGVjX2N0 cmxfZmxhZ3MpKCVyYngpCisgICAganogLkxcQF9za2lwCiAKICAgICBtb3YgU1RBQ0tfQ1BVSU5G T19GSUVMRChzaGFkb3dfc3BlY19jdHJsKSglcmJ4KSwgJWVheAogICAgIG1vdiAkTVNSX1NQRUNf Q1RSTCwgJWVjeApAQCAtMjA2LDcgKzIwOSw3IEBACiAgICAgbW92ICVlYXgsIENQVUlORk9fc2hh ZG93X3NwZWNfY3RybCglcnNwKQogCiAgICAgLyogU2V0IFNQRUNfQ1RSTCBzaGFkb3dpbmcgKmJl Zm9yZSogbG9hZGluZyB0aGUgZ3Vlc3QgdmFsdWUuICovCi0gICAgbW92YiAkMSwgQ1BVSU5GT191 c2Vfc2hhZG93X3NwZWNfY3RybCglcnNwKQorICAgIG9yYiAkU0NGX3VzZV9zaGFkb3csIENQVUlO Rk9fc3BlY19jdHJsX2ZsYWdzKCVyc3ApCiAKICAgICBtb3YgJE1TUl9TUEVDX0NUUkwsICVlY3gK ICAgICB4b3IgJWVkeCwgJWVkeApAQCAtMjY1LDIyICsyNjgsMjMgQEAKICAqIFRoaXMgaXMgbG9n aWNhbCBtZXJnZSBvZiBET19PVkVSV1JJVEVfUlNCIGFuZCBET19TUEVDX0NUUkxfRU5UUlkKICAq IG1heWJleGVuPTEsIGJ1dCB3aXRoIGNvbmRpdGlvbmFscyByYXRoZXIgdGhhbiBhbHRlcm5hdGl2 ZXMuCiAgKi8KLSAgICBtb3Z6YmwgU1RBQ0tfQ1BVSU5GT19GSUVMRChidGlfaXN0X2luZm8pKCVy MTQpLCAlZWF4CisgICAgbW92emJsIFNUQUNLX0NQVUlORk9fRklFTEQoc3BlY19jdHJsX2ZsYWdz KSglcjE0KSwgJWVheAogCi0gICAgdGVzdGIgJEJUSV9JU1RfUlNCLCAlYWwKKyAgICB0ZXN0ICRT Q0ZfaXN0X3JzYiwgJWFsCiAgICAganogLkxcQF9za2lwX3JzYgogCiAgICAgRE9fT1ZFUldSSVRF X1JTQiB0bXA9cmR4IC8qIENsb2JiZXJzICVyY3gvJXJkeCAqLwogCiAuTFxAX3NraXBfcnNiOgog Ci0gICAgdGVzdGIgJEJUSV9JU1RfV1JNU1IsICVhbAorICAgIHRlc3QgJFNDRl9pc3Rfd3Jtc3Is ICVhbAogICAgIGp6IC5MXEBfc2tpcF93cm1zcgogCiAgICAgeG9yICVlZHgsICVlZHgKICAgICB0 ZXN0YiAkMywgVVJFR1NfY3MoJXJzcCkKLSAgICBzZXR6ICVkbAotICAgIGFuZCAlZGwsIFNUQUNL X0NQVUlORk9fRklFTEQodXNlX3NoYWRvd19zcGVjX2N0cmwpKCVyMTQpCisgICAgc2V0bnogJWRs CisgICAgbm90ICVlZHgKKyAgICBhbmQgJWRsLCBTVEFDS19DUFVJTkZPX0ZJRUxEKHNwZWNfY3Ry bF9mbGFncykoJXIxNCkKIAogICAgIC8qIExvYWQgWGVuJ3MgaW50ZW5kZWQgdmFsdWUuICovCiAg ICAgbW92ICRNU1JfU1BFQ19DVFJMLCAlZWN4CkBAIC0zMDcsNyArMzExLDcgQEAgVU5MSUtFTFlf RElTUEFUQ0hfTEFCRUwoXEBfc2VyaWFsaXNlKToKICAqIFJlcXVpcmVzICVyYng9c3RhY2tfZW5k CiAgKiBDbG9iYmVycyAlcmF4LCAlcmN4LCAlcmR4CiAgKi8KLSAgICB0ZXN0YiAkQlRJX0lTVF9X Uk1TUiwgU1RBQ0tfQ1BVSU5GT19GSUVMRChidGlfaXN0X2luZm8pKCVyYngpCisgICAgdGVzdGIg JFNDRl9pc3Rfd3Jtc3IsIFNUQUNLX0NQVUlORk9fRklFTEQoc3BlY19jdHJsX2ZsYWdzKSglcmJ4 KQogICAgIGp6IC5MXEBfc2tpcAogCiAgICAgRE9fU1BFQ19DVFJMX0VYSVRfVE9fWEVOCi0tIAoy LjEuNAoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fClhl bi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnCmh0dHBz Oi8vbGlzdHMueGVucHJvamVjdC5vcmcvbWFpbG1hbi9saXN0aW5mby94ZW4tZGV2ZWw=