From mboxrd@z Thu Jan 1 00:00:00 1970 From: Haozhong Zhang Subject: [PATCH v3] vvmx: replace vmreturn() by vmsucceed() and vmfail*() Date: Thu, 15 Dec 2016 20:45:55 +0800 Message-ID: <20161215124555.4233-1-haozhong.zhang@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: xen-devel@lists.xen.org Cc: Haozhong Zhang , Kevin Tian , Jun Nakajima , Andrew Cooper , Jan Beulich List-Id: xen-devel@lists.xenproject.org UmVwbGFjZSB2bXJldHVybigpIGJ5IHZtc3VjY2VlZCgpLCB2bWZhaWwoKSwgdm1mYWlsX3ZhbGlk KCkgYW5kCnZtZmFpbF9pbnZhbGlkKCksIHdoaWNoIGFyZSBjb25zaXN0ZW50IHRvIHRoZSBwc2V1 ZG8gY29kZSBvbiBJbnRlbApTRE0sIGFuZCBhbGxvdyB0byByZXR1cm4gVk0gaW5zdHJ1Y3Rpb24g ZXJyb3IgbnVtYmVycyB0byBMMQpoeXBlcnZpc29yLgoKU2lnbmVkLW9mZi1ieTogSGFvemhvbmcg WmhhbmcgPGhhb3pob25nLnpoYW5nQGludGVsLmNvbT4KQWNrZWQtYnk6IEFuZHJldyBDb29wZXIg PGFuZHJldy5jb29wZXIzQGNpdHJpeC5jb20+Ci0tLQpDaGFuZ2VzIGluIHYzOgogKiBSZXBsYWNl IFZNU1VDQ0VFRF9FRkxBR1NfTUFTSyBieSBhIG1vcmUgZ2VuZXJhbCBYODZfRUZMQUdTX0FSSVRI X01BU0suCiAgIChBbmRyZXcgQ29vcGVyKQoKQ2hhbmdlcyBpbiB2MjoKICogRml4IHRoZSBpbmNv cnJlY3QgZWZsYWdzIGluIHZtZmFpbF9pbnZhbGlkKCkuCi0tLQogeGVuL2FyY2gveDg2L2h2bS92 bXgvdnZteC5jICAgICAgICB8IDEwMyArKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0t LS0tCiB4ZW4vaW5jbHVkZS9hc20teDg2L2h2bS92bXgvdm1jcy5oIHwgIDE1ICsrKystLQogeGVu L2luY2x1ZGUvYXNtLXg4Ni9wcm9jZXNzb3IuaCAgICB8ICAgNCArKwogMyBmaWxlcyBjaGFuZ2Vk LCA3NCBpbnNlcnRpb25zKCspLCA0OCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS94ZW4vYXJj aC94ODYvaHZtL3ZteC92dm14LmMgYi94ZW4vYXJjaC94ODYvaHZtL3ZteC92dm14LmMKaW5kZXgg YzRmMTlhMC4uODE4OWQzNyAxMDA2NDQKLS0tIGEveGVuL2FyY2gveDg2L2h2bS92bXgvdnZteC5j CisrKyBiL3hlbi9hcmNoL3g4Ni9odm0vdm14L3Z2bXguYwpAQCAtNDc5LDI4ICs0NzksMzMgQEAg Z3BfZmF1bHQ6CiAgICAgcmV0dXJuIFg4NkVNVUxfRVhDRVBUSU9OOwogfQogCi1zdGF0aWMgdm9p ZCB2bXJldHVybihzdHJ1Y3QgY3B1X3VzZXJfcmVncyAqcmVncywgZW51bSB2bXhfb3BzX3Jlc3Vs dCBvcHNfcmVzKQorc3RhdGljIHZvaWQgdm1zdWNjZWVkKHN0cnVjdCBjcHVfdXNlcl9yZWdzICpy ZWdzKQogeworICAgIHJlZ3MtPmVmbGFncyAmPSB+WDg2X0VGTEFHU19BUklUSF9NQVNLOworfQor CitzdGF0aWMgdm9pZCB2bWZhaWxfdmFsaWQoc3RydWN0IGNwdV91c2VyX3JlZ3MgKnJlZ3MsIGVu dW0gdm14X2luc25fZXJybm8gZXJybm8pCit7CisgICAgc3RydWN0IHZjcHUgKnYgPSBjdXJyZW50 OwogICAgIHVuc2lnbmVkIGxvbmcgZWZsYWdzID0gcmVncy0+ZWZsYWdzOwotICAgIHVuc2lnbmVk IGxvbmcgbWFzayA9IFg4Nl9FRkxBR1NfQ0YgfCBYODZfRUZMQUdTX1BGIHwgWDg2X0VGTEFHU19B RiB8Ci0gICAgICAgICAgICAgICAgICAgICAgICAgWDg2X0VGTEFHU19aRiB8IFg4Nl9FRkxBR1Nf U0YgfCBYODZfRUZMQUdTX09GOwogCi0gICAgZWZsYWdzICY9IH5tYXNrOworICAgIHJlZ3MtPmVm bGFncyA9IChlZmxhZ3MgJiB+WDg2X0VGTEFHU19BUklUSF9NQVNLKSB8IFg4Nl9FRkxBR1NfWkY7 CisgICAgc2V0X3Z2bWNzKHYsIFZNX0lOU1RSVUNUSU9OX0VSUk9SLCBlcnJubyk7Cit9CiAKLSAg ICBzd2l0Y2ggKCBvcHNfcmVzICkgewotICAgIGNhc2UgVk1TVUNDRUVEOgotICAgICAgICBicmVh azsKLSAgICBjYXNlIFZNRkFJTF9WQUxJRDoKLSAgICAgICAgLyogVE9ETzogZXJyb3IgbnVtYmVy LCB1c2VmdWwgZm9yIGd1ZXN0IFZNTSBkZWJ1Z2dpbmcgKi8KLSAgICAgICAgZWZsYWdzIHw9IFg4 Nl9FRkxBR1NfWkY7Ci0gICAgICAgIGJyZWFrOwotICAgIGNhc2UgVk1GQUlMX0lOVkFMSUQ6Ci0g ICAgZGVmYXVsdDoKLSAgICAgICAgZWZsYWdzIHw9IFg4Nl9FRkxBR1NfQ0Y7Ci0gICAgICAgIGJy ZWFrOwotICAgIH0KK3N0YXRpYyB2b2lkIHZtZmFpbF9pbnZhbGlkKHN0cnVjdCBjcHVfdXNlcl9y ZWdzICpyZWdzKQoreworICAgIHVuc2lnbmVkIGxvbmcgZWZsYWdzID0gcmVncy0+ZWZsYWdzOwor CisgICAgcmVncy0+ZWZsYWdzID0gKGVmbGFncyAmIH5YODZfRUZMQUdTX0FSSVRIX01BU0spIHwg WDg2X0VGTEFHU19DRjsKK30KIAotICAgIHJlZ3MtPmVmbGFncyA9IGVmbGFnczsKK3N0YXRpYyB2 b2lkIHZtZmFpbChzdHJ1Y3QgY3B1X3VzZXJfcmVncyAqcmVncywgZW51bSB2bXhfaW5zbl9lcnJu byBlcnJubykKK3sKKyAgICBpZiAoIHZjcHVfbmVzdGVkaHZtKGN1cnJlbnQpLm52X3Z2bWN4YWRk ciAhPSBJTlZBTElEX1BBRERSICkKKyAgICAgICAgdm1mYWlsX3ZhbGlkKHJlZ3MsIGVycm5vKTsK KyAgICBlbHNlCisgICAgICAgIHZtZmFpbF9pbnZhbGlkKHJlZ3MpOwogfQogCiBib29sX3QgbnZt eF9pbnRlcmNlcHRzX2V4Y2VwdGlvbigKQEAgLTEzMzgsNyArMTM0Myw3IEBAIHN0YXRpYyB2b2lk IHZpcnR1YWxfdm1leGl0KHN0cnVjdCBjcHVfdXNlcl9yZWdzICpyZWdzKQogICAgICAgICBudm14 X3VwZGF0ZV9hcGljdih2KTsKIAogICAgIG52Y3B1LT5udl92bXN3aXRjaF9pbl9wcm9ncmVzcyA9 IDA7Ci0gICAgdm1yZXR1cm4ocmVncywgVk1TVUNDRUVEKTsKKyAgICB2bXN1Y2NlZWQocmVncyk7 CiB9CiAKIHZvaWQgbnZteF9zd2l0Y2hfZ3Vlc3Qodm9pZCkKQEAgLTEzOTIsMTUgKzEzOTcsMTMg QEAgaW50IG52bXhfaGFuZGxlX3ZteG9uKHN0cnVjdCBjcHVfdXNlcl9yZWdzICpyZWdzKQogCiAg ICAgaWYgKCBudm14X3ZjcHVfaW5fdm14KHYpICkKICAgICB7Ci0gICAgICAgIHZtcmV0dXJuKHJl Z3MsCi0gICAgICAgICAgICAgICAgIG52Y3B1LT5udl92dm1jeGFkZHIgIT0gSU5WQUxJRF9QQURE UiA/Ci0gICAgICAgICAgICAgICAgIFZNRkFJTF9WQUxJRCA6IFZNRkFJTF9JTlZBTElEKTsKKyAg ICAgICAgdm1mYWlsKHJlZ3MsIFZNWF9JTlNOX1ZNWE9OX0lOX1ZNWF9ST09UKTsKICAgICAgICAg cmV0dXJuIFg4NkVNVUxfT0tBWTsKICAgICB9CiAKICAgICBpZiAoIChncGEgJiB+UEFHRV9NQVNL KSB8fCAoZ3BhID4+IHYtPmRvbWFpbi0+YXJjaC5wYWdpbmcuZ2ZuX2JpdHMpICkKICAgICB7Ci0g ICAgICAgIHZtcmV0dXJuKHJlZ3MsIFZNRkFJTF9JTlZBTElEKTsKKyAgICAgICAgdm1mYWlsX2lu dmFsaWQocmVncyk7CiAgICAgICAgIHJldHVybiBYODZFTVVMX09LQVk7CiAgICAgfQogCkBAIC0x NDA5LDcgKzE0MTIsNyBAQCBpbnQgbnZteF9oYW5kbGVfdm14b24oc3RydWN0IGNwdV91c2VyX3Jl Z3MgKnJlZ3MpCiAgICAgICAgICAobnZtY3NfcmV2aWQgJiB+Vk1YX0JBU0lDX1JFVklTSU9OX01B U0spIHx8CiAgICAgICAgICAoKG52bWNzX3JldmlkIF4gdm14X2Jhc2ljX21zcikgJiBWTVhfQkFT SUNfUkVWSVNJT05fTUFTSykgKQogICAgIHsKLSAgICAgICAgdm1yZXR1cm4ocmVncywgVk1GQUlM X0lOVkFMSUQpOworICAgICAgICB2bWZhaWxfaW52YWxpZChyZWdzKTsKICAgICAgICAgcmV0dXJu IFg4NkVNVUxfT0tBWTsKICAgICB9CiAKQEAgLTE0MjUsNyArMTQyOCw3IEBAIGludCBudm14X2hh bmRsZV92bXhvbihzdHJ1Y3QgY3B1X3VzZXJfcmVncyAqcmVncykKICAgICAgICAgICAgICAgICAg ICAgIF9tZm4oUEZOX0RPV04odi0+YXJjaC5odm1fdm14LnZtY3NfcGEpKSk7CiAgICAgX192bXB0 cmxkKHYtPmFyY2guaHZtX3ZteC52bWNzX3BhKTsKICAgICB2LT5hcmNoLmh2bV92bXgubGF1bmNo ZWQgPSAwOwotICAgIHZtcmV0dXJuKHJlZ3MsIFZNU1VDQ0VFRCk7CisgICAgdm1zdWNjZWVkKHJl Z3MpOwogCiAgICAgcmV0dXJuIFg4NkVNVUxfT0tBWTsKIH0KQEAgLTE0NDMsNyArMTQ0Niw3IEBA IGludCBudm14X2hhbmRsZV92bXhvZmYoc3RydWN0IGNwdV91c2VyX3JlZ3MgKnJlZ3MpCiAgICAg bnZteF9wdXJnZV92dm1jcyh2KTsKICAgICBudm14LT52bXhvbl9yZWdpb25fcGEgPSBJTlZBTElE X1BBRERSOwogCi0gICAgdm1yZXR1cm4ocmVncywgVk1TVUNDRUVEKTsKKyAgICB2bXN1Y2NlZWQo cmVncyk7CiAgICAgcmV0dXJuIFg4NkVNVUxfT0tBWTsKIH0KIApAQCAtMTUxNCw3ICsxNTE3LDcg QEAgc3RhdGljIGludCBudm14X3ZtcmVzdW1lKHN0cnVjdCB2Y3B1ICp2LCBzdHJ1Y3QgY3B1X3Vz ZXJfcmVncyAqcmVncykKICAgICAgICAgICAgICEoX19uMl9leGVjX2NvbnRyb2wodikgJiBDUFVf QkFTRURfQUNUSVZBVEVfSU9fQklUTUFQKSApICkKICAgICAgICAgbnZjcHUtPm52X3ZtZW50cnlf cGVuZGluZyA9IDE7CiAgICAgZWxzZQotICAgICAgICB2bXJldHVybihyZWdzLCBWTUZBSUxfSU5W QUxJRCk7CisgICAgICAgIHZtZmFpbF9pbnZhbGlkKHJlZ3MpOwogCiAgICAgcmV0dXJuIFg4NkVN VUxfT0tBWTsKIH0KQEAgLTE1MzEsMTUgKzE1MzQsMTYgQEAgaW50IG52bXhfaGFuZGxlX3ZtcmVz dW1lKHN0cnVjdCBjcHVfdXNlcl9yZWdzICpyZWdzKQogCiAgICAgaWYgKCB2Y3B1X25lc3RlZGh2 bSh2KS5udl92dm1jeGFkZHIgPT0gSU5WQUxJRF9QQUREUiApCiAgICAgewotICAgICAgICB2bXJl dHVybiAocmVncywgVk1GQUlMX0lOVkFMSUQpOworICAgICAgICB2bWZhaWxfaW52YWxpZChyZWdz KTsKICAgICAgICAgcmV0dXJuIFg4NkVNVUxfT0tBWTsgICAgICAgIAogICAgIH0KIAogICAgIGxh dW5jaGVkID0gdnZtY3NfbGF1bmNoZWQoJm52bXgtPmxhdW5jaGVkX2xpc3QsCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBQRk5fRE9XTih2LT5hcmNoLmh2bV92bXgudm1jc19zaGFkb3df bWFkZHIpKTsKLSAgICBpZiAoICFsYXVuY2hlZCApIHsKLSAgICAgICB2bXJldHVybiAocmVncywg Vk1GQUlMX1ZBTElEKTsKLSAgICAgICByZXR1cm4gWDg2RU1VTF9PS0FZOworICAgIGlmICggIWxh dW5jaGVkICkKKyAgICB7CisgICAgICAgIHZtZmFpbF92YWxpZChyZWdzLCBWTVhfSU5TTl9WTVJF U1VNRV9OT05MQVVOQ0hFRF9WTUNTKTsKKyAgICAgICAgcmV0dXJuIFg4NkVNVUxfT0tBWTsKICAg ICB9CiAgICAgcmV0dXJuIG52bXhfdm1yZXN1bWUodixyZWdzKTsKIH0KQEAgLTE1NTYsMTUgKzE1 NjAsMTYgQEAgaW50IG52bXhfaGFuZGxlX3ZtbGF1bmNoKHN0cnVjdCBjcHVfdXNlcl9yZWdzICpy ZWdzKQogCiAgICAgaWYgKCB2Y3B1X25lc3RlZGh2bSh2KS5udl92dm1jeGFkZHIgPT0gSU5WQUxJ RF9QQUREUiApCiAgICAgewotICAgICAgICB2bXJldHVybiAocmVncywgVk1GQUlMX0lOVkFMSUQp OworICAgICAgICB2bWZhaWxfaW52YWxpZChyZWdzKTsKICAgICAgICAgcmV0dXJuIFg4NkVNVUxf T0tBWTsKICAgICB9CiAKICAgICBsYXVuY2hlZCA9IHZ2bWNzX2xhdW5jaGVkKCZudm14LT5sYXVu Y2hlZF9saXN0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUEZOX0RPV04odi0+YXJj aC5odm1fdm14LnZtY3Nfc2hhZG93X21hZGRyKSk7Ci0gICAgaWYgKCBsYXVuY2hlZCApIHsKLSAg ICAgICB2bXJldHVybiAocmVncywgVk1GQUlMX1ZBTElEKTsKLSAgICAgICByZXR1cm4gWDg2RU1V TF9PS0FZOworICAgIGlmICggbGF1bmNoZWQgKQorICAgIHsKKyAgICAgICAgdm1mYWlsX3ZhbGlk KHJlZ3MsIFZNWF9JTlNOX1ZNTEFVTkNIX05PTkNMRUFSX1ZNQ1MpOworICAgICAgICByZXR1cm4g WDg2RU1VTF9PS0FZOwogICAgIH0KICAgICBlbHNlIHsKICAgICAgICAgcmMgPSBudm14X3ZtcmVz dW1lKHYscmVncyk7CkBAIC0xNTkyLDcgKzE1OTcsNyBAQCBpbnQgbnZteF9oYW5kbGVfdm1wdHJs ZChzdHJ1Y3QgY3B1X3VzZXJfcmVncyAqcmVncykKIAogICAgIGlmICggZ3BhID09IHZjcHVfMl9u dm14KHYpLnZteG9uX3JlZ2lvbl9wYSB8fCBncGEgJiAweGZmZiApCiAgICAgewotICAgICAgICB2 bXJldHVybihyZWdzLCBWTUZBSUxfSU5WQUxJRCk7CisgICAgICAgIHZtZmFpbF9pbnZhbGlkKHJl Z3MpOwogICAgICAgICBnb3RvIG91dDsKICAgICB9CiAKQEAgLTE2MjMsNyArMTYyOCw3IEBAIGlu dCBudm14X2hhbmRsZV92bXB0cmxkKHN0cnVjdCBjcHVfdXNlcl9yZWdzICpyZWdzKQogICAgICAg ICAgICAgICFtYXBfaW9fYml0bWFwX2FsbCh2KSB8fAogICAgICAgICAgICAgICFfbWFwX21zcl9i aXRtYXAodikgKQogICAgICAgICB7Ci0gICAgICAgICAgICB2bXJldHVybihyZWdzLCBWTUZBSUxf VkFMSUQpOworICAgICAgICAgICAgdm1mYWlsX3ZhbGlkKHJlZ3MsIFZNWF9JTlNOX1ZNUFRSTERf SU5WQUxJRF9QSFlBRERSKTsKICAgICAgICAgICAgIGdvdG8gb3V0OwogICAgICAgICB9CiAgICAg fQpAQCAtMTYzMSw3ICsxNjM2LDcgQEAgaW50IG52bXhfaGFuZGxlX3ZtcHRybGQoc3RydWN0IGNw dV91c2VyX3JlZ3MgKnJlZ3MpCiAgICAgaWYgKCBjcHVfaGFzX3ZteF92bWNzX3NoYWRvd2luZyAp CiAgICAgICAgIG52bXhfc2V0X3ZtY3NfcG9pbnRlcih2LCBudmNwdS0+bnZfdnZtY3gpOwogCi0g ICAgdm1yZXR1cm4ocmVncywgVk1TVUNDRUVEKTsKKyAgICB2bXN1Y2NlZWQocmVncyk7CiAKIG91 dDoKICAgICByZXR1cm4gWDg2RU1VTF9PS0FZOwpAQCAtMTY1OCw3ICsxNjYzLDcgQEAgaW50IG52 bXhfaGFuZGxlX3ZtcHRyc3Qoc3RydWN0IGNwdV91c2VyX3JlZ3MgKnJlZ3MpCiAgICAgaWYgKCBy YyAhPSBIVk1DT1BZX29rYXkgKQogICAgICAgICByZXR1cm4gWDg2RU1VTF9FWENFUFRJT047CiAK LSAgICB2bXJldHVybihyZWdzLCBWTVNVQ0NFRUQpOworICAgIHZtc3VjY2VlZChyZWdzKTsKICAg ICByZXR1cm4gWDg2RU1VTF9PS0FZOwogfQogCkBAIC0xNzA0LDcgKzE3MDksMTIgQEAgaW50IG52 bXhfaGFuZGxlX3ZtY2xlYXIoc3RydWN0IGNwdV91c2VyX3JlZ3MgKnJlZ3MpCiAgICAgICAgIH0K ICAgICB9CiAKLSAgICB2bXJldHVybihyZWdzLCByYyk7CisgICAgaWYgKCByYyA9PSBWTVNVQ0NF RUQgKQorICAgICAgICB2bXN1Y2NlZWQocmVncyk7CisgICAgZWxzZSBpZiAoIHJjID09IFZNRkFJ TF9WQUxJRCApCisgICAgICAgIHZtZmFpbF92YWxpZChyZWdzLCBWTVhfSU5TTl9WTUNMRUFSX0lO VkFMSURfUEhZQUREUik7CisgICAgZWxzZQorICAgICAgICB2bWZhaWxfaW52YWxpZChyZWdzKTsK IAogICAgIHJldHVybiBYODZFTVVMX09LQVk7CiB9CkBAIC0xNzM2LDcgKzE3NDYsNyBAQCBpbnQg bnZteF9oYW5kbGVfdm1yZWFkKHN0cnVjdCBjcHVfdXNlcl9yZWdzICpyZWdzKQogICAgICAgICBi cmVhazsKICAgICB9CiAKLSAgICB2bXJldHVybihyZWdzLCBWTVNVQ0NFRUQpOworICAgIHZtc3Vj Y2VlZChyZWdzKTsKICAgICByZXR1cm4gWDg2RU1VTF9PS0FZOwogfQogCkBAIC0xNzY4LDcgKzE3 NzgsMTAgQEAgaW50IG52bXhfaGFuZGxlX3Ztd3JpdGUoc3RydWN0IGNwdV91c2VyX3JlZ3MgKnJl Z3MpCiAgICAgICAgIGJyZWFrOwogICAgIH0KIAotICAgIHZtcmV0dXJuKHJlZ3MsIG9rYXkgPyBW TVNVQ0NFRUQgOiBWTUZBSUxfVkFMSUQpOworICAgIGlmICggb2theSApCisgICAgICAgIHZtc3Vj Y2VlZChyZWdzKTsKKyAgICBlbHNlCisgICAgICAgIHZtZmFpbF92YWxpZChyZWdzLCBWTVhfSU5T Tl9VTlNVUFBPUlRFRF9WTUNTX0NPTVBPTkVOVCk7CiAKICAgICByZXR1cm4gWDg2RU1VTF9PS0FZ OwogfQpAQCAtMTc5OSwxMCArMTgxMiwxMCBAQCBpbnQgbnZteF9oYW5kbGVfaW52ZXB0KHN0cnVj dCBjcHVfdXNlcl9yZWdzICpyZWdzKQogICAgICAgICBfX2ludmVwdChJTlZFUFRfQUxMX0NPTlRF WFQsIDAsIDApOwogICAgICAgICBicmVhazsKICAgICBkZWZhdWx0OgotICAgICAgICB2bXJldHVy bihyZWdzLCBWTUZBSUxfSU5WQUxJRCk7CisgICAgICAgIHZtZmFpbF9pbnZhbGlkKHJlZ3MpOwog ICAgICAgICByZXR1cm4gWDg2RU1VTF9PS0FZOwogICAgIH0KLSAgICB2bXJldHVybihyZWdzLCBW TVNVQ0NFRUQpOworICAgIHZtc3VjY2VlZChyZWdzKTsKICAgICByZXR1cm4gWDg2RU1VTF9PS0FZ OwogfQogCkBAIC0xODI0LDExICsxODM3LDExIEBAIGludCBudm14X2hhbmRsZV9pbnZ2cGlkKHN0 cnVjdCBjcHVfdXNlcl9yZWdzICpyZWdzKQogICAgICAgICBodm1fYXNpZF9mbHVzaF92Y3B1X2Fz aWQoJnZjcHVfbmVzdGVkaHZtKGN1cnJlbnQpLm52X24yYXNpZCk7CiAgICAgICAgIGJyZWFrOwog ICAgIGRlZmF1bHQ6Ci0gICAgICAgIHZtcmV0dXJuKHJlZ3MsIFZNRkFJTF9JTlZBTElEKTsKKyAg ICAgICAgdm1mYWlsX2ludmFsaWQocmVncyk7CiAgICAgICAgIHJldHVybiBYODZFTVVMX09LQVk7 CiAgICAgfQogCi0gICAgdm1yZXR1cm4ocmVncywgVk1TVUNDRUVEKTsKKyAgICB2bXN1Y2NlZWQo cmVncyk7CiAgICAgcmV0dXJuIFg4NkVNVUxfT0tBWTsKIH0KIApkaWZmIC0tZ2l0IGEveGVuL2lu Y2x1ZGUvYXNtLXg4Ni9odm0vdm14L3ZtY3MuaCBiL3hlbi9pbmNsdWRlL2FzbS14ODYvaHZtL3Zt eC92bWNzLmgKaW5kZXggODk0MDkzZC4uNmMzZDdiYSAxMDA2NDQKLS0tIGEveGVuL2luY2x1ZGUv YXNtLXg4Ni9odm0vdm14L3ZtY3MuaAorKysgYi94ZW4vaW5jbHVkZS9hc20teDg2L2h2bS92bXgv dm1jcy5oCkBAIC01NzQsOSArNTc0LDE4IEBAIGVudW0gdm1jc19maWVsZCB7CiAjZGVmaW5lIFZN WF9HVUVTVF9NU1IgMAogI2RlZmluZSBWTVhfSE9TVF9NU1IgIDEKIAotLyogVk0gSW5zdHJ1Y3Rp b24gZXJyb3IgbnVtYmVycy4gKi8KLSNkZWZpbmUgVk1YX0lOU05fSU5WQUxJRF9DT05UUk9MX1NU QVRFICAgICAgIDcKLSNkZWZpbmUgVk1YX0lOU05fSU5WQUxJRF9IT1NUX1NUQVRFICAgICAgICAg IDgKKy8qIFZNIEluc3RydWN0aW9uIGVycm9yIG51bWJlcnMgKi8KK2VudW0gdm14X2luc25fZXJy bm8KK3sKKyAgICBWTVhfSU5TTl9WTUNMRUFSX0lOVkFMSURfUEhZQUREUiAgICAgICA9IDIsCisg ICAgVk1YX0lOU05fVk1MQVVOQ0hfTk9OQ0xFQVJfVk1DUyAgICAgICAgPSA0LAorICAgIFZNWF9J TlNOX1ZNUkVTVU1FX05PTkxBVU5DSEVEX1ZNQ1MgICAgID0gNSwKKyAgICBWTVhfSU5TTl9JTlZB TElEX0NPTlRST0xfU1RBVEUgICAgICAgICA9IDcsCisgICAgVk1YX0lOU05fSU5WQUxJRF9IT1NU X1NUQVRFICAgICAgICAgICAgPSA4LAorICAgIFZNWF9JTlNOX1ZNUFRSTERfSU5WQUxJRF9QSFlB RERSICAgICAgID0gOSwKKyAgICBWTVhfSU5TTl9VTlNVUFBPUlRFRF9WTUNTX0NPTVBPTkVOVCAg ICA9IDEyLAorICAgIFZNWF9JTlNOX1ZNWE9OX0lOX1ZNWF9ST09UICAgICAgICAgICAgID0gMTUs Cit9OwogCiB2b2lkIHZteF9kaXNhYmxlX2ludGVyY2VwdF9mb3JfbXNyKHN0cnVjdCB2Y3B1ICp2 LCB1MzIgbXNyLCBpbnQgdHlwZSk7CiB2b2lkIHZteF9lbmFibGVfaW50ZXJjZXB0X2Zvcl9tc3Io c3RydWN0IHZjcHUgKnYsIHUzMiBtc3IsIGludCB0eXBlKTsKZGlmZiAtLWdpdCBhL3hlbi9pbmNs dWRlL2FzbS14ODYvcHJvY2Vzc29yLmggYi94ZW4vaW5jbHVkZS9hc20teDg2L3Byb2Nlc3Nvci5o CmluZGV4IDYzNzhhZmQuLmFhOWUzM2UgMTAwNjQ0Ci0tLSBhL3hlbi9pbmNsdWRlL2FzbS14ODYv cHJvY2Vzc29yLmgKKysrIGIveGVuL2luY2x1ZGUvYXNtLXg4Ni9wcm9jZXNzb3IuaApAQCAtNTMs NiArNTMsMTAgQEAKICNkZWZpbmUgWDg2X0VGTEFHU19WSVAJMHgwMDEwMDAwMCAvKiBWaXJ0dWFs IEludGVycnVwdCBQZW5kaW5nICovCiAjZGVmaW5lIFg4Nl9FRkxBR1NfSUQJMHgwMDIwMDAwMCAv KiBDUFVJRCBkZXRlY3Rpb24gZmxhZyAqLwogCisjZGVmaW5lIFg4Nl9FRkxBR1NfQVJJVEhfTUFT SyAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgIChYODZfRUZMQUdTX0NGIHwgWDg2X0VG TEFHU19QRiB8IFg4Nl9FRkxBR1NfQUYgfCAgIFwKKyAgICAgWDg2X0VGTEFHU19aRiB8IFg4Nl9F RkxBR1NfU0YgfCBYODZfRUZMQUdTX09GKQorCiAvKgogICogSW50ZWwgQ1BVIGZsYWdzIGluIENS MAogICovCi0tIAoyLjEwLjEKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fXwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54ZW4ub3Jn Cmh0dHBzOi8vbGlzdHMueGVuLm9yZy94ZW4tZGV2ZWwK