From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Jan Beulich" Subject: [PATCH v3 10/25] x86emul: support 3DNow! insns Date: Thu, 07 Dec 2017 07:05:40 -0700 Message-ID: <5A2958C402000078001958F7@prv-mh.provo.novell.com> References: <5A29550C020000780019585B@prv-mh.provo.novell.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from us1-rack-dfw2.inumbo.com ([104.130.134.6]) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eMwo4-0005vZ-M2 for xen-devel@lists.xenproject.org; Thu, 07 Dec 2017 14:05:44 +0000 In-Reply-To: <5A29550C020000780019585B@prv-mh.provo.novell.com> Content-Disposition: inline List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" To: xen-devel Cc: George Dunlap , Andrew Cooper List-Id: xen-devel@lists.xenproject.org WWVzLCByZWNlbnQgQU1EIENQVXMgZG9uJ3Qgc3VwcG9ydCB0aGVtIGFueW1vcmUsIGJ1dCBJIHRo aW5rIHdlIHNob3VsZApuZXZlcnRoZWxlc3MgY29wZS4KClNpZ25lZC1vZmYtYnk6IEphbiBCZXVs aWNoIDxqYmV1bGljaEBzdXNlLmNvbT4KLS0tCnYzOiBSZS1iYXNlLgoKLS0tIGEvLmdpdGlnbm9y ZQorKysgYi8uZ2l0aWdub3JlCkBAIC0yMjMsNiArMjIzLDcgQEAKIHRvb2xzL3NlY3VyaXR5L3hl bnNlY190b29sCiB0b29scy90ZXN0cy94ODZfZW11bGF0b3IvKi5iaW4KIHRvb2xzL3Rlc3RzL3g4 Nl9lbXVsYXRvci8qLnRtcAordG9vbHMvdGVzdHMveDg2X2VtdWxhdG9yLzNkbm93Ki5bY2hdCiB0 b29scy90ZXN0cy94ODZfZW11bGF0b3IvYXNtCiB0b29scy90ZXN0cy94ODZfZW11bGF0b3IvYXZ4 Ki5bY2hdCiB0b29scy90ZXN0cy94ODZfZW11bGF0b3IvYmxvd2Zpc2guaAotLS0gYS90b29scy90 ZXN0cy94ODZfZW11bGF0b3IvTWFrZWZpbGUKKysrIGIvdG9vbHMvdGVzdHMveDg2X2VtdWxhdG9y L01ha2VmaWxlCkBAIC0xMSw3ICsxMSw3IEBAIGFsbDogJChUQVJHRVQpCiBydW46ICQoVEFSR0VU KQogCS4vJChUQVJHRVQpCiAKLVNJTUQgOj0gc3NlIHNzZTIgc3NlNCBhdnggYXZ4MiB4b3AKK1NJ TUQgOj0gM2Rub3cgc3NlIHNzZTIgc3NlNCBhdnggYXZ4MiB4b3AKIEZNQSA6PSBmbWE0IGZtYQog U0cgOj0gYXZ4Mi1zZwogVEVTVENBU0VTIDo9IGJsb3dmaXNoICQoU0lNRCkgJChGTUEpICQoU0cp CkBAIC0xOSw2ICsxOSw5IEBAIFRFU1RDQVNFUyA6PSBibG93ZmlzaCAkKFNJTUQpICQoRk1BKSAk KFMKIGJsb3dmaXNoLWNmbGFncyA6PSAiIgogYmxvd2Zpc2gtY2ZsYWdzLXg4Nl8zMiA6PSAiLW1u by1hY2N1bXVsYXRlLW91dGdvaW5nLWFyZ3MgLURzdGF0aWM9IgogCiszZG5vdy12ZWNzIDo9IDgK KzNkbm93LWludHMgOj0KKzNkbm93LWZsdHMgOj0gNAogc3NlLXZlY3MgOj0gMTYKIHNzZS1pbnRz IDo9CiBzc2UtZmx0cyA6PSA0CkBAIC00OSw4ICs1MiwxMyBAQCB4b3AtaW50cyA6PSAxIDIgNCA4 CiB4b3AtZmx0cyA6PSAkKGF2eC1mbHRzKQogCiAjIEZvciBBVlggYW5kIGxhdGVyLCBoYXZlIHRo ZSBjb21waWxlciBhdm9pZCBYTU0wIHRvIHdpZGVuIGNvdmVyYWdlIG9mCi0jIHRoZSBWRVgudnZ2 diBjaGVja3MgaW4gdGhlIGVtdWxhdG9yLgotbm9uLXNzZSA9ICQoaWYgJChmaWx0ZXIgc3NlJSwk KDEpKSwsLWZmaXhlZC14bW0wKQorIyB0aGUgVkVYLnZ2dnYgY2hlY2tzIGluIHRoZSBlbXVsYXRv ci4gIEZvciAzRE5vdyEsIGhvd2V2ZXIsIGZvcmNlIFNTRQorIyB1c2UgZm9yIGZsb2F0aW5nIHBv aW50IG9wZXJhdGlvbnMsIHRvIGF2b2lkIG1peGluZyBNTVggYW5kIEZQVSByZWdpc3RlcgorIyB1 c2VzLiAgQWxzbyBlbmFibGUgM0ROb3chIGV4dGVuc2lvbnMsIGJ1dCBub3RlIHRoYXQgd2UgY2Fu J3QgdXNlIDNkbm93YQorIyBhcyB0aGUgdGVzdCBmbGF2b3IgcmlnaHQgYXdheSBzaW5jZSAtbTNk bm93YSBpcyBiZWluZyB1bmRlcnN0b29kIG9ubHkKKyMgYnkgZ2NjIDcueCBhbmQgbmV3ZXIgKG9s ZGVyIG9uZXMgd2FudCBhIHNwZWNpZmljIG1hY2hpbmUgbW9kZWwgaW5zdGVhZCkuCiszZG5vd2Eg Oj0gJChjYWxsIGNjLW9wdGlvbiwkKENDKSwtbTNkbm93YSwtbWFyY2g9azgpCitub24tc3NlID0g JChpZiAkKGZpbHRlciBzc2UlLCQoMSkpLCwkKGlmICQoZmlsdGVyIDNkbm93JSwkKDEpKSwtbXNz ZSAtbWZwbWF0aD1zc2UgJCgzZG5vd2EpLC1mZml4ZWQteG1tMCkpCiAKIGRlZmluZSBzaW1kLWRl ZnMKICQoMSktY2ZsYWdzIDo9IFwKQEAgLTgxLDggKzg5LDkgQEAgJChhZGRzdWZmaXggLmgsJChU RVNUQ0FTRVMpKTogJS5oOiAlLmMgdAogCSQoZm9yZWFjaCBhcmNoLCQoZmlsdGVyLW91dCAkKFhF Tl9DT01QSUxFX0FSQ0gpLHg4Nl8zMikgJChYRU5fQ09NUElMRV9BUkNIKSwgXAogCSAgICBmb3Ig Y2ZsYWdzIGluICQoJCotY2ZsYWdzKSAkKCQqLWNmbGFncy0kKGFyY2gpKTsgZG8gXAogCQkkKE1B S0UpIC1mIHRlc3RjYXNlLm1rIFRFU1RDQVNFPSQqIFhFTl9UQVJHRVRfQVJDSD0kKGFyY2gpICQq LWNmbGFncz0iJCRjZmxhZ3MiIGFsbDsgXAorCQlwcmVmaXg9JChzaGVsbCBlY2hvICQoc3Vic3Qg LSxfLCQqKSB8IHNlZCAtZSAncyxeXChbMC05XVwpLF9cMSwnKTsgXAogCQlmbGF2b3I9JCQoZWNo byAkJHtjZmxhZ3N9IHwgc2VkIC1lICdzLCAuKiwsJyAtZSAneSwtPSxfXywnKSA7IFwKLQkJKGVj aG8gInN0YXRpYyBjb25zdCB1bnNpZ25lZCBpbnQgJChzdWJzdCAtLF8sJCopXyQoYXJjaCkkJHtm bGF2b3J9W10gPSB7IjsgXAorCQkoZWNobyAic3RhdGljIGNvbnN0IHVuc2lnbmVkIGludCAkJHtw cmVmaXh9XyQoYXJjaCkkJHtmbGF2b3J9W10gPSB7IjsgXAogCQkgb2QgLXYgLXQgeCAkKi5iaW4g fCBzZWQgLWUgJ3MvXlswLTldKiAvMHgvJyAtZSAncy8gLywgMHgvZycgLWUgJ3MvJCQvLC8nOyBc CiAJCSBlY2hvICJ9OyIpID4+JEAubmV3OyBcCiAJCXJtIC1mICQqLmJpbjsgXAotLS0gYS90b29s cy90ZXN0cy94ODZfZW11bGF0b3Ivc2ltZC5jCisrKyBiL3Rvb2xzL3Rlc3RzL3g4Nl9lbXVsYXRv ci9zaW1kLmMKQEAgLTQ4LDYgKzQ4LDggQEAgc3RhdGljIGlubGluZSBib29sIF90b19ib29sKGJ5 dGVfdmVjX3QgYgogCiAjaWYgVkVDX1NJWkUgPT0gRkxPQVRfU0laRQogIyBkZWZpbmUgdG9faW50 KHgpICgodmVjX3QpeyAoaW50KSh4KVswXSB9KQorI2VsaWYgVkVDX1NJWkUgPT0gOCAmJiBGTE9B VF9TSVpFID09IDQgJiYgZGVmaW5lZChfXzNkTk9XX18pCisjIGRlZmluZSB0b19pbnQoeCkgX19i dWlsdGluX2lhMzJfcGkyZmQoX19idWlsdGluX2lhMzJfcGYyaWQoeCkpCiAjZWxpZiBWRUNfU0la RSA9PSAxNiAmJiBkZWZpbmVkKF9fU1NFMl9fKQogIyBpZiBGTE9BVF9TSVpFID09IDQKICMgIGRl ZmluZSB0b19pbnQoeCkgX19idWlsdGluX2lhMzJfY3Z0ZHEycHMoX19idWlsdGluX2lhMzJfY3Z0 cHMyZHEoeCkpCkBAIC03MCw3ICs3MiwyNCBAQCBzdGF0aWMgaW5saW5lIGJvb2wgX3RvX2Jvb2wo Ynl0ZV92ZWNfdCBiCiB9KQogI2VuZGlmCiAKLSNpZiBGTE9BVF9TSVpFID09IDQgJiYgZGVmaW5l ZChfX1NTRV9fKQorI2lmIFZFQ19TSVpFID09IDggJiYgRkxPQVRfU0laRSA9PSA0ICYmIGRlZmlu ZWQoX18zZE5PV19BX18pCisjIGRlZmluZSBtYXggX19idWlsdGluX2lhMzJfcGZtYXgKKyMgZGVm aW5lIG1pbiBfX2J1aWx0aW5faWEzMl9wZm1pbgorIyBkZWZpbmUgcmVjaXAoeCkgKHsgXAorICAg IHZlY190IHRfID0gX19idWlsdGluX2lhMzJfcGZyY3AoeCk7IFwKKyAgICB0b3VjaCh4KTsgXAor ICAgIHRfWzFdID0gX19idWlsdGluX2lhMzJfcGZyY3AoX19idWlsdGluX2lhMzJfcHN3YXBkc2Yo eCkpWzBdOyBcCisgICAgdG91Y2goeCk7IFwKKyAgICBfX2J1aWx0aW5faWEzMl9wZnJjcGl0Mihf X2J1aWx0aW5faWEzMl9wZnJjcGl0MSh0XywgeCksIHRfKTsgXAorfSkKKyMgZGVmaW5lIHJzcXJ0 KHgpICh7IFwKKyAgICB2ZWNfdCB0XyA9IF9fYnVpbHRpbl9pYTMyX3BmcnNxcnQoeCk7IFwKKyAg ICB0b3VjaCh4KTsgXAorICAgIHRfWzFdID0gX19idWlsdGluX2lhMzJfcGZyc3FydChfX2J1aWx0 aW5faWEzMl9wc3dhcGRzZih4KSlbMF07IFwKKyAgICB0b3VjaCh4KTsgXAorICAgIF9fYnVpbHRp bl9pYTMyX3BmcmNwaXQyKF9fYnVpbHRpbl9pYTMyX3BmcnNxaXQxKF9fYnVpbHRpbl9pYTMyX3Bm bXVsKHRfLCB0XyksIHgpLCB0Xyk7IFwKK30pCisjZWxpZiBGTE9BVF9TSVpFID09IDQgJiYgZGVm aW5lZChfX1NTRV9fKQogIyBpZiBWRUNfU0laRSA9PSAzMiAmJiBkZWZpbmVkKF9fQVZYX18pCiAj ICBpZiBkZWZpbmVkKF9fQVZYMl9fKQogIyAgIGRlZmluZSBicm9hZGNhc3QoeCkgXAotLS0gYS90 b29scy90ZXN0cy94ODZfZW11bGF0b3IvdGVzdF94ODZfZW11bGF0b3IuYworKysgYi90b29scy90 ZXN0cy94ODZfZW11bGF0b3IvdGVzdF94ODZfZW11bGF0b3IuYwpAQCAtNSw2ICs1LDcgQEAKIAog I2luY2x1ZGUgIng4Ni1lbXVsYXRlLmgiCiAjaW5jbHVkZSAiYmxvd2Zpc2guaCIKKyNpbmNsdWRl ICIzZG5vdy5oIgogI2luY2x1ZGUgInNzZS5oIgogI2luY2x1ZGUgInNzZTIuaCIKICNpbmNsdWRl ICJzc2U0LmgiCkBAIC0yOCw2ICsyOSwxMSBAQCBzdGF0aWMgYm9vbCBibG93ZmlzaF9jaGVja19y ZWdzKGNvbnN0IHN0CiAgICAgcmV0dXJuIHJlZ3MtPmVheCA9PSAyICYmIHJlZ3MtPmVkeCA9PSAx OwogfQogCitzdGF0aWMgYm9vbCBzaW1kX2NoZWNrX18zZG5vdyh2b2lkKQoreworICAgIHJldHVy biBjcHVfaGFzXzNkbm93X2V4dCAmJiBjcHVfaGFzX3NzZTsKK30KKwogc3RhdGljIGJvb2wgc2lt ZF9jaGVja19zc2Uodm9pZCkKIHsKICAgICByZXR1cm4gY3B1X2hhc19zc2U7CkBAIC0xMTcsNiAr MTIzLDcgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCB7CiAjZWxzZQogIyBkZWZpbmUgU0lNRChkZXNj LCBmZWF0LCBmb3JtKSBTSU1EXygzMiwgZGVzYywgZmVhdCwgZm9ybSkKICNlbmRpZgorICAgIFNJ TUQoM0ROb3chIHNpbmdsZSwgICAgICAgICAgXzNkbm93LCAgICAgOGY0KSwKICAgICBTSU1EKFNT RSBzY2FsYXIgc2luZ2xlLCAgICAgIHNzZSwgICAgICAgICBmNCksCiAgICAgU0lNRChTU0UgcGFj a2VkIHNpbmdsZSwgICAgICBzc2UsICAgICAgIDE2ZjQpLAogICAgIFNJTUQoU1NFMiBzY2FsYXIg c2luZ2xlLCAgICAgc3NlMiwgICAgICAgIGY0KSwKLS0tIGEvdG9vbHMvdGVzdHMveDg2X2VtdWxh dG9yL3g4Ni1lbXVsYXRlLmgKKysrIGIvdG9vbHMvdGVzdHMveDg2X2VtdWxhdG9yL3g4Ni1lbXVs YXRlLmgKQEAgLTE3MSw2ICsxNzEsMTIgQEAgc3RhdGljIGlubGluZSB1aW50NjRfdCB4Z2V0YnYo dWludDMyX3QgeAogICAgIChyZXMuYiAmICgxVSA8PCA4KSkgIT0gMDsgXAogfSkKIAorI2RlZmlu ZSBjcHVfaGFzXzNkbm93X2V4dCAoeyBcCisgICAgc3RydWN0IGNwdWlkX2xlYWYgcmVzOyBcCisg ICAgZW11bF90ZXN0X2NwdWlkKDB4ODAwMDAwMDEsIDAsICZyZXMsIE5VTEwpOyBcCisgICAgKHJl cy5kICYgKDFVIDw8IDMwKSkgIT0gMDsgXAorfSkKKwogI2RlZmluZSBjcHVfaGFzX3NzZTRhICh7 IFwKICAgICBzdHJ1Y3QgY3B1aWRfbGVhZiByZXM7IFwKICAgICBlbXVsX3Rlc3RfY3B1aWQoMHg4 MDAwMDAwMSwgMCwgJnJlcywgTlVMTCk7IFwKLS0tIGEveGVuL2FyY2gveDg2L3g4Nl9lbXVsYXRl L3g4Nl9lbXVsYXRlLmMKKysrIGIveGVuL2FyY2gveDg2L3g4Nl9lbXVsYXRlL3g4Nl9lbXVsYXRl LmMKQEAgLTM1NSw2ICszNTUsMzYgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCB7CiAgICAgWzB4ZmZd ID0geyBNb2RSTSB9CiB9OwogCitzdGF0aWMgY29uc3QgdWludDE2X3QgXzNkbm93X3RhYmxlWzE2 XSA9IHsKKyAgICBbMHgwXSA9ICgxIDw8IDB4ZCkgLyogcGkyZmQgKi8sCisgICAgWzB4MV0gPSAo MSA8PCAweGQpIC8qIHBmMmlkICovLAorICAgIFsweDldID0gKDEgPDwgMHgwKSAvKiBwZmNtcGdl ICovIHwKKyAgICAgICAgICAgICgxIDw8IDB4NCkgLyogcGZtaW4gKi8gfAorICAgICAgICAgICAg KDEgPDwgMHg2KSAvKiBwZnJjcCAqLyB8CisgICAgICAgICAgICAoMSA8PCAweDcpIC8qIHBmcnNx cnQgKi8gfAorICAgICAgICAgICAgKDEgPDwgMHhhKSAvKiBwZnN1YiAqLyB8CisgICAgICAgICAg ICAoMSA8PCAweGUpIC8qIHBmYWRkICovLAorICAgIFsweGFdID0gKDEgPDwgMHgwKSAvKiBwZmNt cGdlICovIHwKKyAgICAgICAgICAgICgxIDw8IDB4NCkgLyogcGZtYXggKi8gfAorICAgICAgICAg ICAgKDEgPDwgMHg2KSAvKiBwZnJjcGl0MSAqLyB8CisgICAgICAgICAgICAoMSA8PCAweDcpIC8q IHBmcnNxaXQxICovIHwKKyAgICAgICAgICAgICgxIDw8IDB4YSkgLyogcGZzdWJyICovIHwKKyAg ICAgICAgICAgICgxIDw8IDB4ZSkgLyogcGZhY2MgKi8sCisgICAgWzB4Yl0gPSAoMSA8PCAweDAp IC8qIHBmY21wZXEgKi8gfAorICAgICAgICAgICAgKDEgPDwgMHg0KSAvKiBwZm11bCAqLyB8Cisg ICAgICAgICAgICAoMSA8PCAweDYpIC8qIHBmcmNwaXQyICovIHwKKyAgICAgICAgICAgICgxIDw8 IDB4NykgLyogcG11bGhydyAqLyB8CisgICAgICAgICAgICAoMSA8PCAweGYpIC8qIHBhdmd1c2Ig Ki8sCit9OworCitzdGF0aWMgY29uc3QgdWludDE2X3QgXzNkbm93X2V4dF90YWJsZVsxNl0gPSB7 CisgICAgWzB4MV0gPSAoMSA8PCAweGQpIC8qIHBpMmZ3ICovLAorICAgIFsweDFdID0gKDEgPDwg MHhjKSAvKiBwZjJpdyAqLywKKyAgICBbMHg4XSA9ICgxIDw8IDB4YSkgLyogcGZuYWNjICovIHwK KyAgICAgICAgICAgICgxIDw8IDB4YSkgLyogcGZwbmFjYyAqLywKKyAgICBbMHhiXSA9ICgxIDw8 IDB4YikgLyogcGZzd2FwZCAqLywKK307CisKIC8qCiAgKiAidHdvX29wIiBhbmQgImZvdXJfb3Ai IGJlbG93IHJlZmVyIHRvIHRoZSBudW1iZXIgb2YgcmVnaXN0ZXIgb3BlcmFuZHMKICAqIChvbmUg b2Ygd2hpY2ggcG9zc2libHkgYWxzbyBhbGxvd2luZyB0byBiZSBhIG1lbW9yeSBvbmUpLiBUaGUg bmFtZWQKQEAgLTE2NzEsNiArMTcwMSw4IEBAIHN0YXRpYyBib29sIHZjcHVfaGFzKAogI2RlZmlu ZSB2Y3B1X2hhc19yZHJhbmQoKSAgICAgIHZjcHVfaGFzKCAgICAgICAgIDEsIEVDWCwgMzAsIGN0 eHQsIG9wcykKICNkZWZpbmUgdmNwdV9oYXNfbW14ZXh0KCkgICAgICh2Y3B1X2hhcygweDgwMDAw MDAxLCBFRFgsIDIyLCBjdHh0LCBvcHMpIHx8IFwKICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICB2Y3B1X2hhc19zc2UoKSkKKyNkZWZpbmUgdmNwdV9oYXNfM2Rub3dfZXh0KCkgICB2Y3B1 X2hhcygweDgwMDAwMDAxLCBFRFgsIDMwLCBjdHh0LCBvcHMpCisjZGVmaW5lIHZjcHVfaGFzXzNk bm93KCkgICAgICAgdmNwdV9oYXMoMHg4MDAwMDAwMSwgRURYLCAzMSwgY3R4dCwgb3BzKQogI2Rl ZmluZSB2Y3B1X2hhc19sYWhmX2xtKCkgICAgIHZjcHVfaGFzKDB4ODAwMDAwMDEsIEVDWCwgIDAs IGN0eHQsIG9wcykKICNkZWZpbmUgdmNwdV9oYXNfY3I4X2xlZ2FjeSgpICB2Y3B1X2hhcygweDgw MDAwMDAxLCBFQ1gsICA0LCBjdHh0LCBvcHMpCiAjZGVmaW5lIHZjcHVfaGFzX2x6Y250KCkgICAg ICAgdmNwdV9oYXMoMHg4MDAwMDAwMSwgRUNYLCAgNSwgY3R4dCwgb3BzKQpAQCAtNTUwNSw2ICs1 NTM3LDI2IEBAIHg4Nl9lbXVsYXRlKAogICAgIGNhc2UgWDg2RU1VTF9PUEMoMHgwZiwgMHgxOSkg Li4uIFg4NkVNVUxfT1BDKDB4MGYsIDB4MWYpOiAvKiBub3AgKi8KICAgICAgICAgYnJlYWs7CiAK KyAgICBjYXNlIFg4NkVNVUxfT1BDKDB4MGYsIDB4MGUpOiAvKiBmZW1tcyAqLworICAgICAgICBo b3N0X2FuZF92Y3B1X211c3RfaGF2ZSgzZG5vdyk7CisgICAgICAgIGFzbSB2b2xhdGlsZSAoICJm ZW1tcyIgKTsKKyAgICAgICAgYnJlYWs7CisKKyAgICBjYXNlIFg4NkVNVUxfT1BDKDB4MGYsIDB4 MGYpOiAvKiAzRE5vdyEgKi8KKyAgICAgICAgaWYgKCBfM2Rub3dfZXh0X3RhYmxlWyhpbW0xID4+ IDQpICYgMHhmXSAmICgxIDw8IChpbW0xICYgMHhmKSkgKQorICAgICAgICAgICAgaG9zdF9hbmRf dmNwdV9tdXN0X2hhdmUoM2Rub3dfZXh0KTsKKyAgICAgICAgZWxzZSBpZiAoIF8zZG5vd190YWJs ZVsoaW1tMSA+PiA0KSAmIDB4Zl0gJiAoMSA8PCAoaW1tMSAmIDB4ZikpICkKKyAgICAgICAgICAg IGhvc3RfYW5kX3ZjcHVfbXVzdF9oYXZlKDNkbm93KTsKKyAgICAgICAgZWxzZQorICAgICAgICAg ICAgZ2VuZXJhdGVfZXhjZXB0aW9uKEVYQ19VRCk7CisKKyAgICAgICAgZ2V0X2ZwdShYODZFTVVM X0ZQVV9tbXgsICZmaWMpOworCisgICAgICAgIGQgPSBEc3RSZWcgfCBTcmNNZW07CisgICAgICAg IG9wX2J5dGVzID0gODsKKyAgICAgICAgc3RhdGUtPnNpbWRfc2l6ZSA9IHNpbWRfb3RoZXI7Cisg ICAgICAgIGdvdG8gc2ltZF8wZl9pbW04OworCiAjZGVmaW5lIENBU0VfU0lNRF9QQUNLRURfSU5U KHBmeCwgb3BjKSAgICAgICBcCiAgICAgY2FzZSBYODZFTVVMX09QQyhwZngsIG9wYyk6ICAgICAg ICAgICAgICBcCiAgICAgY2FzZSBYODZFTVVMX09QQ182NihwZngsIG9wYykKLS0tIGEveGVuL2lu Y2x1ZGUvYXNtLXg4Ni9jcHVmZWF0dXJlLmgKKysrIGIveGVuL2luY2x1ZGUvYXNtLXg4Ni9jcHVm ZWF0dXJlLmgKQEAgLTcxLDYgKzcxLDggQEAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICYmIGJvb3RfY3B1X2hhcyhYODZfRkVBVFVSRV9GRlhTUikpCiAjZGVmaW5lIGNwdV9oYXNf cGFnZTFnYiAgICAgICAgIGJvb3RfY3B1X2hhcyhYODZfRkVBVFVSRV9QQUdFMUdCKQogI2RlZmlu ZSBjcHVfaGFzX3JkdHNjcCAgICAgICAgICBib290X2NwdV9oYXMoWDg2X0ZFQVRVUkVfUkRUU0NQ KQorI2RlZmluZSBjcHVfaGFzXzNkbm93X2V4dCAgICAgICBib290X2NwdV9oYXMoWDg2X0ZFQVRV UkVfM0ROT1dFWFQpCisjZGVmaW5lIGNwdV9oYXNfM2Rub3cgICAgICAgICAgIGJvb3RfY3B1X2hh cyhYODZfRkVBVFVSRV8zRE5PVykKIAogLyogQ1BVSUQgbGV2ZWwgMHg4MDAwMDAwMS5lY3ggKi8K ICNkZWZpbmUgY3B1X2hhc19jbXBfbGVnYWN5ICAgICAgYm9vdF9jcHVfaGFzKFg4Nl9GRUFUVVJF X0NNUF9MRUdBQ1kpCgoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fClhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbnByb2plY3Qu b3JnCmh0dHBzOi8vbGlzdHMueGVucHJvamVjdC5vcmcvbWFpbG1hbi9saXN0aW5mby94ZW4tZGV2 ZWw=