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