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 Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 86A0DC64ED8 for ; Fri, 24 Feb 2023 10:31:01 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender:Content-Type: Content-Transfer-Encoding:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:In-Reply-To:From:References:Cc:To:Subject: MIME-Version:Date:Message-ID:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=a4MQxvn7KaQE7kfO33A9tar1VQTOMiCDpGAoMYJJ+f0=; b=RbTSrgiKy25gIu y/8hO1771DyGmrLEjm5PYCzZ2ZTASL52V72utiWF6Uizn2A/qx61YrTMJ2NV8beflbMCS/pciZYzg C2gxAzTLSphpawQOkakYxFmFmkYAIjIleT508njyp3aj8BiceG8JPrDiPVnELg8D31ObbzpQB+PTK TogxR6bzZh+Z4/5iEI/Qc5uoanI24C9RDZu1HdbT9fokWYs+eU8f/234DuirPdIKGyAd+Fx7RdY14 xrv/MGiN4NysGye3w+eJqytLkBxYAL1LCFMrQ0jo7GWbb0/GVroTaNM2NVY5ayH20rgB9x22WB8LJ NDp5lBpX3YscSyShmlPg==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1pVVKw-0022jE-UU; Fri, 24 Feb 2023 10:29:59 +0000 Received: from mail-wm1-x336.google.com ([2a00:1450:4864:20::336]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1pVVKr-0022fM-IT for linux-arm-kernel@lists.infradead.org; Fri, 24 Feb 2023 10:29:55 +0000 Received: by mail-wm1-x336.google.com with SMTP id iv11-20020a05600c548b00b003dc52fed235so1432042wmb.1 for ; Fri, 24 Feb 2023 02:29:50 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=content-transfer-encoding:in-reply-to:from:references:cc:to :content-language:subject:user-agent:mime-version:date:message-id :from:to:cc:subject:date:message-id:reply-to; bh=6wxxz+sDh794uzv69vqKx5GNNub+zLdXfYsMvxxHBJ4=; b=ftm4FaeoP2zr5EYlxPFvlurlNxkZoU/u6gsYW0oFeC6dwiCYq7LzqS4DjcV6allT9l o/Zd+Pmt028rUJa2MyaU5OKEfubnqpL+UmCodhb+SdUnkYF5Fb/YnxjerOmIHjXoGRqw ESZRI42hZYoDZ0U3pi9wIWDp9PZQwRspsyZwRXQaWoqkfWjBLJUoVA2zZGWxS8BcV0BX qFwp7ZrtZwxGiSqybS1cdOPOJVED33eHxhSPYhV1+58yCHABO4rh2b65YXS15zu7GXJM YBvECCJThSbVQHkQ5bUcPR+98dfsIVcxn/0TuU1lJ/lil50PfGLT8Fw0csw+hYB8n9mr Uu9A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:in-reply-to:from:references:cc:to :content-language:subject:user-agent:mime-version:date:message-id :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=6wxxz+sDh794uzv69vqKx5GNNub+zLdXfYsMvxxHBJ4=; b=w2H2uGYCbFAIiKQERxIkG6ulwGgOpX8fIdT6ifQVaXkl1eCd9At4bOYghfymRnGRbU DTfnqx37PMHITjLEXrVDKRjjVkBkAnNzZO/Reew4D8f7HGTknRn07x4R1PMFLCh9kzHN BiVM6fcf5gECTGrJ4KVjoophckRu6KOIL4Y8WBwWIvWRUwcdkfiU2sKNBrD2ASKHlEXv ceS9YciLrW/u8jhKg5ocUbYAUqZtdNaOYPZnPP+uagwtY9m7GstrTWnOGshsJy2/0RR6 ZVmGi1Z84kaBfZKVgmImAtnxDQQ9cnVFQWrGpuOLGenBwqQJUC0AyP0O69t6Fy/E8tcV C7mA== X-Gm-Message-State: AO0yUKVf3VtvGQ5ddFO2/YbVKs4w26v6K9COYey7n9kPTCn5nMfkyT9k OTIZfwWGLsn2swN6QqGhqMUKmw== X-Google-Smtp-Source: AK7set+yKZPsTlp+cfnAvSBbyEIWpo7dQfPOGPoNPA8Ycci6zSnnqhHIygrGuXmhhimjWGXsjagJrw== X-Received: by 2002:a05:600c:34cb:b0:3eb:a4e:a2b2 with SMTP id d11-20020a05600c34cb00b003eb0a4ea2b2mr1562593wmq.4.1677234588949; Fri, 24 Feb 2023 02:29:48 -0800 (PST) Received: from [192.168.1.195] ([5.133.47.210]) by smtp.googlemail.com with ESMTPSA id az35-20020a05600c602300b003eaf666cbe0sm2376659wmb.27.2023.02.24.02.29.47 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Fri, 24 Feb 2023 02:29:48 -0800 (PST) Message-ID: Date: Fri, 24 Feb 2023 10:29:46 +0000 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.7.1 Subject: Re: [PATCH v10 10/26] gunyah: vm_mgr: Introduce basic VM Manager Content-Language: en-US To: Elliot Berman , Alex Elder , Jonathan Corbet , Prakruthi Deepak Heragu Cc: Murali Nalajala , Trilok Soni , Srivatsa Vaddagiri , Carl van Schaik , Dmitry Baryshkov , Bjorn Andersson , Konrad Dybcio , Arnd Bergmann , Greg Kroah-Hartman , Rob Herring , Krzysztof Kozlowski , Bagas Sanjaya , Catalin Marinas , Jassi Brar , linux-arm-msm@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-doc@vger.kernel.org, linux-arm-kernel@lists.infradead.org References: <20230214211229.3239350-1-quic_eberman@quicinc.com> <20230214212356.3313181-1-quic_eberman@quicinc.com> <05c4aab8-2d26-b944-adb6-624d67e4a11d@quicinc.com> <52d944b1-3ea6-26b7-766a-2fed05dccf3a@linaro.org> From: Srinivas Kandagatla In-Reply-To: X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20230224_022953_660340_4C0A810C X-CRM114-Status: GOOD ( 37.03 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Transfer-Encoding: base64 Content-Type: text/plain; charset="utf-8"; Format="flowed" Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org CgpPbiAyMy8wMi8yMDIzIDIyOjQwLCBFbGxpb3QgQmVybWFuIHdyb3RlOgo+IAo+IAo+IE9uIDIv MjMvMjAyMyAyOjA4IEFNLCBTcmluaXZhcyBLYW5kYWdhdGxhIHdyb3RlOgo+Pgo+Pgo+PiBPbiAy Mi8wMi8yMDIzIDAwOjI3LCBFbGxpb3QgQmVybWFuIHdyb3RlOgo+Pj4KPj4+Pj4gK8KgwqDCoCAu bGxzZWVrID0gbm9vcF9sbHNlZWssCj4+Pj4+ICt9Owo+Pj4+PiArCj4+Pj4+ICtzdGF0aWMgbG9u ZyBnaF9kZXZfaW9jdGxfY3JlYXRlX3ZtKHN0cnVjdCBnaF9ybSAqcm0sIHVuc2lnbmVkIGxvbmcg Cj4+Pj4+IGFyZykKPj4+PiBOb3Qgc3VyZSB3aGF0IGlzIHRoZSBnYWluIG9mIHRoaXMgbXVsdGlw bGUgbGV2ZWxzIG9mIHJlZGlyZWN0aW9uLgo+Pj4+Cj4+Pj4gSG93IGFib3V0Cj4+Pj4KPj4+PiBs b25nIGdoX2Rldl9jcmVhdGVfdm0oc3RydWN0IGdoX3JtICpybSwgdW5zaWduZWQgbG9uZyBhcmcp Cj4+Pj4gewo+Pj4+IC4uLgo+Pj4+IH0KPj4+Pgo+Pj4+IGFuZCByc2NfbWdyIGp1c3QgY2FsbCBp dCBhcyBwYXJ0IG9mIGl0cyBpb2N0bCBjYWxsCj4+Pj4KPj4+PiBzdGF0aWMgbG9uZyBnaF9kZXZf aW9jdGwoc3RydWN0IGZpbGUgKmZpbHAsIHVuc2lnbmVkIGludCBjbWQsIAo+Pj4+IHVuc2lnbmVk IGxvbmcgYXJnKQo+Pj4+IHsKPj4+PiDCoMKgwqDCoMKgc3RydWN0IG1pc2NkZXZpY2UgKm1pc2Nk ZXYgPSBmaWxwLT5wcml2YXRlX2RhdGE7Cj4+Pj4gwqDCoMKgwqDCoHN0cnVjdCBnaF9ybSAqcm0g PSBjb250YWluZXJfb2YobWlzY2Rldiwgc3RydWN0IGdoX3JtLCBtaXNjZGV2KTsKPj4+Pgo+Pj4+ IMKgwqDCoMKgwqBzd2l0Y2ggKGNtZCkgewo+Pj4+IMKgwqDCoMKgwqBjYXNlIEdIX0NSRUFURV9W TToKPj4+PiDCoMKgwqDCoMKgwqDCoMKgIHJldHVybiBnaF9kZXZfY3JlYXRlX3ZtKHJtLCBhcmcp Owo+Pj4+IMKgwqDCoMKgwqBkZWZhdWx0Ogo+Pj4+IMKgwqDCoMKgwqDCoMKgwqAgcmV0dXJuIC1F Tk9JT0NUTENNRDsKPj4+PiDCoMKgwqDCoMKgfQo+Pj4+IH0KPj4+Pgo+Pj4KPj4+IEknbSBhbnRp Y2lwYXRpbmcgd2Ugd2lsbCBhZGQgZnVydGhlciAvZGV2L2d1bnlhaCBpb2N0bHMgYW5kIEkgdGhv dWdodCAKPj4+IGl0IHdvdWxkIGJlIGNsZWFuZXIgdG8gaGF2ZSBhbGwgdGhhdCBpbiB2bV9tZ3Iu YyBpdHNlbGYuCj4+Pgo+Pj4+Cj4+Pj4+ICt7Cj4+Pj4+ICvCoMKgwqAgc3RydWN0IGdoX3ZtICpn aHZtOwo+Pj4+PiArwqDCoMKgIHN0cnVjdCBmaWxlICpmaWxlOwo+Pj4+PiArwqDCoMKgIGludCBm ZCwgZXJyOwo+Pj4+PiArCj4+Pj4+ICvCoMKgwqAgLyogYXJnIHJlc2VydmVkIGZvciBmdXR1cmUg dXNlLiAqLwo+Pj4+PiArwqDCoMKgIGlmIChhcmcpCj4+Pj4+ICvCoMKgwqDCoMKgwqDCoCByZXR1 cm4gLUVJTlZBTDsKPj4+Pgo+Pj4+IFRoZSBvbmx5IGNvZGUgcGF0aCBJIHNlZSBoZXJlIGlzIHZp YSBHSF9DUkVBVEVfVk0gaW9jdGwgd2hpY2ggCj4+Pj4gb2J2aW91c2x5IGRvZXMgbm90IHRha2Ug YW55IGFyZ3VtZW50cywgc28gaWYgeW91IGFyZSB0aGlua2luZyBvZiAKPj4+PiB1c2luZyB0aGUg YXJndW1lbnQgZm9yIGFyY2hpdGVjdHVyZS1zcGVjaWZpYyBWTSBmbGFncy7CoCBUaGVuIHRoaXMg Cj4+Pj4gbmVlZHMgdG8gYmUgcHJvcGVybHkgZG9uZSBieSBtYWtpbmcgdGhlIEFCSSBhd2FyZSBv ZiB0aGlzLgo+Pj4KPj4+IEl0IGlzIGRvY3VtZW50ZWQgaW4gUGF0Y2ggMTcgKERvY3VtZW50IEd1 bnlhaCBWTSBNYW5hZ2VyKQo+Pj4KPj4+ICtHSF9DUkVBVEVfVk0KPj4+ICt+fn5+fn5+fn5+fn4K Pj4+ICsKPj4+ICtDcmVhdGVzIGEgR3VueWFoIFZNLiBUaGUgYXJndW1lbnQgaXMgcmVzZXJ2ZWQg Zm9yIGZ1dHVyZSB1c2UgYW5kIAo+Pj4gbXVzdCBiZSAwLgo+Pj4KPj4gQnV0IHRoaXMgY29uZmlj dHMgd2l0aCB0aGUgVUFQSXMgdGhhdCBoYXZlIGJlZW4gZGVmaW5lZC4gR0hfQ1JFQVRFX1ZNIAo+ PiBpdHNlbGYgaXMgZGVmaW5lZCB0byB0YWtlIG5vIHBhcmFtZXRlcnMuCj4+Cj4+ICNkZWZpbmUg R0hfQ1JFQVRFX1ZNwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgX0lPKEdI X0lPQ1RMX1RZUEUsIDB4MCkKPj4KPj4gc28gd2hlcmUgYXJlIHlvdSBleHBlY3RpbmcgdGhlIGFy Z3VtZW50IHRvIGNvbWUgZnJvbT8KPj4gwqA+Pj4KPj4+PiBBcyB5b3UgbWVudGlvbmVkIHplcm8g dmFsdWUgYXJnIGltcGx5IGFuICJ1bmF1dGhlbnRpY2F0ZWQgVk0iIHR5cGUsIAo+Pj4+IGJ1dCB0 aGlzIHdhcyBub3QgcHJvcGVybHkgZW5jb2RlZCBpbiB0aGUgdXNlcnNwYWNlIEFCSS4gV2h5IG5v dCBtYWtlIAo+Pj4+IGl0IGZ1dHVyZSBjb21wYXRpYmxlLiBIb3cgYWJvdXQgYWRkaW5nIGFyZ3Vt ZW50cyB0byBHSF9DUkVBVEVfVk0gYW5kIAo+Pj4+IHBhc3MgdGhlIHJlcXVpcmVkIGluZm9ybWF0 aW9uIGNvcnJlY3RseS4KPj4+PiBOb3RlIHRoYXQgb25jZSB0aGUgQUJJIGlzIGFjY2VwdGVkIHRo ZW4geW91IHdpbGwgbm90IGJlIGFibGUgdG8gCj4+Pj4gY2hhbmdlIGl0LCBvdGhlciB0aGFuIGFk ZGluZyBhIG5ldyBvbmUuCj4+Pj4KPj4+Cj4+PiBEb2VzIHRoaXMgbWVhbnMgYWRkaW5nICNkZWZp bmUgR0hfVk1fREVGQVVMVF9BUkcgMCA/IEkgYW0gbm90IHN1cmUgCj4+PiB5ZXQgd2hhdCBhcmd1 bWVudHMgdG8gYWRkIGhlcmUuCj4+Pgo+Pj4gVGhlIEFCSSBjYW4gYWRkIG5ldyAibG9uZyIgdmFs dWVzIHRvIEdIX0NSRUFURV9WTSBhbmQgdGhhdCB3b3VsZG4ndCAKPj4KPj4gU29ycnksIHRoYXQg aXMgZXhhY3RseSB3aGF0IHdlIHdhbnQgdG8gYXZvaWQsIHdlIGNhbiBub3QgY2hhbmdlIHRoZSAK Pj4gVUFQSSBpdHMgZ29pbmcgdG8gYnJlYWsgdGhlIHVzZXJzcGFjZS4KPj4KPj4+IGJyZWFrIGNv bXBhdGliaWxpdHkgd2l0aCBvbGQga2VybmVsczsgb2xkIGtlcm5lbHMgcmVqZWN0IGl0IGFzIC1F SU5WQUwuCj4+Cj4+IElmIHlvdSBoYXZlIHVzZXJzcGFjZSBidWlsdCB3aXRoIG9sZGVyIGtlcm5l bCBoZWFkZXJzIHRoZW4gdGhhdCB3aWxsIAo+PiBicmVhay4gQW0gbm90IHN1cmUgYWJvdXQgb2xk LWtlcm5lbHMuCj4+Cj4+IFdoYXQgZXhhY3RseSBpcyB0aGUgYXJndW1lbnQgdGhhdCB5b3Ugd2Fu dCB0byBhZGQgdG8gR0hfQ1JFQVRFX1ZNPwo+Pgo+PiBJZiB5b3Ugd2FudCB0byBrZWVwIEdIX0NS RUFURV9WTSB3aXRoIG5vIGFyZ3VtZW50cyB0aGF0IGlzIGZpbmUgYnV0IAo+PiByZW1vdmUgdGhl IGNvbmZsaWN0aW5nIGNvbW1lbnRzIGluIHRoZSBjb2RlIGFuZCBkb2N1bWVudCBzbyB0aGF0IGl0 cyAKPj4gbm90IG1pc2xlYWRpbmcgcmVhZGVycy9yZXZpZXdlcnMgdGhhdCB0aGUgVUFQSSBpcyBn b2luZyB0byBiZSBtb2RpZmllZCAKPj4gaW4gbmVhciBmdXR1cmUuCj4+Cj4+Cj4gCj4gVGhlIGNv bnZlbnRpb24gZm9sbG93ZWQgaGVyZSBjb21lcyBmcm9tIEtWTV9DUkVBVEVfVk0uIElzIHRoaXMg aW9jdGwgCj4gY29uc2lkZXJlZCBiYWQgZXhhbXBsZT8KPiAKCkl0IGlzIHJlY29tbWVuZGVkIHRv IG9ubHkgdXNlIF9JTyBmb3IgY29tbWFuZHMgd2l0aG91dCBhcmd1bWVudHMsIGFuZCAKdXNlIHBv aW50ZXJzIGZvciBwYXNzaW5nIGRhdGEuIEV2ZW4gdGhvdWdoIF9JTyBjYW4gaW5kaWNhdGUgZWl0 aGVyIApjb21tYW5kcyB3aXRoIG5vIGFyZ3VtZW50IG9yIHBhc3NpbmcgYW4gaW50ZWdlciB2YWx1 ZSBpbnN0ZWFkIG9mIGEgCnBvaW50ZXIuIEFtIHJlYWxseSBub3Qgc3VyZSBob3cgdGhpcyB3b3Jr cyBpbiBjb21wYXQgY2FzZS4KCkFtIHN1cmUgdGhlcmUgYXJlIHRyaWNrcyB0aGF0IGNhbiBiZSBk b25lIHdpdGgganVzdCB1c2luZyBfSU8oKSBtYWNybyAKKGV4IHZmaW8pLCBidXQgdGhpcyBkb2Vz IG5vdCBtZWFuIHRoYXQgd2Ugc2hvdWxkIG5vdCB1c2UgX0lPVyB0byBiZSBtb3JlIApleHBsaWNp dCBvbiB0aGUgdHlwZSBhbmQgc2l6ZSBvZiBhcmd1bWVudCB0aGF0IHdlIGFyZSBleHBlY3Rpbmcu CgpPbiB0aGUgb3RoZXIgaGFuZCBJZiBpdHMgcmVhbGx5IG5vdCBwb3NzaWJsZSB0byBjaGFuZ2Ug dGhpcyBJT0NUTCB0byAKX0lPVyBhbmQgYXJndW1lbnQgdGhhdCB5b3UgYXJlIHJlZmVycmluZyB3 b3VsZCBiZSB3aXRoIGluIGludGVnZXIgcmFuZ2UsIAp0aGVuIHdoYXQgeW91IGhhdmUgd2l0aCBf SU8gbWFjcm8gc2hvdWxkIHdvcmsuCgotLXNyaW5pCgo+Pj4KPj4+Pj4gKwo+Pj4+PiArwqDCoMKg IGdodm0gPSBnaF92bV9hbGxvYyhybSk7Cj4+Pj4+ICvCoMKgwqAgaWYgKElTX0VSUihnaHZtKSkK Pj4+Pj4gK8KgwqDCoMKgwqDCoMKgIHJldHVybiBQVFJfRVJSKGdodm0pOwo+Pj4+PiArCj4+Pj4+ ICvCoMKgwqAgZmQgPSBnZXRfdW51c2VkX2ZkX2ZsYWdzKE9fQ0xPRVhFQyk7Cj4+Pj4+ICvCoMKg wqAgaWYgKGZkIDwgMCkgewo+Pj4+PiArwqDCoMKgwqDCoMKgwqAgZXJyID0gZmQ7Cj4+Pj4+ICvC oMKgwqDCoMKgwqDCoCBnb3RvIGVycl9kZXN0cm95X3ZtOwo+Pj4+PiArwqDCoMKgIH0KPj4+Pj4g Kwo+Pj4+PiArwqDCoMKgIGZpbGUgPSBhbm9uX2lub2RlX2dldGZpbGUoImd1bnlhaC12bSIsICZn aF92bV9mb3BzLCBnaHZtLCAKPj4+Pj4gT19SRFdSKTsKPj4+Pj4gK8KgwqDCoCBpZiAoSVNfRVJS KGZpbGUpKSB7Cj4+Pj4+ICvCoMKgwqDCoMKgwqDCoCBlcnIgPSBQVFJfRVJSKGZpbGUpOwo+Pj4+ PiArwqDCoMKgwqDCoMKgwqAgZ290byBlcnJfcHV0X2ZkOwo+Pj4+PiArwqDCoMKgIH0KPj4+Pj4g Kwo+Pj4+PiArwqDCoMKgIGZkX2luc3RhbGwoZmQsIGZpbGUpOwo+Pj4+PiArCj4+Pj4+ICvCoMKg wqAgcmV0dXJuIGZkOwo+Pj4+PiArCj4+Pj4+ICtlcnJfcHV0X2ZkOgo+Pj4+PiArwqDCoMKgIHB1 dF91bnVzZWRfZmQoZmQpOwo+Pj4+PiArZXJyX2Rlc3Ryb3lfdm06Cj4+Pj4+ICvCoMKgwqAga2Zy ZWUoZ2h2bSk7Cj4+Pj4+ICvCoMKgwqAgcmV0dXJuIGVycjsKPj4+Pj4gK30KPj4+Pj4gKwo+Pj4+ PiArbG9uZyBnaF9kZXZfdm1fbWdyX2lvY3RsKHN0cnVjdCBnaF9ybSAqcm0sIHVuc2lnbmVkIGlu dCBjbWQsIAo+Pj4+PiB1bnNpZ25lZCBsb25nIGFyZykKPj4+Pj4gK3sKPj4+Pj4gK8KgwqDCoCBz d2l0Y2ggKGNtZCkgewo+Pj4+PiArwqDCoMKgIGNhc2UgR0hfQ1JFQVRFX1ZNOgo+Pj4+PiArwqDC oMKgwqDCoMKgwqAgcmV0dXJuIGdoX2Rldl9pb2N0bF9jcmVhdGVfdm0ocm0sIGFyZyk7Cj4+Pj4+ ICvCoMKgwqAgZGVmYXVsdDoKPj4+Pj4gK8KgwqDCoMKgwqDCoMKgIHJldHVybiAtRU5PSU9DVExD TUQ7Cj4+Pj4+ICvCoMKgwqAgfQo+Pj4+PiArfQo+Pj4+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy92 aXJ0L2d1bnlhaC92bV9tZ3IuaCAKPj4+Pj4gYi9kcml2ZXJzL3ZpcnQvZ3VueWFoL3ZtX21nci5o Cj4+Pj4+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0Cj4+Pj4+IGluZGV4IDAwMDAwMDAwMDAwMC4uNzY5 NTRkYTcwNmU5Cj4+Pj4+IC0tLSAvZGV2L251bGwKPj4+Pj4gKysrIGIvZHJpdmVycy92aXJ0L2d1 bnlhaC92bV9tZ3IuaAo+Pj4+PiBAQCAtMCwwICsxLDIyIEBACj4+Pj4+ICsvKiBTUERYLUxpY2Vu c2UtSWRlbnRpZmllcjogR1BMLTIuMC1vbmx5ICovCj4+Pj4+ICsvKgo+Pj4+PiArICogQ29weXJp Z2h0IChjKSAyMDIyLTIwMjMgUXVhbGNvbW0gSW5ub3ZhdGlvbiBDZW50ZXIsIEluYy4gQWxsIAo+ Pj4+PiByaWdodHMgcmVzZXJ2ZWQuCj4+Pj4+ICsgKi8KPj4+Pj4gKwo+Pj4+PiArI2lmbmRlZiBf R0hfUFJJVl9WTV9NR1JfSAo+Pj4+PiArI2RlZmluZSBfR0hfUFJJVl9WTV9NR1JfSAo+Pj4+PiAr Cj4+Pj4+ICsjaW5jbHVkZSA8bGludXgvZ3VueWFoX3JzY19tZ3IuaD4KPj4+Pj4gKwo+Pj4+PiAr I2luY2x1ZGUgPHVhcGkvbGludXgvZ3VueWFoLmg+Cj4+Pj4+ICsKPj4+Pj4gK2xvbmcgZ2hfZGV2 X3ZtX21ncl9pb2N0bChzdHJ1Y3QgZ2hfcm0gKnJtLCB1bnNpZ25lZCBpbnQgY21kLCAKPj4+Pj4g dW5zaWduZWQgbG9uZyBhcmcpOwo+Pj4+PiArCj4+Pj4+ICtzdHJ1Y3QgZ2hfdm0gewo+Pj4+PiAr wqDCoMKgIHUxNiB2bWlkOwo+Pj4+PiArwqDCoMKgIHN0cnVjdCBnaF9ybSAqcm07Cj4+Pj4+ICsK Pj4+Pj4gK8KgwqDCoCBzdHJ1Y3Qgd29ya19zdHJ1Y3QgZnJlZV93b3JrOwo+Pj4+PiArfTsKPj4+ Pj4gKwo+Pj4+PiArI2VuZGlmCj4+Pj4+IGRpZmYgLS1naXQgYS9pbmNsdWRlL3VhcGkvbGludXgv Z3VueWFoLmggYi9pbmNsdWRlL3VhcGkvbGludXgvZ3VueWFoLmgKPj4+Pj4gbmV3IGZpbGUgbW9k ZSAxMDA2NDQKPj4+Pj4gaW5kZXggMDAwMDAwMDAwMDAwLi4xMGJhMzJkMmIwYTYKPj4+Pj4gLS0t IC9kZXYvbnVsbAo+Pj4+PiArKysgYi9pbmNsdWRlL3VhcGkvbGludXgvZ3VueWFoLmgKPj4+Pj4g QEAgLTAsMCArMSwyMyBAQAo+Pj4+PiArLyogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQTC0y LjAtb25seSBXSVRIIExpbnV4LXN5c2NhbGwtbm90ZSAqLwo+Pj4+PiArLyoKPj4+Pj4gKyAqIENv cHlyaWdodCAoYykgMjAyMi0yMDIzIFF1YWxjb21tIElubm92YXRpb24gQ2VudGVyLCBJbmMuIEFs bCAKPj4+Pj4gcmlnaHRzIHJlc2VydmVkLgo+Pj4+PiArICovCj4+Pj4+ICsKPj4+Pj4gKyNpZm5k ZWYgX1VBUElfTElOVVhfR1VOWUFICj4+Pj4+ICsjZGVmaW5lIF9VQVBJX0xJTlVYX0dVTllBSAo+ Pj4+PiArCj4+Pj4+ICsvKgo+Pj4+PiArICogVXNlcnNwYWNlIGludGVyZmFjZSBmb3IgL2Rldi9n dW55YWggLSBndW55YWggYmFzZWQgdmlydHVhbCBtYWNoaW5lCj4+Pj4+ICsgKi8KPj4+Pj4gKwo+ Pj4+PiArI2luY2x1ZGUgPGxpbnV4L3R5cGVzLmg+Cj4+Pj4+ICsjaW5jbHVkZSA8bGludXgvaW9j dGwuaD4KPj4+Pj4gKwo+Pj4+PiArI2RlZmluZSBHSF9JT0NUTF9UWVBFwqDCoMKgwqDCoMKgwqDC oMKgwqDCoCAnRycKPj4+Pj4gKwo+Pj4+PiArLyoKPj4+Pj4gKyAqIGlvY3RscyBmb3IgL2Rldi9n dW55YWggZmRzOgo+Pj4+PiArICovCj4+Pj4+ICsjZGVmaW5lIEdIX0NSRUFURV9WTcKgwqDCoMKg wqDCoMKgwqDCoMKgwqAgX0lPKEdIX0lPQ1RMX1RZUEUsIDB4MCkgLyogUmV0dXJucyAKPj4+Pj4g YSBHdW55YWggVk0gZmQgKi8KPj4+Pgo+Pj4+IENhbiBITE9TIGZvcmNlZnVsbHkgZGVzdHJveSBh IFZNPwo+Pj4+IElmIHNvIHNob3VsZCB3ZSBoYXZlIGEgY29ycmVzcG9uZGluZyBERVNUUk9ZIElP Q1RMPwo+Pj4KPj4+IEl0IGNhbiBmb3JjZWZ1bGx5IGRlc3Ryb3kgdW5hdXRoZW50aWNhdGVkIGFu ZCBwcm90ZWN0ZWQgdmlydHVhbCAKPj4+IG1hY2hpbmVzLiBJIGRvbid0IGhhdmUgYSB1c2Vyc3Bh Y2UgdXNlY2FzZSBmb3IgYSBERVNUUk9ZIGlvY3RsIHlldCwgCj4+PiBtYXliZSB0aGlzIGNhbiBi ZSBhZGRlZCBsYXRlcj8gQnkgdGhlIHdheSwgdGhlIFZNIGlzIGZvcmNlZnVsbHkgCj4+IHRoYXQg c2hvdWxkIGJlIGZpbmUsIGJ1dCBpdHMgYWxzbyBuaWNlIHRvIGFkZCBpdCBmb3IgY29tcGxldGVu ZXNzLCBidXQgCj4+IG5vdCBhIGNvbXB1bHNvcnkgYXRtCj4+Cj4+PiBkZXN0cm95ZWQgd2hlbiBW TSByZWZjb3VudCBpcyBkcm9wcGVkIHRvIDAgKGNsb3NlKHZtX2ZkKSBhbmQgYW55IAo+Pj4gb3Ro ZXIgcmVsZXZhbnQgZmlsZSBkZXNjcmlwdG9ycykuCj4+IEkgaGF2ZSBub3RpY2VkIHRoYXQgcGF0 aC4KPj4KPj4gLS1zcmluaQo+Pj4KPj4+IC0gRWxsaW90CgpfX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fXwpsaW51eC1hcm0ta2VybmVsIG1haWxpbmcgbGlzdAps aW51eC1hcm0ta2VybmVsQGxpc3RzLmluZnJhZGVhZC5vcmcKaHR0cDovL2xpc3RzLmluZnJhZGVh ZC5vcmcvbWFpbG1hbi9saXN0aW5mby9saW51eC1hcm0ta2VybmVsCg==