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.8 required=3.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS autolearn=ham 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 D8FF7C47E49 for ; Wed, 6 Nov 2019 13:40:33 +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 AE2B02166E for ; Wed, 6 Nov 2019 13:40:33 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org AE2B02166E Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=redhat.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=dri-devel-bounces@lists.freedesktop.org Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id DBA8D6ED41; Wed, 6 Nov 2019 13:40:32 +0000 (UTC) Received: from us-smtp-delivery-1.mimecast.com (us-smtp-1.mimecast.com [205.139.110.61]) by gabe.freedesktop.org (Postfix) with ESMTPS id 5B7DC6ED41 for ; Wed, 6 Nov 2019 13:40:31 +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-134-5Cvay2IcMtiJZLFOESjbiw-1; Wed, 06 Nov 2019 08:40:25 -0500 Received: from smtp.corp.redhat.com (int-mx08.intmail.prod.int.phx2.redhat.com [10.5.11.23]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id C4204800C72; Wed, 6 Nov 2019 13:40:21 +0000 (UTC) Received: from jason-ThinkPad-X1-Carbon-6th.redhat.com (ovpn-12-193.pek2.redhat.com [10.72.12.193]) by smtp.corp.redhat.com (Postfix) with ESMTP id D5B6619756; Wed, 6 Nov 2019 13:39:15 +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 Subject: [PATCH V10 3/6] mdev: introduce device specific ops Date: Wed, 6 Nov 2019 21:35:28 +0800 Message-Id: <20191106133531.693-4-jasowang@redhat.com> In-Reply-To: <20191106133531.693-1-jasowang@redhat.com> References: <20191106133531.693-1-jasowang@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.84 on 10.5.11.23 X-MC-Unique: 5Cvay2IcMtiJZLFOESjbiw-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=1573047630; 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=SsFfHA12rLKQuNw+Ju5OJCJI1NTIItUqVY4qTacphZY=; b=D6pSzjshwDbOau5BDOdOkCAe69e/rqVKgMS7levRX1Mb/fP0taBc3Qzpqr+ktoMOQc/4NV ZMVcg8YO+JoQkN1Oyq/cc+LclhUCfdV1ka6gQWqJvlE32HwCIFtrHbUiO1x7CRTpIczaq5 Q2hWvKQbfc4eWgbh08e/LtPuJGmCWTU= X-BeenThere: dri-devel@lists.freedesktop.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Direct Rendering Infrastructure - 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, kevin.tian@intel.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, zhi.a.wang@intel.com, farman@linux.ibm.com, idos@mellanox.com, gor@linux.ibm.com, cunming.liang@intel.com, rodrigo.vivi@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: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" Message-ID: <20191106133528.UTZtxrS8GuPqr5qdfKzdsZRD_Z7cdBsnwWynnd6fDXA@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 ZXItYXBpL3ZmaW8tbWVkaWF0ZWQtZGV2aWNlLnJzdAppbmRleCA2NzA5NDEzYmVlMjkuLjA0ZDU2 ODg0YzM1NyAxMDA2NDQKLS0tIGEvRG9jdW1lbnRhdGlvbi9kcml2ZXItYXBpL3ZmaW8tbWVkaWF0 ZWQtZGV2aWNlLnJzdAorKysgYi9Eb2N1bWVudGF0aW9uL2RyaXZlci1hcGkvdmZpby1tZWRpYXRl ZC1kZXZpY2UucnN0CkBAIC0xNTIsMTUgKzE1Miw2IEBAIGNhbGxiYWNrcyBwZXIgbWRldiBwYXJl bnQgZGV2aWNlLCBwZXIgbWRldiB0eXBlLCBvciBhbnkgb3RoZXIgY2F0ZWdvcml6YXRpb24uCiBW ZW5kb3IgZHJpdmVycyBhcmUgZXhwZWN0ZWQgdG8gYmUgZnVsbHkgYXN5bmNocm9ub3VzIGluIHRo aXMgcmVzcGVjdCBvcgogcHJvdmlkZSB0aGVpciBvd24gaW50ZXJuYWwgcmVzb3VyY2UgcHJvdGVj dGlvbi4pCiAKLVRoZSBjYWxsYmFja3MgaW4gdGhlIG1kZXZfcGFyZW50X29wcyBzdHJ1Y3R1cmUg YXJlIGFzIGZvbGxvd3M6Ci0KLSogb3Blbjogb3BlbiBjYWxsYmFjayBvZiBtZWRpYXRlZCBkZXZp Y2UKLSogY2xvc2U6IGNsb3NlIGNhbGxiYWNrIG9mIG1lZGlhdGVkIGRldmljZQotKiBpb2N0bDog aW9jdGwgY2FsbGJhY2sgb2YgbWVkaWF0ZWQgZGV2aWNlCi0qIHJlYWQgOiByZWFkIGVtdWxhdGlv biBjYWxsYmFjawotKiB3cml0ZTogd3JpdGUgZW11bGF0aW9uIGNhbGxiYWNrCi0qIG1tYXA6IG1t YXAgZW11bGF0aW9uIGNhbGxiYWNrCi0KIEEgZHJpdmVyIHNob3VsZCB1c2UgdGhlIG1kZXZfcGFy ZW50X29wcyBzdHJ1Y3R1cmUgaW4gdGhlIGZ1bmN0aW9uIGNhbGwgdG8KIHJlZ2lzdGVyIGl0c2Vs ZiB3aXRoIHRoZSBtZGV2IGNvcmUgZHJpdmVyOjoKIApAQCAtMTcyLDEwICsxNjMsMzQgQEAgdGhh dCBhIGRyaXZlciBzaG91bGQgdXNlIHRvIHVucmVnaXN0ZXIgaXRzZWxmIHdpdGggdGhlIG1kZXYg Y29yZSBkcml2ZXI6OgogCiAJZXh0ZXJuIHZvaWQgbWRldl91bnJlZ2lzdGVyX2RldmljZShzdHJ1 Y3QgZGV2aWNlICpkZXYpOwogCi1JdCBpcyBhbHNvIHJlcXVpcmVkIHRvIHNwZWNpZnkgdGhlIGNs YXNzX2lkIGluIGNyZWF0ZSgpIGNhbGxiYWNrIHRocm91Z2g6OgorQXMgbXVsdGlwbGUgdHlwZXMg b2YgbWVkaWF0ZWQgZGV2aWNlcyBtYXkgYmUgc3VwcG9ydGVkLCBjbGFzcyBpZCBuZWVkcwordG8g YmUgc3BlY2lmaWVkIGluIHRoZSBjcmVhdGUoKSBjYWxsYmFjay4gVGhpcyBjb3VsZCBiZSBkb25l CitleHBsaWNpdGx5IGZvciB0aGUgZGV2aWNlIHRoYXQgaW50ZXJhY3RzIHdpdGggdGhlIG1kZXYg ZGV2aWNlIGRpcmVjdGx5Cit0aHJvdWdoOjoKIAogCWludCBtZGV2X3NldF9jbGFzcyhzdHJ1Y3Qg bWRldl9kZXZpY2UgKm1kZXYsIHUxNiBpZCk7CiAKK0ZvciB0aGUgZGV2aWNlIHRoYXQgdXNlcyB0 aGUgbWRldiBidXMgZm9yIGl0cyBvcGVyYXRpb24sIHRoZSBjbGFzcworc2hvdWxkIHByb3ZpZGUg aGVscGVyIGZ1bmN0aW9uIHRvIHNldCBjbGFzcyBpZCBhbmQgZGV2aWNlIHNwZWNpZmljCitvcHMu IEUuZyBmb3IgdmZpby1tZGV2IGRldmljZXMsIHRoZSBmdW5jdGlvbiB0byBiZSBjYWxsZWQgaXM6 OgorCisJaW50IG1kZXZfc2V0X3ZmaW9fb3BzKHN0cnVjdCBtZGV2X2RldmljZSAqbWRldiwKKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0cnVjdCBtZGV2X3ZmaW9fZGV2aWNl X29wcyAqdmZpb19vcHMpOworCitUaGUgY2xhc3MgaWQgKHNldCBieSB0aGlzIGZ1bmN0aW9uIHRv IE1ERVZfQ0xBU1NfSURfVkZJTykgaXMgdXNlZCB0bworbWF0Y2ggYSBkZXZpY2Ugd2l0aCBhbiBt ZGV2IGRyaXZlciB2aWEgaXRzIGlkIHRhYmxlLiBUaGUgZGV2aWNlCitzcGVjaWZpYyBjYWxsYmFj a3MgKHNwZWNpZmllZCBpbiAqdmZpb19vcHMpIGFyZSBvYnRhaW5hYmxlIHZpYQorbWRldl9nZXRf dmZpb19vcHMoKSAoZm9yIHVzZSBieSB0aGUgbWRldiBidXMgZHJpdmVyKS4gQSB2ZmlvLW1kZXYK K2RldmljZSAoY2xhc3MgaWQgTURFVl9DTEFTU19JRF9WRklPKSB1c2VzIHRoZSBmb2xsb3dpbmcK K2RldmljZS1zcGVjaWZpYyBvcHM6CisKKyogb3Blbjogb3BlbiBjYWxsYmFjayBvZiB2ZmlvIG1l ZGlhdGVkIGRldmljZQorKiBjbG9zZTogY2xvc2UgY2FsbGJhY2sgb2YgdmZpbyBtZWRpYXRlZCBk ZXZpY2UKKyogaW9jdGw6IGlvY3RsIGNhbGxiYWNrIG9mIHZmaW8gbWVkaWF0ZWQgZGV2aWNlCisq IHJlYWQgOiByZWFkIGVtdWxhdGlvbiBjYWxsYmFjaworKiB3cml0ZTogd3JpdGUgZW11bGF0aW9u IGNhbGxiYWNrCisqIG1tYXA6IG1tYXAgZW11bGF0aW9uIGNhbGxiYWNrCisKIE1lZGlhdGVkIERl dmljZSBNYW5hZ2VtZW50IEludGVyZmFjZSBUaHJvdWdoIHN5c2ZzCiA9PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogCmRpZmYgLS1naXQgYS9NQUlOVEFJ TkVSUyBiL01BSU5UQUlORVJTCmluZGV4IGNiYTEwOTU1NDdmZC4uZjY2MWQxMzM0NGQ2IDEwMDY0 NAotLS0gYS9NQUlOVEFJTkVSUworKysgYi9NQUlOVEFJTkVSUwpAQCAtMTcxMjEsNiArMTcxMjEs NyBAQCBTOglNYWludGFpbmVkCiBGOglEb2N1bWVudGF0aW9uL2RyaXZlci1hcGkvdmZpby1tZWRp YXRlZC1kZXZpY2UucnN0CiBGOglkcml2ZXJzL3ZmaW8vbWRldi8KIEY6CWluY2x1ZGUvbGludXgv bWRldi5oCitGOglpbmNsdWRlL2xpbnV4L21kZXZfdmZpb19vcHMuaAogRjoJc2FtcGxlcy92Zmlv LW1kZXYvCiAKIFZGSU8gUExBVEZPUk0gRFJJVkVSCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9k cm0vaTkxNS9ndnQva3ZtZ3QuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d2dC9rdm1ndC5jCmlu ZGV4IDY0MjBmMGRiZDMxYi4uNjYyZjNhNjcyMzcyIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9k cm0vaTkxNS9ndnQva3ZtZ3QuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndnQva3ZtZ3Qu YwpAQCAtNDIsNiArNDIsNyBAQAogI2luY2x1ZGUgPGxpbnV4L2t2bV9ob3N0Lmg+CiAjaW5jbHVk ZSA8bGludXgvdmZpby5oPgogI2luY2x1ZGUgPGxpbnV4L21kZXYuaD4KKyNpbmNsdWRlIDxsaW51 eC9tZGV2X3ZmaW9fb3BzLmg+CiAjaW5jbHVkZSA8bGludXgvZGVidWdmcy5oPgogCiAjaW5jbHVk ZSA8bGludXgvbm9zcGVjLmg+CkBAIC02NDMsNiArNjQ0LDggQEAgc3RhdGljIHZvaWQga3ZtZ3Rf cHV0X3ZmaW9fZGV2aWNlKHZvaWQgKnZncHUpCiAJdmZpb19kZXZpY2VfcHV0KCgoc3RydWN0IGlu dGVsX3ZncHUgKil2Z3B1KS0+dmRldi52ZmlvX2RldmljZSk7CiB9CiAKK3N0YXRpYyBjb25zdCBz dHJ1Y3QgbWRldl92ZmlvX2RldmljZV9vcHMgaW50ZWxfdmZpb192Z3B1X2Rldl9vcHM7CisKIHN0 YXRpYyBpbnQgaW50ZWxfdmdwdV9jcmVhdGUoc3RydWN0IGtvYmplY3QgKmtvYmosIHN0cnVjdCBt ZGV2X2RldmljZSAqbWRldikKIHsKIAlzdHJ1Y3QgaW50ZWxfdmdwdSAqdmdwdSA9IE5VTEw7CkBA IC02NzgsNyArNjgxLDcgQEAgc3RhdGljIGludCBpbnRlbF92Z3B1X2NyZWF0ZShzdHJ1Y3Qga29i amVjdCAqa29iaiwgc3RydWN0IG1kZXZfZGV2aWNlICptZGV2KQogCQkgICAgIGRldl9uYW1lKG1k ZXZfZGV2KG1kZXYpKSk7CiAJcmV0ID0gMDsKIAotCW1kZXZfc2V0X2NsYXNzKG1kZXYsIE1ERVZf Q0xBU1NfSURfVkZJTyk7CisJbWRldl9zZXRfdmZpb19vcHMobWRldiwgJmludGVsX3ZmaW9fdmdw dV9kZXZfb3BzKTsKIG91dDoKIAlyZXR1cm4gcmV0OwogfQpAQCAtMTU5OSwyMCArMTYwMiwyMSBA QCBzdGF0aWMgY29uc3Qgc3RydWN0IGF0dHJpYnV0ZV9ncm91cCAqaW50ZWxfdmdwdV9ncm91cHNb XSA9IHsKIAlOVUxMLAogfTsKIAotc3RhdGljIHN0cnVjdCBtZGV2X3BhcmVudF9vcHMgaW50ZWxf dmdwdV9vcHMgPSB7Ci0JLm1kZXZfYXR0cl9ncm91cHMgICAgICAgPSBpbnRlbF92Z3B1X2dyb3Vw cywKLQkuY3JlYXRlCQkJPSBpbnRlbF92Z3B1X2NyZWF0ZSwKLQkucmVtb3ZlCQkJPSBpbnRlbF92 Z3B1X3JlbW92ZSwKLQorc3RhdGljIGNvbnN0IHN0cnVjdCBtZGV2X3ZmaW9fZGV2aWNlX29wcyBp bnRlbF92ZmlvX3ZncHVfZGV2X29wcyA9IHsKIAkub3BlbgkJCT0gaW50ZWxfdmdwdV9vcGVuLAog CS5yZWxlYXNlCQk9IGludGVsX3ZncHVfcmVsZWFzZSwKLQogCS5yZWFkCQkJPSBpbnRlbF92Z3B1 X3JlYWQsCiAJLndyaXRlCQkJPSBpbnRlbF92Z3B1X3dyaXRlLAogCS5tbWFwCQkJPSBpbnRlbF92 Z3B1X21tYXAsCiAJLmlvY3RsCQkJPSBpbnRlbF92Z3B1X2lvY3RsLAogfTsKIAorc3RhdGljIHN0 cnVjdCBtZGV2X3BhcmVudF9vcHMgaW50ZWxfdmdwdV9vcHMgPSB7CisJLm1kZXZfYXR0cl9ncm91 cHMgICAgICAgPSBpbnRlbF92Z3B1X2dyb3VwcywKKwkuY3JlYXRlCQkJPSBpbnRlbF92Z3B1X2Ny ZWF0ZSwKKwkucmVtb3ZlCQkJPSBpbnRlbF92Z3B1X3JlbW92ZSwKK307CisKIHN0YXRpYyBpbnQg a3ZtZ3RfaG9zdF9pbml0KHN0cnVjdCBkZXZpY2UgKmRldiwgdm9pZCAqZ3Z0LCBjb25zdCB2b2lk ICpvcHMpCiB7CiAJc3RydWN0IGF0dHJpYnV0ZSAqKmt2bV90eXBlX2F0dHJzOwpkaWZmIC0tZ2l0 IGEvZHJpdmVycy9zMzkwL2Npby92ZmlvX2Njd19vcHMuYyBiL2RyaXZlcnMvczM5MC9jaW8vdmZp b19jY3dfb3BzLmMKaW5kZXggY2YyYzAxM2FlMzJmLi5mYTQ3M2RlZDcxYzcgMTAwNjQ0Ci0tLSBh L2RyaXZlcnMvczM5MC9jaW8vdmZpb19jY3dfb3BzLmMKKysrIGIvZHJpdmVycy9zMzkwL2Npby92 ZmlvX2Njd19vcHMuYwpAQCAtMTIsNiArMTIsNyBAQAogCiAjaW5jbHVkZSA8bGludXgvdmZpby5o PgogI2luY2x1ZGUgPGxpbnV4L21kZXYuaD4KKyNpbmNsdWRlIDxsaW51eC9tZGV2X3ZmaW9fb3Bz Lmg+CiAjaW5jbHVkZSA8bGludXgvbm9zcGVjLmg+CiAjaW5jbHVkZSA8bGludXgvc2xhYi5oPgog CkBAIC0xMTAsNiArMTExLDggQEAgc3RhdGljIHN0cnVjdCBhdHRyaWJ1dGVfZ3JvdXAgKm1kZXZf dHlwZV9ncm91cHNbXSA9IHsKIAlOVUxMLAogfTsKIAorc3RhdGljIGNvbnN0IHN0cnVjdCBtZGV2 X3ZmaW9fZGV2aWNlX29wcyBtZGV2X3ZmaW9fb3BzOworCiBzdGF0aWMgaW50IHZmaW9fY2N3X21k ZXZfY3JlYXRlKHN0cnVjdCBrb2JqZWN0ICprb2JqLCBzdHJ1Y3QgbWRldl9kZXZpY2UgKm1kZXYp CiB7CiAJc3RydWN0IHZmaW9fY2N3X3ByaXZhdGUgKnByaXZhdGUgPQpAQCAtMTI5LDcgKzEzMiw3 IEBAIHN0YXRpYyBpbnQgdmZpb19jY3dfbWRldl9jcmVhdGUoc3RydWN0IGtvYmplY3QgKmtvYmos IHN0cnVjdCBtZGV2X2RldmljZSAqbWRldikKIAkJCSAgIHByaXZhdGUtPnNjaC0+c2NoaWQuc3Np ZCwKIAkJCSAgIHByaXZhdGUtPnNjaC0+c2NoaWQuc2NoX25vKTsKIAotCW1kZXZfc2V0X2NsYXNz KG1kZXYsIE1ERVZfQ0xBU1NfSURfVkZJTyk7CisJbWRldl9zZXRfdmZpb19vcHMobWRldiwgJm1k ZXZfdmZpb19vcHMpOwogCXJldHVybiAwOwogfQogCkBAIC01NzUsMTEgKzU3OCw3IEBAIHN0YXRp YyBzc2l6ZV90IHZmaW9fY2N3X21kZXZfaW9jdGwoc3RydWN0IG1kZXZfZGV2aWNlICptZGV2LAog CX0KIH0KIAotc3RhdGljIGNvbnN0IHN0cnVjdCBtZGV2X3BhcmVudF9vcHMgdmZpb19jY3dfbWRl dl9vcHMgPSB7Ci0JLm93bmVyCQkJPSBUSElTX01PRFVMRSwKLQkuc3VwcG9ydGVkX3R5cGVfZ3Jv dXBzICA9IG1kZXZfdHlwZV9ncm91cHMsCi0JLmNyZWF0ZQkJCT0gdmZpb19jY3dfbWRldl9jcmVh dGUsCi0JLnJlbW92ZQkJCT0gdmZpb19jY3dfbWRldl9yZW1vdmUsCitzdGF0aWMgY29uc3Qgc3Ry dWN0IG1kZXZfdmZpb19kZXZpY2Vfb3BzIG1kZXZfdmZpb19vcHMgPSB7CiAJLm9wZW4JCQk9IHZm aW9fY2N3X21kZXZfb3BlbiwKIAkucmVsZWFzZQkJPSB2ZmlvX2Njd19tZGV2X3JlbGVhc2UsCiAJ LnJlYWQJCQk9IHZmaW9fY2N3X21kZXZfcmVhZCwKQEAgLTU4Nyw2ICs1ODYsMTMgQEAgc3RhdGlj IGNvbnN0IHN0cnVjdCBtZGV2X3BhcmVudF9vcHMgdmZpb19jY3dfbWRldl9vcHMgPSB7CiAJLmlv Y3RsCQkJPSB2ZmlvX2Njd19tZGV2X2lvY3RsLAogfTsKIAorc3RhdGljIGNvbnN0IHN0cnVjdCBt ZGV2X3BhcmVudF9vcHMgdmZpb19jY3dfbWRldl9vcHMgPSB7CisJLm93bmVyCQkJPSBUSElTX01P RFVMRSwKKwkuc3VwcG9ydGVkX3R5cGVfZ3JvdXBzICA9IG1kZXZfdHlwZV9ncm91cHMsCisJLmNy ZWF0ZQkJCT0gdmZpb19jY3dfbWRldl9jcmVhdGUsCisJLnJlbW92ZQkJCT0gdmZpb19jY3dfbWRl dl9yZW1vdmUsCit9OworCiBpbnQgdmZpb19jY3dfbWRldl9yZWcoc3RydWN0IHN1YmNoYW5uZWwg KnNjaCkKIHsKIAlyZXR1cm4gbWRldl9yZWdpc3Rlcl9kZXZpY2UoJnNjaC0+ZGV2LCAmdmZpb19j Y3dfbWRldl9vcHMpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9zMzkwL2NyeXB0by92ZmlvX2FwX29w cy5jIGIvZHJpdmVycy9zMzkwL2NyeXB0by92ZmlvX2FwX29wcy5jCmluZGV4IDA3YzMxMDcwYWZl Yi4uN2JkYzYyMzkzMTEyIDEwMDY0NAotLS0gYS9kcml2ZXJzL3MzOTAvY3J5cHRvL3ZmaW9fYXBf b3BzLmMKKysrIGIvZHJpdmVycy9zMzkwL2NyeXB0by92ZmlvX2FwX29wcy5jCkBAIC0xNiw2ICsx Niw3IEBACiAjaW5jbHVkZSA8bGludXgvYml0b3BzLmg+CiAjaW5jbHVkZSA8bGludXgva3ZtX2hv c3QuaD4KICNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KKyNpbmNsdWRlIDxsaW51eC9tZGV2X3Zm aW9fb3BzLmg+CiAjaW5jbHVkZSA8YXNtL2t2bS5oPgogI2luY2x1ZGUgPGFzbS96Y3J5cHQuaD4K IApAQCAtMzIxLDYgKzMyMiw4IEBAIHN0YXRpYyB2b2lkIHZmaW9fYXBfbWF0cml4X2luaXQoc3Ry dWN0IGFwX2NvbmZpZ19pbmZvICppbmZvLAogCW1hdHJpeC0+YWRtX21heCA9IGluZm8tPmFweGEg PyBpbmZvLT5OZCA6IDE1OwogfQogCitzdGF0aWMgY29uc3Qgc3RydWN0IG1kZXZfdmZpb19kZXZp Y2Vfb3BzIG1kZXZfdmZpb19vcHM7CisKIHN0YXRpYyBpbnQgdmZpb19hcF9tZGV2X2NyZWF0ZShz dHJ1Y3Qga29iamVjdCAqa29iaiwgc3RydWN0IG1kZXZfZGV2aWNlICptZGV2KQogewogCXN0cnVj dCBhcF9tYXRyaXhfbWRldiAqbWF0cml4X21kZXY7CkBAIC0zNDMsNyArMzQ2LDcgQEAgc3RhdGlj IGludCB2ZmlvX2FwX21kZXZfY3JlYXRlKHN0cnVjdCBrb2JqZWN0ICprb2JqLCBzdHJ1Y3QgbWRl dl9kZXZpY2UgKm1kZXYpCiAJbGlzdF9hZGQoJm1hdHJpeF9tZGV2LT5ub2RlLCAmbWF0cml4X2Rl di0+bWRldl9saXN0KTsKIAltdXRleF91bmxvY2soJm1hdHJpeF9kZXYtPmxvY2spOwogCi0JbWRl dl9zZXRfY2xhc3MobWRldiwgTURFVl9DTEFTU19JRF9WRklPKTsKKwltZGV2X3NldF92ZmlvX29w cyhtZGV2LCAmbWRldl92ZmlvX29wcyk7CiAJcmV0dXJuIDA7CiB9CiAKQEAgLTEyODEsMTUgKzEy ODQsMTggQEAgc3RhdGljIHNzaXplX3QgdmZpb19hcF9tZGV2X2lvY3RsKHN0cnVjdCBtZGV2X2Rl dmljZSAqbWRldiwKIAlyZXR1cm4gcmV0OwogfQogCitzdGF0aWMgY29uc3Qgc3RydWN0IG1kZXZf dmZpb19kZXZpY2Vfb3BzIG1kZXZfdmZpb19vcHMgPSB7CisJLm9wZW4JCQk9IHZmaW9fYXBfbWRl dl9vcGVuLAorCS5yZWxlYXNlCQk9IHZmaW9fYXBfbWRldl9yZWxlYXNlLAorCS5pb2N0bAkJCT0g dmZpb19hcF9tZGV2X2lvY3RsLAorfTsKKwogc3RhdGljIGNvbnN0IHN0cnVjdCBtZGV2X3BhcmVu dF9vcHMgdmZpb19hcF9tYXRyaXhfb3BzID0gewogCS5vd25lcgkJCT0gVEhJU19NT0RVTEUsCiAJ LnN1cHBvcnRlZF90eXBlX2dyb3Vwcwk9IHZmaW9fYXBfbWRldl90eXBlX2dyb3VwcywKIAkubWRl dl9hdHRyX2dyb3Vwcwk9IHZmaW9fYXBfbWRldl9hdHRyX2dyb3VwcywKIAkuY3JlYXRlCQkJPSB2 ZmlvX2FwX21kZXZfY3JlYXRlLAogCS5yZW1vdmUJCQk9IHZmaW9fYXBfbWRldl9yZW1vdmUsCi0J Lm9wZW4JCQk9IHZmaW9fYXBfbWRldl9vcGVuLAotCS5yZWxlYXNlCQk9IHZmaW9fYXBfbWRldl9y ZWxlYXNlLAotCS5pb2N0bAkJCT0gdmZpb19hcF9tZGV2X2lvY3RsLAogfTsKIAogaW50IHZmaW9f YXBfbWRldl9yZWdpc3Rlcih2b2lkKQpkaWZmIC0tZ2l0IGEvZHJpdmVycy92ZmlvL21kZXYvbWRl dl9jb3JlLmMgYi9kcml2ZXJzL3ZmaW8vbWRldi9tZGV2X2NvcmUuYwppbmRleCA3YmZhMmU0NmU4 MjkuLjRlNzBmMTlhYzE0NSAxMDA2NDQKLS0tIGEvZHJpdmVycy92ZmlvL21kZXYvbWRldl9jb3Jl LmMKKysrIGIvZHJpdmVycy92ZmlvL21kZXYvbWRldl9jb3JlLmMKQEAgLTQ3LDcgKzQ3LDggQEAg RVhQT1JUX1NZTUJPTChtZGV2X3NldF9kcnZkYXRhKTsKIAogLyoKICAqIFNwZWNpZnkgdGhlIGNs YXNzIGZvciB0aGUgbWRldiBkZXZpY2UsIHRoaXMgbXVzdCBiZSBjYWxsZWQgZHVyaW5nCi0gKiBj cmVhdGUoKSBjYWxsYmFjay4KKyAqIGNyZWF0ZSgpIGNhbGxiYWNrIGV4cGxpY2l0bHkgb3IgaW1w bGljaXRseSB0aHJvdWdoIHRoZSBoZWxwZXJzCisgKiBwcm92aWRlZCBieSBlYWNoIGNsYXNzLgog ICovCiB2b2lkIG1kZXZfc2V0X2NsYXNzKHN0cnVjdCBtZGV2X2RldmljZSAqbWRldiwgdTE2IGlk KQogewpAQCAtNTYsNiArNTcsMjcgQEAgdm9pZCBtZGV2X3NldF9jbGFzcyhzdHJ1Y3QgbWRldl9k ZXZpY2UgKm1kZXYsIHUxNiBpZCkKIH0KIEVYUE9SVF9TWU1CT0wobWRldl9zZXRfY2xhc3MpOwog CisvKgorICogU3BlY2lmeSB0aGUgbWRldiBkZXZpY2UgdG8gYmUgYSBWRklPIG1kZXYgZGV2aWNl LCBhbmQgc2V0IFZGSU8KKyAqIGRldmljZSBvcHMgZm9yIGl0LiBUaGlzIG11c3QgYmUgY2FsbGVk IGZyb20gdGhlIGNyZWF0ZSgpIGNhbGxiYWNrCisgKiBmb3IgVkZJTyBtZGV2IGRldmljZS4KKyAq Lwordm9pZCBtZGV2X3NldF92ZmlvX29wcyhzdHJ1Y3QgbWRldl9kZXZpY2UgKm1kZXYsCisJCSAg ICAgICBjb25zdCBzdHJ1Y3QgbWRldl92ZmlvX2RldmljZV9vcHMgKnZmaW9fb3BzKQoreworCW1k ZXZfc2V0X2NsYXNzKG1kZXYsIE1ERVZfQ0xBU1NfSURfVkZJTyk7CisJbWRldi0+dmZpb19vcHMg PSB2ZmlvX29wczsKK30KK0VYUE9SVF9TWU1CT0wobWRldl9zZXRfdmZpb19vcHMpOworCisvKiBH ZXQgdGhlIFZGSU8gZGV2aWNlIG9wcyBmb3IgdGhlIG1kZXYgZGV2aWNlLiAqLworY29uc3Qgc3Ry dWN0IG1kZXZfdmZpb19kZXZpY2Vfb3BzICptZGV2X2dldF92ZmlvX29wcyhzdHJ1Y3QgbWRldl9k ZXZpY2UgKm1kZXYpCit7CisJV0FSTl9PTihtZGV2LT5jbGFzc19pZCAhPSBNREVWX0NMQVNTX0lE X1ZGSU8pOworCXJldHVybiBtZGV2LT52ZmlvX29wczsKK30KK0VYUE9SVF9TWU1CT0wobWRldl9n ZXRfdmZpb19vcHMpOworCiBzdHJ1Y3QgZGV2aWNlICptZGV2X2RldihzdHJ1Y3QgbWRldl9kZXZp Y2UgKm1kZXYpCiB7CiAJcmV0dXJuICZtZGV2LT5kZXY7CmRpZmYgLS1naXQgYS9kcml2ZXJzL3Zm aW8vbWRldi9tZGV2X3ByaXZhdGUuaCBiL2RyaXZlcnMvdmZpby9tZGV2L21kZXZfcHJpdmF0ZS5o CmluZGV4IGM2NWY0MzZjMTg2OS4uNDExMjI3MzczNjI1IDEwMDY0NAotLS0gYS9kcml2ZXJzL3Zm aW8vbWRldi9tZGV2X3ByaXZhdGUuaAorKysgYi9kcml2ZXJzL3ZmaW8vbWRldi9tZGV2X3ByaXZh dGUuaApAQCAtMTAsNiArMTAsOCBAQAogI2lmbmRlZiBNREVWX1BSSVZBVEVfSAogI2RlZmluZSBN REVWX1BSSVZBVEVfSAogCisjaW5jbHVkZSA8bGludXgvbWRldl92ZmlvX29wcy5oPgorCiBpbnQg IG1kZXZfYnVzX3JlZ2lzdGVyKHZvaWQpOwogdm9pZCBtZGV2X2J1c191bnJlZ2lzdGVyKHZvaWQp OwogCkBAIC0zNCw2ICszNiw5IEBAIHN0cnVjdCBtZGV2X2RldmljZSB7CiAJc3RydWN0IGRldmlj ZSAqaW9tbXVfZGV2aWNlOwogCWJvb2wgYWN0aXZlOwogCXUxNiBjbGFzc19pZDsKKwl1bmlvbiB7 CisJCWNvbnN0IHN0cnVjdCBtZGV2X3ZmaW9fZGV2aWNlX29wcyAqdmZpb19vcHM7CisJfTsKIH07 CiAKICNkZWZpbmUgdG9fbWRldl9kZXZpY2UoZGV2KQljb250YWluZXJfb2YoZGV2LCBzdHJ1Y3Qg bWRldl9kZXZpY2UsIGRldikKZGlmZiAtLWdpdCBhL2RyaXZlcnMvdmZpby9tZGV2L3ZmaW9fbWRl di5jIGIvZHJpdmVycy92ZmlvL21kZXYvdmZpb19tZGV2LmMKaW5kZXggYTY2NDFjZDhiNWEzLi5j MDFlMjE5NGU0YjMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvdmZpby9tZGV2L3ZmaW9fbWRldi5jCisr KyBiL2RyaXZlcnMvdmZpby9tZGV2L3ZmaW9fbWRldi5jCkBAIC0xNCw2ICsxNCw3IEBACiAjaW5j bHVkZSA8bGludXgvc2xhYi5oPgogI2luY2x1ZGUgPGxpbnV4L3ZmaW8uaD4KICNpbmNsdWRlIDxs aW51eC9tZGV2Lmg+CisjaW5jbHVkZSA8bGludXgvbWRldl92ZmlvX29wcy5oPgogCiAjaW5jbHVk ZSAibWRldl9wcml2YXRlLmgiCiAKQEAgLTI0LDE2ICsyNSwxNiBAQAogc3RhdGljIGludCB2Zmlv X21kZXZfb3Blbih2b2lkICpkZXZpY2VfZGF0YSkKIHsKIAlzdHJ1Y3QgbWRldl9kZXZpY2UgKm1k ZXYgPSBkZXZpY2VfZGF0YTsKLQlzdHJ1Y3QgbWRldl9wYXJlbnQgKnBhcmVudCA9IG1kZXYtPnBh cmVudDsKKwljb25zdCBzdHJ1Y3QgbWRldl92ZmlvX2RldmljZV9vcHMgKm9wcyA9IG1kZXZfZ2V0 X3ZmaW9fb3BzKG1kZXYpOwogCWludCByZXQ7CiAKLQlpZiAodW5saWtlbHkoIXBhcmVudC0+b3Bz LT5vcGVuKSkKKwlpZiAodW5saWtlbHkoIW9wcy0+b3BlbikpCiAJCXJldHVybiAtRUlOVkFMOwog CiAJaWYgKCF0cnlfbW9kdWxlX2dldChUSElTX01PRFVMRSkpCiAJCXJldHVybiAtRU5PREVWOwog Ci0JcmV0ID0gcGFyZW50LT5vcHMtPm9wZW4obWRldik7CisJcmV0ID0gb3BzLT5vcGVuKG1kZXYp OwogCWlmIChyZXQpCiAJCW1vZHVsZV9wdXQoVEhJU19NT0RVTEUpOwogCkBAIC00MywxMCArNDQs MTAgQEAgc3RhdGljIGludCB2ZmlvX21kZXZfb3Blbih2b2lkICpkZXZpY2VfZGF0YSkKIHN0YXRp YyB2b2lkIHZmaW9fbWRldl9yZWxlYXNlKHZvaWQgKmRldmljZV9kYXRhKQogewogCXN0cnVjdCBt ZGV2X2RldmljZSAqbWRldiA9IGRldmljZV9kYXRhOwotCXN0cnVjdCBtZGV2X3BhcmVudCAqcGFy ZW50ID0gbWRldi0+cGFyZW50OworCWNvbnN0IHN0cnVjdCBtZGV2X3ZmaW9fZGV2aWNlX29wcyAq b3BzID0gbWRldl9nZXRfdmZpb19vcHMobWRldik7CiAKLQlpZiAobGlrZWx5KHBhcmVudC0+b3Bz LT5yZWxlYXNlKSkKLQkJcGFyZW50LT5vcHMtPnJlbGVhc2UobWRldik7CisJaWYgKGxpa2VseShv cHMtPnJlbGVhc2UpKQorCQlvcHMtPnJlbGVhc2UobWRldik7CiAKIAltb2R1bGVfcHV0KFRISVNf TU9EVUxFKTsKIH0KQEAgLTU1LDQ3ICs1Niw0NyBAQCBzdGF0aWMgbG9uZyB2ZmlvX21kZXZfdW5s b2NrZWRfaW9jdGwodm9pZCAqZGV2aWNlX2RhdGEsCiAJCQkJICAgICB1bnNpZ25lZCBpbnQgY21k LCB1bnNpZ25lZCBsb25nIGFyZykKIHsKIAlzdHJ1Y3QgbWRldl9kZXZpY2UgKm1kZXYgPSBkZXZp Y2VfZGF0YTsKLQlzdHJ1Y3QgbWRldl9wYXJlbnQgKnBhcmVudCA9IG1kZXYtPnBhcmVudDsKKwlj b25zdCBzdHJ1Y3QgbWRldl92ZmlvX2RldmljZV9vcHMgKm9wcyA9IG1kZXZfZ2V0X3ZmaW9fb3Bz KG1kZXYpOwogCi0JaWYgKHVubGlrZWx5KCFwYXJlbnQtPm9wcy0+aW9jdGwpKQorCWlmICh1bmxp a2VseSghb3BzLT5pb2N0bCkpCiAJCXJldHVybiAtRUlOVkFMOwogCi0JcmV0dXJuIHBhcmVudC0+ b3BzLT5pb2N0bChtZGV2LCBjbWQsIGFyZyk7CisJcmV0dXJuIG9wcy0+aW9jdGwobWRldiwgY21k LCBhcmcpOwogfQogCiBzdGF0aWMgc3NpemVfdCB2ZmlvX21kZXZfcmVhZCh2b2lkICpkZXZpY2Vf ZGF0YSwgY2hhciBfX3VzZXIgKmJ1ZiwKIAkJCSAgICAgIHNpemVfdCBjb3VudCwgbG9mZl90ICpw cG9zKQogewogCXN0cnVjdCBtZGV2X2RldmljZSAqbWRldiA9IGRldmljZV9kYXRhOwotCXN0cnVj dCBtZGV2X3BhcmVudCAqcGFyZW50ID0gbWRldi0+cGFyZW50OworCWNvbnN0IHN0cnVjdCBtZGV2 X3ZmaW9fZGV2aWNlX29wcyAqb3BzID0gbWRldl9nZXRfdmZpb19vcHMobWRldik7CiAKLQlpZiAo dW5saWtlbHkoIXBhcmVudC0+b3BzLT5yZWFkKSkKKwlpZiAodW5saWtlbHkoIW9wcy0+cmVhZCkp CiAJCXJldHVybiAtRUlOVkFMOwogCi0JcmV0dXJuIHBhcmVudC0+b3BzLT5yZWFkKG1kZXYsIGJ1 ZiwgY291bnQsIHBwb3MpOworCXJldHVybiBvcHMtPnJlYWQobWRldiwgYnVmLCBjb3VudCwgcHBv cyk7CiB9CiAKIHN0YXRpYyBzc2l6ZV90IHZmaW9fbWRldl93cml0ZSh2b2lkICpkZXZpY2VfZGF0 YSwgY29uc3QgY2hhciBfX3VzZXIgKmJ1ZiwKIAkJCSAgICAgICBzaXplX3QgY291bnQsIGxvZmZf dCAqcHBvcykKIHsKIAlzdHJ1Y3QgbWRldl9kZXZpY2UgKm1kZXYgPSBkZXZpY2VfZGF0YTsKLQlz dHJ1Y3QgbWRldl9wYXJlbnQgKnBhcmVudCA9IG1kZXYtPnBhcmVudDsKKwljb25zdCBzdHJ1Y3Qg bWRldl92ZmlvX2RldmljZV9vcHMgKm9wcyA9IG1kZXZfZ2V0X3ZmaW9fb3BzKG1kZXYpOwogCi0J aWYgKHVubGlrZWx5KCFwYXJlbnQtPm9wcy0+d3JpdGUpKQorCWlmICh1bmxpa2VseSghb3BzLT53 cml0ZSkpCiAJCXJldHVybiAtRUlOVkFMOwogCi0JcmV0dXJuIHBhcmVudC0+b3BzLT53cml0ZSht ZGV2LCBidWYsIGNvdW50LCBwcG9zKTsKKwlyZXR1cm4gb3BzLT53cml0ZShtZGV2LCBidWYsIGNv dW50LCBwcG9zKTsKIH0KIAogc3RhdGljIGludCB2ZmlvX21kZXZfbW1hcCh2b2lkICpkZXZpY2Vf ZGF0YSwgc3RydWN0IHZtX2FyZWFfc3RydWN0ICp2bWEpCiB7CiAJc3RydWN0IG1kZXZfZGV2aWNl ICptZGV2ID0gZGV2aWNlX2RhdGE7Ci0Jc3RydWN0IG1kZXZfcGFyZW50ICpwYXJlbnQgPSBtZGV2 LT5wYXJlbnQ7CisJY29uc3Qgc3RydWN0IG1kZXZfdmZpb19kZXZpY2Vfb3BzICpvcHMgPSBtZGV2 X2dldF92ZmlvX29wcyhtZGV2KTsKIAotCWlmICh1bmxpa2VseSghcGFyZW50LT5vcHMtPm1tYXAp KQorCWlmICh1bmxpa2VseSghb3BzLT5tbWFwKSkKIAkJcmV0dXJuIC1FSU5WQUw7CiAKLQlyZXR1 cm4gcGFyZW50LT5vcHMtPm1tYXAobWRldiwgdm1hKTsKKwlyZXR1cm4gb3BzLT5tbWFwKG1kZXYs IHZtYSk7CiB9CiAKIHN0YXRpYyBjb25zdCBzdHJ1Y3QgdmZpb19kZXZpY2Vfb3BzIHZmaW9fbWRl dl9kZXZfb3BzID0gewpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9saW51eC9tZGV2LmggYi9pbmNsdWRl L2xpbnV4L21kZXYuaAppbmRleCA3OGI2OWQwOWViNTQuLjllMzc1MDZkMTk4NyAxMDA2NDQKLS0t IGEvaW5jbHVkZS9saW51eC9tZGV2LmgKKysrIGIvaW5jbHVkZS9saW51eC9tZGV2LmgKQEAgLTEw LDcgKzEwLDEzIEBACiAjaWZuZGVmIE1ERVZfSAogI2RlZmluZSBNREVWX0gKIAorI2luY2x1ZGUg PGxpbnV4L3R5cGVzLmg+CisjaW5jbHVkZSA8bGludXgvZGV2aWNlLmg+CisjaW5jbHVkZSA8bGlu dXgvbWRldi5oPgorI2luY2x1ZGUgPHVhcGkvbGludXgvdXVpZC5oPgorCiBzdHJ1Y3QgbWRldl9k ZXZpY2U7CitzdHJ1Y3QgbWRldl92ZmlvX2RldmljZV9vcHM7CiAKIC8qCiAgKiBDYWxsZWQgYnkg dGhlIHBhcmVudCBkZXZpY2UgZHJpdmVyIHRvIHNldCB0aGUgZGV2aWNlIHdoaWNoIHJlcHJlc2Vu dHMKQEAgLTQ4LDMwICs1NCw3IEBAIHN0cnVjdCBkZXZpY2UgKm1kZXZfZ2V0X2lvbW11X2Rldmlj ZShzdHJ1Y3QgZGV2aWNlICpkZXYpOwogICoJCQlAbWRldjogbWRldl9kZXZpY2UgZGV2aWNlIHN0 cnVjdHVyZSB3aGljaCBpcyBiZWluZwogICoJCQkgICAgICAgZGVzdHJveWVkCiAgKgkJCVJldHVy bnMgaW50ZWdlcjogc3VjY2VzcyAoMCkgb3IgZXJyb3IgKDwgMCkKLSAqIEBvcGVuOgkJT3BlbiBt ZWRpYXRlZCBkZXZpY2UuCi0gKgkJCUBtZGV2OiBtZWRpYXRlZCBkZXZpY2UuCi0gKgkJCVJldHVy bnMgaW50ZWdlcjogc3VjY2VzcyAoMCkgb3IgZXJyb3IgKDwgMCkKLSAqIEByZWxlYXNlOgkJcmVs ZWFzZSBtZWRpYXRlZCBkZXZpY2UKLSAqCQkJQG1kZXY6IG1lZGlhdGVkIGRldmljZS4KLSAqIEBy ZWFkOgkJUmVhZCBlbXVsYXRpb24gY2FsbGJhY2sKLSAqCQkJQG1kZXY6IG1lZGlhdGVkIGRldmlj ZSBzdHJ1Y3R1cmUKLSAqCQkJQGJ1ZjogcmVhZCBidWZmZXIKLSAqCQkJQGNvdW50OiBudW1iZXIg b2YgYnl0ZXMgdG8gcmVhZAotICoJCQlAcHBvczogYWRkcmVzcy4KLSAqCQkJUmV0dW5zIG51bWJl ciBvbiBieXRlcyByZWFkIG9uIHN1Y2Nlc3Mgb3IgZXJyb3IuCi0gKiBAd3JpdGU6CQlXcml0ZSBl bXVsYXRpb24gY2FsbGJhY2sKLSAqCQkJQG1kZXY6IG1lZGlhdGVkIGRldmljZSBzdHJ1Y3R1cmUK LSAqCQkJQGJ1Zjogd3JpdGUgYnVmZmVyCi0gKgkJCUBjb3VudDogbnVtYmVyIG9mIGJ5dGVzIHRv IGJlIHdyaXR0ZW4KLSAqCQkJQHBwb3M6IGFkZHJlc3MuCi0gKgkJCVJldHVucyBudW1iZXIgb24g Ynl0ZXMgd3JpdHRlbiBvbiBzdWNjZXNzIG9yIGVycm9yLgotICogQGlvY3RsOgkJSU9DVEwgY2Fs bGJhY2sKLSAqCQkJQG1kZXY6IG1lZGlhdGVkIGRldmljZSBzdHJ1Y3R1cmUKLSAqCQkJQGNtZDog aW9jdGwgY29tbWFuZAotICoJCQlAYXJnOiBhcmd1bWVudHMgdG8gaW9jdGwKLSAqIEBtbWFwOgkJ bW1hcCBjYWxsYmFjawotICoJCQlAbWRldjogbWVkaWF0ZWQgZGV2aWNlIHN0cnVjdHVyZQotICoJ CQlAdm1hOiB2bWEgc3RydWN0dXJlCisgKgogICogUGFyZW50IGRldmljZSB0aGF0IHN1cHBvcnQg bWVkaWF0ZWQgZGV2aWNlIHNob3VsZCBiZSByZWdpc3RlcmVkIHdpdGggbWRldgogICogbW9kdWxl IHdpdGggbWRldl9wYXJlbnRfb3BzIHN0cnVjdHVyZS4KICAqKi8KQEAgLTgzLDE1ICs2Niw2IEBA IHN0cnVjdCBtZGV2X3BhcmVudF9vcHMgewogCiAJaW50ICAgICAoKmNyZWF0ZSkoc3RydWN0IGtv YmplY3QgKmtvYmosIHN0cnVjdCBtZGV2X2RldmljZSAqbWRldik7CiAJaW50ICAgICAoKnJlbW92 ZSkoc3RydWN0IG1kZXZfZGV2aWNlICptZGV2KTsKLQlpbnQgICAgICgqb3Blbikoc3RydWN0IG1k ZXZfZGV2aWNlICptZGV2KTsKLQl2b2lkICAgICgqcmVsZWFzZSkoc3RydWN0IG1kZXZfZGV2aWNl ICptZGV2KTsKLQlzc2l6ZV90ICgqcmVhZCkoc3RydWN0IG1kZXZfZGV2aWNlICptZGV2LCBjaGFy IF9fdXNlciAqYnVmLAotCQkJc2l6ZV90IGNvdW50LCBsb2ZmX3QgKnBwb3MpOwotCXNzaXplX3Qg KCp3cml0ZSkoc3RydWN0IG1kZXZfZGV2aWNlICptZGV2LCBjb25zdCBjaGFyIF9fdXNlciAqYnVm LAotCQkJIHNpemVfdCBjb3VudCwgbG9mZl90ICpwcG9zKTsKLQlsb25nCSgqaW9jdGwpKHN0cnVj dCBtZGV2X2RldmljZSAqbWRldiwgdW5zaWduZWQgaW50IGNtZCwKLQkJCSB1bnNpZ25lZCBsb25n IGFyZyk7Ci0JaW50CSgqbW1hcCkoc3RydWN0IG1kZXZfZGV2aWNlICptZGV2LCBzdHJ1Y3Qgdm1f YXJlYV9zdHJ1Y3QgKnZtYSk7CiB9OwogCiAvKiBpbnRlcmZhY2UgZm9yIGV4cG9ydGluZyBtZGV2 IHN1cHBvcnRlZCB0eXBlIGF0dHJpYnV0ZXMgKi8KQEAgLTEzNSw2ICsxMDksOSBAQCB2b2lkICpt ZGV2X2dldF9kcnZkYXRhKHN0cnVjdCBtZGV2X2RldmljZSAqbWRldik7CiB2b2lkIG1kZXZfc2V0 X2RydmRhdGEoc3RydWN0IG1kZXZfZGV2aWNlICptZGV2LCB2b2lkICpkYXRhKTsKIGNvbnN0IGd1 aWRfdCAqbWRldl91dWlkKHN0cnVjdCBtZGV2X2RldmljZSAqbWRldik7CiB2b2lkIG1kZXZfc2V0 X2NsYXNzKHN0cnVjdCBtZGV2X2RldmljZSAqbWRldiwgdTE2IGlkKTsKK3ZvaWQgbWRldl9zZXRf dmZpb19vcHMoc3RydWN0IG1kZXZfZGV2aWNlICptZGV2LAorCQkgICAgICAgY29uc3Qgc3RydWN0 IG1kZXZfdmZpb19kZXZpY2Vfb3BzICp2ZmlvX29wcyk7Citjb25zdCBzdHJ1Y3QgbWRldl92Zmlv X2RldmljZV9vcHMgKm1kZXZfZ2V0X3ZmaW9fb3BzKHN0cnVjdCBtZGV2X2RldmljZSAqbWRldik7 CiAKIGV4dGVybiBzdHJ1Y3QgYnVzX3R5cGUgbWRldl9idXNfdHlwZTsKIApkaWZmIC0tZ2l0IGEv aW5jbHVkZS9saW51eC9tZGV2X3ZmaW9fb3BzLmggYi9pbmNsdWRlL2xpbnV4L21kZXZfdmZpb19v cHMuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAuLjMxNzUxOGYzMDYy MQotLS0gL2Rldi9udWxsCisrKyBiL2luY2x1ZGUvbGludXgvbWRldl92ZmlvX29wcy5oCkBAIC0w LDAgKzEsNTIgQEAKKy8qIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4wLW9ubHkgKi8K Ky8qCisgKiBWRklPIE1lZGlhdGVkIGRldmljZSBkZWZpbml0aW9uCisgKi8KKworI2lmbmRlZiBN REVWX1ZGSU9fT1BTX0gKKyNkZWZpbmUgTURFVl9WRklPX09QU19ICisKKyNpbmNsdWRlIDxsaW51 eC9tZGV2Lmg+CisKKy8qKgorICogc3RydWN0IG1kZXZfdmZpb19kZXZpY2Vfb3BzIC0gU3RydWN0 dXJlIHRvIGJlIHJlZ2lzdGVyZWQgZm9yIGVhY2gKKyAqIG1kZXYgZGV2aWNlIHRvIHJlZ2lzdGVy IHRoZSBkZXZpY2UgdG8gdmZpby1tZGV2IG1vZHVsZS4KKyAqCisgKiBAb3BlbjoJCU9wZW4gbWVk aWF0ZWQgZGV2aWNlLgorICoJCQlAbWRldjogbWVkaWF0ZWQgZGV2aWNlLgorICoJCQlSZXR1cm5z IGludGVnZXI6IHN1Y2Nlc3MgKDApIG9yIGVycm9yICg8IDApCisgKiBAcmVsZWFzZToJCXJlbGVh c2UgbWVkaWF0ZWQgZGV2aWNlCisgKgkJCUBtZGV2OiBtZWRpYXRlZCBkZXZpY2UuCisgKiBAcmVh ZDoJCVJlYWQgZW11bGF0aW9uIGNhbGxiYWNrCisgKgkJCUBtZGV2OiBtZWRpYXRlZCBkZXZpY2Ug c3RydWN0dXJlCisgKgkJCUBidWY6IHJlYWQgYnVmZmVyCisgKgkJCUBjb3VudDogbnVtYmVyIG9m IGJ5dGVzIHRvIHJlYWQKKyAqCQkJQHBwb3M6IGFkZHJlc3MuCisgKgkJCVJldHVucyBudW1iZXIg b24gYnl0ZXMgcmVhZCBvbiBzdWNjZXNzIG9yIGVycm9yLgorICogQHdyaXRlOgkJV3JpdGUgZW11 bGF0aW9uIGNhbGxiYWNrCisgKgkJCUBtZGV2OiBtZWRpYXRlZCBkZXZpY2Ugc3RydWN0dXJlCisg KgkJCUBidWY6IHdyaXRlIGJ1ZmZlcgorICoJCQlAY291bnQ6IG51bWJlciBvZiBieXRlcyB0byBi ZSB3cml0dGVuCisgKgkJCUBwcG9zOiBhZGRyZXNzLgorICoJCQlSZXR1bnMgbnVtYmVyIG9uIGJ5 dGVzIHdyaXR0ZW4gb24gc3VjY2VzcyBvciBlcnJvci4KKyAqIEBpb2N0bDoJCUlPQ1RMIGNhbGxi YWNrCisgKgkJCUBtZGV2OiBtZWRpYXRlZCBkZXZpY2Ugc3RydWN0dXJlCisgKgkJCUBjbWQ6IGlv Y3RsIGNvbW1hbmQKKyAqCQkJQGFyZzogYXJndW1lbnRzIHRvIGlvY3RsCisgKiBAbW1hcDoJCW1t YXAgY2FsbGJhY2sKKyAqCQkJQG1kZXY6IG1lZGlhdGVkIGRldmljZSBzdHJ1Y3R1cmUKKyAqCQkJ QHZtYTogdm1hIHN0cnVjdHVyZQorICovCitzdHJ1Y3QgbWRldl92ZmlvX2RldmljZV9vcHMgewor CWludCAgICAgKCpvcGVuKShzdHJ1Y3QgbWRldl9kZXZpY2UgKm1kZXYpOworCXZvaWQgICAgKCpy ZWxlYXNlKShzdHJ1Y3QgbWRldl9kZXZpY2UgKm1kZXYpOworCXNzaXplX3QgKCpyZWFkKShzdHJ1 Y3QgbWRldl9kZXZpY2UgKm1kZXYsIGNoYXIgX191c2VyICpidWYsCisJCQlzaXplX3QgY291bnQs IGxvZmZfdCAqcHBvcyk7CisJc3NpemVfdCAoKndyaXRlKShzdHJ1Y3QgbWRldl9kZXZpY2UgKm1k ZXYsIGNvbnN0IGNoYXIgX191c2VyICpidWYsCisJCQkgc2l6ZV90IGNvdW50LCBsb2ZmX3QgKnBw b3MpOworCWxvbmcJKCppb2N0bCkoc3RydWN0IG1kZXZfZGV2aWNlICptZGV2LCB1bnNpZ25lZCBp bnQgY21kLAorCQkJIHVuc2lnbmVkIGxvbmcgYXJnKTsKKwlpbnQJKCptbWFwKShzdHJ1Y3QgbWRl dl9kZXZpY2UgKm1kZXYsIHN0cnVjdCB2bV9hcmVhX3N0cnVjdCAqdm1hKTsKK307CisKKyNlbmRp ZgpkaWZmIC0tZ2l0IGEvc2FtcGxlcy92ZmlvLW1kZXYvbWJvY2hzLmMgYi9zYW1wbGVzL3ZmaW8t bWRldi9tYm9jaHMuYwppbmRleCAxMTViYzUwNzQ2NTYuLjEyOTYzNzY3YmEzNyAxMDA2NDQKLS0t IGEvc2FtcGxlcy92ZmlvLW1kZXYvbWJvY2hzLmMKKysrIGIvc2FtcGxlcy92ZmlvLW1kZXYvbWJv Y2hzLmMKQEAgLTMwLDYgKzMwLDcgQEAKICNpbmNsdWRlIDxsaW51eC9pb21tdS5oPgogI2luY2x1 ZGUgPGxpbnV4L3N5c2ZzLmg+CiAjaW5jbHVkZSA8bGludXgvbWRldi5oPgorI2luY2x1ZGUgPGxp bnV4L21kZXZfdmZpb19vcHMuaD4KICNpbmNsdWRlIDxsaW51eC9wY2kuaD4KICNpbmNsdWRlIDxs aW51eC9kbWEtYnVmLmg+CiAjaW5jbHVkZSA8bGludXgvaGlnaG1lbS5oPgpAQCAtNTE2LDYgKzUx Nyw4IEBAIHN0YXRpYyBpbnQgbWJvY2hzX3Jlc2V0KHN0cnVjdCBtZGV2X2RldmljZSAqbWRldikK IAlyZXR1cm4gMDsKIH0KIAorc3RhdGljIGNvbnN0IHN0cnVjdCBtZGV2X3ZmaW9fZGV2aWNlX29w cyBtZGV2X3ZmaW9fb3BzOworCiBzdGF0aWMgaW50IG1ib2Noc19jcmVhdGUoc3RydWN0IGtvYmpl Y3QgKmtvYmosIHN0cnVjdCBtZGV2X2RldmljZSAqbWRldikKIHsKIAljb25zdCBzdHJ1Y3QgbWJv Y2hzX3R5cGUgKnR5cGUgPSBtYm9jaHNfZmluZF90eXBlKGtvYmopOwpAQCAtNTYxLDcgKzU2NCw3 IEBAIHN0YXRpYyBpbnQgbWJvY2hzX2NyZWF0ZShzdHJ1Y3Qga29iamVjdCAqa29iaiwgc3RydWN0 IG1kZXZfZGV2aWNlICptZGV2KQogCW1ib2Noc19yZXNldChtZGV2KTsKIAogCW1ib2Noc191c2Vk X21ieXRlcyArPSB0eXBlLT5tYnl0ZXM7Ci0JbWRldl9zZXRfY2xhc3MobWRldiwgTURFVl9DTEFT U19JRF9WRklPKTsKKwltZGV2X3NldF92ZmlvX29wcyhtZGV2LCAmbWRldl92ZmlvX29wcyk7CiAJ cmV0dXJuIDA7CiAKIGVycl9tZW06CkBAIC0xNDE5LDEyICsxNDIyLDcgQEAgc3RhdGljIHN0cnVj dCBhdHRyaWJ1dGVfZ3JvdXAgKm1kZXZfdHlwZV9ncm91cHNbXSA9IHsKIAlOVUxMLAogfTsKIAot c3RhdGljIGNvbnN0IHN0cnVjdCBtZGV2X3BhcmVudF9vcHMgbWRldl9mb3BzID0gewotCS5vd25l cgkJCT0gVEhJU19NT0RVTEUsCi0JLm1kZXZfYXR0cl9ncm91cHMJPSBtZGV2X2Rldl9ncm91cHMs Ci0JLnN1cHBvcnRlZF90eXBlX2dyb3Vwcwk9IG1kZXZfdHlwZV9ncm91cHMsCi0JLmNyZWF0ZQkJ CT0gbWJvY2hzX2NyZWF0ZSwKLQkucmVtb3ZlCQkJPSBtYm9jaHNfcmVtb3ZlLAorc3RhdGljIGNv bnN0IHN0cnVjdCBtZGV2X3ZmaW9fZGV2aWNlX29wcyBtZGV2X3ZmaW9fb3BzID0gewogCS5vcGVu CQkJPSBtYm9jaHNfb3BlbiwKIAkucmVsZWFzZQkJPSBtYm9jaHNfY2xvc2UsCiAJLnJlYWQJCQk9 IG1ib2Noc19yZWFkLApAQCAtMTQzMyw2ICsxNDMxLDE0IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3Qg bWRldl9wYXJlbnRfb3BzIG1kZXZfZm9wcyA9IHsKIAkubW1hcAkJCT0gbWJvY2hzX21tYXAsCiB9 OwogCitzdGF0aWMgY29uc3Qgc3RydWN0IG1kZXZfcGFyZW50X29wcyBtZGV2X2ZvcHMgPSB7CisJ Lm93bmVyCQkJPSBUSElTX01PRFVMRSwKKwkubWRldl9hdHRyX2dyb3Vwcwk9IG1kZXZfZGV2X2dy b3VwcywKKwkuc3VwcG9ydGVkX3R5cGVfZ3JvdXBzCT0gbWRldl90eXBlX2dyb3VwcywKKwkuY3Jl YXRlCQkJPSBtYm9jaHNfY3JlYXRlLAorCS5yZW1vdmUJCQk9IG1ib2Noc19yZW1vdmUsCit9Owor CiBzdGF0aWMgY29uc3Qgc3RydWN0IGZpbGVfb3BlcmF0aW9ucyB2ZF9mb3BzID0gewogCS5vd25l cgkJPSBUSElTX01PRFVMRSwKIH07CmRpZmYgLS1naXQgYS9zYW1wbGVzL3ZmaW8tbWRldi9tZHB5 LmMgYi9zYW1wbGVzL3ZmaW8tbWRldi9tZHB5LmMKaW5kZXggNjY1NjE0NTc0ZDUwLi41MGVlNmM5 OGIyYWYgMTAwNjQ0Ci0tLSBhL3NhbXBsZXMvdmZpby1tZGV2L21kcHkuYworKysgYi9zYW1wbGVz L3ZmaW8tbWRldi9tZHB5LmMKQEAgLTI2LDYgKzI2LDcgQEAKICNpbmNsdWRlIDxsaW51eC9pb21t dS5oPgogI2luY2x1ZGUgPGxpbnV4L3N5c2ZzLmg+CiAjaW5jbHVkZSA8bGludXgvbWRldi5oPgor I2luY2x1ZGUgPGxpbnV4L21kZXZfdmZpb19vcHMuaD4KICNpbmNsdWRlIDxsaW51eC9wY2kuaD4K ICNpbmNsdWRlIDxkcm0vZHJtX2ZvdXJjYy5oPgogI2luY2x1ZGUgIm1kcHktZGVmcy5oIgpAQCAt MjI2LDYgKzIyNyw4IEBAIHN0YXRpYyBpbnQgbWRweV9yZXNldChzdHJ1Y3QgbWRldl9kZXZpY2Ug Km1kZXYpCiAJcmV0dXJuIDA7CiB9CiAKK3N0YXRpYyBjb25zdCBzdHJ1Y3QgbWRldl92ZmlvX2Rl dmljZV9vcHMgbWRldl92ZmlvX29wczsKKwogc3RhdGljIGludCBtZHB5X2NyZWF0ZShzdHJ1Y3Qg a29iamVjdCAqa29iaiwgc3RydWN0IG1kZXZfZGV2aWNlICptZGV2KQogewogCWNvbnN0IHN0cnVj dCBtZHB5X3R5cGUgKnR5cGUgPSBtZHB5X2ZpbmRfdHlwZShrb2JqKTsKQEAgLTI2OSw3ICsyNzIs NyBAQCBzdGF0aWMgaW50IG1kcHlfY3JlYXRlKHN0cnVjdCBrb2JqZWN0ICprb2JqLCBzdHJ1Y3Qg bWRldl9kZXZpY2UgKm1kZXYpCiAJbWRweV9yZXNldChtZGV2KTsKIAogCW1kcHlfY291bnQrKzsK LQltZGV2X3NldF9jbGFzcyhtZGV2LCBNREVWX0NMQVNTX0lEX1ZGSU8pOworCW1kZXZfc2V0X3Zm aW9fb3BzKG1kZXYsICZtZGV2X3ZmaW9fb3BzKTsKIAlyZXR1cm4gMDsKIH0KIApAQCAtNzI2LDEy ICs3MjksNyBAQCBzdGF0aWMgc3RydWN0IGF0dHJpYnV0ZV9ncm91cCAqbWRldl90eXBlX2dyb3Vw c1tdID0gewogCU5VTEwsCiB9OwogCi1zdGF0aWMgY29uc3Qgc3RydWN0IG1kZXZfcGFyZW50X29w cyBtZGV2X2ZvcHMgPSB7Ci0JLm93bmVyCQkJPSBUSElTX01PRFVMRSwKLQkubWRldl9hdHRyX2dy b3Vwcwk9IG1kZXZfZGV2X2dyb3VwcywKLQkuc3VwcG9ydGVkX3R5cGVfZ3JvdXBzCT0gbWRldl90 eXBlX2dyb3VwcywKLQkuY3JlYXRlCQkJPSBtZHB5X2NyZWF0ZSwKLQkucmVtb3ZlCQkJPSBtZHB5 X3JlbW92ZSwKK3N0YXRpYyBjb25zdCBzdHJ1Y3QgbWRldl92ZmlvX2RldmljZV9vcHMgbWRldl92 ZmlvX29wcyA9IHsKIAkub3BlbgkJCT0gbWRweV9vcGVuLAogCS5yZWxlYXNlCQk9IG1kcHlfY2xv c2UsCiAJLnJlYWQJCQk9IG1kcHlfcmVhZCwKQEAgLTc0MCw2ICs3MzgsMTQgQEAgc3RhdGljIGNv bnN0IHN0cnVjdCBtZGV2X3BhcmVudF9vcHMgbWRldl9mb3BzID0gewogCS5tbWFwCQkJPSBtZHB5 X21tYXAsCiB9OwogCitzdGF0aWMgY29uc3Qgc3RydWN0IG1kZXZfcGFyZW50X29wcyBtZGV2X2Zv cHMgPSB7CisJLm93bmVyCQkJPSBUSElTX01PRFVMRSwKKwkubWRldl9hdHRyX2dyb3Vwcwk9IG1k ZXZfZGV2X2dyb3VwcywKKwkuc3VwcG9ydGVkX3R5cGVfZ3JvdXBzCT0gbWRldl90eXBlX2dyb3Vw cywKKwkuY3JlYXRlCQkJPSBtZHB5X2NyZWF0ZSwKKwkucmVtb3ZlCQkJPSBtZHB5X3JlbW92ZSwK K307CisKIHN0YXRpYyBjb25zdCBzdHJ1Y3QgZmlsZV9vcGVyYXRpb25zIHZkX2ZvcHMgPSB7CiAJ Lm93bmVyCQk9IFRISVNfTU9EVUxFLAogfTsKZGlmZiAtLWdpdCBhL3NhbXBsZXMvdmZpby1tZGV2 L210dHkuYyBiL3NhbXBsZXMvdmZpby1tZGV2L210dHkuYwppbmRleCA5MGRhMTJmZjdmZDkuLmJl NDc2ZTdhZDFmOCAxMDA2NDQKLS0tIGEvc2FtcGxlcy92ZmlvLW1kZXYvbXR0eS5jCisrKyBiL3Nh bXBsZXMvdmZpby1tZGV2L210dHkuYwpAQCAtMjcsNiArMjcsNyBAQAogI2luY2x1ZGUgPGxpbnV4 L2N0eXBlLmg+CiAjaW5jbHVkZSA8bGludXgvZmlsZS5oPgogI2luY2x1ZGUgPGxpbnV4L21kZXYu aD4KKyNpbmNsdWRlIDxsaW51eC9tZGV2X3ZmaW9fb3BzLmg+CiAjaW5jbHVkZSA8bGludXgvcGNp Lmg+CiAjaW5jbHVkZSA8bGludXgvc2VyaWFsLmg+CiAjaW5jbHVkZSA8dWFwaS9saW51eC9zZXJp YWxfcmVnLmg+CkBAIC03MDgsNiArNzA5LDggQEAgc3RhdGljIHNzaXplX3QgbWRldl9hY2Nlc3Mo c3RydWN0IG1kZXZfZGV2aWNlICptZGV2LCB1OCAqYnVmLCBzaXplX3QgY291bnQsCiAJcmV0dXJu IHJldDsKIH0KIAorc3RhdGljIGNvbnN0IHN0cnVjdCBtZGV2X3ZmaW9fZGV2aWNlX29wcyB2Zmlv X2Rldl9vcHM7CisKIHN0YXRpYyBpbnQgbXR0eV9jcmVhdGUoc3RydWN0IGtvYmplY3QgKmtvYmos IHN0cnVjdCBtZGV2X2RldmljZSAqbWRldikKIHsKIAlzdHJ1Y3QgbWRldl9zdGF0ZSAqbWRldl9z dGF0ZTsKQEAgLTc1NSw3ICs3NTgsNyBAQCBzdGF0aWMgaW50IG10dHlfY3JlYXRlKHN0cnVjdCBr b2JqZWN0ICprb2JqLCBzdHJ1Y3QgbWRldl9kZXZpY2UgKm1kZXYpCiAJbGlzdF9hZGQoJm1kZXZf c3RhdGUtPm5leHQsICZtZGV2X2RldmljZXNfbGlzdCk7CiAJbXV0ZXhfdW5sb2NrKCZtZGV2X2xp c3RfbG9jayk7CiAKLQltZGV2X3NldF9jbGFzcyhtZGV2LCBNREVWX0NMQVNTX0lEX1ZGSU8pOwor CW1kZXZfc2V0X3ZmaW9fb3BzKG1kZXYsICZ2ZmlvX2Rldl9vcHMpOwogCXJldHVybiAwOwogfQog CkBAIC0xMzg4LDYgKzEzOTEsMTQgQEAgc3RhdGljIHN0cnVjdCBhdHRyaWJ1dGVfZ3JvdXAgKm1k ZXZfdHlwZV9ncm91cHNbXSA9IHsKIAlOVUxMLAogfTsKIAorc3RhdGljIGNvbnN0IHN0cnVjdCBt ZGV2X3ZmaW9fZGV2aWNlX29wcyB2ZmlvX2Rldl9vcHMgPSB7CisJLm9wZW4JCT0gbXR0eV9vcGVu LAorCS5yZWxlYXNlCT0gbXR0eV9jbG9zZSwKKwkucmVhZAkJPSBtdHR5X3JlYWQsCisJLndyaXRl CQk9IG10dHlfd3JpdGUsCisJLmlvY3RsCQk9IG10dHlfaW9jdGwsCit9OworCiBzdGF0aWMgY29u c3Qgc3RydWN0IG1kZXZfcGFyZW50X29wcyBtZGV2X2ZvcHMgPSB7CiAJLm93bmVyICAgICAgICAg ICAgICAgICAgPSBUSElTX01PRFVMRSwKIAkuZGV2X2F0dHJfZ3JvdXBzICAgICAgICA9IG10dHlf ZGV2X2dyb3VwcywKQEAgLTEzOTUsMTEgKzE0MDYsNiBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IG1k ZXZfcGFyZW50X29wcyBtZGV2X2ZvcHMgPSB7CiAJLnN1cHBvcnRlZF90eXBlX2dyb3VwcyAgPSBt ZGV2X3R5cGVfZ3JvdXBzLAogCS5jcmVhdGUgICAgICAgICAgICAgICAgID0gbXR0eV9jcmVhdGUs CiAJLnJlbW92ZQkJCT0gbXR0eV9yZW1vdmUsCi0JLm9wZW4gICAgICAgICAgICAgICAgICAgPSBt dHR5X29wZW4sCi0JLnJlbGVhc2UgICAgICAgICAgICAgICAgPSBtdHR5X2Nsb3NlLAotCS5yZWFk ICAgICAgICAgICAgICAgICAgID0gbXR0eV9yZWFkLAotCS53cml0ZSAgICAgICAgICAgICAgICAg ID0gbXR0eV93cml0ZSwKLQkuaW9jdGwJCSAgICAgICAgPSBtdHR5X2lvY3RsLAogfTsKIAogc3Rh dGljIHZvaWQgbXR0eV9kZXZpY2VfcmVsZWFzZShzdHJ1Y3QgZGV2aWNlICpkZXYpCi0tIAoyLjE5 LjEKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmRyaS1k ZXZlbCBtYWlsaW5nIGxpc3QKZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczov L2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2RyaS1kZXZlbA==