[RFC v1 0/1] add virtio bus for rvsp-ref board

Chao Liu posted 1 patch 1 week, 5 days ago
Failed in applying to current master (apply log)
hw/riscv/server_platform_ref.c | 42 ++++++++++++++++++++++++++++++++--
1 file changed, 40 insertions(+), 2 deletions(-)
[RFC v1 0/1] add virtio bus for rvsp-ref board
Posted by Chao Liu 1 week, 5 days ago
Hi, Daniel.

This patch series adds an always present virtio bus for the rvsp-ref board.

You are free to use this patch, and if possible, please include it in the v4
version.

Based on this set of patches and the results of our previous discussions,
I can successfully boot OpenEuler RISC-V 25.09, which is an operating system
distribution that supports rvsp-ref spec 1.0.

like this:

```
[root@localhost ~]# fastfetch 
                 `.cc.`
             ``.cccccccc..`
          `.cccccccccccccccc.`
      ``.cccccccccccccccccccccc.``
   `..cccccccccccccccccccccccccccc..`
`.ccccccccccccccc/++/ccccccccccccccccc.`
.cccccccccccccccmNMMNdo+oso+ccccccccccc.
.cccccccccc/++odms+//+mMMMMm/:+syso/cccc
.cccccccccyNNMMMs:::/::+o+/:cdMMMMMmcccc    root@localhost
.ccccccc:+NmdyyhNNmNNNd:ccccc:oyyyo:cccc    --------------
.ccc:ohdmMs:cccc+mNMNmyccccccccccccccccc    OS: openEuler 25.09 riscv64
.cc/NMMMMMo////:c:///:cccccccccccccccccc    Host: riscv-rvsp-ref,qemu
.cc:syysyNMNNNMNyccccccccccccccccccccccc    Kernel: Linux 6.6.0.oe2509.riscv64
.cccccccc+MMMMMNyc:/+++/cccccccccccccccc    Uptime: 56 mins
.cccccccccohhhs/comMMMMNhccccccccccccccc    Packages: 306 (rpm)
.ccccccccccccccc:MMMMMMMM/cccccccccccccc    Shell: bash 5.2.37
.ccccccccccccccccsNNNNNd+cccccccccccccc.    Cursor: Adwaita
`..cccccccccccccccc/+/:cccccccccccccc..`    Terminal: vt220
   ``.cccccccccccccccccccccccccccc.``       CPU: rv64gcvh (8)
       `.cccccccccccccccccccccc.`           Memory: 277.14 MiB / 7.50 GiB
          ``.cccccccccccccc.``              Swap: Disabled
              `.cccccccc.`                  Disk (/): 1.32 GiB / 37.11 GiB
                 `....`                     Local IP (eth0): 10.0.2.15/24
                                            Locale: en_US.UTF-8
```

It should be added that booting OpenEuler still requires modifying the default
CPU type of the rvsp-ref board to TYPE_RISCV_CPU_MAX.

If using the RVSP_REF CPU type inherited from TYPE_RISCV_VENDOR_CPU, the kernel
cannot be booted;

If using the RVSP_REF CPU type inherited from TYPE_RISCV_BARE_CPU, EDKII cannot
be booted.

About the second problem, I've checked it a little bit first. I found the
issue is still because some extensions turned on in the profile are different.

Once I figure out which specific extensions are causing this problem,
I'll try to send a fix patch to the upstream.

Also, I want to ask:

Right now, EDKII is still compiled based on QEMU virt. Do we need to add a
configuration for rvsp-ref in EDKII? Even though our rvsp-ref is made from virt.


Thanks,
Chao

Chao Liu (1):
  hw/riscv/server_platform_ref.c: add virtio bus

 hw/riscv/server_platform_ref.c | 42 ++++++++++++++++++++++++++++++++--
 1 file changed, 40 insertions(+), 2 deletions(-)

-- 
2.51.0