From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tvrtko Ursulin Subject: Re: [PATCH v2 1/5] drm/i915/guc: add enable_guc_loading parameter Date: Tue, 10 May 2016 15:37:07 +0100 Message-ID: <5731F213.6060902@linux.intel.com> References: <1461780195-17434-1-git-send-email-david.s.gordon@intel.com> <572377B5.5000901@linux.intel.com> <572CC8B9.7050000@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: Received: from mga14.intel.com (mga14.intel.com [192.55.52.115]) by gabe.freedesktop.org (Postfix) with ESMTP id 94FEB6E671 for ; Tue, 10 May 2016 14:37:08 +0000 (UTC) In-Reply-To: <572CC8B9.7050000@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Dave Gordon , intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org Ck9uIDA2LzA1LzE2IDE3OjM5LCBEYXZlIEdvcmRvbiB3cm90ZToKPiBPbiAyOS8wNC8xNiAxNjow MywgVHZydGtvIFVyc3VsaW4gd3JvdGU6Cgpbc25pcF0KCj4+PiArICAgICAgICBnb3RvIGZhaWw7 Cj4+PiArICAgIGlmIChmd19wYXRoID09IE5VTEwpCj4+PiArICAgICAgICBnb3RvIGZhaWw7Cj4+ PiArICAgIGlmICgqZndfcGF0aCA9PSAnXDAnKSB7Cj4+PiArICAgICAgICBEUk1fRVJST1IoIk5v IEd1QyBmaXJtd2FyZSBrbm93biBmb3IgdGhpcyBwbGF0Zm9ybVxuIik7Cj4+Cj4+IEl0IGlzIG5v dCBhbiBlcnJvciB1bmxlc3MgaTkxNS5lbmFibGVfZ3VjX2xvYWRpbmcgPT0gMiwgbm8/IEFuZCBp ZiBiZXN0Cj4+IGVmZm9ydCB0aGVuIGl0IGlzIHByb2JhYmx5IGRlYnVnIG9yIGluZm9ybWF0aW9u YWwuCj4KPiBObywgaXQncyBzdGlsbCBhbiBFUlJPUi4gWW91J3JlIHJ1bm5pbmcgdGhlIGRyaXZl ciBvbiBhIHBsYXRmb3JtIGZvcgo+IHdoaWNoIHdlIGRvbid0IGtub3cgd2hhdCBmaXJtd2FyZSBp cyByZXF1aXJlZC4gVGhhdCBwcm9iYWJseSBtZWFucyBhbgo+IG9sZCBkcml2ZXIgb24gbmV3IGhh cmR3YXJlLCBzbyBpdCBtaWdodCBub3Qgd29yayBhdCBhbGwuIFlvdSBjYW4KPiBzdXBwcmVzcyB0 aGUgZXJyb3IgYnkgc2V0dGluZyBpOTE1LmVuYWJsZV9ndWNfbG9hZGluZz0wIGlmIHlvdSB3YW50 IHRvCj4gdHJ5IHRoaXMgdmVyc2lvbiBvZiB0aGUgZHJpdmVyIGFueXdheS4gQWxzbyBub3RlIHRo ZSBkaWZmZXJlbmNlIGJldHdlZW4KPiBwYXRoID09IE5VTEwgKG5vIEd1Qywgb3Igbm8gZmlybXdh cmUgcmVxdWlyZWQgPT4gbm90IGFuIGVycm9yKSB2cy4gcGF0aAo+ID09ICIiIChoYXMgR3VDLCBw cmVzdW1hYmx5IG5lZWRzIGZpcm13YXJlLCBidXQgd2UgZG9uJ3Qga25vdyB3aGVyZSB0bwo+IGxv b2sgPT4gRVJST1IpLgoKSSB0aGluayB0aGF0IGlmIGk5MTUuZW5hYmxlX2d1Y19sb2FkaW5nID09 IDEgdGhlbiBubyBlcnJvciBzaG91bGQgYmUgCmxvZ2dlZC4gRG9jdW1lbnRhdGlvbiBzYXlzIHRo YXQgdmFsdWUgbWVhbmQgInRyeSB0byBsb2FkL3VzZSB0aGUgR3VDLCAKZmFsbGJhY2sgaWYgbm90 IGF2YWlsYWJsZSIgYW5kIHRvIG1lIHRoYXQgbWVhbnMgaXQgaXMgbm90IGFuIGVycm9yIGFuZCAK YW4gaW5mb3JtYXRpb25hbCBtZXNzYWdlIG9ubHkgc2hvdWxkIGJlIGxvZ2dlZC4KCj4+IEFsc28s IGRvbid0IHRoZSBjaGVja3MgYWdhaW5zdCBmd19wYXRoICh0b2dldGhlciB3aXRoIHRoZSBlcnJv ciBvciBkZWJ1Zwo+PiBtZXNzYWdlKSBiZWxvbmcgaW4gdGhlIGZ3IGZldGNoIGZ1bmN0aW9uPyBJ ZiB0aGV5IGFyZSBpbnZhbGlkIGZ3IGZldGNoCj4+IHdvdWxkIGhhdmUgZmFpbGVkIGFuZCB0aGlz IGZ1bmN0aW9uIHdvdWxkIGJlIGFibGUgdG8gaW5zcGVjdCB0aGUgaGlnaAo+PiBsZXZlbCBzdGF0 dXMgb2YgdGhhdCBzdGVwIGhlcmUsIG5vPwo+Cj4gVGhlIGNoZWNrcyBhcmUgZG9uZSBpbiBpbnRl bF9ndWNfdWNvZGVfaW5pdCgpLCBiZWZvcmUgZndfZmV0Y2goKSBpcyBldmVuCj4gY2FsbGVkOyBi dXQgdGhhdCBmdW5jdGlvbiBpcyB2b2lkLCBzbyBjYW4ndCByZXR1cm4gZmFpbHVyZS4gKEFsc28s IHdlCj4gb3JpZ2luYWxseSBzdXBwb3J0ZWQgYXN5bmNocm9ub3VzIGxvYWRpbmcsIHdoaWNoIGFs c28gY2FuJ3QgcmV0dXJuCj4gZmFpbHVyZSkuIFNvIHRoaXMgZnVuY3Rpb24gd2lsbCBnZXQgY2Fs bGVkIGV2ZW4gd2hlbiB3ZSBhbHJlYWR5IGtub3cKPiB0aGF0IHdlIGhhdmVuJ3QgZ290IGFueSBm aXJtd2FyZSB0byBsb2FkLCBhbmQgdGhlc2UgdGVzdHMgYXJlIGluZGVlZAo+IGNoZWNraW5nIHRo ZSBoaWdoLWxldmVsIHN0YXR1cyBmcm9tIF9pbml0KCkuCgpBbnlob3cgdGhlIHNwZWNpYWwgbWVh bmluZ3MgY29udmV5ZWQgaW4gZndfcGF0aCA9PSBOVUxMIGFuZCAqZndfcGF0aCA9PSAKMCBhcmUg aW1obyBqdXN0IHRvbyBoYXJkIHRvIGZvbGxvdy4gSSBzZWUgaXQgaXMgbm90IHlvdXIgY29kZSwg YnV0IApyZXdvcmtpbmcgdGhpcyBsb29rZWQgbGlrZSBhbiBvcHBvcnR1bml0eSB0byBjbGVhbiB0 aGF0IHVwLiBOZXZlciBtaW5kLgoKPj4+ICsgICAgICAgIGdvdG8gZmFpbDsKPj4+ICsgICAgfQo+ Pj4KPj4+IC0gICAgaWYgKGd1Y19mdy0+Z3VjX2Z3X2ZldGNoX3N0YXR1cyA9PSBHVUNfRklSTVdB UkVfTk9ORSkKPj4+IC0gICAgICAgIHJldHVybiAwOwo+Pj4gKyAgICAvKiBGZXRjaCBmYWlsZWQs IG9yIGFscmVhZHkgZmV0Y2hlZCBidXQgZmFpbGVkIHRvIGxvYWQ/ICovCj4+PiArICAgIGlmIChn dWNfZnctPmd1Y19md19mZXRjaF9zdGF0dXMgIT0gR1VDX0ZJUk1XQVJFX1NVQ0NFU1MpCj4+PiAr ICAgICAgICBnb3RvIGZhaWw7Cj4+PiArICAgIGlmIChndWNfZnctPmd1Y19md19sb2FkX3N0YXR1 cyA9PSBHVUNfRklSTVdBUkVfRkFJTCkKPj4+ICsgICAgICAgIGdvdG8gZmFpbDsKPj4KPj4gTGVh ZHMgYmFjayB0byB0aGUgcXVlc3Rpb24gb2YgbG9hZCBzdGF0dXMgaW4gdGhpcyBmdW5jdGlvbi4g U28gaXQgaXMKPj4gZXhwZWN0ZWQgd2UgYWx3YXlzIGVudGVyIGhlcmUgd2l0aCBsb2FkIHN0YXR1 cyBvZiBub25lPyBJcyBpdCBwb3NzaWJsZQo+PiB0byBnZXQgaGVyZSB3aXRoIHRoZSBmaXJtd2Fy ZSBhbHJlYWR5IGxvYWRlZCBhbHJlYWR5Pwo+Cj4gTm90ICphY3R1YWxseSogbG9hZGVkLCBiZWNh dXNlIGl0J3MgYmVlbiBlcmFzZWQgYnkgcG93ZXJvZmYuIEJ1dCB0aGUKPiBzdGF0dXMgdHJhY2tp bmcgdmFyaWFibGVzIGFyZSBwZXJzaXN0ZW50LCBzbyB0aGV5IHJlZmxlY3QgdGhlIGxhc3QKPiBh dHRlbXB0LiBTbyBvbiByZXN1bWUsIHdlIGFjdHVhbGx5IGV4cGVjdCAiU1VDQ0VTUyIgYXQgdGhp cyBwb2ludCwgYW5kCj4gdGhlcmVmb3JlIGNoYW5nZSBpdCBiYWNrIHRvIFBFTkRJTkcgYmVsb3cu CgpTaG91bGRuJ3QgdGhlIGNvZGUgdGhlbiB1cGRhdGUgdGhlIHN0YXR1cyB2YXJpYWJsZXMgb24g c3VzcGVuZC93aGF0ZXZlcj8gClNhbWUgYXMgYWJvdmUsIEkgZmluZCBpdCB2ZXJ5IGhhcmQgdG8g Zm9sbG93IHRoZSBsb2dpYyBoZXJlLgoKPj4+IC0gICAgaWYgKGd1Y19mdy0+Z3VjX2Z3X2ZldGNo X3N0YXR1cyA9PSBHVUNfRklSTVdBUkVfU1VDQ0VTUyAmJgo+Pj4gLSAgICAgICAgZ3VjX2Z3LT5n dWNfZndfbG9hZF9zdGF0dXMgPT0gR1VDX0ZJUk1XQVJFX0ZBSUwpCj4+PiAtICAgICAgICByZXR1 cm4gLUVOT0VYRUM7Cj4+PiArICAgIGRpcmVjdF9pbnRlcnJ1cHRzX3RvX2hvc3QoZGV2X3ByaXYp Owo+Pj4KPj4+ICAgICAgIGd1Y19mdy0+Z3VjX2Z3X2xvYWRfc3RhdHVzID0gR1VDX0ZJUk1XQVJF X1BFTkRJTkc7Cj4+Pgo+Pj4gLSAgICBEUk1fREVCVUdfRFJJVkVSKCJHdUMgZncgZmV0Y2ggc3Rh dHVzICVzXG4iLAo+Pj4gLSAgICAgICAgaW50ZWxfZ3VjX2Z3X3N0YXR1c19yZXByKGd1Y19mdy0+ Z3VjX2Z3X2ZldGNoX3N0YXR1cykpOwo+Pj4gLQo+Pj4gLSAgICBzd2l0Y2ggKGd1Y19mdy0+Z3Vj X2Z3X2ZldGNoX3N0YXR1cykgewo+Pj4gLSAgICBjYXNlIEdVQ19GSVJNV0FSRV9GQUlMOgo+Pj4g LSAgICAgICAgLyogc29tZXRoaW5nIHdlbnQgd3JvbmcgOiggKi8KPj4+IC0gICAgICAgIGVyciA9 IC1FSU87Cj4+PiAtICAgICAgICBnb3RvIGZhaWw7Cj4+PiAtCj4+PiAtICAgIGNhc2UgR1VDX0ZJ Uk1XQVJFX05PTkU6Cj4+PiAtICAgIGNhc2UgR1VDX0ZJUk1XQVJFX1BFTkRJTkc6Cj4+PiAtICAg IGRlZmF1bHQ6Cj4+PiAtICAgICAgICAvKiAiY2FuJ3QgaGFwcGVuIiAqLwo+Pj4gLSAgICAgICAg V0FSTl9PTkNFKDEsICJHdUMgZncgJXMgaW52YWxpZCBndWNfZndfZmV0Y2hfc3RhdHVzICVzIFsl ZF1cbiIsCj4+PiAtICAgICAgICAgICAgZ3VjX2Z3LT5ndWNfZndfcGF0aCwKPj4+IC0gICAgICAg ICAgICBpbnRlbF9ndWNfZndfc3RhdHVzX3JlcHIoZ3VjX2Z3LT5ndWNfZndfZmV0Y2hfc3RhdHVz KSwKPj4+IC0gICAgICAgICAgICBndWNfZnctPmd1Y19md19mZXRjaF9zdGF0dXMpOwo+Pj4gLSAg ICAgICAgZXJyID0gLUVOWElPOwo+Pj4gLSAgICAgICAgZ290byBmYWlsOwo+Pj4gLQo+Pj4gLSAg ICBjYXNlIEdVQ19GSVJNV0FSRV9TVUNDRVNTOgo+Pj4gLSAgICAgICAgYnJlYWs7Cj4+PiAtICAg IH0KPj4+ICsgICAgRFJNX0RFQlVHX0RSSVZFUigiR3VDIGZ3IHN0YXR1czogZmV0Y2ggJXMsIGxv YWQgJXNcbiIsCj4+PiArICAgICAgICBpbnRlbF9ndWNfZndfc3RhdHVzX3JlcHIoZ3VjX2Z3LT5n dWNfZndfZmV0Y2hfc3RhdHVzKSwKPj4+ICsgICAgICAgIGludGVsX2d1Y19md19zdGF0dXNfcmVw cihndWNfZnctPmd1Y19md19sb2FkX3N0YXR1cykpOwo+Pj4KPj4+ICAgICAgIGVyciA9IGk5MTVf Z3VjX3N1Ym1pc3Npb25faW5pdChkZXYpOwo+Pj4gICAgICAgaWYgKGVycikKPj4+IEBAIC00ODMs NiArNDcxLDcgQEAgaW50IGludGVsX2d1Y191Y29kZV9sb2FkKHN0cnVjdCBkcm1fZGV2aWNlICpk ZXYpCj4+Pgo+Pj4gICBmYWlsOgo+Pj4gICAgICAgRFJNX0VSUk9SKCJHdUMgZmlybXdhcmUgbG9h ZCBmYWlsZWQsIGVyciAlZFxuIiwgZXJyKTsKPj4KPj4gU2FtZSBhcyBhYm92ZSBJIHRoaW5rIGVy cm9yIG11c3QgYmUgZGVwZW5kZW50IG9uIHRoZSByZXF1ZXN0ZWQgbW9kZS4KPj4gU29tZSBjdXN0 b21lcnMgYXJlIHZlcnkgc2Vuc2l0aXZlIHRvIGVycm9ycyB3aGljaCBhcmUgbm90IHJlYWxseSBl cnJvcnMKPj4gc28gaXQgaXMgYmFkIHRvIGxvZyB0aGVtIHdoZW4gdGhleSBhcmUgbm90Lgo+Cj4g Tm8sIGl0J3Mgc3RpbGwgYW4gRVJST1IuIGVuYWJsZV9ndWNfbG9hZGluZyBtdXN0IGJlIG5vbnpl cm8sIHNvIHdlJ3ZlCj4gYmVlbiBhc2tlZCB0byAqdHJ5KiB0byBsb2FkIHRoZSBHdUMuIElmIHRo ZSBsb2FkIGZhaWxzLCB0aGF0IG1lYW5zCj4gYnJva2VuIGhhcmR3YXJlIG9yIGEgY29ycnVwdCBm aXJtd2FyZSBibG9iLCBvciBzb21lIG90aGVyIGZvcm0gb2Ygc3lzdGVtCj4gbWlzY29uZmlndXJh dGlvbi4gRXZlbiBpZiB3ZSdyZSBnb2luZyB0byBmYWxsIGJhY2sgdG8gZXhlY2xpc3QgbW9kZSwK PiB0aGF0IG5lZWRzIHRvIGJlIHJlcG9ydGVkOyBmb3IgZXhhbXBsZSwgaXQgbWF5IG1lYW4gdGhh dCBTTFBDIGlzCj4gZGlzYWJsZWQuIFRoZSB1c2VyIGNhbiBhdm9pZCB0aGUgZXJyb3IgYnkgYm9v dGluZyB3aXRoIEd1QyBsb2FkaW5nCj4gZGlzYWJsZWQsIGJ1dCB0aGV5IHNob3VsZCBwcm9iYWJs eSBmaXggdGhlIHByb2JsZW0gaW5zdGVhZC4KClllcyBpdCBuZWVkcyB0byBiZSByZXBvcnRlZCwg YnV0IGlmIHdlIGFyZSBpbiBiZXN0IGVmZm9ydCBtb2RlIGl0IHNob3VsZCAKYmUgaW5mb3JtYXRp b25hbCBJIHRoaW5rLiBEZXBlbmRzIGhvdyB5b3UgdmlldyB0aGUgZXJyb3JzIGluIHRoZSBrZXJu ZWwgCmxvZyAtIGl0IG1heSBiZSBhIGZpcm13YXJlIGxvYWRpbmcgZXJyb3IsIGJ1dCBmcm9tIHRo ZSBwb2ludCBvZiB2aWV3IG9mIAp0aGUgc3lzdGVtIGxvZywgaXQgaXMgbm90IGFuIGVycm9yLiBF dmVyeXRoaW5nIHN0aWxsIHdvcmtzIGFzIGludGVuZGVkLCAKbW9yZSBzbywgdGhlIHVzZXIgaGFz IGFza2VkIHVzIHRvIHRyeSBhbmQgY2Fycnkgb24gd2l0aCB0aGUgYWx0ZXJuYXRpdmUuIApTbyB0 aGUgc3lzdGVtIChsb2cpIGV4cGVyaWVuY2VkIG5vIGVycm9yLgoKPj4+ICsKPj4+ICAgICAgIGlm IChndWNfZnctPmd1Y19md19sb2FkX3N0YXR1cyA9PSBHVUNfRklSTVdBUkVfUEVORElORykKPj4+ ICAgICAgICAgICBndWNfZnctPmd1Y19md19sb2FkX3N0YXR1cyA9IEdVQ19GSVJNV0FSRV9GQUlM Owo+Pj4KPj4+IEBAIC00OTAsNiArNDc5LDI5IEBAIGludCBpbnRlbF9ndWNfdWNvZGVfbG9hZChz dHJ1Y3QgZHJtX2RldmljZSAqZGV2KQo+Pj4gICAgICAgaTkxNV9ndWNfc3VibWlzc2lvbl9kaXNh YmxlKGRldik7Cj4+PiAgICAgICBpOTE1X2d1Y19zdWJtaXNzaW9uX2ZpbmkoZGV2KTsKPj4+Cj4+ PiArICAgIC8qCj4+PiArICAgICAqIFdlJ3ZlIGZhaWxlZCB0byBsb2FkIHRoZSBmaXJtd2FyZSA6 KAo+Pj4gKyAgICAgKgo+Pj4gKyAgICAgKiBEZWNpZGUgd2hldGhlciB0byBkaXNhYmxlIEd1QyBz dWJtaXNzaW9uIGFuZCBmYWxsIGJhY2sgdG8KPj4+ICsgICAgICogZXhlY2xpc3QgbW9kZSwgYW5k IHdoZXRoZXIgdG8gaGlkZSB0aGUgZXJyb3IgYnkgcmV0dXJuaW5nCj4+PiArICAgICAqIHplcm8g b3IgdG8gcmV0dXJuIC1FSU8sIHdoaWNoIHRoZSBjYWxsZXIgd2lsbCB0cmVhdCBhcyBhCj4+PiAr ICAgICAqIG5vbmZhdGFsIGVycm9yIChpLmUuIGl0IGRvZXNuJ3QgcHJldmVudCBkcml2ZXIgbG9h ZCwgYnV0Cj4+PiArICAgICAqIG1hcmtzIHRoZSBHUFUgYXMgd2VkZ2VkIHVudGlsIHJlc2V0KS4K Pj4+ICsgICAgICovCj4+PiArICAgIGlmIChpOTE1LmVuYWJsZV9ndWNfbG9hZGluZyA+IDEpIHsK Pj4+ICsgICAgICAgIGVyciA9IC1FSU87Cj4+PiArICAgIH0gZWxzZSBpZiAoSEFTX0dVQ19TQ0hF RChkZXYpICYmICFIQVNfR1VDX1VDT0RFKGRldikpIHsKPj4+ICsgICAgICAgIHJldHVybiAwOwo+ Pgo+PiBpOTE1X2dlbV9pbml0X2h3IGFscmVhZHkgZ3VhcmRzIHRoZSBjYWxsIHRvIGludGVsX2d1 Y191Y29kZV9sb2FkIHdpdGgKPj4gSEFTX0dVQ19VQ09ERSBzbyBhdCB0aGUgbW9tZW50IGF0IGxl YXN0IHRoaXMgaXMgYSBkZWFkIGJyYW5jaC4KPj4KPj4gSSBkb24ndCBldmVuIHVuZGVyc3RhbmQg d2hhdCBpcyB0aGlzIGJyYW5jaCBzdXBwb3NlZCB0byBkbz8gSG93IGNhbgo+PiB0aGVyZSBiZSBh IHBsYXRmb3JtIHdpdGggbm8gZ3VjIGZ3IGJ1dCBndWMgc2NoZWR1bGluZz8KPgo+IEltYWdpbmUg YSBHdUMgd2l0aCBmaXJtd2FyZSBpbiBST00gOikgT3IgYXQgbGVhc3QgZmxhc2ggLi4uCj4KPiAo aXQgYWxyZWFkeSBoYXMgYSBCb290Uk9NKQoKT2sgYnV0IGl0IGlzIHN0aWxsIGEgZGVhZCBicmFu Y2gsIG5vPyBTaG91bGQgdGhlIEhBU19HVUNfVUNPREUgZ3VhcmQgaW4gCmk5MTVfZ2VtX2luaXRf aHcgYmUgcmVtb3ZlZCBhbmQgbGV0IGJlIGhhbmRsZWQgYnkgdGhpcyBjb2RlIG9ubHk/Cgo+Pj4g KyAgICB9IGVsc2UgaWYgKGk5MTUuZW5hYmxlX2d1Y19zdWJtaXNzaW9uID4gMSkgewo+Pj4gKyAg ICAgICAgZXJyID0gLUVJTzsKPj4+ICsgICAgfSBlbHNlIHsKPj4+ICsgICAgICAgIGVyciA9IDA7 Cj4+PiArICAgIH0KPj4+ICsKPj4+ICsgICAgaTkxNS5lbmFibGVfZ3VjX3N1Ym1pc3Npb24gPSAw Owo+Pj4gKwo+Pj4gKyAgICBEUk1fREVCVUdfRFJJVkVSKCJmYWxsaW5nIGJhY2sgdG8gZXhlY2xp c3QgbW9kZSwgZXJyICVkXG4iLCBlcnIpOwo+Pj4gKwo+Pgo+PiBUaGlzIHdvdWxkIGxvZyB3aGVu IGk5MTUuZW5hYmxlX2d1Y19sb2FkaW5nIGlzIHNldCB0byAwIHdoaWNoIHdvdWxkIGJlCj4+IGNv bmZ1c2luZy4gSSB0aGluayBpbiB0aGlzIGNhc2UgdGhlIGZ1bmN0aW9uIHNob3VsZCBiYWlsIG91 dCBtdWNoCj4+IGVhcmxpZXIuCj4KPiBUaGF0IHdhcyB0ZXN0ZWQgcmlnaHQgYmFjayBhdCB0aGUg dG9wIG9mIHRoZSBmdW5jdGlvbiEgSXQgYmFpbGVkIG91dAo+IHZlcnkgZWFybHksIHNvIHlvdSBj YW4ndCBnZXQgaGVyZSB3aXRoIEd1QyBsb2FkaW5nIGRpc2FibGVkLgoKQUZBSUNTIHRoZSBwYXRj aCByZW1vdmVzIHRoZSBlYXJseSBiYWlsb3V0PyEKCj4gQWxzbywgdGhhdCdzIGEgREVCVUcgbWVz c2FnZSwgc28gdXNlcnMgd29uJ3Qgc2VlIGl0IGJ5IGRlZmF1bHQuCgpTbyBpdCBpcyBPSyB0byBj b25mdXNlIGZlbGxvdyBkZXZlbG9wZXJzPyA6RAoKPj4+ICAgICAgIGlmICghSEFTX0dVQ19VQ09E RShkZXYpKSB7Cj4+PiAgICAgICAgICAgZndfcGF0aCA9IE5VTEw7Cj4+PiBAQCAtNjQxLDI2ICs2 NTYsMjEgQEAgdm9pZCBpbnRlbF9ndWNfdWNvZGVfaW5pdChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2 KQo+Pj4gICAgICAgICAgIGd1Y19mdy0+Z3VjX2Z3X21ham9yX3dhbnRlZCA9IDY7Cj4+PiAgICAg ICAgICAgZ3VjX2Z3LT5ndWNfZndfbWlub3Jfd2FudGVkID0gMTsKPj4+ICAgICAgIH0gZWxzZSB7 Cj4+PiAtICAgICAgICBpOTE1LmVuYWJsZV9ndWNfc3VibWlzc2lvbiA9IGZhbHNlOwo+Pj4gICAg ICAgICAgIGZ3X3BhdGggPSAiIjsgICAgLyogdW5rbm93biBkZXZpY2UgKi8KPj4+ICAgICAgIH0K Pj4KPj4gQ29uZnVzaW5nIGJsb2NrLCBIQVNfR1VDX1VDT0RFIGlzIGRlZmluZWQgYXMgKElTX0dF TjkoZGV2KSAmJgo+PiAhSVNfS0FCWUxBS0UoZGV2KSkgYnV0IHRoZW4gaGVyZSB3ZSBvbmx5IHN1 cHBvcnQgU0tMIGhlcmUuIFdoeSB0aGUKPj4gZm9ybWVyIGlzIHRoZW4gbm90IGp1c3QgSVNfU0tZ TEFLRT8KPj4KPj4gV2hlbiBCWFQgc3VwcG9ydCBpcyBhZGRlZCB0aGlzIHN0aWxsIG5lZWRzIHRv IGJlIG1vZGlmaWVkIGFuZCB3b3VsZCBvbmx5Cj4+IHNhdmUgdG91Y2hpbmcgSEFTX0dVQ19VQ09E RSBpbiB0aGUgaGVhZGVyLiBCdXQgaXQgbXVzdCBiZSBhIGJldHRlcgo+PiByZWFzb24/Cj4KPiBJ IGRvbid0IHNlZSBhbnl0aGluZyBjb25mdXNpbmcuIFRoZSBsb2dpYyBkb2VzIG5vdCBkZXBlbmQg b24gaG93Cj4gc29tZWJvZHkgaGFzIGRlZmluZWQgSEFTX0dVQ19VQ09ERSgpLCBhbmQgd2Ugc2hv dWxkbid0IGFzc3VtZSBhbnkKPiByZWxhdGlvbiBiZXR3ZWVuIGl0IGFuZCB0aGUgcGxhdGZvcm0g bWFjcm9zLiBXaGF0IGl0IHNheXMgaGVyZSBpczoKPgo+IDEuICBpZiB0aGlzIHBsYXRmb3JtICpk b2Vzbid0KiBoYXZlIEd1QyBmaXJtd2FyZSwgZndfcGF0aCBpcyBOVUxMCj4gMmEuIGVsc2UgaWYg dGhpcyBpcyBTS1lMQUtFLCBsb29rIGZvciBmL3cgdmVyc2lvbiA2LjEKPiAyYi4gKHJlcGVhdCAy YSBmb3IgZWFjaCBzdXBwb3J0ZWQgcGxhdGZvcm0pCj4gMy4gIChlbHNlKSB1bmtub3duIGRldmlj ZSwgcGF0aCBpcyAiIiB3aGljaCB0cmlnZ2VycyBFUlJPUiBsYXRlci4KPgo+IEltYWdpbmUgYSBT S0wgdmVyc2lvbiB3aXRoIEd1QyB1Q29kZSBpbiBST00gLSB0aGUgSEFTX0dVQ19VQ09ERSgpIHRl c3QKPiBtdXN0IHRha2UgcHJlY2VkZW5jZS4KCk15IHF1ZXN0aW9uIHdhcywgd2h5IGlzbid0IEhB U19HVUNfVUNPREUgPT0gSVNfU0tZTEFLRSB0byBzdGFydCB3aXRoID8gClRoZW4gd2hlbiBCWFQg c3VwcG9ydCBpcyBhZGRlZCwgd2hpY2ggd2lsbCBuZWVkIGNvZGUgY2hhbmdlcyBhbnl3YXksIHdl IApjaGFuZ2UgSEFTX0dVQ19VQ09ERSBvbmx5LgoKPj4+IC0gICAgaWYgKCFpOTE1LmVuYWJsZV9n dWNfc3VibWlzc2lvbikKPj4+IC0gICAgICAgIHJldHVybjsKPj4+IC0KPj4+ICAgICAgIGd1Y19m dy0+Z3VjX2RldiA9IGRldjsKPj4+ICAgICAgIGd1Y19mdy0+Z3VjX2Z3X3BhdGggPSBmd19wYXRo Owo+Pj4gICAgICAgZ3VjX2Z3LT5ndWNfZndfZmV0Y2hfc3RhdHVzID0gR1VDX0ZJUk1XQVJFX05P TkU7Cj4+PiAgICAgICBndWNfZnctPmd1Y19md19sb2FkX3N0YXR1cyA9IEdVQ19GSVJNV0FSRV9O T05FOwo+Pj4KPj4+ICsgICAgLyogRWFybHkgKGFuZCBzaWxlbnQpIHJldHVybiBpZiBHdUMgbG9h ZGluZyBpcyBkaXNhYmxlZCAqLwo+Pj4gKyAgICBpZiAoIWk5MTUuZW5hYmxlX2d1Y19sb2FkaW5n KQo+Pj4gKyAgICAgICAgcmV0dXJuOwo+Pj4gICAgICAgaWYgKGZ3X3BhdGggPT0gTlVMTCkKPj4+ ICAgICAgICAgICByZXR1cm47Cj4+PiAtCj4+PiAtICAgIGlmICgqZndfcGF0aCA9PSAnXDAnKSB7 Cj4+PiAtICAgICAgICBEUk1fRVJST1IoIk5vIEd1QyBmaXJtd2FyZSBrbm93biBmb3IgdGhpcyBw bGF0Zm9ybVxuIik7Cj4+PiAtICAgICAgICBndWNfZnctPmd1Y19md19mZXRjaF9zdGF0dXMgPSBH VUNfRklSTVdBUkVfRkFJTDsKPj4+ICsgICAgaWYgKCpmd19wYXRoID09ICdcMCcpCj4+PiAgICAg ICAgICAgcmV0dXJuOwo+Pj4gLSAgICB9Cj4+Cj4+IEkgYWxzbyBkbyBub3QgdW5kZXJzdGFuZCB0 aGUgY29tcGxpY2F0aW9ucyB3aXRoIGZ3X3BhdGggKGVpdGhlciBOVUxMIG9yCj4+ICIiKS4gSW4g dGhlIHR3byBjYXNlcyBmZXRjaCBzdGF0dXMgd2lsbCBiZSBlaXRoZXIgbm9uZSBvciBmYWlsLAo+ PiByZXNwZWN0aXZlbHksIHdoaWNoIHdpbGwgZXF1YWxseSBjYXVzZSBpbnRlbF9ndWNfdWNvZGVf bG9hZCB0byBoaXQgdGhlCj4+IGZhaWx1cmUgcGF0aCAoZndfZmV0Y2hfc3RhdHVzICE9IHN1Y2Nl c3MpLgo+Pgo+PiBTbyBJcyBpdCByZWFsbHkgcmVxdWlyZWQgZm9yIHRoZSBmd19wYXRoIHRvIGNh biBlaXRoZXIgYmUgTlVMTCBvciAiIj8KPgo+IEFzIG1lbnRpb25lZCBiZWZvcmUsIGl0J3Mgc28g dGhhdCB0aGUgc3RhdHVzIGdldHMgcHJvcGFnYXRlZCBmcm9tCj4gX2luaXQoKSB0byBfbG9hZCgp LiBBIFByZXZpb3VzIFJldmlld2VyIGRpZG4ndCBsaWtlIGlzc3VpbmcgZXJyb3JzIGhlcmUsCj4g c28gdGhlIGVycm9yIHJlcG9ydCBnb3QgZGVmZXJyZWQgdW50aWwgd2UgYWN0dWFsbHkgdHJ5IHRv IGxvYWQgdGhlCj4gZmlybXdhcmUuIChBbHNvLCBzb21lZGF5LCB3ZSBtaWdodCByZWVuYWJsZSBh c3luY2hyb25vdXMgKGRlZmVycmVkKQo+IGZpcm13YXJlIGxvYWRpbmcuIGVzcGVjaWFsbHkgb24g QW5kcm9pZCkuCgpJdCBpcyBhbGwgdmVyeSBjb21wbGljYXRlZCwgZG8gd2UgaGF2ZSBhbiBJR1Qg dG8gdGVzdCBhbGwgdGhlc2UgbmV3IApvcHRpb25zPyBJIHdvdWxkIHRydXN0IHRoYXQgbW9yZSB0 aGFuIG15IGFiaWxpdHkgdG8gZmlndXJlIG91dCB0aGUgbG9naWMgCmhlcmUuCgpSZWdhcmRzLAoK VHZydGtvCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCklu dGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRw czovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=