From: Tom St Denis Subject: [PATCH] drm/amd/amdgpu: Convert comments for amdgpu_ttm.c Date: Fri, 18 May 2018 12:22:40 -0400 Message-ID: <20180518162240.300-1-tom.stdenis@amd.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: List-Id: Discussion list for AMD gfx List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: amd-gfx-bounces-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Sender: "amd-gfx" To: amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Cc: Tom St Denis V2UncmUgbW92aW5nIHRvIFNwaGlueCBzdHlsZSBkb2N1bWVudGF0aW9uLiAgQ29udmVyIHRoZSBj b21tZW50cwp0byB0aGF0IGZvcm1hdC4gIEFsc28gZG9jdW1lbnQgc29tZSBuZXcgY29udGVudC4K ClNpZ25lZC1vZmYtYnk6IFRvbSBTdCBEZW5pcyA8dG9tLnN0ZGVuaXNAYW1kLmNvbT4KLS0tCiBk cml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfdHRtLmMgfCAyNTQgKysrKysrKysrKysr KysrKysrKysrKystLS0tLS0tLS0KIDEgZmlsZSBjaGFuZ2VkLCAxODUgaW5zZXJ0aW9ucygrKSwg NjkgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUv YW1kZ3B1X3R0bS5jIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X3R0bS5jCmlu ZGV4IDU3ZDRkYTZiZGJlNC4uMzY3ZDViYzI2MzBmIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9k cm0vYW1kL2FtZGdwdS9hbWRncHVfdHRtLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRn cHUvYW1kZ3B1X3R0bS5jCkBAIC02NSw4ICs2NSw5IEBAIHN0YXRpYyB2b2lkIGFtZGdwdV90dG1f ZGVidWdmc19maW5pKHN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2KTsKICAqLwogCiAvKioKLSAq IGFtZGdwdV90dG1fbWVtX2dsb2JhbF9pbml0IC0gSW5pdGlhbGl6ZSBhbmQgYWNxdWlyZSByZWZl cmVuY2UgdG8KLSAqIG1lbW9yeSBvYmplY3QKKyAqIERPQzogYW1kZ3B1X3R0bV9tZW1fZ2xvYmFs X2luaXQKKyAqCisgKiBJbml0aWFsaXplIGFuZCBhY3F1aXJlIHJlZmVyZW5jZSB0byBtZW1vcnkg b2JqZWN0CiAgKgogICogQHJlZjogT2JqZWN0IGZvciBpbml0aWFsaXphdGlvbi4KICAqCkBAIC03 OSw3ICs4MCw5IEBAIHN0YXRpYyBpbnQgYW1kZ3B1X3R0bV9tZW1fZ2xvYmFsX2luaXQoc3RydWN0 IGRybV9nbG9iYWxfcmVmZXJlbmNlICpyZWYpCiB9CiAKIC8qKgotICogYW1kZ3B1X3R0bV9tZW1f Z2xvYmFsX3JlbGVhc2UgLSBEcm9wIHJlZmVyZW5jZSB0byBhIG1lbW9yeSBvYmplY3QKKyAqIERP QzogYW1kZ3B1X3R0bV9tZW1fZ2xvYmFsX3JlbGVhc2UKKyAqCisgKiBEcm9wIHJlZmVyZW5jZSB0 byBhIG1lbW9yeSBvYmplY3QKICAqCiAgKiBAcmVmOiBPYmplY3QgYmVpbmcgcmVtb3ZlZAogICoK QEAgLTkyLDggKzk1LDkgQEAgc3RhdGljIHZvaWQgYW1kZ3B1X3R0bV9tZW1fZ2xvYmFsX3JlbGVh c2Uoc3RydWN0IGRybV9nbG9iYWxfcmVmZXJlbmNlICpyZWYpCiB9CiAKIC8qKgotICogYW1kZ3B1 X3R0bV9nbG9iYWxfaW5pdCAtIEluaXRpYWxpemUgZ2xvYmFsIFRUTSBtZW1vcnkgcmVmZXJlbmNl Ci0gKiAJCQkJCQkJc3RydWN0dXJlcy4KKyAqIERPQzogYW1kZ3B1X3R0bV9nbG9iYWxfaW5pdAor ICoKKyAqIEluaXRpYWxpemUgZ2xvYmFsIFRUTSBtZW1vcnkgcmVmZXJlbmNlIHN0cnVjdHVyZXMu CiAgKgogICogQGFkZXY6ICAJQU1ER1BVIGRldmljZSBmb3Igd2hpY2ggdGhlIGdsb2JhbCBzdHJ1 Y3R1cmVzIG5lZWQgdG8gYmUKICAqCQkJcmVnaXN0ZXJlZC4KQEAgLTE3Nyw4ICsxODEsOSBAQCBz dGF0aWMgaW50IGFtZGdwdV9pbnZhbGlkYXRlX2NhY2hlcyhzdHJ1Y3QgdHRtX2JvX2RldmljZSAq YmRldiwgdWludDMyX3QgZmxhZ3MpCiB9CiAKIC8qKgotICogYW1kZ3B1X2luaXRfbWVtX3R5cGUg LSAJSW5pdGlhbGl6ZSBhIG1lbW9yeSBtYW5hZ2VyIGZvciBhIHNwZWNpZmljCi0gKiAJCQkJCQkJ dHlwZSBvZiBtZW1vcnkgcmVxdWVzdC4KKyAqIERPQzogYW1kZ3B1X2luaXRfbWVtX3R5cGUKKyAq CisgKiBJbml0aWFsaXplIGEgbWVtb3J5IG1hbmFnZXIgZm9yIGEgc3BlY2lmaWMgdHlwZSBvZiBt ZW1vcnkgcmVxdWVzdC4KICAqCiAgKiBAYmRldjoJVGhlIFRUTSBCTyBkZXZpY2Ugb2JqZWN0IChj b250YWlucyBhIHJlZmVyZW5jZSB0bwogICogCQkJYW1kZ3B1X2RldmljZSkKQEAgLTIzNywxMiAr MjQyLDE0IEBAIHN0YXRpYyBpbnQgYW1kZ3B1X2luaXRfbWVtX3R5cGUoc3RydWN0IHR0bV9ib19k ZXZpY2UgKmJkZXYsIHVpbnQzMl90IHR5cGUsCiB9CiAKIC8qKgotICogYW1kZ3B1X2V2aWN0X2Zs YWdzIC0gQ29tcHV0ZSBwbGFjZW1lbnQgZmxhZ3MKKyAqIERPQzogYW1kZ3B1X2V2aWN0X2ZsYWdz CisgKgorICogQ29tcHV0ZSBwbGFjZW1lbnQgZmxhZ3MKICAqCiAgKiBAYm86IFRoZSBidWZmZXIg b2JqZWN0IHRvIGV2aWN0CiAgKiBAcGxhY2VtZW50OiBQb3NzaWJsZSBkZXN0aW5hdGlvbihzKSBm b3IgZXZpY3RlZCBCTwogICoKLSAqIEZpbGwgaW4gcGxhY2VtZW50IGRhdGEgd2hlbiB0dG1fYm9f ZXZpY3QoKSBpcyBjYWxsZWQKKyAqIEZpbGwgaW4gcGxhY2VtZW50IGRhdGEgd2hlbiB0dG1fYm9f ZXZpY3QoKSBpcyBjYWxsZWQuCiAgKi8KIHN0YXRpYyB2b2lkIGFtZGdwdV9ldmljdF9mbGFncyhz dHJ1Y3QgdHRtX2J1ZmZlcl9vYmplY3QgKmJvLAogCQkJCXN0cnVjdCB0dG1fcGxhY2VtZW50ICpw bGFjZW1lbnQpCkBAIC0zMDUsNyArMzEyLDkgQEAgc3RhdGljIHZvaWQgYW1kZ3B1X2V2aWN0X2Zs YWdzKHN0cnVjdCB0dG1fYnVmZmVyX29iamVjdCAqYm8sCiB9CiAKIC8qKgotICogYW1kZ3B1X3Zl cmlmeV9hY2Nlc3MgLSBWZXJpZnkgYWNjZXNzIGZvciBhIG1tYXAgY2FsbAorICogRE9DOiBhbWRn cHVfdmVyaWZ5X2FjY2VzcworICoKKyAqIFZlcmlmeSBhY2Nlc3MgZm9yIGEgbW1hcCBjYWxsCiAg KgogICogQGJvOgkJVGhlIGJ1ZmZlciBvYmplY3QgdG8gbWFwCiAgKiBAZmlscDoJVGhlIGZpbGUg cG9pbnRlciBmcm9tIHRoZSBwcm9jZXNzIHBlcmZvcm1pbmcgdGhlIG1tYXAKQEAgLTMzMSw3ICsz NDAsOSBAQCBzdGF0aWMgaW50IGFtZGdwdV92ZXJpZnlfYWNjZXNzKHN0cnVjdCB0dG1fYnVmZmVy X29iamVjdCAqYm8sIHN0cnVjdCBmaWxlICpmaWxwKQogfQogCiAvKioKLSAqIGFtZGdwdV9tb3Zl X251bGwgLSBSZWdpc3RlciBtZW1vcnkgZm9yIGEgYnVmZmVyIG9iamVjdAorICogRE9DOiBhbWRn cHVfbW92ZV9udWxsCisgKgorICogUmVnaXN0ZXIgbWVtb3J5IGZvciBhIGJ1ZmZlciBvYmplY3QK ICAqCiAgKiBAYm86CQkJVGhlIGJvIHRvIGFzc2lnbiB0aGUgbWVtb3J5IHRvCiAgKiBAbmV3X21l bToJVGhlIG1lbW9yeSB0byBiZSBhc3NpZ25lZC4KQEAgLTM1MCw4ICszNjEsOSBAQCBzdGF0aWMg dm9pZCBhbWRncHVfbW92ZV9udWxsKHN0cnVjdCB0dG1fYnVmZmVyX29iamVjdCAqYm8sCiB9CiAK IC8qKgotICogYW1kZ3B1X21tX25vZGVfYWRkciAtCUNvbXB1dGUgdGhlIEdQVSByZWxhdGl2ZSBv ZmZzZXQgb2YgYSBHVFQKLSAqIAkJCQkJCQlidWZmZXIuCisgKiBET0M6IGFtZGdwdV9tbV9ub2Rl X2FkZHIKKyAqCisgKiBDb21wdXRlIHRoZSBHUFUgcmVsYXRpdmUgb2Zmc2V0IG9mIGEgR1RUIGJ1 ZmZlci4KICAqLwogc3RhdGljIHVpbnQ2NF90IGFtZGdwdV9tbV9ub2RlX2FkZHIoc3RydWN0IHR0 bV9idWZmZXJfb2JqZWN0ICpibywKIAkJCQkgICAgc3RydWN0IGRybV9tbV9ub2RlICptbV9ub2Rl LApAQCAtMzY3LDEwICszNzksMTAgQEAgc3RhdGljIHVpbnQ2NF90IGFtZGdwdV9tbV9ub2RlX2Fk ZHIoc3RydWN0IHR0bV9idWZmZXJfb2JqZWN0ICpibywKIH0KIAogLyoqCi0gKiBhbWRncHVfZmlu ZF9tbV9ub2RlIC0JSGVscGVyIGZ1bmN0aW9uIGZpbmRzIHRoZSBkcm1fbW1fbm9kZQotICogIAkJ CQkJCWNvcnJlc3BvbmRpbmcgdG8gQG9mZnNldC4gSXQgYWxzbyBtb2RpZmllcwotICogCQkJCQkJ CXRoZSBvZmZzZXQgdG8gYmUgd2l0aGluIHRoZSBkcm1fbW1fbm9kZQotICogCQkJCQkJCXJldHVy bmVkCisgKiBET0M6IGFtZGdwdV9maW5kX21tX25vZGUKKyAqCisgKiBIZWxwZXIgZnVuY3Rpb24g ZmluZHMgdGhlIGRybV9tbV9ub2RlIGNvcnJlc3BvbmRpbmcgdG8gQG9mZnNldC4gIEl0CisgKiBh bHNvIG1vZGlmaWVzIHRoZSBvZmZzZXQgdG8gYmUgd2l0aGluIHRoZSBkcm1fbW1fbm9kZSByZXR1 cm5lZC4KICAqLwogc3RhdGljIHN0cnVjdCBkcm1fbW1fbm9kZSAqYW1kZ3B1X2ZpbmRfbW1fbm9k ZShzdHJ1Y3QgdHRtX21lbV9yZWcgKm1lbSwKIAkJCQkJICAgICAgIHVuc2lnbmVkIGxvbmcgKm9m ZnNldCkKQEAgLTM4NSw3ICszOTcsOSBAQCBzdGF0aWMgc3RydWN0IGRybV9tbV9ub2RlICphbWRn cHVfZmluZF9tbV9ub2RlKHN0cnVjdCB0dG1fbWVtX3JlZyAqbWVtLAogfQogCiAvKioKLSAqIGFt ZGdwdV9jb3B5X3R0bV9tZW1fdG9fbWVtIC0gSGVscGVyIGZ1bmN0aW9uIGZvciBjb3B5CisgKiBE T0M6IGFtZGdwdV9jb3B5X3R0bV9tZW1fdG9fbWVtCisgKgorICogSGVscGVyIGZ1bmN0aW9uIGZv ciBjb3B5CiAgKgogICogVGhlIGZ1bmN0aW9uIGNvcGllcyBAc2l6ZSBieXRlcyBmcm9tIHtzcmMt Pm1lbSArIHNyYy0+b2Zmc2V0fSB0bwogICoge2RzdC0+bWVtICsgZHN0LT5vZmZzZXR9LiBzcmMt PmJvIGFuZCBkc3QtPmJvIGNvdWxkIGJlIHNhbWUgQk8gZm9yIGEKQEAgLTUxMCw3ICs1MjQsOSBA QCBpbnQgYW1kZ3B1X3R0bV9jb3B5X21lbV90b19tZW0oc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFk ZXYsCiB9CiAKIC8qKgotICogYW1kZ3B1X21vdmVfYmxpdCAtIENvcHkgYW4gZW50aXJlIGJ1ZmZl ciB0byBhbm90aGVyIGJ1ZmZlcgorICogRE9DOiBhbWRncHVfbW92ZV9ibGl0CisgKgorICogQ29w eSBhbiBlbnRpcmUgYnVmZmVyIHRvIGFub3RoZXIgYnVmZmVyCiAgKgogICogVGhpcyBpcyBhIGhl bHBlciBjYWxsZWQgYnkgYW1kZ3B1X2JvX21vdmUoKSBhbmQKICAqIGFtZGdwdV9tb3ZlX3ZyYW1f cmFtKCkgdG8gaGVscCBtb3ZlIGJ1ZmZlcnMgdG8gYW5kIGZyb20gVlJBTS4KQEAgLTU1MCw3ICs1 NjYsOSBAQCBzdGF0aWMgaW50IGFtZGdwdV9tb3ZlX2JsaXQoc3RydWN0IHR0bV9idWZmZXJfb2Jq ZWN0ICpibywKIH0KIAogLyoqCi0gKiBhbWRncHVfbW92ZV92cmFtX3JhbSAtIENvcHkgVlJBTSBi dWZmZXIgdG8gUkFNIGJ1ZmZlcgorICogRE9DOiBhbWRncHVfbW92ZV92cmFtX3JhbQorICoKKyAq IENvcHkgVlJBTSBidWZmZXIgdG8gUkFNIGJ1ZmZlcgogICoKICAqIENhbGxlZCBieSBhbWRncHVf Ym9fbW92ZSgpLgogICovCkBAIC02MDgsNyArNjI2LDkgQEAgc3RhdGljIGludCBhbWRncHVfbW92 ZV92cmFtX3JhbShzdHJ1Y3QgdHRtX2J1ZmZlcl9vYmplY3QgKmJvLCBib29sIGV2aWN0LAogfQog CiAvKioKLSAqIGFtZGdwdV9tb3ZlX3JhbV92cmFtIC0gQ29weSBidWZmZXIgZnJvbSBSQU0gdG8g VlJBTQorICogRE9DOiBhbWRncHVfbW92ZV9yYW1fdnJhbQorICoKKyAqIENvcHkgYnVmZmVyIGZy b20gUkFNIHRvIFZSQU0KICAqCiAgKiBDYWxsZWQgYnkgYW1kZ3B1X2JvX21vdmUoKS4KICAqLwpA QCAtNjU3LDcgKzY3Nyw5IEBAIHN0YXRpYyBpbnQgYW1kZ3B1X21vdmVfcmFtX3ZyYW0oc3RydWN0 IHR0bV9idWZmZXJfb2JqZWN0ICpibywgYm9vbCBldmljdCwKIH0KIAogLyoqCi0gKiBhbWRncHVf Ym9fbW92ZSAtIE1vdmUgYSBidWZmZXIgb2JqZWN0IHRvIGEgbmV3IG1lbW9yeSBsb2NhdGlvbgor ICogRE9DOiBhbWRncHVfYm9fbW92ZQorICoKKyAqIE1vdmUgYSBidWZmZXIgb2JqZWN0IHRvIGEg bmV3IG1lbW9yeSBsb2NhdGlvbgogICoKICAqIENhbGxlZCBieSB0dG1fYm9faGFuZGxlX21vdmVf bWVtKCkKICAqLwpAQCAtNzI3LDcgKzc0OSw5IEBAIHN0YXRpYyBpbnQgYW1kZ3B1X2JvX21vdmUo c3RydWN0IHR0bV9idWZmZXJfb2JqZWN0ICpibywgYm9vbCBldmljdCwKIH0KIAogLyoqCi0gKiBh bWRncHVfdHRtX2lvX21lbV9yZXNlcnZlIC0gUmVzZXJ2ZSBhIGJsb2NrIG9mIG1lbW9yeSBkdXJp bmcgYSBmYXVsdAorICogRE9DOiBhbWRncHVfdHRtX2lvX21lbV9yZXNlcnZlCisgKgorICogUmVz ZXJ2ZSBhIGJsb2NrIG9mIG1lbW9yeSBkdXJpbmcgYSBmYXVsdAogICoKICAqIENhbGxlZCBieSB0 dG1fbWVtX2lvX3Jlc2VydmUoKSB1bHRpbWF0ZWx5IHZpYSB0dG1fYm9fdm1fZmF1bHQoKQogICov CkBAIC04MDksOCArODMzLDkgQEAgc3RydWN0IGFtZGdwdV90dG1fdHQgewogfTsKIAogLyoqCi0g KiBhbWRncHVfdHRtX3R0X2dldF91c2VyX3BhZ2VzIC0gCVBpbiBwYWdlcyBvZiBtZW1vcnkgcG9p bnRlZCB0bwotICogCQkJCQkJCQkJYnkgYSBVU0VSUFRSIHBvaW50ZXIgdG8gbWVtb3J5CisgKiBE T0M6IGFtZGdwdV90dG1fdHRfZ2V0X3VzZXJfcGFnZXMKKyAqCisgKiBHcmFiIGEgcmVmZXJlbmNl IHRvIHBhZ2VzIG9mIG1lbW9yeSBwb2ludGVkIHRvIGJ5IGEgVVNFUlBUUiBwb2ludGVyCiAgKgog ICogQ2FsbGVkIGJ5IGFtZGdwdV9nZW1fdXNlcnB0cl9pb2N0bCgpIGFuZCBhbWRncHVfY3NfcGFy c2VyX2JvcygpLgogICogVGhpcyBwcm92aWRlcyBhIHdyYXBwZXIgYXJvdW5kIHRoZSBnZXRfdXNl cl9wYWdlcygpIGNhbGwgdG8gcHJvdmlkZQpAQCAtODc2LDggKzkwMSw5IEBAIGludCBhbWRncHVf dHRtX3R0X2dldF91c2VyX3BhZ2VzKHN0cnVjdCB0dG1fdHQgKnR0bSwgc3RydWN0IHBhZ2UgKipw YWdlcykKIH0KIAogLyoqCi0gKiBhbWRncHVfdHRtX3R0X3NldF91c2VyX3BhZ2VzIC0gCUNvcHkg cGFnZXMgaW4sIHB1dHRpbmcgb2xkIHBhZ2VzCi0gKiAJCQkJCQkJCQlhcyBuZWNlc3NhcnkuCisg KiBET0M6IGFtZGdwdV90dG1fdHRfc2V0X3VzZXJfcGFnZXMKKyAqCisgKiBDb3B5IHBhZ2VzIGlu LCBwdXR0aW5nIG9sZCBwYWdlcyBhcyBuZWNlc3NhcnkuCiAgKgogICogQ2FsbGVkIGJ5IGFtZGdw dV9jc19saXN0X3ZhbGlkYXRlKCkuICBUaGlzIGNyZWF0ZXMgdGhlIHBhZ2UgbGlzdAogICogdGhh dCBiYWNrcyB1c2VyIG1lbW9yeSBhbmQgd2lsbCB1bHRpbWF0ZWx5IGJlIG1hcHBlZCBpbnRvIHRo ZSBkZXZpY2UKQEAgLTg5OCw3ICs5MjQsOSBAQCB2b2lkIGFtZGdwdV90dG1fdHRfc2V0X3VzZXJf cGFnZXMoc3RydWN0IHR0bV90dCAqdHRtLCBzdHJ1Y3QgcGFnZSAqKnBhZ2VzKQogfQogCiAvKioK LSAqIGFtZGdwdV90dG1fdHRfbWFya191c2VyX3BhZ2UgLSBNYXJrIHBhZ2VzIGFzIGRpcnR5Cisg KiBET0M6IGFtZGdwdV90dG1fdHRfbWFya191c2VyX3BhZ2UKKyAqCisgKiBNYXJrIHBhZ2VzIGFz IGRpcnR5CiAgKgogICogQ2FsbGVkIHdoaWxlIHVucGlubmluZyB1c2VycHRyIHBhZ2VzCiAgKi8K QEAgLTkyMSw4ICs5NDksOSBAQCB2b2lkIGFtZGdwdV90dG1fdHRfbWFya191c2VyX3BhZ2VzKHN0 cnVjdCB0dG1fdHQgKnR0bSkKIH0KIAogLyoqCi0gKiBhbWRncHVfdHRtX3R0X3Bpbl91c2VycHRy IC0gCXByZXBhcmUgdGhlIHNnIHRhYmxlIHdpdGggdGhlCi0gKiAJCQkJCQkJCXVzZXIgcGFnZXMK KyAqIERPQzogYW1kZ3B1X3R0bV90dF9waW5fdXNlcnB0cgorICoKKyAqIHByZXBhcmUgdGhlIHNn IHRhYmxlIHdpdGggdGhlIHVzZXIgcGFnZXMKICAqCiAgKiBDYWxsZWQgYnkgYW1kZ3B1X3R0bV9i YWNrZW5kX2JpbmQoKQogICoqLwpAQCAtOTYyLDcgKzk5MSw5IEBAIHN0YXRpYyBpbnQgYW1kZ3B1 X3R0bV90dF9waW5fdXNlcnB0cihzdHJ1Y3QgdHRtX3R0ICp0dG0pCiB9CiAKIC8qKgotICogYW1k Z3B1X3R0bV90dF91bnBpbl91c2VycHRyIC0gVW5waW4gYW5kIHVubWFwIHVzZXJwdHIgcGFnZXMK KyAqIERPQzogYW1kZ3B1X3R0bV90dF91bnBpbl91c2VycHRyCisgKgorICogVW5waW4gYW5kIHVu bWFwIHVzZXJwdHIgcGFnZXMKICAqLwogc3RhdGljIHZvaWQgYW1kZ3B1X3R0bV90dF91bnBpbl91 c2VycHRyKHN0cnVjdCB0dG1fdHQgKnR0bSkKIHsKQEAgLTk4Niw2ICsxMDE3LDEyIEBAIHN0YXRp YyB2b2lkIGFtZGdwdV90dG1fdHRfdW5waW5fdXNlcnB0cihzdHJ1Y3QgdHRtX3R0ICp0dG0pCiAJ c2dfZnJlZV90YWJsZSh0dG0tPnNnKTsKIH0KIAorLyoqCisgKiBET0M6IGFtZGdwdV90dG1fZ2Fy dF9iaW5kCisgKgorICogV3JhcHBlciBmb3IgYW1kZ3B1X2dhcnRfYmluZCgpIHRvIGhhbmRsZSBH Rlg5IHNwZWNpZmljIHBhZ2UKKyAqIG1hcHBpbmdzLgorICovCiBpbnQgYW1kZ3B1X3R0bV9nYXJ0 X2JpbmQoc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYsCiAJCQkJc3RydWN0IHR0bV9idWZmZXJf b2JqZWN0ICp0Ym8sCiAJCQkJdWludDY0X3QgZmxhZ3MpCkBAIC05OTUsNiArMTAzMiwxMCBAQCBp bnQgYW1kZ3B1X3R0bV9nYXJ0X2JpbmQoc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYsCiAJc3Ry dWN0IGFtZGdwdV90dG1fdHQgKmd0dCA9ICh2b2lkICopdHRtOwogCWludCByOwogCisJLyogZm9y IGEgTVFEIGJ1ZmZlciBvYmplY3QgbWFwIHRoZSBmaXJzdAorCSAqIHBhZ2UgYXMgaXMuICBGb3Ig YWxsIHN1YnNlcXVlbnQgcGFnZXMgbWFwIHRoZW0gYXMKKwkgKiBhbiBNVFlQRSBvZiBOQy4KKwkg Ki8KIAlpZiAoYWJvLT5mbGFncyAmIEFNREdQVV9HRU1fQ1JFQVRFX01RRF9HRlg5KSB7CiAJCXVp bnQ2NF90IHBhZ2VfaWR4ID0gMTsKIApAQCAtMTAxMyw2ICsxMDU0LDcgQEAgaW50IGFtZGdwdV90 dG1fZ2FydF9iaW5kKHN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2LAogCQkJCSZ0dG0tPnBhZ2Vz W3BhZ2VfaWR4XSwKIAkJCQkmKGd0dC0+dHRtLmRtYV9hZGRyZXNzW3BhZ2VfaWR4XSksIGZsYWdz KTsKIAl9IGVsc2UgeworCQkvKiBmYWxsIGJhY2sgdG8gYSByZWd1bGFyIGdhcnQgYmluZGluZyAq LwogCQlyID0gYW1kZ3B1X2dhcnRfYmluZChhZGV2LCBndHQtPm9mZnNldCwgdHRtLT5udW1fcGFn ZXMsCiAJCQkJICAgICB0dG0tPnBhZ2VzLCBndHQtPnR0bS5kbWFfYWRkcmVzcywgZmxhZ3MpOwog CX0KQEAgLTEwMjYsNyArMTA2OCw5IEBAIGludCBhbWRncHVfdHRtX2dhcnRfYmluZChzdHJ1Y3Qg YW1kZ3B1X2RldmljZSAqYWRldiwKIH0KIAogLyoqCi0gKiBhbWRncHVfdHRtX2JhY2tlbmRfYmlu ZCAtIEJpbmQgR1RUIG1lbW9yeQorICogRE9DOiBhbWRncHVfdHRtX2JhY2tlbmRfYmluZAorICoK KyAqIEJpbmQgR1RUIG1lbW9yeQogICoKICAqIENhbGxlZCBieSB0dG1fdHRfYmluZCgpIG9uIGJl aGFsZiBvZiB0dG1fYm9faGFuZGxlX21vdmVfbWVtKCkuCiAgKiBUaGlzIGhhbmRsZXMgYmluZGlu ZyBHVFQgbWVtb3J5IHRvIHRoZSBkZXZpY2UgYWRkcmVzcyBzcGFjZS4KQEAgLTEwNzYsNyArMTEy MCw5IEBAIHN0YXRpYyBpbnQgYW1kZ3B1X3R0bV9iYWNrZW5kX2JpbmQoc3RydWN0IHR0bV90dCAq dHRtLAogfQogCiAvKioKLSAqIGFtZGdwdV90dG1fYWxsb2NfZ2FydCAtIEFsbG9jYXRlIEdBUlQg bWVtb3J5IGZvciBidWZmZXIgb2JqZWN0CisgKiBET0M6IGFtZGdwdV90dG1fYWxsb2NfZ2FydAor ICoKKyAqIEFsbG9jYXRlIEdBUlQgbWVtb3J5IGZvciBidWZmZXIgb2JqZWN0CiAgKi8KIGludCBh bWRncHVfdHRtX2FsbG9jX2dhcnQoc3RydWN0IHR0bV9idWZmZXJfb2JqZWN0ICpibykKIHsKQEAg LTExMjksNyArMTE3NSw5IEBAIGludCBhbWRncHVfdHRtX2FsbG9jX2dhcnQoc3RydWN0IHR0bV9i dWZmZXJfb2JqZWN0ICpibykKIH0KIAogLyoqCi0gKiBhbWRncHVfdHRtX3JlY292ZXJfZ2FydCAt IFJlYmluZCBHVFQgcGFnZXMKKyAqIERPQzogYW1kZ3B1X3R0bV9yZWNvdmVyX2dhcnQKKyAqCisg KiBSZWJpbmQgR1RUIHBhZ2VzCiAgKgogICogQ2FsbGVkIGJ5IGFtZGdwdV9ndHRfbWdyX3JlY292 ZXIoKSBmcm9tIGFtZGdwdV9kZXZpY2VfcmVzZXQoKSB0bwogICogcmViaW5kIEdUVCBwYWdlcyBk dXJpbmcgYSBHUFUgcmVzZXQuCkBAIC0xMTUwLDcgKzExOTgsOSBAQCBpbnQgYW1kZ3B1X3R0bV9y ZWNvdmVyX2dhcnQoc3RydWN0IHR0bV9idWZmZXJfb2JqZWN0ICp0Ym8pCiB9CiAKIC8qKgotICog YW1kZ3B1X3R0bV9iYWNrZW5kX3VuYmluZCAtIFVuYmluZCBHVFQgbWFwcGVkIHBhZ2VzCisgKiBE T0M6IGFtZGdwdV90dG1fYmFja2VuZF91bmJpbmQKKyAqCisgKiBVbmJpbmQgR1RUIG1hcHBlZCBw YWdlcwogICoKICAqIENhbGxlZCBieSB0dG1fdHRfdW5iaW5kKCkgb24gYmVoYWxmIG9mIHR0bV9i b19tb3ZlX3R0bSgpIGFuZAogICogdHRtX3R0X2Rlc3Ryb3koKS4KQEAgLTExOTEsNyArMTI0MSw5 IEBAIHN0YXRpYyBzdHJ1Y3QgdHRtX2JhY2tlbmRfZnVuYyBhbWRncHVfYmFja2VuZF9mdW5jID0g ewogfTsKIAogLyoqCi0gKiBhbWRncHVfdHRtX3R0X2NyZWF0ZSAtIENyZWF0ZSBhIHR0bV90dCBv YmplY3QgZm9yIGEgZ2l2ZW4gQk8KKyAqIERPQzogYW1kZ3B1X3R0bV90dF9jcmVhdGUKKyAqCisg KiBDcmVhdGUgYSB0dG1fdHQgb2JqZWN0IGZvciBhIGdpdmVuIEJPCiAgKgogICogQGJvOiBUaGUg YnVmZmVyIG9iamVjdCB0byBjcmVhdGUgYSBHVFQgdHRtX3R0IG9iamVjdCBhcm91bmQKICAqCkBA IC0xMjIwLDcgKzEyNzIsOSBAQCBzdGF0aWMgc3RydWN0IHR0bV90dCAqYW1kZ3B1X3R0bV90dF9j cmVhdGUoc3RydWN0IHR0bV9idWZmZXJfb2JqZWN0ICpibywKIH0KIAogLyoqCi0gKiBhbWRncHVf dHRtX3R0X3BvcHVsYXRlIC0gTWFwIEdUVCBwYWdlcyB2aXNpYmxlIHRvIHRoZSBkZXZpY2UKKyAq IERPQzogYW1kZ3B1X3R0bV90dF9wb3B1bGF0ZQorICoKKyAqIE1hcCBHVFQgcGFnZXMgdmlzaWJs ZSB0byB0aGUgZGV2aWNlCiAgKgogICogTWFwIHRoZSBwYWdlcyBvZiBhIHR0bV90dCBvYmplY3Qg dG8gYW4gYWRkcmVzcyBzcGFjZSB2aXNpYmxlCiAgKiB0byB0aGUgdW5kZXJseWluZyBkZXZpY2Uu CkBAIC0xMjYzLDcgKzEzMTcsOSBAQCBzdGF0aWMgaW50IGFtZGdwdV90dG1fdHRfcG9wdWxhdGUo c3RydWN0IHR0bV90dCAqdHRtLAogfQogCiAvKioKLSAqIGFtZGdwdV90dG1fdHRfdW5wb3B1bGF0 ZSAtIHVubWFwIEdUVCBwYWdlcyBhbmQgdW5wb3B1bGF0ZSBwYWdlIGFycmF5cworICogRE9DOiBh bWRncHVfdHRtX3R0X3VucG9wdWxhdGUKKyAqCisgKiBVbm1hcCBHVFQgcGFnZXMgYW5kIHVucG9w dWxhdGUgcGFnZSBhcnJheXMKICAqCiAgKiBVbm1hcHMgcGFnZXMgb2YgYSB0dG1fdHQgb2JqZWN0 IGZyb20gdGhlIGRldmljZSBhZGRyZXNzIHNwYWNlIGFuZAogICogdW5wb3B1bGF0ZXMgdGhlIHBh Z2UgYXJyYXkgYmFja2luZyBpdC4KQEAgLTEyOTgsOCArMTM1NCw5IEBAIHN0YXRpYyB2b2lkIGFt ZGdwdV90dG1fdHRfdW5wb3B1bGF0ZShzdHJ1Y3QgdHRtX3R0ICp0dG0pCiB9CiAKIC8qKgotICog YW1kZ3B1X3R0bV90dF9zZXRfdXNlcnB0ciAtCUluaXRpYWxpemUgdXNlcnB0ciBHVFQgdHRtX3R0 Ci0gKiAJCQkJCQkJCWZvciB0aGUgY3VycmVudCB0YXNrCisgKiBET0M6IGFtZGdwdV90dG1fdHRf c2V0X3VzZXJwdHIKKyAqCisgKiBJbml0aWFsaXplIHVzZXJwdHIgR1RUIHR0bV90dCBmb3IgdGhl IGN1cnJlbnQgdGFzawogICoKICAqIEB0dG06IFRoZSB0dG1fdHQgb2JqZWN0IHRvIGJpbmQgdGhp cyB1c2VycHRyIG9iamVjdCB0bwogICogQGFkZHI6ICBUaGUgYWRkcmVzcyBpbiB0aGUgY3VycmVu dCB0YXNrcyBWTSBzcGFjZSB0byB1c2UKQEAgLTEzMjgsNyArMTM4NSw5IEBAIGludCBhbWRncHVf dHRtX3R0X3NldF91c2VycHRyKHN0cnVjdCB0dG1fdHQgKnR0bSwgdWludDY0X3QgYWRkciwKIH0K IAogLyoqCi0gKiBhbWRncHVfdHRtX3R0X2dldF91c2VybW0gLSBSZXR1cm4gbWVtb3J5IG1hbmFn ZXIgZm9yIHR0bV90dCBvYmplY3QKKyAqIERPQzogYW1kZ3B1X3R0bV90dF9nZXRfdXNlcm1tCisg KgorICogUmV0dXJuIG1lbW9yeSBtYW5hZ2VyIGZvciB0dG1fdHQgb2JqZWN0CiAgKi8KIHN0cnVj dCBtbV9zdHJ1Y3QgKmFtZGdwdV90dG1fdHRfZ2V0X3VzZXJtbShzdHJ1Y3QgdHRtX3R0ICp0dG0p CiB7CkBAIC0xMzQxLDkgKzE0MDAsMTAgQEAgc3RydWN0IG1tX3N0cnVjdCAqYW1kZ3B1X3R0bV90 dF9nZXRfdXNlcm1tKHN0cnVjdCB0dG1fdHQgKnR0bSkKIH0KIAogLyoqCi0gKiBhbWRncHVfdHRt X3R0X2FmZmVjdF91c2VycHRyIC0JRGV0ZXJtaW5lIGlmIGEgdHRtX3R0IG9iamVjdCBsYXlzCi0g KiAJCQkJCQkJCQlpbnNpZGUgYW4gYWRkcmVzcyByYW5nZSBmb3IgdGhlCi0gKiAJCQkJCQkJCQlj dXJyZW50IHRhc2suCisgKiBET0M6IGFtZGdwdV90dG1fdHRfYWZmZWN0X3VzZXJwdHIKKyAqCisg KiBEZXRlcm1pbmUgaWYgYSB0dG1fdHQgb2JqZWN0IGxheXMgaW5zaWRlIGFuIGFkZHJlc3MgcmFu Z2UgZm9yIHRoZQorICogY3VycmVudCB0YXNrLgogICoKICAqLwogYm9vbCBhbWRncHVfdHRtX3R0 X2FmZmVjdF91c2VycHRyKHN0cnVjdCB0dG1fdHQgKnR0bSwgdW5zaWduZWQgbG9uZyBzdGFydCwK QEAgLTEzODEsOCArMTQ0MSw5IEBAIGJvb2wgYW1kZ3B1X3R0bV90dF9hZmZlY3RfdXNlcnB0cihz dHJ1Y3QgdHRtX3R0ICp0dG0sIHVuc2lnbmVkIGxvbmcgc3RhcnQsCiB9CiAKIC8qKgotICogYW1k Z3B1X3R0bV90dF91c2VycHRyX2ludmFsaWRhdGVkIC0JSGFzIHRoZSB0dG1fdHQgb2JqZWN0IGJl ZW4KLSAqIAkJCQkJCQkJCQlpbnZhbGlkYXRlZD8KKyAqIERPQzogYW1kZ3B1X3R0bV90dF91c2Vy cHRyX2ludmFsaWRhdGVkCisgKgorICogSGFzIHRoZSB0dG1fdHQgb2JqZWN0IGJlZW4gaW52YWxp ZGF0ZWQ/CiAgKi8KIGJvb2wgYW1kZ3B1X3R0bV90dF91c2VycHRyX2ludmFsaWRhdGVkKHN0cnVj dCB0dG1fdHQgKnR0bSwKIAkJCQkgICAgICAgaW50ICpsYXN0X2ludmFsaWRhdGVkKQpAQCAtMTM5 NSwxMCArMTQ1NiwxMCBAQCBib29sIGFtZGdwdV90dG1fdHRfdXNlcnB0cl9pbnZhbGlkYXRlZChz dHJ1Y3QgdHRtX3R0ICp0dG0sCiB9CiAKIC8qKgotICogYW1kZ3B1X3R0bV90dF91c2VycHRyX25l ZWRzX3BhZ2VzIC0JSGF2ZSB0aGUgcGFnZXMgYmFja2luZyB0aGlzCi0gKiAJCQkJCQkJCQkJdHRt X3R0IG9iamVjdCBiZWVuIGludmFsaWRhdGVkCi0gKiAJCQkJCQkJCQkJc2luY2UgdGhlIGxhc3Qg dGltZSB0aGV5J3ZlCi0gKiAJCQkJCQkJCQkJYmVlbiBzZXQ/CisgKiBET0M6IGFtZGdwdV90dG1f dHRfdXNlcnB0cl9uZWVkc19wYWdlcworICoKKyAqIEhhdmUgdGhlIHBhZ2VzIGJhY2tpbmcgdGhp cyB0dG1fdHQgb2JqZWN0IGJlZW4gaW52YWxpZGF0ZWQKKyAqIHNpbmNlIHRoZSBsYXN0IHRpbWUg dGhleSd2ZSBiZWVuIHNldD8KICAqLwogYm9vbCBhbWRncHVfdHRtX3R0X3VzZXJwdHJfbmVlZHNf cGFnZXMoc3RydWN0IHR0bV90dCAqdHRtKQogewpAQCAtMTQxMSw3ICsxNDcyLDkgQEAgYm9vbCBh bWRncHVfdHRtX3R0X3VzZXJwdHJfbmVlZHNfcGFnZXMoc3RydWN0IHR0bV90dCAqdHRtKQogfQog CiAvKioKLSAqIGFtZGdwdV90dG1fdHRfaXNfcmVhZG9ubHkgLSBJcyB0aGUgdHRtX3R0IG9iamVj dCByZWFkIG9ubHk/CisgKiBET0M6IGFtZGdwdV90dG1fdHRfaXNfcmVhZG9ubHkKKyAqCisgKiBJ cyB0aGUgdHRtX3R0IG9iamVjdCByZWFkIG9ubHk/CiAgKi8KIGJvb2wgYW1kZ3B1X3R0bV90dF9p c19yZWFkb25seShzdHJ1Y3QgdHRtX3R0ICp0dG0pCiB7CkBAIC0xNDI0LDcgKzE0ODcsOSBAQCBi b29sIGFtZGdwdV90dG1fdHRfaXNfcmVhZG9ubHkoc3RydWN0IHR0bV90dCAqdHRtKQogfQogCiAv KioKLSAqIGFtZGdwdV90dG1fdHRfcHRlX2ZsYWdzIC0gQ29tcHV0ZSBQVEUgZmxhZ3MgZm9yIHR0 bV90dCBvYmplY3QKKyAqIERPQzogYW1kZ3B1X3R0bV90dF9wdGVfZmxhZ3MKKyAqCisgKiBDb21w dXRlIFBURSBmbGFncyBmb3IgdHRtX3R0IG9iamVjdAogICoKICAqIEB0dG06IFRoZSB0dG1fdHQg b2JqZWN0IHRvIGNvbXB1dGUgdGhlIGZsYWdzIGZvcgogICogQG1lbTogVGhlIG1lbW9yeSByZWdp c3RyeSBiYWNraW5nIHRoaXMgdHRtX3R0IG9iamVjdApAQCAtMTQ1NCw4ICsxNTE5LDkgQEAgdWlu dDY0X3QgYW1kZ3B1X3R0bV90dF9wdGVfZmxhZ3Moc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYs IHN0cnVjdCB0dG1fdHQgKnR0bSwKIH0KIAogLyoqCi0gKiBhbWRncHVfdHRtX2JvX2V2aWN0aW9u X3ZhbHVhYmxlIC0JQ2hlY2sgdG8gc2VlIGlmIHdlIGNhbiBldmljdAotICogCQkJCQkJCQkJCWEg YnVmZmVyIG9iamVjdC4KKyAqIERPQzogYW1kZ3B1X3R0bV9ib19ldmljdGlvbl92YWx1YWJsZQor ICoKKyAqIENoZWNrIHRvIHNlZSBpZiB3ZSBjYW4gZXZpY3QgYSBidWZmZXIgb2JqZWN0LgogICoK ICAqIFJldHVybiB0cnVlIGlmIGV2aWN0aW9uIGlzIHNlbnNpYmxlLiAgQ2FsbGVkIGJ5CiAgKiB0 dG1fbWVtX2V2aWN0X2ZpcnN0KCkgb24gYmVoYWxmIG9mIHR0bV9ib19tZW1fZm9yY2Vfc3BhY2Uo KQpAQCAtMTUxMCw4ICsxNTc2LDkgQEAgc3RhdGljIGJvb2wgYW1kZ3B1X3R0bV9ib19ldmljdGlv bl92YWx1YWJsZShzdHJ1Y3QgdHRtX2J1ZmZlcl9vYmplY3QgKmJvLAogfQogCiAvKioKLSAqIGFt ZGdwdV90dG1fYWNjZXNzX21lbW9yeSAtCVJlYWQgb3IgV3JpdGUgbWVtb3J5IHRoYXQgYmFja3Mg YQotICogCQkJCQkJCQlidWZmZXIgb2JqZWN0LgorICogRE9DOiBhbWRncHVfdHRtX2FjY2Vzc19t ZW1vcnkKKyAqCisgKiBSZWFkIG9yIFdyaXRlIG1lbW9yeSB0aGF0IGJhY2tzIGEgYnVmZmVyIG9i amVjdC4KICAqCiAgKiBAYm86ICBUaGUgYnVmZmVyIG9iamVjdCB0byByZWFkL3dyaXRlCiAgKiBA b2Zmc2V0OiAgT2Zmc2V0IGludG8gYnVmZmVyIG9iamVjdApAQCAtMTYwMiw3ICsxNjY5LDkgQEAg c3RhdGljIHN0cnVjdCB0dG1fYm9fZHJpdmVyIGFtZGdwdV9ib19kcml2ZXIgPSB7CiAgKiBGaXJt d2FyZSBSZXNlcnZhdGlvbiBmdW5jdGlvbnMKICAqLwogLyoqCi0gKiBhbWRncHVfdHRtX2Z3X3Jl c2VydmVfdnJhbV9maW5pIC0gZnJlZSBmdyByZXNlcnZlZCB2cmFtCisgKiBET0M6IGFtZGdwdV90 dG1fZndfcmVzZXJ2ZV92cmFtX2ZpbmkKKyAqCisgKiBmcmVlIGZ3IHJlc2VydmVkIHZyYW0KICAq CiAgKiBAYWRldjogYW1kZ3B1X2RldmljZSBwb2ludGVyCiAgKgpAQCAtMTYxNSw3ICsxNjg0LDkg QEAgc3RhdGljIHZvaWQgYW1kZ3B1X3R0bV9md19yZXNlcnZlX3ZyYW1fZmluaShzdHJ1Y3QgYW1k Z3B1X2RldmljZSAqYWRldikKIH0KIAogLyoqCi0gKiBhbWRncHVfdHRtX2Z3X3Jlc2VydmVfdnJh bV9pbml0IC0gY3JlYXRlIGJvIHZyYW0gcmVzZXJ2YXRpb24gZnJvbSBmdworICogRE9DOiBhbWRn cHVfdHRtX2Z3X3Jlc2VydmVfdnJhbV9pbml0CisgKgorICogY3JlYXRlIGJvIHZyYW0gcmVzZXJ2 YXRpb24gZnJvbSBmdwogICoKICAqIEBhZGV2OiBhbWRncHVfZGV2aWNlIHBvaW50ZXIKICAqCkBA IC0xNjk5LDggKzE3NzAsMTAgQEAgc3RhdGljIGludCBhbWRncHVfdHRtX2Z3X3Jlc2VydmVfdnJh bV9pbml0KHN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2KQogCXJldHVybiByOwogfQogLyoqCi0g KiBhbWRncHVfdHRtX2luaXQgLQlJbml0IHRoZSBtZW1vcnkgbWFuYWdlbWVudCAodHRtKSBhcyB3 ZWxsIGFzCi0gKiAJCQkJCQl2YXJpb3VzIGd0dC92cmFtIHJlbGF0ZWQgZmllbGRzLgorICogRE9D OiBhbWRncHVfdHRtX2luaXQKKyAqCisgKiBJbml0IHRoZSBtZW1vcnkgbWFuYWdlbWVudCAodHRt KSBhcyB3ZWxsIGFzIHZhcmlvdXMgZ3R0L3ZyYW0KKyAqIHJlbGF0ZWQgZmllbGRzLgogICoKICAq IFRoaXMgaW5pdGlhbGl6ZXMgYWxsIG9mIHRoZSBtZW1vcnkgc3BhY2UgcG9vbHMgdGhhdCB0aGUg VFRNIGxheWVyCiAgKiB3aWxsIG5lZWQgc3VjaCBhcyB0aGUgR1RUIHNwYWNlIChzeXN0ZW0gbWVt b3J5IG1hcHBlZCB0byB0aGUgZGV2aWNlKSwKQEAgLTE4NTEsOCArMTkyNCw5IEBAIGludCBhbWRn cHVfdHRtX2luaXQoc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYpCiB9CiAKIC8qKgotICogYW1k Z3B1X3R0bV9sYXRlX2luaXQgLQlIYW5kbGUgYW55IGxhdGUgaW5pdGlhbGl6YXRpb24gZm9yCi0g KiAJCQkJCQkJYW1kZ3B1X3R0bQorICogRE9DOiBhbWRncHVfdHRtX2xhdGVfaW5pdAorICoKKyAq IEhhbmRsZSBhbnkgbGF0ZSBpbml0aWFsaXphdGlvbiBmb3IgYW1kZ3B1X3R0bQogICovCiB2b2lk IGFtZGdwdV90dG1fbGF0ZV9pbml0KHN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2KQogewpAQCAt MTg2MSw3ICsxOTM1LDkgQEAgdm9pZCBhbWRncHVfdHRtX2xhdGVfaW5pdChzdHJ1Y3QgYW1kZ3B1 X2RldmljZSAqYWRldikKIH0KIAogLyoqCi0gKiBhbWRncHVfdHRtX2ZpbmkgLSBEZS1pbml0aWFs aXplIHRoZSBUVE0gbWVtb3J5IHBvb2xzCisgKiBET0M6IGFtZGdwdV90dG1fZmluaQorICoKKyAq IERlLWluaXRpYWxpemUgdGhlIFRUTSBtZW1vcnkgcG9vbHMKICAqLwogdm9pZCBhbWRncHVfdHRt X2Zpbmkoc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYpCiB7CkBAIC0xODg5LDcgKzE5NjUsOSBA QCB2b2lkIGFtZGdwdV90dG1fZmluaShzdHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRldikKIH0KIAog LyoqCi0gKiBhbWRncHVfdHRtX3NldF9idWZmZXJfZnVuY3Nfc3RhdHVzIC0gZW5hYmxlL2Rpc2Fi bGUgdXNlIG9mIGJ1ZmZlciBmdW5jdGlvbnMKKyAqIERPQzogYW1kZ3B1X3R0bV9zZXRfYnVmZmVy X2Z1bmNzX3N0YXR1cworICoKKyAqIGVuYWJsZS9kaXNhYmxlIHVzZSBvZiBidWZmZXIgZnVuY3Rp b25zCiAgKgogICogQGFkZXY6IGFtZGdwdV9kZXZpY2UgcG9pbnRlcgogICogQGVuYWJsZTogdHJ1 ZSB3aGVuIHdlIGNhbiB1c2UgYnVmZmVyIGZ1bmN0aW9ucy4KQEAgLTE5MTQsNiArMTk5MiwxMSBA QCB2b2lkIGFtZGdwdV90dG1fc2V0X2J1ZmZlcl9mdW5jc19zdGF0dXMoc3RydWN0IGFtZGdwdV9k ZXZpY2UgKmFkZXYsIGJvb2wgZW5hYmxlKQogCWFkZXYtPm1tYW4uYnVmZmVyX2Z1bmNzX2VuYWJs ZWQgPSBlbmFibGU7CiB9CiAKKy8qKgorICogRE9DOiBhbWRncHVfbW1hcAorICoKKyAqIFdyYXBw ZXIgdG8gaGFuZGxlIG1lbW9yeSBtYXBwaW5nIGJ1ZmZlciBvYmplY3RzIG93bmVkIGJ5IGFtZGdw dS4KKyAqLwogaW50IGFtZGdwdV9tbWFwKHN0cnVjdCBmaWxlICpmaWxwLCBzdHJ1Y3Qgdm1fYXJl YV9zdHJ1Y3QgKnZtYSkKIHsKIAlzdHJ1Y3QgZHJtX2ZpbGUgKmZpbGVfcHJpdjsKQEAgLTE5MzAs NiArMjAxMywxMyBAQCBpbnQgYW1kZ3B1X21tYXAoc3RydWN0IGZpbGUgKmZpbHAsIHN0cnVjdCB2 bV9hcmVhX3N0cnVjdCAqdm1hKQogCXJldHVybiB0dG1fYm9fbW1hcChmaWxwLCB2bWEsICZhZGV2 LT5tbWFuLmJkZXYpOwogfQogCisvKioKKyAqIERPQzogYW1kZ3B1X21hcF9idWZmZXIKKyAqCisg KiBNYXAgYSB3aW5kb3cgb2YgVFRNX1BMX1RUIG1lbW9yeSB0eXBlcyB0byBHVFQgc3BhY2UgaWYg dGhlIGJ1ZmZlcgorICogb2JqZWN0IGlzbid0IGFscmVhZHkgbWFwcGVkLiAgQ2FsbGVkIGJ5Cisg KiBhbWRncHVfdHRtX2NvcHlfbWVtX3RvX21lbSgpLgorICovCiBzdGF0aWMgaW50IGFtZGdwdV9t YXBfYnVmZmVyKHN0cnVjdCB0dG1fYnVmZmVyX29iamVjdCAqYm8sCiAJCQkgICAgIHN0cnVjdCB0 dG1fbWVtX3JlZyAqbWVtLCB1bnNpZ25lZCBudW1fcGFnZXMsCiAJCQkgICAgIHVpbnQ2NF90IG9m ZnNldCwgdW5zaWduZWQgd2luZG93LApAQCAtMTk5Niw2ICsyMDg2LDE3IEBAIHN0YXRpYyBpbnQg YW1kZ3B1X21hcF9idWZmZXIoc3RydWN0IHR0bV9idWZmZXJfb2JqZWN0ICpibywKIAlyZXR1cm4g cjsKIH0KIAorLyoqCisgKiBET0M6IGFtZGdwdV9jb3B5X2J1ZmZlcgorICoKKyAqIFVzZSB0aGUg U0RNQSB0byBwZXJmb3JtIGEgY29weSBmcm9tIG9uZSBvZmZzZXQgdG8gYW5vdGhlci4gIENhbGxl ZAorICogYnkgYW1kZ3B1X2NvcHlfdHRtX21lbV90b19tZW0oKSB0byBmaW5hbGx5IGNvcHkgd2lu ZG93cyBvZiBtZW1vcnkKKyAqIG9uY2UgdGhleSBhcmUgbWFwcGVkIGludG8gR1BVIHZpc2libGUg c3BhY2UuCisgKgorICogQWxzbyBjYWxsZWQgYnkgYW1kZ3B1X2JvX2JhY2t1cF90b19zaGFkb3co KSB0byBiYWNrdXAgYSBidWZmZXIKKyAqIG9iamVjdCB0byBzaGFkb3cgbWVtb3J5IGFuZCB2aWNl IHZlcnNhIHdpdGgKKyAqIGFtZGdwdV9ib19yZXN0b3JlX2Zyb21fc2hhZG93KCkuCisgKi8KIGlu dCBhbWRncHVfY29weV9idWZmZXIoc3RydWN0IGFtZGdwdV9yaW5nICpyaW5nLCB1aW50NjRfdCBz cmNfb2Zmc2V0LAogCQkgICAgICAgdWludDY0X3QgZHN0X29mZnNldCwgdWludDMyX3QgYnl0ZV9j b3VudCwKIAkJICAgICAgIHN0cnVjdCByZXNlcnZhdGlvbl9vYmplY3QgKnJlc3YsCkBAIC0yMDcy LDYgKzIxNzMsMTEgQEAgaW50IGFtZGdwdV9jb3B5X2J1ZmZlcihzdHJ1Y3QgYW1kZ3B1X3Jpbmcg KnJpbmcsIHVpbnQ2NF90IHNyY19vZmZzZXQsCiAJcmV0dXJuIHI7CiB9CiAKKy8qKgorICogRE9D OiBhbWRncHVfZmlsbF9idWZmZXIKKyAqCisgKiBFbWl0IGEgbGluZWFyIGZpbGwgb3BlcmF0aW9u LgorICovCiBpbnQgYW1kZ3B1X2ZpbGxfYnVmZmVyKHN0cnVjdCBhbWRncHVfYm8gKmJvLAogCQkg ICAgICAgdWludDMyX3Qgc3JjX2RhdGEsCiAJCSAgICAgICBzdHJ1Y3QgcmVzZXJ2YXRpb25fb2Jq ZWN0ICpyZXN2LApAQCAtMjE5MSw3ICsyMjk3LDkgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBkcm1f aW5mb19saXN0IGFtZGdwdV90dG1fZGVidWdmc19saXN0W10gPSB7CiB9OwogCiAvKioKLSAqIGFt ZGdwdV90dG1fdnJhbV9yZWFkIC0gTGluZWFyIHJlYWQgYWNjZXNzIHRvIFZSQU0KKyAqIERPQzog YW1kZ3B1X3R0bV92cmFtX3JlYWQKKyAqCisgKiBMaW5lYXIgcmVhZCBhY2Nlc3MgdG8gVlJBTQog ICoKICAqIEFjY2Vzc2VzIFZSQU0gdmlhIE1NSU8gZm9yIGRlYnVnZ2luZyBwdXJwb3Nlcy4KICAq LwpAQCAtMjIzNSw3ICsyMzQzLDkgQEAgc3RhdGljIHNzaXplX3QgYW1kZ3B1X3R0bV92cmFtX3Jl YWQoc3RydWN0IGZpbGUgKmYsIGNoYXIgX191c2VyICpidWYsCiB9CiAKIC8qKgotICogYW1kZ3B1 X3R0bV92cmFtX3dyaXRlIC0gTGluZWFyIHdyaXRlIGFjY2VzcyB0byBWUkFNCisgKiBET0M6IGFt ZGdwdV90dG1fdnJhbV93cml0ZQorICoKKyAqIExpbmVhciB3cml0ZSBhY2Nlc3MgdG8gVlJBTQog ICoKICAqIEFjY2Vzc2VzIFZSQU0gdmlhIE1NSU8gZm9yIGRlYnVnZ2luZyBwdXJwb3Nlcy4KICAq LwpAQCAtMjI4OCw3ICsyMzk4LDkgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBmaWxlX29wZXJhdGlv bnMgYW1kZ3B1X3R0bV92cmFtX2ZvcHMgPSB7CiAjaWZkZWYgQ09ORklHX0RSTV9BTURHUFVfR0FS VF9ERUJVR0ZTCiAKIC8qKgotICogYW1kZ3B1X3R0bV9ndHRfcmVhZCAtIExpbmVhciByZWFkIGFj Y2VzcyB0byBHVFQgbWVtb3J5CisgKiBET0M6IGFtZGdwdV90dG1fZ3R0X3JlYWQKKyAqCisgKiBM aW5lYXIgcmVhZCBhY2Nlc3MgdG8gR1RUIG1lbW9yeQogICovCiBzdGF0aWMgc3NpemVfdCBhbWRn cHVfdHRtX2d0dF9yZWFkKHN0cnVjdCBmaWxlICpmLCBjaGFyIF9fdXNlciAqYnVmLAogCQkJCSAg IHNpemVfdCBzaXplLCBsb2ZmX3QgKnBvcykKQEAgLTIzMzgsNyArMjQ1MCw5IEBAIHN0YXRpYyBj b25zdCBzdHJ1Y3QgZmlsZV9vcGVyYXRpb25zIGFtZGdwdV90dG1fZ3R0X2ZvcHMgPSB7CiAjZW5k aWYKIAogLyoqCi0gKiBhbWRncHVfaW9tZW1fcmVhZCAtIFZpcnR1YWwgcmVhZCBhY2Nlc3MgdG8g R1BVIG1hcHBlZCBtZW1vcnkKKyAqIERPQzogYW1kZ3B1X2lvbWVtX3JlYWQKKyAqCisgKiBWaXJ0 dWFsIHJlYWQgYWNjZXNzIHRvIEdQVSBtYXBwZWQgbWVtb3J5LgogICoKICAqIFRoaXMgZnVuY3Rp b24gaXMgdXNlZCB0byByZWFkIG1lbW9yeSB0aGF0IGhhcyBiZWVuIG1hcHBlZCB0byB0aGUKICAq IEdQVSBhbmQgdGhlIGtub3duIGFkZHJlc3NlcyBhcmUgbm90IHBoeXNpY2FsIGFkZHJlc3NlcyBi dXQgaW5zdGVhZApAQCAtMjM5NCw3ICsyNTA4LDkgQEAgc3RhdGljIHNzaXplX3QgYW1kZ3B1X2lv bWVtX3JlYWQoc3RydWN0IGZpbGUgKmYsIGNoYXIgX191c2VyICpidWYsCiB9CiAKIC8qKgotICog YW1kZ3B1X2lvbWVtX3dyaXRlIC0gVmlydHVhbCB3cml0ZSBhY2Nlc3MgdG8gR1BVIG1hcHBlZCBt ZW1vcnkKKyAqIERPQzogYW1kZ3B1X2lvbWVtX3dyaXRlCisgKgorICogVmlydHVhbCB3cml0ZSBh Y2Nlc3MgdG8gR1BVIG1hcHBlZCBtZW1vcnkuCiAgKgogICogVGhpcyBmdW5jdGlvbiBpcyB1c2Vk IHRvIHdyaXRlIG1lbW9yeSB0aGF0IGhhcyBiZWVuIG1hcHBlZCB0byB0aGUKICAqIEdQVSBhbmQg dGhlIGtub3duIGFkZHJlc3NlcyBhcmUgbm90IHBoeXNpY2FsIGFkZHJlc3NlcyBidXQgaW5zdGVh ZAotLSAKMi4xNC4zCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fXwphbWQtZ2Z4IG1haWxpbmcgbGlzdAphbWQtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpo dHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2FtZC1nZngK