From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ander Conselvan de Oliveira Subject: Re: [PATCH 02/10] drm/i915: Move rotation from intel_plane to drm_plane_state Date: Thu, 22 Jan 2015 12:54:37 +0200 Message-ID: <54C0D6ED.3090108@gmail.com> References: <1421886949-26704-1-git-send-email-matthew.d.roper@intel.com> <1421886949-26704-3-git-send-email-matthew.d.roper@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 60E346E324 for ; Thu, 22 Jan 2015 02:54:39 -0800 (PST) In-Reply-To: <1421886949-26704-3-git-send-email-matthew.d.roper@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Matt Roper , intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org UmV2aWV3ZWQtYnk6IEFuZGVyIENvbnNlbHZhbiBkZSBPbGl2ZWlyYSA8Y29uc2VsdmFuMkBnbWFp bC5jb20+CgpPbiAwMS8yMi8yMDE1IDAyOjM1IEFNLCBNYXR0IFJvcGVyIHdyb3RlOgo+IFJ1bnRp bWUgc3RhdGUgdGhhdCBjYW4gYmUgbWFuaXB1bGF0ZWQgdmlhIHByb3BlcnRpZXMgc2hvdWxkIG5v dyBnbyBpbgo+IGludGVsX3BsYW5lX3N0YXRlL2RybV9wbGFuZV9zdGF0ZSBzbyB0aGF0IGl0IGNh biBiZSB0cmFja2VkIGFzIHBhcnQgb2YKPiBhbiBhdG9taWMgdHJhbnNhY3Rpb24uCj4gCj4gV2Ug YWRkIGEgbmV3ICdpbnRlbF9jcmVhdGVfcGxhbmVfc3RhdGUnIGZ1bmN0aW9uIHNvIHRoYXQgdGhl IHByb3Blcgo+IGluaXRpYWwgdmFsdWUgZm9yIHRoaXMgcHJvcGVydHkgKGFuZCBmdXR1cmUgcHJv cGVydGllcykgZG9lc24ndCBoYXZlIHRvCj4gYmUgcmVwZWF0ZWQgYXQgZWFjaCBwbGFuZSBpbml0 aWFsaXphdGlvbiBzaXRlLgo+IAo+IHYyOgo+ICAgLSBTdGljayByb3RhdGlvbiBpbiBjb21tb24g ZHJtX3BsYW5lX3N0YXRlIHJhdGhlciB0aGFuCj4gICAgIGludGVsX3BsYW5lX3N0YXRlLiAoRGFu aWVsKQo+ICAgLSBBZGQgaW50ZWxfY3JlYXRlX3BsYW5lX3N0YXRlKCkgdG8gY29uc29saWRhdGUg dGhlIHBsYWNlcyB3aGVyZSB3ZQo+ICAgICBoYXZlIHRvIHNldCBpbml0aWFsIHN0YXRlIHZhbHVl cy4gIChBbmRlcikKPiAKPiBTaWduZWQtb2ZmLWJ5OiBNYXR0IFJvcGVyIDxtYXR0aGV3LmQucm9w ZXJAaW50ZWwuY29tPgo+IC0tLQo+ICAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfYXRvbWlj X3BsYW5lLmMgfCA0NSArKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0tCj4gICBkcml2ZXJz L2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMgICAgICB8IDMxICsrKysrKysrKystLS0tLS0t LS0tLQo+ICAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmggICAgICAgICAgfCAgOCAr KysrKy0KPiAgIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2ZiYy5jICAgICAgICAgIHwgIDIg Ky0KPiAgIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3Nwcml0ZS5jICAgICAgIHwgMzEgKysr KysrKysrKystLS0tLS0tLS0tCj4gICA1IGZpbGVzIGNoYW5nZWQsIDc1IGluc2VydGlvbnMoKyks IDQyIGRlbGV0aW9ucygtKQo+IAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p bnRlbF9hdG9taWNfcGxhbmUuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2F0b21pY19w bGFuZS5jCj4gaW5kZXggNDAyN2ZjMC4uZDlkNDMwNiAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF9hdG9taWNfcGxhbmUuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2ludGVsX2F0b21pY19wbGFuZS5jCj4gQEAgLTM3LDMxICszNyw1OCBAQAo+ICAgI2luY2x1 ZGUgImludGVsX2Rydi5oIgo+ICAgCj4gICAvKioKPiArICogaW50ZWxfY3JlYXRlX3BsYW5lX3N0 YXRlIC0gY3JlYXRlIHBsYW5lIHN0YXRlIG9iamVjdAo+ICsgKiBAcGxhbmU6IGRybSBwbGFuZQo+ ICsgKgo+ICsgKiBBbGxvY2F0ZXMgYSBmcmVzaCBwbGFuZSBzdGF0ZSBmb3IgdGhlIGdpdmVuIHBs YW5lIGFuZCBzZXRzIHNvbWUgb2YKPiArICogdGhlIHN0YXRlIHZhbHVlcyB0byBzZW5zaWJsZSBp bml0aWFsIHZhbHVlcy4KPiArICoKPiArICogUmV0dXJuczogQSBuZXdseSBhbGxvY2F0ZWQgcGxh bmUgc3RhdGUsIG9yIE5VTEwgb24gZmFpbHVyZQo+ICsgKi8KPiArc3RydWN0IGludGVsX3BsYW5l X3N0YXRlICoKPiAraW50ZWxfY3JlYXRlX3BsYW5lX3N0YXRlKHN0cnVjdCBkcm1fcGxhbmUgKnBs YW5lKQo+ICt7Cj4gKwlzdHJ1Y3QgaW50ZWxfcGxhbmVfc3RhdGUgKnN0YXRlOwo+ICsKPiArCXN0 YXRlID0ga3phbGxvYyhzaXplb2YoKnN0YXRlKSwgR0ZQX0tFUk5FTCk7Cj4gKwlpZiAoIXN0YXRl KQo+ICsJCXJldHVybiBOVUxMOwo+ICsKPiArCXN0YXRlLT5iYXNlLnBsYW5lID0gcGxhbmU7Cj4g KwlzdGF0ZS0+YmFzZS5yb3RhdGlvbiA9IEJJVChEUk1fUk9UQVRFXzApOwo+ICsKPiArCXJldHVy biBzdGF0ZTsKPiArfQo+ICsKPiArLyoqCj4gICAgKiBpbnRlbF9wbGFuZV9kdXBsaWNhdGVfc3Rh dGUgLSBkdXBsaWNhdGUgcGxhbmUgc3RhdGUKPiAgICAqIEBwbGFuZTogZHJtIHBsYW5lCj4gICAg Kgo+ICAgICogQWxsb2NhdGVzIGFuZCByZXR1cm5zIGEgY29weSBvZiB0aGUgcGxhbmUgc3RhdGUg KGJvdGggY29tbW9uIGFuZAo+ICAgICogSW50ZWwtc3BlY2lmaWMpIGZvciB0aGUgc3BlY2lmaWVk IHBsYW5lLgo+ICAgICoKPiAtICogUmV0dXJuczogVGhlIG5ld2x5IGFsbG9jYXRlZCBwbGFuZSBz dGF0ZSwgb3IgTlVMTCBvciBmYWlsdXJlLgo+ICsgKiBSZXR1cm5zOiBUaGUgbmV3bHkgYWxsb2Nh dGVkIHBsYW5lIHN0YXRlLCBvciBOVUxMIG9uIGZhaWx1cmUuCj4gICAgKi8KPiAgIHN0cnVjdCBk cm1fcGxhbmVfc3RhdGUgKgo+ICAgaW50ZWxfcGxhbmVfZHVwbGljYXRlX3N0YXRlKHN0cnVjdCBk cm1fcGxhbmUgKnBsYW5lKQo+ICAgewo+IC0Jc3RydWN0IGludGVsX3BsYW5lX3N0YXRlICpzdGF0 ZTsKPiArCXN0cnVjdCBkcm1fcGxhbmVfc3RhdGUgKnN0YXRlOwo+ICsJc3RydWN0IGludGVsX3Bs YW5lX3N0YXRlICppbnRlbF9zdGF0ZTsKPiAgIAo+IC0JaWYgKHBsYW5lLT5zdGF0ZSkKPiAtCQlz dGF0ZSA9IGttZW1kdXAocGxhbmUtPnN0YXRlLCBzaXplb2YoKnN0YXRlKSwgR0ZQX0tFUk5FTCk7 Cj4gKwlpZiAoV0FSTl9PTighcGxhbmUtPnN0YXRlKSkKPiArCQlpbnRlbF9zdGF0ZSA9IGludGVs X2NyZWF0ZV9wbGFuZV9zdGF0ZShwbGFuZSk7Cj4gICAJZWxzZQo+IC0JCXN0YXRlID0ga3phbGxv YyhzaXplb2YoKnN0YXRlKSwgR0ZQX0tFUk5FTCk7Cj4gKwkJaW50ZWxfc3RhdGUgPSBrbWVtZHVw KHBsYW5lLT5zdGF0ZSwgc2l6ZW9mKCppbnRlbF9zdGF0ZSksCj4gKwkJCQkgICAgICBHRlBfS0VS TkVMKTsKPiAgIAo+IC0JaWYgKCFzdGF0ZSkKPiArCWlmICghaW50ZWxfc3RhdGUpCj4gICAJCXJl dHVybiBOVUxMOwo+ICAgCj4gLQlpZiAoc3RhdGUtPmJhc2UuZmIpCj4gLQkJZHJtX2ZyYW1lYnVm ZmVyX3JlZmVyZW5jZShzdGF0ZS0+YmFzZS5mYik7Cj4gKwlzdGF0ZSA9ICZpbnRlbF9zdGF0ZS0+ YmFzZTsKPiArCWlmIChzdGF0ZS0+ZmIpCj4gKwkJZHJtX2ZyYW1lYnVmZmVyX3JlZmVyZW5jZShz dGF0ZS0+ZmIpOwo+ICAgCj4gLQlyZXR1cm4gJnN0YXRlLT5iYXNlOwo+ICsJcmV0dXJuIHN0YXRl Owo+ICAgfQo+ICAgCj4gICAvKioKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUv aW50ZWxfZGlzcGxheS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jCj4g aW5kZXggMDFkYzgwYi4uZGI0MjgyNCAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pbnRlbF9kaXNwbGF5LmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNw bGF5LmMKPiBAQCAtMjU2MCw3ICsyNTYwLDcgQEAgc3RhdGljIHZvaWQgaTl4eF91cGRhdGVfcHJp bWFyeV9wbGFuZShzdHJ1Y3QgZHJtX2NydGMgKmNydGMsCj4gICAJCWludGVsX2NydGMtPmRzcGFk ZHJfb2Zmc2V0ID0gbGluZWFyX29mZnNldDsKPiAgIAl9Cj4gICAKPiAtCWlmICh0b19pbnRlbF9w bGFuZShjcnRjLT5wcmltYXJ5KS0+cm90YXRpb24gPT0gQklUKERSTV9ST1RBVEVfMTgwKSkgewo+ ICsJaWYgKGNydGMtPnByaW1hcnktPnN0YXRlLT5yb3RhdGlvbiA9PSBCSVQoRFJNX1JPVEFURV8x ODApKSB7Cj4gICAJCWRzcGNudHIgfD0gRElTUFBMQU5FX1JPVEFURV8xODA7Cj4gICAKPiAgIAkJ eCArPSAoaW50ZWxfY3J0Yy0+Y29uZmlnLT5waXBlX3NyY193IC0gMSk7Cj4gQEAgLTI2NjIsNyAr MjY2Miw3IEBAIHN0YXRpYyB2b2lkIGlyb25sYWtlX3VwZGF0ZV9wcmltYXJ5X3BsYW5lKHN0cnVj dCBkcm1fY3J0YyAqY3J0YywKPiAgIAkJCQkJICAgICAgIHBpeGVsX3NpemUsCj4gICAJCQkJCSAg ICAgICBmYi0+cGl0Y2hlc1swXSk7Cj4gICAJbGluZWFyX29mZnNldCAtPSBpbnRlbF9jcnRjLT5k c3BhZGRyX29mZnNldDsKPiAtCWlmICh0b19pbnRlbF9wbGFuZShjcnRjLT5wcmltYXJ5KS0+cm90 YXRpb24gPT0gQklUKERSTV9ST1RBVEVfMTgwKSkgewo+ICsJaWYgKGNydGMtPnByaW1hcnktPnN0 YXRlLT5yb3RhdGlvbiA9PSBCSVQoRFJNX1JPVEFURV8xODApKSB7Cj4gICAJCWRzcGNudHIgfD0g RElTUFBMQU5FX1JPVEFURV8xODA7Cj4gICAKPiAgIAkJaWYgKCFJU19IQVNXRUxMKGRldikgJiYg IUlTX0JST0FEV0VMTChkZXYpKSB7Cj4gQEAgLTI3NTksNyArMjc1OSw3IEBAIHN0YXRpYyB2b2lk IHNreWxha2VfdXBkYXRlX3ByaW1hcnlfcGxhbmUoc3RydWN0IGRybV9jcnRjICpjcnRjLAo+ICAg CX0KPiAgIAo+ICAgCXBsYW5lX2N0bCB8PSBQTEFORV9DVExfUExBTkVfR0FNTUFfRElTQUJMRTsK PiAtCWlmICh0b19pbnRlbF9wbGFuZShjcnRjLT5wcmltYXJ5KS0+cm90YXRpb24gPT0gQklUKERS TV9ST1RBVEVfMTgwKSkKPiArCWlmIChjcnRjLT5wcmltYXJ5LT5zdGF0ZS0+cm90YXRpb24gPT0g QklUKERSTV9ST1RBVEVfMTgwKSkKPiAgIAkJcGxhbmVfY3RsIHw9IFBMQU5FX0NUTF9ST1RBVEVf MTgwOwo+ICAgCj4gICAJSTkxNV9XUklURShQTEFORV9DVEwocGlwZSwgMCksIHBsYW5lX2N0bCk7 Cj4gQEAgLTgzMzIsNyArODMzMiw3IEBAIHN0YXRpYyB2b2lkIGk5eHhfdXBkYXRlX2N1cnNvcihz dHJ1Y3QgZHJtX2NydGMgKmNydGMsIHUzMiBiYXNlKQo+ICAgCQkJY250bCB8PSBDVVJTT1JfUElQ RV9DU0NfRU5BQkxFOwo+ICAgCX0KPiAgIAo+IC0JaWYgKHRvX2ludGVsX3BsYW5lKGNydGMtPmN1 cnNvciktPnJvdGF0aW9uID09IEJJVChEUk1fUk9UQVRFXzE4MCkpCj4gKwlpZiAoY3J0Yy0+Y3Vy c29yLT5zdGF0ZS0+cm90YXRpb24gPT0gQklUKERSTV9ST1RBVEVfMTgwKSkKPiAgIAkJY250bCB8 PSBDVVJTT1JfUk9UQVRFXzE4MDsKPiAgIAo+ICAgCWlmIChpbnRlbF9jcnRjLT5jdXJzb3JfY250 bCAhPSBjbnRsKSB7Cj4gQEAgLTgzOTQsNyArODM5NCw3IEBAIHN0YXRpYyB2b2lkIGludGVsX2Ny dGNfdXBkYXRlX2N1cnNvcihzdHJ1Y3QgZHJtX2NydGMgKmNydGMsCj4gICAKPiAgIAkvKiBJTEsr IGRvIHRoaXMgYXV0b21hZ2ljYWxseSAqLwo+ICAgCWlmIChIQVNfR01DSF9ESVNQTEFZKGRldikg JiYKPiAtCQl0b19pbnRlbF9wbGFuZShjcnRjLT5jdXJzb3IpLT5yb3RhdGlvbiA9PSBCSVQoRFJN X1JPVEFURV8xODApKSB7Cj4gKwkgICAgY3J0Yy0+Y3Vyc29yLT5zdGF0ZS0+cm90YXRpb24gPT0g QklUKERSTV9ST1RBVEVfMTgwKSkgewo+ICAgCQliYXNlICs9IChpbnRlbF9jcnRjLT5jdXJzb3Jf aGVpZ2h0ICoKPiAgIAkJCWludGVsX2NydGMtPmN1cnNvcl93aWR0aCAtIDEpICogNDsKPiAgIAl9 Cj4gQEAgLTExODQ2LDcgKzExODQ2LDYgQEAgaW50ZWxfY2hlY2tfcHJpbWFyeV9wbGFuZShzdHJ1 Y3QgZHJtX3BsYW5lICpwbGFuZSwKPiAgIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3By aXYgPSBkZXYtPmRldl9wcml2YXRlOwo+ICAgCXN0cnVjdCBkcm1fY3J0YyAqY3J0YyA9IHN0YXRl LT5iYXNlLmNydGM7Cj4gICAJc3RydWN0IGludGVsX2NydGMgKmludGVsX2NydGM7Cj4gLQlzdHJ1 Y3QgaW50ZWxfcGxhbmUgKmludGVsX3BsYW5lID0gdG9faW50ZWxfcGxhbmUocGxhbmUpOwo+ICAg CXN0cnVjdCBkcm1fZnJhbWVidWZmZXIgKmZiID0gc3RhdGUtPmJhc2UuZmI7Cj4gICAJc3RydWN0 IGRybV9yZWN0ICpkZXN0ID0gJnN0YXRlLT5kc3Q7Cj4gICAJc3RydWN0IGRybV9yZWN0ICpzcmMg PSAmc3RhdGUtPnNyYzsKPiBAQCAtMTE4ODAsNyArMTE4NzksNyBAQCBpbnRlbF9jaGVja19wcmlt YXJ5X3BsYW5lKHN0cnVjdCBkcm1fcGxhbmUgKnBsYW5lLAo+ICAgCQlpZiAoaW50ZWxfY3J0Yy0+ cHJpbWFyeV9lbmFibGVkICYmCj4gICAJCSAgICBJTlRFTF9JTkZPKGRldiktPmdlbiA8PSA0ICYm ICFJU19HNFgoZGV2KSAmJgo+ICAgCQkgICAgZGV2X3ByaXYtPmZiYy5wbGFuZSA9PSBpbnRlbF9j cnRjLT5wbGFuZSAmJgo+IC0JCSAgICBpbnRlbF9wbGFuZS0+cm90YXRpb24gIT0gQklUKERSTV9S T1RBVEVfMCkpIHsKPiArCQkgICAgc3RhdGUtPmJhc2Uucm90YXRpb24gIT0gQklUKERSTV9ST1RB VEVfMCkpIHsKPiAgIAkJCWludGVsX2NydGMtPmF0b21pYy5kaXNhYmxlX2ZiYyA9IHRydWU7Cj4g ICAJCX0KPiAgIAo+IEBAIC0xMjA2NCw2ICsxMjA2Myw3IEBAIHN0YXRpYyBzdHJ1Y3QgZHJtX3Bs YW5lICppbnRlbF9wcmltYXJ5X3BsYW5lX2NyZWF0ZShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAo+ ICAgCQkJCQkJICAgIGludCBwaXBlKQo+ICAgewo+ICAgCXN0cnVjdCBpbnRlbF9wbGFuZSAqcHJp bWFyeTsKPiArCXN0cnVjdCBpbnRlbF9wbGFuZV9zdGF0ZSAqc3RhdGU7Cj4gICAJY29uc3QgdWlu dDMyX3QgKmludGVsX3ByaW1hcnlfZm9ybWF0czsKPiAgIAlpbnQgbnVtX2Zvcm1hdHM7Cj4gICAK PiBAQCAtMTIwNzEsMTcgKzEyMDcxLDE3IEBAIHN0YXRpYyBzdHJ1Y3QgZHJtX3BsYW5lICppbnRl bF9wcmltYXJ5X3BsYW5lX2NyZWF0ZShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAo+ICAgCWlmIChw cmltYXJ5ID09IE5VTEwpCj4gICAJCXJldHVybiBOVUxMOwo+ICAgCj4gLQlwcmltYXJ5LT5iYXNl LnN0YXRlID0gaW50ZWxfcGxhbmVfZHVwbGljYXRlX3N0YXRlKCZwcmltYXJ5LT5iYXNlKTsKPiAt CWlmIChwcmltYXJ5LT5iYXNlLnN0YXRlID09IE5VTEwpIHsKPiArCXN0YXRlID0gaW50ZWxfY3Jl YXRlX3BsYW5lX3N0YXRlKCZwcmltYXJ5LT5iYXNlKTsKPiArCWlmICghc3RhdGUpIHsKPiAgIAkJ a2ZyZWUocHJpbWFyeSk7Cj4gICAJCXJldHVybiBOVUxMOwo+ICAgCX0KPiArCXByaW1hcnktPmJh c2Uuc3RhdGUgPSAmc3RhdGUtPmJhc2U7Cj4gICAKPiAgIAlwcmltYXJ5LT5jYW5fc2NhbGUgPSBm YWxzZTsKPiAgIAlwcmltYXJ5LT5tYXhfZG93bnNjYWxlID0gMTsKPiAgIAlwcmltYXJ5LT5waXBl ID0gcGlwZTsKPiAgIAlwcmltYXJ5LT5wbGFuZSA9IHBpcGU7Cj4gLQlwcmltYXJ5LT5yb3RhdGlv biA9IEJJVChEUk1fUk9UQVRFXzApOwo+ICAgCXByaW1hcnktPmNoZWNrX3BsYW5lID0gaW50ZWxf Y2hlY2tfcHJpbWFyeV9wbGFuZTsKPiAgIAlwcmltYXJ5LT5jb21taXRfcGxhbmUgPSBpbnRlbF9j b21taXRfcHJpbWFyeV9wbGFuZTsKPiAgIAlpZiAoSEFTX0ZCQyhkZXYpICYmIElOVEVMX0lORk8o ZGV2KS0+Z2VuIDwgNCkKPiBAQCAtMTIxMDksNyArMTIxMDksNyBAQCBzdGF0aWMgc3RydWN0IGRy bV9wbGFuZSAqaW50ZWxfcHJpbWFyeV9wbGFuZV9jcmVhdGUoc3RydWN0IGRybV9kZXZpY2UgKmRl diwKPiAgIAkJaWYgKGRldi0+bW9kZV9jb25maWcucm90YXRpb25fcHJvcGVydHkpCj4gICAJCQlk cm1fb2JqZWN0X2F0dGFjaF9wcm9wZXJ0eSgmcHJpbWFyeS0+YmFzZS5iYXNlLAo+ICAgCQkJCWRl di0+bW9kZV9jb25maWcucm90YXRpb25fcHJvcGVydHksCj4gLQkJCQlwcmltYXJ5LT5yb3RhdGlv bik7Cj4gKwkJCQlzdGF0ZS0+YmFzZS5yb3RhdGlvbik7Cj4gICAJfQo+ICAgCj4gICAJZHJtX3Bs YW5lX2hlbHBlcl9hZGQoJnByaW1hcnktPmJhc2UsICZpbnRlbF9wbGFuZV9oZWxwZXJfZnVuY3Mp Owo+IEBAIC0xMjIzNywyMiArMTIyMzcsMjMgQEAgc3RhdGljIHN0cnVjdCBkcm1fcGxhbmUgKmlu dGVsX2N1cnNvcl9wbGFuZV9jcmVhdGUoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKPiAgIAkJCQkJ CSAgIGludCBwaXBlKQo+ICAgewo+ICAgCXN0cnVjdCBpbnRlbF9wbGFuZSAqY3Vyc29yOwo+ICsJ c3RydWN0IGludGVsX3BsYW5lX3N0YXRlICpzdGF0ZTsKPiAgIAo+ICAgCWN1cnNvciA9IGt6YWxs b2Moc2l6ZW9mKCpjdXJzb3IpLCBHRlBfS0VSTkVMKTsKPiAgIAlpZiAoY3Vyc29yID09IE5VTEwp Cj4gICAJCXJldHVybiBOVUxMOwo+ICAgCj4gLQljdXJzb3ItPmJhc2Uuc3RhdGUgPSBpbnRlbF9w bGFuZV9kdXBsaWNhdGVfc3RhdGUoJmN1cnNvci0+YmFzZSk7Cj4gLQlpZiAoY3Vyc29yLT5iYXNl LnN0YXRlID09IE5VTEwpIHsKPiArCXN0YXRlID0gaW50ZWxfY3JlYXRlX3BsYW5lX3N0YXRlKCZj dXJzb3ItPmJhc2UpOwo+ICsJaWYgKCFzdGF0ZSkgewo+ICAgCQlrZnJlZShjdXJzb3IpOwo+ICAg CQlyZXR1cm4gTlVMTDsKPiAgIAl9Cj4gKwljdXJzb3ItPmJhc2Uuc3RhdGUgPSAmc3RhdGUtPmJh c2U7Cj4gICAKPiAgIAljdXJzb3ItPmNhbl9zY2FsZSA9IGZhbHNlOwo+ICAgCWN1cnNvci0+bWF4 X2Rvd25zY2FsZSA9IDE7Cj4gICAJY3Vyc29yLT5waXBlID0gcGlwZTsKPiAgIAljdXJzb3ItPnBs YW5lID0gcGlwZTsKPiAtCWN1cnNvci0+cm90YXRpb24gPSBCSVQoRFJNX1JPVEFURV8wKTsKPiAg IAljdXJzb3ItPmNoZWNrX3BsYW5lID0gaW50ZWxfY2hlY2tfY3Vyc29yX3BsYW5lOwo+ICAgCWN1 cnNvci0+Y29tbWl0X3BsYW5lID0gaW50ZWxfY29tbWl0X2N1cnNvcl9wbGFuZTsKPiAgIAo+IEBA IC0xMjI3MSw3ICsxMjI3Miw3IEBAIHN0YXRpYyBzdHJ1Y3QgZHJtX3BsYW5lICppbnRlbF9jdXJz b3JfcGxhbmVfY3JlYXRlKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCj4gICAJCWlmIChkZXYtPm1v ZGVfY29uZmlnLnJvdGF0aW9uX3Byb3BlcnR5KQo+ICAgCQkJZHJtX29iamVjdF9hdHRhY2hfcHJv cGVydHkoJmN1cnNvci0+YmFzZS5iYXNlLAo+ICAgCQkJCWRldi0+bW9kZV9jb25maWcucm90YXRp b25fcHJvcGVydHksCj4gLQkJCQljdXJzb3ItPnJvdGF0aW9uKTsKPiArCQkJCXN0YXRlLT5iYXNl LnJvdGF0aW9uKTsKPiAgIAl9Cj4gICAKPiAgIAlkcm1fcGxhbmVfaGVscGVyX2FkZCgmY3Vyc29y LT5iYXNlLCAmaW50ZWxfcGxhbmVfaGVscGVyX2Z1bmNzKTsKPiBkaWZmIC0tZ2l0IGEvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9k cnYuaAo+IGluZGV4IGU5NTdkNGQuLmIwNTYyZTQgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaW50ZWxfZHJ2LmgKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9k cnYuaAo+IEBAIC01MDksNyArNTA5LDYgQEAgc3RydWN0IGludGVsX3BsYW5lIHsKPiAgIAlzdHJ1 Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqOwo+ICAgCWJvb2wgY2FuX3NjYWxlOwo+ICAgCWlu dCBtYXhfZG93bnNjYWxlOwo+IC0JdW5zaWduZWQgaW50IHJvdGF0aW9uOwo+ICAgCj4gICAJLyog U2luY2Ugd2UgbmVlZCB0byBjaGFuZ2UgdGhlIHdhdGVybWFya3MgYmVmb3JlL2FmdGVyCj4gICAJ ICogZW5hYmxpbmcvZGlzYWJsaW5nIHRoZSBwbGFuZXMsIHdlIG5lZWQgdG8gc3RvcmUgdGhlIHBh cmFtZXRlcnMgaGVyZQo+IEBAIC01MTgsNiArNTE3LDEyIEBAIHN0cnVjdCBpbnRlbF9wbGFuZSB7 Cj4gICAJICovCj4gICAJc3RydWN0IGludGVsX3BsYW5lX3dtX3BhcmFtZXRlcnMgd207Cj4gICAK PiArCS8qCj4gKwkgKiBOT1RFOiBEbyBub3QgcGxhY2UgbmV3IHBsYW5lIHN0YXRlIGZpZWxkcyBo ZXJlIChlLmcuLCB3aGVuIGFkZGluZwo+ICsJICogbmV3IHBsYW5lIHByb3BlcnRpZXMpLiAgTmV3 IHJ1bnRpbWUgc3RhdGUgc2hvdWxkIG5vdyBiZSBwbGFjZWQgaW4KPiArCSAqIHRoZSBpbnRlbF9w bGFuZV9zdGF0ZSBzdHJ1Y3R1cmUgYW5kIGFjY2Vzc2VkIHZpYSBkcm1fcGxhbmUtPnN0YXRlLgo+ ICsJICovCj4gKwo+ICAgCXZvaWQgKCp1cGRhdGVfcGxhbmUpKHN0cnVjdCBkcm1fcGxhbmUgKnBs YW5lLAo+ICAgCQkJICAgICBzdHJ1Y3QgZHJtX2NydGMgKmNydGMsCj4gICAJCQkgICAgIHN0cnVj dCBkcm1fZnJhbWVidWZmZXIgKmZiLAo+IEBAIC0xMjMwLDYgKzEyMzUsNyBAQCB2b2lkIGludGVs X3ByZV9kaXNhYmxlX3ByaW1hcnkoc3RydWN0IGRybV9jcnRjICpjcnRjKTsKPiAgIHZvaWQgaW50 ZWxfdHZfaW5pdChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KTsKPiAgIAo+ICAgLyogaW50ZWxfYXRv bWljLmMgKi8KPiArc3RydWN0IGludGVsX3BsYW5lX3N0YXRlICppbnRlbF9jcmVhdGVfcGxhbmVf c3RhdGUoc3RydWN0IGRybV9wbGFuZSAqcGxhbmUpOwo+ICAgc3RydWN0IGRybV9wbGFuZV9zdGF0 ZSAqaW50ZWxfcGxhbmVfZHVwbGljYXRlX3N0YXRlKHN0cnVjdCBkcm1fcGxhbmUgKnBsYW5lKTsK PiAgIHZvaWQgaW50ZWxfcGxhbmVfZGVzdHJveV9zdGF0ZShzdHJ1Y3QgZHJtX3BsYW5lICpwbGFu ZSwKPiAgIAkJCSAgICAgICBzdHJ1Y3QgZHJtX3BsYW5lX3N0YXRlICpzdGF0ZSk7Cj4gZGlmZiAt LWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2ZiYy5jIGIvZHJpdmVycy9ncHUvZHJt L2k5MTUvaW50ZWxfZmJjLmMKPiBpbmRleCBlZDlhMDEyLi42MjRkMWQ5IDEwMDY0NAo+IC0tLSBh L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2ZiYy5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJt L2k5MTUvaW50ZWxfZmJjLmMKPiBAQCAtNTk1LDcgKzU5NSw3IEBAIHZvaWQgaW50ZWxfZmJjX3Vw ZGF0ZShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQo+ICAgCQlnb3RvIG91dF9kaXNhYmxlOwo+ICAg CX0KPiAgIAlpZiAoSU5URUxfSU5GTyhkZXYpLT5nZW4gPD0gNCAmJiAhSVNfRzRYKGRldikgJiYK PiAtCSAgICB0b19pbnRlbF9wbGFuZShjcnRjLT5wcmltYXJ5KS0+cm90YXRpb24gIT0gQklUKERS TV9ST1RBVEVfMCkpIHsKPiArCSAgICBjcnRjLT5wcmltYXJ5LT5zdGF0ZS0+cm90YXRpb24gIT0g QklUKERSTV9ST1RBVEVfMCkpIHsKPiAgIAkJaWYgKHNldF9ub19mYmNfcmVhc29uKGRldl9wcml2 LCBGQkNfVU5TVVBQT1JURURfTU9ERSkpCj4gICAJCQlEUk1fREVCVUdfS01TKCJSb3RhdGlvbiB1 bnN1cHBvcnRlZCwgZGlzYWJsaW5nXG4iKTsKPiAgIAkJZ290byBvdXRfZGlzYWJsZTsKPiBkaWZm IC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfc3ByaXRlLmMgYi9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF9zcHJpdGUuYwo+IGluZGV4IDBhNjA5NGUuLmJhODU0MzkgMTAwNjQ0 Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfc3ByaXRlLmMKPiArKysgYi9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9zcHJpdGUuYwo+IEBAIC0yNTYsNyArMjU2LDcgQEAgc2ts X3VwZGF0ZV9wbGFuZShzdHJ1Y3QgZHJtX3BsYW5lICpkcm1fcGxhbmUsIHN0cnVjdCBkcm1fY3J0 YyAqY3J0YywKPiAgIAlkZWZhdWx0Ogo+ICAgCQlCVUcoKTsKPiAgIAl9Cj4gLQlpZiAoaW50ZWxf cGxhbmUtPnJvdGF0aW9uID09IEJJVChEUk1fUk9UQVRFXzE4MCkpCj4gKwlpZiAoZHJtX3BsYW5l LT5zdGF0ZS0+cm90YXRpb24gPT0gQklUKERSTV9ST1RBVEVfMTgwKSkKPiAgIAkJcGxhbmVfY3Rs IHw9IFBMQU5FX0NUTF9ST1RBVEVfMTgwOwo+ICAgCj4gICAJcGxhbmVfY3RsIHw9IFBMQU5FX0NU TF9FTkFCTEU7Cj4gQEAgLTQ5Myw3ICs0OTMsNyBAQCB2bHZfdXBkYXRlX3BsYW5lKHN0cnVjdCBk cm1fcGxhbmUgKmRwbGFuZSwgc3RydWN0IGRybV9jcnRjICpjcnRjLAo+ICAgCQkJCQkJCWZiLT5w aXRjaGVzWzBdKTsKPiAgIAlsaW5lYXJfb2Zmc2V0IC09IHNwcnN1cmZfb2Zmc2V0Owo+ICAgCj4g LQlpZiAoaW50ZWxfcGxhbmUtPnJvdGF0aW9uID09IEJJVChEUk1fUk9UQVRFXzE4MCkpIHsKPiAr CWlmIChkcGxhbmUtPnN0YXRlLT5yb3RhdGlvbiA9PSBCSVQoRFJNX1JPVEFURV8xODApKSB7Cj4g ICAJCXNwcmN0bCB8PSBTUF9ST1RBVEVfMTgwOwo+ICAgCj4gICAJCXggKz0gc3JjX3c7Cj4gQEAg LTY4NCw3ICs2ODQsNyBAQCBpdmJfdXBkYXRlX3BsYW5lKHN0cnVjdCBkcm1fcGxhbmUgKnBsYW5l LCBzdHJ1Y3QgZHJtX2NydGMgKmNydGMsCj4gICAJCQkJCSAgICAgICBwaXhlbF9zaXplLCBmYi0+ cGl0Y2hlc1swXSk7Cj4gICAJbGluZWFyX29mZnNldCAtPSBzcHJzdXJmX29mZnNldDsKPiAgIAo+ IC0JaWYgKGludGVsX3BsYW5lLT5yb3RhdGlvbiA9PSBCSVQoRFJNX1JPVEFURV8xODApKSB7Cj4g KwlpZiAocGxhbmUtPnN0YXRlLT5yb3RhdGlvbiA9PSBCSVQoRFJNX1JPVEFURV8xODApKSB7Cj4g ICAJCXNwcmN0bCB8PSBTUFJJVEVfUk9UQVRFXzE4MDsKPiAgIAo+ICAgCQkvKiBIU1cgYW5kIEJE VyBkb2VzIHRoaXMgYXV0b21hZ2ljYWxseSBpbiBoYXJkd2FyZSAqLwo+IEBAIC04ODQsNyArODg0 LDcgQEAgaWxrX3VwZGF0ZV9wbGFuZShzdHJ1Y3QgZHJtX3BsYW5lICpwbGFuZSwgc3RydWN0IGRy bV9jcnRjICpjcnRjLAo+ICAgCQkJCQkgICAgICAgcGl4ZWxfc2l6ZSwgZmItPnBpdGNoZXNbMF0p Owo+ICAgCWxpbmVhcl9vZmZzZXQgLT0gZHZzc3VyZl9vZmZzZXQ7Cj4gICAKPiAtCWlmIChpbnRl bF9wbGFuZS0+cm90YXRpb24gPT0gQklUKERSTV9ST1RBVEVfMTgwKSkgewo+ICsJaWYgKHBsYW5l LT5zdGF0ZS0+cm90YXRpb24gPT0gQklUKERSTV9ST1RBVEVfMTgwKSkgewo+ICAgCQlkdnNjbnRy IHw9IERWU19ST1RBVEVfMTgwOwo+ICAgCj4gICAJCXggKz0gc3JjX3c7Cj4gQEAgLTExMjUsNyAr MTEyNSw3IEBAIGludGVsX2NoZWNrX3Nwcml0ZV9wbGFuZShzdHJ1Y3QgZHJtX3BsYW5lICpwbGFu ZSwKPiAgIAltaW5fc2NhbGUgPSBpbnRlbF9wbGFuZS0+Y2FuX3NjYWxlID8gMSA6ICgxIDw8IDE2 KTsKPiAgIAo+ICAgCWRybV9yZWN0X3JvdGF0ZShzcmMsIGZiLT53aWR0aCA8PCAxNiwgZmItPmhl aWdodCA8PCAxNiwKPiAtCQkJaW50ZWxfcGxhbmUtPnJvdGF0aW9uKTsKPiArCQkJc3RhdGUtPmJh c2Uucm90YXRpb24pOwo+ICAgCj4gICAJaHNjYWxlID0gZHJtX3JlY3RfY2FsY19oc2NhbGVfcmVs YXhlZChzcmMsIGRzdCwgbWluX3NjYWxlLCBtYXhfc2NhbGUpOwo+ICAgCUJVR19PTihoc2NhbGUg PCAwKTsKPiBAQCAtMTE2Niw3ICsxMTY2LDcgQEAgaW50ZWxfY2hlY2tfc3ByaXRlX3BsYW5lKHN0 cnVjdCBkcm1fcGxhbmUgKnBsYW5lLAo+ICAgCQkJCSAgICAgZHJtX3JlY3RfaGVpZ2h0KGRzdCkg KiB2c2NhbGUgLSBkcm1fcmVjdF9oZWlnaHQoc3JjKSk7Cj4gICAKPiAgIAkJZHJtX3JlY3Rfcm90 YXRlX2ludihzcmMsIGZiLT53aWR0aCA8PCAxNiwgZmItPmhlaWdodCA8PCAxNiwKPiAtCQkJCSAg ICBpbnRlbF9wbGFuZS0+cm90YXRpb24pOwo+ICsJCQkJICAgIHN0YXRlLT5iYXNlLnJvdGF0aW9u KTsKPiAgIAo+ICAgCQkvKiBzYW5pdHkgY2hlY2sgdG8gbWFrZSBzdXJlIHRoZSBzcmMgdmlld3Bv cnQgd2Fzbid0IGVubGFyZ2VkICovCj4gICAJCVdBUk5fT04oc3JjLT54MSA8IChpbnQpIHN0YXRl LT5iYXNlLnNyY194IHx8Cj4gQEAgLTEzNjcsNyArMTM2Nyw2IEBAIGludCBpbnRlbF9wbGFuZV9z ZXRfcHJvcGVydHkoc3RydWN0IGRybV9wbGFuZSAqcGxhbmUsCj4gICAJCQkgICAgIHVpbnQ2NF90 IHZhbCkKPiAgIHsKPiAgIAlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gcGxhbmUtPmRldjsKPiAt CXN0cnVjdCBpbnRlbF9wbGFuZSAqaW50ZWxfcGxhbmUgPSB0b19pbnRlbF9wbGFuZShwbGFuZSk7 Cj4gICAJdWludDY0X3Qgb2xkX3ZhbDsKPiAgIAlpbnQgcmV0ID0gLUVOT0VOVDsKPiAgIAo+IEBA IC0xMzc2LDE0ICsxMzc1LDE0IEBAIGludCBpbnRlbF9wbGFuZV9zZXRfcHJvcGVydHkoc3RydWN0 IGRybV9wbGFuZSAqcGxhbmUsCj4gICAJCWlmIChod2VpZ2h0MzIodmFsICYgMHhmKSAhPSAxKQo+ ICAgCQkJcmV0dXJuIC1FSU5WQUw7Cj4gICAKPiAtCQlpZiAoaW50ZWxfcGxhbmUtPnJvdGF0aW9u ID09IHZhbCkKPiArCQlpZiAocGxhbmUtPnN0YXRlLT5yb3RhdGlvbiA9PSB2YWwpCj4gICAJCQly ZXR1cm4gMDsKPiAgIAo+IC0JCW9sZF92YWwgPSBpbnRlbF9wbGFuZS0+cm90YXRpb247Cj4gLQkJ aW50ZWxfcGxhbmUtPnJvdGF0aW9uID0gdmFsOwo+ICsJCW9sZF92YWwgPSBwbGFuZS0+c3RhdGUt PnJvdGF0aW9uOwo+ICsJCXBsYW5lLT5zdGF0ZS0+cm90YXRpb24gPSB2YWw7Cj4gICAJCXJldCA9 IGludGVsX3BsYW5lX3Jlc3RvcmUocGxhbmUpOwo+ICAgCQlpZiAocmV0KQo+IC0JCQlpbnRlbF9w bGFuZS0+cm90YXRpb24gPSBvbGRfdmFsOwo+ICsJCQlwbGFuZS0+c3RhdGUtPnJvdGF0aW9uID0g b2xkX3ZhbDsKPiAgIAl9Cj4gICAKPiAgIAlyZXR1cm4gcmV0Owo+IEBAIC0xNDU3LDYgKzE0NTYs NyBAQCBpbnQKPiAgIGludGVsX3BsYW5lX2luaXQoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgZW51 bSBwaXBlIHBpcGUsIGludCBwbGFuZSkKPiAgIHsKPiAgIAlzdHJ1Y3QgaW50ZWxfcGxhbmUgKmlu dGVsX3BsYW5lOwo+ICsJc3RydWN0IGludGVsX3BsYW5lX3N0YXRlICpzdGF0ZTsKPiAgIAl1bnNp Z25lZCBsb25nIHBvc3NpYmxlX2NydGNzOwo+ICAgCWNvbnN0IHVpbnQzMl90ICpwbGFuZV9mb3Jt YXRzOwo+ICAgCWludCBudW1fcGxhbmVfZm9ybWF0czsKPiBAQCAtMTQ2OSwxMiArMTQ2OSwxMiBA QCBpbnRlbF9wbGFuZV9pbml0KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIGVudW0gcGlwZSBwaXBl LCBpbnQgcGxhbmUpCj4gICAJaWYgKCFpbnRlbF9wbGFuZSkKPiAgIAkJcmV0dXJuIC1FTk9NRU07 Cj4gICAKPiAtCWludGVsX3BsYW5lLT5iYXNlLnN0YXRlID0KPiAtCQlpbnRlbF9wbGFuZV9kdXBs aWNhdGVfc3RhdGUoJmludGVsX3BsYW5lLT5iYXNlKTsKPiAtCWlmIChpbnRlbF9wbGFuZS0+YmFz ZS5zdGF0ZSA9PSBOVUxMKSB7Cj4gKwlzdGF0ZSA9IGludGVsX2NyZWF0ZV9wbGFuZV9zdGF0ZSgm aW50ZWxfcGxhbmUtPmJhc2UpOwo+ICsJaWYgKCFzdGF0ZSkgewo+ICAgCQlrZnJlZShpbnRlbF9w bGFuZSk7Cj4gICAJCXJldHVybiAtRU5PTUVNOwo+ICAgCX0KPiArCWludGVsX3BsYW5lLT5iYXNl LnN0YXRlID0gJnN0YXRlLT5iYXNlOwo+ICAgCj4gICAJc3dpdGNoIChJTlRFTF9JTkZPKGRldikt Pmdlbikgewo+ICAgCWNhc2UgNToKPiBAQCAtMTU0NSw3ICsxNTQ1LDYgQEAgaW50ZWxfcGxhbmVf aW5pdChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCBlbnVtIHBpcGUgcGlwZSwgaW50IHBsYW5lKQo+ ICAgCj4gICAJaW50ZWxfcGxhbmUtPnBpcGUgPSBwaXBlOwo+ICAgCWludGVsX3BsYW5lLT5wbGFu ZSA9IHBsYW5lOwo+IC0JaW50ZWxfcGxhbmUtPnJvdGF0aW9uID0gQklUKERSTV9ST1RBVEVfMCk7 Cj4gICAJaW50ZWxfcGxhbmUtPmNoZWNrX3BsYW5lID0gaW50ZWxfY2hlY2tfc3ByaXRlX3BsYW5l Owo+ICAgCWludGVsX3BsYW5lLT5jb21taXRfcGxhbmUgPSBpbnRlbF9jb21taXRfc3ByaXRlX3Bs YW5lOwo+ICAgCXBvc3NpYmxlX2NydGNzID0gKDEgPDwgcGlwZSk7Cj4gQEAgLTE1NjcsNyArMTU2 Niw3IEBAIGludGVsX3BsYW5lX2luaXQoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgZW51bSBwaXBl IHBpcGUsIGludCBwbGFuZSkKPiAgIAlpZiAoZGV2LT5tb2RlX2NvbmZpZy5yb3RhdGlvbl9wcm9w ZXJ0eSkKPiAgIAkJZHJtX29iamVjdF9hdHRhY2hfcHJvcGVydHkoJmludGVsX3BsYW5lLT5iYXNl LmJhc2UsCj4gICAJCQkJCSAgIGRldi0+bW9kZV9jb25maWcucm90YXRpb25fcHJvcGVydHksCj4g LQkJCQkJICAgaW50ZWxfcGxhbmUtPnJvdGF0aW9uKTsKPiArCQkJCQkgICBzdGF0ZS0+YmFzZS5y b3RhdGlvbik7Cj4gICAKPiAgIAlkcm1fcGxhbmVfaGVscGVyX2FkZCgmaW50ZWxfcGxhbmUtPmJh c2UsICZpbnRlbF9wbGFuZV9oZWxwZXJfZnVuY3MpOwo+ICAgCj4gCgpfX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0Cklu dGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cDovL2xpc3RzLmZyZWVkZXNrdG9wLm9y Zy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=