From mboxrd@z Thu Jan 1 00:00:00 1970 From: Oscar Mateo Subject: [RFC] drm/i915/guc: Smurf the GuC context Date: Fri, 24 Feb 2017 06:33:55 -0800 Message-ID: <1487946835-32238-1-git-send-email-oscar.mateo@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) by gabe.freedesktop.org (Postfix) with ESMTPS id B9DCF6ED2A for ; Fri, 24 Feb 2017 22:33:57 +0000 (UTC) List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org V2hpbGUgdHJ5aW5nIHRvIGdldCB1cCB0byBzcGVlZCB3aXRoIHRoZSBHdUMsIHRoZSB0aGluZyB0 aGF0IGJvdGhlcnMgbWUgdGhlCm1vc3QgaXMgdGhhdCB3ZSBoYXZlIHNvIG1hbnkgdGhpbmdzIGNh bGxlZCAiY29udGV4dCIgaW4gdGhlIGRyaXZlciwgdGhhdCB3aGVuCkkgdGFsayB3aXRoIHNvbWVv bmUgYWJvdXQgaXQgd2UgaW52YXJpYWJseSBlbmQgdXAgc291bmRpbmcgbGlrZSBUaGUgU211cmZz Cih1cGRhdGUgdGhlIGNvbnRleHQgSUQgaW4gdGhlIEd1QyBjb250ZXh0IHNvIHRoYXQgdGhlIEhX IGNvbnRleHQgZ2V0cyBzdWJtaXR0ZWQKY29ycmVjdGx5ISIpLgoKQ3VycmVudGx5LCB3ZSBoYXZl IHRoZSBmb2xsb3dpbmcgc3RydWN0cyBpbiBvdXIgZHJpdmVyOgoKR0VNIGNvbnRleHRzIChpOTE1 X2dlbV9jb250ZXh0KQpIVyBjb250ZXh0cyAoaW50ZWxfY29udGV4dCkKR3VDIGV4ZWNsaXN0IGNv bnRleHRzIChndWNfZXhlY2xpc3RfY29udGV4dCkKR3VDIGNvbnRleHRzIChndWNfY3R4X2Rlc2Mp CgpUaGUgZmlyc3QgdGhyZWUgYXJlIGFsbCBzb21laG93IHJlbGF0ZWQsIHdoaWxlIHRoZSBmb3Vy dGggb25lIGlzIGEgY29tcGxldGVseQpkaWZmZXJlbnQgdGhpbmcgKHJlbGF0ZWQgdG8gR3VDIHN0 YXRlLCBpbnN0ZWFkIG9mIEhXIHN0YXRlKS4KClRoaXMgcGF0Y2ggdHJpZXMgdG8gYXZvaWQgdGhp cyBzaXR1YXRpb24gYnkgcmVuYW1pbmcgdGhlIEd1QyBjb250ZXh0IChhbmQgYWxsCnJlbGF0ZWQg ZmllbGRzKSB3aXRoIHNvbWV0aGluZyBkaWZmZXJlbnQuIE9idmlvdXNseSwgInNtdXJmIiBpcyBq dXN0IGFuIGF0dGVtcHQKdG8gc3BhcmsgdGhlIGRpY3Vzc2lvbiwgc28gdGhhdCB3ZSBjYW4gZmlu ZCB0aGUgcmlnaHQgbmFtZSAoInN1Ym1pdHRlciI/ICJzdGF0ZSI/CiJpbnRlcmZhY2UiKT8KCkNj OiBEYW5pZWxlIENlcmFvbG8gU3B1cmlvIDxkYW5pZWxlLmNlcmFvbG9zcHVyaW9AaW50ZWwuY29t PgpTaWduZWQtb2ZmLWJ5OiBPc2NhciBNYXRlbyA8b3NjYXIubWF0ZW9AaW50ZWwuY29tPgotLS0K IGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZGVidWdmcy5jICAgICAgICB8ICAgNCArLQogZHJp dmVycy9ncHUvZHJtL2k5MTUvaTkxNV9ndWNfc3VibWlzc2lvbi5jIHwgMTEwICsrKysrKysrKysr KysrKystLS0tLS0tLS0tLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9ndWNfZndpZi5o ICAgICAgfCAgMzQgKysrKy0tLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9ndWNfbG9h ZGVyLmMgICAgfCAgIDQgKy0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3VjLmggICAgICAg ICAgICB8ICAgNiArLQogNSBmaWxlcyBjaGFuZ2VkLCA4NCBpbnNlcnRpb25zKCspLCA3NCBkZWxl dGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2RlYnVnZnMu YyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZGVidWdmcy5jCmluZGV4IDY1NWU2MGQuLmU2 Yzg1M2YgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZGVidWdmcy5jCisr KyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZGVidWdmcy5jCkBAIC0yNDk1LDggKzI0OTUs OCBAQCBzdGF0aWMgdm9pZCBpOTE1X2d1Y19jbGllbnRfaW5mbyhzdHJ1Y3Qgc2VxX2ZpbGUgKm0s CiAJZW51bSBpbnRlbF9lbmdpbmVfaWQgaWQ7CiAJdWludDY0X3QgdG90ID0gMDsKIAotCXNlcV9w cmludGYobSwgIlx0UHJpb3JpdHkgJWQsIEd1QyBjdHggaW5kZXg6ICV1LCBQRCBvZmZzZXQgMHgl eFxuIiwKLQkJY2xpZW50LT5wcmlvcml0eSwgY2xpZW50LT5jdHhfaW5kZXgsIGNsaWVudC0+cHJv Y19kZXNjX29mZnNldCk7CisJc2VxX3ByaW50ZihtLCAiXHRQcmlvcml0eSAlZCwgR3VDIHNtdXJm IGluZGV4OiAldSwgUEQgb2Zmc2V0IDB4JXhcbiIsCisJCWNsaWVudC0+cHJpb3JpdHksIGNsaWVu dC0+c211cmZfaW5kZXgsIGNsaWVudC0+cHJvY19kZXNjX29mZnNldCk7CiAJc2VxX3ByaW50Ziht LCAiXHREb29yYmVsbCBpZCAlZCwgb2Zmc2V0OiAweCV4LCBjb29raWUgMHgleFxuIiwKIAkJY2xp ZW50LT5kb29yYmVsbF9pZCwgY2xpZW50LT5kb29yYmVsbF9vZmZzZXQsIGNsaWVudC0+ZG9vcmJl bGxfY29va2llKTsKIAlzZXFfcHJpbnRmKG0sICJcdFdRIHNpemUgJWQsIG9mZnNldDogMHgleCwg dGFpbCAlZFxuIiwKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ3VjX3N1 Ym1pc3Npb24uYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ3VjX3N1Ym1pc3Npb24uYwpp bmRleCBiZWVjODhhLi5mOWI1ZWY5IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p OTE1X2d1Y19zdWJtaXNzaW9uLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9ndWNf c3VibWlzc2lvbi5jCkBAIC0yOCwxNiArMjgsMjcgQEAKIC8qKgogICogRE9DOiBHdUMtYmFzZWQg Y29tbWFuZCBzdWJtaXNzaW9uCiAgKgotICogaTkxNV9ndWNfY2xpZW50OgotICogV2UgdXNlIHRo ZSB0ZXJtIGNsaWVudCB0byBhdm9pZCBjb25mdXNpb24gd2l0aCBjb250ZXh0cy4gQSBpOTE1X2d1 Y19jbGllbnQgaXMKLSAqIGVxdWl2YWxlbnQgdG8gR3VDIG9iamVjdCBndWNfY29udGV4dF9kZXNj LiBUaGlzIGNvbnRleHQgZGVzY3JpcHRvciBpcwotICogYWxsb2NhdGVkIGZyb20gYSBwb29sIG9m IDEwMjQgZW50cmllcy4gS2VybmVsIGRyaXZlciB3aWxsIGFsbG9jYXRlIGRvb3JiZWxsCi0gKiBh bmQgd29ya3F1ZXVlIGZvciBpdC4gQWxzbyB0aGUgcHJvY2VzcyBkZXNjcmlwdG9yIChndWNfcHJv Y2Vzc19kZXNjKSwgd2hpY2gKLSAqIGlzIG1hcHBlZCB0byBjbGllbnQgc3BhY2UuIFNvIHRoZSBj bGllbnQgY2FuIHdyaXRlIFdvcmsgSXRlbSB0aGVuIHJpbmcgdGhlCi0gKiBkb29yYmVsbC4KKyAq IEd1QyBjbGllbnQ6CisgKiBBIGk5MTVfZ3VjX2NsaWVudCByZWZlcnMgdG8gYSB1bmlxdWUgdXNl ciBvZiB0aGUgR3VDLiBDdXJyZW50bHksIHRoZXJlIGlzCisgKiBvbmx5IG9uZSBvZiB0aGVzZSAo dGhlIGV4ZWNidWZfY2xpZW50KSBhbmQgdGhpcyBvbmUgaXMgY2hhcmdlZCB3aXRoIGFsbAorICog c3VibWlzc2lvbnMgdG8gdGhlIEd1Qy4gVGhpcyBzdHJ1Y3QgaXMgdGhlIG93bmVyIG9mIGEgZG9v cmJlbGwsIGEgcHJvY2VzcworICogZGVzY3JpcHRvciBhbmQgYSB3b3JrcXVldWUgKGFsbCBvZiB0 aGVtIGluc2lkZSBhIHNpbmdsZSBnZW0gb2JqZWN0IHRoYXQKKyAqIGNvbnRhaW5zIGFsbCByZXF1 aXJlZCBwYWdlcyBmb3IgdGhlc2UgZWxlbWVudHMpLgogICoKLSAqIFRvIHNpbXBsaWZ5IHRoZSBp bXBsZW1lbnRhdGlvbiwgd2UgYWxsb2NhdGUgb25lIGdlbSBvYmplY3QgdGhhdCBjb250YWlucyBh bGwKLSAqIHBhZ2VzIGZvciBkb29yYmVsbCwgcHJvY2VzcyBkZXNjcmlwdG9yIGFuZCB3b3JrcXVl dWUuCisgKiBTbXVyZiBkZXNjcmlwdG9yOgorICogVGVjaG5pY2FsbHksIHRoaXMgaXMga25vd24g YXMgYSAiR3VDIENvbnRleHQiIGRlc2NyaXB0b3IgaW4gdGhlIHNwZWNzLCBidXQgd2UKKyAqIHVz ZSB0aGUgdGVybSBzbXVyZiB0byBhdm9pZCBjb25mdXNpb24gd2l0aCBhbGwgdGhlIG90aGVyIHRo aW5ncyBhbHJlYWR5CisgKiBuYW1lZCAiY29udGV4dCIgaW4gdGhlIGRyaXZlci4gRHVyaW5nIGlu aXRpYWxpemF0aW9uLCB0aGUgZHJpdmVyIGFsbG9jYXRlcyBhCisgKiBzdGF0aWMgcG9vbCBvZiAx MDI0IHN1Y2ggZGVzY3JpcHRvcnMsIGFuZCBzaGFyZXMgdGhlbSB3aXRoIHRoZSBHdUMuCisgKiBD dXJyZW50bHksIHRoZXJlIGV4aXN0cyBhIDE6MSBtYXBwaW5nIGJldHdlZW4gYSBpOTE1X2d1Y19j bGllbnQgYW5kIGEKKyAqIGd1Y19zbXVyZl9kZXNjICh2aWEgdGhlIGNsaWVudCdzIHNtdXJmX2lu ZGV4KSwgc28gZWZmZWN0aXZlbHkgb25seQorICogb25lIGd1Y19zbXVyZl9kZXNjIGdldHMgdXNl ZCAoc2luY2Ugd2Ugb25seSBoYXZlIG9uZSBjbGllbnQgYXQgdGhlCisgKiBtb21lbnQpLiBUaGlz IHNtdXJmIGRlc2NyaXB0b3IgbGV0cyB0aGUgR3VDIGtub3cgYWJvdXQgdGhlIGRvb3JiZWxsIGFu ZAorICogd29ya3F1ZXVlLiBUaGVvcmV0aWNhbGx5LCBpdCBhbHNvIGxldHMgdGhlIEd1QyBrbm93 IGFib3V0IHRoZSBMUkMsIGJ1dCB3ZQorICogZW1wbG95IGEga2luZCBvZiBwcm94eSBzdWJtaXNz aW9uIHdoZXJlIHRoZSBMUkMgb2YgdGhlIHdvcmtsb2FkIHRvIGJlCisgKiBzdWJtaXR0ZWQgaXMg c2VudCB2aWEgdGhlIHdvcmsgaXRlbSBpbnN0ZWFkICh0aGUgc2luZ2xlIGd1Y19zbXVyZl9kZXNj CisgKiBhc3NvY2lhdGVkIHRvIGV4ZWNidWYgY2xpZW50IGNvbnRhaW5zIHRoZSBMUkNzIG9mIHRo ZSBkZWZhdWx0IGtlcm5lbCBjb250ZXh0LAorICogYnV0IHRoZXNlIGFyZSBlc3NlbnRpYWxseSB1 bnVzZWQpLgogICoKICAqIFRoZSBTY3JhdGNoIHJlZ2lzdGVyczoKICAqIFRoZXJlIGFyZSAxNiBN TUlPLWJhc2VkIHJlZ2lzdGVycyBzdGFydCBmcm9tIDB4QzE4MC4gVGhlIGtlcm5lbCBkcml2ZXIg d3JpdGVzCkBAIC01Miw3ICs2Myw3IEBACiAgKiBEb29yYmVsbHMgYXJlIGludGVycnVwdHMgdG8g dUtlcm5lbC4gQSBkb29yYmVsbCBpcyBhIHNpbmdsZSBjYWNoZSBsaW5lIChRVykKICAqIG1hcHBl ZCBpbnRvIHByb2Nlc3Mgc3BhY2UuCiAgKgotICogV29yayBJdGVtczoKKyAqIFdvcmtxdWV1ZToK ICAqIFRoZXJlIGFyZSBzZXZlcmFsIHR5cGVzIG9mIHdvcmsgaXRlbXMgdGhhdCB0aGUgaG9zdCBt YXkgcGxhY2UgaW50byBhCiAgKiB3b3JrcXVldWUsIGVhY2ggd2l0aCBpdHMgb3duIHJlcXVpcmVt ZW50cyBhbmQgbGltaXRhdGlvbnMuIEN1cnJlbnRseSBvbmx5CiAgKiBXUV9UWVBFX0lOT1JERVIg aXMgbmVlZGVkIHRvIHN1cHBvcnQgbGVnYWN5IHN1Ym1pc3Npb24gdmlhIEd1Qywgd2hpY2gKQEAg LTcxLDcgKzgyLDcgQEAgc3RhdGljIGludCBndWNfYWxsb2NhdGVfZG9vcmJlbGwoc3RydWN0IGlu dGVsX2d1YyAqZ3VjLAogewogCXUzMiBhY3Rpb25bXSA9IHsKIAkJSU5URUxfR1VDX0FDVElPTl9B TExPQ0FURV9ET09SQkVMTCwKLQkJY2xpZW50LT5jdHhfaW5kZXgKKwkJY2xpZW50LT5zbXVyZl9p bmRleAogCX07CiAKIAlyZXR1cm4gaW50ZWxfZ3VjX3NlbmQoZ3VjLCBhY3Rpb24sIEFSUkFZX1NJ WkUoYWN0aW9uKSk7CkBAIC04Miw3ICs5Myw3IEBAIHN0YXRpYyBpbnQgZ3VjX3JlbGVhc2VfZG9v cmJlbGwoc3RydWN0IGludGVsX2d1YyAqZ3VjLAogewogCXUzMiBhY3Rpb25bXSA9IHsKIAkJSU5U RUxfR1VDX0FDVElPTl9ERUFMTE9DQVRFX0RPT1JCRUxMLAotCQljbGllbnQtPmN0eF9pbmRleAor CQljbGllbnQtPnNtdXJmX2luZGV4CiAJfTsKIAogCXJldHVybiBpbnRlbF9ndWNfc2VuZChndWMs IGFjdGlvbiwgQVJSQVlfU0laRShhY3Rpb24pKTsKQEAgLTk5LDEwICsxMTAsMTAgQEAgc3RhdGlj IGludCBndWNfdXBkYXRlX2Rvb3JiZWxsX2lkKHN0cnVjdCBpbnRlbF9ndWMgKmd1YywKIAkJCQkg IHN0cnVjdCBpOTE1X2d1Y19jbGllbnQgKmNsaWVudCwKIAkJCQkgIHUxNiBuZXdfaWQpCiB7Ci0J c3RydWN0IHNnX3RhYmxlICpzZyA9IGd1Yy0+Y3R4X3Bvb2xfdm1hLT5wYWdlczsKKwlzdHJ1Y3Qg c2dfdGFibGUgKnNnID0gZ3VjLT5zbXVyZl9wb29sX3ZtYS0+cGFnZXM7CiAJdm9pZCAqZG9vcmJl bGxfYml0bWFwID0gZ3VjLT5kb29yYmVsbF9iaXRtYXA7CiAJc3RydWN0IGd1Y19kb29yYmVsbF9p bmZvICpkb29yYmVsbDsKLQlzdHJ1Y3QgZ3VjX2NvbnRleHRfZGVzYyBkZXNjOworCXN0cnVjdCBn dWNfc211cmZfZGVzYyBkZXNjOwogCXNpemVfdCBsZW47CiAKIAlkb29yYmVsbCA9IGNsaWVudC0+ dmFkZHIgKyBjbGllbnQtPmRvb3JiZWxsX29mZnNldDsKQEAgLTExNywxMiArMTI4LDEyIEBAIHN0 YXRpYyBpbnQgZ3VjX3VwZGF0ZV9kb29yYmVsbF9pZChzdHJ1Y3QgaW50ZWxfZ3VjICpndWMsCiAK IAkvKiBVcGRhdGUgdGhlIEd1QydzIGlkZWEgb2YgdGhlIGRvb3JiZWxsIElEICovCiAJbGVuID0g c2dfcGNvcHlfdG9fYnVmZmVyKHNnLT5zZ2wsIHNnLT5uZW50cywgJmRlc2MsIHNpemVvZihkZXNj KSwKLQkJCSAgICAgc2l6ZW9mKGRlc2MpICogY2xpZW50LT5jdHhfaW5kZXgpOworCQkJICAgICBz aXplb2YoZGVzYykgKiBjbGllbnQtPnNtdXJmX2luZGV4KTsKIAlpZiAobGVuICE9IHNpemVvZihk ZXNjKSkKIAkJcmV0dXJuIC1FRkFVTFQ7CiAJZGVzYy5kYl9pZCA9IG5ld19pZDsKIAlsZW4gPSBz Z19wY29weV9mcm9tX2J1ZmZlcihzZy0+c2dsLCBzZy0+bmVudHMsICZkZXNjLCBzaXplb2YoZGVz YyksCi0JCQkgICAgIHNpemVvZihkZXNjKSAqIGNsaWVudC0+Y3R4X2luZGV4KTsKKwkJCSAgICAg c2l6ZW9mKGRlc2MpICogY2xpZW50LT5zbXVyZl9pbmRleCk7CiAJaWYgKGxlbiAhPSBzaXplb2Yo ZGVzYykpCiAJCXJldHVybiAtRUZBVUxUOwogCkBAIC0yMTcsNyArMjI4LDcgQEAgc3RhdGljIHZv aWQgZ3VjX3Byb2NfZGVzY19pbml0KHN0cnVjdCBpbnRlbF9ndWMgKmd1YywKIAlkZXNjLT53cV9i YXNlX2FkZHIgPSAwOwogCWRlc2MtPmRiX2Jhc2VfYWRkciA9IDA7CiAKLQlkZXNjLT5jb250ZXh0 X2lkID0gY2xpZW50LT5jdHhfaW5kZXg7CisJZGVzYy0+c211cmZfaWQgPSBjbGllbnQtPnNtdXJm X2luZGV4OwogCWRlc2MtPndxX3NpemVfYnl0ZXMgPSBjbGllbnQtPndxX3NpemU7CiAJZGVzYy0+ d3Ffc3RhdHVzID0gV1FfU1RBVFVTX0FDVElWRTsKIAlkZXNjLT5wcmlvcml0eSA9IGNsaWVudC0+ cHJpb3JpdHk7CkBAIC0yMzEsMjEgKzI0MiwyMSBAQCBzdGF0aWMgdm9pZCBndWNfcHJvY19kZXNj X2luaXQoc3RydWN0IGludGVsX2d1YyAqZ3VjLAogICogd3JpdGUgcXVldWUsIGV0YykuCiAgKi8K IAotc3RhdGljIHZvaWQgZ3VjX2N0eF9kZXNjX2luaXQoc3RydWN0IGludGVsX2d1YyAqZ3VjLAor c3RhdGljIHZvaWQgZ3VjX3NtdXJmX2Rlc2NfaW5pdChzdHJ1Y3QgaW50ZWxfZ3VjICpndWMsCiAJ CQkgICAgICBzdHJ1Y3QgaTkxNV9ndWNfY2xpZW50ICpjbGllbnQpCiB7CiAJc3RydWN0IGRybV9p OTE1X3ByaXZhdGUgKmRldl9wcml2ID0gZ3VjX3RvX2k5MTUoZ3VjKTsKIAlzdHJ1Y3QgaW50ZWxf ZW5naW5lX2NzICplbmdpbmU7CiAJc3RydWN0IGk5MTVfZ2VtX2NvbnRleHQgKmN0eCA9IGNsaWVu dC0+b3duZXI7Ci0Jc3RydWN0IGd1Y19jb250ZXh0X2Rlc2MgZGVzYzsKKwlzdHJ1Y3QgZ3VjX3Nt dXJmX2Rlc2MgZGVzYzsKIAlzdHJ1Y3Qgc2dfdGFibGUgKnNnOwogCXVuc2lnbmVkIGludCB0bXA7 CiAJdTMyIGdmeF9hZGRyOwogCiAJbWVtc2V0KCZkZXNjLCAwLCBzaXplb2YoZGVzYykpOwogCi0J ZGVzYy5hdHRyaWJ1dGUgPSBHVUNfQ1RYX0RFU0NfQVRUUl9BQ1RJVkUgfCBHVUNfQ1RYX0RFU0Nf QVRUUl9LRVJORUw7Ci0JZGVzYy5jb250ZXh0X2lkID0gY2xpZW50LT5jdHhfaW5kZXg7CisJZGVz Yy5hdHRyaWJ1dGUgPSBHVUNfU01VUkZfREVTQ19BVFRSX0FDVElWRSB8IEdVQ19TTVVSRl9ERVND X0FUVFJfS0VSTkVMOworCWRlc2Muc211cmZfaWQgPSBjbGllbnQtPnNtdXJmX2luZGV4OwogCWRl c2MucHJpb3JpdHkgPSBjbGllbnQtPnByaW9yaXR5OwogCWRlc2MuZGJfaWQgPSBjbGllbnQtPmRv b3JiZWxsX2lkOwogCkBAIC0yNjcsMTAgKzI3OCwxMSBAQCBzdGF0aWMgdm9pZCBndWNfY3R4X2Rl c2NfaW5pdChzdHJ1Y3QgaW50ZWxfZ3VjICpndWMsCiAJCWxyYy0+Y29udGV4dF9kZXNjID0gbG93 ZXJfMzJfYml0cyhjZS0+bHJjX2Rlc2MpOwogCiAJCS8qIFRoZSBzdGF0ZSBwYWdlIGlzIGFmdGVy IFBQSFdTUCAqLwotCQlscmMtPnJpbmdfbGNyYSA9CisJCWxyYy0+cmluZ19scmNhID0KIAkJCWd1 Y19nZ3R0X29mZnNldChjZS0+c3RhdGUpICsgTFJDX1NUQVRFX1BOICogUEFHRV9TSVpFOwotCQls cmMtPmNvbnRleHRfaWQgPSAoY2xpZW50LT5jdHhfaW5kZXggPDwgR1VDX0VMQ19DVFhJRF9PRkZT RVQpIHwKLQkJCQkoZ3VjX2VuZ2luZV9pZCA8PCBHVUNfRUxDX0VOR0lORV9PRkZTRVQpOworCQls cmMtPnNtdXJmX2FuZF9lbmdpbmVfaWQgPQorCQkJKGNsaWVudC0+c211cmZfaW5kZXggPDwgR1VD X0VMQ19TTVVSRl9JRF9PRkZTRVQpIHwKKwkJCShndWNfZW5naW5lX2lkIDw8IEdVQ19FTENfRU5H SU5FX09GRlNFVCk7CiAKIAkJbHJjLT5yaW5nX2JlZ2luID0gZ3VjX2dndHRfb2Zmc2V0KGNlLT5y aW5nLT52bWEpOwogCQlscmMtPnJpbmdfZW5kID0gbHJjLT5yaW5nX2JlZ2luICsgY2UtPnJpbmct PnNpemUgLSAxOwpAQCAtMzA1LDIyICszMTcsMjIgQEAgc3RhdGljIHZvaWQgZ3VjX2N0eF9kZXNj X2luaXQoc3RydWN0IGludGVsX2d1YyAqZ3VjLAogCWRlc2MuZGVzY19wcml2YXRlID0gKHVpbnRw dHJfdCljbGllbnQ7CiAKIAkvKiBQb29sIGNvbnRleHQgaXMgcGlubmVkIGFscmVhZHkgKi8KLQlz ZyA9IGd1Yy0+Y3R4X3Bvb2xfdm1hLT5wYWdlczsKKwlzZyA9IGd1Yy0+c211cmZfcG9vbF92bWEt PnBhZ2VzOwogCXNnX3Bjb3B5X2Zyb21fYnVmZmVyKHNnLT5zZ2wsIHNnLT5uZW50cywgJmRlc2Ms IHNpemVvZihkZXNjKSwKLQkJCSAgICAgc2l6ZW9mKGRlc2MpICogY2xpZW50LT5jdHhfaW5kZXgp OworCQkJICAgICBzaXplb2YoZGVzYykgKiBjbGllbnQtPnNtdXJmX2luZGV4KTsKIH0KIAotc3Rh dGljIHZvaWQgZ3VjX2N0eF9kZXNjX2Zpbmkoc3RydWN0IGludGVsX2d1YyAqZ3VjLAorc3RhdGlj IHZvaWQgZ3VjX3NtdXJmX2Rlc2NfZmluaShzdHJ1Y3QgaW50ZWxfZ3VjICpndWMsCiAJCQkgICAg ICBzdHJ1Y3QgaTkxNV9ndWNfY2xpZW50ICpjbGllbnQpCiB7Ci0Jc3RydWN0IGd1Y19jb250ZXh0 X2Rlc2MgZGVzYzsKKwlzdHJ1Y3QgZ3VjX3NtdXJmX2Rlc2MgZGVzYzsKIAlzdHJ1Y3Qgc2dfdGFi bGUgKnNnOwogCiAJbWVtc2V0KCZkZXNjLCAwLCBzaXplb2YoZGVzYykpOwogCi0Jc2cgPSBndWMt PmN0eF9wb29sX3ZtYS0+cGFnZXM7CisJc2cgPSBndWMtPnNtdXJmX3Bvb2xfdm1hLT5wYWdlczsK IAlzZ19wY29weV9mcm9tX2J1ZmZlcihzZy0+c2dsLCBzZy0+bmVudHMsICZkZXNjLCBzaXplb2Yo ZGVzYyksCi0JCQkgICAgIHNpemVvZihkZXNjKSAqIGNsaWVudC0+Y3R4X2luZGV4KTsKKwkJCSAg ICAgc2l6ZW9mKGRlc2MpICogY2xpZW50LT5zbXVyZl9pbmRleCk7CiB9CiAKIC8qKgpAQCAtNjEy LDkgKzYyNCw5IEBAIHN0cnVjdCBpOTE1X3ZtYSAqaW50ZWxfZ3VjX2FsbG9jYXRlX3ZtYShzdHJ1 Y3QgaW50ZWxfZ3VjICpndWMsIHUzMiBzaXplKQogCiAJaTkxNV92bWFfdW5waW5fYW5kX3JlbGVh c2UoJmNsaWVudC0+dm1hKTsKIAotCWlmIChjbGllbnQtPmN0eF9pbmRleCAhPSBHVUNfSU5WQUxJ RF9DVFhfSUQpIHsKLQkJZ3VjX2N0eF9kZXNjX2ZpbmkoZ3VjLCBjbGllbnQpOwotCQlpZGFfc2lt cGxlX3JlbW92ZSgmZ3VjLT5jdHhfaWRzLCBjbGllbnQtPmN0eF9pbmRleCk7CisJaWYgKGNsaWVu dC0+c211cmZfaW5kZXggIT0gR1VDX0lOVkFMSURfU01VUkZfSUQpIHsKKwkJZ3VjX3NtdXJmX2Rl c2NfZmluaShndWMsIGNsaWVudCk7CisJCWlkYV9zaW1wbGVfcmVtb3ZlKCZndWMtPnNtdXJmX2lk cywgY2xpZW50LT5zbXVyZl9pbmRleCk7CiAJfQogCiAJa2ZyZWUoY2xpZW50KTsKQEAgLTcxMCwx MCArNzIyLDEwIEBAIHN0YXRpYyB2b2lkIGd1Y19pbml0X2Rvb3JiZWxsX2h3KHN0cnVjdCBpbnRl bF9ndWMgKmd1YykKIAljbGllbnQtPnByaW9yaXR5ID0gcHJpb3JpdHk7CiAJY2xpZW50LT5kb29y YmVsbF9pZCA9IEdVQ19JTlZBTElEX0RPT1JCRUxMX0lEOwogCi0JY2xpZW50LT5jdHhfaW5kZXgg PSAodWludDMyX3QpaWRhX3NpbXBsZV9nZXQoJmd1Yy0+Y3R4X2lkcywgMCwKLQkJCUdVQ19NQVhf R1BVX0NPTlRFWFRTLCBHRlBfS0VSTkVMKTsKLQlpZiAoY2xpZW50LT5jdHhfaW5kZXggPj0gR1VD X01BWF9HUFVfQ09OVEVYVFMpIHsKLQkJY2xpZW50LT5jdHhfaW5kZXggPSBHVUNfSU5WQUxJRF9D VFhfSUQ7CisJY2xpZW50LT5zbXVyZl9pbmRleCA9ICh1aW50MzJfdClpZGFfc2ltcGxlX2dldCgm Z3VjLT5zbXVyZl9pZHMsIDAsCisJCQlHVUNfTUFYX0dQVV9TTVVSRlMsIEdGUF9LRVJORUwpOwor CWlmIChjbGllbnQtPnNtdXJmX2luZGV4ID49IEdVQ19NQVhfR1BVX1NNVVJGUykgeworCQljbGll bnQtPnNtdXJmX2luZGV4ID0gR1VDX0lOVkFMSURfU01VUkZfSUQ7CiAJCWdvdG8gZXJyOwogCX0K IApAQCAtNzUzLDcgKzc2NSw3IEBAIHN0YXRpYyB2b2lkIGd1Y19pbml0X2Rvb3JiZWxsX2h3KHN0 cnVjdCBpbnRlbF9ndWMgKmd1YykKIAkJY2xpZW50LT5wcm9jX2Rlc2Nfb2Zmc2V0ID0gKEdVQ19E Ql9TSVpFIC8gMik7CiAKIAlndWNfcHJvY19kZXNjX2luaXQoZ3VjLCBjbGllbnQpOwotCWd1Y19j dHhfZGVzY19pbml0KGd1YywgY2xpZW50KTsKKwlndWNfc211cmZfZGVzY19pbml0KGd1YywgY2xp ZW50KTsKIAogCS8qIEZvciBydW50aW1lIGNsaWVudCBhbGxvY2F0aW9uIHdlIG5lZWQgdG8gZW5h YmxlIHRoZSBkb29yYmVsbC4gTm90CiAJICogcmVxdWlyZWQgeWV0IGZvciB0aGUgc3RhdGljIGV4 ZWNidWZfY2xpZW50IGFzIHRoaXMgc3BlY2lhbCBrZXJuZWwKQEAgLTc2Miw4ICs3NzQsOCBAQCBz dGF0aWMgdm9pZCBndWNfaW5pdF9kb29yYmVsbF9odyhzdHJ1Y3QgaW50ZWxfZ3VjICpndWMpCiAJ ICogZ3VjX3VwZGF0ZV9kb29yYmVsbF9pZChndWMsIGNsaWVudCwgZGJfaWQpOwogCSAqLwogCi0J RFJNX0RFQlVHX0RSSVZFUigibmV3IHByaW9yaXR5ICV1IGNsaWVudCAlcCBmb3IgZW5naW5lKHMp IDB4JXg6IGN0eF9pbmRleCAldVxuIiwKLQkJcHJpb3JpdHksIGNsaWVudCwgY2xpZW50LT5lbmdp bmVzLCBjbGllbnQtPmN0eF9pbmRleCk7CisJRFJNX0RFQlVHX0RSSVZFUigibmV3IHByaW9yaXR5 ICV1IGNsaWVudCAlcCBmb3IgZW5naW5lKHMpIDB4JXg6IHNtdXJmX2luZGV4ICV1XG4iLAorCQlw cmlvcml0eSwgY2xpZW50LCBjbGllbnQtPmVuZ2luZXMsIGNsaWVudC0+c211cmZfaW5kZXgpOwog CURSTV9ERUJVR19EUklWRVIoImRvb3JiZWxsIGlkICV1LCBjYWNoZWxpbmUgb2Zmc2V0IDB4JXhc biIsCiAJCWNsaWVudC0+ZG9vcmJlbGxfaWQsIGNsaWVudC0+ZG9vcmJlbGxfb2Zmc2V0KTsKIApA QCAtODczLDggKzg4NSw4IEBAIHN0YXRpYyB2b2lkIGd1Y19hZGRvbl9jcmVhdGUoc3RydWN0IGlu dGVsX2d1YyAqZ3VjKQogICovCiBpbnQgaTkxNV9ndWNfc3VibWlzc2lvbl9pbml0KHN0cnVjdCBk cm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKIHsKLQljb25zdCBzaXplX3QgY3R4c2l6ZSA9IHNp emVvZihzdHJ1Y3QgZ3VjX2NvbnRleHRfZGVzYyk7Ci0JY29uc3Qgc2l6ZV90IHBvb2xzaXplID0g R1VDX01BWF9HUFVfQ09OVEVYVFMgKiBjdHhzaXplOworCWNvbnN0IHNpemVfdCBjdHhzaXplID0g c2l6ZW9mKHN0cnVjdCBndWNfc211cmZfZGVzYyk7CisJY29uc3Qgc2l6ZV90IHBvb2xzaXplID0g R1VDX01BWF9HUFVfU01VUkZTICogY3R4c2l6ZTsKIAljb25zdCBzaXplX3QgZ2Vtc2l6ZSA9IHJv dW5kX3VwKHBvb2xzaXplLCBQQUdFX1NJWkUpOwogCXN0cnVjdCBpbnRlbF9ndWMgKmd1YyA9ICZk ZXZfcHJpdi0+Z3VjOwogCXN0cnVjdCBpOTE1X3ZtYSAqdm1hOwpAQCAtODg5LDE1ICs5MDEsMTUg QEAgaW50IGk5MTVfZ3VjX3N1Ym1pc3Npb25faW5pdChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAq ZGV2X3ByaXYpCiAJaWYgKCFpOTE1LmVuYWJsZV9ndWNfc3VibWlzc2lvbikKIAkJcmV0dXJuIDA7 IC8qIG5vdCBlbmFibGVkICAqLwogCi0JaWYgKGd1Yy0+Y3R4X3Bvb2xfdm1hKQorCWlmIChndWMt PnNtdXJmX3Bvb2xfdm1hKQogCQlyZXR1cm4gMDsgLyogYWxyZWFkeSBhbGxvY2F0ZWQgKi8KIAog CXZtYSA9IGludGVsX2d1Y19hbGxvY2F0ZV92bWEoZ3VjLCBnZW1zaXplKTsKIAlpZiAoSVNfRVJS KHZtYSkpCiAJCXJldHVybiBQVFJfRVJSKHZtYSk7CiAKLQlndWMtPmN0eF9wb29sX3ZtYSA9IHZt YTsKLQlpZGFfaW5pdCgmZ3VjLT5jdHhfaWRzKTsKKwlndWMtPnNtdXJmX3Bvb2xfdm1hID0gdm1h OworCWlkYV9pbml0KCZndWMtPnNtdXJmX2lkcyk7CiAJaW50ZWxfZ3VjX2xvZ19jcmVhdGUoZ3Vj KTsKIAlndWNfYWRkb25fY3JlYXRlKGd1Yyk7CiAKQEAgLTk4NSw5ICs5OTcsOSBAQCB2b2lkIGk5 MTVfZ3VjX3N1Ym1pc3Npb25fZmluaShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYp CiAJaTkxNV92bWFfdW5waW5fYW5kX3JlbGVhc2UoJmd1Yy0+YWRzX3ZtYSk7CiAJaTkxNV92bWFf dW5waW5fYW5kX3JlbGVhc2UoJmd1Yy0+bG9nLnZtYSk7CiAKLQlpZiAoZ3VjLT5jdHhfcG9vbF92 bWEpCi0JCWlkYV9kZXN0cm95KCZndWMtPmN0eF9pZHMpOwotCWk5MTVfdm1hX3VucGluX2FuZF9y ZWxlYXNlKCZndWMtPmN0eF9wb29sX3ZtYSk7CisJaWYgKGd1Yy0+c211cmZfcG9vbF92bWEpCisJ CWlkYV9kZXN0cm95KCZndWMtPnNtdXJmX2lkcyk7CisJaTkxNV92bWFfdW5waW5fYW5kX3JlbGVh c2UoJmd1Yy0+c211cmZfcG9vbF92bWEpOwogfQogCiAvKioKQEAgLTEwNDIsNSArMTA1NCwzIEBA IGludCBpbnRlbF9ndWNfcmVzdW1lKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikK IAogCXJldHVybiBpbnRlbF9ndWNfc2VuZChndWMsIGRhdGEsIEFSUkFZX1NJWkUoZGF0YSkpOwog fQotCi0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2d1Y19md2lmLmgg Yi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9ndWNfZndpZi5oCmluZGV4IDI1NjkxZjAuLmUy YThhN2IgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2d1Y19md2lmLmgK KysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZ3VjX2Z3aWYuaApAQCAtMzIsOCArMzIs OCBAQAogI2RlZmluZSBHVUNfQ1RYX1BSSU9SSVRZX05PUk1BTAkJMwogI2RlZmluZSBHVUNfQ1RY X1BSSU9SSVRZX05VTQkJNAogCi0jZGVmaW5lIEdVQ19NQVhfR1BVX0NPTlRFWFRTCQkxMDI0Ci0j ZGVmaW5lCUdVQ19JTlZBTElEX0NUWF9JRAkJR1VDX01BWF9HUFVfQ09OVEVYVFMKKyNkZWZpbmUg R1VDX01BWF9HUFVfU01VUkZTCQkxMDI0CisjZGVmaW5lCUdVQ19JTlZBTElEX1NNVVJGX0lECUdV Q19NQVhfR1BVX1NNVVJGUwogCiAjZGVmaW5lIEdVQ19SRU5ERVJfRU5HSU5FCQkwCiAjZGVmaW5l IEdVQ19WSURFT19FTkdJTkUJCTEKQEAgLTY4LDE0ICs2OCwxNCBAQAogI2RlZmluZSBHVUNfRE9P UkJFTExfRU5BQkxFRAkJMQogI2RlZmluZSBHVUNfRE9PUkJFTExfRElTQUJMRUQJCTAKIAotI2Rl ZmluZSBHVUNfQ1RYX0RFU0NfQVRUUl9BQ1RJVkUJKDEgPDwgMCkKLSNkZWZpbmUgR1VDX0NUWF9E RVNDX0FUVFJfUEVORElOR19EQgkoMSA8PCAxKQotI2RlZmluZSBHVUNfQ1RYX0RFU0NfQVRUUl9L RVJORUwJKDEgPDwgMikKLSNkZWZpbmUgR1VDX0NUWF9ERVNDX0FUVFJfUFJFRU1QVAkoMSA8PCAz KQotI2RlZmluZSBHVUNfQ1RYX0RFU0NfQVRUUl9SRVNFVAkJKDEgPDwgNCkKLSNkZWZpbmUgR1VD X0NUWF9ERVNDX0FUVFJfV1FMT0NLRUQJKDEgPDwgNSkKLSNkZWZpbmUgR1VDX0NUWF9ERVNDX0FU VFJfUENICQkoMSA8PCA2KQotI2RlZmluZSBHVUNfQ1RYX0RFU0NfQVRUUl9URVJNSU5BVEVECSgx IDw8IDcpCisjZGVmaW5lIEdVQ19TTVVSRl9ERVNDX0FUVFJfQUNUSVZFCSgxIDw8IDApCisjZGVm aW5lIEdVQ19TTVVSRl9ERVNDX0FUVFJfUEVORElOR19EQgkoMSA8PCAxKQorI2RlZmluZSBHVUNf U01VUkZfREVTQ19BVFRSX0tFUk5FTAkoMSA8PCAyKQorI2RlZmluZSBHVUNfU01VUkZfREVTQ19B VFRSX1BSRUVNUFQJKDEgPDwgMykKKyNkZWZpbmUgR1VDX1NNVVJGX0RFU0NfQVRUUl9SRVNFVAkJ KDEgPDwgNCkKKyNkZWZpbmUgR1VDX1NNVVJGX0RFU0NfQVRUUl9XUUxPQ0tFRAkoMSA8PCA1KQor I2RlZmluZSBHVUNfU01VUkZfREVTQ19BVFRSX1BDSAkJKDEgPDwgNikKKyNkZWZpbmUgR1VDX1NN VVJGX0RFU0NfQVRUUl9URVJNSU5BVEVECSgxIDw8IDcpCiAKIC8qIFRoZSBndWMgY29udHJvbCBk YXRhIGlzIDEwIERXT1JEcyAqLwogI2RlZmluZSBHVUNfQ1RMX0NUWElORk8JCQkwCkBAIC0yNTYs NyArMjU2LDcgQEAgc3RydWN0IGd1Y193cV9pdGVtIHsKIH0gX19wYWNrZWQ7CiAKIHN0cnVjdCBn dWNfcHJvY2Vzc19kZXNjIHsKLQl1MzIgY29udGV4dF9pZDsKKwl1MzIgc211cmZfaWQ7CiAJdTY0 IGRiX2Jhc2VfYWRkcjsKIAl1MzIgaGVhZDsKIAl1MzIgdGFpbDsKQEAgLTI3MCwxNSArMjcwLDE1 IEBAIHN0cnVjdCBndWNfcHJvY2Vzc19kZXNjIHsKIH0gX19wYWNrZWQ7CiAKIC8qIGVuZ2luZSBp ZCBhbmQgY29udGV4dCBpZCBpcyBwYWNrZWQgaW50byBndWNfZXhlY2xpc3RfY29udGV4dC5jb250 ZXh0X2lkKi8KLSNkZWZpbmUgR1VDX0VMQ19DVFhJRF9PRkZTRVQJCTAKKyNkZWZpbmUgR1VDX0VM Q19TTVVSRl9JRF9PRkZTRVQJMAogI2RlZmluZSBHVUNfRUxDX0VOR0lORV9PRkZTRVQJCTI5CiAK IC8qIFRoZSBleGVjbGlzdCBjb250ZXh0IGluY2x1ZGluZyBzb2Z0d2FyZSBhbmQgSFcgaW5mb3Jt YXRpb24gKi8KIHN0cnVjdCBndWNfZXhlY2xpc3RfY29udGV4dCB7CiAJdTMyIGNvbnRleHRfZGVz YzsKLQl1MzIgY29udGV4dF9pZDsKKwl1MzIgc211cmZfYW5kX2VuZ2luZV9pZDsKIAl1MzIgcmlu Z19zdGF0dXM7Ci0JdTMyIHJpbmdfbGNyYTsKKwl1MzIgcmluZ19scmNhOwogCXUzMiByaW5nX2Jl Z2luOwogCXUzMiByaW5nX2VuZDsKIAl1MzIgcmluZ19uZXh0X2ZyZWVfbG9jYXRpb247CkBAIC0y ODksMTAgKzI4OSwxMCBAQCBzdHJ1Y3QgZ3VjX2V4ZWNsaXN0X2NvbnRleHQgewogCXUxNiBlbmdp bmVfc3VibWl0X3F1ZXVlX2NvdW50OwogfSBfX3BhY2tlZDsKIAotLypDb250ZXh0IGRlc2NyaXB0 b3IgZm9yIGNvbW11bmljYXRpbmcgYmV0d2VlbiB1S2VybmVsIGFuZCBEcml2ZXIqLwotc3RydWN0 IGd1Y19jb250ZXh0X2Rlc2MgeworLyogU211cmYgZGVzY3JpcHRvciBmb3IgY29tbXVuaWNhdGlu ZyBiZXR3ZWVuIHVLZXJuZWwgYW5kIERyaXZlciAqLworc3RydWN0IGd1Y19zbXVyZl9kZXNjIHsK IAl1MzIgc2NoZWRfY29tbW9uX2FyZWE7Ci0JdTMyIGNvbnRleHRfaWQ7CisJdTMyIHNtdXJmX2lk OwogCXUzMiBwYXNfaWQ7CiAJdTggZW5naW5lc191c2VkOwogCXU2NCBkYl90cmlnZ2VyX2NwdTsK ZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2d1Y19sb2FkZXIuYyBiL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2d1Y19sb2FkZXIuYwppbmRleCA5ODg1Zjc2Li5lMGVl ZTdmIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9ndWNfbG9hZGVyLmMK KysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZ3VjX2xvYWRlci5jCkBAIC0yMjEsOCAr MjIxLDggQEAgc3RhdGljIHZvaWQgZ3VjX3BhcmFtc19pbml0KHN0cnVjdCBkcm1faTkxNV9wcml2 YXRlICpkZXZfcHJpdikKIAogCS8qIElmIEd1QyBzdWJtaXNzaW9uIGlzIGVuYWJsZWQsIHNldCB1 cCBhZGRpdGlvbmFsIHBhcmFtZXRlcnMgaGVyZSAqLwogCWlmIChpOTE1LmVuYWJsZV9ndWNfc3Vi bWlzc2lvbikgewotCQl1MzIgcGdzID0gZ3VjX2dndHRfb2Zmc2V0KGRldl9wcml2LT5ndWMuY3R4 X3Bvb2xfdm1hKTsKLQkJdTMyIGN0eF9pbl8xNiA9IEdVQ19NQVhfR1BVX0NPTlRFWFRTIC8gMTY7 CisJCXUzMiBwZ3MgPSBndWNfZ2d0dF9vZmZzZXQoZGV2X3ByaXYtPmd1Yy5zbXVyZl9wb29sX3Zt YSk7CisJCXUzMiBjdHhfaW5fMTYgPSBHVUNfTUFYX0dQVV9TTVVSRlMgLyAxNjsKIAogCQlwZ3Mg Pj49IFBBR0VfU0hJRlQ7CiAJCXBhcmFtc1tHVUNfQ1RMX0NUWElORk9dID0gKHBncyA8PCBHVUNf Q1RMX0JBU0VfQUREUl9TSElGVCkgfApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUv aW50ZWxfdWMuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3VjLmgKaW5kZXggZDc0ZjRk My4uMDMwNmIxMSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfdWMuaAor KysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF91Yy5oCkBAIC03Miw3ICs3Miw3IEBAIHN0 cnVjdCBpOTE1X2d1Y19jbGllbnQgewogCiAJdWludDMyX3QgZW5naW5lczsJCS8qIGJpdG1hcCBv ZiAoaG9zdCkgZW5naW5lIGlkcwkqLwogCXVpbnQzMl90IHByaW9yaXR5OwotCXVpbnQzMl90IGN0 eF9pbmRleDsKKwl1aW50MzJfdCBzbXVyZl9pbmRleDsKIAl1aW50MzJfdCBwcm9jX2Rlc2Nfb2Zm c2V0OwogCiAJdWludDMyX3QgZG9vcmJlbGxfb2Zmc2V0OwpAQCAtMTU0LDggKzE1NCw4IEBAIHN0 cnVjdCBpbnRlbF9ndWMgewogCWJvb2wgaW50ZXJydXB0c19lbmFibGVkOwogCiAJc3RydWN0IGk5 MTVfdm1hICphZHNfdm1hOwotCXN0cnVjdCBpOTE1X3ZtYSAqY3R4X3Bvb2xfdm1hOwotCXN0cnVj dCBpZGEgY3R4X2lkczsKKwlzdHJ1Y3QgaTkxNV92bWEgKnNtdXJmX3Bvb2xfdm1hOworCXN0cnVj dCBpZGEgc211cmZfaWRzOwogCiAJc3RydWN0IGk5MTVfZ3VjX2NsaWVudCAqZXhlY2J1Zl9jbGll bnQ7CiAKLS0gCjEuOS4xCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3Rv cC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRl bC1nZngK