From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Xu, Quan" Subject: [PATCH v13 3/3] IOMMU: fix vt-d Device-TLB flush timeout issue Date: Wed, 29 Jun 2016 13:59:34 +0800 Message-ID: <1467179974-57317-4-git-send-email-quan.xu@intel.com> References: <1467179974-57317-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: <1467179974-57317-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: Kevin Tian , dario.faggioli@citrix.com, Feng Wu , Jan Beulich , Quan Xu List-Id: xen-devel@lists.xenproject.org RnJvbTogUXVhbiBYdSA8cXVhbi54dUBpbnRlbC5jb20+CgpJZiBEZXZpY2UtVExCIGZsdXNoIHRp bWVkIG91dCwgd2UgaGlkZSB0aGUgdGFyZ2V0IEFUUyBkZXZpY2UKaW1tZWRpYXRlbHkuIEJ5IGhp ZGluZyB0aGUgZGV2aWNlLCB3ZSBtYWtlIHN1cmUgaXQgY2FuJ3QgYmUKYXNzaWduZWQgdG8gYW55 IGRvbWFpbiBhbnkgbG9uZ2VyIChzZWUgZGV2aWNlX2Fzc2lnbmVkKS4KClNpZ25lZC1vZmYtYnk6 IFF1YW4gWHUgPHF1YW4ueHVAaW50ZWwuY29tPgoKQ0M6IEphbiBCZXVsaWNoIDxqYmV1bGljaEBz dXNlLmNvbT4KQ0M6IEtldmluIFRpYW4gPGtldmluLnRpYW5AaW50ZWwuY29tPgpDQzogRmVuZyBX dSA8ZmVuZy53dUBpbnRlbC5jb20+CgotLS0KdjEzOgogICAxLiBkcm9wIGRvbWFpbiBjcmFzaCBs b2dpYywgd2hpY2ggaXMgYWRkZWQgdG8gdGhlIHZlbmRvcgogICAgICBpbmRlcGVuZGVudCBsYXll ciBpbiBwYXRjaCAjMi4KICAgMi4gcmVuYW1lIGRldl9pbnZhbGlkYXRlX2lvdGxiX3RpbWVvdXQo KSB0byBpb21tdV9kZXZfaW90bGJfZmx1c2hfdGltZW91dCgpCiAgICAgIGFuZCBtb3ZlIGl0IHRv IHRoZSB2ZW5kb3IgaW5kZXBlbmRlbnQgbGF5ZXIuCi0tLQogeGVuL2RyaXZlcnMvcGFzc3Rocm91 Z2gvaW9tbXUuYyAgICAgICB8IDIxICsrKysrKysrKysrKysKIHhlbi9kcml2ZXJzL3Bhc3N0aHJv dWdoL3BjaS5jICAgICAgICAgfCAgNiArKy0tCiB4ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC92dGQv ZXh0ZXJuLmggIHwgIDUgKystLQogeGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gvdnRkL3FpbnZhbC5j ICB8IDU2ICsrKysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tCiB4ZW4vZHJpdmVycy9w YXNzdGhyb3VnaC92dGQveDg2L2F0cy5jIHwgMTEgKystLS0tLQogeGVuL2luY2x1ZGUveGVuL2lv bW11LmggICAgICAgICAgICAgICB8ICAzICsrCiB4ZW4vaW5jbHVkZS94ZW4vcGNpLmggICAgICAg ICAgICAgICAgIHwgIDEgKwogNyBmaWxlcyBjaGFuZ2VkLCA3NiBpbnNlcnRpb25zKCspLCAyNyBk ZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS94ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC9pb21tdS5j IGIveGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gvaW9tbXUuYwppbmRleCBkNzkzZjVkLi41ZGI4YWU2 IDEwMDY0NAotLS0gYS94ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC9pb21tdS5jCisrKyBiL3hlbi9k cml2ZXJzL3Bhc3N0aHJvdWdoL2lvbW11LmMKQEAgLTM2MSw2ICszNjEsMjcgQEAgaW50IGlvbW11 X2lvdGxiX2ZsdXNoX2FsbChzdHJ1Y3QgZG9tYWluICpkKQogICAgIHJldHVybiByYzsKIH0KIAor dm9pZCBpb21tdV9kZXZfaW90bGJfZmx1c2hfdGltZW91dChzdHJ1Y3QgZG9tYWluICpkLAorICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgcGNpX2RldiAqcGRldikKK3sK KyAgICBwY2lkZXZzX2xvY2soKTsKKworICAgIEFTU0VSVChwZGV2LT5kb21haW4pOworICAgIGlm ICggZCAhPSBwZGV2LT5kb21haW4gKQorICAgICAgICByZXR1cm47CisKKyAgICBsaXN0X2RlbCgm cGRldi0+ZG9tYWluX2xpc3QpOworICAgIHBkZXYtPmRvbWFpbiA9IE5VTEw7CisgICAgcGNpX2hp ZGVfZXhpc3RpbmdfZGV2aWNlKHBkZXYpOworICAgIGlmICggIWQtPmlzX3NodXR0aW5nX2Rvd24g JiYgcHJpbnRrX3JhdGVsaW1pdCgpICkKKyAgICAgICAgcHJpbnRrKFhFTkxPR19FUlIKKyAgICAg ICAgICAgICAgICJkb20lZDogQVRTIGRldmljZSAlMDR4OiUwMng6JTAyeC4ldSBmbHVzaCBmYWls ZWRcbiIsCisgICAgICAgICAgICAgICBkLT5kb21haW5faWQsIHBkZXYtPnNlZywgcGRldi0+YnVz LCBQQ0lfU0xPVChwZGV2LT5kZXZmbiksCisgICAgICAgICAgICAgICBQQ0lfRlVOQyhwZGV2LT5k ZXZmbikpOworCisgICAgcGNpZGV2c191bmxvY2soKTsKK30KKwogaW50IF9faW5pdCBpb21tdV9z ZXR1cCh2b2lkKQogewogICAgIGludCByYyA9IC1FTk9ERVY7CmRpZmYgLS1naXQgYS94ZW4vZHJp dmVycy9wYXNzdGhyb3VnaC9wY2kuYyBiL3hlbi9kcml2ZXJzL3Bhc3N0aHJvdWdoL3BjaS5jCmlu ZGV4IGJiNWYzNDQuLjU4YmZiNzkgMTAwNjQ0Ci0tLSBhL3hlbi9kcml2ZXJzL3Bhc3N0aHJvdWdo L3BjaS5jCisrKyBiL3hlbi9kcml2ZXJzL3Bhc3N0aHJvdWdoL3BjaS5jCkBAIC00MTksNyArNDE5 LDcgQEAgc3RhdGljIHZvaWQgZnJlZV9wZGV2KHN0cnVjdCBwY2lfc2VnICpwc2VnLCBzdHJ1Y3Qg cGNpX2RldiAqcGRldikKICAgICB4ZnJlZShwZGV2KTsKIH0KIAotc3RhdGljIHZvaWQgX3BjaV9o aWRlX2RldmljZShzdHJ1Y3QgcGNpX2RldiAqcGRldikKK3ZvaWQgcGNpX2hpZGVfZXhpc3Rpbmdf ZGV2aWNlKHN0cnVjdCBwY2lfZGV2ICpwZGV2KQogewogICAgIGlmICggcGRldi0+ZG9tYWluICkK ICAgICAgICAgcmV0dXJuOwpAQCAtNDM2LDcgKzQzNiw3IEBAIGludCBfX2luaXQgcGNpX2hpZGVf ZGV2aWNlKGludCBidXMsIGludCBkZXZmbikKICAgICBwZGV2ID0gYWxsb2NfcGRldihnZXRfcHNl ZygwKSwgYnVzLCBkZXZmbik7CiAgICAgaWYgKCBwZGV2ICkKICAgICB7Ci0gICAgICAgIF9wY2lf aGlkZV9kZXZpY2UocGRldik7CisgICAgICAgIHBjaV9oaWRlX2V4aXN0aW5nX2RldmljZShwZGV2 KTsKICAgICAgICAgcmMgPSAwOwogICAgIH0KICAgICBwY2lkZXZzX3VubG9jaygpOwpAQCAtNDY2 LDcgKzQ2Niw3IEBAIGludCBfX2luaXQgcGNpX3JvX2RldmljZShpbnQgc2VnLCBpbnQgYnVzLCBp bnQgZGV2Zm4pCiAgICAgfQogCiAgICAgX19zZXRfYml0KFBDSV9CREYyKGJ1cywgZGV2Zm4pLCBw c2VnLT5yb19tYXApOwotICAgIF9wY2lfaGlkZV9kZXZpY2UocGRldik7CisgICAgcGNpX2hpZGVf ZXhpc3RpbmdfZGV2aWNlKHBkZXYpOwogCiAgICAgcmV0dXJuIDA7CiB9CmRpZmYgLS1naXQgYS94 ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC92dGQvZXh0ZXJuLmggYi94ZW4vZHJpdmVycy9wYXNzdGhy b3VnaC92dGQvZXh0ZXJuLmgKaW5kZXggNDUzNTdmMi4uZWZhZmYyOCAxMDA2NDQKLS0tIGEveGVu L2RyaXZlcnMvcGFzc3Rocm91Z2gvdnRkL2V4dGVybi5oCisrKyBiL3hlbi9kcml2ZXJzL3Bhc3N0 aHJvdWdoL3Z0ZC9leHRlcm4uaApAQCAtMjUsNiArMjUsNyBAQAogCiAjZGVmaW5lIFZURFBSRUZJ WCAiW1ZULURdIgogCitzdHJ1Y3QgcGNpX2F0c19kZXY7CiBleHRlcm4gYm9vbF90IHJ3YmZfcXVp cms7CiAKIHZvaWQgcHJpbnRfaW9tbXVfcmVncyhzdHJ1Y3QgYWNwaV9kcmhkX3VuaXQgKmRyaGQp OwpAQCAtNjAsOCArNjEsOCBAQCBpbnQgZGV2X2ludmFsaWRhdGVfaW90bGIoc3RydWN0IGlvbW11 ICppb21tdSwgdTE2IGRpZCwKICAgICAgICAgICAgICAgICAgICAgICAgICB1NjQgYWRkciwgdW5z aWduZWQgaW50IHNpemVfb3JkZXIsIHU2NCB0eXBlKTsKIAogaW50IF9fbXVzdF9jaGVjayBxaW52 YWxfZGV2aWNlX2lvdGxiX3N5bmMoc3RydWN0IGlvbW11ICppb21tdSwKLSAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHUzMiBtYXhfaW52c19wZW5kLAotICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdTE2IHNpZCwgdTE2IHNpemUsIHU2NCBh ZGRyKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBw Y2lfYXRzX2RldiAqYXRzX2RldiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIHUxNiBkaWQsIHUxNiBzaXplLCB1NjQgYWRkcik7CiAKIHVuc2lnbmVkIGludCBnZXRf Y2FjaGVfbGluZV9zaXplKHZvaWQpOwogdm9pZCBjYWNoZWxpbmVfZmx1c2goY2hhciAqKTsKZGlm ZiAtLWdpdCBhL3hlbi9kcml2ZXJzL3Bhc3N0aHJvdWdoL3Z0ZC9xaW52YWwuYyBiL3hlbi9kcml2 ZXJzL3Bhc3N0aHJvdWdoL3Z0ZC9xaW52YWwuYwppbmRleCA0NDkyYjI5Li43YTVjNDMzIDEwMDY0 NAotLS0gYS94ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC92dGQvcWludmFsLmMKKysrIGIveGVuL2Ry aXZlcnMvcGFzc3Rocm91Z2gvdnRkL3FpbnZhbC5jCkBAIC0yNywxMSArMjcsMTEgQEAKICNpbmNs dWRlICJkbWFyLmgiCiAjaW5jbHVkZSAidnRkLmgiCiAjaW5jbHVkZSAiZXh0ZXJuLmgiCisjaW5j bHVkZSAiLi4vYXRzLmgiCiAKICNkZWZpbmUgVlREX1FJX1RJTUVPVVQJMQogCi1zdGF0aWMgaW50 IF9fbXVzdF9jaGVjayBpbnZhbGlkYXRlX3N5bmMoc3RydWN0IGlvbW11ICppb21tdSwKLSAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib29sX3QgZmx1c2hfZGV2X2lvdGxi KTsKK3N0YXRpYyBpbnQgX19tdXN0X2NoZWNrIGludmFsaWRhdGVfc3luYyhzdHJ1Y3QgaW9tbXUg KmlvbW11KTsKIAogc3RhdGljIHZvaWQgcHJpbnRfcWlfcmVncyhzdHJ1Y3QgaW9tbXUgKmlvbW11 KQogewpAQCAtMTAzLDcgKzEwMyw3IEBAIHN0YXRpYyBpbnQgX19tdXN0X2NoZWNrIHF1ZXVlX2lu dmFsaWRhdGVfY29udGV4dF9zeW5jKHN0cnVjdCBpb21tdSAqaW9tbXUsCiAKICAgICB1bm1hcF92 dGRfZG9tYWluX3BhZ2UocWludmFsX2VudHJpZXMpOwogCi0gICAgcmV0dXJuIGludmFsaWRhdGVf c3luYyhpb21tdSwgMCk7CisgICAgcmV0dXJuIGludmFsaWRhdGVfc3luYyhpb21tdSk7CiB9CiAK IHN0YXRpYyBpbnQgX19tdXN0X2NoZWNrIHF1ZXVlX2ludmFsaWRhdGVfaW90bGJfc3luYyhzdHJ1 Y3QgaW9tbXUgKmlvbW11LApAQCAtMTQwLDcgKzE0MCw3IEBAIHN0YXRpYyBpbnQgX19tdXN0X2No ZWNrIHF1ZXVlX2ludmFsaWRhdGVfaW90bGJfc3luYyhzdHJ1Y3QgaW9tbXUgKmlvbW11LAogICAg IHFpbnZhbF91cGRhdGVfcXRhaWwoaW9tbXUsIGluZGV4KTsKICAgICBzcGluX3VubG9ja19pcnFy ZXN0b3JlKCZpb21tdS0+cmVnaXN0ZXJfbG9jaywgZmxhZ3MpOwogCi0gICAgcmV0dXJuIGludmFs aWRhdGVfc3luYyhpb21tdSwgMCk7CisgICAgcmV0dXJuIGludmFsaWRhdGVfc3luYyhpb21tdSk7 CiB9CiAKIHN0YXRpYyBpbnQgX19tdXN0X2NoZWNrIHF1ZXVlX2ludmFsaWRhdGVfd2FpdChzdHJ1 Y3QgaW9tbXUgKmlvbW11LApAQCAtMTk5LDI1ICsxOTksNTUgQEAgc3RhdGljIGludCBfX211c3Rf Y2hlY2sgcXVldWVfaW52YWxpZGF0ZV93YWl0KHN0cnVjdCBpb21tdSAqaW9tbXUsCiAgICAgcmV0 dXJuIC1FT1BOT1RTVVBQOwogfQogCi1zdGF0aWMgaW50IF9fbXVzdF9jaGVjayBpbnZhbGlkYXRl X3N5bmMoc3RydWN0IGlvbW11ICppb21tdSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBib29sX3QgZmx1c2hfZGV2X2lvdGxiKQorc3RhdGljIGludCBfX211c3RfY2hl Y2sgaW52YWxpZGF0ZV9zeW5jKHN0cnVjdCBpb21tdSAqaW9tbXUpCiB7CiAgICAgc3RydWN0IHFp X2N0cmwgKnFpX2N0cmwgPSBpb21tdV9xaV9jdHJsKGlvbW11KTsKIAogICAgIEFTU0VSVChxaV9j dHJsLT5xaW52YWxfbWFkZHIpOwogCi0gICAgcmV0dXJuIHF1ZXVlX2ludmFsaWRhdGVfd2FpdChp b21tdSwgMCwgMSwgMSwgZmx1c2hfZGV2X2lvdGxiKTsKKyAgICByZXR1cm4gcXVldWVfaW52YWxp ZGF0ZV93YWl0KGlvbW11LCAwLCAxLCAxLCAwKTsKK30KKworc3RhdGljIGludCBfX211c3RfY2hl Y2sgZGV2X2ludmFsaWRhdGVfc3luYyhzdHJ1Y3QgaW9tbXUgKmlvbW11LAorICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgcGNpX2RldiAqcGRldiwgdTE2 IGRpZCkKK3sKKyAgICBzdHJ1Y3QgcWlfY3RybCAqcWlfY3RybCA9IGlvbW11X3FpX2N0cmwoaW9t bXUpOworICAgIGludCByYzsKKworICAgIEFTU0VSVChxaV9jdHJsLT5xaW52YWxfbWFkZHIpOwor ICAgIHJjID0gcXVldWVfaW52YWxpZGF0ZV93YWl0KGlvbW11LCAwLCAxLCAxLCAxKTsKKyAgICBp ZiAoIHJjID09IC1FVElNRURPVVQgKQorICAgIHsKKyAgICAgICAgc3RydWN0IGRvbWFpbiAqZCA9 IE5VTEw7CisKKyAgICAgICAgaWYgKCB0ZXN0X2JpdChkaWQsIGlvbW11LT5kb21pZF9iaXRtYXAp ICkKKyAgICAgICAgICAgIGQgPSByY3VfbG9ja19kb21haW5fYnlfaWQoaW9tbXUtPmRvbWlkX21h cFtkaWRdKTsKKworICAgICAgICAvKgorICAgICAgICAgKiBJbiBjYXNlIHRoZSBkb21haW4gaGFz IGJlZW4gZnJlZWQgb3IgdGhlIElPTU1VIGRvbWlkIGJpdG1hcCBpcworICAgICAgICAgKiBub3Qg dmFsaWQsIHRoZSBkZXZpY2Ugbm8gbG9uZ2VyIGJlbG9uZ3MgdG8gdGhpcyBkb21haW4uCisgICAg ICAgICAqLworICAgICAgICBpZiAoIGQgPT0gTlVMTCApCisgICAgICAgICAgICByZXR1cm4gcmM7 CisKKyAgICAgICAgaW9tbXVfZGV2X2lvdGxiX2ZsdXNoX3RpbWVvdXQoZCwgcGRldik7CisgICAg ICAgIHJjdV91bmxvY2tfZG9tYWluKGQpOworICAgIH0KKworICAgIHJldHVybiByYzsKIH0KIAog aW50IHFpbnZhbF9kZXZpY2VfaW90bGJfc3luYyhzdHJ1Y3QgaW9tbXUgKmlvbW11LAotICAgICAg ICAgICAgICAgICAgICAgICAgICAgICB1MzIgbWF4X2ludnNfcGVuZCwKLSAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgdTE2IHNpZCwgdTE2IHNpemUsIHU2NCBhZGRyKQorICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBzdHJ1Y3QgcGNpX2F0c19kZXYgKmF0c19kZXYsCisgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIHUxNiBkaWQsIHUxNiBzaXplLCB1NjQgYWRkcikKIHsKICAgICB1 bnNpZ25lZCBsb25nIGZsYWdzOwogICAgIHVuc2lnbmVkIGludCBpbmRleDsKICAgICB1NjQgZW50 cnlfYmFzZTsKICAgICBzdHJ1Y3QgcWludmFsX2VudHJ5ICpxaW52YWxfZW50cnksICpxaW52YWxf ZW50cmllczsKKyAgICBzdHJ1Y3QgcGNpX2RldiAqcGRldiA9IGF0c19kZXYtPnBkZXY7CiAKKyAg ICBBU1NFUlQocGRldik7CiAgICAgc3Bpbl9sb2NrX2lycXNhdmUoJmlvbW11LT5yZWdpc3Rlcl9s b2NrLCBmbGFncyk7CiAgICAgaW5kZXggPSBxaW52YWxfbmV4dF9pbmRleChpb21tdSk7CiAgICAg ZW50cnlfYmFzZSA9IGlvbW11X3FpX2N0cmwoaW9tbXUpLT5xaW52YWxfbWFkZHIgKwpAQCAtMjI3 LDkgKzI1Nyw5IEBAIGludCBxaW52YWxfZGV2aWNlX2lvdGxiX3N5bmMoc3RydWN0IGlvbW11ICpp b21tdSwKIAogICAgIHFpbnZhbF9lbnRyeS0+cS5kZXZfaW90bGJfaW52X2RzYy5sby50eXBlID0g VFlQRV9JTlZBTF9ERVZJQ0VfSU9UTEI7CiAgICAgcWludmFsX2VudHJ5LT5xLmRldl9pb3RsYl9p bnZfZHNjLmxvLnJlc18xID0gMDsKLSAgICBxaW52YWxfZW50cnktPnEuZGV2X2lvdGxiX2ludl9k c2MubG8ubWF4X2ludnNfcGVuZCA9IG1heF9pbnZzX3BlbmQ7CisgICAgcWludmFsX2VudHJ5LT5x LmRldl9pb3RsYl9pbnZfZHNjLmxvLm1heF9pbnZzX3BlbmQgPSBhdHNfZGV2LT5hdHNfcXVldWVf ZGVwdGg7CiAgICAgcWludmFsX2VudHJ5LT5xLmRldl9pb3RsYl9pbnZfZHNjLmxvLnJlc18yID0g MDsKLSAgICBxaW52YWxfZW50cnktPnEuZGV2X2lvdGxiX2ludl9kc2MubG8uc2lkID0gc2lkOwor ICAgIHFpbnZhbF9lbnRyeS0+cS5kZXZfaW90bGJfaW52X2RzYy5sby5zaWQgPSBQQ0lfQkRGMihw ZGV2LT5idXMsIHBkZXYtPmRldmZuKTsKICAgICBxaW52YWxfZW50cnktPnEuZGV2X2lvdGxiX2lu dl9kc2MubG8ucmVzXzMgPSAwOwogCiAgICAgcWludmFsX2VudHJ5LT5xLmRldl9pb3RsYl9pbnZf ZHNjLmhpLnNpemUgPSBzaXplOwpAQCAtMjQwLDcgKzI3MCw3IEBAIGludCBxaW52YWxfZGV2aWNl X2lvdGxiX3N5bmMoc3RydWN0IGlvbW11ICppb21tdSwKICAgICBxaW52YWxfdXBkYXRlX3F0YWls KGlvbW11LCBpbmRleCk7CiAgICAgc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmaW9tbXUtPnJlZ2lz dGVyX2xvY2ssIGZsYWdzKTsKIAotICAgIHJldHVybiBpbnZhbGlkYXRlX3N5bmMoaW9tbXUsIDEp OworICAgIHJldHVybiBkZXZfaW52YWxpZGF0ZV9zeW5jKGlvbW11LCBwZGV2LCBkaWQpOwogfQog CiBzdGF0aWMgaW50IF9fbXVzdF9jaGVjayBxdWV1ZV9pbnZhbGlkYXRlX2llY19zeW5jKHN0cnVj dCBpb21tdSAqaW9tbXUsCkBAIC0yNzEsNyArMzAxLDcgQEAgc3RhdGljIGludCBfX211c3RfY2hl Y2sgcXVldWVfaW52YWxpZGF0ZV9pZWNfc3luYyhzdHJ1Y3QgaW9tbXUgKmlvbW11LAogICAgIHFp bnZhbF91cGRhdGVfcXRhaWwoaW9tbXUsIGluZGV4KTsKICAgICBzcGluX3VubG9ja19pcnFyZXN0 b3JlKCZpb21tdS0+cmVnaXN0ZXJfbG9jaywgZmxhZ3MpOwogCi0gICAgcmV0ID0gaW52YWxpZGF0 ZV9zeW5jKGlvbW11LCAwKTsKKyAgICByZXQgPSBpbnZhbGlkYXRlX3N5bmMoaW9tbXUpOwogCiAg ICAgLyoKICAgICAgKiByZWFkaW5nIHZ0LWQgYXJjaGl0ZWN0dXJlIHJlZ2lzdGVyIHdpbGwgZW5z dXJlCmRpZmYgLS1naXQgYS94ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC92dGQveDg2L2F0cy5jIGIv eGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gvdnRkL3g4Ni9hdHMuYwppbmRleCAxMWZlOWJiLi4yM2U0 NmIxIDEwMDY0NAotLS0gYS94ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC92dGQveDg2L2F0cy5jCisr KyBiL3hlbi9kcml2ZXJzL3Bhc3N0aHJvdWdoL3Z0ZC94ODYvYXRzLmMKQEAgLTExOCwxNCArMTE4 LDkgQEAgaW50IGRldl9pbnZhbGlkYXRlX2lvdGxiKHN0cnVjdCBpb21tdSAqaW9tbXUsIHUxNiBk aWQsCiAKICAgICBsaXN0X2Zvcl9lYWNoX2VudHJ5KCBhdHNfZGV2LCAmYXRzX2RldmljZXMsIGxp c3QgKQogICAgIHsKLSAgICAgICAgc3RydWN0IHBjaV9kZXYgKnBkZXYgPSBhdHNfZGV2LT5wZGV2 OwotICAgICAgICB1MTYgc2lkOwogICAgICAgICBib29sX3Qgc2JpdDsKICAgICAgICAgaW50IHJj ID0gMDsKIAotICAgICAgICBBU1NFUlQocGRldik7Ci0gICAgICAgIHNpZCA9IFBDSV9CREYyKHBk ZXYtPmJ1cywgcGRldi0+ZGV2Zm4pOwotCiAgICAgICAgIC8qIE9ubHkgaW52YWxpZGF0ZSBkZXZp Y2VzIHRoYXQgYmVsb25nIHRvIHRoaXMgSU9NTVUgKi8KICAgICAgICAgaWYgKCBhdHNfZGV2LT5p b21tdSAhPSBpb21tdSApCiAgICAgICAgICAgICBjb250aW51ZTsKQEAgLTE0MCw4ICsxMzUsNyBA QCBpbnQgZGV2X2ludmFsaWRhdGVfaW90bGIoc3RydWN0IGlvbW11ICppb21tdSwgdTE2IGRpZCwK ICAgICAgICAgICAgIC8qIGludmFsaWRhdGUgYWxsIHRyYW5zbGF0aW9uczogc2JpdD0xLGJpdF82 Mz0wLGJpdFs2MjoxMl09MSAqLwogICAgICAgICAgICAgc2JpdCA9IDE7CiAgICAgICAgICAgICBh ZGRyID0gKH4wVUwgPDwgUEFHRV9TSElGVF80SykgJiAweDdGRkZGRkZGRkZGRkZGRkY7Ci0gICAg ICAgICAgICByYyA9IHFpbnZhbF9kZXZpY2VfaW90bGJfc3luYyhpb21tdSwgYXRzX2Rldi0+YXRz X3F1ZXVlX2RlcHRoLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg c2lkLCBzYml0LCBhZGRyKTsKKyAgICAgICAgICAgIHJjID0gcWludmFsX2RldmljZV9pb3RsYl9z eW5jKGlvbW11LCBhdHNfZGV2LCBkaWQsIHNiaXQsIGFkZHIpOwogICAgICAgICAgICAgYnJlYWs7 CiAgICAgICAgIGNhc2UgRE1BX1RMQl9QU0lfRkxVU0g6CiAgICAgICAgICAgICBpZiAoICFkZXZp Y2VfaW5fZG9tYWluKGlvbW11LCBhdHNfZGV2LCBkaWQpICkKQEAgLTE2MCw4ICsxNTQsNyBAQCBp bnQgZGV2X2ludmFsaWRhdGVfaW90bGIoc3RydWN0IGlvbW11ICppb21tdSwgdTE2IGRpZCwKICAg ICAgICAgICAgICAgICBhZGRyIHw9ICgoKHU2NCkxIDw8IChzaXplX29yZGVyIC0gMSkpIC0gMSkg PDwgUEFHRV9TSElGVF80SzsKICAgICAgICAgICAgIH0KIAotICAgICAgICAgICAgcmMgPSBxaW52 YWxfZGV2aWNlX2lvdGxiX3N5bmMoaW9tbXUsIGF0c19kZXYtPmF0c19xdWV1ZV9kZXB0aCwKLSAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpZCwgc2JpdCwgYWRkcik7 CisgICAgICAgICAgICByYyA9IHFpbnZhbF9kZXZpY2VfaW90bGJfc3luYyhpb21tdSwgYXRzX2Rl diwgZGlkLCBzYml0LCBhZGRyKTsKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICBkZWZhdWx0 OgogICAgICAgICAgICAgZHByaW50ayhYRU5MT0dfV0FSTklORyBWVERQUkVGSVgsICJpbnZhbGlk IHZ0LWQgZmx1c2ggdHlwZVxuIik7CmRpZmYgLS1naXQgYS94ZW4vaW5jbHVkZS94ZW4vaW9tbXUu aCBiL3hlbi9pbmNsdWRlL3hlbi9pb21tdS5oCmluZGV4IGE3NTlmMmIuLmUwZjdkNTIgMTAwNjQ0 Ci0tLSBhL3hlbi9pbmNsdWRlL3hlbi9pb21tdS5oCisrKyBiL3hlbi9pbmNsdWRlL3hlbi9pb21t dS5oCkBAIC0yMDcsNiArMjA3LDkgQEAgaW50IF9fbXVzdF9jaGVjayBpb21tdV9pb3RsYl9mbHVz aChzdHJ1Y3QgZG9tYWluICpkLCB1bnNpZ25lZCBsb25nIGdmbiwKICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50IHBhZ2VfY291bnQpOwogaW50IF9fbXVzdF9j aGVjayBpb21tdV9pb3RsYl9mbHVzaF9hbGwoc3RydWN0IGRvbWFpbiAqZCk7CiAKK3ZvaWQgaW9t bXVfZGV2X2lvdGxiX2ZsdXNoX3RpbWVvdXQoc3RydWN0IGRvbWFpbiAqZCwKKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IHBjaV9kZXYgKnBkZXYpOworCiAvKgogICog VGhlIHB1cnBvc2Ugb2YgdGhlIGlvbW11X2RvbnRfZmx1c2hfaW90bGIgb3B0aW9uYWwgY3B1IGZs YWcgaXMgdG8KICAqIGF2b2lkIHVuZWNlc3NhcnkgaW90bGJfZmx1c2ggaW4gdGhlIGxvdyBsZXZl bCBJT01NVSBjb2RlLgpkaWZmIC0tZ2l0IGEveGVuL2luY2x1ZGUveGVuL3BjaS5oIGIveGVuL2lu Y2x1ZGUveGVuL3BjaS5oCmluZGV4IDZlZDI5ZGQuLmU0OTQwY2QgMTAwNjQ0Ci0tLSBhL3hlbi9p bmNsdWRlL3hlbi9wY2kuaAorKysgYi94ZW4vaW5jbHVkZS94ZW4vcGNpLmgKQEAgLTExOCw2ICsx MTgsNyBAQCBpbnQgcGNpX2FkZF9kZXZpY2UodTE2IHNlZywgdTggYnVzLCB1OCBkZXZmbiwKIGlu dCBwY2lfcmVtb3ZlX2RldmljZSh1MTYgc2VnLCB1OCBidXMsIHU4IGRldmZuKTsKIGludCBwY2lf cm9fZGV2aWNlKGludCBzZWcsIGludCBidXMsIGludCBkZXZmbik7CiBpbnQgcGNpX2hpZGVfZGV2 aWNlKGludCBidXMsIGludCBkZXZmbik7Cit2b2lkIHBjaV9oaWRlX2V4aXN0aW5nX2RldmljZShz dHJ1Y3QgcGNpX2RldiAqcGRldik7CiBzdHJ1Y3QgcGNpX2RldiAqcGNpX2dldF9wZGV2KGludCBz ZWcsIGludCBidXMsIGludCBkZXZmbik7CiBzdHJ1Y3QgcGNpX2RldiAqcGNpX2dldF9yZWFsX3Bk ZXYoaW50IHNlZywgaW50IGJ1cywgaW50IGRldmZuKTsKIHN0cnVjdCBwY2lfZGV2ICpwY2lfZ2V0 X3BkZXZfYnlfZG9tYWluKAotLSAKMS45LjEKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fXwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0 cy54ZW4ub3JnCmh0dHA6Ly9saXN0cy54ZW4ub3JnL3hlbi1kZXZlbAo=