From mboxrd@z Thu Jan 1 00:00:00 1970 From: Yu Dai Subject: Re: [PATCH 07/13 v4] drm/i915: GuC submission setup, phase 1 Date: Mon, 27 Jul 2015 15:41:31 -0700 Message-ID: <55B6B39B.7000202@intel.com> References: <1436466554-24806-1-git-send-email-david.s.gordon@intel.com> <1436466554-24806-8-git-send-email-david.s.gordon@intel.com> <20150724223158.GC142616@torourke-desk1> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by gabe.freedesktop.org (Postfix) with ESMTP id CF7A86E4D0 for ; Mon, 27 Jul 2015 15:43:21 -0700 (PDT) In-Reply-To: <20150724223158.GC142616@torourke-desk1> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: "O'Rourke, Tom" , Dave Gordon Cc: intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org CgpPbiAwNy8yNC8yMDE1IDAzOjMxIFBNLCBPJ1JvdXJrZSwgVG9tIHdyb3RlOgo+IFtUT1I6XSBX aGVuIEkgc2VlICJwaGFzZSAxIiBJIGFsc28gbG9vayBmb3IgInBoYXNlIDIiLgo+IEEgc3ViamVj dCB0aGF0IGJldHRlciBkZXNjcmliZXMgdGhlIGNoYW5nZSBpbiB0aGlzIHBhdGNoCj4gd291bGQg aGVscC4KPgo+IE9uIFRodSwgSnVsIDA5LCAyMDE1IGF0IDA3OjI5OjA4UE0gKzAxMDAsIERhdmUg R29yZG9uIHdyb3RlOgo+ID4gRnJvbTogQWxleCBEYWkgPHl1LmRhaUBpbnRlbC5jb20+Cj4gPgo+ ID4gVGhpcyBhZGRzIHRoZSBmaXJzdCBvZiB0aGUgZGF0YSBzdHJ1Y3R1cmVzIHVzZWQgdG8gY29t bXVuaWNhdGUgd2l0aCB0aGUKPiA+IEd1QyAodGhlIHBvb2wgb2YgZ3VjX2NvbnRleHQgc3RydWN0 dXJlcykuCj4gPgo+ID4gV2UgY3JlYXRlIGEgR3VDLXNwZWNpZmljIHdyYXBwZXIgcm91bmQgdGhl IEdFTSBvYmplY3QgYWxsb2NhdG9yIGFzIGFsbAo+ID4gR0VNIG9iamVjdHMgc2hhcmVkIHdpdGgg dGhlIEd1QyBtdXN0IGJlIHBpbm5lZCBpbnRvIEdHVFQgc3BhY2UgYXQgYW4KPiA+IGFkZHJlc3Mg dGhhdCBpcyBOT1QgaW4gdGhlIHJhbmdlIFswLi5XT1BDTV9TSVpFKSwgYXMgdGhhdCByYW5nZSBv ZiBHR1RUCj4gPiBhZGRyZXNzZXMgaXMgbm90IGFjY2Vzc2libGUgdG8gdGhlIEd1QyAoZnJvbSB0 aGUgR3VDJ3MgcG9pbnQgb2YgdmlldywKPiA+IGl0J3MgcGVybWFuZW50bHkgcmVzZXJ2ZWQgZm9y IG90aGVyIG9iamVjdHMgc3VjaCBhcyB0aGUgQm9vdFJPTSAmIFNSQU0pLgo+IFtUT1I6XSBJIHdv dWxkIGxpa2UgYSBjbGFyZmljYXRpb24gb24gdGhlIGV4Y2x1ZGVkIHJhbmdlLgo+IFRoZSBleGNs dWRlZCByYW5nZSBzaG91bGQgYmUgMCB0byAic2l6ZSBmb3IgZ3VjIHdpdGhpbgo+IFdPUENNIGFy ZWEiIGFuZCBub3QgMCB0byAic2l6ZSBvZiBXT1BDTSBhcmVhIi4KCk5vcGUsIEdHVFQgcmFuZ2Ug WzAuLldPUENNX1NJWkUpIHNob3VsZCBiZSBleGNsdWRlZCBmcm9tIEd1QyB1c2FnZS4gCkJTcGVj IGNsZWFybHkgc2F5cywgZnJvbSAwIHRvIFdPUENNX1RPUC0xIGlzIGZvciBCb290Uk9NLCBTUkFN IGFuZCAKV09QQ00uIEZyb20gV09QQ01fVE9QIGFuZCBhYm92ZSBpcyBHRlggRFJBTS4gQmUgbm90 ZSB0aGF0LCB0aGF0IEdHVFQgCnNwYWNlIGlzIHN0aWxsIGF2YWlsYWJsZSB0byBhbnkgZ2Z4IG9i aiBhcyBsb25nIGFzIGl0IGlzIG5vdCBhY2Nlc3NlZCBieSAKR3VDIChPSyB0byBwYXNzIHRocm91 Z2ggR3VDKS4KCj4gPgo+ID4gTGF0ZXIsIHdlIHdpbGwgbmVlZCB0byBhbGxvY2F0ZSBhZGRpdGlv bmFsIEd1Qy1zaGFyYWJsZSBvYmplY3RzIGZvciB0aGUKPiA+IHN1Ym1pc3Npb24gY2xpZW50KHMp IGFuZCB0aGUgR3VDJ3MgZGVidWcgbG9nLgo+ID4KPiA+IHYyOgo+ID4gICAgIFJlbW92ZSByZWR1 bmRhbnQgaW5pdGlhbGlzYXRpb24gW0NocmlzIFdpbHNvbl0KPiA+ICAgICBEZWZlciBhZGRpbmcg c3RydWN0IG1lbWJlcnMgdW50aWwgbmVlZGVkIFtDaHJpcyBXaWxzb25dCj4gPiAgICAgTG9jYWwg ZnVuY3Rpb25zIHNob3VsZCBwYXNzIGRldl9wcml2IHJhdGhlciB0aGFuIGRldiBbQ2hyaXMgV2ls c29uXQo+ID4KPiA+IHY0Ogo+ID4gICAgIFJlYmFzZWQKPiA+Cj4gPiBJc3N1ZTogVklaLTQ4ODQK PiA+IFNpZ25lZC1vZmYtYnk6IEFsZXggRGFpIDx5dS5kYWlAaW50ZWwuY29tPgo+ID4gU2lnbmVk LW9mZi1ieTogRGF2ZSBHb3Jkb24gPGRhdmlkLnMuZ29yZG9uQGludGVsLmNvbT4KPiA+IC0tLQo+ ID4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L01ha2VmaWxlICAgICAgICAgICAgICB8ICAgMyArLQo+ ID4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ3VjX3N1Ym1pc3Npb24uYyB8IDExNCArKysr KysrKysrKysrKysrKysrKysrKysrKysrKwo+ID4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X2d1Yy5oICAgICAgICAgICB8ICAgNyArKwo+ID4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X2d1Y19sb2FkZXIuYyAgICB8ICAxOSArKysrKwo+ID4gIDQgZmlsZXMgY2hhbmdlZCwgMTQyIGlu c2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKPiA+ICBjcmVhdGUgbW9kZSAxMDA2NDQgZHJpdmVy cy9ncHUvZHJtL2k5MTUvaTkxNV9ndWNfc3VibWlzc2lvbi5jCj4gPgo+ID4gZGlmZiAtLWdpdCBh L2RyaXZlcnMvZ3B1L2RybS9pOTE1L01ha2VmaWxlIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvTWFr ZWZpbGUKPiA+IGluZGV4IGU2MDRjZmUuLjIzZjU2MTIgMTAwNjQ0Cj4gPiAtLS0gYS9kcml2ZXJz L2dwdS9kcm0vaTkxNS9NYWtlZmlsZQo+ID4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvTWFr ZWZpbGUKPiA+IEBAIC00MCw3ICs0MCw4IEBAIGk5MTUteSArPSBpOTE1X2NtZF9wYXJzZXIubyBc Cj4gPiAgCSAgaW50ZWxfdW5jb3JlLm8KPiA+Cj4gPiAgIyBnZW5lcmFsLXB1cnBvc2UgbWljcm9j b250cm9sbGVyIChHdUMpIHN1cHBvcnQKPiA+IC1pOTE1LXkgKz0gaW50ZWxfZ3VjX2xvYWRlci5v Cj4gPiAraTkxNS15ICs9IGludGVsX2d1Y19sb2FkZXIubyBcCj4gPiArCSAgaTkxNV9ndWNfc3Vi bWlzc2lvbi5vCj4gPgo+ID4gICMgYXV0b2dlbmVyYXRlZCBudWxsIHJlbmRlciBzdGF0ZQo+ID4g IGk5MTUteSArPSBpbnRlbF9yZW5kZXJzdGF0ZV9nZW42Lm8gXAo+ID4gZGlmZiAtLWdpdCBhL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ3VjX3N1Ym1pc3Npb24uYyBiL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2k5MTVfZ3VjX3N1Ym1pc3Npb24uYwo+ID4gbmV3IGZpbGUgbW9kZSAxMDA2NDQKPiA+ IGluZGV4IDAwMDAwMDAuLjcwYTA0MDUKPiA+IC0tLSAvZGV2L251bGwKPiA+ICsrKyBiL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2k5MTVfZ3VjX3N1Ym1pc3Npb24uYwo+ID4gQEAgLTAsMCArMSwxMTQg QEAKPiA+ICsvKgo+ID4gKyAqIENvcHlyaWdodCDCqSAyMDE0IEludGVsIENvcnBvcmF0aW9uCj4g PiArICoKPiA+ICsgKiBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJn ZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYQo+ID4gKyAqIGNvcHkgb2YgdGhpcyBzb2Z0d2Fy ZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgIlNvZnR3YXJlIiksCj4g PiArICogdG8gZGVhbCBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVk aW5nIHdpdGhvdXQgbGltaXRhdGlvbgo+ID4gKyAqIHRoZSByaWdodHMgdG8gdXNlLCBjb3B5LCBt b2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLAo+ID4gKyAqIGFu ZC9vciBzZWxsIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0 byB3aG9tIHRoZQo+ID4gKyAqIFNvZnR3YXJlIGlzIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVj dCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6Cj4gPiArICoKPiA+ICsgKiBUaGUgYWJvdmUg Y29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSAoaW5jbHVkaW5nIHRo ZSBuZXh0Cj4gPiArICogcGFyYWdyYXBoKSBzaGFsbCBiZSBpbmNsdWRlZCBpbiBhbGwgY29waWVz IG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZQo+ID4gKyAqIFNvZnR3YXJlLgo+ID4gKyAq Cj4gPiArICogVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFO VFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1IKPiA+ICsgKiBJTVBMSUVELCBJTkNMVURJTkcgQlVU IE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSwKPiA+ICsg KiBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiAg SU4gTk8gRVZFTlQgU0hBTEwKPiA+ICsgKiBUSEUgQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVS UyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUgo+ID4gKyAqIExJQUJJ TElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNF LCBBUklTSU5HCj4gPiArICogRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUg U09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUwo+ID4gKyAqIElOIFRIRSBTT0ZU V0FSRS4KPiA+ICsgKgo+ID4gKyAqLwo+ID4gKyNpbmNsdWRlIDxsaW51eC9maXJtd2FyZS5oPgo+ ID4gKyNpbmNsdWRlIDxsaW51eC9jaXJjX2J1Zi5oPgo+ID4gKyNpbmNsdWRlICJpOTE1X2Rydi5o Igo+ID4gKyNpbmNsdWRlICJpbnRlbF9ndWMuaCIKPiA+ICsKPiA+ICsvKioKPiA+ICsgKiBnZW1f YWxsb2NhdGVfZ3VjX29iaigpIC0gQWxsb2NhdGUgZ2VtIG9iamVjdCBmb3IgR3VDIHVzYWdlCj4g PiArICogQGRldjoJZHJtIGRldmljZQo+ID4gKyAqIEBzaXplOglzaXplIG9mIG9iamVjdAo+ID4g KyAqCj4gPiArICogVGhpcyBpcyBhIHdyYXBwZXIgdG8gY3JlYXRlIGEgZ2VtIG9iai4gSW4gb3Jk ZXIgdG8gdXNlIGl0IGluc2lkZSBHdUMsIHRoZQo+ID4gKyAqIG9iamVjdCBuZWVkcyB0byBiZSBw aW5uZWQgbGlmZXRpbWUuIEFsc28gd2UgbXVzdCBwaW4gaXQgdG8gZ3R0IHNwYWNlIG90aGVyCj4g PiArICogdGhhbiBbMCwgR1VDX1dPUENNX1NJWkVdIGJlY2F1c2UgdGhpcyByYW5nZSBpcyByZXNl cnZlZCBpbnNpZGUgR3VDLgo+ID4gKyAqCj4gPiArICogUmV0dXJuOglBIGRybV9pOTE1X2dlbV9v YmplY3QgaWYgc3VjY2Vzc2Z1bCwgb3RoZXJ3aXNlIE5VTEwuCj4gPiArICovCj4gPiArc3RhdGlj IHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpnZW1fYWxsb2NhdGVfZ3VjX29iaihzdHJ1Y3Qg ZHJtX2RldmljZSAqZGV2LAo+ID4gKwkJCQkJCQl1MzIgc2l6ZSkKPiA+ICt7Cj4gPiArCXN0cnVj dCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmo7Cj4gPiArCj4gPiArCW9iaiA9IGk5MTVfZ2VtX2Fs bG9jX29iamVjdChkZXYsIHNpemUpOwo+ID4gKwlpZiAoIW9iaikKPiA+ICsJCXJldHVybiBOVUxM Owo+ID4gKwo+ID4gKwlpZiAoaTkxNV9nZW1fb2JqZWN0X2dldF9wYWdlcyhvYmopKSB7Cj4gPiAr CQlkcm1fZ2VtX29iamVjdF91bnJlZmVyZW5jZSgmb2JqLT5iYXNlKTsKPiA+ICsJCXJldHVybiBO VUxMOwo+ID4gKwl9Cj4gPiArCj4gPiArCWlmIChpOTE1X2dlbV9vYmpfZ2d0dF9waW4ob2JqLCBQ QUdFX1NJWkUsCj4gPiArCQkJUElOX09GRlNFVF9CSUFTIHwgR1VDX1dPUENNX1NJWkVfVkFMVUUp KSB7Cj4gPiArCQlkcm1fZ2VtX29iamVjdF91bnJlZmVyZW5jZSgmb2JqLT5iYXNlKTsKPiA+ICsJ CXJldHVybiBOVUxMOwo+ID4gKwl9Cj4gPiArCj4gPiArCXJldHVybiBvYmo7Cj4gPiArfQo+ID4g Kwo+ID4gKy8qKgo+ID4gKyAqIGdlbV9yZWxlYXNlX2d1Y19vYmooKSAtIFJlbGVhc2UgZ2VtIG9i amVjdCBhbGxvY2F0ZWQgZm9yIEd1QyB1c2FnZQo+ID4gKyAqIEBvYmo6CWdlbSBvYmogdG8gYmUg cmVsZWFzZWQKPiA+ICsgICovCj4gPiArc3RhdGljIHZvaWQgZ2VtX3JlbGVhc2VfZ3VjX29iaihz dHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqKQo+ID4gK3sKPiA+ICsJaWYgKCFvYmopCj4g PiArCQlyZXR1cm47Cj4gPiArCj4gPiArCWlmIChpOTE1X2dlbV9vYmpfaXNfcGlubmVkKG9iaikp Cj4gPiArCQlpOTE1X2dlbV9vYmplY3RfZ2d0dF91bnBpbihvYmopOwo+ID4gKwo+ID4gKwlkcm1f Z2VtX29iamVjdF91bnJlZmVyZW5jZSgmb2JqLT5iYXNlKTsKPiA+ICt9Cj4gPiArCj4gPiArLyoK PiA+ICsgKiBTZXQgdXAgdGhlIG1lbW9yeSByZXNvdXJjZXMgdG8gYmUgc2hhcmVkIHdpdGggdGhl IEd1Qy4gIEF0IHRoaXMgcG9pbnQsCj4gPiArICogd2UgcmVxdWlyZSBqdXN0IG9uZSBvYmplY3Qg dGhhdCBjYW4gYmUgbWFwcGVkIHRocm91Z2ggdGhlIEdHVFQuCj4gPiArICovCj4gPiAraW50IGk5 MTVfZ3VjX3N1Ym1pc3Npb25faW5pdChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQo+ID4gK3sKPiA+ ICsJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gZGV2LT5kZXZfcHJpdmF0ZTsK PiA+ICsJY29uc3Qgc2l6ZV90IGN0eHNpemUgPSBzaXplb2Yoc3RydWN0IGd1Y19jb250ZXh0X2Rl c2MpOwo+ID4gKwljb25zdCBzaXplX3QgcG9vbHNpemUgPSBHVUNfTUFYX0dQVV9DT05URVhUUyAq IGN0eHNpemU7Cj4gPiArCWNvbnN0IHNpemVfdCBnZW1zaXplID0gcm91bmRfdXAocG9vbHNpemUs IFBBR0VfU0laRSk7Cj4gPiArCXN0cnVjdCBpbnRlbF9ndWMgKmd1YyA9ICZkZXZfcHJpdi0+Z3Vj Owo+ID4gKwo+ID4gKwlpZiAoIWk5MTUuZW5hYmxlX2d1Y19zdWJtaXNzaW9uKQo+ID4gKwkJcmV0 dXJuIDA7IC8qIG5vdCBlbmFibGVkICAqLwo+ID4gKwo+ID4gKwlpZiAoZ3VjLT5jdHhfcG9vbF9v YmopCj4gPiArCQlyZXR1cm4gMDsgLyogYWxyZWFkeSBhbGxvY2F0ZWQgKi8KPiA+ICsKPiA+ICsJ Z3VjLT5jdHhfcG9vbF9vYmogPSBnZW1fYWxsb2NhdGVfZ3VjX29iaihkZXZfcHJpdi0+ZGV2LCBn ZW1zaXplKTsKPiA+ICsJaWYgKCFndWMtPmN0eF9wb29sX29iaikKPiA+ICsJCXJldHVybiAtRU5P TUVNOwo+ID4gKwo+ID4gKwlpZGFfaW5pdCgmZ3VjLT5jdHhfaWRzKTsKPiA+ICsKPiA+ICsJcmV0 dXJuIDA7Cj4gPiArfQo+ID4gKwo+ID4gK3ZvaWQgaTkxNV9ndWNfc3VibWlzc2lvbl9maW5pKHN0 cnVjdCBkcm1fZGV2aWNlICpkZXYpCj4gPiArewo+ID4gKwlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0 ZSAqZGV2X3ByaXYgPSBkZXYtPmRldl9wcml2YXRlOwo+ID4gKwlzdHJ1Y3QgaW50ZWxfZ3VjICpn dWMgPSAmZGV2X3ByaXYtPmd1YzsKPiA+ICsKPiA+ICsJaWYgKGd1Yy0+Y3R4X3Bvb2xfb2JqKQo+ ID4gKwkJaWRhX2Rlc3Ryb3koJmd1Yy0+Y3R4X2lkcyk7Cj4gPiArCWdlbV9yZWxlYXNlX2d1Y19v YmooZ3VjLT5jdHhfcG9vbF9vYmopOwo+ID4gKwlndWMtPmN0eF9wb29sX29iaiA9IE5VTEw7Cj4g PiArfQo+ID4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2d1Yy5oIGIv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZ3VjLmgKPiA+IGluZGV4IDI4NDZiNmQuLmJlM2Nh ZDggMTAwNjQ0Cj4gPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9ndWMuaAo+ID4g KysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZ3VjLmgKPiA+IEBAIC01Niw2ICs1Niw5 IEBAIHN0cnVjdCBpbnRlbF9ndWMgewo+ID4gIAlzdHJ1Y3QgaW50ZWxfZ3VjX2Z3IGd1Y19mdzsK PiA+Cj4gPiAgCXVpbnQzMl90IGxvZ19mbGFnczsKPiA+ICsKPiA+ICsJc3RydWN0IGRybV9pOTE1 X2dlbV9vYmplY3QgKmN0eF9wb29sX29iajsKPiA+ICsJc3RydWN0IGlkYSBjdHhfaWRzOwo+ID4g IH07Cj4gPgo+ID4gIC8qIGludGVsX2d1Y19sb2FkZXIuYyAqLwo+ID4gQEAgLTY0LDQgKzY3LDgg QEAgZXh0ZXJuIGludCBpbnRlbF9ndWNfdWNvZGVfbG9hZChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2 KTsKPiA+ICBleHRlcm4gdm9pZCBpbnRlbF9ndWNfdWNvZGVfZmluaShzdHJ1Y3QgZHJtX2Rldmlj ZSAqZGV2KTsKPiA+ICBleHRlcm4gY29uc3QgY2hhciAqaW50ZWxfZ3VjX2Z3X3N0YXR1c19yZXBy KGVudW0gaW50ZWxfZ3VjX2Z3X3N0YXR1cyBzdGF0dXMpOwo+ID4KPiA+ICsvKiBpOTE1X2d1Y19z dWJtaXNzaW9uLmMgKi8KPiA+ICtpbnQgaTkxNV9ndWNfc3VibWlzc2lvbl9pbml0KHN0cnVjdCBk cm1fZGV2aWNlICpkZXYpOwo+ID4gK3ZvaWQgaTkxNV9ndWNfc3VibWlzc2lvbl9maW5pKHN0cnVj dCBkcm1fZGV2aWNlICpkZXYpOwo+ID4gKwo+IFtUT1I6XSBpOTE1X2d1Y19zdWJtaXNzaW9uX2lu aXQgZ2V0cyB1c2VkIGluIHRoaXMgcGF0Y2guCj4gVW5leHBlY3RlZGx5LCBpOTE1X2d1Y19zdWJt aXNzaW9uX2ZpbmkgZG9lcyBub3QgZ2V0IHVzZWQKPiBpbiB0aGlzIHBhdGNoLgo+Cj4gQSBsYXRl ciBwYXRjaCBpbiB0aGlzIHNlcmllcyBhZGRzIHRoZSBjYWxsIHRvCj4gaTkxNV9ndWNfc3VibWlz c2lvbl9maW5pIGluIGludGVsX2d1Y191Y29kZV9maW5pLgo+IFNob3VsZCB0aGF0IGNhbGwgYmUg YWRkZWQgaW4gdGhpcyBwYXRjaD8KPgo+ID4gICNlbmRpZgo+ID4gZGlmZiAtLWdpdCBhL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2ludGVsX2d1Y19sb2FkZXIuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2ludGVsX2d1Y19sb2FkZXIuYwo+ID4gaW5kZXggMjA4MGJjYS4uZTVkNzEzNiAxMDA2NDQKPiA+ IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2d1Y19sb2FkZXIuYwo+ID4gKysrIGIv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZ3VjX2xvYWRlci5jCj4gPiBAQCAtMTI4LDYgKzEy OCwyMSBAQCBzdGF0aWMgdm9pZCBzZXRfZ3VjX2luaXRfcGFyYW1zKHN0cnVjdCBkcm1faTkxNV9w cml2YXRlICpkZXZfcHJpdikKPiA+ICAJCQlpOTE1Lmd1Y19sb2dfbGV2ZWwgPDwgR1VDX0xPR19W RVJCT1NJVFlfU0hJRlQ7Cj4gPiAgCX0KPiA+Cj4gPiArCS8qIElmIEd1QyBzY2hlZHVsaW5nIGlz IGVuYWJsZWQsIHNldHVwIHBhcmFtcyBoZXJlLiAqLwo+IFtUT1I6XSBJIGFzc3VtZSBmcm9tIHRo aXMgIkd1QyBzY2hlZHVsaW5nIiA9PSAiR3VDIHN1Ym1pc3Npb24iLgo+IFRoaXMgaXMgYSBsaXR0 bGUgY29uZnVzaW5nLiAgSSByZWNvbW1lbmQgZWl0aGVyIHJld29yZAo+ICJHdUMgc2NoZWR1bGlu ZyIgb3IgYWRkIGNvbW1lbnQgdGV4dCB0byBleHBsYWluLgoKRm9yIG5vdywgeWVzIHRoZSBHdUMg c2NoZWR1bGluZyBpcyBvbmx5IGRvaW5nIHRoZSAnc3VibWlzc2lvbicgd29yayAKYmVjYXVzZSBv ZiB0aGUgY3VycmVudCBrZXJuZWwgaW4tb3JkZXIgcXVldWUuIElmIHdlIGhhdmUgY2xpZW50IGRp cmVjdCAKc3VibWlzc2lvbiBlbmFibGVkLCB0aGVyZSBXSUxMIEJFIEd1QyBzY2hlZHVsaW5nIGlu c2lkZSBmaXJtd2FyZSAKYWNjb3JkaW5nIHRvIHRoZSBwcmlvcml0eSBvZiBlYWNoIHF1ZXVlIGV0 Yy4KClRoYW5rcywKQWxleApfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3Rv cC5vcmcKaHR0cDovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVs LWdmeAo=