StarFive VisionFive 2 SBC Now Supports TianoCore EDK II (UEFI)
forum.rvspace.org
forum.rvspace.org
From "Beyond BIOS" https://www.degruyter.com/document/doi/10.1515/9781501505690...:
"The advantages of having TE as a subset of PE include the ability to use standard, available tools, such as linkers, which can be used during the development process. Only during the final phases of the FV image creation does the tool chain need to convert the PE image into a TE. This similarity extends to the headers and the relocation records. In order to have an in-situ agent, such as a debugger nub, distinguish between the PE and TE images, the signature field has been slightly modified. For the PE, the signature is “MZ” for Mark Zbikowski, the designer of the Microsoft DOS† image format, the origin of the PE/COFF image. For the TE image, the signature is “VZ”, as found at the end of Volume 1 of the UEFI PI specification:
#define EFI_TE_IMAGE_HEADER_SIGNATURE 0x5A56 // "VZ"
This one character difference allows for sharing of debug scripts and code that only need to distinguish between the PE and TE via this one character of the signature field. Although the development and design team eschewed use of proper names in code or the resultant binaries, the “VZ” and “Vincent Zimmer” association appeared harmless, especially given the interoperability advantages."This would not be compliant with RISC-V specifications.
There's no boards in the market that I am aware of which run Linux and yet do not follow the boot specifications, which among other things require the use of device trees.
>there's little incentive
... to deviate from the specifications, and opt out of all the benefits of being a compliant implementation.
There's severe costs incurred by not leveraging the ecosystem.
I think that's the case where it's easy for a vendor to do so; see, for example:
- https://elixir.bootlin.com/linux/latest/source/arch/arm64/bo...
- https://elixir.bootlin.com/linux/latest/source/arch/arm64/bo...
- https://elixir.bootlin.com/linux/latest/source/arch/arm64/bo...
What?
> the boot specifications
Where?
> There's severe costs incurred by not leveraging the ecosystem
How?
In this respect Risc-V is much, much more closed than Arm64, where we have the totally-blobless RK3399.
Ultimately Risc-V is about vendor-freedom at all costs, even at the cost of owner-freedom.
For one, I am very excited about the tiny CH32V003 ([1], [2]), a RISC-V 48 MHz microcontroller that costs ~$0.10 and can be programmed with completely open-source tools, see [3] and [4].
I am reasonably sure the higher end of the spectrum of RISC-V chips will also get better in terms of user-friendliness.
1. https://www.youtube.com/watch?v=L9Wrv7nW-S8
2. http://www.wch-ic.com/products/CH32V003.html
It is not even required for litting up the screen, as the HDMI controller is a separate hardware block, not is it required for video decoding acceleration, another separate hardware block.
Tap that market, and doors will open!
Un/fortunately nobody don't want a riscv laptop. The (currently available) cores just aren't good.
https://github.com/ARM-software/arm-trusted-firmware/tree/ma...
I guess Qualcomm has some pull.? Although they do have some code in Coreboot.
https://doc.coreboot.org/soc/qualcomm/sc7180/index.html
https://elixir.bootlin.com/coreboot/latest/source/src/soc/qu...
The non-rewritable ROM inside the SoC does just take care of reading the microswitches and fetching u-boot SPL (or oreboot, an alternative early bootloader in the works).
Remarkably, the boot selection can be UART. This small ROM has an XMODEM implementation for receiving the early bootloader.
u-boot SPL does then check the microswitches again for where to fetch the next stage, which is usually opensbi with u-boot as bundled payload.
Relevant specifications include but aren't limited to SBI[0], UEFI protocol[1] and the ongoing platform specification[2].
RISC-V is quite ready to take over the datacenter, workstation and laptop markets, while dodging the issues derived from bespoke everything which other architectures challenging x86 suffer from.
0. https://github.com/riscv-non-isa/riscv-sbi-doc/releases
The only thing missing: fast power-efficient core designs. Eh, how hard could that be? Other than that one little thing, totally ready to take over the datacenter.
Really hard.
>Other than that one little thing
Not a little thing at all, but it is being taken care of by competent architects, who have succeeded at making very competitive high performing micro-architectures in the past.
We know about Ventana Veyron, TBA before end of year, and Tenstorrent's Ascalon, TBA 2024, led by Wei-han Lien, previously lead architect of Apple M1.
Ascalon is 8-wide, but also has smaller siblings at lesser decoder width, to cover a range of uses. According to a recent presentation by Jim Keller, it is expected to be competitive with projected Zen5 (also TBA 2024) performance but using considerably less power.
There's also strong teams at Rivos, MIPS and SiFive working on very high performance cores, but we know less about these efforts.
I know it is hard, which is why i am skeptical. XYZ is "working on" fast cores is years to decades away from "Server with XYZ cores now available to buy from vendor ABC"
PDKs and un-core stuff (PCIe & USB IP) is I think the main constraint keeping these chips from doing great already.
Today there's several shops offering them, including many options in aliexpress.
We were having issues with the manufacturer but luckily we have been able to deal with those without compromising our customers data. We were supposed to receive all the boards that we needed to fulfill all pre-orders, but the manufacturer sent us just half of the items. We have already started shipping the ones that we received this week, we are hoping to continue to fulfill those during this week and receive the reminder of boards in the next few weeks.
If you want to check the status of your particular order please email us to orders@ameridroid.com and I will be happy to check that out for you.