From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Jan Beulich" Subject: [PATCH v4 23/44] x86emul: support AVX512{F, BW, DQ} insert insns Date: Tue, 25 Sep 2018 07:40:40 -0600 Message-ID: <5BAA3AD802000078001EBAB7@prv1-mh.provo.novell.com> References: <5B6BF83602000078001DC548@prv1-mh.provo.novell.com> <5BAA34B502000078001EB9B6@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]) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1g4na2-0007tM-OD for xen-devel@lists.xenproject.org; Tue, 25 Sep 2018 13:40:46 +0000 In-Reply-To: <5BAA34B502000078001EB9B6@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 QWxzbyBjb3JyZWN0IHRoZSBjb21tZW50IG9mIHRoZSBBVlggZm9ybSBvZiBWSU5TRVJUUFMuCgpT aWduZWQtb2ZmLWJ5OiBKYW4gQmV1bGljaCA8amJldWxpY2hAc3VzZS5jb20+Ci0tLQp2NDogTWFr ZSB1c2Ugb2YgZDhzX2RxNjQuCnYzOiBOZXcuCgotLS0gYS90b29scy90ZXN0cy94ODZfZW11bGF0 b3IvZXZleC1kaXNwOC5jCisrKyBiL3Rvb2xzL3Rlc3RzL3g4Nl9lbXVsYXRvci9ldmV4LWRpc3A4 LmMKQEAgLTIwMiw2ICsyMDIsNyBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IHRlc3QgYXZ4NTEyZl9h bGxbXSA9CiAKIHN0YXRpYyBjb25zdCBzdHJ1Y3QgdGVzdCBhdng1MTJmXzEyOFtdID0gewogICAg IElOU04oZXh0cmFjdHBzLCA2NiwgMGYzYSwgMTcsIGVsLCAgICBkLCBlbCksCisgICAgSU5TTihp bnNlcnRwcywgIDY2LCAwZjNhLCAyMSwgZWwsICAgIGQsIGVsKSwKICAgICBJTlNOKG1vdiwgICAg ICAgNjYsICAgMGYsIDZlLCBlbCwgZHE2NCwgZWwpLAogICAgIElOU04obW92LCAgICAgICA2Niwg ICAwZiwgN2UsIGVsLCBkcTY0LCBlbCksCiAgICAgSU5TTihtb3ZxLCAgICAgIGYzLCAgIDBmLCA3 ZSwgZWwsICAgIHEsIGVsKSwKQEAgLTIxMywxMiArMjE0LDE2IEBAIHN0YXRpYyBjb25zdCBzdHJ1 Y3QgdGVzdCBhdng1MTJmX25vMTI4W10KICAgICBJTlNOKGJyb2FkY2FzdHNkLCAgICA2NiwgMGYz OCwgMTksIGVsLCAgICBxLCBlbCksCiAgICAgSU5TTihleHRyYWN0ZjMyeDQsICAgNjYsIDBmM2Es IDE5LCBlbF80LCAgZCwgdmwpLAogICAgIElOU04oZXh0cmFjdGkzMng0LCAgIDY2LCAwZjNhLCAz OSwgZWxfNCwgIGQsIHZsKSwKKyAgICBJTlNOKGluc2VydGYzMng0LCAgICA2NiwgMGYzYSwgMTgs IGVsXzQsICBkLCB2bCksCisgICAgSU5TTihpbnNlcnRpMzJ4NCwgICAgNjYsIDBmM2EsIDM4LCBl bF80LCAgZCwgdmwpLAogfTsKIAogc3RhdGljIGNvbnN0IHN0cnVjdCB0ZXN0IGF2eDUxMmZfNTEy W10gPSB7CiAgICAgSU5TTihicm9hZGNhc3RmNjR4NCwgNjYsIDBmMzgsIDFiLCBlbF80LCBxLCB2 bCksCiAgICAgSU5TTihleHRyYWN0ZjY0eDQsICAgNjYsIDBmM2EsIDFiLCBlbF80LCBxLCB2bCks CiAgICAgSU5TTihleHRyYWN0aTY0eDQsICAgNjYsIDBmM2EsIDNiLCBlbF80LCBxLCB2bCksCisg ICAgSU5TTihpbnNlcnRmNjR4NCwgICAgNjYsIDBmM2EsIDFhLCBlbF80LCBxLCB2bCksCisgICAg SU5TTihpbnNlcnRpNjR4NCwgICAgNjYsIDBmM2EsIDNhLCBlbF80LCBxLCB2bCksCiB9OwogCiBz dGF0aWMgY29uc3Qgc3RydWN0IHRlc3QgYXZ4NTEyYndfYWxsW10gPSB7CkBAIC0yNzgsNiArMjgz LDggQEAgc3RhdGljIGNvbnN0IHN0cnVjdCB0ZXN0IGF2eDUxMmJ3XzEyOFtdCiAgICAgSU5TTihw ZXh0cmIsIDY2LCAwZjNhLCAxNCwgZWwsIGIsIGVsKSwKIC8vICAgICAgIHBleHRydywgNjYsICAg MGYsIGM1LCAgICAgdwogICAgIElOU04ocGV4dHJ3LCA2NiwgMGYzYSwgMTUsIGVsLCB3LCBlbCks CisgICAgSU5TTihwaW5zcmIsIDY2LCAwZjNhLCAyMCwgZWwsIGIsIGVsKSwKKyAgICBJTlNOKHBp bnNydywgNjYsICAgMGYsIGM0LCBlbCwgdywgZWwpLAogfTsKIAogc3RhdGljIGNvbnN0IHN0cnVj dCB0ZXN0IGF2eDUxMmRxX2FsbFtdID0gewpAQCAtMjkwLDYgKzI5Nyw3IEBAIHN0YXRpYyBjb25z dCBzdHJ1Y3QgdGVzdCBhdng1MTJkcV9hbGxbXQogCiBzdGF0aWMgY29uc3Qgc3RydWN0IHRlc3Qg YXZ4NTEyZHFfMTI4W10gPSB7CiAgICAgSU5TTihwZXh0ciwgNjYsIDBmM2EsIDE2LCBlbCwgZHE2 NCwgZWwpLAorICAgIElOU04ocGluc3IsIDY2LCAwZjNhLCAyMiwgZWwsIGRxNjQsIGVsKSwKIH07 CiAKIHN0YXRpYyBjb25zdCBzdHJ1Y3QgdGVzdCBhdng1MTJkcV9ubzEyOFtdID0gewpAQCAtMjk3 LDEyICszMDUsMTYgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCB0ZXN0IGF2eDUxMmRxX25vMTI4Wwog ICAgIElOU04oYnJvYWRjYXN0ZjY0eDIsIDY2LCAwZjM4LCAxYSwgZWxfMiwgcSwgdmwpLAogICAg IElOU04oZXh0cmFjdGY2NHgyLCAgIDY2LCAwZjNhLCAxOSwgZWxfMiwgcSwgdmwpLAogICAgIElO U04oZXh0cmFjdGk2NHgyLCAgIDY2LCAwZjNhLCAzOSwgZWxfMiwgcSwgdmwpLAorICAgIElOU04o aW5zZXJ0ZjY0eDIsICAgIDY2LCAwZjNhLCAxOCwgZWxfMiwgcSwgdmwpLAorICAgIElOU04oaW5z ZXJ0aTY0eDIsICAgIDY2LCAwZjNhLCAzOCwgZWxfMiwgcSwgdmwpLAogfTsKIAogc3RhdGljIGNv bnN0IHN0cnVjdCB0ZXN0IGF2eDUxMmRxXzUxMltdID0gewogICAgIElOU04oYnJvYWRjYXN0ZjMy eDgsIDY2LCAwZjM4LCAxYiwgZWxfOCwgZCwgdmwpLAogICAgIElOU04oZXh0cmFjdGYzMng4LCAg IDY2LCAwZjNhLCAxYiwgZWxfOCwgZCwgdmwpLAogICAgIElOU04oZXh0cmFjdGkzMng4LCAgIDY2 LCAwZjNhLCAzYiwgZWxfOCwgZCwgdmwpLAorICAgIElOU04oaW5zZXJ0ZjMyeDgsICAgIDY2LCAw ZjNhLCAxYSwgZWxfOCwgZCwgdmwpLAorICAgIElOU04oaW5zZXJ0aTMyeDgsICAgIDY2LCAwZjNh LCAzYSwgZWxfOCwgZCwgdmwpLAogfTsKIAogc3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgdmxf YWxsW10gPSB7IFZMXzUxMiwgVkxfMTI4LCBWTF8yNTYgfTsKLS0tIGEveGVuL2FyY2gveDg2L3g4 Nl9lbXVsYXRlL3g4Nl9lbXVsYXRlLmMKKysrIGIveGVuL2FyY2gveDg2L3g4Nl9lbXVsYXRlL3g4 Nl9lbXVsYXRlLmMKQEAgLTM2MCw3ICszNjAsNyBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IHR3b2J5 dGVfdGFibGUgewogICAgIFsweGMxXSA9IHsgRHN0TWVtfFNyY1JlZ3xNb2RSTSB9LAogICAgIFsw eGMyXSA9IHsgRHN0SW1wbGljaXR8U3JjSW1tQnl0ZXxNb2RSTSwgc2ltZF9hbnlfZnAsIGQ4c192 bCB9LAogICAgIFsweGMzXSA9IHsgRHN0TWVtfFNyY1JlZ3xNb2RSTXxNb3YgfSwKLSAgICBbMHhj NF0gPSB7IERzdFJlZ3xTcmNJbW1CeXRlfE1vZFJNLCBzaW1kX3BhY2tlZF9pbnQgfSwKKyAgICBb MHhjNF0gPSB7IERzdFJlZ3xTcmNJbW1CeXRlfE1vZFJNLCBzaW1kX3BhY2tlZF9pbnQsIDEgfSwK ICAgICBbMHhjNV0gPSB7IERzdFJlZ3xTcmNJbW1CeXRlfE1vZFJNfE1vdiB9LAogICAgIFsweGM2 XSA9IHsgRHN0SW1wbGljaXR8U3JjSW1tQnl0ZXxNb2RSTSwgc2ltZF9wYWNrZWRfZnAsIGQ4c192 bCB9LAogICAgIFsweGM3XSA9IHsgSW1wbGljaXRPcHN8TW9kUk0gfSwKQEAgLTUxNiwxNyArNTE2 LDE5IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgZXh0MGYzYV90YWJsZSB7CiAgICAgWzB4MTVdID0g eyAuc2ltZF9zaXplID0gc2ltZF9ub25lLCAudG9fbWVtID0gMSwgLnR3b19vcCA9IDEsIC5kOHMg PSAxIH0sCiAgICAgWzB4MTZdID0geyAuc2ltZF9zaXplID0gc2ltZF9ub25lLCAudG9fbWVtID0g MSwgLnR3b19vcCA9IDEsIC5kOHMgPSBkOHNfZHE2NCB9LAogICAgIFsweDE3XSA9IHsgLnNpbWRf c2l6ZSA9IHNpbWRfbm9uZSwgLnRvX21lbSA9IDEsIC50d29fb3AgPSAxLCAuZDhzID0gMiB9LAot ICAgIFsweDE4XSA9IHsgLnNpbWRfc2l6ZSA9IHNpbWRfMTI4IH0sCisgICAgWzB4MThdID0geyAu c2ltZF9zaXplID0gc2ltZF8xMjgsIC5kOHMgPSA0IH0sCiAgICAgWzB4MTldID0geyAuc2ltZF9z aXplID0gc2ltZF8xMjgsIC50b19tZW0gPSAxLCAudHdvX29wID0gMSwgLmQ4cyA9IDQgfSwKKyAg ICBbMHgxYV0gPSB7IC5zaW1kX3NpemUgPSBzaW1kXzI1NiwgLmQ4cyA9IGQ4c192bF9ieV8yIH0s CiAgICAgWzB4MWJdID0geyAuc2ltZF9zaXplID0gc2ltZF8yNTYsIC50b19tZW0gPSAxLCAudHdv X29wID0gMSwgLmQ4cyA9IGQ4c192bF9ieV8yIH0sCiAgICAgWzB4MWRdID0geyAuc2ltZF9zaXpl ID0gc2ltZF9vdGhlciwgLnRvX21lbSA9IDEsIC50d29fb3AgPSAxIH0sCiAgICAgWzB4MWUgLi4u IDB4MWZdID0geyAuc2ltZF9zaXplID0gc2ltZF9wYWNrZWRfaW50LCAuZDhzID0gZDhzX3ZsIH0s Ci0gICAgWzB4MjBdID0geyAuc2ltZF9zaXplID0gc2ltZF9ub25lIH0sCi0gICAgWzB4MjFdID0g eyAuc2ltZF9zaXplID0gc2ltZF9vdGhlciB9LAotICAgIFsweDIyXSA9IHsgLnNpbWRfc2l6ZSA9 IHNpbWRfbm9uZSB9LAorICAgIFsweDIwXSA9IHsgLnNpbWRfc2l6ZSA9IHNpbWRfbm9uZSwgLmQ4 cyA9IDAgfSwKKyAgICBbMHgyMV0gPSB7IC5zaW1kX3NpemUgPSBzaW1kX290aGVyLCAuZDhzID0g MiB9LAorICAgIFsweDIyXSA9IHsgLnNpbWRfc2l6ZSA9IHNpbWRfbm9uZSwgLmQ4cyA9IGQ4c19k cTY0IH0sCiAgICAgWzB4MjVdID0geyAuc2ltZF9zaXplID0gc2ltZF9wYWNrZWRfaW50LCAuZDhz ID0gZDhzX3ZsIH0sCiAgICAgWzB4MzAgLi4uIDB4MzNdID0geyAuc2ltZF9zaXplID0gc2ltZF9v dGhlciwgLnR3b19vcCA9IDEgfSwKLSAgICBbMHgzOF0gPSB7IC5zaW1kX3NpemUgPSBzaW1kXzEy OCB9LAorICAgIFsweDM4XSA9IHsgLnNpbWRfc2l6ZSA9IHNpbWRfMTI4LCAuZDhzID0gNCB9LAor ICAgIFsweDNhXSA9IHsgLnNpbWRfc2l6ZSA9IHNpbWRfMjU2LCAuZDhzID0gZDhzX3ZsX2J5XzIg fSwKICAgICBbMHgzOV0gPSB7IC5zaW1kX3NpemUgPSBzaW1kXzEyOCwgLnRvX21lbSA9IDEsIC50 d29fb3AgPSAxLCAuZDhzID0gNCB9LAogICAgIFsweDNiXSA9IHsgLnNpbWRfc2l6ZSA9IHNpbWRf MjU2LCAudG9fbWVtID0gMSwgLnR3b19vcCA9IDEsIC5kOHMgPSBkOHNfdmxfYnlfMiB9LAogICAg IFsweDNlIC4uLiAweDNmXSA9IHsgLnNpbWRfc2l6ZSA9IHNpbWRfcGFja2VkX2ludCwgLmQ4cyA9 IGQ4c192bCB9LApAQCAtMjU3MCw2ICsyNTcyLDcgQEAgeDg2X2RlY29kZV90d29ieXRlKAogICAg ICAgICBjdHh0LT5vcGNvZGUgfD0gTUFTS19JTlNSKHZleC5wZngsIFg4NkVNVUxfT1BDX1BGWF9N QVNLKTsKICAgICAgICAgLyogZmFsbCB0aHJvdWdoICovCiAgICAgY2FzZSBYODZFTVVMX09QQ19W RVhfNjYoMCwgMHhjNCk6IC8qIHZwaW5zcncgKi8KKyAgICBjYXNlIFg4NkVNVUxfT1BDX0VWRVhf NjYoMCwgMHhjNCk6IC8qIHZwaW5zcncgKi8KICAgICAgICAgc3RhdGUtPmRlc2MgPSBEc3RSZWcg fCBTcmNNZW0xNjsKICAgICAgICAgYnJlYWs7CiAKQEAgLTI2NzIsNiArMjY3NSw3IEBAIHg4Nl9k ZWNvZGVfMGYzYSgKIAogICAgIGNhc2UgWDg2RU1VTF9PUENfNjYoMCwgMHgyMCk6ICAgICAvKiBw aW5zcmIgKi8KICAgICBjYXNlIFg4NkVNVUxfT1BDX1ZFWF82NigwLCAweDIwKTogLyogdnBpbnNy YiAqLworICAgIGNhc2UgWDg2RU1VTF9PUENfRVZFWF82NigwLCAweDIwKTogLyogdnBpbnNyYiAq LwogICAgICAgICBzdGF0ZS0+ZGVzYyA9IERzdEltcGxpY2l0IHwgU3JjTWVtOwogICAgICAgICBp ZiAoIG1vZHJtX21vZCAhPSAzICkKICAgICAgICAgICAgIHN0YXRlLT5kZXNjIHw9IEJ5dGVPcDsK QEAgLTI2NzksNiArMjY4Myw3IEBAIHg4Nl9kZWNvZGVfMGYzYSgKIAogICAgIGNhc2UgWDg2RU1V TF9PUENfNjYoMCwgMHgyMik6ICAgICAvKiBwaW5zcntkLHF9ICovCiAgICAgY2FzZSBYODZFTVVM X09QQ19WRVhfNjYoMCwgMHgyMik6IC8qIHZwaW5zcntkLHF9ICovCisgICAgY2FzZSBYODZFTVVM X09QQ19FVkVYXzY2KDAsIDB4MjIpOiAvKiB2cGluc3J7ZCxxfSAqLwogICAgICAgICBzdGF0ZS0+ ZGVzYyA9IERzdEltcGxpY2l0IHwgU3JjTWVtOwogICAgICAgICBicmVhazsKIApAQCAtNzY5NSw2 ICs3NzAwLDIzIEBAIHg4Nl9lbXVsYXRlKAogICAgICAgICBlYS50eXBlID0gT1BfTUVNOwogICAg ICAgICBnb3RvIHNpbWRfMGZfaW50X2ltbTg7CiAKKyAgICBjYXNlIFg4NkVNVUxfT1BDX0VWRVhf NjYoMHgwZiwgMHhjNCk6ICAgLyogdnBpbnNydyAkaW1tOCxyMzIvbTE2LHhtbSx4bW0gKi8KKyAg ICBjYXNlIFg4NkVNVUxfT1BDX0VWRVhfNjYoMHgwZjNhLCAweDIwKTogLyogdnBpbnNyYiAkaW1t OCxyMzIvbTgseG1tLHhtbSAqLworICAgIGNhc2UgWDg2RU1VTF9PUENfRVZFWF82NigweDBmM2Es IDB4MjIpOiAvKiB2cGluc3J7ZCxxfSAkaW1tOCxyL20seG1tLHhtbSAqLworICAgICAgICBnZW5l cmF0ZV9leGNlcHRpb25faWYoZXZleC5sciB8fCBldmV4Lm9wbXNrIHx8IGV2ZXguYnIsIEVYQ19V RCk7CisgICAgICAgIGlmICggYiAmIDIgKQorICAgICAgICAgICAgaG9zdF9hbmRfdmNwdV9tdXN0 X2hhdmUoYXZ4NTEyZHEpOworICAgICAgICBlbHNlCisgICAgICAgICAgICBob3N0X2FuZF92Y3B1 X211c3RfaGF2ZShhdng1MTJidyk7CisgICAgICAgIGlmICggIW1vZGVfNjRiaXQoKSApCisgICAg ICAgICAgICBldmV4LncgPSAwOworICAgICAgICBtZW1jcHkobW12YWxwLCAmc3JjLnZhbCwgb3Bf Ynl0ZXMpOworICAgICAgICBlYS50eXBlID0gT1BfTUVNOworICAgICAgICBvcF9ieXRlcyA9IHNy Yy5ieXRlczsKKyAgICAgICAgZCA9IFNyY01lbTE2OyAvKiBGYWtlIGZvciB0aGUgY29tbW9uIFNJ TUQgY29kZSBiZWxvdy4gKi8KKyAgICAgICAgc3RhdGUtPnNpbWRfc2l6ZSA9IHNpbWRfb3RoZXI7 CisgICAgICAgIGdvdG8gYXZ4NTEyZl9pbW1fbm9fc2FlOworCiAgICAgQ0FTRV9TSU1EX1BBQ0tF RF9JTlQoMHgwZiwgMHhjNSk6ICAgICAgLyogcGV4dHJ3ICRpbW04LHsseH1tbSxyZWcgKi8KICAg ICBjYXNlIFg4NkVNVUxfT1BDX1ZFWF82NigweDBmLCAweGM1KTogICAvKiB2cGV4dHJ3ICRpbW04 LHhtbSxyZWcgKi8KICAgICAgICAgZ2VuZXJhdGVfZXhjZXB0aW9uX2lmKHZleC5sLCBFWENfVUQp OwpAQCAtODkwNiw4ICs4OTI4LDEyIEBAIHg4Nl9lbXVsYXRlKAogICAgICAgICBvcGMgPSBpbml0 X2V2ZXgoc3R1Yik7CiAgICAgICAgIGdvdG8gcGV4dHI7CiAKKyAgICBjYXNlIFg4NkVNVUxfT1BD X0VWRVhfNjYoMHgwZjNhLCAweDE4KTogLyogdmluc2VydGYzMng0ICRpbW04LHhtbS9tMTI4LHt5 LHp9bW17a30gKi8KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg Lyogdmluc2VydGY2NHgyICRpbW04LHhtbS9tMTI4LHt5LHp9bW17a30gKi8KICAgICBjYXNlIFg4 NkVNVUxfT1BDX0VWRVhfNjYoMHgwZjNhLCAweDE5KTogLyogdmV4dHJhY3RmMzJ4NCAkaW1tOCx7 eSx6fW1tLHhtbS9tMTI4e2t9ICovCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIC8qIHZleHRyYWN0ZjY0eDIgJGltbTgse3ksen1tbSx4bW0vbTEyOHtrfSAqLwor ICAgIGNhc2UgWDg2RU1VTF9PUENfRVZFWF82NigweDBmM2EsIDB4MzgpOiAvKiB2aW5zZXJ0aTMy eDQgJGltbTgseG1tL20xMjgse3ksen1tbXtrfSAqLworICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAvKiB2aW5zZXJ0aTY0eDIgJGltbTgseG1tL20xMjgse3ksen1t bXtrfSAqLwogICAgIGNhc2UgWDg2RU1VTF9PUENfRVZFWF82NigweDBmM2EsIDB4MzkpOiAvKiB2 ZXh0cmFjdGkzMng0ICRpbW04LHt5LHp9bW0seG1tL20xMjh7a30gKi8KICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogdmV4dHJhY3RpNjR4MiAkaW1tOCx7eSx6 fW1tLHhtbS9tMTI4e2t9ICovCiAgICAgICAgIGlmICggZXZleC53ICkKQEAgLTg5MTYsOCArODk0 MiwxMiBAQCB4ODZfZW11bGF0ZSgKICAgICAgICAgZmF1bHRfc3VwcHJlc3Npb24gPSBmYWxzZTsK ICAgICAgICAgZ290byBhdng1MTJmX2ltbV9ub19zYWU7CiAKKyAgICBjYXNlIFg4NkVNVUxfT1BD X0VWRVhfNjYoMHgwZjNhLCAweDFhKTogLyogdmluc2VydGYzMng0ICRpbW04LHltbS9tMjU2LHpt bXtrfSAqLworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiB2 aW5zZXJ0ZjY0eDIgJGltbTgseW1tL20yNTYsem1te2t9ICovCiAgICAgY2FzZSBYODZFTVVMX09Q Q19FVkVYXzY2KDB4MGYzYSwgMHgxYik6IC8qIHZleHRyYWN0ZjMyeDggJGltbTgsem1tLHltbS9t MjU2e2t9ICovCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8q IHZleHRyYWN0ZjY0eDQgJGltbTgsem1tLHltbS9tMjU2e2t9ICovCisgICAgY2FzZSBYODZFTVVM X09QQ19FVkVYXzY2KDB4MGYzYSwgMHgzYSk6IC8qIHZpbnNlcnRpMzJ4NCAkaW1tOCx5bW0vbTI1 Nix6bW17a30gKi8KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg Lyogdmluc2VydGk2NHgyICRpbW04LHltbS9tMjU2LHptbXtrfSAqLwogICAgIGNhc2UgWDg2RU1V TF9PUENfRVZFWF82NigweDBmM2EsIDB4M2IpOiAvKiB2ZXh0cmFjdGkzMng4ICRpbW04LHptbSx5 bW0vbTI1NntrfSAqLwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAvKiB2ZXh0cmFjdGk2NHg0ICRpbW04LHptbSx5bW0vbTI1NntrfSAqLwogICAgICAgICBpZiAo ICFldmV4LncgKQpAQCAtOTAxMCwxMyArOTA0MCwxOSBAQCB4ODZfZW11bGF0ZSgKICAgICAgICAg b3BfYnl0ZXMgPSA0OwogICAgICAgICBnb3RvIHNpbWRfMGYzYV9jb21tb247CiAKLSAgICBjYXNl IFg4NkVNVUxfT1BDX1ZFWF82NigweDBmM2EsIDB4MjEpOiAvKiB2aW5zZXJ0cHMgJGltbTgseG1t L20xMjgseG1tLHhtbSAqLworICAgIGNhc2UgWDg2RU1VTF9PUENfVkVYXzY2KDB4MGYzYSwgMHgy MSk6IC8qIHZpbnNlcnRwcyAkaW1tOCx4bW0vbTMyLHhtbSx4bW0gKi8KICAgICAgICAgb3BfYnl0 ZXMgPSA0OwogICAgICAgICAvKiBmYWxsIHRocm91Z2ggKi8KICAgICBjYXNlIFg4NkVNVUxfT1BD X1ZFWF82NigweDBmM2EsIDB4NDEpOiAvKiB2ZHBwZCAkaW1tOCx7eCx5fW1tL21lbSx7eCx5fW1t LHt4LHl9bW0gKi8KICAgICAgICAgZ2VuZXJhdGVfZXhjZXB0aW9uX2lmKHZleC5sLCBFWENfVUQp OwogICAgICAgICBnb3RvIHNpbWRfMGZfaW1tOF9hdng7CiAKKyAgICBjYXNlIFg4NkVNVUxfT1BD X0VWRVhfNjYoMHgwZjNhLCAweDIxKTogLyogdmluc2VydHBzICRpbW04LHhtbS9tMzIseG1tLHht bSAqLworICAgICAgICBvcF9ieXRlcyA9IDQ7CisgICAgICAgIGdlbmVyYXRlX2V4Y2VwdGlvbl9p ZihldmV4LmxyIHx8IGV2ZXgudyB8fCBldmV4Lm9wbXNrIHx8IGV2ZXguYnIsCisgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBFWENfVUQpOworICAgICAgICBnb3RvIGF2eDUxMmZfaW1tX25v X3NhZTsKKwogICAgIGNhc2UgWDg2RU1VTF9PUENfVkVYXzY2KDB4MGYzYSwgMHgzMCk6IC8qIGtz aGlmdHJ7Yix3fSAkaW1tOCxrLGsgKi8KICAgICBjYXNlIFg4NkVNVUxfT1BDX1ZFWF82NigweDBm M2EsIDB4MzIpOiAvKiBrc2hpZnRse2Isd30gJGltbTgsayxrICovCiAgICAgICAgIGlmICggIXZl eC53ICkKCgoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f Clhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnCmh0 dHBzOi8vbGlzdHMueGVucHJvamVjdC5vcmcvbWFpbG1hbi9saXN0aW5mby94ZW4tZGV2ZWw=