The RISC-V* Simple virtual platform is a RISC-V-based system that contains one or more processor cores along with the basic peripheral devices needed to boot a Linux kernel. The system is not intended as a virtual platform corresponding to a real RISC-V-based board, but rather to allow software development and test on a generic configurable platform similar to other virtual-only models used in the RISC-V ecosystem.
The virtual platform contains RISC-V processor cores (defaulting to RV64GCB), RISC-V interrupt controllers (CLINT and PLIC), a serial port (UART, NS16550), virtio block devices to hold filesystems, a virtio Ethernet device, and a virtio entropy device (hardware random number generator).
All models in the system can be inspected using the .info and .status commands on the objects.
Memory map:
Base | Size | Default object name | Description |
0x1000 | 0x40000 | board.boot | Boot loader memory area |
0x2000000 | 0xc000 | board.clint | CLINT |
0xc000000 | 0x4000000 | board.plic | PLIC |
0x10000000 | 0x11 | board.uart | Serial port (UART) |
0x10010000 | 0x10000 | board.virtio_net | Virtio net device |
0x10020000 | 0x10000 | board.disk0 | Virtio disk 0 |
0x10030000 | 0x10000 | board.disk1 | Virtio disk 1 |
0x10040000 | 0x10000 | board.disk2 | Virtio disk 2 |
0x10080000 | 0x10000 | board.virtio_entropy | Virtio entropy device |
0x80000000 | 0x80000000 | board.ram | RAM (size is configurable) |
The command memory-map shows the memory layout of the system.
Some devices are modeled with limited functionality. See chapter 6 for more information about these limitations.