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=DKIM_INVALID,DKIM_SIGNED, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY, SPF_PASS,URIBL_BLOCKED autolearn=unavailable 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 D97D0C10F03 for ; Fri, 1 Mar 2019 04:21:32 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 9C8E02087E for ; Fri, 1 Mar 2019 04:21:32 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=fail reason="signature verification failed" (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="LUcg4niK" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728977AbfCAEVb (ORCPT ); Thu, 28 Feb 2019 23:21:31 -0500 Received: from mail-pf1-f194.google.com ([209.85.210.194]:32969 "EHLO mail-pf1-f194.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726066AbfCAEVa (ORCPT ); Thu, 28 Feb 2019 23:21:30 -0500 Received: by mail-pf1-f194.google.com with SMTP id i19so10809879pfd.0; Thu, 28 Feb 2019 20:21:29 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:subject:to:cc:references:from:message-id:date:user-agent :mime-version:in-reply-to:content-language:content-transfer-encoding; bh=XqWVLQo+0c9TMh3Jp82Vt/m+tyYOsGfEqM4JMup8HNA=; b=LUcg4niKjE27Y8LmQgoEEhMDZJJEKw4pSB0/BMVZsYvLv52w6RjN9wJulvsU7fF3of kf6yFvAfhDaJdyNnLkM/mILiru97vQv5tA73hkpC5595F6X80MSAJ5RVjC5waLLBJZX3 2yZxVB4isMzlpVBx6IDh7zj8LJ7hm2B2vLY9AYbf/CJXGTTgIyOUXUxaJMS9B0EUyhHC 7Be1cDLtEwNXbfP2myk32eOjg8+Wdu/8O8WBBnADc2+zqhX9ddxoyHekkC003DS8bf/z IbTuvwqdQHXKudVADOpGPzVQPQ3WHMYJGRdFzsBpS++bMpvCv2g+MBSpm+Q99nMHxXm9 nVbg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:subject:to:cc:references:from:message-id :date:user-agent:mime-version:in-reply-to:content-language :content-transfer-encoding; bh=XqWVLQo+0c9TMh3Jp82Vt/m+tyYOsGfEqM4JMup8HNA=; b=f68do5QKFObH90lf1++vGU7rdr/hlhmavYUoSgFYjRylAMBFurmj6KDG2nn3wgoZf2 7wltHg5FGWnDfYmyuYaSpZEEilAYVGGK6g9AF7Pk0tHdVJ83U+R9S2QacJkOzrayiNVW IQsan26zwOzyBGEv0QuO8PAWA2opgvXgIm5XiiGFDUi6RyJ0+TJE1NZ8MzuM0/cAZSpg kLQ4uvNqdK+prEyRDTCJicylKCxEOl231ZvceXZDugeJ6krp4T0bNWapTK4G7OQKz+h5 OdBFlVEjJniTDBDNX9vPFjp3eQytytxef6Vea0QyY9NYqhS6oVZjQ4tHropWMiXtIY5P W0PA== X-Gm-Message-State: AHQUAuaDuRpMd38NyI0KUzsShKOrIwz7IB/LBsDOH7xtHXlEx+T06W+W Q0W50LTb+RzOFoS2E5YeBk0= X-Google-Smtp-Source: APXvYqy+5c9YyJNNNmoxjevzfav+4v7eMiNFmN3j5bei0pxoXwcLlIV6zc+7sU0A0J6OU6uaWjAtgg== X-Received: by 2002:a62:4389:: with SMTP id l9mr3626528pfi.170.1551414089381; Thu, 28 Feb 2019 20:21:29 -0800 (PST) Received: from server.roeck-us.net ([2600:1700:e321:62f0:329c:23ff:fee3:9d7c]) by smtp.gmail.com with ESMTPSA id s2sm25611493pgc.67.2019.02.28.20.21.26 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 28 Feb 2019 20:21:28 -0800 (PST) Subject: Re: [PATCH V4 1/2] watchdog: imx_sc: Add i.MX system controller watchdog support To: Anson Huang , "catalin.marinas@arm.com" , "will.deacon@arm.com" , "wim@linux-watchdog.org" , "shawnguo@kernel.org" , "s.hauer@pengutronix.de" , "kernel@pengutronix.de" , "festevam@gmail.com" , Andy Gross , "heiko@sntech.de" , "horms+renesas@verge.net.au" , "arnd@arndb.de" , "olof@lixom.net" , "jagan@amarulasolutions.com" , "bjorn.andersson@linaro.org" , "enric.balletbo@collabora.com" , "marc.w.gonzalez@free.fr" , "linux-arm-kernel@lists.infradead.org" , "linux-kernel@vger.kernel.org" , "linux-watchdog@vger.kernel.org" Cc: dl-linux-imx References: <1551340510-2324-1-git-send-email-Anson.Huang@nxp.com> <575f5a40-5590-12fc-e117-a97577982844@roeck-us.net> From: Guenter Roeck Message-ID: Date: Thu, 28 Feb 2019 20:21:26 -0800 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.5.1 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 2/28/19 7:46 PM, Anson Huang wrote: > Hi, Guenter > > Best Regards! > Anson Huang > >> -----Original Message----- >> From: Guenter Roeck [mailto:groeck7@gmail.com] On Behalf Of Guenter >> Roeck >> Sent: 2019年2月28日 22:58 >> To: Anson Huang ; catalin.marinas@arm.com; >> will.deacon@arm.com; wim@linux-watchdog.org; shawnguo@kernel.org; >> s.hauer@pengutronix.de; kernel@pengutronix.de; festevam@gmail.com; >> Andy Gross ; heiko@sntech.de; >> horms+renesas@verge.net.au; arnd@arndb.de; olof@lixom.net; >> jagan@amarulasolutions.com; bjorn.andersson@linaro.org; >> enric.balletbo@collabora.com; marc.w.gonzalez@free.fr; linux-arm- >> kernel@lists.infradead.org; linux-kernel@vger.kernel.org; linux- >> watchdog@vger.kernel.org >> Cc: dl-linux-imx >> Subject: Re: [PATCH V4 1/2] watchdog: imx_sc: Add i.MX system controller >> watchdog support >> >> On 2/27/19 11:59 PM, Anson Huang wrote: >>> i.MX8QXP is an ARMv8 SoC which has a Cortex-M4 system controller >>> inside, the system controller is in charge of controlling power, clock >>> and watchdog etc.. >>> >>> This patch adds i.MX system controller watchdog driver support, >>> watchdog operation needs to be done in secure EL3 mode via >>> ARM-Trusted-Firmware, using SMC call, CPU will trap into >>> ARM-Trusted-Firmware and then it will request system controller to do >>> watchdog operation via IPC. >>> >>> Signed-off-by: Anson Huang >>> --- >>> Changes since V3: >>> - add ARM64 dependency for this driver; >>> - change SPDX license to GPL-2.0 to match module license; >>> - register platform device in driver instead of getting from dts; >>> - return linux error code instead of system controller firmware error >> code for watchdog operation >>> failed case. >>> --- >>> drivers/watchdog/Kconfig | 13 +++ >>> drivers/watchdog/Makefile | 1 + >>> drivers/watchdog/imx_sc_wdt.c | 201 >> ++++++++++++++++++++++++++++++++++++++++++ >>> 3 files changed, 215 insertions(+) >>> create mode 100644 drivers/watchdog/imx_sc_wdt.c >>> >>> diff --git a/drivers/watchdog/Kconfig b/drivers/watchdog/Kconfig index >>> 65c3c42..8c6575e 100644 >>> --- a/drivers/watchdog/Kconfig >>> +++ b/drivers/watchdog/Kconfig >>> @@ -625,6 +625,19 @@ config IMX2_WDT >>> To compile this driver as a module, choose M here: the >>> module will be called imx2_wdt. >>> >>> +config IMX_SC_WDT >>> + tristate "IMX SC Watchdog" >>> + depends on (ARCH_MXC && ARM64) || COMPILE_TEST >>> + select WATCHDOG_CORE >>> + help >>> + This is the driver for the system controller watchdog >>> + on the NXP i.MX SoCs with system controller inside. >>> + If you have one of these processors and wish to have >>> + watchdog support enabled, say Y, otherwise say N. >>> + >>> + To compile this driver as a module, choose M here: the >>> + module will be called imx_sc_wdt. >>> + >> >> With this patch applied, alpha:allmodconfig and almost all other >> allmodconfig/allyesconfig builds fail with: >> >> ERROR: "__arm_smccc_smc" [drivers/watchdog/imx_sc_wdt.ko] undefined! >> scripts/Makefile.modpost:92: recipe for target '__modpost' failed >> make[1]: *** [__modpost] Error 1 >> Makefile:1260: recipe for target 'modules' failed >> >> as I told you before would happen. For the future, please consider that >> forcing me to "prove" such failures does take a significant amount of time, >> which is not always readily available. > > Sorry for wasting your time, it is just because I misunderstand your point, NOT > that I did NOT force you to prove it. > > I am a little confuse, since this is new to me about these configs, I looked into > other drivers which also use arm_smccc_smc, they do NOT add special config > dependency for the failure build cause as you said, can you be more detail about > this build issue, I tried below build, but the failure I met is other, so could you please > advise how to fix such dependency issue, adding dummy function looks like NOT > a good way since this arm_smccc_smc() API is widely used in kernel, there should be > some common solution for it, Thanks in advanced and appreciate for your time. > I am quite sure that the other drivers calling arm_smccc_smc don't have "|| COMPILE_TEST" as dependency, or they have a secondary dependency. Randomly picking some RTC_DRV_IMX_SC - no. ARM_RK3399_DMC_DEVFREQ - no. PHY_MVEBU_A3700_COMPHY - yes, but it also has "depends on HAVE_ARM_SMCCC" as separate line, limiting its scope. You can either drop "|| COMPILE_TEST" or add "depends on HAVE_ARM_SMCCC" in a separate line. There may be other options, but I did not explore them. Guenter 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=-7.0 required=3.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI, SIGNED_OFF_BY,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 78F2EC43381 for ; Fri, 1 Mar 2019 04:21:40 +0000 (UTC) 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 mail.kernel.org (Postfix) with ESMTPS id 40CBD2087E for ; Fri, 1 Mar 2019 04:21:40 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="AfxYKRGH"; dkim=fail reason="signature verification failed" (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="LUcg4niK" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 40CBD2087E Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=roeck-us.net Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-arm-kernel-bounces+infradead-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=bombadil.20170209; h=Sender:Content-Type: Content-Transfer-Encoding:Cc:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:In-Reply-To:MIME-Version:Date:Message-ID:From: References:To:Subject:Reply-To:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=Z3JquOU+arZXxUYec9KkZjTgowv8swzGrwL92W3K3mI=; b=AfxYKRGHNisWMgxMuPVdMCkOw mKMh7SyAbpFv2ENOjlvQrb6rURYHdj+01DqaKmTrl1DlD+bE8DvFWN17NGG+k6tHfEVLrqJ774Cfk jNZocazmjEQpa6Mpabb2CIzeZ+6qRL4CjhXaKDod/7E8DeuItWHcl/kA2FiR6SEQ0iLwY16lyxaLo QPPHSxRXP+oXftJ09cy1KaSdNFo5R+U+1KsRDaCbCk1rRZ2SZSNPzsrF+gFFg8Q84MuG2XM+QFCEN DzQhM1JqTN1pdW1Zttz8sFu7Zpp7DK2Y551MIc2S/5UJ2qRwqtxVhH7JwcwbscMsRrHltxhTENcd+ 2gjlsXIbw==; Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.90_1 #2 (Red Hat Linux)) id 1gzZfy-0001RB-R2; Fri, 01 Mar 2019 04:21:34 +0000 Received: from mail-pf1-x441.google.com ([2607:f8b0:4864:20::441]) by bombadil.infradead.org with esmtps (Exim 4.90_1 #2 (Red Hat Linux)) id 1gzZfu-0001Qs-9Q for linux-arm-kernel@lists.infradead.org; Fri, 01 Mar 2019 04:21:32 +0000 Received: by mail-pf1-x441.google.com with SMTP id u9so10804570pfn.1 for ; Thu, 28 Feb 2019 20:21:29 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:subject:to:cc:references:from:message-id:date:user-agent :mime-version:in-reply-to:content-language:content-transfer-encoding; bh=XqWVLQo+0c9TMh3Jp82Vt/m+tyYOsGfEqM4JMup8HNA=; b=LUcg4niKjE27Y8LmQgoEEhMDZJJEKw4pSB0/BMVZsYvLv52w6RjN9wJulvsU7fF3of kf6yFvAfhDaJdyNnLkM/mILiru97vQv5tA73hkpC5595F6X80MSAJ5RVjC5waLLBJZX3 2yZxVB4isMzlpVBx6IDh7zj8LJ7hm2B2vLY9AYbf/CJXGTTgIyOUXUxaJMS9B0EUyhHC 7Be1cDLtEwNXbfP2myk32eOjg8+Wdu/8O8WBBnADc2+zqhX9ddxoyHekkC003DS8bf/z IbTuvwqdQHXKudVADOpGPzVQPQ3WHMYJGRdFzsBpS++bMpvCv2g+MBSpm+Q99nMHxXm9 nVbg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:subject:to:cc:references:from:message-id :date:user-agent:mime-version:in-reply-to:content-language :content-transfer-encoding; bh=XqWVLQo+0c9TMh3Jp82Vt/m+tyYOsGfEqM4JMup8HNA=; b=kJaZziXX+srxQGJIrgUUCmVtzYvNpWKKzLQM4r+Hmg9pUDUSOGenVwZPeHqaT3co+A kBOBmgo23m4StS6I57k6+y3FW3QFkmyJVtw4bub4IZtNt6Xge4ebhhM+R6wp3JbbSjXq XwCQ8pHV3pvEsNJngQXU1m/i7Wac8L+dyPaAzLCjq37I/+Pq7CTn6grgmWg5mLY9rwtQ hcjXvTY5l+1mKlfdesbQPfMLr56SutH5g+IfdlzDKDb7XRDwBq04ibuSDeyOt+/kle9k +u7a3esY86pr6iaTiHkauvnLIdQNGY6PNt2tXh3N+jVW2TFLLInpylYJ6YJu4LUiTeoP n5ag== X-Gm-Message-State: AHQUAuakSbSUJGz5JW7I75GrY3NXr9d8XvZzooaKqoHsWF/pVOIaz7BL MWPVkOLxIeYGX3tF5TOVzi8= X-Google-Smtp-Source: APXvYqy+5c9YyJNNNmoxjevzfav+4v7eMiNFmN3j5bei0pxoXwcLlIV6zc+7sU0A0J6OU6uaWjAtgg== X-Received: by 2002:a62:4389:: with SMTP id l9mr3626528pfi.170.1551414089381; Thu, 28 Feb 2019 20:21:29 -0800 (PST) Received: from server.roeck-us.net ([2600:1700:e321:62f0:329c:23ff:fee3:9d7c]) by smtp.gmail.com with ESMTPSA id s2sm25611493pgc.67.2019.02.28.20.21.26 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 28 Feb 2019 20:21:28 -0800 (PST) Subject: Re: [PATCH V4 1/2] watchdog: imx_sc: Add i.MX system controller watchdog support To: Anson Huang , "catalin.marinas@arm.com" , "will.deacon@arm.com" , "wim@linux-watchdog.org" , "shawnguo@kernel.org" , "s.hauer@pengutronix.de" , "kernel@pengutronix.de" , "festevam@gmail.com" , Andy Gross , "heiko@sntech.de" , "horms+renesas@verge.net.au" , "arnd@arndb.de" , "olof@lixom.net" , "jagan@amarulasolutions.com" , "bjorn.andersson@linaro.org" , "enric.balletbo@collabora.com" , "marc.w.gonzalez@free.fr" , "linux-arm-kernel@lists.infradead.org" , "linux-kernel@vger.kernel.org" , "linux-watchdog@vger.kernel.org" References: <1551340510-2324-1-git-send-email-Anson.Huang@nxp.com> <575f5a40-5590-12fc-e117-a97577982844@roeck-us.net> From: Guenter Roeck Message-ID: Date: Thu, 28 Feb 2019 20:21:26 -0800 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.5.1 MIME-Version: 1.0 In-Reply-To: Content-Language: en-US X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20190228_202130_360475_75736E32 X-CRM114-Status: GOOD ( 25.87 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: dl-linux-imx Content-Transfer-Encoding: base64 Content-Type: text/plain; charset="utf-8"; Format="flowed" Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+infradead-linux-arm-kernel=archiver.kernel.org@lists.infradead.org T24gMi8yOC8xOSA3OjQ2IFBNLCBBbnNvbiBIdWFuZyB3cm90ZToKPiBIaSwgR3VlbnRlcgo+IAo+ IEJlc3QgUmVnYXJkcyEKPiBBbnNvbiBIdWFuZwo+IAo+PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2Ut LS0tLQo+PiBGcm9tOiBHdWVudGVyIFJvZWNrIFttYWlsdG86Z3JvZWNrN0BnbWFpbC5jb21dIE9u IEJlaGFsZiBPZiBHdWVudGVyCj4+IFJvZWNrCj4+IFNlbnQ6IDIwMTnlubQy5pyIMjjml6UgMjI6 NTgKPj4gVG86IEFuc29uIEh1YW5nIDxhbnNvbi5odWFuZ0BueHAuY29tPjsgY2F0YWxpbi5tYXJp bmFzQGFybS5jb207Cj4+IHdpbGwuZGVhY29uQGFybS5jb207IHdpbUBsaW51eC13YXRjaGRvZy5v cmc7IHNoYXduZ3VvQGtlcm5lbC5vcmc7Cj4+IHMuaGF1ZXJAcGVuZ3V0cm9uaXguZGU7IGtlcm5l bEBwZW5ndXRyb25peC5kZTsgZmVzdGV2YW1AZ21haWwuY29tOwo+PiBBbmR5IEdyb3NzIDxhbmR5 Lmdyb3NzQGxpbmFyby5vcmc+OyBoZWlrb0BzbnRlY2guZGU7Cj4+IGhvcm1zK3JlbmVzYXNAdmVy Z2UubmV0LmF1OyBhcm5kQGFybmRiLmRlOyBvbG9mQGxpeG9tLm5ldDsKPj4gamFnYW5AYW1hcnVs YXNvbHV0aW9ucy5jb207IGJqb3JuLmFuZGVyc3NvbkBsaW5hcm8ub3JnOwo+PiBlbnJpYy5iYWxs ZXRib0Bjb2xsYWJvcmEuY29tOyBtYXJjLncuZ29uemFsZXpAZnJlZS5mcjsgbGludXgtYXJtLQo+ PiBrZXJuZWxAbGlzdHMuaW5mcmFkZWFkLm9yZzsgbGludXgta2VybmVsQHZnZXIua2VybmVsLm9y ZzsgbGludXgtCj4+IHdhdGNoZG9nQHZnZXIua2VybmVsLm9yZwo+PiBDYzogZGwtbGludXgtaW14 IDxsaW51eC1pbXhAbnhwLmNvbT4KPj4gU3ViamVjdDogUmU6IFtQQVRDSCBWNCAxLzJdIHdhdGNo ZG9nOiBpbXhfc2M6IEFkZCBpLk1YIHN5c3RlbSBjb250cm9sbGVyCj4+IHdhdGNoZG9nIHN1cHBv cnQKPj4KPj4gT24gMi8yNy8xOSAxMTo1OSBQTSwgQW5zb24gSHVhbmcgd3JvdGU6Cj4+PiBpLk1Y OFFYUCBpcyBhbiBBUk12OCBTb0Mgd2hpY2ggaGFzIGEgQ29ydGV4LU00IHN5c3RlbSBjb250cm9s bGVyCj4+PiBpbnNpZGUsIHRoZSBzeXN0ZW0gY29udHJvbGxlciBpcyBpbiBjaGFyZ2Ugb2YgY29u dHJvbGxpbmcgcG93ZXIsIGNsb2NrCj4+PiBhbmQgd2F0Y2hkb2cgZXRjLi4KPj4+Cj4+PiBUaGlz IHBhdGNoIGFkZHMgaS5NWCBzeXN0ZW0gY29udHJvbGxlciB3YXRjaGRvZyBkcml2ZXIgc3VwcG9y dCwKPj4+IHdhdGNoZG9nIG9wZXJhdGlvbiBuZWVkcyB0byBiZSBkb25lIGluIHNlY3VyZSBFTDMg bW9kZSB2aWEKPj4+IEFSTS1UcnVzdGVkLUZpcm13YXJlLCB1c2luZyBTTUMgY2FsbCwgQ1BVIHdp bGwgdHJhcCBpbnRvCj4+PiBBUk0tVHJ1c3RlZC1GaXJtd2FyZSBhbmQgdGhlbiBpdCB3aWxsIHJl cXVlc3Qgc3lzdGVtIGNvbnRyb2xsZXIgdG8gZG8KPj4+IHdhdGNoZG9nIG9wZXJhdGlvbiB2aWEg SVBDLgo+Pj4KPj4+IFNpZ25lZC1vZmYtYnk6IEFuc29uIEh1YW5nIDxBbnNvbi5IdWFuZ0BueHAu Y29tPgo+Pj4gLS0tCj4+PiBDaGFuZ2VzIHNpbmNlIFYzOgo+Pj4gICAgICAgICAgIC0gYWRkIEFS TTY0IGRlcGVuZGVuY3kgZm9yIHRoaXMgZHJpdmVyOwo+Pj4gICAgICAgICAgIC0gY2hhbmdlIFNQ RFggbGljZW5zZSB0byBHUEwtMi4wIHRvIG1hdGNoIG1vZHVsZSBsaWNlbnNlOwo+Pj4gICAgICAg ICAgIC0gcmVnaXN0ZXIgcGxhdGZvcm0gZGV2aWNlIGluIGRyaXZlciBpbnN0ZWFkIG9mIGdldHRp bmcgZnJvbSBkdHM7Cj4+PiAJLSByZXR1cm4gbGludXggZXJyb3IgY29kZSBpbnN0ZWFkIG9mIHN5 c3RlbSBjb250cm9sbGVyIGZpcm13YXJlIGVycm9yCj4+IGNvZGUgZm9yIHdhdGNoZG9nIG9wZXJh dGlvbgo+Pj4gCSAgZmFpbGVkIGNhc2UuCj4+PiAtLS0KPj4+ICAgIGRyaXZlcnMvd2F0Y2hkb2cv S2NvbmZpZyAgICAgIHwgIDEzICsrKwo+Pj4gICAgZHJpdmVycy93YXRjaGRvZy9NYWtlZmlsZSAg ICAgfCAgIDEgKwo+Pj4gICAgZHJpdmVycy93YXRjaGRvZy9pbXhfc2Nfd2R0LmMgfCAyMDEKPj4g KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCj4+PiAgICAzIGZpbGVz IGNoYW5nZWQsIDIxNSBpbnNlcnRpb25zKCspCj4+PiAgICBjcmVhdGUgbW9kZSAxMDA2NDQgZHJp dmVycy93YXRjaGRvZy9pbXhfc2Nfd2R0LmMKPj4+Cj4+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy93 YXRjaGRvZy9LY29uZmlnIGIvZHJpdmVycy93YXRjaGRvZy9LY29uZmlnIGluZGV4Cj4+PiA2NWMz YzQyLi44YzY1NzVlIDEwMDY0NAo+Pj4gLS0tIGEvZHJpdmVycy93YXRjaGRvZy9LY29uZmlnCj4+ PiArKysgYi9kcml2ZXJzL3dhdGNoZG9nL0tjb25maWcKPj4+IEBAIC02MjUsNiArNjI1LDE5IEBA IGNvbmZpZyBJTVgyX1dEVAo+Pj4gICAgCSAgVG8gY29tcGlsZSB0aGlzIGRyaXZlciBhcyBhIG1v ZHVsZSwgY2hvb3NlIE0gaGVyZTogdGhlCj4+PiAgICAJICBtb2R1bGUgd2lsbCBiZSBjYWxsZWQg aW14Ml93ZHQuCj4+Pgo+Pj4gK2NvbmZpZyBJTVhfU0NfV0RUCj4+PiArCXRyaXN0YXRlICJJTVgg U0MgV2F0Y2hkb2ciCj4+PiArCWRlcGVuZHMgb24gKEFSQ0hfTVhDICYmIEFSTTY0KSB8fCBDT01Q SUxFX1RFU1QKPj4+ICsJc2VsZWN0IFdBVENIRE9HX0NPUkUKPj4+ICsJaGVscAo+Pj4gKwkgIFRo aXMgaXMgdGhlIGRyaXZlciBmb3IgdGhlIHN5c3RlbSBjb250cm9sbGVyIHdhdGNoZG9nCj4+PiAr CSAgb24gdGhlIE5YUCBpLk1YIFNvQ3Mgd2l0aCBzeXN0ZW0gY29udHJvbGxlciBpbnNpZGUuCj4+ PiArCSAgSWYgeW91IGhhdmUgb25lIG9mIHRoZXNlIHByb2Nlc3NvcnMgYW5kIHdpc2ggdG8gaGF2 ZQo+Pj4gKwkgIHdhdGNoZG9nIHN1cHBvcnQgZW5hYmxlZCwgc2F5IFksIG90aGVyd2lzZSBzYXkg Ti4KPj4+ICsKPj4+ICsJICBUbyBjb21waWxlIHRoaXMgZHJpdmVyIGFzIGEgbW9kdWxlLCBjaG9v c2UgTSBoZXJlOiB0aGUKPj4+ICsJICBtb2R1bGUgd2lsbCBiZSBjYWxsZWQgaW14X3NjX3dkdC4K Pj4+ICsKPj4KPj4gV2l0aCB0aGlzIHBhdGNoIGFwcGxpZWQsIGFscGhhOmFsbG1vZGNvbmZpZyBh bmQgYWxtb3N0IGFsbCBvdGhlcgo+PiBhbGxtb2Rjb25maWcvYWxseWVzY29uZmlnIGJ1aWxkcyBm YWlsIHdpdGg6Cj4+Cj4+IEVSUk9SOiAiX19hcm1fc21jY2Nfc21jIiBbZHJpdmVycy93YXRjaGRv Zy9pbXhfc2Nfd2R0LmtvXSB1bmRlZmluZWQhCj4+IHNjcmlwdHMvTWFrZWZpbGUubW9kcG9zdDo5 MjogcmVjaXBlIGZvciB0YXJnZXQgJ19fbW9kcG9zdCcgZmFpbGVkCj4+IG1ha2VbMV06ICoqKiBb X19tb2Rwb3N0XSBFcnJvciAxCj4+IE1ha2VmaWxlOjEyNjA6IHJlY2lwZSBmb3IgdGFyZ2V0ICdt b2R1bGVzJyBmYWlsZWQKPj4KPj4gYXMgSSB0b2xkIHlvdSBiZWZvcmUgd291bGQgaGFwcGVuLiBG b3IgdGhlIGZ1dHVyZSwgcGxlYXNlIGNvbnNpZGVyIHRoYXQKPj4gZm9yY2luZyBtZSB0byAicHJv dmUiIHN1Y2ggZmFpbHVyZXMgZG9lcyB0YWtlIGEgc2lnbmlmaWNhbnQgYW1vdW50IG9mIHRpbWUs Cj4+IHdoaWNoIGlzIG5vdCBhbHdheXMgcmVhZGlseSBhdmFpbGFibGUuCj4gCj4gU29ycnkgZm9y IHdhc3RpbmcgeW91ciB0aW1lLCBpdCBpcyBqdXN0IGJlY2F1c2UgSSBtaXN1bmRlcnN0YW5kIHlv dXIgcG9pbnQsIE5PVAo+IHRoYXQgSSBkaWQgTk9UIGZvcmNlIHlvdSB0byBwcm92ZSBpdC4KPiAK PiBJIGFtIGEgbGl0dGxlIGNvbmZ1c2UsIHNpbmNlIHRoaXMgaXMgbmV3IHRvIG1lIGFib3V0IHRo ZXNlIGNvbmZpZ3MsIEkgbG9va2VkIGludG8KPiBvdGhlciBkcml2ZXJzIHdoaWNoIGFsc28gdXNl IGFybV9zbWNjY19zbWMsIHRoZXkgZG8gTk9UIGFkZCBzcGVjaWFsIGNvbmZpZwo+IGRlcGVuZGVu Y3kgZm9yIHRoZSBmYWlsdXJlIGJ1aWxkIGNhdXNlIGFzIHlvdSBzYWlkLCBjYW4geW91IGJlIG1v cmUgZGV0YWlsIGFib3V0Cj4gdGhpcyBidWlsZCBpc3N1ZSwgSSB0cmllZCBiZWxvdyBidWlsZCwg YnV0IHRoZSBmYWlsdXJlIEkgbWV0IGlzIG90aGVyLCBzbyBjb3VsZCB5b3UgcGxlYXNlCj4gYWR2 aXNlIGhvdyB0byBmaXggc3VjaCBkZXBlbmRlbmN5IGlzc3VlLCBhZGRpbmcgZHVtbXkgZnVuY3Rp b24gbG9va3MgbGlrZSBOT1QKPiBhIGdvb2Qgd2F5IHNpbmNlIHRoaXMgYXJtX3NtY2NjX3NtYygp IEFQSSBpcyB3aWRlbHkgdXNlZCBpbiBrZXJuZWwsIHRoZXJlIHNob3VsZCBiZQo+IHNvbWUgY29t bW9uIHNvbHV0aW9uIGZvciBpdCwgVGhhbmtzIGluIGFkdmFuY2VkIGFuZCBhcHByZWNpYXRlIGZv ciB5b3VyIHRpbWUuCj4gCgpJIGFtIHF1aXRlIHN1cmUgdGhhdCB0aGUgb3RoZXIgZHJpdmVycyBj YWxsaW5nIGFybV9zbWNjY19zbWMgZG9uJ3QgaGF2ZQoifHwgQ09NUElMRV9URVNUIiBhcyBkZXBl bmRlbmN5LCBvciB0aGV5IGhhdmUgYSBzZWNvbmRhcnkgZGVwZW5kZW5jeS4KClJhbmRvbWx5IHBp Y2tpbmcgc29tZQoKUlRDX0RSVl9JTVhfU0MgLSBuby4KQVJNX1JLMzM5OV9ETUNfREVWRlJFUSAt IG5vLgpQSFlfTVZFQlVfQTM3MDBfQ09NUEhZIC0geWVzLCBidXQgaXQgYWxzbyBoYXMgImRlcGVu ZHMgb24gSEFWRV9BUk1fU01DQ0MiIGFzCnNlcGFyYXRlIGxpbmUsIGxpbWl0aW5nIGl0cyBzY29w ZS4KCllvdSBjYW4gZWl0aGVyIGRyb3AgInx8IENPTVBJTEVfVEVTVCIgb3IgYWRkICJkZXBlbmRz IG9uIEhBVkVfQVJNX1NNQ0NDIgppbiBhIHNlcGFyYXRlIGxpbmUuIFRoZXJlIG1heSBiZSBvdGhl ciBvcHRpb25zLCBidXQgSSBkaWQgbm90IGV4cGxvcmUgdGhlbS4KCkd1ZW50ZXIKCl9fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmxpbnV4LWFybS1rZXJuZWwg bWFpbGluZyBsaXN0CmxpbnV4LWFybS1rZXJuZWxAbGlzdHMuaW5mcmFkZWFkLm9yZwpodHRwOi8v bGlzdHMuaW5mcmFkZWFkLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2xpbnV4LWFybS1rZXJuZWwK