On Sun, 2023-04-23 at 23:20:01 +0800, Bo YU wrote:...
Currently riscv32 has been supported upstream for a while[0] and people
can setup a riscv32 qemu with yocto[1], but it is time consuming.
There is no distro to support riscv32 AFAIK until now however I think
this will benefits users who want to setup riscv32 rootfs quickly if we
support this.
I think at the time when we added riscv64 we didn't also add riscv32
because it was not clear whether there was then interest or demand,
and I don't recall whether there were concerns about what ISA baseline
to choose? (But I guess this would use the default baseline specified currently by the compiler.)
Package: dpkg
Version: 1.21.21
Severity: wishlist
Tags: patch
User: debian-riscv@lists.debian.org
Usertags: riscv32
Currently riscv32 has been supported upstream for a while[0] and people
can setup a riscv32 qemu with yocto[1], but it is time consuming.
There is no distro to support riscv32 AFAIK until now however I think
this will benefits users who want to setup riscv32 rootfs quickly if we support this.
I thought the riscv32 has met the request[2] also.
Please let me know if there is any issue.
[0]: https://github.com/riscv-collab/riscv-gnu-toolchain#installation-linux [1]: https://github.com/riscv/meta-riscv
[2]: https://wiki.debian.org/Teams/Dpkg/FAQ#Q._Can_we_add_support_for_new_dpkg_architectures.3F
On Tue, Apr 25, 2023 at 04:22:49AM +0200, Guillem Jover wrote:
I thought the riscv32 has met the request[2] also.
I assume the ABI is set in stone and well defined.
Please let me know if there is any issue.
I think at the time when we added riscv64 we didn't also add riscv32 because it was not clear whether there was then interest or demand,
and I don't recall whether there were concerns about what ISA baseline
to choose? (But I guess this would use the default baseline specified currently by the compiler.)
There is no doubt that the porting of riscv64 is our first priority and
it's already in a good shape -- except for the official port.:(
For riscv32 case, I think it'd be pretty helpful to let users to setup
rv32 Debian rootfs or to let rv32 Debain run on RISC-V 32 bit hardware that will be emerged in the near future.
Here I simply assume that rv32 compiler with `--with-arch=rv32gc --with-abi=ilp32d`[0] is enough?
Hi!
support this.
Is your intention to create such port (unofficially or officially in
Debian)?
I thought the riscv32 has met the request[2] also.
I assume the ABI is set in stone and well defined.
Please let me know if there is any issue.
I think at the time when we added riscv64 we didn't also add riscv32
because it was not clear whether there was then interest or demand,
and I don't recall whether there were concerns about what ISA baseline
to choose? (But I guess this would use the default baseline specified >currently by the compiler.)
Thanks for the patch, I've adapted it slightly for the test suite (now
it passes «make authorcheck», and added the missing ABI tracking support,
but I think I'll split that into its own commit as that is affecting
riscv64 too.
(I'm in the process of preparing another upload to sid, ideally before
the release, and if this looks all good, I'd be inclined to include
part of this (probably not the ABI tracking bits) into that release,
to make adding such port possible in the near future.)
Thanks,
Guillem
On Tue, Apr 25, 2023 at 10:52:52PM +0800, Bo YU wrote:
On Tue, Apr 25, 2023 at 04:22:49AM +0200, Guillem Jover wrote:
I thought the riscv32 has met the request[2] also.
I assume the ABI is set in stone and well defined.
There are three ABIs for 32-bit RISC-V. They are well defined, but it is
not clear which ABI is being proposed for Debian here.
Please let me know if there is any issue.
I think at the time when we added riscv64 we didn't also add riscv32
because it was not clear whether there was then interest or demand,
and I don't recall whether there were concerns about what ISA baseline
to choose? (But I guess this would use the default baseline specified
currently by the compiler.)
There is no doubt that the porting of riscv64 is our first priority and
it's already in a good shape -- except for the official port.:(
For riscv32 case, I think it'd be pretty helpful to let users to setup
rv32 Debian rootfs or to let rv32 Debain run on RISC-V 32 bit hardware that >> will be emerged in the near future.
Do you have any references for this hardware?
Here I simply assume that rv32 compiler with `--with-arch=rv32gc
--with-abi=ilp32d`[0] is enough?
That is one choice, but not the only one.
The argument in favor of a 32-bit port of RISC-V is typically motivated by >the assumption that such processors will be smaller, in terms of the
hardware (i.e., ASIC gates or FPGA LUTs). However, as compared to rv64gc, >eliminating floating point typically provides a much more significant >decrease in size. Thus, often when one is talking about smaller, 32-bit >RISC-V processors, they *also* eliminate floating point. In other words,
the processors are rv32imac, not rv32gc.
In fact, I wouldn't be surprised if rv64imac processors were more common
than rv32gc, given the minimal hardware resources for 64-bit versus 32-bit, >all else being equal.
// darius
Hi,
On Tue, Apr 25, 2023 at 02:08:33PM -0400, Darius Rad wrote:
On Tue, Apr 25, 2023 at 10:52:52PM +0800, Bo YU wrote:
On Tue, Apr 25, 2023 at 04:22:49AM +0200, Guillem Jover wrote:
I thought the riscv32 has met the request[2] also.
I assume the ABI is set in stone and well defined.
There are three ABIs for 32-bit RISC-V. They are well defined, but it is
not clear which ABI is being proposed for Debian here.
Please let me know if there is any issue.
I think at the time when we added riscv64 we didn't also add riscv32
because it was not clear whether there was then interest or demand,
and I don't recall whether there were concerns about what ISA baseline >>> > to choose? (But I guess this would use the default baseline specified
currently by the compiler.)
There is no doubt that the porting of riscv64 is our first priority and
it's already in a good shape -- except for the official port.:(
For riscv32 case, I think it'd be pretty helpful to let users to setup
rv32 Debian rootfs or to let rv32 Debain run on RISC-V 32 bit hardware that >>> will be emerged in the near future.
Do you have any references for this hardware?
From my vague memory, there will be k230 fully support rv32 in userspace
from canaan. Sorry, I was trying to find news or useful url but fail
here.
Here I simply assume that rv32 compiler with `--with-arch=rv32gc
--with-abi=ilp32d`[0] is enough?
That is one choice, but not the only one.
The argument in favor of a 32-bit port of RISC-V is typically motivated by >> the assumption that such processors will be smaller, in terms of the
hardware (i.e., ASIC gates or FPGA LUTs). However, as compared to rv64gc, >> eliminating floating point typically provides a much more significant
decrease in size. Thus, often when one is talking about smaller, 32-bit
RISC-V processors, they *also* eliminate floating point. In other words,
the processors are rv32imac, not rv32gc.
In fact, I wouldn't be surprised if rv64imac processors were more common
than rv32gc, given the minimal hardware resources for 64-bit versus 32-bit, >> all else being equal.
Thanks for explaining this. Here are some of my thoughts about it.
I think, as a distribution, we should provide a basic baseline of
instruction set supported to cover most hardware vendors. We should not assume that hardware vendors will product their CPUs on a certain instruction
set.
In addition, refer to other 32-bit architectures, like armhf[1] and mips[2], They are also supporting floating point instructions(IIUC).
Also, keep
the same baseline with rv64, maybe it will reduce confusion for users.
I am not sure how much would we benefit from dropping support for 'F' or
'D', but maybe we can't lost something if we support full set(rv32gc)
from port's view.
[0]: https://www.canaan.io/
[1]: https://salsa.debian.org/toolchain-team/gcc/-/blob/master/debian/rules2#L485
[2]: https://salsa.debian.org/toolchain-team/gcc/-/blob/master/debian/rules2#L646
// darius
--
Regards,
--
Bo YU
If you talk about the baseline ABI according to hardware, yeah, this
is still open.
Thanks for more background here. I thought this might lead to a wider discussion before solid ABI as pabs' suggestion.
Sysop: | Keyop |
---|---|
Location: | Huddersfield, West Yorkshire, UK |
Users: | 546 |
Nodes: | 16 (0 / 16) |
Uptime: | 170:38:05 |
Calls: | 10,385 |
Calls today: | 2 |
Files: | 14,057 |
Messages: | 6,416,559 |