nuttx/boards/risc-v
wangbowen6 9aa57b6c53 virtio: add virtio framework in NuttX
1. virtio devics/drivers match and probe/remote mechanism;
2. virtio mmio transport layer based on OpenAmp (Compatible with both
   virtio mmio version 1 and 2);
3. virtio-serial driver based on new virtio framework;
4. virtio-rng driver based on new virtio framework;
5. virtio-net driver based on new virtio framework
   (IOB Offload implementation);
6. virtio-blk driver based on new virtio framework;
7. Remove the old virtio mmio framework, the old framework only
   support mmio transport layer, and the new framwork support
   more transport layer and this commit has implemented all the
   old virtio drivers;
8. Refresh the the qemu-arm64 and qemu-riscv virtio related
   configs, and update its README.txt;

New virtio-net driver has better performance
Compared with previous virtio-mmio-net:
|                        | master/-c | master/-s | this/-c | this/-s |
| :--------------------: | :-------: | :-------: | :-----: | :-----: |
| qemu-armv8a:netnsh     |  539Mbps  |  524Mbps  | 906Mbps | 715Mbps |
| qemu-armv8a:netnsh_smp |  401Mbps  |  437Mbps  | 583Mbps | 505Mbps |
| rv-virt:netnsh         |  487Mbps  |  512Mbps  | 760Mbps | 634Mbps |
| rv-virt:netnsh_smp     |  387Mbps  |  455Mbps  | 447Mbps | 502Mbps |
| rv-virt:netnsh64       |  602Mbps  |  595Mbps  | 881Mbps | 769Mbps |
| rv-virt:netnsh64_smp   |  414Mbps  |  515Mbps  | 491Mbps | 525Mbps |
| rv-virt:knetnsh64      |  515Mbps  |  457Mbps  | 606Mbps | 540Mbps |
| rv-virt:knetnsh64_smp  |  308Mbps  |  389Mbps  | 415Mbps | 474Mbps |
Note: Both CONFIG_IOB_NBUFFERS=64, using iperf command, all in Mbits/sec
      Tested in QEMU 7.2.2

Signed-off-by: wangbowen6 <wangbowen6@xiaomi.com>
Signed-off-by: Zhe Weng <wengzhe@xiaomi.com>
2023-08-10 03:39:39 +08:00
..
bl602/bl602evb boards: bl602evb:timer remove CONFIG_SCHED_CPULOAD_EXTCLK 2023-08-04 10:58:54 -07:00
c906/smartl-c906 libc/tls: Change the default value of TLS_NELEM to zero 2023-07-20 08:11:30 +02:00
esp32c3 sched: Rename DEBUG_TCBINFO to ARCH_HAVE_TCBINFO 2023-07-26 09:33:38 +02:00
esp32c6 build: Replace "$(shell $(INCDIR) $(CC) ...)" with $(INCDIR_PREFIX) 2023-06-23 00:11:25 +03:00
espressif arch/espressif: Add MCUboot support for ESP32-C3 2023-08-04 10:30:57 -07:00
fe310/hifive1-revb sched: Disable stdio api by default when DEFAULT_SMALL equals y 2023-03-03 00:18:03 +02:00
hpm6750/hpm6750evk2 boards:riscv:hpm6750evk2: revised README.txt to config toolchain 2023-03-09 07:56:00 +02:00
jh7110/star64 boards/risc-v: Add support for PINE64 Star64 JH7110 SBC 2023-08-07 01:08:35 -07:00
k210/maix-bit Indent the include statement by two spaces 2023-05-16 12:34:32 -03:00
litex/arty_a7 boards/arty_a7: fix ci compile failure 2023-08-10 03:33:42 +08:00
mpfs riscv/mpfs: Set hart2 default entrypoint to -1 like the others 2023-07-26 19:58:05 -03:00
qemu-rv/rv-virt virtio: add virtio framework in NuttX 2023-08-10 03:39:39 +08:00
rv32m1/rv32m1-vega sched: Disable stdio api by default when DEFAULT_SMALL equals y 2023-03-03 00:18:03 +02:00