From mboxrd@z Thu Jan 1 00:00:00 1970 From: Chao Gao Subject: [PATCH v3] VT-d PI: track the vcpu number in pi blocking list Date: Wed, 24 May 2017 14:56:15 +0800 Message-ID: <1495608977-15921-2-git-send-email-chao.gao@intel.com> References: <1495608977-15921-1-git-send-email-chao.gao@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1495608977-15921-1-git-send-email-chao.gao@intel.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: xen-devel@lists.xen.org Cc: Kevin Tian , Wei Liu , Jan Beulich , George Dunlap , Andrew Cooper , Ian Jackson , Jun Nakajima , Chao Gao List-Id: xen-devel@lists.xenproject.org VGhpcyBwYXRjaCBhZGRzIGEgZmllbGQsIGNvdW50ZXIsIGluIHN0cnVjdCB2bXhfcGlfYmxvY2tp bmdfdmNwdSB0byB0cmFjawpob3cgbWFueSBlbnRyaWVzIGFyZSBvbiB0aGUgcGkgYmxvY2tpbmcg bGlzdC4gSW4gb3JkZXIgdG8gYW5hbHl6ZSBsaXN0Cm9wZXJhdGlvbiBmcmVxdWVuY2UgYW5kIG9i dGFpbiB0aGUgbGlzdCBsZW5ndGgsIGFkZCBzb21lIHJlbGV2YW50IGV2ZW50cwp0byB4ZW50cmFj ZSBhbmQgc29tZSBhc3NvY2lhdGVkIGNvZGUgaW4geGVuYWx5emUuIEFzIHRvIHhlbmFseXplLCBm b3IKcmVtb3ZpbmcgZnJvbSBwaSBsaXN0IGNhbiBoYXBwZW4gaW4gdmFyaW91cyBjb250ZXh0cyAo aW50ZXJydXB0IGNvbnRleHQsCmFuZCBub24taW50ZXJydXB0IGNvbnRleHQpIGFuZCBiZSBkb25l IGJ5IHRoZSB2Y3B1IGl0c2VsZiBvciBvdGhlcnMsIHNvbWUgb2YKdGhlIGNvbnRleHRzIHdvdWxk IGluY3VyIHRoYXQgdG9wbGV2ZWxfYXNzZXJ0X2NoZWNrKCkgZmFpbHMuIFRvIGJ5cGFzcyB0aGlz CmNoZWNrLCB0aGlzIHBhdGNoIGFkZHMgYSBuZXcgdHlwZSBUUkNfSFZNX0FTWU5DIGFuZCBmb3Ig dGhpcyBuZXcgdHlwZSBldmVudCwKdGhlIGNvbnRleHQgd291bGQgbm90IGJlIGNoZWNrZWQuCgpT aWduZWQtb2ZmLWJ5OiBDaGFvIEdhbyA8Y2hhby5nYW9AaW50ZWwuY29tPgotLS0KIHRvb2xzL3hl bnRyYWNlL2Zvcm1hdHMgICAgICAgICAgfCAgIDMgKwogdG9vbHMveGVudHJhY2UveGVuYWx5emUu YyAgICAgICB8IDE1NCArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0tCiB4 ZW4vYXJjaC94ODYvaHZtL3ZteC92bXguYyAgICAgIHwgIDMzICsrKysrKystLQogeGVuL2luY2x1 ZGUvYXNtLXg4Ni9odm0vdHJhY2UuaCB8ICAgMSArCiB4ZW4vaW5jbHVkZS9wdWJsaWMvdHJhY2Uu aCAgICAgIHwgICA1ICsrCiA1IGZpbGVzIGNoYW5nZWQsIDE4MiBpbnNlcnRpb25zKCspLCAxNCBk ZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS90b29scy94ZW50cmFjZS9mb3JtYXRzIGIvdG9vbHMv eGVudHJhY2UvZm9ybWF0cwppbmRleCA4YjMxNzgwLi41NGUwYjExIDEwMDY0NAotLS0gYS90b29s cy94ZW50cmFjZS9mb3JtYXRzCisrKyBiL3Rvb2xzL3hlbnRyYWNlL2Zvcm1hdHMKQEAgLTEyNSw2 ICsxMjUsOSBAQAogMHgwMDA4MjAyMCAgQ1BVJShjcHUpZCAgJSh0c2MpZCAoKyUocmVsdHNjKThk KSAgSU5UUl9XSU5ET1cgWyB2YWx1ZSA9IDB4JSgxKTA4eCBdCiAweDAwMDgyMDIxICBDUFUlKGNw dSlkICAlKHRzYylkICgrJShyZWx0c2MpOGQpICBOUEYgICAgICAgICBbIGdwYSA9IDB4JSgyKTA4 eCUoMSkwOHggbWZuID0gMHglKDQpMDh4JSgzKTA4eCBxdWFsID0gMHglKDUpMDR4IHAybXQgPSAw eCUoNikwNHggXQogMHgwMDA4MjAyMyAgQ1BVJShjcHUpZCAgJSh0c2MpZCAoKyUocmVsdHNjKThk KSAgVFJBUCAgICAgICAgWyB2ZWN0b3IgPSAweCUoMSkwMnggXQorMHgwMDA4MjAyNiAgQ1BVJShj cHUpZCAgJSh0c2MpZCAoKyUocmVsdHNjKThkKSAgUElfTElTVF9BREQgWyBkb21pZCA9IDB4JSgx KTA0eCB2Y3B1ID0gMHglKDIpMDR4LCBwY3B1ID0gMHglKDMpMDR4LCAjZW50cnkgPSAweCUoNCkw NHggXQorCisweDAwMDg4MDAxICBDUFUlKGNwdSlkICAlKHRzYylkICgrJShyZWx0c2MpOGQpICBB U1lOQ19QSV9MSVNUX0RFTCBbIGRvbWlkID0gMHglKDEpMDR4IHZjcHUgPSAweCUoMikwNHggXQog CiAweDAwMTBmMDAxICBDUFUlKGNwdSlkICAlKHRzYylkICgrJShyZWx0c2MpOGQpICBwYWdlX2dy YW50X21hcCAgICAgIFsgZG9taWQgPSAlKDEpZCBdCiAweDAwMTBmMDAyICBDUFUlKGNwdSlkICAl KHRzYylkICgrJShyZWx0c2MpOGQpICBwYWdlX2dyYW50X3VubWFwICAgIFsgZG9taWQgPSAlKDEp ZCBdCmRpZmYgLS1naXQgYS90b29scy94ZW50cmFjZS94ZW5hbHl6ZS5jIGIvdG9vbHMveGVudHJh Y2UveGVuYWx5emUuYwppbmRleCBmYTYwOGFkLi5mYmMyNDI5IDEwMDY0NAotLS0gYS90b29scy94 ZW50cmFjZS94ZW5hbHl6ZS5jCisrKyBiL3Rvb2xzL3hlbnRyYWNlL3hlbmFseXplLmMKQEAgLTI5 Niw2ICsyOTYsNyBAQCBzdHJ1Y3Qgc3ltYm9sX3N0cnVjdCB7CiB9OwogCiB2b2lkIGVycm9yKGVu dW0gZXJyb3JfbGV2ZWwgbCwgc3RydWN0IHJlY29yZF9pbmZvICpyaSk7CitzdHJ1Y3QgdmNwdV9k YXRhICogdmNwdV9maW5kKGludCBkaWQsIGludCB2aWQpOwogCiB2b2lkIHBhcnNlX3N5bWJvbF9m aWxlKGNoYXIgKmZuKSB7CiAgICAgdW5zaWduZWQgbG9uZyBsb25nIGxhc3RfYWRkciA9IDA7CkBA IC05NDQsNiArOTQ1LDcgQEAgZW51bSB7CiAgICAgSFZNX0VWRU5UX1RSQVAsCiAgICAgSFZNX0VW RU5UX1RSQVBfREVCVUcsCiAgICAgSFZNX0VWRU5UX1ZMQVBJQywKKyAgICBIVk1fRVZFTlRfUElf TElTVF9BREQsCiAgICAgSFZNX0VWRU5UX0hBTkRMRVJfTUFYCiB9OwogY2hhciAqIGh2bV9ldmVu dF9oYW5kbGVyX25hbWVbSFZNX0VWRU5UX0hBTkRMRVJfTUFYXSA9IHsKQEAgLTk3OSwxMyArOTgx LDE1IEBAIGNoYXIgKiBodm1fZXZlbnRfaGFuZGxlcl9uYW1lW0hWTV9FVkVOVF9IQU5ETEVSX01B WF0gPSB7CiAgICAgInJlYWxtb2RlX2VtdWxhdGUiLAogICAgICJ0cmFwIiwKICAgICAidHJhcF9k ZWJ1ZyIsCi0gICAgInZsYXBpYyIKKyAgICAidmxhcGljIiwKKyAgICAicGlfbGlzdF9hZGQiLAog fTsKIAogZW51bSB7CiAgICAgSFZNX1ZPTF9WTUVOVFJZLAogICAgIEhWTV9WT0xfVk1FWElULAog ICAgIEhWTV9WT0xfSEFORExFUiwKKyAgICBIVk1fVk9MX0FTWU5DLAogICAgIEhWTV9WT0xfTUFY CiB9OwogCkBAIC0xMDEyLDYgKzEwMTYsNyBAQCBjaGFyICpodm1fdm9sX25hbWVbSFZNX1ZPTF9N QVhdID0gewogICAgIFtIVk1fVk9MX1ZNRU5UUlldPSJ2bWVudHJ5IiwKICAgICBbSFZNX1ZPTF9W TUVYSVRdID0idm1leGl0IiwKICAgICBbSFZNX1ZPTF9IQU5ETEVSXT0iaGFuZGxlciIsCisgICAg W0hWTV9WT0xfQVNZTkNdPSJhc3luYyIsCiB9OwogCiBlbnVtIHsKQEAgLTEzMzcsNiArMTM0Miw5 IEBAIHN0cnVjdCBodm1fZGF0YSB7CiAgICAgICAgIHN0cnVjdCB7CiAgICAgICAgICAgICBzdHJ1 Y3QgaW9fYWRkcmVzcyAqbW1pbywgKnBpbzsKICAgICAgICAgfSBpbzsKKyAgICAgICAgc3RydWN0 IHsKKyAgICAgICAgICAgIGludCBwaV9saXN0X2FkZCwgcGlfbGlzdF9kZWw7CisgICAgICAgIH0g cGk7CiAgICAgfSBzdW1tYXJ5OwogCiAgICAgLyogSW4tZmxpZ2h0IGFjY3VtdWxhdGlvbiBpbmZv cm1hdGlvbiAqLwpAQCAtMTM5MSw2ICsxMzk5LDkgQEAgc3RydWN0IGh2bV9kYXRhIHsKIAogICAg IC8qIEhpc3RvcmljYWwgaW5mbyAqLwogICAgIHRzY190IGxhc3RfcmR0c2M7CisKKyAgICAvKiBE ZXN0aW5hdGlvbiBwY3B1IG9mIHBvc3RlZCBpbnRlcnJ1cHQncyB3YWtldXAgaW50ZXJydXB0ICov CisgICAgaW50IHBpX2NwdTsKIH07CiAKIGVudW0gewpAQCAtMTQ1Nyw2ICsxNDY4LDggQEAgdm9p ZCBpbml0X2h2bV9kYXRhKHN0cnVjdCBodm1fZGF0YSAqaCwgc3RydWN0IHZjcHVfZGF0YSAqdikg ewogICAgIH0KICAgICBmb3IoaT0wOyBpPEdVRVNUX0lOVEVSUlVQVF9NQVgrMTsgaSsrKQogICAg ICAgICBoLT5zdW1tYXJ5Lmd1ZXN0X2ludGVycnVwdFtpXS5jb3VudD0wOworCisgICAgaC0+cGlf Y3B1ID0gLTE7CiB9CiAKIC8qIFBWIGRhdGEgKi8KQEAgLTE3NjYsNiArMTc3OSwxNCBAQCBjaGFy ICogdG9wbGV2ZWxfbmFtZVtUT1BMRVZFTF9NQVhdID0gewogICAgIFtUT1BMRVZFTF9IV109Imh3 IiwKIH07CiAKK2VudW0geworICAgIFNVQkxFVkVMX0hWTV9FTlRSWUVYSVQ9MSwKKyAgICBTVUJM RVZFTF9IVk1fSEFORExFUiwKKyAgICBTVUJMRVZFTF9IVk1fRU1VTCwKKyAgICBTVUJMRVZFTF9I Vk1fQVNZTkMsCisgICAgU1VCTEVWRUxfSFZNX01BWD1TVUJMRVZFTF9IVk1fQVNZTkMrMSwKK307 CisKIHN0cnVjdCB0cmFjZV92b2x1bWUgewogICAgIHVuc2lnbmVkIGxvbmcgbG9uZyB0b3BsZXZl bFtUT1BMRVZFTF9NQVhdOwogICAgIHVuc2lnbmVkIGxvbmcgbG9uZyBzY2hlZF92ZXJib3NlOwpA QCAtMTg1Miw2ICsxODczLDkgQEAgc3RydWN0IHBjcHVfaW5mbyB7CiAgICAgICAgIHRzY190IHRz YzsKICAgICAgICAgc3RydWN0IGN5Y2xlX3N1bW1hcnkgaWRsZSwgcnVubmluZywgbG9zdDsKICAg ICB9IHRpbWU7CisKKyAgICAvKiBQb3N0ZWQgSW50ZXJydXB0IExpc3QgTGVuZ3RoICovCisgICAg aW50IHBpX2xpc3RfbGVuZ3RoOwogfTsKIAogdm9pZCBfX2ZpbGxfaW5fcmVjb3JkX2luZm8oc3Ry dWN0IHBjcHVfaW5mbyAqcCk7CkBAIC00NzI2LDYgKzQ3NTAsNzEgQEAgdm9pZCBodm1fZ2VuZXJp Y19kdW1wKHN0cnVjdCByZWNvcmRfaW5mbyAqcmksIGNoYXIgKiBwcmVmaXgpCiAgICAgcHJpbnRm KCIgXVxuIik7CiB9CiAKK3ZvaWQgaHZtX3BpX2xpc3RfYWRkX3Byb2Nlc3Moc3RydWN0IHJlY29y ZF9pbmZvICpyaSwgc3RydWN0IGh2bV9kYXRhICpoKQoreworICAgIHN0cnVjdCB7CisgICAgICAg IGludCBkaWQ7CisgICAgICAgIGludCB2aWQ7CisgICAgICAgIGludCBwY3B1OworICAgICAgICBp bnQgbGVuOworICAgIH0gKmRhdGE7CisgICAgc3RydWN0IHZjcHVfZGF0YSAqdjsKKworICAgIGRh dGEgPSAodHlwZW9mKGRhdGEpKXJpLT5yZWMudS50c2MuZGF0YTsKKyAgICB2ID0gdmNwdV9maW5k KGRhdGEtPmRpZCwgZGF0YS0+dmlkKTsKKyAgICBpZiAoICF2LT5odm0uaW5pdCApCisgICAgICAg IGluaXRfaHZtX2RhdGEoJnYtPmh2bSwgdik7CisKKyAgICBpZiAoIG9wdC5kdW1wX2FsbCApCisg ICAgICAgIHByaW50ZigiZCV1diV1IGlzIGFkZGVkIHRvIHBpIGJsb2NraW5nIGxpc3Qgb2YgcGNw dSV1LiAiCisgICAgICAgICAgICAgICAiVGhlIGxpc3QgbGVuZ3RoIGlzIG5vdyAlZFxuIiwKKyAg ICAgICAgICAgICAgIGRhdGEtPmRpZCwgZGF0YS0+dmlkLCBkYXRhLT5wY3B1LCBkYXRhLT5sZW4p OworCisgICAgdi0+aHZtLnBpX2NwdSA9IGRhdGEtPnBjcHU7CisgICAgdi0+aHZtLnN1bW1hcnku cGkucGlfbGlzdF9hZGQrKzsKKyAgICBpZiAoIGRhdGEtPnBjcHUgPiBQLm1heF9hY3RpdmVfcGNw dSB8fCAhUC5wY3B1W2RhdGEtPnBjcHVdLmFjdGl2ZSApCisgICAgICAgIGZwcmludGYoc3RkZXJy LCAiU3RyYW5nZSEgcGNwdSV1IGlzIGluYWN0aXZlIGJ1dCBhIHZjcHUgaXMgYWRkZWQiCisgICAg ICAgICAgICAgICAgInRvIGl0IiwgZGF0YS0+cGNwdSk7CisgICAgZWxzZSBpZiAoIFAucGNwdVtk YXRhLT5wY3B1XS5waV9saXN0X2xlbmd0aCA9PSAtMSApCisgICAgICAgIFAucGNwdVtkYXRhLT5w Y3B1XS5waV9saXN0X2xlbmd0aCA9IGRhdGEtPmxlbjsKKyAgICBlbHNlIGlmICggZGF0YS0+bGVu ICE9ICsrUC5wY3B1W2RhdGEtPnBjcHVdLnBpX2xpc3RfbGVuZ3RoICkKKyAgICAgICAgLyoKKyAg ICAgICAgICogQ29ycmVjdCBwaSBsaXN0IGxlbmd0aC4gUmVtb3Zpbmcgb25lIHZjcHUgdGhhdCBp cyBhbHJlYWR5IG9uIHRoZQorICAgICAgICAgKiBsaXN0IGJlZm9yZSB0cmFjaW5nIHN0YXJ0cyB3 b3VsZCBub3QgZGVjcmVhc2UgdGhlIHBpIGxpc3QgbGVuZ3RoOworICAgICAgICAgKiB0aGUgbGlz dCBsZW5ndGggd291bGQgYmUgaW5hY2N1YXRlLgorICAgICAgICAgKi8KKyAgICAgICAgUC5wY3B1 W2RhdGEtPnBjcHVdLnBpX2xpc3RfbGVuZ3RoID0gZGF0YS0+bGVuOworfQorCit2b2lkIGh2bV9w aV9saXN0X2RlbF9wcm9jZXNzKHN0cnVjdCByZWNvcmRfaW5mbyAqcmkpCit7CisgICAgc3RydWN0 IHsKKyAgICAgICAgaW50IGRpZDsKKyAgICAgICAgaW50IHZpZDsKKyAgICB9ICpkYXRhOworICAg IHN0cnVjdCB2Y3B1X2RhdGEgKnY7CisKKyAgICBkYXRhID0gKHR5cGVvZihkYXRhKSlyaS0+cmVj LnUudHNjLmRhdGE7CisgICAgdiA9IHZjcHVfZmluZChkYXRhLT5kaWQsIGRhdGEtPnZpZCk7Cisg ICAgaWYgKCAhdi0+aHZtLmluaXQgKQorICAgICAgICBpbml0X2h2bV9kYXRhKCZ2LT5odm0sIHYp OworCisgICAgaWYgKCBvcHQuZHVtcF9hbGwgKQorICAgIHsKKyAgICAgICAgaWYgKCB2LT5odm0u cGlfY3B1ICE9IC0xICkKKyAgICAgICAgICAgIHByaW50ZigiZCV1diV1IGlzIHJlbW92ZWQgZnJv bSBwaSBibG9ja2luZyBsaXN0IG9mIHBjcHUldVxuIiwKKyAgICAgICAgICAgICAgICAgICBkYXRh LT5kaWQsIGRhdGEtPnZpZCwgdi0+aHZtLnBpX2NwdSk7CisgICAgICAgIGVsc2UKKyAgICAgICAg ICAgIHByaW50ZigiZCV1diV1IGlzIHJlbW92ZWQgZnJvbSBwaSBibG9ja2luZyBsaXN0XG4iLAor ICAgICAgICAgICAgICAgICAgIGRhdGEtPmRpZCwgZGF0YS0+dmlkKTsKKyAgICB9CisKKyAgICBp ZiAoIFAucGNwdVt2LT5odm0ucGlfY3B1XS5waV9saXN0X2xlbmd0aCAhPSAtMSApCisgICAgICAg IFAucGNwdVt2LT5odm0ucGlfY3B1XS5waV9saXN0X2xlbmd0aC0tOworICAgIHYtPmh2bS5waV9j cHUgPSAtMTsKKyAgICB2LT5odm0uc3VtbWFyeS5waS5waV9saXN0X2RlbCsrOworfQorCiB2b2lk IGh2bV9oYW5kbGVyX3Byb2Nlc3Moc3RydWN0IHJlY29yZF9pbmZvICpyaSwgc3RydWN0IGh2bV9k YXRhICpoKSB7CiAgICAgLyogV2FpdCBmb3IgZmlyc3Qgdm1leGl0IHRvIGluaXRpYWxpemUgKi8K ICAgICBpZighaC0+aW5pdCkKQEAgLTQ3NjMsNiArNDg1Miw5IEBAIHZvaWQgaHZtX2hhbmRsZXJf cHJvY2VzcyhzdHJ1Y3QgcmVjb3JkX2luZm8gKnJpLCBzdHJ1Y3QgaHZtX2RhdGEgKmgpIHsKICAg ICBjYXNlIFRSQ19IVk1fSU5UUl9XSU5ET1c6CiAgICAgICAgIGh2bV9pbnRyX3dpbmRvd19wcm9j ZXNzKHJpLCBoKTsKICAgICAgICAgYnJlYWs7CisgICAgY2FzZSBUUkNfSFZNX1BJX0xJU1RfQURE OgorICAgICAgICBodm1fcGlfbGlzdF9hZGRfcHJvY2VzcyhyaSwgaCk7CisgICAgICAgIGJyZWFr OwogICAgIGNhc2UgVFJDX0hWTV9PUF9ERVNUUk9ZX1BST0M6CiAgICAgICAgIGlmKGgtPnYtPmNy My5kYXRhKSB7CiAgICAgICAgICAgICBzdHJ1Y3QgY3IzX3ZhbHVlX3N0cnVjdCAqY3VyID0gaC0+ di0+Y3IzLmRhdGE7CkBAIC00ODYyLDcgKzQ5NTQsNiBAQCBuZWVkc192bWV4aXQ6CiB2b2lkIHZj cHVfbmV4dF91cGRhdGUoc3RydWN0IHBjcHVfaW5mbyAqcCwgc3RydWN0IHZjcHVfZGF0YSAqbmV4 dCwgdHNjX3QgdHNjKTsKIHZvaWQgdmNwdV9wcmV2X3VwZGF0ZShzdHJ1Y3QgcGNwdV9pbmZvICpw LCBzdHJ1Y3QgdmNwdV9kYXRhICpwcmV2LAogICAgICAgICAgICAgICAgICAgICAgIHRzY190IHRz YywgaW50IG5ld19ydW5zdGF0ZSk7Ci1zdHJ1Y3QgdmNwdV9kYXRhICogdmNwdV9maW5kKGludCBk aWQsIGludCB2aWQpOwogdm9pZCBsb3NlX3ZjcHUoc3RydWN0IHZjcHVfZGF0YSAqdiwgdHNjX3Qg dHNjKTsKIAogaW50IGRvbWFpbl9ydW5zdGF0ZShzdHJ1Y3QgZG9tYWluX2RhdGEgKmQpIHsKQEAg LTUyNjcsNiArNTM1OCwyMSBAQCB2b2lkIGh2bV9wcm9jZXNzKHN0cnVjdCBwY3B1X2luZm8gKnAp CiAgICAgc3RydWN0IHZjcHVfZGF0YSAqdiA9IHAtPmN1cnJlbnQ7CiAgICAgc3RydWN0IGh2bV9k YXRhICpoID0gJnYtPmh2bTsKIAorICAgIGlmKHJpLT5ldnQuc3ViID09IDgpCisgICAgeworICAg ICAgICBVUERBVEVfVk9MVU1FKHAsIGh2bVtIVk1fVk9MX0FTWU5DXSwgcmktPnNpemUpOworCisg ICAgICAgIHN3aXRjaChyaS0+ZXZlbnQpIHsKKyAgICAgICAgY2FzZSBUUkNfSFZNX0FTWU5DX1BJ X0xJU1RfREVMOgorICAgICAgICAgICAgaHZtX3BpX2xpc3RfZGVsX3Byb2Nlc3MocmkpOworICAg ICAgICAgICAgYnJlYWs7CisKKyAgICAgICAgZGVmYXVsdDoKKyAgICAgICAgICAgIGZwcmludGYo d2FybiwgIlVua25vd24gaHZtIGV2ZW50OiAleFxuIiwgcmktPmV2ZW50KTsKKyAgICAgICAgfQor ICAgICAgICByZXR1cm47CisgICAgfQorCiAgICAgYXNzZXJ0KHAtPmN1cnJlbnQpOwogCiAgICAg aWYodmNwdV9zZXRfZGF0YV90eXBlKHAtPmN1cnJlbnQsIFZDUFVfREFUQV9IVk0pKQpAQCAtNTM1 OSw2ICs1NDY1LDEwIEBAIHZvaWQgaHZtX3N1bW1hcnkoc3RydWN0IGh2bV9kYXRhICpoKSB7CiAg ICAgICAgICAgICAgICAgICBpLCBoLT5zdW1tYXJ5LmlwaV9jb3VudFtpXSk7CiAgICBodm1faW9f YWRkcmVzc19zdW1tYXJ5KGgtPnN1bW1hcnkuaW8ucGlvLCAiSU8gYWRkcmVzcyBzdW1tYXJ5OiIp OwogICAgaHZtX2lvX2FkZHJlc3Nfc3VtbWFyeShoLT5zdW1tYXJ5LmlvLm1taW8sICJNTUlPIGFk ZHJlc3Mgc3VtbWFyeToiKTsKKworICAgcHJpbnRmKCJQb3N0ZWQgSW50ZXJydXB0OlxuIik7Cisg ICBwcmludGYoIiBMaXN0IEFkZDogJXVcbiIsIGgtPnN1bW1hcnkucGkucGlfbGlzdF9hZGQpOwor ICAgcHJpbnRmKCIgTGlzdCBEZWw6ICV1XG4iLCBoLT5zdW1tYXJ5LnBpLnBpX2xpc3RfZGVsKTsK IH0KIAogLyogLS0tLSBTaGFkb3cgcmVjb3JkcyAtLS0tICovCkBAIC04OTYyLDYgKzkwNzIsNyBA QCBvZmZfdCBzY2FuX2Zvcl9uZXdfcGNwdShvZmZfdCBvZmZzZXQpIHsKIAogICAgICAgICBwLT5m aWxlX29mZnNldCA9IG9mZnNldDsKICAgICAgICAgcC0+bmV4dF9jcHVfY2hhbmdlX29mZnNldCA9 IG9mZnNldDsKKyAgICAgICAgcC0+cGlfbGlzdF9sZW5ndGggPSAtMTsKIAogICAgICAgICByZWNv cmRfb3JkZXJfaW5zZXJ0KHApOwogCkBAIC05MTQyLDcgKzkyNTMsNiBAQCBpbnQgZmluZF90b3Bs ZXZlbF9ldmVudChzdHJ1Y3QgcmVjb3JkX2luZm8gKnJpKQogICAgIHJldHVybiB0b3BsZXZlbDsK IH0KIAotCiB2b2lkIHByb2Nlc3NfY3B1X2NoYW5nZShzdHJ1Y3QgcGNwdV9pbmZvICpwKSB7CiAg ICAgc3RydWN0IHJlY29yZF9pbmZvICpyaSA9ICZwLT5yaTsKICAgICBzdHJ1Y3QgY3B1X2NoYW5n ZV9kYXRhICpyID0gKHR5cGVvZihyKSlyaS0+ZDsKQEAgLTkxOTAsNiArOTMwMCw3IEBAIHZvaWQg cHJvY2Vzc19jcHVfY2hhbmdlKHN0cnVjdCBwY3B1X2luZm8gKnApIHsKICAgICAgICAgcDItPnJp LmQgPSBwMi0+cmkucmVjLnUubm90c2MuZGF0YTsKICAgICAgICAgcDItPmZpbGVfb2Zmc2V0ID0g cC0+ZmlsZV9vZmZzZXQ7CiAgICAgICAgIHAyLT5uZXh0X2NwdV9jaGFuZ2Vfb2Zmc2V0ID0gcC0+ ZmlsZV9vZmZzZXQ7CisgICAgICAgIHAyLT5waV9saXN0X2xlbmd0aCA9IC0xOwogCiAgICAgICAg IGZwcmludGYod2FybiwgIiVzOiBBY3RpdmF0aW5nIHBjcHUgJWQgYXQgb2Zmc2V0ICVsbGRcbiIs CiAgICAgICAgICAgICAgICAgX19mdW5jX18sIHItPmNwdSwgKHVuc2lnbmVkIGxvbmcgbG9uZylw LT5maWxlX29mZnNldCk7CkBAIC05Mjc2LDI2ICs5Mzg3LDUyIEBAIHZvaWQgcHJvY2Vzc19jcHVf Y2hhbmdlKHN0cnVjdCBwY3B1X2luZm8gKnApIHsKICAgICB9CiB9CiAKLXN0cnVjdCB0bF9hc3Nl cnRfbWFzayB7CitzdHJ1Y3QgYXNzZXJ0X21hc2sgewogICAgIHVuc2lnbmVkIHBfY3VycmVudDox LAotICAgICAgICBub3RfaWRsZV9kb21haW46MTsKKyAgICAgICAgbm90X2lkbGVfZG9tYWluOjEs CisgICAgICAgIGNoZWNrX3N1YmxldmVsOjE7CiAgICAgaW50IHZjcHVfZGF0YV9tb2RlOworICAg IGludCBzdWJfbWF4OworICAgIHN0cnVjdCBhc3NlcnRfbWFzayAqc3ViOwogfTsKLXN0YXRpYyBz dHJ1Y3QgdGxfYXNzZXJ0X21hc2sgdGxfYXNzZXJ0X2NoZWNrc1tUT1BMRVZFTF9NQVhdID0gewot ICAgIFtUUkNfSFZNX01BSU5dPXsgLnBfY3VycmVudD0xLCAubm90X2lkbGVfZG9tYWluPTEsIC52 Y3B1X2RhdGFfbW9kZT1WQ1BVX0RBVEFfSFZNIH0sCisKK3N0YXRpYyBzdHJ1Y3QgYXNzZXJ0X21h c2sgc2xfaHZtX2Fzc2VydF9tYXNrW1NVQkxFVkVMX0hWTV9NQVhdID0geworICAgIFtTVUJMRVZF TF9IVk1fRU5UUllFWElUXSA9IHsgLnBfY3VycmVudD0xLCAubm90X2lkbGVfZG9tYWluPTEsIC52 Y3B1X2RhdGFfbW9kZT1WQ1BVX0RBVEFfSFZNIH0sCisgICAgW1NVQkxFVkVMX0hWTV9IQU5ETEVS XSA9IHsgLnBfY3VycmVudD0xLCAubm90X2lkbGVfZG9tYWluPTEsIC52Y3B1X2RhdGFfbW9kZT1W Q1BVX0RBVEFfSFZNIH0sCisgICAgW1NVQkxFVkVMX0hWTV9FTVVMXSA9IHsgLnBfY3VycmVudD0x LCAubm90X2lkbGVfZG9tYWluPTEsIC52Y3B1X2RhdGFfbW9kZT1WQ1BVX0RBVEFfSFZNIH0sCit9 OworCitzdGF0aWMgc3RydWN0IGFzc2VydF9tYXNrIHRsX2Fzc2VydF9jaGVja3NbVE9QTEVWRUxf TUFYXSA9IHsKKyAgICBbVFJDX0hWTV9NQUlOXT17IC5jaGVja19zdWJsZXZlbD0xLCAuc3ViPXNs X2h2bV9hc3NlcnRfbWFzaywgLnN1Yl9tYXg9U1VCTEVWRUxfSFZNX01BWCB9LAogICAgIFtUUkNf U0hBRE9XX01BSU5dPXsgLnBfY3VycmVudD0xLCAubm90X2lkbGVfZG9tYWluPTEsIC52Y3B1X2Rh dGFfbW9kZT1WQ1BVX0RBVEFfSFZNIH0sCiAgICAgW1RSQ19QVl9NQUlOXT17IC5wX2N1cnJlbnQ9 MSwgLm5vdF9pZGxlX2RvbWFpbj0xLCAudmNwdV9kYXRhX21vZGU9VkNQVV9EQVRBX1BWIH0sCiB9 OwogCisvKiBPdGhlciBzdWIgdHlwZXMgYXJlIHJlc2VydmVkICovCitzdGF0aWMgaW50IHN1Ymxl dmVsX3RvX2luZGV4WzE2XSA9IHsKKyAgICBbMV0gPSAxLAorICAgIFsyXSA9IDIsCisgICAgWzRd ID0gMywKKyAgICBbOF0gPSA0LAorfTsKKwogLyogVGhlcmUgYXJlIGEgbG90IG9mIGNvbW1vbiBh c3N1bXB0aW9ucyBmb3IgdGhlIHZhcmlvdXMgcHJvY2Vzc2luZwogICogcm91dGluZXMuICBDaGVj ayB0aGVtIGFsbCBpbiBvbmUgcGxhY2UsIGRvaW5nIHNvbWV0aGluZyBlbHNlIGlmCiAgKiB0aGV5 IGRvbid0IHBhc3MuICovCiBpbnQgdG9wbGV2ZWxfYXNzZXJ0X2NoZWNrKGludCB0b3BsZXZlbCwg c3RydWN0IHBjcHVfaW5mbyAqcCkKIHsKLSAgICBzdHJ1Y3QgdGxfYXNzZXJ0X21hc2sgbWFzazsK KyAgICBzdHJ1Y3QgYXNzZXJ0X21hc2sgbWFzazsKIAogICAgIG1hc2sgPSB0bF9hc3NlcnRfY2hl Y2tzW3RvcGxldmVsXTsKIAorICAgIGlmIChtYXNrLmNoZWNrX3N1YmxldmVsKQorICAgIHsKKyAg ICAgICAgaW50IHN1YiA9IHN1YmxldmVsX3RvX2luZGV4W3AtPnJpLmV2dC5zdWJdOworCisgICAg ICAgIGFzc2VydChtYXNrLnN1YiAmJiAoc3ViIDwgbWFzay5zdWJfbWF4KSk7CisgICAgICAgIG1h c2sgPSBtYXNrLnN1YltzdWJdOworICAgIH0KKwogICAgIGlmIChtYXNrLnBfY3VycmVudCAmJiBw LT5jdXJyZW50ID09IE5VTEwpCiAgICAgewogICAgICAgICBmcHJpbnRmKHdhcm4sICJXQVJOSU5H OiBwLT5jdXJyZW50IG51bGwhICBOb3QgcHJvY2Vzc2luZ1xuIik7CkBAIC05MzYyLDcgKzk0OTks NiBAQCB2b2lkIHByb2Nlc3NfcmVjb3JkKHN0cnVjdCBwY3B1X2luZm8gKnApIHsKICAgICBpZihv cHQuZHVtcF9hbGwpCiAgICAgICAgIGNyZWF0ZV9kdW1wX2hlYWRlcihyaSwgcCk7CiAKLQogICAg IHRvcGxldmVsID0gZmluZF90b3BsZXZlbF9ldmVudChyaSk7CiAgICAgaWYgKCB0b3BsZXZlbCA8 IDAgKQogICAgICAgICByZXR1cm47CmRpZmYgLS1naXQgYS94ZW4vYXJjaC94ODYvaHZtL3ZteC92 bXguYyBiL3hlbi9hcmNoL3g4Ni9odm0vdm14L3ZteC5jCmluZGV4IGM4ZWYxOGEuLmFiYmYxNmIg MTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL3g4Ni9odm0vdm14L3ZteC5jCisrKyBiL3hlbi9hcmNoL3g4 Ni9odm0vdm14L3ZteC5jCkBAIC04Miw2ICs4Miw3IEBAIHN0YXRpYyBpbnQgdm14X3ZtZnVuY19p bnRlcmNlcHQoc3RydWN0IGNwdV91c2VyX3JlZ3MgKnJlZ3MpOwogc3RydWN0IHZteF9waV9ibG9j a2luZ192Y3B1IHsKICAgICBzdHJ1Y3QgbGlzdF9oZWFkICAgICBsaXN0OwogICAgIHNwaW5sb2Nr X3QgICAgICAgICAgIGxvY2s7CisgICAgdWludDMyX3QgICAgICAgICAgICAgY291bnRlcjsKIH07 CiAKIC8qCkBAIC0xMTksNiArMTIwLDkgQEAgc3RhdGljIHZvaWQgdm14X3ZjcHVfYmxvY2soc3Ry dWN0IHZjcHUgKnYpCiAgICAgICovCiAgICAgQVNTRVJUKG9sZF9sb2NrID09IE5VTEwpOwogCisg ICAgcGVyX2NwdSh2bXhfcGlfYmxvY2tpbmcsIHYtPnByb2Nlc3NvcikuY291bnRlcisrOworICAg IFRSQUNFXzREKFRSQ19IVk1fUElfTElTVF9BREQsIHYtPmRvbWFpbi0+ZG9tYWluX2lkLCB2LT52 Y3B1X2lkLAorICAgICAgICAgICAgIHYtPnByb2Nlc3NvciwgcGVyX2NwdSh2bXhfcGlfYmxvY2tp bmcsIHYtPnByb2Nlc3NvcikuY291bnRlcik7CiAgICAgbGlzdF9hZGRfdGFpbCgmdi0+YXJjaC5o dm1fdm14LnBpX2Jsb2NraW5nLmxpc3QsCiAgICAgICAgICAgICAgICAgICAmcGVyX2NwdSh2bXhf cGlfYmxvY2tpbmcsIHYtPnByb2Nlc3NvcikubGlzdCk7CiAgICAgc3Bpbl91bmxvY2tfaXJxcmVz dG9yZShwaV9ibG9ja2luZ19saXN0X2xvY2ssIGZsYWdzKTsKQEAgLTE4Niw2ICsxOTAsOSBAQCBz dGF0aWMgdm9pZCB2bXhfcGlfdW5ibG9ja192Y3B1KHN0cnVjdCB2Y3B1ICp2KQogICAgIHsKICAg ICAgICAgQVNTRVJUKHYtPmFyY2guaHZtX3ZteC5waV9ibG9ja2luZy5sb2NrID09IHBpX2Jsb2Nr aW5nX2xpc3RfbG9jayk7CiAgICAgICAgIGxpc3RfZGVsKCZ2LT5hcmNoLmh2bV92bXgucGlfYmxv Y2tpbmcubGlzdCk7CisgICAgICAgIGNvbnRhaW5lcl9vZihwaV9ibG9ja2luZ19saXN0X2xvY2ss CisgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3Qgdm14X3BpX2Jsb2NraW5nX3ZjcHUsIGxvY2sp LT5jb3VudGVyLS07CisgICAgICAgIFRSQUNFXzJEKFRSQ19IVk1fQVNZTkNfUElfTElTVF9ERUws IHYtPmRvbWFpbi0+ZG9tYWluX2lkLCB2LT52Y3B1X2lkKTsKICAgICAgICAgdi0+YXJjaC5odm1f dm14LnBpX2Jsb2NraW5nLmxvY2sgPSBOVUxMOwogICAgIH0KIApAQCAtMjIwLDYgKzIyNyw4IEBA IHZvaWQgdm14X3BpX2Rlc2NfZml4dXAodW5zaWduZWQgaW50IGNwdSkKIAogICAgIGxpc3RfZm9y X2VhY2hfZW50cnlfc2FmZSh2bXgsIHRtcCwgYmxvY2tlZF92Y3B1cywgcGlfYmxvY2tpbmcubGlz dCkKICAgICB7CisgICAgICAgIHN0cnVjdCB2Y3B1ICp2ID0gY29udGFpbmVyX29mKHZteCwgc3Ry dWN0IHZjcHUsIGFyY2guaHZtX3ZteCk7CisKICAgICAgICAgLyoKICAgICAgICAgICogU3VwcHJl c3Mgbm90aWZpY2F0aW9uIG9yIHdlIG1heSBtaXNzIGFuIGludGVycnVwdCB3aGVuIHRoZQogICAg ICAgICAgKiB0YXJnZXQgY3B1IGlzIGR5aW5nLgpAQCAtMjM0LDggKzI0MywxMSBAQCB2b2lkIHZt eF9waV9kZXNjX2ZpeHVwKHVuc2lnbmVkIGludCBjcHUpCiAgICAgICAgIGlmICggcGlfdGVzdF9v bigmdm14LT5waV9kZXNjKSApCiAgICAgICAgIHsKICAgICAgICAgICAgIGxpc3RfZGVsKCZ2bXgt PnBpX2Jsb2NraW5nLmxpc3QpOworICAgICAgICAgICAgVFJBQ0VfMkQoVFJDX0hWTV9BU1lOQ19Q SV9MSVNUX0RFTCwgdi0+ZG9tYWluLT5kb21haW5faWQsCisgICAgICAgICAgICAgICAgICAgICB2 LT52Y3B1X2lkKTsKKyAgICAgICAgICAgIHBlcl9jcHUodm14X3BpX2Jsb2NraW5nLCBjcHUpLmNv dW50ZXItLTsKICAgICAgICAgICAgIHZteC0+cGlfYmxvY2tpbmcubG9jayA9IE5VTEw7Ci0gICAg ICAgICAgICB2Y3B1X3VuYmxvY2soY29udGFpbmVyX29mKHZteCwgc3RydWN0IHZjcHUsIGFyY2gu aHZtX3ZteCkpOworICAgICAgICAgICAgdmNwdV91bmJsb2NrKHYpOwogICAgICAgICB9CiAgICAg ICAgIGVsc2UKICAgICAgICAgewpAQCAtMjU4LDYgKzI3MCwxMiBAQCB2b2lkIHZteF9waV9kZXNj X2ZpeHVwKHVuc2lnbmVkIGludCBjcHUpCiAKICAgICAgICAgICAgIGxpc3RfbW92ZSgmdm14LT5w aV9ibG9ja2luZy5saXN0LAogICAgICAgICAgICAgICAgICAgICAgICZwZXJfY3B1KHZteF9waV9i bG9ja2luZywgbmV3X2NwdSkubGlzdCk7CisgICAgICAgICAgICBwZXJfY3B1KHZteF9waV9ibG9j a2luZywgY3B1KS5jb3VudGVyLS07CisgICAgICAgICAgICBwZXJfY3B1KHZteF9waV9ibG9ja2lu ZywgbmV3X2NwdSkuY291bnRlcisrOworICAgICAgICAgICAgVFJBQ0VfMkQoVFJDX0hWTV9BU1lO Q19QSV9MSVNUX0RFTCwgdi0+ZG9tYWluLT5kb21haW5faWQsCisgICAgICAgICAgICAgICAgICAg ICB2LT52Y3B1X2lkKTsKKyAgICAgICAgICAgIFRSQUNFXzREKFRSQ19IVk1fUElfTElTVF9BREQs IHYtPmRvbWFpbi0+ZG9tYWluX2lkLCB2LT52Y3B1X2lkLAorICAgICAgICAgICAgICAgICAgICAg bmV3X2NwdSwgcGVyX2NwdSh2bXhfcGlfYmxvY2tpbmcsIG5ld19jcHUpLmNvdW50ZXIpOwogICAg ICAgICAgICAgdm14LT5waV9ibG9ja2luZy5sb2NrID0gbmV3X2xvY2s7CiAKICAgICAgICAgICAg IHNwaW5fdW5sb2NrKG5ld19sb2NrKTsKQEAgLTIzNTgsOSArMjM3Niw5IEBAIHN0YXRpYyBzdHJ1 Y3QgaHZtX2Z1bmN0aW9uX3RhYmxlIF9faW5pdGRhdGEgdm14X2Z1bmN0aW9uX3RhYmxlID0gewog c3RhdGljIHZvaWQgcGlfd2FrZXVwX2ludGVycnVwdChzdHJ1Y3QgY3B1X3VzZXJfcmVncyAqcmVn cykKIHsKICAgICBzdHJ1Y3QgYXJjaF92bXhfc3RydWN0ICp2bXgsICp0bXA7Ci0gICAgc3Bpbmxv Y2tfdCAqbG9jayA9ICZwZXJfY3B1KHZteF9waV9ibG9ja2luZywgc21wX3Byb2Nlc3Nvcl9pZCgp KS5sb2NrOwotICAgIHN0cnVjdCBsaXN0X2hlYWQgKmJsb2NrZWRfdmNwdXMgPQotCQkmcGVyX2Nw dSh2bXhfcGlfYmxvY2tpbmcsIHNtcF9wcm9jZXNzb3JfaWQoKSkubGlzdDsKKyAgICB1bnNpZ25l ZCBpbnQgY3B1ID0gc21wX3Byb2Nlc3Nvcl9pZCgpOworICAgIHNwaW5sb2NrX3QgKmxvY2sgPSAm cGVyX2NwdSh2bXhfcGlfYmxvY2tpbmcsIGNwdSkubG9jazsKKyAgICBzdHJ1Y3QgbGlzdF9oZWFk ICpibG9ja2VkX3ZjcHVzID0gJnBlcl9jcHUodm14X3BpX2Jsb2NraW5nLCBjcHUpLmxpc3Q7CiAK ICAgICBhY2tfQVBJQ19pcnEoKTsKICAgICB0aGlzX2NwdShpcnFfY291bnQpKys7CkBAIC0yMzc2 LDEwICsyMzk0LDE1IEBAIHN0YXRpYyB2b2lkIHBpX3dha2V1cF9pbnRlcnJ1cHQoc3RydWN0IGNw dV91c2VyX3JlZ3MgKnJlZ3MpCiAgICAgewogICAgICAgICBpZiAoIHBpX3Rlc3Rfb24oJnZteC0+ cGlfZGVzYykgKQogICAgICAgICB7CisgICAgICAgICAgICBzdHJ1Y3QgdmNwdSAqdiA9IGNvbnRh aW5lcl9vZih2bXgsIHN0cnVjdCB2Y3B1LCBhcmNoLmh2bV92bXgpOworCiAgICAgICAgICAgICBs aXN0X2RlbCgmdm14LT5waV9ibG9ja2luZy5saXN0KTsKKyAgICAgICAgICAgIFRSQUNFXzJEKFRS Q19IVk1fQVNZTkNfUElfTElTVF9ERUwsIHYtPmRvbWFpbi0+ZG9tYWluX2lkLAorICAgICAgICAg ICAgICAgICAgICAgdi0+dmNwdV9pZCk7CisgICAgICAgICAgICBwZXJfY3B1KHZteF9waV9ibG9j a2luZywgY3B1KS5jb3VudGVyLS07CiAgICAgICAgICAgICBBU1NFUlQodm14LT5waV9ibG9ja2lu Zy5sb2NrID09IGxvY2spOwogICAgICAgICAgICAgdm14LT5waV9ibG9ja2luZy5sb2NrID0gTlVM TDsKLSAgICAgICAgICAgIHZjcHVfdW5ibG9jayhjb250YWluZXJfb2Yodm14LCBzdHJ1Y3QgdmNw dSwgYXJjaC5odm1fdm14KSk7CisgICAgICAgICAgICB2Y3B1X3VuYmxvY2sodik7CiAgICAgICAg IH0KICAgICB9CiAKZGlmZiAtLWdpdCBhL3hlbi9pbmNsdWRlL2FzbS14ODYvaHZtL3RyYWNlLmgg Yi94ZW4vaW5jbHVkZS9hc20teDg2L2h2bS90cmFjZS5oCmluZGV4IGRlODAyYTYuLmI3NGZmZGQg MTAwNjQ0Ci0tLSBhL3hlbi9pbmNsdWRlL2FzbS14ODYvaHZtL3RyYWNlLmgKKysrIGIveGVuL2lu Y2x1ZGUvYXNtLXg4Ni9odm0vdHJhY2UuaApAQCAtNTQsNiArNTQsNyBAQAogI2RlZmluZSBET19U UkNfSFZNX1RSQVAgICAgICAgICAgICAgREVGQVVMVF9IVk1fTUlTQwogI2RlZmluZSBET19UUkNf SFZNX1RSQVBfREVCVUcgICAgICAgREVGQVVMVF9IVk1fTUlTQwogI2RlZmluZSBET19UUkNfSFZN X1ZMQVBJQyAgICAgICAgICAgREVGQVVMVF9IVk1fTUlTQworI2RlZmluZSBET19UUkNfSFZNX1BJ X0xJU1RfQUREICAgICAgREVGQVVMVF9IVk1fTUlTQwogCiAKICNkZWZpbmUgVFJDX1BBUl9MT05H KHBhcikgKChwYXIpJjB4RkZGRkZGRkYpLCgocGFyKT4+MzIpCmRpZmYgLS1naXQgYS94ZW4vaW5j bHVkZS9wdWJsaWMvdHJhY2UuaCBiL3hlbi9pbmNsdWRlL3B1YmxpYy90cmFjZS5oCmluZGV4IDdm MmU4OTEuLjE1ZWE4N2MgMTAwNjQ0Ci0tLSBhL3hlbi9pbmNsdWRlL3B1YmxpYy90cmFjZS5oCisr KyBiL3hlbi9pbmNsdWRlL3B1YmxpYy90cmFjZS5oCkBAIC01Myw2ICs1Myw3IEBACiAjZGVmaW5l IFRSQ19IVk1fRU5UUllFWElUICAgMHgwMDA4MTAwMCAgIC8qIFZNRU5UUlkgYW5kICNWTUVYSVQg ICAgICAgKi8KICNkZWZpbmUgVFJDX0hWTV9IQU5ETEVSICAgICAweDAwMDgyMDAwICAgLyogdmFy aW91cyBIVk0gaGFuZGxlcnMgICAgICAqLwogI2RlZmluZSBUUkNfSFZNX0VNVUwgICAgICAgIDB4 MDAwODQwMDAgICAvKiBlbXVsYXRlZCBkZXZpY2VzICovCisjZGVmaW5lIFRSQ19IVk1fQVNZTkMg ICAgICAgMHgwMDA4ODAwMCAgIC8qIEFzeW5jaHJvbm91cyBldmVudHMgKi8KIAogI2RlZmluZSBU UkNfU0NIRURfTUlOICAgICAgIDB4MDAwMjEwMDAgICAvKiBKdXN0IHJ1bnN0YXRlIGNoYW5nZXMg Ki8KICNkZWZpbmUgVFJDX1NDSEVEX0NMQVNTICAgICAweDAwMDIyMDAwICAgLyogU2NoZWR1bGVy LXNwZWNpZmljICAgICovCkBAIC0yMzQsNiArMjM1LDcgQEAKICNkZWZpbmUgVFJDX0hWTV9UUkFQ ICAgICAgICAgICAgIChUUkNfSFZNX0hBTkRMRVIgKyAweDIzKQogI2RlZmluZSBUUkNfSFZNX1RS QVBfREVCVUcgICAgICAgKFRSQ19IVk1fSEFORExFUiArIDB4MjQpCiAjZGVmaW5lIFRSQ19IVk1f VkxBUElDICAgICAgICAgICAoVFJDX0hWTV9IQU5ETEVSICsgMHgyNSkKKyNkZWZpbmUgVFJDX0hW TV9QSV9MSVNUX0FERCAgICAgIChUUkNfSFZNX0hBTkRMRVIgKyAweDI2KQogCiAjZGVmaW5lIFRS Q19IVk1fSU9QT1JUX1dSSVRFICAgIChUUkNfSFZNX0hBTkRMRVIgKyAweDIxNikKICNkZWZpbmUg VFJDX0hWTV9JT01FTV9XUklURSAgICAgKFRSQ19IVk1fSEFORExFUiArIDB4MjE3KQpAQCAtMjU3 LDYgKzI1OSw5IEBACiAjZGVmaW5lIFRSQ19IVk1fRU1VTF9QSUNfUEVORF9JUlFfQ0FMTCAoVFJD X0hWTV9FTVVMICsgMHgxMCkKICNkZWZpbmUgVFJDX0hWTV9FTVVMX0xBUElDX1BJQ19JTlRSICAg IChUUkNfSFZNX0VNVUwgKyAweDExKQogCisvKiBUcmFjZSBhc3luY29ub3VzIGV2ZW50cyBmb3Ig SFZNICovCisjZGVmaW5lIFRSQ19IVk1fQVNZTkNfUElfTElTVF9ERUwgICAgICAoVFJDX0hWTV9B U1lOQyArIDB4MSkKKwogLyogdHJhY2UgZXZlbnRzIGZvciBwZXIgY2xhc3MgKi8KICNkZWZpbmUg VFJDX1BNX0ZSRVFfQ0hBTkdFICAgICAgKFRSQ19IV19QTSArIDB4MDEpCiAjZGVmaW5lIFRSQ19Q TV9JRExFX0VOVFJZICAgICAgIChUUkNfSFdfUE0gKyAweDAyKQotLSAKMS44LjMuMQoKCl9fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fClhlbi1kZXZlbCBtYWls aW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbi5vcmcKaHR0cHM6Ly9saXN0cy54ZW4ub3JnL3hl bi1kZXZlbAo=