51 lines
1.6 KiB
ReStructuredText
51 lines
1.6 KiB
ReStructuredText
|
'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.
|