| 'virt' generic virtual platform | 
 | =============================== | 
 |  | 
 | The ``virt`` board is a platform which does not correspond to any | 
 | real hardware; it is designed for use in virtual machines. | 
 | It is the recommended board type if you simply want to run | 
 | a guest such as Linux and do not care about reproducing the | 
 | idiosyncrasies and limitations of a particular bit of real-world | 
 | hardware. | 
 |  | 
 | Supported devices | 
 | ----------------- | 
 |  | 
 |  * PCI/PCIe devices | 
 |  * 8 virtio-mmio transport devices | 
 |  * 16550A UART | 
 |  * Goldfish RTC | 
 |  * SiFive Test device for poweroff and reboot | 
 |  * SMP (OpenRISC multicore using ompic) | 
 |  | 
 | Boot options | 
 | ------------ | 
 |  | 
 | The virt machine can be started using the ``-kernel`` and ``-initrd`` options | 
 | to load a Linux kernel and optional disk image. For example: | 
 |  | 
 | .. code-block:: bash | 
 |  | 
 |   $ qemu-system-or1k -cpu or1220 -M or1k-sim -nographic \ | 
 |         -device virtio-net-device,netdev=user -netdev user,id=user,net=10.9.0.1/24,host=10.9.0.100 \ | 
 |         -device virtio-blk-device,drive=d0 -drive file=virt.qcow2,id=d0,if=none,format=qcow2 \ | 
 |         -kernel vmlinux \ | 
 |         -initrd initramfs.cpio.gz \ | 
 |         -m 128 | 
 |  | 
 | Linux guest kernel configuration | 
 | """""""""""""""""""""""""""""""" | 
 |  | 
 | The 'virt_defconfig' for Linux openrisc kernels includes the right drivers for | 
 | the ``virt`` machine. | 
 |  | 
 | Hardware configuration information | 
 | """""""""""""""""""""""""""""""""" | 
 |  | 
 | The ``virt`` board automatically generates a device tree blob ("dtb") which it | 
 | passes to the guest. This provides information about the addresses, interrupt | 
 | lines and other configuration of the various devices in the system. | 
 |  | 
 | The location of the DTB will be passed in register ``r3`` to the guest operating | 
 | system. |