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 vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id BA443C433EF for ; Wed, 1 Dec 2021 11:05:19 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1348853AbhLALIj (ORCPT ); Wed, 1 Dec 2021 06:08:39 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:55218 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229696AbhLALIg (ORCPT ); Wed, 1 Dec 2021 06:08:36 -0500 Received: from mail-wm1-x32a.google.com (mail-wm1-x32a.google.com [IPv6:2a00:1450:4864:20::32a]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 2299BC061574 for ; Wed, 1 Dec 2021 03:05:16 -0800 (PST) Received: by mail-wm1-x32a.google.com with SMTP id i12so20002958wmq.4 for ; Wed, 01 Dec 2021 03:05:16 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=vrull-eu.20210112.gappssmtp.com; s=20210112; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc:content-transfer-encoding; bh=cASmlE/JB8XT7AoAc4GGiejGFRxBBR3Z2l1jvd0xmpc=; b=BtGzNIy9PmQlXlgEzxeh57FOCRdQuG0SkVg/jurKCSC3Ub7cDvMiGLWB3z0F0JAPuy fnzSWhQl0oqLHKJyx0Vw3/kEvkYhyYKhL/3gN3Owq/odfOctCeN7h9lEl4paPS9PvqJS MWUnFIBGIkSnIH+CHB30zz8uEkTV9nswyQl9JM1a+CCRGc1fbuqb6lrVUtr++ElNGnrm m9X/wluqD3f6MSgSOPQjND/AIxhm/3dWOWvwzxj/jlUz26b1dbVhaCcqcUA6jN2wZbge fUJuUFMZdKoN3yTmJA1W1XGozuihvlRwDrBqKfs9AhckLyyS9MIYei+7OqaaUxToY7eh WB3A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc:content-transfer-encoding; bh=cASmlE/JB8XT7AoAc4GGiejGFRxBBR3Z2l1jvd0xmpc=; b=IZc8gZV5HUWngDL6GJ0ZzEUiRk8V1/TbQ3BwX+2TMqz4op45Ye6eNd3/ANMtAzx9zL WVj2E7Zmwd4V5+7FAxu2lIGH9TmVO+MI/kUHhB5roFSJoDluiCEQfSxuLTIxaqlhXKk3 16INCZWNZTjXdsJPvmXO4mgKxCBwLRDmw0Pa5GtdapI90JA/q72MXjoccsxLwo1SvLJt aLCYXKtpuVzxkL3FX5VAZpHiMNX4w8uyXy5XTCumYPA3ejxG5Jx3lYM1yKwOWG2RkUbQ e5jSEkn1TFKvLBZNTXXzOSx7E7anT7UVSbOi4lWH+24boMQobbb/jMAeOuUWVci7ZeQy 2Uxw== X-Gm-Message-State: AOAM530Q9lhlr1hUpWhl4zSVnTOl01pR+x9vIiEsKji4Q/I2YPMqHvyi cq9FL4h3PVOJDIS+H7A4K9bV29CI6dQgtG+M3TsEfQ== X-Google-Smtp-Source: ABdhPJylvR1rBiJVnt6NbFETtc14kE6pqZ7subXDhcrs7dylT3b1pbmHN889fciYpNMWPNNpa/kMFgrtOjM05dYKIGg= X-Received: by 2002:a05:600c:1990:: with SMTP id t16mr6082978wmq.48.1638356714288; Wed, 01 Dec 2021 03:05:14 -0800 (PST) MIME-Version: 1.0 References: <20211129014007.286478-1-wefu@redhat.com> <7587334.dMCaUTs8Vl@diego> <2562321.AMx6Y6Rosd@diego> In-Reply-To: <2562321.AMx6Y6Rosd@diego> From: Philipp Tomsich Date: Wed, 1 Dec 2021 12:05:03 +0100 Message-ID: Subject: Re: [PATCH V4 1/2] dt-bindings: riscv: add MMU Standard Extensions support for Svpbmt To: =?UTF-8?Q?Heiko_St=C3=BCbner?= Cc: atish patra , Tsukasa OI , Atish Patra , Jessica Clarke , linux-riscv , Wei Fu , "linux-kernel@vger.kernel.org List" , taiten.peng@canonical.com, Aniket Ponkshe , Gordan Markus , Guo Ren , Arnd Bergmann , Chen-Yu Tsai , Maxime Ripard , Dan Lustig , Greg Favor , Andrea Mondelli , Jonathan Behrens , Xinhaoqu , Bill Huffman , Nick Kossifidis , Allen Baum , Josh Scheid , Richard Trauben , Anup Patel , Rob Herring , Anup Patel , Palmer Dabbelt , Guo Ren , =?UTF-8?Q?Christoph_M=C3=BCllner?= , Christoph Hellwig , liush , Wei Wu , Drew Fustini , Heinrich Schuchardt Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org I hope that cpuinfo is for human consumption only, as we will inject this info in machine-readable form via the ELF auxiliary vector. We had briefly discussed this as part of psABI and during Kito's presentation at LPC. If we can agree that this is for human consumption only, then we should aim at making it easy to read for humans (and not care too much about how easy this will be to parse). Philipp. On Wed, 1 Dec 2021 at 11:21, Heiko St=C3=BCbner wrote: > > Am Mittwoch, 1. Dezember 2021, 09:41:48 CET schrieb atish patra: > > On Wed, Dec 1, 2021 at 12:30 AM Heiko St=C3=BCbner wr= ote: > > > > > Am Mittwoch, 1. Dezember 2021, 09:15:18 CET schrieb Atish Patra: > > > > On Tue, Nov 30, 2021 at 7:06 PM Tsukasa OI > > > wrote: > > > > > > > > > > On 2021/12/01 10:21, Atish Patra wrote: > > > > > > On Tue, Nov 30, 2021 at 8:13 AM Jessica Clarke > > > wrote: > > > > > >> > > > > > >> On 30 Nov 2021, at 15:01, Philipp Tomsich > > > wrote: > > > > > >>> > > > > > >>> We did touch on this in our coordination call a few weeks ago= : the > > > > > >>> grouping under mmu and the bool-entries were chosen because o= f > > > their > > > > > >>> similarity to other extensions (i.e. for Zb[abcs] there > > > could/should > > > > > >>> be a bool-entry under each cpu-node =E2=80=94 for some Zv* en= tries a > > > subnode > > > > > >>> might be needed with further parameters). > > > > > >>> > > > > > >>> The string-based approach (as in the originally proposed > > > "mmu-type=3D") > > > > > >>> would like not scale with the proliferation of small & modula= r > > > > > >>> extensions. > > > > > >> > > > > > >> I don=E2=80=99t see why the Sv* extensions need to be under an= mmu node > > > then, > > > > > >> unless the intent is that every extension be grouped under a > > > sub-node > > > > > >> (which doesn=E2=80=99t seem viable due to extensions like Zbk*= , unless you > > > > > >> group by Ss, Sv and Z)? > > > > > >> > > > > > > > > > > > > It shouldn't be. All the ISA extensions (i.e. standard, supervi= sor & > > > hypervisor) > > > > > > with prefix S,Z,H should be kept separate in a separate node fo= r easy > > > > > > parsing. > > > > > > > > > > "Easy parsing" is not quite convincing. > > > > > > > > The device tree need to carry a very long "riscv,isa" string. The > > > > parser need to parse > > > > that string in memory as well. > > > > > > > > > > > > > > There's a reason other than that I made RFC PATCH to parse > > > > > multi-letter extensions: > > > > > > > > > > v1: < > > > http://lists.infradead.org/pipermail/linux-riscv/2021-November/010252= .html > > > > > > > > > v2: < > > > http://lists.infradead.org/pipermail/linux-riscv/2021-November/010350= .html > > > > > > > > > > > > > > > > > It's on my todo list to review the series. I think we can work > > > > together to propose a better framework for riscv isa extensions. > > > > > > > > > (note: those patches will break RISC-V KVM because of possible IS= A > > > > > Manual inconsistency and discussion/resolution needed) > > > > > > > > > > (...continued below...) > > > > > > > > > > > > > > > > > "riscv,isa" dt property will not scale at all. Just look at the= few > > > > > > extensions that were ratified this year > > > > > > and Linux kernel needs to support them. > > > > > > > > > > > > "Sscofpmf", "Svpbmt", "Zicbom" > > > > > > > > > > > >> Also, what is going to happen to the current riscv,isa? Will t= hat > > > > > >> continue to exist and duplicate the info, or will kernels be > > > required > > > > > >> to reconstruct the string themselves if they want to display i= t to > > > > > >> users? > > > > > >> > > > > > > > > Sorry. I missed this question earlier. See my answer below. > > > > > > > > > > > > > > > > This is my personal preference: > > > > > > riscv,isa will continue to base Standard ISA extensions that ha= ve > > > > > > single letter extensions. > > > > > > > > > > > > This new DT node will encode all the non-single letter extensio= ns. > > > > > > I am not sure if it should include some provisions for custom > > > > > > extensions starting with X because > > > > > > that will be platform specific. > > > > > > > > > > > > Again, this is just my personal preference. I will try to send = a > > > patch > > > > > > soon so that we can initiate a broader > > > > > > discussion of the scheme and agree/disagree on something. > > > > > > > > > > For supervisor-only extensions like "Svpbmt", new DT node would b= e a > > > > > reasonable solution (and I would not directly object about that n= ode). > > > > > > > > > > However, there's many multi-letter extensions that are useful for > > > > > user mode. Because "riscv,isa" is exposed via sysfs and procfs > > > > > (/proc/cpuinfo), it can be really helpful to have multi-letter > > > > > > > > Irrespective of the method chosen to parse the device tree in kerne= l, > > > > we need to provide the extension information to the userspace. > > > > > > > > This is what I have in mind. An individual row with comma separated > > > > extension names for each type of extensions (Ss, Sv, Sh) > > > > after the base extension (rv64imafdc) in /proc/cpuinfo output. I am > > > > open to other ideas as well. > > > > > > > > isa rv64imafdc > > > > isa-ext-Sv Svpbmt > > > > isa-ext-Ss Sscofpmf > > > > isa-ext-Sh > > > > isa-ext-Z Zicbom > > > > > > > > We can even explicitly name the extensions after isa-ext. However, = it > > > > may be necessary and too long. > > > > > > Aren't other architectures just using a flags [x86] or features [arm6= 4] > > > line in cpuinfo to expose the available additional cpu features > > > as a space-separated list? > > > > > > So you could also just do something similar like > > > isa: rv64imafdc > > > isa-ext: Svpbmt Sscofpmf foo bar > > > > > > > > A space separated list is also fine by me. > > Should we keep all the extensions as one row or split based on the type= of > > extensions (Ss, Sv, Sh,)? > > > > When I look at the flags in x86, my eyes hurt badly ;) > > On arm64 > Features : fp asimd evtstrm aes pmull sha1 sha2 crc32 cpuid > > or on arm32 > Features : half thumb fastmult vfp edsp thumbee neon vfpv3 tls vfp= v4 idiva idivt vfpd32 lpae evtstrm > > > > That's why I suggested splitting by type of extensions to improve > > readability. > > Though I guess with that split you introduce more requirements on userspa= ce? > Because things that parse cpuinfo (think some python library) will need t= o > be updated when some new extension category surfaces? > > > > > > That would make a nice compromise between length and readability > > > by users I guess? > > > > > > > > > Heiko > > > > > > > I guess you prefer to directly print the entire "riscv,isa" string = in > > > > "isa" row in /proc/cpuinfo output. > > > > It is probably okay with the current number of extensions available > > > > today. However, it will become so long string > > > > in the future that it has to be broken into multiple lines. > > > > > > > > > extensions. Also, current version of Spike, a RISC-V ISA Simulat= or > > > > > puts all multi-letter extensions in "riscv,isa" and I thought thi= s is > > > > > intended. > > > > > > > > > > My preference: > > > > > (1) Allow having multi-letter extensions and versions in "riscv,i= sa" > > > > > (2) Adding new DT node for supervisor-related extensions would be > > > > > reasonable (but I don't strongly agree/disagree). > > > > > > > > > > Thanks, > > > > > Tsukasa > > > > > > > > > > > > > > > > > > > > > > > > > > > > >> As a FreeBSD developer I=E2=80=99m obviously not a part of man= y of these > > > > > >> discussions, but what the Linux community imposes as the devic= e tree > > > > > >> bindings has a real impact on us. > > > > > >> > > > > > >> Jess > > > > > >> > > > > > >>> On Tue, 30 Nov 2021 at 14:59, Jessica Clarke > > > wrote: > > > > > >>>> > > > > > >>>> On 30 Nov 2021, at 13:27, Heiko St=C3=BCbner wrote: > > > > > >>>>> > > > > > >>>>> Hi, > > > > > >>>>> > > > > > >>>>> Am Dienstag, 30. November 2021, 14:17:41 CET schrieb Jessic= a > > > Clarke: > > > > > >>>>>> On 30 Nov 2021, at 12:07, Heiko St=C3=BCbner > > > wrote: > > > > > >>>>>>> > > > > > >>>>>>> Am Montag, 29. November 2021, 13:06:23 CET schrieb Heiko > > > St=C3=BCbner: > > > > > >>>>>>>> Am Montag, 29. November 2021, 09:54:39 CET schrieb Heinr= ich > > > Schuchardt: > > > > > >>>>>>>>> On 11/29/21 02:40, wefu@redhat.com wrote: > > > > > >>>>>>>>>> From: Wei Fu > > > > > >>>>>>>>>> > > > > > >>>>>>>>>> Previous patch has added svpbmt in arch/riscv and add > > > "riscv,svpmbt" > > > > > >>>>>>>>>> in the DT mmu node. Update dt-bindings related propert= y > > > here. > > > > > >>>>>>>>>> > > > > > >>>>>>>>>> Signed-off-by: Wei Fu > > > > > >>>>>>>>>> Co-developed-by: Guo Ren > > > > > >>>>>>>>>> Signed-off-by: Guo Ren > > > > > >>>>>>>>>> Cc: Anup Patel > > > > > >>>>>>>>>> Cc: Palmer Dabbelt > > > > > >>>>>>>>>> Cc: Rob Herring > > > > > >>>>>>>>>> --- > > > > > >>>>>>>>>> Documentation/devicetree/bindings/riscv/cpus.yaml | 10 > > > ++++++++++ > > > > > >>>>>>>>>> 1 file changed, 10 insertions(+) > > > > > >>>>>>>>>> > > > > > >>>>>>>>>> diff --git > > > a/Documentation/devicetree/bindings/riscv/cpus.yaml > > > b/Documentation/devicetree/bindings/riscv/cpus.yaml > > > > > >>>>>>>>>> index aa5fb64d57eb..9ff9cbdd8a85 100644 > > > > > >>>>>>>>>> --- a/Documentation/devicetree/bindings/riscv/cpus.yam= l > > > > > >>>>>>>>>> +++ b/Documentation/devicetree/bindings/riscv/cpus.yam= l > > > > > >>>>>>>>>> @@ -63,6 +63,16 @@ properties: > > > > > >>>>>>>>>> - riscv,sv48 > > > > > >>>>>>>>>> - riscv,none > > > > > >>>>>>>>>> > > > > > >>>>>>>>>> + mmu: > > > > > >>>>>>>>> > > > > > >>>>>>>>> Shouldn't we keep the items be in alphabetic order, i.e= . mmu > > > before > > > > > >>>>>>>>> mmu-type? > > > > > >>>>>>>>> > > > > > >>>>>>>>>> + description: > > > > > >>>>>>>>>> + Describes the CPU's MMU Standard Extensions sup= port. > > > > > >>>>>>>>>> + These values originate from the RISC-V Privileg= ed > > > > > >>>>>>>>>> + Specification document, available from > > > > > >>>>>>>>>> + https://riscv.org/specifications/ > > > > > >>>>>>>>>> + $ref: '/schemas/types.yaml#/definitions/string' > > > > > >>>>>>>>>> + enum: > > > > > >>>>>>>>>> + - riscv,svpmbt > > > > > >>>>>>>>> > > > > > >>>>>>>>> The privileged specification has multiple MMU related > > > extensions: > > > > > >>>>>>>>> Svnapot, Svpbmt, Svinval. Shall they all be modeled in = this > > > enum? > > > > > >>>>>>>> > > > > > >>>>>>>> I remember in some earlier version some way back there w= as the > > > > > >>>>>>>> suggestion of using a sub-node instead and then adding b= oolean > > > > > >>>>>>>> properties for the supported extensions. > > > > > >>>>>>>> > > > > > >>>>>>>> Aka something like > > > > > >>>>>>>> mmu { > > > > > >>>>>>>> riscv,svpbmt; > > > > > >>>>>>>> }; > > > > > >>>>>>> > > > > > >>>>>>> For the record, I'm talking about the mail from september > > > > > >>>>>>> > > > https://lore.kernel.org/linux-riscv/CAAeLtUChjjzG+P8yg45GLZMJy5UR2K5R= RBoLFVZhtOaZ5pPtEA@mail.gmail.com/ > > > > > >>>>>>> > > > > > >>>>>>> So having a sub-node would make adding future extensions > > > > > >>>>>>> way nicer. > > > > > >>>>>> > > > > > >>>>>> Svpbmt is just an ISA extension, and should be treated lik= e any > > > other. > > > > > >>>>>> Let=E2=80=99s not invent two different ways of representin= g that in the > > > device > > > > > >>>>>> tree. > > > > > >>>>> > > > > > >>>>> Heinrich asked how the other extensions should be handled > > > > > >>>>> (Svnapot, Svpbmt, Svinval), so what do you suggest to do wi= th > > > these? > > > > > >>>> > > > > > >>>> Whatever is done for Zb[abcs], Zk*, Zv*, Zicbo*, etc. There = may > > > not be > > > > > >>>> a concrete plan for that yet, but that means you should spea= k > > > with the > > > > > >>>> people involved with such extensions and come up with someth= ing > > > > > >>>> appropriate together. > > > > > >>>> > > > > > >>>> Jess > > > > > >>>> > > > > > >> > > > > > >> > > > > > >> _______________________________________________ > > > > > >> linux-riscv mailing list > > > > > >> linux-riscv@lists.infradead.org > > > > > >> http://lists.infradead.org/mailman/listinfo/linux-riscv > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > > > Regards, > > > > > > Atish > > > > > > > > > > > > _______________________________________________ > > > > > > linux-riscv mailing list > > > > > > linux-riscv@lists.infradead.org > > > > > > http://lists.infradead.org/mailman/listinfo/linux-riscv > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > 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 3AC29C433F5 for ; Wed, 1 Dec 2021 11:05:30 +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:Cc:To:Subject:Message-ID:Date:From: In-Reply-To:References:MIME-Version:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=KC5q+GAtEAjBn0gbQyvjPOXPl+LfudqX7SENQVrXEVs=; b=Pnzm7YV2eQNTyQ UYlOR3veVUIN3rZEv0nrEf5okt2+wxYervGP40iQRZ0bqYMUUaltC2Wp2qqB74CT0i/ZmrkD41Efh HSxjL5/osw4f0cqgY9GhOYn46fpq3Ee2dKH+aBf0uZL0m4A2zYMDFFkeWDMisxMY2NK886y2za/6R g45z7dNGhV4CGYIo/Sy5l8VpYSB/YCKremHvVfF9uB4ahMh+hiCszUeMYe28JYUgzy6OinaXq0sa7 ezTP3CTtgvhsY418pl68IsaJ0049ip9Z0jON/2ddJDus1Pv5RTPIhUoDplL6t8JnaFe8sst5xm53c J+Vo8o8qYbZbNg0LcQ0w==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1msNQP-008Bmw-1J; Wed, 01 Dec 2021 11:05:21 +0000 Received: from mail-wm1-x336.google.com ([2a00:1450:4864:20::336]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1msNQK-008BmG-M9 for linux-riscv@lists.infradead.org; Wed, 01 Dec 2021 11:05:19 +0000 Received: by mail-wm1-x336.google.com with SMTP id j140-20020a1c2392000000b003399ae48f58so21917427wmj.5 for ; Wed, 01 Dec 2021 03:05:15 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=vrull-eu.20210112.gappssmtp.com; s=20210112; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc:content-transfer-encoding; bh=cASmlE/JB8XT7AoAc4GGiejGFRxBBR3Z2l1jvd0xmpc=; b=BtGzNIy9PmQlXlgEzxeh57FOCRdQuG0SkVg/jurKCSC3Ub7cDvMiGLWB3z0F0JAPuy fnzSWhQl0oqLHKJyx0Vw3/kEvkYhyYKhL/3gN3Owq/odfOctCeN7h9lEl4paPS9PvqJS MWUnFIBGIkSnIH+CHB30zz8uEkTV9nswyQl9JM1a+CCRGc1fbuqb6lrVUtr++ElNGnrm m9X/wluqD3f6MSgSOPQjND/AIxhm/3dWOWvwzxj/jlUz26b1dbVhaCcqcUA6jN2wZbge fUJuUFMZdKoN3yTmJA1W1XGozuihvlRwDrBqKfs9AhckLyyS9MIYei+7OqaaUxToY7eh WB3A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc:content-transfer-encoding; bh=cASmlE/JB8XT7AoAc4GGiejGFRxBBR3Z2l1jvd0xmpc=; b=TAiPJfbxTaEYPjeVIE3PLIcrWsAyV3uPxAP0mAgnZ4YUs3Y2+UQkvf14lxSH2OGR1e XtDuv2oW1TrreQgWC7tpagpLvd0WIwZ/ynjMiRdhtjUWTAihOqxyDWSco40RCgMbXsBQ 5HWL+9ltCNkT5eXiwlYqepdlf2asoakx8BD2KyEXwKzcN3HMAUnDfBWqjv6w9A9xd2rJ Qou6Ua7oiw1ty7yBesYaDcGdoFqD8c3AvWobiJi5gjLYRiZoQdHXRfAdvQ7xUjOzuTda QKK/WkzNC+ooh5an2aVvoWN0l3KRJ0N36OvlcpKFKney0ol7yDWAsLdKhx8h7xAKji9Q eSbg== X-Gm-Message-State: AOAM5306vcDoy+euHM6P24qBqnrv91sEW/frxMj0HpurALmzP+Jpd0dS pbyakJGKxKWPe5IaiRW+rb1ib9inFhVXuloOkpaMLg== X-Google-Smtp-Source: ABdhPJylvR1rBiJVnt6NbFETtc14kE6pqZ7subXDhcrs7dylT3b1pbmHN889fciYpNMWPNNpa/kMFgrtOjM05dYKIGg= X-Received: by 2002:a05:600c:1990:: with SMTP id t16mr6082978wmq.48.1638356714288; Wed, 01 Dec 2021 03:05:14 -0800 (PST) MIME-Version: 1.0 References: <20211129014007.286478-1-wefu@redhat.com> <7587334.dMCaUTs8Vl@diego> <2562321.AMx6Y6Rosd@diego> In-Reply-To: <2562321.AMx6Y6Rosd@diego> From: Philipp Tomsich Date: Wed, 1 Dec 2021 12:05:03 +0100 Message-ID: Subject: Re: [PATCH V4 1/2] dt-bindings: riscv: add MMU Standard Extensions support for Svpbmt To: =?UTF-8?Q?Heiko_St=C3=BCbner?= Cc: atish patra , Tsukasa OI , Atish Patra , Jessica Clarke , linux-riscv , Wei Fu , "linux-kernel@vger.kernel.org List" , taiten.peng@canonical.com, Aniket Ponkshe , Gordan Markus , Guo Ren , Arnd Bergmann , Chen-Yu Tsai , Maxime Ripard , Dan Lustig , Greg Favor , Andrea Mondelli , Jonathan Behrens , Xinhaoqu , Bill Huffman , Nick Kossifidis , Allen Baum , Josh Scheid , Richard Trauben , Anup Patel , Rob Herring , Anup Patel , Palmer Dabbelt , Guo Ren , =?UTF-8?Q?Christoph_M=C3=BCllner?= , Christoph Hellwig , liush , Wei Wu , Drew Fustini , Heinrich Schuchardt X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20211201_030516_833798_5DE80FAE X-CRM114-Status: GOOD ( 64.11 ) 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 SSBob3BlIHRoYXQgY3B1aW5mbyBpcyBmb3IgaHVtYW4gY29uc3VtcHRpb24gb25seSwgYXMgd2Ug d2lsbCBpbmplY3QKdGhpcyBpbmZvIGluIG1hY2hpbmUtcmVhZGFibGUgZm9ybSB2aWEgdGhlIEVM RiBhdXhpbGlhcnkgdmVjdG9yLgpXZSBoYWQgYnJpZWZseSBkaXNjdXNzZWQgdGhpcyBhcyBwYXJ0 IG9mIHBzQUJJIGFuZCBkdXJpbmcgS2l0bydzCnByZXNlbnRhdGlvbiBhdCBMUEMuCgpJZiB3ZSBj YW4gYWdyZWUgdGhhdCB0aGlzIGlzIGZvciBodW1hbiBjb25zdW1wdGlvbiBvbmx5LCB0aGVuIHdl CnNob3VsZCBhaW0gYXQgbWFraW5nIGl0IGVhc3kgdG8gcmVhZCBmb3IgaHVtYW5zIChhbmQgbm90 IGNhcmUgdG9vIG11Y2gKYWJvdXQgaG93IGVhc3kgdGhpcyB3aWxsIGJlIHRvIHBhcnNlKS4KClBo aWxpcHAuCgoKT24gV2VkLCAxIERlYyAyMDIxIGF0IDExOjIxLCBIZWlrbyBTdMO8Ym5lciA8aGVp a29Ac250ZWNoLmRlPiB3cm90ZToKPgo+IEFtIE1pdHR3b2NoLCAxLiBEZXplbWJlciAyMDIxLCAw OTo0MTo0OCBDRVQgc2NocmllYiBhdGlzaCBwYXRyYToKPiA+IE9uIFdlZCwgRGVjIDEsIDIwMjEg YXQgMTI6MzAgQU0gSGVpa28gU3TDvGJuZXIgPGhlaWtvQHNudGVjaC5kZT4gd3JvdGU6Cj4gPgo+ ID4gPiBBbSBNaXR0d29jaCwgMS4gRGV6ZW1iZXIgMjAyMSwgMDk6MTU6MTggQ0VUIHNjaHJpZWIg QXRpc2ggUGF0cmE6Cj4gPiA+ID4gT24gVHVlLCBOb3YgMzAsIDIwMjEgYXQgNzowNiBQTSBUc3Vr YXNhIE9JIDxyZXNlYXJjaF90cmFzaW9AaXJxLmE0bGcuY29tPgo+ID4gPiB3cm90ZToKPiA+ID4g PiA+Cj4gPiA+ID4gPiBPbiAyMDIxLzEyLzAxIDEwOjIxLCBBdGlzaCBQYXRyYSB3cm90ZToKPiA+ ID4gPiA+ID4gT24gVHVlLCBOb3YgMzAsIDIwMjEgYXQgODoxMyBBTSBKZXNzaWNhIENsYXJrZSA8 anJ0YzI3QGpydGMyNy5jb20+Cj4gPiA+IHdyb3RlOgo+ID4gPiA+ID4gPj4KPiA+ID4gPiA+ID4+ IE9uIDMwIE5vdiAyMDIxLCBhdCAxNTowMSwgUGhpbGlwcCBUb21zaWNoIDxwaGlsaXBwLnRvbXNp Y2hAdnJ1bGwuZXU+Cj4gPiA+IHdyb3RlOgo+ID4gPiA+ID4gPj4+Cj4gPiA+ID4gPiA+Pj4gV2Ug ZGlkIHRvdWNoIG9uIHRoaXMgaW4gb3VyIGNvb3JkaW5hdGlvbiBjYWxsIGEgZmV3IHdlZWtzIGFn bzogdGhlCj4gPiA+ID4gPiA+Pj4gZ3JvdXBpbmcgdW5kZXIgbW11IGFuZCB0aGUgYm9vbC1lbnRy aWVzIHdlcmUgY2hvc2VuIGJlY2F1c2Ugb2YKPiA+ID4gdGhlaXIKPiA+ID4gPiA+ID4+PiBzaW1p bGFyaXR5IHRvIG90aGVyIGV4dGVuc2lvbnMgKGkuZS4gZm9yIFpiW2FiY3NdIHRoZXJlCj4gPiA+ IGNvdWxkL3Nob3VsZAo+ID4gPiA+ID4gPj4+IGJlIGEgYm9vbC1lbnRyeSB1bmRlciBlYWNoIGNw dS1ub2RlIOKAlCBmb3Igc29tZSBadiogZW50cmllcyBhCj4gPiA+IHN1Ym5vZGUKPiA+ID4gPiA+ ID4+PiBtaWdodCBiZSBuZWVkZWQgd2l0aCBmdXJ0aGVyIHBhcmFtZXRlcnMpLgo+ID4gPiA+ID4g Pj4+Cj4gPiA+ID4gPiA+Pj4gVGhlIHN0cmluZy1iYXNlZCBhcHByb2FjaCAoYXMgaW4gdGhlIG9y aWdpbmFsbHkgcHJvcG9zZWQKPiA+ID4gIm1tdS10eXBlPSIpCj4gPiA+ID4gPiA+Pj4gd291bGQg bGlrZSBub3Qgc2NhbGUgd2l0aCB0aGUgcHJvbGlmZXJhdGlvbiBvZiBzbWFsbCAmIG1vZHVsYXIK PiA+ID4gPiA+ID4+PiBleHRlbnNpb25zLgo+ID4gPiA+ID4gPj4KPiA+ID4gPiA+ID4+IEkgZG9u 4oCZdCBzZWUgd2h5IHRoZSBTdiogZXh0ZW5zaW9ucyBuZWVkIHRvIGJlIHVuZGVyIGFuIG1tdSBu b2RlCj4gPiA+IHRoZW4sCj4gPiA+ID4gPiA+PiB1bmxlc3MgdGhlIGludGVudCBpcyB0aGF0IGV2 ZXJ5IGV4dGVuc2lvbiBiZSBncm91cGVkIHVuZGVyIGEKPiA+ID4gc3ViLW5vZGUKPiA+ID4gPiA+ ID4+ICh3aGljaCBkb2VzbuKAmXQgc2VlbSB2aWFibGUgZHVlIHRvIGV4dGVuc2lvbnMgbGlrZSBa YmsqLCB1bmxlc3MgeW91Cj4gPiA+ID4gPiA+PiBncm91cCBieSBTcywgU3YgYW5kIFopPwo+ID4g PiA+ID4gPj4KPiA+ID4gPiA+ID4KPiA+ID4gPiA+ID4gSXQgc2hvdWxkbid0IGJlLiBBbGwgdGhl IElTQSBleHRlbnNpb25zIChpLmUuIHN0YW5kYXJkLCBzdXBlcnZpc29yICYKPiA+ID4gaHlwZXJ2 aXNvcikKPiA+ID4gPiA+ID4gd2l0aCBwcmVmaXggUyxaLEggc2hvdWxkIGJlIGtlcHQgc2VwYXJh dGUgaW4gYSBzZXBhcmF0ZSBub2RlIGZvciBlYXN5Cj4gPiA+ID4gPiA+IHBhcnNpbmcuCj4gPiA+ ID4gPgo+ID4gPiA+ID4gIkVhc3kgcGFyc2luZyIgaXMgbm90IHF1aXRlIGNvbnZpbmNpbmcuCj4g PiA+ID4KPiA+ID4gPiBUaGUgZGV2aWNlIHRyZWUgbmVlZCB0byBjYXJyeSBhIHZlcnkgbG9uZyAi cmlzY3YsaXNhIiBzdHJpbmcuIFRoZQo+ID4gPiA+IHBhcnNlciBuZWVkIHRvIHBhcnNlCj4gPiA+ ID4gdGhhdCBzdHJpbmcgaW4gbWVtb3J5IGFzIHdlbGwuCj4gPiA+ID4KPiA+ID4gPiA+Cj4gPiA+ ID4gPiBUaGVyZSdzIGEgcmVhc29uIG90aGVyIHRoYW4gdGhhdCBJIG1hZGUgUkZDIFBBVENIIHRv IHBhcnNlCj4gPiA+ID4gPiBtdWx0aS1sZXR0ZXIgZXh0ZW5zaW9uczoKPiA+ID4gPiA+Cj4gPiA+ ID4gPiB2MTogPAo+ID4gPiBodHRwOi8vbGlzdHMuaW5mcmFkZWFkLm9yZy9waXBlcm1haWwvbGlu dXgtcmlzY3YvMjAyMS1Ob3ZlbWJlci8wMTAyNTIuaHRtbAo+ID4gPiA+Cj4gPiA+ID4gPiB2Mjog PAo+ID4gPiBodHRwOi8vbGlzdHMuaW5mcmFkZWFkLm9yZy9waXBlcm1haWwvbGludXgtcmlzY3Yv MjAyMS1Ob3ZlbWJlci8wMTAzNTAuaHRtbAo+ID4gPiA+Cj4gPiA+ID4gPgo+ID4gPiA+Cj4gPiA+ ID4gSXQncyBvbiBteSB0b2RvIGxpc3QgdG8gcmV2aWV3IHRoZSBzZXJpZXMuIEkgdGhpbmsgd2Ug Y2FuIHdvcmsKPiA+ID4gPiB0b2dldGhlciB0byBwcm9wb3NlIGEgYmV0dGVyIGZyYW1ld29yayBm b3IgcmlzY3YgaXNhIGV4dGVuc2lvbnMuCj4gPiA+ID4KPiA+ID4gPiA+IChub3RlOiB0aG9zZSBw YXRjaGVzIHdpbGwgYnJlYWsgUklTQy1WIEtWTSBiZWNhdXNlIG9mIHBvc3NpYmxlIElTQQo+ID4g PiA+ID4gICAgICAgIE1hbnVhbCBpbmNvbnNpc3RlbmN5IGFuZCBkaXNjdXNzaW9uL3Jlc29sdXRp b24gbmVlZGVkKQo+ID4gPiA+ID4KPiA+ID4gPiA+ICguLi5jb250aW51ZWQgYmVsb3cuLi4pCj4g PiA+ID4gPgo+ID4gPiA+ID4gPgo+ID4gPiA+ID4gPiAicmlzY3YsaXNhIiBkdCBwcm9wZXJ0eSB3 aWxsIG5vdCBzY2FsZSBhdCBhbGwuIEp1c3QgbG9vayBhdCB0aGUgZmV3Cj4gPiA+ID4gPiA+IGV4 dGVuc2lvbnMgdGhhdCB3ZXJlIHJhdGlmaWVkIHRoaXMgeWVhcgo+ID4gPiA+ID4gPiBhbmQgTGlu dXgga2VybmVsIG5lZWRzIHRvIHN1cHBvcnQgdGhlbS4KPiA+ID4gPiA+ID4KPiA+ID4gPiA+ID4g IlNzY29mcG1mIiwgIlN2cGJtdCIsICJaaWNib20iCj4gPiA+ID4gPiA+Cj4gPiA+ID4gPiA+PiBB bHNvLCB3aGF0IGlzIGdvaW5nIHRvIGhhcHBlbiB0byB0aGUgY3VycmVudCByaXNjdixpc2E/IFdp bGwgdGhhdAo+ID4gPiA+ID4gPj4gY29udGludWUgdG8gZXhpc3QgYW5kIGR1cGxpY2F0ZSB0aGUg aW5mbywgb3Igd2lsbCBrZXJuZWxzIGJlCj4gPiA+IHJlcXVpcmVkCj4gPiA+ID4gPiA+PiB0byBy ZWNvbnN0cnVjdCB0aGUgc3RyaW5nIHRoZW1zZWx2ZXMgaWYgdGhleSB3YW50IHRvIGRpc3BsYXkg aXQgdG8KPiA+ID4gPiA+ID4+IHVzZXJzPwo+ID4gPiA+ID4gPj4KPiA+ID4gPgo+ID4gPiA+IFNv cnJ5LiBJIG1pc3NlZCB0aGlzIHF1ZXN0aW9uIGVhcmxpZXIuIFNlZSBteSBhbnN3ZXIgYmVsb3cu Cj4gPiA+ID4KPiA+ID4gPiA+ID4KPiA+ID4gPiA+ID4gVGhpcyBpcyBteSBwZXJzb25hbCBwcmVm ZXJlbmNlOgo+ID4gPiA+ID4gPiByaXNjdixpc2Egd2lsbCBjb250aW51ZSB0byBiYXNlIFN0YW5k YXJkIElTQSBleHRlbnNpb25zIHRoYXQgaGF2ZQo+ID4gPiA+ID4gPiBzaW5nbGUgbGV0dGVyIGV4 dGVuc2lvbnMuCj4gPiA+ID4gPiA+Cj4gPiA+ID4gPiA+IFRoaXMgbmV3IERUIG5vZGUgd2lsbCBl bmNvZGUgYWxsIHRoZSBub24tc2luZ2xlIGxldHRlciBleHRlbnNpb25zLgo+ID4gPiA+ID4gPiBJ IGFtIG5vdCBzdXJlIGlmIGl0IHNob3VsZCBpbmNsdWRlIHNvbWUgcHJvdmlzaW9ucyBmb3IgY3Vz dG9tCj4gPiA+ID4gPiA+IGV4dGVuc2lvbnMgc3RhcnRpbmcgd2l0aCBYIGJlY2F1c2UKPiA+ID4g PiA+ID4gdGhhdCB3aWxsIGJlIHBsYXRmb3JtIHNwZWNpZmljLgo+ID4gPiA+ID4gPgo+ID4gPiA+ ID4gPiBBZ2FpbiwgdGhpcyBpcyBqdXN0IG15IHBlcnNvbmFsIHByZWZlcmVuY2UuIEkgd2lsbCB0 cnkgdG8gc2VuZCBhCj4gPiA+IHBhdGNoCj4gPiA+ID4gPiA+IHNvb24gc28gdGhhdCB3ZSBjYW4g aW5pdGlhdGUgYSBicm9hZGVyCj4gPiA+ID4gPiA+IGRpc2N1c3Npb24gb2YgdGhlIHNjaGVtZSBh bmQgYWdyZWUvZGlzYWdyZWUgb24gc29tZXRoaW5nLgo+ID4gPiA+ID4KPiA+ID4gPiA+IEZvciBz dXBlcnZpc29yLW9ubHkgZXh0ZW5zaW9ucyBsaWtlICJTdnBibXQiLCBuZXcgRFQgbm9kZSB3b3Vs ZCBiZSBhCj4gPiA+ID4gPiByZWFzb25hYmxlIHNvbHV0aW9uIChhbmQgSSB3b3VsZCBub3QgZGly ZWN0bHkgb2JqZWN0IGFib3V0IHRoYXQgbm9kZSkuCj4gPiA+ID4gPgo+ID4gPiA+ID4gSG93ZXZl ciwgdGhlcmUncyBtYW55IG11bHRpLWxldHRlciBleHRlbnNpb25zIHRoYXQgYXJlIHVzZWZ1bCBm b3IKPiA+ID4gPiA+IHVzZXIgbW9kZS4gIEJlY2F1c2UgInJpc2N2LGlzYSIgaXMgZXhwb3NlZCB2 aWEgc3lzZnMgYW5kIHByb2Nmcwo+ID4gPiA+ID4gKC9wcm9jL2NwdWluZm8pLCBpdCBjYW4gYmUg cmVhbGx5IGhlbHBmdWwgdG8gaGF2ZSBtdWx0aS1sZXR0ZXIKPiA+ID4gPgo+ID4gPiA+IElycmVz cGVjdGl2ZSBvZiB0aGUgbWV0aG9kIGNob3NlbiB0byBwYXJzZSB0aGUgZGV2aWNlIHRyZWUgaW4g a2VybmVsLAo+ID4gPiA+IHdlIG5lZWQgdG8gcHJvdmlkZSB0aGUgZXh0ZW5zaW9uIGluZm9ybWF0 aW9uIHRvIHRoZSB1c2Vyc3BhY2UuCj4gPiA+ID4KPiA+ID4gPiBUaGlzIGlzIHdoYXQgSSBoYXZl IGluIG1pbmQuIEFuIGluZGl2aWR1YWwgcm93IHdpdGggY29tbWEgc2VwYXJhdGVkCj4gPiA+ID4g ZXh0ZW5zaW9uIG5hbWVzIGZvciBlYWNoIHR5cGUgb2YgZXh0ZW5zaW9ucyAoU3MsIFN2LCBTaCkK PiA+ID4gPiBhZnRlciB0aGUgYmFzZSBleHRlbnNpb24gKHJ2NjRpbWFmZGMpIGluIC9wcm9jL2Nw dWluZm8gb3V0cHV0LiBJIGFtCj4gPiA+ID4gb3BlbiB0byBvdGhlciBpZGVhcyBhcyB3ZWxsLgo+ ID4gPiA+Cj4gPiA+ID4gaXNhICAgcnY2NGltYWZkYwo+ID4gPiA+IGlzYS1leHQtU3YgU3ZwYm10 Cj4gPiA+ID4gaXNhLWV4dC1TcyBTc2NvZnBtZgo+ID4gPiA+IGlzYS1leHQtU2ggPGh5cGVydmlz b3IgcmVsYXRlZCBleHRlbnNpb25zPgo+ID4gPiA+IGlzYS1leHQtWiAgIFppY2JvbQo+ID4gPiA+ Cj4gPiA+ID4gV2UgY2FuIGV2ZW4gZXhwbGljaXRseSBuYW1lIHRoZSBleHRlbnNpb25zIGFmdGVy IGlzYS1leHQuIEhvd2V2ZXIsIGl0Cj4gPiA+ID4gbWF5IGJlIG5lY2Vzc2FyeSBhbmQgdG9vIGxv bmcuCj4gPiA+Cj4gPiA+IEFyZW4ndCBvdGhlciBhcmNoaXRlY3R1cmVzIGp1c3QgdXNpbmcgYSBm bGFncyBbeDg2XSBvciBmZWF0dXJlcyBbYXJtNjRdCj4gPiA+IGxpbmUgaW4gY3B1aW5mbyB0byBl eHBvc2UgdGhlIGF2YWlsYWJsZSBhZGRpdGlvbmFsIGNwdSBmZWF0dXJlcwo+ID4gPiBhcyBhIHNw YWNlLXNlcGFyYXRlZCBsaXN0Pwo+ID4gPgo+ID4gPiBTbyB5b3UgY291bGQgYWxzbyBqdXN0IGRv IHNvbWV0aGluZyBzaW1pbGFyIGxpa2UKPiA+ID4gaXNhOiAgIHJ2NjRpbWFmZGMKPiA+ID4gaXNh LWV4dDogU3ZwYm10IFNzY29mcG1mIGZvbyBiYXIKPiA+ID4KPiA+ID4KPiA+IEEgc3BhY2Ugc2Vw YXJhdGVkIGxpc3QgaXMgYWxzbyBmaW5lIGJ5IG1lLgo+ID4gU2hvdWxkIHdlIGtlZXAgYWxsIHRo ZSBleHRlbnNpb25zIGFzIG9uZSByb3cgb3Igc3BsaXQgYmFzZWQgb24gdGhlIHR5cGUgb2YKPiA+ IGV4dGVuc2lvbnMgKFNzLCBTdiwgU2gsKT8KPiA+Cj4gPiBXaGVuIEkgbG9vayBhdCB0aGUgZmxh Z3MgaW4geDg2LCBteSBleWVzIGh1cnQgYmFkbHkgOykKPgo+IE9uIGFybTY0Cj4gRmVhdHVyZXMg ICAgICAgIDogZnAgYXNpbWQgZXZ0c3RybSBhZXMgcG11bGwgc2hhMSBzaGEyIGNyYzMyIGNwdWlk Cj4KPiBvciBvbiBhcm0zMgo+IEZlYXR1cmVzICAgICAgICA6IGhhbGYgdGh1bWIgZmFzdG11bHQg dmZwIGVkc3AgdGh1bWJlZSBuZW9uIHZmcHYzIHRscyB2ZnB2NCBpZGl2YSBpZGl2dCB2ZnBkMzIg bHBhZSBldnRzdHJtCj4KPgo+ID4gVGhhdCdzIHdoeSBJIHN1Z2dlc3RlZCBzcGxpdHRpbmcgYnkg dHlwZSBvZiBleHRlbnNpb25zIHRvIGltcHJvdmUKPiA+IHJlYWRhYmlsaXR5Lgo+Cj4gVGhvdWdo IEkgZ3Vlc3Mgd2l0aCB0aGF0IHNwbGl0IHlvdSBpbnRyb2R1Y2UgbW9yZSByZXF1aXJlbWVudHMg b24gdXNlcnNwYWNlPwo+IEJlY2F1c2UgdGhpbmdzIHRoYXQgcGFyc2UgY3B1aW5mbyAodGhpbmsg c29tZSBweXRob24gbGlicmFyeSkgd2lsbCBuZWVkIHRvCj4gYmUgdXBkYXRlZCB3aGVuIHNvbWUg bmV3IGV4dGVuc2lvbiBjYXRlZ29yeSBzdXJmYWNlcz8KPgo+Cj4KPiA+ID4gVGhhdCB3b3VsZCBt YWtlIGEgbmljZSBjb21wcm9taXNlIGJldHdlZW4gbGVuZ3RoIGFuZCByZWFkYWJpbGl0eQo+ID4g PiBieSB1c2VycyBJIGd1ZXNzPwo+ID4gPgo+ID4gPgo+ID4gPiBIZWlrbwo+ID4gPgo+ID4gPiA+ IEkgZ3Vlc3MgeW91IHByZWZlciB0byBkaXJlY3RseSBwcmludCB0aGUgZW50aXJlICJyaXNjdixp c2EiIHN0cmluZyBpbgo+ID4gPiA+ICJpc2EiIHJvdyBpbiAvcHJvYy9jcHVpbmZvIG91dHB1dC4K PiA+ID4gPiBJdCBpcyBwcm9iYWJseSBva2F5IHdpdGggdGhlIGN1cnJlbnQgbnVtYmVyIG9mIGV4 dGVuc2lvbnMgYXZhaWxhYmxlCj4gPiA+ID4gdG9kYXkuIEhvd2V2ZXIsIGl0IHdpbGwgYmVjb21l IHNvIGxvbmcgc3RyaW5nCj4gPiA+ID4gaW4gdGhlIGZ1dHVyZSB0aGF0IGl0IGhhcyB0byBiZSBi cm9rZW4gaW50byBtdWx0aXBsZSBsaW5lcy4KPiA+ID4gPgo+ID4gPiA+ID4gZXh0ZW5zaW9ucy4g IEFsc28sIGN1cnJlbnQgdmVyc2lvbiBvZiBTcGlrZSwgYSBSSVNDLVYgSVNBIFNpbXVsYXRvcgo+ ID4gPiA+ID4gcHV0cyBhbGwgbXVsdGktbGV0dGVyIGV4dGVuc2lvbnMgaW4gInJpc2N2LGlzYSIg YW5kIEkgdGhvdWdodCB0aGlzIGlzCj4gPiA+ID4gPiBpbnRlbmRlZC4KPiA+ID4gPiA+Cj4gPiA+ ID4gPiBNeSBwcmVmZXJlbmNlOgo+ID4gPiA+ID4gKDEpIEFsbG93IGhhdmluZyBtdWx0aS1sZXR0 ZXIgZXh0ZW5zaW9ucyBhbmQgdmVyc2lvbnMgaW4gInJpc2N2LGlzYSIKPiA+ID4gPiA+ICgyKSBB ZGRpbmcgbmV3IERUIG5vZGUgZm9yIHN1cGVydmlzb3ItcmVsYXRlZCBleHRlbnNpb25zIHdvdWxk IGJlCj4gPiA+ID4gPiAgICAgcmVhc29uYWJsZSAoYnV0IEkgZG9uJ3Qgc3Ryb25nbHkgYWdyZWUv ZGlzYWdyZWUpLgo+ID4gPiA+ID4KPiA+ID4gPiA+IFRoYW5rcywKPiA+ID4gPiA+IFRzdWthc2EK PiA+ID4gPiA+Cj4gPiA+ID4gPiA+Cj4gPiA+ID4gPiA+Cj4gPiA+ID4gPiA+Cj4gPiA+ID4gPiA+ PiBBcyBhIEZyZWVCU0QgZGV2ZWxvcGVyIEnigJltIG9idmlvdXNseSBub3QgYSBwYXJ0IG9mIG1h bnkgb2YgdGhlc2UKPiA+ID4gPiA+ID4+IGRpc2N1c3Npb25zLCBidXQgd2hhdCB0aGUgTGludXgg Y29tbXVuaXR5IGltcG9zZXMgYXMgdGhlIGRldmljZSB0cmVlCj4gPiA+ID4gPiA+PiBiaW5kaW5n cyBoYXMgYSByZWFsIGltcGFjdCBvbiB1cy4KPiA+ID4gPiA+ID4+Cj4gPiA+ID4gPiA+PiBKZXNz Cj4gPiA+ID4gPiA+Pgo+ID4gPiA+ID4gPj4+IE9uIFR1ZSwgMzAgTm92IDIwMjEgYXQgMTQ6NTks IEplc3NpY2EgQ2xhcmtlIDxqcnRjMjdAanJ0YzI3LmNvbT4KPiA+ID4gd3JvdGU6Cj4gPiA+ID4g PiA+Pj4+Cj4gPiA+ID4gPiA+Pj4+IE9uIDMwIE5vdiAyMDIxLCBhdCAxMzoyNywgSGVpa28gU3TD vGJuZXIgPGhlaWtvQHNudGVjaC5kZT4gd3JvdGU6Cj4gPiA+ID4gPiA+Pj4+Pgo+ID4gPiA+ID4g Pj4+Pj4gSGksCj4gPiA+ID4gPiA+Pj4+Pgo+ID4gPiA+ID4gPj4+Pj4gQW0gRGllbnN0YWcsIDMw LiBOb3ZlbWJlciAyMDIxLCAxNDoxNzo0MSBDRVQgc2NocmllYiBKZXNzaWNhCj4gPiA+IENsYXJr ZToKPiA+ID4gPiA+ID4+Pj4+PiBPbiAzMCBOb3YgMjAyMSwgYXQgMTI6MDcsIEhlaWtvIFN0w7xi bmVyIDxoZWlrb0BzbnRlY2guZGU+Cj4gPiA+IHdyb3RlOgo+ID4gPiA+ID4gPj4+Pj4+Pgo+ID4g PiA+ID4gPj4+Pj4+PiBBbSBNb250YWcsIDI5LiBOb3ZlbWJlciAyMDIxLCAxMzowNjoyMyBDRVQg c2NocmllYiBIZWlrbwo+ID4gPiBTdMO8Ym5lcjoKPiA+ID4gPiA+ID4+Pj4+Pj4+IEFtIE1vbnRh ZywgMjkuIE5vdmVtYmVyIDIwMjEsIDA5OjU0OjM5IENFVCBzY2hyaWViIEhlaW5yaWNoCj4gPiA+ IFNjaHVjaGFyZHQ6Cj4gPiA+ID4gPiA+Pj4+Pj4+Pj4gT24gMTEvMjkvMjEgMDI6NDAsIHdlZnVA cmVkaGF0LmNvbSB3cm90ZToKPiA+ID4gPiA+ID4+Pj4+Pj4+Pj4gRnJvbTogV2VpIEZ1IDx3ZWZ1 QHJlZGhhdC5jb20+Cj4gPiA+ID4gPiA+Pj4+Pj4+Pj4+Cj4gPiA+ID4gPiA+Pj4+Pj4+Pj4+IFBy ZXZpb3VzIHBhdGNoIGhhcyBhZGRlZCBzdnBibXQgaW4gYXJjaC9yaXNjdiBhbmQgYWRkCj4gPiA+ ICJyaXNjdixzdnBtYnQiCj4gPiA+ID4gPiA+Pj4+Pj4+Pj4+IGluIHRoZSBEVCBtbXUgbm9kZS4g VXBkYXRlIGR0LWJpbmRpbmdzIHJlbGF0ZWQgcHJvcGVydHkKPiA+ID4gaGVyZS4KPiA+ID4gPiA+ ID4+Pj4+Pj4+Pj4KPiA+ID4gPiA+ID4+Pj4+Pj4+Pj4gU2lnbmVkLW9mZi1ieTogV2VpIEZ1IDx3 ZWZ1QHJlZGhhdC5jb20+Cj4gPiA+ID4gPiA+Pj4+Pj4+Pj4+IENvLWRldmVsb3BlZC1ieTogR3Vv IFJlbiA8Z3VvcmVuQGtlcm5lbC5vcmc+Cj4gPiA+ID4gPiA+Pj4+Pj4+Pj4+IFNpZ25lZC1vZmYt Ynk6IEd1byBSZW4gPGd1b3JlbkBrZXJuZWwub3JnPgo+ID4gPiA+ID4gPj4+Pj4+Pj4+PiBDYzog QW51cCBQYXRlbCA8YW51cEBicmFpbmZhdWx0Lm9yZz4KPiA+ID4gPiA+ID4+Pj4+Pj4+Pj4gQ2M6 IFBhbG1lciBEYWJiZWx0IDxwYWxtZXJAZGFiYmVsdC5jb20+Cj4gPiA+ID4gPiA+Pj4+Pj4+Pj4+ IENjOiBSb2IgSGVycmluZyA8cm9iaCtkdEBrZXJuZWwub3JnPgo+ID4gPiA+ID4gPj4+Pj4+Pj4+ PiAtLS0KPiA+ID4gPiA+ID4+Pj4+Pj4+Pj4gRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRp bmdzL3Jpc2N2L2NwdXMueWFtbCB8IDEwCj4gPiA+ICsrKysrKysrKysKPiA+ID4gPiA+ID4+Pj4+ Pj4+Pj4gMSBmaWxlIGNoYW5nZWQsIDEwIGluc2VydGlvbnMoKykKPiA+ID4gPiA+ID4+Pj4+Pj4+ Pj4KPiA+ID4gPiA+ID4+Pj4+Pj4+Pj4gZGlmZiAtLWdpdAo+ID4gPiBhL0RvY3VtZW50YXRpb24v ZGV2aWNldHJlZS9iaW5kaW5ncy9yaXNjdi9jcHVzLnlhbWwKPiA+ID4gYi9Eb2N1bWVudGF0aW9u L2RldmljZXRyZWUvYmluZGluZ3MvcmlzY3YvY3B1cy55YW1sCj4gPiA+ID4gPiA+Pj4+Pj4+Pj4+ IGluZGV4IGFhNWZiNjRkNTdlYi4uOWZmOWNiZGQ4YTg1IDEwMDY0NAo+ID4gPiA+ID4gPj4+Pj4+ Pj4+PiAtLS0gYS9Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvcmlzY3YvY3B1cy55 YW1sCj4gPiA+ID4gPiA+Pj4+Pj4+Pj4+ICsrKyBiL0RvY3VtZW50YXRpb24vZGV2aWNldHJlZS9i aW5kaW5ncy9yaXNjdi9jcHVzLnlhbWwKPiA+ID4gPiA+ID4+Pj4+Pj4+Pj4gQEAgLTYzLDYgKzYz LDE2IEBAIHByb3BlcnRpZXM6Cj4gPiA+ID4gPiA+Pj4+Pj4+Pj4+ICAgICAgLSByaXNjdixzdjQ4 Cj4gPiA+ID4gPiA+Pj4+Pj4+Pj4+ICAgICAgLSByaXNjdixub25lCj4gPiA+ID4gPiA+Pj4+Pj4+ Pj4+Cj4gPiA+ID4gPiA+Pj4+Pj4+Pj4+ICsgIG1tdToKPiA+ID4gPiA+ID4+Pj4+Pj4+Pgo+ID4g PiA+ID4gPj4+Pj4+Pj4+IFNob3VsZG4ndCB3ZSBrZWVwIHRoZSBpdGVtcyBiZSBpbiBhbHBoYWJl dGljIG9yZGVyLCBpLmUuIG1tdQo+ID4gPiBiZWZvcmUKPiA+ID4gPiA+ID4+Pj4+Pj4+PiBtbXUt dHlwZT8KPiA+ID4gPiA+ID4+Pj4+Pj4+Pgo+ID4gPiA+ID4gPj4+Pj4+Pj4+PiArICAgIGRlc2Ny aXB0aW9uOgo+ID4gPiA+ID4gPj4+Pj4+Pj4+PiArICAgICAgRGVzY3JpYmVzIHRoZSBDUFUncyBN TVUgU3RhbmRhcmQgRXh0ZW5zaW9ucyBzdXBwb3J0Lgo+ID4gPiA+ID4gPj4+Pj4+Pj4+PiArICAg ICAgVGhlc2UgdmFsdWVzIG9yaWdpbmF0ZSBmcm9tIHRoZSBSSVNDLVYgUHJpdmlsZWdlZAo+ID4g PiA+ID4gPj4+Pj4+Pj4+PiArICAgICAgU3BlY2lmaWNhdGlvbiBkb2N1bWVudCwgYXZhaWxhYmxl IGZyb20KPiA+ID4gPiA+ID4+Pj4+Pj4+Pj4gKyAgICAgIGh0dHBzOi8vcmlzY3Yub3JnL3NwZWNp ZmljYXRpb25zLwo+ID4gPiA+ID4gPj4+Pj4+Pj4+PiArICAgICRyZWY6ICcvc2NoZW1hcy90eXBl cy55YW1sIy9kZWZpbml0aW9ucy9zdHJpbmcnCj4gPiA+ID4gPiA+Pj4+Pj4+Pj4+ICsgICAgZW51 bToKPiA+ID4gPiA+ID4+Pj4+Pj4+Pj4gKyAgICAgIC0gcmlzY3Ysc3ZwbWJ0Cj4gPiA+ID4gPiA+ Pj4+Pj4+Pj4KPiA+ID4gPiA+ID4+Pj4+Pj4+PiBUaGUgcHJpdmlsZWdlZCBzcGVjaWZpY2F0aW9u IGhhcyBtdWx0aXBsZSBNTVUgcmVsYXRlZAo+ID4gPiBleHRlbnNpb25zOgo+ID4gPiA+ID4gPj4+ Pj4+Pj4+IFN2bmFwb3QsIFN2cGJtdCwgU3ZpbnZhbC4gU2hhbGwgdGhleSBhbGwgYmUgbW9kZWxl ZCBpbiB0aGlzCj4gPiA+IGVudW0/Cj4gPiA+ID4gPiA+Pj4+Pj4+Pgo+ID4gPiA+ID4gPj4+Pj4+ Pj4gSSByZW1lbWJlciBpbiBzb21lIGVhcmxpZXIgdmVyc2lvbiBzb21lIHdheSBiYWNrIHRoZXJl IHdhcyB0aGUKPiA+ID4gPiA+ID4+Pj4+Pj4+IHN1Z2dlc3Rpb24gb2YgdXNpbmcgYSBzdWItbm9k ZSBpbnN0ZWFkIGFuZCB0aGVuIGFkZGluZyBib29sZWFuCj4gPiA+ID4gPiA+Pj4+Pj4+PiBwcm9w ZXJ0aWVzIGZvciB0aGUgc3VwcG9ydGVkIGV4dGVuc2lvbnMuCj4gPiA+ID4gPiA+Pj4+Pj4+Pgo+ ID4gPiA+ID4gPj4+Pj4+Pj4gQWthIHNvbWV0aGluZyBsaWtlCj4gPiA+ID4gPiA+Pj4+Pj4+PiAg IG1tdSB7Cj4gPiA+ID4gPiA+Pj4+Pj4+PiAgICAgICAgICAgcmlzY3Ysc3ZwYm10Owo+ID4gPiA+ ID4gPj4+Pj4+Pj4gICB9Owo+ID4gPiA+ID4gPj4+Pj4+Pgo+ID4gPiA+ID4gPj4+Pj4+PiBGb3Ig dGhlIHJlY29yZCwgSSdtIHRhbGtpbmcgYWJvdXQgdGhlIG1haWwgZnJvbSBzZXB0ZW1iZXIKPiA+ ID4gPiA+ID4+Pj4+Pj4KPiA+ID4gaHR0cHM6Ly9sb3JlLmtlcm5lbC5vcmcvbGludXgtcmlzY3Yv Q0FBZUx0VUNoamp6RytQOHlnNDVHTFpNSnk1VVIySzVSUkJvTEZWWmh0T2FaNXBQdEVBQG1haWwu Z21haWwuY29tLwo+ID4gPiA+ID4gPj4+Pj4+Pgo+ID4gPiA+ID4gPj4+Pj4+PiBTbyBoYXZpbmcg YSBzdWItbm9kZSB3b3VsZCBtYWtlIGFkZGluZyBmdXR1cmUgZXh0ZW5zaW9ucwo+ID4gPiA+ID4g Pj4+Pj4+PiB3YXkgbmljZXIuCj4gPiA+ID4gPiA+Pj4+Pj4KPiA+ID4gPiA+ID4+Pj4+PiBTdnBi bXQgaXMganVzdCBhbiBJU0EgZXh0ZW5zaW9uLCBhbmQgc2hvdWxkIGJlIHRyZWF0ZWQgbGlrZSBh bnkKPiA+ID4gb3RoZXIuCj4gPiA+ID4gPiA+Pj4+Pj4gTGV04oCZcyBub3QgaW52ZW50IHR3byBk aWZmZXJlbnQgd2F5cyBvZiByZXByZXNlbnRpbmcgdGhhdCBpbiB0aGUKPiA+ID4gZGV2aWNlCj4g PiA+ID4gPiA+Pj4+Pj4gdHJlZS4KPiA+ID4gPiA+ID4+Pj4+Cj4gPiA+ID4gPiA+Pj4+PiBIZWlu cmljaCBhc2tlZCBob3cgdGhlIG90aGVyIGV4dGVuc2lvbnMgc2hvdWxkIGJlIGhhbmRsZWQKPiA+ ID4gPiA+ID4+Pj4+IChTdm5hcG90LCBTdnBibXQsIFN2aW52YWwpLCBzbyB3aGF0IGRvIHlvdSBz dWdnZXN0IHRvIGRvIHdpdGgKPiA+ID4gdGhlc2U/Cj4gPiA+ID4gPiA+Pj4+Cj4gPiA+ID4gPiA+ Pj4+IFdoYXRldmVyIGlzIGRvbmUgZm9yIFpiW2FiY3NdLCBaayosIFp2KiwgWmljYm8qLCBldGMu IFRoZXJlIG1heQo+ID4gPiBub3QgYmUKPiA+ID4gPiA+ID4+Pj4gYSBjb25jcmV0ZSBwbGFuIGZv ciB0aGF0IHlldCwgYnV0IHRoYXQgbWVhbnMgeW91IHNob3VsZCBzcGVhawo+ID4gPiB3aXRoIHRo ZQo+ID4gPiA+ID4gPj4+PiBwZW9wbGUgaW52b2x2ZWQgd2l0aCBzdWNoIGV4dGVuc2lvbnMgYW5k IGNvbWUgdXAgd2l0aCBzb21ldGhpbmcKPiA+ID4gPiA+ID4+Pj4gYXBwcm9wcmlhdGUgdG9nZXRo ZXIuCj4gPiA+ID4gPiA+Pj4+Cj4gPiA+ID4gPiA+Pj4+IEplc3MKPiA+ID4gPiA+ID4+Pj4KPiA+ ID4gPiA+ID4+Cj4gPiA+ID4gPiA+Pgo+ID4gPiA+ID4gPj4gX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX18KPiA+ID4gPiA+ID4+IGxpbnV4LXJpc2N2IG1haWxp bmcgbGlzdAo+ID4gPiA+ID4gPj4gbGludXgtcmlzY3ZAbGlzdHMuaW5mcmFkZWFkLm9yZwo+ID4g PiA+ID4gPj4gaHR0cDovL2xpc3RzLmluZnJhZGVhZC5vcmcvbWFpbG1hbi9saXN0aW5mby9saW51 eC1yaXNjdgo+ID4gPiA+ID4gPgo+ID4gPiA+ID4gPgo+ID4gPiA+ID4gPgo+ID4gPiA+ID4gPiAt LQo+ID4gPiA+ID4gPiBSZWdhcmRzLAo+ID4gPiA+ID4gPiBBdGlzaAo+ID4gPiA+ID4gPgo+ID4g PiA+ID4gPiBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwo+ ID4gPiA+ID4gPiBsaW51eC1yaXNjdiBtYWlsaW5nIGxpc3QKPiA+ID4gPiA+ID4gbGludXgtcmlz Y3ZAbGlzdHMuaW5mcmFkZWFkLm9yZwo+ID4gPiA+ID4gPiBodHRwOi8vbGlzdHMuaW5mcmFkZWFk Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL2xpbnV4LXJpc2N2Cj4gPiA+ID4gPiA+Cj4gPiA+ID4KPiA+ ID4gPgo+ID4gPiA+Cj4gPiA+ID4KPiA+ID4KPiA+ID4KPiA+ID4KPiA+ID4KPiA+ID4KPiA+Cj4g Pgo+Cj4KPgo+CgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f XwpsaW51eC1yaXNjdiBtYWlsaW5nIGxpc3QKbGludXgtcmlzY3ZAbGlzdHMuaW5mcmFkZWFkLm9y ZwpodHRwOi8vbGlzdHMuaW5mcmFkZWFkLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2xpbnV4LXJpc2N2 Cg==