From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Xu, Quan" Subject: [Patch v11 3/3] vt-d: fix vt-d Device-TLB flush timeout issue Date: Wed, 1 Jun 2016 17:05:22 +0800 Message-ID: <1464771922-7794-4-git-send-email-quan.xu@intel.com> References: <1464771922-7794-1-git-send-email-quan.xu@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1464771922-7794-1-git-send-email-quan.xu@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: Quan Xu , kevin.tian@intel.com, feng.wu@intel.com, dario.faggioli@citrix.com, jbeulich@suse.com List-Id: xen-devel@lists.xenproject.org RnJvbTogUXVhbiBYdSA8cXVhbi54dUBpbnRlbC5jb20+CgpJZiBEZXZpY2UtVExCIGZsdXNoIHRp bWVkIG91dCwgd2UgaGlkZSB0aGUgdGFyZ2V0IEFUUyBkZXZpY2UKaW1tZWRpYXRlbHkgYW5kIGNy YXNoIHRoZSBkb21haW4gb3duaW5nIHRoaXMgQVRTIGRldmljZS4gSWYKaW1wYWN0ZWQgZG9tYWlu IGlzIGhhcmR3YXJlIGRvbWFpbiwganVzdCB0aHJvdyBvdXQgYSB3YXJuaW5nLgoKQnkgaGlkaW5n IHRoZSBkZXZpY2UsIHdlIG1ha2Ugc3VyZSBpdCBjYW4ndCBiZSBhc3NpZ25lZCB0byBhbnkKZG9t YWluIGFueSBsb25nZXIgKHNlZSBkZXZpY2VfYXNzaWduZWQpLgoKdjExOgogICAxLiBQYXNzIGRv d24gc3RydWN0IHBjaV9kZXYgKiwgaW5zdGVhZCBvZiBTQkRGIGluc2lkZSBzdHJ1Y3QKICAgICAg cGNpX2F0c19kZXYuCiAgIDIuIGNoYW5nZSBpbnZhbGlkYXRlX3N5bmMoKSBiYWNrIGFzIEkgYWRk IGEgc3BlY2lmaWMgZnVuY3Rpb24KICAgICAgLSBkZXZfaW52YWxpZGF0ZV9zeW5jKCkgZm9yIGRl dmljZSBJT1RMQi4KClNpZ25lZC1vZmYtYnk6IFF1YW4gWHUgPHF1YW4ueHVAaW50ZWwuY29tPgot LS0KIHhlbi9kcml2ZXJzL3Bhc3N0aHJvdWdoL3BjaS5jICAgICAgICAgfCAgNiArLS0KIHhlbi9k cml2ZXJzL3Bhc3N0aHJvdWdoL3Z0ZC9leHRlcm4uaCAgfCAgNSArLQogeGVuL2RyaXZlcnMvcGFz c3Rocm91Z2gvdnRkL3FpbnZhbC5jICB8IDg2ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysr LS0tLS0tCiB4ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC92dGQveDg2L2F0cy5jIHwgIDcgKy0tCiB4 ZW4vaW5jbHVkZS94ZW4vcGNpLmggICAgICAgICAgICAgICAgIHwgIDEgKwogNSBmaWxlcyBjaGFu Z2VkLCA4MiBpbnNlcnRpb25zKCspLCAyMyBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS94ZW4v ZHJpdmVycy9wYXNzdGhyb3VnaC9wY2kuYyBiL3hlbi9kcml2ZXJzL3Bhc3N0aHJvdWdoL3BjaS5j CmluZGV4IDk4OTM2ZjU1Yy4uODQzZGM4OCAxMDA2NDQKLS0tIGEveGVuL2RyaXZlcnMvcGFzc3Ro cm91Z2gvcGNpLmMKKysrIGIveGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gvcGNpLmMKQEAgLTQxOSw3 ICs0MTksNyBAQCBzdGF0aWMgdm9pZCBmcmVlX3BkZXYoc3RydWN0IHBjaV9zZWcgKnBzZWcsIHN0 cnVjdCBwY2lfZGV2ICpwZGV2KQogICAgIHhmcmVlKHBkZXYpOwogfQogCi1zdGF0aWMgdm9pZCBf cGNpX2hpZGVfZGV2aWNlKHN0cnVjdCBwY2lfZGV2ICpwZGV2KQordm9pZCBwY2lfaGlkZV9leGlz dGluZ19kZXZpY2Uoc3RydWN0IHBjaV9kZXYgKnBkZXYpCiB7CiAgICAgaWYgKCBwZGV2LT5kb21h aW4gKQogICAgICAgICByZXR1cm47CkBAIC00MzYsNyArNDM2LDcgQEAgaW50IF9faW5pdCBwY2lf aGlkZV9kZXZpY2UoaW50IGJ1cywgaW50IGRldmZuKQogICAgIHBkZXYgPSBhbGxvY19wZGV2KGdl dF9wc2VnKDApLCBidXMsIGRldmZuKTsKICAgICBpZiAoIHBkZXYgKQogICAgIHsKLSAgICAgICAg X3BjaV9oaWRlX2RldmljZShwZGV2KTsKKyAgICAgICAgcGNpX2hpZGVfZXhpc3RpbmdfZGV2aWNl KHBkZXYpOwogICAgICAgICByYyA9IDA7CiAgICAgfQogICAgIHBjaWRldnNfdW5sb2NrKCk7CkBA IC00NjYsNyArNDY2LDcgQEAgaW50IF9faW5pdCBwY2lfcm9fZGV2aWNlKGludCBzZWcsIGludCBi dXMsIGludCBkZXZmbikKICAgICB9CiAKICAgICBfX3NldF9iaXQoUENJX0JERjIoYnVzLCBkZXZm biksIHBzZWctPnJvX21hcCk7Ci0gICAgX3BjaV9oaWRlX2RldmljZShwZGV2KTsKKyAgICBwY2lf aGlkZV9leGlzdGluZ19kZXZpY2UocGRldik7CiAKICAgICByZXR1cm4gMDsKIH0KZGlmZiAtLWdp dCBhL3hlbi9kcml2ZXJzL3Bhc3N0aHJvdWdoL3Z0ZC9leHRlcm4uaCBiL3hlbi9kcml2ZXJzL3Bh c3N0aHJvdWdoL3Z0ZC9leHRlcm4uaAppbmRleCA0NTM1N2YyLi45NGNhOTdhIDEwMDY0NAotLS0g YS94ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC92dGQvZXh0ZXJuLmgKKysrIGIveGVuL2RyaXZlcnMv cGFzc3Rocm91Z2gvdnRkL2V4dGVybi5oCkBAIC0yMSw2ICsyMSw3IEBACiAjZGVmaW5lIF9WVERf RVhURVJOX0hfCiAKICNpbmNsdWRlICJkbWFyLmgiCisjaW5jbHVkZSAiLi4vYXRzLmgiCiAjaW5j bHVkZSA8eGVuL2tleWhhbmRsZXIuaD4KIAogI2RlZmluZSBWVERQUkVGSVggIltWVC1EXSIKQEAg LTYwLDggKzYxLDggQEAgaW50IGRldl9pbnZhbGlkYXRlX2lvdGxiKHN0cnVjdCBpb21tdSAqaW9t bXUsIHUxNiBkaWQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgdTY0IGFkZHIsIHVuc2lnbmVk IGludCBzaXplX29yZGVyLCB1NjQgdHlwZSk7CiAKIGludCBfX211c3RfY2hlY2sgcWludmFsX2Rl dmljZV9pb3RsYl9zeW5jKHN0cnVjdCBpb21tdSAqaW9tbXUsCi0gICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICB1MzIgbWF4X2ludnNfcGVuZCwKLSAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHUxNiBzaWQsIHUxNiBzaXplLCB1NjQgYWRkcik7 CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgcGNpX2F0 c19kZXYgKmF0c19kZXYsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICB1MTYgZGlkLCB1MTYgc2l6ZSwgdTY0IGFkZHIpOwogCiB1bnNpZ25lZCBpbnQgZ2V0X2NhY2hl X2xpbmVfc2l6ZSh2b2lkKTsKIHZvaWQgY2FjaGVsaW5lX2ZsdXNoKGNoYXIgKik7CmRpZmYgLS1n aXQgYS94ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC92dGQvcWludmFsLmMgYi94ZW4vZHJpdmVycy9w YXNzdGhyb3VnaC92dGQvcWludmFsLmMKaW5kZXggOTExNjU4OC4uYmVhM2U4NiAxMDA2NDQKLS0t IGEveGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gvdnRkL3FpbnZhbC5jCisrKyBiL3hlbi9kcml2ZXJz L3Bhc3N0aHJvdWdoL3Z0ZC9xaW52YWwuYwpAQCAtMzAsOCArMzAsNyBAQAogCiAjZGVmaW5lIElP TU1VX1FJX1RJTUVPVVQgTUlMTElTRUNTKDEpCiAKLXN0YXRpYyBpbnQgX19tdXN0X2NoZWNrIGlu dmFsaWRhdGVfc3luYyhzdHJ1Y3QgaW9tbXUgKmlvbW11LAotICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIGJvb2xfdCBmbHVzaF9kZXZfaW90bGIpOworc3RhdGljIGludCBf X211c3RfY2hlY2sgaW52YWxpZGF0ZV9zeW5jKHN0cnVjdCBpb21tdSAqaW9tbXUpOwogCiBzdGF0 aWMgdm9pZCBwcmludF9xaV9yZWdzKHN0cnVjdCBpb21tdSAqaW9tbXUpCiB7CkBAIC0xMDMsNyAr MTAyLDcgQEAgc3RhdGljIGludCBfX211c3RfY2hlY2sgcXVldWVfaW52YWxpZGF0ZV9jb250ZXh0 X3N5bmMoc3RydWN0IGlvbW11ICppb21tdSwKIAogICAgIHVubWFwX3Z0ZF9kb21haW5fcGFnZShx aW52YWxfZW50cmllcyk7CiAKLSAgICByZXR1cm4gaW52YWxpZGF0ZV9zeW5jKGlvbW11LCAwKTsK KyAgICByZXR1cm4gaW52YWxpZGF0ZV9zeW5jKGlvbW11KTsKIH0KIAogc3RhdGljIGludCBfX211 c3RfY2hlY2sgcXVldWVfaW52YWxpZGF0ZV9pb3RsYl9zeW5jKHN0cnVjdCBpb21tdSAqaW9tbXUs CkBAIC0xNDAsNyArMTM5LDcgQEAgc3RhdGljIGludCBfX211c3RfY2hlY2sgcXVldWVfaW52YWxp ZGF0ZV9pb3RsYl9zeW5jKHN0cnVjdCBpb21tdSAqaW9tbXUsCiAgICAgcWludmFsX3VwZGF0ZV9x dGFpbChpb21tdSwgaW5kZXgpOwogICAgIHNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJmlvbW11LT5y ZWdpc3Rlcl9sb2NrLCBmbGFncyk7CiAKLSAgICByZXR1cm4gaW52YWxpZGF0ZV9zeW5jKGlvbW11 LCAwKTsKKyAgICByZXR1cm4gaW52YWxpZGF0ZV9zeW5jKGlvbW11KTsKIH0KIAogc3RhdGljIGlu dCBfX211c3RfY2hlY2sgcXVldWVfaW52YWxpZGF0ZV93YWl0KHN0cnVjdCBpb21tdSAqaW9tbXUs CkBAIC0yMDAsMjAgKzE5OSw4MSBAQCBzdGF0aWMgaW50IF9fbXVzdF9jaGVjayBxdWV1ZV9pbnZh bGlkYXRlX3dhaXQoc3RydWN0IGlvbW11ICppb21tdSwKICAgICByZXR1cm4gLUVPUE5PVFNVUFA7 CiB9CiAKLXN0YXRpYyBpbnQgX19tdXN0X2NoZWNrIGludmFsaWRhdGVfc3luYyhzdHJ1Y3QgaW9t bXUgKmlvbW11LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvb2xf dCBmbHVzaF9kZXZfaW90bGIpCitzdGF0aWMgaW50IF9fbXVzdF9jaGVjayBpbnZhbGlkYXRlX3N5 bmMoc3RydWN0IGlvbW11ICppb21tdSkKIHsKICAgICBzdHJ1Y3QgcWlfY3RybCAqcWlfY3RybCA9 IGlvbW11X3FpX2N0cmwoaW9tbXUpOwogCiAgICAgaWYgKCBxaV9jdHJsLT5xaW52YWxfbWFkZHIg KQotICAgICAgICByZXR1cm4gcXVldWVfaW52YWxpZGF0ZV93YWl0KGlvbW11LCAwLCAxLCAxLCBm bHVzaF9kZXZfaW90bGIpOworICAgICAgICByZXR1cm4gcXVldWVfaW52YWxpZGF0ZV93YWl0KGlv bW11LCAwLCAxLCAxLCAwKTsKIAogICAgIHJldHVybiAwOwogfQogCitzdGF0aWMgdm9pZCBkZXZf aW52YWxpZGF0ZV9pb3RsYl90aW1lb3V0KHN0cnVjdCBpb21tdSAqaW9tbXUsIHUxNiBkaWQsCisg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBwY2lfYXRzX2Rl diAqYXRzX2RldikKK3sKKyAgICBzdHJ1Y3QgZG9tYWluICpkID0gTlVMTDsKKyAgICBzdHJ1Y3Qg cGNpX2RldiAqcGRldjsKKworICAgIGlmICggdGVzdF9iaXQoZGlkLCBpb21tdS0+ZG9taWRfYml0 bWFwKSApCisgICAgICAgIGQgPSByY3VfbG9ja19kb21haW5fYnlfaWQoaW9tbXUtPmRvbWlkX21h cFtkaWRdKTsKKworICAgIC8qCisgICAgICogSW4gY2FzZSB0aGUgZG9tYWluIGhhcyBiZWVuIGZy ZWVkIG9yIHRoZSBJT01NVSBkb21pZCBiaXRtYXAgaXMKKyAgICAgKiBub3QgdmFsaWQsIHRoZSBk ZXZpY2Ugbm8gbG9uZ2VyIGJlbG9uZ3MgdG8gdGhpcyBkb21haW4uCisgICAgICovCisgICAgaWYg KCBkID09IE5VTEwgKQorICAgICAgICByZXR1cm47CisKKyAgICBwY2lkZXZzX2xvY2soKTsKKwor ICAgIGZvcl9lYWNoX3BkZXYoZCwgcGRldikKKyAgICB7CisgICAgICAgIGlmICggKHBkZXYtPnNl ZyA9PSBhdHNfZGV2LT5zZWcpICYmCisgICAgICAgICAgICAgKHBkZXYtPmJ1cyA9PSBhdHNfZGV2 LT5idXMpICYmCisgICAgICAgICAgICAgKHBkZXYtPmRldmZuID09IGF0c19kZXYtPmRldmZuKSAp CisgICAgICAgIHsKKyAgICAgICAgICAgIEFTU0VSVChwZGV2LT5kb21haW4pOworICAgICAgICAg ICAgbGlzdF9kZWwoJnBkZXYtPmRvbWFpbl9saXN0KTsKKyAgICAgICAgICAgIHBkZXYtPmRvbWFp biA9IE5VTEw7CisgICAgICAgICAgICBwY2lfaGlkZV9leGlzdGluZ19kZXZpY2UocGRldik7Cisg ICAgICAgICAgICBicmVhazsKKyAgICAgICAgfQorICAgIH0KKworICAgIHBjaWRldnNfdW5sb2Nr KCk7CisKKyAgICBpZiAoICFpc19oYXJkd2FyZV9kb21haW4oZCkgKQorICAgICAgICBkb21haW5f Y3Jhc2goZCk7CisgICAgZWxzZQorICAgICAgICBwcmludGsoWEVOTE9HX1dBUk5JTkcgVlREUFJF RklYCisgICAgICAgICAgICAgICAiIGRvbSVkOiBBVFMgZGV2aWNlICUwNHg6JTAyeDolMDJ4LiV1 IGZsdXNoIGZhaWxlZFxuIiwKKyAgICAgICAgICAgICAgIGQtPmRvbWFpbl9pZCwgYXRzX2Rldi0+ c2VnLCBhdHNfZGV2LT5idXMsCisgICAgICAgICAgICAgICBQQ0lfU0xPVChhdHNfZGV2LT5kZXZm biksIFBDSV9GVU5DKGF0c19kZXYtPmRldmZuKSk7CisKKyAgICByY3VfdW5sb2NrX2RvbWFpbihk KTsKK30KKworc3RhdGljIGludCBfX211c3RfY2hlY2sgZGV2X2ludmFsaWRhdGVfc3luYyhzdHJ1 Y3QgaW9tbXUgKmlvbW11LCB1MTYgZGlkLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBzdHJ1Y3QgcGNpX2F0c19kZXYgKmF0c19kZXYpCit7CisgICAgc3RydWN0 IHFpX2N0cmwgKnFpX2N0cmwgPSBpb21tdV9xaV9jdHJsKGlvbW11KTsKKyAgICBpbnQgcmMgPSAw OworCisgICAgaWYgKCBxaV9jdHJsLT5xaW52YWxfbWFkZHIgKQorICAgIHsKKyAgICAgICAgcmMg PSBxdWV1ZV9pbnZhbGlkYXRlX3dhaXQoaW9tbXUsIDAsIDEsIDEsIDEpOworCisgICAgICAgIGlm ICggcmMgPT0gLUVUSU1FRE9VVCApCisgICAgICAgICAgICBkZXZfaW52YWxpZGF0ZV9pb3RsYl90 aW1lb3V0KGlvbW11LCBkaWQsIGF0c19kZXYpOworICAgIH0KKworICAgIHJldHVybiByYzsKK30K KwogaW50IHFpbnZhbF9kZXZpY2VfaW90bGJfc3luYyhzdHJ1Y3QgaW9tbXUgKmlvbW11LAotICAg ICAgICAgICAgICAgICAgICAgICAgICAgICB1MzIgbWF4X2ludnNfcGVuZCwKLSAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgdTE2IHNpZCwgdTE2IHNpemUsIHU2NCBhZGRyKQorICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgcGNpX2F0c19kZXYgKmF0c19kZXYsCisgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIHUxNiBkaWQsIHUxNiBzaXplLCB1NjQgYWRkcikKIHsKICAg ICB1bnNpZ25lZCBsb25nIGZsYWdzOwogICAgIHVuc2lnbmVkIGludCBpbmRleDsKQEAgLTIyOSw5 ICsyODksOSBAQCBpbnQgcWludmFsX2RldmljZV9pb3RsYl9zeW5jKHN0cnVjdCBpb21tdSAqaW9t bXUsCiAKICAgICBxaW52YWxfZW50cnktPnEuZGV2X2lvdGxiX2ludl9kc2MubG8udHlwZSA9IFRZ UEVfSU5WQUxfREVWSUNFX0lPVExCOwogICAgIHFpbnZhbF9lbnRyeS0+cS5kZXZfaW90bGJfaW52 X2RzYy5sby5yZXNfMSA9IDA7Ci0gICAgcWludmFsX2VudHJ5LT5xLmRldl9pb3RsYl9pbnZfZHNj LmxvLm1heF9pbnZzX3BlbmQgPSBtYXhfaW52c19wZW5kOworICAgIHFpbnZhbF9lbnRyeS0+cS5k ZXZfaW90bGJfaW52X2RzYy5sby5tYXhfaW52c19wZW5kID0gYXRzX2Rldi0+YXRzX3F1ZXVlX2Rl cHRoOwogICAgIHFpbnZhbF9lbnRyeS0+cS5kZXZfaW90bGJfaW52X2RzYy5sby5yZXNfMiA9IDA7 Ci0gICAgcWludmFsX2VudHJ5LT5xLmRldl9pb3RsYl9pbnZfZHNjLmxvLnNpZCA9IHNpZDsKKyAg ICBxaW52YWxfZW50cnktPnEuZGV2X2lvdGxiX2ludl9kc2MubG8uc2lkID0gUENJX0JERjIoYXRz X2Rldi0+YnVzLCBhdHNfZGV2LT5kZXZmbik7CiAgICAgcWludmFsX2VudHJ5LT5xLmRldl9pb3Rs Yl9pbnZfZHNjLmxvLnJlc18zID0gMDsKIAogICAgIHFpbnZhbF9lbnRyeS0+cS5kZXZfaW90bGJf aW52X2RzYy5oaS5zaXplID0gc2l6ZTsKQEAgLTI0Miw3ICszMDIsNyBAQCBpbnQgcWludmFsX2Rl dmljZV9pb3RsYl9zeW5jKHN0cnVjdCBpb21tdSAqaW9tbXUsCiAgICAgcWludmFsX3VwZGF0ZV9x dGFpbChpb21tdSwgaW5kZXgpOwogICAgIHNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJmlvbW11LT5y ZWdpc3Rlcl9sb2NrLCBmbGFncyk7CiAKLSAgICByZXR1cm4gaW52YWxpZGF0ZV9zeW5jKGlvbW11 LCAxKTsKKyAgICByZXR1cm4gZGV2X2ludmFsaWRhdGVfc3luYyhpb21tdSwgZGlkLCBhdHNfZGV2 KTsKIH0KIAogc3RhdGljIGludCBfX211c3RfY2hlY2sgcXVldWVfaW52YWxpZGF0ZV9pZWNfc3lu YyhzdHJ1Y3QgaW9tbXUgKmlvbW11LApAQCAtMjczLDcgKzMzMyw3IEBAIHN0YXRpYyBpbnQgX19t dXN0X2NoZWNrIHF1ZXVlX2ludmFsaWRhdGVfaWVjX3N5bmMoc3RydWN0IGlvbW11ICppb21tdSwK ICAgICBxaW52YWxfdXBkYXRlX3F0YWlsKGlvbW11LCBpbmRleCk7CiAgICAgc3Bpbl91bmxvY2tf aXJxcmVzdG9yZSgmaW9tbXUtPnJlZ2lzdGVyX2xvY2ssIGZsYWdzKTsKIAotICAgIHJldCA9IGlu dmFsaWRhdGVfc3luYyhpb21tdSwgMCk7CisgICAgcmV0ID0gaW52YWxpZGF0ZV9zeW5jKGlvbW11 KTsKIAogICAgIC8qCiAgICAgICogcmVhZGluZyB2dC1kIGFyY2hpdGVjdHVyZSByZWdpc3RlciB3 aWxsIGVuc3VyZQpkaWZmIC0tZ2l0IGEveGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gvdnRkL3g4Ni9h dHMuYyBiL3hlbi9kcml2ZXJzL3Bhc3N0aHJvdWdoL3Z0ZC94ODYvYXRzLmMKaW5kZXggZGZhNGQz MC4uZWNhZTk0YyAxMDA2NDQKLS0tIGEveGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gvdnRkL3g4Ni9h dHMuYworKysgYi94ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC92dGQveDg2L2F0cy5jCkBAIC0xMTYs NyArMTE2LDYgQEAgaW50IGRldl9pbnZhbGlkYXRlX2lvdGxiKHN0cnVjdCBpb21tdSAqaW9tbXUs IHUxNiBkaWQsCiAKICAgICBsaXN0X2Zvcl9lYWNoX2VudHJ5KCBwZGV2LCAmYXRzX2RldmljZXMs IGxpc3QgKQogICAgIHsKLSAgICAgICAgdTE2IHNpZCA9IFBDSV9CREYyKHBkZXYtPmJ1cywgcGRl di0+ZGV2Zm4pOwogICAgICAgICBib29sX3Qgc2JpdDsKICAgICAgICAgaW50IHJjID0gMDsKIApA QCAtMTM0LDggKzEzMyw3IEBAIGludCBkZXZfaW52YWxpZGF0ZV9pb3RsYihzdHJ1Y3QgaW9tbXUg KmlvbW11LCB1MTYgZGlkLAogICAgICAgICAgICAgLyogaW52YWxpZGF0ZSBhbGwgdHJhbnNsYXRp b25zOiBzYml0PTEsYml0XzYzPTAsYml0WzYyOjEyXT0xICovCiAgICAgICAgICAgICBzYml0ID0g MTsKICAgICAgICAgICAgIGFkZHIgPSAofjBVTCA8PCBQQUdFX1NISUZUXzRLKSAmIDB4N0ZGRkZG RkZGRkZGRkZGRjsKLSAgICAgICAgICAgIHJjID0gcWludmFsX2RldmljZV9pb3RsYl9zeW5jKGlv bW11LCBwZGV2LT5hdHNfcXVldWVfZGVwdGgsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBzaWQsIHNiaXQsIGFkZHIpOworICAgICAgICAgICAgcmMgPSBxaW52YWxf ZGV2aWNlX2lvdGxiX3N5bmMoaW9tbXUsIHBkZXYsIGRpZCwgc2JpdCwgYWRkcik7CiAgICAgICAg ICAgICBicmVhazsKICAgICAgICAgY2FzZSBETUFfVExCX1BTSV9GTFVTSDoKICAgICAgICAgICAg IGlmICggIWRldmljZV9pbl9kb21haW4oaW9tbXUsIHBkZXYsIGRpZCkgKQpAQCAtMTU0LDggKzE1 Miw3IEBAIGludCBkZXZfaW52YWxpZGF0ZV9pb3RsYihzdHJ1Y3QgaW9tbXUgKmlvbW11LCB1MTYg ZGlkLAogICAgICAgICAgICAgICAgIGFkZHIgfD0gKCgodTY0KTEgPDwgKHNpemVfb3JkZXIgLSAx KSkgLSAxKSA8PCBQQUdFX1NISUZUXzRLOwogICAgICAgICAgICAgfQogCi0gICAgICAgICAgICBy YyA9IHFpbnZhbF9kZXZpY2VfaW90bGJfc3luYyhpb21tdSwgcGRldi0+YXRzX3F1ZXVlX2RlcHRo LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2lkLCBzYml0LCBh ZGRyKTsKKyAgICAgICAgICAgIHJjID0gcWludmFsX2RldmljZV9pb3RsYl9zeW5jKGlvbW11LCBw ZGV2LCBkaWQsIHNiaXQsIGFkZHIpOwogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIGRlZmF1 bHQ6CiAgICAgICAgICAgICBkcHJpbnRrKFhFTkxPR19XQVJOSU5HIFZURFBSRUZJWCwgImludmFs aWQgdnQtZCBmbHVzaCB0eXBlXG4iKTsKZGlmZiAtLWdpdCBhL3hlbi9pbmNsdWRlL3hlbi9wY2ku aCBiL3hlbi9pbmNsdWRlL3hlbi9wY2kuaAppbmRleCA2ZWQyOWRkLi5lNDk0MGNkIDEwMDY0NAot LS0gYS94ZW4vaW5jbHVkZS94ZW4vcGNpLmgKKysrIGIveGVuL2luY2x1ZGUveGVuL3BjaS5oCkBA IC0xMTgsNiArMTE4LDcgQEAgaW50IHBjaV9hZGRfZGV2aWNlKHUxNiBzZWcsIHU4IGJ1cywgdTgg ZGV2Zm4sCiBpbnQgcGNpX3JlbW92ZV9kZXZpY2UodTE2IHNlZywgdTggYnVzLCB1OCBkZXZmbik7 CiBpbnQgcGNpX3JvX2RldmljZShpbnQgc2VnLCBpbnQgYnVzLCBpbnQgZGV2Zm4pOwogaW50IHBj aV9oaWRlX2RldmljZShpbnQgYnVzLCBpbnQgZGV2Zm4pOwordm9pZCBwY2lfaGlkZV9leGlzdGlu Z19kZXZpY2Uoc3RydWN0IHBjaV9kZXYgKnBkZXYpOwogc3RydWN0IHBjaV9kZXYgKnBjaV9nZXRf cGRldihpbnQgc2VnLCBpbnQgYnVzLCBpbnQgZGV2Zm4pOwogc3RydWN0IHBjaV9kZXYgKnBjaV9n ZXRfcmVhbF9wZGV2KGludCBzZWcsIGludCBidXMsIGludCBkZXZmbik7CiBzdHJ1Y3QgcGNpX2Rl diAqcGNpX2dldF9wZGV2X2J5X2RvbWFpbigKLS0gCjEuOS4xCgoKX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX18KWGVuLWRldmVsIG1haWxpbmcgbGlzdApYZW4t ZGV2ZWxAbGlzdHMueGVuLm9yZwpodHRwOi8vbGlzdHMueGVuLm9yZy94ZW4tZGV2ZWwK