From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: References: <20190417063215.17459-1-chris@chris-wilson.co.uk> From: Tvrtko Ursulin Message-ID: <15b09447-81da-7ae2-3035-32b322580a3f@linux.intel.com> Date: Wed, 17 Apr 2019 08:36:18 +0100 MIME-Version: 1.0 In-Reply-To: <20190417063215.17459-1-chris@chris-wilson.co.uk> Content-Language: en-US Subject: Re: [igt-dev] [PATCH i-g-t] i915: Update i915_drm.h List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Transfer-Encoding: base64 Content-Type: text/plain; charset="utf-8"; Format="flowed" Errors-To: igt-dev-bounces@lists.freedesktop.org Sender: "igt-dev" To: Chris Wilson , intel-gfx@lists.freedesktop.org Cc: igt-dev@lists.freedesktop.org, Tvrtko Ursulin List-ID: Ck9uIDE3LzA0LzIwMTkgMDc6MzIsIENocmlzIFdpbHNvbiB3cm90ZToKPiBDb3B5IHVhcGkvaTkx NV9kcm0uaCBhY3Jvc3MgZnJvbQo+IGtlcm5lbCBjb21taXQgZDExNzJhYjNkNDQzZTg0YWRlNzUy ODVmOGMxMDdiZmFjN2UzODZkOAo+IEF1dGhvcjogQ2hyaXMgV2lsc29uIDxjaHJpc0BjaHJpcy13 aWxzb24uY28udWs+Cj4gRGF0ZTogICBGcmkgQXByIDEyIDA4OjE0OjE2IDIwMTkgKzAxMDAKPiAK PiAgICAgIGRybS9pOTE1OiBJbnRyb2R1Y2Ugc3RydWN0IGNsYXNzX2luc3RhbmNlIGZvciBlbmdp bmVzIGFjcm9zcyB0aGUgdUFQSQo+IAo+IGFuZCBhZGFwdCBnZW1fY3R4X3NzZXUgdG8gbWF0Y2gg dGhlIG5ldyBzdHJ1Y3QuCj4gCj4gU2lnbmVkLW9mZi1ieTogQ2hyaXMgV2lsc29uIDxjaHJpc0Bj aHJpcy13aWxzb24uY28udWs+Cj4gQ2M6IFR2cnRrbyBVcnN1bGluIDx0dnJ0a28udXJzdWxpbkBp bnRlbC5jb20+Cj4gLS0tCj4gICBpbmNsdWRlL2RybS11YXBpL2k5MTVfZHJtLmggfCAxOTEgKysr KysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tCj4gICB0ZXN0cy9pOTE1L2dlbV9jdHhf c3NldS5jICAgfCAgMjYgKystLS0KPiAgIDIgZmlsZXMgY2hhbmdlZCwgMTQ3IGluc2VydGlvbnMo KyksIDcwIGRlbGV0aW9ucygtKQo+IAo+IGRpZmYgLS1naXQgYS9pbmNsdWRlL2RybS11YXBpL2k5 MTVfZHJtLmggYi9pbmNsdWRlL2RybS11YXBpL2k5MTVfZHJtLmgKPiBpbmRleCA0YWUxYzZmZjYu LmUwMWIzZTFmZCAxMDA2NDQKPiAtLS0gYS9pbmNsdWRlL2RybS11YXBpL2k5MTVfZHJtLmgKPiAr KysgYi9pbmNsdWRlL2RybS11YXBpL2k5MTVfZHJtLmgKPiBAQCAtNjIsNiArNjIsMjggQEAgZXh0 ZXJuICJDIiB7Cj4gICAjZGVmaW5lIEk5MTVfRVJST1JfVUVWRU5UCQkiRVJST1IiCj4gICAjZGVm aW5lIEk5MTVfUkVTRVRfVUVWRU5UCQkiUkVTRVQiCj4gICAKPiArLyoKPiArICogaTkxNV91c2Vy X2V4dGVuc2lvbjogQmFzZSBjbGFzcyBmb3IgZGVmaW5pbmcgYSBjaGFpbiBvZiBleHRlbnNpb25z Cj4gKyAqCj4gKyAqIE1hbnkgaW50ZXJmYWNlcyBuZWVkIHRvIGdyb3cgb3ZlciB0aW1lLiBJbiBt b3N0IGNhc2VzIHdlIGNhbiBzaW1wbHkKPiArICogZXh0ZW5kIHRoZSBzdHJ1Y3QgYW5kIGhhdmUg dXNlcnNwYWNlIHBhc3MgaW4gbW9yZSBkYXRhLiBBbm90aGVyIG9wdGlvbiwKPiArICogYXMgZGVt b25zdHJhdGVkIGJ5IFZ1bGthbidzIGFwcHJvYWNoIHRvIHByb3ZpZGluZyBleHRlbnNpb25zIGZv ciBmb3J3YXJkCj4gKyAqIGFuZCBiYWNrd2FyZCBjb21wYXRpYmlsaXR5LCBpcyB0byB1c2UgYSBs aXN0IG9mIG9wdGlvbmFsIHN0cnVjdHMgdG8KPiArICogcHJvdmlkZSB0aG9zZSBleHRyYSBkZXRh aWxzLgo+ICsgKgo+ICsgKiBUaGUga2V5IGFkdmFudGFnZSB0byB1c2luZyBhbiBleHRlbnNpb24g Y2hhaW4gaXMgdGhhdCBpdCBhbGxvd3MgdXMgdG8KPiArICogcmVkZWZpbmUgdGhlIGludGVyZmFj ZSBtb3JlIGVhc2lseSB0aGFuIGFuIGV2ZXIgZ3Jvd2luZyBzdHJ1Y3Qgb2YKPiArICogaW5jcmVh c2luZyBjb21wbGV4aXR5LCBhbmQgZm9yIGxhcmdlIHBhcnRzIG9mIHRoYXQgaW50ZXJmYWNlIHRv IGJlCj4gKyAqIGVudGlyZWx5IG9wdGlvbmFsLiBUaGUgZG93bnNpZGUgaXMgbW9yZSBwb2ludGVy IGNoYXNpbmc7IGNoYXNpbmcgYWNyb3NzCj4gKyAqIHRoZSBib3VuZGFyeSB3aXRoIHBvaW50ZXJz IGVuY2Fwc3VsYXRlZCBpbnNpZGUgdTY0Lgo+ICsgKi8KPiArc3RydWN0IGk5MTVfdXNlcl9leHRl bnNpb24gewo+ICsJX191NjQgbmV4dF9leHRlbnNpb247Cj4gKwlfX3UzMiBuYW1lOwo+ICsJX191 MzIgZmxhZ3M7IC8qIEFsbCB1bmRlZmluZWQgYml0cyBtdXN0IGJlIHplcm8uICovCj4gKwlfX3Uz MiByc3ZkWzRdOyAvKiBSZXNlcnZlZCBmb3IgZnV0dXJlIHVzZTsgbXVzdCBiZSB6ZXJvLiAqLwo+ ICt9Owo+ICsKPiAgIC8qCj4gICAgKiBNT0NTIGluZGV4ZXMgdXNlZCBmb3IgR1BVIHN1cmZhY2Vz LCBkZWZpbmluZyB0aGUgY2FjaGVhYmlsaXR5IG9mIHRoZQo+ICAgICogc3VyZmFjZSBkYXRhIGFu ZCB0aGUgY29oZXJlbmN5IGZvciB0aGlzIGRhdGEgd3J0LiBDUFUgdnMuIEdQVSBhY2Nlc3Nlcy4K PiBAQCAtMTA0LDYgKzEyNiwxOCBAQCBlbnVtIGRybV9pOTE1X2dlbV9lbmdpbmVfY2xhc3Mgewo+ ICAgCUk5MTVfRU5HSU5FX0NMQVNTX0lOVkFMSUQJPSAtMQo+ICAgfTsKPiAgIAo+ICsvKgo+ICsg KiBUaGVyZSBtYXkgYmUgbW9yZSB0aGFuIG9uZSBlbmdpbmUgZnVsZmlsbGluZyBhbnkgcm9sZSB3 aXRoaW4gdGhlIHN5c3RlbS4KPiArICogRWFjaCBlbmdpbmUgb2YgYSBjbGFzcyBpcyBnaXZlbiBh IHVuaXF1ZSBpbnN0YW5jZSBudW1iZXIgYW5kIHRoZXJlZm9yZQo+ICsgKiBhbnkgZW5naW5lIGNh biBiZSBzcGVjaWZpZWQgYnkgaXRzIGNsYXNzOmluc3RhbmNlIHR1cGxldC4gQVBJcyB0aGF0IGFs bG93Cj4gKyAqIGFjY2VzcyB0byBhbnkgZW5naW5lIGluIHRoZSBzeXN0ZW0gd2lsbCB1c2Ugc3Ry dWN0IGk5MTVfZW5naW5lX2NsYXNzX2luc3RhbmNlCj4gKyAqIGZvciB0aGlzIGlkZW50aWZpY2F0 aW9uLgo+ICsgKi8KPiArc3RydWN0IGk5MTVfZW5naW5lX2NsYXNzX2luc3RhbmNlIHsKPiArCV9f dTE2IGVuZ2luZV9jbGFzczsgLyogc2VlIGVudW0gZHJtX2k5MTVfZ2VtX2VuZ2luZV9jbGFzcyAq Lwo+ICsJX191MTYgZW5naW5lX2luc3RhbmNlOwo+ICt9Owo+ICsKPiAgIC8qKgo+ICAgICogRE9D OiBwZXJmX2V2ZW50cyBleHBvc2VkIGJ5IGk5MTUgdGhyb3VnaCAvc3lzL2J1cy9ldmVudF9zb3Vy Y2VzL2RyaXZlcnMvaTkxNQo+ICAgICoKPiBAQCAtMzcwLDYgKzQwNCw3IEBAIHR5cGVkZWYgc3Ry dWN0IF9kcm1faTkxNV9zYXJlYSB7Cj4gICAjZGVmaW5lIERSTV9JT0NUTF9JOTE1X0dFVF9TUFJJ VEVfQ09MT1JLRVkgRFJNX0lPV1IoRFJNX0NPTU1BTkRfQkFTRSArIERSTV9JOTE1X0dFVF9TUFJJ VEVfQ09MT1JLRVksIHN0cnVjdCBkcm1faW50ZWxfc3ByaXRlX2NvbG9ya2V5KQo+ICAgI2RlZmlu ZSBEUk1fSU9DVExfSTkxNV9HRU1fV0FJVAkJRFJNX0lPV1IoRFJNX0NPTU1BTkRfQkFTRSArIERS TV9JOTE1X0dFTV9XQUlULCBzdHJ1Y3QgZHJtX2k5MTVfZ2VtX3dhaXQpCj4gICAjZGVmaW5lIERS TV9JT0NUTF9JOTE1X0dFTV9DT05URVhUX0NSRUFURQlEUk1fSU9XUiAoRFJNX0NPTU1BTkRfQkFT RSArIERSTV9JOTE1X0dFTV9DT05URVhUX0NSRUFURSwgc3RydWN0IGRybV9pOTE1X2dlbV9jb250 ZXh0X2NyZWF0ZSkKPiArI2RlZmluZSBEUk1fSU9DVExfSTkxNV9HRU1fQ09OVEVYVF9DUkVBVEVf RVhUCURSTV9JT1dSIChEUk1fQ09NTUFORF9CQVNFICsgRFJNX0k5MTVfR0VNX0NPTlRFWFRfQ1JF QVRFLCBzdHJ1Y3QgZHJtX2k5MTVfZ2VtX2NvbnRleHRfY3JlYXRlX2V4dCkKPiAgICNkZWZpbmUg RFJNX0lPQ1RMX0k5MTVfR0VNX0NPTlRFWFRfREVTVFJPWQlEUk1fSU9XIChEUk1fQ09NTUFORF9C QVNFICsgRFJNX0k5MTVfR0VNX0NPTlRFWFRfREVTVFJPWSwgc3RydWN0IGRybV9pOTE1X2dlbV9j b250ZXh0X2Rlc3Ryb3kpCj4gICAjZGVmaW5lIERSTV9JT0NUTF9JOTE1X1JFR19SRUFECQkJRFJN X0lPV1IgKERSTV9DT01NQU5EX0JBU0UgKyBEUk1fSTkxNV9SRUdfUkVBRCwgc3RydWN0IGRybV9p OTE1X3JlZ19yZWFkKQo+ICAgI2RlZmluZSBEUk1fSU9DVExfSTkxNV9HRVRfUkVTRVRfU1RBVFMJ CURSTV9JT1dSIChEUk1fQ09NTUFORF9CQVNFICsgRFJNX0k5MTVfR0VUX1JFU0VUX1NUQVRTLCBz dHJ1Y3QgZHJtX2k5MTVfcmVzZXRfc3RhdHMpCj4gQEAgLTE0MjEsNjUgKzE0NTYsMTcgQEAgc3Ry dWN0IGRybV9pOTE1X2dlbV93YWl0IHsKPiAgIH07Cj4gICAKPiAgIHN0cnVjdCBkcm1faTkxNV9n ZW1fY29udGV4dF9jcmVhdGUgewo+IC0JLyogIG91dHB1dDogaWQgb2YgbmV3IGNvbnRleHQqLwo+ IC0JX191MzIgY3R4X2lkOwo+ICsJX191MzIgY3R4X2lkOyAvKiBvdXRwdXQ6IGlkIG9mIG5ldyBj b250ZXh0Ki8KPiAgIAlfX3UzMiBwYWQ7Cj4gICB9Owo+ICAgCj4gLXN0cnVjdCBkcm1faTkxNV9n ZW1fY29udGV4dF9kZXN0cm95IHsKPiAtCV9fdTMyIGN0eF9pZDsKPiAtCV9fdTMyIHBhZDsKPiAt fTsKPiAtCj4gLXN0cnVjdCBkcm1faTkxNV9yZWdfcmVhZCB7Cj4gLQkvKgo+IC0JICogUmVnaXN0 ZXIgb2Zmc2V0Lgo+IC0JICogRm9yIDY0Yml0IHdpZGUgcmVnaXN0ZXJzIHdoZXJlIHRoZSB1cHBl ciAzMmJpdHMgZG9uJ3QgaW1tZWRpYXRlbHkKPiAtCSAqIGZvbGxvdyB0aGUgbG93ZXIgMzJiaXRz LCB0aGUgb2Zmc2V0IG9mIHRoZSBsb3dlciAzMmJpdHMgbXVzdAo+IC0JICogYmUgc3BlY2lmaWVk Cj4gLQkgKi8KPiAtCV9fdTY0IG9mZnNldDsKPiAtI2RlZmluZSBJOTE1X1JFR19SRUFEXzhCX1dB ICgxdWwgPDwgMCkKPiAtCj4gLQlfX3U2NCB2YWw7IC8qIFJldHVybiB2YWx1ZSAqLwo+IC19Owo+ IC0vKiBLbm93biByZWdpc3RlcnM6Cj4gLSAqCj4gLSAqIFJlbmRlciBlbmdpbmUgdGltZXN0YW1w IC0gMHgyMzU4ICsgNjRiaXQgLSBnZW43Kwo+IC0gKiAtIE5vdGUgdGhpcyByZWdpc3RlciByZXR1 cm5zIGFuIGludmFsaWQgdmFsdWUgaWYgdXNpbmcgdGhlIGRlZmF1bHQKPiAtICogICBzaW5nbGUg aW5zdHJ1Y3Rpb24gOGJ5dGUgcmVhZCwgaW4gb3JkZXIgdG8gd29ya2Fyb3VuZCB0aGF0IHBhc3MK PiAtICogICBmbGFnIEk5MTVfUkVHX1JFQURfOEJfV0EgaW4gb2Zmc2V0IGZpZWxkLgo+IC0gKgo+ IC0gKi8KPiAtCj4gLXN0cnVjdCBkcm1faTkxNV9yZXNldF9zdGF0cyB7Cj4gLQlfX3UzMiBjdHhf aWQ7Cj4gLQlfX3UzMiBmbGFnczsKPiAtCj4gLQkvKiBBbGwgcmVzZXRzIHNpbmNlIGJvb3QvbW9k dWxlIHJlbG9hZCwgZm9yIGFsbCBjb250ZXh0cyAqLwo+IC0JX191MzIgcmVzZXRfY291bnQ7Cj4g LQo+IC0JLyogTnVtYmVyIG9mIGJhdGNoZXMgbG9zdCB3aGVuIGFjdGl2ZSBpbiBHUFUsIGZvciB0 aGlzIGNvbnRleHQgKi8KPiAtCV9fdTMyIGJhdGNoX2FjdGl2ZTsKPiAtCj4gLQkvKiBOdW1iZXIg b2YgYmF0Y2hlcyBsb3N0IHBlbmRpbmcgZm9yIGV4ZWN1dGlvbiwgZm9yIHRoaXMgY29udGV4dCAq Lwo+IC0JX191MzIgYmF0Y2hfcGVuZGluZzsKPiAtCj4gLQlfX3UzMiBwYWQ7Cj4gLX07Cj4gLQo+ IC1zdHJ1Y3QgZHJtX2k5MTVfZ2VtX3VzZXJwdHIgewo+IC0JX191NjQgdXNlcl9wdHI7Cj4gLQlf X3U2NCB1c2VyX3NpemU7Cj4gK3N0cnVjdCBkcm1faTkxNV9nZW1fY29udGV4dF9jcmVhdGVfZXh0 IHsKPiArCV9fdTMyIGN0eF9pZDsgLyogb3V0cHV0OiBpZCBvZiBuZXcgY29udGV4dCovCj4gICAJ X191MzIgZmxhZ3M7Cj4gLSNkZWZpbmUgSTkxNV9VU0VSUFRSX1JFQURfT05MWSAweDEKPiAtI2Rl ZmluZSBJOTE1X1VTRVJQVFJfVU5TWU5DSFJPTklaRUQgMHg4MDAwMDAwMAo+IC0JLyoqCj4gLQkg KiBSZXR1cm5lZCBoYW5kbGUgZm9yIHRoZSBvYmplY3QuCj4gLQkgKgo+IC0JICogT2JqZWN0IGhh bmRsZXMgYXJlIG5vbnplcm8uCj4gLQkgKi8KPiAtCV9fdTMyIGhhbmRsZTsKPiArI2RlZmluZSBJ OTE1X0NPTlRFWFRfQ1JFQVRFX0ZMQUdTX1VTRV9FWFRFTlNJT05TCSgxdSA8PCAwKQo+ICsjZGVm aW5lIEk5MTVfQ09OVEVYVF9DUkVBVEVfRkxBR1NfVU5LTk9XTiBcCj4gKwkoLShJOTE1X0NPTlRF WFRfQ1JFQVRFX0ZMQUdTX1VTRV9FWFRFTlNJT05TIDw8IDEpKQo+ICsJX191NjQgZXh0ZW5zaW9u czsKPiAgIH07Cj4gICAKPiAgIHN0cnVjdCBkcm1faTkxNV9nZW1fY29udGV4dF9wYXJhbSB7Cj4g QEAgLTE1MjEsNiArMTUwOCw3IEBAIHN0cnVjdCBkcm1faTkxNV9nZW1fY29udGV4dF9wYXJhbSB7 Cj4gICAgKi8KPiAgICNkZWZpbmUgSTkxNV9DT05URVhUX1BBUkFNX1JFQ09WRVJBQkxFCTB4OAo+ ICAgLyogTXVzdCBiZSBrZXB0IGNvbXBhY3QgLS0gbm8gaG9sZXMgYW5kIHdlbGwgZG9jdW1lbnRl ZCAqLwo+ICsKPiAgIAlfX3U2NCB2YWx1ZTsKPiAgIH07Cj4gICAKPiBAQCAtMTU0OSw4ICsxNTM3 LDcgQEAgc3RydWN0IGRybV9pOTE1X2dlbV9jb250ZXh0X3BhcmFtX3NzZXUgewo+ICAgCS8qCj4g ICAJICogRW5naW5lIGNsYXNzICYgaW5zdGFuY2UgdG8gYmUgY29uZmlndXJlZCBvciBxdWVyaWVk Lgo+ICAgCSAqLwo+IC0JX191MTYgZW5naW5lX2NsYXNzOwo+IC0JX191MTYgZW5naW5lX2luc3Rh bmNlOwo+ICsJc3RydWN0IGk5MTVfZW5naW5lX2NsYXNzX2luc3RhbmNlIGVuZ2luZTsKPiAgIAo+ ICAgCS8qCj4gICAJICogVW51c2VkIGZvciBub3cuIE11c3QgYmUgY2xlYXJlZCB0byB6ZXJvLgo+ IEBAIC0xNTgzLDYgKzE1NzAsOTYgQEAgc3RydWN0IGRybV9pOTE1X2dlbV9jb250ZXh0X3BhcmFt X3NzZXUgewo+ICAgCV9fdTMyIHJzdmQ7Cj4gICB9Owo+ICAgCj4gK3N0cnVjdCBkcm1faTkxNV9n ZW1fY29udGV4dF9jcmVhdGVfZXh0X3NldHBhcmFtIHsKPiArI2RlZmluZSBJOTE1X0NPTlRFWFRf Q1JFQVRFX0VYVF9TRVRQQVJBTSAwCj4gKwlzdHJ1Y3QgaTkxNV91c2VyX2V4dGVuc2lvbiBiYXNl Owo+ICsJc3RydWN0IGRybV9pOTE1X2dlbV9jb250ZXh0X3BhcmFtIHBhcmFtOwo+ICt9Owo+ICsK PiArc3RydWN0IGRybV9pOTE1X2dlbV9jb250ZXh0X2Rlc3Ryb3kgewo+ICsJX191MzIgY3R4X2lk Owo+ICsJX191MzIgcGFkOwo+ICt9Owo+ICsKPiArLyoKPiArICogRFJNX0k5MTVfR0VNX1ZNX0NS RUFURSAtCj4gKyAqCj4gKyAqIENyZWF0ZSBhIG5ldyB2aXJ0dWFsIG1lbW9yeSBhZGRyZXNzIHNw YWNlIChwcEdUVCkgZm9yIHVzZSB3aXRoaW4gYSBjb250ZXh0Cj4gKyAqIG9uIHRoZSBzYW1lIGZp bGUuIEV4dGVuc2lvbnMgY2FuIGJlIHByb3ZpZGVkIHRvIGNvbmZpZ3VyZSBleGFjdGx5IGhvdyB0 aGUKPiArICogYWRkcmVzcyBzcGFjZSBpcyBzZXR1cCB1cG9uIGNyZWF0aW9uLgo+ICsgKgo+ICsg KiBUaGUgaWQgb2YgbmV3IFZNIChib3VuZCB0byB0aGUgZmQpIGZvciB1c2Ugd2l0aCBJOTE1X0NP TlRFWFRfUEFSQU1fVk0gaXMKPiArICogcmV0dXJuZWQgaW4gdGhlIG91dHBhcmFtIEBpZC4KPiAr ICoKPiArICogTm8gZmxhZ3MgYXJlIGRlZmluZWQsIHdpdGggYWxsIGJpdHMgcmVzZXJ2ZWQgYW5k IG11c3QgYmUgemVyby4KPiArICoKPiArICogQW4gZXh0ZW5zaW9uIGNoYWluIG1heWJlIHByb3Zp ZGVkLCBzdGFydGluZyB3aXRoIEBleHRlbnNpb25zLCBhbmQgdGVybWluYXRlZAo+ICsgKiBieSB0 aGUgQG5leHRfZXh0ZW5zaW9uIGJlaW5nIDAuIEN1cnJlbnRseSwgbm8gZXh0ZW5zaW9ucyBhcmUg ZGVmaW5lZC4KPiArICoKPiArICogRFJNX0k5MTVfR0VNX1ZNX0RFU1RST1kgLQo+ICsgKgo+ICsg KiBEZXN0cm95cyBhIHByZXZpb3VzbHkgY3JlYXRlZCBWTSBpZCwgc3BlY2lmaWVkIGluIEBpZC4K PiArICoKPiArICogTm8gZXh0ZW5zaW9ucyBvciBmbGFncyBhcmUgYWxsb3dlZCBjdXJyZW50bHks IGFuZCBzbyBtdXN0IGJlIHplcm8uCj4gKyAqLwo+ICtzdHJ1Y3QgZHJtX2k5MTVfZ2VtX3ZtX2Nv bnRyb2wgewo+ICsJX191NjQgZXh0ZW5zaW9uczsKPiArCV9fdTMyIGZsYWdzOwo+ICsJX191MzIg dm1faWQ7Cj4gK307Cj4gKwo+ICtzdHJ1Y3QgZHJtX2k5MTVfcmVnX3JlYWQgewo+ICsJLyoKPiAr CSAqIFJlZ2lzdGVyIG9mZnNldC4KPiArCSAqIEZvciA2NGJpdCB3aWRlIHJlZ2lzdGVycyB3aGVy ZSB0aGUgdXBwZXIgMzJiaXRzIGRvbid0IGltbWVkaWF0ZWx5Cj4gKwkgKiBmb2xsb3cgdGhlIGxv d2VyIDMyYml0cywgdGhlIG9mZnNldCBvZiB0aGUgbG93ZXIgMzJiaXRzIG11c3QKPiArCSAqIGJl IHNwZWNpZmllZAo+ICsJICovCj4gKwlfX3U2NCBvZmZzZXQ7Cj4gKyNkZWZpbmUgSTkxNV9SRUdf UkVBRF84Ql9XQSAoMXVsIDw8IDApCj4gKwo+ICsJX191NjQgdmFsOyAvKiBSZXR1cm4gdmFsdWUg Ki8KPiArfTsKPiArCj4gKy8qIEtub3duIHJlZ2lzdGVyczoKPiArICoKPiArICogUmVuZGVyIGVu Z2luZSB0aW1lc3RhbXAgLSAweDIzNTggKyA2NGJpdCAtIGdlbjcrCj4gKyAqIC0gTm90ZSB0aGlz IHJlZ2lzdGVyIHJldHVybnMgYW4gaW52YWxpZCB2YWx1ZSBpZiB1c2luZyB0aGUgZGVmYXVsdAo+ ICsgKiAgIHNpbmdsZSBpbnN0cnVjdGlvbiA4Ynl0ZSByZWFkLCBpbiBvcmRlciB0byB3b3JrYXJv dW5kIHRoYXQgcGFzcwo+ICsgKiAgIGZsYWcgSTkxNV9SRUdfUkVBRF84Ql9XQSBpbiBvZmZzZXQg ZmllbGQuCj4gKyAqCj4gKyAqLwo+ICsKPiArc3RydWN0IGRybV9pOTE1X3Jlc2V0X3N0YXRzIHsK PiArCV9fdTMyIGN0eF9pZDsKPiArCV9fdTMyIGZsYWdzOwo+ICsKPiArCS8qIEFsbCByZXNldHMg c2luY2UgYm9vdC9tb2R1bGUgcmVsb2FkLCBmb3IgYWxsIGNvbnRleHRzICovCj4gKwlfX3UzMiBy ZXNldF9jb3VudDsKPiArCj4gKwkvKiBOdW1iZXIgb2YgYmF0Y2hlcyBsb3N0IHdoZW4gYWN0aXZl IGluIEdQVSwgZm9yIHRoaXMgY29udGV4dCAqLwo+ICsJX191MzIgYmF0Y2hfYWN0aXZlOwo+ICsK PiArCS8qIE51bWJlciBvZiBiYXRjaGVzIGxvc3QgcGVuZGluZyBmb3IgZXhlY3V0aW9uLCBmb3Ig dGhpcyBjb250ZXh0ICovCj4gKwlfX3UzMiBiYXRjaF9wZW5kaW5nOwo+ICsKPiArCV9fdTMyIHBh ZDsKPiArfTsKPiArCj4gK3N0cnVjdCBkcm1faTkxNV9nZW1fdXNlcnB0ciB7Cj4gKwlfX3U2NCB1 c2VyX3B0cjsKPiArCV9fdTY0IHVzZXJfc2l6ZTsKPiArCV9fdTMyIGZsYWdzOwo+ICsjZGVmaW5l IEk5MTVfVVNFUlBUUl9SRUFEX09OTFkgMHgxCj4gKyNkZWZpbmUgSTkxNV9VU0VSUFRSX1VOU1lO Q0hST05JWkVEIDB4ODAwMDAwMDAKPiArCS8qKgo+ICsJICogUmV0dXJuZWQgaGFuZGxlIGZvciB0 aGUgb2JqZWN0Lgo+ICsJICoKPiArCSAqIE9iamVjdCBoYW5kbGVzIGFyZSBub256ZXJvLgo+ICsJ ICovCj4gKwlfX3UzMiBoYW5kbGU7Cj4gK307Cj4gKwo+ICAgZW51bSBkcm1faTkxNV9vYV9mb3Jt YXQgewo+ICAgCUk5MTVfT0FfRk9STUFUX0ExMyA9IDEsCSAgICAvKiBIU1cgb25seSAqLwo+ICAg CUk5MTVfT0FfRk9STUFUX0EyOSwJICAgIC8qIEhTVyBvbmx5ICovCj4gZGlmZiAtLWdpdCBhL3Rl c3RzL2k5MTUvZ2VtX2N0eF9zc2V1LmMgYi90ZXN0cy9pOTE1L2dlbV9jdHhfc3NldS5jCj4gaW5k ZXggM2FmYTVjMTUyLi40OGU0NDExYzggMTAwNjQ0Cj4gLS0tIGEvdGVzdHMvaTkxNS9nZW1fY3R4 X3NzZXUuYwo+ICsrKyBiL3Rlc3RzL2k5MTUvZ2VtX2N0eF9zc2V1LmMKPiBAQCAtMTQ0LDIzICsx NDQsMjMgQEAgc3RhdGljIHZvaWQgdGVzdF9lbmdpbmVzKGludCBmZCkKPiAgIAo+ICAgCS8qIGdl dF9wYXJhbSAqLwo+ICAgCj4gLQlzc2V1LmVuZ2luZV9pbnN0YW5jZSA9IC0xOyAvKiBBc3N1bWVk IGludmFsaWQuICovCj4gKwlzc2V1LmVuZ2luZS5lbmdpbmVfaW5zdGFuY2UgPSAtMTsgLyogQXNz dW1lZCBpbnZhbGlkLiAqLwo+ICAgCWlndF9hc3NlcnRfZXEoX19nZW1fY29udGV4dF9nZXRfcGFy YW0oZmQsICZhcmcpLCAtRUlOVkFMKTsKPiAgIAo+IC0Jc3NldS5lbmdpbmVfY2xhc3MgPSBJOTE1 X0VOR0lORV9DTEFTU19JTlZBTElEOyAvKiBCb3RoIGludmFsaWQuICovCj4gKwlzc2V1LmVuZ2lu ZS5lbmdpbmVfY2xhc3MgPSBJOTE1X0VOR0lORV9DTEFTU19JTlZBTElEOyAvKiBCb3RoIGludmFs aWQuICovCj4gICAJaWd0X2Fzc2VydF9lcShfX2dlbV9jb250ZXh0X2dldF9wYXJhbShmZCwgJmFy ZyksIC1FSU5WQUwpOwo+ICAgCj4gLQlzc2V1LmVuZ2luZV9pbnN0YW5jZSA9IDA7IC8qIENsYXNz IGludmFsaWQuICovCj4gKwlzc2V1LmVuZ2luZS5lbmdpbmVfaW5zdGFuY2UgPSAwOyAvKiBDbGFz cyBpbnZhbGlkLiAqLwo+ICAgCWlndF9hc3NlcnRfZXEoX19nZW1fY29udGV4dF9nZXRfcGFyYW0o ZmQsICZhcmcpLCAtRUlOVkFMKTsKPiAtCXNzZXUuZW5naW5lX2NsYXNzID0gSTkxNV9FTkdJTkVf Q0xBU1NfUkVOREVSOwo+ICsJc3NldS5lbmdpbmUuZW5naW5lX2NsYXNzID0gSTkxNV9FTkdJTkVf Q0xBU1NfUkVOREVSOwo+ICAgCj4gICAJbGFzdF93aXRoX2VuZ2luZXMgPSAtMTsKPiAgIAlmb3Ig KGNsYXNzID0gMDsgY2xhc3MgPCB+MDsgY2xhc3MrKykgewo+ICAgCQlmb3IgKGluc3RhbmNlID0g MDsgaW5zdGFuY2UgPCB+MDsgaW5zdGFuY2UrKykgewo+ICAgCQkJaW50IHJldDsKPiAgIAo+IC0J CQlzc2V1LmVuZ2luZV9jbGFzcyA9IGNsYXNzOwo+IC0JCQlzc2V1LmVuZ2luZV9pbnN0YW5jZSA9 IGluc3RhbmNlOwo+ICsJCQlzc2V1LmVuZ2luZS5lbmdpbmVfY2xhc3MgPSBjbGFzczsKPiArCQkJ c3NldS5lbmdpbmUuZW5naW5lX2luc3RhbmNlID0gaW5zdGFuY2U7Cj4gICAKPiAgIAkJCXJldCA9 IF9fZ2VtX2NvbnRleHRfZ2V0X3BhcmFtKGZkLCAmYXJnKTsKPiAgIAo+IEBAIC0xODIsMTkgKzE4 MiwxOSBAQCBzdGF0aWMgdm9pZCB0ZXN0X2VuZ2luZXMoaW50IGZkKQo+ICAgCSAqIEdldCBzb21l IHByb3BlciB2YWx1ZXMgYmVmb3JlIHRyeWluZyB0byByZXByb2dyYW0gdGhlbSBvbnRvCj4gICAJ ICogYW4gaW52YWxpZCBlbmdpbmUuCj4gICAJICovCj4gLQlzc2V1LmVuZ2luZV9jbGFzcyA9IDA7 Cj4gLQlzc2V1LmVuZ2luZV9pbnN0YW5jZSA9IDA7Cj4gKwlzc2V1LmVuZ2luZS5lbmdpbmVfY2xh c3MgPSAwOwo+ICsJc3NldS5lbmdpbmUuZW5naW5lX2luc3RhbmNlID0gMDsKPiAgIAlnZW1fY29u dGV4dF9nZXRfcGFyYW0oZmQsICZhcmcpOwo+ICAgCj4gICAJLyogc2V0X3BhcmFtICovCj4gICAK PiAtCXNzZXUuZW5naW5lX2luc3RhbmNlID0gLTE7IC8qIEFzc3VtZWQgaW52YWxpZC4gKi8KPiAr CXNzZXUuZW5naW5lLmVuZ2luZV9pbnN0YW5jZSA9IC0xOyAvKiBBc3N1bWVkIGludmFsaWQuICov Cj4gICAJaWd0X2Fzc2VydF9lcShfX2dlbV9jb250ZXh0X3NldF9wYXJhbShmZCwgJmFyZyksIC1F SU5WQUwpOwo+ICAgCj4gLQlzc2V1LmVuZ2luZV9jbGFzcyA9IEk5MTVfRU5HSU5FX0NMQVNTX0lO VkFMSUQ7IC8qIEJvdGggaW52YWxpZC4gKi8KPiArCXNzZXUuZW5naW5lLmVuZ2luZV9jbGFzcyA9 IEk5MTVfRU5HSU5FX0NMQVNTX0lOVkFMSUQ7IC8qIEJvdGggaW52YWxpZC4gKi8KPiAgIAlpZ3Rf YXNzZXJ0X2VxKF9fZ2VtX2NvbnRleHRfc2V0X3BhcmFtKGZkLCAmYXJnKSwgLUVJTlZBTCk7Cj4g ICAKPiAtCXNzZXUuZW5naW5lX2luc3RhbmNlID0gMDsgLyogQ2xhc3MgaW52YWxpZC4gKi8KPiAr CXNzZXUuZW5naW5lLmVuZ2luZV9pbnN0YW5jZSA9IDA7IC8qIENsYXNzIGludmFsaWQuICovCj4g ICAJaWd0X2Fzc2VydF9lcShfX2dlbV9jb250ZXh0X3NldF9wYXJhbShmZCwgJmFyZyksIC1FSU5W QUwpOwo+ICAgCj4gICAJbGFzdF93aXRoX2VuZ2luZXMgPSAtMTsKPiBAQCAtMjAyLDggKzIwMiw4 IEBAIHN0YXRpYyB2b2lkIHRlc3RfZW5naW5lcyhpbnQgZmQpCj4gICAJCWZvciAoaW5zdGFuY2Ug PSAwOyBpbnN0YW5jZSA8IH4wOyBpbnN0YW5jZSsrKSB7Cj4gICAJCQlpbnQgcmV0Owo+ICAgCj4g LQkJCXNzZXUuZW5naW5lX2NsYXNzID0gY2xhc3M7Cj4gLQkJCXNzZXUuZW5naW5lX2luc3RhbmNl ID0gaW5zdGFuY2U7Cj4gKwkJCXNzZXUuZW5naW5lLmVuZ2luZV9jbGFzcyA9IGNsYXNzOwo+ICsJ CQlzc2V1LmVuZ2luZS5lbmdpbmVfaW5zdGFuY2UgPSBpbnN0YW5jZTsKPiAgIAo+ICAgCQkJcmV0 ID0gX19nZW1fY29udGV4dF9zZXRfcGFyYW0oZmQsICZhcmcpOwo+ICAgCj4gCgpSZXZpZXdlZC1i eTogVHZydGtvIFVyc3VsaW4gPHR2cnRrby51cnN1bGluQGludGVsLmNvbT4KClJlZ2FyZHMsCgpU dnJ0a28KX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KaWd0 LWRldiBtYWlsaW5nIGxpc3QKaWd0LWRldkBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9s aXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pZ3QtZGV2