From mboxrd@z Thu Jan 1 00:00:00 1970 From: Paul Durrant Subject: [PATCH-for-4.9 v1 7/8] dm_op: convert HVMOP_inject_trap and HVMOP_inject_msi Date: Fri, 18 Nov 2016 17:14:03 +0000 Message-ID: <1479489244-2201-8-git-send-email-paul.durrant@citrix.com> References: <1479489244-2201-1-git-send-email-paul.durrant@citrix.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail6.bemta3.messagelabs.com ([195.245.230.39]) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1c7n4z-00059A-KQ for xen-devel@lists.xenproject.org; Fri, 18 Nov 2016 17:36:01 +0000 In-Reply-To: <1479489244-2201-1-git-send-email-paul.durrant@citrix.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: xen-devel@lists.xenproject.org Cc: Wei Liu , Daniel De Graaf , Paul Durrant , Ian Jackson , Andrew Cooper List-Id: xen-devel@lists.xenproject.org Tk9URTogVGhlIGRlZmluaXRpb25zIG9mIEhWTU9QX1RSQVBfKiBoYXZlIHRvIHBlcnNpc3QgZm9y IG5ldyBpbnRlcmZhY2UKICAgICAgdmVyc2lvbnMgYXMgdGhleSBhcmUgYWxyZWFkeSBpbiB1c2Ug YnkgY2FsbGVycyBvZiB0aGUgbGlieGMKICAgICAgaW50ZXJmYWNlLgoKU3VnZ2VzdGVkLWJ5OiBK YW4gQmV1bGljaCA8amJldWxpY2hAc3VzZS5jb20+ClNpZ25lZC1vZmYtYnk6IFBhdWwgRHVycmFu dCA8cGF1bC5kdXJyYW50QGNpdHJpeC5jb20+Ci0tLQpDYzogRGFuaWVsIERlIEdyYWFmIDxkZ2Rl Z3JhQHR5Y2hvLm5zYS5nb3Y+CkNjOiBJYW4gSmFja3NvbiA8aWFuLmphY2tzb25AZXUuY2l0cml4 LmNvbT4KQ2M6IFdlaSBMaXUgPHdlaS5saXUyQGNpdHJpeC5jb20+CkNjOiBBbmRyZXcgQ29vcGVy IDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPgotLS0KIHRvb2xzL2ZsYXNrL3BvbGljeS9tb2R1 bGVzL3hlbi5pZiAgIHwgIDIgKy0KIHRvb2xzL2xpYnhjL3hjX21pc2MuYyAgICAgICAgICAgICAg IHwgNjAgKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0tLS0KIHhlbi9hcmNoL3g4Ni9odm0vZG0u YyAgICAgICAgICAgICAgIHwgNDQgKysrKysrKysrKysrKysrKysrKystCiB4ZW4vYXJjaC94ODYv aHZtL2h2bS5jICAgICAgICAgICAgICB8IDc2IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0KIHhlbi9pbmNsdWRlL3B1YmxpYy9odm0vZG1fb3AuaCAgICAgIHwgNDUgKysrKysr KysrKysrKysrKysrKysrKwogeGVuL2luY2x1ZGUvcHVibGljL2h2bS9odm1fb3AuaCAgICAgfCAy NiArKysrKysrKy0tLS0tCiB4ZW4vaW5jbHVkZS94c20vZHVtbXkuaCAgICAgICAgICAgICB8ICA2 IC0tLQogeGVuL2luY2x1ZGUveHNtL3hzbS5oICAgICAgICAgICAgICAgfCAgNiAtLS0KIHhlbi94 c20vZHVtbXkuYyAgICAgICAgICAgICAgICAgICAgIHwgIDEgLQogeGVuL3hzbS9mbGFzay9ob29r cy5jICAgICAgICAgICAgICAgfCAgNiAtLS0KIHhlbi94c20vZmxhc2svcG9saWN5L2FjY2Vzc192 ZWN0b3JzIHwgIDUgKy0tCiAxMSBmaWxlcyBjaGFuZ2VkLCAxMjYgaW5zZXJ0aW9ucygrKSwgMTUx IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3Rvb2xzL2ZsYXNrL3BvbGljeS9tb2R1bGVzL3hl bi5pZiBiL3Rvb2xzL2ZsYXNrL3BvbGljeS9tb2R1bGVzL3hlbi5pZgppbmRleCBlNmRmYWYwLi43 MGNlNDdiIDEwMDY0NAotLS0gYS90b29scy9mbGFzay9wb2xpY3kvbW9kdWxlcy94ZW4uaWYKKysr IGIvdG9vbHMvZmxhc2svcG9saWN5L21vZHVsZXMveGVuLmlmCkBAIC0xNTEsNyArMTUxLDcgQEAg ZGVmaW5lKGBkZXZpY2VfbW9kZWwnLCBgCiAKIAlhbGxvdyAkMSAkMl90YXJnZXQ6ZG9tYWluIHsg Z2V0ZG9tYWluaW5mbyBzaHV0ZG93biB9OwogCWFsbG93ICQxICQyX3RhcmdldDptbXUgeyBtYXBf cmVhZCBtYXBfd3JpdGUgYWRqdXN0IHBoeXNtYXAgdGFyZ2V0X2hhY2sgfTsKLQlhbGxvdyAkMSAk Ml90YXJnZXQ6aHZtIHsgZ2V0cGFyYW0gc2V0cGFyYW0gaHZtY3RsIGNhY2hlYXR0ciBzZW5kX2ly cSBkbSB9OworCWFsbG93ICQxICQyX3RhcmdldDpodm0geyBnZXRwYXJhbSBzZXRwYXJhbSBodm1j dGwgY2FjaGVhdHRyIGRtIH07CiAnKQogCiAjIG1ha2VfZGV2aWNlX21vZGVsKHByaXYsIGRtX2Rv bSwgaHZtX2RvbSkKZGlmZiAtLWdpdCBhL3Rvb2xzL2xpYnhjL3hjX21pc2MuYyBiL3Rvb2xzL2xp YnhjL3hjX21pc2MuYwppbmRleCA2MDdjZjgwLi42N2ZiNzc5IDEwMDY0NAotLS0gYS90b29scy9s aWJ4Yy94Y19taXNjLmMKKysrIGIvdG9vbHMvbGlieGMveGNfbWlzYy5jCkBAIC01MjEsMjkgKzUy MSwxOCBAQCBpbnQgeGNfaHZtX3NldF9wY2lfbGlua19yb3V0ZSgKIH0KIAogaW50IHhjX2h2bV9p bmplY3RfbXNpKAotICAgIHhjX2ludGVyZmFjZSAqeGNoLCBkb21pZF90IGRvbSwgdWludDY0X3Qg YWRkciwgdWludDMyX3QgZGF0YSkKKyAgICB4Y19pbnRlcmZhY2UgKnhjaCwgZG9taWRfdCBkb20s IHVpbnQ2NF90IG1zaV9hZGRyLCB1aW50MzJfdCBtc2lfZGF0YSkKIHsKLSAgICBERUNMQVJFX0hZ UEVSQ0FMTF9CVUZGRVIoc3RydWN0IHhlbl9odm1faW5qZWN0X21zaSwgYXJnKTsKLSAgICBpbnQg cmM7Ci0KLSAgICBhcmcgPSB4Y19oeXBlcmNhbGxfYnVmZmVyX2FsbG9jKHhjaCwgYXJnLCBzaXpl b2YoKmFyZykpOwotICAgIGlmICggYXJnID09IE5VTEwgKQotICAgIHsKLSAgICAgICAgUEVSUk9S KCJDb3VsZCBub3QgYWxsb2NhdGUgbWVtb3J5IGZvciB4Y19odm1faW5qZWN0X21zaSBoeXBlcmNh bGwiKTsKLSAgICAgICAgcmV0dXJuIC0xOwotICAgIH0KLQotICAgIGFyZy0+ZG9taWQgPSBkb207 Ci0gICAgYXJnLT5hZGRyICA9IGFkZHI7Ci0gICAgYXJnLT5kYXRhICA9IGRhdGE7CisgICAgc3Ry dWN0IHhlbl9kbV9vcCBvcDsKKyAgICBzdHJ1Y3QgeGVuX2RtX29wX2luamVjdF9tc2kgKmRhdGE7 CiAKLSAgICByYyA9IHhlbmNhbGwyKHhjaC0+eGNhbGwsIF9fSFlQRVJWSVNPUl9odm1fb3AsCi0g ICAgICAgICAgICAgICAgICBIVk1PUF9pbmplY3RfbXNpLAotICAgICAgICAgICAgICAgICAgSFlQ RVJDQUxMX0JVRkZFUl9BU19BUkcoYXJnKSk7CisgICAgb3Aub3AgPSBETU9QX2luamVjdF9tc2k7 CisgICAgZGF0YSA9ICZvcC51LmluamVjdF9tc2k7CiAKLSAgICB4Y19oeXBlcmNhbGxfYnVmZmVy X2ZyZWUoeGNoLCBhcmcpOworICAgIGRhdGEtPmFkZHIgPSBtc2lfYWRkcjsKKyAgICBkYXRhLT5k YXRhID0gbXNpX2RhdGE7CiAKLSAgICByZXR1cm4gcmM7CisgICAgcmV0dXJuIGRvX2RtX29wKHhj aCwgZG9tLCAxLCAmb3AsIHNpemVvZihvcCkpOwogfQogCiBpbnQgeGNfaHZtX3RyYWNrX2RpcnR5 X3ZyYW0oCkBAIC02MDMsMzEgKzU5MiwyMCBAQCBpbnQgeGNfaHZtX2luamVjdF90cmFwKAogICAg IHVpbnQzMl90IHR5cGUsIHVpbnQzMl90IGVycm9yX2NvZGUsIHVpbnQzMl90IGluc25fbGVuLAog ICAgIHVpbnQ2NF90IGNyMikKIHsKLSAgICBERUNMQVJFX0hZUEVSQ0FMTF9CVUZGRVIoc3RydWN0 IHhlbl9odm1faW5qZWN0X3RyYXAsIGFyZyk7Ci0gICAgaW50IHJjOwotCi0gICAgYXJnID0geGNf aHlwZXJjYWxsX2J1ZmZlcl9hbGxvYyh4Y2gsIGFyZywgc2l6ZW9mKCphcmcpKTsKLSAgICBpZiAo IGFyZyA9PSBOVUxMICkKLSAgICB7Ci0gICAgICAgIFBFUlJPUigiQ291bGQgbm90IGFsbG9jYXRl IG1lbW9yeSBmb3IgeGNfaHZtX2luamVjdF90cmFwIGh5cGVyY2FsbCIpOwotICAgICAgICByZXR1 cm4gLTE7Ci0gICAgfQotCi0gICAgYXJnLT5kb21pZCAgICAgICA9IGRvbTsKLSAgICBhcmctPnZj cHVpZCAgICAgID0gdmNwdTsKLSAgICBhcmctPnZlY3RvciAgICAgID0gdmVjdG9yOwotICAgIGFy Zy0+dHlwZSAgICAgICAgPSB0eXBlOwotICAgIGFyZy0+ZXJyb3JfY29kZSAgPSBlcnJvcl9jb2Rl OwotICAgIGFyZy0+aW5zbl9sZW4gICAgPSBpbnNuX2xlbjsKLSAgICBhcmctPmNyMiAgICAgICAg ID0gY3IyOworICAgIHN0cnVjdCB4ZW5fZG1fb3Agb3A7CisgICAgc3RydWN0IHhlbl9kbV9vcF9p bmplY3RfdHJhcCAqZGF0YTsKIAotICAgIHJjID0geGVuY2FsbDIoeGNoLT54Y2FsbCwgX19IWVBF UlZJU09SX2h2bV9vcCwKLSAgICAgICAgICAgICAgICAgIEhWTU9QX2luamVjdF90cmFwLAotICAg ICAgICAgICAgICAgICAgSFlQRVJDQUxMX0JVRkZFUl9BU19BUkcoYXJnKSk7CisgICAgb3Aub3Ag PSBETU9QX2luamVjdF90cmFwOworICAgIGRhdGEgPSAmb3AudS5pbmplY3RfdHJhcDsKIAotICAg IHhjX2h5cGVyY2FsbF9idWZmZXJfZnJlZSh4Y2gsIGFyZyk7CisgICAgZGF0YS0+dmNwdWlkID0g dmNwdTsKKyAgICBkYXRhLT52ZWN0b3IgPSB2ZWN0b3I7CisgICAgZGF0YS0+dHlwZSA9IHR5cGU7 CisgICAgZGF0YS0+ZXJyb3JfY29kZSA9IGVycm9yX2NvZGU7CisgICAgZGF0YS0+aW5zbl9sZW4g PSBpbnNuX2xlbjsKKyAgICBkYXRhLT5jcjIgPSBjcjI7CiAKLSAgICByZXR1cm4gcmM7CisgICAg cmV0dXJuIGRvX2RtX29wKHhjaCwgZG9tLCAxLCAmb3AsIHNpemVvZihvcCkpOwogfQogCiBpbnQg eGNfbGl2ZXBhdGNoX3VwbG9hZCh4Y19pbnRlcmZhY2UgKnhjaCwKZGlmZiAtLWdpdCBhL3hlbi9h cmNoL3g4Ni9odm0vZG0uYyBiL3hlbi9hcmNoL3g4Ni9odm0vZG0uYwppbmRleCA5NjliNjhjLi5l ZTBhZWVkIDEwMDY0NAotLS0gYS94ZW4vYXJjaC94ODYvaHZtL2RtLmMKKysrIGIveGVuL2FyY2gv eDg2L2h2bS9kbS5jCkBAIC0yMTUsNyArMjE1LDYgQEAgc3RhdGljIGludCBkbV9vcF9tb2RpZmll ZF9tZW1vcnkoc3RydWN0IGRvbWFpbiAqZCwgeGVuX3Bmbl90ICpmaXJzdF9wZm4sCiAgICAgcmV0 dXJuIHJjOwogfQogCi0KIHN0YXRpYyBpbnQgZG1fb3Bfc2V0X21lbV90eXBlKHN0cnVjdCBkb21h aW4gKmQsIGh2bW1lbV90eXBlX3QgbWVtX3R5cGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICB4ZW5fcGZuX3QgKmZpcnN0X3BmbiwgdW5zaWduZWQgaW50ICpucikKIHsKQEAgLTI4OCw2 ICsyODcsMzEgQEAgc3RhdGljIGludCBkbV9vcF9zZXRfbWVtX3R5cGUoc3RydWN0IGRvbWFpbiAq ZCwgaHZtbWVtX3R5cGVfdCBtZW1fdHlwZSwKICAgICByZXR1cm4gcmM7CiB9CiAKK3N0YXRpYyBp bnQgZG1fb3BfaW5qZWN0X3RyYXAoc3RydWN0IGRvbWFpbiAqZCwgdW5zaWduZWQgaW50IHZjcHVp ZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDE2X3QgdmVjdG9yLCB1aW50OF90 IHR5cGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4X3QgaW5zbl9sZW4sIHVp bnQzMl90IGVycm9yX2NvZGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVk IGxvbmcgY3IyKQoreworICAgIHN0cnVjdCB2Y3B1ICp2OworCisgICAgaWYgKCB2ZWN0b3IgPiBJ TlQxNl9NQVggKQorICAgICAgICByZXR1cm4gLUVJTlZBTDsKKworICAgIGlmICggdmNwdWlkID49 IGQtPm1heF92Y3B1cyB8fCAodiA9IGQtPnZjcHVbdmNwdWlkXSkgPT0gTlVMTCApCisgICAgICAg IHJldHVybiAtRUlOVkFMOworCisgICAgaWYgKCB2LT5hcmNoLmh2bV92Y3B1LmluamVjdF90cmFw LnZlY3RvciAhPSAtMSApCisgICAgICAgIHJldHVybiAtRUJVU1k7CisKKyAgICB2LT5hcmNoLmh2 bV92Y3B1LmluamVjdF90cmFwLnR5cGUgPSB0eXBlOworICAgIHYtPmFyY2guaHZtX3ZjcHUuaW5q ZWN0X3RyYXAuaW5zbl9sZW4gPSBpbnNuX2xlbjsKKyAgICB2LT5hcmNoLmh2bV92Y3B1LmluamVj dF90cmFwLmVycm9yX2NvZGUgPSBlcnJvcl9jb2RlOworICAgIHYtPmFyY2guaHZtX3ZjcHUuaW5q ZWN0X3RyYXAuY3IyID0gY3IyOworICAgIHYtPmFyY2guaHZtX3ZjcHUuaW5qZWN0X3RyYXAudmVj dG9yID0gdmVjdG9yOworCisgICAgcmV0dXJuIDA7Cit9CisKIGxvbmcgZG9fZG1fb3AoZG9taWRf dCBkb21pZCwKICAgICAgICAgICAgICAgdW5zaWduZWQgaW50IG5yX2J1ZnMsCiAgICAgICAgICAg ICAgIFhFTl9HVUVTVF9IQU5ETEVfUEFSQU0oeGVuX2RtX29wX2J1Zl90KSBidWZzKQpAQCAtNDIz LDYgKzQ0NywyNCBAQCBsb25nIGRvX2RtX29wKGRvbWlkX3QgZG9taWQsCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICZkYXRhLT5ucik7CiAgICAgICAgIGJyZWFrOwogICAgIH0KKyAg ICBjYXNlIERNT1BfaW5qZWN0X3RyYXA6CisgICAgeworICAgICAgICBzdHJ1Y3QgeGVuX2RtX29w X2luamVjdF90cmFwICpkYXRhID0KKyAgICAgICAgICAgICZvcC51LmluamVjdF90cmFwOworCisg ICAgICAgIHJjID0gZG1fb3BfaW5qZWN0X3RyYXAoZCwgZGF0YS0+dmNwdWlkLCBkYXRhLT52ZWN0 b3IsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS0+dHlwZSwgZGF0YS0+aW5z bl9sZW4sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS0+ZXJyb3JfY29kZSwg ZGF0YS0+Y3IyKTsKKyAgICAgICAgYnJlYWs7CisgICAgfQorICAgIGNhc2UgRE1PUF9pbmplY3Rf bXNpOgorICAgIHsKKyAgICAgICAgc3RydWN0IHhlbl9kbV9vcF9pbmplY3RfbXNpICpkYXRhID0K KyAgICAgICAgICAgICZvcC51LmluamVjdF9tc2k7CisKKyAgICAgICAgcmMgPSBodm1faW5qZWN0 X21zaShkLCBkYXRhLT5hZGRyLCBkYXRhLT5kYXRhKTsKKyAgICAgICAgYnJlYWs7CisgICAgfQog ICAgIGRlZmF1bHQ6CiAgICAgICAgIHJjID0gLUVPUE5PVFNVUFA7CiAgICAgICAgIGJyZWFrOwpk aWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2L2h2bS9odm0uYyBiL3hlbi9hcmNoL3g4Ni9odm0vaHZt LmMKaW5kZXggODNjNDA2My4uOTBjNGI0MyAxMDA2NDQKLS0tIGEveGVuL2FyY2gveDg2L2h2bS9o dm0uYworKysgYi94ZW4vYXJjaC94ODYvaHZtL2h2bS5jCkBAIC00NTk4LDM1ICs0NTk4LDYgQEAg c3RhdGljIHZvaWQgaHZtX3MzX3Jlc3VtZShzdHJ1Y3QgZG9tYWluICpkKQogICAgIH0KIH0KIAot c3RhdGljIGludCBodm1vcF9pbmplY3RfbXNpKAotICAgIFhFTl9HVUVTVF9IQU5ETEVfUEFSQU0o eGVuX2h2bV9pbmplY3RfbXNpX3QpIHVvcCkKLXsKLSAgICBzdHJ1Y3QgeGVuX2h2bV9pbmplY3Rf bXNpIG9wOwotICAgIHN0cnVjdCBkb21haW4gKmQ7Ci0gICAgaW50IHJjOwotCi0gICAgaWYgKCBj b3B5X2Zyb21fZ3Vlc3QoJm9wLCB1b3AsIDEpICkKLSAgICAgICAgcmV0dXJuIC1FRkFVTFQ7Ci0K LSAgICByYyA9IHJjdV9sb2NrX3JlbW90ZV9kb21haW5fYnlfaWQob3AuZG9taWQsICZkKTsKLSAg ICBpZiAoIHJjICE9IDAgKQotICAgICAgICByZXR1cm4gcmM7Ci0KLSAgICByYyA9IC1FSU5WQUw7 Ci0gICAgaWYgKCAhaXNfaHZtX2RvbWFpbihkKSApCi0gICAgICAgIGdvdG8gb3V0OwotCi0gICAg cmMgPSB4c21faHZtX2luamVjdF9tc2koWFNNX0RNX1BSSVYsIGQpOwotICAgIGlmICggcmMgKQot ICAgICAgICBnb3RvIG91dDsKLQotICAgIHJjID0gaHZtX2luamVjdF9tc2koZCwgb3AuYWRkciwg b3AuZGF0YSk7Ci0KLSBvdXQ6Ci0gICAgcmN1X3VubG9ja19kb21haW4oZCk7Ci0gICAgcmV0dXJu IHJjOwotfQotCiBzdGF0aWMgaW50IGh2bW9wX2ZsdXNoX3RsYl9hbGwodm9pZCkKIHsKICAgICBz dHJ1Y3QgZG9tYWluICpkID0gY3VycmVudC0+ZG9tYWluOwpAQCAtNTI3MCwxMSArNTI0MSw2IEBA IGxvbmcgZG9faHZtX29wKHVuc2lnbmVkIGxvbmcgb3AsIFhFTl9HVUVTVF9IQU5ETEVfUEFSQU0o dm9pZCkgYXJnKQogICAgICAgICAgICAgZ3Vlc3RfaGFuZGxlX2Nhc3QoYXJnLCB4ZW5faHZtX3Bh cmFtX3QpKTsKICAgICAgICAgYnJlYWs7CiAKLSAgICBjYXNlIEhWTU9QX2luamVjdF9tc2k6Ci0g ICAgICAgIHJjID0gaHZtb3BfaW5qZWN0X21zaSgKLSAgICAgICAgICAgIGd1ZXN0X2hhbmRsZV9j YXN0KGFyZywgeGVuX2h2bV9pbmplY3RfbXNpX3QpKTsKLSAgICAgICAgYnJlYWs7Ci0KICAgICBj YXNlIEhWTU9QX2ZsdXNoX3RsYnM6CiAgICAgICAgIHJjID0gZ3Vlc3RfaGFuZGxlX2lzX251bGwo YXJnKSA/IGh2bW9wX2ZsdXNoX3RsYl9hbGwoKSA6IC1FSU5WQUw7CiAgICAgICAgIGJyZWFrOwpA QCAtNTMzMSw0OCArNTI5Nyw2IEBAIGxvbmcgZG9faHZtX29wKHVuc2lnbmVkIGxvbmcgb3AsIFhF Tl9HVUVTVF9IQU5ETEVfUEFSQU0odm9pZCkgYXJnKQogICAgICAgICBicmVhazsKICAgICB9CiAK LSAgICBjYXNlIEhWTU9QX2luamVjdF90cmFwOiAKLSAgICB7Ci0gICAgICAgIHhlbl9odm1faW5q ZWN0X3RyYXBfdCB0cjsKLSAgICAgICAgc3RydWN0IGRvbWFpbiAqZDsKLSAgICAgICAgc3RydWN0 IHZjcHUgKnY7Ci0KLSAgICAgICAgaWYgKCBjb3B5X2Zyb21fZ3Vlc3QoJnRyLCBhcmcsIDEgKSAp Ci0gICAgICAgICAgICByZXR1cm4gLUVGQVVMVDsKLQotICAgICAgICByYyA9IHJjdV9sb2NrX3Jl bW90ZV9kb21haW5fYnlfaWQodHIuZG9taWQsICZkKTsKLSAgICAgICAgaWYgKCByYyAhPSAwICkK LSAgICAgICAgICAgIHJldHVybiByYzsKLQotICAgICAgICByYyA9IC1FSU5WQUw7Ci0gICAgICAg IGlmICggIWlzX2h2bV9kb21haW4oZCkgKQotICAgICAgICAgICAgZ290byBpbmp0cmFwX2ZhaWw7 Ci0KLSAgICAgICAgcmMgPSB4c21faHZtX2NvbnRyb2woWFNNX0RNX1BSSVYsIGQsIG9wKTsKLSAg ICAgICAgaWYgKCByYyApCi0gICAgICAgICAgICBnb3RvIGluanRyYXBfZmFpbDsKLQotICAgICAg ICByYyA9IC1FTk9FTlQ7Ci0gICAgICAgIGlmICggdHIudmNwdWlkID49IGQtPm1heF92Y3B1cyB8 fCAodiA9IGQtPnZjcHVbdHIudmNwdWlkXSkgPT0gTlVMTCApCi0gICAgICAgICAgICBnb3RvIGlu anRyYXBfZmFpbDsKLSAgICAgICAgCi0gICAgICAgIGlmICggdi0+YXJjaC5odm1fdmNwdS5pbmpl Y3RfdHJhcC52ZWN0b3IgIT0gLTEgKQotICAgICAgICAgICAgcmMgPSAtRUJVU1k7Ci0gICAgICAg IGVsc2UgCi0gICAgICAgIHsKLSAgICAgICAgICAgIHYtPmFyY2guaHZtX3ZjcHUuaW5qZWN0X3Ry YXAudmVjdG9yID0gdHIudmVjdG9yOwotICAgICAgICAgICAgdi0+YXJjaC5odm1fdmNwdS5pbmpl Y3RfdHJhcC50eXBlID0gdHIudHlwZTsKLSAgICAgICAgICAgIHYtPmFyY2guaHZtX3ZjcHUuaW5q ZWN0X3RyYXAuZXJyb3JfY29kZSA9IHRyLmVycm9yX2NvZGU7Ci0gICAgICAgICAgICB2LT5hcmNo Lmh2bV92Y3B1LmluamVjdF90cmFwLmluc25fbGVuID0gdHIuaW5zbl9sZW47Ci0gICAgICAgICAg ICB2LT5hcmNoLmh2bV92Y3B1LmluamVjdF90cmFwLmNyMiA9IHRyLmNyMjsKLSAgICAgICAgICAg IHJjID0gMDsKLSAgICAgICAgfQotCi0gICAgaW5qdHJhcF9mYWlsOgotICAgICAgICByY3VfdW5s b2NrX2RvbWFpbihkKTsKLSAgICAgICAgYnJlYWs7Ci0gICAgfQotCiAgICAgY2FzZSBIVk1PUF9n dWVzdF9yZXF1ZXN0X3ZtX2V2ZW50OgogICAgICAgICBpZiAoIGd1ZXN0X2hhbmRsZV9pc19udWxs KGFyZykgKQogICAgICAgICAgICAgbW9uaXRvcl9ndWVzdF9yZXF1ZXN0KCk7CmRpZmYgLS1naXQg YS94ZW4vaW5jbHVkZS9wdWJsaWMvaHZtL2RtX29wLmggYi94ZW4vaW5jbHVkZS9wdWJsaWMvaHZt L2RtX29wLmgKaW5kZXggMjQ3Y2FjNi4uYmQwYzdlMCAxMDA2NDQKLS0tIGEveGVuL2luY2x1ZGUv cHVibGljL2h2bS9kbV9vcC5oCisrKyBiL3hlbi9pbmNsdWRlL3B1YmxpYy9odm0vZG1fb3AuaApA QCAtMjYwLDYgKzI2MCw0OSBAQCBzdHJ1Y3QgeGVuX2RtX29wX3NldF9tZW1fdHlwZSB7CiAgICAg dWludDE2X3QgbWVtX3R5cGU7CiB9OwogCisvKgorICogRE1PUF9pbmplY3RfdHJhcDogSW5qZWN0 IGEgdHJhcCBpbnRvIGEgVkNQVSwgd2hpY2ggd2lsbCBnZXQgdGFrZW4gdXAKKyAqICAgICAgICAg ICAgICAgICAgIHdoZW4gaXQgaXMgbmV4dCBzY2hlZHVsZWQuCisgKgorICogTm90ZSB0aGF0IHRo ZSBjYWxsZXIgc2hvdWxkIGtub3cgZW5vdWdoIG9mIHRoZSBzdGF0ZSBvZiB0aGUgQ1BVIGJlZm9y ZQorICogaW5qZWN0aW5nLCB0byBrbm93IHdoYXQgdGhlIGVmZmVjdCBvZiBpbmplY3RpbmcgdGhl IHRyYXAgd2lsbCBiZS4KKyAqLworI2RlZmluZSBETU9QX2luamVjdF90cmFwIDEzCisKK3N0cnVj dCB4ZW5fZG1fb3BfaW5qZWN0X3RyYXAgeworICAgIC8qIElOIC0gaW5kZXggb2YgdkNQVSAqLwor ICAgIHVpbnQzMl90IHZjcHVpZDsKKyAgICAvKiBJTiAtIGludGVycnVwdCB2ZWN0b3IgKi8KKyAg ICB1aW50MTZfdCB2ZWN0b3I7CisgICAgLyogSU4gLSB0cmFwIHR5cGUgKERNT1BfVFJBUF8qICkg Ki8KKyAgICB1aW50OF90IHR5cGU7CisvKiBOQi4gVGhpcyBlbnVtZXJhdGlvbiBwcmVjaXNlbHkg bWF0Y2hlcyBodm0uaDpYODZfRVZFTlRUWVBFXyogKi8KKyMgZGVmaW5lIERNT1BfVFJBUF9leHRf aW50ICAgIDAgLyogZXh0ZXJuYWwgaW50ZXJydXB0ICovCisjIGRlZmluZSBETU9QX1RSQVBfbm1p ICAgICAgICAyIC8qIG5taSAqLworIyBkZWZpbmUgRE1PUF9UUkFQX2h3X2V4YyAgICAgMyAvKiBo YXJkd2FyZSBleGNlcHRpb24gKi8KKyMgZGVmaW5lIERNT1BfVFJBUF9zd19pbnQgICAgIDQgLyog c29mdHdhcmUgaW50ZXJydXB0IChDRCBubikgKi8KKyMgZGVmaW5lIERNT1BfVFJBUF9wcmlfc3df ZXhjIDUgLyogSUNFQlAgKEYxKSAqLworIyBkZWZpbmUgRE1PUF9UUkFQX3N3X2V4YyAgICAgNiAv KiBJTlQzIChDQyksIElOVE8gKENFKSAqLworICAgIC8qIElOIC0gZW5zdHJ1Y3Rpb24gbGVuZ3Ro ICovCisgICAgdWludDhfdCBpbnNuX2xlbjsKKyAgICAvKiBJTiAtIGVycm9yIGNvZGUgKG9yIH4w IHRvIHNraXApICovCisgICAgdWludDMyX3QgZXJyb3JfY29kZTsKKyAgICAvKiBJTiAtIENSMiBm b3IgcGFnZSBmYXVsdHMgKi8KKyAgICB1aW50NjRfYWxpZ25lZF90IGNyMjsKK307CisKKy8qCisg KiBETU9QX2luamVjdF9tc2k6IEluamVjdCBhbiBNU0kgZm9yIGFuIGVtdWxhdGVkIGRldmljZS4K KyAqLworI2RlZmluZSBETU9QX2luamVjdF9tc2kgMTQKKworc3RydWN0IHhlbl9kbV9vcF9pbmpl Y3RfbXNpIHsKKyAgICAvKiBJTiAtIE1TSSBkYXRhIChsb3dlciAzMiBiaXRzKSAqLworICAgIHVp bnQzMl90IGRhdGE7CisgICAgLyogSU4gLSBNU0kgYWRkcmVzcyAoMHhmZWV4eHh4eCkgKi8KKyAg ICB1aW50NjRfdCBhZGRyOworfTsKKwogCiBzdHJ1Y3QgeGVuX2RtX29wIHsKICAgICB1aW50MzJf dCBvcDsKQEAgLTI3Niw2ICszMTksOCBAQCBzdHJ1Y3QgeGVuX2RtX29wIHsKICAgICAgICAgc3Ry dWN0IHhlbl9kbV9vcF9zZXRfcGNpX2xpbmtfcm91dGUgc2V0X3BjaV9saW5rX3JvdXRlOwogICAg ICAgICBzdHJ1Y3QgeGVuX2RtX29wX21vZGlmaWVkX21lbW9yeSBtb2RpZmllZF9tZW1vcnk7CiAg ICAgICAgIHN0cnVjdCB4ZW5fZG1fb3Bfc2V0X21lbV90eXBlIHNldF9tZW1fdHlwZTsKKyAgICAg ICAgc3RydWN0IHhlbl9kbV9vcF9pbmplY3RfdHJhcCBpbmplY3RfdHJhcDsKKyAgICAgICAgc3Ry dWN0IHhlbl9kbV9vcF9pbmplY3RfbXNpIGluamVjdF9tc2k7CiAgICAgfSB1OwogfTsKIApkaWZm IC0tZ2l0IGEveGVuL2luY2x1ZGUvcHVibGljL2h2bS9odm1fb3AuaCBiL3hlbi9pbmNsdWRlL3B1 YmxpYy9odm0vaHZtX29wLmgKaW5kZXggMmU5YTFmNi4uMTIzYzMyMiAxMDA2NDQKLS0tIGEveGVu L2luY2x1ZGUvcHVibGljL2h2bS9odm1fb3AuaAorKysgYi94ZW4vaW5jbHVkZS9wdWJsaWMvaHZt L2h2bV9vcC5oCkBAIC0xODcsNiArMTg3LDggQEAgREVGSU5FX1hFTl9HVUVTVF9IQU5ETEUoeGVu X2h2bV94ZW50cmFjZV90KTsKIC8qIERlcHJlY2F0ZWQgYnkgWEVOTUVNX2FjY2Vzc19vcF9nZXRf YWNjZXNzICovCiAjZGVmaW5lIEhWTU9QX2dldF9tZW1fYWNjZXNzICAgICAgICAxMwogCisjaWYg X19YRU5fSU5URVJGQUNFX1ZFUlNJT05fXyA8IDB4MDAwNDA5MDAKKwogI2RlZmluZSBIVk1PUF9p bmplY3RfdHJhcCAgICAgICAgICAgIDE0CiAvKiBJbmplY3QgYSB0cmFwIGludG8gYSBWQ1BVLCB3 aGljaCB3aWxsIGdldCB0YWtlbiB1cCBvbiB0aGUgbmV4dAogICogc2NoZWR1bGluZyBvZiBpdC4g Tm90ZSB0aGF0IHRoZSBjYWxsZXIgc2hvdWxkIGtub3cgZW5vdWdoIG9mIHRoZQpAQCAtMjAyLDEz ICsyMDQsNiBAQCBzdHJ1Y3QgeGVuX2h2bV9pbmplY3RfdHJhcCB7CiAgICAgdWludDMyX3QgdmVj dG9yOwogICAgIC8qIFRyYXAgdHlwZSAoSFZNT1BfVFJBUF8qKSAqLwogICAgIHVpbnQzMl90IHR5 cGU7Ci0vKiBOQi4gVGhpcyBlbnVtZXJhdGlvbiBwcmVjaXNlbHkgbWF0Y2hlcyBodm0uaDpYODZf RVZFTlRUWVBFXyogKi8KLSMgZGVmaW5lIEhWTU9QX1RSQVBfZXh0X2ludCAgICAwIC8qIGV4dGVy bmFsIGludGVycnVwdCAqLwotIyBkZWZpbmUgSFZNT1BfVFJBUF9ubWkgICAgICAgIDIgLyogbm1p ICovCi0jIGRlZmluZSBIVk1PUF9UUkFQX2h3X2V4YyAgICAgMyAvKiBoYXJkd2FyZSBleGNlcHRp b24gKi8KLSMgZGVmaW5lIEhWTU9QX1RSQVBfc3dfaW50ICAgICA0IC8qIHNvZnR3YXJlIGludGVy cnVwdCAoQ0Qgbm4pICovCi0jIGRlZmluZSBIVk1PUF9UUkFQX3ByaV9zd19leGMgNSAvKiBJQ0VC UCAoRjEpICovCi0jIGRlZmluZSBIVk1PUF9UUkFQX3N3X2V4YyAgICAgNiAvKiBJTlQzIChDQyks IElOVE8gKENFKSAqLwogICAgIC8qIEVycm9yIGNvZGUsIG9yIH4wdSB0byBza2lwICovCiAgICAg dWludDMyX3QgZXJyb3JfY29kZTsKICAgICAvKiBJbnRydWN0aW9uIGxlbmd0aCAqLwpAQCAtMjE5 LDYgKzIxNCwxOSBAQCBzdHJ1Y3QgeGVuX2h2bV9pbmplY3RfdHJhcCB7CiB0eXBlZGVmIHN0cnVj dCB4ZW5faHZtX2luamVjdF90cmFwIHhlbl9odm1faW5qZWN0X3RyYXBfdDsKIERFRklORV9YRU5f R1VFU1RfSEFORExFKHhlbl9odm1faW5qZWN0X3RyYXBfdCk7CiAKKyNlbmRpZiAvKiBfX1hFTl9J TlRFUkZBQ0VfVkVSU0lPTl9fIDwgMHgwMDA0MDkwMCAqLworCisvKgorICogRGVmaW5pdGlvbnMg cmVsYXRpbmcgdG8gSFZNT1AvRE1PUF9pbmplY3RfdHJhcC4KKyAqLworCisjIGRlZmluZSBIVk1P UF9UUkFQX2V4dF9pbnQgICAgRE1PUF9UUkFQX2V4dF9pbnQKKyMgZGVmaW5lIEhWTU9QX1RSQVBf bm1pICAgICAgICBETU9QX1RSQVBfbm1pCisjIGRlZmluZSBIVk1PUF9UUkFQX2h3X2V4YyAgICAg RE1PUF9UUkFQX2h3X2V4YworIyBkZWZpbmUgSFZNT1BfVFJBUF9zd19pbnQgICAgIERNT1BfVFJB UF9zd19pbnQKKyMgZGVmaW5lIEhWTU9QX1RSQVBfcHJpX3N3X2V4YyBETU9QX1RSQVBfcHJpX3N3 X2V4YworIyBkZWZpbmUgSFZNT1BfVFJBUF9zd19leGMgICAgIERNT1BfVFJBUF9zd19leGMKKwog I2VuZGlmIC8qIGRlZmluZWQoX19YRU5fXykgfHwgZGVmaW5lZChfX1hFTl9UT09MU19fKSAqLwog CiAjZGVmaW5lIEhWTU9QX2dldF9tZW1fdHlwZSAgICAxNQpAQCAtMjM4LDYgKzI0Niw4IEBAIERF RklORV9YRU5fR1VFU1RfSEFORExFKHhlbl9odm1fZ2V0X21lbV90eXBlX3QpOwogLyogRm9sbG93 aW5nIHRvb2xzLW9ubHkgaW50ZXJmYWNlcyBtYXkgY2hhbmdlIGluIGZ1dHVyZS4gKi8KICNpZiBk ZWZpbmVkKF9fWEVOX18pIHx8IGRlZmluZWQoX19YRU5fVE9PTFNfXykKIAorI2lmIF9fWEVOX0lO VEVSRkFDRV9WRVJTSU9OX18gPCAweDAwMDQwOTAwCisKIC8qIE1TSSBpbmplY3Rpb24gZm9yIGVt dWxhdGVkIGRldmljZXMgKi8KICNkZWZpbmUgSFZNT1BfaW5qZWN0X21zaSAgICAgICAgIDE2CiBz dHJ1Y3QgeGVuX2h2bV9pbmplY3RfbXNpIHsKQEAgLTI1MSw4ICsyNjEsNiBAQCBzdHJ1Y3QgeGVu X2h2bV9pbmplY3RfbXNpIHsKIHR5cGVkZWYgc3RydWN0IHhlbl9odm1faW5qZWN0X21zaSB4ZW5f aHZtX2luamVjdF9tc2lfdDsKIERFRklORV9YRU5fR1VFU1RfSEFORExFKHhlbl9odm1faW5qZWN0 X21zaV90KTsKIAotI2lmIF9fWEVOX0lOVEVSRkFDRV9WRVJTSU9OX18gPCAweDAwMDQwOTAwCi0K IC8qCiAgKiBJT1JFUSBTZXJ2ZXJzCiAgKgpkaWZmIC0tZ2l0IGEveGVuL2luY2x1ZGUveHNtL2R1 bW15LmggYi94ZW4vaW5jbHVkZS94c20vZHVtbXkuaAppbmRleCA0N2M2MDcyLi5mZWE0MzE3IDEw MDY0NAotLS0gYS94ZW4vaW5jbHVkZS94c20vZHVtbXkuaAorKysgYi94ZW4vaW5jbHVkZS94c20v ZHVtbXkuaApAQCAtNjEwLDEyICs2MTAsNiBAQCBzdGF0aWMgWFNNX0lOTElORSBpbnQgeHNtX3No YWRvd19jb250cm9sKFhTTV9ERUZBVUxUX0FSRyBzdHJ1Y3QgZG9tYWluICpkLCB1aW50MwogICAg IHJldHVybiB4c21fZGVmYXVsdF9hY3Rpb24oYWN0aW9uLCBjdXJyZW50LT5kb21haW4sIGQpOwog fQogCi1zdGF0aWMgWFNNX0lOTElORSBpbnQgeHNtX2h2bV9pbmplY3RfbXNpKFhTTV9ERUZBVUxU X0FSRyBzdHJ1Y3QgZG9tYWluICpkKQotewotICAgIFhTTV9BU1NFUlRfQUNUSU9OKFhTTV9ETV9Q UklWKTsKLSAgICByZXR1cm4geHNtX2RlZmF1bHRfYWN0aW9uKGFjdGlvbiwgY3VycmVudC0+ZG9t YWluLCBkKTsKLX0KLQogc3RhdGljIFhTTV9JTkxJTkUgaW50IHhzbV9tZW1fc2hhcmluZ19vcChY U01fREVGQVVMVF9BUkcgc3RydWN0IGRvbWFpbiAqZCwgc3RydWN0IGRvbWFpbiAqY2QsIGludCBv cCkKIHsKICAgICBYU01fQVNTRVJUX0FDVElPTihYU01fRE1fUFJJVik7CmRpZmYgLS1naXQgYS94 ZW4vaW5jbHVkZS94c20veHNtLmggYi94ZW4vaW5jbHVkZS94c20veHNtLmgKaW5kZXggY2IzMjY0 NC4uZWVjODRlNCAxMDA2NDQKLS0tIGEveGVuL2luY2x1ZGUveHNtL3hzbS5oCisrKyBiL3hlbi9p bmNsdWRlL3hzbS94c20uaApAQCAtMTYyLDcgKzE2Miw2IEBAIHN0cnVjdCB4c21fb3BlcmF0aW9u cyB7CiAjaWZkZWYgQ09ORklHX1g4NgogICAgIGludCAoKmRvX21jYSkgKHZvaWQpOwogICAgIGlu dCAoKnNoYWRvd19jb250cm9sKSAoc3RydWN0IGRvbWFpbiAqZCwgdWludDMyX3Qgb3ApOwotICAg IGludCAoKmh2bV9pbmplY3RfbXNpKSAoc3RydWN0IGRvbWFpbiAqZCk7CiAgICAgaW50ICgqbWVt X3NoYXJpbmdfb3ApIChzdHJ1Y3QgZG9tYWluICpkLCBzdHJ1Y3QgZG9tYWluICpjZCwgaW50IG9w KTsKICAgICBpbnQgKCphcGljKSAoc3RydWN0IGRvbWFpbiAqZCwgaW50IGNtZCk7CiAgICAgaW50 ICgqbWVtdHlwZSkgKHVpbnQzMl90IGFjY2Vzcyk7CkBAIC02MzIsMTEgKzYzMSw2IEBAIHN0YXRp YyBpbmxpbmUgaW50IHhzbV9zaGFkb3dfY29udHJvbCAoeHNtX2RlZmF1bHRfdCBkZWYsIHN0cnVj dCBkb21haW4gKmQsIHVpbnQzCiAgICAgcmV0dXJuIHhzbV9vcHMtPnNoYWRvd19jb250cm9sKGQs IG9wKTsKIH0KIAotc3RhdGljIGlubGluZSBpbnQgeHNtX2h2bV9pbmplY3RfbXNpICh4c21fZGVm YXVsdF90IGRlZiwgc3RydWN0IGRvbWFpbiAqZCkKLXsKLSAgICByZXR1cm4geHNtX29wcy0+aHZt X2luamVjdF9tc2koZCk7Ci19Ci0KIHN0YXRpYyBpbmxpbmUgaW50IHhzbV9tZW1fc2hhcmluZ19v cCAoeHNtX2RlZmF1bHRfdCBkZWYsIHN0cnVjdCBkb21haW4gKmQsIHN0cnVjdCBkb21haW4gKmNk LCBpbnQgb3ApCiB7CiAgICAgcmV0dXJuIHhzbV9vcHMtPm1lbV9zaGFyaW5nX29wKGQsIGNkLCBv cCk7CmRpZmYgLS1naXQgYS94ZW4veHNtL2R1bW15LmMgYi94ZW4veHNtL2R1bW15LmMKaW5kZXgg ZjE1NjhkZC4uMWY2NTljNyAxMDA2NDQKLS0tIGEveGVuL3hzbS9kdW1teS5jCisrKyBiL3hlbi94 c20vZHVtbXkuYwpAQCAtMTQ1LDcgKzE0NSw2IEBAIHZvaWQgX19pbml0IHhzbV9maXh1cF9vcHMg KHN0cnVjdCB4c21fb3BlcmF0aW9ucyAqb3BzKQogI2lmZGVmIENPTkZJR19YODYKICAgICBzZXRf dG9fZHVtbXlfaWZfbnVsbChvcHMsIGRvX21jYSk7CiAgICAgc2V0X3RvX2R1bW15X2lmX251bGwo b3BzLCBzaGFkb3dfY29udHJvbCk7Ci0gICAgc2V0X3RvX2R1bW15X2lmX251bGwob3BzLCBodm1f aW5qZWN0X21zaSk7CiAgICAgc2V0X3RvX2R1bW15X2lmX251bGwob3BzLCBtZW1fc2hhcmluZ19v cCk7CiAgICAgc2V0X3RvX2R1bW15X2lmX251bGwob3BzLCBhcGljKTsKICAgICBzZXRfdG9fZHVt bXlfaWZfbnVsbChvcHMsIG1hY2hpbmVfbWVtb3J5X21hcCk7CmRpZmYgLS1naXQgYS94ZW4veHNt L2ZsYXNrL2hvb2tzLmMgYi94ZW4veHNtL2ZsYXNrL2hvb2tzLmMKaW5kZXggMDg4YWE4Ny4uOWEz YjkwYyAxMDA2NDQKLS0tIGEveGVuL3hzbS9mbGFzay9ob29rcy5jCisrKyBiL3hlbi94c20vZmxh c2svaG9va3MuYwpAQCAtMTQ5OSwxMSArMTQ5OSw2IEBAIHN0YXRpYyBpbnQgZmxhc2tfaW9wb3J0 X21hcHBpbmcoc3RydWN0IGRvbWFpbiAqZCwgdWludDMyX3Qgc3RhcnQsIHVpbnQzMl90IGVuZCwK ICAgICByZXR1cm4gZmxhc2tfaW9wb3J0X3Blcm1pc3Npb24oZCwgc3RhcnQsIGVuZCwgYWNjZXNz KTsKIH0KIAotc3RhdGljIGludCBmbGFza19odm1faW5qZWN0X21zaShzdHJ1Y3QgZG9tYWluICpk KQotewotICAgIHJldHVybiBjdXJyZW50X2hhc19wZXJtKGQsIFNFQ0NMQVNTX0hWTSwgSFZNX19T RU5EX0lSUSk7Ci19Ci0KIHN0YXRpYyBpbnQgZmxhc2tfbWVtX3NoYXJpbmdfb3Aoc3RydWN0IGRv bWFpbiAqZCwgc3RydWN0IGRvbWFpbiAqY2QsIGludCBvcCkKIHsKICAgICBpbnQgcmMgPSBjdXJy ZW50X2hhc19wZXJtKGNkLCBTRUNDTEFTU19IVk0sIEhWTV9fTUVNX1NIQVJJTkcpOwpAQCAtMTc4 MSw3ICsxNzc2LDYgQEAgc3RhdGljIHN0cnVjdCB4c21fb3BlcmF0aW9ucyBmbGFza19vcHMgPSB7 CiAgICAgLmh2bV9zZXRfcGNpX2ludHhfbGV2ZWwgPSBmbGFza19odm1fc2V0X3BjaV9pbnR4X2xl dmVsLAogICAgIC5odm1fc2V0X2lzYV9pcnFfbGV2ZWwgPSBmbGFza19odm1fc2V0X2lzYV9pcnFf bGV2ZWwsCiAgICAgLmh2bV9zZXRfcGNpX2xpbmtfcm91dGUgPSBmbGFza19odm1fc2V0X3BjaV9s aW5rX3JvdXRlLAotICAgIC5odm1faW5qZWN0X21zaSA9IGZsYXNrX2h2bV9pbmplY3RfbXNpLAog ICAgIC5tZW1fc2hhcmluZ19vcCA9IGZsYXNrX21lbV9zaGFyaW5nX29wLAogICAgIC5hcGljID0g Zmxhc2tfYXBpYywKICAgICAubWFjaGluZV9tZW1vcnlfbWFwID0gZmxhc2tfbWFjaGluZV9tZW1v cnlfbWFwLApkaWZmIC0tZ2l0IGEveGVuL3hzbS9mbGFzay9wb2xpY3kvYWNjZXNzX3ZlY3RvcnMg Yi94ZW4veHNtL2ZsYXNrL3BvbGljeS9hY2Nlc3NfdmVjdG9ycwppbmRleCAxMjUyMTBiLi5hODI2 MjY0IDEwMDY0NAotLS0gYS94ZW4veHNtL2ZsYXNrL3BvbGljeS9hY2Nlc3NfdmVjdG9ycworKysg Yi94ZW4veHNtL2ZsYXNrL3BvbGljeS9hY2Nlc3NfdmVjdG9ycwpAQCAtMjYxLDggKzI2MSw3IEBA IGNsYXNzIGh2bQogIyBYRU5fRE9NQ1RMX3Bpbl9tZW1fY2FjaGVhdHRyCiAgICAgY2FjaGVhdHRy CiAjIEhWTU9QX2dldF9tZW1fdHlwZSwKLSMgSFZNT1Bfc2V0X21lbV9hY2Nlc3MsIEhWTU9QX2dl dF9tZW1fYWNjZXNzLCBIVk1PUF9wYWdldGFibGVfZHlpbmcsCi0jIEhWTU9QX2luamVjdF90cmFw CisjIEhWTU9QX3NldF9tZW1fYWNjZXNzLCBIVk1PUF9nZXRfbWVtX2FjY2VzcywgSFZNT1BfcGFn ZXRhYmxlX2R5aW5nCiAgICAgaHZtY3RsCiAjIFhFTl9ET01DVExfbWVtX3NoYXJpbmdfb3AgYW5k IFhFTk1FTV9zaGFyaW5nX29wX3tzaGFyZSxhZGRfcGh5c21hcH0gd2l0aDoKICMgIHNvdXJjZSA9 IHRoZSBkb21haW4gbWFraW5nIHRoZSBoeXBlcmNhbGwKQEAgLTI3MCw4ICsyNjksNiBAQCBjbGFz cyBodm0KICAgICBtZW1fc2hhcmluZwogIyBYRU5fRE9NQ1RMX2F1ZGl0X3AybQogICAgIGF1ZGl0 X3AybQotIyBIVk1PUF9pbmplY3RfbXNpCi0gICAgc2VuZF9pcnEKICMgY2hlY2tlZCBpbiBYRU5N RU1fc2hhcmluZ19vcF97c2hhcmUsYWRkX3BoeXNtYXB9IHdpdGg6CiAjICBzb3VyY2UgPSBkb21h aW4gd2hvc2UgbWVtb3J5IGlzIGJlaW5nIHNoYXJlZAogIyAgdGFyZ2V0ID0gY2xpZW50IGRvbWFp bgotLSAKMi4xLjQKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fXwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54ZW4ub3JnCmh0dHBz Oi8vbGlzdHMueGVuLm9yZy94ZW4tZGV2ZWwK