xref: /openbmc/qemu/docs/system/openrisc/virt.rst (revision bf616ce4)
1'virt' generic virtual platform
2===============================
3
4The ``virt`` board is a platform which does not correspond to any
5real hardware; it is designed for use in virtual machines.
6It is the recommended board type if you simply want to run
7a guest such as Linux and do not care about reproducing the
8idiosyncrasies and limitations of a particular bit of real-world
9hardware.
10
11Supported devices
12-----------------
13
14 * PCI/PCIe devices
15 * 8 virtio-mmio transport devices
16 * 16550A UART
17 * Goldfish RTC
18 * SiFive Test device for poweroff and reboot
19 * SMP (OpenRISC multicore using ompic)
20
21Boot options
22------------
23
24The virt machine can be started using the ``-kernel`` and ``-initrd`` options
25to load a Linux kernel and optional disk image. For example:
26
27.. code-block:: bash
28
29  $ qemu-system-or1k -cpu or1220 -M or1k-sim -nographic \
30        -device virtio-net-device,netdev=user -netdev user,id=user,net=10.9.0.1/24,host=10.9.0.100 \
31        -device virtio-blk-device,drive=d0 -drive file=virt.qcow2,id=d0,if=none,format=qcow2 \
32        -kernel vmlinux \
33        -initrd initramfs.cpio.gz \
34        -m 128
35
36Linux guest kernel configuration
37""""""""""""""""""""""""""""""""
38
39The 'virt_defconfig' for Linux openrisc kernels includes the right drivers for
40the ``virt`` machine.
41
42Hardware configuration information
43""""""""""""""""""""""""""""""""""
44
45The ``virt`` board automatically generates a device tree blob ("dtb") which it
46passes to the guest. This provides information about the addresses, interrupt
47lines and other configuration of the various devices in the system.
48
49The location of the DTB will be passed in register ``r3`` to the guest operating
50system.
51