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=-13.8 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER, INCLUDES_PATCH,MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED 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 4DD0BC4361B for ; Mon, 7 Dec 2020 12:32:07 +0000 (UTC) Received: from merlin.infradead.org (merlin.infradead.org [205.233.59.134]) (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 D75D5233EA for ; Mon, 7 Dec 2020 12:32:06 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org D75D5233EA Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=linaro.org Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=merlin.20170209; h=Sender:Content-Transfer-Encoding: Content-Type:Cc:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:In-Reply-To:MIME-Version:References:Message-ID: Subject:To:From:Date:Reply-To:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=CiPpQpEBdAgqqjeMKLTG/AgnE2AqEb+Dsphy9iHuDL4=; b=GPTGdstICh9ncJaXTI0iLeCvz gXEVxqZXv7kIyEbYPjvxjCPtfNQt1R5zEFwwyk1tHAM6XL2zDxNkOw0egcNpZM+X36LWxcM7Yumrj cdkPk/GRkOL5siHvHp4NmJ2jsHzLBRo9WI8JuQJPSlCN2FYC+s4BwaTtZqnUORczcAthxE5J7+50s OtNtEwHb3lC/cJ1fL5Lh+LbAmWe0TwX3R/xR0IyHUSsdmtIJ//30o1ER+AZqtoxTkxq8SsK4O3apv UGiS+xt9rJdnkae6cUtBCyjC5bRmmqaO/rBFZR9UNhMCOE4j0KF1MvY5Oo3NNNAFu07qR98FvQo3S cjZ0KlBEg==; Received: from localhost ([::1] helo=merlin.infradead.org) by merlin.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) id 1kmFeu-0001dg-G8; Mon, 07 Dec 2020 12:30:28 +0000 Received: from mail-lj1-x242.google.com ([2a00:1450:4864:20::242]) by merlin.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux)) id 1kmFeq-0001c1-HH for linux-arm-kernel@lists.infradead.org; Mon, 07 Dec 2020 12:30:25 +0000 Received: by mail-lj1-x242.google.com with SMTP id o24so14748998ljj.6 for ; Mon, 07 Dec 2020 04:30:22 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=date:from:to:cc:subject:message-id:references:mime-version :content-disposition:content-transfer-encoding:in-reply-to; bh=l6q6cwZyHaIAJmhwBlFnsHM9f3N2rodwyz5czidYR/M=; b=beA7jUmr394HhKgz+trffpZSkL1+utbgokP6SvLmtVKyJ7A2slL+yKIN30aUDeYkmm U59xQupZ6EvyxpLauu+orPk9Oq7vtrn3ZiZQkWh4LHYo+1O7Ds2ilTICyvFOHBOvIOrk ++zx33b85/gpyrP2dJt/RjgKEsyt+OhryOdFeLAQUm43bGG/T+2dUs/NI0czGTQIRWNA dBy9rzPuEl2adDDxMb+5IRWCLCkn2JQVD/SDCtadjG53rcQe1R+NsB6tXG6cHLMV2dsn FoclHiRVrYp9+pLzwLeEaCTT29vn0QGx9iayxVwwxhPe4K0oyQBNdTarRrmZXpnJT88I 1OwQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-disposition:content-transfer-encoding :in-reply-to; bh=l6q6cwZyHaIAJmhwBlFnsHM9f3N2rodwyz5czidYR/M=; b=K5zuAGRtyCmZZsJKyJe4l0U9vmiVTpmihd+5PFu230ZIYLZoAHytEilBHGWXemXpX8 OEuqfaLlX4I3WZEJHIj6nxKqjp7nINQLKJn5/TH5QaFSI6f9AuBwHQMGFiWprBR7eEHg BCNwVeqcmBe1dqZBPIDj4wuP5j3DVwpG4Ats6kKv8Z3VgOP0QBFSw9N3eFYdl2df2N4a W42eamcGCRWEfmp7WtOemZrDH6dY5JvUvO2BAslphCP152V4GRlQZsj7CL7Myapsbt3b 729QQoF1bIznaYvciiUYUrrKhn6Gy7blLbO0rSY3xGhQSXnF2O126xzAU0ISc/MIwQjK qnxw== X-Gm-Message-State: AOAM532C3EztqDaViKtnKu/k6fPdDTw5h49px2xNrCEOHn/U7h+HzUIa Sij0X5kfdQJXI535BV2xcoI9+w== X-Google-Smtp-Source: ABdhPJzdhu7IYZ7yv9t8FSyUIxQKURljFqOdBV4U0QPZ9lDRESF50Ohhtu+KT3J9RP7pvYWxnUmd9g== X-Received: by 2002:a2e:2284:: with SMTP id i126mr3668225lji.93.1607344221055; Mon, 07 Dec 2020 04:30:21 -0800 (PST) Received: from jade (h-249-223.A175.priv.bahnhof.se. [98.128.249.223]) by smtp.gmail.com with ESMTPSA id n1sm991662lfg.162.2020.12.07.04.30.19 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 07 Dec 2020 04:30:20 -0800 (PST) Date: Mon, 7 Dec 2020 13:30:18 +0100 From: Jens Wiklander To: Sudeep Holla Subject: Re: [PATCH v3 6/7] firmware: arm_ffa: Setup in-kernel users of FFA partitions Message-ID: <20201207123018.GA1748888@jade> References: <20201204121137.2966778-1-sudeep.holla@arm.com> <20201204121137.2966778-7-sudeep.holla@arm.com> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <20201204121137.2966778-7-sudeep.holla@arm.com> X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20201207_073024_866434_B76A62EB X-CRM114-Status: GOOD ( 28.98 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Trilok Soni , devicetree@vger.kernel.org, David Hartley , Andrew Walbran , Achin Gupta , arve@android.com, Arunachalam Ganapathy , linux-arm-kernel@lists.infradead.org Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org SGkgU3VkZWVwLAoKU29tZSBjb21tZW50cyBiZWxvdy4KCk9uIEZyaSwgRGVjIDA0LCAyMDIwIGF0 IDEyOjExOjM2UE0gKzAwMDAsIFN1ZGVlcCBIb2xsYSB3cm90ZToKPiBQYXJzZSB0aGUgRkZBIG5v ZGVzIGZyb20gdGhlIGRldmljZS10cmVlIGFuZCByZWdpc3RlciBhbGwgdGhlIHBhcnRpdGlvbnMK PiB3aG9zZSBzZXJ2aWNlcyB3aWxsIGJlIHVzZWQgaW4gdGhlIGtlcm5lbC4KPiAKPiBJbiBvcmRl ciB0byBhbHNvIGVuYWJsZSBpbi1rZXJuZWwgdXNlcnMgb2YgRkZBIGludGVyZmFjZSwgbGV0IHVz IGFkZAo+IHNpbXBsZSBzZXQgb2Ygb3BlcmF0aW9ucyBmb3Igc3VjaCBkZXZpY2VzLgo+IAo+IFRo ZSBpbi1rZXJuZWwgdXNlcnMgYXJlIHJlZ2lzdGVyZWQgd2l0aG91dCB0aGUgY2hhcmFjdGVyIGRl dmljZSBpbnRlcmZhY2UuCj4gCj4gU2lnbmVkLW9mZi1ieTogU3VkZWVwIEhvbGxhIDxzdWRlZXAu aG9sbGFAYXJtLmNvbT4KPiAtLS0KPiAgZHJpdmVycy9maXJtd2FyZS9hcm1fZmZhL2NvbW1vbi5o IHwgICAyICsKPiAgZHJpdmVycy9maXJtd2FyZS9hcm1fZmZhL2RyaXZlci5jIHwgMTg2ICsrKysr KysrKysrKysrKysrKysrKysrKysrKysrKwo+ICBpbmNsdWRlL2xpbnV4L2FybV9mZmEuaCAgICAg ICAgICAgfCAgMzYgKysrKystCj4gIDMgZmlsZXMgY2hhbmdlZCwgMjIzIGluc2VydGlvbnMoKyks IDEgZGVsZXRpb24oLSkKPiAKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9maXJtd2FyZS9hcm1fZmZh L2NvbW1vbi5oIGIvZHJpdmVycy9maXJtd2FyZS9hcm1fZmZhL2NvbW1vbi5oCj4gaW5kZXggZDAx OTM0OGJmNjdkLi5lYjEzNzFjMmIyYjggMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9maXJtd2FyZS9h cm1fZmZhL2NvbW1vbi5oCj4gKysrIGIvZHJpdmVycy9maXJtd2FyZS9hcm1fZmZhL2NvbW1vbi5o Cj4gQEAgLTYsNiArNiw3IEBACj4gICNpZm5kZWYgX0ZGQV9DT01NT05fSAo+ICAjZGVmaW5lIF9G RkFfQ09NTU9OX0gKPiAgCj4gKyNpbmNsdWRlIDxsaW51eC9hcm1fZmZhLmg+Cj4gICNpbmNsdWRl IDxsaW51eC9hcm0tc21jY2MuaD4KPiAgI2luY2x1ZGUgPGxpbnV4L2Vyci5oPgo+ICAKPiBAQCAt MTcsNiArMTgsNyBAQCB0eXBlZGVmIGZmYV9yZXNfdAo+ICAKPiAgaW50IF9faW5pdCBhcm1fZmZh X2J1c19pbml0KHZvaWQpOwo+ICB2b2lkIF9fZXhpdCBhcm1fZmZhX2J1c19leGl0KHZvaWQpOwo+ ICtib29sIGZmYV9kZXZpY2VfaXNfdmFsaWQoc3RydWN0IGZmYV9kZXZpY2UgKmZmYV9kZXYpOwo+ ICAKPiAgI2lmZGVmIENPTkZJR19BUk1fRkZBX1NNQ0NDCj4gIGludCBfX2luaXQgZmZhX3RyYW5z cG9ydF9pbml0KGZmYV9mbiAqKmludm9rZV9mZmFfZm4pOwo+IGRpZmYgLS1naXQgYS9kcml2ZXJz L2Zpcm13YXJlL2FybV9mZmEvZHJpdmVyLmMgYi9kcml2ZXJzL2Zpcm13YXJlL2FybV9mZmEvZHJp dmVyLmMKPiBpbmRleCAyNTdiMzMxZDc4MWMuLjNlNGJhODQxZGJmOCAxMDA2NDQKPiAtLS0gYS9k cml2ZXJzL2Zpcm13YXJlL2FybV9mZmEvZHJpdmVyLmMKPiArKysgYi9kcml2ZXJzL2Zpcm13YXJl L2FybV9mZmEvZHJpdmVyLmMKPiBAQCAtMjQsOSArMjQsMTMgQEAKPiAgCj4gICNpbmNsdWRlIDxs aW51eC9hcm1fZmZhLmg+Cj4gICNpbmNsdWRlIDxsaW51eC9iaXRmaWVsZC5oPgo+ICsjaW5jbHVk ZSA8bGludXgvZGV2aWNlLmg+Cj4gICNpbmNsdWRlIDxsaW51eC9pby5oPgo+ICsjaW5jbHVkZSA8 bGludXgva2VybmVsLmg+Cj4gICNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KPiArI2luY2x1ZGUg PGxpbnV4L29mLmg+Cj4gICNpbmNsdWRlIDxsaW51eC9zbGFiLmg+Cj4gKyNpbmNsdWRlIDxsaW51 eC91dWlkLmg+Cj4gIAo+ICAjaW5jbHVkZSAiY29tbW9uLmgiCj4gIAo+IEBAIC0xNzksNiArMTgz LDIwIEBAIHN0YXRpYyBpbnQgZmZhX3ZlcnNpb25fY2hlY2sodTMyICp2ZXJzaW9uKQo+ICAJcmV0 dXJuIDA7Cj4gIH0KPiAgCj4gK3N0YXRpYyBpbnQgZmZhX3J4X3JlbGVhc2Uodm9pZCkKPiArewo+ ICsJZmZhX3Jlc190IHJldDsKPiArCj4gKwlyZXQgPSBpbnZva2VfZmZhX2ZuKEZGQV9SWF9SRUxF QVNFLCAwLCAwLCAwLCAwLCAwLCAwLCAwKTsKPiArCj4gKwlpZiAocmV0LmEwID09IEZGQV9FUlJP UikKPiArCQlyZXR1cm4gZmZhX3RvX2xpbnV4X2Vycm5vKChpbnQpcmV0LmEyKTsKPiArCj4gKwkv KiBjaGVjayBmb3IgcmV0LmEwID09IEZGQV9SWF9SRUxFQVNFID8gKi8KPiArCj4gKwlyZXR1cm4g MDsKPiArfQo+ICsKPiAgc3RhdGljIGludCBmZmFfcnh0eF9tYXAocGh5c19hZGRyX3QgdHhfYnVm LCBwaHlzX2FkZHJfdCByeF9idWYsIHUzMiBwZ19jbnQpCj4gIHsKPiAgCWZmYV9yZXNfdCByZXQ7 Cj4gQEAgLTIwMyw2ICsyMjEsNTAgQEAgc3RhdGljIGludCBmZmFfcnh0eF91bm1hcCh1MTYgdm1f aWQpCj4gIAlyZXR1cm4gMDsKPiAgfQo+ICAKPiArc3RhdGljIGludCBfX2ZmYV9wYXJ0aXRpb25f aW5mb19nZXQodTMyIHV1aWQwLCB1MzIgdXVpZDEsIHUzMiB1dWlkMiwgdTMyIHV1aWQzLAo+ICsJ CQkJICAgIHN0cnVjdCBmZmFfcGFydGl0aW9uX2luZm8gKipidWZmZXIpCj4gK3sKPiArCWludCBj b3VudDsKPiArCWZmYV9yZXNfdCBwYXJ0aXRpb25faW5mbzsKPiArCj4gKwltdXRleF9sb2NrKCZk cnZfaW5mby0+cnhfbG9jayk7Cj4gKwlwYXJ0aXRpb25faW5mbyA9IGludm9rZV9mZmFfZm4oRkZB X1BBUlRJVElPTl9JTkZPX0dFVCwgdXVpZDAsIHV1aWQxLAo+ICsJCQkJICAgICAgIHV1aWQyLCB1 dWlkMywgMCwgMCwgMCk7Cj4gKwo+ICsJaWYgKHBhcnRpdGlvbl9pbmZvLmEwID09IEZGQV9FUlJP UikKPiArCQlyZXR1cm4gZmZhX3RvX2xpbnV4X2Vycm5vKChpbnQpcGFydGl0aW9uX2luZm8uYTIp Owo+ICsKPiArCWNvdW50ID0gcGFydGl0aW9uX2luZm8uYTI7Cj4gKwo+ICsJaWYgKGJ1ZmZlcikK PiArCQltZW1jcHkoKmJ1ZmZlciwgZHJ2X2luZm8tPnJ4X2J1ZmZlciwgc2l6ZW9mKCpidWZmZXIp ICogY291bnQpOwo+ICsKPiArCWZmYV9yeF9yZWxlYXNlKCk7Cj4gKwo+ICsJbXV0ZXhfdW5sb2Nr KCZkcnZfaW5mby0+cnhfbG9jayk7Cj4gKwo+ICsJcmV0dXJuIGNvdW50Owo+ICt9Cj4gKwo+ICtz dGF0aWMgaW50IGZmYV9wYXJ0aXRpb25fcHJvYmUoY29uc3QgY2hhciAqdXVpZF9zdHIsCj4gKwkJ CSAgICAgICBzdHJ1Y3QgZmZhX3BhcnRpdGlvbl9pbmZvICpidWZmZXIpCj4gK3sKPiArCWludCBj b3VudDsKPiArCXV1aWRfdCB1dWlkOwo+ICsJdTMyIHV1aWQwXzRbNF0gPSB7IDAgfTsKPiArCj4g KwlpZiAodXVpZF9wYXJzZSh1dWlkX3N0ciwgJnV1aWQpKSB7Cj4gKwkJcHJfZXJyKCJpbnZhbGlk IHV1aWQgKCVzKVxuIiwgdXVpZF9zdHIpOwo+ICsJCXJldHVybiAtRU5PREVWOwo+ICsJfQo+ICsK PiArCWV4cG9ydF91dWlkKCh1OCAqKXV1aWQwXzQsICZ1dWlkKTsKPiArCWNvdW50ID0gX19mZmFf cGFydGl0aW9uX2luZm9fZ2V0KHV1aWQwXzRbMF0sIHV1aWQwXzRbMV0sIHV1aWQwXzRbMl0sCj4g KwkJCQkJIHV1aWQwXzRbM10sICZidWZmZXIpOwo+ICsKPiArCXJldHVybiBjb3VudDsKPiArfQo+ ICsKPiAgI2RlZmluZSBWTV9JRF9NQVNLCUdFTk1BU0soMTUsIDApCj4gIHN0YXRpYyBpbnQgZmZh X2lkX2dldCh1MTYgKnZtX2lkKQo+ICB7Cj4gQEAgLTIxOCw5ICsyODAsMTI1IEBAIHN0YXRpYyBp bnQgZmZhX2lkX2dldCh1MTYgKnZtX2lkKQo+ICAJcmV0dXJuIDA7Cj4gIH0KPiAgCj4gK3N0YXRp YyBpbnQgZmZhX21zZ19zZW5kX2RpcmVjdF9yZXEodTE2IHNyY19pZCwgdTE2IGRzdF9pZCwKPiAr CQkJCSAgIHN0cnVjdCBmZmFfc2VuZF9kaXJlY3RfZGF0YSAqZGF0YSkKPiArewo+ICsJdTMyIHNy Y19kc3RfaWRzID0gUEFDS19UQVJHRVRfSU5GTyhzcmNfaWQsIGRzdF9pZCk7Cj4gKwlmZmFfcmVz X3QgcmV0Owo+ICsKPiArCXJldCA9IGludm9rZV9mZmFfZm4oRkZBX0ZOX05BVElWRShNU0dfU0VO RF9ESVJFQ1RfUkVRKSwgc3JjX2RzdF9pZHMsIDAsCj4gKwkJCSAgICBkYXRhLT5kYXRhMCwgZGF0 YS0+ZGF0YTEsIGRhdGEtPmRhdGEyLAo+ICsJCQkgICAgZGF0YS0+ZGF0YTMsIGRhdGEtPmRhdGE0 KTsKPiArCj4gKwl3aGlsZSAocmV0LmEwID09IEZGQV9JTlRFUlJVUFQpCj4gKwkJcmV0ID0gaW52 b2tlX2ZmYV9mbihGRkFfUlVOLCByZXQuYTEsIDAsIDAsIDAsIDAsIDAsIDApOwo+ICsJaWYgKHJl dC5hMCA9PSBGRkFfRVJST1IpCj4gKwkJcmV0dXJuIGZmYV90b19saW51eF9lcnJubygoaW50KXJl dC5hMik7Cj4gKwo+ICsJaWYgKHJldC5hMCA9PSBGRkFfRk5fTkFUSVZFKE1TR19TRU5EX0RJUkVD VF9SRVNQKSkgewo+ICsJCWRhdGEtPmRhdGEwID0gcmV0LmEzOwo+ICsJCWRhdGEtPmRhdGExID0g cmV0LmE0Owo+ICsJCWRhdGEtPmRhdGEyID0gcmV0LmE1Owo+ICsJCWRhdGEtPmRhdGEzID0gcmV0 LmE2Owo+ICsJCWRhdGEtPmRhdGE0ID0gcmV0LmE3Owo+ICsJfQo+ICsKPiArCXJldHVybiAwOwo+ ICt9Cj4gKwo+ICtzdGF0aWMgdTMyIGZmYV9hcGlfdmVyc2lvbl9nZXQodm9pZCkKPiArewo+ICsJ cmV0dXJuIGRydl9pbmZvLT52ZXJzaW9uOwo+ICt9Cj4gKwo+ICtzdGF0aWMgdTE2IGZmYV9wYXJ0 aXRpb25faWRfZ2V0KHN0cnVjdCBmZmFfZGV2aWNlICpkZXYpCj4gK3sKPiArCXJldHVybiBkZXYt PnZtX2lkOwo+ICt9Cj4gKwo+ICtzdGF0aWMgaW50IGZmYV9wYXJ0aXRpb25faW5mb19nZXQoY29u c3QgY2hhciAqdXVpZF9zdHIsCj4gKwkJCQkgIHN0cnVjdCBmZmFfcGFydGl0aW9uX2luZm8gKmJ1 ZmZlcikKPiArewo+ICsJaWYgKGZmYV9wYXJ0aXRpb25fcHJvYmUodXVpZF9zdHIsIGJ1ZmZlcikg PT0gMSkKPiArCQlyZXR1cm4gMDsKPiArCj4gKwlyZXR1cm4gLUVOT0VOVDsKPiArfQo+ICsKPiAr c3RhdGljIGludCBmZmFfc3luY19zZW5kX3JlY2VpdmUoc3RydWN0IGZmYV9kZXZpY2UgKmRldiwg dTE2IGVwLAo+ICsJCQkJIHN0cnVjdCBmZmFfc2VuZF9kaXJlY3RfZGF0YSAqZGF0YSkKPiArewo+ ICsJcmV0dXJuIGZmYV9tc2dfc2VuZF9kaXJlY3RfcmVxKGRldi0+dm1faWQsIGVwLCBkYXRhKTsK PiArfQo+ICsKPiArc3RhdGljIGNvbnN0IHN0cnVjdCBmZmFfZGV2X29wcyBmZmFfb3BzID0gewo+ ICsJLmFwaV92ZXJzaW9uX2dldCA9IGZmYV9hcGlfdmVyc2lvbl9nZXQsCj4gKwkucGFydGl0aW9u X2lkX2dldCA9IGZmYV9wYXJ0aXRpb25faWRfZ2V0LAo+ICsJLnBhcnRpdGlvbl9pbmZvX2dldCA9 IGZmYV9wYXJ0aXRpb25faW5mb19nZXQsCj4gKwkuc3luY19zZW5kX3JlY2VpdmUgPSBmZmFfc3lu Y19zZW5kX3JlY2VpdmUsCj4gK307Cj4gKwo+ICtjb25zdCBzdHJ1Y3QgZmZhX2Rldl9vcHMgKmZm YV9kZXZfb3BzX2dldChzdHJ1Y3QgZmZhX2RldmljZSAqZGV2KQo+ICt7Cj4gKwlpZiAoZmZhX2Rl dmljZV9pc192YWxpZChkZXYpKQo+ICsJCXJldHVybiAmZmZhX29wczsKPiArCj4gKwlyZXR1cm4g TlVMTDsKPiArfQo+ICtFWFBPUlRfU1lNQk9MX0dQTChmZmFfZGV2X29wc19nZXQpOwo+ICsKPiAr aW50IGZmYV9zZXR1cF9wYXJ0aXRpb25zKHN0cnVjdCBkZXZpY2Vfbm9kZSAqbnApCj4gK3sKPiAr CWludCByZXQ7Cj4gKwlzdHJ1Y3QgZGV2aWNlX25vZGUgKmNoaWxkOwo+ICsJc3RydWN0IGZmYV9k ZXZpY2UgKmZmYV9kZXY7Cj4gKwlzdHJ1Y3QgZmZhX3BhcnRpdGlvbl9pbmZvIHBidWY7Cj4gKwlj b25zdCBjaGFyICpwX3V1aWQsICpwZnggPSAiSWdub3JpbmcgRkZBIHBhcnRpdGlvbiI7Cj4gKwl1 dWlkX3QgdXVpZCA9IFVVSURfSU5JVCgwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwKTsK PiArCj4gKwlmb3JfZWFjaF9jaGlsZF9vZl9ub2RlKG5wLCBjaGlsZCkgewoKVGhlIHNwZWMgc2F5 czoK4oCTIElmIHRoZSBOaWwgVVVJRCBpcyBzcGVjaWZpZWQgYXQgdGhlIE5vbi1zZWN1cmUgdmly dHVhbCBGRi1BIGluc3RhbmNlLAogIHRoZSBIeXBlcnZpc29yIG11c3QgcHJvdmlkZSBpbmZvcm1h dGlvbiBmb3IgcGFydGl0aW9ucyByZXNpZGVudCBpbiBib3RoCiAgc2VjdXJpdHkgc3RhdGVzLgoK RG9lc24ndCB0aGF0IG1ha2UgdGhpcyByZWR1bmRhbnQ/CgoKPiArCQlpZiAoIW9mX2RldmljZV9p c19jb21wYXRpYmxlKGNoaWxkLCAiYXJtLGZmYS0xLjAtcGFydGl0aW9uIikpIHsKPiArCQkJb2Zf bm9kZV9wdXQoY2hpbGQpOwo+ICsJCQljb250aW51ZTsKPiArCQl9Cj4gKwo+ICsJCWlmIChvZl9w cm9wZXJ0eV9yZWFkX3N0cmluZyhjaGlsZCwgInV1aWQiLCAmcF91dWlkKSkgewo+ICsJCQlwcl9l cnIoIiVzOiBmYWlsZWQgdG8gcGFyc2UgXCJ1dWlkXCIgcHJvcGVydHlcbiIsIHBmeCk7Cj4gKwkJ CW9mX25vZGVfcHV0KGNoaWxkKTsKPiArCQkJY29udGludWU7Cj4gKwkJfQo+ICsKPiArCQlvZl9u b2RlX3B1dChjaGlsZCk7Cj4gKwo+ICsJCWlmICh1dWlkX3BhcnNlKHBfdXVpZCwgJnV1aWQpKSB7 Cj4gKwkJCXByX2VycigiJXM6IGludmFsaWQgXCJ1dWlkXCIgcHJvcGVydHkgKCVzKVxuIiwKPiAr CQkJICAgICAgIHBmeCwgcF91dWlkKTsKPiArCQkJY29udGludWU7Cj4gKwkJfQo+ICsKPiArCQly ZXQgPSBmZmFfcGFydGl0aW9uX3Byb2JlKHBfdXVpZCwgJnBidWYpOwo+ICsJCWlmIChyZXQgIT0g MSkgewoKSWYgcmV0IGlzID4gMSB3ZSdyZSBpbiBkZWVwIHRyb3VibGUgYXMgd2UgaGF2ZSBhIGJ1 ZmZlciBvdmVycnVuIG9uIHRoZQpzdGFjay4KCkNoZWVycywKSmVucwoKPiArCQkJcHJfZXJyKCIl czogJXMgcGFydGl0aW9uIGluZm8gcHJvYmUgZmFpbGVkXG4iLAo+ICsJCQkgICAgICAgcGZ4LCBw X3V1aWQpOwo+ICsJCQlyZXR1cm4gLUVJTlZBTDsKPiArCQl9Cj4gKwo+ICsJCWZmYV9kZXYgPSBm ZmFfZGV2aWNlX3JlZ2lzdGVyKHBfdXVpZCwgcGJ1Zi5pZCk7Cj4gKwkJaWYgKCFmZmFfZGV2KSB7 Cj4gKwkJCXByX2VycigiJXM6IGZhaWxlZCB0byByZWdpc3RlciAlc1xuIiwgcGZ4LCBwX3V1aWQp Owo+ICsJCQljb250aW51ZTsKPiArCQl9Cj4gKwo+ICsJCWZmYV9kZXZfc2V0X2RydmRhdGEoZmZh X2RldiwgZHJ2X2luZm8pOwo+ICsJfQo+ICsKPiArCXJldHVybiAwOwo+ICt9Cj4gKwo+ICBzdGF0 aWMgaW50IF9faW5pdCBmZmFfaW5pdCh2b2lkKQo+ICB7Cj4gIAlpbnQgcmV0Owo+ICsJc3RydWN0 IGRldmljZV9ub2RlICpucDsKPiAgCj4gIAlyZXQgPSBhcm1fZmZhX2J1c19pbml0KCk7Cj4gIAlp ZiAocmV0KQo+IEBAIC0yNjcsNiArNDQ1LDE0IEBAIHN0YXRpYyBpbnQgX19pbml0IGZmYV9pbml0 KHZvaWQpCj4gIAltdXRleF9pbml0KCZkcnZfaW5mby0+cnhfbG9jayk7Cj4gIAltdXRleF9pbml0 KCZkcnZfaW5mby0+dHhfbG9jayk7Cj4gIAo+ICsJLyogU2V0IHVwIGFsbCB0aGUgcGFydGl0aW9u cyAqLwo+ICsJbnAgPSBvZl9maW5kX2NvbXBhdGlibGVfbm9kZShOVUxMLCBOVUxMLCAiYXJtLGZm YS0xLjAiKTsKPiArCWlmICghbnApCj4gKwkJcmV0dXJuIDA7Cj4gKwo+ICsJZmZhX3NldHVwX3Bh cnRpdGlvbnMobnApOwo+ICsJb2Zfbm9kZV9wdXQobnApOwo+ICsKPiAgCXJldHVybiAwOwo+ICBm cmVlX3BhZ2VzOgo+ICAJaWYgKGRydl9pbmZvLT50eF9idWZmZXIpCj4gZGlmZiAtLWdpdCBhL2lu Y2x1ZGUvbGludXgvYXJtX2ZmYS5oIGIvaW5jbHVkZS9saW51eC9hcm1fZmZhLmgKPiBpbmRleCAz ZGVmZGRmYjQwZmMuLjg2MDRjNDgyODljZSAxMDA2NDQKPiAtLS0gYS9pbmNsdWRlL2xpbnV4L2Fy bV9mZmEuaAo+ICsrKyBiL2luY2x1ZGUvbGludXgvYXJtX2ZmYS5oCj4gQEAgLTYsNyArNiw2IEBA Cj4gICNpZm5kZWYgX0xJTlVYX0FSTV9GRkFfSAo+ICAjZGVmaW5lIF9MSU5VWF9BUk1fRkZBX0gK PiAgCj4gLSNpbmNsdWRlIDxsaW51eC9jZGV2Lmg+Cj4gICNpbmNsdWRlIDxsaW51eC9kZXZpY2Uu aD4KPiAgI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgo+ICAjaW5jbHVkZSA8bGludXgvdHlwZXMu aD4KPiBAQCAtNDcsNiArNDYsNyBAQCB2b2lkIGZmYV9kZXZpY2VfdW5yZWdpc3RlcihzdHJ1Y3Qg ZmZhX2RldmljZSAqZmZhX2Rldik7Cj4gIGludCBmZmFfZHJpdmVyX3JlZ2lzdGVyKHN0cnVjdCBm ZmFfZHJpdmVyICpkcml2ZXIsIHN0cnVjdCBtb2R1bGUgKm93bmVyLAo+ICAJCQljb25zdCBjaGFy ICptb2RfbmFtZSk7Cj4gIHZvaWQgZmZhX2RyaXZlcl91bnJlZ2lzdGVyKHN0cnVjdCBmZmFfZHJp dmVyICpkcml2ZXIpOwo+ICtjb25zdCBzdHJ1Y3QgZmZhX2Rldl9vcHMgKmZmYV9kZXZfb3BzX2dl dChzdHJ1Y3QgZmZhX2RldmljZSAqZGV2KTsKPiAgCj4gICNlbHNlCj4gIHN0YXRpYyBpbmxpbmUK PiBAQCAtNjYsNiArNjYsMTAgQEAgZmZhX2RyaXZlcl9yZWdpc3RlcihzdHJ1Y3QgZmZhX2RyaXZl ciAqZHJpdmVyLCBzdHJ1Y3QgbW9kdWxlICpvd25lciwKPiAgCj4gIHN0YXRpYyBpbmxpbmUgdm9p ZCBmZmFfZHJpdmVyX3VucmVnaXN0ZXIoc3RydWN0IGZmYV9kcml2ZXIgKmRyaXZlcikge30KPiAg Cj4gK2NvbnN0IHN0cnVjdCBmZmFfZGV2X29wcyAqZmZhX2Rldl9vcHNfZ2V0KHN0cnVjdCBmZmFf ZGV2aWNlICpkZXYpCj4gK3sKPiArCXJldHVybiBOVUxMOwo+ICt9Cj4gICNlbmRpZiAvKiBDT05G SUdfQVJNX0ZGQV9UUkFOU1BPUlQgKi8KPiAgCj4gICNkZWZpbmUgZmZhX3JlZ2lzdGVyKGRyaXZl cikgXAo+IEBAIC04NCw0ICs4OCwzNCBAQCBzdGF0aWMgaW5saW5lIHZvaWQgZmZhX2RyaXZlcl91 bnJlZ2lzdGVyKHN0cnVjdCBmZmFfZHJpdmVyICpkcml2ZXIpIHt9Cj4gICNkZWZpbmUgbW9kdWxl X2ZmYV9kcml2ZXIoX19mZmFfZHJpdmVyKQlcCj4gIAltb2R1bGVfZHJpdmVyKF9fZmZhX2RyaXZl ciwgZmZhX3JlZ2lzdGVyLCBmZmFfdW5yZWdpc3RlcikKPiAgCj4gKy8qIEZGQSB0cmFuc3BvcnQg cmVsYXRlZCAqLwo+ICtzdHJ1Y3QgZmZhX3BhcnRpdGlvbl9pbmZvIHsKPiArCXUxNiBpZDsKPiAr CXUxNiBleGVjX2N0eHQ7Cj4gKy8qIHBhcnRpdGlvbiBzdXBwb3J0cyByZWNlaXB0IG9mIGRpcmVj dCByZXF1ZXN0cyAqLwo+ICsjZGVmaW5lIEZGQV9QQVJUSVRJT05fRElSRUNUX1JFQ1YJQklUKDAp Cj4gKy8qIHBhcnRpdGlvbiBjYW4gc2VuZCBkaXJlY3QgcmVxdWVzdHMuICovCj4gKyNkZWZpbmUg RkZBX1BBUlRJVElPTl9ESVJFQ1RfU0VORAlCSVQoMSkKPiArLyogcGFydGl0aW9uIGNhbiBzZW5k IGFuZCByZWNlaXZlIGluZGlyZWN0IG1lc3NhZ2VzLiAqLwo+ICsjZGVmaW5lIEZGQV9QQVJUSVRJ T05fSU5ESVJFQ1RfTVNHCUJJVCgyKQo+ICsJdTMyIHByb3BlcnRpZXM7Cj4gK307Cj4gKwo+ICtz dHJ1Y3QgZmZhX3NlbmRfZGlyZWN0X2RhdGEgewo+ICsJdW5zaWduZWQgbG9uZyBkYXRhMDsKPiAr CXVuc2lnbmVkIGxvbmcgZGF0YTE7Cj4gKwl1bnNpZ25lZCBsb25nIGRhdGEyOwo+ICsJdW5zaWdu ZWQgbG9uZyBkYXRhMzsKPiArCXVuc2lnbmVkIGxvbmcgZGF0YTQ7Cj4gK307Cj4gKwo+ICtzdHJ1 Y3QgZmZhX2Rldl9vcHMgewo+ICsJdTMyICgqYXBpX3ZlcnNpb25fZ2V0KSh2b2lkKTsKPiArCXUx NiAoKnBhcnRpdGlvbl9pZF9nZXQpKHN0cnVjdCBmZmFfZGV2aWNlICpkZXYpOwo+ICsJaW50ICgq cGFydGl0aW9uX2luZm9fZ2V0KShjb25zdCBjaGFyICp1dWlkX3N0ciwKPiArCQkJCSAgc3RydWN0 IGZmYV9wYXJ0aXRpb25faW5mbyAqYnVmZmVyKTsKPiArCWludCAoKnN5bmNfc2VuZF9yZWNlaXZl KShzdHJ1Y3QgZmZhX2RldmljZSAqZGV2LCB1MTYgZXAsCj4gKwkJCQkgc3RydWN0IGZmYV9zZW5k X2RpcmVjdF9kYXRhICpkYXRhKTsKPiArfTsKPiArCj4gICNlbmRpZiAvKiBfTElOVVhfQVJNX0ZG QV9IICovCj4gLS0gCj4gMi4yNS4xCj4gCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fXwpsaW51eC1hcm0ta2VybmVsIG1haWxpbmcgbGlzdApsaW51eC1hcm0t a2VybmVsQGxpc3RzLmluZnJhZGVhZC5vcmcKaHR0cDovL2xpc3RzLmluZnJhZGVhZC5vcmcvbWFp bG1hbi9saXN0aW5mby9saW51eC1hcm0ta2VybmVsCg==