From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tvrtko Ursulin Subject: Re: [PATCH 15/15] drm/i915/guc: Split hw submission for replay after GPU reset Date: Mon, 28 Nov 2016 15:55:42 +0000 Message-ID: References: <20161125093057.18491-1-chris@chris-wilson.co.uk> <20161125093057.18491-16-chris@chris-wilson.co.uk> <6e853f97-2596-b2b3-3e36-ff13fbb58d75@linux.intel.com> <20161128141932.GE17384@nuc-i3427.alporthouse.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: Received: from mga11.intel.com (mga11.intel.com [192.55.52.93]) by gabe.freedesktop.org (Postfix) with ESMTPS id 41BB16E405 for ; Mon, 28 Nov 2016 15:55:45 +0000 (UTC) In-Reply-To: <20161128141932.GE17384@nuc-i3427.alporthouse.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Chris Wilson , intel-gfx@lists.freedesktop.org, Mika Kuoppala List-Id: intel-gfx@lists.freedesktop.org Ck9uIDI4LzExLzIwMTYgMTQ6MTksIENocmlzIFdpbHNvbiB3cm90ZToKPiBPbiBNb24sIE5vdiAy OCwgMjAxNiBhdCAwMjowMjozM1BNICswMDAwLCBUdnJ0a28gVXJzdWxpbiB3cm90ZToKPj4KPj4g T24gMjUvMTEvMjAxNiAwOTozMCwgQ2hyaXMgV2lsc29uIHdyb3RlOgo+Pj4gU29tZXRoaW5nIEkg bWlzc2VkIGJlZm9yZSBzZW5kaW5nIG9mZiB0aGUgcGFydGlhbCBzZXJpZXMgd2FzIHRoYXQgdGhl Cj4+PiBub24tc2NoZWR1bGVyIGd1YyByZXNldCBwYXRoIHdhcyBicm9rZW4gKGluIHRoZSBmdWxs IHNlcmllcywgdGhpcyBpcwo+Pj4gcHVzaGVkIHRvIHRoZSBleGVjbGlzdHMgcmVzZXQgaGFuZGxl cikuIFRoZSBpc3N1ZSBpcyB0aGF0IGFmdGVyIGEgcmVzZXQsCj4+PiB3ZSBoYXZlIHRvIHJlZmls bCB0aGUgR3VDIHdvcmtxdWV1ZXMsIHdoaWNoIHdlIGRvIGJ5IHJlc3VibWl0dGluZyB0aGUKPj4+ IHJlcXVlc3RzLiBIb3dldmVyLCBpZiB3ZSBhbHJlYWR5IGhhdmUgc3VibWl0dGVkIHRoZW0sIHRo ZSBmZW5jZXMgd2l0aGluCj4+PiB0aGVtIGhhdmUgYWxyZWFkeSBiZWVuIHVzZWQgYW5kIHRyaWdn ZXJpbmcgdGhlbSBhZ2FpbiBpcyBhbiBlcnJvci4KPj4+IEluc3RlYWQsIGp1c3QgcmVwb3B1bGF0 ZSB0aGUgZ3VjIHdvcmtxdWV1ZS4KPj4+Cj4+PiBbICAxMTUuODU4NTYwXSBbSUdUXSBnZW1fYnVz eTogc3RhcnRpbmcgc3VidGVzdCBoYW5nLXJlbmRlcgo+Pj4gWyAgMTM1LjgzOTg2N10gW2RybV0g R1BVIEhBTkc6IGVjb2RlIDk6MDoweGU3NTdmZWZlLCBpbiBnZW1fYnVzeSBbMTcxNl0sIHJlYXNv bjogSGFuZyBvbiByZW5kZXIgcmluZywgYWN0aW9uOiByZXNldAo+Pj4gWyAgMTM1LjgzOTkwMl0g ZHJtL2k5MTU6IFJlc2V0dGluZyBjaGlwIGFmdGVyIGdwdSBoYW5nCj4+PiBbICAxMzUuODM5OTU3 XSBbZHJtXSBSQzYgb24KPj4+IFsgIDEzNS44NTgzNTFdIC0tLS0tLS0tLS0tLVsgY3V0IGhlcmUg XS0tLS0tLS0tLS0tLQo+Pj4gWyAgMTM1Ljg1ODM1N10gV0FSTklORzogQ1BVOiAyIFBJRDogNDUg YXQgZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9zd19mZW5jZS5jOjEwOCBpOTE1X3N3X2ZlbmNl X2NvbXBsZXRlKzB4MjUvMHgzMAo+Pj4gWyAgMTM1Ljg1ODM1N10gTW9kdWxlcyBsaW5rZWQgaW46 IHJmY29tbSBibmVwIGJpbmZtdF9taXNjIG5sc19pc284ODU5XzEgaW5wdXRfbGVkcyBzbmRfaGRh X2NvZGVjX2hkbWkgc25kX2hkYV9jb2RlY19yZWFsdGVrIHNuZF9oZGFfY29kZWNfZ2VuZXJpYyBz bmRfaGRhX2ludGVsIHNuZF9oZGFfY29kZWMgc25kX2hkYV9jb3JlIGJ0dXNiIGJ0cnRsIHNuZF9o d2RlcCBzbmRfcGNtIDgyNTBfZHcgc25kX3NlcV9taWRpIGhpZF9sZW5vdm8gc25kX3NlcV9taWRp X2V2ZW50IHNuZF9yYXdtaWRpIGl3bHdpZmkgeDg2X3BrZ190ZW1wX3RoZXJtYWwgY29yZXRlbXAg c25kX3NlcSBjcmN0MTBkaWZfcGNsbXVsIHNuZF9zZXFfZGV2aWNlIGhjaV91YXJ0IHNuZF90aW1l ciBjcmMzMl9wY2xtdWwgZ2hhc2hfY2xtdWxuaV9pbnRlbCBpZG1hNjQgYWVzbmlfaW50ZWwgdmly dF9kbWEgYnRiY20gc25kIGJ0cWNhIGFlc194ODZfNjQgYnRpbnRlbCBscncgY2ZnODAyMTEgYmx1 ZXRvb3RoIGdmMTI4bXVsIGdsdWVfaGVscGVyIGFibGtfaGVscGVyIGNyeXB0ZCBzb3VuZGNvcmUg aW50ZWxfbHBzc19wY2kgaW50ZWxfcGNoX3RoZXJtYWwgaW50ZWxfbHBzc19hY3BpIGludGVsX2xw c3MgYWNwaV9hbHMgbWZkX2NvcmUga2ZpZm9fYnVmIGFjcGlfcGFkIGluZHVzdHJpYWxpbyBhdXRv ZnM0IGhpZF9wbGFudHJvbmljcyB1c2JoaWQgZG1fbWlycm9yIGRtX3JlZ2lvbl9oYXNoIGRtX2xv ZyBzZGhjaV9wY2kgYWhjaSBzZGhjaSBsaWJhaGNpIGkyY19oaWQgaGlkCj4+PiBbICAxMzUuODU4 Mzg5XSBDUFU6IDIgUElEOiA0NSBDb21tOiBrd29ya2VyLzI6MSBUYWludGVkOiBHICAgICAgICBX ICAgICAgIDQuOS4wLXJjNCsgIzIzOAo+Pj4gWyAgMTM1Ljg1ODM4OV0gSGFyZHdhcmUgbmFtZTog ICAgICAgICAgICAgICAgICAvTlVDNmkzU1lCLCBCSU9TIFNZU0tMaTM1Ljg2QS4wMDI0LjIwMTUu MTAyNy4yMTQyIDEwLzI3LzIwMTUKPj4+IFsgIDEzNS44NTgzOTJdIFdvcmtxdWV1ZTogZXZlbnRz X2xvbmcgaTkxNV9oYW5nY2hlY2tfZWxhcHNlZAo+Pj4gWyAgMTM1Ljg1ODM5NF0gIGZmZmZjOTAw MDAxYmY5YjggZmZmZmZmZmY4MTJiYjIzOCAwMDAwMDAwMDAwMDAwMDAwIDAwMDAwMDAwMDAwMDAw MDAKPj4+IFsgIDEzNS44NTgzOTZdICBmZmZmYzkwMDAwMWJmOWY4IGZmZmZmZmZmODEwNGY2MjEg MDAwMDAwNmMwMDAwMDAwMCBmZmZmODgwODI5NjEzN2Y4Cj4+PiBbICAxMzUuODU4Mzk4XSAgMDAw MDAwMDAwMDAwMGEwMCBmZmZmODgwODQ1N2EwMDAwIGZmZmY4ODA4NDU3NjRlNjAgZmZmZjg4MDg0 NTc2MDAwMAo+Pj4gWyAgMTM1Ljg1ODM5OV0gQ2FsbCBUcmFjZToKPj4+IFsgIDEzNS44NTg0MDNd ICBbPGZmZmZmZmZmODEyYmIyMzg+XSBkdW1wX3N0YWNrKzB4NGQvMHg2NQo+Pj4gWyAgMTM1Ljg1 ODQwNV0gIFs8ZmZmZmZmZmY4MTA0ZjYyMT5dIF9fd2FybisweGMxLzB4ZTAKPj4+IFsgIDEzNS44 NTg0MDZdICBbPGZmZmZmZmZmODEwNGY3NDg+XSB3YXJuX3Nsb3dwYXRoX251bGwrMHgxOC8weDIw Cj4+PiBbICAxMzUuODU4NDA4XSAgWzxmZmZmZmZmZjgxM2Y4YzE1Pl0gaTkxNV9zd19mZW5jZV9j b21wbGV0ZSsweDI1LzB4MzAKPj4+IFsgIDEzNS44NTg0MTBdICBbPGZmZmZmZmZmODEzZjhmYWQ+ XSBpOTE1X3N3X2ZlbmNlX2NvbW1pdCsweGQvMHgzMAo+Pj4gWyAgMTM1Ljg1ODQxMl0gIFs8ZmZm ZmZmZmY4MTQyZTU5MT5dIF9faTkxNV9nZW1fcmVxdWVzdF9zdWJtaXQrMHhlMS8weGYwCj4+PiBb ICAxMzUuODU4NDEzXSAgWzxmZmZmZmZmZjgxNDJlNWM4Pl0gaTkxNV9nZW1fcmVxdWVzdF9zdWJt aXQrMHgyOC8weDQwCj4+PiBbICAxMzUuODU4NDE1XSAgWzxmZmZmZmZmZjgxNDQzM2U3Pl0gaTkx NV9ndWNfc3VibWl0KzB4NDcvMHgyMTAKPj4+IFsgIDEzNS44NTg0MTddICBbPGZmZmZmZmZmODE0 NDNlOTg+XSBpOTE1X2d1Y19zdWJtaXNzaW9uX2VuYWJsZSsweDQ2OC8weDU0MAo+Pj4gWyAgMTM1 Ljg1ODQxOV0gIFs8ZmZmZmZmZmY4MTQ0MjQ5NT5dIGludGVsX2d1Y19zZXR1cCsweDcxNS8weDgx MAo+Pj4gWyAgMTM1Ljg1ODQyMV0gIFs8ZmZmZmZmZmY4MTQyYjZiND5dIGk5MTVfZ2VtX2luaXRf aHcrMHgxMTQvMHgyYTAKPj4+IFsgIDEzNS44NTg0MjNdICBbPGZmZmZmZmZmODEzZWVhYTg+XSBp OTE1X3Jlc2V0KzB4ZTgvMHgxMjAKPj4+IFsgIDEzNS44NTg0MjRdICBbPGZmZmZmZmZmODEzZjM5 Mzc+XSBpOTE1X3Jlc2V0X2FuZF93YWtldXArMHgxNTcvMHgxODAKPj4+IFsgIDEzNS44NTg0MjZd ICBbPGZmZmZmZmZmODEzZjc5ZGI+XSBpOTE1X2hhbmRsZV9lcnJvcisweDFhYi8weDIzMAo+Pj4g WyAgMTM1Ljg1ODQyOF0gIFs8ZmZmZmZmZmY4MTJjNzYwZD5dID8gc2NucHJpbnRmKzB4NGQvMHg5 MAo+Pj4gWyAgMTM1Ljg1ODQzMF0gIFs8ZmZmZmZmZmY4MTQzNTk4NT5dIGk5MTVfaGFuZ2NoZWNr X2VsYXBzZWQrMHgyNzUvMHgzZDAKPj4+IFsgIDEzNS44NTg0MzJdICBbPGZmZmZmZmZmODEwNjY4 Y2Y+XSBwcm9jZXNzX29uZV93b3JrKzB4MTJmLzB4NDEwCj4+PiBbICAxMzUuODU4NDMzXSAgWzxm ZmZmZmZmZjgxMDY2YmYzPl0gd29ya2VyX3RocmVhZCsweDQzLzB4NGQwCj4+PiBbICAxMzUuODU4 NDM1XSAgWzxmZmZmZmZmZjgxMDY2YmIwPl0gPyBwcm9jZXNzX29uZV93b3JrKzB4NDEwLzB4NDEw Cj4+PiBbICAxMzUuODU4NDM2XSAgWzxmZmZmZmZmZjgxMDY2YmIwPl0gPyBwcm9jZXNzX29uZV93 b3JrKzB4NDEwLzB4NDEwCj4+PiBbICAxMzUuODU4NDM4XSAgWzxmZmZmZmZmZjgxMDZiYmI0Pl0g a3RocmVhZCsweGQ0LzB4ZjAKPj4+IFsgIDEzNS44NTg0NDBdICBbPGZmZmZmZmZmODEwNmJhZTA+ XSA/IGt0aHJlYWRfcGFyaysweDYwLzB4NjAKPj4+Cj4+PiB2MjogT25seSByZXN1Ym1pdCBzdWJt aXR0ZWQgcmVxdWVzdHMKPj4+IHYzOiBEb24ndCBmb3JnZXQgdGhlIHBlbmRpbmcgcmVxdWVzdHMg aGF2ZSByZXNlcnZlZCBzcGFjZS4KPj4+Cj4+PiBGaXhlczogZDU1YWM1YmY5N2M2ICgiZHJtL2k5 MTU6IERlZmVyIHRyYW5zZmVyIG9udG8gZXhlY3V0aW9uIHRpbWVsaW5lIHRvIGFjdHVhbCBodyBz dWJtaXNzaW9uIikKPj4+IFNpZ25lZC1vZmYtYnk6IENocmlzIFdpbHNvbiA8Y2hyaXNAY2hyaXMt d2lsc29uLmNvLnVrPgo+Pj4gQ2M6IFR2cnRrbyBVcnN1bGluIDx0dnJ0a28udXJzdWxpbkBpbnRl bC5jb20+Cj4+PiAtLS0KPj4+IGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ3VjX3N1Ym1pc3Np b24uYyB8IDM3ICsrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLQo+Pj4gMSBmaWxlIGNoYW5n ZWQsIDIwIGluc2VydGlvbnMoKyksIDE3IGRlbGV0aW9ucygtKQo+Pj4KPj4+IGRpZmYgLS1naXQg YS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2d1Y19zdWJtaXNzaW9uLmMgYi9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pOTE1X2d1Y19zdWJtaXNzaW9uLmMKPj4+IGluZGV4IDAwYjVmYTg3MTY0NC4u ZTEyZmY4ODFkMzhkIDEwMDY0NAo+Pj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9n dWNfc3VibWlzc2lvbi5jCj4+PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2d1Y19z dWJtaXNzaW9uLmMKPj4+IEBAIC02MDIsMTIgKzYwMiw5IEBAIHN0YXRpYyBpbnQgZ3VjX3Jpbmdf ZG9vcmJlbGwoc3RydWN0IGk5MTVfZ3VjX2NsaWVudCAqZ2MpCj4+PiB9Cj4+Pgo+Pj4gLyoqCj4+ PiAtICogaTkxNV9ndWNfc3VibWl0KCkgLSBTdWJtaXQgY29tbWFuZHMgdGhyb3VnaCBHdUMKPj4+ ICsgKiBfX2k5MTVfZ3VjX3N1Ym1pdCgpIC0gU3VibWl0IGNvbW1hbmRzIHRocm91Z2ggR3VDCj4+ PiAgKiBAcnE6CQlyZXF1ZXN0IGFzc29jaWF0ZWQgd2l0aCB0aGUgY29tbWFuZHMKPj4+ICAqCj4+ PiAtICogUmV0dXJuOgkwIG9uIHN1Y2Nlc3MsIG90aGVyd2lzZSBhbiBlcnJuby4KPj4+IC0gKiAJ CShOb3RlOiBub256ZXJvIHJlYWxseSBzaG91bGRuJ3QgaGFwcGVuISkKPj4+IC0gKgo+Pj4gICog VGhlIGNhbGxlciBtdXN0IGhhdmUgYWxyZWFkeSBjYWxsZWQgaTkxNV9ndWNfd3FfcmVzZXJ2ZSgp IGFib3ZlIHdpdGgKPj4+ICAqIGEgcmVzdWx0IG9mIDAgKHN1Y2Nlc3MpLCBndWFyYW50ZWVpbmcg dGhhdCB0aGVyZSBpcyBzcGFjZSBpbiB0aGUgd29yawo+Pj4gICogcXVldWUgZm9yIHRoZSBuZXcg cmVxdWVzdCwgc28gZW5xdWV1aW5nIHRoZSBpdGVtIGNhbm5vdCBmYWlsLgo+Pj4gQEAgLTYxOSw3 ICs2MTYsNyBAQCBzdGF0aWMgaW50IGd1Y19yaW5nX2Rvb3JiZWxsKHN0cnVjdCBpOTE1X2d1Y19j bGllbnQgKmdjKQo+Pj4gICogVGhlIG9ubHkgZXJyb3IgaGVyZSBhcmlzZXMgaWYgdGhlIGRvb3Ji ZWxsIGhhcmR3YXJlIGlzbid0IGZ1bmN0aW9uaW5nCj4+PiAgKiBhcyBleHBlY3RlZCwgd2hpY2gg cmVhbGx5IHNob3Vsbid0IGhhcHBlbi4KPj4+ICAqLwo+Pj4gLXN0YXRpYyB2b2lkIGk5MTVfZ3Vj X3N1Ym1pdChzdHJ1Y3QgZHJtX2k5MTVfZ2VtX3JlcXVlc3QgKnJxKQo+Pj4gK3N0YXRpYyB2b2lk IF9faTkxNV9ndWNfc3VibWl0KHN0cnVjdCBkcm1faTkxNV9nZW1fcmVxdWVzdCAqcnEpCj4+PiB7 Cj4+PiAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gcnEtPmk5MTU7Cj4+PiAJ c3RydWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5lID0gcnEtPmVuZ2luZTsKPj4+IEBAIC02Mjgs MTcgKzYyNSw2IEBAIHN0YXRpYyB2b2lkIGk5MTVfZ3VjX3N1Ym1pdChzdHJ1Y3QgZHJtX2k5MTVf Z2VtX3JlcXVlc3QgKnJxKQo+Pj4gCXN0cnVjdCBpOTE1X2d1Y19jbGllbnQgKmNsaWVudCA9IGd1 Yy0+ZXhlY2J1Zl9jbGllbnQ7Cj4+PiAJaW50IGJfcmV0Owo+Pj4KPj4+IC0JLyogV2Uga2VlcCB0 aGUgcHJldmlvdXMgY29udGV4dCBhbGl2ZSB1bnRpbCB3ZSByZXRpcmUgdGhlIGZvbGxvd2luZwo+ Pj4gLQkgKiByZXF1ZXN0LiBUaGlzIGVuc3VyZXMgdGhhdCBhbnkgdGhlIGNvbnRleHQgb2JqZWN0 IGlzIHN0aWxsIHBpbm5lZAo+Pj4gLQkgKiBmb3IgYW55IHJlc2lkdWFsIHdyaXRlcyB0aGUgSFcg bWFrZXMgaW50byBpdCBvbiB0aGUgY29udGV4dCBzd2l0Y2gKPj4+IC0JICogaW50byB0aGUgbmV4 dCBvYmplY3QgZm9sbG93aW5nIHRoZSBicmVhZGNydW1iLiBPdGhlcndpc2UsIHdlIG1heQo+Pj4g LQkgKiByZXRpcmUgdGhlIGNvbnRleHQgdG9vIGVhcmx5Lgo+Pj4gLQkgKi8KPj4+IC0JcnEtPnBy ZXZpb3VzX2NvbnRleHQgPSBlbmdpbmUtPmxhc3RfY29udGV4dDsKPj4+IC0JZW5naW5lLT5sYXN0 X2NvbnRleHQgPSBycS0+Y3R4Owo+Pj4gLQo+Pj4gLQlpOTE1X2dlbV9yZXF1ZXN0X3N1Ym1pdChy cSk7Cj4+PiAtCj4+PiAJc3Bpbl9sb2NrKCZjbGllbnQtPndxX2xvY2spOwo+Pj4gCWd1Y193cV9p dGVtX2FwcGVuZChjbGllbnQsIHJxKTsKPj4+Cj4+PiBAQCAtNjU4LDYgKzY0NCwyMyBAQCBzdGF0 aWMgdm9pZCBpOTE1X2d1Y19zdWJtaXQoc3RydWN0IGRybV9pOTE1X2dlbV9yZXF1ZXN0ICpycSkK Pj4+IAlzcGluX3VubG9jaygmY2xpZW50LT53cV9sb2NrKTsKPj4+IH0KPj4+Cj4+PiArc3RhdGlj IHZvaWQgaTkxNV9ndWNfc3VibWl0KHN0cnVjdCBkcm1faTkxNV9nZW1fcmVxdWVzdCAqcnEpCj4+ PiArewo+Pj4gKwlzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmUgPSBycS0+ZW5naW5lOwo+ Pj4gKwo+Pj4gKwkvKiBXZSBrZWVwIHRoZSBwcmV2aW91cyBjb250ZXh0IGFsaXZlIHVudGlsIHdl IHJldGlyZSB0aGUgZm9sbG93aW5nCj4+PiArCSAqIHJlcXVlc3QuIFRoaXMgZW5zdXJlcyB0aGF0 IGFueSB0aGUgY29udGV4dCBvYmplY3QgaXMgc3RpbGwgcGlubmVkCj4+PiArCSAqIGZvciBhbnkg cmVzaWR1YWwgd3JpdGVzIHRoZSBIVyBtYWtlcyBpbnRvIGl0IG9uIHRoZSBjb250ZXh0IHN3aXRj aAo+Pj4gKwkgKiBpbnRvIHRoZSBuZXh0IG9iamVjdCBmb2xsb3dpbmcgdGhlIGJyZWFkY3J1bWIu IE90aGVyd2lzZSwgd2UgbWF5Cj4+PiArCSAqIHJldGlyZSB0aGUgY29udGV4dCB0b28gZWFybHku Cj4+PiArCSAqLwo+Pj4gKwlycS0+cHJldmlvdXNfY29udGV4dCA9IGVuZ2luZS0+bGFzdF9jb250 ZXh0Owo+Pj4gKwllbmdpbmUtPmxhc3RfY29udGV4dCA9IHJxLT5jdHg7Cj4+PiArCj4+PiArCWk5 MTVfZ2VtX3JlcXVlc3Rfc3VibWl0KHJxKTsKPj4+ICsJX19pOTE1X2d1Y19zdWJtaXQocnEpOwo+ Pj4gK30KPj4+ICsKPj4+IC8qCj4+PiAgKiBFdmVyeXRoaW5nIGJlbG93IGhlcmUgaXMgY29uY2Vy bmVkIHdpdGggc2V0dXAgJiB0ZWFyZG93biwgYW5kIGlzCj4+PiAgKiB0aGVyZWZvcmUgbm90IHBh cnQgb2YgdGhlIHNvbWV3aGF0IHRpbWUtY3JpdGljYWwgYmF0Y2gtc3VibWlzc2lvbgo+Pj4gQEAg LTE1NTYsNyArMTU1OSw3IEBAIGludCBpOTE1X2d1Y19zdWJtaXNzaW9uX2VuYWJsZShzdHJ1Y3Qg ZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCj4+PiAJCS8qIFJlcGxheSB0aGUgY3VycmVudCBz ZXQgb2YgcHJldmlvdXNseSBzdWJtaXR0ZWQgcmVxdWVzdHMgKi8KPj4+IAkJbGlzdF9mb3JfZWFj aF9lbnRyeShycSwgJmVuZ2luZS0+dGltZWxpbmUtPnJlcXVlc3RzLCBsaW5rKSB7Cj4+PiAJCQlj bGllbnQtPndxX3JzdmQgKz0gc2l6ZW9mKHN0cnVjdCBndWNfd3FfaXRlbSk7Cj4+PiAtCQkJaTkx NV9ndWNfc3VibWl0KHJxKTsKPj4+ICsJCQlfX2k5MTVfZ3VjX3N1Ym1pdChycSk7Cj4+PiAJCX0K Pj4+IAl9Cj4+Pgo+Pj4KPj4KPj4gVGhlIG9ubHkgdGhpbmcgYm90aGVyaW5nIG1lIGhlcmUgaXMg aG93IHRoaXMgaW50ZXJhY3RzIHdpdGggdGhlCj4+IGNvbW1vbiwgb3IgImV4ZWNsaXN0IiBwYXJ0 IG9mIHRoZSByZXNldC4KPgo+IEFsc28gYXBwbGllcyB0byByaW5nYnVmZmVyIChzb21lIHBhcnRz IGF0IGxlYXN0KS4KPgo+PiBDb3B5aW5nIE1pa2EgaW4gaG9wZSBoZSBjYW4gaGVscCBoZXJlLiA6 KQo+Pgo+PiBJIHNlZSB0aGF0IGk5MTVfZ2VtX3Jlc2V0X2VuZ2luZSBydW5zIGJlZm9yZSB0aGlz IEd1QyB3cSByZWZpbGwgYW5kCj4+IGRvZXMgc29tZSBtYWdpYyB3aXRoIHRoZSByZXF1ZXN0cyBv biB0aGUgZW5naW5lLT50aW1lbGluZS0+cmVxdWVzdHMKPj4gbGlzdHMuCj4+Cj4+IFdvdWxkIGl0 IGJlIHBvc3NpYmxlIHRvIHNvbWVob3cgYmV0dGVyIGludGVncmF0ZSB0aGUgdHdvIHRoaW5ncz8K Pgo+IEkgdGhvdWdodCB0aGV5IHdlcmUgbmljZWx5IHNlcGFyYXRlZC4gVGhlIGNvbW1vbiB3b3Jr IHRvIGRpc2FibGUgdGhlCj4gZ3VpbHR5IGNvbnRleHQgaXMgaGFuZGxlZCBieSB0aGUgY29yZSBy ZXNldCBmdW5jdGlvbi4gVGhlIHNwZWNpZmljIHdvcmsKPiByZXF1aXJlZCB0byByZXN0YXJ0IGFu ZCByZXBsYXkgdGhlIHJlcXVlc3RzIGhhbmRsZWQgYnkgdGhlIGRpZmZlcmVudAo+IGJhY2tlbmRz Lgo+Cj4gaTkxNV9nZW1fcmVzZXRfZW5naW5lOiBpcyBmb3IgZGlzYWJsaW5nIHRoZSBndWlsdHkg Y29udGV4dAo+IGVuZ2luZS0+cmVzZXQ6IHVwZGF0ZXMgdGhlIGNvbnRleHQgLyByaW5nIGZvciBy ZXN0YXJ0aW5nIHBhc3QgYSBodW5nCj4gYmF0Y2ggKGlmIHJlcXVpcmVkKQo+IGVuZ2luZS0+aW5p dDogc3RhcnRzIHRoZSBlbmdpbmUsIHByb2Nlc3NpbmcgdGhlIHBlbmRpbmcgcmVxdWVzdHMgaWYg YW55Cj4KPiBlbmdpbmUtPnJlc2V0IGlzIGEgYmFkIG5hbWUsIHNpbmNlIHdlIGhhdmUgcGVyLWVu Z2luZSByZXNldHMgYXMgd2VsbCwKPiBidXQgSSBoYXZlbid0IGEgYmV0dGVyIHZlcmIgeWV0IGZv ciBoYW5kbGluZyB0aGUgcmVxdWVzdCBidW1waW5nIGFmdGVyIGEKPiByZXNldC4KClllcyBidXQg ZmluYWwgcGFydCBvZiB0aGUgcmVzZXQgd2hlbiBHdUMgaXMgZW5hYmxlZCwgaXMgbm90IGluIGFu eSBvZiAKdGhvc2UgYW5kIGlzIG5vdCBldmVuIGNhbGxlZCBmcm9tIGk5MTVfZ2VtX3Jlc2V0LiBJ dCBoYXBwZW5zIGxhdGVyIHZpYSAKaTkxNV9nZW1faW5pdF9odyBpbiBpOTE1X2d1Y19zdWJtaXNz aW9uX2VuYWJsZS4KCkkgd2FzIHdvbmRlcmluZyBpZiB0aGF0IGlzIHRoZSBtb3N0IGxvZ2ljYWwg d2F5IG9mIGRvaW5nIGl0IC0gZG9lcyBpdCAKYmVsb25nIHdpdGggdGhlIEdFTSByZXNldCwgb3Ig dGhlIGhhcmR3YXJlIHJlc2V0PwoKRm9yIGV4YW1wbGUgY291bGQgd2UsIGZvciBHdUMsIG5vdCB1 c2UgcmVzZXRfY29tbW9uX3JpbmcgYnV0IGFkZCAKZ3VjX3Jlc2V0X2VuZ2luZSAoeWVzLCB3aHkg ZGlkIHlvdSBuYW1lIGl0IHJpbmcgd2hlbiB3ZSB3ZW50IHRvIGVuZ2luZXM/KS4KCkJ1dCBJIHNl ZSB0aGF0IHRoZSBvcmRlcmluZyBvZiBvcGVyYXRpb25zIHdvdWxkIG1ha2UgaXQgdmVyeSAKcHJv YmxlbWF0aWMsIHNpbmNlIEd1QyBpcyBub3Qgc2V0dXAgdW50aWwgbGF0ZXIgZm9sbG93aW5nIGEg cmVzZXQuCgpTbyBpdCBhbGwgYmVjb21lcyB2ZXJ5IGNvbXBsaWNhdGVkIGFuZCBzaW5jZSBpdCBh bHNvIHByZWRhdGVzIHRoaXMgcGF0Y2ggCml0IGRvZXNuJ3QgbWF0dGVyLiBKdXN0IGNvbmZ1c2Vk IG1lIGEgbGl0dGxlIGJpdCwgYW5kIHByb2JhYmx5IHdpbGwgCmFnYWluIGluIHRoZSBmdXR1cmUu IDopCgpTby4uCgpSZXZpZXdlZC1ieTogVHZydGtvIFVyc3VsaW4gPHR2cnRrby51cnN1bGluQGlu dGVsLmNvbT4KClJlZ2FyZHMsCgpUdnJ0a28KCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3Rz LmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xp c3RpbmZvL2ludGVsLWdmeAo=