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.
 |