From mboxrd@z Thu Jan 1 00:00:00 1970 From: Joonas Lahtinen Subject: Re: [RFCv2 03/14] drm/i915: Introduce host graphics memory/fence partition for GVT-g Date: Tue, 23 Feb 2016 15:16:30 +0200 Message-ID: <1456233390.7789.80.camel@linux.intel.com> References: <1455795741-3487-1-git-send-email-zhi.a.wang@intel.com> <1455795741-3487-4-git-send-email-zhi.a.wang@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" 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 DE22B6E568 for ; Tue, 23 Feb 2016 13:16:38 +0000 (UTC) In-Reply-To: <1455795741-3487-4-git-send-email-zhi.a.wang@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Zhi Wang , intel-gfx@lists.freedesktop.org, igvt-g@lists.01.org Cc: daniel.vetter@ffwll.ch, david.j.cowperthwaite@intel.com, zhiyuan.lv@intel.com List-Id: intel-gfx@lists.freedesktop.org T24gdG8sIDIwMTYtMDItMTggYXQgMTk6NDIgKzA4MDAsIFpoaSBXYW5nIHdyb3RlOgo+IEZyb206 IEJpbmcgTml1IDxiaW5nLm5pdUBpbnRlbC5jb20+Cj4gCj4gVGhpcyBwYXRjaCBpbnRyb2R1Y2Vz IGhvc3QgZ3JhcGhpY3MgbWVtb3J5L2ZlbmNlIHBhcnRpdGlvbiB3aGVuIEdWVC1nCj4gaXMgZW5h YmxlZC4KPiAKPiBVbmRlciBHVlQtZywgaTkxNSBob3N0IGRyaXZlciBvbmx5IG93bmVkIGxpbWl0 ZWQgZ3JhcGhpY3MgcmVzb3VyY2VzLAo+IG90aGVycyBhcmUgbWFuYWdlZCBieSBHVlQtZyByZXNv dXJjZSBhbGxvY2F0b3IgYW5kIGtlcHQgZm9yIG90aGVyIHZHUFVzLgo+IAo+IHYyOgo+IC0gQWRk cmVzcyBhbGwgY29kaW5nLXN0eWxlIGNvbW1lbnRzIGZyb20gSm9vbmFzIHByZXZpb3VzbHkuCj4g LSBGaXggZXJyb3JzIGFuZCB3YXJubmluZyByZXBvcnRlZCBieSBjaGVja3BhdGNoLnBsLiAoSm9v bmFzKQo+IC0gTW92ZSB0aGUgZ3JhcGhzIGludG8gdGhlIGhlYWRlciBmaWxlcy4gKERhbmllbCkK PiAKPiBTaWduZWQtb2ZmLWJ5OiBCaW5nIE5pdSA8YmluZy5uaXVAaW50ZWwuY29tPgo+IFNpZ25l ZC1vZmYtYnk6IFpoaSBXYW5nIDx6aGkuYS53YW5nQGludGVsLmNvbT4KPiAtLS0KPiDCoGRyaXZl cnMvZ3B1L2RybS9pOTE1L2d2dC9ndnQuY8KgwqDCoMKgwqDCoHzCoMKgNCArKysrCj4gwqBkcml2 ZXJzL2dwdS9kcm0vaTkxNS9ndnQvcGFyYW1zLmPCoMKgwqB8IDEyICsrKysrKysrKysrKwo+IMKg ZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3Z0L3BhcmFtcy5owqDCoMKgfMKgwqAzICsrKwo+IMKgZHJp dmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaMKgwqDCoMKgwqB8IDM1ICsrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrCj4gwqBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbS5j wqDCoMKgwqDCoHzCoMKgNCArKystCj4gwqBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9n dHQuYyB8wqDCoDQgKystLQo+IMKgZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV92Z3B1LmPCoMKg wqDCoHwgMjEgKysrKysrKysrKysrKysrKystLS0tCj4gwqA3IGZpbGVzIGNoYW5nZWQsIDc2IGlu c2VydGlvbnMoKyksIDcgZGVsZXRpb25zKC0pCj4gCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2d2dC9ndnQuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d2dC9ndnQuYwo+IGlu ZGV4IDUyY2ZhMzIuLjIwOTliN2UgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUv Z3Z0L2d2dC5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3Z0L2d2dC5jCj4gQEAgLTM0 OCw2ICszNDgsMTAgQEAgdm9pZCAqZ3Z0X2NyZWF0ZV9wZ3RfZGV2aWNlKHN0cnVjdCBkcm1faTkx NV9wcml2YXRlICpkZXZfcHJpdikKPiDCoAkJZ290byBlcnI7Cj4gwqAJfQo+IMKgCj4gKwlkZXZf cHJpdi0+Z3Z0Lmhvc3RfZmVuY2Vfc3ogPSBndnQuaG9zdF9mZW5jZV9zejsKPiArCWRldl9wcml2 LT5ndnQuaG9zdF9sb3dfZ21fc3pfaW5fbWIgPSBndnQuaG9zdF9sb3dfZ21fc3o7Cj4gKwlkZXZf cHJpdi0+Z3Z0Lmhvc3RfaGlnaF9nbV9zel9pbl9tYiA9IGd2dC5ob3N0X2hpZ2hfZ21fc3o7CgpJ J20gdGhpbmtpbmcsIGNvdWxkIHdlIGV4cG9zZSB0aGUgcGd0X2RldmljZSBzdHJ1Y3QgKGF0IGxl YXN0CnBhcnRpYWxseSwgYW5kIHRoZW4gaGF2ZSBhIFBJTVBMIHBhdHRlcm4pLCB0byBhdm9pZCB0 aGlzIGtpbmQgb2YKZHVwbGljYXRpb24gb2YgZGVjbGFyYXRpb25zIGFuZCB1bm5lY2Vzc2FyeSBj b3BpZXMgYmV0d2VlbiBpOTE1IGFuZAppOTE1X2d2dCBtb2R1bGVzPwoKSXQncyBsaXR0bGUgcm91 Z2ggdGhhdCB0aGUgZ3Z0IGRyaXZlciB3cml0ZXMgdG8gaTkxNV9wcml2YXRlIHN0cnVjdC4KSSdk IHJhdGhlciBzZWUgdGhhdMKgZ3Z0Lmhvc3RfZmVuY2Vfc3ogYW5kIG90aGVyIHZhcmlhYmxlcyBn ZXQgc2FuaXRpemVkCmFuZCB0aGVuIHdyaXR0ZW4gdG8gcGd0X2RldmljZSAobWF5YmUgdGhlIHB1 YmxpYyBwYXJ0IHdvdWxkIGJlCmk5MTVfcGd0X2RldmljZSkgYW5kIHVzZWQgYnkgZ3Z0IGFuZCBp OTE1IGNvZGUuCgpXYXMgdGhpcyBldmVyIGNvbnNpZGVyZWQ/Cgo+ICsKPiDCoAlndnRfZGJnX2Nv cmUoInBndCBkZXZpY2UgY3JlYXRpb24gZG9uZSwgaWQgJWQiLCBwZGV2LT5pZCk7Cj4gwqAKPiDC oAlyZXR1cm4gcGRldjsKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3Z0L3Bh cmFtcy5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3Z0L3BhcmFtcy5jCj4gaW5kZXggZDM4MWQx Ny4uNzUxOTVmZCAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndnQvcGFyYW1z LmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndnQvcGFyYW1zLmMKPiBAQCAtMjYsNyAr MjYsMTkgQEAKPiDCoHN0cnVjdCBndnRfa2VybmVsX3BhcmFtcyBndnQgPSB7Cj4gwqAJLmVuYWJs ZSA9IGZhbHNlLAo+IMKgCS5kZWJ1ZyA9IDAsCj4gKwkuaG9zdF9sb3dfZ21fc3ogPSA5NiwJLyog aW4gTUIgKi8KPiArCS5ob3N0X2hpZ2hfZ21fc3ogPSAzODQsIC8qIGluIE1CICovCj4gKwkuaG9z dF9mZW5jZV9zeiA9IDQsCj4gwqB9Owo+IMKgCj4gwqBtb2R1bGVfcGFyYW1fbmFtZWQoZ3Z0X2Vu YWJsZSwgZ3Z0LmVuYWJsZSwgYm9vbCwgMDYwMCk7Cj4gwqBNT0RVTEVfUEFSTV9ERVNDKGd2dF9l bmFibGUsICJFbmFibGUgSW50ZWwgR1ZULWcgaG9zdCBzdXBwb3J0Iik7Cj4gKwo+ICttb2R1bGVf cGFyYW1fbmFtZWQoZ3Z0X2hvc3RfbG93X2dtX3N6LCBndnQuaG9zdF9sb3dfZ21fc3osIGludCwg MDYwMCk7Cj4gK01PRFVMRV9QQVJNX0RFU0MoZ3Z0X2hvc3RfbG93X2dtX3N6LCAiQW1vdW50IG9m IGFwZXJ0dXJlIHNpemUgb2YgaG9zdCAoaW4gTUIpIik7CgpBcyBpOTE1X2d2dCB3aWxsIGJlIHRo ZSBob3N0IG1vZHVsZSwgImd2dF9ob3N0IiBjYW4gYmUgcmVtb3ZlZCBzbyB0aGUKbW9kdWxlIHBh cmFtZXRlcnMgYmVjb21lOwoKaTkxNV9ndnQubG93X2dtX3N6IGluc3RlYWQgb2YgaTkxNV9ndnQu Z3Z0X2hvc3RfbG93X2dtX3N6CgpBbHNvIHNob3VsZCB0aGVzZSBiZSBfdW5zYWZlIHBhcmFtZXRl cnMgYmVjYXVzZSBJIGJldCB0aGV5IGNhbiBtYWtlIHRoZQptYWNoaW5lIGdvIGNyYXp5IGlmIHdy b25nPwoKPiArCj4gK21vZHVsZV9wYXJhbV9uYW1lZChndnRfaG9zdF9oaWdoX2dtX3N6LCBndnQu aG9zdF9oaWdoX2dtX3N6LCBpbnQsIDA2MDApOwo+ICtNT0RVTEVfUEFSTV9ERVNDKGd2dF9ob3N0 X2hpZ2hfZ21fc3osICJBbW91bnQgb2YgaGlnaCBtZW1vcnkgc2l6ZSBvZiBob3N0IChpbiBNQiki KTsKPiArCj4gK21vZHVsZV9wYXJhbV9uYW1lZChndnRfaG9zdF9mZW5jZV9zeiwgZ3Z0Lmhvc3Rf ZmVuY2Vfc3osIGludCwgMDYwMCk7Cj4gK01PRFVMRV9QQVJNX0RFU0MoZ3Z0X2hvc3RfZmVuY2Vf c3osICJBbW91bnQgb2YgZmVuY2Ugc2l6ZSBvZiBob3N0IChpbiBNQikiKTsKPiBkaWZmIC0tZ2l0 IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3Z0L3BhcmFtcy5oIGIvZHJpdmVycy9ncHUvZHJtL2k5 MTUvZ3Z0L3BhcmFtcy5oCj4gaW5kZXggZDI5NTViOS4uZjRlOTM1NiAxMDA2NDQKPiAtLS0gYS9k cml2ZXJzL2dwdS9kcm0vaTkxNS9ndnQvcGFyYW1zLmgKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0v aTkxNS9ndnQvcGFyYW1zLmgKPiBAQCAtMjcsNiArMjcsOSBAQAo+IMKgc3RydWN0IGd2dF9rZXJu ZWxfcGFyYW1zIHsKPiDCoAlib29sIGVuYWJsZTsKPiDCoAlpbnQgZGVidWc7Cj4gKwlpbnQgaG9z dF9sb3dfZ21fc3o7Cj4gKwlpbnQgaG9zdF9oaWdoX2dtX3N6Owo+ICsJaW50IGhvc3RfZmVuY2Vf c3o7Cj4gwqB9Owo+IMKgCj4gwqBleHRlcm4gc3RydWN0IGd2dF9rZXJuZWxfcGFyYW1zIGd2dDsK PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaCBiL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKPiBpbmRleCAyZjg5N2MzLi4xZmQ1NTc1IDEwMDY0NAo+ IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKPiArKysgYi9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pOTE1X2Rydi5oCj4gQEAgLTE3MDUsOCArMTcwNSw0MyBAQCBzdHJ1Y3QgaTkx NV93b3JrYXJvdW5kcyB7Cj4gwqAJdTMyIGh3X3doaXRlbGlzdF9jb3VudFtJOTE1X05VTV9SSU5H U107Cj4gwqB9Owo+IMKgCj4gKy8qCj4gKyAqIFVuZGVyIEdWVC1nLCBpOTE1IGhvc3QgZHJpdmVy IG9ubHkgb3duZWQgbGltaXRlZCBncmFwaGljcyByZXNvdXJjZXMsCj4gKyAqIG90aGVycyBhcmUg bWFuYWdlZCBieSBHVlQtZyByZXNvdXJjZSBhbGxvY2F0b3IgYW5kIGtlcHQgZm9yIG90aGVyIHZH UFVzLgo+ICsgKgo+ICsgKiBGb3IgZ3JhcGhpY3MgbWVtb3J5IHNwYWNlIHBhcnRpdGlvbiwgYSB0 eXBpY2FsIGxheW91dCBsb29rcyBsaWtlOgo+ICsgKgo+ICsgKiArLS0tLS0tLSstLS0tLS0tLS0t LS0tLS0tLS0tLS0tLSstLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rCj4gKyAqIHwqIEhv c3QgfMKgwqDCoCpHVlQtZyBSZXNvdXJjZcKgwqDCoMKgwqB8KiBIb3N0fMKgwqDCoCpHVlQtZyBS ZXNvdXJjZcKgwqDCoMKgwqB8Cj4gKyAqIHwgT3duZWQgfMKgwqDCoEFsbG9jYXRvciBNYW5hZ2Vk wqDCoMKgfCBPd25lZHzCoMKgwqBBbGxvY2F0b3IgTWFuYWdlZMKgwqDCoHwKPiArICogfMKgwqDC oMKgwqDCoMKgfMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqB8 wqDCoMKgwqDCoMKgfMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqB8Cj4gKyAqICstLS0tLS0tLS0tLS0tLS0rLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0t Ky0tLS0tLS0rLS0tLS0tLSsKPiArICogfMKgwqDCoMKgwqDCoMKgfMKgwqDCoMKgwqDCoMKgfMKg wqDCoMKgwqDCoMKgfMKgwqDCoMKgwqDCoMKgfMKgwqDCoMKgwqDCoHzCoMKgwqDCoMKgwqDCoHzC oMKgwqDCoMKgwqDCoHzCoMKgwqDCoMKgwqDCoHwKPiArICogfCBpOTE1wqDCoHwgdm0gMcKgwqB8 IHZtIDLCoMKgfCB2bSAzwqDCoHwgaTkxNSB8IHZtIDHCoMKgfCB2bSAywqDCoHwgdm0gM8KgwqB8 Cj4gKyAqIHzCoMKgwqDCoMKgwqDCoHzCoMKgwqDCoMKgwqDCoHzCoMKgwqDCoMKgwqDCoHzCoMKg wqDCoMKgwqDCoHzCoMKgwqDCoMKgwqB8wqDCoMKgwqDCoMKgwqB8wqDCoMKgwqDCoMKgwqB8wqDC oMKgwqDCoMKgwqB8Cj4gKyAqICstLS0tLS0tKy0tLS0tLS0rLS0tLS0tLSstLS0tLS0tLS0tLS0t LSstLS0tLS0tKy0tLS0tLS0rLS0tLS0tLSsKPiArICogfMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBB cGVydHVyZcKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoHzCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBI aWRkZW7CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqB8Cj4gKyAqICstLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsKPiArICogfMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBHR1RUIG1lbW9yeSBzcGFj ZcKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgfAo+ICsgKiArLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0rCj4gKyAqCj4gKyAqIFNpbWlsYXIgd2l0aCBmZW5jZSByZWdpc3RlcnMgcGFydGl0aW9uOgo+ ICsgKgo+ICsgKiArLS0tLS0tICstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsKPiArICogfCAqIEhv c3R8wqDCoMKgwqBHVlQtZyBSZXNvdXJjZcKgwqDCoMKgwqB8Cj4gKyAqIHwgT3duZWQgfMKgwqDC oEFsbG9jYXRvciBNYW5hZ2VkwqDCoMKgKwo+ICsgKiAwwqDCoMKgwqDCoMKgwqB8wqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoDMxCj4gKyAqICstLS0tLS0tLS0t LS0tLS0rLS0tLS0tLSstLS0tLS0tKwo+ICsgKiB8wqDCoMKgwqDCoMKgwqB8wqDCoMKgwqDCoMKg wqB8wqDCoMKgwqDCoMKgwqB8wqDCoMKgwqDCoMKgwqB8Cj4gKyAqIHwgaTkxNcKgwqB8IHZtIDHC oMKgfCB2bSAywqDCoHwgdm0gM8KgwqB8Cj4gKyAqIHzCoMKgwqDCoMKgwqDCoHzCoMKgwqDCoMKg wqDCoHzCoMKgwqDCoMKgwqDCoHzCoMKgwqDCoMKgwqDCoHwKPiArICogKy0tLS0tLS0rLS0tLS0t LSstLS0tLS0tKy0tLS0tLS0rCj4gKyAqLwo+IMKgc3RydWN0IGk5MTVfZ3Z0IHsKPiDCoAl2b2lk ICpwZ3RfZGV2aWNlOwo+ICsJdTMyIGhvc3RfbG93X2dtX3N6X2luX21iOwo+ICsJdTMyIGhvc3Rf aGlnaF9nbV9zel9pbl9tYjsKPiArCWludCBob3N0X2ZlbmNlX3N6Owo+IMKgfTsKPiDCoAo+IMKg c3RydWN0IGk5MTVfdmlydHVhbF9ncHUgewo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pOTE1X2dlbS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW0uYwo+IGluZGV4 IGY2OGYzNDYuLjFjMDAwNmEgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkx NV9nZW0uYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtLmMKPiBAQCAtNTA3 OCw3ICs1MDc4LDkgQEAgaTkxNV9nZW1fbG9hZF9pbml0KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYp Cj4gwqAJZWxzZQo+IMKgCQlkZXZfcHJpdi0+bnVtX2ZlbmNlX3JlZ3MgPSA4Owo+IMKgCj4gLQlp ZiAoaW50ZWxfdmdwdV9hY3RpdmUoZGV2KSkKPiArCWlmIChpbnRlbF9ndnRfYWN0aXZlKGRldikp Cj4gKwkJZGV2X3ByaXYtPm51bV9mZW5jZV9yZWdzID0gZGV2X3ByaXYtPmd2dC5ob3N0X2ZlbmNl X3N6Owo+ICsJZWxzZSBpZiAoaW50ZWxfdmdwdV9hY3RpdmUoZGV2KSkKPiDCoAkJZGV2X3ByaXYt Pm51bV9mZW5jZV9yZWdzID0KPiDCoAkJCQlJOTE1X1JFQUQodmd0aWZfcmVnKGF2YWlsX3JzLmZl bmNlX251bSkpOwo+IMKgCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVf Z2VtX2d0dC5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fZ3R0LmMKPiBpbmRleCA5 MTI3ZjhmLi5kZTA5ZGQ0IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVf Z2VtX2d0dC5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fZ3R0LmMKPiBA QCAtMjczNCw3ICsyNzM0LDcgQEAgc3RhdGljIGludCBpOTE1X2dlbV9zZXR1cF9nbG9iYWxfZ3R0 KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCj4gwqAJaTkxNV9hZGRyZXNzX3NwYWNlX2luaXQoZ2d0 dF92bSwgZGV2X3ByaXYpOwo+IMKgCWdndHRfdm0tPnRvdGFsICs9IFBBR0VfU0laRTsKPiDCoAo+ IC0JaWYgKGludGVsX3ZncHVfYWN0aXZlKGRldikpIHsKPiArCWlmIChpbnRlbF92Z3B1X2FjdGl2 ZShkZXYpIHx8IGludGVsX2d2dF9hY3RpdmUoZGV2KSkgewo+IMKgCQlyZXQgPSBpbnRlbF92Z3Rf YmFsbG9vbihkZXYpOwo+IMKgCQlpZiAocmV0KQo+IMKgCQkJcmV0dXJuIHJldDsKPiBAQCAtMjgz Myw3ICsyODMzLDcgQEAgdm9pZCBpOTE1X2dsb2JhbF9ndHRfY2xlYW51cChzdHJ1Y3QgZHJtX2Rl dmljZSAqZGV2KQo+IMKgCWk5MTVfZ2VtX2NsZWFudXBfc3RvbGVuKGRldik7Cj4gwqAKPiDCoAlp ZiAoZHJtX21tX2luaXRpYWxpemVkKCZ2bS0+bW0pKSB7Cj4gLQkJaWYgKGludGVsX3ZncHVfYWN0 aXZlKGRldikpCj4gKwkJaWYgKGludGVsX3ZncHVfYWN0aXZlKGRldikgfHwgaW50ZWxfZ3Z0X2Fj dGl2ZShkZXYpKQo+IMKgCQkJaW50ZWxfdmd0X2RlYmFsbG9vbigpOwo+IMKgCj4gwqAJCWRybV9t bV90YWtlZG93bigmdm0tPm1tKTsKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUv aTkxNV92Z3B1LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3ZncHUuYwo+IGluZGV4IGRl YTc0MjkuLjdiZTE0MzUgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV92 Z3B1LmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3ZncHUuYwo+IEBAIC0xODgs MTAgKzE4OCwyMyBAQCBpbnQgaW50ZWxfdmd0X2JhbGxvb24oc3RydWN0IGRybV9kZXZpY2UgKmRl dikKPiDCoAl1bnNpZ25lZCBsb25nIHVubWFwcGFibGVfYmFzZSwgdW5tYXBwYWJsZV9zaXplLCB1 bm1hcHBhYmxlX2VuZDsKPiDCoAlpbnQgcmV0Owo+IMKgCj4gLQltYXBwYWJsZV9iYXNlID0gSTkx NV9SRUFEKHZndGlmX3JlZyhhdmFpbF9ycy5tYXBwYWJsZV9nbWFkci5iYXNlKSk7Cj4gLQltYXBw YWJsZV9zaXplID0gSTkxNV9SRUFEKHZndGlmX3JlZyhhdmFpbF9ycy5tYXBwYWJsZV9nbWFkci5z aXplKSk7Cj4gLQl1bm1hcHBhYmxlX2Jhc2UgPSBJOTE1X1JFQUQodmd0aWZfcmVnKGF2YWlsX3Jz Lm5vbm1hcHBhYmxlX2dtYWRyLmJhc2UpKTsKPiAtCXVubWFwcGFibGVfc2l6ZSA9IEk5MTVfUkVB RCh2Z3RpZl9yZWcoYXZhaWxfcnMubm9ubWFwcGFibGVfZ21hZHIuc2l6ZSkpOwo+ICsJaWYgKGlu dGVsX2d2dF9hY3RpdmUoZGV2KSkgewo+ICsJCW1hcHBhYmxlX2Jhc2UgPSAwOwo+ICsJCW1hcHBh YmxlX3NpemUgPSBkZXZfcHJpdi0+Z3Z0Lmhvc3RfbG93X2dtX3N6X2luX21iIDw8IDIwOwo+ICsJ CXVubWFwcGFibGVfYmFzZSA9IGRldl9wcml2LT5ndHQubWFwcGFibGVfZW5kOwo+ICsJCXVubWFw cGFibGVfc2l6ZSA9IGRldl9wcml2LT5ndnQuaG9zdF9oaWdoX2dtX3N6X2luX21iIDw8IDIwOwo+ ICsJfSBlbHNlIGlmIChpbnRlbF92Z3B1X2FjdGl2ZShkZXYpKSB7Cj4gKwkJbWFwcGFibGVfYmFz ZSA9IEk5MTVfUkVBRCgKPiArCQkJdmd0aWZfcmVnKGF2YWlsX3JzLm1hcHBhYmxlX2dtYWRyLmJh c2UpKTsKPiArCQltYXBwYWJsZV9zaXplID0gSTkxNV9SRUFEKAo+ICsJCQl2Z3RpZl9yZWcoYXZh aWxfcnMubWFwcGFibGVfZ21hZHIuc2l6ZSkpOwo+ICsJCXVubWFwcGFibGVfYmFzZSA9IEk5MTVf UkVBRCgKPiArCQkJdmd0aWZfcmVnKGF2YWlsX3JzLm5vbm1hcHBhYmxlX2dtYWRyLmJhc2UpKTsK PiArCQl1bm1hcHBhYmxlX3NpemUgPSBJOTE1X1JFQUQoCj4gKwkJCXZndGlmX3JlZyhhdmFpbF9y cy5ub25tYXBwYWJsZV9nbWFkci5zaXplKSk7Cj4gKwl9IGVsc2Ugewo+ICsJCXJldHVybiAtRU5P REVWOwo+ICsJfQo+IMKgCj4gwqAJbWFwcGFibGVfZW5kID0gbWFwcGFibGVfYmFzZSArIG1hcHBh YmxlX3NpemU7Cj4gwqAJdW5tYXBwYWJsZV9lbmQgPSB1bm1hcHBhYmxlX2Jhc2UgKyB1bm1hcHBh YmxlX3NpemU7Ci0tIApKb29uYXMgTGFodGluZW4KT3BlbiBTb3VyY2UgVGVjaG5vbG9neSBDZW50 ZXIKSW50ZWwgQ29ycG9yYXRpb24KX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRl c2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8v aW50ZWwtZ2Z4Cg==