From mboxrd@z Thu Jan 1 00:00:00 1970 From: Chao Gao Subject: [PATCH v5 4/4] xentrace: add support for HVM's PI blocking list operation Date: Wed, 16 Aug 2017 13:14:38 +0800 Message-ID: <1502860478-84512-5-git-send-email-chao.gao@intel.com> References: <1502860478-84512-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: <1502860478-84512-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 , Stefano Stabellini , Wei Liu , Jun Nakajima , George Dunlap , Andrew Cooper , Tim Deegan , Jan Beulich , Ian Jackson , Chao Gao List-Id: xen-devel@lists.xenproject.org SW4gb3JkZXIgdG8gYW5hbHl6ZSBQSSBibG9ja2luZyBsaXN0IG9wZXJhdGlvbiBmcmVxdWVuY2Ug YW5kIG9idGFpbgp0aGUgbGlzdCBsZW5ndGgsIGFkZCBzb21lIHJlbGV2YW50IGV2ZW50cyB0byB4 ZW50cmFjZSBhbmQgc29tZQphc3NvY2lhdGVkIGNvZGUgaW4geGVuYWx5emUuCgpTaWduZWQtb2Zm LWJ5OiBDaGFvIEdhbyA8Y2hhby5nYW9AaW50ZWwuY29tPgotLS0KdjU6CiAtIFB1dCBwaSBsaXN0 IG9wZXJhdGlvbiB1bmRlciBIVyBldmVudHMgYW5kIGdldCByaWQgb2YgQVNZTkMgc3R1ZmYKIC0g Z2VuZXJhdGUgc2NhdHRlcnBsb3Qgb2YgcGkgbGlzdCBsZW5ndGggb24gcGNwdXMgdG8gYmUgdml2 aWQgdG8KIGFuYWx5c3QuCnY0OgogLSB0cmFjZSBwYXJ0IG9mIFBhdGNoIDEgaW4gdjMKCi0tLQog dG9vbHMveGVudHJhY2UvZm9ybWF0cyAgICAgfCAgIDIgKwogdG9vbHMveGVudHJhY2UveGVuYWx5 emUuYyAgfCAxMTYgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr CiB4ZW4vYXJjaC94ODYvaHZtL3ZteC92bXguYyB8ICAxNyArKysrKystCiB4ZW4vaW5jbHVkZS9w dWJsaWMvdHJhY2UuaCB8ICAgNSArKwogNCBmaWxlcyBjaGFuZ2VkLCAxMzggaW5zZXJ0aW9ucygr KSwgMiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS90b29scy94ZW50cmFjZS9mb3JtYXRzIGIv dG9vbHMveGVudHJhY2UvZm9ybWF0cwppbmRleCBjMWY1ODRmLi5lOTI2YTE4IDEwMDY0NAotLS0g YS90b29scy94ZW50cmFjZS9mb3JtYXRzCisrKyBiL3Rvb2xzL3hlbnRyYWNlL2Zvcm1hdHMKQEAg LTIwNSw2ICsyMDUsOCBAQAogMHgwMDgwMjAwNiAgQ1BVJShjcHUpZCAgJSh0c2MpZCAoKyUocmVs dHNjKThkKSAgYXNzaWduX3ZlY3RvciBbIGlycSA9ICUoMSlkID0gdmVjdG9yIDB4JSgyKXgsIENQ VSBtYXNrOiAweCUoMykwOHggXQogMHgwMDgwMjAwNyAgQ1BVJShjcHUpZCAgJSh0c2MpZCAoKyUo cmVsdHNjKThkKSAgYm9ndXNfdmVjdG9yIFsgMHglKDEpeCBdCiAweDAwODAyMDA4ICBDUFUlKGNw dSlkICAlKHRzYylkICgrJShyZWx0c2MpOGQpICBkb19pcnEgWyBpcnEgPSAlKDEpZCwgYmVnYW4g PSAlKDIpZHVzLCBlbmRlZCA9ICUoMylkdXMgXQorMHgwMDgwNDAwMSAgQ1BVJShjcHUpZCAgJSh0 c2MpZCAoKyUocmVsdHNjKThkKSAgcGlfbGlzdF9hZGQgWyBkb21pZCA9IDB4JSgxKTA0eCB2Y3B1 ID0gMHglKDIpMDR4LCBwY3B1ID0gMHglKDMpMDR4LCAjZW50cnkgPSAweCUoNCkwNHggXQorMHgw MDgwNDAwMiAgQ1BVJShjcHUpZCAgJSh0c2MpZCAoKyUocmVsdHNjKThkKSAgcGlfbGlzdF9kZWwg WyBkb21pZCA9IDB4JSgxKTA0eCB2Y3B1ID0gMHglKDIpMDR4IF0KIAogMHgwMDA4NDAwMSAgQ1BV JShjcHUpZCAgJSh0c2MpZCAoKyUocmVsdHNjKThkKSAgaHBldCBjcmVhdGUgWyB0biA9ICUoMSlk LCBpcnEgPSAlKDIpZCwgZGVsdGEgPSAweCUoNCkwOHglKDMpMDh4LCBwZXJpb2QgPSAweCUoNikw OHglKDUpMDh4IF0KIDB4MDAwODQwMDIgIENQVSUoY3B1KWQgICUodHNjKWQgKCslKHJlbHRzYyk4 ZCkgIHBpdCBjcmVhdGUgWyBkZWx0YSA9IDB4JSgxKTAxNngsIHBlcmlvZCA9IDB4JSgyKTAxNngg XQpkaWZmIC0tZ2l0IGEvdG9vbHMveGVudHJhY2UveGVuYWx5emUuYyBiL3Rvb2xzL3hlbnRyYWNl L3hlbmFseXplLmMKaW5kZXggMjRjY2UyYS4uMjI3NmEyMyAxMDA2NDQKLS0tIGEvdG9vbHMveGVu dHJhY2UveGVuYWx5emUuYworKysgYi90b29scy94ZW50cmFjZS94ZW5hbHl6ZS5jCkBAIC0xNTks NiArMTU5LDcgQEAgc3RydWN0IHsKICAgICAgICAgc2NhdHRlcnBsb3RfZXh0aW50X2N5Y2xlczox LAogICAgICAgICBzY2F0dGVycGxvdF9yZHRzYzoxLAogICAgICAgICBzY2F0dGVycGxvdF9pcnE6 MSwKKyAgICAgICAgc2NhdHRlcnBsb3RfcGlfbGlzdDoxLAogICAgICAgICBoaXN0b2dyYW1faW50 ZXJydXB0X2VpcDoxLAogICAgICAgICBpbnRlcnZhbF9tb2RlOjEsCiAgICAgICAgIGR1bXBfYWxs OjEsCkBAIC0yMzMsNiArMjM0LDcgQEAgc3RydWN0IHsKICAgICAuc2NhdHRlcnBsb3RfZXh0aW50 X2N5Y2xlcz0wLAogICAgIC5zY2F0dGVycGxvdF9yZHRzYz0wLAogICAgIC5zY2F0dGVycGxvdF9p cnE9MCwKKyAgICAuc2NhdHRlcnBsb3RfcGlfbGlzdD0wLAogICAgIC5oaXN0b2dyYW1faW50ZXJy dXB0X2VpcD0wLAogICAgIC5kdW1wX2FsbCA9IDAsCiAgICAgLmR1bXBfcmF3X3Byb2Nlc3MgPSAw LApAQCAtMTM5MSw2ICsxMzkzLDkgQEAgc3RydWN0IGh2bV9kYXRhIHsKIAogICAgIC8qIEhpc3Rv cmljYWwgaW5mbyAqLwogICAgIHRzY190IGxhc3RfcmR0c2M7CisKKyAgICAvKiBEZXN0aW5hdGlv biBwY3B1IG9mIHBvc3RlZCBpbnRlcnJ1cHQncyB3YWtldXAgaW50ZXJydXB0ICovCisgICAgaW50 IHBpX2NwdTsKIH07CiAKIGVudW0gewpAQCAtMTQ1Nyw2ICsxNDYyLDggQEAgdm9pZCBpbml0X2h2 bV9kYXRhKHN0cnVjdCBodm1fZGF0YSAqaCwgc3RydWN0IHZjcHVfZGF0YSAqdikgewogICAgIH0K ICAgICBmb3IoaT0wOyBpPEdVRVNUX0lOVEVSUlVQVF9NQVgrMTsgaSsrKQogICAgICAgICBoLT5z dW1tYXJ5Lmd1ZXN0X2ludGVycnVwdFtpXS5jb3VudD0wOworCisgICAgaC0+cGlfY3B1ID0gLTE7 CiB9CiAKIC8qIFBWIGRhdGEgKi8KQEAgLTE4NTIsNiArMTg1OSw5IEBAIHN0cnVjdCBwY3B1X2lu Zm8gewogICAgICAgICB0c2NfdCB0c2M7CiAgICAgICAgIHN0cnVjdCBjeWNsZV9zdW1tYXJ5IGlk bGUsIHJ1bm5pbmcsIGxvc3Q7CiAgICAgfSB0aW1lOworCisgICAgLyogUG9zdGVkIEludGVycnVw dCBMaXN0IExlbmd0aCAqLworICAgIGludCBwaV9saXN0X2xlbmd0aDsKIH07CiAKIHZvaWQgX19m aWxsX2luX3JlY29yZF9pbmZvKHN0cnVjdCBwY3B1X2luZm8gKnApOwpAQCAtODU4MSw4ICs4NTkx LDk3IEBAIHZvaWQgaXJxX3Byb2Nlc3Moc3RydWN0IHBjcHVfaW5mbyAqcCkgewogICAgIH0KIH0K IAorc3RhdGljIHZvaWQgcHJvY2Vzc19waV9saXN0X2FkZChzdHJ1Y3QgcmVjb3JkX2luZm8gKnJp KQoreworICAgIHN0cnVjdCB7CisgICAgICAgIGludCBkaWQ7CisgICAgICAgIGludCB2aWQ7Cisg ICAgICAgIGludCBwY3B1OworICAgICAgICBpbnQgbGVuOworICAgIH0gKmRhdGEgPSAodHlwZW9m KGRhdGEpKXJpLT5kOworICAgIHN0cnVjdCB2Y3B1X2RhdGEgKnY7CisKKyAgICB2ID0gdmNwdV9m aW5kKGRhdGEtPmRpZCwgZGF0YS0+dmlkKTsKKyAgICBpZiAoICF2LT5odm0uaW5pdCApCisgICAg ICAgIGluaXRfaHZtX2RhdGEoJnYtPmh2bSwgdik7CisKKyAgICBpZiAoIG9wdC5kdW1wX2FsbCAp CisgICAgICAgIHByaW50ZigiZCV1diV1IGlzIGFkZGVkIHRvIHBpIGJsb2NraW5nIGxpc3Qgb2Yg cGNwdSV1LiAiCisgICAgICAgICAgICAgICAiVGhlIGxpc3QgbGVuZ3RoIGlzIG5vdyAlZFxuIiwK KyAgICAgICAgICAgICAgIGRhdGEtPmRpZCwgZGF0YS0+dmlkLCBkYXRhLT5wY3B1LCBkYXRhLT5s ZW4pOworCisgICAgdi0+aHZtLnBpX2NwdSA9IGRhdGEtPnBjcHU7CisgICAgLyogQ2FsaWJyYXRl IHBpIGxpc3QgbGVuZ3RoICovCisgICAgUC5wY3B1W2RhdGEtPnBjcHVdLnBpX2xpc3RfbGVuZ3Ro ID0gZGF0YS0+bGVuOworCisgICAgaWYgKCBvcHQuc2NhdHRlcnBsb3RfcGlfbGlzdCApCisgICAg eworICAgICAgICBzdHJ1Y3QgdGltZV9zdHJ1Y3QgdDsKKworICAgICAgICBhYnNfY3ljbGVzX3Rv X3RpbWUocmktPnRzYywgJnQpOworICAgICAgICBwcmludGYoIiVkICV1LiUwOXUgJWRcbiIsIGRh dGEtPnBjcHUsIHQucywgdC5ucywKKyAgICAgICAgICAgICAgIFAucGNwdVtkYXRhLT5wY3B1XS5w aV9saXN0X2xlbmd0aCk7CisgICAgfQorfQorCitzdGF0aWMgdm9pZCBwcm9jZXNzX3BpX2xpc3Rf ZGVsKHN0cnVjdCByZWNvcmRfaW5mbyAqcmkpCit7CisgICAgc3RydWN0IHsKKyAgICAgICAgaW50 IGRpZDsKKyAgICAgICAgaW50IHZpZDsKKyAgICB9ICpkYXRhID0gKHR5cGVvZihkYXRhKSlyaS0+ ZDsKKyAgICBzdHJ1Y3QgdmNwdV9kYXRhICp2OworCisgICAgdiA9IHZjcHVfZmluZChkYXRhLT5k aWQsIGRhdGEtPnZpZCk7CisgICAgaWYgKCAhdi0+aHZtLmluaXQgKQorICAgICAgICBpbml0X2h2 bV9kYXRhKCZ2LT5odm0sIHYpOworCisgICAgaWYgKCBvcHQuZHVtcF9hbGwgKQorICAgIHsKKyAg ICAgICAgaWYgKCB2LT5odm0ucGlfY3B1ICE9IC0xICkKKyAgICAgICAgICAgIHByaW50ZigiZCV1 diV1IGlzIHJlbW92ZWQgZnJvbSBwaSBibG9ja2luZyBsaXN0IG9mIHBjcHUldVxuIiwKKyAgICAg ICAgICAgICAgICAgICBkYXRhLT5kaWQsIGRhdGEtPnZpZCwgdi0+aHZtLnBpX2NwdSk7CisgICAg ICAgIGVsc2UKKyAgICAgICAgICAgIHByaW50ZigiZCV1diV1IGlzIHJlbW92ZWQgZnJvbSBwaSBi bG9ja2luZyBsaXN0XG4iLAorICAgICAgICAgICAgICAgICAgIGRhdGEtPmRpZCwgZGF0YS0+dmlk KTsKKyAgICB9CisKKyAgICBpZiAoICh2LT5odm0ucGlfY3B1ICE9IC0xKSAmJiAoUC5wY3B1W3Yt Pmh2bS5waV9jcHVdLnBpX2xpc3RfbGVuZ3RoICE9IC0xKSApCisgICAgeworICAgICAgICBQLnBj cHVbdi0+aHZtLnBpX2NwdV0ucGlfbGlzdF9sZW5ndGgtLTsKKworICAgICAgICBpZiAoIG9wdC5z Y2F0dGVycGxvdF9waV9saXN0ICkKKyAgICAgICAgeworICAgICAgICAgICAgc3RydWN0IHRpbWVf c3RydWN0IHQ7CisKKyAgICAgICAgICAgIGFic19jeWNsZXNfdG9fdGltZShyaS0+dHNjLCAmdCk7 CisgICAgICAgICAgICBwcmludGYoIiVkICV1LiUwOXUgJWRcbiIsIHYtPmh2bS5waV9jcHUsIHQu cywgdC5ucywKKyAgICAgICAgICAgICAgICAgICBQLnBjcHVbdi0+aHZtLnBpX2NwdV0ucGlfbGlz dF9sZW5ndGgpOworICAgICAgICB9CisgICAgfQorICAgIHYtPmh2bS5waV9jcHUgPSAtMTsKK30K KworCitzdGF0aWMgdm9pZCB2dGRfcHJvY2VzcyhzdHJ1Y3QgcGNwdV9pbmZvICpwKSB7CisgICAg c3RydWN0IHJlY29yZF9pbmZvICpyaSA9ICZwLT5yaTsKKworICAgIHN3aXRjaCAocmktPmV2ZW50 KQorICAgIHsKKyAgICBjYXNlIFRSQ19WVERfUElfTElTVF9BREQ6CisgICAgICAgIHByb2Nlc3Nf cGlfbGlzdF9hZGQocmkpOworICAgICAgICBicmVhazsKKyAgICBjYXNlIFRSQ19WVERfUElfTElT VF9ERUw6CisgICAgICAgIHByb2Nlc3NfcGlfbGlzdF9kZWwocmkpOworICAgICAgICBicmVhazsK KyAgICBkZWZhdWx0OgorICAgICAgICBwcm9jZXNzX2dlbmVyaWMoJnAtPnJpKTsKKyAgICB9Cit9 CisKICNkZWZpbmUgVFJDX0hXX1NVQl9QTSAxCiAjZGVmaW5lIFRSQ19IV19TVUJfSVJRIDIKKyNk ZWZpbmUgVFJDX0hXX1NVQl9WVEQgNAogdm9pZCBod19wcm9jZXNzKHN0cnVjdCBwY3B1X2luZm8g KnApCiB7CiAgICAgc3RydWN0IHJlY29yZF9pbmZvICpyaSA9ICZwLT5yaTsKQEAgLTg1OTUsNiAr ODY5NCwxMSBAQCB2b2lkIGh3X3Byb2Nlc3Moc3RydWN0IHBjcHVfaW5mbyAqcCkKICAgICBjYXNl IFRSQ19IV19TVUJfSVJROgogICAgICAgICBpcnFfcHJvY2VzcyhwKTsKICAgICAgICAgYnJlYWs7 CisgICAgY2FzZSBUUkNfSFdfU1VCX1ZURDoKKyAgICAgICAgdnRkX3Byb2Nlc3MocCk7CisgICAg ICAgIGJyZWFrOworICAgIGRlZmF1bHQ6CisgICAgICAgIHByb2Nlc3NfZ2VuZXJpYygmcC0+cmkp OwogICAgIH0KIAogfQpAQCAtOTAyNyw2ICs5MTMxLDcgQEAgb2ZmX3Qgc2Nhbl9mb3JfbmV3X3Bj cHUob2ZmX3Qgb2Zmc2V0KSB7CiAKICAgICAgICAgcC0+ZmlsZV9vZmZzZXQgPSBvZmZzZXQ7CiAg ICAgICAgIHAtPm5leHRfY3B1X2NoYW5nZV9vZmZzZXQgPSBvZmZzZXQ7CisgICAgICAgIHAtPnBp X2xpc3RfbGVuZ3RoID0gLTE7CiAKICAgICAgICAgcmVjb3JkX29yZGVyX2luc2VydChwKTsKIApA QCAtOTI1NSw2ICs5MzYwLDcgQEAgdm9pZCBwcm9jZXNzX2NwdV9jaGFuZ2Uoc3RydWN0IHBjcHVf aW5mbyAqcCkgewogICAgICAgICBwMi0+cmkuZCA9IHAyLT5yaS5yZWMudS5ub3RzYy5kYXRhOwog ICAgICAgICBwMi0+ZmlsZV9vZmZzZXQgPSBwLT5maWxlX29mZnNldDsKICAgICAgICAgcDItPm5l eHRfY3B1X2NoYW5nZV9vZmZzZXQgPSBwLT5maWxlX29mZnNldDsKKyAgICAgICAgcDItPnBpX2xp c3RfbGVuZ3RoID0gLTE7CiAKICAgICAgICAgZnByaW50Zih3YXJuLCAiJXM6IEFjdGl2YXRpbmcg cGNwdSAlZCBhdCBvZmZzZXQgJWxsZFxuIiwKICAgICAgICAgICAgICAgICBfX2Z1bmNfXywgci0+ Y3B1LCAodW5zaWduZWQgbG9uZyBsb25nKXAtPmZpbGVfb2Zmc2V0KTsKQEAgLTEwMDE1LDYgKzEw MTIxLDcgQEAgZW51bSB7CiAgICAgT1BUX1NDQVRURVJQTE9UX0VYVElOVF9DWUNMRVMsCiAgICAg T1BUX1NDQVRURVJQTE9UX1JEVFNDLAogICAgIE9QVF9TQ0FUVEVSUExPVF9JUlEsCisgICAgT1BU X1NDQVRURVJQTE9UX1BJX0xJU1QsCiAgICAgT1BUX0hJU1RPR1JBTV9JTlRFUlJVUFRfRUlQLAog ICAgIC8qIEludGVydmFsIG9wdGlvbnMgKi8KICAgICBPUFRfSU5URVJWQUxfQ1IzX1NDSEVEVUxF X1RJTUUsCkBAIC0xMDMwNCw2ICsxMDQxMSwxMCBAQCBlcnJvcl90IGNtZF9wYXJzZXIoaW50IGtl eSwgY2hhciAqYXJnLCBzdHJ1Y3QgYXJncF9zdGF0ZSAqc3RhdGUpCiAgICAgICAgIEcub3V0cHV0 X2RlZmluZWQgPSAxOwogICAgICAgICBvcHQuc2NhdHRlcnBsb3RfcGNwdT0xOwogICAgICAgICBi cmVhazsKKyAgICBjYXNlIE9QVF9TQ0FUVEVSUExPVF9QSV9MSVNUOgorICAgICAgICBHLm91dHB1 dF9kZWZpbmVkID0gMTsKKyAgICAgICAgb3B0LnNjYXR0ZXJwbG90X3BpX2xpc3Q9MTsKKyAgICAg ICAgYnJlYWs7CiAgICAgY2FzZSBPUFRfSElTVE9HUkFNX0lOVEVSUlVQVF9FSVA6CiAgICAgewog ICAgICAgICBjaGFyICogaW52YWwsICpwOwpAQCAtMTA2NzksNiArMTA3OTAsMTEgQEAgY29uc3Qg c3RydWN0IGFyZ3Bfb3B0aW9uIGNtZF9vcHRzW10gPSAgewogICAgICAgLmdyb3VwID0gT1BUX0dS T1VQX0VYVFJBLAogICAgICAgLmRvYyA9ICJPdXRwdXQgc2NhdHRlcnBsb3Qgb2YgaXJxcyBvbiBw Y3B1cy4iLCB9LAogCisgICAgeyAubmFtZSA9ICJzY2F0dGVycGxvdC1waS1saXN0IiwKKyAgICAg IC5rZXkgPSBPUFRfU0NBVFRFUlBMT1RfUElfTElTVCwKKyAgICAgIC5ncm91cCA9IE9QVF9HUk9V UF9FWFRSQSwKKyAgICAgIC5kb2MgPSAiT3V0cHV0IHNjYXR0ZXJwbG90IG9mIHBpIGJsb2NraW5n IGxpc3QgbGVuZ3RoIG9uIHBjcHVzLiIsIH0sCisKICAgICB7IC5uYW1lID0gImhpc3RvZ3JhbS1p bnRlcnJ1cHQtZWlwIiwKICAgICAgIC5rZXkgPSBPUFRfSElTVE9HUkFNX0lOVEVSUlVQVF9FSVAs CiAgICAgICAuYXJnID0gInZlY3RvclssaW5jcmVtZW50XSIsCmRpZmYgLS1naXQgYS94ZW4vYXJj aC94ODYvaHZtL3ZteC92bXguYyBiL3hlbi9hcmNoL3g4Ni9odm0vdm14L3ZteC5jCmluZGV4IDY0 NmY0MDkuLjNmNzE2ODEgMTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL3g4Ni9odm0vdm14L3ZteC5jCisr KyBiL3hlbi9hcmNoL3g4Ni9odm0vdm14L3ZteC5jCkBAIC0yMTAsNiArMjEwLDggQEAgc3RhdGlj IHZvaWQgdm14X3ZjcHVfYmxvY2soc3RydWN0IHZjcHUgKnYpCiAKICAgICB2bXhfcGlfYWRkX3Zj cHUoJnYtPmFyY2guaHZtX3ZteC5waV9ibG9ja2luZywKICAgICAgICAgICAgICAgICAgICAgJnBl cl9jcHUodm14X3BpX2Jsb2NraW5nLCBwaV9jcHUpKTsKKyAgICBUUkFDRV80RChUUkNfVlREX1BJ X0xJU1RfQURELCB2LT5kb21haW4tPmRvbWFpbl9pZCwgdi0+dmNwdV9pZCwgcGlfY3B1LAorICAg ICAgICAgICAgIHJlYWRfYXRvbWljKCZwZXJfY3B1KHZteF9waV9ibG9ja2luZywgcGlfY3B1KS5j b3VudGVyKSk7CiAgICAgc3Bpbl91bmxvY2tfaXJxcmVzdG9yZShwaV9ibG9ja2luZ19saXN0X2xv Y2ssIGZsYWdzKTsKIAogICAgIEFTU0VSVCghcGlfdGVzdF9zbihwaV9kZXNjKSk7CkBAIC0yOTEs NiArMjkzLDcgQEAgc3RhdGljIHZvaWQgdm14X3BpX3VuYmxvY2tfdmNwdShzdHJ1Y3QgdmNwdSAq dikKICAgICBpZiAoIHYtPmFyY2guaHZtX3ZteC5waV9ibG9ja2luZy5sb2NrICE9IE5VTEwgKQog ICAgIHsKICAgICAgICAgQVNTRVJUKHYtPmFyY2guaHZtX3ZteC5waV9ibG9ja2luZy5sb2NrID09 IHBpX2Jsb2NraW5nX2xpc3RfbG9jayk7CisgICAgICAgIFRSQUNFXzJEKFRSQ19WVERfUElfTElT VF9ERUwsIHYtPmRvbWFpbi0+ZG9tYWluX2lkLCB2LT52Y3B1X2lkKTsKICAgICAgICAgdm14X3Bp X2RlbF92Y3B1KCZ2LT5hcmNoLmh2bV92bXgucGlfYmxvY2tpbmcsCiAgICAgICAgICAgICAgICAg ICAgICAgICBjb250YWluZXJfb2YocGlfYmxvY2tpbmdfbGlzdF9sb2NrLAogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCB2bXhfcGlfYmxvY2tpbmdfdmNwdSwgbG9j aykpOwpAQCAtMzI4LDYgKzMzMSw4IEBAIHZvaWQgdm14X3BpX2Rlc2NfZml4dXAodW5zaWduZWQg aW50IGNwdSkKIAogICAgIGxpc3RfZm9yX2VhY2hfZW50cnlfc2FmZSh2bXgsIHRtcCwgYmxvY2tl ZF92Y3B1cywgcGlfYmxvY2tpbmcubGlzdCkKICAgICB7CisgICAgICAgIHN0cnVjdCB2Y3B1ICp2 ID0gY29udGFpbmVyX29mKHZteCwgc3RydWN0IHZjcHUsIGFyY2guaHZtX3ZteCk7CisKICAgICAg ICAgLyoKICAgICAgICAgICogU3VwcHJlc3Mgbm90aWZpY2F0aW9uIG9yIHdlIG1heSBtaXNzIGFu IGludGVycnVwdCB3aGVuIHRoZQogICAgICAgICAgKiB0YXJnZXQgY3B1IGlzIGR5aW5nLgpAQCAt MzQxLDkgKzM0NiwxMCBAQCB2b2lkIHZteF9waV9kZXNjX2ZpeHVwKHVuc2lnbmVkIGludCBjcHUp CiAgICAgICAgICAqLwogICAgICAgICBpZiAoIHBpX3Rlc3Rfb24oJnZteC0+cGlfZGVzYykgKQog ICAgICAgICB7CisgICAgICAgICAgICBUUkFDRV8yRChUUkNfVlREX1BJX0xJU1RfREVMLCB2LT5k b21haW4tPmRvbWFpbl9pZCwgdi0+dmNwdV9pZCk7CiAgICAgICAgICAgICB2bXhfcGlfZGVsX3Zj cHUoJnZteC0+cGlfYmxvY2tpbmcsICZwZXJfY3B1KHZteF9waV9ibG9ja2luZywgY3B1KSk7CiAg ICAgICAgICAgICB2bXgtPnBpX2Jsb2NraW5nLmxvY2sgPSBOVUxMOwotICAgICAgICAgICAgdmNw dV91bmJsb2NrKGNvbnRhaW5lcl9vZih2bXgsIHN0cnVjdCB2Y3B1LCBhcmNoLmh2bV92bXgpKTsK KyAgICAgICAgICAgIHZjcHVfdW5ibG9jayh2KTsKICAgICAgICAgfQogICAgICAgICBlbHNlCiAg ICAgICAgIHsKQEAgLTM2Myw5ICszNjksMTMgQEAgdm9pZCB2bXhfcGlfZGVzY19maXh1cCh1bnNp Z25lZCBpbnQgY3B1KQogICAgICAgICAgICAgd3JpdGVfYXRvbWljKCZ2bXgtPnBpX2Rlc2MubmRz dCwKICAgICAgICAgICAgICAgICAgICAgICAgICB4MmFwaWNfZW5hYmxlZCA/IGRlc3QgOiBNQVNL X0lOU1IoZGVzdCwgUElfeEFQSUNfTkRTVF9NQVNLKSk7CiAKKyAgICAgICAgICAgIFRSQUNFXzJE KFRSQ19WVERfUElfTElTVF9ERUwsIHYtPmRvbWFpbi0+ZG9tYWluX2lkLCB2LT52Y3B1X2lkKTsK ICAgICAgICAgICAgIHZteF9waV9kZWxfdmNwdSgmdm14LT5waV9ibG9ja2luZywgJnBlcl9jcHUo dm14X3BpX2Jsb2NraW5nLCBjcHUpKTsKICAgICAgICAgICAgIHZteF9waV9hZGRfdmNwdSgmdm14 LT5waV9ibG9ja2luZywgJnBlcl9jcHUodm14X3BpX2Jsb2NraW5nLAogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuZXdfY3B1KSk7CisgICAg ICAgICAgICBUUkFDRV80RChUUkNfVlREX1BJX0xJU1RfQURELCB2LT5kb21haW4tPmRvbWFpbl9p ZCwgdi0+dmNwdV9pZCwKKyAgICAgICAgICAgICAgICAgICAgIG5ld19jcHUsCisgICAgICAgICAg ICAgICAgICAgICByZWFkX2F0b21pYygmcGVyX2NwdSh2bXhfcGlfYmxvY2tpbmcsIG5ld19jcHUp LmNvdW50ZXIpKTsKICAgICAgICAgICAgIHZteC0+cGlfYmxvY2tpbmcubG9jayA9IG5ld19sb2Nr OwogCiAgICAgICAgICAgICBzcGluX3VubG9jayhuZXdfbG9jayk7CkBAIC0yNDc2LDEwICsyNDg2 LDEzIEBAIHN0YXRpYyB2b2lkIHBpX3dha2V1cF9pbnRlcnJ1cHQoc3RydWN0IGNwdV91c2VyX3Jl Z3MgKnJlZ3MpCiAgICAgewogICAgICAgICBpZiAoIHBpX3Rlc3Rfb24oJnZteC0+cGlfZGVzYykg KQogICAgICAgICB7CisgICAgICAgICAgICBzdHJ1Y3QgdmNwdSAqdiA9IGNvbnRhaW5lcl9vZih2 bXgsIHN0cnVjdCB2Y3B1LCBhcmNoLmh2bV92bXgpOworCisgICAgICAgICAgICBUUkFDRV8yRChU UkNfVlREX1BJX0xJU1RfREVMLCB2LT5kb21haW4tPmRvbWFpbl9pZCwgdi0+dmNwdV9pZCk7CiAg ICAgICAgICAgICB2bXhfcGlfZGVsX3ZjcHUoJnZteC0+cGlfYmxvY2tpbmcsICZwZXJfY3B1KHZt eF9waV9ibG9ja2luZywgY3B1KSk7CiAgICAgICAgICAgICBBU1NFUlQodm14LT5waV9ibG9ja2lu Zy5sb2NrID09IGxvY2spOwogICAgICAgICAgICAgdm14LT5waV9ibG9ja2luZy5sb2NrID0gTlVM TDsKLSAgICAgICAgICAgIHZjcHVfdW5ibG9jayhjb250YWluZXJfb2Yodm14LCBzdHJ1Y3QgdmNw dSwgYXJjaC5odm1fdm14KSk7CisgICAgICAgICAgICB2Y3B1X3VuYmxvY2sodik7CiAgICAgICAg IH0KICAgICB9CiAKZGlmZiAtLWdpdCBhL3hlbi9pbmNsdWRlL3B1YmxpYy90cmFjZS5oIGIveGVu L2luY2x1ZGUvcHVibGljL3RyYWNlLmgKaW5kZXggMzc0NmJmZi4uNWVlYjhlZSAxMDA2NDQKLS0t IGEveGVuL2luY2x1ZGUvcHVibGljL3RyYWNlLmgKKysrIGIveGVuL2luY2x1ZGUvcHVibGljL3Ry YWNlLmgKQEAgLTkyLDYgKzkyLDcgQEAKIC8qIFRyYWNlIGNsYXNzZXMgZm9yIEhhcmR3YXJlICov CiAjZGVmaW5lIFRSQ19IV19QTSAgICAgICAgICAgMHgwMDgwMTAwMCAgIC8qIFBvd2VyIG1hbmFn ZW1lbnQgdHJhY2VzICovCiAjZGVmaW5lIFRSQ19IV19JUlEgICAgICAgICAgMHgwMDgwMjAwMCAg IC8qIFRyYWNlcyByZWxhdGluZyB0byB0aGUgaGFuZGxpbmcgb2YgSVJRcyAqLworI2RlZmluZSBU UkNfSFdfVlREICAgICAgICAgIDB4MDA4MDQwMDAgICAvKiBUcmFjZXMgcmVsYXRpbmcgdG8gVlRE ICovCiAKIC8qIFRyYWNlIGV2ZW50cyBwZXIgY2xhc3MgKi8KICNkZWZpbmUgVFJDX0xPU1RfUkVD T1JEUyAgICAgICAgKFRSQ19HRU4gKyAxKQpAQCAtMjczLDYgKzI3NCwxMCBAQAogI2RlZmluZSBU UkNfSFdfSVJRX1VOTUFQUEVEX1ZFQ1RPUiAgICAoVFJDX0hXX0lSUSArIDB4NykKICNkZWZpbmUg VFJDX0hXX0lSUV9IQU5ETEVEICAgICAgICAgICAgKFRSQ19IV19JUlEgKyAweDgpCiAKKy8qIFRy YWNlIGV2ZW50cyByZWxhdGluZyB0byBWVC1kICovCisjZGVmaW5lIFRSQ19WVERfUElfTElTVF9B REQgICAgIChUUkNfSFdfVlREICsgMHgxKQorI2RlZmluZSBUUkNfVlREX1BJX0xJU1RfREVMICAg ICAoVFJDX0hXX1ZURCArIDB4MikKKwogLyoKICAqIEV2ZW50IEZsYWdzCiAgKgotLSAKMS44LjMu MQoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fClhlbi1k ZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbi5vcmcKaHR0cHM6Ly9saXN0cy54 ZW4ub3JnL3hlbi1kZXZlbAo=