From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Jan Beulich" Subject: [PATCH v2 12/17] x86emul: support 3DNow! insns Date: Thu, 14 Sep 2017 09:18:45 -0600 Message-ID: <59BAB9F5020000780017B3F0@prv-mh.provo.novell.com> References: <59BAB38A020000780017B34E@prv-mh.provo.novell.com> <59BAB38A020000780017B34E@prv-mh.provo.novell.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 1dsVuk-0003lA-BP for xen-devel@lists.xenproject.org; Thu, 14 Sep 2017 15:18:50 +0000 In-Reply-To: <59BAB38A020000780017B34E@prv-mh.provo.novell.com> Content-Disposition: inline List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: xen-devel Cc: George Dunlap , Andrew Cooper List-Id: xen-devel@lists.xenproject.org WWVzLCByZWNlbnQgQU1EIENQVXMgZG9uJ3Qgc3VwcG9ydCB0aGVtIGFueW1vcmUsIGJ1dCBJIHRo aW5rIHdlIHNob3VsZApuZXZlcnRoZWxlc3MgY29wZS4KClNpZ25lZC1vZmYtYnk6IEphbiBCZXVs aWNoIDxqYmV1bGljaEBzdXNlLmNvbT4KCi0tLSBhLy5naXRpZ25vcmUKKysrIGIvLmdpdGlnbm9y ZQpAQCAtMjIzLDYgKzIyMyw3IEBACiB0b29scy9zZWN1cml0eS94ZW5zZWNfdG9vbAogdG9vbHMv dGVzdHMveDg2X2VtdWxhdG9yLyouYmluCiB0b29scy90ZXN0cy94ODZfZW11bGF0b3IvKi50bXAK K3Rvb2xzL3Rlc3RzL3g4Nl9lbXVsYXRvci8zZG5vdyouW2NoXQogdG9vbHMvdGVzdHMveDg2X2Vt dWxhdG9yL2FzbQogdG9vbHMvdGVzdHMveDg2X2VtdWxhdG9yL2F2eCouW2NoXQogdG9vbHMvdGVz dHMveDg2X2VtdWxhdG9yL2Jsb3dmaXNoLmgKLS0tIGEvdG9vbHMvdGVzdHMveDg2X2VtdWxhdG9y L01ha2VmaWxlCisrKyBiL3Rvb2xzL3Rlc3RzL3g4Nl9lbXVsYXRvci9NYWtlZmlsZQpAQCAtMTEs NyArMTEsNyBAQCBhbGw6ICQoVEFSR0VUKQogcnVuOiAkKFRBUkdFVCkKIAkuLyQoVEFSR0VUKQog Ci1TSU1EIDo9IHNzZSBzc2UyIHNzZTQgYXZ4IGF2eDIgeG9wCitTSU1EIDo9IDNkbm93IHNzZSBz c2UyIHNzZTQgYXZ4IGF2eDIgeG9wCiBGTUEgOj0gZm1hNCBmbWEKIFNHIDo9IGF2eDItc2cKIFRF U1RDQVNFUyA6PSBibG93ZmlzaCAkKFNJTUQpICQoRk1BKSAkKFNHKQpAQCAtMTksNiArMTksOSBA QCBURVNUQ0FTRVMgOj0gYmxvd2Zpc2ggJChTSU1EKSAkKEZNQSkgJChTCiBibG93ZmlzaC1jZmxh Z3MgOj0gIiIKIGJsb3dmaXNoLWNmbGFncy14ODZfMzIgOj0gIi1tbm8tYWNjdW11bGF0ZS1vdXRn b2luZy1hcmdzIC1Ec3RhdGljPSIKIAorM2Rub3ctdmVjcyA6PSA4CiszZG5vdy1pbnRzIDo9Cisz ZG5vdy1mbHRzIDo9IDQKIHNzZS12ZWNzIDo9IDE2CiBzc2UtaW50cyA6PQogc3NlLWZsdHMgOj0g NApAQCAtNDksOCArNTIsMTMgQEAgeG9wLWludHMgOj0gMSAyIDQgOAogeG9wLWZsdHMgOj0gJChh dngtZmx0cykKIAogIyBGb3IgQVZYIGFuZCBsYXRlciwgaGF2ZSB0aGUgY29tcGlsZXIgYXZvaWQg WE1NMCB0byB3aWRlbiBjb3ZlcmFnZSBvZgotIyB0aGUgVkVYLnZ2dnYgY2hlY2tzIGluIHRoZSBl bXVsYXRvci4KLW5vbi1zc2UgPSAkKGlmICQoZmlsdGVyIHNzZSUsJCgxKSksLC1mZml4ZWQteG1t MCkKKyMgdGhlIFZFWC52dnZ2IGNoZWNrcyBpbiB0aGUgZW11bGF0b3IuICBGb3IgM0ROb3chLCBo b3dldmVyLCBmb3JjZSBTU0UKKyMgdXNlIGZvciBmbG9hdGluZyBwb2ludCBvcGVyYXRpb25zLCB0 byBhdm9pZCBtaXhpbmcgTU1YIGFuZCBGUFUgcmVnaXN0ZXIKKyMgdXNlcy4gIEFsc28gZW5hYmxl IDNETm93ISBleHRlbnNpb25zLCBidXQgbm90ZSB0aGF0IHdlIGNhbid0IHVzZSAzZG5vd2EKKyMg YXMgdGhlIHRlc3QgZmxhdm9yIHJpZ2h0IGF3YXkgc2luY2UgLW0zZG5vd2EgaXMgYmVpbmcgdW5k ZXJzdG9vZCBvbmx5CisjIGJ5IGdjYyA3LnggYW5kIG5ld2VyIChvbGRlciBvbmVzIHdhbnQgYSBz cGVjaWZpYyBtYWNoaW5lIG1vZGVsIGluc3RlYWQpLgorM2Rub3dhIDo9ICQoY2FsbCBjYy1vcHRp b24sJChDQyksLW0zZG5vd2EsLW1hcmNoPWs4KQorbm9uLXNzZSA9ICQoaWYgJChmaWx0ZXIgc3Nl JSwkKDEpKSwsJChpZiAkKGZpbHRlciAzZG5vdyUsJCgxKSksLW1zc2UgLW1mcG1hdGg9c3NlICQo M2Rub3dhKSwtZmZpeGVkLXhtbTApKQogCiBkZWZpbmUgc2ltZC1kZWZzCiAkKDEpLWNmbGFncyA6 PSBcCkBAIC04MSw4ICs4OSw5IEBAICQoYWRkc3VmZml4IC5oLCQoVEVTVENBU0VTKSk6ICUuaDog JS5jIHQKIAkkKGZvcmVhY2ggYXJjaCwkKGZpbHRlci1vdXQgJChYRU5fQ09NUElMRV9BUkNIKSx4 ODZfMzIpICQoWEVOX0NPTVBJTEVfQVJDSCksIFwKIAkgICAgZm9yIGNmbGFncyBpbiAkKCQqLWNm bGFncykgJCgkKi1jZmxhZ3MtJChhcmNoKSk7IGRvIFwKIAkJJChNQUtFKSAtZiB0ZXN0Y2FzZS5t ayBURVNUQ0FTRT0kKiBYRU5fVEFSR0VUX0FSQ0g9JChhcmNoKSAkKi1jZmxhZ3M9IiQkY2ZsYWdz IiBhbGw7IFwKKwkJcHJlZml4PSQoc2hlbGwgZWNobyAkKHN1YnN0IC0sXywkKikgfCBzZWQgLWUg J3MsXlwoWzAtOV1cKSxfXDEsJyk7IFwKIAkJZmxhdm9yPSQkKGVjaG8gJCR7Y2ZsYWdzfSB8IHNl ZCAtZSAncywgLiosLCcgLWUgJ3ksLT0sX18sJykgOyBcCi0JCShlY2hvICJzdGF0aWMgY29uc3Qg dW5zaWduZWQgaW50ICQoc3Vic3QgLSxfLCQqKV8kKGFyY2gpJCR7Zmxhdm9yfVtdID0geyI7IFwK KwkJKGVjaG8gInN0YXRpYyBjb25zdCB1bnNpZ25lZCBpbnQgJCR7cHJlZml4fV8kKGFyY2gpJCR7 Zmxhdm9yfVtdID0geyI7IFwKIAkJIG9kIC12IC10IHggJCouYmluIHwgc2VkIC1lICdzL15bMC05 XSogLzB4LycgLWUgJ3MvIC8sIDB4L2cnIC1lICdzLyQkLywvJzsgXAogCQkgZWNobyAifTsiKSA+ PiRALm5ldzsgXAogCQlybSAtZiAkKi5iaW47IFwKLS0tIGEvdG9vbHMvdGVzdHMveDg2X2VtdWxh dG9yL3NpbWQuYworKysgYi90b29scy90ZXN0cy94ODZfZW11bGF0b3Ivc2ltZC5jCkBAIC00OCw2 ICs0OCw4IEBAIHN0YXRpYyBpbmxpbmUgYm9vbCBfdG9fYm9vbChieXRlX3ZlY190IGIKIAogI2lm IFZFQ19TSVpFID09IEZMT0FUX1NJWkUKICMgZGVmaW5lIHRvX2ludCh4KSAoKHZlY190KXsgKGlu dCkoeClbMF0gfSkKKyNlbGlmIFZFQ19TSVpFID09IDggJiYgRkxPQVRfU0laRSA9PSA0ICYmIGRl ZmluZWQoX18zZE5PV19fKQorIyBkZWZpbmUgdG9faW50KHgpIF9fYnVpbHRpbl9pYTMyX3BpMmZk KF9fYnVpbHRpbl9pYTMyX3BmMmlkKHgpKQogI2VsaWYgVkVDX1NJWkUgPT0gMTYgJiYgZGVmaW5l ZChfX1NTRTJfXykKICMgaWYgRkxPQVRfU0laRSA9PSA0CiAjICBkZWZpbmUgdG9faW50KHgpIF9f YnVpbHRpbl9pYTMyX2N2dGRxMnBzKF9fYnVpbHRpbl9pYTMyX2N2dHBzMmRxKHgpKQpAQCAtNzAs NyArNzIsMjQgQEAgc3RhdGljIGlubGluZSBib29sIF90b19ib29sKGJ5dGVfdmVjX3QgYgogfSkK ICNlbmRpZgogCi0jaWYgRkxPQVRfU0laRSA9PSA0ICYmIGRlZmluZWQoX19TU0VfXykKKyNpZiBW RUNfU0laRSA9PSA4ICYmIEZMT0FUX1NJWkUgPT0gNCAmJiBkZWZpbmVkKF9fM2ROT1dfQV9fKQor IyBkZWZpbmUgbWF4IF9fYnVpbHRpbl9pYTMyX3BmbWF4CisjIGRlZmluZSBtaW4gX19idWlsdGlu X2lhMzJfcGZtaW4KKyMgZGVmaW5lIHJlY2lwKHgpICh7IFwKKyAgICB2ZWNfdCB0XyA9IF9fYnVp bHRpbl9pYTMyX3BmcmNwKHgpOyBcCisgICAgdG91Y2goeCk7IFwKKyAgICB0X1sxXSA9IF9fYnVp bHRpbl9pYTMyX3BmcmNwKF9fYnVpbHRpbl9pYTMyX3Bzd2FwZHNmKHgpKVswXTsgXAorICAgIHRv dWNoKHgpOyBcCisgICAgX19idWlsdGluX2lhMzJfcGZyY3BpdDIoX19idWlsdGluX2lhMzJfcGZy Y3BpdDEodF8sIHgpLCB0Xyk7IFwKK30pCisjIGRlZmluZSByc3FydCh4KSAoeyBcCisgICAgdmVj X3QgdF8gPSBfX2J1aWx0aW5faWEzMl9wZnJzcXJ0KHgpOyBcCisgICAgdG91Y2goeCk7IFwKKyAg ICB0X1sxXSA9IF9fYnVpbHRpbl9pYTMyX3BmcnNxcnQoX19idWlsdGluX2lhMzJfcHN3YXBkc2Yo eCkpWzBdOyBcCisgICAgdG91Y2goeCk7IFwKKyAgICBfX2J1aWx0aW5faWEzMl9wZnJjcGl0Mihf X2J1aWx0aW5faWEzMl9wZnJzcWl0MShfX2J1aWx0aW5faWEzMl9wZm11bCh0XywgdF8pLCB4KSwg dF8pOyBcCit9KQorI2VsaWYgRkxPQVRfU0laRSA9PSA0ICYmIGRlZmluZWQoX19TU0VfXykKICMg aWYgVkVDX1NJWkUgPT0gMzIgJiYgZGVmaW5lZChfX0FWWF9fKQogIyAgZGVmaW5lIGJyb2FkY2Fz dCh4KSAoeyBmbG9hdCB0XyA9ICh4KTsgX19idWlsdGluX2lhMzJfdmJyb2FkY2FzdHNzMjU2KCZ0 Xyk7IH0pCiAjICBkZWZpbmUgbWF4KHgsIHkpIF9fYnVpbHRpbl9pYTMyX21heHBzMjU2KHgsIHkp Ci0tLSBhL3Rvb2xzL3Rlc3RzL3g4Nl9lbXVsYXRvci90ZXN0X3g4Nl9lbXVsYXRvci5jCisrKyBi L3Rvb2xzL3Rlc3RzL3g4Nl9lbXVsYXRvci90ZXN0X3g4Nl9lbXVsYXRvci5jCkBAIC01LDYgKzUs NyBAQAogCiAjaW5jbHVkZSAieDg2X2VtdWxhdGUuaCIKICNpbmNsdWRlICJibG93ZmlzaC5oIgor I2luY2x1ZGUgIjNkbm93LmgiCiAjaW5jbHVkZSAic3NlLmgiCiAjaW5jbHVkZSAic3NlMi5oIgog I2luY2x1ZGUgInNzZTQuaCIKQEAgLTI4LDYgKzI5LDExIEBAIHN0YXRpYyBib29sIGJsb3dmaXNo X2NoZWNrX3JlZ3MoY29uc3Qgc3QKICAgICByZXR1cm4gcmVncy0+ZWF4ID09IDIgJiYgcmVncy0+ ZWR4ID09IDE7CiB9CiAKK3N0YXRpYyBib29sIHNpbWRfY2hlY2tfXzNkbm93KHZvaWQpCit7Cisg ICAgcmV0dXJuIGNwdV9oYXNfM2Rub3dfZXh0ICYmIGNwdV9oYXNfc3NlOworfQorCiBzdGF0aWMg Ym9vbCBzaW1kX2NoZWNrX3NzZSh2b2lkKQogewogICAgIHJldHVybiBjcHVfaGFzX3NzZTsKQEAg LTExNyw2ICsxMjMsNyBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IHsKICNlbHNlCiAjIGRlZmluZSBT SU1EKGRlc2MsIGZlYXQsIGZvcm0pIFNJTURfKDMyLCBkZXNjLCBmZWF0LCBmb3JtKQogI2VuZGlm CisgICAgU0lNRCgzRE5vdyEgc2luZ2xlLCAgICAgICAgICBfM2Rub3csICAgICA4ZjQpLAogICAg IFNJTUQoU1NFIHNjYWxhciBzaW5nbGUsICAgICAgc3NlLCAgICAgICAgIGY0KSwKICAgICBTSU1E KFNTRSBwYWNrZWQgc2luZ2xlLCAgICAgIHNzZSwgICAgICAgMTZmNCksCiAgICAgU0lNRChTU0Uy IHNjYWxhciBzaW5nbGUsICAgICBzc2UyLCAgICAgICAgZjQpLAotLS0gYS90b29scy90ZXN0cy94 ODZfZW11bGF0b3IveDg2X2VtdWxhdGUuaAorKysgYi90b29scy90ZXN0cy94ODZfZW11bGF0b3Iv eDg2X2VtdWxhdGUuaApAQCAtMTY2LDYgKzE2NiwxMiBAQCBzdGF0aWMgaW5saW5lIHVpbnQ2NF90 IHhnZXRidih1aW50MzJfdCB4CiAgICAgKHJlcy5iICYgKDFVIDw8IDgpKSAhPSAwOyBcCiB9KQog CisjZGVmaW5lIGNwdV9oYXNfM2Rub3dfZXh0ICh7IFwKKyAgICBzdHJ1Y3QgY3B1aWRfbGVhZiBy ZXM7IFwKKyAgICBlbXVsX3Rlc3RfY3B1aWQoMHg4MDAwMDAwMSwgMCwgJnJlcywgTlVMTCk7IFwK KyAgICAocmVzLmQgJiAoMVUgPDwgMzApKSAhPSAwOyBcCit9KQorCiAjZGVmaW5lIGNwdV9oYXNf c3NlNGEgKHsgXAogICAgIHN0cnVjdCBjcHVpZF9sZWFmIHJlczsgXAogICAgIGVtdWxfdGVzdF9j cHVpZCgweDgwMDAwMDAxLCAwLCAmcmVzLCBOVUxMKTsgXAotLS0gYS94ZW4vYXJjaC94ODYveDg2 X2VtdWxhdGUveDg2X2VtdWxhdGUuYworKysgYi94ZW4vYXJjaC94ODYveDg2X2VtdWxhdGUveDg2 X2VtdWxhdGUuYwpAQCAtMzU1LDYgKzM1NSwzNiBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IHsKICAg ICBbMHhmZl0gPSB7IE1vZFJNIH0KIH07CiAKK3N0YXRpYyBjb25zdCB1aW50MTZfdCBfM2Rub3df dGFibGVbMTZdID0geworICAgIFsweDBdID0gKDEgPDwgMHhkKSAvKiBwaTJmZCAqLywKKyAgICBb MHgxXSA9ICgxIDw8IDB4ZCkgLyogcGYyaWQgKi8sCisgICAgWzB4OV0gPSAoMSA8PCAweDApIC8q IHBmY21wZ2UgKi8gfAorICAgICAgICAgICAgKDEgPDwgMHg0KSAvKiBwZm1pbiAqLyB8CisgICAg ICAgICAgICAoMSA8PCAweDYpIC8qIHBmcmNwICovIHwKKyAgICAgICAgICAgICgxIDw8IDB4Nykg LyogcGZyc3FydCAqLyB8CisgICAgICAgICAgICAoMSA8PCAweGEpIC8qIHBmc3ViICovIHwKKyAg ICAgICAgICAgICgxIDw8IDB4ZSkgLyogcGZhZGQgKi8sCisgICAgWzB4YV0gPSAoMSA8PCAweDAp IC8qIHBmY21wZ2UgKi8gfAorICAgICAgICAgICAgKDEgPDwgMHg0KSAvKiBwZm1heCAqLyB8Cisg ICAgICAgICAgICAoMSA8PCAweDYpIC8qIHBmcmNwaXQxICovIHwKKyAgICAgICAgICAgICgxIDw8 IDB4NykgLyogcGZyc3FpdDEgKi8gfAorICAgICAgICAgICAgKDEgPDwgMHhhKSAvKiBwZnN1YnIg Ki8gfAorICAgICAgICAgICAgKDEgPDwgMHhlKSAvKiBwZmFjYyAqLywKKyAgICBbMHhiXSA9ICgx IDw8IDB4MCkgLyogcGZjbXBlcSAqLyB8CisgICAgICAgICAgICAoMSA8PCAweDQpIC8qIHBmbXVs ICovIHwKKyAgICAgICAgICAgICgxIDw8IDB4NikgLyogcGZyY3BpdDIgKi8gfAorICAgICAgICAg ICAgKDEgPDwgMHg3KSAvKiBwbXVsaHJ3ICovIHwKKyAgICAgICAgICAgICgxIDw8IDB4ZikgLyog cGF2Z3VzYiAqLywKK307CisKK3N0YXRpYyBjb25zdCB1aW50MTZfdCBfM2Rub3dfZXh0X3RhYmxl WzE2XSA9IHsKKyAgICBbMHgxXSA9ICgxIDw8IDB4ZCkgLyogcGkyZncgKi8sCisgICAgWzB4MV0g PSAoMSA8PCAweGMpIC8qIHBmMml3ICovLAorICAgIFsweDhdID0gKDEgPDwgMHhhKSAvKiBwZm5h Y2MgKi8gfAorICAgICAgICAgICAgKDEgPDwgMHhhKSAvKiBwZnBuYWNjICovLAorICAgIFsweGJd ID0gKDEgPDwgMHhiKSAvKiBwZnN3YXBkICovLAorfTsKKwogLyoKICAqICJ0d29fb3AiIGFuZCAi Zm91cl9vcCIgYmVsb3cgcmVmZXIgdG8gdGhlIG51bWJlciBvZiByZWdpc3RlciBvcGVyYW5kcwog ICogKG9uZSBvZiB3aGljaCBwb3NzaWJseSBhbHNvIGFsbG93aW5nIHRvIGJlIGEgbWVtb3J5IG9u ZSkuIFRoZSBuYW1lZApAQCAtMTY3MCw2ICsxNzAwLDggQEAgc3RhdGljIGJvb2wgdmNwdV9oYXMo CiAjZGVmaW5lIHZjcHVfaGFzX3JkcmFuZCgpICAgICAgdmNwdV9oYXMoICAgICAgICAgMSwgRUNY LCAzMCwgY3R4dCwgb3BzKQogI2RlZmluZSB2Y3B1X2hhc19tbXhleHQoKSAgICAgKHZjcHVfaGFz KDB4ODAwMDAwMDEsIEVEWCwgMjIsIGN0eHQsIG9wcykgfHwgXAogICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHZjcHVfaGFzX3NzZSgpKQorI2RlZmluZSB2Y3B1X2hhc18zZG5vd19leHQo KSAgIHZjcHVfaGFzKDB4ODAwMDAwMDEsIEVEWCwgMzAsIGN0eHQsIG9wcykKKyNkZWZpbmUgdmNw dV9oYXNfM2Rub3coKSAgICAgICB2Y3B1X2hhcygweDgwMDAwMDAxLCBFRFgsIDMxLCBjdHh0LCBv cHMpCiAjZGVmaW5lIHZjcHVfaGFzX2xhaGZfbG0oKSAgICAgdmNwdV9oYXMoMHg4MDAwMDAwMSwg RUNYLCAgMCwgY3R4dCwgb3BzKQogI2RlZmluZSB2Y3B1X2hhc19jcjhfbGVnYWN5KCkgIHZjcHVf aGFzKDB4ODAwMDAwMDEsIEVDWCwgIDQsIGN0eHQsIG9wcykKICNkZWZpbmUgdmNwdV9oYXNfbHpj bnQoKSAgICAgICB2Y3B1X2hhcygweDgwMDAwMDAxLCBFQ1gsICA1LCBjdHh0LCBvcHMpCkBAIC01 NTAyLDYgKzU1MzQsMjYgQEAgeDg2X2VtdWxhdGUoCiAgICAgY2FzZSBYODZFTVVMX09QQygweDBm LCAweDE5KSAuLi4gWDg2RU1VTF9PUEMoMHgwZiwgMHgxZik6IC8qIG5vcCAqLwogICAgICAgICBi cmVhazsKIAorICAgIGNhc2UgWDg2RU1VTF9PUEMoMHgwZiwgMHgwZSk6IC8qIGZlbW1zICovCisg ICAgICAgIGhvc3RfYW5kX3ZjcHVfbXVzdF9oYXZlKDNkbm93KTsKKyAgICAgICAgYXNtIHZvbGF0 aWxlICggImZlbW1zIiApOworICAgICAgICBicmVhazsKKworICAgIGNhc2UgWDg2RU1VTF9PUEMo MHgwZiwgMHgwZik6IC8qIDNETm93ISAqLworICAgICAgICBpZiAoIF8zZG5vd19leHRfdGFibGVb KGltbTEgPj4gNCkgJiAweGZdICYgKDEgPDwgKGltbTEgJiAweGYpKSApCisgICAgICAgICAgICBo b3N0X2FuZF92Y3B1X211c3RfaGF2ZSgzZG5vd19leHQpOworICAgICAgICBlbHNlIGlmICggXzNk bm93X3RhYmxlWyhpbW0xID4+IDQpICYgMHhmXSAmICgxIDw8IChpbW0xICYgMHhmKSkgKQorICAg ICAgICAgICAgaG9zdF9hbmRfdmNwdV9tdXN0X2hhdmUoM2Rub3cpOworICAgICAgICBlbHNlCisg ICAgICAgICAgICBnZW5lcmF0ZV9leGNlcHRpb24oRVhDX1VEKTsKKworICAgICAgICBnZXRfZnB1 KFg4NkVNVUxfRlBVX21teCwgJmZpYyk7CisKKyAgICAgICAgZCA9IERzdFJlZyB8IFNyY01lbTsK KyAgICAgICAgb3BfYnl0ZXMgPSA4OworICAgICAgICBzdGF0ZS0+c2ltZF9zaXplID0gc2ltZF9v dGhlcjsKKyAgICAgICAgZ290byBzaW1kXzBmX2ltbTg7CisKICNkZWZpbmUgQ0FTRV9TSU1EX1BB Q0tFRF9JTlQocGZ4LCBvcGMpICAgICAgIFwKICAgICBjYXNlIFg4NkVNVUxfT1BDKHBmeCwgb3Bj KTogICAgICAgICAgICAgIFwKICAgICBjYXNlIFg4NkVNVUxfT1BDXzY2KHBmeCwgb3BjKQotLS0g YS94ZW4vaW5jbHVkZS9hc20teDg2L2NwdWZlYXR1cmUuaAorKysgYi94ZW4vaW5jbHVkZS9hc20t eDg2L2NwdWZlYXR1cmUuaApAQCAtNzEsNiArNzEsOCBAQAogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgJiYgYm9vdF9jcHVfaGFzKFg4Nl9GRUFUVVJFX0ZGWFNSKSkKICNkZWZpbmUg Y3B1X2hhc19wYWdlMWdiICAgICAgICAgYm9vdF9jcHVfaGFzKFg4Nl9GRUFUVVJFX1BBR0UxR0Ip CiAjZGVmaW5lIGNwdV9oYXNfcmR0c2NwICAgICAgICAgIGJvb3RfY3B1X2hhcyhYODZfRkVBVFVS RV9SRFRTQ1ApCisjZGVmaW5lIGNwdV9oYXNfM2Rub3dfZXh0ICAgICAgIGJvb3RfY3B1X2hhcyhY ODZfRkVBVFVSRV8zRE5PV0VYVCkKKyNkZWZpbmUgY3B1X2hhc18zZG5vdyAgICAgICAgICAgYm9v dF9jcHVfaGFzKFg4Nl9GRUFUVVJFXzNETk9XKQogCiAvKiBDUFVJRCBsZXZlbCAweDgwMDAwMDAx LmVjeCAqLwogI2RlZmluZSBjcHVfaGFzX2NtcF9sZWdhY3kgICAgICBib290X2NwdV9oYXMoWDg2 X0ZFQVRVUkVfQ01QX0xFR0FDWSkKCgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX18KWGVuLWRldmVsIG1haWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlzdHMueGVu Lm9yZwpodHRwczovL2xpc3RzLnhlbi5vcmcveGVuLWRldmVsCg==