From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Xu, Quan" Subject: [PATCH v12 2/6] vt-d: synchronize for Device-TLB flush one by one Date: Fri, 24 Jun 2016 13:51:54 +0800 Message-ID: <1466747518-54402-3-git-send-email-quan.xu@intel.com> References: <1466747518-54402-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: <1466747518-54402-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+CgpUb2RheSB3ZSBkbyBEZXZpY2UtVExC IGZsdXNoIHN5bmNocm9uaXphdGlvbiBhZnRlciBpc3N1aW5nIGZsdXNoCnJlcXVlc3RzIGZvciBh bGwgQVRTIGRldmljZXMgYmVsb25naW5nIHRvIGEgVk0uIERvaW5nIHNvIGhvd2V2ZXIKaW1wb3Nl cyBhIGxpbWl0YXRpb24sIGkuZS4gdGhhdCB3ZSBjYW4gbm90IGZpZ3VyZSBvdXQgd2hpY2ggZmx1 c2gKcmVxdWVzdCBpcyBibG9ja2VkIGluIHRoZSBmbHVzaCBxdWV1ZSBsaXN0LCBiYXNlZCBvbiBW VC1kIHNwZWMuCgpUbyBwcmVwYXJlIGNvcnJlY3QgRGV2aWNlLVRMQiBmbHVzaCB0aW1lb3V0IGhh bmRsaW5nIGluIG5leHQgcGF0Y2gsCndlIGNoYW5nZSB0aGUgYmVoYXZpb3IgdG8gc3luY2hyb25p emUgZm9yIGV2ZXJ5IERldmljZS1UTEIgZmx1c2gKcmVxdWVzdC4gU28gdGhlIERldmljZS1UTEIg Zmx1c2ggaW50ZXJmYWNlIGlzIGNoYW5nZWQgYSBsaXR0bGUgYml0LApieSBjaGVja2luZyB0aW1l b3V0IHdpdGhpbiB0aGUgZnVuY3Rpb24gaW5zdGVhZCBvZiBvdXRzaWRlIG9mIGZ1bmN0aW9uLgoK QWNjb3JkaW5nbHkgd2UgYWxzbyBkbyBhIHNpbWlsYXIgY2hhbmdlIGZvciBmbHVzaCBpbnRlcmZh Y2VzIG9mCklPVExCL0lFQy9Db250ZXh0LCBpLmUuIG1vdmluZyBzeW5jaHJvbml6YXRpb24gaW50 byB0aGUgZnVuY3Rpb24uClNpbmNlIHRoZXJlIGlzIG5vIHVzZXIgb2YgYSBub24tc3luY2VkIGlu dGVyZmFjZSwgd2UganVzdCByZW5hbWUKZXhpc3Rpbmcgb25lcyB3aXRoIF9zeW5jIHN1ZmZpeC4K ClNpZ25lZC1vZmYtYnk6IFF1YW4gWHUgPHF1YW4ueHVAaW50ZWwuY29tPgpSZXZpZXdlZC1ieTog SmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgoKQ0M6IEphbiBCZXVsaWNoIDxqYmV1bGlj aEBzdXNlLmNvbT4KQ0M6IEtldmluIFRpYW4gPGtldmluLnRpYW5AaW50ZWwuY29tPgpDQzogRmVu ZyBXdSA8ZmVuZy53dUBpbnRlbC5jb20+Ci0tLQogeGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gvdnRk L2V4dGVybi5oICB8ICA1ICstLQogeGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gvdnRkL3FpbnZhbC5j ICB8IDY1ICsrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tCiB4ZW4vZHJpdmVycy9w YXNzdGhyb3VnaC92dGQveDg2L2F0cy5jIHwgIDggKystLS0KIDMgZmlsZXMgY2hhbmdlZCwgNDUg aW5zZXJ0aW9ucygrKSwgMzMgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEveGVuL2RyaXZlcnMv cGFzc3Rocm91Z2gvdnRkL2V4dGVybi5oIGIveGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gvdnRkL2V4 dGVybi5oCmluZGV4IDY3NzI4MzkuLjQ1MzU3ZjIgMTAwNjQ0Ci0tLSBhL3hlbi9kcml2ZXJzL3Bh c3N0aHJvdWdoL3Z0ZC9leHRlcm4uaAorKysgYi94ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC92dGQv ZXh0ZXJuLmgKQEAgLTU5LDggKzU5LDkgQEAgaW50IGF0c19kZXZpY2UoY29uc3Qgc3RydWN0IHBj aV9kZXYgKiwgY29uc3Qgc3RydWN0IGFjcGlfZHJoZF91bml0ICopOwogaW50IGRldl9pbnZhbGlk YXRlX2lvdGxiKHN0cnVjdCBpb21tdSAqaW9tbXUsIHUxNiBkaWQsCiAgICAgICAgICAgICAgICAg ICAgICAgICAgdTY0IGFkZHIsIHVuc2lnbmVkIGludCBzaXplX29yZGVyLCB1NjQgdHlwZSk7CiAK LWludCBxaW52YWxfZGV2aWNlX2lvdGxiKHN0cnVjdCBpb21tdSAqaW9tbXUsCi0gICAgICAgICAg ICAgICAgICAgICAgICB1MzIgbWF4X2ludnNfcGVuZCwgdTE2IHNpZCwgdTE2IHNpemUsIHU2NCBh ZGRyKTsKK2ludCBfX211c3RfY2hlY2sgcWludmFsX2RldmljZV9pb3RsYl9zeW5jKHN0cnVjdCBp b21tdSAqaW9tbXUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1 MzIgbWF4X2ludnNfcGVuZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHUxNiBzaWQsIHUxNiBzaXplLCB1NjQgYWRkcik7CiAKIHVuc2lnbmVkIGludCBnZXRfY2Fj aGVfbGluZV9zaXplKHZvaWQpOwogdm9pZCBjYWNoZWxpbmVfZmx1c2goY2hhciAqKTsKZGlmZiAt LWdpdCBhL3hlbi9kcml2ZXJzL3Bhc3N0aHJvdWdoL3Z0ZC9xaW52YWwuYyBiL3hlbi9kcml2ZXJz L3Bhc3N0aHJvdWdoL3Z0ZC9xaW52YWwuYwppbmRleCA0Nzg4ZDVmLi40NmM0YzhmIDEwMDY0NAot LS0gYS94ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC92dGQvcWludmFsLmMKKysrIGIveGVuL2RyaXZl cnMvcGFzc3Rocm91Z2gvdnRkL3FpbnZhbC5jCkBAIC0zMCw2ICszMCw5IEBACiAKICNkZWZpbmUg VlREX1FJX1RJTUVPVVQJMQogCitzdGF0aWMgaW50IF9fbXVzdF9jaGVjayBpbnZhbGlkYXRlX3N5 bmMoc3RydWN0IGlvbW11ICppb21tdSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBib29sX3QgZmx1c2hfZGV2X2lvdGxiKTsKKwogc3RhdGljIHZvaWQgcHJpbnRfcWlf cmVncyhzdHJ1Y3QgaW9tbXUgKmlvbW11KQogewogICAgIHU2NCB2YWw7CkBAIC02OSw4ICs3Miwx MCBAQCBzdGF0aWMgdm9pZCBxaW52YWxfdXBkYXRlX3F0YWlsKHN0cnVjdCBpb21tdSAqaW9tbXUs IHVuc2lnbmVkIGludCBpbmRleCkKICAgICBkbWFyX3dyaXRlcShpb21tdS0+cmVnLCBETUFSX0lR VF9SRUcsICh2YWwgPDwgUUlOVkFMX0lOREVYX1NISUZUKSk7CiB9CiAKLXN0YXRpYyB2b2lkIHF1 ZXVlX2ludmFsaWRhdGVfY29udGV4dChzdHJ1Y3QgaW9tbXUgKmlvbW11LAotICAgIHUxNiBkaWQs IHUxNiBzb3VyY2VfaWQsIHU4IGZ1bmN0aW9uX21hc2ssIHU4IGdyYW51KQorc3RhdGljIGludCBf X211c3RfY2hlY2sgcXVldWVfaW52YWxpZGF0ZV9jb250ZXh0X3N5bmMoc3RydWN0IGlvbW11ICpp b21tdSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHUxNiBkaWQsIHUxNiBzb3VyY2VfaWQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICB1OCBmdW5jdGlvbl9tYXNrLAorICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdTggZ3JhbnUpCiB7CiAg ICAgdW5zaWduZWQgbG9uZyBmbGFnczsKICAgICB1bnNpZ25lZCBpbnQgaW5kZXg7CkBAIC05Nywx MCArMTAyLDE0IEBAIHN0YXRpYyB2b2lkIHF1ZXVlX2ludmFsaWRhdGVfY29udGV4dChzdHJ1Y3Qg aW9tbXUgKmlvbW11LAogICAgIHNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJmlvbW11LT5yZWdpc3Rl cl9sb2NrLCBmbGFncyk7CiAKICAgICB1bm1hcF92dGRfZG9tYWluX3BhZ2UocWludmFsX2VudHJp ZXMpOworCisgICAgcmV0dXJuIGludmFsaWRhdGVfc3luYyhpb21tdSwgMCk7CiB9CiAKLXN0YXRp YyB2b2lkIHF1ZXVlX2ludmFsaWRhdGVfaW90bGIoc3RydWN0IGlvbW11ICppb21tdSwKLSAgICB1 OCBncmFudSwgdTggZHIsIHU4IGR3LCB1MTYgZGlkLCB1OCBhbSwgdTggaWgsIHU2NCBhZGRyKQor c3RhdGljIGludCBfX211c3RfY2hlY2sgcXVldWVfaW52YWxpZGF0ZV9pb3RsYl9zeW5jKHN0cnVj dCBpb21tdSAqaW9tbXUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgdTggZ3JhbnUsIHU4IGRyLCB1OCBkdywKKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1MTYgZGlkLCB1OCBhbSwgdTggaWgsCisg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdTY0IGFk ZHIpCiB7CiAgICAgdW5zaWduZWQgbG9uZyBmbGFnczsKICAgICB1bnNpZ25lZCBpbnQgaW5kZXg7 CkBAIC0xMzAsNiArMTM5LDggQEAgc3RhdGljIHZvaWQgcXVldWVfaW52YWxpZGF0ZV9pb3RsYihz dHJ1Y3QgaW9tbXUgKmlvbW11LAogICAgIHVubWFwX3Z0ZF9kb21haW5fcGFnZShxaW52YWxfZW50 cmllcyk7CiAgICAgcWludmFsX3VwZGF0ZV9xdGFpbChpb21tdSwgaW5kZXgpOwogICAgIHNwaW5f dW5sb2NrX2lycXJlc3RvcmUoJmlvbW11LT5yZWdpc3Rlcl9sb2NrLCBmbGFncyk7CisKKyAgICBy ZXR1cm4gaW52YWxpZGF0ZV9zeW5jKGlvbW11LCAwKTsKIH0KIAogc3RhdGljIGludCBfX211c3Rf Y2hlY2sgcXVldWVfaW52YWxpZGF0ZV93YWl0KHN0cnVjdCBpb21tdSAqaW9tbXUsCkBAIC0xOTks OCArMjEwLDkgQEAgc3RhdGljIGludCBfX211c3RfY2hlY2sgaW52YWxpZGF0ZV9zeW5jKHN0cnVj dCBpb21tdSAqaW9tbXUsCiAgICAgcmV0dXJuIDA7CiB9CiAKLWludCBxaW52YWxfZGV2aWNlX2lv dGxiKHN0cnVjdCBpb21tdSAqaW9tbXUsCi0gICAgdTMyIG1heF9pbnZzX3BlbmQsIHUxNiBzaWQs IHUxNiBzaXplLCB1NjQgYWRkcikKK2ludCBxaW52YWxfZGV2aWNlX2lvdGxiX3N5bmMoc3RydWN0 IGlvbW11ICppb21tdSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdTMyIG1heF9pbnZz X3BlbmQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHUxNiBzaWQsIHUxNiBzaXplLCB1 NjQgYWRkcikKIHsKICAgICB1bnNpZ25lZCBsb25nIGZsYWdzOwogICAgIHVuc2lnbmVkIGludCBp bmRleDsKQEAgLTIyOSwxNSArMjQxLDE3IEBAIGludCBxaW52YWxfZGV2aWNlX2lvdGxiKHN0cnVj dCBpb21tdSAqaW9tbXUsCiAgICAgcWludmFsX3VwZGF0ZV9xdGFpbChpb21tdSwgaW5kZXgpOwog ICAgIHNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJmlvbW11LT5yZWdpc3Rlcl9sb2NrLCBmbGFncyk7 CiAKLSAgICByZXR1cm4gMDsKKyAgICByZXR1cm4gaW52YWxpZGF0ZV9zeW5jKGlvbW11LCAxKTsK IH0KIAotc3RhdGljIHZvaWQgcXVldWVfaW52YWxpZGF0ZV9pZWMoc3RydWN0IGlvbW11ICppb21t dSwgdTggZ3JhbnUsIHU4IGltLCB1MTYgaWlkeCkKK3N0YXRpYyBpbnQgX19tdXN0X2NoZWNrIHF1 ZXVlX2ludmFsaWRhdGVfaWVjX3N5bmMoc3RydWN0IGlvbW11ICppb21tdSwKKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdTggZ3JhbnUsIHU4IGltLCB1 MTYgaWlkeCkKIHsKICAgICB1bnNpZ25lZCBsb25nIGZsYWdzOwogICAgIHVuc2lnbmVkIGludCBp bmRleDsKICAgICB1NjQgZW50cnlfYmFzZTsKICAgICBzdHJ1Y3QgcWludmFsX2VudHJ5ICpxaW52 YWxfZW50cnksICpxaW52YWxfZW50cmllczsKKyAgICBpbnQgcmV0OwogCiAgICAgc3Bpbl9sb2Nr X2lycXNhdmUoJmlvbW11LT5yZWdpc3Rlcl9sb2NrLCBmbGFncyk7CiAgICAgaW5kZXggPSBxaW52 YWxfbmV4dF9pbmRleChpb21tdSk7CkBAIC0yNTcsMTQgKzI3MSw5IEBAIHN0YXRpYyB2b2lkIHF1 ZXVlX2ludmFsaWRhdGVfaWVjKHN0cnVjdCBpb21tdSAqaW9tbXUsIHU4IGdyYW51LCB1OCBpbSwg dTE2IGlpZHgpCiAgICAgdW5tYXBfdnRkX2RvbWFpbl9wYWdlKHFpbnZhbF9lbnRyaWVzKTsKICAg ICBxaW52YWxfdXBkYXRlX3F0YWlsKGlvbW11LCBpbmRleCk7CiAgICAgc3Bpbl91bmxvY2tfaXJx cmVzdG9yZSgmaW9tbXUtPnJlZ2lzdGVyX2xvY2ssIGZsYWdzKTsKLX0KLQotc3RhdGljIGludCBf X2lvbW11X2ZsdXNoX2llYyhzdHJ1Y3QgaW9tbXUgKmlvbW11LCB1OCBncmFudSwgdTggaW0sIHUx NiBpaWR4KQotewotICAgIGludCByZXQ7CiAKLSAgICBxdWV1ZV9pbnZhbGlkYXRlX2llYyhpb21t dSwgZ3JhbnUsIGltLCBpaWR4KTsKICAgICByZXQgPSBpbnZhbGlkYXRlX3N5bmMoaW9tbXUsIDAp OworCiAgICAgLyoKICAgICAgKiByZWFkaW5nIHZ0LWQgYXJjaGl0ZWN0dXJlIHJlZ2lzdGVyIHdp bGwgZW5zdXJlCiAgICAgICogZHJhaW5pbmcgaGFwcGVucyBpbiBpbXBsZW1lbnRhdGlvbiBpbmRl cGVuZGVudCB3YXkuCkBAIC0yNzYsMTIgKzI4NSwxMiBAQCBzdGF0aWMgaW50IF9faW9tbXVfZmx1 c2hfaWVjKHN0cnVjdCBpb21tdSAqaW9tbXUsIHU4IGdyYW51LCB1OCBpbSwgdTE2IGlpZHgpCiAK IGludCBpb21tdV9mbHVzaF9pZWNfZ2xvYmFsKHN0cnVjdCBpb21tdSAqaW9tbXUpCiB7Ci0gICAg cmV0dXJuIF9faW9tbXVfZmx1c2hfaWVjKGlvbW11LCBJRUNfR0xPQkFMX0lOVkwsIDAsIDApOwor ICAgIHJldHVybiBxdWV1ZV9pbnZhbGlkYXRlX2llY19zeW5jKGlvbW11LCBJRUNfR0xPQkFMX0lO VkwsIDAsIDApOwogfQogCiBpbnQgaW9tbXVfZmx1c2hfaWVjX2luZGV4KHN0cnVjdCBpb21tdSAq aW9tbXUsIHU4IGltLCB1MTYgaWlkeCkKIHsKLSAgIHJldHVybiBfX2lvbW11X2ZsdXNoX2llYyhp b21tdSwgSUVDX0lOREVYX0lOVkwsIGltLCBpaWR4KTsKKyAgICByZXR1cm4gcXVldWVfaW52YWxp ZGF0ZV9pZWNfc3luYyhpb21tdSwgSUVDX0lOREVYX0lOVkwsIGltLCBpaWR4KTsKIH0KIAogc3Rh dGljIGludCBfX211c3RfY2hlY2sgZmx1c2hfY29udGV4dF9xaSh2b2lkICpfaW9tbXUsIHUxNiBk aWQsCkBAIC0zMDcsMTEgKzMxNiw5IEBAIHN0YXRpYyBpbnQgX19tdXN0X2NoZWNrIGZsdXNoX2Nv bnRleHRfcWkodm9pZCAqX2lvbW11LCB1MTYgZGlkLAogICAgIH0KIAogICAgIGlmICggcWlfY3Ry bC0+cWludmFsX21hZGRyICE9IDAgKQotICAgIHsKLSAgICAgICAgcXVldWVfaW52YWxpZGF0ZV9j b250ZXh0KGlvbW11LCBkaWQsIHNpZCwgZm0sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICB0eXBlID4+IERNQV9DQ01EX0lOVkxfR1JBTlVfT0ZGU0VUKTsKLSAgICAgICAgcmV0ID0g aW52YWxpZGF0ZV9zeW5jKGlvbW11LCAwKTsKLSAgICB9CisgICAgICAgIHJldCA9IHF1ZXVlX2lu dmFsaWRhdGVfY29udGV4dF9zeW5jKGlvbW11LCBkaWQsIHNpZCwgZm0sCisgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGUgPj4gRE1BX0NDTURfSU5WTF9HUkFO VV9PRkZTRVQpOworCiAgICAgcmV0dXJuIHJldDsKIH0KIApAQCAtMzQ5LDE0ICszNTYsMTggQEAg c3RhdGljIGludCBfX211c3RfY2hlY2sgZmx1c2hfaW90bGJfcWkodm9pZCAqX2lvbW11LCB1MTYg ZGlkLCB1NjQgYWRkciwKICAgICAgICAgaWYgKGNhcF9yZWFkX2RyYWluKGlvbW11LT5jYXApKQog ICAgICAgICAgICAgZHIgPSAxOwogICAgICAgICAvKiBOZWVkIHRvIGNvbnNpZGUgdGhlIGloIGJp dCBsYXRlciAqLwotICAgICAgICBxdWV1ZV9pbnZhbGlkYXRlX2lvdGxiKGlvbW11LAotICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGUgPj4gRE1BX1RMQl9GTFVTSF9HUkFOVV9PRkZT RVQsIGRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGR3LCBkaWQsIHNpemVfb3Jk ZXIsIDAsIGFkZHIpOwotICAgICAgICBpZiAoIGZsdXNoX2Rldl9pb3RsYiApCi0gICAgICAgICAg ICByZXQgPSBkZXZfaW52YWxpZGF0ZV9pb3RsYihpb21tdSwgZGlkLCBhZGRyLCBzaXplX29yZGVy LCB0eXBlKTsKLSAgICAgICAgcmMgPSBpbnZhbGlkYXRlX3N5bmMoaW9tbXUsIGZsdXNoX2Rldl9p b3RsYik7CisgICAgICAgIHJjID0gcXVldWVfaW52YWxpZGF0ZV9pb3RsYl9zeW5jKGlvbW11LAor ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlID4+IERNQV9UTEJf RkxVU0hfR1JBTlVfT0ZGU0VULAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBkciwgZHcsIGRpZCwgc2l6ZV9vcmRlciwgMCwgYWRkcik7CiAgICAgICAgIGlmICggIXJl dCApCiAgICAgICAgICAgICByZXQgPSByYzsKKworICAgICAgICBpZiAoIGZsdXNoX2Rldl9pb3Rs YiApCisgICAgICAgIHsKKyAgICAgICAgICAgIHJjID0gZGV2X2ludmFsaWRhdGVfaW90bGIoaW9t bXUsIGRpZCwgYWRkciwgc2l6ZV9vcmRlciwgdHlwZSk7CisgICAgICAgICAgICBpZiAoICFyZXQg KQorICAgICAgICAgICAgICAgIHJldCA9IHJjOworICAgICAgICB9CiAgICAgfQogICAgIHJldHVy biByZXQ7CiB9CmRpZmYgLS1naXQgYS94ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC92dGQveDg2L2F0 cy5jIGIveGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gvdnRkL3g4Ni9hdHMuYwppbmRleCAzMzRiOWMx Li5kZmE0ZDMwIDEwMDY0NAotLS0gYS94ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC92dGQveDg2L2F0 cy5jCisrKyBiL3hlbi9kcml2ZXJzL3Bhc3N0aHJvdWdoL3Z0ZC94ODYvYXRzLmMKQEAgLTEzNCw4 ICsxMzQsOCBAQCBpbnQgZGV2X2ludmFsaWRhdGVfaW90bGIoc3RydWN0IGlvbW11ICppb21tdSwg dTE2IGRpZCwKICAgICAgICAgICAgIC8qIGludmFsaWRhdGUgYWxsIHRyYW5zbGF0aW9uczogc2Jp dD0xLGJpdF82Mz0wLGJpdFs2MjoxMl09MSAqLwogICAgICAgICAgICAgc2JpdCA9IDE7CiAgICAg ICAgICAgICBhZGRyID0gKH4wVUwgPDwgUEFHRV9TSElGVF80SykgJiAweDdGRkZGRkZGRkZGRkZG RkY7Ci0gICAgICAgICAgICByYyA9IHFpbnZhbF9kZXZpY2VfaW90bGIoaW9tbXUsIHBkZXYtPmF0 c19xdWV1ZV9kZXB0aCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaWQs IHNiaXQsIGFkZHIpOworICAgICAgICAgICAgcmMgPSBxaW52YWxfZGV2aWNlX2lvdGxiX3N5bmMo aW9tbXUsIHBkZXYtPmF0c19xdWV1ZV9kZXB0aCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIHNpZCwgc2JpdCwgYWRkcik7CiAgICAgICAgICAgICBicmVhazsKICAg ICAgICAgY2FzZSBETUFfVExCX1BTSV9GTFVTSDoKICAgICAgICAgICAgIGlmICggIWRldmljZV9p bl9kb21haW4oaW9tbXUsIHBkZXYsIGRpZCkgKQpAQCAtMTU0LDggKzE1NCw4IEBAIGludCBkZXZf aW52YWxpZGF0ZV9pb3RsYihzdHJ1Y3QgaW9tbXUgKmlvbW11LCB1MTYgZGlkLAogICAgICAgICAg ICAgICAgIGFkZHIgfD0gKCgodTY0KTEgPDwgKHNpemVfb3JkZXIgLSAxKSkgLSAxKSA8PCBQQUdF X1NISUZUXzRLOwogICAgICAgICAgICAgfQogCi0gICAgICAgICAgICByYyA9IHFpbnZhbF9kZXZp Y2VfaW90bGIoaW9tbXUsIHBkZXYtPmF0c19xdWV1ZV9kZXB0aCwKLSAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBzaWQsIHNiaXQsIGFkZHIpOworICAgICAgICAgICAgcmMgPSBx aW52YWxfZGV2aWNlX2lvdGxiX3N5bmMoaW9tbXUsIHBkZXYtPmF0c19xdWV1ZV9kZXB0aCwKKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpZCwgc2JpdCwgYWRkcik7 CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgZGVmYXVsdDoKICAgICAgICAgICAgIGRwcmlu dGsoWEVOTE9HX1dBUk5JTkcgVlREUFJFRklYLCAiaW52YWxpZCB2dC1kIGZsdXNoIHR5cGVcbiIp OwotLSAKMS45LjEKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fXwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54ZW4ub3JnCmh0dHA6 Ly9saXN0cy54ZW4ub3JnL3hlbi1kZXZlbAo=