FW: [riscv/riscv-platform-specs] RVM platform requirements (#25)
toggle quoted messageShow quoted text
Forwarding to tech mailing list.
From: Torbjørn Viem Ness <notifications@...>
Sent: Monday, June 28, 2021 1:34 PM
To: riscv/riscv-platform-specs <riscv-platform-specs@...>
Cc: Subscribed <subscribed@...>
Subject: [riscv/riscv-platform-specs] RVM platform requirements (#25)
Is it realistic to require RV32G in order to comply with the RVM platform? It seems like a more natural choice would be RV32IMAF, as RV32D is pretty heavy on the floating-point for small microcontrollers (most Cortex-M devices don't even have double precision support in hardware, that's only available in the M55 and M7).
Also the C extension would make sense to include as embedded applications are quite sensitive to code size, but that's probably a different discussion worthy of its own issue...
On Mon, Jun 28, 2021 at 2:03 PM Kumar Sankaran <ksankaran@...> wrote:
Keep in mind the distinction between RVM ISA profile specs and M platform specs. I would expect that the M platform spec would require the RVM ISA profile spec. But all the individual FP and C extensions are "Optional" in RVM20 and RVM22. The M profile specs generally take the approach of setting a low "Required" bar and specify many extensions as supported but "Optional".
So the M 2022 platform spec can either simply accept that through its requirement for RVM22, or it can add on requirements for the F and C extensions (and possibly some other extensions). Essentially the M platform spec can choose to require everything that constitutes RV32GC/RV64GC, or to stop a bit short (e.g. not requiring D), or stop way short.
I don't have a horse in this race, but I can imagine there being people on both sides of the argument as to whether the M platform spec should require more than what is required in the M profile spec, and if so how much more.