Help me understand this better.
From what I have read online, since arm just licenses their ISA and each vendor’s CPU design can differ vastly from one another unlike x86 which is standard and only between amd and Intel. So the Linux support is hit or miss for arm CPUs and is dependent on vendor.
How is RISC-V better at this?. Now since it is open source, there may not be even some standard ISA like arm-v8. Isn’t it even fragmented and harder to support all different type CPUs?
RISC-V is better for Linux due to driver support. Vendors making hardware are more likely to use RISK-V for their controllers due to the costs. Modern computers are putting more functions under control of kernels that run on proprietary compute. (There exists a chart showing how little the Linux kernel directly controls.) As more of those devices run RISC-V, they will become more discoverable.
Also, those that can design or program tge devices will have more transferrable skills. Leading to the best designs spreading, and all designs improving.
Places in a computer with compute (non-exhaustive, not all candidates for RISC-V):
BMC
Soundcard (or subsystem on mainboard)
Video card (GPU and the controller for the GPU)
Storage drives
Networking
Drive interface controlling card
Mainboard (not BMC)
Keyboard
Mouse
Monitor
UPS
Printer
Will it be perfect? Nope.
A lot of the vendors will lock things up as well.
I’d be greatly interested in seeing this chart
USENIX ATC '21/OSDI '21 Joint Keynote Address-It’s Time for Operating Systems to Rediscover Hardware
Timothy Roscoe, ETH Zurich
https://youtu.be/36myc8wQhLo
At 19:22
examples he gives are what you’d expect:
Many systems on the chip that Linux doesn’t have control over, and could be compromised by a cross SoC attack
Thank you for pulling the image out.
This talk surprised me at the time. I was starting the eye opening experience of design hardware. Linux more orchestrates the hardware than controlling it.
For me it opened my eyes to the idea that all you really need is some CPU time and a little RAM space to have a full-fledged performative system. Sure, there will be a large attack vector for remote spying, but if you just want to code and play games then it’s pretty amazing how little you need :-)