From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-ej1-f52.google.com (mail-ej1-f52.google.com [209.85.218.52]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 05E4617E9 for ; Sat, 30 Sep 2023 09:02:53 +0000 (UTC) Received: by mail-ej1-f52.google.com with SMTP id a640c23a62f3a-9ad8a822508so2050402766b.0 for ; Sat, 30 Sep 2023 02:02:53 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1696064572; x=1696669372; darn=lists.linux.dev; h=in-reply-to:content-transfer-encoding:content-disposition :mime-version:references:message-id:subject:cc:to:from:date:from:to :cc:subject:date:message-id:reply-to; bh=Q0hizBBm4A8wjMZ1piqiDjr9gInhzk36CKnQSjY0ZpQ=; b=rDZ8TXFID+OXJXXw+2vJe2eFtM1c1rcih01IymExp9MOlWDd3r9O5Wusk1E0dv0UQX usXLDCGm1dsimZhMpIH9lgKuYWwvAFTWa6Y1WYAzvo3CYRAAYsvgISX/G5WEKiEuYiKV qW8/zPvM2B2z3RqvkYrchkDPutKLLBjaP2lZc9nCf9ggzMS9T0AjYvH6IwnGIA08SVwB xCF5/Lh4aOEpk+3jtmqF5Wnl1Rw+/uzvehYWfSlefAQ0e92hViTWzGItU/wztvSTslu+ pJhQnGuMk6exFCNi7Clhwdb+2G14vjJuF4ycTGHl1XOW5tHapaB+/Rmi3HgguQHnQaUH xKVw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1696064572; x=1696669372; h=in-reply-to:content-transfer-encoding:content-disposition :mime-version:references:message-id:subject:cc:to:from:date :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=Q0hizBBm4A8wjMZ1piqiDjr9gInhzk36CKnQSjY0ZpQ=; b=fv7u8HwhWvJQEZppxY8XLKvZhrSk0pam5kQqNAgHtIZmZQGFL+Jggovr+90R2yeuT9 fESH3YXfI3q8G+hFD9/eNqfMqs8HTSwl4IMwlZ65ggoaa2P4y39uLkYfQaXInilxozLv 8FGCwcGCzpr9U/ZrZwq3NNMI8VvrUZcIXWLYW7gXvSQs5tRQ0uSV9bdA8646+107yWCQ LECf83qpMQzkRugZ8pgDnHI86tECra699s0azURoGcomdaB3tzv0KxK91tQsGKAa0vla jGpQPtWk3wvd+bskyLqaAxNZKFyygGqRyrbosZ1sbfQHsuYcZOyCAKImQQL0wEIb14vc Ahjg== X-Gm-Message-State: AOJu0YxWQlqO5ja8yUt3jubEh/B/IdpqWBEvKTWj4sCuwBL3VHrLbG67 TlJriWjXgl/aKJ3ZREHsoaSL X-Google-Smtp-Source: AGHT+IHr952WuR/z5EU6Gyhdfd/SNEYlnNbdjLVbmblbMVw53N3v3z8rJmOSwHR0BANmLPzAn2RjbA== X-Received: by 2002:a17:907:985b:b0:9ae:6a08:6f53 with SMTP id jj27-20020a170907985b00b009ae6a086f53mr5637893ejc.63.1696064572153; Sat, 30 Sep 2023 02:02:52 -0700 (PDT) Received: from thinkpad ([88.128.88.98]) by smtp.gmail.com with ESMTPSA id bv13-20020a170906b1cd00b00993a37aebc5sm13708153ejb.50.2023.09.30.02.02.50 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 30 Sep 2023 02:02:51 -0700 (PDT) Date: Sat, 30 Sep 2023 11:02:49 +0200 From: Manivannan Sadhasivam To: Frank Li Cc: aisheng.dong@nxp.com, bhelgaas@google.com, devicetree@vger.kernel.org, festevam@gmail.com, imx@lists.linux.dev, jdmason@kudzu.us, kernel@pengutronix.de, kishon@kernel.org, kw@linux.com, linux-arm-kernel@lists.infradead.org, linux-imx@nxp.com, linux-kernel@vger.kernel.org, linux-pci@vger.kernel.org, lorenzo.pieralisi@arm.com, lpieralisi@kernel.org, maz@kernel.org, s.hauer@pengutronix.de, shawnguo@kernel.org, tglx@linutronix.de Subject: Re: [PATCH v2 0/5] Add RC-to-EP doorbell with platform MSI controller Message-ID: <20230930090249.GB3564@thinkpad> References: <20230911220920.1817033-1-Frank.Li@nxp.com> Precedence: bulk X-Mailing-List: imx@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: On Wed, Sep 20, 2023 at 05:39:48PM -0400, Frank Li wrote: > On Mon, Sep 11, 2023 at 06:09:15PM -0400, Frank Li wrote: > > ┌────────────┐ ┌───────────────────────────────────┐ ┌────────────────┐ > > │ │ │ │ │ │ > > │ │ │ PCI Endpoint │ │ PCI Host │ > > │ │ │ │ │ │ > > │ │◄──┤ 1.platform_msi_domain_alloc_irqs()│ │ │ > > │ │ │ │ │ │ > > │ MSI ├──►│ 2.write_msi_msg() ├──►├─BAR │ > > │ Controller │ │ update doorbell register address│ │ │ > > │ │ │ for BAR │ │ │ > > │ │ │ │ │ 3. Write BAR│ > > │ │◄──┼───────────────────────────────────┼───┤ │ > > │ │ │ │ │ │ > > │ ├──►│ 4.Irq Handle │ │ │ > > │ │ │ │ │ │ > > │ │ │ │ │ │ > > └────────────┘ └───────────────────────────────────┘ └────────────────┘ > > @mani: > Do you have chance to review this patch again? I was on vacation for past few weeks. Will take a look in the coming week. - Mani > > Frank > > > > > This patches based on old https://lore.kernel.org/imx/20221124055036.1630573-1-Frank.Li@nxp.com/ > > > > Original patch only target to vntb driver. But actually it is common > > method. > > > > This patches add new API to pci-epf-core, so any EP driver can use it. > > > > The key point is comments from Thomas Gleixner, who suggest use new > > PCI/IMS. But arm platform change still not be merged yet. > > > > git://git.kernel.org/pub/scm/linux/kernel/git/tglx/devel.git devmsi-v2-arm > > > > So I still use existed method implement RC to EP doorbell. > > > > If Thomas Gleixner want to continue work on devmsi-v2-arm, I can help test > > and update this patch. > > > > Change from v1 to v2 > > - Add missed patch for endpont/pci-epf-test.c > > - Move alloc and free to epc driver from epf. > > - Provide general help function for EPC driver to alloc platform msi irq. > > - Fixed manivannan's comments. > > > > Frank Li (5): > > PCI: endpoint: Add RC-to-EP doorbell support using platform MSI > > controller > > PCI: dwc: add doorbell support by use MSI controller > > PCI: endpoint: pci-epf-test: add doorbell test > > misc: pci_endpoint_test: Add doorbell test case > > tools: PCI: Add 'B' option for test doorbell > > > > drivers/misc/pci_endpoint_test.c | 48 +++++ > > .../pci/controller/dwc/pcie-designware-ep.c | 2 + > > drivers/pci/endpoint/functions/pci-epf-test.c | 59 +++++- > > drivers/pci/endpoint/pci-epc-core.c | 192 ++++++++++++++++++ > > drivers/pci/endpoint/pci-epf-core.c | 44 ++++ > > include/linux/pci-epc.h | 6 + > > include/linux/pci-epf.h | 7 + > > include/uapi/linux/pcitest.h | 1 + > > tools/pci/pcitest.c | 16 +- > > 9 files changed, 373 insertions(+), 2 deletions(-) > > > > -- > > 2.34.1 > > -- மணிவண்ணன் சதாசிவம் 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 7C23EE77362 for ; Sat, 30 Sep 2023 09:03:21 +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:In-Reply-To:MIME-Version:References: Message-ID:Subject:Cc: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=1LShHGcrZ49MGWJ5kKGL5xqveRWYkzbMzAo87weaUAg=; b=2N7hLQ3JdJQbun gjaaVjW22q8x6rDkg9lNsDpxpOgqZmdIo55PzjsAtTO4WLG/LK4ZczyFafxiGTJ8jnl+jmJTqDCOK drBrYJdb2f695i1VyrgBdfOvzUezSTa4H5VvF4DCJ44F9yJS1MpTg7edkHeE0aRJiSwS6eBCRb9e/ B9CpQVsl9QEkck6otyhTUdr8iOobGU8Qenh+PsAjnVo6yCbTp2Ve/xKJK6/tRIRcVL5UG6LKvs3wh iCKpYTxSHxTT70RSwaCjVuUC7zQKVTOvgThjvT24U8AoRXjZkA9xO+YB8hVV4gt9yqw9Gm3fGWF0D 5/fH1JZBlpmFj5nIFgBw==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.96 #2 (Red Hat Linux)) id 1qmVsI-009DE8-2o; Sat, 30 Sep 2023 09:02:58 +0000 Received: from mail-ej1-x62a.google.com ([2a00:1450:4864:20::62a]) by bombadil.infradead.org with esmtps (Exim 4.96 #2 (Red Hat Linux)) id 1qmVsE-009DD4-2y for linux-arm-kernel@lists.infradead.org; Sat, 30 Sep 2023 09:02:57 +0000 Received: by mail-ej1-x62a.google.com with SMTP id a640c23a62f3a-9ae75ece209so1867752766b.3 for ; Sat, 30 Sep 2023 02:02:53 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1696064572; x=1696669372; darn=lists.infradead.org; h=in-reply-to:content-transfer-encoding:content-disposition :mime-version:references:message-id:subject:cc:to:from:date:from:to :cc:subject:date:message-id:reply-to; bh=Q0hizBBm4A8wjMZ1piqiDjr9gInhzk36CKnQSjY0ZpQ=; b=WbhYQb7fcNS7uQC1uSvCsKM97RJQ4n7Sd9/kwqZCQ4oI0k8oNdI/JNdscHFXf3YDwD gUvJUsk89j0VbViWGxwxRtoc6gl7rLrcKySDRSd5v/6IgR0f+uKXn1MyciKQSXTCSfnt tf5Xa5/CtNksEQ4fX3S86PNtVmBN41ONJMoG0yV5w8nQnmJsWOOwOr8zLGNIXDmMdRjd J10aIn9zTII2AW6QUwrZi7GfJq8CCS3VAf94yzWv9Gn5W1/JEGiPWtAEaJ38EnQeZR4x U26kcX69dYTYGq+mbxLWbl+gJR31Q4pg5r0qYc2p9hRQDU1S5XE7I7pwJf3hgw2nuxwm Z5Ow== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1696064572; x=1696669372; h=in-reply-to:content-transfer-encoding:content-disposition :mime-version:references:message-id:subject:cc:to:from:date :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=Q0hizBBm4A8wjMZ1piqiDjr9gInhzk36CKnQSjY0ZpQ=; b=SCrzKbrDzD+Pa9FPKT2ZnGV5n5b/GZDsNQZyNP5U/6K0QUXkkZ1mkNYnBxA2/NZKkc kjn+t8DSoNhhyhd2kPdIg++PvJmqv6/BjcDBmh9xRVQv6D/N43cJa6WSGZymnaBBqMJx iYM46In/CmoRapMeGFO3DMW7Nx/my/pRWBPRKufSV9cUCv3W7iFk/TFSxkfjI4nCko0y /YxPd90pM+OUTbogEpA557/wDQhhvFkLE8ztw5oUXliz7EmQ49H69SqY2Or5aKvXrhCz /LVl9v0VvXKAseFDhzZ6SxH+o5SPkIMbbXJRHktfNopgBV4zq6WLMv0Xg62DT1C8Kgt+ PFhw== X-Gm-Message-State: AOJu0Ywbd4RNdhtXWUC1UH2WahwFcQt8+0uKTs9GxQP9z/bBM+yq8H+a YCc7qnUY2+h/Hbviy4J4oKLG X-Google-Smtp-Source: AGHT+IHr952WuR/z5EU6Gyhdfd/SNEYlnNbdjLVbmblbMVw53N3v3z8rJmOSwHR0BANmLPzAn2RjbA== X-Received: by 2002:a17:907:985b:b0:9ae:6a08:6f53 with SMTP id jj27-20020a170907985b00b009ae6a086f53mr5637893ejc.63.1696064572153; Sat, 30 Sep 2023 02:02:52 -0700 (PDT) Received: from thinkpad ([88.128.88.98]) by smtp.gmail.com with ESMTPSA id bv13-20020a170906b1cd00b00993a37aebc5sm13708153ejb.50.2023.09.30.02.02.50 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 30 Sep 2023 02:02:51 -0700 (PDT) Date: Sat, 30 Sep 2023 11:02:49 +0200 From: Manivannan Sadhasivam To: Frank Li Cc: aisheng.dong@nxp.com, bhelgaas@google.com, devicetree@vger.kernel.org, festevam@gmail.com, imx@lists.linux.dev, jdmason@kudzu.us, kernel@pengutronix.de, kishon@kernel.org, kw@linux.com, linux-arm-kernel@lists.infradead.org, linux-imx@nxp.com, linux-kernel@vger.kernel.org, linux-pci@vger.kernel.org, lorenzo.pieralisi@arm.com, lpieralisi@kernel.org, maz@kernel.org, s.hauer@pengutronix.de, shawnguo@kernel.org, tglx@linutronix.de Subject: Re: [PATCH v2 0/5] Add RC-to-EP doorbell with platform MSI controller Message-ID: <20230930090249.GB3564@thinkpad> References: <20230911220920.1817033-1-Frank.Li@nxp.com> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20230930_020254_984763_C5491D4A X-CRM114-Status: GOOD ( 27.73 ) 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 T24gV2VkLCBTZXAgMjAsIDIwMjMgYXQgMDU6Mzk6NDhQTSAtMDQwMCwgRnJhbmsgTGkgd3JvdGU6 Cj4gT24gTW9uLCBTZXAgMTEsIDIwMjMgYXQgMDY6MDk6MTVQTSAtMDQwMCwgRnJhbmsgTGkgd3Jv dGU6Cj4gPiDilIzilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilJAgICDilIzi lIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDi lIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilJAgICDilIzi lIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilJAKPiA+IOKU giAgICAgICAgICAgIOKUgiAgIOKUgiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg 4pSCICAg4pSCICAgICAgICAgICAgICAgIOKUggo+ID4g4pSCICAgICAgICAgICAg4pSCICAg4pSC IFBDSSBFbmRwb2ludCAgICAgICAgICAgICAgICAgICAgICDilIIgICDilIIgUENJIEhvc3QgICAg ICAg4pSCCj4gPiDilIIgICAgICAgICAgICDilIIgICDilIIgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIOKUgiAgIOKUgiAgICAgICAgICAgICAgICDilIIKPiA+IOKUgiAgICAgICAg ICAgIOKUguKXhOKUgOKUgOKUpCAxLnBsYXRmb3JtX21zaV9kb21haW5fYWxsb2NfaXJxcygp4pSC ICAg4pSCICAgICAgICAgICAgICAgIOKUggo+ID4g4pSCICAgICAgICAgICAg4pSCICAg4pSCICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICDilIIgICDilIIgICAgICAgICAgICAgICAg 4pSCCj4gPiDilIIgTVNJICAgICAgICDilJzilIDilIDilrrilIIgMi53cml0ZV9tc2lfbXNnKCkg ICAgICAgICAgICAgICAgIOKUnOKUgOKUgOKWuuKUnOKUgEJBUjxuPiAgICAgICAgIOKUggo+ID4g 4pSCIENvbnRyb2xsZXIg4pSCICAg4pSCICAgdXBkYXRlIGRvb3JiZWxsIHJlZ2lzdGVyIGFkZHJl c3PilIIgICDilIIgICAgICAgICAgICAgICAg4pSCCj4gPiDilIIgICAgICAgICAgICDilIIgICDi lIIgICBmb3IgQkFSICAgICAgICAgICAgICAgICAgICAgICAgIOKUgiAgIOKUgiAgICAgICAgICAg ICAgICDilIIKPiA+IOKUgiAgICAgICAgICAgIOKUgiAgIOKUgiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAg4pSCICAg4pSCIDMuIFdyaXRlIEJBUjxuPuKUggo+ID4g4pSCICAgICAg ICAgICAg4pSC4peE4pSA4pSA4pS84pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA 4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA 4pSA4pSA4pSA4pSA4pS84pSA4pSA4pSA4pSkICAgICAgICAgICAgICAgIOKUggo+ID4g4pSCICAg ICAgICAgICAg4pSCICAg4pSCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICDilIIg ICDilIIgICAgICAgICAgICAgICAg4pSCCj4gPiDilIIgICAgICAgICAgICDilJzilIDilIDilrri lIIgNC5JcnEgSGFuZGxlICAgICAgICAgICAgICAgICAgICAgIOKUgiAgIOKUgiAgICAgICAgICAg ICAgICDilIIKPiA+IOKUgiAgICAgICAgICAgIOKUgiAgIOKUgiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAg4pSCICAg4pSCICAgICAgICAgICAgICAgIOKUggo+ID4g4pSCICAgICAg ICAgICAg4pSCICAg4pSCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICDilIIgICDi lIIgICAgICAgICAgICAgICAg4pSCCj4gPiDilJTilIDilIDilIDilIDilIDilIDilIDilIDilIDi lIDilIDilIDilJggICDilJTilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDi lIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDi lIDilIDilIDilJggICDilJTilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDi lIDilIDilIDilJgKPiAKPiBAbWFuaToKPiAJRG8geW91IGhhdmUgY2hhbmNlIHRvIHJldmlldyB0 aGlzIHBhdGNoIGFnYWluPwoKSSB3YXMgb24gdmFjYXRpb24gZm9yIHBhc3QgZmV3IHdlZWtzLiBX aWxsIHRha2UgYSBsb29rIGluIHRoZSBjb21pbmcgd2Vlay4KCi0gTWFuaQoKPiAKPiBGcmFuawo+ IAo+ID4gCj4gPiBUaGlzIHBhdGNoZXMgYmFzZWQgb24gb2xkIGh0dHBzOi8vbG9yZS5rZXJuZWwu b3JnL2lteC8yMDIyMTEyNDA1NTAzNi4xNjMwNTczLTEtRnJhbmsuTGlAbnhwLmNvbS8KPiA+IAo+ ID4gT3JpZ2luYWwgcGF0Y2ggb25seSB0YXJnZXQgdG8gdm50YiBkcml2ZXIuIEJ1dCBhY3R1YWxs eSBpdCBpcyBjb21tb24KPiA+IG1ldGhvZC4KPiA+IAo+ID4gVGhpcyBwYXRjaGVzIGFkZCBuZXcg QVBJIHRvIHBjaS1lcGYtY29yZSwgc28gYW55IEVQIGRyaXZlciBjYW4gdXNlIGl0Lgo+ID4gCj4g PiBUaGUga2V5IHBvaW50IGlzIGNvbW1lbnRzIGZyb20gVGhvbWFzIEdsZWl4bmVyLCB3aG8gc3Vn Z2VzdCB1c2UgbmV3Cj4gPiBQQ0kvSU1TLiBCdXQgYXJtIHBsYXRmb3JtIGNoYW5nZSBzdGlsbCBu b3QgYmUgbWVyZ2VkIHlldC4KPiA+IAo+ID4gZ2l0Oi8vZ2l0Lmtlcm5lbC5vcmcvcHViL3NjbS9s aW51eC9rZXJuZWwvZ2l0L3RnbHgvZGV2ZWwuZ2l0IGRldm1zaS12Mi1hcm0KPiA+IAo+ID4gU28g SSBzdGlsbCB1c2UgZXhpc3RlZCBtZXRob2QgaW1wbGVtZW50IFJDIHRvIEVQIGRvb3JiZWxsLgo+ ID4gCj4gPiBJZiBUaG9tYXMgR2xlaXhuZXIgd2FudCB0byBjb250aW51ZSB3b3JrIG9uIGRldm1z aS12Mi1hcm0sIEkgY2FuIGhlbHAgdGVzdAo+ID4gYW5kIHVwZGF0ZSB0aGlzIHBhdGNoLgo+ID4g Cj4gPiBDaGFuZ2UgZnJvbSB2MSB0byB2Mgo+ID4gLSBBZGQgbWlzc2VkIHBhdGNoIGZvciBlbmRw b250L3BjaS1lcGYtdGVzdC5jCj4gPiAtIE1vdmUgYWxsb2MgYW5kIGZyZWUgdG8gZXBjIGRyaXZl ciBmcm9tIGVwZi4KPiA+IC0gUHJvdmlkZSBnZW5lcmFsIGhlbHAgZnVuY3Rpb24gZm9yIEVQQyBk cml2ZXIgdG8gYWxsb2MgcGxhdGZvcm0gbXNpIGlycS4KPiA+IC0gRml4ZWQgbWFuaXZhbm5hbidz IGNvbW1lbnRzLgo+ID4gCj4gPiBGcmFuayBMaSAoNSk6Cj4gPiAgIFBDSTogZW5kcG9pbnQ6IEFk ZCBSQy10by1FUCBkb29yYmVsbCBzdXBwb3J0IHVzaW5nIHBsYXRmb3JtIE1TSQo+ID4gICAgIGNv bnRyb2xsZXIKPiA+ICAgUENJOiBkd2M6IGFkZCBkb29yYmVsbCBzdXBwb3J0IGJ5IHVzZSBNU0kg Y29udHJvbGxlcgo+ID4gICBQQ0k6IGVuZHBvaW50OiBwY2ktZXBmLXRlc3Q6IGFkZCBkb29yYmVs bCB0ZXN0Cj4gPiAgIG1pc2M6IHBjaV9lbmRwb2ludF90ZXN0OiBBZGQgZG9vcmJlbGwgdGVzdCBj YXNlCj4gPiAgIHRvb2xzOiBQQ0k6IEFkZCAnQicgb3B0aW9uIGZvciB0ZXN0IGRvb3JiZWxsCj4g PiAKPiA+ICBkcml2ZXJzL21pc2MvcGNpX2VuZHBvaW50X3Rlc3QuYyAgICAgICAgICAgICAgfCAg NDggKysrKysKPiA+ICAuLi4vcGNpL2NvbnRyb2xsZXIvZHdjL3BjaWUtZGVzaWdud2FyZS1lcC5j ICAgfCAgIDIgKwo+ID4gIGRyaXZlcnMvcGNpL2VuZHBvaW50L2Z1bmN0aW9ucy9wY2ktZXBmLXRl c3QuYyB8ICA1OSArKysrKy0KPiA+ICBkcml2ZXJzL3BjaS9lbmRwb2ludC9wY2ktZXBjLWNvcmUu YyAgICAgICAgICAgfCAxOTIgKysrKysrKysrKysrKysrKysrCj4gPiAgZHJpdmVycy9wY2kvZW5k cG9pbnQvcGNpLWVwZi1jb3JlLmMgICAgICAgICAgIHwgIDQ0ICsrKysKPiA+ICBpbmNsdWRlL2xp bnV4L3BjaS1lcGMuaCAgICAgICAgICAgICAgICAgICAgICAgfCAgIDYgKwo+ID4gIGluY2x1ZGUv bGludXgvcGNpLWVwZi5oICAgICAgICAgICAgICAgICAgICAgICB8ICAgNyArCj4gPiAgaW5jbHVk ZS91YXBpL2xpbnV4L3BjaXRlc3QuaCAgICAgICAgICAgICAgICAgIHwgICAxICsKPiA+ICB0b29s cy9wY2kvcGNpdGVzdC5jICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgMTYgKy0KPiA+ICA5 IGZpbGVzIGNoYW5nZWQsIDM3MyBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQo+ID4gCj4g PiAtLSAKPiA+IDIuMzQuMQo+ID4gCgotLSAK4K6u4K6j4K6/4K614K6j4K+N4K6j4K6p4K+NIOCu muCupOCuvuCumuCuv+CuteCuruCvjQoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX18KbGludXgtYXJtLWtlcm5lbCBtYWlsaW5nIGxpc3QKbGludXgtYXJtLWtl cm5lbEBsaXN0cy5pbmZyYWRlYWQub3JnCmh0dHA6Ly9saXN0cy5pbmZyYWRlYWQub3JnL21haWxt YW4vbGlzdGluZm8vbGludXgtYXJtLWtlcm5lbAo=