From mboxrd@z Thu Jan 1 00:00:00 1970 From: Zhi Wang Subject: Re: [PATCH 1/2] drm/i915: Pre-calculate engine context size Date: Wed, 26 Apr 2017 17:10:26 +0800 Message-ID: <59006402.2000804@intel.com> References: <1493197914-12383-1-git-send-email-joonas.lahtinen@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1493197914-12383-1-git-send-email-joonas.lahtinen@linux.intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Joonas Lahtinen , Intel graphics driver community testing & development Cc: Paulo Zanoni , Rodrigo Vivi , intel-gvt-dev@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org SGkgSm9vbmFzOgogICAgIENhbiB5b3UgY2hhbmdlIEdFTjhfTFJfQ09OVEVYVF9SRU5ERVJfU0la RSA9ICgxOSAqIFBBR0VfU0laRSk/IFRoZW4gd2UgZG9uJ3QgbmVlZCB0aGUgaGFjayBpbiBHVlQt Zy4gOlAgQWN0dWFsbHkgaXQncyAxOSBwYWdlcyBub3QgMjAgcGFnZXMgb24gQkRXLgoKVGhhbmtz LApaaGkuCgrkuo4gMDQvMjYvMTcgMTc6MTEsIEpvb25hcyBMYWh0aW5lbiDlhpnpgZM6Cj4gUHJl LWNhbGN1bGF0ZSBlbmdpbmUgY29udGV4dCBzaXplIGJhc2VkIG9uIGVuZ2luZSBjbGFzcyBhbmQg ZGV2aWNlCj4gZ2VuZXJhdGlvbiBhbmQgc3RvcmUgaXQgaW4gdGhlIGVuZ2luZSBpbnN0YW5jZS4K Pgo+IFNpZ25lZC1vZmYtYnk6IEpvb25hcyBMYWh0aW5lbiA8am9vbmFzLmxhaHRpbmVuQGxpbnV4 LmludGVsLmNvbT4KPiBDYzogUGF1bG8gWmFub25pIDxwYXVsby5yLnphbm9uaUBpbnRlbC5jb20+ Cj4gQ2M6IFJvZHJpZ28gVml2aSA8cm9kcmlnby52aXZpQGludGVsLmNvbT4KPiBDYzogQ2hyaXMg V2lsc29uIDxjaHJpc0BjaHJpcy13aWxzb24uY28udWs+Cj4gQ2M6IERhbmllbGUgQ2VyYW9sbyBT cHVyaW8gPGRhbmllbGUuY2VyYW9sb3NwdXJpb0BpbnRlbC5jb20+Cj4gQ2M6IFR2cnRrbyBVcnN1 bGluIDx0dnJ0a28udXJzdWxpbkBpbnRlbC5jb20+Cj4gQ2M6IE9zY2FyIE1hdGVvIDxvc2Nhci5t YXRlb0BpbnRlbC5jb20+Cj4gQ2M6IFpoZW55dSBXYW5nIDx6aGVueXV3QGxpbnV4LmludGVsLmNv bT4KPiBDYzogaW50ZWwtZ3Z0LWRldkBsaXN0cy5mcmVlZGVza3RvcC5vcmcKPiAtLS0KPiAgIGRy aXZlcnMvZ3B1L2RybS9pOTE1L2d2dC9zY2hlZHVsZXIuYyAgICAgICB8ICA2ICsrLS0KPiAgIGRy aXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ3VjX3N1Ym1pc3Npb24uYyB8ICAzICstCj4gICBkcml2 ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9lbmdpbmVfY3MuYyAgICAgfCA0NiArKysrKysrKysrKysr KysrKysrKysrKysrCj4gICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9scmMuYyAgICAgICAg ICAgfCA1NCArLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KPiAgIGRyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX2xyYy5oICAgICAgICAgICB8ICAyIC0tCj4gICBkcml2ZXJzL2dwdS9kcm0v aTkxNS9pbnRlbF9yaW5nYnVmZmVyLmggICAgfCAgNSArLS0KPiAgIDYgZmlsZXMgY2hhbmdlZCwg NTMgaW5zZXJ0aW9ucygrKSwgNjMgZGVsZXRpb25zKC0pCj4KPiBkaWZmIC0tZ2l0IGEvZHJpdmVy cy9ncHUvZHJtL2k5MTUvZ3Z0L3NjaGVkdWxlci5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3Z0 L3NjaGVkdWxlci5jCj4gaW5kZXggYTc3ZGIyMy4uYWM1MzhkYyAxMDA2NDQKPiAtLS0gYS9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9ndnQvc2NoZWR1bGVyLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0v aTkxNS9ndnQvc2NoZWR1bGVyLmMKPiBAQCAtNjksOCArNjksNyBAQCBzdGF0aWMgaW50IHBvcHVs YXRlX3NoYWRvd19jb250ZXh0KHN0cnVjdCBpbnRlbF92Z3B1X3dvcmtsb2FkICp3b3JrbG9hZCkK PiAgIAlndnRfZGJnX3NjaGVkKCJyaW5nIGlkICVkIHdvcmtsb2FkIGxyY2EgJXgiLCByaW5nX2lk LAo+ICAgCQkJd29ya2xvYWQtPmN0eF9kZXNjLmxyY2EpOwo+ICAgCj4gLQljb250ZXh0X3BhZ2Vf bnVtID0gaW50ZWxfbHJfY29udGV4dF9zaXplKAo+IC0JCQlndnQtPmRldl9wcml2LT5lbmdpbmVb cmluZ19pZF0pOwo+ICsJY29udGV4dF9wYWdlX251bSA9IGd2dC0+ZGV2X3ByaXYtPmVuZ2luZVty aW5nX2lkXS0+Y29udGV4dF9zaXplOwo+ICAgCj4gICAJY29udGV4dF9wYWdlX251bSA9IGNvbnRl eHRfcGFnZV9udW0gPj4gUEFHRV9TSElGVDsKPiAgIAo+IEBAIC0zMzMsOCArMzMyLDcgQEAgc3Rh dGljIHZvaWQgdXBkYXRlX2d1ZXN0X2NvbnRleHQoc3RydWN0IGludGVsX3ZncHVfd29ya2xvYWQg Kndvcmtsb2FkKQo+ICAgCWd2dF9kYmdfc2NoZWQoInJpbmcgaWQgJWQgd29ya2xvYWQgbHJjYSAl eFxuIiwgcmluZ19pZCwKPiAgIAkJCXdvcmtsb2FkLT5jdHhfZGVzYy5scmNhKTsKPiAgIAo+IC0J Y29udGV4dF9wYWdlX251bSA9IGludGVsX2xyX2NvbnRleHRfc2l6ZSgKPiAtCQkJZ3Z0LT5kZXZf cHJpdi0+ZW5naW5lW3JpbmdfaWRdKTsKPiArCWNvbnRleHRfcGFnZV9udW0gPSBndnQtPmRldl9w cml2LT5lbmdpbmVbcmluZ19pZF0tPmNvbnRleHRfc2l6ZTsKPiAgIAo+ICAgCWNvbnRleHRfcGFn ZV9udW0gPSBjb250ZXh0X3BhZ2VfbnVtID4+IFBBR0VfU0hJRlQ7Cj4gICAKPiBkaWZmIC0tZ2l0 IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9ndWNfc3VibWlzc2lvbi5jIGIvZHJpdmVycy9n cHUvZHJtL2k5MTUvaTkxNV9ndWNfc3VibWlzc2lvbi5jCj4gaW5kZXggYWI1MTQwYi4uNmM3ODYz NyAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2d1Y19zdWJtaXNzaW9u LmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2d1Y19zdWJtaXNzaW9uLmMKPiBA QCAtMTA1MSw4ICsxMDUxLDcgQEAgc3RhdGljIGludCBndWNfYWRzX2NyZWF0ZShzdHJ1Y3QgaW50 ZWxfZ3VjICpndWMpCj4gICAJCWRldl9wcml2LT5lbmdpbmVbUkNTXS0+c3RhdHVzX3BhZ2UuZ2d0 dF9vZmZzZXQ7Cj4gICAKPiAgIAlmb3JfZWFjaF9lbmdpbmUoZW5naW5lLCBkZXZfcHJpdiwgaWQp Cj4gLQkJYmxvYi0+YWRzLmVuZ19zdGF0ZV9zaXplW2VuZ2luZS0+Z3VjX2lkXSA9Cj4gLQkJCWlu dGVsX2xyX2NvbnRleHRfc2l6ZShlbmdpbmUpOwo+ICsJCWJsb2ItPmFkcy5lbmdfc3RhdGVfc2l6 ZVtlbmdpbmUtPmd1Y19pZF0gPSBlbmdpbmUtPmNvbnRleHRfc2l6ZTsKPiAgIAo+ICAgCWJhc2Ug PSBndWNfZ2d0dF9vZmZzZXQodm1hKTsKPiAgIAlibG9iLT5hZHMuc2NoZWR1bGVyX3BvbGljaWVz ID0gYmFzZSArIHB0cl9vZmZzZXQoYmxvYiwgcG9saWNpZXMpOwo+IGRpZmYgLS1naXQgYS9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9lbmdpbmVfY3MuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2ludGVsX2VuZ2luZV9jcy5jCj4gaW5kZXggODJhMjc0Yi4uMDkxYzBjNyAxMDA2NDQKPiAtLS0g YS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9lbmdpbmVfY3MuYwo+ICsrKyBiL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX2VuZ2luZV9jcy5jCj4gQEAgLTI2LDYgKzI2LDEwIEBACj4gICAj aW5jbHVkZSAiaW50ZWxfcmluZ2J1ZmZlci5oIgo+ICAgI2luY2x1ZGUgImludGVsX2xyYy5oIgo+ ICAgCj4gKyNkZWZpbmUgR0VOOV9MUl9DT05URVhUX1JFTkRFUl9TSVpFCSgyMiAqIFBBR0VfU0la RSkKPiArI2RlZmluZSBHRU44X0xSX0NPTlRFWFRfUkVOREVSX1NJWkUJKDIwICogUEFHRV9TSVpF KQo+ICsjZGVmaW5lIEdFTjhfTFJfQ09OVEVYVF9PVEhFUl9TSVpFCSggMiAqIFBBR0VfU0laRSkK PiArCj4gICBzdHJ1Y3QgZW5naW5lX2NsYXNzX2luZm8gewo+ICAgCWNvbnN0IGNoYXIgKm5hbWU7 Cj4gICAJaW50ICgqaW5pdF9sZWdhY3kpKHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2luZSk7 Cj4gQEAgLTEwNyw2ICsxMTEsNDYgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBlbmdpbmVfaW5mbyBp bnRlbF9lbmdpbmVzW10gPSB7Cj4gICAJfSwKPiAgIH07Cj4gICAKPiArLyoqCj4gKyAqIF9fX2lu dGVsX2VuZ2luZV9jb250ZXh0X3NpemUoKSAtIHJldHVybiB0aGUgc2l6ZSBvZiB0aGUgY29udGV4 dCBmb3IgYW4gZW5naW5lCj4gKyAqIEBkZXZfcHJpdjogaTkxNSBkZXZpY2UgcHJpdmF0ZQo+ICsg KiBAY2xhc3M6IGVuZ2luZSBjbGFzcwo+ICsgKgo+ICsgKiBFYWNoIGVuZ2luZSBjbGFzcyBtYXkg cmVxdWlyZSBhIGRpZmZlcmVudCBhbW91bnQgb2Ygc3BhY2UgZm9yIGEgY29udGV4dAo+ICsgKiBp bWFnZS4KPiArICoKPiArICogUmV0dXJuOiBzaXplIChpbiBieXRlcykgb2YgYW4gZW5naW5lIGNs YXNzIHNwZWNpZmljIGNvbnRleHQgaW1hZ2UKPiArICoKPiArICogTm90ZTogdGhpcyBzaXplIGlu Y2x1ZGVzIHRoZSBIV1NQLCB3aGljaCBpcyBwYXJ0IG9mIHRoZSBjb250ZXh0IGltYWdlCj4gKyAq IGluIExSQyBtb2RlLCBidXQgZG9lcyBub3QgaW5jbHVkZSB0aGUgInNoYXJlZCBkYXRhIHBhZ2Ui IHVzZWQgd2l0aAo+ICsgKiBHdUMgc3VibWlzc2lvbi4gVGhlIGNhbGxlciBzaG91bGQgYWNjb3Vu dCBmb3IgdGhpcyBpZiB1c2luZyB0aGUgR3VDLgo+ICsgKi8KPiArc3RhdGljIHUzMgo+ICtfX2lu dGVsX2VuZ2luZV9jb250ZXh0X3NpemUoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2 LCB1OCBjbGFzcykKPiArewo+ICsJV0FSTl9PTihJTlRFTF9HRU4oZGV2X3ByaXYpIDwgOCk7Cj4g Kwo+ICsJc3dpdGNoIChjbGFzcykgewo+ICsJY2FzZSBSRU5ERVJfQ0xBU1M6Cj4gKwkJc3dpdGNo IChJTlRFTF9HRU4oZGV2X3ByaXYpKSB7Cj4gKwkJZGVmYXVsdDoKPiArCQkJTUlTU0lOR19DQVNF KElOVEVMX0dFTihkZXZfcHJpdikpOwo+ICsJCWNhc2UgOToKPiArCQkJcmV0dXJuIEdFTjlfTFJf Q09OVEVYVF9SRU5ERVJfU0laRTsKPiArCQljYXNlIDg6Cj4gKwkJCXJldHVybiBHRU44X0xSX0NP TlRFWFRfUkVOREVSX1NJWkU7Cj4gKwkJfQo+ICsJCWJyZWFrOwo+ICsJY2FzZSBWSURFT19ERUNP REVfQ0xBU1M6Cj4gKwljYXNlIFZJREVPX0VOSEFOQ0VNRU5UX0NMQVNTOgo+ICsJY2FzZSBDT1BZ X0VOR0lORV9DTEFTUzoKPiArCQlyZXR1cm4gR0VOOF9MUl9DT05URVhUX09USEVSX1NJWkU7Cj4g Kwl9Cj4gKwo+ICsJTUlTU0lOR19DQVNFKGNsYXNzKTsKPiArCXJldHVybiBHRU44X0xSX0NPTlRF WFRfT1RIRVJfU0laRTsKPiArfQo+ICsKPiAgIHN0YXRpYyBpbnQKPiAgIGludGVsX2VuZ2luZV9z ZXR1cChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCj4gICAJCSAgIGVudW0gaW50 ZWxfZW5naW5lX2lkIGlkKQo+IEBAIC0xMzQsNiArMTc4LDggQEAgaW50ZWxfZW5naW5lX3NldHVw KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKPiAgIAllbmdpbmUtPmlycV9zaGlm dCA9IGluZm8tPmlycV9zaGlmdDsKPiAgIAllbmdpbmUtPmNsYXNzID0gaW5mby0+Y2xhc3M7Cj4g ICAJZW5naW5lLT5pbnN0YW5jZSA9IGluZm8tPmluc3RhbmNlOwo+ICsJZW5naW5lLT5jb250ZXh0 X3NpemUgPSBfX2ludGVsX2VuZ2luZV9jb250ZXh0X3NpemUoZGV2X3ByaXYsCj4gKwkJCQkJCQkg ICBlbmdpbmUtPmNsYXNzKTsKPiAgIAo+ICAgCS8qIE5vdGhpbmcgdG8gZG8gaGVyZSwgZXhlY3V0 ZSBpbiBvcmRlciBvZiBkZXBlbmRlbmNpZXMgKi8KPiAgIAllbmdpbmUtPnNjaGVkdWxlID0gTlVM TDsKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbHJjLmMgYi9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9scmMuYwo+IGluZGV4IDVlYzA2NGEuLjA5MDk1NDkgMTAw NjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbHJjLmMKPiArKysgYi9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9scmMuYwo+IEBAIC0xMzgsMTAgKzEzOCw2IEBACj4gICAj aW5jbHVkZSAiaTkxNV9kcnYuaCIKPiAgICNpbmNsdWRlICJpbnRlbF9tb2NzLmgiCj4gICAKPiAt I2RlZmluZSBHRU45X0xSX0NPTlRFWFRfUkVOREVSX1NJWkUgKDIyICogUEFHRV9TSVpFKQo+IC0j ZGVmaW5lIEdFTjhfTFJfQ09OVEVYVF9SRU5ERVJfU0laRSAoMjAgKiBQQUdFX1NJWkUpCj4gLSNk ZWZpbmUgR0VOOF9MUl9DT05URVhUX09USEVSX1NJWkUgKDIgKiBQQUdFX1NJWkUpCj4gLQo+ICAg I2RlZmluZSBSSU5HX0VYRUNMSVNUX1FGVUxMCQkoMSA8PCAweDIpCj4gICAjZGVmaW5lIFJJTkdf RVhFQ0xJU1QxX1ZBTElECQkoMSA8PCAweDMpCj4gICAjZGVmaW5lIFJJTkdfRVhFQ0xJU1QwX1ZB TElECQkoMSA8PCAweDQpCj4gQEAgLTE5MTgsNTMgKzE5MTQsNiBAQCBwb3B1bGF0ZV9scl9jb250 ZXh0KHN0cnVjdCBpOTE1X2dlbV9jb250ZXh0ICpjdHgsCj4gICAJcmV0dXJuIDA7Cj4gICB9Cj4g ICAKPiAtLyoqCj4gLSAqIGludGVsX2xyX2NvbnRleHRfc2l6ZSgpIC0gcmV0dXJuIHRoZSBzaXpl IG9mIHRoZSBjb250ZXh0IGZvciBhbiBlbmdpbmUKPiAtICogQGVuZ2luZTogd2hpY2ggZW5naW5l IHRvIGZpbmQgdGhlIGNvbnRleHQgc2l6ZSBmb3IKPiAtICoKPiAtICogRWFjaCBlbmdpbmUgbWF5 IHJlcXVpcmUgYSBkaWZmZXJlbnQgYW1vdW50IG9mIHNwYWNlIGZvciBhIGNvbnRleHQgaW1hZ2Us Cj4gLSAqIHNvIHdoZW4gYWxsb2NhdGluZyAob3IgY29weWluZykgYW4gaW1hZ2UsIHRoaXMgZnVu Y3Rpb24gY2FuIGJlIHVzZWQgdG8KPiAtICogZmluZCB0aGUgcmlnaHQgc2l6ZSBmb3IgdGhlIHNw ZWNpZmljIGVuZ2luZS4KPiAtICoKPiAtICogUmV0dXJuOiBzaXplIChpbiBieXRlcykgb2YgYW4g ZW5naW5lLXNwZWNpZmljIGNvbnRleHQgaW1hZ2UKPiAtICoKPiAtICogTm90ZTogdGhpcyBzaXpl IGluY2x1ZGVzIHRoZSBIV1NQLCB3aGljaCBpcyBwYXJ0IG9mIHRoZSBjb250ZXh0IGltYWdlCj4g LSAqIGluIExSQyBtb2RlLCBidXQgZG9lcyBub3QgaW5jbHVkZSB0aGUgInNoYXJlZCBkYXRhIHBh Z2UiIHVzZWQgd2l0aAo+IC0gKiBHdUMgc3VibWlzc2lvbi4gVGhlIGNhbGxlciBzaG91bGQgYWNj b3VudCBmb3IgdGhpcyBpZiB1c2luZyB0aGUgR3VDLgo+IC0gKi8KPiAtdWludDMyX3QgaW50ZWxf bHJfY29udGV4dF9zaXplKHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2luZSkKPiAtewo+IC0J c3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gZW5naW5lLT5pOTE1Owo+IC0JaW50 IHJldDsKPiAtCj4gLQlXQVJOX09OKElOVEVMX0dFTihkZXZfcHJpdikgPCA4KTsKPiAtCj4gLQlz d2l0Y2ggKGVuZ2luZS0+Y2xhc3MpIHsKPiAtCWNhc2UgUkVOREVSX0NMQVNTOgo+IC0JCXN3aXRj aCAoSU5URUxfR0VOKGRldl9wcml2KSkgewo+IC0JCWRlZmF1bHQ6Cj4gLQkJCU1JU1NJTkdfQ0FT RShJTlRFTF9HRU4oZGV2X3ByaXYpKTsKPiAtCQljYXNlIDk6Cj4gLQkJCXJldCA9IEdFTjlfTFJf Q09OVEVYVF9SRU5ERVJfU0laRTsKPiAtCQkJYnJlYWs7Cj4gLQkJY2FzZSA4Ogo+IC0JCQlyZXQg PSBHRU44X0xSX0NPTlRFWFRfUkVOREVSX1NJWkU7Cj4gLQkJCWJyZWFrOwo+IC0JCX0KPiAtCQli cmVhazsKPiAtCj4gLQlkZWZhdWx0Ogo+IC0JCU1JU1NJTkdfQ0FTRShlbmdpbmUtPmNsYXNzKTsK PiAtCWNhc2UgVklERU9fREVDT0RFX0NMQVNTOgo+IC0JY2FzZSBWSURFT19FTkhBTkNFTUVOVF9D TEFTUzoKPiAtCWNhc2UgQ09QWV9FTkdJTkVfQ0xBU1M6Cj4gLQkJcmV0ID0gR0VOOF9MUl9DT05U RVhUX09USEVSX1NJWkU7Cj4gLQkJYnJlYWs7Cj4gLQl9Cj4gLQo+IC0JcmV0dXJuIHJldDsKPiAt fQo+IC0KPiAgIHN0YXRpYyBpbnQgZXhlY2xpc3RzX2NvbnRleHRfZGVmZXJyZWRfYWxsb2Moc3Ry dWN0IGk5MTVfZ2VtX2NvbnRleHQgKmN0eCwKPiAgIAkJCQkJICAgIHN0cnVjdCBpbnRlbF9lbmdp bmVfY3MgKmVuZ2luZSkKPiAgIHsKPiBAQCAtMTk3Nyw4ICsxOTI2LDcgQEAgc3RhdGljIGludCBl eGVjbGlzdHNfY29udGV4dF9kZWZlcnJlZF9hbGxvYyhzdHJ1Y3QgaTkxNV9nZW1fY29udGV4dCAq Y3R4LAo+ICAgCj4gICAJV0FSTl9PTihjZS0+c3RhdGUpOwo+ICAgCj4gLQljb250ZXh0X3NpemUg PSByb3VuZF91cChpbnRlbF9scl9jb250ZXh0X3NpemUoZW5naW5lKSwKPiAtCQkJCUk5MTVfR1RU X1BBR0VfU0laRSk7Cj4gKwljb250ZXh0X3NpemUgPSByb3VuZF91cChlbmdpbmUtPmNvbnRleHRf c2l6ZSwgSTkxNV9HVFRfUEFHRV9TSVpFKTsKPiAgIAo+ICAgCS8qIE9uZSBleHRyYSBwYWdlIGFz IHRoZSBzaGFyaW5nIGRhdGEgYmV0d2VlbiBkcml2ZXIgYW5kIEd1QyAqLwo+ICAgCWNvbnRleHRf c2l6ZSArPSBQQUdFX1NJWkUgKiBMUkNfUFBIV1NQX1BOOwo+IGRpZmYgLS1naXQgYS9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pbnRlbF9scmMuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2xy Yy5oCj4gaW5kZXggZTgwMTVlNy4uNTJiM2ExZiAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pbnRlbF9scmMuaAo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2xy Yy5oCj4gQEAgLTc4LDggKzc4LDYgQEAgaW50IGxvZ2ljYWxfeGNzX3JpbmdfaW5pdChzdHJ1Y3Qg aW50ZWxfZW5naW5lX2NzICplbmdpbmUpOwo+ICAgc3RydWN0IGRybV9pOTE1X3ByaXZhdGU7Cj4g ICBzdHJ1Y3QgaTkxNV9nZW1fY29udGV4dDsKPiAgIAo+IC11aW50MzJfdCBpbnRlbF9scl9jb250 ZXh0X3NpemUoc3RydWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5lKTsKPiAtCj4gICB2b2lkIGlu dGVsX2xyX2NvbnRleHRfcmVzdW1lKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdik7 Cj4gICB1aW50NjRfdCBpbnRlbF9scl9jb250ZXh0X2Rlc2NyaXB0b3Ioc3RydWN0IGk5MTVfZ2Vt X2NvbnRleHQgKmN0eCwKPiAgIAkJCQkgICAgIHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2lu ZSk7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3JpbmdidWZmZXIu aCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3JpbmdidWZmZXIuaAo+IGluZGV4IDk2NzEw YjYuLjU5ODE5NGQgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcmlu Z2J1ZmZlci5oCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcmluZ2J1ZmZlci5o Cj4gQEAgLTE5NiwxMiArMTk2LDEzIEBAIHN0cnVjdCBpbnRlbF9lbmdpbmVfY3Mgewo+ICAgCWVu dW0gaW50ZWxfZW5naW5lX2lkIGlkOwo+ICAgCXVuc2lnbmVkIGludCB1YWJpX2lkOwo+ICAgCXVu c2lnbmVkIGludCBod19pZDsKPiArCXVuc2lnbmVkIGludCBndWNfaWQ7Cj4gICAKPiAgIAl1OCBj bGFzczsKPiAgIAl1OCBpbnN0YW5jZTsKPiArCXUzMiBjb250ZXh0X3NpemU7Cj4gICAKPiAtCXVu c2lnbmVkIGludCBndWNfaWQ7Cj4gLQl1MzIJCW1taW9fYmFzZTsKPiArCXUzMiBtbWlvX2Jhc2U7 Cj4gICAJdW5zaWduZWQgaW50IGlycV9zaGlmdDsKPiAgIAlzdHJ1Y3QgaW50ZWxfcmluZyAqYnVm ZmVyOwo+ICAgCXN0cnVjdCBpbnRlbF90aW1lbGluZSAqdGltZWxpbmU7CgpfX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0 CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3Rv cC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK