From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-6.7 required=3.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS, URIBL_BLOCKED autolearn=unavailable autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 441E3C49EAB for ; Tue, 5 Nov 2019 09:36:45 +0000 (UTC) Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 21C61214B2 for ; Tue, 5 Nov 2019 09:36:45 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 21C61214B2 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=redhat.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=intel-gfx-bounces@lists.freedesktop.org Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 9153C6E967; Tue, 5 Nov 2019 09:36:44 +0000 (UTC) Received: from us-smtp-delivery-1.mimecast.com (us-smtp-1.mimecast.com [207.211.31.81]) by gabe.freedesktop.org (Postfix) with ESMTPS id 3E03F6E96B for ; Tue, 5 Nov 2019 09:36:43 +0000 (UTC) Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-205-SL5R8xcNNNaSYbYOfPc-pg-1; Tue, 05 Nov 2019 04:36:38 -0500 Received: from smtp.corp.redhat.com (int-mx06.intmail.prod.int.phx2.redhat.com [10.5.11.16]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 871BE8017DD; Tue, 5 Nov 2019 09:36:34 +0000 (UTC) Received: from jason-ThinkPad-X1-Carbon-6th.redhat.com (ovpn-12-252.pek2.redhat.com [10.72.12.252]) by smtp.corp.redhat.com (Postfix) with ESMTP id 9E6565C28C; Tue, 5 Nov 2019 09:35:23 +0000 (UTC) From: Jason Wang To: kvm@vger.kernel.org, linux-s390@vger.kernel.org, linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, intel-gfx@lists.freedesktop.org, intel-gvt-dev@lists.freedesktop.org, kwankhede@nvidia.com, alex.williamson@redhat.com, mst@redhat.com, tiwei.bie@intel.com Date: Tue, 5 Nov 2019 17:32:37 +0800 Message-Id: <20191105093240.5135-4-jasowang@redhat.com> In-Reply-To: <20191105093240.5135-1-jasowang@redhat.com> References: <20191105093240.5135-1-jasowang@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.16 X-MC-Unique: SL5R8xcNNNaSYbYOfPc-pg-1 X-Mimecast-Spam-Score: 0 X-Mailman-Original-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1572946602; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=2x8V9gyXYk1AfWIMaSGj1lObBgUHnw7OWnFzCmlB8Cw=; b=WYjUZjCgkJnjJEF23vbKpPB/DiH0rXMIKvSmj0nFxmkuo2YqxPFit7ktfmopajMzNOSnxz ur6EE4DP9hRPvbJSgU4ifeiNDU3yXd1mOfUujrdmn+jK/B0SKEp5ryrCMpQjjZUa+eDjVX +lggoC8AbeeckzK8Mz2ags2Iq1KcTD4= Subject: [Intel-gfx] [PATCH V8 3/6] mdev: introduce device specific ops X-BeenThere: intel-gfx@lists.freedesktop.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Intel graphics driver community testing & development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: christophe.de.dinechin@gmail.com, sebott@linux.ibm.com, airlied@linux.ie, Jason Wang , heiko.carstens@de.ibm.com, virtualization@lists.linux-foundation.org, rob.miller@broadcom.com, lulu@redhat.com, eperezma@redhat.com, pasic@linux.ibm.com, borntraeger@de.ibm.com, haotian.wang@sifive.com, farman@linux.ibm.com, idos@mellanox.com, gor@linux.ibm.com, cunming.liang@intel.com, xiao.w.wang@intel.com, freude@linux.ibm.com, parav@mellanox.com, zhihong.wang@intel.com, stefanha@redhat.com, akrowiak@linux.ibm.com, netdev@vger.kernel.org, cohuck@redhat.com, oberpar@linux.ibm.com, maxime.coquelin@redhat.com, lingshan.zhu@intel.com Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" Message-ID: <20191105093237.hu3d4oyVg5vceUZqgVAae3KeeDlKBMVvU3Xp8H1YJYs@z> Q3VycmVudGx5LCBleGNlcHQgZm9yIHRoZSBjcmVhdGUgYW5kIHJlbW92ZSwgdGhlIHJlc3Qgb2YK bWRldl9wYXJlbnRfb3BzIGlzIGRlc2lnbmVkIGZvciB2ZmlvLW1kZXYgZHJpdmVyIG9ubHkgYW5k IG1heSBub3QgaGVscApmb3Iga2VybmVsIG1kZXYgZHJpdmVyLiBXaXRoIHRoZSBoZWxwIG9mIGNs YXNzIGlkLCB0aGlzIHBhdGNoCmludHJvZHVjZXMgZGV2aWNlIHNwZWNpZmljIGNhbGxiYWNrcyBp bnNpZGUgbWRldl9kZXZpY2UKc3RydWN0dXJlLiBUaGlzIGFsbG93cyBkaWZmZXJlbnQgc2V0IG9m IGNhbGxiYWNrIHRvIGJlIHVzZWQgYnkKdmZpby1tZGV2IGFuZCB2aXJ0aW8tbWRldi4KClJldmll d2VkLWJ5OiBQYXJhdiBQYW5kaXQgPHBhcmF2QG1lbGxhbm94LmNvbT4KU2lnbmVkLW9mZi1ieTog SmFzb24gV2FuZyA8amFzb3dhbmdAcmVkaGF0LmNvbT4KLS0tCiAuLi4vZHJpdmVyLWFwaS92Zmlv LW1lZGlhdGVkLWRldmljZS5yc3QgICAgICAgfCAzNSArKysrKysrKystLS0tCiBNQUlOVEFJTkVS UyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgMSArCiBkcml2ZXJzL2dwdS9k cm0vaTkxNS9ndnQva3ZtZ3QuYyAgICAgICAgICAgICAgfCAxOCArKysrLS0tCiBkcml2ZXJzL3Mz OTAvY2lvL3ZmaW9fY2N3X29wcy5jICAgICAgICAgICAgICAgfCAxOCArKysrLS0tCiBkcml2ZXJz L3MzOTAvY3J5cHRvL3ZmaW9fYXBfb3BzLmMgICAgICAgICAgICAgfCAxNCArKystLQogZHJpdmVy cy92ZmlvL21kZXYvbWRldl9jb3JlLmMgICAgICAgICAgICAgICAgIHwgMjQgKysrKysrKystCiBk cml2ZXJzL3ZmaW8vbWRldi9tZGV2X3ByaXZhdGUuaCAgICAgICAgICAgICAgfCAgNSArKwogZHJp dmVycy92ZmlvL21kZXYvdmZpb19tZGV2LmMgICAgICAgICAgICAgICAgIHwgMzcgKysrKysrLS0t LS0tLQogaW5jbHVkZS9saW51eC9tZGV2LmggICAgICAgICAgICAgICAgICAgICAgICAgIHwgNDMg KysrKy0tLS0tLS0tLS0tCiBpbmNsdWRlL2xpbnV4L21kZXZfdmZpb19vcHMuaCAgICAgICAgICAg ICAgICAgfCA1MiArKysrKysrKysrKysrKysrKysrCiBzYW1wbGVzL3ZmaW8tbWRldi9tYm9jaHMu YyAgICAgICAgICAgICAgICAgICAgfCAyMCArKysrLS0tCiBzYW1wbGVzL3ZmaW8tbWRldi9tZHB5 LmMgICAgICAgICAgICAgICAgICAgICAgfCAyMCArKysrLS0tCiBzYW1wbGVzL3ZmaW8tbWRldi9t dHR5LmMgICAgICAgICAgICAgICAgICAgICAgfCAxOCArKysrLS0tCiAxMyBmaWxlcyBjaGFuZ2Vk LCAyMDYgaW5zZXJ0aW9ucygrKSwgOTkgZGVsZXRpb25zKC0pCiBjcmVhdGUgbW9kZSAxMDA2NDQg aW5jbHVkZS9saW51eC9tZGV2X3ZmaW9fb3BzLmgKCmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9u L2RyaXZlci1hcGkvdmZpby1tZWRpYXRlZC1kZXZpY2UucnN0IGIvRG9jdW1lbnRhdGlvbi9kcml2 ZXItYXBpL3ZmaW8tbWVkaWF0ZWQtZGV2aWNlLnJzdAppbmRleCA2NzA5NDEzYmVlMjkuLmUzNWYx ZjhmOTQ2ZSAxMDA2NDQKLS0tIGEvRG9jdW1lbnRhdGlvbi9kcml2ZXItYXBpL3ZmaW8tbWVkaWF0 ZWQtZGV2aWNlLnJzdAorKysgYi9Eb2N1bWVudGF0aW9uL2RyaXZlci1hcGkvdmZpby1tZWRpYXRl ZC1kZXZpY2UucnN0CkBAIC0xNTIsMTUgKzE1Miw2IEBAIGNhbGxiYWNrcyBwZXIgbWRldiBwYXJl bnQgZGV2aWNlLCBwZXIgbWRldiB0eXBlLCBvciBhbnkgb3RoZXIgY2F0ZWdvcml6YXRpb24uCiBW ZW5kb3IgZHJpdmVycyBhcmUgZXhwZWN0ZWQgdG8gYmUgZnVsbHkgYXN5bmNocm9ub3VzIGluIHRo aXMgcmVzcGVjdCBvcgogcHJvdmlkZSB0aGVpciBvd24gaW50ZXJuYWwgcmVzb3VyY2UgcHJvdGVj dGlvbi4pCiAKLVRoZSBjYWxsYmFja3MgaW4gdGhlIG1kZXZfcGFyZW50X29wcyBzdHJ1Y3R1cmUg YXJlIGFzIGZvbGxvd3M6Ci0KLSogb3Blbjogb3BlbiBjYWxsYmFjayBvZiBtZWRpYXRlZCBkZXZp Y2UKLSogY2xvc2U6IGNsb3NlIGNhbGxiYWNrIG9mIG1lZGlhdGVkIGRldmljZQotKiBpb2N0bDog aW9jdGwgY2FsbGJhY2sgb2YgbWVkaWF0ZWQgZGV2aWNlCi0qIHJlYWQgOiByZWFkIGVtdWxhdGlv biBjYWxsYmFjawotKiB3cml0ZTogd3JpdGUgZW11bGF0aW9uIGNhbGxiYWNrCi0qIG1tYXA6IG1t YXAgZW11bGF0aW9uIGNhbGxiYWNrCi0KIEEgZHJpdmVyIHNob3VsZCB1c2UgdGhlIG1kZXZfcGFy ZW50X29wcyBzdHJ1Y3R1cmUgaW4gdGhlIGZ1bmN0aW9uIGNhbGwgdG8KIHJlZ2lzdGVyIGl0c2Vs ZiB3aXRoIHRoZSBtZGV2IGNvcmUgZHJpdmVyOjoKIApAQCAtMTcyLDEwICsxNjMsMzQgQEAgdGhh dCBhIGRyaXZlciBzaG91bGQgdXNlIHRvIHVucmVnaXN0ZXIgaXRzZWxmIHdpdGggdGhlIG1kZXYg Y29yZSBkcml2ZXI6OgogCiAJZXh0ZXJuIHZvaWQgbWRldl91bnJlZ2lzdGVyX2RldmljZShzdHJ1 Y3QgZGV2aWNlICpkZXYpOwogCi1JdCBpcyBhbHNvIHJlcXVpcmVkIHRvIHNwZWNpZnkgdGhlIGNs YXNzX2lkIGluIGNyZWF0ZSgpIGNhbGxiYWNrIHRocm91Z2g6OgorQXMgbXVsdGlwbGUgdHlwZXMg b2YgbWVkaWF0ZWQgZGV2aWNlcyBtYXkgYmUgc3VwcG9ydGVkLCBjbGFzcyBpZCBuZWVkcwordG8g YmUgc3BlY2lmaWVkIGluIHRoZSBjcmVhdGUgY2FsbGJhY2soKS4gVGhpcyBjb3VsZCBiZSBkb25l CitleHBsaWNpdGx5IGZvciB0aGUgZGV2aWNlIHRoYXQgZG9lcyBub3QgdXNlIG9uIG1kZXYgYnVz IGZvciBpdHMKK29wZXJhdGlvbiB0aHJvdWdoOgogCiAJaW50IG1kZXZfc2V0X2NsYXNzKHN0cnVj dCBtZGV2X2RldmljZSAqbWRldiwgdTE2IGlkKTsKIAorRm9yIHRoZSBkZXZpY2UgdGhhdCB1c2Vz IG9uIHRoZSBtZGV2IGJ1cyBmb3IgaXRzIG9wZXJhdGlvbiwgdGhlIGNsYXNzCitzaG91bGQgcHJv dmlkZSBoZWxwZXIgZnVuY3Rpb24gdG8gc2V0IGNsYXNzIGlkIGFuZCBkZXZpY2Ugc3BlY2lmaWMK K29wcy4gRS5nIGZvciB2ZmlvLW1kZXYgZGV2aWNlcywgdGhlIGZ1bmN0aW9uIHRvIGJlIGNhbGxl ZCBpczo6CisKKwlpbnQgbWRldl9zZXRfdmZpb19vcHMoc3RydWN0IG1kZXZfZGV2aWNlICptZGV2 LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3RydWN0IG1kZXZfdmZpb19k ZXZpY2Vfb3BzICp2ZmlvX29wcyk7CisKK1RoZSBjbGFzcyBpZCAoc2V0IGJ5IHRoaXMgZnVuY3Rp b24gdG8gTURFVl9DTEFTU19JRF9WRklPKSBpcyB1c2VkIHRvCittYXRjaCBhIGRldmljZSB3aXRo IGFuIG1kZXYgZHJpdmVyIHZpYSBpdHMgaWQgdGFibGUuIFRoZSBkZXZpY2UKK3NwZWNpZmljIGNh bGxiYWNrcyAoc3BlY2lmaWVkIGluICp2ZmlvX29wcykgYXJlIG9idGFpbmFibGUgdmlhCittZGV2 X2dldF92ZmlvX29wcygpIChmb3IgdXNlIGJ5IHRoZSBtZGV2IGJ1cyBkcml2ZXIpLiBBIHZmaW8t bWRldgorZGV2aWNlIChjbGFzcyBpZCBNREVWX0NMQVNTX0lEX1ZGSU8pIHVzZXMgdGhlIGZvbGxv d2luZworZGV2aWNlLXNwZWNpZmljIG9wczoKKworKiBvcGVuOiBvcGVuIGNhbGxiYWNrIG9mIHZm aW8gbWVkaWF0ZWQgZGV2aWNlCisqIGNsb3NlOiBjbG9zZSBjYWxsYmFjayBvZiB2ZmlvIG1lZGlh dGVkIGRldmljZQorKiBpb2N0bDogaW9jdGwgY2FsbGJhY2sgb2YgdmZpbyBtZWRpYXRlZCBkZXZp Y2UKKyogcmVhZCA6IHJlYWQgZW11bGF0aW9uIGNhbGxiYWNrCisqIHdyaXRlOiB3cml0ZSBlbXVs YXRpb24gY2FsbGJhY2sKKyogbW1hcDogbW1hcCBlbXVsYXRpb24gY2FsbGJhY2sKKwogTWVkaWF0 ZWQgRGV2aWNlIE1hbmFnZW1lbnQgSW50ZXJmYWNlIFRocm91Z2ggc3lzZnMKID09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAKZGlmZiAtLWdpdCBhL01B SU5UQUlORVJTIGIvTUFJTlRBSU5FUlMKaW5kZXggY2JhMTA5NTU0N2ZkLi5mNjYxZDEzMzQ0ZDYg MTAwNjQ0Ci0tLSBhL01BSU5UQUlORVJTCisrKyBiL01BSU5UQUlORVJTCkBAIC0xNzEyMSw2ICsx NzEyMSw3IEBAIFM6CU1haW50YWluZWQKIEY6CURvY3VtZW50YXRpb24vZHJpdmVyLWFwaS92Zmlv LW1lZGlhdGVkLWRldmljZS5yc3QKIEY6CWRyaXZlcnMvdmZpby9tZGV2LwogRjoJaW5jbHVkZS9s aW51eC9tZGV2LmgKK0Y6CWluY2x1ZGUvbGludXgvbWRldl92ZmlvX29wcy5oCiBGOglzYW1wbGVz L3ZmaW8tbWRldi8KIAogVkZJTyBQTEFURk9STSBEUklWRVIKZGlmZiAtLWdpdCBhL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2d2dC9rdm1ndC5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3Z0L2t2bWd0 LmMKaW5kZXggNjQyMGYwZGJkMzFiLi42NjJmM2E2NzIzNzIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2d2dC9rdm1ndC5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d2dC9r dm1ndC5jCkBAIC00Miw2ICs0Miw3IEBACiAjaW5jbHVkZSA8bGludXgva3ZtX2hvc3QuaD4KICNp bmNsdWRlIDxsaW51eC92ZmlvLmg+CiAjaW5jbHVkZSA8bGludXgvbWRldi5oPgorI2luY2x1ZGUg PGxpbnV4L21kZXZfdmZpb19vcHMuaD4KICNpbmNsdWRlIDxsaW51eC9kZWJ1Z2ZzLmg+CiAKICNp bmNsdWRlIDxsaW51eC9ub3NwZWMuaD4KQEAgLTY0Myw2ICs2NDQsOCBAQCBzdGF0aWMgdm9pZCBr dm1ndF9wdXRfdmZpb19kZXZpY2Uodm9pZCAqdmdwdSkKIAl2ZmlvX2RldmljZV9wdXQoKChzdHJ1 Y3QgaW50ZWxfdmdwdSAqKXZncHUpLT52ZGV2LnZmaW9fZGV2aWNlKTsKIH0KIAorc3RhdGljIGNv bnN0IHN0cnVjdCBtZGV2X3ZmaW9fZGV2aWNlX29wcyBpbnRlbF92ZmlvX3ZncHVfZGV2X29wczsK Kwogc3RhdGljIGludCBpbnRlbF92Z3B1X2NyZWF0ZShzdHJ1Y3Qga29iamVjdCAqa29iaiwgc3Ry dWN0IG1kZXZfZGV2aWNlICptZGV2KQogewogCXN0cnVjdCBpbnRlbF92Z3B1ICp2Z3B1ID0gTlVM TDsKQEAgLTY3OCw3ICs2ODEsNyBAQCBzdGF0aWMgaW50IGludGVsX3ZncHVfY3JlYXRlKHN0cnVj dCBrb2JqZWN0ICprb2JqLCBzdHJ1Y3QgbWRldl9kZXZpY2UgKm1kZXYpCiAJCSAgICAgZGV2X25h bWUobWRldl9kZXYobWRldikpKTsKIAlyZXQgPSAwOwogCi0JbWRldl9zZXRfY2xhc3MobWRldiwg TURFVl9DTEFTU19JRF9WRklPKTsKKwltZGV2X3NldF92ZmlvX29wcyhtZGV2LCAmaW50ZWxfdmZp b192Z3B1X2Rldl9vcHMpOwogb3V0OgogCXJldHVybiByZXQ7CiB9CkBAIC0xNTk5LDIwICsxNjAy LDIxIEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgYXR0cmlidXRlX2dyb3VwICppbnRlbF92Z3B1X2dy b3Vwc1tdID0gewogCU5VTEwsCiB9OwogCi1zdGF0aWMgc3RydWN0IG1kZXZfcGFyZW50X29wcyBp bnRlbF92Z3B1X29wcyA9IHsKLQkubWRldl9hdHRyX2dyb3VwcyAgICAgICA9IGludGVsX3ZncHVf Z3JvdXBzLAotCS5jcmVhdGUJCQk9IGludGVsX3ZncHVfY3JlYXRlLAotCS5yZW1vdmUJCQk9IGlu dGVsX3ZncHVfcmVtb3ZlLAotCitzdGF0aWMgY29uc3Qgc3RydWN0IG1kZXZfdmZpb19kZXZpY2Vf b3BzIGludGVsX3ZmaW9fdmdwdV9kZXZfb3BzID0gewogCS5vcGVuCQkJPSBpbnRlbF92Z3B1X29w ZW4sCiAJLnJlbGVhc2UJCT0gaW50ZWxfdmdwdV9yZWxlYXNlLAotCiAJLnJlYWQJCQk9IGludGVs X3ZncHVfcmVhZCwKIAkud3JpdGUJCQk9IGludGVsX3ZncHVfd3JpdGUsCiAJLm1tYXAJCQk9IGlu dGVsX3ZncHVfbW1hcCwKIAkuaW9jdGwJCQk9IGludGVsX3ZncHVfaW9jdGwsCiB9OwogCitzdGF0 aWMgc3RydWN0IG1kZXZfcGFyZW50X29wcyBpbnRlbF92Z3B1X29wcyA9IHsKKwkubWRldl9hdHRy X2dyb3VwcyAgICAgICA9IGludGVsX3ZncHVfZ3JvdXBzLAorCS5jcmVhdGUJCQk9IGludGVsX3Zn cHVfY3JlYXRlLAorCS5yZW1vdmUJCQk9IGludGVsX3ZncHVfcmVtb3ZlLAorfTsKKwogc3RhdGlj IGludCBrdm1ndF9ob3N0X2luaXQoc3RydWN0IGRldmljZSAqZGV2LCB2b2lkICpndnQsIGNvbnN0 IHZvaWQgKm9wcykKIHsKIAlzdHJ1Y3QgYXR0cmlidXRlICoqa3ZtX3R5cGVfYXR0cnM7CmRpZmYg LS1naXQgYS9kcml2ZXJzL3MzOTAvY2lvL3ZmaW9fY2N3X29wcy5jIGIvZHJpdmVycy9zMzkwL2Np by92ZmlvX2Njd19vcHMuYwppbmRleCBjZjJjMDEzYWUzMmYuLmZhNDczZGVkNzFjNyAxMDA2NDQK LS0tIGEvZHJpdmVycy9zMzkwL2Npby92ZmlvX2Njd19vcHMuYworKysgYi9kcml2ZXJzL3MzOTAv Y2lvL3ZmaW9fY2N3X29wcy5jCkBAIC0xMiw2ICsxMiw3IEBACiAKICNpbmNsdWRlIDxsaW51eC92 ZmlvLmg+CiAjaW5jbHVkZSA8bGludXgvbWRldi5oPgorI2luY2x1ZGUgPGxpbnV4L21kZXZfdmZp b19vcHMuaD4KICNpbmNsdWRlIDxsaW51eC9ub3NwZWMuaD4KICNpbmNsdWRlIDxsaW51eC9zbGFi Lmg+CiAKQEAgLTExMCw2ICsxMTEsOCBAQCBzdGF0aWMgc3RydWN0IGF0dHJpYnV0ZV9ncm91cCAq bWRldl90eXBlX2dyb3Vwc1tdID0gewogCU5VTEwsCiB9OwogCitzdGF0aWMgY29uc3Qgc3RydWN0 IG1kZXZfdmZpb19kZXZpY2Vfb3BzIG1kZXZfdmZpb19vcHM7CisKIHN0YXRpYyBpbnQgdmZpb19j Y3dfbWRldl9jcmVhdGUoc3RydWN0IGtvYmplY3QgKmtvYmosIHN0cnVjdCBtZGV2X2RldmljZSAq bWRldikKIHsKIAlzdHJ1Y3QgdmZpb19jY3dfcHJpdmF0ZSAqcHJpdmF0ZSA9CkBAIC0xMjksNyAr MTMyLDcgQEAgc3RhdGljIGludCB2ZmlvX2Njd19tZGV2X2NyZWF0ZShzdHJ1Y3Qga29iamVjdCAq a29iaiwgc3RydWN0IG1kZXZfZGV2aWNlICptZGV2KQogCQkJICAgcHJpdmF0ZS0+c2NoLT5zY2hp ZC5zc2lkLAogCQkJICAgcHJpdmF0ZS0+c2NoLT5zY2hpZC5zY2hfbm8pOwogCi0JbWRldl9zZXRf Y2xhc3MobWRldiwgTURFVl9DTEFTU19JRF9WRklPKTsKKwltZGV2X3NldF92ZmlvX29wcyhtZGV2 LCAmbWRldl92ZmlvX29wcyk7CiAJcmV0dXJuIDA7CiB9CiAKQEAgLTU3NSwxMSArNTc4LDcgQEAg c3RhdGljIHNzaXplX3QgdmZpb19jY3dfbWRldl9pb2N0bChzdHJ1Y3QgbWRldl9kZXZpY2UgKm1k ZXYsCiAJfQogfQogCi1zdGF0aWMgY29uc3Qgc3RydWN0IG1kZXZfcGFyZW50X29wcyB2ZmlvX2Nj d19tZGV2X29wcyA9IHsKLQkub3duZXIJCQk9IFRISVNfTU9EVUxFLAotCS5zdXBwb3J0ZWRfdHlw ZV9ncm91cHMgID0gbWRldl90eXBlX2dyb3VwcywKLQkuY3JlYXRlCQkJPSB2ZmlvX2Njd19tZGV2 X2NyZWF0ZSwKLQkucmVtb3ZlCQkJPSB2ZmlvX2Njd19tZGV2X3JlbW92ZSwKK3N0YXRpYyBjb25z dCBzdHJ1Y3QgbWRldl92ZmlvX2RldmljZV9vcHMgbWRldl92ZmlvX29wcyA9IHsKIAkub3BlbgkJ CT0gdmZpb19jY3dfbWRldl9vcGVuLAogCS5yZWxlYXNlCQk9IHZmaW9fY2N3X21kZXZfcmVsZWFz ZSwKIAkucmVhZAkJCT0gdmZpb19jY3dfbWRldl9yZWFkLApAQCAtNTg3LDYgKzU4NiwxMyBAQCBz dGF0aWMgY29uc3Qgc3RydWN0IG1kZXZfcGFyZW50X29wcyB2ZmlvX2Njd19tZGV2X29wcyA9IHsK IAkuaW9jdGwJCQk9IHZmaW9fY2N3X21kZXZfaW9jdGwsCiB9OwogCitzdGF0aWMgY29uc3Qgc3Ry dWN0IG1kZXZfcGFyZW50X29wcyB2ZmlvX2Njd19tZGV2X29wcyA9IHsKKwkub3duZXIJCQk9IFRI SVNfTU9EVUxFLAorCS5zdXBwb3J0ZWRfdHlwZV9ncm91cHMgID0gbWRldl90eXBlX2dyb3VwcywK KwkuY3JlYXRlCQkJPSB2ZmlvX2Njd19tZGV2X2NyZWF0ZSwKKwkucmVtb3ZlCQkJPSB2ZmlvX2Nj d19tZGV2X3JlbW92ZSwKK307CisKIGludCB2ZmlvX2Njd19tZGV2X3JlZyhzdHJ1Y3Qgc3ViY2hh bm5lbCAqc2NoKQogewogCXJldHVybiBtZGV2X3JlZ2lzdGVyX2RldmljZSgmc2NoLT5kZXYsICZ2 ZmlvX2Njd19tZGV2X29wcyk7CmRpZmYgLS1naXQgYS9kcml2ZXJzL3MzOTAvY3J5cHRvL3ZmaW9f YXBfb3BzLmMgYi9kcml2ZXJzL3MzOTAvY3J5cHRvL3ZmaW9fYXBfb3BzLmMKaW5kZXggMDdjMzEw NzBhZmViLi43YmRjNjIzOTMxMTIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvczM5MC9jcnlwdG8vdmZp b19hcF9vcHMuYworKysgYi9kcml2ZXJzL3MzOTAvY3J5cHRvL3ZmaW9fYXBfb3BzLmMKQEAgLTE2 LDYgKzE2LDcgQEAKICNpbmNsdWRlIDxsaW51eC9iaXRvcHMuaD4KICNpbmNsdWRlIDxsaW51eC9r dm1faG9zdC5oPgogI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgorI2luY2x1ZGUgPGxpbnV4L21k ZXZfdmZpb19vcHMuaD4KICNpbmNsdWRlIDxhc20va3ZtLmg+CiAjaW5jbHVkZSA8YXNtL3pjcnlw dC5oPgogCkBAIC0zMjEsNiArMzIyLDggQEAgc3RhdGljIHZvaWQgdmZpb19hcF9tYXRyaXhfaW5p dChzdHJ1Y3QgYXBfY29uZmlnX2luZm8gKmluZm8sCiAJbWF0cml4LT5hZG1fbWF4ID0gaW5mby0+ YXB4YSA/IGluZm8tPk5kIDogMTU7CiB9CiAKK3N0YXRpYyBjb25zdCBzdHJ1Y3QgbWRldl92Zmlv X2RldmljZV9vcHMgbWRldl92ZmlvX29wczsKKwogc3RhdGljIGludCB2ZmlvX2FwX21kZXZfY3Jl YXRlKHN0cnVjdCBrb2JqZWN0ICprb2JqLCBzdHJ1Y3QgbWRldl9kZXZpY2UgKm1kZXYpCiB7CiAJ c3RydWN0IGFwX21hdHJpeF9tZGV2ICptYXRyaXhfbWRldjsKQEAgLTM0Myw3ICszNDYsNyBAQCBz dGF0aWMgaW50IHZmaW9fYXBfbWRldl9jcmVhdGUoc3RydWN0IGtvYmplY3QgKmtvYmosIHN0cnVj dCBtZGV2X2RldmljZSAqbWRldikKIAlsaXN0X2FkZCgmbWF0cml4X21kZXYtPm5vZGUsICZtYXRy aXhfZGV2LT5tZGV2X2xpc3QpOwogCW11dGV4X3VubG9jaygmbWF0cml4X2Rldi0+bG9jayk7CiAK LQltZGV2X3NldF9jbGFzcyhtZGV2LCBNREVWX0NMQVNTX0lEX1ZGSU8pOworCW1kZXZfc2V0X3Zm aW9fb3BzKG1kZXYsICZtZGV2X3ZmaW9fb3BzKTsKIAlyZXR1cm4gMDsKIH0KIApAQCAtMTI4MSwx NSArMTI4NCwxOCBAQCBzdGF0aWMgc3NpemVfdCB2ZmlvX2FwX21kZXZfaW9jdGwoc3RydWN0IG1k ZXZfZGV2aWNlICptZGV2LAogCXJldHVybiByZXQ7CiB9CiAKK3N0YXRpYyBjb25zdCBzdHJ1Y3Qg bWRldl92ZmlvX2RldmljZV9vcHMgbWRldl92ZmlvX29wcyA9IHsKKwkub3BlbgkJCT0gdmZpb19h cF9tZGV2X29wZW4sCisJLnJlbGVhc2UJCT0gdmZpb19hcF9tZGV2X3JlbGVhc2UsCisJLmlvY3Rs CQkJPSB2ZmlvX2FwX21kZXZfaW9jdGwsCit9OworCiBzdGF0aWMgY29uc3Qgc3RydWN0IG1kZXZf cGFyZW50X29wcyB2ZmlvX2FwX21hdHJpeF9vcHMgPSB7CiAJLm93bmVyCQkJPSBUSElTX01PRFVM RSwKIAkuc3VwcG9ydGVkX3R5cGVfZ3JvdXBzCT0gdmZpb19hcF9tZGV2X3R5cGVfZ3JvdXBzLAog CS5tZGV2X2F0dHJfZ3JvdXBzCT0gdmZpb19hcF9tZGV2X2F0dHJfZ3JvdXBzLAogCS5jcmVhdGUJ CQk9IHZmaW9fYXBfbWRldl9jcmVhdGUsCiAJLnJlbW92ZQkJCT0gdmZpb19hcF9tZGV2X3JlbW92 ZSwKLQkub3BlbgkJCT0gdmZpb19hcF9tZGV2X29wZW4sCi0JLnJlbGVhc2UJCT0gdmZpb19hcF9t ZGV2X3JlbGVhc2UsCi0JLmlvY3RsCQkJPSB2ZmlvX2FwX21kZXZfaW9jdGwsCiB9OwogCiBpbnQg dmZpb19hcF9tZGV2X3JlZ2lzdGVyKHZvaWQpCmRpZmYgLS1naXQgYS9kcml2ZXJzL3ZmaW8vbWRl di9tZGV2X2NvcmUuYyBiL2RyaXZlcnMvdmZpby9tZGV2L21kZXZfY29yZS5jCmluZGV4IDdiZmEy ZTQ2ZTgyOS4uNGU3MGYxOWFjMTQ1IDEwMDY0NAotLS0gYS9kcml2ZXJzL3ZmaW8vbWRldi9tZGV2 X2NvcmUuYworKysgYi9kcml2ZXJzL3ZmaW8vbWRldi9tZGV2X2NvcmUuYwpAQCAtNDcsNyArNDcs OCBAQCBFWFBPUlRfU1lNQk9MKG1kZXZfc2V0X2RydmRhdGEpOwogCiAvKgogICogU3BlY2lmeSB0 aGUgY2xhc3MgZm9yIHRoZSBtZGV2IGRldmljZSwgdGhpcyBtdXN0IGJlIGNhbGxlZCBkdXJpbmcK LSAqIGNyZWF0ZSgpIGNhbGxiYWNrLgorICogY3JlYXRlKCkgY2FsbGJhY2sgZXhwbGljaXRseSBv ciBpbXBsaWNpdGx5IHRocm91Z2ggdGhlIGhlbHBlcnMKKyAqIHByb3ZpZGVkIGJ5IGVhY2ggY2xh c3MuCiAgKi8KIHZvaWQgbWRldl9zZXRfY2xhc3Moc3RydWN0IG1kZXZfZGV2aWNlICptZGV2LCB1 MTYgaWQpCiB7CkBAIC01Niw2ICs1NywyNyBAQCB2b2lkIG1kZXZfc2V0X2NsYXNzKHN0cnVjdCBt ZGV2X2RldmljZSAqbWRldiwgdTE2IGlkKQogfQogRVhQT1JUX1NZTUJPTChtZGV2X3NldF9jbGFz cyk7CiAKKy8qCisgKiBTcGVjaWZ5IHRoZSBtZGV2IGRldmljZSB0byBiZSBhIFZGSU8gbWRldiBk ZXZpY2UsIGFuZCBzZXQgVkZJTworICogZGV2aWNlIG9wcyBmb3IgaXQuIFRoaXMgbXVzdCBiZSBj YWxsZWQgZnJvbSB0aGUgY3JlYXRlKCkgY2FsbGJhY2sKKyAqIGZvciBWRklPIG1kZXYgZGV2aWNl LgorICovCit2b2lkIG1kZXZfc2V0X3ZmaW9fb3BzKHN0cnVjdCBtZGV2X2RldmljZSAqbWRldiwK KwkJICAgICAgIGNvbnN0IHN0cnVjdCBtZGV2X3ZmaW9fZGV2aWNlX29wcyAqdmZpb19vcHMpCit7 CisJbWRldl9zZXRfY2xhc3MobWRldiwgTURFVl9DTEFTU19JRF9WRklPKTsKKwltZGV2LT52Zmlv X29wcyA9IHZmaW9fb3BzOworfQorRVhQT1JUX1NZTUJPTChtZGV2X3NldF92ZmlvX29wcyk7CisK Ky8qIEdldCB0aGUgVkZJTyBkZXZpY2Ugb3BzIGZvciB0aGUgbWRldiBkZXZpY2UuICovCitjb25z dCBzdHJ1Y3QgbWRldl92ZmlvX2RldmljZV9vcHMgKm1kZXZfZ2V0X3ZmaW9fb3BzKHN0cnVjdCBt ZGV2X2RldmljZSAqbWRldikKK3sKKwlXQVJOX09OKG1kZXYtPmNsYXNzX2lkICE9IE1ERVZfQ0xB U1NfSURfVkZJTyk7CisJcmV0dXJuIG1kZXYtPnZmaW9fb3BzOworfQorRVhQT1JUX1NZTUJPTCht ZGV2X2dldF92ZmlvX29wcyk7CisKIHN0cnVjdCBkZXZpY2UgKm1kZXZfZGV2KHN0cnVjdCBtZGV2 X2RldmljZSAqbWRldikKIHsKIAlyZXR1cm4gJm1kZXYtPmRldjsKZGlmZiAtLWdpdCBhL2RyaXZl cnMvdmZpby9tZGV2L21kZXZfcHJpdmF0ZS5oIGIvZHJpdmVycy92ZmlvL21kZXYvbWRldl9wcml2 YXRlLmgKaW5kZXggYzY1ZjQzNmMxODY5Li40MTEyMjczNzM2MjUgMTAwNjQ0Ci0tLSBhL2RyaXZl cnMvdmZpby9tZGV2L21kZXZfcHJpdmF0ZS5oCisrKyBiL2RyaXZlcnMvdmZpby9tZGV2L21kZXZf cHJpdmF0ZS5oCkBAIC0xMCw2ICsxMCw4IEBACiAjaWZuZGVmIE1ERVZfUFJJVkFURV9ICiAjZGVm aW5lIE1ERVZfUFJJVkFURV9ICiAKKyNpbmNsdWRlIDxsaW51eC9tZGV2X3ZmaW9fb3BzLmg+CisK IGludCAgbWRldl9idXNfcmVnaXN0ZXIodm9pZCk7CiB2b2lkIG1kZXZfYnVzX3VucmVnaXN0ZXIo dm9pZCk7CiAKQEAgLTM0LDYgKzM2LDkgQEAgc3RydWN0IG1kZXZfZGV2aWNlIHsKIAlzdHJ1Y3Qg ZGV2aWNlICppb21tdV9kZXZpY2U7CiAJYm9vbCBhY3RpdmU7CiAJdTE2IGNsYXNzX2lkOworCXVu aW9uIHsKKwkJY29uc3Qgc3RydWN0IG1kZXZfdmZpb19kZXZpY2Vfb3BzICp2ZmlvX29wczsKKwl9 OwogfTsKIAogI2RlZmluZSB0b19tZGV2X2RldmljZShkZXYpCWNvbnRhaW5lcl9vZihkZXYsIHN0 cnVjdCBtZGV2X2RldmljZSwgZGV2KQpkaWZmIC0tZ2l0IGEvZHJpdmVycy92ZmlvL21kZXYvdmZp b19tZGV2LmMgYi9kcml2ZXJzL3ZmaW8vbWRldi92ZmlvX21kZXYuYwppbmRleCBhNjY0MWNkOGI1 YTMuLmMwMWUyMTk0ZTRiMyAxMDA2NDQKLS0tIGEvZHJpdmVycy92ZmlvL21kZXYvdmZpb19tZGV2 LmMKKysrIGIvZHJpdmVycy92ZmlvL21kZXYvdmZpb19tZGV2LmMKQEAgLTE0LDYgKzE0LDcgQEAK ICNpbmNsdWRlIDxsaW51eC9zbGFiLmg+CiAjaW5jbHVkZSA8bGludXgvdmZpby5oPgogI2luY2x1 ZGUgPGxpbnV4L21kZXYuaD4KKyNpbmNsdWRlIDxsaW51eC9tZGV2X3ZmaW9fb3BzLmg+CiAKICNp bmNsdWRlICJtZGV2X3ByaXZhdGUuaCIKIApAQCAtMjQsMTYgKzI1LDE2IEBACiBzdGF0aWMgaW50 IHZmaW9fbWRldl9vcGVuKHZvaWQgKmRldmljZV9kYXRhKQogewogCXN0cnVjdCBtZGV2X2Rldmlj ZSAqbWRldiA9IGRldmljZV9kYXRhOwotCXN0cnVjdCBtZGV2X3BhcmVudCAqcGFyZW50ID0gbWRl di0+cGFyZW50OworCWNvbnN0IHN0cnVjdCBtZGV2X3ZmaW9fZGV2aWNlX29wcyAqb3BzID0gbWRl dl9nZXRfdmZpb19vcHMobWRldik7CiAJaW50IHJldDsKIAotCWlmICh1bmxpa2VseSghcGFyZW50 LT5vcHMtPm9wZW4pKQorCWlmICh1bmxpa2VseSghb3BzLT5vcGVuKSkKIAkJcmV0dXJuIC1FSU5W QUw7CiAKIAlpZiAoIXRyeV9tb2R1bGVfZ2V0KFRISVNfTU9EVUxFKSkKIAkJcmV0dXJuIC1FTk9E RVY7CiAKLQlyZXQgPSBwYXJlbnQtPm9wcy0+b3BlbihtZGV2KTsKKwlyZXQgPSBvcHMtPm9wZW4o bWRldik7CiAJaWYgKHJldCkKIAkJbW9kdWxlX3B1dChUSElTX01PRFVMRSk7CiAKQEAgLTQzLDEw ICs0NCwxMCBAQCBzdGF0aWMgaW50IHZmaW9fbWRldl9vcGVuKHZvaWQgKmRldmljZV9kYXRhKQog c3RhdGljIHZvaWQgdmZpb19tZGV2X3JlbGVhc2Uodm9pZCAqZGV2aWNlX2RhdGEpCiB7CiAJc3Ry dWN0IG1kZXZfZGV2aWNlICptZGV2ID0gZGV2aWNlX2RhdGE7Ci0Jc3RydWN0IG1kZXZfcGFyZW50 ICpwYXJlbnQgPSBtZGV2LT5wYXJlbnQ7CisJY29uc3Qgc3RydWN0IG1kZXZfdmZpb19kZXZpY2Vf b3BzICpvcHMgPSBtZGV2X2dldF92ZmlvX29wcyhtZGV2KTsKIAotCWlmIChsaWtlbHkocGFyZW50 LT5vcHMtPnJlbGVhc2UpKQotCQlwYXJlbnQtPm9wcy0+cmVsZWFzZShtZGV2KTsKKwlpZiAobGlr ZWx5KG9wcy0+cmVsZWFzZSkpCisJCW9wcy0+cmVsZWFzZShtZGV2KTsKIAogCW1vZHVsZV9wdXQo VEhJU19NT0RVTEUpOwogfQpAQCAtNTUsNDcgKzU2LDQ3IEBAIHN0YXRpYyBsb25nIHZmaW9fbWRl dl91bmxvY2tlZF9pb2N0bCh2b2lkICpkZXZpY2VfZGF0YSwKIAkJCQkgICAgIHVuc2lnbmVkIGlu dCBjbWQsIHVuc2lnbmVkIGxvbmcgYXJnKQogewogCXN0cnVjdCBtZGV2X2RldmljZSAqbWRldiA9 IGRldmljZV9kYXRhOwotCXN0cnVjdCBtZGV2X3BhcmVudCAqcGFyZW50ID0gbWRldi0+cGFyZW50 OworCWNvbnN0IHN0cnVjdCBtZGV2X3ZmaW9fZGV2aWNlX29wcyAqb3BzID0gbWRldl9nZXRfdmZp b19vcHMobWRldik7CiAKLQlpZiAodW5saWtlbHkoIXBhcmVudC0+b3BzLT5pb2N0bCkpCisJaWYg KHVubGlrZWx5KCFvcHMtPmlvY3RsKSkKIAkJcmV0dXJuIC1FSU5WQUw7CiAKLQlyZXR1cm4gcGFy ZW50LT5vcHMtPmlvY3RsKG1kZXYsIGNtZCwgYXJnKTsKKwlyZXR1cm4gb3BzLT5pb2N0bChtZGV2 LCBjbWQsIGFyZyk7CiB9CiAKIHN0YXRpYyBzc2l6ZV90IHZmaW9fbWRldl9yZWFkKHZvaWQgKmRl dmljZV9kYXRhLCBjaGFyIF9fdXNlciAqYnVmLAogCQkJICAgICAgc2l6ZV90IGNvdW50LCBsb2Zm X3QgKnBwb3MpCiB7CiAJc3RydWN0IG1kZXZfZGV2aWNlICptZGV2ID0gZGV2aWNlX2RhdGE7Ci0J c3RydWN0IG1kZXZfcGFyZW50ICpwYXJlbnQgPSBtZGV2LT5wYXJlbnQ7CisJY29uc3Qgc3RydWN0 IG1kZXZfdmZpb19kZXZpY2Vfb3BzICpvcHMgPSBtZGV2X2dldF92ZmlvX29wcyhtZGV2KTsKIAot CWlmICh1bmxpa2VseSghcGFyZW50LT5vcHMtPnJlYWQpKQorCWlmICh1bmxpa2VseSghb3BzLT5y ZWFkKSkKIAkJcmV0dXJuIC1FSU5WQUw7CiAKLQlyZXR1cm4gcGFyZW50LT5vcHMtPnJlYWQobWRl diwgYnVmLCBjb3VudCwgcHBvcyk7CisJcmV0dXJuIG9wcy0+cmVhZChtZGV2LCBidWYsIGNvdW50 LCBwcG9zKTsKIH0KIAogc3RhdGljIHNzaXplX3QgdmZpb19tZGV2X3dyaXRlKHZvaWQgKmRldmlj ZV9kYXRhLCBjb25zdCBjaGFyIF9fdXNlciAqYnVmLAogCQkJICAgICAgIHNpemVfdCBjb3VudCwg bG9mZl90ICpwcG9zKQogewogCXN0cnVjdCBtZGV2X2RldmljZSAqbWRldiA9IGRldmljZV9kYXRh OwotCXN0cnVjdCBtZGV2X3BhcmVudCAqcGFyZW50ID0gbWRldi0+cGFyZW50OworCWNvbnN0IHN0 cnVjdCBtZGV2X3ZmaW9fZGV2aWNlX29wcyAqb3BzID0gbWRldl9nZXRfdmZpb19vcHMobWRldik7 CiAKLQlpZiAodW5saWtlbHkoIXBhcmVudC0+b3BzLT53cml0ZSkpCisJaWYgKHVubGlrZWx5KCFv cHMtPndyaXRlKSkKIAkJcmV0dXJuIC1FSU5WQUw7CiAKLQlyZXR1cm4gcGFyZW50LT5vcHMtPndy aXRlKG1kZXYsIGJ1ZiwgY291bnQsIHBwb3MpOworCXJldHVybiBvcHMtPndyaXRlKG1kZXYsIGJ1 ZiwgY291bnQsIHBwb3MpOwogfQogCiBzdGF0aWMgaW50IHZmaW9fbWRldl9tbWFwKHZvaWQgKmRl dmljZV9kYXRhLCBzdHJ1Y3Qgdm1fYXJlYV9zdHJ1Y3QgKnZtYSkKIHsKIAlzdHJ1Y3QgbWRldl9k ZXZpY2UgKm1kZXYgPSBkZXZpY2VfZGF0YTsKLQlzdHJ1Y3QgbWRldl9wYXJlbnQgKnBhcmVudCA9 IG1kZXYtPnBhcmVudDsKKwljb25zdCBzdHJ1Y3QgbWRldl92ZmlvX2RldmljZV9vcHMgKm9wcyA9 IG1kZXZfZ2V0X3ZmaW9fb3BzKG1kZXYpOwogCi0JaWYgKHVubGlrZWx5KCFwYXJlbnQtPm9wcy0+ bW1hcCkpCisJaWYgKHVubGlrZWx5KCFvcHMtPm1tYXApKQogCQlyZXR1cm4gLUVJTlZBTDsKIAot CXJldHVybiBwYXJlbnQtPm9wcy0+bW1hcChtZGV2LCB2bWEpOworCXJldHVybiBvcHMtPm1tYXAo bWRldiwgdm1hKTsKIH0KIAogc3RhdGljIGNvbnN0IHN0cnVjdCB2ZmlvX2RldmljZV9vcHMgdmZp b19tZGV2X2Rldl9vcHMgPSB7CmRpZmYgLS1naXQgYS9pbmNsdWRlL2xpbnV4L21kZXYuaCBiL2lu Y2x1ZGUvbGludXgvbWRldi5oCmluZGV4IDc4YjY5ZDA5ZWI1NC4uOWUzNzUwNmQxOTg3IDEwMDY0 NAotLS0gYS9pbmNsdWRlL2xpbnV4L21kZXYuaAorKysgYi9pbmNsdWRlL2xpbnV4L21kZXYuaApA QCAtMTAsNyArMTAsMTMgQEAKICNpZm5kZWYgTURFVl9ICiAjZGVmaW5lIE1ERVZfSAogCisjaW5j bHVkZSA8bGludXgvdHlwZXMuaD4KKyNpbmNsdWRlIDxsaW51eC9kZXZpY2UuaD4KKyNpbmNsdWRl IDxsaW51eC9tZGV2Lmg+CisjaW5jbHVkZSA8dWFwaS9saW51eC91dWlkLmg+CisKIHN0cnVjdCBt ZGV2X2RldmljZTsKK3N0cnVjdCBtZGV2X3ZmaW9fZGV2aWNlX29wczsKIAogLyoKICAqIENhbGxl ZCBieSB0aGUgcGFyZW50IGRldmljZSBkcml2ZXIgdG8gc2V0IHRoZSBkZXZpY2Ugd2hpY2ggcmVw cmVzZW50cwpAQCAtNDgsMzAgKzU0LDcgQEAgc3RydWN0IGRldmljZSAqbWRldl9nZXRfaW9tbXVf ZGV2aWNlKHN0cnVjdCBkZXZpY2UgKmRldik7CiAgKgkJCUBtZGV2OiBtZGV2X2RldmljZSBkZXZp Y2Ugc3RydWN0dXJlIHdoaWNoIGlzIGJlaW5nCiAgKgkJCSAgICAgICBkZXN0cm95ZWQKICAqCQkJ UmV0dXJucyBpbnRlZ2VyOiBzdWNjZXNzICgwKSBvciBlcnJvciAoPCAwKQotICogQG9wZW46CQlP cGVuIG1lZGlhdGVkIGRldmljZS4KLSAqCQkJQG1kZXY6IG1lZGlhdGVkIGRldmljZS4KLSAqCQkJ UmV0dXJucyBpbnRlZ2VyOiBzdWNjZXNzICgwKSBvciBlcnJvciAoPCAwKQotICogQHJlbGVhc2U6 CQlyZWxlYXNlIG1lZGlhdGVkIGRldmljZQotICoJCQlAbWRldjogbWVkaWF0ZWQgZGV2aWNlLgot ICogQHJlYWQ6CQlSZWFkIGVtdWxhdGlvbiBjYWxsYmFjawotICoJCQlAbWRldjogbWVkaWF0ZWQg ZGV2aWNlIHN0cnVjdHVyZQotICoJCQlAYnVmOiByZWFkIGJ1ZmZlcgotICoJCQlAY291bnQ6IG51 bWJlciBvZiBieXRlcyB0byByZWFkCi0gKgkJCUBwcG9zOiBhZGRyZXNzLgotICoJCQlSZXR1bnMg bnVtYmVyIG9uIGJ5dGVzIHJlYWQgb24gc3VjY2VzcyBvciBlcnJvci4KLSAqIEB3cml0ZToJCVdy aXRlIGVtdWxhdGlvbiBjYWxsYmFjawotICoJCQlAbWRldjogbWVkaWF0ZWQgZGV2aWNlIHN0cnVj dHVyZQotICoJCQlAYnVmOiB3cml0ZSBidWZmZXIKLSAqCQkJQGNvdW50OiBudW1iZXIgb2YgYnl0 ZXMgdG8gYmUgd3JpdHRlbgotICoJCQlAcHBvczogYWRkcmVzcy4KLSAqCQkJUmV0dW5zIG51bWJl ciBvbiBieXRlcyB3cml0dGVuIG9uIHN1Y2Nlc3Mgb3IgZXJyb3IuCi0gKiBAaW9jdGw6CQlJT0NU TCBjYWxsYmFjawotICoJCQlAbWRldjogbWVkaWF0ZWQgZGV2aWNlIHN0cnVjdHVyZQotICoJCQlA Y21kOiBpb2N0bCBjb21tYW5kCi0gKgkJCUBhcmc6IGFyZ3VtZW50cyB0byBpb2N0bAotICogQG1t YXA6CQltbWFwIGNhbGxiYWNrCi0gKgkJCUBtZGV2OiBtZWRpYXRlZCBkZXZpY2Ugc3RydWN0dXJl Ci0gKgkJCUB2bWE6IHZtYSBzdHJ1Y3R1cmUKKyAqCiAgKiBQYXJlbnQgZGV2aWNlIHRoYXQgc3Vw cG9ydCBtZWRpYXRlZCBkZXZpY2Ugc2hvdWxkIGJlIHJlZ2lzdGVyZWQgd2l0aCBtZGV2CiAgKiBt b2R1bGUgd2l0aCBtZGV2X3BhcmVudF9vcHMgc3RydWN0dXJlLgogICoqLwpAQCAtODMsMTUgKzY2 LDYgQEAgc3RydWN0IG1kZXZfcGFyZW50X29wcyB7CiAKIAlpbnQgICAgICgqY3JlYXRlKShzdHJ1 Y3Qga29iamVjdCAqa29iaiwgc3RydWN0IG1kZXZfZGV2aWNlICptZGV2KTsKIAlpbnQgICAgICgq cmVtb3ZlKShzdHJ1Y3QgbWRldl9kZXZpY2UgKm1kZXYpOwotCWludCAgICAgKCpvcGVuKShzdHJ1 Y3QgbWRldl9kZXZpY2UgKm1kZXYpOwotCXZvaWQgICAgKCpyZWxlYXNlKShzdHJ1Y3QgbWRldl9k ZXZpY2UgKm1kZXYpOwotCXNzaXplX3QgKCpyZWFkKShzdHJ1Y3QgbWRldl9kZXZpY2UgKm1kZXYs IGNoYXIgX191c2VyICpidWYsCi0JCQlzaXplX3QgY291bnQsIGxvZmZfdCAqcHBvcyk7Ci0Jc3Np emVfdCAoKndyaXRlKShzdHJ1Y3QgbWRldl9kZXZpY2UgKm1kZXYsIGNvbnN0IGNoYXIgX191c2Vy ICpidWYsCi0JCQkgc2l6ZV90IGNvdW50LCBsb2ZmX3QgKnBwb3MpOwotCWxvbmcJKCppb2N0bCko c3RydWN0IG1kZXZfZGV2aWNlICptZGV2LCB1bnNpZ25lZCBpbnQgY21kLAotCQkJIHVuc2lnbmVk IGxvbmcgYXJnKTsKLQlpbnQJKCptbWFwKShzdHJ1Y3QgbWRldl9kZXZpY2UgKm1kZXYsIHN0cnVj dCB2bV9hcmVhX3N0cnVjdCAqdm1hKTsKIH07CiAKIC8qIGludGVyZmFjZSBmb3IgZXhwb3J0aW5n IG1kZXYgc3VwcG9ydGVkIHR5cGUgYXR0cmlidXRlcyAqLwpAQCAtMTM1LDYgKzEwOSw5IEBAIHZv aWQgKm1kZXZfZ2V0X2RydmRhdGEoc3RydWN0IG1kZXZfZGV2aWNlICptZGV2KTsKIHZvaWQgbWRl dl9zZXRfZHJ2ZGF0YShzdHJ1Y3QgbWRldl9kZXZpY2UgKm1kZXYsIHZvaWQgKmRhdGEpOwogY29u c3QgZ3VpZF90ICptZGV2X3V1aWQoc3RydWN0IG1kZXZfZGV2aWNlICptZGV2KTsKIHZvaWQgbWRl dl9zZXRfY2xhc3Moc3RydWN0IG1kZXZfZGV2aWNlICptZGV2LCB1MTYgaWQpOwordm9pZCBtZGV2 X3NldF92ZmlvX29wcyhzdHJ1Y3QgbWRldl9kZXZpY2UgKm1kZXYsCisJCSAgICAgICBjb25zdCBz dHJ1Y3QgbWRldl92ZmlvX2RldmljZV9vcHMgKnZmaW9fb3BzKTsKK2NvbnN0IHN0cnVjdCBtZGV2 X3ZmaW9fZGV2aWNlX29wcyAqbWRldl9nZXRfdmZpb19vcHMoc3RydWN0IG1kZXZfZGV2aWNlICpt ZGV2KTsKIAogZXh0ZXJuIHN0cnVjdCBidXNfdHlwZSBtZGV2X2J1c190eXBlOwogCmRpZmYgLS1n aXQgYS9pbmNsdWRlL2xpbnV4L21kZXZfdmZpb19vcHMuaCBiL2luY2x1ZGUvbGludXgvbWRldl92 ZmlvX29wcy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMC4uMzE3NTE4 ZjMwNjIxCi0tLSAvZGV2L251bGwKKysrIGIvaW5jbHVkZS9saW51eC9tZGV2X3ZmaW9fb3BzLmgK QEAgLTAsMCArMSw1MiBAQAorLyogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQTC0yLjAtb25s eSAqLworLyoKKyAqIFZGSU8gTWVkaWF0ZWQgZGV2aWNlIGRlZmluaXRpb24KKyAqLworCisjaWZu ZGVmIE1ERVZfVkZJT19PUFNfSAorI2RlZmluZSBNREVWX1ZGSU9fT1BTX0gKKworI2luY2x1ZGUg PGxpbnV4L21kZXYuaD4KKworLyoqCisgKiBzdHJ1Y3QgbWRldl92ZmlvX2RldmljZV9vcHMgLSBT dHJ1Y3R1cmUgdG8gYmUgcmVnaXN0ZXJlZCBmb3IgZWFjaAorICogbWRldiBkZXZpY2UgdG8gcmVn aXN0ZXIgdGhlIGRldmljZSB0byB2ZmlvLW1kZXYgbW9kdWxlLgorICoKKyAqIEBvcGVuOgkJT3Bl biBtZWRpYXRlZCBkZXZpY2UuCisgKgkJCUBtZGV2OiBtZWRpYXRlZCBkZXZpY2UuCisgKgkJCVJl dHVybnMgaW50ZWdlcjogc3VjY2VzcyAoMCkgb3IgZXJyb3IgKDwgMCkKKyAqIEByZWxlYXNlOgkJ cmVsZWFzZSBtZWRpYXRlZCBkZXZpY2UKKyAqCQkJQG1kZXY6IG1lZGlhdGVkIGRldmljZS4KKyAq IEByZWFkOgkJUmVhZCBlbXVsYXRpb24gY2FsbGJhY2sKKyAqCQkJQG1kZXY6IG1lZGlhdGVkIGRl dmljZSBzdHJ1Y3R1cmUKKyAqCQkJQGJ1ZjogcmVhZCBidWZmZXIKKyAqCQkJQGNvdW50OiBudW1i ZXIgb2YgYnl0ZXMgdG8gcmVhZAorICoJCQlAcHBvczogYWRkcmVzcy4KKyAqCQkJUmV0dW5zIG51 bWJlciBvbiBieXRlcyByZWFkIG9uIHN1Y2Nlc3Mgb3IgZXJyb3IuCisgKiBAd3JpdGU6CQlXcml0 ZSBlbXVsYXRpb24gY2FsbGJhY2sKKyAqCQkJQG1kZXY6IG1lZGlhdGVkIGRldmljZSBzdHJ1Y3R1 cmUKKyAqCQkJQGJ1Zjogd3JpdGUgYnVmZmVyCisgKgkJCUBjb3VudDogbnVtYmVyIG9mIGJ5dGVz IHRvIGJlIHdyaXR0ZW4KKyAqCQkJQHBwb3M6IGFkZHJlc3MuCisgKgkJCVJldHVucyBudW1iZXIg b24gYnl0ZXMgd3JpdHRlbiBvbiBzdWNjZXNzIG9yIGVycm9yLgorICogQGlvY3RsOgkJSU9DVEwg Y2FsbGJhY2sKKyAqCQkJQG1kZXY6IG1lZGlhdGVkIGRldmljZSBzdHJ1Y3R1cmUKKyAqCQkJQGNt ZDogaW9jdGwgY29tbWFuZAorICoJCQlAYXJnOiBhcmd1bWVudHMgdG8gaW9jdGwKKyAqIEBtbWFw OgkJbW1hcCBjYWxsYmFjaworICoJCQlAbWRldjogbWVkaWF0ZWQgZGV2aWNlIHN0cnVjdHVyZQor ICoJCQlAdm1hOiB2bWEgc3RydWN0dXJlCisgKi8KK3N0cnVjdCBtZGV2X3ZmaW9fZGV2aWNlX29w cyB7CisJaW50ICAgICAoKm9wZW4pKHN0cnVjdCBtZGV2X2RldmljZSAqbWRldik7CisJdm9pZCAg ICAoKnJlbGVhc2UpKHN0cnVjdCBtZGV2X2RldmljZSAqbWRldik7CisJc3NpemVfdCAoKnJlYWQp KHN0cnVjdCBtZGV2X2RldmljZSAqbWRldiwgY2hhciBfX3VzZXIgKmJ1ZiwKKwkJCXNpemVfdCBj b3VudCwgbG9mZl90ICpwcG9zKTsKKwlzc2l6ZV90ICgqd3JpdGUpKHN0cnVjdCBtZGV2X2Rldmlj ZSAqbWRldiwgY29uc3QgY2hhciBfX3VzZXIgKmJ1ZiwKKwkJCSBzaXplX3QgY291bnQsIGxvZmZf dCAqcHBvcyk7CisJbG9uZwkoKmlvY3RsKShzdHJ1Y3QgbWRldl9kZXZpY2UgKm1kZXYsIHVuc2ln bmVkIGludCBjbWQsCisJCQkgdW5zaWduZWQgbG9uZyBhcmcpOworCWludAkoKm1tYXApKHN0cnVj dCBtZGV2X2RldmljZSAqbWRldiwgc3RydWN0IHZtX2FyZWFfc3RydWN0ICp2bWEpOworfTsKKwor I2VuZGlmCmRpZmYgLS1naXQgYS9zYW1wbGVzL3ZmaW8tbWRldi9tYm9jaHMuYyBiL3NhbXBsZXMv dmZpby1tZGV2L21ib2Nocy5jCmluZGV4IDExNWJjNTA3NDY1Ni4uMTI5NjM3NjdiYTM3IDEwMDY0 NAotLS0gYS9zYW1wbGVzL3ZmaW8tbWRldi9tYm9jaHMuYworKysgYi9zYW1wbGVzL3ZmaW8tbWRl di9tYm9jaHMuYwpAQCAtMzAsNiArMzAsNyBAQAogI2luY2x1ZGUgPGxpbnV4L2lvbW11Lmg+CiAj aW5jbHVkZSA8bGludXgvc3lzZnMuaD4KICNpbmNsdWRlIDxsaW51eC9tZGV2Lmg+CisjaW5jbHVk ZSA8bGludXgvbWRldl92ZmlvX29wcy5oPgogI2luY2x1ZGUgPGxpbnV4L3BjaS5oPgogI2luY2x1 ZGUgPGxpbnV4L2RtYS1idWYuaD4KICNpbmNsdWRlIDxsaW51eC9oaWdobWVtLmg+CkBAIC01MTYs NiArNTE3LDggQEAgc3RhdGljIGludCBtYm9jaHNfcmVzZXQoc3RydWN0IG1kZXZfZGV2aWNlICpt ZGV2KQogCXJldHVybiAwOwogfQogCitzdGF0aWMgY29uc3Qgc3RydWN0IG1kZXZfdmZpb19kZXZp Y2Vfb3BzIG1kZXZfdmZpb19vcHM7CisKIHN0YXRpYyBpbnQgbWJvY2hzX2NyZWF0ZShzdHJ1Y3Qg a29iamVjdCAqa29iaiwgc3RydWN0IG1kZXZfZGV2aWNlICptZGV2KQogewogCWNvbnN0IHN0cnVj dCBtYm9jaHNfdHlwZSAqdHlwZSA9IG1ib2Noc19maW5kX3R5cGUoa29iaik7CkBAIC01NjEsNyAr NTY0LDcgQEAgc3RhdGljIGludCBtYm9jaHNfY3JlYXRlKHN0cnVjdCBrb2JqZWN0ICprb2JqLCBz dHJ1Y3QgbWRldl9kZXZpY2UgKm1kZXYpCiAJbWJvY2hzX3Jlc2V0KG1kZXYpOwogCiAJbWJvY2hz X3VzZWRfbWJ5dGVzICs9IHR5cGUtPm1ieXRlczsKLQltZGV2X3NldF9jbGFzcyhtZGV2LCBNREVW X0NMQVNTX0lEX1ZGSU8pOworCW1kZXZfc2V0X3ZmaW9fb3BzKG1kZXYsICZtZGV2X3ZmaW9fb3Bz KTsKIAlyZXR1cm4gMDsKIAogZXJyX21lbToKQEAgLTE0MTksMTIgKzE0MjIsNyBAQCBzdGF0aWMg c3RydWN0IGF0dHJpYnV0ZV9ncm91cCAqbWRldl90eXBlX2dyb3Vwc1tdID0gewogCU5VTEwsCiB9 OwogCi1zdGF0aWMgY29uc3Qgc3RydWN0IG1kZXZfcGFyZW50X29wcyBtZGV2X2ZvcHMgPSB7Ci0J Lm93bmVyCQkJPSBUSElTX01PRFVMRSwKLQkubWRldl9hdHRyX2dyb3Vwcwk9IG1kZXZfZGV2X2dy b3VwcywKLQkuc3VwcG9ydGVkX3R5cGVfZ3JvdXBzCT0gbWRldl90eXBlX2dyb3VwcywKLQkuY3Jl YXRlCQkJPSBtYm9jaHNfY3JlYXRlLAotCS5yZW1vdmUJCQk9IG1ib2Noc19yZW1vdmUsCitzdGF0 aWMgY29uc3Qgc3RydWN0IG1kZXZfdmZpb19kZXZpY2Vfb3BzIG1kZXZfdmZpb19vcHMgPSB7CiAJ Lm9wZW4JCQk9IG1ib2Noc19vcGVuLAogCS5yZWxlYXNlCQk9IG1ib2Noc19jbG9zZSwKIAkucmVh ZAkJCT0gbWJvY2hzX3JlYWQsCkBAIC0xNDMzLDYgKzE0MzEsMTQgQEAgc3RhdGljIGNvbnN0IHN0 cnVjdCBtZGV2X3BhcmVudF9vcHMgbWRldl9mb3BzID0gewogCS5tbWFwCQkJPSBtYm9jaHNfbW1h cCwKIH07CiAKK3N0YXRpYyBjb25zdCBzdHJ1Y3QgbWRldl9wYXJlbnRfb3BzIG1kZXZfZm9wcyA9 IHsKKwkub3duZXIJCQk9IFRISVNfTU9EVUxFLAorCS5tZGV2X2F0dHJfZ3JvdXBzCT0gbWRldl9k ZXZfZ3JvdXBzLAorCS5zdXBwb3J0ZWRfdHlwZV9ncm91cHMJPSBtZGV2X3R5cGVfZ3JvdXBzLAor CS5jcmVhdGUJCQk9IG1ib2Noc19jcmVhdGUsCisJLnJlbW92ZQkJCT0gbWJvY2hzX3JlbW92ZSwK K307CisKIHN0YXRpYyBjb25zdCBzdHJ1Y3QgZmlsZV9vcGVyYXRpb25zIHZkX2ZvcHMgPSB7CiAJ Lm93bmVyCQk9IFRISVNfTU9EVUxFLAogfTsKZGlmZiAtLWdpdCBhL3NhbXBsZXMvdmZpby1tZGV2 L21kcHkuYyBiL3NhbXBsZXMvdmZpby1tZGV2L21kcHkuYwppbmRleCA2NjU2MTQ1NzRkNTAuLjUw ZWU2Yzk4YjJhZiAxMDA2NDQKLS0tIGEvc2FtcGxlcy92ZmlvLW1kZXYvbWRweS5jCisrKyBiL3Nh bXBsZXMvdmZpby1tZGV2L21kcHkuYwpAQCAtMjYsNiArMjYsNyBAQAogI2luY2x1ZGUgPGxpbnV4 L2lvbW11Lmg+CiAjaW5jbHVkZSA8bGludXgvc3lzZnMuaD4KICNpbmNsdWRlIDxsaW51eC9tZGV2 Lmg+CisjaW5jbHVkZSA8bGludXgvbWRldl92ZmlvX29wcy5oPgogI2luY2x1ZGUgPGxpbnV4L3Bj aS5oPgogI2luY2x1ZGUgPGRybS9kcm1fZm91cmNjLmg+CiAjaW5jbHVkZSAibWRweS1kZWZzLmgi CkBAIC0yMjYsNiArMjI3LDggQEAgc3RhdGljIGludCBtZHB5X3Jlc2V0KHN0cnVjdCBtZGV2X2Rl dmljZSAqbWRldikKIAlyZXR1cm4gMDsKIH0KIAorc3RhdGljIGNvbnN0IHN0cnVjdCBtZGV2X3Zm aW9fZGV2aWNlX29wcyBtZGV2X3ZmaW9fb3BzOworCiBzdGF0aWMgaW50IG1kcHlfY3JlYXRlKHN0 cnVjdCBrb2JqZWN0ICprb2JqLCBzdHJ1Y3QgbWRldl9kZXZpY2UgKm1kZXYpCiB7CiAJY29uc3Qg c3RydWN0IG1kcHlfdHlwZSAqdHlwZSA9IG1kcHlfZmluZF90eXBlKGtvYmopOwpAQCAtMjY5LDcg KzI3Miw3IEBAIHN0YXRpYyBpbnQgbWRweV9jcmVhdGUoc3RydWN0IGtvYmplY3QgKmtvYmosIHN0 cnVjdCBtZGV2X2RldmljZSAqbWRldikKIAltZHB5X3Jlc2V0KG1kZXYpOwogCiAJbWRweV9jb3Vu dCsrOwotCW1kZXZfc2V0X2NsYXNzKG1kZXYsIE1ERVZfQ0xBU1NfSURfVkZJTyk7CisJbWRldl9z ZXRfdmZpb19vcHMobWRldiwgJm1kZXZfdmZpb19vcHMpOwogCXJldHVybiAwOwogfQogCkBAIC03 MjYsMTIgKzcyOSw3IEBAIHN0YXRpYyBzdHJ1Y3QgYXR0cmlidXRlX2dyb3VwICptZGV2X3R5cGVf Z3JvdXBzW10gPSB7CiAJTlVMTCwKIH07CiAKLXN0YXRpYyBjb25zdCBzdHJ1Y3QgbWRldl9wYXJl bnRfb3BzIG1kZXZfZm9wcyA9IHsKLQkub3duZXIJCQk9IFRISVNfTU9EVUxFLAotCS5tZGV2X2F0 dHJfZ3JvdXBzCT0gbWRldl9kZXZfZ3JvdXBzLAotCS5zdXBwb3J0ZWRfdHlwZV9ncm91cHMJPSBt ZGV2X3R5cGVfZ3JvdXBzLAotCS5jcmVhdGUJCQk9IG1kcHlfY3JlYXRlLAotCS5yZW1vdmUJCQk9 IG1kcHlfcmVtb3ZlLAorc3RhdGljIGNvbnN0IHN0cnVjdCBtZGV2X3ZmaW9fZGV2aWNlX29wcyBt ZGV2X3ZmaW9fb3BzID0gewogCS5vcGVuCQkJPSBtZHB5X29wZW4sCiAJLnJlbGVhc2UJCT0gbWRw eV9jbG9zZSwKIAkucmVhZAkJCT0gbWRweV9yZWFkLApAQCAtNzQwLDYgKzczOCwxNCBAQCBzdGF0 aWMgY29uc3Qgc3RydWN0IG1kZXZfcGFyZW50X29wcyBtZGV2X2ZvcHMgPSB7CiAJLm1tYXAJCQk9 IG1kcHlfbW1hcCwKIH07CiAKK3N0YXRpYyBjb25zdCBzdHJ1Y3QgbWRldl9wYXJlbnRfb3BzIG1k ZXZfZm9wcyA9IHsKKwkub3duZXIJCQk9IFRISVNfTU9EVUxFLAorCS5tZGV2X2F0dHJfZ3JvdXBz CT0gbWRldl9kZXZfZ3JvdXBzLAorCS5zdXBwb3J0ZWRfdHlwZV9ncm91cHMJPSBtZGV2X3R5cGVf Z3JvdXBzLAorCS5jcmVhdGUJCQk9IG1kcHlfY3JlYXRlLAorCS5yZW1vdmUJCQk9IG1kcHlfcmVt b3ZlLAorfTsKKwogc3RhdGljIGNvbnN0IHN0cnVjdCBmaWxlX29wZXJhdGlvbnMgdmRfZm9wcyA9 IHsKIAkub3duZXIJCT0gVEhJU19NT0RVTEUsCiB9OwpkaWZmIC0tZ2l0IGEvc2FtcGxlcy92Zmlv LW1kZXYvbXR0eS5jIGIvc2FtcGxlcy92ZmlvLW1kZXYvbXR0eS5jCmluZGV4IDkwZGExMmZmN2Zk OS4uYmU0NzZlN2FkMWY4IDEwMDY0NAotLS0gYS9zYW1wbGVzL3ZmaW8tbWRldi9tdHR5LmMKKysr IGIvc2FtcGxlcy92ZmlvLW1kZXYvbXR0eS5jCkBAIC0yNyw2ICsyNyw3IEBACiAjaW5jbHVkZSA8 bGludXgvY3R5cGUuaD4KICNpbmNsdWRlIDxsaW51eC9maWxlLmg+CiAjaW5jbHVkZSA8bGludXgv bWRldi5oPgorI2luY2x1ZGUgPGxpbnV4L21kZXZfdmZpb19vcHMuaD4KICNpbmNsdWRlIDxsaW51 eC9wY2kuaD4KICNpbmNsdWRlIDxsaW51eC9zZXJpYWwuaD4KICNpbmNsdWRlIDx1YXBpL2xpbnV4 L3NlcmlhbF9yZWcuaD4KQEAgLTcwOCw2ICs3MDksOCBAQCBzdGF0aWMgc3NpemVfdCBtZGV2X2Fj Y2VzcyhzdHJ1Y3QgbWRldl9kZXZpY2UgKm1kZXYsIHU4ICpidWYsIHNpemVfdCBjb3VudCwKIAly ZXR1cm4gcmV0OwogfQogCitzdGF0aWMgY29uc3Qgc3RydWN0IG1kZXZfdmZpb19kZXZpY2Vfb3Bz IHZmaW9fZGV2X29wczsKKwogc3RhdGljIGludCBtdHR5X2NyZWF0ZShzdHJ1Y3Qga29iamVjdCAq a29iaiwgc3RydWN0IG1kZXZfZGV2aWNlICptZGV2KQogewogCXN0cnVjdCBtZGV2X3N0YXRlICpt ZGV2X3N0YXRlOwpAQCAtNzU1LDcgKzc1OCw3IEBAIHN0YXRpYyBpbnQgbXR0eV9jcmVhdGUoc3Ry dWN0IGtvYmplY3QgKmtvYmosIHN0cnVjdCBtZGV2X2RldmljZSAqbWRldikKIAlsaXN0X2FkZCgm bWRldl9zdGF0ZS0+bmV4dCwgJm1kZXZfZGV2aWNlc19saXN0KTsKIAltdXRleF91bmxvY2soJm1k ZXZfbGlzdF9sb2NrKTsKIAotCW1kZXZfc2V0X2NsYXNzKG1kZXYsIE1ERVZfQ0xBU1NfSURfVkZJ Tyk7CisJbWRldl9zZXRfdmZpb19vcHMobWRldiwgJnZmaW9fZGV2X29wcyk7CiAJcmV0dXJuIDA7 CiB9CiAKQEAgLTEzODgsNiArMTM5MSwxNCBAQCBzdGF0aWMgc3RydWN0IGF0dHJpYnV0ZV9ncm91 cCAqbWRldl90eXBlX2dyb3Vwc1tdID0gewogCU5VTEwsCiB9OwogCitzdGF0aWMgY29uc3Qgc3Ry dWN0IG1kZXZfdmZpb19kZXZpY2Vfb3BzIHZmaW9fZGV2X29wcyA9IHsKKwkub3BlbgkJPSBtdHR5 X29wZW4sCisJLnJlbGVhc2UJPSBtdHR5X2Nsb3NlLAorCS5yZWFkCQk9IG10dHlfcmVhZCwKKwku d3JpdGUJCT0gbXR0eV93cml0ZSwKKwkuaW9jdGwJCT0gbXR0eV9pb2N0bCwKK307CisKIHN0YXRp YyBjb25zdCBzdHJ1Y3QgbWRldl9wYXJlbnRfb3BzIG1kZXZfZm9wcyA9IHsKIAkub3duZXIgICAg ICAgICAgICAgICAgICA9IFRISVNfTU9EVUxFLAogCS5kZXZfYXR0cl9ncm91cHMgICAgICAgID0g bXR0eV9kZXZfZ3JvdXBzLApAQCAtMTM5NSwxMSArMTQwNiw2IEBAIHN0YXRpYyBjb25zdCBzdHJ1 Y3QgbWRldl9wYXJlbnRfb3BzIG1kZXZfZm9wcyA9IHsKIAkuc3VwcG9ydGVkX3R5cGVfZ3JvdXBz ICA9IG1kZXZfdHlwZV9ncm91cHMsCiAJLmNyZWF0ZSAgICAgICAgICAgICAgICAgPSBtdHR5X2Ny ZWF0ZSwKIAkucmVtb3ZlCQkJPSBtdHR5X3JlbW92ZSwKLQkub3BlbiAgICAgICAgICAgICAgICAg ICA9IG10dHlfb3BlbiwKLQkucmVsZWFzZSAgICAgICAgICAgICAgICA9IG10dHlfY2xvc2UsCi0J LnJlYWQgICAgICAgICAgICAgICAgICAgPSBtdHR5X3JlYWQsCi0JLndyaXRlICAgICAgICAgICAg ICAgICAgPSBtdHR5X3dyaXRlLAotCS5pb2N0bAkJICAgICAgICA9IG10dHlfaW9jdGwsCiB9Owog CiBzdGF0aWMgdm9pZCBtdHR5X2RldmljZV9yZWxlYXNlKHN0cnVjdCBkZXZpY2UgKmRldikKLS0g CjIuMTkuMQoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18K SW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0 dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4