From mboxrd@z Thu Jan 1 00:00:00 1970 From: Joonas Lahtinen Subject: Re: [RFC 02/29] drm/i915: Introduce host graphics memory balloon for gvt Date: Fri, 05 Feb 2016 15:40:49 +0200 Message-ID: <1454679649.8365.7.camel@linux.intel.com> References: <1453976511-27322-1-git-send-email-zhi.a.wang@intel.com> <1453976511-27322-3-git-send-email-zhi.a.wang@intel.com> <1454585228.9041.24.camel@linux.intel.com> <20160205100307.GA25298@zlv-hp-dev> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga04.intel.com (mga04.intel.com [192.55.52.120]) by gabe.freedesktop.org (Postfix) with ESMTP id 8A5E06E9EB for ; Fri, 5 Feb 2016 05:40:58 -0800 (PST) In-Reply-To: <20160205100307.GA25298@zlv-hp-dev> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Zhiyuan Lv Cc: daniel.vetter@ffwll.ch, intel-gfx@lists.freedesktop.org, david.j.cowperthwaite@intel.com, igvt-g@lists.01.org List-Id: intel-gfx@lists.freedesktop.org SGksCgpPbiBwZSwgMjAxNi0wMi0wNSBhdCAxODowMyArMDgwMCwgWmhpeXVhbiBMdiB3cm90ZToK PiBIaSBKb29uYXMsCj4gCj4gVGhhbmtzIG11Y2ggZm9yIHRoZSByZXZpZXchIFdlIHdpbGwgaW5j b3Jwb3JhdGUgdGhvc2UgcmV2aWV3IGNvbW1lbnRzIQo+IAo+IE1lYW53aGlsZSwgaXMgaXQgZ29v ZCBlbm91Z2ggdG8gZG8gdGhlIGhvc3QgYmFsbG9vbmluZyBsaWtlIGJlbG93PyBUaGUKPiBwcm9z IGlzIHRoYXQgaXQgaXMgdmVyeSBzaW1wbGUsIGVzcGVjaWFsbHkgY29uc2lkZXIgdGhhdCBndWVz dAo+IGJhbGxvb25pbmcgbG9naWMgaGFzIGJlZW4gdGhlcmUuIFRoYW5rcyEKPiAKCkkgdGhpbmsg c2xpY2luZyBpdCBkb3duIGxpa2UgdGhhdCBpcyBmaW5lLiBJcyB0aGVyZSBnb2luZyB0byBiZSBy ZWFsCmJhbGxvb25pbmcgaGFwcGVuaW5nLCBhcyBpbiwgaXMgdGhlIGF2YWlsYWJsZSBtZW1vcnkg ZHluYW1pY2FsbHkgZ29pbmcKdG8gY2hhbmdlIGR1cmluZyBydW50aW1lLCBvciBqdXN0IGJlIGZp eGVkIHNpemUgc2luY2UgdGhlIGJlZ2lubmluZz8KClJlZ2FyZHMsIEpvb25hcwoKPiBSZWdhcmRz LAo+IC1aaGl5dWFuCj4gCj4gT24gVGh1LCBGZWIgMDQsIDIwMTYgYXQgMDE6Mjc6MDhQTSArMDIw MCwgSm9vbmFzIExhaHRpbmVuIHdyb3RlOgo+ID4gSGksCj4gPiAKPiA+IE9uIHRvLCAyMDE2LTAx LTI4IGF0IDE4OjIxICswODAwLCBaaGkgV2FuZyB3cm90ZToKPiA+ID4gRnJvbTogQmluZyBOaXUg PGJpbmcubml1QGludGVsLmNvbT4KPiA+ID4gCj4gPiA+IFRoaXMgcGF0Y2ggaW50cm9kdWNlcyBo b3N0IGdyYXBoaWNzIG1lbW9yeSBiYWxsb24gd2hlbiBHVlQtZyBpcyBlbmFibGVkLgo+ID4gPiAK PiA+ID4gQXMgdW5kZXIgR1ZULWcsIGk5MTUgb25seSBvd25lZCBsaW1pdGVkIGdyYXBoaWNzIHJl c291cmNlcywgb3RoZXJzIGFyZQo+ID4gPiBtYW5hZ2VkIGJ5IEdWVC1nIHJlc291cmNlIGFsbG9j YXRvciBhbmQga2VwdCBmb3Igb3RoZXIgdkdQVXMuCj4gPiA+IAo+ID4gPiBGb3IgZ3JhcGhpY3Mg bWVtb3J5IHNwYWNlIHBhcnRpdGlvbiwgYSB0eXBpY2FsIGxheW91dCBsb29rcyBsaWtlOgo+ID4g PiAKPiA+ID4gKy0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tKy0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tKwo+ID4gPiA+ICogSG9zdCB8wqDCoMKgKkdWVC1nIFJlc291cmNlwqDC oMKgwqDCoHwqIEhvc3R8wqDCoMKgKkdWVC1nIFJlc291cmNlwqDCoMKgwqDCoHwKPiA+ID4gPiBP d25lZCB8wqDCoMKgQWxsb2NhdG9yIE1hbmFnZWTCoMKgwqB8IE93bmVkfMKgwqDCoEFsbG9jYXRv ciBNYW5hZ2VkwqDCoMKgfAo+ID4gPiA+IMKgwqDCoMKgwqDCoHzCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgfMKgwqDCoMKgwqDCoHzCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgfAo+ID4gPiArLS0tLS0tLS0tLS0tLS0tKy0t LS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tKy0tLS0tLS0rCj4gPiA+ID4gwqDC oMKgwqDCoMKgfMKgwqDCoMKgwqDCoMKgfMKgwqDCoMKgwqDCoMKgfMKgwqDCoMKgwqDCoMKgfMKg wqDCoMKgwqDCoHzCoMKgwqDCoMKgwqDCoHzCoMKgwqDCoMKgwqDCoHzCoMKgwqDCoMKgwqDCoHwK PiA+ID4gPiBpOTE1wqDCoHwgdm0gMcKgwqB8IHZtIDLCoMKgfCB2bSAzwqDCoHwgaTkxNSB8IHZt IDHCoMKgfCB2bSAywqDCoHwgdm0gM8KgwqB8Cj4gPiA+ID4gwqDCoMKgwqDCoMKgfMKgwqDCoMKg wqDCoMKgfMKgwqDCoMKgwqDCoMKgfMKgwqDCoMKgwqDCoMKgfMKgwqDCoMKgwqDCoHzCoMKgwqDC oMKgwqDCoHzCoMKgwqDCoMKgwqDCoHzCoMKgwqDCoMKgwqDCoHwKPiA+ID4gKy0tLS0tLS0rLS0t LS0tLSstLS0tLS0tKy0tLS0tLS0tLS0tLS0tKy0tLS0tLS0rLS0tLS0tLSstLS0tLS0tKwo+ID4g PiA+IMKgwqDCoMKgwqDCoMKgwqDCoMKgQXBlcnR1cmXCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqB8 wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgSGlkZGVuwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgfAo+ ID4gPiArLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0rCj4gPiA+ID4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqBHR1RUIG1lbW9yeSBzcGFjZcKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgfAo+ID4gPiArLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rCj4gPiA+IAo+ID4gPiBTaW1pbGFyIHdpdGggZmVu Y2UgcmVnaXN0ZXJzIHBhcnRpdGlvbjoKPiA+ID4gCj4gPiA+IMKgKy0tLS0tLSArLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0rCj4gPiA+IMKgfCAqIEhvc3R8wqDCoMKgwqBHVlQtZyBSZXNvdXJjZcKg wqDCoMKgwqB8Cj4gPiA+IMKgfCBPd25lZCB8wqDCoMKgQWxsb2NhdG9yIE1hbmFnZWTCoMKgwqAr Cj4gPiA+IMKgMMKgwqDCoMKgwqDCoMKgfMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqAzMQo+ID4gPiDCoCstLS0tLS0tLS0tLS0tLS0rLS0tLS0tLSstLS0tLS0t Kwo+ID4gPiDCoHzCoMKgwqDCoMKgwqDCoHzCoMKgwqDCoMKgwqDCoHzCoMKgwqDCoMKgwqDCoHzC oMKgwqDCoMKgwqDCoHwKPiA+ID4gwqB8IGk5MTXCoMKgfCB2bSAxwqDCoHwgdm0gMsKgwqB8IHZt IDPCoMKgfAo+ID4gPiDCoHzCoMKgwqDCoMKgwqDCoHzCoMKgwqDCoMKgwqDCoHzCoMKgwqDCoMKg wqDCoHzCoMKgwqDCoMKgwqDCoHwKPiA+ID4gwqArLS0tLS0tLSstLS0tLS0tKy0tLS0tLS0rLS0t LS0tLSsKPiA+ID4gCj4gPiA+IGk5MTUgaG9zdCB3aWxsIHJlYWQgdGhlIGFtb3VudCBvZiBhbGxv Y2F0ZWQgcmVzb3VyY2VzIHZpYSBHVlQtZyBrZXJuZWwgcGFyYW1ldGVycy4KPiA+ID4gCj4gPiA+ IFNpZ25lZC1vZmYtYnk6IEJpbmcgTml1IDxiaW5nLm5pdUBpbnRlbC5jb20+Cj4gPiA+IFNpZ25l ZC1vZmYtYnk6IFpoaSBXYW5nIDx6aGkuYS53YW5nQGludGVsLmNvbT4KPiA+ID4gLS0tCj4gPiA+ IMKgZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3Z0L3BhcmFtcy5owqDCoMKgfMKgwqAzICsrKwo+ID4g PiDCoGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtLmPCoMKgwqDCoMKgfMKgwqAzICsrKwo+ ID4gPiDCoGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2d0dC5jIHzCoMKgNCArKy0tCj4g PiA+IMKgZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV92Z3B1LmPCoMKgwqDCoHwgMTYgKysrKysr KysrKysrLS0tLQo+ID4gPiDCoGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfdmdwdS5owqDCoMKg wqB8wqDCoDEgKwo+ID4gPiDCoDUgZmlsZXMgY2hhbmdlZCwgMjEgaW5zZXJ0aW9ucygrKSwgNiBk ZWxldGlvbnMoLSkKPiA+ID4gCj4gPiA+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkx NS9ndnQvcGFyYW1zLmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndnQvcGFyYW1zLmgKPiA+ID4g aW5kZXggZDI5NTViOS4uMDY1NmE5OCAxMDA2NDQKPiA+ID4gLS0tIGEvZHJpdmVycy9ncHUvZHJt L2k5MTUvZ3Z0L3BhcmFtcy5oCj4gPiA+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d2dC9w YXJhbXMuaAo+ID4gPiBAQCAtMjcsNiArMjcsOSBAQAo+ID4gPiDCoHN0cnVjdCBndnRfa2VybmVs X3BhcmFtcyB7Cj4gPiA+IMKgCWJvb2wgZW5hYmxlOwo+ID4gPiDCoAlpbnQgZGVidWc7Cj4gPiA+ ICsJaW50IGRvbTBfbG93X2dtX3N6Owo+ID4gPiArCWludCBkb20wX2hpZ2hfZ21fc3o7Cj4gPiA+ ICsJaW50IGRvbTBfZmVuY2Vfc3o7CgpTb21lIGNvbW1lbnQgb24gdGhlIHVuaXQgd291bGQgYmUg bmljZSBoZXJlLCBhcyB0aGVyZSBpcyBhIHNoaWZ0IHdpdGgKPDwgMjAgbGF0ZXIgb24uCgpJcyAi dW5zaWduZWQgbG9uZyIgdHlwZSBhbmQgY291bnQgaW4gcGFnZXMgbm90IGFjY2VwdGFibGU/IEkg dGhpbmsKdGhhdCdzIHRoZSBhc3N1bXB0aW9uIG9uZSBpcyBnb2luZyB0byBtYWtlLgoKPiA+ID4g wqB9Owo+ID4gPiDCoAo+ID4gPiDCoGV4dGVybiBzdHJ1Y3QgZ3Z0X2tlcm5lbF9wYXJhbXMgZ3Z0 Owo+ID4gPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW0uYyBiL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtLmMKPiA+ID4gaW5kZXggNzk5YTUzYS4uZTkxNmU0 MyAxMDA2NDQKPiA+ID4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW0uYwo+ID4g PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbS5jCj4gPiA+IEBAIC01MDgwLDYg KzUwODAsOSBAQCBpOTE1X2dlbV9sb2FkKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCj4gPiA+IMKg CWVsc2UKPiA+ID4gwqAJCWRldl9wcml2LT5udW1fZmVuY2VfcmVncyA9IDg7Cj4gPiA+IMKgCj4g PiA+ICsJaWYoaW50ZWxfZ3Z0X2hvc3RfYWN0aXZlKGRldikpCj4gPiAKPiA+IFNwYWNlIGJldHdl ZW4gImlmIiBhbmQgIigiCj4gCj4gVGhhbmtzISBXaWxsIGNvcnJlY3QgaXQuCj4gCj4gPiAKPiA+ ID4gKwkJZGV2X3ByaXYtPm51bV9mZW5jZV9yZWdzID0gZ3Z0LmRvbTBfZmVuY2Vfc3o7Cj4gPiA+ ICsKPiA+ID4gwqAJaWYgKGludGVsX3ZncHVfYWN0aXZlKGRldikpCj4gPiA+IMKgCQlkZXZfcHJp di0+bnVtX2ZlbmNlX3JlZ3MgPQo+ID4gPiDCoAkJCQlJOTE1X1JFQUQodmd0aWZfcmVnKGF2YWls X3JzLmZlbmNlX251bSkpOwo+ID4gCj4gPiBJJ2QgbGlrZSB0byBzZWUgdGhlIGFib3ZlIGFzICJl bHNlIGlmIiBjb25zdHJ1Y3QganVzdCBsaWtlIHlvdSBoYXZlCj4gPiBiZWxvdyB3aXRoIHRoZSBp bnRlbF92Z3RfYmFsbG9vbigpLiBDb3VsZCBldmVuIGRvCj4gPiAKPiA+IAlpZiAoZ3Z0X2hvc3Qp wqDCoHsKPiA+IAkJLi4uCj4gPiAJfSBlbHNlIGlmICh2Z3B1X2FjdGl2ZSkgewo+ID4gCQkuLi4K PiA+IAl9IGVsc2Ugewo+ID4gCQlwZXIgbWFjaGluZSBkZXRlY3Rpb24KPiA+IAl9Cj4gPiAKPiA+ IFJpZ2h0Pwo+IAo+IFRoYXQgbG9va3MgYmV0dGVyIQo+IAo+ID4gCj4gPiA+IGRpZmYgLS1naXQg YS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9ndHQuYyBiL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2k5MTVfZ2VtX2d0dC5jCj4gPiA+IGluZGV4IDczNzdiNjcuLjA1NDBkZTIgMTAwNjQ0Cj4g PiA+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2d0dC5jCj4gPiA+ICsrKyBi L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2d0dC5jCj4gPiA+IEBAIC0yNzEzLDcgKzI3 MTMsNyBAQCBzdGF0aWMgaW50IGk5MTVfZ2VtX3NldHVwX2dsb2JhbF9ndHQoc3RydWN0IGRybV9k ZXZpY2UgKmRldiwKPiA+ID4gwqAJaTkxNV9hZGRyZXNzX3NwYWNlX2luaXQoZ2d0dF92bSwgZGV2 X3ByaXYpOwo+ID4gPiDCoAlnZ3R0X3ZtLT50b3RhbCArPSBQQUdFX1NJWkU7Cj4gPiA+IMKgCj4g PiA+IC0JaWYgKGludGVsX3ZncHVfYWN0aXZlKGRldikpIHsKPiA+ID4gKwlpZiAoaW50ZWxfdmdw dV9hY3RpdmUoZGV2KSB8fCBpbnRlbF9ndnRfaG9zdF9hY3RpdmUoZGV2KSkgewo+ID4gPiDCoAkJ cmV0ID0gaW50ZWxfdmd0X2JhbGxvb24oZGV2KTsKPiA+ID4gwqAJCWlmIChyZXQpCj4gPiA+IMKg CQkJcmV0dXJuIHJldDsKPiA+ID4gQEAgLTI4MTAsNyArMjgxMCw3IEBAIHZvaWQgaTkxNV9nbG9i YWxfZ3R0X2NsZWFudXAoc3RydWN0IGRybV9kZXZpY2UgKmRldikKPiA+ID4gwqAJfQo+ID4gPiDC oAo+ID4gPiDCoAlpZiAoZHJtX21tX2luaXRpYWxpemVkKCZ2bS0+bW0pKSB7Cj4gPiA+IC0JCWlm IChpbnRlbF92Z3B1X2FjdGl2ZShkZXYpKQo+ID4gPiArCQlpZiAoaW50ZWxfdmdwdV9hY3RpdmUo ZGV2KSB8fCBpbnRlbF9ndnRfaG9zdF9hY3RpdmUoZGV2KSkKPiA+ID4gwqAJCQlpbnRlbF92Z3Rf ZGViYWxsb29uKCk7Cj4gPiA+IMKgCj4gPiA+IMKgCQlkcm1fbW1fdGFrZWRvd24oJnZtLT5tbSk7 Cj4gPiA+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3ZncHUuYyBiL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfdmdwdS5jCj4gPiA+IGluZGV4IGRlYTc0MjkuLmZiZTYx MTQgMTAwNjQ0Cj4gPiA+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfdmdwdS5jCj4g PiA+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfdmdwdS5jCj4gPiA+IEBAIC0xODgs MTAgKzE4OCwxOCBAQCBpbnQgaW50ZWxfdmd0X2JhbGxvb24oc3RydWN0IGRybV9kZXZpY2UgKmRl dikKPiA+ID4gwqAJdW5zaWduZWQgbG9uZyB1bm1hcHBhYmxlX2Jhc2UsIHVubWFwcGFibGVfc2l6 ZSwgdW5tYXBwYWJsZV9lbmQ7Cj4gPiA+IMKgCWludCByZXQ7Cj4gPiA+IMKgCj4gPiA+IC0JbWFw cGFibGVfYmFzZSA9IEk5MTVfUkVBRCh2Z3RpZl9yZWcoYXZhaWxfcnMubWFwcGFibGVfZ21hZHIu YmFzZSkpOwo+ID4gPiAtCW1hcHBhYmxlX3NpemUgPSBJOTE1X1JFQUQodmd0aWZfcmVnKGF2YWls X3JzLm1hcHBhYmxlX2dtYWRyLnNpemUpKTsKPiA+ID4gLQl1bm1hcHBhYmxlX2Jhc2UgPSBJOTE1 X1JFQUQodmd0aWZfcmVnKGF2YWlsX3JzLm5vbm1hcHBhYmxlX2dtYWRyLmJhc2UpKTsKPiA+ID4g LQl1bm1hcHBhYmxlX3NpemUgPSBJOTE1X1JFQUQodmd0aWZfcmVnKGF2YWlsX3JzLm5vbm1hcHBh YmxlX2dtYWRyLnNpemUpKTsKPiA+ID4gKwlpZihpbnRlbF9ndnRfaG9zdF9hY3RpdmUoZGV2KSkg ewo+ID4gPiArCQltYXBwYWJsZV9iYXNlID0gMDsKPiA+ID4gKwkJbWFwcGFibGVfc2l6ZSA9IGd2 dC5kb20wX2xvd19nbV9zeiA8PCAyMDsKPiA+ID4gKwkJdW5tYXBwYWJsZV9iYXNlID0gZGV2X3By aXYtPmd0dC5tYXBwYWJsZV9lbmQ7Cj4gPiA+ICsJCXVubWFwcGFibGVfc2l6ZSA9IGd2dC5kb20w X2hpZ2hfZ21fc3ogPDwgMjA7Cj4gPiA+ICsJfSBlbHNlIGlmIChpbnRlbF92Z3B1X2FjdGl2ZShk ZXYpKSB7Cj4gPiA+ICsJCW1hcHBhYmxlX2Jhc2UgPSBJOTE1X1JFQUQodmd0aWZfcmVnKGF2YWls X3JzLm1hcHBhYmxlX2dtYWRyLmJhc2UpKTsKPiA+ID4gKwkJbWFwcGFibGVfc2l6ZSA9IEk5MTVf UkVBRCh2Z3RpZl9yZWcoYXZhaWxfcnMubWFwcGFibGVfZ21hZHIuc2l6ZSkpOwo+ID4gPiArCQl1 bm1hcHBhYmxlX2Jhc2UgPSBJOTE1X1JFQUQodmd0aWZfcmVnKGF2YWlsX3JzLm5vbm1hcHBhYmxl X2dtYWRyLmJhc2UpKTsKPiA+ID4gKwkJdW5tYXBwYWJsZV9zaXplID0gSTkxNV9SRUFEKHZndGlm X3JlZyhhdmFpbF9ycy5ub25tYXBwYWJsZV9nbWFkci5zaXplKSk7Cj4gPiA+ICsJfSBlbHNlCj4g PiA+ICsJCXJldHVybiAtRU5PREVWOwo+ID4gPiDCoAo+ID4gCX0gZWxzZSB7Cj4gPiAJCXJldHVy biAtRU5PREVWOwo+ID4gCX0KPiA+IAo+ID4gVGhpcyBtdXN0IHVzZSBicmFjZXMgdG9vLCBhY2Nv cmRpbmcgdG8gdGhlIEtlcm5lbCBDb2RpbmcgU3R5bGUuCj4gCj4gVGhhdCdzIHJpZ2h0LiBUaGFu a3MgZm9yIHBvaW50aW5nIGl0IG91dCEKPiAKPiA+IAo+ID4gPiDCoAltYXBwYWJsZV9lbmQgPSBt YXBwYWJsZV9iYXNlICsgbWFwcGFibGVfc2l6ZTsKPiA+ID4gwqAJdW5tYXBwYWJsZV9lbmQgPSB1 bm1hcHBhYmxlX2Jhc2UgKyB1bm1hcHBhYmxlX3NpemU7Cj4gPiA+IGRpZmYgLS1naXQgYS9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3ZncHUuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVf dmdwdS5oCj4gPiA+IGluZGV4IDk0MjQ5MGEuLmI4YTQ5ZTYgMTAwNjQ0Cj4gPiA+IC0tLSBhL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfdmdwdS5oCj4gPiA+ICsrKyBiL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2k5MTVfdmdwdS5oCj4gPiA+IEBAIC0yNCw2ICsyNCw3IEBACj4gPiA+IMKgI2lmbmRl ZiBfSTkxNV9WR1BVX0hfCj4gPiA+IMKgI2RlZmluZSBfSTkxNV9WR1BVX0hfCj4gPiA+IMKgCj4g PiA+ICsjaW5jbHVkZSAiZ3Z0L3BhcmFtcy5oIgo+ID4gCj4gPiBUaGlzIGlzIG5vdCBhIGdvb2Qg d2F5IG9mIGluY2x1ZGluZyBoZWFkZXJzLCBhcyB0aGlzIGhlYWRlciBpdHNlbGYKPiA+IGRvZXNu J3QgbmVlZCBpdC4gSW5jbHVkaW5nIHVubmVjZXNzYXJ5IHN0dWZmIGluIG9mdGVuIGluY2x1ZGVk IGhlYWRlcnMKPiA+IGNvbnRyaWJ1dGVzIHRvIGluY3JlYXNpbmcgcHJvamVjdCBjb21waWxlIHRp bWVzIGFuZCBtYWtlcyBpdCBoYXJkZXIgdG8KPiA+IHNvbHZlIGNyb3NzIGRlcGVuZGVuY2llcyBs YXRlci4gU28gcHV0IGl0IGludG8gdGhlIGltcGxlbWVudGF0aW9uIGZpbGUKPiA+IHRoYXQgbmVl ZHMgaXQuCj4gPiAKPiAKPiBXaWxsIGRlbGV0ZS4gVGhhbmtzIQo+IAo+ID4gUmVnYXJkcywgSm9v bmFzCj4gPiAKPiA+ID4gwqAvKiBUaGUgTU1JTyBvZmZzZXQgb2YgdGhlIHNoYXJlZCBpbmZvIGJl dHdlZW4gZ3Vlc3QgYW5kIGhvc3QgZW11bGF0b3IgKi8KPiA+ID4gwqAjZGVmaW5lIFZHVF9QVklO Rk9fUEFHRQkweDc4MDAwCj4gPiA+IMKgI2RlZmluZSBWR1RfUFZJTkZPX1NJWkUJMHgxMDAwCi0t IApKb29uYXMgTGFodGluZW4KT3BlbiBTb3VyY2UgVGVjaG5vbG9neSBDZW50ZXIKSW50ZWwgQ29y cG9yYXRpb24KCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f CkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpo dHRwOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==