Driver for VirtIO block device, which emulates disks
Syntax:
devb-virtio [blk option[,option]...]
[cam option[,option]...]
[virtio option[,option]...]
Options:
Note:
Use commas (,) to separate the options in a given group.
You can put the blk, cam, and virtio groups of options in any order.
- blk options
- The blk options control the block I/O module used by the driver.
For more information, see io-blk.so.
- cam options
- The cam options control libcam.so.
If specified, they must follow the cam keyword.
- virtio options
- The virtio options control the driver's interface to the VirtIO block device:
- irq=number
- Interrupt request (IRQ) number of the MMIO VirtIO device.
If you set this option, you must also set smem and not set pci.
- pci=instance
- Use the indicated PCI VirtIO device.
Specifying 0 attaches to the first instance of the device, 1 attaches to the second, etc.
This option is useful when you have multiple virtio-blk vdevs specified in the guest's VM configuration.
When there is just one virtio-blk vdev, you don't need to set this option because
PCI discovery is the default vdev access method.
If you set this option, you must not set irq or smem.
- qsize=entries
- VirtIO queue size, as the number of entries to allow in the virtqueue.
This must be a power of 2, and the default is 256. If the specified size exceeds the size allowed by
the device implementation, the size is set to the maximum limit and a warning is issued.
- smem=location
- Use the MMIO VirtIO device found at location, which is the starting address of the device's
representation in the guest's VM.
If you set this option, you must also set irq and not set pci.
If you don't set this option, a PCI VirtIO device implementation is assumed.
Description:
The devb-virtio driver is the interface for the VirtIO device that emulates physical disks and hence,
supports block data transfers.
Examples:
Suppose your VM has one instance of a VirtIO block device and you want to access it through PCI and set a virtqueue size of 64.
You would use this command to start the driver:
devb-virtio virtio qsize=64
Because PCI discovery is the default vdev access method and there's just one VirtIO block device, you don't need to set any
virtio options other than
qsize.
The
blk options are independent of the driver-specific
virtio options.
Suppose you provide the
blk ramdisk option:
devb-virtio blk ramdisk=250M virtio qsize=64
In this case, the
io-blk.so module creates an internal ramdisk device with a size of 250 MB and exposes
its device path (
/dev/ram0). The driver exposes the VirtIO device path (
/dev/hd0)
and configures a virtqueue size of 64. These devices are visible in the guest only.
To access a memory-mapped VirtIO block device, you must provide the
smem and
irq options:
devb-virtio virtio smem=0x1c0d0000,irq=41
The driver can now access the device at address
0x1c0d0000 in the guest's physical memory,
and will receive interrupts through IRQ number 41.
For information about configuring virtual devices (vdevs) for QNX hypervisors,
see the User's Guide for your hypervisor release.