Status of the various RISC-V specification and policy

Palmer Dabbelt palmer at dabbelt.com
Wed Sep 29 12:01:55 PDT 2021


On Tue, 28 Sep 2021 16:23:56 PDT (-0700), atishp at atishpatra.org wrote:
> On Tue, Sep 28, 2021 at 3:43 PM Palmer Dabbelt <palmer at dabbelt.com> wrote:
>>
>> On Tue, 28 Sep 2021 13:05:53 PDT (-0700), atishp at atishpatra.org wrote:
>> > On Tue, Sep 28, 2021 at 11:34 AM Palmer Dabbelt <palmer at dabbelt.com> wrote:
>> >>
>> >> On Mon, 27 Sep 2021 08:57:15 PDT (-0700), markhimelstein at riscv.org wrote:
>> >> > the words in this document :
>> >> >
>> >> > https://wiki.riscv.org/plugins/servlet/mobile?contentId=13098230#content/view/13098230
>> >> >
>> >> > make it very clear when changes are allowed or not and likely or not.
>> >> >
>> >> > if you think the verbiage is somehow ambiguous please help us make it better.
>> >>
>> >> I'm not really worried about changes, I'm worried about a committment to
>> >> future compatibility.  When we take code into the kernel (and most other
>> >> core systems projects) we're taking on the burden of supporting (until
>> >> someone can prove there are no more users), which is very difficult to
>> >> do when the ISA changes in an incompatible fashion.  The whole point of
>> >> agreeing on the frozen thing was that it gave us a committment from the
>> >> specifcation authors that the future ISA would be compatible with th
>> >> frozen extensions.
>> >>
>> >> We're already in this spot with the V extension and the whole stable
>> >> thing, this definitaion of frozen looks very much like what was has led
>> >> to the issues there.  Saying the spec won't change really isn't
>> >> meaningful, it's saying future specs will be compatible that's
>> >> important.  Nothing in this whole rule touches on compatibility, and I
>> >> really don't want to end up in a bigger mess than we're already in.
>> >>
>> >> (Also: some PGE subcontractor drove a crane into my house, so things are
>> >> a bit chaotic on my end.  If you have that list of what's officially
>> >> frozen, can you send it out?  I'll try to take a look ASAP, as then I
>> >> can at least focus the discussion on what's relevant right now.)
>> >
>> > Here is the list of the specs that are frozen.
>> > https://wiki.riscv.org/display/TECH/ISA+Extensions+On+Deck+for+Freeze+Milestone
>>
>> How does that indicate what is frozen?  I see "ISA Extensions On Deck
>> for Freeze Milestone" as the title, which makes it sound like these are
>> extension that are not yet frozen but will be eventually.
>
> Any row with "top sheet" complete and "out for public review" is frozen.
> The life cycle document[1] that I shared earlier in this thread also
> says the same i.e. any specification that is out for public review is
> frozen.
> Stephano also sent out a public email about all the specifications
> that are frozen.
>
> However, I understand that you need to do a little bit of deduction to
> understand what is frozen.
> @Stephano(already cc'd here)
>
> Can you add a separate column clearly indicating that "Freeze" status
> for each of those specifications in the wiki link.

Is meant to be the complete list of what is frozen?

I'd expect any list of things that are frozen to contain the specs we've 
been working with for a while (priv-1.11, all the user 2.0 specs, etc).  
There was some talk about the SBI stuff that was called out as frozen 
before this process not actually being frozen, are those other specs in 
the same spot and if so are they going to end up being frozen?

That reminds me about this other set of specifications, sometimes called 
software specifications.  There's a list of "Non-ISA Extensions On Deck 
for Freeze Milestone" here: 
https://wiki.riscv.org/display/TECH/Non-ISA+Extensions+On+Deck+for+Freeze+Milestone 
.  That's got a frozen column in the table, but the table itself is 
pretty much empty.  We've had a bunch of confusing statements about 
those specifications being frozen, were the statements inaccurate, is 
that table inaccurate, and will that table be an additional list of 
frozen specifications?

>
> [1] https://docs.google.com/presentation/d/1nQ5uFb39KA6gvUi5SReWfIQSiRN7hp6z7ZPfctE4mKk/edit#slide=id.p1
>>
>> Scrolling down to the end of that list, it lists pointer masking.  The
>> best I can find is
>> https://github.com/riscv/riscv-j-extension/blob/master/pointer-masking-proposal.adoc
>> , which says "Version: v0.1-draft", which definately doesn't sound
>> frozen.  The README says "Working Draft of the RISC-V J Extension
>> Specification", which also doesn't sound frozen.
>>
>> > I will let Mark comment on the compatibility thing.
>> >
>> >>
>> >> >
>> >> > Mark
>> >> > --------
>> >> > sent from a mobile device. please forgive any typos.
>> >> >
>> >> >> On Sep 27, 2021, at 8:50 AM, Palmer Dabbelt <palmer at dabbelt.com> wrote:
>> >> >>
>> >> >> On Tue, 21 Sep 2021 17:20:17 PDT (-0700), atishp at atishpatra.org wrote:
>> >> >>> Hi All,
>> >> >>> Please find the below email from Stephano about the freeze announcement for
>> >> >>> various RISC-V specifications that will be part of privilege specification
>> >> >>> v1.12.
>> >> >>> All the review discussions are happening in the isa-dev mailing list. The
>> >> >>> review period will be open for 45 days ending Sunday October 31, 2021.
>> >> >>>
>> >> >>> I just want to highlight the fact that the *H*, *V, SvPBMT, CMO extensions
>> >> >>> are frozen now. *This will help us merge some patches that have been
>> >> >>> present in the mailing list for a while.
>> >> >>>
>> >> >>> Here are the ratification policy and extension life cycle documents present
>> >> >>> in the public. If you have any questions regarding this, please check with
>> >> >>> Mark/Stephano (cc'd).
>> >> >>>
>> >> >>> Ratification policy:
>> >> >>> https://docs.google.com/document/d/1-UlaSGqk59_myeuPMrV9gyuaIgnmFzGh5Gfy_tpViwM/edit
>> >> >>>
>> >> >>> Extension life cycle:
>> >> >>> https://docs.google.com/presentation/d/1nQ5uFb39KA6gvUi5SReWfIQSiRN7hp6z7ZPfctE4mKk/edit#slide=id.p1
>> >> >>
>> >> >> I'm still buried after Plumbers, but one of the bits on my TODO list was to look throught the new definitions for frozen and stable.  Nothing in this extension life cycle talks about the point at which compatibility will be maintained, which was really the central point behind frozen before.
>> >> >>
>> >> >> Are there more concrete definitions somewhere?
>> >
>> >
>> >
>> > --
>> > Regards,
>> > Atish
>
>
>
> -- 
> Regards,
> Atish



More information about the linux-riscv mailing list