From mboxrd@z Thu Jan 1 00:00:00 1970 From: Mika Kuoppala Subject: Re: [PATCH 3/8] drm/i915: Automatic i915_switch_context for legacy Date: Thu, 16 Nov 2017 16:00:13 +0200 Message-ID: <87mv3mpbma.fsf@gaia.fi.intel.com> References: <20171114213023.11605-1-chris@chris-wilson.co.uk> <20171114213023.11605-3-chris@chris-wilson.co.uk> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga03.intel.com (mga03.intel.com [134.134.136.65]) by gabe.freedesktop.org (Postfix) with ESMTPS id 5E9806E828 for ; Thu, 16 Nov 2017 14:00:55 +0000 (UTC) In-Reply-To: <20171114213023.11605-3-chris@chris-wilson.co.uk> 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 List-Id: intel-gfx@lists.freedesktop.org Q2hyaXMgV2lsc29uIDxjaHJpc0BjaHJpcy13aWxzb24uY28udWs+IHdyaXRlczoKCj4gRHVyaW5n IHJlcXVlc3QgY29uc3RydWN0aW9uLCBhZnRlciBwaW5uaW5nIHRoZSBjb250ZXh0IHdlIGtub3cg d2hldGhlcgo+IG9yIG5vdCB3ZSBoYXZlIHRvIGVtaXQgYSBjb250ZXh0IHN3aXRjaC4gU28gbW92 ZSB0aGlzIGNvbW1vbiBvcGVyYXRpb24KPiBmcm9tIGV2ZXJ5IGNhbGxlciBpbnRvIGk5MTVfZ2Vt X3JlcXVlc3RfYWxsb2MoKSBpdHNlbGYuCj4KPiB2MjogQWx3YXlzIHN1Ym1pdCB0aGUgcmVxdWVz dCBpZiB3ZSBlbWl0dGVkIHNvbWUgY29tbWFuZHMgZHVyaW5nIHJlcXVlc3QKPiBjb25zdHJ1Y3Rp b24sIGFzIHR5cGljYWxseSBpdCBhbHNvIGludm9sdmVzIGNoYW5nZXMgaW4gZ2xvYmFsIHN0YXRl Lgo+Cj4gU2lnbmVkLW9mZi1ieTogQ2hyaXMgV2lsc29uIDxjaHJpc0BjaHJpcy13aWxzb24uY28u dWs+Cj4gLS0tCj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtLmMgICAgICAgICAgICAg ICAgICAgfCAgMiArLQo+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9jb250ZXh0LmMg ICAgICAgICAgIHwgIDcgKy0tLS0tLQo+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9l eGVjYnVmZmVyLmMgICAgICAgIHwgIDggLS0tLS0tLS0KPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUv aTkxNV9nZW1fcmVxdWVzdC5jICAgICAgICAgICB8IDE4ICsrKysrKysrKysrKystLS0tLQo+ICBk cml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3BlcmYuYyAgICAgICAgICAgICAgICAgIHwgIDMgKy0t Cj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3JpbmdidWZmZXIuYyAgICAgICAgICAgfCAg NCArKysrCj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L3NlbGZ0ZXN0cy9odWdlX3BhZ2VzLmMgICAg ICAgfCAgNCAtLS0tCj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L3NlbGZ0ZXN0cy9pOTE1X2dlbV9j b250ZXh0LmMgfCAgNCAtLS0tCj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L3NlbGZ0ZXN0cy9pOTE1 X2dlbV9yZXF1ZXN0LmMgfCAxMCAtLS0tLS0tLS0tCj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L3Nl bGZ0ZXN0cy9pbnRlbF9oYW5nY2hlY2suYyAgfCAgNCAtLS0tCj4gIDEwIGZpbGVzIGNoYW5nZWQs IDIwIGluc2VydGlvbnMoKyksIDQ0IGRlbGV0aW9ucygtKQo+Cj4gZGlmZiAtLWdpdCBhL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dl bS5jCj4gaW5kZXggYTc5NzliNzRjZTIxLi5kODg1Y2YwZDI5NDMgMTAwNjQ0Cj4gLS0tIGEvZHJp dmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW0uYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2k5MTVfZ2VtLmMKPiBAQCAtNTA0Myw3ICs1MDQzLDcgQEAgc3RhdGljIGludCBfX2ludGVsX2Vu Z2luZXNfcmVjb3JkX2RlZmF1bHRzKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICppOTE1KQo+ICAJ CQlnb3RvIG91dF9jdHg7Cj4gIAkJfQo+ICAKPiAtCQllcnIgPSBpOTE1X3N3aXRjaF9jb250ZXh0 KHJxKTsKPiArCQllcnIgPSAwOwo+ICAJCWlmIChlbmdpbmUtPmluaXRfY29udGV4dCkKPiAgCQkJ ZXJyID0gZW5naW5lLT5pbml0X2NvbnRleHQocnEpOwo+ICAKPiBkaWZmIC0tZ2l0IGEvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fY29udGV4dC5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUv aTkxNV9nZW1fY29udGV4dC5jCj4gaW5kZXggMmRiMDQwNjk1MDM1Li5jMWVmYmFmMDJiZjIgMTAw NjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fY29udGV4dC5jCj4gKysr IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fY29udGV4dC5jCj4gQEAgLTg0Miw4ICs4 NDIsNyBAQCBpbnQgaTkxNV9zd2l0Y2hfY29udGV4dChzdHJ1Y3QgZHJtX2k5MTVfZ2VtX3JlcXVl c3QgKnJlcSkKPiAgCXN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2luZSA9IHJlcS0+ZW5naW5l Owo+ICAKPiAgCWxvY2tkZXBfYXNzZXJ0X2hlbGQoJnJlcS0+aTkxNS0+ZHJtLnN0cnVjdF9tdXRl eCk7Cj4gLQlpZiAoaTkxNV9tb2RwYXJhbXMuZW5hYmxlX2V4ZWNsaXN0cykKPiAtCQlyZXR1cm4g MDsKPiArCUdFTV9CVUdfT04oaTkxNV9tb2RwYXJhbXMuZW5hYmxlX2V4ZWNsaXN0cyk7Cj4gIAo+ ICAJaWYgKCFyZXEtPmN0eC0+ZW5naW5lW2VuZ2luZS0+aWRdLnN0YXRlKSB7Cj4gIAkJc3RydWN0 IGk5MTVfZ2VtX2NvbnRleHQgKnRvID0gcmVxLT5jdHg7Cj4gQEAgLTg5OSw3ICs4OTgsNiBAQCBp bnQgaTkxNV9nZW1fc3dpdGNoX3RvX2tlcm5lbF9jb250ZXh0KHN0cnVjdCBkcm1faTkxNV9wcml2 YXRlICpkZXZfcHJpdikKPiAgCj4gIAlmb3JfZWFjaF9lbmdpbmUoZW5naW5lLCBkZXZfcHJpdiwg aWQpIHsKPiAgCQlzdHJ1Y3QgZHJtX2k5MTVfZ2VtX3JlcXVlc3QgKnJlcTsKPiAtCQlpbnQgcmV0 Owo+ICAKPiAgCQlpZiAoZW5naW5lX2hhc19pZGxlX2tlcm5lbF9jb250ZXh0KGVuZ2luZSkpCj4g IAkJCWNvbnRpbnVlOwo+IEBAIC05MjIsMTAgKzkyMCw3IEBAIGludCBpOTE1X2dlbV9zd2l0Y2hf dG9fa2VybmVsX2NvbnRleHQoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQo+ICAJ CQkJCQkJCSBHRlBfS0VSTkVMKTsKPiAgCQl9Cj4gIAo+IC0JCXJldCA9IGk5MTVfc3dpdGNoX2Nv bnRleHQocmVxKTsKPiAgCQlpOTE1X2FkZF9yZXF1ZXN0KHJlcSk7Cj4gLQkJaWYgKHJldCkKPiAt CQkJcmV0dXJuIHJldDsKPiAgCX0KPiAgCj4gIAlyZXR1cm4gMDsKPiBkaWZmIC0tZ2l0IGEvZHJp dmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fZXhlY2J1ZmZlci5jIGIvZHJpdmVycy9ncHUvZHJt L2k5MTUvaTkxNV9nZW1fZXhlY2J1ZmZlci5jCj4gaW5kZXggNDM1ZWQ5NWRmMTQ0Li44NWM3ZThh ZmUyNmUgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fZXhlY2J1 ZmZlci5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fZXhlY2J1ZmZlci5j Cj4gQEAgLTExMTUsMTAgKzExMTUsNiBAQCBzdGF0aWMgaW50IF9fcmVsb2NfZ3B1X2FsbG9jKHN0 cnVjdCBpOTE1X2V4ZWNidWZmZXIgKmViLAo+ICAJaWYgKGVycikKPiAgCQlnb3RvIGVycl9yZXF1 ZXN0Owo+ICAKPiAtCWVyciA9IGk5MTVfc3dpdGNoX2NvbnRleHQocnEpOwo+IC0JaWYgKGVycikK PiAtCQlnb3RvIGVycl9yZXF1ZXN0Owo+IC0KPiAgCWVyciA9IGViLT5lbmdpbmUtPmVtaXRfYmJf c3RhcnQocnEsCj4gIAkJCQkJYmF0Y2gtPm5vZGUuc3RhcnQsIFBBR0VfU0laRSwKPiAgCQkJCQlj YWNoZS0+Z2VuID4gNSA/IDAgOiBJOTE1X0RJU1BBVENIX1NFQ1VSRSk7Cj4gQEAgLTE5NjUsMTAg KzE5NjEsNiBAQCBzdGF0aWMgaW50IGViX3N1Ym1pdChzdHJ1Y3QgaTkxNV9leGVjYnVmZmVyICpl YikKPiAgCWlmIChlcnIpCj4gIAkJcmV0dXJuIGVycjsKPiAgCj4gLQllcnIgPSBpOTE1X3N3aXRj aF9jb250ZXh0KGViLT5yZXF1ZXN0KTsKPiAtCWlmIChlcnIpCj4gLQkJcmV0dXJuIGVycjsKPiAt Cj4gIAlpZiAoZWItPmFyZ3MtPmZsYWdzICYgSTkxNV9FWEVDX0dFTjdfU09MX1JFU0VUKSB7Cj4g IAkJZXJyID0gaTkxNV9yZXNldF9nZW43X3NvbF9vZmZzZXRzKGViLT5yZXF1ZXN0KTsKPiAgCQlp ZiAoZXJyKQo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9yZXF1 ZXN0LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9yZXF1ZXN0LmMKPiBpbmRleCBl MGQ2MjIxMDIyYTguLjQ0NTQ5NWY5ODkzYyAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pOTE1X2dlbV9yZXF1ZXN0LmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1 X2dlbV9yZXF1ZXN0LmMKPiBAQCAtNjI0LDYgKzYyNCwxMCBAQCBpOTE1X2dlbV9yZXF1ZXN0X2Fs bG9jKHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2luZSwKPiAgCWlmIChyZXQpCj4gIAkJZ290 byBlcnJfdW5waW47Cj4gIAo+ICsJcmV0ID0gaW50ZWxfcmluZ193YWl0X2Zvcl9zcGFjZShyaW5n LCBNSU5fU1BBQ0VfRk9SX0FERF9SRVFVRVNUKTsKPiArCWlmIChyZXQpCj4gKwkJZ290byBlcnJf dW5yZXNlcnZlOwo+ICsKPiAgCS8qIE1vdmUgdGhlIG9sZGVzdCByZXF1ZXN0IHRvIHRoZSBzbGFi LWNhY2hlIChpZiBub3QgaW4gdXNlISkgKi8KPiAgCXJlcSA9IGxpc3RfZmlyc3RfZW50cnlfb3Jf bnVsbCgmZW5naW5lLT50aW1lbGluZS0+cmVxdWVzdHMsCj4gIAkJCQkgICAgICAgdHlwZW9mKCpy ZXEpLCBsaW5rKTsKPiBAQCAtNzAzLDEwICs3MDcsNiBAQCBpOTE1X2dlbV9yZXF1ZXN0X2FsbG9j KHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2luZSwKPiAgCXJlcS0+cmVzZXJ2ZWRfc3BhY2Ug PSBNSU5fU1BBQ0VfRk9SX0FERF9SRVFVRVNUOwo+ICAJR0VNX0JVR19PTihyZXEtPnJlc2VydmVk X3NwYWNlIDwgZW5naW5lLT5lbWl0X2JyZWFkY3J1bWJfc3opOwo+ICAKPiAtCXJldCA9IGVuZ2lu ZS0+cmVxdWVzdF9hbGxvYyhyZXEpOwo+IC0JaWYgKHJldCkKPiAtCQlnb3RvIGVycl9jdHg7Cj4g LQo+ICAJLyogUmVjb3JkIHRoZSBwb3NpdGlvbiBvZiB0aGUgc3RhcnQgb2YgdGhlIHJlcXVlc3Qg c28gdGhhdAo+ICAJICogc2hvdWxkIHdlIGRldGVjdCB0aGUgdXBkYXRlZCBzZXFubyBwYXJ0LXdh eSB0aHJvdWdoIHRoZQo+ICAJICogR1BVIHByb2Nlc3NpbmcgdGhlIHJlcXVlc3QsIHdlIG5ldmVy IG92ZXItZXN0aW1hdGUgdGhlCj4gQEAgLTcxNCwxNiArNzE0LDI0IEBAIGk5MTVfZ2VtX3JlcXVl c3RfYWxsb2Moc3RydWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5lLAo+ICAJICovCj4gIAlyZXEt PmhlYWQgPSByZXEtPnJpbmctPmVtaXQ7Cj4gIAo+ICsJcmV0ID0gZW5naW5lLT5yZXF1ZXN0X2Fs bG9jKHJlcSk7Cj4gKwlpZiAocmV0KQo+ICsJCWdvdG8gZXJyX2N0eDsKPiArCgpPayBhcyB3ZSBk b24ndCBlbWl0IGFueXRoaW5nIHdpdGggcmVxdWVzdCBhbGxvYyB5b3UgY2FuIHN3aXRjaCB0aGUK b3JkZXIuCj4gIAkvKiBDaGVjayB0aGF0IHdlIGRpZG4ndCBpbnRlcnJ1cHQgb3Vyc2VsdmVzIHdp dGggYSBuZXcgcmVxdWVzdCAqLwo+ICAJR0VNX0JVR19PTihyZXEtPnRpbWVsaW5lLT5zZXFubyAh PSByZXEtPmZlbmNlLnNlcW5vKTsKPiAgCXJldHVybiByZXE7Cj4gIAo+ICBlcnJfY3R4Ogo+ICsJ aWYgKHJlcS0+cmluZy0+ZW1pdCAhPSByZXEtPmhlYWQpIHsKPiArCQlfX2k5MTVfYWRkX3JlcXVl c3QocmVxLCBmYWxzZSk7Cj4gKwkJcmV0dXJuIEVSUl9QVFIocmV0KTsKCi4uc28gd2h5IHRoaXMg Y2hlY2suIFdoYXQgY291bGQgZW1pdCBhbmQgd2h5IHRoZSBlYXJseSByZXR1cm4/CgoKQW5kIGFs c28gbW9yZSBpbiBnZW5lcmFsbHksIHdlIGRvIGRyb3Agc29tZSBlcnJvciByZXR1cm4gcGF0Y2hz CmR1ZSB0byByZW1vdmluZyBzd2l0Y2hfY29udGV4dCgpLiBJcyB0aGVyZSBhIHJpc2sgb2YgaWdu b3JpbmcKYW5kIG5vdCBwcm9wYWdhdGluZyBzb21lIGVycm9yIGNvZGUgd2UgZGlkIGFjdHVhbGx5 IGNhdGNoCmF0IGk5MTVfc3dpdGNoX2NvbnRleHQoKT8KCi1NaWthCgoKPiArCX0KPiArCj4gIAkv KiBNYWtlIHN1cmUgd2UgZGlkbid0IGFkZCBvdXJzZWx2ZXMgdG8gZXh0ZXJuYWwgc3RhdGUgYmVm b3JlIGZyZWVpbmcgKi8KPiAgCUdFTV9CVUdfT04oIWxpc3RfZW1wdHkoJnJlcS0+YWN0aXZlX2xp c3QpKTsKPiAgCUdFTV9CVUdfT04oIWxpc3RfZW1wdHkoJnJlcS0+cHJpb3RyZWUuc2lnbmFsZXJz X2xpc3QpKTsKPiAgCUdFTV9CVUdfT04oIWxpc3RfZW1wdHkoJnJlcS0+cHJpb3RyZWUud2FpdGVy c19saXN0KSk7Cj4gLQo+ICAJa21lbV9jYWNoZV9mcmVlKGRldl9wcml2LT5yZXF1ZXN0cywgcmVx KTsKPiAgZXJyX3VucmVzZXJ2ZToKPiAgCXVucmVzZXJ2ZV9lbmdpbmUoZW5naW5lKTsKPiBkaWZm IC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9wZXJmLmMgYi9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pOTE1X3BlcmYuYwo+IGluZGV4IDAwYmUwMTVlMDFkZi4uZDg5NTJmZjhlNmI3IDEw MDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcGVyZi5jCj4gKysrIGIvZHJp dmVycy9ncHUvZHJtL2k5MTUvaTkxNV9wZXJmLmMKPiBAQCAtMTcyNiwxMCArMTcyNiw5IEBAIHN0 YXRpYyBpbnQgZ2VuOF9zd2l0Y2hfdG9fdXBkYXRlZF9rZXJuZWxfY29udGV4dChzdHJ1Y3QgZHJt X2k5MTVfcHJpdmF0ZSAqZGV2X3ByCj4gIAkJCQkJCQkgR0ZQX0tFUk5FTCk7Cj4gIAl9Cj4gIAo+ IC0JcmV0ID0gaTkxNV9zd2l0Y2hfY29udGV4dChyZXEpOwo+ICAJaTkxNV9hZGRfcmVxdWVzdChy ZXEpOwo+ICAKPiAtCXJldHVybiByZXQ7Cj4gKwlyZXR1cm4gMDsKPiAgfQo+ICAKPiAgLyoKPiBk aWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcmluZ2J1ZmZlci5jIGIvZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcmluZ2J1ZmZlci5jCj4gaW5kZXggMTJlNzM0YjI5NDYz Li5iZTk4ODY4MTE1YmYgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxf cmluZ2J1ZmZlci5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcmluZ2J1ZmZl ci5jCj4gQEAgLTE1OTIsNiArMTU5MiwxMCBAQCBzdGF0aWMgaW50IHJpbmdfcmVxdWVzdF9hbGxv YyhzdHJ1Y3QgZHJtX2k5MTVfZ2VtX3JlcXVlc3QgKnJlcXVlc3QpCj4gIAlpZiAocmV0KQo+ICAJ CXJldHVybiByZXQ7Cj4gIAo+ICsJcmV0ID0gaTkxNV9zd2l0Y2hfY29udGV4dChyZXF1ZXN0KTsK PiArCWlmIChyZXQpCj4gKwkJcmV0dXJuIHJldDsKPiArCj4gIAlyZXF1ZXN0LT5yZXNlcnZlZF9z cGFjZSAtPSBMRUdBQ1lfUkVRVUVTVF9TSVpFOwo+ICAJcmV0dXJuIDA7Cj4gIH0KPiBkaWZmIC0t Z2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvc2VsZnRlc3RzL2h1Z2VfcGFnZXMuYyBiL2RyaXZl cnMvZ3B1L2RybS9pOTE1L3NlbGZ0ZXN0cy9odWdlX3BhZ2VzLmMKPiBpbmRleCAwMWFmNTQwYjZl ZjkuLmViMTQyYmQ0YzllMSAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9zZWxm dGVzdHMvaHVnZV9wYWdlcy5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvc2VsZnRlc3Rz L2h1Z2VfcGFnZXMuYwo+IEBAIC05OTMsMTAgKzk5Myw2IEBAIHN0YXRpYyBpbnQgZ3B1X3dyaXRl KHN0cnVjdCBpOTE1X3ZtYSAqdm1hLAo+ICAJaWYgKGVycikKPiAgCQlnb3RvIGVycl9yZXF1ZXN0 Owo+ICAKPiAtCWVyciA9IGk5MTVfc3dpdGNoX2NvbnRleHQocnEpOwo+IC0JaWYgKGVycikKPiAt CQlnb3RvIGVycl9yZXF1ZXN0Owo+IC0KPiAgCWVyciA9IHJxLT5lbmdpbmUtPmVtaXRfYmJfc3Rh cnQocnEsCj4gIAkJCQkJYmF0Y2gtPm5vZGUuc3RhcnQsIGJhdGNoLT5ub2RlLnNpemUsCj4gIAkJ CQkJZmxhZ3MpOwo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9zZWxmdGVzdHMv aTkxNV9nZW1fY29udGV4dC5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvc2VsZnRlc3RzL2k5MTVf Z2VtX2NvbnRleHQuYwo+IGluZGV4IGRlZjUwNTI4NjJhZS4uNjFmY2ZhMmM0ZGZkIDEwMDY0NAo+ IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L3NlbGZ0ZXN0cy9pOTE1X2dlbV9jb250ZXh0LmMK PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9zZWxmdGVzdHMvaTkxNV9nZW1fY29udGV4dC5j Cj4gQEAgLTE2MiwxMCArMTYyLDYgQEAgc3RhdGljIGludCBncHVfZmlsbChzdHJ1Y3QgZHJtX2k5 MTVfZ2VtX29iamVjdCAqb2JqLAo+ICAJaWYgKGVycikKPiAgCQlnb3RvIGVycl9yZXF1ZXN0Owo+ ICAKPiAtCWVyciA9IGk5MTVfc3dpdGNoX2NvbnRleHQocnEpOwo+IC0JaWYgKGVycikKPiAtCQln b3RvIGVycl9yZXF1ZXN0Owo+IC0KPiAgCWZsYWdzID0gMDsKPiAgCWlmIChJTlRFTF9HRU4odm0t Pmk5MTUpIDw9IDUpCj4gIAkJZmxhZ3MgfD0gSTkxNV9ESVNQQVRDSF9TRUNVUkU7Cj4gZGlmZiAt LWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L3NlbGZ0ZXN0cy9pOTE1X2dlbV9yZXF1ZXN0LmMg Yi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9zZWxmdGVzdHMvaTkxNV9nZW1fcmVxdWVzdC5jCj4gaW5k ZXggYTk5OTE2MWU4ZGIxLi45YTM1ZWJkNWM4NzYgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUv ZHJtL2k5MTUvc2VsZnRlc3RzL2k5MTVfZ2VtX3JlcXVlc3QuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L3NlbGZ0ZXN0cy9pOTE1X2dlbV9yZXF1ZXN0LmMKPiBAQCAtNDYzLDEwICs0NjMs NiBAQCBlbXB0eV9yZXF1ZXN0KHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2luZSwKPiAgCWlm IChlcnIpCj4gIAkJZ290byBvdXRfcmVxdWVzdDsKPiAgCj4gLQllcnIgPSBpOTE1X3N3aXRjaF9j b250ZXh0KHJlcXVlc3QpOwo+IC0JaWYgKGVycikKPiAtCQlnb3RvIG91dF9yZXF1ZXN0Owo+IC0K PiAgCWVyciA9IGVuZ2luZS0+ZW1pdF9iYl9zdGFydChyZXF1ZXN0LAo+ICAJCQkJICAgIGJhdGNo LT5ub2RlLnN0YXJ0LAo+ICAJCQkJICAgIGJhdGNoLT5ub2RlLnNpemUsCj4gQEAgLTY3OCw5ICs2 NzQsNiBAQCBzdGF0aWMgaW50IGxpdmVfYWxsX2VuZ2luZXModm9pZCAqYXJnKQo+ICAJCWVyciA9 IGVuZ2luZS0+ZW1pdF9mbHVzaChyZXF1ZXN0W2lkXSwgRU1JVF9JTlZBTElEQVRFKTsKPiAgCQlH RU1fQlVHX09OKGVycik7Cj4gIAo+IC0JCWVyciA9IGk5MTVfc3dpdGNoX2NvbnRleHQocmVxdWVz dFtpZF0pOwo+IC0JCUdFTV9CVUdfT04oZXJyKTsKPiAtCj4gIAkJZXJyID0gZW5naW5lLT5lbWl0 X2JiX3N0YXJ0KHJlcXVlc3RbaWRdLAo+ICAJCQkJCSAgICBiYXRjaC0+bm9kZS5zdGFydCwKPiAg CQkJCQkgICAgYmF0Y2gtPm5vZGUuc2l6ZSwKPiBAQCAtODAwLDkgKzc5Myw2IEBAIHN0YXRpYyBp bnQgbGl2ZV9zZXF1ZW50aWFsX2VuZ2luZXModm9pZCAqYXJnKQo+ICAJCWVyciA9IGVuZ2luZS0+ ZW1pdF9mbHVzaChyZXF1ZXN0W2lkXSwgRU1JVF9JTlZBTElEQVRFKTsKPiAgCQlHRU1fQlVHX09O KGVycik7Cj4gIAo+IC0JCWVyciA9IGk5MTVfc3dpdGNoX2NvbnRleHQocmVxdWVzdFtpZF0pOwo+ IC0JCUdFTV9CVUdfT04oZXJyKTsKPiAtCj4gIAkJZXJyID0gZW5naW5lLT5lbWl0X2JiX3N0YXJ0 KHJlcXVlc3RbaWRdLAo+ICAJCQkJCSAgICBiYXRjaC0+bm9kZS5zdGFydCwKPiAgCQkJCQkgICAg YmF0Y2gtPm5vZGUuc2l6ZSwKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvc2Vs ZnRlc3RzL2ludGVsX2hhbmdjaGVjay5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvc2VsZnRlc3Rz L2ludGVsX2hhbmdjaGVjay5jCj4gaW5kZXggNzFjZTA2NjgwZDY2Li5jYWZlMzllMmUwZjcgMTAw NjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvc2VsZnRlc3RzL2ludGVsX2hhbmdjaGVj ay5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvc2VsZnRlc3RzL2ludGVsX2hhbmdjaGVj ay5jCj4gQEAgLTExOCwxMCArMTE4LDYgQEAgc3RhdGljIGludCBlbWl0X3JlY3Vyc2VfYmF0Y2go c3RydWN0IGhhbmcgKmgsCj4gIAlpZiAoZXJyKQo+ICAJCWdvdG8gdW5waW5faHdzOwo+ICAKPiAt CWVyciA9IGk5MTVfc3dpdGNoX2NvbnRleHQocnEpOwo+IC0JaWYgKGVycikKPiAtCQlnb3RvIHVu cGluX2h3czsKPiAtCj4gIAlpOTE1X3ZtYV9tb3ZlX3RvX2FjdGl2ZSh2bWEsIHJxLCAwKTsKPiAg CWlmICghaTkxNV9nZW1fb2JqZWN0X2hhc19hY3RpdmVfcmVmZXJlbmNlKHZtYS0+b2JqKSkgewo+ ICAJCWk5MTVfZ2VtX29iamVjdF9nZXQodm1hLT5vYmopOwo+IC0tIAo+IDIuMTUuMAo+Cj4gX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KPiBJbnRlbC1nZngg bWFpbGluZyBsaXN0Cj4gSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwo+IGh0dHBzOi8v bGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cl9fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5n IGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVk ZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=