From mboxrd@z Thu Jan 1 00:00:00 1970 From: Joonas Lahtinen Subject: [PATCH v2 3/4] drm/i915/gtt: Clean up GGTT probing code Date: Fri, 18 Mar 2016 10:42:58 +0200 Message-ID: <1458290579-27783-3-git-send-email-joonas.lahtinen@linux.intel.com> References: <1458290579-27783-1-git-send-email-joonas.lahtinen@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga11.intel.com (mga11.intel.com [192.55.52.93]) by gabe.freedesktop.org (Postfix) with ESMTP id 3DAB26E3DC for ; Fri, 18 Mar 2016 08:42:47 +0000 (UTC) In-Reply-To: <1458290579-27783-1-git-send-email-joonas.lahtinen@linux.intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Intel graphics driver community testing & development Cc: mika.kuoppala@freedesktop.org List-Id: intel-gfx@lists.freedesktop.org VXNlIGxlc3MgcG9pbnRlcnMgd2l0aCB0aGUgcHJvYmluZyBjb2RlLCBtYWtpbmcgaXQgbXVjaCBs ZXNzIGNvbmZ1c2luZwp0byByZWFkLgoKQ2M6IE1pa2EgS3VvcHBhbGEgPG1pa2Eua3VvcHBhbGFA bGludXguaW50ZWwuY29tPgpSZXZpZXdlZC1ieTogQ2hyaXMgV2lsc29uIDxjaHJpc0BjaHJpcy13 aWxzb24uY28udWs+ClNpZ25lZC1vZmYtYnk6IEpvb25hcyBMYWh0aW5lbiA8am9vbmFzLmxhaHRp bmVuQGxpbnV4LmludGVsLmNvbT4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9n dHQuYyB8IDEwMCArKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tLS0tLS0KIGRyaXZlcnMv Z3B1L2RybS9pOTE1L2k5MTVfZ2VtX2d0dC5oIHwgICA1ICstCiAyIGZpbGVzIGNoYW5nZWQsIDQ2 IGluc2VydGlvbnMoKyksIDU5IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2k5MTVfZ2VtX2d0dC5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1f Z3R0LmMKaW5kZXggMWEwZjBiMi4uOGE5ZmEwMyAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJt L2k5MTUvaTkxNV9nZW1fZ3R0LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1f Z3R0LmMKQEAgLTMwMzQsMjAgKzMwMzQsMTYgQEAgc3RhdGljIHZvaWQgY2h2X3NldHVwX3ByaXZh dGVfcHBhdChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCiAJSTkxNV9XUklURShH RU44X1BSSVZBVEVfUEFUX0hJLCBwYXQgPj4gMzIpOwogfQogCi1zdGF0aWMgaW50IGdlbjhfZ21j aF9wcm9iZShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAotCQkJICAgdTY0ICpndHRfdG90YWwsCi0J CQkgICBzaXplX3QgKnN0b2xlbiwKLQkJCSAgIHBoeXNfYWRkcl90ICptYXBwYWJsZV9iYXNlLAot CQkJICAgdTY0ICptYXBwYWJsZV9lbmQpCitzdGF0aWMgaW50IGdlbjhfZ21jaF9wcm9iZShzdHJ1 Y3QgaTkxNV9nZ3R0ICpnZ3R0KQogeworCXN0cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBnZ3R0LT5i YXNlLmRldjsKIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSBkZXYtPmRldl9w cml2YXRlOwotCXU2NCBndHRfc2l6ZTsKIAl1MTYgc25iX2dtY2hfY3RsOwogCWludCByZXQ7CiAK IAkvKiBUT0RPOiBXZSdyZSBub3QgYXdhcmUgb2YgbWFwcGFibGUgY29uc3RyYWludHMgb24gZ2Vu OCB5ZXQgKi8KLQkqbWFwcGFibGVfYmFzZSA9IHBjaV9yZXNvdXJjZV9zdGFydChkZXYtPnBkZXYs IDIpOwotCSptYXBwYWJsZV9lbmQgPSBwY2lfcmVzb3VyY2VfbGVuKGRldi0+cGRldiwgMik7CisJ Z2d0dC0+bWFwcGFibGVfYmFzZSA9IHBjaV9yZXNvdXJjZV9zdGFydChkZXYtPnBkZXYsIDIpOwor CWdndHQtPm1hcHBhYmxlX2VuZCA9IHBjaV9yZXNvdXJjZV9sZW4oZGV2LT5wZGV2LCAyKTsKIAog CWlmICghcGNpX3NldF9kbWFfbWFzayhkZXYtPnBkZXYsIERNQV9CSVRfTUFTSygzOSkpKQogCQlw Y2lfc2V0X2NvbnNpc3RlbnRfZG1hX21hc2soZGV2LT5wZGV2LCBETUFfQklUX01BU0soMzkpKTsK QEAgLTMwNTUsNTUgKzMwNTEsNTEgQEAgc3RhdGljIGludCBnZW44X2dtY2hfcHJvYmUoc3RydWN0 IGRybV9kZXZpY2UgKmRldiwKIAlwY2lfcmVhZF9jb25maWdfd29yZChkZXYtPnBkZXYsIFNOQl9H TUNIX0NUUkwsICZzbmJfZ21jaF9jdGwpOwogCiAJaWYgKElOVEVMX0lORk8oZGV2KS0+Z2VuID49 IDkpIHsKLQkJKnN0b2xlbiA9IGdlbjlfZ2V0X3N0b2xlbl9zaXplKHNuYl9nbWNoX2N0bCk7Ci0J CWd0dF9zaXplID0gZ2VuOF9nZXRfdG90YWxfZ3R0X3NpemUoc25iX2dtY2hfY3RsKTsKKwkJZ2d0 dC0+c3RvbGVuX3NpemUgPSBnZW45X2dldF9zdG9sZW5fc2l6ZShzbmJfZ21jaF9jdGwpOworCQln Z3R0LT5zaXplID0gZ2VuOF9nZXRfdG90YWxfZ3R0X3NpemUoc25iX2dtY2hfY3RsKTsKIAl9IGVs c2UgaWYgKElTX0NIRVJSWVZJRVcoZGV2KSkgewotCQkqc3RvbGVuID0gY2h2X2dldF9zdG9sZW5f c2l6ZShzbmJfZ21jaF9jdGwpOwotCQlndHRfc2l6ZSA9IGNodl9nZXRfdG90YWxfZ3R0X3NpemUo c25iX2dtY2hfY3RsKTsKKwkJZ2d0dC0+c3RvbGVuX3NpemUgPSBjaHZfZ2V0X3N0b2xlbl9zaXpl KHNuYl9nbWNoX2N0bCk7CisJCWdndHQtPnNpemUgPSBjaHZfZ2V0X3RvdGFsX2d0dF9zaXplKHNu Yl9nbWNoX2N0bCk7CiAJfSBlbHNlIHsKLQkJKnN0b2xlbiA9IGdlbjhfZ2V0X3N0b2xlbl9zaXpl KHNuYl9nbWNoX2N0bCk7Ci0JCWd0dF9zaXplID0gZ2VuOF9nZXRfdG90YWxfZ3R0X3NpemUoc25i X2dtY2hfY3RsKTsKKwkJZ2d0dC0+c3RvbGVuX3NpemUgPSBnZW44X2dldF9zdG9sZW5fc2l6ZShz bmJfZ21jaF9jdGwpOworCQlnZ3R0LT5zaXplID0gZ2VuOF9nZXRfdG90YWxfZ3R0X3NpemUoc25i X2dtY2hfY3RsKTsKIAl9CiAKLQkqZ3R0X3RvdGFsID0gKGd0dF9zaXplIC8gc2l6ZW9mKGdlbjhf cHRlX3QpKSA8PCBQQUdFX1NISUZUOworCWdndHQtPmJhc2UudG90YWwgPSAoZ2d0dC0+c2l6ZSAv IHNpemVvZihnZW44X3B0ZV90KSkgPDwgUEFHRV9TSElGVDsKIAogCWlmIChJU19DSEVSUllWSUVX KGRldikgfHwgSVNfQlJPWFRPTihkZXYpKQogCQljaHZfc2V0dXBfcHJpdmF0ZV9wcGF0KGRldl9w cml2KTsKIAllbHNlCiAJCWJkd19zZXR1cF9wcml2YXRlX3BwYXQoZGV2X3ByaXYpOwogCi0JcmV0 ID0gZ2d0dF9wcm9iZV9jb21tb24oZGV2LCBndHRfc2l6ZSk7Ci0KLQlkZXZfcHJpdi0+Z2d0dC5i YXNlLmNsZWFyX3JhbmdlID0gZ2VuOF9nZ3R0X2NsZWFyX3JhbmdlOwotCWRldl9wcml2LT5nZ3R0 LmJhc2UuaW5zZXJ0X2VudHJpZXMgPSBnZW44X2dndHRfaW5zZXJ0X2VudHJpZXM7Ci0JZGV2X3By aXYtPmdndHQuYmFzZS5iaW5kX3ZtYSA9IGdndHRfYmluZF92bWE7Ci0JZGV2X3ByaXYtPmdndHQu YmFzZS51bmJpbmRfdm1hID0gZ2d0dF91bmJpbmRfdm1hOworCXJldCA9IGdndHRfcHJvYmVfY29t bW9uKGRldiwgZ2d0dC0+c2l6ZSk7CiAKKwlnZ3R0LT5iYXNlLmNsZWFyX3JhbmdlID0gZ2VuOF9n Z3R0X2NsZWFyX3JhbmdlOwogCWlmIChJU19DSEVSUllWSUVXKGRldl9wcml2KSkKLQkJZGV2X3By aXYtPmdndHQuYmFzZS5pbnNlcnRfZW50cmllcyA9IGdlbjhfZ2d0dF9pbnNlcnRfZW50cmllc19f QktMOworCQlnZ3R0LT5iYXNlLmluc2VydF9lbnRyaWVzID0gZ2VuOF9nZ3R0X2luc2VydF9lbnRy aWVzX19CS0w7CisJZWxzZQorCQlnZ3R0LT5iYXNlLmluc2VydF9lbnRyaWVzID0gZ2VuOF9nZ3R0 X2luc2VydF9lbnRyaWVzOworCWdndHQtPmJhc2UuYmluZF92bWEgPSBnZ3R0X2JpbmRfdm1hOwor CWdndHQtPmJhc2UudW5iaW5kX3ZtYSA9IGdndHRfdW5iaW5kX3ZtYTsKKwogCiAJcmV0dXJuIHJl dDsKIH0KIAotc3RhdGljIGludCBnZW42X2dtY2hfcHJvYmUoc3RydWN0IGRybV9kZXZpY2UgKmRl diwKLQkJCSAgIHU2NCAqZ3R0X3RvdGFsLAotCQkJICAgc2l6ZV90ICpzdG9sZW4sCi0JCQkgICBw aHlzX2FkZHJfdCAqbWFwcGFibGVfYmFzZSwKLQkJCSAgIHU2NCAqbWFwcGFibGVfZW5kKQorc3Rh dGljIGludCBnZW42X2dtY2hfcHJvYmUoc3RydWN0IGk5MTVfZ2d0dCAqZ2d0dCkKIHsKLQlzdHJ1 Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSBkZXYtPmRldl9wcml2YXRlOwotCXVuc2ln bmVkIGludCBndHRfc2l6ZTsKKwlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gZ2d0dC0+YmFzZS5k ZXY7CiAJdTE2IHNuYl9nbWNoX2N0bDsKIAlpbnQgcmV0OwogCi0JKm1hcHBhYmxlX2Jhc2UgPSBw Y2lfcmVzb3VyY2Vfc3RhcnQoZGV2LT5wZGV2LCAyKTsKLQkqbWFwcGFibGVfZW5kID0gcGNpX3Jl c291cmNlX2xlbihkZXYtPnBkZXYsIDIpOworCWdndHQtPm1hcHBhYmxlX2Jhc2UgPSBwY2lfcmVz b3VyY2Vfc3RhcnQoZGV2LT5wZGV2LCAyKTsKKwlnZ3R0LT5tYXBwYWJsZV9lbmQgPSBwY2lfcmVz b3VyY2VfbGVuKGRldi0+cGRldiwgMik7CiAKIAkvKiA2NC81MTJNQiBpcyB0aGUgY3VycmVudCBt aW4vbWF4IHdlIGFjdHVhbGx5IGtub3cgb2YsIGJ1dCB0aGlzIGlzIGp1c3QKIAkgKiBhIGNvYXJz ZSBzYW5pdHkgY2hlY2suCiAJICovCi0JaWYgKCgqbWFwcGFibGVfZW5kIDwgKDY0PDwyMCkgfHwg KCptYXBwYWJsZV9lbmQgPiAoNTEyPDwyMCkpKSkgewotCQlEUk1fRVJST1IoIlVua25vd24gR01B RFIgc2l6ZSAoJWxseClcbiIsICptYXBwYWJsZV9lbmQpOworCWlmICgoZ2d0dC0+bWFwcGFibGVf ZW5kIDwgKDY0PDwyMCkgfHwgKGdndHQtPm1hcHBhYmxlX2VuZCA+ICg1MTI8PDIwKSkpKSB7CisJ CURSTV9FUlJPUigiVW5rbm93biBHTUFEUiBzaXplICglbGx4KVxuIiwgZ2d0dC0+bWFwcGFibGVf ZW5kKTsKIAkJcmV0dXJuIC1FTlhJTzsKIAl9CiAKQEAgLTMxMTEsMTcgKzMxMDMsMTYgQEAgc3Rh dGljIGludCBnZW42X2dtY2hfcHJvYmUoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKIAkJcGNpX3Nl dF9jb25zaXN0ZW50X2RtYV9tYXNrKGRldi0+cGRldiwgRE1BX0JJVF9NQVNLKDQwKSk7CiAJcGNp X3JlYWRfY29uZmlnX3dvcmQoZGV2LT5wZGV2LCBTTkJfR01DSF9DVFJMLCAmc25iX2dtY2hfY3Rs KTsKIAotCSpzdG9sZW4gPSBnZW42X2dldF9zdG9sZW5fc2l6ZShzbmJfZ21jaF9jdGwpOwotCi0J Z3R0X3NpemUgPSBnZW42X2dldF90b3RhbF9ndHRfc2l6ZShzbmJfZ21jaF9jdGwpOwotCSpndHRf dG90YWwgPSAoZ3R0X3NpemUgLyBzaXplb2YoZ2VuNl9wdGVfdCkpIDw8IFBBR0VfU0hJRlQ7CisJ Z2d0dC0+c3RvbGVuX3NpemUgPSBnZW42X2dldF9zdG9sZW5fc2l6ZShzbmJfZ21jaF9jdGwpOwor CWdndHQtPnNpemUgPSBnZW42X2dldF90b3RhbF9ndHRfc2l6ZShzbmJfZ21jaF9jdGwpOworCWdn dHQtPmJhc2UudG90YWwgPSAoZ2d0dC0+c2l6ZSAvIHNpemVvZihnZW42X3B0ZV90KSkgPDwgUEFH RV9TSElGVDsKIAotCXJldCA9IGdndHRfcHJvYmVfY29tbW9uKGRldiwgZ3R0X3NpemUpOworCXJl dCA9IGdndHRfcHJvYmVfY29tbW9uKGRldiwgZ2d0dC0+c2l6ZSk7CiAKLQlkZXZfcHJpdi0+Z2d0 dC5iYXNlLmNsZWFyX3JhbmdlID0gZ2VuNl9nZ3R0X2NsZWFyX3JhbmdlOwotCWRldl9wcml2LT5n Z3R0LmJhc2UuaW5zZXJ0X2VudHJpZXMgPSBnZW42X2dndHRfaW5zZXJ0X2VudHJpZXM7Ci0JZGV2 X3ByaXYtPmdndHQuYmFzZS5iaW5kX3ZtYSA9IGdndHRfYmluZF92bWE7Ci0JZGV2X3ByaXYtPmdn dHQuYmFzZS51bmJpbmRfdm1hID0gZ2d0dF91bmJpbmRfdm1hOworCWdndHQtPmJhc2UuY2xlYXJf cmFuZ2UgPSBnZW42X2dndHRfY2xlYXJfcmFuZ2U7CisJZ2d0dC0+YmFzZS5pbnNlcnRfZW50cmll cyA9IGdlbjZfZ2d0dF9pbnNlcnRfZW50cmllczsKKwlnZ3R0LT5iYXNlLmJpbmRfdm1hID0gZ2d0 dF9iaW5kX3ZtYTsKKwlnZ3R0LT5iYXNlLnVuYmluZF92bWEgPSBnZ3R0X3VuYmluZF92bWE7CiAK IAlyZXR1cm4gcmV0OwogfQpAQCAtMzEzNCwxMiArMzEyNSw5IEBAIHN0YXRpYyB2b2lkIGdlbjZf Z21jaF9yZW1vdmUoc3RydWN0IGk5MTVfYWRkcmVzc19zcGFjZSAqdm0pCiAJZnJlZV9zY3JhdGNo X3BhZ2Uodm0tPmRldiwgdm0tPnNjcmF0Y2hfcGFnZSk7CiB9CiAKLXN0YXRpYyBpbnQgaTkxNV9n bWNoX3Byb2JlKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCi0JCQkgICB1NjQgKmd0dF90b3RhbCwK LQkJCSAgIHNpemVfdCAqc3RvbGVuLAotCQkJICAgcGh5c19hZGRyX3QgKm1hcHBhYmxlX2Jhc2Us Ci0JCQkgICB1NjQgKm1hcHBhYmxlX2VuZCkKK3N0YXRpYyBpbnQgaTkxNV9nbWNoX3Byb2JlKHN0 cnVjdCBpOTE1X2dndHQgKmdndHQpCiB7CisJc3RydWN0IGRybV9kZXZpY2UgKmRldiA9IGdndHQt PmJhc2UuZGV2OwogCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IGRldi0+ZGV2 X3ByaXZhdGU7CiAJaW50IHJldDsKIApAQCAtMzE0OSwxNSArMzEzNywxNiBAQCBzdGF0aWMgaW50 IGk5MTVfZ21jaF9wcm9iZShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAogCQlyZXR1cm4gLUVJTzsK IAl9CiAKLQlpbnRlbF9ndHRfZ2V0KGd0dF90b3RhbCwgc3RvbGVuLCBtYXBwYWJsZV9iYXNlLCBt YXBwYWJsZV9lbmQpOworCWludGVsX2d0dF9nZXQoJmdndHQtPmJhc2UudG90YWwsICZnZ3R0LT5z dG9sZW5fc2l6ZSwKKwkJICAgICAgJmdndHQtPm1hcHBhYmxlX2Jhc2UsICZnZ3R0LT5tYXBwYWJs ZV9lbmQpOwogCi0JZGV2X3ByaXYtPmdndHQuZG9faWRsZV9tYXBzID0gbmVlZHNfaWRsZV9tYXBz KGRldl9wcml2LT5kZXYpOwotCWRldl9wcml2LT5nZ3R0LmJhc2UuaW5zZXJ0X2VudHJpZXMgPSBp OTE1X2dndHRfaW5zZXJ0X2VudHJpZXM7Ci0JZGV2X3ByaXYtPmdndHQuYmFzZS5jbGVhcl9yYW5n ZSA9IGk5MTVfZ2d0dF9jbGVhcl9yYW5nZTsKLQlkZXZfcHJpdi0+Z2d0dC5iYXNlLmJpbmRfdm1h ID0gZ2d0dF9iaW5kX3ZtYTsKLQlkZXZfcHJpdi0+Z2d0dC5iYXNlLnVuYmluZF92bWEgPSBnZ3R0 X3VuYmluZF92bWE7CisJZ2d0dC0+ZG9faWRsZV9tYXBzID0gbmVlZHNfaWRsZV9tYXBzKGRldl9w cml2LT5kZXYpOworCWdndHQtPmJhc2UuaW5zZXJ0X2VudHJpZXMgPSBpOTE1X2dndHRfaW5zZXJ0 X2VudHJpZXM7CisJZ2d0dC0+YmFzZS5jbGVhcl9yYW5nZSA9IGk5MTVfZ2d0dF9jbGVhcl9yYW5n ZTsKKwlnZ3R0LT5iYXNlLmJpbmRfdm1hID0gZ2d0dF9iaW5kX3ZtYTsKKwlnZ3R0LT5iYXNlLnVu YmluZF92bWEgPSBnZ3R0X3VuYmluZF92bWE7CiAKLQlpZiAodW5saWtlbHkoZGV2X3ByaXYtPmdn dHQuZG9faWRsZV9tYXBzKSkKKwlpZiAodW5saWtlbHkoZ2d0dC0+ZG9faWRsZV9tYXBzKSkKIAkJ RFJNX0lORk8oImFwcGx5aW5nIElyb25sYWtlIHF1aXJrcyBmb3IgaW50ZWxfaW9tbXVcbiIpOwog CiAJcmV0dXJuIDA7CkBAIC0zMTk4LDggKzMxODcsNyBAQCBpbnQgaTkxNV9nZW1fZ3R0X2luaXQo c3RydWN0IGRybV9kZXZpY2UgKmRldikKIAlnZ3R0LT5iYXNlLmRldiA9IGRldjsKIAlnZ3R0LT5i YXNlLmlzX2dndHQgPSB0cnVlOwogCi0JcmV0ID0gZ2d0dC0+cHJvYmUoZGV2LCAmZ2d0dC0+YmFz ZS50b3RhbCwgJmdndHQtPnN0b2xlbl9zaXplLAotCQkJICAmZ2d0dC0+bWFwcGFibGVfYmFzZSwg JmdndHQtPm1hcHBhYmxlX2VuZCk7CisJcmV0ID0gZ2d0dC0+cHJvYmUoZ2d0dCk7CiAJaWYgKHJl dCkKIAkJcmV0dXJuIHJldDsKIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkx NV9nZW1fZ3R0LmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9ndHQuaAppbmRleCAy OTA2YmIxLi5kODA0YmUwIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dl bV9ndHQuaAorKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9ndHQuaApAQCAtMzQ2 LDYgKzM0Niw3IEBAIHN0cnVjdCBpOTE1X2dndHQgewogCXNpemVfdCBzdG9sZW5fdXNhYmxlX3Np emU7CS8qIFRvdGFsIHNpemUgbWludXMgQklPUyByZXNlcnZlZCAqLwogCXNpemVfdCBzdG9sZW5f cmVzZXJ2ZWRfYmFzZTsKIAlzaXplX3Qgc3RvbGVuX3Jlc2VydmVkX3NpemU7CisJc2l6ZV90IHNp emU7CQkJLyogVG90YWwgc2l6ZSBvZiBHbG9iYWwgR1RUICovCiAJdTY0IG1hcHBhYmxlX2VuZDsJ CS8qIEVuZCBvZmZzZXQgdGhhdCB3ZSBjYW4gQ1BVIG1hcCAqLwogCXN0cnVjdCBpb19tYXBwaW5n ICptYXBwYWJsZTsJLyogTWFwcGluZyB0byBvdXIgQ1BVIG1hcHBhYmxlIHJlZ2lvbiAqLwogCXBo eXNfYWRkcl90IG1hcHBhYmxlX2Jhc2U7CS8qIFBBIG9mIG91ciBHTUFEUiAqLwpAQCAtMzU3LDkg KzM1OCw3IEBAIHN0cnVjdCBpOTE1X2dndHQgewogCiAJaW50IG10cnI7CiAKLQlpbnQgKCpwcm9i ZSkoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgdTY0ICpndHRfdG90YWwsCi0JCSAgICAgc2l6ZV90 ICpzdG9sZW4sIHBoeXNfYWRkcl90ICptYXBwYWJsZV9iYXNlLAotCQkgICAgIHU2NCAqbWFwcGFi bGVfZW5kKTsKKwlpbnQgKCpwcm9iZSkoc3RydWN0IGk5MTVfZ2d0dCAqZ2d0dCk7CiB9OwogCiBz dHJ1Y3QgaTkxNV9od19wcGd0dCB7Ci0tIAoyLjUuMAoKX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhA bGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxt YW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==