OVP Peripheral Model: OVPVirtioNetMMIO

Model Specific Information

This page provides introductory usage information for an Imperas OVP peripheral behavioral model. The page is split into sections providing specific information for this peripheral, including any ports for connecting into a platform, registers, other component parts, and configuration options and general information for peripheral modeling with Imperas OVP.


VIRTIO version 1 mmio block device This model implements a VIRTIO MMIO net device as described in:


Only supports the Legacy (Device Version 1) interface. Only little endian guests are supported.


Open Source Apache 2.0



The VirtioNetMMIO peripheral model is located in an Imperas/OVP installation at the VLNV: / peripheral / VirtioNetMMIO / 1.0.

Peripheral Instance Parameters

This model accepts the following parameters:

Table : Peripheral Parameters

recordstringRecord external events into this file
replaystringReplay external events from this file
tapDevicestringThe name of the TAP device
redirstringUser mode redirection of host port to virtual port (using SLiRP), command format <protocol>:<host port>:<ip address>:<virtual port>
tftpPrefixstringPath to the root of the tftp directory. To use tftp, fetch from the host (gw) IP address.
macaddressuns64The MAC address (hex number)
macprefixuns32The first two bytes of MAC addresses (hex number) on the VLAN
networkstringThe (v4) IP address of the local network device.
logfilestringThe file to which Ethernet frames should be logged. Uses pcap file format, viewable by Wireshark and other programs. Do not use if this device is connected to a packetnet

Net Ports

This model has the following net ports:

Table 1: Net Ports

NameTypeMust Be ConnectedDescription
InterruptoutputF (False)

Bus Master Ports

This model has the following bus master ports:

Bus Master Port: dma

Table 2: dma

NameAddress Width (bits)Description

Bus Slave Ports

This model has the following bus slave ports:

Bus Slave Port: bport1

Table 3: Bus Slave Port: bport1

NameSize (bytes)Must Be ConnectedDescription
bport10x200F (False)

Table 4: Bus Slave Port: bport1 Registers:

NameOffsetWidth (bits)DescriptionR/Wis Volatile
ab_MagicValue0x032Magic value ('virt' string)
ab_Version0x432Device Version number
ab_DeviceID0x832Block Subsystem Device ID
ab_VendorID0xc32Subsystem Vendor ID ('OVP' string)
ab_HostFeatures0x1032Host features flags
ab_HostFSel0x1432Host features select
ab_GuestFeatures0x2032Guest features flags
ab_GuestFSel0x2432Guest features select
ab_GuestPageSz0x2832Guest page size
ab_QueueSel0x3032Virtual queue index
ab_QueueNumMax0x3432Maximum virtual queue size
ab_QueueNum0x3832Virtual queue size
ab_QueueAlign0x3c32Virtual queue align
ab_QueuePFN0x4032Virtual queue PFN
ab_QueueNotify0x5032Virtual queue notify
ab_IntStatus0x6032Interrupt status
ab_IntAck0x6432Interrupt acknowlege
ab_Status0x7032Device status

Packetnet Ports

This model has the following packetnet ports:

Packetnet Port: phy

Table 5: phy

NameMaximum Packet Size (bytes)Must Be ConnectedDescription
phy1524F (False)The port to connect the packetnet virtual network

Platforms that use this peripheral component

Peripheral components can be used in many different platforms, including those developed by Imperas or by other users of OVP. You can use this peripheral in your own platforms.

Table 6: Publicly available platforms using peripheral 'VirtioNetMMIO'

Platform NameVendor

Page was generated in 0.1367 seconds