From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Jan Beulich" Subject: [PATCH v7 02/49] x86emul: support AVX512{F, BW} shift/rotate insns Date: Wed, 19 Dec 2018 07:36:25 -0700 Message-ID: <5C1A576902000078002078A1@prv1-mh.provo.novell.com> References: <5B6BF83602000078001DC548@prv1-mh.provo.novell.com> <5C1A52ED0200007800207865@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 1gZcxa-0001j0-6I for xen-devel@lists.xenproject.org; Wed, 19 Dec 2018 14:36:30 +0000 In-Reply-To: <5C1A52ED0200007800207865@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 Tm90ZSB0aGF0IHNpbWRfcGFja2VkX2ZwIGZvciB0aGUgb3Bjb2RlIHNwYWNlIDBmMzggbWFqb3Ig b3Bjb2RlcyAxNCBhbmQKMTUgaXMgbm90IHJlYWxseSBjb3JyZWN0LCBidXQgc3VmZmljaWVudCBm b3IgdGhlIHB1cnBvc2VzIGhlcmUuIEZ1cnRoZXIKYWRqdXN0bWVudHMgbWF5IGxhdGVyIGJlIG5l ZWRlZCBmb3IgdGhlIGRvd24gY29udmVyc2lvbiB1bnNpZ25lZApzYXR1cmF0aW5nIFZQTU9WKiBp bnNucywgZmlyc3QgYW5kIGZvcmVtb3N0IGZvciB0aGUgZGlmZmVyZW50IERpc3A4CnNjYWxpbmcg dGhvc2Ugb25lcyB1c2UuCgpTaWduZWQtb2ZmLWJ5OiBKYW4gQmV1bGljaCA8amJldWxpY2hAc3Vz ZS5jb20+Ci0tLQp2NzogUmFpc2UgI1VEIGZvciBWUFN7TEwsUkEsUkx9Vlcgd2l0aCBFVkVYLlcg Y2xlYXIuIFJlLWJhc2UuCnYzOiBOZXcuCgotLS0gYS90b29scy90ZXN0cy94ODZfZW11bGF0b3Iv ZXZleC1kaXNwOC5jCisrKyBiL3Rvb2xzL3Rlc3RzL3g4Nl9lbXVsYXRvci9ldmV4LWRpc3A4LmMK QEAgLTE3OCw2ICsxNzgsMjQgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCB0ZXN0IGF2eDUxMmZfYWxs W10gPQogICAgIElOU04ocG11bGxkLCAgICAgICA2NiwgMGYzOCwgNDAsICAgIHZsLCAgICAgIGQs IHZsKSwKICAgICBJTlNOKHBtdWx1ZHEsICAgICAgNjYsICAgMGYsIGY0LCAgICB2bCwgICAgICBx LCB2bCksCiAgICAgSU5TTihwb3IsICAgICAgICAgIDY2LCAgIDBmLCBlYiwgICAgdmwsICAgICBk cSwgdmwpLAorICAgIElOU05YKHByb2wsICAgICAgICA2NiwgICAwZiwgNzIsIDEsIHZsLCAgICAg ZHEsIHZsKSwKKyAgICBJTlNOKHByb2x2LCAgICAgICAgNjYsIDBmMzgsIDE1LCAgICB2bCwgICAg IGRxLCB2bCksCisgICAgSU5TTlgocHJvciwgICAgICAgIDY2LCAgIDBmLCA3MiwgMCwgdmwsICAg ICBkcSwgdmwpLAorICAgIElOU04ocHJvcnYsICAgICAgICA2NiwgMGYzOCwgMTQsICAgIHZsLCAg ICAgZHEsIHZsKSwKKyAgICBJTlNOKHBzbGxkLCAgICAgICAgNjYsICAgMGYsIGYyLCAgICBlbF80 LCAgICBkLCB2bCksCisgICAgSU5TTlgocHNsbGQsICAgICAgIDY2LCAgIDBmLCA3MiwgNiwgdmws ICAgICAgZCwgdmwpLAorICAgIElOU04ocHNsbHEsICAgICAgICA2NiwgICAwZiwgZjMsICAgIGVs XzIsICAgIHEsIHZsKSwKKyAgICBJTlNOWChwc2xscSwgICAgICAgNjYsICAgMGYsIDczLCA2LCB2 bCwgICAgICBxLCB2bCksCisgICAgSU5TTihwc2xsdiwgICAgICAgIDY2LCAwZjM4LCA0NywgICAg dmwsICAgICBkcSwgdmwpLAorICAgIElOU05YKHBzcmEsICAgICAgICA2NiwgICAwZiwgNzIsIDQs IHZsLCAgICAgZHEsIHZsKSwKKyAgICBJTlNOKHBzcmFkLCAgICAgICAgNjYsICAgMGYsIGUyLCAg ICBlbF80LCAgICBkLCB2bCksCisgICAgSU5TTihwc3JhcSwgICAgICAgIDY2LCAgIDBmLCBlMiwg ICAgZWxfMiwgICAgcSwgdmwpLAorICAgIElOU04ocHNyYXYsICAgICAgICA2NiwgMGYzOCwgNDYs ICAgIHZsLCAgICAgZHEsIHZsKSwKKyAgICBJTlNOKHBzcmxkLCAgICAgICAgNjYsICAgMGYsIGQy LCAgICBlbF80LCAgICBkLCB2bCksCisgICAgSU5TTlgocHNybGQsICAgICAgIDY2LCAgIDBmLCA3 MiwgMiwgdmwsICAgICAgZCwgdmwpLAorICAgIElOU04ocHNybHEsICAgICAgICA2NiwgICAwZiwg ZDMsICAgIGVsXzIsICAgIHEsIHZsKSwKKyAgICBJTlNOWChwc3JscSwgICAgICAgNjYsICAgMGYs IDczLCAyLCB2bCwgICAgICBxLCB2bCksCisgICAgSU5TTihwc3JsdiwgICAgICAgIDY2LCAwZjM4 LCA0NSwgICAgdmwsICAgICBkcSwgdmwpLAogICAgIElOU04ocHN1YmQsICAgICAgICA2NiwgICAw ZiwgZmEsICAgIHZsLCAgICAgIGQsIHZsKSwKICAgICBJTlNOKHBzdWJxLCAgICAgICAgNjYsICAg MGYsIGZiLCAgICB2bCwgICAgICBxLCB2bCksCiAgICAgSU5TTihwdGVybmxvZywgICAgIDY2LCAw ZjNhLCAyNSwgICAgdmwsICAgICBkcSwgdmwpLApAQCAtMjQxLDYgKzI1OSwxNyBAQCBzdGF0aWMg Y29uc3Qgc3RydWN0IHRlc3QgYXZ4NTEyYndfYWxsW10KICAgICBJTlNOKHBtdWxodywgICAgICA2 NiwgICAwZiwgZTUsICAgIHZsLCAgICB3LCB2bCksCiAgICAgSU5TTihwbXVsbHcsICAgICAgNjYs ICAgMGYsIGQ1LCAgICB2bCwgICAgdywgdmwpLAogICAgIElOU04ocHNhZGJ3LCAgICAgIDY2LCAg IDBmLCBmNiwgICAgdmwsICAgIGIsIHZsKSwKKyAgICBJTlNOWChwc2xsZHEsICAgICA2NiwgICAw ZiwgNzMsIDcsIHZsLCAgICBiLCB2bCksCisgICAgSU5TTihwc2xsdncsICAgICAgNjYsIDBmMzgs IDEyLCAgICB2bCwgICAgdywgdmwpLAorICAgIElOU04ocHNsbHcsICAgICAgIDY2LCAgIDBmLCBm MSwgICAgZWxfOCwgIHcsIHZsKSwKKyAgICBJTlNOWChwc2xsdywgICAgICA2NiwgICAwZiwgNzEs IDYsIHZsLCAgICB3LCB2bCksCisgICAgSU5TTihwc3JhdncsICAgICAgNjYsIDBmMzgsIDExLCAg ICB2bCwgICAgdywgdmwpLAorICAgIElOU04ocHNyYXcsICAgICAgIDY2LCAgIDBmLCBlMSwgICAg ZWxfOCwgIHcsIHZsKSwKKyAgICBJTlNOWChwc3JhdywgICAgICA2NiwgICAwZiwgNzEsIDQsIHZs LCAgICB3LCB2bCksCisgICAgSU5TTlgocHNybGRxLCAgICAgNjYsICAgMGYsIDczLCAzLCB2bCwg ICAgYiwgdmwpLAorICAgIElOU04ocHNybHZ3LCAgICAgIDY2LCAwZjM4LCAxMCwgICAgdmwsICAg IHcsIHZsKSwKKyAgICBJTlNOKHBzcmx3LCAgICAgICA2NiwgICAwZiwgZDEsICAgIGVsXzgsICB3 LCB2bCksCisgICAgSU5TTlgocHNybHcsICAgICAgNjYsICAgMGYsIDcxLCAyLCB2bCwgICAgdywg dmwpLAogICAgIElOU04ocHN1YmIsICAgICAgIDY2LCAgIDBmLCBmOCwgICAgdmwsICAgIGIsIHZs KSwKICAgICBJTlNOKHBzdWJzYiwgICAgICA2NiwgICAwZiwgZTgsICAgIHZsLCAgICBiLCB2bCks CiAgICAgSU5TTihwc3Vic3csICAgICAgNjYsICAgMGYsIGU5LCAgICB2bCwgICAgdywgdmwpLAot LS0gYS94ZW4vYXJjaC94ODYveDg2X2VtdWxhdGUveDg2X2VtdWxhdGUuYworKysgYi94ZW4vYXJj aC94ODYveDg2X2VtdWxhdGUveDg2X2VtdWxhdGUuYwpAQCAtMzE5LDcgKzMxOSw3IEBAIHN0YXRp YyBjb25zdCBzdHJ1Y3QgdHdvYnl0ZV90YWJsZSB7CiAgICAgWzB4NmVdID0geyBEc3RJbXBsaWNp dHxTcmNNZW18TW9kUk18TW92LCBzaW1kX25vbmUsIGQ4c19kcTY0IH0sCiAgICAgWzB4NmZdID0g eyBEc3RJbXBsaWNpdHxTcmNNZW18TW9kUk18TW92LCBzaW1kX3BhY2tlZF9pbnQsIGQ4c192bCB9 LAogICAgIFsweDcwXSA9IHsgU3JjSW1tQnl0ZXxNb2RSTXxUd29PcCwgc2ltZF9vdGhlciB9LAot ICAgIFsweDcxIC4uLiAweDczXSA9IHsgRHN0SW1wbGljaXR8U3JjSW1tQnl0ZXxNb2RSTSB9LAor ICAgIFsweDcxIC4uLiAweDczXSA9IHsgRHN0SW1wbGljaXR8U3JjSW1tQnl0ZXxNb2RSTSwgc2lt ZF9ub25lLCBkOHNfdmwgfSwKICAgICBbMHg3NCAuLi4gMHg3Nl0gPSB7IERzdEltcGxpY2l0fFNy Y01lbXxNb2RSTSwgc2ltZF9wYWNrZWRfaW50LCBkOHNfdmwgfSwKICAgICBbMHg3N10gPSB7IERz dEltcGxpY2l0fFNyY05vbmUgfSwKICAgICBbMHg3OF0gPSB7IEltcGxpY2l0T3BzfE1vZFJNIH0s CkBAIC0zNjYsMTkgKzM2NiwxOSBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IHR3b2J5dGVfdGFibGUg ewogICAgIFsweGM3XSA9IHsgSW1wbGljaXRPcHN8TW9kUk0gfSwKICAgICBbMHhjOCAuLi4gMHhj Zl0gPSB7IEltcGxpY2l0T3BzIH0sCiAgICAgWzB4ZDBdID0geyBEc3RJbXBsaWNpdHxTcmNNZW18 TW9kUk0sIHNpbWRfb3RoZXIgfSwKLSAgICBbMHhkMSAuLi4gMHhkM10gPSB7IERzdEltcGxpY2l0 fFNyY01lbXxNb2RSTSwgc2ltZF8xMjggfSwKKyAgICBbMHhkMSAuLi4gMHhkM10gPSB7IERzdElt cGxpY2l0fFNyY01lbXxNb2RSTSwgc2ltZF8xMjgsIDQgfSwKICAgICBbMHhkNCAuLi4gMHhkNV0g PSB7IERzdEltcGxpY2l0fFNyY01lbXxNb2RSTSwgc2ltZF9wYWNrZWRfaW50LCBkOHNfdmwgfSwK ICAgICBbMHhkNl0gPSB7IERzdE1lbXxTcmNJbXBsaWNpdHxNb2RSTXxNb3YsIHNpbWRfb3RoZXIs IDMgfSwKICAgICBbMHhkN10gPSB7IERzdFJlZ3xTcmNJbXBsaWNpdHxNb2RSTXxNb3YgfSwKICAg ICBbMHhkOCAuLi4gMHhkZl0gPSB7IERzdEltcGxpY2l0fFNyY01lbXxNb2RSTSwgc2ltZF9wYWNr ZWRfaW50LCBkOHNfdmwgfSwKICAgICBbMHhlMF0gPSB7IERzdEltcGxpY2l0fFNyY01lbXxNb2RS TSwgc2ltZF9wYWNrZWRfaW50LCBkOHNfdmwgfSwKLSAgICBbMHhlMSAuLi4gMHhlMl0gPSB7IERz dEltcGxpY2l0fFNyY01lbXxNb2RSTSwgc2ltZF8xMjggfSwKKyAgICBbMHhlMSAuLi4gMHhlMl0g PSB7IERzdEltcGxpY2l0fFNyY01lbXxNb2RSTSwgc2ltZF8xMjgsIDQgfSwKICAgICBbMHhlMyAu Li4gMHhlNV0gPSB7IERzdEltcGxpY2l0fFNyY01lbXxNb2RSTSwgc2ltZF9wYWNrZWRfaW50LCBk OHNfdmwgfSwKICAgICBbMHhlNl0gPSB7IERzdEltcGxpY2l0fFNyY01lbXxNb2RSTXxNb3YsIHNp bWRfb3RoZXIgfSwKICAgICBbMHhlN10gPSB7IERzdE1lbXxTcmNJbXBsaWNpdHxNb2RSTXxNb3Ys IHNpbWRfcGFja2VkX2ludCwgZDhzX3ZsIH0sCiAgICAgWzB4ZTggLi4uIDB4ZWZdID0geyBEc3RJ bXBsaWNpdHxTcmNNZW18TW9kUk0sIHNpbWRfcGFja2VkX2ludCwgZDhzX3ZsIH0sCiAgICAgWzB4 ZjBdID0geyBEc3RJbXBsaWNpdHxTcmNNZW18TW9kUk18TW92LCBzaW1kX290aGVyIH0sCi0gICAg WzB4ZjEgLi4uIDB4ZjNdID0geyBEc3RJbXBsaWNpdHxTcmNNZW18TW9kUk0sIHNpbWRfMTI4IH0s CisgICAgWzB4ZjEgLi4uIDB4ZjNdID0geyBEc3RJbXBsaWNpdHxTcmNNZW18TW9kUk0sIHNpbWRf MTI4LCA0IH0sCiAgICAgWzB4ZjQgLi4uIDB4ZjZdID0geyBEc3RJbXBsaWNpdHxTcmNNZW18TW9k Uk0sIHNpbWRfcGFja2VkX2ludCwgZDhzX3ZsIH0sCiAgICAgWzB4ZjddID0geyBEc3RNZW18U3Jj TWVtfE1vZFJNfE1vdiwgc2ltZF9wYWNrZWRfaW50IH0sCiAgICAgWzB4ZjggLi4uIDB4ZmVdID0g eyBEc3RJbXBsaWNpdHxTcmNNZW18TW9kUk0sIHNpbWRfcGFja2VkX2ludCwgZDhzX3ZsIH0sCkBA IC00MzQsOSArNDM0LDkgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBleHQwZjM4X3RhYmxlIHsKIH0g ZXh0MGYzOF90YWJsZVsyNTZdID0gewogICAgIFsweDAwIC4uLiAweDBiXSA9IHsgLnNpbWRfc2l6 ZSA9IHNpbWRfcGFja2VkX2ludCB9LAogICAgIFsweDBjIC4uLiAweDBmXSA9IHsgLnNpbWRfc2l6 ZSA9IHNpbWRfcGFja2VkX2ZwIH0sCi0gICAgWzB4MTBdID0geyAuc2ltZF9zaXplID0gc2ltZF9w YWNrZWRfaW50IH0sCisgICAgWzB4MTAgLi4uIDB4MTJdID0geyAuc2ltZF9zaXplID0gc2ltZF9w YWNrZWRfaW50LCAuZDhzID0gZDhzX3ZsIH0sCiAgICAgWzB4MTNdID0geyAuc2ltZF9zaXplID0g c2ltZF9vdGhlciwgLnR3b19vcCA9IDEgfSwKLSAgICBbMHgxNCAuLi4gMHgxNl0gPSB7IC5zaW1k X3NpemUgPSBzaW1kX3BhY2tlZF9mcCB9LAorICAgIFsweDE0IC4uLiAweDE2XSA9IHsgLnNpbWRf c2l6ZSA9IHNpbWRfcGFja2VkX2ZwLCAuZDhzID0gZDhzX3ZsIH0sCiAgICAgWzB4MTddID0geyAu c2ltZF9zaXplID0gc2ltZF9wYWNrZWRfaW50LCAudHdvX29wID0gMSB9LAogICAgIFsweDE4XSA9 IHsgLnNpbWRfc2l6ZSA9IHNpbWRfc2NhbGFyX29wYywgLnR3b19vcCA9IDEsIC5kOHMgPSAyIH0s CiAgICAgWzB4MTldID0geyAuc2ltZF9zaXplID0gc2ltZF9zY2FsYXJfb3BjLCAudHdvX29wID0g MSwgLmQ4cyA9IDMgfSwKQEAgLTQ1Myw3ICs0NTMsNyBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IGV4 dDBmMzhfdGFibGUgewogICAgIFsweDM2IC4uLiAweDNmXSA9IHsgLnNpbWRfc2l6ZSA9IHNpbWRf cGFja2VkX2ludCwgLmQ4cyA9IGQ4c192bCB9LAogICAgIFsweDQwXSA9IHsgLnNpbWRfc2l6ZSA9 IHNpbWRfcGFja2VkX2ludCwgLmQ4cyA9IGQ4c192bCB9LAogICAgIFsweDQxXSA9IHsgLnNpbWRf c2l6ZSA9IHNpbWRfcGFja2VkX2ludCwgLnR3b19vcCA9IDEgfSwKLSAgICBbMHg0NSAuLi4gMHg0 N10gPSB7IC5zaW1kX3NpemUgPSBzaW1kX3BhY2tlZF9pbnQgfSwKKyAgICBbMHg0NSAuLi4gMHg0 N10gPSB7IC5zaW1kX3NpemUgPSBzaW1kX3BhY2tlZF9pbnQsIC5kOHMgPSBkOHNfdmwgfSwKICAg ICBbMHg1OCAuLi4gMHg1OV0gPSB7IC5zaW1kX3NpemUgPSBzaW1kX290aGVyLCAudHdvX29wID0g MSB9LAogICAgIFsweDVhXSA9IHsgLnNpbWRfc2l6ZSA9IHNpbWRfMTI4LCAudHdvX29wID0gMSB9 LAogICAgIFsweDc4IC4uLiAweDc5XSA9IHsgLnNpbWRfc2l6ZSA9IHNpbWRfb3RoZXIsIC50d29f b3AgPSAxIH0sCkBAIC01OTkzLDEwICs1OTkzLDE1IEBAIHg4Nl9lbXVsYXRlKAogICAgIGNhc2Ug WDg2RU1VTF9PUENfRVZFWF82NigweDBmLCAweGRmKTogLyogdnBhbmRue2QscX0gW3h5el1tbS9t ZW0sW3h5el1tbSxbeHl6XW1te2t9ICovCiAgICAgY2FzZSBYODZFTVVMX09QQ19FVkVYXzY2KDB4 MGYsIDB4ZWIpOiAvKiB2cG9ye2QscX0gW3h5el1tbS9tZW0sW3h5el1tbSxbeHl6XW1te2t9ICov CiAgICAgY2FzZSBYODZFTVVMX09QQ19FVkVYXzY2KDB4MGYsIDB4ZWYpOiAvKiB2cHhvcntkLHF9 IFt4eXpdbW0vbWVtLFt4eXpdbW0sW3h5el1tbXtrfSAqLworICAgIGNhc2UgWDg2RU1VTF9PUENf RVZFWF82NigweDBmMzgsIDB4MTQpOiAvKiB2cHJvcnZ7ZCxxfSBbeHl6XW1tL21lbSxbeHl6XW1t LFt4eXpdbW17a30gKi8KKyAgICBjYXNlIFg4NkVNVUxfT1BDX0VWRVhfNjYoMHgwZjM4LCAweDE1 KTogLyogdnByb2x2e2QscX0gW3h5el1tbS9tZW0sW3h5el1tbSxbeHl6XW1te2t9ICovCiAgICAg Y2FzZSBYODZFTVVMX09QQ19FVkVYXzY2KDB4MGYzOCwgMHgzOSk6IC8qIHZwbWluc3tkLHF9IFt4 eXpdbW0vbWVtLFt4eXpdbW0sW3h5el1tbXtrfSAqLwogICAgIGNhc2UgWDg2RU1VTF9PUENfRVZF WF82NigweDBmMzgsIDB4M2IpOiAvKiB2cG1pbnV7ZCxxfSBbeHl6XW1tL21lbSxbeHl6XW1tLFt4 eXpdbW17a30gKi8KICAgICBjYXNlIFg4NkVNVUxfT1BDX0VWRVhfNjYoMHgwZjM4LCAweDNkKTog LyogdnBtYXhze2QscX0gW3h5el1tbS9tZW0sW3h5el1tbSxbeHl6XW1te2t9ICovCiAgICAgY2Fz ZSBYODZFTVVMX09QQ19FVkVYXzY2KDB4MGYzOCwgMHgzZik6IC8qIHZwbWF4dXtkLHF9IFt4eXpd bW0vbWVtLFt4eXpdbW0sW3h5el1tbXtrfSAqLworICAgIGNhc2UgWDg2RU1VTF9PUENfRVZFWF82 NigweDBmMzgsIDB4NDUpOiAvKiB2cHNybHZ7ZCxxfSBbeHl6XW1tL21lbSxbeHl6XW1tLFt4eXpd bW17a30gKi8KKyAgICBjYXNlIFg4NkVNVUxfT1BDX0VWRVhfNjYoMHgwZjM4LCAweDQ2KTogLyog dnBzcmF2e2QscX0gW3h5el1tbS9tZW0sW3h5el1tbSxbeHl6XW1te2t9ICovCisgICAgY2FzZSBY ODZFTVVMX09QQ19FVkVYXzY2KDB4MGYzOCwgMHg0Nyk6IC8qIHZwc2xsdntkLHF9IFt4eXpdbW0v bWVtLFt4eXpdbW0sW3h5el1tbXtrfSAqLwogICAgIGF2eDUxMmZfbm9fc2FlOgogICAgICAgICBo b3N0X2FuZF92Y3B1X211c3RfaGF2ZShhdng1MTJmKTsKICAgICAgICAgZ2VuZXJhdGVfZXhjZXB0 aW9uX2lmKGVhLnR5cGUgIT0gT1BfTUVNICYmIGV2ZXguYnJzLCBFWENfVUQpOwpAQCAtNjYxNyw2 ICs2NjIyLDkgQEAgeDg2X2VtdWxhdGUoCiAgICAgICAgIGdldF9mcHUoWDg2RU1VTF9GUFVfbW14 KTsKICAgICAgICAgZ290byBzaW1kXzBmX2NvbW1vbjsKIAorICAgIGNhc2UgWDg2RU1VTF9PUENf RVZFWF82NigweDBmLCAweGQxKTogLyogdnBzcmx3IHhtbS9tMTI4LFt4eXpdbW0sW3h5el1tbXtr fSAqLworICAgIGNhc2UgWDg2RU1VTF9PUENfRVZFWF82NigweDBmLCAweGUxKTogLyogdnBzcmF3 IHhtbS9tMTI4LFt4eXpdbW0sW3h5el1tbXtrfSAqLworICAgIGNhc2UgWDg2RU1VTF9PUENfRVZF WF82NigweDBmLCAweGYxKTogLyogdnBzbGx3IHhtbS9tMTI4LFt4eXpdbW0sW3h5el1tbXtrfSAq LwogICAgIGNhc2UgWDg2RU1VTF9PUENfRVZFWF82NigweDBmLCAweGY1KTogLyogdnBtYWRkd2Qg W3h5el1tbS9tZW0sW3h5el1tbSxbeHl6XW1te2t9ICovCiAgICAgY2FzZSBYODZFTVVMX09QQ19F VkVYXzY2KDB4MGYsIDB4ZjYpOiAvKiB2cHNhZGJ3IFt4eXpdbW0vbWVtLFt4eXpdbW0sW3h5el1t bXtrfSAqLwogICAgICAgICBmYXVsdF9zdXBwcmVzc2lvbiA9IGZhbHNlOwpAQCAtNjkxNiw2ICs2 OTI0LDM3IEBAIHg4Nl9lbXVsYXRlKAogICAgICAgICBBU1NFUlQoIXN0YXRlLT5zaW1kX3NpemUp OwogICAgICAgICBicmVhazsKIAorICAgIGNhc2UgWDg2RU1VTF9PUENfRVZFWF82NigweDBmLCAw eDcxKTogLyogR3JwMTIgKi8KKyAgICAgICAgc3dpdGNoICggbW9kcm1fcmVnICYgNyApCisgICAg ICAgIHsKKyAgICAgICAgY2FzZSAyOiAvKiB2cHNybHcgJGltbTgsW3h5el1tbS9tZW0sW3h5el1t bXtrfSAqLworICAgICAgICBjYXNlIDQ6IC8qIHZwc3JhdyAkaW1tOCxbeHl6XW1tL21lbSxbeHl6 XW1te2t9ICovCisgICAgICAgIGNhc2UgNjogLyogdnBzbGx3ICRpbW04LFt4eXpdbW0vbWVtLFt4 eXpdbW17a30gKi8KKyAgICAgICAgYXZ4NTEyYndfc2hpZnRfaW1tOgorICAgICAgICAgICAgZmF1 bHRfc3VwcHJlc3Npb24gPSBmYWxzZTsKKyAgICAgICAgICAgIG9wX2J5dGVzID0gMTYgPDwgZXZl eC5scjsKKyAgICAgICAgICAgIHN0YXRlLT5zaW1kX3NpemUgPSBzaW1kX3BhY2tlZF9pbnQ7Cisg ICAgICAgICAgICBnb3RvIGF2eDUxMmJ3X2ltbTsKKyAgICAgICAgfQorICAgICAgICBnb3RvIHVu cmVjb2duaXplZF9pbnNuOworCisgICAgY2FzZSBYODZFTVVMX09QQ19FVkVYXzY2KDB4MGYsIDB4 NzIpOiAvKiBHcnAxMyAqLworICAgICAgICBzd2l0Y2ggKCBtb2RybV9yZWcgJiA3ICkKKyAgICAg ICAgeworICAgICAgICBjYXNlIDI6IC8qIHZwc3JsZCAkaW1tOCxbeHl6XW1tL21lbSxbeHl6XW1t e2t9ICovCisgICAgICAgIGNhc2UgNjogLyogdnBzbGxkICRpbW04LFt4eXpdbW0vbWVtLFt4eXpd bW17a30gKi8KKyAgICAgICAgICAgIGdlbmVyYXRlX2V4Y2VwdGlvbl9pZihldmV4LncsIEVYQ19V RCk7CisgICAgICAgICAgICAvKiBmYWxsIHRocm91Z2ggKi8KKyAgICAgICAgY2FzZSAwOiAvKiB2 cHJvcntkLHF9ICRpbW04LFt4eXpdbW0vbWVtLFt4eXpdbW17a30gKi8KKyAgICAgICAgY2FzZSAx OiAvKiB2cHJvbHtkLHF9ICRpbW04LFt4eXpdbW0vbWVtLFt4eXpdbW17a30gKi8KKyAgICAgICAg Y2FzZSA0OiAvKiB2cHNyYXtkLHF9ICRpbW04LFt4eXpdbW0vbWVtLFt4eXpdbW17a30gKi8KKyAg ICAgICAgYXZ4NTEyZl9zaGlmdF9pbW06CisgICAgICAgICAgICBvcF9ieXRlcyA9IDE2IDw8IGV2 ZXgubHI7CisgICAgICAgICAgICBzdGF0ZS0+c2ltZF9zaXplID0gc2ltZF9wYWNrZWRfaW50Owor ICAgICAgICAgICAgZ290byBhdng1MTJmX2ltbThfbm9fc2FlOworICAgICAgICB9CisgICAgICAg IGdvdG8gdW5yZWNvZ25pemVkX2luc247CisKICAgICBjYXNlIFg4NkVNVUxfT1BDKDB4MGYsIDB4 NzMpOiAgICAgICAgLyogR3JwMTQgKi8KICAgICAgICAgc3dpdGNoICggbW9kcm1fcmVnICYgNyAp CiAgICAgICAgIHsKQEAgLTY5NDEsNiArNjk4MCwxOSBAQCB4ODZfZW11bGF0ZSgKICAgICAgICAg fQogICAgICAgICBnb3RvIHVucmVjb2duaXplZF9pbnNuOwogCisgICAgY2FzZSBYODZFTVVMX09Q Q19FVkVYXzY2KDB4MGYsIDB4NzMpOiAvKiBHcnAxNCAqLworICAgICAgICBzd2l0Y2ggKCBtb2Ry bV9yZWcgJiA3ICkKKyAgICAgICAgeworICAgICAgICBjYXNlIDI6IC8qIHZwc3JscSAkaW1tOCxb eHl6XW1tL21lbSxbeHl6XW1te2t9ICovCisgICAgICAgIGNhc2UgNjogLyogdnBzbGxxICRpbW04 LFt4eXpdbW0vbWVtLFt4eXpdbW17a30gKi8KKyAgICAgICAgICAgIGdlbmVyYXRlX2V4Y2VwdGlv bl9pZighZXZleC53LCBFWENfVUQpOworICAgICAgICAgICAgZ290byBhdng1MTJmX3NoaWZ0X2lt bTsKKyAgICAgICAgY2FzZSAzOiAvKiB2cHNybGRxICRpbW04LHt4LHl9bW0se3gseX1tbSAqLwor ICAgICAgICBjYXNlIDc6IC8qIHZwc2xsZHEgJGltbTgse3gseX1tbSx7eCx5fW1tICovCisgICAg ICAgICAgICBnb3RvIGF2eDUxMmJ3X3NoaWZ0X2ltbTsKKyAgICAgICAgfQorICAgICAgICBnb3Rv IHVucmVjb2duaXplZF9pbnNuOworCiAgICAgY2FzZSBYODZFTVVMX09QQygweDBmLCAweDc3KTog ICAgICAgIC8qIGVtbXMgKi8KICAgICBjYXNlIFg4NkVNVUxfT1BDX1ZFWCgweDBmLCAweDc3KTog ICAgLyogdnplcm97YWxsLHVwcGVyfSAqLwogICAgICAgICBpZiAoIHZleC5vcGN4ICE9IHZleF9u b25lICkKQEAgLTc4ODEsNiArNzkzMywxNiBAQCB4ODZfZW11bGF0ZSgKICAgICAgICAgfQogICAg ICAgICBicmVhazsKIAorICAgIGNhc2UgWDg2RU1VTF9PUENfRVZFWF82NigweDBmLCAweGQyKTog LyogdnBzcmxkIHhtbS9tMTI4LFt4eXpdbW0sW3h5el1tbXtrfSAqLworICAgIGNhc2UgWDg2RU1V TF9PUENfRVZFWF82NigweDBmLCAweGQzKTogLyogdnBzcmxxIHhtbS9tMTI4LFt4eXpdbW0sW3h5 el1tbXtrfSAqLworICAgIGNhc2UgWDg2RU1VTF9PUENfRVZFWF82NigweDBmLCAweGUyKTogLyog dnBzcmF7ZCxxfSB4bW0vbTEyOCxbeHl6XW1tLFt4eXpdbW17a30gKi8KKyAgICBjYXNlIFg4NkVN VUxfT1BDX0VWRVhfNjYoMHgwZiwgMHhmMik6IC8qIHZwc2xsZCB4bW0vbTEyOCxbeHl6XW1tLFt4 eXpdbW17a30gKi8KKyAgICBjYXNlIFg4NkVNVUxfT1BDX0VWRVhfNjYoMHgwZiwgMHhmMyk6IC8q IHZwc2xscSB4bW0vbTEyOCxbeHl6XW1tLFt4eXpdbW17a30gKi8KKyAgICAgICAgZ2VuZXJhdGVf ZXhjZXB0aW9uX2lmKGV2ZXguYnJzLCBFWENfVUQpOworICAgICAgICBmYXVsdF9zdXBwcmVzc2lv biA9IGZhbHNlOworICAgICAgICBpZiAoIGIgPT0gMHhlMiApCisgICAgICAgICAgICBnb3RvIGF2 eDUxMmZfbm9fc2FlOworICAgICAgICAvKiBmYWxsIHRocm91Z2ggKi8KICAgICBjYXNlIFg4NkVN VUxfT1BDX0VWRVhfNjYoMHgwZiwgMHhmYSk6IC8qIHZwc3ViZCBbeHl6XW1tL21lbSxbeHl6XW1t LFt4eXpdbW17a30gKi8KICAgICBjYXNlIFg4NkVNVUxfT1BDX0VWRVhfNjYoMHgwZiwgMHhmYik6 IC8qIHZwc3VicSBbeHl6XW1tL21lbSxbeHl6XW1tLFt4eXpdbW17a30gKi8KICAgICBjYXNlIFg4 NkVNVUxfT1BDX0VWRVhfNjYoMHgwZiwgMHhmZSk6IC8qIHZwYWRkZCBbeHl6XW1tL21lbSxbeHl6 XW1tLFt4eXpdbW17a30gKi8KQEAgLTgxMjEsNiArODE4MywxNCBAQCB4ODZfZW11bGF0ZSgKICAg ICAgICAgZHN0LnR5cGUgPSBPUF9OT05FOwogICAgICAgICBicmVhazsKIAorICAgIGNhc2UgWDg2 RU1VTF9PUENfRVZFWF82NigweDBmMzgsIDB4MTApOiAvKiB2cHNybHZ3IFt4eXpdbW0vbWVtLFt4 eXpdbW0sW3h5el1tbXtrfSAqLworICAgIGNhc2UgWDg2RU1VTF9PUENfRVZFWF82NigweDBmMzgs IDB4MTEpOiAvKiB2cHNyYXZ3IFt4eXpdbW0vbWVtLFt4eXpdbW0sW3h5el1tbXtrfSAqLworICAg IGNhc2UgWDg2RU1VTF9PUENfRVZFWF82NigweDBmMzgsIDB4MTIpOiAvKiB2cHNsbHZ3IFt4eXpd bW0vbWVtLFt4eXpdbW0sW3h5el1tbXtrfSAqLworICAgICAgICBob3N0X2FuZF92Y3B1X211c3Rf aGF2ZShhdng1MTJidyk7CisgICAgICAgIGdlbmVyYXRlX2V4Y2VwdGlvbl9pZighZXZleC53IHx8 IGV2ZXguYnJzLCBFWENfVUQpOworICAgICAgICBlbGVtX2J5dGVzID0gMjsKKyAgICAgICAgZ290 byBhdng1MTJmX25vX3NhZTsKKwogICAgIGNhc2UgWDg2RU1VTF9PUENfRVZFWF82NigweDBmMzgs IDB4MTgpOiAvKiB2YnJvYWRjYXN0c3MgeG1tL20zMixbeHl6XW1te2t9ICovCiAgICAgICAgIGdl bmVyYXRlX2V4Y2VwdGlvbl9pZihldmV4LncgfHwgZXZleC5icnMsIEVYQ19VRCk7CiAgICAgYXZ4 NTEyX2Jyb2FkY2FzdDoKQEAgLTg4ODIsNiArODk1Miw3IEBAIHg4Nl9lbXVsYXRlKAogICAgICAg ICBnZW5lcmF0ZV9leGNlcHRpb25faWYoIWV2ZXguciB8fCAhZXZleC5SIHx8IGV2ZXgueiwgRVhD X1VEKTsKICAgICAgICAgaWYgKCAhKGIgJiAweDIwKSApCiAgICAgICAgICAgICBnb3RvIGF2eDUx MmZfaW1tOF9ub19zYWU7CisgICAgYXZ4NTEyYndfaW1tOgogICAgICAgICBob3N0X2FuZF92Y3B1 X211c3RfaGF2ZShhdng1MTJidyk7CiAgICAgICAgIGdlbmVyYXRlX2V4Y2VwdGlvbl9pZihldmV4 LmJycywgRVhDX1VEKTsKICAgICAgICAgZWxlbV9ieXRlcyA9IDEgPDwgZXZleC53OwoKCgoKX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KWGVuLWRldmVsIG1h aWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKaHR0cHM6Ly9saXN0cy54 ZW5wcm9qZWN0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL3hlbi1kZXZlbA==