From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Jan Beulich" Subject: [PATCH v8 50/50] x86emul: add a PCLMUL/VPCLMUL test case to the harness Date: Fri, 15 Mar 2019 05:08:32 -0600 Message-ID: <5C8B87B0020000780021F32F@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 1h4khW-0002LL-DM for xen-devel@lists.xenproject.org; Fri, 15 Mar 2019 11:08:34 +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 QWxzbyB1c2UgdGhpcyBmb3IgQVZYNTEyX1ZCTUkyIFZQU0h7TCxSfUR7LFZ9e0QsUSxXfSB0ZXN0 aW5nIChvbmx5IHRoZQpxdWFkIHdvcmQgcmlnaHQgc2hpZnRzIGdldCBhY3R1YWxseSB1c2VkOyB0 aGUgYXNzdW1wdGlvbiBpcyB0aGF0IHRoZWlyCiJsZWZ0IiBjb3VudGVycGFydHMgYXMgd2VsbCBh cyB0aGUgZG91YmxlIHdvcmQgYW5kIHdvcmQgZm9ybXMgdGhlbiB3b3JrCmFzIHdlbGwpLgoKU2ln bmVkLW9mZi1ieTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgotLS0Kdjg6IE5ldy4K Ci0tLSBhL3Rvb2xzL3Rlc3RzL3g4Nl9lbXVsYXRvci9NYWtlZmlsZQorKysgYi90b29scy90ZXN0 cy94ODZfZW11bGF0b3IvTWFrZWZpbGUKQEAgLTIwLDkgKzIwLDEwIEBAIFNJTUQgOj0gM2Rub3cg c3NlIHNzZTIgc3NlNCBhdnggYXZ4MiB4b3AKIEZNQSA6PSBmbWE0IGZtYQogU0cgOj0gYXZ4Mi1z ZyBhdng1MTJmLXNnIGF2eDUxMnZsLXNnCiBBRVMgOj0gc3NzZTMtYWVzIGF2eC1hZXMgYXZ4Mi12 YWVzIGF2eDUxMmJ3LXZhZXMKK0NMTVVMIDo9IHNzc2UzLXBjbG11bCBhdngtcGNsbXVsIGF2eDIt dnBjbG11bHFkcSBhdng1MTJidy12cGNsbXVscWRxIGF2eDUxMnZibWkyLXZwY2xtdWxxZHEKIFNI QSA6PSBzc2U0LXNoYSBhdngtc2hhIGF2eDUxMmYtc2hhCiBHRiA6PSBzc2UyLWdmIGF2eDItZ2Yg YXZ4NTEyYnctZ2YKLVRFU1RDQVNFUyA6PSBibG93ZmlzaCAkKFNJTUQpICQoRk1BKSAkKFNHKSAk KEFFUykgJChTSEEpICQoR0YpCitURVNUQ0FTRVMgOj0gYmxvd2Zpc2ggJChTSU1EKSAkKEZNQSkg JChTRykgJChBRVMpICQoQ0xNVUwpICQoU0hBKSAkKEdGKQogCiBPUE1BU0sgOj0gYXZ4NTEyZiBh dng1MTJkcSBhdng1MTJidwogCkBAIC04OSw2ICs5MCw3IEBAIGF2eDUxMmVyLWZsdHMgOj0gNCA4 CiBhdng1MTJ2Ym1pLXZlY3MgOj0gJChhdng1MTJidy12ZWNzKQogYXZ4NTEydmJtaS1pbnRzIDo9 ICQoYXZ4NTEyYnctaW50cykKIGF2eDUxMnZibWktZmx0cyA6PSAkKGF2eDUxMmJ3LWZsdHMpCith dng1MTJ2Ym1pMi12ZWNzIDo9ICQoYXZ4NTEyYnctdmVjcykKIAogYXZ4NTEyZi1vcG1hc2stdmVj cyA6PSAyCiBhdng1MTJkcS1vcG1hc2stdmVjcyA6PSAxIDIKQEAgLTE0OSw2ICsxNTEsMTAgQEAg ZGVmaW5lIHNpbWQtYWVzLWRlZnMKICQoMSktY2ZsYWdzIDo9ICQoZm9yZWFjaCB2ZWMsJCgkKHBh dHN1YnN0ICUtYWVzLHNzZSwkKDEpKS12ZWNzKSAkKCQocGF0c3Vic3QgJS12YWVzLCUsJCgxKSkt dmVjcyksIFwKIAkgICAgICAgICAiLURfJCh2ZWMpIC1tYWVzICQoYWRkcHJlZml4IC1tLCQoc3Vi c3QgLSwkKHNwYWNlKSwkKDEpKSkgJChjYWxsIG5vbi1zc2UsJCgxKSkgLU9zIC1EVkVDX1NJWkU9 JCh2ZWMpIikKIGVuZGVmCitkZWZpbmUgc2ltZC1jbG11bC1kZWZzCiskKDEpLWNmbGFncyA6PSAk KGZvcmVhY2ggdmVjLCQoJChwYXRzdWJzdCAlLXBjbG11bCxzc2UsJCgxKSktdmVjcykgJCgkKHBh dHN1YnN0ICUtdnBjbG11bHFkcSwlLCQoMSkpLXZlY3MpLCBcCisJICAgICAgICAgIi1EXyQodmVj KSAtbXBjbG11bCAkKGFkZHByZWZpeCAtbSwkKHN1YnN0IC0sJChzcGFjZSksJCgxKSkpICQoY2Fs bCBub24tc3NlLCQoMSkpIC1PcyAtRFZFQ19TSVpFPSQodmVjKSIpCitlbmRlZgogZGVmaW5lIHNp bWQtc2hhLWRlZnMKICQoMSktY2ZsYWdzIDo9ICQoZm9yZWFjaCB2ZWMsJChzc2UtdmVjcyksIFwK IAkgICAgICAgICAiLURfJCh2ZWMpICQoYWRkcHJlZml4IC1tLCQoc3Vic3QgLSwkKHNwYWNlKSwk KDEpKSkgLU9zIC1EVkVDX1NJWkU9JCh2ZWMpIikKQEAgLTE2NCw2ICsxNzAsNyBAQCBlbmRlZgog JChmb3JlYWNoIGZsYXZvciwkKFNJTUQpICQoRk1BKSwkKGV2YWwgJChjYWxsIHNpbWQtZGVmcywk KGZsYXZvcikpKSkKICQoZm9yZWFjaCBmbGF2b3IsJChTRyksJChldmFsICQoY2FsbCBzaW1kLXNn LWRlZnMsJChmbGF2b3IpKSkpCiAkKGZvcmVhY2ggZmxhdm9yLCQoQUVTKSwkKGV2YWwgJChjYWxs IHNpbWQtYWVzLWRlZnMsJChmbGF2b3IpKSkpCiskKGZvcmVhY2ggZmxhdm9yLCQoQ0xNVUwpLCQo ZXZhbCAkKGNhbGwgc2ltZC1jbG11bC1kZWZzLCQoZmxhdm9yKSkpKQogJChmb3JlYWNoIGZsYXZv ciwkKFNIQSksJChldmFsICQoY2FsbCBzaW1kLXNoYS1kZWZzLCQoZmxhdm9yKSkpKQogJChmb3Jl YWNoIGZsYXZvciwkKEdGKSwkKGV2YWwgJChjYWxsIHNpbWQtZ2YtZGVmcywkKGZsYXZvcikpKSkK ICQoZm9yZWFjaCBmbGF2b3IsJChPUE1BU0spLCQoZXZhbCAkKGNhbGwgb3BtYXNrLWRlZnMsJChm bGF2b3IpKSkpCkBAIC0yMTgsMTMgKzIyNSwxNiBAQCAkKGFkZHN1ZmZpeCAuYywkKFNHKSk6CiAk KGFkZHN1ZmZpeCAuYywkKEFFUykpOgogCWxuIC1zZiBzaW1kLWFlcy5jICRACiAKKyQoYWRkc3Vm Zml4IC5jLCQoQ0xNVUwpKToKKwlsbiAtc2Ygc2ltZC1jbG11bC5jICRACisKICQoYWRkc3VmZml4 IC5jLCQoU0hBKSk6CiAJbG4gLXNmIHNpbWQtc2hhLmMgJEAKIAogJChhZGRzdWZmaXggLmMsJChH RikpOgogCWxuIC1zZiBzaW1kLWdmLmMgJEAKIAotJChhZGRzdWZmaXggLmgsJChTSU1EKSAkKEZN QSkgJChTRykgJChBRVMpICQoU0hBKSAkKEdGKSk6IHNpbWQuaAorJChhZGRzdWZmaXggLmgsJChT SU1EKSAkKEZNQSkgJChTRykgJChBRVMpICQoQ0xNVUwpICQoU0hBKSAkKEdGKSk6IHNpbWQuaAog CiB4b3AuaCBhdng1MTJmLmg6IHNpbWQtZm1hLmMKIAotLS0gL2Rldi9udWxsCisrKyBiL3Rvb2xz L3Rlc3RzL3g4Nl9lbXVsYXRvci9zaW1kLWNsbXVsLmMKQEAgLTAsMCArMSwxNTAgQEAKKyNkZWZp bmUgVUlOVF9TSVpFIDgKKworI2luY2x1ZGUgInNpbWQuaCIKK0VOVFJZKGNsbXVsX3Rlc3QpOwor CisjaWZkZWYgX19BVlg1MTJGX18gLyogQVZYNTEyQlcgbWF5IGdldCBlbmFibGVkIG9ubHkgYmVs b3cgKi8KKyMgZGVmaW5lIEFMTF9UUlVFICh+MFVMTCA+PiAoNjQgLSBFTEVNX0NPVU5UKSkKKyMg ZGVmaW5lIGVxKHgsIHkpIChCKHBjbXBlcXEsIF9tYXNrLCAodmRpX3QpKHgpLCAodmRpX3QpKHkp LCAtMSkgPT0gQUxMX1RSVUUpCisjIGRlZmluZSBsYW5lX3Nocl91bml0KHgpIFwKKyAgICAoKHZl Y190KUIocGFsaWduciwgX21hc2ssICh2ZGlfdCkoeCksICh2ZGlfdCkoeCksIDY0LCAodmRpX3Qp e30sIFwKKyAgICAgICAgICAgICAgMHgwMGZmMDBmZjAwZmYwMGZmVUxMICYgKH4wVUxMID4+ICg2 NCAtIFZFQ19TSVpFKSkpKQorI2Vsc2UKKyMgaWYgZGVmaW5lZChfX0FWWDJfXykgJiYgVkVDX1NJ WkUgPT0gMzIKKyMgIGRlZmluZSB0b19ib29sKGNtcCkgQihwdGVzdGMsICwgY21wLCAodmRpX3Qp e30gPT0gMCkKKyMgZWxzZQorIyAgZGVmaW5lIHRvX2Jvb2woY21wKSAoX19idWlsdGluX2lhMzJf cG1vdm1za2IxMjgoY21wKSA9PSAweGZmZmYpCisjIGVuZGlmCisjIGRlZmluZSBlcSh4LCB5KSB0 b19ib29sKCh4KSA9PSAoeSkpCisjIGRlZmluZSBsYW5lX3Nocl91bml0KHgpICgodmVjX3QpQihw YWxpZ25yLCAsICh2ZGlfdCl7fSwgKHZkaV90KSh4KSwgNjQpKQorI2VuZGlmCisKKyNkZWZpbmUg Q0xNVUwob3AsIHgsIHksIGMpICh2ZWNfdCkoX19idWlsdGluX2lhMzJfICMjIG9wKCh2ZGlfdCko eCksICh2ZGlfdCkoeSksIGMpKQorCisjaWYgVkVDX1NJWkUgPT0gMTYKKyMgZGVmaW5lIGNsbXVs KHgsIHksIGMpIENMTVVMKHBjbG11bHFkcTEyOCwgeCwgeSwgYykKKyMgZGVmaW5lIHZwc2hyZCBf X2J1aWx0aW5faWEzMl92cHNocmRfdjJkaQorI2VsaWYgVkVDX1NJWkUgPT0gMzIKKyMgZGVmaW5l IGNsbXVsKHgsIHksIGMpIENMTVVMKHZwY2xtdWxxZHFfdjRkaSwgeCwgeSwgYykKKyMgZGVmaW5l IHZwc2hyZCBfX2J1aWx0aW5faWEzMl92cHNocmRfdjRkaQorI2VsaWYgVkVDX1NJWkUgPT0gNjQK KyMgZGVmaW5lIGNsbXVsKHgsIHksIGMpIENMTVVMKHZwY2xtdWxxZHFfdjhkaSwgeCwgeSwgYykK KyMgZGVmaW5lIHZwc2hyZCBfX2J1aWx0aW5faWEzMl92cHNocmRfdjhkaQorI2VuZGlmCisKKyNk ZWZpbmUgY2xtdWxfbGwoeCwgeSkgY2xtdWwoeCwgeSwgMHgwMCkKKyNkZWZpbmUgY2xtdWxfaGwo eCwgeSkgY2xtdWwoeCwgeSwgMHgwMSkKKyNkZWZpbmUgY2xtdWxfbGgoeCwgeSkgY2xtdWwoeCwg eSwgMHgxMCkKKyNkZWZpbmUgY2xtdWxfaGgoeCwgeSkgY2xtdWwoeCwgeSwgMHgxMSkKKworI2lm IGRlZmluZWQoX19BVlg1MTJWQk1JMl9fKQorIyBwcmFnbWEgR0NDIHRhcmdldCAoICJhdng1MTJi dyIgKQorIyBkZWZpbmUgbGFuZV9zaHJfaSh4LCBuKSAoeyBcCisgICAgdmVjX3QgaF8gPSBsYW5l X3Nocl91bml0KHgpOyBcCisgICAgdG91Y2goaF8pOyBcCisgICAgKG4pIDwgNjQgPyAodmVjX3Qp dnBzaHJkKCh2ZGlfdCkoeCksICh2ZGlfdCkoaF8pLCBuKSA6IGhfID4+ICgobikgLSA2NCk7IFwK K30pCisjIGRlZmluZSBsYW5lX3Nocl92KHgsIG4pICh7IFwKKyAgICB2ZWNfdCB0XyA9ICh4KSwg aF8gPSBsYW5lX3Nocl91bml0KHgpOyBcCisgICAgdHlwZW9mKHRfWzBdKSBuXyA9IChuKTsgXAor ICAgIGlmICggKG4pIDwgNjQgKSBcCisgICAgICAgIC8qIGdjYyBkb2VzIG5vdCBzdXBwb3J0IGVt YmVkZGVkIGJyb2FkY2FzdCAqLyBcCisgICAgICAgIGFzbSAoICJ2cHNocmR2cSAlMiV7MXRvJWMz JX0sICUxLCAlMCIgXAorICAgICAgICAgICAgICA6ICIrdiIgKHRfKSA6ICJ2IiAoaF8pLCAibSIg KG5fKSwgImkiIChFTEVNX0NPVU5UKSApOyBcCisgICAgZWxzZSBcCisgICAgICAgIHRfID0gaF8g Pj4gKChuKSAtIDY0KTsgXAorICAgIHRfOyBcCit9KQorI2Vsc2UKKyMgZGVmaW5lIGxhbmVfc2hy X2kgbGFuZV9zaHJfdgorIyBkZWZpbmUgbGFuZV9zaHJfdih4LCBuKSAoeyBcCisgICAgdmVjX3Qg dF8gPSAobikgPiAwID8gbGFuZV9zaHJfdW5pdCh4KSA6ICh4KTsgXAorICAgIChuKSA8IDY0ID8g KCh4KSA+PiAobikpIHwgKHRfIDw8ICgtKG4pICYgMHgzZikpIFwKKyAgICAgICAgICAgICA6IHRf ID4+ICgobikgLSA2NCk7IFwKK30pCisjZW5kaWYKKworaW50IGNsbXVsX3Rlc3Qodm9pZCkKK3sK KyAgICB1bnNpZ25lZCBpbnQgaTsKKyAgICB2ZWNfdCBzcmM7CisgICAgdnFpX3QgcmF3ID0ge307 CisKKyAgICBmb3IgKCBpID0gMTsgaSA8IFZFQ19TSVpFOyArK2kgKQorICAgICAgICByYXdbaV0g PSBpOworICAgIHNyYyA9ICh2ZWNfdClyYXc7CisKKyAgICBmb3IgKCBpID0gMDsgaSA8IDI1Njsg aSArPSBWRUNfU0laRSApCisgICAgeworICAgICAgICB2ZWNfdCB4ID0ge30sIHksIHosIGxvLCBo aTsKKyAgICAgICAgdW5zaWduZWQgaW50IGo7CisKKyAgICAgICAgdG91Y2goeCk7CisgICAgICAg IHkgPSBjbG11bF9sbChzcmMsIHgpOworICAgICAgICB0b3VjaCh4KTsKKworICAgICAgICBpZiAo ICFlcSh5LCB4KSApIHJldHVybiBfX0xJTkVfXzsKKworICAgICAgICBmb3IgKCBqID0gMDsgaiA8 IEVMRU1fQ09VTlQ7IGogKz0gMiApCisgICAgICAgICAgICB4W2pdID0gMTsKKworICAgICAgICB0 b3VjaChzcmMpOworICAgICAgICB5ID0gY2xtdWxfbGwoeCwgc3JjKTsKKyAgICAgICAgdG91Y2go c3JjKTsKKyAgICAgICAgeiA9IGNsbXVsX2xoKHgsIHNyYyk7CisgICAgICAgIHRvdWNoKHNyYyk7 CisKKyAgICAgICAgZm9yICggaiA9IDA7IGogPCBFTEVNX0NPVU5UOyBqICs9IDIgKQorICAgICAg ICAgICAgeVtqICsgMV0gPSB6W2pdOworCisgICAgICAgIGlmICggIWVxKHksIHNyYykgKSByZXR1 cm4gX19MSU5FX187CisKKyAgICAgICAgLyoKKyAgICAgICAgICogQmVzaWRlcyB0aGUgb2J2aW91 cyBwcm9wZXJ0eSBvZiB0aGUgbG93IGFuZCBoaWdoIGhhbGYgcHJvZHVjdHMKKyAgICAgICAgICog YmVpbmcgdGhlIHNhbWUgZWl0aGVyIGRpcmVjdGlvbiwgdGhlICJzcXVhcmUiIG9mIGEgbnVtYmVy IGhhcyB0aGUKKyAgICAgICAgICogcHJvcGVydHkgb2Ygc2ltcGx5IGJlaW5nIHRoZSBvcmlnaW5h bCBiaXQgcGF0dGVybiB3aXRoIGEgemVybyBiaXQKKyAgICAgICAgICogaW5zZXJ0ZWQgYmV0d2Vl biBhbnkgdHdvIGJpdHMuIFRoaXMgaXMgd2hhdCB0aGUgY29kZSBiZWxvdyBjaGVja3MuCisgICAg ICAgICAqLworCisgICAgICAgIHggPSBzcmM7CisgICAgICAgIHRvdWNoKHNyYyk7CisgICAgICAg IHkgPSBjbG11bF9saCh4LCBzcmMpOworICAgICAgICB0b3VjaChzcmMpOworICAgICAgICB6ID0g Y2xtdWxfaGwoeCwgc3JjKTsKKworICAgICAgICBpZiAoICFlcSh5LCB6KSApIHJldHVybiBfX0xJ TkVfXzsKKworICAgICAgICB0b3VjaChzcmMpOworICAgICAgICB5ID0gbG8gPSBjbG11bF9sbCh4 LCBzcmMpOworICAgICAgICB0b3VjaChzcmMpOworICAgICAgICB6ID0gaGkgPSBjbG11bF9oaCh4 LCBzcmMpOworICAgICAgICB0b3VjaChzcmMpOworCisgICAgICAgIGZvciAoIGogPSAwOyBqIDwg NjQ7ICsraiApCisgICAgICAgIHsKKyAgICAgICAgICAgIHZlY190IGwgPSBsYW5lX3Nocl92KGxv LCAyICogaik7CisgICAgICAgICAgICB2ZWNfdCBoID0gbGFuZV9zaHJfdihoaSwgMiAqIGopOwor ICAgICAgICAgICAgdW5zaWduZWQgaW50IG47CisKKyAgICAgICAgICAgIGlmICggIWVxKGwsIHkp ICkgcmV0dXJuIF9fTElORV9fOworICAgICAgICAgICAgaWYgKCAhZXEoaCwgeikgKSByZXR1cm4g X19MSU5FX187CisKKyAgICAgICAgICAgIHggPSBzcmMgPj4gajsKKworICAgICAgICAgICAgZm9y ICggbiA9IDA7IG4gPCBFTEVNX0NPVU5UOyBuICs9IDIgKQorICAgICAgICAgICAgeworICAgICAg ICAgICAgICAgIGlmICggKHhbbiArIDBdICYgMSkgIT0gKGxbbl0gJiAzKSApIHJldHVybiBfX0xJ TkVfXzsKKyAgICAgICAgICAgICAgICBpZiAoICh4W24gKyAxXSAmIDEpICE9IChoW25dICYgMykg KSByZXR1cm4gX19MSU5FX187CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIHRvdWNoKHkp OworICAgICAgICAgICAgeSA9IGxhbmVfc2hyX2koeSwgMik7CisgICAgICAgICAgICB0b3VjaCh6 KTsKKyAgICAgICAgICAgIHogPSBsYW5lX3Nocl9pKHosIDIpOworICAgICAgICB9CisKKyAgICAg ICAgc3JjICs9IDB4MDEwMTAxMDEwMTAxMDEwMVVMTCAqIFZFQ19TSVpFOworICAgIH0KKworICAg IHJldHVybiAwOworfQotLS0gYS90b29scy90ZXN0cy94ODZfZW11bGF0b3Ivc2ltZC5oCisrKyBi L3Rvb2xzL3Rlc3RzL3g4Nl9lbXVsYXRvci9zaW1kLmgKQEAgLTM4MSw2ICszODEsNyBAQCBPVlIo bW92bnRkcSk7CiBPVlIobW92bnRkcWEpOwogT1ZSKG1vdnNoZHVwKTsKIE9WUihtb3ZzbGR1cCk7 CitPVlIocGNsbXVscWRxKTsKIE9WUihwZXJtZCk7CiBPVlIocGVybXEpOwogT1ZSKHBtb3ZzeGJk KTsKLS0tIGEvdG9vbHMvdGVzdHMveDg2X2VtdWxhdG9yL3Rlc3RfeDg2X2VtdWxhdG9yLmMKKysr IGIvdG9vbHMvdGVzdHMveDg2X2VtdWxhdG9yL3Rlc3RfeDg2X2VtdWxhdG9yLmMKQEAgLTEzLDE2 ICsxMywxOSBAQCBhc20gKCAiLnB1c2hzZWN0aW9uIC50ZXN0LCBcImF4XCIsIEBwcm9nCiAjaW5j bHVkZSAic3NlMi5oIgogI2luY2x1ZGUgInNzZTItZ2YuaCIKICNpbmNsdWRlICJzc3NlMy1hZXMu aCIKKyNpbmNsdWRlICJzc3NlMy1wY2xtdWwuaCIKICNpbmNsdWRlICJzc2U0LmgiCiAjaW5jbHVk ZSAic3NlNC1zaGEuaCIKICNpbmNsdWRlICJhdnguaCIKICNpbmNsdWRlICJhdngtYWVzLmgiCisj aW5jbHVkZSAiYXZ4LXBjbG11bC5oIgogI2luY2x1ZGUgImF2eC1zaGEuaCIKICNpbmNsdWRlICJm bWE0LmgiCiAjaW5jbHVkZSAiZm1hLmgiCiAjaW5jbHVkZSAiYXZ4Mi5oIgogI2luY2x1ZGUgImF2 eDItc2cuaCIKICNpbmNsdWRlICJhdngyLXZhZXMuaCIKKyNpbmNsdWRlICJhdngyLXZwY2xtdWxx ZHEuaCIKICNpbmNsdWRlICJhdngyLWdmLmgiCiAjaW5jbHVkZSAieG9wLmgiCiAjaW5jbHVkZSAi YXZ4NTEyZi1vcG1hc2suaCIKQEAgLTM0LDEwICszNywxMiBAQCBhc20gKCAiLnB1c2hzZWN0aW9u IC50ZXN0LCBcImF4XCIsIEBwcm9nCiAjaW5jbHVkZSAiYXZ4NTEydmwtc2cuaCIKICNpbmNsdWRl ICJhdng1MTJidy5oIgogI2luY2x1ZGUgImF2eDUxMmJ3LXZhZXMuaCIKKyNpbmNsdWRlICJhdng1 MTJidy12cGNsbXVscWRxLmgiCiAjaW5jbHVkZSAiYXZ4NTEyYnctZ2YuaCIKICNpbmNsdWRlICJh dng1MTJkcS5oIgogI2luY2x1ZGUgImF2eDUxMmVyLmgiCiAjaW5jbHVkZSAiYXZ4NTEydmJtaS5o IgorI2luY2x1ZGUgImF2eDUxMnZibWkyLXZwY2xtdWxxZHEuaCIKIAogI2RlZmluZSB2ZXJib3Nl IGZhbHNlIC8qIFN3aXRjaCB0byB0cnVlIGZvciBmYXIgbW9yZSBsb2dnaW5nLiAqLwogCkBAIC0x MDgsNiArMTEzLDE2IEBAIHN0YXRpYyBib29sIHNpbWRfY2hlY2tfYXZ4X2Flcyh2b2lkKQogICAg IHJldHVybiBjcHVfaGFzX2Flc25pICYmIGNwdV9oYXNfYXZ4OwogfQogCitzdGF0aWMgYm9vbCBz aW1kX2NoZWNrX3Nzc2UzX3BjbG11bCh2b2lkKQoreworICAgIHJldHVybiBjcHVfaGFzX3BjbG11 bHFkcSAmJiBjcHVfaGFzX3Nzc2UzOworfQorCitzdGF0aWMgYm9vbCBzaW1kX2NoZWNrX2F2eF9w Y2xtdWwodm9pZCkKK3sKKyAgICByZXR1cm4gY3B1X2hhc19wY2xtdWxxZHEgJiYgY3B1X2hhc19h dng7Cit9CisKIHN0YXRpYyBib29sIHNpbWRfY2hlY2tfYXZ4NTEyZih2b2lkKQogewogICAgIHJl dHVybiBjcHVfaGFzX2F2eDUxMmY7CkBAIC0xODksNiArMjA0LDMxIEBAIHN0YXRpYyBib29sIHNp bWRfY2hlY2tfYXZ4NTEyYndfdmFlc192bCgKICAgICAgICAgICAgY3B1X2hhc19hdng1MTJidyAm JiBjcHVfaGFzX2F2eDUxMnZsOwogfQogCitzdGF0aWMgYm9vbCBzaW1kX2NoZWNrX2F2eDJfdnBj bG11bHFkcSh2b2lkKQoreworICAgIHJldHVybiBjcHVfaGFzX3ZwY2xtdWxxZHEgJiYgY3B1X2hh c19hdngyOworfQorCitzdGF0aWMgYm9vbCBzaW1kX2NoZWNrX2F2eDUxMmJ3X3ZwY2xtdWxxZHEo dm9pZCkKK3sKKyAgICByZXR1cm4gY3B1X2hhc192cGNsbXVscWRxICYmIGNwdV9oYXNfYXZ4NTEy Ync7Cit9CisKK3N0YXRpYyBib29sIHNpbWRfY2hlY2tfYXZ4NTEyYndfdnBjbG11bHFkcV92bCh2 b2lkKQoreworICAgIHJldHVybiBjcHVfaGFzX3ZwY2xtdWxxZHEgJiYgY3B1X2hhc19hdng1MTJi dyAmJiBjcHVfaGFzX2F2eDUxMnZsOworfQorCitzdGF0aWMgYm9vbCBzaW1kX2NoZWNrX2F2eDUx MnZibWkyX3ZwY2xtdWxxZHEodm9pZCkKK3sKKyAgICByZXR1cm4gY3B1X2hhc19hdng1MTJfdmJt aTIgJiYgc2ltZF9jaGVja19hdng1MTJid192cGNsbXVscWRxKCk7Cit9CisKK3N0YXRpYyBib29s IHNpbWRfY2hlY2tfYXZ4NTEydmJtaTJfdnBjbG11bHFkcV92bCh2b2lkKQoreworICAgIHJldHVy biBjcHVfaGFzX2F2eDUxMl92Ym1pMiAmJiBzaW1kX2NoZWNrX2F2eDUxMmJ3X3ZwY2xtdWxxZHFf dmwoKTsKK30KKwogc3RhdGljIGJvb2wgc2ltZF9jaGVja19zc2UyX2dmKHZvaWQpCiB7CiAgICAg cmV0dXJuIGNwdV9oYXNfZ2ZuaSAmJiBjcHVfaGFzX3NzZTI7CkBAIC0zNjksNiArNDA5LDggQEAg c3RhdGljIGNvbnN0IHN0cnVjdCB7CiAgICAgU0lNRChYT1AgaTY0eDQsICAgICAgICAgICAgICAg eG9wLCAgICAgIDMyaTgpLAogICAgIFNJTUQoQUVTIChsZWdhY3kpLCAgICAgIHNzc2UzX2Flcywg ICAgICAgIDE2KSwKICAgICBTSU1EKEFFUyAoVkVYL3gxNiksICAgICAgIGF2eF9hZXMsICAgICAg ICAxNiksCisgICAgU0lNRChQQ0xNVUwgKGxlZ2FjeSksIHNzc2UzX3BjbG11bCwgICAgICAgMTYp LAorICAgIFNJTUQoUENMTVVMIChWRVgveDIpLCAgYXZ4X3BjbG11bCwgICAgICAgIDE2KSwKICAg ICBTSU1EKE9QTUFTSy93LCAgICAgYXZ4NTEyZl9vcG1hc2ssICAgICAgICAgMiksCiAgICAgU0lN RChPUE1BU0srRFEvYiwgYXZ4NTEyZHFfb3BtYXNrLCAgICAgICAgIDEpLAogICAgIFNJTUQoT1BN QVNLK0RRL3csIGF2eDUxMmRxX29wbWFzaywgICAgICAgICAyKSwKQEAgLTQ3NSw2ICs1MTcsMTMg QEAgc3RhdGljIGNvbnN0IHN0cnVjdCB7CiAgICAgU0lNRChWQUVTIChFVkVYL3g2NCksIGF2eDUx MmJ3X3ZhZXMsICAgICAgNjQpLAogICAgIEFWWDUxMlZMKFZMK1ZBRVMgKHgxNiksIGF2eDUxMmJ3 X3ZhZXMsICAgIDE2KSwKICAgICBBVlg1MTJWTChWTCtWQUVTICh4MzIpLCBhdng1MTJid192YWVz LCAgICAzMiksCisgICAgU0lNRChWUENMTVVMIChWRVgveDQpLCBhdngyX3ZwY2xtdWxxZHEsICAz MiksCisgICAgU0lNRChWUENMTVVMIChFVkVYL3g4KSwgYXZ4NTEyYndfdnBjbG11bHFkcSwgNjQp LAorICAgIEFWWDUxMlZMKFZMK1ZQQ0xNVUwgKHg0KSwgYXZ4NTEyYndfdnBjbG11bHFkcSwgMTYp LAorICAgIEFWWDUxMlZMKFZMK1ZQQ0xNVUwgKHg4KSwgYXZ4NTEyYndfdnBjbG11bHFkcSwgMzIp LAorICAgIFNJTUQoQVZYNTEyX1ZCTUkyK1ZQQ0xNVUwgKHg4KSwgYXZ4NTEydmJtaTJfdnBjbG11 bHFkcSwgNjQpLAorICAgIEFWWDUxMlZMKF9WQk1JMitWTCtWUENMTVVMICh4MiksIGF2eDUxMnZi bWkyX3ZwY2xtdWxxZHEsIDE2KSwKKyAgICBBVlg1MTJWTChfVkJNSTIrVkwrVlBDTE1VTCAoeDQp LCBhdng1MTJ2Ym1pMl92cGNsbXVscWRxLCAzMiksCiAgICAgU0lNRChHRk5JIChsZWdhY3kpLCAg ICAgICBzc2UyX2dmLCAgICAgICAgMTYpLAogICAgIFNJTUQoR0ZOSSAoVkVYL3gxNiksICAgICAg YXZ4Ml9nZiwgICAgICAgIDE2KSwKICAgICBTSU1EKEdGTkkgKFZFWC94MzIpLCAgICAgIGF2eDJf Z2YsICAgICAgICAzMiksCi0tLSBhL3Rvb2xzL3Rlc3RzL3g4Nl9lbXVsYXRvci94ODYtZW11bGF0 ZS5oCisrKyBiL3Rvb2xzL3Rlc3RzL3g4Nl9lbXVsYXRvci94ODYtZW11bGF0ZS5oCkBAIC0xMjUs NiArMTI1LDcgQEAgc3RhdGljIGlubGluZSBib29sIHhjcjBfbWFzayh1aW50NjRfdCBtYQogI2Rl ZmluZSBjcHVfaGFzX3NzZSAgICAgICAgY3AuYmFzaWMuc3NlCiAjZGVmaW5lIGNwdV9oYXNfc3Nl MiAgICAgICBjcC5iYXNpYy5zc2UyCiAjZGVmaW5lIGNwdV9oYXNfc3NlMyAgICAgICBjcC5iYXNp Yy5zc2UzCisjZGVmaW5lIGNwdV9oYXNfcGNsbXVscWRxICBjcC5iYXNpYy5wY2xtdWxxZHEKICNk ZWZpbmUgY3B1X2hhc19zc3NlMyAgICAgIGNwLmJhc2ljLnNzc2UzCiAjZGVmaW5lIGNwdV9oYXNf Zm1hICAgICAgIChjcC5iYXNpYy5mbWEgJiYgeGNyMF9tYXNrKDYpKQogI2RlZmluZSBjcHVfaGFz X3NzZTRfMSAgICAgY3AuYmFzaWMuc3NlNF8xCgoKCgpfX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fXwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZlbEBs aXN0cy54ZW5wcm9qZWN0Lm9yZwpodHRwczovL2xpc3RzLnhlbnByb2plY3Qub3JnL21haWxtYW4v bGlzdGluZm8veGVuLWRldmVs