On Mon, Apr 22, 2024 at 1:12 PM Florian Weimer <fweimer@xxxxxxxxxx> wrote: > > * David Abdurachmanov: > > > We most likely will not have ABIs installed in parallel, but we might > > change ABI. Currently Linux distributions target "RV64GC", but we > > don't really want that for the future RISC-V. I keep telling folks > > that "RV64GC" is already "a legacy" (10+ years old), but that's the > > major target for the next few years. We are scheduled to see some > > RVA22 SBCs this year. > > > > RV64GC -> RVA20 -> RVA22 -> RVA23 -> RVA24. > > > > That's how things evolved. RVA23 most likely will be ratified soonish. > > RVA24 is most likely the next major RISC-V Profile from RVI point of > > view (TBD). Server specifications are based on RVA23 (and will be > > updated to RVA24 [most likely]). This defines baseline ISA, optional > > extensions, etc. > > Is there really an ABI change, though? That would only happen if the > set of callee-saved registers grows, to include vector registers. > Adding new registers has compatibility problems on its own. There are two conventions for vectors in RISCV psABI: "standard" and "calling" (not the best name). standard does not have preserved registers across calls. calling one does (similar to what you would expect from AVX). The default today is standard, which means that -march=rv64gv -mabi=lp64d enables vectors and we can mix them with existing binaries. This is a very limited use of vectors. GCC 14 is the 1st release that has vector support for RISCV. There might be suggestions to add lp64dv as ABI in the future (maybe GCC 15? Unknown) that would default to the vector calling convention. There might be more extensions that could require ABI change IIUC, but I don't recall the details. RVA23 requires vectors, and vector crypto. Android will also require vectors, it's not an option. I hope that once RVA23 and especially RVA24 lands, RVI will announce the next major RISCV profile (RVA24, might have a fancier marketing name). We will see what the market does, but we have already seen some cores being marketed as RVA24 (yet I don't really trust that). Once we start looking at the next baseline ISA we might as well pick the best ABI for it. We could call this "Fedora/RISCV.Next". RV64GC will probably be 10-15 years old by that time, and it lacks any modern ISA especially if you want high performance. I consider RVA24 a point where we close major gaps between RISCV and other popular arches. Cheers, david > > Fedora might want to switch to an ISA baseline that is incompatible with > all currently available CPUs, but that's not necessarily an ABI break as > such. > > Thanks, > Florian > -- _______________________________________________ devel mailing list -- devel@xxxxxxxxxxxxxxxxxxxxxxx To unsubscribe send an email to devel-leave@xxxxxxxxxxxxxxxxxxxxxxx Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/ List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines List Archives: https://lists.fedoraproject.org/archives/list/devel@xxxxxxxxxxxxxxxxxxxxxxx Do not reply to spam, report it: https://pagure.io/fedora-infrastructure/new_issue