From mboxrd@z Thu Jan 1 00:00:00 1970 From: Daniel Vetter Subject: [PATCH 9/9] drm/doc: Polish docs for drm_property&drm_property_blob Date: Wed, 17 Aug 2016 22:56:06 +0200 Message-ID: <1471467366-26444-9-git-send-email-daniel.vetter@ffwll.ch> References: <1471467366-26444-1-git-send-email-daniel.vetter@ffwll.ch> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-wm0-x243.google.com (mail-wm0-x243.google.com [IPv6:2a00:1450:400c:c09::243]) by gabe.freedesktop.org (Postfix) with ESMTPS id BB3426E93C for ; Wed, 17 Aug 2016 20:56:26 +0000 (UTC) Received: by mail-wm0-x243.google.com with SMTP id i5so993418wmg.2 for ; Wed, 17 Aug 2016 13:56:26 -0700 (PDT) In-Reply-To: <1471467366-26444-1-git-send-email-daniel.vetter@ffwll.ch> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: DRI Development Cc: Daniel Vetter , Intel Graphics Development , Daniel Vetter List-Id: dri-devel@lists.freedesktop.org LSByZW1vdmUga2VybmVsZG9jIGZvciBkcm0taW50ZXJuYWwgZnVuY3Rpb25zCi0gZHJtX3Byb3Bl cnR5X3JlcGxhY2VfZ2xvYmFsX2Jsb2IgaXNuJ3QgYWN0dWFsbHkgYXRvbWljLCBhbmQgZG9lc24n dAogIG5lZWQgdG8gYmUuIFVwZGF0ZSBkb2NzJmNvbW1lbnRzIHRvIG1hdGNoCi0gZG9jdW1lbnQg YWxsIHRoZSB0eXBlcyBhbmQgdHJ5IHRvIGxpbmsgdGhpbmdzIGEgYml0IGJldHRlcgotIG5pdHMg YWxsIG92ZXIKClNpZ25lZC1vZmYtYnk6IERhbmllbCBWZXR0ZXIgPGRhbmllbC52ZXR0ZXJAaW50 ZWwuY29tPgotLS0KIERvY3VtZW50YXRpb24vZ3B1L2RybS1rbXMucnN0ICB8ICA4OCArLS0tLS0t LS0tLS0tLS0tLS0KIGRyaXZlcnMvZ3B1L2RybS9kcm1fcHJvcGVydHkuYyB8IDE1MyArKysrKysr KysrKystLS0tLS0tLS0tLS0tLS0tLS0tLQogaW5jbHVkZS9kcm0vZHJtX3Byb3BlcnR5LmggICAg IHwgMTk2ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0tCiAzIGZpbGVz IGNoYW5nZWQsIDI0NCBpbnNlcnRpb25zKCspLCAxOTMgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0 IGEvRG9jdW1lbnRhdGlvbi9ncHUvZHJtLWttcy5yc3QgYi9Eb2N1bWVudGF0aW9uL2dwdS9kcm0t a21zLnJzdAppbmRleCBlMDdhMjY2N2FiNjEuLmY5YTk5MWJiODdkNCAxMDA2NDQKLS0tIGEvRG9j dW1lbnRhdGlvbi9ncHUvZHJtLWttcy5yc3QKKysrIGIvRG9jdW1lbnRhdGlvbi9ncHUvZHJtLWtt cy5yc3QKQEAgLTMwNCw5NCArMzA0LDEyIEBAIEtNUyBMb2NraW5nCiBLTVMgUHJvcGVydGllcwog PT09PT09PT09PT09PT0KIAotRHJpdmVycyBtYXkgbmVlZCB0byBleHBvc2UgYWRkaXRpb25hbCBw YXJhbWV0ZXJzIHRvIGFwcGxpY2F0aW9ucyB0aGFuCi10aG9zZSBkZXNjcmliZWQgaW4gdGhlIHBy ZXZpb3VzIHNlY3Rpb25zLiBLTVMgc3VwcG9ydHMgYXR0YWNoaW5nCi1wcm9wZXJ0aWVzIHRvIENS VENzLCBjb25uZWN0b3JzIGFuZCBwbGFuZXMgYW5kIG9mZmVycyBhIHVzZXJzcGFjZSBBUEkgdG8K LWxpc3QsIGdldCBhbmQgc2V0IHRoZSBwcm9wZXJ0eSB2YWx1ZXMuCi0KLVByb3BlcnRpZXMgYXJl IGlkZW50aWZpZWQgYnkgYSBuYW1lIHRoYXQgdW5pcXVlbHkgZGVmaW5lcyB0aGUgcHJvcGVydHkK LXB1cnBvc2UsIGFuZCBzdG9yZSBhbiBhc3NvY2lhdGVkIHZhbHVlLiBGb3IgYWxsIHByb3BlcnR5 IHR5cGVzIGV4Y2VwdAotYmxvYiBwcm9wZXJ0aWVzIHRoZSB2YWx1ZSBpcyBhIDY0LWJpdCB1bnNp Z25lZCBpbnRlZ2VyLgotCi1LTVMgZGlmZmVyZW50aWF0ZXMgYmV0d2VlbiBwcm9wZXJ0aWVzIGFu ZCBwcm9wZXJ0eSBpbnN0YW5jZXMuIERyaXZlcnMKLWZpcnN0IGNyZWF0ZSBwcm9wZXJ0aWVzIGFu ZCB0aGVuIGNyZWF0ZSBhbmQgYXNzb2NpYXRlIGluZGl2aWR1YWwKLWluc3RhbmNlcyBvZiB0aG9z ZSBwcm9wZXJ0aWVzIHRvIG9iamVjdHMuIEEgcHJvcGVydHkgY2FuIGJlIGluc3RhbnRpYXRlZAot bXVsdGlwbGUgdGltZXMgYW5kIGFzc29jaWF0ZWQgd2l0aCBkaWZmZXJlbnQgb2JqZWN0cy4gVmFs dWVzIGFyZSBzdG9yZWQKLWluIHByb3BlcnR5IGluc3RhbmNlcywgYW5kIGFsbCBvdGhlciBwcm9w ZXJ0eSBpbmZvcm1hdGlvbiBhcmUgc3RvcmVkIGluCi10aGUgcHJvcGVydHkgYW5kIHNoYXJlZCBi ZXR3ZWVuIGFsbCBpbnN0YW5jZXMgb2YgdGhlIHByb3BlcnR5LgotCi1FdmVyeSBwcm9wZXJ0eSBp cyBjcmVhdGVkIHdpdGggYSB0eXBlIHRoYXQgaW5mbHVlbmNlcyBob3cgdGhlIEtNUyBjb3JlCi1o YW5kbGVzIHRoZSBwcm9wZXJ0eS4gU3VwcG9ydGVkIHByb3BlcnR5IHR5cGVzIGFyZQotCi1EUk1f TU9ERV9QUk9QX1JBTkdFCi0gICAgUmFuZ2UgcHJvcGVydGllcyByZXBvcnQgdGhlaXIgbWluaW11 bSBhbmQgbWF4aW11bSBhZG1pc3NpYmxlIHZhbHVlcy4KLSAgICBUaGUgS01TIGNvcmUgdmVyaWZp ZXMgdGhhdCB2YWx1ZXMgc2V0IGJ5IGFwcGxpY2F0aW9uIGZpdCBpbiB0aGF0Ci0gICAgcmFuZ2Uu Ci0KLURSTV9NT0RFX1BST1BfRU5VTQotICAgIEVudW1lcmF0ZWQgcHJvcGVydGllcyB0YWtlIGEg bnVtZXJpY2FsIHZhbHVlIHRoYXQgcmFuZ2VzIGZyb20gMCB0bwotICAgIHRoZSBudW1iZXIgb2Yg ZW51bWVyYXRlZCB2YWx1ZXMgZGVmaW5lZCBieSB0aGUgcHJvcGVydHkgbWludXMgb25lLAotICAg IGFuZCBhc3NvY2lhdGUgYSBmcmVlLWZvcm1lZCBzdHJpbmcgbmFtZSB0byBlYWNoIHZhbHVlLiBB cHBsaWNhdGlvbnMKLSAgICBjYW4gcmV0cmlldmUgdGhlIGxpc3Qgb2YgZGVmaW5lZCB2YWx1ZS1u YW1lIHBhaXJzIGFuZCB1c2UgdGhlCi0gICAgbnVtZXJpY2FsIHZhbHVlIHRvIGdldCBhbmQgc2V0 IHByb3BlcnR5IGluc3RhbmNlIHZhbHVlcy4KLQotRFJNX01PREVfUFJPUF9CSVRNQVNLCi0gICAg Qml0bWFzayBwcm9wZXJ0aWVzIGFyZSBlbnVtZXJhdGlvbiBwcm9wZXJ0aWVzIHRoYXQgYWRkaXRp b25hbGx5Ci0gICAgcmVzdHJpY3QgYWxsIGVudW1lcmF0ZWQgdmFsdWVzIHRvIHRoZSAwLi42MyBy YW5nZS4gQml0bWFzayBwcm9wZXJ0eQotICAgIGluc3RhbmNlIHZhbHVlcyBjb21iaW5lIG9uZSBv ciBtb3JlIG9mIHRoZSBlbnVtZXJhdGVkIGJpdHMgZGVmaW5lZAotICAgIGJ5IHRoZSBwcm9wZXJ0 eS4KLQotRFJNX01PREVfUFJPUF9CTE9CCi0gICAgQmxvYiBwcm9wZXJ0aWVzIHN0b3JlIGEgYmlu YXJ5IGJsb2Igd2l0aG91dCBhbnkgZm9ybWF0IHJlc3RyaWN0aW9uLgotICAgIFRoZSBiaW5hcnkg YmxvYnMgYXJlIGNyZWF0ZWQgYXMgS01TIHN0YW5kYWxvbmUgb2JqZWN0cywgYW5kIGJsb2IKLSAg ICBwcm9wZXJ0eSBpbnN0YW5jZSB2YWx1ZXMgc3RvcmUgdGhlIElEIG9mIHRoZWlyIGFzc29jaWF0 ZWQgYmxvYgotICAgIG9iamVjdC4KLQotICAgIEJsb2IgcHJvcGVydGllcyBhcmUgb25seSB1c2Vk IGZvciB0aGUgY29ubmVjdG9yIEVESUQgcHJvcGVydHkgYW5kCi0gICAgY2Fubm90IGJlIGNyZWF0 ZWQgYnkgZHJpdmVycy4KLQotVG8gY3JlYXRlIGEgcHJvcGVydHkgZHJpdmVycyBjYWxsIG9uZSBv ZiB0aGUgZm9sbG93aW5nIGZ1bmN0aW9ucwotZGVwZW5kaW5nIG9uIHRoZSBwcm9wZXJ0eSB0eXBl LiBBbGwgcHJvcGVydHkgY3JlYXRpb24gZnVuY3Rpb25zIHRha2UKLXByb3BlcnR5IGZsYWdzIGFu ZCBuYW1lLCBhcyB3ZWxsIGFzIHR5cGUtc3BlY2lmaWMgYXJndW1lbnRzLgotCi0tICBzdHJ1Y3Qg ZHJtX3Byb3BlcnR5IFwqZHJtX3Byb3BlcnR5X2NyZWF0ZV9yYW5nZShzdHJ1Y3QKLSAgIGRybV9k ZXZpY2UgXCpkZXYsIGludCBmbGFncywgY29uc3QgY2hhciBcKm5hbWUsIHVpbnQ2NF90IG1pbiwK LSAgIHVpbnQ2NF90IG1heCk7Ci0gICBDcmVhdGUgYSByYW5nZSBwcm9wZXJ0eSB3aXRoIHRoZSBn aXZlbiBtaW5pbXVtIGFuZCBtYXhpbXVtIHZhbHVlcy4KLQotLSAgc3RydWN0IGRybV9wcm9wZXJ0 eSBcKmRybV9wcm9wZXJ0eV9jcmVhdGVfZW51bShzdHJ1Y3QgZHJtX2RldmljZQotICAgXCpkZXYs IGludCBmbGFncywgY29uc3QgY2hhciBcKm5hbWUsIGNvbnN0IHN0cnVjdAotICAgZHJtX3Byb3Bf ZW51bV9saXN0IFwqcHJvcHMsIGludCBudW1fdmFsdWVzKTsKLSAgIENyZWF0ZSBhbiBlbnVtZXJh dGVkIHByb3BlcnR5LiBUaGUgYGBwcm9wc2BgIGFyZ3VtZW50IHBvaW50cyB0byBhbgotICAgYXJy YXkgb2YgYGBudW1fdmFsdWVzYGAgdmFsdWUtbmFtZSBwYWlycy4KLQotLSAgc3RydWN0IGRybV9w cm9wZXJ0eSBcKmRybV9wcm9wZXJ0eV9jcmVhdGVfYml0bWFzayhzdHJ1Y3QKLSAgIGRybV9kZXZp Y2UgXCpkZXYsIGludCBmbGFncywgY29uc3QgY2hhciBcKm5hbWUsIGNvbnN0IHN0cnVjdAotICAg ZHJtX3Byb3BfZW51bV9saXN0IFwqcHJvcHMsIGludCBudW1fdmFsdWVzKTsKLSAgIENyZWF0ZSBh IGJpdG1hc2sgcHJvcGVydHkuIFRoZSBgYHByb3BzYGAgYXJndW1lbnQgcG9pbnRzIHRvIGFuIGFy cmF5Ci0gICBvZiBgYG51bV92YWx1ZXNgYCB2YWx1ZS1uYW1lIHBhaXJzLgotCi1Qcm9wZXJ0aWVz IGNhbiBhZGRpdGlvbmFsbHkgYmUgY3JlYXRlZCBhcyBpbW11dGFibGUsIGluIHdoaWNoIGNhc2Ug dGhleQotd2lsbCBiZSByZWFkLW9ubHkgZm9yIGFwcGxpY2F0aW9ucyBidXQgY2FuIGJlIG1vZGlm aWVkIGJ5IHRoZSBkcml2ZXIuIFRvCi1jcmVhdGUgYW4gaW1tdXRhYmxlIHByb3BlcnR5IGRyaXZl cnMgbXVzdCBzZXQgdGhlCi1EUk1fTU9ERV9QUk9QX0lNTVVUQUJMRSBmbGFnIGF0IHByb3BlcnR5 IGNyZWF0aW9uIHRpbWUuCi0KLVdoZW4gbm8gYXJyYXkgb2YgdmFsdWUtbmFtZSBwYWlycyBpcyBy ZWFkaWx5IGF2YWlsYWJsZSBhdCBwcm9wZXJ0eQotY3JlYXRpb24gdGltZSBmb3IgZW51bWVyYXRl ZCBvciByYW5nZSBwcm9wZXJ0aWVzLCBkcml2ZXJzIGNhbiBjcmVhdGUgdGhlCi1wcm9wZXJ0eSB1 c2luZyB0aGUgOmM6ZnVuYzpgZHJtX3Byb3BlcnR5X2NyZWF0ZSgpYCBmdW5jdGlvbiBhbmQKLW1h bnVhbGx5IGFkZCBlbnVtZXJhdGlvbiB2YWx1ZS1uYW1lIHBhaXJzIGJ5IGNhbGxpbmcgdGhlCi06 YzpmdW5jOmBkcm1fcHJvcGVydHlfYWRkX2VudW0oKWAgZnVuY3Rpb24uIENhcmUgbXVzdCBiZSB0 YWtlbiB0bwotcHJvcGVybHkgc3BlY2lmeSB0aGUgcHJvcGVydHkgdHlwZSB0aHJvdWdoIHRoZSBg YGZsYWdzYGAgYXJndW1lbnQuCi0KLUFmdGVyIGNyZWF0aW5nIHByb3BlcnRpZXMgZHJpdmVycyBj YW4gYXR0YWNoIHByb3BlcnR5IGluc3RhbmNlcyB0byBDUlRDLAotY29ubmVjdG9yIGFuZCBwbGFu ZSBvYmplY3RzIGJ5IGNhbGxpbmcgdGhlCi06YzpmdW5jOmBkcm1fb2JqZWN0X2F0dGFjaF9wcm9w ZXJ0eSgpYC4gVGhlIGZ1bmN0aW9uIHRha2VzIGEKLXBvaW50ZXIgdG8gdGhlIHRhcmdldCBvYmpl Y3QsIGEgcG9pbnRlciB0byB0aGUgcHJldmlvdXNseSBjcmVhdGVkCi1wcm9wZXJ0eSBhbmQgYW4g aW5pdGlhbCBpbnN0YW5jZSB2YWx1ZS4KLQogUHJvcGVydHkgVHlwZXMgYW5kIEJsb2IgUHJvcGVy dHkgU3VwcG9ydAogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogCisu LiBrZXJuZWwtZG9jOjogZHJpdmVycy9ncHUvZHJtL2RybV9wcm9wZXJ0eS5jCisgICA6ZG9jOiBv dmVydmlldworCiAuLiBrZXJuZWwtZG9jOjogaW5jbHVkZS9kcm0vZHJtX3Byb3BlcnR5LmgKICAg IDppbnRlcm5hbDoKIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2RybV9wcm9wZXJ0eS5j IGIvZHJpdmVycy9ncHUvZHJtL2RybV9wcm9wZXJ0eS5jCmluZGV4IGI1NTIxZjcwNWIxYy4uNDEz OWFmYmNjMjY3IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vZHJtX3Byb3BlcnR5LmMKKysr IGIvZHJpdmVycy9ncHUvZHJtL2RybV9wcm9wZXJ0eS5jCkBAIC0yNiw2ICsyNiwzMCBAQAogCiAj aW5jbHVkZSAiZHJtX2NydGNfaW50ZXJuYWwuaCIKIAorLyoqCisgKiBET0M6IG92ZXJ2aWV3Cisg KgorICogUHJvcGVydGllcyBhcyByZXByZXNlbnRlZCBieSAmZHJtX3Byb3BlcnR5IGFyZSB1c2Vk IHRvIGV4dGVuZCB0aGUgbW9kZXNldAorICogaW50ZXJmYWNlIGV4cG9zZWQgdG8gdXNlcnNwYWNl LiBGb3IgdGhlIGF0b21pYyBtb2Rlc2V0IElPQ1RMIHByb3BlcnRpZXMgYXJlCisgKiBldmVuIHRo ZSBvbmx5IHdheSB0byB0cmFuc3BvcnQgbWV0YWRhdGEgYWJvdXQgdGhlIGRlc2lyZWQgbmV3IG1v ZGVzZXQKKyAqIGNvbmZpZ3VyYXRpb24gZnJvbSB1c2Vyc3BhY2UgdG8gdGhlIGtlcm5lbC4gUHJv cGVydGllcyBoYXZlIGEgd2VsbC1kZWZpbmVkCisgKiB2YWx1ZSByYW5nZSwgd2hpY2ggaXMgZW5m b3JjZWQgYnkgdGhlIGRybSBjb3JlLiBTZWUgdGhlIGRvY3VtZW50YXRpb24gb2YgdGhlCisgKiBm bGFncyBtZW1iZXIgb2Ygc3RydWN0ICZkcm1fcHJvcGVydHkgZm9yIGFuIG92ZXJ2aWV3IG9mIHRo ZSBkaWZmZXJlbnQKKyAqIHByb3BlcnR5IHR5cGVzIGFuZCByYW5nZXMuCisgKgorICogUHJvcGVy dGllcyBkb24ndCBzdG9yZSB0aGUgY3VycmVudCB2YWx1ZSBkaXJlY3RseSwgYnV0IG5lZWQgdG8g YmUKKyAqIGluc3RhdGlhdGVkIGJ5IGF0dGFjaGluZyB0aGVtIHRvIGEgJmRybV9tb2RlX29iamVj dCB3aXRoCisgKiBkcm1fb2JqZWN0X2F0dGFjaF9wcm9wZXJ0eSgpLgorICoKKyAqIFByb3BlcnR5 IHZhbHVlcyBhcmUgb25seSA2NGJpdC4gVG8gc3VwcG9ydCBiaWdnZXIgcGlsZXMgb2YgZGF0YSAo bGlrZSBnYW1tYQorICogdGFibGVzLCBjb2xvciBjb3JyZWN0aW9uIG1hdHJpemVzIG9yIGxhcmdl IHN0cnVjdHVyZXMpIGEgcHJvcGVydHkgY2FuIGluc3RlYWQKKyAqIHBvaW50IGF0IGEgJmRybV9w cm9wZXJ0eV9ibG9iIHdpdGggdGhhdCBhZGRpdGlvbmFsIGRhdGEKKyAqCisgKiBQcm9wZXJ0aWVz IGFyZSBkZWZpbmVkIGJ5IHRoZWlyIHN5bWJvbGljIG5hbWUsIHVzZXJzcGFjZSBtdXN0IGtlZXAg YQorICogcGVyLW9iamVjdCBtYXBwaW5nIGZyb20gdGhvc2UgbmFtZXMgdG8gdGhlIHByb3BlcnR5 IElEIHVzZWQgaW4gdGhlIGF0b21pYworICogSU9DVEwgYW5kIGluIHRoZSBnZXQvc2V0IHByb3Bl cnR5IElPQ1RMLgorICovCisKIHN0YXRpYyBib29sIGRybV9wcm9wZXJ0eV90eXBlX3ZhbGlkKHN0 cnVjdCBkcm1fcHJvcGVydHkgKnByb3BlcnR5KQogewogCWlmIChwcm9wZXJ0eS0+ZmxhZ3MgJiBE Uk1fTU9ERV9QUk9QX0VYVEVOREVEX1RZUEUpCkBAIC00MiwxMSArNjYsOCBAQCBzdGF0aWMgYm9v bCBkcm1fcHJvcGVydHlfdHlwZV92YWxpZChzdHJ1Y3QgZHJtX3Byb3BlcnR5ICpwcm9wZXJ0eSkK ICAqCiAgKiBUaGlzIGNyZWF0ZXMgYSBuZXcgZ2VuZXJpYyBkcm0gcHJvcGVydHkgd2hpY2ggY2Fu IHRoZW4gYmUgYXR0YWNoZWQgdG8gYSBkcm0KICAqIG9iamVjdCB3aXRoIGRybV9vYmplY3RfYXR0 YWNoX3Byb3BlcnR5LiBUaGUgcmV0dXJuZWQgcHJvcGVydHkgb2JqZWN0IG11c3QgYmUKLSAqIGZy ZWVkIHdpdGggZHJtX3Byb3BlcnR5X2Rlc3Ryb3kuCi0gKgotICogTm90ZSB0aGF0IHRoZSBEUk0g Y29yZSBrZWVwcyBhIHBlci1kZXZpY2UgbGlzdCBvZiBwcm9wZXJ0aWVzIGFuZCB0aGF0LCBpZgot ICogZHJtX21vZGVfY29uZmlnX2NsZWFudXAoKSBpcyBjYWxsZWQsIGl0IHdpbGwgZGVzdHJveSBh bGwgcHJvcGVydGllcyBjcmVhdGVkCi0gKiBieSB0aGUgZHJpdmVyLgorICogZnJlZWQgd2l0aCBk cm1fcHJvcGVydHlfZGVzdHJveSgpLCB3aGljaCBpcyBkb25lIGF1dG9tYXRpY2FsbHkgd2hlbiBj YWxsaW5nCisgKiBkcm1fbW9kZV9jb25maWdfY2xlYW51cCgpLgogICoKICAqIFJldHVybnM6CiAg KiBBIHBvaW50ZXIgdG8gdGhlIG5ld2x5IGNyZWF0ZWQgcHJvcGVydHkgb24gc3VjY2VzcywgTlVM TCBvbiBmYWlsdXJlLgpAQCAtMTA1LDcgKzEyNiw4IEBAIEVYUE9SVF9TWU1CT0woZHJtX3Byb3Bl cnR5X2NyZWF0ZSk7CiAgKgogICogVGhpcyBjcmVhdGVzIGEgbmV3IGdlbmVyaWMgZHJtIHByb3Bl cnR5IHdoaWNoIGNhbiB0aGVuIGJlIGF0dGFjaGVkIHRvIGEgZHJtCiAgKiBvYmplY3Qgd2l0aCBk cm1fb2JqZWN0X2F0dGFjaF9wcm9wZXJ0eS4gVGhlIHJldHVybmVkIHByb3BlcnR5IG9iamVjdCBt dXN0IGJlCi0gKiBmcmVlZCB3aXRoIGRybV9wcm9wZXJ0eV9kZXN0cm95LgorICogZnJlZWQgd2l0 aCBkcm1fcHJvcGVydHlfZGVzdHJveSgpLCB3aGljaCBpcyBkb25lIGF1dG9tYXRpY2FsbHkgd2hl biBjYWxsaW5nCisgKiBkcm1fbW9kZV9jb25maWdfY2xlYW51cCgpLgogICoKICAqIFVzZXJzcGFj ZSBpcyBvbmx5IGFsbG93ZWQgdG8gc2V0IG9uZSBvZiB0aGUgcHJlZGVmaW5lZCB2YWx1ZXMgZm9y IGVudW1lcmF0aW9uCiAgKiBwcm9wZXJ0aWVzLgpAQCAtMTUyLDcgKzE3NCw4IEBAIEVYUE9SVF9T WU1CT0woZHJtX3Byb3BlcnR5X2NyZWF0ZV9lbnVtKTsKICAqCiAgKiBUaGlzIGNyZWF0ZXMgYSBu ZXcgYml0bWFzayBkcm0gcHJvcGVydHkgd2hpY2ggY2FuIHRoZW4gYmUgYXR0YWNoZWQgdG8gYSBk cm0KICAqIG9iamVjdCB3aXRoIGRybV9vYmplY3RfYXR0YWNoX3Byb3BlcnR5LiBUaGUgcmV0dXJu ZWQgcHJvcGVydHkgb2JqZWN0IG11c3QgYmUKLSAqIGZyZWVkIHdpdGggZHJtX3Byb3BlcnR5X2Rl c3Ryb3kuCisgKiBmcmVlZCB3aXRoIGRybV9wcm9wZXJ0eV9kZXN0cm95KCksIHdoaWNoIGlzIGRv bmUgYXV0b21hdGljYWxseSB3aGVuIGNhbGxpbmcKKyAqIGRybV9tb2RlX2NvbmZpZ19jbGVhbnVw KCkuCiAgKgogICogQ29tcGFyZWQgdG8gcGxhaW4gZW51bWVyYXRpb24gcHJvcGVydGllcyB1c2Vy c3BhY2UgaXMgYWxsb3dlZCB0byBzZXQgYW55CiAgKiBvcidlZCB0b2dldGhlciBjb21iaW5hdGlv biBvZiB0aGUgcHJlZGVmaW5lZCBwcm9wZXJ0eSBiaXRmbGFnIHZhbHVlcwpAQCAtMjIzLDcgKzI0 Niw4IEBAIHN0YXRpYyBzdHJ1Y3QgZHJtX3Byb3BlcnR5ICpwcm9wZXJ0eV9jcmVhdGVfcmFuZ2Uo c3RydWN0IGRybV9kZXZpY2UgKmRldiwKICAqCiAgKiBUaGlzIGNyZWF0ZXMgYSBuZXcgZ2VuZXJp YyBkcm0gcHJvcGVydHkgd2hpY2ggY2FuIHRoZW4gYmUgYXR0YWNoZWQgdG8gYSBkcm0KICAqIG9i amVjdCB3aXRoIGRybV9vYmplY3RfYXR0YWNoX3Byb3BlcnR5LiBUaGUgcmV0dXJuZWQgcHJvcGVy dHkgb2JqZWN0IG11c3QgYmUKLSAqIGZyZWVkIHdpdGggZHJtX3Byb3BlcnR5X2Rlc3Ryb3kuCisg KiBmcmVlZCB3aXRoIGRybV9wcm9wZXJ0eV9kZXN0cm95KCksIHdoaWNoIGlzIGRvbmUgYXV0b21h dGljYWxseSB3aGVuIGNhbGxpbmcKKyAqIGRybV9tb2RlX2NvbmZpZ19jbGVhbnVwKCkuCiAgKgog ICogVXNlcnNwYWNlIGlzIGFsbG93ZWQgdG8gc2V0IGFueSB1bnNpZ25lZCBpbnRlZ2VyIHZhbHVl IGluIHRoZSAobWluLCBtYXgpCiAgKiByYW5nZSBpbmNsdXNpdmUuCkBAIC0yNTAsNyArMjc0LDgg QEAgRVhQT1JUX1NZTUJPTChkcm1fcHJvcGVydHlfY3JlYXRlX3JhbmdlKTsKICAqCiAgKiBUaGlz IGNyZWF0ZXMgYSBuZXcgZ2VuZXJpYyBkcm0gcHJvcGVydHkgd2hpY2ggY2FuIHRoZW4gYmUgYXR0 YWNoZWQgdG8gYSBkcm0KICAqIG9iamVjdCB3aXRoIGRybV9vYmplY3RfYXR0YWNoX3Byb3BlcnR5 LiBUaGUgcmV0dXJuZWQgcHJvcGVydHkgb2JqZWN0IG11c3QgYmUKLSAqIGZyZWVkIHdpdGggZHJt X3Byb3BlcnR5X2Rlc3Ryb3kuCisgKiBmcmVlZCB3aXRoIGRybV9wcm9wZXJ0eV9kZXN0cm95KCks IHdoaWNoIGlzIGRvbmUgYXV0b21hdGljYWxseSB3aGVuIGNhbGxpbmcKKyAqIGRybV9tb2RlX2Nv bmZpZ19jbGVhbnVwKCkuCiAgKgogICogVXNlcnNwYWNlIGlzIGFsbG93ZWQgdG8gc2V0IGFueSBz aWduZWQgaW50ZWdlciB2YWx1ZSBpbiB0aGUgKG1pbiwgbWF4KQogICogcmFuZ2UgaW5jbHVzaXZl LgpAQCAtMjc2LDcgKzMwMSw4IEBAIEVYUE9SVF9TWU1CT0woZHJtX3Byb3BlcnR5X2NyZWF0ZV9z aWduZWRfcmFuZ2UpOwogICoKICAqIFRoaXMgY3JlYXRlcyBhIG5ldyBnZW5lcmljIGRybSBwcm9w ZXJ0eSB3aGljaCBjYW4gdGhlbiBiZSBhdHRhY2hlZCB0byBhIGRybQogICogb2JqZWN0IHdpdGgg ZHJtX29iamVjdF9hdHRhY2hfcHJvcGVydHkuIFRoZSByZXR1cm5lZCBwcm9wZXJ0eSBvYmplY3Qg bXVzdCBiZQotICogZnJlZWQgd2l0aCBkcm1fcHJvcGVydHlfZGVzdHJveS4KKyAqIGZyZWVkIHdp dGggZHJtX3Byb3BlcnR5X2Rlc3Ryb3koKSwgd2hpY2ggaXMgZG9uZSBhdXRvbWF0aWNhbGx5IHdo ZW4gY2FsbGluZworICogZHJtX21vZGVfY29uZmlnX2NsZWFudXAoKS4KICAqCiAgKiBVc2Vyc3Bh Y2UgaXMgb25seSBhbGxvd2VkIHRvIHNldCB0aGlzIHRvIGFueSBwcm9wZXJ0eSB2YWx1ZSBvZiB0 aGUgZ2l2ZW4KICAqIEB0eXBlLiBPbmx5IHVzZWZ1bCBmb3IgYXRvbWljIHByb3BlcnRpZXMsIHdo aWNoIGlzIGVuZm9yY2VkLgpAQCAtMjg1LDcgKzMxMSw4IEBAIEVYUE9SVF9TWU1CT0woZHJtX3By b3BlcnR5X2NyZWF0ZV9zaWduZWRfcmFuZ2UpOwogICogQSBwb2ludGVyIHRvIHRoZSBuZXdseSBj cmVhdGVkIHByb3BlcnR5IG9uIHN1Y2Nlc3MsIE5VTEwgb24gZmFpbHVyZS4KICAqLwogc3RydWN0 IGRybV9wcm9wZXJ0eSAqZHJtX3Byb3BlcnR5X2NyZWF0ZV9vYmplY3Qoc3RydWN0IGRybV9kZXZp Y2UgKmRldiwKLQkJCQkJIGludCBmbGFncywgY29uc3QgY2hhciAqbmFtZSwgdWludDMyX3QgdHlw ZSkKKwkJCQkJCWludCBmbGFncywgY29uc3QgY2hhciAqbmFtZSwKKwkJCQkJCXVpbnQzMl90IHR5 cGUpCiB7CiAJc3RydWN0IGRybV9wcm9wZXJ0eSAqcHJvcGVydHk7CiAKQEAgLTMxMiw3ICszMzks OCBAQCBFWFBPUlRfU1lNQk9MKGRybV9wcm9wZXJ0eV9jcmVhdGVfb2JqZWN0KTsKICAqCiAgKiBU aGlzIGNyZWF0ZXMgYSBuZXcgZ2VuZXJpYyBkcm0gcHJvcGVydHkgd2hpY2ggY2FuIHRoZW4gYmUg YXR0YWNoZWQgdG8gYSBkcm0KICAqIG9iamVjdCB3aXRoIGRybV9vYmplY3RfYXR0YWNoX3Byb3Bl cnR5LiBUaGUgcmV0dXJuZWQgcHJvcGVydHkgb2JqZWN0IG11c3QgYmUKLSAqIGZyZWVkIHdpdGgg ZHJtX3Byb3BlcnR5X2Rlc3Ryb3kuCisgKiBmcmVlZCB3aXRoIGRybV9wcm9wZXJ0eV9kZXN0cm95 KCksIHdoaWNoIGlzIGRvbmUgYXV0b21hdGljYWxseSB3aGVuIGNhbGxpbmcKKyAqIGRybV9tb2Rl X2NvbmZpZ19jbGVhbnVwKCkuCiAgKgogICogVGhpcyBpcyBpbXBsZW1lbnRlZCBhcyBhIHJhbmdl ZCBwcm9wZXJ0eSB3aXRoIG9ubHkgezAsIDF9IGFzIHZhbGlkIHZhbHVlcy4KICAqCkBAIC0zMjAs NyArMzQ4LDcgQEAgRVhQT1JUX1NZTUJPTChkcm1fcHJvcGVydHlfY3JlYXRlX29iamVjdCk7CiAg KiBBIHBvaW50ZXIgdG8gdGhlIG5ld2x5IGNyZWF0ZWQgcHJvcGVydHkgb24gc3VjY2VzcywgTlVM TCBvbiBmYWlsdXJlLgogICovCiBzdHJ1Y3QgZHJtX3Byb3BlcnR5ICpkcm1fcHJvcGVydHlfY3Jl YXRlX2Jvb2woc3RydWN0IGRybV9kZXZpY2UgKmRldiwgaW50IGZsYWdzLAotCQkJCQkgY29uc3Qg Y2hhciAqbmFtZSkKKwkJCQkJICAgICAgY29uc3QgY2hhciAqbmFtZSkKIHsKIAlyZXR1cm4gZHJt X3Byb3BlcnR5X2NyZWF0ZV9yYW5nZShkZXYsIGZsYWdzLCBuYW1lLCAwLCAxKTsKIH0KQEAgLTQw NywyMiArNDM1LDYgQEAgdm9pZCBkcm1fcHJvcGVydHlfZGVzdHJveShzdHJ1Y3QgZHJtX2Rldmlj ZSAqZGV2LCBzdHJ1Y3QgZHJtX3Byb3BlcnR5ICpwcm9wZXJ0eSkKIH0KIEVYUE9SVF9TWU1CT0wo ZHJtX3Byb3BlcnR5X2Rlc3Ryb3kpOwogCi0vKioKLSAqIGRybV9tb2RlX2dldHByb3BlcnR5X2lv Y3RsIC0gZ2V0IHRoZSBwcm9wZXJ0eSBtZXRhZGF0YQotICogQGRldjogRFJNIGRldmljZQotICog QGRhdGE6IGlvY3RsIGRhdGEKLSAqIEBmaWxlX3ByaXY6IERSTSBmaWxlIGluZm8KLSAqCi0gKiBU aGlzIGZ1bmN0aW9uIHJldHJpZXZlcyB0aGUgbWV0YWRhdGEgZm9yIGEgZ2l2ZW4gcHJvcGVydHks IGxpa2UgdGhlIGRpZmZlcmVudAotICogcG9zc2libGUgdmFsdWVzIGZvciBhbiBlbnVtIHByb3Bl cnR5IG9yIHRoZSBsaW1pdHMgZm9yIGEgcmFuZ2UgcHJvcGVydHkuCi0gKgotICogQmxvYiBwcm9w ZXJ0aWVzIGFyZSBzcGVjaWFsCi0gKgotICogQ2FsbGVkIGJ5IHRoZSB1c2VyIHZpYSBpb2N0bC4K LSAqCi0gKiBSZXR1cm5zOgotICogWmVybyBvbiBzdWNjZXNzLCBuZWdhdGl2ZSBlcnJubyBvbiBm YWlsdXJlLgotICovCiBpbnQgZHJtX21vZGVfZ2V0cHJvcGVydHlfaW9jdGwoc3RydWN0IGRybV9k ZXZpY2UgKmRldiwKIAkJCSAgICAgICB2b2lkICpkYXRhLCBzdHJ1Y3QgZHJtX2ZpbGUgKmZpbGVf cHJpdikKIHsKQEAgLTUyMywxNCArNTM1LDE0IEBAIHN0YXRpYyB2b2lkIGRybV9wcm9wZXJ0eV9m cmVlX2Jsb2Ioc3RydWN0IGtyZWYgKmtyZWYpCiAKIC8qKgogICogZHJtX3Byb3BlcnR5X2NyZWF0 ZV9ibG9iIC0gQ3JlYXRlIG5ldyBibG9iIHByb3BlcnR5Ci0gKgotICogQ3JlYXRlcyBhIG5ldyBi bG9iIHByb3BlcnR5IGZvciBhIHNwZWNpZmllZCBEUk0gZGV2aWNlLCBvcHRpb25hbGx5Ci0gKiBj b3B5aW5nIGRhdGEuCi0gKgogICogQGRldjogRFJNIGRldmljZSB0byBjcmVhdGUgcHJvcGVydHkg Zm9yCiAgKiBAbGVuZ3RoOiBMZW5ndGggdG8gYWxsb2NhdGUgZm9yIGJsb2IgZGF0YQogICogQGRh dGE6IElmIHNwZWNpZmllZCwgY29waWVzIGRhdGEgaW50byBibG9iCiAgKgorICogQ3JlYXRlcyBh IG5ldyBibG9iIHByb3BlcnR5IGZvciBhIHNwZWNpZmllZCBEUk0gZGV2aWNlLCBvcHRpb25hbGx5 CisgKiBjb3B5aW5nIGRhdGEuIE5vdGUgdGhhdCBibG9iIHByb3BlcnRpZXMgYXJlIG1lYW50IHRv IGJlIGludmFyaWFudCwgaGVuY2UgdGhlCisgKiBkYXRhIG11c3QgYmUgZmlsbGVkIG91dCBiZWZv cmUgdGhlIGJsb2IgaXMgdXNlZCBhcyB0aGUgdmFsdWUgb2YgYW55IHByb3BlcnR5LgorICoKICAq IFJldHVybnM6CiAgKiBOZXcgYmxvYiBwcm9wZXJ0eSB3aXRoIGEgc2luZ2xlIHJlZmVyZW5jZSBv biBzdWNjZXNzLCBvciBhbiBFUlJfUFRSCiAgKiB2YWx1ZSBvbiBmYWlsdXJlLgpAQCAtNTc2LDEw ICs1ODgsOSBAQCBFWFBPUlRfU1lNQk9MKGRybV9wcm9wZXJ0eV9jcmVhdGVfYmxvYik7CiAKIC8q KgogICogZHJtX3Byb3BlcnR5X3VucmVmZXJlbmNlX2Jsb2IgLSBVbnJlZmVyZW5jZSBhIGJsb2Ig cHJvcGVydHkKKyAqIEBibG9iOiBQb2ludGVyIHRvIGJsb2IgcHJvcGVydHkKICAqCiAgKiBEcm9w IGEgcmVmZXJlbmNlIG9uIGEgYmxvYiBwcm9wZXJ0eS4gTWF5IGZyZWUgdGhlIG9iamVjdC4KLSAq Ci0gKiBAYmxvYjogUG9pbnRlciB0byBibG9iIHByb3BlcnR5CiAgKi8KIHZvaWQgZHJtX3Byb3Bl cnR5X3VucmVmZXJlbmNlX2Jsb2Ioc3RydWN0IGRybV9wcm9wZXJ0eV9ibG9iICpibG9iKQogewpA QCAtNTkwLDExICs2MDEsNiBAQCB2b2lkIGRybV9wcm9wZXJ0eV91bnJlZmVyZW5jZV9ibG9iKHN0 cnVjdCBkcm1fcHJvcGVydHlfYmxvYiAqYmxvYikKIH0KIEVYUE9SVF9TWU1CT0woZHJtX3Byb3Bl cnR5X3VucmVmZXJlbmNlX2Jsb2IpOwogCi0vKioKLSAqIGRybV9wcm9wZXJ0eV9kZXN0cm95X3Vz ZXJfYmxvYnMgLSBkZXN0cm95IGFsbCBibG9icyBjcmVhdGVkIGJ5IHRoaXMgY2xpZW50Ci0gKiBA ZGV2OiAgICAgICBEUk0gZGV2aWNlCi0gKiBAZmlsZV9wcml2OiBkZXN0cm95IGFsbCBibG9icyBv d25lZCBieSB0aGlzIGZpbGUgaGFuZGxlCi0gKi8KIHZvaWQgZHJtX3Byb3BlcnR5X2Rlc3Ryb3lf dXNlcl9ibG9icyhzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAogCQkJCSAgICAgc3RydWN0IGRybV9m aWxlICpmaWxlX3ByaXYpCiB7CkBAIC02MTIsMTAgKzYxOCwxMCBAQCB2b2lkIGRybV9wcm9wZXJ0 eV9kZXN0cm95X3VzZXJfYmxvYnMoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKIAogLyoqCiAgKiBk cm1fcHJvcGVydHlfcmVmZXJlbmNlX2Jsb2IgLSBUYWtlIGEgcmVmZXJlbmNlIG9uIGFuIGV4aXN0 aW5nIHByb3BlcnR5Ci0gKgotICogVGFrZSBhIG5ldyByZWZlcmVuY2Ugb24gYW4gZXhpc3Rpbmcg YmxvYiBwcm9wZXJ0eS4KLSAqCiAgKiBAYmxvYjogUG9pbnRlciB0byBibG9iIHByb3BlcnR5Cisg KgorICogVGFrZSBhIG5ldyByZWZlcmVuY2Ugb24gYW4gZXhpc3RpbmcgYmxvYiBwcm9wZXJ0eS4g UmV0dXJucyBAYmxvYiwgd2hpY2gKKyAqIGFsbG93cyB0aGlzIHRvIGJlIHVzZWQgYXMgYSBzaG9y dGhhbmQgaW4gYXNzaWdubWVudHMuCiAgKi8KIHN0cnVjdCBkcm1fcHJvcGVydHlfYmxvYiAqZHJt X3Byb3BlcnR5X3JlZmVyZW5jZV9ibG9iKHN0cnVjdCBkcm1fcHJvcGVydHlfYmxvYiAqYmxvYikK IHsKQEAgLTYzMiw2ICs2MzgsOSBAQCBFWFBPUlRfU1lNQk9MKGRybV9wcm9wZXJ0eV9yZWZlcmVu Y2VfYmxvYik7CiAgKiBJZiBzdWNjZXNzZnVsLCB0aGlzIHRha2VzIGFuIGFkZGl0aW9uYWwgcmVm ZXJlbmNlIHRvIHRoZSBibG9iIHByb3BlcnR5LgogICogY2FsbGVycyBuZWVkIHRvIG1ha2Ugc3Vy ZSB0byBldmVudHVhbGx5IHVucmVmZXJlbmNlIHRoZSByZXR1cm5lZCBwcm9wZXJ0eQogICogYWdh aW4sIHVzaW5nIEBkcm1fcHJvcGVydHlfdW5yZWZlcmVuY2VfYmxvYi4KKyAqCisgKiBSZXR1cm46 CisgKiBOVUxMIG9uIGZhaWx1cmUsIHBvaW50ZXIgdG8gdGhlIGJsb2Igb24gc3VjY2Vzcy4KICAq Lwogc3RydWN0IGRybV9wcm9wZXJ0eV9ibG9iICpkcm1fcHJvcGVydHlfbG9va3VwX2Jsb2Ioc3Ry dWN0IGRybV9kZXZpY2UgKmRldiwKIAkJCQkJICAgICAgICAgICB1aW50MzJfdCBpZCkKQEAgLTY0 Nyw3ICs2NTYsNyBAQCBzdHJ1Y3QgZHJtX3Byb3BlcnR5X2Jsb2IgKmRybV9wcm9wZXJ0eV9sb29r dXBfYmxvYihzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAogRVhQT1JUX1NZTUJPTChkcm1fcHJvcGVy dHlfbG9va3VwX2Jsb2IpOwogCiAvKioKLSAqIGRybV9wcm9wZXJ0eV9yZXBsYWNlX2dsb2JhbF9i bG9iIC0gYXRvbWljYWxseSByZXBsYWNlIGV4aXN0aW5nIGJsb2IgcHJvcGVydHkKKyAqIGRybV9w cm9wZXJ0eV9yZXBsYWNlX2dsb2JhbF9ibG9iIC0gcmVwbGFjZSBleGlzdGluZyBibG9iIHByb3Bl cnR5CiAgKiBAZGV2OiBkcm0gZGV2aWNlCiAgKiBAcmVwbGFjZTogbG9jYXRpb24gb2YgYmxvYiBw cm9wZXJ0eSBwb2ludGVyIHRvIGJlIHJlcGxhY2VkCiAgKiBAbGVuZ3RoOiBsZW5ndGggb2YgZGF0 YSBmb3IgbmV3IGJsb2IsIG9yIDAgZm9yIG5vIGRhdGEKQEAgLTY1NiwxMSArNjY1LDggQEAgRVhQ T1JUX1NZTUJPTChkcm1fcHJvcGVydHlfbG9va3VwX2Jsb2IpOwogICogQHByb3BfaG9sZHNfaWQ6 IG9wdGlvbmFsIHByb3BlcnR5IGhvbGRpbmcgYmxvYiBJRAogICogQHJldHVybiAwIG9uIHN1Y2Nl c3Mgb3IgZXJyb3Igb24gZmFpbHVyZQogICoKLSAqIFRoaXMgZnVuY3Rpb24gd2lsbCBhdG9taWNh bGx5IHJlcGxhY2UgYSBnbG9iYWwgcHJvcGVydHkgaW4gdGhlIGJsb2IgbGlzdCwKLSAqIG9wdGlv bmFsbHkgdXBkYXRpbmcgYSBwcm9wZXJ0eSB3aGljaCBob2xkcyB0aGUgSUQgb2YgdGhhdCBwcm9w ZXJ0eS4gSXQgaXMKLSAqIGd1YXJhbnRlZWQgdG8gYmUgYXRvbWljOiBubyBjYWxsZXIgd2lsbCBi ZSBhbGxvd2VkIHRvIHNlZSBpbnRlcm1lZGlhdGUKLSAqIHJlc3VsdHMsIGFuZCBlaXRoZXIgdGhl IGVudGlyZSBvcGVyYXRpb24gd2lsbCBzdWNjZWVkIGFuZCBjbGVhbiB1cCB0aGUKLSAqIHByZXZp b3VzIHByb3BlcnR5LCBvciBpdCB3aWxsIGZhaWwgYW5kIHRoZSBzdGF0ZSB3aWxsIGJlIHVuY2hh bmdlZC4KKyAqIFRoaXMgZnVuY3Rpb24gd2lsbCByZXBsYWNlIGEgZ2xvYmFsIHByb3BlcnR5IGlu IHRoZSBibG9iIGxpc3QsIG9wdGlvbmFsbHkKKyAqIHVwZGF0aW5nIGEgcHJvcGVydHkgd2hpY2gg aG9sZHMgdGhlIElEIG9mIHRoYXQgcHJvcGVydHkuCiAgKgogICogSWYgbGVuZ3RoIGlzIDAgb3Ig ZGF0YSBpcyBOVUxMLCBubyBuZXcgYmxvYiB3aWxsIGJlIGNyZWF0ZWQsIGFuZCB0aGUgaG9sZGlu ZwogICogcHJvcGVydHksIGlmIHNwZWNpZmllZCwgd2lsbCBiZSBzZXQgdG8gMC4KQEAgLTY5Nywx MSArNzAzLDYgQEAgaW50IGRybV9wcm9wZXJ0eV9yZXBsYWNlX2dsb2JhbF9ibG9iKHN0cnVjdCBk cm1fZGV2aWNlICpkZXYsCiAJCQlyZXR1cm4gUFRSX0VSUihuZXdfYmxvYik7CiAJfQogCi0JLyog VGhpcyBkb2VzIG5vdCBuZWVkIHRvIGJlIHN5bmNocm9uaXNlZCB3aXRoIGJsb2JfbG9jaywgYXMg dGhlCi0JICogZ2V0X3Byb3BlcnRpZXMgaW9jdGwgbG9ja3MgYWxsIG1vZGVzZXR0aW5nIG9iamVj dHMsIGFuZAotCSAqIG9ial9ob2xkc19pZCBtdXN0IGJlIGxvY2tlZCBiZWZvcmUgY2FsbGluZyBo ZXJlLCBzbyB3ZSBjYW5ub3QKLQkgKiBoYXZlIGl0cyB2YWx1ZSBvdXQgb2Ygc3luYyB3aXRoIHRo ZSBsaXN0IG1lbWJlcnNoaXAgbW9kaWZpZWQKLQkgKiBiZWxvdyB1bmRlciBibG9iX2xvY2suICov CiAJaWYgKG9ial9ob2xkc19pZCkgewogCQlyZXQgPSBkcm1fb2JqZWN0X3Byb3BlcnR5X3NldF92 YWx1ZShvYmpfaG9sZHNfaWQsCiAJCQkJCQkgICAgcHJvcF9ob2xkc19pZCwKQEAgLTcyMiwyMCAr NzIzLDYgQEAgZXJyX2NyZWF0ZWQ6CiB9CiBFWFBPUlRfU1lNQk9MKGRybV9wcm9wZXJ0eV9yZXBs YWNlX2dsb2JhbF9ibG9iKTsKIAotLyoqCi0gKiBkcm1fbW9kZV9nZXRibG9iX2lvY3RsIC0gZ2V0 IHRoZSBjb250ZW50cyBvZiBhIGJsb2IgcHJvcGVydHkgdmFsdWUKLSAqIEBkZXY6IERSTSBkZXZp Y2UKLSAqIEBkYXRhOiBpb2N0bCBkYXRhCi0gKiBAZmlsZV9wcml2OiBEUk0gZmlsZSBpbmZvCi0g KgotICogVGhpcyBmdW5jdGlvbiByZXRyaWV2ZXMgdGhlIGNvbnRlbnRzIG9mIGEgYmxvYiBwcm9w ZXJ0eS4gVGhlIHZhbHVlIHN0b3JlZCBpbgotICogYW4gb2JqZWN0J3MgYmxvYiBwcm9wZXJ0eSBp cyBqdXN0IGEgbm9ybWFsIG1vZGVzZXQgb2JqZWN0IGlkLgotICoKLSAqIENhbGxlZCBieSB0aGUg dXNlciB2aWEgaW9jdGwuCi0gKgotICogUmV0dXJuczoKLSAqIFplcm8gb24gc3VjY2VzcywgbmVn YXRpdmUgZXJybm8gb24gZmFpbHVyZS4KLSAqLwogaW50IGRybV9tb2RlX2dldGJsb2JfaW9jdGwo c3RydWN0IGRybV9kZXZpY2UgKmRldiwKIAkJCSAgIHZvaWQgKmRhdGEsIHN0cnVjdCBkcm1fZmls ZSAqZmlsZV9wcml2KQogewpAQCAtNzY1LDIxICs3NTIsNiBAQCB1bnJlZjoKIAlyZXR1cm4gcmV0 OwogfQogCi0vKioKLSAqIGRybV9tb2RlX2NyZWF0ZWJsb2JfaW9jdGwgLSBjcmVhdGUgYSBuZXcg YmxvYiBwcm9wZXJ0eQotICogQGRldjogRFJNIGRldmljZQotICogQGRhdGE6IGlvY3RsIGRhdGEK LSAqIEBmaWxlX3ByaXY6IERSTSBmaWxlIGluZm8KLSAqCi0gKiBUaGlzIGZ1bmN0aW9uIGNyZWF0 ZXMgYSBuZXcgYmxvYiBwcm9wZXJ0eSB3aXRoIHVzZXItZGVmaW5lZCB2YWx1ZXMuIEluIG9yZGVy Ci0gKiB0byBnaXZlIHVzIHNlbnNpYmxlIHZhbGlkYXRpb24gYW5kIGNoZWNraW5nIHdoZW4gY3Jl YXRpbmcsIHJhdGhlciB0aGFuIGF0Ci0gKiBldmVyeSBwb3RlbnRpYWwgdXNlLCB3ZSBhbHNvIHJl cXVpcmUgYSB0eXBlIHRvIGJlIHByb3ZpZGVkIHVwZnJvbnQuCi0gKgotICogQ2FsbGVkIGJ5IHRo ZSB1c2VyIHZpYSBpb2N0bC4KLSAqCi0gKiBSZXR1cm5zOgotICogWmVybyBvbiBzdWNjZXNzLCBu ZWdhdGl2ZSBlcnJubyBvbiBmYWlsdXJlLgotICovCiBpbnQgZHJtX21vZGVfY3JlYXRlYmxvYl9p b2N0bChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAogCQkJICAgICAgdm9pZCAqZGF0YSwgc3RydWN0 IGRybV9maWxlICpmaWxlX3ByaXYpCiB7CkBAIC04MTYsMTkgKzc4OCw2IEBAIG91dF9ibG9iOgog CXJldHVybiByZXQ7CiB9CiAKLS8qKgotICogZHJtX21vZGVfZGVzdHJveWJsb2JfaW9jdGwgLSBk ZXN0cm95IGEgdXNlciBibG9iIHByb3BlcnR5Ci0gKiBAZGV2OiBEUk0gZGV2aWNlCi0gKiBAZGF0 YTogaW9jdGwgZGF0YQotICogQGZpbGVfcHJpdjogRFJNIGZpbGUgaW5mbwotICoKLSAqIERlc3Ry b3kgYW4gZXhpc3RpbmcgdXNlci1kZWZpbmVkIGJsb2IgcHJvcGVydHkuCi0gKgotICogQ2FsbGVk IGJ5IHRoZSB1c2VyIHZpYSBpb2N0bC4KLSAqCi0gKiBSZXR1cm5zOgotICogWmVybyBvbiBzdWNj ZXNzLCBuZWdhdGl2ZSBlcnJubyBvbiBmYWlsdXJlLgotICovCiBpbnQgZHJtX21vZGVfZGVzdHJv eWJsb2JfaW9jdGwoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKIAkJCSAgICAgICB2b2lkICpkYXRh LCBzdHJ1Y3QgZHJtX2ZpbGUgKmZpbGVfcHJpdikKIHsKQEAgLTg4NSw3ICs4NDQsNyBAQCBlcnI6 CiAgKiByZWZlcmVuY2UpLgogICovCiBib29sIGRybV9wcm9wZXJ0eV9jaGFuZ2VfdmFsaWRfZ2V0 KHN0cnVjdCBkcm1fcHJvcGVydHkgKnByb3BlcnR5LAotCQkJCQkgdWludDY0X3QgdmFsdWUsIHN0 cnVjdCBkcm1fbW9kZV9vYmplY3QgKipyZWYpCisJCQkJICAgdWludDY0X3QgdmFsdWUsIHN0cnVj dCBkcm1fbW9kZV9vYmplY3QgKipyZWYpCiB7CiAJaW50IGk7CiAKZGlmZiAtLWdpdCBhL2luY2x1 ZGUvZHJtL2RybV9wcm9wZXJ0eS5oIGIvaW5jbHVkZS9kcm0vZHJtX3Byb3BlcnR5LmgKaW5kZXgg YWM0MDA2OTM1OGM3Li5kMmU2MGZiN2JiYzAgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvZHJtL2RybV9w cm9wZXJ0eS5oCisrKyBiL2luY2x1ZGUvZHJtL2RybV9wcm9wZXJ0eS5oCkBAIC0yNywzMyArMjcs MTkyIEBACiAjaW5jbHVkZSA8bGludXgvY3R5cGUuaD4KICNpbmNsdWRlIDxkcm0vZHJtX21vZGVf b2JqZWN0Lmg+CiAKLXN0cnVjdCBkcm1fcHJvcGVydHlfYmxvYiB7Ci0Jc3RydWN0IGRybV9tb2Rl X29iamVjdCBiYXNlOwotCXN0cnVjdCBkcm1fZGV2aWNlICpkZXY7Ci0Jc3RydWN0IGxpc3RfaGVh ZCBoZWFkX2dsb2JhbDsKLQlzdHJ1Y3QgbGlzdF9oZWFkIGhlYWRfZmlsZTsKLQlzaXplX3QgbGVu Z3RoOwotCXVuc2lnbmVkIGNoYXIgZGF0YVtdOwotfTsKLQorLyoqCisgKiBzdHJ1Y3QgZHJtX3By b3BlcnR5X2VudW0gLSBzeW1ib2xpYyB2YWx1ZXMgZm9yIGVudW1lcmF0aW9ucworICogQHZhbHVl OiBudW1lcmljIHByb3BlcnR5IHZhbHVlIGZvciB0aGlzIGVudW0gZW50cnkKKyAqIEBoZWFkOiBs aXN0IG9mIGVudW0gdmFsdWVzLCBsaW5rZWQgdG8gZW51bV9saXN0IGluICZkcm1fcHJvcGVydHkK KyAqIEBuYW1lOiBzeW1ib2xpYyBuYW1lIGZvciB0aGUgZW51bQorICoKKyAqIEZvciBlbnVtZXJh dGlvbiBhbmQgYml0bWFzayBwcm9wZXJ0aWVzIHRoaXMgc3RydWN0dXJlIHN0b3JlcyB0aGUgc3lt Ym9saWMKKyAqIGRlY29kaW5nIGZvciBlYWNoIHZhbHVlLiBUaGlzIGlzIHVzZWQgZm9yIGV4YW1w bGUgZm9yIHRoZSByb3RhdGlvbiBwcm9wZXJ0eS4KKyAqLwogc3RydWN0IGRybV9wcm9wZXJ0eV9l bnVtIHsKIAl1aW50NjRfdCB2YWx1ZTsKIAlzdHJ1Y3QgbGlzdF9oZWFkIGhlYWQ7CiAJY2hhciBu YW1lW0RSTV9QUk9QX05BTUVfTEVOXTsKIH07CiAKKy8qKgorICogc3RydWN0IGRybV9wcm9wZXJ0 eSAtIG1vZGVzZXQgb2JqZWN0IHByb3BlcnR5CisgKgorICogVGhpcyBzdHJ1Y3R1cmUgcmVwcmVz ZW50IGEgbW9kZXNldCBvYmplY3QgcHJvcGVydHkuIEl0IGNvbWJpbmVzIGJvdGggdGhlIG5hbWUK KyAqIG9mIHRoZSBwcm9wZXJ0eSB3aXRoIHRoZSBzZXQgb2YgcGVybWlzc2libGUgdmFsdWVzLiBU aGlzIG1lYW5zIHRoYXQgd2hlbiBhCisgKiBkcml2ZXIgd2FudHMgdG8gdXNlIGEgcHJvcGVydHkg d2l0aCB0aGUgc2FtZSBuYW1lIG9uIGRpZmZlcmVudCBvYmplY3RzLCBidXQKKyAqIHdpdGggZGlm ZmVyZW50IHZhbHVlIHJhbmdlcywgdGhlbiBpdCBtdXN0IGNyZWF0ZSBwcm9wZXJ0eSBmb3IgZWFj aCBvbmUuIEFuCisgKiBleGFtcGxlIHdvdWxkIGJlIHJvdGF0aW9uIG9mICZkcm1fcGxhbmUsIHdo ZW4gZS5nLiB0aGUgcHJpbWFyeSBwbGFuZSBjYW5ub3QKKyAqIGJlIHJvdGF0ZWQuIEJ1dCBpZiBi b3RoIHRoZSBuYW1lIGFuZCB0aGUgdmFsdWUgcmFuZ2UgbWF0Y2gsIHRoZW4gdGhlIHNhbWUKKyAq IHByb3BlcnR5IHN0cnVjdHVyZSBjYW4gYmUgaW5zdGFudGlhdGVkIG11bHRpcGxlIHRpbWVzIGZv ciB0aGUgc2FtZSBvYmplY3QuCisgKiBVc2Vyc3BhY2UgbXVzdCBiZSBhYmxlIHRvIGNvcGUgd2l0 aCB0aGlzIGFuZCBjYW5ub3QgYXNzdW1lIHRoYXQgdGhlIHNhbWUKKyAqIHN5bWJvbGljIHByb3Bl cnR5IHdpbGwgaGF2ZSB0aGUgc2FtZSBtb2Rlc2V0IG9iamVjdCBJRCBvbiBhbGwgbW9kZXNldAor ICogb2JqZWN0cy4KKyAqCisgKiBQcm9wZXJ0aWVzIGFyZSBjcmVhdGVkIGJ5IG9uZSBvZiB0aGUg c3BlY2lhbCBmdW5jdGlvbnMsIGFzIGV4cGxhaW5lZCBpbgorICogZGV0YWlsIGluIHRoZSBAZmxh Z3Mgc3RydWN0dXJlIG1lbWJlci4KKyAqCisgKiBUbyBhY3R1YWxseSBleHBvc2UgYSBwcm9wZXJ0 eSBpdCBtdXN0IGJlIGF0dGFjaGVkIHRvIGVhY2ggb2JqZWN0IHVzaW5nCisgKiBkcm1fb2JqZWN0 X2F0dGFjaF9wcm9wZXJ0eSgpLiBDdXJyZW50bHkgcHJvcGVydGllcyBjYW4gb25seSBiZSBhdHRh Y2hlZCB0bworICogJmRybV9jb25uZWN0b3IsICZkcm1fY3J0YyBhbmQgJmRybV9wbGFuZS4KKyAq CisgKiBQcm9wZXJ0aWVzIGFyZSBhbHNvIHVzZWQgYXMgdGhlIGdlbmVyaWMgbWV0YWRhdGF0cmFu c3BvcnQgZm9yIHRoZSBhdG9taWMKKyAqIElPQ1RMLiBFdmVyeXRoaW5nIHRoYXQgd2FzIHNldCBk aXJlY3RseSBpbiBzdHJ1Y3R1cmVzIGluIHRoZSBsZWdhY3kgbW9kZXNldAorICogSU9DVExzIChs aWtlIHRoZSBwbGFuZSBzb3VyY2Ugb3IgZGVzdGluYXRpb24gd2luZG93cywgb3IgZS5nLiB0aGUg bGlua3MgdG8KKyAqIHRoZSBDUlRDKSBpcyBleHBvc2VkIGFzIGEgcHJvcGVydHkgd2l0aCB0aGUg RFJNX01PREVfUFJPUF9BVE9NSUMgZmxhZyBzZXQuCisgKi8KIHN0cnVjdCBkcm1fcHJvcGVydHkg eworCS8qKgorCSAqIEBoZWFkOiBwZXItZGV2aWNlIGxpc3Qgb2YgcHJvcGVydGllcywgZm9yIGNs ZWFudXAuCisJICovCiAJc3RydWN0IGxpc3RfaGVhZCBoZWFkOworCisJLyoqCisJICogQGJhc2U6 IGJhc2UgS01TIG9iamVjdAorCSAqLwogCXN0cnVjdCBkcm1fbW9kZV9vYmplY3QgYmFzZTsKKwor CS8qKgorCSAqIEBmbGFnczoKKwkgKgorCSAqIFByb3BlcnR5IGZsYWdzIGFuZCB0eXBlLiBBIHBy b3BlcnR5IG5lZWRzIHRvIGJlIG9uZSBvZiB0aGUgZm9sbG93aW5nCisJICogdHlwZXM6CisJICoK KwkgKiBEUk1fTU9ERV9QUk9QX1JBTkdFCisJICogICAgIFJhbmdlIHByb3BlcnRpZXMgcmVwb3J0 IHRoZWlyIG1pbmltdW0gYW5kIG1heGltdW0gYWRtaXNzaWJsZSB1bnNpZ25lZCB2YWx1ZXMuCisJ ICogICAgIFRoZSBLTVMgY29yZSB2ZXJpZmllcyB0aGF0IHZhbHVlcyBzZXQgYnkgYXBwbGljYXRp b24gZml0IGluIHRoYXQKKwkgKiAgICAgcmFuZ2UuIFRoZSByYW5nZSBpcyB1bnNpZ25lZC4gUmFu Z2UgcHJvcGVydGllcyBhcmUgY3JlYXRlZCB1c2luZworCSAqICAgICBkcm1fcHJvcGVydHlfY3Jl YXRlX3JhbmdlKCkuCisJICoKKwkgKiBEUk1fTU9ERV9QUk9QX1NJR05FRF9SQU5HRQorCSAqICAg ICBSYW5nZSBwcm9wZXJ0aWVzIHJlcG9ydCB0aGVpciBtaW5pbXVtIGFuZCBtYXhpbXVtIGFkbWlz c2libGUgdW5zaWduZWQgdmFsdWVzLgorCSAqICAgICBUaGUgS01TIGNvcmUgdmVyaWZpZXMgdGhh dCB2YWx1ZXMgc2V0IGJ5IGFwcGxpY2F0aW9uIGZpdCBpbiB0aGF0CisJICogICAgIHJhbmdlLiBU aGUgcmFuZ2UgaXMgc2lnbmVkLiBSYW5nZSBwcm9wZXJ0aWVzIGFyZSBjcmVhdGVkIHVzaW5nCisJ ICogICAgIGRybV9wcm9wZXJ0eV9jcmVhdGVfc2lnbmVkX3JhbmdlKCkuCisJICoKKwkgKiBEUk1f TU9ERV9QUk9QX0VOVU0KKwkgKiAgICAgRW51bWVyYXRlZCBwcm9wZXJ0aWVzIHRha2UgYSBudW1l cmljYWwgdmFsdWUgdGhhdCByYW5nZXMgZnJvbSAwIHRvCisJICogICAgIHRoZSBudW1iZXIgb2Yg ZW51bWVyYXRlZCB2YWx1ZXMgZGVmaW5lZCBieSB0aGUgcHJvcGVydHkgbWludXMgb25lLAorCSAq ICAgICBhbmQgYXNzb2NpYXRlIGEgZnJlZS1mb3JtZWQgc3RyaW5nIG5hbWUgdG8gZWFjaCB2YWx1 ZS4gQXBwbGljYXRpb25zCisJICogICAgIGNhbiByZXRyaWV2ZSB0aGUgbGlzdCBvZiBkZWZpbmVk IHZhbHVlLW5hbWUgcGFpcnMgYW5kIHVzZSB0aGUKKwkgKiAgICAgbnVtZXJpY2FsIHZhbHVlIHRv IGdldCBhbmQgc2V0IHByb3BlcnR5IGluc3RhbmNlIHZhbHVlcy4gRW51bQorCSAqICAgICBwcm9w ZXJ0aWVzIGFyZSBjcmVhdGVkIHVzaW5nIGRybV9wcm9wZXJ0eV9jcmVhdGVfZW51bSgpLgorCSAq CisJICogRFJNX01PREVfUFJPUF9CSVRNQVNLCisJICogICAgIEJpdG1hc2sgcHJvcGVydGllcyBh cmUgZW51bWVyYXRpb24gcHJvcGVydGllcyB0aGF0IGFkZGl0aW9uYWxseQorCSAqICAgICByZXN0 cmljdCBhbGwgZW51bWVyYXRlZCB2YWx1ZXMgdG8gdGhlIDAuLjYzIHJhbmdlLiBCaXRtYXNrIHBy b3BlcnR5CisJICogICAgIGluc3RhbmNlIHZhbHVlcyBjb21iaW5lIG9uZSBvciBtb3JlIG9mIHRo ZSBlbnVtZXJhdGVkIGJpdHMgZGVmaW5lZAorCSAqICAgICBieSB0aGUgcHJvcGVydHkuIEJpdG1h c2sgcHJvcGVydGllcyBhcmUgY3JlYXRlZCB1c2luZworCSAqICAgICBkcm1fcHJvcGVydHlfY3Jl YXRlX2JpdG1hc2soKS4KKwkgKgorCSAqIERSTV9NT0RFX1BST0JfT0JKRUNUCisJICogICAgIE9i amVjdCBwcm9wZXJ0aWVzIGFyZSB1c2VkIHRvIGxpbmsgbW9kZXNldCBvYmplY3RzLiBUaGlzIGlz IHVzZWQKKwkgKiAgICAgZXh0ZW5zaXZlbHkgaW4gdGhlIGF0b21pYyBzdXBwb3J0IHRvIGNyZWF0 ZSB0aGUgZGlzcGxheSBwaXBlbGluZSwKKwkgKiAgICAgYnkgbGlua2luZyAmZHJtX2ZyYW1lYnVm ZmVyIHRvICZkcm1fcGxhbmUsICZkcm1fcGxhbmUgdG8KKwkgKiAgICAgJmRybV9jcnRjIGFuZCAm ZHJtX2Nvbm5lY3RvciB0byAmZHJtX2NydGMuIEFuIG9iamVjdCBwcm9wZXJ0eSBjYW4KKwkgKiAg ICAgb25seSBsaW5rIHRvIGEgc3BlY2lmaWMgdHlwZSBvZiAmZHJtX21vZGVfb2JqZWN0LCB0aGlz IGxpbWl0IGlzCisJICogICAgIGVuZm9yY2VkIGJ5IHRoZSBjb3JlLiBPYmplY3QgcHJvcGVydGll cyBhcmUgY3JlYXRlZCB1c2luZworCSAqICAgICBkcm1fcHJvcGVydHlfY3JlYXRlX29iamVjdCgp LgorCSAqCisJICogICAgIE9iamVjdCBwcm9wZXJ0aWVzIHdvcmsgbGlrZSBibG9iIHByb3BlcnRp ZXMsIGJ1dCBpbiBhIG1vcmUKKwkgKiAgICAgZ2VuZXJhbCBmYXNoaW9uLiBUaGV5IGFyZSBsaW1p dGVkIHRvIGF0b21pYyBkcml2ZXJzIGFuZCBtdXN0IGhhdmUKKwkgKiAgICAgdGhlIERSTV9NT0RF X1BST1BfQVRPTUlDIGZsYWcgc2V0LgorCSAqCisJICogRFJNX01PREVfUFJPUF9CTE9CCisJICog ICAgIEJsb2IgcHJvcGVydGllcyBzdG9yZSBhIGJpbmFyeSBibG9iIHdpdGhvdXQgYW55IGZvcm1h dCByZXN0cmljdGlvbi4KKwkgKiAgICAgVGhlIGJpbmFyeSBibG9icyBhcmUgY3JlYXRlZCBhcyBL TVMgc3RhbmRhbG9uZSBvYmplY3RzLCBhbmQgYmxvYgorCSAqICAgICBwcm9wZXJ0eSBpbnN0YW5j ZSB2YWx1ZXMgc3RvcmUgdGhlIElEIG9mIHRoZWlyIGFzc29jaWF0ZWQgYmxvYgorCSAqICAgICBv YmplY3QuIEJsb2IgcHJvcGVydGllcyBhcmUgY3JlYXRlZCBieSBjYWxsaW5nCisJICogICAgIGRy bV9wcm9wZXJ0eV9jcmVhdGUoKSB3aXRoIERSTV9NT0RFX1BST1BfQkxPQiBhcyB0aGUgdHlwZS4K KwkgKgorCSAqICAgICBBY3R1YWwgYmxvYiBvYmplY3RzIHRvIGNvbnRhaW4gYmxvYiBkYXRhIGFy ZSBjcmVhdGVkIHVzaW5nCisJICogICAgIGRybV9wcm9wZXJ0eV9jcmVhdGVfYmxvYigpLCBvciB0 aHJvdWdoIHRoZSBjb3JyZXNwb25kaW5nIElPQ1RMLgorCSAqCisJICogICAgIEJlc2lkZXMgdGhl IGJ1aWx0LWluIGxpbWl0IHRvIG9ubHkgYWNjZXB0IGJsb2Igb2JqZWN0cyBibG9iCisJICogICAg IHByb3BlcnRpZXMgd29yayBleGFjdGx5IGxpa2Ugb2JqZWN0IHByb3BlcnRpZXMuIFRoZSBvbmx5 IHJlYXNvbnMKKwkgKiAgICAgYmxvYiBwcm9wZXJ0aWVzIGV4aXN0IGlzIGJhY2t3YXJkcyBjb21w YXRpYmlsaXR5IHdpdGggZXhpc3RpbmcKKwkgKiAgICAgdXNlcnNwYWNlLgorCSAqCisJICogSW4g YWRkaXRpb24gYSBwcm9wZXJ0eSBjYW4gaGF2ZSBhbnkgY29tYmluYXRpb24gb2YgdGhlIGJlbG93 IGZsYWdzOgorCSAqCisJICogRFJNX01PREVfUFJPUF9BVE9NSUMKKwkgKiAgICAgU2V0IGZvciBw cm9wZXJ0aWVzIHdoaWNoIGVuY29kZSBhdG9taWMgbW9kZXNldCBzdGF0ZS4gU3VjaAorCSAqICAg ICBwcm9wZXJ0aWVzIGFyZSBub3QgZXhwb3NlZCB0byBsZWdhY3kgdXNlcnNwYWNlLgorCSAqCisJ ICogRFJNX01PREVfUFJPUF9JTU1VVEFCTEUKKwkgKiAgICAgU2V0IGZvciBwcm9wZXJ0aWVzIHdo ZXJlIHVzZXJzcGFjZSBjYW5ub3QgYmUgY2hhbmdlZCBieQorCSAqICAgICB1c2Vyc3BhY2UuIFRo ZSBrZXJuZWwgaXMgYWxsb3dlZCB0byB1cGRhdGUgdGhlIHZhbHVlIG9mIHRoZXNlCisJICogICAg IHByb3BlcnRpZXMuIFRoaXMgaXMgZ2VuZXJhbGx5IHVzZWQgdG8gZXhwb3NlIHByb2JlIHN0YXRl IHRvCisJICogICAgIHVzZXJzYXBjZSwgZS5nLiB0aGUgRURJRCwgb3IgdGhlIGNvbm5lY3RvciBw YXRoIHByb3BlcnR5IG9uIERQCisJICogICAgIE1TVCBzaW5rcy4KKwkgKi8KIAl1aW50MzJfdCBm bGFnczsKKworCS8qKgorCSAqIEBuYW1lOiBzeW1ib2xpYyBuYW1lIG9mIHRoZSBwcm9wZXJ0aWVz CisJICovCiAJY2hhciBuYW1lW0RSTV9QUk9QX05BTUVfTEVOXTsKKworCS8qKgorCSAqIEBudW1f dmFsdWVzOiBzaXplIG9mIHRoZSBAdmFsdWVzIGFycmF5LgorCSAqLwogCXVpbnQzMl90IG51bV92 YWx1ZXM7CisKKwkvKioKKwkgKiBAdmFsdWVzOgorCSAqCisJICogQXJyYXkgd2l0aCBsaW1pdHMg YW5kIHZhbHVlcyBmb3IgdGhlIHByb3BlcnR5LiBUaGUKKwkgKiBpbnRlcnByZXRhdGlvbiBvZiB0 aGVzZSBsaW1pdHMgaXMgZGVwZW5kZW50IHVwb24gdGhlIHR5cGUgcGVyIEBmbGFncy4KKwkgKi8K IAl1aW50NjRfdCAqdmFsdWVzOworCisJLyoqCisJICogQGRldjogRFJNIGRldmljZQorCSAqLwog CXN0cnVjdCBkcm1fZGV2aWNlICpkZXY7CiAKKwkvKioKKwkgKiBAZW51bV9saXN0OgorCSAqCisJ ICogTGlzdCBvZiAmZHJtX3Byb3BfZW51bV9saXN0IHN0cnVjdHVyZXMgd2l0aCB0aGUgc3ltYm9s aWMgbmFtZXMgZm9yCisJICogZW51bSBhbmQgYml0bWFzayB2YWx1ZXMuCisJICovCiAJc3RydWN0 IGxpc3RfaGVhZCBlbnVtX2xpc3Q7CiB9OwogCisvKioKKyAqIHN0cnVjdCBkcm1fcHJvcGVydHlf YmxvYiAtIEJsb2IgZGF0YSBmb3IgJmRybV9wcm9wZXJ0eQorICogQGJhc2U6IGJhc2UgS01TIG9i amVjdAorICogQGRldjogRFJNIGRldmljZQorICogQGhlYWRfZ2xvYmFsOiBlbnRyeSBvbiB0aGUg Z2xvYmFsIGJsb2IgbGlzdCBpbiAmZHJtX21vZGVfY29uZmlnCisgKiAJcHJvcGVydHlfYmxvYl9s aXN0LgorICogQGhlYWRfZmlsZTogZW50cnkgb24gdGhlIHBlci1maWxlIGJsb2IgbGlzdCBpbiAm ZHJtX2ZpbGUgYmxvYnMgbGlzdC4KKyAqIEBsZW5ndGg6IHNpemUgb2YgdGhlIGJsb2IgaW4gYnl0 ZXMsIGludmFyaWFudCBvdmVyIHRoZSBsaWZldGltZSBvZiB0aGUgb2JqZWN0CisgKiBAZGF0YTog YWN0dWFsIGRhdGEsIGVtYmVkZGVkIGF0IHRoZSBlbmQgb2YgdGhpcyBzdHJ1Y3R1cmUKKyAqCisg KiBCbG9icyBhcmUgdXNlZCB0byBzdG9yZSBiaWdnZXIgdmFsdWVzIHRoYW4gd2hhdCBmaXRzIGRp cmVjdGx5IGludG8gdGhlIDY0CisgKiBiaXRzIGF2YWlsYWJsZSBmb3IgYSAmZHJtX3Byb3BlcnR5 LgorICoKKyAqIEJsb2JzIGFyZSByZWZlcmVuY2UgY291bnRlZCB1c2luZyBkcm1fcHJvcGVydHlf cmVmZXJlbmNlX2Jsb2IoKSBhbmQKKyAqIGRybV9wcm9wZXJ0eV91bnJlZmVyZW5jZV9ibG9iKCku IFRoZXkgYXJlIGNyZWF0ZWQgdXNpbmcKKyAqIGRybV9wcm9wZXJ0eV9jcmVhdGVfYmxvYigpLgor ICovCitzdHJ1Y3QgZHJtX3Byb3BlcnR5X2Jsb2IgeworCXN0cnVjdCBkcm1fbW9kZV9vYmplY3Qg YmFzZTsKKwlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2OworCXN0cnVjdCBsaXN0X2hlYWQgaGVhZF9n bG9iYWw7CisJc3RydWN0IGxpc3RfaGVhZCBoZWFkX2ZpbGU7CisJc2l6ZV90IGxlbmd0aDsKKwl1 bnNpZ25lZCBjaGFyIGRhdGFbXTsKK307CisKIHN0cnVjdCBkcm1fcHJvcF9lbnVtX2xpc3Qgewog CWludCB0eXBlOwogCWNoYXIgKm5hbWU7CkBAIC02MSw4ICsyMjAsMTYgQEAgc3RydWN0IGRybV9w cm9wX2VudW1fbGlzdCB7CiAKICNkZWZpbmUgb2JqX3RvX3Byb3BlcnR5KHgpIGNvbnRhaW5lcl9v Zih4LCBzdHJ1Y3QgZHJtX3Byb3BlcnR5LCBiYXNlKQogCisvKioKKyAqIGRybV9wcm9wZXJ0eV90 eXBlX2lzIC0gY2hlY2sgdGhlIHR5cGUgb2YgYSBwcm9wZXJ0eQorICogQHByb3BlcnR5OiBwcm9w ZXJ0eSB0byBjaGVjaworICogQHR5cGU6IHByb3BlcnR5IHR5cGUgdG8gY29tcGFyZSB3aXRoCisg KgorICogVGhpcyBpcyBhIGhlbHBlciBmdW5jdGlvbiBiZWNhdWFzZSB0aGUgdWFwaSBlbmNvZGlu ZyBvZiBwcm9wZXJ0eSB0eXBlcyBpcworICogYSBiaXQgc3BlY2lhbCBmb3IgaGlzdG9yaWNhbCBy ZWFzb25zLgorICovCiBzdGF0aWMgaW5saW5lIGJvb2wgZHJtX3Byb3BlcnR5X3R5cGVfaXMoc3Ry dWN0IGRybV9wcm9wZXJ0eSAqcHJvcGVydHksCi0JCXVpbnQzMl90IHR5cGUpCisJCQkJCXVpbnQz Ml90IHR5cGUpCiB7CiAJLyogaW5zdGFuY2VvZiBmb3IgcHJvcHMuLiBoYW5kbGVzIGV4dGVuZGVk IHR5cGUgdnMgb3JpZ2luYWwgdHlwZXM6ICovCiAJaWYgKHByb3BlcnR5LT5mbGFncyAmIERSTV9N T0RFX1BST1BfRVhURU5ERURfVFlQRSkKQEAgLTEwOSw4ICsyNzYsMTUgQEAgaW50IGRybV9wcm9w ZXJ0eV9yZXBsYWNlX2dsb2JhbF9ibG9iKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCiBzdHJ1Y3Qg ZHJtX3Byb3BlcnR5X2Jsb2IgKmRybV9wcm9wZXJ0eV9yZWZlcmVuY2VfYmxvYihzdHJ1Y3QgZHJt X3Byb3BlcnR5X2Jsb2IgKmJsb2IpOwogdm9pZCBkcm1fcHJvcGVydHlfdW5yZWZlcmVuY2VfYmxv YihzdHJ1Y3QgZHJtX3Byb3BlcnR5X2Jsb2IgKmJsb2IpOwogCisvKioKKyAqIGRybV9jb25uZWN0 b3JfZmluZCAtIGZpbmQgcHJvcGVydHkgb2JqZWN0CisgKiBAZGV2OiBEUk0gZGV2aWNlCisgKiBA aWQ6IHByb3BlcnR5IG9iamVjdCBpZAorICoKKyAqIFRoaXMgZnVuY3Rpb24gbG9va3MgdXAgdGhl IHByb3BlcnR5IG9iamVjdCBzcGVjaWZpZWQgYnkgaWQgYW5kIHJldHVybnMgaXQuCisgKi8KIHN0 YXRpYyBpbmxpbmUgc3RydWN0IGRybV9wcm9wZXJ0eSAqZHJtX3Byb3BlcnR5X2ZpbmQoc3RydWN0 IGRybV9kZXZpY2UgKmRldiwKLQkJdWludDMyX3QgaWQpCisJCQkJCQkgICAgIHVpbnQzMl90IGlk KQogewogCXN0cnVjdCBkcm1fbW9kZV9vYmplY3QgKm1vOwogCW1vID0gZHJtX21vZGVfb2JqZWN0 X2ZpbmQoZGV2LCBpZCwgRFJNX01PREVfT0JKRUNUX1BST1BFUlRZKTsKLS0gCjIuOC4xCgpfX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpkcmktZGV2ZWwgbWFp bGluZyBsaXN0CmRyaS1kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5m cmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9kcmktZGV2ZWwK