From: Olaf Hering Subject: [PATCH v5] new config option vtsc_tolerance_khz to avoid TSC emulation Date: Tue, 27 Mar 2018 11:26:55 +0200 Message-ID: <20180327092655.28530-1-olaf@aepfle.de> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" To: xen-devel@lists.xen.org Cc: Olaf Hering , Stefano Stabellini , Wei Liu , George Dunlap , Andrew Cooper , Ian Jackson , =?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= , Tim Deegan , Julien Grall , Jan Beulich List-Id: xen-devel@lists.xenproject.org QWRkIGFuIG9wdGlvbiB0byBjb250cm9sIHdoZW4gdlRTQyBlbXVsYXRpb24gd2lsbCBiZSBhY3Rp dmF0ZWQgZm9yIGEKZG9tVSB3aXRoIHRzY19tb2RlPWRlZmF1bHQuIFdpdGhvdXQgc3VjaCBvcHRp b24gZWFjaCBUU0MgYWNjZXNzIGZyb20KZG9tVSB3aWxsIGJlIGVtdWxhdGVkLCB3aGljaCBjYXVz ZXMgYSBzaWduaWZpY2FudCBwZXJmb21hbmNlIGRyb3AgZm9yCndvcmtsb2FkcyB0aGF0IG1ha2Ug dXNlIG9mIHJkdHNjLgoKT25lIG9wdGlvbiB0byBhdm9pZCB0aGUgVFNDIG9wdGlvbiBpcyB0byBy dW4gZG9tVXMgd2l0aCB0c2NfbW9kZT1uYXRpdmUuClRoaXMgaGFzIHRoZSBkcmF3YmFjayB0aGF0 IG1pZ3JhdGluZyBhIGRvbVUgZnJvbSBhICIyLjNHSHoiIGNsYXNzIGhvc3QKdG8gYSAiMi40R0h6 IiBjbGFzcyBob3N0IG1heSBjaGFuZ2UgdGhlIHJhdGUgYXQgd2ljaCB0aGUgVFNDIGNvdW50ZXIK aW5jcmVhc2VzLCB0aGUgZG9tVSBtYXkgbm90IGJlIHByZXBhcmVkIGZvciB0aGF0LgoKV2l0aCB0 aGUgbmV3IG9wdGlvbiB0aGUgaG9zdCBhZG1pbiBjYW4gZGVjaWRlIGhvdyBhIGRvbVUgc2hvdWxk IGJlaGF2ZQp3aGVuIGl0IGlzIG1pZ3JhdGVkIGFjcm9zcyBzeXN0ZW1zIG9mIHRoZSBzYW1lIGNs YXNzLiBTaW5jZSB0aGVyZSBpcwphbHdheXMgc29tZSBqaXR0ZXIgd2hlbiBYZW4gY2FsaWJyYXRl cyB0aGUgY3B1X2toeiB2YWx1ZSwgYWxsIGhvc3RzIG9mCnRoZSBzYW1lIGNsYXNzIHdpbGwgbW9z dCBsaWtlbHkgaGF2ZSBzbGlnaHRseSBkaWZmZXJlbnQgdmFsdWVzLiBBcyBhCnJlc3VsdCB2VFND IGVtdWxhdGlvbiBpcyB1bmF2b2lkYWJsZS4gRGF0YSBjb2xsZWN0ZWQgZHVyaW5nIHRoZSBpbmNp ZGVudAp3aGljaCB0cmlnZ2VyZWQgdGhpcyBjaGFuZ2Ugc2hvd2VkIGEgaml0dGVyIG9mIHVwIHRv IDIwMCBLSHogYWNyb3NzCnN5c3RlbXMgb2YgdGhlIHNhbWUgY2xhc3MuCgpFeGlzdGluZyBwYWRk aW5nIGZpZWxkcyBhcmUgcmV1c2VkIHRvIHN0b3JlIHZ0c2Nfa2h6X3RvbGVyYW5jZSBhcyB1MTYu Cgp2NToKIC0gcmVkdWNlIGZ1bmN0aW9uYWxpdHkgdG8gYWxsb3cgc2V0dGluZyBvZiB0aGUgdG9s ZXJhbmNlIHZhbHVlCiAgIG9ubHkgYXQgaW5pdGlhbCBkb21VIHN0YXJ0dXAKCnY0OgogLSBhZGQg bWlzc2luZyBjb3B5YmFjayBpbiBYRU5fRE9NQ1RMX3NldF92dHNjX3RvbGVyYW5jZV9raHoKdjM6 CiAtIHJlbmFtZSB2dHNjX2toel90b2xlcmFuY2UgdG8gdnRzY190b2xlcmFuY2Vfa2h6CiAtIHNl cGFyYXRlIGRvbWN0bHMgdG8gYWRqdXN0IHZhbHVlcwogLSBtb3JlIGRvY3MKIC0gdXBkYXRlIGxp YnhsLmgKIC0gdXBkYXRlIHB5dGhvbiB0ZXN0cwogLSBmbGFzayBjaGVjayBib3VuZCB0byB0c2Mg cGVybWlzc2lvbnMKIC0gbm90IHJ1bnRpbWUgdGVzdGVkIGR1ZSB0byBkbHN5bSgpIGJ1aWxkIGVy cm9ycyBpbiBzdGFnaW5nCgpTaWduZWQtb2ZmLWJ5OiBPbGFmIEhlcmluZyA8b2xhZkBhZXBmbGUu ZGU+Ci0tLQogZG9jcy9tYW4veGVuLXRzY21vZGUucG9kLjcgICAgICAgICAgICAgICB8IDE2ICsr KysrKysrKysrKysrKysKIGRvY3MvbWFuL3hsLmNmZy5wb2QuNS5pbiAgICAgICAgICAgICAgICAg fCAxMCArKysrKysrKysrCiBkb2NzL3NwZWNzL2xpYnhjLW1pZ3JhdGlvbi1zdHJlYW0ucGFuZG9j IHwgIDYgKysrKy0tCiB0b29scy9saWJ4Yy9pbmNsdWRlL3hlbmN0cmwuaCAgICAgICAgICAgIHwg IDIgKysKIHRvb2xzL2xpYnhjL3hjX2RvbWFpbi5jICAgICAgICAgICAgICAgICAgfCAgNCArKysr CiB0b29scy9saWJ4Yy94Y19zcl9jb21tb25feDg2LmMgICAgICAgICAgIHwgIDYgKysrKy0tCiB0 b29scy9saWJ4Yy94Y19zcl9zdHJlYW1fZm9ybWF0LmggICAgICAgIHwgIDMgKystCiB0b29scy9s aWJ4bC9saWJ4bC5oICAgICAgICAgICAgICAgICAgICAgIHwgIDYgKysrKysrCiB0b29scy9saWJ4 bC9saWJ4bF90eXBlcy5pZGwgICAgICAgICAgICAgIHwgIDEgKwogdG9vbHMvbGlieGwvbGlieGxf eDg2LmMgICAgICAgICAgICAgICAgICB8ICAzICsrLQogdG9vbHMvcHl0aG9uL3hlbi9sb3dsZXZl bC94Yy94Yy5jICAgICAgICB8ICAyICstCiB0b29scy94bC94bF9wYXJzZS5jICAgICAgICAgICAg ICAgICAgICAgIHwgIDMgKysrCiB4ZW4vYXJjaC94ODYvZG9tYWluLmMgICAgICAgICAgICAgICAg ICAgIHwgIDIgKy0KIHhlbi9hcmNoL3g4Ni9kb21jdGwuYyAgICAgICAgICAgICAgICAgICAgfCAg MiArKwogeGVuL2FyY2gveDg2L3RpbWUuYyAgICAgICAgICAgICAgICAgICAgICB8IDMxICsrKysr KysrKysrKysrKysrKysrKysrKysrKystLS0KIHhlbi9pbmNsdWRlL2FzbS14ODYvZG9tYWluLmgg ICAgICAgICAgICAgfCAgMSArCiB4ZW4vaW5jbHVkZS9hc20teDg2L3RpbWUuaCAgICAgICAgICAg ICAgIHwgIDYgKysrKy0tCiB4ZW4vaW5jbHVkZS9wdWJsaWMvZG9tY3RsLmggICAgICAgICAgICAg IHwgIDMgKystCiAxOCBmaWxlcyBjaGFuZ2VkLCA5MyBpbnNlcnRpb25zKCspLCAxNCBkZWxldGlv bnMoLSkKCmRpZmYgLS1naXQgYS9kb2NzL21hbi94ZW4tdHNjbW9kZS5wb2QuNyBiL2RvY3MvbWFu L3hlbi10c2Ntb2RlLnBvZC43CmluZGV4IDNiYmM5NmYyMDEuLjEyMmFlMzY2NzkgMTAwNjQ0Ci0t LSBhL2RvY3MvbWFuL3hlbi10c2Ntb2RlLnBvZC43CisrKyBiL2RvY3MvbWFuL3hlbi10c2Ntb2Rl LnBvZC43CkBAIC05OSw2ICs5OSw5IEBAIHdoZXRoZXIgb3Igbm90IHRoZSBWTSBoYXMgYmVlbiBz YXZlZC9yZXN0b3JlZC9taWdyYXRlZAogCiA9YmFjawogCitJZiB0aGUgdHNjX21vZGUgaXMgc2V0 IHRvICJkZWZhdWx0IiB0aGUgZGVjaXNpb24gdG8gZW11bGF0ZSBUU0MgY2FuIGJlCit0d2Vha2Vk IGZ1cnRoZXIgd2l0aCB0aGUgInZ0c2NfdG9sZXJhbmNlX2toeiIgb3B0aW9uLgorCiBUbyB1bmRl cnN0YW5kIHRoaXMgaW4gbW9yZSBkZXRhaWwsIHRoZSByZXN0IG9mIHRoaXMgZG9jdW1lbnQgbXVz dAogYmUgcmVhZC4KIApAQCAtMjExLDYgKzIxNCwxOSBAQCBpcyBlbXVsYXRlZC4gIE5vdGUgdGhh dCwgdGhvdWdoIGVtdWxhdGVkLCB0aGUgImFwcGFyZW50IiBUU0MgZnJlcXVlbmN5CiB3aWxsIGJl IHRoZSBUU0MgZnJlcXVlbmN5IG9mIHRoZSBpbml0aWFsIHBoeXNpY2FsIG1hY2hpbmUsIGV2ZW4g YWZ0ZXIKIG1pZ3JhdGlvbi4KIAorU2luY2UgdGhlIGNhbGlicmF0aW9uIG9mIHRoZSBUU0MgZnJl cXVlbmN5IG1heSBub3QgYmUgMTAwJSBhY2N1cmF0ZSwgdGhlCitleGFjdCB2YWx1ZSBvZiB0aGUg ZnJlcXVlbmN5IGNhbiBjaGFuZ2UgZXZlbiBhY3Jvc3MgcmVib290cy4gVGhpcyBtZWFucworYWxz byBzZXZlcmFsIG90aGVyd2lzZSBpZGVudGljYWwgc3lzdGVtcyBjYW4gaGF2ZSBhIHNsaWdodGx5 IGRpZmZlcmVudAorVFNDIGZyZXF1ZW5jeS4gQXMgYSByZXN1bHQgVFNDIGFjY2VzcyB3aWxsIGJl IGVtdWxhdGVkIGlmIGEgZG9tVSBpcworbWlncmF0ZWQgZnJvbSBvbmUgaG9zdCB0byBhbm90aGVy LCBpZGVudGljYWwgaG9zdC4gVG8gYXZvaWQgdGhlCitwZXJmb3JtYW5jZSBpbXBhY3Qgb2YgVFND IGVtdWxhdGlvbiBhIGNlcnRhaW4gdG9sZXJhbmNlIG9mIHRoZSBtZWFzdXJlZAoraG9zdCBUU0Mg ZnJlcXVlbmN5IGNhbiBiZSBzcGVjaWZpZWQgd2l0aCAidnRzY190b2xlcmFuY2Vfa2h6Ii4gSWYg dGhlCittZWFzdXJlZCAiY3B1X2toeiIgdmFsdWUgaXMgd2l0aGluIHRoZSB0b2xlcmFuY2UgcmFu Z2UsIFRTQyBhY2Nlc3MKK3JlbWFpbnMgbmF0aXZlLiBPdGhlcndpc2UgaXQgd2lsbCBiZSBlbXVs YXRlZC4gVGhpcyBhbGxvd3MgdG8gbWlncmF0ZQorZG9tVXMgYmV0d2VlbiBpZGVudGljYWwgaGFy ZHdhcmUuIElmIHRoZSBkb21VIHdpbGwgYmUgbWlncmF0ZWQgdG8gYQorZGlmZmVyZW50IGtpbmQg b2YgaGFyZHdhcmUsIHNheSBmcm9tIGEgIjIuM0dIeiIgdG8gYSAiMi41R0h6IiBzeXN0ZW0sCitU U0Mgd2lsbCBiZSBlbXVhbHRlZCB0byBtYWludGFpbiB0aGUgVFNDIGZyZXF1ZW5jeSBleHBlY3Rl ZCBieSB0aGUgZG9tVS4KKwogRm9yIGVudmlyb25tZW50cyB3aGVyZSBib3RoIFRTQy1zYWZlbmVz cyBBTkQgaGlnaGVzdCBwZXJmb3JtYW5jZQogZXZlbiBhY3Jvc3MgbWlncmF0aW9uIGlzIGEgcmVx dWlyZW1lbnQsIGFwcGxpY2F0aW9uIGNvZGUgY2FuIGJlIHNwZWNpYWxseQogbW9kaWZpZWQgdG8g dXNlIGFuIGFsZ29yaXRobSBleHBsaWNpdGx5IGRlc2lnbmVkIGludG8gWGVuIGZvciB0aGlzIHB1 cnBvc2UuCmRpZmYgLS1naXQgYS9kb2NzL21hbi94bC5jZmcucG9kLjUuaW4gYi9kb2NzL21hbi94 bC5jZmcucG9kLjUuaW4KaW5kZXggMmMxYTZlMTQyMi4uMGIzNjI2NWU0ZiAxMDA2NDQKLS0tIGEv ZG9jcy9tYW4veGwuY2ZnLnBvZC41LmluCisrKyBiL2RvY3MvbWFuL3hsLmNmZy5wb2QuNS5pbgpA QCAtMTg5MSw2ICsxODkxLDE2IEBAIGRldGVybWluZWQgaW4gYSBzaW1pbGFyIHdheSB0byB0aGF0 IG9mIEI8ZGVmYXVsdD4gVFNDIG1vZGUuCiAKIFBsZWFzZSBzZWUgQjx4ZW4tdHNjbW9kZSg3KT4g Zm9yIG1vcmUgaW5mb3JtYXRpb24gb24gdGhpcyBvcHRpb24uCiAKKz1pdGVtIEI8dnRzY190b2xl cmFuY2Vfa2h6PSJLSFoiPgorCitCPCh4ODYgb25seSwgcmVsZXZhbnQgb25seSBmb3IgdHNjX21v ZGU9ZGVmYXVsdCk+CitXaGVuIGEgZG9tVSBpcyBzdGFydGVkLCB0aGUgQ1BVIGZyZXF1ZW5jeSBv ZiB0aGUgaG9zdCBpcyB1c2VkIGJ5IHRoZSBkb21VIGZvcgorVFNDIHJlbGF0ZWQgdGltZSBtZWFz dXJlbWVudC4gT25jZSB0aGUgZG9tVSBpcyBlaXRoZXIgbWlncmF0ZWQgb3IKK3NhdmVkL3Jlc3Rv cmVkIG9uIGFub3RoZXIgaG9zdCB0aGF0IENQVSBmcmVxdWVuY3kgaGFzIHRvIGJlIGVtdWxhdGVk IHRvIGF2b2lkCit0aW1lZHJpZnQuIFRvIGF2b2lkIHRoZSBwZXJmb3JtYW5jZSBwZW5hbHR5IG9m IHRoZSBUU0MgZW11bGF0aW9uLCBhbGxvdyBhCitjZXJ0YWluIGFtb3VudCBvZiBqaXR0ZXIgb2Yg dGhlIG1lYXN1cmVkIENQVSBmcmVxdWVuY3kgb24gdGhlIGhvc3RzIHRoZSBkb21VCitpcyBzdXBw b3NlZCB0byBydW4gb24uCisKID1pdGVtIEI8bG9jYWx0aW1lPUJPT0xFQU4+CiAKIFNldCB0aGUg cmVhbCB0aW1lIGNsb2NrIHRvIGxvY2FsIHRpbWUgb3IgdG8gVVRDLiBGYWxzZSAoMCkgYnkgZGVm YXVsdCwKZGlmZiAtLWdpdCBhL2RvY3Mvc3BlY3MvbGlieGMtbWlncmF0aW9uLXN0cmVhbS5wYW5k b2MgYi9kb2NzL3NwZWNzL2xpYnhjLW1pZ3JhdGlvbi1zdHJlYW0ucGFuZG9jCmluZGV4IDczNDIx ZmYzOTMuLjBkMGYxN2VkYjEgMTAwNjQ0Ci0tLSBhL2RvY3Mvc3BlY3MvbGlieGMtbWlncmF0aW9u LXN0cmVhbS5wYW5kb2MKKysrIGIvZG9jcy9zcGVjcy9saWJ4Yy1taWdyYXRpb24tc3RyZWFtLnBh bmRvYwpAQCAtMyw3ICszLDcgQEAKICAgQW5kcmV3IENvb3BlciA8PGFuZHJldy5jb29wZXIzQGNp dHJpeC5jb20+PgogICBXZW4gQ29uZ3lhbmcgPDx3ZW5jeUBjbi5mdWppdHN1LmNvbT4+CiAgIFlh bmcgSG9uZ3lhbmcgPDxob25neWFuZy55YW5nQGVhc3lzdGFjay5jbj4+Ci0lIFJldmlzaW9uIDIK KyUgUmV2aXNpb24gMwogCiBJbnRyb2R1Y3Rpb24KID09PT09PT09PT09PQpAQCAtNDcyLDcgKzQ3 Miw3IEBAIFhFTlxfRE9NQ1RMXF97Z2V0LHNldH10c2NpbmZvIGh5cGVyY2FsbCBzdWItb3BzLgog ICAgICstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKwog ICAgIHwgbnNlYyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAog ICAgICstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKwot ICAgIHwgaW5jYXJuYXRpb24gICAgICAgICAgICB8IChyZXNlcnZlZCkgICAgICAgICAgICAgfAor ICAgIHwgaW5jYXJuYXRpb24gICAgICAgICAgICB8IHRvbGVyYW5jZSB8IChyZXNlcnZlZCkgfAog ICAgICstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKwog CiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLQpAQCAtNDg1LDYgKzQ4NSw4IEBAIGtoeiAgICAgICAgICAgICAgVFNDIGZy ZXF1ZW5jeSwgaW4ga0h6LgogbnNlYyAgICAgICAgICAgICBFbGFwc2VkIHRpbWUsIGluIG5hbm9z ZWNvbmRzLgogCiBpbmNhcm5hdGlvbiAgICAgIEluY2FybmF0aW9uLgorCit0b2xlcmFuY2UgICAg ICAgIEFtb3VudCBvZiBKaXR0ZXIgdGhlIGRvbVUgY2FuIGhhbmRsZSBhZnRlciBtaWdyYXRpb24K IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tCiAKIFxjbGVhcnBhZ2UKZGlmZiAtLWdpdCBhL3Rvb2xzL2xpYnhjL2luY2x1 ZGUveGVuY3RybC5oIGIvdG9vbHMvbGlieGMvaW5jbHVkZS94ZW5jdHJsLmgKaW5kZXggMDU4ZTgz MmM0Ny4uOTZiZGQ1NjA5ZCAxMDA2NDQKLS0tIGEvdG9vbHMvbGlieGMvaW5jbHVkZS94ZW5jdHJs LmgKKysrIGIvdG9vbHMvbGlieGMvaW5jbHVkZS94ZW5jdHJsLmgKQEAgLTEzNjAsNiArMTM2MCw3 IEBAIGludCB4Y19kb21haW5fc2V0X3RzY19pbmZvKHhjX2ludGVyZmFjZSAqeGNoLAogICAgICAg ICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgdHNjX21vZGUsCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICB1aW50NjRfdCBlbGFwc2VkX25zZWMsCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICB1aW50MzJfdCBndHNjX2toeiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQx Nl90IHZ0c2NfdG9sZXJhbmNlX2toeiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQz Ml90IGluY2FybmF0aW9uKTsKIAogaW50IHhjX2RvbWFpbl9nZXRfdHNjX2luZm8oeGNfaW50ZXJm YWNlICp4Y2gsCkBAIC0xMzY3LDYgKzEzNjgsNyBAQCBpbnQgeGNfZG9tYWluX2dldF90c2NfaW5m byh4Y19pbnRlcmZhY2UgKnhjaCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90 ICp0c2NfbW9kZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ2NF90ICplbGFwc2Vk X25zZWMsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCAqZ3RzY19raHosCisg ICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MTZfdCAqdnRzY190b2xlcmFuY2Vfa2h6LAog ICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgKmluY2FybmF0aW9uKTsKIAogaW50 IHhjX2RvbWFpbl9kaXNhYmxlX21pZ3JhdGUoeGNfaW50ZXJmYWNlICp4Y2gsIHVpbnQzMl90IGRv bWlkKTsKZGlmZiAtLWdpdCBhL3Rvb2xzL2xpYnhjL3hjX2RvbWFpbi5jIGIvdG9vbHMvbGlieGMv eGNfZG9tYWluLmMKaW5kZXggMjZiNGI5MDhiOS4uMzZhY2MxYzQ1ZiAxMDA2NDQKLS0tIGEvdG9v bHMvbGlieGMveGNfZG9tYWluLmMKKysrIGIvdG9vbHMvbGlieGMveGNfZG9tYWluLmMKQEAgLTg1 Miw2ICs4NTIsNyBAQCBpbnQgeGNfZG9tYWluX3NldF90c2NfaW5mbyh4Y19pbnRlcmZhY2UgKnhj aCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHRzY19tb2RlLAogICAgICAg ICAgICAgICAgICAgICAgICAgICAgdWludDY0X3QgZWxhcHNlZF9uc2VjLAogICAgICAgICAgICAg ICAgICAgICAgICAgICAgdWludDMyX3QgZ3RzY19raHosCisgICAgICAgICAgICAgICAgICAgICAg ICAgICB1aW50MTZfdCB2dHNjX3RvbGVyYW5jZV9raHosCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICB1aW50MzJfdCBpbmNhcm5hdGlvbikKIHsKICAgICBERUNMQVJFX0RPTUNUTDsKQEAgLTg2 MCw2ICs4NjEsNyBAQCBpbnQgeGNfZG9tYWluX3NldF90c2NfaW5mbyh4Y19pbnRlcmZhY2UgKnhj aCwKICAgICBkb21jdGwudS50c2NfaW5mby50c2NfbW9kZSA9IHRzY19tb2RlOwogICAgIGRvbWN0 bC51LnRzY19pbmZvLmVsYXBzZWRfbnNlYyA9IGVsYXBzZWRfbnNlYzsKICAgICBkb21jdGwudS50 c2NfaW5mby5ndHNjX2toeiA9IGd0c2Nfa2h6OworICAgIGRvbWN0bC51LnRzY19pbmZvLnZ0c2Nf dG9sZXJhbmNlX2toeiA9IHZ0c2NfdG9sZXJhbmNlX2toejsKICAgICBkb21jdGwudS50c2NfaW5m by5pbmNhcm5hdGlvbiA9IGluY2FybmF0aW9uOwogICAgIHJldHVybiBkb19kb21jdGwoeGNoLCAm ZG9tY3RsKTsKIH0KQEAgLTg2OSw2ICs4NzEsNyBAQCBpbnQgeGNfZG9tYWluX2dldF90c2NfaW5m byh4Y19pbnRlcmZhY2UgKnhjaCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90 ICp0c2NfbW9kZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ2NF90ICplbGFwc2Vk X25zZWMsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCAqZ3RzY19raHosCisg ICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MTZfdCAqdnRzY190b2xlcmFuY2Vfa2h6LAog ICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgKmluY2FybmF0aW9uKQogewogICAg IGludCByYzsKQEAgLTg4Miw2ICs4ODUsNyBAQCBpbnQgeGNfZG9tYWluX2dldF90c2NfaW5mbyh4 Y19pbnRlcmZhY2UgKnhjaCwKICAgICAgICAgKnRzY19tb2RlID0gZG9tY3RsLnUudHNjX2luZm8u dHNjX21vZGU7CiAgICAgICAgICplbGFwc2VkX25zZWMgPSBkb21jdGwudS50c2NfaW5mby5lbGFw c2VkX25zZWM7CiAgICAgICAgICpndHNjX2toeiA9IGRvbWN0bC51LnRzY19pbmZvLmd0c2Nfa2h6 OworICAgICAgICAqdnRzY190b2xlcmFuY2Vfa2h6ID0gZG9tY3RsLnUudHNjX2luZm8udnRzY190 b2xlcmFuY2Vfa2h6OwogICAgICAgICAqaW5jYXJuYXRpb24gPSBkb21jdGwudS50c2NfaW5mby5p bmNhcm5hdGlvbjsKICAgICB9CiAgICAgcmV0dXJuIHJjOwpkaWZmIC0tZ2l0IGEvdG9vbHMvbGli eGMveGNfc3JfY29tbW9uX3g4Ni5jIGIvdG9vbHMvbGlieGMveGNfc3JfY29tbW9uX3g4Ni5jCmlu ZGV4IDk4ZjFjZWYzMGYuLmVhM2U1NTFhODMgMTAwNjQ0Ci0tLSBhL3Rvb2xzL2xpYnhjL3hjX3Ny X2NvbW1vbl94ODYuYworKysgYi90b29scy9saWJ4Yy94Y19zcl9jb21tb25feDg2LmMKQEAgLTEy LDcgKzEyLDggQEAgaW50IHdyaXRlX3RzY19pbmZvKHN0cnVjdCB4Y19zcl9jb250ZXh0ICpjdHgp CiAgICAgfTsKIAogICAgIGlmICggeGNfZG9tYWluX2dldF90c2NfaW5mbyh4Y2gsIGN0eC0+ZG9t aWQsICZ0c2MubW9kZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnRzYy5uc2Vj LCAmdHNjLmtoeiwgJnRzYy5pbmNhcm5hdGlvbikgPCAwICkKKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgJnRzYy5uc2VjLCAmdHNjLmtoeiwgJnRzYy52dHNjX3RvbGVyYW5jZSwKKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnRzYy5pbmNhcm5hdGlvbikgPCAwICkKICAg ICB7CiAgICAgICAgIFBFUlJPUigiVW5hYmxlIHRvIG9idGFpbiBUU0MgaW5mb3JtYXRpb24iKTsK ICAgICAgICAgcmV0dXJuIC0xOwpAQCAtMzQsNyArMzUsOCBAQCBpbnQgaGFuZGxlX3RzY19pbmZv KHN0cnVjdCB4Y19zcl9jb250ZXh0ICpjdHgsIHN0cnVjdCB4Y19zcl9yZWNvcmQgKnJlYykKICAg ICB9CiAKICAgICBpZiAoIHhjX2RvbWFpbl9zZXRfdHNjX2luZm8oeGNoLCBjdHgtPmRvbWlkLCB0 c2MtPm1vZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRzYy0+bnNlYywgdHNj LT5raHosIHRzYy0+aW5jYXJuYXRpb24pICkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgdHNjLT5uc2VjLCB0c2MtPmtoeiwgdHNjLT52dHNjX3RvbGVyYW5jZSwKKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgdHNjLT5pbmNhcm5hdGlvbikgKQogICAgIHsKICAgICAgICAg UEVSUk9SKCJVbmFibGUgdG8gc2V0IFRTQyBpbmZvcm1hdGlvbiIpOwogICAgICAgICByZXR1cm4g LTE7CmRpZmYgLS1naXQgYS90b29scy9saWJ4Yy94Y19zcl9zdHJlYW1fZm9ybWF0LmggYi90b29s cy9saWJ4Yy94Y19zcl9zdHJlYW1fZm9ybWF0LmgKaW5kZXggMTVmZjFjN2VmYi4uOWI1MmY2YWNl NiAxMDA2NDQKLS0tIGEvdG9vbHMvbGlieGMveGNfc3Jfc3RyZWFtX2Zvcm1hdC5oCisrKyBiL3Rv b2xzL2xpYnhjL3hjX3NyX3N0cmVhbV9mb3JtYXQuaApAQCAtMTIxLDcgKzEyMSw4IEBAIHN0cnVj dCB4Y19zcl9yZWNfdHNjX2luZm8KICAgICB1aW50MzJfdCBraHo7CiAgICAgdWludDY0X3QgbnNl YzsKICAgICB1aW50MzJfdCBpbmNhcm5hdGlvbjsKLSAgICB1aW50MzJfdCBfcmVzMTsKKyAgICB1 aW50MTZfdCB2dHNjX3RvbGVyYW5jZTsKKyAgICB1aW50MTZfdCBfcmVzMTsKIH07CiAKIC8qIEhW TV9QQVJBTVMgKi8KZGlmZiAtLWdpdCBhL3Rvb2xzL2xpYnhsL2xpYnhsLmggYi90b29scy9saWJ4 bC9saWJ4bC5oCmluZGV4IGVkZDI0NDI3OGEuLjdlMmI3MDMyNTEgMTAwNjQ0Ci0tLSBhL3Rvb2xz L2xpYnhsL2xpYnhsLmgKKysrIGIvdG9vbHMvbGlieGwvbGlieGwuaApAQCAtMzU0LDYgKzM1NCwx MiBAQAogI2RlZmluZSBMSUJYTF9IQVZFX0JVSUxESU5GT19CT09UTE9BREVSIDEKICNkZWZpbmUg TElCWExfSEFWRV9CVUlMRElORk9fQk9PVExPQURFUl9BUkdTIDEKIAorLyoKKyAqIExJQlhMX0hB VkVfVlRTQ19UT0xFUkFOQ0VfS0haIGluZGljYXRlcyB0aGF0IGxpYnhsX2RvbWFpbl9idWlsZF9p bmZvCisgKiBoYXMgdGhlIHZ0c2NfdG9sZXJhbmNlX2toeiBmaWVsZC4KKyAqLworI2RlZmluZSBM SUJYTF9IQVZFX1ZUU0NfVE9MRVJBTkNFX0tIWiAxCisKIC8qCiAgKiBsaWJ4bCBBQkkgY29tcGF0 aWJpbGl0eQogICoKZGlmZiAtLWdpdCBhL3Rvb2xzL2xpYnhsL2xpYnhsX3R5cGVzLmlkbCBiL3Rv b2xzL2xpYnhsL2xpYnhsX3R5cGVzLmlkbAppbmRleCBkYmIyODdkNmZlLi44Yjg5OGJiM2M5IDEw MDY0NAotLS0gYS90b29scy9saWJ4bC9saWJ4bF90eXBlcy5pZGwKKysrIGIvdG9vbHMvbGlieGwv bGlieGxfdHlwZXMuaWRsCkBAIC00NjYsNiArNDY2LDcgQEAgbGlieGxfZG9tYWluX2J1aWxkX2lu Zm8gPSBTdHJ1Y3QoImRvbWFpbl9idWlsZF9pbmZvIixbCiAgICAgKCJ2Y3B1X3NvZnRfYWZmaW5p dHkiLCBBcnJheShsaWJ4bF9iaXRtYXAsICJudW1fdmNwdV9zb2Z0X2FmZmluaXR5IikpLAogICAg ICgibnVtYV9wbGFjZW1lbnQiLCAgbGlieGxfZGVmYm9vbCksCiAgICAgKCJ0c2NfbW9kZSIsICAg ICAgICBsaWJ4bF90c2NfbW9kZSksCisgICAgKCJ2dHNjX3RvbGVyYW5jZV9raHoiLCB1aW50MzIp LAogICAgICgibWF4X21lbWtiIiwgICAgICAgTWVtS0IpLAogICAgICgidGFyZ2V0X21lbWtiIiwg ICAgTWVtS0IpLAogICAgICgidmlkZW9fbWVta2IiLCAgICAgTWVtS0IpLApkaWZmIC0tZ2l0IGEv dG9vbHMvbGlieGwvbGlieGxfeDg2LmMgYi90b29scy9saWJ4bC9saWJ4bF94ODYuYwppbmRleCAx ZTlmOTg5NjFiLi5hYjVmZjlhYThiIDEwMDY0NAotLS0gYS90b29scy9saWJ4bC9saWJ4bF94ODYu YworKysgYi90b29scy9saWJ4bC9saWJ4bF94ODYuYwpAQCAtMzEzLDcgKzMxMyw4IEBAIGludCBs aWJ4bF9fYXJjaF9kb21haW5fY3JlYXRlKGxpYnhsX19nYyAqZ2MsIGxpYnhsX2RvbWFpbl9jb25m aWcgKmRfY29uZmlnLAogICAgIGRlZmF1bHQ6CiAgICAgICAgIGFib3J0KCk7CiAgICAgfQotICAg IHhjX2RvbWFpbl9zZXRfdHNjX2luZm8oY3R4LT54Y2gsIGRvbWlkLCB0c2NfbW9kZSwgMCwgMCwg MCk7CisgICAgeGNfZG9tYWluX3NldF90c2NfaW5mbyhjdHgtPnhjaCwgZG9taWQsIHRzY19tb2Rl LCAwLCAwLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgZF9jb25maWctPmJfaW5mby52dHNj X3RvbGVyYW5jZV9raHosIDApOwogICAgIGlmIChsaWJ4bF9kZWZib29sX3ZhbChkX2NvbmZpZy0+ Yl9pbmZvLmRpc2FibGVfbWlncmF0ZSkpCiAgICAgICAgIHhjX2RvbWFpbl9kaXNhYmxlX21pZ3Jh dGUoY3R4LT54Y2gsIGRvbWlkKTsKICAgICBydGNfdGltZW9mZnNldCA9IGRfY29uZmlnLT5iX2lu Zm8ucnRjX3RpbWVvZmZzZXQ7CmRpZmYgLS1naXQgYS90b29scy9weXRob24veGVuL2xvd2xldmVs L3hjL3hjLmMgYi90b29scy9weXRob24veGVuL2xvd2xldmVsL3hjL3hjLmMKaW5kZXggZjUwMTc2 NDEwMC4uZTczZTJjYWZjNyAxMDA2NDQKLS0tIGEvdG9vbHMvcHl0aG9uL3hlbi9sb3dsZXZlbC94 Yy94Yy5jCisrKyBiL3Rvb2xzL3B5dGhvbi94ZW4vbG93bGV2ZWwveGMveGMuYwpAQCAtMTUyMiw3 ICsxNTIyLDcgQEAgc3RhdGljIFB5T2JqZWN0ICpweXhjX2RvbWFpbl9zZXRfdHNjX2luZm8oWGNP YmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzKQogICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShh cmdzLCAiaWkiLCAmZG9tLCAmdHNjX21vZGUpKQogICAgICAgICByZXR1cm4gTlVMTDsKIAotICAg IGlmICh4Y19kb21haW5fc2V0X3RzY19pbmZvKHNlbGYtPnhjX2hhbmRsZSwgZG9tLCB0c2NfbW9k ZSwgMCwgMCwgMCkgIT0gMCkKKyAgICBpZiAoeGNfZG9tYWluX3NldF90c2NfaW5mbyhzZWxmLT54 Y19oYW5kbGUsIGRvbSwgdHNjX21vZGUsIDAsIDAsIDAsIDApICE9IDApCiAgICAgICAgIHJldHVy biBweXhjX2Vycm9yX3RvX2V4Y2VwdGlvbihzZWxmLT54Y19oYW5kbGUpOwogCiAgICAgUHlfSU5D UkVGKHplcm8pOwpkaWZmIC0tZ2l0IGEvdG9vbHMveGwveGxfcGFyc2UuYyBiL3Rvb2xzL3hsL3hs X3BhcnNlLmMKaW5kZXggOGI5OTk4MjVkMi4uZGRhZGRkNmU2NSAxMDA2NDQKLS0tIGEvdG9vbHMv eGwveGxfcGFyc2UuYworKysgYi90b29scy94bC94bF9wYXJzZS5jCkBAIC0xMTI2LDYgKzExMjYs OSBAQCB2b2lkIHBhcnNlX2NvbmZpZ19kYXRhKGNvbnN0IGNoYXIgKmNvbmZpZ19zb3VyY2UsCiAg ICAgICAgIH0KICAgICB9CiAKKyAgICBpZiAoIXhsdV9jZmdfZ2V0X2xvbmcoY29uZmlnLCAidnRz Y190b2xlcmFuY2Vfa2h6IiwgJmwsIDApKQorICAgICAgICBiX2luZm8tPnZ0c2NfdG9sZXJhbmNl X2toeiA9IGwgPCAwIHx8IGwgPiBVSU5UMTZfTUFYID8gVUlOVDE2X01BWCA6IGw7CisKICAgICBp ZiAoIXhsdV9jZmdfZ2V0X2xvbmcoY29uZmlnLCAicnRjX3RpbWVvZmZzZXQiLCAmbCwgMCkpCiAg ICAgICAgIGJfaW5mby0+cnRjX3RpbWVvZmZzZXQgPSBsOwogCmRpZmYgLS1naXQgYS94ZW4vYXJj aC94ODYvZG9tYWluLmMgYi94ZW4vYXJjaC94ODYvZG9tYWluLmMKaW5kZXggZmJiMzIwZGE5Yy4u ZDQwYjkxNzIxZSAxMDA2NDQKLS0tIGEveGVuL2FyY2gveDg2L2RvbWFpbi5jCisrKyBiL3hlbi9h cmNoL3g4Ni9kb21haW4uYwpAQCAtNTYxLDcgKzU2MSw3IEBAIGludCBhcmNoX2RvbWFpbl9jcmVh dGUoc3RydWN0IGRvbWFpbiAqZCwKICAgICAgICAgQVNTRVJUX1VOUkVBQ0hBQkxFKCk7IC8qIE5v dCBIVk0gYW5kIG5vdCBQVj8gKi8KIAogICAgIC8qIGluaXRpYWxpemUgZGVmYXVsdCB0c2MgYmVo YXZpb3IgaW4gY2FzZSB0b29scyBkb24ndCAqLwotICAgIHRzY19zZXRfaW5mbyhkLCBUU0NfTU9E RV9ERUZBVUxULCAwVUwsIDAsIDApOworICAgIHRzY19zZXRfaW5mbyhkLCBUU0NfTU9ERV9ERUZB VUxULCAwVUwsIDAsIDAsIDApOwogCiAgICAgLyogUFYvUFZIIGd1ZXN0cyBnZXQgYW4gZW11bGF0 ZWQgUElUIHRvbyBmb3IgdmlkZW8gQklPU2VzIHRvIHVzZS4gKi8KICAgICBwaXRfaW5pdChkLCBj cHVfa2h6KTsKZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni9kb21jdGwuYyBiL3hlbi9hcmNoL3g4 Ni9kb21jdGwuYwppbmRleCA4ZmJiZjNhZWIzLi5kODZmZjU4NDgyIDEwMDY0NAotLS0gYS94ZW4v YXJjaC94ODYvZG9tY3RsLmMKKysrIGIveGVuL2FyY2gveDg2L2RvbWN0bC5jCkBAIC05MzksNiAr OTM5LDcgQEAgbG9uZyBhcmNoX2RvX2RvbWN0bCgKICAgICAgICAgICAgIHRzY19nZXRfaW5mbyhk LCAmZG9tY3RsLT51LnRzY19pbmZvLnRzY19tb2RlLAogICAgICAgICAgICAgICAgICAgICAgICAg ICZkb21jdGwtPnUudHNjX2luZm8uZWxhcHNlZF9uc2VjLAogICAgICAgICAgICAgICAgICAgICAg ICAgICZkb21jdGwtPnUudHNjX2luZm8uZ3RzY19raHosCisgICAgICAgICAgICAgICAgICAgICAg ICAgJmRvbWN0bC0+dS50c2NfaW5mby52dHNjX3RvbGVyYW5jZV9raHosCiAgICAgICAgICAgICAg ICAgICAgICAgICAgJmRvbWN0bC0+dS50c2NfaW5mby5pbmNhcm5hdGlvbik7CiAgICAgICAgICAg ICBkb21haW5fdW5wYXVzZShkKTsKICAgICAgICAgICAgIGNvcHliYWNrID0gdHJ1ZTsKQEAgLTk1 NCw2ICs5NTUsNyBAQCBsb25nIGFyY2hfZG9fZG9tY3RsKAogICAgICAgICAgICAgdHNjX3NldF9p bmZvKGQsIGRvbWN0bC0+dS50c2NfaW5mby50c2NfbW9kZSwKICAgICAgICAgICAgICAgICAgICAg ICAgICBkb21jdGwtPnUudHNjX2luZm8uZWxhcHNlZF9uc2VjLAogICAgICAgICAgICAgICAgICAg ICAgICAgIGRvbWN0bC0+dS50c2NfaW5mby5ndHNjX2toeiwKKyAgICAgICAgICAgICAgICAgICAg ICAgICBkb21jdGwtPnUudHNjX2luZm8udnRzY190b2xlcmFuY2Vfa2h6LAogICAgICAgICAgICAg ICAgICAgICAgICAgIGRvbWN0bC0+dS50c2NfaW5mby5pbmNhcm5hdGlvbik7CiAgICAgICAgICAg ICBkb21haW5fdW5wYXVzZShkKTsKICAgICAgICAgfQpkaWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2 L3RpbWUuYyBiL3hlbi9hcmNoL3g4Ni90aW1lLmMKaW5kZXggODRjMWMwYzA4Mi4uZGYyNWJlMWM0 NSAxMDA2NDQKLS0tIGEveGVuL2FyY2gveDg2L3RpbWUuYworKysgYi94ZW4vYXJjaC94ODYvdGlt ZS5jCkBAIC0yMDY0LDcgKzIwNjQsNyBAQCBpbnQgaG9zdF90c2NfaXNfc2FmZSh2b2lkKQogICov CiB2b2lkIHRzY19nZXRfaW5mbyhzdHJ1Y3QgZG9tYWluICpkLCB1aW50MzJfdCAqdHNjX21vZGUs CiAgICAgICAgICAgICAgICAgICB1aW50NjRfdCAqZWxhcHNlZF9uc2VjLCB1aW50MzJfdCAqZ3Rz Y19raHosCi0gICAgICAgICAgICAgICAgICB1aW50MzJfdCAqaW5jYXJuYXRpb24pCisgICAgICAg ICAgICAgICAgICB1aW50MTZfdCAqdnRzY190b2xlcmFuY2Vfa2h6LCB1aW50MzJfdCAqaW5jYXJu YXRpb24pCiB7CiAgICAgYm9vbCBlbmFibGVfdHNjX3NjYWxpbmcgPSBpc19odm1fZG9tYWluKGQp ICYmCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBodm1fdHNjX3NjYWxpbmdfc3VwcG9y dGVkICYmICFkLT5hcmNoLnZ0c2M7CkBAIC0yMDgwLDYgKzIwODAsNyBAQCB2b2lkIHRzY19nZXRf aW5mbyhzdHJ1Y3QgZG9tYWluICpkLCB1aW50MzJfdCAqdHNjX21vZGUsCiAgICAgICAgICplbGFw c2VkX25zZWMgPSAqZ3RzY19raHogPSAwOwogICAgICAgICBicmVhazsKICAgICBjYXNlIFRTQ19N T0RFX0RFRkFVTFQ6CisgICAgICAgICp2dHNjX3RvbGVyYW5jZV9raHogPSBkLT5hcmNoLnZ0c2Nf dG9sZXJhbmNlX2toejsKICAgICAgICAgaWYgKCBkLT5hcmNoLnZ0c2MgKQogICAgICAgICB7CiAg ICAgY2FzZSBUU0NfTU9ERV9BTFdBWVNfRU1VTEFURToKQEAgLTIxMjIsNyArMjEyMyw4IEBAIHZv aWQgdHNjX2dldF9pbmZvKHN0cnVjdCBkb21haW4gKmQsIHVpbnQzMl90ICp0c2NfbW9kZSwKICAq Lwogdm9pZCB0c2Nfc2V0X2luZm8oc3RydWN0IGRvbWFpbiAqZCwKICAgICAgICAgICAgICAgICAg IHVpbnQzMl90IHRzY19tb2RlLCB1aW50NjRfdCBlbGFwc2VkX25zZWMsCi0gICAgICAgICAgICAg ICAgICB1aW50MzJfdCBndHNjX2toeiwgdWludDMyX3QgaW5jYXJuYXRpb24pCisgICAgICAgICAg ICAgICAgICB1aW50MzJfdCBndHNjX2toeiwgdWludDE2X3QgdnRzY190b2xlcmFuY2Vfa2h6LAor ICAgICAgICAgICAgICAgICAgdWludDMyX3QgaW5jYXJuYXRpb24pCiB7CiAgICAgQVNTRVJUKCFp c19zeXN0ZW1fZG9tYWluKGQpKTsKIApAQCAtMjEzNCw5ICsyMTM2LDEyIEBAIHZvaWQgdHNjX3Nl dF9pbmZvKHN0cnVjdCBkb21haW4gKmQsCiAKICAgICBzd2l0Y2ggKCBkLT5hcmNoLnRzY19tb2Rl ID0gdHNjX21vZGUgKQogICAgIHsKKyAgICAgICAgYm9vbCBkaXNhYmxlX3Z0c2M7CiAgICAgICAg IGJvb2wgZW5hYmxlX3RzY19zY2FsaW5nOwogCiAgICAgY2FzZSBUU0NfTU9ERV9ERUZBVUxUOgor ICAgICAgICBkLT5hcmNoLnZ0c2NfdG9sZXJhbmNlX2toeiA9IHZ0c2NfdG9sZXJhbmNlX2toejsK KyAgICAgICAgLyogRmFsbHRocm91Z2guICovCiAgICAgY2FzZSBUU0NfTU9ERV9BTFdBWVNfRU1V TEFURToKICAgICAgICAgZC0+YXJjaC52dHNjX29mZnNldCA9IGdldF9zX3RpbWUoKSAtIGVsYXBz ZWRfbnNlYzsKICAgICAgICAgZC0+YXJjaC50c2Nfa2h6ID0gZ3RzY19raHogPzogY3B1X2toejsK QEAgLTIxNDksOCArMjE1NCwyNiBAQCB2b2lkIHRzY19zZXRfaW5mbyhzdHJ1Y3QgZG9tYWluICpk LAogICAgICAgICAgKiBXaGVuIGEgZ3Vlc3QgaXMgY3JlYXRlZCwgZ3RzY19raHogaXMgcGFzc2Vk IGluIGFzIHplcm8sIG1ha2luZwogICAgICAgICAgKiBkLT5hcmNoLnRzY19raHogPT0gY3B1X2to ei4gVGh1cyBubyBuZWVkIHRvIGNoZWNrIGluY2FybmF0aW9uLgogICAgICAgICAgKi8KKyAgICAg ICAgZGlzYWJsZV92dHNjID0gZC0+YXJjaC50c2Nfa2h6ID09IGNwdV9raHo7CisKKyAgICAgICAg aWYgKCB0c2NfbW9kZSA9PSBUU0NfTU9ERV9ERUZBVUxUICYmIGd0c2Nfa2h6ICYmCisgICAgICAg ICAgICAgZC0+YXJjaC52dHNjX3RvbGVyYW5jZV9raHogKQorICAgICAgICB7CisgICAgICAgICAg ICB1aW50MzJfdCBraHpfZGlmZjsKKworICAgICAgICAgICAga2h6X2RpZmYgPSBjcHVfa2h6ID4g Z3RzY19raHogPworICAgICAgICAgICAgICAgICAgICAgICBjcHVfa2h6IC0gZ3RzY19raHogOiBn dHNjX2toeiAtIGNwdV9raHo7CisgICAgICAgICAgICBkaXNhYmxlX3Z0c2MgPSBraHpfZGlmZiA8 PSBkLT5hcmNoLnZ0c2NfdG9sZXJhbmNlX2toejsKKworICAgICAgICAgICAgcHJpbnRrKFhFTkxP R19HX0lORk8gIiVzOiBkJXU6IGhvc3QgaGFzICVsdSBrSHosIgorICAgICAgICAgICAgICAgICAg ICIgZG9tVSBleHBlY3RzICV1IGtIeiwiCisgICAgICAgICAgICAgICAgICAgIiBkaWZmZXJlbmNl IG9mICV1IGlzICVzIHRvbGVyYW5jZSBvZiAldVxuIiwKKyAgICAgICAgICAgICAgICAgICBfX2Z1 bmNfXywgZC0+ZG9tYWluX2lkLCBjcHVfa2h6LCBndHNjX2toeiwga2h6X2RpZmYsCisgICAgICAg ICAgICAgICAgICAgZGlzYWJsZV92dHNjID8gIndpdGhpbiIgOiAib3V0c2lkZSIsCisgICAgICAg ICAgICAgICAgICAgZC0+YXJjaC52dHNjX3RvbGVyYW5jZV9raHopOworICAgICAgICB9CiAgICAg ICAgIGlmICggdHNjX21vZGUgPT0gVFNDX01PREVfREVGQVVMVCAmJiBob3N0X3RzY19pc19zYWZl KCkgJiYKLSAgICAgICAgICAgICAoZC0+YXJjaC50c2Nfa2h6ID09IGNwdV9raHogfHwKKyAgICAg ICAgICAgICAoZGlzYWJsZV92dHNjIHx8CiAgICAgICAgICAgICAgIChpc19odm1fZG9tYWluKGQp ICYmCiAgICAgICAgICAgICAgICBodm1fZ2V0X3RzY19zY2FsaW5nX3JhdGlvKGQtPmFyY2gudHNj X2toeikpKSApCiAgICAgICAgIHsKQEAgLTIyMzksNiArMjI2Miw4IEBAIHN0YXRpYyB2b2lkIGR1 bXBfc29mdHRzYyh1bnNpZ25lZCBjaGFyIGtleSkKICAgICAgICAgICAgIHByaW50aygiLG9mcz0l IyJQUkl4NjQsIGQtPmFyY2gudnRzY19vZmZzZXQpOwogICAgICAgICBpZiAoIGQtPmFyY2gudHNj X2toeiApCiAgICAgICAgICAgICBwcmludGsoIixraHo9JSJQUkl1MzIsIGQtPmFyY2gudHNjX2to eik7CisgICAgICAgIGlmICggZC0+YXJjaC52dHNjX3RvbGVyYW5jZV9raHogKQorICAgICAgICAg ICAgcHJpbnRrKCIsdG9sPSUiUFJJdTE2LCBkLT5hcmNoLnZ0c2NfdG9sZXJhbmNlX2toeik7CiAg ICAgICAgIGlmICggZC0+YXJjaC5pbmNhcm5hdGlvbiApCiAgICAgICAgICAgICBwcmludGsoIixp bmM9JSJQUkl1MzIsIGQtPmFyY2guaW5jYXJuYXRpb24pOwogI2lmICFkZWZpbmVkKE5ERUJVRykg fHwgZGVmaW5lZChDT05GSUdfUEVSRl9DT1VOVEVSUykKZGlmZiAtLWdpdCBhL3hlbi9pbmNsdWRl L2FzbS14ODYvZG9tYWluLmggYi94ZW4vaW5jbHVkZS9hc20teDg2L2RvbWFpbi5oCmluZGV4IGEx MmFlNDdmMWIuLjc3NDM5OTU5MzQgMTAwNjQ0Ci0tLSBhL3hlbi9pbmNsdWRlL2FzbS14ODYvZG9t YWluLmgKKysrIGIveGVuL2luY2x1ZGUvYXNtLXg4Ni9kb21haW4uaApAQCAtMzc0LDYgKzM3NCw3 IEBAIHN0cnVjdCBhcmNoX2RvbWFpbgogICAgIHVpbnQ2NF90IHZ0c2Nfb2Zmc2V0OyAgICAvKiBh ZGp1c3RtZW50IGZvciBzYXZlL3Jlc3RvcmUvbWlncmF0ZSAqLwogICAgIHVpbnQzMl90IHRzY19r aHo7ICAgICAgICAvKiBjYWNoZWQgZ3Vlc3Qga2h6IGZvciBjZXJ0YWluIGVtdWxhdGVkIG9yCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhhcmR3YXJlIFRTQyBzY2FsaW5nIGNhc2Vz ICovCisgICAgdWludDMyX3QgdnRzY190b2xlcmFuY2Vfa2h6OyAvKiBkb21VIGhhbmRsZXMgdGhh dCBtdWNoIGppdHRlciBpbiBjcHVfa2h6ICovCiAgICAgc3RydWN0IHRpbWVfc2NhbGUgdnRzY190 b19uczsgLyogc2NhbGluZyBmb3IgY2VydGFpbiBlbXVsYXRlZCBvcgogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIGhhcmR3YXJlIFRTQyBzY2FsaW5nIGNhc2VzICovCiAgICAg c3RydWN0IHRpbWVfc2NhbGUgbnNfdG9fdnRzYzsgLyogc2NhbGluZyBmb3IgY2VydGFpbiBlbXVs YXRlZCBvcgpkaWZmIC0tZ2l0IGEveGVuL2luY2x1ZGUvYXNtLXg4Ni90aW1lLmggYi94ZW4vaW5j bHVkZS9hc20teDg2L3RpbWUuaAppbmRleCBiM2FlODMyZGY0Li5lZjliZTdhNzAxIDEwMDY0NAot LS0gYS94ZW4vaW5jbHVkZS9hc20teDg2L3RpbWUuaAorKysgYi94ZW4vaW5jbHVkZS9hc20teDg2 L3RpbWUuaApAQCAtNjEsMTAgKzYxLDEyIEBAIHU2NCBndGltZV90b19ndHNjKHN0cnVjdCBkb21h aW4gKmQsIHU2NCB0aW1lKTsKIHU2NCBndHNjX3RvX2d0aW1lKHN0cnVjdCBkb21haW4gKmQsIHU2 NCB0c2MpOwogCiB2b2lkIHRzY19zZXRfaW5mbyhzdHJ1Y3QgZG9tYWluICpkLCB1aW50MzJfdCB0 c2NfbW9kZSwgdWludDY0X3QgZWxhcHNlZF9uc2VjLAotICAgICAgICAgICAgICAgICAgdWludDMy X3QgZ3RzY19raHosIHVpbnQzMl90IGluY2FybmF0aW9uKTsKKyAgICAgICAgICAgICAgICAgIHVp bnQzMl90IGd0c2Nfa2h6LCB1aW50MTZfdCB2dHNjX3RvbGVyYW5jZV9raHosCisgICAgICAgICAg ICAgICAgICB1aW50MzJfdCBpbmNhcm5hdGlvbik7CiAgICAKIHZvaWQgdHNjX2dldF9pbmZvKHN0 cnVjdCBkb21haW4gKmQsIHVpbnQzMl90ICp0c2NfbW9kZSwgdWludDY0X3QgKmVsYXBzZWRfbnNl YywKLSAgICAgICAgICAgICAgICAgIHVpbnQzMl90ICpndHNjX2toeiwgdWludDMyX3QgKmluY2Fy bmF0aW9uKTsKKyAgICAgICAgICAgICAgICAgIHVpbnQzMl90ICpndHNjX2toeiwgdWludDE2X3Qg KnZ0c2NfdG9sZXJhbmNlX2toeiwKKyAgICAgICAgICAgICAgICAgIHVpbnQzMl90ICppbmNhcm5h dGlvbik7CiAgICAKIAogdm9pZCBmb3JjZV91cGRhdGVfdmNwdV9zeXN0ZW1fdGltZShzdHJ1Y3Qg dmNwdSAqdik7CmRpZmYgLS1naXQgYS94ZW4vaW5jbHVkZS9wdWJsaWMvZG9tY3RsLmggYi94ZW4v aW5jbHVkZS9wdWJsaWMvZG9tY3RsLmgKaW5kZXggZWM3YTg2MGFmYy4uNzBhNThhZTJlNCAxMDA2 NDQKLS0tIGEveGVuL2luY2x1ZGUvcHVibGljL2RvbWN0bC5oCisrKyBiL3hlbi9pbmNsdWRlL3B1 YmxpYy9kb21jdGwuaApAQCAtNzAyLDcgKzcwMiw4IEBAIHN0cnVjdCB4ZW5fZG9tY3RsX3RzY19p bmZvIHsKICAgICB1aW50MzJfdCB0c2NfbW9kZTsKICAgICB1aW50MzJfdCBndHNjX2toejsKICAg ICB1aW50MzJfdCBpbmNhcm5hdGlvbjsKLSAgICB1aW50MzJfdCBwYWQ7CisgICAgdWludDE2X3Qg dnRzY190b2xlcmFuY2Vfa2h6OworICAgIHVpbnQxNl90IHBhZDsKICAgICB1aW50NjRfYWxpZ25l ZF90IGVsYXBzZWRfbnNlYzsKIH07CiAKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fClhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhl bnByb2plY3Qub3JnCmh0dHBzOi8vbGlzdHMueGVucHJvamVjdC5vcmcvbWFpbG1hbi9saXN0aW5m by94ZW4tZGV2ZWw=