From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ben Widawsky Subject: Re: [Intel-gfx] [PATCH 6/6] [v4] drm/i915: Add support for CCS modifiers Date: Tue, 1 Aug 2017 15:47:53 -0700 Message-ID: <20170801224753.GA2441@mail.bwidawsk.net> References: <20170801165817.7063-1-ben@bwidawsk.net> <20170801165817.7063-6-ben@bwidawsk.net> <1530601.zh7oHHzDPt@kirito> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: Content-Disposition: inline In-Reply-To: <1530601.zh7oHHzDPt@kirito> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Kenneth Graunke Cc: intel-gfx@lists.freedesktop.org, Daniel Stone , DRI Development List-Id: intel-gfx@lists.freedesktop.org T24gMTctMDgtMDEgMTU6NDM6NTAsIEtlbm5ldGggR3JhdW5rZSB3cm90ZToKPk9uIFR1ZXNkYXks IEF1Z3VzdCAxLCAyMDE3IDk6NTg6MTcgQU0gUERUIEJlbiBXaWRhd3NreSB3cm90ZToKPj4gdjI6 Cj4+ICAgLSBTdXBwb3J0IHNwcml0ZSBwbGFuZS4KPj4gICAtIFN1cHBvcnQgcGlwZSBDL0QgbGlt aXRhdGlvbiBvbiBHRU45Lgo+Pgo+PiB2MzoKPj4gICAtIFJlbmFtZSBzdHJ1Y3R1cmUgKFZpbGxl KQo+PiAgIC0gSGFuZGxlIEdMSyAoVmlsbGUpCj4+Cj4+IHY0Ogo+PiAgIC0gRml4IFBJUEVfQyBj aGVjaywgaW50cm9kdWNlZCBpbiB2MiAoRGFuaWVsKQo+PiAgIC0gV2hpdGVzcGFjZSBmaXggKERh bmllbCkKPj4KPj4gQ2M6IERhbmllbCBTdG9uZSA8ZGFuaWVsc0Bjb2xsYWJvcmEuY29tPgo+PiBD YzogS3Jpc3RpYW4gSMO4Z3NiZXJnIDxrcmhAYml0cGxhbmV0Lm5ldD4KPj4gU2lnbmVkLW9mZi1i eTogQmVuIFdpZGF3c2t5IDxiZW5AYndpZGF3c2submV0Pgo+PiAtLS0KPj4gIGRyaXZlcnMvZ3B1 L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYyB8IDMwICsrKysrKysrKysrKysrKysrKysrKysrKysr Ky0tLQo+PiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfc3ByaXRlLmMgIHwgMjggKysrKysr KysrKysrKysrKysrKysrKysrKysrLQo+PiAgMiBmaWxlcyBjaGFuZ2VkLCA1NCBpbnNlcnRpb25z KCspLCA0IGRlbGV0aW9ucygtKQo+Pgo+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfZGlzcGxheS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5j Cj4+IGluZGV4IGFkNDliOTllZjI1Zi4uMGRjOWY0MGVkYzdlIDEwMDY0NAo+PiAtLS0gYS9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMKPj4gKysrIGIvZHJpdmVycy9ncHUvZHJt L2k5MTUvaW50ZWxfZGlzcGxheS5jCj4+IEBAIC05Myw3ICs5MywxNyBAQCBzdGF0aWMgY29uc3Qg dWludDMyX3Qgc2tsX3ByaW1hcnlfZm9ybWF0c1tdID0gewo+PiAgCURSTV9GT1JNQVRfVllVWSwK Pj4gIH07Cj4+Cj4+IC1zdGF0aWMgY29uc3QgdWludDY0X3Qgc2tsX2Zvcm1hdF9tb2RpZmllcnNb XSA9IHsKPj4gK3N0YXRpYyBjb25zdCB1aW50NjRfdCBza2xfZm9ybWF0X21vZGlmaWVyc19ub2Nj c1tdID0gewo+PiArCUk5MTVfRk9STUFUX01PRF9ZZl9USUxFRCwKPj4gKwlJOTE1X0ZPUk1BVF9N T0RfWV9USUxFRCwKPj4gKwlJOTE1X0ZPUk1BVF9NT0RfWF9USUxFRCwKPj4gKwlEUk1fRk9STUFU X01PRF9MSU5FQVIsCj4+ICsJRFJNX0ZPUk1BVF9NT0RfSU5WQUxJRAo+PiArfTsKPj4gKwo+PiAr c3RhdGljIGNvbnN0IHVpbnQ2NF90IHNrbF9mb3JtYXRfbW9kaWZpZXJzX2Njc1tdID0gewo+PiAr CUk5MTVfRk9STUFUX01PRF9ZZl9USUxFRF9DQ1MsCj4+ICsJSTkxNV9GT1JNQVRfTU9EX1lfVElM RURfQ0NTLAo+PiAgCUk5MTVfRk9STUFUX01PRF9ZZl9USUxFRCwKPj4gIAlJOTE1X0ZPUk1BVF9N T0RfWV9USUxFRCwKPj4gIAlJOTE1X0ZPUk1BVF9NT0RfWF9USUxFRCwKPj4gQEAgLTEzODUzLDYg KzEzODYzLDEwIEBAIHN0YXRpYyBib29sIHNrbF9tb2Rfc3VwcG9ydGVkKHVpbnQzMl90IGZvcm1h dCwgdWludDY0X3QgbW9kaWZpZXIpCj4+ICAJY2FzZSBEUk1fRk9STUFUX1hCR1I4ODg4Ogo+PiAg CWNhc2UgRFJNX0ZPUk1BVF9BUkdCODg4ODoKPj4gIAljYXNlIERSTV9GT1JNQVRfQUJHUjg4ODg6 Cj4+ICsJCWlmIChtb2RpZmllciA9PSBJOTE1X0ZPUk1BVF9NT0RfWWZfVElMRURfQ0NTIHx8Cj4+ ICsJCSAgICBtb2RpZmllciA9PSBJOTE1X0ZPUk1BVF9NT0RfWV9USUxFRF9DQ1MpCj4+ICsJCQly ZXR1cm4gdHJ1ZTsKPj4gKwkJLyogZmFsbCB0aHJvdWdoICovCj4+ICAJY2FzZSBEUk1fRk9STUFU X1JHQjU2NToKPj4gIAljYXNlIERSTV9GT1JNQVRfWFJHQjIxMDEwMTA6Cj4+ICAJY2FzZSBEUk1f Rk9STUFUX1hCR1IyMTAxMDEwOgo+PiBAQCAtMTQwOTksMTAgKzE0MTEzLDIwIEBAIGludGVsX3By aW1hcnlfcGxhbmVfY3JlYXRlKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwgZW51 bSBwaXBlIHBpcGUpCj4+ICAJcHJpbWFyeS0+ZnJvbnRidWZmZXJfYml0ID0gSU5URUxfRlJPTlRC VUZGRVJfUFJJTUFSWShwaXBlKTsKPj4gIAlwcmltYXJ5LT5jaGVja19wbGFuZSA9IGludGVsX2No ZWNrX3ByaW1hcnlfcGxhbmU7Cj4+Cj4+IC0JaWYgKElOVEVMX0dFTihkZXZfcHJpdikgPj0gOSkg ewo+PiArCWlmIChJTlRFTF9HRU4oZGV2X3ByaXYpID49IDEwIHx8IElTX0dFTUlOSUxBS0UoZGV2 X3ByaXYpKSB7Cj4+ICsJCWludGVsX3ByaW1hcnlfZm9ybWF0cyA9IHNrbF9wcmltYXJ5X2Zvcm1h dHM7Cj4+ICsJCW51bV9mb3JtYXRzID0gQVJSQVlfU0laRShza2xfcHJpbWFyeV9mb3JtYXRzKTsK Pj4gKwkJbW9kaWZpZXJzID0gc2tsX2Zvcm1hdF9tb2RpZmllcnNfY2NzOwo+PiArCj4+ICsJCXBy aW1hcnktPnVwZGF0ZV9wbGFuZSA9IHNreWxha2VfdXBkYXRlX3ByaW1hcnlfcGxhbmU7Cj4+ICsJ CXByaW1hcnktPmRpc2FibGVfcGxhbmUgPSBza3lsYWtlX2Rpc2FibGVfcHJpbWFyeV9wbGFuZTsK Pj4gKwl9IGVsc2UgaWYgKElOVEVMX0dFTihkZXZfcHJpdikgPj0gOSkgewo+PiAgCQlpbnRlbF9w cmltYXJ5X2Zvcm1hdHMgPSBza2xfcHJpbWFyeV9mb3JtYXRzOwo+PiAgCQludW1fZm9ybWF0cyA9 IEFSUkFZX1NJWkUoc2tsX3ByaW1hcnlfZm9ybWF0cyk7Cj4+IC0JCW1vZGlmaWVycyA9IHNrbF9m b3JtYXRfbW9kaWZpZXJzOwo+PiArCQlpZiAocGlwZSA8IFBJUEVfQykKPj4gKwkJCW1vZGlmaWVy cyA9IHNrbF9mb3JtYXRfbW9kaWZpZXJzX2NjczsKPj4gKwkJZWxzZQo+PiArCQkJbW9kaWZpZXJz ID0gc2tsX2Zvcm1hdF9tb2RpZmllcnNfbm9jY3M7Cj4+Cj4+ICAJCXByaW1hcnktPnVwZGF0ZV9w bGFuZSA9IHNreWxha2VfdXBkYXRlX3ByaW1hcnlfcGxhbmU7Cj4+ICAJCXByaW1hcnktPmRpc2Fi bGVfcGxhbmUgPSBza3lsYWtlX2Rpc2FibGVfcHJpbWFyeV9wbGFuZTsKPj4gZGlmZiAtLWdpdCBh L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3Nwcml0ZS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfc3ByaXRlLmMKPj4gaW5kZXggYjFjYzQ4MzViOTYzLi41YTJiM2YzNjkzYTYgMTAw NjQ0Cj4+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3Nwcml0ZS5jCj4+ICsrKyBi L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3Nwcml0ZS5jCj4+IEBAIC0xMDg1LDcgKzEwODUs MTcgQEAgc3RhdGljIHVpbnQzMl90IHNrbF9wbGFuZV9mb3JtYXRzW10gPSB7Cj4+ICAJRFJNX0ZP Uk1BVF9WWVVZLAo+PiAgfTsKPj4KPj4gK3N0YXRpYyBjb25zdCB1aW50NjRfdCBza2xfcGxhbmVf Zm9ybWF0X21vZGlmaWVyc19ub2Njc1tdID0gewo+PiArCUk5MTVfRk9STUFUX01PRF9ZZl9USUxF RCwKPj4gKwlJOTE1X0ZPUk1BVF9NT0RfWV9USUxFRCwKPj4gKwlJOTE1X0ZPUk1BVF9NT0RfWF9U SUxFRCwKPj4gKwlEUk1fRk9STUFUX01PRF9MSU5FQVIsCj4+ICsJRFJNX0ZPUk1BVF9NT0RfSU5W QUxJRAo+PiArfTsKPj4gKwo+PiAgc3RhdGljIGNvbnN0IHVpbnQ2NF90IHNrbF9wbGFuZV9mb3Jt YXRfbW9kaWZpZXJzW10gPSB7Cj4+ICsJSTkxNV9GT1JNQVRfTU9EX1lmX1RJTEVEX0NDUywKPj4g KwlJOTE1X0ZPUk1BVF9NT0RfWV9USUxFRF9DQ1MsCj4+ICAJSTkxNV9GT1JNQVRfTU9EX1lmX1RJ TEVELAo+PiAgCUk5MTVfRk9STUFUX01PRF9ZX1RJTEVELAo+PiAgCUk5MTVfRk9STUFUX01PRF9Y X1RJTEVELAo+PiBAQCAtMTE0OCw2ICsxMTU4LDkgQEAgc3RhdGljIGJvb2wgc2tsX3Nwcml0ZV9w bGFuZV9mb3JtYXRfbW9kX3N1cHBvcnRlZChzdHJ1Y3QgZHJtX3BsYW5lICpwbGFuZSwKPj4gIAlj YXNlIERSTV9GT1JNQVRfWEJHUjg4ODg6Cj4+ICAJY2FzZSBEUk1fRk9STUFUX0FSR0I4ODg4Ogo+ PiAgCWNhc2UgRFJNX0ZPUk1BVF9BQkdSODg4ODoKPj4gKwkJaWYgKG1vZGlmaWVyID09IEk5MTVf Rk9STUFUX01PRF9ZX1RJTEVEX0NDUyB8fAo+PiArCQkgICAgbW9kaWZpZXIgPT0gSTkxNV9GT1JN QVRfTU9EX1lmX1RJTEVEX0NDUykKPj4gKwkJCXJldHVybiB0cnVlOwo+PiAgCWNhc2UgRFJNX0ZP Uk1BVF9SR0I1NjU6Cj4+ICAJY2FzZSBEUk1fRk9STUFUX1hSR0IyMTAxMDEwOgo+PiAgCWNhc2Ug RFJNX0ZPUk1BVF9YQkdSMjEwMTAxMDoKPj4gQEAgLTEyMzAsNyArMTI0Myw3IEBAIGludGVsX3Nw cml0ZV9wbGFuZV9jcmVhdGUoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAo+PiAg CX0KPj4gIAlpbnRlbF9wbGFuZS0+YmFzZS5zdGF0ZSA9ICZzdGF0ZS0+YmFzZTsKPj4KPj4gLQlp ZiAoSU5URUxfR0VOKGRldl9wcml2KSA+PSA5KSB7Cj4+ICsJaWYgKElOVEVMX0dFTihkZXZfcHJp dikgPj0gMTApIHsKPgo+SSB0aGluayB0aGlzIHNob3VsZCBiZSBJTlRFTF9HRU4oZGV2X3ByaXYp ID49IDEwIHx8IElTX0dFTUlOSUxBS0UoZGV2X3ByaXYpLgo+Cj5XaXRoIHRoYXQgZml4ZWQsIHRo aXMgcGF0Y2ggd291bGQgYmU6Cj5SZXZpZXdlZC1ieTogS2VubmV0aCBHcmF1bmtlIDxrZW5uZXRo QHdoaXRlY2FwZS5vcmc+Cj4KPmZvciB3aGF0IGl0J3Mgd29ydGggKEknbSBub3QgdGhhdCBmYW1p bGlhciB3aXRoIGRpc3BsYXkpLgo+CgpUaGFua3MuIEhlcmUgaXMgd2hhdCBJJ3ZlIGNoYW5nZWQg bG9jYWxseSB3aGljaCBkaWRuJ3QgbWF0Y2ggdGhlIHByaW1hcnkKc3VwcG9ydDoKCmRpZmYgLS1n aXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9zcHJpdGUuYyBiL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX3Nwcml0ZS5jCmluZGV4IDVhMmIzZjM2OTNhNi4uMWM0ODQxOTVmZDBmIDEw MDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9zcHJpdGUuYworKysgYi9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9zcHJpdGUuYwpAQCAtMTA5Myw3ICsxMDkzLDcgQEAgc3Rh dGljIGNvbnN0IHVpbnQ2NF90IHNrbF9wbGFuZV9mb3JtYXRfbW9kaWZpZXJzX25vY2NzW10gPSB7 CiAgICAgICAgRFJNX0ZPUk1BVF9NT0RfSU5WQUxJRAogfTsKIAotc3RhdGljIGNvbnN0IHVpbnQ2 NF90IHNrbF9wbGFuZV9mb3JtYXRfbW9kaWZpZXJzW10gPSB7CitzdGF0aWMgY29uc3QgdWludDY0 X3Qgc2tsX3BsYW5lX2Zvcm1hdF9tb2RpZmllcnNfY2NzW10gPSB7CiAgICAgICAgSTkxNV9GT1JN QVRfTU9EX1lmX1RJTEVEX0NDUywKICAgICAgICBJOTE1X0ZPUk1BVF9NT0RfWV9USUxFRF9DQ1Ms CiAgICAgICAgSTkxNV9GT1JNQVRfTU9EX1lmX1RJTEVELApAQCAtMTI0Myw3ICsxMjQzLDcgQEAg aW50ZWxfc3ByaXRlX3BsYW5lX2NyZWF0ZShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3By aXYsCiAgICAgICAgfQogICAgICAgIGludGVsX3BsYW5lLT5iYXNlLnN0YXRlID0gJnN0YXRlLT5i YXNlOwogCi0gICAgICAgaWYgKElOVEVMX0dFTihkZXZfcHJpdikgPj0gMTApIHsKKyAgICAgICBp ZiAoSU5URUxfR0VOKGRldl9wcml2KSA+PSAxMCB8fCBJU19HRU1JTklMQUtFKGRldl9wcml2KSkg ewogICAgICAgICAgICAgICAgaW50ZWxfcGxhbmUtPmNhbl9zY2FsZSA9IHRydWU7CiAgICAgICAg ICAgICAgICBzdGF0ZS0+c2NhbGVyX2lkID0gLTE7CiAKQEAgLTEyNTIsNyArMTI1Miw3IEBAIGlu dGVsX3Nwcml0ZV9wbGFuZV9jcmVhdGUoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2 LAogCiAgICAgICAgICAgICAgICBwbGFuZV9mb3JtYXRzID0gc2tsX3BsYW5lX2Zvcm1hdHM7CiAg ICAgICAgICAgICAgICBudW1fcGxhbmVfZm9ybWF0cyA9IEFSUkFZX1NJWkUoc2tsX3BsYW5lX2Zv cm1hdHMpOwotICAgICAgICAgICAgICAgbW9kaWZpZXJzID0gc2tsX3BsYW5lX2Zvcm1hdF9tb2Rp ZmllcnM7CisgICAgICAgICAgICAgICBtb2RpZmllcnMgPSBza2xfcGxhbmVfZm9ybWF0X21vZGlm aWVyc19jY3M7CiAgICAgICAgfSBlbHNlIGlmIChJTlRFTF9HRU4oZGV2X3ByaXYpID49IDkpIHsK ICAgICAgICAgICAgICAgIGludGVsX3BsYW5lLT5jYW5fc2NhbGUgPSB0cnVlOwogICAgICAgICAg ICAgICAgc3RhdGUtPnNjYWxlcl9pZCA9IC0xOwpAQCAtMTI2MiwxMCArMTI2MiwxMCBAQCBpbnRl bF9zcHJpdGVfcGxhbmVfY3JlYXRlKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwK IAogICAgICAgICAgICAgICAgcGxhbmVfZm9ybWF0cyA9IHNrbF9wbGFuZV9mb3JtYXRzOwogICAg ICAgICAgICAgICAgbnVtX3BsYW5lX2Zvcm1hdHMgPSBBUlJBWV9TSVpFKHNrbF9wbGFuZV9mb3Jt YXRzKTsKLSAgICAgICAgICAgICAgIGlmIChwaXBlID49IFBJUEVfQykKLSAgICAgICAgICAgICAg ICAgICAgICAgbW9kaWZpZXJzID0gc2tsX3BsYW5lX2Zvcm1hdF9tb2RpZmllcnNfbm9jY3M7Cisg ICAgICAgICAgICAgICBpZiAocGlwZSA8IFBJUEVfQykKKyAgICAgICAgICAgICAgICAgICAgICAg bW9kaWZpZXJzID0gc2tsX3BsYW5lX2Zvcm1hdF9tb2RpZmllcnNfY2NzOwogICAgICAgICAgICAg ICAgZWxzZQotICAgICAgICAgICAgICAgICAgICAgICBtb2RpZmllcnMgPSBza2xfcGxhbmVfZm9y bWF0X21vZGlmaWVyczsKKyAgICAgICAgICAgICAgICAgICAgICAgbW9kaWZpZXJzID0gc2tsX3Bs YW5lX2Zvcm1hdF9tb2RpZmllcnNfbm9jY3M7CiAgICAgICAgfSBlbHNlIGlmIChJU19WQUxMRVlW SUVXKGRldl9wcml2KSB8fCBJU19DSEVSUllWSUVXKGRldl9wcml2KSkgewogICAgICAgICAgICAg ICAgaW50ZWxfcGxhbmUtPmNhbl9zY2FsZSA9IGZhbHNlOwoKCj4+ICAJCWludGVsX3BsYW5lLT5j YW5fc2NhbGUgPSB0cnVlOwo+PiAgCQlzdGF0ZS0+c2NhbGVyX2lkID0gLTE7Cj4+Cj4+IEBAIC0x MjQwLDYgKzEyNTMsMTkgQEAgaW50ZWxfc3ByaXRlX3BsYW5lX2NyZWF0ZShzdHJ1Y3QgZHJtX2k5 MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCj4+ICAJCXBsYW5lX2Zvcm1hdHMgPSBza2xfcGxhbmVfZm9y bWF0czsKPj4gIAkJbnVtX3BsYW5lX2Zvcm1hdHMgPSBBUlJBWV9TSVpFKHNrbF9wbGFuZV9mb3Jt YXRzKTsKPj4gIAkJbW9kaWZpZXJzID0gc2tsX3BsYW5lX2Zvcm1hdF9tb2RpZmllcnM7Cj4+ICsJ fSBlbHNlIGlmIChJTlRFTF9HRU4oZGV2X3ByaXYpID49IDkpIHsKPj4gKwkJaW50ZWxfcGxhbmUt PmNhbl9zY2FsZSA9IHRydWU7Cj4+ICsJCXN0YXRlLT5zY2FsZXJfaWQgPSAtMTsKPj4gKwo+PiAr CQlpbnRlbF9wbGFuZS0+dXBkYXRlX3BsYW5lID0gc2tsX3VwZGF0ZV9wbGFuZTsKPj4gKwkJaW50 ZWxfcGxhbmUtPmRpc2FibGVfcGxhbmUgPSBza2xfZGlzYWJsZV9wbGFuZTsKPj4gKwo+PiArCQlw bGFuZV9mb3JtYXRzID0gc2tsX3BsYW5lX2Zvcm1hdHM7Cj4+ICsJCW51bV9wbGFuZV9mb3JtYXRz ID0gQVJSQVlfU0laRShza2xfcGxhbmVfZm9ybWF0cyk7Cj4+ICsJCWlmIChwaXBlID49IFBJUEVf QykKPj4gKwkJCW1vZGlmaWVycyA9IHNrbF9wbGFuZV9mb3JtYXRfbW9kaWZpZXJzX25vY2NzOwo+ PiArCQllbHNlCj4+ICsJCQltb2RpZmllcnMgPSBza2xfcGxhbmVfZm9ybWF0X21vZGlmaWVyczsK Pj4gIAl9IGVsc2UgaWYgKElTX1ZBTExFWVZJRVcoZGV2X3ByaXYpIHx8IElTX0NIRVJSWVZJRVco ZGV2X3ByaXYpKSB7Cj4+ICAJCWludGVsX3BsYW5lLT5jYW5fc2NhbGUgPSBmYWxzZTsKPj4gIAkJ aW50ZWxfcGxhbmUtPm1heF9kb3duc2NhbGUgPSAxOwoKCl9fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fCmRyaS1kZXZlbCBtYWlsaW5nIGxpc3QKZHJpLWRldmVs QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWls bWFuL2xpc3RpbmZvL2RyaS1kZXZlbAo=