Platform specification: ISA Profile Requirements


Heinrich Schuchardt
 

The draft of the RISC-V platform specification available as https://github.com/riscv/riscv-platform-specs/blob/main/riscv-platform-spec.adoc requires conformance to:

- RVA22U profile for user-mode.
- RVA22S profile for supervisor-mode.
- RVM20M64 profile for machine-mode.

A link to the RISC-V profiles specification is provided as:

[11] RISC-V Profiles Specification, Version: draft-8e8951987e2a
https://github.com/riscv/riscv-profiles/blob/master/profiles.adoc

As of commit 8e8951987e2a3751a73717b2beb5450bf2221af1 the RISC-V profiles specification neither defines a RFA22U nor a RVA22S profile.
The profiles mentioned in that specification are RVA20U and RVA20S.

The profile specification is in no state to be ratified in the near future. If we want to ratify the platform specification before the profile specification, do we have to replace the profile references by concrete requirements?

Best regards

Heinrich


mark
 

I suggest we use the full names:

RVA22U64
RVA22S64
RVA22M64

why are we doing RVM20 and not RVM22 for M-profile? 

Can I presume that this is OS/A only and not M-platform? when we do that we will need RVM22[USM]32 as well.

On Thu, Oct 7, 2021 at 12:32 AM Heinrich Schuchardt <heinrich.schuchardt@...> wrote:
The draft of the RISC-V platform specification available as
https://github.com/riscv/riscv-platform-specs/blob/main/riscv-platform-spec.adoc
requires conformance to:

- RVA22U profile for user-mode.
- RVA22S profile for supervisor-mode.
- RVM20M64 profile for machine-mode.

A link to the RISC-V profiles specification is provided as:

[11] RISC-V Profiles Specification, Version: draft-8e8951987e2a
https://github.com/riscv/riscv-profiles/blob/master/profiles.adoc

As of commit 8e8951987e2a3751a73717b2beb5450bf2221af1 the RISC-V
profiles specification neither defines a RFA22U nor a RVA22S profile.
The profiles mentioned in that specification are RVA20U and RVA20S.

The profile specification is in no state to be ratified in the near
future. If we want to ratify the platform specification before the
profile specification, do we have to replace the profile references by
concrete requirements?

Best regards

Heinrich






Heinrich Schuchardt
 

On 10/7/21 16:15, Mark Himelstein wrote:
I suggest we use the full names:
RVA22U64
RVA22S64
RVA22M64
why are we doing RVM20 and not RVM22 for M-profile?
Can I presume that this is OS/A only and not M-platform? when we do that we will need RVM22[USM]32 as well.
Is there any document defining RVA22(USM)64 profiles?

There is nothing in the profile specification document referenced by the platform specification.

My expectation is that when looking up a reference I find the referenced objects.

Best regards

Heinrich


mark
 

a very incomplete profile spec here.
a spreadsheet with the contents of each here.

On Thu, Oct 7, 2021 at 8:00 AM Heinrich Schuchardt <heinrich.schuchardt@...> wrote:
On 10/7/21 16:15, Mark Himelstein wrote:
> I suggest we use the full names:
>
> RVA22U64
> RVA22S64
> RVA22M64
>
> why are we doing RVM20 and not RVM22 for M-profile?
>
> Can I presume that this is OS/A only and not M-platform? when we do that
> we will need RVM22[USM]32 as well.

Is there any document defining RVA22(USM)64 profiles?

There is nothing in the profile specification document referenced by the
platform specification.

My expectation is that when looking up a reference I find the referenced
objects.

Best regards

Heinrich


David Abdurachmanov
 

On Thu, Oct 7, 2021 at 6:00 PM Heinrich Schuchardt
<heinrich.schuchardt@...> wrote:

On 10/7/21 16:15, Mark Himelstein wrote:
I suggest we use the full names:

RVA22U64
RVA22S64
RVA22M64

why are we doing RVM20 and not RVM22 for M-profile?

Can I presume that this is OS/A only and not M-platform? when we do that
we will need RVM22[USM]32 as well.
Is there any document defining RVA22(USM)64 profiles?

There is nothing in the profile specification document referenced by the
platform specification.

My expectation is that when looking up a reference I find the referenced
objects.
There is a Google Sheets document that tracks dependencies and status.
RVA22 and RVM22 profiles are listed there with status marked as red.
There is no target date set too.

Note sure if it's up to date, but here it is:
https://docs.google.com/spreadsheets/d/1J4kqyW9tPxqY1CGcJUQsmtHt3FYlqGi_erWQGrmoQtU/edit?usp=sharing

Cheers,
david


Best regards

Heinrich





Heinrich Schuchardt
 

On 10/7/21 17:12, David Abdurachmanov wrote:
On Thu, Oct 7, 2021 at 6:00 PM Heinrich Schuchardt
<heinrich.schuchardt@...> wrote:

On 10/7/21 16:15, Mark Himelstein wrote:
I suggest we use the full names:

RVA22U64
RVA22S64
RVA22M64

why are we doing RVM20 and not RVM22 for M-profile?

Can I presume that this is OS/A only and not M-platform? when we do that
we will need RVM22[USM]32 as well.
Is there any document defining RVA22(USM)64 profiles?

There is nothing in the profile specification document referenced by the
platform specification.

My expectation is that when looking up a reference I find the referenced
objects.
There is a Google Sheets document that tracks dependencies and status.
RVA22 and RVM22 profiles are listed there with status marked as red.
There is no target date set too.
Note sure if it's up to date, but here it is:
https://docs.google.com/spreadsheets/d/1J4kqyW9tPxqY1CGcJUQsmtHt3FYlqGi_erWQGrmoQtU/edit?usp=sharing
Cheers,
david
Thank you for the link.

Unfortunately this is not a specification document that we could possibly reference in the platform specification.

So should we put explicit requirements into the platform specification instead of references to some working documents that may or may not ever become a specification?

Best regards

Heinrich


Greg Favor
 

On Thu, Oct 7, 2021 at 12:32 AM Heinrich Schuchardt <heinrich.schuchardt@...> wrote:
- RVA22U profile for user-mode.
- RVA22S profile for supervisor-mode.
- RVM20M64 profile for machine-mode.

These are place holders in the platform spec until these profiles are actually defined.  The Machine-level profile, in particular, will be updated based on the actual definition of RVA22M.  As of earlier this week, it looks like RVA22M will be defined with a suitably reduced set of required extensions (compared to the RVA22 U and S profiles) to be appropriate to be directly referenced by the platform spec.  In the meantime RVM20M64 reflects roughly what is desired for the platform spec.
 
As of commit 8e8951987e2a3751a73717b2beb5450bf2221af1 the RISC-V
profiles specification neither defines a RFA22U nor a RVA22S profile.
The profiles mentioned in that specification are RVA20U and RVA20S.

This doc is very incomplete since it is only starting to be created.
 
The profile specification is in no state to be ratified in the near
future. If we want to ratify the platform specification before the
profile specification, do we have to replace the profile references by
concrete requirements?

The platform spec cannot be frozen until the associated profile specs are frozen.  Once the profile specs are Stable (i.e. even before being Frozen), the platform's profile references will be updated appropriately.

Greg


Greg Favor
 

On Thu, Oct 7, 2021 at 7:15 AM mark <markhimelstein@...> wrote:
why are we doing RVM20 and not RVM22 for M-profile? 

This was done as tentative placeholder based on not knowing at that time whether the RVA22M profile will be similar to the RVA22 S and U profiles with regards to the set of extensions that are required.  (What's needed is for the Machine-level profile requirement to be a much smaller subset of extensions than the other two profiles.)

As my last email noted, it's starting to look like RVA22M will be defined in a way that matches what the platform spec needs - in which case the platform spec will refer to RVA22M instead of the current placeholder reference.

Greg
 

Can I presume that this is OS/A only and not M-platform? when we do that we will need RVM22[USM]32 as well.

On Thu, Oct 7, 2021 at 12:32 AM Heinrich Schuchardt <heinrich.schuchardt@...> wrote:
The draft of the RISC-V platform specification available as
https://github.com/riscv/riscv-platform-specs/blob/main/riscv-platform-spec.adoc
requires conformance to:

- RVA22U profile for user-mode.
- RVA22S profile for supervisor-mode.
- RVM20M64 profile for machine-mode.

A link to the RISC-V profiles specification is provided as:

[11] RISC-V Profiles Specification, Version: draft-8e8951987e2a
https://github.com/riscv/riscv-profiles/blob/master/profiles.adoc

As of commit 8e8951987e2a3751a73717b2beb5450bf2221af1 the RISC-V
profiles specification neither defines a RFA22U nor a RVA22S profile.
The profiles mentioned in that specification are RVA20U and RVA20S.

The profile specification is in no state to be ratified in the near
future. If we want to ratify the platform specification before the
profile specification, do we have to replace the profile references by
concrete requirements?

Best regards

Heinrich






Greg Favor
 

On Thu, Oct 7, 2021 at 8:00 AM Heinrich Schuchardt <heinrich.schuchardt@...> wrote:
Is there any document defining RVA22(USM)64 profiles?

Once defined, the profiles document will contain these.
 
There is nothing in the profile specification document referenced by the
platform specification.

My expectation is that when looking up a reference I find the referenced
objects.

That will be true once the profile definitions exist.  In the meantime the platform spec is using placeholder references.

Greg


Greg Favor
 

On Thu, Oct 7, 2021 at 8:12 AM mark <markhimelstein@...> wrote:
a very incomplete profile spec here.
a spreadsheet with the contents of each here.

Big caveat:  These are far from stable and essentially are just very early work product.  So discount whatever you see and feel the need to comment on.  It is too early to have people spend any time looking at / reviewing these.  That will happen once a reasonable draft is in place that is useful for people to look at.

Greg


Greg Favor
 

On Thu, Oct 7, 2021 at 8:23 AM Heinrich Schuchardt <heinrich.schuchardt@...> wrote:
So should we put explicit requirements into the platform specification
instead of references to some working documents that may or may not ever
become a specification?

The profile specs WILL come to exist and the platform specs CANNOT be frozen until the profile specs are frozen.  So the current placeholder profile references are simply that and nothing to fret over.  The current goal is to have draft profiles that can start being reviewed by some people in the next month or so, and then by more people, and then broadly.

Greg


mark
 

i suggest referring to the profile names and note that they are under development.

we said platforms has more time because of all of its dependencies



--------
sent from a mobile device. please forgive any typos.

On Oct 7, 2021, at 8:23 AM, Heinrich Schuchardt <heinrich.schuchardt@...> wrote:
On 10/7/21 17:12, David Abdurachmanov wrote:
On Thu, Oct 7, 2021 at 6:00 PM Heinrich Schuchardt
<heinrich.schuchardt@...> wrote:
On 10/7/21 16:15, Mark Himelstein wrote:
I suggest we use the full names:
RVA22U64
RVA22S64
RVA22M64
why are we doing RVM20 and not RVM22 for M-profile?
Can I presume that this is OS/A only and not M-platform? when we do that
we will need RVM22[USM]32 as well.
Is there any document defining RVA22(USM)64 profiles?
There is nothing in the profile specification document referenced by the
platform specification.
My expectation is that when looking up a reference I find the referenced
objects.
There is a Google Sheets document that tracks dependencies and status.
RVA22 and RVM22 profiles are listed there with status marked as red.
There is no target date set too.
Note sure if it's up to date, but here it is:
https://docs.google.com/spreadsheets/d/1J4kqyW9tPxqY1CGcJUQsmtHt3FYlqGi_erWQGrmoQtU/edit?usp=sharing
Cheers,
david
Thank you for the link.

Unfortunately this is not a specification document that we could possibly reference in the platform specification.

So should we put explicit requirements into the platform specification instead of references to some working documents that may or may not ever become a specification?

Best regards

Heinrich


mark
 

please notice that what greg said is clearly documented at the top of both. In our parlance they are considered discussion documents and not even at the level of being in development

On Thu, Oct 7, 2021 at 8:35 AM Greg Favor <gfavor@...> wrote:
On Thu, Oct 7, 2021 at 8:12 AM mark <markhimelstein@...> wrote:
a very incomplete profile spec here.
a spreadsheet with the contents of each here.

Big caveat:  These are far from stable and essentially are just very early work product.  So discount whatever you see and feel the need to comment on.  It is too early to have people spend any time looking at / reviewing these.  That will happen once a reasonable draft is in place that is useful for people to look at.

Greg