My progress on real RISC-V hardware

exactly … they start to aggressively throw themselves into the market becoming competitive, have you noticed the gpu? it’s from imagination, former ex gpu suppliers for Apple … I found this video, they had already announced that they are also working on a RISC-V cpu

2 Likes

Hi yes. I backed it. But it has not the power of the laptop of course. But nice still and nice to tinker with. :slight_smile:

Not surprising, since they were doing MIPS before and the MIPS foundation annoucned that they are abandoning the MIPS architecture to support RISC-V instead.

However the PowerVR GPUs are not exactly known for being friendly with open source, I guess this will have to change if we want to see good support in most operating systems (and not just binary blobs for Linux).

4 Likes

we will see, I am optimistic, this time the world is really changing, I am referring especially to the European and US chips act. Besides Imagination, closing the business with Apple, I don’t think it has reasons to create obstacles, now everyone is opening up with opensource drivers even nvidia has given up, they are more convenient for everyone, and if they want to speed up their popularity on these new RISC-V platforms, so much the better that they use opensource divers

If I recall right there was recently a release of a PowerVR graphics driver for older PowerVR graphics units?

Also isnt the M1 APU a PowerVR derivat which gets currently reverse engineered?

I have not deepened the research, but it seems to make sense with the landing on the risc-v architecture…

If I understand correctly this one is planned to have a fully open source vulkan and OGLES3.x driver (without blobs I think). There is some info here: IMG BXE4-32 GPU Open Source Plan - GPU related - RVspace Forum

Edit: Actually I think it will have firmware blobs but open source shader compiler (so we should be able to have a haiku driver in theory!) Open Source GPU Driver - Imagination Developer

1 Like

do you think they chose the same methodology as nvidia? to make closed source firmware and opensource drivers?

i like where riscV is heading, now to get us companies behind it

It seems likely, that is the approach recommended by the Free Software Foundation in their “Respects Your Freedom” recommendations for hardware: if the software is embedded in a device and not upgradeable, it is not software but firmware, and then it doesn’t need to be free.

Personally I think this is a bit stupid in terms of free software and open hardware, but hey, it means the “intelligence” moves inside the graphics card and the drivers get simpler so we can more easily port them to Haiku. So let’s at least enjoy that :slight_smile:

6 Likes

Yea, the approach looks like this: they obfuscate what really happens between hardware and firmware and provide you with connection tubes to do what you want with the drivers … at least there is good that you can build on it a coherent integration with the rest of the operating system … it’s not the best, but it’s definitely better than it was before.

1 Like

to be honest, win the complexity of graphics drivers and hardware, this is a win period. better to let them fix the firmware.

What’s the current “best cheap board” to play with this? There seem to be some Nezha “clones” popping up, plus the LicheeRV and carrier, or is there only support for the high end platforms so far?

2 Likes

Haiku doesn’t support any cheap boards at the moment. Haiku developers might take an interest in VisionFive 2 or Pine64 Star64 soon-ish, but that is not certain. There are even cheaper boards, but they can’t even run desktop Linux, so I wouldn’t bother.

1 Like

With latest Haiku recent code, I can boot Haiku on MangoPi Pro (Allwinner Nezha d1 chip based).

link site: 芒果派 ( Mango Pi ), 小巧优雅的单板电脑 | mqpro

  1. build mainline u-boot according to Allwinner Nezha - linux-sunxi.org
  2. compiling the recent riscv64 haiku mmc image:
    1. with patch from : https://review.haiku-os.org/c/haiku/+/3880/1/src/system/boot/platform/efi/debug.cpp
    2. enable console dts for “snps,dw-apb-uart”:
    #if defined(__riscv)
    { "sifive,uart0", UART_KIND_SIFIVE, &get_uart<ArchUARTSifive> },
    { "snps,dw-apb-uart", UART_KIND_8250, &get_uart<DebugUART8250> },
    #elif defined(__ARM__)
    
  3. burn the mmc image to sdcard:
dd if=./haiku-mmc.image of=/dev/mmcblk0 conv=sync
dd if=../../nezha/u-boot/u-boot-sunxi-with-spl.bin of=/dev/mmcblk0 bs=1024 seek=8

Now I can reach:

efi/fdt: Probing for device trees from UEFI...
efi/fdt: Valid FDT from UEFI table 3, size: 36864
arch_smp_register_cpu()
cpu
  id: 0
  phandle: 61
PLIC contexts
  context 1: 61
    cpu id: 0
boot(): enter
boot(): heap initialized...
GOP protocol not found
Welcome to the Haiku boot loader!
Haiku revision: hrev56582
add_partitions_for(0x000000007ccaf258, mountFS = no)
add_partitions_for(fd = 0, mountFS = no)                                                                                                  
0x000000007ccaf2b0 Partition::Partition                                                                                                   
0x000000007ccaf2b0 Partition::Scan()                                                                                                      
check for partitioning_system: GUID Partition Map                                                                                         
EFI header: EFI PART                                                                                                                      
EFI revision: 10000                                                                                                                       
header size: 92                                                                                                                           
header CRC: 40b4b8ae                                                                                                                      
absolute block: 1                                                                                                                         
alternate block: 61067263                                                                                                                 
first usable block: 34                                                                                                                    
last usable block: 61067230                                                                                                               
disk GUID: f23f3ee2-d4b0-4e87-adf5-933f428ec18c                                                                                           
entries block: 2                                                                                                                          
entry size:  128                                                                                                                          
entry count: 128                                                                                                                          
entries CRC: 1c9aaef8                                                                                                                     
EFI header: EFI PART                                                                                                                      
EFI revision: 10000                                                                                                                       
header size: 92                                                                                                                           
header CRC: 40b4b8ae                                                                                                                      
absolute block: 61067263                                                                                                                  
alternate block: 1                                                                                                                        
first usable block: 34                                                                                                                    
last usable block: 61067230                                                                                                               
disk GUID: f23f3ee2-d4b0-4e87-adf5-933f428ec18c                                                                                           
entries block: 61067231                                                                                                                   
entry size:  128                                                                                                                          
entry count: 128                                                                                                                          
entries CRC: 1c9aaef8                                                                                                                     
[  0] partition type: ebd0a0a2-b9e5-4433-87c0-68b6b72699c7                                                                                
      unique id: f163f789-38d6-44ce-b678-8a250302a064                                                                                     
      start block: 65536                                                                                                                  
      end block: 1114111                                                                                                                  
      size: 511.999 MB                                                                                                                    
      attributes: 0                                                                                                                       
      name: primary                                                                                                                       
[  1] partition type: 0fc63daf-8483-4772-8e79-3d69d8477de4                                                                                
      unique id: ee6f7a96-bdf4-0349-82be-407ffb978b2e                                                                                     
      start block: 1114112                                                                                                                
      end block: 60424191                                                                                                                 
      size: 28959.999 MB                                                                                                                  
      attributes: 0                                                                                                                       
      name:                                                                                                                               
  priority: 750                                                                                                                           
check for partitioning_system: Intel Partition Map                                                                                        
  priority: 810                                                                                                                           
check for partitioning_system: Intel Extended Partition                                                                                   
0x000000007ccaf5c8 Partition::Partition                                                                                                   
0x000000007ccaf2b0 Partition::AddChild 0x000000007ccaf5c8                                                                                 
0x000000007ccaf5c8 Partition::SetParent 0x000000007ccaf2b0                                                                                
new child partition!                                                                                                                      
0x000000007ccaf6e8 Partition::Partition                                                                                                   
0x000000007ccaf2b0 Partition::AddChild 0x000000007ccaf6e8                                                                                 
0x000000007ccaf6e8 Partition::SetParent 0x000000007ccaf2b0                                                                                
new child partition!                                                                                                                      
0x000000007ccaf2b0 Partition::Scan(): scan child 0x000000007ccaf5c8 (start = 33554432, size = 33554432, parent = 0x000000007ccaf2b0)!     
0x000000007ccaf5c8 Partition::Scan()                                                                                                      
check for partitioning_system: GUID Partition Map                                                                                         
check for partitioning_system: Intel Partition Map                                                                                        
check for partitioning_system: Intel Extended Partition                                                                                   
0x000000007ccaf2b0 Partition::Scan(): scan child 0x000000007ccaf6e8 (start = 67108864, size = 314572800, parent = 0x000000007ccaf2b0)!    
0x000000007ccaf6e8 Partition::Scan()                                                                                                      
check for partitioning_system: GUID Partition Map                                                                                         
check for partitioning_system: Intel Partition Map                                                                                        
check for partitioning_system: Intel Extended Partition                                                                                   
0x000000007ccaf2b0 Partition::~Partition                                                                                                  
0x000000007ccaf5c8 Partition::SetParent 0x0000000000000000                                                                                
0x000000007ccaf6e8 Partition::SetParent 0x0000000000000000                                                                                
0x000000007ccaf5c8 Partition::_Mount check for file_system: BFS Filesystem                                                                
0x000000007ccaf5c8 Partition::_Mount check for file_system: FAT32 Filesystem                                                              
0x000000007ccaf5c8 Partition::_Mount check for file_system: TAR Filesystem                                                                
0x000000007ccaf5c8 Partition::~Partition                                                                                                  
0x000000007ccaf6e8 Partition::_Mount check for file_system: BFS Filesystem                                                                
PackageVolumeInfo::SetTo()                                                                                                                
PackageVolumeInfo::_InitState(): failed to parse activated-packages: No such file or directory                                            
load kernel kernel_riscv64...                                                                                                             
maximum boot loader heap usage: 445768, currently used: 436728                                                                            
Chosen UART:                                                                                                                              
  kind: 8250                                                                                                                              
  regs: 0x2500000, 0x400                                                                                                                  
  irq: 18                                                                                                                                 
  clock: 0                                                                                                                                
bootHart: 0                                                                                                                               
timerFrequency: 24000000                                                                                                                  
kernel:                                                                                                                                   
  text: 0xffffffc002010000, 0x15c000                                                                                                      
  data: 0xffffffc00216c000, 0x5a000                                                                                                       
  entry: 0xffffffc00209425a                                                                                                               
Kernel stack at 0xffffffc002682000                                                                                                        
System provided memory map:                                                                                                               
  phys: 0x40000000-0x40040000, virt: 0x40000000-0x40040000, type: EfiBootServicesData (0x4), attr: 0x8                                    
  phys: 0x40040000-0x47f00000, virt: 0x40040000-0x47f00000, type: EfiConventionalMemory (0x7), attr: 0x8                                  
  phys: 0x47f00000-0x47f0e000, virt: 0x47f00000-0x47f0e000, type: EfiACPIReclaimMemory (0x9), attr: 0x8                                   
  phys: 0x47f0e000-0x7c612000, virt: 0x47f0e000-0x7c612000, type: EfiConventionalMemory (0x7), attr: 0x8                                  
  phys: 0x7c612000-0x7ecaf000, virt: 0x7c612000-0x7ecaf000, type: EfiLoaderData (0x2), attr: 0x8                                          
  phys: 0x7ecaf000-0x7ecff000, virt: 0x7ecaf000-0x7ecff000, type: EfiLoaderCode (0x1), attr: 0x8                                          
  phys: 0x7ecff000-0x7ed04000, virt: 0x7ecff000-0x7ed04000, type: EfiBootServicesData (0x4), attr: 0x8                                    
  phys: 0x7ed04000-0x7ed05000, virt: 0x7ed04000-0x7ed05000, type: EfiRuntimeServicesData (0x6), attr: 0x8000000000000008                  
  phys: 0x7ed05000-0x7ed08000, virt: 0x7ed05000-0x7ed08000, type: EfiBootServicesData (0x4), attr: 0x8                                    
  phys: 0x7ed08000-0x7ed09000, virt: 0x7ed08000-0x7ed09000, type: EfiRuntimeServicesData (0x6), attr: 0x8000000000000008                  
  phys: 0x7ed09000-0x7ed0a000, virt: 0x7ed09000-0x7ed0a000, type: EfiBootServicesData (0x4), attr: 0x8                                    
  phys: 0x7ed0a000-0x7ed10000, virt: 0x7ed0a000-0x7ed10000, type: EfiRuntimeServicesData (0x6), attr: 0x8000000000000008                  
  phys: 0x7ed10000-0x7ed1d000, virt: 0x7ed10000-0x7ed1d000, type: EfiBootServicesData (0x4), attr: 0x8                                    
  phys: 0x7ed1d000-0x7ff49000, virt: 0x7ed1d000-0x7ff49000, type: EfiLoaderData (0x2), attr: 0x8                                          
  phys: 0x7ff49000-0x7ff4a000, virt: 0x7ff49000-0x7ff4a000, type: EfiRuntimeServicesCode (0x5), attr: 0x8000000000000008                  
  phys: 0x7ff4a000-0x80000000, virt: 0x7ff4a000-0x80000000, type: EfiLoaderData (0x2), attr: 0x8                                          
PageTable:                                                                                                                                
  0x02500000 - 0x02500fff: 0x02500000 - 0x02500fff, 0x1000, {valid, read, write, accessed, dirty}                                         
  0x7c612000 - 0x7ecfefff: 0x7c612000 - 0x7ecfefff, 0x26ed000, {valid, read, write, exec, accessed, dirty}                                
  0x7ed04000 - 0x7ed04fff: 0x7ed04000 - 0x7ed04fff, 0x1000, {valid, read, write, exec, accessed, dirty}                                   
  0x7ed08000 - 0x7ed08fff: 0x7ed08000 - 0x7ed08fff, 0x1000, {valid, read, write, exec, accessed, dirty}                                   
  0x7ed0a000 - 0x7ed0ffff: 0x7ed0a000 - 0x7ed0ffff, 0x6000, {valid, read, write, exec, accessed, dirty}                                   
  0x7ed1d000 - 0x7fffffff: 0x7ed1d000 - 0x7fffffff, 0x12e3000, {valid, read, write, exec, accessed, dirty}                                
  0xffffffc002000000 - 0xffffffc00200ffff: 0x7cc9b000 - 0x7ccaafff, 0x10000, {valid, read, write, exec, accessed, dirty}                  
  0xffffffc002010000 - 0xffffffc0021c5fff: 0x7cae5000 - 0x7cc9afff, 0x1b6000, {valid, read, write, exec, accessed, dirty}                 
  0xffffffc0021c6000 - 0xffffffc0021f1fff: 0x7cab9000 - 0x7cae4fff, 0x2c000, {valid, read, write, exec, accessed, dirty}                  
  0xffffffc0021f2000 - 0xffffffc002231fff: 0x7ca79000 - 0x7cab8fff, 0x40000, {valid, read, write, exec, accessed, dirty}                  
  0xffffffc002232000 - 0xffffffc00223dfff: 0x7ca6d000 - 0x7ca78fff, 0xc000, {valid, read, write, exec, accessed, dirty}                   
  0xffffffc00223e000 - 0xffffffc002247fff: 0x7ca63000 - 0x7ca6cfff, 0xa000, {valid, read, write, exec, accessed, dirty}                   
  0xffffffc002248000 - 0xffffffc00224afff: 0x7ca60000 - 0x7ca62fff, 0x3000, {valid, read, write, exec, accessed, dirty}                   
  0xffffffc00224b000 - 0xffffffc00227cfff: 0x7ca2e000 - 0x7ca5ffff, 0x32000, {valid, read, write, exec, accessed, dirty}                  
  0xffffffc00227d000 - 0xffffffc00228cfff: 0x7ca1e000 - 0x7ca2dfff, 0x10000, {valid, read, write, exec, accessed, dirty}                  
  0xffffffc00228d000 - 0xffffffc00228efff: 0x7ca1c000 - 0x7ca1dfff, 0x2000, {valid, read, write, exec, accessed, dirty}                   
  0xffffffc00228f000 - 0xffffffc00229afff: 0x7ca10000 - 0x7ca1bfff, 0xc000, {valid, read, write, exec, accessed, dirty}                   
  0xffffffc00229b000 - 0xffffffc00229cfff: 0x7ca0e000 - 0x7ca0ffff, 0x2000, {valid, read, write, exec, accessed, dirty}                   
  0xffffffc00229d000 - 0xffffffc0022a8fff: 0x7ca02000 - 0x7ca0dfff, 0xc000, {valid, read, write, exec, accessed, dirty}                   
  0xffffffc0022a9000 - 0xffffffc0022b8fff: 0x7c9f2000 - 0x7ca01fff, 0x10000, {valid, read, write, exec, accessed, dirty}                  
  0xffffffc0022b9000 - 0xffffffc0022bafff: 0x7c9f0000 - 0x7c9f1fff, 0x2000, {valid, read, write, exec, accessed, dirty}                   
  0xffffffc0022bb000 - 0xffffffc0022bdfff: 0x7c9ed000 - 0x7c9effff, 0x3000, {valid, read, write, exec, accessed, dirty}                   
  0xffffffc0022be000 - 0xffffffc0022c0fff: 0x7c9ea000 - 0x7c9ecfff, 0x3000, {valid, read, write, exec, accessed, dirty}                   
  0xffffffc0022c1000 - 0xffffffc0022c3fff: 0x7c9e7000 - 0x7c9e9fff, 0x3000, {valid, read, write, exec, accessed, dirty}                   
  0xffffffc0022c4000 - 0xffffffc0022c7fff: 0x7c9e3000 - 0x7c9e6fff, 0x4000, {valid, read, write, exec, accessed, dirty}                   
  0xffffffc0022c8000 - 0xffffffc0022d3fff: 0x7c9d7000 - 0x7c9e2fff, 0xc000, {valid, read, write, exec, accessed, dirty}                   
  0xffffffc0022d4000 - 0xffffffc002340fff: 0x7c96a000 - 0x7c9d6fff, 0x6d000, {valid, read, write, exec, accessed, dirty}                  
  0xffffffc002341000 - 0xffffffc00234ffff: 0x7c95b000 - 0x7c969fff, 0xf000, {valid, read, write, exec, accessed, dirty}                   
  0xffffffc002350000 - 0xffffffc00236dfff: 0x7c93d000 - 0x7c95afff, 0x1e000, {valid, read, write, exec, accessed, dirty}                  
  0xffffffc00236e000 - 0xffffffc00237bfff: 0x7c92f000 - 0x7c93cfff, 0xe000, {valid, read, write, exec, accessed, dirty}                   
  0xffffffc00237c000 - 0xffffffc002383fff: 0x7c927000 - 0x7c92efff, 0x8000, {valid, read, write, exec, accessed, dirty}                   
  0xffffffc002384000 - 0xffffffc00238bfff: 0x7c91f000 - 0x7c926fff, 0x8000, {valid, read, write, exec, accessed, dirty}                   
  0xffffffc00238c000 - 0xffffffc00239bfff: 0x7c90f000 - 0x7c91efff, 0x10000, {valid, read, write, exec, accessed, dirty}                  
  0xffffffc00239c000 - 0xffffffc00239ffff: 0x7c90b000 - 0x7c90efff, 0x4000, {valid, read, write, exec, accessed, dirty}                   
  0xffffffc0023a0000 - 0xffffffc0023a2fff: 0x7c908000 - 0x7c90afff, 0x3000, {valid, read, write, exec, accessed, dirty}                   
  0xffffffc0023a3000 - 0xffffffc0023a8fff: 0x7c902000 - 0x7c907fff, 0x6000, {valid, read, write, exec, accessed, dirty}                   
  0xffffffc0023a9000 - 0xffffffc0023acfff: 0x7c8fe000 - 0x7c901fff, 0x4000, {valid, read, write, exec, accessed, dirty}                   
  0xffffffc0023ad000 - 0xffffffc0023aefff: 0x7c8fc000 - 0x7c8fdfff, 0x2000, {valid, read, write, exec, accessed, dirty}                   
  0xffffffc0023af000 - 0xffffffc0023b3fff: 0x7c8f7000 - 0x7c8fbfff, 0x5000, {valid, read, write, exec, accessed, dirty}                   
  0xffffffc0023b4000 - 0xffffffc0023befff: 0x7c8ec000 - 0x7c8f6fff, 0xb000, {valid, read, write, exec, accessed, dirty}                   
  0xffffffc0023bf000 - 0xffffffc0023d4fff: 0x7c8d6000 - 0x7c8ebfff, 0x16000, {valid, read, write, exec, accessed, dirty}                  
  0xffffffc0023d5000 - 0xffffffc0023e6fff: 0x7c8c4000 - 0x7c8d5fff, 0x12000, {valid, read, write, exec, accessed, dirty}                  
  0xffffffc0023e7000 - 0xffffffc0023f6fff: 0x7c8b4000 - 0x7c8c3fff, 0x10000, {valid, read, write, exec, accessed, dirty}                  
  0xffffffc0023f7000 - 0xffffffc002406fff: 0x7c8a4000 - 0x7c8b3fff, 0x10000, {valid, read, write, exec, accessed, dirty}                  
  0xffffffc002407000 - 0xffffffc002415fff: 0x7c895000 - 0x7c8a3fff, 0xf000, {valid, read, write, exec, accessed, dirty}                   
  0xffffffc002416000 - 0xffffffc002425fff: 0x7c885000 - 0x7c894fff, 0x10000, {valid, read, write, exec, accessed, dirty}                  
  0xffffffc002426000 - 0xffffffc002437fff: 0x7c873000 - 0x7c884fff, 0x12000, {valid, read, write, exec, accessed, dirty}                  
  0xffffffc002438000 - 0xffffffc00243dfff: 0x7c86d000 - 0x7c872fff, 0x6000, {valid, read, write, exec, accessed, dirty}                   
  0xffffffc00243e000 - 0xffffffc002441fff: 0x7c869000 - 0x7c86cfff, 0x4000, {valid, read, write, exec, accessed, dirty}                   
  0xffffffc002442000 - 0xffffffc002445fff: 0x7c865000 - 0x7c868fff, 0x4000, {valid, read, write, exec, accessed, dirty}                   
  0xffffffc002446000 - 0xffffffc002448fff: 0x7c862000 - 0x7c864fff, 0x3000, {valid, read, write, exec, accessed, dirty}                   
  0xffffffc002449000 - 0xffffffc00244dfff: 0x7c85d000 - 0x7c861fff, 0x5000, {valid, read, write, exec, accessed, dirty}                   
  0xffffffc00244e000 - 0xffffffc00245dfff: 0x7c84d000 - 0x7c85cfff, 0x10000, {valid, read, write, exec, accessed, dirty}                  
  0xffffffc00245e000 - 0xffffffc002463fff: 0x7c847000 - 0x7c84cfff, 0x6000, {valid, read, write, exec, accessed, dirty}                   
  0xffffffc002464000 - 0xffffffc002468fff: 0x7c842000 - 0x7c846fff, 0x5000, {valid, read, write, exec, accessed, dirty}                   
  0xffffffc002469000 - 0xffffffc002481fff: 0x7c829000 - 0x7c841fff, 0x19000, {valid, read, write, exec, accessed, dirty}                  
  0xffffffc002482000 - 0xffffffc002489fff: 0x7c821000 - 0x7c828fff, 0x8000, {valid, read, write, exec, accessed, dirty}                   
  0xffffffc00248a000 - 0xffffffc002499fff: 0x7c811000 - 0x7c820fff, 0x10000, {valid, read, write, exec, accessed, dirty}                  
  0xffffffc00249a000 - 0xffffffc0024bbfff: 0x7c7ef000 - 0x7c810fff, 0x22000, {valid, read, write, exec, accessed, dirty}                  
  0xffffffc0024bc000 - 0xffffffc0024d8fff: 0x7c7d2000 - 0x7c7eefff, 0x1d000, {valid, read, write, exec, accessed, dirty}                  
  0xffffffc0024d9000 - 0xffffffc0024e8fff: 0x7c7c2000 - 0x7c7d1fff, 0x10000, {valid, read, write, exec, accessed, dirty}                  
  0xffffffc0024e9000 - 0xffffffc0024edfff: 0x7c7bd000 - 0x7c7c1fff, 0x5000, {valid, read, write, exec, accessed, dirty}                   
  0xffffffc0024ee000 - 0xffffffc0024f5fff: 0x7c7b5000 - 0x7c7bcfff, 0x8000, {valid, read, write, exec, accessed, dirty}                   
  0xffffffc0024f6000 - 0xffffffc002540fff: 0x7c76a000 - 0x7c7b4fff, 0x4b000, {valid, read, write, exec, accessed, dirty}                  
  0xffffffc002541000 - 0xffffffc002550fff: 0x7c75a000 - 0x7c769fff, 0x10000, {valid, read, write, exec, accessed, dirty}                  
  0xffffffc002551000 - 0xffffffc002560fff: 0x7c74a000 - 0x7c759fff, 0x10000, {valid, read, write, exec, accessed, dirty}                  
  0xffffffc002561000 - 0xffffffc00256cfff: 0x7c73e000 - 0x7c749fff, 0xc000, {valid, read, write, exec, accessed, dirty}                   
  0xffffffc00256d000 - 0xffffffc002573fff: 0x7c737000 - 0x7c73dfff, 0x7000, {valid, read, write, exec, accessed, dirty}                   
  0xffffffc002574000 - 0xffffffc002577fff: 0x7c733000 - 0x7c736fff, 0x4000, {valid, read, write, exec, accessed, dirty}                   
  0xffffffc002578000 - 0xffffffc002581fff: 0x7c729000 - 0x7c732fff, 0xa000, {valid, read, write, exec, accessed, dirty}                   
  0xffffffc002582000 - 0xffffffc002681fff: 0x7c629000 - 0x7c728fff, 0x100000, {valid, read, write, exec, accessed, dirty}                 
  0xffffffc002682000 - 0xffffffc002686fff: 0x7c624000 - 0x7c628fff, 0x5000, {valid, read, write, exec, accessed, dirty}                   
  0xffffffc002687000 - 0xffffffc002688fff: 0x7c622000 - 0x7c623fff, 0x2000, {valid, read, write, exec, accessed, dirty}                   
  0xffffffc002689000 - 0xffffffc002698fff: 0x7c612000 - 0x7c621fff, 0x10000, {valid, read, write, exec, accessed, dirty}                  
  0xffffffc002699000 - 0xffffffc00269cfff: 0x7ccab000 - 0x7ccaefff, 0x4000, {valid, read, write, exec, accessed, dirty}                   
  0xffffffc00269d000 - 0xffffffc00669cfff: 0x10000000 - 0x13ffffff, 0x4000000, {valid, read, write, accessed, dirty}                      
  0xffffffc00669d000 - 0xffffffc00669dfff: 0x02500000 - 0x02500fff, 0x1000, {valid, read, write, accessed, dirty}                         
  0xffffffffc0000000 - 0xffffffffffffffff: 0x40000000 - 0x7fffffff, 0x40000000, {valid, read, write, accessed, dirty}                     
SATP: 0x800000000007c611                                                                                                                  
Calling ExitBootServices. So long, EFI!                                                                                                   
Unhandled exception: Load access fault                                                                                                    
EPC: 000000007ecbbacc RA: 000000007ecbbab8 TVAL: 00000081430142e9                                                                         
EPC: 0000000041b72acc RA: 0000000041b72ab8 reloc adjusted                                                                                 
                                                                                                                                          
Code: c763 02a7 842a 5863 00a0 609c 8622 85ca (77bc)                                                                                      
UEFI image [0x000000007ecaf000:0x000000007ecfec0f] pc=0xcacc '/EFI\BOOT\BOOTRISCV64.EFI'                                                  
                                                                                                                                          
                                                                                                                                          
resetting ...   
18 Likes

I probably can fix boot if I get hardware (I live in Japan).

5 Likes

you can send me an address(pengphei@foxmail.com), I can buy one for you from taobao.com.

9 Likes

I have fond the link here for aliexpress:

  1. MongoPi pro(pink version(1GB), 25$): Mangopi Mq-pro D1 Board Risc-v Sbc 512mb/1gb Ram With Wifi/bt Sakura Pink V1.4 - Demo Board - AliExpress
  2. freebsd is porting riscv for this soc(work in progress): riscv - FreeBSD Wiki

Looks like Intel and sifive are working together for a new powerfull board with four P550 cores and a PCI-e slot:

13 Likes

I ordered MongoPi 1GB version at Aliexpress.

8 Likes