Review Board 2.0.15


dev, pci: Implement basic VirtIO support

Review Request #2381 - Created Sept. 10, 2014 and submitted - Latest diff uploaded

Information
Andreas Hansson
gem5
default
Reviewers
Default
Changeset 10374:e6195e09fb11
---------------------------
dev, pci: Implement basic VirtIO support

This patch adds support for VirtIO over the PCI bus. It does so by
providing the following new SimObjects:

 * VirtIODeviceBase - Abstract base class for VirtIO devices.
 * PciVirtIO - VirtIO PCI transport interface.

A VirtIO device is hooked up to the guest system by adding a PciVirtIO
device to the PCI bus and connecting it to a VirtIO device using the
vio parameter.

New VirtIO devices should inherit from VirtIODevice base and
implementing one or more VirtQueues. The VirtQueues are usually
device-specific and all derive from the VirtQueue class. Queues must
be registered with the base class from the constructor since the
device assumes that the number of queues stay constant.