From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Jan Beulich" Subject: [PATCH v6 01/42] x86emul: support AVX512{F, BW} shift/rotate insns Date: Thu, 06 Dec 2018 02:51:14 -0700 Message-ID: <5C08F1120200007800203754@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 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 1gUqJV-0002fd-AX for xen-devel@lists.xenproject.org; Thu, 06 Dec 2018 09:51:21 +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 Tm90ZSB0aGF0IHNpbWRfcGFja2VkX2ZwIGZvciB0aGUgb3Bjb2RlIHNwYWNlIDBmMzggbWFqb3Ig b3Bjb2RlcyAxNCBhbmQKMTUgaXMgbm90IHJlYWxseSBjb3JyZWN0LCBidXQgc3VmZmljaWVudCBm b3IgdGhlIHB1cnBvc2VzIGhlcmUuIEZ1cnRoZXIKYWRqdXN0bWVudHMgbWF5IGxhdGVyIGJlIG5l ZWRlZCBmb3IgdGhlIGRvd24gY29udmVyc2lvbiB1bnNpZ25lZApzYXR1cmF0aW5nIFZQTU9WKiBp bnNucywgZmlyc3QgYW5kIGZvcmVtb3N0IGZvciB0aGUgZGlmZmVyZW50IERpc3A4CnNjYWxpbmcg dGhvc2Ugb25lcyB1c2UuCgpTaWduZWQtb2ZmLWJ5OiBKYW4gQmV1bGljaCA8amJldWxpY2hAc3Vz ZS5jb20+Ci0tLQp2MzogTmV3LgoKLS0tIGEvdG9vbHMvdGVzdHMveDg2X2VtdWxhdG9yL2V2ZXgt ZGlzcDguYworKysgYi90b29scy90ZXN0cy94ODZfZW11bGF0b3IvZXZleC1kaXNwOC5jCkBAIC0x NzgsNiArMTc4LDI0IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgdGVzdCBhdng1MTJmX2FsbFtdID0K ICAgICBJTlNOKHBtdWxsZCwgICAgICAgNjYsIDBmMzgsIDQwLCAgICB2bCwgICAgICBkLCB2bCks CiAgICAgSU5TTihwbXVsdWRxLCAgICAgIDY2LCAgIDBmLCBmNCwgICAgdmwsICAgICAgcSwgdmwp LAogICAgIElOU04ocG9yLCAgICAgICAgICA2NiwgICAwZiwgZWIsICAgIHZsLCAgICAgZHEsIHZs KSwKKyAgICBJTlNOWChwcm9sLCAgICAgICAgNjYsICAgMGYsIDcyLCAxLCB2bCwgICAgIGRxLCB2 bCksCisgICAgSU5TTihwcm9sdiwgICAgICAgIDY2LCAwZjM4LCAxNSwgICAgdmwsICAgICBkcSwg dmwpLAorICAgIElOU05YKHByb3IsICAgICAgICA2NiwgICAwZiwgNzIsIDAsIHZsLCAgICAgZHEs IHZsKSwKKyAgICBJTlNOKHByb3J2LCAgICAgICAgNjYsIDBmMzgsIDE0LCAgICB2bCwgICAgIGRx LCB2bCksCisgICAgSU5TTihwc2xsZCwgICAgICAgIDY2LCAgIDBmLCBmMiwgICAgZWxfNCwgICAg ZCwgdmwpLAorICAgIElOU05YKHBzbGxkLCAgICAgICA2NiwgICAwZiwgNzIsIDYsIHZsLCAgICAg IGQsIHZsKSwKKyAgICBJTlNOKHBzbGxxLCAgICAgICAgNjYsICAgMGYsIGYzLCAgICBlbF8yLCAg ICBxLCB2bCksCisgICAgSU5TTlgocHNsbHEsICAgICAgIDY2LCAgIDBmLCA3MywgNiwgdmwsICAg ICAgcSwgdmwpLAorICAgIElOU04ocHNsbHYsICAgICAgICA2NiwgMGYzOCwgNDcsICAgIHZsLCAg ICAgZHEsIHZsKSwKKyAgICBJTlNOWChwc3JhLCAgICAgICAgNjYsICAgMGYsIDcyLCA0LCB2bCwg ICAgIGRxLCB2bCksCisgICAgSU5TTihwc3JhZCwgICAgICAgIDY2LCAgIDBmLCBlMiwgICAgZWxf NCwgICAgZCwgdmwpLAorICAgIElOU04ocHNyYXEsICAgICAgICA2NiwgICAwZiwgZTIsICAgIGVs XzIsICAgIHEsIHZsKSwKKyAgICBJTlNOKHBzcmF2LCAgICAgICAgNjYsIDBmMzgsIDQ2LCAgICB2 bCwgICAgIGRxLCB2bCksCisgICAgSU5TTihwc3JsZCwgICAgICAgIDY2LCAgIDBmLCBkMiwgICAg ZWxfNCwgICAgZCwgdmwpLAorICAgIElOU05YKHBzcmxkLCAgICAgICA2NiwgICAwZiwgNzIsIDIs IHZsLCAgICAgIGQsIHZsKSwKKyAgICBJTlNOKHBzcmxxLCAgICAgICAgNjYsICAgMGYsIGQzLCAg ICBlbF8yLCAgICBxLCB2bCksCisgICAgSU5TTlgocHNybHEsICAgICAgIDY2LCAgIDBmLCA3Mywg MiwgdmwsICAgICAgcSwgdmwpLAorICAgIElOU04ocHNybHYsICAgICAgICA2NiwgMGYzOCwgNDUs ICAgIHZsLCAgICAgZHEsIHZsKSwKICAgICBJTlNOKHBzdWJkLCAgICAgICAgNjYsICAgMGYsIGZh LCAgICB2bCwgICAgICBkLCB2bCksCiAgICAgSU5TTihwc3VicSwgICAgICAgIDY2LCAgIDBmLCBm YiwgICAgdmwsICAgICAgcSwgdmwpLAogICAgIElOU04ocHRlcm5sb2csICAgICA2NiwgMGYzYSwg MjUsICAgIHZsLCAgICAgZHEsIHZsKSwKQEAgLTI0MSw2ICsyNTksMTcgQEAgc3RhdGljIGNvbnN0 IHN0cnVjdCB0ZXN0IGF2eDUxMmJ3X2FsbFtdCiAgICAgSU5TTihwbXVsaHcsICAgICAgNjYsICAg MGYsIGU1LCAgICB2bCwgICAgdywgdmwpLAogICAgIElOU04ocG11bGx3LCAgICAgIDY2LCAgIDBm LCBkNSwgICAgdmwsICAgIHcsIHZsKSwKICAgICBJTlNOKHBzYWRidywgICAgICA2NiwgICAwZiwg ZjYsICAgIHZsLCAgICBiLCB2bCksCisgICAgSU5TTlgocHNsbGRxLCAgICAgNjYsICAgMGYsIDcz LCA3LCB2bCwgICAgYiwgdmwpLAorICAgIElOU04ocHNsbHZ3LCAgICAgIDY2LCAwZjM4LCAxMiwg ICAgdmwsICAgIHcsIHZsKSwKKyAgICBJTlNOKHBzbGx3LCAgICAgICA2NiwgICAwZiwgZjEsICAg IGVsXzgsICB3LCB2bCksCisgICAgSU5TTlgocHNsbHcsICAgICAgNjYsICAgMGYsIDcxLCA2LCB2 bCwgICAgdywgdmwpLAorICAgIElOU04ocHNyYXZ3LCAgICAgIDY2LCAwZjM4LCAxMSwgICAgdmws ICAgIHcsIHZsKSwKKyAgICBJTlNOKHBzcmF3LCAgICAgICA2NiwgICAwZiwgZTEsICAgIGVsXzgs ICB3LCB2bCksCisgICAgSU5TTlgocHNyYXcsICAgICAgNjYsICAgMGYsIDcxLCA0LCB2bCwgICAg dywgdmwpLAorICAgIElOU05YKHBzcmxkcSwgICAgIDY2LCAgIDBmLCA3MywgMywgdmwsICAgIGIs IHZsKSwKKyAgICBJTlNOKHBzcmx2dywgICAgICA2NiwgMGYzOCwgMTAsICAgIHZsLCAgICB3LCB2 bCksCisgICAgSU5TTihwc3JsdywgICAgICAgNjYsICAgMGYsIGQxLCAgICBlbF84LCAgdywgdmwp LAorICAgIElOU05YKHBzcmx3LCAgICAgIDY2LCAgIDBmLCA3MSwgMiwgdmwsICAgIHcsIHZsKSwK ICAgICBJTlNOKHBzdWJiLCAgICAgICA2NiwgICAwZiwgZjgsICAgIHZsLCAgICBiLCB2bCksCiAg ICAgSU5TTihwc3Vic2IsICAgICAgNjYsICAgMGYsIGU4LCAgICB2bCwgICAgYiwgdmwpLAogICAg IElOU04ocHN1YnN3LCAgICAgIDY2LCAgIDBmLCBlOSwgICAgdmwsICAgIHcsIHZsKSwKLS0tIGEv eGVuL2FyY2gveDg2L3g4Nl9lbXVsYXRlL3g4Nl9lbXVsYXRlLmMKKysrIGIveGVuL2FyY2gveDg2 L3g4Nl9lbXVsYXRlL3g4Nl9lbXVsYXRlLmMKQEAgLTMxOSw3ICszMTksNyBAQCBzdGF0aWMgY29u c3Qgc3RydWN0IHR3b2J5dGVfdGFibGUgewogICAgIFsweDZlXSA9IHsgRHN0SW1wbGljaXR8U3Jj TWVtfE1vZFJNfE1vdiwgc2ltZF9ub25lLCBkOHNfZHE2NCB9LAogICAgIFsweDZmXSA9IHsgRHN0 SW1wbGljaXR8U3JjTWVtfE1vZFJNfE1vdiwgc2ltZF9wYWNrZWRfaW50LCBkOHNfdmwgfSwKICAg ICBbMHg3MF0gPSB7IFNyY0ltbUJ5dGV8TW9kUk18VHdvT3AsIHNpbWRfb3RoZXIgfSwKLSAgICBb MHg3MSAuLi4gMHg3M10gPSB7IERzdEltcGxpY2l0fFNyY0ltbUJ5dGV8TW9kUk0gfSwKKyAgICBb MHg3MSAuLi4gMHg3M10gPSB7IERzdEltcGxpY2l0fFNyY0ltbUJ5dGV8TW9kUk0sIHNpbWRfbm9u ZSwgZDhzX3ZsIH0sCiAgICAgWzB4NzQgLi4uIDB4NzZdID0geyBEc3RJbXBsaWNpdHxTcmNNZW18 TW9kUk0sIHNpbWRfcGFja2VkX2ludCwgZDhzX3ZsIH0sCiAgICAgWzB4NzddID0geyBEc3RJbXBs aWNpdHxTcmNOb25lIH0sCiAgICAgWzB4NzhdID0geyBJbXBsaWNpdE9wc3xNb2RSTSB9LApAQCAt MzY2LDE5ICszNjYsMTkgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCB0d29ieXRlX3RhYmxlIHsKICAg ICBbMHhjN10gPSB7IEltcGxpY2l0T3BzfE1vZFJNIH0sCiAgICAgWzB4YzggLi4uIDB4Y2ZdID0g eyBJbXBsaWNpdE9wcyB9LAogICAgIFsweGQwXSA9IHsgRHN0SW1wbGljaXR8U3JjTWVtfE1vZFJN LCBzaW1kX290aGVyIH0sCi0gICAgWzB4ZDEgLi4uIDB4ZDNdID0geyBEc3RJbXBsaWNpdHxTcmNN ZW18TW9kUk0sIHNpbWRfMTI4IH0sCisgICAgWzB4ZDEgLi4uIDB4ZDNdID0geyBEc3RJbXBsaWNp dHxTcmNNZW18TW9kUk0sIHNpbWRfMTI4LCA0IH0sCiAgICAgWzB4ZDQgLi4uIDB4ZDVdID0geyBE c3RJbXBsaWNpdHxTcmNNZW18TW9kUk0sIHNpbWRfcGFja2VkX2ludCwgZDhzX3ZsIH0sCiAgICAg WzB4ZDZdID0geyBEc3RNZW18U3JjSW1wbGljaXR8TW9kUk18TW92LCBzaW1kX290aGVyLCAzIH0s CiAgICAgWzB4ZDddID0geyBEc3RSZWd8U3JjSW1wbGljaXR8TW9kUk18TW92IH0sCiAgICAgWzB4 ZDggLi4uIDB4ZGZdID0geyBEc3RJbXBsaWNpdHxTcmNNZW18TW9kUk0sIHNpbWRfcGFja2VkX2lu dCwgZDhzX3ZsIH0sCiAgICAgWzB4ZTBdID0geyBEc3RJbXBsaWNpdHxTcmNNZW18TW9kUk0sIHNp bWRfcGFja2VkX2ludCwgZDhzX3ZsIH0sCi0gICAgWzB4ZTEgLi4uIDB4ZTJdID0geyBEc3RJbXBs aWNpdHxTcmNNZW18TW9kUk0sIHNpbWRfMTI4IH0sCisgICAgWzB4ZTEgLi4uIDB4ZTJdID0geyBE c3RJbXBsaWNpdHxTcmNNZW18TW9kUk0sIHNpbWRfMTI4LCA0IH0sCiAgICAgWzB4ZTMgLi4uIDB4 ZTVdID0geyBEc3RJbXBsaWNpdHxTcmNNZW18TW9kUk0sIHNpbWRfcGFja2VkX2ludCwgZDhzX3Zs IH0sCiAgICAgWzB4ZTZdID0geyBEc3RJbXBsaWNpdHxTcmNNZW18TW9kUk18TW92LCBzaW1kX290 aGVyIH0sCiAgICAgWzB4ZTddID0geyBEc3RNZW18U3JjSW1wbGljaXR8TW9kUk18TW92LCBzaW1k X3BhY2tlZF9pbnQsIGQ4c192bCB9LAogICAgIFsweGU4IC4uLiAweGVmXSA9IHsgRHN0SW1wbGlj aXR8U3JjTWVtfE1vZFJNLCBzaW1kX3BhY2tlZF9pbnQsIGQ4c192bCB9LAogICAgIFsweGYwXSA9 IHsgRHN0SW1wbGljaXR8U3JjTWVtfE1vZFJNfE1vdiwgc2ltZF9vdGhlciB9LAotICAgIFsweGYx IC4uLiAweGYzXSA9IHsgRHN0SW1wbGljaXR8U3JjTWVtfE1vZFJNLCBzaW1kXzEyOCB9LAorICAg IFsweGYxIC4uLiAweGYzXSA9IHsgRHN0SW1wbGljaXR8U3JjTWVtfE1vZFJNLCBzaW1kXzEyOCwg NCB9LAogICAgIFsweGY0IC4uLiAweGY2XSA9IHsgRHN0SW1wbGljaXR8U3JjTWVtfE1vZFJNLCBz aW1kX3BhY2tlZF9pbnQsIGQ4c192bCB9LAogICAgIFsweGY3XSA9IHsgRHN0TWVtfFNyY01lbXxN b2RSTXxNb3YsIHNpbWRfcGFja2VkX2ludCB9LAogICAgIFsweGY4IC4uLiAweGZlXSA9IHsgRHN0 SW1wbGljaXR8U3JjTWVtfE1vZFJNLCBzaW1kX3BhY2tlZF9pbnQsIGQ4c192bCB9LApAQCAtNDM0 LDkgKzQzNCw5IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgZXh0MGYzOF90YWJsZSB7CiB9IGV4dDBm MzhfdGFibGVbMjU2XSA9IHsKICAgICBbMHgwMCAuLi4gMHgwYl0gPSB7IC5zaW1kX3NpemUgPSBz aW1kX3BhY2tlZF9pbnQgfSwKICAgICBbMHgwYyAuLi4gMHgwZl0gPSB7IC5zaW1kX3NpemUgPSBz aW1kX3BhY2tlZF9mcCB9LAotICAgIFsweDEwXSA9IHsgLnNpbWRfc2l6ZSA9IHNpbWRfcGFja2Vk X2ludCB9LAorICAgIFsweDEwIC4uLiAweDEyXSA9IHsgLnNpbWRfc2l6ZSA9IHNpbWRfcGFja2Vk X2ludCwgLmQ4cyA9IGQ4c192bCB9LAogICAgIFsweDEzXSA9IHsgLnNpbWRfc2l6ZSA9IHNpbWRf b3RoZXIsIC50d29fb3AgPSAxIH0sCi0gICAgWzB4MTQgLi4uIDB4MTZdID0geyAuc2ltZF9zaXpl ID0gc2ltZF9wYWNrZWRfZnAgfSwKKyAgICBbMHgxNCAuLi4gMHgxNl0gPSB7IC5zaW1kX3NpemUg PSBzaW1kX3BhY2tlZF9mcCwgLmQ4cyA9IGQ4c192bCB9LAogICAgIFsweDE3XSA9IHsgLnNpbWRf c2l6ZSA9IHNpbWRfcGFja2VkX2ludCwgLnR3b19vcCA9IDEgfSwKICAgICBbMHgxOF0gPSB7IC5z aW1kX3NpemUgPSBzaW1kX3NjYWxhcl9vcGMsIC50d29fb3AgPSAxLCAuZDhzID0gMiB9LAogICAg IFsweDE5XSA9IHsgLnNpbWRfc2l6ZSA9IHNpbWRfc2NhbGFyX29wYywgLnR3b19vcCA9IDEsIC5k OHMgPSAzIH0sCkBAIC00NTMsNyArNDUzLDcgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBleHQwZjM4 X3RhYmxlIHsKICAgICBbMHgzNiAuLi4gMHgzZl0gPSB7IC5zaW1kX3NpemUgPSBzaW1kX3BhY2tl ZF9pbnQsIC5kOHMgPSBkOHNfdmwgfSwKICAgICBbMHg0MF0gPSB7IC5zaW1kX3NpemUgPSBzaW1k X3BhY2tlZF9pbnQsIC5kOHMgPSBkOHNfdmwgfSwKICAgICBbMHg0MV0gPSB7IC5zaW1kX3NpemUg PSBzaW1kX3BhY2tlZF9pbnQsIC50d29fb3AgPSAxIH0sCi0gICAgWzB4NDUgLi4uIDB4NDddID0g eyAuc2ltZF9zaXplID0gc2ltZF9wYWNrZWRfaW50IH0sCisgICAgWzB4NDUgLi4uIDB4NDddID0g eyAuc2ltZF9zaXplID0gc2ltZF9wYWNrZWRfaW50LCAuZDhzID0gZDhzX3ZsIH0sCiAgICAgWzB4 NTggLi4uIDB4NTldID0geyAuc2ltZF9zaXplID0gc2ltZF9vdGhlciwgLnR3b19vcCA9IDEgfSwK ICAgICBbMHg1YV0gPSB7IC5zaW1kX3NpemUgPSBzaW1kXzEyOCwgLnR3b19vcCA9IDEgfSwKICAg ICBbMHg3OCAuLi4gMHg3OV0gPSB7IC5zaW1kX3NpemUgPSBzaW1kX290aGVyLCAudHdvX29wID0g MSB9LApAQCAtNTk4NywxMCArNTk4NywxNSBAQCB4ODZfZW11bGF0ZSgKICAgICBjYXNlIFg4NkVN VUxfT1BDX0VWRVhfNjYoMHgwZiwgMHhkZik6IC8qIHZwYW5kbntkLHF9IFt4eXpdbW0vbWVtLFt4 eXpdbW0sW3h5el1tbXtrfSAqLwogICAgIGNhc2UgWDg2RU1VTF9PUENfRVZFWF82NigweDBmLCAw eGViKTogLyogdnBvcntkLHF9IFt4eXpdbW0vbWVtLFt4eXpdbW0sW3h5el1tbXtrfSAqLwogICAg IGNhc2UgWDg2RU1VTF9PUENfRVZFWF82NigweDBmLCAweGVmKTogLyogdnB4b3J7ZCxxfSBbeHl6 XW1tL21lbSxbeHl6XW1tLFt4eXpdbW17a30gKi8KKyAgICBjYXNlIFg4NkVNVUxfT1BDX0VWRVhf NjYoMHgwZjM4LCAweDE0KTogLyogdnByb3J2e2QscX0gW3h5el1tbS9tZW0sW3h5el1tbSxbeHl6 XW1te2t9ICovCisgICAgY2FzZSBYODZFTVVMX09QQ19FVkVYXzY2KDB4MGYzOCwgMHgxNSk6IC8q IHZwcm9sdntkLHF9IFt4eXpdbW0vbWVtLFt4eXpdbW0sW3h5el1tbXtrfSAqLwogICAgIGNhc2Ug WDg2RU1VTF9PUENfRVZFWF82NigweDBmMzgsIDB4MzkpOiAvKiB2cG1pbnN7ZCxxfSBbeHl6XW1t L21lbSxbeHl6XW1tLFt4eXpdbW17a30gKi8KICAgICBjYXNlIFg4NkVNVUxfT1BDX0VWRVhfNjYo MHgwZjM4LCAweDNiKTogLyogdnBtaW51e2QscX0gW3h5el1tbS9tZW0sW3h5el1tbSxbeHl6XW1t e2t9ICovCiAgICAgY2FzZSBYODZFTVVMX09QQ19FVkVYXzY2KDB4MGYzOCwgMHgzZCk6IC8qIHZw bWF4c3tkLHF9IFt4eXpdbW0vbWVtLFt4eXpdbW0sW3h5el1tbXtrfSAqLwogICAgIGNhc2UgWDg2 RU1VTF9PUENfRVZFWF82NigweDBmMzgsIDB4M2YpOiAvKiB2cG1heHV7ZCxxfSBbeHl6XW1tL21l bSxbeHl6XW1tLFt4eXpdbW17a30gKi8KKyAgICBjYXNlIFg4NkVNVUxfT1BDX0VWRVhfNjYoMHgw ZjM4LCAweDQ1KTogLyogdnBzcmx2e2QscX0gW3h5el1tbS9tZW0sW3h5el1tbSxbeHl6XW1te2t9 ICovCisgICAgY2FzZSBYODZFTVVMX09QQ19FVkVYXzY2KDB4MGYzOCwgMHg0Nik6IC8qIHZwc3Jh dntkLHF9IFt4eXpdbW0vbWVtLFt4eXpdbW0sW3h5el1tbXtrfSAqLworICAgIGNhc2UgWDg2RU1V TF9PUENfRVZFWF82NigweDBmMzgsIDB4NDcpOiAvKiB2cHNsbHZ7ZCxxfSBbeHl6XW1tL21lbSxb eHl6XW1tLFt4eXpdbW17a30gKi8KICAgICBhdng1MTJmX25vX3NhZToKICAgICAgICAgaG9zdF9h bmRfdmNwdV9tdXN0X2hhdmUoYXZ4NTEyZik7CiAgICAgICAgIGdlbmVyYXRlX2V4Y2VwdGlvbl9p ZihlYS50eXBlICE9IE9QX01FTSAmJiBldmV4LmJyLCBFWENfVUQpOwpAQCAtNjYwOCw2ICs2NjEz LDkgQEAgeDg2X2VtdWxhdGUoCiAgICAgICAgIGdldF9mcHUoWDg2RU1VTF9GUFVfbW14KTsKICAg ICAgICAgZ290byBzaW1kXzBmX2NvbW1vbjsKIAorICAgIGNhc2UgWDg2RU1VTF9PUENfRVZFWF82 NigweDBmLCAweGQxKTogLyogdnBzcmx3IHhtbS9tMTI4LFt4eXpdbW0sW3h5el1tbXtrfSAqLwor ICAgIGNhc2UgWDg2RU1VTF9PUENfRVZFWF82NigweDBmLCAweGUxKTogLyogdnBzcmF3IHhtbS9t MTI4LFt4eXpdbW0sW3h5el1tbXtrfSAqLworICAgIGNhc2UgWDg2RU1VTF9PUENfRVZFWF82Nigw eDBmLCAweGYxKTogLyogdnBzbGx3IHhtbS9tMTI4LFt4eXpdbW0sW3h5el1tbXtrfSAqLwogICAg IGNhc2UgWDg2RU1VTF9PUENfRVZFWF82NigweDBmLCAweGY1KTogLyogdnBtYWRkd2QgW3h5el1t bS9tZW0sW3h5el1tbSxbeHl6XW1te2t9ICovCiAgICAgY2FzZSBYODZFTVVMX09QQ19FVkVYXzY2 KDB4MGYsIDB4ZjYpOiAvKiB2cHNhZGJ3IFt4eXpdbW0vbWVtLFt4eXpdbW0sW3h5el1tbXtrfSAq LwogICAgICAgICBmYXVsdF9zdXBwcmVzc2lvbiA9IGZhbHNlOwpAQCAtNjkwNyw2ICs2OTE1LDM3 IEBAIHg4Nl9lbXVsYXRlKAogICAgICAgICBBU1NFUlQoIXN0YXRlLT5zaW1kX3NpemUpOwogICAg ICAgICBicmVhazsKIAorICAgIGNhc2UgWDg2RU1VTF9PUENfRVZFWF82NigweDBmLCAweDcxKTog LyogR3JwMTIgKi8KKyAgICAgICAgc3dpdGNoICggbW9kcm1fcmVnICYgNyApCisgICAgICAgIHsK KyAgICAgICAgY2FzZSAyOiAvKiB2cHNybHcgJGltbTgsW3h5el1tbS9tZW0sW3h5el1tbXtrfSAq LworICAgICAgICBjYXNlIDQ6IC8qIHZwc3JhdyAkaW1tOCxbeHl6XW1tL21lbSxbeHl6XW1te2t9 ICovCisgICAgICAgIGNhc2UgNjogLyogdnBzbGx3ICRpbW04LFt4eXpdbW0vbWVtLFt4eXpdbW17 a30gKi8KKyAgICAgICAgYXZ4NTEyYndfc2hpZnRfaW1tOgorICAgICAgICAgICAgZmF1bHRfc3Vw cHJlc3Npb24gPSBmYWxzZTsKKyAgICAgICAgICAgIG9wX2J5dGVzID0gMTYgPDwgZXZleC5scjsK KyAgICAgICAgICAgIHN0YXRlLT5zaW1kX3NpemUgPSBzaW1kX3BhY2tlZF9pbnQ7CisgICAgICAg ICAgICBnb3RvIGF2eDUxMmJ3X2ltbTsKKyAgICAgICAgfQorICAgICAgICBnb3RvIHVucmVjb2du aXplZF9pbnNuOworCisgICAgY2FzZSBYODZFTVVMX09QQ19FVkVYXzY2KDB4MGYsIDB4NzIpOiAv KiBHcnAxMyAqLworICAgICAgICBzd2l0Y2ggKCBtb2RybV9yZWcgJiA3ICkKKyAgICAgICAgewor ICAgICAgICBjYXNlIDI6IC8qIHZwc3JsZCAkaW1tOCxbeHl6XW1tL21lbSxbeHl6XW1te2t9ICov CisgICAgICAgIGNhc2UgNjogLyogdnBzbGxkICRpbW04LFt4eXpdbW0vbWVtLFt4eXpdbW17a30g Ki8KKyAgICAgICAgICAgIGdlbmVyYXRlX2V4Y2VwdGlvbl9pZihldmV4LncsIEVYQ19VRCk7Cisg ICAgICAgICAgICAvKiBmYWxsIHRocm91Z2ggKi8KKyAgICAgICAgY2FzZSAwOiAvKiB2cHJvcntk LHF9ICRpbW04LFt4eXpdbW0vbWVtLFt4eXpdbW17a30gKi8KKyAgICAgICAgY2FzZSAxOiAvKiB2 cHJvbHtkLHF9ICRpbW04LFt4eXpdbW0vbWVtLFt4eXpdbW17a30gKi8KKyAgICAgICAgY2FzZSA0 OiAvKiB2cHNyYXtkLHF9ICRpbW04LFt4eXpdbW0vbWVtLFt4eXpdbW17a30gKi8KKyAgICAgICAg YXZ4NTEyZl9zaGlmdF9pbW06CisgICAgICAgICAgICBvcF9ieXRlcyA9IDE2IDw8IGV2ZXgubHI7 CisgICAgICAgICAgICBzdGF0ZS0+c2ltZF9zaXplID0gc2ltZF9wYWNrZWRfaW50OworICAgICAg ICAgICAgZ290byBhdng1MTJmX2ltbThfbm9fc2FlOworICAgICAgICB9CisgICAgICAgIGdvdG8g dW5yZWNvZ25pemVkX2luc247CisKICAgICBjYXNlIFg4NkVNVUxfT1BDKDB4MGYsIDB4NzMpOiAg ICAgICAgLyogR3JwMTQgKi8KICAgICAgICAgc3dpdGNoICggbW9kcm1fcmVnICYgNyApCiAgICAg ICAgIHsKQEAgLTY5MzIsNiArNjk3MSwxOSBAQCB4ODZfZW11bGF0ZSgKICAgICAgICAgfQogICAg ICAgICBnb3RvIHVucmVjb2duaXplZF9pbnNuOwogCisgICAgY2FzZSBYODZFTVVMX09QQ19FVkVY XzY2KDB4MGYsIDB4NzMpOiAvKiBHcnAxNCAqLworICAgICAgICBzd2l0Y2ggKCBtb2RybV9yZWcg JiA3ICkKKyAgICAgICAgeworICAgICAgICBjYXNlIDI6IC8qIHZwc3JscSAkaW1tOCxbeHl6XW1t L21lbSxbeHl6XW1te2t9ICovCisgICAgICAgIGNhc2UgNjogLyogdnBzbGxxICRpbW04LFt4eXpd bW0vbWVtLFt4eXpdbW17a30gKi8KKyAgICAgICAgICAgIGdlbmVyYXRlX2V4Y2VwdGlvbl9pZigh ZXZleC53LCBFWENfVUQpOworICAgICAgICAgICAgZ290byBhdng1MTJmX3NoaWZ0X2ltbTsKKyAg ICAgICAgY2FzZSAzOiAvKiB2cHNybGRxICRpbW04LHt4LHl9bW0se3gseX1tbSAqLworICAgICAg ICBjYXNlIDc6IC8qIHZwc2xsZHEgJGltbTgse3gseX1tbSx7eCx5fW1tICovCisgICAgICAgICAg ICBnb3RvIGF2eDUxMmJ3X3NoaWZ0X2ltbTsKKyAgICAgICAgfQorICAgICAgICBnb3RvIHVucmVj b2duaXplZF9pbnNuOworCiAgICAgY2FzZSBYODZFTVVMX09QQygweDBmLCAweDc3KTogICAgICAg IC8qIGVtbXMgKi8KICAgICBjYXNlIFg4NkVNVUxfT1BDX1ZFWCgweDBmLCAweDc3KTogICAgLyog dnplcm97YWxsLHVwcGVyfSAqLwogICAgICAgICBpZiAoIHZleC5vcGN4ICE9IHZleF9ub25lICkK QEAgLTc4NjksNiArNzkyMSwxNiBAQCB4ODZfZW11bGF0ZSgKICAgICAgICAgfQogICAgICAgICBi cmVhazsKIAorICAgIGNhc2UgWDg2RU1VTF9PUENfRVZFWF82NigweDBmLCAweGQyKTogLyogdnBz cmxkIHhtbS9tMTI4LFt4eXpdbW0sW3h5el1tbXtrfSAqLworICAgIGNhc2UgWDg2RU1VTF9PUENf RVZFWF82NigweDBmLCAweGQzKTogLyogdnBzcmxxIHhtbS9tMTI4LFt4eXpdbW0sW3h5el1tbXtr fSAqLworICAgIGNhc2UgWDg2RU1VTF9PUENfRVZFWF82NigweDBmLCAweGUyKTogLyogdnBzcmF7 ZCxxfSB4bW0vbTEyOCxbeHl6XW1tLFt4eXpdbW17a30gKi8KKyAgICBjYXNlIFg4NkVNVUxfT1BD X0VWRVhfNjYoMHgwZiwgMHhmMik6IC8qIHZwc2xsZCB4bW0vbTEyOCxbeHl6XW1tLFt4eXpdbW17 a30gKi8KKyAgICBjYXNlIFg4NkVNVUxfT1BDX0VWRVhfNjYoMHgwZiwgMHhmMyk6IC8qIHZwc2xs cSB4bW0vbTEyOCxbeHl6XW1tLFt4eXpdbW17a30gKi8KKyAgICAgICAgZ2VuZXJhdGVfZXhjZXB0 aW9uX2lmKGV2ZXguYnIsIEVYQ19VRCk7CisgICAgICAgIGZhdWx0X3N1cHByZXNzaW9uID0gZmFs c2U7CisgICAgICAgIGlmICggYiA9PSAweGUyICkKKyAgICAgICAgICAgIGdvdG8gYXZ4NTEyZl9u b19zYWU7CisgICAgICAgIC8qIGZhbGwgdGhyb3VnaCAqLwogICAgIGNhc2UgWDg2RU1VTF9PUENf RVZFWF82NigweDBmLCAweGZhKTogLyogdnBzdWJkIFt4eXpdbW0vbWVtLFt4eXpdbW0sW3h5el1t bXtrfSAqLwogICAgIGNhc2UgWDg2RU1VTF9PUENfRVZFWF82NigweDBmLCAweGZiKTogLyogdnBz dWJxIFt4eXpdbW0vbWVtLFt4eXpdbW0sW3h5el1tbXtrfSAqLwogICAgIGNhc2UgWDg2RU1VTF9P UENfRVZFWF82NigweDBmLCAweGZlKTogLyogdnBhZGRkIFt4eXpdbW0vbWVtLFt4eXpdbW0sW3h5 el1tbXtrfSAqLwpAQCAtODEwOSw2ICs4MTcxLDE0IEBAIHg4Nl9lbXVsYXRlKAogICAgICAgICBk c3QudHlwZSA9IE9QX05PTkU7CiAgICAgICAgIGJyZWFrOwogCisgICAgY2FzZSBYODZFTVVMX09Q Q19FVkVYXzY2KDB4MGYzOCwgMHgxMCk6IC8qIHZwc3JsdncgW3h5el1tbS9tZW0sW3h5el1tbSxb eHl6XW1te2t9ICovCisgICAgY2FzZSBYODZFTVVMX09QQ19FVkVYXzY2KDB4MGYzOCwgMHgxMSk6 IC8qIHZwc3JhdncgW3h5el1tbS9tZW0sW3h5el1tbSxbeHl6XW1te2t9ICovCisgICAgY2FzZSBY ODZFTVVMX09QQ19FVkVYXzY2KDB4MGYzOCwgMHgxMik6IC8qIHZwc2xsdncgW3h5el1tbS9tZW0s W3h5el1tbSxbeHl6XW1te2t9ICovCisgICAgICAgIGhvc3RfYW5kX3ZjcHVfbXVzdF9oYXZlKGF2 eDUxMmJ3KTsKKyAgICAgICAgZ2VuZXJhdGVfZXhjZXB0aW9uX2lmKGV2ZXguYnIsIEVYQ19VRCk7 CisgICAgICAgIGVsZW1fYnl0ZXMgPSAxIDw8IGV2ZXgudzsKKyAgICAgICAgZ290byBhdng1MTJm X25vX3NhZTsKKwogICAgIGNhc2UgWDg2RU1VTF9PUENfRVZFWF82NigweDBmMzgsIDB4MTgpOiAv KiB2YnJvYWRjYXN0c3MgeG1tL20zMixbeHl6XW1te2t9ICovCiAgICAgICAgIGdlbmVyYXRlX2V4 Y2VwdGlvbl9pZihldmV4LncgfHwgZXZleC5iciwgRVhDX1VEKTsKICAgICBhdng1MTJfYnJvYWRj YXN0OgpAQCAtODg2Nyw2ICs4OTM3LDcgQEAgeDg2X2VtdWxhdGUoCiAgICAgICAgIGdlbmVyYXRl X2V4Y2VwdGlvbl9pZighZXZleC5yIHx8ICFldmV4LlIgfHwgZXZleC56LCBFWENfVUQpOwogICAg ICAgICBpZiAoICEoYiAmIDB4MjApICkKICAgICAgICAgICAgIGdvdG8gYXZ4NTEyZl9pbW04X25v X3NhZTsKKyAgICBhdng1MTJid19pbW06CiAgICAgICAgIGhvc3RfYW5kX3ZjcHVfbXVzdF9oYXZl KGF2eDUxMmJ3KTsKICAgICAgICAgZ2VuZXJhdGVfZXhjZXB0aW9uX2lmKGV2ZXguYnIsIEVYQ19V RCk7CiAgICAgICAgIGVsZW1fYnl0ZXMgPSAxIDw8IGV2ZXgudzsKCgoKCl9fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fClhlbi1kZXZlbCBtYWlsaW5nIGxpc3QK WGVuLWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnCmh0dHBzOi8vbGlzdHMueGVucHJvamVjdC5v cmcvbWFpbG1hbi9saXN0aW5mby94ZW4tZGV2ZWw=