From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Jan Beulich" Subject: [PATCH v6 25/42] x86emul: support remaining AVX512F legacy-equivalent insns Date: Thu, 06 Dec 2018 03:04:06 -0700 Message-ID: <5C08F4160200007800203844@prv1-mh.provo.novell.com> References: <5B6BF83602000078001DC548@prv1-mh.provo.novell.com> <5C08EFAE020000780020373E@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 1gUqVt-000692-PY for xen-devel@lists.xenproject.org; Thu, 06 Dec 2018 10:04:09 +0000 In-Reply-To: <5C08EFAE020000780020373E@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 , Roger Pau Monne List-Id: xen-devel@lists.xenproject.org UGx1cyB0aGVpciBBVlg1MTJCVyBjb3VudGVycGFydHMuCgpUYWtlIHRoZSBvcHBvcnR1bml0eSBh bmQgYWxzbyBlbGltaW5hdGUgYSBwYWlyIG9mIG9wZW4gY29kZWQgaW5zdGFuY2VzCm9mIHNjYWxh cl8xb3AoKS4KClNpZ25lZC1vZmYtYnk6IEphbiBCZXVsaWNoIDxqYmV1bGljaEBzdXNlLmNvbT4K LS0tCnY2OiBSZS1iYXNlIG92ZXIgY2hhbmdlcyBlYXJsaWVyIGluIHRoZSBzZXJpZXMuCnY1OiBO ZXcuCgotLS0gYS90b29scy90ZXN0cy94ODZfZW11bGF0b3IvZXZleC1kaXNwOC5jCisrKyBiL3Rv b2xzL3Rlc3RzL3g4Nl9lbXVsYXRvci9ldmV4LWRpc3A4LmMKQEAgLTE5Myw2ICsxOTMsOCBAQCBz dGF0aWMgY29uc3Qgc3RydWN0IHRlc3QgYXZ4NTEyZl9hbGxbXSA9CiAgICAgSU5TTl9QRlBfTkIo bW92dSwgICAgICAgIDBmLCAxMCksCiAgICAgSU5TTl9QRlBfTkIobW92dSwgICAgICAgIDBmLCAx MSksCiAgICAgSU5TTl9GUChtdWwsICAgICAgICAgICAgIDBmLCA1OSksCisgICAgSU5TTihwYWJz ZCwgICAgICAgIDY2LCAwZjM4LCAxZSwgICAgdmwsICAgICAgZCwgdmwpLAorICAgIElOU04ocGFi c3EsICAgICAgICA2NiwgMGYzOCwgMWYsICAgIHZsLCAgICAgIHEsIHZsKSwKICAgICBJTlNOKHBh ZGRkLCAgICAgICAgNjYsICAgMGYsIGZlLCAgICB2bCwgICAgICBkLCB2bCksCiAgICAgSU5TTihw YWRkcSwgICAgICAgIDY2LCAgIDBmLCBkNCwgICAgdmwsICAgICAgcSwgdmwpLAogICAgIElOU04o cGFuZCwgICAgICAgICA2NiwgICAwZiwgZGIsICAgIHZsLCAgICAgZHEsIHZsKSwKQEAgLTI3Niw2 ICsyNzgsMTAgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCB0ZXN0IGF2eDUxMmZfYWxsW10gPQogICAg IElOU04ocHVucGNrbGRxLCAgICA2NiwgICAwZiwgNjIsICAgIHZsLCAgICAgIGQsIHZsKSwKICAg ICBJTlNOKHB1bnBja2xxZHEsICAgNjYsICAgMGYsIDZjLCAgICB2bCwgICAgICBxLCB2bCksCiAg ICAgSU5TTihweG9yLCAgICAgICAgIDY2LCAgIDBmLCBlZiwgICAgdmwsICAgICBkcSwgdmwpLAor ICAgIElOU04ocm5kc2NhbGVwZCwgICA2NiwgMGYzYSwgMDksICAgIHZsLCAgICAgIHEsIHZsKSwK KyAgICBJTlNOKHJuZHNjYWxlcHMsICAgNjYsIDBmM2EsIDA4LCAgICB2bCwgICAgICBkLCB2bCks CisgICAgSU5TTihybmRzY2FsZXNkLCAgIDY2LCAwZjNhLCAwYiwgICAgZWwsICAgICAgcSwgZWwp LAorICAgIElOU04ocm5kc2NhbGVzcywgICA2NiwgMGYzYSwgMGEsICAgIGVsLCAgICAgIGQsIGVs KSwKICAgICBJTlNOX1BGUChzaHVmLCAgICAgICAgICAgMGYsIGM2KSwKICAgICBJTlNOX0ZQKHNx cnQsICAgICAgICAgICAgMGYsIDUxKSwKICAgICBJTlNOX0ZQKHN1YiwgICAgICAgICAgICAgMGYs IDVjKSwKQEAgLTMzNiw2ICszNDIsOCBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IHRlc3QgYXZ4NTEy YndfYWxsW10KICAgICBJTlNOKG1vdmRxdTgsICAgICBmMiwgICAwZiwgN2YsICAgIHZsLCAgICBi LCB2bCksCiAgICAgSU5TTihtb3ZkcXUxNiwgICAgZjIsICAgMGYsIDZmLCAgICB2bCwgICAgdywg dmwpLAogICAgIElOU04obW92ZHF1MTYsICAgIGYyLCAgIDBmLCA3ZiwgICAgdmwsICAgIHcsIHZs KSwKKyAgICBJTlNOKHBhYnNiLCAgICAgICA2NiwgMGYzOCwgMWMsICAgIHZsLCAgICBiLCB2bCks CisgICAgSU5TTihwYWJzdywgICAgICAgNjYsIDBmMzgsIDFkLCAgICB2bCwgICAgdywgdmwpLAog ICAgIElOU04ocGFja3NzZHcsICAgIDY2LCAgIDBmLCA2YiwgICAgdmwsIGRfbmIsIHZsKSwKICAg ICBJTlNOKHBhY2tzc3diLCAgICA2NiwgICAwZiwgNjMsICAgIHZsLCAgICB3LCB2bCksCiAgICAg SU5TTihwYWNrdXNkdywgICAgNjYsIDBmMzgsIDJiLCAgICB2bCwgZF9uYiwgdmwpLAotLS0gYS90 b29scy90ZXN0cy94ODZfZW11bGF0b3Ivc2ltZC5jCisrKyBiL3Rvb2xzL3Rlc3RzL3g4Nl9lbXVs YXRvci9zaW1kLmMKQEAgLTIxMSw4ICsyMTEsMTAgQEAgc3RhdGljIGlubGluZSB2ZWNfdCBtb3Zs aHBzKHZlY190IHgsIHZlYwogI2VsaWYgZGVmaW5lZChGTE9BVF9TSVpFKSAmJiBWRUNfU0laRSA9 PSBGTE9BVF9TSVpFICYmIGRlZmluZWQoX19BVlg1MTJGX18pCiAjIGlmIEZMT0FUX1NJWkUgPT0g NAogIyAgZGVmaW5lIHNxcnQoeCkgc2NhbGFyXzFvcCh4LCAidnNxcnRzcyAlW2luXSwgJVtvdXRd LCAlW291dF0iKQorIyAgZGVmaW5lIHRydW5jKHgpIHNjYWxhcl8xb3AoeCwgInZybmRzY2FsZXNz ICQwYjEwMTEsICVbaW5dLCAlW291dF0sICVbb3V0XSIpCiAjIGVsaWYgRkxPQVRfU0laRSA9PSA4 CiAjICBkZWZpbmUgc3FydCh4KSBzY2FsYXJfMW9wKHgsICJ2c3FydHNkICVbaW5dLCAlW291dF0s ICVbb3V0XSIpCisjICBkZWZpbmUgdHJ1bmMoeCkgc2NhbGFyXzFvcCh4LCAidnJuZHNjYWxlc2Qg JDBiMTAxMSwgJVtpbl0sICVbb3V0XSwgJVtvdXRdIikKICMgZW5kaWYKICNlbGlmIGRlZmluZWQo RkxPQVRfU0laRSkgJiYgZGVmaW5lZChfX0FWWDUxMkZfXykgJiYgXAogICAgICAgKFZFQ19TSVpF ID09IDY0IHx8IGRlZmluZWQoX19BVlg1MTJWTF9fKSkKQEAgLTI2Myw2ICsyNjUsNyBAQCBzdGF0 aWMgaW5saW5lIHZlY190IG1vdmxocHModmVjX3QgeCwgdmVjCiAjICBkZWZpbmUgbWl4KHgsIHkp IEIobW92YXBzLCBfbWFzaywgeCwgeSwgKDBiMDEwMTAxMDEwMTAxMDEwMSAmIEFMTF9UUlVFKSkK ICMgIGRlZmluZSBzaHJpbmsxKHgpIEJSXyhjdnRwZDJwcywgX21hc2ssICh2ZGZfdCkoeCksICh2 c2ZfaGFsZl90KXt9LCB+MCkKICMgIGRlZmluZSBzcXJ0KHgpIEJSKHNxcnRwcywgX21hc2ssIHgs IHVuZGVmKCksIH4wKQorIyAgZGVmaW5lIHRydW5jKHgpIEJSKHJuZHNjYWxlcHNfLCBfbWFzaywg eCwgMGIxMDExLCB1bmRlZigpLCB+MCkKICMgIGRlZmluZSB3aWRlbjEoeCkgKCh2ZWNfdClCUihj dnRwczJwZCwgX21hc2ssIHgsICh2ZGZfdCl1bmRlZigpLCB+MCkpCiAjICBpZiBWRUNfU0laRSA9 PSAxNgogIyAgIGRlZmluZSBpbnRlcmxlYXZlX2hpKHgsIHkpIEIodW5wY2tocHMsIF9tYXNrLCB4 LCB5LCB1bmRlZigpLCB+MCkKQEAgLTMxNiw2ICszMTksNyBAQCBzdGF0aWMgaW5saW5lIHZlY190 IG1vdmxocHModmVjX3QgeCwgdmVjCiAjICBkZWZpbmUgbWluKHgsIHkpIEJSXyhtaW5wZCwgX21h c2ssIHgsIHksIHVuZGVmKCksIH4wKQogIyAgZGVmaW5lIG1peCh4LCB5KSBCKG1vdmFwZCwgX21h c2ssIHgsIHksIDBiMDEwMTAxMDEpCiAjICBkZWZpbmUgc3FydCh4KSBCUihzcXJ0cGQsIF9tYXNr LCB4LCB1bmRlZigpLCB+MCkKKyMgIGRlZmluZSB0cnVuYyh4KSBCUihybmRzY2FsZXBkXywgX21h c2ssIHgsIDBiMTAxMSwgdW5kZWYoKSwgfjApCiAjICBpZiBWRUNfU0laRSA9PSAxNgogIyAgIGRl ZmluZSBpbnRlcmxlYXZlX2hpKHgsIHkpIEIodW5wY2tocGQsIF9tYXNrLCB4LCB5LCB1bmRlZigp LCB+MCkKICMgICBkZWZpbmUgaW50ZXJsZWF2ZV9sbyh4LCB5KSBCKHVucGNrbHBkLCBfbWFzaywg eCwgeSwgdW5kZWYoKSwgfjApCkBAIC01NDgsNiArNTUyLDcgQEAgc3RhdGljIGlubGluZSB2ZWNf dCBtb3ZsaHBzKHZlY190IHgsIHZlYwogIyAgZW5kaWYKICMgZW5kaWYKICMgaWYgSU5UX1NJWkUg PT0gNAorIyAgZGVmaW5lIGFicyh4KSBCKHBhYnNkLCBfbWFzaywgeCwgdW5kZWYoKSwgfjApCiAj ICBkZWZpbmUgbWF4KHgsIHkpIEIocG1heHNkLCBfbWFzaywgeCwgeSwgdW5kZWYoKSwgfjApCiAj ICBkZWZpbmUgbWluKHgsIHkpIEIocG1pbnNkLCBfbWFzaywgeCwgeSwgdW5kZWYoKSwgfjApCiAj ICBkZWZpbmUgbXVsX2Z1bGwoeCwgeSkgKCh2ZWNfdClCKHBtdWxkcSwgX21hc2ssIHgsIHksICh2 ZGlfdCl1bmRlZigpLCB+MCkpCkBAIC01NTgsNiArNTYzLDcgQEAgc3RhdGljIGlubGluZSB2ZWNf dCBtb3ZsaHBzKHZlY190IHgsIHZlYwogIyAgZGVmaW5lIG11bF9mdWxsKHgsIHkpICgodmVjX3Qp QihwbXVsdWRxLCBfbWFzaywgKHZzaV90KSh4KSwgKHZzaV90KSh5KSwgKHZkaV90KXVuZGVmKCks IH4wKSkKICMgIGRlZmluZSB3aWRlbjEoeCkgKCh2ZWNfdClCKHBtb3Z6eGRxLCBfbWFzaywgKHZz aV9oYWxmX3QpKHgpLCAodmRpX3QpdW5kZWYoKSwgfjApKQogIyBlbGlmIElOVF9TSVpFID09IDgK KyMgIGRlZmluZSBhYnMoeCkgKCh2ZWNfdClCKHBhYnNxLCBfbWFzaywgKHZkaV90KSh4KSwgKHZk aV90KXVuZGVmKCksIH4wKSkKICMgIGRlZmluZSBtYXgoeCwgeSkgKCh2ZWNfdClCKHBtYXhzcSwg X21hc2ssICh2ZGlfdCkoeCksICh2ZGlfdCkoeSksICh2ZGlfdCl1bmRlZigpLCB+MCkpCiAjICBk ZWZpbmUgbWluKHgsIHkpICgodmVjX3QpQihwbWluc3EsIF9tYXNrLCAodmRpX3QpKHgpLCAodmRp X3QpKHkpLCAodmRpX3QpdW5kZWYoKSwgfjApKQogIyBlbGlmIFVJTlRfU0laRSA9PSA4CkBAIC02 MjUsNiArNjMxLDcgQEAgc3RhdGljIGlubGluZSB2ZWNfdCBtb3ZsaHBzKHZlY190IHgsIHZlYwog IyAgZGVmaW5lIHN3YXAyKHgpICgodmVjX3QpQihwZXJtdmFyaGksIF9tYXNrLCAodmhpX3QpKHgp LCAodmhpX3QpKGludiAtIDEpLCAodmhpX3QpdW5kZWYoKSwgfjApKQogIyBlbmRpZgogIyBpZiBJ TlRfU0laRSA9PSAxCisjICBkZWZpbmUgYWJzKHgpICgodmVjX3QpQihwYWJzYiwgX21hc2ssICh2 cWlfdCkoeCksICh2cWlfdCl1bmRlZigpLCB+MCkpCiAjICBkZWZpbmUgbWF4KHgsIHkpICgodmVj X3QpQihwbWF4c2IsIF9tYXNrLCAodnFpX3QpKHgpLCAodnFpX3QpKHkpLCAodnFpX3QpdW5kZWYo KSwgfjApKQogIyAgZGVmaW5lIG1pbih4LCB5KSAoKHZlY190KUIocG1pbnNiLCBfbWFzaywgKHZx aV90KSh4KSwgKHZxaV90KSh5KSwgKHZxaV90KXVuZGVmKCksIH4wKSkKICMgIGRlZmluZSB3aWRl bjEoeCkgKCh2ZWNfdClCKHBtb3ZzeGJ3LCBfbWFzaywgKHZxaV9oYWxmX3QpKHgpLCAodmhpX3Qp dW5kZWYoKSwgfjApKQpAQCAtNjM3LDYgKzY0NCw3IEBAIHN0YXRpYyBpbmxpbmUgdmVjX3QgbW92 bGhwcyh2ZWNfdCB4LCB2ZWMKICMgIGRlZmluZSB3aWRlbjIoeCkgKCh2ZWNfdClCKHBtb3Z6eGJk LCBfbWFzaywgKHZxaV9xdWFydGVyX3QpKHgpLCAodnNpX3QpdW5kZWYoKSwgfjApKQogIyAgZGVm aW5lIHdpZGVuMyh4KSAoKHZlY190KUIocG1vdnp4YnEsIF9tYXNrLCAodnFpX2VpZ2h0aF90KSh4 KSwgKHZkaV90KXVuZGVmKCksIH4wKSkKICMgZWxpZiBJTlRfU0laRSA9PSAyCisjICBkZWZpbmUg YWJzKHgpIEIocGFic3csIF9tYXNrLCB4LCB1bmRlZigpLCB+MCkKICMgIGRlZmluZSBtYXgoeCwg eSkgQihwbWF4c3csIF9tYXNrLCB4LCB5LCB1bmRlZigpLCB+MCkKICMgIGRlZmluZSBtaW4oeCwg eSkgQihwbWluc3csIF9tYXNrLCB4LCB5LCB1bmRlZigpLCB+MCkKICMgIGRlZmluZSBtdWxfaGko eCwgeSkgQihwbXVsaHcsIF9tYXNrLCB4LCB5LCB1bmRlZigpLCB+MCkKQEAgLTk0OCwxOSArOTU2 LDExIEBAIHN0YXRpYyBpbmxpbmUgdmVjX3QgbW92bGhwcyh2ZWNfdCB4LCB2ZWMKICNpZiBWRUNf U0laRSA9PSBGTE9BVF9TSVpFCiAjIGRlZmluZSBtYXgoeCwgeSkgKCh2ZWNfdCl7KHsgdHlwZW9m KHhbMF0pIHhfID0gKHgpWzBdLCB5XyA9ICh5KVswXTsgeF8gPiB5XyA/IHhfIDogeV87IH0pfSkK ICMgZGVmaW5lIG1pbih4LCB5KSAoKHZlY190KXsoeyB0eXBlb2YoeFswXSkgeF8gPSAoeClbMF0s IHlfID0gKHkpWzBdOyB4XyA8IHlfID8geF8gOiB5XzsgfSl9KQotIyBpZmRlZiBfX1NTRTRfMV9f CisjIGlmIGRlZmluZWQoX19TU0U0XzFfXykgJiYgIWRlZmluZWQoX19BVlg1MTJGX18pCiAjICBp ZiBGTE9BVF9TSVpFID09IDQKLSMgICBkZWZpbmUgdHJ1bmMoeCkgKHsgXAotICAgIGZsb2F0IF9f YXR0cmlidXRlX18oKHZlY3Rvcl9zaXplKDE2KSkpIHJfOyBcCi0gICAgYXNtICggInJvdW5kc3Mg JDBiMTAxMSwlMSwlMCIgOiAiPXgiIChyXykgOiAibSIgKHgpICk7IFwKLSAgICAodmVjX3QpeyBy X1swXSB9OyBcCi19KQorIyAgIGRlZmluZSB0cnVuYyh4KSBzY2FsYXJfMW9wKHgsICJyb3VuZHNz ICQwYjEwMTEsICVbaW5dLCAlW291dF0iKQogIyAgZWxpZiBGTE9BVF9TSVpFID09IDgKLSMgICBk ZWZpbmUgdHJ1bmMoeCkgKHsgXAotICAgIGRvdWJsZSBfX2F0dHJpYnV0ZV9fKCh2ZWN0b3Jfc2l6 ZSgxNikpKSByXzsgXAotICAgIGFzbSAoICJyb3VuZHNkICQwYjEwMTEsJTEsJTAiIDogIj14IiAo cl8pIDogIm0iICh4KSApOyBcCi0gICAgKHZlY190KXsgcl9bMF0gfTsgXAotfSkKKyMgICBkZWZp bmUgdHJ1bmMoeCkgc2NhbGFyXzFvcCh4LCAicm91bmRzZCAkMGIxMDExLCAlW2luXSwgJVtvdXRd IikKICMgIGVuZGlmCiAjIGVuZGlmCiAjZW5kaWYKLS0tIGEvdG9vbHMvdGVzdHMveDg2X2VtdWxh dG9yL3NpbWQuaAorKysgYi90b29scy90ZXN0cy94ODZfZW11bGF0b3Ivc2ltZC5oCkBAIC0xODQs NiArMTg0LDggQEAgREVDTF9PQ1RFVChoYWxmKTsKICMgZGVmaW5lIF9fYnVpbHRpbl9pYTMyX2lu c2VydGkzMng0XzUxMl9tYXNrIF9fYnVpbHRpbl9pYTMyX2luc2VydGkzMng0X21hc2sKICMgZGVm aW5lIF9fYnVpbHRpbl9pYTMyX2luc2VydGkzMng4XzUxMl9tYXNrIF9fYnVpbHRpbl9pYTMyX2lu c2VydGkzMng4X21hc2sKICMgZGVmaW5lIF9fYnVpbHRpbl9pYTMyX2luc2VydGk2NHg0XzUxMl9t YXNrIF9fYnVpbHRpbl9pYTMyX2luc2VydGk2NHg0X21hc2sKKyMgZGVmaW5lIF9fYnVpbHRpbl9p YTMyX3JuZHNjYWxlcGRfNTEyX21hc2sgX19idWlsdGluX2lhMzJfcm5kc2NhbGVwZF9tYXNrCisj IGRlZmluZSBfX2J1aWx0aW5faWEzMl9ybmRzY2FsZXBzXzUxMl9tYXNrIF9fYnVpbHRpbl9pYTMy X3JuZHNjYWxlcHNfbWFzawogIyBkZWZpbmUgX19idWlsdGluX2lhMzJfc2h1Zl9mMzJ4NF81MTJf bWFzayBfX2J1aWx0aW5faWEzMl9zaHVmX2YzMng0X21hc2sKICMgZGVmaW5lIF9fYnVpbHRpbl9p YTMyX3NodWZfZjY0eDJfNTEyX21hc2sgX19idWlsdGluX2lhMzJfc2h1Zl9mNjR4Ml9tYXNrCiAj IGRlZmluZSBfX2J1aWx0aW5faWEzMl9zaHVmX2kzMng0XzUxMl9tYXNrIF9fYnVpbHRpbl9pYTMy X3NodWZfaTMyeDRfbWFzawpAQCAtMjQ1LDYgKzI0Nyw3IEBAIE9WUl9JTlQoYnJvYWRjYXN0KTsK IE9WUl9TRlAoYnJvYWRjYXN0KTsKIE9WUl9TRlAoY29taSk7CiBPVlJfVkZQKGN2dGRxMik7CitP VlJfSU5UKGFicyk7CiBPVlJfRlAoYWRkKTsKIE9WUl9JTlQoYWRkKTsKIE9WUl9CVyhhZGRzKTsK LS0tIGEveGVuL2FyY2gveDg2L3g4Nl9lbXVsYXRlL3g4Nl9lbXVsYXRlLmMKKysrIGIveGVuL2Fy Y2gveDg2L3g4Nl9lbXVsYXRlL3g4Nl9lbXVsYXRlLmMKQEAgLTQ0Niw3ICs0NDYsNyBAQCBzdGF0 aWMgY29uc3Qgc3RydWN0IGV4dDBmMzhfdGFibGUgewogICAgIFsweDE5XSA9IHsgLnNpbWRfc2l6 ZSA9IHNpbWRfc2NhbGFyX29wYywgLnR3b19vcCA9IDEsIC5kOHMgPSAzIH0sCiAgICAgWzB4MWFd ID0geyAuc2ltZF9zaXplID0gc2ltZF8xMjgsIC50d29fb3AgPSAxLCAuZDhzID0gNCB9LAogICAg IFsweDFiXSA9IHsgLnNpbWRfc2l6ZSA9IHNpbWRfMjU2LCAudHdvX29wID0gMSwgLmQ4cyA9IGQ4 c192bF9ieV8yIH0sCi0gICAgWzB4MWMgLi4uIDB4MWVdID0geyAuc2ltZF9zaXplID0gc2ltZF9w YWNrZWRfaW50LCAudHdvX29wID0gMSB9LAorICAgIFsweDFjIC4uLiAweDFmXSA9IHsgLnNpbWRf c2l6ZSA9IHNpbWRfcGFja2VkX2ludCwgLnR3b19vcCA9IDEsIC5kOHMgPSBkOHNfdmwgfSwKICAg ICBbMHgyMF0gPSB7IC5zaW1kX3NpemUgPSBzaW1kX290aGVyLCAudHdvX29wID0gMSwgLmQ4cyA9 IGQ4c192bF9ieV8yIH0sCiAgICAgWzB4MjFdID0geyAuc2ltZF9zaXplID0gc2ltZF9vdGhlciwg LnR3b19vcCA9IDEsIC5kOHMgPSBkOHNfdmxfYnlfNCB9LAogICAgIFsweDIyXSA9IHsgLnNpbWRf c2l6ZSA9IHNpbWRfb3RoZXIsIC50d29fb3AgPSAxLCAuZDhzID0gZDhzX3ZsX2J5XzggfSwKQEAg LTUzMSw4ICs1MzEsOCBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IGV4dDBmM2FfdGFibGUgewogICAg IFsweDAyXSA9IHsgLnNpbWRfc2l6ZSA9IHNpbWRfcGFja2VkX2ludCB9LAogICAgIFsweDA0IC4u LiAweDA1XSA9IHsgLnNpbWRfc2l6ZSA9IHNpbWRfcGFja2VkX2ZwLCAudHdvX29wID0gMSwgLmQ4 cyA9IGQ4c192bCB9LAogICAgIFsweDA2XSA9IHsgLnNpbWRfc2l6ZSA9IHNpbWRfcGFja2VkX2Zw IH0sCi0gICAgWzB4MDggLi4uIDB4MDldID0geyAuc2ltZF9zaXplID0gc2ltZF9wYWNrZWRfZnAs IC50d29fb3AgPSAxIH0sCi0gICAgWzB4MGEgLi4uIDB4MGJdID0geyAuc2ltZF9zaXplID0gc2lt ZF9zY2FsYXJfb3BjIH0sCisgICAgWzB4MDggLi4uIDB4MDldID0geyAuc2ltZF9zaXplID0gc2lt ZF9wYWNrZWRfZnAsIC50d29fb3AgPSAxLCAuZDhzID0gZDhzX3ZsIH0sCisgICAgWzB4MGEgLi4u IDB4MGJdID0geyAuc2ltZF9zaXplID0gc2ltZF9zY2FsYXJfb3BjLCAuZDhzID0gZDhzX2RxIH0s CiAgICAgWzB4MGMgLi4uIDB4MGRdID0geyAuc2ltZF9zaXplID0gc2ltZF9wYWNrZWRfZnAgfSwK ICAgICBbMHgwZSAuLi4gMHgwZl0gPSB7IC5zaW1kX3NpemUgPSBzaW1kX3BhY2tlZF9pbnQgfSwK ICAgICBbMHgxNF0gPSB7IC5zaW1kX3NpemUgPSBzaW1kX25vbmUsIC50b19tZW0gPSAxLCAudHdv X29wID0gMSwgLmQ4cyA9IDAgfSwKQEAgLTY4NzQsNiArNjg3NCw4IEBAIHg4Nl9lbXVsYXRlKAog ICAgIGNhc2UgWDg2RU1VTF9PUENfRVZFWF82NigweDBmLCAweGY5KTogLyogdnBzdWJ3IFt4eXpd bW0vbWVtLFt4eXpdbW0sW3h5el1tbXtrfSAqLwogICAgIGNhc2UgWDg2RU1VTF9PUENfRVZFWF82 NigweDBmLCAweGZjKTogLyogdnBhZGRiIFt4eXpdbW0vbWVtLFt4eXpdbW0sW3h5el1tbXtrfSAq LwogICAgIGNhc2UgWDg2RU1VTF9PUENfRVZFWF82NigweDBmLCAweGZkKTogLyogdnBhZGR3IFt4 eXpdbW0vbWVtLFt4eXpdbW0sW3h5el1tbXtrfSAqLworICAgIGNhc2UgWDg2RU1VTF9PUENfRVZF WF82NigweDBmMzgsIDB4MWMpOiAvKiB2cGFic2IgW3h5el1tbS9tZW0sW3h5el1tbXtrfSAqLwor ICAgIGNhc2UgWDg2RU1VTF9PUENfRVZFWF82NigweDBmMzgsIDB4MWQpOiAvKiB2cGFic3cgW3h5 el1tbS9tZW0sW3h5el1tbXtrfSAqLwogICAgICAgICBob3N0X2FuZF92Y3B1X211c3RfaGF2ZShh dng1MTJidyk7CiAgICAgICAgIGdlbmVyYXRlX2V4Y2VwdGlvbl9pZihldmV4LmJyLCBFWENfVUQp OwogICAgICAgICBlbGVtX2J5dGVzID0gMSA8PCAoYiAmIDEpOwpAQCAtODI1Nyw2ICs4MjU5LDgg QEAgeDg2X2VtdWxhdGUoCiAgICAgY2FzZSBYODZFTVVMX09QQ19FVkVYXzY2KDB4MGYsIDB4ZmEp OiAvKiB2cHN1YmQgW3h5el1tbS9tZW0sW3h5el1tbSxbeHl6XW1te2t9ICovCiAgICAgY2FzZSBY ODZFTVVMX09QQ19FVkVYXzY2KDB4MGYsIDB4ZmIpOiAvKiB2cHN1YnEgW3h5el1tbS9tZW0sW3h5 el1tbSxbeHl6XW1te2t9ICovCiAgICAgY2FzZSBYODZFTVVMX09QQ19FVkVYXzY2KDB4MGYsIDB4 ZmUpOiAvKiB2cGFkZGQgW3h5el1tbS9tZW0sW3h5el1tbSxbeHl6XW1te2t9ICovCisgICAgY2Fz ZSBYODZFTVVMX09QQ19FVkVYXzY2KDB4MGYzOCwgMHgxZSk6IC8qIHZwYWJzZCBbeHl6XW1tL21l bSxbeHl6XW1te2t9ICovCisgICAgY2FzZSBYODZFTVVMX09QQ19FVkVYXzY2KDB4MGYzOCwgMHgx Zik6IC8qIHZwYWJzcSBbeHl6XW1tL21lbSxbeHl6XW1te2t9ICovCiAgICAgICAgIGdlbmVyYXRl X2V4Y2VwdGlvbl9pZihldmV4LncgIT0gKGIgJiAxKSwgRVhDX1VEKTsKICAgICAgICAgZ290byBh dng1MTJmX25vX3NhZTsKIApAQCAtOTI4Niw2ICs5MjkwLDE3IEBAIHg4Nl9lbXVsYXRlKAogICAg ICAgICBob3N0X2FuZF92Y3B1X211c3RfaGF2ZShzc2U0XzEpOwogICAgICAgICBnb3RvIHNpbWRf MGYzYV9jb21tb247CiAKKyAgICBjYXNlIFg4NkVNVUxfT1BDX0VWRVhfNjYoMHgwZjNhLCAweDBh KTogLyogdnJuZHNjYWxlc3MgJGltbTgsW3h5el1tbS9tZW0sW3h5el1tbSxbeHl6XW1te2t9ICov CisgICAgY2FzZSBYODZFTVVMX09QQ19FVkVYXzY2KDB4MGYzYSwgMHgwYik6IC8qIHZybmRzY2Fs ZXNkICRpbW04LFt4eXpdbW0vbWVtLFt4eXpdbW0sW3h5el1tbXtrfSAqLworICAgICAgICBnZW5l cmF0ZV9leGNlcHRpb25faWYoZWEudHlwZSAhPSBPUF9SRUcgJiYgZXZleC5iciwgRVhDX1VEKTsK KyAgICAgICAgLyogZmFsbCB0aHJvdWdoICovCisgICAgY2FzZSBYODZFTVVMX09QQ19FVkVYXzY2 KDB4MGYzYSwgMHgwOCk6IC8qIHZybmRzY2FsZXBzICRpbW04LFt4eXpdbW0vbWVtLFt4eXpdbW17 a30gKi8KKyAgICBjYXNlIFg4NkVNVUxfT1BDX0VWRVhfNjYoMHgwZjNhLCAweDA5KTogLyogdnJu ZHNjYWxlcGQgJGltbTgsW3h5el1tbS9tZW0sW3h5el1tbXtrfSAqLworICAgICAgICBob3N0X2Fu ZF92Y3B1X211c3RfaGF2ZShhdng1MTJmKTsKKyAgICAgICAgZ2VuZXJhdGVfZXhjZXB0aW9uX2lm KGV2ZXgudyAhPSAoYiAmIDEpLCBFWENfVUQpOworICAgICAgICBhdng1MTJfdmxlbl9jaGVjayhi ICYgMik7CisgICAgICAgIGdvdG8gc2ltZF9pbW04X3ptbTsKKwogICAgIGNhc2UgWDg2RU1VTF9P UEMoMHgwZjNhLCAweDBmKTogICAgLyogcGFsaWduciAkaW1tOCxtbS9tNjQsbW0gKi8KICAgICBj YXNlIFg4NkVNVUxfT1BDXzY2KDB4MGYzYSwgMHgwZik6IC8qIHBhbGlnbnIgJGltbTgseG1tL20x MjgseG1tICovCiAgICAgICAgIGhvc3RfYW5kX3ZjcHVfbXVzdF9oYXZlKHNzc2UzKTsKCgoKCl9f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fClhlbi1kZXZlbCBt YWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnCmh0dHBzOi8vbGlzdHMu eGVucHJvamVjdC5vcmcvbWFpbG1hbi9saXN0aW5mby94ZW4tZGV2ZWw=