Debian Riscv64 port in mid 2019
people.debian.org
people.debian.org
Hopefully this will help motivate expanding architecture-support for LLVM, and by proxy Rust.
When the Spectre and Meltdown family of security debacles surfaced, cmov was promoted as a way to choke off speculative execution. But that suggests, also, that cmov would be bad for performance in places where cross-process security isn't a concern.
Did something important change, or did I misunderstand? Maybe only cmov memory -> register blocks speculation?
Yes, exactly. And until then, every time a new dependency on LLVM (or by extension on Rust) appears, users of architectures LLVM doesn't target complain bitterly and threaten to fork the last version without that dependency. (This argument has happened for Firefox, rsvg, and recently bzip2.)
On Amiga, where programs typically all live in the same shared memory space, this is not a great concern for a regular user. It could be useful for developers and some specialist applications, and of course for more modern OS models.
I own a V500v2+ and it's an awesome board, but this kind of thing drives me nuts.
It has other silly limitations, such as the kickstart being embedded in the fpga core, which is not open source. There's no way for an user to boot to a custom kickstart; At most, it's possible to softkick one after first boot.
Some of these are using netbsd/m68k (like me), with some overlap.
I'm hoping to move my A1200 to my current location soon and install current versions. The A500+ and A600 I have with me do not have a capable (MMU) CPU.
The last time I had cli-only on Debian (couldn't get X to work), and had X on netbsd.
No GPU, just AGA. Any GPU would make X much easier AIUI.
https://github.com/thepowersgang/mrustc
It's still a work in progress, with only x86 even supported. It's not a GCC frontend, it generates C, and is based on an old version of rust (1.19). Right now I think it's only useful to bootstrap rust, but that doesn't help you get a backend for another architecture.
That said, I feel like we may be talking past each other... what I'm saying is, to get support for riscv64, you don't need to do a full new bootstrap. Maybe I'm misunderstanding the point of the thread.
We don't need to bootstrap from scratch, Rust (via LLVM) can cross-compile very easily once riscv64 support is added.
In practise I am already cross-compiling amd64->mips/mipsel for every stable Rust release on my home box, because a native mips rustc compile runs out of memory on those 32-bit machines. [1] The cross-compiled mips works completely fine to build smaller rust packages, e.g cargo [2] ripgrep [3]
[1] https://github.com/rust-lang/rust/issues/56888 [2] https://buildd.debian.org/status/package.php?p=cargo [3] https://buildd.debian.org/status/package.php?p=rust-ripgrep
Just can't live without that popcount.
There's some work to be done in rust on portability - it's been a problem in pkgsrc too.
In any case, as one of the maintainers of the Fedora/RISC-V port (we also work closely with Debian) we're relaxed about kernel changes, because those are simple to make. (The big problems are changes in userspace code and glibc)
Seeedstudio has an "Arduino'esc" RISC-V board for around USD 30 which looks very interesting. [1]
This board [2] also looks very interesting but is around USD 1000 and I can't find any comparisons on performance to a "regular" PC. I know these things are like comparing apples to oranges but I would like to know how for example a browser performs loading a webpage in comparison with another CPU.
There also appears to be an expansion board with PCI so you can add a GPU for USD 2000. [3]
[1] https://www.seeedstudio.com/Sipeed-Maixduino-Kit-for-RISC-V-...
[2] https://www.sifive.com/boards/hifive-unleashed
[3] https://www.crowdsupply.com/microsemi/hifive-unleashed-expan...
https://dmitry.gr/index.php?r=05.Projects&proj=07.%20Linux%2...
Therefore, they're not a good choice to base a project on.
I do look forward at low power microcontrollers based on risc-v with some actual commitment to continued availability.
Perhaps ironically, we took squeamish from French escoymous, but substituted "our" suffix.
"We will produce a SoC design to populate a low-cost community development board and to act as an ideal starting point for derivative open-source and commercial designs." - https://www.lowrisc.org/docs/untether-v0.2/
If that's insufficient, your best bet is to get a risc-v capable FPGA.