From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-pl1-f180.google.com (mail-pl1-f180.google.com [209.85.214.180]) (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 EF2507602A for ; Mon, 15 Apr 2024 15:10:00 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.214.180 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1713193803; cv=none; b=oyYoLVLKJtO6k+s1BGD6t4nJHzbOGkoCffSqnNx8lBxZ0y6w8qogO2DqIWwIN4NS83wWIjKFZNIfE4ApK89rSk01+uFqv8M2TzI+PT1wAE9CHWJsTEN4m6+pmSoyLn5e9Kh6DTZQimhwtXM5t5C7JqApAqUDh/5OKCFYdAunMek= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1713193803; c=relaxed/simple; bh=j1x0UxzeXvLPbbNyhZHSxPWm4VxjffamP8nzex+JrHQ=; h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version: Content-Type:Content-Disposition:In-Reply-To; b=R2mzxtvn/FgYseEehMYm1WIAhRpw5KlJA84TZ/YAbw7We0IMMAo1zlsvI0nRPfmtoex3XO7lN0R0jDJotCDHtyq8d01kT4qIVY0J+riA3t20T7J7G0RRE29iuykBwQ+jkpetoLu8iGm4dT7sRem843sEIy0KYXLfc2YA8dtIu5o= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=ventanamicro.com; spf=pass smtp.mailfrom=ventanamicro.com; dkim=pass (2048-bit key) header.d=ventanamicro.com header.i=@ventanamicro.com header.b=WCu6IOXV; arc=none smtp.client-ip=209.85.214.180 Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=ventanamicro.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=ventanamicro.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=ventanamicro.com header.i=@ventanamicro.com header.b="WCu6IOXV" Received: by mail-pl1-f180.google.com with SMTP id d9443c01a7336-1e4c4fb6af3so17573105ad.0 for ; Mon, 15 Apr 2024 08:10:00 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ventanamicro.com; s=google; t=1713193800; x=1713798600; darn=vger.kernel.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=KUTjRYw2QSF7yq7TkGCMX42B7x4BBoP+ynBiomiZSA8=; b=WCu6IOXVSVMCxDziLABukGzNh/BBrulinJOsNTYfpJA7h7grFfwH7zxlmMRVc7K+Kb G2H8fRwkscfHHPi8Eyk2j9gxnLgrKXWj8WdNsCQEKVJdiGZ8+SG0Lc4IGrDe25B90G8A AmYrl5E2JMJ/23pNtKJ9d9AJFQdkeD/UIXn/ADnXQdhxo7Sl8rMM0ikIxa9RgiNGhaqD pVX5i4zAepbq7C1Uj/XjjzPITg2DomriJL3Dv9Sbh356gK/k2SgukTiiINBVBBYyuyfS EA+G9WT3tIEvxVTLXn9ptanYkmR0PH4x46nm3RMBb1GwD0CXkRRYQePvzagTi0lFrLQE 8FjA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1713193800; x=1713798600; 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=KUTjRYw2QSF7yq7TkGCMX42B7x4BBoP+ynBiomiZSA8=; b=fmzL04ihb64hUrPKxpgDR8L0b0KwUCsALS3jl00KTQ9p3jls5u4kHOmT/uA3MPWkTj A2GgldbiuJDxana8egfYxVAZazLfasoILpE2Et2bgOToLiNk71zSXnKmsFw3G3nYZS52 +3SxR2ilcBRkIZBl6RUjdaKyL7eqnxFePAZBb3pWhe9qO4YKuYTU5cKbpGN42hBxbZrt qfZhnIrYtSGUmdYA7yoYoikkINlYv/MaiWI6hGTbk+OufHmi4nZuBvPLzMrvtznbVscn iymZ6pgy+xUTzvw/2wPvbBfi8EqfLR/Vfme2br+PuWEQ2apOj6E0eQGmIsyxGxmjKPbb J1qA== X-Forwarded-Encrypted: i=1; AJvYcCWgs43v8rFrrfuhL4BiEZMInZNu6hSKKEozNN2aTThOmWbp2U+1yHUUTspkhbtjQ4/eWja4NJAmldwHTJpOuJ+hxLZPRGIBcE/5YA== X-Gm-Message-State: AOJu0YzYM3cM/oz+wOhvcSfxlwdDO8ERUFu3UZC4ZO82H8W0tYWxqP5V mmLNTDoHJsvdzixo/PaS8MYd2GfdF9yHY8+vtVSZiAewidoLF95tQJ5CwrqKLR4= X-Google-Smtp-Source: AGHT+IGn7pZ58bJwCSsiauIBDNVX2UFdCiTs5jbjy2Z3dKH6jKEfU0xiZ2+wL5xBe2lNgZ7BIAy5FQ== X-Received: by 2002:a17:903:2303:b0:1e2:bb09:6270 with SMTP id d3-20020a170903230300b001e2bb096270mr13204613plh.28.1713193800102; Mon, 15 Apr 2024 08:10:00 -0700 (PDT) Received: from sunil-laptop ([106.51.187.230]) by smtp.gmail.com with ESMTPSA id 4-20020a170902c24400b001dd578121d4sm8030488plg.204.2024.04.15.08.09.54 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 15 Apr 2024 08:09:59 -0700 (PDT) Date: Mon, 15 Apr 2024 20:39:51 +0530 From: Sunil V L To: "Rafael J. Wysocki" Cc: linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, linux-riscv@lists.infradead.org, linux-acpi@vger.kernel.org, linux-pci@vger.kernel.org, Catalin Marinas , Will Deacon , Paul Walmsley , Palmer Dabbelt , Albert Ou , Len Brown , Anup Patel , Thomas Gleixner , Bjorn Helgaas , Haibo Xu , Conor Dooley , Andrew Jones , =?utf-8?B?QmrDtnJuIFTDtnBlbA==?= , Marc Zyngier Subject: Re: [RFC PATCH v3 00/17] RISC-V: ACPI: Add external interrupt controller support Message-ID: References: <20231219174526.2235150-1-sunilvl@ventanamicro.com> Precedence: bulk X-Mailing-List: linux-acpi@vger.kernel.org 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 Thu, Feb 01, 2024 at 07:10:28PM +0100, Rafael J. Wysocki wrote: > On Tue, Jan 30, 2024 at 7:02 AM Sunil V L wrote: > > > > On Tue, Dec 19, 2023 at 06:50:19PM +0100, Rafael J. Wysocki wrote: > > > On Tue, Dec 19, 2023 at 6:45 PM Sunil V L wrote: > > > > > > > > This series adds support for the below ECR approved by ASWG. > > > > 1) MADT - https://drive.google.com/file/d/1oMGPyOD58JaPgMl1pKasT-VKsIKia7zR/view?usp=sharing > > > > > > > > The series primarily enables irqchip drivers for RISC-V ACPI based > > > > platforms. > > > > > > > > The series can be broadly categorized like below. > > > > > > > > 1) PCI ACPI related functions are migrated from arm64 to common file so > > > > that we don't need to duplicate them for RISC-V. > > > > > > > > 2) Introduced support for fw_devlink for ACPI nodes for IRQ dependency. > > > > This helps to support deferred probe of interrupt controller drivers. > > > > > > > > 3) Modified pnp_irq() to try registering the IRQ again if it sees it in > > > > disabled state. This solution is similar to how > > > > platform_get_irq_optional() works for regular platform devices. > > > > > > > > 4) Added support for re-ordering the probe of interrupt controllers when > > > > IRQCHIP_ACPI_DECLARE is used. > > > > > > > > 5) ACPI support added in RISC-V interrupt controller drivers. > > > > > > > > This series is based on Anup's AIA v11 series. Since Anup's AIA v11 is > > > > not merged yet and first time introducing fw_devlink, deferred probe and > > > > reordering support for IRQCHIP probe, this series is still kept as RFC. > > > > Looking forward for the feedback! > > > > > > > > Changes since RFC v2: > > > > 1) Introduced fw_devlink for ACPI nodes for IRQ dependency. > > > > 2) Dropped patches in drivers which are not required due to > > > > fw_devlink support. > > > > 3) Dropped pci_set_msi() patch and added a patch in > > > > pci_create_root_bus(). > > > > 4) Updated pnp_irq() patch so that none of the actual PNP > > > > drivers need to change. > > > > > > > > Changes since RFC v1: > > > > 1) Abandoned swnode approach as per Marc's feedback. > > > > 2) To cope up with AIA series changes which changed irqchip driver > > > > probe from core_initcall() to platform_driver, added patches > > > > to support deferred probing. > > > > 3) Rebased on top of Anup's AIA v11 and added tags. > > > > > > > > To test the series, > > > > > > > > 1) Qemu should be built using the riscv_acpi_b2_v8 branch at > > > > https://github.com/vlsunil/qemu.git > > > > > > > > 2) EDK2 should be built using the instructions at: > > > > https://github.com/tianocore/edk2/blob/master/OvmfPkg/RiscVVirt/README.md > > > > > > > > 3) Build Linux using this series on top of Anup's AIA v11 series. > > > > > > > > Run Qemu: > > > > qemu-system-riscv64 \ > > > > -M virt,pflash0=pflash0,pflash1=pflash1,aia=aplic-imsic \ > > > > -m 2G -smp 8 \ > > > > -serial mon:stdio \ > > > > -device virtio-gpu-pci -full-screen \ > > > > -device qemu-xhci \ > > > > -device usb-kbd \ > > > > -blockdev node-name=pflash0,driver=file,read-only=on,filename=RISCV_VIRT_CODE.fd \ > > > > -blockdev node-name=pflash1,driver=file,filename=RISCV_VIRT_VARS.fd \ > > > > -netdev user,id=net0 -device virtio-net-pci,netdev=net0 \ > > > > -kernel arch/riscv/boot/Image \ > > > > -initrd rootfs.cpio \ > > > > -append "root=/dev/ram ro console=ttyS0 rootwait earlycon=uart8250,mmio,0x10000000" > > > > > > > > To boot with APLIC only, use aia=aplic. > > > > To boot with PLIC, remove aia= option. > > > > > > > > This series is also available in acpi_b2_v3_riscv_aia_v11 branch at > > > > https://github.com/vlsunil/linux.git > > > > > > > > Based-on: 20231023172800.315343-1-apatel@ventanamicro.com > > > > (https://lore.kernel.org/lkml/20231023172800.315343-1-apatel@ventanamicro.com/) > > > > > > > > Sunil V L (17): > > > > arm64: PCI: Migrate ACPI related functions to pci-acpi.c > > > > RISC-V: ACPI: Implement PCI related functionality > > > > PCI: Make pci_create_root_bus() declare its reliance on MSI domains > > > > ACPI: Add fw_devlink support for ACPI fwnode for IRQ dependency > > > > ACPI: irq: Add support for deferred probe in acpi_register_gsi() > > > > pnp.h: Reconfigure IRQ in pnp_irq() to support deferred probe > > > > ACPI: scan.c: Add weak arch specific function to reorder the IRQCHIP > > > > probe > > > > ACPI: RISC-V: Implement arch function to reorder irqchip probe entries > > > > irqchip: riscv-intc: Add ACPI support for AIA > > > > irqchip: riscv-imsic: Add ACPI support > > > > irqchip: riscv-aplic: Add ACPI support > > > > irqchip: irq-sifive-plic: Add ACPI support > > > > ACPI: bus: Add RINTC IRQ model for RISC-V > > > > ACPI: bus: Add acpi_riscv_init function > > > > ACPI: RISC-V: Create APLIC platform device > > > > ACPI: RISC-V: Create PLIC platform device > > > > irqchip: riscv-intc: Set ACPI irqmodel > > > > > > JFYI, I have no capacity to provide any feedback on this till 6.8-rc1 is out. > > > > > Hi Rafael, > > > > Gentle ping. > > > > Could you please provide feedback on the series? Patches 4, 5, 6, 7 and > > 8 are bit critical IMO. So, I really look forward for your and other > > ACPI experts!. > > There was quite a bit of discussion on patch [6/21] and it still seems > relevant to me. > > ACPI actually has a way to at least indicate what the probe ordering > should be which is _DEP. > > The current handling of _DEP in the kernel may not be covering this > particular use case, but I would rather extend it (if necessary) > instead of doing all of the -EPROBE_DEFER dance which seems fragile to > me. > Hi Rafael, I found that _DEP is better than fw_devlink for ACPI since it works during scan itself. For ex: the way PCI host bridges are scanned in ACPI, PNP device handling. While some hacky solution could be done like I did in v3 (pnp_irq() changes), _DEP way seems much better. So, we decided to go with your suggested approach and defined namespace devices for PLIC and APLIC required to create dependency mechanism. However, there are concerns that every device will have to add _DEP now and whether it is intended for this use case. Also, actually the dependency is already available in the form of GSI number mapping. Hence, instead of explicit dependency, we would like to create implicit dependency. So, I will send RFC v4 series with those changes. Please help us with feedback. If you could provide quick high level go/no-go, that will help us a lot since we need to finalize the spec whether to mandate _DEP or not. I request you to provide some high level feedback in the RFC v4 I am going to send. 1) Creation of implicit dependency. 2) Handling PNP devices as part of clearing dependency 3) IRQCHIP probing reordering when there are multiple irqchips. Thanks, Sunil 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 E8CE1C4345F for ; Mon, 15 Apr 2024 15:10:14 +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=Xsg5V4Iz3+GfPr95h45KwCMBPxHRuTeBbBQyQuwvUPo=; b=gof654LUUaAe5r Zb5hzFkMgedLSGRkj1M9mu06OsM5c6bqJSqTnMSoKaYxMP8rfWGcdPnWIpmY1Qqm8aUFgEwK5N3DI dYoc+Dek4lnPfIjYXBJBh0MNTgtQ8GpRrYmEts+C1KG//7mIVxZqZKgCMdY9WJc6Pg5jTdszONQz0 dFvH5PRsEQzNkjy5siNzATY5gE/J1VZI5WsgYpC1dwEjfe3nO0iCuo/JLBmgdP/ZLM/GpPll530BV R6lTZs1w8x53CMvGAwIK4v56ENHwWwQRQACIw9CXFqI68Hei9q2VfZBJBvi/iUYDOw3+8nziIQd7u mk9ayrE+cwKNFPeMulhg==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.97.1 #2 (Red Hat Linux)) id 1rwNyC-00000008pmm-28jD; Mon, 15 Apr 2024 15:10:08 +0000 Received: from mail-pl1-x631.google.com ([2607:f8b0:4864:20::631]) by bombadil.infradead.org with esmtps (Exim 4.97.1 #2 (Red Hat Linux)) id 1rwNy7-00000008plO-16zA for linux-riscv@lists.infradead.org; Mon, 15 Apr 2024 15:10:07 +0000 Received: by mail-pl1-x631.google.com with SMTP id d9443c01a7336-1e3ff14f249so25441135ad.1 for ; Mon, 15 Apr 2024 08:10:00 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ventanamicro.com; s=google; t=1713193800; x=1713798600; 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=KUTjRYw2QSF7yq7TkGCMX42B7x4BBoP+ynBiomiZSA8=; b=TN7h3MRYG4G7KM0yCD95fEDt6YsDYouLfN2M0Z+SmEmuNxP24CZbXENlhViAjyalN2 pRtRZ2eS8LbV/PWH6hgsavCX3IXTYwdD6S6BOdL+LcO6RpFE+oF/M97fmrfBU+GYPIuk jASz4ly+lzHm8cvgAwxRpw7leS0gCDSOdNsbb/BtTeHerT+yWgJjreEC2TtwhLczQkyo gzsPtRna5kfNUWoXm5CJeGBaMOnd1IFsZt6zm5IbF0S212wQxg1p1oxY0TgdqfwMNgBe zN0HyZ7w5vgtbRCYXx3x0HrD5mJimbAm8IL/YPT7v7qnANK+aF97bBhvQQuoa5Lm1wXP 5GXw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1713193800; x=1713798600; 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=KUTjRYw2QSF7yq7TkGCMX42B7x4BBoP+ynBiomiZSA8=; b=wMdvnKpFrm4IzGb0Pm3qgPNw4aGkXfh8lq3BUOJO7FrvlGto3hwHl98NCuyRP2piuZ fqzC2K93iWMtUUvEYXmZu5+dUxNTC0sfNHHjuGxTPmdChuWfMDInUVSXcm4qBtykuXwb Hd2IMH0/YzFhIUSkYddTCkNwhk2+FSaTElnsgtioF0b/Cyc7JxoC3/xdYEHVnBOHvyzl 1xBkyvpejC4U5Q4g2jt7X8snhyWoXgRemAqbbP1amCKVetlJ8hoZJPX8h25WjSUt3jCv yOHsLmEb4pRjN2uEV3oBwJcvDooMxSrqFnjYDVZfy7fadxb8E4LaXWJZVFAJH8Dba10k sKWg== X-Forwarded-Encrypted: i=1; AJvYcCXZrC9BF5loSCJAfHd2nu7kaKCP7/v1zXN8kam1f4wk645n7BCEfh2MbkVBNRyA/kLcNyLPo/r20c6Hf9bZIDOZOZ9BagYsci61pzclYXRC X-Gm-Message-State: AOJu0YzmPdQ7ZAB1A2wyM/fq0BUudmeRQ1g2YxK6DdB36+RSs45NHzOF C8J6Qs7tKXiKLAvVRjA5/mk55vuHYq7ykAtR/wyDFRULKyoneS5Khkzje/AoEy8= X-Google-Smtp-Source: AGHT+IGn7pZ58bJwCSsiauIBDNVX2UFdCiTs5jbjy2Z3dKH6jKEfU0xiZ2+wL5xBe2lNgZ7BIAy5FQ== X-Received: by 2002:a17:903:2303:b0:1e2:bb09:6270 with SMTP id d3-20020a170903230300b001e2bb096270mr13204613plh.28.1713193800102; Mon, 15 Apr 2024 08:10:00 -0700 (PDT) Received: from sunil-laptop ([106.51.187.230]) by smtp.gmail.com with ESMTPSA id 4-20020a170902c24400b001dd578121d4sm8030488plg.204.2024.04.15.08.09.54 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 15 Apr 2024 08:09:59 -0700 (PDT) Date: Mon, 15 Apr 2024 20:39:51 +0530 From: Sunil V L To: "Rafael J. Wysocki" Cc: linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, linux-riscv@lists.infradead.org, linux-acpi@vger.kernel.org, linux-pci@vger.kernel.org, Catalin Marinas , Will Deacon , Paul Walmsley , Palmer Dabbelt , Albert Ou , Len Brown , Anup Patel , Thomas Gleixner , Bjorn Helgaas , Haibo Xu , Conor Dooley , Andrew Jones , =?utf-8?B?QmrDtnJuIFTDtnBlbA==?= , Marc Zyngier Subject: Re: [RFC PATCH v3 00/17] RISC-V: ACPI: Add external interrupt controller support Message-ID: References: <20231219174526.2235150-1-sunilvl@ventanamicro.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-20240415_081003_350093_43D0695B X-CRM114-Status: GOOD ( 42.40 ) X-BeenThere: linux-riscv@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-riscv" Errors-To: linux-riscv-bounces+linux-riscv=archiver.kernel.org@lists.infradead.org T24gVGh1LCBGZWIgMDEsIDIwMjQgYXQgMDc6MTA6MjhQTSArMDEwMCwgUmFmYWVsIEouIFd5c29j a2kgd3JvdGU6Cj4gT24gVHVlLCBKYW4gMzAsIDIwMjQgYXQgNzowMuKAr0FNIFN1bmlsIFYgTCA8 c3VuaWx2bEB2ZW50YW5hbWljcm8uY29tPiB3cm90ZToKPiA+Cj4gPiBPbiBUdWUsIERlYyAxOSwg MjAyMyBhdCAwNjo1MDoxOVBNICswMTAwLCBSYWZhZWwgSi4gV3lzb2NraSB3cm90ZToKPiA+ID4g T24gVHVlLCBEZWMgMTksIDIwMjMgYXQgNjo0NeKAr1BNIFN1bmlsIFYgTCA8c3VuaWx2bEB2ZW50 YW5hbWljcm8uY29tPiB3cm90ZToKPiA+ID4gPgo+ID4gPiA+IFRoaXMgc2VyaWVzIGFkZHMgc3Vw cG9ydCBmb3IgdGhlIGJlbG93IEVDUiBhcHByb3ZlZCBieSBBU1dHLgo+ID4gPiA+IDEpIE1BRFQg LSBodHRwczovL2RyaXZlLmdvb2dsZS5jb20vZmlsZS9kLzFvTUdQeU9ENThKYVBnTWwxcEthc1Qt VktzSUtpYTd6Ui92aWV3P3VzcD1zaGFyaW5nCj4gPiA+ID4KPiA+ID4gPiBUaGUgc2VyaWVzIHBy aW1hcmlseSBlbmFibGVzIGlycWNoaXAgZHJpdmVycyBmb3IgUklTQy1WIEFDUEkgYmFzZWQKPiA+ ID4gPiBwbGF0Zm9ybXMuCj4gPiA+ID4KPiA+ID4gPiBUaGUgc2VyaWVzIGNhbiBiZSBicm9hZGx5 IGNhdGVnb3JpemVkIGxpa2UgYmVsb3cuCj4gPiA+ID4KPiA+ID4gPiAxKSBQQ0kgQUNQSSByZWxh dGVkIGZ1bmN0aW9ucyBhcmUgbWlncmF0ZWQgZnJvbSBhcm02NCB0byBjb21tb24gZmlsZSBzbwo+ ID4gPiA+IHRoYXQgd2UgZG9uJ3QgbmVlZCB0byBkdXBsaWNhdGUgdGhlbSBmb3IgUklTQy1WLgo+ ID4gPiA+Cj4gPiA+ID4gMikgSW50cm9kdWNlZCBzdXBwb3J0IGZvciBmd19kZXZsaW5rIGZvciBB Q1BJIG5vZGVzIGZvciBJUlEgZGVwZW5kZW5jeS4KPiA+ID4gPiBUaGlzIGhlbHBzIHRvIHN1cHBv cnQgZGVmZXJyZWQgcHJvYmUgb2YgaW50ZXJydXB0IGNvbnRyb2xsZXIgZHJpdmVycy4KPiA+ID4g Pgo+ID4gPiA+IDMpIE1vZGlmaWVkIHBucF9pcnEoKSB0byB0cnkgcmVnaXN0ZXJpbmcgdGhlIElS USAgYWdhaW4gaWYgaXQgc2VlcyBpdCBpbgo+ID4gPiA+IGRpc2FibGVkIHN0YXRlLiBUaGlzIHNv bHV0aW9uIGlzIHNpbWlsYXIgdG8gaG93Cj4gPiA+ID4gcGxhdGZvcm1fZ2V0X2lycV9vcHRpb25h bCgpIHdvcmtzIGZvciByZWd1bGFyIHBsYXRmb3JtIGRldmljZXMuCj4gPiA+ID4KPiA+ID4gPiA0 KSBBZGRlZCBzdXBwb3J0IGZvciByZS1vcmRlcmluZyB0aGUgcHJvYmUgb2YgaW50ZXJydXB0IGNv bnRyb2xsZXJzIHdoZW4KPiA+ID4gPiBJUlFDSElQX0FDUElfREVDTEFSRSBpcyB1c2VkLgo+ID4g PiA+Cj4gPiA+ID4gNSkgQUNQSSBzdXBwb3J0IGFkZGVkIGluIFJJU0MtViBpbnRlcnJ1cHQgY29u dHJvbGxlciBkcml2ZXJzLgo+ID4gPiA+Cj4gPiA+ID4gVGhpcyBzZXJpZXMgaXMgYmFzZWQgb24g QW51cCdzIEFJQSB2MTEgc2VyaWVzLiBTaW5jZSBBbnVwJ3MgQUlBIHYxMSBpcwo+ID4gPiA+IG5v dCBtZXJnZWQgeWV0IGFuZCBmaXJzdCB0aW1lIGludHJvZHVjaW5nIGZ3X2RldmxpbmssIGRlZmVy cmVkIHByb2JlIGFuZAo+ID4gPiA+IHJlb3JkZXJpbmcgc3VwcG9ydCBmb3IgSVJRQ0hJUCBwcm9i ZSwgdGhpcyBzZXJpZXMgaXMgc3RpbGwga2VwdCBhcyBSRkMuCj4gPiA+ID4gTG9va2luZyBmb3J3 YXJkIGZvciB0aGUgZmVlZGJhY2shCj4gPiA+ID4KPiA+ID4gPiBDaGFuZ2VzIHNpbmNlIFJGQyB2 MjoKPiA+ID4gPiAgICAgICAgIDEpIEludHJvZHVjZWQgZndfZGV2bGluayBmb3IgQUNQSSBub2Rl cyBmb3IgSVJRIGRlcGVuZGVuY3kuCj4gPiA+ID4gICAgICAgICAyKSBEcm9wcGVkIHBhdGNoZXMg aW4gZHJpdmVycyB3aGljaCBhcmUgbm90IHJlcXVpcmVkIGR1ZSB0bwo+ID4gPiA+ICAgICAgICAg ICAgZndfZGV2bGluayBzdXBwb3J0Lgo+ID4gPiA+ICAgICAgICAgMykgRHJvcHBlZCBwY2lfc2V0 X21zaSgpIHBhdGNoIGFuZCBhZGRlZCBhIHBhdGNoIGluCj4gPiA+ID4gICAgICAgICAgICBwY2lf Y3JlYXRlX3Jvb3RfYnVzKCkuCj4gPiA+ID4gICAgICAgICA0KSBVcGRhdGVkIHBucF9pcnEoKSBw YXRjaCBzbyB0aGF0IG5vbmUgb2YgdGhlIGFjdHVhbCBQTlAKPiA+ID4gPiAgICAgICAgICAgIGRy aXZlcnMgbmVlZCB0byBjaGFuZ2UuCj4gPiA+ID4KPiA+ID4gPiBDaGFuZ2VzIHNpbmNlIFJGQyB2 MToKPiA+ID4gPiAgICAgICAgIDEpIEFiYW5kb25lZCBzd25vZGUgYXBwcm9hY2ggYXMgcGVyIE1h cmMncyBmZWVkYmFjay4KPiA+ID4gPiAgICAgICAgIDIpIFRvIGNvcGUgdXAgd2l0aCBBSUEgc2Vy aWVzIGNoYW5nZXMgd2hpY2ggY2hhbmdlZCBpcnFjaGlwIGRyaXZlcgo+ID4gPiA+ICAgICAgICAg ICAgcHJvYmUgZnJvbSBjb3JlX2luaXRjYWxsKCkgdG8gcGxhdGZvcm1fZHJpdmVyLCBhZGRlZCBw YXRjaGVzCj4gPiA+ID4gICAgICAgICAgICB0byBzdXBwb3J0IGRlZmVycmVkIHByb2JpbmcuCj4g PiA+ID4gICAgICAgICAzKSBSZWJhc2VkIG9uIHRvcCBvZiBBbnVwJ3MgQUlBIHYxMSBhbmQgYWRk ZWQgdGFncy4KPiA+ID4gPgo+ID4gPiA+IFRvIHRlc3QgdGhlIHNlcmllcywKPiA+ID4gPgo+ID4g PiA+IDEpIFFlbXUgc2hvdWxkIGJlIGJ1aWx0IHVzaW5nIHRoZSByaXNjdl9hY3BpX2IyX3Y4IGJy YW5jaCBhdAo+ID4gPiA+IGh0dHBzOi8vZ2l0aHViLmNvbS92bHN1bmlsL3FlbXUuZ2l0Cj4gPiA+ ID4KPiA+ID4gPiAyKSBFREsyIHNob3VsZCBiZSBidWlsdCB1c2luZyB0aGUgaW5zdHJ1Y3Rpb25z IGF0Ogo+ID4gPiA+IGh0dHBzOi8vZ2l0aHViLmNvbS90aWFub2NvcmUvZWRrMi9ibG9iL21hc3Rl ci9Pdm1mUGtnL1Jpc2NWVmlydC9SRUFETUUubWQKPiA+ID4gPgo+ID4gPiA+IDMpIEJ1aWxkIExp bnV4IHVzaW5nIHRoaXMgc2VyaWVzIG9uIHRvcCBvZiBBbnVwJ3MgQUlBIHYxMSBzZXJpZXMuCj4g PiA+ID4KPiA+ID4gPiBSdW4gUWVtdToKPiA+ID4gPiBxZW11LXN5c3RlbS1yaXNjdjY0IFwKPiA+ ID4gPiAgLU0gdmlydCxwZmxhc2gwPXBmbGFzaDAscGZsYXNoMT1wZmxhc2gxLGFpYT1hcGxpYy1p bXNpYyBcCj4gPiA+ID4gIC1tIDJHIC1zbXAgOCBcCj4gPiA+ID4gIC1zZXJpYWwgbW9uOnN0ZGlv IFwKPiA+ID4gPiAgLWRldmljZSB2aXJ0aW8tZ3B1LXBjaSAtZnVsbC1zY3JlZW4gXAo+ID4gPiA+ ICAtZGV2aWNlIHFlbXUteGhjaSBcCj4gPiA+ID4gIC1kZXZpY2UgdXNiLWtiZCBcCj4gPiA+ID4g IC1ibG9ja2RldiBub2RlLW5hbWU9cGZsYXNoMCxkcml2ZXI9ZmlsZSxyZWFkLW9ubHk9b24sZmls ZW5hbWU9UklTQ1ZfVklSVF9DT0RFLmZkIFwKPiA+ID4gPiAgLWJsb2NrZGV2IG5vZGUtbmFtZT1w Zmxhc2gxLGRyaXZlcj1maWxlLGZpbGVuYW1lPVJJU0NWX1ZJUlRfVkFSUy5mZCBcCj4gPiA+ID4g IC1uZXRkZXYgdXNlcixpZD1uZXQwIC1kZXZpY2UgdmlydGlvLW5ldC1wY2ksbmV0ZGV2PW5ldDAg XAo+ID4gPiA+ICAta2VybmVsIGFyY2gvcmlzY3YvYm9vdC9JbWFnZSBcCj4gPiA+ID4gIC1pbml0 cmQgcm9vdGZzLmNwaW8gXAo+ID4gPiA+ICAtYXBwZW5kICJyb290PS9kZXYvcmFtIHJvIGNvbnNv bGU9dHR5UzAgcm9vdHdhaXQgZWFybHljb249dWFydDgyNTAsbW1pbywweDEwMDAwMDAwIgo+ID4g PiA+Cj4gPiA+ID4gVG8gYm9vdCB3aXRoIEFQTElDIG9ubHksIHVzZSBhaWE9YXBsaWMuCj4gPiA+ ID4gVG8gYm9vdCB3aXRoIFBMSUMsIHJlbW92ZSBhaWE9IG9wdGlvbi4KPiA+ID4gPgo+ID4gPiA+ IFRoaXMgc2VyaWVzIGlzIGFsc28gYXZhaWxhYmxlIGluIGFjcGlfYjJfdjNfcmlzY3ZfYWlhX3Yx MSBicmFuY2ggYXQKPiA+ID4gPiBodHRwczovL2dpdGh1Yi5jb20vdmxzdW5pbC9saW51eC5naXQK PiA+ID4gPgo+ID4gPiA+IEJhc2VkLW9uOiAyMDIzMTAyMzE3MjgwMC4zMTUzNDMtMS1hcGF0ZWxA dmVudGFuYW1pY3JvLmNvbQo+ID4gPiA+IChodHRwczovL2xvcmUua2VybmVsLm9yZy9sa21sLzIw MjMxMDIzMTcyODAwLjMxNTM0My0xLWFwYXRlbEB2ZW50YW5hbWljcm8uY29tLykKPiA+ID4gPgo+ ID4gPiA+IFN1bmlsIFYgTCAoMTcpOgo+ID4gPiA+ICAgYXJtNjQ6IFBDSTogTWlncmF0ZSBBQ1BJ IHJlbGF0ZWQgZnVuY3Rpb25zIHRvIHBjaS1hY3BpLmMKPiA+ID4gPiAgIFJJU0MtVjogQUNQSTog SW1wbGVtZW50IFBDSSByZWxhdGVkIGZ1bmN0aW9uYWxpdHkKPiA+ID4gPiAgIFBDSTogTWFrZSBw Y2lfY3JlYXRlX3Jvb3RfYnVzKCkgZGVjbGFyZSBpdHMgcmVsaWFuY2Ugb24gTVNJIGRvbWFpbnMK PiA+ID4gPiAgIEFDUEk6IEFkZCBmd19kZXZsaW5rIHN1cHBvcnQgZm9yIEFDUEkgZndub2RlIGZv ciBJUlEgZGVwZW5kZW5jeQo+ID4gPiA+ICAgQUNQSTogaXJxOiBBZGQgc3VwcG9ydCBmb3IgZGVm ZXJyZWQgcHJvYmUgaW4gYWNwaV9yZWdpc3Rlcl9nc2koKQo+ID4gPiA+ICAgcG5wLmg6IFJlY29u ZmlndXJlIElSUSBpbiBwbnBfaXJxKCkgdG8gc3VwcG9ydCBkZWZlcnJlZCBwcm9iZQo+ID4gPiA+ ICAgQUNQSTogc2Nhbi5jOiBBZGQgd2VhayBhcmNoIHNwZWNpZmljIGZ1bmN0aW9uIHRvIHJlb3Jk ZXIgdGhlIElSUUNISVAKPiA+ID4gPiAgICAgcHJvYmUKPiA+ID4gPiAgIEFDUEk6IFJJU0MtVjog SW1wbGVtZW50IGFyY2ggZnVuY3Rpb24gdG8gcmVvcmRlciBpcnFjaGlwIHByb2JlIGVudHJpZXMK PiA+ID4gPiAgIGlycWNoaXA6IHJpc2N2LWludGM6IEFkZCBBQ1BJIHN1cHBvcnQgZm9yIEFJQQo+ ID4gPiA+ICAgaXJxY2hpcDogcmlzY3YtaW1zaWM6IEFkZCBBQ1BJIHN1cHBvcnQKPiA+ID4gPiAg IGlycWNoaXA6IHJpc2N2LWFwbGljOiBBZGQgQUNQSSBzdXBwb3J0Cj4gPiA+ID4gICBpcnFjaGlw OiBpcnEtc2lmaXZlLXBsaWM6IEFkZCBBQ1BJIHN1cHBvcnQKPiA+ID4gPiAgIEFDUEk6IGJ1czog QWRkIFJJTlRDIElSUSBtb2RlbCBmb3IgUklTQy1WCj4gPiA+ID4gICBBQ1BJOiBidXM6IEFkZCBh Y3BpX3Jpc2N2X2luaXQgZnVuY3Rpb24KPiA+ID4gPiAgIEFDUEk6IFJJU0MtVjogQ3JlYXRlIEFQ TElDIHBsYXRmb3JtIGRldmljZQo+ID4gPiA+ICAgQUNQSTogUklTQy1WOiBDcmVhdGUgUExJQyBw bGF0Zm9ybSBkZXZpY2UKPiA+ID4gPiAgIGlycWNoaXA6IHJpc2N2LWludGM6IFNldCBBQ1BJIGly cW1vZGVsCj4gPiA+Cj4gPiA+IEpGWUksIEkgaGF2ZSBubyBjYXBhY2l0eSB0byBwcm92aWRlIGFu eSBmZWVkYmFjayBvbiB0aGlzIHRpbGwgNi44LXJjMSBpcyBvdXQuCj4gPiA+Cj4gPiBIaSBSYWZh ZWwsCj4gPgo+ID4gR2VudGxlIHBpbmcuCj4gPgo+ID4gQ291bGQgeW91IHBsZWFzZSBwcm92aWRl IGZlZWRiYWNrIG9uIHRoZSBzZXJpZXM/IFBhdGNoZXMgNCwgNSwgNiwgNyBhbmQKPiA+IDggYXJl IGJpdCBjcml0aWNhbCBJTU8uIFNvLCBJIHJlYWxseSBsb29rIGZvcndhcmQgZm9yIHlvdXIgYW5k IG90aGVyCj4gPiBBQ1BJIGV4cGVydHMhLgo+IAo+IFRoZXJlIHdhcyBxdWl0ZSBhIGJpdCBvZiBk aXNjdXNzaW9uIG9uIHBhdGNoIFs2LzIxXSBhbmQgaXQgc3RpbGwgc2VlbXMKPiByZWxldmFudCB0 byBtZS4KPiAKPiBBQ1BJIGFjdHVhbGx5IGhhcyBhIHdheSB0byBhdCBsZWFzdCBpbmRpY2F0ZSB3 aGF0IHRoZSBwcm9iZSBvcmRlcmluZwo+IHNob3VsZCBiZSB3aGljaCBpcyBfREVQLgo+IAo+IFRo ZSBjdXJyZW50IGhhbmRsaW5nIG9mIF9ERVAgaW4gdGhlIGtlcm5lbCBtYXkgbm90IGJlIGNvdmVy aW5nIHRoaXMKPiBwYXJ0aWN1bGFyIHVzZSBjYXNlLCBidXQgSSB3b3VsZCByYXRoZXIgZXh0ZW5k IGl0IChpZiBuZWNlc3NhcnkpCj4gaW5zdGVhZCBvZiBkb2luZyBhbGwgb2YgdGhlIC1FUFJPQkVf REVGRVIgZGFuY2Ugd2hpY2ggc2VlbXMgZnJhZ2lsZSB0bwo+IG1lLgo+IApIaSBSYWZhZWwsICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCkkg Zm91bmQgdGhhdCBfREVQIGlzIGJldHRlciB0aGFuIGZ3X2RldmxpbmsgZm9yIEFDUEkgc2luY2Ug aXQgd29ya3MgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIApkdXJpbmcgc2NhbiBpdHNlbGYuIEZvciBl eDogdGhlIHdheSBQQ0kgaG9zdCBicmlkZ2VzIGFyZSBzY2FubmVkIGluICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAKQUNQSSwgUE5QIGRldmljZSBoYW5kbGluZy4gV2hpbGUgc29tZSBoYWNreSBzb2x1 dGlvbiBjb3VsZCBiZSBkb25lIGxpa2UgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCkkgZGlkIGluIHYzIChw bnBfaXJxKCkgY2hhbmdlcyksIF9ERVAgd2F5IHNlZW1zIG11Y2ggYmV0dGVyLiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKU28s IHdlIGRlY2lkZWQgdG8gZ28gd2l0aCB5b3VyIHN1Z2dlc3RlZCBhcHByb2FjaCBhbmQgZGVmaW5l ZCBuYW1lc3BhY2UgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCmRldmljZXMgZm9yIFBMSUMgYW5kIEFQTElD IHJlcXVpcmVkIHRvIGNyZWF0ZSBkZXBlbmRlbmN5IG1lY2hhbmlzbS4gICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIApIb3dldmVyLCB0aGVyZSBhcmUgY29uY2VybnMgdGhhdCBldmVyeSBkZXZpY2Ugd2ls bCBoYXZlIHRvIGFkZCBfREVQIG5vdyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKYW5kIHdoZXRoZXIgaXQg aXMgaW50ZW5kZWQgZm9yIHRoaXMgdXNlIGNhc2UuIEFsc28sIGFjdHVhbGx5IHRoZSAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgCmRlcGVuZGVuY3kgaXMgYWxyZWFkeSBhdmFpbGFibGUgaW4gdGhl IGZvcm0gb2YgR1NJIG51bWJlciBtYXBwaW5nLiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIApIZW5j ZSwgaW5zdGVhZCBvZiBleHBsaWNpdCBkZXBlbmRlbmN5LCB3ZSB3b3VsZCBsaWtlIHRvIGNyZWF0 ZSBpbXBsaWNpdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKZGVwZW5kZW5jeS4gU28sIEkgd2lsbCBzZW5k IFJGQyB2NCBzZXJpZXMgd2l0aCB0aG9zZSBjaGFuZ2VzLiBQbGVhc2UgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgCmhlbHAgdXMgd2l0aCBmZWVkYmFjay4gSWYgeW91IGNvdWxkIHByb3ZpZGUgcXVpY2sg aGlnaCBsZXZlbCBnby9uby1nbywgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAp0aGF0IHdpbGwgaGVscCB1 cyBhIGxvdCBzaW5jZSB3ZSBuZWVkIHRvIGZpbmFsaXplIHRoZSBzcGVjIHdoZXRoZXIgdG8gICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAKbWFuZGF0ZSBfREVQIG9yIG5vdC4gICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIApJIHJlcXVlc3QgeW91IHRvIHByb3ZpZGUgc29t ZSBoaWdoIGxldmVsIGZlZWRiYWNrIGluIHRoZSBSRkMgdjQgSSBhbSAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAKZ29pbmcgdG8gc2VuZC4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIAoxKSBDcmVhdGlvbiBvZiBpbXBsaWNpdCBkZXBlbmRlbmN5LiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKMikgSGFu ZGxpbmcgUE5QIGRldmljZXMgYXMgcGFydCBvZiBjbGVhcmluZyBkZXBlbmRlbmN5ICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgCjMpIElSUUNISVAgcHJvYmluZyByZW9yZGVyaW5n IHdoZW4gdGhlcmUgYXJlIG11bHRpcGxlIGlycWNoaXBzLiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKVGhhbmtzLCAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgClN1bmlsICAgICAgICAgICAgICAgICAgCgpfX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpsaW51eC1yaXNjdiBtYWlsaW5nIGxpc3QK bGludXgtcmlzY3ZAbGlzdHMuaW5mcmFkZWFkLm9yZwpodHRwOi8vbGlzdHMuaW5mcmFkZWFkLm9y Zy9tYWlsbWFuL2xpc3RpbmZvL2xpbnV4LXJpc2N2Cg== 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 9CFB1C4345F for ; Mon, 15 Apr 2024 15:10:18 +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=pCyrRJtw1cC1WpMpCz9AmQpA1TqdtYv9iaphPzLQCL4=; b=PZGetWKRCcYE7Z +VDEExz1C5Eyb0PTAq5SavO0dvAnt1Kju49a5QRBI8v7xTpdXv7206YiSwvra+S2O6qCW3A9S7yl9 ZZo/dMhq8jMrcs9fT2K+nDo+ICol5upkyJyqBjguuH5cgZPAO/n9++4Wup8csfG3yQS/RZjPHYOTD 45kNdF1eMGJIwBDmc08gISHEzsDP2SAfuiLRofmyF6eKJxO5wWviKLbLItiKM4fsvzujmygfMujfC zfzqsnMBEOAoGz3R/3yk90jd1sPk3VzvFVtymg7/+P+60LwItyonZEP9cvWU5gp3of/ShCwAzkUyA LvUSzRW/Zm+DE8q9lBng==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.97.1 #2 (Red Hat Linux)) id 1rwNyD-00000008pn6-14lY; Mon, 15 Apr 2024 15:10:09 +0000 Received: from mail-pl1-x636.google.com ([2607:f8b0:4864:20::636]) by bombadil.infradead.org with esmtps (Exim 4.97.1 #2 (Red Hat Linux)) id 1rwNy7-00000008plP-1HA8 for linux-arm-kernel@lists.infradead.org; Mon, 15 Apr 2024 15:10:07 +0000 Received: by mail-pl1-x636.google.com with SMTP id d9443c01a7336-1e4c4fb6af3so17573095ad.0 for ; Mon, 15 Apr 2024 08:10:00 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ventanamicro.com; s=google; t=1713193800; x=1713798600; 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=KUTjRYw2QSF7yq7TkGCMX42B7x4BBoP+ynBiomiZSA8=; b=TN7h3MRYG4G7KM0yCD95fEDt6YsDYouLfN2M0Z+SmEmuNxP24CZbXENlhViAjyalN2 pRtRZ2eS8LbV/PWH6hgsavCX3IXTYwdD6S6BOdL+LcO6RpFE+oF/M97fmrfBU+GYPIuk jASz4ly+lzHm8cvgAwxRpw7leS0gCDSOdNsbb/BtTeHerT+yWgJjreEC2TtwhLczQkyo gzsPtRna5kfNUWoXm5CJeGBaMOnd1IFsZt6zm5IbF0S212wQxg1p1oxY0TgdqfwMNgBe zN0HyZ7w5vgtbRCYXx3x0HrD5mJimbAm8IL/YPT7v7qnANK+aF97bBhvQQuoa5Lm1wXP 5GXw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1713193800; x=1713798600; 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=KUTjRYw2QSF7yq7TkGCMX42B7x4BBoP+ynBiomiZSA8=; b=vJqhUfbhIW3eCeZIR//JKlO9OWFtlwq65fEMvFDO7d25b7e8oqk3abrXdQSkBFtFl9 yTma45vdhgjcs3lQ7oI99x+W8QkF/REuFl0fAFZTgKi5ElwokshAz27gh+CDReH5qcd9 ICBFdU6kqMyeKLLUQEucEFSBO/dplMNc08gyA61laRVeCBtZPQwQlIgzN8rDENBf7mWU SI7m6NNptTUwqndlgqagA+UPnwW9igqlZ5Avou7qUgdKbSlneJeg8P2SORdUrkamTq7k IsWQmwzJ14cbAYYMTaTbQ86imDfpXkoN9hdFVYhtGpooqd9Qf3K/0nvBUPofNEiiM6Zj d1PQ== X-Gm-Message-State: AOJu0YxzEXxSwUlKyPhDQwwJI13D7NtJQX0eLKOSZNLiOCwH0jz+LMxS ueD57PrAs0WKMBpSgnqd1XyhJTilceriuLrg5jHHyoVeeQNGnsRnNgiDltsxHrQVZQ+6OkbcsCm hTqI= X-Google-Smtp-Source: AGHT+IGn7pZ58bJwCSsiauIBDNVX2UFdCiTs5jbjy2Z3dKH6jKEfU0xiZ2+wL5xBe2lNgZ7BIAy5FQ== X-Received: by 2002:a17:903:2303:b0:1e2:bb09:6270 with SMTP id d3-20020a170903230300b001e2bb096270mr13204613plh.28.1713193800102; Mon, 15 Apr 2024 08:10:00 -0700 (PDT) Received: from sunil-laptop ([106.51.187.230]) by smtp.gmail.com with ESMTPSA id 4-20020a170902c24400b001dd578121d4sm8030488plg.204.2024.04.15.08.09.54 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 15 Apr 2024 08:09:59 -0700 (PDT) Date: Mon, 15 Apr 2024 20:39:51 +0530 From: Sunil V L To: "Rafael J. Wysocki" Cc: linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, linux-riscv@lists.infradead.org, linux-acpi@vger.kernel.org, linux-pci@vger.kernel.org, Catalin Marinas , Will Deacon , Paul Walmsley , Palmer Dabbelt , Albert Ou , Len Brown , Anup Patel , Thomas Gleixner , Bjorn Helgaas , Haibo Xu , Conor Dooley , Andrew Jones , =?utf-8?B?QmrDtnJuIFTDtnBlbA==?= , Marc Zyngier Subject: Re: [RFC PATCH v3 00/17] RISC-V: ACPI: Add external interrupt controller support Message-ID: References: <20231219174526.2235150-1-sunilvl@ventanamicro.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-20240415_081003_360311_4F500E74 X-CRM114-Status: GOOD ( 43.94 ) 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 T24gVGh1LCBGZWIgMDEsIDIwMjQgYXQgMDc6MTA6MjhQTSArMDEwMCwgUmFmYWVsIEouIFd5c29j a2kgd3JvdGU6Cj4gT24gVHVlLCBKYW4gMzAsIDIwMjQgYXQgNzowMuKAr0FNIFN1bmlsIFYgTCA8 c3VuaWx2bEB2ZW50YW5hbWljcm8uY29tPiB3cm90ZToKPiA+Cj4gPiBPbiBUdWUsIERlYyAxOSwg MjAyMyBhdCAwNjo1MDoxOVBNICswMTAwLCBSYWZhZWwgSi4gV3lzb2NraSB3cm90ZToKPiA+ID4g T24gVHVlLCBEZWMgMTksIDIwMjMgYXQgNjo0NeKAr1BNIFN1bmlsIFYgTCA8c3VuaWx2bEB2ZW50 YW5hbWljcm8uY29tPiB3cm90ZToKPiA+ID4gPgo+ID4gPiA+IFRoaXMgc2VyaWVzIGFkZHMgc3Vw cG9ydCBmb3IgdGhlIGJlbG93IEVDUiBhcHByb3ZlZCBieSBBU1dHLgo+ID4gPiA+IDEpIE1BRFQg LSBodHRwczovL2RyaXZlLmdvb2dsZS5jb20vZmlsZS9kLzFvTUdQeU9ENThKYVBnTWwxcEthc1Qt VktzSUtpYTd6Ui92aWV3P3VzcD1zaGFyaW5nCj4gPiA+ID4KPiA+ID4gPiBUaGUgc2VyaWVzIHBy aW1hcmlseSBlbmFibGVzIGlycWNoaXAgZHJpdmVycyBmb3IgUklTQy1WIEFDUEkgYmFzZWQKPiA+ ID4gPiBwbGF0Zm9ybXMuCj4gPiA+ID4KPiA+ID4gPiBUaGUgc2VyaWVzIGNhbiBiZSBicm9hZGx5 IGNhdGVnb3JpemVkIGxpa2UgYmVsb3cuCj4gPiA+ID4KPiA+ID4gPiAxKSBQQ0kgQUNQSSByZWxh dGVkIGZ1bmN0aW9ucyBhcmUgbWlncmF0ZWQgZnJvbSBhcm02NCB0byBjb21tb24gZmlsZSBzbwo+ ID4gPiA+IHRoYXQgd2UgZG9uJ3QgbmVlZCB0byBkdXBsaWNhdGUgdGhlbSBmb3IgUklTQy1WLgo+ ID4gPiA+Cj4gPiA+ID4gMikgSW50cm9kdWNlZCBzdXBwb3J0IGZvciBmd19kZXZsaW5rIGZvciBB Q1BJIG5vZGVzIGZvciBJUlEgZGVwZW5kZW5jeS4KPiA+ID4gPiBUaGlzIGhlbHBzIHRvIHN1cHBv cnQgZGVmZXJyZWQgcHJvYmUgb2YgaW50ZXJydXB0IGNvbnRyb2xsZXIgZHJpdmVycy4KPiA+ID4g Pgo+ID4gPiA+IDMpIE1vZGlmaWVkIHBucF9pcnEoKSB0byB0cnkgcmVnaXN0ZXJpbmcgdGhlIElS USAgYWdhaW4gaWYgaXQgc2VlcyBpdCBpbgo+ID4gPiA+IGRpc2FibGVkIHN0YXRlLiBUaGlzIHNv bHV0aW9uIGlzIHNpbWlsYXIgdG8gaG93Cj4gPiA+ID4gcGxhdGZvcm1fZ2V0X2lycV9vcHRpb25h bCgpIHdvcmtzIGZvciByZWd1bGFyIHBsYXRmb3JtIGRldmljZXMuCj4gPiA+ID4KPiA+ID4gPiA0 KSBBZGRlZCBzdXBwb3J0IGZvciByZS1vcmRlcmluZyB0aGUgcHJvYmUgb2YgaW50ZXJydXB0IGNv bnRyb2xsZXJzIHdoZW4KPiA+ID4gPiBJUlFDSElQX0FDUElfREVDTEFSRSBpcyB1c2VkLgo+ID4g PiA+Cj4gPiA+ID4gNSkgQUNQSSBzdXBwb3J0IGFkZGVkIGluIFJJU0MtViBpbnRlcnJ1cHQgY29u dHJvbGxlciBkcml2ZXJzLgo+ID4gPiA+Cj4gPiA+ID4gVGhpcyBzZXJpZXMgaXMgYmFzZWQgb24g QW51cCdzIEFJQSB2MTEgc2VyaWVzLiBTaW5jZSBBbnVwJ3MgQUlBIHYxMSBpcwo+ID4gPiA+IG5v dCBtZXJnZWQgeWV0IGFuZCBmaXJzdCB0aW1lIGludHJvZHVjaW5nIGZ3X2RldmxpbmssIGRlZmVy cmVkIHByb2JlIGFuZAo+ID4gPiA+IHJlb3JkZXJpbmcgc3VwcG9ydCBmb3IgSVJRQ0hJUCBwcm9i ZSwgdGhpcyBzZXJpZXMgaXMgc3RpbGwga2VwdCBhcyBSRkMuCj4gPiA+ID4gTG9va2luZyBmb3J3 YXJkIGZvciB0aGUgZmVlZGJhY2shCj4gPiA+ID4KPiA+ID4gPiBDaGFuZ2VzIHNpbmNlIFJGQyB2 MjoKPiA+ID4gPiAgICAgICAgIDEpIEludHJvZHVjZWQgZndfZGV2bGluayBmb3IgQUNQSSBub2Rl cyBmb3IgSVJRIGRlcGVuZGVuY3kuCj4gPiA+ID4gICAgICAgICAyKSBEcm9wcGVkIHBhdGNoZXMg aW4gZHJpdmVycyB3aGljaCBhcmUgbm90IHJlcXVpcmVkIGR1ZSB0bwo+ID4gPiA+ICAgICAgICAg ICAgZndfZGV2bGluayBzdXBwb3J0Lgo+ID4gPiA+ICAgICAgICAgMykgRHJvcHBlZCBwY2lfc2V0 X21zaSgpIHBhdGNoIGFuZCBhZGRlZCBhIHBhdGNoIGluCj4gPiA+ID4gICAgICAgICAgICBwY2lf Y3JlYXRlX3Jvb3RfYnVzKCkuCj4gPiA+ID4gICAgICAgICA0KSBVcGRhdGVkIHBucF9pcnEoKSBw YXRjaCBzbyB0aGF0IG5vbmUgb2YgdGhlIGFjdHVhbCBQTlAKPiA+ID4gPiAgICAgICAgICAgIGRy aXZlcnMgbmVlZCB0byBjaGFuZ2UuCj4gPiA+ID4KPiA+ID4gPiBDaGFuZ2VzIHNpbmNlIFJGQyB2 MToKPiA+ID4gPiAgICAgICAgIDEpIEFiYW5kb25lZCBzd25vZGUgYXBwcm9hY2ggYXMgcGVyIE1h cmMncyBmZWVkYmFjay4KPiA+ID4gPiAgICAgICAgIDIpIFRvIGNvcGUgdXAgd2l0aCBBSUEgc2Vy aWVzIGNoYW5nZXMgd2hpY2ggY2hhbmdlZCBpcnFjaGlwIGRyaXZlcgo+ID4gPiA+ICAgICAgICAg ICAgcHJvYmUgZnJvbSBjb3JlX2luaXRjYWxsKCkgdG8gcGxhdGZvcm1fZHJpdmVyLCBhZGRlZCBw YXRjaGVzCj4gPiA+ID4gICAgICAgICAgICB0byBzdXBwb3J0IGRlZmVycmVkIHByb2JpbmcuCj4g PiA+ID4gICAgICAgICAzKSBSZWJhc2VkIG9uIHRvcCBvZiBBbnVwJ3MgQUlBIHYxMSBhbmQgYWRk ZWQgdGFncy4KPiA+ID4gPgo+ID4gPiA+IFRvIHRlc3QgdGhlIHNlcmllcywKPiA+ID4gPgo+ID4g PiA+IDEpIFFlbXUgc2hvdWxkIGJlIGJ1aWx0IHVzaW5nIHRoZSByaXNjdl9hY3BpX2IyX3Y4IGJy YW5jaCBhdAo+ID4gPiA+IGh0dHBzOi8vZ2l0aHViLmNvbS92bHN1bmlsL3FlbXUuZ2l0Cj4gPiA+ ID4KPiA+ID4gPiAyKSBFREsyIHNob3VsZCBiZSBidWlsdCB1c2luZyB0aGUgaW5zdHJ1Y3Rpb25z IGF0Ogo+ID4gPiA+IGh0dHBzOi8vZ2l0aHViLmNvbS90aWFub2NvcmUvZWRrMi9ibG9iL21hc3Rl ci9Pdm1mUGtnL1Jpc2NWVmlydC9SRUFETUUubWQKPiA+ID4gPgo+ID4gPiA+IDMpIEJ1aWxkIExp bnV4IHVzaW5nIHRoaXMgc2VyaWVzIG9uIHRvcCBvZiBBbnVwJ3MgQUlBIHYxMSBzZXJpZXMuCj4g PiA+ID4KPiA+ID4gPiBSdW4gUWVtdToKPiA+ID4gPiBxZW11LXN5c3RlbS1yaXNjdjY0IFwKPiA+ ID4gPiAgLU0gdmlydCxwZmxhc2gwPXBmbGFzaDAscGZsYXNoMT1wZmxhc2gxLGFpYT1hcGxpYy1p bXNpYyBcCj4gPiA+ID4gIC1tIDJHIC1zbXAgOCBcCj4gPiA+ID4gIC1zZXJpYWwgbW9uOnN0ZGlv IFwKPiA+ID4gPiAgLWRldmljZSB2aXJ0aW8tZ3B1LXBjaSAtZnVsbC1zY3JlZW4gXAo+ID4gPiA+ ICAtZGV2aWNlIHFlbXUteGhjaSBcCj4gPiA+ID4gIC1kZXZpY2UgdXNiLWtiZCBcCj4gPiA+ID4g IC1ibG9ja2RldiBub2RlLW5hbWU9cGZsYXNoMCxkcml2ZXI9ZmlsZSxyZWFkLW9ubHk9b24sZmls ZW5hbWU9UklTQ1ZfVklSVF9DT0RFLmZkIFwKPiA+ID4gPiAgLWJsb2NrZGV2IG5vZGUtbmFtZT1w Zmxhc2gxLGRyaXZlcj1maWxlLGZpbGVuYW1lPVJJU0NWX1ZJUlRfVkFSUy5mZCBcCj4gPiA+ID4g IC1uZXRkZXYgdXNlcixpZD1uZXQwIC1kZXZpY2UgdmlydGlvLW5ldC1wY2ksbmV0ZGV2PW5ldDAg XAo+ID4gPiA+ICAta2VybmVsIGFyY2gvcmlzY3YvYm9vdC9JbWFnZSBcCj4gPiA+ID4gIC1pbml0 cmQgcm9vdGZzLmNwaW8gXAo+ID4gPiA+ICAtYXBwZW5kICJyb290PS9kZXYvcmFtIHJvIGNvbnNv bGU9dHR5UzAgcm9vdHdhaXQgZWFybHljb249dWFydDgyNTAsbW1pbywweDEwMDAwMDAwIgo+ID4g PiA+Cj4gPiA+ID4gVG8gYm9vdCB3aXRoIEFQTElDIG9ubHksIHVzZSBhaWE9YXBsaWMuCj4gPiA+ ID4gVG8gYm9vdCB3aXRoIFBMSUMsIHJlbW92ZSBhaWE9IG9wdGlvbi4KPiA+ID4gPgo+ID4gPiA+ IFRoaXMgc2VyaWVzIGlzIGFsc28gYXZhaWxhYmxlIGluIGFjcGlfYjJfdjNfcmlzY3ZfYWlhX3Yx MSBicmFuY2ggYXQKPiA+ID4gPiBodHRwczovL2dpdGh1Yi5jb20vdmxzdW5pbC9saW51eC5naXQK PiA+ID4gPgo+ID4gPiA+IEJhc2VkLW9uOiAyMDIzMTAyMzE3MjgwMC4zMTUzNDMtMS1hcGF0ZWxA dmVudGFuYW1pY3JvLmNvbQo+ID4gPiA+IChodHRwczovL2xvcmUua2VybmVsLm9yZy9sa21sLzIw MjMxMDIzMTcyODAwLjMxNTM0My0xLWFwYXRlbEB2ZW50YW5hbWljcm8uY29tLykKPiA+ID4gPgo+ ID4gPiA+IFN1bmlsIFYgTCAoMTcpOgo+ID4gPiA+ICAgYXJtNjQ6IFBDSTogTWlncmF0ZSBBQ1BJ IHJlbGF0ZWQgZnVuY3Rpb25zIHRvIHBjaS1hY3BpLmMKPiA+ID4gPiAgIFJJU0MtVjogQUNQSTog SW1wbGVtZW50IFBDSSByZWxhdGVkIGZ1bmN0aW9uYWxpdHkKPiA+ID4gPiAgIFBDSTogTWFrZSBw Y2lfY3JlYXRlX3Jvb3RfYnVzKCkgZGVjbGFyZSBpdHMgcmVsaWFuY2Ugb24gTVNJIGRvbWFpbnMK PiA+ID4gPiAgIEFDUEk6IEFkZCBmd19kZXZsaW5rIHN1cHBvcnQgZm9yIEFDUEkgZndub2RlIGZv ciBJUlEgZGVwZW5kZW5jeQo+ID4gPiA+ICAgQUNQSTogaXJxOiBBZGQgc3VwcG9ydCBmb3IgZGVm ZXJyZWQgcHJvYmUgaW4gYWNwaV9yZWdpc3Rlcl9nc2koKQo+ID4gPiA+ICAgcG5wLmg6IFJlY29u ZmlndXJlIElSUSBpbiBwbnBfaXJxKCkgdG8gc3VwcG9ydCBkZWZlcnJlZCBwcm9iZQo+ID4gPiA+ ICAgQUNQSTogc2Nhbi5jOiBBZGQgd2VhayBhcmNoIHNwZWNpZmljIGZ1bmN0aW9uIHRvIHJlb3Jk ZXIgdGhlIElSUUNISVAKPiA+ID4gPiAgICAgcHJvYmUKPiA+ID4gPiAgIEFDUEk6IFJJU0MtVjog SW1wbGVtZW50IGFyY2ggZnVuY3Rpb24gdG8gcmVvcmRlciBpcnFjaGlwIHByb2JlIGVudHJpZXMK PiA+ID4gPiAgIGlycWNoaXA6IHJpc2N2LWludGM6IEFkZCBBQ1BJIHN1cHBvcnQgZm9yIEFJQQo+ ID4gPiA+ICAgaXJxY2hpcDogcmlzY3YtaW1zaWM6IEFkZCBBQ1BJIHN1cHBvcnQKPiA+ID4gPiAg IGlycWNoaXA6IHJpc2N2LWFwbGljOiBBZGQgQUNQSSBzdXBwb3J0Cj4gPiA+ID4gICBpcnFjaGlw OiBpcnEtc2lmaXZlLXBsaWM6IEFkZCBBQ1BJIHN1cHBvcnQKPiA+ID4gPiAgIEFDUEk6IGJ1czog QWRkIFJJTlRDIElSUSBtb2RlbCBmb3IgUklTQy1WCj4gPiA+ID4gICBBQ1BJOiBidXM6IEFkZCBh Y3BpX3Jpc2N2X2luaXQgZnVuY3Rpb24KPiA+ID4gPiAgIEFDUEk6IFJJU0MtVjogQ3JlYXRlIEFQ TElDIHBsYXRmb3JtIGRldmljZQo+ID4gPiA+ICAgQUNQSTogUklTQy1WOiBDcmVhdGUgUExJQyBw bGF0Zm9ybSBkZXZpY2UKPiA+ID4gPiAgIGlycWNoaXA6IHJpc2N2LWludGM6IFNldCBBQ1BJIGly cW1vZGVsCj4gPiA+Cj4gPiA+IEpGWUksIEkgaGF2ZSBubyBjYXBhY2l0eSB0byBwcm92aWRlIGFu eSBmZWVkYmFjayBvbiB0aGlzIHRpbGwgNi44LXJjMSBpcyBvdXQuCj4gPiA+Cj4gPiBIaSBSYWZh ZWwsCj4gPgo+ID4gR2VudGxlIHBpbmcuCj4gPgo+ID4gQ291bGQgeW91IHBsZWFzZSBwcm92aWRl IGZlZWRiYWNrIG9uIHRoZSBzZXJpZXM/IFBhdGNoZXMgNCwgNSwgNiwgNyBhbmQKPiA+IDggYXJl IGJpdCBjcml0aWNhbCBJTU8uIFNvLCBJIHJlYWxseSBsb29rIGZvcndhcmQgZm9yIHlvdXIgYW5k IG90aGVyCj4gPiBBQ1BJIGV4cGVydHMhLgo+IAo+IFRoZXJlIHdhcyBxdWl0ZSBhIGJpdCBvZiBk aXNjdXNzaW9uIG9uIHBhdGNoIFs2LzIxXSBhbmQgaXQgc3RpbGwgc2VlbXMKPiByZWxldmFudCB0 byBtZS4KPiAKPiBBQ1BJIGFjdHVhbGx5IGhhcyBhIHdheSB0byBhdCBsZWFzdCBpbmRpY2F0ZSB3 aGF0IHRoZSBwcm9iZSBvcmRlcmluZwo+IHNob3VsZCBiZSB3aGljaCBpcyBfREVQLgo+IAo+IFRo ZSBjdXJyZW50IGhhbmRsaW5nIG9mIF9ERVAgaW4gdGhlIGtlcm5lbCBtYXkgbm90IGJlIGNvdmVy aW5nIHRoaXMKPiBwYXJ0aWN1bGFyIHVzZSBjYXNlLCBidXQgSSB3b3VsZCByYXRoZXIgZXh0ZW5k IGl0IChpZiBuZWNlc3NhcnkpCj4gaW5zdGVhZCBvZiBkb2luZyBhbGwgb2YgdGhlIC1FUFJPQkVf REVGRVIgZGFuY2Ugd2hpY2ggc2VlbXMgZnJhZ2lsZSB0bwo+IG1lLgo+IApIaSBSYWZhZWwsICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCkkg Zm91bmQgdGhhdCBfREVQIGlzIGJldHRlciB0aGFuIGZ3X2RldmxpbmsgZm9yIEFDUEkgc2luY2Ug aXQgd29ya3MgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIApkdXJpbmcgc2NhbiBpdHNlbGYuIEZvciBl eDogdGhlIHdheSBQQ0kgaG9zdCBicmlkZ2VzIGFyZSBzY2FubmVkIGluICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAKQUNQSSwgUE5QIGRldmljZSBoYW5kbGluZy4gV2hpbGUgc29tZSBoYWNreSBzb2x1 dGlvbiBjb3VsZCBiZSBkb25lIGxpa2UgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCkkgZGlkIGluIHYzIChw bnBfaXJxKCkgY2hhbmdlcyksIF9ERVAgd2F5IHNlZW1zIG11Y2ggYmV0dGVyLiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKU28s IHdlIGRlY2lkZWQgdG8gZ28gd2l0aCB5b3VyIHN1Z2dlc3RlZCBhcHByb2FjaCBhbmQgZGVmaW5l ZCBuYW1lc3BhY2UgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCmRldmljZXMgZm9yIFBMSUMgYW5kIEFQTElD IHJlcXVpcmVkIHRvIGNyZWF0ZSBkZXBlbmRlbmN5IG1lY2hhbmlzbS4gICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIApIb3dldmVyLCB0aGVyZSBhcmUgY29uY2VybnMgdGhhdCBldmVyeSBkZXZpY2Ugd2ls bCBoYXZlIHRvIGFkZCBfREVQIG5vdyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKYW5kIHdoZXRoZXIgaXQg aXMgaW50ZW5kZWQgZm9yIHRoaXMgdXNlIGNhc2UuIEFsc28sIGFjdHVhbGx5IHRoZSAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgCmRlcGVuZGVuY3kgaXMgYWxyZWFkeSBhdmFpbGFibGUgaW4gdGhl IGZvcm0gb2YgR1NJIG51bWJlciBtYXBwaW5nLiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIApIZW5j ZSwgaW5zdGVhZCBvZiBleHBsaWNpdCBkZXBlbmRlbmN5LCB3ZSB3b3VsZCBsaWtlIHRvIGNyZWF0 ZSBpbXBsaWNpdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKZGVwZW5kZW5jeS4gU28sIEkgd2lsbCBzZW5k IFJGQyB2NCBzZXJpZXMgd2l0aCB0aG9zZSBjaGFuZ2VzLiBQbGVhc2UgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgCmhlbHAgdXMgd2l0aCBmZWVkYmFjay4gSWYgeW91IGNvdWxkIHByb3ZpZGUgcXVpY2sg aGlnaCBsZXZlbCBnby9uby1nbywgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAp0aGF0IHdpbGwgaGVscCB1 cyBhIGxvdCBzaW5jZSB3ZSBuZWVkIHRvIGZpbmFsaXplIHRoZSBzcGVjIHdoZXRoZXIgdG8gICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAKbWFuZGF0ZSBfREVQIG9yIG5vdC4gICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIApJIHJlcXVlc3QgeW91IHRvIHByb3ZpZGUgc29t ZSBoaWdoIGxldmVsIGZlZWRiYWNrIGluIHRoZSBSRkMgdjQgSSBhbSAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAKZ29pbmcgdG8gc2VuZC4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIAoxKSBDcmVhdGlvbiBvZiBpbXBsaWNpdCBkZXBlbmRlbmN5LiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKMikgSGFu ZGxpbmcgUE5QIGRldmljZXMgYXMgcGFydCBvZiBjbGVhcmluZyBkZXBlbmRlbmN5ICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgCjMpIElSUUNISVAgcHJvYmluZyByZW9yZGVyaW5n IHdoZW4gdGhlcmUgYXJlIG11bHRpcGxlIGlycWNoaXBzLiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKVGhhbmtzLCAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgClN1bmlsICAgICAgICAgICAgICAgICAgCgpfX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpsaW51eC1hcm0ta2VybmVsIG1haWxpbmcg bGlzdApsaW51eC1hcm0ta2VybmVsQGxpc3RzLmluZnJhZGVhZC5vcmcKaHR0cDovL2xpc3RzLmlu ZnJhZGVhZC5vcmcvbWFpbG1hbi9saXN0aW5mby9saW51eC1hcm0ta2VybmVsCg==