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 9C168C433EF for ; Mon, 30 May 2022 22:16:13 +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-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:Message-Id:Date:Subject:Cc :To:From:Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:In-Reply-To:References: List-Owner; bh=Gxa1W9iC4dZ4vjDIp47PBTWy2LiQgbYy4PTVJfNxWEg=; b=N7ampSpbERxCIo LFN588kw4YadL8o/JWUNUk05h3Z8+OBNiWAfE2AC1wT+5ev8ZqblO3r3zuPOvZgRnGt8YiyY3V+Bu i+PqyCoDUb9VK7l9SN7Got6NolyHldtTPEvXMbms2vDJ+fTHN4CfBrH/XQjmXul+Zkm+z4nnmkrd2 +CUoiMa2fBFbQz9+1hmWixc84Vv44yIOfulBSUe8Iqh9rdvPX+OzN1K0ye6N2x/JRLvJdIiqlxHxA OZ11nWVsTmN0AYH69DZWwIud2N6YytKHm+FHAosgBbk8MUiBAxgyCjOkSgWpqsYojiaIiiRBHpML7 nHfMzQNffLweVCpm06Hg==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1nvnfT-008UXm-9J; Mon, 30 May 2022 22:15:19 +0000 Received: from mail-lj1-x233.google.com ([2a00:1450:4864:20::233]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1nvmV4-008Igw-Uj for linux-arm-kernel@lists.infradead.org; Mon, 30 May 2022 21:00:34 +0000 Received: by mail-lj1-x233.google.com with SMTP id 1so12721276ljp.8 for ; Mon, 30 May 2022 14:00:26 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=pCuUv8q5/WjIfzAOA2DFkkQ9mqGV4kxo4YoM+Cvu6ro=; b=WiaI+KKEgRCNknoz8Uc1/yoDLF8mhbBdpNIhtRrX887u68NsU80S5MLVYN1hnPW7zZ +dTPIJuhRW7AyOX8kfFAcbdIjaFgsZsqJ22tA0rz1M0PUx+hdfJdyQjjJfSltyOzkOVM j5bkZUBb1pNLRM354pRd0Cs37ddJYAKbD+rCM2zjsuLVdDR2NnwDNFemZidMtFwTQNg5 I/2xxvKDxNxedVbMMg6cxnxOekrmwTDufwAlIvt5yfn1jIWc5/qMkroYWwZbDiJjue+y Zyg8VcXHD80UYJ/GrcTN34bY37mtfnV7suFPacqHYXpexTrq9BbpeIi3hH+fnocrm7Lc 1FIg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=pCuUv8q5/WjIfzAOA2DFkkQ9mqGV4kxo4YoM+Cvu6ro=; b=qFj7+uOWKOMap8Hdm03uncYPyn/18Jx/Env6ItByE7v2XIhX1QP/WUDlydxewUbaNh hn1nEF84F5THhSNXu6Are4Nn5mF/JtAppVb+kiaXrLpaQw4aVXOKmE5E27+qLTg1T2nK f4cApDUqoHWQPFRMptCHQKJDHWhH2TdyefMnbRATTTiAASv+FtbO/F8IjXuTPedHw8KK PWqHlFZJwoecHjSHdIRYtXgMakGpE2NkfakdSZvolrWizXw1/NvYNota6qCCaVULUJ01 HiE7IUbXomTm6yYdqbRJ/2qfUkCHRozVOn/2bPYT74jf1LIbhMuch9K7L9YgYYaVxV9+ Fr2A== X-Gm-Message-State: AOAM532xo7itEe784ikWZFyqrOrkhfmdFBbumUq4Do7jWCgmXz5pBrLq wc6E4qrMtNTwR+YtPxpiIpg= X-Google-Smtp-Source: ABdhPJxtPivFiIEh6T2ItZTRi/yK5GNRp+BWkq0NWB8Leq1OGP2eIcmRspv46TKfr7DKK6pwtHPgug== X-Received: by 2002:a2e:bd13:0:b0:246:1ff8:6da1 with SMTP id n19-20020a2ebd13000000b002461ff86da1mr33708820ljq.219.1653944425323; Mon, 30 May 2022 14:00:25 -0700 (PDT) Received: from otyshchenko.router ([212.22.223.21]) by smtp.gmail.com with ESMTPSA id k21-20020a2ea275000000b0025550e2693asm581541ljm.38.2022.05.30.14.00.23 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Mon, 30 May 2022 14:00:24 -0700 (PDT) From: Oleksandr Tyshchenko To: xen-devel@lists.xenproject.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, virtualization@lists.linux-foundation.org, x86@kernel.org Cc: Oleksandr Tyshchenko , "Michael S. Tsirkin" , Christoph Hellwig , Stefano Stabellini , Boris Ostrovsky , Juergen Gross , Julien Grall , Bertrand Marquis , Wei Chen , Henry Wang , Kaly Xin , Jiamei Xie , =?UTF-8?q?Alex=20Benn=C3=A9e?= Subject: [PATCH V3 0/8] virtio: Solution to restrict memory access under Xen using xen-grant DMA-mapping layer Date: Tue, 31 May 2022 00:00:09 +0300 Message-Id: <1653944417-17168-1-git-send-email-olekstysh@gmail.com> X-Mailer: git-send-email 2.7.4 MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20220530_140031_047688_46732A55 X-CRM114-Status: GOOD ( 25.21 ) 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-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 RnJvbTogT2xla3NhbmRyIFR5c2hjaGVua28gPG9sZWtzYW5kcl90eXNoY2hlbmtvQGVwYW0uY29t PgoKSGVsbG8gYWxsLgoKVGhlIHB1cnBvc2Ugb2YgdGhpcyBwYXRjaCBzZXJpZXMgaXMgdG8gYWRk IHN1cHBvcnQgZm9yIHJlc3RyaWN0aW5nIG1lbW9yeSBhY2Nlc3MgdW5kZXIgWGVuIHVzaW5nIHNw ZWNpZmljCmdyYW50IHRhYmxlIFsxXSBiYXNlZCBETUEtbWFwcGluZyBsYXllci4gUGF0Y2ggc2Vy aWVzIGlzIGJhc2VkIG9uIEp1ZXJnZW4gR3Jvc3PigJkgaW5pdGlhbCB3b3JrIFsyXSB3aGljaCBp bXBsaWVzCnVzaW5nIGdyYW50IHJlZmVyZW5jZXMgaW5zdGVhZCBvZiByYXcgZ3Vlc3QgcGh5c2lj YWwgYWRkcmVzc2VzIChHUEEpIGZvciB0aGUgdmlydGlvIGNvbW11bmljYXRpb25zIChzb21lCmtp bmQgb2YgdGhlIHNvZnR3YXJlIElPTU1VKS4KCllvdSBjYW4gZmluZCBSRkMtVjIgcGF0Y2ggc2Vy aWVzIChhbmQgcHJldmlvdXMgZGlzY3Vzc2lvbnMpIGF0IFszXS4KClRoZSBoaWdoIGxldmVsIGlk ZWEgaXMgdG8gY3JlYXRlIG5ldyBYZW7igJlzIGdyYW50IHRhYmxlIGJhc2VkIERNQS1tYXBwaW5n IGxheWVyIGZvciB0aGUgZ3Vlc3QgTGludXggd2hvc2UgbWFpbgpwdXJwb3NlIGlzIHRvIHByb3Zp ZGUgYSBzcGVjaWFsIDY0LWJpdCBETUEgYWRkcmVzcyB3aGljaCBpcyBmb3JtZWQgYnkgdXNpbmcg dGhlIGdyYW50IHJlZmVyZW5jZSAoZm9yIGEgcGFnZQp0byBiZSBzaGFyZWQgd2l0aCB0aGUgYmFj a2VuZCkgd2l0aCBvZmZzZXQgYW5kIHNldHRpbmcgdGhlIGhpZ2hlc3QgYWRkcmVzcyBiaXQgKHRo aXMgaXMgZm9yIHRoZSBiYWNrZW5kIHRvCmJlIGFibGUgdG8gZGlzdGluZ3Vpc2ggZ3JhbnQgcmVm IGJhc2VkIERNQSBhZGRyZXNzIGZyb20gbm9ybWFsIEdQQSkuIEZvciB0aGlzIHRvIHdvcmsgd2Ug bmVlZCB0aGUgYWJpbGl0eQp0byBhbGxvY2F0ZSBjb250aWd1b3VzIChjb25zZWN1dGl2ZSkgZ3Jh bnQgcmVmZXJlbmNlcyBmb3IgbXVsdGktcGFnZSBhbGxvY2F0aW9ucy4gQW5kIHRoZSBiYWNrZW5k IHRoZW4gbmVlZHMKdG8gb2ZmZXIgVklSVElPX0ZfQUNDRVNTX1BMQVRGT1JNIGFuZCBWSVJUSU9f Rl9WRVJTSU9OXzEgZmVhdHVyZSBiaXRzIChpdCBtdXN0IHN1cHBvcnQgdmlydGlvLW1taW8gbW9k ZXJuCnRyYW5zcG9ydCBmb3IgNjQtYml0IGFkZHJlc3NlcyBpbiB0aGUgdmlydHF1ZXVlKS4KClhl bidzIGdyYW50IG1hcHBpbmcgbWVjaGFuaXNtIGlzIHRoZSBzZWN1cmUgYW5kIHNhZmUgc29sdXRp b24gdG8gc2hhcmUgcGFnZXMgYmV0d2VlbiBkb21haW5zIHdoaWNoIHByb3Zlbgp0byB3b3JrIGFu ZCB3b3JrcyBmb3IgeWVhcnMgKGluIHRoZSBjb250ZXh0IG9mIHRyYWRpdGlvbmFsIFhlbiBQViBk cml2ZXJzIGZvciBleGFtcGxlKS4gU28gZmFyLCB0aGUgZm9yZWlnbgptYXBwaW5nIGlzIHVzZWQg Zm9yIHRoZSB2aXJ0aW8gYmFja2VuZCB0byBtYXAgYW5kIGFjY2VzcyBndWVzdCBtZW1vcnkuIFdp dGggdGhlIGZvcmVpZ24gbWFwcGluZywgdGhlIGJhY2tlbmQKaXMgYWJsZSB0byBtYXAgYXJiaXRy YXJ5IHBhZ2VzIGZyb20gdGhlIGd1ZXN0IG1lbW9yeSAob3IgZXZlbiBmcm9tIERvbTAgbWVtb3J5 KS4gQW5kIGFzIHRoZSByZXN1bHQsIHRoZSBtYWxpY2lvdXMKYmFja2VuZCB3aGljaCBydW5zIGlu IGEgbm9uLXRydXN0ZWQgZG9tYWluIGNhbiB0YWtlIGFkdmFudGFnZSBvZiB0aGlzLiBJbnN0ZWFk LCB3aXRoIHRoZSBncmFudCBtYXBwaW5nCnRoZSBiYWNrZW5kIGlzIG9ubHkgYWxsb3dlZCB0byBt YXAgcGFnZXMgd2hpY2ggd2VyZSBleHBsaWNpdGx5IGdyYW50ZWQgYnkgdGhlIGd1ZXN0IGJlZm9y ZSBhbmQgbm90aGluZyBlbHNlLgpBY2NvcmRpbmcgdG8gdGhlIGRpc2N1c3Npb25zIGluIHZhcmlv dXMgbWFpbmxpbmUgdGhyZWFkcyB0aGlzIHNvbHV0aW9uIHdvdWxkIGxpa2VseSBiZSB3ZWxjb21l IGJlY2F1c2UgaXQKcGVyZmVjdGx5IGZpdHMgaW4gdGhlIHNlY3VyaXR5IG1vZGVsIFhlbiBwcm92 aWRlcy4KCldoYXQgaXMgbW9yZSwgdGhlIGdyYW50IHRhYmxlIGJhc2VkIHNvbHV0aW9uIHJlcXVp cmVzIHplcm8gY2hhbmdlcyB0byB0aGUgWGVuIGh5cGVydmlzb3IgaXRzZWxmIGF0IGxlYXN0Cndp dGggdmlydGlvLW1taW8gYW5kIERUIChpbiBjb21wYXJpc29uLCBmb3IgZXhhbXBsZSwgd2l0aCAi Zm9yZWlnbiBtYXBwaW5nICsgdmlydGlvLWlvbW11IiBzb2x1dGlvbiB3aGljaCB3b3VsZApyZXF1 aXJlIHRoZSB3aG9sZSBuZXcgY29tcGxleCBlbXVsYXRvciBpbiBoeXBlcnZpc29yIGluIGFkZGl0 aW9uIHRvIG5ldyBmdW5jdGlvbmFsaXR5L2h5cGVyY2FsbCB0byBwYXNzIElPVkEKZnJvbSB0aGUg dmlydGlvIGJhY2tlbmQgcnVubmluZyBlbHNld2hlcmUgdG8gdGhlIGh5cGVydmlzb3IgYW5kIHRy YW5zbGF0ZSBpdCB0byB0aGUgR1BBIGJlZm9yZSBtYXBwaW5nIGludG8KUDJNIG9yIGRlbnlpbmcg dGhlIGZvcmVpZ24gbWFwcGluZyByZXF1ZXN0IGlmIG5vIGNvcnJlc3BvbmRpbmcgSU9WQS1HUEEg bWFwcGluZyBwcmVzZW50IGluIHRoZSBJT01NVSBwYWdlIHRhYmxlCmZvciB0aGF0IHBhcnRpY3Vs YXIgZGV2aWNlKS4gV2Ugb25seSBuZWVkIHRvIHVwZGF0ZSB0b29sc3RhY2sgdG8gaW5zZXJ0ICJ4 ZW4sZ3JhbnQtZG1hIiBJT01NVSBub2RlICh0byBiZSByZWZlcnJlZApieSB0aGUgdmlydGlvLW1t aW8gZGV2aWNlIHVzaW5nICJpb21tdXMiIHByb3BlcnR5KSB3aGVuIGNyZWF0aW5nIGEgZ3Vlc3Qg ZGV2aWNlLXRyZWUgKHRoaXMgaXMgYW4gaW5kaWNhdG9yIGZvcgp0aGUgZ3Vlc3QgdG8gdXNlIFhl biBncmFudCBtYXBwaW5ncyBzY2hlbWUgZm9yIHRoYXQgZGV2aWNlIHdpdGggdGhlIGVuZHBvaW50 IElEIGJlaW5nIHVzZWQgYXMgSUQgb2YgWGVuIGRvbWFpbgp3aGVyZSB0aGUgY29ycmVzcG9uZGlu ZyBiYWNrZW5kIGlzIHJ1bm5pbmcsIHRoZSBiYWNrZW5kIGRvbWlkIGlzIHVzZWQgYXMgYW4gYXJn dW1lbnQgdG8gdGhlIGdyYW50IG1hcHBpbmcgQVBJcykuCkl0IHdvcnRoIG1lbnRpb25pbmcgdGhh dCB0b29sc3RhY2sgcGF0Y2ggaXMgYmFzZWQgb24gbm9uIHVwc3RyZWFtZWQgeWV0IOKAnFZpcnRp byBzdXBwb3J0IGZvciB0b29sc3RhY2sgb24gQXJt4oCdCnNlcmllcyB3aGljaCBpcyBvbiByZXZp ZXcgbm93IFs0XS4KClBsZWFzZSBub3RlIHRoZSBmb2xsb3dpbmc6Ci0gUGF0Y2ggc2VyaWVzIG9u bHkgY292ZXJzIEFybSBhbmQgdmlydGlvLW1taW8gKGRldmljZS10cmVlKSBmb3Igbm93LiBUbyBl bmFibGUgdGhlIHJlc3RyaWN0ZWQgbWVtb3J5IGFjY2VzcwogIGZlYXR1cmUgb24gQXJtIHRoZSBm b2xsb3dpbmcgb3B0aW9uIHNob3VsZCBiZSBzZXQ6CiAgQ09ORklHX1hFTl9WSVJUSU89eQotIFBh dGNoIHNlcmllcyBpcyBiYXNlZCBvbiAia2VybmVsOiBhZGQgbmV3IGluZnJhc3RydWN0dXJlIGZv ciBwbGF0Zm9ybV9oYXMoKSBzdXBwb3J0IiBwYXRjaCBzZXJpZXMgd2hpY2gKICBpcyBvbiByZXZp ZXcgbm93IFs1XQotIFhlbiBzaG91bGQgYmUgYnVpbHQgd2l0aCB0aGUgZm9sbG93aW5nIG9wdGlv bnM6CiAgQ09ORklHX0lPUkVRX1NFUlZFUj15CiAgQ09ORklHX0VYUEVSVD15CgpQYXRjaCBzZXJp ZXMgaXMgcmViYXNlZCBvbiBMaW51eCA1LjE4LXJjNyB0YWcgd2l0aCAia2VybmVsOiBhZGQgbmV3 IGluZnJhc3RydWN0dXJlIGZvciBwbGF0Zm9ybV9oYXMoKSBzdXBwb3J0IiBhbmQKInhlbjogc2lt cGxpZnkgZnJvbnRlbmQgc2lkZSByaW5nIHNldHVwIiBzZXJpZXMgYXBwbGllZCBhbmQgdGVzdGVk IG9uIFJlbmVzYXMgU2FsdmF0b3ItWCBib2FyZCArIEgzIEVTMy4wIFNvQyAoQXJtNjQpCndpdGgg c3RhbmRhbG9uZSB1c2Vyc3BhY2UgKG5vbi1RZW11KSB2aXJ0aW8tbW1pbyBiYXNlZCB2aXJ0aW8t ZGlzayBiYWNrZW5kIHJ1bm5pbmcgaW4gRHJpdmVyIGRvbWFpbiBhbmQgTGludXggZ3Vlc3QKcnVu bmluZyBvbiBleGlzdGluZyB2aXJ0aW8tYmxrIGRyaXZlciAoZnJvbnRlbmQpLiBObyBpc3N1ZXMg d2VyZSBvYnNlcnZlZC4gR3Vlc3QgZG9tYWluICdyZWJvb3QvZGVzdHJveScgdXNlLWNhc2VzCndv cmsgcHJvcGVybHkuCkkgaGF2ZSBhbHNvIHRlc3RlZCBvdGhlciB1c2UtY2FzZXMgc3VjaCBhcyBh c3NpZ25pbmcgc2V2ZXJhbCB2aXJ0aW8gYmxvY2sgZGV2aWNlcyBvciBhIG1peCBvZiB2aXJ0aW8g YW5kIFhlbiBQViBibG9jawpkZXZpY2VzIHRvIHRoZSBndWVzdC4gUGF0Y2ggc2VyaWVzIHdhcyBi dWlsZC10ZXN0ZWQgb24gQXJtMzIgYW5kIHg4Ni4KCjEuIFhlbiBjaGFuZ2VzIGxvY2F0ZWQgYXQg KGxhc3QgcGF0Y2gpOgpodHRwczovL2dpdGh1Yi5jb20vb3R5c2hjaGVua28xL3hlbi9jb21taXRz L2xpYnhsX3ZpcnRpb19uZXh0Ml8xCjIuIExpbnV4IGNoYW5nZXMgbG9jYXRlZCBhdCAobGFzdCA4 IHBhdGNoZXMpOgpodHRwczovL2dpdGh1Yi5jb20vb3R5c2hjaGVua28xL2xpbnV4L2NvbW1pdHMv dmlydGlvX2dyYW50OF8xCjMuIHZpcnRpby1kaXNrIGNoYW5nZXMgbG9jYXRlZCBhdDoKaHR0cHM6 Ly9naXRodWIuY29tL290eXNoY2hlbmtvMS92aXJ0aW8tZGlzay9jb21taXRzL3ZpcnRpb19ncmFu dAoKQW55IGZlZWRiYWNrL2hlbHAgd291bGQgYmUgaGlnaGx5IGFwcHJlY2lhdGVkLgoKWzFdIGh0 dHBzOi8veGVuYml0cy54ZW5wcm9qZWN0Lm9yZy9kb2NzLzQuMTYtdGVzdGluZy9taXNjL2dyYW50 LXRhYmxlcy50eHQKWzJdIGh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL3dhdGNoP3Y9SXJsRWRhSVVE UGsKWzNdIGh0dHBzOi8vbG9yZS5rZXJuZWwub3JnL3hlbi1kZXZlbC8xNjQ5OTYzOTczLTIyODc5 LTEtZ2l0LXNlbmQtZW1haWwtb2xla3N0eXNoQGdtYWlsLmNvbS8KICAgIGh0dHBzOi8vbG9yZS5r ZXJuZWwub3JnL3hlbi1kZXZlbC8xNjUwNjQ2MjYzLTIyMDQ3LTEtZ2l0LXNlbmQtZW1haWwtb2xl a3N0eXNoQGdtYWlsLmNvbS8KICAgIGh0dHBzOi8vbG9yZS5rZXJuZWwub3JnL3hlbi1kZXZlbC8x NjUxOTQ3NTQ4LTQwNTUtMS1naXQtc2VuZC1lbWFpbC1vbGVrc3R5c2hAZ21haWwuY29tLwpbNF0g aHR0cHM6Ly9sb3JlLmtlcm5lbC5vcmcveGVuLWRldmVsLzE2NTE1OTg3NjMtMTIxNjItMS1naXQt c2VuZC1lbWFpbC1vbGVrc3R5c2hAZ21haWwuY29tLwpbNV0gaHR0cHM6Ly9sb3JlLmtlcm5lbC5v cmcveGVuLWRldmVsLzIwMjIwNTA0MTU1NzAzLjEzMzM2LTEtamdyb3NzQHN1c2UuY29tLwoKSnVl cmdlbiBHcm9zcyAoMyk6CiAgeGVuL2dyYW50czogc3VwcG9ydCBhbGxvY2F0aW5nIGNvbnNlY3V0 aXZlIGdyYW50cwogIHhlbi9ncmFudC1kbWEtb3BzOiBBZGQgb3B0aW9uIHRvIHJlc3RyaWN0IG1l bW9yeSBhY2Nlc3MgdW5kZXIgWGVuCiAgeGVuL3ZpcnRpbzogRW5hYmxlIHJlc3RyaWN0ZWQgbWVt b3J5IGFjY2VzcyB1c2luZyBYZW4gZ3JhbnQgbWFwcGluZ3MKCk9sZWtzYW5kciBUeXNoY2hlbmtv ICg1KToKICBhcm0veGVuOiBJbnRyb2R1Y2UgeGVuX3NldHVwX2RtYV9vcHMoKQogIGR0LWJpbmRp bmdzOiBBZGQgeGVuLGdyYW50LWRtYSBJT01NVSBkZXNjcmlwdGlvbiBmb3IgeGVuLWdyYW50IERN QSBvcHMKICB4ZW4vZ3JhbnQtZG1hLWlvbW11OiBJbnRyb2R1Y2Ugc3R1YiBJT01NVSBkcml2ZXIK ICB4ZW4vZ3JhbnQtZG1hLW9wczogUmV0cmlldmUgdGhlIElEIG9mIGJhY2tlbmQncyBkb21haW4g Zm9yIERUIGRldmljZXMKICBhcm0veGVuOiBBc3NpZ24geGVuLWdyYW50IERNQSBvcHMgZm9yIHhl bi1ncmFudCBETUEgZGV2aWNlcwoKIC4uLi9kZXZpY2V0cmVlL2JpbmRpbmdzL2lvbW11L3hlbixn cmFudC1kbWEueWFtbCAgIHwgIDQ5ICsrKwogYXJjaC9hcm0vaW5jbHVkZS9hc20veGVuL3hlbi1v cHMuaCAgICAgICAgICAgICAgICAgfCAgIDIgKwogYXJjaC9hcm0vbW0vZG1hLW1hcHBpbmcuYyAg ICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDcgKy0KIGFyY2gvYXJtL3hlbi9lbmxpZ2h0ZW4u YyAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAyICsKIGFyY2gvYXJtNjQvaW5jbHVkZS9h c20veGVuL3hlbi1vcHMuaCAgICAgICAgICAgICAgIHwgICAyICsKIGFyY2gvYXJtNjQvbW0vZG1h LW1hcHBpbmcuYyAgICAgICAgICAgICAgICAgICAgICAgIHwgICA3ICstCiBhcmNoL3g4Ni94ZW4v ZW5saWdodGVuX2h2bS5jICAgICAgICAgICAgICAgICAgICAgICB8ICAgMiArCiBhcmNoL3g4Ni94 ZW4vZW5saWdodGVuX3B2LmMgICAgICAgICAgICAgICAgICAgICAgICB8ICAgMiArCiBkcml2ZXJz L3hlbi9LY29uZmlnICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAyMCArKwogZHJp dmVycy94ZW4vTWFrZWZpbGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDIgKwog ZHJpdmVycy94ZW4vZ3JhbnQtZG1hLWlvbW11LmMgICAgICAgICAgICAgICAgICAgICAgfCAgNzgg KysrKysKIGRyaXZlcnMveGVuL2dyYW50LWRtYS1vcHMuYyAgICAgICAgICAgICAgICAgICAgICAg IHwgMzQ1ICsrKysrKysrKysrKysrKysrKysrKwogZHJpdmVycy94ZW4vZ3JhbnQtdGFibGUuYyAg ICAgICAgICAgICAgICAgICAgICAgICAgfCAyNTEgKysrKysrKysrKysrLS0tCiBpbmNsdWRlL3hl bi9hcm0veGVuLW9wcy5oICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAxOCArKwogaW5jbHVk ZS94ZW4vZ3JhbnRfdGFibGUuaCAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDQgKwogaW5j bHVkZS94ZW4veGVuLW9wcy5oICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgMTMgKwog aW5jbHVkZS94ZW4veGVuLmggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDgg KwogMTcgZmlsZXMgY2hhbmdlZCwgNzY2IGluc2VydGlvbnMoKyksIDQ2IGRlbGV0aW9ucygtKQog Y3JlYXRlIG1vZGUgMTAwNjQ0IERvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9pb21t dS94ZW4sZ3JhbnQtZG1hLnlhbWwKIGNyZWF0ZSBtb2RlIDEwMDY0NCBhcmNoL2FybS9pbmNsdWRl L2FzbS94ZW4veGVuLW9wcy5oCiBjcmVhdGUgbW9kZSAxMDA2NDQgYXJjaC9hcm02NC9pbmNsdWRl L2FzbS94ZW4veGVuLW9wcy5oCiBjcmVhdGUgbW9kZSAxMDA2NDQgZHJpdmVycy94ZW4vZ3JhbnQt ZG1hLWlvbW11LmMKIGNyZWF0ZSBtb2RlIDEwMDY0NCBkcml2ZXJzL3hlbi9ncmFudC1kbWEtb3Bz LmMKIGNyZWF0ZSBtb2RlIDEwMDY0NCBpbmNsdWRlL3hlbi9hcm0veGVuLW9wcy5oCgotLSAKMi43 LjQKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpsaW51 eC1hcm0ta2VybmVsIG1haWxpbmcgbGlzdApsaW51eC1hcm0ta2VybmVsQGxpc3RzLmluZnJhZGVh ZC5vcmcKaHR0cDovL2xpc3RzLmluZnJhZGVhZC5vcmcvbWFpbG1hbi9saXN0aW5mby9saW51eC1h cm0ta2VybmVsCg==