From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Jan Beulich" Subject: [PATCH v8 17/50] x86emul: support AVX512{F, BW, _VBMI} permute insns Date: Fri, 15 Mar 2019 04:46:04 -0600 Message-ID: <5C8B826C020000780021F1C1@prv1-mh.provo.novell.com> References: <5B6BF83602000078001DC548@prv1-mh.provo.novell.com> <5C8B7EC0020000780021F10B@prv1-mh.provo.novell.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from all-amaz-eas1.inumbo.com ([34.197.232.57] helo=us1-amaz-eas2.inumbo.com) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1h4kLn-0005M6-Ly for xen-devel@lists.xenproject.org; Fri, 15 Mar 2019 10:46:07 +0000 In-Reply-To: <5C8B7EC0020000780021F10B@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 U2lnbmVkLW9mZi1ieTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgotLS0Kdjc6IFJl LWJhc2UuCnY1OiBSZS1iYXNlIG92ZXIgY2hhbmdlcyBlYXJsaWVyIGluIHRoZSBzZXJpZXMuCnY0 OiBOZXcuCgotLS0gYS90b29scy90ZXN0cy94ODZfZW11bGF0b3IvZXZleC1kaXNwOC5jCisrKyBi L3Rvb2xzL3Rlc3RzL3g4Nl9lbXVsYXRvci9ldmV4LWRpc3A4LmMKQEAgLTE3OCw2ICsxNzgsMTAg QEAgc3RhdGljIGNvbnN0IHN0cnVjdCB0ZXN0IGF2eDUxMmZfYWxsW10gPQogICAgIElOU04ocGNt cHUsICAgICAgICA2NiwgMGYzYSwgMWUsICAgIHZsLCAgICAgZHEsIHZsKSwKICAgICBJTlNOKHBl cm1pMiwgICAgICAgNjYsIDBmMzgsIDc2LCAgICB2bCwgICAgIGRxLCB2bCksCiAgICAgSU5TTihw ZXJtaTIsICAgICAgIDY2LCAwZjM4LCA3NywgICAgdmwsICAgICBzZCwgdmwpLAorICAgIElOU04o cGVybWlscGQsICAgICA2NiwgMGYzOCwgMGQsICAgIHZsLCAgICAgIHEsIHZsKSwKKyAgICBJTlNO KHBlcm1pbHBkLCAgICAgNjYsIDBmM2EsIDA1LCAgICB2bCwgICAgICBxLCB2bCksCisgICAgSU5T TihwZXJtaWxwcywgICAgIDY2LCAwZjM4LCAwYywgICAgdmwsICAgICAgZCwgdmwpLAorICAgIElO U04ocGVybWlscHMsICAgICA2NiwgMGYzYSwgMDQsICAgIHZsLCAgICAgIGQsIHZsKSwKICAgICBJ TlNOKHBlcm10MiwgICAgICAgNjYsIDBmMzgsIDdlLCAgICB2bCwgICAgIGRxLCB2bCksCiAgICAg SU5TTihwZXJtdDIsICAgICAgIDY2LCAwZjM4LCA3ZiwgICAgdmwsICAgICBzZCwgdmwpLAogICAg IElOU04ocG1heHMsICAgICAgICA2NiwgMGYzOCwgM2QsICAgIHZsLCAgICAgZHEsIHZsKSwKQEAg LTI3OCw2ICsyODIsMTAgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCB0ZXN0IGF2eDUxMmZfbm8xMjhb XQogICAgIElOU04oZXh0cmFjdGkzMng0LCAgIDY2LCAwZjNhLCAzOSwgZWxfNCwgIGQsIHZsKSwK ICAgICBJTlNOKGluc2VydGYzMng0LCAgICA2NiwgMGYzYSwgMTgsIGVsXzQsICBkLCB2bCksCiAg ICAgSU5TTihpbnNlcnRpMzJ4NCwgICAgNjYsIDBmM2EsIDM4LCBlbF80LCAgZCwgdmwpLAorICAg IElOU04ocGVybSwgICAgICAgICAgIDY2LCAwZjM4LCAzNiwgdmwsICAgZHEsIHZsKSwKKyAgICBJ TlNOKHBlcm0sICAgICAgICAgICA2NiwgMGYzOCwgMTYsIHZsLCAgIHNkLCB2bCksCisgICAgSU5T TihwZXJtcGQsICAgICAgICAgNjYsIDBmM2EsIDAxLCB2bCwgICAgcSwgdmwpLAorICAgIElOU04o cGVybXEsICAgICAgICAgIDY2LCAwZjNhLCAwMCwgdmwsICAgIHEsIHZsKSwKICAgICBJTlNOKHNo dWZmMzJ4NCwgICAgICA2NiwgMGYzYSwgMjMsIHZsLCAgICBkLCB2bCksCiAgICAgSU5TTihzaHVm ZjY0eDIsICAgICAgNjYsIDBmM2EsIDIzLCB2bCwgICAgcSwgdmwpLAogICAgIElOU04oc2h1Zmkz Mng0LCAgICAgIDY2LCAwZjNhLCA0MywgdmwsICAgIGQsIHZsKSwKQEAgLTMxNiw2ICszMjQsNyBA QCBzdGF0aWMgY29uc3Qgc3RydWN0IHRlc3QgYXZ4NTEyYndfYWxsW10KICAgICBJTlNOKHBjbXBn dGIsICAgICA2NiwgICAwZiwgNjQsICAgIHZsLCAgICBiLCB2bCksCiAgICAgSU5TTihwY21wZ3R3 LCAgICAgNjYsICAgMGYsIDY1LCAgICB2bCwgICAgdywgdmwpLAogICAgIElOU04ocGNtcHUsICAg ICAgIDY2LCAwZjNhLCAzZSwgICAgdmwsICAgYncsIHZsKSwKKyAgICBJTlNOKHBlcm13LCAgICAg ICA2NiwgMGYzOCwgOGQsICAgIHZsLCAgICB3LCB2bCksCiAgICAgSU5TTihwZXJtaTJ3LCAgICAg NjYsIDBmMzgsIDc1LCAgICB2bCwgICAgdywgdmwpLAogICAgIElOU04ocGVybXQydywgICAgIDY2 LCAwZjM4LCA3ZCwgICAgdmwsICAgIHcsIHZsKSwKICAgICBJTlNOKHBtYWRkd2QsICAgICA2Niwg ICAwZiwgZjUsICAgIHZsLCAgICB3LCB2bCksCkBAIC00MTIsNiArNDIxLDcgQEAgc3RhdGljIGNv bnN0IHN0cnVjdCB0ZXN0IGF2eDUxMmRxXzUxMltdCiB9OwogCiBzdGF0aWMgY29uc3Qgc3RydWN0 IHRlc3QgYXZ4NTEyX3ZibWlfYWxsW10gPSB7CisgICAgSU5TTihwZXJtYiwgICAgICAgICA2Niwg MGYzOCwgOGQsIHZsLCBiLCB2bCksCiAgICAgSU5TTihwZXJtaTJiLCAgICAgICA2NiwgMGYzOCwg NzUsIHZsLCBiLCB2bCksCiAgICAgSU5TTihwZXJtdDJiLCAgICAgICA2NiwgMGYzOCwgN2QsIHZs LCBiLCB2bCksCiB9OwotLS0gYS90b29scy90ZXN0cy94ODZfZW11bGF0b3Ivc2ltZC5jCisrKyBi L3Rvb2xzL3Rlc3RzL3g4Nl9lbXVsYXRvci9zaW1kLmMKQEAgLTE4Niw2ICsxODYsNyBAQCBzdGF0 aWMgaW5saW5lIGJvb2wgX3RvX2Jvb2woYnl0ZV92ZWNfdCBiCiAjICAgZGVmaW5lIGludGVybGVh dmVfaGkoeCwgeSkgQih1bnBja2hwcywgX21hc2ssIHgsIHksIHVuZGVmKCksIH4wKQogIyAgIGRl ZmluZSBpbnRlcmxlYXZlX2xvKHgsIHkpIEIodW5wY2tscHMsIF9tYXNrLCB4LCB5LCB1bmRlZigp LCB+MCkKICMgICBkZWZpbmUgc3dhcCh4KSBCKHNodWZwcywgX21hc2ssIHgsIHgsIDBiMDAwMTEw MTEsIHVuZGVmKCksIH4wKQorIyAgIGRlZmluZSBzd2FwMih4KSBCXyh2cGVybWlscHMsIF9tYXNr LCB4LCAwYjAwMDExMDExLCB1bmRlZigpLCB+MCkKICMgIGVsc2UKICMgICBkZWZpbmUgYnJvYWRj YXN0X3F1YXJ0ZXQoeCkgQihicm9hZGNhc3RmMzJ4NF8sIF9tYXNrLCB4LCB1bmRlZigpLCB+MCkK ICMgICBkZWZpbmUgaW5zZXJ0X3BhaXIoeCwgeSwgcCkgXApAQCAtMjAwLDYgKzIwMSwxMCBAQCBz dGF0aWMgaW5saW5lIGJvb2wgX3RvX2Jvb2woYnl0ZV92ZWNfdCBiCiAgICAgdmVjX3QgdF8gPSBC KHNodWZfZjMyeDRfLCBfbWFzaywgeCwgeCwgVkVDX1NJWkUgPT0gMzIgPyAwYjAxIDogMGIwMDAx MTAxMSwgdW5kZWYoKSwgfjApOyBcCiAgICAgQihzaHVmcHMsIF9tYXNrLCB0XywgdF8sIDBiMDAw MTEwMTEsIHVuZGVmKCksIH4wKTsgXAogfSkKKyMgICBkZWZpbmUgc3dhcDIoeCkgQih2cGVybWls cHMsIF9tYXNrLCBcCisgICAgICAgICAgICAgICAgICAgICAgIEIoc2h1Zl9mMzJ4NF8sIF9tYXNr LCB4LCB4LCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgVkVDX1NJWkUgPT0gMzIgPyAwYjAx IDogMGIwMDAxMTAxMSwgdW5kZWYoKSwgfjApLCBcCisgICAgICAgICAgICAgICAgICAgICAgIDBi MDAwMTEwMTEsIHVuZGVmKCksIH4wKQogIyAgZW5kaWYKICMgZWxpZiBGTE9BVF9TSVpFID09IDgK ICMgIGlmIFZFQ19TSVpFID49IDMyCkBAIC0yMzMsNiArMjM4LDcgQEAgc3RhdGljIGlubGluZSBi b29sIF90b19ib29sKGJ5dGVfdmVjX3QgYgogIyAgIGRlZmluZSBpbnRlcmxlYXZlX2hpKHgsIHkp IEIodW5wY2tocGQsIF9tYXNrLCB4LCB5LCB1bmRlZigpLCB+MCkKICMgICBkZWZpbmUgaW50ZXJs ZWF2ZV9sbyh4LCB5KSBCKHVucGNrbHBkLCBfbWFzaywgeCwgeSwgdW5kZWYoKSwgfjApCiAjICAg ZGVmaW5lIHN3YXAoeCkgQihzaHVmcGQsIF9tYXNrLCB4LCB4LCAwYjAxLCB1bmRlZigpLCB+MCkK KyMgICBkZWZpbmUgc3dhcDIoeCkgQl8odnBlcm1pbHBkLCBfbWFzaywgeCwgMGIwMSwgdW5kZWYo KSwgfjApCiAjICBlbHNlCiAjICAgZGVmaW5lIGludGVybGVhdmVfaGkoeCwgeSkgQih2cGVybWky dmFycGQsIF9tYXNrLCB4LCBpbnRlcmxlYXZlX2hpLCB5LCB+MCkKICMgICBkZWZpbmUgaW50ZXJs ZWF2ZV9sbyh4LCB5KSBCKHZwZXJtdDJ2YXJwZCwgX21hc2ssIGludGVybGVhdmVfbG8sIHgsIHks IH4wKQpAQCAtMjQwLDYgKzI0NiwxMCBAQCBzdGF0aWMgaW5saW5lIGJvb2wgX3RvX2Jvb2woYnl0 ZV92ZWNfdCBiCiAgICAgdmVjX3QgdF8gPSBCKHNodWZfZjY0eDJfLCBfbWFzaywgeCwgeCwgVkVD X1NJWkUgPT0gMzIgPyAwYjAxIDogMGIwMDAxMTAxMSwgdW5kZWYoKSwgfjApOyBcCiAgICAgQihz aHVmcGQsIF9tYXNrLCB0XywgdF8sIDBiMDEwMTAxMDEsIHVuZGVmKCksIH4wKTsgXAogfSkKKyMg ICBkZWZpbmUgc3dhcDIoeCkgQih2cGVybWlscGQsIF9tYXNrLCBcCisgICAgICAgICAgICAgICAg ICAgICAgIEIoc2h1Zl9mNjR4Ml8sIF9tYXNrLCB4LCB4LCBcCisgICAgICAgICAgICAgICAgICAg ICAgICAgVkVDX1NJWkUgPT0gMzIgPyAwYjAxIDogMGIwMDAxMTAxMSwgdW5kZWYoKSwgfjApLCBc CisgICAgICAgICAgICAgICAgICAgICAgIDBiMDEwMTAxMDEsIHVuZGVmKCksIH4wKQogIyAgZW5k aWYKICMgZW5kaWYKICNlbGlmIEZMT0FUX1NJWkUgPT0gNCAmJiBkZWZpbmVkKF9fU1NFX18pCkBA IC00MDUsNiArNDE1LDcgQEAgc3RhdGljIGlubGluZSBib29sIF90b19ib29sKGJ5dGVfdmVjX3Qg YgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBCKHNodWZfaTMyeDRfLCBfbWFzaywgKHZz aV90KSh4KSwgKHZzaV90KSh4KSwgXAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZF Q19TSVpFID09IDMyID8gMGIwMSA6IDBiMDAwMTEwMTEsICh2c2lfdCl1bmRlZigpLCB+MCksIFwK ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMGIwMDAxMTAxMSwgKHZzaV90KXVuZGVmKCks IH4wKSkKKyMgICBkZWZpbmUgc3dhcDIoeCkgKCh2ZWNfdClCXyhwZXJtdmFyc2ksIF9tYXNrLCAo dnNpX3QpKHgpLCAodnNpX3QpKGludiAtIDEpLCAodnNpX3QpdW5kZWYoKSwgfjApKQogIyAgZW5k aWYKICMgIGRlZmluZSBtaXgoeCwgeSkgKCh2ZWNfdClCKG1vdmRxYTMyXywgX21hc2ssICh2c2lf dCkoeCksICh2c2lfdCkoeSksIFwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwYjAx MDEwMTAxMDEwMTAxMDEgJiAoKDEgPDwgRUxFTV9DT1VOVCkgLSAxKSkpKQpAQCAtNDQyLDggKzQ1 MywxNyBAQCBzdGF0aWMgaW5saW5lIGJvb2wgX3RvX2Jvb2woYnl0ZV92ZWNfdCBiCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICh2c2lfdClCKHNodWZfaTY0eDJfLCBfbWFzaywgKHZkaV90 KSh4KSwgKHZkaV90KSh4KSwgXAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBWRUNfU0laRSA9PSAzMiA/IDBiMDEgOiAwYjAwMDExMDExLCAodmRpX3QpdW5kZWYoKSwgfjAp LCBcCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDBiMDEwMDExMTAsICh2c2lfdCl1bmRl ZigpLCB+MCkpCisjICAgZGVmaW5lIHN3YXAyKHgpICgodmVjX3QpQihwZXJtdmFyZGksIF9tYXNr LCAodmRpX3QpKHgpLCAodmRpX3QpKGludiAtIDEpLCAodmRpX3QpdW5kZWYoKSwgfjApKQogIyAg ZW5kaWYKICMgIGRlZmluZSBtaXgoeCwgeSkgKCh2ZWNfdClCKG1vdmRxYTY0XywgX21hc2ssICh2 ZGlfdCkoeCksICh2ZGlfdCkoeSksIDBiMDEwMTAxMDEpKQorIyAgaWYgVkVDX1NJWkUgPT0gMzIK KyMgICBkZWZpbmUgc3dhcDMoeCkgKCh2ZWNfdClCXyhwZXJtZGksIF9tYXNrLCAodmRpX3QpKHgp LCAwYjAwMDExMDExLCAodmRpX3QpdW5kZWYoKSwgfjApKQorIyAgZWxpZiBWRUNfU0laRSA9PSA2 NAorIyAgIGRlZmluZSBzd2FwMyh4KSAoeyBcCisgICAgdmRpX3QgdF8gPSBCXyhwZXJtZGksIF9t YXNrLCAodmRpX3QpKHgpLCAwYjAwMDExMDExLCAodmRpX3QpdW5kZWYoKSwgfjApOyBcCisgICAg QihzaHVmX2k2NHgyXywgX21hc2ssIHRfLCB0XywgMGIwMTAwMTExMCwgKHZkaV90KXVuZGVmKCks IH4wKTsgXAorfSkKKyMgIGVuZGlmCiAjIGVuZGlmCiAjIGlmIElOVF9TSVpFID09IDQKICMgIGRl ZmluZSBtYXgoeCwgeSkgQihwbWF4c2QsIF9tYXNrLCB4LCB5LCB1bmRlZigpLCB+MCkKQEAgLTQ4 OSw2ICs1MDksOSBAQCBzdGF0aWMgaW5saW5lIGJvb2wgX3RvX2Jvb2woYnl0ZV92ZWNfdCBiCiAj ICBkZWZpbmUgc2hyaW5rMSh4KSAoKGhhbGZfdClCKHBtb3Z3YiwgX21hc2ssICh2aGlfdCkoeCks ICh2cWlfaGFsZl90KXt9LCB+MCkpCiAjICBkZWZpbmUgc2hyaW5rMih4KSAoKHF1YXJ0ZXJfdClC KHBtb3ZkYiwgX21hc2ssICh2c2lfdCkoeCksICh2cWlfcXVhcnRlcl90KXt9LCB+MCkpCiAjICBk ZWZpbmUgc2hyaW5rMyh4KSAoKGVpZ2h0aF90KUIocG1vdnFiLCBfbWFzaywgKHZkaV90KSh4KSwg KHZxaV9laWdodGhfdCl7fSwgfjApKQorIyAgaWZkZWYgX19BVlg1MTJWQk1JX18KKyMgICBkZWZp bmUgc3dhcDIoeCkgKCh2ZWNfdClCKHBlcm12YXJxaSwgX21hc2ssICh2cWlfdCkoeCksICh2cWlf dCkoaW52IC0gMSksICh2cWlfdCl1bmRlZigpLCB+MCkpCisjICBlbmRpZgogIyBlbGlmIElOVF9T SVpFID09IDIgfHwgVUlOVF9TSVpFID09IDIKICMgIGRlZmluZSBicm9hZGNhc3QoeCkgKHsgXAog ICAgIHZlY190IHRfOyBcCkBAIC01MTcsNiArNTQwLDcgQEAgc3RhdGljIGlubGluZSBib29sIF90 b19ib29sKGJ5dGVfdmVjX3QgYgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDBiMDEw MTAxMDEwMTAxMDEwMTAxMDEwMTAxMDEwMTAxMDEgJiBBTExfVFJVRSkpKQogIyAgZGVmaW5lIHNo cmluazEoeCkgKChoYWxmX3QpQihwbW92ZHcsIF9tYXNrLCAodnNpX3QpKHgpLCAodmhpX2hhbGZf dCl7fSwgfjApKQogIyAgZGVmaW5lIHNocmluazIoeCkgKChxdWFydGVyX3QpQihwbW92cXcsIF9t YXNrLCAodmRpX3QpKHgpLCAodmhpX3F1YXJ0ZXJfdCl7fSwgfjApKQorIyAgZGVmaW5lIHN3YXAy KHgpICgodmVjX3QpQihwZXJtdmFyaGksIF9tYXNrLCAodmhpX3QpKHgpLCAodmhpX3QpKGludiAt IDEpLCAodmhpX3QpdW5kZWYoKSwgfjApKQogIyBlbmRpZgogIyBpZiBJTlRfU0laRSA9PSAxCiAj ICBkZWZpbmUgbWF4KHgsIHkpICgodmVjX3QpQihwbWF4c2IsIF9tYXNrLCAodnFpX3QpKHgpLCAo dnFpX3QpKHkpLCAodnFpX3QpdW5kZWYoKSwgfjApKQpAQCAtMTMyNSw2ICsxMzQ5LDEyIEBAIGlu dCBzaW1kX3Rlc3Qodm9pZCkKICAgICBpZiAoICFlcShzd2FwMihzcmMpLCBpbnYpICkgcmV0dXJu IF9fTElORV9fOwogI2VuZGlmCiAKKyNpZmRlZiBzd2FwMworICAgIHRvdWNoKHNyYyk7CisgICAg aWYgKCAhZXEoc3dhcDMoc3JjKSwgaW52KSApIHJldHVybiBfX0xJTkVfXzsKKyAgICB0b3VjaChz cmMpOworI2VuZGlmCisKICNpZmRlZiBicm9hZGNhc3QKICAgICBpZiAoICFlcShicm9hZGNhc3Qo RUxFTV9DT1VOVCArIDEpLCBzcmMgKyBpbnYpICkgcmV0dXJuIF9fTElORV9fOwogI2VuZGlmCi0t LSBhL3Rvb2xzL3Rlc3RzL3g4Nl9lbXVsYXRvci9zaW1kLmgKKysrIGIvdG9vbHMvdGVzdHMveDg2 X2VtdWxhdG9yL3NpbWQuaApAQCAtMjc1LDYgKzI3NSw4IEBAIE9WUihtb3ZscHMpOwogT1ZSX1ZG UChtb3ZudCk7CiBPVlJfVkZQKG1vdnUpOwogT1ZSX0ZQKG11bCk7CitPVlJfVkZQKHBlcm0pOwor T1ZSX1ZGUChwZXJtaWwpOwogT1ZSX1ZGUChzaHVmKTsKIE9WUl9JTlQoc2xsKTsKIE9WUl9EUShz bGx2KTsKQEAgLTMzMSw2ICszMzMsOCBAQCBPVlIobW92bnRkcSk7CiBPVlIobW92bnRkcWEpOwog T1ZSKG1vdnNoZHVwKTsKIE9WUihtb3ZzbGR1cCk7CitPVlIocGVybWQpOworT1ZSKHBlcm1xKTsK IE9WUihwbW92c3hiZCk7CiBPVlIocG1vdnN4YnEpOwogT1ZSKHBtb3ZzeGRxKTsKLS0tIGEveGVu L2FyY2gveDg2L3g4Nl9lbXVsYXRlL3g4Nl9lbXVsYXRlLmMKKysrIGIveGVuL2FyY2gveDg2L3g4 Nl9lbXVsYXRlL3g4Nl9lbXVsYXRlLmMKQEAgLTQzNCw3ICs0MzQsOCBAQCBzdGF0aWMgY29uc3Qg c3RydWN0IGV4dDBmMzhfdGFibGUgewogfSBleHQwZjM4X3RhYmxlWzI1Nl0gPSB7CiAgICAgWzB4 MDBdID0geyAuc2ltZF9zaXplID0gc2ltZF9wYWNrZWRfaW50LCAuZDhzID0gZDhzX3ZsIH0sCiAg ICAgWzB4MDEgLi4uIDB4MGJdID0geyAuc2ltZF9zaXplID0gc2ltZF9wYWNrZWRfaW50IH0sCi0g ICAgWzB4MGMgLi4uIDB4MGZdID0geyAuc2ltZF9zaXplID0gc2ltZF9wYWNrZWRfZnAgfSwKKyAg ICBbMHgwYyAuLi4gMHgwZF0gPSB7IC5zaW1kX3NpemUgPSBzaW1kX3BhY2tlZF9mcCwgLmQ4cyA9 IGQ4c192bCB9LAorICAgIFsweDBlIC4uLiAweDBmXSA9IHsgLnNpbWRfc2l6ZSA9IHNpbWRfcGFj a2VkX2ZwIH0sCiAgICAgWzB4MTAgLi4uIDB4MTJdID0geyAuc2ltZF9zaXplID0gc2ltZF9wYWNr ZWRfaW50LCAuZDhzID0gZDhzX3ZsIH0sCiAgICAgWzB4MTNdID0geyAuc2ltZF9zaXplID0gc2lt ZF9vdGhlciwgLnR3b19vcCA9IDEgfSwKICAgICBbMHgxNCAuLi4gMHgxNl0gPSB7IC5zaW1kX3Np emUgPSBzaW1kX3BhY2tlZF9mcCwgLmQ4cyA9IGQ4c192bCB9LApAQCAtNDc3LDYgKzQ3OCw3IEBA IHN0YXRpYyBjb25zdCBzdHJ1Y3QgZXh0MGYzOF90YWJsZSB7CiAgICAgWzB4N2QgLi4uIDB4N2Vd ID0geyAuc2ltZF9zaXplID0gc2ltZF9wYWNrZWRfaW50LCAuZDhzID0gZDhzX3ZsIH0sCiAgICAg WzB4N2ZdID0geyAuc2ltZF9zaXplID0gc2ltZF9wYWNrZWRfZnAsIC5kOHMgPSBkOHNfdmwgfSwK ICAgICBbMHg4Y10gPSB7IC5zaW1kX3NpemUgPSBzaW1kX3BhY2tlZF9pbnQgfSwKKyAgICBbMHg4 ZF0gPSB7IC5zaW1kX3NpemUgPSBzaW1kX3BhY2tlZF9pbnQsIC5kOHMgPSBkOHNfdmwgfSwKICAg ICBbMHg4ZV0gPSB7IC5zaW1kX3NpemUgPSBzaW1kX3BhY2tlZF9pbnQsIC50b19tZW0gPSAxIH0s CiAgICAgWzB4OTAgLi4uIDB4OTNdID0geyAuc2ltZF9zaXplID0gc2ltZF9vdGhlciwgLnZzaWIg PSAxIH0sCiAgICAgWzB4OTYgLi4uIDB4OThdID0geyAuc2ltZF9zaXplID0gc2ltZF9wYWNrZWRf ZnAsIC5kOHMgPSBkOHNfdmwgfSwKQEAgLTUyMiwxMCArNTI0LDEwIEBAIHN0YXRpYyBjb25zdCBz dHJ1Y3QgZXh0MGYzYV90YWJsZSB7CiAgICAgdWludDhfdCBmb3VyX29wOjE7CiAgICAgZGlzcDhz Y2FsZV90IGQ4czo0OwogfSBleHQwZjNhX3RhYmxlWzI1Nl0gPSB7Ci0gICAgWzB4MDBdID0geyAu c2ltZF9zaXplID0gc2ltZF9wYWNrZWRfaW50LCAudHdvX29wID0gMSB9LAotICAgIFsweDAxXSA9 IHsgLnNpbWRfc2l6ZSA9IHNpbWRfcGFja2VkX2ZwLCAudHdvX29wID0gMSB9LAorICAgIFsweDAw XSA9IHsgLnNpbWRfc2l6ZSA9IHNpbWRfcGFja2VkX2ludCwgLnR3b19vcCA9IDEsIC5kOHMgPSBk OHNfdmwgfSwKKyAgICBbMHgwMV0gPSB7IC5zaW1kX3NpemUgPSBzaW1kX3BhY2tlZF9mcCwgLnR3 b19vcCA9IDEsIC5kOHMgPSBkOHNfdmwgfSwKICAgICBbMHgwMl0gPSB7IC5zaW1kX3NpemUgPSBz aW1kX3BhY2tlZF9pbnQgfSwKLSAgICBbMHgwNCAuLi4gMHgwNV0gPSB7IC5zaW1kX3NpemUgPSBz aW1kX3BhY2tlZF9mcCwgLnR3b19vcCA9IDEgfSwKKyAgICBbMHgwNCAuLi4gMHgwNV0gPSB7IC5z aW1kX3NpemUgPSBzaW1kX3BhY2tlZF9mcCwgLnR3b19vcCA9IDEsIC5kOHMgPSBkOHNfdmwgfSwK ICAgICBbMHgwNl0gPSB7IC5zaW1kX3NpemUgPSBzaW1kX3BhY2tlZF9mcCB9LAogICAgIFsweDA4 IC4uLiAweDA5XSA9IHsgLnNpbWRfc2l6ZSA9IHNpbWRfcGFja2VkX2ZwLCAudHdvX29wID0gMSB9 LAogICAgIFsweDBhIC4uLiAweDBiXSA9IHsgLnNpbWRfc2l6ZSA9IHNpbWRfc2NhbGFyX29wYyB9 LApAQCAtODEwMiw2ICs4MTA0LDkgQEAgeDg2X2VtdWxhdGUoCiAgICAgY2FzZSBYODZFTVVMX09Q Q19FVkVYXzY2KDB4MGYsIDB4ZjIpOiAvKiB2cHNsbGQgeG1tL20xMjgsW3h5el1tbSxbeHl6XW1t e2t9ICovCiAgICAgY2FzZSBYODZFTVVMX09QQ19FVkVYXzY2KDB4MGYsIDB4ZjMpOiAvKiB2cHNs bHEgeG1tL20xMjgsW3h5el1tbSxbeHl6XW1te2t9ICovCiAgICAgICAgIGdlbmVyYXRlX2V4Y2Vw dGlvbl9pZihldmV4LmJycywgRVhDX1VEKTsKKyAgICAgICAgLyogZmFsbCB0aHJvdWdoICovCisg ICAgY2FzZSBYODZFTVVMX09QQ19FVkVYXzY2KDB4MGYzOCwgMHgwYyk6IC8qIHZwZXJtaWxwcyBb eHl6XW1tL21lbSxbeHl6XW1tLFt4eXpdbW17a30gKi8KKyAgICBjYXNlIFg4NkVNVUxfT1BDX0VW RVhfNjYoMHgwZjM4LCAweDBkKTogLyogdnBlcm1pbHBkIFt4eXpdbW0vbWVtLFt4eXpdbW0sW3h5 el1tbXtrfSAqLwogICAgICAgICBmYXVsdF9zdXBwcmVzc2lvbiA9IGZhbHNlOwogICAgICAgICBp ZiAoIGIgPT0gMHhlMiApCiAgICAgICAgICAgICBnb3RvIGF2eDUxMmZfbm9fc2FlOwpAQCAtODQ0 Nyw2ICs4NDUyLDEyIEBAIHg4Nl9lbXVsYXRlKAogICAgICAgICBnZW5lcmF0ZV9leGNlcHRpb25f aWYoIXZleC5sIHx8IHZleC53LCBFWENfVUQpOwogICAgICAgICBnb3RvIHNpbWRfMGZfYXZ4MjsK IAorICAgIGNhc2UgWDg2RU1VTF9PUENfRVZFWF82NigweDBmMzgsIDB4MTYpOiAvKiB2cGVybXB7 cyxkfSB7eSx6fW1tL21lbSx7eSx6fW1tLHt5LHp9bW17a30gKi8KKyAgICBjYXNlIFg4NkVNVUxf T1BDX0VWRVhfNjYoMHgwZjM4LCAweDM2KTogLyogdnBlcm17ZCxxfSB7eSx6fW1tL21lbSx7eSx6 fW1tLHt5LHp9bW17a30gKi8KKyAgICAgICAgZ2VuZXJhdGVfZXhjZXB0aW9uX2lmKCFldmV4Lmxy LCBFWENfVUQpOworICAgICAgICBmYXVsdF9zdXBwcmVzc2lvbiA9IGZhbHNlOworICAgICAgICBn b3RvIGF2eDUxMmZfbm9fc2FlOworCiAgICAgY2FzZSBYODZFTVVMX09QQ19WRVhfNjYoMHgwZjM4 LCAweDIwKTogLyogdnBtb3ZzeGJ3IHhtbS9tZW0se3gseX1tbSAqLwogICAgIGNhc2UgWDg2RU1V TF9PUENfVkVYXzY2KDB4MGYzOCwgMHgyMSk6IC8qIHZwbW92c3hiZCB4bW0vbWVtLHt4LHl9bW0g Ki8KICAgICBjYXNlIFg4NkVNVUxfT1BDX1ZFWF82NigweDBmMzgsIDB4MjIpOiAvKiB2cG1vdnN4 YnEgeG1tL21lbSx7eCx5fW1tICovCkBAIC04NjUyLDYgKzg2NjMsNyBAQCB4ODZfZW11bGF0ZSgK IAogICAgIGNhc2UgWDg2RU1VTF9PUENfRVZFWF82NigweDBmMzgsIDB4NzUpOiAvKiB2cGVybWky e2Isd30gW3h5el1tbS9tZW0sW3h5el1tbSxbeHl6XW1te2t9ICovCiAgICAgY2FzZSBYODZFTVVM X09QQ19FVkVYXzY2KDB4MGYzOCwgMHg3ZCk6IC8qIHZwZXJtdDJ7Yix3fSBbeHl6XW1tL21lbSxb eHl6XW1tLFt4eXpdbW17a30gKi8KKyAgICBjYXNlIFg4NkVNVUxfT1BDX0VWRVhfNjYoMHgwZjM4 LCAweDhkKTogLyogdnBlcm17Yix3fSBbeHl6XW1tL21lbSxbeHl6XW1tLFt4eXpdbW17a30gKi8K ICAgICAgICAgaWYgKCAhZXZleC53ICkKICAgICAgICAgICAgIGhvc3RfYW5kX3ZjcHVfbXVzdF9o YXZlKGF2eDUxMl92Ym1pKTsKICAgICAgICAgZWxzZQpAQCAtOTA3Nyw2ICs5MDg5LDEyIEBAIHg4 Nl9lbXVsYXRlKAogICAgICAgICBnZW5lcmF0ZV9leGNlcHRpb25faWYoIXZleC5sIHx8ICF2ZXgu dywgRVhDX1VEKTsKICAgICAgICAgZ290byBzaW1kXzBmX2ltbThfYXZ4MjsKIAorICAgIGNhc2Ug WDg2RU1VTF9PUENfRVZFWF82NigweDBmM2EsIDB4MDApOiAvKiB2cGVybXEgJGltbTgse3ksen1t bS9tZW0se3ksen1tbXtrfSAqLworICAgIGNhc2UgWDg2RU1VTF9PUENfRVZFWF82NigweDBmM2Es IDB4MDEpOiAvKiB2cGVybXBkICRpbW04LHt5LHp9bW0vbWVtLHt5LHp9bW17a30gKi8KKyAgICAg ICAgZ2VuZXJhdGVfZXhjZXB0aW9uX2lmKCFldmV4LmxyIHx8ICFldmV4LncsIEVYQ19VRCk7Cisg ICAgICAgIGZhdWx0X3N1cHByZXNzaW9uID0gZmFsc2U7CisgICAgICAgIGdvdG8gYXZ4NTEyZl9p bW04X25vX3NhZTsKKwogICAgIGNhc2UgWDg2RU1VTF9PUENfVkVYXzY2KDB4MGYzYSwgMHgzOCk6 IC8qIHZpbnNlcnRpMTI4ICRpbW04LHhtbS9tMTI4LHltbSx5bW0gKi8KICAgICBjYXNlIFg4NkVN VUxfT1BDX1ZFWF82NigweDBmM2EsIDB4MzkpOiAvKiB2ZXh0cmFjdGkxMjggJGltbTgseW1tLHht bS9tMTI4ICovCiAgICAgY2FzZSBYODZFTVVMX09QQ19WRVhfNjYoMHgwZjNhLCAweDQ2KTogLyog dnBlcm0yaTEyOCAkaW1tOCx5bW0vbTI1Nix5bW0seW1tICovCkBAIC05MDk2LDYgKzkxMTQsMTIg QEAgeDg2X2VtdWxhdGUoCiAgICAgICAgIGdlbmVyYXRlX2V4Y2VwdGlvbl9pZih2ZXgudywgRVhD X1VEKTsKICAgICAgICAgZ290byBzaW1kXzBmX2ltbThfYXZ4OwogCisgICAgY2FzZSBYODZFTVVM X09QQ19FVkVYXzY2KDB4MGYzYSwgMHgwNCk6IC8qIHZwZXJtaWxwcyAkaW1tOCxbeHl6XW1tL21l bSxbeHl6XW1te2t9ICovCisgICAgY2FzZSBYODZFTVVMX09QQ19FVkVYXzY2KDB4MGYzYSwgMHgw NSk6IC8qIHZwZXJtaWxwZCAkaW1tOCxbeHl6XW1tL21lbSxbeHl6XW1te2t9ICovCisgICAgICAg IGdlbmVyYXRlX2V4Y2VwdGlvbl9pZihldmV4LncgIT0gKGIgJiAxKSwgRVhDX1VEKTsKKyAgICAg ICAgZmF1bHRfc3VwcHJlc3Npb24gPSBmYWxzZTsKKyAgICAgICAgZ290byBhdng1MTJmX2ltbThf bm9fc2FlOworCiAgICAgY2FzZSBYODZFTVVMX09QQ182NigweDBmM2EsIDB4MDgpOiAvKiByb3Vu ZHBzICRpbW04LHhtbS9tMTI4LHhtbSAqLwogICAgIGNhc2UgWDg2RU1VTF9PUENfNjYoMHgwZjNh LCAweDA5KTogLyogcm91bmRwZCAkaW1tOCx4bW0vbTEyOCx4bW0gKi8KICAgICBjYXNlIFg4NkVN VUxfT1BDXzY2KDB4MGYzYSwgMHgwYSk6IC8qIHJvdW5kc3MgJGltbTgseG1tL20xMjgseG1tICov CgoKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpYZW4t ZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZwpodHRwczov L2xpc3RzLnhlbnByb2plY3Qub3JnL21haWxtYW4vbGlzdGluZm8veGVuLWRldmVs