From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Jan Beulich" Subject: [PATCH v6 10/42] x86emul: support AVX512{F, BW, _VBMI} full permute insns Date: Thu, 06 Dec 2018 02:55:11 -0700 Message-ID: <5C08F1FF02000078002037CA@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 1gUqNI-0003Xk-6K for xen-devel@lists.xenproject.org; Thu, 06 Dec 2018 09:55:16 +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 VGFrZSB0aGUgbGliZXJ0eSBhbmQgYWxzbyBjb3JyZWN0IHRoZSAocHVibGljIGludGVyZmFjZSkg bmFtZSBvZiB0aGUKQVZYNTEyX1ZCTUkgZmVhdHVyZSBmbGFnLCBvbiB0aGUgYXNzdW1wdGlvbiB0 aGF0IG5vIGV4dGVybmFsIGNvbnN1bWVyCmhhcyBhY3R1YWxseSBiZWVuIHVzaW5nIHRoYXQgZmxh ZyBzbyBmYXIuIEZ1cnRoZXJtb3JlIG1ha2UgaXQgaGF2ZQpBVlg1MTJCVyBpbnN0ZWFkIG9mIEFW WDUxMkYgYXMgYSBwcmVyZXF1aXNpdGUsIGZvciByZXF1aXJpbmcgZnVsbAo2NC1iaXQgbWFzayBy ZWdpc3RlcnMgKHRoZSB1cHBlciA0OCBiaXRzIG9mIHdoaWNoIGNhbid0IGJlIGFjY2Vzc2VkCm90 aGVyIHRoYW4gdGhyb3VnaCBYU0FWRS9YUlNUT1Igd2l0aG91dCBBVlg1MTJCVyBzdXBwb3J0KS4K ClNpZ25lZC1vZmYtYnk6IEphbiBCZXVsaWNoIDxqYmV1bGljaEBzdXNlLmNvbT4KLS0tCnY1OiBS ZS1iYXNlLgp2MzogTmV3LgoKLS0tIGEvdG9vbHMvdGVzdHMveDg2X2VtdWxhdG9yL2V2ZXgtZGlz cDguYworKysgYi90b29scy90ZXN0cy94ODZfZW11bGF0b3IvZXZleC1kaXNwOC5jCkBAIC0xNzMs NiArMTczLDEwIEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgdGVzdCBhdng1MTJmX2FsbFtdID0KICAg ICBJTlNOKHBjbXBndGQsICAgICAgNjYsICAgMGYsIDY2LCAgICB2bCwgICAgICBkLCB2bCksCiAg ICAgSU5TTihwY21wZ3RxLCAgICAgIDY2LCAwZjM4LCAzNywgICAgdmwsICAgICAgcSwgdmwpLAog ICAgIElOU04ocGNtcHUsICAgICAgICA2NiwgMGYzYSwgMWUsICAgIHZsLCAgICAgZHEsIHZsKSwK KyAgICBJTlNOKHBlcm1pMiwgICAgICAgNjYsIDBmMzgsIDc2LCAgICB2bCwgICAgIGRxLCB2bCks CisgICAgSU5TTihwZXJtaTIsICAgICAgIDY2LCAwZjM4LCA3NywgICAgdmwsICAgICBzZCwgdmwp LAorICAgIElOU04ocGVybXQyLCAgICAgICA2NiwgMGYzOCwgN2UsICAgIHZsLCAgICAgZHEsIHZs KSwKKyAgICBJTlNOKHBlcm10MiwgICAgICAgNjYsIDBmMzgsIDdmLCAgICB2bCwgICAgIHNkLCB2 bCksCiAgICAgSU5TTihwbWF4cywgICAgICAgIDY2LCAwZjM4LCAzZCwgICAgdmwsICAgICBkcSwg dmwpLAogICAgIElOU04ocG1heHUsICAgICAgICA2NiwgMGYzOCwgM2YsICAgIHZsLCAgICAgZHEs IHZsKSwKICAgICBJTlNOKHBtaW5zLCAgICAgICAgNjYsIDBmMzgsIDM5LCAgICB2bCwgICAgIGRx LCB2bCksCkBAIC0yOTQsNiArMjk4LDggQEAgc3RhdGljIGNvbnN0IHN0cnVjdCB0ZXN0IGF2eDUx MmJ3X2FsbFtdCiAgICAgSU5TTihwY21wZ3RiLCAgICAgNjYsICAgMGYsIDY0LCAgICB2bCwgICAg YiwgdmwpLAogICAgIElOU04ocGNtcGd0dywgICAgIDY2LCAgIDBmLCA2NSwgICAgdmwsICAgIHcs IHZsKSwKICAgICBJTlNOKHBjbXB1LCAgICAgICA2NiwgMGYzYSwgM2UsICAgIHZsLCAgIGJ3LCB2 bCksCisgICAgSU5TTihwZXJtaTJ3LCAgICAgNjYsIDBmMzgsIDc1LCAgICB2bCwgICAgdywgdmwp LAorICAgIElOU04ocGVybXQydywgICAgIDY2LCAwZjM4LCA3ZCwgICAgdmwsICAgIHcsIHZsKSwK ICAgICBJTlNOKHBtYWRkd2QsICAgICA2NiwgICAwZiwgZjUsICAgIHZsLCAgICB3LCB2bCksCiAg ICAgSU5TTihwbWF4c2IsICAgICAgNjYsIDBmMzgsIDNjLCAgICB2bCwgICAgYiwgdmwpLAogICAg IElOU04ocG1heHN3LCAgICAgIDY2LCAgIDBmLCBlZSwgICAgdmwsICAgIHcsIHZsKSwKQEAgLTM3 OCw2ICszODQsMTEgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCB0ZXN0IGF2eDUxMmRxXzUxMltdCiAg ICAgSU5TTihpbnNlcnRpMzJ4OCwgICAgNjYsIDBmM2EsIDNhLCBlbF84LCBkLCB2bCksCiB9Owog CitzdGF0aWMgY29uc3Qgc3RydWN0IHRlc3QgYXZ4NTEyX3ZibWlfYWxsW10gPSB7CisgICAgSU5T TihwZXJtaTJiLCAgICAgICA2NiwgMGYzOCwgNzUsIHZsLCBiLCB2bCksCisgICAgSU5TTihwZXJt dDJiLCAgICAgICA2NiwgMGYzOCwgN2QsIHZsLCBiLCB2bCksCit9OworCiBzdGF0aWMgY29uc3Qg dW5zaWduZWQgY2hhciB2bF9hbGxbXSA9IHsgVkxfNTEyLCBWTF8xMjgsIFZMXzI1NiB9Owogc3Rh dGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgdmxfMTI4W10gPSB7IFZMXzEyOCB9Owogc3RhdGljIGNv bnN0IHVuc2lnbmVkIGNoYXIgdmxfbm8xMjhbXSA9IHsgVkxfNTEyLCBWTF8yNTYgfTsKQEAgLTcx OCw0ICs3MjksNSBAQCB2b2lkIGV2ZXhfZGlzcDhfdGVzdCh2b2lkICppbnN0ciwgc3RydWN0CiAg ICAgUlVOKGF2eDUxMmRxLCAxMjgpOwogICAgIFJVTihhdng1MTJkcSwgbm8xMjgpOwogICAgIFJV Tihhdng1MTJkcSwgNTEyKTsKKyAgICBSVU4oYXZ4NTEyX3ZibWksIGFsbCk7CiB9Ci0tLSBhL3Rv b2xzL3Rlc3RzL3g4Nl9lbXVsYXRvci9zaW1kLmMKKysrIGIvdG9vbHMvdGVzdHMveDg2X2VtdWxh dG9yL3NpbWQuYwpAQCAtMTUwLDYgKzE1MCw5IEBAIHN0YXRpYyBpbmxpbmUgYm9vbCBfdG9fYm9v bChieXRlX3ZlY190IGIKICMgICBkZWZpbmUgaW50ZXJsZWF2ZV9oaSh4LCB5KSBCKHVucGNraHBz LCBfbWFzaywgeCwgeSwgdW5kZWYoKSwgfjApCiAjICAgZGVmaW5lIGludGVybGVhdmVfbG8oeCwg eSkgQih1bnBja2xwcywgX21hc2ssIHgsIHksIHVuZGVmKCksIH4wKQogIyAgIGRlZmluZSBzd2Fw KHgpIEIoc2h1ZnBzLCBfbWFzaywgeCwgeCwgMGIwMDAxMTAxMSwgdW5kZWYoKSwgfjApCisjICBl bHNlCisjICAgZGVmaW5lIGludGVybGVhdmVfaGkoeCwgeSkgQih2cGVybWkydmFycHMsIF9tYXNr LCB4LCBpbnRlcmxlYXZlX2hpLCB5LCB+MCkKKyMgICBkZWZpbmUgaW50ZXJsZWF2ZV9sbyh4LCB5 KSBCKHZwZXJtdDJ2YXJwcywgX21hc2ssIGludGVybGVhdmVfbG8sIHgsIHksIH4wKQogIyAgZW5k aWYKICMgZWxpZiBGTE9BVF9TSVpFID09IDgKICMgIGlmIFZFQ19TSVpFID49IDMyCkBAIC0xNzUs NiArMTc4LDkgQEAgc3RhdGljIGlubGluZSBib29sIF90b19ib29sKGJ5dGVfdmVjX3QgYgogIyAg IGRlZmluZSBpbnRlcmxlYXZlX2hpKHgsIHkpIEIodW5wY2tocGQsIF9tYXNrLCB4LCB5LCB1bmRl ZigpLCB+MCkKICMgICBkZWZpbmUgaW50ZXJsZWF2ZV9sbyh4LCB5KSBCKHVucGNrbHBkLCBfbWFz aywgeCwgeSwgdW5kZWYoKSwgfjApCiAjICAgZGVmaW5lIHN3YXAoeCkgQihzaHVmcGQsIF9tYXNr LCB4LCB4LCAwYjAxLCB1bmRlZigpLCB+MCkKKyMgIGVsc2UKKyMgICBkZWZpbmUgaW50ZXJsZWF2 ZV9oaSh4LCB5KSBCKHZwZXJtaTJ2YXJwZCwgX21hc2ssIHgsIGludGVybGVhdmVfaGksIHksIH4w KQorIyAgIGRlZmluZSBpbnRlcmxlYXZlX2xvKHgsIHkpIEIodnBlcm10MnZhcnBkLCBfbWFzaywg aW50ZXJsZWF2ZV9sbywgeCwgeSwgfjApCiAjICBlbmRpZgogIyBlbmRpZgogI2VsaWYgRkxPQVRf U0laRSA9PSA0ICYmIGRlZmluZWQoX19TU0VfXykKQEAgLTMwMyw2ICszMDksOSBAQCBzdGF0aWMg aW5saW5lIGJvb2wgX3RvX2Jvb2woYnl0ZV92ZWNfdCBiCiAjICBpZiBWRUNfU0laRSA9PSAxNgog IyAgIGRlZmluZSBpbnRlcmxlYXZlX2hpKHgsIHkpICgodmVjX3QpQihwdW5wY2toZHEsIF9tYXNr LCAodnNpX3QpKHgpLCAodnNpX3QpKHkpLCAodnNpX3QpdW5kZWYoKSwgfjApKQogIyAgIGRlZmlu ZSBpbnRlcmxlYXZlX2xvKHgsIHkpICgodmVjX3QpQihwdW5wY2tsZHEsIF9tYXNrLCAodnNpX3Qp KHgpLCAodnNpX3QpKHkpLCAodnNpX3QpdW5kZWYoKSwgfjApKQorIyAgZWxzZQorIyAgIGRlZmlu ZSBpbnRlcmxlYXZlX2hpKHgsIHkpICgodmVjX3QpQih2cGVybWkydmFyZCwgX21hc2ssICh2c2lf dCkoeCksIGludGVybGVhdmVfaGksICh2c2lfdCkoeSksIH4wKSkKKyMgICBkZWZpbmUgaW50ZXJs ZWF2ZV9sbyh4LCB5KSAoKHZlY190KUIodnBlcm10MnZhcmQsIF9tYXNrLCBpbnRlcmxlYXZlX2xv LCAodnNpX3QpKHgpLCAodnNpX3QpKHkpLCB+MCkpCiAjICBlbmRpZgogIyAgZGVmaW5lIG1peCh4 LCB5KSAoKHZlY190KUIobW92ZHFhMzJfLCBfbWFzaywgKHZzaV90KSh4KSwgKHZzaV90KSh5KSwg XAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDBiMDEwMTAxMDEwMTAxMDEwMSAmICgo MSA8PCBFTEVNX0NPVU5UKSAtIDEpKSkpCkBAIC0zMjQsNiArMzMzLDkgQEAgc3RhdGljIGlubGlu ZSBib29sIF90b19ib29sKGJ5dGVfdmVjX3QgYgogIyAgaWYgVkVDX1NJWkUgPT0gMTYKICMgICBk ZWZpbmUgaW50ZXJsZWF2ZV9oaSh4LCB5KSAoKHZlY190KUIocHVucGNraHFkcSwgX21hc2ssICh2 ZGlfdCkoeCksICh2ZGlfdCkoeSksICh2ZGlfdCl1bmRlZigpLCB+MCkpCiAjICAgZGVmaW5lIGlu dGVybGVhdmVfbG8oeCwgeSkgKCh2ZWNfdClCKHB1bnBja2xxZHEsIF9tYXNrLCAodmRpX3QpKHgp LCAodmRpX3QpKHkpLCAodmRpX3QpdW5kZWYoKSwgfjApKQorIyAgZWxzZQorIyAgIGRlZmluZSBp bnRlcmxlYXZlX2hpKHgsIHkpICgodmVjX3QpQih2cGVybWkydmFycSwgX21hc2ssICh2ZGlfdCko eCksIGludGVybGVhdmVfaGksICh2ZGlfdCkoeSksIH4wKSkKKyMgICBkZWZpbmUgaW50ZXJsZWF2 ZV9sbyh4LCB5KSAoKHZlY190KUIodnBlcm10MnZhcnEsIF9tYXNrLCBpbnRlcmxlYXZlX2xvLCAo dmRpX3QpKHgpLCAodmRpX3QpKHkpLCB+MCkpCiAjICBlbmRpZgogIyAgZGVmaW5lIG1peCh4LCB5 KSAoKHZlY190KUIobW92ZHFhNjRfLCBfbWFzaywgKHZkaV90KSh4KSwgKHZkaV90KSh5KSwgMGIw MTAxMDEwMSkpCiAjIGVuZGlmCkBAIC03NjksNiArNzgxLDcgQEAgaW50IHNpbWRfdGVzdCh2b2lk KQogewogICAgIHVuc2lnbmVkIGludCBpLCBqOwogICAgIHZlY190IHgsIHksIHosIHNyYywgaW52 LCBhbHQsIHNoOworICAgIHZpbnRfdCBpbnRlcmxlYXZlX2xvLCBpbnRlcmxlYXZlX2hpOwogCiAg ICAgZm9yICggaSA9IDAsIGogPSBFTEVNX1NJWkUgPDwgMzsgaSA8IEVMRU1fQ09VTlQ7ICsraSAp CiAgICAgewpAQCAtNzgyLDYgKzc5NSw5IEBAIGludCBzaW1kX3Rlc3Qodm9pZCkKICAgICAgICAg aWYgKCAhKGkgJiAoaSArIDEpKSApCiAgICAgICAgICAgICAtLWo7CiAgICAgICAgIHNoW2ldID0g ajsKKworICAgICAgICBpbnRlcmxlYXZlX2xvW2ldID0gKChpICYgMSkgKiBFTEVNX0NPVU5UKSB8 IChpID4+IDEpOworICAgICAgICBpbnRlcmxlYXZlX2hpW2ldID0gaW50ZXJsZWF2ZV9sb1tpXSAr IChFTEVNX0NPVU5UIC8gMik7CiAgICAgfQogCiAgICAgdG91Y2goc3JjKTsKQEAgLTEwNzUsNyAr MTA5MSw3IEBAIGludCBzaW1kX3Rlc3Qodm9pZCkKICAgICB4ID0gc3JjICogYWx0OwogICAgIHkg PSBpbnRlcmxlYXZlX2xvKHgsIGFsdCA8IDApOwogICAgIHRvdWNoKHgpOwotICAgIHogPSB3aWRl bjEoeCk7CisgICAgeiA9IHdpZGVuMShsb3dfaGFsZih4KSk7CiAgICAgdG91Y2goeCk7CiAgICAg aWYgKCAhZXEoeiwgeSkgKSByZXR1cm4gX19MSU5FX187CiAKQEAgLTExMDcsNyArMTEyMyw3IEBA IGludCBzaW1kX3Rlc3Qodm9pZCkKIAogIyBpZmRlZiB3aWRlbjEKICAgICB0b3VjaChzcmMpOwot ICAgIHggPSB3aWRlbjEoc3JjKTsKKyAgICB4ID0gd2lkZW4xKGxvd19oYWxmKHNyYykpOwogICAg IHRvdWNoKHNyYyk7CiAgICAgaWYgKCAhZXEoeCwgeSkgKSByZXR1cm4gX19MSU5FX187CiAjIGVu ZGlmCi0tLSBhL3Rvb2xzL3Rlc3RzL3g4Nl9lbXVsYXRvci9zaW1kLmgKKysrIGIvdG9vbHMvdGVz dHMveDg2X2VtdWxhdG9yL3NpbWQuaApAQCAtNzAsNiArNzAsMTYgQEAgdHlwZWRlZiBpbnQgX19h dHRyaWJ1dGVfXygodmVjdG9yX3NpemUoVgogdHlwZWRlZiBsb25nIGxvbmcgX19hdHRyaWJ1dGVf XygodmVjdG9yX3NpemUoVkVDX1NJWkUpKSkgdmRpX3Q7CiAjZW5kaWYKIAorI2lmIEVMRU1fU0la RSA9PSAxCit0eXBlZGVmIHZxaV90IHZpbnRfdDsKKyNlbGlmIEVMRU1fU0laRSA9PSAyCit0eXBl ZGVmIHZoaV90IHZpbnRfdDsKKyNlbGlmIEVMRU1fU0laRSA9PSA0Cit0eXBlZGVmIHZzaV90IHZp bnRfdDsKKyNlbGlmIEVMRU1fU0laRSA9PSA4Cit0eXBlZGVmIHZkaV90IHZpbnRfdDsKKyNlbmRp ZgorCiAjaWYgVkVDX1NJWkUgPj0gMTYKIAogIyBpZiBFTEVNX0NPVU5UID49IDIKLS0tIGEvdG9v bHMvdGVzdHMveDg2X2VtdWxhdG9yL3g4Ni1lbXVsYXRlLmgKKysrIGIvdG9vbHMvdGVzdHMveDg2 X2VtdWxhdG9yL3g4Ni1lbXVsYXRlLmgKQEAgLTEzNiw2ICsxMzYsNyBAQCBzdGF0aWMgaW5saW5l IGJvb2wgeGNyMF9tYXNrKHVpbnQ2NF90IG1hCiAjZGVmaW5lIGNwdV9oYXNfYXZ4NTEyZHEgIChj cC5mZWF0LmF2eDUxMmRxICYmIHhjcjBfbWFzaygweGU2KSkKICNkZWZpbmUgY3B1X2hhc19hdng1 MTJidyAgKGNwLmZlYXQuYXZ4NTEyYncgJiYgeGNyMF9tYXNrKDB4ZTYpKQogI2RlZmluZSBjcHVf aGFzX2F2eDUxMnZsICAoY3AuZmVhdC5hdng1MTJ2bCAmJiB4Y3IwX21hc2soMHhlNikpCisjZGVm aW5lIGNwdV9oYXNfYXZ4NTEyX3ZibWkgKGNwLmZlYXQuYXZ4NTEyX3ZibWkgJiYgeGNyMF9tYXNr KDB4ZTYpKQogCiAjZGVmaW5lIGNwdV9oYXNfeGdldGJ2MSAgIChjcHVfaGFzX3hzYXZlICYmIGNw LnhzdGF0ZS54Z2V0YnYxKQogCi0tLSBhL3hlbi9hcmNoL3g4Ni94ODZfZW11bGF0ZS94ODZfZW11 bGF0ZS5jCisrKyBiL3hlbi9hcmNoL3g4Ni94ODZfZW11bGF0ZS94ODZfZW11bGF0ZS5jCkBAIC00 NjgsOSArNDY4LDEzIEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgZXh0MGYzOF90YWJsZSB7CiAgICAg WzB4NTldID0geyAuc2ltZF9zaXplID0gc2ltZF9vdGhlciwgLnR3b19vcCA9IDEsIC5kOHMgPSAz IH0sCiAgICAgWzB4NWFdID0geyAuc2ltZF9zaXplID0gc2ltZF8xMjgsIC50d29fb3AgPSAxLCAu ZDhzID0gNCB9LAogICAgIFsweDViXSA9IHsgLnNpbWRfc2l6ZSA9IHNpbWRfMjU2LCAudHdvX29w ID0gMSwgLmQ4cyA9IGQ4c192bF9ieV8yIH0sCisgICAgWzB4NzUgLi4uIDB4NzZdID0geyAuc2lt ZF9zaXplID0gc2ltZF9wYWNrZWRfaW50LCAuZDhzID0gZDhzX3ZsIH0sCisgICAgWzB4NzddID0g eyAuc2ltZF9zaXplID0gc2ltZF9wYWNrZWRfZnAsIC5kOHMgPSBkOHNfdmwgfSwKICAgICBbMHg3 OF0gPSB7IC5zaW1kX3NpemUgPSBzaW1kX290aGVyLCAudHdvX29wID0gMSB9LAogICAgIFsweDc5 XSA9IHsgLnNpbWRfc2l6ZSA9IHNpbWRfb3RoZXIsIC50d29fb3AgPSAxLCAuZDhzID0gMSB9LAog ICAgIFsweDdhIC4uLiAweDdjXSA9IHsgLnNpbWRfc2l6ZSA9IHNpbWRfbm9uZSwgLnR3b19vcCA9 IDEgfSwKKyAgICBbMHg3ZCAuLi4gMHg3ZV0gPSB7IC5zaW1kX3NpemUgPSBzaW1kX3BhY2tlZF9p bnQsIC5kOHMgPSBkOHNfdmwgfSwKKyAgICBbMHg3Zl0gPSB7IC5zaW1kX3NpemUgPSBzaW1kX3Bh Y2tlZF9mcCwgLmQ4cyA9IGQ4c192bCB9LAogICAgIFsweDhjXSA9IHsgLnNpbWRfc2l6ZSA9IHNp bWRfcGFja2VkX2ludCB9LAogICAgIFsweDhlXSA9IHsgLnNpbWRfc2l6ZSA9IHNpbWRfcGFja2Vk X2ludCwgLnRvX21lbSA9IDEgfSwKICAgICBbMHg5MCAuLi4gMHg5M10gPSB7IC5zaW1kX3NpemUg PSBzaW1kX290aGVyLCAudnNpYiA9IDEgfSwKQEAgLTE4NjEsNiArMTg2NSw3IEBAIHN0YXRpYyBi b29sIHZjcHVfaGFzKAogI2RlZmluZSB2Y3B1X2hhc19zaGEoKSAgICAgICAgIHZjcHVfaGFzKCAg ICAgICAgIDcsIEVCWCwgMjksIGN0eHQsIG9wcykKICNkZWZpbmUgdmNwdV9oYXNfYXZ4NTEyYnco KSAgICB2Y3B1X2hhcyggICAgICAgICA3LCBFQlgsIDMwLCBjdHh0LCBvcHMpCiAjZGVmaW5lIHZj cHVfaGFzX2F2eDUxMnZsKCkgICAgdmNwdV9oYXMoICAgICAgICAgNywgRUJYLCAzMSwgY3R4dCwg b3BzKQorI2RlZmluZSB2Y3B1X2hhc19hdng1MTJfdmJtaSgpIHZjcHVfaGFzKCAgICAgICAgIDcs IEVDWCwgIDEsIGN0eHQsIG9wcykKICNkZWZpbmUgdmNwdV9oYXNfcmRwaWQoKSAgICAgICB2Y3B1 X2hhcyggICAgICAgICA3LCBFQ1gsIDIyLCBjdHh0LCBvcHMpCiAjZGVmaW5lIHZjcHVfaGFzX2Ns emVybygpICAgICAgdmNwdV9oYXMoMHg4MDAwMDAwOCwgRUJYLCAgMCwgY3R4dCwgb3BzKQogCkBA IC02MDI3LDYgKzYwMzIsMTEgQEAgeDg2X2VtdWxhdGUoCiAgICAgQ0FTRV9TSU1EX1BBQ0tFRF9G UChfRVZFWCwgMHgwZiwgMHgxNSk6IC8qIHZ1bnBja2hwe3MsZH0gW3h5el1tbS9tZW0sW3h5el1t bSxbeHl6XW1te2t9ICovCiAgICAgICAgIGdlbmVyYXRlX2V4Y2VwdGlvbl9pZihldmV4LncgIT0g KGV2ZXgucGZ4ICYgVkVYX1BSRUZJWF9ET1VCTEVfTUFTSyksCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBFWENfVUQpOworICAgICAgICAvKiBmYWxsIHRocm91Z2ggKi8KKyAgICBjYXNl IFg4NkVNVUxfT1BDX0VWRVhfNjYoMHgwZjM4LCAweDc2KTogLyogdnBlcm1pMntkLHF9IFt4eXpd bW0vbWVtLFt4eXpdbW0sW3h5el1tbXtrfSAqLworICAgIGNhc2UgWDg2RU1VTF9PUENfRVZFWF82 NigweDBmMzgsIDB4NzcpOiAvKiB2cGVybWkycHtzLGR9IFt4eXpdbW0vbWVtLFt4eXpdbW0sW3h5 el1tbXtrfSAqLworICAgIGNhc2UgWDg2RU1VTF9PUENfRVZFWF82NigweDBmMzgsIDB4N2UpOiAv KiB2cGVybXQye2QscX0gW3h5el1tbS9tZW0sW3h5el1tbSxbeHl6XW1te2t9ICovCisgICAgY2Fz ZSBYODZFTVVMX09QQ19FVkVYXzY2KDB4MGYzOCwgMHg3Zik6IC8qIHZwZXJtdDJwe3MsZH0gW3h5 el1tbS9tZW0sW3h5el1tbSxbeHl6XW1te2t9ICovCiAgICAgICAgIGZhdWx0X3N1cHByZXNzaW9u ID0gZmFsc2U7CiAgICAgICAgIC8qIGZhbGwgdGhyb3VnaCAqLwogICAgIGNhc2UgWDg2RU1VTF9P UENfRVZFWF82NigweDBmLCAweGRiKTogLyogdnBhbmR7ZCxxfSBbeHl6XW1tL21lbSxbeHl6XW1t LFt4eXpdbW17a30gKi8KQEAgLTg1MzksNiArODU0OSwxNiBAQCB4ODZfZW11bGF0ZSgKICAgICAg ICAgZ2VuZXJhdGVfZXhjZXB0aW9uX2lmKGVhLnR5cGUgIT0gT1BfTUVNIHx8ICF2ZXgubCB8fCB2 ZXgudywgRVhDX1VEKTsKICAgICAgICAgZ290byBzaW1kXzBmX2F2eDI7CiAKKyAgICBjYXNlIFg4 NkVNVUxfT1BDX0VWRVhfNjYoMHgwZjM4LCAweDc1KTogLyogdnBlcm1pMntiLHd9IFt4eXpdbW0v bWVtLFt4eXpdbW0sW3h5el1tbXtrfSAqLworICAgIGNhc2UgWDg2RU1VTF9PUENfRVZFWF82Nigw eDBmMzgsIDB4N2QpOiAvKiB2cGVybXQye2Isd30gW3h5el1tbS9tZW0sW3h5el1tbSxbeHl6XW1t e2t9ICovCisgICAgICAgIGlmICggIWV2ZXgudyApCisgICAgICAgICAgICBob3N0X2FuZF92Y3B1 X211c3RfaGF2ZShhdng1MTJfdmJtaSk7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIGhvc3Rf YW5kX3ZjcHVfbXVzdF9oYXZlKGF2eDUxMmJ3KTsKKyAgICAgICAgZ2VuZXJhdGVfZXhjZXB0aW9u X2lmKGV2ZXguYnIsIEVYQ19VRCk7CisgICAgICAgIGZhdWx0X3N1cHByZXNzaW9uID0gZmFsc2U7 CisgICAgICAgIGdvdG8gYXZ4NTEyZl9ub19zYWU7CisKICAgICBjYXNlIFg4NkVNVUxfT1BDX0VW RVhfNjYoMHgwZjM4LCAweDc4KTogLyogdnBicm9hZGNhc3RiIHhtbS9tOCxbeHl6XW1te2t9ICov CiAgICAgY2FzZSBYODZFTVVMX09QQ19FVkVYXzY2KDB4MGYzOCwgMHg3OSk6IC8qIHZwYnJvYWRj YXN0dyB4bW0vbTE2LFt4eXpdbW17a30gKi8KICAgICAgICAgaG9zdF9hbmRfdmNwdV9tdXN0X2hh dmUoYXZ4NTEyYncpOwotLS0gYS94ZW4vaW5jbHVkZS9hc20teDg2L2NwdWZlYXR1cmUuaAorKysg Yi94ZW4vaW5jbHVkZS9hc20teDg2L2NwdWZlYXR1cmUuaApAQCAtMTA3LDYgKzEwNyw5IEBACiAj ZGVmaW5lIGNwdV9oYXNfYXZ4NTEyYncgICAgICAgIGJvb3RfY3B1X2hhcyhYODZfRkVBVFVSRV9B Vlg1MTJCVykKICNkZWZpbmUgY3B1X2hhc19hdng1MTJ2bCAgICAgICAgYm9vdF9jcHVfaGFzKFg4 Nl9GRUFUVVJFX0FWWDUxMlZMKQogCisvKiBDUFVJRCBsZXZlbCAweDAwMDAwMDA3OjAuZWN4ICov CisjZGVmaW5lIGNwdV9oYXNfYXZ4NTEyX3ZibWkgICAgIGJvb3RfY3B1X2hhcyhYODZfRkVBVFVS RV9BVlg1MTJfVkJNSSkKKwogLyogQ1BVSUQgbGV2ZWwgMHg4MDAwMDAwNy5lZHggKi8KICNkZWZp bmUgY3B1X2hhc19pdHNjICAgICAgICAgICAgYm9vdF9jcHVfaGFzKFg4Nl9GRUFUVVJFX0lUU0Mp CiAKLS0tIGEveGVuL2luY2x1ZGUvcHVibGljL2FyY2gteDg2L2NwdWZlYXR1cmVzZXQuaAorKysg Yi94ZW4vaW5jbHVkZS9wdWJsaWMvYXJjaC14ODYvY3B1ZmVhdHVyZXNldC5oCkBAIC0yMjQsNyAr MjI0LDcgQEAgWEVOX0NQVUZFQVRVUkUoQVZYNTEyVkwsICAgICAgNSozMiszMSkgLwogCiAvKiBJ bnRlbC1kZWZpbmVkIENQVSBmZWF0dXJlcywgQ1BVSUQgbGV2ZWwgMHgwMDAwMDAwNzowLmVjeCwg d29yZCA2ICovCiBYRU5fQ1BVRkVBVFVSRShQUkVGRVRDSFdUMSwgICA2KjMyKyAwKSAvKkEgIFBS RUZFVENIV1QxIGluc3RydWN0aW9uICovCi1YRU5fQ1BVRkVBVFVSRShBVlg1MTJWQk1JLCAgICA2 KjMyKyAxKSAvKkEgIEFWWC01MTIgVmVjdG9yIEJ5dGUgTWFuaXB1bGF0aW9uIEluc3RycyAqLwor WEVOX0NQVUZFQVRVUkUoQVZYNTEyX1ZCTUksICAgNiozMisgMSkgLypBICBBVlgtNTEyIFZlY3Rv ciBCeXRlIE1hbmlwdWxhdGlvbiBJbnN0cnMgKi8KIFhFTl9DUFVGRUFUVVJFKFVNSVAsICAgICAg ICAgIDYqMzIrIDIpIC8qUyAgVXNlciBNb2RlIEluc3RydWN0aW9uIFByZXZlbnRpb24gKi8KIFhF Tl9DUFVGRUFUVVJFKFBLVSwgICAgICAgICAgIDYqMzIrIDMpIC8qSCAgUHJvdGVjdGlvbiBLZXlz IGZvciBVc2Vyc3BhY2UgKi8KIFhFTl9DUFVGRUFUVVJFKE9TUEtFLCAgICAgICAgIDYqMzIrIDQp IC8qISAgT1MgUHJvdGVjdGlvbiBLZXlzIEVuYWJsZSAqLwotLS0gYS94ZW4vdG9vbHMvZ2VuLWNw dWlkLnB5CisrKyBiL3hlbi90b29scy9nZW4tY3B1aWQucHkKQEAgLTI1OSwxMiArMjU5LDE3IEBA IGRlZiBjcnVuY2hfbnVtYmVycyhzdGF0ZSk6CiAgICAgICAgIEFWWDI6IFtBVlg1MTJGXSwKIAog ICAgICAgICAjIEFWWDUxMkYgaXMgdGFrZW4gdG8gbWVhbiBoYXJkd2FyZSBzdXBwb3J0IGZvciA1 MTJiaXQgcmVnaXN0ZXJzCi0gICAgICAgICMgKHdoaWNoIGluIHByYWN0aWNlIGRlcGVuZHMgb24g dGhlIEVWRVggcHJlZml4IHRvIGVuY29kZSksIGFuZCB0aGUKLSAgICAgICAgIyBpbnN0cnVjdGlv bnMgdGhlbXNlbHZlcy4gQWxsIGZ1cnRoZXIgQVZYNTEyIGZlYXR1cmVzIGFyZSBidWlsdCBvbgot ICAgICAgICAjIHRvcCBvZiBBVlg1MTJGCisgICAgICAgICMgKHdoaWNoIGluIHByYWN0aWNlIGRl cGVuZHMgb24gdGhlIEVWRVggcHJlZml4IHRvIGVuY29kZSkgYXMgd2VsbAorICAgICAgICAjIGFz IG1hc2sgcmVnaXN0ZXJzLCBhbmQgdGhlIGluc3RydWN0aW9ucyB0aGVtc2VsdmVzLiBBbGwgZnVy dGhlcgorICAgICAgICAjIEFWWDUxMiBmZWF0dXJlcyBhcmUgYnVpbHQgb24gdG9wIG9mIEFWWDUx MkYKICAgICAgICAgQVZYNTEyRjogW0FWWDUxMkRRLCBBVlg1MTJJRk1BLCBBVlg1MTJQRiwgQVZY NTEyRVIsIEFWWDUxMkNELAotICAgICAgICAgICAgICAgICAgQVZYNTEyQlcsIEFWWDUxMlZMLCBB Vlg1MTJWQk1JLCBBVlg1MTJfNFZOTklXLAotICAgICAgICAgICAgICAgICAgQVZYNTEyXzRGTUFQ UywgQVZYNTEyX1ZQT1BDTlREUV0sCisgICAgICAgICAgICAgICAgICBBVlg1MTJCVywgQVZYNTEy VkwsIEFWWDUxMl80Vk5OSVcsIEFWWDUxMl80Rk1BUFMsCisgICAgICAgICAgICAgICAgICBBVlg1 MTJfVlBPUENOVERRXSwKKworICAgICAgICAjIEFWWDUxMiBleHRlbnNpb25zIGFjdGluZyBzb2xl bHkgb24gdmVjdG9ycyBvZiBieXRlcy93b3JkcyBhcmUgbWFkZQorICAgICAgICAjIGRlcGVuZGVu dHMgb2YgQVZYNTEyQlcgKGFzIHRvIHJlcXVpcmluZyB3aWRlciB0aGFuIDE2LWJpdCBtYXNrCisg ICAgICAgICMgcmVnaXN0ZXJzKSwgZGVzcGl0ZSB0aGUgU0RNIG5vdCBmb3JtYWxseSBtYWtpbmcg dGhpcyBjb25uZWN0aW9uLgorICAgICAgICBBVlg1MTJCVzogW0FWWDUxMl9WQk1JXSwKIAogICAg ICAgICAjIFRoZSBmZWF0dXJlczoKICAgICAgICAgIyAgICogU2luZ2xlIFRocmVhZCBJbmRpcmVj dCBCcmFuY2ggUHJlZGljdG9ycwoKCgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX18KWGVuLWRldmVsIG1haWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlzdHMueGVu cHJvamVjdC5vcmcKaHR0cHM6Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9tYWlsbWFuL2xpc3RpbmZv L3hlbi1kZXZlbA==