From mboxrd@z Thu Jan 1 00:00:00 1970 From: Yi Sun Subject: [PATCH v6 08/16] x86: implement set value flow for MBA Date: Sun, 8 Oct 2017 15:23:53 +0800 Message-ID: <1507447441-5422-9-git-send-email-yi.y.sun@linux.intel.com> References: <1507447441-5422-1-git-send-email-yi.y.sun@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail6.bemta6.messagelabs.com ([193.109.254.103]) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1e16Gz-0002jp-4E for xen-devel@lists.xenproject.org; Sun, 08 Oct 2017 07:45:17 +0000 In-Reply-To: <1507447441-5422-1-git-send-email-yi.y.sun@linux.intel.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: Wei Liu , Yi Sun , Andrew Cooper , Jan Beulich , Chao Peng , =?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= List-Id: xen-devel@lists.xenproject.org VGhpcyBwYXRjaCBpbXBsZW1lbnRzIHNldCB2YWx1ZSBmbG93IGZvciBNQkEgaW5jbHVkaW5nIGl0 cyBjYWxsYmFjawpmdW5jdGlvbiBhbmQgZG9tY3RsIGludGVyZmFjZS4KClNpZ25lZC1vZmYtYnk6 IFlpIFN1biA8eWkueS5zdW5AbGludXguaW50ZWwuY29tPgotLS0KQ0M6IEphbiBCZXVsaWNoIDxq YmV1bGljaEBzdXNlLmNvbT4KQ0M6IEFuZHJldyBDb29wZXIgPGFuZHJldy5jb29wZXIzQGNpdHJp eC5jb20+CkNDOiBXZWkgTGl1IDx3ZWkubGl1MkBjaXRyaXguY29tPgpDQzogUm9nZXIgUGF1IE1v bm7DqSA8cm9nZXIucGF1QGNpdHJpeC5jb20+CkNDOiBDaGFvIFBlbmcgPGNoYW8ucC5wZW5nQGxp bnV4LmludGVsLmNvbT4KCnY2OgogICAgLSBzcGxpdCBjby1leGlzdCBmZWF0dXJlcycgdmFsdWVz IHNldHRpbmcgZmxvdyB0byBhIG5ldyBwYXRjaC4KICAgICAgKHN1Z2dlc3RlZCBieSBKYW4gQmV1 bGljaCkKICAgIC0gcmVzdG9yZSBjb2RlcyByZWxhdGVkIHRvICdtYmFfY2hlY2tfdGhydGwnIGFu ZCAnY2hlY2tfdmFsdWUnLgogICAgICAoc3VnZ2VzdGVkIGJ5IEphbiBCZXVsaWNoKQp2NToKICAg IC0gYWRqdXN0IHBvc2l0aW9uIG9mICdjYXRfY2hlY2tfY2JtJyB0byBub3QgdG8gbWFrZSBjaGFu Z2VzIHNvIGJpZy4KICAgICAgKHN1Z2dlc3RlZCBieSBSb2dlciBQYXUgTW9ubsOpKQogICAgLSBy ZW1vdmUgJ3Byb3BzJyBmcm9tICdzdHJ1Y3QgY29zX3dyaXRlX2luZm8nLgogICAgICAoc3VnZ2Vz dGVkIGJ5IFJvZ2VyIFBhdSBNb25uw6kpCiAgICAtIG1ha2UgYSBzaW5nbGUgcmV0dXJuIHN0YXRl bWVudCBpbiAnbWJhX2NoZWNrX3RocnRsJy4KICAgICAgKHN1Z2dlc3RlZCBieSBKYW4gQmV1bGlj aCkKdjQ6CiAgICAtIHJlbW92ZSAnQUxMT0NfJyBmcm9tIG1hY3JvIG5hbWVzLgogICAgICAoc3Vn Z2VzdGVkIGJ5IFJvZ2VyIFBhdSBNb25uw6kpCiAgICAtIGpvaW4gdHdvIGNoZWNrcyBpbnRvIGEg c2luZ2xlIGlmLgogICAgICAoc3VnZ2VzdGVkIGJ5IFJvZ2VyIFBhdSBNb25uw6kpCiAgICAtIHJl bW92ZSByZWR1bmRhbnQgbG9jYWwgdmFyaWFibGUgJ2FycmF5X2xlbicuCiAgICAgIChzdWdnZXN0 ZWQgYnkgUm9nZXIgUGF1IE1vbm7DqSkKdjM6CiAgICAtIG1vZGlmeSBjb21taXQgbWVzc2FnZSB0 byBtYWtlIGl0IGNsZWFyLgogICAgICAoc3VnZ2VzdGVkIGJ5IFJvZ2VyIFBhdSBNb25uw6kpCiAg ICAtIG1vZGlmeSBmdW5jdGlvbmFsaXR5IG9mICdjaGVja192YWwnIHRvIG1ha2UgaXQgc2ltcGxl IHRvIG9ubHkgY2hlY2sgdmFsdWUuCiAgICAgIENoYW5nZSB0aGUgbGFzdCBwYXJhbWV0ZXIgdHlw ZSBmcm9tICd1bnNpZ25lZCBsb25nIConIHRvICd1bnNpZ25lZCBsb25nJy4KICAgICAgKHN1Z2dl c3RlZCBieSBSb2dlciBQYXUgTW9ubsOpKQogICAgLSBjYWxsIHJkbXNybCB0byBnZXQgdmFsdWUg anVzdCB3cml0dGVuIGludG8gTVNSIGZvciBNQkEuIEJlY2F1c2UgSFcgY2FuCiAgICAgIGF1dG9t YXRpY2FsbHkgY2hhbmdlIGlucHV0IHZhbHVlIHRvIHdoYXQgaXQgd2FudHMuCiAgICAgIChzdWdn ZXN0ZWQgYnkgUm9nZXIgUGF1IE1vbm7DqSkKICAgIC0gY2hhbmdlIHR5cGUgb2YgJ3dyaXRlX21z cicgdG8gJ3VpbnQzMl90JyB0byByZXR1cm4gdGhlIHZhbHVlIGFjdHVhbGx5CiAgICAgIHdyaXR0 ZW4gaW50byBNU1IuIFRoZW4sIGNoYW5nZSAnZG9fd3JpdGVfcHNyX21zcnMnIHRvIHNldCB0aGUg cmV0dXJuZWQKICAgICAgdmFsdWUgaW50byAnY29zX3JlZ192YWxbXScKICAgIC0gbW92ZSB0aGUg ZGVjbGFyYXRpb24gb2YgJ2onIGludG8gbG9vcCBpbiAnZG9fd3JpdGVfcHNyX21zcnMnLgogICAg ICAoc3VnZ2VzdGVkIGJ5IFJvZ2VyIFBhdSBNb25uw6kpCiAgICAtIGNoYW5nZSAnbWJhX2luZm8n IHRvICdtYmEnLgogICAgICAoc3VnZ2VzdGVkIGJ5IFJvZ2VyIFBhdSBNb25uw6kpCiAgICAtIGNo YW5nZSAnY2F0X2luZm8nIHRvICdjYXQnLgogICAgICAoc3VnZ2VzdGVkIGJ5IFJvZ2VyIFBhdSBN b25uw6kpCiAgICAtIHJlbmFtZSAncHNyX2NhdC9QU1JfQ0FUJyB0byAncHNyX2FsbG9jL1BTUl9B TExPQycgYW5kIHJlbW92ZSAnb3AvT1AnCiAgICAgIGZyb20gbmFtZS4KICAgICAgKHN1Z2dlc3Rl ZCBieSBSb2dlciBQYXUgTW9ubsOpKQogICAgLSBjaGFuZ2UgJ1BTUl9WQUxfVFlQRV9NQkEnIHRv ICdQU1JfVFlQRV9NQkFfVEhSVEwnLgogICAgICAoc3VnZ2VzdGVkIGJ5IFJvZ2VyIFBhdSBNb25u w6kpCnYyOgogICAgLSByZW1vdmUgbGluZWFyIG1vZGUgJ3RocnRsX21heCcgY2hlY2sgaW4gJ21i YV9jaGVja190aHJ0bCcgYmVjYXVzZSBpdCBoYXMKICAgICAgYmVlbiBjaGVja2VkIGluICdtYmFf aW5pdF9mZWF0dXJlJy4KICAgICAgKHN1Z2dlc3RlZCBieSBDaGFvIFBlbmcpCiAgICAtIGZvciBu b24tbGluZWFyIG1vZGUsIGNoZWNrIGlmICcqdGhydGwnIGlzIG5vdCAwIGluICdtYmFfY2hlY2tf dGhydGwnLiBJZgogICAgICBpdCBpcyAwLCB3ZSBkbyBub3QgbmVlZCB0byBjaGFuZ2UgaXQuCiAg ICAgIChzdWdnZXN0ZWQgYnkgQ2hhbyBQZW5nKQogICAgLSBtb3ZlIGNvbW1lbnRzIHRvIGV4cGxh aW4gY2hhbmdlcyBvZiAnY29zX3dyaXRlX2luZm8nIGZyb20gcHNyLmMgdG8gY29tbWl0CiAgICAg IG1lc3NhZ2UuCiAgICAgIChzdWdnZXN0ZWQgYnkgQ2hhbyBQZW5nKQotLS0KIHhlbi9hcmNoL3g4 Ni9kb21jdGwuYyAgICAgICB8ICA2ICsrKysKIHhlbi9hcmNoL3g4Ni9wc3IuYyAgICAgICAgICB8 IDc0ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0tLQogeGVuL2lu Y2x1ZGUvcHVibGljL2RvbWN0bC5oIHwgIDEgKwogMyBmaWxlcyBjaGFuZ2VkLCA2OSBpbnNlcnRp b25zKCspLCAxMiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS94ZW4vYXJjaC94ODYvZG9tY3Rs LmMgYi94ZW4vYXJjaC94ODYvZG9tY3RsLmMKaW5kZXggMTdmZDNhZC4uYmJmZDc2ZSAxMDA2NDQK LS0tIGEveGVuL2FyY2gveDg2L2RvbWN0bC5jCisrKyBiL3hlbi9hcmNoL3g4Ni9kb21jdGwuYwpA QCAtMTQ3NSw2ICsxNDc1LDEyIEBAIGxvbmcgYXJjaF9kb19kb21jdGwoCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBQU1JfVFlQRV9MMl9DQk0pOwogICAgICAgICAgICAgYnJlYWs7CiAK KyAgICAgICAgY2FzZSBYRU5fRE9NQ1RMX1BTUl9TRVRfTUJBX1RIUlRMOgorICAgICAgICAgICAg cmV0ID0gcHNyX3NldF92YWwoZCwgZG9tY3RsLT51LnBzcl9hbGxvYy50YXJnZXQsCisgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBkb21jdGwtPnUucHNyX2FsbG9jLmRhdGEsCisgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBQU1JfVFlQRV9NQkFfVEhSVEwpOworICAgICAgICAgICAg YnJlYWs7CisKICAgICAgICAgY2FzZSBYRU5fRE9NQ1RMX1BTUl9HRVRfTDNfQ0JNOgogICAgICAg ICAgICAgcmV0ID0gZG9tY3RsX3Bzcl9nZXRfdmFsKGQsIGRvbWN0bCwgUFNSX1RZUEVfTDNfQ0JN LCBjb3B5YmFjayk7CiAgICAgICAgICAgICBicmVhazsKZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3g4 Ni9wc3IuYyBiL3hlbi9hcmNoL3g4Ni9wc3IuYwppbmRleCAwM2YyNGMwLi5jZmZiMzc3IDEwMDY0 NAotLS0gYS94ZW4vYXJjaC94ODYvcHNyLmMKKysrIGIveGVuL2FyY2gveDg2L3Bzci5jCkBAIC0x MzgsNiArMTM4LDEyIEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgZmVhdF9wcm9wcyB7CiAKICAgICAv KiB3cml0ZV9tc3IgaXMgdXNlZCB0byB3cml0ZSBvdXQgZmVhdHVyZSBNU1IgcmVnaXN0ZXIuICov CiAgICAgdm9pZCAoKndyaXRlX21zcikodW5zaWduZWQgaW50IGNvcywgdWludDMyX3QgdmFsLCBl bnVtIHBzcl90eXBlIHR5cGUpOworCisgICAgLyoKKyAgICAgKiBjaGVja192YWwgaXMgdXNlZCB0 byBjaGVjayBpZiBpbnB1dCB2YWwgZnVsZmlsbHMgU0RNIHJlcXVpcmVtZW50LgorICAgICAqIENo YW5nZSBpdCB0byB2YWxpZCB2YWx1ZSBpZiBTRE0gYWxsb3dzLgorICAgICAqLworICAgIGJvb2wg KCpjaGVja192YWwpKGNvbnN0IHN0cnVjdCBmZWF0X25vZGUgKmZlYXQsIHVuc2lnbmVkIGxvbmcg KnZhbCk7CiB9ICpmZWF0X3Byb3BzW0ZFQVRfVFlQRV9OVU1dOwogCiAvKgpAQCAtMjc0LDMwICsy ODAsMzAgQEAgc3RhdGljIGVudW0gcHNyX2ZlYXRfdHlwZSBwc3JfdHlwZV90b19mZWF0X3R5cGUo ZW51bSBwc3JfdHlwZSB0eXBlKQogICAgIHJldHVybiBmZWF0X3R5cGU7CiB9CiAKLXN0YXRpYyBi b29sIHBzcl9jaGVja19jYm0odW5zaWduZWQgaW50IGNibV9sZW4sIHVuc2lnbmVkIGxvbmcgY2Jt KQorLyogSW1wbGVtZW50YXRpb24gb2YgYWxsb2NhdGlvbiBmZWF0dXJlcycgZnVuY3Rpb25zLiAq Lworc3RhdGljIGJvb2wgY2F0X2NoZWNrX2NibShjb25zdCBzdHJ1Y3QgZmVhdF9ub2RlICpmZWF0 LCB1bnNpZ25lZCBsb25nICpjYm0pCiB7CiAgICAgdW5zaWduZWQgaW50IGZpcnN0X2JpdCwgemVy b19iaXQ7CisgICAgdW5zaWduZWQgaW50IGNibV9sZW4gPSBmZWF0LT5jYXQuY2JtX2xlbjsKIAot ICAgIC8qIFNldCBiaXRzIHNob3VsZCBvbmx5IGluIHRoZSByYW5nZSBvZiBbMCwgY2JtX2xlbl0u ICovCi0gICAgaWYgKCBjYm0gJiAofjB1bCA8PCBjYm1fbGVuKSApCi0gICAgICAgIHJldHVybiBm YWxzZTsKLQotICAgIC8qIEF0IGxlYXN0IG9uZSBiaXQgbmVlZCB0byBiZSBzZXQuICovCi0gICAg aWYgKCBjYm0gPT0gMCApCisgICAgLyoKKyAgICAgKiBTZXQgYml0cyBzaG91bGQgb25seSBpbiB0 aGUgcmFuZ2Ugb2YgWzAsIGNibV9sZW5dLgorICAgICAqIEFuZCwgYXQgbGVhc3Qgb25lIGJpdCBu ZWVkIHRvIGJlIHNldC4KKyAgICAgKi8KKyAgICBpZiAoICpjYm0gJiAofjB1bCA8PCBjYm1fbGVu KSB8fCAqY2JtID09IDAgKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKLSAgICBmaXJzdF9iaXQg PSBmaW5kX2ZpcnN0X2JpdCgmY2JtLCBjYm1fbGVuKTsKLSAgICB6ZXJvX2JpdCA9IGZpbmRfbmV4 dF96ZXJvX2JpdCgmY2JtLCBjYm1fbGVuLCBmaXJzdF9iaXQpOworICAgIGZpcnN0X2JpdCA9IGZp bmRfZmlyc3RfYml0KGNibSwgY2JtX2xlbik7CisgICAgemVyb19iaXQgPSBmaW5kX25leHRfemVy b19iaXQoY2JtLCBjYm1fbGVuLCBmaXJzdF9iaXQpOwogCiAgICAgLyogU2V0IGJpdHMgc2hvdWxk IGJlIGNvbnRpZ3VvdXMuICovCiAgICAgaWYgKCB6ZXJvX2JpdCA8IGNibV9sZW4gJiYKLSAgICAg ICAgIGZpbmRfbmV4dF9iaXQoJmNibSwgY2JtX2xlbiwgemVyb19iaXQpIDwgY2JtX2xlbiApCisg ICAgICAgICBmaW5kX25leHRfYml0KGNibSwgY2JtX2xlbiwgemVyb19iaXQpIDwgY2JtX2xlbiAp CiAgICAgICAgIHJldHVybiBmYWxzZTsKIAogICAgIHJldHVybiB0cnVlOwogfQogCi0vKiBJbXBs ZW1lbnRhdGlvbiBvZiBhbGxvY2F0aW9uIGZlYXR1cmVzJyBmdW5jdGlvbnMuICovCiBzdGF0aWMg Ym9vbCBjYXRfaW5pdF9mZWF0dXJlKGNvbnN0IHN0cnVjdCBjcHVpZF9sZWFmICpyZWdzLAogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgZmVhdF9ub2RlICpmZWF0LAogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgcHNyX3NvY2tldF9pbmZvICppbmZvLApAQCAt NDM2LDYgKzQ0Miw3IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgZmVhdF9wcm9wcyBsM19jYXRfcHJv cHMgPSB7CiAgICAgLmFsdF90eXBlID0gUFNSX1RZUEVfVU5LTk9XTiwKICAgICAuZ2V0X2ZlYXRf aW5mbyA9IGNhdF9nZXRfZmVhdF9pbmZvLAogICAgIC53cml0ZV9tc3IgPSBsM19jYXRfd3JpdGVf bXNyLAorICAgIC5jaGVja192YWwgPSBjYXRfY2hlY2tfY2JtLAogfTsKIAogLyogTDMgQ0RQIHBy b3BzICovCkBAIC00NjYsNiArNDczLDcgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBmZWF0X3Byb3Bz IGwzX2NkcF9wcm9wcyA9IHsKICAgICAuYWx0X3R5cGUgPSBQU1JfVFlQRV9MM19DQk0sCiAgICAg LmdldF9mZWF0X2luZm8gPSBsM19jZHBfZ2V0X2ZlYXRfaW5mbywKICAgICAud3JpdGVfbXNyID0g bDNfY2RwX3dyaXRlX21zciwKKyAgICAuY2hlY2tfdmFsID0gY2F0X2NoZWNrX2NibSwKIH07CiAK IC8qIEwyIENBVCBwcm9wcyAqLwpAQCAtNDgxLDYgKzQ4OSw3IEBAIHN0YXRpYyBjb25zdCBzdHJ1 Y3QgZmVhdF9wcm9wcyBsMl9jYXRfcHJvcHMgPSB7CiAgICAgLmFsdF90eXBlID0gUFNSX1RZUEVf VU5LTk9XTiwKICAgICAuZ2V0X2ZlYXRfaW5mbyA9IGNhdF9nZXRfZmVhdF9pbmZvLAogICAgIC53 cml0ZV9tc3IgPSBsMl9jYXRfd3JpdGVfbXNyLAorICAgIC5jaGVja192YWwgPSBjYXRfY2hlY2tf Y2JtLAogfTsKIAogLyogTUJBIHByb3BzICovCkBAIC01MDEsNiArNTEwLDQzIEBAIHN0YXRpYyBi b29sIG1iYV9nZXRfZmVhdF9pbmZvKGNvbnN0IHN0cnVjdCBmZWF0X25vZGUgKmZlYXQsCiBzdGF0 aWMgdm9pZCBtYmFfd3JpdGVfbXNyKHVuc2lnbmVkIGludCBjb3MsIHVpbnQzMl90IHZhbCwKICAg ICAgICAgICAgICAgICAgICAgICAgICAgZW51bSBwc3JfdHlwZSB0eXBlKQogeworICAgIHdybXNy bChNU1JfSUEzMl9QU1JfTUJBX01BU0soY29zKSwgdmFsKTsKK30KKworc3RhdGljIGJvb2wgbWJh X2NoZWNrX3RocnRsKGNvbnN0IHN0cnVjdCBmZWF0X25vZGUgKmZlYXQsIHVuc2lnbmVkIGxvbmcg KnRocnRsKQoreworICAgIGlmICggKnRocnRsID4gZmVhdC0+bWJhLnRocnRsX21heCApCisgICAg ICAgIHJldHVybiBmYWxzZTsKKworICAgIC8qCisgICAgICogUGVyIFNETSAoY2hhcHRlciAiTWVt b3J5IEJhbmR3aWR0aCBBbGxvY2F0aW9uIENvbmZpZ3VyYXRpb24iKToKKyAgICAgKiAxLiBMaW5l YXIgbW9kZTogSW4gdGhlIGxpbmVhciBtb2RlIHRoZSBpbnB1dCBwcmVjaXNpb24gaXMgZGVmaW5l ZAorICAgICAqICAgIGFzIDEwMC0oTUJBX01BWCkuIEZvciBpbnN0YW5jZSwgaWYgdGhlIE1CQV9N QVggdmFsdWUgaXMgOTAsIHRoZQorICAgICAqICAgIGlucHV0IHByZWNpc2lvbiBpcyAxMCUuIFZh bHVlcyBub3QgYW4gZXZlbiBtdWx0aXBsZSBvZiB0aGUKKyAgICAgKiAgICBwcmVjaXNpb24gKGUu Zy4sIDEyJSkgd2lsbCBiZSByb3VuZGVkIGRvd24gKGUuZy4sIHRvIDEwJSBkZWxheQorICAgICAq ICAgIGFwcGxpZWQpLgorICAgICAqIDIuIE5vbi1saW5lYXIgbW9kZTogSW5wdXQgZGVsYXkgdmFs dWVzIGFyZSBwb3dlcnMtb2YtdHdvIGZyb20gemVybworICAgICAqICAgIHRvIHRoZSBNQkFfTUFY IHZhbHVlIGZyb20gQ1BVSUQuIEluIHRoaXMgY2FzZSBhbnkgdmFsdWVzIG5vdCBhCisgICAgICog ICAgcG93ZXIgb2YgdHdvIHdpbGwgYmUgcm91bmRlZCBkb3duIHRoZSBuZXh0IG5lYXJlc3QgcG93 ZXIgb2YgdHdvLgorICAgICAqLworICAgIGlmICggZmVhdC0+bWJhLmxpbmVhciApCisgICAgewor ICAgICAgICB1bnNpZ25lZCBpbnQgbW9kOworCisgICAgICAgIGlmICggZmVhdC0+bWJhLnRocnRs X21heCA+PSAxMDAgKQorICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgICAgIG1vZCA9 ICp0aHJ0bCAlICgxMDAgLSBmZWF0LT5tYmEudGhydGxfbWF4KTsKKyAgICAgICAgKnRocnRsIC09 IG1vZDsKKyAgICB9CisgICAgZWxzZQorICAgIHsKKyAgICAgICAgLyogTm90IHBvd2VyIG9mIDIu ICovCisgICAgICAgIGlmICggKnRocnRsICYgKCp0aHJ0bCAtIDEpICkKKyAgICAgICAgICAgICp0 aHJ0bCA9ICp0aHJ0bCAmICgxIDw8IChmbHNsKCp0aHJ0bCkgLSAxKSk7CisgICAgfQorCisgICAg cmV0dXJuIHRydWU7CiB9CiAKIHN0YXRpYyBjb25zdCBzdHJ1Y3QgZmVhdF9wcm9wcyBtYmFfcHJv cHMgPSB7CkBAIC01MDksNiArNTU1LDcgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBmZWF0X3Byb3Bz IG1iYV9wcm9wcyA9IHsKICAgICAuYWx0X3R5cGUgPSBQU1JfVFlQRV9VTktOT1dOLAogICAgIC5n ZXRfZmVhdF9pbmZvID0gbWJhX2dldF9mZWF0X2luZm8sCiAgICAgLndyaXRlX21zciA9IG1iYV93 cml0ZV9tc3IsCisgICAgLmNoZWNrX3ZhbCA9IG1iYV9jaGVja190aHJ0bCwKIH07CiAKIHN0YXRp YyBib29sIF9faW5pdCBwYXJzZV9wc3JfYm9vbChjb25zdCBjaGFyICpzLCBjb25zdCBjaGFyICpk ZWxpbSwKQEAgLTk1MCw2ICs5OTcsNyBAQCBzdGF0aWMgaW50IGluc2VydF92YWxfaW50b19hcnJh eSh1aW50MzJfdCB2YWxbXSwKICAgICBjb25zdCBzdHJ1Y3QgZmVhdF9ub2RlICpmZWF0OwogICAg IGNvbnN0IHN0cnVjdCBmZWF0X3Byb3BzICpwcm9wczsKICAgICB1bnNpZ25lZCBpbnQgaTsKKyAg ICB1bnNpZ25lZCBsb25nIGNoZWNrX3ZhbCA9IG5ld192YWw7CiAgICAgaW50IHJldDsKIAogICAg IEFTU0VSVChmZWF0X3R5cGUgPCBGRUFUX1RZUEVfTlVNKTsKQEAgLTk3NCw5ICsxMDIyLDExIEBA IHN0YXRpYyBpbnQgaW5zZXJ0X3ZhbF9pbnRvX2FycmF5KHVpbnQzMl90IHZhbFtdLAogICAgIGlm ICggYXJyYXlfbGVuIDwgcHJvcHMtPmNvc19udW0gKQogICAgICAgICByZXR1cm4gLUVOT1NQQzsK IAotICAgIGlmICggIXBzcl9jaGVja19jYm0oZmVhdC0+Y2F0LmNibV9sZW4sIG5ld192YWwpICkK KyAgICBpZiAoICFwcm9wcy0+Y2hlY2tfdmFsKGZlYXQsICZjaGVja192YWwpICkKICAgICAgICAg cmV0dXJuIC1FSU5WQUw7CiAKKyAgICBuZXdfdmFsID0gY2hlY2tfdmFsOworCiAgICAgLyoKICAg ICAgKiBWYWx1ZSBzZXR0aW5nIHBvc2l0aW9uIGlzIHNhbWUgYXMgZmVhdHVyZSBhcnJheS4KICAg ICAgKiBGb3IgQ0RQLCB1c2VyIG1heSBzZXQgYm90aCBEQVRBIGFuZCBDT0RFIHRvIHNhbWUgdmFs dWUuIEZvciBzdWNoIGNhc2UsCmRpZmYgLS1naXQgYS94ZW4vaW5jbHVkZS9wdWJsaWMvZG9tY3Rs LmggYi94ZW4vaW5jbHVkZS9wdWJsaWMvZG9tY3RsLmgKaW5kZXggZThmNGM0Yy4uZmI1N2U2NCAx MDA2NDQKLS0tIGEveGVuL2luY2x1ZGUvcHVibGljL2RvbWN0bC5oCisrKyBiL3hlbi9pbmNsdWRl L3B1YmxpYy9kb21jdGwuaApAQCAtMTA2OSw2ICsxMDY5LDcgQEAgc3RydWN0IHhlbl9kb21jdGxf cHNyX2FsbG9jIHsKICNkZWZpbmUgWEVOX0RPTUNUTF9QU1JfR0VUX0wzX0RBVEEgICAgNQogI2Rl ZmluZSBYRU5fRE9NQ1RMX1BTUl9TRVRfTDJfQ0JNICAgICA2CiAjZGVmaW5lIFhFTl9ET01DVExf UFNSX0dFVF9MMl9DQk0gICAgIDcKKyNkZWZpbmUgWEVOX0RPTUNUTF9QU1JfU0VUX01CQV9USFJU TCAgOAogI2RlZmluZSBYRU5fRE9NQ1RMX1BTUl9HRVRfTUJBX1RIUlRMICA5CiAgICAgdWludDMy X3QgY21kOyAgICAgICAvKiBJTjogWEVOX0RPTUNUTF9QU1JfKiAqLwogICAgIHVpbnQzMl90IHRh cmdldDsgICAgLyogSU4gKi8KLS0gCjEuOS4xCgoKX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX18KWGVuLWRldmVsIG1haWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlz dHMueGVuLm9yZwpodHRwczovL2xpc3RzLnhlbi5vcmcveGVuLWRldmVsCg==