From mboxrd@z Thu Jan 1 00:00:00 1970 From: Daniel Kiper Subject: [GRUB2 PATCH v5 1/4] i386/relocator: Add grub_relocator64_efi relocator Date: Fri, 18 Mar 2016 18:00:23 +0100 Message-ID: <1458320427-4653-2-git-send-email-daniel.kiper@oracle.com> References: <1458320427-4653-1-git-send-email-daniel.kiper@oracle.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail6.bemta5.messagelabs.com ([195.245.231.135]) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1agxn1-0005qt-1F for xen-devel@lists.xenproject.org; Fri, 18 Mar 2016 17:02:19 +0000 In-Reply-To: <1458320427-4653-1-git-send-email-daniel.kiper@oracle.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, grub-devel@gnu.org Cc: jgross@suse.com, eric.snowberg@oracle.com, arvidjaar@gmail.com, andrew.cooper3@citrix.com, stefano.stabellini@eu.citrix.com, cardoe@cardoe.com, pgnet.dev@gmail.com, roy.franz@linaro.org, ning.sun@intel.com, david.vrabel@citrix.com, jbeulich@suse.com, phcoder@gmail.com, qiaowei.ren@intel.com, richard.l.maliszewski@intel.com, gang.wei@intel.com, fu.wei@linaro.org, seth.goldberg@oracle.com List-Id: xen-devel@lists.xenproject.org QWRkIGdydWJfcmVsb2NhdG9yNjRfZWZpIHJlbG9jYXRvci4gSXQgd2lsbCBiZSB1c2VkIG9uIEVG SSA2NC1iaXQgcGxhdGZvcm1zCndoZW4gbXVsdGlib290MiBjb21wYXRpYmxlIGltYWdlIHJlcXVl c3RzIE1VTFRJQk9PVF9UQUdfVFlQRV9FRklfQlMuIFJlbG9jYXRvcgp3aWxsIHNldCBsb3dlciBw YXJ0cyBvZiAlcmF4IGFuZCAlcmJ4IGFjY29yZGluZ2x5IHRvIG11bHRpYm9vdDIgc3BlY2lmaWNh dGlvbi4KT24gdGhlIG90aGVyIGhhbmQgcHJvY2Vzc29yIG1vZGUsIGp1c3QgYmVmb3JlIGp1bXBp bmcgaW50byBsb2FkZWQgaW1hZ2UsIHdpbGwKYmUgc2V0IGFjY29yZGluZ2x5IHRvIFVuaWZpZWQg RXh0ZW5zaWJsZSBGaXJtd2FyZSBJbnRlcmZhY2UgU3BlY2lmaWNhdGlvbiwKVmVyc2lvbiAyLjQg RXJyYXRhIEIsIHNlY3Rpb24gMi4zLjQsIHg2NCBQbGF0Zm9ybXMsIGJvb3Qgc2VydmljZXMuIFRo aXMgd2F5CmxvYWRlZCBpbWFnZSB3aWxsIGJlIGFibGUgdG8gdXNlIEVGSSBib290IHNlcnZpY2Vz IHdpdGhvdXQgYW55IGlzc3Vlcy4KClNpZ25lZC1vZmYtYnk6IERhbmllbCBLaXBlciA8ZGFuaWVs LmtpcGVyQG9yYWNsZS5jb20+Ci0tLQp2NCAtIHN1Z2dlc3Rpb25zL2ZpeGVzOgogICAtIG1vdmUg RUZJIHBsYXRmb3JtIHNwZWNpZmljIEMgY29kZSB0byBzZXBhcmF0ZSBmaWxlCiAgICAgKHN1Z2dl c3RlZCBieSBWbGFkaW1pciAncGhjb2RlcicgU2VyYmluZW5rbyksCiAgIC0gYWRkIHNvbWUgY29t bWVudHMKICAgICAoc3VnZ2VzdGVkIGJ5IFZsYWRpbWlyICdwaGNvZGVyJyBTZXJiaW5lbmtvKS4K CnYzIC0gc3VnZ2VzdGlvbnMvZml4ZXM6CiAgIC0gcmV1c2UgZ3J1Yi1jb3JlL2xpYi9pMzg2L3Jl bG9jYXRvcjY0LlMgY29kZQogICAgIGluc3RlYWQgb2YgY3JlYXRpbmcgc2VwYXJhdGUgYXNzZW1i bHkgZmlsZQogICAgIChzdWdnZXN0ZWQgYnkgVmxhZGltaXIgJ3BoY29kZXInIFNlcmJpbmVua28p LAogICAtIGdydWJfbXVsdGlib290X2Jvb3QoKSBjbGVhbnVwCiAgICAgKHN1Z2dlc3RlZCBieSBW bGFkaW1pciAncGhjb2RlcicgU2VyYmluZW5rbyksCiAgIC0gcmV1c2UgbXVsdGlib290X2hlYWRl cl90YWdfZW50cnlfYWRkcmVzcyBzdHJ1Y3QgaW5zdGVhZAogICAgIG9mIGNyZWF0aW5nIG5ldyBv bmUgZm9yIEVGSSA2NC1iaXQgZW50cnkgcG9pbnQKICAgICAoc3VnZ2VzdGVkIGJ5IFZsYWRpbWly ICdwaGNvZGVyJyBTZXJiaW5lbmtvKS4KLS0tCiBncnViLWNvcmUvTWFrZWZpbGUuY29yZS5kZWYg ICAgICAgICAgfCAgICAxICsKIGdydWItY29yZS9saWIvaTM4Ni9yZWxvY2F0b3I2NC5TICAgICB8 ICAgMTEgKysrKysKIGdydWItY29yZS9saWIveDg2XzY0L2VmaS9yZWxvY2F0b3IuYyB8ICAgNzYg KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwogZ3J1Yi1jb3JlL2xvYWRlci9tdWx0 aWJvb3QuYyAgICAgICAgIHwgICA1MSArKysrKysrKysrKysrKysrKysrKy0tLQogZ3J1Yi1jb3Jl L2xvYWRlci9tdWx0aWJvb3RfbWJpMi5jICAgIHwgICAxOSArKysrKysrLS0KIGluY2x1ZGUvZ3J1 Yi9pMzg2L211bHRpYm9vdC5oICAgICAgICB8ICAgMTEgKysrKysKIGluY2x1ZGUvZ3J1Yi9pMzg2 L3JlbG9jYXRvci5oICAgICAgICB8ICAgMjEgKysrKysrKysrKwogaW5jbHVkZS9tdWx0aWJvb3Qy LmggICAgICAgICAgICAgICAgIHwgICAgMSArCiA4IGZpbGVzIGNoYW5nZWQsIDE4MiBpbnNlcnRp b25zKCspLCA5IGRlbGV0aW9ucygtKQogY3JlYXRlIG1vZGUgMTAwNjQ0IGdydWItY29yZS9saWIv eDg2XzY0L2VmaS9yZWxvY2F0b3IuYwoKZGlmZiAtLWdpdCBhL2dydWItY29yZS9NYWtlZmlsZS5j b3JlLmRlZiBiL2dydWItY29yZS9NYWtlZmlsZS5jb3JlLmRlZgppbmRleCA1OGI0MjA4Li4yMWFk MGRkIDEwMDY0NAotLS0gYS9ncnViLWNvcmUvTWFrZWZpbGUuY29yZS5kZWYKKysrIGIvZ3J1Yi1j b3JlL01ha2VmaWxlLmNvcmUuZGVmCkBAIC0xNTMxLDYgKzE1MzEsNyBAQCBtb2R1bGUgPSB7CiAg IGkzODZfeGVuID0gbGliL2kzODYveGVuL3JlbG9jYXRvci5TOwogICB4ODZfNjRfeGVuID0gbGli L3g4Nl82NC94ZW4vcmVsb2NhdG9yLlM7CiAgIHhlbiA9IGxpYi9pMzg2L3JlbG9jYXRvcl9jb21t b25fYy5jOworICB4ODZfNjRfZWZpID0gbGliL3g4Nl82NC9lZmkvcmVsb2NhdG9yLmM7CiAKICAg ZXh0cmFfZGlzdCA9IGxpYi9pMzg2L3JlbG9jYXRvcl9jb21tb24uUzsKICAgZXh0cmFfZGlzdCA9 IGtlcm4vcG93ZXJwYy9jYWNoZV9mbHVzaC5TOwpkaWZmIC0tZ2l0IGEvZ3J1Yi1jb3JlL2xpYi9p Mzg2L3JlbG9jYXRvcjY0LlMgYi9ncnViLWNvcmUvbGliL2kzODYvcmVsb2NhdG9yNjQuUwppbmRl eCBlNDY0OGQ4Li43NTcyNWNmIDEwMDY0NAotLS0gYS9ncnViLWNvcmUvbGliL2kzODYvcmVsb2Nh dG9yNjQuUworKysgYi9ncnViLWNvcmUvbGliL2kzODYvcmVsb2NhdG9yNjQuUwpAQCAtNzMsNiAr NzMsMTQgQEAgVkFSSUFCTEUoZ3J1Yl9yZWxvY2F0b3I2NF9yc3ApCiAKIAltb3ZxCSVyYXgsICVy c3AKIAorCS8qCisJICogSGVyZSBpcyBncnViX3JlbG9jYXRvcjY0X2VmaV9zdGFydCgpIGVudHJ5 IHBvaW50LgorCSAqIEZvbGxvd2luZyBjb2RlIGlzIHNoYXJlZCBiZXR3ZWVuIGdydWJfcmVsb2Nh dG9yNjRfZWZpX3N0YXJ0KCkKKwkgKiBhbmQgZ3J1Yl9yZWxvY2F0b3I2NF9zdGFydCgpLgorCSAq CisJICogVGhpbmsgdHdpY2UgYmVmb3JlIGNoYW5naW5nIGFueXRoaW5nIGJlbG93ISEhCisJICov CitWQVJJQUJMRShncnViX3JlbG9jYXRvcjY0X2VmaV9zdGFydCkKIAkvKiBtb3YgaW1tNjQsICVy YXggKi8KIAkuYnl0ZSAJMHg0OAogCS5ieXRlCTB4YjgKQEAgLTEyMCw2ICsxMjgsOSBAQCBMT0NB TChqdW1wX2FkZHIpOgogVkFSSUFCTEUoZ3J1Yl9yZWxvY2F0b3I2NF9yaXApCiAJLnF1YWQJMAog CisJLyogSGVyZSBncnViX3JlbG9jYXRvcjY0X2VmaV9zdGFydCgpIGVuZHMuIFVmZmYuLi4gKi8K K1ZBUklBQkxFKGdydWJfcmVsb2NhdG9yNjRfZWZpX2VuZCkKKwogI2lmbmRlZiBfX3g4Nl82NF9f CiAJLnAyYWxpZ24JNAogTE9DQUwoZ2R0KToKZGlmZiAtLWdpdCBhL2dydWItY29yZS9saWIveDg2 XzY0L2VmaS9yZWxvY2F0b3IuYyBiL2dydWItY29yZS9saWIveDg2XzY0L2VmaS9yZWxvY2F0b3Iu YwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jOTNkMDYxCi0tLSAvZGV2L251 bGwKKysrIGIvZ3J1Yi1jb3JlL2xpYi94ODZfNjQvZWZpL3JlbG9jYXRvci5jCkBAIC0wLDAgKzEs NzYgQEAKKy8qCisgKiAgR1JVQiAgLS0gIEdSYW5kIFVuaWZpZWQgQm9vdGxvYWRlcgorICogIENv cHlyaWdodCAoQykgMjAwOSAgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCisgKiAgQ29w eXJpZ2h0IChDKSAyMDE2ICBPcmFjbGUgYW5kL29yIGl0cyBhZmZpbGlhdGVzLiBBbGwgcmlnaHRz IHJlc2VydmVkLgorICoKKyAqICBHUlVCIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0 cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyAqICBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdO VSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorICogIHRoZSBGcmVlIFNv ZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yCisg KiAgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKiAgR1JVQiBpcyBk aXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICogIGJ1dCBX SVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9m CisgKiAgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NF LiAgU2VlIHRoZQorICogIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFp bHMuCisgKgorICogIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBH ZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiAgYWxvbmcgd2l0aCBHUlVCLiAgSWYgbm90LCBzZWUg PGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgorICovCisKKyNpbmNsdWRlIDxncnViL21t Lmg+CisjaW5jbHVkZSA8Z3J1Yi9taXNjLmg+CisKKyNpbmNsdWRlIDxncnViL3R5cGVzLmg+Cisj aW5jbHVkZSA8Z3J1Yi9lcnIuaD4KKworI2luY2x1ZGUgPGdydWIvaTM4Ni9yZWxvY2F0b3IuaD4K KyNpbmNsdWRlIDxncnViL3JlbG9jYXRvcl9wcml2YXRlLmg+CisKK2V4dGVybiBncnViX3VpbnQ2 NF90IGdydWJfcmVsb2NhdG9yNjRfcmF4OworZXh0ZXJuIGdydWJfdWludDY0X3QgZ3J1Yl9yZWxv Y2F0b3I2NF9yYng7CitleHRlcm4gZ3J1Yl91aW50NjRfdCBncnViX3JlbG9jYXRvcjY0X3JjeDsK K2V4dGVybiBncnViX3VpbnQ2NF90IGdydWJfcmVsb2NhdG9yNjRfcmR4OworZXh0ZXJuIGdydWJf dWludDY0X3QgZ3J1Yl9yZWxvY2F0b3I2NF9yaXA7CitleHRlcm4gZ3J1Yl91aW50NjRfdCBncnVi X3JlbG9jYXRvcjY0X3JzaTsKKworZXh0ZXJuIGdydWJfdWludDhfdCBncnViX3JlbG9jYXRvcjY0 X2VmaV9zdGFydDsKK2V4dGVybiBncnViX3VpbnQ4X3QgZ3J1Yl9yZWxvY2F0b3I2NF9lZmlfZW5k OworCisjZGVmaW5lIFJFTE9DQVRPUl9TSVpFT0YoeCkJKCZncnViX3JlbG9jYXRvciMjeCMjX2Vu ZCAtICZncnViX3JlbG9jYXRvciMjeCMjX3N0YXJ0KQorCitncnViX2Vycl90CitncnViX3JlbG9j YXRvcjY0X2VmaV9ib290IChzdHJ1Y3QgZ3J1Yl9yZWxvY2F0b3IgKnJlbCwKKwkJCSAgIHN0cnVj dCBncnViX3JlbG9jYXRvcjY0X2VmaV9zdGF0ZSBzdGF0ZSkKK3sKKyAgZ3J1Yl9lcnJfdCBlcnI7 CisgIHZvaWQgKnJlbHN0OworICBncnViX3JlbG9jYXRvcl9jaHVua190IGNoOworCisgIGVyciA9 IGdydWJfcmVsb2NhdG9yX2FsbG9jX2NodW5rX2FsaWduIChyZWwsICZjaCwgMCwKKwkJCQkJICAw eDQwMDAwMDAwIC0gUkVMT0NBVE9SX1NJWkVPRiAoNjRfZWZpKSwKKwkJCQkJICBSRUxPQ0FUT1Jf U0laRU9GICg2NF9lZmkpLCAxNiwKKwkJCQkJICBHUlVCX1JFTE9DQVRPUl9QUkVGRVJFTkNFX05P TkUsIDEpOworICBpZiAoZXJyKQorICAgIHJldHVybiBlcnI7CisKKyAgLyogRG8gbm90IHRvdWNo ICVyc3AhIEl0IHBvaW50cyB0byBFRkkgY3JlYXRlZCBzdGFjay4gKi8KKyAgZ3J1Yl9yZWxvY2F0 b3I2NF9yYXggPSBzdGF0ZS5yYXg7CisgIGdydWJfcmVsb2NhdG9yNjRfcmJ4ID0gc3RhdGUucmJ4 OworICBncnViX3JlbG9jYXRvcjY0X3JjeCA9IHN0YXRlLnJjeDsKKyAgZ3J1Yl9yZWxvY2F0b3I2 NF9yZHggPSBzdGF0ZS5yZHg7CisgIGdydWJfcmVsb2NhdG9yNjRfcmlwID0gc3RhdGUucmlwOwor ICBncnViX3JlbG9jYXRvcjY0X3JzaSA9IHN0YXRlLnJzaTsKKworICBncnViX21lbW1vdmUgKGdl dF92aXJ0dWFsX2N1cnJlbnRfYWRkcmVzcyAoY2gpLCAmZ3J1Yl9yZWxvY2F0b3I2NF9lZmlfc3Rh cnQsCisJCVJFTE9DQVRPUl9TSVpFT0YgKDY0X2VmaSkpOworCisgIGVyciA9IGdydWJfcmVsb2Nh dG9yX3ByZXBhcmVfcmVsb2NzIChyZWwsIGdldF9waHlzaWNhbF90YXJnZXRfYWRkcmVzcyAoY2gp LAorCQkJCSAgICAgICAmcmVsc3QsIE5VTEwpOworICBpZiAoZXJyKQorICAgIHJldHVybiBlcnI7 CisKKyAgKCh2b2lkICgqKSAodm9pZCkpIHJlbHN0KSAoKTsKKworICAvKiBOb3QgcmVhY2hlZC4g ICovCisgIHJldHVybiBHUlVCX0VSUl9OT05FOworfQpkaWZmIC0tZ2l0IGEvZ3J1Yi1jb3JlL2xv YWRlci9tdWx0aWJvb3QuYyBiL2dydWItY29yZS9sb2FkZXIvbXVsdGlib290LmMKaW5kZXggNzNh YTBhYS4uMTgwMzhmZCAxMDA2NDQKLS0tIGEvZ3J1Yi1jb3JlL2xvYWRlci9tdWx0aWJvb3QuYwor KysgYi9ncnViLWNvcmUvbG9hZGVyL211bHRpYm9vdC5jCkBAIC0xMTgsNiArMTE4LDQ4IEBAIGdy dWJfbXVsdGlib290X3NldF92aWRlb19tb2RlICh2b2lkKQogICByZXR1cm4gZXJyOwogfQogCisj aWZkZWYgR1JVQl9NQUNISU5FX0VGSQorI2lmZGVmIF9feDg2XzY0X18KKyNkZWZpbmUgZ3J1Yl9y ZWxvY2F0b3JfZWZpX2Jvb3QJCWdydWJfcmVsb2NhdG9yNjRfZWZpX2Jvb3QKKyNkZWZpbmUgZ3J1 Yl9yZWxvY2F0b3JfZWZpX3N0YXRlCWdydWJfcmVsb2NhdG9yNjRfZWZpX3N0YXRlCisjZW5kaWYK KyNlbmRpZgorCisjaWZkZWYgZ3J1Yl9yZWxvY2F0b3JfZWZpX2Jvb3QKK3N0YXRpYyB2b2lkCitl ZmlfYm9vdCAoc3RydWN0IGdydWJfcmVsb2NhdG9yICpyZWwsCisJICBncnViX3VpbnQzMl90IHRh cmdldCkKK3sKKyAgc3RydWN0IGdydWJfcmVsb2NhdG9yX2VmaV9zdGF0ZSBzdGF0ZV9lZmkgPSBN VUxUSUJPT1RfRUZJX0lOSVRJQUxfU1RBVEU7CisKKyAgc3RhdGVfZWZpLk1VTFRJQk9PVF9FRklf RU5UUllfUkVHSVNURVIgPSBncnViX211bHRpYm9vdF9wYXlsb2FkX2VpcDsKKyAgc3RhdGVfZWZp Lk1VTFRJQk9PVF9FRklfTUJJX1JFR0lTVEVSID0gdGFyZ2V0OworCisgIGdydWJfcmVsb2NhdG9y X2VmaV9ib290IChyZWwsIHN0YXRlX2VmaSk7Cit9CisjZWxzZQorI2RlZmluZSBncnViX2VmaV9p c19maW5pc2hlZAkxCitzdGF0aWMgdm9pZAorZWZpX2Jvb3QgKHN0cnVjdCBncnViX3JlbG9jYXRv ciAqcmVsIF9fYXR0cmlidXRlX18gKCh1bnVzZWQpKSwKKwkgIGdydWJfdWludDMyX3QgdGFyZ2V0 IF9fYXR0cmlidXRlX18gKCh1bnVzZWQpKSkKK3sKK30KKyNlbmRpZgorCisjaWYgZGVmaW5lZCAo X19pMzg2X18pIHx8IGRlZmluZWQgKF9feDg2XzY0X18pCitzdGF0aWMgdm9pZAorbm9ybWFsX2Jv b3QgKHN0cnVjdCBncnViX3JlbG9jYXRvciAqcmVsLCBzdHJ1Y3QgZ3J1Yl9yZWxvY2F0b3IzMl9z dGF0ZSBzdGF0ZSkKK3sKKyAgZ3J1Yl9yZWxvY2F0b3IzMl9ib290IChyZWwsIHN0YXRlLCAwKTsK K30KKyNlbHNlCitzdGF0aWMgdm9pZAorbm9ybWFsX2Jvb3QgKHN0cnVjdCBncnViX3JlbG9jYXRv ciAqcmVsLCBzdHJ1Y3QgZ3J1Yl9yZWxvY2F0b3IzMl9zdGF0ZSBzdGF0ZSkKK3sKKyAgZ3J1Yl9y ZWxvY2F0b3IzMl9ib290IChyZWwsIHN0YXRlKTsKK30KKyNlbmRpZgorCiBzdGF0aWMgZ3J1Yl9l cnJfdAogZ3J1Yl9tdWx0aWJvb3RfYm9vdCAodm9pZCkKIHsKQEAgLTEzMSwxMSArMTczLDEwIEBA IGdydWJfbXVsdGlib290X2Jvb3QgKHZvaWQpCiAgIGlmIChlcnIpCiAgICAgcmV0dXJuIGVycjsK IAotI2lmIGRlZmluZWQgKF9faTM4Nl9fKSB8fCBkZWZpbmVkIChfX3g4Nl82NF9fKQotICBncnVi X3JlbG9jYXRvcjMyX2Jvb3QgKGdydWJfbXVsdGlib290X3JlbG9jYXRvciwgc3RhdGUsIDApOwot I2Vsc2UKLSAgZ3J1Yl9yZWxvY2F0b3IzMl9ib290IChncnViX211bHRpYm9vdF9yZWxvY2F0b3Is IHN0YXRlKTsKLSNlbmRpZgorICBpZiAoZ3J1Yl9lZmlfaXNfZmluaXNoZWQpCisgICAgbm9ybWFs X2Jvb3QgKGdydWJfbXVsdGlib290X3JlbG9jYXRvciwgc3RhdGUpOworICBlbHNlCisgICAgZWZp X2Jvb3QgKGdydWJfbXVsdGlib290X3JlbG9jYXRvciwgc3RhdGUuTVVMVElCT09UX01CSV9SRUdJ U1RFUik7CiAKICAgLyogTm90IHJlYWNoZWQuICAqLwogICByZXR1cm4gR1JVQl9FUlJfTk9ORTsK ZGlmZiAtLWdpdCBhL2dydWItY29yZS9sb2FkZXIvbXVsdGlib290X21iaTIuYyBiL2dydWItY29y ZS9sb2FkZXIvbXVsdGlib290X21iaTIuYwppbmRleCBmMTQ3ZDY3Li5hM2RjYTkwIDEwMDY0NAot LS0gYS9ncnViLWNvcmUvbG9hZGVyL211bHRpYm9vdF9tYmkyLmMKKysrIGIvZ3J1Yi1jb3JlL2xv YWRlci9tdWx0aWJvb3RfbWJpMi5jCkBAIC0xMDcsOCArMTA3LDggQEAgZ3J1Yl9tdWx0aWJvb3Rf bG9hZCAoZ3J1Yl9maWxlX3QgZmlsZSwgY29uc3QgY2hhciAqZmlsZW5hbWUpCiAgIGdydWJfZXJy X3QgZXJyOwogICBzdHJ1Y3QgbXVsdGlib290X2hlYWRlcl90YWcgKnRhZzsKICAgc3RydWN0IG11 bHRpYm9vdF9oZWFkZXJfdGFnX2FkZHJlc3MgKmFkZHJfdGFnID0gTlVMTDsKLSAgaW50IGVudHJ5 X3NwZWNpZmllZCA9IDA7Ci0gIGdydWJfYWRkcl90IGVudHJ5ID0gMDsKKyAgaW50IGVudHJ5X3Nw ZWNpZmllZCA9IDAsIGVmaV9lbnRyeV9zcGVjaWZpZWQgPSAwOworICBncnViX2FkZHJfdCBlbnRy eSA9IDAsIGVmaV9lbnRyeSA9IDA7CiAgIGdydWJfdWludDMyX3QgY29uc29sZV9yZXF1aXJlZCA9 IDA7CiAgIHN0cnVjdCBtdWx0aWJvb3RfaGVhZGVyX3RhZ19mcmFtZWJ1ZmZlciAqZmJ0YWcgPSBO VUxMOwogICBpbnQgYWNjZXB0ZWRfY29uc29sZXMgPSBHUlVCX01VTFRJQk9PVF9DT05TT0xFX0VH QV9URVhUOwpAQCAtMTkyLDYgKzE5MiwxMyBAQCBncnViX211bHRpYm9vdF9sb2FkIChncnViX2Zp bGVfdCBmaWxlLCBjb25zdCBjaGFyICpmaWxlbmFtZSkKIAllbnRyeSA9ICgoc3RydWN0IG11bHRp Ym9vdF9oZWFkZXJfdGFnX2VudHJ5X2FkZHJlc3MgKikgdGFnKS0+ZW50cnlfYWRkcjsKIAlicmVh azsKIAorICAgICAgY2FzZSBNVUxUSUJPT1RfSEVBREVSX1RBR19FTlRSWV9BRERSRVNTX0VGSTY0 OgorI2lmIGRlZmluZWQgKEdSVUJfTUFDSElORV9FRkkpICYmIGRlZmluZWQgKF9feDg2XzY0X18p CisJZWZpX2VudHJ5X3NwZWNpZmllZCA9IDE7CisJZWZpX2VudHJ5ID0gKChzdHJ1Y3QgbXVsdGli b290X2hlYWRlcl90YWdfZW50cnlfYWRkcmVzcyAqKSB0YWcpLT5lbnRyeV9hZGRyOworI2VuZGlm CisJYnJlYWs7CisKICAgICAgIGNhc2UgTVVMVElCT09UX0hFQURFUl9UQUdfQ09OU09MRV9GTEFH UzoKIAlpZiAoISgoKHN0cnVjdCBtdWx0aWJvb3RfaGVhZGVyX3RhZ19jb25zb2xlX2ZsYWdzICop IHRhZyktPmNvbnNvbGVfZmxhZ3MKIAkgICAgJiBNVUxUSUJPT1RfQ09OU09MRV9GTEFHU19FR0Ff VEVYVF9TVVBQT1JURUQpKQpAQCAtMjExLDcgKzIxOCw5IEBAIGdydWJfbXVsdGlib290X2xvYWQg KGdydWJfZmlsZV90IGZpbGUsIGNvbnN0IGNoYXIgKmZpbGVuYW1lKQogCWJyZWFrOwogCiAgICAg ICBjYXNlIE1VTFRJQk9PVF9IRUFERVJfVEFHX0VGSV9CUzoKKyNpZmRlZiBHUlVCX01BQ0hJTkVf RUZJCiAJa2VlcF9icyA9IDE7CisjZW5kaWYKIAlicmVhazsKIAogICAgICAgZGVmYXVsdDoKQEAg LTIyNCw3ICsyMzMsNyBAQCBncnViX211bHRpYm9vdF9sb2FkIChncnViX2ZpbGVfdCBmaWxlLCBj b25zdCBjaGFyICpmaWxlbmFtZSkKIAlicmVhazsKICAgICAgIH0KIAotICBpZiAoYWRkcl90YWcg JiYgIWVudHJ5X3NwZWNpZmllZCkKKyAgaWYgKGFkZHJfdGFnICYmICFlbnRyeV9zcGVjaWZpZWQg JiYgIShrZWVwX2JzICYmIGVmaV9lbnRyeV9zcGVjaWZpZWQpKQogICAgIHsKICAgICAgIGdydWJf ZnJlZSAoYnVmZmVyKTsKICAgICAgIHJldHVybiBncnViX2Vycm9yIChHUlVCX0VSUl9VTktOT1dO X09TLApAQCAtMjg3LDcgKzI5Niw5IEBAIGdydWJfbXVsdGlib290X2xvYWQgKGdydWJfZmlsZV90 IGZpbGUsIGNvbnN0IGNoYXIgKmZpbGVuYW1lKQogCX0KICAgICB9CiAKLSAgaWYgKGVudHJ5X3Nw ZWNpZmllZCkKKyAgaWYgKGtlZXBfYnMgJiYgZWZpX2VudHJ5X3NwZWNpZmllZCkKKyAgICBncnVi X211bHRpYm9vdF9wYXlsb2FkX2VpcCA9IGVmaV9lbnRyeTsKKyAgZWxzZSBpZiAoZW50cnlfc3Bl Y2lmaWVkKQogICAgIGdydWJfbXVsdGlib290X3BheWxvYWRfZWlwID0gZW50cnk7CiAKICAgaWYg KGZidGFnKQpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9ncnViL2kzODYvbXVsdGlib290LmggYi9pbmNs dWRlL2dydWIvaTM4Ni9tdWx0aWJvb3QuaAppbmRleCBhMWI5NDg4Li44MDdhMWRlIDEwMDY0NAot LS0gYS9pbmNsdWRlL2dydWIvaTM4Ni9tdWx0aWJvb3QuaAorKysgYi9pbmNsdWRlL2dydWIvaTM4 Ni9tdWx0aWJvb3QuaApAQCAtMzAsNiArMzAsMTcgQEAKICNkZWZpbmUgTVVMVElCT09UX01CSV9S RUdJU1RFUiBlYngKICNkZWZpbmUgTVVMVElCT09UX0FSQ0hJVEVDVFVSRV9DVVJSRU5UIE1VTFRJ Qk9PVF9BUkNISVRFQ1RVUkVfSTM4NgogCisjaWZkZWYgR1JVQl9NQUNISU5FX0VGSQorI2lmZGVm IF9feDg2XzY0X18KKyNkZWZpbmUgTVVMVElCT09UX0VGSV9JTklUSUFMX1NUQVRFICB7IC5yYXgg PSBNVUxUSUJPT1RfQk9PVExPQURFUl9NQUdJQywJXAorICAgIC5yY3ggPSAwLAkJCQkJCQkJCVwK KyAgICAucmR4ID0gMCwJCQkJCQkJCQlcCisgICAgICB9CisjZGVmaW5lIE1VTFRJQk9PVF9FRklf RU5UUllfUkVHSVNURVIgcmlwCisjZGVmaW5lIE1VTFRJQk9PVF9FRklfTUJJX1JFR0lTVEVSIHJi eAorI2VuZGlmCisjZW5kaWYKKwogI2RlZmluZSBNVUxUSUJPT1RfRUxGMzJfTUFDSElORSBFTV8z ODYKICNkZWZpbmUgTVVMVElCT09UX0VMRjY0X01BQ0hJTkUgRU1fWDg2XzY0CiAKZGlmZiAtLWdp dCBhL2luY2x1ZGUvZ3J1Yi9pMzg2L3JlbG9jYXRvci5oIGIvaW5jbHVkZS9ncnViL2kzODYvcmVs b2NhdG9yLmgKaW5kZXggNWY4OWE3ZS4uMmE1NmMzYiAxMDA2NDQKLS0tIGEvaW5jbHVkZS9ncnVi L2kzODYvcmVsb2NhdG9yLmgKKysrIGIvaW5jbHVkZS9ncnViL2kzODYvcmVsb2NhdG9yLmgKQEAg LTY1LDYgKzY1LDIwIEBAIHN0cnVjdCBncnViX3JlbG9jYXRvcjY0X3N0YXRlCiAgIGdydWJfYWRk cl90IGNyMzsKIH07CiAKKyNpZmRlZiBHUlVCX01BQ0hJTkVfRUZJCisjaWZkZWYgX194ODZfNjRf Xworc3RydWN0IGdydWJfcmVsb2NhdG9yNjRfZWZpX3N0YXRlCit7CisgIGdydWJfdWludDY0X3Qg cmF4OworICBncnViX3VpbnQ2NF90IHJieDsKKyAgZ3J1Yl91aW50NjRfdCByY3g7CisgIGdydWJf dWludDY0X3QgcmR4OworICBncnViX3VpbnQ2NF90IHJpcDsKKyAgZ3J1Yl91aW50NjRfdCByc2k7 Cit9OworI2VuZGlmCisjZW5kaWYKKwogZ3J1Yl9lcnJfdCBncnViX3JlbG9jYXRvcjE2X2Jvb3Qg KHN0cnVjdCBncnViX3JlbG9jYXRvciAqcmVsLAogCQkJCSAgc3RydWN0IGdydWJfcmVsb2NhdG9y MTZfc3RhdGUgc3RhdGUpOwogCkBAIC03Niw0ICs5MCwxMSBAQCBncnViX2Vycl90IGdydWJfcmVs b2NhdG9yNjRfYm9vdCAoc3RydWN0IGdydWJfcmVsb2NhdG9yICpyZWwsCiAJCQkJICBzdHJ1Y3Qg Z3J1Yl9yZWxvY2F0b3I2NF9zdGF0ZSBzdGF0ZSwKIAkJCQkgIGdydWJfYWRkcl90IG1pbl9hZGRy LCBncnViX2FkZHJfdCBtYXhfYWRkcik7CiAKKyNpZmRlZiBHUlVCX01BQ0hJTkVfRUZJCisjaWZk ZWYgX194ODZfNjRfXworZ3J1Yl9lcnJfdCBncnViX3JlbG9jYXRvcjY0X2VmaV9ib290IChzdHJ1 Y3QgZ3J1Yl9yZWxvY2F0b3IgKnJlbCwKKwkJCQkgICAgICBzdHJ1Y3QgZ3J1Yl9yZWxvY2F0b3I2 NF9lZmlfc3RhdGUgc3RhdGUpOworI2VuZGlmCisjZW5kaWYKKwogI2VuZGlmIC8qICEgR1JVQl9S RUxPQ0FUT1JfQ1BVX0hFQURFUiAqLwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9tdWx0aWJvb3QyLmgg Yi9pbmNsdWRlL211bHRpYm9vdDIuaAppbmRleCA4YjhjMTU2Li40NmU3YjcxIDEwMDY0NAotLS0g YS9pbmNsdWRlL211bHRpYm9vdDIuaAorKysgYi9pbmNsdWRlL211bHRpYm9vdDIuaApAQCAtNjks NiArNjksNyBAQAogI2RlZmluZSBNVUxUSUJPT1RfSEVBREVSX1RBR19GUkFNRUJVRkZFUiAgNQog I2RlZmluZSBNVUxUSUJPT1RfSEVBREVSX1RBR19NT0RVTEVfQUxJR04gIDYKICNkZWZpbmUgTVVM VElCT09UX0hFQURFUl9UQUdfRUZJX0JTICA3CisjZGVmaW5lIE1VTFRJQk9PVF9IRUFERVJfVEFH X0VOVFJZX0FERFJFU1NfRUZJNjQgIDkKIAogI2RlZmluZSBNVUxUSUJPT1RfQVJDSElURUNUVVJF X0kzODYgIDAKICNkZWZpbmUgTVVMVElCT09UX0FSQ0hJVEVDVFVSRV9NSVBTMzIgIDQKLS0gCjEu Ny4xMC40CgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18K WGVuLWRldmVsIG1haWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlzdHMueGVuLm9yZwpodHRwOi8vbGlz dHMueGVuLm9yZy94ZW4tZGV2ZWwK