From mboxrd@z Thu Jan 1 00:00:00 1970 From: Chris Wilson Subject: [PATCH 01/41] drm/i915: Move user fault tracking to a separate list Date: Fri, 14 Oct 2016 13:17:53 +0100 Message-ID: <20161014121833.439-2-chris@chris-wilson.co.uk> References: <20161014121833.439-1-chris@chris-wilson.co.uk> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-lf0-x243.google.com (mail-lf0-x243.google.com [IPv6:2a00:1450:4010:c07::243]) by gabe.freedesktop.org (Postfix) with ESMTPS id 5BE4A6E05A for ; Fri, 14 Oct 2016 12:18:42 +0000 (UTC) Received: by mail-lf0-x243.google.com with SMTP id l131so15054176lfl.0 for ; Fri, 14 Oct 2016 05:18:42 -0700 (PDT) In-Reply-To: <20161014121833.439-1-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: intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org V2Ugd2FudCB0byBkZWNvdXBsZSBSUE0gYW5kIHN0cnVjdF9tdXRleCwgYnV0IGN1cnJlbnRseSBS UE0gaGFzIHRvIHdhbGsKdGhlIGxpc3Qgb2YgYm91bmQgb2JqZWN0cyBhbmQgcmVtb3ZlIHVzZXJz cGFjZSBtbWFwcGluZyBiZWZvcmUgd2UKc3VzcGVuZCAob3RoZXJ3aXNlIHVzZXJzcGFjZSBtYXkg Y29udGludWUgdG8gYWNjZXNzIHRoZSBHVFQgd2hpbHN0IGl0IGlzCnBvd2VyZWQgZG93bikuIFRo aXMgY3VycmVudGx5IHJlcXVpcmVzIHRoZSBzdHJ1Y3RfbXV0ZXggdG8gd2FsayB0aGUKYm91bmRf bGlzdCwgYnV0IGlmIHdlIG1vdmUgdGhhdCB0byBhIHNlcGFyYXRlIGxpc3QgYW5kIGxvY2sgd2Ug Y2FuIHRha2UKdGhlIGZpcnN0IHN0ZXAgdG93YXJkcyByZW1vdmluZyB0aGUgc3RydWN0X211dGV4 LgoKdjI6IFNwbGl0IHJ1bnRpbWUgc3VzcGVuZCB1bm1hcHBpbmcgdnMgcmVndWxhciB1bm1hcHBp bmcsIHRvIG1ha2UgdGhlCmxvY2tpbmcgKGFuZCBiYXJyaWVycykgY2xlYXJlci4gQWRkIHRoZSBv YmplY3QgdG8gdGhlIHVzZXJmYXVsdF9saXN0CnByaW9yIHRvIGluc2VydGluZyB0aGUgZmlyc3Qg UFRFLCB0aGUgcmFjZSBiZXR3ZWVuIGFkZC9yZXZva2UgZGVwZW5kcwp1cG9uIHN0cnVjdF9tdXRl eCBmb3IgcmVndWxhciB1bm1hcHBpbmdzIGFuZCBycG0gZm9yIHJ1bnRpbWUtc3VzcGVuZC4KClNp Z25lZC1vZmYtYnk6IENocmlzIFdpbHNvbiA8Y2hyaXNAY2hyaXMtd2lsc29uLmNvLnVrPgpSZXZp ZXdlZC1ieTogRGFuaWVsIFZldHRlciA8ZGFuaWVsLnZldHRlckBmZndsbC5jaD4gI3YxCi0tLQog ZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kZWJ1Z2ZzLmMgICB8ICAyICstCiBkcml2ZXJzL2dw dS9kcm0vaTkxNS9pOTE1X2Rydi5oICAgICAgIHwgMjAgKysrKysrKysrKystLS0tLS0KIGRyaXZl cnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtLmMgICAgICAgfCA0MiArKysrKysrKysrKysrKysrKysr KysrKysrKystLS0tLS0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fZXZpY3QuYyB8 ICAyICstCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9mZW5jZS5jIHwgIDIgKy0KIDUg ZmlsZXMgY2hhbmdlZCwgNDkgaW5zZXJ0aW9ucygrKSwgMTkgZGVsZXRpb25zKC0pCgpkaWZmIC0t Z2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kZWJ1Z2ZzLmMgYi9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pOTE1X2RlYnVnZnMuYwppbmRleCA1MTVjMjA2YmE2NTMuLmMxZTNiZDc4NWI3MSAx MDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kZWJ1Z2ZzLmMKKysrIGIvZHJp dmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kZWJ1Z2ZzLmMKQEAgLTEwNyw3ICsxMDcsNyBAQCBzdGF0 aWMgY2hhciBnZXRfdGlsaW5nX2ZsYWcoc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKm9iaikK IAogc3RhdGljIGNoYXIgZ2V0X2dsb2JhbF9mbGFnKHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0 ICpvYmopCiB7Ci0JcmV0dXJuIG9iai0+ZmF1bHRfbWFwcGFibGUgPyAnZycgOiAnICc7CisJcmV0 dXJuICFsaXN0X2VtcHR5KCZvYmotPnVzZXJmYXVsdF9saW5rKSA/ICdnJyA6ICcgJzsKIH0KIAog c3RhdGljIGNoYXIgZ2V0X3Bpbl9tYXBwZWRfZmxhZyhzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVj dCAqb2JqKQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaCBiL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKaW5kZXggZmU4NzViMjdhNmJmLi44MDc3ZDMy NWFhNzggMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKKysrIGIv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaApAQCAtMTM2MCw2ICsxMzYwLDE0IEBAIHN0 cnVjdCBpOTE1X2dlbV9tbSB7CiAJICovCiAJc3RydWN0IGxpc3RfaGVhZCB1bmJvdW5kX2xpc3Q7 CiAKKwkvKiogUHJvdGVjdHMgYWNjZXNzIHRvIHRoZSB1c2VyZmF1bHRfbGlzdCAqLworCXNwaW5s b2NrX3QgdXNlcmZhdWx0X2xvY2s7CisKKwkvKiogTGlzdCBvZiBhbGwgb2JqZWN0cyBpbiBndHRf c3BhY2UsIGN1cnJlbnRseSBtbWFwZWQgYnkgdXNlcnNwYWNlLgorCSAqIEFsbCBvYmplY3RzIHdp dGhpbiB0aGlzIGxpc3QgbXVzdCBhbHNvIGJlIG9uIGJvdW5kX2xpc3QuCisJICovCisJc3RydWN0 IGxpc3RfaGVhZCB1c2VyZmF1bHRfbGlzdDsKKwogCS8qKiBVc2FibGUgcG9ydGlvbiBvZiB0aGUg R1RUIGZvciBHRU0gKi8KIAl1bnNpZ25lZCBsb25nIHN0b2xlbl9iYXNlOyAvKiBsaW1pdGVkIHRv IGxvdyBtZW1vcnkgKDMyLWJpdCkgKi8KIApAQCAtMjIwOCw2ICsyMjE2LDExIEBAIHN0cnVjdCBk cm1faTkxNV9nZW1fb2JqZWN0IHsKIAlzdHJ1Y3QgZHJtX21tX25vZGUgKnN0b2xlbjsKIAlzdHJ1 Y3QgbGlzdF9oZWFkIGdsb2JhbF9saXN0OwogCisJLyoqCisJICogV2hldGhlciB0aGUgb2JqZWN0 IGlzIGN1cnJlbnRseSBpbiB0aGUgR0dUVCBtbWFwLgorCSAqLworCXN0cnVjdCBsaXN0X2hlYWQg dXNlcmZhdWx0X2xpbms7CisKIAkvKiogVXNlZCBpbiBleGVjYnVmIHRvIHRlbXBvcmFyaWx5IGhv bGQgYSByZWYgKi8KIAlzdHJ1Y3QgbGlzdF9oZWFkIG9ial9leGVjX2xpbms7CiAKQEAgLTIyMzUs MTMgKzIyNDgsNiBAQCBzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCB7CiAJICovCiAJdW5zaWdu ZWQgaW50IG1hZHY6MjsKIAotCS8qKgotCSAqIFdoZXRoZXIgdGhlIGN1cnJlbnQgZ3R0IG1hcHBp bmcgbmVlZHMgdG8gYmUgbWFwcGFibGUgKGFuZCBpc24ndCBqdXN0Ci0JICogbWFwcGFibGUgYnkg YWNjaWRlbnQpLiBUcmFjayBwaW4gYW5kIGZhdWx0IHNlcGFyYXRlIGZvciBhIG1vcmUKLQkgKiBh Y2N1cmF0ZSBtYXBwYWJsZSB3b3JraW5nIHNldC4KLQkgKi8KLQl1bnNpZ25lZCBpbnQgZmF1bHRf bWFwcGFibGU6MTsKLQogCS8qCiAJICogSXMgdGhlIG9iamVjdCB0byBiZSBtYXBwZWQgYXMgcmVh ZC1vbmx5IHRvIHRoZSBHUFUKIAkgKiBPbmx5IGhvbm91cmVkIGlmIGhhcmR3YXJlIGhhcyByZWxl dmFudCBwdGUgYml0CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbS5j IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW0uYwppbmRleCBmZTkyZTI4ZWEwYTguLjZk YTk1MTRjZWVmYSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW0uYwor KysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbS5jCkBAIC0xODM5LDE2ICsxODM5LDE5 IEBAIGludCBpOTE1X2dlbV9mYXVsdChzdHJ1Y3Qgdm1fYXJlYV9zdHJ1Y3QgKmFyZWEsIHN0cnVj dCB2bV9mYXVsdCAqdm1mKQogCWlmIChyZXQpCiAJCWdvdG8gZXJyX3VucGluOwogCisJLyogTWFy ayBhcyBiZWluZyBtbWFwcGVkIGludG8gdXNlcnNwYWNlIGZvciBsYXRlciByZXZvY2F0aW9uICov CisJc3Bpbl9sb2NrKCZkZXZfcHJpdi0+bW0udXNlcmZhdWx0X2xvY2spOworCWlmIChsaXN0X2Vt cHR5KCZvYmotPnVzZXJmYXVsdF9saW5rKSkKKwkJbGlzdF9hZGQoJm9iai0+dXNlcmZhdWx0X2xp bmssICZkZXZfcHJpdi0+bW0udXNlcmZhdWx0X2xpc3QpOworCXNwaW5fdW5sb2NrKCZkZXZfcHJp di0+bW0udXNlcmZhdWx0X2xvY2spOworCiAJLyogRmluYWxseSwgcmVtYXAgaXQgdXNpbmcgdGhl IG5ldyBHVFQgb2Zmc2V0ICovCiAJcmV0ID0gcmVtYXBfaW9fbWFwcGluZyhhcmVhLAogCQkJICAg ICAgIGFyZWEtPnZtX3N0YXJ0ICsgKHZtYS0+Z2d0dF92aWV3LnBhcmFtcy5wYXJ0aWFsLm9mZnNl dCA8PCBQQUdFX1NISUZUKSwKIAkJCSAgICAgICAoZ2d0dC0+bWFwcGFibGVfYmFzZSArIHZtYS0+ bm9kZS5zdGFydCkgPj4gUEFHRV9TSElGVCwKIAkJCSAgICAgICBtaW5fdCh1NjQsIHZtYS0+c2l6 ZSwgYXJlYS0+dm1fZW5kIC0gYXJlYS0+dm1fc3RhcnQpLAogCQkJICAgICAgICZnZ3R0LT5tYXBw YWJsZSk7Ci0JaWYgKHJldCkKLQkJZ290byBlcnJfdW5waW47CiAKLQlvYmotPmZhdWx0X21hcHBh YmxlID0gdHJ1ZTsKIGVycl91bnBpbjoKIAlfX2k5MTVfdm1hX3VucGluKHZtYSk7CiBlcnJfdW5s b2NrOgpAQCAtMTkxNiwxMyArMTkxOSwyMiBAQCBlcnI6CiB2b2lkCiBpOTE1X2dlbV9yZWxlYXNl X21tYXAoc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKm9iaikKIHsKKwlzdHJ1Y3QgZHJtX2k5 MTVfcHJpdmF0ZSAqaTkxNSA9IHRvX2k5MTUob2JqLT5iYXNlLmRldik7CisJYm9vbCB6YXAgPSBm YWxzZTsKKwogCS8qIFNlcmlhbGlzYXRpb24gYmV0d2VlbiB1c2VyIEdUVCBhY2Nlc3MgYW5kIG91 ciBjb2RlIGRlcGVuZHMgdXBvbgogCSAqIHJldm9raW5nIHRoZSBDUFUncyBQVEUgd2hpbHN0IHRo ZSBtdXRleCBpcyBoZWxkLiBUaGUgbmV4dCB1c2VyCiAJICogcGFnZWZhdWx0IHRoZW4gaGFzIHRv IHdhaXQgdW50aWwgd2UgcmVsZWFzZSB0aGUgbXV0ZXguCiAJICovCi0JbG9ja2RlcF9hc3NlcnRf aGVsZCgmb2JqLT5iYXNlLmRldi0+c3RydWN0X211dGV4KTsKKwlsb2NrZGVwX2Fzc2VydF9oZWxk KCZpOTE1LT5kcm0uc3RydWN0X211dGV4KTsKIAotCWlmICghb2JqLT5mYXVsdF9tYXBwYWJsZSkK KwlzcGluX2xvY2soJmk5MTUtPm1tLnVzZXJmYXVsdF9sb2NrKTsKKwlpZiAoIWxpc3RfZW1wdHko Jm9iai0+dXNlcmZhdWx0X2xpbmspKSB7CisJCWxpc3RfZGVsX2luaXQoJm9iai0+dXNlcmZhdWx0 X2xpbmspOworCQl6YXAgPSB0cnVlOworCX0KKwlzcGluX3VubG9jaygmaTkxNS0+bW0udXNlcmZh dWx0X2xvY2spOworCWlmICghemFwKQogCQlyZXR1cm47CiAKIAlkcm1fdm1hX25vZGVfdW5tYXAo Jm9iai0+YmFzZS52bWFfbm9kZSwKQEAgLTE5MzYsOCArMTk0OCw2IEBAIGk5MTVfZ2VtX3JlbGVh c2VfbW1hcChzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqKQogCSAqIG1lbW9yeSB3cml0 ZXMgYmVmb3JlIHRvdWNoaW5nIHJlZ2lzdGVycyAvIEdTTS4KIAkgKi8KIAl3bWIoKTsKLQotCW9i ai0+ZmF1bHRfbWFwcGFibGUgPSBmYWxzZTsKIH0KIAogdm9pZApAQCAtMTk0NSw4ICsxOTU1LDE5 IEBAIGk5MTVfZ2VtX3JlbGVhc2VfYWxsX21tYXBzKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpk ZXZfcHJpdikKIHsKIAlzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqOwogCi0JbGlzdF9m b3JfZWFjaF9lbnRyeShvYmosICZkZXZfcHJpdi0+bW0uYm91bmRfbGlzdCwgZ2xvYmFsX2xpc3Qp Ci0JCWk5MTVfZ2VtX3JlbGVhc2VfbW1hcChvYmopOworCXNwaW5fbG9jaygmZGV2X3ByaXYtPm1t LnVzZXJmYXVsdF9sb2NrKTsKKwl3aGlsZSAoKG9iaiA9IGxpc3RfZmlyc3RfZW50cnlfb3JfbnVs bCgmZGV2X3ByaXYtPm1tLnVzZXJmYXVsdF9saXN0LAorCQkJCQkgICAgICAgc3RydWN0IGRybV9p OTE1X2dlbV9vYmplY3QsCisJCQkJCSAgICAgICB1c2VyZmF1bHRfbGluaykpKSB7CisJCWxpc3Rf ZGVsX2luaXQoJm9iai0+dXNlcmZhdWx0X2xpbmspOworCQlzcGluX3VubG9jaygmZGV2X3ByaXYt Pm1tLnVzZXJmYXVsdF9sb2NrKTsKKworCQlkcm1fdm1hX25vZGVfdW5tYXAoJm9iai0+YmFzZS52 bWFfbm9kZSwKKwkJCQkgICBvYmotPmJhc2UuZGV2LT5hbm9uX2lub2RlLT5pX21hcHBpbmcpOwor CisJCXNwaW5fbG9jaygmZGV2X3ByaXYtPm1tLnVzZXJmYXVsdF9sb2NrKTsKKwl9CisJc3Bpbl91 bmxvY2soJmRldl9wcml2LT5tbS51c2VyZmF1bHRfbG9jayk7CiB9CiAKIC8qKgpAQCAtNDEwOCw2 ICs0MTI5LDcgQEAgdm9pZCBpOTE1X2dlbV9vYmplY3RfaW5pdChzdHJ1Y3QgZHJtX2k5MTVfZ2Vt X29iamVjdCAqb2JqLAogCWludCBpOwogCiAJSU5JVF9MSVNUX0hFQUQoJm9iai0+Z2xvYmFsX2xp c3QpOworCUlOSVRfTElTVF9IRUFEKCZvYmotPnVzZXJmYXVsdF9saW5rKTsKIAlmb3IgKGkgPSAw OyBpIDwgSTkxNV9OVU1fRU5HSU5FUzsgaSsrKQogCQlpbml0X3JlcXVlc3RfYWN0aXZlKCZvYmot Pmxhc3RfcmVhZFtpXSwKIAkJCQkgICAgaTkxNV9nZW1fb2JqZWN0X3JldGlyZV9fcmVhZCk7CkBA IC00NTA2LDYgKzQ1MjgsNyBAQCBpbnQgaTkxNV9nZW1faW5pdChzdHJ1Y3QgZHJtX2RldmljZSAq ZGV2KQogCWludCByZXQ7CiAKIAltdXRleF9sb2NrKCZkZXYtPnN0cnVjdF9tdXRleCk7CisJc3Bp bl9sb2NrX2luaXQoJmRldl9wcml2LT5tbS51c2VyZmF1bHRfbG9jayk7CiAKIAlpZiAoIWk5MTUu ZW5hYmxlX2V4ZWNsaXN0cykgewogCQlkZXZfcHJpdi0+Z3QucmVzdW1lID0gaW50ZWxfbGVnYWN5 X3N1Ym1pc3Npb25fcmVzdW1lOwpAQCAtNDYyNSw2ICs0NjQ4LDcgQEAgaTkxNV9nZW1fbG9hZF9p bml0KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCiAJSU5JVF9MSVNUX0hFQUQoJmRldl9wcml2LT5t bS51bmJvdW5kX2xpc3QpOwogCUlOSVRfTElTVF9IRUFEKCZkZXZfcHJpdi0+bW0uYm91bmRfbGlz dCk7CiAJSU5JVF9MSVNUX0hFQUQoJmRldl9wcml2LT5tbS5mZW5jZV9saXN0KTsKKwlJTklUX0xJ U1RfSEVBRCgmZGV2X3ByaXYtPm1tLnVzZXJmYXVsdF9saXN0KTsKIAlJTklUX0RFTEFZRURfV09S SygmZGV2X3ByaXYtPmd0LnJldGlyZV93b3JrLAogCQkJICBpOTE1X2dlbV9yZXRpcmVfd29ya19o YW5kbGVyKTsKIAlJTklUX0RFTEFZRURfV09SSygmZGV2X3ByaXYtPmd0LmlkbGVfd29yaywKZGlm ZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2V2aWN0LmMgYi9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9ldmljdC5jCmluZGV4IGI1ZTllNjY5ZjUwZi4uYTkzNGYz NzJjNWNlIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9ldmljdC5j CisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2V2aWN0LmMKQEAgLTU2LDcgKzU2 LDcgQEAgbWFya19mcmVlKHN0cnVjdCBpOTE1X3ZtYSAqdm1hLCB1bnNpZ25lZCBpbnQgZmxhZ3Ms IHN0cnVjdCBsaXN0X2hlYWQgKnVud2luZCkKIAlpZiAoV0FSTl9PTighbGlzdF9lbXB0eSgmdm1h LT5leGVjX2xpc3QpKSkKIAkJcmV0dXJuIGZhbHNlOwogCi0JaWYgKGZsYWdzICYgUElOX05PTkZB VUxUICYmIHZtYS0+b2JqLT5mYXVsdF9tYXBwYWJsZSkKKwlpZiAoZmxhZ3MgJiBQSU5fTk9ORkFV TFQgJiYgIWxpc3RfZW1wdHkoJnZtYS0+b2JqLT51c2VyZmF1bHRfbGluaykpCiAJCXJldHVybiBm YWxzZTsKIAogCWxpc3RfYWRkKCZ2bWEtPmV4ZWNfbGlzdCwgdW53aW5kKTsKZGlmZiAtLWdpdCBh L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2ZlbmNlLmMgYi9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pOTE1X2dlbV9mZW5jZS5jCmluZGV4IGE2ZGFmMmRlYWI3NC4uNjcwMTMxNzliOGVkIDEw MDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9mZW5jZS5jCisrKyBiL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2ZlbmNlLmMKQEAgLTM5MSw3ICszOTEsNyBAQCB2 b2lkIGk5MTVfZ2VtX3Jlc3RvcmVfZmVuY2VzKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCiAJCSAq LwogCQlpZiAodm1hICYmICFpOTE1X2dlbV9vYmplY3RfaXNfdGlsZWQodm1hLT5vYmopKSB7CiAJ CQlHRU1fQlVHX09OKCFyZWctPmRpcnR5KTsKLQkJCUdFTV9CVUdfT04odm1hLT5vYmotPmZhdWx0 X21hcHBhYmxlKTsKKwkJCUdFTV9CVUdfT04oIWxpc3RfZW1wdHkoJnZtYS0+b2JqLT51c2VyZmF1 bHRfbGluaykpOwogCiAJCQlsaXN0X21vdmUoJnJlZy0+bGluaywgJmRldl9wcml2LT5tbS5mZW5j ZV9saXN0KTsKIAkJCXZtYS0+ZmVuY2UgPSBOVUxMOwotLSAKMi45LjMKCl9fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QK SW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9w Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=