From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: From: Scott Bauer To: linux-nvme@lists.infradead.org Subject: [PATCH v2 1/4] include: Add definitions for sed Date: Tue, 29 Nov 2016 14:51:59 -0700 Message-Id: <1480456322-27339-2-git-send-email-scott.bauer@intel.com> In-Reply-To: <1480456322-27339-1-git-send-email-scott.bauer@intel.com> References: <1480456322-27339-1-git-send-email-scott.bauer@intel.com> MIME-Version: 1.0 List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: keith.busch@intel.com, sagi@grimberg.me, hch@infradead.org, Rafael.Antognolli@intel.com, axboe@fb.com, linux-block@vger.kernel.org, Scott Bauer , jonathan.derrick@intel.com, j.naumann@fu-berlin.de Content-Type: text/plain; charset="utf-8" Sender: "Linux-nvme" Errors-To: linux-nvme-bounces+axboe=kernel.dk@lists.infradead.org List-ID: VGhpcyBwYXRjaCBhZGRzIHRoZSBkZWZpbml0aW9ucyBhbmQgc3RydWN0dXJlcyBmb3IgdGhlIFNF RApPcGFsIGNvZGUuCgpTaWduZWQtb2ZmLWJ5OiBTY290dCBCYXVlciA8c2NvdHQuYmF1ZXJAaW50 ZWwuY29tPgpTaWduZWQtb2ZmLWJ5OiBSYWZhZWwgQW50b2dub2xsaSA8UmFmYWVsLkFudG9nbm9s bGlAaW50ZWwuY29tPgotLS0KIGluY2x1ZGUvbGludXgvc2VkLW9wYWwuaCAgICAgIHwgIDU3ICsr KysrKysrKysrKysrKysrKysrKysKIGluY2x1ZGUvbGludXgvc2VkLmggICAgICAgICAgIHwgIDg1 ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwogaW5jbHVkZS91YXBpL2xpbnV4L3Nl ZC1vcGFsLmggfCAxMDggKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr CiBpbmNsdWRlL3VhcGkvbGludXgvc2VkLmggICAgICB8ICA2NCArKysrKysrKysrKysrKysrKysr KysrKysrCiA0IGZpbGVzIGNoYW5nZWQsIDMxNCBpbnNlcnRpb25zKCspCiBjcmVhdGUgbW9kZSAx MDA2NDQgaW5jbHVkZS9saW51eC9zZWQtb3BhbC5oCiBjcmVhdGUgbW9kZSAxMDA2NDQgaW5jbHVk ZS9saW51eC9zZWQuaAogY3JlYXRlIG1vZGUgMTAwNjQ0IGluY2x1ZGUvdWFwaS9saW51eC9zZWQt b3BhbC5oCiBjcmVhdGUgbW9kZSAxMDA2NDQgaW5jbHVkZS91YXBpL2xpbnV4L3NlZC5oCgpkaWZm IC0tZ2l0IGEvaW5jbHVkZS9saW51eC9zZWQtb3BhbC5oIGIvaW5jbHVkZS9saW51eC9zZWQtb3Bh bC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjljNmQ4NDkKLS0tIC9kZXYv bnVsbAorKysgYi9pbmNsdWRlL2xpbnV4L3NlZC1vcGFsLmgKQEAgLTAsMCArMSw1NyBAQAorLyoK KyAqIENvcHlyaWdodCDCqSAyMDE2IEludGVsIENvcnBvcmF0aW9uCisgKgorICogQXV0aG9yczoK KyAqICAgIFJhZmFlbCBBbnRvZ25vbGxpIDxyYWZhZWwuYW50b2dub2xsaUBpbnRlbC5jb20+Cisg KiAgICBTY290dCAgQmF1ZXIgICAgICA8c2NvdHQuYmF1ZXJAaW50ZWwuY29tPgorICoKKyAqIFRo aXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQv b3IgbW9kaWZ5IGl0CisgKiB1bmRlciB0aGUgdGVybXMgYW5kIGNvbmRpdGlvbnMgb2YgdGhlIEdO VSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlLAorICogdmVyc2lvbiAyLCBhcyBwdWJsaXNoZWQgYnkg dGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbi4KKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZGlz dHJpYnV0ZWQgaW4gdGhlIGhvcGUgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dCBXSVRIT1VUCisgKiBB TlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZiBNRVJDSEFO VEFCSUxJVFkgb3IKKyAqIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRo ZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IKKyAqIG1vcmUgZGV0YWlscy4KKyAqLwor CisjaWZuZGVmIExJTlVYX09QQUxfSAorI2RlZmluZSBMSU5VWF9PUEFMX0gKKworI2luY2x1ZGUg PGxpbnV4L3NlZC5oPgorI2luY2x1ZGUgPGxpbnV4L2tlcm5lbC5oPgorCitzdHJ1Y3Qgb3BhbF9z dXNwZW5kX3VubGsgeworCXZvaWQgKnN1Ym1pdF9kYXRhOworCWRldl90IGRldjsKKwlzZWRfc2Vj X3N1Ym1pdCAqc3VibWl0X2ZuOworfTsKKworaW50IG9wYWxfc2F2ZShzdHJ1Y3QgYmxvY2tfZGV2 aWNlICpiZGV2LCBzdHJ1Y3Qgc2VkX2tleSAqa2V5LAorCSAgICAgIHZvaWQgKnNibXRfZGF0YSwg c2VkX3NlY19zdWJtaXQgKnN1Ym1pdF9mbik7CitpbnQgb3BhbF9sb2NrX3VubG9jayhzdHJ1Y3Qg YmxvY2tfZGV2aWNlICpiZGV2LCBzdHJ1Y3Qgc2VkX2tleSAqa2V5LAorCQkgICAgIHZvaWQgKnNi bXRfZGF0YSwgc2VkX3NlY19zdWJtaXQgKnN1Ym1pdF9mbik7CitpbnQgb3BhbF90YWtlX293bmVy c2hpcChzdHJ1Y3QgYmxvY2tfZGV2aWNlICpiZGV2LCBzdHJ1Y3Qgc2VkX2tleSAqa2V5LAorCQkJ dm9pZCAqc2JtdF9kYXRhLCBzZWRfc2VjX3N1Ym1pdCAqc3VibWl0X2ZuKTsKK2ludCBvcGFsX2Fj dGl2YXRlX2xzcChzdHJ1Y3QgYmxvY2tfZGV2aWNlICpiZGV2LCBzdHJ1Y3Qgc2VkX2tleSAqa2V5 LAorCQkgICAgICB2b2lkICpzYm10X2RhdGEsIHNlZF9zZWNfc3VibWl0ICpzdWJtaXRfZm4pOwor aW50IG9wYWxfc2V0X25ld19wdyhzdHJ1Y3QgYmxvY2tfZGV2aWNlICpiZGV2LCBzdHJ1Y3Qgc2Vk X2tleSAqa2V5LAorCQkgICAgdm9pZCAqc2JtdF9kYXRhLCBzZWRfc2VjX3N1Ym1pdCAqc3VibWl0 X2ZuKTsKK2ludCBvcGFsX2FjdGl2YXRlX3VzZXIoc3RydWN0IGJsb2NrX2RldmljZSAqYmRldiwg c3RydWN0IHNlZF9rZXkgKmtleSwKKwkJICAgICAgIHZvaWQgKnNibXRfZGF0YSwgc2VkX3NlY19z dWJtaXQgKnN1Ym1pdF9mbik7CitpbnQgb3BhbF9yZXZlcnR0cGVyKHN0cnVjdCBibG9ja19kZXZp Y2UgKmJkZXYsIHN0cnVjdCBzZWRfa2V5ICprZXksCisJCSAgICB2b2lkICpzYm10X2RhdGEsIHNl ZF9zZWNfc3VibWl0ICpzdWJtaXRfZm4pOworaW50IG9wYWxfc2V0dXBfbG9ja2luZ19yYW5nZShz dHJ1Y3QgYmxvY2tfZGV2aWNlICpiZGV2LCBzdHJ1Y3Qgc2VkX2tleSAqa2V5LAorCQkJICAgICB2 b2lkICpzYm10X2RhdGEsIHNlZF9zZWNfc3VibWl0ICpzdWJtaXRfZm4pOworaW50IG9wYWxfYWRk X3VzZXJfdG9fbHIoc3RydWN0IGJsb2NrX2RldmljZSAqYmRldiwgc3RydWN0IHNlZF9rZXkgKmtl eSwKKwkJCXZvaWQgKnNibXRfZGF0YSwgc2VkX3NlY19zdWJtaXQgKnN1Ym1pdF9mbik7CitpbnQg b3BhbF9lbmFibGVfZGlzYWJsZV9zaGFkb3dfbWJyKHN0cnVjdCBibG9ja19kZXZpY2UgKmJkZXYs IHN0cnVjdCBzZWRfa2V5ICprZXksCisJCQkJICAgdm9pZCAqc2JtdF9kYXRhLCBzZWRfc2VjX3N1 Ym1pdCAqc3VibWl0X2ZuKTsKK2ludCBvcGFsX2VyYXNlX2xvY2tpbmdfcmFuZ2Uoc3RydWN0IGJs b2NrX2RldmljZSAqYmRldiwgc3RydWN0IHNlZF9rZXkgKmtleSwKKwkJCSAgICAgdm9pZCAqc2Jt dF9kYXRhLCBzZWRfc2VjX3N1Ym1pdCAqc3VibWl0X2ZuKTsKK2ludCBvcGFsX3NlY3VyZV9lcmFz ZV9sb2NraW5nX3JhbmdlKHN0cnVjdCBibG9ja19kZXZpY2UgKmJkZXYsCisJCQkJICAgIHN0cnVj dCBzZWRfa2V5ICprZXksIHZvaWQgKnNibXRfZGF0YSwKKwkJCQkgICAgc2VkX3NlY19zdWJtaXQg KnN1Ym1pdF9mbik7CitpbnQgb3BhbF91bmxvY2tfZnJvbV9zdXNwZW5kKHN0cnVjdCBvcGFsX3N1 c3BlbmRfdW5sayAqZGF0YSk7CisKKyNlbmRpZiAvKiBMSU5VWF9PUEFMX0ggKi8KZGlmZiAtLWdp dCBhL2luY2x1ZGUvbGludXgvc2VkLmggYi9pbmNsdWRlL2xpbnV4L3NlZC5oCm5ldyBmaWxlIG1v ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjdjM2I2OWIKLS0tIC9kZXYvbnVsbAorKysgYi9pbmNs dWRlL2xpbnV4L3NlZC5oCkBAIC0wLDAgKzEsODUgQEAKKy8qCisgKiBTZWxmLUVuY3J5cHRpbmcg RHJpdmUgaW50ZXJmYWNlIC0gc2VkLmgKKyAqCisgKiBDb3B5cmlnaHQgwqkgMjAxNiBJbnRlbCBD b3Jwb3JhdGlvbgorICoKKyAqIEF1dGhvcnM6CisgKiAgICBSYWZhZWwgQW50b2dub2xsaSA8cmFm YWVsLmFudG9nbm9sbGlAaW50ZWwuY29tPgorICogICAgU2NvdHQgIEJhdWVyICAgICAgPHNjb3R0 LmJhdWVyQGludGVsLmNvbT4KKyAqICAgIEpvbmF0aGFuIERlcnJpY2sgIDxqb25hdGhhbi5kZXJy aWNrQGludGVsLmNvbT4KKyAqCisgKiBUaGlzIGNvZGUgaXMgdGhlIGdlbmVyaWMgbGF5ZXIgdG8g aW50ZXJmYWNlIHdpdGggc2VsZi1lbmNyeXB0aW5nCisgKiBkcml2ZXMuIFNwZWNpZmljIGNvbW1h bmQgc2V0cyBzaG91bGQgYWR2ZXJ0aXNlIHN1cHBvcnQgdG8gc2VkIHVhcGkKKyAqCisgKiBUaGlz IHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29y IG1vZGlmeSBpdAorICogdW5kZXIgdGhlIHRlcm1zIGFuZCBjb25kaXRpb25zIG9mIHRoZSBHTlUg R2VuZXJhbCBQdWJsaWMgTGljZW5zZSwKKyAqIHZlcnNpb24gMiwgYXMgcHVibGlzaGVkIGJ5IHRo ZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24uCisgKgorICogVGhpcyBwcm9ncmFtIGlzIGRpc3Ry aWJ1dGVkIGluIHRoZSBob3BlIGl0IHdpbGwgYmUgdXNlZnVsLCBidXQgV0lUSE9VVAorICogQU5Z IFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YgTUVSQ0hBTlRB QklMSVRZIG9yCisgKiBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUg R05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yCisgKiBtb3JlIGRldGFpbHMuCisgKgorICov CisKKyNpZm5kZWYgTElOVVhfU0VEX0gKKyNkZWZpbmUgTElOVVhfU0VEX0gKKworI2luY2x1ZGUg PGxpbnV4L2Jsa2Rldi5oPgorI2luY2x1ZGUgPHVhcGkvbGludXgvc2VkLmg+CisKKworLyoKKyAq IFRoZXNlIGNvbnN0YW50IHZhbHVlcyBjb21lIGZyb206CisgKiBUQ0cgU3RvcmFnZSBBcmNoaXRl Y3R1cmUgQ29yZSBTcGVjIHYyLjAxIHIxCisgKiBTZWN0aW9uOiAzLjMgSW50ZXJmYWNlIENvbW11 bmljYXRpb25zCisgKi8KK2VudW0geworCVRDR19TRUNQXzAwID0gMCwKKwlUQ0dfU0VDUF8wMSwK K307CisKKy8qCisgKiBzZWRfc2VjX3N1Ym1pdCAtIHRyYW5zcG9ydCBzcGVjaWZpYyBUcnVzdGVk IFNlbmQvUmVjZWl2ZSBmdW5jdGlvbnMKKyAqIFNlZSBTUEMtNCBmb3Igc3BlY2lmaWMgZGVmaW5p dGlvbnMKKyAqCisgKiBAc2VjX3NlY19zdWJtaXQ6IHNlbmRzIG9yIHJlY2lldmVzIHRoZSBwYXls b2FkIHRvIHRoZSB0cnVzdGVkIHBlcmlwaGVyYWwKKyAqCVNQU1A6IFNlY3VyaXR5IFByb3RvY29s IFNwZWNpZmljCisgKglTRUNQOiBTZWN1cml0eSBQcm90b2NvbAorICoJYnVmZmVyOiBQYXlsb2Fk CisgKglsZW46IFBheWxvYWQgbGVuZ3RoCisgKiAgICAgIGJvb2w6IFdldGhlciB0byBzZW5kKHRy dWUpIG9yIHRvIHJlY2lldmUoZmFsc2UpCisgKi8KKwordHlwZWRlZiBpbnQgKHNlZF9zZWNfc3Vi bWl0KSh2b2lkICpkYXRhLCB1MTYgc3BzcCwgdTggc2VjcCwKKwkJCSAgICAgdm9pZCAqYnVmZmVy LCBzaXplX3QgbGVuLCBib29sIHNlbmQpOworCitpbnQgc2VkX3NhdmUoc3RydWN0IGJsb2NrX2Rl dmljZSAqYmRldiwgc3RydWN0IHNlZF9rZXkgKmtleSwKKyAgICAgICAgICAgICAgICAgdm9pZCAq c2JtdF9kYXRhLCBzZWRfc2VjX3N1Ym1pdCAqc3VibWl0X2ZuKTsKK2ludCBzZWRfbG9ja191bmxv Y2soc3RydWN0IGJsb2NrX2RldmljZSAqYmRldiwgc3RydWN0IHNlZF9rZXkgKmtleSwKKyAgICAg ICAgICAgICAgICAgdm9pZCAqc2JtdF9kYXRhLCBzZWRfc2VjX3N1Ym1pdCAqc3VibWl0X2ZuKTsK K2ludCBzZWRfdGFrZV9vd25lcnNoaXAoc3RydWN0IGJsb2NrX2RldmljZSAqYmRldiwgc3RydWN0 IHNlZF9rZXkgKmtleSwKKyAgICAgICAgICAgICAgICAgdm9pZCAqc2JtdF9kYXRhLCBzZWRfc2Vj X3N1Ym1pdCAqc3VibWl0X2ZuKTsKK2ludCBzZWRfYWN0aXZhdGVfbHNwKHN0cnVjdCBibG9ja19k ZXZpY2UgKmJkZXYsIHN0cnVjdCBzZWRfa2V5ICprZXksCisgICAgICAgICAgICAgICAgIHZvaWQg KnNibXRfZGF0YSwgc2VkX3NlY19zdWJtaXQgKnN1Ym1pdF9mbik7CitpbnQgc2VkX3NldF9wdyhz dHJ1Y3QgYmxvY2tfZGV2aWNlICpiZGV2LCBzdHJ1Y3Qgc2VkX2tleSAqa2V5LAorICAgICAgICAg ICAgICAgICB2b2lkICpzYm10X2RhdGEsIHNlZF9zZWNfc3VibWl0ICpzdWJtaXRfZm4pOworaW50 IHNlZF9hY3RpdmF0ZV91c2VyKHN0cnVjdCBibG9ja19kZXZpY2UgKmJkZXYsIHN0cnVjdCBzZWRf a2V5ICprZXksCisgICAgICAgICAgICAgICAgIHZvaWQgKnNibXRfZGF0YSwgc2VkX3NlY19zdWJt aXQgKnN1Ym1pdF9mbik7CitpbnQgc2VkX3JldmVydHRwZXIoc3RydWN0IGJsb2NrX2RldmljZSAq YmRldiwgc3RydWN0IHNlZF9rZXkgKmtleSwKKyAgICAgICAgICAgICAgICAgdm9pZCAqc2JtdF9k YXRhLCBzZWRfc2VjX3N1Ym1pdCAqc3VibWl0X2ZuKTsKK2ludCBzZWRfc2V0dXBfbG9ja2luZ19y YW5nZShzdHJ1Y3QgYmxvY2tfZGV2aWNlICpiZGV2LCBzdHJ1Y3Qgc2VkX2tleSAqa2V5LAorICAg ICAgICAgICAgICAgICB2b2lkICpzYm10X2RhdGEsIHNlZF9zZWNfc3VibWl0ICpzdWJtaXRfZm4p OworaW50IHNlZF9hZGR1c2VyX3RvX2xyKHN0cnVjdCBibG9ja19kZXZpY2UgKmJkZXYsIHN0cnVj dCBzZWRfa2V5ICprZXksCisgICAgICAgICAgICAgICAgIHZvaWQgKnNibXRfZGF0YSwgc2VkX3Nl Y19zdWJtaXQgKnN1Ym1pdF9mbik7CitpbnQgc2VkX2RvX21icihzdHJ1Y3QgYmxvY2tfZGV2aWNl ICpiZGV2LCBzdHJ1Y3Qgc2VkX2tleSAqa2V5LAorICAgICAgICAgICAgICAgICB2b2lkICpzYm10 X2RhdGEsIHNlZF9zZWNfc3VibWl0ICpzdWJtaXRfZm4pOworaW50IHNlZF9lcmFzZV9scihzdHJ1 Y3QgYmxvY2tfZGV2aWNlICpiZGV2LCBzdHJ1Y3Qgc2VkX2tleSAqa2V5LAorICAgICAgICAgICAg ICAgICB2b2lkICpzYm10X2RhdGEsIHNlZF9zZWNfc3VibWl0ICpzdWJtaXRfZm4pOworaW50IHNl ZF9zZWN1cmVfZXJhc2VfbHIoc3RydWN0IGJsb2NrX2RldmljZSAqYmRldiwgc3RydWN0IHNlZF9r ZXkgKmtleSwKKwkJCXZvaWQgKnNibXRfZGF0YSwgc2VkX3NlY19zdWJtaXQgKnN1Ym1pdF9mbik7 CitpbnQgYmxrZGV2X3NlZF9pb2N0bChzdHJ1Y3QgYmxvY2tfZGV2aWNlICpiZGV2LCBmbW9kZV90 IGZtb2RlLCB1bnNpZ25lZCBpbnQgY21kLAorCQkgICAgIHVuc2lnbmVkIGxvbmcgYXJnLCB2b2lk ICpzYm10X2N0cmxfZGF0YSwKKwkJICAgICBzZWRfc2VjX3N1Ym1pdCAqc3VibWl0X2ZuKTsKKwor I2VuZGlmIC8qIExJTlVYX1NFRF9IICovCmRpZmYgLS1naXQgYS9pbmNsdWRlL3VhcGkvbGludXgv c2VkLW9wYWwuaCBiL2luY2x1ZGUvdWFwaS9saW51eC9zZWQtb3BhbC5oCm5ldyBmaWxlIG1vZGUg MTAwNjQ0CmluZGV4IDAwMDAwMDAuLjM0Njg5YTkKLS0tIC9kZXYvbnVsbAorKysgYi9pbmNsdWRl L3VhcGkvbGludXgvc2VkLW9wYWwuaApAQCAtMCwwICsxLDEwOCBAQAorLyoKKyAqIENvcHlyaWdo dCDCqSAyMDE2IEludGVsIENvcnBvcmF0aW9uCisgKgorICogQXV0aG9yczoKKyAqICAgIFJhZmFl bCBBbnRvZ25vbGxpIDxyYWZhZWwuYW50b2dub2xsaUBpbnRlbC5jb20+CisgKiAgICBTY290dCAg QmF1ZXIgICAgICA8c2NvdHQuYmF1ZXJAaW50ZWwuY29tPgorICoKKyAqIFRoaXMgcHJvZ3JhbSBp cyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5IGl0 CisgKiB1bmRlciB0aGUgdGVybXMgYW5kIGNvbmRpdGlvbnMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1 YmxpYyBMaWNlbnNlLAorICogdmVyc2lvbiAyLCBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29m dHdhcmUgRm91bmRhdGlvbi4KKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4g dGhlIGhvcGUgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dCBXSVRIT1VUCisgKiBBTlkgV0FSUkFOVFk7 IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZiBNRVJDSEFOVEFCSUxJVFkgb3IK KyAqIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUgR2VuZXJh bCBQdWJsaWMgTGljZW5zZSBmb3IKKyAqIG1vcmUgZGV0YWlscy4KKyAqLworCisjaWZuZGVmIF9V QVBJX09QQUxfSAorI2RlZmluZSBfVUFQSV9PUEFMX0gKKworI2luY2x1ZGUgPGxpbnV4L3R5cGVz Lmg+CisKKyNkZWZpbmUgT1BBTF9LRVlfTUFYIDI1NgorCitlbnVtIG9wYWxfbWJyIHsKKwlPUEFM X01CUl9FTkFCTEUsCisJT1BBTF9NQlJfRElTQUJMRSwKK307CisKK2VudW0gb3BhbF91c2VyIHsK KwlPUEFMX0FETUlOMSwKKwlPUEFMX1VTRVIxLAorCU9QQUxfVVNFUjIsCisJT1BBTF9VU0VSMywK KwlPUEFMX1VTRVI0LAorCU9QQUxfVVNFUjUsCisJT1BBTF9VU0VSNiwKKwlPUEFMX1VTRVI3LAor CU9QQUxfVVNFUjgsCisJT1BBTF9VU0VSOSwKK307CisKK3N0cnVjdCBvcGFsX3VzZXJfaW5mbyB7 CisJYm9vbCBTVU07CisJZW51bSBvcGFsX3VzZXIgd2hvOworfTsKKworZW51bSBvcGFsX2tleV90 eXBlIHsKKwlPUEFMX0tFWV9QTEFJTiwKKwlPUEFMX0tFWV9LRVlSSU5HLAorfTsKKworZW51bSBv cGFsX2xvY2tfc3RhdGUgeworCU9QQUxfUk8gPSAweDAxLCAvKiAwMDAxICovCisJT1BBTF9SVyA9 IDB4MDIsIC8qIDAwMTAgKi8KKwlPUEFMX0xLID0gMHgwNCwgLyogMDEwMCAqLworfTsKKworc3Ry dWN0IG9wYWxfa2V5IHsKKwlfX3U4CWxyOworCV9fdTgJa2V5X3R5cGU7CisJX191OAlrZXlfbGVu OworCV9fdTgJa2V5W09QQUxfS0VZX01BWF07Cit9OworCitzdHJ1Y3Qgb3BhbF9rZXlfYW5kX3Vz ZXIgeworCXN0cnVjdCBvcGFsX3VzZXJfaW5mbyB3aG87CisJc3RydWN0IG9wYWxfa2V5IGtleTsK K307CisKK3N0cnVjdCBvcGFsX3VzZXJfbHJfc2V0dXAgeworCXN0cnVjdCBvcGFsX3VzZXJfaW5m byB3aG87CisJc3RydWN0IG9wYWxfa2V5IGtleTsKKwlzaXplX3QgcmFuZ2Vfc3RhcnQ7CisJc2l6 ZV90IHJhbmdlX2xlbmd0aDsKKwlpbnQgICAgUkxFOyAvKiBSZWFkIExvY2sgZW5hYmxlZCAqLwor CWludCAgICBXTEU7IC8qIFdyaXRlIExvY2sgRW5hYmxlZCAqLworfTsKKworc3RydWN0IG9wYWxf bG9ja191bmxvY2sgeworCXN0cnVjdCBvcGFsX3VzZXJfaW5mbyBhdXRob3JpdHk7CisJZW51bSBv cGFsX2xvY2tfc3RhdGUgbF9zdGF0ZTsKKwlzdHJ1Y3Qgb3BhbF9rZXkga2V5OworfTsKKworc3Ry dWN0IG9wYWxfbmV3X3B3IHsKKwlzdHJ1Y3Qgb3BhbF91c2VyX2luZm8gd2hvOworCisJLyogV2hl biB3ZSdyZSBub3Qgb3BlcmF0aW5nIGluIFNVTSwgYW5kIHdlIGZpcnN0IHNldAorCSAqIHBhc3N3 b3JkcyB3ZSBuZWVkIHRvIHNldCB0aGVtIHZpYSBBRE1JTiBhdXRob3JpdHkuCisJICogQWZ0ZXIg cGFzc3dvcmRzIGFyZSBjaGFuZ2VkLCB3ZSBjYW4gc2V0IHRoZW0gdmlhLAorCSAqIFVzZXIgYXV0 aG9yaXRpZXMuCisJICogQmVjYXVzZSBvZiB0aGlzIHJlc3RyaWN0aW9uIHdlIG5lZWQgdG8ga25v dyBhYm91dAorCSAqIFR3byBkaWZmZXJlbnQgdXNlcnMuIE9uZSBpbiAnd2hvJyB3aGljaCB3ZSB3 aWxsIHVzZQorCSAqIHRvIHN0YXJ0IHRoZSBzZXNzaW9uIGFuZCB1c2VyX2Zvcl9wdyBhcyB0aGUg dXNlciB3ZSdyZQorCSAqIGNoYW5pbmcgdGhlIHB3IGZvci4KKwkgKi8KKwllbnVtIG9wYWxfdXNl ciB1c2VyX2Zvcl9wdzsKKwlzdHJ1Y3Qgb3BhbF9rZXkgY3VycmVudF9waW47CisJc3RydWN0IG9w YWxfa2V5IG5ld19waW47Cit9OworCitzdHJ1Y3Qgb3BhbF9tYnJfZGF0YSB7CisJdTggZW5hYmxl X2Rpc2FibGU7CisJc3RydWN0IG9wYWxfa2V5IGtleTsKK307CisKKyNlbmRpZiAvKiBfVUFQSV9T RURfSCAqLwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS91YXBpL2xpbnV4L3NlZC5oIGIvaW5jbHVkZS91 YXBpL2xpbnV4L3NlZC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmE5YWFj ZDEKLS0tIC9kZXYvbnVsbAorKysgYi9pbmNsdWRlL3VhcGkvbGludXgvc2VkLmgKQEAgLTAsMCAr MSw2NCBAQAorLyoKKyAqIERlZmluaXRpb25zIGZvciB0aGUgc2VsZi1lbmNyeXB0aW5nIGRyaXZl IGludGVyZmFjZQorICogQ29weXJpZ2h0IMKpIDIwMTYgSW50ZWwgQ29ycG9yYXRpb24KKyAqCisg KiBBdXRob3JzOgorICogICAgUmFmYWVsIEFudG9nbm9sbGkgPHJhZmFlbC5hbnRvZ25vbGxpQGlu dGVsLmNvbT4KKyAqICAgIFNjb3R0ICBCYXVlciAgICAgIDxzY290dC5iYXVlckBpbnRlbC5jb20+ CisgKgorICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmli dXRlIGl0IGFuZC9vciBtb2RpZnkgaXQKKyAqIHVuZGVyIHRoZSB0ZXJtcyBhbmQgY29uZGl0aW9u cyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UsCisgKiB2ZXJzaW9uIDIsIGFzIHB1 Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLgorICoKKyAqIFRoaXMgcHJv Z3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSBpdCB3aWxsIGJlIHVzZWZ1bCwgYnV0IFdJ VEhPVVQKKyAqIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5 IG9mIE1FUkNIQU5UQUJJTElUWSBvcgorICogRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBP U0UuICBTZWUgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvcgorICogbW9yZSBkZXRh aWxzLgorICovCisKKyNpZm5kZWYgX1VBUElfU0VEX0gKKyNkZWZpbmUgX1VBUElfU0VEX0gKKwor I2luY2x1ZGUgPGxpbnV4L3R5cGVzLmg+CisjaW5jbHVkZSAic2VkLW9wYWwuaCIKKworZW51bSBz ZWRfa2V5X3R5cGUgeworCU9QQUwsCisJT1BBTF9QVywKKwlPUEFMX0FDVF9VU1IsCisJT1BBTF9M Ul9TRVRVUCwKKwlPUEFMX0xPQ0tfVU5MT0NLLAorCU9QQUxfTUJSX0RBVEEsCit9OworCitzdHJ1 Y3Qgc2VkX2tleSB7CisJX191MzIgc2VkX3R5cGU7CisJdW5pb24geworCQlzdHJ1Y3Qgb3BhbF9r ZXkgICAgICAgICAgICBvcGFsOworCQlzdHJ1Y3Qgb3BhbF9uZXdfcHcgICAgICAgICBvcGFsX3B3 OworCQlzdHJ1Y3Qgb3BhbF9rZXlfYW5kX3VzZXIgICBvcGFsX2FjdDsKKwkJc3RydWN0IG9wYWxf dXNlcl9scl9zZXR1cCAgb3BhbF9scnM7CisJCXN0cnVjdCBvcGFsX2xvY2tfdW5sb2NrICAgIG9w YWxfbGtfdW5sazsKKwkJc3RydWN0IG9wYWxfbWJyX2RhdGEgICAgICAgb3BhbF9tYnI7CisJCS8q IGFkZGl0aW9uYWwgY29tbWFuZCBzZXQga2V5IHR5cGVzICovCisJfTsKK307CisKKyNkZWZpbmUg SU9DX1NFRF9TQVZFCQkgICBfSU9XKCdwJywgMjIwLCBzdHJ1Y3Qgc2VkX2tleSkKKyNkZWZpbmUg SU9DX1NFRF9MT0NLX1VOTE9DSwkgICBfSU9XKCdwJywgMjIxLCBzdHJ1Y3Qgc2VkX2tleSkKKyNk ZWZpbmUgSU9DX1NFRF9UQUtFX09XTkVSU0hJUAkgICBfSU9XKCdwJywgMjIyLCBzdHJ1Y3Qgc2Vk X2tleSkKKyNkZWZpbmUgSU9DX1NFRF9BQ1RJVkFURV9MU1AgICAgICAgX0lPVygncCcsIDIyMywg c3RydWN0IHNlZF9rZXkpCisjZGVmaW5lIElPQ19TRURfU0VUX1BXICAgICAgICAgICAgIF9JT1co J3AnLCAyMjQsIHN0cnVjdCBzZWRfa2V5KQorI2RlZmluZSBJT0NfU0VEX0FDVElWQVRFX1VTUiAg ICAgICBfSU9XKCdwJywgMjI1LCBzdHJ1Y3Qgc2VkX2tleSkKKyNkZWZpbmUgSU9DX1NFRF9SRVZF UlRfVFBSICAgICAgICAgX0lPVygncCcsIDIyNiwgc3RydWN0IHNlZF9rZXkpCisjZGVmaW5lIElP Q19TRURfTFJfU0VUVVAgICAgICAgICAgIF9JT1coJ3AnLCAyMjcsIHN0cnVjdCBzZWRfa2V5KQor I2RlZmluZSBJT0NfU0VEX0FERF9VU1JfVE9fTFIgICAgICBfSU9XKCdwJywgMjI4LCBzdHJ1Y3Qg c2VkX2tleSkKKyNkZWZpbmUgSU9DX1NFRF9FTkFCTEVfRElTQUJMRV9NQlIgX0lPVygncCcsIDIy OSwgc3RydWN0IHNlZF9rZXkpCisjZGVmaW5lIElPQ19TRURfRVJBU0VfTFIgICAgICAgICAgIF9J T1coJ3AnLCAyMzAsIHN0cnVjdCBzZWRfa2V5KQorI2RlZmluZSBJT0NfU0VEX1NFQ1VSRV9FUkFT RV9MUiAgICBfSU9XKCdwJywgMjMxLCBzdHJ1Y3Qgc2VkX2tleSkKKworc3RhdGljIGlubGluZSBp bnQgaXNfc2VkX2lvY3RsKHVuc2lnbmVkIGludCBjbWQpCit7CisJcmV0dXJuIChjbWQgPj0gSU9D X1NFRF9TQVZFICYmIGNtZCA8PSBJT0NfU0VEX1NFQ1VSRV9FUkFTRV9MUik7Cit9CisjZW5kaWYg LyogX1VBUElfU0VEX0ggKi8KLS0gCjIuNy40CgoKX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX18KTGludXgtbnZtZSBtYWlsaW5nIGxpc3QKTGludXgtbnZtZUBs aXN0cy5pbmZyYWRlYWQub3JnCmh0dHA6Ly9saXN0cy5pbmZyYWRlYWQub3JnL21haWxtYW4vbGlz dGluZm8vbGludXgtbnZtZQo=