From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Jan Beulich" Subject: [PATCH v3 29/34] x86emul: support AVX512{F, BW, _VBMI} full permute insns Date: Tue, 18 Sep 2018 06:11:19 -0600 Message-ID: <5BA0EB6702000078001E965A@prv1-mh.provo.novell.com> References: <5B6BF83602000078001DC548@prv1-mh.provo.novell.com> <5BA0E58F02000078001E94CE@prv1-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.89) (envelope-from ) id 1g2Eqi-00027W-U4 for xen-devel@lists.xenproject.org; Tue, 18 Sep 2018 12:11:24 +0000 In-Reply-To: <5BA0E58F02000078001E94CE@prv1-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 , Wei Liu List-Id: xen-devel@lists.xenproject.org VGFrZSB0aGUgbGliZXJ0eSBhbmQgYWxzbyBjb3JyZWN0IHRoZSAocHVibGljIGludGVyZmFjZSkg bmFtZSBvZiB0aGUKQVZYNTEyX1ZCTUkgZmVhdHVyZSBmbGFnLCBvbiB0aGUgYXNzdW1wdGlvbiB0 aGF0IG5vIGV4dGVybmFsIGNvbnN1bWVyCmhhcyBhY3R1YWxseSBiZWVuIHVzaW5nIHRoYXQgZmxh ZyBzbyBmYXIuIEZ1cnRoZXJtb3JlIG1ha2UgaXQgaGF2ZQpBVlg1MTJCVyBpbnN0ZWFkIG9mIEFW WDUxMkYgYXMgYSBwcmVyZXF1aXNpdGUsIGZvciByZXF1aXJpbmcgZnVsbAo2NC1iaXQgbWFzayBy ZWdpc3RlcnMgKHRoZSB1cHBlciA0OCBiaXRzIG9mIHdoaWNoIGNhbid0IGJlIGFjY2Vzc2VkCm90 aGVyIHRoYW4gdGhyb3VnaCBYU0FWRS9YUlNUT1Igd2l0aG91dCBBVlg1MTJCVyBzdXBwb3J0KS4K ClNpZ25lZC1vZmYtYnk6IEphbiBCZXVsaWNoIDxqYmV1bGljaEBzdXNlLmNvbT4KLS0tCnYzOiBO ZXcuCgotLS0gYS90b29scy90ZXN0cy94ODZfZW11bGF0b3IvZXZleC1kaXNwOC5jCisrKyBiL3Rv b2xzL3Rlc3RzL3g4Nl9lbXVsYXRvci9ldmV4LWRpc3A4LmMKQEAgLTE1OSw2ICsxNTksMTAgQEAg c3RhdGljIGNvbnN0IHN0cnVjdCB0ZXN0IGF2eDUxMmZfYWxsW10gPQogICAgIElOU04ocGNtcGd0 ZCwgICAgICA2NiwgICAwZiwgNjYsICAgIHZsLCAgICAgIGQsIHZsKSwKICAgICBJTlNOKHBjbXBn dHEsICAgICAgNjYsIDBmMzgsIDM3LCAgICB2bCwgICAgICBxLCB2bCksCiAgICAgSU5TTihwY21w dSwgICAgICAgIDY2LCAwZjNhLCAxZSwgICAgdmwsICAgICBkcSwgdmwpLAorICAgIElOU04ocGVy bWkyLCAgICAgICA2NiwgMGYzOCwgNzYsICAgIHZsLCAgICAgZHEsIHZsKSwKKyAgICBJTlNOKHBl cm1pMiwgICAgICAgNjYsIDBmMzgsIDc3LCAgICB2bCwgICAgIHNkLCB2bCksCisgICAgSU5TTihw ZXJtdDIsICAgICAgIDY2LCAwZjM4LCA3ZSwgICAgdmwsICAgICBkcSwgdmwpLAorICAgIElOU04o cGVybXQyLCAgICAgICA2NiwgMGYzOCwgN2YsICAgIHZsLCAgICAgc2QsIHZsKSwKICAgICBJTlNO KHBtYXhzLCAgICAgICAgNjYsIDBmMzgsIDNkLCAgICB2bCwgICAgIGRxLCB2bCksCiAgICAgSU5T TihwbWF4dSwgICAgICAgIDY2LCAwZjM4LCAzZiwgICAgdmwsICAgICBkcSwgdmwpLAogICAgIElO U04ocG1pbnMsICAgICAgICA2NiwgMGYzOCwgMzksICAgIHZsLCAgICAgZHEsIHZsKSwKQEAgLTI4 MCw2ICsyODQsOCBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IHRlc3QgYXZ4NTEyYndfYWxsW10KICAg ICBJTlNOKHBjbXBndGIsICAgICA2NiwgICAwZiwgNjQsICAgIHZsLCAgIGIsIHZsKSwKICAgICBJ TlNOKHBjbXBndHcsICAgICA2NiwgICAwZiwgNjUsICAgIHZsLCAgIHcsIHZsKSwKICAgICBJTlNO KHBjbXB1LCAgICAgICA2NiwgMGYzYSwgM2UsICAgIHZsLCAgYncsIHZsKSwKKyAgICBJTlNOKHBl cm1pMncsICAgICA2NiwgMGYzOCwgNzUsICAgIHZsLCAgIHcsIHZsKSwKKyAgICBJTlNOKHBlcm10 MncsICAgICA2NiwgMGYzOCwgN2QsICAgIHZsLCAgIHcsIHZsKSwKICAgICBJTlNOKHBtYWRkd2Qs ICAgICA2NiwgICAwZiwgZjUsICAgIHZsLCAgIHcsIHZsKSwKICAgICBJTlNOKHBtYXhzYiwgICAg ICA2NiwgMGYzOCwgM2MsICAgIHZsLCAgIGIsIHZsKSwKICAgICBJTlNOKHBtYXhzdywgICAgICA2 NiwgICAwZiwgZWUsICAgIHZsLCAgIHcsIHZsKSwKQEAgLTM2NCw2ICszNzAsMTEgQEAgc3RhdGlj IGNvbnN0IHN0cnVjdCB0ZXN0IGF2eDUxMmRxXzUxMltdCiAgICAgSU5TTihpbnNlcnRpMzJ4OCwg ICAgNjYsIDBmM2EsIDNhLCBlbF84LCBkLCB2bCksCiB9OwogCitzdGF0aWMgY29uc3Qgc3RydWN0 IHRlc3QgYXZ4NTEyX3ZibWlfYWxsW10gPSB7CisgICAgSU5TTihwZXJtaTJiLCAgICAgICA2Niwg MGYzOCwgNzUsIHZsLCBiLCB2bCksCisgICAgSU5TTihwZXJtdDJiLCAgICAgICA2NiwgMGYzOCwg N2QsIHZsLCBiLCB2bCksCit9OworCiBzdGF0aWMgY29uc3QgdW5zaWduZWQgY2hhciB2bF9hbGxb XSA9IHsgVkxfNTEyLCBWTF8xMjgsIFZMXzI1NiB9Owogc3RhdGljIGNvbnN0IHVuc2lnbmVkIGNo YXIgdmxfMTI4W10gPSB7IFZMXzEyOCB9Owogc3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgdmxf bm8xMjhbXSA9IHsgVkxfNTEyLCBWTF8yNTYgfTsKQEAgLTY4NCw0ICs2OTUsNSBAQCB2b2lkIGV2 ZXhfZGlzcDhfdGVzdCh2b2lkICppbnN0ciwgc3RydWN0CiAgICAgUlVOKGF2eDUxMmRxLCAxMjgp OwogICAgIFJVTihhdng1MTJkcSwgbm8xMjgpOwogICAgIFJVTihhdng1MTJkcSwgNTEyKTsKKyAg ICBSVU4oYXZ4NTEyX3ZibWksIGFsbCk7CiB9Ci0tLSBhL3Rvb2xzL3Rlc3RzL3g4Nl9lbXVsYXRv ci9zaW1kLmMKKysrIGIvdG9vbHMvdGVzdHMveDg2X2VtdWxhdG9yL3NpbWQuYwpAQCAtMTQ0LDYg KzE0NCw5IEBAIHN0YXRpYyBpbmxpbmUgYm9vbCBfdG9fYm9vbChieXRlX3ZlY190IGIKICMgICAg ZGVmaW5lIGludGVybGVhdmVfaGkoeCwgeSkgQih1bnBja2hwcywgX21hc2ssIHgsIHksIHVuZGVm KCksIH4wKQogIyAgICBkZWZpbmUgaW50ZXJsZWF2ZV9sbyh4LCB5KSBCKHVucGNrbHBzLCBfbWFz aywgeCwgeSwgdW5kZWYoKSwgfjApCiAjICAgIGRlZmluZSBzd2FwKHgpIEIoc2h1ZnBzLCBfbWFz aywgeCwgeCwgMGIwMDAxMTAxMSwgdW5kZWYoKSwgfjApCisjICAgZWxzZQorIyAgICBkZWZpbmUg aW50ZXJsZWF2ZV9oaSh4LCB5KSBCKHZwZXJtaTJ2YXJwcywgX21hc2ssIHgsIGludGVybGVhdmVf aGksIHksIH4wKQorIyAgICBkZWZpbmUgaW50ZXJsZWF2ZV9sbyh4LCB5KSBCKHZwZXJtdDJ2YXJw cywgX21hc2ssIGludGVybGVhdmVfbG8sIHgsIHksIH4wKQogIyAgIGVuZGlmCiAjICBlbGlmIEZM T0FUX1NJWkUgPT0gOAogIyAgIGlmIFZFQ19TSVpFID49IDMyCkBAIC0xNjgsNiArMTcxLDkgQEAg c3RhdGljIGlubGluZSBib29sIF90b19ib29sKGJ5dGVfdmVjX3QgYgogIyAgICBkZWZpbmUgaW50 ZXJsZWF2ZV9oaSh4LCB5KSBCKHVucGNraHBkLCBfbWFzaywgeCwgeSwgdW5kZWYoKSwgfjApCiAj ICAgIGRlZmluZSBpbnRlcmxlYXZlX2xvKHgsIHkpIEIodW5wY2tscGQsIF9tYXNrLCB4LCB5LCB1 bmRlZigpLCB+MCkKICMgICAgZGVmaW5lIHN3YXAoeCkgQihzaHVmcGQsIF9tYXNrLCB4LCB4LCAw YjAxLCB1bmRlZigpLCB+MCkKKyMgICBlbHNlCisjICAgIGRlZmluZSBpbnRlcmxlYXZlX2hpKHgs IHkpIEIodnBlcm1pMnZhcnBkLCBfbWFzaywgeCwgaW50ZXJsZWF2ZV9oaSwgeSwgfjApCisjICAg IGRlZmluZSBpbnRlcmxlYXZlX2xvKHgsIHkpIEIodnBlcm10MnZhcnBkLCBfbWFzaywgaW50ZXJs ZWF2ZV9sbywgeCwgeSwgfjApCiAjICAgZW5kaWYKICMgIGVuZGlmCiAjIGVuZGlmCkBAIC0yOTcs NiArMzAzLDkgQEAgc3RhdGljIGlubGluZSBib29sIF90b19ib29sKGJ5dGVfdmVjX3QgYgogIyAg aWYgVkVDX1NJWkUgPT0gMTYKICMgICBkZWZpbmUgaW50ZXJsZWF2ZV9oaSh4LCB5KSAoKHZlY190 KUIocHVucGNraGRxLCBfbWFzaywgKHZzaV90KSh4KSwgKHZzaV90KSh5KSwgKHZzaV90KXVuZGVm KCksIH4wKSkKICMgICBkZWZpbmUgaW50ZXJsZWF2ZV9sbyh4LCB5KSAoKHZlY190KUIocHVucGNr bGRxLCBfbWFzaywgKHZzaV90KSh4KSwgKHZzaV90KSh5KSwgKHZzaV90KXVuZGVmKCksIH4wKSkK KyMgIGVsc2UKKyMgICBkZWZpbmUgaW50ZXJsZWF2ZV9oaSh4LCB5KSAoKHZlY190KUIodnBlcm1p MnZhcmQsIF9tYXNrLCAodnNpX3QpKHgpLCBpbnRlcmxlYXZlX2hpLCAodnNpX3QpKHkpLCB+MCkp CisjICAgZGVmaW5lIGludGVybGVhdmVfbG8oeCwgeSkgKCh2ZWNfdClCKHZwZXJtdDJ2YXJkLCBf bWFzaywgaW50ZXJsZWF2ZV9sbywgKHZzaV90KSh4KSwgKHZzaV90KSh5KSwgfjApKQogIyAgZW5k aWYKICMgIGRlZmluZSBtaXgoeCwgeSkgKCh2ZWNfdClCKG1vdmRxYTMyXywgX21hc2ssICh2c2lf dCkoeCksICh2c2lfdCkoeSksIFwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwYjAx MDEwMTAxMDEwMTAxMDEgJiAoKDEgPDwgRUxFTV9DT1VOVCkgLSAxKSkpKQpAQCAtMzE4LDYgKzMy Nyw5IEBAIHN0YXRpYyBpbmxpbmUgYm9vbCBfdG9fYm9vbChieXRlX3ZlY190IGIKICMgIGlmIFZF Q19TSVpFID09IDE2CiAjICAgZGVmaW5lIGludGVybGVhdmVfaGkoeCwgeSkgKCh2ZWNfdClCKHB1 bnBja2hxZHEsIF9tYXNrLCAodmRpX3QpKHgpLCAodmRpX3QpKHkpLCAodmRpX3QpdW5kZWYoKSwg fjApKQogIyAgIGRlZmluZSBpbnRlcmxlYXZlX2xvKHgsIHkpICgodmVjX3QpQihwdW5wY2tscWRx LCBfbWFzaywgKHZkaV90KSh4KSwgKHZkaV90KSh5KSwgKHZkaV90KXVuZGVmKCksIH4wKSkKKyMg IGVsc2UKKyMgICBkZWZpbmUgaW50ZXJsZWF2ZV9oaSh4LCB5KSAoKHZlY190KUIodnBlcm1pMnZh cnEsIF9tYXNrLCAodmRpX3QpKHgpLCBpbnRlcmxlYXZlX2hpLCAodmRpX3QpKHkpLCB+MCkpCisj ICAgZGVmaW5lIGludGVybGVhdmVfbG8oeCwgeSkgKCh2ZWNfdClCKHZwZXJtdDJ2YXJxLCBfbWFz aywgaW50ZXJsZWF2ZV9sbywgKHZkaV90KSh4KSwgKHZkaV90KSh5KSwgfjApKQogIyAgZW5kaWYK ICMgIGRlZmluZSBtaXgoeCwgeSkgKCh2ZWNfdClCKG1vdmRxYTY0XywgX21hc2ssICh2ZGlfdCko eCksICh2ZGlfdCkoeSksIDBiMDEwMTAxMDEpKQogIyBlbmRpZgpAQCAtNzYzLDYgKzc3NSw3IEBA IGludCBzaW1kX3Rlc3Qodm9pZCkKIHsKICAgICB1bnNpZ25lZCBpbnQgaSwgajsKICAgICB2ZWNf dCB4LCB5LCB6LCBzcmMsIGludiwgYWx0LCBzaDsKKyAgICB2aW50X3QgaW50ZXJsZWF2ZV9sbywg aW50ZXJsZWF2ZV9oaTsKIAogICAgIGZvciAoIGkgPSAwLCBqID0gRUxFTV9TSVpFIDw8IDM7IGkg PCBFTEVNX0NPVU5UOyArK2kgKQogICAgIHsKQEAgLTc3Niw2ICs3ODksOSBAQCBpbnQgc2ltZF90 ZXN0KHZvaWQpCiAgICAgICAgIGlmICggIShpICYgKGkgKyAxKSkgKQogICAgICAgICAgICAgLS1q OwogICAgICAgICBzaFtpXSA9IGo7CisKKyAgICAgICAgaW50ZXJsZWF2ZV9sb1tpXSA9ICgoaSAm IDEpICogRUxFTV9DT1VOVCkgfCAoaSA+PiAxKTsKKyAgICAgICAgaW50ZXJsZWF2ZV9oaVtpXSA9 IGludGVybGVhdmVfbG9baV0gKyAoRUxFTV9DT1VOVCAvIDIpOwogICAgIH0KIAogICAgIHRvdWNo KHNyYyk7CkBAIC0xMDY5LDcgKzEwODUsNyBAQCBpbnQgc2ltZF90ZXN0KHZvaWQpCiAgICAgeCA9 IHNyYyAqIGFsdDsKICAgICB5ID0gaW50ZXJsZWF2ZV9sbyh4LCBhbHQgPCAwKTsKICAgICB0b3Vj aCh4KTsKLSAgICB6ID0gd2lkZW4xKHgpOworICAgIHogPSB3aWRlbjEobG93X2hhbGYoeCkpOwog ICAgIHRvdWNoKHgpOwogICAgIGlmICggIWVxKHosIHkpICkgcmV0dXJuIF9fTElORV9fOwogCkBA IC0xMTAxLDcgKzExMTcsNyBAQCBpbnQgc2ltZF90ZXN0KHZvaWQpCiAKICMgaWZkZWYgd2lkZW4x CiAgICAgdG91Y2goc3JjKTsKLSAgICB4ID0gd2lkZW4xKHNyYyk7CisgICAgeCA9IHdpZGVuMShs b3dfaGFsZihzcmMpKTsKICAgICB0b3VjaChzcmMpOwogICAgIGlmICggIWVxKHgsIHkpICkgcmV0 dXJuIF9fTElORV9fOwogIyBlbmRpZgotLS0gYS90b29scy90ZXN0cy94ODZfZW11bGF0b3Ivc2lt ZC5oCisrKyBiL3Rvb2xzL3Rlc3RzL3g4Nl9lbXVsYXRvci9zaW1kLmgKQEAgLTcwLDYgKzcwLDE2 IEBAIHR5cGVkZWYgaW50IF9fYXR0cmlidXRlX18oKHZlY3Rvcl9zaXplKFYKIHR5cGVkZWYgbG9u ZyBsb25nIF9fYXR0cmlidXRlX18oKHZlY3Rvcl9zaXplKFZFQ19TSVpFKSkpIHZkaV90OwogI2Vu ZGlmCiAKKyNpZiBFTEVNX1NJWkUgPT0gMQordHlwZWRlZiB2cWlfdCB2aW50X3Q7CisjZWxpZiBF TEVNX1NJWkUgPT0gMgordHlwZWRlZiB2aGlfdCB2aW50X3Q7CisjZWxpZiBFTEVNX1NJWkUgPT0g NAordHlwZWRlZiB2c2lfdCB2aW50X3Q7CisjZWxpZiBFTEVNX1NJWkUgPT0gOAordHlwZWRlZiB2 ZGlfdCB2aW50X3Q7CisjZW5kaWYKKwogI2lmIFZFQ19TSVpFID49IDE2CiAKICMgaWYgRUxFTV9D T1VOVCA+PSAyCi0tLSBhL3Rvb2xzL3Rlc3RzL3g4Nl9lbXVsYXRvci94ODYtZW11bGF0ZS5oCisr KyBiL3Rvb2xzL3Rlc3RzL3g4Nl9lbXVsYXRvci94ODYtZW11bGF0ZS5oCkBAIC0yNzksNiArMjc5 LDE2IEBAIHN0YXRpYyBpbmxpbmUgdWludDY0X3QgeGdldGJ2KHVpbnQzMl90IHgKICAgICAocmVz LmIgJiAoMVUgPDwgMzEpKSAhPSAwOyBcCiB9KQogCisjZGVmaW5lIGNwdV9oYXNfYXZ4NTEyX3Zi bWkgKHsgXAorICAgIHN0cnVjdCBjcHVpZF9sZWFmIHJlczsgXAorICAgIGVtdWxfdGVzdF9jcHVp ZCgxLCAwLCAmcmVzLCBOVUxMKTsgXAorICAgIGlmICggIShyZXMuYyAmICgxVSA8PCAyNykpIHx8 ICgoeGdldGJ2KDApICYgMHhlNikgIT0gMHhlNikgKSBcCisgICAgICAgIHJlcy5jID0gMDsgXAor ICAgIGVsc2UgXAorICAgICAgICBlbXVsX3Rlc3RfY3B1aWQoNywgMCwgJnJlcywgTlVMTCk7IFwK KyAgICAocmVzLmMgJiAoMVUgPDwgMSkpICE9IDA7IFwKK30pCisKIGludCBlbXVsX3Rlc3RfY3B1 aWQoCiAgICAgdWludDMyX3QgbGVhZiwKICAgICB1aW50MzJfdCBzdWJsZWFmLAotLS0gYS94ZW4v YXJjaC94ODYveDg2X2VtdWxhdGUveDg2X2VtdWxhdGUuYworKysgYi94ZW4vYXJjaC94ODYveDg2 X2VtdWxhdGUveDg2X2VtdWxhdGUuYwpAQCAtNDY2LDkgKzQ2NiwxMyBAQCBzdGF0aWMgY29uc3Qg c3RydWN0IGV4dDBmMzhfdGFibGUgewogICAgIFsweDU5XSA9IHsgLnNpbWRfc2l6ZSA9IHNpbWRf b3RoZXIsIC50d29fb3AgPSAxLCAuZDhzID0gMyB9LAogICAgIFsweDVhXSA9IHsgLnNpbWRfc2l6 ZSA9IHNpbWRfMTI4LCAudHdvX29wID0gMSwgLmQ4cyA9IDQgfSwKICAgICBbMHg1Yl0gPSB7IC5z aW1kX3NpemUgPSBzaW1kXzI1NiwgLnR3b19vcCA9IDEsIC5kOHMgPSBkOHNfdmxfYnlfMiB9LAor ICAgIFsweDc1IC4uLiAweDc2XSA9IHsgLnNpbWRfc2l6ZSA9IHNpbWRfcGFja2VkX2ludCwgLmQ4 cyA9IGQ4c192bCB9LAorICAgIFsweDc3XSA9IHsgLnNpbWRfc2l6ZSA9IHNpbWRfcGFja2VkX2Zw LCAuZDhzID0gZDhzX3ZsIH0sCiAgICAgWzB4NzhdID0geyAuc2ltZF9zaXplID0gc2ltZF9vdGhl ciwgLnR3b19vcCA9IDEgfSwKICAgICBbMHg3OV0gPSB7IC5zaW1kX3NpemUgPSBzaW1kX290aGVy LCAudHdvX29wID0gMSwgLmQ4cyA9IDEgfSwKICAgICBbMHg3YSAuLi4gMHg3Y10gPSB7IC5zaW1k X3NpemUgPSBzaW1kX25vbmUsIC50d29fb3AgPSAxIH0sCisgICAgWzB4N2QgLi4uIDB4N2VdID0g eyAuc2ltZF9zaXplID0gc2ltZF9wYWNrZWRfaW50LCAuZDhzID0gZDhzX3ZsIH0sCisgICAgWzB4 N2ZdID0geyAuc2ltZF9zaXplID0gc2ltZF9wYWNrZWRfZnAsIC5kOHMgPSBkOHNfdmwgfSwKICAg ICBbMHg4Y10gPSB7IC5zaW1kX3NpemUgPSBzaW1kX3BhY2tlZF9pbnQgfSwKICAgICBbMHg4ZV0g PSB7IC5zaW1kX3NpemUgPSBzaW1kX3BhY2tlZF9pbnQsIC50b19tZW0gPSAxIH0sCiAgICAgWzB4 OTAgLi4uIDB4OTNdID0geyAuc2ltZF9zaXplID0gc2ltZF9vdGhlciwgLnZzaWIgPSAxIH0sCkBA IC0xODUwLDYgKzE4NTQsNyBAQCBzdGF0aWMgYm9vbCB2Y3B1X2hhcygKICNkZWZpbmUgdmNwdV9o YXNfc2hhKCkgICAgICAgICB2Y3B1X2hhcyggICAgICAgICA3LCBFQlgsIDI5LCBjdHh0LCBvcHMp CiAjZGVmaW5lIHZjcHVfaGFzX2F2eDUxMmJ3KCkgICAgdmNwdV9oYXMoICAgICAgICAgNywgRUJY LCAzMCwgY3R4dCwgb3BzKQogI2RlZmluZSB2Y3B1X2hhc19hdng1MTJ2bCgpICAgIHZjcHVfaGFz KCAgICAgICAgIDcsIEVCWCwgMzEsIGN0eHQsIG9wcykKKyNkZWZpbmUgdmNwdV9oYXNfYXZ4NTEy X3ZibWkoKSB2Y3B1X2hhcyggICAgICAgICA3LCBFQ1gsICAxLCBjdHh0LCBvcHMpCiAjZGVmaW5l IHZjcHVfaGFzX3JkcGlkKCkgICAgICAgdmNwdV9oYXMoICAgICAgICAgNywgRUNYLCAyMiwgY3R4 dCwgb3BzKQogI2RlZmluZSB2Y3B1X2hhc19jbHplcm8oKSAgICAgIHZjcHVfaGFzKDB4ODAwMDAw MDgsIEVCWCwgIDAsIGN0eHQsIG9wcykKIApAQCAtNjAwMSw2ICs2MDA2LDExIEBAIHg4Nl9lbXVs YXRlKAogICAgIENBU0VfU0lNRF9QQUNLRURfRlAoX0VWRVgsIDB4MGYsIDB4MTUpOiAvKiB2dW5w Y2tocHtzLGR9IFt4eXpdbW0vbWVtLFt4eXpdbW0sW3h5el1tbXtrfSAqLwogICAgICAgICBnZW5l cmF0ZV9leGNlcHRpb25faWYoZXZleC53ICE9IChldmV4LnBmeCAmIFZFWF9QUkVGSVhfRE9VQkxF X01BU0spLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRVhDX1VEKTsKKyAgICAgICAg LyogZmFsbCB0aHJvdWdoICovCisgICAgY2FzZSBYODZFTVVMX09QQ19FVkVYXzY2KDB4MGYzOCwg MHg3Nik6IC8qIHZwZXJtaTJ7ZCxxfSBbeHl6XW1tL21lbSxbeHl6XW1tLFt4eXpdbW17a30gKi8K KyAgICBjYXNlIFg4NkVNVUxfT1BDX0VWRVhfNjYoMHgwZjM4LCAweDc3KTogLyogdnBlcm1pMnB7 cyxkfSBbeHl6XW1tL21lbSxbeHl6XW1tLFt4eXpdbW17a30gKi8KKyAgICBjYXNlIFg4NkVNVUxf T1BDX0VWRVhfNjYoMHgwZjM4LCAweDdlKTogLyogdnBlcm10MntkLHF9IFt4eXpdbW0vbWVtLFt4 eXpdbW0sW3h5el1tbXtrfSAqLworICAgIGNhc2UgWDg2RU1VTF9PUENfRVZFWF82NigweDBmMzgs IDB4N2YpOiAvKiB2cGVybXQycHtzLGR9IFt4eXpdbW0vbWVtLFt4eXpdbW0sW3h5el1tbXtrfSAq LwogICAgICAgICBmYXVsdF9zdXBwcmVzc2lvbiA9IGZhbHNlOwogICAgICAgICAvKiBmYWxsIHRo cm91Z2ggKi8KICAgICBjYXNlIFg4NkVNVUxfT1BDX0VWRVhfNjYoMHgwZiwgMHhkYik6IC8qIHZw YW5ke2QscX0gW3h5el1tbS9tZW0sW3h5el1tbSxbeHl6XW1te2t9ICovCkBAIC04NTExLDYgKzg1 MjEsMTYgQEAgeDg2X2VtdWxhdGUoCiAgICAgICAgIGdlbmVyYXRlX2V4Y2VwdGlvbl9pZihlYS50 eXBlICE9IE9QX01FTSB8fCAhdmV4LmwgfHwgdmV4LncsIEVYQ19VRCk7CiAgICAgICAgIGdvdG8g c2ltZF8wZl9hdngyOwogCisgICAgY2FzZSBYODZFTVVMX09QQ19FVkVYXzY2KDB4MGYzOCwgMHg3 NSk6IC8qIHZwZXJtaTJ7Yix3fSBbeHl6XW1tL21lbSxbeHl6XW1tLFt4eXpdbW17a30gKi8KKyAg ICBjYXNlIFg4NkVNVUxfT1BDX0VWRVhfNjYoMHgwZjM4LCAweDdkKTogLyogdnBlcm10MntiLHd9 IFt4eXpdbW0vbWVtLFt4eXpdbW0sW3h5el1tbXtrfSAqLworICAgICAgICBpZiAoICFldmV4Lncg KQorICAgICAgICAgICAgaG9zdF9hbmRfdmNwdV9tdXN0X2hhdmUoYXZ4NTEyX3ZibWkpOworICAg ICAgICBlbHNlCisgICAgICAgICAgICBob3N0X2FuZF92Y3B1X211c3RfaGF2ZShhdng1MTJidyk7 CisgICAgICAgIGdlbmVyYXRlX2V4Y2VwdGlvbl9pZihldmV4LmJyLCBFWENfVUQpOworICAgICAg ICBmYXVsdF9zdXBwcmVzc2lvbiA9IGZhbHNlOworICAgICAgICBnb3RvIGF2eDUxMmZfbm9fc2Fl OworCiAgICAgY2FzZSBYODZFTVVMX09QQ19FVkVYXzY2KDB4MGYzOCwgMHg3OCk6IC8qIHZwYnJv YWRjYXN0YiB4bW0vbTgsW3h5el1tbXtrfSAqLwogICAgIGNhc2UgWDg2RU1VTF9PUENfRVZFWF82 NigweDBmMzgsIDB4NzkpOiAvKiB2cGJyb2FkY2FzdHcgeG1tL20xNixbeHl6XW1te2t9ICovCiAg ICAgICAgIGhvc3RfYW5kX3ZjcHVfbXVzdF9oYXZlKGF2eDUxMmJ3KTsKLS0tIGEveGVuL2luY2x1 ZGUvYXNtLXg4Ni9jcHVmZWF0dXJlLmgKKysrIGIveGVuL2luY2x1ZGUvYXNtLXg4Ni9jcHVmZWF0 dXJlLmgKQEAgLTEwNyw2ICsxMDcsOSBAQAogI2RlZmluZSBjcHVfaGFzX2F2eDUxMmJ3ICAgICAg ICBib290X2NwdV9oYXMoWDg2X0ZFQVRVUkVfQVZYNTEyQlcpCiAjZGVmaW5lIGNwdV9oYXNfYXZ4 NTEydmwgICAgICAgIGJvb3RfY3B1X2hhcyhYODZfRkVBVFVSRV9BVlg1MTJWTCkKIAorLyogQ1BV SUQgbGV2ZWwgMHgwMDAwMDAwNzowLmVjeCAqLworI2RlZmluZSBjcHVfaGFzX2F2eDUxMl92Ym1p ICAgICBib290X2NwdV9oYXMoWDg2X0ZFQVRVUkVfQVZYNTEyX1ZCTUkpCisKIC8qIENQVUlEIGxl dmVsIDB4ODAwMDAwMDcuZWR4ICovCiAjZGVmaW5lIGNwdV9oYXNfaXRzYyAgICAgICAgICAgIGJv b3RfY3B1X2hhcyhYODZfRkVBVFVSRV9JVFNDKQogCi0tLSBhL3hlbi9pbmNsdWRlL3B1YmxpYy9h cmNoLXg4Ni9jcHVmZWF0dXJlc2V0LmgKKysrIGIveGVuL2luY2x1ZGUvcHVibGljL2FyY2gteDg2 L2NwdWZlYXR1cmVzZXQuaApAQCAtMjI0LDcgKzIyNCw3IEBAIFhFTl9DUFVGRUFUVVJFKEFWWDUx MlZMLCAgICAgIDUqMzIrMzEpIC8KIAogLyogSW50ZWwtZGVmaW5lZCBDUFUgZmVhdHVyZXMsIENQ VUlEIGxldmVsIDB4MDAwMDAwMDc6MC5lY3gsIHdvcmQgNiAqLwogWEVOX0NQVUZFQVRVUkUoUFJF RkVUQ0hXVDEsICAgNiozMisgMCkgLypBICBQUkVGRVRDSFdUMSBpbnN0cnVjdGlvbiAqLwotWEVO X0NQVUZFQVRVUkUoQVZYNTEyVkJNSSwgICAgNiozMisgMSkgLypBICBBVlgtNTEyIFZlY3RvciBC eXRlIE1hbmlwdWxhdGlvbiBJbnN0cnMgKi8KK1hFTl9DUFVGRUFUVVJFKEFWWDUxMl9WQk1JLCAg IDYqMzIrIDEpIC8qQSAgQVZYLTUxMiBWZWN0b3IgQnl0ZSBNYW5pcHVsYXRpb24gSW5zdHJzICov CiBYRU5fQ1BVRkVBVFVSRShVTUlQLCAgICAgICAgICA2KjMyKyAyKSAvKlMgIFVzZXIgTW9kZSBJ bnN0cnVjdGlvbiBQcmV2ZW50aW9uICovCiBYRU5fQ1BVRkVBVFVSRShQS1UsICAgICAgICAgICA2 KjMyKyAzKSAvKkggIFByb3RlY3Rpb24gS2V5cyBmb3IgVXNlcnNwYWNlICovCiBYRU5fQ1BVRkVB VFVSRShPU1BLRSwgICAgICAgICA2KjMyKyA0KSAvKiEgIE9TIFByb3RlY3Rpb24gS2V5cyBFbmFi bGUgKi8KLS0tIGEveGVuL3Rvb2xzL2dlbi1jcHVpZC5weQorKysgYi94ZW4vdG9vbHMvZ2VuLWNw dWlkLnB5CkBAIC0yNTQsMTIgKzI1NCwxNyBAQCBkZWYgY3J1bmNoX251bWJlcnMoc3RhdGUpOgog ICAgICAgICBBVlgyOiBbQVZYNTEyRl0sCiAKICAgICAgICAgIyBBVlg1MTJGIGlzIHRha2VuIHRv IG1lYW4gaGFyZHdhcmUgc3VwcG9ydCBmb3IgNTEyYml0IHJlZ2lzdGVycwotICAgICAgICAjICh3 aGljaCBpbiBwcmFjdGljZSBkZXBlbmRzIG9uIHRoZSBFVkVYIHByZWZpeCB0byBlbmNvZGUpLCBh bmQgdGhlCi0gICAgICAgICMgaW5zdHJ1Y3Rpb25zIHRoZW1zZWx2ZXMuIEFsbCBmdXJ0aGVyIEFW WDUxMiBmZWF0dXJlcyBhcmUgYnVpbHQgb24KLSAgICAgICAgIyB0b3Agb2YgQVZYNTEyRgorICAg ICAgICAjICh3aGljaCBpbiBwcmFjdGljZSBkZXBlbmRzIG9uIHRoZSBFVkVYIHByZWZpeCB0byBl bmNvZGUpIGFzIHdlbGwKKyAgICAgICAgIyBhcyBtYXNrIHJlZ2lzdGVycywgYW5kIHRoZSBpbnN0 cnVjdGlvbnMgdGhlbXNlbHZlcy4gQWxsIGZ1cnRoZXIKKyAgICAgICAgIyBBVlg1MTIgZmVhdHVy ZXMgYXJlIGJ1aWx0IG9uIHRvcCBvZiBBVlg1MTJGCiAgICAgICAgIEFWWDUxMkY6IFtBVlg1MTJE USwgQVZYNTEySUZNQSwgQVZYNTEyUEYsIEFWWDUxMkVSLCBBVlg1MTJDRCwKLSAgICAgICAgICAg ICAgICAgIEFWWDUxMkJXLCBBVlg1MTJWTCwgQVZYNTEyVkJNSSwgQVZYNTEyXzRWTk5JVywKLSAg ICAgICAgICAgICAgICAgIEFWWDUxMl80Rk1BUFMsIEFWWDUxMl9WUE9QQ05URFFdLAorICAgICAg ICAgICAgICAgICAgQVZYNTEyQlcsIEFWWDUxMlZMLCBBVlg1MTJfNFZOTklXLCBBVlg1MTJfNEZN QVBTLAorICAgICAgICAgICAgICAgICAgQVZYNTEyX1ZQT1BDTlREUV0sCisKKyAgICAgICAgIyBB Vlg1MTIgZXh0ZW5zaW9ucyBhY3Rpbmcgc29sZWx5IG9uIHZlY3RvcnMgb2YgYnl0ZXMvd29yZHMg YXJlIG1hZGUKKyAgICAgICAgIyBkZXBlbmRlbnRzIG9mIEFWWDUxMkJXIChhcyB0byByZXF1aXJp bmcgd2lkZXIgdGhhbiAxNi1iaXQgbWFzaworICAgICAgICAjIHJlZ2lzdGVycyksIGRlc3BpdGUg dGhlIFNETSBub3QgZm9ybWFsbHkgbWFraW5nIHRoaXMgY29ubmVjdGlvbi4KKyAgICAgICAgQVZY NTEyQlc6IFtBVlg1MTJfVkJNSV0sCiAKICAgICAgICAgIyBUaGUgZmVhdHVyZXM6CiAgICAgICAg ICMgICAqIFNpbmdsZSBUaHJlYWQgSW5kaXJlY3QgQnJhbmNoIFByZWRpY3RvcnMKCgoKCl9fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fClhlbi1kZXZlbCBtYWls aW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnCmh0dHBzOi8vbGlzdHMueGVu cHJvamVjdC5vcmcvbWFpbG1hbi9saXN0aW5mby94ZW4tZGV2ZWw=